All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - size
    - maxSize
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 12
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 12
    functionName: LLVMFuzzerMutate
    functionSourceFile: /src/cryptofuzz/libfuzzer_emulator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LLVMFuzzerMutate(uint8_t* data, size_t size, size_t maxSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::seekg
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:26,1
    - Dst: std::ifstream::tellg
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:27,1
    - Dst: std::ifstream::seekg
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:28,1
    - Dst: std::ifstream::read
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:31,1
    - Dst: reinterpret_cast<char*>
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:31,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:31,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:38,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:38,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - fs::path
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: run
    functionSourceFile: /src/cryptofuzz/libfuzzer_emulator.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - LLVMFuzzerTestOneInput
    - std::ifstream::read
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - std::ifstream::tellg
    linkageType: ''
    returnType: void
    signature: void run(const fs::path& filePath)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::recursive_directory_iterator
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:42,1
    - Dst: fs::is_regular_file
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:43,1
    - Dst: path
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:44,1
    - Dst: run
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' directoryPath'
    argTypes:
    - fs::path
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: readFilesInDirectory
    functionSourceFile: /src/cryptofuzz/libfuzzer_emulator.cpp
    functionUses: 0
    functionsReached:
    - fs::is_regular_file
    - fs::recursive_directory_iterator
    - path
    - run
    linkageType: ''
    returnType: void
    signature: void readFilesInDirectory(const fs::path& directoryPath)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LLVMFuzzerInitialize
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:51,1
    - Dst: value_exists
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:61,1
    - Dst: fs::is_regular_file
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:62,1
    - Dst: run
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:63,1
    - Dst: fs::is_directory
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:64,1
    - Dst: readFilesInDirectory
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/cryptofuzz/libfuzzer_emulator.cpp
    functionUses: 0
    functionsReached:
    - fs::is_directory
    - run
    - value_exists
    - fs::is_regular_file
    - LLVMFuzzerInitialize
    - readFilesInDirectory
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - count
    argTypes:
    - uint32_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: cryptofuzz::crypto::impl::rotate_right_32
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rotate_right_32(uint32_t value, unsigned int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - count
    argTypes:
    - uint32_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: cryptofuzz::crypto::impl::rotate_left_32
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rotate_left_32(uint32_t value, unsigned int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LOAD32H
      Src: /src/cryptofuzz/crypto.cpp:186,1
    - Dst: ROL
      Src: /src/cryptofuzz/crypto.cpp:198,1
    - Dst: FF0
      Src: /src/cryptofuzz/crypto.cpp:211,1
    - Dst: FF1
      Src: /src/cryptofuzz/crypto.cpp:215,1
    - Dst: FF2
      Src: /src/cryptofuzz/crypto.cpp:219,1
    - Dst: FF3
      Src: /src/cryptofuzz/crypto.cpp:223,1
    - Dst: FF0
      Src: /src/cryptofuzz/crypto.cpp:229,1
    - Dst: FF0
      Src: /src/cryptofuzz/crypto.cpp:230,1
    - Dst: FF0
      Src: /src/cryptofuzz/crypto.cpp:231,1
    - Dst: FF0
      Src: /src/cryptofuzz/crypto.cpp:232,1
    - Dst: FF0
      Src: /src/cryptofuzz/crypto.cpp:233,1
    - Dst: FF1
      Src: /src/cryptofuzz/crypto.cpp:238,1
    - Dst: FF1
      Src: /src/cryptofuzz/crypto.cpp:239,1
    - Dst: FF1
      Src: /src/cryptofuzz/crypto.cpp:240,1
    - Dst: FF1
      Src: /src/cryptofuzz/crypto.cpp:241,1
    - Dst: FF1
      Src: /src/cryptofuzz/crypto.cpp:242,1
    - Dst: FF2
      Src: /src/cryptofuzz/crypto.cpp:247,1
    - Dst: FF2
      Src: /src/cryptofuzz/crypto.cpp:248,1
    - Dst: FF2
      Src: /src/cryptofuzz/crypto.cpp:249,1
    - Dst: FF2
      Src: /src/cryptofuzz/crypto.cpp:250,1
    - Dst: FF2
      Src: /src/cryptofuzz/crypto.cpp:251,1
    - Dst: FF3
      Src: /src/cryptofuzz/crypto.cpp:256,1
    - Dst: FF3
      Src: /src/cryptofuzz/crypto.cpp:257,1
    - Dst: FF3
      Src: /src/cryptofuzz/crypto.cpp:258,1
    - Dst: FF3
      Src: /src/cryptofuzz/crypto.cpp:259,1
    - Dst: FF3
      Src: /src/cryptofuzz/crypto.cpp:260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 82
    argCount: 2
    argNames:
    - md
    - buf
    argTypes:
    - hash_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 277
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 277
    functionName: cryptofuzz::crypto::impl::s_sha1_compress
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - LOAD32H
    - FF1
    - FF3
    - FF0
    - ROL
    - FF2
    linkageType: ''
    returnType: int
    signature: int s_sha1_compress(hash_state *md, const unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ss_sha1_compress
      Src: /src/cryptofuzz/crypto.cpp:283,1
    - Dst: burn_stack
      Src: /src/cryptofuzz/crypto.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - md
    - buf
    argTypes:
    - hash_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: cryptofuzz::crypto::impl::s_sha1_compress
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - burn_stack
    - ss_sha1_compress
    linkageType: ''
    returnType: int
    signature: int s_sha1_compress(hash_state *md, const unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LTC_ARGCHK
      Src: /src/cryptofuzz/crypto.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - md
    argTypes:
    - hash_state*
    constantsTouched: []
    func_position:
      end: 305
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 305
    functionName: cryptofuzz::crypto::impl::sha1_init
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - LTC_ARGCHK
    linkageType: ''
    returnType: int
    signature: int sha1_init(hash_state * md)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LTC_ARGCHK
      Src: /src/cryptofuzz/crypto.cpp:326,1
    - Dst: LTC_ARGCHK
      Src: /src/cryptofuzz/crypto.cpp:327,1
    - Dst: cryptofuzz::crypto::impl::s_sha1_compress
      Src: /src/cryptofuzz/crypto.cpp:347,1
    - Dst: STORE64H
      Src: /src/cryptofuzz/crypto.cpp:357,1
    - Dst: cryptofuzz::crypto::impl::s_sha1_compress
      Src: /src/cryptofuzz/crypto.cpp:358,1
    - Dst: STORE32H
      Src: /src/cryptofuzz/crypto.cpp:362,1
    - Dst: zeromem
      Src: /src/cryptofuzz/crypto.cpp:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - md
    - out
    argTypes:
    - hash_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 368
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 368
    functionName: cryptofuzz::crypto::impl::sha1_done
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - STORE32H
    - STORE64H
    - zeromem
    - LTC_ARGCHK
    - cryptofuzz::crypto::impl::s_sha1_compress
    linkageType: ''
    returnType: int
    signature: int sha1_done(hash_state * md, unsigned char *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LOAD32H
      Src: /src/cryptofuzz/crypto.cpp:419,1
    - Dst: Gamma1
      Src: /src/cryptofuzz/crypto.cpp:424,1
    - Dst: Gamma0
      Src: /src/cryptofuzz/crypto.cpp:424,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:436,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:447,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:448,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:449,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:450,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:451,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:452,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:453,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:454,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:455,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:456,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:457,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:458,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:459,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:460,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:461,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:462,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:463,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:464,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:465,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:466,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:467,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:468,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:469,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:470,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:471,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:472,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:473,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:474,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:475,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:476,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:477,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:478,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:479,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:480,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:481,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:482,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:483,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:484,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:485,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:486,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:487,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:488,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:489,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:490,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:491,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:492,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:493,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:494,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:495,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:496,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:497,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:498,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:499,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:500,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:501,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:502,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:503,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:504,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:505,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:506,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:507,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:508,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:509,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 90
    argCount: 2
    argNames:
    - md
    - buf
    argTypes:
    - hash_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 519
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 519
    functionName: cryptofuzz::crypto::impl::s_sha256_compress
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - LOAD32H
    - Gamma1
    - RND
    - Gamma0
    linkageType: ''
    returnType: int
    signature: int s_sha256_compress(hash_state * md, const unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ss_sha256_compress
      Src: /src/cryptofuzz/crypto.cpp:525,1
    - Dst: burn_stack
      Src: /src/cryptofuzz/crypto.cpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - md
    - buf
    argTypes:
    - hash_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 528
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 528
    functionName: cryptofuzz::crypto::impl::s_sha256_compress
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - ss_sha256_compress
    - burn_stack
    linkageType: ''
    returnType: int
    signature: int s_sha256_compress(hash_state * md, const unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LTC_ARGCHK
      Src: /src/cryptofuzz/crypto.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - md
    argTypes:
    - hash_state*
    constantsTouched: []
    func_position:
      end: 551
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 551
    functionName: cryptofuzz::crypto::impl::sha256_init
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - LTC_ARGCHK
    linkageType: ''
    returnType: int
    signature: int sha256_init(hash_state * md)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LTC_ARGCHK
      Src: /src/cryptofuzz/crypto.cpp:572,1
    - Dst: LTC_ARGCHK
      Src: /src/cryptofuzz/crypto.cpp:573,1
    - Dst: cryptofuzz::crypto::impl::s_sha256_compress
      Src: /src/cryptofuzz/crypto.cpp:594,1
    - Dst: STORE64H
      Src: /src/cryptofuzz/crypto.cpp:604,1
    - Dst: cryptofuzz::crypto::impl::s_sha256_compress
      Src: /src/cryptofuzz/crypto.cpp:605,1
    - Dst: STORE32H
      Src: /src/cryptofuzz/crypto.cpp:609,1
    - Dst: zeromem
      Src: /src/cryptofuzz/crypto.cpp:612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - md
    - out
    argTypes:
    - hash_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 615
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 615
    functionName: cryptofuzz::crypto::impl::sha256_done
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - STORE32H
    - STORE64H
    - zeromem
    - LTC_ARGCHK
    - cryptofuzz::crypto::impl::s_sha256_compress
    linkageType: ''
    returnType: int
    signature: int sha256_done(hash_state * md, unsigned char *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha1_init
      Src: /src/cryptofuzz/crypto.cpp:623,1
    - Dst: impl::sha1_process
      Src: /src/cryptofuzz/crypto.cpp:624,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/crypto.cpp:625,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/crypto.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 628
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 628
    functionName: cryptofuzz::crypto::impl::sha1
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - impl::sha1_process
    - cryptofuzz::crypto::impl::sha1_init
    - std::vector<uint8_t>
    - cryptofuzz::crypto::impl::sha1_done
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sha1(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha1
      Src: /src/cryptofuzz/crypto.cpp:631,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/crypto.cpp:631,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/crypto.cpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 632
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 632
    functionName: cryptofuzz::crypto::impl::sha1
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>::size
    - cryptofuzz::crypto::impl::sha1
    - std::vector<uint8_t>::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sha1(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha256_init
      Src: /src/cryptofuzz/crypto.cpp:638,1
    - Dst: impl::sha256_process
      Src: /src/cryptofuzz/crypto.cpp:639,1
    - Dst: cryptofuzz::crypto::impl::sha256_done
      Src: /src/cryptofuzz/crypto.cpp:640,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/crypto.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 643
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 643
    functionName: cryptofuzz::crypto::impl::sha256
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - impl::sha256_process
    - cryptofuzz::crypto::impl::sha256_init
    - cryptofuzz::crypto::impl::sha256_done
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sha256(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha256
      Src: /src/cryptofuzz/crypto.cpp:646,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/crypto.cpp:646,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/crypto.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: cryptofuzz::crypto::impl::sha256
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>::size
    - cryptofuzz::crypto::impl::sha256
    - std::vector<uint8_t>::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sha256(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha256_init
      Src: /src/cryptofuzz/crypto.cpp:654,1
    - Dst: cryptofuzz::crypto::impl::sha256_init
      Src: /src/cryptofuzz/crypto.cpp:655,1
    - Dst: memcpy
      Src: /src/cryptofuzz/crypto.cpp:659,1
    - Dst: memset
      Src: /src/cryptofuzz/crypto.cpp:661,1
    - Dst: cryptofuzz::crypto::impl::sha256
      Src: /src/cryptofuzz/crypto.cpp:663,1
    - Dst: memcpy
      Src: /src/cryptofuzz/crypto.cpp:664,1
    - Dst: auto::data
      Src: /src/cryptofuzz/crypto.cpp:664,1
    - Dst: auto::size
      Src: /src/cryptofuzz/crypto.cpp:664,1
    - Dst: memset
      Src: /src/cryptofuzz/crypto.cpp:665,1
    - Dst: impl::sha256_process
      Src: /src/cryptofuzz/crypto.cpp:671,1
    - Dst: impl::sha256_process
      Src: /src/cryptofuzz/crypto.cpp:676,1
    - Dst: impl::sha256_process
      Src: /src/cryptofuzz/crypto.cpp:678,1
    - Dst: cryptofuzz::crypto::impl::sha256_done
      Src: /src/cryptofuzz/crypto.cpp:680,1
    - Dst: impl::sha256_process
      Src: /src/cryptofuzz/crypto.cpp:681,1
    - Dst: cryptofuzz::crypto::impl::sha256_done
      Src: /src/cryptofuzz/crypto.cpp:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - data
    - size
    - key
    - key_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 685
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 685
    functionName: cryptofuzz::crypto::impl::hmac_sha256
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - memset
    - impl::sha256_process
    - memcpy
    - cryptofuzz::crypto::impl::sha256
    - cryptofuzz::crypto::impl::sha256_done
    - auto::data
    - auto::size
    - cryptofuzz::crypto::impl::sha256_init
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> hmac_sha256(const uint8_t* data, const size_t
      size, const uint8_t* key, const size_t key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::hmac_sha256
      Src: /src/cryptofuzz/crypto.cpp:688,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/crypto.cpp:688,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/crypto.cpp:688,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/crypto.cpp:688,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/crypto.cpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: cryptofuzz::crypto::impl::hmac_sha256
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>::size
    - std::vector<uint8_t>::data
    - cryptofuzz::crypto::impl::hmac_sha256
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> hmac_sha256(const std::vector<uint8_t> data, const
      std::vector<uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - filename
    - outDir
    - curveId
    argTypes:
    - std::string
    - std::string
    - uint64_t
    constantsTouched: []
    func_position:
      end: 13
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 13
    functionName: cryptofuzz::Botan_Importer::Botan_Importer
    functionSourceFile: /src/cryptofuzz/botan_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Botan_Importer::Botan_Importer(const std::string filename, const
      std::string outDir, const uint64_t curveId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/botan_importer.cpp:17,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/botan_importer.cpp:17,1
    - Dst: cryptofuzz::Botan_Importer::LoadInput
      Src: /src/cryptofuzz/botan_importer.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: cryptofuzz::Botan_Importer::Run
    functionSourceFile: /src/cryptofuzz/botan_importer.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    - cryptofuzz::Botan_Importer::LoadInput
    linkageType: ''
    returnType: void
    signature: void Botan_Importer::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/botan_importer.cpp:25,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/botan_importer.cpp:26,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/botan_importer.cpp:30,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/botan_importer.cpp:31,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/botan_importer.cpp:35,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/botan_importer.cpp:36,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/botan_importer.cpp:40,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/botan_importer.cpp:41,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/botan_importer.cpp:46,1
    - Dst: cryptofuzz::repository::ECC_CurveToX
      Src: /src/cryptofuzz/botan_importer.cpp:49,1
    - Dst: cryptofuzz::repository::ECC_CurveToY
      Src: /src/cryptofuzz/botan_importer.cpp:50,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/botan_importer.cpp:54,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/botan_importer.cpp:54,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/botan_importer.cpp:55,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/botan_importer.cpp:55,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/botan_importer.cpp:67,1
    - Dst: cryptofuzz::Botan_Importer::write
      Src: /src/cryptofuzz/botan_importer.cpp:68,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/botan_importer.cpp:68,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 70
    functionName: cryptofuzz::Botan_Importer::LoadInput
    functionSourceFile: /src/cryptofuzz/botan_importer.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECC_Point_Mul::Serialize
    - cryptofuzz::repository::ECC_CurveToX
    - std::vector<uint8_t>::data
    - CF_ECC_CURVE
    - cryptofuzz::Botan_Importer::write
    - std::vector<uint8_t>::size
    - CF_OPERATION
    - cryptofuzz::util::BinToDec
    - CF_ASSERT
    - cryptofuzz::repository::ECC_CurveToY
    linkageType: ''
    returnType: void
    signature: void Botan_Importer::LoadInput(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/botan_importer.cpp:76,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/botan_importer.cpp:78,1
    - Dst: GetOut
      Src: /src/cryptofuzz/botan_importer.cpp:78,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/botan_importer.cpp:81,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/botan_importer.cpp:81,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/botan_importer.cpp:84,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/botan_importer.cpp:84,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/botan_importer.cpp:87,1
    - Dst: std::string
      Src: /src/cryptofuzz/botan_importer.cpp:90,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/botan_importer.cpp:90,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/botan_importer.cpp:90,1
    - Dst: fopen
      Src: /src/cryptofuzz/botan_importer.cpp:91,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/botan_importer.cpp:91,1
    - Dst: fwrite
      Src: /src/cryptofuzz/botan_importer.cpp:92,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/botan_importer.cpp:92,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/botan_importer.cpp:92,1
    - Dst: fclose
      Src: /src/cryptofuzz/botan_importer.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - operation
    - ' dsOut2'
    argTypes:
    - uint64_t
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 95
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 95
    functionName: cryptofuzz::Botan_Importer::write
    functionSourceFile: /src/cryptofuzz/botan_importer.cpp
    functionUses: 1
    functionsReached:
    - fuzzing::datasource::Datasource::GetOut
    - std::string::c_str
    - fwrite
    - std::vector<uint8_t>
    - fuzzing::datasource::Datasource::Put
    - fclose
    - std::string
    - fopen
    - GetOut
    - fuzzing::datasource::Datasource::PutData
    - CF_MODULE
    - cryptofuzz::util::SHA1
    linkageType: ''
    returnType: void
    signature: void Botan_Importer::write(const uint64_t operation, fuzzing::datasource::Datasource&
      dsOut2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/generate_corpus.cpp:190,1
    - Dst: fopen
      Src: /src/cryptofuzz/generate_corpus.cpp:192,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/generate_corpus.cpp:192,1
    - Dst: fwrite
      Src: /src/cryptofuzz/generate_corpus.cpp:193,1
    - Dst: data
      Src: /src/cryptofuzz/generate_corpus.cpp:193,1
    - Dst: size
      Src: /src/cryptofuzz/generate_corpus.cpp:193,1
    - Dst: fclose
      Src: /src/cryptofuzz/generate_corpus.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - corpusDirectory
    - ' data'
    argTypes:
    - std::string
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: write
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 3
    functionsReached:
    - std::string::c_str
    - std::to_string
    - data
    - fclose
    - size
    - fopen
    - fwrite
    linkageType: ''
    returnType: void
    signature: void write(const std::string corpusDirectory, const std::vector<uint8_t>&
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/cryptofuzz/generate_corpus.cpp:199,1
    - Dst: end
      Src: /src/cryptofuzz/generate_corpus.cpp:199,1
    - Dst: insert
      Src: /src/cryptofuzz/generate_corpus.cpp:200,1
    - Dst: end
      Src: /src/cryptofuzz/generate_corpus.cpp:200,1
    - Dst: data
      Src: /src/cryptofuzz/generate_corpus.cpp:200,1
    - Dst: data
      Src: /src/cryptofuzz/generate_corpus.cpp:200,1
    - Dst: size
      Src: /src/cryptofuzz/generate_corpus.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' to'
    - ' from'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: emit
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void emit(std::vector<uint8_t>& to, const std::vector<uint8_t>& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/generate_corpus.cpp:205,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/generate_corpus.cpp:205,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' to'
    - from
    argTypes:
    - std::vector<uint8_t>
    - uint64_t
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: emit
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - memcpy
    - emit
    linkageType: ''
    returnType: void
    signature: void emit(std::vector<uint8_t>& to, const uint64_t from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:215,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:224,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:225,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:228,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:234,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:238,1
    - Dst: write
      Src: /src/cryptofuzz/generate_corpus.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - corpusDirectory
    - cleartextSize
    - digestType
    - modifierSize
    - moduleID
    argTypes:
    - std::string
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 243
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 243
    functionName: generate_Digest_inner
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - write
    - emit
    linkageType: ''
    returnType: void
    signature: void generate_Digest_inner(const std::string corpusDirectory, const
      size_t cleartextSize, const uint64_t digestType, const uint64_t modifierSize,
      const uint64_t moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_Digest_inner
      Src: /src/cryptofuzz/generate_corpus.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - corpusDirectory
    - moduleID
    argTypes:
    - std::string
    - uint64_t
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: generate_Digest
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest_inner
    linkageType: ''
    returnType: void
    signature: void generate_Digest(const std::string corpusDirectory, const uint64_t
      moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:260,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:269,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:272,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:275,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:277,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:280,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:283,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:289,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:293,1
    - Dst: write
      Src: /src/cryptofuzz/generate_corpus.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 7
    argNames:
    - corpusDirectory
    - cleartextSize
    - ivSize
    - keySize
    - cipherType
    - modifierSize
    - moduleID
    argTypes:
    - std::string
    - size_t
    - size_t
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 298
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 298
    functionName: generate_SymmetricEncrypt_inner
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - write
    - emit
    linkageType: ''
    returnType: void
    signature: void generate_SymmetricEncrypt_inner(const std::string corpusDirectory,
      const size_t cleartextSize, const size_t ivSize, const size_t keySize, const
      uint64_t cipherType, const uint64_t modifierSize, const uint64_t moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:305,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:314,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:316,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:319,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:322,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:324,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:327,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:333,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:337,1
    - Dst: write
      Src: /src/cryptofuzz/generate_corpus.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 8
    argNames:
    - corpusDirectory
    - cleartextSize
    - digestType
    - ivSize
    - keySize
    - cipherType
    - modifierSize
    - moduleID
    argTypes:
    - std::string
    - size_t
    - uint64_t
    - size_t
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 342
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 342
    functionName: generate_HMAC_inner
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - write
    - emit
    linkageType: ''
    returnType: void
    signature: void generate_HMAC_inner(const std::string corpusDirectory, const size_t
      cleartextSize, const uint64_t digestType, const size_t ivSize, const size_t
      keySize, const uint64_t cipherType, const uint64_t modifierSize, const uint64_t
      moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_HMAC_inner
      Src: /src/cryptofuzz/generate_corpus.cpp:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - corpusDirectory
    - moduleID
    argTypes:
    - std::string
    - uint64_t
    constantsTouched: []
    func_position:
      end: 359
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 359
    functionName: generate_HMAC
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - generate_HMAC_inner
    linkageType: ''
    returnType: void
    signature: void generate_HMAC(const std::string corpusDirectory, const uint64_t
      moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:366,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:375,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:378,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:381,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:383,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:386,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:392,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:396,1
    - Dst: write
      Src: /src/cryptofuzz/generate_corpus.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 7
    argNames:
    - corpusDirectory
    - cleartextSize
    - ivSize
    - keySize
    - cipherType
    - modifierSize
    - moduleID
    argTypes:
    - std::string
    - size_t
    - size_t
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 401
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 401
    functionName: generate_CMAC_inner
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - write
    - emit
    linkageType: ''
    returnType: void
    signature: void generate_CMAC_inner(const std::string corpusDirectory, const size_t
      cleartextSize, const size_t ivSize, const size_t keySize, const uint64_t cipherType,
      const uint64_t modifierSize, const uint64_t moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_CMAC_inner
      Src: /src/cryptofuzz/generate_corpus.cpp:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - corpusDirectory
    - moduleID
    argTypes:
    - std::string
    - uint64_t
    constantsTouched: []
    func_position:
      end: 415
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 415
    functionName: generate_CMAC
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - generate_CMAC_inner
    linkageType: ''
    returnType: void
    signature: void generate_CMAC(const std::string corpusDirectory, const uint64_t
      moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_SymmetricEncrypt_inner
      Src: /src/cryptofuzz/generate_corpus.cpp:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - corpusDirectory
    - moduleID
    argTypes:
    - std::string
    - uint64_t
    constantsTouched: []
    func_position:
      end: 429
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 429
    functionName: generate_SymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - generate_SymmetricEncrypt_inner
    linkageType: ''
    returnType: void
    signature: void generate_SymmetricEncrypt(const std::string corpusDirectory, const
      uint64_t moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/generate_corpus.cpp:434,1
    - Dst: ID
      Src: /src/cryptofuzz/generate_corpus.cpp:441,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/generate_corpus.cpp:447,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/generate_corpus.cpp:448,1
    - Dst: generate_CMAC
      Src: /src/cryptofuzz/generate_corpus.cpp:449,1
    - Dst: generate_SymmetricEncrypt
      Src: /src/cryptofuzz/generate_corpus.cpp:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 454
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 454
    functionName: main
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - generate_SymmetricEncrypt
    - ID
    - generate_CMAC
    - generate_HMAC
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/wycheproof.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - outDir
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: cryptofuzz::Wycheproof::Wycheproof
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    linkageType: ''
    returnType: void
    signature: void Wycheproof::Wycheproof(const std::string filename, const std::string
      outDir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:20,1
    - Dst: cryptofuzz::Wycheproof::ECDSA_Verify
      Src: /src/cryptofuzz/wycheproof.cpp:21,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:22,1
    - Dst: cryptofuzz::Wycheproof::EDDSA_Verify
      Src: /src/cryptofuzz/wycheproof.cpp:23,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:24,1
    - Dst: cryptofuzz::Wycheproof::ECDH
      Src: /src/cryptofuzz/wycheproof.cpp:25,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:26,1
    - Dst: cryptofuzz::Wycheproof::DSA
      Src: /src/cryptofuzz/wycheproof.cpp:27,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:28,1
    - Dst: cryptofuzz::Wycheproof::PrimalityTest
      Src: /src/cryptofuzz/wycheproof.cpp:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: cryptofuzz::Wycheproof::Run
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Wycheproof::ECDSA_Verify
    - cryptofuzz::Wycheproof::DSA
    - get
    - cryptofuzz::Wycheproof::PrimalityTest
    - cryptofuzz::Wycheproof::EDDSA_Verify
    - cryptofuzz::Wycheproof::ECDH
    linkageType: ''
    returnType: void
    signature: void Wycheproof::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/wycheproof.cpp:37,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/wycheproof.cpp:39,1
    - Dst: GetOut
      Src: /src/cryptofuzz/wycheproof.cpp:39,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/wycheproof.cpp:42,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/wycheproof.cpp:42,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/wycheproof.cpp:45,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/wycheproof.cpp:45,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/wycheproof.cpp:48,1
    - Dst: std::string
      Src: /src/cryptofuzz/wycheproof.cpp:52,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/wycheproof.cpp:52,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/wycheproof.cpp:52,1
    - Dst: fopen
      Src: /src/cryptofuzz/wycheproof.cpp:53,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/wycheproof.cpp:53,1
    - Dst: fwrite
      Src: /src/cryptofuzz/wycheproof.cpp:54,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/wycheproof.cpp:54,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/wycheproof.cpp:54,1
    - Dst: fclose
      Src: /src/cryptofuzz/wycheproof.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - operation
    - ' dsOut2'
    argTypes:
    - uint64_t
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 57
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 57
    functionName: cryptofuzz::Wycheproof::write
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 0
    functionsReached:
    - fuzzing::datasource::Datasource::GetOut
    - std::string::c_str
    - fwrite
    - std::vector<uint8_t>
    - fuzzing::datasource::Datasource::Put
    - fclose
    - std::string
    - fopen
    - GetOut
    - fuzzing::datasource::Datasource::PutData
    - CF_MODULE
    - cryptofuzz::util::SHA1
    linkageType: ''
    returnType: void
    signature: void Wycheproof::write(const uint64_t operation, fuzzing::datasource::Datasource&
      dsOut2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveFromString
      Src: /src/cryptofuzz/wycheproof.cpp:73,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:77,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:79,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:81,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:83,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:85,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:87,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:89,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:91,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:93,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:95,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/wycheproof.cpp:97,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:113,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:115,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:117,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:119,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:121,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:123,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:125,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:127,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/wycheproof.cpp:129,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:133,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:134,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:136,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:137,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:139,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:140,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:142,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:143,1
    - Dst: cryptofuzz::util::SignatureFromDER
      Src: /src/cryptofuzz/wycheproof.cpp:146,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:146,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/wycheproof.cpp:147,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:162,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:170,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:172,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:172,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/wycheproof.cpp:180,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:181,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/wycheproof.cpp:182,1
    - Dst: cryptofuzz::crypto::impl::sha256
      Src: /src/cryptofuzz/wycheproof.cpp:183,1
    - Dst: from_hex
      Src: /src/cryptofuzz/wycheproof.cpp:186,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/wycheproof.cpp:186,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:189,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:193,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:195,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:195,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:203,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:205,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:205,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:213,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:215,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:215,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:223,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:225,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:225,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:232,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:234,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:234,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:241,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:243,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:243,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 128
    argCount: 1
    argNames:
    - ' groups'
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 250
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 250
    functionName: cryptofuzz::Wycheproof::ECDSA_Verify
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::SignatureFromDER
    - cryptofuzz::operation::ECC_Point_Mul::Serialize
    - CF_ECC_CURVE
    - cryptofuzz::operation::ECC_Point_Add::Serialize
    - cryptofuzz::repository::ECC_CurveFromString
    - CF_OPERATION
    - boost::algorithm::unhex
    - std::back_inserter
    - cryptofuzz::crypto::impl::sha256
    - from_hex
    - cryptofuzz::Wycheproof::write
    - CF_CHECK_NE
    - cryptofuzz::operation::ECC_ValidatePubkey::Serialize
    - CF_DIGEST
    - cryptofuzz::operation::ECDSA_Verify::Serialize
    - get
    - CF_ASSERT
    - cryptofuzz::util::HexToDec
    linkageType: ''
    returnType: void
    signature: void Wycheproof::ECDSA_Verify(const nlohmann::json& groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:261,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/wycheproof.cpp:263,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:267,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:269,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:273,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/wycheproof.cpp:274,1
    - Dst: auto::size
      Src: /src/cryptofuzz/wycheproof.cpp:274,1
    - Dst: std::string
      Src: /src/cryptofuzz/wycheproof.cpp:276,1
    - Dst: auto::data
      Src: /src/cryptofuzz/wycheproof.cpp:276,1
    - Dst: auto::data
      Src: /src/cryptofuzz/wycheproof.cpp:276,1
    - Dst: auto::size
      Src: /src/cryptofuzz/wycheproof.cpp:276,1
    - Dst: std::string
      Src: /src/cryptofuzz/wycheproof.cpp:277,1
    - Dst: auto::data
      Src: /src/cryptofuzz/wycheproof.cpp:277,1
    - Dst: auto::size
      Src: /src/cryptofuzz/wycheproof.cpp:277,1
    - Dst: auto::data
      Src: /src/cryptofuzz/wycheproof.cpp:277,1
    - Dst: auto::size
      Src: /src/cryptofuzz/wycheproof.cpp:277,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:279,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:280,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:283,1
    - Dst: std::string
      Src: /src/cryptofuzz/wycheproof.cpp:285,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:289,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:291,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - ' groups'
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 298
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 298
    functionName: cryptofuzz::Wycheproof::EDDSA_Verify
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 1
    functionsReached:
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - CF_OPERATION
    - std::string
    - auto::data
    - cryptofuzz::Wycheproof::write
    - CF_DIGEST
    - cryptofuzz::operation::ECDSA_Verify::Serialize
    - get
    - auto::size
    - CF_ASSERT
    - cryptofuzz::util::HexToDec
    linkageType: ''
    returnType: void
    signature: void Wycheproof::EDDSA_Verify(const nlohmann::json& groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveFromString
      Src: /src/cryptofuzz/wycheproof.cpp:309,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:313,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:315,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:317,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:319,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:321,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:323,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:325,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:327,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:329,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:331,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:333,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/wycheproof.cpp:335,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:341,1
    - Dst: cryptofuzz::util::PubkeyFromASN1
      Src: /src/cryptofuzz/wycheproof.cpp:344,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:344,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/wycheproof.cpp:345,1
    - Dst: cryptofuzz::operation::ECDH_Derive::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:355,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:357,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:357,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 1
    argNames:
    - ' groups'
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 363
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 363
    functionName: cryptofuzz::Wycheproof::ECDH
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECDH_Derive::Serialize
    - CF_ECC_CURVE
    - cryptofuzz::repository::ECC_CurveFromString
    - CF_OPERATION
    - cryptofuzz::util::PubkeyFromASN1
    - cryptofuzz::Wycheproof::write
    - CF_CHECK_NE
    - get
    - CF_ASSERT
    - cryptofuzz::util::HexToDec
    linkageType: ''
    returnType: void
    signature: void Wycheproof::ECDH(const nlohmann::json& groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:377,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:378,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:379,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:382,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/wycheproof.cpp:388,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:389,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/wycheproof.cpp:390,1
    - Dst: cryptofuzz::crypto::impl::sha256
      Src: /src/cryptofuzz/wycheproof.cpp:391,1
    - Dst: from_hex
      Src: /src/cryptofuzz/wycheproof.cpp:394,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/wycheproof.cpp:394,1
    - Dst: cryptofuzz::util::SignatureFromDER
      Src: /src/cryptofuzz/wycheproof.cpp:398,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:398,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/wycheproof.cpp:399,1
    - Dst: cryptofuzz::operation::DSA_Verify::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:406,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:408,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - ' groups'
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 414
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 414
    functionName: cryptofuzz::Wycheproof::DSA
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::SignatureFromDER
    - cryptofuzz::operation::DSA_Verify::Serialize
    - CF_OPERATION
    - std::back_inserter
    - boost::algorithm::unhex
    - cryptofuzz::crypto::impl::sha256
    - from_hex
    - CF_CHECK_NE
    - get
    - cryptofuzz::Wycheproof::write
    - cryptofuzz::util::HexToDec
    linkageType: ''
    returnType: void
    signature: void Wycheproof::DSA(const nlohmann::json& groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/wycheproof.cpp:422,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:423,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:430,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:431,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' groups'
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 434
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 434
    functionName: cryptofuzz::Wycheproof::PrimalityTest
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 1
    functionsReached:
    - CF_OPERATION
    - cryptofuzz::operation::BignumCalc::Serialize
    - cryptofuzz::Wycheproof::write
    - cryptofuzz::util::HexToDec
    - CF_CALCOP
    linkageType: ''
    returnType: void
    signature: void Wycheproof::PrimalityTest(const nlohmann::json& groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: PRNG
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PRNG(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - x
    - m
    argTypes:
    - boost::multiprecision::cpp_int
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 60
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 60
    functionName: cpp_int_reciprocal
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::multiprecision::cpp_int
    signature: "boost::multiprecision::cpp_int cpp_int_reciprocal(\n        boost::multiprecision::cpp_int
      x,\n        boost::multiprecision::cpp_int m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: cpp_int_num_bits
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cpp_int_num_bits(const boost::multiprecision::cpp_int& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/mutator.cpp:76,1
    - Dst: size
      Src: /src/cryptofuzz/mutator.cpp:79,1
    - Dst: cpp_int_num_bits
      Src: /src/cryptofuzz/mutator.cpp:84,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/mutator.cpp:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - ' y_'
    - ' mod_'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: to_mont
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - cpp_int_num_bits
    - boost::multiprecision::cpp_int::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string to_mont(const std::string& y_, const std::string& mod_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/mutator.cpp:89,1
    - Dst: size
      Src: /src/cryptofuzz/mutator.cpp:92,1
    - Dst: cpp_int_num_bits
      Src: /src/cryptofuzz/mutator.cpp:96,1
    - Dst: cpp_int_reciprocal
      Src: /src/cryptofuzz/mutator.cpp:99,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/mutator.cpp:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - ' y_'
    - ' mod_'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: from_mont
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - cpp_int_num_bits
    - cpp_int_reciprocal
    - boost::multiprecision::cpp_int::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string from_mont(const std::string& y_, const std::string& mod_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/mutator.cpp:106,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/mutator.cpp:109,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:113,1
    - Dst: export_bits
      Src: /src/cryptofuzz/mutator.cpp:116,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/mutator.cpp:116,1
    - Dst: LLVMFuzzerMutate
      Src: /src/cryptofuzz/mutator.cpp:117,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/mutator.cpp:117,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/mutator.cpp:117,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/mutator.cpp:117,1
    - Dst: cryptofuzz::util::MemorySanitizerUnpoison
      Src: /src/cryptofuzz/mutator.cpp:123,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/mutator.cpp:123,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/mutator.cpp:125,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:127,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/mutator.cpp:129,1
    - Dst: import_bits
      Src: /src/cryptofuzz/mutator.cpp:133,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/mutator.cpp:133,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/mutator.cpp:133,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/mutator.cpp:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 136
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 136
    functionName: mutateBinary
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - PRNG
    - cryptofuzz::module::blst_detail::To_cpp_int
    - std::back_inserter
    - export_bits
    - cryptofuzz::util::MemorySanitizerUnpoison
    - boost::multiprecision::cpp_int::str
    - std::vector::begin
    - std::string::size
    - std::vector::resize
    - import_bits
    - LLVMFuzzerMutate
    - std::vector::end
    linkageType: ''
    returnType: std::string
    signature: std::string mutateBinary(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:140,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:142,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:144,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:146,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:148,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:150,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:152,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:154,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:156,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:158,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:160,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:162,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:164,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:166,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:168,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:170,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:172,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 180
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 180
    functionName: get_op_mod
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> get_op_mod(const uint64_t& operation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:183,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: PRNG64
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PRNG64(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:189,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/mutator.cpp:190,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/mutator.cpp:196,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:196,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/mutator.cpp:196,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/mutator.cpp:197,1
    - Dst: std::vector::erase
      Src: /src/cryptofuzz/mutator.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - left
    - numParts
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 202
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 202
    functionName: SplitLength
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - PRNG
    - std::vector::erase
    - std::vector::begin
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> SplitLength(size_t left, const size_t numParts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: getBool
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    linkageType: ''
    returnType: bool
    signature: bool getBool(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:211,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/mutator.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: getDefaultSize
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - std::array::size
    - PRNG
    linkageType: ''
    returnType: size_t
    signature: size_t getDefaultSize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:234,1
    - Dst: getDefaultSize
      Src: /src/cryptofuzz/mutator.cpp:235,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 249
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 249
    functionName: getBuffer
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - getDefaultSize
    - getBool
    linkageType: ''
    returnType: std::string
    signature: std::string getBuffer(size_t size, const bool alternativeSize = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: getBufferBin
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> getBufferBin(const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:264,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:283,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:284,1
    - Dst: at
      Src: /src/cryptofuzz/mutator.cpp:286,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:286,1
    - Dst: size
      Src: /src/cryptofuzz/mutator.cpp:286,1
    - Dst: std::string
      Src: /src/cryptofuzz/mutator.cpp:296,1
    - Dst: std::string::data
      Src: /src/cryptofuzz/mutator.cpp:296,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/mutator.cpp:296,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:299,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 304
    functionName: getBignum
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - at
    - std::string::data
    - std::string
    - size
    - getBool
    - std::string::size
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string getBignum(bool mustBePositive = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: getPrime
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string getPrime(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:311,1
    - Dst: from_mont
      Src: /src/cryptofuzz/mutator.cpp:314,1
    - Dst: mutateBinary
      Src: /src/cryptofuzz/mutator.cpp:314,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:314,1
    - Dst: Set
      Src: /src/cryptofuzz/mutator.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: hint_ecc_mont
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - from_mont
    - getBignum
    - Set
    - mutateBinary
    - cryptofuzz::repository::ECC_CurveToOrder
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hint_ecc_mont(const uint64_t& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/mutator.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' y_'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: to_mont
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - boost::multiprecision::cpp_int::str
    linkageType: ''
    returnType: std::string
    signature: std::string to_mont(const std::string& y_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/mutator.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' y_'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: from_mont
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 1
    functionsReached:
    - boost::multiprecision::cpp_int::str
    linkageType: ''
    returnType: std::string
    signature: std::string from_mont(const std::string& y_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphers::Empty
      Src: /src/cryptofuzz/mutator.cpp:341,1
    - Dst: ciphers::At
      Src: /src/cryptofuzz/mutator.cpp:342,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:342,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: getRandomCipher
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - ciphers::Empty
    - ciphers::At
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getRandomCipher(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digests::Empty
      Src: /src/cryptofuzz/mutator.cpp:349,1
    - Dst: digests::At
      Src: /src/cryptofuzz/mutator.cpp:350,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:350,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: getRandomDigest
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - digests::At
    - PRNG
    - digests::Empty
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getRandomDigest(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curves::Empty
      Src: /src/cryptofuzz/mutator.cpp:357,1
    - Dst: curves::At
      Src: /src/cryptofuzz/mutator.cpp:358,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:358,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: getRandomCurve
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - curves::Empty
    - PRNG
    - curves::At
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getRandomCurve(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOps::Empty
      Src: /src/cryptofuzz/mutator.cpp:365,1
    - Dst: calcOps::At
      Src: /src/cryptofuzz/mutator.cpp:366,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:366,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: getRandomCalcOp
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - calcOps::At
    - calcOps::Empty
    - PRNG
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getRandomCalcOp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: get_BLS_PyECC_DST
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_BLS_PyECC_DST(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: get_BLS_BasicScheme_DST
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_BLS_BasicScheme_DST(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:381,1
    - Dst: get_BLS_PyECC_DST
      Src: /src/cryptofuzz/mutator.cpp:381,1
    - Dst: get_BLS_BasicScheme_DST
      Src: /src/cryptofuzz/mutator.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: get_BLS_predefined_DST
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - get_BLS_PyECC_DST
    - get_BLS_BasicScheme_DST
    - getBool
    linkageType: ''
    returnType: std::string
    signature: std::string get_BLS_predefined_DST(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:385,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:389,1
    - Dst: cryptofuzz::repository::ECC_CurveToA
      Src: /src/cryptofuzz/mutator.cpp:391,1
    - Dst: cryptofuzz::repository::ECC_CurveToB
      Src: /src/cryptofuzz/mutator.cpp:396,1
    - Dst: cryptofuzz::repository::ECC_CurveToPrime
      Src: /src/cryptofuzz/mutator.cpp:401,1
    - Dst: cryptofuzz::repository::ECC_CurveToPrime
      Src: /src/cryptofuzz/mutator.cpp:406,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:411,1
    - Dst: cryptofuzz::util::Find_ECC_Y
      Src: /src/cryptofuzz/mutator.cpp:413,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:413,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/mutator.cpp:415,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/mutator.cpp:416,1
    - Dst: Set
      Src: /src/cryptofuzz/mutator.cpp:417,1
    - Dst: Set
      Src: /src/cryptofuzz/mutator.cpp:419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 421
    functionName: generateECCPoint
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToPrime
    - getRandomCurve
    - PRNG
    - CF_ECC_CURVE
    - getBignum
    - Set
    - cryptofuzz::util::Find_ECC_Y
    - getBool
    - cryptofuzz::repository::ECC_CurveToB
    - cryptofuzz::repository::ECC_CurveToA
    linkageType: ''
    returnType: void
    signature: void generateECCPoint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:428,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:432,1
    - Dst: cryptofuzz::util::MemorySanitizerUnpoison
      Src: /src/cryptofuzz/mutator.cpp:435,1
    - Dst: fuzzing::datasource::Datasource::Get
      Src: /src/cryptofuzz/mutator.cpp:440,1
    - Dst: fuzzing::datasource::Datasource::GetData
      Src: /src/cryptofuzz/mutator.cpp:441,1
    - Dst: fuzzing::datasource::Datasource::GetData
      Src: /src/cryptofuzz/mutator.cpp:442,1
    - Dst: operations::Empty
      Src: /src/cryptofuzz/mutator.cpp:449,1
    - Dst: operations::At
      Src: /src/cryptofuzz/mutator.cpp:450,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:450,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:452,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:461,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:464,1
    - Dst: PRNG64
      Src: /src/cryptofuzz/mutator.cpp:464,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:465,1
    - Dst: cryptofuzz::operation::Digest::Serialize
      Src: /src/cryptofuzz/mutator.cpp:468,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:471,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:480,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:482,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:483,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:484,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:485,1
    - Dst: getRandomCipher
      Src: /src/cryptofuzz/mutator.cpp:486,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:487,1
    - Dst: cryptofuzz::operation::HMAC::Serialize
      Src: /src/cryptofuzz/mutator.cpp:490,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:493,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:496,1
    - Dst: PRNG64
      Src: /src/cryptofuzz/mutator.cpp:496,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:497,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:498,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:498,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:499,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:500,1
    - Dst: cryptofuzz::operation::UMAC::Serialize
      Src: /src/cryptofuzz/mutator.cpp:503,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:506,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:515,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:517,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:518,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:519,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:520,1
    - Dst: getRandomCipher
      Src: /src/cryptofuzz/mutator.cpp:521,1
    - Dst: cryptofuzz::operation::CMAC::Serialize
      Src: /src/cryptofuzz/mutator.cpp:524,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:527,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:542,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:544,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:545,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:550,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:552,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:553,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:557,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:560,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:567,1
    - Dst: getDefaultSize
      Src: /src/cryptofuzz/mutator.cpp:568,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:570,1
    - Dst: getRandomCipher
      Src: /src/cryptofuzz/mutator.cpp:576,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:577,1
    - Dst: cryptofuzz::operation::SymmetricEncrypt::Serialize
      Src: /src/cryptofuzz/mutator.cpp:580,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:583,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:601,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:603,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:604,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:609,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:611,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:612,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:616,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:619,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:626,1
    - Dst: getRandomCipher
      Src: /src/cryptofuzz/mutator.cpp:631,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:632,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::Serialize
      Src: /src/cryptofuzz/mutator.cpp:635,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:638,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:639,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:640,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:641,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:642,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:643,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:644,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:645,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:646,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:647,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:648,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:649,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:650,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:651,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:652,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:653,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:654,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:655,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:656,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:657,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:658,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:659,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:660,1
    - Dst: getRandomCalcOp
      Src: /src/cryptofuzz/mutator.cpp:664,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:667,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:668,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:669,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/mutator.cpp:671,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/mutator.cpp:671,1
    - Dst: get_op_mod
      Src: /src/cryptofuzz/mutator.cpp:672,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/mutator.cpp:675,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/mutator.cpp:677,1
    - Dst: abort
      Src: /src/cryptofuzz/mutator.cpp:680,1
    - Dst: from_mont
      Src: /src/cryptofuzz/mutator.cpp:684,1
    - Dst: mutateBinary
      Src: /src/cryptofuzz/mutator.cpp:684,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:684,1
    - Dst: Set
      Src: /src/cryptofuzz/mutator.cpp:685,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:687,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/mutator.cpp:697,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:697,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:698,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod
      Src: /src/cryptofuzz/mutator.cpp:699,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:699,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:707,1
    - Dst: cryptofuzz::Z3::Generate
      Src: /src/cryptofuzz/mutator.cpp:708,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/mutator.cpp:715,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:718,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:720,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:720,1
    - Dst: getRandomCalcOp
      Src: /src/cryptofuzz/mutator.cpp:721,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:722,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:723,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:724,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:725,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:732,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:736,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:738,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:738,1
    - Dst: getRandomCalcOp
      Src: /src/cryptofuzz/mutator.cpp:739,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:741,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:741,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:742,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:744,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:745,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:746,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:747,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:748,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:749,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:750,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:751,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:752,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:753,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:754,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:755,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:770,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:771,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:772,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:773,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:774,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:775,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:776,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:777,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:778,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:779,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:780,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:781,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:783,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:784,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:785,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:786,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:787,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:788,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:789,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:790,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:791,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:792,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:793,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:794,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:797,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:797,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:798,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:800,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:801,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:802,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:803,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:804,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:805,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:806,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:807,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:808,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:809,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:810,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:811,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:826,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:827,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:828,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:829,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:830,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:831,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:832,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:833,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:834,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:835,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:836,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:837,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::Serialize
      Src: /src/cryptofuzz/mutator.cpp:866,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:869,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:871,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:871,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:873,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:873,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:874,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:876,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:879,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:880,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:882,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:883,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:885,1
    - Dst: boost::lexical_cast<std::string>
      Src: /src/cryptofuzz/mutator.cpp:886,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:888,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:891,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/mutator.cpp:897,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:900,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:902,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:902,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:904,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:904,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:905,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:907,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:909,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:909,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:910,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:910,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:911,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:911,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:912,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:913,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:915,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:915,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:916,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:916,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:918,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:918,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:919,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:920,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/mutator.cpp:924,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:926,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:929,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:931,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:931,1
    - Dst: cryptofuzz::operation::DSA_GenerateParameters::Serialize
      Src: /src/cryptofuzz/mutator.cpp:933,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:936,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:940,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:940,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:941,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:945,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:946,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:949,1
    - Dst: cryptofuzz::operation::DSA_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/mutator.cpp:952,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:955,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:957,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:957,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:959,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:959,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:960,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:965,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:966,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:967,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/mutator.cpp:971,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:974,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:976,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:976,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:978,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:978,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:979,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:988,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:988,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:989,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:989,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:994,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:995,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:996,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1000,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1001,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1002,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1003,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1003,1
    - Dst: cryptofuzz::operation::DSA_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1008,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1011,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1013,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1013,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1015,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1015,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1016,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1026,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1027,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1028,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1033,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1035,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1035,1
    - Dst: cryptofuzz::operation::DSA_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1038,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1041,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1043,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1043,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1045,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1045,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1046,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1047,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/mutator.cpp:1049,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1051,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1058,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1058,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1060,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1062,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1063,1
    - Dst: cryptofuzz::operation::ECDH_Derive::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1067,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1070,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1072,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1072,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1074,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1076,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1079,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1080,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1080,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1080,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1082,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1082,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1084,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1085,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1085,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1088,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1091,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1093,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1093,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1096,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1096,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1097,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1099,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1102,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1103,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1105,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:1106,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1108,1
    - Dst: boost::lexical_cast<std::string>
      Src: /src/cryptofuzz/mutator.cpp:1109,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1111,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1114,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1118,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1120,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1121,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1121,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1121,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1123,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1123,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1126,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1127,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1130,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1133,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1135,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1135,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1137,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1139,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1141,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1143,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1144,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1144,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1144,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1146,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1146,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1148,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1149,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1152,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1155,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1157,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1157,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1159,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1161,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1163,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1165,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1166,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1166,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1166,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1168,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1168,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1170,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1171,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1174,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1177,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1179,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1179,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1181,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1183,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1185,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1187,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1188,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1188,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1188,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1190,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1190,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1192,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1193,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1196,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1199,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1201,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1201,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1203,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1204,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1206,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1208,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1208,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1209,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1209,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1211,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1211,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1212,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1212,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1214,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1214,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1215,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1215,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1220,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1234,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1234,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1236,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1237,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1239,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1240,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1242,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1243,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1245,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1245,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1245,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1246,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1246,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1246,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1249,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1252,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1255,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1257,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1257,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1259,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1260,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1261,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1263,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1263,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1264,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1264,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1266,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1266,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1267,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1267,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1269,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:1272,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1274,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1275,1
    - Dst: boost::lexical_cast<std::string>
      Src: /src/cryptofuzz/mutator.cpp:1277,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1285,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1285,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1287,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1288,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1290,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1291,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1293,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1293,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1293,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1296,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1299,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1302,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1304,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1304,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1306,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1307,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1308,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1310,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1310,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1311,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1311,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1313,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1313,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1314,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1314,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1316,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:1319,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1321,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1322,1
    - Dst: boost::lexical_cast<std::string>
      Src: /src/cryptofuzz/mutator.cpp:1324,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1332,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1332,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1334,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1335,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1337,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1338,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1340,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1340,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1340,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1343,1
    - Dst: cryptofuzz::operation::ECGDSA_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1346,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1349,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1351,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1351,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1353,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1354,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1355,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1357,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1357,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1358,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1358,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1360,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1360,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1361,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1361,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1363,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:1366,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1368,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1369,1
    - Dst: boost::lexical_cast<std::string>
      Src: /src/cryptofuzz/mutator.cpp:1371,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1379,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1379,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1381,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1382,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1384,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1385,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1387,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1387,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1387,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1390,1
    - Dst: cryptofuzz::operation::ECRDSA_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1393,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1396,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1398,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1398,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1400,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1401,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1402,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1404,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1404,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1405,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1405,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1407,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1407,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1408,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1408,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1410,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:1413,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1415,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1416,1
    - Dst: boost::lexical_cast<std::string>
      Src: /src/cryptofuzz/mutator.cpp:1418,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1426,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1426,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1428,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1429,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1431,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1432,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1434,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1434,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1434,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1437,1
    - Dst: cryptofuzz::operation::Schnorr_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1440,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1443,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1445,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1445,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1447,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1447,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1448,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1449,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1451,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1451,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1452,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1452,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1454,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1457,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1457,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1457,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1459,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1459,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1460,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1461,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1463,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1463,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1464,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1464,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1466,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1466,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1466,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1468,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1468,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1470,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1471,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1473,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1473,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1473,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1476,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1477,1
    - Dst: cryptofuzz::operation::ECDSA_Recover::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1480,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1483,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1485,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1485,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1486,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1486,1
    - Dst: cryptofuzz::operation::ECC_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1489,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1492,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1493,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1495,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1495,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1496,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1497,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1497,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1499,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1499,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/mutator.cpp:1502,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1505,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1507,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1507,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1508,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1510,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1514,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1514,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1515,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1521,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1521,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1522,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1523,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1526,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1528,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1531,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1535,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1539,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1540,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1541,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1543,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1543,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1544,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1544,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1546,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1546,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1548,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1549,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1552,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1553,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1554,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1556,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1556,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1557,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1557,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1559,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1559,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1561,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1562,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1566,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:1568,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1571,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1575,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1576,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1577,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1579,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1579,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1580,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1580,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1582,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1582,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1584,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1585,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1588,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1589,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1590,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1592,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1592,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1593,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1593,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1595,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1595,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1597,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1598,1
    - Dst: cryptofuzz::operation::ECC_Point_Sub::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1602,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:1604,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1607,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1611,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1612,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1613,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1615,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1615,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1616,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1616,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1618,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1618,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1620,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1621,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1624,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1627,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:1629,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1632,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1636,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1637,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1638,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1640,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1640,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1641,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1641,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1643,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1643,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1645,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1646,1
    - Dst: cryptofuzz::operation::ECC_Point_Neg::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1650,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:1652,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1655,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1659,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1660,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1661,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1663,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1663,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1664,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1664,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1666,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1666,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1668,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1669,1
    - Dst: cryptofuzz::operation::ECC_Point_Dbl::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1673,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:1675,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1678,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1682,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1683,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1684,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1686,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1686,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1687,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1687,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1689,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1689,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1691,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1692,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1695,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1696,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1697,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1699,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1699,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1700,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1700,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1702,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1702,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1704,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1705,1
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1709,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:1711,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1714,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1722,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1724,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1725,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1726,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1727,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1728,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1729,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1730,1
    - Dst: cryptofuzz::operation::KDF_SCRYPT::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1733,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1736,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1745,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1747,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1748,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1749,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1750,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1751,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1752,1
    - Dst: cryptofuzz::operation::KDF_HKDF::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1755,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1758,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1766,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1768,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1769,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1770,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1771,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1772,1
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1775,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1778,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1786,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1788,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1789,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1790,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1791,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1792,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1793,1
    - Dst: cryptofuzz::operation::KDF_PBKDF::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1796,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1799,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1807,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1809,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1810,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1811,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1812,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1813,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1814,1
    - Dst: cryptofuzz::operation::KDF_PBKDF::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1817,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1820,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1828,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1830,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1831,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1832,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1833,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1834,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1835,1
    - Dst: cryptofuzz::operation::KDF_PBKDF2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1838,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1841,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1849,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1851,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1852,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1853,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1854,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1855,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1856,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1857,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1858,1
    - Dst: cryptofuzz::operation::KDF_ARGON2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1861,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1864,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1873,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1875,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1876,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1877,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1878,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1879,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1880,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1881,1
    - Dst: cryptofuzz::operation::KDF_SSH::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1884,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1887,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1895,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1897,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1898,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1899,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1900,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1901,1
    - Dst: cryptofuzz::operation::KDF_X963::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1904,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1907,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1916,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1918,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1921,1
    - Dst: getRandomCipher
      Src: /src/cryptofuzz/mutator.cpp:1925,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1928,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1929,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1930,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1931,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1932,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1933,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1936,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1939,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1942,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1942,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1943,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1943,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1944,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1945,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1946,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1947,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1948,1
    - Dst: cryptofuzz::operation::KDF_SRTP::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1951,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1954,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1957,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1957,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1958,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1958,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1959,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1960,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1961,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1962,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1963,1
    - Dst: cryptofuzz::operation::KDF_SRTCP::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1966,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1969,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1971,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1971,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1972,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1973,1
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1976,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1979,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1981,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1981,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1982,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1983,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1984,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1984,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1985,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1987,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1990,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1990,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1991,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1993,1
    - Dst: cryptofuzz::operation::DH_Derive::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1997,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2000,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2002,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2002,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2003,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2003,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2005,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2008,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2011,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2013,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2013,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2014,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2014,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2016,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic_G2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2019,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2022,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2024,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2024,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2025,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2025,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2026,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:2031,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2031,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2031,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2037,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2037,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2038,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2039,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2040,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2041,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2042,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2044,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2045,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2046,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2047,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2052,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2052,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2052,1
    - Dst: get_BLS_predefined_DST
      Src: /src/cryptofuzz/mutator.cpp:2052,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2054,1
    - Dst: cryptofuzz::operation::BLS_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2057,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2060,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2062,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2062,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2064,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2065,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2067,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2069,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2070,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2071,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2072,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2076,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2077,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2078,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2079,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2080,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2081,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2083,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2083,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2084,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2087,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2087,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2093,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2094,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2095,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2096,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2099,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2099,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2099,1
    - Dst: get_BLS_predefined_DST
      Src: /src/cryptofuzz/mutator.cpp:2099,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2100,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2101,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2102,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2103,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2104,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2105,1
    - Dst: cryptofuzz::operation::BLS_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2109,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2112,1
    - Dst: nlohmann::detail::json_sax_dom_parser::start_array
      Src: /src/cryptofuzz/mutator.cpp:2120,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2123,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2127,1
    - Dst: push_back
      Src: /src/cryptofuzz/mutator.cpp:2131,1
    - Dst: cryptofuzz::operation::BLS_BatchSign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2135,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2137,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2140,1
    - Dst: get_BLS_predefined_DST
      Src: /src/cryptofuzz/mutator.cpp:2143,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2152,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2153,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2159,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2162,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2170,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2170,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2174,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2175,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/mutator.cpp:2181,1
    - Dst: nlohmann::detail::json_sax_dom_parser::start_array
      Src: /src/cryptofuzz/mutator.cpp:2184,1
    - Dst: std::shuffle
      Src: /src/cryptofuzz/mutator.cpp:2186,1
    - Dst: begin
      Src: /src/cryptofuzz/mutator.cpp:2186,1
    - Dst: end
      Src: /src/cryptofuzz/mutator.cpp:2186,1
    - Dst: push_back
      Src: /src/cryptofuzz/mutator.cpp:2197,1
    - Dst: cryptofuzz::operation::BLS_BatchVerify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2201,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2207,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2209,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2209,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2210,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2210,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2212,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2212,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2213,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2214,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2215,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2217,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2218,1
    - Dst: cryptofuzz::operation::BLS_IsG1OnCurve::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2222,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2224,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2227,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2229,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2229,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2230,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2230,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2232,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2232,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2233,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2234,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2235,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2236,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2237,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2239,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2240,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2241,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2242,1
    - Dst: cryptofuzz::operation::BLS_IsG2OnCurve::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2246,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2249,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2251,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2251,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2252,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2252,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2253,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2253,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2254,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2254,1
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2257,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2260,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2262,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2262,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2263,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2263,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2264,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G1::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2267,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2270,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2272,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2272,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2273,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2273,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2275,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2275,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2276,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2277,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2278,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2280,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2281,1
    - Dst: cryptofuzz::operation::BLS_Compress_G1::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2285,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2287,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2290,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2292,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2292,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2293,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2293,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2294,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2295,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2298,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2301,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2303,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2303,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2304,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2304,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2306,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2306,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2307,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2308,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2309,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2310,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2311,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2313,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2314,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2315,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2316,1
    - Dst: cryptofuzz::operation::BLS_Compress_G2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2320,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2323,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2325,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2325,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2326,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2326,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2327,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2327,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2328,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2328,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2328,1
    - Dst: get_BLS_predefined_DST
      Src: /src/cryptofuzz/mutator.cpp:2328,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2330,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2330,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2333,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2336,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2338,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2338,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2339,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2339,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2340,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2340,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2341,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2341,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2341,1
    - Dst: get_BLS_predefined_DST
      Src: /src/cryptofuzz/mutator.cpp:2341,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2342,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2342,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2345,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2348,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2351,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2351,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2352,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2353,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2356,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2359,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2362,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2362,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2363,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2364,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2365,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2366,1
    - Dst: cryptofuzz::operation::BLS_MapToG2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2369,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2372,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2375,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2375,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2377,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2377,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2378,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2379,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2380,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2382,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2383,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2386,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2386,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2387,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2388,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2389,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2390,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2391,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2393,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2394,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2395,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2396,1
    - Dst: cryptofuzz::operation::BLS_Pairing::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2400,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2402,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2405,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2408,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2408,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2410,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2410,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2411,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2412,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2413,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2415,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2416,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2419,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2419,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2420,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2421,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2422,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2423,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2424,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2426,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2427,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2428,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2429,1
    - Dst: cryptofuzz::operation::BLS_MillerLoop::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2433,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2435,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2438,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2441,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2441,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2443,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2443,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2444,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2459,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2460,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2461,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2462,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2463,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2464,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2465,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2466,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2467,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2468,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2469,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2470,1
    - Dst: cryptofuzz::operation::BLS_FinalExp::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2474,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2477,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2479,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2479,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2480,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2480,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2482,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2482,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2483,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2484,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2485,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2487,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2488,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2491,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2491,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2492,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2493,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2494,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2496,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2497,1
    - Dst: cryptofuzz::operation::BLS_G1_Add::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2501,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2503,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2506,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2508,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2508,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2509,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2509,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2511,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2511,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2512,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2513,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2514,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2516,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2517,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2520,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2523,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2525,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2528,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2530,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2530,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2531,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2531,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2533,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2533,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2534,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2535,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2536,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2538,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2539,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2542,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2542,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2543,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2544,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2545,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2547,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2548,1
    - Dst: cryptofuzz::operation::BLS_G1_IsEq::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2552,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2554,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2557,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2559,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2559,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2560,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2560,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2562,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2562,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2563,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2564,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2565,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2567,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2568,1
    - Dst: cryptofuzz::operation::BLS_G1_Neg::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2572,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2574,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2577,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2579,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2579,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2580,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2580,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2582,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2582,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2583,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2584,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2585,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2586,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2587,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2589,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2590,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2591,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2592,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2595,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2595,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2596,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2597,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2598,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2599,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2600,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2602,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2603,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2604,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2605,1
    - Dst: cryptofuzz::operation::BLS_G2_Add::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2609,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2612,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2614,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2614,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2615,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2615,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2617,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2617,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2618,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2619,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2620,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2621,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2622,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2624,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2625,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2626,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2627,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2630,1
    - Dst: cryptofuzz::operation::BLS_G2_Mul::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2633,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2636,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2638,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2638,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2639,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2639,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2641,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2641,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2642,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2643,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2644,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2645,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2646,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2648,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2649,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2650,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2651,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2654,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2654,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2655,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2656,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2657,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2658,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2659,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2661,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2662,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2663,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2664,1
    - Dst: cryptofuzz::operation::BLS_G2_IsEq::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2668,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2671,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2673,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2673,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2674,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2674,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2676,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2676,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2677,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2678,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2679,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2680,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2681,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2683,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2684,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2685,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2686,1
    - Dst: cryptofuzz::operation::BLS_G2_Neg::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2690,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2693,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2696,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2696,1
    - Dst: nlohmann::detail::json_sax_dom_parser::start_array
      Src: /src/cryptofuzz/mutator.cpp:2699,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2704,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2705,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2709,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2710,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2712,1
    - Dst: push_back
      Src: /src/cryptofuzz/mutator.cpp:2713,1
    - Dst: cryptofuzz::operation::BLS_G1_MultiExp::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2717,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2720,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2722,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2722,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2724,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2726,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2727,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:2729,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2729,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2729,1
    - Dst: cryptofuzz::operation::SR25519_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2732,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/mutator.cpp:2743,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/mutator.cpp:2745,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/mutator.cpp:2745,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/mutator.cpp:2751,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/mutator.cpp:2752,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/mutator.cpp:2759,1
    - Dst: getBufferBin
      Src: /src/cryptofuzz/mutator.cpp:2759,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2759,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/mutator.cpp:2763,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2763,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/mutator.cpp:2767,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/mutator.cpp:2769,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/mutator.cpp:2773,1
    - Dst: memcpy
      Src: /src/cryptofuzz/mutator.cpp:2775,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/mutator.cpp:2775,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2777,1
    - Dst: LLVMFuzzerMutate
      Src: /src/cryptofuzz/mutator.cpp:2786,1
    CyclomaticComplexity: 253
    EdgeCount: 253
    ICount: 1647
    argCount: 4
    argNames:
    - data
    - size
    - maxSize
    - seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2787
      start: 423
    functionDepth: 4
    functionLinenumber: 423
    functionLinenumberEnd: 2787
    functionName: LLVMFuzzerCustomMutator
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - boost::lexical_cast<std::string>
    - end
    - cryptofuzz::operation::BLS_G2_Add::Serialize
    - cryptofuzz::operation::SymmetricDecrypt::Serialize
    - std::shuffle
    - hint_ecc_mont
    - cryptofuzz::operation::KDF_X963::Serialize
    - getBool
    - cryptofuzz::operation::BLS_IsG1OnCurve::Serialize
    - fuzzing::datasource::Datasource::GetOut
    - cryptofuzz::operation::BLS_IsG2OnCurve::Serialize
    - cryptofuzz::repository::ECC_CurveToOrder
    - cryptofuzz::operation::BLS_HashToG1::Serialize
    - cryptofuzz::operation::BLS_G1_Mul::Serialize
    - CF_CHECK_EQ
    - cryptofuzz::util::DecToHex
    - cryptofuzz::operation::BLS_G1_Neg::Serialize
    - cryptofuzz::operation::ECRDSA_Verify::Serialize
    - cryptofuzz::operation::BLS_G1_MultiExp::Serialize
    - LLVMFuzzerMutate
    - std::vector::empty
    - cryptofuzz::operation::ECC_Point_Cmp::Serialize
    - cryptofuzz::operation::BignumCalc_Fp12::Serialize
    - cryptofuzz::operation::ECC_Point_Add::Serialize
    - cryptofuzz::operation::BLS_PrivateToPublic::Serialize
    - cryptofuzz::operation::BLS_PrivateToPublic_G2::Serialize
    - cryptofuzz::operation::BLS_G1_IsEq::Serialize
    - cryptofuzz::operation::BignumCalc::Serialize
    - cryptofuzz::operation::KDF_SCRYPT::Serialize
    - getBufferBin
    - cryptofuzz::operation::BLS_Verify::Serialize
    - cryptofuzz::operation::ECRDSA_Sign::Serialize
    - fuzzing::datasource::Datasource::Put
    - cryptofuzz::operation::ECDSA_Verify::Serialize
    - cryptofuzz::operation::ECGDSA_Sign::Serialize
    - cryptofuzz::operation::KDF_PBKDF::Serialize
    - fuzzing::datasource::Datasource::GetData
    - cryptofuzz::module::blst_detail::To_cpp_int
    - cryptofuzz::operation::ECC_PrivateToPublic::Serialize
    - cryptofuzz::operation::BLS_FinalExp::Serialize
    - cryptofuzz::operation::BLS_Compress_G2::Serialize
    - getBignum
    - cryptofuzz::util::MemorySanitizerUnpoison
    - cryptofuzz::operation::BignumCalc_Fp2::Serialize
    - getRandomDigest
    - cryptofuzz::operation::ECC_GenerateKeyPair::Serialize
    - operations::Empty
    - cryptofuzz::operation::DSA_Sign::Serialize
    - cryptofuzz::operation::CMAC::Serialize
    - cryptofuzz::operation::Schnorr_Verify::Serialize
    - cryptofuzz::operation::ECDSA_Sign::Serialize
    - cryptofuzz::operation::HMAC::Serialize
    - PRNG64
    - cryptofuzz::operation::UMAC::Serialize
    - cryptofuzz::operation::ECDSA_Recover::Serialize
    - cryptofuzz::operation::ECC_Point_Mul::Serialize
    - cryptofuzz::operation::ECCSI_Verify::Serialize
    - cryptofuzz::operation::KDF_SP_800_108::Serialize
    - get_BLS_predefined_DST
    - CF_OPERATION
    - cryptofuzz::operation::BLS_Sign::Serialize
    - cryptofuzz::operation::BLS_MapToG2::Serialize
    - GET_OR_BIGNUM
    - getRandomCalcOp
    - getRandomCipher
    - cryptofuzz::operation::KDF_HKDF::Serialize
    - cryptofuzz::operation::ECC_ValidatePubkey::Serialize
    - mutateBinary
    - cryptofuzz::operation::ECGDSA_Verify::Serialize
    - cryptofuzz::operation::KDF_ARGON2::Serialize
    - begin
    - nlohmann::detail::json_sax_dom_parser::start_array
    - cryptofuzz::operation::BLS_Compress_G1::Serialize
    - cryptofuzz::operation::ECIES_Encrypt::Serialize
    - cryptofuzz::operation::BLS_G2_Mul::Serialize
    - cryptofuzz::operation::ECC_Point_Neg::Serialize
    - cryptofuzz::operation::KDF_SRTCP::Serialize
    - SplitLength
    - cryptofuzz::Z3::Generate
    - cryptofuzz::operation::KDF_TLS1_PRF::Serialize
    - abort
    - cryptofuzz::operation::BLS_Decompress_G1::Serialize
    - Set
    - cryptofuzz::operation::ECC_Point_Sub::Serialize
    - memcpy
    - cryptofuzz::operation::DSA_PrivateToPublic::Serialize
    - cryptofuzz::operation::BLS_MapToG1::Serialize
    - operations::At
    - Get
    - getDefaultSize
    - push_back
    - cryptofuzz::operation::ECDH_Derive::Serialize
    - cryptofuzz::operation::DH_Derive::Serialize
    - cryptofuzz::operation::BLS_G2_IsEq::Serialize
    - cryptofuzz::operation::ECC_Point_Dbl::Serialize
    - generateECCPoint
    - get_op_mod
    - cryptofuzz::operation::SR25519_Verify::Serialize
    - CF_CALCOP
    - Have
    - cryptofuzz::operation::Digest::Serialize
    - getRandomCurve
    - cryptofuzz::operation::BLS_GenerateKeyPair::Serialize
    - cryptofuzz::operation::DH_GenerateKeyPair::Serialize
    - cryptofuzz::operation::BLS_HashToG2::Serialize
    - cryptofuzz::operation::BLS_BatchVerify::Serialize
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod
    - cryptofuzz::operation::BLS_Decompress_G2::Serialize
    - cryptofuzz::operation::BLS_BatchSign::Serialize
    - cryptofuzz::operation::SymmetricEncrypt::Serialize
    - cryptofuzz::operation::DSA_Verify::Serialize
    - PRNG
    - getBuffer
    - cryptofuzz::operation::ECCSI_Sign::Serialize
    - cryptofuzz::operation::KDF_SRTP::Serialize
    - cryptofuzz::operation::DSA_GenerateParameters::Serialize
    - CF_CIPHER
    - cryptofuzz::operation::BLS_MillerLoop::Serialize
    - cryptofuzz::operation::BLS_G2_Neg::Serialize
    - std::vector::push_back
    - cryptofuzz::operation::BLS_G1_Add::Serialize
    - cryptofuzz::operation::BLS_Pairing::Serialize
    - from_mont
    - cryptofuzz::operation::KDF_SSH::Serialize
    - cryptofuzz::operation::DSA_GenerateKeyPair::Serialize
    - cryptofuzz::operation::Schnorr_Sign::Serialize
    - cryptofuzz::operation::KDF_PBKDF2::Serialize
    - cryptofuzz::operation::ECIES_Decrypt::Serialize
    - fuzzing::datasource::Datasource::PutData
    - fuzzing::datasource::Datasource::Get
    linkageType: ''
    returnType: size_t
    signature: size_t LLVMFuzzerCustomMutator(uint8_t* data, size_t size, size_t maxSize,
      unsigned int seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/executor.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - OperationType
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: cryptofuzz::ExecutorBase::callModule
    functionSourceFile: /src/cryptofuzz/executor.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    linkageType: ''
    returnType: std::optional<ResultType>
    signature: std::optional<ResultType> callModule(std::shared_ptr<Module> module,
      OperationType& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: cryptofuzz::operation::Digest::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Digest::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:14,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:14,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:15,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:15,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: cryptofuzz::operation::Digest::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - cryptofuzz::repository::DigestToString
    - Get
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Digest::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::Digest::ToJSON
      Src: /src/cryptofuzz/operation.cpp:23,1
    - Dst: cryptofuzz::operation::Digest::ToJSON
      Src: /src/cryptofuzz/operation.cpp:24,1
    - Dst: cryptofuzz::operation::Digest::ToJSON
      Src: /src/cryptofuzz/operation.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: cryptofuzz::operation::Digest::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::Digest::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Digest::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: cryptofuzz::operation::HMAC::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string HMAC::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:34,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:34,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:35,1
    - Dst: key::Get
      Src: /src/cryptofuzz/operation.cpp:35,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:36,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:36,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: cryptofuzz::operation::HMAC::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - key::Get
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string HMAC::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::HMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:44,1
    - Dst: cryptofuzz::operation::HMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:45,1
    - Dst: cryptofuzz::operation::HMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:46,1
    - Dst: cryptofuzz::operation::HMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: cryptofuzz::operation::HMAC::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::HMAC::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json HMAC::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: cryptofuzz::operation::UMAC::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string UMAC::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:56,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:56,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:57,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:57,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:58,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:58,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:59,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:60,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: cryptofuzz::operation::UMAC::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - Get
    - std::to_string
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string UMAC::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::UMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:68,1
    - Dst: cryptofuzz::operation::UMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:69,1
    - Dst: cryptofuzz::operation::UMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:70,1
    - Dst: cryptofuzz::operation::UMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: cryptofuzz::operation::UMAC::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::UMAC::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json UMAC::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: cryptofuzz::operation::SymmetricEncrypt::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SymmetricEncrypt::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:82,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:82,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:83,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:83,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:84,1
    - Dst: iv::Get
      Src: /src/cryptofuzz/operation.cpp:84,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:85,1
    - Dst: key::Get
      Src: /src/cryptofuzz/operation.cpp:85,1
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/operation.cpp:86,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/operation.cpp:86,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:87,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:88,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: cryptofuzz::operation::SymmetricEncrypt::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::CipherToString
    - std::to_string
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - cipherType::Get
    - key::Get
    - iv::Get
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string SymmetricEncrypt::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::SymmetricEncrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:96,1
    - Dst: cryptofuzz::operation::SymmetricEncrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:97,1
    - Dst: cryptofuzz::operation::SymmetricEncrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:99,1
    - Dst: cryptofuzz::operation::SymmetricEncrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: cryptofuzz::operation::SymmetricEncrypt::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::SymmetricEncrypt::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json SymmetricEncrypt::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: cryptofuzz::operation::SymmetricDecrypt::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SymmetricDecrypt::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:112,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:112,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:113,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:113,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:114,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:114,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:115,1
    - Dst: iv::Get
      Src: /src/cryptofuzz/operation.cpp:115,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:116,1
    - Dst: key::Get
      Src: /src/cryptofuzz/operation.cpp:116,1
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/operation.cpp:117,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/operation.cpp:117,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:118,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: cryptofuzz::operation::SymmetricDecrypt::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::CipherToString
    - std::to_string
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - cipherType::Get
    - key::Get
    - iv::Get
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string SymmetricDecrypt::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::SymmetricDecrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:126,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:127,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:129,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:131,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: cryptofuzz::operation::SymmetricDecrypt::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::SymmetricDecrypt::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json SymmetricDecrypt::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/operation.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' opSymmetricEncrypt'
    - ciphertext
    - cleartextSize
    - aad
    - modifier
    argTypes:
    - SymmetricEncrypt
    - component::Ciphertext
    - uint64_t
    - std::optional<component::AAD>
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: cryptofuzz::operation::SymmetricDecrypt::SymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SymmetricDecrypt::SymmetricDecrypt(const SymmetricEncrypt& opSymmetricEncrypt,
      const component::Ciphertext ciphertext, const uint64_t cleartextSize, std::optional<component::AAD>
      aad, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: cryptofuzz::operation::KDF_SCRYPT::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SCRYPT::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:152,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:152,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:153,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:153,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:154,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:155,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:156,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:157,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: cryptofuzz::operation::KDF_SCRYPT::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - Get
    - std::to_string
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SCRYPT::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:165,1
    - Dst: cryptofuzz::operation::KDF_SCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:166,1
    - Dst: cryptofuzz::operation::KDF_SCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: cryptofuzz::operation::KDF_SCRYPT::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_SCRYPT::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_SCRYPT::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: cryptofuzz::operation::KDF_HKDF::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_HKDF::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:180,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:180,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:181,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:181,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:182,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:182,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:183,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:183,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:184,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: cryptofuzz::operation::KDF_HKDF::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - std::to_string
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_HKDF::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_HKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:192,1
    - Dst: cryptofuzz::operation::KDF_HKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:193,1
    - Dst: cryptofuzz::operation::KDF_HKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:194,1
    - Dst: cryptofuzz::operation::KDF_HKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:195,1
    - Dst: cryptofuzz::operation::KDF_HKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: cryptofuzz::operation::KDF_HKDF::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_HKDF::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_HKDF::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: cryptofuzz::operation::KDF_TLS1_PRF::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_TLS1_PRF::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:206,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:206,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:207,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:207,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:208,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:208,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:209,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: cryptofuzz::operation::KDF_TLS1_PRF::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - std::to_string
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_TLS1_PRF::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:217,1
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:218,1
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:219,1
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: cryptofuzz::operation::KDF_TLS1_PRF::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_TLS1_PRF::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_TLS1_PRF::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: cryptofuzz::operation::KDF_PBKDF::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_PBKDF::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:230,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:230,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:231,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:231,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:232,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:232,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:233,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:234,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: cryptofuzz::operation::KDF_PBKDF::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - std::to_string
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_PBKDF::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_PBKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:242,1
    - Dst: cryptofuzz::operation::KDF_PBKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:243,1
    - Dst: cryptofuzz::operation::KDF_PBKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:244,1
    - Dst: cryptofuzz::operation::KDF_PBKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: cryptofuzz::operation::KDF_PBKDF::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_PBKDF::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_PBKDF::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: cryptofuzz::operation::KDF_PBKDF1::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_PBKDF1::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:256,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:256,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:257,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:257,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:258,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:258,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:259,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:260,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: cryptofuzz::operation::KDF_PBKDF1::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - std::to_string
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_PBKDF1::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_PBKDF1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:268,1
    - Dst: cryptofuzz::operation::KDF_PBKDF1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:269,1
    - Dst: cryptofuzz::operation::KDF_PBKDF1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:270,1
    - Dst: cryptofuzz::operation::KDF_PBKDF1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: cryptofuzz::operation::KDF_PBKDF1::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_PBKDF1::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_PBKDF1::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: cryptofuzz::operation::KDF_PBKDF2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_PBKDF2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:282,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:282,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:283,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:283,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:284,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:284,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:285,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:286,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: cryptofuzz::operation::KDF_PBKDF2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - std::to_string
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_PBKDF2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_PBKDF2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:294,1
    - Dst: cryptofuzz::operation::KDF_PBKDF2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:295,1
    - Dst: cryptofuzz::operation::KDF_PBKDF2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:296,1
    - Dst: cryptofuzz::operation::KDF_PBKDF2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: cryptofuzz::operation::KDF_PBKDF2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_PBKDF2::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_PBKDF2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: cryptofuzz::operation::KDF_ARGON2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_ARGON2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:308,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:308,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:309,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:309,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:310,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:311,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:312,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:313,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:314,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: cryptofuzz::operation::KDF_ARGON2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - Get
    - std::to_string
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_ARGON2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_ARGON2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:322,1
    - Dst: cryptofuzz::operation::KDF_ARGON2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:323,1
    - Dst: cryptofuzz::operation::KDF_ARGON2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: cryptofuzz::operation::KDF_ARGON2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_ARGON2::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_ARGON2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: cryptofuzz::operation::KDF_SSH::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SSH::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:337,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:337,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:338,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:338,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:339,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:339,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:340,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:340,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:341,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:341,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:342,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: cryptofuzz::operation::KDF_SSH::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - std::to_string
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SSH::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SSH::ToJSON
      Src: /src/cryptofuzz/operation.cpp:350,1
    - Dst: cryptofuzz::operation::KDF_SSH::ToJSON
      Src: /src/cryptofuzz/operation.cpp:351,1
    - Dst: cryptofuzz::operation::KDF_SSH::ToJSON
      Src: /src/cryptofuzz/operation.cpp:352,1
    - Dst: cryptofuzz::operation::KDF_SSH::ToJSON
      Src: /src/cryptofuzz/operation.cpp:353,1
    - Dst: cryptofuzz::operation::KDF_SSH::ToJSON
      Src: /src/cryptofuzz/operation.cpp:354,1
    - Dst: cryptofuzz::operation::KDF_SSH::ToJSON
      Src: /src/cryptofuzz/operation.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 358
    functionName: cryptofuzz::operation::KDF_SSH::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_SSH::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_SSH::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: cryptofuzz::operation::KDF_X963::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_X963::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:365,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:365,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:366,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:366,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:367,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:367,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:368,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: cryptofuzz::operation::KDF_X963::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - std::to_string
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_X963::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_X963::ToJSON
      Src: /src/cryptofuzz/operation.cpp:376,1
    - Dst: cryptofuzz::operation::KDF_X963::ToJSON
      Src: /src/cryptofuzz/operation.cpp:377,1
    - Dst: cryptofuzz::operation::KDF_X963::ToJSON
      Src: /src/cryptofuzz/operation.cpp:378,1
    - Dst: cryptofuzz::operation::KDF_X963::ToJSON
      Src: /src/cryptofuzz/operation.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: cryptofuzz::operation::KDF_X963::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_X963::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_X963::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 384
    functionName: cryptofuzz::operation::KDF_BCRYPT::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_BCRYPT::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:389,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:389,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:390,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:390,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:391,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:391,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:392,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:393,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 396
    functionName: cryptofuzz::operation::KDF_BCRYPT::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - std::to_string
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_BCRYPT::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_BCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:401,1
    - Dst: cryptofuzz::operation::KDF_BCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:402,1
    - Dst: cryptofuzz::operation::KDF_BCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:403,1
    - Dst: cryptofuzz::operation::KDF_BCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: cryptofuzz::operation::KDF_BCRYPT::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_BCRYPT::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_BCRYPT::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: cryptofuzz::operation::KDF_SP_800_108::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SP_800_108::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:417,1
    - Dst: type::Get
      Src: /src/cryptofuzz/operation.cpp:417,1
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/operation.cpp:419,1
    - Dst: type::Get
      Src: /src/cryptofuzz/operation.cpp:419,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:421,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:421,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:422,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:422,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:423,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:423,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:424,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:425,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 428
    functionName: cryptofuzz::operation::KDF_SP_800_108::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::repository::CipherToString
    - std::to_string
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - type::Get
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SP_800_108::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SP_800_108::ToJSON
      Src: /src/cryptofuzz/operation.cpp:433,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::ToJSON
      Src: /src/cryptofuzz/operation.cpp:434,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::ToJSON
      Src: /src/cryptofuzz/operation.cpp:435,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::ToJSON
      Src: /src/cryptofuzz/operation.cpp:436,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::ToJSON
      Src: /src/cryptofuzz/operation.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: cryptofuzz::operation::KDF_SP_800_108::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_SP_800_108::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_SP_800_108::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: cryptofuzz::operation::KDF_SRTP::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SRTP::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:447,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:447,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:448,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:448,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:449,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:450,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:451,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:452,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:453,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 456
    functionName: cryptofuzz::operation::KDF_SRTP::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - Get
    - std::to_string
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SRTP::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SRTP::ToJSON
      Src: /src/cryptofuzz/operation.cpp:461,1
    - Dst: cryptofuzz::operation::KDF_SRTP::ToJSON
      Src: /src/cryptofuzz/operation.cpp:462,1
    - Dst: cryptofuzz::operation::KDF_SRTP::ToJSON
      Src: /src/cryptofuzz/operation.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: cryptofuzz::operation::KDF_SRTP::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_SRTP::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_SRTP::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: cryptofuzz::operation::KDF_SRTCP::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SRTCP::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:477,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:477,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:478,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:478,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:479,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:480,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:481,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:482,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:483,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 486
    functionName: cryptofuzz::operation::KDF_SRTCP::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - Get
    - std::to_string
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SRTCP::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SRTCP::ToJSON
      Src: /src/cryptofuzz/operation.cpp:491,1
    - Dst: cryptofuzz::operation::KDF_SRTCP::ToJSON
      Src: /src/cryptofuzz/operation.cpp:492,1
    - Dst: cryptofuzz::operation::KDF_SRTCP::ToJSON
      Src: /src/cryptofuzz/operation.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 500
    functionName: cryptofuzz::operation::KDF_SRTCP::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_SRTCP::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_SRTCP::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: cryptofuzz::operation::CMAC::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CMAC::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:507,1
    - Dst: iv::Get
      Src: /src/cryptofuzz/operation.cpp:507,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:508,1
    - Dst: key::Get
      Src: /src/cryptofuzz/operation.cpp:508,1
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/operation.cpp:509,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/operation.cpp:509,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:510,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:510,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:511,1
    - Dst: key::Get
      Src: /src/cryptofuzz/operation.cpp:511,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 514
    functionName: cryptofuzz::operation::CMAC::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::CipherToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - cipherType::Get
    - key::Get
    - iv::Get
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string CMAC::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::CMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:519,1
    - Dst: cryptofuzz::operation::CMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:520,1
    - Dst: cryptofuzz::operation::CMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: cryptofuzz::operation::CMAC::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::CMAC::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json CMAC::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: cryptofuzz::operation::ECC_PrivateToPublic::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_PrivateToPublic::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:530,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:530,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::ToString
      Src: /src/cryptofuzz/operation.cpp:531,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 534
    functionName: cryptofuzz::operation::ECC_PrivateToPublic::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECC_PrivateToPublic::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_PrivateToPublic::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:539,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:540,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 543
    functionName: cryptofuzz::operation::ECC_PrivateToPublic::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECC_PrivateToPublic::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_PrivateToPublic::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 545
    functionName: cryptofuzz::operation::ECC_ValidatePubkey::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_ValidatePubkey::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:550,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:550,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:551,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:552,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 555
    functionName: cryptofuzz::operation::ECC_ValidatePubkey::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_ValidatePubkey::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:560,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:561,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::ToJSON
      Src: /src/cryptofuzz/operation.cpp:562,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::ToJSON
      Src: /src/cryptofuzz/operation.cpp:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 565
    functionName: cryptofuzz::operation::ECC_ValidatePubkey::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    - cryptofuzz::operation::ECC_ValidatePubkey::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_ValidatePubkey::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/operation.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - curveType
    - ' pub'
    - ' modifier'
    argTypes:
    - component::CurveType
    - component::ECC_PublicKey
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 574
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 574
    functionName: cryptofuzz::operation::ECC_ValidatePubkey::ECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ECC_ValidatePubkey::ECC_ValidatePubkey(\n        const component::CurveType
      curveType,\n        const component::ECC_PublicKey& pub,\n        component::Modifier&
      modifier)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: cryptofuzz::operation::ECC_GenerateKeyPair::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_GenerateKeyPair::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:581,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:581,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 584
    functionName: cryptofuzz::operation::ECC_GenerateKeyPair::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_GenerateKeyPair::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:589,1
    - Dst: cryptofuzz::operation::ECC_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: cryptofuzz::operation::ECC_GenerateKeyPair::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECC_GenerateKeyPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_GenerateKeyPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 594
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 594
    functionName: cryptofuzz::operation::ECCSI_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECCSI_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:599,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:599,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:600,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:601,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:601,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:602,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:602,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:604,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:604,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 607
    functionName: cryptofuzz::operation::ECCSI_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::operation::ECCSI_Sign::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECCSI_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:612,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:613,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:614,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:615,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:616,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: cryptofuzz::operation::ECCSI_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECCSI_Sign::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECCSI_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 621
    functionName: cryptofuzz::operation::ECDSA_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECDSA_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:626,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:626,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:627,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:628,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:629,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:629,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::UseRandomNonce
      Src: /src/cryptofuzz/operation.cpp:631,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::UseRFC6979Nonce
      Src: /src/cryptofuzz/operation.cpp:633,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::UseSpecifiedNonce
      Src: /src/cryptofuzz/operation.cpp:635,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:642,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:642,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 645
    functionName: cryptofuzz::operation::ECDSA_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECDSA_Sign::UseSpecifiedNonce
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::operation::ECDSA_Sign::UseRFC6979Nonce
    - cryptofuzz::operation::ECDSA_Sign::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - cryptofuzz::operation::ECDSA_Sign::UseRandomNonce
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECDSA_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:650,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:651,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:652,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:653,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:655,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: cryptofuzz::operation::ECDSA_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECDSA_Sign::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECDSA_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 660
    functionName: cryptofuzz::operation::ECGDSA_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECGDSA_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:665,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:665,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:666,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:667,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:668,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:668,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::UseRandomNonce
      Src: /src/cryptofuzz/operation.cpp:670,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::UseRFC6979Nonce
      Src: /src/cryptofuzz/operation.cpp:672,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::UseSpecifiedNonce
      Src: /src/cryptofuzz/operation.cpp:674,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:681,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:681,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 684
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 684
    functionName: cryptofuzz::operation::ECGDSA_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECGDSA_Sign::UseRFC6979Nonce
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::operation::ECGDSA_Sign::UseSpecifiedNonce
    - cryptofuzz::operation::ECGDSA_Sign::UseRandomNonce
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - cryptofuzz::operation::ECGDSA_Sign::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECGDSA_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:689,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:690,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:691,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:692,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:694,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 697
    functionName: cryptofuzz::operation::ECGDSA_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECGDSA_Sign::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECGDSA_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 699
    functionName: cryptofuzz::operation::ECRDSA_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECRDSA_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:704,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:704,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:705,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:706,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:707,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:707,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::UseRandomNonce
      Src: /src/cryptofuzz/operation.cpp:709,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::UseRFC6979Nonce
      Src: /src/cryptofuzz/operation.cpp:711,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::UseSpecifiedNonce
      Src: /src/cryptofuzz/operation.cpp:713,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:720,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:720,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 723
    functionName: cryptofuzz::operation::ECRDSA_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::operation::ECRDSA_Sign::UseRFC6979Nonce
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - cryptofuzz::operation::ECRDSA_Sign::UseRandomNonce
    - cryptofuzz::operation::ECRDSA_Sign::UseSpecifiedNonce
    - cryptofuzz::operation::ECRDSA_Sign::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECRDSA_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:728,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:729,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:730,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:731,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:733,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 736
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 736
    functionName: cryptofuzz::operation::ECRDSA_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECRDSA_Sign::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECRDSA_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 738
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 738
    functionName: cryptofuzz::operation::Schnorr_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Schnorr_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:743,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:743,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:744,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:745,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:746,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:746,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::UseRandomNonce
      Src: /src/cryptofuzz/operation.cpp:748,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::UseBIP340Nonce
      Src: /src/cryptofuzz/operation.cpp:750,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::UseSpecifiedNonce
      Src: /src/cryptofuzz/operation.cpp:752,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:759,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:759,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 762
    functionName: cryptofuzz::operation::Schnorr_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::Schnorr_Sign::UseSpecifiedNonce
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::operation::Schnorr_Sign::UseBIP340Nonce
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - cryptofuzz::operation::Schnorr_Sign::ToString
    - cryptofuzz::operation::Schnorr_Sign::UseRandomNonce
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string Schnorr_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:767,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:768,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:769,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:770,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:772,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 775
    functionName: cryptofuzz::operation::Schnorr_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::Schnorr_Sign::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Schnorr_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 777
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 777
    functionName: cryptofuzz::operation::ECCSI_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECCSI_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:782,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:782,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/operation.cpp:783,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/operation.cpp:784,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:785,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:785,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:786,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:786,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/operation.cpp:787,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/operation.cpp:788,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:789,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:789,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 792
    functionName: cryptofuzz::operation::ECCSI_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - signature::second::ToString
    - cryptofuzz::repository::DigestToString
    - pub::first::ToString
    - signature::first::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - pub::second::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECCSI_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECCSI_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:797,1
    - Dst: pub::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:798,1
    - Dst: pub::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:799,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:800,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:801,1
    - Dst: signature::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:802,1
    - Dst: signature::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:803,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:804,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 807
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 807
    functionName: cryptofuzz::operation::ECCSI_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECCSI_Verify::ToJSON
    - pub::first::ToJSON
    - pub::second::ToJSON
    - signature::second::ToJSON
    - signature::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECCSI_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/operation.cpp:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' opECCSI_Sign'
    - signature
    - modifier
    argTypes:
    - ECCSI_Sign
    - component::ECCSI_Signature
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 817
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 817
    functionName: cryptofuzz::operation::ECCSI_Verify::ECCSI_Verify
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECCSI_Verify::ECCSI_Verify(const ECCSI_Sign& opECCSI_Sign, const
      component::ECCSI_Signature signature, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 819
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 819
    functionName: cryptofuzz::operation::ECDSA_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECDSA_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:824,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:824,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/operation.cpp:825,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/operation.cpp:826,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:827,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:827,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/operation.cpp:828,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/operation.cpp:829,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:830,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:830,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 833
    functionName: cryptofuzz::operation::ECDSA_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - signature::second::ToString
    - cryptofuzz::repository::DigestToString
    - pub::first::ToString
    - signature::first::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - pub::second::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECDSA_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:838,1
    - Dst: pub::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:839,1
    - Dst: pub::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:840,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:841,1
    - Dst: signature::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:842,1
    - Dst: signature::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:843,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:844,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 847
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 847
    functionName: cryptofuzz::operation::ECDSA_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - pub::first::ToJSON
    - pub::second::ToJSON
    - signature::second::ToJSON
    - cryptofuzz::operation::ECDSA_Verify::ToJSON
    - signature::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECDSA_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/operation.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' opECDSA_Sign'
    - signature
    - modifier
    argTypes:
    - ECDSA_Sign
    - component::ECDSA_Signature
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 856
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 856
    functionName: cryptofuzz::operation::ECDSA_Verify::ECDSA_Verify
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECDSA_Verify::ECDSA_Verify(const ECDSA_Sign& opECDSA_Sign, const
      component::ECDSA_Signature signature, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 858
    functionName: cryptofuzz::operation::ECGDSA_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECGDSA_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:863,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:863,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/operation.cpp:864,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/operation.cpp:865,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:866,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:866,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/operation.cpp:867,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/operation.cpp:868,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:869,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:869,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 872
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 872
    functionName: cryptofuzz::operation::ECGDSA_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - signature::second::ToString
    - cryptofuzz::repository::DigestToString
    - pub::first::ToString
    - signature::first::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - pub::second::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECGDSA_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECGDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:877,1
    - Dst: pub::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:878,1
    - Dst: pub::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:879,1
    - Dst: cryptofuzz::operation::ECGDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:880,1
    - Dst: signature::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:881,1
    - Dst: signature::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:882,1
    - Dst: cryptofuzz::operation::ECGDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:883,1
    - Dst: cryptofuzz::operation::ECGDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 886
    functionName: cryptofuzz::operation::ECGDSA_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - pub::first::ToJSON
    - pub::second::ToJSON
    - signature::second::ToJSON
    - cryptofuzz::operation::ECGDSA_Verify::ToJSON
    - signature::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECGDSA_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 888
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 888
    functionName: cryptofuzz::operation::ECRDSA_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECRDSA_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:893,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:893,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/operation.cpp:894,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/operation.cpp:895,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:896,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:896,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/operation.cpp:897,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/operation.cpp:898,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:899,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:899,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 902
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 902
    functionName: cryptofuzz::operation::ECRDSA_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - signature::second::ToString
    - cryptofuzz::repository::DigestToString
    - pub::first::ToString
    - signature::first::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - pub::second::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECRDSA_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECRDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:907,1
    - Dst: pub::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:908,1
    - Dst: pub::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:909,1
    - Dst: cryptofuzz::operation::ECRDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:910,1
    - Dst: signature::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:911,1
    - Dst: signature::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:912,1
    - Dst: cryptofuzz::operation::ECRDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:913,1
    - Dst: cryptofuzz::operation::ECRDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 916
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 916
    functionName: cryptofuzz::operation::ECRDSA_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECRDSA_Verify::ToJSON
    - pub::second::ToJSON
    - pub::first::ToJSON
    - signature::second::ToJSON
    - signature::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECRDSA_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 918
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 918
    functionName: cryptofuzz::operation::Schnorr_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Schnorr_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:923,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:923,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/operation.cpp:924,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/operation.cpp:925,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:926,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:926,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/operation.cpp:927,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/operation.cpp:928,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:929,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:929,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 932
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 932
    functionName: cryptofuzz::operation::Schnorr_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - signature::second::ToString
    - cryptofuzz::repository::DigestToString
    - pub::first::ToString
    - signature::first::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - pub::second::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string Schnorr_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::Schnorr_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:937,1
    - Dst: pub::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:938,1
    - Dst: pub::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:939,1
    - Dst: cryptofuzz::operation::Schnorr_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:940,1
    - Dst: signature::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:941,1
    - Dst: signature::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:942,1
    - Dst: cryptofuzz::operation::Schnorr_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:943,1
    - Dst: cryptofuzz::operation::Schnorr_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 946
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 946
    functionName: cryptofuzz::operation::Schnorr_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::Schnorr_Verify::ToJSON
    - pub::first::ToJSON
    - pub::second::ToJSON
    - signature::second::ToJSON
    - signature::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Schnorr_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 948
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 948
    functionName: cryptofuzz::operation::ECDSA_Recover::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECDSA_Recover::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:953,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:953,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:954,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:954,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:955,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:956,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:957,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:957,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:958,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 961
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 961
    functionName: cryptofuzz::operation::ECDSA_Recover::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - std::to_string
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECDSA_Recover::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECDSA_Recover::ToJSON
      Src: /src/cryptofuzz/operation.cpp:966,1
    - Dst: cryptofuzz::operation::ECDSA_Recover::ToJSON
      Src: /src/cryptofuzz/operation.cpp:967,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:968,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:969,1
    - Dst: cryptofuzz::operation::ECDSA_Recover::ToJSON
      Src: /src/cryptofuzz/operation.cpp:971,1
    - Dst: cryptofuzz::operation::ECDSA_Recover::ToJSON
      Src: /src/cryptofuzz/operation.cpp:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 974
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 974
    functionName: cryptofuzz::operation::ECDSA_Recover::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECDSA_Recover::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECDSA_Recover::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 976
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 976
    functionName: cryptofuzz::operation::DSA_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::ToString
      Src: /src/cryptofuzz/operation.cpp:981,1
    - Dst: q::ToString
      Src: /src/cryptofuzz/operation.cpp:982,1
    - Dst: g::ToString
      Src: /src/cryptofuzz/operation.cpp:983,1
    - Dst: cryptofuzz::operation::DSA_Verify::ToString
      Src: /src/cryptofuzz/operation.cpp:984,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:985,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:986,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:987,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:987,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 990
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 990
    functionName: cryptofuzz::operation::DSA_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DSA_Verify::ToString
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - p::ToString
    - q::ToString
    - g::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::ToJSON
      Src: /src/cryptofuzz/operation.cpp:994,1
    - Dst: q::ToJSON
      Src: /src/cryptofuzz/operation.cpp:995,1
    - Dst: g::ToJSON
      Src: /src/cryptofuzz/operation.cpp:996,1
    - Dst: cryptofuzz::operation::DSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:997,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:998,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:999,1
    - Dst: cryptofuzz::operation::DSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1000,1
    - Dst: cryptofuzz::operation::DSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1003
    functionName: cryptofuzz::operation::DSA_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    - cryptofuzz::operation::DSA_Verify::ToJSON
    - p::ToJSON
    - q::ToJSON
    - g::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1005
    functionName: cryptofuzz::operation::DSA_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::ToString
      Src: /src/cryptofuzz/operation.cpp:1010,1
    - Dst: q::ToString
      Src: /src/cryptofuzz/operation.cpp:1011,1
    - Dst: g::ToString
      Src: /src/cryptofuzz/operation.cpp:1012,1
    - Dst: cryptofuzz::operation::DSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:1013,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1014,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1014,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1017
    functionName: cryptofuzz::operation::DSA_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - cryptofuzz::operation::DSA_Sign::ToString
    - cryptofuzz::util::HexDump
    - p::ToString
    - q::ToString
    - g::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1021,1
    - Dst: q::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1022,1
    - Dst: g::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1023,1
    - Dst: cryptofuzz::operation::DSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1024,1
    - Dst: cryptofuzz::operation::DSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1025,1
    - Dst: cryptofuzz::operation::DSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1028
    functionName: cryptofuzz::operation::DSA_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DSA_Sign::ToJSON
    - p::ToJSON
    - q::ToJSON
    - g::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1030
    functionName: cryptofuzz::operation::DSA_PrivateToPublic::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_PrivateToPublic::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_PrivateToPublic::ToString
      Src: /src/cryptofuzz/operation.cpp:1035,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1038
    functionName: cryptofuzz::operation::DSA_PrivateToPublic::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DSA_PrivateToPublic::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_PrivateToPublic::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1042,1
    - Dst: cryptofuzz::operation::DSA_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1045
    functionName: cryptofuzz::operation::DSA_PrivateToPublic::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DSA_PrivateToPublic::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_PrivateToPublic::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1047
    functionName: cryptofuzz::operation::DSA_GenerateKeyPair::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_GenerateKeyPair::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToString
      Src: /src/cryptofuzz/operation.cpp:1052,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToString
      Src: /src/cryptofuzz/operation.cpp:1053,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToString
      Src: /src/cryptofuzz/operation.cpp:1054,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1057
    functionName: cryptofuzz::operation::DSA_GenerateKeyPair::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DSA_GenerateKeyPair::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_GenerateKeyPair::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1061,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1062,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1063,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1066
    functionName: cryptofuzz::operation::DSA_GenerateKeyPair::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DSA_GenerateKeyPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_GenerateKeyPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1068
    functionName: cryptofuzz::operation::DSA_GenerateParameters::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_GenerateParameters::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1075
    functionName: cryptofuzz::operation::DSA_GenerateParameters::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_GenerateParameters::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_GenerateParameters::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1081
    functionName: cryptofuzz::operation::DSA_GenerateParameters::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DSA_GenerateParameters::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_GenerateParameters::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: cryptofuzz::operation::ECDH_Derive::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECDH_Derive::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1088,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1088,1
    - Dst: cryptofuzz::operation::ECDH_Derive::ToString
      Src: /src/cryptofuzz/operation.cpp:1089,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1090,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1091,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1094
    functionName: cryptofuzz::operation::ECDH_Derive::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECDH_Derive::ToString
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECDH_Derive::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECDH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1099,1
    - Dst: cryptofuzz::operation::ECDH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1100,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1101,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1102,1
    - Dst: cryptofuzz::operation::ECDH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1105
    functionName: cryptofuzz::operation::ECDH_Derive::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECDH_Derive::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECDH_Derive::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1107
    functionName: cryptofuzz::operation::ECIES_Encrypt::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECIES_Encrypt::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1112,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1112,1
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1113,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1113,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToString
      Src: /src/cryptofuzz/operation.cpp:1114,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1115,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1116,1
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/operation.cpp:1117,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1117,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1118,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1118,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1121
    functionName: cryptofuzz::operation::ECIES_Encrypt::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::CipherToString
    - cryptofuzz::operation::ECIES_Encrypt::ToString
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECIES_Encrypt::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1126,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1127,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1128,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1129,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1130,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1131,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1133,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1136
    functionName: cryptofuzz::operation::ECIES_Encrypt::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECIES_Encrypt::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECIES_Encrypt::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1138
    functionName: cryptofuzz::operation::ECIES_Decrypt::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECIES_Decrypt::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1143,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1143,1
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1144,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1144,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToString
      Src: /src/cryptofuzz/operation.cpp:1145,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1146,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1147,1
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/operation.cpp:1148,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1148,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1149,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1149,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1152
    functionName: cryptofuzz::operation::ECIES_Decrypt::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::CipherToString
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - cryptofuzz::operation::ECIES_Decrypt::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECIES_Decrypt::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1157,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1158,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1159,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1160,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1161,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1162,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1164,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1167
    functionName: cryptofuzz::operation::ECIES_Decrypt::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECIES_Decrypt::ToJSON
    - first::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECIES_Decrypt::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1169
    functionName: cryptofuzz::operation::ECC_Point_Add::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Add::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1174,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1174,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1175,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1176,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1177,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1178,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1181
    functionName: cryptofuzz::operation::ECC_Point_Add::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Add::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Add::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1186,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1188,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1189,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1191,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1192,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1196
    functionName: cryptofuzz::operation::ECC_Point_Add::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECC_Point_Add::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_Point_Add::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1198
    functionName: cryptofuzz::operation::ECC_Point_Sub::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Sub::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1203,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1203,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1204,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1205,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1206,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1207,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1210
    functionName: cryptofuzz::operation::ECC_Point_Sub::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Sub::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Sub::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1215,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1217,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1218,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1220,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1221,1
    - Dst: cryptofuzz::operation::ECC_Point_Sub::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1225
    functionName: cryptofuzz::operation::ECC_Point_Sub::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECC_Point_Sub::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_Point_Sub::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1227
    functionName: cryptofuzz::operation::ECC_Point_Mul::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Mul::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1232,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1232,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1233,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1234,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::ToString
      Src: /src/cryptofuzz/operation.cpp:1235,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1238
    functionName: cryptofuzz::operation::ECC_Point_Mul::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECC_Point_Mul::ToString
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Mul::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1243,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1245,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1246,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1248,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1252
    functionName: cryptofuzz::operation::ECC_Point_Mul::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECC_Point_Mul::ToJSON
    - first::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_Point_Mul::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1254
    functionName: cryptofuzz::operation::ECC_Point_Neg::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Neg::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1259,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1259,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1260,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1261,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1264
    functionName: cryptofuzz::operation::ECC_Point_Neg::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Neg::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Neg::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1268,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1270,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1271,1
    - Dst: cryptofuzz::operation::ECC_Point_Neg::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1275
    functionName: cryptofuzz::operation::ECC_Point_Neg::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECC_Point_Neg::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_Point_Neg::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1277
    functionName: cryptofuzz::operation::ECC_Point_Dbl::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Dbl::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1282,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1282,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1283,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1284,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1287
    functionName: cryptofuzz::operation::ECC_Point_Dbl::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Dbl::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Dbl::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1291,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1293,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1294,1
    - Dst: cryptofuzz::operation::ECC_Point_Dbl::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1298
    functionName: cryptofuzz::operation::ECC_Point_Dbl::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    - cryptofuzz::operation::ECC_Point_Dbl::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_Point_Dbl::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1300
    functionName: cryptofuzz::operation::ECC_Point_Cmp::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Cmp::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1305,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1305,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1306,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1307,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1308,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1309,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1312
    functionName: cryptofuzz::operation::ECC_Point_Cmp::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Cmp::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1317,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1319,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1320,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1322,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1323,1
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1327
    functionName: cryptofuzz::operation::ECC_Point_Cmp::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECC_Point_Cmp::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_Point_Cmp::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1329
    functionName: cryptofuzz::operation::DH_GenerateKeyPair::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DH_GenerateKeyPair::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::ToString
      Src: /src/cryptofuzz/operation.cpp:1334,1
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::ToString
      Src: /src/cryptofuzz/operation.cpp:1335,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1338
    functionName: cryptofuzz::operation::DH_GenerateKeyPair::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DH_GenerateKeyPair::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DH_GenerateKeyPair::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1343,1
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1344,1
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1347
    functionName: cryptofuzz::operation::DH_GenerateKeyPair::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DH_GenerateKeyPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DH_GenerateKeyPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1349
    functionName: cryptofuzz::operation::DH_Derive::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DH_Derive::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DH_Derive::ToString
      Src: /src/cryptofuzz/operation.cpp:1354,1
    - Dst: cryptofuzz::operation::DH_Derive::ToString
      Src: /src/cryptofuzz/operation.cpp:1355,1
    - Dst: cryptofuzz::operation::DH_Derive::ToString
      Src: /src/cryptofuzz/operation.cpp:1356,1
    - Dst: cryptofuzz::operation::DH_Derive::ToString
      Src: /src/cryptofuzz/operation.cpp:1357,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1360
    functionName: cryptofuzz::operation::DH_Derive::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DH_Derive::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DH_Derive::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1365,1
    - Dst: cryptofuzz::operation::DH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1366,1
    - Dst: cryptofuzz::operation::DH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1367,1
    - Dst: cryptofuzz::operation::DH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1368,1
    - Dst: cryptofuzz::operation::DH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1371
    functionName: cryptofuzz::operation::DH_Derive::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DH_Derive::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DH_Derive::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1373
    functionName: cryptofuzz::operation::BignumCalc::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BignumCalc::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/operation.cpp:1378,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1378,1
    - Dst: cryptofuzz::operation::BignumCalc::ToString
      Src: /src/cryptofuzz/operation.cpp:1379,1
    - Dst: cryptofuzz::operation::BignumCalc::ToString
      Src: /src/cryptofuzz/operation.cpp:1380,1
    - Dst: cryptofuzz::operation::BignumCalc::ToString
      Src: /src/cryptofuzz/operation.cpp:1381,1
    - Dst: cryptofuzz::operation::BignumCalc::ToString
      Src: /src/cryptofuzz/operation.cpp:1382,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1385
    functionName: cryptofuzz::operation::BignumCalc::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::CalcOpToString
    - Get
    - cryptofuzz::operation::BignumCalc::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BignumCalc::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BignumCalc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1390,1
    - Dst: cryptofuzz::operation::BignumCalc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1391,1
    - Dst: cryptofuzz::operation::BignumCalc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1392,1
    - Dst: cryptofuzz::operation::BignumCalc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1393,1
    - Dst: cryptofuzz::operation::BignumCalc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1394,1
    - Dst: cryptofuzz::operation::BignumCalc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1397
    functionName: cryptofuzz::operation::BignumCalc::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BignumCalc::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BignumCalc::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1399
    functionName: cryptofuzz::operation::BignumCalc_Fp2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BignumCalc_Fp2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/operation.cpp:1404,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1404,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1405,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1406,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1407,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1408,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1409,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1410,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1411,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1412,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1415
    functionName: cryptofuzz::operation::BignumCalc_Fp2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::CalcOpToString
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BignumCalc_Fp2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1420,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1421,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1422,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1423,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1424,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1417
    functionDepth: 1
    functionLinenumber: 1417
    functionLinenumberEnd: 1427
    functionName: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BignumCalc_Fp2::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BignumCalc_Fp2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1429
    functionName: cryptofuzz::operation::BignumCalc_Fp12::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BignumCalc_Fp12::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/operation.cpp:1434,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1434,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/operation.cpp:1435,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/operation.cpp:1436,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/operation.cpp:1437,1
    - Dst: bn4::ToString
      Src: /src/cryptofuzz/operation.cpp:1438,1
    - Dst: bn5::ToString
      Src: /src/cryptofuzz/operation.cpp:1439,1
    - Dst: bn6::ToString
      Src: /src/cryptofuzz/operation.cpp:1440,1
    - Dst: bn7::ToString
      Src: /src/cryptofuzz/operation.cpp:1441,1
    - Dst: bn8::ToString
      Src: /src/cryptofuzz/operation.cpp:1442,1
    - Dst: bn9::ToString
      Src: /src/cryptofuzz/operation.cpp:1443,1
    - Dst: bn10::ToString
      Src: /src/cryptofuzz/operation.cpp:1444,1
    - Dst: bn11::ToString
      Src: /src/cryptofuzz/operation.cpp:1445,1
    - Dst: bn12::ToString
      Src: /src/cryptofuzz/operation.cpp:1446,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/operation.cpp:1450,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/operation.cpp:1451,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/operation.cpp:1452,1
    - Dst: bn4::ToString
      Src: /src/cryptofuzz/operation.cpp:1453,1
    - Dst: bn5::ToString
      Src: /src/cryptofuzz/operation.cpp:1454,1
    - Dst: bn6::ToString
      Src: /src/cryptofuzz/operation.cpp:1455,1
    - Dst: bn7::ToString
      Src: /src/cryptofuzz/operation.cpp:1456,1
    - Dst: bn8::ToString
      Src: /src/cryptofuzz/operation.cpp:1457,1
    - Dst: bn9::ToString
      Src: /src/cryptofuzz/operation.cpp:1458,1
    - Dst: bn10::ToString
      Src: /src/cryptofuzz/operation.cpp:1459,1
    - Dst: bn11::ToString
      Src: /src/cryptofuzz/operation.cpp:1460,1
    - Dst: bn12::ToString
      Src: /src/cryptofuzz/operation.cpp:1461,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1464
    functionName: cryptofuzz::operation::BignumCalc_Fp12::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - bn3::ToString
    - bn11::ToString
    - bn12::ToString
    - bn2::ToString
    - bn10::ToString
    - bn6::ToString
    - cryptofuzz::repository::CalcOpToString
    - bn4::ToString
    - bn9::ToString
    - std::stringstream::str
    - bn8::ToString
    - bn5::ToString
    - bn7::ToString
    - bn1::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BignumCalc_Fp12::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1469,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1470,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1471,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1472,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1473,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1476
    functionName: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BignumCalc_Fp12::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BignumCalc_Fp12::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1478
    functionName: cryptofuzz::operation::BLS_PrivateToPublic::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_PrivateToPublic::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1483,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1483,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic::ToString
      Src: /src/cryptofuzz/operation.cpp:1484,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1487
    functionName: cryptofuzz::operation::BLS_PrivateToPublic::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_PrivateToPublic::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_PrivateToPublic::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1492,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1493,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1496
    functionName: cryptofuzz::operation::BLS_PrivateToPublic::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_PrivateToPublic::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_PrivateToPublic::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1498
    functionName: cryptofuzz::operation::BLS_PrivateToPublic_G2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_PrivateToPublic_G2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1503,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1503,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic_G2::ToString
      Src: /src/cryptofuzz/operation.cpp:1504,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1507
    functionName: cryptofuzz::operation::BLS_PrivateToPublic_G2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::operation::BLS_PrivateToPublic_G2::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_PrivateToPublic_G2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1512,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1513,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1516
    functionName: cryptofuzz::operation::BLS_PrivateToPublic_G2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_PrivateToPublic_G2::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_PrivateToPublic_G2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1518
    functionName: cryptofuzz::operation::BLS_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1523,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1523,1
    - Dst: cryptofuzz::operation::BLS_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:1524,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1526,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1526,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1528,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1529,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1530,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1531,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1533,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1533,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1534,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1534,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1537
    functionName: cryptofuzz::operation::BLS_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    - cryptofuzz::operation::BLS_Sign::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1543,1
    - Dst: cryptofuzz::operation::BLS_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1547,1
    - Dst: cryptofuzz::operation::BLS_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1550,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1552,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1553,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1554,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1555,1
    - Dst: cryptofuzz::operation::BLS_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1557,1
    - Dst: cryptofuzz::operation::BLS_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1558,1
    - Dst: cryptofuzz::operation::BLS_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1563
    functionName: cryptofuzz::operation::BLS_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::first::ToJSON
    - second::second::ToJSON
    - cryptofuzz::operation::BLS_Sign::ToJSON
    - first::second::ToJSON
    - second::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1565
    functionName: cryptofuzz::operation::BLS_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1570,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1570,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1571,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1572,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1573,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1573,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1574,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1575,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1576,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1577,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1578,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1578,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1581
    functionName: cryptofuzz::operation::BLS_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1586,1
    - Dst: cryptofuzz::operation::BLS_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1588,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1590,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1591,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1593,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1594,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1595,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1596,1
    - Dst: cryptofuzz::operation::BLS_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1598,1
    - Dst: cryptofuzz::operation::BLS_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1602
    functionName: cryptofuzz::operation::BLS_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_Verify::ToJSON
    - first::ToJSON
    - first::first::ToJSON
    - second::ToJSON
    - second::second::ToJSON
    - first::second::ToJSON
    - second::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1604
    functionName: cryptofuzz::operation::BLS_BatchSign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_BatchSign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv::ToString
      Src: /src/cryptofuzz/operation.cpp:1611,1
    - Dst: g1::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1612,1
    - Dst: g1::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1613,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1616
    functionName: cryptofuzz::operation::BLS_BatchSign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - g1::first::ToString
    - priv::ToString
    - g1::second::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_BatchSign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1622
    functionName: cryptofuzz::operation::BLS_BatchSign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_BatchSign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1624
    functionName: cryptofuzz::operation::BLS_BatchVerify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_BatchVerify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1629,1
    - Dst: g1::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1630,1
    - Dst: g2::first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1632,1
    - Dst: g2::first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1633,1
    - Dst: g2::second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1634,1
    - Dst: g2::second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1635,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1641
    functionName: cryptofuzz::operation::BLS_BatchVerify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - g2::second::first::ToString
    - std::stringstream::str
    - g2::second::second::ToString
    - g2::first::second::ToString
    - g2::first::first::ToString
    - g1::first::ToString
    - g1::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_BatchVerify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_BatchVerify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1646,1
    - Dst: cryptofuzz::operation::BLS_BatchVerify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1649
    functionName: cryptofuzz::operation::BLS_BatchVerify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_BatchVerify::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_BatchVerify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1651
    functionName: cryptofuzz::operation::BLS_Pairing::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Pairing::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1656,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1656,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1657,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1658,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1659,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1660,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1661,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1662,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1652
    functionDepth: 1
    functionLinenumber: 1652
    functionLinenumberEnd: 1665
    functionName: cryptofuzz::operation::BLS_Pairing::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Pairing::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Pairing::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1670,1
    - Dst: cryptofuzz::operation::BLS_Pairing::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1671,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1672,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1673,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1674,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1675,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1676,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1679
    functionName: cryptofuzz::operation::BLS_Pairing::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_Pairing::ToJSON
    - first::ToJSON
    - first::first::ToJSON
    - second::ToJSON
    - second::second::ToJSON
    - first::second::ToJSON
    - second::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Pairing::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1681
    functionName: cryptofuzz::operation::BLS_MillerLoop::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_MillerLoop::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1686,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1686,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1687,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1688,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1689,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1690,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1691,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1692,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1695
    functionName: cryptofuzz::operation::BLS_MillerLoop::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_MillerLoop::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_MillerLoop::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1699,1
    - Dst: cryptofuzz::operation::BLS_MillerLoop::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1697
    functionDepth: 1
    functionLinenumber: 1697
    functionLinenumberEnd: 1702
    functionName: cryptofuzz::operation::BLS_MillerLoop::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_MillerLoop::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_MillerLoop::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1704
    functionName: cryptofuzz::operation::BLS_FinalExp::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_FinalExp::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1709,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1709,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/operation.cpp:1710,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/operation.cpp:1711,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/operation.cpp:1712,1
    - Dst: bn4::ToString
      Src: /src/cryptofuzz/operation.cpp:1713,1
    - Dst: bn5::ToString
      Src: /src/cryptofuzz/operation.cpp:1714,1
    - Dst: bn6::ToString
      Src: /src/cryptofuzz/operation.cpp:1715,1
    - Dst: bn7::ToString
      Src: /src/cryptofuzz/operation.cpp:1716,1
    - Dst: bn8::ToString
      Src: /src/cryptofuzz/operation.cpp:1717,1
    - Dst: bn9::ToString
      Src: /src/cryptofuzz/operation.cpp:1718,1
    - Dst: bn10::ToString
      Src: /src/cryptofuzz/operation.cpp:1719,1
    - Dst: bn11::ToString
      Src: /src/cryptofuzz/operation.cpp:1720,1
    - Dst: bn12::ToString
      Src: /src/cryptofuzz/operation.cpp:1721,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1705
    functionDepth: 1
    functionLinenumber: 1705
    functionLinenumberEnd: 1724
    functionName: cryptofuzz::operation::BLS_FinalExp::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - bn3::ToString
    - bn11::ToString
    - bn12::ToString
    - bn2::ToString
    - bn10::ToString
    - bn6::ToString
    - bn4::ToString
    - bn9::ToString
    - std::stringstream::str
    - bn8::ToString
    - bn5::ToString
    - bn7::ToString
    - bn1::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_FinalExp::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_FinalExp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1729,1
    - Dst: cryptofuzz::operation::BLS_FinalExp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1730,1
    - Dst: cryptofuzz::operation::BLS_FinalExp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1733
    functionName: cryptofuzz::operation::BLS_FinalExp::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_FinalExp::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_FinalExp::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1734
    functionName: cryptofuzz::operation::BLS_Aggregate_G1::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Aggregate_G1::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1739,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1739,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1742,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1743,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1748
    functionName: cryptofuzz::operation::BLS_Aggregate_G1::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Aggregate_G1::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Aggregate_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1753,1
    - Dst: cryptofuzz::operation::BLS_Aggregate_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1754,1
    - Dst: nlohmann::detail::json_sax_dom_parser::start_array
      Src: /src/cryptofuzz/operation.cpp:1756,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1761,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1762,1
    - Dst: nlohmann::json::push_back
      Src: /src/cryptofuzz/operation.cpp:1764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1750
    functionDepth: 1
    functionLinenumber: 1750
    functionLinenumberEnd: 1770
    functionName: cryptofuzz::operation::BLS_Aggregate_G1::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::json_sax_dom_parser::start_array
    - first::ToJSON
    - second::ToJSON
    - cryptofuzz::operation::BLS_Aggregate_G1::ToJSON
    - nlohmann::json::push_back
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Aggregate_G1::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1772
    functionName: cryptofuzz::operation::BLS_Aggregate_G2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Aggregate_G2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1777,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1777,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1780,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1781,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1782,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1783,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1788
    functionName: cryptofuzz::operation::BLS_Aggregate_G2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Aggregate_G2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Aggregate_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1793,1
    - Dst: cryptofuzz::operation::BLS_Aggregate_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1794,1
    - Dst: nlohmann::detail::json_sax_dom_parser::start_array
      Src: /src/cryptofuzz/operation.cpp:1796,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1801,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1802,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1803,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1804,1
    - Dst: nlohmann::json::push_back
      Src: /src/cryptofuzz/operation.cpp:1806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1811
    functionName: cryptofuzz::operation::BLS_Aggregate_G2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::json_sax_dom_parser::start_array
    - cryptofuzz::operation::BLS_Aggregate_G2::ToJSON
    - first::first::ToJSON
    - second::second::ToJSON
    - nlohmann::json::push_back
    - first::second::ToJSON
    - second::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Aggregate_G2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1813
    functionName: cryptofuzz::operation::BLS_HashToG1::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_HashToG1::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1818,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1818,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1819,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1819,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1820,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1820,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1821,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1821,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1814
    functionDepth: 1
    functionLinenumber: 1814
    functionLinenumberEnd: 1824
    functionName: cryptofuzz::operation::BLS_HashToG1::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_HashToG1::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_HashToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1829,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1830,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1831,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1832,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1835
    functionName: cryptofuzz::operation::BLS_HashToG1::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_HashToG1::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_HashToG1::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1837
    functionName: cryptofuzz::operation::BLS_HashToG2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_HashToG2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1842,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1842,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1843,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1843,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1844,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1844,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1845,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1845,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1848
    functionName: cryptofuzz::operation::BLS_HashToG2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_HashToG2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_HashToG2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1853,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1854,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1855,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1856,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1859
    functionName: cryptofuzz::operation::BLS_HashToG2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_HashToG2::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_HashToG2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1861
    functionName: cryptofuzz::operation::BLS_MapToG1::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_MapToG1::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1866,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1866,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::ToString
      Src: /src/cryptofuzz/operation.cpp:1867,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::ToString
      Src: /src/cryptofuzz/operation.cpp:1868,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1862
    functionDepth: 1
    functionLinenumber: 1862
    functionLinenumberEnd: 1871
    functionName: cryptofuzz::operation::BLS_MapToG1::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_MapToG1::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_MapToG1::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_MapToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1876,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1877,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1878,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1881
    functionName: cryptofuzz::operation::BLS_MapToG1::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_MapToG1::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_MapToG1::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1883
    functionName: cryptofuzz::operation::BLS_MapToG2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_MapToG2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1888,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1888,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1889,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1890,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1891,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1892,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1884
    functionDepth: 1
    functionLinenumber: 1884
    functionLinenumberEnd: 1895
    functionName: cryptofuzz::operation::BLS_MapToG2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_MapToG2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1901,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1902,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1903,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1907
    functionName: cryptofuzz::operation::BLS_MapToG2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_MapToG2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1909
    functionName: cryptofuzz::operation::BLS_IsG1OnCurve::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_IsG1OnCurve::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1914,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1914,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1915,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1916,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1910
    functionDepth: 1
    functionLinenumber: 1910
    functionLinenumberEnd: 1919
    functionName: cryptofuzz::operation::BLS_IsG1OnCurve::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_IsG1OnCurve::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_IsG1OnCurve::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1924,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1926,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1927,1
    - Dst: cryptofuzz::operation::BLS_IsG1OnCurve::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1921
    functionDepth: 1
    functionLinenumber: 1921
    functionLinenumberEnd: 1931
    functionName: cryptofuzz::operation::BLS_IsG1OnCurve::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::BLS_IsG1OnCurve::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_IsG1OnCurve::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1933
    functionName: cryptofuzz::operation::BLS_IsG2OnCurve::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_IsG2OnCurve::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1938,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1938,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1939,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1940,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1941,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1942,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1934
    functionDepth: 1
    functionLinenumber: 1934
    functionLinenumberEnd: 1945
    functionName: cryptofuzz::operation::BLS_IsG2OnCurve::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_IsG2OnCurve::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_IsG2OnCurve::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1950,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1952,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1953,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1954,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1955,1
    - Dst: cryptofuzz::operation::BLS_IsG2OnCurve::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1959
    functionName: cryptofuzz::operation::BLS_IsG2OnCurve::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::first::ToJSON
    - second::second::ToJSON
    - first::second::ToJSON
    - second::first::ToJSON
    - cryptofuzz::operation::BLS_IsG2OnCurve::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_IsG2OnCurve::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1961
    functionName: cryptofuzz::operation::BLS_GenerateKeyPair::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_GenerateKeyPair::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1966,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1966,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1967,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1967,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1968,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1968,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1962
    functionDepth: 1
    functionLinenumber: 1962
    functionLinenumberEnd: 1971
    functionName: cryptofuzz::operation::BLS_GenerateKeyPair::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_GenerateKeyPair::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1976,1
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1977,1
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1978,1
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1973
    functionDepth: 1
    functionLinenumber: 1973
    functionLinenumberEnd: 1981
    functionName: cryptofuzz::operation::BLS_GenerateKeyPair::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_GenerateKeyPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_GenerateKeyPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1983
    functionName: cryptofuzz::operation::BLS_Decompress_G1::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Decompress_G1::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1988,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1988,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G1::ToString
      Src: /src/cryptofuzz/operation.cpp:1989,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1984
    functionDepth: 1
    functionLinenumber: 1984
    functionLinenumberEnd: 1992
    functionName: cryptofuzz::operation::BLS_Decompress_G1::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::operation::BLS_Decompress_G1::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Decompress_G1::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Decompress_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1997,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1998,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1994
    functionDepth: 1
    functionLinenumber: 1994
    functionLinenumberEnd: 2001
    functionName: cryptofuzz::operation::BLS_Decompress_G1::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_Decompress_G1::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Decompress_G1::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2003
    functionName: cryptofuzz::operation::BLS_Compress_G1::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Compress_G1::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2008,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2008,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2009,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2010,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2004
    functionDepth: 1
    functionLinenumber: 2004
    functionLinenumberEnd: 2013
    functionName: cryptofuzz::operation::BLS_Compress_G1::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Compress_G1::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Compress_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2018,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2019,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2020,1
    - Dst: cryptofuzz::operation::BLS_Compress_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2023
    functionName: cryptofuzz::operation::BLS_Compress_G1::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::BLS_Compress_G1::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Compress_G1::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2025
    functionName: cryptofuzz::operation::BLS_Decompress_G2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Decompress_G2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2030,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2030,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2031,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2032,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2026
    functionDepth: 1
    functionLinenumber: 2026
    functionLinenumberEnd: 2035
    functionName: cryptofuzz::operation::BLS_Decompress_G2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Decompress_G2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Decompress_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2040,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2041,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2042,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2045
    functionName: cryptofuzz::operation::BLS_Decompress_G2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::BLS_Decompress_G2::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Decompress_G2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2047
    functionName: cryptofuzz::operation::BLS_Compress_G2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Compress_G2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2052,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2052,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2053,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2054,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2055,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2056,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2048
    functionDepth: 1
    functionLinenumber: 2048
    functionLinenumberEnd: 2059
    functionName: cryptofuzz::operation::BLS_Compress_G2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Compress_G2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Compress_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2064,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2065,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2066,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2067,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2068,1
    - Dst: cryptofuzz::operation::BLS_Compress_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2061
    functionDepth: 1
    functionLinenumber: 2061
    functionLinenumberEnd: 2071
    functionName: cryptofuzz::operation::BLS_Compress_G2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_Compress_G2::ToJSON
    - first::first::ToJSON
    - second::second::ToJSON
    - first::second::ToJSON
    - second::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Compress_G2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2073
    functionName: cryptofuzz::operation::BLS_G1_Add::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_Add::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2078,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2078,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2079,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2080,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2081,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2082,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2074
    functionDepth: 1
    functionLinenumber: 2074
    functionLinenumberEnd: 2085
    functionName: cryptofuzz::operation::BLS_G1_Add::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_Add::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_Add::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2090,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2092,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2093,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2095,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2096,1
    - Dst: cryptofuzz::operation::BLS_G1_Add::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2087
    functionDepth: 1
    functionLinenumber: 2087
    functionLinenumberEnd: 2100
    functionName: cryptofuzz::operation::BLS_G1_Add::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::BLS_G1_Add::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G1_Add::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2102
    functionName: cryptofuzz::operation::BLS_G1_Mul::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_Mul::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2107,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2107,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2108,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2109,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::ToString
      Src: /src/cryptofuzz/operation.cpp:2110,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2113
    functionName: cryptofuzz::operation::BLS_G1_Mul::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - cryptofuzz::operation::BLS_G1_Mul::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_Mul::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2118,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2120,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2121,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2123,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2115
    functionDepth: 1
    functionLinenumber: 2115
    functionLinenumberEnd: 2127
    functionName: cryptofuzz::operation::BLS_G1_Mul::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    - cryptofuzz::operation::BLS_G1_Mul::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G1_Mul::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2129
    functionName: cryptofuzz::operation::BLS_G1_IsEq::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_IsEq::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2134,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2134,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2135,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2136,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2137,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2138,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2130
    functionDepth: 1
    functionLinenumber: 2130
    functionLinenumberEnd: 2141
    functionName: cryptofuzz::operation::BLS_G1_IsEq::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_IsEq::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_IsEq::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2145,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2148,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2149,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2151,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2152,1
    - Dst: cryptofuzz::operation::BLS_G1_IsEq::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2156
    functionName: cryptofuzz::operation::BLS_G1_IsEq::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::BLS_G1_IsEq::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G1_IsEq::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2158
    functionDepth: 0
    functionLinenumber: 2158
    functionLinenumberEnd: 2158
    functionName: cryptofuzz::operation::BLS_G1_Neg::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_Neg::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2163,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2163,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2164,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2165,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2159
    functionDepth: 1
    functionLinenumber: 2159
    functionLinenumberEnd: 2168
    functionName: cryptofuzz::operation::BLS_G1_Neg::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_Neg::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_Neg::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2173,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2175,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2176,1
    - Dst: cryptofuzz::operation::BLS_G1_Neg::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2170
    functionDepth: 1
    functionLinenumber: 2170
    functionLinenumberEnd: 2180
    functionName: cryptofuzz::operation::BLS_G1_Neg::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    - cryptofuzz::operation::BLS_G1_Neg::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G1_Neg::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2182
    functionName: cryptofuzz::operation::BLS_G2_Add::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_Add::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2187,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2187,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2188,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2189,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2190,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2191,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2192,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2193,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2194,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2195,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2183
    functionDepth: 1
    functionLinenumber: 2183
    functionLinenumberEnd: 2198
    functionName: cryptofuzz::operation::BLS_G2_Add::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_Add::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G2_Add::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2203,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2205,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2206,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2207,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2208,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2210,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2211,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2212,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2213,1
    - Dst: cryptofuzz::operation::BLS_G2_Add::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2200
    functionDepth: 1
    functionLinenumber: 2200
    functionLinenumberEnd: 2217
    functionName: cryptofuzz::operation::BLS_G2_Add::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::first::ToJSON
    - second::second::ToJSON
    - cryptofuzz::operation::BLS_G2_Add::ToJSON
    - first::second::ToJSON
    - second::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G2_Add::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2219
    functionDepth: 0
    functionLinenumber: 2219
    functionLinenumberEnd: 2219
    functionName: cryptofuzz::operation::BLS_G2_Mul::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_Mul::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2224,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2224,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2225,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2226,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2227,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2228,1
    - Dst: cryptofuzz::operation::BLS_G2_Mul::ToString
      Src: /src/cryptofuzz/operation.cpp:2229,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2232
    functionName: cryptofuzz::operation::BLS_G2_Mul::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_G2_Mul::ToString
    - std::stringstream::str
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_Mul::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G2_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2237,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2239,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2240,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2241,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2242,1
    - Dst: cryptofuzz::operation::BLS_G2_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2244,1
    - Dst: cryptofuzz::operation::BLS_G2_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2234
    functionDepth: 1
    functionLinenumber: 2234
    functionLinenumberEnd: 2248
    functionName: cryptofuzz::operation::BLS_G2_Mul::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::first::ToJSON
    - second::second::ToJSON
    - cryptofuzz::operation::BLS_G2_Mul::ToJSON
    - first::second::ToJSON
    - second::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G2_Mul::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2250
    functionName: cryptofuzz::operation::BLS_G2_IsEq::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_IsEq::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2255,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2255,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2256,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2257,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2258,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2259,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2260,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2261,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2262,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2263,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2266
    functionName: cryptofuzz::operation::BLS_G2_IsEq::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_IsEq::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G2_IsEq::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2271,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2273,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2274,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2275,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2276,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2278,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2279,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2280,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2281,1
    - Dst: cryptofuzz::operation::BLS_G2_IsEq::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2268
    functionDepth: 1
    functionLinenumber: 2268
    functionLinenumberEnd: 2285
    functionName: cryptofuzz::operation::BLS_G2_IsEq::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_G2_IsEq::ToJSON
    - first::first::ToJSON
    - second::second::ToJSON
    - first::second::ToJSON
    - second::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G2_IsEq::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2287
    functionDepth: 0
    functionLinenumber: 2287
    functionLinenumberEnd: 2287
    functionName: cryptofuzz::operation::BLS_G2_Neg::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_Neg::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2292,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2292,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2293,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2294,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2295,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2296,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2288
    functionDepth: 1
    functionLinenumber: 2288
    functionLinenumberEnd: 2299
    functionName: cryptofuzz::operation::BLS_G2_Neg::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_Neg::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G2_Neg::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2304,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2306,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2307,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2308,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2309,1
    - Dst: cryptofuzz::operation::BLS_G2_Neg::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2313
    functionName: cryptofuzz::operation::BLS_G2_Neg::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::first::ToJSON
    - second::second::ToJSON
    - first::second::ToJSON
    - second::first::ToJSON
    - cryptofuzz::operation::BLS_G2_Neg::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G2_Neg::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2315
    functionName: cryptofuzz::operation::BLS_G1_MultiExp::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_MultiExp::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2320,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2320,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2323,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2324,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2325,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2316
    functionDepth: 1
    functionLinenumber: 2316
    functionLinenumberEnd: 2330
    functionName: cryptofuzz::operation::BLS_G1_MultiExp::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - std::stringstream::str
    - first::first::ToString
    - Get
    - cryptofuzz::repository::ECC_CurveToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_MultiExp::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_MultiExp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2334,1
    - Dst: nlohmann::detail::json_sax_dom_parser::start_array
      Src: /src/cryptofuzz/operation.cpp:2336,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2340,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2341,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2342,1
    - Dst: nlohmann::json::push_back
      Src: /src/cryptofuzz/operation.cpp:2344,1
    - Dst: cryptofuzz::operation::BLS_G1_MultiExp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2332
    functionDepth: 1
    functionLinenumber: 2332
    functionLinenumberEnd: 2351
    functionName: cryptofuzz::operation::BLS_G1_MultiExp::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::json_sax_dom_parser::start_array
    - first::first::ToJSON
    - second::ToJSON
    - cryptofuzz::operation::BLS_G1_MultiExp::ToJSON
    - nlohmann::json::push_back
    - first::second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G1_MultiExp::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2353
    functionName: cryptofuzz::operation::Misc::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Misc::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:2358,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2358,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2354
    functionDepth: 1
    functionLinenumber: 2354
    functionLinenumberEnd: 2361
    functionName: cryptofuzz::operation::Misc::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - Get
    - std::to_string
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Misc::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::Misc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2365,1
    - Dst: cryptofuzz::operation::Misc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2363
    functionDepth: 1
    functionLinenumber: 2363
    functionLinenumberEnd: 2368
    functionName: cryptofuzz::operation::Misc::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::Misc::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Misc::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2370
    functionDepth: 0
    functionLinenumber: 2370
    functionLinenumberEnd: 2370
    functionName: cryptofuzz::operation::SR25519_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SR25519_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub::ToString
      Src: /src/cryptofuzz/operation.cpp:2375,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:2376,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2376,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2377,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2378,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2371
    functionDepth: 1
    functionLinenumber: 2371
    functionLinenumberEnd: 2381
    functionName: cryptofuzz::operation::SR25519_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - pub::ToString
    - signature::second::ToString
    - std::stringstream::str
    - cryptofuzz::util::HexDump
    - Get
    - signature::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string SR25519_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2386,1
    - Dst: cryptofuzz::operation::SR25519_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2387,1
    - Dst: signature::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2388,1
    - Dst: signature::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2389,1
    - Dst: cryptofuzz::operation::SR25519_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2383
    functionDepth: 1
    functionLinenumber: 2383
    functionLinenumberEnd: 2392
    functionName: cryptofuzz::operation::SR25519_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - pub::ToJSON
    - cryptofuzz::operation::SR25519_Verify::ToJSON
    - signature::second::ToJSON
    - signature::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json SR25519_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/entry.cpp:463,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/entry.cpp:463,1
    - Dst: std::make_shared<cryptofuzz::Driver>
      Src: /src/cryptofuzz/entry.cpp:467,1
    - Dst: GetOptionsPtr
      Src: /src/cryptofuzz/entry.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 469
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 469
    functionName: setOptions
    functionSourceFile: /src/cryptofuzz/entry.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::is_any_of
    - GetOptionsPtr
    - std::make_shared<cryptofuzz::Driver>
    - cryptofuzz::module::mcl_detail::split
    linkageType: ''
    returnType: void
    signature: void setOptions(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curves::Empty
      Src: /src/cryptofuzz/entry.cpp:475,1
    - Dst: curves::Have
      Src: /src/cryptofuzz/entry.cpp:476,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:480,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:481,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:482,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:483,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:484,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:485,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:486,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:487,1
    - Dst: push_back
      Src: /src/cryptofuzz/entry.cpp:491,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 493
    functionName: addNumbers
    functionSourceFile: /src/cryptofuzz/entry.cpp
    functionUses: 0
    functionsReached:
    - curves::Empty
    - push_back
    - curves::Have
    - std::set::insert
    linkageType: ''
    returnType: void
    signature: void addNumbers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:497,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:502,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:506,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:510,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:514,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:518,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:522,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:526,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:530,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:534,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:538,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:542,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 550
    functionName: addDHParameters
    functionSourceFile: /src/cryptofuzz/entry.cpp
    functionUses: 0
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void addDHParameters(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setOptions
      Src: /src/cryptofuzz/entry.cpp:553,1
    - Dst: addNumbers
      Src: /src/cryptofuzz/entry.cpp:554,1
    - Dst: addDHParameters
      Src: /src/cryptofuzz/entry.cpp:555,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:558,1
    - Dst: std::make_shared<cryptofuzz::module::OpenSSL>
      Src: /src/cryptofuzz/entry.cpp:558,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:562,1
    - Dst: std::make_shared<cryptofuzz::module::Bitcoin>
      Src: /src/cryptofuzz/entry.cpp:562,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:566,1
    - Dst: std::make_shared<cryptofuzz::module::Reference>
      Src: /src/cryptofuzz/entry.cpp:566,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:570,1
    - Dst: std::make_shared<cryptofuzz::module::CPPCrypto>
      Src: /src/cryptofuzz/entry.cpp:570,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:574,1
    - Dst: std::make_shared<cryptofuzz::module::mbedTLS>
      Src: /src/cryptofuzz/entry.cpp:574,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:578,1
    - Dst: std::make_shared<cryptofuzz::module::TF_PSA_Crypto>
      Src: /src/cryptofuzz/entry.cpp:578,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:582,1
    - Dst: std::make_shared<cryptofuzz::module::Boost>
      Src: /src/cryptofuzz/entry.cpp:582,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:586,1
    - Dst: std::make_shared<cryptofuzz::module::Monero>
      Src: /src/cryptofuzz/entry.cpp:586,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:590,1
    - Dst: std::make_shared<cryptofuzz::module::Veracrypt>
      Src: /src/cryptofuzz/entry.cpp:590,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:594,1
    - Dst: std::make_shared<cryptofuzz::module::libsodium>
      Src: /src/cryptofuzz/entry.cpp:594,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:598,1
    - Dst: std::make_shared<cryptofuzz::module::libtomcrypt>
      Src: /src/cryptofuzz/entry.cpp:598,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:602,1
    - Dst: std::make_shared<cryptofuzz::module::CryptoPP>
      Src: /src/cryptofuzz/entry.cpp:602,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:606,1
    - Dst: std::make_shared<cryptofuzz::module::libgcrypt>
      Src: /src/cryptofuzz/entry.cpp:606,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:610,1
    - Dst: std::make_shared<cryptofuzz::module::EverCrypt>
      Src: /src/cryptofuzz/entry.cpp:610,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:614,1
    - Dst: std::make_shared<cryptofuzz::module::Golang>
      Src: /src/cryptofuzz/entry.cpp:614,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:618,1
    - Dst: std::make_shared<cryptofuzz::module::Ring>
      Src: /src/cryptofuzz/entry.cpp:618,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:622,1
    - Dst: std::make_shared<cryptofuzz::module::NSS>
      Src: /src/cryptofuzz/entry.cpp:622,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:626,1
    - Dst: std::make_shared<cryptofuzz::module::Botan>
      Src: /src/cryptofuzz/entry.cpp:626,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:630,1
    - Dst: std::make_shared<cryptofuzz::module::Nettle>
      Src: /src/cryptofuzz/entry.cpp:630,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:634,1
    - Dst: std::make_shared<cryptofuzz::module::wolfCrypt>
      Src: /src/cryptofuzz/entry.cpp:634,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:638,1
    - Dst: std::make_shared<cryptofuzz::module::libgmp>
      Src: /src/cryptofuzz/entry.cpp:638,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:642,1
    - Dst: std::make_shared<cryptofuzz::module::bn_js>
      Src: /src/cryptofuzz/entry.cpp:642,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:646,1
    - Dst: std::make_shared<cryptofuzz::module::crypto_js>
      Src: /src/cryptofuzz/entry.cpp:646,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:650,1
    - Dst: std::make_shared<cryptofuzz::module::bignumber_js>
      Src: /src/cryptofuzz/entry.cpp:650,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:654,1
    - Dst: std::make_shared<cryptofuzz::module::mpdecimal>
      Src: /src/cryptofuzz/entry.cpp:654,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:658,1
    - Dst: std::make_shared<cryptofuzz::module::Linux>
      Src: /src/cryptofuzz/entry.cpp:658,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:662,1
    - Dst: std::make_shared<cryptofuzz::module::SymCrypt>
      Src: /src/cryptofuzz/entry.cpp:662,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:666,1
    - Dst: std::make_shared<cryptofuzz::module::libtommath>
      Src: /src/cryptofuzz/entry.cpp:666,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:670,1
    - Dst: std::make_shared<cryptofuzz::module::sjcl>
      Src: /src/cryptofuzz/entry.cpp:670,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:674,1
    - Dst: std::make_shared<cryptofuzz::module::wolfCrypt_OpenSSL>
      Src: /src/cryptofuzz/entry.cpp:674,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:678,1
    - Dst: std::make_shared<cryptofuzz::module::Monocypher>
      Src: /src/cryptofuzz/entry.cpp:678,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:682,1
    - Dst: std::make_shared<cryptofuzz::module::secp256k1>
      Src: /src/cryptofuzz/entry.cpp:682,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:686,1
    - Dst: std::make_shared<cryptofuzz::module::rust_libsecp256k1>
      Src: /src/cryptofuzz/entry.cpp:686,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:690,1
    - Dst: std::make_shared<cryptofuzz::module::trezor_firmware>
      Src: /src/cryptofuzz/entry.cpp:690,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:694,1
    - Dst: std::make_shared<cryptofuzz::module::elliptic>
      Src: /src/cryptofuzz/entry.cpp:694,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:698,1
    - Dst: std::make_shared<cryptofuzz::module::Decred>
      Src: /src/cryptofuzz/entry.cpp:698,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:702,1
    - Dst: std::make_shared<cryptofuzz::module::BearSSL>
      Src: /src/cryptofuzz/entry.cpp:702,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:706,1
    - Dst: std::make_shared<cryptofuzz::module::micro_ecc>
      Src: /src/cryptofuzz/entry.cpp:706,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:710,1
    - Dst: std::make_shared<cryptofuzz::module::cifra>
      Src: /src/cryptofuzz/entry.cpp:710,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:714,1
    - Dst: std::make_shared<cryptofuzz::module::relic>
      Src: /src/cryptofuzz/entry.cpp:714,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:718,1
    - Dst: std::make_shared<cryptofuzz::module::libecc>
      Src: /src/cryptofuzz/entry.cpp:718,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:722,1
    - Dst: std::make_shared<cryptofuzz::module::chia_bls>
      Src: /src/cryptofuzz/entry.cpp:722,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:726,1
    - Dst: std::make_shared<cryptofuzz::module::k256>
      Src: /src/cryptofuzz/entry.cpp:726,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:730,1
    - Dst: std::make_shared<cryptofuzz::module::schnorrkel>
      Src: /src/cryptofuzz/entry.cpp:730,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:734,1
    - Dst: std::make_shared<cryptofuzz::module::noble_secp256k1>
      Src: /src/cryptofuzz/entry.cpp:734,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:738,1
    - Dst: std::make_shared<cryptofuzz::module::noble_curves>
      Src: /src/cryptofuzz/entry.cpp:738,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:743,1
    - Dst: std::make_shared<cryptofuzz::module::blst>
      Src: /src/cryptofuzz/entry.cpp:743,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:747,1
    - Dst: std::make_shared<cryptofuzz::module::mcl>
      Src: /src/cryptofuzz/entry.cpp:747,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:751,1
    - Dst: std::make_shared<cryptofuzz::module::py_ecc>
      Src: /src/cryptofuzz/entry.cpp:751,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:755,1
    - Dst: std::make_shared<cryptofuzz::module::kilic_bls12_381>
      Src: /src/cryptofuzz/entry.cpp:755,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:759,1
    - Dst: std::make_shared<cryptofuzz::module::noble_ed25519>
      Src: /src/cryptofuzz/entry.cpp:759,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:763,1
    - Dst: std::make_shared<cryptofuzz::module::noble_bls12_381>
      Src: /src/cryptofuzz/entry.cpp:763,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:767,1
    - Dst: std::make_shared<cryptofuzz::module::schnorr_fun>
      Src: /src/cryptofuzz/entry.cpp:767,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:771,1
    - Dst: std::make_shared<cryptofuzz::module::quickjs>
      Src: /src/cryptofuzz/entry.cpp:771,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:775,1
    - Dst: std::make_shared<cryptofuzz::module::uint128_t>
      Src: /src/cryptofuzz/entry.cpp:775,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:779,1
    - Dst: std::make_shared<cryptofuzz::module::_libff>
      Src: /src/cryptofuzz/entry.cpp:779,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:783,1
    - Dst: std::make_shared<cryptofuzz::module::Gnark_bn254>
      Src: /src/cryptofuzz/entry.cpp:783,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:787,1
    - Dst: std::make_shared<cryptofuzz::module::Google_bn256>
      Src: /src/cryptofuzz/entry.cpp:787,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:791,1
    - Dst: std::make_shared<cryptofuzz::module::Cloudflare_bn256>
      Src: /src/cryptofuzz/entry.cpp:791,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:795,1
    - Dst: std::make_shared<cryptofuzz::module::noble_hashes>
      Src: /src/cryptofuzz/entry.cpp:795,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:799,1
    - Dst: std::make_shared<cryptofuzz::module::SkaleSolidity>
      Src: /src/cryptofuzz/entry.cpp:799,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:803,1
    - Dst: std::make_shared<cryptofuzz::module::Google_Integers>
      Src: /src/cryptofuzz/entry.cpp:803,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:807,1
    - Dst: std::make_shared<cryptofuzz::module::nimcrypto>
      Src: /src/cryptofuzz/entry.cpp:807,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:811,1
    - Dst: std::make_shared<cryptofuzz::module::rustcrypto>
      Src: /src/cryptofuzz/entry.cpp:811,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:815,1
    - Dst: std::make_shared<cryptofuzz::module::num_bigint>
      Src: /src/cryptofuzz/entry.cpp:815,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:819,1
    - Dst: std::make_shared<cryptofuzz::module::intx>
      Src: /src/cryptofuzz/entry.cpp:819,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:823,1
    - Dst: std::make_shared<cryptofuzz::module::decred_uint256>
      Src: /src/cryptofuzz/entry.cpp:823,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:827,1
    - Dst: std::make_shared<cryptofuzz::module::libdivide>
      Src: /src/cryptofuzz/entry.cpp:827,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:831,1
    - Dst: std::make_shared<cryptofuzz::module::rust_uint>
      Src: /src/cryptofuzz/entry.cpp:831,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:835,1
    - Dst: std::make_shared<cryptofuzz::module::bc>
      Src: /src/cryptofuzz/entry.cpp:835,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:839,1
    - Dst: std::make_shared<cryptofuzz::module::Java>
      Src: /src/cryptofuzz/entry.cpp:839,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:843,1
    - Dst: std::make_shared<cryptofuzz::module::SolidityMath>
      Src: /src/cryptofuzz/entry.cpp:843,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:847,1
    - Dst: std::make_shared<cryptofuzz::module::V8>
      Src: /src/cryptofuzz/entry.cpp:847,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:851,1
    - Dst: std::make_shared<cryptofuzz::module::circl>
      Src: /src/cryptofuzz/entry.cpp:851,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:855,1
    - Dst: std::make_shared<cryptofuzz::module::spl_math>
      Src: /src/cryptofuzz/entry.cpp:855,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:859,1
    - Dst: std::make_shared<cryptofuzz::module::Zig>
      Src: /src/cryptofuzz/entry.cpp:859,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:863,1
    - Dst: std::make_shared<cryptofuzz::module::prysmaticlabs_hashtree>
      Src: /src/cryptofuzz/entry.cpp:863,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:867,1
    - Dst: std::make_shared<cryptofuzz::module::Starkware>
      Src: /src/cryptofuzz/entry.cpp:867,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:871,1
    - Dst: std::make_shared<cryptofuzz::module::Pornin_BinGCD>
      Src: /src/cryptofuzz/entry.cpp:871,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:875,1
    - Dst: std::make_shared<cryptofuzz::module::stint>
      Src: /src/cryptofuzz/entry.cpp:875,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:879,1
    - Dst: std::make_shared<cryptofuzz::module::Kryptology>
      Src: /src/cryptofuzz/entry.cpp:879,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:883,1
    - Dst: std::make_shared<cryptofuzz::module::nim_bigints>
      Src: /src/cryptofuzz/entry.cpp:883,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:887,1
    - Dst: std::make_shared<cryptofuzz::module::holiman_uint256>
      Src: /src/cryptofuzz/entry.cpp:887,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:891,1
    - Dst: std::make_shared<cryptofuzz::module::CPU>
      Src: /src/cryptofuzz/entry.cpp:891,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:895,1
    - Dst: std::make_shared<cryptofuzz::module::Geth>
      Src: /src/cryptofuzz/entry.cpp:895,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:899,1
    - Dst: std::make_shared<cryptofuzz::module::jsbn>
      Src: /src/cryptofuzz/entry.cpp:899,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:903,1
    - Dst: std::make_shared<cryptofuzz::module::wide_integer>
      Src: /src/cryptofuzz/entry.cpp:903,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:907,1
    - Dst: std::make_shared<cryptofuzz::module::tiny_keccak>
      Src: /src/cryptofuzz/entry.cpp:907,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:911,1
    - Dst: std::make_shared<cryptofuzz::module::arkworks_algebra>
      Src: /src/cryptofuzz/entry.cpp:911,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:915,1
    - Dst: std::make_shared<cryptofuzz::module::ff>
      Src: /src/cryptofuzz/entry.cpp:915,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:919,1
    - Dst: std::make_shared<cryptofuzz::module::Aleo>
      Src: /src/cryptofuzz/entry.cpp:919,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:923,1
    - Dst: std::make_shared<cryptofuzz::module::Shamatar>
      Src: /src/cryptofuzz/entry.cpp:923,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:927,1
    - Dst: std::make_shared<cryptofuzz::module::MicrosoftCalculator>
      Src: /src/cryptofuzz/entry.cpp:927,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:931,1
    - Dst: std::make_shared<cryptofuzz::module::polygon_zkevm_prover>
      Src: /src/cryptofuzz/entry.cpp:931,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:935,1
    - Dst: std::make_shared<cryptofuzz::module::Goldilocks>
      Src: /src/cryptofuzz/entry.cpp:935,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:939,1
    - Dst: std::make_shared<cryptofuzz::module::D>
      Src: /src/cryptofuzz/entry.cpp:939,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:943,1
    - Dst: std::make_shared<cryptofuzz::module::pairing_ce>
      Src: /src/cryptofuzz/entry.cpp:943,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:947,1
    - Dst: std::make_shared<cryptofuzz::module::pasta_curves>
      Src: /src/cryptofuzz/entry.cpp:947,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:951,1
    - Dst: std::make_shared<cryptofuzz::module::BouncyCastle>
      Src: /src/cryptofuzz/entry.cpp:951,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:955,1
    - Dst: std::make_shared<cryptofuzz::module::faheel_BigInt>
      Src: /src/cryptofuzz/entry.cpp:955,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:959,1
    - Dst: std::make_shared<cryptofuzz::module::substrate_bn>
      Src: /src/cryptofuzz/entry.cpp:959,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:963,1
    - Dst: std::make_shared<cryptofuzz::module::aurora_engine_modexp>
      Src: /src/cryptofuzz/entry.cpp:963,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:967,1
    - Dst: std::make_shared<cryptofuzz::module::V8_embedded>
      Src: /src/cryptofuzz/entry.cpp:967,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:971,1
    - Dst: std::make_shared<cryptofuzz::module::Constantine>
      Src: /src/cryptofuzz/entry.cpp:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 978
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 978
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/cryptofuzz/entry.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<cryptofuzz::module::Boost>
    - std::make_shared<cryptofuzz::module::rust_libsecp256k1>
    - std::make_shared<cryptofuzz::module::quickjs>
    - std::make_shared<cryptofuzz::module::Monocypher>
    - std::make_shared<cryptofuzz::module::tiny_keccak>
    - std::make_shared<cryptofuzz::module::Java>
    - std::make_shared<cryptofuzz::module::Starkware>
    - std::make_shared<cryptofuzz::module::mbedTLS>
    - std::make_shared<cryptofuzz::module::wolfCrypt_OpenSSL>
    - std::make_shared<cryptofuzz::module::prysmaticlabs_hashtree>
    - std::make_shared<cryptofuzz::module::V8>
    - std::make_shared<cryptofuzz::module::wolfCrypt>
    - std::make_shared<cryptofuzz::module::Botan>
    - std::make_shared<cryptofuzz::module::noble_bls12_381>
    - std::make_shared<cryptofuzz::module::Geth>
    - std::make_shared<cryptofuzz::module::relic>
    - std::make_shared<cryptofuzz::module::noble_hashes>
    - std::make_shared<cryptofuzz::module::SkaleSolidity>
    - std::make_shared<cryptofuzz::module::libtomcrypt>
    - std::make_shared<cryptofuzz::module::sjcl>
    - std::make_shared<cryptofuzz::module::k256>
    - std::make_shared<cryptofuzz::module::OpenSSL>
    - std::make_shared<cryptofuzz::module::libgmp>
    - std::make_shared<cryptofuzz::module::crypto_js>
    - std::make_shared<cryptofuzz::module::noble_ed25519>
    - std::make_shared<cryptofuzz::module::Linux>
    - std::make_shared<cryptofuzz::module::secp256k1>
    - std::make_shared<cryptofuzz::module::py_ecc>
    - std::make_shared<cryptofuzz::module::Zig>
    - std::make_shared<cryptofuzz::module::NSS>
    - std::make_shared<cryptofuzz::module::pairing_ce>
    - std::make_shared<cryptofuzz::module::Nettle>
    - std::make_shared<cryptofuzz::module::circl>
    - std::make_shared<cryptofuzz::module::micro_ecc>
    - std::make_shared<cryptofuzz::module::libecc>
    - std::make_shared<cryptofuzz::module::arkworks_algebra>
    - std::make_shared<cryptofuzz::module::Golang>
    - std::make_shared<cryptofuzz::module::TF_PSA_Crypto>
    - std::make_shared<cryptofuzz::module::trezor_firmware>
    - std::make_shared<cryptofuzz::module::MicrosoftCalculator>
    - std::make_shared<cryptofuzz::module::Veracrypt>
    - std::make_shared<cryptofuzz::module::nimcrypto>
    - std::make_shared<cryptofuzz::module::faheel_BigInt>
    - std::make_shared<cryptofuzz::module::EverCrypt>
    - std::make_shared<cryptofuzz::module::Monero>
    - std::make_shared<cryptofuzz::module::ff>
    - std::make_shared<cryptofuzz::module::noble_curves>
    - std::make_shared<cryptofuzz::module::Kryptology>
    - std::make_shared<cryptofuzz::module::bn_js>
    - LoadModule
    - std::make_shared<cryptofuzz::module::cifra>
    - std::make_shared<cryptofuzz::module::spl_math>
    - std::make_shared<cryptofuzz::module::decred_uint256>
    - std::make_shared<cryptofuzz::module::Google_bn256>
    - std::make_shared<cryptofuzz::module::CPU>
    - std::make_shared<cryptofuzz::module::libgcrypt>
    - std::make_shared<cryptofuzz::module::polygon_zkevm_prover>
    - std::make_shared<cryptofuzz::module::elliptic>
    - std::make_shared<cryptofuzz::module::BearSSL>
    - std::make_shared<cryptofuzz::module::Cloudflare_bn256>
    - std::make_shared<cryptofuzz::module::Pornin_BinGCD>
    - std::make_shared<cryptofuzz::module::Google_Integers>
    - std::make_shared<cryptofuzz::module::blst>
    - std::make_shared<cryptofuzz::module::rustcrypto>
    - std::make_shared<cryptofuzz::module::intx>
    - std::make_shared<cryptofuzz::module::Gnark_bn254>
    - std::make_shared<cryptofuzz::module::num_bigint>
    - std::make_shared<cryptofuzz::module::pasta_curves>
    - std::make_shared<cryptofuzz::module::BouncyCastle>
    - std::make_shared<cryptofuzz::module::libsodium>
    - std::make_shared<cryptofuzz::module::substrate_bn>
    - addNumbers
    - std::make_shared<cryptofuzz::module::Goldilocks>
    - std::make_shared<cryptofuzz::module::libdivide>
    - std::make_shared<cryptofuzz::module::noble_secp256k1>
    - std::make_shared<cryptofuzz::module::CryptoPP>
    - std::make_shared<cryptofuzz::module::uint128_t>
    - std::make_shared<cryptofuzz::module::rust_uint>
    - std::make_shared<cryptofuzz::module::mpdecimal>
    - std::make_shared<cryptofuzz::module::Ring>
    - std::make_shared<cryptofuzz::module::wide_integer>
    - std::make_shared<cryptofuzz::module::V8_embedded>
    - setOptions
    - std::make_shared<cryptofuzz::module::SolidityMath>
    - std::make_shared<cryptofuzz::module::Reference>
    - std::make_shared<cryptofuzz::module::bignumber_js>
    - std::make_shared<cryptofuzz::module::D>
    - std::make_shared<cryptofuzz::module::Constantine>
    - std::make_shared<cryptofuzz::module::kilic_bls12_381>
    - std::make_shared<cryptofuzz::module::_libff>
    - std::make_shared<cryptofuzz::module::Shamatar>
    - std::make_shared<cryptofuzz::module::aurora_engine_modexp>
    - std::make_shared<cryptofuzz::module::nim_bigints>
    - std::make_shared<cryptofuzz::module::schnorrkel>
    - std::make_shared<cryptofuzz::module::libtommath>
    - addDHParameters
    - std::make_shared<cryptofuzz::module::stint>
    - std::make_shared<cryptofuzz::module::holiman_uint256>
    - std::make_shared<cryptofuzz::module::schnorr_fun>
    - std::make_shared<cryptofuzz::module::Bitcoin>
    - std::make_shared<cryptofuzz::module::mcl>
    - std::make_shared<cryptofuzz::module::SymCrypt>
    - std::make_shared<cryptofuzz::module::Decred>
    - std::make_shared<cryptofuzz::module::bc>
    - std::make_shared<cryptofuzz::module::Aleo>
    - std::make_shared<cryptofuzz::module::chia_bls>
    - std::make_shared<cryptofuzz::module::jsbn>
    - std::make_shared<cryptofuzz::module::CPPCrypto>
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Run
      Src: /src/cryptofuzz/entry.cpp:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 984
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 984
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/cryptofuzz/entry.cpp
    functionUses: 1
    functionsReached:
    - Run
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:27,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:73,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:73,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:74,1
    - Dst: EC_POINT_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:74,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:75,1
    - Dst: BN_bin2bn
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:75,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:75,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:75,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:76,1
    - Dst: EC_POINT_set_compressed_coordinates_GFp
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:76,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:77,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:77,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:78,1
    - Dst: BN_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:78,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:79,1
    - Dst: BN_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:79,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:80,1
    - Dst: EC_POINT_get_affine_coordinates_GFp
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:80,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:81,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:81,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:82,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:82,1
    - Dst: std::string
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:84,1
    - Dst: std::string
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:84,1
    - Dst: EC_GROUP_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:86,1
    - Dst: EC_POINT_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:87,1
    - Dst: BN_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:88,1
    - Dst: BN_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:89,1
    - Dst: BN_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:90,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:91,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 3
    argNames:
    - data
    - compressed
    - tlsId
    argTypes:
    - std::vector<uint8_t>
    - bool
    - uint16_t
    constantsTouched: []
    func_position:
      end: 96
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 96
    functionName: cryptofuzz::ecc_diff_fuzzer_importer::decompressPoint
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 0
    functionsReached:
    - EC_POINT_clear_free
    - EC_POINT_new
    - BN_new
    - BN_bin2bn
    - EC_POINT_get_affine_coordinates_GFp
    - std::vector<uint8_t>::data
    - EC_POINT_is_on_curve
    - BN_bn2dec
    - std::vector<uint8_t>::size
    - EC_GROUP_new_by_curve_name
    - OPENSSL_free
    - std::string
    - CF_CHECK_NE
    - BN_clear_free
    - CF_ASSERT
    - EC_GROUP_clear_free
    - EC_POINT_set_compressed_coordinates_GFp
    linkageType: ''
    returnType: Point
    signature: "Point decompressPoint(\n        const std::vector<uint8_t> data,\n
      \       const bool compressed,\n        const uint16_t tlsId)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - tlsId
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 136
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 136
    functionName: cryptofuzz::ecc_diff_fuzzer_importer::bitlenFromTlsId
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitlenFromTlsId(const uint16_t tlsId)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numBits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: cryptofuzz::ecc_diff_fuzzer_importer::ecdf_byteceil
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ecdf_byteceil(const size_t numBits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - outDir
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Importer::ECC_Diff_Fuzzer_Importer
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Importer::ECC_Diff_Fuzzer_Importer(const std::string
      filename, const std::string outDir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:150,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:150,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Importer::LoadInput
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Importer::Run
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    - cryptofuzz::ECC_Diff_Fuzzer_Importer::LoadInput
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Importer::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ecc_diff_fuzzer_importer::bitlenFromTlsId
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:168,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_importer::ecdf_byteceil
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:174,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_importer::decompressPoint
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:188,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:189,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:190,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:191,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_importer::decompressPoint
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:199,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:200,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:201,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:202,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:210,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:210,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:218,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:221,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:224,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:227,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:230,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:233,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:236,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:239,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:242,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:245,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:248,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:251,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:261,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Importer::write
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:263,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:263,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:270,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Importer::write
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:272,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:272,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 274
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 274
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Importer::LoadInput
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECC_Point_Mul::Serialize
    - std::vector<uint8_t>::data
    - CF_ECC_CURVE
    - cryptofuzz::operation::ECC_Point_Add::Serialize
    - std::vector<uint8_t>
    - cryptofuzz::ECC_Diff_Fuzzer_Importer::write
    - CF_OPERATION
    - cryptofuzz::ecc_diff_fuzzer_importer::decompressPoint
    - cryptofuzz::ecc_diff_fuzzer_importer::ecdf_byteceil
    - cryptofuzz::ecc_diff_fuzzer_importer::bitlenFromTlsId
    - cryptofuzz::util::BinToDec
    - CF_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Importer::LoadInput(const std::vector<uint8_t>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:280,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:282,1
    - Dst: GetOut
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:282,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:285,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:285,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:288,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:288,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:291,1
    - Dst: std::string
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:294,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:294,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:294,1
    - Dst: fopen
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:295,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:295,1
    - Dst: fwrite
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:296,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:296,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:296,1
    - Dst: fclose
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - operation
    - ' dsOut2'
    argTypes:
    - uint64_t
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Importer::write
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 1
    functionsReached:
    - fuzzing::datasource::Datasource::GetOut
    - std::string::c_str
    - fwrite
    - std::vector<uint8_t>
    - fuzzing::datasource::Datasource::Put
    - fclose
    - std::string
    - fopen
    - GetOut
    - fuzzing::datasource::Datasource::PutData
    - CF_MODULE
    - cryptofuzz::util::SHA1
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Importer::write(const uint64_t operation, fuzzing::datasource::Datasource&
      dsOut2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: cryptofuzz::repository::IsCBC
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsCBC(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: cryptofuzz::repository::IsCCM
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsCCM(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: cryptofuzz::repository::IsCFB
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsCFB(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: cryptofuzz::repository::IsCTR
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsCTR(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: cryptofuzz::repository::IsECB
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsECB(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: cryptofuzz::repository::IsGCM
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsGCM(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: cryptofuzz::repository::IsOCB
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsOCB(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: cryptofuzz::repository::IsOFB
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsOFB(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: cryptofuzz::repository::IsXTS
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsXTS(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: cryptofuzz::repository::IsAEAD
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsAEAD(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: cryptofuzz::repository::IsWRAP
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsWRAP(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: cryptofuzz::repository::IsAES
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsAES(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: cryptofuzz::repository::DigestToString
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 22
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string DigestToString(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: cryptofuzz::repository::DigestFromString
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> DigestFromString(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: cryptofuzz::repository::CipherToString
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 6
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string CipherToString(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: cryptofuzz::repository::ECC_CurveToString
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 52
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_CurveToString(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: cryptofuzz::repository::ECC_CurveFromString
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> ECC_CurveFromString(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: cryptofuzz::repository::ECC_CurveToBits
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> ECC_CurveToBits(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: cryptofuzz::repository::ECC_CurveToPrime
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToPrime(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: cryptofuzz::repository::ECC_CurveToA
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToA(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: cryptofuzz::repository::ECC_CurveToB
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToB(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: cryptofuzz::repository::ECC_CurveToX
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToX(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: cryptofuzz::repository::ECC_CurveToY
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToY(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: cryptofuzz::repository::ECC_CurveToOrderMin1
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToOrderMin1(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: cryptofuzz::repository::ECC_CurveToOrder
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 2
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToOrder(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: cryptofuzz::repository::CalcOpToString
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 3
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string CalcOpToString(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: cryptofuzz::repository::CalcOpToNumParams
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: size_t
    signature: size_t CalcOpToNumParams(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: cryptofuzz::repository::DigestSize
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> DigestSize(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/z3.cpp:34,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/z3.cpp:35,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/z3.cpp:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: cryptofuzz::Z3::Solver::ParseInt
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - cryptofuzz::util::HexToDec
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string ParseInt(const std::string v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/cryptofuzz/z3.cpp:42,1
    - Dst: int_const
      Src: /src/cryptofuzz/z3.cpp:42,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/z3.cpp:42,1
    - Dst: emplace
      Src: /src/cryptofuzz/z3.cpp:44,1
    - Dst: bv_const
      Src: /src/cryptofuzz/z3.cpp:44,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/z3.cpp:44,1
    - Dst: at
      Src: /src/cryptofuzz/z3.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: '& AddDynamic(const std::string name, const bool bitvector = false)'
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::string::c_str
    - at
    - int_const
    - bv_const
    linkageType: ''
    returnType: z3::expr
    signature: z3::expr & AddDynamic(const std::string name, const bool bitvector
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:55,1
    - Dst: NotZero
      Src: /src/cryptofuzz/z3.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: '& AddDynamicDivisor(const std::string name)'
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - NotZero
    linkageType: ''
    returnType: z3::expr
    signature: z3::expr & AddDynamicDivisor(const std::string name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/cryptofuzz/z3.cpp:61,1
    - Dst: int_val
      Src: /src/cryptofuzz/z3.cpp:61,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/z3.cpp:61,1
    - Dst: emplace
      Src: /src/cryptofuzz/z3.cpp:63,1
    - Dst: bv_val
      Src: /src/cryptofuzz/z3.cpp:63,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/z3.cpp:63,1
    - Dst: at
      Src: /src/cryptofuzz/z3.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: '& AddStatic(const std::string name, const std::string value, const
      bool bitvector = false)'
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - int_val
    - emplace
    - std::string::c_str
    - at
    - bv_val
    linkageType: ''
    returnType: z3::expr
    signature: z3::expr & AddStatic(const std::string name, const std::string value,
      const bool bitvector = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/cryptofuzz/z3.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expr
    argTypes:
    - z3::expr
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: cryptofuzz::Z3::Solver::AddConstraint
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void AddConstraint(const z3::expr expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBool
      Src: /src/cryptofuzz/z3.cpp:72,1
    - Dst: emplace_back
      Src: /src/cryptofuzz/z3.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - expr
    argTypes:
    - z3::expr
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: cryptofuzz::Z3::Solver::AddOptionalConstraint
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - getBool
    linkageType: ''
    returnType: void
    signature: void AddOptionalConstraint(const z3::expr expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Z3::Solver::AddConstraint
      Src: /src/cryptofuzz/z3.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' expr'
    argTypes:
    - z3::expr
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: cryptofuzz::Z3::Solver::NotZero
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Z3::Solver::AddConstraint
    linkageType: ''
    returnType: void
    signature: void NotZero(const z3::expr& expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/cryptofuzz/z3.cpp:90,1
    - Dst: std::advance
      Src: /src/cryptofuzz/z3.cpp:91,1
    - Dst: PRNG
      Src: /src/cryptofuzz/z3.cpp:91,1
    - Dst: size
      Src: /src/cryptofuzz/z3.cpp:91,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:92,1
    - Dst: getBignum
      Src: /src/cryptofuzz/z3.cpp:92,1
    - Dst: at
      Src: /src/cryptofuzz/z3.cpp:93,1
    - Dst: cryptofuzz::Z3::Solver::AddConstraint
      Src: /src/cryptofuzz/z3.cpp:96,1
    - Dst: cryptofuzz::Z3::Solver::AddConstraint
      Src: /src/cryptofuzz/z3.cpp:98,1
    - Dst: cryptofuzz::Z3::Solver::AddConstraint
      Src: /src/cryptofuzz/z3.cpp:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: cryptofuzz::Z3::Solver::AddRandomConstraint
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - at
    - cbegin
    - getBignum
    - cryptofuzz::Z3::Solver::AddConstraint
    - AddStatic
    - size
    - std::advance
    linkageType: ''
    returnType: void
    signature: void AddRandomConstraint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: cryptofuzz::Z3::Solver::Solver
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Solver(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ~Solver()
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Solver()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/z3.cpp:107,1
    - Dst: cryptofuzz::Z3::Solver::AddRandomConstraint
      Src: /src/cryptofuzz/z3.cpp:112,1
    - Dst: cryptofuzz::Z3::Solver::AddRandomConstraint
      Src: /src/cryptofuzz/z3.cpp:113,1
    - Dst: z3::set_param
      Src: /src/cryptofuzz/z3.cpp:119,1
    - Dst: z3::params::set
      Src: /src/cryptofuzz/z3.cpp:121,1
    - Dst: static_cast<unsigned>
      Src: /src/cryptofuzz/z3.cpp:121,1
    - Dst: z3::solver::set
      Src: /src/cryptofuzz/z3.cpp:122,1
    - Dst: z3::solver::add
      Src: /src/cryptofuzz/z3.cpp:127,1
    - Dst: z3::solver::check
      Src: /src/cryptofuzz/z3.cpp:130,1
    - Dst: z3::solver::get_model
      Src: /src/cryptofuzz/z3.cpp:134,1
    - Dst: z3::model::size
      Src: /src/cryptofuzz/z3.cpp:136,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/z3.cpp:137,1
    - Dst: z3::func_decl::name
      Src: /src/cryptofuzz/z3.cpp:138,1
    - Dst: cryptofuzz::Z3::Solver::ParseInt
      Src: /src/cryptofuzz/z3.cpp:141,1
    - Dst: z3::model::get_const_interp
      Src: /src/cryptofuzz/z3.cpp:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 148
    functionName: cryptofuzz::Z3::Solver::Solve
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - z3::model::get_const_interp
    - z3::func_decl::name
    - z3::solver::set
    - z3::params::set
    - assert
    - z3::solver::add
    - z3::solver::check
    - z3::solver::get_model
    - z3::model::size
    - cryptofuzz::Z3::Solver::AddRandomConstraint
    - static_cast<int>
    - cryptofuzz::Z3::Solver::ParseInt
    - z3::set_param
    - static_cast<unsigned>
    linkageType: ''
    returnType: std::optional<std::map<std::string, std::string>>
    signature: std::optional<std::map<std::string, std::string>> Solve(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:155,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:156,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:157,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: cryptofuzz::Z3::Add::Add
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Add(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:165,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:166,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:167,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:168,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:169,1
    - Dst: AddOptionalConstraint
      Src: /src/cryptofuzz/z3.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: cryptofuzz::Z3::AddMod::AddMod
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddConstraint
    - AddOptionalConstraint
    - AddDynamicDivisor
    - AddStatic
    - AddDynamic
    linkageType: ''
    returnType: void
    signature: void AddMod(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:177,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:178,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:179,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:180,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: cryptofuzz::Z3::AddMul::AddMul
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void AddMul(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:188,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:189,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:190,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: cryptofuzz::Z3::Sub::Sub
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Sub(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:198,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:199,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:200,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:201,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:202,1
    - Dst: AddOptionalConstraint
      Src: /src/cryptofuzz/z3.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: cryptofuzz::Z3::SubMod::SubMod
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddConstraint
    - AddOptionalConstraint
    - AddDynamicDivisor
    - AddStatic
    - AddDynamic
    linkageType: ''
    returnType: void
    signature: void SubMod(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:210,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:211,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:212,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:213,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: cryptofuzz::Z3::SubMul::SubMul
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void SubMul(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:221,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:222,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:223,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:224,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:225,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: cryptofuzz::Z3::Mul::Mul
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Mul(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:233,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:234,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:235,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:236,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: cryptofuzz::Z3::MulMod::MulMod
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddConstraint
    - AddDynamic
    - AddStatic
    - AddDynamicDivisor
    linkageType: ''
    returnType: void
    signature: void MulMod(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:245,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:246,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:247,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:248,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: cryptofuzz::Z3::MulAdd::MulAdd
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void MulAdd(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:256,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:257,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:258,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:259,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: cryptofuzz::Z3::Div::Div
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddConstraint
    - AddDynamic
    - AddStatic
    - AddDynamicDivisor
    linkageType: ''
    returnType: void
    signature: void Div(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:267,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:268,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:269,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:270,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:271,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:272,1
    - Dst: AddOptionalConstraint
      Src: /src/cryptofuzz/z3.cpp:273,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: cryptofuzz::Z3::MulDiv::MulDiv
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddConstraint
    - AddOptionalConstraint
    - AddDynamicDivisor
    - AddStatic
    - AddDynamic
    linkageType: ''
    returnType: void
    signature: void MulDiv(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:282,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:283,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:284,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:285,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 287
    functionName: cryptofuzz::Z3::Mod::Mod
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddConstraint
    - AddDynamic
    - AddStatic
    - AddDynamicDivisor
    linkageType: ''
    returnType: void
    signature: void Mod(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:293,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:294,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:295,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:296,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - mod
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: cryptofuzz::Z3::ModFixed::ModFixed
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void ModFixed(const std::string r, const std::string mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: cryptofuzz::Z3::Mod_NIST_192::Mod_NIST_192
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_NIST_192(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: cryptofuzz::Z3::Mod_NIST_224::Mod_NIST_224
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_NIST_224(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: cryptofuzz::Z3::Mod_NIST_256::Mod_NIST_256
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_NIST_256(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: cryptofuzz::Z3::Mod_NIST_384::Mod_NIST_384
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_NIST_384(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: cryptofuzz::Z3::Mod_NIST_521::Mod_NIST_521
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_NIST_521(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:334,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:335,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: cryptofuzz::Z3::Sqr::Sqr
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Sqr(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:343,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:344,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:345,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:346,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: cryptofuzz::Z3::Sqrt::Sqrt
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Sqrt(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:354,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:355,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:356,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:357,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: cryptofuzz::Z3::SqrtRem::SqrtRem
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void SqrtRem(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:365,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:366,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:367,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:368,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: cryptofuzz::Z3::CbrtRem::CbrtRem
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void CbrtRem(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:376,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:377,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:378,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: cryptofuzz::Z3::SqrMod::SqrMod
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddConstraint
    - AddDynamic
    - AddStatic
    - AddDynamicDivisor
    linkageType: ''
    returnType: void
    signature: void SqrMod(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:386,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:387,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:388,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: cryptofuzz::Z3::Or::Or
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Or(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:396,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:397,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:398,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: cryptofuzz::Z3::Xor::Xor
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Xor(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:406,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:407,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:408,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: cryptofuzz::Z3::And::And
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void And(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:416,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:417,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:418,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:419,1
    - Dst: z3::ashr
      Src: /src/cryptofuzz/z3.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: cryptofuzz::Z3::RShift::RShift
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - z3::ashr
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void RShift(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:426,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:427,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:428,1
    - Dst: Botan::Serpent_F::shl
      Src: /src/cryptofuzz/z3.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: cryptofuzz::Z3::LShift1::LShift1
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - Botan::Serpent_F::shl
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void LShift1(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:435,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:436,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:437,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:438,1
    - Dst: Botan::Serpent_F::shl
      Src: /src/cryptofuzz/z3.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: cryptofuzz::Z3::SetBit::SetBit
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddDynamic
    - AddStatic
    - Botan::Serpent_F::shl
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void SetBit(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/z3.cpp:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: cryptofuzz::Z3::is_negative
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool is_negative(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::Solve
      Src: /src/cryptofuzz/z3.cpp:449,1
    - Dst: auto::at
      Src: /src/cryptofuzz/z3.cpp:466,1
    - Dst: cryptofuzz::Z3::is_negative
      Src: /src/cryptofuzz/z3.cpp:467,1
    - Dst: auto::at
      Src: /src/cryptofuzz/z3.cpp:473,1
    - Dst: cryptofuzz::Z3::is_negative
      Src: /src/cryptofuzz/z3.cpp:474,1
    - Dst: auto::at
      Src: /src/cryptofuzz/z3.cpp:480,1
    - Dst: cryptofuzz::Z3::is_negative
      Src: /src/cryptofuzz/z3.cpp:481,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/z3.cpp:488,1
    - Dst: auto::at
      Src: /src/cryptofuzz/z3.cpp:491,1
    - Dst: auto::at
      Src: /src/cryptofuzz/z3.cpp:494,1
    - Dst: auto::at
      Src: /src/cryptofuzz/z3.cpp:497,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 504
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 504
    functionName: cryptofuzz::Z3::invoke
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::CalcOpToString
    - cryptofuzz::Z3::is_negative
    - T::Solve
    - auto::at
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> invoke(const std::string result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/z3.cpp:508,1
    - Dst: getBool
      Src: /src/cryptofuzz/z3.cpp:509,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/z3.cpp:512,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/z3.cpp:514,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:523,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:523,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:524,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:524,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:525,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:525,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:526,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:526,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:527,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:527,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:528,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:528,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:529,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:529,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:530,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:530,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:531,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:531,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:532,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:532,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:533,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:533,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:534,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:534,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:535,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:535,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:536,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:536,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:537,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:537,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:538,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:538,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:539,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:539,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:540,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:540,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:542,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:542,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:543,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:543,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:544,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:544,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:545,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:545,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:546,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:546,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:547,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:547,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:548,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:548,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:549,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:549,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:550,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:550,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:551,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - calcop
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 555
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 555
    functionName: cryptofuzz::Z3::Generate
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 1
    functionsReached:
    - INVOKE
    - PRNG
    - boost::multiprecision::cpp_int::str
    - getBool
    - std::string::size
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Generate(const uint64_t calcop)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/options.cpp:19,1
    - Dst: cryptofuzz::EnabledTypes::HaveExplicit
      Src: /src/cryptofuzz/options.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: cryptofuzz::EnabledTypes::Have
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::EnabledTypes::HaveExplicit
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EnabledTypes::Have(const uint64_t id) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cryptofuzz/options.cpp:23,1
    - Dst: end
      Src: /src/cryptofuzz/options.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: cryptofuzz::EnabledTypes::HaveExplicit
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool EnabledTypes::HaveExplicit(const uint64_t id) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/cryptofuzz/options.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: cryptofuzz::EnabledTypes::Add
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void EnabledTypes::Add(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/options.cpp:31,1
    - Dst: cryptofuzz::EnabledTypes::Empty
      Src: /src/cryptofuzz/options.cpp:31,1
    - Dst: begin
      Src: /src/cryptofuzz/options.cpp:33,1
    - Dst: std::advance
      Src: /src/cryptofuzz/options.cpp:34,1
    - Dst: size
      Src: /src/cryptofuzz/options.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: cryptofuzz::EnabledTypes::At
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::EnabledTypes::Empty
    - size
    - CF_ASSERT
    - begin
    - std::advance
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t EnabledTypes::At(const size_t index) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/options.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: cryptofuzz::EnabledTypes::Empty
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 1
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EnabledTypes::Empty(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:45,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:45,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:46,1
    - Dst: printf
      Src: /src/cryptofuzz/options.cpp:47,1
    - Dst: abort
      Src: /src/cryptofuzz/options.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - calcOp
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: cryptofuzz::Options::calcOpToBase
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - abort
    - cryptofuzz::module::mcl_detail::split
    - Botan::CT::Mask::is_any_of
    - printf
    linkageType: ''
    returnType: std::string
    signature: std::string Options::calcOpToBase(const std::string calcOp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/options.cpp:55,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:55,1
    - Dst: insert
      Src: /src/cryptofuzz/options.cpp:58,1
    - Dst: end
      Src: /src/cryptofuzz/options.cpp:58,1
    - Dst: std::vector<std::string>::begin
      Src: /src/cryptofuzz/options.cpp:58,1
    - Dst: std::vector<std::string>::end
      Src: /src/cryptofuzz/options.cpp:58,1
    - Dst: size
      Src: /src/cryptofuzz/options.cpp:60,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:63,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:63,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:67,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:68,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:70,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:74,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:74,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:79,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:79,1
    - Dst: cryptofuzz::Options::operations::Add
      Src: /src/cryptofuzz/options.cpp:80,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:88,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:91,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:92,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:94,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:98,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:98,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:103,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:103,1
    - Dst: cryptofuzz::Options::ciphers::Add
      Src: /src/cryptofuzz/options.cpp:104,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:112,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:115,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:116,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:118,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:122,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:122,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:127,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:127,1
    - Dst: cryptofuzz::Options::digests::Add
      Src: /src/cryptofuzz/options.cpp:128,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:136,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:139,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:140,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:142,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:146,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:146,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:151,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:151,1
    - Dst: cryptofuzz::Options::curves::Add
      Src: /src/cryptofuzz/options.cpp:152,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:160,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:163,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:164,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:166,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:174,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:174,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:183,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:187,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:188,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:190,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:194,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:194,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:199,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:199,1
    - Dst: cryptofuzz::Options::disableModules::Add
      Src: /src/cryptofuzz/options.cpp:200,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:208,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:211,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:212,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:214,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:218,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:218,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:223,1
    - Dst: cryptofuzz::Options::calcOpToBase
      Src: /src/cryptofuzz/options.cpp:223,1
    - Dst: cryptofuzz::Options::calcOps::Add
      Src: /src/cryptofuzz/options.cpp:224,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:232,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:235,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:236,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:238,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:245,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/options.cpp:248,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:249,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:250,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:252,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:255,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:256,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:258,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:261,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:262,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:264,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:267,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:268,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:270,1
    - Dst: fopen
      Src: /src/cryptofuzz/options.cpp:275,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/options.cpp:275,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:278,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:281,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:282,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:284,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:288,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:288,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:290,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:292,1
    - Dst: Wycheproof::Run
      Src: /src/cryptofuzz/options.cpp:296,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:298,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:300,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:301,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:303,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:307,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:307,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:309,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:311,1
    - Dst: ECC_Diff_Fuzzer_Importer::Run
      Src: /src/cryptofuzz/options.cpp:315,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:317,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:320,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:321,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:323,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:327,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:327,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:329,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:331,1
    - Dst: ECC_Diff_Fuzzer_Exporter::Run
      Src: /src/cryptofuzz/options.cpp:335,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:337,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:339,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:340,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:342,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:346,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:346,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:348,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:350,1
    - Dst: cryptofuzz::repository::ECC_CurveFromString
      Src: /src/cryptofuzz/options.cpp:353,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/options.cpp:354,1
    - Dst: Botan_Importer::Run
      Src: /src/cryptofuzz/options.cpp:357,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:359,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:360,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:361,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:363,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:367,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:367,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:369,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:371,1
    - Dst: OpenSSL_Importer::Run
      Src: /src/cryptofuzz/options.cpp:375,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:377,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:378,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:379,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:381,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:385,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:385,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:387,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:389,1
    - Dst: Builtin_tests_importer::Run
      Src: /src/cryptofuzz/options.cpp:393,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:395,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:396,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:397,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:399,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/options.cpp:403,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:403,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:405,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:407,1
    - Dst: Bignum_Fuzzer_Importer::Run
      Src: /src/cryptofuzz/options.cpp:411,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:413,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 278
    argCount: 3
    argNames:
    - argc
    - argv
    - extraArguments
    argTypes:
    - int
    - char**
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 416
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 416
    functionName: cryptofuzz::Options::Options
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 0
    functionsReached:
    - ECC_Diff_Fuzzer_Importer::Run
    - end
    - boost::iequals
    - std::string
    - std::vector<std::string>::begin
    - cryptofuzz::Options::operations::Add
    - CF_ASSERT
    - cryptofuzz::Options::curves::Add
    - cryptofuzz::repository::ECC_CurveFromString
    - cryptofuzz::module::mcl_detail::split
    - insert
    - Wycheproof::Run
    - fopen
    - Botan::CT::Mask::is_any_of
    - cryptofuzz::Options::ciphers::Add
    - std::vector::size
    - OpenSSL_Importer::Run
    - std::vector<std::string>::end
    - Botan_Importer::Run
    - Builtin_tests_importer::Run
    - exit
    - cryptofuzz::Options::disableModules::Add
    - auto::c_str
    - cryptofuzz::Options::digests::Add
    - std::vector::empty
    - ECC_Diff_Fuzzer_Exporter::Run
    - cryptofuzz::Options::calcOpToBase
    - Bignum_Fuzzer_Importer::Run
    - static_cast<size_t>
    - cryptofuzz::Options::calcOps::Add
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void Options::Options(const int argc, char** argv, const std::vector<std::string>
      extraArguments)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cryptofuzz/generate_dict.cpp:13,1
    - Dst: fprintf
      Src: /src/cryptofuzz/generate_dict.cpp:15,1
    - Dst: fprintf
      Src: /src/cryptofuzz/generate_dict.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fp
    - val
    argTypes:
    - FILE*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: write
    functionSourceFile: /src/cryptofuzz/generate_dict.cpp
    functionUses: 15
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write(FILE* fp, uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cryptofuzz/generate_dict.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - ' map'
    argTypes:
    - FILE*
    - T
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: writeMap
    functionSourceFile: /src/cryptofuzz/generate_dict.cpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void writeMap(FILE* fp, const T& map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/generate_dict.cpp:30,1
    - Dst: abort
      Src: /src/cryptofuzz/generate_dict.cpp:31,1
    - Dst: std::setfill
      Src: /src/cryptofuzz/generate_dict.cpp:40,1
    - Dst: std::setw
      Src: /src/cryptofuzz/generate_dict.cpp:40,1
    - Dst: fprintf
      Src: /src/cryptofuzz/generate_dict.cpp:48,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/generate_dict.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - fp
    - size
    argTypes:
    - FILE*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: writeBuffer
    functionSourceFile: /src/cryptofuzz/generate_dict.cpp
    functionUses: 0
    functionsReached:
    - std::setw
    - abort
    - std::stringstream::str
    - fprintf
    - std::setfill
    - printf
    linkageType: ''
    returnType: void
    signature: void writeBuffer(FILE* fp, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/generate_dict.cpp:55,1
    - Dst: writeMap
      Src: /src/cryptofuzz/generate_dict.cpp:57,1
    - Dst: writeMap
      Src: /src/cryptofuzz/generate_dict.cpp:58,1
    - Dst: writeMap
      Src: /src/cryptofuzz/generate_dict.cpp:59,1
    - Dst: writeMap
      Src: /src/cryptofuzz/generate_dict.cpp:60,1
    - Dst: writeMap
      Src: /src/cryptofuzz/generate_dict.cpp:61,1
    - Dst: writeMap
      Src: /src/cryptofuzz/generate_dict.cpp:62,1
    - Dst: writeBuffer
      Src: /src/cryptofuzz/generate_dict.cpp:67,1
    - Dst: fclose
      Src: /src/cryptofuzz/generate_dict.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/cryptofuzz/generate_dict.cpp
    functionUses: 0
    functionsReached:
    - fopen
    - writeMap
    - writeBuffer
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:13,1
    - Dst: cryptofuzz::util::abort
      Src: /src/cryptofuzz/tests.cpp:15,1
    - Dst: Name
      Src: /src/cryptofuzz/tests.cpp:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - OperationType
    - ResultType
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: cryptofuzz::tests::verifyKeySize
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::abort
    - Name
    - GetSize
    linkageType: ''
    returnType: void
    signature: void verifyKeySize(const OperationType& op, const ResultType& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:24,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:25,1
    - Dst: Get
      Src: /src/cryptofuzz/tests.cpp:26,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:27,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - std::optional<Buffer>
    constantsTouched: []
    func_position:
      end: 31
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 31
    functionName: cryptofuzz::tests::checkZeroResult
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - abort
    - Get
    - printf
    - GetSize
    linkageType: ''
    returnType: void
    signature: void checkZeroResult(const std::optional<Buffer>& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestSize
      Src: /src/cryptofuzz/tests.cpp:39,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/tests.cpp:39,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:42,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:43,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:43,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:44,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/tests.cpp:50,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/tests.cpp:50,1
    - Dst: Get
      Src: /src/cryptofuzz/tests.cpp:132,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:132,1
    - Dst: cryptofuzz::tests::checkZeroResult
      Src: /src/cryptofuzz/tests.cpp:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::Digest
    - std::optional<component::Digest>
    constantsTouched: []
    func_position:
      end: 138
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 138
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::checkZeroResult
    - digestType::Get
    - digestType::Is
    - abort
    - cryptofuzz::repository::DigestSize
    - CF_DIGEST
    - Get
    - printf
    - GetSize
    linkageType: ''
    returnType: void
    signature: void test(const operation::Digest& op, const std::optional<component::Digest>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestSize
      Src: /src/cryptofuzz/tests.cpp:146,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/tests.cpp:146,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:149,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:150,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:150,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:151,1
    - Dst: cryptofuzz::tests::checkZeroResult
      Src: /src/cryptofuzz/tests.cpp:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::HMAC
    - std::optional<component::MAC>
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::checkZeroResult
    - digestType::Get
    - abort
    - cryptofuzz::repository::DigestSize
    - printf
    - GetSize
    linkageType: ''
    returnType: void
    signature: void test(const operation::HMAC& op, const std::optional<component::MAC>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:165,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:166,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:167,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:168,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:170,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:170,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::UMAC
    - std::optional<component::MAC>
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - abort
    - printf
    - GetSize
    linkageType: ''
    returnType: void
    signature: void test(const operation::UMAC& op, const std::optional<component::MAC>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/tests.cpp:183,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:183,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/tests.cpp:191,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SymmetricEncrypt
    - std::optional<component::Ciphertext>
    constantsTouched: []
    func_position:
      end: 194
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 194
    functionName: cryptofuzz::tests::test_ChaCha20_Poly1305_IV
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    - cipher::cipherType::Get
    - cipher::iv::GetSize
    - abort
    linkageType: ''
    returnType: void
    signature: void test_ChaCha20_Poly1305_IV(const operation::SymmetricEncrypt& op,
      const std::optional<component::Ciphertext>& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/tests.cpp:199,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:199,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/tests.cpp:207,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:208,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/tests.cpp:208,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SymmetricEncrypt
    - std::optional<component::Ciphertext>
    constantsTouched: []
    func_position:
      end: 211
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 211
    functionName: cryptofuzz::tests::test_XChaCha20_Poly1305_IV
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - abort
    - cipher::iv::GetSize
    - CF_CIPHER
    - printf
    linkageType: ''
    returnType: void
    signature: void test_XChaCha20_Poly1305_IV(const operation::SymmetricEncrypt&
      op, const std::optional<component::Ciphertext>& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/tests.cpp:220,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:221,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:222,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:223,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/tests.cpp:229,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/tests.cpp:229,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:230,1
    - Dst: find
      Src: /src/cryptofuzz/tests.cpp:237,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/tests.cpp:237,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/tests.cpp:237,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/tests.cpp:237,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/tests.cpp:237,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:238,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:244,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SymmetricEncrypt
    - std::optional<component::Ciphertext>
    constantsTouched: []
    func_position:
      end: 247
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 247
    functionName: cryptofuzz::tests::test_AES_CCM_Wycheproof
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - tag::GetSize
    - cipher::cipherType::Get
    - abort
    - cipher::iv::GetSize
    - std::vector::begin
    - CF_CIPHER
    - find
    - printf
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void test_AES_CCM_Wycheproof(const operation::SymmetricEncrypt& op,
      const std::optional<component::Ciphertext>& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/tests.cpp:256,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:257,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:258,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:259,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/tests.cpp:265,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:266,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:271,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SymmetricEncrypt
    - std::optional<component::Ciphertext>
    constantsTouched: []
    func_position:
      end: 274
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 274
    functionName: cryptofuzz::tests::test_AES_GCM_Wycheproof
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - abort
    - cipher::iv::GetSize
    - CF_CIPHER
    - printf
    linkageType: ''
    returnType: void
    signature: void test_AES_GCM_Wycheproof(const operation::SymmetricEncrypt& op,
      const std::optional<component::Ciphertext>& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ChaCha20_Poly1305_IV
      Src: /src/cryptofuzz/tests.cpp:277,1
    - Dst: cryptofuzz::tests::test_XChaCha20_Poly1305_IV
      Src: /src/cryptofuzz/tests.cpp:278,1
    - Dst: cryptofuzz::tests::test_AES_CCM_Wycheproof
      Src: /src/cryptofuzz/tests.cpp:279,1
    - Dst: cryptofuzz::tests::test_AES_GCM_Wycheproof
      Src: /src/cryptofuzz/tests.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SymmetricEncrypt
    - std::optional<component::Ciphertext>
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::test_ChaCha20_Poly1305_IV
    - cryptofuzz::tests::test_AES_CCM_Wycheproof
    - cryptofuzz::tests::test_XChaCha20_Poly1305_IV
    - cryptofuzz::tests::test_AES_GCM_Wycheproof
    linkageType: ''
    returnType: void
    signature: void test(const operation::SymmetricEncrypt& op, const std::optional<component::Ciphertext>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SymmetricDecrypt
    - std::optional<component::Cleartext>
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::SymmetricDecrypt& op, const std::optional<component::Cleartext>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::CMAC
    - std::optional<component::MAC>
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::CMAC& op, const std::optional<component::MAC>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_SCRYPT
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_SCRYPT& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestSize
      Src: /src/cryptofuzz/tests.cpp:302,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/tests.cpp:302,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:310,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:311,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:311,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_HKDF
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 314
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 314
    functionName: cryptofuzz::tests::test_HKDF_OutputSize
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - abort
    - cryptofuzz::repository::DigestSize
    - printf
    - GetSize
    linkageType: ''
    returnType: void
    signature: void test_HKDF_OutputSize(const operation::KDF_HKDF& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:317,1
    - Dst: cryptofuzz::tests::test_HKDF_OutputSize
      Src: /src/cryptofuzz/tests.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_HKDF
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    - cryptofuzz::tests::test_HKDF_OutputSize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_HKDF& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_TLS1_PRF
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_TLS1_PRF& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_PBKDF
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_PBKDF& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_PBKDF1
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_PBKDF1& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_PBKDF2
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_PBKDF2& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_ARGON2
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_ARGON2& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_SSH
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_SSH& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_X963
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_X963& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_BCRYPT
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_BCRYPT& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_SP_800_108
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_SP_800_108& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_SRTP
    - std::optional<component::Key3>
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_SRTP& op, const std::optional<component::Key3>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_SRTCP
    - std::optional<component::Key3>
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_SRTCP& op, const std::optional<component::Key3>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/tests.cpp:370,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/tests.cpp:371,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/tests.cpp:372,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/tests.cpp:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - curveID
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: cryptofuzz::tests::IsSpecialCurve
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    linkageType: ''
    returnType: bool
    signature: bool IsSpecialCurve(const uint64_t curveID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::IsSpecialCurve
      Src: /src/cryptofuzz/tests.cpp:385,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - curveID
    - priv
    argTypes:
    - uint64_t
    - std::string
    constantsTouched: []
    func_position:
      end: 393
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 393
    functionName: cryptofuzz::tests::test_ECC_PrivateKey
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::tests::IsSpecialCurve
    linkageType: ''
    returnType: void
    signature: void test_ECC_PrivateKey(const uint64_t curveID, const std::string
      priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/tests.cpp:398,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:398,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_PrivateToPublic
    - std::optional<component::ECC_PublicKey>
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::test_ECC_PrivateKey
    - priv::ToTrimmedString
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_PrivateToPublic& op, const std::optional<component::ECC_PublicKey>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_ValidatePubkey
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_ValidatePubkey& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/tests.cpp:409,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:409,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_GenerateKeyPair
    - std::optional<component::ECC_KeyPair>
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::test_ECC_PrivateKey
    - priv::ToTrimmedString
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_GenerateKeyPair& op, const std::optional<component::ECC_KeyPair>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::IsSpecialCurve
      Src: /src/cryptofuzz/tests.cpp:414,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:422,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:426,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/tests.cpp:429,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:438,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - curveID
    - R
    - S
    argTypes:
    - uint64_t
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 445
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 445
    functionName: cryptofuzz::tests::test_ECDSA_Signature
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::repository::ECC_CurveToOrder
    - cryptofuzz::tests::IsSpecialCurve
    linkageType: ''
    returnType: void
    signature: void test_ECDSA_Signature(const uint64_t curveID, const std::string
      R, const std::string S)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:452,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:456,1
    - Dst: cryptofuzz::repository::ECC_CurveToPrime
      Src: /src/cryptofuzz/tests.cpp:459,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/tests.cpp:462,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/tests.cpp:465,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/tests.cpp:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - curveID
    - R
    - S
    argTypes:
    - uint64_t
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 470
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 470
    functionName: cryptofuzz::tests::test_BIP340_Schnorr_Signature
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::repository::ECC_CurveToPrime
    - cryptofuzz::repository::ECC_CurveToOrder
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_BIP340_Schnorr_Signature(const uint64_t curveID, const std::string
      R, const std::string S)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECCSI_Sign
    - std::optional<component::ECCSI_Signature>
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECCSI_Sign& op, const std::optional<component::ECCSI_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/tests.cpp:478,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:478,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:478,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/tests.cpp:481,1
    - Dst: cryptofuzz::tests::IsSpecialCurve
      Src: /src/cryptofuzz/tests.cpp:482,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:482,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:483,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:486,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:489,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:489,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:490,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECDSA_Sign
    - std::optional<component::ECDSA_Signature>
    constantsTouched: []
    func_position:
      end: 493
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 493
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::tests::IsSpecialCurve
    - signature::second::ToTrimmedString
    - cryptofuzz::tests::test_ECC_PrivateKey
    - UseSpecifiedNonce
    - nonce::ToTrimmedString
    - signature::first::ToTrimmedString
    - priv::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECDSA_Sign& op, const std::optional<component::ECDSA_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/tests.cpp:497,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:497,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:497,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/tests.cpp:500,1
    - Dst: cryptofuzz::tests::IsSpecialCurve
      Src: /src/cryptofuzz/tests.cpp:501,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:501,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:502,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:505,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:508,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:508,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:509,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECGDSA_Sign
    - std::optional<component::ECGDSA_Signature>
    constantsTouched: []
    func_position:
      end: 512
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 512
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::tests::IsSpecialCurve
    - signature::second::ToTrimmedString
    - cryptofuzz::tests::test_ECC_PrivateKey
    - UseSpecifiedNonce
    - nonce::ToTrimmedString
    - signature::first::ToTrimmedString
    - priv::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECGDSA_Sign& op, const std::optional<component::ECGDSA_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/tests.cpp:516,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:516,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:516,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/tests.cpp:519,1
    - Dst: cryptofuzz::tests::IsSpecialCurve
      Src: /src/cryptofuzz/tests.cpp:520,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:520,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:521,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:524,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:527,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:527,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:528,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECRDSA_Sign
    - std::optional<component::ECRDSA_Signature>
    constantsTouched: []
    func_position:
      end: 531
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 531
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::tests::IsSpecialCurve
    - signature::second::ToTrimmedString
    - cryptofuzz::tests::test_ECC_PrivateKey
    - UseSpecifiedNonce
    - nonce::ToTrimmedString
    - signature::first::ToTrimmedString
    - priv::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECRDSA_Sign& op, const std::optional<component::ECRDSA_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/tests.cpp:535,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:535,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:535,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/tests.cpp:538,1
    - Dst: cryptofuzz::tests::IsSpecialCurve
      Src: /src/cryptofuzz/tests.cpp:539,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:539,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:540,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:543,1
    - Dst: cryptofuzz::tests::test_BIP340_Schnorr_Signature
      Src: /src/cryptofuzz/tests.cpp:546,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:546,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:547,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::Schnorr_Sign
    - std::optional<component::Schnorr_Signature>
    constantsTouched: []
    func_position:
      end: 550
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 550
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::tests::IsSpecialCurve
    - signature::second::ToTrimmedString
    - cryptofuzz::tests::test_ECC_PrivateKey
    - UseSpecifiedNonce
    - nonce::ToTrimmedString
    - cryptofuzz::tests::test_BIP340_Schnorr_Signature
    - signature::first::ToTrimmedString
    - priv::ToTrimmedString
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void test(const operation::Schnorr_Sign& op, const std::optional<component::Schnorr_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECCSI_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECCSI_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:559,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:559,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:560,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECDSA_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 563
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 563
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - curveType::Get
    - signature::signature::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECDSA_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:567,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:567,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:568,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECGDSA_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 571
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 571
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - curveType::Get
    - signature::signature::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECGDSA_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:575,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:575,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:576,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECRDSA_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - curveType::Get
    - signature::signature::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECRDSA_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_BIP340_Schnorr_Signature
      Src: /src/cryptofuzz/tests.cpp:583,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:583,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:584,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::Schnorr_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 587
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 587
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToTrimmedString
    - cryptofuzz::tests::test_BIP340_Schnorr_Signature
    - curveType::Get
    - signature::signature::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void test(const operation::Schnorr_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:593,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:597,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:597,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:598,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECDSA_Recover
    - std::optional<component::ECC_PublicKey>
    constantsTouched: []
    func_position:
      end: 601
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 601
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - signature::second::ToTrimmedString
    - signature::first::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECDSA_Recover& op, const std::optional<component::ECC_PublicKey>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature::first::IsPositive
      Src: /src/cryptofuzz/tests.cpp:610,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:612,1
    - Dst: signature::second::IsPositive
      Src: /src/cryptofuzz/tests.cpp:614,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:616,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:620,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:620,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:622,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:625,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:625,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DSA_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 629
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 629
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - signature::first::IsPositive
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - signature::second::IsPositive
    - signature::second::ToTrimmedString
    - parameters::q::ToTrimmedString
    - signature::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void test(const operation::DSA_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature::first::IsPositive
      Src: /src/cryptofuzz/tests.cpp:636,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:638,1
    - Dst: signature::second::IsPositive
      Src: /src/cryptofuzz/tests.cpp:640,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:642,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:646,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:646,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:648,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:651,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:651,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:653,1
    - Dst: signature::first::IsPositive
      Src: /src/cryptofuzz/tests.cpp:657,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:659,1
    - Dst: signature::second::IsPositive
      Src: /src/cryptofuzz/tests.cpp:662,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:664,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DSA_Sign
    - std::optional<component::DSA_Signature>
    constantsTouched: []
    func_position:
      end: 666
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 666
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - signature::first::IsPositive
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - signature::second::IsPositive
    - signature::second::ToTrimmedString
    - parameters::q::ToTrimmedString
    - signature::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void test(const operation::DSA_Sign& op, const std::optional<component::DSA_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/tests.cpp:669,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - num
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 682
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 682
    functionName: cryptofuzz::tests::isComposite
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool isComposite(const std::string &num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::IsPositive
      Src: /src/cryptofuzz/tests.cpp:693,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:695,1
    - Dst: q::IsPositive
      Src: /src/cryptofuzz/tests.cpp:697,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:699,1
    - Dst: g::IsPositive
      Src: /src/cryptofuzz/tests.cpp:701,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:703,1
    - Dst: q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:707,1
    - Dst: p::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:707,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:709,1
    - Dst: q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:713,1
    - Dst: p::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:713,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:715,1
    - Dst: p::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:719,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:721,1
    - Dst: cryptofuzz::tests::isComposite
      Src: /src/cryptofuzz/tests.cpp:725,1
    - Dst: p::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:725,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:727,1
    - Dst: cryptofuzz::tests::isComposite
      Src: /src/cryptofuzz/tests.cpp:730,1
    - Dst: q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:730,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:732,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DSA_GenerateParameters
    - std::optional<component::DSA_Parameters>
    constantsTouched: []
    func_position:
      end: 734
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 734
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::tests::isComposite
    - q::IsPositive
    - q::ToTrimmedString
    - p::ToTrimmedString
    - g::IsPositive
    - p::IsPositive
    linkageType: ''
    returnType: void
    signature: void test(const operation::DSA_GenerateParameters& op, const std::optional<component::DSA_Parameters>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DSA_PrivateToPublic
    - std::optional<component::Bignum>
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::DSA_PrivateToPublic& op, const std::optional<component::Bignum>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::IsPositive
      Src: /src/cryptofuzz/tests.cpp:746,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:748,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:752,1
    - Dst: q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:752,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DSA_GenerateKeyPair
    - std::optional<component::DSA_KeyPair>
    constantsTouched: []
    func_position:
      end: 756
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 756
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - q::ToTrimmedString
    - first::ToTrimmedString
    - first::IsPositive
    linkageType: ''
    returnType: void
    signature: void test(const operation::DSA_GenerateKeyPair& op, const std::optional<component::DSA_KeyPair>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECDH_Derive
    - std::optional<component::Secret>
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECDH_Derive& op, const std::optional<component::Secret>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECIES_Encrypt
    - std::optional<component::Ciphertext>
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECIES_Encrypt& op, const std::optional<component::Ciphertext>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECIES_Decrypt
    - std::optional<component::Cleartext>
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECIES_Decrypt& op, const std::optional<component::Cleartext>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_Point_Add
    - std::optional<component::ECC_Point>
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_Point_Add& op, const std::optional<component::ECC_Point>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::IsZero
      Src: /src/cryptofuzz/tests.cpp:792,1
    - Dst: second::IsZero
      Src: /src/cryptofuzz/tests.cpp:792,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:794,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_Point_Sub
    - std::optional<component::ECC_Point>
    constantsTouched: []
    func_position:
      end: 796
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 796
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - first::IsZero
    - second::IsZero
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_Point_Sub& op, const std::optional<component::ECC_Point>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_Point_Mul
    - std::optional<component::ECC_Point>
    constantsTouched: []
    func_position:
      end: 801
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 801
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_Point_Mul& op, const std::optional<component::ECC_Point>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_Point_Neg
    - std::optional<component::ECC_Point>
    constantsTouched: []
    func_position:
      end: 806
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 806
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_Point_Neg& op, const std::optional<component::ECC_Point>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_Point_Dbl
    - std::optional<component::ECC_Point>
    constantsTouched: []
    func_position:
      end: 811
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 811
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_Point_Dbl& op, const std::optional<component::ECC_Point>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_Point_Cmp
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 816
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 816
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_Point_Cmp& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DH_GenerateKeyPair
    - std::optional<component::DH_KeyPair>
    constantsTouched: []
    func_position:
      end: 821
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 821
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::DH_GenerateKeyPair& op, const std::optional<component::DH_KeyPair>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DH_Derive
    - std::optional<component::Bignum>
    constantsTouched: []
    func_position:
      end: 826
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 826
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::DH_Derive& op, const std::optional<component::Bignum>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_PrivateToPublic
    - std::optional<component::BLS_PublicKey>
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_PrivateToPublic& op, const std::optional<component::BLS_PublicKey>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_PrivateToPublic_G2& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Sign
    - std::optional<component::BLS_Signature>
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Sign& op, const std::optional<component::BLS_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_BatchSign
    - std::optional<component::BLS_BatchSignature>
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_BatchSign& op, const std::optional<component::BLS_BatchSignature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_BatchVerify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 856
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 856
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_BatchVerify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Aggregate_G1
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 861
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 861
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Aggregate_G1& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Aggregate_G2
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 866
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 866
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Aggregate_G2& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Pairing
    - std::optional<component::Fp12>
    constantsTouched: []
    func_position:
      end: 871
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 871
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Pairing& op, const std::optional<component::Fp12>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_MillerLoop
    - std::optional<component::Fp12>
    constantsTouched: []
    func_position:
      end: 876
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 876
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_MillerLoop& op, const std::optional<component::Fp12>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_FinalExp
    - std::optional<component::Fp12>
    constantsTouched: []
    func_position:
      end: 881
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 881
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_FinalExp& op, const std::optional<component::Fp12>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_HashToG1
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 886
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 886
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_HashToG1& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_HashToG2
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 891
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 891
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_HashToG2& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_MapToG1
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_MapToG1& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_MapToG2
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 901
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 901
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_MapToG2& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_IsG1OnCurve
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 906
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 906
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_IsG1OnCurve& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_IsG2OnCurve
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_IsG2OnCurve& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_GenerateKeyPair
    - std::optional<component::BLS_KeyPair>
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_GenerateKeyPair& op, const std::optional<component::BLS_KeyPair>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Decompress_G1
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Decompress_G1& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Compress_G1
    - std::optional<component::Bignum>
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Compress_G1& op, const std::optional<component::Bignum>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Decompress_G2
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 931
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 931
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Decompress_G2& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Compress_G2
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Compress_G2& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G1_Add
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 941
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 941
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G1_Add& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G1_Mul
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G1_Mul& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G1_IsEq
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 951
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 951
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G1_IsEq& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G1_Neg
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G1_Neg& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G2_Add
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 961
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 961
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G2_Add& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G2_Mul
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 966
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 966
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G2_Mul& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G2_IsEq
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 971
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 971
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G2_IsEq& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G2_Neg
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G2_Neg& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G1_MultiExp
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 981
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 981
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G1_MultiExp& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::Misc
    - std::optional<Buffer>
    constantsTouched: []
    func_position:
      end: 986
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 986
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::Misc& op, const std::optional<Buffer>& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SR25519_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 991
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 991
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::SR25519_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' message'
    - ' opStr'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 997
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 997
    functionName: cryptofuzz::tests::BignumCalc::Abort
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    linkageType: ''
    returnType: void
    signature: void Abort(const std::string& message, const std::string& opStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:999,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' opStr'
    argTypes:
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 2
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: cryptofuzz::tests::BignumCalc::AssertBinary
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: void AssertBinary(const component::Bignum& result, const std::string&
      opStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1005,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' opStr'
    argTypes:
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1009
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1009
    functionName: cryptofuzz::tests::BignumCalc::AssertTertiary
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: void AssertTertiary(const component::Bignum& result, const std::string&
      opStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1011,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' A'
    - ' B'
    argTypes:
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: cryptofuzz::tests::BignumCalc::IsEqual
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool IsEqual(const component::Bignum& A, const component::Bignum& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' A'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1015
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1015
    functionName: cryptofuzz::tests::BignumCalc::IsZero
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool IsZero(const component::Bignum& A)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1017,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' A'
    - ' B'
    argTypes:
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1018
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1018
    functionName: cryptofuzz::tests::BignumCalc::SmallerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool SmallerThan(const component::Bignum& A, const component::Bignum&
      B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1020,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' A'
    - ' B'
    argTypes:
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1021
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1021
    functionName: cryptofuzz::tests::BignumCalc::LargerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool LargerThan(const component::Bignum& A, const component::Bignum&
      B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1023,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1024,1
    - Dst: auto::size
      Src: /src/cryptofuzz/tests.cpp:1025,1
    - Dst: auto::size
      Src: /src/cryptofuzz/tests.cpp:1025,1
    - Dst: auto::size
      Src: /src/cryptofuzz/tests.cpp:1028,1
    - Dst: auto::size
      Src: /src/cryptofuzz/tests.cpp:1028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' A'
    - ' B'
    argTypes:
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1034
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1034
    functionName: cryptofuzz::tests::BignumCalc::IsEqualOrLargerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool IsEqualOrLargerThan(const component::Bignum& A, const component::Bignum&
      B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::BignumCalc::IsEqualOrLargerThan
      Src: /src/cryptofuzz/tests.cpp:1036,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' result'
    - ' mod'
    - ' opStr'
    argTypes:
    - component::Bignum
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1039
      start: 1035
    functionDepth: 2
    functionLinenumber: 1035
    functionLinenumberEnd: 1039
    functionName: cryptofuzz::tests::BignumCalc::AssertModResult
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::Abort
    - cryptofuzz::tests::BignumCalc::IsEqualOrLargerThan
    linkageType: ''
    returnType: void
    signature: void AssertModResult(const component::Bignum& result, const component::Bignum&
      mod, const std::string& opStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::BignumCalc::SmallerThan
      Src: /src/cryptofuzz/tests.cpp:1041,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' result'
    - ' A'
    - ' opStr'
    argTypes:
    - component::Bignum
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    functionName: cryptofuzz::tests::BignumCalc::AssertNotSmallerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::SmallerThan
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: void AssertNotSmallerThan(const component::Bignum& result, const component::Bignum&
      A, const std::string& opStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::BignumCalc::SmallerThan
      Src: /src/cryptofuzz/tests.cpp:1050,1
    - Dst: cryptofuzz::tests::BignumCalc::SmallerThan
      Src: /src/cryptofuzz/tests.cpp:1050,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' result'
    - ' A'
    - ' B'
    - ' opStr'
    argTypes:
    - component::Bignum
    - component::Bignum
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 2
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: cryptofuzz::tests::BignumCalc::AssertNotSmallerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::SmallerThan
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: "void AssertNotSmallerThan(\n            const component::Bignum& result,\n
      \           const component::Bignum& A,\n            const component::Bignum&
      B,\n            const std::string& opStr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::BignumCalc::LargerThan
      Src: /src/cryptofuzz/tests.cpp:1055,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' result'
    - ' A'
    - ' opStr'
    argTypes:
    - component::Bignum
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1058
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1058
    functionName: cryptofuzz::tests::BignumCalc::AssertNotLargerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::LargerThan
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: void AssertNotLargerThan(const component::Bignum& result, const component::Bignum&
      A, const std::string& opStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::BignumCalc::LargerThan
      Src: /src/cryptofuzz/tests.cpp:1064,1
    - Dst: cryptofuzz::tests::BignumCalc::LargerThan
      Src: /src/cryptofuzz/tests.cpp:1064,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' result'
    - ' A'
    - ' B'
    - ' opStr'
    argTypes:
    - component::Bignum
    - component::Bignum
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1067
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1067
    functionName: cryptofuzz::tests::BignumCalc::AssertNotLargerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::LargerThan
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: "void AssertNotLargerThan(\n            const component::Bignum& result,\n
      \           const component::Bignum& A,\n            const component::Bignum&
      B,\n            const std::string& opStr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsPositive
      Src: /src/cryptofuzz/tests.cpp:1071,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' opStr'
    argTypes:
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1074
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1074
    functionName: cryptofuzz::tests::BignumCalc::AssertPositive
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - IsPositive
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: "void AssertPositive(\n            const component::Bignum& result,\n
      \           const std::string& opStr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsOdd
      Src: /src/cryptofuzz/tests.cpp:1078,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' opStr'
    argTypes:
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1081
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1081
    functionName: cryptofuzz::tests::BignumCalc::AssertOdd
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - IsOdd
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: "void AssertOdd(\n            const component::Bignum& result,\n            const
      std::string& opStr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::BignumCalc::IsZero
      Src: /src/cryptofuzz/tests.cpp:1085,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' opStr'
    argTypes:
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1088
      start: 1082
    functionDepth: 2
    functionLinenumber: 1082
    functionLinenumberEnd: 1088
    functionName: cryptofuzz::tests::BignumCalc::AssertZero
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::Abort
    - cryptofuzz::tests::BignumCalc::IsZero
    linkageType: ''
    returnType: void
    signature: "void AssertZero(\n            const component::Bignum& result,\n            const
      std::string& opStr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/tests.cpp:1098,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1101,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1102,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/tests.cpp:1104,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/tests.cpp:1105,1
    - Dst: bn2::IsNegative
      Src: /src/cryptofuzz/tests.cpp:1106,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1117,1
    - Dst: SmallerThan
      Src: /src/cryptofuzz/tests.cpp:1118,1
    - Dst: SmallerThan
      Src: /src/cryptofuzz/tests.cpp:1119,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1120,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1120,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1123,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1124,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1125,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1125,1
    - Dst: LargerThan
      Src: /src/cryptofuzz/tests.cpp:1128,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1129,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1129,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1132,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1133,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1133,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1134,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1135,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1135,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1139,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1140,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1142,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1143,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1145,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1146,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1148,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1149,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1151,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1152,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1154,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1155,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1157,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1158,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1160,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1161,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1163,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1164,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1166,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1167,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1169,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1170,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1172,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1173,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1175,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1176,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1178,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1179,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1181,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1182,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1184,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1185,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1187,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1188,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1190,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1191,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1193,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1194,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1196,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1197,1
    - Dst: bn0::IsPositive
      Src: /src/cryptofuzz/tests.cpp:1198,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertZero
      Src: /src/cryptofuzz/tests.cpp:1199,1
    - Dst: IsOne
      Src: /src/cryptofuzz/tests.cpp:1201,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1202,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertOdd
      Src: /src/cryptofuzz/tests.cpp:1203,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1207,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1208,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1210,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1211,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1213,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1214,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1216,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1217,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1219,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1220,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1222,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertTertiary
      Src: /src/cryptofuzz/tests.cpp:1223,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1225,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertTertiary
      Src: /src/cryptofuzz/tests.cpp:1226,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1228,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertTertiary
      Src: /src/cryptofuzz/tests.cpp:1229,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1231,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1232,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1232,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1234,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1235,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1235,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1236,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1236,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1237,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1237,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1241,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1241,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1243,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1244,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1245,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1245,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1246,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1246,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1250,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1250,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1252,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1253,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1253,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1255,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1256,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1256,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1258,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1259,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1259,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1261,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1262,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1262,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1264,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1265,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1265,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1267,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1268,1
    - Dst: IsEqual
      Src: /src/cryptofuzz/tests.cpp:1269,1
    - Dst: IsEqual
      Src: /src/cryptofuzz/tests.cpp:1269,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1270,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1270,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1273,1
    - Dst: LargerThan
      Src: /src/cryptofuzz/tests.cpp:1274,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1275,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1275,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1278,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1279,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1279,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1280,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1280,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1282,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1283,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1283,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1284,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1284,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1286,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1287,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1288,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1289,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1289,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1292,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1293,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1294,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1294,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1297,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1298,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1298,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1300,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1301,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1301,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1303,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1304,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1305,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1305,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1308,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1309,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1309,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1311,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1312,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1314,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertPositive
      Src: /src/cryptofuzz/tests.cpp:1315,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1315,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1316,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertOdd
      Src: /src/cryptofuzz/tests.cpp:1317,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1317,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1320,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1321,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1321,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 216
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BignumCalc
    - std::optional<component::Bignum>
    constantsTouched: []
    func_position:
      end: 1324
      start: 1091
    functionDepth: 3
    functionLinenumber: 1091
    functionLinenumberEnd: 1324
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - IsOne
    - cryptofuzz::tests::BignumCalc::AssertTertiary
    - cryptofuzz::tests::BignumCalc::AssertModResult
    - cryptofuzz::tests::BignumCalc::AssertOdd
    - cryptofuzz::tests::BignumCalc::AssertBinary
    - ToTrimmedString
    - CF_CALCOP
    - AssertNotLargerThan
    - bn0::ToTrimmedString
    - bn0::IsPositive
    - cryptofuzz::tests::BignumCalc::AssertPositive
    - cryptofuzz::tests::BignumCalc::AssertZero
    - AssertNotSmallerThan
    - SmallerThan
    - calcOp::Get
    - bn1::IsNegative
    - IsZero
    - bn0::IsNegative
    - cryptofuzz::repository::CalcOpToString
    - IsEqual
    - LargerThan
    - Abort
    - bn2::IsNegative
    linkageType: ''
    returnType: void
    signature: void test(const operation::BignumCalc& op, const std::optional<component::Bignum>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BignumCalc_Fp2
    - std::optional<component::Fp2>
    constantsTouched: []
    func_position:
      end: 1329
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1329
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BignumCalc_Fp2& op, const std::optional<component::Fp2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BignumCalc_Fp12
    - std::optional<component::Fp12>
    constantsTouched: []
    func_position:
      end: 1334
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1334
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BignumCalc_Fp12& op, const std::optional<component::Fp12>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutatorpool.cpp:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 9
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 9
    functionName: MutatorPool<T, Size>::Set
    functionSourceFile: /src/cryptofuzz/mutatorpool.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    linkageType: ''
    returnType: void
    signature: void MutatorPool<T, Size>::Set(const T& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: MutatorPool<T, Size>::Have
    functionSourceFile: /src/cryptofuzz/mutatorpool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MutatorPool<T, Size>::Have(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutatorpool.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: MutatorPool<T, Size>::Get
    functionSourceFile: /src/cryptofuzz/mutatorpool.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    linkageType: ''
    returnType: T
    signature: T MutatorPool<T, Size>::Get(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/executor.cpp:18,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:22,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/executor.cpp:23,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/executor.cpp:24,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/executor.cpp:24,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:25,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/executor.cpp:26,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/executor.cpp:27,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/executor.cpp:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - curveID
    - coord
    argTypes:
    - uint64_t
    - std::string
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: cryptofuzz::GxCoordMutate
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_cpp_int
    - PRNG
    - CF_ECC_CURVE
    linkageType: ''
    returnType: std::string
    signature: std::string GxCoordMutate(const uint64_t curveID, std::string coord)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:33,1
    - Dst: cryptofuzz::GxCoordMutate
      Src: /src/cryptofuzz/executor.cpp:33,1
    - Dst: cryptofuzz::GxCoordMutate
      Src: /src/cryptofuzz/executor.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - curveID
    - ' g1_x'
    - ' g1_y'
    argTypes:
    - uint64_t
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: cryptofuzz::G1AddToPool
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - Set
    - cryptofuzz::GxCoordMutate
    linkageType: ''
    returnType: void
    signature: void G1AddToPool(const uint64_t curveID, const std::string& g1_x, const
      std::string& g1_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:42,1
    - Dst: cryptofuzz::GxCoordMutate
      Src: /src/cryptofuzz/executor.cpp:43,1
    - Dst: cryptofuzz::GxCoordMutate
      Src: /src/cryptofuzz/executor.cpp:44,1
    - Dst: cryptofuzz::GxCoordMutate
      Src: /src/cryptofuzz/executor.cpp:45,1
    - Dst: cryptofuzz::GxCoordMutate
      Src: /src/cryptofuzz/executor.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - curveID
    - ' g2_v'
    - ' g2_w'
    - ' g2_x'
    - ' g2_y'
    argTypes:
    - uint64_t
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: cryptofuzz::G2AddToPool
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - Set
    - cryptofuzz::GxCoordMutate
    linkageType: ''
    returnType: void
    signature: "void G2AddToPool(const uint64_t curveID,\n                        const
      std::string& g2_v,\n                        const std::string& g2_w,\n                        const
      std::string& g2_x,\n                        const std::string& g2_y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:56,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:56,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Digest
    - ExecutorBase<component::Digest, operation::Digest>::ResultPair
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: cryptofuzz::ExecutorBase<component::Digest, operation::Digest>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Digest, operation::Digest>::postprocess(std::shared_ptr<Module>
      module, operation::Digest& op, const ExecutorBase<component::Digest, operation::Digest>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:61,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:61,1
    - Dst: std::shared_ptr<Module>::OpDigest
      Src: /src/cryptofuzz/executor.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: cryptofuzz::ExecutorBase<component::Digest, operation::Digest>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpDigest
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> ExecutorBase<component::Digest, operation::Digest>::callModule(std::shared_ptr<Module>
      module, operation::Digest& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:72,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:72,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::HMAC
    - ExecutorBase<component::MAC, operation::HMAC>::ResultPair
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::HMAC>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::MAC, operation::HMAC>::postprocess(std::shared_ptr<Module>
      module, operation::HMAC& op, const ExecutorBase<component::MAC, operation::HMAC>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:77,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:77,1
    - Dst: std::shared_ptr<Module>::OpHMAC
      Src: /src/cryptofuzz/executor.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::HMAC>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpHMAC
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> ExecutorBase<component::MAC, operation::HMAC>::callModule(std::shared_ptr<Module>
      module, operation::HMAC& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:88,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:88,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::UMAC
    - ExecutorBase<component::MAC, operation::UMAC>::ResultPair
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::UMAC>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::MAC, operation::UMAC>::postprocess(std::shared_ptr<Module>
      module, operation::UMAC& op, const ExecutorBase<component::MAC, operation::UMAC>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpUMAC
      Src: /src/cryptofuzz/executor.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::UMAC
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::UMAC>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpUMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> ExecutorBase<component::MAC, operation::UMAC>::callModule(std::shared_ptr<Module>
      module, operation::UMAC& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:102,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:102,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::CMAC
    - ExecutorBase<component::MAC, operation::CMAC>::ResultPair
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::CMAC>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::MAC, operation::CMAC>::postprocess(std::shared_ptr<Module>
      module, operation::CMAC& op, const ExecutorBase<component::MAC, operation::CMAC>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:107,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:107,1
    - Dst: std::shared_ptr<Module>::OpCMAC
      Src: /src/cryptofuzz/executor.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::CMAC>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpCMAC
    - cipher::cipherType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> ExecutorBase<component::MAC, operation::CMAC>::callModule(std::shared_ptr<Module>
      module, operation::CMAC& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:119,1
    - Dst: second::ciphertext::GetPtr
      Src: /src/cryptofuzz/executor.cpp:119,1
    - Dst: second::ciphertext::GetSize
      Src: /src/cryptofuzz/executor.cpp:119,1
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:121,1
    - Dst: second::tag::GetPtr
      Src: /src/cryptofuzz/executor.cpp:121,1
    - Dst: second::tag::GetSize
      Src: /src/cryptofuzz/executor.cpp:121,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/executor.cpp:125,1
    - Dst: second::ciphertext::GetSize
      Src: /src/cryptofuzz/executor.cpp:125,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/executor.cpp:130,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:131,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:132,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:133,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:136,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:137,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:138,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:139,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:140,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:141,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:142,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:143,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:144,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:145,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:146,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:147,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::SymmetricDecrypt
      Src: /src/cryptofuzz/executor.cpp:162,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/executor.cpp:170,1
    - Dst: std::shared_ptr<Module>::OpSymmetricDecrypt
      Src: /src/cryptofuzz/executor.cpp:177,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:181,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:182,1
    - Dst: ToString
      Src: /src/cryptofuzz/executor.cpp:182,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:183,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/executor.cpp:183,1
    - Dst: second::ciphertext::Get
      Src: /src/cryptofuzz/executor.cpp:183,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:184,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/executor.cpp:184,1
    - Dst: second::tag::Get
      Src: /src/cryptofuzz/executor.cpp:184,1
    - Dst: abort
      Src: /src/cryptofuzz/executor.cpp:185,1
    - Dst: Name
      Src: /src/cryptofuzz/executor.cpp:187,1
    - Dst: GetAlgorithmString
      Src: /src/cryptofuzz/executor.cpp:188,1
    - Dst: auto::Get
      Src: /src/cryptofuzz/executor.cpp:191,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/executor.cpp:191,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:195,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:196,1
    - Dst: ToString
      Src: /src/cryptofuzz/executor.cpp:196,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:197,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/executor.cpp:197,1
    - Dst: second::ciphertext::Get
      Src: /src/cryptofuzz/executor.cpp:197,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:198,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/executor.cpp:198,1
    - Dst: second::tag::Get
      Src: /src/cryptofuzz/executor.cpp:198,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:199,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/executor.cpp:199,1
    - Dst: auto::Get
      Src: /src/cryptofuzz/executor.cpp:199,1
    - Dst: abort
      Src: /src/cryptofuzz/executor.cpp:200,1
    - Dst: Name
      Src: /src/cryptofuzz/executor.cpp:202,1
    - Dst: GetAlgorithmString
      Src: /src/cryptofuzz/executor.cpp:203,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::SymmetricEncrypt
    - ExecutorBase<component::Ciphertext, operation::SymmetricEncrypt>::ResultPair
    constantsTouched: []
    func_position:
      end: 209
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 209
    functionName: cryptofuzz::ExecutorBase<component::Ciphertext, operation::SymmetricEncrypt>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpSymmetricDecrypt
    - second::tag::GetPtr
    - CF_MODULE
    - cipher::cipherType::Get
    - second::tag::Get
    - Name
    - second::ciphertext::GetPtr
    - cryptofuzz::operation::SymmetricDecrypt::SymmetricDecrypt
    - cleartext::Get
    - ID
    - abort
    - second::ciphertext::GetSize
    - cryptofuzz::util::HexDump
    - auto::Get
    - ToString
    - GetAlgorithmString
    - second::tag::GetSize
    - cleartext::GetSize
    - fuzzing::memory::memory_test_msan
    - second::ciphertext::Get
    - printf
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Ciphertext, operation::SymmetricEncrypt>::postprocess(std::shared_ptr<Module>
      module, operation::SymmetricEncrypt& op, const ExecutorBase<component::Ciphertext,
      operation::SymmetricEncrypt>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:212,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:212,1
    - Dst: std::shared_ptr<Module>::OpSymmetricEncrypt
      Src: /src/cryptofuzz/executor.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: cryptofuzz::ExecutorBase<component::Ciphertext, operation::SymmetricEncrypt>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpSymmetricEncrypt
    - cipher::cipherType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> ExecutorBase<component::Ciphertext,
      operation::SymmetricEncrypt>::callModule(std::shared_ptr<Module> module, operation::SymmetricEncrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:223,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:223,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::SymmetricDecrypt
    - ExecutorBase<component::MAC, operation::SymmetricDecrypt>::ResultPair
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::SymmetricDecrypt>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::MAC, operation::SymmetricDecrypt>::postprocess(std::shared_ptr<Module>
      module, operation::SymmetricDecrypt& op, const ExecutorBase<component::MAC,
      operation::SymmetricDecrypt>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:228,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:228,1
    - Dst: std::shared_ptr<Module>::OpSymmetricDecrypt
      Src: /src/cryptofuzz/executor.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::SymmetricDecrypt>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpSymmetricDecrypt
    - cipher::cipherType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> ExecutorBase<component::MAC, operation::SymmetricDecrypt>::callModule(std::shared_ptr<Module>
      module, operation::SymmetricDecrypt& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:239,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:239,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SCRYPT
    - ExecutorBase<component::Key, operation::KDF_SCRYPT>::ResultPair
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_SCRYPT>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_SCRYPT>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_SCRYPT& op, const ExecutorBase<component::Key, operation::KDF_SCRYPT>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpKDF_SCRYPT
      Src: /src/cryptofuzz/executor.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_SCRYPT>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_SCRYPT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_SCRYPT>::callModule(std::shared_ptr<Module>
      module, operation::KDF_SCRYPT& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:253,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:253,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_HKDF
    - ExecutorBase<component::Key, operation::KDF_HKDF>::ResultPair
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_HKDF>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_HKDF>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_HKDF& op, const ExecutorBase<component::Key, operation::KDF_HKDF>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:258,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:258,1
    - Dst: std::shared_ptr<Module>::OpKDF_HKDF
      Src: /src/cryptofuzz/executor.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_HKDF>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_HKDF
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_HKDF>::callModule(std::shared_ptr<Module>
      module, operation::KDF_HKDF& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:269,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:269,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_PBKDF
    - ExecutorBase<component::Key, operation::KDF_PBKDF>::ResultPair
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_PBKDF>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_PBKDF>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_PBKDF& op, const ExecutorBase<component::Key, operation::KDF_PBKDF>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:274,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:274,1
    - Dst: std::shared_ptr<Module>::OpKDF_PBKDF
      Src: /src/cryptofuzz/executor.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_PBKDF>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_PBKDF
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_PBKDF>::callModule(std::shared_ptr<Module>
      module, operation::KDF_PBKDF& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:285,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:285,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_PBKDF1
    - ExecutorBase<component::Key, operation::KDF_PBKDF1>::ResultPair
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 287
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_PBKDF1>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_PBKDF1>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_PBKDF1& op, const ExecutorBase<component::Key, operation::KDF_PBKDF1>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:290,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:290,1
    - Dst: std::shared_ptr<Module>::OpKDF_PBKDF1
      Src: /src/cryptofuzz/executor.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_PBKDF1
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_PBKDF1>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_PBKDF1
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_PBKDF1>::callModule(std::shared_ptr<Module>
      module, operation::KDF_PBKDF1& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:301,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:301,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_PBKDF2
    - ExecutorBase<component::Key, operation::KDF_PBKDF2>::ResultPair
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_PBKDF2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_PBKDF2>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_PBKDF2& op, const ExecutorBase<component::Key, operation::KDF_PBKDF2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:306,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:306,1
    - Dst: std::shared_ptr<Module>::OpKDF_PBKDF2
      Src: /src/cryptofuzz/executor.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_PBKDF2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_PBKDF2
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_PBKDF2>::callModule(std::shared_ptr<Module>
      module, operation::KDF_PBKDF2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:317,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:317,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_ARGON2
    - ExecutorBase<component::Key, operation::KDF_ARGON2>::ResultPair
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_ARGON2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_ARGON2>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_ARGON2& op, const ExecutorBase<component::Key, operation::KDF_ARGON2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpKDF_ARGON2
      Src: /src/cryptofuzz/executor.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_ARGON2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_ARGON2
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_ARGON2>::callModule(std::shared_ptr<Module>
      module, operation::KDF_ARGON2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:331,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:331,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SSH
    - ExecutorBase<component::Key, operation::KDF_SSH>::ResultPair
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_SSH>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_SSH>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_SSH& op, const ExecutorBase<component::Key, operation::KDF_SSH>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:336,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:336,1
    - Dst: std::shared_ptr<Module>::OpKDF_SSH
      Src: /src/cryptofuzz/executor.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SSH
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_SSH>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_SSH
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_SSH>::callModule(std::shared_ptr<Module>
      module, operation::KDF_SSH& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:347,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:347,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_TLS1_PRF
    - ExecutorBase<component::Key, operation::KDF_TLS1_PRF>::ResultPair
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_TLS1_PRF>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_TLS1_PRF>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_TLS1_PRF& op, const ExecutorBase<component::Key, operation::KDF_TLS1_PRF>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:352,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:352,1
    - Dst: std::shared_ptr<Module>::OpKDF_TLS1_PRF
      Src: /src/cryptofuzz/executor.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_TLS1_PRF>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_TLS1_PRF
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_TLS1_PRF>::callModule(std::shared_ptr<Module>
      module, operation::KDF_TLS1_PRF& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:363,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:363,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_X963
    - ExecutorBase<component::Key, operation::KDF_X963>::ResultPair
    constantsTouched: []
    func_position:
      end: 365
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 365
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_X963>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_X963>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_X963& op, const ExecutorBase<component::Key, operation::KDF_X963>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:368,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:368,1
    - Dst: std::shared_ptr<Module>::OpKDF_X963
      Src: /src/cryptofuzz/executor.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_X963
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_X963>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_X963
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_X963>::callModule(std::shared_ptr<Module>
      module, operation::KDF_X963& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:379,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:379,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_BCRYPT
    - ExecutorBase<component::Key, operation::KDF_BCRYPT>::ResultPair
    constantsTouched: []
    func_position:
      end: 381
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 381
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_BCRYPT>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_BCRYPT>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_BCRYPT& op, const ExecutorBase<component::Key, operation::KDF_BCRYPT>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:384,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:384,1
    - Dst: std::shared_ptr<Module>::OpKDF_BCRYPT
      Src: /src/cryptofuzz/executor.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_BCRYPT
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_BCRYPT>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpKDF_BCRYPT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_BCRYPT>::callModule(std::shared_ptr<Module>
      module, operation::KDF_BCRYPT& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:395,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:395,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SP_800_108
    - ExecutorBase<component::Key, operation::KDF_SP_800_108>::ResultPair
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_SP_800_108>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetPtr
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_SP_800_108>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_SP_800_108& op, const ExecutorBase<component::Key, operation::KDF_SP_800_108>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:401,1
    - Dst: mech::type::Get
      Src: /src/cryptofuzz/executor.cpp:401,1
    - Dst: std::shared_ptr<Module>::OpKDF_SP_800_108
      Src: /src/cryptofuzz/executor.cpp:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SP_800_108
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_SP_800_108>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - mech::type::Get
    - std::shared_ptr<Module>::OpKDF_SP_800_108
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_SP_800_108>::callModule(std::shared_ptr<Module>
      module, operation::KDF_SP_800_108& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SRTP
    - ExecutorBase<component::Key3, operation::KDF_SRTP>::ResultPair
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: cryptofuzz::ExecutorBase<component::Key3, operation::KDF_SRTP>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key3, operation::KDF_SRTP>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_SRTP& op, const ExecutorBase<component::Key3, operation::KDF_SRTP>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpKDF_SRTP
      Src: /src/cryptofuzz/executor.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SRTP
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: cryptofuzz::ExecutorBase<component::Key3, operation::KDF_SRTP>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_SRTP
    linkageType: ''
    returnType: std::optional<component::Key3>
    signature: std::optional<component::Key3> ExecutorBase<component::Key3, operation::KDF_SRTP>::callModule(std::shared_ptr<Module>
      module, operation::KDF_SRTP& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SRTCP
    - ExecutorBase<component::Key3, operation::KDF_SRTCP>::ResultPair
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: cryptofuzz::ExecutorBase<component::Key3, operation::KDF_SRTCP>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key3, operation::KDF_SRTCP>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_SRTCP& op, const ExecutorBase<component::Key3, operation::KDF_SRTCP>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpKDF_SRTCP
      Src: /src/cryptofuzz/executor.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SRTCP
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: cryptofuzz::ExecutorBase<component::Key3, operation::KDF_SRTCP>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_SRTCP
    linkageType: ''
    returnType: std::optional<component::Key3>
    signature: std::optional<component::Key3> ExecutorBase<component::Key3, operation::KDF_SRTCP>::callModule(std::shared_ptr<Module>
      module, operation::KDF_SRTCP& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:434,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:435,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:436,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:437,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:439,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:440,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:441,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:443,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:443,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:444,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_PrivateToPublic
    - ExecutorBase<component::ECC_PublicKey, operation::ECC_PrivateToPublic>::ResultPair
    constantsTouched: []
    func_position:
      end: 446
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 446
    functionName: cryptofuzz::ExecutorBase<component::ECC_PublicKey, operation::ECC_PrivateToPublic>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - curveType::Get
    - Set
    - auto::size
    - priv::ToTrimmedString
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_PublicKey, operation::ECC_PrivateToPublic>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_PrivateToPublic& op, const ExecutorBase<component::ECC_PublicKey,
      operation::ECC_PrivateToPublic>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:449,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:449,1
    - Dst: std::shared_ptr<Module>::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/executor.cpp:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: cryptofuzz::ExecutorBase<component::ECC_PublicKey, operation::ECC_PrivateToPublic>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECC_PrivateToPublic
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> ExecutorBase<component::ECC_PublicKey,
      operation::ECC_PrivateToPublic>::callModule(std::shared_ptr<Module> module,
      operation::ECC_PrivateToPublic& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_ValidatePubkey
    - ExecutorBase<bool, operation::ECC_ValidatePubkey>::ResultPair
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECC_ValidatePubkey>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::ECC_ValidatePubkey>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_ValidatePubkey& op, const ExecutorBase<bool, operation::ECC_ValidatePubkey>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:468,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:468,1
    - Dst: std::shared_ptr<Module>::OpECC_ValidatePubkey
      Src: /src/cryptofuzz/executor.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECC_ValidatePubkey>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECC_ValidatePubkey
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::ECC_ValidatePubkey>::callModule(std::shared_ptr<Module>
      module, operation::ECC_ValidatePubkey& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, operation::DH_GenerateKeyPair>
      >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: cryptofuzz::ExecutorBase<component::DH_KeyPair, operation::DH_GenerateKeyPair>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DH_KeyPair, operation::DH_GenerateKeyPair>::compare(const
      std::vector< std::pair<std::shared_ptr<Module>, operation::DH_GenerateKeyPair>
      >& operations, const ResultSet& results, const uint8_t* data, const size_t size)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:488,1
    - Dst: second::priv::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:489,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:490,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:491,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:493,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:494,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:495,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::ECC_ValidatePubkey
      Src: /src/cryptofuzz/executor.cpp:498,1
    - Dst: std::shared_ptr<Module>::OpECC_ValidatePubkey
      Src: /src/cryptofuzz/executor.cpp:503,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/executor.cpp:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_GenerateKeyPair
    - ExecutorBase<component::ECC_KeyPair, operation::ECC_GenerateKeyPair>::ResultPair
    constantsTouched: []
    func_position:
      end: 510
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 510
    functionName: cryptofuzz::ExecutorBase<component::ECC_KeyPair, operation::ECC_GenerateKeyPair>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::pub::second::ToTrimmedString
    - std::shared_ptr<Module>::OpECC_ValidatePubkey
    - second::priv::ToTrimmedString
    - Set
    - cryptofuzz::operation::ECC_ValidatePubkey::ECC_ValidatePubkey
    - second::pub::first::ToTrimmedString
    - CF_ASSERT
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_KeyPair, operation::ECC_GenerateKeyPair>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_GenerateKeyPair& op, const ExecutorBase<component::ECC_KeyPair,
      operation::ECC_GenerateKeyPair>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:513,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:513,1
    - Dst: std::shared_ptr<Module>::OpECC_GenerateKeyPair
      Src: /src/cryptofuzz/executor.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: cryptofuzz::ExecutorBase<component::ECC_KeyPair, operation::ECC_GenerateKeyPair>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECC_GenerateKeyPair
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> ExecutorBase<component::ECC_KeyPair,
      operation::ECC_GenerateKeyPair>::callModule(std::shared_ptr<Module> module,
      operation::ECC_GenerateKeyPair& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:523,1
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:524,1
    - Dst: id::ToHex
      Src: /src/cryptofuzz/executor.cpp:525,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:526,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:527,1
    - Dst: second::pvt::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:528,1
    - Dst: second::pvt::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:529,1
    - Dst: second::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:530,1
    - Dst: second::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:531,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:533,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:540,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:541,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:542,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:544,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:544,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:545,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:545,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:546,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:546,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:547,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:547,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:548,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:548,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:549,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:549,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::ECCSI_Verify
      Src: /src/cryptofuzz/executor.cpp:552,1
    - Dst: std::shared_ptr<Module>::OpECCSI_Verify
      Src: /src/cryptofuzz/executor.cpp:557,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/executor.cpp:558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECCSI_Sign
    - ExecutorBase<component::ECCSI_Signature, operation::ECCSI_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 564
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 564
    functionName: cryptofuzz::ExecutorBase<component::ECCSI_Signature, operation::ECCSI_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::signature::second::ToTrimmedString
    - id::ToHex
    - second::pub::second::ToTrimmedString
    - auto::size
    - cryptofuzz::operation::ECCSI_Verify::ECCSI_Verify
    - std::shared_ptr<Module>::OpECCSI_Verify
    - Set
    - second::pub::first::ToTrimmedString
    - second::pvt::first::ToTrimmedString
    - cleartext::ToHex
    - second::signature::first::ToTrimmedString
    - second::pvt::second::ToTrimmedString
    - CF_ASSERT
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECCSI_Signature, operation::ECCSI_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::ECCSI_Sign& op, const ExecutorBase<component::ECCSI_Signature,
      operation::ECCSI_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:567,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:567,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:568,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:568,1
    - Dst: std::shared_ptr<Module>::OpECCSI_Sign
      Src: /src/cryptofuzz/executor.cpp:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECCSI_Sign
    constantsTouched: []
    func_position:
      end: 577
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 577
    functionName: cryptofuzz::ExecutorBase<component::ECCSI_Signature, operation::ECCSI_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECCSI_Sign
    - digestType::Get
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECCSI_Signature>
    signature: std::optional<component::ECCSI_Signature> ExecutorBase<component::ECCSI_Signature,
      operation::ECCSI_Sign>::callModule(std::shared_ptr<Module> module, operation::ECCSI_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:584,1
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:585,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:586,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:587,1
    - Dst: second::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:588,1
    - Dst: second::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:589,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:591,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:592,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:593,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:595,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:595,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:596,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:596,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:597,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:597,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:598,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:598,1
    - Dst: cryptofuzz::Wycheproof::ECDSA_Verify
      Src: /src/cryptofuzz/executor.cpp:601,1
    - Dst: std::shared_ptr<Module>::OpECDSA_Verify
      Src: /src/cryptofuzz/executor.cpp:606,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/executor.cpp:607,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDSA_Sign
    - ExecutorBase<component::ECDSA_Signature, operation::ECDSA_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 613
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 613
    functionName: cryptofuzz::ExecutorBase<component::ECDSA_Signature, operation::ECDSA_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::signature::second::ToTrimmedString
    - cryptofuzz::Wycheproof::ECDSA_Verify
    - second::pub::second::ToTrimmedString
    - auto::size
    - Set
    - std::shared_ptr<Module>::OpECDSA_Verify
    - second::pub::first::ToTrimmedString
    - cleartext::ToHex
    - second::signature::first::ToTrimmedString
    - CF_ASSERT
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECDSA_Signature, operation::ECDSA_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::ECDSA_Sign& op, const ExecutorBase<component::ECDSA_Signature,
      operation::ECDSA_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:616,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:616,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:617,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:617,1
    - Dst: std::shared_ptr<Module>::OpECDSA_Sign
      Src: /src/cryptofuzz/executor.cpp:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 626
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 626
    functionName: cryptofuzz::ExecutorBase<component::ECDSA_Signature, operation::ECDSA_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECDSA_Sign
    - digestType::Get
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> ExecutorBase<component::ECDSA_Signature,
      operation::ECDSA_Sign>::callModule(std::shared_ptr<Module> module, operation::ECDSA_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:633,1
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:634,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:635,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:636,1
    - Dst: second::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:637,1
    - Dst: second::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:638,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:640,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:641,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:642,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:644,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:644,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:645,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:645,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:646,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:646,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:647,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECGDSA_Sign
    - ExecutorBase<component::ECGDSA_Signature, operation::ECGDSA_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 649
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 649
    functionName: cryptofuzz::ExecutorBase<component::ECGDSA_Signature, operation::ECGDSA_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::signature::second::ToTrimmedString
    - second::pub::second::ToTrimmedString
    - auto::size
    - Set
    - second::pub::first::ToTrimmedString
    - cleartext::ToHex
    - second::signature::first::ToTrimmedString
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECGDSA_Signature, operation::ECGDSA_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::ECGDSA_Sign& op, const ExecutorBase<component::ECGDSA_Signature,
      operation::ECGDSA_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:652,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:652,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:653,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:653,1
    - Dst: std::shared_ptr<Module>::OpECGDSA_Sign
      Src: /src/cryptofuzz/executor.cpp:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECGDSA_Sign
    constantsTouched: []
    func_position:
      end: 662
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 662
    functionName: cryptofuzz::ExecutorBase<component::ECGDSA_Signature, operation::ECGDSA_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECGDSA_Sign
    - digestType::Get
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECGDSA_Signature>
    signature: std::optional<component::ECGDSA_Signature> ExecutorBase<component::ECGDSA_Signature,
      operation::ECGDSA_Sign>::callModule(std::shared_ptr<Module> module, operation::ECGDSA_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:669,1
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:670,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:671,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:672,1
    - Dst: second::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:673,1
    - Dst: second::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:674,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:676,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:677,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:678,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:680,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:680,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:681,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:681,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:682,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:682,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:683,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECRDSA_Sign
    - ExecutorBase<component::ECRDSA_Signature, operation::ECRDSA_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 685
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 685
    functionName: cryptofuzz::ExecutorBase<component::ECRDSA_Signature, operation::ECRDSA_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::signature::second::ToTrimmedString
    - second::pub::second::ToTrimmedString
    - auto::size
    - Set
    - second::pub::first::ToTrimmedString
    - cleartext::ToHex
    - second::signature::first::ToTrimmedString
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECRDSA_Signature, operation::ECRDSA_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::ECRDSA_Sign& op, const ExecutorBase<component::ECRDSA_Signature,
      operation::ECRDSA_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:688,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:688,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:689,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:689,1
    - Dst: std::shared_ptr<Module>::OpECRDSA_Sign
      Src: /src/cryptofuzz/executor.cpp:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECRDSA_Sign
    constantsTouched: []
    func_position:
      end: 698
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 698
    functionName: cryptofuzz::ExecutorBase<component::ECRDSA_Signature, operation::ECRDSA_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECRDSA_Sign
    - digestType::Get
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECRDSA_Signature>
    signature: std::optional<component::ECRDSA_Signature> ExecutorBase<component::ECRDSA_Signature,
      operation::ECRDSA_Sign>::callModule(std::shared_ptr<Module> module, operation::ECRDSA_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:705,1
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:706,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:707,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:708,1
    - Dst: second::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:709,1
    - Dst: second::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:710,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:712,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:713,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:714,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:716,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:716,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:717,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:717,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:718,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:718,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:719,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Schnorr_Sign
    - ExecutorBase<component::Schnorr_Signature, operation::Schnorr_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 721
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 721
    functionName: cryptofuzz::ExecutorBase<component::Schnorr_Signature, operation::Schnorr_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::signature::second::ToTrimmedString
    - second::pub::second::ToTrimmedString
    - auto::size
    - Set
    - second::pub::first::ToTrimmedString
    - cleartext::ToHex
    - second::signature::first::ToTrimmedString
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Schnorr_Signature, operation::Schnorr_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::Schnorr_Sign& op, const ExecutorBase<component::Schnorr_Signature,
      operation::Schnorr_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:724,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:724,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:725,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:725,1
    - Dst: std::shared_ptr<Module>::OpSchnorr_Sign
      Src: /src/cryptofuzz/executor.cpp:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Schnorr_Sign
    constantsTouched: []
    func_position:
      end: 734
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 734
    functionName: cryptofuzz::ExecutorBase<component::Schnorr_Signature, operation::Schnorr_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpSchnorr_Sign
    - digestType::Get
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::Schnorr_Signature>
    signature: std::optional<component::Schnorr_Signature> ExecutorBase<component::Schnorr_Signature,
      operation::Schnorr_Sign>::callModule(std::shared_ptr<Module> module, operation::Schnorr_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECCSI_Verify
    - ExecutorBase<bool, operation::ECCSI_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 741
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 741
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECCSI_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::ECCSI_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::ECCSI_Verify& op, const ExecutorBase<bool, operation::ECCSI_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:744,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:744,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:745,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:745,1
    - Dst: std::shared_ptr<Module>::OpECCSI_Verify
      Src: /src/cryptofuzz/executor.cpp:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECCSI_Verify
    constantsTouched: []
    func_position:
      end: 748
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 748
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECCSI_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - RETURN_IF_DISABLED
    - curveType::Get
    - std::shared_ptr<Module>::OpECCSI_Verify
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::ECCSI_Verify>::callModule(std::shared_ptr<Module>
      module, operation::ECCSI_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDSA_Verify
    - ExecutorBase<bool, operation::ECDSA_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 755
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 755
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECDSA_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::ECDSA_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::ECDSA_Verify& op, const ExecutorBase<bool, operation::ECDSA_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:758,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:758,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:759,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:759,1
    - Dst: std::shared_ptr<Module>::OpECDSA_Verify
      Src: /src/cryptofuzz/executor.cpp:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 772
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 772
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECDSA_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECDSA_Verify
    - digestType::Get
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::ECDSA_Verify>::callModule(std::shared_ptr<Module>
      module, operation::ECDSA_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECGDSA_Verify
    - ExecutorBase<bool, operation::ECGDSA_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECGDSA_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::ECGDSA_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::ECGDSA_Verify& op, const ExecutorBase<bool, operation::ECGDSA_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:782,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:782,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:783,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:783,1
    - Dst: std::shared_ptr<Module>::OpECGDSA_Verify
      Src: /src/cryptofuzz/executor.cpp:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECGDSA_Verify
    constantsTouched: []
    func_position:
      end: 796
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 796
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECGDSA_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECGDSA_Verify
    - digestType::Get
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::ECGDSA_Verify>::callModule(std::shared_ptr<Module>
      module, operation::ECGDSA_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECRDSA_Verify
    - ExecutorBase<bool, operation::ECRDSA_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 803
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 803
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECRDSA_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::ECRDSA_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::ECRDSA_Verify& op, const ExecutorBase<bool, operation::ECRDSA_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:806,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:806,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:807,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:807,1
    - Dst: std::shared_ptr<Module>::OpECRDSA_Verify
      Src: /src/cryptofuzz/executor.cpp:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECRDSA_Verify
    constantsTouched: []
    func_position:
      end: 820
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 820
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECRDSA_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - RETURN_IF_DISABLED
    - curveType::Get
    - std::shared_ptr<Module>::OpECRDSA_Verify
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::ECRDSA_Verify>::callModule(std::shared_ptr<Module>
      module, operation::ECRDSA_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Schnorr_Verify
    - ExecutorBase<bool, operation::Schnorr_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 827
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 827
    functionName: cryptofuzz::ExecutorBase<bool, operation::Schnorr_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::Schnorr_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::Schnorr_Verify& op, const ExecutorBase<bool, operation::Schnorr_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:830,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:830,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:831,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:831,1
    - Dst: std::shared_ptr<Module>::OpSchnorr_Verify
      Src: /src/cryptofuzz/executor.cpp:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Schnorr_Verify
    constantsTouched: []
    func_position:
      end: 844
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 844
    functionName: cryptofuzz::ExecutorBase<bool, operation::Schnorr_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpSchnorr_Verify
    - digestType::Get
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::Schnorr_Verify>::callModule(std::shared_ptr<Module>
      module, operation::Schnorr_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDSA_Recover
    - ExecutorBase<component::ECC_PublicKey, operation::ECDSA_Recover>::ResultPair
    constantsTouched: []
    func_position:
      end: 850
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 850
    functionName: cryptofuzz::ExecutorBase<component::ECC_PublicKey, operation::ECDSA_Recover>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_PublicKey, operation::ECDSA_Recover>::postprocess(std::shared_ptr<Module>
      module, operation::ECDSA_Recover& op, const ExecutorBase<component::ECC_PublicKey,
      operation::ECDSA_Recover>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:853,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:853,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:854,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:854,1
    - Dst: std::shared_ptr<Module>::OpECDSA_Recover
      Src: /src/cryptofuzz/executor.cpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDSA_Recover
    constantsTouched: []
    func_position:
      end: 857
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 857
    functionName: cryptofuzz::ExecutorBase<component::ECC_PublicKey, operation::ECDSA_Recover>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECDSA_Recover
    - digestType::Get
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> ExecutorBase<component::ECC_PublicKey,
      operation::ECDSA_Recover>::callModule(std::shared_ptr<Module> module, operation::ECDSA_Recover&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - moduleID
    - ' op'
    argTypes:
    - uint64_t
    - operation::DSA_Verify
    constantsTouched: []
    func_position:
      end: 865
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 865
    functionName: cryptofuzz::ExecutorBase<bool, operation::DSA_Verify>::updateExtraCounters
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::DSA_Verify>::updateExtraCounters(const
      uint64_t moduleID, operation::DSA_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_Verify
    - ExecutorBase<bool, operation::DSA_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 871
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 871
    functionName: cryptofuzz::ExecutorBase<bool, operation::DSA_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::DSA_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::DSA_Verify& op, const ExecutorBase<bool, operation::DSA_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters::p::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:875,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:876,1
    - Dst: parameters::g::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:877,1
    - Dst: pub::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:878,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:879,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:880,1
    - Dst: std::shared_ptr<Module>::OpDSA_Verify
      Src: /src/cryptofuzz/executor.cpp:889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_Verify
    constantsTouched: []
    func_position:
      end: 890
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 890
    functionName: cryptofuzz::ExecutorBase<bool, operation::DSA_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpDSA_Verify
    - parameters::p::ToTrimmedString
    - pub::ToTrimmedString
    - signature::first::ToTrimmedString
    - signature::second::ToTrimmedString
    - parameters::q::ToTrimmedString
    - parameters::g::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::DSA_Verify>::callModule(std::shared_ptr<Module>
      module, operation::DSA_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, operation::DSA_Sign> >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 900
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 900
    functionName: cryptofuzz::ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::compare(const
      std::vector< std::pair<std::shared_ptr<Module>, operation::DSA_Sign> >& operations,
      const ResultSet& results, const uint8_t* data, const size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - moduleID
    - ' op'
    argTypes:
    - uint64_t
    - operation::DSA_Sign
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: cryptofuzz::ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::updateExtraCounters
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::updateExtraCounters(const
      uint64_t moduleID, operation::DSA_Sign& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:912,1
    - Dst: parameters::p::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:913,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:914,1
    - Dst: parameters::g::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:915,1
    - Dst: second::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:916,1
    - Dst: second::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:917,1
    - Dst: second::pub::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:918,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:920,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:930,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:930,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:931,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_Sign
    - ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 933
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 933
    functionName: cryptofuzz::ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::signature::second::ToTrimmedString
    - second::signature::first::ToTrimmedString
    - parameters::p::ToTrimmedString
    - auto::size
    - Set
    - cleartext::ToHex
    - parameters::q::ToTrimmedString
    - second::pub::ToTrimmedString
    - parameters::g::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::DSA_Sign& op, const ExecutorBase<component::DSA_Signature,
      operation::DSA_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters::p::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:937,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:938,1
    - Dst: parameters::g::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:939,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:940,1
    - Dst: std::shared_ptr<Module>::OpDSA_Sign
      Src: /src/cryptofuzz/executor.cpp:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_Sign
    constantsTouched: []
    func_position:
      end: 950
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 950
    functionName: cryptofuzz::ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - parameters::p::ToTrimmedString
    - std::shared_ptr<Module>::OpDSA_Sign
    - parameters::q::ToTrimmedString
    - parameters::g::ToTrimmedString
    - priv::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::DSA_Signature>
    signature: std::optional<component::DSA_Signature> ExecutorBase<component::DSA_Signature,
      operation::DSA_Sign>::callModule(std::shared_ptr<Module> module, operation::DSA_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - moduleID
    - ' op'
    argTypes:
    - uint64_t
    - operation::DSA_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 959
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 959
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::updateExtraCounters
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::updateExtraCounters(const
      uint64_t moduleID, operation::DSA_PrivateToPublic& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_PrivateToPublic
    - ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::ResultPair
    constantsTouched: []
    func_position:
      end: 968
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 968
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::postprocess(std::shared_ptr<Module>
      module, operation::DSA_PrivateToPublic& op, const ExecutorBase<component::Bignum,
      operation::DSA_PrivateToPublic>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpDSA_PrivateToPublic
      Src: /src/cryptofuzz/executor.cpp:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 972
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 972
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpDSA_PrivateToPublic
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::callModule(std::shared_ptr<Module>
      module, operation::DSA_PrivateToPublic& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, operation::DSA_GenerateKeyPair>
      >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 983
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 983
    functionName: cryptofuzz::ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::compare(const
      std::vector< std::pair<std::shared_ptr<Module>, operation::DSA_GenerateKeyPair>
      >& operations, const ResultSet& results, const uint8_t* data, const size_t size)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - moduleID
    - ' op'
    argTypes:
    - uint64_t
    - operation::DSA_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 990
    functionName: cryptofuzz::ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::updateExtraCounters
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::updateExtraCounters(const
      uint64_t moduleID, operation::DSA_GenerateKeyPair& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/executor.cpp:996,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:997,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:998,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_GenerateKeyPair
    - ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::ResultPair
    constantsTouched: []
    func_position:
      end: 1002
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1002
    functionName: cryptofuzz::ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - Set
    - second::second::ToTrimmedString
    - PRNG
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::postprocess(std::shared_ptr<Module>
      module, operation::DSA_GenerateKeyPair& op, const ExecutorBase<component::DSA_KeyPair,
      operation::DSA_GenerateKeyPair>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1006,1
    - Dst: q::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1007,1
    - Dst: g::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1008,1
    - Dst: std::shared_ptr<Module>::OpDSA_GenerateKeyPair
      Src: /src/cryptofuzz/executor.cpp:1017,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 1018
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1018
    functionName: cryptofuzz::ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - q::ToTrimmedString
    - p::ToTrimmedString
    - g::ToTrimmedString
    - std::shared_ptr<Module>::OpDSA_GenerateKeyPair
    linkageType: ''
    returnType: std::optional<component::DSA_KeyPair>
    signature: std::optional<component::DSA_KeyPair> ExecutorBase<component::DSA_KeyPair,
      operation::DSA_GenerateKeyPair>::callModule(std::shared_ptr<Module> module,
      operation::DSA_GenerateKeyPair& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, operation::DSA_GenerateParameters>
      >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1029
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1029
    functionName: cryptofuzz::ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::compare(const
      std::vector< std::pair<std::shared_ptr<Module>, operation::DSA_GenerateParameters>
      >& operations, const ResultSet& results, const uint8_t* data, const size_t size)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - moduleID
    - ' op'
    argTypes:
    - uint64_t
    - operation::DSA_GenerateParameters
    constantsTouched: []
    func_position:
      end: 1036
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1036
    functionName: cryptofuzz::ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::updateExtraCounters
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::updateExtraCounters(const
      uint64_t moduleID, operation::DSA_GenerateParameters& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/executor.cpp:1042,1
    - Dst: second::p::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1043,1
    - Dst: second::q::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1044,1
    - Dst: second::g::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1045,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1047,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1049,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1049,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1050,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1050,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1051,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1051,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_GenerateParameters
    - ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::ResultPair
    constantsTouched: []
    func_position:
      end: 1053
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1053
    functionName: cryptofuzz::ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - second::g::ToTrimmedString
    - Set
    - second::q::ToTrimmedString
    - auto::size
    - second::p::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::postprocess(std::shared_ptr<Module>
      module, operation::DSA_GenerateParameters& op, const ExecutorBase<component::DSA_Parameters,
      operation::DSA_GenerateParameters>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpDSA_GenerateParameters
      Src: /src/cryptofuzz/executor.cpp:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_GenerateParameters
    constantsTouched: []
    func_position:
      end: 1057
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1057
    functionName: cryptofuzz::ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpDSA_GenerateParameters
    linkageType: ''
    returnType: std::optional<component::DSA_Parameters>
    signature: std::optional<component::DSA_Parameters> ExecutorBase<component::DSA_Parameters,
      operation::DSA_GenerateParameters>::callModule(std::shared_ptr<Module> module,
      operation::DSA_GenerateParameters& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDH_Derive
    - ExecutorBase<component::Secret, operation::ECDH_Derive>::ResultPair
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: cryptofuzz::ExecutorBase<component::Secret, operation::ECDH_Derive>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Secret, operation::ECDH_Derive>::postprocess(std::shared_ptr<Module>
      module, operation::ECDH_Derive& op, const ExecutorBase<component::Secret, operation::ECDH_Derive>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1067,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1067,1
    - Dst: std::shared_ptr<Module>::OpECDH_Derive
      Src: /src/cryptofuzz/executor.cpp:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 1070
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1070
    functionName: cryptofuzz::ExecutorBase<component::Secret, operation::ECDH_Derive>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECDH_Derive
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> ExecutorBase<component::Secret, operation::ECDH_Derive>::callModule(std::shared_ptr<Module>
      module, operation::ECDH_Derive& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, operation::ECIES_Encrypt> >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1079
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1079
    functionName: cryptofuzz::ExecutorBase<component::Ciphertext, operation::ECIES_Encrypt>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Ciphertext, operation::ECIES_Encrypt>::compare(const
      std::vector< std::pair<std::shared_ptr<Module>, operation::ECIES_Encrypt> >&
      operations, const ResultSet& results, const uint8_t* data, const size_t size)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECIES_Encrypt
    - ExecutorBase<component::Ciphertext, operation::ECIES_Encrypt>::ResultPair
    constantsTouched: []
    func_position:
      end: 1084
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1084
    functionName: cryptofuzz::ExecutorBase<component::Ciphertext, operation::ECIES_Encrypt>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Ciphertext, operation::ECIES_Encrypt>::postprocess(std::shared_ptr<Module>
      module, operation::ECIES_Encrypt& op, const ExecutorBase<component::Ciphertext,
      operation::ECIES_Encrypt>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1087,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1087,1
    - Dst: std::shared_ptr<Module>::OpECIES_Encrypt
      Src: /src/cryptofuzz/executor.cpp:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECIES_Encrypt
    constantsTouched: []
    func_position:
      end: 1090
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1090
    functionName: cryptofuzz::ExecutorBase<component::Ciphertext, operation::ECIES_Encrypt>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECIES_Encrypt
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> ExecutorBase<component::Ciphertext,
      operation::ECIES_Encrypt>::callModule(std::shared_ptr<Module> module, operation::ECIES_Encrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECIES_Decrypt
    - ExecutorBase<component::Cleartext, operation::ECIES_Decrypt>::ResultPair
    constantsTouched: []
    func_position:
      end: 1097
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1097
    functionName: cryptofuzz::ExecutorBase<component::Cleartext, operation::ECIES_Decrypt>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Cleartext, operation::ECIES_Decrypt>::postprocess(std::shared_ptr<Module>
      module, operation::ECIES_Decrypt& op, const ExecutorBase<component::Cleartext,
      operation::ECIES_Decrypt>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1100,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1100,1
    - Dst: std::shared_ptr<Module>::OpECIES_Decrypt
      Src: /src/cryptofuzz/executor.cpp:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECIES_Decrypt
    constantsTouched: []
    func_position:
      end: 1103
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1103
    functionName: cryptofuzz::ExecutorBase<component::Cleartext, operation::ECIES_Decrypt>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - RETURN_IF_DISABLED
    - curveType::Get
    - std::shared_ptr<Module>::OpECIES_Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> ExecutorBase<component::Cleartext,
      operation::ECIES_Decrypt>::callModule(std::shared_ptr<Module> module, operation::ECIES_Decrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1110,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1111,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1112,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1114,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1116,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1116,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1117,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Add
    - ExecutorBase<component::ECC_Point, operation::ECC_Point_Add>::ResultPair
    constantsTouched: []
    func_position:
      end: 1119
      start: 1106
    functionDepth: 1
    functionLinenumber: 1106
    functionLinenumberEnd: 1119
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Add>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_Point, operation::ECC_Point_Add>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_Point_Add& op, const ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Add>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1122,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1122,1
    - Dst: std::shared_ptr<Module>::OpECC_Point_Add
      Src: /src/cryptofuzz/executor.cpp:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 1125
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1125
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Add>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - RETURN_IF_DISABLED
    - curveType::Get
    - std::shared_ptr<Module>::OpECC_Point_Add
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Add>::callModule(std::shared_ptr<Module> module, operation::ECC_Point_Add&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1132,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1133,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1134,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1136,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1138,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1138,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1139,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Sub
    - ExecutorBase<component::ECC_Point, operation::ECC_Point_Sub>::ResultPair
    constantsTouched: []
    func_position:
      end: 1141
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1141
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Sub>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_Point, operation::ECC_Point_Sub>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_Point_Sub& op, const ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Sub>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1144,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1144,1
    - Dst: std::shared_ptr<Module>::OpECC_Point_Sub
      Src: /src/cryptofuzz/executor.cpp:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Sub
    constantsTouched: []
    func_position:
      end: 1147
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1147
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Sub>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECC_Point_Sub
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Sub>::callModule(std::shared_ptr<Module> module, operation::ECC_Point_Sub&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1154,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1155,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1156,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1158,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1160,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1160,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1161,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Mul
    - ExecutorBase<component::ECC_Point, operation::ECC_Point_Mul>::ResultPair
    constantsTouched: []
    func_position:
      end: 1163
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1163
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Mul>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_Point, operation::ECC_Point_Mul>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_Point_Mul& op, const ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Mul>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1166,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1166,1
    - Dst: std::shared_ptr<Module>::OpECC_Point_Mul
      Src: /src/cryptofuzz/executor.cpp:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 1169
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1169
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Mul>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECC_Point_Mul
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Mul>::callModule(std::shared_ptr<Module> module, operation::ECC_Point_Mul&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1176,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1177,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1178,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1180,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1182,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1182,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1183,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Neg
    - ExecutorBase<component::ECC_Point, operation::ECC_Point_Neg>::ResultPair
    constantsTouched: []
    func_position:
      end: 1185
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1185
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Neg>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_Point, operation::ECC_Point_Neg>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_Point_Neg& op, const ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Neg>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1188,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1188,1
    - Dst: std::shared_ptr<Module>::OpECC_Point_Neg
      Src: /src/cryptofuzz/executor.cpp:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 1191
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1191
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Neg>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECC_Point_Neg
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Neg>::callModule(std::shared_ptr<Module> module, operation::ECC_Point_Neg&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1198,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1199,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1200,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1202,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1204,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1204,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1205,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Dbl
    - ExecutorBase<component::ECC_Point, operation::ECC_Point_Dbl>::ResultPair
    constantsTouched: []
    func_position:
      end: 1207
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1207
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Dbl>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_Point, operation::ECC_Point_Dbl>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_Point_Dbl& op, const ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Dbl>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1210,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1210,1
    - Dst: std::shared_ptr<Module>::OpECC_Point_Dbl
      Src: /src/cryptofuzz/executor.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 1213
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1213
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Dbl>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECC_Point_Dbl
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Dbl>::callModule(std::shared_ptr<Module> module, operation::ECC_Point_Dbl&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Cmp
    - ExecutorBase<bool, operation::ECC_Point_Cmp>::ResultPair
    constantsTouched: []
    func_position:
      end: 1220
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1220
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECC_Point_Cmp>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::ECC_Point_Cmp>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_Point_Cmp& op, const ExecutorBase<bool, operation::ECC_Point_Cmp>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1223,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1223,1
    - Dst: std::shared_ptr<Module>::OpECC_Point_Cmp
      Src: /src/cryptofuzz/executor.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Cmp
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECC_Point_Cmp>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECC_Point_Cmp
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::ECC_Point_Cmp>::callModule(std::shared_ptr<Module>
      module, operation::ECC_Point_Cmp& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DH_Derive
    - ExecutorBase<component::Bignum, operation::DH_Derive>::ResultPair
    constantsTouched: []
    func_position:
      end: 1233
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1233
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::DH_Derive>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Bignum, operation::DH_Derive>::postprocess(std::shared_ptr<Module>
      module, operation::DH_Derive& op, const ExecutorBase<component::Bignum, operation::DH_Derive>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prime::GetSize
      Src: /src/cryptofuzz/executor.cpp:1236,1
    - Dst: base::GetSize
      Src: /src/cryptofuzz/executor.cpp:1237,1
    - Dst: pub::GetSize
      Src: /src/cryptofuzz/executor.cpp:1238,1
    - Dst: priv::GetSize
      Src: /src/cryptofuzz/executor.cpp:1239,1
    - Dst: std::shared_ptr<Module>::OpDH_Derive
      Src: /src/cryptofuzz/executor.cpp:1241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DH_Derive
    constantsTouched: []
    func_position:
      end: 1242
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1242
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::DH_Derive>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - prime::GetSize
    - base::GetSize
    - priv::GetSize
    - pub::GetSize
    - std::shared_ptr<Module>::OpDH_Derive
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ExecutorBase<component::Bignum, operation::DH_Derive>::callModule(std::shared_ptr<Module>
      module, operation::DH_Derive& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/executor.cpp:1250,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1251,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1252,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1254,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DH_GenerateKeyPair
    - ExecutorBase<component::DH_KeyPair, operation::DH_GenerateKeyPair>::ResultPair
    constantsTouched: []
    func_position:
      end: 1257
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1257
    functionName: cryptofuzz::ExecutorBase<component::DH_KeyPair, operation::DH_GenerateKeyPair>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - Set
    - second::second::ToTrimmedString
    - PRNG
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DH_KeyPair, operation::DH_GenerateKeyPair>::postprocess(std::shared_ptr<Module>
      module, operation::DH_GenerateKeyPair& op, const ExecutorBase<component::DH_KeyPair,
      operation::DH_GenerateKeyPair>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prime::GetSize
      Src: /src/cryptofuzz/executor.cpp:1260,1
    - Dst: base::GetSize
      Src: /src/cryptofuzz/executor.cpp:1261,1
    - Dst: std::shared_ptr<Module>::OpDH_GenerateKeyPair
      Src: /src/cryptofuzz/executor.cpp:1263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DH_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 1264
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1264
    functionName: cryptofuzz::ExecutorBase<component::DH_KeyPair, operation::DH_GenerateKeyPair>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - prime::GetSize
    - base::GetSize
    - std::shared_ptr<Module>::OpDH_GenerateKeyPair
    linkageType: ''
    returnType: std::optional<component::DH_KeyPair>
    signature: std::optional<component::DH_KeyPair> ExecutorBase<component::DH_KeyPair,
      operation::DH_GenerateKeyPair>::callModule(std::shared_ptr<Module> module, operation::DH_GenerateKeyPair&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1272,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1274,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1275,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/executor.cpp:1276,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:1276,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1277,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/executor.cpp:1280,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:1280,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1282,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BignumCalc
    - ExecutorBase<component::Bignum, operation::BignumCalc>::ResultPair
    constantsTouched: []
    func_position:
      end: 1286
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1286
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::BignumCalc>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - calcOp::Is
    - Set
    - bn0::ToTrimmedString
    - auto::size
    - second::ToTrimmedString
    - CF_CALCOP
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Bignum, operation::BignumCalc>::postprocess(std::shared_ptr<Module>
      module, operation::BignumCalc& op, const ExecutorBase<component::Bignum, operation::BignumCalc>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1289,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:1289,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/executor.cpp:1292,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1293,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/executor.cpp:1294,1
    - Dst: bn3::GetSize
      Src: /src/cryptofuzz/executor.cpp:1295,1
    - Dst: std::shared_ptr<Module>::SupportsModularBignumCalc
      Src: /src/cryptofuzz/executor.cpp:1297,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:1301,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:1302,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1304,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:1308,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/executor.cpp:1309,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1309,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:1313,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1314,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:1318,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/executor.cpp:1319,1
    - Dst: std::shared_ptr<Module>::OpBignumCalc
      Src: /src/cryptofuzz/executor.cpp:1325,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1326
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1326
    functionName: cryptofuzz::ExecutorBignumCalc::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - bn0::GetSize
    - bn2::GetSize
    - bn1::GetSize
    - std::shared_ptr<Module>::SupportsModularBignumCalc
    - std::shared_ptr<Module>::OpBignumCalc
    - bn3::GetSize
    - calcOp::Get
    - RETURN_IF_DISABLED
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ExecutorBignumCalc::callModule(std::shared_ptr<Module>
      module, operation::BignumCalc& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1334,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1335,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1337,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1338,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1340,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BignumCalc_Fp2
    - ExecutorBase<component::Fp2, operation::BignumCalc_Fp2>::ResultPair
    constantsTouched: []
    func_position:
      end: 1344
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1344
    functionName: cryptofuzz::ExecutorBase<component::Fp2, operation::BignumCalc_Fp2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - second::second::ToTrimmedString
    - Set
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Fp2, operation::BignumCalc_Fp2>::postprocess(std::shared_ptr<Module>
      module, operation::BignumCalc_Fp2& op, const ExecutorBase<component::Fp2, operation::BignumCalc_Fp2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1347,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:1347,1
    - Dst: bn0::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1350,1
    - Dst: bn0::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1351,1
    - Dst: bn1::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1352,1
    - Dst: bn1::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1353,1
    - Dst: bn2::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1354,1
    - Dst: bn2::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1355,1
    - Dst: bn3::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1356,1
    - Dst: bn3::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1357,1
    - Dst: std::shared_ptr<Module>::SupportsModularBignumCalc
      Src: /src/cryptofuzz/executor.cpp:1359,1
    - Dst: std::shared_ptr<Module>::OpBignumCalc_Fp2
      Src: /src/cryptofuzz/executor.cpp:1363,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 1364
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1364
    functionName: cryptofuzz::ExecutorBignumCalc_Fp2::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - bn1::first::GetSize
    - bn0::first::GetSize
    - bn3::second::GetSize
    - bn0::second::GetSize
    - bn2::second::GetSize
    - std::shared_ptr<Module>::OpBignumCalc_Fp2
    - std::shared_ptr<Module>::SupportsModularBignumCalc
    - bn3::first::GetSize
    - bn1::second::GetSize
    - calcOp::Get
    - bn2::first::GetSize
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> ExecutorBignumCalc_Fp2::callModule(std::shared_ptr<Module>
      module, operation::BignumCalc_Fp2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1372,1
    - Dst: second::bn1::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1373,1
    - Dst: second::bn2::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1374,1
    - Dst: second::bn3::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1375,1
    - Dst: second::bn4::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1376,1
    - Dst: second::bn5::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1377,1
    - Dst: second::bn6::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1378,1
    - Dst: second::bn7::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1379,1
    - Dst: second::bn8::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1380,1
    - Dst: second::bn9::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1381,1
    - Dst: second::bn10::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1382,1
    - Dst: second::bn11::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1383,1
    - Dst: second::bn12::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1384,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1388,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1389,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1391,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1392,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1394,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BignumCalc_Fp12
    - ExecutorBase<component::Fp12, operation::BignumCalc_Fp12>::ResultPair
    constantsTouched: []
    func_position:
      end: 1399
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1399
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BignumCalc_Fp12>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::bn11::ToTrimmedString
    - second::second::ToTrimmedString
    - second::bn7::ToTrimmedString
    - second::bn12::ToTrimmedString
    - second::bn5::ToTrimmedString
    - second::bn1::ToTrimmedString
    - second::bn8::ToTrimmedString
    - second::bn6::ToTrimmedString
    - Set
    - second::bn9::ToTrimmedString
    - second::bn2::ToTrimmedString
    - second::bn4::ToTrimmedString
    - auto::size
    - second::bn3::ToTrimmedString
    - second::bn10::ToTrimmedString
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Fp12, operation::BignumCalc_Fp12>::postprocess(std::shared_ptr<Module>
      module, operation::BignumCalc_Fp12& op, const ExecutorBase<component::Fp12,
      operation::BignumCalc_Fp12>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1402,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:1402,1
    - Dst: bn0::bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1405,1
    - Dst: bn0::bn2::GetSize
      Src: /src/cryptofuzz/executor.cpp:1406,1
    - Dst: bn0::bn3::GetSize
      Src: /src/cryptofuzz/executor.cpp:1407,1
    - Dst: bn0::bn4::GetSize
      Src: /src/cryptofuzz/executor.cpp:1408,1
    - Dst: bn0::bn5::GetSize
      Src: /src/cryptofuzz/executor.cpp:1409,1
    - Dst: bn0::bn6::GetSize
      Src: /src/cryptofuzz/executor.cpp:1410,1
    - Dst: bn0::bn7::GetSize
      Src: /src/cryptofuzz/executor.cpp:1411,1
    - Dst: bn0::bn8::GetSize
      Src: /src/cryptofuzz/executor.cpp:1412,1
    - Dst: bn0::bn9::GetSize
      Src: /src/cryptofuzz/executor.cpp:1413,1
    - Dst: bn0::bn10::GetSize
      Src: /src/cryptofuzz/executor.cpp:1414,1
    - Dst: bn0::bn11::GetSize
      Src: /src/cryptofuzz/executor.cpp:1415,1
    - Dst: bn0::bn12::GetSize
      Src: /src/cryptofuzz/executor.cpp:1416,1
    - Dst: bn1::bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1418,1
    - Dst: bn1::bn2::GetSize
      Src: /src/cryptofuzz/executor.cpp:1419,1
    - Dst: bn1::bn3::GetSize
      Src: /src/cryptofuzz/executor.cpp:1420,1
    - Dst: bn1::bn4::GetSize
      Src: /src/cryptofuzz/executor.cpp:1421,1
    - Dst: bn1::bn5::GetSize
      Src: /src/cryptofuzz/executor.cpp:1422,1
    - Dst: bn1::bn6::GetSize
      Src: /src/cryptofuzz/executor.cpp:1423,1
    - Dst: bn1::bn7::GetSize
      Src: /src/cryptofuzz/executor.cpp:1424,1
    - Dst: bn1::bn8::GetSize
      Src: /src/cryptofuzz/executor.cpp:1425,1
    - Dst: bn1::bn9::GetSize
      Src: /src/cryptofuzz/executor.cpp:1426,1
    - Dst: bn1::bn10::GetSize
      Src: /src/cryptofuzz/executor.cpp:1427,1
    - Dst: bn1::bn11::GetSize
      Src: /src/cryptofuzz/executor.cpp:1428,1
    - Dst: bn1::bn12::GetSize
      Src: /src/cryptofuzz/executor.cpp:1429,1
    - Dst: bn2::bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1431,1
    - Dst: bn2::bn2::GetSize
      Src: /src/cryptofuzz/executor.cpp:1432,1
    - Dst: bn2::bn3::GetSize
      Src: /src/cryptofuzz/executor.cpp:1433,1
    - Dst: bn2::bn4::GetSize
      Src: /src/cryptofuzz/executor.cpp:1434,1
    - Dst: bn2::bn5::GetSize
      Src: /src/cryptofuzz/executor.cpp:1435,1
    - Dst: bn2::bn6::GetSize
      Src: /src/cryptofuzz/executor.cpp:1436,1
    - Dst: bn2::bn7::GetSize
      Src: /src/cryptofuzz/executor.cpp:1437,1
    - Dst: bn2::bn8::GetSize
      Src: /src/cryptofuzz/executor.cpp:1438,1
    - Dst: bn2::bn9::GetSize
      Src: /src/cryptofuzz/executor.cpp:1439,1
    - Dst: bn2::bn10::GetSize
      Src: /src/cryptofuzz/executor.cpp:1440,1
    - Dst: bn2::bn11::GetSize
      Src: /src/cryptofuzz/executor.cpp:1441,1
    - Dst: bn2::bn12::GetSize
      Src: /src/cryptofuzz/executor.cpp:1442,1
    - Dst: bn3::bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1444,1
    - Dst: bn3::bn2::GetSize
      Src: /src/cryptofuzz/executor.cpp:1445,1
    - Dst: bn3::bn3::GetSize
      Src: /src/cryptofuzz/executor.cpp:1446,1
    - Dst: bn3::bn4::GetSize
      Src: /src/cryptofuzz/executor.cpp:1447,1
    - Dst: bn3::bn5::GetSize
      Src: /src/cryptofuzz/executor.cpp:1448,1
    - Dst: bn3::bn6::GetSize
      Src: /src/cryptofuzz/executor.cpp:1449,1
    - Dst: bn3::bn7::GetSize
      Src: /src/cryptofuzz/executor.cpp:1450,1
    - Dst: bn3::bn8::GetSize
      Src: /src/cryptofuzz/executor.cpp:1451,1
    - Dst: bn3::bn9::GetSize
      Src: /src/cryptofuzz/executor.cpp:1452,1
    - Dst: bn3::bn10::GetSize
      Src: /src/cryptofuzz/executor.cpp:1453,1
    - Dst: bn3::bn11::GetSize
      Src: /src/cryptofuzz/executor.cpp:1454,1
    - Dst: bn3::bn12::GetSize
      Src: /src/cryptofuzz/executor.cpp:1455,1
    - Dst: std::shared_ptr<Module>::SupportsModularBignumCalc
      Src: /src/cryptofuzz/executor.cpp:1457,1
    - Dst: std::shared_ptr<Module>::OpBignumCalc_Fp12
      Src: /src/cryptofuzz/executor.cpp:1461,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 102
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 1462
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1462
    functionName: cryptofuzz::ExecutorBignumCalc_Fp12::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - bn3::bn8::GetSize
    - bn0::bn12::GetSize
    - bn0::bn3::GetSize
    - bn3::bn4::GetSize
    - bn3::bn11::GetSize
    - bn1::bn5::GetSize
    - bn0::bn5::GetSize
    - bn3::bn6::GetSize
    - bn0::bn2::GetSize
    - bn0::bn9::GetSize
    - bn0::bn7::GetSize
    - bn2::bn6::GetSize
    - bn1::bn3::GetSize
    - bn1::bn4::GetSize
    - bn3::bn12::GetSize
    - bn3::bn1::GetSize
    - bn1::bn11::GetSize
    - RETURN_IF_DISABLED
    - bn1::bn10::GetSize
    - bn0::bn10::GetSize
    - bn0::bn11::GetSize
    - bn0::bn8::GetSize
    - bn1::bn2::GetSize
    - bn0::bn4::GetSize
    - bn3::bn5::GetSize
    - bn2::bn7::GetSize
    - bn2::bn8::GetSize
    - std::shared_ptr<Module>::SupportsModularBignumCalc
    - bn1::bn9::GetSize
    - bn0::bn1::GetSize
    - bn2::bn1::GetSize
    - bn2::bn10::GetSize
    - bn2::bn5::GetSize
    - bn2::bn12::GetSize
    - bn3::bn3::GetSize
    - bn3::bn10::GetSize
    - std::shared_ptr<Module>::OpBignumCalc_Fp12
    - bn2::bn4::GetSize
    - bn3::bn7::GetSize
    - calcOp::Get
    - bn3::bn9::GetSize
    - bn0::bn6::GetSize
    - bn1::bn8::GetSize
    - bn2::bn3::GetSize
    - bn2::bn11::GetSize
    - bn3::bn2::GetSize
    - bn2::bn9::GetSize
    - bn1::bn12::GetSize
    - bn1::bn1::GetSize
    - bn2::bn2::GetSize
    - bn1::bn7::GetSize
    - bn1::bn6::GetSize
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> ExecutorBignumCalc_Fp12::callModule(std::shared_ptr<Module>
      module, operation::BignumCalc_Fp12& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1469,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1470,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1471,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1473,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1475,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1475,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1476,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_PrivateToPublic
    - ExecutorBase<component::BLS_PublicKey, operation::BLS_PrivateToPublic>::ResultPair
    constantsTouched: []
    func_position:
      end: 1478
      start: 1465
    functionDepth: 1
    functionLinenumber: 1465
    functionLinenumberEnd: 1478
    functionName: cryptofuzz::ExecutorBase<component::BLS_PublicKey, operation::BLS_PrivateToPublic>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - G1AddToPool
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::BLS_PublicKey, operation::BLS_PrivateToPublic>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_PrivateToPublic& op, const ExecutorBase<component::BLS_PublicKey,
      operation::BLS_PrivateToPublic>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1481,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1481,1
    - Dst: std::shared_ptr<Module>::OpBLS_PrivateToPublic
      Src: /src/cryptofuzz/executor.cpp:1489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 1490
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1490
    functionName: cryptofuzz::ExecutorBase<component::BLS_PublicKey, operation::BLS_PrivateToPublic>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_PrivateToPublic
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> ExecutorBase<component::BLS_PublicKey,
      operation::BLS_PrivateToPublic>::callModule(std::shared_ptr<Module> module,
      operation::BLS_PrivateToPublic& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1496,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1497,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1498,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1499,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1500,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:1502,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1504,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1504,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1505,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1505,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1506,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1506,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1507,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_PrivateToPublic_G2
    - ExecutorBase<component::G2, operation::BLS_PrivateToPublic_G2>::ResultPair
    constantsTouched: []
    func_position:
      end: 1509
      start: 1493
    functionDepth: 1
    functionLinenumber: 1493
    functionLinenumberEnd: 1509
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_PrivateToPublic_G2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::first::ToTrimmedString
    - second::second::second::ToTrimmedString
    - second::first::second::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - auto::size
    - G2AddToPool
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_PrivateToPublic_G2>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_PrivateToPublic_G2& op, const ExecutorBase<component::G2,
      operation::BLS_PrivateToPublic_G2>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_PrivateToPublic_G2
      Src: /src/cryptofuzz/executor.cpp:1518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 1519
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1519
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_PrivateToPublic_G2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_PrivateToPublic_G2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_PrivateToPublic_G2>::callModule(std::shared_ptr<Module>
      module, operation::BLS_PrivateToPublic_G2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1526,1
    - Dst: point::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1527,1
    - Dst: point::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1528,1
    - Dst: point::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1529,1
    - Dst: point::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1530,1
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:1531,1
    - Dst: dest::ToHex
      Src: /src/cryptofuzz/executor.cpp:1532,1
    - Dst: aug::ToHex
      Src: /src/cryptofuzz/executor.cpp:1533,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1534,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1535,1
    - Dst: second::signature::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1536,1
    - Dst: second::signature::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1537,1
    - Dst: second::signature::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1538,1
    - Dst: second::signature::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1539,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1541,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:1542,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1543,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1545,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1545,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1546,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1546,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1547,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1547,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1548,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1548,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1549,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1549,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1550,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Sign
    - ExecutorBase<component::BLS_Signature, operation::BLS_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 1552
      start: 1522
    functionDepth: 1
    functionLinenumber: 1522
    functionLinenumberEnd: 1552
    functionName: cryptofuzz::ExecutorBase<component::BLS_Signature, operation::BLS_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::signature::second::first::ToTrimmedString
    - second::pub::second::ToTrimmedString
    - aug::ToHex
    - second::signature::first::first::ToTrimmedString
    - second::signature::first::second::ToTrimmedString
    - G1AddToPool
    - point::first::second::ToTrimmedString
    - point::first::first::ToTrimmedString
    - second::signature::second::second::ToTrimmedString
    - Set
    - second::pub::first::ToTrimmedString
    - cleartext::ToHex
    - auto::size
    - G2AddToPool
    - point::second::second::ToTrimmedString
    - dest::ToHex
    - curveType::Get
    - point::second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::BLS_Signature, operation::BLS_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Sign& op, const ExecutorBase<component::BLS_Signature,
      operation::BLS_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Sign
      Src: /src/cryptofuzz/executor.cpp:1561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 1562
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1562
    functionName: cryptofuzz::ExecutorBase<component::BLS_Signature, operation::BLS_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Sign
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> ExecutorBase<component::BLS_Signature,
      operation::BLS_Sign>::callModule(std::shared_ptr<Module> module, operation::BLS_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Verify
    - ExecutorBase<bool, operation::BLS_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 1569
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1569
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::BLS_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Verify& op, const ExecutorBase<bool, operation::BLS_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1574,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1575,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1576,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1577,1
    - Dst: std::shared_ptr<Module>::OpBLS_Verify
      Src: /src/cryptofuzz/executor.cpp:1587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 1588
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1588
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Verify
    - pub::first::ToTrimmedString
    - pub::second::ToTrimmedString
    - signature::second::ToTrimmedString
    - signature::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::BLS_Verify>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/executor.cpp:1598,1
    - Dst: first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1601,1
    - Dst: first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1602,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1605,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1606,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1607,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1608,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1612,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:1612,1
    - Dst: first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1612,1
    - Dst: first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1612,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1613,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:1614,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1615,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1616,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1617,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1618,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_BatchSign
    - ExecutorBase<component::BLS_BatchSignature, operation::BLS_BatchSign>::ResultPair
    constantsTouched: []
    func_position:
      end: 1623
      start: 1591
    functionDepth: 1
    functionLinenumber: 1591
    functionLinenumberEnd: 1623
    functionName: cryptofuzz::ExecutorBase<component::BLS_BatchSignature, operation::BLS_BatchSign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::first::ToTrimmedString
    - G1AddToPool
    - CF_ECC_CURVE
    - second::second::second::ToTrimmedString
    - second::first::second::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - first::second::ToTrimmedString
    - first::first::ToTrimmedString
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::BLS_BatchSignature, operation::BLS_BatchSign>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_BatchSign& op, const ExecutorBase<component::BLS_BatchSignature,
      operation::BLS_BatchSign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_BatchSign
      Src: /src/cryptofuzz/executor.cpp:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_BatchSign
    constantsTouched: []
    func_position:
      end: 1627
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1627
    functionName: cryptofuzz::ExecutorBase<component::BLS_BatchSignature, operation::BLS_BatchSign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_BatchSign
    linkageType: ''
    returnType: std::optional<component::BLS_BatchSignature>
    signature: std::optional<component::BLS_BatchSignature> ExecutorBase<component::BLS_BatchSignature,
      operation::BLS_BatchSign>::callModule(std::shared_ptr<Module> module, operation::BLS_BatchSign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_BatchVerify
    - ExecutorBase<bool, operation::BLS_BatchVerify>::ResultPair
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_BatchVerify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::BLS_BatchVerify>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_BatchVerify& op, const ExecutorBase<bool, operation::BLS_BatchVerify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_BatchVerify
      Src: /src/cryptofuzz/executor.cpp:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 1638
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1638
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_BatchVerify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_BatchVerify
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::BLS_BatchVerify>::callModule(std::shared_ptr<Module>
      module, operation::BLS_BatchVerify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Aggregate_G1
    - ExecutorBase<component::G1, operation::BLS_Aggregate_G1>::ResultPair
    constantsTouched: []
    func_position:
      end: 1645
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1645
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_Aggregate_G1>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_Aggregate_G1>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Aggregate_G1& op, const ExecutorBase<component::G1, operation::BLS_Aggregate_G1>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Aggregate_G1
      Src: /src/cryptofuzz/executor.cpp:1648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Aggregate_G1
    constantsTouched: []
    func_position:
      end: 1649
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1649
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_Aggregate_G1>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Aggregate_G1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_Aggregate_G1>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Aggregate_G1& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Aggregate_G2
    - ExecutorBase<component::G2, operation::BLS_Aggregate_G2>::ResultPair
    constantsTouched: []
    func_position:
      end: 1656
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1656
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_Aggregate_G2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_Aggregate_G2>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Aggregate_G2& op, const ExecutorBase<component::G2, operation::BLS_Aggregate_G2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Aggregate_G2
      Src: /src/cryptofuzz/executor.cpp:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Aggregate_G2
    constantsTouched: []
    func_position:
      end: 1660
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1660
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_Aggregate_G2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Aggregate_G2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_Aggregate_G2>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Aggregate_G2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1668,1
    - Dst: second::bn1::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1669,1
    - Dst: second::bn2::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1670,1
    - Dst: second::bn3::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1671,1
    - Dst: second::bn4::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1672,1
    - Dst: second::bn5::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1673,1
    - Dst: second::bn6::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1674,1
    - Dst: second::bn7::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1675,1
    - Dst: second::bn8::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1676,1
    - Dst: second::bn9::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1677,1
    - Dst: second::bn10::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1678,1
    - Dst: second::bn11::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1679,1
    - Dst: second::bn12::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Pairing
    - ExecutorBase<component::Fp12, operation::BLS_Pairing>::ResultPair
    constantsTouched: []
    func_position:
      end: 1683
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1683
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BLS_Pairing>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::bn11::ToTrimmedString
    - second::bn7::ToTrimmedString
    - second::bn12::ToTrimmedString
    - second::bn5::ToTrimmedString
    - second::bn1::ToTrimmedString
    - second::bn8::ToTrimmedString
    - second::bn6::ToTrimmedString
    - Set
    - second::bn9::ToTrimmedString
    - second::bn2::ToTrimmedString
    - second::bn4::ToTrimmedString
    - second::bn3::ToTrimmedString
    - second::bn10::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Fp12, operation::BLS_Pairing>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Pairing& op, const ExecutorBase<component::Fp12, operation::BLS_Pairing>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Pairing
      Src: /src/cryptofuzz/executor.cpp:1686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 1687
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1687
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BLS_Pairing>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Pairing
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> ExecutorBase<component::Fp12, operation::BLS_Pairing>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Pairing& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1695,1
    - Dst: second::bn1::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1696,1
    - Dst: second::bn2::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1697,1
    - Dst: second::bn3::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1698,1
    - Dst: second::bn4::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1699,1
    - Dst: second::bn5::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1700,1
    - Dst: second::bn6::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1701,1
    - Dst: second::bn7::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1702,1
    - Dst: second::bn8::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1703,1
    - Dst: second::bn9::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1704,1
    - Dst: second::bn10::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1705,1
    - Dst: second::bn11::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1706,1
    - Dst: second::bn12::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_MillerLoop
    - ExecutorBase<component::Fp12, operation::BLS_MillerLoop>::ResultPair
    constantsTouched: []
    func_position:
      end: 1710
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1710
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BLS_MillerLoop>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::bn11::ToTrimmedString
    - second::bn7::ToTrimmedString
    - second::bn12::ToTrimmedString
    - second::bn5::ToTrimmedString
    - second::bn1::ToTrimmedString
    - second::bn8::ToTrimmedString
    - second::bn6::ToTrimmedString
    - Set
    - second::bn9::ToTrimmedString
    - second::bn2::ToTrimmedString
    - second::bn4::ToTrimmedString
    - second::bn3::ToTrimmedString
    - second::bn10::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Fp12, operation::BLS_MillerLoop>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_MillerLoop& op, const ExecutorBase<component::Fp12, operation::BLS_MillerLoop>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_MillerLoop
      Src: /src/cryptofuzz/executor.cpp:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_MillerLoop
    constantsTouched: []
    func_position:
      end: 1714
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1714
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BLS_MillerLoop>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_MillerLoop
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> ExecutorBase<component::Fp12, operation::BLS_MillerLoop>::callModule(std::shared_ptr<Module>
      module, operation::BLS_MillerLoop& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1722,1
    - Dst: second::bn1::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1723,1
    - Dst: second::bn2::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1724,1
    - Dst: second::bn3::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1725,1
    - Dst: second::bn4::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1726,1
    - Dst: second::bn5::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1727,1
    - Dst: second::bn6::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1728,1
    - Dst: second::bn7::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1729,1
    - Dst: second::bn8::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1730,1
    - Dst: second::bn9::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1731,1
    - Dst: second::bn10::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1732,1
    - Dst: second::bn11::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1733,1
    - Dst: second::bn12::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_FinalExp
    - ExecutorBase<component::Fp12, operation::BLS_FinalExp>::ResultPair
    constantsTouched: []
    func_position:
      end: 1737
      start: 1717
    functionDepth: 1
    functionLinenumber: 1717
    functionLinenumberEnd: 1737
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BLS_FinalExp>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::bn11::ToTrimmedString
    - second::bn7::ToTrimmedString
    - second::bn12::ToTrimmedString
    - second::bn5::ToTrimmedString
    - second::bn1::ToTrimmedString
    - second::bn8::ToTrimmedString
    - second::bn6::ToTrimmedString
    - Set
    - second::bn9::ToTrimmedString
    - second::bn2::ToTrimmedString
    - second::bn4::ToTrimmedString
    - second::bn3::ToTrimmedString
    - second::bn10::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Fp12, operation::BLS_FinalExp>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_FinalExp& op, const ExecutorBase<component::Fp12, operation::BLS_FinalExp>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1740,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1740,1
    - Dst: std::shared_ptr<Module>::OpBLS_FinalExp
      Src: /src/cryptofuzz/executor.cpp:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 1742
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1742
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BLS_FinalExp>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_FinalExp
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> ExecutorBase<component::Fp12, operation::BLS_FinalExp>::callModule(std::shared_ptr<Module>
      module, operation::BLS_FinalExp& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1749,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1750,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1751,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1753,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1755,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1755,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1756,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_HashToG1
    - ExecutorBase<component::G1, operation::BLS_HashToG1>::ResultPair
    constantsTouched: []
    func_position:
      end: 1758
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1758
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_HashToG1>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - G1AddToPool
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_HashToG1>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_HashToG1& op, const ExecutorBase<component::G1, operation::BLS_HashToG1>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1761,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1761,1
    - Dst: std::shared_ptr<Module>::OpBLS_HashToG1
      Src: /src/cryptofuzz/executor.cpp:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 1763
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1763
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_HashToG1>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_HashToG1
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_HashToG1>::callModule(std::shared_ptr<Module>
      module, operation::BLS_HashToG1& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1770,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1771,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1772,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1774,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1776,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1776,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1777,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_MapToG1
    - ExecutorBase<component::G1, operation::BLS_MapToG1>::ResultPair
    constantsTouched: []
    func_position:
      end: 1779
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1779
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_MapToG1>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - G1AddToPool
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_MapToG1>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_MapToG1& op, const ExecutorBase<component::G1, operation::BLS_MapToG1>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_MapToG1
      Src: /src/cryptofuzz/executor.cpp:1782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_MapToG1
    constantsTouched: []
    func_position:
      end: 1783
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1783
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_MapToG1>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_MapToG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_MapToG1>::callModule(std::shared_ptr<Module>
      module, operation::BLS_MapToG1& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1790,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1791,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1792,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1793,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1794,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:1796,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1798,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1798,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1799,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1799,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1800,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1800,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1801,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_MapToG2
    - ExecutorBase<component::G2, operation::BLS_MapToG2>::ResultPair
    constantsTouched: []
    func_position:
      end: 1803
      start: 1786
    functionDepth: 1
    functionLinenumber: 1786
    functionLinenumberEnd: 1803
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_MapToG2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::first::ToTrimmedString
    - second::second::second::ToTrimmedString
    - second::first::second::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - auto::size
    - G2AddToPool
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_MapToG2>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_MapToG2& op, const ExecutorBase<component::G2, operation::BLS_MapToG2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_MapToG2
      Src: /src/cryptofuzz/executor.cpp:1806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_MapToG2
    constantsTouched: []
    func_position:
      end: 1807
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1807
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_MapToG2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_MapToG2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_MapToG2>::callModule(std::shared_ptr<Module>
      module, operation::BLS_MapToG2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_IsG1OnCurve
    - ExecutorBase<bool, operation::BLS_IsG1OnCurve>::ResultPair
    constantsTouched: []
    func_position:
      end: 1814
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1814
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_IsG1OnCurve>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::BLS_IsG1OnCurve>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_IsG1OnCurve& op, const ExecutorBase<bool, operation::BLS_IsG1OnCurve>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1817,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1817,1
    - Dst: g1::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1818,1
    - Dst: g1::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1819,1
    - Dst: std::shared_ptr<Module>::OpBLS_IsG1OnCurve
      Src: /src/cryptofuzz/executor.cpp:1821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 1822
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1822
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_IsG1OnCurve>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - g1::second::GetSize
    - std::shared_ptr<Module>::OpBLS_IsG1OnCurve
    - g1::first::GetSize
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::BLS_IsG1OnCurve>::callModule(std::shared_ptr<Module>
      module, operation::BLS_IsG1OnCurve& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_IsG2OnCurve
    - ExecutorBase<bool, operation::BLS_IsG2OnCurve>::ResultPair
    constantsTouched: []
    func_position:
      end: 1829
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1829
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_IsG2OnCurve>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::BLS_IsG2OnCurve>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_IsG2OnCurve& op, const ExecutorBase<bool, operation::BLS_IsG2OnCurve>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1832,1
    - Dst: g2::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1833,1
    - Dst: g2::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1834,1
    - Dst: g2::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1835,1
    - Dst: std::shared_ptr<Module>::OpBLS_IsG2OnCurve
      Src: /src/cryptofuzz/executor.cpp:1837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 1838
      start: 1831
    functionDepth: 0
    functionLinenumber: 1831
    functionLinenumberEnd: 1838
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_IsG2OnCurve>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - g2::first::first::GetSize
    - g2::second::second::GetSize
    - g2::second::first::GetSize
    - std::shared_ptr<Module>::OpBLS_IsG2OnCurve
    - g2::first::second::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::BLS_IsG2OnCurve>::callModule(std::shared_ptr<Module>
      module, operation::BLS_IsG2OnCurve& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1845,1
    - Dst: second::priv::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1846,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1847,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1848,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1850,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1852,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1852,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1853,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1853,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1854,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_GenerateKeyPair
    - ExecutorBase<component::BLS_KeyPair, operation::BLS_GenerateKeyPair>::ResultPair
    constantsTouched: []
    func_position:
      end: 1856
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1856
    functionName: cryptofuzz::ExecutorBase<component::BLS_KeyPair, operation::BLS_GenerateKeyPair>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::pub::second::ToTrimmedString
    - G1AddToPool
    - second::priv::ToTrimmedString
    - Set
    - second::pub::first::ToTrimmedString
    - auto::size
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::BLS_KeyPair, operation::BLS_GenerateKeyPair>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_GenerateKeyPair& op, const ExecutorBase<component::BLS_KeyPair,
      operation::BLS_GenerateKeyPair>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_GenerateKeyPair
      Src: /src/cryptofuzz/executor.cpp:1859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 1860
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1860
    functionName: cryptofuzz::ExecutorBase<component::BLS_KeyPair, operation::BLS_GenerateKeyPair>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_GenerateKeyPair
    linkageType: ''
    returnType: std::optional<component::BLS_KeyPair>
    signature: std::optional<component::BLS_KeyPair> ExecutorBase<component::BLS_KeyPair,
      operation::BLS_GenerateKeyPair>::callModule(std::shared_ptr<Module> module,
      operation::BLS_GenerateKeyPair& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1867,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1868,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1869,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1871,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1873,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1873,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1874,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Decompress_G1
    - ExecutorBase<component::G1, operation::BLS_Decompress_G1>::ResultPair
    constantsTouched: []
    func_position:
      end: 1876
      start: 1863
    functionDepth: 1
    functionLinenumber: 1863
    functionLinenumberEnd: 1876
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_Decompress_G1>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - G1AddToPool
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_Decompress_G1>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Decompress_G1& op, const ExecutorBase<component::G1,
      operation::BLS_Decompress_G1>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Decompress_G1
      Src: /src/cryptofuzz/executor.cpp:1879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 1880
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1880
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_Decompress_G1>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Decompress_G1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_Decompress_G1>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Decompress_G1& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1888,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1890,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Compress_G1
    - ExecutorBase<component::Bignum, operation::BLS_Compress_G1>::ResultPair
    constantsTouched: []
    func_position:
      end: 1892
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1892
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::BLS_Compress_G1>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - Set
    - second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Bignum, operation::BLS_Compress_G1>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Compress_G1& op, const ExecutorBase<component::Bignum,
      operation::BLS_Compress_G1>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Compress_G1
      Src: /src/cryptofuzz/executor.cpp:1895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 1896
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1896
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::BLS_Compress_G1>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Compress_G1
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ExecutorBase<component::Bignum, operation::BLS_Compress_G1>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Compress_G1& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1903,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1904,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1905,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1906,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1907,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:1909,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1911,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1911,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1912,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1912,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1913,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1913,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1914,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Decompress_G2
    - ExecutorBase<component::G2, operation::BLS_Decompress_G2>::ResultPair
    constantsTouched: []
    func_position:
      end: 1916
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1916
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_Decompress_G2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::first::ToTrimmedString
    - second::second::second::ToTrimmedString
    - second::first::second::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - auto::size
    - G2AddToPool
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_Decompress_G2>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Decompress_G2& op, const ExecutorBase<component::G2,
      operation::BLS_Decompress_G2>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Decompress_G2
      Src: /src/cryptofuzz/executor.cpp:1919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 1920
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1920
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_Decompress_G2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Decompress_G2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_Decompress_G2>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Decompress_G2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1927,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1928,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1929,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1931,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1933,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1933,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1934,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1934,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Compress_G2
    - ExecutorBase<component::G1, operation::BLS_Compress_G2>::ResultPair
    constantsTouched: []
    func_position:
      end: 1936
      start: 1923
    functionDepth: 1
    functionLinenumber: 1923
    functionLinenumberEnd: 1936
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_Compress_G2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - G1AddToPool
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_Compress_G2>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Compress_G2& op, const ExecutorBase<component::G1, operation::BLS_Compress_G2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Compress_G2
      Src: /src/cryptofuzz/executor.cpp:1939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 1940
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1940
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_Compress_G2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Compress_G2
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_Compress_G2>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Compress_G2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1947,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1948,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1949,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1951,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1953,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1953,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1954,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_Add
    - ExecutorBase<component::G1, operation::BLS_G1_Add>::ResultPair
    constantsTouched: []
    func_position:
      end: 1956
      start: 1943
    functionDepth: 1
    functionLinenumber: 1943
    functionLinenumberEnd: 1956
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_Add>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - G1AddToPool
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_G1_Add>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G1_Add& op, const ExecutorBase<component::G1, operation::BLS_G1_Add>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1959,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1959,1
    - Dst: a::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1960,1
    - Dst: a::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1961,1
    - Dst: b::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1962,1
    - Dst: b::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1963,1
    - Dst: std::shared_ptr<Module>::OpBLS_G1_Add
      Src: /src/cryptofuzz/executor.cpp:1965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 1966
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1966
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_Add>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - b::first::GetSize
    - b::second::GetSize
    - std::shared_ptr<Module>::OpBLS_G1_Add
    - a::second::GetSize
    - RETURN_IF_DISABLED
    - a::first::GetSize
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_G1_Add>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G1_Add& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1973,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1974,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1975,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1977,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1979,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1979,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1980,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_Mul
    - ExecutorBase<component::G1, operation::BLS_G1_Mul>::ResultPair
    constantsTouched: []
    func_position:
      end: 1982
      start: 1969
    functionDepth: 1
    functionLinenumber: 1969
    functionLinenumberEnd: 1982
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_Mul>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - G1AddToPool
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_G1_Mul>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G1_Mul& op, const ExecutorBase<component::G1, operation::BLS_G1_Mul>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1985,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1985,1
    - Dst: a::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1986,1
    - Dst: a::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1987,1
    - Dst: b::GetSize
      Src: /src/cryptofuzz/executor.cpp:1988,1
    - Dst: std::shared_ptr<Module>::OpBLS_G1_Mul
      Src: /src/cryptofuzz/executor.cpp:1990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 1991
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 1991
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_Mul>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_G1_Mul
    - curveType::Get
    - b::GetSize
    - a::second::GetSize
    - RETURN_IF_DISABLED
    - a::first::GetSize
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_G1_Mul>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G1_Mul& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_IsEq
    - ExecutorBase<bool, operation::BLS_G1_IsEq>::ResultPair
    constantsTouched: []
    func_position:
      end: 1998
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 1998
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_G1_IsEq>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::BLS_G1_IsEq>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G1_IsEq& op, const ExecutorBase<bool, operation::BLS_G1_IsEq>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2001,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2001,1
    - Dst: a::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2002,1
    - Dst: a::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2003,1
    - Dst: b::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2004,1
    - Dst: b::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2005,1
    - Dst: std::shared_ptr<Module>::OpBLS_G1_IsEq
      Src: /src/cryptofuzz/executor.cpp:2007,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 2008
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2008
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_G1_IsEq>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - b::first::GetSize
    - b::second::GetSize
    - std::shared_ptr<Module>::OpBLS_G1_IsEq
    - a::second::GetSize
    - RETURN_IF_DISABLED
    - a::first::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::BLS_G1_IsEq>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G1_IsEq& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2015,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2016,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2017,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:2019,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2021,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2021,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2022,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_Neg
    - ExecutorBase<component::G1, operation::BLS_G1_Neg>::ResultPair
    constantsTouched: []
    func_position:
      end: 2024
      start: 2011
    functionDepth: 1
    functionLinenumber: 2011
    functionLinenumberEnd: 2024
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_Neg>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - G1AddToPool
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_G1_Neg>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G1_Neg& op, const ExecutorBase<component::G1, operation::BLS_G1_Neg>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2027,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2027,1
    - Dst: a::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2028,1
    - Dst: a::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2029,1
    - Dst: std::shared_ptr<Module>::OpBLS_G1_Neg
      Src: /src/cryptofuzz/executor.cpp:2031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 2032
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2032
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_Neg>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - a::second::GetSize
    - std::shared_ptr<Module>::OpBLS_G1_Neg
    - RETURN_IF_DISABLED
    - a::first::GetSize
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_G1_Neg>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G1_Neg& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2039,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2040,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2041,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2042,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2043,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:2045,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2047,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2047,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2048,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2048,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2049,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2049,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2050,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2050,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_Add
    - ExecutorBase<component::G2, operation::BLS_G2_Add>::ResultPair
    constantsTouched: []
    func_position:
      end: 2052
      start: 2035
    functionDepth: 1
    functionLinenumber: 2035
    functionLinenumberEnd: 2052
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_G2_Add>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::first::ToTrimmedString
    - second::second::second::ToTrimmedString
    - second::first::second::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - auto::size
    - G2AddToPool
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_G2_Add>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G2_Add& op, const ExecutorBase<component::G2, operation::BLS_G2_Add>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2055,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2055,1
    - Dst: a::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2056,1
    - Dst: a::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2057,1
    - Dst: a::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2058,1
    - Dst: a::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2059,1
    - Dst: b::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2060,1
    - Dst: b::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2061,1
    - Dst: b::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2062,1
    - Dst: b::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2063,1
    - Dst: std::shared_ptr<Module>::OpBLS_G2_Add
      Src: /src/cryptofuzz/executor.cpp:2065,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 2066
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2066
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_G2_Add>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - b::first::first::GetSize
    - a::first::first::GetSize
    - b::first::second::GetSize
    - std::shared_ptr<Module>::OpBLS_G2_Add
    - a::second::second::GetSize
    - b::second::first::GetSize
    - a::second::first::GetSize
    - b::second::second::GetSize
    - a::first::second::GetSize
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_G2_Add>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G2_Add& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2073,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2074,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2075,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2076,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2077,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:2079,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2081,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2081,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2082,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2082,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2083,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2083,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2084,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2084,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_Mul
    - ExecutorBase<component::G2, operation::BLS_G2_Mul>::ResultPair
    constantsTouched: []
    func_position:
      end: 2086
      start: 2069
    functionDepth: 1
    functionLinenumber: 2069
    functionLinenumberEnd: 2086
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_G2_Mul>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::first::ToTrimmedString
    - second::second::second::ToTrimmedString
    - second::first::second::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - auto::size
    - G2AddToPool
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_G2_Mul>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G2_Mul& op, const ExecutorBase<component::G2, operation::BLS_G2_Mul>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2089,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2089,1
    - Dst: a::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2090,1
    - Dst: a::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2091,1
    - Dst: a::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2092,1
    - Dst: a::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2093,1
    - Dst: b::GetSize
      Src: /src/cryptofuzz/executor.cpp:2094,1
    - Dst: std::shared_ptr<Module>::OpBLS_G2_Mul
      Src: /src/cryptofuzz/executor.cpp:2096,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 2097
      start: 2088
    functionDepth: 0
    functionLinenumber: 2088
    functionLinenumberEnd: 2097
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_G2_Mul>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - a::first::first::GetSize
    - a::second::second::GetSize
    - a::second::first::GetSize
    - b::GetSize
    - a::first::second::GetSize
    - std::shared_ptr<Module>::OpBLS_G2_Mul
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_G2_Mul>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G2_Mul& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_IsEq
    - ExecutorBase<bool, operation::BLS_G2_IsEq>::ResultPair
    constantsTouched: []
    func_position:
      end: 2104
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2104
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_G2_IsEq>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::BLS_G2_IsEq>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G2_IsEq& op, const ExecutorBase<bool, operation::BLS_G2_IsEq>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2107,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2107,1
    - Dst: a::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2108,1
    - Dst: a::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2109,1
    - Dst: a::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2110,1
    - Dst: a::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2111,1
    - Dst: b::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2112,1
    - Dst: b::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2113,1
    - Dst: b::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2114,1
    - Dst: b::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2115,1
    - Dst: std::shared_ptr<Module>::OpBLS_G2_IsEq
      Src: /src/cryptofuzz/executor.cpp:2117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 2118
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2118
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_G2_IsEq>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - b::first::first::GetSize
    - a::first::first::GetSize
    - b::first::second::GetSize
    - std::shared_ptr<Module>::OpBLS_G2_IsEq
    - a::second::second::GetSize
    - b::second::first::GetSize
    - a::second::first::GetSize
    - b::second::second::GetSize
    - a::first::second::GetSize
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::BLS_G2_IsEq>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G2_IsEq& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2125,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2126,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2127,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2128,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2129,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:2131,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2133,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2133,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2134,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2134,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2135,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2135,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2136,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_Neg
    - ExecutorBase<component::G2, operation::BLS_G2_Neg>::ResultPair
    constantsTouched: []
    func_position:
      end: 2138
      start: 2121
    functionDepth: 1
    functionLinenumber: 2121
    functionLinenumberEnd: 2138
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_G2_Neg>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::first::ToTrimmedString
    - second::second::second::ToTrimmedString
    - second::first::second::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - auto::size
    - G2AddToPool
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_G2_Neg>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G2_Neg& op, const ExecutorBase<component::G2, operation::BLS_G2_Neg>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2141,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2141,1
    - Dst: a::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2142,1
    - Dst: a::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2143,1
    - Dst: a::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2144,1
    - Dst: a::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2145,1
    - Dst: std::shared_ptr<Module>::OpBLS_G2_Neg
      Src: /src/cryptofuzz/executor.cpp:2147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 2148
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2148
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_G2_Neg>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - a::first::first::GetSize
    - a::second::second::GetSize
    - a::second::first::GetSize
    - std::shared_ptr<Module>::OpBLS_G2_Neg
    - a::first::second::GetSize
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_G2_Neg>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G2_Neg& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2155,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2156,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2157,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:2159,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2161,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2161,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2162,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_MultiExp
    - ExecutorBase<component::G1, operation::BLS_G1_MultiExp>::ResultPair
    constantsTouched: []
    func_position:
      end: 2164
      start: 2151
    functionDepth: 1
    functionLinenumber: 2151
    functionLinenumberEnd: 2164
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_MultiExp>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - G1AddToPool
    - curveType::Get
    - Set
    - auto::size
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_G1_MultiExp>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G1_MultiExp& op, const ExecutorBase<component::G1, operation::BLS_G1_MultiExp>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2167,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2167,1
    - Dst: first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2170,1
    - Dst: first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2171,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2172,1
    - Dst: std::shared_ptr<Module>::OpBLS_G1_MultiExp
      Src: /src/cryptofuzz/executor.cpp:2175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 2176
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2176
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_MultiExp>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - std::shared_ptr<Module>::OpBLS_G1_MultiExp
    - first::second::GetSize
    - first::first::GetSize
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_G1_MultiExp>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G1_MultiExp& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Misc
    - ExecutorBase<Buffer, operation::Misc>::ResultPair
    constantsTouched: []
    func_position:
      end: 2183
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2183
    functionName: cryptofuzz::ExecutorBase<Buffer, operation::Misc>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<Buffer, operation::Misc>::postprocess(std::shared_ptr<Module>
      module, operation::Misc& op, const ExecutorBase<Buffer, operation::Misc>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpMisc
      Src: /src/cryptofuzz/executor.cpp:2186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Misc
    constantsTouched: []
    func_position:
      end: 2187
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2187
    functionName: cryptofuzz::ExecutorBase<Buffer, operation::Misc>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpMisc
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> ExecutorBase<Buffer, operation::Misc>::callModule(std::shared_ptr<Module>
      module, operation::Misc& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2194,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2195,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2196,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2197,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2198,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:2200,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2202,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2202,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2203,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2203,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2204,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2204,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2205,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_HashToG2
    - ExecutorBase<component::G2, operation::BLS_HashToG2>::ResultPair
    constantsTouched: []
    func_position:
      end: 2207
      start: 2190
    functionDepth: 1
    functionLinenumber: 2190
    functionLinenumberEnd: 2207
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_HashToG2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::second::first::ToTrimmedString
    - second::second::second::ToTrimmedString
    - second::first::second::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - auto::size
    - G2AddToPool
    - curveType::Get
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_HashToG2>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_HashToG2& op, const ExecutorBase<component::G2, operation::BLS_HashToG2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2210,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2210,1
    - Dst: std::shared_ptr<Module>::OpBLS_HashToG2
      Src: /src/cryptofuzz/executor.cpp:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 2212
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2212
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_HashToG2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_HashToG2
    - RETURN_IF_DISABLED
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_HashToG2>::callModule(std::shared_ptr<Module>
      module, operation::BLS_HashToG2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2216
      start: 2214
    functionDepth: 0
    functionLinenumber: 2214
    functionLinenumberEnd: 2216
    functionName: cryptofuzz::ExecutorBignumCalc::ExecutorBignumCalc
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc::ExecutorBignumCalc(const uint64_t operationID,
      const std::map<uint64_t, std::shared_ptr<Module> >& modules, const Options&
      options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBignum
      Src: /src/cryptofuzz/executor.cpp:2218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' modulo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 2219
      start: 2217
    functionDepth: 3
    functionLinenumber: 2217
    functionLinenumberEnd: 2219
    functionName: cryptofuzz::ExecutorBignumCalc::SetModulo
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - getBignum
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc::SetModulo(const std::string& modulo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2223,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2224
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2224
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_381_R::ExecutorBignumCalc_Mod_BLS12_381_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_BLS12_381_R::ExecutorBignumCalc_Mod_BLS12_381_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2228,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2229
      start: 2226
    functionDepth: 0
    functionLinenumber: 2226
    functionLinenumberEnd: 2229
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_381_P::ExecutorBignumCalc_Mod_BLS12_381_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_BLS12_381_P::ExecutorBignumCalc_Mod_BLS12_381_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2233,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2234
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2234
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_377_R::ExecutorBignumCalc_Mod_BLS12_377_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_BLS12_377_R::ExecutorBignumCalc_Mod_BLS12_377_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2238,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2239
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2239
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_377_P::ExecutorBignumCalc_Mod_BLS12_377_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_BLS12_377_P::ExecutorBignumCalc_Mod_BLS12_377_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2243,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2244
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2244
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BN128_R::ExecutorBignumCalc_Mod_BN128_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_BN128_R::ExecutorBignumCalc_Mod_BN128_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2248,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2249
      start: 2246
    functionDepth: 0
    functionLinenumber: 2246
    functionLinenumberEnd: 2249
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BN128_P::ExecutorBignumCalc_Mod_BN128_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_BN128_P::ExecutorBignumCalc_Mod_BN128_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2253,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2254
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2254
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Vesta_R::ExecutorBignumCalc_Mod_Vesta_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_Vesta_R::ExecutorBignumCalc_Mod_Vesta_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2258,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2259
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2259
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Vesta_P::ExecutorBignumCalc_Mod_Vesta_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_Vesta_P::ExecutorBignumCalc_Mod_Vesta_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2263,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2264
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2264
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_ED25519::ExecutorBignumCalc_Mod_ED25519
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_ED25519::ExecutorBignumCalc_Mod_ED25519(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2268,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2269
      start: 2266
    functionDepth: 0
    functionLinenumber: 2266
    functionLinenumberEnd: 2269
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Edwards_R::ExecutorBignumCalc_Mod_Edwards_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_Edwards_R::ExecutorBignumCalc_Mod_Edwards_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2273,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2274
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2274
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Edwards_P::ExecutorBignumCalc_Mod_Edwards_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_Edwards_P::ExecutorBignumCalc_Mod_Edwards_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2278,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2279
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2279
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Goldilocks::ExecutorBignumCalc_Mod_Goldilocks
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_Goldilocks::ExecutorBignumCalc_Mod_Goldilocks(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2283,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2284
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2284
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT4_R::ExecutorBignumCalc_Mod_MNT4_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_MNT4_R::ExecutorBignumCalc_Mod_MNT4_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2288,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2289
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2289
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT4_P::ExecutorBignumCalc_Mod_MNT4_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_MNT4_P::ExecutorBignumCalc_Mod_MNT4_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2293,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2294
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2294
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT6_R::ExecutorBignumCalc_Mod_MNT6_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_MNT6_R::ExecutorBignumCalc_Mod_MNT6_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2298,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2299
      start: 2296
    functionDepth: 0
    functionLinenumber: 2296
    functionLinenumberEnd: 2299
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT6_P::ExecutorBignumCalc_Mod_MNT6_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_MNT6_P::ExecutorBignumCalc_Mod_MNT6_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2303,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2304
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2304
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp64::ExecutorBignumCalc_Mod_2Exp64
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_2Exp64::ExecutorBignumCalc_Mod_2Exp64(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2308,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2309
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2309
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp128::ExecutorBignumCalc_Mod_2Exp128
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_2Exp128::ExecutorBignumCalc_Mod_2Exp128(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2313,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2314
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2314
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp256::ExecutorBignumCalc_Mod_2Exp256
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_2Exp256::ExecutorBignumCalc_Mod_2Exp256(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2318,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2319
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2319
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp512::ExecutorBignumCalc_Mod_2Exp512
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_2Exp512::ExecutorBignumCalc_Mod_2Exp512(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2323,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2324
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2324
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_SECP256K1::ExecutorBignumCalc_Mod_SECP256K1
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_SECP256K1::ExecutorBignumCalc_Mod_SECP256K1(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2328,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2329
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2329
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_SECP256K1_P::ExecutorBignumCalc_Mod_SECP256K1_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - SetModulo
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_SECP256K1_P::ExecutorBignumCalc_Mod_SECP256K1_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2333
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2333
    functionName: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2(const uint64_t
      operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules, const
      Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBignum
      Src: /src/cryptofuzz/executor.cpp:2335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' modulo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 2336
      start: 2334
    functionDepth: 3
    functionLinenumber: 2334
    functionLinenumberEnd: 2336
    functionName: cryptofuzz::ExecutorBignumCalc_Fp2::SetModulo
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - getBignum
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Fp2::SetModulo(const std::string& modulo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2340
      start: 2338
    functionDepth: 0
    functionLinenumber: 2338
    functionLinenumberEnd: 2340
    functionName: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12(const uint64_t
      operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules, const
      Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBignum
      Src: /src/cryptofuzz/executor.cpp:2342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' modulo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 2343
      start: 2341
    functionDepth: 3
    functionLinenumber: 2341
    functionLinenumberEnd: 2343
    functionName: cryptofuzz::ExecutorBignumCalc_Fp12::SetModulo
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - getBignum
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Fp12::SetModulo(const std::string& modulo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2351
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2351
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::ExecutorBase
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<ResultType, OperationType>::ExecutorBase(const uint64_t
      operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules, const
      Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::SR25519_Verify
    - ExecutorBase<bool, operation::SR25519_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 2358
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2358
    functionName: cryptofuzz::ExecutorBase<bool, operation::SR25519_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::SR25519_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::SR25519_Verify& op, const ExecutorBase<bool, operation::SR25519_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpSR25519_Verify
      Src: /src/cryptofuzz/executor.cpp:2361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::SR25519_Verify
    constantsTouched: []
    func_position:
      end: 2362
      start: 2360
    functionDepth: 0
    functionLinenumber: 2360
    functionLinenumberEnd: 2362
    functionName: cryptofuzz::ExecutorBase<bool, operation::SR25519_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpSR25519_Verify
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::SR25519_Verify>::callModule(std::shared_ptr<Module>
      module, operation::SR25519_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2366
    functionName: ExecutorBase<ResultType, OperationType>::~ExecutorBase()
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<ResultType, OperationType>::~ExecutorBase()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResultSet::push_back
      Src: /src/cryptofuzz/executor.cpp:2378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - ResultSet
    constantsTouched: []
    func_position:
      end: 2382
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2382
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::filter
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - ResultSet::push_back
    linkageType: ''
    returnType: typename ExecutorBase<ResultType, OperationType>::ResultSet
    signature: typename ExecutorBase<ResultType, OperationType>::ResultSet ExecutorBase<ResultType,
      OperationType>::filter(const ResultSet& results) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, operation::ECC_GenerateKeyPair>
      >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2391
      start: 2386
    functionDepth: 0
    functionLinenumber: 2386
    functionLinenumberEnd: 2391
    functionName: cryptofuzz::ExecutorBase<component::ECC_KeyPair, operation::ECC_GenerateKeyPair>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_KeyPair, operation::ECC_GenerateKeyPair>::compare(const
      std::vector< std::pair<std::shared_ptr<Module>, operation::ECC_GenerateKeyPair>
      >& operations, const ResultSet& results, const uint8_t* data, const size_t size)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - OperationType
    constantsTouched: []
    func_position:
      end: 2398
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2398
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<ResultType, OperationType>::dontCompare(const OperationType&
      operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:2402,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:2402,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:2403,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:2403,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:2404,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:2404,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:2405,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:2405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2408
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2408
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::BignumCalc>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - calcOp::Get
    - CF_CALCOP
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::Bignum, operation::BignumCalc>::dontCompare(const
      operation::BignumCalc& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::ECCSI_Sign
    constantsTouched: []
    func_position:
      end: 2414
      start: 2411
    functionDepth: 0
    functionLinenumber: 2411
    functionLinenumberEnd: 2414
    functionName: cryptofuzz::ExecutorBase<component::ECCSI_Signature, operation::ECCSI_Sign>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::ECCSI_Signature, operation::ECCSI_Sign>::dontCompare(const
      operation::ECCSI_Sign& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2419,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:2419,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2420,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:2420,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/executor.cpp:2421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 2428
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2428
    functionName: cryptofuzz::ExecutorBase<component::ECDSA_Signature, operation::ECDSA_Sign>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - UseRandomNonce
    - curveType::Get
    - CF_ECC_CURVE
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::ECDSA_Signature, operation::ECDSA_Sign>::dontCompare(const
      operation::ECDSA_Sign& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2433,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:2433,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2434,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:2434,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/executor.cpp:2435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::ECGDSA_Sign
    constantsTouched: []
    func_position:
      end: 2442
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2442
    functionName: cryptofuzz::ExecutorBase<component::ECGDSA_Signature, operation::ECGDSA_Sign>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - UseRandomNonce
    - curveType::Get
    - CF_ECC_CURVE
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::ECGDSA_Signature, operation::ECGDSA_Sign>::dontCompare(const
      operation::ECGDSA_Sign& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2447,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:2447,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2448,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:2448,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/executor.cpp:2449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::ECRDSA_Sign
    constantsTouched: []
    func_position:
      end: 2456
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2456
    functionName: cryptofuzz::ExecutorBase<component::ECRDSA_Signature, operation::ECRDSA_Sign>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - UseRandomNonce
    - curveType::Get
    - CF_ECC_CURVE
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::ECRDSA_Signature, operation::ECRDSA_Sign>::dontCompare(const
      operation::ECRDSA_Sign& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:2461,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/executor.cpp:2461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 2464
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2464
    functionName: cryptofuzz::ExecutorBase<component::Ciphertext, operation::SymmetricEncrypt>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    - cipher::cipherType::Get
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::Ciphertext, operation::SymmetricEncrypt>::dontCompare(const
      operation::SymmetricEncrypt& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:2468,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/executor.cpp:2468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 2471
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2471
    functionName: cryptofuzz::ExecutorBase<component::Cleartext, operation::SymmetricDecrypt>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    - cipher::cipherType::Get
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::Cleartext, operation::SymmetricDecrypt>::dontCompare(const
      operation::SymmetricDecrypt& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:2475,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/executor.cpp:2475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 2478
      start: 2474
    functionDepth: 0
    functionLinenumber: 2474
    functionLinenumberEnd: 2478
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::CMAC>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    - cipher::cipherType::Get
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::MAC, operation::CMAC>::dontCompare(const
      operation::CMAC& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:2482,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/executor.cpp:2482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 2485
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2485
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::HMAC>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    - cipher::cipherType::Get
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::MAC, operation::HMAC>::dontCompare(const
      operation::HMAC& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/executor.cpp:2489,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::filter
      Src: /src/cryptofuzz/executor.cpp:2494,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2496,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::dontCompare
      Src: /src/cryptofuzz/executor.cpp:2501,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2505,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/cryptofuzz/executor.cpp:2513,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2515,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2516,1
    - Dst: auto::ToString
      Src: /src/cryptofuzz/executor.cpp:2516,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2517,1
    - Dst: first::name::c_str
      Src: /src/cryptofuzz/executor.cpp:2517,1
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/executor.cpp:2517,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2518,1
    - Dst: first::name::c_str
      Src: /src/cryptofuzz/executor.cpp:2518,1
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/executor.cpp:2518,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/executor.cpp:2520,1
    - Dst: first::name::c_str
      Src: /src/cryptofuzz/executor.cpp:2521,1
    - Dst: first::name::c_str
      Src: /src/cryptofuzz/executor.cpp:2521,1
    - Dst: auto::Name
      Src: /src/cryptofuzz/executor.cpp:2522,1
    - Dst: auto::GetAlgorithmString
      Src: /src/cryptofuzz/executor.cpp:2523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, OperationType> >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2528
      start: 2488
    functionDepth: 2
    functionLinenumber: 2488
    functionLinenumberEnd: 2528
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::filter
    - auto::ToString
    - auto::GetAlgorithmString
    - auto::Name
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - size
    - first::name::c_str
    - auto::size
    - cryptofuzz::util::ToString
    - printf
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::dontCompare
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<ResultType, OperationType>::compare(const std::vector<
      std::pair<std::shared_ptr<Module>, OperationType> >& operations, const ResultSet&
      results, const uint8_t* data, const size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/cryptofuzz/executor.cpp:2532,1
    - Dst: std::vector<std::string>::begin
      Src: /src/cryptofuzz/executor.cpp:2532,1
    - Dst: std::vector<std::string>::end
      Src: /src/cryptofuzz/executor.cpp:2532,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2534,1
    - Dst: system
      Src: /src/cryptofuzz/executor.cpp:2535,1
    - Dst: system
      Src: /src/cryptofuzz/executor.cpp:2536,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2538,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2540,1
    - Dst: c_str
      Src: /src/cryptofuzz/executor.cpp:2540,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2542,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/executor.cpp:2542,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/executor.cpp:2542,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/executor.cpp:2542,1
    - Dst: fflush
      Src: /src/cryptofuzz/executor.cpp:2543,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/executor.cpp:2545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - moduleNames
    - operation
    - algorithm
    - reason
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 2546
      start: 2531
    functionDepth: 1
    functionLinenumber: 2531
    functionLinenumberEnd: 2546
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 17
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - fflush
    - std::vector<std::string>::end
    - std::string::c_str
    - std::sort
    - std::vector<std::string>::begin
    - printf
    - c_str
    - system
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<ResultType, OperationType>::abort(std::vector<std::string>
      moduleNames, const std::string operation, const std::string algorithm, const
      std::string reason) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - OperationType
    constantsTouched: []
    func_position:
      end: 2552
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2552
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OperationType
    signature: OperationType ExecutorBase<ResultType, OperationType>::getOpPostprocess(Datasource*
      parentDs, OperationType op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2558
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2558
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_381_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_BLS12_381_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2564
      start: 2560
    functionDepth: 0
    functionLinenumber: 2560
    functionLinenumberEnd: 2564
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_381_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_BLS12_381_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2570
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2570
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_377_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_BLS12_377_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2576
      start: 2572
    functionDepth: 0
    functionLinenumber: 2572
    functionLinenumberEnd: 2576
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_377_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_BLS12_377_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2582
      start: 2578
    functionDepth: 0
    functionLinenumber: 2578
    functionLinenumberEnd: 2582
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BN128_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_BN128_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2588
      start: 2584
    functionDepth: 0
    functionLinenumber: 2584
    functionLinenumberEnd: 2588
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BN128_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_BN128_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2594
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2594
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Vesta_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_Vesta_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2600
      start: 2596
    functionDepth: 0
    functionLinenumber: 2596
    functionLinenumberEnd: 2600
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Vesta_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_Vesta_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2606
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2606
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_ED25519::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_ED25519::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2612
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2612
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Edwards_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_Edwards_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2618
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2618
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Edwards_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_Edwards_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2624
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2624
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Goldilocks::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_Goldilocks::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2630
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2630
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT4_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_MNT4_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2636
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2636
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT4_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_MNT4_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2642
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2642
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT6_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_MNT6_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2648
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2648
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT6_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_MNT6_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2654
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2654
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp64::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_2Exp64::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2660
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2660
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp128::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_2Exp128::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2666
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2666
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp256::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_2Exp256::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2672
      start: 2668
    functionDepth: 0
    functionLinenumber: 2668
    functionLinenumberEnd: 2672
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp512::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_2Exp512::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2678
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2678
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_SECP256K1::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_SECP256K1::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2684
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2684
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_SECP256K1_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_SECP256K1_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Datasource*::GetData
      Src: /src/cryptofuzz/executor.cpp:2690,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOpPostprocess
      Src: /src/cryptofuzz/executor.cpp:2691,1
    - Dst: std::move
      Src: /src/cryptofuzz/executor.cpp:2691,1
    - Dst: OperationType
      Src: /src/cryptofuzz/executor.cpp:2691,1
    - Dst: component::Modifier
      Src: /src/cryptofuzz/executor.cpp:2691,1
    - Dst: auto::data
      Src: /src/cryptofuzz/executor.cpp:2691,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2691,1
    - Dst: std::move
      Src: /src/cryptofuzz/executor.cpp:2693,1
    - Dst: OperationType
      Src: /src/cryptofuzz/executor.cpp:2693,1
    - Dst: component::Modifier
      Src: /src/cryptofuzz/executor.cpp:2693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - parentDs
    - data
    - size
    argTypes:
    - Datasource*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2695
      start: 2687
    functionDepth: 1
    functionLinenumber: 2687
    functionLinenumberEnd: 2695
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Datasource*::GetData
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOpPostprocess
    - auto::data
    - auto::size
    - component::Modifier
    - OperationType
    linkageType: ''
    returnType: OperationType
    signature: OperationType ExecutorBase<ResultType, OperationType>::getOp(Datasource*
      parentDs, const uint8_t* data, const size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/executor.cpp:2699,1
    - Dst: disableModules::HaveExplicit
      Src: /src/cryptofuzz/executor.cpp:2707,1
    - Dst: find
      Src: /src/cryptofuzz/executor.cpp:2711,1
    - Dst: end
      Src: /src/cryptofuzz/executor.cpp:2711,1
    - Dst: at
      Src: /src/cryptofuzz/executor.cpp:2715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2716
      start: 2698
    functionDepth: 1
    functionLinenumber: 2698
    functionLinenumberEnd: 2716
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::getModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - disableModules::HaveExplicit
    - at
    - end
    - find
    - Get
    linkageType: ''
    returnType: std::shared_ptr<Module>
    signature: std::shared_ptr<Module> ExecutorBase<ResultType, OperationType>::getModule(Datasource&
      ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/cryptofuzz/executor.cpp:2725,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getModule
      Src: /src/cryptofuzz/executor.cpp:2726,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/executor.cpp:2731,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/executor.cpp:2734,1
    - Dst: cryptofuzz::operation::Digest::MaxOperations
      Src: /src/cryptofuzz/executor.cpp:2734,1
    - Dst: Get
      Src: /src/cryptofuzz/executor.cpp:2737,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/executor.cpp:2739,1
    - Dst: disableModules::HaveExplicit
      Src: /src/cryptofuzz/executor.cpp:2751,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/executor.cpp:2755,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/executor.cpp:2760,1
    - Dst: std::set::size
      Src: /src/cryptofuzz/executor.cpp:2763,1
    - Dst: std::set_difference
      Src: /src/cryptofuzz/executor.cpp:2764,1
    - Dst: std::set::begin
      Src: /src/cryptofuzz/executor.cpp:2764,1
    - Dst: std::set::end
      Src: /src/cryptofuzz/executor.cpp:2764,1
    - Dst: std::set::begin
      Src: /src/cryptofuzz/executor.cpp:2764,1
    - Dst: std::set::end
      Src: /src/cryptofuzz/executor.cpp:2764,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/executor.cpp:2764,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/executor.cpp:2765,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/executor.cpp:2765,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/executor.cpp:2768,1
    - Dst: at
      Src: /src/cryptofuzz/executor.cpp:2768,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/executor.cpp:2773,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/executor.cpp:2777,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2778,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/executor.cpp:2778,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/executor.cpp:2780,1
    - Dst: auto::modifier::GetVectorPtr
      Src: /src/cryptofuzz/executor.cpp:2791,1
    - Dst: size
      Src: /src/cryptofuzz/executor.cpp:2792,1
    - Dst: push_back
      Src: /src/cryptofuzz/executor.cpp:2794,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2805,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/executor.cpp:2805,1
    - Dst: auto::modifier::Get
      Src: /src/cryptofuzz/executor.cpp:2805,1
    - Dst: typename ExecutorBase<ResultType, OperationType>::ResultSet::push_back
      Src: /src/cryptofuzz/executor.cpp:2808,1
    - Dst: std::move
      Src: /src/cryptofuzz/executor.cpp:2808,1
    - Dst: callModule
      Src: /src/cryptofuzz/executor.cpp:2808,1
    - Dst: typename ExecutorBase<ResultType, OperationType>::ResultSet::back
      Src: /src/cryptofuzz/executor.cpp:2810,1
    - Dst: auto::ToJSON
      Src: /src/cryptofuzz/executor.cpp:2815,1
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/executor.cpp:2816,1
    - Dst: fprintf
      Src: /src/cryptofuzz/executor.cpp:2817,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/executor.cpp:2817,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2822,1
    - Dst: first::name::c_str
      Src: /src/cryptofuzz/executor.cpp:2823,1
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/executor.cpp:2826,1
    - Dst: cryptofuzz::tests::test
      Src: /src/cryptofuzz/executor.cpp:2830,1
    - Dst: postprocess
      Src: /src/cryptofuzz/executor.cpp:2833,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::compare
      Src: /src/cryptofuzz/executor.cpp:2837,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 3
    argNames:
    - ' parentDs'
    - data
    - size
    argTypes:
    - Datasource
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2839
      start: 2719
    functionDepth: 3
    functionLinenumber: 2719
    functionLinenumberEnd: 2839
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::Run
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - cryptofuzz::operation::Digest::MaxOperations
    - auto::ToJSON
    - fprintf
    - cryptofuzz::util::ToString
    - typename ExecutorBase<ResultType, OperationType>::ResultSet::push_back
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::compare
    - typename ExecutorBase<ResultType, OperationType>::ResultSet::back
    - callModule
    - second::ToString
    - nlohmann::json::dump
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - std::set::size
    - cryptofuzz::util::ToJSON
    - std::vector::resize
    - std::vector::begin
    - std::vector::size
    - std::set::end
    - at
    - std::set_difference
    - cryptofuzz::util::HexDump
    - auto::modifier::Get
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getModule
    - auto::modifier::GetVectorPtr
    - first::name::c_str
    - std::set::begin
    - std::vector::push_back
    - std::vector::empty
    - disableModules::HaveExplicit
    - std::set::insert
    - size
    - postprocess
    - cryptofuzz::tests::test
    - Get
    - printf
    - push_back
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<ResultType, OperationType>::Run(Datasource& parentDs,
      const uint8_t* data, const size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - outDir
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: cryptofuzz::Bignum_Fuzzer_Importer::Bignum_Fuzzer_Importer
    functionSourceFile: /src/cryptofuzz/bignum_fuzzer_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum_Fuzzer_Importer::Bignum_Fuzzer_Importer(const std::string
      filename, const std::string outDir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:18,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:18,1
    - Dst: cryptofuzz::Bignum_Fuzzer_Importer::LoadInput
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: cryptofuzz::Bignum_Fuzzer_Importer::Run
    functionSourceFile: /src/cryptofuzz/bignum_fuzzer_importer.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    - cryptofuzz::Bignum_Fuzzer_Importer::LoadInput
    linkageType: ''
    returnType: void
    signature: void Bignum_Fuzzer_Importer::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: cryptofuzz::bignum_from_bin
    functionSourceFile: /src/cryptofuzz/bignum_fuzzer_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string bignum_from_bin(const uint8_t* data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:35,1
    - Dst: memcpy
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:39,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:39,1
    - Dst: bignum_from_bin
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:41,1
    - Dst: bignum_from_bin
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:42,1
    - Dst: bignum_from_bin
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:43,1
    - Dst: bignum_from_bin
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:44,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:47,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:48,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:49,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:50,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:51,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:52,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:53,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:54,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:55,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:56,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:57,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:60,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:61,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:63,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:64,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:65,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:66,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:81,1
    - Dst: cryptofuzz::Bignum_Fuzzer_Importer::write
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:82,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 84
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 84
    functionName: cryptofuzz::Bignum_Fuzzer_Importer::LoadInput
    functionSourceFile: /src/cryptofuzz/bignum_fuzzer_importer.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::Bignum_Fuzzer_Importer::write
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    - CF_OPERATION
    - memcpy
    - cryptofuzz::operation::BignumCalc::Serialize
    - bignum_from_bin
    - CF_CALCOP
    linkageType: ''
    returnType: void
    signature: void Bignum_Fuzzer_Importer::LoadInput(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:90,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:92,1
    - Dst: GetOut
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:92,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:95,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:95,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:98,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:98,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:101,1
    - Dst: std::string
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:104,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:104,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:104,1
    - Dst: fopen
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:105,1
    - Dst: fwrite
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:106,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:106,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:106,1
    - Dst: fclose
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - operation
    - ' dsOut2'
    argTypes:
    - uint64_t
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 109
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 109
    functionName: cryptofuzz::Bignum_Fuzzer_Importer::write
    functionSourceFile: /src/cryptofuzz/bignum_fuzzer_importer.cpp
    functionUses: 1
    functionsReached:
    - fuzzing::datasource::Datasource::GetOut
    - std::string::c_str
    - fwrite
    - std::vector<uint8_t>
    - fuzzing::datasource::Datasource::Put
    - fclose
    - std::string
    - fopen
    - GetOut
    - fuzzing::datasource::Datasource::PutData
    - CF_MODULE
    - cryptofuzz::util::SHA1
    linkageType: ''
    returnType: void
    signature: void Bignum_Fuzzer_Importer::write(const uint64_t operation, fuzzing::datasource::Datasource&
      dsOut2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:25,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:73,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:73,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:74,1
    - Dst: EC_POINT_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:74,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:75,1
    - Dst: BN_CTX_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:75,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:76,1
    - Dst: BN_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:76,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:77,1
    - Dst: BN_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:77,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:78,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:78,1
    - Dst: c_str
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:78,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:79,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:79,1
    - Dst: c_str
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:79,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:80,1
    - Dst: EC_POINT_set_affine_coordinates_GFp
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:80,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:81,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:81,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:82,1
    - Dst: BN_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:82,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:83,1
    - Dst: EC_POINT_point2bn
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:83,1
    - Dst: BN_num_bytes
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:84,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:85,1
    - Dst: malloc
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:86,1
    - Dst: BN_bn2bin
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:87,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:89,1
    - Dst: EC_GROUP_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:92,1
    - Dst: EC_POINT_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:93,1
    - Dst: BN_CTX_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:94,1
    - Dst: BN_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:95,1
    - Dst: BN_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:96,1
    - Dst: BN_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:97,1
    - Dst: free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 3
    argNames:
    - ' ax'
    - ' ay'
    - tlsId
    argTypes:
    - std::string
    - std::string
    - uint16_t
    constantsTouched: []
    func_position:
      end: 102
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 102
    functionName: cryptofuzz::ecc_diff_fuzzer_exporter::compressPoint
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 0
    functionsReached:
    - EC_POINT_new
    - BN_dec2bn
    - EC_POINT_point2bn
    - CF_ASSERT
    - std::vector<uint8_t>
    - EC_GROUP_new_by_curve_name
    - BN_clear_free
    - BN_CTX_new
    - EC_POINT_is_on_curve
    - BN_CTX_free
    - malloc
    - EC_GROUP_clear_free
    - BN_bn2bin
    - EC_POINT_clear_free
    - BN_new
    - free
    - BN_num_bytes
    - CF_CHECK_NE
    - c_str
    - CF_CHECK_GT
    - EC_POINT_set_affine_coordinates_GFp
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: "std::optional<std::vector<uint8_t>> compressPoint(\n        const
      std::string& ax,\n        const std::string& ay,\n        const uint16_t tlsId)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:106,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:108,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:110,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:112,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:114,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:116,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:118,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:120,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:122,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:124,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - curveType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 131
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 131
    functionName: cryptofuzz::ecc_diff_fuzzer_exporter::toTlsId
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> toTlsId(const uint64_t curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - tlsId
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 171
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 171
    functionName: cryptofuzz::ecc_diff_fuzzer_exporter::bitlenFromTlsId
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitlenFromTlsId(const uint16_t tlsId)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numBits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: cryptofuzz::ecc_diff_fuzzer_exporter::ecdf_byteceil
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ecdf_byteceil(const size_t numBits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - outDir
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Exporter::ECC_Diff_Fuzzer_Exporter
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Exporter::ECC_Diff_Fuzzer_Exporter(const std::string
      filename, const std::string outDir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:185,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:185,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Exporter::LoadInput
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Exporter::Run
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    - cryptofuzz::ECC_Diff_Fuzzer_Exporter::LoadInput
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Exporter::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:192,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:192,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:193,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:194,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:194,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:197,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:198,1
    - Dst: auto::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:199,1
    - Dst: auto::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:199,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:200,1
    - Dst: cryptofuzz::module::Zig::OpECC_Point_Add
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:201,1
    - Dst: component::Modifier
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:201,1
    - Dst: auto::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:201,1
    - Dst: auto::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:201,1
    - Dst: auto::curveType::Get
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:203,1
    - Dst: auto::a::first::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:205,1
    - Dst: auto::a::second::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:206,1
    - Dst: auto::b::first::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:208,1
    - Dst: auto::b::second::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:209,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write_Add
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:211,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:212,1
    - Dst: cryptofuzz::module::Zig::OpECC_Point_Mul
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:213,1
    - Dst: component::Modifier
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:213,1
    - Dst: auto::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:213,1
    - Dst: auto::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:213,1
    - Dst: auto::curveType::Get
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:215,1
    - Dst: auto::a::first::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:217,1
    - Dst: auto::a::second::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:218,1
    - Dst: auto::b::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:220,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write_Mul
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Exporter::LoadInput
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 1
    functionsReached:
    - auto::a::first::ToTrimmedString
    - std::vector<uint8_t>::data
    - auto::curveType::Get
    - cryptofuzz::ECC_Diff_Fuzzer_Exporter::write_Add
    - std::vector<uint8_t>::size
    - CF_OPERATION
    - cryptofuzz::module::Zig::OpECC_Point_Mul
    - auto::b::first::ToTrimmedString
    - cryptofuzz::ECC_Diff_Fuzzer_Exporter::write_Mul
    - auto::data
    - Datasource::GetData
    - auto::size
    - auto::a::second::ToTrimmedString
    - component::Modifier
    - auto::b::ToTrimmedString
    - Datasource::Get
    - auto::b::second::ToTrimmedString
    - cryptofuzz::module::Zig::OpECC_Point_Add
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Exporter::LoadInput(const std::vector<uint8_t>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::toTlsId
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:235,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::bitlenFromTlsId
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:240,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::ecdf_byteceil
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:246,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:248,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:249,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:250,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::compressPoint
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:253,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:258,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:258,1
    - Dst: begin
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:258,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:258,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::compressPoint
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:262,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:266,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:266,1
    - Dst: begin
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:266,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:266,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - curveType
    - ax
    - ay
    - bx
    - by
    argTypes:
    - uint64_t
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 270
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 270
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write_Add
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::ecc_diff_fuzzer_exporter::ecdf_byteceil
    - cryptofuzz::ecc_diff_fuzzer_exporter::bitlenFromTlsId
    - cryptofuzz::ecc_diff_fuzzer_exporter::toTlsId
    - std::vector::insert
    - end
    - begin
    - cryptofuzz::ECC_Diff_Fuzzer_Exporter::write
    - cryptofuzz::ecc_diff_fuzzer_exporter::compressPoint
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void ECC_Diff_Fuzzer_Exporter::write_Add(\n        const uint64_t
      curveType,\n        const std::string ax,\n        const std::string ay,\n        const
      std::string bx,\n        const std::string by)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::toTlsId
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:279,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::bitlenFromTlsId
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:284,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::ecdf_byteceil
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:290,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:292,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:293,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::compressPoint
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:296,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:301,1
    - Dst: auto::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:301,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:307,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:307,1
    - Dst: begin
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:307,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:307,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:308,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:309,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:309,1
    - Dst: begin
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:309,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:309,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - curveType
    - ax
    - ay
    - b
    argTypes:
    - uint64_t
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 313
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 313
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write_Mul
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::ecc_diff_fuzzer_exporter::ecdf_byteceil
    - cryptofuzz::ecc_diff_fuzzer_exporter::bitlenFromTlsId
    - cryptofuzz::ecc_diff_fuzzer_exporter::toTlsId
    - cryptofuzz::util::DecToBin
    - std::vector::insert
    - end
    - begin
    - cryptofuzz::ECC_Diff_Fuzzer_Exporter::write
    - auto::size
    - cryptofuzz::ecc_diff_fuzzer_exporter::compressPoint
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void ECC_Diff_Fuzzer_Exporter::write_Mul(\n        const uint64_t
      curveType,\n        const std::string ax,\n        const std::string ay,\n        const
      std::string b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:316,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:316,1
    - Dst: fopen
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:317,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:317,1
    - Dst: fwrite
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:318,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:318,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:318,1
    - Dst: fclose
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 2
    functionsReached:
    - std::string::c_str
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    - fclose
    - std::string
    - fopen
    - fwrite
    - cryptofuzz::util::SHA1
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Exporter::write(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Type::Get
      Src: /src/cryptofuzz/components.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::Type::Type
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Type::Get
    linkageType: ''
    returnType: void
    signature: void Type::Type(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: cryptofuzz::Type::Type
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Type::Type(const Type& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json::get
      Src: /src/cryptofuzz/components.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: cryptofuzz::Type::Type
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::json::get
    linkageType: ''
    returnType: void
    signature: void Type::Type(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: cryptofuzz::Type::Get
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Type::Get(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: cryptofuzz::Type::Is
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Type::Is(const uint64_t t) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cryptofuzz/components.cpp:35,1
    - Dst: std::vector<uint64_t>::begin
      Src: /src/cryptofuzz/components.cpp:35,1
    - Dst: std::vector<uint64_t>::end
      Src: /src/cryptofuzz/components.cpp:35,1
    - Dst: std::vector<uint64_t>::end
      Src: /src/cryptofuzz/components.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::vector<uint64_t>
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: cryptofuzz::Type::Is
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint64_t>::begin
    - find
    - std::vector<uint64_t>::end
    linkageType: ''
    returnType: bool
    signature: bool Type::Is(const std::vector<uint64_t> t) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/components.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: cryptofuzz::Type::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Type::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Type::operator==(const Type& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Type::operator==(const Type& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: cryptofuzz::Type::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Put
    linkageType: ''
    returnType: void
    signature: void Type::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/components.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: cryptofuzz::Buffer::Buffer
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - GetData
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json::get
      Src: /src/cryptofuzz/components.cpp:62,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/components.cpp:63,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/components.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: cryptofuzz::Buffer::Buffer
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::json::get
    - std::back_inserter
    - boost::algorithm::unhex
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cryptofuzz::Buffer::Buffer
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(const std::vector<uint8_t>& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: cryptofuzz::Buffer::Buffer
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: cryptofuzz::Buffer::Buffer
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: cryptofuzz::Buffer::Get
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Buffer::Get(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:81,1
    - Dst: cryptofuzz::util::GetNullPtr
      Src: /src/cryptofuzz/components.cpp:82,1
    - Dst: data
      Src: /src/cryptofuzz/components.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ds
    argTypes:
    - fuzzing::datasource::Datasource*
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: cryptofuzz::Buffer::GetPtr
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - cryptofuzz::util::GetNullPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * Buffer::GetPtr(fuzzing::datasource::Datasource* ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '& Buffer::GetVectorPtr(void)'
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Buffer::GetVectorPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '& Buffer::GetConstVectorPtr(void) const'
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Buffer::GetConstVectorPtr(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: cryptofuzz::Buffer::GetSize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Buffer::GetSize(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Buffer
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Buffer::operator==(const Buffer& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Buffer::operator==(const Buffer& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/cryptofuzz/components.cpp:107,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/components.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: cryptofuzz::Buffer::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - from_hex
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Buffer::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/cryptofuzz/components.cpp:114,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/components.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: cryptofuzz::Buffer::ToHex
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - from_hex
    linkageType: ''
    returnType: std::string
    signature: std::string Buffer::ToHex(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PutData
      Src: /src/cryptofuzz/components.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: cryptofuzz::Buffer::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - PutData
    linkageType: ''
    returnType: void
    signature: void Buffer::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Datasource
      Src: /src/cryptofuzz/components.cpp:123,1
    - Dst: data
      Src: /src/cryptofuzz/components.cpp:123,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: cryptofuzz::Buffer::AsDatasource
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Datasource
    - size
    - data
    linkageType: ''
    returnType: Datasource
    signature: Datasource Buffer::AsDatasource(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/cryptofuzz/components.cpp:127,1
    - Dst: data
      Src: /src/cryptofuzz/components.cpp:127,1
    - Dst: data
      Src: /src/cryptofuzz/components.cpp:127,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: cryptofuzz::Buffer::AsString
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - data
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Buffer::AsString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/components.cpp:143,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/components.cpp:143,1
    - Dst: memcpy
      Src: /src/cryptofuzz/components.cpp:147,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/components.cpp:147,1
    - Dst: cryptofuzz::Buffer::GetPtr
      Src: /src/cryptofuzz/components.cpp:147,1
    - Dst: cryptofuzz::Buffer::Buffer
      Src: /src/cryptofuzz/components.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - retSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 152
    functionName: cryptofuzz::Buffer::ECDSA_Pad
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - cryptofuzz::Buffer::GetPtr
    - memset
    - memcpy
    - cryptofuzz::Buffer::Buffer
    linkageType: ''
    returnType: Buffer
    signature: Buffer Buffer::ECDSA_Pad(const size_t retSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToBits
      Src: /src/cryptofuzz/components.cpp:158,1
    - Dst: cryptofuzz::Buffer::Get
      Src: /src/cryptofuzz/components.cpp:158,1
    - Dst: cryptofuzz::Buffer::Buffer
      Src: /src/cryptofuzz/components.cpp:161,1
    - Dst: cryptofuzz::Buffer::Buffer
      Src: /src/cryptofuzz/components.cpp:168,1
    - Dst: GetConstVectorPtr
      Src: /src/cryptofuzz/components.cpp:183,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/components.cpp:185,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:185,1
    - Dst: begin
      Src: /src/cryptofuzz/components.cpp:185,1
    - Dst: begin
      Src: /src/cryptofuzz/components.cpp:185,1
    - Dst: cryptofuzz::Buffer::Get
      Src: /src/cryptofuzz/components.cpp:191,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/components.cpp:198,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/components.cpp:201,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:201,1
    - Dst: begin
      Src: /src/cryptofuzz/components.cpp:201,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:201,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/components.cpp:202,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/components.cpp:207,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:207,1
    - Dst: begin
      Src: /src/cryptofuzz/components.cpp:207,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:207,1
    - Dst: GetData
      Src: /src/cryptofuzz/components.cpp:213,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/components.cpp:215,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/components.cpp:217,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:217,1
    - Dst: begin
      Src: /src/cryptofuzz/components.cpp:217,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:217,1
    - Dst: cryptofuzz::Buffer::Buffer
      Src: /src/cryptofuzz/components.cpp:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - ' ds'
    - ' curveType'
    argTypes:
    - Datasource
    - Type
    constantsTouched: []
    func_position:
      end: 221
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 221
    functionName: cryptofuzz::Buffer::ECDSA_RandomPad
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::insert
    - end
    - std::vector<uint8_t>
    - GetConstVectorPtr
    - cryptofuzz::Buffer::Buffer
    - cryptofuzz::Buffer::Get
    - GetData
    - cryptofuzz::repository::ECC_CurveToBits
    - begin
    linkageType: ''
    returnType: Buffer
    signature: Buffer Buffer::ECDSA_RandomPad(Datasource& ds, const Type& curveType)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha256
      Src: /src/cryptofuzz/components.cpp:224,1
    - Dst: cryptofuzz::Buffer::Get
      Src: /src/cryptofuzz/components.cpp:224,1
    - Dst: cryptofuzz::Buffer::Buffer
      Src: /src/cryptofuzz/components.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: cryptofuzz::Buffer::SHA256
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Buffer::Buffer
    - cryptofuzz::Buffer::Get
    - cryptofuzz::crypto::impl::sha256
    linkageType: ''
    returnType: Buffer
    signature: Buffer Buffer::SHA256(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: cryptofuzz::Buffer::IsZero
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Buffer::IsZero(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::transform
      Src: /src/cryptofuzz/components.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: cryptofuzz::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::transform
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json::get
      Src: /src/cryptofuzz/components.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: cryptofuzz::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::json::get
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::data
      Src: /src/cryptofuzz/components.cpp:251,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/components.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: cryptofuzz::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVectorPtr
      Src: /src/cryptofuzz/components.cpp:255,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:257,1
    - Dst: isdigit
      Src: /src/cryptofuzz/components.cpp:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: cryptofuzz::Bignum::transform
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - isdigit
    - GetVectorPtr
    - size
    linkageType: ''
    returnType: void
    signature: void Bignum::transform(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: Bignum::operator==(const Bignum& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bignum::operator==(const Bignum& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::GetSize
      Src: /src/cryptofuzz/components.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: cryptofuzz::Bignum::GetSize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::Bignum::GetSize
    linkageType: ''
    returnType: size_t
    signature: size_t Bignum::GetSize(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/components.cpp:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: cryptofuzz::Bignum::IsZero
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsZero(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/components.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: cryptofuzz::Bignum::IsOne
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsOne(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::GetSize
      Src: /src/cryptofuzz/components.cpp:286,1
    - Dst: GetConstVectorPtr
      Src: /src/cryptofuzz/components.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: cryptofuzz::Bignum::IsNegative
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::GetSize
    - GetConstVectorPtr
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsNegative(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::IsZero
      Src: /src/cryptofuzz/components.cpp:290,1
    - Dst: cryptofuzz::Bignum::IsNegative
      Src: /src/cryptofuzz/components.cpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: cryptofuzz::Bignum::IsPositive
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::IsZero
    - cryptofuzz::Bignum::IsNegative
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsPositive(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/components.cpp:294,1
    - Dst: cryptofuzz::Bignum::IsNegative
      Src: /src/cryptofuzz/components.cpp:294,1
    - Dst: cryptofuzz::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/components.cpp:295,1
    - Dst: auto::size
      Src: /src/cryptofuzz/components.cpp:296,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:296,1
    - Dst: auto::size
      Src: /src/cryptofuzz/components.cpp:298,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:298,1
    - Dst: auto::size
      Src: /src/cryptofuzz/components.cpp:301,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/components.cpp:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: cryptofuzz::Bignum::IsGreaterThan
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::ToTrimmedString
    - cryptofuzz::Bignum::IsNegative
    - size
    - auto::size
    - CF_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsGreaterThan(const std::string& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: cryptofuzz::Bignum::IsLessThan
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsLessThan(const std::string& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/components.cpp:323,1
    - Dst: auto::back
      Src: /src/cryptofuzz/components.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: cryptofuzz::Bignum::IsOdd
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::ToTrimmedString
    - auto::back
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsOdd(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::IsNegative
      Src: /src/cryptofuzz/components.cpp:328,1
    - Dst: GetVectorPtr
      Src: /src/cryptofuzz/components.cpp:332,1
    - Dst: GetVectorPtr
      Src: /src/cryptofuzz/components.cpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: cryptofuzz::Bignum::ToPositive
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - GetVectorPtr
    - cryptofuzz::Bignum::IsNegative
    linkageType: ''
    returnType: void
    signature: void Bignum::ToPositive(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/components.cpp:339,1
    - Dst: auto::data
      Src: /src/cryptofuzz/components.cpp:340,1
    - Dst: auto::size
      Src: /src/cryptofuzz/components.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: cryptofuzz::Bignum::SubFrom
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - auto::size
    - boost::multiprecision::cpp_int::str
    linkageType: ''
    returnType: void
    signature: void Bignum::SubFrom(const std::string& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/components.cpp:344,1
    - Dst: std::string
      Src: /src/cryptofuzz/components.cpp:345,1
    - Dst: cryptofuzz::Bignum::GetSize
      Src: /src/cryptofuzz/components.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: cryptofuzz::Bignum::ToString
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - cryptofuzz::Bignum::GetSize
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string Bignum::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::ToString
      Src: /src/cryptofuzz/components.cpp:349,1
    - Dst: trim_left_if
      Src: /src/cryptofuzz/components.cpp:350,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/components.cpp:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 357
    functionName: cryptofuzz::Bignum::ToTrimmedString
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 4
    functionsReached:
    - cryptofuzz::Bignum::ToString
    - Botan::CT::Mask::is_any_of
    - trim_left_if
    linkageType: ''
    returnType: std::string
    signature: std::string Bignum::ToTrimmedString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:364,1
    - Dst: cryptofuzz::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/components.cpp:369,1
    - Dst: auto::size
      Src: /src/cryptofuzz/components.cpp:371,1
    - Dst: auto::erase
      Src: /src/cryptofuzz/components.cpp:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 375
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 375
    functionName: cryptofuzz::Bignum::ToString
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - cryptofuzz::Bignum::ToTrimmedString
    - Get
    - auto::erase
    linkageType: ''
    returnType: std::string
    signature: std::string Bignum::ToString(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/components.cpp:378,1
    - Dst: cryptofuzz::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/components.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: cryptofuzz::Bignum::ToBin
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::DecToBin
    - cryptofuzz::Bignum::ToTrimmedString
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> Bignum::ToBin(std::optional<size_t>
      size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::ToString
      Src: /src/cryptofuzz/components.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: cryptofuzz::Bignum::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::ToString
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Bignum::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::Serialize
      Src: /src/cryptofuzz/components.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: cryptofuzz::Bignum::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::Bignum::Serialize
    linkageType: ''
    returnType: void
    signature: void Bignum::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: cryptofuzz::component::SymmetricCipher::SymmetricCipher
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SymmetricCipher::SymmetricCipher(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: cryptofuzz::component::SymmetricCipher::SymmetricCipher
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SymmetricCipher::SymmetricCipher(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::SymmetricCipher::ToJSON
      Src: /src/cryptofuzz/components.cpp:406,1
    - Dst: cryptofuzz::component::SymmetricCipher::ToJSON
      Src: /src/cryptofuzz/components.cpp:407,1
    - Dst: cryptofuzz::component::SymmetricCipher::ToJSON
      Src: /src/cryptofuzz/components.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: cryptofuzz::component::SymmetricCipher::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::SymmetricCipher::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json SymmetricCipher::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SymmetricCipher
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: SymmetricCipher::operator==(const SymmetricCipher& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SymmetricCipher::operator==(const SymmetricCipher& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::SymmetricCipher::Serialize
      Src: /src/cryptofuzz/components.cpp:419,1
    - Dst: cryptofuzz::component::SymmetricCipher::Serialize
      Src: /src/cryptofuzz/components.cpp:420,1
    - Dst: cryptofuzz::component::SymmetricCipher::Serialize
      Src: /src/cryptofuzz/components.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: cryptofuzz::component::SymmetricCipher::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::SymmetricCipher::Serialize
    linkageType: ''
    returnType: void
    signature: void SymmetricCipher::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:428,1
    - Dst: std::make_optional<Tag>
      Src: /src/cryptofuzz/components.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: cryptofuzz::component::Ciphertext::Ciphertext
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::make_optional<Tag>
    - Get
    linkageType: ''
    returnType: void
    signature: void Ciphertext::Ciphertext(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ciphertext
    - tag
    argTypes:
    - Buffer
    - std::optional<Tag>
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: cryptofuzz::component::Ciphertext::Ciphertext
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ciphertext::Ciphertext(Buffer ciphertext, std::optional<Tag> tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Ciphertext
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: Ciphertext::operator==(const Ciphertext& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ciphertext::operator==(const Ciphertext& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::Ciphertext::Serialize
      Src: /src/cryptofuzz/components.cpp:441,1
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:443,1
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:445,1
    - Dst: cryptofuzz::component::Ciphertext::Serialize
      Src: /src/cryptofuzz/components.cpp:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 448
    functionName: cryptofuzz::component::Ciphertext::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::Ciphertext::Serialize
    - Put
    linkageType: ''
    returnType: void
    signature: void Ciphertext::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: cryptofuzz::component::BignumPair::BignumPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumPair::BignumPair(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: cryptofuzz::component::BignumPair::BignumPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumPair::BignumPair(const std::string first, const std::string
      second)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:463,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: cryptofuzz::component::BignumPair::BignumPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void BignumPair::BignumPair(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BignumPair
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: BignumPair::operator==(const BignumPair& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BignumPair::operator==(const BignumPair& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::BignumPair::Serialize
      Src: /src/cryptofuzz/components.cpp:475,1
    - Dst: cryptofuzz::component::BignumPair::Serialize
      Src: /src/cryptofuzz/components.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: cryptofuzz::component::BignumPair::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BignumPair::Serialize
    linkageType: ''
    returnType: void
    signature: void BignumPair::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::BignumPair::ToJSON
      Src: /src/cryptofuzz/components.cpp:480,1
    - Dst: cryptofuzz::component::BignumPair::ToJSON
      Src: /src/cryptofuzz/components.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: cryptofuzz::component::BignumPair::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BignumPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BignumPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: cryptofuzz::component::ECC_KeyPair::ECC_KeyPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_KeyPair::ECC_KeyPair(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - priv
    - pub
    argTypes:
    - ECC_PrivateKey
    - BignumPair
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: cryptofuzz::component::ECC_KeyPair::ECC_KeyPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_KeyPair::ECC_KeyPair(ECC_PrivateKey priv, BignumPair pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: cryptofuzz::component::ECC_KeyPair::ECC_KeyPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_KeyPair::ECC_KeyPair(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECC_KeyPair
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: ECC_KeyPair::operator==(const ECC_KeyPair& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ECC_KeyPair::operator==(const ECC_KeyPair& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::ECC_KeyPair::Serialize
      Src: /src/cryptofuzz/components.cpp:507,1
    - Dst: cryptofuzz::component::ECC_KeyPair::Serialize
      Src: /src/cryptofuzz/components.cpp:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: cryptofuzz::component::ECC_KeyPair::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::ECC_KeyPair::Serialize
    linkageType: ''
    returnType: void
    signature: void ECC_KeyPair::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::ECC_KeyPair::ToJSON
      Src: /src/cryptofuzz/components.cpp:512,1
    - Dst: cryptofuzz::component::ECC_KeyPair::ToJSON
      Src: /src/cryptofuzz/components.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: cryptofuzz::component::ECC_KeyPair::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::ECC_KeyPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_KeyPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: cryptofuzz::component::ECCSI_Signature::ECCSI_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECCSI_Signature::ECCSI_Signature(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - signature
    - pub
    - pvt
    argTypes:
    - BignumPair
    - ECC_PublicKey
    - BignumPair
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: cryptofuzz::component::ECCSI_Signature::ECCSI_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECCSI_Signature::ECCSI_Signature(BignumPair signature, ECC_PublicKey
      pub, BignumPair pvt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: cryptofuzz::component::ECCSI_Signature::ECCSI_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECCSI_Signature::ECCSI_Signature(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECCSI_Signature
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: ECCSI_Signature::operator==(const ECCSI_Signature& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ECCSI_Signature::operator==(const ECCSI_Signature& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::ECCSI_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:542,1
    - Dst: cryptofuzz::component::ECCSI_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:543,1
    - Dst: cryptofuzz::component::ECCSI_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: cryptofuzz::component::ECCSI_Signature::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::ECCSI_Signature::Serialize
    linkageType: ''
    returnType: void
    signature: void ECCSI_Signature::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::ECCSI_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:548,1
    - Dst: cryptofuzz::component::ECCSI_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: cryptofuzz::component::ECCSI_Signature::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::ECCSI_Signature::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECCSI_Signature::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: cryptofuzz::component::ECDSA_Signature::ECDSA_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Signature::ECDSA_Signature(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - signature
    - pub
    argTypes:
    - BignumPair
    - ECC_PublicKey
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: cryptofuzz::component::ECDSA_Signature::ECDSA_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Signature::ECDSA_Signature(BignumPair signature, ECC_PublicKey
      pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: cryptofuzz::component::ECDSA_Signature::ECDSA_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Signature::ECDSA_Signature(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECDSA_Signature
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: ECDSA_Signature::operator==(const ECDSA_Signature& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ECDSA_Signature::operator==(const ECDSA_Signature& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::ECDSA_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:574,1
    - Dst: cryptofuzz::component::ECDSA_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: cryptofuzz::component::ECDSA_Signature::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::ECDSA_Signature::Serialize
    linkageType: ''
    returnType: void
    signature: void ECDSA_Signature::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::ECDSA_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:579,1
    - Dst: cryptofuzz::component::ECDSA_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: cryptofuzz::component::ECDSA_Signature::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::ECDSA_Signature::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECDSA_Signature::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: cryptofuzz::component::MACType::MACType
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: void
    signature: void MACType::MACType(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: cryptofuzz::component::MACType::MACType
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void MACType::MACType(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::MACType::ToJSON
      Src: /src/cryptofuzz/components.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: cryptofuzz::component::MACType::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::MACType::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json MACType::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - MACType
    constantsTouched: []
    func_position:
      end: 605
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 605
    functionName: MACType::operator==(const MACType& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MACType::operator==(const MACType& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:608,1
    - Dst: cryptofuzz::component::MACType::Serialize
      Src: /src/cryptofuzz/components.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: cryptofuzz::component::MACType::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - Put
    - cryptofuzz::component::MACType::Serialize
    linkageType: ''
    returnType: void
    signature: void MACType::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: cryptofuzz::component::G2::G2
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void G2::G2(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/components.cpp:619,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/components.cpp:619,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/components.cpp:620,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/components.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: cryptofuzz::component::G2::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json G2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::G2::Serialize
      Src: /src/cryptofuzz/components.cpp:625,1
    - Dst: cryptofuzz::component::G2::Serialize
      Src: /src/cryptofuzz/components.cpp:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: cryptofuzz::component::G2::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::G2::Serialize
    linkageType: ''
    returnType: void
    signature: void G2::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:631,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:632,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:633,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:634,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:635,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:636,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:637,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:638,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:639,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:640,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:641,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 644
    functionName: cryptofuzz::component::Fp12::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::Fp12::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Fp12::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:647,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:648,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:649,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:650,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:651,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:652,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:653,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:654,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:655,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:656,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:657,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 659
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 659
    functionName: cryptofuzz::component::Fp12::Fp12
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void Fp12::Fp12(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:662,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:663,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:664,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:665,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:666,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:667,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:668,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:669,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:670,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:671,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:672,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 674
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 674
    functionName: cryptofuzz::component::Fp12::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::Fp12::Serialize
    linkageType: ''
    returnType: void
    signature: void Fp12::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::DSA_Parameters::ToJSON
      Src: /src/cryptofuzz/components.cpp:678,1
    - Dst: cryptofuzz::component::DSA_Parameters::ToJSON
      Src: /src/cryptofuzz/components.cpp:679,1
    - Dst: cryptofuzz::component::DSA_Parameters::ToJSON
      Src: /src/cryptofuzz/components.cpp:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 682
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 682
    functionName: cryptofuzz::component::DSA_Parameters::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::DSA_Parameters::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_Parameters::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:685,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:686,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: cryptofuzz::component::DSA_Parameters::DSA_Parameters
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void DSA_Parameters::DSA_Parameters(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::DSA_Parameters::Serialize
      Src: /src/cryptofuzz/components.cpp:691,1
    - Dst: cryptofuzz::component::DSA_Parameters::Serialize
      Src: /src/cryptofuzz/components.cpp:692,1
    - Dst: cryptofuzz::component::DSA_Parameters::Serialize
      Src: /src/cryptofuzz/components.cpp:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 694
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 694
    functionName: cryptofuzz::component::DSA_Parameters::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::DSA_Parameters::Serialize
    linkageType: ''
    returnType: void
    signature: void DSA_Parameters::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 700
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 700
    functionName: cryptofuzz::component::DSA_Signature::DSA_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Signature::DSA_Signature(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - signature
    - pub
    argTypes:
    - BignumPair
    - Bignum
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: cryptofuzz::component::DSA_Signature::DSA_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Signature::DSA_Signature(BignumPair signature, Bignum pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 710
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 710
    functionName: cryptofuzz::component::DSA_Signature::DSA_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Signature::DSA_Signature(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DSA_Signature
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: DSA_Signature::operator==(const DSA_Signature& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DSA_Signature::operator==(const DSA_Signature& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::DSA_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:719,1
    - Dst: cryptofuzz::component::DSA_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 721
    functionName: cryptofuzz::component::DSA_Signature::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::DSA_Signature::Serialize
    linkageType: ''
    returnType: void
    signature: void DSA_Signature::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::DSA_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:724,1
    - Dst: cryptofuzz::component::DSA_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: cryptofuzz::component::DSA_Signature::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::DSA_Signature::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_Signature::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: cryptofuzz::component::BLS_Signature::BLS_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Signature::BLS_Signature(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - signature
    - pub
    argTypes:
    - G2
    - ECC_PublicKey
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: cryptofuzz::component::BLS_Signature::BLS_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Signature::BLS_Signature(G2 signature, ECC_PublicKey pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 741
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 741
    functionName: cryptofuzz::component::BLS_Signature::BLS_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Signature::BLS_Signature(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_Signature
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: BLS_Signature::operator==(const BLS_Signature& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BLS_Signature::operator==(const BLS_Signature& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::BLS_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:750,1
    - Dst: cryptofuzz::component::BLS_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: cryptofuzz::component::BLS_Signature::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BLS_Signature::Serialize
    linkageType: ''
    returnType: void
    signature: void BLS_Signature::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::BLS_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:755,1
    - Dst: cryptofuzz::component::BLS_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 756
    functionName: cryptofuzz::component::BLS_Signature::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BLS_Signature::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Signature::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:761,1
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 765
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 765
    functionName: cryptofuzz::component::BLS_BatchSign_Vector::BLS_BatchSign_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Get
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_BatchSign_Vector::BLS_BatchSign_Vector(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 773
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 773
    functionName: cryptofuzz::component::BLS_BatchSign_Vector::BLS_BatchSign_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_BatchSign_Vector::BLS_BatchSign_Vector(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:776,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:776,1
    - Dst: priv::Serialize
      Src: /src/cryptofuzz/components.cpp:778,1
    - Dst: g1::Serialize
      Src: /src/cryptofuzz/components.cpp:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 781
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 781
    functionName: cryptofuzz::component::BLS_BatchSign_Vector::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - g1::Serialize
    - Put
    - priv::Serialize
    - size
    linkageType: ''
    returnType: void
    signature: void BLS_BatchSign_Vector::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msgpub
    argTypes:
    - std::vector< std::pair<G1, G2> >
    constantsTouched: []
    func_position:
      end: 787
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 787
    functionName: cryptofuzz::component::BLS_BatchSignature::BLS_BatchSignature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_BatchSignature::BLS_BatchSignature(std::vector< std::pair<G1,
      G2> > msgpub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_BatchSignature
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: BLS_BatchSignature::operator==(const BLS_BatchSignature& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BLS_BatchSignature::operator==(const BLS_BatchSignature& rhs)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:795,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:795,1
    - Dst: first::Serialize
      Src: /src/cryptofuzz/components.cpp:797,1
    - Dst: second::Serialize
      Src: /src/cryptofuzz/components.cpp:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 800
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 800
    functionName: cryptofuzz::component::BLS_BatchSignature::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Put
    - second::Serialize
    - first::Serialize
    - size
    linkageType: ''
    returnType: void
    signature: void BLS_BatchSignature::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 804
    functionName: cryptofuzz::component::BLS_BatchSignature::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_BatchSignature::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: cryptofuzz::component::BLS_KeyPair::BLS_KeyPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_KeyPair::BLS_KeyPair(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - priv
    - pub
    argTypes:
    - BLS_PrivateKey
    - BignumPair
    constantsTouched: []
    func_position:
      end: 817
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 817
    functionName: cryptofuzz::component::BLS_KeyPair::BLS_KeyPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_KeyPair::BLS_KeyPair(BLS_PrivateKey priv, BignumPair pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_KeyPair
    constantsTouched: []
    func_position:
      end: 823
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 823
    functionName: BLS_KeyPair::operator==(const BLS_KeyPair& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BLS_KeyPair::operator==(const BLS_KeyPair& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::BLS_KeyPair::Serialize
      Src: /src/cryptofuzz/components.cpp:826,1
    - Dst: cryptofuzz::component::BLS_KeyPair::Serialize
      Src: /src/cryptofuzz/components.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: cryptofuzz::component::BLS_KeyPair::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BLS_KeyPair::Serialize
    linkageType: ''
    returnType: void
    signature: void BLS_KeyPair::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::BLS_KeyPair::ToJSON
      Src: /src/cryptofuzz/components.cpp:831,1
    - Dst: cryptofuzz::component::BLS_KeyPair::ToJSON
      Src: /src/cryptofuzz/components.cpp:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: cryptofuzz::component::BLS_KeyPair::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BLS_KeyPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_KeyPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:837,1
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: cryptofuzz::component::BLS_BatchVerify_Vector::BLS_BatchVerify_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Get
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_BatchVerify_Vector::BLS_BatchVerify_Vector(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 849
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 849
    functionName: cryptofuzz::component::BLS_BatchVerify_Vector::BLS_BatchVerify_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_BatchVerify_Vector::BLS_BatchVerify_Vector(nlohmann::json
      json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:852,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:852,1
    - Dst: g1::Serialize
      Src: /src/cryptofuzz/components.cpp:854,1
    - Dst: g2::Serialize
      Src: /src/cryptofuzz/components.cpp:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 857
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 857
    functionName: cryptofuzz::component::BLS_BatchVerify_Vector::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Put
    - g1::Serialize
    - g2::Serialize
    - size
    linkageType: ''
    returnType: void
    signature: void BLS_BatchVerify_Vector::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_parser::start_array
      Src: /src/cryptofuzz/components.cpp:860,1
    - Dst: g1::first::ToJSON
      Src: /src/cryptofuzz/components.cpp:863,1
    - Dst: g1::second::ToJSON
      Src: /src/cryptofuzz/components.cpp:864,1
    - Dst: g2::first::first::ToJSON
      Src: /src/cryptofuzz/components.cpp:866,1
    - Dst: g2::first::second::ToJSON
      Src: /src/cryptofuzz/components.cpp:867,1
    - Dst: g2::second::first::ToJSON
      Src: /src/cryptofuzz/components.cpp:868,1
    - Dst: g2::second::second::ToJSON
      Src: /src/cryptofuzz/components.cpp:869,1
    - Dst: nlohmann::json::push_back
      Src: /src/cryptofuzz/components.cpp:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 874
    functionName: cryptofuzz::component::BLS_BatchVerify_Vector::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_parser::start_array
    - g2::first::second::ToJSON
    - g2::second::second::ToJSON
    - g1::first::ToJSON
    - nlohmann::json::push_back
    - g2::second::first::ToJSON
    - g2::first::first::ToJSON
    - g1::second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_BatchVerify_Vector::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:879,1
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:881,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/components.cpp:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 883
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 883
    functionName: cryptofuzz::component::BLS_G1_Vector::BLS_G1_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - Get
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Vector::BLS_G1_Vector(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 889
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 889
    functionName: cryptofuzz::component::BLS_G1_Vector::BLS_G1_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Vector::BLS_G1_Vector(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:892,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:892,1
    - Dst: cryptofuzz::component::BLS_G1_Vector::Serialize
      Src: /src/cryptofuzz/components.cpp:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 896
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 896
    functionName: cryptofuzz::component::BLS_G1_Vector::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - Put
    - cryptofuzz::component::BLS_G1_Vector::Serialize
    - size
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Vector::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:901,1
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:903,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/components.cpp:904,1
    - Dst: getBignum
      Src: /src/cryptofuzz/components.cpp:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 908
      start: 900
    functionDepth: 3
    functionLinenumber: 900
    functionLinenumberEnd: 908
    functionName: cryptofuzz::component::BLS_G1_Scalar_Vector::BLS_G1_Scalar_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - Get
    - getBignum
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Scalar_Vector::BLS_G1_Scalar_Vector(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 917
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 917
    functionName: cryptofuzz::component::BLS_G1_Scalar_Vector::BLS_G1_Scalar_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Scalar_Vector::BLS_G1_Scalar_Vector(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:920,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:920,1
    - Dst: first::Serialize
      Src: /src/cryptofuzz/components.cpp:922,1
    - Dst: second::Serialize
      Src: /src/cryptofuzz/components.cpp:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 925
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 925
    functionName: cryptofuzz::component::BLS_G1_Scalar_Vector::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Put
    - second::Serialize
    - first::Serialize
    - size
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Scalar_Vector::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:930,1
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:932,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/components.cpp:932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 934
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 934
    functionName: cryptofuzz::component::BLS_G2_Vector::BLS_G2_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::component::G2::G2
    - Get
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_G2_Vector::BLS_G2_Vector(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 940
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 940
    functionName: cryptofuzz::component::BLS_G2_Vector::BLS_G2_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_G2_Vector::BLS_G2_Vector(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:943,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:943,1
    - Dst: cryptofuzz::component::BLS_G2_Vector::Serialize
      Src: /src/cryptofuzz/components.cpp:945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 947
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 947
    functionName: cryptofuzz::component::BLS_G2_Vector::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BLS_G2_Vector::Serialize
    - Put
    - size
    linkageType: ''
    returnType: void
    signature: void BLS_G2_Vector::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 953
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 953
    functionName: cryptofuzz::component::SR25519_Signature::SR25519_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SR25519_Signature::SR25519_Signature(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - signature
    - pub
    argTypes:
    - BignumPair
    - Bignum
    constantsTouched: []
    func_position:
      end: 958
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 958
    functionName: cryptofuzz::component::SR25519_Signature::SR25519_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SR25519_Signature::SR25519_Signature(BignumPair signature, Bignum
      pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 963
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 963
    functionName: cryptofuzz::component::SR25519_Signature::SR25519_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SR25519_Signature::SR25519_Signature(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SR25519_Signature
    constantsTouched: []
    func_position:
      end: 969
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 969
    functionName: SR25519_Signature::operator==(const SR25519_Signature& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SR25519_Signature::operator==(const SR25519_Signature& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::SR25519_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:972,1
    - Dst: cryptofuzz::component::SR25519_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 974
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 974
    functionName: cryptofuzz::component::SR25519_Signature::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::SR25519_Signature::Serialize
    linkageType: ''
    returnType: void
    signature: void SR25519_Signature::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::SR25519_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:977,1
    - Dst: cryptofuzz::component::SR25519_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 978
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 978
    functionName: cryptofuzz::component::SR25519_Signature::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::SR25519_Signature::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json SR25519_Signature::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - outDir
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: cryptofuzz::Builtin_tests_importer::Builtin_tests_importer
    functionSourceFile: /src/cryptofuzz/builtin_tests_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builtin_tests_importer::Builtin_tests_importer(const std::string
      outDir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:21,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:22,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:23,1
    - Dst: cryptofuzz::repository::ECC_CurveToX
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:29,1
    - Dst: cryptofuzz::repository::ECC_CurveToY
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:34,1
    - Dst: cryptofuzz::repository::ECC_CurveToBits
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:39,1
    - Dst: std::string
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:57,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:65,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:66,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 69
    functionName: cryptofuzz::Builtin_tests_importer::ecdsa_verify_tests
    functionSourceFile: /src/cryptofuzz/builtin_tests_importer.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToX
    - cryptofuzz::Builtin_tests_importer::write
    - CF_OPERATION
    - std::string
    - CF_DIGEST
    - cryptofuzz::operation::ECDSA_Verify::Serialize
    - cryptofuzz::repository::ECC_CurveToBits
    - cryptofuzz::repository::ECC_CurveToY
    linkageType: ''
    returnType: void
    signature: void Builtin_tests_importer::ecdsa_verify_tests(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToA
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:77,1
    - Dst: cryptofuzz::repository::ECC_CurveToB
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:82,1
    - Dst: cryptofuzz::repository::ECC_CurveToPrime
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:87,1
    - Dst: cryptofuzz::util::Find_ECC_Y
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:92,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:110,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:111,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:111,1
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:116,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:117,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 120
    functionName: cryptofuzz::Builtin_tests_importer::ecc_point_add_tests
    functionSourceFile: /src/cryptofuzz/builtin_tests_importer.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToPrime
    - cryptofuzz::operation::ECC_Point_Cmp::Serialize
    - cryptofuzz::operation::ECC_Point_Add::Serialize
    - cryptofuzz::Builtin_tests_importer::write
    - CF_OPERATION
    - cryptofuzz::util::Find_ECC_Y
    - cryptofuzz::repository::ECC_CurveToB
    - cryptofuzz::repository::ECC_CurveToA
    linkageType: ''
    returnType: void
    signature: void Builtin_tests_importer::ecc_point_add_tests(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:129,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:137,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:138,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:138,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:147,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:155,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:156,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:156,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:164,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:170,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:174,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:175,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:175,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:184,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:188,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:189,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:189,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:197,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:203,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:207,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:208,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:208,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:216,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:224,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:225,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:225,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:233,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:241,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:242,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:242,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:250,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:258,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:259,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:259,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:269,1
    - Dst: cryptofuzz::operation::Digest::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:273,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:274,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:274,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:282,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:290,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:291,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:291,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:300,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:308,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:309,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:309,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:318,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:326,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:327,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:327,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:336,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:344,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:345,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:345,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:354,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:362,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:363,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:363,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:372,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:380,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:381,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:381,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:389,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:397,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:398,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:398,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:406,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:414,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:415,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:415,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:423,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:431,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:432,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:432,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:440,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:448,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:449,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:449,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:457,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:465,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:466,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:466,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:474,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:482,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:483,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:483,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:494,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:498,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:499,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:499,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:511,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:515,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:516,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:516,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:528,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:532,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:533,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:533,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:546,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:550,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:551,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:551,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:562,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:567,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:571,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:572,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:572,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:578,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:585,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:586,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:586,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:592,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:597,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:598,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:598,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:608,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:615,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:616,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:616,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:628,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:632,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:633,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:633,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:645,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:649,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:650,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:650,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:662,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:666,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:667,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:667,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:679,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:683,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:684,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:684,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:696,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:700,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:701,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:701,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:713,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:717,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:718,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:718,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:727,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:732,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:733,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:733,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:745,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:749,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:750,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:750,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:760,1
    - Dst: cryptofuzz::operation::ECC_Point_Neg::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:764,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:765,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:765,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:790,1
    - Dst: cryptofuzz::operation::BLS_IsG1OnCurve::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:794,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:795,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:795,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:805,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:813,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:814,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:814,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:824,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:832,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:833,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:833,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:843,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:851,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:852,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:852,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:860,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:866,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:867,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:867,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:875,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:881,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:882,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:882,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:894,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:895,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:899,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:900,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:901,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:902,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:903,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:904,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:905,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:918,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:923,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:926,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:933,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:936,1
    - Dst: cryptofuzz::operation::ECC_Point_Dbl::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:941,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:944,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:950,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:953,1
    - Dst: cryptofuzz::operation::ECC_Point_Neg::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:958,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:961,1
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:968,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:971,1
    - Dst: cryptofuzz::operation::ECC_Point_Sub::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:978,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:982,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:985,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:995,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1020,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1021,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1021,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1037,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1042,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1046,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1047,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1047,1
    - Dst: cryptofuzz::operation::DSA_Verify::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1069,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1070,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1070,1
    - Dst: cryptofuzz::Builtin_tests_importer::ecdsa_verify_tests
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1073,1
    - Dst: cryptofuzz::Builtin_tests_importer::ecc_point_add_tests
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1074,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 475
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 1075
    functionName: cryptofuzz::Builtin_tests_importer::Run
    functionSourceFile: /src/cryptofuzz/builtin_tests_importer.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Builtin_tests_importer::ecc_point_add_tests
    - cryptofuzz::operation::ECC_Point_Dbl::Serialize
    - cryptofuzz::operation::ECC_ValidatePubkey::Serialize
    - CF_DIGEST
    - cryptofuzz::operation::ECDSA_Verify::Serialize
    - CF_UNREACHABLE
    - cryptofuzz::operation::BLS_IsG1OnCurve::Serialize
    - CF_CALCOP
    - cryptofuzz::operation::Digest::Serialize
    - cryptofuzz::Builtin_tests_importer::write
    - cryptofuzz::operation::ECC_PrivateToPublic::Serialize
    - cryptofuzz::operation::ECC_Point_Neg::Serialize
    - cryptofuzz::operation::BLS_G1_Mul::Serialize
    - cryptofuzz::operation::DSA_Verify::Serialize
    - cryptofuzz::Builtin_tests_importer::ecdsa_verify_tests
    - CF_ECC_CURVE
    - cryptofuzz::operation::ECDSA_Sign::Serialize
    - cryptofuzz::operation::ECC_Point_Sub::Serialize
    - cryptofuzz::operation::ECC_Point_Mul::Serialize
    - cryptofuzz::operation::ECC_Point_Cmp::Serialize
    - cryptofuzz::operation::BignumCalc_Fp12::Serialize
    - cryptofuzz::operation::ECC_Point_Add::Serialize
    - CF_OPERATION
    - cryptofuzz::operation::BignumCalc::Serialize
    linkageType: ''
    returnType: void
    signature: void Builtin_tests_importer::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1085,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1087,1
    - Dst: GetOut
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1087,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1090,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1090,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1093,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1093,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1096,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1098,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1100,1
    - Dst: GetOut
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1100,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1103,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1103,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1106,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1106,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1109,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1112,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1112,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1115,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1115,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1118,1
    - Dst: std::string
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1122,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1122,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1122,1
    - Dst: fopen
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1123,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1123,1
    - Dst: fwrite
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1124,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1124,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1124,1
    - Dst: fclose
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - operation
    - ' dsOut2'
    - twice
    argTypes:
    - uint64_t
    - fuzzing::datasource::Datasource
    - bool
    constantsTouched: []
    func_position:
      end: 1127
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1127
    functionName: cryptofuzz::Builtin_tests_importer::write
    functionSourceFile: /src/cryptofuzz/builtin_tests_importer.cpp
    functionUses: 3
    functionsReached:
    - fuzzing::datasource::Datasource::GetOut
    - std::string::c_str
    - fwrite
    - std::vector<uint8_t>
    - fuzzing::datasource::Datasource::Put
    - fclose
    - std::string
    - fopen
    - GetOut
    - fuzzing::datasource::Datasource::PutData
    - CF_MODULE
    - cryptofuzz::util::SHA1
    linkageType: ''
    returnType: void
    signature: "void Builtin_tests_importer::write(\n        const uint64_t operation,\n
      \       fuzzing::datasource::Datasource& dsOut2,\n        const bool twice)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - std::shared_ptr<Module>
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: cryptofuzz::Driver::LoadModule
    functionSourceFile: /src/cryptofuzz/driver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Driver::LoadModule(std::shared_ptr<Module> module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:19,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:20,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:21,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:22,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:23,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:24,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:25,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:26,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:27,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:28,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:29,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:30,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:31,1
    - Dst: ID
      Src: /src/cryptofuzz/driver.cpp:32,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:33,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:34,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:35,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:36,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:37,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:38,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:39,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:40,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:41,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:42,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:43,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:44,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:45,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:46,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:47,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:48,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:49,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:50,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:51,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:52,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:53,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:54,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:55,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:56,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:57,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:58,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:59,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:60,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:61,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:62,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:63,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:64,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:65,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:66,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:67,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:68,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:69,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:70,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:71,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:72,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:73,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:74,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:75,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:76,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:77,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:78,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:79,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:80,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:81,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:82,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:83,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:84,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:85,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:86,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:87,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:88,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:89,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:90,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:91,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:92,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:93,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:94,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:95,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:96,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:97,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:98,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:99,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:100,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:101,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:102,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:103,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:104,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:105,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:106,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:107,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:108,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:109,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:110,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:111,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:112,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:113,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:114,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:115,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:116,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:117,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:118,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:119,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:120,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:121,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:122,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:123,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:124,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:125,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/driver.cpp:131,1
    - Dst: operations::Have
      Src: /src/cryptofuzz/driver.cpp:133,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/driver.cpp:137,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:140,1
    - Dst: ExecutorDigest::Run
      Src: /src/cryptofuzz/driver.cpp:141,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:141,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:141,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:143,1
    - Dst: ExecutorHMAC::Run
      Src: /src/cryptofuzz/driver.cpp:144,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:144,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:144,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:146,1
    - Dst: ExecutorUMAC::Run
      Src: /src/cryptofuzz/driver.cpp:147,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:147,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:147,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:149,1
    - Dst: ExecutorCMAC::Run
      Src: /src/cryptofuzz/driver.cpp:150,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:150,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:150,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:152,1
    - Dst: ExecutorSymmetricEncrypt::Run
      Src: /src/cryptofuzz/driver.cpp:153,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:153,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:153,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:155,1
    - Dst: ExecutorSymmetricDecrypt::Run
      Src: /src/cryptofuzz/driver.cpp:156,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:156,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:156,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:158,1
    - Dst: ExecutorKDF_SCRYPT::Run
      Src: /src/cryptofuzz/driver.cpp:159,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:159,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:159,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:161,1
    - Dst: ExecutorKDF_HKDF::Run
      Src: /src/cryptofuzz/driver.cpp:162,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:162,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:162,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:164,1
    - Dst: ExecutorKDF_TLS1_PRF::Run
      Src: /src/cryptofuzz/driver.cpp:165,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:165,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:165,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:167,1
    - Dst: ExecutorKDF_PBKDF::Run
      Src: /src/cryptofuzz/driver.cpp:168,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:168,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:168,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:170,1
    - Dst: ExecutorKDF_PBKDF1::Run
      Src: /src/cryptofuzz/driver.cpp:171,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:171,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:171,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:173,1
    - Dst: ExecutorKDF_PBKDF2::Run
      Src: /src/cryptofuzz/driver.cpp:174,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:174,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:174,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:176,1
    - Dst: ExecutorKDF_ARGON2::Run
      Src: /src/cryptofuzz/driver.cpp:177,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:177,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:177,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:179,1
    - Dst: ExecutorKDF_SSH::Run
      Src: /src/cryptofuzz/driver.cpp:180,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:180,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:180,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:182,1
    - Dst: ExecutorKDF_X963::Run
      Src: /src/cryptofuzz/driver.cpp:183,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:183,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:183,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:185,1
    - Dst: ExecutorKDF_BCRYPT::Run
      Src: /src/cryptofuzz/driver.cpp:186,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:186,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:186,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:188,1
    - Dst: ExecutorKDF_SP_800_108::Run
      Src: /src/cryptofuzz/driver.cpp:189,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:189,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:189,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:191,1
    - Dst: ExecutorKDF_SRTP::Run
      Src: /src/cryptofuzz/driver.cpp:192,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:192,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:192,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:194,1
    - Dst: ExecutorKDF_SRTCP::Run
      Src: /src/cryptofuzz/driver.cpp:195,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:195,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:195,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:197,1
    - Dst: ExecutorECC_PrivateToPublic::Run
      Src: /src/cryptofuzz/driver.cpp:198,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:198,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:198,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:200,1
    - Dst: ExecutorECC_ValidatePubkey::Run
      Src: /src/cryptofuzz/driver.cpp:201,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:201,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:201,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:203,1
    - Dst: ExecutorECC_GenerateKeyPair::Run
      Src: /src/cryptofuzz/driver.cpp:204,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:204,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:204,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:206,1
    - Dst: ExecutorECCSI_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:207,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:207,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:207,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:209,1
    - Dst: ExecutorECDSA_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:210,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:210,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:210,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:212,1
    - Dst: ExecutorECGDSA_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:213,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:213,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:213,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:215,1
    - Dst: ExecutorECRDSA_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:216,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:216,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:216,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:218,1
    - Dst: ExecutorSchnorr_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:219,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:219,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:219,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:221,1
    - Dst: ExecutorECCSI_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:222,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:222,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:222,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:224,1
    - Dst: ExecutorECDSA_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:225,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:225,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:225,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:227,1
    - Dst: ExecutorECGDSA_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:228,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:228,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:228,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:230,1
    - Dst: ExecutorECRDSA_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:231,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:231,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:231,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:233,1
    - Dst: ExecutorSchnorr_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:234,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:234,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:234,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:236,1
    - Dst: ExecutorECDSA_Recover::Run
      Src: /src/cryptofuzz/driver.cpp:237,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:237,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:237,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:239,1
    - Dst: ExecutorDSA_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:240,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:240,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:240,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:242,1
    - Dst: ExecutorDSA_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:243,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:243,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:243,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:245,1
    - Dst: ExecutorDSA_GenerateParameters::Run
      Src: /src/cryptofuzz/driver.cpp:246,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:246,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:246,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:248,1
    - Dst: ExecutorDSA_PrivateToPublic::Run
      Src: /src/cryptofuzz/driver.cpp:249,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:249,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:249,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:251,1
    - Dst: ExecutorDSA_GenerateKeyPair::Run
      Src: /src/cryptofuzz/driver.cpp:252,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:252,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:252,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:254,1
    - Dst: ExecutorECDH_Derive::Run
      Src: /src/cryptofuzz/driver.cpp:255,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:255,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:255,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:257,1
    - Dst: ExecutorECIES_Encrypt::Run
      Src: /src/cryptofuzz/driver.cpp:258,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:258,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:258,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:260,1
    - Dst: ExecutorECIES_Decrypt::Run
      Src: /src/cryptofuzz/driver.cpp:261,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:261,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:261,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:263,1
    - Dst: ExecutorECC_Point_Add::Run
      Src: /src/cryptofuzz/driver.cpp:264,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:264,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:264,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:266,1
    - Dst: ExecutorECC_Point_Sub::Run
      Src: /src/cryptofuzz/driver.cpp:267,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:267,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:267,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:269,1
    - Dst: ExecutorECC_Point_Mul::Run
      Src: /src/cryptofuzz/driver.cpp:270,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:270,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:270,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:272,1
    - Dst: ExecutorECC_Point_Neg::Run
      Src: /src/cryptofuzz/driver.cpp:273,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:273,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:273,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:275,1
    - Dst: ExecutorECC_Point_Dbl::Run
      Src: /src/cryptofuzz/driver.cpp:276,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:276,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:276,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:278,1
    - Dst: ExecutorECC_Point_Cmp::Run
      Src: /src/cryptofuzz/driver.cpp:279,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:279,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:279,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:281,1
    - Dst: ExecutorDH_GenerateKeyPair::Run
      Src: /src/cryptofuzz/driver.cpp:282,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:282,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:282,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:284,1
    - Dst: ExecutorDH_Derive::Run
      Src: /src/cryptofuzz/driver.cpp:285,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:285,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:285,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:287,1
    - Dst: ExecutorBignumCalc::Run
      Src: /src/cryptofuzz/driver.cpp:288,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:288,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:288,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:290,1
    - Dst: ExecutorBignumCalc_Fp2::Run
      Src: /src/cryptofuzz/driver.cpp:291,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:291,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:291,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:293,1
    - Dst: ExecutorBignumCalc_Fp12::Run
      Src: /src/cryptofuzz/driver.cpp:294,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:294,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:294,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:296,1
    - Dst: ExecutorBignumCalc_Mod_BLS12_381_R::Run
      Src: /src/cryptofuzz/driver.cpp:297,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:297,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:297,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:299,1
    - Dst: ExecutorBignumCalc_Mod_BLS12_381_P::Run
      Src: /src/cryptofuzz/driver.cpp:300,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:300,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:300,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:302,1
    - Dst: ExecutorBignumCalc_Mod_BLS12_377_R::Run
      Src: /src/cryptofuzz/driver.cpp:303,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:303,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:303,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:305,1
    - Dst: ExecutorBignumCalc_Mod_BLS12_377_P::Run
      Src: /src/cryptofuzz/driver.cpp:306,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:306,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:306,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:308,1
    - Dst: ExecutorBignumCalc_Mod_BN128_R::Run
      Src: /src/cryptofuzz/driver.cpp:309,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:309,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:309,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:311,1
    - Dst: ExecutorBignumCalc_Mod_BN128_P::Run
      Src: /src/cryptofuzz/driver.cpp:312,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:312,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:312,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:314,1
    - Dst: ExecutorBignumCalc_Mod_Vesta_R::Run
      Src: /src/cryptofuzz/driver.cpp:315,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:315,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:315,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:317,1
    - Dst: ExecutorBignumCalc_Mod_Vesta_P::Run
      Src: /src/cryptofuzz/driver.cpp:318,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:318,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:318,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:320,1
    - Dst: ExecutorBignumCalc_Mod_ED25519::Run
      Src: /src/cryptofuzz/driver.cpp:321,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:321,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:321,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:323,1
    - Dst: ExecutorBignumCalc_Mod_Edwards_R::Run
      Src: /src/cryptofuzz/driver.cpp:324,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:324,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:324,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:326,1
    - Dst: ExecutorBignumCalc_Mod_Edwards_P::Run
      Src: /src/cryptofuzz/driver.cpp:327,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:327,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:327,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:329,1
    - Dst: ExecutorBignumCalc_Mod_Goldilocks::Run
      Src: /src/cryptofuzz/driver.cpp:330,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:330,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:330,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:332,1
    - Dst: ExecutorBignumCalc_Mod_MNT4_R::Run
      Src: /src/cryptofuzz/driver.cpp:333,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:333,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:333,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:335,1
    - Dst: ExecutorBignumCalc_Mod_MNT4_P::Run
      Src: /src/cryptofuzz/driver.cpp:336,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:336,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:336,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:338,1
    - Dst: ExecutorBignumCalc_Mod_MNT6_R::Run
      Src: /src/cryptofuzz/driver.cpp:339,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:339,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:339,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:341,1
    - Dst: ExecutorBignumCalc_Mod_MNT6_P::Run
      Src: /src/cryptofuzz/driver.cpp:342,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:342,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:342,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:344,1
    - Dst: ExecutorBignumCalc_Mod_2Exp64::Run
      Src: /src/cryptofuzz/driver.cpp:345,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:345,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:345,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:347,1
    - Dst: ExecutorBignumCalc_Mod_2Exp128::Run
      Src: /src/cryptofuzz/driver.cpp:348,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:348,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:348,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:350,1
    - Dst: ExecutorBignumCalc_Mod_2Exp256::Run
      Src: /src/cryptofuzz/driver.cpp:351,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:351,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:351,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:353,1
    - Dst: ExecutorBignumCalc_Mod_2Exp512::Run
      Src: /src/cryptofuzz/driver.cpp:354,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:354,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:354,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:356,1
    - Dst: ExecutorBignumCalc_Mod_SECP256K1::Run
      Src: /src/cryptofuzz/driver.cpp:357,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:357,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:357,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:359,1
    - Dst: ExecutorBignumCalc_Mod_SECP256K1_P::Run
      Src: /src/cryptofuzz/driver.cpp:360,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:360,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:360,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:362,1
    - Dst: ExecutorBLS_PrivateToPublic::Run
      Src: /src/cryptofuzz/driver.cpp:363,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:363,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:363,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:365,1
    - Dst: ExecutorBLS_PrivateToPublic_G2::Run
      Src: /src/cryptofuzz/driver.cpp:366,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:366,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:366,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:368,1
    - Dst: ExecutorBLS_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:369,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:369,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:369,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:371,1
    - Dst: ExecutorBLS_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:372,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:372,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:372,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:374,1
    - Dst: ExecutorBLS_BatchSign::Run
      Src: /src/cryptofuzz/driver.cpp:375,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:375,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:375,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:377,1
    - Dst: ExecutorBLS_BatchVerify::Run
      Src: /src/cryptofuzz/driver.cpp:378,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:378,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:378,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:380,1
    - Dst: ExecutorBLS_Aggregate_G1::Run
      Src: /src/cryptofuzz/driver.cpp:381,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:381,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:381,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:383,1
    - Dst: ExecutorBLS_Aggregate_G2::Run
      Src: /src/cryptofuzz/driver.cpp:384,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:384,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:384,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:386,1
    - Dst: ExecutorBLS_Pairing::Run
      Src: /src/cryptofuzz/driver.cpp:387,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:387,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:387,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:389,1
    - Dst: ExecutorBLS_MillerLoop::Run
      Src: /src/cryptofuzz/driver.cpp:390,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:390,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:390,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:392,1
    - Dst: ExecutorBLS_FinalExp::Run
      Src: /src/cryptofuzz/driver.cpp:393,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:393,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:393,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:395,1
    - Dst: ExecutorBLS_HashToG1::Run
      Src: /src/cryptofuzz/driver.cpp:396,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:396,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:396,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:398,1
    - Dst: ExecutorBLS_HashToG2::Run
      Src: /src/cryptofuzz/driver.cpp:399,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:399,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:399,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:401,1
    - Dst: ExecutorBLS_MapToG1::Run
      Src: /src/cryptofuzz/driver.cpp:402,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:402,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:402,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:404,1
    - Dst: ExecutorBLS_MapToG2::Run
      Src: /src/cryptofuzz/driver.cpp:405,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:405,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:405,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:407,1
    - Dst: ExecutorBLS_IsG1OnCurve::Run
      Src: /src/cryptofuzz/driver.cpp:408,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:408,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:408,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:410,1
    - Dst: ExecutorBLS_IsG2OnCurve::Run
      Src: /src/cryptofuzz/driver.cpp:411,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:411,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:411,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:413,1
    - Dst: ExecutorBLS_GenerateKeyPair::Run
      Src: /src/cryptofuzz/driver.cpp:414,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:414,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:414,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:416,1
    - Dst: ExecutorBLS_Decompress_G1::Run
      Src: /src/cryptofuzz/driver.cpp:417,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:417,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:417,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:419,1
    - Dst: ExecutorBLS_Compress_G1::Run
      Src: /src/cryptofuzz/driver.cpp:420,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:420,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:420,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:422,1
    - Dst: ExecutorBLS_Decompress_G2::Run
      Src: /src/cryptofuzz/driver.cpp:423,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:423,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:423,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:425,1
    - Dst: ExecutorBLS_Compress_G2::Run
      Src: /src/cryptofuzz/driver.cpp:426,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:426,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:426,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:428,1
    - Dst: ExecutorBLS_G1_Add::Run
      Src: /src/cryptofuzz/driver.cpp:429,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:429,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:429,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:431,1
    - Dst: ExecutorBLS_G1_Mul::Run
      Src: /src/cryptofuzz/driver.cpp:432,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:432,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:432,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:434,1
    - Dst: ExecutorBLS_G1_IsEq::Run
      Src: /src/cryptofuzz/driver.cpp:435,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:435,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:435,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:437,1
    - Dst: ExecutorBLS_G1_Neg::Run
      Src: /src/cryptofuzz/driver.cpp:438,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:438,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:438,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:440,1
    - Dst: ExecutorBLS_G2_Add::Run
      Src: /src/cryptofuzz/driver.cpp:441,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:441,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:441,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:443,1
    - Dst: ExecutorBLS_G2_Mul::Run
      Src: /src/cryptofuzz/driver.cpp:444,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:444,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:444,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:446,1
    - Dst: ExecutorBLS_G2_IsEq::Run
      Src: /src/cryptofuzz/driver.cpp:447,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:447,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:447,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:449,1
    - Dst: ExecutorBLS_G2_Neg::Run
      Src: /src/cryptofuzz/driver.cpp:450,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:450,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:450,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:452,1
    - Dst: ExecutorBLS_G1_MultiExp::Run
      Src: /src/cryptofuzz/driver.cpp:453,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:453,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:453,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:455,1
    - Dst: ExecutorMisc::Run
      Src: /src/cryptofuzz/driver.cpp:456,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:456,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:456,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:458,1
    - Dst: ExecutorSR25519_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:459,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:459,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:459,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 330
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 464
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 464
    functionName: cryptofuzz::Driver::Run
    functionSourceFile: /src/cryptofuzz/driver.cpp
    functionUses: 0
    functionsReached:
    - ExecutorBignumCalc_Mod_MNT6_R::Run
    - ExecutorBLS_Aggregate_G2::Run
    - ExecutorBLS_G2_Add::Run
    - ExecutorBignumCalc_Mod_BLS12_381_R::Run
    - ExecutorSymmetricEncrypt::Run
    - ExecutorDSA_PrivateToPublic::Run
    - ExecutorKDF_HKDF::Run
    - ExecutorECC_Point_Add::Run
    - ExecutorBignumCalc_Mod_BLS12_381_P::Run
    - ExecutorBignumCalc_Mod_2Exp512::Run
    - ExecutorKDF_SSH::Run
    - ExecutorBLS_G2_Neg::Run
    - ExecutorECC_Point_Sub::Run
    - auto::size
    - ExecutorBignumCalc_Mod_BLS12_377_P::Run
    - ExecutorBLS_MillerLoop::Run
    - ExecutorBignumCalc_Mod_Edwards_R::Run
    - ExecutorBignumCalc_Mod_Vesta_R::Run
    - ExecutorBLS_HashToG2::Run
    - operations::Have
    - ExecutorUMAC::Run
    - ExecutorBLS_Compress_G2::Run
    - ExecutorBLS_G2_Mul::Run
    - ExecutorDH_GenerateKeyPair::Run
    - ExecutorBignumCalc_Mod_BLS12_377_R::Run
    - ExecutorECGDSA_Verify::Run
    - ExecutorECCSI_Verify::Run
    - ExecutorKDF_SRTP::Run
    - ExecutorECC_Point_Dbl::Run
    - ExecutorBignumCalc_Mod_2Exp64::Run
    - ExecutorBignumCalc_Mod_MNT4_P::Run
    - ExecutorECC_GenerateKeyPair::Run
    - ExecutorECIES_Decrypt::Run
    - ExecutorECC_Point_Cmp::Run
    - ExecutorBLS_G2_IsEq::Run
    - ExecutorKDF_PBKDF::Run
    - ExecutorBignumCalc_Mod_BN128_R::Run
    - ExecutorSR25519_Verify::Run
    - ExecutorECCSI_Sign::Run
    - ExecutorKDF_X963::Run
    - ExecutorBignumCalc_Fp2::Run
    - ExecutorBLS_BatchVerify::Run
    - ExecutorKDF_PBKDF1::Run
    - ExecutorBLS_IsG1OnCurve::Run
    - ExecutorHMAC::Run
    - ExecutorBignumCalc_Mod_Goldilocks::Run
    - ExecutorBLS_HashToG1::Run
    - ExecutorMisc::Run
    - ExecutorECC_PrivateToPublic::Run
    - Datasource::Get
    - ExecutorBLS_MapToG2::Run
    - ExecutorBignumCalc_Fp12::Run
    - ExecutorECIES_Encrypt::Run
    - ExecutorBignumCalc_Mod_MNT6_P::Run
    - CF_OPERATION
    - ExecutorBignumCalc_Mod_ED25519::Run
    - ExecutorBLS_PrivateToPublic::Run
    - ExecutorBLS_G1_IsEq::Run
    - Datasource::GetData
    - ExecutorBLS_IsG2OnCurve::Run
    - ExecutorECC_ValidatePubkey::Run
    - ExecutorBLS_MapToG1::Run
    - ExecutorECDSA_Sign::Run
    - ExecutorBignumCalc_Mod_SECP256K1::Run
    - ExecutorSchnorr_Verify::Run
    - ExecutorKDF_ARGON2::Run
    - ExecutorDSA_Verify::Run
    - ExecutorBLS_BatchSign::Run
    - ExecutorBLS_G1_Mul::Run
    - ExecutorBignumCalc::Run
    - ExecutorDigest::Run
    - ExecutorECDH_Derive::Run
    - ExecutorECRDSA_Sign::Run
    - ExecutorKDF_TLS1_PRF::Run
    - ExecutorECRDSA_Verify::Run
    - ExecutorBignumCalc_Mod_Edwards_P::Run
    - ExecutorBignumCalc_Mod_MNT4_R::Run
    - ExecutorSymmetricDecrypt::Run
    - ExecutorBLS_G1_MultiExp::Run
    - ExecutorCMAC::Run
    - ExecutorDSA_GenerateParameters::Run
    - ExecutorBLS_GenerateKeyPair::Run
    - ExecutorBLS_Decompress_G1::Run
    - ExecutorSchnorr_Sign::Run
    - ExecutorDH_Derive::Run
    - ExecutorBLS_Compress_G1::Run
    - ExecutorBignumCalc_Mod_BN128_P::Run
    - ExecutorBLS_Verify::Run
    - ExecutorBignumCalc_Mod_2Exp256::Run
    - ExecutorECC_Point_Mul::Run
    - ExecutorKDF_SCRYPT::Run
    - ExecutorBLS_Aggregate_G1::Run
    - ExecutorKDF_BCRYPT::Run
    - ExecutorBLS_Decompress_G2::Run
    - ExecutorECC_Point_Neg::Run
    - ExecutorBignumCalc_Mod_Vesta_P::Run
    - ExecutorBignumCalc_Mod_SECP256K1_P::Run
    - ExecutorBLS_Sign::Run
    - ExecutorECDSA_Recover::Run
    - ExecutorBLS_PrivateToPublic_G2::Run
    - ID
    - ExecutorECDSA_Verify::Run
    - ExecutorBLS_G1_Add::Run
    - auto::data
    - ExecutorKDF_SRTCP::Run
    - ExecutorDSA_Sign::Run
    - ExecutorKDF_PBKDF2::Run
    - ExecutorBignumCalc_Mod_2Exp128::Run
    - ExecutorBLS_Pairing::Run
    - ExecutorECGDSA_Sign::Run
    - ExecutorBLS_FinalExp::Run
    - ExecutorBLS_G1_Neg::Run
    - ExecutorDSA_GenerateKeyPair::Run
    - ExecutorKDF_SP_800_108::Run
    linkageType: ''
    returnType: void
    signature: void Driver::Run(const uint8_t* data, const size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - options
    argTypes:
    - Options
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: cryptofuzz::Driver::Driver
    functionSourceFile: /src/cryptofuzz/driver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Driver::Driver(const Options options)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: cryptofuzz::Driver::GetOptionsPtr
    functionSourceFile: /src/cryptofuzz/driver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Options
    signature: Options * Driver::GetOptionsPtr(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::IsXTS
      Src: /src/cryptofuzz/util.cpp:32,1
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/util.cpp:32,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/util.cpp:37,1
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/util.cpp:37,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/util.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - cipherType
    - in
    - inSize
    argTypes:
    - fuzzing::datasource::Datasource
    - component::SymmetricCipherType
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: cryptofuzz::util::CipherInputTransform
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::IsCCM
    - component::SymmetricCipherType::Get
    - cryptofuzz::repository::IsXTS
    - cryptofuzz::util::ToParts
    linkageType: ''
    returnType: Multipart
    signature: Multipart CipherInputTransform(fuzzing::datasource::Datasource& ds,
      component::SymmetricCipherType cipherType, const uint8_t* in, const size_t inSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::CipherInputTransform
      Src: /src/cryptofuzz/util.cpp:48,1
    - Dst: cryptofuzz::util::ToInPlace
      Src: /src/cryptofuzz/util.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' ds'
    - cipherType
    - out
    - outSize
    - in
    - inSize
    argTypes:
    - fuzzing::datasource::Datasource
    - component::SymmetricCipherType
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: cryptofuzz::util::CipherInputTransform
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::ToInPlace
    - cryptofuzz::util::CipherInputTransform
    linkageType: ''
    returnType: Multipart
    signature: Multipart CipherInputTransform(fuzzing::datasource::Datasource& ds,
      component::SymmetricCipherType cipherType, uint8_t* out, const size_t outSize,
      const uint8_t* in, const size_t inSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/util.cpp:60,1
    - Dst: memcpy
      Src: /src/cryptofuzz/util.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - ' ds'
    - out
    - outSize
    - in
    - inSize
    argTypes:
    - fuzzing::datasource::Datasource
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: cryptofuzz::util::ToInPlace
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - Get
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * ToInPlace(fuzzing::datasource::Datasource& ds, uint8_t* out,
      const size_t outSize, const uint8_t* in, const size_t inSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:77,1
    - Dst: Get
      Src: /src/cryptofuzz/util.cpp:77,1
    - Dst: std::vector::back
      Src: /src/cryptofuzz/util.cpp:78,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ds'
    - N
    argTypes:
    - fuzzing::datasource::Datasource
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: cryptofuzz::util::Split
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector::back
    - Get
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> Split(fuzzing::datasource::Datasource& ds, size_t
      N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/util.cpp:89,1
    - Dst: data
      Src: /src/cryptofuzz/util.cpp:89,1
    - Dst: size
      Src: /src/cryptofuzz/util.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ds'
    - ' buffer'
    - blocksize
    argTypes:
    - fuzzing::datasource::Datasource
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: cryptofuzz::util::ToParts
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - data
    - cryptofuzz::util::ToParts
    - size
    linkageType: ''
    returnType: Multipart
    signature: Multipart ToParts(fuzzing::datasource::Datasource& ds, const std::vector<uint8_t>&
      buffer, const size_t blocksize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/util.cpp:93,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/util.cpp:93,1
    - Dst: GetSize
      Src: /src/cryptofuzz/util.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ds'
    - ' buffer'
    - blocksize
    argTypes:
    - fuzzing::datasource::Datasource
    - Buffer
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: cryptofuzz::util::ToParts
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - GetPtr
    - cryptofuzz::util::ToParts
    - GetSize
    linkageType: ''
    returnType: Multipart
    signature: Multipart ToParts(fuzzing::datasource::Datasource& ds, const Buffer&
      buffer, const size_t blocksize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::Split
      Src: /src/cryptofuzz/util.cpp:98,1
    - Dst: Multipart::push_back
      Src: /src/cryptofuzz/util.cpp:103,1
    - Dst: Multipart::push_back
      Src: /src/cryptofuzz/util.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - data
    - size
    - blocksize
    argTypes:
    - fuzzing::datasource::Datasource
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: cryptofuzz::util::ToParts
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - Multipart::push_back
    - cryptofuzz::util::Split
    linkageType: ''
    returnType: Multipart
    signature: Multipart ToParts(fuzzing::datasource::Datasource& ds, const uint8_t*
      data, const size_t size, const size_t blocksize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToEqualParts
      Src: /src/cryptofuzz/util.cpp:113,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/util.cpp:113,1
    - Dst: GetSize
      Src: /src/cryptofuzz/util.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' buffer'
    - partSize
    argTypes:
    - Buffer
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: cryptofuzz::util::ToEqualParts
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::ToEqualParts
    - GetPtr
    - GetSize
    linkageType: ''
    returnType: Multipart
    signature: Multipart ToEqualParts(const Buffer& buffer, const size_t partSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Multipart::push_back
      Src: /src/cryptofuzz/util.cpp:122,1
    - Dst: Multipart::push_back
      Src: /src/cryptofuzz/util.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - partSize
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: cryptofuzz::util::ToEqualParts
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - Multipart::push_back
    linkageType: ''
    returnType: Multipart
    signature: Multipart ToEqualParts(const uint8_t* data, const size_t size, const
      size_t partSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::push_back
      Src: /src/cryptofuzz/util.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - in
    - blocksize
    argTypes:
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: cryptofuzz::util::Pkcs7Pad
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Pkcs7Pad(std::vector<uint8_t> in, const size_t
      blocksize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:144,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:144,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/util.cpp:148,1
    - Dst: std::vector<uint8_t>::back
      Src: /src/cryptofuzz/util.cpp:148,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:150,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/util.cpp:154,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/util.cpp:154,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/util.cpp:154,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - in
    - blocksize
    argTypes:
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: cryptofuzz::util::Pkcs7Unpad
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    - std::vector<uint8_t>
    - static_cast<size_t>
    - std::vector<uint8_t>::back
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> Pkcs7Unpad(std::vector<uint8_t>
      in, const size_t blocksize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:162,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:173,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:174,1
    - Dst: std::setw
      Src: /src/cryptofuzz/util.cpp:182,1
    - Dst: std::setfill
      Src: /src/cryptofuzz/util.cpp:182,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/util.cpp:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - _data
    - len
    - description
    argTypes:
    - void*
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 194
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 194
    functionName: cryptofuzz::util::HexDump
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 42
    functionsReached:
    - std::string::size
    - std::setfill
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string HexDump(const void *_data, const size_t len, const std::string
      description)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/util.cpp:197,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/util.cpp:197,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - description
    argTypes:
    - std::vector<uint8_t>
    - std::string
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: cryptofuzz::util::HexDump
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 43
    functionsReached:
    - cryptofuzz::util::HexDump
    - std::vector<uint8_t>::size
    - std::vector<uint8_t>::data
    linkageType: ''
    returnType: std::string
    signature: std::string HexDump(std::vector<uint8_t> data, const std::string description)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/util.cpp:201,1
    - Dst: Get
      Src: /src/cryptofuzz/util.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buffer'
    argTypes:
    - Buffer
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::HexDump
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const Buffer& buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const bool val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/util.cpp:211,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/util.cpp:211,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/util.cpp:211,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/util.cpp:216,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/util.cpp:216,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/util.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' ciphertext'
    argTypes:
    - component::Ciphertext
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - tag::GetSize
    - ciphertext::GetPtr
    - cryptofuzz::util::HexDump
    - tag::GetPtr
    - ciphertext::GetSize
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::Ciphertext& ciphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::ToString
      Src: /src/cryptofuzz/util.cpp:228,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/util.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECC_PublicKey
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - second::ToString
    - first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::ECC_PublicKey& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv::ToString
      Src: /src/cryptofuzz/util.cpp:242,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/util.cpp:246,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/util.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECC_KeyPair
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - pub::second::ToString
    - pub::first::ToString
    - priv::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::ECC_KeyPair& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/util.cpp:260,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/util.cpp:264,1
    - Dst: pvt::first::ToString
      Src: /src/cryptofuzz/util.cpp:268,1
    - Dst: pvt::second::ToString
      Src: /src/cryptofuzz/util.cpp:272,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/util.cpp:276,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/util.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECCSI_Signature
    constantsTouched: []
    func_position:
      end: 284
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 284
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - signature::second::ToString
    - pub::first::ToString
    - pvt::second::ToString
    - pub::second::ToString
    - pvt::first::ToString
    - signature::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::ECCSI_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/util.cpp:290,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/util.cpp:294,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/util.cpp:298,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/util.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECDSA_Signature
    constantsTouched: []
    func_position:
      end: 306
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 306
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - signature::second::ToString
    - pub::second::ToString
    - pub::first::ToString
    - signature::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::ECDSA_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/util.cpp:312,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/util.cpp:316,1
    - Dst: signature::first::first::ToString
      Src: /src/cryptofuzz/util.cpp:320,1
    - Dst: signature::first::second::ToString
      Src: /src/cryptofuzz/util.cpp:324,1
    - Dst: signature::second::first::ToString
      Src: /src/cryptofuzz/util.cpp:328,1
    - Dst: signature::second::second::ToString
      Src: /src/cryptofuzz/util.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::BLS_Signature
    constantsTouched: []
    func_position:
      end: 336
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 336
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - signature::second::first::ToString
    - pub::first::ToString
    - signature::first::first::ToString
    - pub::second::ToString
    - signature::first::second::ToString
    - signature::second::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::BLS_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/util.cpp:343,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/util.cpp:346,1
    - Dst: second::first::first::ToString
      Src: /src/cryptofuzz/util.cpp:352,1
    - Dst: second::first::second::ToString
      Src: /src/cryptofuzz/util.cpp:355,1
    - Dst: second::second::first::ToString
      Src: /src/cryptofuzz/util.cpp:358,1
    - Dst: second::second::second::ToString
      Src: /src/cryptofuzz/util.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::BLS_BatchSignature
    constantsTouched: []
    func_position:
      end: 368
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 368
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - second::second::first::ToString
    - second::first::second::ToString
    - second::first::first::ToString
    - first::first::ToString
    - second::second::second::ToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::BLS_BatchSignature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv::ToString
      Src: /src/cryptofuzz/util.cpp:374,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/util.cpp:378,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/util.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::BLS_KeyPair
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 386
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - pub::second::ToString
    - pub::first::ToString
    - priv::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::BLS_KeyPair& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/util.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - cryptofuzz::util::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::Bignum& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/util.cpp:396,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/util.cpp:400,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/util.cpp:404,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/util.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::G2
    constantsTouched: []
    func_position:
      end: 412
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 412
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - first::second::ToString
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::G2& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/util.cpp:417,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/util.cpp:418,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/util.cpp:419,1
    - Dst: bn4::ToString
      Src: /src/cryptofuzz/util.cpp:420,1
    - Dst: bn5::ToString
      Src: /src/cryptofuzz/util.cpp:421,1
    - Dst: bn6::ToString
      Src: /src/cryptofuzz/util.cpp:422,1
    - Dst: bn7::ToString
      Src: /src/cryptofuzz/util.cpp:423,1
    - Dst: bn8::ToString
      Src: /src/cryptofuzz/util.cpp:424,1
    - Dst: bn9::ToString
      Src: /src/cryptofuzz/util.cpp:425,1
    - Dst: bn10::ToString
      Src: /src/cryptofuzz/util.cpp:426,1
    - Dst: bn11::ToString
      Src: /src/cryptofuzz/util.cpp:427,1
    - Dst: bn12::ToString
      Src: /src/cryptofuzz/util.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::Fp12
    constantsTouched: []
    func_position:
      end: 431
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 431
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - bn3::ToString
    - bn11::ToString
    - bn12::ToString
    - bn2::ToString
    - bn10::ToString
    - bn6::ToString
    - bn4::ToString
    - bn9::ToString
    - bn8::ToString
    - bn5::ToString
    - bn7::ToString
    - bn1::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::Fp12& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::ToString
      Src: /src/cryptofuzz/util.cpp:436,1
    - Dst: q::ToString
      Src: /src/cryptofuzz/util.cpp:437,1
    - Dst: g::ToString
      Src: /src/cryptofuzz/util.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::DSA_Parameters
    constantsTouched: []
    func_position:
      end: 441
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 441
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - g::ToString
    - q::ToString
    - p::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::DSA_Parameters& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/util.cpp:446,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/util.cpp:447,1
    - Dst: pub::ToString
      Src: /src/cryptofuzz/util.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::DSA_Signature
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - signature::second::ToString
    - pub::ToString
    - signature::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::DSA_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/util.cpp:456,1
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/util.cpp:457,1
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/util.cpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::Key3
    constantsTouched: []
    func_position:
      end: 461
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 461
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 4
    functionsReached:
    - cryptofuzz::util::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::Key3& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buffer'
    argTypes:
    - Buffer
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const Buffer& buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const bool val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext::ToJSON
      Src: /src/cryptofuzz/util.cpp:474,1
    - Dst: tag::ToJSON
      Src: /src/cryptofuzz/util.cpp:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ciphertext'
    argTypes:
    - component::Ciphertext
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - ciphertext::ToJSON
    - tag::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::Ciphertext& ciphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECC_PublicKey
    constantsTouched: []
    func_position:
      end: 485
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 485
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::ECC_PublicKey& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECC_KeyPair
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 4
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::ECC_KeyPair& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECCSI_Signature
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 5
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::ECCSI_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECDSA_Signature
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 6
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::ECDSA_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 7
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::Bignum& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::G2
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 8
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::G2& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::BLS_Signature
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 9
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::BLS_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::BLS_BatchSignature
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 10
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::BLS_BatchSignature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::BLS_KeyPair
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 11
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::BLS_KeyPair& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::Fp12
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 12
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::Fp12& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::DSA_Parameters
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 13
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::DSA_Parameters& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::DSA_Signature
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 14
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::DSA_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:533,1
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:534,1
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::Key3
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 15
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::Key3& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 550
    functionName: cryptofuzz::util::HaveBadPointer::HaveBadPointer
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HaveBadPointer(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 554
    functionName: cryptofuzz::util::HaveBadPointer::Get
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Get(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/util.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ds
    argTypes:
    - fuzzing::datasource::Datasource*
    constantsTouched: []
    func_position:
      end: 565
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 565
    functionName: cryptofuzz::util::SetGlobalDs
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void SetGlobalDs(fuzzing::datasource::Datasource* ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/util.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: cryptofuzz::util::UnsetGlobalDs
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void UnsetGlobalDs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource*::Get
      Src: /src/cryptofuzz/util.cpp:580,1
    - Dst: Get
      Src: /src/cryptofuzz/util.cpp:585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ds
    argTypes:
    - fuzzing::datasource::Datasource*
    constantsTouched: []
    func_position:
      end: 586
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 586
    functionName: cryptofuzz::util::GetNullPtr
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - fuzzing::datasource::Datasource*::Get
    - Get
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GetNullPtr(fuzzing::datasource::Datasource* ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::GetNullPtr
      Src: /src/cryptofuzz/util.cpp:589,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/util.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 590
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 590
    functionName: cryptofuzz::util::malloc
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::malloc
    - cryptofuzz::util::GetNullPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * malloc(const size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/util.cpp:594,1
    - Dst: cryptofuzz::util::GetNullPtr
      Src: /src/cryptofuzz/util.cpp:595,1
    - Dst: cryptofuzz::util::GetNullPtr
      Src: /src/cryptofuzz/util.cpp:597,1
    - Dst: cryptofuzz::util::realloc
      Src: /src/cryptofuzz/util.cpp:598,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/util.cpp:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 603
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 603
    functionName: cryptofuzz::util::realloc
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::realloc
    - cryptofuzz::util::malloc
    - cryptofuzz::util::GetNullPtr
    - cryptofuzz::util::free
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * realloc(void* ptr, const size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::GetNullPtr
      Src: /src/cryptofuzz/util.cpp:606,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/util.cpp:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 609
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 609
    functionName: cryptofuzz::util::free
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::free
    - cryptofuzz::util::GetNullPtr
    linkageType: ''
    returnType: void
    signature: void free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetX86Info
      Src: /src/cryptofuzz/util.cpp:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 619
    functionName: cryptofuzz::util::HaveSSE42
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - GetX86Info
    linkageType: ''
    returnType: bool
    signature: bool HaveSSE42(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_thread_join
      Src: /src/cryptofuzz/util.cpp:622,1
    - Dst: printf
      Src: /src/cryptofuzz/util.cpp:623,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/util.cpp:623,1
    - Dst: fflush
      Src: /src/cryptofuzz/util.cpp:624,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/util.cpp:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - components
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: cryptofuzz::util::abort
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - fflush
    - std::string::c_str
    - argon2_thread_join
    - printf
    linkageType: ''
    returnType: void
    signature: void abort(const std::vector<std::string> components)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/util.cpp:636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 638
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 638
    functionName: cryptofuzz::util::HexCharToDec
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int HexCharToDec(const char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/cryptofuzz/util.cpp:644,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:648,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/util.cpp:649,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:653,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/util.cpp:654,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:657,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/util.cpp:658,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/util.cpp:665,1
    - Dst: cryptofuzz::util::HexCharToDec
      Src: /src/cryptofuzz/util.cpp:665,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:665,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/util.cpp:672,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/util.cpp:675,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 677
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 677
    functionName: cryptofuzz::util::HexToDec
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 6
    functionsReached:
    - std::string::substr
    - cryptofuzz::module::blst_detail::To_cpp_int
    - std::stringstream::str
    - std::string::size
    - std::string::empty
    - cryptofuzz::util::HexCharToDec
    linkageType: ''
    returnType: std::string
    signature: std::string HexToDec(std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:681,1
    - Dst: std::string::erase
      Src: /src/cryptofuzz/util.cpp:682,1
    - Dst: std::string::erase
      Src: /src/cryptofuzz/util.cpp:685,1
    - Dst: std::string::find_first_not_of
      Src: /src/cryptofuzz/util.cpp:685,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/util.cpp:692,1
    - Dst: auto::size
      Src: /src/cryptofuzz/util.cpp:693,1
    - Dst: auto::size
      Src: /src/cryptofuzz/util.cpp:696,1
    - Dst: std::string
      Src: /src/cryptofuzz/util.cpp:697,1
    - Dst: auto::size
      Src: /src/cryptofuzz/util.cpp:697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - s
    - padTo
    argTypes:
    - std::string
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 700
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 700
    functionName: cryptofuzz::util::DecToHex
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - std::stringstream::str
    - std::string
    - std::string::find_first_not_of
    - std::string::size
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string DecToHex(std::string s, const std::optional<size_t> padTo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/util.cpp:705,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/util.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 708
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 708
    functionName: cryptofuzz::util::HexToBin
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - boost::algorithm::unhex
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> HexToBin(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/cryptofuzz/util.cpp:711,1
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/util.cpp:716,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/util.cpp:716,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/util.cpp:721,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/util.cpp:724,1
    - Dst: memset
      Src: /src/cryptofuzz/util.cpp:728,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/util.cpp:728,1
    - Dst: memcpy
      Src: /src/cryptofuzz/util.cpp:730,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/util.cpp:730,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/util.cpp:730,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/util.cpp:730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - std::string
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 733
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 733
    functionName: cryptofuzz::util::DecToBin
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - std::vector::size
    - std::vector::data
    - boost::multiprecision::export_bits
    - memset
    - std::back_inserter
    - memcpy
    - std::string::empty
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> DecToBin(const std::string s, std::optional<size_t>
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::BinToHex
      Src: /src/cryptofuzz/util.cpp:736,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/util.cpp:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 737
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 737
    functionName: cryptofuzz::util::BinToHex
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>
    - cryptofuzz::util::BinToHex
    linkageType: ''
    returnType: std::string
    signature: std::string BinToHex(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::algorithm::hex_lower
      Src: /src/cryptofuzz/util.cpp:741,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/util.cpp:741,1
    - Dst: std::vector<uint8_t>::end
      Src: /src/cryptofuzz/util.cpp:741,1
    - Dst: back_inserter
      Src: /src/cryptofuzz/util.cpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 744
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 744
    functionName: cryptofuzz::util::BinToHex
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>::end
    - back_inserter
    - boost::algorithm::hex_lower
    - std::vector<uint8_t>::begin
    linkageType: ''
    returnType: std::string
    signature: std::string BinToHex(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/util.cpp:747,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/util.cpp:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 748
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 748
    functionName: cryptofuzz::util::BinToDec
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - std::vector<uint8_t>
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: std::string
    signature: std::string BinToDec(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::empty
      Src: /src/cryptofuzz/util.cpp:751,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/util.cpp:756,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/util.cpp:756,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/util.cpp:756,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:756,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/util.cpp:761,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/util.cpp:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 766
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 766
    functionName: cryptofuzz::util::BinToDec
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - boost::multiprecision::import_bits
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    - std::stringstream::str
    - std::vector<uint8_t>::empty
    linkageType: ''
    returnType: std::string
    signature: std::string BinToDec(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/util.cpp:771,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/util.cpp:775,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:792,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:793,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:795,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:796,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:798,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:800,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:800,1
    - Dst: begin
      Src: /src/cryptofuzz/util.cpp:800,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:800,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:802,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:803,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:805,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:807,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:807,1
    - Dst: begin
      Src: /src/cryptofuzz/util.cpp:807,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:807,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 810
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 810
    functionName: cryptofuzz::util::ToDER
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::insert
    - cryptofuzz::util::DecToBin
    - end
    - begin
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> ToDER(const std::string A, const
      std::string B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::SignatureFromDER
      Src: /src/cryptofuzz/util.cpp:813,1
    - Dst: cryptofuzz::util::HexToBin
      Src: /src/cryptofuzz/util.cpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 814
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 814
    functionName: cryptofuzz::util::SignatureFromDER
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - cryptofuzz::util::SignatureFromDER
    - cryptofuzz::util::HexToBin
    linkageType: ''
    returnType: std::optional<std::pair<std::string, std::string>>
    signature: std::optional<std::pair<std::string, std::string>> SignatureFromDER(const
      std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GETBYTE
      Src: /src/cryptofuzz/util.cpp:832,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/util.cpp:832,1
    - Dst: GETBYTE
      Src: /src/cryptofuzz/util.cpp:834,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/util.cpp:834,1
    - Dst: GETBYTE
      Src: /src/cryptofuzz/util.cpp:838,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/util.cpp:838,1
    - Dst: GETBYTE
      Src: /src/cryptofuzz/util.cpp:840,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/util.cpp:840,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/util.cpp:843,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/util.cpp:843,1
    - Dst: ADVANCE
      Src: /src/cryptofuzz/util.cpp:844,1
    - Dst: GETBYTE
      Src: /src/cryptofuzz/util.cpp:850,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/util.cpp:850,1
    - Dst: GETBYTE
      Src: /src/cryptofuzz/util.cpp:852,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/util.cpp:852,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/util.cpp:855,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/util.cpp:855,1
    - Dst: ADVANCE
      Src: /src/cryptofuzz/util.cpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 863
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 863
    functionName: cryptofuzz::util::SignatureFromDER
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - GETBYTE
    - CF_CHECK_EQ
    - std::vector<uint8_t>
    - CF_CHECK_LTE
    - ADVANCE
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: std::optional<std::pair<std::string, std::string>>
    signature: std::optional<std::pair<std::string, std::string>> SignatureFromDER(const
      std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::PubkeyFromASN1
      Src: /src/cryptofuzz/util.cpp:866,1
    - Dst: cryptofuzz::util::HexToBin
      Src: /src/cryptofuzz/util.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - curveType
    - s
    argTypes:
    - uint64_t
    - std::string
    constantsTouched: []
    func_position:
      end: 867
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 867
    functionName: cryptofuzz::util::PubkeyFromASN1
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::HexToBin
    - cryptofuzz::util::PubkeyFromASN1
    linkageType: ''
    returnType: std::optional<std::pair<std::string, std::string>>
    signature: std::optional<std::pair<std::string, std::string>> PubkeyFromASN1(const
      uint64_t curveType, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToBits
      Src: /src/cryptofuzz/util.cpp:870,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:875,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/util.cpp:887,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/util.cpp:888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - curveType
    - data
    argTypes:
    - uint64_t
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 890
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 890
    functionName: cryptofuzz::util::PubkeyFromASN1
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToBits
    - std::vector<uint8_t>::size
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: std::optional<std::pair<std::string, std::string>>
    signature: std::optional<std::pair<std::string, std::string>> PubkeyFromASN1(const
      uint64_t curveType, const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::BinToHex
      Src: /src/cryptofuzz/util.cpp:893,1
    - Dst: cryptofuzz::crypto::impl::sha1
      Src: /src/cryptofuzz/util.cpp:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 3
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: cryptofuzz::util::SHA1
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 6
    functionsReached:
    - cryptofuzz::util::BinToHex
    - cryptofuzz::crypto::impl::sha1
    linkageType: ''
    returnType: std::string
    signature: std::string SHA1(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:897,1
    - Dst: Set
      Src: /src/cryptofuzz/util.cpp:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bn
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 900
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 900
    functionName: cryptofuzz::util::HintBignum
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - Set
    linkageType: ''
    returnType: void
    signature: void HintBignum(const std::string bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/util.cpp:914,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/util.cpp:914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - maxSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 915
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 915
    functionName: cryptofuzz::util::HintBignumPow2
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - boost::multiprecision::cpp_int::str
    - cryptofuzz::util::HintBignum
    linkageType: ''
    returnType: void
    signature: void HintBignumPow2(size_t maxSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/util.cpp:918,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/util.cpp:918,1
    - Dst: PRNG
      Src: /src/cryptofuzz/util.cpp:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 919
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 919
    functionName: cryptofuzz::util::HintBignumInt
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - cryptofuzz::util::HintBignum
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void HintBignumInt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/util.cpp:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bn
    argTypes:
    - std::optional<std::string>
    constantsTouched: []
    func_position:
      end: 925
      start: 921
    functionDepth: 2
    functionLinenumber: 921
    functionLinenumberEnd: 925
    functionName: cryptofuzz::util::HintBignumOpt
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HintBignum
    linkageType: ''
    returnType: void
    signature: void HintBignumOpt(const std::optional<std::string> bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/cryptofuzz/util.cpp:930,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:930,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:930,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:931,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:931,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/util.cpp:931,1
    - Dst: std::vector<uint8_t>::end
      Src: /src/cryptofuzz/util.cpp:931,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:932,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:932,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/util.cpp:932,1
    - Dst: std::vector<uint8_t>::end
      Src: /src/cryptofuzz/util.cpp:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 935
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 935
    functionName: cryptofuzz::util::Append
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::begin
    - std::vector::insert
    - std::vector::reserve
    - std::vector<uint8_t>::size
    - std::vector<uint8_t>::end
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Append(const std::vector<uint8_t> A, const std::vector<uint8_t>
      B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/cryptofuzz/util.cpp:938,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/util.cpp:938,1
    - Dst: std::vector<uint8_t>::end
      Src: /src/cryptofuzz/util.cpp:938,1
    - Dst: std::vector<uint8_t>::erase
      Src: /src/cryptofuzz/util.cpp:939,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/util.cpp:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 941
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 941
    functionName: cryptofuzz::util::RemoveLeadingZeroes
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::end
    - std::find_if
    - std::vector<uint8_t>::begin
    - std::vector<uint8_t>::erase
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> RemoveLeadingZeroes(std::vector<uint8_t> v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::RemoveLeadingZeroes
      Src: /src/cryptofuzz/util.cpp:944,1
    - Dst: Get
      Src: /src/cryptofuzz/util.cpp:948,1
    - Dst: cryptofuzz::util::Append
      Src: /src/cryptofuzz/util.cpp:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' ds'
    - ' v'
    argTypes:
    - fuzzing::datasource::Datasource
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 955
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 955
    functionName: cryptofuzz::util::AddLeadingZeroes
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::Append
    - Get
    - cryptofuzz::util::RemoveLeadingZeroes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AddLeadingZeroes(fuzzing::datasource::Datasource&
      ds, const std::vector<uint8_t>& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/util.cpp:958,1
    - Dst: IsGreaterThan
      Src: /src/cryptofuzz/util.cpp:959,1
    - Dst: SubFrom
      Src: /src/cryptofuzz/util.cpp:962,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/util.cpp:963,1
    - Dst: IsGreaterThan
      Src: /src/cryptofuzz/util.cpp:964,1
    - Dst: SubFrom
      Src: /src/cryptofuzz/util.cpp:967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - curveType
    - ' s'
    argTypes:
    - uint64_t
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 972
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 972
    functionName: cryptofuzz::util::AdjustECDSASignature
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - IsGreaterThan
    - SubFrom
    - CF_ECC_CURVE
    linkageType: ''
    returnType: void
    signature: void AdjustECDSASignature(const uint64_t curveType, component::Bignum&
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: powm
      Src: /src/cryptofuzz/util.cpp:982,1
    - Dst: powm
      Src: /src/cryptofuzz/util.cpp:986,1
    - Dst: pow
      Src: /src/cryptofuzz/util.cpp:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' in'
    - ' prime'
    argTypes:
    - boost::multiprecision::cpp_int
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 996
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 996
    functionName: cryptofuzz::util::sqrt_mod
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - powm
    - pow
    linkageType: ''
    returnType: boost::multiprecision::cpp_int
    signature: "boost::multiprecision::cpp_int sqrt_mod(\n        const boost::multiprecision::cpp_int&
      in,\n        const boost::multiprecision::cpp_int& prime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpp_int
      Src: /src/cryptofuzz/util.cpp:1008,1
    - Dst: pow
      Src: /src/cryptofuzz/util.cpp:1010,1
    - Dst: cryptofuzz::util::sqrt_mod
      Src: /src/cryptofuzz/util.cpp:1011,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/util.cpp:1011,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/util.cpp:1011,1
    - Dst: cpp_int::str
      Src: /src/cryptofuzz/util.cpp:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' x'
    - ' a'
    - ' b'
    - ' p'
    - ' o'
    - addOrder
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 1014
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1014
    functionName: cryptofuzz::util::Find_ECC_Y
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cpp_int
    - cpp_int::str
    - pow
    - cryptofuzz::util::sqrt_mod
    linkageType: ''
    returnType: std::string
    signature: "std::string Find_ECC_Y(\n        const std::string& x,\n        const
      std::string& a,\n        const std::string& b,\n        const std::string& p,\n
      \       const std::string& o, const bool addOrder)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToPrime
      Src: /src/cryptofuzz/util.cpp:1024,1
    - Dst: GetData
      Src: /src/cryptofuzz/util.cpp:1031,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/util.cpp:1034,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/util.cpp:1060,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/util.cpp:1060,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/util.cpp:1060,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/util.cpp:1060,1
    - Dst: cpp_int::str
      Src: /src/cryptofuzz/util.cpp:1072,1
    - Dst: str
      Src: /src/cryptofuzz/util.cpp:1072,1
    - Dst: cpp_int::str
      Src: /src/cryptofuzz/util.cpp:1072,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ' ds'
    - ' x'
    - ' y'
    - curveType
    - jacobian
    - inRange
    argTypes:
    - fuzzing::datasource::Datasource
    - std::string
    - std::string
    - uint64_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1073
      start: 1016
    functionDepth: 2
    functionLinenumber: 1016
    functionLinenumberEnd: 1073
    functionName: cryptofuzz::util::ToRandomProjective
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::vector::data
    - std::vector::size
    - cryptofuzz::repository::ECC_CurveToPrime
    - boost::multiprecision::import_bits
    - GetData
    - cpp_int::str
    - str
    linkageType: ''
    returnType: std::array<std::string, 3>
    signature: "std::array<std::string, 3> ToRandomProjective(\n        fuzzing::datasource::Datasource&
      ds,\n        const std::string& x,\n        const std::string& y,\n        const
      uint64_t curveType,\n        const bool jacobian,\n        const bool inRange)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 1086
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1086
    functionName: cryptofuzz::util::Ethereum_ModExp::modexpMultComplexity
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int modexpMultComplexity(const cpp_int& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - cpp_int
    - cpp_int
    constantsTouched: []
    func_position:
      end: 1090
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1090
    functionName: cryptofuzz::util::Ethereum_ModExp::Max
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int Max(const cpp_int& a, const cpp_int& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 1101
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1101
    functionName: cryptofuzz::util::Ethereum_ModExp::BitSize
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t BitSize(cpp_int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:1112,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:1114,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:1115,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1117,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:1117,1
    - Dst: begin
      Src: /src/cryptofuzz/util.cpp:1118,1
    - Dst: begin
      Src: /src/cryptofuzz/util.cpp:1119,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/util.cpp:1122,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/util.cpp:1123,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1124,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:1124,1
    - Dst: begin
      Src: /src/cryptofuzz/util.cpp:1124,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:1124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - input
    - start
    - size
    argTypes:
    - std::vector<uint8_t>
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1128
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1128
    functionName: cryptofuzz::util::Ethereum_ModExp::getData
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::insert
    - std::vector<uint8_t>::size
    - end
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> getData(\n            const std::vector<uint8_t>
      input,\n            const uint64_t start,\n            const uint64_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/util.cpp:1131,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/util.cpp:1136,1
    - Dst: data
      Src: /src/cryptofuzz/util.cpp:1136,1
    - Dst: data
      Src: /src/cryptofuzz/util.cpp:1136,1
    - Dst: size
      Src: /src/cryptofuzz/util.cpp:1136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1139
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1139
    functionName: cryptofuzz::util::Ethereum_ModExp::Load
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - data
    - empty
    - boost::multiprecision::import_bits
    - size
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int Load(const std::vector<uint8_t>& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::Ethereum_ModExp::Load
      Src: /src/cryptofuzz/util.cpp:1146,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::getData
      Src: /src/cryptofuzz/util.cpp:1146,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Load
      Src: /src/cryptofuzz/util.cpp:1147,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::getData
      Src: /src/cryptofuzz/util.cpp:1147,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Load
      Src: /src/cryptofuzz/util.cpp:1148,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::getData
      Src: /src/cryptofuzz/util.cpp:1148,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:1150,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::getData
      Src: /src/cryptofuzz/util.cpp:1151,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:1151,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:1157,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Load
      Src: /src/cryptofuzz/util.cpp:1161,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::getData
      Src: /src/cryptofuzz/util.cpp:1161,1
    - Dst: auto::convert_to
      Src: /src/cryptofuzz/util.cpp:1161,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Load
      Src: /src/cryptofuzz/util.cpp:1163,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::getData
      Src: /src/cryptofuzz/util.cpp:1163,1
    - Dst: auto::convert_to
      Src: /src/cryptofuzz/util.cpp:1164,1
    - Dst: auto::convert_to
      Src: /src/cryptofuzz/util.cpp:1165,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::BitSize
      Src: /src/cryptofuzz/util.cpp:1169,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Max
      Src: /src/cryptofuzz/util.cpp:1182,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Max
      Src: /src/cryptofuzz/util.cpp:1188,1
    - Dst: auto::convert_to
      Src: /src/cryptofuzz/util.cpp:1199,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::modexpMultComplexity
      Src: /src/cryptofuzz/util.cpp:1201,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Max
      Src: /src/cryptofuzz/util.cpp:1202,1
    - Dst: auto::convert_to
      Src: /src/cryptofuzz/util.cpp:1209,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - input
    - eip2565
    argTypes:
    - std::vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 1210
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1210
    functionName: cryptofuzz::util::Ethereum_ModExp::Gas
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::Ethereum_ModExp::getData
    - cryptofuzz::util::Ethereum_ModExp::Max
    - std::vector<uint8_t>::size
    - cryptofuzz::util::Ethereum_ModExp::BitSize
    - cryptofuzz::util::Ethereum_ModExp::modexpMultComplexity
    - auto::convert_to
    - cryptofuzz::util::Ethereum_ModExp::Load
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t Gas(\n            std::vector<uint8_t> input,\n            const
      bool eip2565)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToBin
      Src: /src/cryptofuzz/util.cpp:1218,1
    - Dst: DecToBin
      Src: /src/cryptofuzz/util.cpp:1219,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/util.cpp:1219,1
    - Dst: auto::size
      Src: /src/cryptofuzz/util.cpp:1219,1
    - Dst: ToBin
      Src: /src/cryptofuzz/util.cpp:1220,1
    - Dst: DecToBin
      Src: /src/cryptofuzz/util.cpp:1221,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/util.cpp:1221,1
    - Dst: auto::size
      Src: /src/cryptofuzz/util.cpp:1221,1
    - Dst: ToBin
      Src: /src/cryptofuzz/util.cpp:1222,1
    - Dst: DecToBin
      Src: /src/cryptofuzz/util.cpp:1223,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/util.cpp:1223,1
    - Dst: auto::size
      Src: /src/cryptofuzz/util.cpp:1223,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1225,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:1225,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/util.cpp:1225,1
    - Dst: auto::end
      Src: /src/cryptofuzz/util.cpp:1225,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1226,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:1226,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/util.cpp:1226,1
    - Dst: auto::end
      Src: /src/cryptofuzz/util.cpp:1226,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1227,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:1227,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/util.cpp:1227,1
    - Dst: auto::end
      Src: /src/cryptofuzz/util.cpp:1227,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1228,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:1228,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/util.cpp:1228,1
    - Dst: auto::end
      Src: /src/cryptofuzz/util.cpp:1228,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1229,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:1229,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/util.cpp:1229,1
    - Dst: auto::end
      Src: /src/cryptofuzz/util.cpp:1229,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1230,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:1230,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/util.cpp:1230,1
    - Dst: auto::end
      Src: /src/cryptofuzz/util.cpp:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' base'
    - ' exp'
    - ' mod'
    argTypes:
    - component::Bignum
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1233
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1233
    functionName: cryptofuzz::util::Ethereum_ModExp::ToInput
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - DecToBin
    - std::to_string
    - std::vector::insert
    - ToBin
    - auto::end
    - auto::size
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ToInput(\n            const component::Bignum&
      base,\n            const component::Bignum& exp,\n            const component::Bignum&
      mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1237
    functionName: cryptofuzz::util::__msan_unpoison
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void __msan_unpoison(const volatile void*, size_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::__msan_unpoison
      Src: /src/cryptofuzz/util.cpp:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1242
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1242
    functionName: cryptofuzz::util::MemorySanitizerUnpoison
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::__msan_unpoison
    linkageType: ''
    returnType: void
    signature: void MemorySanitizerUnpoison(const void* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: cryptofuzz::mutator::ExpModGenerator::is_even
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even(const cpp_int& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: cryptofuzz::mutator::ExpModGenerator::is_odd
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_odd(const cpp_int& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/expmod.cpp:33,1
    - Dst: str
      Src: /src/cryptofuzz/expmod.cpp:34,1
    - Dst: str
      Src: /src/cryptofuzz/expmod.cpp:35,1
    - Dst: str
      Src: /src/cryptofuzz/expmod.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' B'
    - ' E'
    - ' M'
    argTypes:
    - cpp_int
    - cpp_int
    - cpp_int
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: cryptofuzz::mutator::ExpModGenerator::to_json
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - str
    - CF_CALCOP
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json to_json(const cpp_int& B, const cpp_int& E, const cpp_int&
      M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/cryptofuzz/expmod.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: cryptofuzz::mutator::ExpModGenerator::max
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int & max(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' v'
    - ' m'
    argTypes:
    - cpp_int
    - cpp_int
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: cryptofuzz::mutator::ExpModGenerator::max_multiplier
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cpp_int
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int max_multiplier(const cpp_int& v, const cpp_int& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::max_multiplier
      Src: /src/cryptofuzz/expmod.cpp:52,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/expmod.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: cryptofuzz::mutator::ExpModGenerator::max_multiplier
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max_multiplier
    - cryptofuzz::mutator::ExpModGenerator::max
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int max_multiplier(const cpp_int& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::max_multiplier
      Src: /src/cryptofuzz/expmod.cpp:59,1
    - Dst: uniform_int_distribution<cpp_int>
      Src: /src/cryptofuzz/expmod.cpp:65,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::is_even
      Src: /src/cryptofuzz/expmod.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: cryptofuzz::mutator::ExpModGenerator::multiply_random
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max_multiplier
    - uniform_int_distribution<cpp_int>
    - cryptofuzz::mutator::ExpModGenerator::is_even
    linkageType: ''
    returnType: bool
    signature: bool multiply_random(cpp_int& v, const bool odd = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::max_multiplier
      Src: /src/cryptofuzz/expmod.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - cpp_int
    - cpp_int
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: cryptofuzz::mutator::ExpModGenerator::multiply
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max_multiplier
    linkageType: ''
    returnType: bool
    signature: bool multiply(cpp_int& a, const cpp_int& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:102,1
    - Dst: getBignum
      Src: /src/cryptofuzz/expmod.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: cryptofuzz::mutator::ExpModGenerator::get_prime
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cpp_int
    - getBignum
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int get_prime(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/expmod.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: cryptofuzz::mutator::ExpModGenerator::prime_factors
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> prime_factors(const cpp_int& v) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' v'
    - ' base'
    argTypes:
    - cpp_int
    - cpp_int
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: cryptofuzz::mutator::ExpModGenerator::log
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t log(const cpp_int& v, const cpp_int& base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::pow
      Src: /src/cryptofuzz/expmod.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' v'
    - exponent
    argTypes:
    - cpp_int
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: cryptofuzz::mutator::ExpModGenerator::pow
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::pow
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int pow(const cpp_int& v, const size_t exponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/expmod.cpp:151,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:159,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:162,1
    - Dst: uniform_int_distribution<cpp_int>
      Src: /src/cryptofuzz/expmod.cpp:167,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::prime_factors
      Src: /src/cryptofuzz/expmod.cpp:170,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/expmod.cpp:171,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:176,1
    - Dst: mt
      Src: /src/cryptofuzz/expmod.cpp:176,1
    - Dst: auto::size
      Src: /src/cryptofuzz/expmod.cpp:176,1
    - Dst: mt
      Src: /src/cryptofuzz/expmod.cpp:177,1
    - Dst: auto::size
      Src: /src/cryptofuzz/expmod.cpp:177,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::pow
      Src: /src/cryptofuzz/expmod.cpp:180,1
    - Dst: mt
      Src: /src/cryptofuzz/expmod.cpp:180,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::pow
      Src: /src/cryptofuzz/expmod.cpp:196,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:196,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 204
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_0
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::prime_factors
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - auto::empty
    - cpp_int
    - uniform_int_distribution<cpp_int>
    - cryptofuzz::mutator::ExpModGenerator::pow
    - mt
    - auto::size
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_0(const size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::is_odd
      Src: /src/cryptofuzz/expmod.cpp:208,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/cryptofuzz/expmod.cpp:213,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' B'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 222
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 222
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_base_1
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - cryptofuzz::mutator::ExpModGenerator::is_odd
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_odd_base_1(const
      cpp_int& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::is_odd
      Src: /src/cryptofuzz/expmod.cpp:226,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/cryptofuzz/expmod.cpp:231,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' B'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 240
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 240
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_base_2
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - cryptofuzz::mutator::ExpModGenerator::is_odd
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_odd_base_2(const
      cpp_int& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::is_even
      Src: /src/cryptofuzz/expmod.cpp:244,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/cryptofuzz/expmod.cpp:252,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' B'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_even_base_1
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    - cryptofuzz::mutator::ExpModGenerator::is_even
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_even_base_1(const
      cpp_int& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::get_prime
      Src: /src/cryptofuzz/expmod.cpp:265,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' B'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_1
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - cryptofuzz::mutator::ExpModGenerator::get_prime
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_base_1(const cpp_int&
      B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::get_prime
      Src: /src/cryptofuzz/expmod.cpp:282,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/cryptofuzz/expmod.cpp:290,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply
      Src: /src/cryptofuzz/expmod.cpp:294,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 302
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_2
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - cryptofuzz::mutator::ExpModGenerator::multiply
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    - cryptofuzz::mutator::ExpModGenerator::get_prime
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_base_2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::is_odd
      Src: /src/cryptofuzz/expmod.cpp:306,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/cryptofuzz/expmod.cpp:311,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' E'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_exp_1
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - cryptofuzz::mutator::ExpModGenerator::is_odd
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_odd_exp_1(const cpp_int&
      E)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::get_prime
      Src: /src/cryptofuzz/expmod.cpp:331,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/expmod.cpp:338,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply
      Src: /src/cryptofuzz/expmod.cpp:347,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 361
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 361
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_v_1
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - cryptofuzz::mutator::ExpModGenerator::max
    - cryptofuzz::mutator::ExpModGenerator::multiply
    - cryptofuzz::mutator::ExpModGenerator::get_prime
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_v_1(const cpp_int&
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::get_prime
      Src: /src/cryptofuzz/expmod.cpp:373,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/expmod.cpp:380,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply
      Src: /src/cryptofuzz/expmod.cpp:389,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/cryptofuzz/expmod.cpp:398,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 407
      start: 371
    functionDepth: 4
    functionLinenumber: 371
    functionLinenumberEnd: 407
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_v_2
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    - cryptofuzz::mutator::ExpModGenerator::get_prime
    - cryptofuzz::mutator::ExpModGenerator::max
    - cryptofuzz::mutator::ExpModGenerator::multiply
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_v_2(const cpp_int&
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_0
      Src: /src/cryptofuzz/expmod.cpp:414,1
    - Dst: PRNG
      Src: /src/cryptofuzz/expmod.cpp:414,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/expmod.cpp:414,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:416,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_v_1
      Src: /src/cryptofuzz/expmod.cpp:421,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_v_2
      Src: /src/cryptofuzz/expmod.cpp:423,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/expmod.cpp:425,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:428,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::is_odd
      Src: /src/cryptofuzz/expmod.cpp:430,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_base_1
      Src: /src/cryptofuzz/expmod.cpp:434,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_base_2
      Src: /src/cryptofuzz/expmod.cpp:436,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_exp_1
      Src: /src/cryptofuzz/expmod.cpp:438,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_1
      Src: /src/cryptofuzz/expmod.cpp:440,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_2
      Src: /src/cryptofuzz/expmod.cpp:442,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/expmod.cpp:444,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_even_base_1
      Src: /src/cryptofuzz/expmod.cpp:450,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_1
      Src: /src/cryptofuzz/expmod.cpp:452,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_2
      Src: /src/cryptofuzz/expmod.cpp:454,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/expmod.cpp:456,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/expmod.cpp:460,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 1
    argNames:
    - ' _result'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 462
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 462
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_0
    - PRNG
    - cryptofuzz::mutator::ExpModGenerator::is_odd
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_even_base_1
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_v_2
    - cpp_int
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_v_1
    - std::array::size
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_1
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_2
    - CF_UNREACHABLE
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_exp_1
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_base_2
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_base_1
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod(const std::string& _result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - filename
    - outDir
    - t
    argTypes:
    - std::string
    - std::string
    - enum type
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: cryptofuzz::OpenSSL_Importer::OpenSSL_Importer
    functionSourceFile: /src/cryptofuzz/openssl_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OpenSSL_Importer::OpenSSL_Importer(const std::string filename,
      const std::string outDir, const enum type t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/openssl_importer.cpp:18,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/openssl_importer.cpp:18,1
    - Dst: cryptofuzz::OpenSSL_Importer::LoadInput
      Src: /src/cryptofuzz/openssl_importer.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: cryptofuzz::OpenSSL_Importer::Run
    functionSourceFile: /src/cryptofuzz/openssl_importer.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    - cryptofuzz::OpenSSL_Importer::LoadInput
    linkageType: ''
    returnType: void
    signature: void OpenSSL_Importer::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/openssl_importer.cpp:30,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/openssl_importer.cpp:45,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/openssl_importer.cpp:49,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/openssl_importer.cpp:50,1
    - Dst: auto::size
      Src: /src/cryptofuzz/openssl_importer.cpp:55,1
    - Dst: auto::size
      Src: /src/cryptofuzz/openssl_importer.cpp:58,1
    - Dst: auto::size
      Src: /src/cryptofuzz/openssl_importer.cpp:61,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/openssl_importer.cpp:65,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/openssl_importer.cpp:70,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/openssl_importer.cpp:75,1
    - Dst: cryptofuzz::OpenSSL_Importer::write
      Src: /src/cryptofuzz/openssl_importer.cpp:76,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/openssl_importer.cpp:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 78
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 78
    functionName: cryptofuzz::OpenSSL_Importer::LoadInput
    functionSourceFile: /src/cryptofuzz/openssl_importer.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::OpenSSL_Importer::write
    - std::vector<uint8_t>::size
    - CF_OPERATION
    - cryptofuzz::operation::BignumCalc::Serialize
    - cryptofuzz::util::BinToDec
    - auto::size
    - CF_UNREACHABLE
    - CF_CALCOP
    linkageType: ''
    returnType: void
    signature: void OpenSSL_Importer::LoadInput(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/openssl_importer.cpp:84,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/openssl_importer.cpp:86,1
    - Dst: GetOut
      Src: /src/cryptofuzz/openssl_importer.cpp:86,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/openssl_importer.cpp:89,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/openssl_importer.cpp:89,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/openssl_importer.cpp:92,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/openssl_importer.cpp:92,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/openssl_importer.cpp:95,1
    - Dst: std::string
      Src: /src/cryptofuzz/openssl_importer.cpp:98,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/openssl_importer.cpp:98,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/openssl_importer.cpp:98,1
    - Dst: fopen
      Src: /src/cryptofuzz/openssl_importer.cpp:99,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/openssl_importer.cpp:99,1
    - Dst: fwrite
      Src: /src/cryptofuzz/openssl_importer.cpp:100,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/openssl_importer.cpp:100,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/openssl_importer.cpp:100,1
    - Dst: fclose
      Src: /src/cryptofuzz/openssl_importer.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - operation
    - ' dsOut2'
    argTypes:
    - uint64_t
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: cryptofuzz::OpenSSL_Importer::write
    functionSourceFile: /src/cryptofuzz/openssl_importer.cpp
    functionUses: 1
    functionsReached:
    - fuzzing::datasource::Datasource::GetOut
    - std::string::c_str
    - fwrite
    - std::vector<uint8_t>
    - fuzzing::datasource::Datasource::Put
    - fclose
    - std::string
    - fopen
    - GetOut
    - fuzzing::datasource::Datasource::PutData
    - CF_MODULE
    - cryptofuzz::util::SHA1
    linkageType: ''
    returnType: void
    signature: void OpenSSL_Importer::write(const uint64_t operation, fuzzing::datasource::Datasource&
      dsOut2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:32,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:34,1
    - Dst: update
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:36,1
    - Dst: finish
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:39,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:41,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' in'
    - ' ds'
    argTypes:
    - component::Cleartext
    - Datasource
    constantsTouched: []
    func_position:
      end: 46
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 46
    functionName: cryptofuzz::module::BearSSL_detail::digest
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - finish
    - cryptofuzz::util::ToParts
    - update
    - init
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: "std::optional<component::Digest> digest(\n            void(*init)(Context*),\n
      \           void(*update)(Context*, const void*, size_t),\n            void(*finish)(const
      Context*, void*),\n            const component::Cleartext& in,\n            Datasource&
      ds\n        )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:49,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:50,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:52,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:54,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:56,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:58,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:60,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: cryptofuzz::module::BearSSL_detail::To_br_hash_class
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - CF_DIGEST
    linkageType: ''
    returnType: br_hash_class
    signature: br_hash_class * To_br_hash_class(const component::DigestType& digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:72,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:72,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:73,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:76,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:78,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:79,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:79,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:79,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - s
    - out
    - maxSize
    argTypes:
    - std::string
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: cryptofuzz::module::BearSSL_detail::EncodeBignum
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - std::reverse
    - boost::multiprecision::export_bits
    - std::back_inserter
    - memset
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool EncodeBignum(const std::string s, uint8_t* out, const size_t maxSize,
      const bool reverse = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:90,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:95,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: cryptofuzz::module::BearSSL_detail::toString
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - boost::multiprecision::import_bits
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:104,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:105,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:106,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:107,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:109,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:111,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:112,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:113,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:114,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:115,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:116,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:117,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:118,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:119,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:120,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:121,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:122,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:123,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:124,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:125,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:126,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:127,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:128,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:129,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:130,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:131,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:132,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:133,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:134,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:135,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:138,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:138,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:138,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:142,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 143
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 143
    functionName: cryptofuzz::module::BearSSL_detail::toCurveID
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - CF_ECC_CURVE
    - std::map::at
    - Get
    linkageType: ''
    returnType: int
    signature: int toCurveID(const component::CurveType& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:146,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:147,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:149,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:151,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:158,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:163,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' curveType'
    - data
    - size
    argTypes:
    - component::CurveType
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: cryptofuzz::module::BearSSL_detail::EncodePubkey
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::BearSSL_detail::toString
    - CF_ECC_CURVE
    - abort
    - CF_ASSERT
    - Get
    linkageType: ''
    returnType: component::BignumPair
    signature: component::BignumPair EncodePubkey(const component::CurveType& curveType,
      const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:171,1
    - Dst: br_aes_x86ni_ctrcbc_get_vtable
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 196
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 196
    functionName: cryptofuzz::module::BearSSL_detail::Get_br_block_ctrcbc_class
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - br_aes_x86ni_ctrcbc_get_vtable
    linkageType: ''
    returnType: br_block_ctrcbc_class
    signature: br_block_ctrcbc_class * Get_br_block_ctrcbc_class(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:200,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:202,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:203,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:204,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:205,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:211,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:212,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:213,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:214,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:220,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:220,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:220,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:223,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:223,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:223,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:227,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:227,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:227,1
    - Dst: br_ec_p256_m62_get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:228,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:229,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:235,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:235,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:235,1
    - Dst: br_ec_p256_m64_get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:236,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:237,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:243,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:243,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:243,1
    - Dst: br_ec_c25519_m62_get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:244,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:245,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:251,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:251,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:251,1
    - Dst: br_ec_c25519_m64_get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:252,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:253,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:259,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:259,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:259,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:265,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:265,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:265,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:271,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:271,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:271,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:277,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:277,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:277,1
    - Dst: br_ec_get_default
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:287,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 82
    argCount: 2
    argNames:
    - ' ds'
    - ' curveType'
    argTypes:
    - Datasource
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 288
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 288
    functionName: cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - br_ec_p256_m62_get
    - br_ec_p256_m64_get
    - br_ec_c25519_m62_get
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - br_ec_c25519_m64_get
    - br_ec_get_default
    - CF_CHECK_NE
    - Get
    linkageType: ''
    returnType: br_ec_impl
    signature: br_ec_impl * Get_br_ec_impl(Datasource& ds, const component::CurveType&
      curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:292,1
    - Dst: br_chacha20_sse2_get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 311
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 311
    functionName: cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - br_chacha20_sse2_get
    linkageType: ''
    returnType: br_chacha20_run
    signature: br_chacha20_run Get_br_chacha20_run(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 327
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 327
    functionName: cryptofuzz::module::BearSSL_detail::Get_br_ecdsa_sign
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: br_ecdsa_sign
    signature: br_ecdsa_sign Get_br_ecdsa_sign(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 343
    functionName: cryptofuzz::module::BearSSL_detail::Get_br_ecdsa_vrfy
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: br_ecdsa_vrfy
    signature: br_ecdsa_vrfy Get_br_ecdsa_vrfy(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Is
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:346,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:346,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:350,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:355,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' priv'
    - ' curveType'
    argTypes:
    - component::Bignum
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 364
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 364
    functionName: cryptofuzz::module::BearSSL_detail::IsValidPrivateKey
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - Is
    - cryptofuzz::repository::ECC_CurveToOrder
    - ToTrimmedString
    - Get
    linkageType: ''
    returnType: bool
    signature: bool IsValidPrivateKey(const component::Bignum& priv, const component::CurveType&
      curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: br_hmac_drbg_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:369,1
    - Dst: br_prng_seeder_system
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:370,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:372,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:373,1
    - Dst: seeder
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:375,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:376,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: cryptofuzz::module::BearSSL::BearSSL
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - seeder
    - br_prng_seeder_system
    - br_hmac_drbg_init
    - abort
    - printf
    linkageType: ''
    returnType: void
    signature: void BearSSL::BearSSL(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:384,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:384,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:386,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:387,1
    - Dst: BearSSL_detail::digest<br_md5_context, br_md5_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:388,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:389,1
    - Dst: BearSSL_detail::digest<br_md5sha1_context, br_md5sha1_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:390,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:391,1
    - Dst: BearSSL_detail::digest<br_sha1_context, br_sha1_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:392,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:393,1
    - Dst: BearSSL_detail::digest<br_sha224_context, br_sha224_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:394,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:395,1
    - Dst: BearSSL_detail::digest<br_sha256_context, br_sha256_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:396,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:397,1
    - Dst: BearSSL_detail::digest<br_sha384_context, br_sha384_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:398,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:399,1
    - Dst: BearSSL_detail::digest<br_sha512_context, br_sha512_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:400,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:401,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:405,1
    - Dst: br_shake_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:407,1
    - Dst: br_shake_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:409,1
    - Dst: br_shake_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:411,1
    - Dst: br_shake_produce
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:412,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:414,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:417,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:421,1
    - Dst: br_shake_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:423,1
    - Dst: br_shake_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:425,1
    - Dst: br_shake_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:427,1
    - Dst: br_shake_produce
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:428,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 436
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 436
    functionName: cryptofuzz::module::BearSSL::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - BearSSL_detail::digest<br_sha384_context, br_sha384_SIZE>
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - br_shake_init
    - br_shake_flip
    - BearSSL_detail::digest<br_sha1_context, br_sha1_SIZE>
    - BearSSL_detail::digest<br_sha256_context, br_sha256_SIZE>
    - digestType::Get
    - CF_DIGEST
    - BearSSL_detail::digest<br_sha224_context, br_sha224_SIZE>
    - BearSSL_detail::digest<br_md5sha1_context, br_md5sha1_SIZE>
    - modifier::GetSize
    - br_shake_inject
    - BearSSL_detail::digest<br_sha512_context, br_sha512_SIZE>
    - br_shake_produce
    - BearSSL_detail::digest<br_md5_context, br_md5_SIZE>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> BearSSL::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:440,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:440,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:445,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:450,1
    - Dst: cryptofuzz::module::BearSSL_detail::To_br_hash_class
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:450,1
    - Dst: br_hmac_key_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:452,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:452,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:452,1
    - Dst: br_hmac_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:453,1
    - Dst: br_hmac_update
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:458,1
    - Dst: br_hmac_out
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:462,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 469
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 469
    functionName: cryptofuzz::module::BearSSL::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - br_hmac_update
    - br_hmac_init
    - CF_CHECK_NE
    - br_hmac_out
    - br_hmac_key_init
    - generate_HMAC
    - modifier::GetSize
    - cryptofuzz::module::BearSSL_detail::To_br_hash_class
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> BearSSL::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:473,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:473,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:476,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:477,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:478,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:479,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:483,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:484,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:485,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:487,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:488,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:489,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:489,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:491,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:492,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:492,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:494,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:495,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:495,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:500,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:503,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:503,1
    - Dst: br_aes_ct_ctr_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:505,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:505,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:505,1
    - Dst: br_gcm_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:506,1
    - Dst: br_gcm_reset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:508,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:508,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:508,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:510,1
    - Dst: br_gcm_aad_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:513,1
    - Dst: br_gcm_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:516,1
    - Dst: br_gcm_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:520,1
    - Dst: br_gcm_get_tag
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:524,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:525,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:525,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:525,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:527,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:527,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:531,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:532,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:533,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:537,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:538,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_block_ctrcbc_class
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:539,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:540,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:542,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:543,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:544,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:544,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:546,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:547,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:547,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:549,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:550,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:550,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:555,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:558,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:558,1
    - Dst: auto::init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:560,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:560,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:560,1
    - Dst: br_ccm_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:561,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:563,1
    - Dst: br_ccm_reset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:563,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:564,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:564,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:565,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:566,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:570,1
    - Dst: br_ccm_aad_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:573,1
    - Dst: br_ccm_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:576,1
    - Dst: br_ccm_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:580,1
    - Dst: br_ccm_get_tag
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:584,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:585,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:585,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:585,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:587,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:587,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:591,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:593,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:593,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:594,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:594,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:596,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:598,1
    - Dst: cc20
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:599,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:599,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:599,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:599,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:599,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:600,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:600,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:603,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:605,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:605,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:606,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:606,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:609,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:613,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:614,1
    - Dst: br_poly1305_ctmul_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:616,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:617,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:618,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:619,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:620,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:621,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:622,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:628,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:628,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:628,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:630,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:630,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:637,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 102
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 640
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 640
    functionName: cryptofuzz::module::BearSSL::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
    - br_ccm_run
    - auto::init
    - cryptofuzz::module::BearSSL_detail::Get_br_block_ctrcbc_class
    - br_gcm_aad_inject
    - br_gcm_run
    - cipher::cipherType::Get
    - modifier::GetPtr
    - br_gcm_init
    - br_ccm_reset
    - aad::GetSize
    - auto::size
    - Buffer
    - br_ccm_init
    - br_ccm_aad_inject
    - cleartext::Get
    - CF_CHECK_EQ
    - br_aes_ct_ctr_init
    - br_ccm_get_tag
    - auto::data
    - br_poly1305_ctmul_run
    - br_gcm_reset
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CIPHER
    - br_ccm_flip
    - cipher::iv::GetPtr
    - cc20
    - cryptofuzz::util::ToParts
    - cryptofuzz::util::malloc
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - CF_CHECK_NE
    - aad::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - modifier::GetSize
    - CF_CHECK_GT
    - br_gcm_flip
    - br_gcm_get_tag
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> BearSSL::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:644,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:644,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:646,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:647,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:648,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:649,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:653,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:654,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:656,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:657,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:658,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:658,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:660,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:661,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:661,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:663,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:664,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:664,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:669,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:669,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:672,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:672,1
    - Dst: br_aes_ct_ctr_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:674,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:674,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:674,1
    - Dst: br_gcm_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:675,1
    - Dst: br_gcm_reset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:677,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:677,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:677,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:679,1
    - Dst: br_gcm_aad_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:682,1
    - Dst: br_gcm_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:685,1
    - Dst: br_gcm_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:689,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:693,1
    - Dst: br_gcm_check_tag
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:693,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:693,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:696,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:696,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:699,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:700,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:701,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:705,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:706,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_block_ctrcbc_class
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:707,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:708,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:710,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:711,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:712,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:712,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:714,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:715,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:715,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:717,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:718,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:718,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:722,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:722,1
    - Dst: auto::init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:724,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:724,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:724,1
    - Dst: br_ccm_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:725,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:727,1
    - Dst: br_ccm_reset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:727,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:728,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:728,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:729,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:730,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:731,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:734,1
    - Dst: br_ccm_aad_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:737,1
    - Dst: br_ccm_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:740,1
    - Dst: br_ccm_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:744,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:748,1
    - Dst: br_ccm_check_tag
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:748,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:748,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:751,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:751,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:754,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:756,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:756,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:757,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:757,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:759,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:760,1
    - Dst: cc20
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:762,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:762,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:762,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:762,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:762,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:763,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:763,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:766,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:768,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:768,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:769,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:769,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:772,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:772,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:776,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:777,1
    - Dst: br_poly1305_ctmul_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:779,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:780,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:781,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:782,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:783,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:784,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:785,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:791,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:791,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:791,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:794,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:794,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 801
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 801
    functionName: cryptofuzz::module::BearSSL::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - br_ccm_check_tag
    - cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
    - br_ccm_run
    - auto::init
    - cryptofuzz::module::BearSSL_detail::Get_br_block_ctrcbc_class
    - br_gcm_aad_inject
    - ciphertext::GetSize
    - br_gcm_run
    - memcmp
    - cipher::cipherType::Get
    - modifier::GetPtr
    - component::Cleartext
    - br_gcm_init
    - br_ccm_reset
    - aad::GetSize
    - auto::size
    - Buffer
    - br_ccm_init
    - br_ccm_aad_inject
    - CF_CHECK_EQ
    - br_aes_ct_ctr_init
    - auto::data
    - br_poly1305_ctmul_run
    - br_gcm_reset
    - cipher::iv::GetSize
    - CF_CIPHER
    - br_ccm_flip
    - cipher::iv::GetPtr
    - cc20
    - tag::GetSize
    - cryptofuzz::util::ToParts
    - ciphertext::Get
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - br_gcm_check_tag
    - tag::GetPtr
    - CF_CHECK_NE
    - aad::GetPtr
    - modifier::GetSize
    - CF_CHECK_GT
    - br_gcm_flip
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> BearSSL::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:805,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:805,1
    - Dst: cryptofuzz::repository::DigestSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:813,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:813,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:814,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:815,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:817,1
    - Dst: cryptofuzz::module::BearSSL_detail::To_br_hash_class
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:817,1
    - Dst: br_hkdf_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:818,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:818,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:818,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:823,1
    - Dst: br_hkdf_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:827,1
    - Dst: br_hkdf_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:831,1
    - Dst: br_hkdf_produce
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:835,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:835,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:835,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:837,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 844
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 844
    functionName: cryptofuzz::module::BearSSL::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - br_hkdf_inject
    - salt::GetPtr
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - digestType::Get
    - info::GetSize
    - CF_CHECK_LTE
    - info::GetPtr
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::repository::DigestSize
    - br_hkdf_produce
    - br_hkdf_flip
    - cryptofuzz::util::free
    - modifier::GetSize
    - br_hkdf_init
    - cryptofuzz::module::BearSSL_detail::To_br_hash_class
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> BearSSL::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:848,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:848,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:850,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:851,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:851,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:854,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:854,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:854,1
    - Dst: br_tls10_prf
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:865,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:868,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:868,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:870,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:873,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:876,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 880
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 880
    functionName: cryptofuzz::module::BearSSL::OpKDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - secret::GetSize
    - secret::GetPtr
    - cryptofuzz::util::ToParts
    - cryptofuzz::util::malloc
    - modifier::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - br_tls10_prf
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_DIGEST
    - cryptofuzz::util::free
    - auto::size
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> BearSSL::OpKDF_TLS1_PRF(operation::KDF_TLS1_PRF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:884,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:884,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:892,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:894,1
    - Dst: cryptofuzz::module::BearSSL_detail::toCurveID
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:894,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:896,1
    - Dst: br_ec_keygen
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:896,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:897,1
    - Dst: br_ec_compute_pub
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:897,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:899,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:899,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:900,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:903,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodePubkey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 906
      start: 882
    functionDepth: 3
    functionLinenumber: 882
    functionLinenumberEnd: 906
    functionName: cryptofuzz::module::BearSSL::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - br_ec_keygen
    - modifier::GetPtr
    - cryptofuzz::module::BearSSL_detail::toString
    - CF_ECC_CURVE
    - cryptofuzz::module::BearSSL_detail::toCurveID
    - cryptofuzz::module::BearSSL_detail::EncodePubkey
    - CF_CHECK_NE
    - cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
    - curveType::Is
    - modifier::GetSize
    - br_ec_compute_pub
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> BearSSL::OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:910,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:910,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:918,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:920,1
    - Dst: cryptofuzz::module::BearSSL_detail::toCurveID
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:920,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:921,1
    - Dst: cryptofuzz::module::BearSSL_detail::IsValidPrivateKey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:921,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:925,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:925,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:932,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:932,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:932,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:938,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:939,1
    - Dst: br_ec_compute_pub
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:939,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodePubkey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 944
      start: 908
    functionDepth: 3
    functionLinenumber: 908
    functionLinenumberEnd: 944
    functionName: cryptofuzz::module::BearSSL::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::BearSSL_detail::EncodeBignum
    - modifier::GetPtr
    - CF_ECC_CURVE
    - cryptofuzz::module::BearSSL_detail::toCurveID
    - CF_CHECK_EQ
    - memset
    - br_ec_compute_pub
    - cryptofuzz::module::BearSSL_detail::EncodePubkey
    - CF_CHECK_NE
    - cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
    - modifier::GetSize
    - priv::ToTrimmedString
    - cryptofuzz::module::BearSSL_detail::IsValidPrivateKey
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> BearSSL::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:948,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:948,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:952,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:953,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:957,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:961,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:974,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_ecdsa_vrfy
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:975,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:981,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:981,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:982,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:983,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:987,1
    - Dst: cryptofuzz::module::BearSSL_detail::To_br_hash_class
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:987,1
    - Dst: br_hash_class*::init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:989,1
    - Dst: br_hash_class*::update
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:990,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:990,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:990,1
    - Dst: br_hash_class*::out
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:991,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:995,1
    - Dst: cryptofuzz::module::BearSSL_detail::toCurveID
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:995,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:997,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:997,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:997,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:998,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:998,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:998,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1001,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1001,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1001,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1002,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1002,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1002,1
    - Dst: verify
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1007,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1016,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1017,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1020
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 1020
    functionName: cryptofuzz::module::BearSSL::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - verify
    - signature::pub::first::ToTrimmedString
    - cleartext::GetPtr
    - CF_DIGEST
    - cryptofuzz::module::BearSSL_detail::To_br_hash_class
    - curveType::Get
    - cryptofuzz::module::BearSSL_detail::Get_br_ecdsa_vrfy
    - br_hash_class*::out
    - modifier::GetPtr
    - CF_ECC_CURVE
    - cryptofuzz::module::BearSSL_detail::toCurveID
    - CF_CHECK_EQ
    - signature::signature::first::ToTrimmedString
    - modifier::GetSize
    - br_hash_class*::init
    - cryptofuzz::util::free
    - signature::pub::second::ToTrimmedString
    - signature::signature::second::ToTrimmedString
    - cryptofuzz::module::BearSSL_detail::EncodeBignum
    - cleartext::GetSize
    - digestType::Get
    - CF_CHECK_NE
    - cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
    - br_hash_class*::update
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> BearSSL::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1024,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1024,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1027,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1028,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1031,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1034,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1051,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_ecdsa_sign
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1052,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1054,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1054,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1055,1
    - Dst: cryptofuzz::module::BearSSL_detail::To_br_hash_class
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1055,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1057,1
    - Dst: cryptofuzz::module::BearSSL_detail::toCurveID
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1057,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1058,1
    - Dst: cryptofuzz::module::BearSSL_detail::IsValidPrivateKey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1058,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1059,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1059,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1059,1
    - Dst: br_hash_class*::init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1061,1
    - Dst: br_hash_class*::update
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1062,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1062,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1062,1
    - Dst: br_hash_class*::out
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1063,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1068,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1069,1
    - Dst: br_ec_compute_pub
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1069,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1071,1
    - Dst: sign
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1071,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1074,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1078,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1078,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1078,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1081,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1081,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodePubkey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1082,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1086,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1088
      start: 1022
    functionDepth: 3
    functionLinenumber: 1022
    functionLinenumberEnd: 1088
    functionName: cryptofuzz::module::BearSSL::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - cleartext::GetPtr
    - cryptofuzz::module::BearSSL_detail::Get_br_ecdsa_sign
    - UseRFC6979Nonce
    - priv::ToTrimmedString
    - cryptofuzz::module::BearSSL_detail::IsValidPrivateKey
    - cryptofuzz::module::BearSSL_detail::To_br_hash_class
    - curveType::Get
    - br_hash_class*::out
    - cryptofuzz::module::BearSSL_detail::toString
    - modifier::GetPtr
    - sign
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz::module::BearSSL_detail::toCurveID
    - modifier::GetSize
    - abort
    - br_hash_class*::init
    - cryptofuzz::util::free
    - cryptofuzz::module::BearSSL_detail::EncodeBignum
    - cleartext::GetSize
    - cryptofuzz::module::BearSSL_detail::EncodePubkey
    - CF_CHECK_NE
    - cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
    - br_hash_class*::update
    - br_ec_compute_pub
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> BearSSL::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: cryptofuzz::module::Zig::Zig
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zig::Zig(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:118,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:120,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:122,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:124,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:126,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:128,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:130,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:132,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:134,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:136,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:138,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:140,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:142,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:144,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:146,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:148,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:150,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:152,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:154,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:156,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 163
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 163
    functionName: cryptofuzz::module::Zig_detail::ToDigestId
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> ToDigestId(const uint64_t digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/zig/module.cpp:166,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/zig/module.cpp:166,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/zig/module.cpp:167,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/zig/module.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - r
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::ECC_Point
    signature: component::ECC_Point To_Component_ECC_Point(const uint8_t* r, const
      size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:180,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:180,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:186,1
    - Dst: cryptofuzz::module::Zig_detail::ToDigestId
      Src: /src/cryptofuzz/modules/zig/module.cpp:186,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:186,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/zig/module.cpp:189,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:191,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:192,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:195,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:202,1
    - Dst: cryptofuzz_zig_digest
      Src: /src/cryptofuzz/modules/zig/module.cpp:202,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:204,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:205,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:206,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:207,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/zig/module.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 215
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 215
    functionName: cryptofuzz::module::Zig::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - util::Multipart::size
    - cryptofuzz::module::Zig_detail::ToDigestId
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - digestType::Get
    - cleartext::GetPtr
    - CF_CHECK_NE
    - cryptofuzz_zig_digest
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Zig::OpDigest(operation::Digest& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:219,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:219,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:225,1
    - Dst: cryptofuzz::module::Zig_detail::ToDigestId
      Src: /src/cryptofuzz/modules/zig/module.cpp:225,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:225,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/zig/module.cpp:228,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:230,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:231,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:234,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:241,1
    - Dst: cryptofuzz_zig_hmac
      Src: /src/cryptofuzz/modules/zig/module.cpp:241,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:243,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:243,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:244,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:245,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:246,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:247,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/zig/module.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 254
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 254
    functionName: cryptofuzz::module::Zig::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - util::Multipart::size
    - cryptofuzz::module::Zig_detail::ToDigestId
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - cryptofuzz_zig_hmac
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - digestType::Get
    - cryptofuzz::tests::test_ECC_PrivateKey
    - cleartext::GetPtr
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Zig::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:258,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:258,1
    - Dst: cryptofuzz::repository::DigestSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:260,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:260,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:271,1
    - Dst: cryptofuzz::module::Zig_detail::ToDigestId
      Src: /src/cryptofuzz/modules/zig/module.cpp:271,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:271,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:272,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:274,1
    - Dst: cryptofuzz_zig_hkdf
      Src: /src/cryptofuzz/modules/zig/module.cpp:274,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:276,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:276,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:277,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:277,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:278,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:278,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/zig/module.cpp:281,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 287
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 287
    functionName: cryptofuzz::module::Zig::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Zig_detail::ToDigestId
    - salt::GetPtr
    - modifier::GetPtr
    - cryptofuzz::util::malloc
    - password::GetPtr
    - digestType::Get
    - info::GetSize
    - info::GetPtr
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::repository::DigestSize
    - cryptofuzz::util::free
    - modifier::GetSize
    - cryptofuzz_zig_hkdf
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Zig::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:294,1
    - Dst: cryptofuzz::module::Zig_detail::ToDigestId
      Src: /src/cryptofuzz/modules/zig/module.cpp:294,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:294,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:296,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:298,1
    - Dst: cryptofuzz_zig_pbkdf2
      Src: /src/cryptofuzz/modules/zig/module.cpp:298,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:300,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:300,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:301,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:301,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/zig/module.cpp:305,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 311
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 311
    functionName: cryptofuzz::module::Zig::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Zig_detail::ToDigestId
    - salt::GetPtr
    - cryptofuzz::util::malloc
    - password::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::util::free
    - cryptofuzz_zig_pbkdf2
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Zig::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:324,1
    - Dst: cryptofuzz_zig_scrypt
      Src: /src/cryptofuzz/modules/zig/module.cpp:324,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:326,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:326,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:327,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:327,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/zig/module.cpp:330,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 336
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 336
    functionName: cryptofuzz::module::Zig::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - cryptofuzz_zig_scrypt
    - CF_CHECK_EQ
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Zig::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:343,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:344,1
    - Dst: cryptofuzz_zig_argon2
      Src: /src/cryptofuzz/modules/zig/module.cpp:344,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:346,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:346,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:347,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:347,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/zig/module.cpp:350,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 356
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 356
    functionName: cryptofuzz::module::Zig::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - cryptofuzz_zig_argon2
    - CF_CHECK_EQ
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Zig::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/zig/module.cpp:360,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:365,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:365,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:366,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:366,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:371,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:371,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:372,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:372,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:377,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:377,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:378,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:378,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:391,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:391,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:391,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:393,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:394,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:395,1
    - Dst: cryptofuzz_zig_ecdsa_sign
      Src: /src/cryptofuzz/modules/zig/module.cpp:395,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:397,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:398,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:398,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/zig/module.cpp:404,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/zig/module.cpp:404,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/zig/module.cpp:405,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/zig/module.cpp:405,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:407,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:411,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:412,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 414
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 414
    functionName: cryptofuzz::module::Zig::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - cryptofuzz_zig_ecdsa_sign
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - cleartext::GetSize
    - std::vector<uint8_t>
    - digestType::Is
    - cryptofuzz::util::free
    - std::optional::data
    - cleartext::GetPtr
    - CF_CHECK_NE
    - CF_DIGEST
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - UseRandomNonce
    - cryptofuzz::util::BinToDec
    - priv::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> Zig::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:420,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:420,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:421,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:421,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:426,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:426,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:427,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:427,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:432,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:432,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:433,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:433,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:448,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:448,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:448,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:449,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:449,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:449,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/zig/module.cpp:450,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/zig/module.cpp:451,1
    - Dst: end
      Src: /src/cryptofuzz/modules/zig/module.cpp:451,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/zig/module.cpp:451,1
    - Dst: end
      Src: /src/cryptofuzz/modules/zig/module.cpp:451,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/zig/module.cpp:452,1
    - Dst: end
      Src: /src/cryptofuzz/modules/zig/module.cpp:452,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/zig/module.cpp:452,1
    - Dst: end
      Src: /src/cryptofuzz/modules/zig/module.cpp:452,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:455,1
    - Dst: cryptofuzz::util::ToDER
      Src: /src/cryptofuzz/modules/zig/module.cpp:455,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:456,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:457,1
    - Dst: cryptofuzz_zig_ecdsa_verify
      Src: /src/cryptofuzz/modules/zig/module.cpp:459,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:461,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:461,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:462,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:462,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:463,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 467
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 467
    functionName: cryptofuzz::module::Zig::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::first::ToTrimmedString
    - end
    - cleartext::GetPtr
    - CF_DIGEST
    - begin
    - cryptofuzz::util::ToDER
    - curveType::Is
    - std::vector::data
    - std::vector::size
    - CF_ECC_CURVE
    - std::vector::insert
    - signature::signature::first::ToTrimmedString
    - std::optional::size
    - std::optional::data
    - std::vector::push_back
    - signature::pub::second::ToTrimmedString
    - signature::signature::second::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - cleartext::GetSize
    - digestType::Is
    - CF_CHECK_NE
    - cryptofuzz_zig_ecdsa_verify
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Zig::OpECDSA_Verify(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:473,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:473,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:476,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:476,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:479,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:479,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:488,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:488,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:488,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:489,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:489,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:489,1
    - Dst: cryptofuzz_zig_ecc_validatepubkey
      Src: /src/cryptofuzz/modules/zig/module.cpp:491,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:493,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 498
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 498
    functionName: cryptofuzz::module::Zig::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_zig_ecc_validatepubkey
    - pub::first::ToTrimmedString
    - pub::second::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - data
    - std::optional::data
    - CF_CHECK_NE
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Zig::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:504,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:504,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:507,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:507,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:510,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:510,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:520,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:520,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:520,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:522,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:524,1
    - Dst: cryptofuzz_zig_ecc_privatetopublic
      Src: /src/cryptofuzz/modules/zig/module.cpp:524,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:527,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:529,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 534
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 534
    functionName: cryptofuzz::module::Zig::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - cryptofuzz_zig_ecc_privatetopublic
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - cryptofuzz::util::free
    - priv::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> Zig::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:540,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:540,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:543,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:543,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:546,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:546,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:556,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:556,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:556,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:557,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:557,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:557,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:558,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:558,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:558,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:559,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:559,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:559,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:561,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:563,1
    - Dst: cryptofuzz_zig_ecc_point_add
      Src: /src/cryptofuzz/modules/zig/module.cpp:563,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:566,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:567,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:568,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:569,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:571,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 576
      start: 536
    functionDepth: 3
    functionLinenumber: 536
    functionLinenumberEnd: 576
    functionName: cryptofuzz::module::Zig::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 1
    functionsReached:
    - b::first::ToTrimmedString
    - cryptofuzz::util::malloc
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - cryptofuzz_zig_ecc_point_add
    - data
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - cryptofuzz::util::free
    - b::second::ToTrimmedString
    - a::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Zig::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:582,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:582,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:585,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:585,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:588,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:588,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:598,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:598,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:598,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:599,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:599,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:599,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:600,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:600,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:600,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:601,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:601,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:601,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:603,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:605,1
    - Dst: cryptofuzz_zig_ecc_point_sub
      Src: /src/cryptofuzz/modules/zig/module.cpp:605,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:608,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:609,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:610,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:611,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:613,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Sub
    constantsTouched: []
    func_position:
      end: 618
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 618
    functionName: cryptofuzz::module::Zig::OpECC_Point_Sub
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - cryptofuzz::util::malloc
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - data
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - cryptofuzz::util::free
    - b::second::ToTrimmedString
    - a::second::ToTrimmedString
    - cryptofuzz_zig_ecc_point_sub
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Zig::OpECC_Point_Sub(operation::ECC_Point_Sub&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:622,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:622,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:626,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:626,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:629,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:629,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:632,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:632,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:642,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:642,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:642,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:643,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:643,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:643,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:644,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:644,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:644,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:646,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:649,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:653,1
    - Dst: cryptofuzz_zig_ecc_point_mul
      Src: /src/cryptofuzz/modules/zig/module.cpp:653,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:656,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:657,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:658,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:661,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 666
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 666
    functionName: cryptofuzz::module::Zig::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 1
    functionsReached:
    - modifier::GetPtr
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - b::ToTrimmedString
    - cryptofuzz::util::malloc
    - CF_CHECK_EQ
    - data
    - std::optional::data
    - CF_CHECK_NE
    - Datasource::Get
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - cryptofuzz::util::free
    - cryptofuzz_zig_ecc_point_mul
    - modifier::GetSize
    - a::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Zig::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:672,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:672,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:675,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:675,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:678,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:678,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:688,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:688,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:688,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:689,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:689,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:689,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:691,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:693,1
    - Dst: cryptofuzz_zig_ecc_point_neg
      Src: /src/cryptofuzz/modules/zig/module.cpp:693,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:696,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:697,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:699,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 704
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 704
    functionName: cryptofuzz::module::Zig::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - cryptofuzz_zig_ecc_point_neg
    - data
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - cryptofuzz::util::free
    - a::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Zig::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:710,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:710,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:713,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:713,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:716,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:716,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:726,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:726,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:726,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:727,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:727,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:727,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:729,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:731,1
    - Dst: cryptofuzz_zig_ecc_point_dbl
      Src: /src/cryptofuzz/modules/zig/module.cpp:731,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:734,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:735,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:737,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 742
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 742
    functionName: cryptofuzz::module::Zig::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - cryptofuzz_zig_ecc_point_dbl
    - data
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - cryptofuzz::util::free
    - a::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Zig::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:746,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:746,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:750,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:751,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:754,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:757,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:760,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:763,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:766,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:769,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:772,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:775,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:778,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:781,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:784,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:787,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:790,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:793,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:796,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:799,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:807,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:808,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/zig/module.cpp:810,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:811,1
    - Dst: cryptofuzz_zig_bignumcalc
      Src: /src/cryptofuzz/modules/zig/module.cpp:811,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/zig/module.cpp:813,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:813,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/zig/module.cpp:814,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:814,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/zig/module.cpp:817,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 820
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 820
    functionName: cryptofuzz::module::Zig::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_EQ
    - memset
    - auto::size
    - bn1::ToTrimmedString
    - calcOp::Get
    - std::string
    - bn0::ToTrimmedString
    - cryptofuzz_zig_bignumcalc
    - auto::c_str
    - modifier::GetSize
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Zig::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: cryptofuzz::module::ff::ff
    functionSourceFile: /src/cryptofuzz/modules/ff/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ff::ff(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/ff/module.cpp:22,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/ff/module.cpp:30,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/ff/module.cpp:31,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/ff/module.cpp:32,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/ff/module.cpp:33,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/ff/module.cpp:36,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/ff/module.cpp:36,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/ff/module.cpp:37,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/ff/module.cpp:37,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/ff/module.cpp:39,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/ff/module.cpp:39,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/ff/module.cpp:39,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/ff/module.cpp:39,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/ff/module.cpp:41,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/ff/module.cpp:41,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/ff/module.cpp:41,1
    - Dst: cryptofuzz_ff_bignumcalc
      Src: /src/cryptofuzz/modules/ff/module.cpp:44,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/ff/module.cpp:45,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/ff/module.cpp:45,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/ff/module.cpp:46,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/ff/module.cpp:47,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/ff/module.cpp:50,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/ff/module.cpp:51,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/ff/module.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 56
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::ff::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/ff/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::array::data
    - CF_CHECK_TRUE
    - CF_CHECK_EQ
    - cryptofuzz::util::DecToBin
    - modulo::ToTrimmedString
    - bn1::ToTrimmedString
    - std::map::at
    - std::optional::data
    - CF_CHECK_NE
    - bn0::ToTrimmedString
    - cryptofuzz::util::BinToDec
    - calcOp::Get
    - cryptofuzz_ff_bignumcalc
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ff::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::ff::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/ff/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ff::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/bn.js/generate_calc_ops.cpp:9,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bn.js/generate_calc_ops.cpp:12,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/bn.js/generate_calc_ops.cpp:14,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bn.js/generate_calc_ops.cpp:15,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/bn.js/generate_calc_ops.cpp:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 19
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/bn.js/generate_calc_ops.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - abort
    - std::string::find_first_of
    - printf
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/bn.js/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/bn.js/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::bn_js::bn_js
    functionSourceFile: /src/cryptofuzz/modules/bn.js/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void bn_js::bn_js(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: bn_js::~bn_js(void)
    functionSourceFile: /src/cryptofuzz/modules/bn.js/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bn_js::~bn_js(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bn.js/module.cpp:26,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bn.js/module.cpp:26,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/bn.js/module.cpp:28,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/bn.js/module.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::bn_js::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/bn.js/module.cpp
    functionUses: 0
    functionsReached:
    - Run
    - modifier::GetSize
    - ToJSON
    - modifier::GetPtr
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> bn_js::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::elliptic::elliptic
    functionSourceFile: /src/cryptofuzz/modules/elliptic/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void elliptic::elliptic(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: elliptic::~elliptic(void)
    functionSourceFile: /src/cryptofuzz/modules/elliptic/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void elliptic::~elliptic(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:28,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:28,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:29,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:29,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:30,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:30,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:31,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:31,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:31,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:35,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:36,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:36,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:37,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:37,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:39,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:39,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:42,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:43,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:43,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:44,1
    - Dst: get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:44,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: cryptofuzz::module::elliptic::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/elliptic/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz::util::DecToHex
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - digestType::Get
    - cryptofuzz::util::HexToDec
    - CF_DIGEST
    - auto::dump
    - get
    - UseRFC6979Nonce
    - cryptofuzz::tests::test_ECDSA_Signature
    - priv::ToTrimmedString
    - Run
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> elliptic::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:58,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:59,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:59,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:60,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:60,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:61,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:61,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:62,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:62,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:63,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:63,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:65,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:65,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: cryptofuzz::module::elliptic::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/elliptic/module.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToTrimmedString
    - ToJSON
    - std::to_string
    - signature::signature::first::ToTrimmedString
    - signature::pub::first::ToTrimmedString
    - cryptofuzz::util::DecToHex
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    - signature::pub::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> elliptic::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:77,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:78,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:78,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:79,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:79,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:81,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:81,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:84,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:85,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:85,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:86,1
    - Dst: get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:86,1
    - Dst: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: cryptofuzz::module::elliptic::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/elliptic/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToHex
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::util::HexToDec
    - auto::dump
    - get
    - cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    - priv::ToTrimmedString
    - Run
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> elliptic::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:8,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:8,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:9,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:9,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:13,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:13,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:18,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/elliptic/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - printf
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: cryptofuzz::module::uint128_t::uint128_t
    functionSourceFile: /src/cryptofuzz/modules/uint128_t/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint128_t::uint128_t(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:13,1
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:15,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:15,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:17,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:17,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:17,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:18,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:19,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:19,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: cryptofuzz::module::uint128_t_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/uint128_t/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::reverse
    - boost::multiprecision::export_bits
    - std::back_inserter
    - memcpy
    - std::vector::resize
    - ToTrimmedString
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: __uint128_t
    signature: __uint128_t Load(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:25,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:25,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:25,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:26,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:26,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:26,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:28,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:28,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:28,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:28,1
    - Dst: boost::multiprecision::uint256_t::str
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - u
    argTypes:
    - __uint128_t
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: cryptofuzz::module::uint128_t_detail::Save
    functionSourceFile: /src/cryptofuzz/modules/uint128_t/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::reverse
    - boost::multiprecision::uint256_t::str
    - boost::multiprecision::import_bits
    - memcpy
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum Save(const __uint128_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:40,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:48,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:49,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:50,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:50,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:52,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:53,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:53,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:55,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:57,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:58,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:62,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:63,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:63,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:65,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:67,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:68,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:72,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:73,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:73,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:75,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:76,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:76,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:78,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:79,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:79,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:81,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:82,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:82,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:84,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:85,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:87,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:88,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:88,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:90,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:91,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:91,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:93,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:94,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:94,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:96,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:97,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:97,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:99,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:100,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:100,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:102,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:103,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:105,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:106,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:108,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:109,1
    - Dst: Save
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:115,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 119
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 119
    functionName: cryptofuzz::module::uint128_t::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/uint128_t/module.cpp
    functionUses: 0
    functionsReached:
    - Load
    - Save
    - modulo::ToTrimmedString
    - CF_CHECK_NE
    - calcOp::Get
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> uint128_t::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: cryptofuzz::module::uint128_t::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/uint128_t/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool uint128_t::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::noble_curves::noble_curves
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void noble_curves::noble_curves(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: noble_curves::~noble_curves(void)
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noble_curves::~noble_curves(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:27,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:28,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:28,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:30,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:30,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:33,1
    - Dst: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::noble_curves::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    - Run
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> noble_curves::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:43,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:43,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:43,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:43,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:43,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:47,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:48,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:48,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:50,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:50,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:54,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::noble_curves::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - UseRFC6979Nonce
    - cryptofuzz::tests::test_ECDSA_Signature
    - Run
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> noble_curves::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:64,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:65,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:65,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:68,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:68,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: cryptofuzz::module::noble_curves::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_curves::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:80,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:81,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:81,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:83,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:83,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:86,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: cryptofuzz::module::noble_curves::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - Run
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_curves::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:96,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:97,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:97,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:99,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:99,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:102,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: cryptofuzz::module::noble_curves::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - Run
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_curves::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:112,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:113,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:113,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:115,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:115,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:118,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: cryptofuzz::module::noble_curves::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - Run
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_curves::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:127,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:128,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:128,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:130,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:130,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:133,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: cryptofuzz::module::noble_curves::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - Run
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_curves::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:144,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:145,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:145,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:147,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:147,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:150,1
    - Dst: component::BLS_PublicKey
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: cryptofuzz::module::noble_curves::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - component::BLS_PublicKey
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> noble_curves::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:160,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:161,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:161,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:163,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:163,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:166,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: cryptofuzz::module::noble_curves::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 3
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:176,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:177,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:177,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:179,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:179,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:182,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: cryptofuzz::module::noble_curves::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_curves::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:192,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:193,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:193,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:195,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:195,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:198,1
    - Dst: cryptofuzz::component::BLS_Signature::BLS_Signature
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 203
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 203
    functionName: cryptofuzz::module::noble_curves::OpBLS_Sign
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::component::BLS_Signature::BLS_Signature
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> noble_curves::OpBLS_Sign(operation::BLS_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:208,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:209,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:209,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:211,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:211,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:214,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: cryptofuzz::module::noble_curves::OpBLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - getBignum
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> noble_curves::OpBLS_Compress_G1(operation::BLS_Compress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:224,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:225,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:225,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:227,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:227,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:230,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: cryptofuzz::module::noble_curves::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:240,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:241,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:241,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:243,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:243,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:246,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: cryptofuzz::module::noble_curves::OpBLS_Compress_G2
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_Compress_G2(operation::BLS_Compress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:256,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:257,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:257,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:259,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:259,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:262,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 267
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 267
    functionName: cryptofuzz::module::noble_curves::OpBLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_curves::OpBLS_Decompress_G2(operation::BLS_Decompress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:272,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:273,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:273,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:275,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:275,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 283
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 283
    functionName: cryptofuzz::module::noble_curves::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_curves::OpBLS_Verify(operation::BLS_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:288,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:289,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:289,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:291,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:291,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: cryptofuzz::module::noble_curves::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_curves::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:304,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:305,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:305,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:307,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:307,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 315
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 315
    functionName: cryptofuzz::module::noble_curves::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_curves::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:320,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:321,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:321,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:323,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:323,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:326,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 331
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 331
    functionName: cryptofuzz::module::noble_curves::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:336,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:337,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:337,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:339,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:339,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:342,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 347
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 347
    functionName: cryptofuzz::module::noble_curves::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:352,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:353,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:353,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:355,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:355,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:358,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: cryptofuzz::module::noble_curves::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:368,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:369,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:369,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:371,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:371,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 379
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 379
    functionName: cryptofuzz::module::noble_curves::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_curves::OpBLS_G1_IsEq(operation::BLS_G1_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:384,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:385,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:385,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:387,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:387,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:390,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 395
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 395
    functionName: cryptofuzz::module::noble_curves::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_curves::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:400,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:401,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:401,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:403,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:403,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:406,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: cryptofuzz::module::noble_curves::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_curves::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:416,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:417,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:417,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:419,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:419,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:422,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 427
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 427
    functionName: cryptofuzz::module::noble_curves::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_curves::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:432,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:433,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:433,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:435,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:435,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 443
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 443
    functionName: cryptofuzz::module::noble_curves::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_curves::OpBLS_G2_IsEq(operation::BLS_G2_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:448,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:449,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:449,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:451,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:451,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:454,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Aggregate_G1
    constantsTouched: []
    func_position:
      end: 459
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 459
    functionName: cryptofuzz::module::noble_curves::OpBLS_Aggregate_G1
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_Aggregate_G1(operation::BLS_Aggregate_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:464,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:465,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:465,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:467,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:467,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:470,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Aggregate_G2
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: cryptofuzz::module::noble_curves::OpBLS_Aggregate_G2
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_curves::OpBLS_Aggregate_G2(operation::BLS_Aggregate_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:483,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:485,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:494,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:495,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:495,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:495,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:495,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:497,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:497,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:500,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 505
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 505
    functionName: cryptofuzz::module::noble_curves::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - modulo::ToTrimmedString
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - getBignum
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> noble_curves::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: cryptofuzz::module::noble_curves::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool noble_curves::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:10,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:15,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:16,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:16,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:21,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:21,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:26,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:29,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:29,1
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:34,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:37,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:39,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:40,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:40,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:45,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:45,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::string::find
    - abort
    - std::string::find_first_of
    - printf
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:29,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:30,1
    - Dst: PyCallable_Check
      Src: /src/cryptofuzz/modules/starkware/module.cpp:30,1
    - Dst: static_cast<PyObject*>
      Src: /src/cryptofuzz/modules/starkware/module.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pModule
    - fn
    argTypes:
    - PyObject*
    - std::string
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::LoadPythonFunction
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PyObject*>
    - CF_ASSERT
    - PyCallable_Check
    linkageType: ''
    returnType: void
    signature: void * LoadPythonFunction(PyObject* pModule, const std::string fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PyTuple_New
      Src: /src/cryptofuzz/modules/starkware/module.cpp:40,1
    - Dst: PyBytes_FromStringAndSize
      Src: /src/cryptofuzz/modules/starkware/module.cpp:41,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:41,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/starkware/module.cpp:41,1
    - Dst: PyTuple_SetItem
      Src: /src/cryptofuzz/modules/starkware/module.cpp:43,1
    - Dst: PyObject_CallObject
      Src: /src/cryptofuzz/modules/starkware/module.cpp:44,1
    - Dst: static_cast<PyObject*>
      Src: /src/cryptofuzz/modules/starkware/module.cpp:44,1
    - Dst: PyErr_PrintEx
      Src: /src/cryptofuzz/modules/starkware/module.cpp:48,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/starkware/module.cpp:49,1
    - Dst: PyBytes_Check
      Src: /src/cryptofuzz/modules/starkware/module.cpp:52,1
    - Dst: PyBytes_AsStringAndSize
      Src: /src/cryptofuzz/modules/starkware/module.cpp:57,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/starkware/module.cpp:58,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/starkware/module.cpp:61,1
    - Dst: Py_DECREF
      Src: /src/cryptofuzz/modules/starkware/module.cpp:66,1
    - Dst: Py_DECREF
      Src: /src/cryptofuzz/modules/starkware/module.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pFunc
    - arg
    argTypes:
    - void*
    - std::string
    constantsTouched: []
    func_position:
      end: 70
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::RunPythonFunction
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - PyBytes_Check
    - std::string::c_str
    - PyTuple_New
    - PyBytes_AsStringAndSize
    - PyObject_CallObject
    - Py_DECREF
    - PyBytes_FromStringAndSize
    - abort
    - PyTuple_SetItem
    - std::string
    - PyErr_PrintEx
    - std::string::size
    - static_cast<PyObject*>
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> RunPythonFunction(void* pFunc, const std::string
      arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:79,1
    - Dst: setenv
      Src: /src/cryptofuzz/modules/starkware/module.cpp:79,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:79,1
    - Dst: fopen
      Src: /src/cryptofuzz/modules/starkware/module.cpp:86,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:86,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:87,1
    - Dst: fseek
      Src: /src/cryptofuzz/modules/starkware/module.cpp:89,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:91,1
    - Dst: fseek
      Src: /src/cryptofuzz/modules/starkware/module.cpp:93,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/starkware/module.cpp:94,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:95,1
    - Dst: fread
      Src: /src/cryptofuzz/modules/starkware/module.cpp:95,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/starkware/module.cpp:95,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/starkware/module.cpp:95,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/starkware/module.cpp:96,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/starkware/module.cpp:99,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/starkware/module.cpp:99,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/starkware/module.cpp:99,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/starkware/module.cpp:99,1
    - Dst: Py_DecodeLocale
      Src: /src/cryptofuzz/modules/starkware/module.cpp:103,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:103,1
    - Dst: Py_SetProgramName
      Src: /src/cryptofuzz/modules/starkware/module.cpp:104,1
    - Dst: PyMem_RawFree
      Src: /src/cryptofuzz/modules/starkware/module.cpp:105,1
    - Dst: Py_Initialize
      Src: /src/cryptofuzz/modules/starkware/module.cpp:109,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:118,1
    - Dst: PyRun_SimpleString
      Src: /src/cryptofuzz/modules/starkware/module.cpp:118,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:118,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:129,1
    - Dst: PyRun_SimpleString
      Src: /src/cryptofuzz/modules/starkware/module.cpp:129,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:129,1
    - Dst: PyModule_New
      Src: /src/cryptofuzz/modules/starkware/module.cpp:134,1
    - Dst: PyModule_AddStringConstant
      Src: /src/cryptofuzz/modules/starkware/module.cpp:135,1
    - Dst: PyModule_GetDict
      Src: /src/cryptofuzz/modules/starkware/module.cpp:136,1
    - Dst: PyRun_String
      Src: /src/cryptofuzz/modules/starkware/module.cpp:137,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:137,1
    - Dst: PyErr_PrintEx
      Src: /src/cryptofuzz/modules/starkware/module.cpp:139,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:140,1
    - Dst: Py_DECREF
      Src: /src/cryptofuzz/modules/starkware/module.cpp:142,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:144,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:145,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:146,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:147,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:148,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:149,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:150,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:151,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:152,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:153,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:154,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 156
    functionName: cryptofuzz::module::ConfigurePython
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - Py_DecodeLocale
    - std::string
    - PyModule_New
    - PyErr_PrintEx
    - Py_SetProgramName
    - CF_ASSERT
    - std::string::c_str
    - Py_DECREF
    - fclose
    - std::vector::resize
    - fopen
    - PyRun_SimpleString
    - std::vector::data
    - std::vector::size
    - PyMem_RawFree
    - PyModule_AddStringConstant
    - PyModule_GetDict
    - cryptofuzz::module::LoadPythonFunction
    - fseek
    - fread
    - static_cast<size_t>
    - setenv
    - PyRun_String
    - c_str
    - Py_Initialize
    linkageType: ''
    returnType: void
    signature: void ConfigurePython(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConfigurePython
      Src: /src/cryptofuzz/modules/starkware/module.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: cryptofuzz::module::Starkware::Starkware
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - ConfigurePython
    linkageType: ''
    returnType: void
    signature: void Starkware::Starkware(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/starkware/module.cpp:164,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:164,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:170,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:170,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:172,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/starkware/module.cpp:174,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: cryptofuzz::module::Starkware::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - CF_ECC_CURVE
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - RunPythonFunction
    - CF_CHECK_NE
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Starkware::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/starkware/module.cpp:181,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:181,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:187,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:187,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:189,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/starkware/module.cpp:191,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 195
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 195
    functionName: cryptofuzz::module::Starkware::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - CF_ECC_CURVE
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - RunPythonFunction
    - CF_CHECK_NE
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Starkware::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/starkware/module.cpp:198,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:198,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:204,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:204,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:206,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/starkware/module.cpp:208,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: cryptofuzz::module::Starkware::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - CF_ECC_CURVE
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - RunPythonFunction
    - CF_CHECK_NE
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Starkware::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/starkware/module.cpp:215,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:215,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:221,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:221,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:223,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/starkware/module.cpp:225,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: cryptofuzz::module::Starkware::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - CF_ECC_CURVE
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - RunPythonFunction
    - CF_CHECK_NE
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Starkware::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/starkware/module.cpp:232,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:232,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:238,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:238,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:240,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 246
    functionName: cryptofuzz::module::Starkware::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - CF_ECC_CURVE
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - RunPythonFunction
    - CF_CHECK_NE
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Starkware::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:249,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:249,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/starkware/module.cpp:254,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: cryptofuzz::module::Starkware::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Starkware::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:258,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:258,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/starkware/module.cpp:263,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: cryptofuzz::module::Starkware::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Starkware::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/starkware/module.cpp:267,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/starkware/module.cpp:267,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/starkware/module.cpp:269,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/starkware/module.cpp:270,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/starkware/module.cpp:271,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/starkware/module.cpp:275,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/starkware/module.cpp:275,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:276,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/starkware/module.cpp:276,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/starkware/module.cpp:277,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/starkware/module.cpp:277,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:278,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/starkware/module.cpp:278,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/starkware/module.cpp:279,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/starkware/module.cpp:279,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/starkware/module.cpp:283,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:287,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/starkware/module.cpp:287,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:289,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/starkware/module.cpp:289,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/starkware/module.cpp:291,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/starkware/module.cpp:291,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:292,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/starkware/module.cpp:292,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:295,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/starkware/module.cpp:297,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 300
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 300
    functionName: cryptofuzz::module::Starkware::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - bn2::ToTrimmedString
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - bn1::ToTrimmedString
    - calcOp::Get
    - RunPythonFunction
    - nlohmann::json::dump
    - getBignum
    - CF_CHECK_NE
    - bn0::ToTrimmedString
    - modifier::GetSize
    - Datasource::Get
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Starkware::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: cryptofuzz::module::Shamatar::Shamatar
    functionSourceFile: /src/cryptofuzz/modules/shamatar/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Shamatar::Shamatar(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:34,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:34,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:34,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:35,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:35,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:35,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:37,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:37,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:37,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:38,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:38,1
    - Dst: data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:38,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:40,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:40,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:40,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:41,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:41,1
    - Dst: data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:41,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:43,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:43,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:43,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:44,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:44,1
    - Dst: data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:44,1
    - Dst: eip196_perform_operation
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:46,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:48,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:49,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:52,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:52,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:53,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 61
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::Shamatar::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/shamatar/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - std::array::data
    - a::first::ToTrimmedString
    - eip196_perform_operation
    - cryptofuzz::util::DecToBin
    - data
    - memcpy
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - b::second::ToTrimmedString
    - a::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Shamatar::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:73,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:73,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:73,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:74,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:74,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:74,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:76,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:76,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:76,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:77,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:77,1
    - Dst: data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:77,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:79,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:79,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:79,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:80,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:80,1
    - Dst: data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:80,1
    - Dst: eip196_perform_operation
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:82,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:84,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:85,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:88,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:88,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:89,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::Shamatar::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/shamatar/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - a::first::ToTrimmedString
    - eip196_perform_operation
    - cryptofuzz::util::DecToBin
    - data
    - b::ToTrimmedString
    - memcpy
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - a::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Shamatar::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:110,1
    - Dst: g1::first::ToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:110,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:111,1
    - Dst: g1::second::ToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:111,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:112,1
    - Dst: g2::first::first::ToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:112,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:113,1
    - Dst: g2::first::second::ToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:113,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:114,1
    - Dst: g2::second::first::ToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:114,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:115,1
    - Dst: g2::second::second::ToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:115,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:117,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:117,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:117,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:117,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:118,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:118,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:118,1
    - Dst: end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:118,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:119,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:119,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:119,1
    - Dst: end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:119,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:120,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:120,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:120,1
    - Dst: end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:120,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:121,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:121,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:121,1
    - Dst: end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:121,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:122,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:122,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:122,1
    - Dst: end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:122,1
    - Dst: eip196_perform_operation
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:125,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:127,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:127,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:128,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:131,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:131,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 142
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::Shamatar::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/shamatar/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - g2::first::first::ToBin
    - g2::second::second::ToBin
    - std::optional::begin
    - std::array::data
    - std::vector::insert
    - eip196_perform_operation
    - end
    - begin
    - std::vector<uint8_t>
    - g1::first::ToBin
    - CF_CHECK_NE
    - g2::first::second::ToBin
    - std::optional::end
    - g1::second::ToBin
    - g2::second::first::ToBin
    - std::vector::end
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Shamatar::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fatalCode
    argTypes:
    - UINT32
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: SymCryptFatal
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void SymCryptFatal(UINT32 fatalCode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pbData
    - cbData
    argTypes:
    - PBYTE
    - SIZE_T
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: SymCryptInjectError
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SymCryptInjectError( PBYTE pbData, SIZE_T cbData )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nBytes
    argTypes:
    - SIZE_T
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: SymCryptCallbackAlloc
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - posix_memalign
    linkageType: ''
    returnType: PVOID
    signature: PVOID SymCryptCallbackAlloc( SIZE_T nBytes )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMem
    argTypes:
    - VOID*
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: SymCryptCallbackFree
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: VOID
    signature: VOID SymCryptCallbackFree( VOID * pMem )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:40,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:48,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:49,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:49,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:50,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:50,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - out
    - size
    argTypes:
    - PBYTE
    - SIZE_T
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: SymCryptCallbackRandom
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - abort
    - auto::data
    - GetData
    - auto::size
    - CF_ASSERT
    linkageType: ''
    returnType: SYMCRYPT_ERROR
    signature: SYMCRYPT_ERROR SymCryptCallbackRandom(PBYTE out, SIZE_T size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: SymCryptCpuFeaturesNeverPresent
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SYMCRYPT_CPU_FEATURES
    signature: SYMCRYPT_CPU_FEATURES SymCryptCpuFeaturesNeverPresent(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSaveData
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: SymCryptSaveXmm
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SYMCRYPT_ERROR
    signature: SYMCRYPT_ERROR SymCryptSaveXmm(void* pSaveData)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSaveData
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: SymCryptRestoreXmm
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VOID
    signature: VOID SymCryptRestoreXmm(void* pSaveData )
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSaveData
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: SymCryptSaveYmm
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SYMCRYPT_ERROR
    signature: SYMCRYPT_ERROR SymCryptSaveYmm(void* pSaveData)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSaveData
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: SymCryptRestoreYmm
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VOID
    signature: VOID SymCryptRestoreYmm(void* pSaveData )
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: cryptofuzz::module::SymCrypt::SymCrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SymCrypt::SymCrypt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:89,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:90,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:92,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:94,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:96,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:98,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:100,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:102,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:104,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:106,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:110,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - CF_DIGEST
    linkageType: ''
    returnType: SYMCRYPT_HASH
    signature: SYMCRYPT_HASH * to_SYMCRYPT_HASH(const component::DigestType& digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:121,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:122,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:124,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:126,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:128,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - CF_DIGEST
    linkageType: ''
    returnType: SYMCRYPT_MAC
    signature: SYMCRYPT_MAC * to_SYMCRYPT_MAC(const component::DigestType& digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:138,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:139,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:140,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:141,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:142,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:143,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:144,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:145,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:146,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:147,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:150,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:151,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:152,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:155,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:157,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:158,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - ' cipherType'
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 164
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 164
    functionName: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    - Get
    linkageType: ''
    returnType: SYMCRYPT_BLOCKCIPHER
    signature: SYMCRYPT_BLOCKCIPHER * to_SYMCRYPT_BLOCKCIPHER(const component::SymmetricCipherType&
      cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:169,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:169,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:177,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:177,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:178,1
    - Dst: SYMCRYPT_HASH*::initFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:179,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:180,1
    - Dst: SYMCRYPT_HASH*::appendFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:185,1
    - Dst: SYMCRYPT_HASH*::resultFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:192,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:194,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 201
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 201
    functionName: cryptofuzz::module::SymCrypt::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - SYMCRYPT_HASH*::initFunc
    - generate_Digest
    - cryptofuzz::util::ToParts
    - cryptofuzz::util::malloc
    - modifier::GetPtr
    - SYMCRYPT_HASH*::resultFunc
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
    - CF_CHECK_NE
    - cryptofuzz::util::free
    - modifier::GetSize
    - SYMCRYPT_HASH*::appendFunc
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> SymCrypt::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:205,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:205,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:214,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:214,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:216,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:217,1
    - Dst: SYMCRYPT_MAC*::expandKeyFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:217,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:219,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:220,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:222,1
    - Dst: SYMCRYPT_MAC*::initFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:223,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:225,1
    - Dst: SYMCRYPT_MAC*::appendFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:230,1
    - Dst: SYMCRYPT_MAC*::resultFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:237,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:239,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:244,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 247
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 247
    functionName: cryptofuzz::module::SymCrypt::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - SYMCRYPT_MAC*::expandKeyFunc
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - modifier::GetPtr
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cryptofuzz::util::ToParts
    - CF_CHECK_NE
    - SYMCRYPT_MAC*::initFunc
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
    - cryptofuzz::util::free
    - SYMCRYPT_MAC*::appendFunc
    - generate_HMAC
    - modifier::GetSize
    - SYMCRYPT_MAC*::resultFunc
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> SymCrypt::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:255,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:256,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:257,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:258,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:259,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:260,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:261,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:262,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:263,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:264,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:265,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:266,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:267,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:268,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:269,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:270,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:271,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:272,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:273,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:274,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:275,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:276,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:277,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:278,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:279,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:280,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:281,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:282,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:283,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:284,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:285,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:286,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:287,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:288,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:289,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:290,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:291,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:292,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:293,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:294,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:300,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:300,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:308,1
    - Dst: SymCryptAesCmacExpandKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:308,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:310,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:311,1
    - Dst: SymCryptAesCmacInit
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:312,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:313,1
    - Dst: SymCryptAesCmacAppend
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:318,1
    - Dst: SymCryptAesCmacResult
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 57
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 334
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 334
    functionName: cryptofuzz::module::SymCrypt::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - CF_CHECK_EQ
    - SymCryptAesCmacInit
    - cryptofuzz::util::ToParts
    - SymCryptAesCmacResult
    - SymCryptAesCmacExpandKey
    - CF_CIPHER
    - SymCryptAesCmacAppend
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> SymCrypt::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:339,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:339,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:355,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:355,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:356,1
    - Dst: SymCryptCcmValidateParameters
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:356,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:358,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:359,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:360,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:367,1
    - Dst: SymCryptAesExpandKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:367,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:369,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:370,1
    - Dst: SymCryptCcmInit
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:372,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:376,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:377,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:378,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:379,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:380,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:382,1
    - Dst: SymCryptCcmEncryptPart
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:387,1
    - Dst: SymCryptCcmEncryptFinal
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:393,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:394,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:394,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:394,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:394,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:398,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 402
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 402
    functionName: cryptofuzz::module::SymCrypt_detail::AES_CCM_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - SymCryptCcmValidateParameters
    - SymCryptAesExpandKey
    - aad::GetSize
    - Buffer
    - SymCryptCcmInit
    - SymCryptCcmEncryptPart
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - SymCryptCcmEncryptFinal
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - cleartext::GetSize
    - aad::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> AES_CCM_Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:406,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:406,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:422,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:422,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:423,1
    - Dst: SymCryptGcmValidateParameters
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:423,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:425,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:426,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:427,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:434,1
    - Dst: SymCryptGcmExpandKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:434,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:437,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:438,1
    - Dst: SymCryptGcmInit
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:440,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:443,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:444,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:447,1
    - Dst: SymCryptGcmAuthPart
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:449,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:453,1
    - Dst: SymCryptGcmEncryptPart
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:459,1
    - Dst: SymCryptGcmEncryptFinal
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:465,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:466,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:466,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:466,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:466,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:470,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 474
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 474
    functionName: cryptofuzz::module::SymCrypt_detail::AES_GCM_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - SymCryptGcmEncryptPart
    - SymCryptGcmValidateParameters
    - SymCryptGcmAuthPart
    - modifier::GetPtr
    - SymCryptGcmExpandKey
    - aad::GetSize
    - SymCryptGcmEncryptFinal
    - Buffer
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - cleartext::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - SymCryptGcmInit
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> AES_GCM_Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:478,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:478,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:493,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:493,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:494,1
    - Dst: SymCryptCcmValidateParameters
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:494,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:496,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:497,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:498,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:499,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:505,1
    - Dst: SymCryptAesExpandKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:505,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:507,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:508,1
    - Dst: SymCryptCcmInit
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:510,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:514,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:515,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:516,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:517,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:518,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:519,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:520,1
    - Dst: SymCryptCcmDecryptPart
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:525,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:531,1
    - Dst: SymCryptCcmDecryptFinal
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:531,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:533,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:534,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:536,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:536,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:536,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 542
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 542
    functionName: cryptofuzz::module::SymCrypt_detail::AES_CCM_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetSize
    - modifier::GetPtr
    - SymCryptCcmValidateParameters
    - SymCryptAesExpandKey
    - component::Cleartext
    - SymCryptCcmDecryptPart
    - aad::GetSize
    - Buffer
    - SymCryptCcmInit
    - CF_CHECK_EQ
    - SymCryptCcmDecryptFinal
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - tag::GetSize
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - tag::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> AES_CCM_Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:546,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:546,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:561,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:561,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:562,1
    - Dst: SymCryptGcmValidateParameters
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:562,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:564,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:565,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:566,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:567,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:573,1
    - Dst: SymCryptGcmExpandKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:573,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:576,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:577,1
    - Dst: SymCryptGcmInit
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:579,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:582,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:583,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:586,1
    - Dst: SymCryptGcmAuthPart
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:588,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:592,1
    - Dst: SymCryptGcmDecryptPart
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:597,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:603,1
    - Dst: SymCryptGcmDecryptFinal
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:603,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:605,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:606,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:608,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:608,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:608,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 614
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 614
    functionName: cryptofuzz::module::SymCrypt_detail::AES_GCM_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetSize
    - SymCryptGcmValidateParameters
    - SymCryptGcmAuthPart
    - modifier::GetPtr
    - SymCryptGcmExpandKey
    - SymCryptGcmDecryptPart
    - component::Cleartext
    - aad::GetSize
    - Buffer
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - tag::GetSize
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - SymCryptGcmDecryptFinal
    - tag::GetPtr
    - SymCryptGcmInit
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> AES_GCM_Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:624,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:624,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:633,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:633,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:634,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:635,1
    - Dst: SymCryptChaCha20Init
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:635,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:637,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:638,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:639,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:640,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:642,1
    - Dst: SymCryptChaCha20Crypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:647,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:656,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:656,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - ' in'
    - ' key'
    - ' iv'
    - ' modifier'
    - maxOutSize
    argTypes:
    - Buffer
    - component::SymmetricKey
    - component::SymmetricIV
    - Buffer
    - size_t
    constantsTouched: []
    func_position:
      end: 662
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 662
    functionName: cryptofuzz::module::SymCrypt_detail::ChaCha20
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - cryptofuzz::util::malloc
    - SymCryptChaCha20Init
    - CF_CHECK_EQ
    - SymCryptChaCha20Crypt
    - GetPtr
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - Buffer
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> ChaCha20(\n            const Buffer& in,\n            const
      component::SymmetricKey& key,\n            const component::SymmetricIV& iv,\n
      \           const Buffer& modifier,\n            const size_t maxOutSize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:676,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:676,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:677,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:678,1
    - Dst: SymCryptRc4Init
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:678,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:680,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:681,1
    - Dst: SymCryptRc4Crypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:685,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:687,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:689,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:692,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:692,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ' in'
    - ' key'
    - maxOutSize
    argTypes:
    - Buffer
    - component::SymmetricKey
    - size_t
    constantsTouched: []
    func_position:
      end: 698
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 698
    functionName: cryptofuzz::module::SymCrypt_detail::RC4
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - CF_CHECK_EQ
    - cryptofuzz::util::free
    - GetPtr
    - SymCryptRc4Init
    - SymCryptRc4Crypt
    - CF_CHECK_GTE
    - Buffer
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> RC4(\n            const Buffer& in,\n            const
      component::SymmetricKey& key,\n            const size_t maxOutSize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:709,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:709,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:718,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:718,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:719,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:720,1
    - Dst: SymCryptXtsAesExpandKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:720,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:722,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:723,1
    - Dst: SymCryptXtsAesEncrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:728,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:730,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:732,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:734,1
    - Dst: SymCryptXtsAesDecrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:736,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:738,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:740,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:742,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ' in'
    - ' key'
    - maxOutSize
    - encrypt
    argTypes:
    - Buffer
    - component::SymmetricKey
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 752
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 752
    functionName: cryptofuzz::module::SymCrypt_detail::AES_XTS
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - CF_CHECK_EQ
    - SymCryptXtsAesExpandKey
    - GetPtr
    - cryptofuzz::util::free
    - SymCryptXtsAesEncrypt
    - CF_CHECK_GTE
    - SymCryptXtsAesDecrypt
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> AES_XTS(\n            const Buffer& in,\n            const
      component::SymmetricKey& key,\n            const size_t maxOutSize,\n            const
      bool encrypt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:769,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:769,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:770,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:770,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:771,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:772,1
    - Dst: SYMCRYPT_BLOCKCIPHER*::expandKeyFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:772,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:774,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:775,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:776,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:776,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:777,1
    - Dst: SymCryptEcbEncrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:782,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:785,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:787,1
    - Dst: SymCryptEcbDecrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:789,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:792,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:794,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:798,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:798,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:801,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - cipherType
    - ' in'
    - ' key'
    - maxOutSize
    - encrypt
    argTypes:
    - component::SymmetricCipherType
    - Buffer
    - component::SymmetricKey
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 805
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 805
    functionName: cryptofuzz::module::SymCrypt_detail::ECB
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - SYMCRYPT_BLOCKCIPHER*::expandKeyFunc
    - CF_CHECK_EQ
    - SymCryptEcbEncrypt
    - GetPtr
    - CF_CHECK_NE
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - Buffer
    - SymCryptEcbDecrypt
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> ECB(\n            const component::SymmetricCipherType
      cipherType,\n            const Buffer& in,\n            const component::SymmetricKey&
      key,\n            const size_t maxOutSize,\n            const bool encrypt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:825,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:825,1
    - Dst: cryptofuzz::util::Pkcs7Pad
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:827,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:827,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:829,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:831,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:831,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:832,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:832,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:833,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:834,1
    - Dst: SYMCRYPT_BLOCKCIPHER*::expandKeyFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:834,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:836,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:837,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:838,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:838,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:839,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:840,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:841,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:841,1
    - Dst: SymCryptCbcEncrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:846,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:850,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:852,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:853,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:853,1
    - Dst: SymCryptCbcDecrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:855,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:859,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:861,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:863,1
    - Dst: cryptofuzz::util::Pkcs7Unpad
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:863,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:863,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:863,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:864,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:864,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:868,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:869,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 6
    argNames:
    - cipherType
    - ' in'
    - ' key'
    - ' iv'
    - maxOutSize
    - encrypt
    argTypes:
    - component::SymmetricCipherType
    - Buffer
    - component::SymmetricKey
    - component::SymmetricIV
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 873
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 873
    functionName: cryptofuzz::module::SymCrypt_detail::CBC
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
    - GetSize
    - std::vector<uint8_t>
    - SymCryptCbcEncrypt
    - GetPtr
    - Buffer
    - cryptofuzz::util::Pkcs7Pad
    - std::vector::size
    - std::vector::data
    - SYMCRYPT_BLOCKCIPHER*::expandKeyFunc
    - CF_CHECK_EQ
    - std::optional::size
    - memcpy
    - SymCryptCbcDecrypt
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - cryptofuzz::util::malloc
    - CF_CHECK_NE
    - cryptofuzz::util::Pkcs7Unpad
    - Get
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> CBC(\n            const component::SymmetricCipherType
      cipherType,\n            const Buffer& in,\n            const component::SymmetricKey&
      key,\n            const component::SymmetricIV& iv,\n            const size_t
      maxOutSize,\n            const bool encrypt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:892,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:892,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:893,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:893,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:894,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:894,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:895,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:896,1
    - Dst: SYMCRYPT_BLOCKCIPHER*::expandKeyFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:896,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:898,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:899,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:900,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:900,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:901,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:902,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:903,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:903,1
    - Dst: SymCryptCfbEncrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:908,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:913,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:915,1
    - Dst: SymCryptCfbDecrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:917,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:922,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:924,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:928,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:928,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:931,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:932,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 6
    argNames:
    - cipherType
    - ' in'
    - ' key'
    - ' iv'
    - maxOutSize
    - encrypt
    argTypes:
    - component::SymmetricCipherType
    - Buffer
    - component::SymmetricKey
    - component::SymmetricIV
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 936
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 936
    functionName: cryptofuzz::module::SymCrypt_detail::CFB
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - SymCryptCfbDecrypt
    - SymCryptCfbEncrypt
    - cryptofuzz::util::malloc
    - SYMCRYPT_BLOCKCIPHER*::expandKeyFunc
    - CF_CHECK_EQ
    - memcpy
    - GetPtr
    - CF_CHECK_NE
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - Buffer
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> CFB(\n            const component::SymmetricCipherType
      cipherType,\n            const Buffer& in,\n            const component::SymmetricKey&
      key,\n            const component::SymmetricIV& iv,\n            const size_t
      maxOutSize,\n            const bool encrypt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:945,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:946,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:947,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:948,1
    - Dst: cryptofuzz::module::SymCrypt_detail::AES_CCM_Encrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:949,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:950,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:951,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:952,1
    - Dst: cryptofuzz::module::SymCrypt_detail::AES_GCM_Encrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:953,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:955,1
    - Dst: cryptofuzz::module::SymCrypt_detail::ChaCha20
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:956,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:957,1
    - Dst: cryptofuzz::module::SymCrypt_detail::RC4
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:958,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:959,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:960,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:961,1
    - Dst: cryptofuzz::module::SymCrypt_detail::AES_XTS
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:962,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:964,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:964,1
    - Dst: cryptofuzz::module::SymCrypt_detail::ECB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:965,1
    - Dst: cryptofuzz::repository::IsCFB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:966,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:966,1
    - Dst: cryptofuzz::module::SymCrypt_detail::CFB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:967,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:968,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:968,1
    - Dst: cryptofuzz::module::SymCrypt_detail::CBC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:969,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 975
      start: 940
    functionDepth: 3
    functionLinenumber: 940
    functionLinenumberEnd: 975
    functionName: cryptofuzz::module::SymCrypt::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::IsECB
    - cipher::cipherType::Get
    - cryptofuzz::module::SymCrypt_detail::ECB
    - cryptofuzz::module::SymCrypt_detail::ChaCha20
    - cryptofuzz::module::SymCrypt_detail::CBC
    - cryptofuzz::repository::IsCBC
    - cryptofuzz::module::SymCrypt_detail::CFB
    - cryptofuzz::module::SymCrypt_detail::RC4
    - cryptofuzz::module::SymCrypt_detail::AES_GCM_Encrypt
    - cryptofuzz::repository::IsCFB
    - cryptofuzz::module::SymCrypt_detail::AES_XTS
    - CF_CIPHER
    - cryptofuzz::module::SymCrypt_detail::AES_CCM_Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> SymCrypt::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:982,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:983,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:984,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:985,1
    - Dst: cryptofuzz::module::SymCrypt_detail::AES_CCM_Decrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:986,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:987,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:988,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:989,1
    - Dst: cryptofuzz::module::SymCrypt_detail::AES_GCM_Decrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:990,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:991,1
    - Dst: cryptofuzz::module::SymCrypt_detail::ChaCha20
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:992,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:993,1
    - Dst: cryptofuzz::module::SymCrypt_detail::RC4
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:994,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:995,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:996,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:997,1
    - Dst: cryptofuzz::module::SymCrypt_detail::AES_XTS
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:998,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1000,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1000,1
    - Dst: cryptofuzz::module::SymCrypt_detail::ECB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1001,1
    - Dst: cryptofuzz::repository::IsCFB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1002,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1002,1
    - Dst: cryptofuzz::module::SymCrypt_detail::CFB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1003,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1004,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1004,1
    - Dst: cryptofuzz::module::SymCrypt_detail::CBC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1010
      start: 977
    functionDepth: 3
    functionLinenumber: 977
    functionLinenumberEnd: 1010
    functionName: cryptofuzz::module::SymCrypt::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::IsECB
    - cipher::cipherType::Get
    - cryptofuzz::module::SymCrypt_detail::AES_CCM_Decrypt
    - cryptofuzz::module::SymCrypt_detail::ECB
    - cryptofuzz::module::SymCrypt_detail::ChaCha20
    - cryptofuzz::module::SymCrypt_detail::CBC
    - cryptofuzz::repository::IsCBC
    - cryptofuzz::module::SymCrypt_detail::CFB
    - cryptofuzz::module::SymCrypt_detail::RC4
    - cryptofuzz::module::SymCrypt_detail::AES_GCM_Decrypt
    - cryptofuzz::repository::IsCFB
    - cryptofuzz::module::SymCrypt_detail::AES_XTS
    - CF_CIPHER
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> SymCrypt::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1018,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1018,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1019,1
    - Dst: SymCryptHkdf
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1019,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1021,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1022,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1023,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1024,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1025,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1026,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1030,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 1035
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1035
    functionName: cryptofuzz::module::SymCrypt::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - SymCryptHkdf
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - info::GetSize
    - info::GetPtr
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> SymCrypt::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1043,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1043,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1048,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1050,1
    - Dst: SymCryptPbkdf2
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1050,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1052,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1053,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1054,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1055,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1060,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 1065
      start: 1037
    functionDepth: 2
    functionLinenumber: 1037
    functionLinenumberEnd: 1065
    functionName: cryptofuzz::module::SymCrypt::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
    - cryptofuzz::util::free
    - SymCryptPbkdf2
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> SymCrypt::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1072,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1072,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1072,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1074,1
    - Dst: SymCryptTlsPrf1_1
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1074,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1075,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1076,1
    - Dst: seed::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1079,1
    - Dst: seed::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1080,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1084,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 1091
      start: 1067
    functionDepth: 2
    functionLinenumber: 1067
    functionLinenumberEnd: 1091
    functionName: cryptofuzz::module::SymCrypt::OpKDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - secret::GetSize
    - secret::GetPtr
    - SymCryptTlsPrf1_1
    - CF_CHECK_EQ
    - digestType::Get
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_DIGEST
    - cryptofuzz::util::free
    - seed::GetSize
    - seed::GetPtr
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> SymCrypt::OpKDF_TLS1_PRF(operation::KDF_TLS1_PRF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1099,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1100,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1101,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1101,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1106,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1108,1
    - Dst: SymCryptSp800_108
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1108,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1110,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1111,1
    - Dst: label::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1112,1
    - Dst: label::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1113,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1114,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1115,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1119,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SP_800_108
    constantsTouched: []
    func_position:
      end: 1125
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1125
    functionName: cryptofuzz::module::SymCrypt::OpKDF_SP_800_108
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - secret::GetSize
    - secret::GetPtr
    - salt::GetPtr
    - SymCryptSp800_108
    - CF_CHECK_EQ
    - label::GetSize
    - label::GetPtr
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> SymCrypt::OpKDF_SP_800_108(operation::KDF_SP_800_108&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1131,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1131,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1132,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1135,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1137,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1138,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1138,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - s
    - out
    - outSize
    argTypes:
    - std::string
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1141
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1141
    functionName: cryptofuzz::module::SymCrypt_detail::EncodeBignum
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - boost::multiprecision::export_bits
    - std::back_inserter
    - memset
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool EncodeBignum(const std::string s, uint8_t* out, const size_t outSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1147,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 1152
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1152
    functionName: cryptofuzz::module::SymCrypt_detail::toString
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const boost::multiprecision::cpp_int& i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1156,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1158,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1160,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1162,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1164,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1167,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1170,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1172,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - curveID
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1179
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1179
    functionName: cryptofuzz::module::SymCrypt_detail::toCurveParams
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    linkageType: ''
    returnType: SYMCRYPT_ECURVE_PARAMS
    signature: SYMCRYPT_ECURVE_PARAMS * toCurveParams(const uint64_t curveID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1190,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1190,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1196,1
    - Dst: cryptofuzz::module::SymCrypt_detail::toCurveParams
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1196,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1196,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1197,1
    - Dst: SymCryptEcurveAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1197,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1198,1
    - Dst: SymCryptEckeyAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1198,1
    - Dst: SymCryptEckeySizeofPrivateKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1201,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1204,1
    - Dst: cryptofuzz::module::SymCrypt_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1204,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1205,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1206,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1210,1
    - Dst: SymCryptEckeySetValue
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1210,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1211,1
    - Dst: SymCryptEckeySizeofPublicKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1218,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1219,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1223,1
    - Dst: SymCryptEckeyGetValue
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1223,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1226,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1233,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1233,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1233,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1234,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1234,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1234,1
    - Dst: cryptofuzz::module::SymCrypt_detail::toString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1236,1
    - Dst: cryptofuzz::module::SymCrypt_detail::toString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1236,1
    - Dst: SymCryptEckeyFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1242,1
    - Dst: SymCryptEcurveFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 1252
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1252
    functionName: cryptofuzz::module::SymCrypt::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - boost::multiprecision::import_bits
    - cryptofuzz::module::SymCrypt_detail::toString
    - SymCryptEckeySizeofPublicKey
    - SymCryptEckeyFree
    - SymCryptEckeySetValue
    - CF_ASSERT
    - priv::ToTrimmedString
    - SymCryptEckeyAllocate
    - curveType::Get
    - cryptofuzz::module::SymCrypt_detail::EncodeBignum
    - modifier::GetPtr
    - SymCryptEckeySizeofPrivateKey
    - SymCryptEckeyGetValue
    - std::vector::begin
    - std::vector::data
    - SymCryptEcurveAllocate
    - CF_CHECK_EQ
    - cryptofuzz::module::SymCrypt_detail::toCurveParams
    - std::vector::end
    - SymCryptEcurveFree
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> SymCrypt::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1256,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1256,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1265,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1265,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1266,1
    - Dst: cryptofuzz::module::SymCrypt_detail::toCurveParams
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1266,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1266,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1267,1
    - Dst: SymCryptEcurveAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1267,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1268,1
    - Dst: SymCryptEckeyAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1268,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1269,1
    - Dst: SymCryptIntAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1269,1
    - Dst: SymCryptEcurveDigitsofScalarMultiplier
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1269,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1271,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1271,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1272,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1273,1
    - Dst: SymCryptIntSetValue
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1273,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1273,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1273,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1276,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1276,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1277,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1280,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1280,1
    - Dst: SYMCRYPT_HASH*::initFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1283,1
    - Dst: SYMCRYPT_HASH*::appendFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1284,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1284,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1284,1
    - Dst: SYMCRYPT_HASH*::resultFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1286,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1288,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1290,1
    - Dst: SymCryptEckeySizeofPrivateKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1294,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1297,1
    - Dst: cryptofuzz::module::SymCrypt_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1297,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1298,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1299,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1303,1
    - Dst: SymCryptEckeySetValue
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1303,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1304,1
    - Dst: SymCryptEcurveSizeofScalarMultiplier
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1311,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1315,1
    - Dst: SymCryptEcDsaSignEx
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1315,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1317,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1318,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1322,1
    - Dst: SymCryptEckeySizeofPublicKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1325,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1326,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1331,1
    - Dst: SymCryptEckeyGetValue
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1331,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1334,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1338,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1338,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1338,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1339,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1339,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1339,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1340,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1340,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1340,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1341,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1341,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1341,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1343,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1343,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1343,1
    - Dst: SymCryptEckeyFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1350,1
    - Dst: SymCryptEcurveFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1353,1
    - Dst: SymCryptIntFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1362
      start: 1254
    functionDepth: 2
    functionLinenumber: 1254
    functionLinenumberEnd: 1362
    functionName: cryptofuzz::module::SymCrypt::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - SymCryptEcurveSizeofScalarMultiplier
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
    - SymCryptEckeySizeofPublicKey
    - cleartext::GetPtr
    - SymCryptIntSetValue
    - CF_DIGEST
    - SymCryptEckeyFree
    - SymCryptEckeySetValue
    - nonce::ToTrimmedString
    - CF_ASSERT
    - priv::ToTrimmedString
    - SymCryptEckeyAllocate
    - curveType::Get
    - SYMCRYPT_HASH*::appendFunc
    - cryptofuzz::module::SymCrypt_detail::EncodeBignum
    - SymCryptEcDsaSignEx
    - modifier::GetPtr
    - std::vector<uint8_t>
    - SymCryptEckeySizeofPrivateKey
    - SymCryptEcurveDigitsofScalarMultiplier
    - UseSpecifiedNonce
    - cryptofuzz::util::BinToDec
    - auto::size
    - SymCryptEckeyGetValue
    - curveType::Is
    - std::vector::data
    - cleartext::Get
    - std::vector::size
    - SymCryptIntFree
    - CF_ECC_CURVE
    - SymCryptEcurveAllocate
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - auto::data
    - cryptofuzz::util::free
    - cryptofuzz::module::SymCrypt_detail::toCurveParams
    - SymCryptIntAllocate
    - SymCryptEcurveFree
    - SYMCRYPT_HASH*::initFunc
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - cleartext::GetSize
    - SYMCRYPT_HASH*::resultFunc
    - digestType::Is
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> SymCrypt::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1366,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1366,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1374,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1374,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1375,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1378,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1378,1
    - Dst: SYMCRYPT_HASH*::initFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1381,1
    - Dst: SYMCRYPT_HASH*::appendFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1382,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1382,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1382,1
    - Dst: SYMCRYPT_HASH*::resultFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1384,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1386,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1388,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1392,1
    - Dst: cryptofuzz::module::SymCrypt_detail::toCurveParams
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1392,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1392,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1393,1
    - Dst: SymCryptEcurveAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1393,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1394,1
    - Dst: SymCryptEckeyAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1394,1
    - Dst: SymCryptEckeySizeofPublicKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1397,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1398,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1400,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1400,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1401,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1401,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1402,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1404,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1404,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1405,1
    - Dst: cryptofuzz::util::Append
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1407,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1409,1
    - Dst: SymCryptEckeySetValue
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1409,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1411,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1411,1
    - Dst: SymCryptEckeySizeofPublicKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1417,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1418,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1420,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1420,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1421,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1423,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1423,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1424,1
    - Dst: cryptofuzz::util::Append
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1426,1
    - Dst: SymCryptEcDsaVerify
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1428,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1430,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1431,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1432,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1433,1
    - Dst: SymCryptEckeyFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1448,1
    - Dst: SymCryptEcurveFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1455
      start: 1364
    functionDepth: 2
    functionLinenumber: 1364
    functionLinenumberEnd: 1455
    functionName: cryptofuzz::module::SymCrypt::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::first::ToTrimmedString
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
    - SymCryptEckeySizeofPublicKey
    - cleartext::GetPtr
    - SymCryptEckeyFree
    - CF_DIGEST
    - SymCryptEckeySetValue
    - CF_ASSERT
    - SymCryptEckeyAllocate
    - curveType::Get
    - SYMCRYPT_HASH*::appendFunc
    - modifier::GetPtr
    - std::vector<uint8_t>
    - SymCryptEcDsaVerify
    - auto::size
    - std::vector::data
    - cleartext::Get
    - std::vector::size
    - signature::signature::first::ToTrimmedString
    - SymCryptEcurveAllocate
    - CF_CHECK_EQ
    - auto::data
    - cryptofuzz::util::free
    - cryptofuzz::module::SymCrypt_detail::toCurveParams
    - signature::pub::second::ToTrimmedString
    - signature::signature::second::ToTrimmedString
    - SymCryptEcurveFree
    - SYMCRYPT_HASH*::initFunc
    - cryptofuzz::util::DecToBin
    - cleartext::GetSize
    - SYMCRYPT_HASH*::resultFunc
    - digestType::Is
    - CF_CHECK_NE
    - cryptofuzz::util::Append
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> SymCrypt::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::Golang::Golang
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Golang::Golang(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Golang_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/golang/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/golang/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Golang::getResult
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - Golang_Cryptofuzz_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string Golang::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Golang::getResult
      Src: /src/cryptofuzz/modules/golang/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/golang/module.cpp:27,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/golang/module.cpp:32,1
    - Dst: cryptofuzz::module::Golang::getResult
      Src: /src/cryptofuzz/modules/golang/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/golang/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Golang::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::Golang::getResult
    - abort
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Golang::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Golang::getJsonResult
      Src: /src/cryptofuzz/modules/golang/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/golang/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Golang::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - T
    - cryptofuzz::module::Golang::getJsonResult
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Golang::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/golang/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/golang/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/golang/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/golang/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/golang/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:55,1
    - Dst: Golang_Cryptofuzz_OpDigest
      Src: /src/cryptofuzz/modules/golang/module.cpp:56,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:56,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::Golang::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - Golang_Cryptofuzz_OpDigest
    - toGoSlice
    - ToJSON
    - cryptofuzz::module::Golang::getResultAs
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Golang::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:62,1
    - Dst: Golang_Cryptofuzz_OpHMAC
      Src: /src/cryptofuzz/modules/golang/module.cpp:63,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:63,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::Golang::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - ToJSON
    - Golang_Cryptofuzz_OpHMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Golang::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:69,1
    - Dst: Golang_Cryptofuzz_OpSymmetricEncrypt
      Src: /src/cryptofuzz/modules/golang/module.cpp:70,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:70,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:72,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/golang/module.cpp:77,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/golang/module.cpp:78,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/golang/module.cpp:78,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/golang/module.cpp:78,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/golang/module.cpp:79,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/golang/module.cpp:79,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/golang/module.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: cryptofuzz::module::Golang::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - auto::GetPtr
    - cleartext::GetSize
    - Golang_Cryptofuzz_OpSymmetricEncrypt
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - cryptofuzz::component::Ciphertext::Ciphertext
    - Buffer
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Golang::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:86,1
    - Dst: Golang_Cryptofuzz_OpSymmetricDecrypt
      Src: /src/cryptofuzz/modules/golang/module.cpp:87,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:87,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: cryptofuzz::module::Golang::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - ToJSON
    - Golang_Cryptofuzz_OpSymmetricDecrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Golang::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:93,1
    - Dst: Golang_Cryptofuzz_OpCMAC
      Src: /src/cryptofuzz/modules/golang/module.cpp:94,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:94,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::Golang::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - ToJSON
    - Golang_Cryptofuzz_OpCMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Golang::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:100,1
    - Dst: Golang_Cryptofuzz_OpKDF_SCRYPT
      Src: /src/cryptofuzz/modules/golang/module.cpp:101,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:101,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::Golang::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - ToJSON
    - Golang_Cryptofuzz_OpKDF_SCRYPT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Golang::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:107,1
    - Dst: Golang_Cryptofuzz_OpKDF_HKDF
      Src: /src/cryptofuzz/modules/golang/module.cpp:108,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:108,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: cryptofuzz::module::Golang::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - Golang_Cryptofuzz_OpKDF_HKDF
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Golang::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:114,1
    - Dst: Golang_Cryptofuzz_OpKDF_PBKDF2
      Src: /src/cryptofuzz/modules/golang/module.cpp:115,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:115,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::Golang::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - cryptofuzz::module::Golang::getResultAs
    - Golang_Cryptofuzz_OpKDF_PBKDF2
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Golang::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:121,1
    - Dst: Golang_Cryptofuzz_OpKDF_ARGON2
      Src: /src/cryptofuzz/modules/golang/module.cpp:122,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:122,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: cryptofuzz::module::Golang::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - ToJSON
    - Golang_Cryptofuzz_OpKDF_ARGON2
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Golang::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:128,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/golang/module.cpp:129,1
    - Dst: Golang_Cryptofuzz_OpECC_GenerateKeyPair
      Src: /src/cryptofuzz/modules/golang/module.cpp:130,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:130,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::Golang::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - Golang_Cryptofuzz_OpECC_GenerateKeyPair
    - ToJSON
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> Golang::OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:136,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/golang/module.cpp:137,1
    - Dst: Golang_Cryptofuzz_OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/golang/module.cpp:138,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:138,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::Golang::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - auto::dump
    - Golang_Cryptofuzz_OpECC_PrivateToPublic
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> Golang::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:144,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/golang/module.cpp:145,1
    - Dst: Golang_Cryptofuzz_OpECDSA_Verify
      Src: /src/cryptofuzz/modules/golang/module.cpp:146,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:146,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: cryptofuzz::module::Golang::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - Golang_Cryptofuzz_OpECDSA_Verify
    - auto::dump
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Golang::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/golang/module.cpp:152,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:156,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/golang/module.cpp:157,1
    - Dst: Golang_Cryptofuzz_OpECDSA_Sign
      Src: /src/cryptofuzz/modules/golang/module.cpp:158,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:158,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: cryptofuzz::module::Golang::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - Golang_Cryptofuzz_OpECDSA_Sign
    - auto::dump
    - UseRandomNonce
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> Golang::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:164,1
    - Dst: Golang_Cryptofuzz_OpBignumCalc
      Src: /src/cryptofuzz/modules/golang/module.cpp:165,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:165,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: cryptofuzz::module::Golang::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - ToJSON
    - Golang_Cryptofuzz_OpBignumCalc
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Golang::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:171,1
    - Dst: Golang_Cryptofuzz_OpECC_Point_Add
      Src: /src/cryptofuzz/modules/golang/module.cpp:172,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:172,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: cryptofuzz::module::Golang::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - cryptofuzz::module::Golang::getResultAs
    - Golang_Cryptofuzz_OpECC_Point_Add
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Golang::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:178,1
    - Dst: Golang_Cryptofuzz_OpECC_Point_Mul
      Src: /src/cryptofuzz/modules/golang/module.cpp:179,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:179,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: cryptofuzz::module::Golang::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - ToJSON
    - Golang_Cryptofuzz_OpECC_Point_Mul
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Golang::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:185,1
    - Dst: Golang_Cryptofuzz_OpECC_Point_Dbl
      Src: /src/cryptofuzz/modules/golang/module.cpp:186,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:186,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: cryptofuzz::module::Golang::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - cryptofuzz::module::Golang::getResultAs
    - Golang_Cryptofuzz_OpECC_Point_Dbl
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Golang::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:192,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/golang/module.cpp:193,1
    - Dst: Golang_Cryptofuzz_OpDSA_Verify
      Src: /src/cryptofuzz/modules/golang/module.cpp:194,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:194,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_Verify
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: cryptofuzz::module::Golang::OpDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Golang::getResultAs
    - Golang_Cryptofuzz_OpDSA_Verify
    - toGoSlice
    - auto::dump
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Golang::OpDSA_Verify(operation::DSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/golang/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:29,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:29,1
    - Dst: size
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:29,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:29,1
    - Dst: size
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: cryptofuzz::module::SolidityMath_detail::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: cryptofuzz::module::SolidityMath_detail::getGas
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getGas(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToBin
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:43,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:44,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:46,1
    - Dst: end
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:46,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:46,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' val'
    argTypes:
    - std::vector<uint8_t>
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::SolidityMath_detail::append
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - end
    - ToBin
    - insert
    - CF_CHECK_NE
    - auto::end
    linkageType: ''
    returnType: bool
    signature: bool append(std::vector<uint8_t>& out, const component::Bignum& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:57,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:57,1
    - Dst: data
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:57,1
    - Dst: size
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:57,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:59,1
    - Dst: end
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:59,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:59,1
    - Dst: end
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' fourbyte'
    argTypes:
    - std::vector<uint8_t>
    - std::array<uint8_t, 4>
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::SolidityMath_detail::append
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - data
    - end
    - memcpy
    - insert
    - size
    - begin
    linkageType: ''
    returnType: void
    signature: void append(std::vector<uint8_t>& out, const std::array<uint8_t, 4>&
      fourbyte)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SolidityMath_GetResult
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:63,1
    - Dst: free
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: cryptofuzz::module::SolidityMath_detail::getResult
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - SolidityMath_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string getResult(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SolidityMath_detail::getResult
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:70,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:71,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:76,1
    - Dst: cryptofuzz::module::SolidityMath_detail::getResult
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:76,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::SolidityMath_detail::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - abort
    - cryptofuzz::module::SolidityMath_detail::getResult
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> getJsonResult(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SolidityMath_detail::getJsonResult
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:85,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:88,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:92,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:94,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:94,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:96,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:96,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: cryptofuzz::module::SolidityMath_detail::parseInt
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::back_inserter
    - auto::get
    - boost::algorithm::unhex
    - abort
    - cryptofuzz::util::BinToDec
    - CF_ASSERT
    - cryptofuzz::module::SolidityMath_detail::getJsonResult
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> parseInt(const bool mustSucceed =
      false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:104,1
    - Dst: push_back
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::SolidityMath::SolidityMath
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void SolidityMath::SolidityMath(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:113,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:113,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:116,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:127,1
    - Dst: hashes::at
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:132,1
    - Dst: cryptofuzz::module::SolidityMath_detail::append
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:133,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:136,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:137,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:137,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:142,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:143,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:143,1
    - Dst: cryptofuzz::repository::CalcOpToNumParams
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:145,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:148,1
    - Dst: cryptofuzz::module::SolidityMath_detail::append
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:148,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:151,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:152,1
    - Dst: cryptofuzz::module::SolidityMath_detail::append
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:152,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:154,1
    - Dst: cryptofuzz::module::SolidityMath_detail::append
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:154,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:158,1
    - Dst: cryptofuzz::module::SolidityMath_detail::append
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:158,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:161,1
    - Dst: cryptofuzz::module::SolidityMath_detail::append
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:161,1
    - Dst: cryptofuzz::module::SolidityMath_detail::getGas
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:165,1
    - Dst: SolidityMath_Call
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:167,1
    - Dst: cryptofuzz::module::SolidityMath_detail::toGoSlice
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:168,1
    - Dst: cryptofuzz::module::SolidityMath_detail::toGoSlice
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:169,1
    - Dst: SolidityMath_detail::parseInt<64>
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:176,1
    - Dst: SolidityMath_detail::parseInt<32>
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:178,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 185
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 185
    functionName: cryptofuzz::module::SolidityMath::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::SolidityMath_detail::append
    - CF_CHECK_TRUE
    - CF_CHECK_EQ
    - cryptofuzz::module::SolidityMath_detail::toGoSlice
    - SolidityMath_detail::parseInt<64>
    - SolidityMath_detail::parseInt<32>
    - bn1::ToTrimmedString
    - calcOp::Get
    - hashes::at
    - cryptofuzz::repository::CalcOpToNumParams
    - SolidityMath_Call
    - bn0::ToTrimmedString
    - cryptofuzz::module::SolidityMath_detail::getGas
    - modifier::GetSize
    - Datasource::Get
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> SolidityMath::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: cryptofuzz::module::substrate_bn::substrate_bn
    functionSourceFile: /src/cryptofuzz/modules/substrate-bn/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void substrate_bn::substrate_bn(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:40,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:40,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:47,1
    - Dst: g1::first::IsLessThan
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:47,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:48,1
    - Dst: g1::second::IsLessThan
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:48,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:50,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:50,1
    - Dst: g1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:50,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:51,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:51,1
    - Dst: g1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:51,1
    - Dst: cryptofuzz_substrate_bn_g1_on_curve
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:53,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:54,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::substrate_bn::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/substrate-bn/module.cpp
    functionUses: 0
    functionsReached:
    - g1::second::IsLessThan
    - g1::first::IsLessThan
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - data
    - g1::second::ToTrimmedString
    - g1::first::ToTrimmedString
    - cryptofuzz_substrate_bn_g1_on_curve
    - std::optional::data
    - CF_CHECK_NE
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> substrate_bn::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:64,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:64,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:71,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:71,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:71,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:72,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:72,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:72,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:73,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:73,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:73,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:74,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:74,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:74,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:76,1
    - Dst: cryptofuzz_substrate_bn_g1_add
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:76,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:77,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:78,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:79,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:80,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:81,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:82,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:85,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:85,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:85,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:86,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:86,1
    - Dst: size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 91
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 91
    functionName: cryptofuzz::module::substrate_bn::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/substrate-bn/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - cryptofuzz_substrate_bn_g1_add
    - std::array::data
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - data
    - std::optional::data
    - CF_CHECK_NE
    - std::array::size
    - cryptofuzz::util::BinToDec
    - size
    - b::second::ToTrimmedString
    - a::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> substrate_bn::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:96,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:96,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:103,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:103,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:103,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:104,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:104,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:104,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:105,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:105,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:105,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:107,1
    - Dst: cryptofuzz_substrate_bn_g1_mul
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:107,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:108,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:109,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:110,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:111,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:112,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:115,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:115,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:115,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:116,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:116,1
    - Dst: size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: cryptofuzz::module::substrate_bn::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/substrate-bn/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - b::ToTrimmedString
    - CF_CHECK_EQ
    - data
    - std::optional::data
    - cryptofuzz_substrate_bn_g1_mul
    - CF_CHECK_NE
    - std::array::size
    - cryptofuzz::util::BinToDec
    - size
    - a::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> substrate_bn::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:126,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:126,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:133,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:133,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:133,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:134,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:134,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:134,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:136,1
    - Dst: cryptofuzz_substrate_bn_g1_neg
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:136,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:137,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:138,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:139,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:140,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:143,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:143,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:143,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:144,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:144,1
    - Dst: size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: cryptofuzz::module::substrate_bn::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/substrate-bn/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - data
    - std::optional::data
    - CF_CHECK_NE
    - std::array::size
    - cryptofuzz_substrate_bn_g1_neg
    - cryptofuzz::util::BinToDec
    - size
    - a::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> substrate_bn::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:155,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:155,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:165,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:165,1
    - Dst: g1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:165,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:166,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:166,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:166,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:166,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:168,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:168,1
    - Dst: g1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:168,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:169,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:169,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:169,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:169,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:171,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:171,1
    - Dst: g2::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:171,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:172,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:172,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:172,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:172,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:174,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:174,1
    - Dst: g2::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:174,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:175,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:175,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:175,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:175,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:177,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:177,1
    - Dst: g2::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:177,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:178,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:178,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:178,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:178,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:180,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:180,1
    - Dst: g2::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:180,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:181,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:181,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:181,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:181,1
    - Dst: cryptofuzz_substrate_bn_batchverify
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:185,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:185,1
    - Dst: bf::c::size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:185,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 191
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 191
    functionName: cryptofuzz::module::substrate_bn::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/substrate-bn/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - g2::second::second::ToTrimmedString
    - std::optional::begin
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - std::vector::insert
    - g1::second::ToTrimmedString
    - g2::first::second::ToTrimmedString
    - g2::second::first::ToTrimmedString
    - g1::first::ToTrimmedString
    - CF_CHECK_NE
    - std::optional::end
    - bf::c::size
    - g2::first::first::ToTrimmedString
    - cryptofuzz_substrate_bn_batchverify
    - std::vector::end
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> substrate_bn::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::prysmaticlabs_hashtree::prysmaticlabs_hashtree
    functionSourceFile: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prysmaticlabs_hashtree::prysmaticlabs_hashtree(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:23,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:23,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:27,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:31,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:31,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:35,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:42,1
    - Dst: sha256_1_sse
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:42,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:42,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:44,1
    - Dst: sha256_1_avx
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:44,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:44,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:46,1
    - Dst: sha256_4_avx
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:46,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:46,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:48,1
    - Dst: sha256_8_avx2
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:48,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:48,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:50,1
    - Dst: sha256_16_avx512
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:50,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:50,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:52,1
    - Dst: sha256_shani
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:52,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:52,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:54,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:57,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:60,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 62
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 62
    functionName: cryptofuzz::module::prysmaticlabs_hashtree::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - sha256_shani
    - modifier::GetPtr
    - sha256_1_sse
    - CF_NORET
    - sha256_16_avx512
    - cleartext::GetSize
    - digestType::Get
    - cleartext::GetPtr
    - sha256_4_avx
    - CF_DIGEST
    - cryptofuzz::util::free
    - CF_UNREACHABLE
    - sha256_1_avx
    - modifier::GetSize
    - Datasource::Get
    - sha256_8_avx2
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> prysmaticlabs_hashtree::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: cryptofuzz::module::nimcrypto::nimcrypto
    functionSourceFile: /src/cryptofuzz/modules/nimcrypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nimcrypto::nimcrypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:18,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:18,1
    - Dst: cryptofuzz_nimcrypto_keccak_224
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:20,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:20,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:20,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:21,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:22,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:23,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:23,1
    - Dst: cryptofuzz_nimcrypto_keccak_256
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:25,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:25,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:25,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:26,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:27,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:28,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:28,1
    - Dst: cryptofuzz_nimcrypto_keccak_384
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:30,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:30,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:30,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:31,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:32,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:33,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:33,1
    - Dst: cryptofuzz_nimcrypto_keccak_512
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:35,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:35,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:35,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:36,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:37,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:38,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:38,1
    - Dst: cryptofuzz_nimcrypto_blake2s_224
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:40,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:40,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:40,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:41,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:42,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:43,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:43,1
    - Dst: cryptofuzz_nimcrypto_blake2s_256
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:45,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:45,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:45,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:46,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:47,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:48,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:48,1
    - Dst: cryptofuzz_nimcrypto_blake2b_384
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:50,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:50,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:50,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:51,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:52,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:53,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:53,1
    - Dst: cryptofuzz_nimcrypto_blake2b_512
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:55,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:55,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:55,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:56,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:57,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:58,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:58,1
    - Dst: cryptofuzz_nimcrypto_ripemd_128
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:60,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:60,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:60,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:61,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:62,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:63,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:63,1
    - Dst: cryptofuzz_nimcrypto_ripemd_160
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:65,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:65,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:65,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:66,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:67,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:68,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:68,1
    - Dst: cryptofuzz_nimcrypto_ripemd_256
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:70,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:70,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:70,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:71,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:72,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:73,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:73,1
    - Dst: cryptofuzz_nimcrypto_ripemd_320
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:75,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:75,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:75,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:76,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:77,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 81
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::nimcrypto::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/nimcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_nimcrypto_ripemd_160
    - generate_Digest
    - cryptofuzz_nimcrypto_keccak_256
    - cryptofuzz_nimcrypto_blake2b_384
    - cryptofuzz_nimcrypto_blake2s_256
    - cryptofuzz_nimcrypto_blake2b_512
    - cryptofuzz_nimcrypto_keccak_512
    - cleartext::GetSize
    - cryptofuzz_nimcrypto_keccak_384
    - cryptofuzz_nimcrypto_blake2s_224
    - cryptofuzz_nimcrypto_ripemd_256
    - digestType::Is
    - cryptofuzz_nimcrypto_ripemd_320
    - cryptofuzz_nimcrypto_ripemd_128
    - cleartext::GetPtr
    - cryptofuzz_nimcrypto_keccak_224
    - CF_DIGEST
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> nimcrypto::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::blst::blst
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst::blst(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:21,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/blst/module.cpp:21,1
    - Dst: end
      Src: /src/cryptofuzz/modules/blst/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::array<uint8_t, Size>
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: cryptofuzz::module::blst_detail::Reverse
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::reverse
    - begin
    linkageType: ''
    returnType: void
    signature: void Reverse(std::array<uint8_t, Size>& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/blst/module.cpp:26,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:26,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/blst/module.cpp:32,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:32,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:32,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::blst_detail::ToArray
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - cryptofuzz::util::DecToBin
    - memcpy
    - auto::data
    - cryptofuzz::module::blst_detail::Reverse
    - ToTrimmedString
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, Size>>
    signature: std::optional<std::array<uint8_t, Size>> ToArray(const component::Bignum&
      bn, const bool reverse = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::ToArray
      Src: /src/cryptofuzz/modules/blst/module.cpp:40,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:46,1
    - Dst: blst_fr_from_uint64
      Src: /src/cryptofuzz/modules/blst/module.cpp:46,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' bn'
    - ' out'
    argTypes:
    - component::Bignum
    - blst_fr
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::blst_detail::To_blst_fr
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::ToArray
    - blst_fr_from_uint64
    - auto::data
    - CF_NORET
    linkageType: ''
    returnType: bool
    signature: bool To_blst_fr(const component::Bignum& bn, blst_fr& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::ToArray
      Src: /src/cryptofuzz/modules/blst/module.cpp:50,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:56,1
    - Dst: blst_fp_from_uint64
      Src: /src/cryptofuzz/modules/blst/module.cpp:56,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' bn'
    - ' out'
    argTypes:
    - component::Bignum
    - blst_fp
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::blst_detail::To_blst_fp
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::ToArray
    - blst_fp_from_uint64
    - auto::data
    - CF_NORET
    linkageType: ''
    returnType: bool
    signature: bool To_blst_fp(const component::Bignum& bn, blst_fp& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:60,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bn'
    - ' out'
    argTypes:
    - component::Fp2
    - blst_fp2
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: cryptofuzz::module::blst_detail::To_blst_fp2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_blst_fp
    linkageType: ''
    returnType: bool
    signature: bool To_blst_fp2(const component::Fp2& bn, blst_fp2& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:64,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:65,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:66,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:67,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:68,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:69,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:71,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:72,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:73,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:74,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:75,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:76,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 2
    argNames:
    - ' bn'
    - ' out'
    argTypes:
    - component::Fp12
    - blst_fp12
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::blst_detail::To_blst_fp12
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_blst_fp
    linkageType: ''
    returnType: bool
    signature: bool To_blst_fp12(const component::Fp12& bn, blst_fp12& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_uint64_from_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:81,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:81,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:83,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:84,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - blst_fr
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: cryptofuzz::module::blst_detail::To_component_bignum
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::Reverse
    - blst_uint64_from_fr
    - std::array::data
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum To_component_bignum(const blst_fr& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:89,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:89,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:91,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:92,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - blst_fp
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: cryptofuzz::module::blst_detail::To_component_bignum
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::blst_detail::Reverse
    - std::array::data
    - blst_uint64_from_fp
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum To_component_bignum(const blst_fp& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:97,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:97,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:98,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:100,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:100,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:101,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:104,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:104,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:105,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - blst_fp2
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: cryptofuzz::module::blst_detail::To_component_Fp2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - data
    - blst_uint64_from_fp
    - cryptofuzz::module::blst_detail::Reverse
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::Fp2
    signature: component::Fp2 To_component_Fp2(const blst_fp2& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/blst/module.cpp:109,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: cryptofuzz::module::blst_detail::To_cpp_int
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 5
    functionsReached:
    - cryptofuzz::module::blst_detail::To_cpp_int
    - ToTrimmedString
    linkageType: ''
    returnType: boost::multiprecision::cpp_int
    signature: boost::multiprecision::cpp_int To_cpp_int(const component::Bignum&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/blst/module.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g1'
    - ' ds'
    argTypes:
    - blst_p1_affine
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: cryptofuzz::module::blst_detail::G1::G1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void G1(const blst_p1_affine& g1, fuzzing::datasource::Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: cryptofuzz::module::blst_detail::G1::Get
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: blst_p1_affine
    signature: blst_p1_affine * Get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::G1::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:127,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:129,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:129,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:130,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:130,1
    - Dst: Reverse<>
      Src: /src/cryptofuzz/modules/blst/module.cpp:132,1
    - Dst: Reverse<>
      Src: /src/cryptofuzz/modules/blst/module.cpp:133,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:135,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:135,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:135,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::blst_detail::G1::To_Component_G1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - Reverse<>
    - cryptofuzz::module::blst_detail::G1::Get
    - data
    - blst_uint64_from_fp
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::G1
    signature: component::G1 To_Component_G1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:141,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:141,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:142,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:142,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:143,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:143,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:144,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:144,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:146,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:147,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:148,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:149,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:152,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:152,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:153,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:153,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:154,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:154,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:155,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - blst_p2_affine
    constantsTouched: []
    func_position:
      end: 157
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 157
    functionName: cryptofuzz::module::blst_detail::To_G2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - data
    - blst_uint64_from_fp
    - cryptofuzz::module::blst_detail::Reverse
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::G2
    signature: component::G2 To_G2(const blst_p2_affine& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:162,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:162,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:163,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:165,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:165,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:166,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:168,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:168,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:169,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:171,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:171,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:172,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:174,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:174,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:175,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:177,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:177,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:178,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:180,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:180,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:181,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:183,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:183,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:184,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:186,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:186,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:187,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:189,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:189,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:190,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:192,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:192,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:193,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:195,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:195,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:196,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:199,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:199,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:200,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:200,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:201,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:201,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:202,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:202,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:203,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:203,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:204,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:204,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:205,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:205,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:206,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:206,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:207,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:207,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:208,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:208,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:209,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:209,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:210,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - ' fp12'
    argTypes:
    - blst_fp12
    constantsTouched: []
    func_position:
      end: 212
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 212
    functionName: cryptofuzz::module::blst_detail::To_component_Fp12
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - data
    - blst_uint64_from_fp
    - cryptofuzz::module::blst_detail::Reverse
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::Fp12
    signature: component::Fp12 To_component_Fp12(const blst_fp12& fp12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::ToArray
      Src: /src/cryptofuzz/modules/blst/module.cpp:215,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:221,1
    - Dst: blst_scalar_from_uint64
      Src: /src/cryptofuzz/modules/blst/module.cpp:221,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' bn'
    - ' out'
    argTypes:
    - component::Bignum
    - blst_scalar
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: cryptofuzz::module::blst_detail::To_blst_scalar
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::ToArray
    - blst_scalar_from_uint64
    - auto::data
    - CF_NORET
    linkageType: ''
    returnType: bool
    signature: bool To_blst_scalar(const component::Bignum& bn, blst_scalar& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:231,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' A'
    - ' B'
    argTypes:
    - blst_fp
    - blst_fp
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: cryptofuzz::module::blst_detail::IsLessThan
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_uint64_from_fp
    linkageType: ''
    returnType: bool
    signature: bool IsLessThan(const blst_fp& A, const blst_fp& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/blst/module.cpp:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: cryptofuzz::module::blst_detail::isMultipleOf2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_cpp_int
    linkageType: ''
    returnType: size_t
    signature: size_t isMultipleOf2(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/blst/module.cpp:261,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g2
    argTypes:
    - blst_p2_affine*
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: cryptofuzz::module::blst_detail::IsZero
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool IsZero(const blst_p2_affine* g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:270,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:270,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:271,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - component::G1
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: cryptofuzz::module::blst_detail::Load_G1_Affine
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_blst_fp
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<blst_p1_affine>
    signature: std::optional<blst_p1_affine> Load_G1_Affine(const component::G1& g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToRandomProjective
      Src: /src/cryptofuzz/modules/blst/module.cpp:285,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:287,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:288,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:289,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:291,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:291,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:292,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:292,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:293,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' ds'
    - ' g1'
    argTypes:
    - fuzzing::datasource::Datasource
    - component::G1
    constantsTouched: []
    func_position:
      end: 298
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 298
    functionName: cryptofuzz::module::blst_detail::Load_G1_Projective
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::module::blst_detail::To_blst_fp
    - cryptofuzz::util::ToRandomProjective
    - first::ToTrimmedString
    - second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<blst_p1>
    signature: "std::optional<blst_p1> Load_G1_Projective(\n            fuzzing::datasource::Datasource&
      ds,\n            const component::G1& g1)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:302,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:302,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:307,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:307,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:313,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_scalar
      Src: /src/cryptofuzz/modules/blst/module.cpp:313,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:318,1
    - Dst: blst_sk_check
      Src: /src/cryptofuzz/modules/blst/module.cpp:318,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:320,1
    - Dst: blst_sk_to_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:320,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:321,1
    - Dst: blst_p1_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:321,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:322,1
    - Dst: blst_p1_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:322,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:324,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:324,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 333
      start: 301
    functionDepth: 4
    functionLinenumber: 301
    functionLinenumberEnd: 333
    functionName: cryptofuzz::module::blst::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_detail::G1::To_Component_G1
    - blst_sk_check
    - blst_p1_on_curve
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_blst_scalar
    - CF_ASSERT
    - blst_sk_to_pk_in_g1
    - blst_p1_in_g1
    - modifier::GetSize
    - curveType::Get
    - blst_p1_to_affine
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> blst::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:336,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:336,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:341,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:341,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:347,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_scalar
      Src: /src/cryptofuzz/modules/blst/module.cpp:347,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:352,1
    - Dst: blst_sk_check
      Src: /src/cryptofuzz/modules/blst/module.cpp:352,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:354,1
    - Dst: blst_sk_to_pk_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:354,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:355,1
    - Dst: blst_p2_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:355,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:356,1
    - Dst: blst_p2_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:356,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:358,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:358,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 364
      start: 335
    functionDepth: 4
    functionLinenumber: 335
    functionLinenumberEnd: 364
    functionName: cryptofuzz::module::blst::OpBLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_sk_check
    - blst_sk_to_pk_in_g2
    - blst_p2_in_g2
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_blst_scalar
    - CF_ASSERT
    - blst_p2_on_curve
    - modifier::GetSize
    - cryptofuzz::module::blst_detail::To_G2
    - curveType::Get
    - blst_p2_to_affine
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:367,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:367,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:372,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:372,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:377,1
    - Dst: blst_hash_to_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:377,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:379,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:379,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:380,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:380,1
    - Dst: aug::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:381,1
    - Dst: aug::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:381,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:383,1
    - Dst: blst_p1_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:383,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:384,1
    - Dst: blst_p1_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:384,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:386,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:386,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 394
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 394
    functionName: cryptofuzz::module::blst::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_detail::G1::To_Component_G1
    - blst_p1_on_curve
    - blst_hash_to_g1
    - modifier::GetPtr
    - CF_NORET
    - CF_ECC_CURVE
    - cleartext::GetSize
    - dest::GetPtr
    - aug::GetPtr
    - CF_ASSERT
    - cleartext::GetPtr
    - dest::GetSize
    - blst_p1_in_g1
    - modifier::GetSize
    - aug::GetSize
    - curveType::Get
    - blst_p1_to_affine
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:397,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:397,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:402,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:402,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:407,1
    - Dst: blst_hash_to_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:407,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:409,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:409,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:410,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:410,1
    - Dst: aug::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:411,1
    - Dst: aug::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:411,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:413,1
    - Dst: blst_p2_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:413,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:414,1
    - Dst: blst_p2_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:414,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:416,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:416,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 421
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 421
    functionName: cryptofuzz::module::blst::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p2_in_g2
    - modifier::GetPtr
    - CF_NORET
    - CF_ECC_CURVE
    - cleartext::GetSize
    - dest::GetPtr
    - aug::GetPtr
    - blst_hash_to_g2
    - cleartext::GetPtr
    - CF_ASSERT
    - blst_p2_on_curve
    - dest::GetSize
    - cryptofuzz::module::blst_detail::To_G2
    - modifier::GetSize
    - aug::GetSize
    - curveType::Get
    - blst_p2_to_affine
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:424,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:424,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:429,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:429,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:435,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:435,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:436,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:436,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:438,1
    - Dst: blst_map_to_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:438,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:440,1
    - Dst: blst_p1_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:440,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:441,1
    - Dst: blst_p1_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:441,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:443,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:443,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG1
    constantsTouched: []
    func_position:
      end: 452
      start: 423
    functionDepth: 4
    functionLinenumber: 423
    functionLinenumberEnd: 452
    functionName: cryptofuzz::module::blst::OpBLS_MapToG1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_detail::G1::To_Component_G1
    - blst_p1_on_curve
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_blst_fp
    - blst_map_to_g1
    - CF_ASSERT
    - blst_p1_in_g1
    - modifier::GetSize
    - curveType::Get
    - blst_p1_to_affine
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_MapToG1(operation::BLS_MapToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:455,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:455,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:460,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:460,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:466,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:466,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:467,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:467,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:469,1
    - Dst: blst_map_to_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:469,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:471,1
    - Dst: blst_p2_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:471,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:472,1
    - Dst: blst_p2_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:472,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:474,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:474,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG2
    constantsTouched: []
    func_position:
      end: 480
      start: 454
    functionDepth: 5
    functionLinenumber: 454
    functionLinenumberEnd: 480
    functionName: cryptofuzz::module::blst::OpBLS_MapToG2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p2_in_g2
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_blst_fp2
    - blst_map_to_g2
    - CF_ASSERT
    - blst_p2_on_curve
    - modifier::GetSize
    - cryptofuzz::module::blst_detail::To_G2
    - curveType::Get
    - blst_p2_to_affine
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_MapToG2(operation::BLS_MapToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:483,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:483,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:488,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:488,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:498,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_scalar
      Src: /src/cryptofuzz/modules/blst/module.cpp:498,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:499,1
    - Dst: blst_sk_check
      Src: /src/cryptofuzz/modules/blst/module.cpp:499,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:501,1
    - Dst: blst_sk_to_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:501,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:502,1
    - Dst: blst_p1_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:502,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:503,1
    - Dst: blst_p1_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:503,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:504,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:504,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:507,1
    - Dst: blst_hash_to_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:507,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:509,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:509,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:510,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:510,1
    - Dst: aug::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:511,1
    - Dst: aug::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:511,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:513,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:513,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:514,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:514,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:515,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:515,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:516,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:516,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:517,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:517,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:519,1
    - Dst: blst_sign_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:519,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:522,1
    - Dst: blst_p2_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:522,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:523,1
    - Dst: blst_p2_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:523,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:525,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:526,1
    - Dst: blst_p2_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:526,1
    - Dst: blst_p2_affine_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:529,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:530,1
    - Dst: blst_p2_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:530,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:534,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:534,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:538,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:538,1
    - Dst: blst_core_verify_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:542,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:545,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:545,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:546,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:546,1
    - Dst: aug::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:547,1
    - Dst: aug::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:547,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/blst/module.cpp:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 554
      start: 482
    functionDepth: 4
    functionLinenumber: 482
    functionLinenumberEnd: 554
    functionName: cryptofuzz::module::blst::OpBLS_Sign
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_core_verify_pk_in_g1
    - dest::GetPtr
    - blst_hash_to_g2
    - cleartext::GetPtr
    - blst_p2_to_affine
    - dest::GetSize
    - CF_ASSERT
    - curveType::Get
    - blst_p2_affine_in_g2
    - blst_p2_in_g2
    - modifier::GetPtr
    - blst_p2_from_affine
    - blst_p2_on_curve
    - blst_p1_in_g1
    - blst_detail::G1::To_Component_G1
    - CF_ECC_CURVE
    - aug::GetPtr
    - abort
    - cryptofuzz::module::blst_detail::To_blst_scalar
    - aug::GetSize
    - blst_p2_affine_on_curve
    - cryptofuzz::module::blst_detail::To_G2
    - blst_sk_check
    - blst_p1_on_curve
    - CF_CHECK_TRUE
    - CF_NORET
    - cleartext::GetSize
    - cryptofuzz::module::blst_detail::To_blst_fp
    - blst_sk_to_pk_in_g1
    - blst_sign_pk_in_g1
    - modifier::GetSize
    - blst_p1_to_affine
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> blst::OpBLS_Sign(operation::BLS_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:570,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:570,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:571,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:571,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:573,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:573,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:577,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:577,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:578,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:578,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:579,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:579,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:580,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:580,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:582,1
    - Dst: blst_p2_affine_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:582,1
    - Dst: blst_core_verify_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:586,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:589,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:589,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:590,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:590,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:591,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 7
    argNames:
    - ' ds'
    - ' msg'
    - ' dst'
    - ' aug'
    - ' pub'
    - ' sig'
    - hashOrEncode
    argTypes:
    - Datasource
    - component::Cleartext
    - component::Cleartext
    - component::Cleartext
    - component::G1
    - component::G2
    - bool
    constantsTouched: []
    func_position:
      end: 595
      start: 557
    functionDepth: 4
    functionLinenumber: 557
    functionLinenumberEnd: 595
    functionName: cryptofuzz::module::blst_detail::Verify
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_in_g2
    - blst_p1_affine_in_g1
    - CF_CHECK_TRUE
    - blst_core_verify_pk_in_g1
    - cryptofuzz::module::blst_detail::To_blst_fp
    - GetPtr
    - blst_p1_affine_on_curve
    - blst_p2_affine_on_curve
    - GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: "std::optional<bool> Verify(\n            Datasource& ds,\n            const
      component::Cleartext& msg,\n            const component::Cleartext& dst,\n            const
      component::Cleartext& aug,\n            const component::G1& pub,\n            const
      component::G2& sig,\n            const bool hashOrEncode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:599,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:599,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:606,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:606,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:613,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:613,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:614,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:614,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:616,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:616,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:617,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:617,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:618,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:618,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:619,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:619,1
    - Dst: blst_core_verify_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:621,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:624,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:624,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:625,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 630
      start: 598
    functionDepth: 4
    functionLinenumber: 598
    functionLinenumberEnd: 630
    functionName: cryptofuzz::module::blst::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - blst_core_verify_pk_in_g1
    - cleartext::GetSize
    - cryptofuzz::module::blst_detail::To_blst_fp
    - dest::GetPtr
    - cleartext::GetPtr
    - dest::GetSize
    - modifier::GetSize
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blst::OpBLS_Verify(operation::BLS_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:635,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:635,1
    - Dst: blst_fp12_one
      Src: /src/cryptofuzz/modules/blst/module.cpp:637,1
    - Dst: blst_fp12_one
      Src: /src/cryptofuzz/modules/blst/module.cpp:638,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:645,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:645,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:646,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:646,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:648,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:648,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:648,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:651,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:651,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:652,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:652,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:653,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:653,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:654,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:654,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:656,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:656,1
    - Dst: blst_p2_affine_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:656,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:659,1
    - Dst: blst_miller_loop
      Src: /src/cryptofuzz/modules/blst/module.cpp:659,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:660,1
    - Dst: blst_fp12_mul
      Src: /src/cryptofuzz/modules/blst/module.cpp:660,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:663,1
    - Dst: blst_final_exp
      Src: /src/cryptofuzz/modules/blst/module.cpp:663,1
    - Dst: blst_fp12_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 669
      start: 632
    functionDepth: 4
    functionLinenumber: 632
    functionLinenumberEnd: 669
    functionName: cryptofuzz::module::blst::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_on_curve
    - blst_p2_affine_in_g2
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - blst_p1_affine_in_g1
    - CF_NORET
    - blst_miller_loop
    - cryptofuzz::module::blst_detail::To_blst_fp
    - blst_fp12_one
    - blst_p1_affine_on_curve
    - blst_final_exp
    - blst_fp12_is_equal
    - blst_fp12_mul
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blst::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:672,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:672,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:677,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:682,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:682,1
    - Dst: blst_p1_affine_is_inf
      Src: /src/cryptofuzz/modules/blst/module.cpp:684,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:685,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:686,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:689,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:689,1
    - Dst: blst_p1_is_inf
      Src: /src/cryptofuzz/modules/blst/module.cpp:691,1
    - Dst: blst_p1_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:692,1
    - Dst: blst_p1_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 697
      start: 671
    functionDepth: 5
    functionLinenumber: 671
    functionLinenumberEnd: 697
    functionName: cryptofuzz::module::blst::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p1_on_curve
    - modifier::GetPtr
    - blst_p1_affine_in_g1
    - cryptofuzz::module::blst_detail::Load_G1_Projective
    - blst_p1_affine_is_inf
    - CF_CHECK_NE
    - blst_p1_affine_on_curve
    - blst_p1_is_inf
    - blst_p1_in_g1
    - cryptofuzz::module::blst_detail::Load_G1_Affine
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blst::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:700,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:700,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:705,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:711,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:711,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:712,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:712,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:713,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:713,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:714,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:714,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/blst/module.cpp:716,1
    - Dst: cryptofuzz::module::blst_detail::IsZero
      Src: /src/cryptofuzz/modules/blst/module.cpp:716,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:719,1
    - Dst: blst_p2_affine_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:719,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:721,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:721,1
    - Dst: blst_p2_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:722,1
    - Dst: blst_p2_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 727
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 727
    functionName: cryptofuzz::module::blst::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_on_curve
    - blst_p2_affine_in_g2
    - blst_p2_in_g2
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_NORET
    - CF_CHECK_FALSE
    - cryptofuzz::module::blst_detail::To_blst_fp
    - cryptofuzz::module::blst_detail::IsZero
    - blst_p2_from_affine
    - blst_p2_on_curve
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blst::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ikm::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:731,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:735,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:735,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:741,1
    - Dst: blst_keygen
      Src: /src/cryptofuzz/modules/blst/module.cpp:741,1
    - Dst: ikm::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:741,1
    - Dst: ikm::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:741,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:741,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:741,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:742,1
    - Dst: blst_sk_check
      Src: /src/cryptofuzz/modules/blst/module.cpp:742,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:744,1
    - Dst: blst_sk_to_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:744,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:745,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:745,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:749,1
    - Dst: blst_uint64_from_scalar
      Src: /src/cryptofuzz/modules/blst/module.cpp:749,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:749,1
    - Dst: blst_detail::Reverse<>
      Src: /src/cryptofuzz/modules/blst/module.cpp:751,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:755,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:755,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:756,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:758,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:758,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:759,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 766
      start: 729
    functionDepth: 2
    functionLinenumber: 729
    functionLinenumberEnd: 766
    functionName: cryptofuzz::module::blst::OpBLS_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - info::GetSize
    - CF_ASSERT
    - blst_uint64_from_scalar
    - modifier::GetPtr
    - blst_detail::Reverse<>
    - ikm::GetSize
    - info::GetPtr
    - blst_p1_affine_on_curve
    - cryptofuzz::util::BinToDec
    - blst_keygen
    - blst_detail::G1::To_Component_G1
    - blst_p1_affine_in_g1
    - blst_sk_check
    - std::array::data
    - CF_NORET
    - blst_sk_to_pk_in_g1
    - ikm::GetPtr
    - modifier::GetSize
    - blst_p1_to_affine
    linkageType: ''
    returnType: std::optional<component::BLS_KeyPair>
    signature: std::optional<component::BLS_KeyPair> blst::OpBLS_GenerateKeyPair(operation::BLS_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:769,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:769,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:781,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:781,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:782,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:782,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:784,1
    - Dst: blst_p1_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:784,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:786,1
    - Dst: blst_p1_serialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:786,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:788,1
    - Dst: blst_aggregate_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:789,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:798,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:798,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:799,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:799,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:799,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Aggregate_G1
    constantsTouched: []
    func_position:
      end: 806
      start: 768
    functionDepth: 4
    functionLinenumber: 768
    functionLinenumberEnd: 806
    functionName: cryptofuzz::module::blst::OpBLS_Aggregate_G1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_detail::G1::To_Component_G1
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_NORET
    - CF_CHECK_EQ
    - blst_p1_affine_in_g1
    - cryptofuzz::module::blst_detail::To_blst_fp
    - blst_p1_from_affine
    - blst_aggregate_in_g1
    - CF_ASSERT
    - blst_p1_affine_on_curve
    - modifier::GetSize
    - blst_p1_serialize
    - blst_p1_to_affine
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_Aggregate_G1(operation::BLS_Aggregate_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:809,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:809,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:821,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:821,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:822,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:822,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:823,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:823,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:824,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:824,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:826,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:826,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:828,1
    - Dst: blst_p2_serialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:828,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:830,1
    - Dst: blst_aggregate_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:831,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:840,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:840,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:841,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:841,1
    - Dst: blst_p2_affine_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:841,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Aggregate_G2
    constantsTouched: []
    func_position:
      end: 847
      start: 808
    functionDepth: 4
    functionLinenumber: 808
    functionLinenumberEnd: 847
    functionName: cryptofuzz::module::blst::OpBLS_Aggregate_G2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_on_curve
    - blst_p2_affine_in_g2
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_NORET
    - CF_CHECK_EQ
    - cryptofuzz::module::blst_detail::To_blst_fp
    - blst_p2_from_affine
    - CF_ASSERT
    - blst_aggregate_in_g2
    - blst_p2_serialize
    - modifier::GetSize
    - cryptofuzz::module::blst_detail::To_G2
    - blst_p2_to_affine
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_Aggregate_G2(operation::BLS_Aggregate_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:850,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:850,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:857,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:857,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:858,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:858,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:860,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:860,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:861,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:861,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:862,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:862,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:863,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:863,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:865,1
    - Dst: blst_miller_loop
      Src: /src/cryptofuzz/modules/blst/module.cpp:865,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:866,1
    - Dst: blst_final_exp
      Src: /src/cryptofuzz/modules/blst/module.cpp:866,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 872
      start: 849
    functionDepth: 4
    functionLinenumber: 849
    functionLinenumberEnd: 872
    functionName: cryptofuzz::module::blst::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_NORET
    - blst_miller_loop
    - cryptofuzz::module::blst_detail::To_blst_fp
    - blst_final_exp
    - cryptofuzz::module::blst_detail::To_component_Fp12
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> blst::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:875,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:875,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:882,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:882,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:883,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:883,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:885,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:885,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:886,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:886,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:887,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:887,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:888,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:888,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:890,1
    - Dst: blst_miller_loop
      Src: /src/cryptofuzz/modules/blst/module.cpp:890,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MillerLoop
    constantsTouched: []
    func_position:
      end: 896
      start: 874
    functionDepth: 4
    functionLinenumber: 874
    functionLinenumberEnd: 896
    functionName: cryptofuzz::module::blst::OpBLS_MillerLoop
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_NORET
    - blst_miller_loop
    - cryptofuzz::module::blst_detail::To_blst_fp
    - cryptofuzz::module::blst_detail::To_component_Fp12
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> blst::OpBLS_MillerLoop(operation::BLS_MillerLoop&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:899,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:899,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:904,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:904,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:906,1
    - Dst: blst_final_exp
      Src: /src/cryptofuzz/modules/blst/module.cpp:906,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 912
      start: 898
    functionDepth: 5
    functionLinenumber: 898
    functionLinenumberEnd: 912
    functionName: cryptofuzz::module::blst::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_component_Fp12
    - blst_final_exp
    - cryptofuzz::module::blst_detail::To_blst_fp12
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> blst::OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:917,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - A
    - B
    argTypes:
    - fuzzing::datasource::Datasource
    - T*
    - T*
    constantsTouched: []
    func_position:
      end: 927
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 927
    functionName: cryptofuzz::module::blst_detail::UseParamTwice
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - Get
    linkageType: ''
    returnType: bool
    signature: bool UseParamTwice(fuzzing::datasource::Datasource& ds, const T* A,
      const T* B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 936
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 936
    functionName: cryptofuzz::module::blst_detail::GetMod3
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetMod3(fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:945,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:945,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:950,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:951,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:952,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:952,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:953,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:953,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:954,1
    - Dst: blst_fr_add
      Src: /src/cryptofuzz/modules/blst/module.cpp:955,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:955,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:955,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:956,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:956,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:958,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:959,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:959,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:960,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:960,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:961,1
    - Dst: blst_fr_sub
      Src: /src/cryptofuzz/modules/blst/module.cpp:962,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:962,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:962,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:963,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:963,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:965,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:967,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:967,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:972,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:976,1
    - Dst: cryptofuzz::module::blst_detail::isMultipleOf2
      Src: /src/cryptofuzz/modules/blst/module.cpp:980,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:980,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:988,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:988,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:989,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:990,1
    - Dst: blst_fr_mul
      Src: /src/cryptofuzz/modules/blst/module.cpp:990,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:990,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:990,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:993,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:994,1
    - Dst: blst_fr_mul_by_3
      Src: /src/cryptofuzz/modules/blst/module.cpp:994,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:994,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:997,1
    - Dst: blst_fr_lshift
      Src: /src/cryptofuzz/modules/blst/module.cpp:998,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:998,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:999,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:999,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1003,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1003,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1006,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1007,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1007,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1008,1
    - Dst: blst_fr_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1009,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1009,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1010,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1010,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1012,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1014,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1014,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1018,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1023,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1024,1
    - Dst: blst_fr_eucl_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1024,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1024,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1026,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1027,1
    - Dst: blst_fr_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1027,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1027,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1030,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1030,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1033,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1034,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1034,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1035,1
    - Dst: blst_fr_lshift
      Src: /src/cryptofuzz/modules/blst/module.cpp:1036,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1036,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1037,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1037,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1039,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1041,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1041,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/blst/module.cpp:1042,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:1044,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1045,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1046,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1048,1
    - Dst: blst_fr_rshift
      Src: /src/cryptofuzz/modules/blst/module.cpp:1049,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1049,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:1052,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/blst/module.cpp:1053,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1054,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/blst/module.cpp:1054,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:1055,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1056,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1056,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1060,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1061,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1061,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1062,1
    - Dst: blst_fr_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1063,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1063,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1064,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1064,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1066,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1067,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1067,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1068,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1070,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1071,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1071,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1072,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1072,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1073,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1073,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1073,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1075,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1076,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1076,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1077,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1077,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1077,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 117
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1083
      start: 943
    functionDepth: 4
    functionLinenumber: 943
    functionLinenumberEnd: 1083
    functionName: cryptofuzz::module::blst_detail::OpBignumCalc_order
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - blst_fr_rshift
    - std::string
    - blst_fr_eucl_inverse
    - memcmp
    - blst_fr_cneg
    - CF_CALCOP
    - modifier::GetPtr
    - cryptofuzz::module::blst_detail::To_cpp_int
    - blst_fr_sqr
    - PREPARE_RESULT
    - Datasource::Get
    - blst_fr_lshift
    - RESULT_PTR
    - blst_fr_sub
    - blst_fr_mul_by_3
    - CF_CHECK_EQ
    - blst_fr_inverse
    - PARAM_B
    - calcOp::Get
    - cryptofuzz::module::blst_detail::To_component_bignum
    - RESULT
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::module::blst_detail::isMultipleOf2
    - bn1::ToTrimmedString
    - blst_fr_add
    - blst_fr_mul
    - modifier::GetSize
    - CF_CHECK_GT
    - cryptofuzz::module::blst_detail::To_blst_fr
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc_order(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1087,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1087,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1092,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1093,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1094,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1094,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1095,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1095,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1096,1
    - Dst: blst_fp_add
      Src: /src/cryptofuzz/modules/blst/module.cpp:1097,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1097,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1097,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1098,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1098,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1100,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1101,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1101,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1102,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1102,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1103,1
    - Dst: blst_fp_sub
      Src: /src/cryptofuzz/modules/blst/module.cpp:1104,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1104,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1104,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1105,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1105,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1107,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1109,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1109,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1114,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1119,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1123,1
    - Dst: cryptofuzz::module::blst_detail::isMultipleOf2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1127,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1127,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1135,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1135,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1136,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1137,1
    - Dst: blst_fp_mul
      Src: /src/cryptofuzz/modules/blst/module.cpp:1137,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1137,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1137,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1140,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1141,1
    - Dst: blst_fp_mul_by_3
      Src: /src/cryptofuzz/modules/blst/module.cpp:1141,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1141,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1144,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1145,1
    - Dst: blst_fp_mul_by_8
      Src: /src/cryptofuzz/modules/blst/module.cpp:1145,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1145,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1149,1
    - Dst: cryptofuzz::module::blst_detail::isMultipleOf2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1149,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1149,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1151,1
    - Dst: blst_fp_lshift
      Src: /src/cryptofuzz/modules/blst/module.cpp:1152,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1152,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1153,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1153,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1157,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1157,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1160,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1161,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1161,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1162,1
    - Dst: blst_fp_lshift
      Src: /src/cryptofuzz/modules/blst/module.cpp:1163,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1163,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1164,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1164,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1166,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1167,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1167,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1168,1
    - Dst: blst_fp_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1169,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1169,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1170,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1170,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1172,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1174,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1174,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1178,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1183,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1184,1
    - Dst: blst_fp_eucl_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1184,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1184,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1186,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1187,1
    - Dst: blst_fp_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1187,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1187,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1190,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1190,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1193,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1196,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1196,1
    - Dst: blst_fp_sqrt
      Src: /src/cryptofuzz/modules/blst/module.cpp:1198,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1199,1
    - Dst: blst_fp_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1199,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1200,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1202,1
    - Dst: blst_fp_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1202,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1203,1
    - Dst: blst_fp_sqrt
      Src: /src/cryptofuzz/modules/blst/module.cpp:1203,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1205,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1209,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1213,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1213,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1217,1
    - Dst: blst_fp_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1217,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1218,1
    - Dst: blst_fp_is_square
      Src: /src/cryptofuzz/modules/blst/module.cpp:1218,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1220,1
    - Dst: blst_fp_sqrt
      Src: /src/cryptofuzz/modules/blst/module.cpp:1220,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1223,1
    - Dst: blst_fp_sqrt
      Src: /src/cryptofuzz/modules/blst/module.cpp:1225,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1226,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1226,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1229,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1230,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1230,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1231,1
    - Dst: blst_fp_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1232,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1232,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1233,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1233,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1235,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1236,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1236,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1237,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1239,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1240,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1240,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1241,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1241,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1242,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1242,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1242,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1244,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1245,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1245,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1246,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1246,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1246,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 137
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1252
      start: 1085
    functionDepth: 4
    functionLinenumber: 1085
    functionLinenumberEnd: 1252
    functionName: cryptofuzz::module::blst_detail::OpBignumCalc_prime
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_fp_is_square
    - blst_fp_sqrt
    - blst_fp_lshift
    - std::string
    - memcmp
    - CF_ASSERT
    - CF_CALCOP
    - blst_fp_inverse
    - modifier::GetPtr
    - blst_fp_add
    - blst_fp_cneg
    - PREPARE_RESULT
    - Datasource::Get
    - blst_fp_mul_by_3
    - RESULT_PTR
    - blst_fp_sqr
    - PARAM_B
    - blst_fp_sub
    - calcOp::Get
    - cryptofuzz::module::blst_detail::To_component_bignum
    - blst_fp_eucl_inverse
    - RESULT
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::module::blst_detail::isMultipleOf2
    - cryptofuzz::module::blst_detail::To_blst_fp
    - bn1::ToTrimmedString
    - blst_fp_mul
    - blst_fp_mul_by_8
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc_prime(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1266,1
    - Dst: cryptofuzz::module::blst_detail::OpBignumCalc_order
      Src: /src/cryptofuzz/modules/blst/module.cpp:1267,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1268,1
    - Dst: cryptofuzz::module::blst_detail::OpBignumCalc_prime
      Src: /src/cryptofuzz/modules/blst/module.cpp:1269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1273
      start: 1260
    functionDepth: 5
    functionLinenumber: 1260
    functionLinenumberEnd: 1273
    functionName: cryptofuzz::module::blst::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - modulo::ToTrimmedString
    - cryptofuzz::module::blst_detail::OpBignumCalc_prime
    - cryptofuzz::module::blst_detail::OpBignumCalc_order
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> blst::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1283,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1283,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1287,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1288,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1289,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1289,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1290,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1290,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1291,1
    - Dst: blst_fp2_add
      Src: /src/cryptofuzz/modules/blst/module.cpp:1292,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1292,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1292,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1293,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1293,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1295,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1296,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1296,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1297,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1297,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1298,1
    - Dst: blst_fp2_sub
      Src: /src/cryptofuzz/modules/blst/module.cpp:1299,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1299,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1299,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1300,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1300,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1302,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1303,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1303,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1304,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1304,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1305,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1306,1
    - Dst: blst_fp2_mul
      Src: /src/cryptofuzz/modules/blst/module.cpp:1306,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1306,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1306,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1308,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1308,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1310,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1311,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1311,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1312,1
    - Dst: blst_fp2_lshift
      Src: /src/cryptofuzz/modules/blst/module.cpp:1313,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1313,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1314,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1314,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1316,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1317,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1317,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1318,1
    - Dst: blst_fp2_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1319,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1319,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1320,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1320,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1322,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1324,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1324,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1328,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1333,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1334,1
    - Dst: blst_fp2_eucl_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1334,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1334,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1336,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1337,1
    - Dst: blst_fp2_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1337,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1337,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1340,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1340,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1343,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1346,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1346,1
    - Dst: blst_fp2_sqrt
      Src: /src/cryptofuzz/modules/blst/module.cpp:1348,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1349,1
    - Dst: blst_fp2_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1349,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1350,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1352,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1352,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1356,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1358,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1358,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1360,1
    - Dst: blst_fp2_sqrt
      Src: /src/cryptofuzz/modules/blst/module.cpp:1362,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1365,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1366,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1366,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1367,1
    - Dst: blst_fp2_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1368,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1368,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1369,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1369,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1371,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1372,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1372,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1373,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 80
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 1379
      start: 1281
    functionDepth: 5
    functionLinenumber: 1281
    functionLinenumberEnd: 1379
    functionName: cryptofuzz::module::blst_detail::OpBignumCalc_Fp2_prime
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_blst_fp2
    - blst_fp2_sqrt
    - std::string
    - blst_fp2_cneg
    - CF_ASSERT
    - CF_CALCOP
    - modifier::GetPtr
    - blst_fp2_inverse
    - cryptofuzz::module::blst_detail::To_component_Fp2
    - PREPARE_RESULT
    - Datasource::Get
    - RESULT_PTR
    - blst_fp2_mul
    - blst_fp2_lshift
    - PARAM_B
    - blst_fp2_add
    - blst_fp2_eucl_inverse
    - calcOp::Get
    - RESULT
    - blst_fp2_sqr
    - CF_CHECK_TRUE
    - blst_fp2_sub
    - CF_NORET
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> OpBignumCalc_Fp2_prime(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::OpBignumCalc_Fp2_prime
      Src: /src/cryptofuzz/modules/blst/module.cpp:1388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 1389
      start: 1387
    functionDepth: 6
    functionLinenumber: 1387
    functionLinenumberEnd: 1389
    functionName: cryptofuzz::module::blst::OpBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::OpBignumCalc_Fp2_prime
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> blst::OpBignumCalc_Fp2(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1399,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1399,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1403,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1404,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1405,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1405,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1406,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1406,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1407,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1408,1
    - Dst: blst_fp12_mul
      Src: /src/cryptofuzz/modules/blst/module.cpp:1408,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1408,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1408,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1410,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1410,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1412,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1413,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1413,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1414,1
    - Dst: blst_fp12_conjugate
      Src: /src/cryptofuzz/modules/blst/module.cpp:1414,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1415,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1417,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1418,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1418,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1419,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1420,1
    - Dst: blst_fp12_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1420,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1420,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1421,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1421,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1423,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1424,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1424,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1425,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1425,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1426,1
    - Dst: blst_fp12_cyclotomic_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1426,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1427,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1429,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1430,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1430,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1432,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1433,1
    - Dst: blst_fp12_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1433,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1433,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1435,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1435,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1437,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1438,1
    - Dst: blst_fp12_one
      Src: /src/cryptofuzz/modules/blst/module.cpp:1438,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1440,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1441,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1441,1
    - Dst: blst_fp12_is_one
      Src: /src/cryptofuzz/modules/blst/module.cpp:1442,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1443,1
    - Dst: blst_fp12_one
      Src: /src/cryptofuzz/modules/blst/module.cpp:1443,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/blst/module.cpp:1445,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1446,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1449,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1450,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1450,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1451,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1451,1
    - Dst: blst_fp12_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:1453,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1454,1
    - Dst: blst_fp12_one
      Src: /src/cryptofuzz/modules/blst/module.cpp:1454,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/blst/module.cpp:1456,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1457,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 1464
      start: 1397
    functionDepth: 5
    functionLinenumber: 1397
    functionLinenumberEnd: 1464
    functionName: cryptofuzz::module::blst_detail::OpBignumCalc_Fp12_prime
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - blst_fp12_sqr
    - cryptofuzz::module::blst_detail::To_blst_fp12
    - blst_fp12_is_one
    - CF_CALCOP
    - modifier::GetPtr
    - blst_fp12_conjugate
    - blst_fp12_one
    - blst_fp12_mul
    - PREPARE_RESULT
    - RESULT_PTR
    - PARAM_B
    - cryptofuzz::module::blst_detail::To_component_Fp12
    - blst_fp12_is_equal
    - calcOp::Get
    - RESULT
    - CF_CHECK_TRUE
    - CF_NORET
    - blst_fp12_inverse
    - modifier::GetSize
    - blst_fp12_cyclotomic_sqr
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> OpBignumCalc_Fp12_prime(operation::BignumCalc_Fp12&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::OpBignumCalc_Fp12_prime
      Src: /src/cryptofuzz/modules/blst/module.cpp:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 1474
      start: 1472
    functionDepth: 6
    functionLinenumber: 1472
    functionLinenumberEnd: 1474
    functionName: cryptofuzz::module::blst::OpBignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::OpBignumCalc_Fp12_prime
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> blst::OpBignumCalc_Fp12(operation::BignumCalc_Fp12&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1478,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1478,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1483,1
    - Dst: blst_detail::ToArray<48>
      Src: /src/cryptofuzz/modules/blst/module.cpp:1483,1
    - Dst: blst_p1_uncompress
      Src: /src/cryptofuzz/modules/blst/module.cpp:1485,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1485,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 1494
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1494
    functionName: cryptofuzz::module::blst::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_detail::G1::To_Component_G1
    - modifier::GetPtr
    - blst_detail::ToArray<48>
    - blst_p1_uncompress
    - std::optional::data
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1502,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1502,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1503,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1503,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1506,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1506,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1508,1
    - Dst: blst_p1_affine_compress
      Src: /src/cryptofuzz/modules/blst/module.cpp:1508,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1508,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:1509,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 1513
      start: 1496
    functionDepth: 4
    functionLinenumber: 1496
    functionLinenumberEnd: 1513
    functionName: cryptofuzz::module::blst::OpBLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_blst_fp
    - blst_p1_affine_on_curve
    - blst_p1_affine_compress
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> blst::OpBLS_Compress_G1(operation::BLS_Compress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1517,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1517,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1524,1
    - Dst: blst_detail::ToArray<48>
      Src: /src/cryptofuzz/modules/blst/module.cpp:1524,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1525,1
    - Dst: blst_detail::ToArray<48>
      Src: /src/cryptofuzz/modules/blst/module.cpp:1525,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/blst/module.cpp:1527,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1527,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1527,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/blst/module.cpp:1528,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1528,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1528,1
    - Dst: blst_p2_uncompress
      Src: /src/cryptofuzz/modules/blst/module.cpp:1530,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1530,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 1538
      start: 1515
    functionDepth: 3
    functionLinenumber: 1515
    functionLinenumberEnd: 1538
    functionName: cryptofuzz::module::blst::OpBLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - modifier::GetPtr
    - blst_detail::ToArray<48>
    - memcpy
    - blst_p2_uncompress
    - std::optional::data
    - CF_CHECK_NE
    - modifier::GetSize
    - cryptofuzz::module::blst_detail::To_G2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_Decompress_G2(operation::BLS_Decompress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1546,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1546,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1547,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1547,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1548,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1548,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1549,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1549,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1551,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1551,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1553,1
    - Dst: blst_p2_affine_compress
      Src: /src/cryptofuzz/modules/blst/module.cpp:1553,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1553,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:1554,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1554,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:1554,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 1558
      start: 1540
    functionDepth: 4
    functionLinenumber: 1540
    functionLinenumberEnd: 1558
    functionName: cryptofuzz::module::blst::OpBLS_Compress_G2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_blst_fp
    - cryptofuzz::util::BinToDec
    - blst_p2_affine_on_curve
    - blst_p2_affine_compress
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_Compress_G2(operation::BLS_Compress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1562,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1562,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1574,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1574,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1577,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1577,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1580,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:1580,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1583,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:1583,1
    - Dst: blst_p1_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:1586,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1589,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1607,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1616,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1621,1
    - Dst: blst_p1_add_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1621,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1624,1
    - Dst: blst_p1s_add
      Src: /src/cryptofuzz/modules/blst/module.cpp:1624,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1627,1
    - Dst: blst_p1_add
      Src: /src/cryptofuzz/modules/blst/module.cpp:1627,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1631,1
    - Dst: blst_p1_double
      Src: /src/cryptofuzz/modules/blst/module.cpp:1631,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1635,1
    - Dst: blst_p1_add_or_double_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1635,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1637,1
    - Dst: blst_p1_add_or_double
      Src: /src/cryptofuzz/modules/blst/module.cpp:1637,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1641,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1644,1
    - Dst: blst_p1_affine_is_inf
      Src: /src/cryptofuzz/modules/blst/module.cpp:1645,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1646,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1647,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1648,1
    - Dst: blst_p1_affine_is_inf
      Src: /src/cryptofuzz/modules/blst/module.cpp:1649,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1650,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1651,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1653,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1653,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1657,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 1662
      start: 1560
    functionDepth: 5
    functionLinenumber: 1560
    functionLinenumberEnd: 1662
    functionName: cryptofuzz::module::blst::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::Load_G1_Projective
    - blst_p1_add_affine
    - blst_p1_is_equal
    - CF_UNREACHABLE
    - blst_p1_add_or_double_affine
    - modifier::GetPtr
    - blst_p1_affine_is_inf
    - blst_p1_affine_on_curve
    - cryptofuzz::module::blst_detail::Load_G1_Affine
    - blst_p1_add
    - Datasource::Get
    - blst_detail::G1::To_Component_G1
    - blst_p1_affine_in_g1
    - blst_p1_double
    - blst_p1_add_or_double
    - blst_p1s_add
    - CF_CHECK_TRUE
    - CF_NORET
    - CF_CHECK_NE
    - modifier::GetSize
    - blst_p1_to_affine
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1666,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1666,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1673,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:1673,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1676,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/blst/module.cpp:1676,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1676,1
    - Dst: cryptofuzz::util::AddLeadingZeroes
      Src: /src/cryptofuzz/modules/blst/module.cpp:1679,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1680,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1680,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/blst/module.cpp:1680,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/blst/module.cpp:1680,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1684,1
    - Dst: blst_p1_mult
      Src: /src/cryptofuzz/modules/blst/module.cpp:1684,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1684,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1684,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1687,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1687,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1689,1
    - Dst: blst_p1_is_inf
      Src: /src/cryptofuzz/modules/blst/module.cpp:1690,1
    - Dst: blst_p1_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1691,1
    - Dst: blst_p1_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1692,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 1701
      start: 1664
    functionDepth: 5
    functionLinenumber: 1664
    functionLinenumberEnd: 1701
    functionName: cryptofuzz::module::blst::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::Load_G1_Projective
    - cryptofuzz::util::AddLeadingZeroes
    - modifier::GetPtr
    - blst_p1_is_inf
    - blst_p1_in_g1
    - std::vector::begin
    - Buffer::GetPtr
    - blst_detail::G1::To_Component_G1
    - std::reverse
    - b::ToTrimmedString
    - blst_p1_mult
    - std::vector::end
    - blst_p1_on_curve
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::util::DecToBin
    - Buffer::GetSize
    - CF_CHECK_NE
    - modifier::GetSize
    - blst_p1_to_affine
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1705,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1705,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1715,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1715,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1718,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1718,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1721,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:1721,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1724,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:1724,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1728,1
    - Dst: blst_p1_affine_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:1733,1
    - Dst: blst_p1_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:1735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 1740
      start: 1703
    functionDepth: 5
    functionLinenumber: 1703
    functionLinenumberEnd: 1740
    functionName: cryptofuzz::module::blst::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::blst_detail::Load_G1_Projective
    - blst_p1_affine_is_equal
    - CF_CHECK_NE
    - blst_p1_is_equal
    - cryptofuzz::module::blst_detail::Load_G1_Affine
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blst::OpBLS_G1_IsEq(operation::BLS_G1_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1744,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1744,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1750,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:1750,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1753,1
    - Dst: blst_p1_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1753,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1755,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1755,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 1764
      start: 1742
    functionDepth: 5
    functionLinenumber: 1742
    functionLinenumberEnd: 1764
    functionName: cryptofuzz::module::blst::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_detail::G1::To_Component_G1
    - modifier::GetPtr
    - CF_NORET
    - cryptofuzz::module::blst_detail::Load_G1_Projective
    - CF_CHECK_NE
    - blst_p1_cneg
    - modifier::GetSize
    - blst_p1_to_affine
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1768,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1768,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1774,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1774,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1775,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1775,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1776,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1776,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1777,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1777,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1779,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1779,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1780,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1780,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1781,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1781,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1782,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1782,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1784,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1784,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1785,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1785,1
    - Dst: blst_p2_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:1787,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1789,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1795,1
    - Dst: blst_p2_add_or_double_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1795,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1797,1
    - Dst: blst_p2_double
      Src: /src/cryptofuzz/modules/blst/module.cpp:1797,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1801,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1801,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 1807
      start: 1766
    functionDepth: 4
    functionLinenumber: 1766
    functionLinenumberEnd: 1807
    functionName: cryptofuzz::module::blst::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_blst_fp
    - blst_p2_from_affine
    - blst_p2_add_or_double_affine
    - blst_p2_double
    - cryptofuzz::module::blst_detail::To_G2
    - blst_p2_is_equal
    - modifier::GetSize
    - Datasource::Get
    - blst_p2_to_affine
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1811,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1811,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1818,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1818,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1819,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1819,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1820,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1820,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1821,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1821,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1822,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/blst/module.cpp:1822,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1822,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1824,1
    - Dst: blst_p2_affine_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1824,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1828,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1828,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1830,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1832,1
    - Dst: cryptofuzz::util::AddLeadingZeroes
      Src: /src/cryptofuzz/modules/blst/module.cpp:1838,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1839,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1839,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/blst/module.cpp:1839,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/blst/module.cpp:1839,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1843,1
    - Dst: blst_p2_mult
      Src: /src/cryptofuzz/modules/blst/module.cpp:1843,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1843,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1843,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1845,1
    - Dst: blst_p2_double
      Src: /src/cryptofuzz/modules/blst/module.cpp:1845,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1848,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1848,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 1854
      start: 1809
    functionDepth: 4
    functionLinenumber: 1809
    functionLinenumberEnd: 1854
    functionName: cryptofuzz::module::blst::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::AddLeadingZeroes
    - blst_p2_affine_in_g2
    - modifier::GetPtr
    - blst_p2_mult
    - blst_p2_from_affine
    - blst_p2_double
    - Datasource::Get
    - std::vector::begin
    - Buffer::GetPtr
    - std::reverse
    - b::ToTrimmedString
    - blst_p2_affine_on_curve
    - cryptofuzz::module::blst_detail::To_G2
    - std::vector::end
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::util::DecToBin
    - cryptofuzz::module::blst_detail::To_blst_fp
    - Buffer::GetSize
    - CF_CHECK_NE
    - modifier::GetSize
    - blst_p2_to_affine
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1862,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1862,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1863,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1863,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1864,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1864,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1865,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1865,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1867,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1867,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1868,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1868,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1869,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1869,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1870,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1870,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1872,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1872,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1873,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1873,1
    - Dst: blst_p2_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 1879
      start: 1856
    functionDepth: 4
    functionLinenumber: 1856
    functionLinenumberEnd: 1879
    functionName: cryptofuzz::module::blst::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_blst_fp
    - blst_p2_from_affine
    - blst_p2_is_equal
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blst::OpBLS_G2_IsEq(operation::BLS_G2_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1883,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1883,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1888,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1888,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1889,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1889,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1890,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1890,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1891,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1891,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1893,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1893,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1895,1
    - Dst: blst_p2_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1895,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1897,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1897,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 1903
      start: 1881
    functionDepth: 4
    functionLinenumber: 1881
    functionLinenumberEnd: 1903
    functionName: cryptofuzz::module::blst::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_blst_fp
    - blst_p2_from_affine
    - blst_p2_cneg
    - modifier::GetSize
    - cryptofuzz::module::blst_detail::To_G2
    - blst_p2_to_affine
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1907,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1907,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/blst/module.cpp:1915,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/blst/module.cpp:1917,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1928,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1928,1
    - Dst: blst_p1_affine_is_inf
      Src: /src/cryptofuzz/modules/blst/module.cpp:1932,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1933,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1934,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1936,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_scalar
      Src: /src/cryptofuzz/modules/blst/module.cpp:1936,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1941,1
    - Dst: blst_p1s_mult_pippenger
      Src: /src/cryptofuzz/modules/blst/module.cpp:1941,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1947,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1950,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1950,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1952,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/blst/module.cpp:1956,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/blst/module.cpp:1957,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/blst/module.cpp:1958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 1961
      start: 1905
    functionDepth: 5
    functionLinenumber: 1905
    functionLinenumberEnd: 1961
    functionName: cryptofuzz::module::blst::OpBLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_detail::G1::To_Component_G1
    - cryptofuzz::util::malloc
    - modifier::GetPtr
    - blst_p1_affine_in_g1
    - blst_p1_affine_is_inf
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_blst_scalar
    - CF_CHECK_NE
    - blst_p1_affine_on_curve
    - blst_p1s_mult_pippenger
    - cryptofuzz::util::free
    - cryptofuzz::module::blst_detail::Load_G1_Affine
    - modifier::GetSize
    - blst_p1_to_affine
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_G1_MultiExp(operation::BLS_G1_MultiExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1964,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1964,1
    - Dst: operation::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1967,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:1970,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:1972,1
    - Dst: blst_p1_uncompress
      Src: /src/cryptofuzz/modules/blst/module.cpp:1972,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1972,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1974,1
    - Dst: blst_p1_affine_compress
      Src: /src/cryptofuzz/modules/blst/module.cpp:1974,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1975,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1976,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1976,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1976,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/blst/module.cpp:1976,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:1982,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:1984,1
    - Dst: blst_p1_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1984,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1984,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1986,1
    - Dst: blst_p1_affine_serialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1986,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1987,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1989,1
    - Dst: blst_p1_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1989,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1992,1
    - Dst: blst_p1_affine_serialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1992,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1993,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1993,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2000,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:2002,1
    - Dst: blst_p2_uncompress
      Src: /src/cryptofuzz/modules/blst/module.cpp:2002,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2002,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:2004,1
    - Dst: blst_p2_affine_compress
      Src: /src/cryptofuzz/modules/blst/module.cpp:2004,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:2005,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:2006,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:2006,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2006,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/blst/module.cpp:2006,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2012,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:2014,1
    - Dst: blst_p2_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2014,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2014,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:2016,1
    - Dst: blst_p2_affine_serialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2016,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:2017,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:2019,1
    - Dst: blst_p2_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2019,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:2022,1
    - Dst: blst_p2_affine_serialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2022,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:2023,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:2023,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2032,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:2033,1
    - Dst: blst_p1_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2033,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2033,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2038,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/blst/module.cpp:2039,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2039,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:2043,1
    - Dst: blst_miller_loop_lines
      Src: /src/cryptofuzz/modules/blst/module.cpp:2043,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2050,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:2051,1
    - Dst: blst_p2_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2051,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2051,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:2055,1
    - Dst: blst_precompute_lines
      Src: /src/cryptofuzz/modules/blst/module.cpp:2055,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2065,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:2066,1
    - Dst: blst_p1_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2066,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2066,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2070,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:2071,1
    - Dst: blst_p2_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2071,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2071,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:2074,1
    - Dst: blst_miller_loop
      Src: /src/cryptofuzz/modules/blst/module.cpp:2074,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 67
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Misc
    constantsTouched: []
    func_position:
      end: 2082
      start: 1963
    functionDepth: 1
    functionLinenumber: 1963
    functionLinenumberEnd: 2082
    functionName: cryptofuzz::module::blst::OpMisc
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_precompute_lines
    - memcmp
    - CF_ASSERT
    - modifier::GetPtr
    - blst_p1_deserialize
    - blst_miller_loop_lines
    - blst_p1_affine_serialize
    - blst_p1_affine_on_curve
    - blst_p2_affine_serialize
    - operation::Get
    - auto::size
    - blst_p2_affine_compress
    - CF_CHECK_EQ
    - memcpy
    - auto::data
    - blst_p1_affine_compress
    - blst_p2_affine_on_curve
    - blst_p1_uncompress
    - CF_NORET
    - blst_miller_loop
    - blst_p2_uncompress
    - Datasource::GetData
    - blst_p2_deserialize
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> blst::OpMisc(operation::Misc& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2086
    functionName: cryptofuzz::module::blst::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool blst::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: cryptofuzz::module::pasta_curves::pasta_curves
    functionSourceFile: /src/cryptofuzz/modules/pasta_curves/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pasta_curves::pasta_curves(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:27,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:27,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:28,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:31,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:31,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:32,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:33,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:33,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:34,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:35,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:35,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:36,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:37,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:37,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:38,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:40,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:40,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::pasta_curves_detail::To4U64
    functionSourceFile: /src/cryptofuzz/modules/pasta_curves/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - __bswap_64
    - cryptofuzz::util::DecToBin
    - memcpy
    - auto::data
    - std::array::end
    - CF_CHECK_NE
    - ToTrimmedString
    - std::array::begin
    linkageType: ''
    returnType: std::optional<std::array<uint64_t, 4>>
    signature: std::optional<std::array<uint64_t, 4>> To4U64(const component::Bignum&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:54,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:55,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:57,1
    - Dst: cryptofuzz::module::pasta_curves_detail::To4U64
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:57,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:58,1
    - Dst: cryptofuzz::module::pasta_curves_detail::To4U64
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:61,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:63,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:64,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:65,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:68,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:68,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:68,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:68,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:71,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:72,1
    - Dst: cryptofuzz_pasta_curves_bignumcalc_vesta_fq
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:72,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:73,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:73,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:74,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:75,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:76,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:78,1
    - Dst: cryptofuzz_pasta_curves_bignumcalc_vesta_fr
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:78,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:79,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:79,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:80,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:81,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:82,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:85,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:85,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:85,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:86,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 91
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 91
    functionName: cryptofuzz::module::pasta_curves::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/pasta_curves/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::at
    - CF_CALCOP
    - std::map::find
    - data
    - cryptofuzz::util::BinToDec
    - std::array::begin
    - std::map::end
    - std::reverse
    - CF_CHECK_EQ
    - std::optional::data
    - std::array::end
    - calcOp::Get
    - cryptofuzz_pasta_curves_bignumcalc_vesta_fq
    - std::array::data
    - CF_CHECK_TRUE
    - modulo::ToTrimmedString
    - CF_CHECK_NE
    - cryptofuzz::module::pasta_curves_detail::To4U64
    - cryptofuzz_pasta_curves_bignumcalc_vesta_fr
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> pasta_curves::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: cryptofuzz::module::pasta_curves::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/pasta_curves/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pasta_curves::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: cryptofuzz::module::V8::V8
    functionSourceFile: /src/cryptofuzz/modules/v8/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void V8::V8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v8::bigint::FromStringAccumulator::Parse
      Src: /src/cryptofuzz/modules/v8/module.cpp:18,1
    - Dst: data
      Src: /src/cryptofuzz/modules/v8/module.cpp:18,1
    - Dst: data
      Src: /src/cryptofuzz/modules/v8/module.cpp:18,1
    - Dst: size
      Src: /src/cryptofuzz/modules/v8/module.cpp:18,1
    - Dst: v8::bigint::FromStringAccumulator::ResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:20,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/v8/module.cpp:22,1
    - Dst: v8::bigint::Processor*::FromString
      Src: /src/cryptofuzz/modules/v8/module.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - processor
    - ' bn'
    argTypes:
    - v8::bigint::Processor*
    - std::string
    constantsTouched: []
    func_position:
      end: 28
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 28
    functionName: cryptofuzz::module::V8_detail::ToDigits
    functionSourceFile: /src/cryptofuzz/modules/v8/module.cpp
    functionUses: 0
    functionsReached:
    - v8::bigint::FromStringAccumulator::ResultLength
    - v8::bigint::Processor*::FromString
    - CF_CHECK_EQ
    - data
    - v8::bigint::FromStringAccumulator::Parse
    - size
    linkageType: ''
    returnType: std::optional<v8::bigint::ScratchDigits>
    signature: std::optional<v8::bigint::ScratchDigits> ToDigits(v8::bigint::Processor*
      processor, const std::string& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/v8/module.cpp:31,1
    - Dst: cryptofuzz::module::V8_detail::ToDigits
      Src: /src/cryptofuzz/modules/v8/module.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - processor
    - ' bn'
    argTypes:
    - v8::bigint::Processor*
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::V8_detail::ToDigits
    functionSourceFile: /src/cryptofuzz/modules/v8/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::V8_detail::ToDigits
    - ToTrimmedString
    linkageType: ''
    returnType: std::optional<v8::bigint::ScratchDigits>
    signature: std::optional<v8::bigint::ScratchDigits> ToDigits(v8::bigint::Processor*
      processor, const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/v8/module.cpp:43,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/v8/module.cpp:43,1
    - Dst: New
      Src: /src/cryptofuzz/modules/v8/module.cpp:47,1
    - Dst: Platform::Platform
      Src: /src/cryptofuzz/modules/v8/module.cpp:47,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/v8/module.cpp:50,1
    - Dst: cryptofuzz::module::V8_detail::ToDigits
      Src: /src/cryptofuzz/modules/v8/module.cpp:50,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/v8/module.cpp:51,1
    - Dst: cryptofuzz::module::V8_detail::ToDigits
      Src: /src/cryptofuzz/modules/v8/module.cpp:51,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/v8/module.cpp:53,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/v8/module.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:59,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:60,1
    - Dst: AddResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:60,1
    - Dst: std::optional::len
      Src: /src/cryptofuzz/modules/v8/module.cpp:60,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:60,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:61,1
    - Dst: Add
      Src: /src/cryptofuzz/modules/v8/module.cpp:61,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:63,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/v8/module.cpp:64,1
    - Dst: std::optional::len
      Src: /src/cryptofuzz/modules/v8/module.cpp:64,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:64,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:65,1
    - Dst: SubtractResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:65,1
    - Dst: std::optional::len
      Src: /src/cryptofuzz/modules/v8/module.cpp:65,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:65,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:66,1
    - Dst: Subtract
      Src: /src/cryptofuzz/modules/v8/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:68,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:70,1
    - Dst: MultiplyResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:70,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/v8/module.cpp:74,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/v8/module.cpp:79,1
    - Dst: auto::Multiply
      Src: /src/cryptofuzz/modules/v8/module.cpp:79,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:82,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:82,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:87,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:87,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:91,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:91,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:96,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:96,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:104,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/v8/module.cpp:106,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/v8/module.cpp:106,1
    - Dst: DivideResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:107,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/v8/module.cpp:108,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:109,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:111,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:111,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/v8/module.cpp:115,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/v8/module.cpp:120,1
    - Dst: auto::Divide
      Src: /src/cryptofuzz/modules/v8/module.cpp:120,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:125,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:125,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:132,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:132,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:139,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:139,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:148,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/v8/module.cpp:150,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/v8/module.cpp:150,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/v8/module.cpp:153,1
    - Dst: Compare
      Src: /src/cryptofuzz/modules/v8/module.cpp:153,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:155,1
    - Dst: ModuloResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:155,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/v8/module.cpp:156,1
    - Dst: auto::Modulo
      Src: /src/cryptofuzz/modules/v8/module.cpp:156,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:158,1
    - Dst: Compare
      Src: /src/cryptofuzz/modules/v8/module.cpp:160,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/v8/module.cpp:168,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:172,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:173,1
    - Dst: BitwiseAnd_PosPos_ResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:173,1
    - Dst: std::optional::len
      Src: /src/cryptofuzz/modules/v8/module.cpp:173,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:173,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:174,1
    - Dst: BitwiseAnd_PosPos
      Src: /src/cryptofuzz/modules/v8/module.cpp:174,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:176,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:177,1
    - Dst: BitwiseOrResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:177,1
    - Dst: std::optional::len
      Src: /src/cryptofuzz/modules/v8/module.cpp:177,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:177,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:178,1
    - Dst: BitwiseOr_PosPos
      Src: /src/cryptofuzz/modules/v8/module.cpp:178,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:180,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:181,1
    - Dst: BitwiseXor_PosPos_ResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:181,1
    - Dst: std::optional::len
      Src: /src/cryptofuzz/modules/v8/module.cpp:181,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:181,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:182,1
    - Dst: BitwiseXor_PosPos
      Src: /src/cryptofuzz/modules/v8/module.cpp:182,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/v8/module.cpp:188,1
    - Dst: auto::ToString
      Src: /src/cryptofuzz/modules/v8/module.cpp:188,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/v8/module.cpp:192,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/v8/module.cpp:202,1
    - Dst: auto::Destroy
      Src: /src/cryptofuzz/modules/v8/module.cpp:203,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 121
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 206
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 206
    functionName: cryptofuzz::module::V8::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/v8/module.cpp
    functionUses: 0
    functionsReached:
    - auto::Multiply
    - BitwiseXor_PosPos_ResultLength
    - BitwiseOrResultLength
    - std::to_string
    - std::string
    - auto::Divide
    - static_cast<ProcessorImpl*>
    - CF_CALCOP
    - auto::ToString
    - modifier::GetPtr
    - DivideResultLength
    - New
    - MultiplyResultLength
    - Datasource::Get
    - ModuloResultLength
    - BitwiseAnd_PosPos_ResultLength
    - Add
    - CF_CHECK_EQ
    - cryptofuzz::module::V8_detail::ToDigits
    - Platform::Platform
    - AddResultLength
    - Subtract
    - std::make_unique<ScratchDigits>
    - auto::Modulo
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - calcOp::Get
    - BitwiseAnd_PosPos
    - cryptofuzz::util::malloc
    - BitwiseOr_PosPos
    - CF_NORET
    - Compare
    - bn1::ToTrimmedString
    - SubtractResultLength
    - auto::Destroy
    - len
    - CF_CHECK_NE
    - modifier::GetSize
    - CF_CHECK_GT
    - std::optional::len
    - BitwiseXor_PosPos
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> V8::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:15,1
    - Dst: mp_add
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:15,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:15,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:15,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 21
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 21
    functionName: cryptofuzz::module::libtommath_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_add
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:27,1
    - Dst: mp_sub
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:27,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:27,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:27,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::libtommath_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_sub
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:39,1
    - Dst: mp_mul
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:39,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:39,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:39,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: cryptofuzz::module::libtommath_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_mul
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:51,1
    - Dst: mp_div
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:51,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:51,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:51,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: cryptofuzz::module::libtommath_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_div
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:63,1
    - Dst: mp_gcd
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:63,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:63,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:63,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::libtommath_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_gcd
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:75,1
    - Dst: mp_lcm
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:75,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:75,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:75,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::libtommath_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_lcm
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:87,1
    - Dst: mp_mod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:87,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:87,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:87,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: cryptofuzz::module::libtommath_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_mod
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:100,1
    - Dst: mp_iszero
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:100,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:100,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:102,1
    - Dst: mp_exptmod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: cryptofuzz::module::libtommath_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_exptmod
    - GetPtr
    - mp_iszero
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:113,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:113,1
    - Dst: mp_iseven
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:113,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: cryptofuzz::module::libtommath_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - mp_iseven
    - GetPtr
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:121,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:121,1
    - Dst: mp_isodd
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:121,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: cryptofuzz::module::libtommath_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - std::to_string
    - mp_isodd
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:129,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:129,1
    - Dst: mp_iszero
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:129,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: cryptofuzz::module::libtommath_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - mp_iszero
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:137,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:137,1
    - Dst: mp_isneg
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:137,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: cryptofuzz::module::libtommath_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - mp_isneg
    - GetPtr
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:146,1
    - Dst: mp_addmod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:146,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:146,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:146,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:146,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: cryptofuzz::module::libtommath_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_addmod
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:158,1
    - Dst: mp_submod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:158,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:158,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:158,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:158,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: cryptofuzz::module::libtommath_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_submod
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:170,1
    - Dst: mp_mulmod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: cryptofuzz::module::libtommath_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_mulmod
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:182,1
    - Dst: mp_sqrmod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:182,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:182,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:182,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: cryptofuzz::module::libtommath_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_sqrmod
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:194,1
    - Dst: mp_invmod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: cryptofuzz::module::libtommath_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_invmod
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:207,1
    - Dst: mp_kronecker
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:207,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:207,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:207,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:209,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: cryptofuzz::module::libtommath_bignum::Jacobi::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - CF_CHECK_EQ
    - mp_kronecker
    - GetPtr
    - Set
    linkageType: ''
    returnType: bool
    signature: bool Jacobi::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:221,1
    - Dst: mp_sqrt
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:221,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:221,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: cryptofuzz::module::libtommath_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_sqrt
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:232,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:232,1
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:232,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:232,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: cryptofuzz::module::libtommath_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - mp_cmp
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:241,1
    - Dst: mp_neg
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:241,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:241,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: cryptofuzz::module::libtommath_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_neg
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:253,1
    - Dst: mp_abs
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:253,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:253,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: cryptofuzz::module::libtommath_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_abs
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:265,1
    - Dst: mp_and
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: cryptofuzz::module::libtommath_bignum::And::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_and
    linkageType: ''
    returnType: bool
    signature: bool And::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:277,1
    - Dst: mp_or
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:277,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:277,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:277,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: cryptofuzz::module::libtommath_bignum::Or::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_or
    linkageType: ''
    returnType: bool
    signature: bool Or::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:289,1
    - Dst: mp_xor
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:289,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:289,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:289,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: cryptofuzz::module::libtommath_bignum::Xor::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_xor
    linkageType: ''
    returnType: bool
    signature: bool Xor::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:301,1
    - Dst: mp_sqr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:301,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:301,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::libtommath_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_sqr
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:315,1
    - Dst: mp_is_square
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:315,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:315,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:317,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 323
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 323
    functionName: cryptofuzz::module::libtommath_bignum::IsSquare::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - CF_CHECK_EQ
    - GetPtr
    - Set
    - mp_is_square
    linkageType: ''
    returnType: bool
    signature: bool IsSquare::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:328,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:328,1
    - Dst: mp_count_bits
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:328,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: cryptofuzz::module::libtommath_bignum::NumBits::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - mp_count_bits
    - std::to_string
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool NumBits::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:337,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:337,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:337,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:337,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:338,1
    - Dst: mp_lshd
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:338,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: cryptofuzz::module::libtommath_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_copy
    - mp_lshd
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:352,1
    - Dst: GetInt
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:352,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:353,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:353,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:353,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:353,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:354,1
    - Dst: mp_rshd
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:354,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: cryptofuzz::module::libtommath_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_copy
    - mp_rshd
    - CF_NORET
    - CF_CHECK_EQ
    - GetPtr
    - CF_CHECK_NE
    - GetInt
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:366,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 372
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 372
    functionName: cryptofuzz::module::libtommath_bignum::Set::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_copy
    linkageType: ''
    returnType: bool
    signature: bool Set::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:381,1
    - Dst: mp_count_bits
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:381,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:381,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:383,1
    - Dst: mp_iszero
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:383,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:383,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:384,1
    - Dst: GetInt
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:384,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:385,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:386,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:387,1
    - Dst: mp_root_n
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:387,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:387,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 393
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 393
    functionName: cryptofuzz::module::libtommath_bignum::Nthrt::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_count_bits
    - CF_CHECK_LTE
    - GetPtr
    - CF_CHECK_NE
    - GetInt
    - mp_root_n
    - mp_iszero
    linkageType: ''
    returnType: bool
    signature: bool Nthrt::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: cryptofuzz::module::libtommath::libtommath
    functionSourceFile: /src/cryptofuzz/modules/libtommath/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void libtommath::libtommath(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:14,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:14,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:18,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:19,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:20,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:21,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:25,1
    - Dst: libtommath_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:25,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:26,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:26,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:26,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:27,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:27,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:27,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:28,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:28,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:28,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:29,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:29,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:29,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:31,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:32,1
    - Dst: std::make_unique<libtommath_bignum::Add>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:33,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:35,1
    - Dst: std::make_unique<libtommath_bignum::Sub>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:36,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:38,1
    - Dst: std::make_unique<libtommath_bignum::Mul>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:39,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:41,1
    - Dst: std::make_unique<libtommath_bignum::Div>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:42,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:44,1
    - Dst: std::make_unique<libtommath_bignum::GCD>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:45,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:47,1
    - Dst: std::make_unique<libtommath_bignum::LCM>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:48,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:50,1
    - Dst: std::make_unique<libtommath_bignum::Mod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:51,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:53,1
    - Dst: std::make_unique<libtommath_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:54,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:56,1
    - Dst: std::make_unique<libtommath_bignum::IsEven>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:57,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:59,1
    - Dst: std::make_unique<libtommath_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:60,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:62,1
    - Dst: std::make_unique<libtommath_bignum::IsZero>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:63,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:65,1
    - Dst: std::make_unique<libtommath_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:68,1
    - Dst: std::make_unique<libtommath_bignum::AddMod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:71,1
    - Dst: std::make_unique<libtommath_bignum::SubMod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:72,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:74,1
    - Dst: std::make_unique<libtommath_bignum::MulMod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:75,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:77,1
    - Dst: std::make_unique<libtommath_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:78,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:80,1
    - Dst: std::make_unique<libtommath_bignum::InvMod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:81,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:83,1
    - Dst: std::make_unique<libtommath_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:84,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:86,1
    - Dst: std::make_unique<libtommath_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:87,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:89,1
    - Dst: std::make_unique<libtommath_bignum::Cmp>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:90,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:92,1
    - Dst: std::make_unique<libtommath_bignum::Neg>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:93,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:95,1
    - Dst: std::make_unique<libtommath_bignum::Abs>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:96,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:98,1
    - Dst: std::make_unique<libtommath_bignum::And>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:99,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:101,1
    - Dst: std::make_unique<libtommath_bignum::Or>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:102,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:104,1
    - Dst: std::make_unique<libtommath_bignum::Xor>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:105,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:107,1
    - Dst: std::make_unique<libtommath_bignum::Sqr>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:108,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:110,1
    - Dst: std::make_unique<libtommath_bignum::IsSquare>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:111,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:113,1
    - Dst: std::make_unique<libtommath_bignum::NumBits>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:114,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:116,1
    - Dst: std::make_unique<libtommath_bignum::LShift1>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:117,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:119,1
    - Dst: std::make_unique<libtommath_bignum::RShift>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:120,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:122,1
    - Dst: std::make_unique<libtommath_bignum::Set>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:123,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:125,1
    - Dst: std::make_unique<libtommath_bignum::Nthrt>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:126,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:130,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:131,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:131,1
    - Dst: libtommath_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:133,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 110
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 137
      start: 12
    functionDepth: 3
    functionLinenumber: 12
    functionLinenumberEnd: 137
    functionName: cryptofuzz::module::libtommath::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libtommath/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<libtommath_bignum::And>
    - std::make_unique<libtommath_bignum::Sub>
    - std::make_unique<libtommath_bignum::Neg>
    - std::make_unique<libtommath_bignum::IsOdd>
    - std::make_unique<libtommath_bignum::SqrMod>
    - std::make_unique<libtommath_bignum::Mod>
    - std::make_unique<libtommath_bignum::LCM>
    - std::make_unique<libtommath_bignum::RShift>
    - std::make_unique<libtommath_bignum::Nthrt>
    - CF_CALCOP
    - std::make_unique<libtommath_bignum::SubMod>
    - std::make_unique<libtommath_bignum::Sqrt>
    - bn2::ToString
    - modifier::GetPtr
    - std::make_unique<libtommath_bignum::Mul>
    - std::make_unique<libtommath_bignum::ExpMod>
    - std::make_unique<libtommath_bignum::NumBits>
    - bn0::ToString
    - getBignum
    - std::make_unique<libtommath_bignum::Cmp>
    - libtommath_bignum::Bignum::ToComponentBignum
    - bn3::ToString
    - std::make_unique<libtommath_bignum::Add>
    - std::make_unique<libtommath_bignum::Div>
    - std::make_unique<libtommath_bignum::GCD>
    - CF_CHECK_EQ
    - std::make_unique<libtommath_bignum::MulMod>
    - std::make_unique<libtommath_bignum::IsSquare>
    - Set
    - std::make_unique<libtommath_bignum::Or>
    - std::make_unique<libtommath_bignum::Abs>
    - bn1::ToString
    - calcOp::Get
    - std::make_unique<libtommath_bignum::Jacobi>
    - libtommath_bignum::Bignum::Set
    - std::make_unique<libtommath_bignum::IsEven>
    - std::make_unique<libtommath_bignum::LShift1>
    - std::make_unique<libtommath_bignum::IsZero>
    - std::make_unique<libtommath_bignum::InvMod>
    - CF_CHECK_NE
    - std::unique_ptr::Run
    - std::make_unique<libtommath_bignum::IsNeg>
    - std::make_unique<libtommath_bignum::Sqr>
    - std::make_unique<libtommath_bignum::Xor>
    - std::make_unique<libtommath_bignum::Set>
    - std::make_unique<libtommath_bignum::AddMod>
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> libtommath::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:17,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - std::exception
    - mp_init
    linkageType: ''
    returnType: void
    signature: void Bignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_clear
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - mp_clear
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:28,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:29,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:31,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - std::exception
    - mp_init
    - mp_copy
    linkageType: ''
    returnType: void
    signature: void Bignum(const Bignum& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:37,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:38,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:40,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - std::exception
    - mp_init
    - mp_copy
    linkageType: ''
    returnType: void
    signature: void Bignum(const Bignum&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:48,1
    - Dst: mp_read_radix
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:48,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_read_radix
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mp_int
    signature: mp_int * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:62,1
    - Dst: mp_count_bits
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:62,1
    - Dst: cryptofuzz::module::libtommath_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:62,1
    - Dst: mp_get_i32
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:64,1
    - Dst: cryptofuzz::module::libtommath_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::GetInt
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libtommath_bignum::Bignum::GetPtr
    - mp_count_bits
    - CF_CHECK_LTE
    - mp_get_i32
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> GetInt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:78,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:80,1
    - Dst: mp_to_radix
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:80,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:82,1
    - Dst: free
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - free
    - malloc
    - std::string
    - mp_to_radix
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:21,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:21,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:23,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:26,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:29,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:32,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:35,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:35,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:38,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:41,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 48
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::is_cipher_consistent
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::CipherToString
    - std::string::find
    - std::string::rfind
    - component::SymmetricCipher::cipherType::Get
    linkageType: ''
    returnType: bool
    signature: bool is_cipher_consistent(component::SymmetricCipher cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ds
    argTypes:
    - Datasource*
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetGlobalDs(Datasource* ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsetGlobalDs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AllocationFailure
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool AllocationFailure(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:80,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:81,1
    - Dst: shrink_to_fit
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' vector'
    - size
    argTypes:
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: cryptofuzz::module::vector_extend
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - shrink_to_fit
    - resize
    linkageType: ''
    returnType: void
    signature: void vector_extend(std::vector<uint8_t>& vector, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::AllocationFailure
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:86,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::mbedTLS_custom_calloc
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::TF_PSA_Crypto_detail::AllocationFailure
    - memset
    linkageType: ''
    returnType: void
    signature: void * mbedTLS_custom_calloc(size_t A, size_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: cryptofuzz::module::mbedTLS_custom_free
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void mbedTLS_custom_free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_set_calloc_free
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:106,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:107,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:114,1
    - Dst: psa_crypto_init
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: cryptofuzz::module::TF_PSA_Crypto::TF_PSA_Crypto
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT_PSA
    - psa_crypto_init
    - abort
    - mbedtls_platform_set_calloc_free
    linkageType: ''
    returnType: void
    signature: void TF_PSA_Crypto::TF_PSA_Crypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_crypto_free
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: TF_PSA_Crypto::~TF_PSA_Crypto(void)
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_psa_crypto_free
    linkageType: ''
    returnType: void
    signature: void TF_PSA_Crypto::~TF_PSA_Crypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:128,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:129,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:130,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:131,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:132,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:133,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:134,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:135,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:136,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:137,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:138,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:141,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:141,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:141,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:145,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::digest_to_psa_algorithm_t
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: psa_algorithm_t
    signature: psa_algorithm_t digest_to_psa_algorithm_t(const component::DigestType&
      digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:149,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:149,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:150,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:150,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:152,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:154,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:156,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:158,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:158,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:160,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - ' cipherType'
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_key_type_t
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::CipherToString
    - Get
    - std::string::rfind
    - std::string::find
    linkageType: ''
    returnType: psa_key_type_t
    signature: psa_key_type_t cipher_to_psa_key_type_t(const component::SymmetricCipherType&
      cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:169,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:169,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:170,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:172,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:174,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:180,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:182,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:184,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:184,1
    - Dst: std::string::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:184,1
    - Dst: std::string::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:184,1
    - Dst: cryptofuzz::repository::IsCTR
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:188,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:190,1
    - Dst: cryptofuzz::repository::IsGCM
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:192,1
    - Dst: cryptofuzz::repository::IsOFB
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:194,1
    - Dst: cryptofuzz::repository::IsAES
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:195,1
    - Dst: cryptofuzz::repository::IsXTS
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:202,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:205,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:207,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - ' cipherType'
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 212
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 212
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_algorithm_t
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::IsECB
    - cryptofuzz::repository::CipherToString
    - cryptofuzz::repository::IsXTS
    - cryptofuzz::repository::IsAES
    - std::string::rfind
    - cryptofuzz::repository::IsCBC
    - cryptofuzz::repository::IsCTR
    - cryptofuzz::repository::IsOFB
    - std::string::end
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - std::string::size
    - Get
    - std::equal
    - cryptofuzz::repository::IsGCM
    linkageType: ''
    returnType: psa_algorithm_t
    signature: psa_algorithm_t cipher_to_psa_algorithm_t(const component::SymmetricCipherType&
      cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::HashOperation
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HashOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_abort
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: ~HashOperation()
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_hash_abort
    linkageType: ''
    returnType: void
    signature: void ~HashOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::setup
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_hash_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t setup(psa_algorithm_t alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::update
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_hash_update
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t update(const unsigned char *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::finish
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_hash_finish
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t finish(unsigned char *output, size_t output_size,\n                            size_t
      *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - hash_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::verify
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_hash_verify
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t verify(const unsigned char *hash, size_t hash_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::KeyOperation::KeyOperation
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_destroy_key
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: ~KeyOperation()
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_destroy_key
    linkageType: ''
    returnType: void
    signature: void ~KeyOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:265,1
    - Dst: psa_set_key_type
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:267,1
    - Dst: psa_set_key_usage_flags
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:268,1
    - Dst: usage_flags
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:268,1
    - Dst: psa_set_key_algorithm
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:269,1
    - Dst: psa_import_key
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - key_type_
    - key_data
    - key_length
    - alg_
    argTypes:
    - psa_key_type_t
    - unsigned char*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::KeyOperation::set_key
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - usage_flags
    - psa_set_key_algorithm
    - PSA_BYTES_TO_BITS
    - psa_set_key_usage_flags
    - psa_set_key_type
    - psa_import_key
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t set_key(psa_key_type_t key_type_,\n                             const
      unsigned char *key_data, size_t key_length,\n                             psa_algorithm_t
      alg_)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::usage_flags
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: psa_key_usage_t
    signature: psa_key_usage_t usage_flags() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::MACOperation
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MACOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_abort
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: ~MACOperation()
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_abort
    linkageType: ''
    returnType: void
    signature: void ~MACOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_MAC_LENGTH
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::length
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_MAC_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_compute
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::sign
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_compute
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t sign(const unsigned char *input, size_t input_length,\n
      \                         unsigned char *output, size_t output_size,\n                          size_t
      *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - input_length
    - mac
    - mac_length
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::verify
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_verify
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t verify(const unsigned char *input, size_t input_length,\n
      \                           const unsigned char *mac, size_t mac_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_sign_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::sign_start
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_sign_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t sign_start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_verify_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::verify_start
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_verify_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t verify_start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::update
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_update
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t update(const unsigned char *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_sign_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::sign_finish
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_sign_finish
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t sign_finish(unsigned char *output, size_t output_size,\n
      \                                size_t *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_verify_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mac
    - mac_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::verify_finish
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_verify_finish
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t verify_finish(const unsigned char *mac, size_t mac_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::usage_flags
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: psa_key_usage_t
    signature: psa_key_usage_t usage_flags() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::CipherOperation
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CipherOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_abort
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: ~CipherOperation()
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_abort
    linkageType: ''
    returnType: void
    signature: void ~CipherOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_BLOCK_CIPHER_BLOCK_LENGTH
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_BLOCK_CIPHER_BLOCK_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t block_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_CIPHER_DECRYPT_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::decrypt_output_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_CIPHER_DECRYPT_OUTPUT_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t decrypt_output_size(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:346,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::update_output_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
    linkageType: ''
    returnType: size_t
    signature: size_t update_output_size(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_CIPHER_FINISH_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::finish_output_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_CIPHER_FINISH_OUTPUT_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t finish_output_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::has_padding
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t has_padding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:378,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - iv_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 383
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 383
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::is_valid_iv_length
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
    linkageType: ''
    returnType: bool
    signature: bool is_valid_iv_length(size_t iv_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::has_padding
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:393,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::has_padding
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:397,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:398,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:405,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:410,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:412,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 3
    argNames:
    - is_encrypt
    - input_length
    - status
    argTypes:
    - bool
    - size_t
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 414
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 414
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::check_finish_status
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::has_padding
    - cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
    - printf
    linkageType: ''
    returnType: bool
    signature: "bool check_finish_status(bool is_encrypt, size_t input_length,\n                                 psa_status_t
      status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_decrypt
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::decrypt
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_decrypt
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t decrypt(const unsigned char *input, size_t input_length,\n
      \                            unsigned char *output, size_t output_size,\n                             size_t
      *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_encrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::encrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_encrypt_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t encrypt_setup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_decrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::decrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_decrypt_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t decrypt_setup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_set_iv
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iv
    - iv_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::set_iv
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_set_iv
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t set_iv(const unsigned char *iv, size_t iv_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 441
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::update
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_update
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t update(const unsigned char *input, size_t input_length,\n
      \                           unsigned char *output, size_t output_size,\n                            size_t
      *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::finish
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_finish
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t finish(unsigned char *output, size_t output_size,\n                            size_t
      *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::usage_flags
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: psa_key_usage_t
    signature: psa_key_usage_t usage_flags() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::AEADOperation
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AEADOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_abort
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: ~AEADOperation()
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_abort
    linkageType: ''
    returnType: void
    signature: void ~AEADOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_AEAD_TAG_LENGTH
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::tag_length
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_AEAD_TAG_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t tag_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_AEAD_UPDATE_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - part_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::update_output_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_AEAD_UPDATE_OUTPUT_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t update_output_size(size_t part_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_AEAD_FINISH_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::finish_output_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_AEAD_FINISH_OUTPUT_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t finish_output_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_AEAD_VERIFY_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::verify_output_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_AEAD_VERIFY_OUTPUT_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t verify_output_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - iv_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 489
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 489
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::is_valid_iv_length
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid_iv_length(size_t iv_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:495,1
    - Dst: PSA_AEAD_ENCRYPT_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:496,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:497,1
    - Dst: psa_aead_encrypt
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:499,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:500,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:500,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:501,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:501,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:502,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:502,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:503,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:503,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' iv'
    - ' aad'
    - ' cleartext'
    - ' ciphertext_with_tag'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 510
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 510
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::encrypt
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_encrypt
    - data
    - PSA_AEAD_ENCRYPT_OUTPUT_SIZE
    - size
    - vector_extend
    - resize
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t encrypt(const std::vector<uint8_t>& iv,\n                             const
      std::vector<uint8_t>& aad,\n                             const std::vector<uint8_t>&
      cleartext,\n                             std::vector<uint8_t>& ciphertext_with_tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:516,1
    - Dst: PSA_AEAD_DECRYPT_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:517,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:518,1
    - Dst: psa_aead_decrypt
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:520,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:521,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:521,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:522,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:522,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:523,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:523,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:524,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:524,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' iv'
    - ' aad'
    - ' ciphertext_with_tag'
    - ' cleartext'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 530
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 530
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::decrypt
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - psa_aead_decrypt
    - PSA_AEAD_DECRYPT_OUTPUT_SIZE
    - size
    - vector_extend
    - resize
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t decrypt(const std::vector<uint8_t>& iv,\n                             const
      std::vector<uint8_t>& aad,\n                             const std::vector<uint8_t>&
      ciphertext_with_tag,\n                             std::vector<uint8_t>& cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_encrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::encrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_encrypt_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t encrypt_setup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_decrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::decrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_decrypt_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t decrypt_setup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_set_lengths
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aad_length
    - cleartext_length
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::set_lengths
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_set_lengths
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t set_lengths(size_t aad_length, size_t cleartext_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_set_nonce
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iv
    - iv_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::set_iv
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_set_nonce
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t set_iv(const unsigned char *iv, size_t iv_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_update_ad
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 546
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::update_aad
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_update_ad
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t update_aad(const unsigned char *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::update
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_update
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t update(const unsigned char *input, size_t input_length,\n
      \                           unsigned char *output, size_t output_size,\n                            size_t
      *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ciphertext
    - ciphertext_size
    - ciphertext_length
    - tag
    - tag_size
    - tag_length
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 560
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 560
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::finish
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_finish
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t finish(unsigned char *ciphertext, size_t ciphertext_size,\n
      \                           size_t *ciphertext_length,\n                            unsigned
      char *tag, size_t tag_size,\n                            size_t *tag_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cleartext
    - cleartext_size
    - cleartext_length
    - tag
    - tag_length
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::verify
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_verify
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t verify(unsigned char *cleartext, size_t cleartext_size,\n
      \                           size_t *cleartext_length,\n                            unsigned
      char *tag, size_t tag_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:581,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:582,1
    - Dst: TF_PSA_Crypto_detail::HashOperation::setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:582,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:586,1
    - Dst: TF_PSA_Crypto_detail::HashOperation::update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:586,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:590,1
    - Dst: TF_PSA_Crypto_detail::HashOperation::finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:590,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:590,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:590,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:593,1
    - Dst: psa_hash_compute
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:593,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:594,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:594,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:595,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:595,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:597,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' op'
    - ds
    - alg
    argTypes:
    - operation::Digest
    - Datasource
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 598
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 598
    functionName: cryptofuzz::module::hash_compute
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - generate_Digest
    - cryptofuzz::util::ToParts
    - cleartext::GetSize
    - TF_PSA_Crypto_detail::HashOperation::setup
    - CF_ASSERT_PSA
    - psa_hash_compute
    - cleartext::GetPtr
    - TF_PSA_Crypto_detail::HashOperation::update
    - TF_PSA_Crypto_detail::HashOperation::finish
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: "std::optional<component::Digest> hash_compute(operation::Digest& op,\n
      \                                                    Datasource &ds,\n                                                     psa_algorithm_t
      alg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:607,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:607,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:607,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:608,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:616,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:617,1
    - Dst: TF_PSA_Crypto_detail::HashOperation::setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:617,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:621,1
    - Dst: TF_PSA_Crypto_detail::HashOperation::update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:621,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:625,1
    - Dst: TF_PSA_Crypto_detail::HashOperation::verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:625,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:625,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:625,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:629,1
    - Dst: psa_hash_compare
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:629,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:630,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:630,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:631,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' op'
    - ds
    - alg
    - expected_md
    argTypes:
    - operation::Digest
    - Datasource
    - psa_algorithm_t
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 634
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 634
    functionName: cryptofuzz::module::hash_verify
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - CF_ASSERT_EQ
    - TF_PSA_Crypto_detail::HashOperation::verify
    - std::vector::size
    - cryptofuzz::util::ToParts
    - std::vector<uint8_t>::size
    - TF_PSA_Crypto_detail::HashOperation::setup
    - cleartext::GetSize
    - CF_ASSERT_PSA
    - cleartext::GetPtr
    - Datasource::GetData
    - TF_PSA_Crypto_detail::HashOperation::update
    - psa_hash_compare
    linkageType: ''
    returnType: void
    signature: "void hash_verify(operation::Digest& op,\n                        Datasource
      &ds,\n                        psa_algorithm_t alg,\n                        std::vector<uint8_t>
      expected_md)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:638,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:638,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:639,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::digest_to_psa_algorithm_t
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:642,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:644,1
    - Dst: hash_compute
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:646,1
    - Dst: hash_verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:647,1
    - Dst: std::optional::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:647,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 653
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 653
    functionName: cryptofuzz::module::TF_PSA_Crypto::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
    - modifier::GetPtr
    - std::optional::Get
    - hash_verify
    - CF_CHECK_NE
    - cryptofuzz::module::TF_PSA_Crypto_detail::digest_to_psa_algorithm_t
    - cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
    - modifier::GetSize
    - hash_compute
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> TF_PSA_Crypto::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:659,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:663,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:664,1
    - Dst: sign_start
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:664,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:666,1
    - Dst: update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:666,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:668,1
    - Dst: sign_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:668,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:668,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:668,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:671,1
    - Dst: sign
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:671,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:671,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:671,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:672,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:672,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:674,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' operation'
    - ' cleartext'
    - ds
    argTypes:
    - TF_PSA_Crypto_detail::MACOperation
    - component::Cleartext
    - Datasource
    constantsTouched: []
    func_position:
      end: 675
      start: 655
    functionDepth: 4
    functionLinenumber: 655
    functionLinenumberEnd: 675
    functionName: cryptofuzz::module::mac_compute
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - sign
    - cryptofuzz::util::ToParts
    - update
    - length
    - CF_ASSERT_PSA
    - GetPtr
    - sign_finish
    - generate_HMAC
    - sign_start
    - GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: "std::optional<component::MAC> mac_compute(\n        TF_PSA_Crypto_detail::MACOperation&
      operation,\n        const component::Cleartext& cleartext,\n        Datasource
      &ds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:685,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:685,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:685,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:686,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:692,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:693,1
    - Dst: verify_start
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:693,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:695,1
    - Dst: update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:695,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:697,1
    - Dst: verify_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:697,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:697,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:697,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:700,1
    - Dst: verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:700,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:700,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:700,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:701,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' operation'
    - ' cleartext'
    - ds
    - expected_mac
    argTypes:
    - TF_PSA_Crypto_detail::MACOperation
    - component::Cleartext
    - Datasource
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 704
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 704
    functionName: cryptofuzz::module::mac_verify
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - CF_ASSERT_EQ
    - std::vector::size
    - verify_start
    - cryptofuzz::util::ToParts
    - update
    - verify
    - verify_finish
    - std::vector<uint8_t>::size
    - CF_ASSERT_PSA
    - GetPtr
    - Datasource::GetData
    - GetSize
    linkageType: ''
    returnType: void
    signature: "void mac_verify(\n        TF_PSA_Crypto_detail::MACOperation& operation,\n
      \       const component::Cleartext& cleartext,\n        Datasource &ds,\n        std::vector<uint8_t>
      expected_mac)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:708,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:708,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:709,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::digest_to_psa_algorithm_t
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:712,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:714,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:717,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:717,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:720,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:720,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:724,1
    - Dst: TF_PSA_Crypto_detail::MACOperation::set_key
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:724,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:725,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:726,1
    - Dst: PSA_ALG_HMAC
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:727,1
    - Dst: mac_compute
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:728,1
    - Dst: mac_verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:729,1
    - Dst: std::optional::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:729,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 736
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 736
    functionName: cryptofuzz::module::TF_PSA_Crypto::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
    - modifier::GetPtr
    - cipher::key::GetSize
    - TF_PSA_Crypto_detail::MACOperation::set_key
    - cipher::key::GetPtr
    - std::optional::Get
    - mac_compute
    - mac_verify
    - CF_CHECK_LTE
    - PSA_ALG_HMAC
    - CF_ASSERT_PSA
    - CF_CHECK_NE
    - cryptofuzz::module::TF_PSA_Crypto_detail::digest_to_psa_algorithm_t
    - cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> TF_PSA_Crypto::OpHMAC(operation::HMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:740,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:740,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:741,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:743,1
    - Dst: is_cipher_consistent
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:743,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_key_type_t
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:747,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:749,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:752,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:752,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:752,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:754,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:755,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:758,1
    - Dst: TF_PSA_Crypto_detail::MACOperation::set_key
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:758,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:759,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:760,1
    - Dst: mac_compute
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:762,1
    - Dst: mac_verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:763,1
    - Dst: std::optional::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:763,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 770
      start: 738
    functionDepth: 3
    functionLinenumber: 738
    functionLinenumberEnd: 770
    functionName: cryptofuzz::module::TF_PSA_Crypto::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - cipher::cipherType::Get
    - cipher::key::GetSize
    - TF_PSA_Crypto_detail::MACOperation::set_key
    - cipher::key::GetPtr
    - mac_compute
    - mac_verify
    - cryptofuzz::repository::IsCBC
    - std::optional::Get
    - CF_ASSERT_PSA
    - cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_key_type_t
    - CF_CHECK_NE
    - is_cipher_consistent
    - cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> TF_PSA_Crypto::OpCMAC(operation::CMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:777,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:777,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:777,1
    - Dst: end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:777,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:779,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::decrypt_output_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:779,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:779,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::decrypt
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:781,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:781,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:781,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:782,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:782,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:784,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::check_finish_status
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:785,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - operation
    - iv
    - ' ciphertext'
    - ' cleartext'
    argTypes:
    - TF_PSA_Crypto_detail::CipherOperation
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 786
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 786
    functionName: cryptofuzz::module::cipher_decrypt_oneshot
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - TF_PSA_Crypto_detail::CipherOperation::check_finish_status
    - std::vector::insert
    - end
    - data
    - cryptofuzz::module::vector_extend
    - TF_PSA_Crypto_detail::CipherOperation::decrypt
    - size
    - TF_PSA_Crypto_detail::CipherOperation::decrypt_output_size
    - resize
    - begin
    - std::vector::end
    linkageType: ''
    returnType: bool
    signature: "bool cipher_decrypt_oneshot(TF_PSA_Crypto_detail::CipherOperation
      operation,\n                                   const std::vector<uint8_t> &iv,\n
      \                                  const std::vector<uint8_t>& ciphertext,\n
      \                                  std::vector<uint8_t>& cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:796,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::encrypt
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:796,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:797,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:797,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:799,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:799,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:800,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:800,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:800,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:800,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:801,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:802,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:802,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:802,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - operation
    - iv
    - ' aad'
    - ' cleartext'
    - ' ciphertext'
    - ' tag'
    argTypes:
    - TF_PSA_Crypto_detail::AEADOperation
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 803
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 803
    functionName: cryptofuzz::module::aead_encrypt_oneshot
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - TF_PSA_Crypto_detail::AEADOperation::encrypt
    - copy
    - begin
    - CF_ASSERT_PSA
    - cryptofuzz::module::vector_extend
    - CF_ASSERT
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: "void aead_encrypt_oneshot(TF_PSA_Crypto_detail::AEADOperation operation,\n
      \                                const std::vector<uint8_t> &iv,\n                                 const
      std::vector<uint8_t>& aad,\n                                 const std::vector<uint8_t>&
      cleartext,\n                                 std::vector<uint8_t>& ciphertext,\n
      \                                std::vector<uint8_t>& tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:812,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:812,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:812,1
    - Dst: end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:812,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::decrypt
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:813,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - operation
    - ' iv'
    - aad
    - ' ciphertext'
    - ' tag'
    - cleartext
    argTypes:
    - TF_PSA_Crypto_detail::AEADOperation
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 818
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 818
    functionName: cryptofuzz::module::aead_decrypt_oneshot
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - end
    - TF_PSA_Crypto_detail::AEADOperation::decrypt
    - CF_ASSERT
    - begin
    - std::vector::end
    linkageType: ''
    returnType: bool
    signature: "bool aead_decrypt_oneshot(TF_PSA_Crypto_detail::AEADOperation operation,\n
      \                                const std::vector<uint8_t>& iv,\n                                 const
      std::vector<uint8_t> &aad,\n                                 const std::vector<uint8_t>&
      ciphertext,\n                                 const std::vector<uint8_t>& tag,\n
      \                                std::vector<uint8_t> &cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:826,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::encrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:826,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:828,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::decrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:828,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:832,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::set_iv
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:832,1
    - Dst: std::optional<std::vector<uint8_t>>::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:832,1
    - Dst: std::optional<std::vector<uint8_t>>::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:832,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:835,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:839,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::update_output_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:839,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:842,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:842,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:843,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:844,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:846,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:850,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::finish_output_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:850,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:852,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:852,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:853,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:855,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::check_finish_status
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - operation
    - is_encrypt
    - iv
    - ' input_parts'
    - ' output'
    argTypes:
    - TF_PSA_Crypto_detail::CipherOperation
    - bool
    - std::optional<std::vector<uint8_t>>
    - util::Multipart
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 857
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 857
    functionName: cryptofuzz::module::cipher_multipart
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::optional<std::vector<uint8_t>>::data
    - TF_PSA_Crypto_detail::CipherOperation::check_finish_status
    - data
    - TF_PSA_Crypto_detail::CipherOperation::update
    - std::optional<std::vector<uint8_t>>::size
    - CF_ASSERT_PSA
    - cryptofuzz::module::vector_extend
    - TF_PSA_Crypto_detail::CipherOperation::encrypt_setup
    - TF_PSA_Crypto_detail::CipherOperation::update_output_size
    - TF_PSA_Crypto_detail::CipherOperation::finish_output_size
    - size
    - resize
    - TF_PSA_Crypto_detail::CipherOperation::decrypt_setup
    - TF_PSA_Crypto_detail::CipherOperation::finish
    - TF_PSA_Crypto_detail::CipherOperation::set_iv
    linkageType: ''
    returnType: bool
    signature: "bool cipher_multipart(TF_PSA_Crypto_detail::CipherOperation operation,\n
      \                            bool is_encrypt,\n                             const
      std::optional<std::vector<uint8_t>> iv,\n                             const
      util::Multipart& input_parts,\n                             std::vector<uint8_t>&
      output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:867,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::encrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:867,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:869,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::decrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:869,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:873,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::set_lengths
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:873,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:875,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::set_iv
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:875,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:875,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:875,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:878,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::update_aad
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:878,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:881,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:884,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::update_output_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:884,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:886,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:886,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:887,1
    - Dst: capacity
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:888,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:890,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:895,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::finish_output_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:895,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:896,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::tag_length
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:896,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:899,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:899,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:899,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:900,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:902,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:902,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:903,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:904,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:907,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::verify_output_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:907,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:909,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:909,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:910,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:912,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:912,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:913,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 9
    argNames:
    - operation
    - is_encrypt
    - ' iv'
    - ' aad_parts'
    - aad_length
    - ' input_parts'
    - input_length
    - ' output'
    - ' tag'
    argTypes:
    - TF_PSA_Crypto_detail::AEADOperation
    - bool
    - std::vector<uint8_t>
    - util::Multipart
    - size_t
    - util::Multipart
    - size_t
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 919
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 919
    functionName: cryptofuzz::module::aead_multipart
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - TF_PSA_Crypto_detail::AEADOperation::update_output_size
    - TF_PSA_Crypto_detail::AEADOperation::update_aad
    - TF_PSA_Crypto_detail::AEADOperation::verify
    - cryptofuzz::module::vector_extend
    - CF_ASSERT
    - TF_PSA_Crypto_detail::AEADOperation::encrypt_setup
    - TF_PSA_Crypto_detail::AEADOperation::verify_output_size
    - TF_PSA_Crypto_detail::AEADOperation::set_lengths
    - TF_PSA_Crypto_detail::AEADOperation::update
    - data
    - TF_PSA_Crypto_detail::AEADOperation::decrypt_setup
    - TF_PSA_Crypto_detail::AEADOperation::finish
    - resize
    - TF_PSA_Crypto_detail::AEADOperation::finish_output_size
    - TF_PSA_Crypto_detail::AEADOperation::set_iv
    - CF_ASSERT_PSA
    - capacity
    - size
    - TF_PSA_Crypto_detail::AEADOperation::tag_length
    linkageType: ''
    returnType: bool
    signature: "bool aead_multipart(TF_PSA_Crypto_detail::AEADOperation operation,\n
      \                          bool is_encrypt,\n                           const
      std::vector<uint8_t>& iv,\n                           const util::Multipart&
      aad_parts, size_t aad_length,\n                           const util::Multipart&
      input_parts, size_t input_length,\n                           std::vector<uint8_t>&
      output,\n                           std::vector<uint8_t>& tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:928,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:928,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:929,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:931,1
    - Dst: cryptofuzz::module::is_cipher_consistent
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:931,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_key_type_t
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:935,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_algorithm_t
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:937,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:939,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:940,1
    - Dst: cryptofuzz::repository::IsAEAD
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:944,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:944,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:945,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:945,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:945,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:947,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::set_key
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:947,1
    - Dst: component::SymmetricCipher::key::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:948,1
    - Dst: component::SymmetricCipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:949,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:953,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::is_valid_iv_length
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:953,1
    - Dst: component::SymmetricCipher::iv::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:953,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:957,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:957,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::tag_length
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:957,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:960,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:961,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:968,1
    - Dst: cryptofuzz::module::aead_encrypt_oneshot
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:971,1
    - Dst: component::SymmetricCipher::iv::GetConstVectorPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:972,1
    - Dst: GetConstVectorPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:974,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:983,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:992,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::set_key
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:992,1
    - Dst: component::SymmetricCipher::key::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:993,1
    - Dst: component::SymmetricCipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:994,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:998,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::is_valid_iv_length
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:998,1
    - Dst: component::SymmetricCipher::iv::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:998,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1008,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1008,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1009,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1009,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1010,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1010,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1010,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1017,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1017,1
    - Dst: std::optional
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1019,1
    - Dst: component::SymmetricCipher::iv::GetConstVectorPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1019,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1020,1
    - Dst: cryptofuzz::module::cipher_multipart
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1021,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1026,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1026,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1027,1
    - Dst: component::SymmetricCipher::iv::GetConstVectorPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1028,1
    - Dst: cryptofuzz::module::cipher_decrypt_oneshot
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1029,1
    - Dst: GetConstVectorPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1030,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1033,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1037,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1041,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 7
    argNames:
    - ' op'
    - is_encrypt
    - cipher
    - ' aad'
    - ' input'
    - ' output'
    - ' tag'
    argTypes:
    - operation::Operation
    - bool
    - component::SymmetricCipher
    - std::vector<uint8_t>
    - Buffer
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1043
      start: 921
    functionDepth: 3
    functionLinenumber: 921
    functionLinenumberEnd: 1043
    functionName: cryptofuzz::module::cipher_common
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - component::SymmetricCipher::iv::GetConstVectorPtr
    - std::optional
    - cryptofuzz::repository::IsCBC
    - cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_key_type_t
    - TF_PSA_Crypto_detail::AEADOperation::set_key
    - cryptofuzz::module::cipher_multipart
    - component::SymmetricCipher::iv::GetSize
    - GetSize
    - modifier::GetPtr
    - std::vector<uint8_t>
    - cryptofuzz::module::aead_encrypt_oneshot
    - TF_PSA_Crypto_detail::CipherOperation::set_key
    - GetConstVectorPtr
    - component::SymmetricCipher::key::GetSize
    - TF_PSA_Crypto_detail::CipherOperation::is_valid_iv_length
    - cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
    - cryptofuzz::repository::IsECB
    - CF_CHECK_EQ
    - cryptofuzz::module::is_cipher_consistent
    - component::SymmetricCipher::key::GetPtr
    - cryptofuzz::repository::IsCCM
    - TF_PSA_Crypto_detail::CipherOperation::block_size
    - cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
    - cryptofuzz::util::ToParts
    - CF_CHECK_TRUE
    - cryptofuzz::repository::IsAEAD
    - cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_algorithm_t
    - TF_PSA_Crypto_detail::AEADOperation::is_valid_iv_length
    - component::SymmetricCipher::cipherType::Get
    - CF_ASSERT_PSA
    - CF_CHECK_NE
    - cryptofuzz::module::cipher_decrypt_oneshot
    - size
    - modifier::GetSize
    - TF_PSA_Crypto_detail::AEADOperation::tag_length
    linkageType: ''
    returnType: bool
    signature: "bool cipher_common(operation::Operation& op,\n                          bool
      is_encrypt,\n                          component::SymmetricCipher cipher,\n
      \                         const std::vector<uint8_t>& aad,\n                          const
      Buffer& input,\n                          std::vector<uint8_t>& output,\n                          std::vector<uint8_t>&
      tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aad::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1047,1
    - Dst: tagSize::value
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1048,1
    - Dst: cipher_common
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1049,1
    - Dst: std::optional
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1053,1
    - Dst: Botan::BER_Bad_Tag::BER_Bad_Tag
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1053,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1054,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1055
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1055
    functionName: cryptofuzz::module::TF_PSA_Crypto::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - aad::Get
    - std::optional
    - Botan::BER_Bad_Tag::BER_Bad_Tag
    - cipher_common
    - tagSize::value
    - cryptofuzz::component::Ciphertext::Ciphertext
    - Buffer
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> TF_PSA_Crypto::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aad::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1059,1
    - Dst: tag::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1060,1
    - Dst: cipher_common
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1061,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1067
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1067
    functionName: cryptofuzz::module::TF_PSA_Crypto::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - aad::Get
    - tag::Get
    - cipher_common
    - Buffer
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> TF_PSA_Crypto::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: cryptofuzz::module::Monocypher::Monocypher
    functionSourceFile: /src/cryptofuzz/modules/monocypher/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Monocypher::Monocypher(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:13,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:13,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:16,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:16,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:19,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:24,1
    - Dst: crypto_blake2b_init
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:27,1
    - Dst: crypto_blake2b_update
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:29,1
    - Dst: crypto_blake2b_final
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:31,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:32,1
    - Dst: crypto_blake2b
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:35,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:35,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:35,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 41
      start: 12
    functionDepth: 4
    functionLinenumber: 12
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::Monocypher::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/monocypher/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_blake2b_final
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - generate_Digest
    - cleartext::GetSize
    - digestType::Get
    - crypto_blake2b_init
    - cleartext::GetPtr
    - CF_DIGEST
    - crypto_blake2b
    - modifier::GetSize
    - Datasource::Get
    - crypto_blake2b_update
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Monocypher::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:47,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:47,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:49,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:49,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:50,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:50,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:52,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:52,1
    - Dst: crypto_chacha20
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:54,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:56,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:57,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:58,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:59,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:61,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:61,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:61,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:63,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:63,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:64,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:64,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:65,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:65,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:66,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:67,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:71,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:71,1
    - Dst: crypto_lock_aead
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:73,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:76,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:77,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:78,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:79,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:80,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:81,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:83,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:84,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:84,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:85,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 91
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 91
    functionName: cryptofuzz::module::Monocypher::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/monocypher/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_chacha20
    - cipher::cipherType::Get
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - crypto_lock_aead
    - cleartext::GetPtr
    - CF_CHECK_NE
    - aad::GetPtr
    - cipher::iv::GetSize
    - aad::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::component::Ciphertext::Ciphertext
    - CF_CIPHER
    - Buffer
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Monocypher::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:97,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:97,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:99,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:99,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:100,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:100,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:102,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:102,1
    - Dst: crypto_chacha20
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:104,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:106,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:107,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:108,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:109,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:111,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:111,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:111,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:113,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:113,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:114,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:114,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:115,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:115,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:116,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:117,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:117,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:119,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:119,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:121,1
    - Dst: crypto_unlock_aead
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:121,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:123,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:124,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:125,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:126,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:127,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:128,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:129,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:131,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:131,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:131,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 137
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 137
    functionName: cryptofuzz::module::Monocypher::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/monocypher/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_chacha20
    - ciphertext::GetPtr
    - ciphertext::GetSize
    - crypto_unlock_aead
    - cipher::cipherType::Get
    - component::Cleartext
    - aad::GetSize
    - Buffer
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CIPHER
    - cipher::iv::GetPtr
    - tag::GetSize
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - CF_CHECK_NE
    - tag::GetPtr
    - aad::GetPtr
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Monocypher::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:171,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:173,1
    - Dst: crypto_argon2
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:173,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:175,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:175,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:176,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:178,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:180,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 184
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 184
    functionName: cryptofuzz::module::Monocypher::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/monocypher/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_NORET
    - crypto_argon2
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Monocypher::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: random32
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t random32(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::trezor_firmware::trezor_firmware
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trezor_firmware::trezor_firmware(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:43,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/trezor/module.cpp:43,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/trezor/module.cpp:44,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/trezor/module.cpp:47,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:49,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/trezor/module.cpp:50,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/trezor/module.cpp:50,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/trezor/module.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - std::string
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - boost::multiprecision::export_bits
    - std::back_inserter
    - memset
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool EncodeBignum(const std::string s, uint8_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/trezor/module.cpp:59,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/trezor/module.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::trezor_firmware_detail::toString
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const boost::multiprecision::cpp_int& i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:69,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:70,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/trezor/module.cpp:73,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:73,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/trezor/module.cpp:73,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/trezor/module.cpp:77,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: cryptofuzz::module::trezor_firmware_detail::toCurve
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - CF_ECC_CURVE
    - std::map::at
    - Get
    linkageType: ''
    returnType: std::optional<const ecdsa_curve*>
    signature: std::optional<const ecdsa_curve*> toCurve(const component::CurveType&
      curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:84,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:85,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:86,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:87,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/trezor/module.cpp:90,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:90,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/trezor/module.cpp:90,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/trezor/module.cpp:94,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: cryptofuzz::module::trezor_firmware_detail::toHasherType
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: std::optional<HasherType>
    signature: std::optional<HasherType> toHasherType(const component::DigestType&
      digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/modules/trezor/module.cpp:101,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:101,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:102,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/trezor/module.cpp:103,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/trezor/module.cpp:104,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:104,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/trezor/module.cpp:105,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/trezor/module.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' curveType'
    - ' priv'
    argTypes:
    - component::CurveType
    - component::ECC_PrivateKey
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: cryptofuzz::module::trezor_firmware_detail::CheckValidity
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - cryptofuzz::module::blst_detail::To_cpp_int
    - CF_CHECK_GT
    - CF_CHECK_NE
    - cryptofuzz::repository::ECC_CurveToOrder
    - ToTrimmedString
    - Get
    linkageType: ''
    returnType: bool
    signature: bool CheckValidity(const component::CurveType& curveType, const component::ECC_PrivateKey&
      priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:120,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:120,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:122,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::CheckValidity
      Src: /src/cryptofuzz/modules/trezor/module.cpp:122,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:124,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:124,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:125,1
    - Dst: ecdsa_get_public_key65
      Src: /src/cryptofuzz/modules/trezor/module.cpp:128,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/trezor/module.cpp:128,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:133,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/trezor/module.cpp:133,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/trezor/module.cpp:133,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:134,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/trezor/module.cpp:134,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/trezor/module.cpp:134,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:136,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ' curveType'
    - ' priv'
    argTypes:
    - component::CurveType
    - component::ECC_PrivateKey
    constantsTouched: []
    func_position:
      end: 140
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 140
    functionName: cryptofuzz::module::trezor_firmware_detail::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - ecdsa_get_public_key65
    - boost::multiprecision::import_bits
    - CF_CHECK_TRUE
    - CF_CHECK_EQ
    - cryptofuzz::module::trezor_firmware_detail::toString
    - cryptofuzz::module::trezor_firmware_detail::CheckValidity
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - CF_CHECK_NE
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - ToTrimmedString
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic(const
      component::CurveType& curveType, const component::ECC_PrivateKey& priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:146,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:146,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:150,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:161,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toHasherType
      Src: /src/cryptofuzz/modules/trezor/module.cpp:161,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:162,1
    - Dst: hasher_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:162,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:167,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:169,1
    - Dst: hasher_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:169,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:175,1
    - Dst: hasher_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:175,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:176,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:181,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:181,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:186,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:187,1
    - Dst: ripemd160_init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:188,1
    - Dst: ripemd160_process
      Src: /src/cryptofuzz/modules/trezor/module.cpp:195,1
    - Dst: ripemd160_done
      Src: /src/cryptofuzz/modules/trezor/module.cpp:201,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:203,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:205,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:205,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:210,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:211,1
    - Dst: groestl512_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:212,1
    - Dst: groestl512_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:218,1
    - Dst: groestl512_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:224,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:226,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:228,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:228,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:233,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:234,1
    - Dst: sha1_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:235,1
    - Dst: sha1_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:241,1
    - Dst: sha1_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:247,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:249,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:251,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:251,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:256,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:257,1
    - Dst: sha256_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:258,1
    - Dst: sha256_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:264,1
    - Dst: sha256_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:270,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:272,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:274,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:274,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:279,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:280,1
    - Dst: sha512_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:281,1
    - Dst: sha512_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:287,1
    - Dst: sha512_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:293,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:295,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:297,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:297,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:302,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:303,1
    - Dst: sha3_224_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:304,1
    - Dst: sha3_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:310,1
    - Dst: sha3_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:316,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:318,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:320,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:320,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:325,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:326,1
    - Dst: sha3_256_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:327,1
    - Dst: sha3_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:333,1
    - Dst: sha3_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:339,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:341,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:343,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:343,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:348,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:349,1
    - Dst: sha3_384_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:350,1
    - Dst: sha3_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:356,1
    - Dst: sha3_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:362,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:364,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:366,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:366,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:371,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:372,1
    - Dst: sha3_512_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:373,1
    - Dst: sha3_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:379,1
    - Dst: sha3_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:385,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:387,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 121
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 394
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 394
    functionName: cryptofuzz::module::trezor_firmware::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - groestl512_Init
    - hasher_Final
    - sha256_Final
    - sha512_Init
    - CF_DIGEST
    - sha256_Init
    - ripemd160_init
    - sha1_Update
    - sha3_224_Init
    - modifier::GetPtr
    - sha1_Init
    - sha512_Final
    - groestl512_Final
    - Datasource::Get
    - sha3_Update
    - hasher_Init
    - cryptofuzz::module::trezor_firmware_detail::toHasherType
    - sha3_512_Init
    - sha256_Update
    - generate_Digest
    - cryptofuzz::util::ToParts
    - CF_NORET
    - digestType::Get
    - ripemd160_process
    - groestl512_Update
    - sha3_384_Init
    - CF_CHECK_NE
    - hasher_Update
    - sha3_Final
    - sha3_256_Init
    - sha1_Final
    - ripemd160_done
    - modifier::GetSize
    - sha512_Update
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> trezor_firmware::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:398,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:398,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:400,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:400,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:404,1
    - Dst: hmac_sha256_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:406,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:406,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:406,1
    - Dst: hmac_sha256_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:409,1
    - Dst: hmac_sha256_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:412,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/trezor/module.cpp:414,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:415,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:415,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:419,1
    - Dst: hmac_sha512_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:421,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:421,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:421,1
    - Dst: hmac_sha512_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:424,1
    - Dst: hmac_sha512_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:427,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/trezor/module.cpp:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 433
      start: 396
    functionDepth: 4
    functionLinenumber: 396
    functionLinenumberEnd: 433
    functionName: cryptofuzz::module::trezor_firmware::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - hmac_sha512_Update
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - hmac_sha256_Update
    - digestType::Get
    - CF_DIGEST
    - hmac_sha512_Init
    - generate_HMAC
    - modifier::GetSize
    - hmac_sha512_Final
    - hmac_sha256_Final
    - hmac_sha256_Init
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> trezor_firmware::OpHMAC(operation::HMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:440,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:440,1
    - Dst: pbkdf2_hmac_sha256
      Src: /src/cryptofuzz/modules/trezor/module.cpp:441,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:442,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:443,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:444,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:445,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/trezor/module.cpp:449,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:450,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:450,1
    - Dst: pbkdf2_hmac_sha512
      Src: /src/cryptofuzz/modules/trezor/module.cpp:451,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:452,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:453,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:454,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:455,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/trezor/module.cpp:459,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/trezor/module.cpp:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 465
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 465
    functionName: cryptofuzz::module::trezor_firmware::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - pbkdf2_hmac_sha256
    - salt::GetPtr
    - password::GetPtr
    - pbkdf2_hmac_sha512
    - digestType::Get
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - CF_DIGEST
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> trezor_firmware::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:468,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:468,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/trezor/module.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 4
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: cryptofuzz::module::trezor_firmware::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetSize
    - cryptofuzz::module::trezor_firmware_detail::OpECC_PrivateToPublic
    - modifier::GetPtr
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> trezor_firmware::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:481,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:481,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:483,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:483,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:484,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:486,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:486,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:487,1
    - Dst: ecdsa_read_pubkey
      Src: /src/cryptofuzz/modules/trezor/module.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: cryptofuzz::module::trezor_firmware::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - pub::first::ToTrimmedString
    - pub::second::ToTrimmedString
    - CF_CHECK_EQ
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - CF_CHECK_NE
    - ecdsa_read_pubkey
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> trezor_firmware::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:496,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:496,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/trezor/module.cpp:500,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:511,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:511,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:512,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:512,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:513,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:513,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:514,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toHasherType
      Src: /src/cryptofuzz/modules/trezor/module.cpp:514,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:517,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:517,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:518,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:521,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:521,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:522,1
    - Dst: ecdsa_sign
      Src: /src/cryptofuzz/modules/trezor/module.cpp:522,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:522,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:522,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/trezor/module.cpp:522,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:524,1
    - Dst: ecdsa_sign_digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:524,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/trezor/module.cpp:524,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/trezor/module.cpp:524,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:527,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/trezor/module.cpp:527,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:532,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/trezor/module.cpp:532,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/trezor/module.cpp:532,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:533,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/trezor/module.cpp:533,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/trezor/module.cpp:533,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/trezor/module.cpp:535,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:536,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 543
      start: 495
    functionDepth: 4
    functionLinenumber: 495
    functionLinenumberEnd: 543
    functionName: cryptofuzz::module::trezor_firmware::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - ecdsa_sign_digest
    - boost::multiprecision::import_bits
    - cleartext::ECDSA_Pad
    - cleartext::GetPtr
    - CF_DIGEST
    - UseRFC6979Nonce
    - priv::ToTrimmedString
    - modifier::GetPtr
    - cryptofuzz::module::trezor_firmware_detail::toString
    - cryptofuzz::module::trezor_firmware_detail::OpECC_PrivateToPublic
    - std::vector::begin
    - cryptofuzz::tests::test_ECDSA_Signature
    - std::vector::data
    - CF_CHECK_EQ
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - ecdsa_sign
    - cryptofuzz::module::trezor_firmware_detail::toHasherType
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - std::vector::end
    - cleartext::GetSize
    - digestType::Get
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> trezor_firmware::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:546,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:546,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:555,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:555,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:556,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:556,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:557,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toHasherType
      Src: /src/cryptofuzz/modules/trezor/module.cpp:557,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:561,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:561,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:562,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:564,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:564,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:565,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:568,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:568,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:569,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:571,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:571,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:572,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:575,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:575,1
    - Dst: ecdsa_verify
      Src: /src/cryptofuzz/modules/trezor/module.cpp:576,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:576,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:576,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/trezor/module.cpp:579,1
    - Dst: ecdsa_verify_digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:580,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:580,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:581,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/trezor/module.cpp:581,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 588
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 588
    functionName: cryptofuzz::module::trezor_firmware::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::first::ToTrimmedString
    - cleartext::ECDSA_Pad
    - cleartext::GetPtr
    - CF_DIGEST
    - ecdsa_verify_digest
    - memcmp
    - modifier::GetPtr
    - signature::signature::first::ToTrimmedString
    - CF_CHECK_EQ
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - cryptofuzz::module::trezor_firmware_detail::toHasherType
    - ecdsa_verify
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - signature::pub::second::ToTrimmedString
    - signature::signature::second::ToTrimmedString
    - auto::GetPtr
    - cleartext::GetSize
    - digestType::Get
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> trezor_firmware::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:597,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:598,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:598,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:599,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/trezor/module.cpp:599,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:599,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:600,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:600,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:601,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:601,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:602,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:604,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:604,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:605,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:608,1
    - Dst: ecdsa_recover_pub_from_sig
      Src: /src/cryptofuzz/modules/trezor/module.cpp:608,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:608,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:613,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:614,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:616,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Recover
    constantsTouched: []
    func_position:
      end: 621
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 621
    functionName: cryptofuzz::module::trezor_firmware::OpECDSA_Recover
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - ecdsa_recover_pub_from_sig
    - boost::multiprecision::import_bits
    - CF_CHECK_TRUE
    - CF_CHECK_EQ
    - cleartext::GetSize
    - cryptofuzz::module::trezor_firmware_detail::toString
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - digestType::Is
    - CF_CHECK_LTE
    - signature::second::ToTrimmedString
    - cleartext::GetPtr
    - CF_CHECK_NE
    - CF_DIGEST
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - signature::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> trezor_firmware::OpECDSA_Recover(operation::ECDSA_Recover&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:632,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:632,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:634,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::CheckValidity
      Src: /src/cryptofuzz/modules/trezor/module.cpp:634,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:637,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:637,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:638,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:640,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:640,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:641,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:644,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:644,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:645,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:648,1
    - Dst: ecdh_multiply
      Src: /src/cryptofuzz/modules/trezor/module.cpp:648,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/trezor/module.cpp:654,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/trezor/module.cpp:654,1
    - Dst: cryptofuzz::crypto::impl::sha256
      Src: /src/cryptofuzz/modules/trezor/module.cpp:656,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSecret
      Src: /src/cryptofuzz/modules/trezor/module.cpp:660,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/trezor/module.cpp:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 666
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 666
    functionName: cryptofuzz::module::trezor_firmware::OpECDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - Buffer
    - pub::first::ToTrimmedString
    - pub::second::ToTrimmedString
    - CF_CHECK_TRUE
    - CF_CHECK_EQ
    - ecdh_multiply
    - cryptofuzz::module::trezor_firmware_detail::CheckValidity
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - memcpy
    - cryptofuzz::crypto::impl::sha256
    - CF_CHECK_NE
    - XXH64_hash_t::XXH3_hashLong_64b_withSecret
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - priv::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> trezor_firmware::OpECDH_Derive(operation::ECDH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:675,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:675,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:678,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:678,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:678,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:679,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:679,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:679,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:680,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:680,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:681,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:681,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:684,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:684,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:684,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:685,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:685,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:685,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:686,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:686,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:687,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:687,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:689,1
    - Dst: point_add
      Src: /src/cryptofuzz/modules/trezor/module.cpp:689,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:691,1
    - Dst: bn_write_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:691,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:692,1
    - Dst: bn_write_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:692,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/trezor/module.cpp:694,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/trezor/module.cpp:695,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/trezor/module.cpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 700
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 700
    functionName: cryptofuzz::module::trezor_firmware::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - a::first::ToTrimmedString
    - CF_CHECK_TRUE
    - CF_NORET
    - bn_write_be
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - CF_CHECK_NE
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - point_add
    - cryptofuzz::util::BinToDec
    - b::second::ToTrimmedString
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - a::second::ToTrimmedString
    - bn_read_be
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> trezor_firmware::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:710,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:710,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:713,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:713,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:713,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:714,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:714,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:715,1
    - Dst: bn_is_less
      Src: /src/cryptofuzz/modules/trezor/module.cpp:715,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:718,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:718,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:718,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:719,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:719,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:719,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:720,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:720,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:721,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:721,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:723,1
    - Dst: point_multiply
      Src: /src/cryptofuzz/modules/trezor/module.cpp:723,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:725,1
    - Dst: bn_write_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:725,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:726,1
    - Dst: bn_write_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:726,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/trezor/module.cpp:728,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/trezor/module.cpp:729,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/trezor/module.cpp:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 734
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 734
    functionName: cryptofuzz::module::trezor_firmware::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_TRUE
    - CF_NORET
    - b::ToTrimmedString
    - bn_is_less
    - a::first::ToTrimmedString
    - CF_CHECK_EQ
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - bn_write_be
    - CF_CHECK_NE
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - a::second::ToTrimmedString
    - bn_read_be
    - point_multiply
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> trezor_firmware::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:743,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:743,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:746,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:746,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:746,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:747,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:747,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:747,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:748,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:748,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:749,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:749,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:751,1
    - Dst: point_double
      Src: /src/cryptofuzz/modules/trezor/module.cpp:751,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:753,1
    - Dst: bn_write_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:753,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:754,1
    - Dst: bn_write_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:754,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/trezor/module.cpp:756,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/trezor/module.cpp:757,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/trezor/module.cpp:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 762
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 762
    functionName: cryptofuzz::module::trezor_firmware::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - a::first::ToTrimmedString
    - CF_CHECK_TRUE
    - CF_NORET
    - bn_write_be
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - point_double
    - CF_CHECK_NE
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - a::second::ToTrimmedString
    - bn_read_be
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> trezor_firmware::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChangeConstants
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::MicrosoftCalculator::MicrosoftCalculator
    functionSourceFile: /src/cryptofuzz/modules/microsoft-calculator/module.cpp
    functionUses: 0
    functionsReached:
    - ChangeConstants
    linkageType: ''
    returnType: void
    signature: void MicrosoftCalculator::MicrosoftCalculator(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:25,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:27,1
    - Dst: std::stoi
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:28,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:28,1
    - Dst: std::string::erase
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:30,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:30,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:33,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:33,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:33,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: cryptofuzz::module::MicrosoftCalculator_detail::FloatingPointToDecmal
    functionSourceFile: /src/cryptofuzz/modules/microsoft-calculator/module.cpp
    functionUses: 0
    functionsReached:
    - std::stoi
    - getBignum
    - std::string
    - std::string::size
    - CF_ASSERT
    - std::string::substr
    - std::string::erase
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum FloatingPointToDecmal(std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:49,1
    - Dst: StringToNumber
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:50,1
    - Dst: std::wstring_convert<std::codecvt_utf8<wchar_t>>
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:51,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:52,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:56,1
    - Dst: StringToNumber
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:57,1
    - Dst: std::wstring_convert<std::codecvt_utf8<wchar_t>>
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:58,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:59,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:64,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:65,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:66,1
    - Dst: addnum
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:69,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:70,1
    - Dst: mulnum
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:70,1
    - Dst: NumberToString
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:78,1
    - Dst: std::wstring_convert<std::codecvt_utf8<wchar_t>>
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:81,1
    - Dst: cryptofuzz::module::MicrosoftCalculator_detail::FloatingPointToDecmal
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:82,1
    - Dst: destroynum
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:86,1
    - Dst: destroynum
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 90
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 90
    functionName: cryptofuzz::module::MicrosoftCalculator::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/microsoft-calculator/module.cpp
    functionUses: 0
    functionsReached:
    - destroynum
    - std::wstring_convert<std::codecvt_utf8<wchar_t>>
    - CF_NORET
    - bn1::ToTrimmedString
    - StringToNumber
    - calcOp::Get
    - addnum
    - bn0::ToTrimmedString
    - cryptofuzz::module::MicrosoftCalculator_detail::FloatingPointToDecmal
    - mulnum
    - CF_ASSERT
    - NumberToString
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> MicrosoftCalculator::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: cryptofuzz::module::num_bigint::num_bigint
    functionSourceFile: /src/cryptofuzz/modules/num-bigint/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void num_bigint::num_bigint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::ToPositive
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:23,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:24,1
    - Dst: auto::ToTrimmedString
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:24,1
    - Dst: auto::ToPositive
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:27,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:28,1
    - Dst: auto::ToTrimmedString
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:28,1
    - Dst: auto::ToPositive
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:31,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:32,1
    - Dst: auto::ToTrimmedString
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:32,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:35,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:35,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:35,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:38,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:39,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:40,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:41,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:42,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:43,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:44,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:45,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:46,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:47,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:48,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:49,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:50,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:51,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:52,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:53,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:54,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:55,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:56,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:57,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:60,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:61,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:63,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:64,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:65,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:67,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:68,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:70,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:71,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:72,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:73,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:74,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:75,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:76,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:79,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:79,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:79,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:79,1
    - Dst: rust_num_bigint_bignumcalc
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:82,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:83,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:83,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:84,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:84,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:84,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:85,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:85,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:85,1
    - Dst: bn2::IsNegative
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:86,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:86,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:86,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:87,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:90,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:92,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:92,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:92,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:94,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:94,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:94,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 106
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::num_bigint::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/num-bigint/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - std::map::at
    - std::string
    - CF_CALCOP
    - std::map::find
    - std::array::size
    - cryptofuzz::util::BinToDec
    - auto::size
    - auto::ToTrimmedString
    - std::array::begin
    - std::map::end
    - std::reverse
    - rust_num_bigint_bignumcalc
    - auto::data
    - std::array::end
    - bn1::IsNegative
    - calcOp::Get
    - bn0::IsNegative
    - std::array::data
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_NE
    - auto::ToPositive
    - bn2::IsNegative
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> num_bigint::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::kilic_bls12_381::kilic_bls12_381
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void kilic_bls12_381::kilic_bls12_381(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kilic_bls12_381_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::kilic_bls12_381::getResult
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - kilic_bls12_381_Cryptofuzz_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string kilic_bls12_381::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::kilic_bls12_381::getResult
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:27,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:32,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResult
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::kilic_bls12_381::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::kilic_bls12_381::getResult
    - abort
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> kilic_bls12_381::getJsonResult(void)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::kilic_bls12_381::getJsonResult
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::kilic_bls12_381::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::kilic_bls12_381::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> kilic_bls12_381::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:55,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:56,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_PrivateToPublic
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:57,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:57,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - toGoSlice
    - auto::dump
    - kilic_bls12_381_Cryptofuzz_OpBLS_PrivateToPublic
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> kilic_bls12_381::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:63,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:64,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_PrivateToPublic_G2
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:65,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:65,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - toGoSlice
    - auto::dump
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - kilic_bls12_381_Cryptofuzz_OpBLS_PrivateToPublic_G2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> kilic_bls12_381::OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:71,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:72,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:72,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:73,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_IsG1OnCurve
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:74,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:74,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - kilic_bls12_381_Cryptofuzz_OpBLS_IsG1OnCurve
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> kilic_bls12_381::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:80,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:81,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:81,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:82,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_G1_Add
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:83,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:83,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - kilic_bls12_381_Cryptofuzz_OpBLS_G1_Add
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> kilic_bls12_381::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:89,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:90,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:90,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:91,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_G1_Mul
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:92,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:92,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - kilic_bls12_381_Cryptofuzz_OpBLS_G1_Mul
    - auto::dump
    - get
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> kilic_bls12_381::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:98,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:99,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:99,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:100,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_G1_Neg
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:101,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:101,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - kilic_bls12_381_Cryptofuzz_OpBLS_G1_Neg
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> kilic_bls12_381::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:107,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:108,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:108,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:109,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_IsG2OnCurve
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:110,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:110,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - kilic_bls12_381_Cryptofuzz_OpBLS_IsG2OnCurve
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> kilic_bls12_381::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:116,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:117,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:117,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:118,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_G2_Add
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:119,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:119,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - kilic_bls12_381_Cryptofuzz_OpBLS_G2_Add
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> kilic_bls12_381::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:125,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:126,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:126,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:127,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_G2_Mul
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:128,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:128,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - kilic_bls12_381_Cryptofuzz_OpBLS_G2_Mul
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> kilic_bls12_381::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:134,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:135,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:135,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:136,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_G2_Neg
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:137,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:137,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - kilic_bls12_381_Cryptofuzz_OpBLS_G2_Neg
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> kilic_bls12_381::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:143,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:144,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:144,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:145,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_Pairing
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:146,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:146,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - kilic_bls12_381_Cryptofuzz_OpBLS_Pairing
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> kilic_bls12_381::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:156,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:158,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:159,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBignumCalc_Fp
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:160,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:160,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:161,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:164,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:165,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:166,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBignumCalc_Fr
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:167,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:167,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: cryptofuzz::module::kilic_bls12_381::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - kilic_bls12_381_Cryptofuzz_OpBignumCalc_Fp
    - modulo::ToTrimmedString
    - toGoSlice
    - auto::dump
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - kilic_bls12_381_Cryptofuzz_OpBignumCalc_Fr
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> kilic_bls12_381::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: cryptofuzz::module::kilic_bls12_381::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool kilic_bls12_381::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:15,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_get_curve_params_by_name
      Src: /src/cryptofuzz/modules/libecc/module.cpp:28,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/libecc/module.cpp:28,1
    - Dst: size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:28,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - curveID
    - ' curveName'
    argTypes:
    - uint64_t
    - std::string
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::libecc_detail::AddCurve
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - ec_get_curve_params_by_name
    - c_str
    - CF_ASSERT
    - size
    linkageType: ''
    returnType: void
    signature: void AddCurve(const uint64_t curveID, const std::string& curveName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cryptofuzz/modules/libecc/module.cpp:36,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:36,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:36,1
    - Dst: at
      Src: /src/cryptofuzz/modules/libecc/module.cpp:40,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::libecc_detail::GetCurve
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - Get
    - at
    linkageType: ''
    returnType: ec_str_params
    signature: ec_str_params * GetCurve(const component::CurveType& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:47,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:48,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:49,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:50,1
    - Dst: ec_pub_key_export_to_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:50,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:53,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:54,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' pub'
    argTypes:
    - ec_pub_key
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: cryptofuzz::module::libecc_detail::To_Component_BignumPair
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - CF_CHECK_EQ
    - cryptofuzz::util::BinToDec
    - cryptofuzz::util::free
    - CF_ASSERT
    - ec_pub_key_export_to_buf
    linkageType: ''
    returnType: std::optional<component::BignumPair>
    signature: std::optional<component::BignumPair> To_Component_BignumPair(const
      ec_pub_key& pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:66,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:66,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:70,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:74,1
    - Dst: nn_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:74,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:74,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bn'
    - nn
    argTypes:
    - component::Bignum
    - nn_t
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::libecc_detail::To_nn_t
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - nn_init_from_buf
    - cryptofuzz::util::DecToBin
    - auto::data
    - auto::size
    - ToTrimmedString
    - CF_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool To_nn_t(const component::Bignum& bn, nn_t nn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:82,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:83,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:86,1
    - Dst: nn_export_to_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:86,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:86,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:86,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:88,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:88,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:88,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libecc/module.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - nn
    argTypes:
    - nn_src_t
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: cryptofuzz::module::libecc_detail::To_Component_Bignum
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - std::string
    - cryptofuzz::util::BinToDec
    - std::vector::resize
    - CF_ASSERT
    - nn_export_to_buf
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum To_Component_Bignum(const nn_src_t nn, const bool
      negative = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:98,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:98,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:103,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::libecc_detail::To_uint16_t
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::DecToBin
    - ToTrimmedString
    - auto::data
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> To_uint16_t(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:109,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:110,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:110,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:112,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:113,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:113,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:115,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:116,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:116,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:118,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:119,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:119,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:121,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:122,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:122,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:124,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:125,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:125,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:127,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:128,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:128,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:130,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:131,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:131,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:133,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:134,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:134,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:136,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:137,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:137,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:139,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:140,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:140,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:142,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:143,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:143,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:145,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:146,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:146,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:148,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:149,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:149,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:151,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:152,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:152,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:154,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:155,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:155,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:157,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:158,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:158,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:160,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:161,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:161,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:163,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:164,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 169
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 169
    functionName: cryptofuzz::module::libecc_detail::To_hash_mapping
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - CF_DIGEST
    - get_hash_by_type
    linkageType: ''
    returnType: hash_mapping
    signature: hash_mapping * To_hash_mapping(const uint64_t digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:173,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:175,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:177,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:179,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:181,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:183,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:185,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:187,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:189,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:191,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:193,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:195,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:197,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:199,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:201,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:203,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:205,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:207,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 214
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 214
    functionName: cryptofuzz::module::libecc_detail::To_hash_alg_type
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<hash_alg_type>
    signature: std::optional<hash_alg_type> To_hash_alg_type(const uint64_t digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:220,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/libecc/module.cpp:227,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:228,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:228,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:232,1
    - Dst: fread
      Src: /src/cryptofuzz/modules/libecc/module.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - u16
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: get_random
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - fread
    - memcpy
    - auto::data
    - GetData
    - CF_ASSERT
    linkageType: ''
    returnType: int
    signature: int get_random(unsigned char *buf, u16 len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:242,1
    - Dst: fopen
      Src: /src/cryptofuzz/modules/libecc/module.cpp:242,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:243,1
    - Dst: get_sig_by_name
      Src: /src/cryptofuzz/modules/libecc/module.cpp:243,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:244,1
    - Dst: get_sig_by_name
      Src: /src/cryptofuzz/modules/libecc/module.cpp:244,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:245,1
    - Dst: get_sig_by_name
      Src: /src/cryptofuzz/modules/libecc/module.cpp:245,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:248,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:248,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:249,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:249,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:250,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:250,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:251,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:251,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:252,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:252,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:253,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:253,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:254,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:254,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:255,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:255,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:256,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:256,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:257,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:257,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:258,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:258,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:259,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:259,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:260,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:260,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:261,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:261,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:262,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:262,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:263,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:263,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:264,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:264,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:265,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:265,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:266,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:266,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:267,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:267,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:268,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:268,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:269,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:269,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:270,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:270,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:271,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:271,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:272,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:272,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:273,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:273,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:274,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:274,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:275,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:275,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:276,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:276,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:277,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:277,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:278,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:278,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:279,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:279,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:280,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:280,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:281,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:281,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:282,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:282,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:283,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:283,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:284,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:284,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:285,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:285,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:286,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:286,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:287,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:287,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:288,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:288,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:293,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:293,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:294,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:294,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:298,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:298,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:299,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 306
    functionName: cryptofuzz::module::libecc::libecc
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libecc_detail::AddCurve
    - CF_ECC_CURVE
    - get_sig_by_name
    - fopen
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void libecc::libecc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:310,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:310,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:316,1
    - Dst: cryptofuzz::module::libecc_detail::To_hash_mapping
      Src: /src/cryptofuzz/modules/libecc/module.cpp:316,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:316,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:319,1
    - Dst: hash_mapping*::hfunc_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:319,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libecc/module.cpp:323,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:328,1
    - Dst: hash_mapping*::hfunc_update
      Src: /src/cryptofuzz/modules/libecc/module.cpp:328,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:334,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:335,1
    - Dst: hash_mapping*::hfunc_finalize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:335,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/libecc/module.cpp:337,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 344
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 344
    functionName: cryptofuzz::module::libecc::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - hash_mapping*::hfunc_finalize
    - hash_mapping*::hfunc_update
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - cryptofuzz::util::malloc
    - modifier::GetSize
    - digestType::Get
    - CF_ASSERT
    - CF_CHECK_NE
    - cryptofuzz::util::free
    - cryptofuzz::module::libecc_detail::To_hash_mapping
    - hash_mapping*::hfunc_init
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> libecc::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:348,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:348,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:355,1
    - Dst: cryptofuzz::module::libecc_detail::To_hash_alg_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:355,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:355,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:358,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:362,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:365,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:368,1
    - Dst: hmac
      Src: /src/cryptofuzz/modules/libecc/module.cpp:368,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:369,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:370,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:372,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:373,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/libecc/module.cpp:377,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:382,1
    - Dst: hmac_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:382,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:384,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:385,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libecc/module.cpp:389,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:396,1
    - Dst: hmac_update
      Src: /src/cryptofuzz/modules/libecc/module.cpp:396,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:402,1
    - Dst: hmac_finalize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:402,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/libecc/module.cpp:403,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:408,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 411
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 411
    functionName: cryptofuzz::module::libecc::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::To_hash_alg_type
    - Datasource::Get
    - modifier::GetSize
    - CF_CHECK_EQ
    - hmac
    - cryptofuzz::util::free
    - generate_Digest
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - cleartext::GetSize
    - digestType::Get
    - hmac_update
    - CF_CHECK_NE
    - hmac_finalize
    - hmac_init
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libecc::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:415,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:415,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:424,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:424,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:425,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:425,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:426,1
    - Dst: ec_key_pair_gen
      Src: /src/cryptofuzz/modules/libecc/module.cpp:426,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:427,1
    - Dst: nn_bitlen
      Src: /src/cryptofuzz/modules/libecc/module.cpp:427,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:429,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:430,1
    - Dst: ec_priv_key_export_to_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:430,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:433,1
    - Dst: prj_pt_unique
      Src: /src/cryptofuzz/modules/libecc/module.cpp:433,1
    - Dst: cryptofuzz::module::libecc_detail::To_Component_BignumPair
      Src: /src/cryptofuzz/modules/libecc/module.cpp:434,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:435,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:437,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 444
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 444
    functionName: cryptofuzz::module::libecc::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::GetCurve
    - modifier::GetSize
    - CF_CHECK_EQ
    - ec_key_pair_gen
    - cryptofuzz::util::malloc
    - ec_priv_key_export_to_buf
    - nn_bitlen
    - CF_CHECK_NE
    - cryptofuzz::module::libecc_detail::To_Component_BignumPair
    - cryptofuzz::util::BinToDec
    - cryptofuzz::util::free
    - prj_pt_unique
    - CF_ASSERT
    - import_params
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> libecc::OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:448,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:448,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:459,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:459,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:460,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:460,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:463,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:463,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:463,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:463,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:467,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:467,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:467,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:467,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:474,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:474,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:475,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:475,1
    - Dst: BYTECEIL
      Src: /src/cryptofuzz/modules/libecc/module.cpp:479,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:481,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:481,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:481,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:487,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:487,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:487,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:494,1
    - Dst: fp_export_to_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:496,1
    - Dst: fp_export_to_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:500,1
    - Dst: ec_pub_key_import_from_aff_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:510,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:519,1
    - Dst: fp_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:522,1
    - Dst: fp_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:525,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 533
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 533
    functionName: cryptofuzz::module::libecc::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - pub::first::ToTrimmedString
    - CF_ASSERT
    - import_params
    - modifier::GetPtr
    - fp_export_to_buf
    - fp_uninit
    - auto::size
    - curveType::Is
    - pub::second::ToTrimmedString
    - cryptofuzz::module::libecc_detail::GetCurve
    - CF_ECC_CURVE
    - auto::data
    - fp_init_from_buf
    - cryptofuzz::util::free
    - cryptofuzz::util::malloc
    - cryptofuzz::util::DecToBin
    - BYTECEIL
    - CF_CHECK_NE
    - ec_pub_key_import_from_aff_buf
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libecc::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:551,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:551,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:552,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:552,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:555,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:555,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:555,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:555,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:558,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:558,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:565,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:565,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:565,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:567,1
    - Dst: eddsa_import_priv_key
      Src: /src/cryptofuzz/modules/libecc/module.cpp:567,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:567,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:567,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/libecc/module.cpp:569,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:570,1
    - Dst: eddsa_init_pub_key
      Src: /src/cryptofuzz/modules/libecc/module.cpp:570,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/libecc/module.cpp:572,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:573,1
    - Dst: eddsa_export_pub_key
      Src: /src/cryptofuzz/modules/libecc/module.cpp:573,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:576,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:580,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:580,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:580,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:580,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:583,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:583,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:588,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:588,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:588,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/libecc/module.cpp:590,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:592,1
    - Dst: x25519_init_pub_key
      Src: /src/cryptofuzz/modules/libecc/module.cpp:592,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:592,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:595,1
    - Dst: x448_init_pub_key
      Src: /src/cryptofuzz/modules/libecc/module.cpp:595,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:595,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:599,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:603,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:603,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:603,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:604,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:604,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:608,1
    - Dst: ec_priv_key_import_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:608,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:608,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:608,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/libecc/module.cpp:609,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:610,1
    - Dst: init_pubkey_from_privkey
      Src: /src/cryptofuzz/modules/libecc/module.cpp:610,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:611,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:616,1
    - Dst: prj_pt_unique
      Src: /src/cryptofuzz/modules/libecc/module.cpp:616,1
    - Dst: cryptofuzz::module::libecc_detail::To_Component_BignumPair
      Src: /src/cryptofuzz/modules/libecc/module.cpp:619,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/modules/libecc/module.cpp:620,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:620,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:621,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:622,1
    - Dst: IsLessThan
      Src: /src/cryptofuzz/modules/libecc/module.cpp:622,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 3
    argNames:
    - ' ds'
    - ' curveType'
    - ' _priv'
    argTypes:
    - Datasource
    - component::CurveType
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 632
      start: 536
    functionDepth: 3
    functionLinenumber: 536
    functionLinenumberEnd: 632
    functionName: cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - IsLessThan
    - eddsa_init_pub_key
    - memset
    - Is
    - prj_pt_unique
    - ToTrimmedString
    - CF_ASSERT
    - import_params
    - ec_priv_key_import_from_buf
    - cryptofuzz::module::libecc_detail::To_Component_BignumPair
    - cryptofuzz::repository::ECC_CurveToOrder
    - cryptofuzz::util::BinToDec
    - eddsa_import_priv_key
    - x25519_init_pub_key
    - cryptofuzz::module::libecc_detail::GetCurve
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - std::optional::size
    - CF_CHECK_LTE
    - std::optional::data
    - cryptofuzz::util::free
    - eddsa_export_pub_key
    - x448_init_pub_key
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - init_pubkey_from_privkey
    - CF_CHECK_NE
    - Get
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic(Datasource&
      ds, const component::CurveType& curveType, const component::Bignum& _priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:636,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:636,1
    - Dst: cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/libecc/module.cpp:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 639
      start: 635
    functionDepth: 4
    functionLinenumber: 635
    functionLinenumberEnd: 639
    functionName: cryptofuzz::module::libecc::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
    - modifier::GetSize
    - modifier::GetPtr
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> libecc::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Buffer
    constantsTouched: []
    func_position:
      end: 651
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 651
    functionName: cryptofuzz::module::libecc_detail::IsValidECxDSASize
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - GetSize
    linkageType: ''
    returnType: bool
    signature: bool IsValidECxDSASize(const Buffer& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libecc_detail::IsValidECxDSASize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:665,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:669,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:675,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:675,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:687,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:689,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:689,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:690,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:690,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:690,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:691,1
    - Dst: cryptofuzz::module::libecc_detail::To_hash_alg_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:691,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:691,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:693,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:693,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:696,1
    - Dst: cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/libecc/module.cpp:696,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:701,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:701,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:702,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:702,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:705,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:706,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:706,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:707,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:707,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:708,1
    - Dst: ec_key_pair_import_from_priv_key_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:708,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:710,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:710,1
    - Dst: ECDSA_SIGLEN
      Src: /src/cryptofuzz/modules/libecc/module.cpp:714,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:715,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:716,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:718,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:718,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:719,1
    - Dst: ec_sign_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:719,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:721,1
    - Dst: ec_sign_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:721,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:724,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:726,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:726,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:728,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:728,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:728,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:731,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:731,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:734,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:734,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libecc/module.cpp:735,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:738,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:738,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:739,1
    - Dst: ecxdsa_sign_raw
      Src: /src/cryptofuzz/modules/libecc/module.cpp:739,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:741,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:741,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:743,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:743,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:744,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:744,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:747,1
    - Dst: ecxdsa_sign_update
      Src: /src/cryptofuzz/modules/libecc/module.cpp:747,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:750,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:751,1
    - Dst: ecxdsa_sign_finalize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:751,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:752,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:753,1
    - Dst: ecxdsa_rfc6979_sign_finalize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:753,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:755,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:762,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:763,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:769,1
    - Dst: cryptofuzz::util::AdjustECDSASignature
      Src: /src/cryptofuzz/modules/libecc/module.cpp:769,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:769,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:776,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 4
    argNames:
    - ' op'
    - ecxdsa_sign_raw
    - ecxdsa_sign_update
    - ecxdsa_sign_finalize
    argTypes:
    - Operation
    - ecxdsa_sign_raw_t
    - ecxdsa_sign_update_t
    - ecxdsa_sign_finalize_t
    constantsTouched: []
    func_position:
      end: 780
      start: 659
    functionDepth: 4
    functionLinenumber: 659
    functionLinenumberEnd: 780
    functionName: cryptofuzz::module::libecc_detail::ECxDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - CF_DIGEST
    - CF_UNREACHABLE
    - UseRFC6979Nonce
    - nonce::ToTrimmedString
    - CF_ASSERT
    - priv::ToTrimmedString
    - import_params
    - ecxdsa_sign_finalize
    - curveType::Get
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::To_hash_alg_type
    - UseSpecifiedNonce
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::libecc_detail::GetCurve
    - CF_CHECK_EQ
    - std::optional::size
    - CF_CHECK_LTE
    - std::optional::data
    - ecxdsa_sign_raw
    - ecxdsa_rfc6979_sign_finalize
    - cryptofuzz::util::free
    - ecxdsa_sign_update
    - cryptofuzz::util::ToParts
    - cryptofuzz::util::malloc
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::util::DecToBin
    - ec_sign_init
    - cleartext::GetSize
    - digestType::Get
    - digestType::Is
    - ec_key_pair_import_from_priv_key_buf
    - cryptofuzz::util::AdjustECDSASignature
    - ECDSA_SIGLEN
    - CF_CHECK_NE
    - cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
    - UseRandomNonce
    - modifier::GetSize
    - cryptofuzz::module::libecc_detail::IsValidECxDSASize
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: "std::optional<component::ECDSA_Signature> ECxDSA_Sign(\n            const
      Operation& op,\n            const ecxdsa_sign_raw_t ecxdsa_sign_raw,\n            const
      ecxdsa_sign_update_t ecxdsa_sign_update,\n            const ecxdsa_sign_finalize_t
      ecxdsa_sign_finalize,\n            const ecxdsa_rfc6979_sign_finalize_t ecxdsa_rfc6979_sign_finalize
      = nullptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libecc_detail::IsValidECxDSASize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:793,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:798,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:798,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:811,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:811,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:812,1
    - Dst: cryptofuzz::module::libecc_detail::To_hash_alg_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:812,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:812,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:816,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:816,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:817,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:817,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:821,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:824,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:824,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:824,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:825,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:825,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:825,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libecc/module.cpp:827,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:827,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:827,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:827,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libecc/module.cpp:828,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:828,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:828,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:828,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:831,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:831,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libecc/module.cpp:832,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:837,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:838,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:839,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:842,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:842,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:842,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:843,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:843,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:843,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:844,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:844,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:846,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:846,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:846,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:847,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:847,1
    - Dst: data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:847,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:848,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:848,1
    - Dst: data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:848,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:850,1
    - Dst: ec_pub_key_import_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:850,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:853,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:853,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:857,1
    - Dst: prj_pt_is_on_curve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:857,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:858,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:861,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:861,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:862,1
    - Dst: ec_verify_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:862,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:862,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:862,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:864,1
    - Dst: ec_verify_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:864,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:864,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:864,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:867,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:867,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:868,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:875,1
    - Dst: ecxdsa_verify_raw
      Src: /src/cryptofuzz/modules/libecc/module.cpp:877,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:877,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:880,1
    - Dst: ecxdsa_verify_update
      Src: /src/cryptofuzz/modules/libecc/module.cpp:880,1
    - Dst: ecxdsa_verify_finalize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:883,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 5
    argNames:
    - ' op'
    - sm
    - ecxdsa_verify_raw
    - ecxdsa_verify_update
    - ecxdsa_verify_finalize
    argTypes:
    - Operation
    - ec_sig_mapping*
    - ecxdsa_verify_raw_t
    - ecxdsa_verify_update_t
    - ecxdsa_verify_finalize_t
    constantsTouched: []
    func_position:
      end: 890
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 890
    functionName: cryptofuzz::module::libecc_detail::ECxDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::first::ToTrimmedString
    - end
    - cleartext::GetPtr
    - CF_DIGEST
    - CF_ASSERT
    - import_params
    - begin
    - prj_pt_is_on_curve
    - modifier::GetPtr
    - data
    - cryptofuzz::module::libecc_detail::To_hash_alg_type
    - std::vector::resize
    - ecxdsa_verify_raw
    - std::vector::data
    - std::vector::size
    - cryptofuzz::module::libecc_detail::GetCurve
    - signature::signature::first::ToTrimmedString
    - std::vector::insert
    - CF_CHECK_EQ
    - ec_pub_key_import_from_buf
    - memcpy
    - std::optional::data
    - signature::pub::second::ToTrimmedString
    - signature::signature::second::ToTrimmedString
    - ecxdsa_verify_update
    - cryptofuzz::util::ToParts
    - cryptofuzz::util::DecToBin
    - cleartext::GetSize
    - digestType::Get
    - digestType::Is
    - CF_CHECK_NE
    - ecxdsa_verify_finalize
    - modifier::GetSize
    - ec_verify_init
    - cryptofuzz::module::libecc_detail::IsValidECxDSASize
    linkageType: ''
    returnType: std::optional<bool>
    signature: "std::optional<bool> ECxDSA_Verify(\n            const Operation& op,\n
      \           const ec_sig_mapping* sm,\n            const ecxdsa_verify_raw_t
      ecxdsa_verify_raw,\n            const ecxdsa_verify_update_t ecxdsa_verify_update,\n
      \           const ecxdsa_verify_finalize_t ecxdsa_verify_finalize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:904,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:904,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:913,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:913,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:914,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:914,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:916,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:916,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:920,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:920,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:920,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:920,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:925,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:925,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:929,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:929,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:929,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:929,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:939,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:939,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:940,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:944,1
    - Dst: eddsa_import_key_pair_from_priv_key_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:944,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:944,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:947,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:949,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:951,1
    - Dst: _ec_sign
      Src: /src/cryptofuzz/modules/libecc/module.cpp:951,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:954,1
    - Dst: _ec_sign
      Src: /src/cryptofuzz/modules/libecc/module.cpp:954,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:954,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:954,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:958,1
    - Dst: cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/libecc/module.cpp:958,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:962,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:963,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:968,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 972
      start: 896
    functionDepth: 4
    functionLinenumber: 896
    functionLinenumberEnd: 972
    functionName: cryptofuzz::module::libecc_detail::EdDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - CF_DIGEST
    - CF_ASSERT
    - priv::ToTrimmedString
    - eddsa_import_key_pair_from_priv_key_buf
    - import_params
    - modifier::GetPtr
    - cryptofuzz::util::BinToDec
    - auto::size
    - curveType::Is
    - cryptofuzz::module::libecc_detail::GetCurve
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - auto::data
    - cryptofuzz::util::free
    - cryptofuzz::util::malloc
    - cryptofuzz::util::DecToBin
    - cleartext::GetSize
    - digestType::Is
    - CF_CHECK_NE
    - cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
    - modifier::GetSize
    - _ec_sign
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> EdDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:976,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:976,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:991,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:996,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:996,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:997,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:997,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:999,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:999,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1003,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1003,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1003,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1003,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1008,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1008,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1012,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1012,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1012,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1012,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1024,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1027,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1027,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1027,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1028,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1028,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1028,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1030,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1030,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1030,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1030,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1031,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1031,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1031,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1031,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1036,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1036,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1036,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1038,1
    - Dst: eddsa_import_pub_key
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1038,1
    - Dst: data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1038,1
    - Dst: size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1038,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1045,1
    - Dst: ec_verify
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1047,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1047,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1047,1
    - Dst: ec_verify
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1050,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1050,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1050,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1050,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1050,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1055,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1056,1
    - Dst: ec_verify_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1056,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1056,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1056,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1059,1
    - Dst: ec_verify_update
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1059,1
    - Dst: ec_verify_finalize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1069
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 1069
    functionName: cryptofuzz::module::libecc_detail::EdDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::first::ToTrimmedString
    - end
    - cleartext::GetPtr
    - CF_DIGEST
    - CF_ASSERT
    - import_params
    - begin
    - modifier::GetPtr
    - data
    - Datasource::Get
    - curveType::Is
    - std::vector::data
    - std::vector::size
    - cryptofuzz::module::libecc_detail::GetCurve
    - CF_ECC_CURVE
    - signature::signature::first::ToTrimmedString
    - std::vector::insert
    - CF_CHECK_EQ
    - ec_verify_finalize
    - signature::signature::second::ToTrimmedString
    - eddsa_import_pub_key
    - cryptofuzz::util::ToParts
    - ec_verify
    - cryptofuzz::util::DecToBin
    - cleartext::GetSize
    - digestType::Is
    - CF_CHECK_NE
    - ec_verify_update
    - size
    - modifier::GetSize
    - ec_verify_init
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> EdDSA_Verify(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1075,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1075,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1075,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1075,1
    - Dst: cryptofuzz::module::libecc_detail::EdDSA_Sign
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1077,1
    - Dst: libecc_detail::ECxDSA_Sign<operation::ECDSA_Sign, ECDSA>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1083
      start: 1074
    functionDepth: 5
    functionLinenumber: 1074
    functionLinenumberEnd: 1083
    functionName: cryptofuzz::module::libecc::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - libecc_detail::ECxDSA_Sign<operation::ECDSA_Sign, ECDSA>
    - cryptofuzz::module::libecc_detail::EdDSA_Sign
    - CF_ECC_CURVE
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> libecc::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1086,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1086,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1086,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1086,1
    - Dst: libecc_detail::ECxDSA_Sign<operation::ECGDSA_Sign, ECGDSA>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECGDSA_Sign
    constantsTouched: []
    func_position:
      end: 1093
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1093
    functionName: cryptofuzz::module::libecc::OpECGDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - libecc_detail::ECxDSA_Sign<operation::ECGDSA_Sign, ECGDSA>
    - CF_ECC_CURVE
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECGDSA_Signature>
    signature: std::optional<component::ECGDSA_Signature> libecc::OpECGDSA_Sign(operation::ECGDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1096,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1096,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1096,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1096,1
    - Dst: libecc_detail::ECxDSA_Sign<operation::ECRDSA_Sign, ECRDSA>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECRDSA_Sign
    constantsTouched: []
    func_position:
      end: 1103
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1103
    functionName: cryptofuzz::module::libecc::OpECRDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - libecc_detail::ECxDSA_Sign<operation::ECRDSA_Sign, ECRDSA>
    - CF_ECC_CURVE
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECRDSA_Signature>
    signature: std::optional<component::ECRDSA_Signature> libecc::OpECRDSA_Sign(operation::ECRDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1106,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1106,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1106,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1106,1
    - Dst: cryptofuzz::module::libecc_detail::EdDSA_Verify
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1108,1
    - Dst: libecc_detail::ECxDSA_Verify<operation::ECDSA_Verify, ECDSA>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1113
      start: 1105
    functionDepth: 3
    functionLinenumber: 1105
    functionLinenumberEnd: 1113
    functionName: cryptofuzz::module::libecc::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libecc_detail::EdDSA_Verify
    - libecc_detail::ECxDSA_Verify<operation::ECDSA_Verify, ECDSA>
    - CF_ECC_CURVE
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libecc::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1116,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1116,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1116,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1116,1
    - Dst: libecc_detail::ECxDSA_Verify<operation::ECGDSA_Verify, ECGDSA>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECGDSA_Verify
    constantsTouched: []
    func_position:
      end: 1123
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1123
    functionName: cryptofuzz::module::libecc::OpECGDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - libecc_detail::ECxDSA_Verify<operation::ECGDSA_Verify, ECGDSA>
    - CF_ECC_CURVE
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libecc::OpECGDSA_Verify(operation::ECGDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1126,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1126,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1126,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1126,1
    - Dst: libecc_detail::ECxDSA_Verify<operation::ECRDSA_Verify, ECRDSA>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECRDSA_Verify
    constantsTouched: []
    func_position:
      end: 1133
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1133
    functionName: cryptofuzz::module::libecc::OpECRDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - libecc_detail::ECxDSA_Verify<operation::ECRDSA_Verify, ECRDSA>
    - CF_ECC_CURVE
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libecc::OpECRDSA_Verify(operation::ECRDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1147,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1151,1
    - Dst: component::ECC_Point::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1151,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1152,1
    - Dst: component::ECC_Point::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1152,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1154,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1154,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1154,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1154,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1155,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1155,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1155,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1155,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1156,1
    - Dst: fp_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1156,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1157,1
    - Dst: fp_one
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1157,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1158,1
    - Dst: prj_pt_init_from_coords
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1158,1
    - Dst: cryptofuzz::util::ToRandomProjective
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1160,1
    - Dst: component::ECC_Point::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1162,1
    - Dst: component::ECC_Point::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1163,1
    - Dst: component::CurveType::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1164,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1167,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1168,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1169,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1171,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1171,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1171,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1171,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1172,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1172,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1172,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1172,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1173,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1173,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1173,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1173,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1174,1
    - Dst: prj_pt_init_from_coords
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 5
    argNames:
    - ' ds'
    - in
    - ' out'
    - ' params'
    - curveType
    argTypes:
    - fuzzing::datasource::Datasource
    - component::ECC_Point
    - prj_pt
    - ec_params
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 1180
      start: 1136
    functionDepth: 3
    functionLinenumber: 1136
    functionLinenumberEnd: 1180
    functionName: cryptofuzz::module::libecc_detail::LoadPoint
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - component::ECC_Point::first::ToTrimmedString
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - auto::size
    - fp_one
    - auto::data
    - prj_pt_init_from_coords
    - fp_init_from_buf
    - cryptofuzz::util::ToRandomProjective
    - component::CurveType::Get
    - component::ECC_Point::second::ToTrimmedString
    - CF_ASSERT
    - Get
    - fp_init
    linkageType: ''
    returnType: bool
    signature: "bool LoadPoint(\n            fuzzing::datasource::Datasource& ds,\n
      \           const component::ECC_Point in,\n            prj_pt& out,\n            const
      ec_params& params,\n            const component::CurveType curveType)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1189,1
    - Dst: prj_pt_to_aff
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1189,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1197,1
    - Dst: aff_pt_export_to_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1197,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1199,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' res'
    - ' params'
    argTypes:
    - prj_pt
    - ec_params
    constantsTouched: []
    func_position:
      end: 1207
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1207
    functionName: cryptofuzz::module::libecc_detail::SavePoint
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - prj_pt_to_aff
    - CF_CHECK_TRUE
    - CF_CHECK_EQ
    - aff_pt_export_to_buf
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: "std::optional<component::ECC_Point> SavePoint(\n            const
      prj_pt& res,\n            const ec_params& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1212,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1212,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1221,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1221,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1222,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1222,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1224,1
    - Dst: prj_pt_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1224,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1227,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1227,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1228,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1228,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1231,1
    - Dst: prj_pt_add
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1231,1
    - Dst: cryptofuzz::module::libecc_detail::SavePoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1234,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1236,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1237,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 1244
      start: 1210
    functionDepth: 4
    functionLinenumber: 1210
    functionLinenumberEnd: 1244
    functionName: cryptofuzz::module::libecc::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::GetCurve
    - modifier::GetSize
    - CF_CHECK_TRUE
    - prj_pt_init
    - cryptofuzz::module::libecc_detail::LoadPoint
    - prj_pt_add
    - CF_CHECK_NE
    - cryptofuzz::module::libecc_detail::SavePoint
    - prj_pt_uninit
    - CF_ASSERT
    - import_params
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> libecc::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1248,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1248,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1259,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1259,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1260,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1260,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1262,1
    - Dst: prj_pt_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1262,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1265,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1265,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1268,1
    - Dst: cryptofuzz::module::libecc_detail::To_nn_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1268,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1271,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1276,1
    - Dst: prj_pt_mul
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1276,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1278,1
    - Dst: prj_pt_mul_blind
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1278,1
    - Dst: cryptofuzz::module::libecc_detail::SavePoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1282,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1284,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 1291
      start: 1246
    functionDepth: 4
    functionLinenumber: 1246
    functionLinenumberEnd: 1291
    functionName: cryptofuzz::module::libecc::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::GetCurve
    - modifier::GetSize
    - CF_CHECK_TRUE
    - prj_pt_init
    - cryptofuzz::module::libecc_detail::LoadPoint
    - cryptofuzz::module::libecc_detail::To_nn_t
    - prj_pt_mul
    - prj_pt_mul_blind
    - CF_CHECK_NE
    - Datasource::Get
    - cryptofuzz::module::libecc_detail::SavePoint
    - prj_pt_uninit
    - CF_ASSERT
    - import_params
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> libecc::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1295,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1295,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1304,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1304,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1305,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1305,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1307,1
    - Dst: prj_pt_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1307,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1310,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1310,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1313,1
    - Dst: prj_pt_dbl
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1313,1
    - Dst: cryptofuzz::module::libecc_detail::SavePoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1316,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1318,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 1325
      start: 1293
    functionDepth: 4
    functionLinenumber: 1293
    functionLinenumberEnd: 1325
    functionName: cryptofuzz::module::libecc::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::GetCurve
    - modifier::GetSize
    - CF_CHECK_TRUE
    - prj_pt_dbl
    - prj_pt_init
    - cryptofuzz::module::libecc_detail::LoadPoint
    - CF_CHECK_NE
    - cryptofuzz::module::libecc_detail::SavePoint
    - prj_pt_uninit
    - CF_ASSERT
    - import_params
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> libecc::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1329,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1329,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1338,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1338,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1339,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1339,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1341,1
    - Dst: prj_pt_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1341,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1344,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1344,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1347,1
    - Dst: prj_pt_neg
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1347,1
    - Dst: cryptofuzz::module::libecc_detail::SavePoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1350,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1352,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 1359
      start: 1327
    functionDepth: 4
    functionLinenumber: 1327
    functionLinenumberEnd: 1359
    functionName: cryptofuzz::module::libecc::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::GetCurve
    - modifier::GetSize
    - CF_CHECK_TRUE
    - prj_pt_uninit
    - prj_pt_init
    - cryptofuzz::module::libecc_detail::LoadPoint
    - CF_CHECK_NE
    - cryptofuzz::module::libecc_detail::SavePoint
    - prj_pt_neg
    - CF_ASSERT
    - import_params
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> libecc::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1363,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1363,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1373,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1373,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1374,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1374,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1377,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1377,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1378,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1378,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1381,1
    - Dst: prj_pt_cmp
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1381,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1384,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Cmp
    constantsTouched: []
    func_position:
      end: 1391
      start: 1361
    functionDepth: 4
    functionLinenumber: 1361
    functionLinenumberEnd: 1391
    functionName: cryptofuzz::module::libecc::OpECC_Point_Cmp
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::GetCurve
    - modifier::GetSize
    - CF_CHECK_TRUE
    - cryptofuzz::module::libecc_detail::LoadPoint
    - CF_CHECK_NE
    - prj_pt_uninit
    - CF_ASSERT
    - import_params
    - prj_pt_cmp
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libecc::OpECC_Point_Cmp(operation::ECC_Point_Cmp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1395,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1395,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1405,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1406,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1406,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1407,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1407,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1413,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1413,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1414,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1414,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1416,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1416,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1420,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1420,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1422,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1422,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1422,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1424,1
    - Dst: x25519_derive_secret
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1424,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1424,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1424,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSecret
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1426,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1426,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1428,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1428,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1432,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1432,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1434,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1434,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1434,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1436,1
    - Dst: x448_derive_secret
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1436,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1436,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1436,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSecret
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1438,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1438,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1448,1
    - Dst: ecccdh_shared_secret_size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1448,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1451,1
    - Dst: ec_priv_key_import_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1451,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1451,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1451,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1455,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1456,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1459,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1459,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1459,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1460,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1460,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1460,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1462,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1463,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1463,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1463,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1464,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1464,1
    - Dst: data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1464,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1467,1
    - Dst: ecccdh_derive_secret
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1467,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1467,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1467,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSecret
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1470,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 1477
      start: 1393
    functionDepth: 2
    functionLinenumber: 1393
    functionLinenumberEnd: 1477
    functionName: cryptofuzz::module::libecc::OpECDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - pub::first::ToTrimmedString
    - ecccdh_shared_secret_size
    - XXH64_hash_t::XXH3_hashLong_64b_withSecret
    - CF_ASSERT
    - import_params
    - priv::ToTrimmedString
    - ec_priv_key_import_from_buf
    - modifier::GetPtr
    - data
    - ecccdh_derive_secret
    - x25519_derive_secret
    - std::vector::resize
    - Buffer
    - curveType::Is
    - std::vector::data
    - std::vector::size
    - pub::second::ToTrimmedString
    - cryptofuzz::module::libecc_detail::GetCurve
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - std::optional::size
    - memcpy
    - x448_derive_secret
    - CF_CHECK_LTE
    - std::optional::data
    - cryptofuzz::util::DecToBin
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> libecc::OpECDH_Derive(operation::ECDH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::lexical_cast<word_t>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1482,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1486
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1486
    functionName: cryptofuzz::module::libecc_detail::ToWord
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - boost::lexical_cast<word_t>
    linkageType: ''
    returnType: std::optional<word_t>
    signature: std::optional<word_t> ToWord(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1493,1
    - Dst: nn_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1496
    functionName: cryptofuzz::module::libecc_detail::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - nn_init
    linkageType: ''
    returnType: void
    signature: void Bignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1498
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: To_nn_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1502
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1502
    functionName: cryptofuzz::module::libecc_detail::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - To_nn_t
    linkageType: ''
    returnType: bool
    signature: bool Set(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1506
    functionName: cryptofuzz::module::libecc_detail::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nn_t
    signature: nn_t GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: To_Component_Bignum
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1510
    functionName: cryptofuzz::module::libecc_detail::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - To_Component_Bignum
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1514,1
    - Dst: nn_cmp
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 1518
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1518
    functionName: cryptofuzz::module::libecc_detail::Bignum::Cmp
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - nn_cmp
    linkageType: ''
    returnType: int
    signature: int Cmp(const Bignum& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cmp
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 1521
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1521
    functionName: operator==(const Bignum& rhs)
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - Cmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Bignum& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cmp
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 1525
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1525
    functionName: operator>(const Bignum& rhs)
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - Cmp
    linkageType: ''
    returnType: bool
    signature: bool operator>(const Bignum& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1528,1
    - Dst: nn_zero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1531
    functionName: cryptofuzz::module::libecc_detail::Bignum::SetZero
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - nn_zero
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void SetZero(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1534,1
    - Dst: nn_one
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1537
    functionName: cryptofuzz::module::libecc_detail::Bignum::SetOne
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - nn_one
    linkageType: ''
    returnType: void
    signature: void SetOne(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1540,1
    - Dst: nn_set_word_value
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - word_t
    constantsTouched: []
    func_position:
      end: 1543
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1543
    functionName: cryptofuzz::module::libecc_detail::Bignum::SetWord
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - nn_set_word_value
    linkageType: ''
    returnType: void
    signature: void SetWord(const word_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1547,1
    - Dst: nn_iszero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1551
    functionName: cryptofuzz::module::libecc_detail::Bignum::IsZero
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - nn_iszero
    - CF_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool IsZero(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1555,1
    - Dst: nn_isone
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1559
    functionName: cryptofuzz::module::libecc_detail::Bignum::IsOne
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - nn_isone
    - CF_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool IsOne(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1563,1
    - Dst: nn_isodd
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1567
    functionName: cryptofuzz::module::libecc_detail::Bignum::IsOdd
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - nn_isodd
    - CF_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool IsOdd(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1571,1
    - Dst: nn_bitlen
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1575
    functionName: cryptofuzz::module::libecc_detail::Bignum::NumBits
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - nn_bitlen
    linkageType: ''
    returnType: bitcnt_t
    signature: bitcnt_t NumBits(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' ds'
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - Datasource
    - Bignum
    - Bignum
    - Bignum
    - Bignum
    constantsTouched: []
    func_position:
      end: 1587
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1587
    functionName: cryptofuzz::module::libecc_detail::BignumCluster::BignumCluster
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster(Datasource& ds, Bignum bn0, Bignum bn1, Bignum bn2,
      Bignum bn3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1590,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1591,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1611
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1611
    functionName: '& operator[](const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - Get
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & operator[](const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1614,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1619
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1619
    functionName: '& Get(const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & Get(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1622,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1623,1
    - Dst: cryptofuzz::module::libecc_detail::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - index
    - ' v'
    argTypes:
    - size_t
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1627
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1627
    functionName: cryptofuzz::module::libecc_detail::BignumCluster::Set
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 1
    functionsReached:
    - abort
    - size
    - cryptofuzz::module::libecc_detail::BignumCluster::Set
    linkageType: ''
    returnType: bool
    signature: bool Set(const size_t index, const component::Bignum& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1630,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1634,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1638
    functionName: cryptofuzz::module::libecc_detail::BignumCluster::GetResPtr
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT
    - Get
    linkageType: ''
    returnType: nn_t
    signature: nn_t GetResPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1641,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1643,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1644,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1646,1
    - Dst: nn_copy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 1649
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1649
    functionName: cryptofuzz::module::libecc_detail::BignumCluster::CopyResult
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT
    - nn_copy
    linkageType: ''
    returnType: void
    signature: void CopyResult(Bignum& res)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1655,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1655,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1661,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1662,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1663,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1664,1
    - Dst: cryptofuzz::repository::CalcOpToNumParams
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1668,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1668,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1669,1
    - Dst: libecc_detail::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1669,1
    - Dst: cryptofuzz::repository::CalcOpToNumParams
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1671,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1671,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1672,1
    - Dst: libecc_detail::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1672,1
    - Dst: cryptofuzz::repository::CalcOpToNumParams
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1674,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1674,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1675,1
    - Dst: libecc_detail::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1675,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1678,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1679,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1683,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1685,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1689,1
    - Dst: nn_add
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1689,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1689,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1689,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1689,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1691,1
    - Dst: nn_inc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1691,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1691,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1691,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1693,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1693,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1696,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1698,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1702,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1704,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1709,1
    - Dst: nn_sub
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1709,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1709,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1709,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1709,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1711,1
    - Dst: nn_dec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1711,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1711,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1711,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1713,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1713,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1716,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1718,1
    - Dst: nn_lshift
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1718,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1718,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1718,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1719,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1719,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1721,1
    - Dst: libecc_detail::Bignum::NumBits
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1721,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1724,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1727,1
    - Dst: cryptofuzz::module::libecc_detail::To_uint16_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1727,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1729,1
    - Dst: nn_rshift
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1729,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1729,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1729,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1730,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1730,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1733,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1739,1
    - Dst: cryptofuzz::module::libecc_detail::ToWord
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1743,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1750,1
    - Dst: nn_mul
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1750,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1750,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1750,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1750,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1752,1
    - Dst: nn_mul_word
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1752,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1752,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1752,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1755,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1755,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1758,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1761,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1762,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1763,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1764,1
    - Dst: libecc_detail::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1767,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1769,1
    - Dst: nn_divrem
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1769,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1770,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1770,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1773,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1776,1
    - Dst: nn_gcd
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1776,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1776,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1776,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1776,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1777,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1777,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1780,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1781,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1781,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1782,1
    - Dst: nn_mod
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1782,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1782,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1782,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1782,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1783,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1783,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1785,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1786,1
    - Dst: nn_sqr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1786,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1786,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1786,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1787,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1787,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1789,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1790,1
    - Dst: nn_and
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1790,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1790,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1790,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1790,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1791,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1791,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1793,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1794,1
    - Dst: nn_or
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1794,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1794,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1794,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1794,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1795,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1795,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1797,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1798,1
    - Dst: nn_xor
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1798,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1798,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1798,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1798,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1799,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1799,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1801,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1807,1
    - Dst: NumBits
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1812,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1819,1
    - Dst: nn_getbit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1820,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1820,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1842,1
    - Dst: nn_modinv_2exp
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1843,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1844,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1845,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1848,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1848,1
    - Dst: nn_modinv
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1850,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1850,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1850,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1850,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1851,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1851,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1853,1
    - Dst: libecc_detail::Bignum::SetZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1853,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1858,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1859,1
    - Dst: nn_mod_pow
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1859,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1859,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1859,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1859,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1859,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1860,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1860,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1862,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1863,1
    - Dst: IsOdd
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1863,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1864,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1865,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1867,1
    - Dst: nn_mod_mul
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1867,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1867,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1867,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1867,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1867,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1868,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1868,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1870,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1872,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1873,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1877,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1879,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1887,1
    - Dst: nn_mod_add
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1887,1
    - Dst: libecc_detail::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1887,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1887,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1887,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1887,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1893,1
    - Dst: nn_mod_inc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1893,1
    - Dst: libecc_detail::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1893,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1893,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1893,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1897,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1899,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1900,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1904,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1906,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1911,1
    - Dst: nn_mod_sub
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1911,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1911,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1913,1
    - Dst: nn_mod_dec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1913,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1913,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1913,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1913,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1916,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1916,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1919,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1923,1
    - Dst: cryptofuzz::module::libecc_detail::To_uint16_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1923,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1924,1
    - Dst: cryptofuzz::module::libecc_detail::To_uint16_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1924,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1926,1
    - Dst: nn_lrot
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1926,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1926,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1926,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1927,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1927,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1930,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1934,1
    - Dst: cryptofuzz::module::libecc_detail::To_uint16_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1934,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1935,1
    - Dst: cryptofuzz::module::libecc_detail::To_uint16_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1935,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1937,1
    - Dst: nn_rrot
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1937,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1937,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1937,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1938,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1938,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1941,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1942,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1946,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1946,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1947,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1947,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1952,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1953,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1954,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1955,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1956,1
    - Dst: libecc_detail::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1960,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1961,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1964,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1964,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1965,1
    - Dst: nn_xgcd
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1965,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1968,1
    - Dst: nn_xgcd
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1968,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1972,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1972,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1975,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1976,1
    - Dst: libecc_detail::Bignum::SetOne
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1976,1
    - Dst: libecc_detail::Bignum::SetZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1976,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1978,1
    - Dst: IsOne
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1979,1
    - Dst: libecc_detail::Bignum::SetOne
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1979,1
    - Dst: libecc_detail::Bignum::SetZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1979,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1981,1
    - Dst: IsOdd
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1982,1
    - Dst: libecc_detail::Bignum::SetOne
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1982,1
    - Dst: libecc_detail::Bignum::SetZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1982,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1984,1
    - Dst: NumBits
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1986,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1989,1
    - Dst: libecc_detail::Bignum::SetWord
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1989,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1992,1
    - Dst: boost::lexical_cast<bitcnt_t>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1994,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1994,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1997,1
    - Dst: nn_getbit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1997,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1997,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2000,1
    - Dst: libecc_detail::Bignum::SetWord
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2000,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2004,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2010,1
    - Dst: cryptofuzz::module::libecc_detail::ToWord
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2014,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2021,1
    - Dst: Cmp
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2021,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2025,1
    - Dst: nn_cmp_word
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2025,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2025,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2026,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2031,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2032,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2032,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2034,1
    - Dst: nn_mod_neg
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2034,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2034,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2034,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2034,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2035,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2035,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2037,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2038,1
    - Dst: libecc_detail::Bignum::SetZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2038,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2040,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2041,1
    - Dst: libecc_detail::Bignum::SetOne
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2041,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2043,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2044,1
    - Dst: nn_cnd_add
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2044,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2045,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2046,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2047,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2048,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2049,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2049,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2051,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2052,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2053,1
    - Dst: nn_cnd_sub
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2053,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2054,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2055,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2056,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2057,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2058,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2058,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2060,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2061,1
    - Dst: nn_get_random_mod
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2061,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2062,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2063,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2064,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2064,1
    - Dst: cryptofuzz::module::libecc_detail::To_Component_Bignum
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2070,1
    - Dst: libecc_detail::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2070,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 298
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2076
      start: 1653
    functionDepth: 3
    functionLinenumber: 1653
    functionLinenumberEnd: 2076
    functionName: cryptofuzz::module::libecc::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - Cmp
    - CF_CHECK_LT
    - libecc_detail::Bignum::SetWord
    - nn_lshift
    - std::to_string
    - nn_xor
    - IsOne
    - boost::lexical_cast<bitcnt_t>
    - nn_modinv_2exp
    - nn_mod_dec
    - nn_inc
    - nn_modinv
    - nn_sqr
    - libecc_detail::BignumCluster::CopyResult
    - nn_mod_inc
    - libecc_detail::Bignum::NumBits
    - CF_ASSERT
    - nn_mod_sub
    - nn_get_random_mod
    - nn_dec
    - CF_CALCOP
    - nn_mul_word
    - modifier::GetPtr
    - libecc_detail::BignumCluster::Set
    - nn_mod_pow
    - nn_add
    - getBignum
    - nn_getbit
    - GetPtr
    - libecc_detail::BignumCluster::GetResPtr
    - nn_xgcd
    - nn_lrot
    - cryptofuzz::module::libecc_detail::To_uint16_t
    - Datasource::Get
    - nn_sub
    - NumBits
    - nn_mod
    - nn_mod_mul
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - nn_rshift
    - nn_or
    - nn_mod_neg
    - nn_rrot
    - IsOdd
    - nn_cmp_word
    - calcOp::Get
    - IsZero
    - nn_cnd_sub
    - nn_and
    - CF_CHECK_TRUE
    - CF_NORET
    - libecc_detail::Bignum::SetOne
    - bn1::ToTrimmedString
    - nn_gcd
    - nn_divrem
    - nn_mod_add
    - cryptofuzz::repository::CalcOpToNumParams
    - CF_CHECK_NE
    - cryptofuzz::module::libecc_detail::ToWord
    - libecc_detail::Bignum::GetPtr
    - cryptofuzz::module::libecc_detail::To_Component_Bignum
    - nn_cnd_add
    - modifier::GetSize
    - libecc_detail::Bignum::SetZero
    - nn_mul
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> libecc::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mesg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 9
    functionName: rt_warn
    functionSourceFile: /src/cryptofuzz/modules/bc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rt_warn (const char *mesg ,...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mesg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: rt_error
    functionSourceFile: /src/cryptofuzz/modules/bc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rt_error (const char *mesg ,...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cryptofuzz/modules/bc/module.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: out_of_memory
    functionSourceFile: /src/cryptofuzz/modules/bc/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void out_of_memory (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bc_init_numbers
      Src: /src/cryptofuzz/modules/bc/module.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: cryptofuzz::module::bc::bc
    functionSourceFile: /src/cryptofuzz/modules/bc/module.cpp
    functionUses: 0
    functionsReached:
    - bc_init_numbers
    linkageType: ''
    returnType: void
    signature: void bc::bc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bc/module.cpp:28,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bc/module.cpp:28,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:32,1
    - Dst: bc_init_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:32,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:33,1
    - Dst: bc_init_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:33,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:34,1
    - Dst: bc_init_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:34,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:35,1
    - Dst: bc_init_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:35,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/bc/module.cpp:38,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:39,1
    - Dst: bc_str2num
      Src: /src/cryptofuzz/modules/bc/module.cpp:39,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bc/module.cpp:39,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/bc/module.cpp:42,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:43,1
    - Dst: bc_str2num
      Src: /src/cryptofuzz/modules/bc/module.cpp:43,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bc/module.cpp:43,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/bc/module.cpp:46,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:47,1
    - Dst: bc_str2num
      Src: /src/cryptofuzz/modules/bc/module.cpp:47,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bc/module.cpp:47,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/bc/module.cpp:50,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:51,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:52,1
    - Dst: bc_add
      Src: /src/cryptofuzz/modules/bc/module.cpp:52,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:54,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:55,1
    - Dst: bc_sub
      Src: /src/cryptofuzz/modules/bc/module.cpp:55,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:57,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:58,1
    - Dst: bc_multiply
      Src: /src/cryptofuzz/modules/bc/module.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:60,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bc/module.cpp:61,1
    - Dst: bc_divide
      Src: /src/cryptofuzz/modules/bc/module.cpp:61,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:63,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bc/module.cpp:64,1
    - Dst: bc_modulo
      Src: /src/cryptofuzz/modules/bc/module.cpp:64,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:66,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:67,1
    - Dst: bc_raise
      Src: /src/cryptofuzz/modules/bc/module.cpp:67,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:69,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bc/module.cpp:70,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/bc/module.cpp:70,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bc/module.cpp:71,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/bc/module.cpp:71,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/bc/module.cpp:72,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/bc/module.cpp:72,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/bc/module.cpp:73,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/bc/module.cpp:73,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bc/module.cpp:74,1
    - Dst: bc_raisemod
      Src: /src/cryptofuzz/modules/bc/module.cpp:74,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:76,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bc/module.cpp:77,1
    - Dst: bc_sqrt
      Src: /src/cryptofuzz/modules/bc/module.cpp:77,1
    - Dst: bc_free_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:78,1
    - Dst: bc_copy_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:79,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:81,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/bc/module.cpp:82,1
    - Dst: bc_compare
      Src: /src/cryptofuzz/modules/bc/module.cpp:82,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:85,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/bc/module.cpp:86,1
    - Dst: bc_is_zero
      Src: /src/cryptofuzz/modules/bc/module.cpp:86,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:89,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/bc/module.cpp:90,1
    - Dst: bc_is_neg
      Src: /src/cryptofuzz/modules/bc/module.cpp:90,1
    - Dst: bc_num2str
      Src: /src/cryptofuzz/modules/bc/module.cpp:98,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bc/module.cpp:99,1
    - Dst: free
      Src: /src/cryptofuzz/modules/bc/module.cpp:100,1
    - Dst: bc_free_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:105,1
    - Dst: bc_free_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:106,1
    - Dst: bc_free_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:107,1
    - Dst: bc_free_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:108,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 111
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 111
    functionName: cryptofuzz::module::bc::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/bc/module.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - bn1::GetSize
    - std::string
    - bc_free_num
    - CF_CALCOP
    - bc_divide
    - bn2::ToString
    - modifier::GetPtr
    - bc_compare
    - bc_str2num
    - bn0::ToString
    - bc_modulo
    - bc_raise
    - bn0::ToTrimmedString
    - bc_raisemod
    - bn0::GetSize
    - CF_CHECK_EQ
    - bc_num2str
    - bc_copy_num
    - CF_CHECK_LTE
    - bc_add
    - auto::data
    - bc_multiply
    - bc_init_num
    - bc_sub
    - calcOp::Get
    - bn1::ToString
    - bc_is_neg
    - CF_NORET
    - free
    - bn1::ToTrimmedString
    - CF_CHECK_NE
    - bc_is_zero
    - modifier::GetSize
    - bc_sqrt
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> bc::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: cryptofuzz::module::wide_integer::wide_integer
    functionSourceFile: /src/cryptofuzz/modules/wide-integer/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wide_integer::wide_integer(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:18,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:19,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:20,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:21,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:22,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:23,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:24,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:32,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:32,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:34,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:35,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:36,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:39,1
    - Dst: bn0::IsLessThan
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:39,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:40,1
    - Dst: bn1::IsLessThan
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:40,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:41,1
    - Dst: bn2::IsLessThan
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:41,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:42,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:43,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:46,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:49,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:52,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:53,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:56,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:57,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:60,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:61,1
    - Dst: math::wide_integer::powm
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:64,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:65,1
    - Dst: ref_gcd
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:68,1
    - Dst: cryptofuzz_secp256k1_fe_sqrt
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:71,1
    - Dst: math::wide_integer::cbrt
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:72,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:81,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 85
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 85
    functionName: cryptofuzz::module::wide_integer::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/wide-integer/module.cpp
    functionUses: 0
    functionsReached:
    - math::wide_integer::powm
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - modifier::GetSize
    - bn2::ToTrimmedString
    - ref_gcd
    - bn2::IsLessThan
    - cryptofuzz_secp256k1_fe_sqrt
    - bn1::ToTrimmedString
    - bn0::IsLessThan
    - std::stringstream::str
    - bn1::IsLessThan
    - CF_CHECK_NE
    - bn0::ToTrimmedString
    - math::wide_integer::cbrt
    - calcOp::Get
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> wide_integer::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: cryptofuzz::module::wide_integer::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/wide-integer/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wide_integer::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/jsbn/generate_calc_ops.cpp:9,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/jsbn/generate_calc_ops.cpp:12,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/jsbn/generate_calc_ops.cpp:14,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/jsbn/generate_calc_ops.cpp:15,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/jsbn/generate_calc_ops.cpp:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 19
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/jsbn/generate_calc_ops.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - abort
    - std::string::find_first_of
    - printf
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::jsbn::jsbn
    functionSourceFile: /src/cryptofuzz/modules/jsbn/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void jsbn::jsbn(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: jsbn::~jsbn(void)
    functionSourceFile: /src/cryptofuzz/modules/jsbn/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jsbn::~jsbn(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:26,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:26,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:28,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:28,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:29,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:32,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:36,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:39,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:42,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:45,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:45,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:46,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:51,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:53,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 60
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::jsbn::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/jsbn/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - modifier::GetPtr
    - calcOp::Is
    - bn2::ToTrimmedString
    - bn1::ToTrimmedString
    - bn0::ToTrimmedString
    - modifier::GetSize
    - Run
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> jsbn::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: cryptofuzz::module::Beast::Beast
    functionSourceFile: /src/cryptofuzz/modules/beast/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Beast::Beast(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/beast/module.cpp:16,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/beast/module.cpp:17,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/beast/module.cpp:19,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/beast/module.cpp:19,1
    - Dst: cryptofuzz::crypto::impl::sha1_init
      Src: /src/cryptofuzz/modules/beast/module.cpp:27,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/beast/module.cpp:28,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::update
      Src: /src/cryptofuzz/modules/beast/module.cpp:34,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::finish
      Src: /src/cryptofuzz/modules/beast/module.cpp:41,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/beast/module.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 49
      start: 11
    functionDepth: 4
    functionLinenumber: 11
    functionLinenumberEnd: 49
    functionName: cryptofuzz::module::Beast::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/beast/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - ID
    - digestType::Get
    - cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::finish
    - cryptofuzz::crypto::impl::sha1_init
    - cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::update
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Beast::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:14,1
    - Dst: NimMain
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: cryptofuzz::module::nim_bigints::nim_bigints
    functionSourceFile: /src/cryptofuzz/modules/nim-bigints/module.cpp
    functionUses: 0
    functionsReached:
    - NimMain
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void nim_bigints::nim_bigints(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: cryptofuzz::module::nim_bigints_detail::ToString
    functionSourceFile: /src/cryptofuzz/modules/nim-bigints/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::nim_bigints_detail::ToString
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:32,1
    - Dst: cryptofuzz::module::nim_bigints_detail::ToString
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:33,1
    - Dst: cryptofuzz::module::nim_bigints_detail::ToString
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:34,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:36,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:36,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:36,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:38,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:38,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:39,1
    - Dst: cryptofuzz_nim_bigints_add
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:40,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:41,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:41,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:42,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:42,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:43,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:45,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:45,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:46,1
    - Dst: cryptofuzz_nim_bigints_sub
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:47,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:48,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:48,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:49,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:49,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:50,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:52,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:52,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:53,1
    - Dst: cryptofuzz_nim_bigints_mul
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:54,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:55,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:55,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:56,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:56,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:57,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:59,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:60,1
    - Dst: bn1::IsZero
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:60,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:61,1
    - Dst: cryptofuzz_nim_bigints_div
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:62,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:63,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:63,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:64,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:64,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:65,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:67,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:67,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:68,1
    - Dst: bn1::IsZero
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:68,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:69,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:69,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:70,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:70,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:71,1
    - Dst: cryptofuzz_nim_bigints_mod
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:72,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:73,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:73,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:74,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:74,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:75,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:77,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:77,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:78,1
    - Dst: cryptofuzz_nim_bigints_gcd
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:79,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:80,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:80,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:81,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:81,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:82,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:84,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:84,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:85,1
    - Dst: bn1::IsPositive
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:85,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:86,1
    - Dst: cryptofuzz_nim_bigints_invmod
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:87,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:88,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:88,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:89,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:89,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:90,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:92,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:92,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:93,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:93,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:94,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:94,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:95,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:95,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:96,1
    - Dst: bn2::IsZero
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:96,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:97,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:97,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:98,1
    - Dst: bn2::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:98,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:99,1
    - Dst: cryptofuzz_nim_bigints_expmod
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:100,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:101,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:101,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:102,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:102,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:103,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:103,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:104,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:106,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:106,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:107,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:107,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:108,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:108,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:109,1
    - Dst: cryptofuzz_nim_bigints_and
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:110,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:111,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:111,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:112,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:112,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:113,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:115,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:115,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:116,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:116,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:117,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:117,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:118,1
    - Dst: cryptofuzz_nim_bigints_or
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:119,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:120,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:120,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:121,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:121,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:122,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:124,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:124,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:125,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:125,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:126,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:126,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:127,1
    - Dst: cryptofuzz_nim_bigints_xor
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:128,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:129,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:129,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:130,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:130,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:131,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:137,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:137,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 141
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::nim_bigints::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/nim-bigints/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_nim_bigints_xor
    - cryptofuzz_nim_bigints_div
    - cryptofuzz_nim_bigints_invmod
    - cryptofuzz_nim_bigints_sub
    - memset
    - bn1::GetSize
    - std::string
    - bn2::IsZero
    - CF_CALCOP
    - cryptofuzz::module::nim_bigints_detail::ToString
    - cryptofuzz_nim_bigints_and
    - calcOp::Is
    - cryptofuzz_nim_bigints_mul
    - cryptofuzz_nim_bigints_or
    - bn1::IsZero
    - std::array::size
    - auto::size
    - cryptofuzz_nim_bigints_expmod
    - bn0::GetSize
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - bn2::GetSize
    - CF_CHECK_LTE
    - auto::data
    - bn1::IsPositive
    - bn1::IsNegative
    - bn0::IsNegative
    - std::array::data
    - CF_CHECK_TRUE
    - cryptofuzz_nim_bigints_mod
    - cryptofuzz_nim_bigints_add
    - bn2::IsNegative
    - cryptofuzz_nim_bigints_gcd
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> nim_bigints::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: cryptofuzz::module::polygon_zkevm_prover::polygon_zkevm_prover
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void polygon_zkevm_prover::polygon_zkevm_prover(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:19,1
    - Dst: component::G1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:19,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:20,1
    - Dst: component::G1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - g1
    argTypes:
    - component::G1
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - fromString
    - component::G1::first::ToTrimmedString
    - component::G1::second::ToTrimmedString
    linkageType: ''
    returnType: AltBn128::G1PointAffine
    signature: AltBn128::G1PointAffine LoadG1(const component::G1 g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:26,1
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - AltBn128::G1PointAffine
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: component::G1
    signature: component::G1 SaveG1(const AltBn128::G1PointAffine& g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1::copy
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:33,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - AltBn128::G1Point
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
    - g1::copy
    linkageType: ''
    returnType: component::G1
    signature: component::G1 SaveG1(AltBn128::G1Point& g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:39,1
    - Dst: component::G2::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:39,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:40,1
    - Dst: component::G2::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:40,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:41,1
    - Dst: component::G2::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:41,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:42,1
    - Dst: component::G2::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - g2
    argTypes:
    - component::G2
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - component::G2::first::first::ToTrimmedString
    - fromString
    - component::G2::second::first::ToTrimmedString
    - component::G2::first::second::ToTrimmedString
    - component::G2::second::second::ToTrimmedString
    linkageType: ''
    returnType: AltBn128::G2PointAffine
    signature: AltBn128::G2PointAffine LoadG2(const component::G2 g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:47,1
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:48,1
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:49,1
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - AltBn128::G2PointAffine
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: component::G2
    signature: component::G2 SaveG2(AltBn128::G2PointAffine& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2::copy
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:56,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - AltBn128::G2Point
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
    - g2::copy
    linkageType: ''
    returnType: component::G2
    signature: component::G2 SaveG2(AltBn128::G2Point& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:65,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:66,1
    - Dst: g1::add
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:68,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
    - g1::add
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> polygon_zkevm_prover::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:81,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:82,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:82,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:84,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:86,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:86,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:86,1
    - Dst: g1::mulByScalar
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:88,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:88,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:88,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::reverse
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
    - cryptofuzz::util::DecToBin
    - b::ToTrimmedString
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
    - CF_CHECK_NE
    - g1::mulByScalar
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> polygon_zkevm_prover::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:100,1
    - Dst: g1::neg
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:102,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - g1::neg
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> polygon_zkevm_prover::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:112,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:113,1
    - Dst: g1::eq
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - g1::eq
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> polygon_zkevm_prover::OpBLS_G1_IsEq(operation::BLS_G1_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:125,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:126,1
    - Dst: g2::add
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:127,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
    - g2::add
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> polygon_zkevm_prover::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:140,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:141,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:141,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:143,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:145,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:145,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:145,1
    - Dst: g2::mulByScalar
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:147,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:147,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:147,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::reverse
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
    - b::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - CF_CHECK_NE
    - g2::mulByScalar
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> polygon_zkevm_prover::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:159,1
    - Dst: g2::neg
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:161,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
    - g2::neg
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> polygon_zkevm_prover::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:171,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:172,1
    - Dst: g2::eq
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
    - g2::eq
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> polygon_zkevm_prover::OpBLS_G2_IsEq(operation::BLS_G2_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:184,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:189,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:189,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:190,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:190,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:192,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:193,1
    - Dst: add
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:194,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:196,1
    - Dst: sub
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:197,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:199,1
    - Dst: mul
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:200,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:202,1
    - Dst: square
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:203,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:205,1
    - Dst: inv
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:206,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:208,1
    - Dst: neg
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:209,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:211,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:213,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:213,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:214,1
    - Dst: exp
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:215,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:215,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:215,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:218,1
    - Dst: eq
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:219,1
    - Dst: one
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:219,1
    - Dst: zero
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:219,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:221,1
    - Dst: isZero
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:222,1
    - Dst: one
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:222,1
    - Dst: zero
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:222,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:228,1
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:228,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:229,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:234,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:234,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:235,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:235,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:237,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:238,1
    - Dst: add
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:239,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:241,1
    - Dst: sub
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:242,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:244,1
    - Dst: mul
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:245,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:247,1
    - Dst: square
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:248,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:250,1
    - Dst: inv
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:251,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:253,1
    - Dst: neg
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:254,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:256,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:258,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:258,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:259,1
    - Dst: exp
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:260,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:260,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:260,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:263,1
    - Dst: eq
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:264,1
    - Dst: one
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:264,1
    - Dst: zero
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:264,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:266,1
    - Dst: isZero
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:267,1
    - Dst: one
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:267,1
    - Dst: zero
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:267,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:273,1
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:273,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 278
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 278
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - add
    - inv
    - one
    - eq
    - CF_CALCOP
    - sub
    - mul
    - zero
    - getBignum
    - neg
    - fromString
    - bn0::ToTrimmedString
    - exp
    - auto::size
    - toString
    - isZero
    - auto::data
    - calcOp::Get
    - cryptofuzz::util::DecToBin
    - modulo::ToTrimmedString
    - bn1::ToTrimmedString
    - CF_CHECK_NE
    - square
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> polygon_zkevm_prover::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: cryptofuzz::module::polygon_zkevm_prover::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool polygon_zkevm_prover::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::tiny_keccak::tiny_keccak
    functionSourceFile: /src/cryptofuzz/modules/tiny-keccak/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tiny_keccak::tiny_keccak(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:20,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:20,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:22,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:22,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:29,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:31,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:36,1
    - Dst: cryptofuzz_tiny_keccak
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:36,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:37,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:37,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:38,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:38,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 44
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::tiny_keccak::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/tiny-keccak/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - CF_NORET
    - cleartext::GetSize
    - digestType::Is
    - cleartext::GetPtr
    - cryptofuzz_tiny_keccak
    - CF_DIGEST
    - modifier::GetSize
    - std::vector::push_back
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> tiny_keccak::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::holiman_uint256::holiman_uint256
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void holiman_uint256::holiman_uint256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: holiman_uint256_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::holiman_uint256::getResult
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - holiman_uint256_Cryptofuzz_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string holiman_uint256::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::holiman_uint256::getResult
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:27,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:32,1
    - Dst: cryptofuzz::module::holiman_uint256::getResult
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::holiman_uint256::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - abort
    - cryptofuzz::module::holiman_uint256::getResult
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> holiman_uint256::getJsonResult(void)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::holiman_uint256::getJsonResult
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::holiman_uint256::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - T
    - cryptofuzz::module::holiman_uint256::getJsonResult
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> holiman_uint256::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:56,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:60,1
    - Dst: holiman_uint256_Cryptofuzz_OpBignumCalc
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:61,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:61,1
    - Dst: cryptofuzz::module::holiman_uint256::getResultAs
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::holiman_uint256::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - modulo::ToTrimmedString
    - toGoSlice
    - cryptofuzz::module::holiman_uint256::getResultAs
    - holiman_uint256_Cryptofuzz_OpBignumCalc
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> holiman_uint256::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::holiman_uint256::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool holiman_uint256::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:15,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: cryptofuzz::module::cifra::cifra
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cifra::cifra(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/cifra/module.cpp:35,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:36,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:38,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:40,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:42,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:44,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:46,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:49,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:52,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 61
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::cifra_detail::To_chash
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - CF_DIGEST
    linkageType: ''
    returnType: cf_chash
    signature: cf_chash * To_chash(const component::DigestType& digestType, const
      bool noSha3 = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:66,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:66,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:72,1
    - Dst: cryptofuzz::module::cifra_detail::To_chash
      Src: /src/cryptofuzz/modules/cifra/module.cpp:72,1
    - Dst: cf_chash*::init
      Src: /src/cryptofuzz/modules/cifra/module.cpp:74,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:76,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cifra/module.cpp:79,1
    - Dst: cf_chash*::update
      Src: /src/cryptofuzz/modules/cifra/module.cpp:81,1
    - Dst: cf_chash*::digest
      Src: /src/cryptofuzz/modules/cifra/module.cpp:85,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/cifra/module.cpp:87,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cifra/module.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: cryptofuzz::module::cifra::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - cryptofuzz::util::malloc
    - cf_chash*::init
    - cf_chash*::update
    - CF_CHECK_NE
    - cf_chash*::digest
    - cryptofuzz::module::cifra_detail::To_chash
    - cryptofuzz::util::free
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> cifra::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:96,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:96,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:103,1
    - Dst: cryptofuzz::module::cifra_detail::To_chash
      Src: /src/cryptofuzz/modules/cifra/module.cpp:103,1
    - Dst: cf_hmac_init
      Src: /src/cryptofuzz/modules/cifra/module.cpp:105,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:105,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:105,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:108,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cifra/module.cpp:111,1
    - Dst: cf_hmac_update
      Src: /src/cryptofuzz/modules/cifra/module.cpp:113,1
    - Dst: cf_hmac_finish
      Src: /src/cryptofuzz/modules/cifra/module.cpp:117,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/cifra/module.cpp:120,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cifra/module.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: cryptofuzz::module::cifra::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached:
    - cf_hmac_finish
    - cf_hmac_update
    - cipher::key::GetSize
    - cf_hmac_init
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cryptofuzz::util::malloc
    - cryptofuzz::util::ToParts
    - CF_CHECK_NE
    - cryptofuzz::module::cifra_detail::To_chash
    - cryptofuzz::util::free
    - generate_HMAC
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> cifra::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:129,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:129,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cifra/module.cpp:133,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cifra/module.cpp:134,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:136,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:137,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:138,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:138,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:139,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:139,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:140,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:143,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:143,1
    - Dst: cf_chacha20poly1305_encrypt
      Src: /src/cryptofuzz/modules/cifra/module.cpp:145,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:146,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:147,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:148,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:148,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:149,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:149,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cifra/module.cpp:153,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cifra/module.cpp:153,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:153,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cifra/module.cpp:153,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cifra/module.cpp:156,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:158,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:158,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:159,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:159,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:159,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:162,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:162,1
    - Dst: cf_chacha20_init
      Src: /src/cryptofuzz/modules/cifra/module.cpp:164,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:166,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:166,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:167,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cifra/module.cpp:169,1
    - Dst: cf_chacha20_cipher
      Src: /src/cryptofuzz/modules/cifra/module.cpp:172,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cifra/module.cpp:180,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cifra/module.cpp:180,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:180,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cifra/module.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 188
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 188
    functionName: cryptofuzz::module::cifra::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached:
    - cf_chacha20_init
    - cleartext::GetPtr
    - cipher::cipherType::Get
    - modifier::GetPtr
    - aad::GetSize
    - Buffer
    - cf_chacha20_cipher
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - cf_chacha20poly1305_encrypt
    - cryptofuzz::util::free
    - CF_CIPHER
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::util::ToParts
    - cleartext::GetSize
    - CF_CHECK_NE
    - aad::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> cifra::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:192,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:192,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cifra/module.cpp:196,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cifra/module.cpp:197,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:199,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:200,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:200,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:201,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:201,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:202,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:202,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:203,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:205,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:205,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:207,1
    - Dst: cf_chacha20poly1305_decrypt
      Src: /src/cryptofuzz/modules/cifra/module.cpp:207,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:208,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:209,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:210,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:210,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:211,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:211,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:212,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cifra/module.cpp:215,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cifra/module.cpp:215,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:215,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cifra/module.cpp:218,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:220,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:220,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:221,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:221,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:221,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:224,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:224,1
    - Dst: cf_chacha20_init
      Src: /src/cryptofuzz/modules/cifra/module.cpp:226,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:228,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:228,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:229,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cifra/module.cpp:231,1
    - Dst: cf_chacha20_cipher
      Src: /src/cryptofuzz/modules/cifra/module.cpp:234,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cifra/module.cpp:242,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cifra/module.cpp:242,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:242,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cifra/module.cpp:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 250
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 250
    functionName: cryptofuzz::module::cifra::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    - cf_chacha20_init
    - ciphertext::GetSize
    - cipher::cipherType::Get
    - modifier::GetPtr
    - component::Cleartext
    - aad::GetSize
    - Buffer
    - cf_chacha20_cipher
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CIPHER
    - cipher::iv::GetPtr
    - tag::GetSize
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - cf_chacha20poly1305_decrypt
    - cipher::key::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::util::ToParts
    - CF_CHECK_NE
    - tag::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> cifra::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:254,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:254,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:259,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:260,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:261,1
    - Dst: cryptofuzz::module::cifra_detail::To_chash
      Src: /src/cryptofuzz/modules/cifra/module.cpp:261,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:263,1
    - Dst: cf_pbkdf2_hmac
      Src: /src/cryptofuzz/modules/cifra/module.cpp:265,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:266,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:266,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:267,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:267,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/cifra/module.cpp:272,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cifra/module.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 277
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 277
    functionName: cryptofuzz::module::cifra::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - cryptofuzz::util::malloc
    - modifier::GetPtr
    - password::GetPtr
    - cf_pbkdf2_hmac
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::module::cifra_detail::To_chash
    - cryptofuzz::util::free
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> cifra::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qadd
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:17,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:17,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:17,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:17,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 24
    functionName: cryptofuzz::module::mpdecimal_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qadd
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qsub
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:32,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:32,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:32,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:32,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: cryptofuzz::module::mpdecimal_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpd_qsub
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qmul
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:47,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:47,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:47,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:47,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: cryptofuzz::module::mpdecimal_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpd_qmul
    - GetPtr
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qdiv
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:62,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:62,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:62,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:62,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::mpdecimal_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpd_qdiv
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qabs
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:77,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:77,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:77,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::mpdecimal_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qabs
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qand
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:92,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:92,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:92,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:92,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: cryptofuzz::module::mpdecimal_bignum::And::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpd_qand
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool And::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qor
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:111,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:111,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:111,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:111,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: cryptofuzz::module::mpdecimal_bignum::Or::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpd_qor
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool Or::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qxor
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:130,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:130,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:130,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:130,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::mpdecimal_bignum::Xor::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qxor
    linkageType: ''
    returnType: bool
    signature: bool Xor::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qcompare
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:149,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: cryptofuzz::module::mpdecimal_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qcompare
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qpowmod
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:164,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:164,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:164,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:164,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:164,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: cryptofuzz::module::mpdecimal_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qpowmod
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qsqrt
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:179,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: cryptofuzz::module::mpdecimal_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpd_qsqrt
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qfma
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:194,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: cryptofuzz::module::mpdecimal_bignum::MulAdd::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qfma
    linkageType: ''
    returnType: bool
    signature: bool MulAdd::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qmax
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:209,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:209,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:209,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:209,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 216
    functionName: cryptofuzz::module::mpdecimal_bignum::Max::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qmax
    linkageType: ''
    returnType: bool
    signature: bool Max::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qmin
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:224,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:224,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:224,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:224,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: cryptofuzz::module::mpdecimal_bignum::Min::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpd_qmin
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool Min::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qlog10
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:239,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 246
    functionName: cryptofuzz::module::mpdecimal_bignum::Log10::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qlog10
    linkageType: ''
    returnType: bool
    signature: bool Log10::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::mpdecimal_custom_malloc
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    linkageType: ''
    returnType: void
    signature: void * mpdecimal_custom_malloc(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: cryptofuzz::module::mpdecimal_custom_calloc
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void * mpdecimal_custom_calloc(size_t A, size_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::realloc
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::mpdecimal_custom_realloc
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::realloc
    linkageType: ''
    returnType: void
    signature: void * mpdecimal_custom_realloc(void* ptr, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::mpdecimal_custom_free
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void mpdecimal_custom_free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_init
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::mpdecimal::mpdecimal
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/module.cpp
    functionUses: 0
    functionsReached:
    - mpd_init
    linkageType: ''
    returnType: void
    signature: void mpdecimal::mpdecimal(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:52,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:52,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:57,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:57,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:58,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:58,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:59,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:59,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:60,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:60,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:64,1
    - Dst: mpdecimal_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:64,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:65,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:65,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:65,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:66,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:66,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:66,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:67,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:67,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:67,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:68,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:68,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:68,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:70,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:71,1
    - Dst: std::make_unique<mpdecimal_bignum::Add>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:72,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:74,1
    - Dst: std::make_unique<mpdecimal_bignum::Sub>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:75,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:77,1
    - Dst: std::make_unique<mpdecimal_bignum::Mul>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:78,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:80,1
    - Dst: std::make_unique<mpdecimal_bignum::Div>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:81,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:83,1
    - Dst: std::make_unique<mpdecimal_bignum::Abs>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:84,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:86,1
    - Dst: std::make_unique<mpdecimal_bignum::And>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:87,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:89,1
    - Dst: std::make_unique<mpdecimal_bignum::Or>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:90,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:92,1
    - Dst: std::make_unique<mpdecimal_bignum::Xor>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:93,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:95,1
    - Dst: std::make_unique<mpdecimal_bignum::Cmp>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:96,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:98,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:100,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:100,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:101,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:101,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:102,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:102,1
    - Dst: std::make_unique<mpdecimal_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:104,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:106,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:112,1
    - Dst: std::make_unique<mpdecimal_bignum::MulAdd>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:113,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:115,1
    - Dst: std::make_unique<mpdecimal_bignum::Min>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:116,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:118,1
    - Dst: std::make_unique<mpdecimal_bignum::Max>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:119,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:121,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:129,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:130,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:130,1
    - Dst: mpdecimal_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:132,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 136
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::mpdecimal::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/module.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - CF_CHECK_LT
    - std::make_unique<mpdecimal_bignum::Mul>
    - bn1::GetSize
    - std::make_unique<mpdecimal_bignum::Or>
    - CF_CALCOP
    - mpdecimal_bignum::Bignum::Set
    - std::make_unique<mpdecimal_bignum::MulAdd>
    - bn2::ToString
    - modifier::GetPtr
    - std::make_unique<mpdecimal_bignum::And>
    - bn0::ToString
    - std::make_unique<mpdecimal_bignum::Max>
    - getBignum
    - std::make_unique<mpdecimal_bignum::Min>
    - std::make_unique<mpdecimal_bignum::Add>
    - bn3::ToString
    - std::make_unique<mpdecimal_bignum::Xor>
    - std::make_unique<mpdecimal_bignum::ExpMod>
    - bn0::GetSize
    - CF_CHECK_EQ
    - bn2::GetSize
    - Set
    - std::make_unique<mpdecimal_bignum::Div>
    - bn1::ToString
    - std::make_unique<mpdecimal_bignum::Sub>
    - calcOp::Get
    - mpdecimal_bignum::Bignum::ToComponentBignum
    - std::make_unique<mpdecimal_bignum::Abs>
    - CF_CHECK_NE
    - std::unique_ptr::Run
    - std::make_unique<mpdecimal_bignum::Cmp>
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> mpdecimal::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_new
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:18,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpd_new
    - abort
    linkageType: ''
    returnType: void
    signature: void Bignum(mpd_context_t* ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_del
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpd_del
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_new
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:31,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:33,1
    - Dst: mpd_copy
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpd_copy
    - mpd_new
    - abort
    linkageType: ''
    returnType: void
    signature: void Bignum(const Bignum& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_new
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:40,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:42,1
    - Dst: mpd_copy
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpd_copy
    - mpd_new
    - abort
    linkageType: ''
    returnType: void
    signature: void Bignum(const Bignum&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:48,1
    - Dst: mpd_set_string
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:49,1
    - Dst: mpd_set_string
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:51,1
    - Dst: mpd_set_string
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:53,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - std::string::empty
    - mpd_set_string
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qformat
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:65,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:66,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:68,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:70,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:77,1
    - Dst: free
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 83
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::ToString
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - free
    - std::string::find
    - std::string
    - mpd_qformat
    - std::string::substr
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mpd_t
    signature: mpd_t * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::mpdecimal_bignum::Bignum::ToString
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:92,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - cryptofuzz::module::mpdecimal_bignum::Bignum::ToString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::Decred::Decred
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decred::Decred(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decred_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/decred/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/decred/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Decred::getResult
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - Decred_Cryptofuzz_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string Decred::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Decred::getResult
      Src: /src/cryptofuzz/modules/decred/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/decred/module.cpp:27,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/decred/module.cpp:32,1
    - Dst: cryptofuzz::module::Decred::getResult
      Src: /src/cryptofuzz/modules/decred/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/decred/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Decred::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::Decred::getResult
    - abort
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Decred::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Decred::getJsonResult
      Src: /src/cryptofuzz/modules/decred/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/decred/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Decred::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - T
    - cryptofuzz::module::Decred::getJsonResult
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Decred::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/decred/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/decred/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/decred/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/decred/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/decred/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/decred/module.cpp:55,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/decred/module.cpp:56,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:56,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/decred/module.cpp:57,1
    - Dst: Decred_Cryptofuzz_OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/decred/module.cpp:58,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/decred/module.cpp:58,1
    - Dst: cryptofuzz::module::Decred::getResultAs
      Src: /src/cryptofuzz/modules/decred/module.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::Decred::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - Decred_Cryptofuzz_OpECC_PrivateToPublic
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::Decred::getResultAs
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> Decred::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/decred/module.cpp:64,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/decred/module.cpp:65,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:65,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/decred/module.cpp:66,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:66,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/decred/module.cpp:67,1
    - Dst: Decred_Cryptofuzz_OpECDSA_Verify
      Src: /src/cryptofuzz/modules/decred/module.cpp:68,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/decred/module.cpp:68,1
    - Dst: cryptofuzz::module::Decred::getResultAs
      Src: /src/cryptofuzz/modules/decred/module.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: cryptofuzz::module::Decred::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Decred_Cryptofuzz_OpECDSA_Verify
    - cryptofuzz::module::Decred::getResultAs
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Decred::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/decred/module.cpp:74,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/decred/module.cpp:78,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/decred/module.cpp:79,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:79,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/decred/module.cpp:80,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:80,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/decred/module.cpp:81,1
    - Dst: Decred_Cryptofuzz_OpECDSA_Sign
      Src: /src/cryptofuzz/modules/decred/module.cpp:82,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/decred/module.cpp:82,1
    - Dst: cryptofuzz::module::Decred::getJsonResult
      Src: /src/cryptofuzz/modules/decred/module.cpp:84,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:89,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:90,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:91,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/decred/module.cpp:93,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/decred/module.cpp:93,1
    - Dst: cryptofuzz::util::SignatureFromDER
      Src: /src/cryptofuzz/modules/decred/module.cpp:94,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/decred/module.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 98
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 98
    functionName: cryptofuzz::module::Decred::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::SignatureFromDER
    - ToJSON
    - std::back_inserter
    - boost::algorithm::unhex
    - boost::lexical_cast<uint64_t>
    - Decred_Cryptofuzz_OpECDSA_Sign
    - toGoSlice
    - UseSpecifiedNonce
    - auto::dump
    - get
    - cryptofuzz::module::Decred::getJsonResult
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> Decred::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/decred/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::noble_ed25519::noble_ed25519
    functionSourceFile: /src/cryptofuzz/modules/noble-ed25519/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void noble_ed25519::noble_ed25519(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: noble_ed25519::~noble_ed25519(void)
    functionSourceFile: /src/cryptofuzz/modules/noble-ed25519/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noble_ed25519::~noble_ed25519(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:27,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:27,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:31,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:32,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:32,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:34,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:34,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:37,1
    - Dst: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: cryptofuzz::module::noble_ed25519::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/noble-ed25519/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    - Run
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> noble_ed25519::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:47,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:47,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:51,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:51,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:51,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:51,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:55,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:56,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:56,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:58,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:58,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:59,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:62,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:62,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:65,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 70
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::noble_ed25519::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/noble-ed25519/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::SHA256
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - digestType::Is
    - CF_DIGEST
    - auto::dump
    - cryptofuzz::tests::test_ECDSA_Signature
    - Run
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> noble_ed25519::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:75,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:75,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:79,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:79,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:79,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:79,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:83,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:84,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:84,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:86,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:86,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:87,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:90,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:90,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 97
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::noble_ed25519::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/noble-ed25519/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::SHA256
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - digestType::Is
    - CF_DIGEST
    - auto::dump
    - Run
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_ed25519::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-ed25519/generate_ids.cpp:10,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-ed25519/generate_ids.cpp:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/noble-ed25519/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - printf
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::Gnark_bn254::Gnark_bn254
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Gnark_bn254::Gnark_bn254(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Gnark_bn254_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Gnark_bn254::getResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - Gnark_bn254_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string Gnark_bn254::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Gnark_bn254::getResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:27,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:32,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Gnark_bn254::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::Gnark_bn254::getResult
    - abort
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Gnark_bn254::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Gnark_bn254::getJsonResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Gnark_bn254::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - T
    - cryptofuzz::module::Gnark_bn254::getJsonResult
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Gnark_bn254::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:55,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:56,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:56,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:57,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:59,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:59,1
    - Dst: Gnark_bls12_381_BLS_IsG1OnCurve
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:60,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:60,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:61,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:61,1
    - Dst: Gnark_bn254_BLS_IsG1OnCurve
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:62,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:62,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - Gnark_bn254_BLS_IsG1OnCurve
    - CF_ECC_CURVE
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Gnark_bls12_381_BLS_IsG1OnCurve
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Gnark_bn254::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:71,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:72,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:72,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:73,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:74,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:74,1
    - Dst: Gnark_bls12_381_BLS_IsG2OnCurve
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:75,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:75,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:76,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:76,1
    - Dst: Gnark_bn254_BLS_IsG2OnCurve
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:77,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:77,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - Gnark_bn254_BLS_IsG2OnCurve
    - CF_ECC_CURVE
    - Gnark_bls12_381_BLS_IsG2OnCurve
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Gnark_bn254::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:86,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:87,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:87,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:88,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:90,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:90,1
    - Dst: Gnark_bls12_381_BLS_G1_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:91,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:91,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:92,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:92,1
    - Dst: Gnark_bls12_377_BLS_G1_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:93,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:93,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:94,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:94,1
    - Dst: Gnark_bn254_BLS_G1_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:95,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:95,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - Gnark_bls12_377_BLS_G1_Add
    - ToJSON
    - CF_ECC_CURVE
    - Gnark_bn254_BLS_G1_Add
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Gnark_bls12_381_BLS_G1_Add
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:104,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:105,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:105,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:106,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:108,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:108,1
    - Dst: Gnark_bls12_381_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:109,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:109,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:110,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:110,1
    - Dst: Gnark_bls12_377_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:111,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:111,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:112,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:112,1
    - Dst: Gnark_bn254_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:113,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:113,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - CF_ECC_CURVE
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Gnark_bls12_381_BLS_G1_Mul
    - Gnark_bn254_BLS_G1_Mul
    - Gnark_bls12_377_BLS_G1_Mul
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:122,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:123,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:123,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:124,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:125,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:125,1
    - Dst: Gnark_bls12_381_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:126,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:126,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:127,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:127,1
    - Dst: Gnark_bn254_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:128,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:128,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - CF_ECC_CURVE
    - Gnark_bls12_381_BLS_G1_Neg
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Gnark_bn254_BLS_G1_Neg
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:137,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:138,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:138,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:139,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:141,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:141,1
    - Dst: Gnark_bls12_381_BLS_G2_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:142,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:142,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:143,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:143,1
    - Dst: Gnark_bn254_BLS_G2_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:144,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:144,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - Gnark_bn254_BLS_G2_Add
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - CF_ECC_CURVE
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - Gnark_bls12_381_BLS_G2_Add
    - auto::dump
    - get
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Gnark_bn254::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:153,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:154,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:154,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:155,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:156,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:156,1
    - Dst: Gnark_bls12_381_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:157,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:157,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:158,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:158,1
    - Dst: Gnark_bls12_377_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:159,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:159,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:160,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:160,1
    - Dst: Gnark_bn254_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:161,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:161,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 167
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 167
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - Gnark_bn254_BLS_G2_Mul
    - CF_ECC_CURVE
    - Gnark_bls12_381_BLS_G2_Mul
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Gnark_bls12_377_BLS_G2_Mul
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Gnark_bn254::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:170,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:171,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:171,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:172,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:173,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:173,1
    - Dst: Gnark_bls12_381_BLS_G2_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:174,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:174,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:175,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:175,1
    - Dst: Gnark_bn254_BLS_G2_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:176,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:176,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - Gnark_bls12_381_BLS_G2_Neg
    - CF_ECC_CURVE
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Gnark_bn254_BLS_G2_Neg
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Gnark_bn254::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:185,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:186,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:186,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:187,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:188,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:188,1
    - Dst: Gnark_bls12_381_BLS_Pairing
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:189,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:189,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - CF_ECC_CURVE
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Gnark_bls12_381_BLS_Pairing
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Gnark_bn254::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:198,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:199,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:199,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:200,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:201,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:201,1
    - Dst: Gnark_bls12_381_BLS_FinalExp
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:202,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:202,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:203,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:203,1
    - Dst: Gnark_bn254_BLS_FinalExp
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:204,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:204,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - CF_ECC_CURVE
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Gnark_bn254_BLS_FinalExp
    - Gnark_bls12_381_BLS_FinalExp
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Gnark_bn254::OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:213,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:214,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:214,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:215,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:216,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:216,1
    - Dst: Gnark_bls12_381_BLS_G1_MultiExp
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:217,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:217,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - CF_ECC_CURVE
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Gnark_bls12_381_BLS_G1_MultiExp
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_MultiExp(operation::BLS_G1_MultiExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:226,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:227,1
    - Dst: Gnark_bn254_BignumCalc_bls2381_Fp2
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:228,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:228,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: cryptofuzz::module::Gnark_bn254::OpBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - Gnark_bn254_BignumCalc_bls2381_Fp2
    - toGoSlice
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> Gnark_bn254::OpBignumCalc_Fp2(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:233,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:233,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:234,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:235,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:239,1
    - Dst: Gnark_bn254_BignumCalc_bls12381_Fp12
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:242,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:242,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 244
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 244
    functionName: cryptofuzz::module::Gnark_bn254::OpBignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - modifier::GetPtr
    - Gnark_bn254_BignumCalc_bls12381_Fp12
    - toGoSlice
    - auto::dump
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Gnark_bn254::OpBignumCalc_Fp12(operation::BignumCalc_Fp12&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:251,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:252,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:253,1
    - Dst: Gnark_bn254_BignumCalc_bn254_Fp
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:254,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:254,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:256,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:257,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:258,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:259,1
    - Dst: Gnark_bn254_BignumCalc_bn254_Fr
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:260,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:260,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:262,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:263,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:264,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:265,1
    - Dst: Gnark_bn254_BignumCalc_bls12381_Fp
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:266,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:266,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:268,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:269,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:270,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:271,1
    - Dst: Gnark_bn254_BignumCalc_bls12381_Fr
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:272,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:272,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 278
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 278
    functionName: cryptofuzz::module::Gnark_bn254::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - Gnark_bn254_BignumCalc_bn254_Fp
    - modulo::ToTrimmedString
    - Gnark_bn254_BignumCalc_bn254_Fr
    - Gnark_bn254_BignumCalc_bls12381_Fp
    - toGoSlice
    - auto::dump
    - Gnark_bn254_BignumCalc_bls12381_Fr
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Gnark_bn254::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: cryptofuzz::module::Gnark_bn254::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Gnark_bn254::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: cryptofuzz::module::Cloudflare_bn256::Cloudflare_bn256
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cloudflare_bn256::Cloudflare_bn256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cloudflare_bn256_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:289,1
    - Dst: free
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: cryptofuzz::module::Cloudflare_bn256::getResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - Cloudflare_bn256_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string Cloudflare_bn256::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:296,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:297,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:302,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:302,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::Cloudflare_bn256::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::Cloudflare_bn256::getResult
    - abort
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Cloudflare_bn256::getJsonResult(void)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Cloudflare_bn256::getJsonResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:312,1
    - Dst: T
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: cryptofuzz::module::Cloudflare_bn256::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Cloudflare_bn256::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Cloudflare_bn256::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:321,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:322,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:322,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:323,1
    - Dst: Cloudflare_bn256_BLS_G1_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:324,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:324,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - Cloudflare_bn256_BLS_G1_Add
    - ToJSON
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Cloudflare_bn256::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:330,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:331,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:331,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:332,1
    - Dst: Cloudflare_bn256_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:333,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:333,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Cloudflare_bn256_BLS_G1_Mul
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Cloudflare_bn256::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:339,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:340,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:340,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:341,1
    - Dst: Cloudflare_bn256_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:342,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:342,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - Cloudflare_bn256_BLS_G1_Neg
    - ToJSON
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Cloudflare_bn256::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:348,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:349,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:349,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:350,1
    - Dst: Cloudflare_bn256_BLS_G2_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:351,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:351,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - Cloudflare_bn256_BLS_G2_Add
    - ToJSON
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Cloudflare_bn256::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:357,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:358,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:358,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:359,1
    - Dst: Cloudflare_bn256_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:360,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:360,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - Cloudflare_bn256_BLS_G2_Mul
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Cloudflare_bn256::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:366,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:367,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:367,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:368,1
    - Dst: Cloudflare_bn256_BLS_G2_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:369,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:369,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - Cloudflare_bn256_BLS_G2_Neg
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Cloudflare_bn256::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:375,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:376,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:376,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:377,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:378,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:378,1
    - Dst: Cloudflare_bn256_BLS_FinalExp
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:379,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:379,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 385
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 385
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - Cloudflare_bn256_BLS_FinalExp
    - CF_ECC_CURVE
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Cloudflare_bn256::OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: cryptofuzz::module::Google_bn256::Google_bn256
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Google_bn256::Google_bn256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Google_bn256_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:392,1
    - Dst: free
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: cryptofuzz::module::Google_bn256::getResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - Google_bn256_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string Google_bn256::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Google_bn256::getResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:399,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:400,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:405,1
    - Dst: cryptofuzz::module::Google_bn256::getResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:405,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 410
    functionName: cryptofuzz::module::Google_bn256::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::Google_bn256::getResult
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Google_bn256::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Google_bn256::getJsonResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:415,1
    - Dst: T
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: cryptofuzz::module::Google_bn256::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Google_bn256::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Google_bn256::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:424,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:425,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:425,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:426,1
    - Dst: Google_bn256_BLS_G1_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:427,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:427,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 430
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 430
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Google_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Google_bn256_BLS_G1_Add
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Google_bn256::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:433,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:434,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:434,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:435,1
    - Dst: Google_bn256_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:436,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:436,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Google_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - Google_bn256_BLS_G1_Mul
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Google_bn256::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:442,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:443,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:443,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:444,1
    - Dst: Google_bn256_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:445,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:445,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 448
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 448
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - Google_bn256_BLS_G1_Neg
    - cryptofuzz::module::Google_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Google_bn256::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:451,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:452,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:452,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:453,1
    - Dst: Google_bn256_BLS_G2_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:454,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:454,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Google_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Google_bn256_BLS_G2_Add
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Google_bn256::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:460,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:461,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:461,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:462,1
    - Dst: Google_bn256_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:463,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:463,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 466
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 466
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Google_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Google_bn256_BLS_G2_Mul
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Google_bn256::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::Cloudflare_bn256::Cloudflare_bn256
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cloudflare_bn256::Cloudflare_bn256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cloudflare_bn256_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Cloudflare_bn256::getResult
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 1
    functionsReached:
    - free
    - Cloudflare_bn256_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string Cloudflare_bn256::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResult
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:27,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:32,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResult
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Cloudflare_bn256::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::Cloudflare_bn256::getResult
    - abort
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Cloudflare_bn256::getJsonResult(void)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Cloudflare_bn256::getJsonResult
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Cloudflare_bn256::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 7
    functionsReached:
    - cryptofuzz::module::Cloudflare_bn256::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Cloudflare_bn256::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:55,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:56,1
    - Dst: get
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:56,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:57,1
    - Dst: Cloudflare_bn256_BLS_G1_Add
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:58,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:58,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - Cloudflare_bn256_BLS_G1_Add
    - ToJSON
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Cloudflare_bn256::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:64,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:65,1
    - Dst: get
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:65,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:66,1
    - Dst: Cloudflare_bn256_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:67,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:67,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Cloudflare_bn256_BLS_G1_Mul
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Cloudflare_bn256::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:73,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:74,1
    - Dst: get
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:74,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:75,1
    - Dst: Cloudflare_bn256_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:76,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:76,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - Cloudflare_bn256_BLS_G1_Neg
    - ToJSON
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Cloudflare_bn256::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:82,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:83,1
    - Dst: get
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:83,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:84,1
    - Dst: Cloudflare_bn256_BLS_G2_Add
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:85,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:85,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - Cloudflare_bn256_BLS_G2_Add
    - ToJSON
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Cloudflare_bn256::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:91,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:92,1
    - Dst: get
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:92,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:93,1
    - Dst: Cloudflare_bn256_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:94,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:94,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - Cloudflare_bn256_BLS_G2_Mul
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Cloudflare_bn256::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:100,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:101,1
    - Dst: get
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:101,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:102,1
    - Dst: Cloudflare_bn256_BLS_G2_Neg
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:103,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:103,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - Cloudflare_bn256_BLS_G2_Neg
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Cloudflare_bn256::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::SkaleSolidity::SkaleSolidity
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkaleSolidity::SkaleSolidity(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SkaleSolidity_GetResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:20,1
    - Dst: free
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: cryptofuzz::module::SkaleSolidity_detail::getResult
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - SkaleSolidity_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string getResult(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:27,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:28,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:33,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:33,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::SkaleSolidity_detail::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::SkaleSolidity_detail::getResult
    - abort
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> getJsonResult(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:41,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:41,1
    - Dst: size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:41,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:41,1
    - Dst: size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToBin
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:45,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:46,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:48,1
    - Dst: end
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:48,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:48,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' val'
    argTypes:
    - std::vector<uint8_t>
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: cryptofuzz::module::SkaleSolidity_detail::append
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - end
    - ToBin
    - insert
    - CF_CHECK_NE
    - auto::end
    linkageType: ''
    returnType: bool
    signature: bool append(std::vector<uint8_t>& out, const component::Bignum& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:58,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:58,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:59,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' fp2'
    argTypes:
    - std::vector<uint8_t>
    - component::BignumPair
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: cryptofuzz::module::SkaleSolidity_detail::append
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::append
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: bool
    signature: bool append(std::vector<uint8_t>& out, const component::BignumPair&
      fp2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:68,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:68,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:69,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:69,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:70,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:70,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:71,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' out'
    - ' g2'
    argTypes:
    - std::vector<uint8_t>
    - component::G2
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::SkaleSolidity_detail::append
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::append
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: bool
    signature: bool append(std::vector<uint8_t>& out, const component::G2& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:82,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:82,1
    - Dst: data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:82,1
    - Dst: size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:82,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:84,1
    - Dst: end
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:84,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:84,1
    - Dst: end
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' fourbyte'
    argTypes:
    - std::vector<uint8_t>
    - std::array<uint8_t, 4>
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: cryptofuzz::module::SkaleSolidity_detail::append
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 2
    functionsReached:
    - std::array::data
    - data
    - end
    - memcpy
    - insert
    - size
    - begin
    linkageType: ''
    returnType: void
    signature: void append(std::vector<uint8_t>& out, const std::array<uint8_t, 4>&
      fourbyte)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getJsonResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:88,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:93,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:95,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:95,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:97,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:97,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:99,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:101,1
    - Dst: static_cast<bool>
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::SkaleSolidity_detail::parseBool
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - cryptofuzz::module::SkaleSolidity_detail::getJsonResult
    - auto::get
    - boost::algorithm::unhex
    - std::back_inserter
    - cryptofuzz::util::BinToDec
    - static_cast<bool>
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> parseBool(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getJsonResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:107,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:110,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:114,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:116,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:116,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:118,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:118,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: cryptofuzz::module::SkaleSolidity_detail::parseU256
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - cryptofuzz::module::SkaleSolidity_detail::getJsonResult
    - auto::get
    - boost::algorithm::unhex
    - std::back_inserter
    - abort
    - cryptofuzz::util::BinToDec
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> parseU256(const bool mustSucceed =
      false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getJsonResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:124,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:127,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:131,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:133,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:133,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:135,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:135,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:138,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:138,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:138,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:138,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:139,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:139,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:139,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::SkaleSolidity_detail::parseFp2
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - std::vector<uint8_t>
    - cryptofuzz::module::SkaleSolidity_detail::getJsonResult
    - auto::get
    - boost::algorithm::unhex
    - std::back_inserter
    - abort
    - cryptofuzz::util::BinToDec
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> parseFp2(const bool mustSucceed = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getJsonResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:144,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:147,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:151,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:153,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:153,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:155,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:155,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:158,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:158,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:158,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: cryptofuzz::module::SkaleSolidity_detail::parseBoolAsFp2
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - std::vector<uint8_t>
    - cryptofuzz::module::SkaleSolidity_detail::getJsonResult
    - auto::get
    - boost::algorithm::unhex
    - std::back_inserter
    - abort
    - cryptofuzz::util::BinToDec
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> parseBoolAsFp2(const bool mustSucceed
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getJsonResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:164,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:169,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:171,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:171,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:173,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:173,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:175,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:175,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:176,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:176,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:177,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:177,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:178,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:178,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:181,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:181,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:182,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 184
    functionName: cryptofuzz::module::SkaleSolidity_detail::parseG2
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - cryptofuzz::module::SkaleSolidity_detail::getJsonResult
    - auto::get
    - boost::algorithm::unhex
    - std::back_inserter
    - cryptofuzz::util::BinToDec
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> parseG2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: cryptofuzz::module::SkaleSolidity_detail::getGas
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getGas(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:199,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:199,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:200,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:200,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:205,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:207,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:207,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:209,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:209,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:209,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseBool
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: cryptofuzz::module::SkaleSolidity::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::parseBool
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - SkaleSolidity_Call
    - modifier::GetSize
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> SkaleSolidity::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:218,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:218,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:219,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:219,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:224,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:226,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:226,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:228,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:228,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:228,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseBool
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 234
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 234
    functionName: cryptofuzz::module::SkaleSolidity::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::parseBool
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - SkaleSolidity_Call
    - modifier::GetSize
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> SkaleSolidity::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:237,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:237,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:238,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:238,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:244,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:246,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:246,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:247,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:247,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:249,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:249,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:249,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseBool
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 255
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 255
    functionName: cryptofuzz::module::SkaleSolidity::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::parseBool
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - SkaleSolidity_Call
    - modifier::GetSize
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> SkaleSolidity::OpBLS_G2_IsEq(operation::BLS_G2_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:259,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:259,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:260,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:260,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:266,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:268,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:268,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:270,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:270,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:270,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseG2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 276
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 276
    functionName: cryptofuzz::module::SkaleSolidity_detail::OpBLS_G2_Double
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::module::SkaleSolidity_detail::parseG2
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - SkaleSolidity_Call
    - modifier::GetSize
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> OpBLS_G2_Double(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:280,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:280,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:281,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:281,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:287,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:293,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::OpBLS_G2_Double
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:297,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:301,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:301,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:302,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:302,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:304,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:304,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:304,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseG2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 310
      start: 279
    functionDepth: 4
    functionLinenumber: 279
    functionLinenumberEnd: 310
    functionName: cryptofuzz::module::SkaleSolidity::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::module::SkaleSolidity_detail::parseG2
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - SkaleSolidity_Call
    - modifier::GetSize
    - Datasource::Get
    - cryptofuzz::module::SkaleSolidity_detail::OpBLS_G2_Double
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> SkaleSolidity::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:314,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:314,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:317,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:320,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:324,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:325,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:327,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:329,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:329,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:330,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:330,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:332,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:333,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:333,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseU256
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:335,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:338,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:340,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:342,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:342,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:343,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:343,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:344,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:344,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:346,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:347,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:347,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseU256
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:349,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:352,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:355,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:357,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:357,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:358,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:358,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:359,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:359,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:361,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:361,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:361,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseU256
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:363,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:366,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:368,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:371,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:371,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:373,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:373,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:373,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseU256
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 382
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 382
    functionName: cryptofuzz::module::SkaleSolidity::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - bn1::ToTrimmedString
    - calcOp::Get
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - SkaleSolidity_Call
    - bn0::ToTrimmedString
    - cryptofuzz::module::SkaleSolidity_detail::parseU256
    - modifier::GetSize
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> SkaleSolidity::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:385,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:385,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:388,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:389,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:391,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:392,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:392,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:393,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:393,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:395,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:396,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:396,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseFp2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:398,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:401,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:403,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:404,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:404,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:405,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:405,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:407,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:408,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:408,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseFp2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:410,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:413,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:415,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:416,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:416,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:417,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:417,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:419,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:420,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:420,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseFp2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:422,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:425,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:427,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:428,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:428,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:430,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:431,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:431,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseFp2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:433,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:436,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:438,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:439,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:439,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:441,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:442,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:442,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseFp2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:444,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:447,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:449,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:450,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:450,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:451,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:451,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:453,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:454,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:454,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseBoolAsFp2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:456,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 463
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 463
    functionName: cryptofuzz::module::SkaleSolidity::OpBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::module::SkaleSolidity_detail::parseBoolAsFp2
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - calcOp::Get
    - SkaleSolidity_Call
    - cryptofuzz::module::SkaleSolidity_detail::parseFp2
    - modifier::GetSize
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> SkaleSolidity::OpBignumCalc_Fp2(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:466,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:466,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:467,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:467,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:473,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:473,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:474,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:474,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 479
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 479
    functionName: cryptofuzz::module::SkaleSolidity::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::append
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - modifier::GetSize
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> SkaleSolidity::OpBLS_Verify(operation::BLS_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: cryptofuzz::module::arkworks_algebra::arkworks_algebra
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arkworks_algebra::arkworks_algebra(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:199,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:199,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:200,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:203,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:203,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:204,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:205,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:205,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:206,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:207,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:207,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:208,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:209,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:209,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:210,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:212,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:212,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 216
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 216
    functionName: cryptofuzz::module::arkworks_algebra_detail::To4U64
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - __bswap_64
    - cryptofuzz::util::DecToBin
    - memcpy
    - auto::data
    - std::array::end
    - CF_CHECK_NE
    - ToTrimmedString
    - std::array::begin
    linkageType: ''
    returnType: std::optional<std::array<uint64_t, 4>>
    signature: std::optional<std::array<uint64_t, 4>> To4U64(const component::Bignum&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:220,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:220,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:221,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:224,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:224,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:225,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:226,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:226,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:227,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:228,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:228,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:229,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:230,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:230,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:231,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:232,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:232,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:233,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:234,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:234,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:235,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:237,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:237,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 241
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 241
    functionName: cryptofuzz::module::arkworks_algebra_detail::To6U64
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - __bswap_64
    - cryptofuzz::util::DecToBin
    - memcpy
    - auto::data
    - std::array::end
    - CF_CHECK_NE
    - ToTrimmedString
    - std::array::begin
    linkageType: ''
    returnType: std::optional<std::array<uint64_t, 6>>
    signature: std::optional<std::array<uint64_t, 6>> To6U64(const component::Bignum&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:243,1
    - Dst: std::array<uint64_t, 4>::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:243,1
    - Dst: std::array<uint64_t, 4>::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:243,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:245,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:246,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:247,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:248,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:249,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:249,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:250,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:250,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:251,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:251,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:252,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:252,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - u64
    argTypes:
    - std::array<uint64_t, 4>
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: cryptofuzz::module::arkworks_algebra_detail::From4U64
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::reverse
    - __bswap_64
    - memcpy
    - std::array<uint64_t, 4>::begin
    - std::array<uint64_t, 4>::end
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum From4U64(std::array<uint64_t, 4> u64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:256,1
    - Dst: std::array<uint64_t, 6>::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:256,1
    - Dst: std::array<uint64_t, 6>::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:256,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:258,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:259,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:260,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:261,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:262,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:263,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:264,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:264,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:265,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:265,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:266,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:266,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:267,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:267,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:268,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:268,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:269,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:269,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - u64
    argTypes:
    - std::array<uint64_t, 6>
    constantsTouched: []
    func_position:
      end: 271
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 271
    functionName: cryptofuzz::module::arkworks_algebra_detail::From6U64
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::reverse
    - __bswap_64
    - std::array<uint64_t, 6>::end
    - memcpy
    - cryptofuzz::util::BinToDec
    - std::array<uint64_t, 6>::begin
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum From6U64(std::array<uint64_t, 6> u64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:276,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' result_x'
    - ' result_y'
    argTypes:
    - std::array<uint64_t, 4>
    - std::array<uint64_t, 4>
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: cryptofuzz::module::arkworks_algebra_detail::ToG1
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::arkworks_algebra_detail::From4U64
    linkageType: ''
    returnType: component::G1
    signature: "component::G1 ToG1(\n            const std::array<uint64_t, 4>& result_x,\n
      \           const std::array<uint64_t, 4>& result_y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:287,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' result_x'
    - ' result_y'
    argTypes:
    - std::array<uint64_t, 6>
    - std::array<uint64_t, 6>
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: cryptofuzz::module::arkworks_algebra_detail::ToG1
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::arkworks_algebra_detail::From6U64
    linkageType: ''
    returnType: component::G1
    signature: "component::G1 ToG1(\n            const std::array<uint64_t, 6>& result_x,\n
      \           const std::array<uint64_t, 6>& result_y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:300,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:301,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:302,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ' result_v'
    - ' result_w'
    - ' result_x'
    - ' result_y'
    argTypes:
    - std::array<uint64_t, 6>
    - std::array<uint64_t, 6>
    - std::array<uint64_t, 6>
    - std::array<uint64_t, 6>
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: cryptofuzz::module::arkworks_algebra_detail::ToG2
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::arkworks_algebra_detail::From6U64
    linkageType: ''
    returnType: component::G2
    signature: "component::G2 ToG2(\n            const std::array<uint64_t, 6>& result_v,\n
      \           const std::array<uint64_t, 6>& result_w,\n            const std::array<uint64_t,
      6>& result_x,\n            const std::array<uint64_t, 6>& result_y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:315,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:315,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:316,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:316,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:317,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:317,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:323,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:323,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:327,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:327,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:329,1
    - Dst: arkworks_algebra_g1_privatetopublic_bn254
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:329,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:330,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:331,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:332,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:335,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:336,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:336,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:337,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:337,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:341,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:341,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:343,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:343,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:344,1
    - Dst: arkworks_algebra_g1_privatetopublic_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:344,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:345,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:346,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:347,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:349,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:349,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:350,1
    - Dst: arkworks_algebra_g1_privatetopublic_bls12_377
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:350,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:351,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:352,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:353,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:356,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:359,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 366
      start: 313
    functionDepth: 4
    functionLinenumber: 313
    functionLinenumberEnd: 366
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - arkworks_algebra_g1_privatetopublic_bn254
    - std::array::data
    - CF_ECC_CURVE
    - data
    - arkworks_algebra_g1_privatetopublic_bls12_381
    - arkworks_algebra_g1_privatetopublic_bls12_377
    - cryptofuzz::module::arkworks_algebra_detail::ToG1
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    - CF_UNREACHABLE
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> arkworks_algebra::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:370,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:370,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:371,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:371,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:372,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:372,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:378,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:378,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:381,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:381,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:382,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:382,1
    - Dst: arkworks_algebra_g1_isoncurve_bn254
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:384,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:385,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:386,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:387,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:389,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:389,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:390,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:390,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:393,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:393,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:394,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:394,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:396,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:396,1
    - Dst: arkworks_algebra_g1_isoncurve_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:397,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:398,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:399,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:400,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:402,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:402,1
    - Dst: arkworks_algebra_g1_isoncurve_bls12_377
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:403,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:404,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:405,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:406,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:409,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 417
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 417
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - arkworks_algebra_g1_isoncurve_bls12_381
    - CF_ECC_CURVE
    - data
    - arkworks_algebra_g1_isoncurve_bls12_377
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - arkworks_algebra_g1_isoncurve_bn254
    - CF_UNREACHABLE
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> arkworks_algebra::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:421,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:421,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:422,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:422,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:423,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:423,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:428,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:428,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:430,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:430,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:434,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:434,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:435,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:435,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:436,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:436,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:437,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:437,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:439,1
    - Dst: arkworks_algebra_g1_add_bn254
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:439,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:440,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:441,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:442,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:443,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:444,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:445,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:448,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:449,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:449,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:450,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:450,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:454,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:454,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:455,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:455,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:456,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:456,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:457,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:457,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:459,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:459,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:462,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:466,1
    - Dst: arkworks_algebra_g1_add_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:466,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:467,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:468,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:469,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:470,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:472,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:473,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:475,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:475,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:476,1
    - Dst: arkworks_algebra_g1_add_bls12_377
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:476,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:477,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:478,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:479,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:480,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:481,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:482,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:485,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:488,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:490,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 495
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 495
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - modifier::GetPtr
    - arkworks_algebra_g1_add_bls12_377
    - CF_ECC_CURVE
    - data
    - arkworks_algebra_g1_add_bn254
    - cryptofuzz::module::arkworks_algebra_detail::ToG1
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - CF_UNREACHABLE
    - modifier::GetSize
    - Datasource::Get
    - arkworks_algebra_g1_add_bls12_381
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> arkworks_algebra::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:499,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:499,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:500,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:500,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:501,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:501,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:506,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:506,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:508,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:508,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:512,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:512,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:513,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:513,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:514,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:514,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:516,1
    - Dst: arkworks_algebra_g1_mul_bn254
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:516,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:517,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:518,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:519,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:520,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:521,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:524,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:525,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:525,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:526,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:526,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:531,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:531,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:532,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:532,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:533,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:533,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:535,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:535,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:538,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:542,1
    - Dst: arkworks_algebra_g1_mul_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:542,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:543,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:544,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:545,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:547,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:548,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:550,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:550,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:551,1
    - Dst: arkworks_algebra_g1_mul_bls12_377
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:551,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:552,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:553,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:554,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:555,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:556,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:559,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:562,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 569
      start: 497
    functionDepth: 4
    functionLinenumber: 497
    functionLinenumberEnd: 569
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - arkworks_algebra_g1_mul_bn254
    - std::array::data
    - modifier::GetPtr
    - CF_ECC_CURVE
    - data
    - cryptofuzz::module::arkworks_algebra_detail::ToG1
    - std::optional::data
    - arkworks_algebra_g1_mul_bls12_381
    - CF_CHECK_NE
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    - arkworks_algebra_g1_mul_bls12_377
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - CF_UNREACHABLE
    - modifier::GetSize
    - Datasource::Get
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> arkworks_algebra::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:573,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:573,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:574,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:574,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:575,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:575,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:580,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:580,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:582,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:582,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:586,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:586,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:587,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:587,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:589,1
    - Dst: arkworks_algebra_g1_neg_bn254
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:589,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:590,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:591,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:592,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:593,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:596,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:597,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:597,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:598,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:598,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:602,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:602,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:603,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:603,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:605,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:605,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:608,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:612,1
    - Dst: arkworks_algebra_g1_neg_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:612,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:613,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:614,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:616,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:617,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:619,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:619,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:620,1
    - Dst: arkworks_algebra_g1_neg_bls12_377
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:620,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:621,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:622,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:623,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:624,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:627,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:630,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:632,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 637
      start: 571
    functionDepth: 4
    functionLinenumber: 571
    functionLinenumberEnd: 637
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - modifier::GetPtr
    - CF_ECC_CURVE
    - data
    - arkworks_algebra_g1_neg_bls12_377
    - cryptofuzz::module::arkworks_algebra_detail::ToG1
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - arkworks_algebra_g1_neg_bn254
    - CF_UNREACHABLE
    - modifier::GetSize
    - Datasource::Get
    - curveType::Get
    - arkworks_algebra_g1_neg_bls12_381
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> arkworks_algebra::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:640,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:640,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:649,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:649,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:650,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:650,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:651,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:651,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:652,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:652,1
    - Dst: arkworks_algebra_g2_isoncurve_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:654,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:655,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:656,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:657,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:658,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 665
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 665
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - arkworks_algebra_g2_isoncurve_bls12_381
    - CF_ECC_CURVE
    - data
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> arkworks_algebra::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:668,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:668,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:673,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:673,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:680,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:680,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:681,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:681,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:682,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:682,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:683,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:683,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:685,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:685,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:686,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:686,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:687,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:687,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:688,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:688,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:690,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:690,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:693,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:697,1
    - Dst: arkworks_algebra_g2_add_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:697,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:698,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:699,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:700,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:701,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:702,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:703,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:704,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:705,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:707,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:708,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:709,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:710,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG2
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 717
      start: 667
    functionDepth: 4
    functionLinenumber: 667
    functionLinenumberEnd: 717
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - modifier::GetPtr
    - CF_ECC_CURVE
    - data
    - arkworks_algebra_g2_add_bls12_381
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::arkworks_algebra_detail::ToG2
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - modifier::GetSize
    - Datasource::Get
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> arkworks_algebra::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:721,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:721,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:722,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:722,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:727,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:727,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:734,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:734,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:735,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:735,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:736,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:736,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:737,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:737,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:738,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:738,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:740,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:740,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:743,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:747,1
    - Dst: arkworks_algebra_g2_mul_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:747,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:748,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:749,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:750,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:751,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:752,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:754,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:755,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:756,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:757,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG2
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:759,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:760,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:760,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:763,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:767,1
    - Dst: arkworks_algebra_g2_mul_bls12_377
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:767,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:768,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:769,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:770,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:771,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:772,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:774,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:775,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:776,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:777,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG2
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:779,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 784
      start: 719
    functionDepth: 4
    functionLinenumber: 719
    functionLinenumberEnd: 784
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - modifier::GetPtr
    - CF_ECC_CURVE
    - data
    - arkworks_algebra_g2_mul_bls12_381
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    - cryptofuzz::module::arkworks_algebra_detail::ToG2
    - arkworks_algebra_g2_mul_bls12_377
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - modifier::GetSize
    - Datasource::Get
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> arkworks_algebra::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:787,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:787,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:792,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:792,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:798,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:798,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:799,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:799,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:800,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:800,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:801,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:801,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:805,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:809,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:809,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:810,1
    - Dst: arkworks_algebra_g2_neg_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:810,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:811,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:812,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:813,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:814,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:816,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:817,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:818,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:819,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG2
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 826
      start: 786
    functionDepth: 4
    functionLinenumber: 786
    functionLinenumberEnd: 826
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - arkworks_algebra_g2_neg_bls12_381
    - std::array::data
    - modifier::GetPtr
    - CF_ECC_CURVE
    - data
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::arkworks_algebra_detail::ToG2
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - modifier::GetSize
    - Datasource::Get
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> arkworks_algebra::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:836,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:836,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:837,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:837,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:837,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:837,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:839,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:839,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:840,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:840,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:840,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:840,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:842,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:842,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:843,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:843,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:843,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:843,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:845,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:845,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:846,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:846,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:846,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:846,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:848,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:848,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:849,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:849,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:849,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:849,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:851,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:851,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:852,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:852,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:852,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:852,1
    - Dst: arkworks_algebra_batchverify_bn254
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:855,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:855,1
    - Dst: bf::c::size
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 858
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 858
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::optional::begin
    - std::vector::insert
    - arkworks_algebra_batchverify_bn254
    - CF_CHECK_NE
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    - std::optional::end
    - bf::c::size
    - std::vector::end
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> arkworks_algebra::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:861,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:861,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:876,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:876,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:877,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:877,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:880,1
    - Dst: second::IsLessThan
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:880,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:882,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:882,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:885,1
    - Dst: push_back
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:888,1
    - Dst: push_back
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:891,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:896,1
    - Dst: arkworks_algebra_g1_multiexp_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:896,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:897,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:898,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:899,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:901,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:902,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 908
      start: 860
    functionDepth: 4
    functionLinenumber: 860
    functionLinenumberEnd: 908
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::array::data
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - second::IsLessThan
    - CF_CHECK_EQ
    - data
    - cryptofuzz::module::arkworks_algebra_detail::ToG1
    - CF_CHECK_NE
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - arkworks_algebra_g1_multiexp_bls12_381
    - std::vector::push_back
    - curveType::Get
    - push_back
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> arkworks_algebra::OpBLS_G1_MultiExp(operation::BLS_G1_MultiExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:916,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:919,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:922,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:925,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:928,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:931,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:934,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:948,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:948,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:949,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:949,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:950,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:950,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:952,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:952,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:953,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:953,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:954,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:954,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:958,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:959,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:960,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:961,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:962,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:963,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:964,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:965,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:966,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:967,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:970,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:970,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:970,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:970,1
    - Dst: arkworks_algebra_bignumcalc
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:976,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:977,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:977,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:978,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:979,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:980,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:981,1
    - Dst: arkworks_algebra_bignumcalc_bn254_fq
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:985,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:986,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:986,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:987,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:988,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:989,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:990,1
    - Dst: arkworks_algebra_bignumcalc_bn254_fr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:994,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:995,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:995,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:996,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:997,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:998,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:999,1
    - Dst: arkworks_algebra_bignumcalc_bls12_381_fr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1003,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1004,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1004,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1005,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1006,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1007,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1008,1
    - Dst: arkworks_algebra_bignumcalc_bls12_377_fr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1012,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1013,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1013,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1014,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1015,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1016,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1017,1
    - Dst: arkworks_algebra_bignumcalc_bls12_377_fq
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1021,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1022,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1022,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1023,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1024,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1025,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1026,1
    - Dst: arkworks_algebra_bignumcalc_bls12_381_fq
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1030,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1031,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1031,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1032,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1033,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1034,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1035,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1039,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1042,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1045,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1047,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1053
      start: 910
    functionDepth: 3
    functionLinenumber: 910
    functionLinenumberEnd: 1053
    functionName: cryptofuzz::module::arkworks_algebra::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::at
    - arkworks_algebra_bignumcalc_bn254_fr
    - arkworks_algebra_bignumcalc_bn254_fq
    - CF_UNREACHABLE
    - arkworks_algebra_bignumcalc_bls12_377_fr
    - CF_CALCOP
    - std::map::find
    - data
    - arkworks_algebra_bignumcalc_bls12_381_fq
    - arkworks_algebra_bignumcalc_bls12_381_fr
    - std::map::end
    - cryptofuzz::module::arkworks_algebra_detail::From4U64
    - std::optional::data
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - arkworks_algebra_bignumcalc_bls12_377_fq
    - calcOp::Get
    - std::array::data
    - CF_CHECK_TRUE
    - modulo::ToTrimmedString
    - CF_CHECK_NE
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    - arkworks_algebra_bignumcalc
    - cryptofuzz::module::arkworks_algebra_detail::From6U64
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> arkworks_algebra::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1057
    functionName: cryptofuzz::module::arkworks_algebra::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool arkworks_algebra::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rt_init
      Src: /src/cryptofuzz/modules/d/module.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::D::D
    functionSourceFile: /src/cryptofuzz/modules/d/module.cpp
    functionUses: 0
    functionsReached:
    - rt_init
    linkageType: ''
    returnType: void
    signature: void D::D(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_d_bignumcalc
      Src: /src/cryptofuzz/modules/d/module.cpp:24,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/d/module.cpp:25,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/d/module.cpp:26,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/d/module.cpp:27,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/d/module.cpp:28,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/d/module.cpp:30,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/d/module.cpp:30,1
    - Dst: free
      Src: /src/cryptofuzz/modules/d/module.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: cryptofuzz::module::D::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/d/module.cpp
    functionUses: 0
    functionsReached:
    - bn2::ToTrimmedString
    - free
    - bn1::ToTrimmedString
    - getBignum
    - std::string
    - bn0::ToTrimmedString
    - calcOp::Get
    - cryptofuzz_d_bignumcalc
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> D::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: cryptofuzz::module::secp256k1::secp256k1
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1::secp256k1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::secp256k1_detail::CheckRet
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    linkageType: ''
    returnType: int
    signature: int CheckRet(const int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:37,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:37,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:38,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:41,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:43,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:44,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:44,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - std::string
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: cryptofuzz::module::secp256k1_detail::EncodeBignum
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - boost::multiprecision::export_bits
    - std::back_inserter
    - memset
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool EncodeBignum(const std::string s, uint8_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:53,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::secp256k1_detail::toString
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const boost::multiprecision::cpp_int& i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:65,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:66,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:66,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:66,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:67,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:72,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:72,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:72,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:73,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:73,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:73,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:75,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - pubkey
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    constantsTouched: []
    func_position:
      end: 80
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 3
    functionsReached:
    - std::vector::data
    - boost::multiprecision::import_bits
    - CF_CHECK_EQ
    - cryptofuzz::module::secp256k1_detail::toString
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - secp256k1_ec_pubkey_serialize
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> To_ECC_PublicKey(const secp256k1_context*
      ctx, const secp256k1_pubkey* pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:85,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:85,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' priv'
    - privkey_bytes
    argTypes:
    - component::ECC_PrivateKey
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - ToTrimmedString
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    linkageType: ''
    returnType: bool
    signature: bool PrivkeyToBytes(const component::ECC_PrivateKey& priv, uint8_t
      privkey_bytes[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:99,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:99,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:100,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:102,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:102,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' pub'
    - pubkey_bytes
    argTypes:
    - component::ECC_PublicKey
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::secp256k1_detail::PubkeyToBytes
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - first::ToTrimmedString
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - second::ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool PubkeyToBytes(const component::ECC_PublicKey& pub, uint8_t pubkey_bytes[65])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:114,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: cryptofuzz::module::secp256k1_detail::AssertZero
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void AssertZero(const T* v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:128,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:129,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:130,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:131,1
    - Dst: secp256k1_context_randomize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:131,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::secp256k1_detail::Context::randomizeContext
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - CheckRet
    - secp256k1_context_randomize
    - GetData
    - CF_ASSERT
    - Get
    linkageType: ''
    returnType: void
    signature: void randomizeContext(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_clone
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:139,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:140,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:141,1
    - Dst: secp256k1_context_destroy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: cryptofuzz::module::secp256k1_detail::Context::clone
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - secp256k1_context_destroy
    - secp256k1_context_clone
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void clone(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:148,1
    - Dst: secp256k1_context_create
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - flags
    argTypes:
    - Datasource
    - unsigned int
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: cryptofuzz::module::secp256k1_detail::Context::Context
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - secp256k1_context_create
    linkageType: ''
    returnType: void
    signature: void Context(Datasource& ds, const unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:151,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:153,1
    - Dst: secp256k1_context_destroy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: ~Context(void)
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - secp256k1_context_destroy
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ~Context(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:158,1
    - Dst: cryptofuzz::module::secp256k1_detail::Context::randomizeContext
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:159,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:162,1
    - Dst: cryptofuzz::module::secp256k1_detail::Context::clone
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: cryptofuzz::module::secp256k1_detail::Context::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::Context::clone
    - Get
    - cryptofuzz::module::secp256k1_detail::Context::randomizeContext
    linkageType: ''
    returnType: secp256k1_context
    signature: secp256k1_context * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: cryptofuzz::module::secp256k1_detail::Context::GetPtrDirect
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secp256k1_context
    signature: secp256k1_context * GetPtrDirect(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:186,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:186,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:187,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:191,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:192,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:192,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::serializeCompact
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_recoverable_signature_serialize_compact
    - CheckRet
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
    - secp256k1_ecdsa_recoverable_signature_parse_compact
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void serializeCompact(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:203,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:203,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::convert
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CheckRet
    - secp256k1_ecdsa_recoverable_signature_convert
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
    linkageType: ''
    returnType: void
    signature: void convert(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<secp256k1_ecdsa_recoverable_signature*>
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:208,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - ' ctx'
    argTypes:
    - Datasource
    - Context
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::ECDSA_Recoverable_Signature
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - static_cast<secp256k1_ecdsa_recoverable_signature*>
    - malloc
    linkageType: ''
    returnType: void
    signature: void ECDSA_Recoverable_Signature(Datasource& ds, Context& ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:211,1
    - Dst: free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: ~ECDSA_Recoverable_Signature(void)
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - free
    linkageType: ''
    returnType: void
    signature: void ~ECDSA_Recoverable_Signature(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::SetInitialized
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetInitialized(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:222,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::serializeCompact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:223,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:226,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::convert
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::convert
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::serializeCompact
    - Get
    linkageType: ''
    returnType: secp256k1_ecdsa_recoverable_signature
    signature: secp256k1_ecdsa_recoverable_signature * GetPtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtrDirect
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secp256k1_ecdsa_recoverable_signature
    signature: secp256k1_ecdsa_recoverable_signature * GetPtrDirect(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:239,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:240,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:245,1
    - Dst: secp256k1_detail::AssertZero<>
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - id
    argTypes:
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::ParseCompact
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::SetInitialized
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtrDirect
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
    - secp256k1_detail::AssertZero<>
    linkageType: ''
    returnType: bool
    signature: bool ParseCompact(const uint8_t* data, const uint8_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:266,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:268,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:272,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:286,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:286,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:287,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:292,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:293,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:293,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:294,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::serialize
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CheckRet
    - cryptofuzz::util::malloc
    - secp256k1_ec_pubkey_parse
    - cryptofuzz::util::free
    - secp256k1_ec_pubkey_serialize
    - CF_ASSERT
    - Get
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    linkageType: ''
    returnType: void
    signature: void serialize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<secp256k1_pubkey*>
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:311,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - ' ctx'
    argTypes:
    - Datasource
    - Context
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::Pubkey
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - static_cast<secp256k1_pubkey*>
    - malloc
    linkageType: ''
    returnType: void
    signature: void Pubkey(Datasource& ds, Context& ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:314,1
    - Dst: free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: ~Pubkey(void)
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - free
    linkageType: ''
    returnType: void
    signature: void ~Pubkey(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetInitialized(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:326,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::Pubkey::serialize
    - Get
    linkageType: ''
    returnType: secp256k1_pubkey
    signature: secp256k1_pubkey * GetPtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:334,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:335,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::Create
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
    - cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
    linkageType: ''
    returnType: bool
    signature: bool Create(const uint8_t key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:347,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:348,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::Serialize
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
    linkageType: ''
    returnType: bool
    signature: bool Serialize(uint8_t* data, size_t* size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:360,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:361,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::Parse
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
    - cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
    linkageType: ''
    returnType: bool
    signature: bool Parse(const uint8_t* data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:375,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:376,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:378,1
    - Dst: secp256k1_ecdh
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::ECDH
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_ecdh
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    - CheckRet
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
    linkageType: ''
    returnType: bool
    signature: bool ECDH(uint8_t out[32], const uint8_t key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:383,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:384,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:385,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:390,1
    - Dst: AssertZero<>
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' sig'
    - hash
    argTypes:
    - ECDSA_Recoverable_Signature
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 397
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 397
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::Recover
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - AssertZero<>
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
    - cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
    linkageType: ''
    returnType: bool
    signature: bool Recover(ECDSA_Recoverable_Signature& sig, const uint8_t hash[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: secp256k1_pubkey
    signature: secp256k1_pubkey * GetPtrDirect(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:417,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:417,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:418,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:422,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:423,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:423,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:424,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 435
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::serializeDER
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CheckRet
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
    - secp256k1_ecdsa_signature_serialize_der
    - secp256k1_ecdsa_signature_parse_der
    - cryptofuzz::util::free
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void serializeDER(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:440,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:440,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:441,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:444,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:445,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:445,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 451
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::serializeCompact
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CheckRet
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
    - secp256k1_ecdsa_signature_serialize_compact
    - CF_ASSERT
    - secp256k1_ecdsa_signature_parse_compact
    linkageType: ''
    returnType: void
    signature: void serializeCompact(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<secp256k1_ecdsa_signature*>
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:455,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - ' ctx'
    argTypes:
    - Datasource
    - Context
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::ECDSA_Signature
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - static_cast<secp256k1_ecdsa_signature*>
    - malloc
    linkageType: ''
    returnType: void
    signature: void ECDSA_Signature(Datasource& ds, Context& ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:458,1
    - Dst: free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: ~ECDSA_Signature(void)
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - free
    linkageType: ''
    returnType: void
    signature: void ~ECDSA_Signature(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::SetInitialized
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetInitialized(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:469,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::serializeDER
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:470,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:473,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::serializeCompact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 479
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::serializeCompact
    - Get
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::serializeDER
    linkageType: ''
    returnType: secp256k1_ecdsa_signature
    signature: secp256k1_ecdsa_signature * GetPtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:482,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:483,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 492
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 492
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::ParseCompact
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::SetInitialized
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
    - GetPtrDirect
    linkageType: ''
    returnType: bool
    signature: bool ParseCompact(const uint8_t* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:495,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:496,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:498,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::Normalize
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
    - CheckRet
    - GetPtrDirect
    - secp256k1_ecdsa_signature_normalize
    linkageType: ''
    returnType: void
    signature: void Normalize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:502,1
    - Dst: GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:503,1
    - Dst: GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:504,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:506,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - ' pub'
    argTypes:
    - uint8_t[]
    - Pubkey
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::Verify
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_verify
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
    - CheckRet
    - GetPtrDirect
    linkageType: ''
    returnType: bool
    signature: bool Verify(const uint8_t hash[32], Pubkey& pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:517,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:517,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:520,1
    - Dst: secp256k1_detail::Pubkey::Create
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:520,1
    - Dst: secp256k1_detail::Context::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:523,1
    - Dst: secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:524,1
    - Dst: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' ds'
    - priv
    argTypes:
    - Datasource
    - std::string
    constantsTouched: []
    func_position:
      end: 531
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 531
    functionName: cryptofuzz::module::secp256k1_detail::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_detail::Context::GetPtrDirect
    - CF_CHECK_TRUE
    - CF_CHECK_EQ
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - secp256k1_detail::Pubkey::GetPtr
    - cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    - secp256k1_detail::Pubkey::Create
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic(Datasource&
      ds, const std::string priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: cryptofuzz::module::secp256k1_detail::nonce_function
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int nonce_function(unsigned char *nonce32, const unsigned char *msg32,
      const unsigned char *key32, const unsigned char *algo16, void *data, unsigned
      int counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - nonce32
    - msg
    - msglen
    - key32
    - xonly_pk32
    - algo
    - algolen
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 570
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 570
    functionName: cryptofuzz::module::secp256k1_detail::nonce_function_schnorrsig
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int nonce_function_schnorrsig(\n            unsigned char *nonce32,\n
      \           const unsigned char *msg,\n            size_t msglen,\n            const
      unsigned char *key32,\n            const unsigned char *xonly_pk32,\n            const
      unsigned char *algo,\n            size_t algolen,\n            void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:576,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:576,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:577,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:579,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:579,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:579,1
    - Dst: cryptofuzz::module::secp256k1_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:581,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:581,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 587
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 587
    functionName: cryptofuzz::module::secp256k1::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz::util::SetGlobalDs
    - cryptofuzz::util::UnsetGlobalDs
    - cryptofuzz::module::secp256k1_detail::OpECC_PrivateToPublic
    - modifier::GetSize
    - priv::ToTrimmedString
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> secp256k1::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:591,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:591,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:592,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:599,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:599,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:599,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:601,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:601,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:602,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:604,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:604,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:605,1
    - Dst: secp256k1_detail::Pubkey::Parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:608,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 614
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 614
    functionName: cryptofuzz::module::secp256k1::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - pub::first::ToTrimmedString
    - modifier::GetPtr
    - pub::second::ToTrimmedString
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - cryptofuzz::util::SetGlobalDs
    - secp256k1_detail::Pubkey::Parse
    - cryptofuzz::util::UnsetGlobalDs
    - modifier::GetSize
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> secp256k1::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:618,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:618,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:619,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:631,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:631,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:631,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:633,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:633,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:633,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:635,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:635,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:636,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:639,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:639,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:640,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:641,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:641,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:642,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:642,1
    - Dst: cryptofuzz::crypto::impl::sha256
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:643,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:643,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:644,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:644,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:644,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:649,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:650,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:650,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:650,1
    - Dst: secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:650,1
    - Dst: secp256k1_detail::ECDSA_Signature::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:651,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:652,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:653,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:653,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:654,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:656,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:656,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:656,1
    - Dst: secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:656,1
    - Dst: secp256k1_detail::ECDSA_Signature::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:657,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:659,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:662,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:662,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:662,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:662,1
    - Dst: secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:662,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:664,1
    - Dst: secp256k1_detail::Pubkey::Create
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:664,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:665,1
    - Dst: secp256k1_detail::Pubkey::Serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:665,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:665,1
    - Dst: cryptofuzz::module::secp256k1_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:670,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:670,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:671,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:673,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:673,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:673,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:674,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:674,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:674,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:676,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:677,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:677,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:682,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 685
      start: 616
    functionDepth: 4
    functionLinenumber: 616
    functionLinenumberEnd: 685
    functionName: cryptofuzz::module::secp256k1::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_detail::Pubkey::Serialize
    - boost::multiprecision::import_bits
    - cleartext::ECDSA_Pad
    - cryptofuzz::util::SetGlobalDs
    - cryptofuzz::crypto::impl::sha256
    - CF_DIGEST
    - cryptofuzz::util::UnsetGlobalDs
    - CF_UNREACHABLE
    - UseRFC6979Nonce
    - nonce::ToTrimmedString
    - cryptofuzz::module::secp256k1_detail::OpECC_PrivateToPublic
    - priv::ToTrimmedString
    - curveType::Get
    - modifier::GetPtr
    - secp256k1_detail::ECDSA_Signature::GetPtr
    - secp256k1_detail::ECDSA_Signature::SetInitialized
    - UseSpecifiedNonce
    - auto::size
    - std::vector::begin
    - cryptofuzz::tests::test_ECDSA_Signature
    - std::vector::data
    - cleartext::Get
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - memcpy
    - auto::data
    - std::vector::end
    - auto::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - secp256k1_detail::Context::GetPtr
    - digestType::Get
    - cryptofuzz::module::secp256k1_detail::toString
    - CF_CHECK_NE
    - secp256k1_ecdsa_signature_serialize_compact
    - modifier::GetSize
    - secp256k1_detail::Pubkey::Create
    - secp256k1_ecdsa_sign
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> secp256k1::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:689,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:689,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:690,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:699,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:699,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:699,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:701,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:701,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:702,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:703,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:703,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:704,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:704,1
    - Dst: cryptofuzz::crypto::impl::sha256
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:705,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:705,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:706,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:706,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:706,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:716,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:716,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:717,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:719,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:719,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:720,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:723,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:723,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:724,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:726,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:726,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:727,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:730,1
    - Dst: secp256k1_detail::Pubkey::Parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:730,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:732,1
    - Dst: secp256k1_detail::ECDSA_Signature::ParseCompact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:732,1
    - Dst: secp256k1_detail::ECDSA_Signature::Normalize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:733,1
    - Dst: secp256k1_detail::ECDSA_Signature::Verify
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:735,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 741
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 741
    functionName: cryptofuzz::module::secp256k1::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::first::ToTrimmedString
    - cleartext::ECDSA_Pad
    - cryptofuzz::util::SetGlobalDs
    - cryptofuzz::crypto::impl::sha256
    - CF_DIGEST
    - cryptofuzz::util::UnsetGlobalDs
    - secp256k1_detail::ECDSA_Signature::Verify
    - curveType::Get
    - modifier::GetPtr
    - auto::size
    - secp256k1_detail::ECDSA_Signature::Normalize
    - cleartext::Get
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - signature::signature::first::ToTrimmedString
    - memcpy
    - auto::data
    - signature::pub::second::ToTrimmedString
    - signature::signature::second::ToTrimmedString
    - auto::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - digestType::Get
    - secp256k1_detail::Pubkey::Parse
    - modifier::GetSize
    - secp256k1_detail::ECDSA_Signature::ParseCompact
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> secp256k1::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:745,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:745,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:746,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:756,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:756,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:756,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:757,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:759,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:759,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:760,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:761,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:761,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:762,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:762,1
    - Dst: cryptofuzz::crypto::impl::sha256
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:763,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:763,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:764,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:764,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:764,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:769,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:769,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:770,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:772,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:772,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:773,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:776,1
    - Dst: secp256k1_detail::ECDSA_Recoverable_Signature::ParseCompact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:776,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:778,1
    - Dst: secp256k1_detail::Pubkey::Recover
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:778,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:779,1
    - Dst: secp256k1_detail::Pubkey::Serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:779,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:779,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:784,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:784,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:784,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:785,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:785,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:785,1
    - Dst: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:787,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:787,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:787,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Recover
    constantsTouched: []
    func_position:
      end: 794
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 794
    functionName: cryptofuzz::module::secp256k1::OpECDSA_Recover
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_detail::Pubkey::Serialize
    - boost::multiprecision::import_bits
    - cleartext::ECDSA_Pad
    - cryptofuzz::util::SetGlobalDs
    - cryptofuzz::crypto::impl::sha256
    - CF_DIGEST
    - cryptofuzz::util::UnsetGlobalDs
    - signature::first::ToTrimmedString
    - curveType::Get
    - modifier::GetPtr
    - auto::size
    - std::vector::begin
    - std::vector::data
    - cleartext::Get
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - memcpy
    - CF_CHECK_LTE
    - signature::second::ToTrimmedString
    - auto::data
    - std::vector::end
    - auto::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - secp256k1_detail::Pubkey::Recover
    - digestType::Get
    - secp256k1_detail::ECDSA_Recoverable_Signature::ParseCompact
    - cryptofuzz::module::secp256k1_detail::toString
    - cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> secp256k1::OpECDSA_Recover(operation::ECDSA_Recover&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:803,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:803,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:804,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:816,1
    - Dst: UseBIP340Nonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:816,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:816,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:818,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:818,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:818,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:820,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:820,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:821,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:824,1
    - Dst: secp256k1_keypair_create
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:824,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:824,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:826,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:826,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:828,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:828,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:829,1
    - Dst: UseBIP340Nonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:834,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:837,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:838,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:838,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:839,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:844,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:855,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:856,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:857,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:857,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:857,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:857,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:857,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:860,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:860,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:860,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:861,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:861,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:861,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:861,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:866,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:866,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:866,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:867,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:867,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:867,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:868,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:868,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:868,1
    - Dst: cryptofuzz::tests::test_BIP340_Schnorr_Signature
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:870,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:871,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:871,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:872,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:876,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Schnorr_Sign
    constantsTouched: []
    func_position:
      end: 879
      start: 801
    functionDepth: 3
    functionLinenumber: 801
    functionLinenumberEnd: 879
    functionName: cryptofuzz::module::secp256k1::OpSchnorr_Sign
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - boost::multiprecision::import_bits
    - cryptofuzz::util::SetGlobalDs
    - CF_DIGEST
    - cryptofuzz::util::UnsetGlobalDs
    - CF_UNREACHABLE
    - nonce::ToTrimmedString
    - priv::ToTrimmedString
    - curveType::Get
    - modifier::GetPtr
    - UseSpecifiedNonce
    - std::vector::begin
    - Buffer::GetPtr
    - std::vector::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - secp256k1_xonly_pubkey_serialize
    - cryptofuzz::tests::test_BIP340_Schnorr_Signature
    - std::vector::end
    - cleartext::SHA256
    - UseBIP340Nonce
    - CF_CHECK_TRUE
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - secp256k1_detail::Context::GetPtr
    - digestType::Get
    - Buffer::GetSize
    - cryptofuzz::module::secp256k1_detail::toString
    - secp256k1_keypair_xonly_pub
    - secp256k1_schnorrsig_sign_custom
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - secp256k1_keypair_create
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Schnorr_Signature>
    signature: std::optional<component::Schnorr_Signature> secp256k1::OpSchnorr_Sign(operation::Schnorr_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:883,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:883,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:884,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:892,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:892,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:892,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:894,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:894,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:896,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:896,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:897,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:906,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:906,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:907,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:910,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:910,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:911,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:913,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:913,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:914,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:917,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:917,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:917,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:919,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:920,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:920,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:920,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:920,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Schnorr_Verify
    constantsTouched: []
    func_position:
      end: 927
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 927
    functionName: cryptofuzz::module::secp256k1::OpSchnorr_Verify
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::first::ToTrimmedString
    - cryptofuzz::util::SetGlobalDs
    - CF_DIGEST
    - cryptofuzz::util::UnsetGlobalDs
    - curveType::Get
    - modifier::GetPtr
    - Buffer::GetPtr
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - signature::signature::first::ToTrimmedString
    - secp256k1_schnorrsig_verify
    - secp256k1_xonly_pubkey_parse
    - signature::signature::second::ToTrimmedString
    - cleartext::SHA256
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - secp256k1_detail::Context::GetPtr
    - digestType::Get
    - Buffer::GetSize
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> secp256k1::OpSchnorr_Verify(operation::Schnorr_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:934,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:934,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:935,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:943,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:943,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:943,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:945,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:947,1
    - Dst: cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:947,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:948,1
    - Dst: cryptofuzz::module::secp256k1_detail::PubkeyToBytes
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:948,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:950,1
    - Dst: secp256k1_detail::Pubkey::Parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:950,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:952,1
    - Dst: secp256k1_detail::Pubkey::ECDH
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:952,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSecret
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:955,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:955,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 961
      start: 932
    functionDepth: 3
    functionLinenumber: 932
    functionLinenumberEnd: 961
    functionName: cryptofuzz::module::secp256k1::OpECDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
    - memset
    - cryptofuzz::module::secp256k1_detail::PubkeyToBytes
    - secp256k1_detail::Pubkey::ECDH
    - cryptofuzz::util::SetGlobalDs
    - secp256k1_detail::Pubkey::Parse
    - cryptofuzz::util::UnsetGlobalDs
    - XXH64_hash_t::XXH3_hashLong_64b_withSecret
    - Buffer
    - modifier::GetSize
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> secp256k1::OpECDH_Derive(operation::ECDH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:970,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:970,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:970,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:971,1
    - Dst: cryptofuzz_secp256k1_scalar_set_b32
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:971,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:971,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - scalar
    - ' bn'
    argTypes:
    - void*
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 977
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 977
    functionName: cryptofuzz::module::secp256k1_detail::ToScalar
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - cryptofuzz_secp256k1_scalar_set_b32
    - std::optional::data
    - CF_CHECK_NE
    - ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool ToScalar(void* scalar, const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:983,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:983,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:983,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:984,1
    - Dst: cryptofuzz_secp256k1_fe_set_b32_limit
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:984,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fe
    - ' bn'
    argTypes:
    - void*
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 989
      start: 979
    functionDepth: 2
    functionLinenumber: 979
    functionLinenumberEnd: 989
    functionName: cryptofuzz::module::secp256k1_detail::ToFe
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - cryptofuzz_secp256k1_fe_set_b32_limit
    - std::optional::data
    - CF_CHECK_NE
    - ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool ToFe(void* fe, const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:996,1
    - Dst: cryptofuzz_secp256k1_scalar_get_b32
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:996,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:998,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - scalar
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1001
      start: 991
    functionDepth: 3
    functionLinenumber: 991
    functionLinenumberEnd: 1001
    functionName: cryptofuzz::module::secp256k1_detail::ToComponentBignum_scalar
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::BinToDec
    - getBignum
    - cryptofuzz_secp256k1_scalar_get_b32
    - CF_NORET
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum_scalar(const void*
      scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1009,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1011,1
    - Dst: cryptofuzz_secp256k1_fe_get_b32
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1011,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1013,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' ds'
    - fe
    argTypes:
    - fuzzing::datasource::Datasource
    - void*
    constantsTouched: []
    func_position:
      end: 1016
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1016
    functionName: cryptofuzz::module::secp256k1_detail::ToComponentBignum_fe
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - getBignum
    - cryptofuzz_secp256k1_fe_get_b32
    - cryptofuzz::util::BinToDec
    - Get
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum_fe(fuzzing::datasource::Datasource&
      ds, void* fe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1021,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1021,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1024,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1024,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1037,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1037,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1038,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1040,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1040,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1041,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1044,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1045,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1046,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1053,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1053,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1054,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1056,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1056,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1057,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1060,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1061,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1062,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1066,1
    - Dst: cryptofuzz_secp256k1_gej_set_ge
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1066,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1067,1
    - Dst: cryptofuzz_secp256k1_gej_set_ge
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1067,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1071,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1074,1
    - Dst: cryptofuzz_secp256k1_gej_add_ge
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1074,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1076,1
    - Dst: cryptofuzz_secp256k1_gej_add_ge_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1076,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1080,1
    - Dst: cryptofuzz_secp256k1_ge_set_gej
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1080,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1085,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1086,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1087,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1087,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1093,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1093,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1093,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1094,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1094,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1094,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1096,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1096,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1101,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1102,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1103,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1105,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1106,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 1110
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1110
    functionName: cryptofuzz::module::secp256k1::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - cryptofuzz_secp256k1_eckey_pubkey_serialize
    - boost::multiprecision::import_bits
    - cryptofuzz_secp256k1_gej_set_ge
    - b::second::ToTrimmedString
    - modifier::GetPtr
    - Datasource::Get
    - a::second::ToTrimmedString
    - std::vector::begin
    - curveType::Is
    - std::vector::data
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::util::free
    - cryptofuzz_secp256k1_gej_add_ge
    - std::vector::end
    - CF_NORET
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - cryptofuzz_secp256k1_ge_set_gej
    - cryptofuzz::module::secp256k1_detail::toString
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - cryptofuzz_secp256k1_gej_add_ge_var
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> secp256k1::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1114,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1114,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1117,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1117,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1129,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1129,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1130,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1132,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1132,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1133,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1136,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1136,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1139,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToScalar
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1139,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1141,1
    - Dst: cryptofuzz_secp256k1_gej_set_ge
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1141,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1148,1
    - Dst: cryptofuzz_secp256k1_ecmult
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1148,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1154,1
    - Dst: cryptofuzz_secp256k1_ge_set_gej
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1154,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1161,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1162,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1166,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1172,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1172,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1172,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1173,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1173,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1173,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1175,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1175,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1180,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1181,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1182,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1184,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 1188
      start: 1112
    functionDepth: 3
    functionLinenumber: 1112
    functionLinenumberEnd: 1188
    functionName: cryptofuzz::module::secp256k1::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - boost::multiprecision::import_bits
    - cryptofuzz_secp256k1_gej_set_ge
    - cryptofuzz_secp256k1_scalar_is_zero
    - CF_ASSERT
    - modifier::GetPtr
    - a::second::ToTrimmedString
    - std::vector::begin
    - curveType::Is
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::secp256k1_detail::ToScalar
    - cryptofuzz::util::free
    - std::vector::end
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - cryptofuzz_secp256k1_ge_set_gej
    - cryptofuzz::module::secp256k1_detail::toString
    - cryptofuzz_secp256k1_ecmult
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> secp256k1::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1192,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1192,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1195,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1195,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1206,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1206,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1207,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1209,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1209,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1210,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1213,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1214,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1215,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1219,1
    - Dst: cryptofuzz_secp256k1_gej_set_ge
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1219,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1221,1
    - Dst: cryptofuzz_secp256k1_gej_neg
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1221,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1223,1
    - Dst: cryptofuzz_secp256k1_ge_set_gej
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1223,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1233,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1239,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1239,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1239,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1240,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1240,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1240,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1242,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1242,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1247,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1248,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1250,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 1254
      start: 1190
    functionDepth: 2
    functionLinenumber: 1190
    functionLinenumberEnd: 1254
    functionName: cryptofuzz::module::secp256k1::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - boost::multiprecision::import_bits
    - cryptofuzz_secp256k1_gej_set_ge
    - CF_ASSERT
    - modifier::GetPtr
    - a::second::ToTrimmedString
    - std::vector::begin
    - curveType::Is
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::util::free
    - std::vector::end
    - CF_NORET
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - cryptofuzz_secp256k1_ge_set_gej
    - cryptofuzz::module::secp256k1_detail::toString
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - cryptofuzz_secp256k1_gej_neg
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> secp256k1::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1258,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1258,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1261,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1261,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1272,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1272,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1273,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1275,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1275,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1276,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1279,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1280,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1281,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1285,1
    - Dst: cryptofuzz_secp256k1_gej_set_ge
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1285,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1289,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1297,1
    - Dst: cryptofuzz_secp256k1_gej_double
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1297,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1299,1
    - Dst: cryptofuzz_secp256k1_gej_double_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1299,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1302,1
    - Dst: cryptofuzz_secp256k1_gej_double_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1302,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1306,1
    - Dst: cryptofuzz_secp256k1_ge_set_gej
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1306,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1311,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1312,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1313,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1313,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1319,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1319,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1319,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1320,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1320,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1320,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1322,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1322,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1327,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1328,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1330,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 1334
      start: 1256
    functionDepth: 2
    functionLinenumber: 1256
    functionLinenumberEnd: 1334
    functionName: cryptofuzz::module::secp256k1::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_serialize
    - boost::multiprecision::import_bits
    - cryptofuzz_secp256k1_gej_set_ge
    - cryptofuzz_secp256k1_gej_double
    - modifier::GetPtr
    - Datasource::Get
    - a::second::ToTrimmedString
    - std::vector::begin
    - curveType::Is
    - std::vector::data
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::util::free
    - std::vector::end
    - CF_NORET
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - cryptofuzz_secp256k1_ge_set_gej
    - cryptofuzz_secp256k1_gej_double_var
    - cryptofuzz::module::secp256k1_detail::toString
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> secp256k1::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1339,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1339,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1345,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToScalar
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1345,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1346,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToScalar
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1346,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1348,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1349,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1350,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1350,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1352,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1354,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1355,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1355,1
    - Dst: cryptofuzz_secp256k1_scalar_is_one
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1357,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1359,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1360,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1360,1
    - Dst: cryptofuzz_secp256k1_scalar_is_even
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1362,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1364,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1365,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1365,1
    - Dst: cryptofuzz_secp256k1_scalar_eq
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1367,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1369,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1371,1
    - Dst: cryptofuzz_secp256k1_scalar_add
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1372,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1377,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1381,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1382,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1383,1
    - Dst: cryptofuzz_secp256k1_scalar_mul
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1383,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1385,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1387,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1390,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1393,1
    - Dst: cryptofuzz_secp256k1_scalar_inverse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1393,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1395,1
    - Dst: cryptofuzz_secp256k1_scalar_inverse_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1395,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1404,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1405,1
    - Dst: cryptofuzz_secp256k1_scalar_type_size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1405,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1406,1
    - Dst: cryptofuzz_secp256k1_scalar_cmov
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1406,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1409,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1412,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1415,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1415,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1415,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1416,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1417,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1420,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1423,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1423,1
    - Dst: cryptofuzz_secp256k1_scalar_get_bits_limb32
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1425,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1427,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1427,1
    - Dst: cryptofuzz_secp256k1_scalar_get_bits_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1429,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1433,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1436,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1436,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1436,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1437,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1437,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1437,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToComponentBignum_scalar
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1444,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1447,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1448,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1449,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 2
    argNames:
    - ' op'
    - mod
    argTypes:
    - operation::BignumCalc
    - bool
    constantsTouched: []
    func_position:
      end: 1452
      start: 1337
    functionDepth: 4
    functionLinenumber: 1337
    functionLinenumberEnd: 1452
    functionName: cryptofuzz::module::secp256k1_detail::OpBignumCalc_Mod
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - cryptofuzz_secp256k1_scalar_eq
    - cryptofuzz_secp256k1_scalar_type_size
    - memset
    - cryptofuzz_secp256k1_scalar_is_zero
    - cryptofuzz_secp256k1_scalar_set_int
    - cryptofuzz_secp256k1_scalar_is_even
    - CF_CALCOP
    - cryptofuzz_secp256k1_scalar_inverse
    - cryptofuzz_secp256k1_scalar_add
    - modifier::GetPtr
    - cryptofuzz::module::secp256k1_detail::ToComponentBignum_scalar
    - cryptofuzz_secp256k1_scalar_get_bits_var
    - cryptofuzz_secp256k1_scalar_is_one
    - cryptofuzz_secp256k1_scalar_mul
    - bn0::ToTrimmedString
    - Datasource::Get
    - CF_CHECK_EQ
    - cryptofuzz_secp256k1_scalar_get_bits_limb32
    - cryptofuzz::module::secp256k1_detail::ToScalar
    - std::optional::data
    - cryptofuzz::util::free
    - calcOp::Get
    - cryptofuzz_secp256k1_scalar_inverse_var
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::util::DecToBin
    - cryptofuzz_secp256k1_scalar_cmov
    - bn1::ToTrimmedString
    - CF_CHECK_NE
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc_Mod(operation::BignumCalc&
      op, const bool mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1460,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1460,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1466,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToFe
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1466,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1467,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToFe
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1467,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1469,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1470,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1472,1
    - Dst: cryptofuzz_secp256k1_fe_add
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1472,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1473,1
    - Dst: cryptofuzz_secp256k1_fe_size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1473,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1476,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1478,1
    - Dst: cryptofuzz_secp256k1_fe_mul
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1478,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1481,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1483,1
    - Dst: cryptofuzz_secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1483,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1486,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1489,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1492,1
    - Dst: cryptofuzz_secp256k1_fe_inv
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1492,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1494,1
    - Dst: cryptofuzz_secp256k1_fe_inv_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1494,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1498,1
    - Dst: cryptofuzz_secp256k1_fe_sqrt
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1500,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1501,1
    - Dst: cryptofuzz_secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1501,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1503,1
    - Dst: cryptofuzz_secp256k1_fe_clear
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1503,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1507,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1509,1
    - Dst: cryptofuzz_secp256k1_fe_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1509,1
    - Dst: cryptofuzz_secp256k1_fe_is_odd
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1510,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1514,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1516,1
    - Dst: cryptofuzz_secp256k1_fe_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1516,1
    - Dst: cryptofuzz_secp256k1_fe_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1517,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1521,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1525,1
    - Dst: cryptofuzz_secp256k1_fe_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1525,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1528,1
    - Dst: cryptofuzz_secp256k1_fe_cmp_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1530,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1532,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1532,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1537,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1539,1
    - Dst: cryptofuzz_secp256k1_fe_clear
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1539,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1541,1
    - Dst: cryptofuzz_secp256k1_fe_cmov
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1541,1
    - Dst: cryptofuzz_secp256k1_fe_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1544,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1547,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1550,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1556,1
    - Dst: cryptofuzz_secp256k1_fe_to_storage
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1556,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1557,1
    - Dst: cryptofuzz_secp256k1_fe_from_storage
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1557,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1558,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1565,1
    - Dst: cryptofuzz_secp256k1_fe_to_signed62
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1565,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1566,1
    - Dst: cryptofuzz_secp256k1_fe_from_signed62
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1566,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1567,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1574,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToComponentBignum_fe
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1583,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1586,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1587,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1588,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 100
    argCount: 2
    argNames:
    - ' op'
    - mod
    argTypes:
    - operation::BignumCalc
    - bool
    constantsTouched: []
    func_position:
      end: 1591
      start: 1454
    functionDepth: 4
    functionLinenumber: 1454
    functionLinenumberEnd: 1591
    functionName: cryptofuzz::module::secp256k1_detail::OpBignumCalc_Prime
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - cryptofuzz_secp256k1_fe_set_int
    - cryptofuzz_secp256k1_fe_clear
    - CF_UNREACHABLE
    - CF_CALCOP
    - cryptofuzz::module::secp256k1_detail::ToFe
    - modifier::GetPtr
    - cryptofuzz_secp256k1_fe_sqrt
    - cryptofuzz_secp256k1_fe_cmov
    - getBignum
    - Datasource::Get
    - cryptofuzz_secp256k1_fe_to_signed62
    - cryptofuzz_secp256k1_fe_to_storage
    - cryptofuzz_secp256k1_fe_from_storage
    - cryptofuzz::module::secp256k1_detail::ToComponentBignum_fe
    - cryptofuzz_secp256k1_fe_add
    - cryptofuzz_secp256k1_fe_from_signed62
    - cryptofuzz_secp256k1_fe_size
    - cryptofuzz_secp256k1_fe_is_odd
    - memcpy
    - cryptofuzz_secp256k1_fe_sqr
    - cryptofuzz_secp256k1_fe_inv_var
    - cryptofuzz::util::free
    - calcOp::Get
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz_secp256k1_fe_is_zero
    - cryptofuzz_secp256k1_fe_cmp_var
    - cryptofuzz_secp256k1_fe_inv
    - cryptofuzz_secp256k1_fe_mul
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc_Prime(operation::BignumCalc&
      op, const bool mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::OpBignumCalc_Mod
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1596,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1597,1
    - Dst: cryptofuzz::module::secp256k1_detail::OpBignumCalc_Mod
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1598,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1599,1
    - Dst: cryptofuzz::module::secp256k1_detail::OpBignumCalc_Prime
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1604
      start: 1594
    functionDepth: 5
    functionLinenumber: 1594
    functionLinenumberEnd: 1604
    functionName: cryptofuzz::module::secp256k1::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::OpBignumCalc_Mod
    - cryptofuzz::module::secp256k1_detail::OpBignumCalc_Prime
    - modulo::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> secp256k1::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1616
    functionName: cryptofuzz::module::secp256k1::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool secp256k1::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: cryptofuzz_secp256k1_scalar_type_size
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cryptofuzz_secp256k1_scalar_type_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - b32
    - overflow
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: cryptofuzz_secp256k1_scalar_set_b32
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_set_b32
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_set_b32(secp256k1_scalar *r, const
      unsigned char *b32, int *overflow)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_get_b32
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bin
    - a
    argTypes:
    - unsigned char*
    - void*
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: cryptofuzz_secp256k1_scalar_get_b32
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_b32
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_get_b32(unsigned char *bin, const
      void* a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - v
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: cryptofuzz_secp256k1_scalar_set_int
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_set_int
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned
      int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: cryptofuzz_secp256k1_scalar_is_zero
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_scalar_is_zero(const secp256k1_scalar *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_one
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: cryptofuzz_secp256k1_scalar_is_one
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_is_one
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_scalar_is_one(const secp256k1_scalar *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_even
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: cryptofuzz_secp256k1_scalar_is_even
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_is_even
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_scalar_is_even(const secp256k1_scalar *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_eq
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: cryptofuzz_secp256k1_scalar_eq
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_scalar_eq(const secp256k1_scalar *a, const
      secp256k1_scalar *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_add
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: cryptofuzz_secp256k1_scalar_add
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_add
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_mul
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: cryptofuzz_secp256k1_scalar_mul
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_mul
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_inverse
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: cryptofuzz_secp256k1_scalar_inverse
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_inverse
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_inverse(secp256k1_scalar *r, const
      secp256k1_scalar *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: cryptofuzz_secp256k1_scalar_inverse_var
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_inverse_var
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_inverse_var(secp256k1_scalar *r, const
      secp256k1_scalar *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_cmov
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: cryptofuzz_secp256k1_scalar_cmov
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_cmov
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_cmov(secp256k1_scalar *r, const secp256k1_scalar
      *a, int flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: cryptofuzz_secp256k1_scalar_get_bits_limb32
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_bits_limb32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cryptofuzz_secp256k1_scalar_get_bits_limb32(const void
      *a, unsigned int offset, unsigned int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: cryptofuzz_secp256k1_scalar_get_bits_var
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_bits_var
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cryptofuzz_secp256k1_scalar_get_bits_var(const void *a,
      unsigned int offset, unsigned int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: cryptofuzz_secp256k1_fe_size
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cryptofuzz_secp256k1_fe_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - b32
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: cryptofuzz_secp256k1_fe_set_b32_limit
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_set_b32_limit
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_fe_set_b32_limit(secp256k1_fe *r, const unsigned
      char *b32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_int
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - i
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: cryptofuzz_secp256k1_fe_set_int
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_set_int
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_set_int(void *r, const int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:96,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:98,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bin
    - a
    - var
    argTypes:
    - unsigned char*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: cryptofuzz_secp256k1_fe_get_b32
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_normalize_var
    - secp256k1_fe_normalize
    - secp256k1_fe_get_b32
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_get_b32(unsigned char *bin, void* a, const
      int var)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_add
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: cryptofuzz_secp256k1_fe_add
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_add
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_add(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_mul
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: cryptofuzz_secp256k1_fe_mul
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_mul
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_mul(void *r, const void* a, const void
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: cryptofuzz_secp256k1_fe_sqr
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_sqr
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_sqr(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_inv
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: cryptofuzz_secp256k1_fe_inv
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_inv
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_inv(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_inv_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: cryptofuzz_secp256k1_fe_inv_var
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_inv_var
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_inv_var(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqrt
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: cryptofuzz_secp256k1_fe_sqrt
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 2
    functionsReached:
    - secp256k1_fe_sqrt
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_fe_sqrt(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_is_odd
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: cryptofuzz_secp256k1_fe_is_odd
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_is_odd
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_fe_is_odd(const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: cryptofuzz_secp256k1_fe_is_zero
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_is_zero
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_fe_is_zero(const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_clear
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: cryptofuzz_secp256k1_fe_clear
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_clear
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_clear(void *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_equal
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: cryptofuzz_secp256k1_fe_equal
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_equal
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_fe_equal(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_cmp_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: cryptofuzz_secp256k1_fe_cmp_var
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_cmp_var
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_fe_cmp_var(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_cmov
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: cryptofuzz_secp256k1_fe_cmov
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_cmov
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_cmov(void *r, const void *a, const int
      flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: cryptofuzz_secp256k1_fe_storage_size
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cryptofuzz_secp256k1_fe_storage_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_to_storage
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: cryptofuzz_secp256k1_fe_to_storage
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_to_storage
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_to_storage(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_from_storage
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: cryptofuzz_secp256k1_fe_from_storage
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_from_storage
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_from_storage(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: cryptofuzz_secp256k1_fe_signed62_size
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cryptofuzz_secp256k1_fe_signed62_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_to_signed62
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: cryptofuzz_secp256k1_fe_to_signed62
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_to_signed62
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_to_signed62(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_from_signed62
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: cryptofuzz_secp256k1_fe_from_signed62
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_from_signed62
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_from_signed62(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: cryptofuzz_secp256k1_ge_size
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cryptofuzz_secp256k1_ge_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: cryptofuzz_secp256k1_gej_size
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cryptofuzz_secp256k1_gej_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - elem
    - pub
    - size
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: cryptofuzz_secp256k1_eckey_pubkey_parse
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 58
    functionsReached:
    - secp256k1_eckey_pubkey_parse
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_eckey_pubkey_parse(secp256k1_ge *elem, const
      unsigned char *pub, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_ge
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_gej*
    - secp256k1_ge*
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: cryptofuzz_secp256k1_gej_set_ge
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 4
    functionsReached:
    - secp256k1_gej_set_ge
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge
      *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_ge
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_ge*
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: cryptofuzz_secp256k1_gej_add_ge
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_add_ge
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej
      *a, const secp256k1_ge *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - a
    - b
    - rzr
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_ge*
    - secp256k1_fe*
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: cryptofuzz_secp256k1_gej_add_ge_var
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_add_ge_var
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_gej
      *a, const secp256k1_ge *b, secp256k1_fe *rzr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_neg
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: cryptofuzz_secp256k1_gej_neg
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_neg
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej
      *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_double
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: cryptofuzz_secp256k1_gej_double
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_double
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_gej_double(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_double_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - rzr
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: cryptofuzz_secp256k1_gej_double_var
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_double_var
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_gej_double_var(void *r, const void *a, void
      *rzr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - a
    - na
    - ng
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: cryptofuzz_secp256k1_ecmult
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecmult
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_ecmult(secp256k1_gej *r, const secp256k1_gej
      *a, const secp256k1_scalar *na, const secp256k1_scalar *ng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_set_gej
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: cryptofuzz_secp256k1_ge_set_gej
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 4
    functionsReached:
    - secp256k1_ge_set_gej
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej
      *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - elem
    - pub
    - size
    - compressed
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: cryptofuzz_secp256k1_eckey_pubkey_serialize
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 2
    functionsReached:
    - secp256k1_eckey_pubkey_serialize
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_eckey_pubkey_serialize(secp256k1_ge *elem,
      unsigned char *pub, size_t *size, int compressed)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: cryptofuzz::module::micro_ecc::micro_ecc
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void micro_ecc::micro_ecc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:18,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:19,1
    - Dst: uECC_secp160r1
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:20,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:21,1
    - Dst: uECC_secp192r1
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:22,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:23,1
    - Dst: uECC_secp224r1
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:24,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:25,1
    - Dst: uECC_secp256r1
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:26,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:27,1
    - Dst: uECC_secp256k1
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 32
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - uECC_secp224r1
    - uECC_secp160r1
    - uECC_secp256k1
    - Get
    - uECC_secp192r1
    - uECC_secp256r1
    linkageType: ''
    returnType: std::optional<uECC_Curve>
    signature: std::optional<uECC_Curve> to_uECC_Curve(const component::CurveType&
      curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:37,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:37,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:38,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:41,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:43,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:44,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:44,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - s
    - out
    - maxSize
    argTypes:
    - std::string
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: cryptofuzz::module::micro_ecc_detail::EncodeBignum
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - boost::multiprecision::export_bits
    - std::back_inserter
    - memset
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool EncodeBignum(const std::string s, uint8_t* out, const size_t maxSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:51,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:56,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::micro_ecc_detail::toString
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - boost::multiprecision::import_bits
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:65,1
    - Dst: cryptofuzz::module::micro_ecc_detail::toString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:70,1
    - Dst: cryptofuzz::module::micro_ecc_detail::toString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: cryptofuzz::module::micro_ecc_detail::EncodePubkey
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::micro_ecc_detail::toString
    - abort
    linkageType: ''
    returnType: component::BignumPair
    signature: component::BignumPair EncodePubkey(const uint8_t* data, const size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:82,1
    - Dst: cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:82,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:84,1
    - Dst: uECC_curve_private_key_size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:84,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:85,1
    - Dst: uECC_curve_public_key_size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:85,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:87,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:87,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:87,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:87,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:87,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:89,1
    - Dst: uECC_compute_public_key
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:89,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:89,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:89,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodePubkey
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:91,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:91,1
    - Dst: size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: cryptofuzz::module::micro_ecc::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - cryptofuzz::module::micro_ecc_detail::EncodePubkey
    - uECC_curve_private_key_size
    - cryptofuzz::module::micro_ecc_detail::EncodeBignum
    - uECC_curve_public_key_size
    - CF_CHECK_EQ
    - uECC_compute_public_key
    - data
    - CF_CHECK_NE
    - cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
    - size
    - std::vector::resize
    - resize
    - priv::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> micro_ecc::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:104,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:104,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:104,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:105,1
    - Dst: cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:105,1
    - Dst: uECC_curve_public_key_size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:107,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:109,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:110,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:112,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:112,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:112,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:112,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:113,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:113,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:113,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:113,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:114,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:114,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:114,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:114,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:115,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:115,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:115,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:115,1
    - Dst: uECC_verify
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:117,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:117,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:117,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:117,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 122
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 122
    functionName: cryptofuzz::module::micro_ecc::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToTrimmedString
    - std::vector::data
    - cryptofuzz::module::micro_ecc_detail::EncodeBignum
    - CF_CHECK_EQ
    - uECC_curve_public_key_size
    - signature::signature::first::ToTrimmedString
    - data
    - digestType::Get
    - signature::pub::first::ToTrimmedString
    - cleartext::GetSize
    - uECC_verify
    - cleartext::GetPtr
    - CF_CHECK_NE
    - CF_DIGEST
    - cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
    - std::vector::resize
    - resize
    - signature::pub::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> micro_ecc::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:131,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:131,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:132,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:132,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:132,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:133,1
    - Dst: cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:133,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:135,1
    - Dst: uECC_curve_private_key_size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:135,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:136,1
    - Dst: uECC_curve_public_key_size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:136,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:138,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:139,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:140,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:142,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:142,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:142,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:142,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:142,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:144,1
    - Dst: uECC_compute_public_key
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:144,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:144,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:144,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:146,1
    - Dst: uECC_sign
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:146,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:146,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:146,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:146,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:146,1
    - Dst: cryptofuzz::module::micro_ecc_detail::toString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:149,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:149,1
    - Dst: cryptofuzz::module::micro_ecc_detail::toString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:149,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:149,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodePubkey
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:150,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:150,1
    - Dst: size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 153
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 153
    functionName: cryptofuzz::module::micro_ecc::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::micro_ecc_detail::toString
    - uECC_compute_public_key
    - cleartext::GetPtr
    - CF_DIGEST
    - cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
    - priv::ToTrimmedString
    - uECC_curve_private_key_size
    - uECC_curve_public_key_size
    - data
    - std::vector::resize
    - std::vector::data
    - std::vector::size
    - cryptofuzz::module::micro_ecc_detail::EncodePubkey
    - cryptofuzz::module::micro_ecc_detail::EncodeBignum
    - CF_CHECK_EQ
    - uECC_sign
    - resize
    - cleartext::GetSize
    - digestType::Get
    - CF_CHECK_NE
    - UseRandomNonce
    - size
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> micro_ecc::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_set_verbosity
      Src: /src/cryptofuzz/modules/linux/module.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: cryptofuzz::module::Linux::Linux
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - kcapi_set_verbosity
    linkageType: ''
    returnType: void
    signature: void Linux::Linux(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:21,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:22,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:23,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:24,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:25,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:26,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:27,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:28,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:31,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:32,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:33,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:34,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:35,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:36,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:37,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:38,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:39,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:40,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:41,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:42,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:43,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:44,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:45,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:46,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/linux/module.cpp:51,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/linux/module.cpp:51,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/linux/module.cpp:51,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/linux/module.cpp:55,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/linux/module.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 56
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::Linux_detail::toDigestString
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> toDigestString(const component::DigestType&
      digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: cryptofuzz::module::Linux_detail::parenthesize
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string parenthesize(const std::string parent, const std::string
      child)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/linux/module.cpp:67,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/linux/module.cpp:67,1
    - Dst: cryptofuzz::module::Linux_detail::toDigestString
      Src: /src/cryptofuzz/modules/linux/module.cpp:77,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/linux/module.cpp:78,1
    - Dst: cryptofuzz::module::Linux_detail::parenthesize
      Src: /src/cryptofuzz/modules/linux/module.cpp:82,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/linux/module.cpp:85,1
    - Dst: kcapi_md_init
      Src: /src/cryptofuzz/modules/linux/module.cpp:85,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/linux/module.cpp:85,1
    - Dst: kcapi_md_digestsize
      Src: /src/cryptofuzz/modules/linux/module.cpp:86,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/linux/module.cpp:87,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/linux/module.cpp:88,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/linux/module.cpp:93,1
    - Dst: kcapi_md_update
      Src: /src/cryptofuzz/modules/linux/module.cpp:93,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/linux/module.cpp:98,1
    - Dst: kcapi_md_final
      Src: /src/cryptofuzz/modules/linux/module.cpp:98,1
    - Dst: ReturnType
      Src: /src/cryptofuzz/modules/linux/module.cpp:99,1
    - Dst: free
      Src: /src/cryptofuzz/modules/linux/module.cpp:103,1
    - Dst: kcapi_md_destroy
      Src: /src/cryptofuzz/modules/linux/module.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 106
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::Linux_detail::digest_hmac
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Linux_detail::parenthesize
    - kcapi_md_init
    - ReturnType
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - std::string::c_str
    - CF_CHECK_EQ
    - kcapi_md_digestsize
    - free
    - cryptofuzz::module::Linux_detail::toDigestString
    - malloc
    - kcapi_md_final
    - kcapi_md_update
    - kcapi_md_destroy
    - CF_CHECK_NE
    - CF_CHECK_GTE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> digest_hmac(Operation& op, const bool hmac
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Linux_detail::digest_hmac<operation::Digest, component::Digest>
      Src: /src/cryptofuzz/modules/linux/module.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: cryptofuzz::module::Linux::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - Linux_detail::digest_hmac<operation::Digest, component::Digest>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Linux::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Linux_detail::digest_hmac<operation::HMAC, component::MAC>
      Src: /src/cryptofuzz/modules/linux/module.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: cryptofuzz::module::Linux::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - Linux_detail::digest_hmac<operation::HMAC, component::MAC>
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Linux::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Linux_detail::toDigestString
      Src: /src/cryptofuzz/modules/linux/module.cpp:126,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/linux/module.cpp:127,1
    - Dst: cryptofuzz::module::Linux_detail::parenthesize
      Src: /src/cryptofuzz/modules/linux/module.cpp:129,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/linux/module.cpp:134,1
    - Dst: kcapi_hkdf
      Src: /src/cryptofuzz/modules/linux/module.cpp:134,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/linux/module.cpp:135,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/linux/module.cpp:136,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/linux/module.cpp:137,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/linux/module.cpp:138,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/linux/module.cpp:139,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/linux/module.cpp:140,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/linux/module.cpp:141,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/linux/module.cpp:148,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/linux/module.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 154
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 154
    functionName: cryptofuzz::module::Linux::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Linux_detail::parenthesize
    - kcapi_hkdf
    - salt::GetPtr
    - std::string::c_str
    - password::GetPtr
    - CF_CHECK_EQ
    - cryptofuzz::module::Linux_detail::toDigestString
    - info::GetSize
    - info::GetPtr
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Linux::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/linux/module.cpp:165,1
    - Dst: cryptofuzz::module::Linux_detail::toDigestString
      Src: /src/cryptofuzz/modules/linux/module.cpp:167,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/linux/module.cpp:168,1
    - Dst: cryptofuzz::module::Linux_detail::parenthesize
      Src: /src/cryptofuzz/modules/linux/module.cpp:170,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/linux/module.cpp:175,1
    - Dst: kcapi_pbkdf
      Src: /src/cryptofuzz/modules/linux/module.cpp:175,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/linux/module.cpp:176,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/linux/module.cpp:177,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/linux/module.cpp:178,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/linux/module.cpp:179,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/linux/module.cpp:180,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/linux/module.cpp:189,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/linux/module.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 197
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 197
    functionName: cryptofuzz::module::Linux::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Linux_detail::parenthesize
    - kcapi_pbkdf
    - salt::GetPtr
    - std::string::c_str
    - password::GetPtr
    - CF_CHECK_EQ
    - cryptofuzz::module::Linux_detail::toDigestString
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Linux::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/cryptofuzz/modules/ring/module.cpp:36,1
    - Dst: free_buf
      Src: /src/cryptofuzz/modules/ring/module.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - res
    argTypes:
    - RustBuffer*
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: getResultAs
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 65
    functionsReached:
    - T
    - free_buf
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> getResultAs(RustBuffer *res)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: cryptofuzz::module::Ring::Ring
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ring::Ring(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:49,1
    - Dst: digest
      Src: /src/cryptofuzz/modules/ring/module.cpp:50,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:50,1
    - Dst: ::getResultAs<component::Digest>
      Src: /src/cryptofuzz/modules/ring/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::Ring::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ToJSON
    - digest
    - ::getResultAs<component::Digest>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Ring::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:55,1
    - Dst: hmac
      Src: /src/cryptofuzz/modules/ring/module.cpp:56,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:56,1
    - Dst: ::getResultAs<component::MAC>
      Src: /src/cryptofuzz/modules/ring/module.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::Ring::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ::getResultAs<component::MAC>
    - ToJSON
    - hmac
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Ring::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:61,1
    - Dst: kdf_hkdf
      Src: /src/cryptofuzz/modules/ring/module.cpp:62,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:62,1
    - Dst: ::getResultAs<component::Key>
      Src: /src/cryptofuzz/modules/ring/module.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::Ring::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - kdf_hkdf
    - ::getResultAs<component::Key>
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Ring::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:67,1
    - Dst: kdf_pbkdf2
      Src: /src/cryptofuzz/modules/ring/module.cpp:68,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:68,1
    - Dst: ::getResultAs<component::Key>
      Src: /src/cryptofuzz/modules/ring/module.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::Ring::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ::getResultAs<component::Key>
    - ToJSON
    - kdf_pbkdf2
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Ring::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:73,1
    - Dst: symmetric_encrypt
      Src: /src/cryptofuzz/modules/ring/module.cpp:74,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:74,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/ring/module.cpp:80,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/ring/module.cpp:81,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/ring/module.cpp:82,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/ring/module.cpp:83,1
    - Dst: tagSize::value_or
      Src: /src/cryptofuzz/modules/ring/module.cpp:83,1
    - Dst: free_bufs
      Src: /src/cryptofuzz/modules/ring/module.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: cryptofuzz::module::Ring::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - Buffer
    - free_bufs
    - ToJSON
    - assert
    - cryptofuzz::component::Ciphertext::Ciphertext
    - tagSize::value_or
    - auto::c_str
    - symmetric_encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Ring::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:90,1
    - Dst: symmetric_decrypt
      Src: /src/cryptofuzz/modules/ring/module.cpp:91,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:91,1
    - Dst: ::getResultAs<component::Cleartext>
      Src: /src/cryptofuzz/modules/ring/module.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: cryptofuzz::module::Ring::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ::getResultAs<component::Cleartext>
    - ToJSON
    - symmetric_decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Ring::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:96,1
    - Dst: ecdsa_verify
      Src: /src/cryptofuzz/modules/ring/module.cpp:97,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: cryptofuzz::module::Ring::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ToJSON
    - ecdsa_verify
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Ring::OpECDSA_Verify(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:105,1
    - Dst: ecdsa_sign
      Src: /src/cryptofuzz/modules/ring/module.cpp:106,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:106,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/ring/module.cpp:114,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/ring/module.cpp:115,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/ring/module.cpp:117,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/ring/module.cpp:118,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/ring/module.cpp:118,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/ring/module.cpp:119,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/ring/module.cpp:119,1
    - Dst: free_bufs
      Src: /src/cryptofuzz/modules/ring/module.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 123
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 123
    functionName: cryptofuzz::module::Ring::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - free_bufs
    - ToJSON
    - assert
    - ecdsa_sign
    - cryptofuzz::util::BinToDec
    - auto::c_str
    - cryptofuzz::tests::test_ECDSA_Signature
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> Ring::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:11,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:13,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:15,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:16,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:20,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:20,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:20,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:22,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:24,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:25,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:26,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:27,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:29,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:30,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:30,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:31,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:31,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:31,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:35,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:36,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:37,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:38,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:40,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:41,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:41,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:42,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:42,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:42,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:44,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/ring/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:22,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:27,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:31,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:38,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: cryptofuzz::module::Botan_bignum::detail::To_size_t
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ConstRef
    - CF_UNREACHABLE
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> To_size_t(const Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:59,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::Botan_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:69,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: cryptofuzz::module::Botan_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:79,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::Botan_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:93,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:93,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:94,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:94,1
    - Dst: GET_UINT8_FOR_SWITCH
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:97,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:100,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:100,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:104,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:104,1
    - Dst: Botan::vartime_divide
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:106,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:106,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:106,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:106,1
    - Dst: Bignum::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:106,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:111,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:111,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:112,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:112,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:114,1
    - Dst: Botan::ct_divide_word
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:114,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:114,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:114,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:114,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:118,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:118,1
    - Dst: Botan::ct_divide
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:119,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:119,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:119,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:123,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:124,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:124,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 141
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::Botan_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::ct_divide
    - Ref
    - Bignum::Ref
    - CF_CHECK_TRUE
    - CF_NORET
    - Botan::ct_divide_word
    - Botan::vartime_divide
    - CF_CHECK_GT
    - GET_UINT8_FOR_SWITCH
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT8_FOR_SWITCH
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:148,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:152,1
    - Dst: Botan::Modular_Reducer::reduce
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:153,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:153,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:156,1
    - Dst: ct_modulo
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:166,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:166,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:166,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:170,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:170,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:175,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:177,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:180,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:184,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 201
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 201
    functionName: cryptofuzz::module::Botan_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::Modular_Reducer::reduce
    - ct_modulo
    - GET_UINT8_FOR_SWITCH
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::power_mod
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:210,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:210,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:210,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: cryptofuzz::module::Botan_bignum::Exp::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ConstRef
    - Ref
    - Botan::power_mod
    linkageType: ''
    returnType: bool
    signature: bool Exp::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:220,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:220,1
    - Dst: Botan::power_mod
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:224,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:224,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:224,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 227
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 227
    functionName: cryptofuzz::module::Botan_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::power_mod
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::square
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:232,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: cryptofuzz::module::Botan_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::square
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::gcd
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:243,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:243,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: cryptofuzz::module::Botan_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::gcd
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:252,1
    - Dst: GET_UINT8_FOR_SWITCH
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:256,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:260,1
    - Dst: ::Botan::Modular_Reducer::square
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:261,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:261,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:264,1
    - Dst: Botan::square
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:274,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:274,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:274,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 293
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 293
    functionName: cryptofuzz::module::Botan_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ::Botan::Modular_Reducer::square
    - Ref
    - Botan::square
    - GET_UINT8_FOR_SWITCH
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:299,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:299,1
    - Dst: Botan::inverse_mod
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:302,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:302,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 319
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 319
    functionName: cryptofuzz::module::Botan_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ConstRef
    - Ref
    - Botan::inverse_mod
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:325,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:325,1
    - Dst: Bignum
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:326,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:327,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 334
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 334
    functionName: cryptofuzz::module::Botan_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Bignum
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::lcm
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:341,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:341,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:341,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:344,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 354
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 354
    functionName: cryptofuzz::module::Botan_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::lcm
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::abs
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:360,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: cryptofuzz::module::Botan_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::abs
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::jacobi
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:373,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:373,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:373,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:376,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:376,1
    - Dst: Bignum
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 391
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 391
    functionName: cryptofuzz::module::Botan_bignum::Jacobi::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::jacobi
    - Bignum
    linkageType: ''
    returnType: bool
    signature: bool Jacobi::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: cryptofuzz::module::Botan_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:406,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:411,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:415,1
    - Dst: Botan::is_bailie_psw_probable_prime
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:416,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 423
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 423
    functionName: cryptofuzz::module::Botan_bignum::IsPrime::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::is_bailie_psw_probable_prime
    linkageType: ''
    returnType: bool
    signature: bool IsPrime::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Botan_bignum::detail::To_size_t
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:428,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:428,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:435,1
    - Dst: Bignum::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:436,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:436,1
    - Dst: Bignum::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 444
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 444
    functionName: cryptofuzz::module::Botan_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ConstRef
    - cryptofuzz::module::Botan_bignum::detail::To_size_t
    - Bignum::Ref
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: cryptofuzz::module::Botan_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 463
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 463
    functionName: cryptofuzz::module::Botan_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:468,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:468,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:469,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:469,1
    - Dst: auto::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:471,1
    - Dst: auto::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: cryptofuzz::module::Botan_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ConstRef
    - Ref
    - auto::Ref
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:480,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: cryptofuzz::module::Botan_bignum::IsGt::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsGt::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:489,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 492
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 492
    functionName: cryptofuzz::module::Botan_bignum::IsGte::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsGte::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:498,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 501
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 501
    functionName: cryptofuzz::module::Botan_bignum::IsLt::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsLt::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:507,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 510
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 510
    functionName: cryptofuzz::module::Botan_bignum::IsLte::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsLte::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 519
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 519
    functionName: cryptofuzz::module::Botan_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: cryptofuzz::module::Botan_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:533,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:533,1
    - Dst: auto::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: cryptofuzz::module::Botan_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ConstRef
    - Ref
    - auto::Ref
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 547
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 547
    functionName: cryptofuzz::module::Botan_bignum::IsNotZero::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsNotZero::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:552,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:552,1
    - Dst: auto::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 557
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 557
    functionName: cryptofuzz::module::Botan_bignum::IsOne::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ConstRef
    - Ref
    - auto::Ref
    linkageType: ''
    returnType: bool
    signature: bool IsOne::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT8_FOR_SWITCH
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:564,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:568,1
    - Dst: ::Botan::Modular_Reducer::multiply
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:569,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:569,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:569,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:572,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:582,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:582,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:582,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 600
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 600
    functionName: cryptofuzz::module::Botan_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - ::Botan::Modular_Reducer::multiply
    - GET_UINT8_FOR_SWITCH
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Botan_bignum::detail::To_size_t
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:606,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:606,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 615
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 615
    functionName: cryptofuzz::module::Botan_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Botan_bignum::detail::To_size_t
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:619,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:619,1
    - Dst: std::make_unique<Cmp>
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:620,1
    - Dst: auto::Run
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 623
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 623
    functionName: cryptofuzz::module::Botan_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - auto::Run
    - Ref
    - std::make_unique<Cmp>
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:629,1
    - Dst: cryptofuzz::module::Botan_bignum::detail::To_size_t
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:631,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:631,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 640
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 640
    functionName: cryptofuzz::module::Botan_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - cryptofuzz::module::Botan_bignum::detail::To_size_t
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:646,1
    - Dst: cryptofuzz::module::Botan_bignum::detail::To_size_t
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:648,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:648,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 657
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 657
    functionName: cryptofuzz::module::Botan_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - cryptofuzz::module::Botan_bignum::detail::To_size_t
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:663,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:663,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 666
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 666
    functionName: cryptofuzz::module::Botan_bignum::MulAdd::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool MulAdd::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:672,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:676,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:676,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 679
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 679
    functionName: cryptofuzz::module::Botan_bignum::MulDiv::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool MulDiv::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:685,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:689,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:689,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:690,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 694
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 694
    functionName: cryptofuzz::module::Botan_bignum::MulDivCeil::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool MulDivCeil::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:700,1
    - Dst: Bignum
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 709
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 709
    functionName: cryptofuzz::module::Botan_bignum::Exp2::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Bignum
    linkageType: ''
    returnType: bool
    signature: bool Exp2::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::low_zero_bits
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:715,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 718
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 718
    functionName: cryptofuzz::module::Botan_bignum::NumLSZeroBits::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::low_zero_bits
    linkageType: ''
    returnType: bool
    signature: bool NumLSZeroBits::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_perfect_square
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:724,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:724,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 743
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 743
    functionName: cryptofuzz::module::Botan_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_perfect_square
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT8_FOR_SWITCH
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:750,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:752,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:752,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:752,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:756,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:756,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:759,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:759,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:765,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:765,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:765,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:768,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:768,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:768,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:784,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 793
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 793
    functionName: cryptofuzz::module::Botan_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - GET_UINT8_FOR_SWITCH
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT8_FOR_SWITCH
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:800,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:802,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:802,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:802,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:806,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:806,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:809,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:809,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:815,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:815,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:815,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:818,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:818,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:818,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:834,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 843
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 843
    functionName: cryptofuzz::module::Botan_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - GET_UINT8_FOR_SWITCH
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:849,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:849,1
    - Dst: bits
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:849,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 855
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 855
    functionName: cryptofuzz::module::Botan_bignum::NumBits::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ConstRef
    - Ref
    - bits
    linkageType: ''
    returnType: bool
    signature: bool NumBits::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 866
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 866
    functionName: cryptofuzz::module::Botan_bignum::Set::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Set::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:872,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:872,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 875
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 875
    functionName: cryptofuzz::module::Botan_bignum::CondSet::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool CondSet::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sqrt_modulo_prime
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:883,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:883,1
    - Dst: auto::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:883,1
    - Dst: Botan::square
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:895,1
    - Dst: auto::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:895,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 904
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 904
    functionName: cryptofuzz::module::Botan_bignum::Ressol::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::square
    - auto::Ref
    - Botan::sqrt_modulo_prime
    linkageType: ''
    returnType: bool
    signature: bool Ressol::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:920,1
    - Dst: Bignum::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:923,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 928
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 928
    functionName: cryptofuzz::module::Botan_bignum::Not::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    - Bignum::Ref
    linkageType: ''
    returnType: bool
    signature: bool Not::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_prime
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:936,1
    - Dst: rand
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 939
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 939
    functionName: cryptofuzz::module::Botan_bignum::Prime::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - rand
    - Botan::random_prime
    linkageType: ''
    returnType: bool
    signature: bool Prime::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::random_integer
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:947,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:947,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 953
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 953
    functionName: cryptofuzz::module::Botan_bignum::RandRange::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::BigInt::random_integer
    linkageType: ''
    returnType: bool
    signature: bool RandRange::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_perfect_square
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:963,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:963,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 975
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 975
    functionName: cryptofuzz::module::Botan_bignum::IsSquare::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_perfect_square
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsSquare::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:19,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:21,1
    - Dst: binary_encode
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:21,1
    - Dst: bytes
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:21,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:22,1
    - Dst: binary_decode
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:22,1
    - Dst: bytes
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:22,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:23,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:27,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::Botan_bignum::Bignum::modify
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - cryptofuzz::util::free
    - binary_decode
    - binary_encode
    - bytes
    - Get
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    linkageType: ''
    returnType: void
    signature: void Bignum::modify(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ds
    - ' other'
    argTypes:
    - Datasource*
    - ::Botan::BigInt
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(Datasource* ds, const ::Botan::BigInt& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ::Botan::BigInt
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const ::Botan::BigInt& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - w
    argTypes:
    - ::Botan::word
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const ::Botan::word w)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ds
    - s
    argTypes:
    - Datasource*
    - std::string
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(Datasource* ds, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modify
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: '& Bignum::Ref(void)'
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - modify
    linkageType: ''
    returnType: ::Botan::BigInt
    signature: ::Botan::BigInt & Bignum::Ref(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '& Bignum::ConstRef(void) const'
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::Botan::BigInt
    signature: ::Botan::BigInt & Bignum::ConstRef(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/cryptofuzz/modules/botan/module.cpp:28,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/botan/module.cpp:29,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:37,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:38,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:39,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:40,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:41,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:42,1
    - Dst: Botan::OID::register_oid
      Src: /src/cryptofuzz/modules/botan/module.cpp:45,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:51,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:52,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:53,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:54,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:55,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:56,1
    - Dst: Botan::OID::register_oid
      Src: /src/cryptofuzz/modules/botan/module.cpp:59,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:65,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:66,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:67,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:68,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:69,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:70,1
    - Dst: Botan::OID::register_oid
      Src: /src/cryptofuzz/modules/botan/module.cpp:73,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:79,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:80,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:81,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:82,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:83,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:84,1
    - Dst: Botan::OID::register_oid
      Src: /src/cryptofuzz/modules/botan/module.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 89
    functionName: cryptofuzz::module::Botan::Botan
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::register_oid
    - setenv
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    - abort
    linkageType: ''
    returnType: void
    signature: void Botan::Botan(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: cryptofuzz::module::Botan_detail::Fuzzer_RNG::Fuzzer_RNG
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fuzzer_RNG(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: cryptofuzz::module::Botan_detail::Fuzzer_RNG::is_seeded
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::Botan_detail::Fuzzer_RNG::accepts_input
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: cryptofuzz::module::Botan_detail::Fuzzer_RNG::clear
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/cryptofuzz/modules/botan/module.cpp:127,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/botan/module.cpp:131,1
    - Dst: std::span<uint8_t>::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:131,1
    - Dst: std::span<uint8_t>::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:131,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/botan/module.cpp:133,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/botan/module.cpp:133,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/botan/module.cpp:133,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/cryptofuzz/modules/botan/module.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: cryptofuzz::module::Botan_detail::Fuzzer_RNG::fill_bytes_with_input
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::span<uint8_t>::begin
    - std::span<uint8_t>::size
    - copy
    - std::span<uint8_t>::empty
    - auto::end
    - GetData
    linkageType: ''
    returnType: void
    signature: "void fill_bytes_with_input(\n                    std::span<uint8_t>
      output,\n                    std::span<const uint8_t> input) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::Botan_detail::Fuzzer_RNG::name
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: cryptofuzz::module::Botan_detail::parenthesize
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string parenthesize(const std::string parent, const std::string
      child)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:151,1
    - Dst: find
      Src: /src/cryptofuzz/modules/botan/module.cpp:151,1
    - Dst: end
      Src: /src/cryptofuzz/modules/botan/module.cpp:151,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:154,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:155,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:159,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:161,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:163,1
    - Dst: at
      Src: /src/cryptofuzz/modules/botan/module.cpp:166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 170
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 170
    functionName: cryptofuzz::module::Botan_detail::DigestIDToString
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - at
    - end
    - CF_CHECK_NE
    - CF_DIGEST
    - find
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> DigestIDToString(const uint64_t digestType,
      const bool altShake = false, const bool isHmac = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:175,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:175,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:186,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:186,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:186,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:187,1
    - Dst: Botan::HashFunction::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:187,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/botan/module.cpp:189,1
    - Dst: std::unique_ptr::update
      Src: /src/cryptofuzz/modules/botan/module.cpp:195,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:201,1
    - Dst: std::unique_ptr::clear
      Src: /src/cryptofuzz/modules/botan/module.cpp:207,1
    - Dst: std::unique_ptr::final
      Src: /src/cryptofuzz/modules/botan/module.cpp:215,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/botan/module.cpp:216,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:216,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 223
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 223
    functionName: cryptofuzz::module::Botan::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::update
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - auto::size
    - digestType::Get
    - std::unique_ptr::clear
    - auto::data
    - CF_CHECK_NE
    - cryptofuzz::module::Botan_detail::DigestIDToString
    - std::unique_ptr::final
    - Botan::HashFunction::create
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Botan::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:226,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:226,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:237,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:237,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:237,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/botan/module.cpp:241,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:241,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/botan/module.cpp:242,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:242,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:245,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:248,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:248,1
    - Dst: std::unique_ptr::set_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:251,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:251,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:251,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/botan/module.cpp:256,1
    - Dst: std::unique_ptr::update
      Src: /src/cryptofuzz/modules/botan/module.cpp:261,1
    - Dst: std::unique_ptr::final
      Src: /src/cryptofuzz/modules/botan/module.cpp:266,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/botan/module.cpp:267,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:267,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 276
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 276
    functionName: cryptofuzz::module::Botan::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::update
    - cipher::key::GetSize
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - auto::size
    - digestType::Get
    - digestType::Is
    - auto::data
    - CF_CHECK_NE
    - std::unique_ptr::set_key
    - CF_DIGEST
    - cryptofuzz::module::Botan_detail::DigestIDToString
    - std::unique_ptr::final
    - generate_HMAC
    - cryptofuzz::module::Botan_detail::parenthesize
    - modifier::GetSize
    - Botan::MessageAuthenticationCode::create
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Botan::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:284,1
    - Dst: find
      Src: /src/cryptofuzz/modules/botan/module.cpp:284,1
    - Dst: end
      Src: /src/cryptofuzz/modules/botan/module.cpp:284,1
    - Dst: at
      Src: /src/cryptofuzz/modules/botan/module.cpp:285,1
    - Dst: at
      Src: /src/cryptofuzz/modules/botan/module.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 288
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 288
    functionName: cryptofuzz::module::Botan_detail::CipherIDToString
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - find
    - CF_CHECK_NE
    - at
    - end
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> CipherIDToString(const uint64_t digestType,
      const bool withMode = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: cryptofuzz::module::Botan_detail::GetInPtr
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GetInPtr(const operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: cryptofuzz::module::Botan_detail::GetInPtr
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GetInPtr(const operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: cryptofuzz::module::Botan_detail::GetInSize
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetInSize(const operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: cryptofuzz::module::Botan_detail::GetInSize
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetInSize(const operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: cryptofuzz::module::Botan_detail::GetCryptType
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::Botan::Cipher_Dir
    signature: ::Botan::Cipher_Dir GetCryptType<operation::SymmetricEncrypt>(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: cryptofuzz::module::Botan_detail::GetCryptType
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::Botan::Cipher_Dir
    signature: ::Botan::Cipher_Dir GetCryptType<operation::SymmetricDecrypt>(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: cryptofuzz::module::Botan_detail::GetTagSize
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> GetTagSize<>(const operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: cryptofuzz::module::Botan_detail::GetTagSize
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - tag::GetSize
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> GetTagSize<>(const operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: cryptofuzz::module::Botan_detail::GetTagPtr
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GetTagPtr<>(const operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: cryptofuzz::module::Botan_detail::GetTagPtr
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - tag::GetPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GetTagPtr<>(const operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<::Botan::AEAD_Mode>::set_associated_data
      Src: /src/cryptofuzz/modules/botan/module.cpp:375,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - crypt
    - ' aad'
    argTypes:
    - std::shared_ptr<::Botan::AEAD_Mode>
    - std::optional<component::AAD>
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: cryptofuzz::module::Botan_detail::SetAAD
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<::Botan::AEAD_Mode>::set_associated_data
    - Get
    linkageType: ''
    returnType: void
    signature: void SetAAD<>(std::shared_ptr<::Botan::AEAD_Mode> crypt, const std::optional<component::AAD>&
      aad)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - crypt
    - ' aad'
    argTypes:
    - std::shared_ptr<::Botan::Cipher_Mode>
    - std::optional<component::AAD>
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: cryptofuzz::module::Botan_detail::SetAAD
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetAAD<>(std::shared_ptr<::Botan::Cipher_Mode> crypt, const std::optional<component::AAD>&
      aad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Botan_detail::GetInPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:387,1
    - Dst: cryptofuzz::module::Botan_detail::GetInSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:388,1
    - Dst: cryptofuzz::module::Botan_detail::GetCryptType
      Src: /src/cryptofuzz/modules/botan/module.cpp:390,1
    - Dst: cryptofuzz::module::Botan_detail::GetTagSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:394,1
    - Dst: ::Botan::secure_vector<uint8_t>::resize
      Src: /src/cryptofuzz/modules/botan/module.cpp:402,1
    - Dst: ::Botan::secure_vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:402,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/botan/module.cpp:404,1
    - Dst: ::Botan::secure_vector<uint8_t>::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:404,1
    - Dst: cryptofuzz::module::Botan_detail::GetInSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:404,1
    - Dst: cryptofuzz::module::Botan_detail::GetTagPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - OperationType
    constantsTouched: []
    func_position:
      end: 407
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 407
    functionName: cryptofuzz::module::Botan_detail::GetInData
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - ::Botan::secure_vector<uint8_t>::resize
    - cryptofuzz::module::Botan_detail::GetCryptType
    - cryptofuzz::module::Botan_detail::GetInSize
    - memcpy
    - ::Botan::secure_vector<uint8_t>::data
    - cryptofuzz::module::Botan_detail::GetTagPtr
    - cryptofuzz::module::Botan_detail::GetTagSize
    - ::Botan::secure_vector<uint8_t>::size
    - cryptofuzz::module::Botan_detail::GetInPtr
    linkageType: ''
    returnType: ::Botan::secure_vector<uint8_t>
    signature: ::Botan::secure_vector<uint8_t> GetInData(const OperationType& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/botan/module.cpp:415,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/botan/module.cpp:415,1
    - Dst: data
      Src: /src/cryptofuzz/modules/botan/module.cpp:415,1
    - Dst: size
      Src: /src/cryptofuzz/modules/botan/module.cpp:415,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/botan/module.cpp:420,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/botan/module.cpp:420,1
    - Dst: data
      Src: /src/cryptofuzz/modules/botan/module.cpp:420,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/botan/module.cpp:420,1
    - Dst: data
      Src: /src/cryptofuzz/modules/botan/module.cpp:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' data'
    - tagSize
    argTypes:
    - ::Botan::secure_vector<uint8_t>
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: cryptofuzz::module::Botan_detail::ToReturnType
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::component::Ciphertext::Ciphertext
    - data
    - Buffer
    - size
    linkageType: ''
    returnType: component::Ciphertext
    signature: component::Ciphertext ToReturnType(const ::Botan::secure_vector<uint8_t>&
      data, std::optional<size_t> tagSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/botan/module.cpp:427,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/botan/module.cpp:427,1
    - Dst: data
      Src: /src/cryptofuzz/modules/botan/module.cpp:427,1
    - Dst: size
      Src: /src/cryptofuzz/modules/botan/module.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' data'
    - tagSize
    argTypes:
    - ::Botan::secure_vector<uint8_t>
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: cryptofuzz::module::Botan_detail::ToReturnType
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - Buffer
    - component::Cleartext
    - size
    linkageType: ''
    returnType: component::Cleartext
    signature: component::Cleartext ToReturnType(const ::Botan::secure_vector<uint8_t>&
      data, std::optional<size_t> tagSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/cryptofuzz/modules/botan/module.cpp:434,1
    - Dst: typeid
      Src: /src/cryptofuzz/modules/botan/module.cpp:434,1
    - Dst: cryptofuzz::module::Botan_detail::GetTagSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:438,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:444,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:444,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:445,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:445,1
    - Dst: cryptofuzz::module::Botan_detail::GetInData
      Src: /src/cryptofuzz/modules/botan/module.cpp:446,1
    - Dst: cryptofuzz::module::Botan_detail::GetTagSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:451,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:457,1
    - Dst: cryptofuzz::module::Botan_detail::CipherIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:457,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:457,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:460,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:460,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:462,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:462,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:465,1
    - Dst: argon2_thread_create
      Src: /src/cryptofuzz/modules/botan/module.cpp:465,1
    - Dst: cryptofuzz::module::Botan_detail::GetCryptType
      Src: /src/cryptofuzz/modules/botan/module.cpp:465,1
    - Dst: std::shared_ptr::set_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:466,1
    - Dst: cryptofuzz::module::Botan_detail::SetAAD
      Src: /src/cryptofuzz/modules/botan/module.cpp:468,1
    - Dst: std::shared_ptr::start
      Src: /src/cryptofuzz/modules/botan/module.cpp:470,1
    - Dst: ::Botan::InitializationVector::bits_of
      Src: /src/cryptofuzz/modules/botan/module.cpp:470,1
    - Dst: std::shared_ptr::update_granularity
      Src: /src/cryptofuzz/modules/botan/module.cpp:471,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:473,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/botan/module.cpp:477,1
    - Dst: cryptofuzz::module::Botan_detail::GetInPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:477,1
    - Dst: cryptofuzz::module::Botan_detail::GetInSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:477,1
    - Dst: std::shared_ptr::finish
      Src: /src/cryptofuzz/modules/botan/module.cpp:484,1
    - Dst: std::shared_ptr::process
      Src: /src/cryptofuzz/modules/botan/module.cpp:488,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:488,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:488,1
    - Dst: ::Botan::secure_vector<uint8_t>::insert
      Src: /src/cryptofuzz/modules/botan/module.cpp:489,1
    - Dst: ::Botan::secure_vector<uint8_t>::end
      Src: /src/cryptofuzz/modules/botan/module.cpp:489,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/botan/module.cpp:489,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/botan/module.cpp:489,1
    - Dst: std::shared_ptr::finish
      Src: /src/cryptofuzz/modules/botan/module.cpp:491,1
    - Dst: ::Botan::secure_vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:491,1
    - Dst: cryptofuzz::module::Botan_detail::ToReturnType
      Src: /src/cryptofuzz/modules/botan/module.cpp:500,1
    - Dst: cryptofuzz::module::Botan_detail::ToReturnType
      Src: /src/cryptofuzz/modules/botan/module.cpp:502,1
    - Dst: ::Botan::secure_vector<uint8_t>
      Src: /src/cryptofuzz/modules/botan/module.cpp:502,1
    - Dst: ::Botan::secure_vector<uint8_t>::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:502,1
    - Dst: ::Botan::secure_vector<uint8_t>::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:502,1
    - Dst: ::Botan::secure_vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:502,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - OperationType
    - Datasource
    constantsTouched: []
    func_position:
      end: 509
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 509
    functionName: cryptofuzz::module::Botan_detail::Crypt
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - cryptofuzz::module::Botan_detail::GetCryptType
    - cryptofuzz::module::Botan_detail::GetInSize
    - ::Botan::secure_vector<uint8_t>
    - ::Botan::secure_vector<uint8_t>::data
    - ::Botan::secure_vector<uint8_t>::size
    - std::shared_ptr::finish
    - cipher::cipherType::Get
    - std::shared_ptr::update_granularity
    - std::shared_ptr::process
    - cryptofuzz::module::Botan_detail::GetTagSize
    - cryptofuzz::module::Botan_detail::GetInPtr
    - std::shared_ptr::start
    - std::vector::begin
    - std::vector::data
    - std::vector::size
    - cryptofuzz::module::Botan_detail::CipherIDToString
    - ::Botan::secure_vector<uint8_t>::end
    - std::shared_ptr::set_key
    - cipher::iv::GetSize
    - ::Botan::InitializationVector::bits_of
    - cryptofuzz::module::Botan_detail::GetInData
    - cryptofuzz::module::Botan_detail::SetAAD
    - typeid
    - cipher::iv::GetPtr
    - argon2_thread_create
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - ::Botan::secure_vector<uint8_t>::insert
    - CF_CHECK_NE
    - cryptofuzz::module::Botan_detail::parenthesize
    - cryptofuzz::module::Botan_detail::ToReturnType
    - Get
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Crypt(OperationType& op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/botan/module.cpp:514,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:514,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:517,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:517,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:528,1
    - Dst: cryptofuzz::module::Botan_detail::CipherIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:528,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:528,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:530,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:532,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:532,1
    - Dst: std::unique_ptr::set_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:535,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:535,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:535,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/botan/module.cpp:540,1
    - Dst: std::unique_ptr::update
      Src: /src/cryptofuzz/modules/botan/module.cpp:545,1
    - Dst: std::unique_ptr::final
      Src: /src/cryptofuzz/modules/botan/module.cpp:550,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/botan/module.cpp:551,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:551,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 560
      start: 513
    functionDepth: 4
    functionLinenumber: 513
    functionLinenumberEnd: 560
    functionName: cryptofuzz::module::Botan::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::update
    - cipher::cipherType::Get
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - auto::size
    - cryptofuzz::repository::IsCBC
    - cryptofuzz::module::Botan_detail::CipherIDToString
    - auto::data
    - CF_CHECK_NE
    - std::unique_ptr::set_key
    - std::unique_ptr::final
    - generate_HMAC
    - cryptofuzz::module::Botan_detail::parenthesize
    - modifier::GetSize
    - Botan::MessageAuthenticationCode::create
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Botan::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/botan/module.cpp:563,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/botan/module.cpp:563,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:563,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:570,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:570,1
    - Dst: cryptofuzz::repository::IsAEAD
      Src: /src/cryptofuzz/modules/botan/module.cpp:573,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:573,1
    - Dst: Botan_detail::Crypt<component::Ciphertext, operation::SymmetricEncrypt,
        ::Botan::AEAD_Mode>
      Src: /src/cryptofuzz/modules/botan/module.cpp:574,1
    - Dst: Botan_detail::Crypt<component::Ciphertext, operation::SymmetricEncrypt,
        ::Botan::Cipher_Mode>
      Src: /src/cryptofuzz/modules/botan/module.cpp:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 577
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 577
    functionName: cryptofuzz::module::Botan::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - modifier::GetPtr
    - cryptofuzz::repository::IsAEAD
    - Botan_detail::Crypt<component::Ciphertext, operation::SymmetricEncrypt, ::Botan::Cipher_Mode>
    - cipher::cipherType::Is
    - Botan_detail::Crypt<component::Ciphertext, operation::SymmetricEncrypt, ::Botan::AEAD_Mode>
    - cipher::iv::GetSize
    - CF_CIPHER
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Botan::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/botan/module.cpp:585,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/botan/module.cpp:585,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:585,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:591,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:591,1
    - Dst: cryptofuzz::repository::IsAEAD
      Src: /src/cryptofuzz/modules/botan/module.cpp:594,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:594,1
    - Dst: Botan_detail::Crypt<component::Cleartext, operation::SymmetricDecrypt,
        ::Botan::AEAD_Mode>
      Src: /src/cryptofuzz/modules/botan/module.cpp:595,1
    - Dst: Botan_detail::Crypt<component::Cleartext, operation::SymmetricDecrypt,
        ::Botan::Cipher_Mode>
      Src: /src/cryptofuzz/modules/botan/module.cpp:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 598
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 598
    functionName: cryptofuzz::Botan::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - modifier::GetPtr
    - cryptofuzz::repository::IsAEAD
    - Botan_detail::Crypt<component::Cleartext, operation::SymmetricDecrypt, ::Botan::Cipher_Mode>
    - cipher::cipherType::Is
    - Botan_detail::Crypt<component::Cleartext, operation::SymmetricDecrypt, ::Botan::AEAD_Mode>
    - cipher::iv::GetSize
    - CF_CIPHER
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Botan::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:607,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:607,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:617,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:618,1
    - Dst: std::unique_ptr::from_params
      Src: /src/cryptofuzz/modules/botan/module.cpp:618,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:624,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:627,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:628,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:629,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:630,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:635,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/botan/module.cpp:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 645
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 645
    functionName: Botan::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - modifier::GetPtr
    - password::GetPtr
    - std::unique_ptr::derive_key
    - password::GetSize
    - std::unique_ptr::from_params
    - CF_CHECK_NE
    - Botan::PasswordHashFamily::create
    - salt::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - cryptofuzz::util::free
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:649,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:649,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:657,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:657,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:657,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:659,1
    - Dst: Botan::KDF::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:660,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:664,1
    - Dst: password::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:664,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:664,1
    - Dst: info::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:664,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:666,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:666,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 674
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 674
    functionName: Botan::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - password::Get
    - modifier::GetPtr
    - std::unique_ptr::derive_key
    - digestType::Get
    - cryptofuzz::tests::test_ECC_PrivateKey
    - auto::data
    - CF_CHECK_NE
    - cryptofuzz::module::Botan_detail::DigestIDToString
    - auto::size
    - Botan::KDF::create
    - cryptofuzz::module::Botan_detail::parenthesize
    - modifier::GetSize
    - salt::Get
    - info::Get
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:678,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:678,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:689,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:689,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:689,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:691,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:692,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:692,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:694,1
    - Dst: std::unique_ptr::from_params
      Src: /src/cryptofuzz/modules/botan/module.cpp:694,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:700,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:703,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:704,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:705,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:706,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:711,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/botan/module.cpp:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 721
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 721
    functionName: Botan::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - modifier::GetPtr
    - password::GetPtr
    - std::unique_ptr::derive_key
    - digestType::Get
    - cryptofuzz::util::free
    - password::GetSize
    - std::unique_ptr::from_params
    - CF_CHECK_NE
    - Botan::PasswordHashFamily::create
    - salt::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - cryptofuzz::module::Botan_detail::DigestIDToString
    - cryptofuzz::module::Botan_detail::parenthesize
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:725,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:725,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:750,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:750,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:752,1
    - Dst: std::unique_ptr::from_params
      Src: /src/cryptofuzz/modules/botan/module.cpp:752,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:760,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:763,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:764,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:765,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:766,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:771,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/botan/module.cpp:776,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 781
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 781
    functionName: Botan::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - modifier::GetPtr
    - password::GetPtr
    - std::unique_ptr::derive_key
    - password::GetSize
    - std::unique_ptr::from_params
    - CF_CHECK_NE
    - Botan::PasswordHashFamily::create
    - salt::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - cryptofuzz::util::free
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:785,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:785,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:793,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:793,1
    - Dst: mech::type::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:793,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:795,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:799,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:802,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:805,1
    - Dst: Botan::KDF::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:811,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:814,1
    - Dst: secret::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:814,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:814,1
    - Dst: label::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:814,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:816,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:816,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:816,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/botan/module.cpp:821,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SP_800_108
    constantsTouched: []
    func_position:
      end: 826
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 826
    functionName: Botan::OpKDF_SP_800_108
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - mech::type::Get
    - modifier::GetPtr
    - label::Get
    - std::unique_ptr::derive_key
    - secret::Get
    - cryptofuzz::util::free
    - cryptofuzz::tests::test_ECC_PrivateKey
    - auto::data
    - CF_CHECK_NE
    - cryptofuzz::module::Botan_detail::DigestIDToString
    - auto::size
    - Botan::KDF::create
    - cryptofuzz::module::Botan_detail::parenthesize
    - modifier::GetSize
    - salt::Get
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_SP_800_108(operation::KDF_SP_800_108&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:830,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:830,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/botan/module.cpp:837,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:837,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:837,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:838,1
    - Dst: Botan::KDF::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:838,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:842,1
    - Dst: secret::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:842,1
    - Dst: seed::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:842,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:844,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:844,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 852
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 852
    functionName: Botan::OpKDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_EQ
    - std::unique_ptr::derive_key
    - digestType::Get
    - secret::Get
    - cryptofuzz::tests::test_ECC_PrivateKey
    - auto::data
    - CF_CHECK_NE
    - CF_DIGEST
    - auto::size
    - Botan::KDF::create
    - modifier::GetSize
    - seed::Get
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_TLS1_PRF(operation::KDF_TLS1_PRF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:856,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:856,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/botan/module.cpp:866,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:866,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:866,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:867,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:867,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:868,1
    - Dst: std::unique_ptr::from_params
      Src: /src/cryptofuzz/modules/botan/module.cpp:868,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:874,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:877,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:878,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:879,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:880,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:885,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/botan/module.cpp:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_BCRYPT
    constantsTouched: []
    func_position:
      end: 895
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 895
    functionName: Botan::OpKDF_BCRYPT
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - secret::GetSize
    - secret::GetPtr
    - salt::GetPtr
    - modifier::GetPtr
    - CF_CHECK_EQ
    - std::unique_ptr::derive_key
    - digestType::Get
    - cryptofuzz::tests::test_ECC_PrivateKey
    - std::unique_ptr::from_params
    - CF_CHECK_NE
    - Botan::PasswordHashFamily::create
    - CF_DIGEST
    - salt::GetSize
    - cryptofuzz::util::free
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_BCRYPT(operation::KDF_BCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:902,1
    - Dst: find
      Src: /src/cryptofuzz/modules/botan/module.cpp:902,1
    - Dst: end
      Src: /src/cryptofuzz/modules/botan/module.cpp:902,1
    - Dst: at
      Src: /src/cryptofuzz/modules/botan/module.cpp:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - curveID
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 906
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 906
    functionName: Botan_detail::CurveIDToString
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - find
    - CF_CHECK_NE
    - at
    - end
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> CurveIDToString(const uint64_t curveID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:911,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:911,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:916,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:916,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:916,1
    - Dst: ECDSA_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:920,1
    - Dst: auto::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:922,1
    - Dst: auto::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:923,1
    - Dst: std::make_unique<::Botan::ECDSA_PublicKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:926,1
    - Dst: Botan::ECDSA_PublicKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:926,1
    - Dst: auto::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:926,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/botan/module.cpp:927,1
    - Dst: auto::check_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:927,1
    - Dst: auto::private_value
      Src: /src/cryptofuzz/modules/botan/module.cpp:930,1
    - Dst: auto::to_dec_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:930,1
    - Dst: auto::to_dec_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 937
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 937
    functionName: Botan::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<::Botan::ECDSA_PublicKey>
    - modifier::GetPtr
    - curveType::Get
    - auto::check_key
    - auto::private_value
    - auto::public_point
    - Botan::ECDSA_PublicKey
    - ECDSA_PrivateKey
    - CF_ASSERT
    - CF_CHECK_NE
    - auto::to_dec_string
    - modifier::GetSize
    - Botan_detail::CurveIDToString
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> Botan::OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:941,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:941,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:948,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:948,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:948,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:951,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:952,1
    - Dst: ::Botan::EC_Group::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:953,1
    - Dst: std::make_unique<::Botan::ECDSA_PublicKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:954,1
    - Dst: Botan::ECDSA_PublicKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:954,1
    - Dst: std::unique_ptr::check_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 961
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 961
    functionName: Botan::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - ::Botan::EC_Group::point
    - std::make_unique<::Botan::ECDSA_PublicKey>
    - pub::first::ToString
    - modifier::GetPtr
    - curveType::Get
    - std::unique_ptr::check_key
    - Botan::ECDSA_PublicKey
    - CF_CHECK_NE
    - pub::second::ToString
    - modifier::GetSize
    - Botan_detail::CurveIDToString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Botan::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:965,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:965,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:972,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/botan/module.cpp:972,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:975,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/botan/module.cpp:976,1
    - Dst: ::Botan::BigInt::binary_encode
      Src: /src/cryptofuzz/modules/botan/module.cpp:978,1
    - Dst: Botan::X25519_PrivateKey::X25519_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:984,1
    - Dst: ::Botan::BigInt::binary_decode
      Src: /src/cryptofuzz/modules/botan/module.cpp:987,1
    - Dst: auto::public_value
      Src: /src/cryptofuzz/modules/botan/module.cpp:987,1
    - Dst: ::Botan::BigInt::to_dec_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:989,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:991,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:991,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:991,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:994,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/botan/module.cpp:995,1
    - Dst: std::make_unique<::Botan::ECDSA_PrivateKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:997,1
    - Dst: ECDSA_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:997,1
    - Dst: auto::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:999,1
    - Dst: auto::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1000,1
    - Dst: auto::to_dec_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1002,1
    - Dst: auto::to_dec_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 1008
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 1008
    functionName: Botan::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - ::Botan::BigInt::binary_encode
    - CF_ECC_CURVE
    - Botan::X25519_PrivateKey::X25519_PrivateKey
    - auto::public_value
    - Botan_detail::CurveIDToString
    - ::Botan::BigInt::binary_decode
    - auto::public_point
    - std::make_unique<::Botan::ECDSA_PrivateKey>
    - ::Botan::BigInt::to_dec_string
    - ECDSA_PrivateKey
    - CF_CHECK_NE
    - priv::ToString
    - auto::to_dec_string
    - modifier::GetSize
    - CF_CHECK_GT
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> Botan::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1014,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1014,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/botan/module.cpp:1025,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/botan/module.cpp:1025,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/botan/module.cpp:1027,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/botan/module.cpp:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 1028
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1028
    functionName: Botan_detail::ECxDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_EQ
    - UseRandomNonce
    - UseRFC6979Nonce
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> ECxDSA_Sign(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/botan/module.cpp:1122,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1122,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/botan/module.cpp:1123,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1123,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1128,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1128,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:1128,1
    - Dst: std::make_unique<::Botan::Ed25519_PrivateKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1130,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1134,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1134,1
    - Dst: std::unique_ptr::reset
      Src: /src/cryptofuzz/modules/botan/module.cpp:1137,1
    - Dst: ::Botan::PK_Signer::PK_Signer
      Src: /src/cryptofuzz/modules/botan/module.cpp:1137,1
    - Dst: std::unique_ptr::sign_message
      Src: /src/cryptofuzz/modules/botan/module.cpp:1139,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1139,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1140,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:1140,1
    - Dst: auto::get_public_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:1142,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1143,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:1143,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/botan/module.cpp:1145,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1146,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1146,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1146,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1146,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1147,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1147,1
    - Dst: Botan_detail::ECxDSA_Sign<::Botan::ECDSA_PrivateKey, operation::ECDSA_Sign>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1154
      start: 1121
    functionDepth: 3
    functionLinenumber: 1121
    functionLinenumberEnd: 1154
    functionName: Botan::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::Get
    - auto::get_public_key
    - modifier::GetPtr
    - std::unique_ptr::sign_message
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - cryptofuzz::tests::test_ECDSA_Signature
    - ::Botan::PK_Signer::PK_Signer
    - std::unique_ptr::reset
    - auto::data
    - CF_ASSERT
    - Botan_detail::ECxDSA_Sign<::Botan::ECDSA_PrivateKey, operation::ECDSA_Sign>
    - cryptofuzz::util::BinToDec
    - auto::size
    - modifier::GetSize
    - priv::ToTrimmedString
    - std::make_unique<::Botan::Ed25519_PrivateKey>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> Botan::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_detail::ECxDSA_Sign<::Botan::ECGDSA_PrivateKey, operation::ECGDSA_Sign,
        false>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECGDSA_Sign
    constantsTouched: []
    func_position:
      end: 1158
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1158
    functionName: Botan::OpECGDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_detail::ECxDSA_Sign<::Botan::ECGDSA_PrivateKey, operation::ECGDSA_Sign,
      false>
    linkageType: ''
    returnType: std::optional<component::ECGDSA_Signature>
    signature: std::optional<component::ECGDSA_Signature> Botan::OpECGDSA_Sign(operation::ECGDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1165,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1165,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1176,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1176,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1176,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1177,1
    - Dst: signature::signature::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1182,1
    - Dst: signature::signature::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1183,1
    - Dst: Botan::BigInt::encode_fixed_length_int_pair
      Src: /src/cryptofuzz/modules/botan/module.cpp:1184,1
    - Dst: std::unique_ptr::get_order_bytes
      Src: /src/cryptofuzz/modules/botan/module.cpp:1184,1
    - Dst: signature::pub::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1189,1
    - Dst: signature::pub::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1190,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1191,1
    - Dst: std::make_unique<PubkeyType>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1192,1
    - Dst: PubkeyType
      Src: /src/cryptofuzz/modules/botan/module.cpp:1192,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1197,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:1197,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/botan/module.cpp:1198,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1201,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1201,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1201,1
    - Dst: Botan::HashFunction::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:1203,1
    - Dst: auto::update
      Src: /src/cryptofuzz/modules/botan/module.cpp:1204,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1204,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1204,1
    - Dst: auto::final
      Src: /src/cryptofuzz/modules/botan/module.cpp:1205,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/botan/module.cpp:1206,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1206,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:1206,1
    - Dst: Botan::PK_Verifier::PK_Verifier
      Src: /src/cryptofuzz/modules/botan/module.cpp:1210,1
    - Dst: Buffer::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 1222
      start: 1162
    functionDepth: 2
    functionLinenumber: 1162
    functionLinenumberEnd: 1222
    functionName: Botan_detail::ECxDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get_order_bytes
    - std::make_unique<::Botan::EC_Group>
    - Botan::BigInt::encode_fixed_length_int_pair
    - cleartext::GetPtr
    - CF_DIGEST
    - Botan::HashFunction::create
    - auto::final
    - curveType::Get
    - modifier::GetPtr
    - Buffer::Get
    - signature::signature::second::ToString
    - auto::size
    - Buffer
    - signature::pub::second::ToString
    - Botan::PK_Verifier::PK_Verifier
    - signature::signature::first::ToString
    - std::unique_ptr::point
    - auto::update
    - auto::data
    - cleartext::ECDSA_RandomPad
    - cleartext::GetSize
    - signature::pub::first::ToString
    - digestType::Get
    - std::make_unique<PubkeyType>
    - CF_CHECK_NE
    - cryptofuzz::module::Botan_detail::DigestIDToString
    - PubkeyType
    - modifier::GetSize
    - Botan_detail::CurveIDToString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ECxDSA_Verify(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/botan/module.cpp:1226,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1226,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/botan/module.cpp:1227,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1227,1
    - Dst: std::make_unique<::Botan::Ed25519_PublicKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1231,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/botan/module.cpp:1233,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1233,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/botan/module.cpp:1238,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1238,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/botan/module.cpp:1244,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1244,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1244,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/botan/module.cpp:1245,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1245,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1245,1
    - Dst: Botan_detail::ECxDSA_Verify<::Botan::ECDSA_PublicKey, operation::ECDSA_Verify>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1253
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1253
    functionName: Botan::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToTrimmedString
    - std::vector::data
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - signature::pub::first::ToTrimmedString
    - signature::signature::first::ToTrimmedString
    - memcpy
    - Botan_detail::ECxDSA_Verify<::Botan::ECDSA_PublicKey, operation::ECDSA_Verify>
    - auto::data
    - std::make_unique<::Botan::Ed25519_PublicKey>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Botan::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_detail::ECxDSA_Verify<::Botan::ECGDSA_PublicKey, operation::ECGDSA_Verify>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECGDSA_Verify
    constantsTouched: []
    func_position:
      end: 1257
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1257
    functionName: Botan::OpECGDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_detail::ECxDSA_Verify<::Botan::ECGDSA_PublicKey, operation::ECGDSA_Verify>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Botan::OpECGDSA_Verify(operation::ECGDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1261,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1261,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1268,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1268,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1268,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1269,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1274,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:1274,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/botan/module.cpp:1275,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1278,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1278,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1278,1
    - Dst: Botan::HashFunction::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:1280,1
    - Dst: auto::update
      Src: /src/cryptofuzz/modules/botan/module.cpp:1281,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1281,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1281,1
    - Dst: auto::final
      Src: /src/cryptofuzz/modules/botan/module.cpp:1282,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/botan/module.cpp:1283,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1283,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:1283,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1288,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1289,1
    - Dst: std::make_unique<::Botan::ECDSA_PublicKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1293,1
    - Dst: Buffer::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1293,1
    - Dst: std::unique_ptr::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1296,1
    - Dst: std::unique_ptr::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Recover
    constantsTouched: []
    func_position:
      end: 1309
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1309
    functionName: Botan::OpECDSA_Recover
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<::Botan::EC_Group>
    - cleartext::GetPtr
    - CF_DIGEST
    - Botan::HashFunction::create
    - auto::final
    - curveType::Get
    - signature::second::ToString
    - std::make_unique<::Botan::ECDSA_PublicKey>
    - modifier::GetPtr
    - Buffer::Get
    - auto::size
    - Buffer
    - auto::update
    - auto::data
    - cleartext::ECDSA_RandomPad
    - cleartext::GetSize
    - std::unique_ptr::public_point
    - digestType::Get
    - CF_CHECK_NE
    - cryptofuzz::module::Botan_detail::DigestIDToString
    - modifier::GetSize
    - signature::first::ToString
    - Botan_detail::CurveIDToString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> Botan::OpECDSA_Recover(operation::ECDSA_Recover&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1313,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1313,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1318,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1318,1
    - Dst: base::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1320,1
    - Dst: prime::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1321,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1324,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1327,1
    - Dst: ::Botan::BigInt::bytes
      Src: /src/cryptofuzz/modules/botan/module.cpp:1327,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1328,1
    - Dst: ::Botan::BigInt::bytes
      Src: /src/cryptofuzz/modules/botan/module.cpp:1328,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1329,1
    - Dst: ::Botan::BigInt::bytes
      Src: /src/cryptofuzz/modules/botan/module.cpp:1329,1
    - Dst: ::Botan::DH_PrivateKey::DH_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:1331,1
    - Dst: pub::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1333,1
    - Dst: ::Botan::PK_Key_Agreement::PK_Key_Agreement
      Src: /src/cryptofuzz/modules/botan/module.cpp:1336,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:1337,1
    - Dst: ::Botan::DH_PublicKey::public_value
      Src: /src/cryptofuzz/modules/botan/module.cpp:1337,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1339,1
    - Dst: auto::bits_of
      Src: /src/cryptofuzz/modules/botan/module.cpp:1339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DH_Derive
    constantsTouched: []
    func_position:
      end: 1347
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1347
    functionName: Botan::OpDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - auto::bits_of
    - CF_CHECK_LT
    - pub::ToString
    - ::Botan::PK_Key_Agreement::PK_Key_Agreement
    - modifier::GetPtr
    - std::unique_ptr::derive_key
    - prime::ToString
    - CF_CHECK_NE
    - base::ToString
    - ::Botan::DH_PublicKey::public_value
    - priv::ToString
    - ::Botan::BigInt::bytes
    - modifier::GetSize
    - priv::ToTrimmedString
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    - ::Botan::DH_PrivateKey::DH_PrivateKey
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Botan::OpDH_Derive(operation::DH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1351,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1351,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1361,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1361,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1361,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1362,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1368,1
    - Dst: a::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1368,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1369,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1371,1
    - Dst: a::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1371,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1372,1
    - Dst: std::make_unique<::Botan::PointGFp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1375,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1375,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1379,1
    - Dst: std::unique_ptr::on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1379,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1384,1
    - Dst: b::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1384,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1385,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1387,1
    - Dst: b::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1387,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1388,1
    - Dst: std::make_unique<::Botan::PointGFp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1391,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1391,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1396,1
    - Dst: on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1396,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1407,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1408,1
    - Dst: ::Botan::PointGFp::get_affine_x
      Src: /src/cryptofuzz/modules/botan/module.cpp:1410,1
    - Dst: ::Botan::PointGFp::get_affine_y
      Src: /src/cryptofuzz/modules/botan/module.cpp:1411,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1414,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1414,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1415,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 1426
      start: 1349
    functionDepth: 2
    functionLinenumber: 1349
    functionLinenumberEnd: 1426
    functionName: Botan::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<::Botan::EC_Group>
    - b::second::ToString
    - a::second::ToString
    - CF_ASSERT
    - cryptofuzz::util::HexToDec
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    - curveType::Get
    - a::first::ToString
    - modifier::GetPtr
    - auto::to_hex_string
    - std::unique_ptr::on_the_curve
    - ::Botan::PointGFp::get_affine_y
    - CF_CHECK_FALSE
    - std::unique_ptr::point
    - on_the_curve
    - CF_CHECK_GTE
    - std::make_unique<::Botan::PointGFp>
    - CF_CHECK_TRUE
    - ::Botan::PointGFp::get_affine_x
    - CF_CHECK_NE
    - b::first::ToString
    - modifier::GetSize
    - Botan_detail::CurveIDToString
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Botan::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1430,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1430,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1440,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1440,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1440,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1441,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1447,1
    - Dst: a::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1447,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1448,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1450,1
    - Dst: a::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1450,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1451,1
    - Dst: std::make_unique<::Botan::PointGFp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1454,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1454,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1458,1
    - Dst: std::unique_ptr::on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1458,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1463,1
    - Dst: b::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1463,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1464,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1466,1
    - Dst: b::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1466,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1467,1
    - Dst: std::make_unique<::Botan::PointGFp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1470,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1470,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1475,1
    - Dst: on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1475,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1486,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1487,1
    - Dst: ::Botan::PointGFp::get_affine_x
      Src: /src/cryptofuzz/modules/botan/module.cpp:1489,1
    - Dst: ::Botan::PointGFp::get_affine_y
      Src: /src/cryptofuzz/modules/botan/module.cpp:1490,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1493,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1493,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1494,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Sub
    constantsTouched: []
    func_position:
      end: 1505
      start: 1428
    functionDepth: 2
    functionLinenumber: 1428
    functionLinenumberEnd: 1505
    functionName: Botan::OpECC_Point_Sub
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<::Botan::EC_Group>
    - b::second::ToString
    - a::second::ToString
    - CF_ASSERT
    - cryptofuzz::util::HexToDec
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    - curveType::Get
    - a::first::ToString
    - modifier::GetPtr
    - auto::to_hex_string
    - std::unique_ptr::on_the_curve
    - ::Botan::PointGFp::get_affine_y
    - CF_CHECK_FALSE
    - std::unique_ptr::point
    - on_the_curve
    - CF_CHECK_GTE
    - std::make_unique<::Botan::PointGFp>
    - CF_CHECK_TRUE
    - ::Botan::PointGFp::get_affine_x
    - CF_CHECK_NE
    - b::first::ToString
    - modifier::GetSize
    - Botan_detail::CurveIDToString
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Botan::OpECC_Point_Sub(operation::ECC_Point_Sub&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1509,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1509,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1517,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1517,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1517,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1518,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1522,1
    - Dst: a::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1522,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1523,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1525,1
    - Dst: a::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1525,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1526,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1528,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1529,1
    - Dst: auto::on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1529,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1531,1
    - Dst: b::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1531,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1533,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1540,1
    - Dst: std::unique_ptr::blinded_var_point_multiply
      Src: /src/cryptofuzz/modules/botan/module.cpp:1549,1
    - Dst: ::Botan::PointGFp::get_affine_x
      Src: /src/cryptofuzz/modules/botan/module.cpp:1552,1
    - Dst: ::Botan::PointGFp::get_affine_y
      Src: /src/cryptofuzz/modules/botan/module.cpp:1553,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1556,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1556,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1557,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 1566
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1566
    functionName: Botan::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<::Botan::EC_Group>
    - a::second::ToString
    - cryptofuzz::util::HexToDec
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    - curveType::Get
    - a::first::ToString
    - modifier::GetPtr
    - std::unique_ptr::blinded_var_point_multiply
    - auto::to_hex_string
    - Datasource::Get
    - ::Botan::PointGFp::get_affine_y
    - std::unique_ptr::point
    - CF_CHECK_GTE
    - CF_CHECK_TRUE
    - auto::on_the_curve
    - ::Botan::PointGFp::get_affine_x
    - CF_CHECK_NE
    - b::ToString
    - modifier::GetSize
    - Botan_detail::CurveIDToString
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Botan::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1570,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1570,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1576,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1576,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1576,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1577,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1581,1
    - Dst: a::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1581,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1582,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1584,1
    - Dst: a::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1584,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1585,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1587,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1588,1
    - Dst: auto::on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1588,1
    - Dst: ::Botan::PointGFp::get_affine_x
      Src: /src/cryptofuzz/modules/botan/module.cpp:1592,1
    - Dst: ::Botan::PointGFp::get_affine_y
      Src: /src/cryptofuzz/modules/botan/module.cpp:1593,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1596,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1596,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1597,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 1607
      start: 1568
    functionDepth: 2
    functionLinenumber: 1568
    functionLinenumberEnd: 1607
    functionName: Botan::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<::Botan::EC_Group>
    - a::first::ToString
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - curveType::Get
    - auto::on_the_curve
    - ::Botan::PointGFp::get_affine_x
    - std::unique_ptr::point
    - CF_CHECK_NE
    - auto::to_hex_string
    - a::second::ToString
    - CF_CHECK_GTE
    - modifier::GetSize
    - cryptofuzz::util::HexToDec
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    - Botan_detail::CurveIDToString
    - ::Botan::PointGFp::get_affine_y
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Botan::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1611,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1611,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1617,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1617,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1617,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1618,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1622,1
    - Dst: a::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1622,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1623,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1625,1
    - Dst: a::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1625,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1626,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1628,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1629,1
    - Dst: auto::on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1629,1
    - Dst: ::Botan::PointGFp::get_affine_x
      Src: /src/cryptofuzz/modules/botan/module.cpp:1633,1
    - Dst: ::Botan::PointGFp::get_affine_y
      Src: /src/cryptofuzz/modules/botan/module.cpp:1634,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1637,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1637,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1638,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 1648
      start: 1609
    functionDepth: 2
    functionLinenumber: 1609
    functionLinenumberEnd: 1648
    functionName: Botan::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<::Botan::EC_Group>
    - a::first::ToString
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - curveType::Get
    - auto::on_the_curve
    - ::Botan::PointGFp::get_affine_x
    - std::unique_ptr::point
    - CF_CHECK_NE
    - auto::to_hex_string
    - a::second::ToString
    - CF_CHECK_GTE
    - modifier::GetSize
    - cryptofuzz::util::HexToDec
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    - Botan_detail::CurveIDToString
    - ::Botan::PointGFp::get_affine_y
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Botan::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1652,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1652,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1662,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1662,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1662,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1663,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1669,1
    - Dst: a::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1669,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1670,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1672,1
    - Dst: a::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1672,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1673,1
    - Dst: std::make_unique<::Botan::PointGFp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1676,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1676,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1680,1
    - Dst: std::unique_ptr::on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1680,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1685,1
    - Dst: b::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1685,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1686,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1688,1
    - Dst: b::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1688,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1689,1
    - Dst: std::make_unique<::Botan::PointGFp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1692,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1692,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1697,1
    - Dst: on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Cmp
    constantsTouched: []
    func_position:
      end: 1709
      start: 1650
    functionDepth: 2
    functionLinenumber: 1650
    functionLinenumberEnd: 1709
    functionName: Botan::OpECC_Point_Cmp
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<::Botan::EC_Group>
    - a::first::ToString
    - modifier::GetPtr
    - std::make_unique<::Botan::PointGFp>
    - curveType::Get
    - CF_CHECK_TRUE
    - b::first::ToString
    - std::unique_ptr::point
    - CF_CHECK_NE
    - b::second::ToString
    - on_the_curve
    - std::unique_ptr::on_the_curve
    - a::second::ToString
    - CF_CHECK_GTE
    - modifier::GetSize
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    - Botan_detail::CurveIDToString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Botan::OpECC_Point_Cmp(operation::ECC_Point_Cmp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1713,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1713,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1718,1
    - Dst: parameters::p::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1718,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1720,1
    - Dst: auto::bytes
      Src: /src/cryptofuzz/modules/botan/module.cpp:1720,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1721,1
    - Dst: parameters::q::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1721,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1722,1
    - Dst: parameters::g::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1722,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1727,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1730,1
    - Dst: ::Botan::DL_Group::verify_group
      Src: /src/cryptofuzz/modules/botan/module.cpp:1730,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1732,1
    - Dst: pub::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1732,1
    - Dst: std::make_unique<::Botan::DSA_PublicKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1733,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1735,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1735,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1736,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1736,1
    - Dst: Botan::BigInt::encode_fixed_length_int_pair
      Src: /src/cryptofuzz/modules/botan/module.cpp:1738,1
    - Dst: auto::bytes
      Src: /src/cryptofuzz/modules/botan/module.cpp:1739,1
    - Dst: Botan::PK_Verifier::PK_Verifier
      Src: /src/cryptofuzz/modules/botan/module.cpp:1740,1
    - Dst: auto::update
      Src: /src/cryptofuzz/modules/botan/module.cpp:1741,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1741,1
    - Dst: auto::check_signature
      Src: /src/cryptofuzz/modules/botan/module.cpp:1742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_Verify
    constantsTouched: []
    func_position:
      end: 1748
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1748
    functionName: Botan::OpDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::encode_fixed_length_int_pair
    - parameters::p::ToString
    - ::Botan::DL_Group::verify_group
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    - signature::second::ToString
    - modifier::GetPtr
    - auto::check_signature
    - cleartext::Get
    - CF_CHECK_LTE
    - parameters::g::ToString
    - auto::update
    - pub::ToString
    - CF_CHECK_TRUE
    - parameters::q::ToString
    - auto::bytes
    - std::make_unique<::Botan::DSA_PublicKey>
    - CF_CHECK_NE
    - Botan::PK_Verifier::PK_Verifier
    - modifier::GetSize
    - signature::first::ToString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Botan::OpDSA_Verify(operation::DSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1754,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1755,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1756,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1757,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1758,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1759,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1760,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1761,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1762,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1763,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1764,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1765,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1766,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1767,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1768,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1769,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1770,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1771,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1772,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1773,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1779,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1779,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/botan/module.cpp:1783,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1783,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/botan/module.cpp:1784,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1784,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/botan/module.cpp:1785,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1785,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/botan/module.cpp:1786,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1786,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1790,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1791,1
    - Dst: std::make_unique<Botan_bignum::Add>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1792,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1794,1
    - Dst: std::make_unique<Botan_bignum::Sub>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1795,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1797,1
    - Dst: std::make_unique<Botan_bignum::Mul>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1798,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1800,1
    - Dst: std::make_unique<Botan_bignum::Div>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1801,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1803,1
    - Dst: std::make_unique<Botan_bignum::Mod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1804,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1806,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1808,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1808,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1809,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1809,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1810,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1810,1
    - Dst: std::make_unique<Botan_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1812,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1814,1
    - Dst: std::make_unique<Botan_bignum::Exp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1815,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1817,1
    - Dst: std::make_unique<Botan_bignum::Sqr>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1818,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1820,1
    - Dst: std::make_unique<Botan_bignum::GCD>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1821,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1823,1
    - Dst: std::make_unique<Botan_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1824,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1826,1
    - Dst: std::make_unique<Botan_bignum::InvMod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1827,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1829,1
    - Dst: std::make_unique<Botan_bignum::Cmp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1830,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1832,1
    - Dst: std::make_unique<Botan_bignum::LCM>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1833,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1835,1
    - Dst: std::make_unique<Botan_bignum::Abs>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1836,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1838,1
    - Dst: std::make_unique<Botan_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1839,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1841,1
    - Dst: std::make_unique<Botan_bignum::Neg>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1842,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1844,1
    - Dst: std::make_unique<Botan_bignum::IsPrime>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1845,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1847,1
    - Dst: std::make_unique<Botan_bignum::RShift>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1848,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1850,1
    - Dst: std::make_unique<Botan_bignum::LShift1>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1851,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1853,1
    - Dst: std::make_unique<Botan_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1854,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1856,1
    - Dst: std::make_unique<Botan_bignum::IsEq>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1857,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1859,1
    - Dst: std::make_unique<Botan_bignum::IsGt>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1860,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1862,1
    - Dst: std::make_unique<Botan_bignum::IsGte>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1863,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1865,1
    - Dst: std::make_unique<Botan_bignum::IsLt>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1866,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1868,1
    - Dst: std::make_unique<Botan_bignum::IsLte>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1869,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1871,1
    - Dst: std::make_unique<Botan_bignum::IsEven>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1872,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1874,1
    - Dst: std::make_unique<Botan_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1875,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1877,1
    - Dst: std::make_unique<Botan_bignum::IsZero>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1878,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1880,1
    - Dst: std::make_unique<Botan_bignum::IsNotZero>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1881,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1883,1
    - Dst: std::make_unique<Botan_bignum::IsOne>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1884,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1886,1
    - Dst: std::make_unique<Botan_bignum::MulMod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1887,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1889,1
    - Dst: std::make_unique<Botan_bignum::Bit>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1890,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1892,1
    - Dst: std::make_unique<Botan_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1893,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1895,1
    - Dst: std::make_unique<Botan_bignum::SetBit>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1896,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1898,1
    - Dst: std::make_unique<Botan_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1899,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1901,1
    - Dst: std::make_unique<Botan_bignum::MulAdd>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1902,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1904,1
    - Dst: std::make_unique<Botan_bignum::MulDiv>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1905,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1907,1
    - Dst: std::make_unique<Botan_bignum::MulDivCeil>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1908,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1910,1
    - Dst: std::make_unique<Botan_bignum::Exp2>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1911,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1913,1
    - Dst: std::make_unique<Botan_bignum::NumLSZeroBits>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1914,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1916,1
    - Dst: std::make_unique<Botan_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1918,1
    - Dst: std::make_unique<Botan_bignum::Ressol>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1920,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1923,1
    - Dst: std::make_unique<Botan_bignum::AddMod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1924,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1926,1
    - Dst: std::make_unique<Botan_bignum::SubMod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1927,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1929,1
    - Dst: std::make_unique<Botan_bignum::NumBits>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1930,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1932,1
    - Dst: std::make_unique<Botan_bignum::Set>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1933,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1935,1
    - Dst: std::make_unique<Botan_bignum::CondSet>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1936,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1943,1
    - Dst: std::make_unique<Botan_bignum::Not>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1944,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1946,1
    - Dst: std::make_unique<Botan_bignum::Prime>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1947,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1949,1
    - Dst: std::make_unique<Botan_bignum::RandRange>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1950,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1952,1
    - Dst: std::make_unique<Botan_bignum::IsSquare>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1953,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1957,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/botan/module.cpp:1962,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/botan/module.cpp:1962,1
    - Dst: std::optional<Botan_bignum::Bignum>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1967,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/botan/module.cpp:1967,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1967,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1975,1
    - Dst: Botan_bignum::Bignum::Ref
      Src: /src/cryptofuzz/modules/botan/module.cpp:1975,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 197
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1979
      start: 1750
    functionDepth: 3
    functionLinenumber: 1750
    functionLinenumberEnd: 1979
    functionName: Botan::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - std::make_unique<Botan_bignum::IsOne>
    - bn1::GetSize
    - std::make_unique<Botan_bignum::Add>
    - std::make_unique<Botan_bignum::MulAdd>
    - std::make_unique<Botan_bignum::RShift>
    - std::make_unique<Botan_bignum::IsEven>
    - cryptofuzz::util::HexToDec
    - CF_CALCOP
    - std::make_unique<Botan_bignum::InvMod>
    - std::make_unique<Botan_bignum::Cmp>
    - std::make_unique<Botan_bignum::Jacobi>
    - std::make_unique<Botan_bignum::IsPrime>
    - bn2::ToString
    - modifier::GetPtr
    - std::make_unique<Botan_bignum::Sqr>
    - std::make_unique<Botan_bignum::IsGt>
    - std::make_unique<Botan_bignum::SetBit>
    - std::make_unique<Botan_bignum::CmpAbs>
    - std::make_unique<Botan_bignum::NumBits>
    - bn0::ToString
    - getBignum
    - std::make_unique<Botan_bignum::Exp>
    - std::make_unique<Botan_bignum::IsGte>
    - std::make_unique<Botan_bignum::Div>
    - std::make_unique<Botan_bignum::Mul>
    - std::make_unique<Botan_bignum::NumLSZeroBits>
    - std::make_unique<Botan_bignum::Set>
    - std::make_unique<Botan_bignum::IsEq>
    - bn3::ToString
    - std::make_unique<Botan_bignum::Sub>
    - std::make_unique<Botan_bignum::GCD>
    - std::make_unique<Botan_bignum::Mod>
    - std::make_unique<Botan_bignum::IsNotZero>
    - std::make_unique<Botan_bignum::MulDivCeil>
    - bn0::GetSize
    - std::make_unique<Botan_bignum::LCM>
    - std::make_unique<Botan_bignum::Neg>
    - bn2::GetSize
    - std::make_unique<Botan_bignum::Bit>
    - std::make_unique<Botan_bignum::MulDiv>
    - std::make_unique<Botan_bignum::SqrMod>
    - CF_CHECK_EQ
    - std::make_unique<Botan_bignum::Abs>
    - Botan_bignum::Bignum::Ref
    - std::make_unique<Botan_bignum::Not>
    - std::make_unique<Botan_bignum::Sqrt>
    - std::make_unique<Botan_bignum::IsLt>
    - bn1::ToString
    - calcOp::Get
    - std::make_unique<Botan_bignum::MulMod>
    - std::make_unique<Botan_bignum::Ressol>
    - std::make_unique<Botan_bignum::AddMod>
    - std::make_unique<Botan_bignum::ClearBit>
    - std::make_unique<Botan_bignum::ExpMod>
    - std::make_unique<Botan_bignum::LShift1>
    - std::make_unique<Botan_bignum::IsLte>
    - std::make_unique<Botan_bignum::CondSet>
    - std::make_unique<Botan_bignum::Prime>
    - std::make_unique<Botan_bignum::IsZero>
    - std::make_unique<Botan_bignum::IsSquare>
    - std::make_unique<Botan_bignum::SubMod>
    - modulo::ToTrimmedString
    - CF_CHECK_NE
    - std::unique_ptr::Run
    - std::optional<Botan_bignum::Bignum>
    - std::make_unique<Botan_bignum::RandRange>
    - std::make_unique<Botan_bignum::IsNeg>
    - std::make_unique<Botan_bignum::Exp2>
    - modifier::GetSize
    - std::make_unique<Botan_bignum::IsOdd>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Botan::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1983
    functionName: Botan::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Botan::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:9,1
    - Dst: end
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:9,1
    - Dst: Botan::HashFunction::create
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:15,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:18,1
    - Dst: auto::second::c_str
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:18,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 21
    functionName: test_digests
    functionSourceFile: /src/cryptofuzz/modules/botan/test_strings.cpp
    functionUses: 0
    functionsReached:
    - auto::second::c_str
    - end
    - begin
    - Botan::HashFunction::create
    - printf
    linkageType: ''
    returnType: void
    signature: void test_digests(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:25,1
    - Dst: end
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:25,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:26,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:28,1
    - Dst: auto::second::first::c_str
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: test_ciphers
    functionSourceFile: /src/cryptofuzz/modules/botan/test_strings.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - auto::second::first::c_str
    - Botan::Cipher_Mode::create
    - printf
    linkageType: ''
    returnType: void
    signature: void test_ciphers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_digests
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:34,1
    - Dst: test_ciphers
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/botan/test_strings.cpp
    functionUses: 0
    functionsReached:
    - test_ciphers
    - test_digests
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_add
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:15,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:15,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:15,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 16
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::relic_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Get
    - bn_add
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_sub
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:27,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:27,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:27,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: cryptofuzz::module::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Get
    - bn_sub
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:36,1
    - Dst: bn_mul
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:40,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:40,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:40,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:40,1
    - Dst: bn_mul_basic
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:47,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:47,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:47,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: cryptofuzz::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GET_WHICH
    - Get
    - bn_mul
    - bn_mul_basic
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:138,1
    - Dst: bn_gcd
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:149,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:149,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:149,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:149,1
    - Dst: bn_gcd_basic
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:156,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:156,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:156,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - type
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - GCDType
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: GCD_ExtGCD
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - bn_gcd
    - GET_WHICH
    - Get
    - bn_gcd_basic
    linkageType: ''
    returnType: bool
    signature: bool GCD_ExtGCD(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const GCDType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:10,1
    - Dst: bn_new
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: cryptofuzz::module::relic_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - bn_new
    - bn_null
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:16,1
    - Dst: bn_new
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:17,1
    - Dst: bn_copy
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::relic_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - bn_new
    - bn_null
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const Bignum& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:24,1
    - Dst: bn_new
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:25,1
    - Dst: bn_copy
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: cryptofuzz::module::relic_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - bn_new
    - bn_null
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const Bignum&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:34,1
    - Dst: bn_size_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:45,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:46,1
    - Dst: bn_write_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:47,1
    - Dst: bn_read_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:51,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::relic_bignum::Bignum::baseConversion
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - bn_read_str
    - strlen
    - bn_size_str
    - bn_write_str
    - Get
    linkageType: ''
    returnType: void
    signature: void Bignum::baseConversion(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_read_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:63,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:63,1
    - Dst: size
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: cryptofuzz::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - size
    - bn_read_str
    linkageType: ''
    returnType: bool
    signature: bool Bignum::Set(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_size_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:73,1
    - Dst: bn_write_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:75,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:76,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: Bignum::ToString
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 3
    functionsReached:
    - std::string
    - bn_write_str
    - bn_size_str
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Bignum::ToString(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bignum::ToString
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:84,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 2
    functionsReached:
    - CF_CHECK_NE
    - Bignum::ToString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Bignum::ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:96,1
    - Dst: bn_size_bin
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:96,1
    - Dst: bn_write_bin
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:99,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:99,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:101,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:101,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:101,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:104,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: Bignum::ToSizeT
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - std::array::data
    - memcpy
    - CF_CHECK_LTE
    - std::array::end
    - bn_size_bin
    - bn_write_bin
    - std::array::begin
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> Bignum::ToSizeT(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:118,1
    - Dst: baseConversion
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: '& Bignum::Get(void)'
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - Get
    - baseConversion
    linkageType: ''
    returnType: bn_t
    signature: bn_t & Bignum::Get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_free
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Bignum::~Bignum(void)
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - bn_free
    linkageType: ''
    returnType: void
    signature: void Bignum::~Bignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/relic/module.cpp:16,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/relic/module.cpp:23,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/relic/module.cpp:24,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/relic/module.cpp:24,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/relic/module.cpp:25,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:25,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/relic/module.cpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - out
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 31
    functionName: cryptofuzz::module::relic_detail::relic_fuzzer_rng
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - auto::data
    - GetData
    - auto::size
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void relic_fuzzer_rng(uint8_t* out, size_t size, void*)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/relic/module.cpp:42,1
    - Dst: core_init
      Src: /src/cryptofuzz/modules/relic/module.cpp:42,1
    - Dst: rand_seed
      Src: /src/cryptofuzz/modules/relic/module.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::relic::relic
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - core_init
    - CF_ASSERT
    - rand_seed
    linkageType: ''
    returnType: void
    signature: void relic::relic(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: component::CurveType::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:51,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:53,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:54,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:58,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:59,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:62,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:63,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:66,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:67,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:71,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:72,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:76,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:77,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:81,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:82,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:85,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - curveType
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 91
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 91
    functionName: cryptofuzz::module::relic_detail::SetCurve
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - component::CurveType::Get
    - ep_param_set
    - CF_ECC_CURVE
    linkageType: ''
    returnType: bool
    signature: bool SetCurve(const component::CurveType curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:96,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:97,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:100,1
    - Dst: md_map_sh224
      Src: /src/cryptofuzz/modules/relic/module.cpp:100,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:100,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:100,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/relic/module.cpp:101,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:104,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:107,1
    - Dst: md_map_sh256
      Src: /src/cryptofuzz/modules/relic/module.cpp:107,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:107,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:107,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/relic/module.cpp:108,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:111,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:114,1
    - Dst: md_map_sh384
      Src: /src/cryptofuzz/modules/relic/module.cpp:114,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:114,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:114,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/relic/module.cpp:115,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:118,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:121,1
    - Dst: md_map_sh512
      Src: /src/cryptofuzz/modules/relic/module.cpp:121,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:121,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:121,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/relic/module.cpp:122,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:125,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:128,1
    - Dst: md_map_b2s160
      Src: /src/cryptofuzz/modules/relic/module.cpp:128,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:128,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:128,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/relic/module.cpp:129,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:132,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:135,1
    - Dst: md_map_b2s256
      Src: /src/cryptofuzz/modules/relic/module.cpp:135,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:135,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:135,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/relic/module.cpp:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 142
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::relic::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - md_map_sh384
    - CF_NORET
    - cleartext::GetSize
    - md_map_sh256
    - digestType::Get
    - md_map_b2s160
    - cleartext::GetPtr
    - CF_DIGEST
    - md_map_sh512
    - md_map_sh224
    - md_map_b2s256
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> relic::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/relic/module.cpp:147,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:147,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:149,1
    - Dst: md_hmac
      Src: /src/cryptofuzz/modules/relic/module.cpp:149,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:149,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:149,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:149,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:149,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/relic/module.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: cryptofuzz::module::relic::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - md_hmac
    - cipher::key::GetPtr
    - CF_NORET
    - cleartext::GetSize
    - digestType::Is
    - cleartext::GetPtr
    - CF_DIGEST
    - generate_HMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> relic::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:163,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/relic/module.cpp:164,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/relic/module.cpp:165,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/relic/module.cpp:166,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:168,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:168,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/relic/module.cpp:170,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:171,1
    - Dst: bc_aes_cbc_enc
      Src: /src/cryptofuzz/modules/relic/module.cpp:172,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:174,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:174,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:175,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:175,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:176,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/relic/module.cpp:177,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/relic/module.cpp:177,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 186
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 186
    functionName: cryptofuzz::module::relic::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - bc_aes_cbc_enc
    - cipher::cipherType::Get
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - CF_CHECK_EQ
    - cleartext::GetSize
    - cleartext::GetPtr
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::component::Ciphertext::Ciphertext
    - CF_CIPHER
    - Buffer
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> relic::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:193,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/relic/module.cpp:194,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/relic/module.cpp:195,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/relic/module.cpp:196,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:198,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:198,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/relic/module.cpp:200,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:201,1
    - Dst: bc_aes_cbc_dec
      Src: /src/cryptofuzz/modules/relic/module.cpp:202,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:204,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:204,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:205,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:205,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:206,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/relic/module.cpp:207,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/relic/module.cpp:207,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 216
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 216
    functionName: cryptofuzz::module::relic::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - cipher::key::GetSize
    - component::Cleartext
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CIPHER
    - Buffer
    - cipher::iv::GetPtr
    - bc_aes_cbc_dec
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> relic::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/relic/module.cpp:223,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:223,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:224,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/relic/module.cpp:225,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:226,1
    - Dst: md_kdf
      Src: /src/cryptofuzz/modules/relic/module.cpp:226,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:226,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:226,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/relic/module.cpp:227,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_X963
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: cryptofuzz::module::relic::OpKDF_X963
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - secret::GetSize
    - secret::GetPtr
    - cryptofuzz::util::malloc
    - CF_NORET
    - info::GetSize
    - digestType::Is
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_DIGEST
    - cryptofuzz::util::free
    - md_kdf
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> relic::OpKDF_X963(operation::KDF_X963&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:240,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:240,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:247,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:247,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:250,1
    - Dst: relic_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:250,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:250,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:255,1
    - Dst: bn_is_zero
      Src: /src/cryptofuzz/modules/relic/module.cpp:255,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:255,1
    - Dst: ec_curve_get_ord
      Src: /src/cryptofuzz/modules/relic/module.cpp:258,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:258,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:259,1
    - Dst: bn_cmp
      Src: /src/cryptofuzz/modules/relic/module.cpp:259,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:259,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:259,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:263,1
    - Dst: ec_mul_gen
      Src: /src/cryptofuzz/modules/relic/module.cpp:267,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 268
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 268
    functionName: cryptofuzz::module::relic::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - ec_mul_gen
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_CHECK_EQ
    - ec_new
    - ec_curve_get_ord
    - bn_cmp
    - cryptofuzz::module::relic_detail::SetCurve
    - priv::ToString
    - relic_bignum::Bignum::Set
    - relic_bignum::Bignum::Get
    - bn_is_zero
    - modifier::GetSize
    - Get
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> relic::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:300,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:300,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/relic/module.cpp:302,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:302,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:302,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:312,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:312,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:315,1
    - Dst: relic_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:315,1
    - Dst: signature::signature::first::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:315,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:316,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:316,1
    - Dst: signature::signature::second::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:316,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:320,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:326,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:326,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:326,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:327,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:327,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:327,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:329,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:330,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:330,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:330,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:330,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:331,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:331,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:331,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:331,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:333,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:333,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/relic/module.cpp:339,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:339,1
    - Dst: Buffer::SHA256
      Src: /src/cryptofuzz/modules/relic/module.cpp:340,1
    - Dst: Buffer::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/relic/module.cpp:343,1
    - Dst: Buffer::GetVectorPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:345,1
    - Dst: cp_ecdsa_ver
      Src: /src/cryptofuzz/modules/relic/module.cpp:347,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:347,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:347,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:347,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/relic/module.cpp:347,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 355
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 355
    functionName: cryptofuzz::relic::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::first::ToTrimmedString
    - end
    - CF_DIGEST
    - Buffer::ECDSA_RandomPad
    - begin
    - Buffer::SHA256
    - modifier::GetPtr
    - Buffer::GetVectorPtr
    - cp_ecdsa_ver
    - relic_bignum::Bignum::Set
    - signature::signature::second::ToString
    - auto::size
    - std::vector::data
    - signature::signature::first::ToString
    - std::vector::insert
    - ec_free
    - Set
    - auto::data
    - std::vector::push_back
    - signature::pub::second::ToTrimmedString
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - digestType::Is
    - cryptofuzz::module::relic_detail::SetCurve
    - CF_CHECK_NE
    - ec_read_bin
    - relic_bignum::Bignum::Get
    - ec_new
    - modifier::GetSize
    - Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> relic::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:365,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:365,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:369,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:375,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:375,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:375,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:376,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:376,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:376,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:378,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:379,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:379,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:379,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:379,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:380,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:380,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:380,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:380,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:382,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:382,1
    - Dst: ec_on_curve
      Src: /src/cryptofuzz/modules/relic/module.cpp:385,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 392
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 392
    functionName: cryptofuzz::relic::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pub::first::ToTrimmedString
    - pub::second::ToTrimmedString
    - CF_CHECK_TRUE
    - std::vector::insert
    - cryptofuzz::util::DecToBin
    - end
    - begin
    - ec_on_curve
    - ec_free
    - cryptofuzz::module::relic_detail::SetCurve
    - CF_CHECK_NE
    - ec_read_bin
    - ec_new
    - std::vector::push_back
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> relic::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:396,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:396,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/relic/module.cpp:398,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/relic/module.cpp:401,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:401,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:401,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:414,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:414,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:417,1
    - Dst: relic_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:417,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:417,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:418,1
    - Dst: bn_is_zero
      Src: /src/cryptofuzz/modules/relic/module.cpp:418,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:418,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/relic/module.cpp:425,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:425,1
    - Dst: Buffer::SHA256
      Src: /src/cryptofuzz/modules/relic/module.cpp:426,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/relic/module.cpp:429,1
    - Dst: Buffer::GetVectorPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:431,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: cp_ecdsa_sig
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:436,1
    - Dst: ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:436,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:437,1
    - Dst: ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:437,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:440,1
    - Dst: ec_mul_gen
      Src: /src/cryptofuzz/modules/relic/module.cpp:443,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 444
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 444
    functionName: cryptofuzz::relic::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - cp_ecdsa_sig
    - CF_DIGEST
    - Buffer::SHA256
    - modifier::GetPtr
    - ec_new
    - Buffer::GetVectorPtr
    - priv::ToString
    - relic_bignum::Bignum::Set
    - auto::size
    - CF_CHECK_EQ
    - auto::data
    - ToString
    - cleartext::ECDSA_RandomPad
    - bn_is_zero
    - ec_mul_gen
    - CF_CHECK_TRUE
    - digestType::Is
    - cryptofuzz::module::relic_detail::SetCurve
    - CF_CHECK_NE
    - UseRandomNonce
    - relic_bignum::Bignum::Get
    - modifier::GetSize
    - Get
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> relic::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:490,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:490,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:494,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:498,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:498,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:498,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:499,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:499,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:499,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:501,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:502,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:502,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:502,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:502,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:503,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:503,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:503,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:503,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:505,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:505,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:507,1
    - Dst: ec_on_curve
      Src: /src/cryptofuzz/modules/relic/module.cpp:507,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:512,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:516,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:516,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:516,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:517,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:517,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:517,1
    - Dst: push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:519,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:520,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:520,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:520,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:520,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:521,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:521,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:521,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:521,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:523,1
    - Dst: data
      Src: /src/cryptofuzz/modules/relic/module.cpp:523,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:525,1
    - Dst: ec_on_curve
      Src: /src/cryptofuzz/modules/relic/module.cpp:525,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:529,1
    - Dst: ec_add
      Src: /src/cryptofuzz/modules/relic/module.cpp:531,1
    - Dst: ec_write_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:535,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:537,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:538,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:540,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:547,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:550,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 557
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 557
    functionName: relic::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - end
    - ec_add
    - b::second::ToTrimmedString
    - begin
    - data
    - insert
    - cryptofuzz::util::BinToDec
    - a::second::ToTrimmedString
    - std::vector::data
    - a::first::ToTrimmedString
    - std::vector::insert
    - ec_free
    - cryptofuzz::util::free
    - std::vector::push_back
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - ec_on_curve
    - cryptofuzz::module::relic_detail::SetCurve
    - CF_CHECK_NE
    - ec_read_bin
    - ec_new
    - ec_write_bin
    - push_back
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> relic::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:561,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:561,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:569,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:569,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:573,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:577,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:577,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:577,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:578,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:578,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:578,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:580,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:581,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:581,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:581,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:581,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:582,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:582,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:582,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:582,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:584,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:584,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:586,1
    - Dst: ec_on_curve
      Src: /src/cryptofuzz/modules/relic/module.cpp:586,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:590,1
    - Dst: relic_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:590,1
    - Dst: b::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:590,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:593,1
    - Dst: ec_mul
      Src: /src/cryptofuzz/modules/relic/module.cpp:595,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:595,1
    - Dst: ec_write_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:599,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:601,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:602,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:604,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:611,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 618
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 618
    functionName: relic::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - modifier::GetPtr
    - relic_bignum::Bignum::Set
    - cryptofuzz::util::BinToDec
    - a::second::ToTrimmedString
    - ec_mul
    - std::vector::data
    - a::first::ToTrimmedString
    - std::vector::insert
    - ec_free
    - cryptofuzz::util::free
    - std::vector::push_back
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - ec_on_curve
    - cryptofuzz::module::relic_detail::SetCurve
    - CF_CHECK_NE
    - ec_read_bin
    - relic_bignum::Bignum::Get
    - ec_new
    - ec_write_bin
    - b::ToString
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> relic::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:622,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:622,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:629,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:629,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:633,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:637,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:637,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:637,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:638,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:638,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:638,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:640,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:641,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:641,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:641,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:641,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:642,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:642,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:642,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:642,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:644,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:644,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:646,1
    - Dst: ec_on_curve
      Src: /src/cryptofuzz/modules/relic/module.cpp:646,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:650,1
    - Dst: ec_dbl
      Src: /src/cryptofuzz/modules/relic/module.cpp:652,1
    - Dst: ec_write_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:656,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:658,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:659,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:661,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:668,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 675
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 675
    functionName: relic::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - modifier::GetPtr
    - cryptofuzz::util::BinToDec
    - a::second::ToTrimmedString
    - std::vector::data
    - a::first::ToTrimmedString
    - std::vector::insert
    - ec_free
    - cryptofuzz::util::free
    - std::vector::push_back
    - ec_dbl
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - ec_on_curve
    - cryptofuzz::module::relic_detail::SetCurve
    - CF_CHECK_NE
    - ec_read_bin
    - ec_new
    - ec_write_bin
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> relic::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:679,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:679,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:686,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:686,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:690,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:694,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:694,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:694,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:695,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:695,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:695,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:697,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:698,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:698,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:698,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:698,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:699,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:699,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:699,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:699,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:701,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:701,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:703,1
    - Dst: ec_on_curve
      Src: /src/cryptofuzz/modules/relic/module.cpp:703,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:707,1
    - Dst: ec_neg
      Src: /src/cryptofuzz/modules/relic/module.cpp:709,1
    - Dst: ec_write_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:713,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:715,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:716,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:718,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:725,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 732
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 732
    functionName: relic::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - end
    - ec_neg
    - begin
    - modifier::GetPtr
    - cryptofuzz::util::BinToDec
    - a::second::ToTrimmedString
    - std::vector::data
    - a::first::ToTrimmedString
    - std::vector::insert
    - ec_free
    - cryptofuzz::util::free
    - std::vector::push_back
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - ec_on_curve
    - cryptofuzz::module::relic_detail::SetCurve
    - CF_CHECK_NE
    - ec_read_bin
    - ec_new
    - ec_write_bin
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> relic::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:736,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:736,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/relic/module.cpp:740,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/relic/module.cpp:740,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/relic/module.cpp:741,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/relic/module.cpp:741,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/relic/module.cpp:742,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/relic/module.cpp:742,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/relic/module.cpp:743,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/relic/module.cpp:743,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:748,1
    - Dst: relic_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:748,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:749,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:749,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:749,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:750,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:750,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:750,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:751,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:751,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:751,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:752,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:752,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:752,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:754,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:755,1
    - Dst: std::make_unique<relic_bignum::Add>
      Src: /src/cryptofuzz/modules/relic/module.cpp:756,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:758,1
    - Dst: std::make_unique<relic_bignum::Sub>
      Src: /src/cryptofuzz/modules/relic/module.cpp:759,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:761,1
    - Dst: std::make_unique<relic_bignum::Mul>
      Src: /src/cryptofuzz/modules/relic/module.cpp:762,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:764,1
    - Dst: std::make_unique<relic_bignum::Sqr>
      Src: /src/cryptofuzz/modules/relic/module.cpp:765,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:767,1
    - Dst: std::make_unique<relic_bignum::Div>
      Src: /src/cryptofuzz/modules/relic/module.cpp:768,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:770,1
    - Dst: std::make_unique<relic_bignum::GCD>
      Src: /src/cryptofuzz/modules/relic/module.cpp:771,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:773,1
    - Dst: std::make_unique<relic_bignum::ExtGCD_X>
      Src: /src/cryptofuzz/modules/relic/module.cpp:774,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:776,1
    - Dst: std::make_unique<relic_bignum::ExtGCD_Y>
      Src: /src/cryptofuzz/modules/relic/module.cpp:777,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:779,1
    - Dst: std::make_unique<relic_bignum::LCM>
      Src: /src/cryptofuzz/modules/relic/module.cpp:780,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:782,1
    - Dst: std::make_unique<relic_bignum::InvMod>
      Src: /src/cryptofuzz/modules/relic/module.cpp:783,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:785,1
    - Dst: std::make_unique<relic_bignum::LShift1>
      Src: /src/cryptofuzz/modules/relic/module.cpp:786,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:788,1
    - Dst: std::make_unique<relic_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/relic/module.cpp:789,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:791,1
    - Dst: std::make_unique<relic_bignum::Cmp>
      Src: /src/cryptofuzz/modules/relic/module.cpp:792,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:794,1
    - Dst: std::make_unique<relic_bignum::Mod>
      Src: /src/cryptofuzz/modules/relic/module.cpp:795,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:797,1
    - Dst: std::make_unique<relic_bignum::IsEven>
      Src: /src/cryptofuzz/modules/relic/module.cpp:798,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:800,1
    - Dst: std::make_unique<relic_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/relic/module.cpp:801,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:803,1
    - Dst: std::make_unique<relic_bignum::IsZero>
      Src: /src/cryptofuzz/modules/relic/module.cpp:804,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:806,1
    - Dst: std::make_unique<relic_bignum::Neg>
      Src: /src/cryptofuzz/modules/relic/module.cpp:807,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:809,1
    - Dst: std::make_unique<relic_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/relic/module.cpp:810,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:812,1
    - Dst: std::make_unique<relic_bignum::Abs>
      Src: /src/cryptofuzz/modules/relic/module.cpp:813,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:815,1
    - Dst: std::make_unique<relic_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/relic/module.cpp:816,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:818,1
    - Dst: std::make_unique<relic_bignum::NumBits>
      Src: /src/cryptofuzz/modules/relic/module.cpp:819,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:821,1
    - Dst: std::make_unique<relic_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/relic/module.cpp:822,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:824,1
    - Dst: std::make_unique<relic_bignum::RShift>
      Src: /src/cryptofuzz/modules/relic/module.cpp:825,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:827,1
    - Dst: std::make_unique<relic_bignum::Bit>
      Src: /src/cryptofuzz/modules/relic/module.cpp:828,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:830,1
    - Dst: std::make_unique<relic_bignum::SetBit>
      Src: /src/cryptofuzz/modules/relic/module.cpp:831,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:833,1
    - Dst: std::make_unique<relic_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/relic/module.cpp:834,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:838,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:839,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/relic/module.cpp:839,1
    - Dst: relic_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/relic/module.cpp:841,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 95
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 845
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 845
    functionName: relic::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<relic_bignum::ExpMod>
    - std::make_unique<relic_bignum::Mod>
    - std::make_unique<relic_bignum::ClearBit>
    - std::make_unique<relic_bignum::GCD>
    - std::make_unique<relic_bignum::Bit>
    - std::make_unique<relic_bignum::Abs>
    - std::make_unique<relic_bignum::SetBit>
    - CF_CALCOP
    - std::make_unique<relic_bignum::Mul>
    - bn2::ToString
    - modifier::GetPtr
    - std::make_unique<relic_bignum::NumBits>
    - std::make_unique<relic_bignum::CmpAbs>
    - std::make_unique<relic_bignum::RShift>
    - bn0::ToString
    - getBignum
    - std::make_unique<relic_bignum::ExtGCD_Y>
    - relic_bignum::Bignum::Set
    - std::make_unique<relic_bignum::LCM>
    - bn3::ToString
    - std::make_unique<relic_bignum::Add>
    - std::make_unique<relic_bignum::IsEven>
    - std::make_unique<relic_bignum::Sub>
    - std::make_unique<relic_bignum::IsOdd>
    - std::make_unique<relic_bignum::Sqrt>
    - CF_CHECK_EQ
    - Set
    - std::make_unique<relic_bignum::Sqr>
    - std::make_unique<relic_bignum::LShift1>
    - relic_bignum::Bignum::ToComponentBignum
    - bn1::ToString
    - calcOp::Get
    - std::make_unique<relic_bignum::ExtGCD_X>
    - std::make_unique<relic_bignum::IsZero>
    - CF_CHECK_TRUE
    - std::make_unique<relic_bignum::Div>
    - std::make_unique<relic_bignum::Cmp>
    - std::make_unique<relic_bignum::Neg>
    - std::make_unique<relic_bignum::Jacobi>
    - CF_CHECK_NE
    - std::unique_ptr::Run
    - std::make_unique<relic_bignum::InvMod>
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> relic::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: cryptofuzz::module::Geth::Geth
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Geth::Geth(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:19,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:24,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:24,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:24,1
    - Dst: std::vector<uint8_t>::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' ds'
    - v
    argTypes:
    - Datasource
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: cryptofuzz::module::Geth_detail::Pad
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::begin
    - std::vector::insert
    - Get
    - std::vector<uint8_t>::end
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Pad(Datasource& ds, const std::vector<uint8_t>
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/geth/module.cpp:29,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/geth/module.cpp:29,1
    - Dst: size
      Src: /src/cryptofuzz/modules/geth/module.cpp:29,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/geth/module.cpp:29,1
    - Dst: size
      Src: /src/cryptofuzz/modules/geth/module.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: cryptofuzz::module::Geth_detail::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Geth_GetResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:33,1
    - Dst: free
      Src: /src/cryptofuzz/modules/geth/module.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Geth_detail::getResult
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - Geth_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string getResult(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Geth_detail::getResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:40,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/geth/module.cpp:41,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/geth/module.cpp:46,1
    - Dst: cryptofuzz::module::Geth_detail::getResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:46,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/geth/module.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: cryptofuzz::module::Geth_detail::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::Geth_detail::getResult
    - abort
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> getJsonResult(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Geth_detail::getJsonResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:54,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/geth/module.cpp:57,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/geth/module.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: cryptofuzz::module::Geth_detail::parseBuffer
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - Buffer
    - abort
    - cryptofuzz::module::Geth_detail::getJsonResult
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> parseBuffer(const bool mustSucceed = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Geth_detail::getJsonResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:64,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/geth/module.cpp:67,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/geth/module.cpp:71,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/geth/module.cpp:73,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/geth/module.cpp:73,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/geth/module.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: cryptofuzz::module::Geth_detail::parseBignum
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - auto::get
    - boost::algorithm::unhex
    - abort
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::Geth_detail::getJsonResult
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> parseBignum(const bool mustSucceed
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Geth_detail::getJsonResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:79,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/geth/module.cpp:82,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/geth/module.cpp:86,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/geth/module.cpp:87,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/geth/module.cpp:89,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/geth/module.cpp:94,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/geth/module.cpp:94,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/geth/module.cpp:95,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/geth/module.cpp:95,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/geth/module.cpp:98,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/geth/module.cpp:98,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/geth/module.cpp:99,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/geth/module.cpp:100,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/geth/module.cpp:101,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/geth/module.cpp:101,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/geth/module.cpp:102,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/geth/module.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - element_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 105
    functionName: cryptofuzz::module::Geth_detail::parseG1
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - std::vector<uint8_t>
    - std::back_inserter
    - auto::get
    - boost::algorithm::unhex
    - abort
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::Geth_detail::getJsonResult
    - auto::size
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: "std::optional<component::G1> parseG1(\n            const size_t element_size,\n
      \           const bool mustSucceed = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Geth_detail::getJsonResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:108,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/geth/module.cpp:111,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/geth/module.cpp:116,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/geth/module.cpp:118,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/geth/module.cpp:118,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/geth/module.cpp:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::Geth_detail::parseBool
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - auto::get
    - boost::algorithm::unhex
    - abort
    - cryptofuzz::module::Geth_detail::getJsonResult
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> parseBool(const bool mustSucceed = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/geth/module.cpp:140,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/geth/module.cpp:140,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:141,1
    - Dst: Geth_Call
      Src: /src/cryptofuzz/modules/geth/module.cpp:142,1
    - Dst: cryptofuzz::module::Geth_detail::toGoSlice
      Src: /src/cryptofuzz/modules/geth/module.cpp:142,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/geth/module.cpp:143,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/geth/module.cpp:143,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:144,1
    - Dst: Geth_Call
      Src: /src/cryptofuzz/modules/geth/module.cpp:145,1
    - Dst: cryptofuzz::module::Geth_detail::toGoSlice
      Src: /src/cryptofuzz/modules/geth/module.cpp:145,1
    - Dst: cryptofuzz::module::Geth_detail::parseBuffer
      Src: /src/cryptofuzz/modules/geth/module.cpp:150,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/geth/module.cpp:151,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/geth/module.cpp:151,1
    - Dst: auto::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:152,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/geth/module.cpp:153,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/geth/module.cpp:153,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/geth/module.cpp:154,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/geth/module.cpp:154,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/geth/module.cpp:154,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/geth/module.cpp:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: cryptofuzz::module::Geth::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::Get
    - cryptofuzz::module::Geth_detail::toGoSlice
    - std::vector<uint8_t>
    - digestType::Is
    - auto::Get
    - Geth_Call
    - auto::data
    - CF_DIGEST
    - cryptofuzz::module::Geth_detail::parseBuffer
    - auto::size
    - Buffer
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Geth::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:165,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/geth/module.cpp:165,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:168,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/geth/module.cpp:168,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:183,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/geth/module.cpp:183,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/geth/module.cpp:184,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:184,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:185,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/geth/module.cpp:186,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:186,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:187,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:190,1
    - Dst: a::first::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:190,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:191,1
    - Dst: a::second::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:191,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:192,1
    - Dst: b::first::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:192,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:193,1
    - Dst: b::second::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:193,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:195,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:195,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:195,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:195,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:196,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:196,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:196,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:196,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:197,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:197,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:197,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:197,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:198,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:198,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:198,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:198,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/geth/module.cpp:200,1
    - Dst: Geth_Call
      Src: /src/cryptofuzz/modules/geth/module.cpp:201,1
    - Dst: cryptofuzz::module::Geth_detail::toGoSlice
      Src: /src/cryptofuzz/modules/geth/module.cpp:201,1
    - Dst: cryptofuzz::module::Geth_detail::parseG1
      Src: /src/cryptofuzz/modules/geth/module.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 208
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 208
    functionName: cryptofuzz::module::Geth::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - std::optional::begin
    - end
    - std::optional::end
    - b::second::ToTrimmedString
    - begin
    - curveType::Get
    - b::first::ToBin
    - cryptofuzz::module::Geth_detail::toGoSlice
    - a::second::ToTrimmedString
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - std::vector::insert
    - CF_CHECK_FALSE
    - a::first::ToBin
    - Geth_Call
    - b::second::ToBin
    - std::vector::end
    - CF_NORET
    - a::second::ToBin
    - CF_CHECK_NE
    - cryptofuzz::module::Geth_detail::parseG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Geth::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:216,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/geth/module.cpp:216,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:219,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/geth/module.cpp:219,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:229,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/geth/module.cpp:229,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/geth/module.cpp:230,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:230,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:231,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:234,1
    - Dst: a::first::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:234,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:235,1
    - Dst: a::second::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:235,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:236,1
    - Dst: b::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:236,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:238,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:238,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:238,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:238,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:239,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:239,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:239,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:239,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:240,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:240,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:240,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:240,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/geth/module.cpp:242,1
    - Dst: Geth_Call
      Src: /src/cryptofuzz/modules/geth/module.cpp:243,1
    - Dst: cryptofuzz::module::Geth_detail::toGoSlice
      Src: /src/cryptofuzz/modules/geth/module.cpp:243,1
    - Dst: cryptofuzz::module::Geth_detail::parseG1
      Src: /src/cryptofuzz/modules/geth/module.cpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 250
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 250
    functionName: cryptofuzz::module::Geth::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - std::optional::begin
    - end
    - std::optional::end
    - begin
    - curveType::Get
    - cryptofuzz::module::Geth_detail::toGoSlice
    - a::second::ToTrimmedString
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - std::vector::insert
    - CF_CHECK_FALSE
    - a::first::ToBin
    - Geth_Call
    - std::vector::end
    - b::ToBin
    - CF_NORET
    - a::second::ToBin
    - CF_CHECK_NE
    - cryptofuzz::module::Geth_detail::parseG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Geth::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:259,1
    - Dst: g1::first::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:259,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:260,1
    - Dst: g1::second::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:260,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:261,1
    - Dst: g2::first::first::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:261,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:262,1
    - Dst: g2::first::second::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:262,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:263,1
    - Dst: g2::second::first::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:263,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:264,1
    - Dst: g2::second::second::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:264,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:266,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:266,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:266,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:266,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:267,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:267,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:267,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:267,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:268,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:268,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:268,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:268,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:269,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:269,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:269,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:269,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:270,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:270,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:270,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:270,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:271,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:271,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:271,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:271,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/geth/module.cpp:274,1
    - Dst: Geth_Call
      Src: /src/cryptofuzz/modules/geth/module.cpp:275,1
    - Dst: cryptofuzz::module::Geth_detail::toGoSlice
      Src: /src/cryptofuzz/modules/geth/module.cpp:275,1
    - Dst: cryptofuzz::module::Geth_detail::parseBool
      Src: /src/cryptofuzz/modules/geth/module.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 282
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 282
    functionName: cryptofuzz::module::Geth::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - g2::first::first::ToBin
    - g2::second::second::ToBin
    - std::optional::begin
    - cryptofuzz::module::Geth_detail::toGoSlice
    - std::vector::insert
    - CF_NORET
    - end
    - begin
    - cryptofuzz::module::Geth_detail::parseBool
    - Geth_Call
    - g1::first::ToBin
    - CF_CHECK_NE
    - g2::first::second::ToBin
    - std::optional::end
    - g1::second::ToBin
    - g2::second::first::ToBin
    - std::vector::end
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Geth::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/geth/module.cpp:286,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/geth/module.cpp:286,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/geth/module.cpp:288,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/geth/module.cpp:288,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:291,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:294,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:297,1
    - Dst: cryptofuzz::module::Geth_detail::Pad
      Src: /src/cryptofuzz/modules/geth/module.cpp:303,1
    - Dst: bn0::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:303,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:304,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/geth/module.cpp:304,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/geth/module.cpp:304,1
    - Dst: cryptofuzz::module::Geth_detail::Pad
      Src: /src/cryptofuzz/modules/geth/module.cpp:305,1
    - Dst: bn1::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:305,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:306,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/geth/module.cpp:306,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/geth/module.cpp:306,1
    - Dst: cryptofuzz::module::Geth_detail::Pad
      Src: /src/cryptofuzz/modules/geth/module.cpp:307,1
    - Dst: bn2::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:307,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:308,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/geth/module.cpp:308,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/geth/module.cpp:308,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:309,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:309,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:309,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:309,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:310,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:310,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:310,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:310,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:311,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:311,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:311,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:311,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:312,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:312,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:312,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:312,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:313,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:313,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:313,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:313,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:314,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:314,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:314,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:314,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/geth/module.cpp:316,1
    - Dst: Geth_Call
      Src: /src/cryptofuzz/modules/geth/module.cpp:317,1
    - Dst: cryptofuzz::module::Geth_detail::toGoSlice
      Src: /src/cryptofuzz/modules/geth/module.cpp:317,1
    - Dst: cryptofuzz::module::Geth_detail::parseBignum
      Src: /src/cryptofuzz/modules/geth/module.cpp:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 323
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 323
    functionName: cryptofuzz::module::Geth::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - auto::end
    - cryptofuzz::module::Geth_detail::parseBignum
    - CF_CALCOP
    - modifier::GetPtr
    - cryptofuzz::module::Geth_detail::toGoSlice
    - calcOp::Is
    - bn2::ToTrimmedString
    - bn1::ToBin
    - bn0::ToBin
    - bn0::ToTrimmedString
    - auto::size
    - auto::begin
    - std::vector::insert
    - bn2::ToBin
    - Geth_Call
    - std::vector::end
    - cryptofuzz::module::Geth_detail::Pad
    - CF_NORET
    - cryptofuzz::util::DecToBin
    - bn1::ToTrimmedString
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Geth::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::mcl::bn::initPairing
      Src: /src/cryptofuzz/modules/mcl/module.cpp:32,1
    - Dst: ::mcl::bn::setMapToMode
      Src: /src/cryptofuzz/modules/mcl/module.cpp:33,1
    - Dst: ::mcl::bn::initPairing
      Src: /src/cryptofuzz/modules/mcl/module.cpp:35,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mcl/module.cpp:37,1
    - Dst: ::mcl::bn::verifyOrderG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:37,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mcl/module.cpp:38,1
    - Dst: ::mcl::bn::verifyOrderG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: cryptofuzz::module::mcl::mcl
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - ::mcl::bn::initPairing
    - ::mcl::bn::verifyOrderG2
    - ::mcl::bn::verifyOrderG1
    - CF_NORET
    - ::mcl::bn::setMapToMode
    linkageType: ''
    returnType: void
    signature: void mcl::mcl(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/cryptofuzz/modules/mcl/module.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/mcl/module.cpp:49,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/mcl/module.cpp:52,1
    - Dst: std::vector<std::string>
      Src: /src/cryptofuzz/modules/mcl/module.cpp:53,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: cryptofuzz::module::mcl_detail::split
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 3
    functionsReached:
    - std::vector::size
    - getline
    - std::string
    - std::vector<std::string>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split(const std::string& s, std::optional<size_t>
      expectedNumParts = std::nullopt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aug::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:69,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:70,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:71,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/mcl/module.cpp:71,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/mcl/module.cpp:71,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/mcl/module.cpp:71,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:72,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/mcl/module.cpp:72,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/mcl/module.cpp:72,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/mcl/module.cpp:72,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/mcl/module.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: cryptofuzz::module::mcl_detail::MsgAug
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - cleartext::Get
    - std::vector::insert
    - auto::end
    - aug::Get
    - Buffer
    - std::vector::end
    linkageType: ''
    returnType: Buffer
    signature: Buffer MsgAug(const T& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:78,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:79,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:79,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:80,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - component::G1
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::mcl_detail::Convert
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - G1
    - Fp
    - second::ToTrimmedString
    - first::ToTrimmedString
    linkageType: ''
    returnType: Namespace::G1
    signature: Namespace::G1 Convert(const component::G1& g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:84,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:85,1
    - Dst: first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:85,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:85,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:85,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:86,1
    - Dst: first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:86,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:86,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - component::G2
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: cryptofuzz::module::mcl_detail::Convert
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - Fp
    - G2
    - first::second::ToTrimmedString
    - first::first::ToTrimmedString
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: Namespace::G2
    signature: Namespace::G2 Convert(const component::G2& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Namespace::G1::normalize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:90,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/modules/mcl/module.cpp:91,1
    - Dst: Namespace::G1::getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g1
    argTypes:
    - Namespace::G1
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: cryptofuzz::module::mcl_detail::ToComponentG1
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Namespace::G1::getStr
    - Namespace::G1::normalize
    - cryptofuzz::module::mcl_detail::split
    linkageType: ''
    returnType: component::G1
    signature: component::G1 ToComponentG1(Namespace::G1 g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Namespace::G2::normalize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:97,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/modules/mcl/module.cpp:98,1
    - Dst: Namespace::G2::getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g2
    argTypes:
    - Namespace::G2
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: cryptofuzz::module::mcl_detail::ToComponentG2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Namespace::G2::getStr
    - Namespace::G2::normalize
    - cryptofuzz::module::mcl_detail::split
    linkageType: ''
    returnType: component::G2
    signature: component::G2 ToComponentG2(Namespace::G2 g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/modules/mcl/module.cpp:103,1
    - Dst: Namespace::Fp2::getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp2
    argTypes:
    - Namespace::Fp2
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: cryptofuzz::module::mcl_detail::ToComponentFp2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Namespace::Fp2::getStr
    - cryptofuzz::module::mcl_detail::split
    linkageType: ''
    returnType: component::Fp2
    signature: component::Fp2 ToComponentFp2(Namespace::Fp2 fp2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/modules/mcl/module.cpp:108,1
    - Dst: Namespace::Fp12::getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp12
    argTypes:
    - Namespace::Fp12
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: cryptofuzz::module::mcl_detail::ToComponentFp12
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Namespace::Fp12::getStr
    - cryptofuzz::module::mcl_detail::split
    linkageType: ''
    returnType: component::Fp12
    signature: component::Fp12 ToComponentFp12(Namespace::Fp12 fp12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:127,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:128,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:129,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:131,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:132,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: cryptofuzz::module::mcl_detail::Generator
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - Botan::CurveGFp::CurveGFp
    linkageType: ''
    returnType: Namespace::G1
    signature: Namespace::G1 Generator(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:139,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:140,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:141,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:142,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:143,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:145,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:146,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:147,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:148,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: cryptofuzz::module::mcl_detail::Generator_G2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::CurveGFp::CurveGFp
    - cryptofuzz::component::G2::G2
    linkageType: ''
    returnType: Namespace::G2
    signature: Namespace::G2 Generator_G2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Namespace::Fp::setHashOf
      Src: /src/cryptofuzz/modules/mcl/module.cpp:156,1
    - Dst: Namespace::mapToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' P'
    - ' m'
    argTypes:
    - Namespace::G1
    - std::string
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: cryptofuzz::module::mcl_detail::Hash
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Namespace::Fp::setHashOf
    - Namespace::mapToG1
    linkageType: ''
    returnType: void
    signature: void Hash(Namespace::G1& P, const std::string& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Namespace::Fp::setHashOf
      Src: /src/cryptofuzz/modules/mcl/module.cpp:163,1
    - Dst: Namespace::mapToG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:164,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' P'
    - ' m'
    argTypes:
    - Namespace::G2
    - std::string
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: cryptofuzz::module::mcl_detail::Hash
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Namespace::Fp::setHashOf
    - Namespace::mapToG2
    - cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
    linkageType: ''
    returnType: void
    signature: void Hash(Namespace::G2& P, const std::string& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::mcl_detail::Hash
      Src: /src/cryptofuzz/modules/mcl/module.cpp:170,1
    - Dst: cryptofuzz_secp256k1_scalar_mul
      Src: /src/cryptofuzz/modules/mcl/module.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' sign'
    - ' s'
    - ' m'
    argTypes:
    - Namespace::G2
    - Namespace::Fr
    - std::string
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: cryptofuzz::module::mcl_detail::Sign
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::mcl_detail::Hash
    - cryptofuzz_secp256k1_scalar_mul
    linkageType: ''
    returnType: void
    signature: void Sign(Namespace::G2& sign, const Namespace::Fr& s, const std::string&
      m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:178,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:178,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/mcl/module.cpp:180,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:182,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mcl/module.cpp:183,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mcl/module.cpp:187,1
    - Dst: cybozu::Sha256::update
      Src: /src/cryptofuzz/modules/mcl/module.cpp:187,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:190,1
    - Dst: cybozu::Sha256::digest
      Src: /src/cryptofuzz/modules/mcl/module.cpp:190,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mcl/module.cpp:194,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mcl/module.cpp:198,1
    - Dst: cybozu::Sha512::update
      Src: /src/cryptofuzz/modules/mcl/module.cpp:198,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:201,1
    - Dst: cybozu::Sha512::digest
      Src: /src/cryptofuzz/modules/mcl/module.cpp:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 208
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 208
    functionName: cryptofuzz::module::mcl::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - CF_NORET
    - digestType::Get
    - cybozu::Sha512::update
    - CF_ASSERT
    - CF_DIGEST
    - cybozu::Sha512::digest
    - cybozu::Sha256::digest
    - modifier::GetSize
    - cybozu::Sha256::update
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> mcl::OpDigest(operation::Digest& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:213,1
    - Dst: Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:221,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:221,1
    - Dst: cryptofuzz_secp256k1_scalar_mul
      Src: /src/cryptofuzz/modules/mcl/module.cpp:224,1
    - Dst: cryptofuzz::module::mcl_detail::Generator
      Src: /src/cryptofuzz/modules/mcl/module.cpp:224,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:226,1
    - Dst: priv::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:228,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 234
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 234
    functionName: cryptofuzz::module::mcl::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Fr::setStr
    - CF_ASSERT
    - cryptofuzz_secp256k1_scalar_mul
    - priv::IsGreaterThan
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - priv::ToTrimmedString
    - cryptofuzz::module::mcl_detail::Generator
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> mcl::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:239,1
    - Dst: Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:247,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:247,1
    - Dst: cryptofuzz_secp256k1_scalar_mul
      Src: /src/cryptofuzz/modules/mcl/module.cpp:250,1
    - Dst: cryptofuzz::module::mcl_detail::Generator_G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:250,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:252,1
    - Dst: priv::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:254,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 260
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 260
    functionName: cryptofuzz::module::mcl::OpBLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Fr::setStr
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - cryptofuzz_secp256k1_scalar_mul
    - priv::IsGreaterThan
    - CF_ASSERT
    - priv::ToTrimmedString
    - cryptofuzz::module::mcl_detail::Generator_G2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> mcl::OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:264,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:264,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:266,1
    - Dst: Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:273,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:273,1
    - Dst: cryptofuzz::module::mcl_detail::MsgAug
      Src: /src/cryptofuzz/modules/mcl/module.cpp:278,1
    - Dst: mapTo::mapTo_WB19_::msgToG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:279,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:279,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:279,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:279,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:279,1
    - Dst: cryptofuzz_secp256k1_scalar_mul
      Src: /src/cryptofuzz/modules/mcl/module.cpp:280,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:282,1
    - Dst: cryptofuzz_secp256k1_scalar_mul
      Src: /src/cryptofuzz/modules/mcl/module.cpp:283,1
    - Dst: cryptofuzz_secp256k1_scalar_mul
      Src: /src/cryptofuzz/modules/mcl/module.cpp:287,1
    - Dst: cryptofuzz::module::mcl_detail::Generator
      Src: /src/cryptofuzz/modules/mcl/module.cpp:287,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:289,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:289,1
    - Dst: priv::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:299,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 306
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 306
    functionName: cryptofuzz::module::mcl::OpBLS_Sign
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - mapTo::mapTo_WB19_::msgToG2
    - modifier::GetPtr
    - auto::GetPtr
    - Fr::setStr
    - auto::GetSize
    - cryptofuzz::module::mcl_detail::MsgAug
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - dest::GetPtr
    - CF_ASSERT
    - cryptofuzz_secp256k1_scalar_mul
    - dest::GetSize
    - cryptofuzz::module::mcl_detail::Convert
    - priv::IsGreaterThan
    - modifier::GetSize
    - priv::ToTrimmedString
    - cryptofuzz::module::mcl_detail::Generator
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> mcl::OpBLS_Sign(operation::BLS_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:310,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:310,1
    - Dst: dest::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:312,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:318,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:319,1
    - Dst: mapToG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 328
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 328
    functionName: cryptofuzz::module::mcl::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - mapToG2
    - dest::Get
    - cryptofuzz::module::mcl_detail::Convert
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mcl::OpBLS_Verify(operation::BLS_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:332,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:332,1
    - Dst: Namespace::Fp12::setOne
      Src: /src/cryptofuzz/modules/mcl/module.cpp:335,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:339,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/mcl/module.cpp:340,1
    - Dst: auto::isValid
      Src: /src/cryptofuzz/modules/mcl/module.cpp:340,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:342,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/mcl/module.cpp:343,1
    - Dst: auto::isValid
      Src: /src/cryptofuzz/modules/mcl/module.cpp:343,1
    - Dst: Namespace::millerLoop
      Src: /src/cryptofuzz/modules/mcl/module.cpp:346,1
    - Dst: Namespace::finalExp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:353,1
    - Dst: Namespace::Fp12::isOne
      Src: /src/cryptofuzz/modules/mcl/module.cpp:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 358
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 358
    functionName: cryptofuzz::module::mcl::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - auto::isValid
    - Namespace::millerLoop
    - Namespace::Fp12::isOne
    - cryptofuzz::module::mcl_detail::Convert
    - modifier::GetSize
    - Namespace::Fp12::setOne
    - Namespace::finalExp
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mcl::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:362,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:362,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:367,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:370,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:377,1
    - Dst: precomputeG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:383,1
    - Dst: precomputedMillerLoop
      Src: /src/cryptofuzz/modules/mcl/module.cpp:384,1
    - Dst: millerLoop
      Src: /src/cryptofuzz/modules/mcl/module.cpp:386,1
    - Dst: finalExp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:389,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 398
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 398
    functionName: cryptofuzz::module::mcl::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - millerLoop
    - cryptofuzz::module::mcl_detail::ToComponentFp12
    - finalExp
    - precomputeG2
    - cryptofuzz::module::mcl_detail::Convert
    - modifier::GetSize
    - Datasource::Get
    - precomputedMillerLoop
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> mcl::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:402,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:402,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:407,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:408,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:409,1
    - Dst: fp12::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:410,1
    - Dst: fp12::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:411,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:413,1
    - Dst: fp12::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:414,1
    - Dst: fp12::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:415,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:417,1
    - Dst: fp12::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:418,1
    - Dst: fp12::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:419,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:422,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:423,1
    - Dst: fp12::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:424,1
    - Dst: fp12::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:425,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:427,1
    - Dst: fp12::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:428,1
    - Dst: fp12::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:429,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:431,1
    - Dst: fp12::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:432,1
    - Dst: fp12::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:433,1
    - Dst: finalExp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:439,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 447
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 447
    functionName: cryptofuzz::module::mcl::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::mcl_detail::ToComponentFp12
    - fp12::bn3::ToTrimmedString
    - fp12::bn2::ToTrimmedString
    - modifier::GetPtr
    - ::mcl::bn::Fp6
    - fp12::bn6::ToTrimmedString
    - fp12::bn5::ToTrimmedString
    - fp12::bn4::ToTrimmedString
    - fp12::bn10::ToTrimmedString
    - finalExp
    - fp12::bn8::ToTrimmedString
    - fp12::bn1::ToTrimmedString
    - cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
    - cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
    - fp12::bn9::ToTrimmedString
    - fp12::bn11::ToTrimmedString
    - modifier::GetSize
    - fp12::bn12::ToTrimmedString
    - fp12::bn7::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> mcl::OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:455,1
    - Dst: g1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:455,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:456,1
    - Dst: g1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:456,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 467
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 467
    functionName: cryptofuzz::module::mcl::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - g1::second::ToTrimmedString
    - Fp
    - g1::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mcl::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:475,1
    - Dst: g2::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:475,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:476,1
    - Dst: g2::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:476,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:477,1
    - Dst: g2::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:477,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:478,1
    - Dst: g2::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:478,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 489
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 489
    functionName: cryptofuzz::module::mcl::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - g2::second::second::ToTrimmedString
    - Fp
    - g2::first::second::ToTrimmedString
    - g2::second::first::ToTrimmedString
    - cryptofuzz::component::G2::G2
    - g2::first::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mcl::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:493,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:493,1
    - Dst: cryptofuzz::module::mcl_detail::MsgAug
      Src: /src/cryptofuzz/modules/mcl/module.cpp:497,1
    - Dst: mapTo::mapTo_WB19_::msgToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:498,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:498,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:498,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:498,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:498,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 505
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 505
    functionName: cryptofuzz::module::mcl::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - auto::GetPtr
    - modifier::GetPtr
    - auto::GetSize
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - cryptofuzz::module::mcl_detail::MsgAug
    - mapTo::mapTo_WB19_::msgToG1
    - dest::GetPtr
    - dest::GetSize
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> mcl::OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:509,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:509,1
    - Dst: cryptofuzz::module::mcl_detail::MsgAug
      Src: /src/cryptofuzz/modules/mcl/module.cpp:513,1
    - Dst: mapTo::mapTo_WB19_::msgToG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:514,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:514,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:514,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:514,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:514,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 521
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 521
    functionName: cryptofuzz::module::mcl::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - mapTo::mapTo_WB19_::msgToG2
    - auto::GetPtr
    - modifier::GetPtr
    - auto::GetSize
    - cryptofuzz::module::mcl_detail::MsgAug
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - dest::GetPtr
    - dest::GetSize
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> mcl::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:525,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:525,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:531,1
    - Dst: u::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:531,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:532,1
    - Dst: v::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:532,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mcl/module.cpp:536,1
    - Dst: mapTo::mapTo_WB19_::FpToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:536,1
    - Dst: G1::isValid
      Src: /src/cryptofuzz/modules/mcl/module.cpp:538,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG1
    constantsTouched: []
    func_position:
      end: 546
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 546
    functionName: cryptofuzz::module::mcl::OpBLS_MapToG1
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - u::ToTrimmedString
    - modifier::GetPtr
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - CF_NORET
    - ::mcl::bn::Fp::setStr
    - setStr
    - v::ToTrimmedString
    - G1::isValid
    - mapTo::mapTo_WB19_::FpToG1
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> mcl::OpBLS_MapToG1(operation::BLS_MapToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:550,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:550,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:556,1
    - Dst: u::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:557,1
    - Dst: u::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:558,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:559,1
    - Dst: v::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:560,1
    - Dst: v::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:561,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mcl/module.cpp:565,1
    - Dst: mapTo::mapTo_WB19_::Fp2ToG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:565,1
    - Dst: G2::isValid
      Src: /src/cryptofuzz/modules/mcl/module.cpp:567,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG2
    constantsTouched: []
    func_position:
      end: 575
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 575
    functionName: cryptofuzz::module::mcl::OpBLS_MapToG2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - v::first::ToTrimmedString
    - modifier::GetPtr
    - cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
    - CF_NORET
    - mapTo::mapTo_WB19_::Fp2ToG2
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - u::first::ToTrimmedString
    - u::second::ToTrimmedString
    - G2::isValid
    - v::second::ToTrimmedString
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> mcl::OpBLS_MapToG2(operation::BLS_MapToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:584,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:584,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:585,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:585,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:586,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:586,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:587,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:587,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:594,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:595,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 605
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 605
    functionName: cryptofuzz::module::mcl::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - Fp
    - a::first::ToTrimmedString
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - b::second::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - a::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> mcl::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:615,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:615,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:616,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:616,1
    - Dst: Fr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:618,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:618,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:625,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 635
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 635
    functionName: cryptofuzz::module::mcl::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Fp
    - a::first::ToTrimmedString
    - b::ToTrimmedString
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - a::second::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - Fr
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> mcl::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:644,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:644,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:645,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:645,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:646,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:646,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:647,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:647,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:654,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 663
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 663
    functionName: cryptofuzz::module::mcl::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - Fp
    - a::first::ToTrimmedString
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - b::second::ToTrimmedString
    - a::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mcl::OpBLS_G1_IsEq(operation::BLS_G1_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:672,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:672,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:673,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:673,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:680,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 690
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 690
    functionName: cryptofuzz::module::mcl::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Fp
    - a::first::ToTrimmedString
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - a::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> mcl::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:700,1
    - Dst: a::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:700,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:701,1
    - Dst: a::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:701,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:702,1
    - Dst: a::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:702,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:703,1
    - Dst: a::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:703,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:705,1
    - Dst: b::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:705,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:706,1
    - Dst: b::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:706,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:707,1
    - Dst: b::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:707,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:708,1
    - Dst: b::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:708,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:715,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:716,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 726
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 726
    functionName: cryptofuzz::module::mcl::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::first::ToTrimmedString
    - a::first::second::ToTrimmedString
    - Fp
    - a::second::first::ToTrimmedString
    - a::second::second::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - b::second::second::ToTrimmedString
    - cryptofuzz::component::G2::G2
    - b::first::second::ToTrimmedString
    - b::second::first::ToTrimmedString
    - a::first::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> mcl::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:736,1
    - Dst: a::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:736,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:737,1
    - Dst: a::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:737,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:738,1
    - Dst: a::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:738,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:739,1
    - Dst: a::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:739,1
    - Dst: Fr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:741,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:741,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:748,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 758
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 758
    functionName: cryptofuzz::module::mcl::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - a::first::second::ToTrimmedString
    - Fp
    - a::second::first::ToTrimmedString
    - b::ToTrimmedString
    - a::second::second::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - cryptofuzz::component::G2::G2
    - a::first::first::ToTrimmedString
    - Fr
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> mcl::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:768,1
    - Dst: a::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:768,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:769,1
    - Dst: a::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:769,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:770,1
    - Dst: a::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:770,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:771,1
    - Dst: a::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:771,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:773,1
    - Dst: b::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:773,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:774,1
    - Dst: b::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:774,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:775,1
    - Dst: b::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:775,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:776,1
    - Dst: b::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:776,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:783,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 792
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 792
    functionName: cryptofuzz::module::mcl::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::first::ToTrimmedString
    - a::first::second::ToTrimmedString
    - Fp
    - a::second::first::ToTrimmedString
    - a::second::second::ToTrimmedString
    - b::second::second::ToTrimmedString
    - cryptofuzz::component::G2::G2
    - b::first::second::ToTrimmedString
    - b::second::first::ToTrimmedString
    - a::first::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mcl::OpBLS_G2_IsEq(operation::BLS_G2_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:801,1
    - Dst: a::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:801,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:802,1
    - Dst: a::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:802,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:803,1
    - Dst: a::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:803,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:804,1
    - Dst: a::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:804,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:811,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 821
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 821
    functionName: cryptofuzz::module::mcl::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - a::first::second::ToTrimmedString
    - Fp
    - a::second::first::ToTrimmedString
    - a::second::second::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - cryptofuzz::component::G2::G2
    - a::first::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> mcl::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' A'
    - ' B'
    argTypes:
    - fuzzing::datasource::Datasource
    - T
    - T
    constantsTouched: []
    func_position:
      end: 836
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 836
    functionName: cryptofuzz::module::mcl_detail::UseParamTwice
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool UseParamTwice(fuzzing::datasource::Datasource& ds, const T& A,
      const T& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 845
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 845
    functionName: cryptofuzz::module::mcl_detail::GetMod3
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetMod3(fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:852,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:852,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:870,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:875,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:876,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:877,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:877,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:878,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:878,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:879,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:880,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:881,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:882,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:882,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:883,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:883,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:884,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:885,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:886,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:887,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:887,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:888,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:888,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:889,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:890,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:891,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:893,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:893,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:894,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mcl/module.cpp:895,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:896,1
    - Dst: cryptofuzz_secp256k1_fe_inv
      Src: /src/cryptofuzz/modules/mcl/module.cpp:897,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:898,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:900,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:902,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:902,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:903,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:904,1
    - Dst: cryptofuzz_secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:905,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:906,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:908,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:910,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:910,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:911,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:912,1
    - Dst: cryptofuzz_secp256k1_gej_neg
      Src: /src/cryptofuzz/modules/mcl/module.cpp:913,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:914,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:916,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:918,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:918,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:919,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:920,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:921,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:922,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:924,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:926,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:926,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:927,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:927,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:928,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:929,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:929,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:931,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:933,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:933,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:934,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:934,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:935,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:936,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:936,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:938,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:940,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:940,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:941,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:941,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:942,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:943,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:943,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:945,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:947,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:947,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:948,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:948,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:949,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:950,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:950,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:952,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:954,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:954,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:955,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:955,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:956,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:957,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:957,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:959,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:961,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:961,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:962,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:963,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:964,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:964,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:966,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:968,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:968,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:969,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:970,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:971,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:971,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:973,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:975,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:975,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:976,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:977,1
    - Dst: ::mcl::bn::Fr*::isOdd
      Src: /src/cryptofuzz/modules/mcl/module.cpp:978,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:978,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:978,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:980,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:982,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:982,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:983,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:984,1
    - Dst: ::mcl::bn::Fr*::isOdd
      Src: /src/cryptofuzz/modules/mcl/module.cpp:985,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:985,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:985,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:987,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:989,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:989,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:990,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:991,1
    - Dst: ::mcl::bn::Fr::squareRoot
      Src: /src/cryptofuzz/modules/mcl/module.cpp:992,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:993,1
    - Dst: cryptofuzz_secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:995,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:996,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:998,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1000,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1000,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1001,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1001,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1002,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::pow
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1003,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1004,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1006,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1008,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1008,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1009,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1009,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1010,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1012,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1014,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1016,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1018,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1021,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1022,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1022,1
    - Dst: ::mcl::bn::Fr::getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1023,1
    - Dst: bn0::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1027,1
    - Dst: bn1::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1028,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1029,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1034,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1039,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1040,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1041,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1041,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1042,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1042,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1043,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1044,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1045,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1046,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1046,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1047,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1047,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1048,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1049,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1050,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1051,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1051,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1052,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1052,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1053,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1054,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1055,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1057,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1057,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1058,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1059,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1060,1
    - Dst: cryptofuzz_secp256k1_fe_inv
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1061,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1062,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1064,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1066,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1066,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1067,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1068,1
    - Dst: cryptofuzz_secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1069,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1070,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1072,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1074,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1074,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1075,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1076,1
    - Dst: cryptofuzz_secp256k1_gej_neg
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1077,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1078,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1080,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1082,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1082,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1083,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1084,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1085,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1086,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1088,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1090,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1090,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1091,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1091,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1092,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1093,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1093,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1095,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1097,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1097,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1098,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1098,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1099,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1100,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1100,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1102,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1104,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1104,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1105,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1105,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1106,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1107,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1107,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1109,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1111,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1111,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1112,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1112,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1113,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1114,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1114,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1116,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1118,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1118,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1119,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1119,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1120,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1121,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1121,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1123,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1125,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1125,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1126,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1127,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1128,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1128,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1130,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1132,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1132,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1133,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1134,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1135,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1135,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1137,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1139,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1139,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1140,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1141,1
    - Dst: ::mcl::bn::Fp*::isOdd
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1142,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1142,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1142,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1144,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1146,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1146,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1147,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1148,1
    - Dst: ::mcl::bn::Fp*::isOdd
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1149,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1149,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1149,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1151,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1153,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1153,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1154,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1154,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1155,1
    - Dst: ::mcl::bn::Fp::divBy2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1159,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1160,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1162,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1164,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1164,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1165,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1166,1
    - Dst: ::mcl::bn::Fp::squareRoot
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1167,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1168,1
    - Dst: cryptofuzz_secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1170,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1171,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1173,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1175,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1175,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1176,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1176,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1177,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::pow
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1178,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1179,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1181,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1183,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1183,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1184,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1184,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1185,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1187,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1189,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1191,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1193,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1196,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1197,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1197,1
    - Dst: ::mcl::bn::Fp::getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1198,1
    - Dst: bn0::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1202,1
    - Dst: bn1::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1203,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1204,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 307
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1213
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 1213
    functionName: cryptofuzz::module::mcl::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - ::mcl::bn::Fr::squareRoot
    - std::string
    - CF_UNREACHABLE
    - CF_ASSERT
    - getStr
    - CF_CALCOP
    - PREPARE_BN
    - bn1::IsGreaterThan
    - modifier::GetPtr
    - setStr
    - ::mcl::bn::Fp::setStr
    - ::mcl::bn::Fp*::isOdd
    - ::mcl::bn::Fr::setStr
    - bn0::ToTrimmedString
    - cryptofuzz::mutator::ExpModGenerator::pow
    - ::mcl::bn::Fp::divBy2
    - Botan::PCurve::GenericField::mul2
    - cryptofuzz_secp256k1_fe_sqr
    - ::mcl::bn::Fp::getStr
    - calcOp::Get
    - ::mcl::bn::Fp::squareRoot
    - ::mcl::bn::Fr*::isOdd
    - modulo::ToTrimmedString
    - cryptofuzz_secp256k1_fe_inv
    - bn1::ToTrimmedString
    - bn0::IsGreaterThan
    - ::mcl::bn::Fr::getStr
    - CF_CHECK_NE
    - cryptofuzz_secp256k1_gej_neg
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> mcl::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1220,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1221,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1222,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1223,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1224,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1225,1
    - Dst: bn1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1226,1
    - Dst: bn1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1227,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1229,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1230,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1231,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1232,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1233,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1234,1
    - Dst: bn1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1235,1
    - Dst: bn1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1236,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1238,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1239,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1240,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1241,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1242,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1243,1
    - Dst: bn1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1244,1
    - Dst: bn1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1245,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1247,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1248,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1249,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1250,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1251,1
    - Dst: ::mcl::bn::Fp2::isZero
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1253,1
    - Dst: cryptofuzz_secp256k1_fe_inv
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1254,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1255,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1258,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1259,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1260,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1261,1
    - Dst: ::mcl::bn::Fp2::squareRoot
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1262,1
    - Dst: cryptofuzz_secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1265,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1266,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1268,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1269,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1270,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1271,1
    - Dst: cryptofuzz_secp256k1_gej_neg
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1272,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1273,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1274,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1275,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1276,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1277,1
    - Dst: cryptofuzz_secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1278,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1279,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1280,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1281,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1282,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1283,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1284,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 1291
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1291
    functionName: cryptofuzz::module::mcl::OpBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - ::mcl::bn::Fp2::isZero
    - cryptofuzz::module::mcl_detail::ToComponentFp2
    - bn0::first::ToTrimmedString
    - cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
    - bn1::second::ToTrimmedString
    - bn0::second::ToTrimmedString
    - cryptofuzz_secp256k1_fe_inv
    - Botan::PCurve::GenericField::mul2
    - bn1::first::ToTrimmedString
    - cryptofuzz_secp256k1_fe_sqr
    - cryptofuzz_secp256k1_gej_neg
    - ::mcl::bn::Fp2::squareRoot
    - calcOp::Get
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> mcl::OpBignumCalc_Fp2(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1298,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1299,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1300,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1301,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1302,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1303,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1304,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1306,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1307,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1308,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1310,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1311,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1312,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1315,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1316,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1317,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1318,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1320,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1321,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1322,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1324,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1325,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1326,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1330,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1331,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1332,1
    - Dst: bn1::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1333,1
    - Dst: bn1::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1334,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1336,1
    - Dst: bn1::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1337,1
    - Dst: bn1::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1338,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1340,1
    - Dst: bn1::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1341,1
    - Dst: bn1::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1342,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1345,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1346,1
    - Dst: bn1::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1347,1
    - Dst: bn1::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1348,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1350,1
    - Dst: bn1::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1351,1
    - Dst: bn1::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1352,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1354,1
    - Dst: bn1::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1355,1
    - Dst: bn1::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1356,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1360,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1361,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1362,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1363,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1364,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1365,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1366,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1368,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1369,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1370,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1372,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1373,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1374,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1377,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1378,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1379,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1380,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1382,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1383,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1384,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1386,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1387,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1388,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1392,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1393,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1394,1
    - Dst: bn1::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1395,1
    - Dst: bn1::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1396,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1398,1
    - Dst: bn1::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1399,1
    - Dst: bn1::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1400,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1402,1
    - Dst: bn1::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1403,1
    - Dst: bn1::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1404,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1407,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1408,1
    - Dst: bn1::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1409,1
    - Dst: bn1::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1410,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1412,1
    - Dst: bn1::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1413,1
    - Dst: bn1::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1414,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1416,1
    - Dst: bn1::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1417,1
    - Dst: bn1::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1418,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1422,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1423,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1424,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1425,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1426,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1427,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1428,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1430,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1431,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1432,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1434,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1435,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1436,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1439,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1440,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1441,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1442,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1444,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1445,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1446,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1448,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1449,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1450,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1454,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1455,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1456,1
    - Dst: bn1::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1457,1
    - Dst: bn1::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1458,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1460,1
    - Dst: bn1::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1461,1
    - Dst: bn1::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1462,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1464,1
    - Dst: bn1::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1465,1
    - Dst: bn1::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1466,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1469,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1470,1
    - Dst: bn1::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1471,1
    - Dst: bn1::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1472,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1474,1
    - Dst: bn1::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1475,1
    - Dst: bn1::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1476,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1478,1
    - Dst: bn1::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1479,1
    - Dst: bn1::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1480,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1484,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1485,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1486,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1487,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1488,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1489,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1490,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1492,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1493,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1494,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1496,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1497,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1498,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1501,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1502,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1503,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1504,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1506,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1507,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1508,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1510,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1511,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1512,1
    - Dst: ::mcl::bn::Fp12::isZero
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1517,1
    - Dst: cryptofuzz_secp256k1_fe_inv
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1518,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1519,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1522,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1523,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1524,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1525,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1526,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1527,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1529,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1530,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1531,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1533,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1534,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1535,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1538,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1539,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1540,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1541,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1543,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1544,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1545,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1547,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1548,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1549,1
    - Dst: cryptofuzz_secp256k1_gej_neg
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1553,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1554,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1555,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1556,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1557,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1558,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1559,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1560,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1562,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1563,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1564,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1566,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1567,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1568,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1571,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1572,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1573,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1574,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1576,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1577,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1578,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1580,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1581,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1582,1
    - Dst: ::mcl::bn::Fp12::unitaryInv
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1586,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1587,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1588,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1589,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1590,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1591,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1592,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1593,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1595,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1596,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1597,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1599,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1600,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1601,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1604,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1605,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1606,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1607,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1609,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1610,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1611,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1613,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1614,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1615,1
    - Dst: cryptofuzz_secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1619,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1620,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1622,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1623,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1624,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1625,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1626,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1627,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1629,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1630,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1631,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1633,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1634,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1635,1
    - Dst: ::mcl::bn::Fp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1638,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1639,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1640,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1641,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1643,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1644,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1645,1
    - Dst: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1647,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1648,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1649,1
    - Dst: ::mcl::bn::Fp12::isZero
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1653,1
    - Dst: ::mcl::bn::local::mapToCyclotomic
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1654,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 1664
      start: 1293
    functionDepth: 1
    functionLinenumber: 1293
    functionLinenumberEnd: 1664
    functionName: cryptofuzz::module::mcl::OpBignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - bn1::bn7::ToTrimmedString
    - bn1::bn12::ToTrimmedString
    - bn1::bn9::ToTrimmedString
    - bn1::bn10::ToTrimmedString
    - bn0::bn1::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentFp12
    - bn0::bn5::ToTrimmedString
    - bn0::bn9::ToTrimmedString
    - CF_CALCOP
    - ::mcl::bn::Fp12::unitaryInv
    - bn1::bn1::ToTrimmedString
    - bn1::bn2::ToTrimmedString
    - bn1::bn6::ToTrimmedString
    - ::mcl::bn::Fp6
    - ::mcl::bn::local::mapToCyclotomic
    - bn0::bn12::ToTrimmedString
    - bn1::bn11::ToTrimmedString
    - bn0::bn8::ToTrimmedString
    - bn0::bn10::ToTrimmedString
    - bn0::bn7::ToTrimmedString
    - cryptofuzz_secp256k1_fe_sqr
    - bn0::bn4::ToTrimmedString
    - bn0::bn11::ToTrimmedString
    - bn1::bn5::ToTrimmedString
    - calcOp::Get
    - cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
    - cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
    - bn1::bn8::ToTrimmedString
    - bn0::bn2::ToTrimmedString
    - bn0::bn6::ToTrimmedString
    - cryptofuzz_secp256k1_fe_inv
    - bn1::bn3::ToTrimmedString
    - bn1::bn4::ToTrimmedString
    - bn0::bn3::ToTrimmedString
    - cryptofuzz_secp256k1_gej_neg
    - ::mcl::bn::Fp12::isZero
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> mcl::OpBignumCalc_Fp12(operation::BignumCalc_Fp12&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1668
    functionName: cryptofuzz::module::mcl::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mcl::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff::init_bls12_381_params
      Src: /src/cryptofuzz/modules/libff/module.cpp:48,1
    - Dst: libff::init_edwards_params
      Src: /src/cryptofuzz/modules/libff/module.cpp:49,1
    - Dst: libff::init_alt_bn128_params
      Src: /src/cryptofuzz/modules/libff/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::_libff::_libff
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff::init_bls12_381_params
    - libff::init_alt_bn128_params
    - libff::init_edwards_params
    linkageType: ''
    returnType: void
    signature: void _libff::_libff(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/libff/module.cpp:67,1
    - Dst: as_bigint
      Src: /src/cryptofuzz/modules/libff/module.cpp:68,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/libff/module.cpp:70,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:71,1
    - Dst: free
      Src: /src/cryptofuzz/modules/libff/module.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: cryptofuzz::module::libff_detail::ToString
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - as_bigint
    - free
    - mpz_init
    - std::string
    - mpz_clear
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const T& f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_well_formed
      Src: /src/cryptofuzz/modules/libff/module.cpp:79,1
    - Dst: cryptofuzz::module::blst_detail::OpBignumCalc_order
      Src: /src/cryptofuzz/modules/libff/module.cpp:79,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' point'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::libff_detail::IsValid
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - is_well_formed
    - cryptofuzz_secp256k1_scalar_is_zero
    - cryptofuzz::module::blst_detail::OpBignumCalc_order
    linkageType: ''
    returnType: bool
    signature: bool IsValid(const Type& point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:82,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:83,1
    - Dst: G1Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:85,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:86,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:86,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:87,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:87,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/modules/libff/module.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' g1'
    - ' ds'
    argTypes:
    - component::G1
    - Datasource
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: cryptofuzz::module::libff_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - FqType
    - second::GetSize
    - G1Type
    - second::ToString
    - first::ToString
    - cryptofuzz::crypto::impl::sha1_done
    - first::GetSize
    linkageType: ''
    returnType: std::optional<G1Type>
    signature: std::optional<G1Type> Load(const component::G1& g1, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::first::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:93,1
    - Dst: first::second::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:94,1
    - Dst: second::first::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:95,1
    - Dst: second::second::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:96,1
    - Dst: G2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:98,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:99,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:100,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:100,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:101,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:101,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:103,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:104,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:104,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:105,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:105,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/modules/libff/module.cpp:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' g2'
    - ' ds'
    argTypes:
    - component::G2
    - Datasource
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::libff_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - FqType
    - second::first::GetSize
    - second::second::GetSize
    - first::second::GetSize
    - first::first::GetSize
    - G2Type
    - second::first::ToString
    - second::second::ToString
    - first::first::ToString
    - cryptofuzz::crypto::impl::sha1_done
    - Fq2Type
    - first::second::ToString
    linkageType: ''
    returnType: std::optional<G2Type>
    signature: std::optional<G2Type> Load(const component::G2& g2, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libff/module.cpp:112,1
    - Dst: to_affine_coordinates
      Src: /src/cryptofuzz/modules/libff/module.cpp:112,1
    - Dst: is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:114,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:116,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:117,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:121,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - G1Type
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: cryptofuzz::module::libff_detail::Save
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libff_detail::ToString
    - CF_NORET
    - to_affine_coordinates
    - is_zero
    - std::string
    linkageType: ''
    returnType: component::G1
    signature: component::G1 Save(G1Type& g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libff/module.cpp:128,1
    - Dst: to_affine_coordinates
      Src: /src/cryptofuzz/modules/libff/module.cpp:128,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:130,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:131,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:132,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - G2Type
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: cryptofuzz::module::libff_detail::Save
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - to_affine_coordinates
    - cryptofuzz::module::libff_detail::ToString
    - CF_NORET
    linkageType: ''
    returnType: component::G2
    signature: component::G2 Save(G2Type& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:144,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:145,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:146,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:147,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:148,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:149,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:150,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:151,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:152,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:153,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:154,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fp12'
    argTypes:
    - Fq12Type
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: cryptofuzz::module::libff_detail::Save
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libff_detail::ToString
    linkageType: ''
    returnType: component::Fp12
    signature: component::Fp12 Save(Fq12Type& fp12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::BLS_IsG1OnCurve
    - Datasource
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: cryptofuzz::module::libff_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<G1Type>
    signature: std::optional<G1Type> Load(const operation::BLS_IsG1OnCurve& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::BLS_IsG2OnCurve
    - Datasource
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: cryptofuzz::module::libff_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<G2Type>
    signature: std::optional<G2Type> Load(const operation::BLS_IsG2OnCurve& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libff/module.cpp:179,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:179,1
    - Dst: FrType
      Src: /src/cryptofuzz/modules/libff/module.cpp:180,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:180,1
    - Dst: FrType::is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:184,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libff/module.cpp:185,1
    - Dst: Type::is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:185,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:189,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:189,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ' a'
    - ' multiplier'
    - ' ds'
    argTypes:
    - Type
    - component::Bignum
    - Datasource
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 6
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: cryptofuzz::module::libff_detail::Mul
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_TRUE
    - cryptofuzz::module::libff_detail::ToString
    - cryptofuzz::module::libff_detail::IsValid
    - CF_CHECK_LTE
    - Type::is_zero
    - cryptofuzz::module::libff_detail::Save
    - FrType
    - FrType::is_zero
    - CF_ASSERT
    - GetSize
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Mul(const Type& a, const component::Bignum&
      multiplier, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libff_detail::Mul
      Src: /src/cryptofuzz/modules/libff/module.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' multiplier'
    - ' ds'
    argTypes:
    - std::optional<Type>
    - component::Bignum
    - Datasource
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: cryptofuzz::module::libff_detail::Mul
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::libff_detail::Mul
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Mul(const std::optional<Type>& a, const component::Bignum&
      multiplier, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:205,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:205,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:209,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:209,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 6
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: cryptofuzz::module::libff_detail::OpBLS_IsGxOnCurve
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::libff_detail::IsValid
    - cryptofuzz::module::libff_detail::Load
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpBLS_IsGxOnCurve(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:220,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:220,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:225,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:225,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:226,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:226,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:230,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:230,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:231,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:231,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:232,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:232,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 238
      start: 218
    functionDepth: 6
    functionLinenumber: 218
    functionLinenumberEnd: 238
    functionName: cryptofuzz::module::libff_detail::OpBLS_Gx_Add
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::module::libff_detail::Load
    - cryptofuzz::module::libff_detail::IsValid
    - CF_CHECK_NE
    - cryptofuzz::module::libff_detail::Save
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> OpBLS_Gx_Add(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:242,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:242,1
    - Dst: cryptofuzz::module::libff_detail::Mul
      Src: /src/cryptofuzz/modules/libff/module.cpp:244,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 7
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: cryptofuzz::module::libff_detail::OpBLS_Gx_Mul
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetSize
    - modifier::GetPtr
    - cryptofuzz::module::libff_detail::Load
    - cryptofuzz::module::libff_detail::Mul
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> OpBLS_Gx_Mul(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:254,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:254,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:258,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:258,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:259,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 265
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 265
    functionName: cryptofuzz::module::libff_detail::OpBLS_Gx_IsEq
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - modifier::GetSize
    - modifier::GetPtr
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpBLS_Gx_IsEq(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:270,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:270,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:275,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:275,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:279,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:279,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 285
      start: 268
    functionDepth: 6
    functionLinenumber: 268
    functionLinenumberEnd: 285
    functionName: cryptofuzz::module::libff_detail::OpBLS_Gx_Neg
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::module::libff_detail::Load
    - cryptofuzz::module::libff_detail::IsValid
    - CF_CHECK_NE
    - cryptofuzz::module::libff_detail::Save
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> OpBLS_Gx_Neg(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:290,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:290,1
    - Dst: libff_detail::Mul<G1Type, component::BLS_PublicKey>
      Src: /src/cryptofuzz/modules/libff/module.cpp:292,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/modules/libff/module.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: cryptofuzz::module::_libff::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::crypto::impl::sha1_done
    - modifier::GetSize
    - libff_detail::Mul<G1Type, component::BLS_PublicKey>
    - modifier::GetPtr
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> _libff::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:296,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:296,1
    - Dst: libff_detail::Mul<G2Type, component::G2>
      Src: /src/cryptofuzz/modules/libff/module.cpp:298,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/modules/libff/module.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: cryptofuzz::module::_libff::OpBLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::crypto::impl::sha1_done
    - modifier::GetSize
    - libff_detail::Mul<G2Type, component::G2>
    - modifier::GetPtr
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> _libff::OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_IsGxOnCurve<G1Type>
      Src: /src/cryptofuzz/modules/libff/module.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: cryptofuzz::module::_libff::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_IsGxOnCurve<G1Type>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> _libff::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_Add<G1Type, component::G1>
      Src: /src/cryptofuzz/modules/libff/module.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::_libff::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_Add<G1Type, component::G1>
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> _libff::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_Mul<G1Type, component::G1>
      Src: /src/cryptofuzz/modules/libff/module.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: cryptofuzz::module::_libff::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_Mul<G1Type, component::G1>
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> _libff::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:315,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:315,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:317,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:320,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:321,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libff/module.cpp:325,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:325,1
    - Dst: FrType
      Src: /src/cryptofuzz/modules/libff/module.cpp:326,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:326,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 335
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 335
    functionName: cryptofuzz::module::_libff::OpBLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - modifier::GetPtr
    - cryptofuzz::module::libff_detail::Load
    - second::ToString
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - cryptofuzz_secp256k1_scalar_is_zero
    - cryptofuzz::module::libff_detail::Save
    - FrType
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> _libff::OpBLS_G1_MultiExp(operation::BLS_G1_MultiExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_IsEq<G1Type>
      Src: /src/cryptofuzz/modules/libff/module.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: cryptofuzz::module::_libff::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_IsEq<G1Type>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> _libff::OpBLS_G1_IsEq(operation::BLS_G1_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_Neg<G1Type, component::G1>
      Src: /src/cryptofuzz/modules/libff/module.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: cryptofuzz::module::_libff::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_Neg<G1Type, component::G1>
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> _libff::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:347,1
    - Dst: g2::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:348,1
    - Dst: g2::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:349,1
    - Dst: g2::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:350,1
    - Dst: libff_detail::OpBLS_IsGxOnCurve<G2Type>
      Src: /src/cryptofuzz/modules/libff/module.cpp:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: cryptofuzz::module::_libff::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - g2::second::second::ToTrimmedString
    - g2::first::second::ToTrimmedString
    - libff_detail::OpBLS_IsGxOnCurve<G2Type>
    - g2::second::first::ToTrimmedString
    - g2::first::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> _libff::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_Add<G2Type, component::G2>
      Src: /src/cryptofuzz/modules/libff/module.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: cryptofuzz::module::_libff::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_Add<G2Type, component::G2>
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> _libff::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_Mul<G2Type, component::G2>
      Src: /src/cryptofuzz/modules/libff/module.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: cryptofuzz::module::_libff::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_Mul<G2Type, component::G2>
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> _libff::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_IsEq<G2Type>
      Src: /src/cryptofuzz/modules/libff/module.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: cryptofuzz::module::_libff::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_IsEq<G2Type>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> _libff::OpBLS_G2_IsEq(operation::BLS_G2_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_Neg<G2Type, component::G2>
      Src: /src/cryptofuzz/modules/libff/module.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: cryptofuzz::module::_libff::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_Neg<G2Type, component::G2>
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> _libff::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:376,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:376,1
    - Dst: fp12::bn1::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:378,1
    - Dst: fp12::bn2::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:379,1
    - Dst: fp12::bn3::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:380,1
    - Dst: fp12::bn4::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:381,1
    - Dst: fp12::bn5::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:382,1
    - Dst: fp12::bn6::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:383,1
    - Dst: fp12::bn7::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:384,1
    - Dst: fp12::bn8::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:385,1
    - Dst: fp12::bn9::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:386,1
    - Dst: fp12::bn10::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:387,1
    - Dst: fp12::bn11::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:388,1
    - Dst: fp12::bn12::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:389,1
    - Dst: Fq12Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:391,1
    - Dst: Fq6Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:392,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:393,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:394,1
    - Dst: fp12::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:394,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:395,1
    - Dst: fp12::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:395,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:397,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:398,1
    - Dst: fp12::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:398,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:399,1
    - Dst: fp12::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:399,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:401,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:402,1
    - Dst: fp12::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:402,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:403,1
    - Dst: fp12::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:403,1
    - Dst: Fq6Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:406,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:407,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:408,1
    - Dst: fp12::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:408,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:409,1
    - Dst: fp12::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:409,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:411,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:412,1
    - Dst: fp12::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:412,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:413,1
    - Dst: fp12::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:413,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:415,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:416,1
    - Dst: fp12::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:416,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:417,1
    - Dst: fp12::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:417,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:422,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:423,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:424,1
    - Dst: bls12_381_final_exponentiation
      Src: /src/cryptofuzz/modules/libff/module.cpp:430,1
    - Dst: alt_bn128_final_exponentiation
      Src: /src/cryptofuzz/modules/libff/module.cpp:432,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:434,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 438
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 438
    functionName: cryptofuzz::module::_libff::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - FqType
    - fp12::bn10::GetSize
    - fp12::bn8::GetSize
    - cryptofuzz_secp256k1_scalar_is_zero
    - fp12::bn4::GetSize
    - fp12::bn1::GetSize
    - fp12::bn2::ToTrimmedString
    - fp12::bn3::ToTrimmedString
    - modifier::GetPtr
    - Fq12Type
    - fp12::bn5::ToTrimmedString
    - fp12::bn12::GetSize
    - fp12::bn5::GetSize
    - fp12::bn9::GetSize
    - fp12::bn7::ToTrimmedString
    - fp12::bn3::GetSize
    - fp12::bn4::ToTrimmedString
    - fp12::bn10::ToTrimmedString
    - fp12::bn2::GetSize
    - fp12::bn7::GetSize
    - fp12::bn8::ToTrimmedString
    - fp12::bn1::ToTrimmedString
    - fp12::bn11::GetSize
    - Fq2Type
    - alt_bn128_final_exponentiation
    - Fq6Type
    - fp12::bn9::ToTrimmedString
    - fp12::bn11::ToTrimmedString
    - bls12_381_final_exponentiation
    - cryptofuzz::module::libff_detail::Save
    - fp12::bn6::GetSize
    - modifier::GetSize
    - fp12::bn12::ToTrimmedString
    - fp12::bn6::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> _libff::OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:442,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:442,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/modules/libff/module.cpp:444,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:450,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:450,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:451,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:451,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:453,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:454,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:456,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:457,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:458,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:459,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:461,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:461,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:462,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:462,1
    - Dst: pairing
      Src: /src/cryptofuzz/modules/libff/module.cpp:466,1
    - Dst: pairing
      Src: /src/cryptofuzz/modules/libff/module.cpp:468,1
    - Dst: bls12_381_final_exponentiation
      Src: /src/cryptofuzz/modules/libff/module.cpp:473,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/modules/libff/module.cpp:473,1
    - Dst: alt_bn128_final_exponentiation
      Src: /src/cryptofuzz/modules/libff/module.cpp:475,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/modules/libff/module.cpp:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 480
      start: 440
    functionDepth: 6
    functionLinenumber: 440
    functionLinenumberEnd: 480
    functionName: cryptofuzz::module::_libff::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - pairing
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::module::libff_detail::Load
    - cryptofuzz::module::libff_detail::IsValid
    - CF_CHECK_NE
    - bls12_381_final_exponentiation
    - cryptofuzz::crypto::impl::sha1_done
    - modifier::GetSize
    - alt_bn128_final_exponentiation
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> _libff::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:484,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:484,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:486,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libff/module.cpp:491,1
    - Dst: priv::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:491,1
    - Dst: FrType
      Src: /src/cryptofuzz/modules/libff/module.cpp:492,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:492,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/modules/libff/module.cpp:494,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:496,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:497,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/libff/module.cpp:504,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:506,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:507,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/modules/libff/module.cpp:517,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libff/module.cpp:518,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/libff/module.cpp:519,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:521,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:522,1
    - Dst: cryptofuzz::component::BLS_BatchSignature::BLS_BatchSignature
      Src: /src/cryptofuzz/modules/libff/module.cpp:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchSign
    constantsTouched: []
    func_position:
      end: 531
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 531
    functionName: cryptofuzz::module::_libff::OpBLS_BatchSign
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::libff_detail::Load
    - std::vector::insert
    - priv::GetSize
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - cryptofuzz_secp256k1_scalar_is_zero
    - cryptofuzz::module::libff_detail::Save
    - cryptofuzz::crypto::impl::sha1_done
    - FrType
    - std::vector::begin
    - cryptofuzz::component::BLS_BatchSignature::BLS_BatchSignature
    - modifier::GetSize
    - priv::ToTrimmedString
    - std::vector::push_back
    linkageType: ''
    returnType: std::optional<component::BLS_BatchSignature>
    signature: std::optional<component::BLS_BatchSignature> _libff::OpBLS_BatchSign(operation::BLS_BatchSign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:535,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:535,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:540,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:540,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:541,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:541,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:543,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:544,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:546,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:547,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:548,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:549,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:551,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:551,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:552,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:552,1
    - Dst: libff::bls12_381_pp::reduced_pairing
      Src: /src/cryptofuzz/modules/libff/module.cpp:557,1
    - Dst: libff::alt_bn128_pp::reduced_pairing
      Src: /src/cryptofuzz/modules/libff/module.cpp:559,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 566
      start: 533
    functionDepth: 6
    functionLinenumber: 533
    functionLinenumberEnd: 566
    functionName: cryptofuzz::module::_libff::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::module::libff_detail::Load
    - cryptofuzz::module::libff_detail::IsValid
    - libff::bls12_381_pp::reduced_pairing
    - libff::alt_bn128_pp::reduced_pairing
    - CF_CHECK_NE
    - cryptofuzz::module::libff_detail::Save
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> _libff::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:572,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:572,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:574,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:575,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libff/module.cpp:577,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:578,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:580,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:580,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:581,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:581,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:583,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:586,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:588,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:588,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:589,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:589,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:591,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:594,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:596,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:596,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:597,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:597,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:599,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:602,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:604,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:604,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:605,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:605,1
    - Dst: auto::as_bigint
      Src: /src/cryptofuzz/modules/libff/module.cpp:606,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:607,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:610,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:612,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:612,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libff/module.cpp:613,1
    - Dst: auto::is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:613,1
    - Dst: auto::inverse
      Src: /src/cryptofuzz/modules/libff/module.cpp:614,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:615,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:618,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:620,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:620,1
    - Dst: auto::squared
      Src: /src/cryptofuzz/modules/libff/module.cpp:621,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libff/module.cpp:622,1
    - Dst: auto::sqrt
      Src: /src/cryptofuzz/modules/libff/module.cpp:622,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:623,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:626,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:628,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:628,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:629,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:632,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:634,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:634,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:635,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:635,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:636,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:636,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:639,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:641,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:641,1
    - Dst: auto::is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:642,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:642,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:642,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:645,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:647,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:647,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:649,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/modules/libff/module.cpp:649,1
    - Dst: auto::sqrt
      Src: /src/cryptofuzz/modules/libff/module.cpp:650,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:651,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:653,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:657,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:659,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:659,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:660,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libff/module.cpp:661,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/modules/libff/module.cpp:661,1
    - Dst: auto::Frobenius_map
      Src: /src/cryptofuzz/modules/libff/module.cpp:662,1
    - Dst: boost::multiprecision::cpp_int::convert_to
      Src: /src/cryptofuzz/modules/libff/module.cpp:662,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:663,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:666,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:668,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:668,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:670,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:673,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:675,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:675,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:677,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 683
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 683
    functionName: cryptofuzz::module::libff_detail::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - auto::squared
    - cryptofuzz::module::libff_detail::ToString
    - bn1::GetSize
    - auto::sqrt
    - std::string
    - boost::multiprecision::cpp_int::convert_to
    - T
    - cryptofuzz_secp256k1_scalar_is_zero
    - cryptofuzz::crypto::impl::sha1_done
    - auto::as_bigint
    - CF_ASSERT
    - CF_CALCOP
    - modifier::GetPtr
    - bn0::ToTrimmedString
    - auto::Frobenius_map
    - bn0::GetSize
    - CF_CHECK_FALSE
    - CF_CHECK_LTE
    - cryptofuzz::mutator::ExpModGenerator::max
    - auto::is_zero
    - calcOp::Get
    - auto::inverse
    - bn1::ToTrimmedString
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:693,1
    - Dst: libff_detail::OpBignumCalc<FrType, 77>
      Src: /src/cryptofuzz/modules/libff/module.cpp:694,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:695,1
    - Dst: libff_detail::OpBignumCalc<FqType, 115>
      Src: /src/cryptofuzz/modules/libff/module.cpp:696,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:697,1
    - Dst: libff_detail::OpBignumCalc<libff::edwards_Fr, 55>
      Src: /src/cryptofuzz/modules/libff/module.cpp:698,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:699,1
    - Dst: libff_detail::OpBignumCalc<libff::edwards_Fq, 55>
      Src: /src/cryptofuzz/modules/libff/module.cpp:700,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:702,1
    - Dst: libff_detail::OpBignumCalc<libff::alt_bn128_Fq, 77>
      Src: /src/cryptofuzz/modules/libff/module.cpp:703,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:704,1
    - Dst: libff_detail::OpBignumCalc<libff::alt_bn128_Fr, 77>
      Src: /src/cryptofuzz/modules/libff/module.cpp:705,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:708,1
    - Dst: libff_detail::OpBignumCalc<libff::mnt4_Fr, 90>
      Src: /src/cryptofuzz/modules/libff/module.cpp:709,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:710,1
    - Dst: libff_detail::OpBignumCalc<libff::mnt4_Fq, 90>
      Src: /src/cryptofuzz/modules/libff/module.cpp:711,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:712,1
    - Dst: libff_detail::OpBignumCalc<libff::mnt6_Fr, 90>
      Src: /src/cryptofuzz/modules/libff/module.cpp:713,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:714,1
    - Dst: libff_detail::OpBignumCalc<libff::mnt6_Fq, 90>
      Src: /src/cryptofuzz/modules/libff/module.cpp:715,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 726
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 726
    functionName: cryptofuzz::module::_libff::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBignumCalc<libff::edwards_Fq, 55>
    - modulo::ToTrimmedString
    - libff_detail::OpBignumCalc<FrType, 77>
    - libff_detail::OpBignumCalc<libff::alt_bn128_Fq, 77>
    - libff_detail::OpBignumCalc<libff::edwards_Fr, 55>
    - libff_detail::OpBignumCalc<libff::mnt6_Fr, 90>
    - libff_detail::OpBignumCalc<libff::mnt4_Fr, 90>
    - libff_detail::OpBignumCalc<FqType, 115>
    - libff_detail::OpBignumCalc<libff::alt_bn128_Fr, 77>
    - libff_detail::OpBignumCalc<libff::mnt6_Fq, 90>
    - libff_detail::OpBignumCalc<libff::mnt4_Fq, 90>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> _libff::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: cryptofuzz::module::schnorr_fun::schnorr_fun
    functionSourceFile: /src/cryptofuzz/modules/schnorr_fun/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schnorr_fun::schnorr_fun(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:20,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:20,1
    - Dst: UseBIP340Nonce
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:24,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:28,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:28,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:29,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:30,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:30,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:31,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:41,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:41,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:42,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:43,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:43,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:46,1
    - Dst: schnorr_fun_schnorr_sign
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:46,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:46,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:46,1
    - Dst: cryptofuzz::util::MemorySanitizerUnpoison
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:49,1
    - Dst: cryptofuzz::util::MemorySanitizerUnpoison
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:50,1
    - Dst: cryptofuzz::tests::test_BIP340_Schnorr_Signature
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:52,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:53,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:53,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Schnorr_Sign
    constantsTouched: []
    func_position:
      end: 60
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::schnorr_fun::OpSchnorr_Sign
    functionSourceFile: /src/cryptofuzz/modules/schnorr_fun/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - priv::ToTrimmedString
    - cryptofuzz::util::MemorySanitizerUnpoison
    - cryptofuzz::util::BinToDec
    - curveType::Is
    - std::vector::data
    - cleartext::Get
    - std::vector::size
    - schnorr_fun_schnorr_sign
    - CF_ECC_CURVE
    - memcpy
    - auto::data
    - cryptofuzz::tests::test_BIP340_Schnorr_Signature
    - cleartext::SHA256
    - UseBIP340Nonce
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - digestType::Is
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::Schnorr_Signature>
    signature: std::optional<component::Schnorr_Signature> schnorr_fun::OpSchnorr_Sign(operation::Schnorr_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:66,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:66,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:70,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:70,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:71,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:72,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:72,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:73,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:82,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:82,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:83,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:84,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:84,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:89,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:89,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:90,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:90,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:91,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:92,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:93,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:93,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:94,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:94,1
    - Dst: cryptofuzz::util::MemorySanitizerUnpoison
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Schnorr_Verify
    constantsTouched: []
    func_position:
      end: 106
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::schnorr_fun::OpSchnorr_Verify
    functionSourceFile: /src/cryptofuzz/modules/schnorr_fun/module.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToTrimmedString
    - cleartext::Get
    - cleartext::SHA256
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - signature::pub::first::ToTrimmedString
    - signature::signature::first::ToTrimmedString
    - memcpy
    - digestType::Is
    - auto::data
    - cryptofuzz::util::MemorySanitizerUnpoison
    - CF_CHECK_NE
    - CF_DIGEST
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> schnorr_fun::OpSchnorr_Verify(operation::Schnorr_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: cryptofuzz::module::Google_Integers::Google_Integers
    functionSourceFile: /src/cryptofuzz/modules/google-integers/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Google_Integers::Google_Integers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:17,1
    - Dst: integers::trapping<T>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:22,1
    - Dst: static_cast<T>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' bn'
    - ' max'
    argTypes:
    - Bignum
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Google_Integers_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/google-integers/module.cpp
    functionUses: 0
    functionsReached:
    - integers::trapping<T>
    - ToTrimmedString
    - static_cast<T>
    linkageType: ''
    returnType: std::optional<integers::trapping<T>>
    signature: std::optional<integers::trapping<T>> Load(const Bignum& bn, const boost::multiprecision::cpp_int&
      max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:33,1
    - Dst: cryptofuzz::module::Google_Integers_detail::Load
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:33,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:34,1
    - Dst: cryptofuzz::module::Google_Integers_detail::Load
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:34,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:37,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:38,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:41,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:44,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:47,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:50,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:53,1
    - Dst: integers::trapping<T>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:54,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:56,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:65,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:68,1
    - Dst: integers::trapping<T>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:71,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:74,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:77,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:80,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:83,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:86,1
    - Dst: integers::trapping<T>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:87,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:89,1
    - Dst: integers::trapping<T>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:90,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:99,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 103
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 103
    functionName: cryptofuzz::module::Google_Integers_detail::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/google-integers/module.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - integers::trapping<T>
    - CF_CHECK_NE
    - cryptofuzz::module::Google_Integers_detail::Load
    - calcOp::Get
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:108,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:108,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:111,1
    - Dst: Google_Integers_detail::OpBignumCalc<uint8_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:113,1
    - Dst: Google_Integers_detail::OpBignumCalc<uint16_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:115,1
    - Dst: Google_Integers_detail::OpBignumCalc<uint32_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:117,1
    - Dst: Google_Integers_detail::OpBignumCalc<uint64_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:119,1
    - Dst: Google_Integers_detail::OpBignumCalc<int8_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:122,1
    - Dst: Google_Integers_detail::OpBignumCalc<int16_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:124,1
    - Dst: Google_Integers_detail::OpBignumCalc<int32_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:126,1
    - Dst: Google_Integers_detail::OpBignumCalc<int64_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::Google_Integers::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/google-integers/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - Google_Integers_detail::OpBignumCalc<uint32_t>
    - Google_Integers_detail::OpBignumCalc<uint8_t>
    - Google_Integers_detail::OpBignumCalc<int32_t>
    - Google_Integers_detail::OpBignumCalc<int8_t>
    - Google_Integers_detail::OpBignumCalc<int64_t>
    - Google_Integers_detail::OpBignumCalc<int16_t>
    - Google_Integers_detail::OpBignumCalc<uint64_t>
    - modifier::GetSize
    - Datasource::Get
    - Google_Integers_detail::OpBignumCalc<uint16_t>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Google_Integers::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::pairing_ce::pairing_ce
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pairing_ce::pairing_ce(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:38,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:38,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:39,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:42,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:42,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:43,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:44,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:44,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:45,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:46,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:46,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:47,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:48,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:48,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:49,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:51,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:51,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: cryptofuzz::module::pairing_ce_detail::To4U64
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - __bswap_64
    - cryptofuzz::util::DecToBin
    - memcpy
    - auto::data
    - std::array::end
    - CF_CHECK_NE
    - ToTrimmedString
    - std::array::begin
    linkageType: ''
    returnType: std::optional<std::array<uint64_t, 4>>
    signature: std::optional<std::array<uint64_t, 4>> To4U64(const component::Bignum&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:59,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:59,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:60,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:63,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:63,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:64,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:65,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:65,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:66,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:67,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:67,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:68,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:69,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:69,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:70,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:71,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:71,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:72,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:73,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:73,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:74,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:76,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:76,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::pairing_ce_detail::To6U64
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - __bswap_64
    - cryptofuzz::util::DecToBin
    - memcpy
    - auto::data
    - std::array::end
    - CF_CHECK_NE
    - ToTrimmedString
    - std::array::begin
    linkageType: ''
    returnType: std::optional<std::array<uint64_t, 6>>
    signature: std::optional<std::array<uint64_t, 6>> To6U64(const component::Bignum&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:83,1
    - Dst: std::array<uint64_t, 6>::begin
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:83,1
    - Dst: std::array<uint64_t, 6>::end
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:83,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:85,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:86,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:87,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:88,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:89,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:90,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:91,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:91,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:92,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:92,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:93,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:93,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:94,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:94,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:95,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:95,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:96,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:96,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - u64
    argTypes:
    - std::array<uint64_t, 6>
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: cryptofuzz::module::pairing_ce_detail::From6U64
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::reverse
    - __bswap_64
    - std::array<uint64_t, 6>::end
    - memcpy
    - cryptofuzz::util::BinToDec
    - std::array<uint64_t, 6>::begin
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum From6U64(std::array<uint64_t, 6> u64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::pairing_ce_detail::From6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:103,1
    - Dst: cryptofuzz::module::pairing_ce_detail::From6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' result_x'
    - ' result_y'
    argTypes:
    - std::array<uint64_t, 6>
    - std::array<uint64_t, 6>
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: cryptofuzz::module::pairing_ce_detail::ToG1
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::pairing_ce_detail::From6U64
    linkageType: ''
    returnType: component::G1
    signature: "component::G1 ToG1(\n            const std::array<uint64_t, 6>& result_x,\n
      \           const std::array<uint64_t, 6>& result_y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:115,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:115,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:119,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:119,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:120,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:120,1
    - Dst: pairing_ce_g1_isoncurve
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:123,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:124,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:125,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::pairing_ce::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::pairing_ce_detail::To6U64
    - modifier::GetPtr
    - data
    - std::optional::data
    - CF_CHECK_NE
    - modifier::GetSize
    - pairing_ce_g1_isoncurve
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> pairing_ce::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:137,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:137,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:142,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:142,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:143,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:143,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:144,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:144,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:145,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:145,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:147,1
    - Dst: pairing_ce_g1_add
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:147,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:148,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:149,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:150,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:151,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:152,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:153,1
    - Dst: cryptofuzz::module::pairing_ce_detail::ToG1
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 160
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 160
    functionName: cryptofuzz::module::pairing_ce::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::pairing_ce_detail::ToG1
    - cryptofuzz::module::pairing_ce_detail::To6U64
    - std::array::data
    - modifier::GetPtr
    - pairing_ce_g1_add
    - data
    - std::optional::data
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> pairing_ce::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:164,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:164,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:170,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:170,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:171,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:171,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:172,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To4U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:172,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:174,1
    - Dst: pairing_ce_g1_mul
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:174,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:175,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:176,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:177,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:178,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:179,1
    - Dst: cryptofuzz::module::pairing_ce_detail::ToG1
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 186
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 186
    functionName: cryptofuzz::module::pairing_ce::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::pairing_ce_detail::ToG1
    - cryptofuzz::module::pairing_ce_detail::To6U64
    - std::array::data
    - modifier::GetPtr
    - data
    - cryptofuzz::module::pairing_ce_detail::To4U64
    - std::optional::data
    - CF_CHECK_NE
    - pairing_ce_g1_mul
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> pairing_ce::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:190,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:190,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:195,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:195,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:196,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:196,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:198,1
    - Dst: pairing_ce_g1_neg
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:198,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:199,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:200,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:201,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:202,1
    - Dst: cryptofuzz::module::pairing_ce_detail::ToG1
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 209
      start: 188
    functionDepth: 4
    functionLinenumber: 188
    functionLinenumberEnd: 209
    functionName: cryptofuzz::module::pairing_ce::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::pairing_ce_detail::ToG1
    - cryptofuzz::module::pairing_ce_detail::To6U64
    - std::array::data
    - modifier::GetPtr
    - data
    - std::optional::data
    - CF_CHECK_NE
    - pairing_ce_g1_neg
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> pairing_ce::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:12,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:12,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:13,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:13,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:14,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:14,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:15,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:15,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:16,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:16,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:17,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:17,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:18,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:18,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:19,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:19,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:20,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:20,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:21,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:21,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:22,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:22,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:23,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:23,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:24,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:24,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:25,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:25,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:27,1
    - Dst: register_all_ciphers
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:27,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::libtomcrypt::libtomcrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - register_hash
    - abort
    - register_all_ciphers
    linkageType: ''
    returnType: void
    signature: void libtomcrypt::libtomcrypt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::libtomcrypt_detail::Operation::Operation
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Operation(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:49,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:49,1
    - Dst: runInit
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:52,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:56,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:58,1
    - Dst: runUpdate
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:58,1
    - Dst: runFinalize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:61,1
    - Dst: ReturnType
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:63,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:63,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - OperationType
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::libtomcrypt_detail::Operation::Run
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - ReturnType
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - CF_CHECK_EQ
    - runUpdate
    - runFinalize
    - runInit
    - auto::data
    - auto::size
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Run(OperationType& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::libtomcrypt_detail::Digest::Digest
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Digest(\n                int (*init)(CTXType*),\n                int
      (*update)(CTXType*, const uint8_t*, unsigned long),\n                int (*digest)(CTXType*,
      uint8_t*)\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:94,1
    - Dst: init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: cryptofuzz::module::libtomcrypt_detail::Digest::runInit
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - init
    linkageType: ''
    returnType: bool
    signature: bool runInit(operation::Digest& op) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:108,1
    - Dst: update
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: cryptofuzz::module::libtomcrypt_detail::Digest::runUpdate
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - update
    linkageType: ''
    returnType: bool
    signature: bool runUpdate(util::Multipart& parts) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:121,1
    - Dst: digest
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:121,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: cryptofuzz::module::libtomcrypt_detail::Digest::runFinalize
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - std::vector::data
    - digest
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> runFinalize(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crc32_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - crc32_state*
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::libtomcrypt_detail::_crc32_init
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - crc32_init
    linkageType: ''
    returnType: int
    signature: int _crc32_init(crc32_state *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crc32_update
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - input
    - length
    argTypes:
    - crc32_state*
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: cryptofuzz::module::libtomcrypt_detail::_crc32_update
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - crc32_update
    linkageType: ''
    returnType: int
    signature: int _crc32_update(crc32_state *ctx, const unsigned char *input, unsigned
      long length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crc32_finish
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - hash
    argTypes:
    - crc32_state*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: cryptofuzz::module::libtomcrypt_detail::_crc32_done
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - crc32_finish
    linkageType: ''
    returnType: int
    signature: int _crc32_done(crc32_state* ctx, uint8_t* hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adler32_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - adler32_state*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: cryptofuzz::module::libtomcrypt_detail::_adler32_init
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - adler32_init
    linkageType: ''
    returnType: int
    signature: int _adler32_init(adler32_state *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adler32_update
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - input
    - length
    argTypes:
    - adler32_state*
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: cryptofuzz::module::libtomcrypt_detail::_adler32_update
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - adler32_update
    linkageType: ''
    returnType: int
    signature: int _adler32_update(adler32_state *ctx, const unsigned char *input,
      unsigned long length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adler32_finish
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - hash
    argTypes:
    - adler32_state*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: cryptofuzz::module::libtomcrypt_detail::_adler32_done
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - adler32_finish
    linkageType: ''
    returnType: int
    signature: int _adler32_done(adler32_state* ctx, uint8_t* hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:198,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:199,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:200,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:201,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:202,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:203,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:204,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:205,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:206,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:207,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:208,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:209,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:210,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:211,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:212,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:213,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:214,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:215,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:216,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:217,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:218,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:219,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:220,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:221,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:222,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:223,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:224,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 229
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 229
    functionName: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - find_hash
    - CF_DIGEST
    linkageType: ''
    returnType: int
    signature: int ToHashIdx(const uint64_t digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:235,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:236,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:237,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:239,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:240,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:242,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:243,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:245,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:246,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:248,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:249,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:251,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:252,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:254,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:255,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:257,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:258,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:260,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:261,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:263,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:264,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:266,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:267,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:269,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:270,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:272,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:273,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:275,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:276,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:278,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:279,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:281,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:282,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:284,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:285,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:287,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:288,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:290,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:291,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:293,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:294,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:296,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:297,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:299,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:300,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:302,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:303,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:305,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:306,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:309,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:310,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:312,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:313,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:315,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:316,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:318,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:319,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 325
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 325
    functionName: cryptofuzz::module::libtomcrypt::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Run
    - digestType::Get
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> libtomcrypt::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:330,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:330,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:338,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:338,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:340,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:340,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:340,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:342,1
    - Dst: hmac_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:342,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:342,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:342,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:344,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:349,1
    - Dst: hmac_process
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:349,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:352,1
    - Dst: hmac_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:352,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 357
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 357
    functionName: cryptofuzz::module::libtomcrypt::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - CF_CHECK_EQ
    - cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    - digestType::Get
    - hmac_done
    - CF_CHECK_NE
    - hmac_process
    - generate_HMAC
    - modifier::GetSize
    - hmac_init
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libtomcrypt::OpHMAC(operation::HMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:362,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:363,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:364,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:365,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:366,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:367,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:368,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:369,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:370,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:371,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:372,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:373,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:374,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:375,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:376,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:377,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:378,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:379,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:380,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:381,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:382,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:383,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:384,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:385,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:386,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:387,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:388,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:389,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:390,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:391,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:392,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:393,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:394,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:395,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:396,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:397,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:398,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:399,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:400,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:401,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:402,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:403,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:404,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:405,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:406,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:407,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:408,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:409,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:410,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:411,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:412,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:413,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:414,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:415,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:416,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:417,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:418,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:419,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:420,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:421,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:422,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:423,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:424,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:425,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:426,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:427,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:428,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:429,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:430,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:431,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:432,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:433,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:434,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:435,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:436,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:437,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:438,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:439,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:440,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:441,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:442,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:443,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:444,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:445,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:446,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:447,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:448,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:449,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:450,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:451,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:452,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:453,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:454,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:455,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:456,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:457,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:458,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:459,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:460,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:461,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:462,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:463,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:464,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:465,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:466,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:467,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:468,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:469,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:470,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:471,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:474,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:475,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:477,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:478,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:479,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:480,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:481,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:482,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:483,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:484,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:485,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:486,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:487,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:488,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:489,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:490,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:491,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:492,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:493,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:494,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:495,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:496,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:497,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:498,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:499,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:500,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:501,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:502,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:503,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:504,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:505,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:506,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:507,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:508,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:509,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:510,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:511,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:512,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:513,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:514,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:515,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:516,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:517,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:518,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:519,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:520,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:521,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 163
    argCount: 1
    argNames:
    - cipherType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 526
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 526
    functionName: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    - find_cipher
    linkageType: ''
    returnType: int
    signature: int ToCipherIdx(const uint64_t cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:530,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:530,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:546,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:548,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:548,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:549,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:549,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:549,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:550,1
    - Dst: gcm_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:550,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:550,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:550,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:552,1
    - Dst: gcm_add_iv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:552,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:552,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:552,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:555,1
    - Dst: gcm_add_aad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:555,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:555,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:555,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:559,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:561,1
    - Dst: gcm_process
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:561,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:561,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:561,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:568,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:569,1
    - Dst: gcm_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:569,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:570,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:570,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:570,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:574,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 578
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 578
    functionName: cryptofuzz::module::libtomcrypt_detail::GcmEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - gcm_add_iv
    - gcm_process
    - cipher::cipherType::Get
    - modifier::GetPtr
    - aad::GetSize
    - Buffer
    - std::vector::data
    - std::vector::size
    - CF_CHECK_EQ
    - gcm_add_aad
    - gcm_init
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - gcm_done
    - CF_CHECK_NE
    - aad::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> GcmEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:582,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:582,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:597,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:599,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:599,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:600,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:600,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:600,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:601,1
    - Dst: gcm_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:601,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:601,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:601,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:603,1
    - Dst: gcm_add_iv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:603,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:603,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:603,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:606,1
    - Dst: gcm_add_aad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:606,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:606,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:606,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:610,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:612,1
    - Dst: gcm_process
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:612,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:612,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:612,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:619,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:620,1
    - Dst: gcm_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:620,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:623,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:623,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:624,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:624,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:624,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:624,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:626,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:626,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:630,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 634
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 634
    functionName: cryptofuzz::module::libtomcrypt_detail::GcmDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - gcm_add_iv
    - gcm_process
    - memcmp
    - cipher::cipherType::Get
    - modifier::GetPtr
    - component::Cleartext
    - aad::GetSize
    - Buffer
    - std::vector::size
    - std::vector::data
    - CF_CHECK_EQ
    - gcm_add_aad
    - gcm_init
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - tag::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - gcm_done
    - CF_CHECK_NE
    - tag::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> GcmDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:638,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:638,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:648,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:648,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:653,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:659,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:659,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:660,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:660,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:660,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:664,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:665,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:666,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:666,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:667,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:667,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:668,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:668,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:672,1
    - Dst: ccm_memory
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:672,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:674,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:675,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:677,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:678,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:679,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:680,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:681,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:682,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:691,1
    - Dst: ccm_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:691,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:694,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:695,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:696,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:698,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:699,1
    - Dst: ccm_add_nonce
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:699,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:699,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:699,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:700,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:701,1
    - Dst: ccm_add_aad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:701,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:703,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:704,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:706,1
    - Dst: ccm_process
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:706,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:706,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:706,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:707,1
    - Dst: ccm_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:707,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:710,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:710,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:710,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:710,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:714,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 718
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 718
    functionName: cryptofuzz::module::libtomcrypt_detail::CcmEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - ccm_add_aad
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - ccm_memory
    - ccm_add_nonce
    - cipher::cipherType::Get
    - modifier::GetPtr
    - ccm_init
    - aad::GetSize
    - auto::size
    - Buffer
    - Datasource::Get
    - cleartext::Get
    - ccm_done
    - CF_CHECK_EQ
    - auto::data
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - ccm_process
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - CF_CHECK_NE
    - aad::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CcmEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:722,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:722,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:729,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:729,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:734,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:740,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:740,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:741,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:741,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:741,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:745,1
    - Dst: tag::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:746,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:747,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:747,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:748,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:748,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:749,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:749,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:750,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:750,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:755,1
    - Dst: ccm_memory
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:755,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:757,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:758,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:760,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:761,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:762,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:763,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:765,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:766,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:767,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:774,1
    - Dst: ccm_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:774,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:777,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:778,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:779,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:781,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:782,1
    - Dst: ccm_add_nonce
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:782,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:782,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:782,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:783,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:784,1
    - Dst: ccm_add_aad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:784,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:786,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:787,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:789,1
    - Dst: ccm_process
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:789,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:789,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:789,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:790,1
    - Dst: ccm_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:790,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:790,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:793,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:793,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:793,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:797,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 801
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 801
    functionName: cryptofuzz::module::libtomcrypt_detail::CcmDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - ccm_add_aad
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - ccm_memory
    - ciphertext::GetSize
    - ccm_add_nonce
    - cipher::cipherType::Get
    - modifier::GetPtr
    - ccm_init
    - component::Cleartext
    - aad::GetSize
    - auto::size
    - tag::Get
    - Buffer
    - Datasource::Get
    - ccm_done
    - CF_CHECK_EQ
    - auto::data
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - ccm_process
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - ciphertext::Get
    - cipher::key::GetPtr
    - CF_CHECK_NE
    - aad::GetPtr
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CcmDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:805,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:805,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:815,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:815,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:819,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:819,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:824,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:829,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:829,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:833,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:834,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:835,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:835,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:836,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:836,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:837,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:837,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:841,1
    - Dst: chacha20poly1305_memory
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:841,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:842,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:843,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:844,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:845,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:846,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:847,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:848,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:849,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:859,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:861,1
    - Dst: chacha20poly1305_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:861,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:861,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:861,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:862,1
    - Dst: chacha20poly1305_setiv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:862,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:862,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:862,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:864,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:865,1
    - Dst: chacha20poly1305_add_aad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:865,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:867,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:868,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:872,1
    - Dst: chacha20poly1305_encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:872,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:876,1
    - Dst: chacha20poly1305_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:876,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:879,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:879,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:879,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:879,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:883,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:884,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 887
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 887
    functionName: cryptofuzz::module::libtomcrypt_detail::ChaCha20Poly1305Encrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - chacha20poly1305_encrypt
    - chacha20poly1305_init
    - chacha20poly1305_add_aad
    - modifier::GetPtr
    - aad::GetSize
    - auto::size
    - Buffer
    - Datasource::Get
    - cleartext::Get
    - CF_CHECK_EQ
    - auto::data
    - chacha20poly1305_setiv
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - cleartext::GetSize
    - chacha20poly1305_memory
    - CF_CHECK_NE
    - aad::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - chacha20poly1305_done
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> ChaCha20Poly1305Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:891,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:891,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:897,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:901,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:901,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:905,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:905,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:910,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:915,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:915,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:919,1
    - Dst: tag::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:920,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:921,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:921,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:922,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:922,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:923,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:923,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:924,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:924,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:928,1
    - Dst: chacha20poly1305_memory
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:928,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:929,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:930,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:931,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:932,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:933,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:934,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:935,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:936,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:938,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:944,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:946,1
    - Dst: chacha20poly1305_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:946,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:946,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:946,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:947,1
    - Dst: chacha20poly1305_setiv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:947,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:947,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:947,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:949,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:950,1
    - Dst: chacha20poly1305_add_aad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:950,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:952,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:953,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:957,1
    - Dst: chacha20poly1305_decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:957,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:961,1
    - Dst: chacha20poly1305_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:961,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:961,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:964,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:964,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:964,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:968,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:969,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 972
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 972
    functionName: cryptofuzz::module::libtomcrypt_detail::ChaCha20Poly1305Decrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetSize
    - chacha20poly1305_init
    - chacha20poly1305_add_aad
    - modifier::GetPtr
    - component::Cleartext
    - aad::GetSize
    - auto::size
    - tag::Get
    - Buffer
    - Datasource::Get
    - CF_CHECK_EQ
    - chacha20poly1305_decrypt
    - auto::data
    - chacha20poly1305_setiv
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - tag::GetSize
    - cipher::key::GetSize
    - ciphertext::Get
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - chacha20poly1305_memory
    - CF_CHECK_NE
    - aad::GetPtr
    - chacha20poly1305_done
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> ChaCha20Poly1305Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:977,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:981,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:989,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:991,1
    - Dst: salsa20_setup
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:991,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:991,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:991,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:992,1
    - Dst: salsa20_ivctr64
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:992,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:992,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:992,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:994,1
    - Dst: salsa20_crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:994,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:998,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:998,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1001,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    - keySize
    - rounds
    argTypes:
    - Datasource
    - Buffer
    - component::SymmetricCipher
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1003
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 1003
    functionName: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salsa20_ivctr64
    - cryptofuzz::util::ToParts
    - key::GetSize
    - iv::GetPtr
    - salsa20_crypt
    - CF_CHECK_EQ
    - cryptofuzz::util::free
    - salsa20_setup
    - key::GetPtr
    - Buffer
    - iv::GetSize
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> Salsa20Crypt(Datasource& ds, const Buffer& in,
      const component::SymmetricCipher& cipher, const size_t keySize, const size_t
      rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1008,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1012,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1012,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1020,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1022,1
    - Dst: chacha_setup
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1022,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1022,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1022,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1023,1
    - Dst: chacha_ivctr64
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1023,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1023,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1023,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1025,1
    - Dst: chacha_crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1025,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1029,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1029,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1032,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    argTypes:
    - Datasource
    - Buffer
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 1034
      start: 1005
    functionDepth: 2
    functionLinenumber: 1005
    functionLinenumberEnd: 1034
    functionName: cryptofuzz::module::libtomcrypt_detail::ChaCha20Crypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - key::GetSize
    - chacha_ivctr64
    - iv::GetPtr
    - CF_CHECK_EQ
    - cryptofuzz::util::free
    - chacha_setup
    - chacha_crypt
    - key::GetPtr
    - Buffer
    - iv::GetSize
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> ChaCha20Crypt(Datasource& ds, const Buffer& in,
      const component::SymmetricCipher& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1039,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1043,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1043,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1051,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1053,1
    - Dst: rabbit_setup
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1053,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1053,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1053,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1054,1
    - Dst: rabbit_setiv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1054,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1054,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1054,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1056,1
    - Dst: rabbit_crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1056,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1060,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1060,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    argTypes:
    - Datasource
    - Buffer
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 1065
      start: 1036
    functionDepth: 2
    functionLinenumber: 1036
    functionLinenumberEnd: 1065
    functionName: cryptofuzz::module::libtomcrypt_detail::RABBITCrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - key::GetSize
    - iv::GetPtr
    - rabbit_crypt
    - CF_CHECK_EQ
    - cryptofuzz::util::free
    - rabbit_setup
    - rabbit_setiv
    - key::GetPtr
    - Buffer
    - iv::GetSize
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> RABBITCrypt(Datasource& ds, const Buffer& in,
      const component::SymmetricCipher& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1070,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1074,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1074,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1082,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1084,1
    - Dst: sosemanuk_setup
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1084,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1084,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1084,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1085,1
    - Dst: sosemanuk_setiv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1085,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1085,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1085,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1090,1
    - Dst: sosemanuk_crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1090,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1094,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1094,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1097,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    argTypes:
    - Datasource
    - Buffer
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 1099
      start: 1067
    functionDepth: 2
    functionLinenumber: 1067
    functionLinenumberEnd: 1099
    functionName: cryptofuzz::module::libtomcrypt_detail::SOSEMANUKCrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - sosemanuk_setup
    - cryptofuzz::util::ToParts
    - key::GetSize
    - iv::GetPtr
    - CF_CHECK_EQ
    - sosemanuk_crypt
    - sosemanuk_setiv
    - cryptofuzz::util::free
    - key::GetPtr
    - Buffer
    - iv::GetSize
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> SOSEMANUKCrypt(Datasource& ds, const Buffer&
      in, const component::SymmetricCipher& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1104,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1112,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1114,1
    - Dst: rc4_stream_setup
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1114,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1114,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1114,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1119,1
    - Dst: rc4_stream_crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1119,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1123,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1123,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    argTypes:
    - Datasource
    - Buffer
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 1128
      start: 1101
    functionDepth: 2
    functionLinenumber: 1101
    functionLinenumberEnd: 1128
    functionName: cryptofuzz::module::libtomcrypt_detail::RC4Crypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - key::GetSize
    - CF_CHECK_EQ
    - rc4_stream_crypt
    - cryptofuzz::util::free
    - key::GetPtr
    - Buffer
    - rc4_stream_setup
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> RC4Crypt(Datasource& ds, const Buffer& in, const
      component::SymmetricCipher& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1133,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1137,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1145,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1147,1
    - Dst: sober128_stream_setup
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1147,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1147,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1147,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1148,1
    - Dst: sober128_stream_setiv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1148,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1148,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1148,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1150,1
    - Dst: sober128_stream_crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1150,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1154,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1154,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    argTypes:
    - Datasource
    - Buffer
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 1159
      start: 1130
    functionDepth: 2
    functionLinenumber: 1130
    functionLinenumberEnd: 1159
    functionName: cryptofuzz::module::libtomcrypt_detail::SOBER128Crypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - sober128_stream_crypt
    - cryptofuzz::util::ToParts
    - key::GetSize
    - iv::GetPtr
    - CF_CHECK_EQ
    - cryptofuzz::util::free
    - sober128_stream_setiv
    - key::GetPtr
    - Buffer
    - iv::GetSize
    - sober128_stream_setup
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> SOBER128Crypt(Datasource& ds, const Buffer& in,
      const component::SymmetricCipher& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1168,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1168,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1168,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1169,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1169,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1170,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1170,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1171,1
    - Dst: ecb_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1171,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1171,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1171,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1172,1
    - Dst: ecb_encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1172,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1172,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1172,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1173,1
    - Dst: ecb_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1173,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1175,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1175,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1180
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1180
    functionName: cryptofuzz::module::libtomcrypt_detail::EcbEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - cleartext::GetPtr
    - CF_CHECK_NE
    - ecb_encrypt
    - ecb_done
    - cryptofuzz::util::free
    - Buffer
    - ecb_start
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> EcbEncrypt(operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1189,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1189,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1189,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1190,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1190,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1191,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1191,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1192,1
    - Dst: ecb_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1192,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1192,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1192,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1193,1
    - Dst: ecb_decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1193,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1193,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1193,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1194,1
    - Dst: ecb_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1194,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1196,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1196,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1201
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1201
    functionName: cryptofuzz::module::libtomcrypt_detail::EcbDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ecb_decrypt
    - CF_CHECK_EQ
    - ciphertext::GetPtr
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - CF_CHECK_NE
    - ciphertext::GetSize
    - ecb_done
    - cryptofuzz::util::free
    - Buffer
    - ecb_start
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> EcbDecrypt(operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1210,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1210,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1210,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1211,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1211,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1212,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1212,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1213,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1213,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1214,1
    - Dst: ctr_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1214,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1214,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1214,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1214,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1215,1
    - Dst: ctr_encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1215,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1215,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1215,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1216,1
    - Dst: ctr_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1216,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1218,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1218,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1223
      start: 1203
    functionDepth: 2
    functionLinenumber: 1203
    functionLinenumberEnd: 1223
    functionName: cryptofuzz::module::libtomcrypt_detail::CtrEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - ctr_start
    - cipher::cipherType::Get
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ctr_done
    - CF_CHECK_EQ
    - cleartext::GetSize
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - ctr_encrypt
    - cipher::iv::GetPtr
    - cleartext::GetPtr
    - CF_CHECK_NE
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - Buffer
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> CtrEncrypt(operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1232,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1232,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1232,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1233,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1233,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1234,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1234,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1235,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1235,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1236,1
    - Dst: ctr_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1236,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1236,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1236,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1236,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1237,1
    - Dst: ctr_decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1237,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1237,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1237,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1238,1
    - Dst: ctr_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1238,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1240,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1240,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1245
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1245
    functionName: cryptofuzz::module::libtomcrypt_detail::CtrDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - ctr_start
    - ctr_decrypt
    - cipher::cipherType::Get
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - ctr_done
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - cipher::iv::GetPtr
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - Buffer
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> CtrDecrypt(operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1254,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1254,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1254,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1255,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1255,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1256,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1256,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1257,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1257,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1258,1
    - Dst: cfb_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1258,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1258,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1258,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1258,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1259,1
    - Dst: cfb_encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1259,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1259,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1259,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1260,1
    - Dst: cfb_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1260,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1262,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1262,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1267
      start: 1247
    functionDepth: 2
    functionLinenumber: 1247
    functionLinenumberEnd: 1267
    functionName: cryptofuzz::module::libtomcrypt_detail::CfbEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - cfb_done
    - CF_CHECK_EQ
    - cleartext::GetSize
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - cfb_encrypt
    - cipher::iv::GetPtr
    - cleartext::GetPtr
    - CF_CHECK_NE
    - cipher::iv::GetSize
    - cfb_start
    - cryptofuzz::util::free
    - Buffer
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> CfbEncrypt(operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1276,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1276,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1276,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1277,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1277,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1278,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1278,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1279,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1279,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1280,1
    - Dst: cfb_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1280,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1280,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1280,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1280,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1281,1
    - Dst: cfb_decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1281,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1281,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1281,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1282,1
    - Dst: cfb_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1282,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1284,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1284,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1289
      start: 1269
    functionDepth: 2
    functionLinenumber: 1269
    functionLinenumberEnd: 1289
    functionName: cryptofuzz::module::libtomcrypt_detail::CfbDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - cfb_done
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - cfb_decrypt
    - cipher::iv::GetPtr
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cfb_start
    - cryptofuzz::util::free
    - Buffer
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> CfbDecrypt(operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1298,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1298,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1298,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1299,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1299,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1300,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1300,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1301,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1301,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1302,1
    - Dst: ofb_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1302,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1302,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1302,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1302,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1303,1
    - Dst: ofb_encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1303,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1303,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1303,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1304,1
    - Dst: ofb_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1304,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1306,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1306,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1311
      start: 1291
    functionDepth: 2
    functionLinenumber: 1291
    functionLinenumberEnd: 1311
    functionName: cryptofuzz::module::libtomcrypt_detail::OfbEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - ofb_encrypt
    - ofb_done
    - ofb_start
    - cipher::iv::GetPtr
    - cleartext::GetPtr
    - CF_CHECK_NE
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - Buffer
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> OfbEncrypt(operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1320,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1320,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1320,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1321,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1321,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1322,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1322,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1323,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1323,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1324,1
    - Dst: ofb_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1324,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1324,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1324,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1324,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1325,1
    - Dst: ofb_decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1325,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1325,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1325,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1326,1
    - Dst: ofb_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1326,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1328,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1328,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1333
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1333
    functionName: cryptofuzz::module::libtomcrypt_detail::OfbDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - ofb_done
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - ofb_start
    - ofb_decrypt
    - cipher::iv::GetPtr
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - Buffer
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> OfbDecrypt(operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1343,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1343,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1343,1
    - Dst: cryptofuzz::util::Pkcs7Pad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1344,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1344,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1345,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1345,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1346,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1346,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1347,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1347,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1348,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1348,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1349,1
    - Dst: cbc_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1349,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1349,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1349,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1349,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1350,1
    - Dst: cbc_encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1350,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1350,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1350,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1351,1
    - Dst: cbc_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1351,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1353,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1353,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1358
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1358
    functionName: cryptofuzz::module::libtomcrypt_detail::CbcEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - cbc_start
    - cipher::cipherType::Get
    - cbc_done
    - Buffer
    - cryptofuzz::util::Pkcs7Pad
    - std::vector::size
    - cleartext::Get
    - std::vector::data
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - cbc_encrypt
    - CF_CHECK_NE
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> CbcEncrypt(operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1367,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1367,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1367,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1368,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1368,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1369,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1369,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1370,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1370,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1371,1
    - Dst: cbc_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1371,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1371,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1371,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1371,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1372,1
    - Dst: cbc_decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1372,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1372,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1372,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1373,1
    - Dst: cbc_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1373,1
    - Dst: cryptofuzz::util::Pkcs7Unpad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1376,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1376,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1376,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1377,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1378,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1378,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1384
      start: 1360
    functionDepth: 2
    functionLinenumber: 1360
    functionLinenumberEnd: 1384
    functionName: cryptofuzz::module::libtomcrypt_detail::CbcDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cbc_decrypt
    - ciphertext::GetPtr
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - ciphertext::GetSize
    - cbc_start
    - cipher::cipherType::Get
    - std::vector<uint8_t>
    - component::Cleartext
    - cbc_done
    - Buffer
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_NE
    - cryptofuzz::util::Pkcs7Unpad
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> CbcDecrypt(operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1389,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1389,1
    - Dst: cryptofuzz::repository::IsGCM
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1391,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1391,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::GcmEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1392,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1393,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1393,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CcmEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1394,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1395,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1395,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ChaCha20Poly1305Encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1396,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1397,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1397,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::EcbEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1398,1
    - Dst: cryptofuzz::repository::IsCTR
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1399,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1399,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CtrEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1400,1
    - Dst: cryptofuzz::repository::IsCFB
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1401,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1401,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CfbEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1402,1
    - Dst: cryptofuzz::repository::IsOFB
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1403,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1403,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::OfbEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1404,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1405,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1405,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CbcEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1406,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1407,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1407,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ChaCha20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1408,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1409,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1409,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::RABBITCrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1410,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1411,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1411,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::SOSEMANUKCrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1412,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1413,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1413,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::RC4Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1414,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1415,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1415,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::SOBER128Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1416,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1417,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1417,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1418,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1419,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1419,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1420,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1421,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1421,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1422,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1423,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1423,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1424,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1428
      start: 1388
    functionDepth: 3
    functionLinenumber: 1388
    functionLinenumberEnd: 1428
    functionName: cryptofuzz::module::libtomcrypt::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libtomcrypt_detail::CtrEncrypt
    - cryptofuzz::module::libtomcrypt_detail::OfbEncrypt
    - cryptofuzz::repository::IsCBC
    - cryptofuzz::module::libtomcrypt_detail::CbcEncrypt
    - cryptofuzz::repository::IsCTR
    - cryptofuzz::module::libtomcrypt_detail::SOSEMANUKCrypt
    - cryptofuzz::module::libtomcrypt_detail::CcmEncrypt
    - cipher::cipherType::Get
    - modifier::GetPtr
    - cryptofuzz::module::libtomcrypt_detail::CfbEncrypt
    - cryptofuzz::module::libtomcrypt_detail::RC4Crypt
    - cryptofuzz::module::libtomcrypt_detail::RABBITCrypt
    - cryptofuzz::module::libtomcrypt_detail::GcmEncrypt
    - cryptofuzz::repository::IsCFB
    - cryptofuzz::repository::IsECB
    - cryptofuzz::module::libtomcrypt_detail::EcbEncrypt
    - cryptofuzz::module::libtomcrypt_detail::ChaCha20Poly1305Encrypt
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - cryptofuzz::module::libtomcrypt_detail::ChaCha20Crypt
    - cryptofuzz::repository::IsGCM
    - cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
    - cryptofuzz::module::libtomcrypt_detail::SOBER128Crypt
    - cryptofuzz::repository::IsOFB
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> libtomcrypt::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1431,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1431,1
    - Dst: cryptofuzz::repository::IsGCM
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1433,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1433,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::GcmDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1434,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1435,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1435,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CcmDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1436,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1437,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1437,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ChaCha20Poly1305Decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1438,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1439,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1439,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::EcbDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1440,1
    - Dst: cryptofuzz::repository::IsCTR
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1441,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1441,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CtrDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1442,1
    - Dst: cryptofuzz::repository::IsCFB
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1443,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1443,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CfbDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1444,1
    - Dst: cryptofuzz::repository::IsOFB
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1445,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1445,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::OfbDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1446,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1447,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1447,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CbcDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1448,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1449,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1449,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ChaCha20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1450,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1451,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1451,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::RABBITCrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1452,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1453,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1453,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::SOSEMANUKCrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1454,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1455,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1455,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::RC4Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1456,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1457,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1457,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::SOBER128Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1458,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1459,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1459,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1460,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1461,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1461,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1462,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1463,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1463,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1464,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1465,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1465,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1466,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1470
      start: 1430
    functionDepth: 3
    functionLinenumber: 1430
    functionLinenumberEnd: 1470
    functionName: cryptofuzz::module::libtomcrypt::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libtomcrypt_detail::CcmDecrypt
    - cryptofuzz::repository::IsCBC
    - cryptofuzz::repository::IsCTR
    - cryptofuzz::module::libtomcrypt_detail::SOSEMANUKCrypt
    - cipher::cipherType::Get
    - modifier::GetPtr
    - cryptofuzz::module::libtomcrypt_detail::RC4Crypt
    - cryptofuzz::module::libtomcrypt_detail::RABBITCrypt
    - cryptofuzz::module::libtomcrypt_detail::CfbDecrypt
    - cryptofuzz::repository::IsCFB
    - cryptofuzz::repository::IsECB
    - cryptofuzz::module::libtomcrypt_detail::ChaCha20Poly1305Decrypt
    - cryptofuzz::module::libtomcrypt_detail::CbcDecrypt
    - cryptofuzz::module::libtomcrypt_detail::GcmDecrypt
    - cryptofuzz::repository::IsCCM
    - cryptofuzz::module::libtomcrypt_detail::OfbDecrypt
    - CF_CIPHER
    - cryptofuzz::module::libtomcrypt_detail::ChaCha20Crypt
    - cryptofuzz::repository::IsGCM
    - cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
    - cryptofuzz::module::libtomcrypt_detail::SOBER128Crypt
    - cryptofuzz::module::libtomcrypt_detail::EcbDecrypt
    - cryptofuzz::module::libtomcrypt_detail::CtrDecrypt
    - cryptofuzz::repository::IsOFB
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> libtomcrypt::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1477,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1478,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1478,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1480,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1480,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1480,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1482,1
    - Dst: hkdf
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1482,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1484,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1485,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1486,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1487,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1488,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1489,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1493,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 1499
      start: 1472
    functionDepth: 2
    functionLinenumber: 1472
    functionLinenumberEnd: 1499
    functionName: cryptofuzz::module::libtomcrypt::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - hkdf
    - digestType::Get
    - cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    - info::GetPtr
    - info::GetSize
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libtomcrypt::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1515,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1516,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1516,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1517,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1517,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1519,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1519,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1519,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1521,1
    - Dst: pkcs12_kdf
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1521,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1522,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1523,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1524,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1525,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1529,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 1535
      start: 1509
    functionDepth: 2
    functionLinenumber: 1509
    functionLinenumberEnd: 1535
    functionName: cryptofuzz::module::libtomcrypt::OpKDF_PBKDF
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - pkcs12_kdf
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libtomcrypt::OpKDF_PBKDF(operation::KDF_PBKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1542,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1543,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1543,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1544,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1544,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1546,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1548,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1548,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1548,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1552,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1552,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1553,1
    - Dst: pkcs_5_alg1
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1553,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1554,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1555,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1556,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1562,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1563,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF1
    constantsTouched: []
    func_position:
      end: 1570
      start: 1537
    functionDepth: 2
    functionLinenumber: 1537
    functionLinenumberEnd: 1570
    functionName: cryptofuzz::module::libtomcrypt::OpKDF_PBKDF1
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    - digestType::Get
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GT
    - pkcs_5_alg1
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libtomcrypt::OpKDF_PBKDF1(operation::KDF_PBKDF1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1577,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1578,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1578,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1579,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1579,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1581,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1581,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1581,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1586,1
    - Dst: pkcs_5_alg2
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1586,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1587,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1588,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1589,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1590,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1596,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 1603
      start: 1572
    functionDepth: 2
    functionLinenumber: 1572
    functionLinenumberEnd: 1603
    functionName: cryptofuzz::module::libtomcrypt::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    - pkcs_5_alg2
    - password::GetSize
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libtomcrypt::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1614,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1615,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1616,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1616,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1617,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1617,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1619,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1619,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1619,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1623,1
    - Dst: bcrypt_pbkdf_openbsd
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1623,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1624,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1625,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1626,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1627,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1633,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_BCRYPT
    constantsTouched: []
    func_position:
      end: 1640
      start: 1605
    functionDepth: 2
    functionLinenumber: 1605
    functionLinenumberEnd: 1640
    functionName: cryptofuzz::module::libtomcrypt::OpKDF_BCRYPT
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - secret::GetSize
    - salt::GetPtr
    - secret::GetPtr
    - bcrypt_pbkdf_openbsd
    - CF_CHECK_EQ
    - digestType::Get
    - cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libtomcrypt::OpKDF_BCRYPT(operation::KDF_BCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::k256::k256
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void k256::k256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:24,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:24,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:28,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:28,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:29,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:30,1
    - Dst: k256_ecc_privatetopublic
      Src: /src/cryptofuzz/modules/k256/module.cpp:30,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:30,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:31,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: cryptofuzz::module::k256::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - k256_ecc_privatetopublic
    - auto::data
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - priv::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> k256::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:38,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:38,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:43,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:43,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:44,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:44,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:45,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:46,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:47,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:47,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:48,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:48,1
    - Dst: k256_validate_pubkey
      Src: /src/cryptofuzz/modules/k256/module.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::k256::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - pub::first::ToTrimmedString
    - pub::second::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - memcpy
    - k256_validate_pubkey
    - auto::data
    - CF_CHECK_NE
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> k256::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:56,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:56,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:59,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/k256/module.cpp:59,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/k256/module.cpp:62,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/k256/module.cpp:65,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:71,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:71,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:72,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:74,1
    - Dst: k256_ecc_privatetopublic
      Src: /src/cryptofuzz/modules/k256/module.cpp:74,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:74,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:75,1
    - Dst: k256_ecdsa_sign
      Src: /src/cryptofuzz/modules/k256/module.cpp:75,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:75,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:75,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/k256/module.cpp:76,1
    - Dst: k256_ecdsa_verify
      Src: /src/cryptofuzz/modules/k256/module.cpp:76,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:76,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/k256/module.cpp:78,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:79,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:79,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:80,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 85
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 85
    functionName: cryptofuzz::module::k256::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - k256_ecdsa_sign
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - cleartext::GetSize
    - digestType::Is
    - k256_ecc_privatetopublic
    - auto::data
    - cleartext::GetPtr
    - CF_CHECK_NE
    - k256_ecdsa_verify
    - CF_DIGEST
    - cryptofuzz::util::BinToDec
    - UseRFC6979Nonce
    - CF_ASSERT
    - priv::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> k256::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:89,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:89,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:92,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/k256/module.cpp:92,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/k256/module.cpp:95,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:105,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:105,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:106,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:106,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:107,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:108,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:109,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:109,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:110,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:110,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:115,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:115,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:116,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:116,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:117,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:118,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:119,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:119,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:120,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:120,1
    - Dst: k256_ecdsa_verify
      Src: /src/cryptofuzz/modules/k256/module.cpp:123,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 127
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 127
    functionName: cryptofuzz::module::k256::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToTrimmedString
    - auto::GetPtr
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - cleartext::GetSize
    - signature::pub::first::ToTrimmedString
    - signature::signature::first::ToTrimmedString
    - memcpy
    - digestType::Is
    - auto::data
    - CF_CHECK_NE
    - k256_ecdsa_verify
    - CF_DIGEST
    - signature::pub::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> k256::OpECDSA_Verify(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:131,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/k256/module.cpp:131,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:133,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:133,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:141,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:141,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:142,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:142,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:143,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:144,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:145,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:145,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:146,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:146,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:151,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:151,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:152,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:152,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:153,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:154,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:155,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:155,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:156,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:156,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:159,1
    - Dst: k256_ecc_point_add
      Src: /src/cryptofuzz/modules/k256/module.cpp:159,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:161,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 165
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 165
    functionName: cryptofuzz::module::k256::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - modifier::GetPtr
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_TRUE
    - memcpy
    - auto::data
    - k256_ecc_point_add
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - b::second::ToTrimmedString
    - modifier::GetSize
    - a::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> k256::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:169,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/k256/module.cpp:169,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:171,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:171,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:179,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:179,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:180,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:180,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:181,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:182,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:183,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:183,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:184,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:184,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:188,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:188,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:189,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:190,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:190,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:193,1
    - Dst: k256_ecc_point_mul
      Src: /src/cryptofuzz/modules/k256/module.cpp:193,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:195,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 199
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 199
    functionName: cryptofuzz::module::k256::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - b::ToTrimmedString
    - CF_CHECK_TRUE
    - k256_ecc_point_mul
    - memcpy
    - auto::data
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - modifier::GetSize
    - a::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> k256::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:203,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/k256/module.cpp:203,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:205,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:205,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:213,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:213,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:214,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:214,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:215,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:216,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:217,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:217,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:218,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:218,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:221,1
    - Dst: k256_ecc_point_neg
      Src: /src/cryptofuzz/modules/k256/module.cpp:221,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:223,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 227
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 227
    functionName: cryptofuzz::module::k256::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_TRUE
    - memcpy
    - auto::data
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - k256_ecc_point_neg
    - modifier::GetSize
    - a::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> k256::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:231,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/k256/module.cpp:231,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:233,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:233,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:241,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:241,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:242,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:242,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:243,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:244,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:245,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:245,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:246,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:246,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:249,1
    - Dst: k256_ecc_point_dbl
      Src: /src/cryptofuzz/modules/k256/module.cpp:249,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:251,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 255
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 255
    functionName: cryptofuzz::module::k256::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_TRUE
    - memcpy
    - auto::data
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - k256_ecc_point_dbl
    - modifier::GetSize
    - a::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> k256::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::crypto_js::crypto_js
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void crypto_js::crypto_js(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: crypto_js::~crypto_js(void)
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_js::~crypto_js(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:25,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: cryptofuzz::module::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> getResultAs(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:32,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:35,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:35,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:36,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:42,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:42,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:42,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:43,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:49,1
    - Dst: JS*::Run
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:51,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:51,1
    - Dst: cryptofuzz::module::getResultAs
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - js
    - ' op'
    argTypes:
    - JS*
    - OperationType
    constantsTouched: []
    func_position:
      end: 58
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::Run
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - JS*::Run
    - cryptofuzz::util::ToParts
    - ToJSON
    - modifier::GetPtr
    - std::to_string
    - std::vector<uint8_t>
    - std::back_inserter
    - from_hex
    - cryptofuzz::module::getResultAs
    - auto::dump
    - modifier::GetSize
    - std::vector::push_back
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Run(JS* js, OperationType& op, std::optional<Buffer>
      toParts = std::nullopt, const std::string partsName = "cleartext")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:61,1
    - Dst: Run<component::Digest, operation::Digest, CF_OPERATION("Digest")>
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: cryptofuzz::module::crypto_js::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Digest, operation::Digest, CF_OPERATION("Digest")>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> crypto_js::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:65,1
    - Dst: Run<component::MAC, operation::HMAC, CF_OPERATION("HMAC")>
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::crypto_js::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::MAC, operation::HMAC, CF_OPERATION("HMAC")>
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> crypto_js::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:70,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:76,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:76,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:76,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:76,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:79,1
    - Dst: Run<component::Ciphertext, operation::SymmetricEncrypt, CF_OPERATION("SymmetricEncrypt")>
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::crypto_js::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - Run<component::Ciphertext, operation::SymmetricEncrypt, CF_OPERATION("SymmetricEncrypt")>
    - cleartext::GetSize
    - CF_OPERATION
    - CF_CIPHER
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> crypto_js::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:84,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:89,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:89,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:89,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:89,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:92,1
    - Dst: Run<component::Cleartext, operation::SymmetricDecrypt, CF_OPERATION("SymmetricDecrypt")>
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: cryptofuzz::module::crypto_js::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - CF_OPERATION
    - Run<component::Cleartext, operation::SymmetricDecrypt, CF_OPERATION("SymmetricDecrypt")>
    - ciphertext::GetSize
    - CF_CIPHER
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> crypto_js::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:96,1
    - Dst: Run<component::Key, operation::KDF_PBKDF2, CF_OPERATION("KDF_PBKDF2")>
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::crypto_js::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Key, operation::KDF_PBKDF2, CF_OPERATION("KDF_PBKDF2")>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> crypto_js::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:9,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:14,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:15,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:15,1
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:20,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:25,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:26,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:26,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:31,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:31,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - printf
    - std::string::substr
    - std::string::find_first_of
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:21,1
    - Dst: mpz_add
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:24,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:24,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:24,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:24,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:25,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:25,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:29,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:30,1
    - Dst: mpz_add_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:32,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:32,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:32,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:33,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 44
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::libgmp_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - mpz_add_ui
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - GetResPtr
    - GET_WHICH
    - mpz_add
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:49,1
    - Dst: mpz_sub
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:52,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:52,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:52,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:52,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:53,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:53,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:57,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:58,1
    - Dst: mpz_sub_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:60,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:60,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:60,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:61,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:61,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:66,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:67,1
    - Dst: mpz_ui_sub
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:69,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:69,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:69,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:70,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 81
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::libgmp_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - mpz_sub
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - GetResPtr
    - mpz_ui_sub
    - GET_WHICH
    - mpz_sub_ui
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:86,1
    - Dst: mpz_mul
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:89,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:89,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:89,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:89,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:90,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:90,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:94,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:95,1
    - Dst: mpz_mul_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:97,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:97,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:97,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:98,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:98,1
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:103,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:104,1
    - Dst: mpz_mul_si
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:106,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:106,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:106,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:107,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 118
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::libgmp_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_mul_ui
    - CF_NORET
    - mpz_mul_si
    - mpz_mul
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - GetResPtr
    - GET_WHICH
    - GetSignedLong
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:123,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:127,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:127,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:127,1
    - Dst: mpz_div
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:129,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:129,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:129,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:129,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:130,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:130,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:134,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:134,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:134,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:136,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:137,1
    - Dst: mpz_div_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:139,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:139,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:139,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:140,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:140,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:146,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:146,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:146,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:148,1
    - Dst: mpz_divisible_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:148,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:148,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:148,1
    - Dst: mpz_divexact
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:150,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:150,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:150,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:150,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:151,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:151,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:156,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:156,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:156,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:158,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:159,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:161,1
    - Dst: mpz_divisible_ui_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:161,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:161,1
    - Dst: mpz_divexact_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:163,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:163,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:163,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:164,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:164,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:172,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:172,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:172,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:173,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:173,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 179
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 179
    functionName: cryptofuzz::module::libgmp_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_divisible_p
    - mpz_div
    - CF_NORET
    - mpz_divexact
    - mpz_divisible_ui_p
    - mpz_divexact_ui
    - mpz_sgn
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - mpz_cmp_ui
    - GetUnsignedLong
    - GetResPtr
    - mpz_div_ui
    - CF_CHECK_GTE
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:184,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:186,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:186,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:186,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:190,1
    - Dst: mpz_sizeinbase
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:190,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:190,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:191,1
    - Dst: mpz_sizeinbase
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:191,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:191,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:192,1
    - Dst: mpz_sizeinbase
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:192,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:192,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:200,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:200,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:200,1
    - Dst: mpz_powm
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:202,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:202,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:202,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:202,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:202,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:203,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:203,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:207,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:208,1
    - Dst: mpz_powm_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:210,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:210,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:210,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:210,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:211,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:211,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:217,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:217,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:217,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:220,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:220,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:220,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:222,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:223,1
    - Dst: mpz_odd_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:223,1
    - Dst: mpz_powm_sec
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:225,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:225,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:225,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:225,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:225,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:226,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 238
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 238
    functionName: cryptofuzz::module::libgmp_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - CF_CHECK_EQ
    - mpz_powm_sec
    - mpz_sgn
    - mpz_powm_ui
    - CF_CHECK_LTE
    - mpz_sizeinbase
    - GetPtr
    - CopyResult
    - CF_CHECK_NE
    - mpz_odd_p
    - mpz_cmp_ui
    - GetUnsignedLong
    - GetResPtr
    - CF_CHECK_GTE
    - GET_WHICH
    - CF_CHECK_GT
    - mpz_powm
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:250,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:252,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - res
    - X
    - Y
    - type
    argTypes:
    - mpz_ptr
    - mpz_ptr
    - mpz_ptr
    - GCDType
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: cryptofuzz::module::libgmp_bignum::GCD_ExtGCD_SetResult
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_UNREACHABLE
    - mpz_set
    linkageType: ''
    returnType: void
    signature: void GCD_ExtGCD_SetResult(mpz_ptr res, const mpz_ptr X, const mpz_ptr
      Y, const GCDType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:261,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:264,1
    - Dst: mpz_gcd
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:265,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:265,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:266,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:266,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:270,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:272,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:273,1
    - Dst: mpz_gcd_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:275,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:275,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:275,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:276,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:276,1
    - Dst: mpz_gcdext
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:283,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:283,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:283,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:283,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:283,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:283,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:284,1
    - Dst: cryptofuzz::module::libgmp_bignum::GCD_ExtGCD_SetResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:284,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:284,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:284,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - type
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - GCDType
    constantsTouched: []
    func_position:
      end: 295
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 295
    functionName: cryptofuzz::module::libgmp_bignum::GCD_ExtGCD
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Bignum::GetPtr
    - mpz_gcdext
    - mpz_gcd_ui
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - cryptofuzz::module::libgmp_bignum::GCD_ExtGCD_SetResult
    - GetResPtr
    - mpz_gcd
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool GCD_ExtGCD(Datasource& ds, Bignum& res, BignumCluster& bn, const
      GCDType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCD_ExtGCD
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: cryptofuzz::module::libgmp_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GCD_ExtGCD
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCD_ExtGCD
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: cryptofuzz::module::libgmp_bignum::ExtGCD_X::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GCD_ExtGCD
    linkageType: ''
    returnType: bool
    signature: bool ExtGCD_X::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCD_ExtGCD
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::libgmp_bignum::ExtGCD_Y::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GCD_ExtGCD
    linkageType: ''
    returnType: bool
    signature: bool ExtGCD_Y::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:311,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:314,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:314,1
    - Dst: mpz_jacobi
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:314,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:314,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:314,1
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:318,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:319,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:320,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:320,1
    - Dst: mpz_kronecker_si
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:320,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:320,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:325,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:326,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:327,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:327,1
    - Dst: mpz_kronecker_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:327,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 343
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 343
    functionName: cryptofuzz::module::libgmp_bignum::Jacobi::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_kronecker_si
    - mpz_jacobi
    - std::to_string
    - mpz_kronecker_ui
    - Set
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - GET_WHICH
    - GetSignedLong
    linkageType: ''
    returnType: bool
    signature: bool Jacobi::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:350,1
    - Dst: mpz_cmp
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:353,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:353,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:353,1
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:357,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:358,1
    - Dst: mpz_cmp_si
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:360,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:360,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:365,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:366,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:368,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:368,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:376,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:378,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 387
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 387
    functionName: cryptofuzz::module::libgmp_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_cmp_si
    - mpz_cmp
    - GetPtr
    - Set
    - CF_CHECK_NE
    - GetUnsignedLong
    - mpz_cmp_ui
    - GET_WHICH
    - GetSignedLong
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:392,1
    - Dst: mpz_lcm
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:395,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:395,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:395,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:395,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:396,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:396,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:400,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:401,1
    - Dst: mpz_lcm_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:403,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:403,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:403,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:404,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:404,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:412,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:412,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:412,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:413,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:413,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 419
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 419
    functionName: cryptofuzz::module::libgmp_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - mpz_sgn
    - CopyResult
    - GetPtr
    - mpz_lcm_ui
    - CF_CHECK_NE
    - GetUnsignedLong
    - GetResPtr
    - CF_CHECK_GTE
    - GET_WHICH
    - mpz_lcm
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_xor
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:424,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:424,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:424,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:424,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:425,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 428
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 428
    functionName: cryptofuzz::module::libgmp_bignum::Xor::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_xor
    - CF_NORET
    - CopyResult
    - GetPtr
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool Xor::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_and
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:433,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:433,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:433,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:433,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:434,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 437
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 437
    functionName: cryptofuzz::module::libgmp_bignum::And::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - CopyResult
    - GetPtr
    - GetResPtr
    - mpz_and
    linkageType: ''
    returnType: bool
    signature: bool And::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_abs
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:442,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:442,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:442,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:443,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: cryptofuzz::module::libgmp_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - mpz_abs
    - CopyResult
    - GetPtr
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_neg
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:451,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:451,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:451,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:452,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 455
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 455
    functionName: cryptofuzz::module::libgmp_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - CopyResult
    - GetPtr
    - GetResPtr
    - mpz_neg
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:461,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:461,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:461,1
    - Dst: mpz_sqrt
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:463,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:463,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:463,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:464,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 469
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 469
    functionName: cryptofuzz::module::libgmp_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - mpz_sgn
    - CopyResult
    - GetPtr
    - GetResPtr
    - CF_CHECK_GTE
    - mpz_sqrt
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:477,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:477,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:477,1
    - Dst: mpz_sqrt
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:479,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:479,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:479,1
    - Dst: mpz_sqrtrem
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:480,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:480,1
    - Dst: libgmp_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:480,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:480,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:481,1
    - Dst: libgmp_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:481,1
    - Dst: mpz_add_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:482,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:482,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: cryptofuzz::module::libgmp_bignum::SqrtCeil::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - libgmp_bignum::Bignum::GetPtr
    - mpz_add_ui
    - mpz_sgn
    - GetPtr
    - mpz_sqrtrem
    - mpz_sqrt
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool SqrtCeil::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_pow_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:493,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:493,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:493,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:494,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 497
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 497
    functionName: cryptofuzz::module::libgmp_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - mpz_pow_ui
    - CopyResult
    - GetPtr
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:504,1
    - Dst: mpz_cmpabs
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:507,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:507,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:507,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:511,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:512,1
    - Dst: mpz_cmpabs_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:514,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:514,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:522,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:524,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 533
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 533
    functionName: cryptofuzz::module::libgmp_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_cmpabs_ui
    - GetPtr
    - Set
    - CF_CHECK_NE
    - GetUnsignedLong
    - mpz_cmpabs
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:538,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:538,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:538,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: cryptofuzz::module::libgmp_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - mpz_sgn
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:546,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:546,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:546,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 549
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 549
    functionName: cryptofuzz::module::libgmp_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - mpz_sgn
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:555,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:555,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:555,1
    - Dst: mpz_add
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:557,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:557,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:557,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:557,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:558,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:558,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:558,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:558,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:561,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:561,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 567
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 567
    functionName: cryptofuzz::module::libgmp_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_sgn
    - GetPtr
    - mpz_mod
    - CF_CHECK_NE
    - mpz_cmp_ui
    - CF_CHECK_GTE
    - mpz_add
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:573,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:573,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:573,1
    - Dst: mpz_sub
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:575,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:575,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:575,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:575,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:576,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:576,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:576,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:576,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:579,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:579,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 585
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 585
    functionName: cryptofuzz::module::libgmp_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_sub
    - mpz_sgn
    - GetPtr
    - mpz_mod
    - CF_CHECK_NE
    - mpz_cmp_ui
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:591,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:591,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:591,1
    - Dst: mpz_mul
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:593,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:593,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:593,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:593,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:594,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:594,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:594,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:594,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:597,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:597,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 603
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 603
    functionName: cryptofuzz::module::libgmp_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_sgn
    - mpz_mul
    - GetPtr
    - mpz_mod
    - CF_CHECK_NE
    - mpz_cmp_ui
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:609,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:609,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:609,1
    - Dst: mpz_pow_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:611,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:611,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:611,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:612,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:612,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:612,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:612,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:615,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:615,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 621
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 621
    functionName: cryptofuzz::module::libgmp_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_pow_ui
    - mpz_sgn
    - GetPtr
    - mpz_mod
    - CF_CHECK_NE
    - mpz_cmp_ui
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:627,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:629,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:629,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:629,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 632
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 632
    functionName: cryptofuzz::module::libgmp_bignum::Mod_NIST_192::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_mod
    - Bignum::GetPtr
    - Bignum::Set
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_192::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:638,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:640,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:640,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:640,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 643
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 643
    functionName: cryptofuzz::module::libgmp_bignum::Mod_NIST_224::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_mod
    - Bignum::GetPtr
    - Bignum::Set
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_224::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:649,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:651,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:651,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:651,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: cryptofuzz::module::libgmp_bignum::Mod_NIST_256::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_mod
    - Bignum::GetPtr
    - Bignum::Set
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_256::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:660,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:662,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:662,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:662,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 665
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 665
    functionName: cryptofuzz::module::libgmp_bignum::Mod_NIST_384::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_mod
    - Bignum::GetPtr
    - Bignum::Set
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_384::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:671,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:673,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:673,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:673,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 676
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 676
    functionName: cryptofuzz::module::libgmp_bignum::Mod_NIST_521::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_mod
    - Bignum::GetPtr
    - Bignum::Set
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_521::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:682,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:683,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:684,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:684,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:684,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:685,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:685,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:685,1
    - Dst: mpz_setbit
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:687,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:687,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:688,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:688,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 694
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 694
    functionName: cryptofuzz::module::libgmp_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_set
    - mpz_setbit
    - GetDestPtr
    - mpz_sgn
    - GetPtr
    - CF_CHECK_NE
    - CF_CHECK_GTE
    - GetSignedLong
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:700,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:701,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:702,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:702,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:702,1
    - Dst: mpz_clrbit
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:704,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:704,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:705,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:705,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 711
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 711
    functionName: cryptofuzz::module::libgmp_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_set
    - GetDestPtr
    - mpz_clrbit
    - mpz_sgn
    - GetPtr
    - CF_CHECK_NE
    - CF_CHECK_GTE
    - GetSignedLong
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:717,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:718,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:721,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:721,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:721,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:723,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:723,1
    - Dst: mpz_tstbit
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:723,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 729
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 729
    functionName: cryptofuzz::module::libgmp_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_tstbit
    - std::to_string
    - mpz_sgn
    - GetPtr
    - Set
    - CF_CHECK_NE
    - CF_CHECK_GTE
    - GetSignedLong
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:736,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:736,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:736,1
    - Dst: mpz_invert
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:738,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:738,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:738,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:738,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:740,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:742,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 749
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 749
    functionName: cryptofuzz::module::libgmp_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - mpz_sgn
    - CopyResult
    - GetPtr
    - Set
    - CF_CHECK_NE
    - mpz_invert
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:755,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:756,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:756,1
    - Dst: mpz_odd_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 759
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 759
    functionName: cryptofuzz::module::libgmp_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_odd_p
    - Set
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:765,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:766,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:766,1
    - Dst: mpz_even_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 769
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 769
    functionName: cryptofuzz::module::libgmp_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_even_p
    - Set
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_popcount
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:774,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:774,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:775,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 781
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 781
    functionName: cryptofuzz::module::libgmp_bignum::IsPow2::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_popcount
    - Set
    linkageType: ''
    returnType: bool
    signature: bool IsPow2::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_scan1
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:786,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:786,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:790,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 793
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 793
    functionName: cryptofuzz::module::libgmp_bignum::NumLSZeroBits::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_scan1
    - Set
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool NumLSZeroBits::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:799,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:800,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:801,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:803,1
    - Dst: mpz_fac_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:803,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 809
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 809
    functionName: cryptofuzz::module::libgmp_bignum::Factorial::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - mpz_fac_ui
    - CF_CHECK_LTE
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    linkageType: ''
    returnType: bool
    signature: bool Factorial::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_root
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:814,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:814,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:814,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:815,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 818
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 818
    functionName: cryptofuzz::module::libgmp_bignum::Cbrt::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - mpz_root
    - CopyResult
    - GetPtr
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool Cbrt::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:824,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:824,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:824,1
    - Dst: mpz_sqrtrem
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:826,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:826,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:826,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 831
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 831
    functionName: cryptofuzz::module::libgmp_bignum::SqrtRem::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_GTE
    - mpz_sgn
    - mpz_sqrtrem
    linkageType: ''
    returnType: bool
    signature: bool SqrtRem::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_rootrem
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:836,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:836,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:836,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 839
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 839
    functionName: cryptofuzz::module::libgmp_bignum::CbrtRem::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_rootrem
    linkageType: ''
    returnType: bool
    signature: bool CbrtRem::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:847,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:848,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:849,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:850,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:850,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:850,1
    - Dst: mpz_root
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:852,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:852,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 864
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 864
    functionName: cryptofuzz::module::libgmp_bignum::Nthrt::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_sgn
    - mpz_root
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool Nthrt::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:872,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:873,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:874,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:875,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:875,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:875,1
    - Dst: mpz_rootrem
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:877,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:877,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:877,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 889
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 889
    functionName: cryptofuzz::module::libgmp_bignum::NthrtRem::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_rootrem
    - mpz_sgn
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool NthrtRem::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:895,1
    - Dst: mpz_perfect_square_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:896,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:896,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:896,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 907
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 907
    functionName: cryptofuzz::module::libgmp_bignum::IsSquare::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - mpz_perfect_square_p
    - std::string
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsSquare::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:912,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:916,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:917,1
    - Dst: mpz_pow_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:919,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:919,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:919,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:920,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:920,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:925,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:926,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:928,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:929,1
    - Dst: mpz_ui_pow_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:931,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:931,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:932,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 943
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 943
    functionName: cryptofuzz::module::libgmp_bignum::Exp::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - mpz_pow_ui
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - mpz_ui_pow_ui
    - GetResPtr
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Exp::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_ior
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:948,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:948,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:948,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 951
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 951
    functionName: cryptofuzz::module::libgmp_bignum::Or::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_ior
    linkageType: ''
    returnType: bool
    signature: bool Or::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:956,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:959,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:959,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:959,1
    - Dst: mpz_addmul
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:960,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:960,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:960,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:960,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:964,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:965,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:967,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:967,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:967,1
    - Dst: mpz_addmul_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:968,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:968,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 979
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 979
    functionName: cryptofuzz::module::libgmp_bignum::AddMul::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_set
    - mpz_addmul
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - mpz_addmul_ui
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool AddMul::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:984,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:987,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:987,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:987,1
    - Dst: mpz_submul
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:988,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:988,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:988,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:988,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:992,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:993,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:995,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:995,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:995,1
    - Dst: mpz_submul_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:996,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:996,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1007
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1007
    functionName: cryptofuzz::module::libgmp_bignum::SubMul::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_submul_ui
    - mpz_set
    - GetPtr
    - CF_CHECK_NE
    - mpz_submul
    - GetUnsignedLong
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool SubMul::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1014,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1015,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1016,1
    - Dst: mpz_primorial_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1018,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1031
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1031
    functionName: cryptofuzz::module::libgmp_bignum::Primorial::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_primorial_ui
    - CF_CHECK_LTE
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    linkageType: ''
    returnType: bool
    signature: bool Primorial::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1038,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1039,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1040,1
    - Dst: mpz_lucnum_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1042,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1055
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1055
    functionName: cryptofuzz::module::libgmp_bignum::Lucas::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LTE
    - GetPtr
    - CF_CHECK_NE
    - mpz_lucnum_ui
    - GetUnsignedLong
    linkageType: ''
    returnType: bool
    signature: bool Lucas::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1061,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1062,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1063,1
    - Dst: mpz_fac_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1065,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1071
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1071
    functionName: cryptofuzz::module::libgmp_bignum::Fibonacci::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_fac_ui
    - CF_CHECK_LTE
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    linkageType: ''
    returnType: bool
    signature: bool Fibonacci::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1076,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1079,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1079,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1079,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1083,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1084,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1086,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1086,1
    - Dst: mpz_init_set_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1087,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1087,1
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1092,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1093,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1095,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1095,1
    - Dst: mpz_init_set_si
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1096,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1096,1
    - Dst: mpz_swap
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1100,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1100,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1110
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1110
    functionName: cryptofuzz::module::libgmp_bignum::Set::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_init_set_si
    - mpz_set
    - mpz_init_set_ui
    - GetPtr
    - mpz_clear
    - CF_CHECK_NE
    - GetUnsignedLong
    - GET_WHICH
    - mpz_swap
    - GetSignedLong
    linkageType: ''
    returnType: bool
    signature: bool Set::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1117,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1119,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1120,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1122,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1125,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1128,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1129,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1131,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1134,1
    - Dst: mpz_bin_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1140,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1140,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1140,1
    - Dst: mpz_bin_uiui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1144,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1154
      start: 1112
    functionDepth: 1
    functionLinenumber: 1112
    functionLinenumberEnd: 1154
    functionName: cryptofuzz::module::libgmp_bignum::BinCoeff::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_bin_ui
    - CF_CHECK_LTE
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - GET_WHICH
    - mpz_bin_uiui
    linkageType: ''
    returnType: bool
    signature: bool BinCoeff::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1159,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1159,1
    - Dst: mpz_hamdist
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1159,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1159,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1162
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1162
    functionName: cryptofuzz::module::libgmp_bignum::HamDist::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - mpz_hamdist
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool HamDist::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1167,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1170,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1170,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1172,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1172,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1172,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1172,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1173,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1173,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1177,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1177,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1177,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1179,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1180,1
    - Dst: mpz_mod_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1182,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1182,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1182,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1183,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1183,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1191,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1191,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1191,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1192,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1192,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1198
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1198
    functionName: cryptofuzz::module::libgmp_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_GTE
    - CF_NORET
    - mpz_sgn
    - CopyResult
    - GetPtr
    - mpz_mod
    - CF_CHECK_NE
    - mpz_cmp_ui
    - GetUnsignedLong
    - GetResPtr
    - mpz_mod_ui
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1204,1
    - Dst: mpz_perfect_power_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1205,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1205,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1205,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1216
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1216
    functionName: cryptofuzz::module::libgmp_bignum::IsPower::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - std::string
    - mpz_perfect_power_p
    linkageType: ''
    returnType: bool
    signature: bool IsPower::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1225,1
    - Dst: mpz_urandomb
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1234,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1234,1
    - Dst: mpz_nextprime
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1235,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1235,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1245
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1245
    functionName: cryptofuzz::module::libgmp_bignum::Prime::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_urandomb
    - GetPtr
    - Get
    - mpz_nextprime
    linkageType: ''
    returnType: bool
    signature: bool Prime::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1252,1
    - Dst: mpz_sizeinbase
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1252,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1252,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1258,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1258,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1263,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1274
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1274
    functionName: cryptofuzz::module::libgmp_bignum::IsPrime::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_sgn
    - mpz_sizeinbase
    - CF_CHECK_LTE
    - GetPtr
    - Set
    linkageType: ''
    returnType: bool
    signature: bool IsPrime::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1283,1
    - Dst: mpz_urandomb
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1292,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1302
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1302
    functionName: cryptofuzz::module::libgmp_bignum::Rand::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_urandomb
    - GetPtr
    - Get
    linkageType: ''
    returnType: bool
    signature: bool Rand::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1310,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1310,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1314,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1314,1
    - Dst: mpz_sizeinbase
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1314,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1317
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1317
    functionName: cryptofuzz::module::libgmp_bignum::NumBits::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - mpz_sgn
    - mpz_sizeinbase
    - GetPtr
    - Set
    linkageType: ''
    returnType: bool
    signature: bool NumBits::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1322,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1322,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1323,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1323,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1323,1
    - Dst: mpz_add
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1325,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1325,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1325,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1329
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1329
    functionName: cryptofuzz::module::libgmp_bignum::CondAdd::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_set
    - mpz_sgn
    - mpz_add
    linkageType: ''
    returnType: bool
    signature: bool CondAdd::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1334,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1334,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1335,1
    - Dst: mpz_sub
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1337,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1337,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1337,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1341
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1341
    functionName: cryptofuzz::module::libgmp_bignum::CondSub::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_set
    - mpz_sub
    - mpz_sgn
    linkageType: ''
    returnType: bool
    signature: bool CondSub::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1349,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1349,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1349,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1350,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1350,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1350,1
    - Dst: mpz_urandomm
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1352,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1352,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1365
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1365
    functionName: cryptofuzz::module::libgmp_bignum::RandRange::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_urandomm
    - CF_CHECK_EQ
    - mpz_sgn
    - GetPtr
    - CF_CHECK_NE
    linkageType: ''
    returnType: bool
    signature: bool RandRange::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_randinit_default
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:19,1
    - Dst: gmp_randseed_ui
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:20,1
    - Dst: rand
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: cryptofuzz::module::libgmp::libgmp
    functionSourceFile: /src/cryptofuzz/modules/libgmp/module.cpp
    functionUses: 0
    functionsReached:
    - rand
    - gmp_randseed_ui
    - gmp_randinit_default
    linkageType: ''
    returnType: void
    signature: void libgmp::libgmp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:26,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:26,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:30,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:31,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:32,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:33,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:37,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:37,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:38,1
    - Dst: libgmp_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:38,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:40,1
    - Dst: libgmp_bignum::Bignum::Randomize
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:40,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:42,1
    - Dst: libgmp_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:42,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:42,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:43,1
    - Dst: libgmp_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:43,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:43,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:44,1
    - Dst: libgmp_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:44,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:44,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:45,1
    - Dst: libgmp_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:45,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:45,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:48,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:49,1
    - Dst: std::make_unique<libgmp_bignum::Add>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:50,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:52,1
    - Dst: std::make_unique<libgmp_bignum::Sub>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:53,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:55,1
    - Dst: std::make_unique<libgmp_bignum::Mul>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:56,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:58,1
    - Dst: std::make_unique<libgmp_bignum::Div>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:61,1
    - Dst: std::make_unique<libgmp_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:64,1
    - Dst: std::make_unique<libgmp_bignum::GCD>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:65,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:67,1
    - Dst: std::make_unique<libgmp_bignum::ExtGCD_X>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:68,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:70,1
    - Dst: std::make_unique<libgmp_bignum::ExtGCD_Y>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:71,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:73,1
    - Dst: std::make_unique<libgmp_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:74,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:76,1
    - Dst: std::make_unique<libgmp_bignum::Cmp>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:77,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:79,1
    - Dst: std::make_unique<libgmp_bignum::LCM>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:80,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:82,1
    - Dst: std::make_unique<libgmp_bignum::Xor>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:83,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:85,1
    - Dst: std::make_unique<libgmp_bignum::And>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:86,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:88,1
    - Dst: std::make_unique<libgmp_bignum::Abs>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:89,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:91,1
    - Dst: std::make_unique<libgmp_bignum::Neg>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:92,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:94,1
    - Dst: std::make_unique<libgmp_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:95,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:97,1
    - Dst: std::make_unique<libgmp_bignum::SqrtCeil>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:98,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:100,1
    - Dst: std::make_unique<libgmp_bignum::Sqr>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:101,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:103,1
    - Dst: std::make_unique<libgmp_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:104,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:106,1
    - Dst: std::make_unique<libgmp_bignum::IsZero>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:107,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:109,1
    - Dst: std::make_unique<libgmp_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:110,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:112,1
    - Dst: std::make_unique<libgmp_bignum::AddMod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:113,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:115,1
    - Dst: std::make_unique<libgmp_bignum::SubMod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:116,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:118,1
    - Dst: std::make_unique<libgmp_bignum::MulMod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:119,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:121,1
    - Dst: std::make_unique<libgmp_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:122,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:124,1
    - Dst: std::make_unique<libgmp_bignum::Mod_NIST_192>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:125,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:127,1
    - Dst: std::make_unique<libgmp_bignum::Mod_NIST_224>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:128,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:130,1
    - Dst: std::make_unique<libgmp_bignum::Mod_NIST_256>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:131,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:133,1
    - Dst: std::make_unique<libgmp_bignum::Mod_NIST_384>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:134,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:136,1
    - Dst: std::make_unique<libgmp_bignum::Mod_NIST_521>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:137,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:139,1
    - Dst: std::make_unique<libgmp_bignum::SetBit>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:140,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:142,1
    - Dst: std::make_unique<libgmp_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:143,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:145,1
    - Dst: std::make_unique<libgmp_bignum::Bit>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:146,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:148,1
    - Dst: std::make_unique<libgmp_bignum::InvMod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:149,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:151,1
    - Dst: std::make_unique<libgmp_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:152,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:154,1
    - Dst: std::make_unique<libgmp_bignum::IsEven>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:155,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:157,1
    - Dst: std::make_unique<libgmp_bignum::IsPow2>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:158,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:160,1
    - Dst: std::make_unique<libgmp_bignum::NumLSZeroBits>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:161,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:163,1
    - Dst: std::make_unique<libgmp_bignum::Factorial>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:164,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:166,1
    - Dst: std::make_unique<libgmp_bignum::Cbrt>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:167,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:169,1
    - Dst: std::make_unique<libgmp_bignum::SqrtRem>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:170,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:172,1
    - Dst: std::make_unique<libgmp_bignum::CbrtRem>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:173,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:175,1
    - Dst: std::make_unique<libgmp_bignum::Nthrt>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:176,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:178,1
    - Dst: std::make_unique<libgmp_bignum::NthrtRem>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:179,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:181,1
    - Dst: std::make_unique<libgmp_bignum::IsSquare>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:182,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:184,1
    - Dst: std::make_unique<libgmp_bignum::Exp>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:185,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:187,1
    - Dst: std::make_unique<libgmp_bignum::Or>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:188,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:190,1
    - Dst: std::make_unique<libgmp_bignum::AddMul>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:191,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:193,1
    - Dst: std::make_unique<libgmp_bignum::SubMul>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:194,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:196,1
    - Dst: std::make_unique<libgmp_bignum::Primorial>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:197,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:199,1
    - Dst: std::make_unique<libgmp_bignum::Lucas>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:200,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:202,1
    - Dst: std::make_unique<libgmp_bignum::Fibonacci>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:203,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:205,1
    - Dst: std::make_unique<libgmp_bignum::Set>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:206,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:208,1
    - Dst: std::make_unique<libgmp_bignum::BinCoeff>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:209,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:211,1
    - Dst: std::make_unique<libgmp_bignum::HamDist>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:212,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:214,1
    - Dst: std::make_unique<libgmp_bignum::Mod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:215,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:217,1
    - Dst: std::make_unique<libgmp_bignum::IsPower>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:218,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:220,1
    - Dst: std::make_unique<libgmp_bignum::Prime>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:221,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:223,1
    - Dst: std::make_unique<libgmp_bignum::IsPrime>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:224,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:226,1
    - Dst: std::make_unique<libgmp_bignum::Rand>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:227,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:229,1
    - Dst: std::make_unique<libgmp_bignum::NumBits>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:230,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:232,1
    - Dst: std::make_unique<libgmp_bignum::CondAdd>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:233,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:235,1
    - Dst: std::make_unique<libgmp_bignum::CondSub>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:236,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:238,1
    - Dst: std::make_unique<libgmp_bignum::RandRange>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:239,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:243,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:244,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:244,1
    - Dst: libgmp_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:246,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 210
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 250
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 250
    functionName: cryptofuzz::module::libgmp::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libgmp/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<libgmp_bignum::Jacobi>
    - libgmp_bignum::Bignum::ToComponentBignum
    - std::make_unique<libgmp_bignum::NthrtRem>
    - std::make_unique<libgmp_bignum::IsOdd>
    - std::make_unique<libgmp_bignum::SubMod>
    - std::make_unique<libgmp_bignum::CondAdd>
    - std::make_unique<libgmp_bignum::CmpAbs>
    - std::make_unique<libgmp_bignum::Set>
    - bn0::ToString
    - std::make_unique<libgmp_bignum::Rand>
    - libgmp_bignum::Bignum::Set
    - std::make_unique<libgmp_bignum::HamDist>
    - std::make_unique<libgmp_bignum::ExpMod>
    - CF_CHECK_EQ
    - std::make_unique<libgmp_bignum::Or>
    - std::make_unique<libgmp_bignum::Div>
    - std::make_unique<libgmp_bignum::ExtGCD_Y>
    - std::make_unique<libgmp_bignum::Prime>
    - std::make_unique<libgmp_bignum::MulMod>
    - std::make_unique<libgmp_bignum::Xor>
    - std::make_unique<libgmp_bignum::AddMod>
    - libgmp_bignum::BignumCluster::Set
    - std::make_unique<libgmp_bignum::Add>
    - std::make_unique<libgmp_bignum::Mod>
    - std::make_unique<libgmp_bignum::Mod_NIST_521>
    - std::make_unique<libgmp_bignum::GCD>
    - getBignum
    - std::make_unique<libgmp_bignum::SqrtCeil>
    - std::make_unique<libgmp_bignum::SetBit>
    - bn3::ToString
    - std::make_unique<libgmp_bignum::LCM>
    - std::make_unique<libgmp_bignum::Exp>
    - calcOp::Get
    - std::make_unique<libgmp_bignum::Mod_NIST_224>
    - std::make_unique<libgmp_bignum::IsPower>
    - CF_NORET
    - std::unique_ptr::Run
    - std::make_unique<libgmp_bignum::Bit>
    - std::make_unique<libgmp_bignum::Primorial>
    - std::make_unique<libgmp_bignum::BinCoeff>
    - std::make_unique<libgmp_bignum::Abs>
    - std::make_unique<libgmp_bignum::Cbrt>
    - modifier::GetPtr
    - calcOp::Is
    - std::make_unique<libgmp_bignum::Lucas>
    - std::make_unique<libgmp_bignum::CbrtRem>
    - std::make_unique<libgmp_bignum::Sqrt>
    - std::make_unique<libgmp_bignum::IsZero>
    - std::make_unique<libgmp_bignum::IsNeg>
    - std::make_unique<libgmp_bignum::Neg>
    - std::make_unique<libgmp_bignum::SubMul>
    - bn1::ToString
    - std::make_unique<libgmp_bignum::Cmp>
    - std::make_unique<libgmp_bignum::ClearBit>
    - libgmp_bignum::Bignum::Randomize
    - std::make_unique<libgmp_bignum::Mod_NIST_192>
    - std::make_unique<libgmp_bignum::And>
    - CF_CALCOP
    - std::make_unique<libgmp_bignum::Factorial>
    - bn2::ToString
    - std::make_unique<libgmp_bignum::SqrtRem>
    - std::make_unique<libgmp_bignum::Mod_NIST_256>
    - std::make_unique<libgmp_bignum::IsEven>
    - std::make_unique<libgmp_bignum::Sqr>
    - std::make_unique<libgmp_bignum::Sub>
    - std::make_unique<libgmp_bignum::NumLSZeroBits>
    - std::make_unique<libgmp_bignum::AddMul>
    - std::make_unique<libgmp_bignum::Mul>
    - std::make_unique<libgmp_bignum::IsPrime>
    - std::make_unique<libgmp_bignum::CondSub>
    - std::make_unique<libgmp_bignum::ExtGCD_X>
    - std::make_unique<libgmp_bignum::Fibonacci>
    - std::make_unique<libgmp_bignum::NumBits>
    - std::make_unique<libgmp_bignum::Mod_NIST_384>
    - std::make_unique<libgmp_bignum::IsSquare>
    - std::make_unique<libgmp_bignum::IsPow2>
    - std::make_unique<libgmp_bignum::Nthrt>
    - std::make_unique<libgmp_bignum::SqrMod>
    - std::make_unique<libgmp_bignum::InvMod>
    - std::make_unique<libgmp_bignum::RandRange>
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> libgmp::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void Bignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:32,1
    - Dst: mpz_set_str
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:32,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mpz_set_str
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mpz_ptr
    signature: mpz_ptr GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:46,1
    - Dst: mpz_fits_slong_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:46,1
    - Dst: cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:46,1
    - Dst: mpz_get_si
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:48,1
    - Dst: cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::GetSignedLong
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mpz_fits_slong_p
    - mpz_get_si
    - cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
    linkageType: ''
    returnType: std::optional<signed long>
    signature: std::optional<signed long> GetSignedLong(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:56,1
    - Dst: mpz_fits_ulong_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:56,1
    - Dst: cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:56,1
    - Dst: mpz_get_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:58,1
    - Dst: cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::GetUnsignedLong
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mpz_fits_ulong_p
    - mpz_get_ui
    - cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
    linkageType: ''
    returnType: std::optional<unsigned long int>
    signature: std::optional<unsigned long int> GetUnsignedLong(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:67,1
    - Dst: free
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - std::string
    - free
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: operator==(const Bignum& rhs)
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpz_cmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Bignum& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:80,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:83,1
    - Dst: cryptofuzz::module::libgmp_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:84,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::Randomize
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - GetData
    - cryptofuzz::module::libgmp_bignum::Bignum::Set
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: void
    signature: void Randomize(fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' ds'
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - Datasource
    - Bignum
    - Bignum
    - Bignum
    - Bignum
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: cryptofuzz::module::libgmp_bignum::BignumCluster::BignumCluster
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster(Datasource& ds, Bignum bn0, Bignum bn1, Bignum bn2,
      Bignum bn3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:101,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:102,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: '& operator[](const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - Get
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & operator[](const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:125,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: '& Get(const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & Get(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:133,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:134,1
    - Dst: cryptofuzz::module::libgmp_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - index
    - s
    argTypes:
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: cryptofuzz::module::libgmp_bignum::BignumCluster::Set
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 1
    functionsReached:
    - abort
    - cryptofuzz::module::libgmp_bignum::BignumCluster::Set
    - size
    linkageType: ''
    returnType: bool
    signature: bool Set(const size_t index, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::libgmp_bignum::BignumCluster::GetDestPtr
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtr
    linkageType: ''
    returnType: mpz_ptr
    signature: mpz_ptr GetDestPtr(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:145,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: cryptofuzz::module::libgmp_bignum::BignumCluster::GetResPtr
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT
    - Get
    linkageType: ''
    returnType: mpz_ptr
    signature: mpz_ptr GetResPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:156,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:158,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:159,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: cryptofuzz::module::libgmp_bignum::BignumCluster::CopyResult
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_set
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void CopyResult(Bignum& res)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: cryptofuzz::module::libdivide::libdivide
    functionSourceFile: /src/cryptofuzz/modules/libdivide/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void libdivide::libdivide(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::lexical_cast<T>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:23,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:23,1
    - Dst: boost::lexical_cast<T>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:24,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:24,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: cryptofuzz::module::libdivide_detail::Div
    functionSourceFile: /src/cryptofuzz/modules/libdivide/module.cpp
    functionUses: 0
    functionsReached:
    - boost::lexical_cast<T>
    - std::to_string
    - bn1::ToTrimmedString
    - CF_CHECK_NE
    - bn0::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Div(operation::BignumCalc& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:43,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:43,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:46,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:46,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:50,1
    - Dst: libdivide_detail::Div<int16_t, ::libdivide::divider<int16_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:55,1
    - Dst: libdivide_detail::Div<uint16_t, ::libdivide::divider<uint16_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:57,1
    - Dst: libdivide_detail::Div<int32_t, ::libdivide::divider<int32_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:59,1
    - Dst: libdivide_detail::Div<uint32_t, ::libdivide::divider<uint32_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:61,1
    - Dst: libdivide_detail::Div<int64_t, ::libdivide::divider<int64_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:63,1
    - Dst: libdivide_detail::Div<uint64_t, ::libdivide::divider<uint64_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:65,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:68,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:68,1
    - Dst: libdivide_detail::Div<int16_t, ::libdivide::branchfree_divider<int16_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:69,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:71,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:71,1
    - Dst: libdivide_detail::Div<uint16_t, ::libdivide::branchfree_divider<uint16_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:72,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:74,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:74,1
    - Dst: libdivide_detail::Div<int32_t, ::libdivide::branchfree_divider<int32_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:75,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:77,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:77,1
    - Dst: libdivide_detail::Div<uint32_t, ::libdivide::branchfree_divider<uint32_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:78,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:80,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:80,1
    - Dst: libdivide_detail::Div<int64_t, ::libdivide::branchfree_divider<int64_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:81,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:83,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:83,1
    - Dst: libdivide_detail::Div<uint64_t, ::libdivide::branchfree_divider<uint64_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 89
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 89
    functionName: cryptofuzz::module::libdivide::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libdivide/module.cpp
    functionUses: 0
    functionsReached:
    - libdivide_detail::Div<int64_t, ::libdivide::divider<int64_t>>
    - CF_CALCOP
    - modifier::GetPtr
    - calcOp::Is
    - libdivide_detail::Div<uint32_t, ::libdivide::branchfree_divider<uint32_t>>
    - libdivide_detail::Div<int16_t, ::libdivide::divider<int16_t>>
    - Datasource::Get
    - libdivide_detail::Div<int32_t, ::libdivide::branchfree_divider<int32_t>>
    - libdivide_detail::Div<int16_t, ::libdivide::branchfree_divider<int16_t>>
    - libdivide_detail::Div<uint32_t, ::libdivide::divider<uint32_t>>
    - libdivide_detail::Div<uint16_t, ::libdivide::branchfree_divider<uint16_t>>
    - libdivide_detail::Div<uint64_t, ::libdivide::branchfree_divider<uint64_t>>
    - libdivide_detail::Div<uint16_t, ::libdivide::divider<uint16_t>>
    - libdivide_detail::Div<int64_t, ::libdivide::branchfree_divider<int64_t>>
    - bn1::ToTrimmedString
    - CF_CHECK_NE
    - libdivide_detail::Div<int32_t, ::libdivide::divider<int32_t>>
    - libdivide_detail::Div<uint64_t, ::libdivide::divider<uint64_t>>
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> libdivide::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: cryptofuzz::module::schnorrkel::schnorrkel
    functionSourceFile: /src/cryptofuzz/modules/schnorrkel/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schnorrkel::schnorrkel(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:22,1
    - Dst: signature::pub::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:22,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:23,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:24,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:24,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:29,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:29,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:30,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:30,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:31,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:32,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:33,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:33,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:34,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:34,1
    - Dst: sr25519_verify
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:37,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:37,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SR25519_Verify
    constantsTouched: []
    func_position:
      end: 41
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::schnorrkel::OpSR25519_Verify
    functionSourceFile: /src/cryptofuzz/modules/schnorrkel/module.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToTrimmedString
    - signature::signature::first::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - cleartext::GetSize
    - memcpy
    - auto::data
    - cleartext::GetPtr
    - CF_CHECK_NE
    - sr25519_verify
    - signature::pub::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> schnorrkel::OpSR25519_Verify(operation::SR25519_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: cryptofuzz::module::Aleo::Aleo
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Aleo::Aleo(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::aleo_detail::CorrectInfinityG1
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: component::G1
    signature: component::G1 CorrectInfinityG1(const std::string& x, const std::string&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ' v'
    - ' w'
    - ' x'
    - ' y'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::aleo_detail::CorrectInfinityG2
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: component::G2
    signature: "component::G2 CorrectInfinityG2(\n            const std::string& v,\n
      \           const std::string& w,\n            const std::string& x,\n            const
      std::string& y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/aleo/module.cpp:87,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:87,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:94,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:94,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:94,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/aleo/module.cpp:96,1
    - Dst: cryptofuzz_aleo_privatetopublic
      Src: /src/cryptofuzz/modules/aleo/module.cpp:96,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:97,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:98,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:99,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:101,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:101,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:101,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:102,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:102,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:102,1
    - Dst: cryptofuzz::module::aleo_detail::CorrectInfinityG1
      Src: /src/cryptofuzz/modules/aleo/module.cpp:104,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:105,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:105,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:105,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:106,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:106,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 110
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 110
    functionName: cryptofuzz::module::Aleo::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached:
    - end
    - cryptofuzz_aleo_privatetopublic
    - priv::ToTrimmedString
    - begin
    - data
    - std::array::size
    - cryptofuzz::util::BinToDec
    - std::array::begin
    - curveType::Is
    - std::reverse
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - std::optional::data
    - std::array::end
    - cryptofuzz::module::aleo_detail::CorrectInfinityG1
    - std::array::data
    - cryptofuzz::util::DecToBin
    - CF_CHECK_NE
    - size
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> Aleo::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/aleo/module.cpp:115,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:115,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:122,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:122,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:122,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:123,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:123,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:123,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:124,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:124,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:124,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:125,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:125,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:125,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/aleo/module.cpp:127,1
    - Dst: cryptofuzz_aleo_g1_add
      Src: /src/cryptofuzz/modules/aleo/module.cpp:127,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:128,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:129,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:130,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:131,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:132,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:133,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:135,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:135,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:135,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:136,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:136,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:136,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:139,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:139,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:139,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:140,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:140,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 145
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 145
    functionName: cryptofuzz::module::Aleo::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - end
    - cryptofuzz_aleo_g1_add
    - b::second::ToTrimmedString
    - begin
    - data
    - std::array::size
    - cryptofuzz::util::BinToDec
    - a::second::ToTrimmedString
    - std::array::begin
    - curveType::Is
    - std::reverse
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - std::optional::data
    - std::array::end
    - std::array::data
    - cryptofuzz::util::DecToBin
    - CF_CHECK_NE
    - size
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Aleo::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/aleo/module.cpp:150,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:150,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:157,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:157,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:157,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:158,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:158,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:158,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:159,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:159,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:159,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/aleo/module.cpp:161,1
    - Dst: cryptofuzz_aleo_g1_mul
      Src: /src/cryptofuzz/modules/aleo/module.cpp:161,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:162,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:163,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:164,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:165,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:166,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:168,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:168,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:168,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:169,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:169,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:169,1
    - Dst: cryptofuzz::module::aleo_detail::CorrectInfinityG1
      Src: /src/cryptofuzz/modules/aleo/module.cpp:171,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:172,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:172,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:172,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:173,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:173,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 177
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 177
    functionName: cryptofuzz::module::Aleo::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - data
    - std::array::size
    - cryptofuzz::util::BinToDec
    - a::second::ToTrimmedString
    - std::array::begin
    - curveType::Is
    - cryptofuzz_aleo_g1_mul
    - std::reverse
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - b::ToTrimmedString
    - CF_CHECK_EQ
    - std::optional::data
    - std::array::end
    - cryptofuzz::module::aleo_detail::CorrectInfinityG1
    - std::array::data
    - cryptofuzz::util::DecToBin
    - CF_CHECK_NE
    - size
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Aleo::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/aleo/module.cpp:182,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:182,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:189,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:189,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:189,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:190,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:190,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:190,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/aleo/module.cpp:192,1
    - Dst: cryptofuzz_aleo_g1_neg
      Src: /src/cryptofuzz/modules/aleo/module.cpp:192,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:193,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:194,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:195,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:196,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:198,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:198,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:198,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:199,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:199,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:199,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:202,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:202,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:202,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:203,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:203,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: cryptofuzz::module::Aleo::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - data
    - std::array::size
    - cryptofuzz::util::BinToDec
    - a::second::ToTrimmedString
    - std::array::begin
    - curveType::Is
    - std::reverse
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - std::optional::data
    - std::array::end
    - std::array::data
    - cryptofuzz::util::DecToBin
    - cryptofuzz_aleo_g1_neg
    - CF_CHECK_NE
    - size
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Aleo::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/aleo/module.cpp:213,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:213,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:220,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:220,1
    - Dst: a::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:220,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:221,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:221,1
    - Dst: a::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:221,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:222,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:222,1
    - Dst: a::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:222,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:223,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:223,1
    - Dst: a::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:223,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:224,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:224,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:224,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/aleo/module.cpp:226,1
    - Dst: cryptofuzz_aleo_g2_mul
      Src: /src/cryptofuzz/modules/aleo/module.cpp:226,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:227,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:228,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:229,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:230,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:231,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:232,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:233,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:234,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:235,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:237,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:237,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:237,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:238,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:238,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:238,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:239,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:239,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:239,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:240,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:240,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:240,1
    - Dst: cryptofuzz::module::aleo_detail::CorrectInfinityG2
      Src: /src/cryptofuzz/modules/aleo/module.cpp:242,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:243,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:243,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:243,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:244,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:244,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:244,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:245,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:245,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:245,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:246,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:246,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 249
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 249
    functionName: cryptofuzz::module::Aleo::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - cryptofuzz::module::aleo_detail::CorrectInfinityG2
    - data
    - cryptofuzz_aleo_g2_mul
    - std::array::size
    - cryptofuzz::util::BinToDec
    - a::first::first::ToTrimmedString
    - std::array::begin
    - curveType::Is
    - std::reverse
    - CF_ECC_CURVE
    - b::ToTrimmedString
    - CF_CHECK_EQ
    - std::optional::data
    - std::array::end
    - a::first::second::ToTrimmedString
    - a::second::first::ToTrimmedString
    - std::array::data
    - cryptofuzz::util::DecToBin
    - a::second::second::ToTrimmedString
    - CF_CHECK_NE
    - size
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Aleo::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:257,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:259,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aleo/module.cpp:271,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aleo/module.cpp:272,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aleo/module.cpp:273,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aleo/module.cpp:274,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aleo/module.cpp:275,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aleo/module.cpp:276,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:279,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/aleo/module.cpp:279,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/aleo/module.cpp:279,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:279,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:281,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:281,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:281,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:282,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:282,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:282,1
    - Dst: cryptofuzz_aleo_bignumcalc_fr
      Src: /src/cryptofuzz/modules/aleo/module.cpp:286,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/aleo/module.cpp:287,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/aleo/module.cpp:287,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:288,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:289,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:290,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:293,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:294,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:294,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:294,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:295,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:295,1
    - Dst: cryptofuzz_aleo_bignumcalc_fq
      Src: /src/cryptofuzz/modules/aleo/module.cpp:297,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/aleo/module.cpp:298,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/aleo/module.cpp:298,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:299,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:300,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:301,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:304,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:305,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:305,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:305,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:306,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:306,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 314
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 314
    functionName: cryptofuzz::module::Aleo::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::at
    - CF_UNREACHABLE
    - CF_CALCOP
    - std::map::find
    - bn0::ToTrimmedString
    - cryptofuzz::util::BinToDec
    - cryptofuzz_aleo_bignumcalc_fr
    - std::array::begin
    - std::map::end
    - std::reverse
    - std::optional::data
    - std::array::end
    - calcOp::Get
    - std::array::data
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - cryptofuzz_aleo_bignumcalc_fq
    - modulo::ToTrimmedString
    - bn1::ToTrimmedString
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Aleo::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: cryptofuzz::module::Aleo::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Aleo::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: cryptofuzz::module::CPPCrypto::CPPCrypto
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPPCrypto::CPPCrypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hashsize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:37,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:44,1
    - Dst: init
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:45,1
    - Dst: update
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:50,1
    - Dst: final
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:55,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ' hasher'
    - ' op'
    - ' ds'
    - hashSize
    argTypes:
    - Hasher
    - operation::Digest
    - Datasource
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::CPPCrypto::digest
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - update
    - init
    - final
    - hashsize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> CPPCrypto::digest(Hasher& hasher,
      operation::Digest& op, Datasource& ds, size_t hashSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:62,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:62,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:66,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:67,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:70,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:73,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:76,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:79,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:82,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:85,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:88,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:91,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:94,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:97,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:100,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:103,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:106,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:109,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:112,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:115,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:118,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:121,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:124,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:127,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:130,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:133,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:136,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:139,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:142,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:145,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:148,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:151,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:154,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:157,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:160,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:163,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:166,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:169,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:172,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 178
      start: 60
    functionDepth: 5
    functionLinenumber: 60
    functionLinenumberEnd: 178
    functionName: cryptofuzz::module::CPPCrypto::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - ID
    - digestType::Get
    - cryptofuzz::module::CPPCrypto::digest
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> CPPCrypto::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:181,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: cryptofuzz::module::CPPCrypto::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetSize
    - modifier::GetPtr
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> CPPCrypto::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:197,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:197,1
    - Dst: keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:197,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:198,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:198,1
    - Dst: ivsize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:198,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:199,1
    - Dst: init
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:200,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:200,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:200,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:200,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:200,1
    - Dst: encrypt_update
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:206,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:207,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:207,1
    - Dst: encrypt_final
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:213,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:214,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:214,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:215,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:215,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ' cbc'
    - ' op'
    - ' ds'
    argTypes:
    - cppcrypto::cbc
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 221
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 221
    functionName: cryptofuzz::module::CPPCrypto::encryptCBC
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - keysize
    - CF_CHECK_EQ
    - init
    - encrypt_update
    - std::vector::insert
    - std::vector::end
    - cipher::iv::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - encrypt_final
    - cipher::iv::GetPtr
    - ivsize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CPPCrypto::encryptCBC(cppcrypto::cbc&
      cbc, operation::SymmetricEncrypt& op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:233,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:233,1
    - Dst: keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:233,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:234,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:234,1
    - Dst: ivsize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:234,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:235,1
    - Dst: init
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:236,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:236,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:236,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:236,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:236,1
    - Dst: decrypt_update
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:242,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:243,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:243,1
    - Dst: decrypt_final
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:249,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:250,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:250,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:251,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:251,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ' cbc'
    - ' op'
    - ' ds'
    argTypes:
    - cppcrypto::cbc
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 257
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 257
    functionName: cryptofuzz::module::CPPCrypto::decryptCBC
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - decrypt_final
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - keysize
    - CF_CHECK_EQ
    - init
    - std::vector::insert
    - std::vector::end
    - cipher::iv::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cipher::iv::GetPtr
    - decrypt_update
    - ivsize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CPPCrypto::decryptCBC(cppcrypto::cbc&
      cbc, operation::SymmetricDecrypt& op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:267,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:267,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:269,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:269,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:271,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:271,1
    - Dst: init
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:272,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:272,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:272,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:272,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:272,1
    - Dst: encrypt
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:277,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:277,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:277,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:282,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 5
    argNames:
    - ' ctr'
    - ' op'
    - ' ds'
    - keySize
    - blockSize
    argTypes:
    - cppcrypto::ctr
    - operation::SymmetricEncrypt
    - Datasource
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 290
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 290
    functionName: cryptofuzz::module::CPPCrypto::encryptCTR
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - init
    - CF_CHECK_LTE
    - cleartext::GetPtr
    - encrypt
    - cipher::iv::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> CPPCrypto::encryptCTR(cppcrypto::ctr&
      ctr, operation::SymmetricEncrypt& op, Datasource& ds, const size_t keySize,
      const size_t blockSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:300,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:300,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:302,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:302,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:304,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:304,1
    - Dst: init
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:305,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:305,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:305,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:305,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:305,1
    - Dst: decrypt
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:310,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:310,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:310,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:315,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 5
    argNames:
    - ' ctr'
    - ' op'
    - ' ds'
    - keySize
    - blockSize
    argTypes:
    - cppcrypto::ctr
    - operation::SymmetricDecrypt
    - Datasource
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 323
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 323
    functionName: cryptofuzz::module::CPPCrypto::decryptCTR
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - init
    - CF_CHECK_LTE
    - component::Cleartext
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CPPCrypto::decryptCTR(cppcrypto::ctr&
      ctr, operation::SymmetricDecrypt& op, Datasource& ds, const size_t keySize,
      const size_t blockSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:327,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:327,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:331,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:332,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:336,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:339,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:343,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:346,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:350,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:353,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:357,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:360,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:364,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:367,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:371,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:374,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:397,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:400,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:404,1
    - Dst: cppcrypto::aria128::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:404,1
    - Dst: cppcrypto::aria128::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:404,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:407,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:411,1
    - Dst: cppcrypto::aria192::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:411,1
    - Dst: cppcrypto::aria192::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:411,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:414,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:418,1
    - Dst: cppcrypto::aria256::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:418,1
    - Dst: cppcrypto::aria256::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:418,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:421,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:425,1
    - Dst: cppcrypto::camellia128::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:425,1
    - Dst: cppcrypto::camellia128::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:425,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:428,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:432,1
    - Dst: cppcrypto::camellia192::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:432,1
    - Dst: cppcrypto::camellia192::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:432,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:435,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:439,1
    - Dst: cppcrypto::camellia256::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:439,1
    - Dst: cppcrypto::camellia256::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:439,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:442,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:446,1
    - Dst: cppcrypto::sm4::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:446,1
    - Dst: cppcrypto::sm4::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:446,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 452
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 452
    functionName: cryptofuzz::module::CPPCrypto::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - cppcrypto::aria128::keysize
    - cppcrypto::aria192::blocksize
    - cipher::cipherType::Get
    - modifier::GetPtr
    - cppcrypto::camellia256::blocksize
    - cppcrypto::camellia128::blocksize
    - cppcrypto::camellia256::keysize
    - cppcrypto::aria192::keysize
    - cryptofuzz::module::CPPCrypto::encryptCBC
    - cppcrypto::aria128::blocksize
    - cppcrypto::aria256::blocksize
    - cppcrypto::camellia192::blocksize
    - ID
    - cppcrypto::camellia192::keysize
    - cppcrypto::aria256::keysize
    - cppcrypto::sm4::blocksize
    - cryptofuzz::module::CPPCrypto::encryptCTR
    - cppcrypto::sm4::keysize
    - modifier::GetSize
    - cppcrypto::camellia128::keysize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CPPCrypto::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:456,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:456,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:460,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:461,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:465,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:468,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:472,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:475,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:479,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:482,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:486,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:489,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:493,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:496,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:500,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:503,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:526,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:529,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:533,1
    - Dst: cppcrypto::aria128::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:533,1
    - Dst: cppcrypto::aria128::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:533,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:536,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:540,1
    - Dst: cppcrypto::aria192::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:540,1
    - Dst: cppcrypto::aria192::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:540,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:543,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:547,1
    - Dst: cppcrypto::aria256::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:547,1
    - Dst: cppcrypto::aria256::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:547,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:550,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:554,1
    - Dst: cppcrypto::camellia128::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:554,1
    - Dst: cppcrypto::camellia128::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:554,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:557,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:561,1
    - Dst: cppcrypto::camellia192::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:561,1
    - Dst: cppcrypto::camellia192::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:561,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:564,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:568,1
    - Dst: cppcrypto::camellia256::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:568,1
    - Dst: cppcrypto::camellia256::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:568,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:571,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:575,1
    - Dst: cppcrypto::sm4::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:575,1
    - Dst: cppcrypto::sm4::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:575,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 581
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 581
    functionName: cryptofuzz::module::CPPCrypto::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - cppcrypto::aria128::keysize
    - cppcrypto::aria192::blocksize
    - cipher::cipherType::Get
    - modifier::GetPtr
    - cppcrypto::camellia256::blocksize
    - cppcrypto::camellia128::blocksize
    - cppcrypto::camellia256::keysize
    - cppcrypto::aria192::keysize
    - cppcrypto::aria128::blocksize
    - cppcrypto::aria256::blocksize
    - cppcrypto::camellia192::blocksize
    - ID
    - cryptofuzz::module::CPPCrypto::decryptCBC
    - cppcrypto::camellia192::keysize
    - cppcrypto::aria256::keysize
    - cppcrypto::sm4::blocksize
    - cppcrypto::sm4::keysize
    - modifier::GetSize
    - cryptofuzz::module::CPPCrypto::decryptCTR
    - cppcrypto::camellia128::keysize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CPPCrypto::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: cryptofuzz::module::Boost::Boost
    functionSourceFile: /src/cryptofuzz/modules/boost/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Boost::Boost(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/boost/module.cpp:18,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/boost/module.cpp:19,1
    - Dst: boost::uuids::detail::sha1::process_bytes
      Src: /src/cryptofuzz/modules/boost/module.cpp:22,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/boost/module.cpp:22,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/boost/module.cpp:22,1
    - Dst: boost::uuids::detail::sha1::get_digest
      Src: /src/cryptofuzz/modules/boost/module.cpp:24,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/boost/module.cpp:27,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/boost/module.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 45
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 45
    functionName: cryptofuzz::module::Boost::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/boost/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - boost::uuids::detail::sha1::process_bytes
    - cleartext::GetSize
    - digestType::Get
    - memcpy
    - cleartext::GetPtr
    - CF_DIGEST
    - boost::uuids::detail::sha1::get_digest
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Boost::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/boost/module.cpp:49,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/boost/module.cpp:49,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/boost/module.cpp:51,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/boost/module.cpp:52,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/boost/module.cpp:53,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/boost/module.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:65,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/boost/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:72,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/boost/module.cpp:73,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:76,1
    - Dst: cryptofuzz_secp256k1_fe_sqrt
      Src: /src/cryptofuzz/modules/boost/module.cpp:77,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:79,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/boost/module.cpp:80,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/boost/module.cpp:80,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/boost/module.cpp:81,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/boost/module.cpp:81,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/boost/module.cpp:82,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/boost/module.cpp:82,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/boost/module.cpp:84,1
    - Dst: boost::multiprecision::powm
      Src: /src/cryptofuzz/modules/boost/module.cpp:85,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:87,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:90,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:93,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:96,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/boost/module.cpp:97,1
    - Dst: boost::multiprecision::lsb
      Src: /src/cryptofuzz/modules/boost/module.cpp:98,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:100,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/boost/module.cpp:101,1
    - Dst: boost::multiprecision::msb
      Src: /src/cryptofuzz/modules/boost/module.cpp:102,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:104,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:107,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/boost/module.cpp:108,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/boost/module.cpp:109,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:111,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/boost/module.cpp:112,1
    - Dst: boost::multiprecision::bit_test
      Src: /src/cryptofuzz/modules/boost/module.cpp:113,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/boost/module.cpp:113,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:115,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/boost/module.cpp:116,1
    - Dst: boost::multiprecision::bit_set
      Src: /src/cryptofuzz/modules/boost/module.cpp:118,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/boost/module.cpp:118,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:120,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/boost/module.cpp:121,1
    - Dst: boost::multiprecision::bit_unset
      Src: /src/cryptofuzz/modules/boost/module.cpp:123,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/boost/module.cpp:123,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:125,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:128,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:131,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:134,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:137,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:140,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/modules/boost/module.cpp:147,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 152
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 152
    functionName: cryptofuzz::module::Boost::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/boost/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - boost::multiprecision::bit_set
    - bn1::GetSize
    - boost::multiprecision::cpp_int::str
    - CF_CALCOP
    - boost::multiprecision::lsb
    - modifier::GetPtr
    - bn2::ToTrimmedString
    - cryptofuzz_secp256k1_fe_sqrt
    - bn0::ToTrimmedString
    - boost::multiprecision::bit_test
    - bn0::GetSize
    - bn2::GetSize
    - CF_CHECK_LTE
    - boost::multiprecision::powm
    - boost::multiprecision::msb
    - static_cast<unsigned int>
    - calcOp::Get
    - bn1::ToTrimmedString
    - CF_CHECK_NE
    - modifier::GetSize
    - boost::multiprecision::bit_unset
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Boost::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NimMain
      Src: /src/cryptofuzz/modules/constantine/module.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: cryptofuzz::module::Constantine::Constantine
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - NimMain
    linkageType: ''
    returnType: void
    signature: void Constantine::Constantine(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - v
    argTypes:
    - Datasource
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: cryptofuzz::module::Constantine_detail::Pad
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Pad(Datasource& ds, const std::vector<uint8_t>
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:32,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:32,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:32,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:33,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:33,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Constantine_detail::LoadField
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - cryptofuzz::util::DecToBin
    - memcpy
    - std::optional::data
    - CF_CHECK_NE
    - ToTrimmedString
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, N>>
    signature: std::optional<std::array<uint8_t, N>> LoadField(const component::Bignum&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:44,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:44,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:44,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:45,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:45,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:45,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:46,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:46,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:46,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:47,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:47,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - component::G1
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: cryptofuzz::module::Constantine_detail::LoadG1
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Constantine_detail::LoadField
    - std::array::data
    - data
    - memcpy
    - std::optional::data
    - CF_CHECK_NE
    - first::ToTrimmedString
    - second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, N*2>>
    signature: std::optional<std::array<uint8_t, N*2>> LoadG1(const component::G1&
      g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:59,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:59,1
    - Dst: first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:59,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:60,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:60,1
    - Dst: first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:60,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:61,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:61,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:61,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:62,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:62,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:62,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:63,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:63,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:63,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:64,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:64,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:64,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:65,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:65,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:65,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:66,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:66,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - component::G2
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::Constantine_detail::LoadG2
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - second::second::ToTrimmedString
    - cryptofuzz::module::Constantine_detail::LoadField
    - std::array::data
    - data
    - memcpy
    - std::optional::data
    - CF_CHECK_NE
    - first::second::ToTrimmedString
    - first::first::ToTrimmedString
    - second::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, N * 4>>
    signature: std::optional<std::array<uint8_t, N * 4>> LoadG2(const component::G2&
      g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:75,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:77,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - std::array<uint8_t, N*2>
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::Constantine_detail::SaveG1
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::G1
    signature: component::G1 SaveG1(const std::array<uint8_t, N*2>& g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:84,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:86,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:87,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:88,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - std::array<uint8_t, N*4>
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: cryptofuzz::module::Constantine_detail::SaveG2
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::G2
    signature: component::G2 SaveG2(const std::array<uint8_t, N*4>& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:95,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:97,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:98,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:99,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:100,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:101,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:102,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:104,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:105,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:106,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:107,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:108,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:109,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:111,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:112,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:113,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:114,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:115,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fp12'
    argTypes:
    - std::array<uint8_t, N * 12>
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: cryptofuzz::module::Constantine_detail::SaveFp12
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - data
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::Fp12
    signature: component::Fp12 SaveFp12(const std::array<uint8_t, N * 12>& fp12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:128,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:128,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:128,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:129,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:129,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:129,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:129,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:131,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:131,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:131,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:132,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:132,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:132,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:132,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:134,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:134,1
    - Dst: bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:134,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:135,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:135,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:135,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:135,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:137,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:137,1
    - Dst: bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:137,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:138,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:138,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:138,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:138,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:140,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:140,1
    - Dst: bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:140,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:141,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:141,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:141,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:141,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:143,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:143,1
    - Dst: bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:143,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:144,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:144,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:144,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:144,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:146,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:146,1
    - Dst: bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:146,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:147,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:147,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:147,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:147,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:149,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:149,1
    - Dst: bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:149,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:150,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:150,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:150,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:150,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:152,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:152,1
    - Dst: bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:152,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:153,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:153,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:153,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:153,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:155,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:155,1
    - Dst: bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:155,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:156,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:156,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:156,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:156,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:158,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:158,1
    - Dst: bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:158,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:159,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:159,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:159,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:159,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:161,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:161,1
    - Dst: bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:161,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:162,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:162,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:162,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - ' fp12'
    argTypes:
    - component::Fp12
    constantsTouched: []
    func_position:
      end: 167
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 167
    functionName: cryptofuzz::module::Constantine_detail::LoadFp12
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - bn7::ToTrimmedString
    - std::array::data
    - cryptofuzz::module::Constantine_detail::LoadField
    - bn3::ToTrimmedString
    - bn2::ToTrimmedString
    - std::optional::size
    - bn11::ToTrimmedString
    - memcpy
    - bn1::ToTrimmedString
    - bn9::ToTrimmedString
    - bn10::ToTrimmedString
    - std::optional::data
    - CF_CHECK_NE
    - bn5::ToTrimmedString
    - bn6::ToTrimmedString
    - bn4::ToTrimmedString
    - bn12::ToTrimmedString
    - bn8::ToTrimmedString
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, N * 12>>
    signature: std::optional<std::array<uint8_t, N * 12>> LoadFp12(const component::Fp12&
      fp12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:171,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' field'
    argTypes:
    - std::array<uint8_t, N>
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: cryptofuzz::module::Constantine_detail::SaveField
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum SaveField(const std::array<uint8_t, N>& field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:178,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:178,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:180,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:180,1
    - Dst: cryptofuzz_constantine_bls_isg1oncurve
      Src: /src/cryptofuzz/modules/constantine/module.cpp:182,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:182,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:183,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:185,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:185,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:187,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:187,1
    - Dst: cryptofuzz_constantine_bls_isg1oncurve
      Src: /src/cryptofuzz/modules/constantine/module.cpp:189,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:189,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 196
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 196
    functionName: cryptofuzz::module::Constantine::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::LoadG1<48>
    - cryptofuzz::module::Constantine_detail::LoadG1
    - CF_ECC_CURVE
    - std::optional::data
    - cryptofuzz_constantine_bls_isg1oncurve
    - CF_CHECK_NE
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Constantine::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:201,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:201,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:203,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:203,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:204,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:204,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:207,1
    - Dst: cryptofuzz_constantine_bls_g1_add
      Src: /src/cryptofuzz/modules/constantine/module.cpp:208,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:210,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:210,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:211,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:211,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:212,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:213,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:215,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:215,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:219,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:219,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:220,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:220,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:221,1
    - Dst: cryptofuzz_constantine_bls_g1_add
      Src: /src/cryptofuzz/modules/constantine/module.cpp:222,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:224,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:224,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:225,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:225,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:226,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:228,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:229,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:229,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:233,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:233,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:234,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:234,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:235,1
    - Dst: cryptofuzz_constantine_bls_g1_add
      Src: /src/cryptofuzz/modules/constantine/module.cpp:236,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:238,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:238,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:239,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:239,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:240,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 247
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 247
    functionName: cryptofuzz::module::Constantine::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - Constantine_detail::LoadG1<48>
    - cryptofuzz::module::Constantine_detail::LoadG1
    - CF_CHECK_EQ
    - CF_ECC_CURVE
    - std::optional::size
    - data
    - cryptofuzz::module::Constantine_detail::SaveG1
    - std::optional::data
    - CF_CHECK_NE
    - size
    - Constantine_detail::SaveG1<48>
    - cryptofuzz_constantine_bls_g1_add
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:250,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:250,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:256,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:260,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:260,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:265,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:265,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:266,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:266,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:268,1
    - Dst: cryptofuzz_constantine_bls_g1_mul
      Src: /src/cryptofuzz/modules/constantine/module.cpp:269,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:271,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:271,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:272,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:272,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:274,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:276,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:277,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:277,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:282,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:282,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:283,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:283,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:284,1
    - Dst: cryptofuzz_constantine_bls_g1_mul
      Src: /src/cryptofuzz/modules/constantine/module.cpp:285,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:287,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:287,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:288,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:288,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:290,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:292,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:293,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:293,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:298,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:298,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:299,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:299,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:300,1
    - Dst: cryptofuzz_constantine_bls_g1_mul
      Src: /src/cryptofuzz/modules/constantine/module.cpp:301,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:303,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:303,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:304,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:304,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:306,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 313
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 313
    functionName: cryptofuzz::module::Constantine::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::LoadField<48>
    - cryptofuzz::module::Constantine_detail::LoadField
    - modifier::GetPtr
    - std::array::data
    - CF_ECC_CURVE
    - cryptofuzz::module::Constantine_detail::LoadG1
    - CF_CHECK_EQ
    - std::optional::size
    - cryptofuzz_constantine_bls_g1_mul
    - Constantine_detail::LoadG1<48>
    - cryptofuzz::module::Constantine_detail::SaveG1
    - std::optional::data
    - CF_CHECK_NE
    - Constantine_detail::SaveG1<48>
    - modifier::GetSize
    - Datasource::Get
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:316,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:316,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:326,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:330,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:332,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:332,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:339,1
    - Dst: Constantine_detail::LoadG1<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:339,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:340,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:340,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:340,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:340,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:342,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:342,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:343,1
    - Dst: end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:343,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:343,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:343,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:348,1
    - Dst: cryptofuzz_constantine_bls_g1_multiexp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:349,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:351,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:351,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:352,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:352,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:355,1
    - Dst: Constantine_detail::SaveG1<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:357,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:358,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:358,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:365,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:365,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:366,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:366,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:366,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:366,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:368,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:368,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:369,1
    - Dst: end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:369,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:369,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:369,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:374,1
    - Dst: cryptofuzz_constantine_bls_g1_multiexp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:375,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:377,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:377,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:378,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:378,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:381,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 389
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 389
    functionName: cryptofuzz::module::Constantine::OpBLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - std::optional::begin
    - Constantine_detail::LoadG1<48>
    - end
    - std::optional::end
    - cryptofuzz_constantine_bls_g1_multiexp
    - modifier::GetPtr
    - data
    - insert
    - Datasource::Get
    - Constantine_detail::SaveG1<48>
    - Constantine_detail::SaveG1<32>
    - curveType::Is
    - Constantine_detail::LoadField<32>
    - std::vector::data
    - std::vector::size
    - CF_ECC_CURVE
    - std::vector::insert
    - CF_CHECK_EQ
    - std::vector::end
    - std::array::data
    - CF_CHECK_NE
    - size
    - modifier::GetSize
    - Constantine_detail::LoadG1<32>
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_G1_MultiExp(operation::BLS_G1_MultiExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:394,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:394,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:398,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:398,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:400,1
    - Dst: cryptofuzz_constantine_bls_g1_neg
      Src: /src/cryptofuzz/modules/constantine/module.cpp:401,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:403,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:403,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:404,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:406,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:407,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:407,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:411,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:411,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:413,1
    - Dst: cryptofuzz_constantine_bls_g1_neg
      Src: /src/cryptofuzz/modules/constantine/module.cpp:414,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:416,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:416,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:417,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 424
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 424
    functionName: cryptofuzz::module::Constantine::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - Constantine_detail::LoadG1<48>
    - cryptofuzz::module::Constantine_detail::LoadG1
    - CF_CHECK_EQ
    - CF_ECC_CURVE
    - std::optional::size
    - cryptofuzz::module::Constantine_detail::SaveG1
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz_constantine_bls_g1_neg
    - Constantine_detail::SaveG1<48>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:429,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:429,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:432,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:432,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:433,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:433,1
    - Dst: cryptofuzz_constantine_bls_g1_iseq
      Src: /src/cryptofuzz/modules/constantine/module.cpp:435,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:437,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:437,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:438,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:438,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:440,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:442,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:442,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:445,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:445,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:446,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:446,1
    - Dst: cryptofuzz_constantine_bls_g1_iseq
      Src: /src/cryptofuzz/modules/constantine/module.cpp:448,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:450,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:450,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:451,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:451,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 459
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 459
    functionName: cryptofuzz::module::Constantine::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::LoadG1<48>
    - cryptofuzz::module::Constantine_detail::LoadG1
    - CF_ECC_CURVE
    - data
    - cryptofuzz_constantine_bls_g1_iseq
    - std::optional::size
    - std::optional::data
    - CF_CHECK_NE
    - size
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Constantine::OpBLS_G1_IsEq(operation::BLS_G1_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:464,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:464,1
    - Dst: g2::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:468,1
    - Dst: g2::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:469,1
    - Dst: g2::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:470,1
    - Dst: g2::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:471,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:475,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:475,1
    - Dst: cryptofuzz_constantine_bls_isg2oncurve
      Src: /src/cryptofuzz/modules/constantine/module.cpp:477,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:477,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:478,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:480,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:480,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:483,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:483,1
    - Dst: cryptofuzz_constantine_bls_isg2oncurve
      Src: /src/cryptofuzz/modules/constantine/module.cpp:485,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:485,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:486,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 492
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 492
    functionName: cryptofuzz::module::Constantine::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - g2::second::second::ToTrimmedString
    - g2::first::second::ToTrimmedString
    - CF_ECC_CURVE
    - g2::second::first::ToTrimmedString
    - cryptofuzz::module::Constantine_detail::LoadG2
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz_constantine_bls_isg2oncurve
    - Constantine_detail::LoadG2<48>
    - g2::first::first::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Constantine::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:497,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:497,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:501,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:501,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:502,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:502,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:504,1
    - Dst: cryptofuzz_constantine_bls_g2_add
      Src: /src/cryptofuzz/modules/constantine/module.cpp:505,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:507,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:508,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:509,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:511,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:512,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:512,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:516,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:516,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:517,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:517,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:519,1
    - Dst: cryptofuzz_constantine_bls_g2_add
      Src: /src/cryptofuzz/modules/constantine/module.cpp:520,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:522,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:523,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:524,1
    - Dst: Constantine_detail::SaveG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 531
      start: 494
    functionDepth: 4
    functionLinenumber: 494
    functionLinenumberEnd: 531
    functionName: cryptofuzz::module::Constantine::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Constantine_detail::SaveG2
    - std::array::data
    - Constantine_detail::SaveG2<48>
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - data
    - cryptofuzz_constantine_bls_g2_add
    - cryptofuzz::module::Constantine_detail::LoadG2
    - std::optional::data
    - CF_CHECK_NE
    - Constantine_detail::LoadG2<48>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Constantine::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:534,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:534,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:540,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:544,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:544,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:549,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:549,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:550,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:550,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:552,1
    - Dst: cryptofuzz_constantine_bls_g2_mul
      Src: /src/cryptofuzz/modules/constantine/module.cpp:553,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:555,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:556,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:558,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:560,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:561,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:561,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:566,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:566,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:567,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:567,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:569,1
    - Dst: cryptofuzz_constantine_bls_g2_mul
      Src: /src/cryptofuzz/modules/constantine/module.cpp:570,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:572,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:573,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:575,1
    - Dst: Constantine_detail::SaveG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 582
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 582
    functionName: cryptofuzz::module::Constantine::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Constantine_detail::SaveG2
    - cryptofuzz::module::Constantine_detail::LoadField
    - modifier::GetPtr
    - std::array::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - Constantine_detail::SaveG2<48>
    - cryptofuzz_constantine_bls_g2_mul
    - cryptofuzz::module::Constantine_detail::LoadG2
    - std::optional::data
    - CF_CHECK_NE
    - Constantine_detail::LoadG2<48>
    - modifier::GetSize
    - Datasource::Get
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Constantine::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:587,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:587,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:591,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:591,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:593,1
    - Dst: cryptofuzz_constantine_bls_g2_neg
      Src: /src/cryptofuzz/modules/constantine/module.cpp:594,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:596,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:597,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:599,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:600,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:600,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:604,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:604,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:606,1
    - Dst: cryptofuzz_constantine_bls_g2_neg
      Src: /src/cryptofuzz/modules/constantine/module.cpp:607,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:609,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:610,1
    - Dst: Constantine_detail::SaveG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 617
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 617
    functionName: cryptofuzz::module::Constantine::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Constantine_detail::SaveG2
    - std::array::data
    - Constantine_detail::SaveG2<48>
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz::module::Constantine_detail::LoadG2
    - std::optional::data
    - CF_CHECK_NE
    - Constantine_detail::LoadG2<48>
    - cryptofuzz_constantine_bls_g2_neg
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Constantine::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:622,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:622,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:625,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:625,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:626,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:626,1
    - Dst: cryptofuzz_constantine_bls_g2_iseq
      Src: /src/cryptofuzz/modules/constantine/module.cpp:628,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:630,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:630,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:631,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:631,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:633,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:635,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:635,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:638,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:638,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:639,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:639,1
    - Dst: cryptofuzz_constantine_bls_g2_iseq
      Src: /src/cryptofuzz/modules/constantine/module.cpp:641,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:643,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:643,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:644,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:644,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 652
      start: 619
    functionDepth: 4
    functionLinenumber: 619
    functionLinenumberEnd: 652
    functionName: cryptofuzz::module::Constantine::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_constantine_bls_g2_iseq
    - CF_ECC_CURVE
    - data
    - std::optional::size
    - cryptofuzz::module::Constantine_detail::LoadG2
    - std::optional::data
    - CF_CHECK_NE
    - Constantine_detail::LoadG2<48>
    - size
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Constantine::OpBLS_G2_IsEq(operation::BLS_G2_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:659,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:659,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:664,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:664,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:665,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:665,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:667,1
    - Dst: cryptofuzz_constantine_bls_pairing
      Src: /src/cryptofuzz/modules/constantine/module.cpp:668,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:670,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:670,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:671,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:671,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:672,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveFp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:674,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:675,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:675,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:680,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:680,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:681,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:681,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:683,1
    - Dst: cryptofuzz_constantine_bls_pairing
      Src: /src/cryptofuzz/modules/constantine/module.cpp:684,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:686,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:686,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:687,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:687,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:688,1
    - Dst: Constantine_detail::SaveFp12<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 695
      start: 654
    functionDepth: 4
    functionLinenumber: 654
    functionLinenumberEnd: 695
    functionName: cryptofuzz::module::Constantine::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::SaveFp12<48>
    - std::array::data
    - Constantine_detail::LoadG1<48>
    - cryptofuzz::module::Constantine_detail::LoadG1
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - std::optional::size
    - cryptofuzz_constantine_bls_pairing
    - cryptofuzz::module::Constantine_detail::LoadG2
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::Constantine_detail::SaveFp12
    - Constantine_detail::LoadG2<48>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Constantine::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:700,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:700,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:703,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadFp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:703,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:706,1
    - Dst: cryptofuzz_constantine_bls_finalexp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:707,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:709,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:709,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:710,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveFp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:712,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:713,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:713,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:716,1
    - Dst: Constantine_detail::LoadFp12<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:716,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:719,1
    - Dst: cryptofuzz_constantine_bls_finalexp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:720,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:722,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:722,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:723,1
    - Dst: Constantine_detail::SaveFp12<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 730
      start: 697
    functionDepth: 4
    functionLinenumber: 697
    functionLinenumberEnd: 730
    functionName: cryptofuzz::module::Constantine::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::SaveFp12<48>
    - std::array::data
    - Constantine_detail::LoadFp12<48>
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz_constantine_bls_finalexp
    - std::optional::size
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::Constantine_detail::SaveFp12
    - cryptofuzz::module::Constantine_detail::LoadFp12
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Constantine::OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aug::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:735,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:736,1
    - Dst: dest::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:737,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:739,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:739,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:741,1
    - Dst: cryptofuzz_constantine_bls_hashtog1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:742,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:744,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:744,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:745,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:745,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:746,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:746,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:747,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:748,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:749,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:749,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:751,1
    - Dst: cryptofuzz_constantine_bls_hashtog1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:752,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:754,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:754,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:755,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:755,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:756,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:756,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:757,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 763
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 763
    functionName: cryptofuzz::module::Constantine::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::Get
    - std::array::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz::module::Constantine_detail::SaveG1
    - dest::Get
    - auto::data
    - aug::Get
    - cryptofuzz_constantine_bls_hashtog1
    - auto::size
    - Constantine_detail::SaveG1<48>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aug::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:768,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:769,1
    - Dst: dest::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:770,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:772,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:772,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:775,1
    - Dst: cryptofuzz_constantine_bls_hashtog2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:776,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:778,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:778,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:779,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:779,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:780,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:780,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:781,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:783,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:784,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:784,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:787,1
    - Dst: cryptofuzz_constantine_bls_hashtog2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:788,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:790,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:790,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:791,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:791,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:792,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:792,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:793,1
    - Dst: Constantine_detail::SaveG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 800
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 800
    functionName: cryptofuzz::module::Constantine::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::Get
    - cryptofuzz::module::Constantine_detail::SaveG2
    - std::array::data
    - Constantine_detail::SaveG2<48>
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - dest::Get
    - auto::data
    - cryptofuzz_constantine_bls_hashtog2
    - aug::Get
    - auto::size
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Constantine::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:805,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:805,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:808,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:808,1
    - Dst: ikm::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:810,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:812,1
    - Dst: cryptofuzz_constantine_bls_generatekeypair
      Src: /src/cryptofuzz/modules/constantine/module.cpp:813,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:814,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:815,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:816,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:817,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:819,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 825
      start: 802
    functionDepth: 3
    functionLinenumber: 802
    functionLinenumberEnd: 825
    functionName: cryptofuzz::module::Constantine::OpBLS_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_constantine_bls_generatekeypair
    - std::array::data
    - ikm::Get
    - CF_CHECK_EQ
    - CF_ECC_CURVE
    - cryptofuzz::module::Constantine_detail::SaveField
    - info::GetSize
    - auto::data
    - auto::size
    - Constantine_detail::SaveG1<48>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::BLS_KeyPair>
    signature: std::optional<component::BLS_KeyPair> Constantine::OpBLS_GenerateKeyPair(operation::BLS_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:830,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:830,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:834,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:834,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:836,1
    - Dst: cryptofuzz_constantine_bls_decompress_g1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:837,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:838,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:838,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:839,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 846
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 846
    functionName: cryptofuzz::module::Constantine::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::LoadField<48>
    - std::array::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz_constantine_bls_decompress_g1
    - std::optional::size
    - std::optional::data
    - CF_CHECK_NE
    - Constantine_detail::SaveG1<48>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:851,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:851,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:855,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:855,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:857,1
    - Dst: cryptofuzz_constantine_bls_compress_g1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:858,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:859,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:859,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:860,1
    - Dst: Constantine_detail::SaveField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 867
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 867
    functionName: cryptofuzz::module::Constantine::OpBLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::LoadG1<48>
    - std::array::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - std::optional::size
    - std::optional::data
    - CF_CHECK_NE
    - Constantine_detail::SaveField<48>
    - cryptofuzz_constantine_bls_compress_g1
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Constantine::OpBLS_Compress_G1(operation::BLS_Compress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:872,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:872,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:877,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:877,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:878,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:878,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:880,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:880,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:880,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:880,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:881,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:881,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:881,1
    - Dst: end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:881,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:883,1
    - Dst: cryptofuzz_constantine_bls_decompress_g2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:884,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:885,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:885,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:886,1
    - Dst: Constantine_detail::SaveG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 893
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 893
    functionName: cryptofuzz::module::Constantine::OpBLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Constantine_detail::LoadField<48>
    - std::optional::begin
    - std::array::data
    - Constantine_detail::SaveG2<48>
    - std::vector::insert
    - CF_ECC_CURVE
    - end
    - CF_CHECK_EQ
    - cryptofuzz_constantine_bls_decompress_g2
    - CF_CHECK_NE
    - std::optional::end
    - begin
    - std::vector::end
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Constantine::OpBLS_Decompress_G2(operation::BLS_Decompress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:898,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:898,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:902,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:902,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:904,1
    - Dst: cryptofuzz_constantine_bls_compress_g2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:905,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:906,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:906,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:907,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 914
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 914
    functionName: cryptofuzz::module::Constantine::OpBLS_Compress_G2
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_constantine_bls_compress_g2
    - std::array::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - std::optional::size
    - std::optional::data
    - CF_CHECK_NE
    - Constantine_detail::LoadG2<48>
    - Constantine_detail::SaveG1<48>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_Compress_G2(operation::BLS_Compress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:918,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:918,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:923,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:924,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:927,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:930,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:933,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:936,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:939,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:942,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:945,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:948,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:951,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:954,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:962,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:966,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:969,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:969,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:970,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:970,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:971,1
    - Dst: cryptofuzz_constantine_bignumcalc_fr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:972,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:975,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:976,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:978,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:979,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:980,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:983,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:983,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:984,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:984,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:985,1
    - Dst: cryptofuzz_constantine_bignumcalc_fp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:986,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:989,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:990,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:992,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:993,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:994,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:997,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:997,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:998,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:998,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:999,1
    - Dst: cryptofuzz_constantine_bignumcalc_fr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1000,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1003,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1004,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1006,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1007,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1008,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1011,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1011,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1012,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1012,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1013,1
    - Dst: cryptofuzz_constantine_bignumcalc_fp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1014,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1017,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1018,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1020,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1021,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1026
      start: 917
    functionDepth: 3
    functionLinenumber: 917
    functionLinenumberEnd: 1026
    functionName: cryptofuzz::module::Constantine_detail::OpBignumCalc_Mod
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::LoadField<32>
    - cryptofuzz_constantine_bignumcalc_fr
    - Constantine_detail::LoadField<48>
    - std::array::data
    - modifier::GetPtr
    - CF_CHECK_EQ
    - data
    - modulo::ToTrimmedString
    - cryptofuzz::module::Constantine_detail::SaveField
    - calcOp::Get
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz_constantine_bignumcalc_fp
    - modifier::GetSize
    - Datasource::Get
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc_Mod(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1030,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1030,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1036,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1037,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1040,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1043,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1046,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1049,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1052,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1055,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1058,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1061,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1064,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1067,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1075,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1083,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1083,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1084,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1084,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1086,1
    - Dst: cryptofuzz_constantine_bignumcalc_fp2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1087,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1090,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1090,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1091,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1091,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1093,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1095,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1100,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1100,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1101,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1101,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1103,1
    - Dst: cryptofuzz_constantine_bignumcalc_fp2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1104,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1107,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1107,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1108,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1108,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1110,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1112,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 1117
      start: 1029
    functionDepth: 4
    functionLinenumber: 1029
    functionLinenumberEnd: 1117
    functionName: cryptofuzz::module::Constantine::OpBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_constantine_bignumcalc_fp2
    - std::array::data
    - modifier::GetPtr
    - Constantine_detail::LoadG1<48>
    - cryptofuzz::module::Constantine_detail::LoadG1
    - CF_CHECK_EQ
    - data
    - std::optional::size
    - calcOp::Get
    - cryptofuzz::module::Constantine_detail::SaveG1
    - std::optional::data
    - CF_CHECK_NE
    - Constantine_detail::SaveG1<48>
    - size
    - modifier::GetSize
    - Datasource::Get
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> Constantine::OpBignumCalc_Fp2(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1120,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1120,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1126,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1127,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1130,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1133,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1136,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1139,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1142,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1145,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1148,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1151,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1154,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1157,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1165,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1173,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadFp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1173,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1174,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadFp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1174,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1176,1
    - Dst: cryptofuzz_constantine_bignumcalc_fp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1177,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1180,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1180,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1181,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1181,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1183,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveFp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1185,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1190,1
    - Dst: Constantine_detail::LoadFp12<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1190,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1191,1
    - Dst: Constantine_detail::LoadFp12<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1191,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1193,1
    - Dst: cryptofuzz_constantine_bignumcalc_fp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1194,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1197,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1197,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1198,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1198,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1200,1
    - Dst: Constantine_detail::SaveFp12<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1202,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 1207
      start: 1119
    functionDepth: 4
    functionLinenumber: 1119
    functionLinenumberEnd: 1207
    functionName: cryptofuzz::module::Constantine::OpBignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::SaveFp12<48>
    - std::array::data
    - modifier::GetPtr
    - Constantine_detail::LoadFp12<48>
    - CF_CHECK_EQ
    - cryptofuzz_constantine_bignumcalc_fp12
    - std::optional::size
    - data
    - calcOp::Get
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::Constantine_detail::SaveFp12
    - size
    - cryptofuzz::module::Constantine_detail::LoadFp12
    - modifier::GetSize
    - Datasource::Get
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Constantine::OpBignumCalc_Fp12(operation::BignumCalc_Fp12&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1211
    functionName: cryptofuzz::module::Constantine::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Constantine::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Constantine_detail::OpBignumCalc_Mod
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1215,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1219,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1219,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1221,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1221,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1226,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1227,1
    - Dst: cryptofuzz::module::Constantine_detail::Pad
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1235,1
    - Dst: bn0::ToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1235,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1236,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1236,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1236,1
    - Dst: cryptofuzz::module::Constantine_detail::Pad
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1237,1
    - Dst: bn1::ToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1237,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1238,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1238,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1238,1
    - Dst: cryptofuzz::module::Constantine_detail::Pad
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1239,1
    - Dst: bn2::ToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1239,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1240,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1240,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1240,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1241,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1241,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1241,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1241,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1242,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1242,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1242,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1242,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1243,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1243,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1243,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1243,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1244,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1244,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1244,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1244,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1245,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1245,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1245,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1245,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1246,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1246,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1246,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1246,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1248,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1248,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1249,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1249,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1249,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1257,1
    - Dst: cryptofuzz_constantine_bignumcalc_modexp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1258,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1260,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1260,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1261,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1262,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1264,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1264,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1264,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1267,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1268,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1271,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1274,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1277,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1280,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1283,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1286,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1289,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1292,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1295,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1298,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1301,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1304,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1307,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1310,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1313,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1316,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1323,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1323,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1327,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1327,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1331,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1331,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1337,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1337,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1337,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1342,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1346,1
    - Dst: cryptofuzz_constantine_bignumcalc
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1347,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1349,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1349,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1350,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1350,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1351,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1351,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1353,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1355,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1355,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1362,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1363,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1364,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1364,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1364,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1368,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1368,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1368,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1370,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1373,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1373,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1373,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 102
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1379
      start: 1213
    functionDepth: 4
    functionLinenumber: 1213
    functionLinenumberEnd: 1379
    functionName: cryptofuzz::module::Constantine::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - memset
    - std::string
    - auto::end
    - cryptofuzz::module::Constantine_detail::Pad
    - CF_CALCOP
    - modifier::GetPtr
    - calcOp::Is
    - bn2::ToTrimmedString
    - bn1::ToBin
    - bn0::ToBin
    - cryptofuzz_constantine_bignumcalc_modexp
    - std::array::size
    - bn0::ToTrimmedString
    - cryptofuzz::util::BinToDec
    - auto::size
    - cryptofuzz::module::Constantine_detail::OpBignumCalc_Mod
    - std::vector::resize
    - Datasource::Get
    - auto::begin
    - std::vector::data
    - std::vector::size
    - std::vector::insert
    - CF_CHECK_EQ
    - bn2::ToBin
    - auto::data
    - calcOp::Get
    - std::vector::end
    - std::array::data
    - cryptofuzz::util::DecToBin
    - bn1::ToTrimmedString
    - cryptofuzz_constantine_bignumcalc
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Constantine::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::noble_secp256k1::noble_secp256k1
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void noble_secp256k1::noble_secp256k1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: noble_secp256k1::~noble_secp256k1(void)
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noble_secp256k1::~noble_secp256k1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:27,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:27,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:31,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:32,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:32,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:34,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:34,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:37,1
    - Dst: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: cryptofuzz::module::noble_secp256k1::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    - Run
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> noble_secp256k1::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:47,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:47,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:51,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:55,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:55,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:55,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:55,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:59,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:60,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:60,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:62,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:62,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:63,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:65,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:68,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:68,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:71,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: cryptofuzz::module::noble_secp256k1::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::SHA256
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - CF_OPERATION
    - cleartext::ECDSA_Pad
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - digestType::Is
    - CF_DIGEST
    - auto::dump
    - UseRFC6979Nonce
    - cryptofuzz::tests::test_ECDSA_Signature
    - Run
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> noble_secp256k1::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:81,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:81,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:85,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:85,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:85,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:85,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:89,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:89,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:90,1
    - Dst: auto::IsZero
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:94,1
    - Dst: auto::Get
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:94,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:99,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:100,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:100,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:102,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:102,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:103,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:106,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:106,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 113
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 113
    functionName: cryptofuzz::module::noble_secp256k1::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::SHA256
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - cleartext::ECDSA_Pad
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - digestType::Is
    - auto::Get
    - CF_DIGEST
    - auto::IsZero
    - auto::dump
    - Run
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_secp256k1::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:118,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:118,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:122,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:123,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:123,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:125,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:125,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:128,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::noble_secp256k1::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - Run
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_secp256k1::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:138,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:138,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:142,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:143,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:143,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:145,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:145,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:148,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: cryptofuzz::module::noble_secp256k1::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - Run
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_secp256k1::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:158,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:158,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:162,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:163,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:163,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:165,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:165,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:168,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: cryptofuzz::module::noble_secp256k1::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - Run
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_secp256k1::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:177,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:177,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:181,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:182,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:182,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:184,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:184,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:187,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 192
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionName: cryptofuzz::module::noble_secp256k1::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_ECC_CURVE
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - Run
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_secp256k1::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-secp256k1/generate_ids.cpp:10,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-secp256k1/generate_ids.cpp:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - printf
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:15,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::sjcl::sjcl
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void sjcl::sjcl(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: sjcl::~sjcl(void)
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sjcl::~sjcl(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:27,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: cryptofuzz::module::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> getResultAs(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:35,1
    - Dst: JS*::Run
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:37,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:37,1
    - Dst: cryptofuzz::module::getResultAs
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - js
    - ' op'
    argTypes:
    - JS*
    - OperationType
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::Run
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - JS*::Run
    - ToJSON
    - std::to_string
    - cryptofuzz::module::getResultAs
    - auto::dump
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Run(JS* js, OperationType& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:47,1
    - Dst: Run<component::Digest, operation::Digest, CF_OPERATION("Digest")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::sjcl::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Digest, operation::Digest, CF_OPERATION("Digest")>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> sjcl::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:51,1
    - Dst: Run<component::MAC, operation::HMAC, CF_OPERATION("HMAC")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::sjcl::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::MAC, operation::HMAC, CF_OPERATION("HMAC")>
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> sjcl::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:55,1
    - Dst: Run<component::Ciphertext, operation::SymmetricEncrypt, CF_OPERATION("SymmetricEncrypt")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::sjcl::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Ciphertext, operation::SymmetricEncrypt, CF_OPERATION("SymmetricEncrypt")>
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> sjcl::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:59,1
    - Dst: Run<component::Cleartext, operation::SymmetricDecrypt, CF_OPERATION("SymmetricDecrypt")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::sjcl::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Cleartext, operation::SymmetricDecrypt, CF_OPERATION("SymmetricDecrypt")>
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> sjcl::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:63,1
    - Dst: Run<component::Key, operation::KDF_HKDF, CF_OPERATION("KDF_HKDF")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::sjcl::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Key, operation::KDF_HKDF, CF_OPERATION("KDF_HKDF")>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> sjcl::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:67,1
    - Dst: Run<component::Key, operation::KDF_PBKDF2, CF_OPERATION("KDF_PBKDF2")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::sjcl::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Key, operation::KDF_PBKDF2, CF_OPERATION("KDF_PBKDF2")>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> sjcl::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:71,1
    - Dst: Run<component::Key, operation::KDF_SCRYPT, CF_OPERATION("KDF_SCRYPT")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: cryptofuzz::module::sjcl::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Key, operation::KDF_SCRYPT, CF_OPERATION("KDF_SCRYPT")>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> sjcl::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::HexCharToDec
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: int HexCharToDec(const char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:90,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:94,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:95,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:98,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:99,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:106,1
    - Dst: cryptofuzz::module::HexCharToDec
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:106,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:106,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: cryptofuzz::module::HexToDec
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_cpp_int
    - std::stringstream::str
    - std::string::size
    - std::string::empty
    - cryptofuzz::module::HexCharToDec
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string HexToDec(std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 134
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 134
    functionName: cryptofuzz::module::DecToHex
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string DecToHex(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:140,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:140,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:141,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:141,1
    - Dst: DecToHex
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:142,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:142,1
    - Dst: DecToHex
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:143,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:143,1
    - Dst: DecToHex
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:144,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:144,1
    - Dst: DecToHex
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:145,1
    - Dst: bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:145,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:147,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:147,1
    - Dst: HexToDec
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:150,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:150,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 154
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 154
    functionName: cryptofuzz::module::sjcl::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - HexToDec
    - bn3::ToTrimmedString
    - std::to_string
    - bn2::ToTrimmedString
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - bn1::ToTrimmedString
    - nlohmann::json::dump
    - std::string
    - bn0::ToTrimmedString
    - calcOp::Get
    - Run
    - DecToHex
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> sjcl::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:160,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:160,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:161,1
    - Dst: DecToHex
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:162,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:162,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:164,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:164,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:167,1
    - Dst: HexToDec
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:168,1
    - Dst: HexToDec
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: cryptofuzz::module::sjcl::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - HexToDec
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - nlohmann::json::dump
    - priv::ToTrimmedString
    - Run
    - curveType::Get
    - DecToHex
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> sjcl::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:9,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:14,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:15,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:15,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:20,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:20,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:25,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:28,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:28,1
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:33,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:36,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:38,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:39,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:39,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:44,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:44,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/sjcl/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::string::find
    - abort
    - std::string::find_first_of
    - printf
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: cryptofuzz::module::stint::stint
    functionSourceFile: /src/cryptofuzz/modules/stint/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stint::stint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/stint/module.cpp:19,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:19,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/stint/module.cpp:23,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:23,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/stint/module.cpp:27,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:27,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/stint/module.cpp:33,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:33,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:33,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:35,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:35,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:36,1
    - Dst: cryptofuzz_stint_add_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:37,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:38,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:38,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:39,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:39,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:40,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:43,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:43,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:43,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:44,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:44,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:45,1
    - Dst: cryptofuzz_stint_sub_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:46,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:47,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:47,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:48,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:48,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:49,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:52,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:52,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:52,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:53,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:53,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:54,1
    - Dst: cryptofuzz_stint_mul_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:55,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:56,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:56,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:57,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:57,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:58,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:61,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:61,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:61,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:62,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:63,1
    - Dst: cryptofuzz_stint_expmod_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:64,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:65,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:65,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:66,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:66,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:67,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:67,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:68,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:71,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:71,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:71,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:72,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:72,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:73,1
    - Dst: cryptofuzz_stint_addmod_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:74,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:75,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:75,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:76,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:76,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:77,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:77,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:78,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:81,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:81,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:81,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:82,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:82,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:83,1
    - Dst: cryptofuzz_stint_mulmod_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:84,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:85,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:85,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:86,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:86,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:87,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:87,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:88,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:91,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:91,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:91,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:92,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:92,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:93,1
    - Dst: cryptofuzz_stint_and_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:94,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:95,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:95,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:96,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:96,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:97,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:100,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:100,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:100,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:101,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:101,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:102,1
    - Dst: cryptofuzz_stint_or_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:103,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:104,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:104,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:105,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:105,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:106,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:109,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:109,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:109,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:110,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:110,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:111,1
    - Dst: cryptofuzz_stint_xor_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:112,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:113,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:113,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:114,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:114,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:115,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:118,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:118,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:118,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:119,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:119,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:120,1
    - Dst: cryptofuzz_stint_iseq_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:121,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:122,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:122,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:123,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:123,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:124,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:127,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:127,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:127,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:128,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:128,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:129,1
    - Dst: cryptofuzz_stint_exp_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:130,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:131,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:131,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:132,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:132,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:133,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:136,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:136,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:136,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:137,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:137,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:138,1
    - Dst: cryptofuzz_stint_lshift1_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:139,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:140,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:140,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:141,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:144,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:144,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:144,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:145,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:145,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:146,1
    - Dst: cryptofuzz_stint_isodd_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:147,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:148,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:148,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:149,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:152,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:152,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:152,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:153,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:153,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:154,1
    - Dst: cryptofuzz_stint_iseven_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:155,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:156,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:156,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:157,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:160,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:160,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:160,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:161,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:161,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:162,1
    - Dst: cryptofuzz_stint_islt_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:163,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:164,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:164,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:165,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:165,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:166,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:169,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:169,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:169,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:170,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:170,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:171,1
    - Dst: cryptofuzz_stint_islte_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:172,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:173,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:173,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:174,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:174,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:175,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:178,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:178,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:178,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:179,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:179,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:180,1
    - Dst: cryptofuzz_stint_isgt_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:181,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:182,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:182,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:183,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:183,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:184,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:187,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:187,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:187,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:188,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:188,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:189,1
    - Dst: cryptofuzz_stint_isgte_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:190,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:191,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:191,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:192,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:192,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:193,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:196,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:196,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:196,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 86
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 201
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 201
    functionName: cryptofuzz::module::stint_detail::OpBignumCalc_U256
    functionSourceFile: /src/cryptofuzz/modules/stint/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_stint_iseven_u256
    - cryptofuzz_stint_isodd_u256
    - memset
    - cryptofuzz_stint_isgt_u256
    - CF_CALCOP
    - cryptofuzz_stint_lshift1_u256
    - bn2::ToTrimmedString
    - calcOp::Is
    - std::array::size
    - bn0::ToTrimmedString
    - cryptofuzz_stint_expmod_u256
    - cryptofuzz::util::BinToDec
    - cryptofuzz_stint_islt_u256
    - auto::size
    - cryptofuzz_stint_exp_u256
    - cryptofuzz_stint_and_u256
    - cryptofuzz_stint_or_u256
    - CF_CHECK_EQ
    - cryptofuzz_stint_mul_u256
    - cryptofuzz_stint_iseq_u256
    - cryptofuzz_stint_isgte_u256
    - auto::data
    - cryptofuzz_stint_sub_u256
    - cryptofuzz_stint_mulmod_u256
    - cryptofuzz_stint_islte_u256
    - std::array::data
    - cryptofuzz_stint_addmod_u256
    - cryptofuzz::util::DecToBin
    - bn1::ToTrimmedString
    - cryptofuzz_stint_xor_u256
    - cryptofuzz_stint_add_u256
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc_U256(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:206,1
    - Dst: cryptofuzz::module::stint_detail::OpBignumCalc_U256
      Src: /src/cryptofuzz/modules/stint/module.cpp:207,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/stint/module.cpp:215,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:215,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/stint/module.cpp:219,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:219,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/stint/module.cpp:223,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:223,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/stint/module.cpp:229,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:229,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:229,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:231,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:231,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:232,1
    - Dst: cryptofuzz_stint_add
      Src: /src/cryptofuzz/modules/stint/module.cpp:233,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:234,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:234,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:235,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:235,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:236,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:239,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:239,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:239,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:240,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:240,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:241,1
    - Dst: cryptofuzz_stint_sub
      Src: /src/cryptofuzz/modules/stint/module.cpp:242,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:243,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:243,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:244,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:244,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:245,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:248,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:248,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:248,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:249,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:249,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:250,1
    - Dst: cryptofuzz_stint_mul
      Src: /src/cryptofuzz/modules/stint/module.cpp:251,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:252,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:252,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:253,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:253,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:254,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:257,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:257,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:257,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:258,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:258,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:262,1
    - Dst: cryptofuzz_stint_expmod
      Src: /src/cryptofuzz/modules/stint/module.cpp:263,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:264,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:264,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:265,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:265,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:266,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:266,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:267,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:270,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:270,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:270,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:271,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:271,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:272,1
    - Dst: cryptofuzz_stint_addmod
      Src: /src/cryptofuzz/modules/stint/module.cpp:273,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:274,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:274,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:275,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:275,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:276,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:276,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:277,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:280,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:280,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:280,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:281,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:281,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/stint/module.cpp:283,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/stint/module.cpp:283,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/stint/module.cpp:284,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/stint/module.cpp:284,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/stint/module.cpp:285,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/stint/module.cpp:285,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:287,1
    - Dst: cryptofuzz_stint_mulmod
      Src: /src/cryptofuzz/modules/stint/module.cpp:288,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:289,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:289,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:290,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:290,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:291,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:291,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:292,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:295,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:295,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:295,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:296,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:296,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:297,1
    - Dst: cryptofuzz_stint_and
      Src: /src/cryptofuzz/modules/stint/module.cpp:298,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:299,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:299,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:300,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:300,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:301,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:304,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:304,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:304,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:305,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:305,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:306,1
    - Dst: cryptofuzz_stint_or
      Src: /src/cryptofuzz/modules/stint/module.cpp:307,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:308,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:308,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:309,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:309,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:310,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:313,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:313,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:313,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:314,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:314,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:315,1
    - Dst: cryptofuzz_stint_xor
      Src: /src/cryptofuzz/modules/stint/module.cpp:316,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:317,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:317,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:318,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:318,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:319,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:322,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:322,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:322,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:323,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:323,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:324,1
    - Dst: cryptofuzz_stint_iseq
      Src: /src/cryptofuzz/modules/stint/module.cpp:325,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:326,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:326,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:327,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:327,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:328,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:331,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:331,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:331,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:332,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:332,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:333,1
    - Dst: cryptofuzz_stint_exp
      Src: /src/cryptofuzz/modules/stint/module.cpp:334,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:335,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:335,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:336,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:336,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:337,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:340,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:340,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:340,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:341,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:341,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:342,1
    - Dst: cryptofuzz_stint_lshift1
      Src: /src/cryptofuzz/modules/stint/module.cpp:343,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:344,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:344,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:345,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:348,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:348,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:348,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:349,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:349,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:350,1
    - Dst: cryptofuzz_stint_isodd
      Src: /src/cryptofuzz/modules/stint/module.cpp:351,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:352,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:352,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:353,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:356,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:356,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:356,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:357,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:357,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:358,1
    - Dst: cryptofuzz_stint_iseven
      Src: /src/cryptofuzz/modules/stint/module.cpp:359,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:360,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:360,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:361,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:364,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:364,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:364,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:365,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:365,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:366,1
    - Dst: cryptofuzz_stint_islt
      Src: /src/cryptofuzz/modules/stint/module.cpp:367,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:368,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:368,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:369,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:369,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:370,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:373,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:373,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:373,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:374,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:374,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:375,1
    - Dst: cryptofuzz_stint_islte
      Src: /src/cryptofuzz/modules/stint/module.cpp:376,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:377,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:377,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:378,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:378,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:379,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:382,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:382,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:382,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:383,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:383,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:384,1
    - Dst: cryptofuzz_stint_isgt
      Src: /src/cryptofuzz/modules/stint/module.cpp:385,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:386,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:386,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:387,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:387,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:388,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:391,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:391,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:391,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:392,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:392,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:393,1
    - Dst: cryptofuzz_stint_isgte
      Src: /src/cryptofuzz/modules/stint/module.cpp:394,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:395,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:395,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:396,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:396,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:397,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:400,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:400,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:400,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 98
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 405
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 405
    functionName: cryptofuzz::module::stint::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/stint/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_stint_add
    - memset
    - bn1::GetSize
    - cryptofuzz_stint_isgte
    - cryptofuzz_stint_lshift1
    - CF_CALCOP
    - cryptofuzz_stint_expmod
    - cryptofuzz_stint_mul
    - bn2::ToTrimmedString
    - calcOp::Is
    - cryptofuzz_stint_exp
    - cryptofuzz_stint_isgt
    - cryptofuzz_stint_and
    - std::array::size
    - bn0::ToTrimmedString
    - cryptofuzz::util::BinToDec
    - auto::size
    - cryptofuzz_stint_isodd
    - cryptofuzz_stint_addmod
    - bn0::GetSize
    - CF_CHECK_EQ
    - bn2::GetSize
    - CF_CHECK_LTE
    - cryptofuzz_stint_mulmod
    - auto::data
    - cryptofuzz_stint_sub
    - cryptofuzz_stint_iseq
    - cryptofuzz::module::stint_detail::OpBignumCalc_U256
    - cryptofuzz_stint_islte
    - std::array::data
    - cryptofuzz::util::DecToBin
    - modulo::ToTrimmedString
    - bn1::ToTrimmedString
    - cryptofuzz_stint_xor
    - cryptofuzz_stint_iseven
    - cryptofuzz_stint_islt
    - cryptofuzz_stint_or
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> stint::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: cryptofuzz::module::stint::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/stint/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stint::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/java/module.cpp:33,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:34,1
    - Dst: readlink
      Src: /src/cryptofuzz/modules/java/module.cpp:35,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/java/module.cpp:40,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/java/module.cpp:42,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/java/module.cpp:49,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:56,1
    - Dst: JNI_CreateJavaVM
      Src: /src/cryptofuzz/modules/java/module.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - jvm
    argTypes:
    - JavaVM**
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::Java_detail::create_vm
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - JNI_CreateJavaVM
    - memset
    - std::string
    - readlink
    - CF_ASSERT
    linkageType: ''
    returnType: JNIEnv
    signature: JNIEnv * create_vm(JavaVM ** jvm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Java_detail::create_vm
      Src: /src/cryptofuzz/modules/java/module.cpp:62,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:64,1
    - Dst: FindClass
      Src: /src/cryptofuzz/modules/java/module.cpp:68,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:69,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/java/module.cpp:70,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:71,1
    - Dst: CallStaticVoidMethod
      Src: /src/cryptofuzz/modules/java/module.cpp:72,1
    - Dst: DefineClass
      Src: /src/cryptofuzz/modules/java/module.cpp:76,1
    - Dst: FindClass
      Src: /src/cryptofuzz/modules/java/module.cpp:85,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:87,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/java/module.cpp:89,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:90,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/java/module.cpp:92,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:93,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/java/module.cpp:95,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:96,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/java/module.cpp:99,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:100,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/java/module.cpp:102,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 105
    functionName: cryptofuzz::module::Java_detail::initialize
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - GetStaticMethodID
    - cryptofuzz::module::Java_detail::create_vm
    - FindClass
    - CallStaticVoidMethod
    - DefineClass
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void initialize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:118,1
    - Dst: EC_KEY_new
      Src: /src/cryptofuzz/modules/java/module.cpp:118,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:119,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/cryptofuzz/modules/java/module.cpp:119,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/java/module.cpp:120,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/java/module.cpp:120,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:122,1
    - Dst: EC_POINT_new
      Src: /src/cryptofuzz/modules/java/module.cpp:122,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:123,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/modules/java/module.cpp:123,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/java/module.cpp:123,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:124,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/modules/java/module.cpp:124,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/java/module.cpp:124,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:125,1
    - Dst: EC_POINT_set_affine_coordinates_GFp
      Src: /src/cryptofuzz/modules/java/module.cpp:125,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/java/module.cpp:126,1
    - Dst: EC_KEY_set_public_key
      Src: /src/cryptofuzz/modules/java/module.cpp:126,1
    - Dst: i2d_EC_PUBKEY
      Src: /src/cryptofuzz/modules/java/module.cpp:129,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/java/module.cpp:130,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/java/module.cpp:132,1
    - Dst: EC_GROUP_free
      Src: /src/cryptofuzz/modules/java/module.cpp:136,1
    - Dst: EC_POINT_free
      Src: /src/cryptofuzz/modules/java/module.cpp:137,1
    - Dst: EC_KEY_free
      Src: /src/cryptofuzz/modules/java/module.cpp:138,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/java/module.cpp:139,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/java/module.cpp:140,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/java/module.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - ' pub'
    - nid
    argTypes:
    - component::BignumPair
    - int
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: cryptofuzz::module::Java_detail::PubkeyToX509
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - EC_POINT_new
    - EC_KEY_set_group
    - OPENSSL_free
    - BN_dec2bn
    - BN_free
    - std::vector<uint8_t>
    - EC_GROUP_new_by_curve_name
    - EC_KEY_set_public_key
    - first::ToTrimmedString
    - CF_CHECK_EQ
    - EC_GROUP_free
    - second::ToTrimmedString
    - EC_KEY_new
    - EC_KEY_free
    - CF_CHECK_NE
    - EC_POINT_free
    - i2d_EC_PUBKEY
    - CF_CHECK_GT
    - EC_POINT_set_affine_coordinates_GFp
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> PubkeyToX509(const component::BignumPair&
      pub, const int nid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:154,1
    - Dst: ECDSA_SIG_new
      Src: /src/cryptofuzz/modules/java/module.cpp:154,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:155,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/modules/java/module.cpp:155,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/java/module.cpp:155,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:156,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/modules/java/module.cpp:156,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/java/module.cpp:156,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/java/module.cpp:157,1
    - Dst: ECDSA_SIG_set0
      Src: /src/cryptofuzz/modules/java/module.cpp:157,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/cryptofuzz/modules/java/module.cpp:162,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/java/module.cpp:163,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/java/module.cpp:165,1
    - Dst: ECDSA_SIG_free
      Src: /src/cryptofuzz/modules/java/module.cpp:169,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/java/module.cpp:170,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/java/module.cpp:171,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/java/module.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' sig'
    argTypes:
    - component::BignumPair
    constantsTouched: []
    func_position:
      end: 175
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 175
    functionName: cryptofuzz::module::Java_detail::SignatureToX509
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - ECDSA_SIG_new
    - BN_free
    - CF_CHECK_EQ
    - CF_CHECK_GT
    - i2d_ECDSA_SIG
    - std::vector<uint8_t>
    - OPENSSL_free
    - CF_CHECK_NE
    - ECDSA_SIG_free
    - BN_dec2bn
    - first::ToTrimmedString
    - second::ToTrimmedString
    - ECDSA_SIG_set0
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> SignatureToX509(const component::BignumPair&
      sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Java_detail::initialize
      Src: /src/cryptofuzz/modules/java/module.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: cryptofuzz::module::Java::Java
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Java_detail::initialize
    linkageType: ''
    returnType: void
    signature: void Java::Java(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:186,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:186,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:195,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:196,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:197,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:199,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:200,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:202,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:203,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:205,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:206,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:208,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:209,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:211,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:212,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:214,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:215,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:217,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:218,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:220,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:221,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:223,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:224,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:226,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:227,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:233,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:235,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:235,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:236,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:237,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:237,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:237,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/java/module.cpp:239,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/java/module.cpp:240,1
    - Dst: NewIntArray
      Src: /src/cryptofuzz/modules/java/module.cpp:242,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/java/module.cpp:242,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:243,1
    - Dst: SetIntArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:244,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/java/module.cpp:244,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/java/module.cpp:244,1
    - Dst: static_cast<jbyteArray>
      Src: /src/cryptofuzz/modules/java/module.cpp:248,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/java/module.cpp:249,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:254,1
    - Dst: GetArrayLength
      Src: /src/cryptofuzz/modules/java/module.cpp:257,1
    - Dst: GetPrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/java/module.cpp:258,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/java/module.cpp:260,1
    - Dst: ReleasePrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/java/module.cpp:262,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:266,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:267,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:268,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 272
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 272
    functionName: cryptofuzz::module::Java::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - SetByteArrayRegion
    - DeleteLocalRef
    - cleartext::GetPtr
    - CF_DIGEST
    - GetPrimitiveArrayCritical
    - NewStringUTF
    - CF_ASSERT
    - modifier::GetPtr
    - static_cast<jbyteArray>
    - std::vector::size
    - std::vector::data
    - NewIntArray
    - NewByteArray
    - SetIntArrayRegion
    - std::vector::push_back
    - generate_Digest
    - cryptofuzz::util::ToParts
    - ReleasePrimitiveArrayCritical
    - cleartext::GetSize
    - GetArrayLength
    - CallStaticObjectMethod
    - digestType::Get
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Java::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:276,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:276,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:286,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:287,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:288,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:290,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:291,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:293,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:294,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:296,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:297,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:299,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:300,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:302,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:303,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:305,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:306,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:308,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:309,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:311,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:312,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:314,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:315,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:321,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:323,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:323,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:324,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:325,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:325,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:325,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:327,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:327,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:328,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:329,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:329,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:329,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/java/module.cpp:331,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/java/module.cpp:332,1
    - Dst: NewIntArray
      Src: /src/cryptofuzz/modules/java/module.cpp:334,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/java/module.cpp:334,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:335,1
    - Dst: SetIntArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:336,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/java/module.cpp:336,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/java/module.cpp:336,1
    - Dst: static_cast<jbyteArray>
      Src: /src/cryptofuzz/modules/java/module.cpp:340,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/java/module.cpp:341,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:346,1
    - Dst: GetArrayLength
      Src: /src/cryptofuzz/modules/java/module.cpp:349,1
    - Dst: GetPrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/java/module.cpp:350,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/java/module.cpp:353,1
    - Dst: ReleasePrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/java/module.cpp:356,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:361,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:362,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:363,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 367
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 367
    functionName: cryptofuzz::module::Java::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - SetByteArrayRegion
    - DeleteLocalRef
    - cleartext::GetPtr
    - CF_DIGEST
    - GetPrimitiveArrayCritical
    - NewStringUTF
    - CF_ASSERT
    - modifier::GetPtr
    - static_cast<jbyteArray>
    - std::vector::size
    - std::vector::data
    - NewIntArray
    - NewByteArray
    - SetIntArrayRegion
    - generate_HMAC
    - std::vector::push_back
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - ReleasePrimitiveArrayCritical
    - cleartext::GetSize
    - GetArrayLength
    - CallStaticObjectMethod
    - digestType::Get
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Java::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:371,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:371,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:385,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:386,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:387,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:389,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:390,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:392,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:393,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:399,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/java/module.cpp:400,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/java/module.cpp:403,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:404,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/java/module.cpp:409,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/java/module.cpp:412,1
    - Dst: cryptofuzz::module::Java_detail::PubkeyToX509
      Src: /src/cryptofuzz/modules/java/module.cpp:420,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:421,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:423,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/java/module.cpp:423,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:424,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:425,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/java/module.cpp:425,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/java/module.cpp:425,1
    - Dst: cryptofuzz::module::Java_detail::SignatureToX509
      Src: /src/cryptofuzz/modules/java/module.cpp:429,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:430,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:432,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/java/module.cpp:432,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:433,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:434,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/java/module.cpp:434,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/java/module.cpp:434,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/java/module.cpp:437,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/java/module.cpp:438,1
    - Dst: NewIntArray
      Src: /src/cryptofuzz/modules/java/module.cpp:440,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/java/module.cpp:440,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:441,1
    - Dst: SetIntArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:442,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/java/module.cpp:442,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/java/module.cpp:442,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:444,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:444,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:445,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:446,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:446,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:446,1
    - Dst: CallStaticBooleanMethod
      Src: /src/cryptofuzz/modules/java/module.cpp:449,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:458,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:459,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:460,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:461,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 463
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 463
    functionName: cryptofuzz::module::Java::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - SetByteArrayRegion
    - DeleteLocalRef
    - cleartext::GetPtr
    - CF_DIGEST
    - NewStringUTF
    - CF_ASSERT
    - curveType::Get
    - CallStaticBooleanMethod
    - modifier::GetPtr
    - std::vector::size
    - std::vector::data
    - CF_ECC_CURVE
    - std::optional::size
    - NewIntArray
    - std::optional::data
    - NewByteArray
    - cryptofuzz::module::Java_detail::PubkeyToX509
    - SetIntArrayRegion
    - std::vector::push_back
    - cryptofuzz::util::ToParts
    - cleartext::GetSize
    - digestType::Get
    - CF_CHECK_NE
    - cryptofuzz::module::Java_detail::SignatureToX509
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Java::OpECDSA_Verify(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:475,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:478,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:479,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:492,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:493,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:494,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:496,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:497,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:499,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:500,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:502,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:503,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:505,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:506,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:512,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:514,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:514,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:515,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:516,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:516,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:516,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:518,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:518,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:519,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:520,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:520,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:520,1
    - Dst: static_cast<jbyteArray>
      Src: /src/cryptofuzz/modules/java/module.cpp:526,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/java/module.cpp:527,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:532,1
    - Dst: GetArrayLength
      Src: /src/cryptofuzz/modules/java/module.cpp:535,1
    - Dst: GetPrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/java/module.cpp:536,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/java/module.cpp:538,1
    - Dst: ReleasePrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/java/module.cpp:540,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:544,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:545,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:546,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:547,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 551
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 551
    functionName: cryptofuzz::module::Java::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - SetByteArrayRegion
    - password::GetPtr
    - static_cast<jbyteArray>
    - ReleasePrimitiveArrayCritical
    - DeleteLocalRef
    - GetArrayLength
    - CallStaticObjectMethod
    - digestType::Get
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - CF_DIGEST
    - NewByteArray
    - GetPrimitiveArrayCritical
    - NewStringUTF
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Java::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:555,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:555,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:563,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:564,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:567,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:570,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:573,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/java/module.cpp:574,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/java/module.cpp:574,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/java/module.cpp:575,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/java/module.cpp:575,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:578,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:581,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:584,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:587,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:590,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:593,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:596,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:599,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:602,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:605,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:608,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:611,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:614,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:617,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:620,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/java/module.cpp:621,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/java/module.cpp:621,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:624,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:627,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/java/module.cpp:628,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/java/module.cpp:628,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:631,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:634,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:637,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:640,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:647,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/java/module.cpp:647,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:648,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:650,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/java/module.cpp:650,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:651,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:653,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/java/module.cpp:653,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:654,1
    - Dst: static_cast<jstring>
      Src: /src/cryptofuzz/modules/java/module.cpp:658,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/java/module.cpp:659,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:665,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:666,1
    - Dst: bn2::IsZero
      Src: /src/cryptofuzz/modules/java/module.cpp:670,1
    - Dst: bn2::IsNegative
      Src: /src/cryptofuzz/modules/java/module.cpp:670,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:674,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:677,1
    - Dst: bn1::IsZero
      Src: /src/cryptofuzz/modules/java/module.cpp:681,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:685,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:688,1
    - Dst: bn1::IsZero
      Src: /src/cryptofuzz/modules/java/module.cpp:692,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:696,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:699,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/java/module.cpp:703,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:707,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:710,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:711,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:712,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:713,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:717,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:722,1
    - Dst: GetStringUTFChars
      Src: /src/cryptofuzz/modules/java/module.cpp:725,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/java/module.cpp:726,1
    - Dst: ReleaseStringUTFChars
      Src: /src/cryptofuzz/modules/java/module.cpp:727,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:730,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:736,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:737,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:738,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:739,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 147
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 742
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 742
    functionName: cryptofuzz::module::Java::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - DeleteLocalRef
    - std::string
    - bn2::IsZero
    - NewStringUTF
    - CF_ASSERT
    - static_cast<jstring>
    - CF_CALCOP
    - bn2::ToString
    - modifier::GetPtr
    - bn0::ToString
    - bn1::IsZero
    - GetStringUTFChars
    - CF_CHECK_FALSE
    - bn1::ToString
    - bn1::IsNegative
    - calcOp::Get
    - ReleaseStringUTFChars
    - bn0::IsNegative
    - CallStaticObjectMethod
    - CF_CHECK_NE
    - bn2::IsNegative
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Java::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:18,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:18,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:24,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:31,1
    - Dst: JNI_CreateJavaVM
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - jvm
    argTypes:
    - JavaVM**
    constantsTouched: []
    func_position:
      end: 35
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 35
    functionName: cryptofuzz::module::BouncyCastle_detail::create_vm
    functionSourceFile: /src/cryptofuzz/modules/bouncycastle/module.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - JNI_CreateJavaVM
    - CF_ASSERT
    - std::string::c_str
    linkageType: ''
    returnType: JNIEnv
    signature: JNIEnv * create_vm(JavaVM ** jvm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::BouncyCastle_detail::create_vm
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:38,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:40,1
    - Dst: FindClass
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:42,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:44,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:46,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:47,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:49,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:54,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:56,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::BouncyCastle_detail::initialize
    functionSourceFile: /src/cryptofuzz/modules/bouncycastle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - GetStaticMethodID
    - cryptofuzz::module::BouncyCastle_detail::create_vm
    - FindClass
    linkageType: ''
    returnType: void
    signature: void initialize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::BouncyCastle_detail::initialize
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::BouncyCastle::BouncyCastle
    functionSourceFile: /src/cryptofuzz/modules/bouncycastle/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::BouncyCastle_detail::initialize
    linkageType: ''
    returnType: void
    signature: void BouncyCastle::BouncyCastle(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:74,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:74,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:83,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:84,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:85,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:87,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:88,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:90,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:91,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:93,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:94,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:96,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:97,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:99,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:100,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:102,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:103,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:105,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:106,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:108,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:109,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:111,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:112,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:114,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:115,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:117,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:118,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:120,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:121,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:123,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:124,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:126,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:127,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:129,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:130,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:132,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:133,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:135,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:136,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:138,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:139,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:141,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:142,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:144,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:145,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:147,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:148,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:150,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:151,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:153,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:154,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:156,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:157,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:159,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:160,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:162,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:163,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:165,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:166,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:168,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:169,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:171,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:172,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:174,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:175,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:177,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:178,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:181,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:182,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:189,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:191,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:191,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:192,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:193,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:193,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:193,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:195,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:196,1
    - Dst: NewIntArray
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:198,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:198,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:199,1
    - Dst: SetIntArrayRegion
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:200,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:200,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:200,1
    - Dst: static_cast<jbyteArray>
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:204,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:205,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:210,1
    - Dst: GetArrayLength
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:213,1
    - Dst: GetPrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:214,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:216,1
    - Dst: ReleasePrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:218,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:222,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:223,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:224,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 125
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 228
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 228
    functionName: cryptofuzz::module::BouncyCastle::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/bouncycastle/module.cpp
    functionUses: 0
    functionsReached:
    - SetByteArrayRegion
    - DeleteLocalRef
    - cleartext::GetPtr
    - CF_DIGEST
    - GetPrimitiveArrayCritical
    - NewStringUTF
    - CF_ASSERT
    - modifier::GetPtr
    - static_cast<jbyteArray>
    - std::vector::size
    - std::vector::data
    - NewIntArray
    - NewByteArray
    - SetIntArrayRegion
    - std::vector::push_back
    - generate_Digest
    - cryptofuzz::util::ToParts
    - ReleasePrimitiveArrayCritical
    - cleartext::GetSize
    - GetArrayLength
    - CallStaticObjectMethod
    - digestType::Get
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> BouncyCastle::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:238,1
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:239,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:239,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:241,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:243,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:243,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:244,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:246,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:246,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:247,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:249,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:249,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:250,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:252,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:252,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:253,1
    - Dst: static_cast<jstring>
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:257,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:258,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:262,1
    - Dst: GetStringUTFChars
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:265,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:266,1
    - Dst: ReleaseStringUTFChars
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:267,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:272,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:272,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:274,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:274,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:280,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:281,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:282,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:283,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:284,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 289
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 289
    functionName: cryptofuzz::module::BouncyCastle::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/bouncycastle/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - std::vector::size
    - ReleaseStringUTFChars
    - a::first::ToTrimmedString
    - DeleteLocalRef
    - CallStaticObjectMethod
    - cryptofuzz::module::mcl_detail::split
    - std::string
    - GetStringUTFChars
    - CF_CHECK_NE
    - Botan::CT::Mask::is_any_of
    - static_cast<jstring>
    - NewStringUTF
    - b::second::ToTrimmedString
    - CF_ASSERT
    - a::second::ToTrimmedString
    - cryptofuzz::repository::ECC_CurveToString
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> BouncyCastle::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:293,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:293,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:301,1
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:302,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:302,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:304,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:306,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:306,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:307,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:309,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:309,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:310,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:312,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:312,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:313,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:318,1
    - Dst: static_cast<jstring>
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:322,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:323,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:327,1
    - Dst: GetStringUTFChars
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:330,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:331,1
    - Dst: ReleaseStringUTFChars
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:332,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:337,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:337,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:339,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:339,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:346,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:347,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:348,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:349,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 354
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 354
    functionName: cryptofuzz::module::BouncyCastle::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/bouncycastle/module.cpp
    functionUses: 0
    functionsReached:
    - DeleteLocalRef
    - std::string
    - NewStringUTF
    - CF_ASSERT
    - static_cast<jstring>
    - curveType::Get
    - modifier::GetPtr
    - cryptofuzz::module::mcl_detail::split
    - GetStringUTFChars
    - Botan::CT::Mask::is_any_of
    - Datasource::Get
    - a::second::ToTrimmedString
    - std::vector::size
    - a::first::ToTrimmedString
    - b::ToTrimmedString
    - cryptofuzz::repository::ECC_CurveToString
    - ReleaseStringUTFChars
    - CallStaticObjectMethod
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> BouncyCastle::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: cryptofuzz::module::CryptoPP_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: cryptofuzz::module::CryptoPP_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::CryptoPP_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::CryptoPP_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: a_exp_b_mod_c
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::CryptoPP_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - a_exp_b_mod_c
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:65,1
    - Dst: a_times_b_mod_c
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: cryptofuzz::module::CryptoPP_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - a_times_b_mod_c
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InverseMod
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::CryptoPP_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - InverseMod
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::CryptoPP_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Squared
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: cryptofuzz::module::CryptoPP_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Squared
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCD_ExtGCD
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::CryptoPP_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GCD_ExtGCD
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::CryptoPP::LCM
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: cryptofuzz::module::CryptoPP_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ::CryptoPP::LCM
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:118,1
    - Dst: IsNegative
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:118,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:119,1
    - Dst: IsOdd
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:119,1
    - Dst: ::CryptoPP::Jacobi
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: cryptofuzz::module::CryptoPP_bignum::Jacobi::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - IsNegative
    - IsOdd
    - ::CryptoPP::Jacobi
    linkageType: ''
    returnType: bool
    signature: bool Jacobi::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::CryptoPP_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsNegative
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::CryptoPP_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - IsNegative
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbsoluteValue
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: cryptofuzz::module::CryptoPP_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - AbsoluteValue
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: cryptofuzz::module::CryptoPP_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: cryptofuzz::module::CryptoPP_bignum::IsGt::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsGt::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: cryptofuzz::module::CryptoPP_bignum::IsGte::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsGte::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: cryptofuzz::module::CryptoPP_bignum::IsLt::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLt::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: cryptofuzz::module::CryptoPP_bignum::IsLte::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLte::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: cryptofuzz::module::CryptoPP_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - IsZero
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: And
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: cryptofuzz::module::CryptoPP_bignum::And::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - And
    linkageType: ''
    returnType: bool
    signature: bool And::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Or
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: cryptofuzz::module::CryptoPP_bignum::Or::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Or
    linkageType: ''
    returnType: bool
    signature: bool Or::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xor
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: cryptofuzz::module::CryptoPP_bignum::Xor::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Xor
    linkageType: ''
    returnType: bool
    signature: bool Xor::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsEven
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: cryptofuzz::module::CryptoPP_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - IsEven
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsOdd
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: cryptofuzz::module::CryptoPP_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - IsOdd
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Squared
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: cryptofuzz::module::CryptoPP_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Squared
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:253,1
    - Dst: IsConvertableToLong
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:253,1
    - Dst: ConvertToLong
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:254,1
    - Dst: GetBit
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: cryptofuzz::module::CryptoPP_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - IsConvertableToLong
    - ConvertToLong
    - GetBit
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbsoluteValue
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:264,1
    - Dst: AbsoluteValue
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:264,1
    - Dst: std::make_unique<Cmp>
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:265,1
    - Dst: auto::Run
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: cryptofuzz::module::CryptoPP_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - auto::Run
    - AbsoluteValue
    - std::make_unique<Cmp>
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:275,1
    - Dst: IsConvertableToLong
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:275,1
    - Dst: ConvertToLong
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:276,1
    - Dst: cryptofuzz::module::CryptoPP_bignum::detail::SetBit
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' res'
    - ' bn'
    - value
    argTypes:
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    - bool
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: cryptofuzz::module::CryptoPP_bignum::detail::SetBit
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 1
    functionsReached:
    - CF_CHECK_EQ
    - IsConvertableToLong
    - cryptofuzz::module::CryptoPP_bignum::detail::SetBit
    - ConvertToLong
    linkageType: ''
    returnType: bool
    signature: bool SetBit(::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn, const bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_bignum::detail::SetBit
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: cryptofuzz::module::CryptoPP_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_bignum::detail::SetBit
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_bignum::detail::SetBit
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: cryptofuzz::module::CryptoPP_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_bignum::detail::SetBit
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsSquare
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: cryptofuzz::module::CryptoPP_bignum::IsSquare::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - IsSquare
    linkageType: ''
    returnType: bool
    signature: bool IsSquare::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SquareRoot
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: cryptofuzz::module::CryptoPP_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - SquareRoot
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitCount
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: cryptofuzz::module::CryptoPP_bignum::NumBits::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BitCount
    linkageType: ''
    returnType: bool
    signature: bool NumBits::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: cryptofuzz::module::CryptoPP_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:335,1
    - Dst: IsConvertableToLong
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:335,1
    - Dst: ConvertToLong
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 345
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 345
    functionName: cryptofuzz::module::CryptoPP_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - IsConvertableToLong
    - ConvertToLong
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::CryptoPP::CryptoPP
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CryptoPP::CryptoPP(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:74,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:75,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:76,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:77,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:78,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:79,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:80,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:81,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:82,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:83,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:84,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:85,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:86,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:87,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:88,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:89,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:90,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:91,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:92,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:93,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:94,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:95,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:96,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:97,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:98,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:99,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:100,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:101,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:102,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:103,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:104,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:105,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:106,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:107,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:108,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:109,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:110,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:111,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:112,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:113,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:114,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:115,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:116,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:117,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:118,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:119,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:120,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:121,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:122,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:123,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:124,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:125,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:126,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:127,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - In
    constantsTouched: []
    func_position:
      end: 138
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 138
    functionName: cryptofuzz::module::CryptoPP_detail::InvokeByDigest
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - CF_DIGEST
    - cryptofuzz::module::CryptoPP_detail::Digest::Compute
    linkageType: ''
    returnType: std::optional<Ret>
    signature: std::optional<Ret> InvokeByDigest(In& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:146,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:146,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:151,1
    - Dst: DigestAlgorithm::Update
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:155,1
    - Dst: DigestAlgorithm::Final
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:162,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:164,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:165,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:166,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 176
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 176
    functionName: cryptofuzz::module::CryptoPP_detail::Digest::Compute
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 1
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - DigestAlgorithm::Final
    - digestType::Get
    - DigestAlgorithm::Update
    - CF_DIGEST
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Compute(operation::Digest& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptoPP_detail::InvokeByDigest<CryptoPP_detail::Digest, component::Digest>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: cryptofuzz::module::CryptoPP::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::InvokeByDigest<CryptoPP_detail::Digest, component::Digest>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> CryptoPP::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:189,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:189,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:192,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:192,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:193,1
    - Dst: ::CryptoPP::HMAC<Digest>::Update
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:197,1
    - Dst: ::CryptoPP::HMAC<Digest>::Final
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:203,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 209
      start: 188
    functionDepth: 4
    functionLinenumber: 188
    functionLinenumberEnd: 209
    functionName: cryptofuzz::module::CryptoPP_detail::HMAC::Compute
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ::CryptoPP::HMAC<Digest>::Final
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - modifier::GetPtr
    - cipher::key::GetPtr
    - ::CryptoPP::HMAC<Digest>::Update
    - generate_HMAC
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Compute(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:214,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:214,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:218,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:218,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:219,1
    - Dst: ::CryptoPP::SipHash<2, 4, Is128Bit>::Update
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:223,1
    - Dst: ::CryptoPP::SipHash<2, 4, Is128Bit>::Final
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:229,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 236
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 236
    functionName: cryptofuzz::module::CryptoPP_detail::SipHash
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - modifier::GetPtr
    - cipher::key::GetPtr
    - ::CryptoPP::SipHash<2, 4, Is128Bit>::Update
    - ::CryptoPP::SipHash<2, 4, Is128Bit>::Final
    - generate_HMAC
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> SipHash(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:240,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:241,1
    - Dst: CryptoPP_detail::SipHash<false>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:243,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:245,1
    - Dst: CryptoPP_detail::SipHash<true>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:247,1
    - Dst: CryptoPP_detail::InvokeByDigest<CryptoPP_detail::HMAC, component::MAC>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 252
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 252
    functionName: cryptofuzz::module::CryptoPP::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - CryptoPP_detail::SipHash<true>
    - CryptoPP_detail::SipHash<false>
    - CF_DIGEST
    - CryptoPP_detail::InvokeByDigest<CryptoPP_detail::HMAC, component::MAC>
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> CryptoPP::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:265,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:265,1
    - Dst: std::make_unique<typename ModeCipher::Encryption>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:275,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:275,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:275,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:277,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:277,1
    - Dst: std::make_unique<typename ModeCipher::Encryption>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:279,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:279,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:279,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:279,1
    - Dst: std::make_unique<typename ModeCipher::Encryption>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:281,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:281,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:281,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:281,1
    - Dst: std::make_unique<::CryptoPP::StreamTransformationFilter>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:285,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:286,1
    - Dst: std::unique_ptr::Put
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:291,1
    - Dst: std::unique_ptr::MessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:296,1
    - Dst: std::unique_ptr::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:302,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:302,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:302,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:304,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:304,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:304,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:304,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:306,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:306,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:306,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 313
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 313
    functionName: cryptofuzz::module::CryptoPP_detail::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::unique_ptr::MessageEnd
    - cipher::key::GetSize
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - CF_CHECK_EQ
    - std::unique_ptr::Get
    - cleartext::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - std::make_unique<typename ModeCipher::Encryption>
    - cipher::iv::GetSize
    - std::unique_ptr::Put
    - std::make_unique<::CryptoPP::StreamTransformationFilter>
    - Buffer
    - modifier::GetSize
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:324,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:324,1
    - Dst: std::make_unique<typename ModeCipher::Decryption>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:334,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:334,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:334,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:336,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:336,1
    - Dst: std::make_unique<typename ModeCipher::Decryption>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:338,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:338,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:338,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:338,1
    - Dst: std::make_unique<typename ModeCipher::Decryption>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:340,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:340,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:340,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:340,1
    - Dst: std::make_unique<::CryptoPP::StreamTransformationFilter>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:344,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:345,1
    - Dst: std::unique_ptr::Put
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:350,1
    - Dst: std::unique_ptr::MessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:355,1
    - Dst: std::unique_ptr::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:361,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:361,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:361,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:363,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:363,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:364,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:364,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:364,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:364,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:367,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:367,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:367,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 374
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 374
    functionName: cryptofuzz::module::CryptoPP_detail::Decrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::unique_ptr::MessageEnd
    - Buffer
    - cipher::key::GetSize
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - CF_CHECK_EQ
    - std::unique_ptr::Get
    - component::Cleartext
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - std::unique_ptr::Put
    - std::make_unique<::CryptoPP::StreamTransformationFilter>
    - std::make_unique<typename ModeCipher::Decryption>
    - modifier::GetSize
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: cryptofuzz::module::CryptoPP_detail::CryptCFB
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptCFB(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: cryptofuzz::module::CryptoPP_detail::CryptECB
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptECB(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: cryptofuzz::module::CryptoPP_detail::CryptCBC
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptCBC(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: cryptofuzz::module::CryptoPP_detail::CryptCTR
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptCTR(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: cryptofuzz::module::CryptoPP_detail::CryptOFB
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptOFB(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: cryptofuzz::module::CryptoPP_detail::CryptXTS
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptXTS(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:408,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:412,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: cryptofuzz::module::CryptoPP_detail::CryptRaw
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetSize
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptRaw(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: cryptofuzz::module::CryptoPP_detail::CryptCFB
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptCFB(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: cryptofuzz::module::CryptoPP_detail::CryptECB
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptECB(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: cryptofuzz::module::CryptoPP_detail::CryptCBC
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptCBC(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: cryptofuzz::module::CryptoPP_detail::CryptCTR
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptCTR(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: cryptofuzz::module::CryptoPP_detail::CryptOFB
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptOFB(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: cryptofuzz::module::CryptoPP_detail::CryptXTS
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptXTS(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:450,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:454,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: cryptofuzz::module::CryptoPP_detail::CryptRaw
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    - ciphertext::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptRaw(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:464,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:465,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:468,1
    - Dst: typename Cipher::Encryption::SetKeyWithIV
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:473,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:473,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:473,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:473,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:473,1
    - Dst: typename Cipher::Encryption::EncryptAndAuthenticate
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:474,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:475,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:476,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:477,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:478,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:479,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:480,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:481,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:482,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:483,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:485,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:485,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 489
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 489
    functionName: cryptofuzz::module::CryptoPP_detail::CHACHA20_POLY1305_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - typename Cipher::Encryption::EncryptAndAuthenticate
    - cleartext::GetSize
    - cleartext::GetPtr
    - CF_CHECK_NE
    - aad::GetPtr
    - cipher::iv::GetSize
    - aad::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - typename Cipher::Encryption::SetKeyWithIV
    - Buffer
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CHACHA20_POLY1305_Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:495,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:496,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:499,1
    - Dst: typename Cipher::Decryption::SetKeyWithIV
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:502,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:502,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:502,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:502,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:502,1
    - Dst: typename Cipher::Decryption::DecryptAndVerify
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:504,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:505,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:506,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:507,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:508,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:509,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:510,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:511,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:512,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:513,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:515,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 519
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 519
    functionName: cryptofuzz::module::CryptoPP_detail::CHACHA20_POLY1305_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - tag::GetSize
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - component::Cleartext
    - CF_CHECK_NE
    - typename Cipher::Decryption::SetKeyWithIV
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - tag::GetPtr
    - aad::GetPtr
    - typename Cipher::Decryption::DecryptAndVerify
    - aad::GetSize
    - Buffer
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CHACHA20_POLY1305_Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:524,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:525,1
    - Dst: ::CryptoPP::GCM<::CryptoPP::AES>::Encryption::SetKeyWithIV
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:531,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:531,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:531,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:531,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:531,1
    - Dst: ::CryptoPP::VectorSink::VectorSink
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:533,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:535,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:535,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:535,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:536,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:538,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:538,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:538,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:539,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 545
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 545
    functionName: cryptofuzz::module::CryptoPP_detail::AES_GCM_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - ::CryptoPP::AuthenticatedEncryptionFilter::ChannelMessageEnd
    - ::CryptoPP::AuthenticatedEncryptionFilter::ChannelPut
    - cleartext::GetPtr
    - CF_CHECK_NE
    - aad::GetPtr
    - cipher::iv::GetSize
    - ::CryptoPP::VectorSink::VectorSink
    - aad::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - Buffer
    - cipher::iv::GetPtr
    - ::CryptoPP::GCM<::CryptoPP::AES>::Encryption::SetKeyWithIV
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> AES_GCM_Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:551,1
    - Dst: typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Encryption::SetKeyWithIV
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:557,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:557,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:557,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:557,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:557,1
    - Dst: typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Encryption::SpecifyDataLengths
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:558,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:558,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:558,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:562,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:562,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:562,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:563,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:565,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:565,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:565,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:566,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 572
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 572
    functionName: cryptofuzz::module::CryptoPP_detail::AES_CCM_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Encryption::SetKeyWithIV
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - ::CryptoPP::AuthenticatedEncryptionFilter::ChannelMessageEnd
    - ::CryptoPP::AuthenticatedEncryptionFilter::ChannelPut
    - cleartext::GetPtr
    - CF_CHECK_NE
    - aad::GetPtr
    - cipher::iv::GetSize
    - aad::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - Buffer
    - cipher::iv::GetPtr
    - typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Encryption::SpecifyDataLengths
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> AES_CCM_Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:577,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:578,1
    - Dst: ::CryptoPP::GCM<::CryptoPP::AES>::Decryption::SetKeyWithIV
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:582,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:582,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:582,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:582,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:582,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:584,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:586,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:586,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:586,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:587,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:587,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:587,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:588,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:588,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:588,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:590,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:591,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::SetRetrievalChannel
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:593,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:596,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:596,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:598,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:598,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 603
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 603
    functionName: cryptofuzz::module::CryptoPP_detail::AES_GCM_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ::CryptoPP::GCM<::CryptoPP::AES>::Decryption::SetKeyWithIV
    - ciphertext::GetPtr
    - ciphertext::GetSize
    - component::Cleartext
    - aad::GetSize
    - Buffer
    - ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
    - std::vector::data
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - ::CryptoPP::AuthenticatedDecryptionFilter::ChannelMessageEnd
    - tag::GetSize
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ::CryptoPP::AuthenticatedDecryptionFilter::SetRetrievalChannel
    - ::CryptoPP::AuthenticatedDecryptionFilter::Get
    - CF_CHECK_NE
    - tag::GetPtr
    - aad::GetPtr
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> AES_GCM_Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:609,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:610,1
    - Dst: typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Decryption::SetKeyWithIV
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:614,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:614,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:614,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:614,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:614,1
    - Dst: typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Decryption::SpecifyDataLengths
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:615,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:615,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:615,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:619,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:619,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:619,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:620,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:620,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:620,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:621,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:621,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:621,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:623,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:624,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::SetRetrievalChannel
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:626,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:629,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:629,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:631,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:631,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 636
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 636
    functionName: cryptofuzz::module::CryptoPP_detail::AES_CCM_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    - typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Decryption::SpecifyDataLengths
    - ciphertext::GetSize
    - component::Cleartext
    - aad::GetSize
    - ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
    - Buffer
    - std::vector::data
    - typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Decryption::SetKeyWithIV
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - ::CryptoPP::AuthenticatedDecryptionFilter::ChannelMessageEnd
    - tag::GetSize
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ::CryptoPP::AuthenticatedDecryptionFilter::SetRetrievalChannel
    - ::CryptoPP::AuthenticatedDecryptionFilter::Get
    - CF_CHECK_NE
    - tag::GetPtr
    - aad::GetPtr
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> AES_CCM_Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:643,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:645,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:647,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:648,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:652,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:654,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna256 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:655,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:659,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:661,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna512 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:662,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:666,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::DES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:668,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:671,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::DES_EDE3 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:673,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:676,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::IDEA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:678,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:681,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SEED >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:683,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:686,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SM4 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:688,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:691,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:698,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Blowfish >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:700,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:703,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::CAST128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:705,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:708,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:710,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:711,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:715,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:717,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:718,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:722,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:724,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:725,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:729,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:731,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:732,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:736,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:738,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:739,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:743,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:745,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:746,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:750,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:752,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:753,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:757,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:759,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:760,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:764,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:766,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:767,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:771,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SIMON64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:773,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:777,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SIMON128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:779,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:783,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SPECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:785,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:789,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SPECK128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:791,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:795,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Square>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:797,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:800,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::CHAM64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:802,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:805,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::CHAM128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:807,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:810,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SIMECK32>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:812,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:815,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SIMECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:817,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:820,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SAFER_K>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:822,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:825,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SAFER_SK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:827,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:832,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:834,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna128, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:835,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:839,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:841,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna256, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:842,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:846,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:848,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna512, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:849,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:853,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::DES, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:855,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:858,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::DES_EDE3, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:860,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:863,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:865,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::AES, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:866,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:870,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:872,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::AES, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:873,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:877,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:879,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::AES, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:880,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:884,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:886,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:887,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:891,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:893,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:894,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:898,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:900,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:901,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:905,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:907,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:908,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:912,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:914,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:915,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:919,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:921,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:922,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:926,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::HIGHT>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:928,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:931,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::LEA>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:933,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:937,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SKIPJACK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:939,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:943,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::RC6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:945,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:948,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SHARK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:950,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:955,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:957,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Kalyna128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:958,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:962,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:964,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Kalyna256 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:965,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:969,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:971,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Kalyna512 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:972,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:976,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::DES_XEX3 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:978,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:981,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::DES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:983,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:986,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::DES_EDE2 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:988,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:991,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::DES_EDE3 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:993,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:996,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::IDEA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:998,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1001,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SEED >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1003,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1006,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SM4 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1008,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1011,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1018,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Blowfish >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1020,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1023,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::CAST128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1025,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1028,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1030,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1031,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1035,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1037,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1038,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1042,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1044,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1045,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1049,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1051,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1052,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1056,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1058,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1059,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1063,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1065,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1066,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1070,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1072,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1073,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1077,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1079,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1080,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1084,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1086,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1087,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1091,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::HIGHT>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1093,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1096,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::LEA>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1098,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1102,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SKIPJACK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1104,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1108,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::RC6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1110,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1113,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SIMON64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1115,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1118,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SIMON128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1120,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1123,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SPECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1125,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1128,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SPECK128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1130,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1133,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Square>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1135,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1138,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::CHAM64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1140,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1143,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::CHAM128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1145,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1148,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SIMECK32>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1150,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1153,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SIMECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1155,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1158,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SHARK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1160,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1163,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SAFER_K>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1165,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1168,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SAFER_SK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1170,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1173,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::GOST >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1175,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1180,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1182,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Kalyna128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1183,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1187,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1189,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Kalyna256 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1190,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1194,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1196,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Kalyna512 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1197,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1201,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::DES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1203,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1206,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::IDEA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1208,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1211,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SEED >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1213,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1216,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SM4 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1218,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1221,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1228,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Blowfish >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1230,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1233,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::CAST128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1235,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1238,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1240,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1241,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1245,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1247,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1248,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1252,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1254,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1255,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1259,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1261,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1262,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1266,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1268,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1269,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1273,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1275,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1276,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1280,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1282,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1283,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1287,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1289,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1290,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1294,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1296,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1297,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1301,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::HIGHT>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1303,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1306,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::LEA>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1308,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1312,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SKIPJACK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1314,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1318,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::RC6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1320,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1323,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SIMON64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1325,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1328,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SIMON128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1330,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1333,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SPECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1335,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1338,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SPECK128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1340,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1343,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Square>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1345,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1348,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::CHAM64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1350,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1353,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::CHAM128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1355,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1358,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SIMECK32>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1360,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1363,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SIMECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1365,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1368,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SHARK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1370,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1373,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SAFER_K>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1375,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1378,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SAFER_SK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1380,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1385,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1387,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Kalyna128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1388,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1392,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1394,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Kalyna256 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1395,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1399,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1401,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Kalyna512 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1402,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1406,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SM4 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1408,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1411,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1413,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1414,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1418,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1420,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1421,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1425,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1427,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1428,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1432,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1434,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1435,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1439,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1441,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1442,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1446,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1448,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1449,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1453,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1455,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1456,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1460,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1462,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1463,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1467,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1469,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1470,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1474,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::HIGHT>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1476,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1479,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::LEA>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1481,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1485,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SKIPJACK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1487,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1491,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::RC6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1493,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1496,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SIMON64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1498,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1501,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SIMON128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1503,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1506,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SPECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1508,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1511,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SPECK128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1513,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1516,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Square>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1518,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1521,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::CHAM64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1523,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1526,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::CHAM128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1528,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1531,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SIMECK32>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1533,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1536,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SIMECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1538,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1541,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SHARK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1543,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1546,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SAFER_K>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1548,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1551,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SAFER_SK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1553,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1558,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1560,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Kalyna128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1561,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1565,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1567,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Kalyna256 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1568,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1572,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1574,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Kalyna512 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1575,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1579,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::DES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1581,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1584,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::DES_EDE2 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1586,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1589,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::DES_EDE3 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1591,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1594,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::IDEA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1596,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1599,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SEED >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1601,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1604,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SM4 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1606,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1609,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1616,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Blowfish >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1618,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1621,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::CAST128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1623,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1626,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1628,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1629,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1633,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1635,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1636,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1640,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1642,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1643,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1647,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1649,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1650,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1654,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1656,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1657,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1661,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1663,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1664,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1668,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1670,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1671,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1675,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1677,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1678,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1682,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1684,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1685,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1689,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::HIGHT>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1691,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1694,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::LEA>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1696,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1700,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SKIPJACK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1702,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1706,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::RC6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1708,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1711,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SIMON64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1713,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1717,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SIMON128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1719,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1724,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SPECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1726,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1731,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SPECK128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1733,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1737,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Square>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1739,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1742,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::CHAM64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1744,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1747,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::CHAM128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1749,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1752,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SIMECK32>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1754,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1757,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SIMECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1759,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1762,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SHARK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1764,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1767,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SAFER_K>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1769,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1772,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SAFER_SK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1774,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1779,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1781,1
    - Dst: CryptoPP_detail::CryptXTS< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1782,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1786,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1788,1
    - Dst: CryptoPP_detail::CryptXTS< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1789,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1793,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1795,1
    - Dst: CryptoPP_detail::CryptXTS< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1796,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1805,1
    - Dst: CryptoPP_detail::CryptRaw< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1807,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1810,1
    - Dst: CryptoPP_detail::CryptRaw< ::CryptoPP::Serpent >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1812,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1815,1
    - Dst: CryptoPP_detail::CryptRaw< ::CryptoPP::Twofish >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1817,1
    CyclomaticComplexity: 273
    EdgeCount: 273
    ICount: 937
    argCount: 2
    argNames:
    - ' op'
    - ' ret'
    argTypes:
    - Operation
    - std::optional<ReturnType>
    constantsTouched: []
    func_position:
      end: 1823
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 1823
    functionName: cryptofuzz::module::CryptoPP_detail::Crypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SPECK128>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::Kalyna256 >
    - CryptoPP_detail::CryptRaw< ::CryptoPP::Twofish >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::DES_EDE3 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::ARIA >
    - CryptoPP_detail::CryptECB< ::CryptoPP::Kalyna128 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SIMON128>
    - CryptoPP_detail::CryptECB< ::CryptoPP::HIGHT>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SPECK128>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SIMECK32>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::RC6>
    - cipher::cipherType::Get
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SPECK128>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::DES_EDE2 >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::RC6>
    - CryptoPP_detail::CryptECB< ::CryptoPP::SIMON128>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::AES, 1 >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::Kalyna512 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::ARIA >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SAFER_SK>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::CHAM128>
    - CryptoPP_detail::CryptECB< ::CryptoPP::SEED >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::HIGHT>
    - CryptoPP_detail::CryptECB< ::CryptoPP::Kalyna256 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::IDEA >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::AES >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::DES_XEX3 >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::DES >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SKIPJACK>
    - CryptoPP_detail::CryptECB< ::CryptoPP::ARIA >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::HIGHT>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::Square>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SIMON128>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SHARK>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna256 >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::CAST128 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::LEA>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SAFER_K>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::Square>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::Kalyna512 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::CHAM64>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::CAST128 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SKIPJACK>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna128 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::CHAM64>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::Camellia >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SIMECK64>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::RC6>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SHARK>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SIMON64>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SIMECK64>
    - CryptoPP_detail::CryptRaw< ::CryptoPP::Serpent >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::LEA>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SM4 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::DES_EDE3 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::AES >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::Square>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::Kalyna128 >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::DES_EDE2 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SIMECK32>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::AES >
    - CryptoPP_detail::CryptECB< ::CryptoPP::Square>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SPECK64>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SKIPJACK>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SKIPJACK>
    - CryptoPP_detail::CryptECB< ::CryptoPP::LEA>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::GOST >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SIMECK32>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SAFER_SK>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna128, 1 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SEED >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna512, 1 >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SAFER_K>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SAFER_SK>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SIMECK64>
    - CryptoPP_detail::CryptECB< ::CryptoPP::DES >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::CHAM64>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::Camellia >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::Kalyna128 >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SKIPJACK>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::CAST128 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SM4 >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SHARK>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SIMECK64>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::Camellia >
    - CryptoPP_detail::CryptECB< ::CryptoPP::IDEA >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SPECK128>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::DES_EDE3, 1 >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SIMON128>
    - CryptoPP_detail::CryptECB< ::CryptoPP::AES >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SM4 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::Kalyna512 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SM4 >
    - CryptoPP_detail::CryptECB< ::CryptoPP::Camellia >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SHARK>
    - CryptoPP_detail::CryptECB< ::CryptoPP::SAFER_K>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SIMECK32>
    - CryptoPP_detail::CryptXTS< ::CryptoPP::AES >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SPECK64>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SEED >
    - CryptoPP_detail::CryptECB< ::CryptoPP::RC6>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SPECK64>
    - CryptoPP_detail::CryptECB< ::CryptoPP::CHAM64>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::Kalyna256 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SPECK128>
    - CryptoPP_detail::CryptECB< ::CryptoPP::Blowfish >
    - cipher::key::GetSize
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SAFER_K>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::ARIA >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Blowfish >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::DES, 1 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SIMON64>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SIMON128>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::CHAM64>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::IDEA >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SAFER_K>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SIMON64>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::Blowfish >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SEED >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::HIGHT>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::Kalyna256 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::AES >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SIMECK32>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::IDEA >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SHARK>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SAFER_SK>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::LEA>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna512 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::Blowfish >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SIMON64>
    - CryptoPP_detail::CryptECB< ::CryptoPP::Kalyna512 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::DES >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::CHAM128>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::DES_EDE3 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia, 1 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SIMON64>
    - CF_CIPHER
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Square>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::CHAM128>
    - CryptoPP_detail::CryptECB< ::CryptoPP::SPECK64>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SAFER_SK>
    - CryptoPP_detail::CryptECB< ::CryptoPP::CAST128 >
    - CryptoPP_detail::CryptECB< ::CryptoPP::CHAM128>
    - CryptoPP_detail::CryptRaw< ::CryptoPP::AES >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::DES >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::LEA>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA, 1 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna256, 1 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::RC6>
    - CryptoPP_detail::CryptECB< ::CryptoPP::SM4 >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SIMECK64>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SPECK64>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::Kalyna128 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::CHAM128>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::HIGHT>
    linkageType: ''
    returnType: void
    signature: void Crypt(Operation& op, std::optional<ReturnType>& ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1829,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1830,1
    - Dst: CryptoPP_detail::CHACHA20_POLY1305_Encrypt<::CryptoPP::ChaCha20Poly1305>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1831,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1832,1
    - Dst: CryptoPP_detail::CHACHA20_POLY1305_Encrypt<::CryptoPP::XChaCha20Poly1305>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1833,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1834,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1835,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1836,1
    - Dst: cryptofuzz::module::CryptoPP_detail::AES_GCM_Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1837,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1838,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1839,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1840,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<4>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1847,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1849,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<8>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1851,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<10>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1853,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<12>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1855,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<14>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1857,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<16>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1859,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Crypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1876
      start: 1826
    functionDepth: 2
    functionLinenumber: 1826
    functionLinenumberEnd: 1876
    functionName: cryptofuzz::module::CryptoPP::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::AES_CCM_Encrypt<8>
    - cipher::cipherType::Get
    - CryptoPP_detail::AES_CCM_Encrypt<14>
    - CryptoPP_detail::CHACHA20_POLY1305_Encrypt<::CryptoPP::XChaCha20Poly1305>
    - CryptoPP_detail::CHACHA20_POLY1305_Encrypt<::CryptoPP::ChaCha20Poly1305>
    - CryptoPP_detail::AES_CCM_Encrypt<12>
    - cryptofuzz::module::CryptoPP_detail::Crypt
    - CryptoPP_detail::AES_CCM_Encrypt<10>
    - CryptoPP_detail::AES_CCM_Encrypt<4>
    - CryptoPP_detail::AES_CCM_Encrypt<16>
    - cryptofuzz::module::CryptoPP_detail::AES_GCM_Encrypt
    - CF_CIPHER
    - CryptoPP_detail::AES_CCM_Encrypt<6>
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptoPP::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1881,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1882,1
    - Dst: CryptoPP_detail::CHACHA20_POLY1305_Decrypt<::CryptoPP::ChaCha20Poly1305>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1883,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1884,1
    - Dst: CryptoPP_detail::CHACHA20_POLY1305_Decrypt<::CryptoPP::XChaCha20Poly1305>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1885,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1886,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1887,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1888,1
    - Dst: cryptofuzz::module::CryptoPP_detail::AES_GCM_Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1889,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1890,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1891,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1892,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1898,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<4>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1900,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1902,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<8>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1904,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<10>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1906,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<12>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1908,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<14>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1910,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<16>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1912,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Crypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1926,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1929
      start: 1878
    functionDepth: 2
    functionLinenumber: 1878
    functionLinenumberEnd: 1929
    functionName: cryptofuzz::module::CryptoPP::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - tag::GetSize
    - CryptoPP_detail::AES_CCM_Decrypt<16>
    - cipher::cipherType::Get
    - CryptoPP_detail::AES_CCM_Decrypt<4>
    - CryptoPP_detail::CHACHA20_POLY1305_Decrypt<::CryptoPP::ChaCha20Poly1305>
    - CryptoPP_detail::AES_CCM_Decrypt<10>
    - CryptoPP_detail::AES_CCM_Decrypt<12>
    - CryptoPP_detail::CHACHA20_POLY1305_Decrypt<::CryptoPP::XChaCha20Poly1305>
    - CryptoPP_detail::AES_CCM_Decrypt<8>
    - cryptofuzz::module::CryptoPP_detail::Crypt
    - CF_CIPHER
    - cryptofuzz::module::CryptoPP_detail::AES_GCM_Decrypt
    - CryptoPP_detail::AES_CCM_Decrypt<14>
    - CryptoPP_detail::AES_CCM_Decrypt<6>
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptoPP::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::CryptoPP::HKDF<Digest>::DeriveKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1944,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1947,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1948,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1949,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1950,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1951,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1952,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1957,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 1963
      start: 1935
    functionDepth: 2
    functionLinenumber: 1935
    functionLinenumberEnd: 1963
    functionName: cryptofuzz::module::CryptoPP_detail::KDF_HKDF::Compute
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - info::GetSize
    - info::GetPtr
    - ::CryptoPP::HKDF<Digest>::DeriveKey
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Compute(operation::KDF_HKDF& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_HKDF, component::Key>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 1969
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1969
    functionName: cryptofuzz::module::CryptoPP::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_HKDF, component::Key>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> CryptoPP::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1978,1
    - Dst: ::CryptoPP::Scrypt::DeriveKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1983,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1986,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1987,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1988,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1989,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1998,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 2004
      start: 1971
    functionDepth: 2
    functionLinenumber: 1971
    functionLinenumberEnd: 2004
    functionName: cryptofuzz::module::CryptoPP::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ::CryptoPP::Scrypt::DeriveKey
    - salt::GetPtr
    - password::GetPtr
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> CryptoPP::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::CryptoPP::PKCS5_PBKDF2_HMAC<Digest>::DeriveKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2018,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2022,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2023,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2024,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2025,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2031,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 2037
      start: 2010
    functionDepth: 2
    functionLinenumber: 2010
    functionLinenumberEnd: 2037
    functionName: cryptofuzz::module::CryptoPP_detail::KDF_PBKDF2::Compute
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - ::CryptoPP::PKCS5_PBKDF2_HMAC<Digest>::DeriveKey
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Compute(operation::KDF_PBKDF2& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::CryptoPP::PKCS12_PBKDF<Digest>::DeriveKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2050,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2054,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2055,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2056,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2057,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2064,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 2070
      start: 2043
    functionDepth: 2
    functionLinenumber: 2043
    functionLinenumberEnd: 2070
    functionName: cryptofuzz::module::CryptoPP_detail::KDF_PBKDF::Compute
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - ::CryptoPP::PKCS12_PBKDF<Digest>::DeriveKey
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Compute(operation::KDF_PBKDF& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2087,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2088,1
    - Dst: ::CryptoPP::PKCS5_PBKDF1<Digest>::DeriveKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2092,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2096,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2097,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2098,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2099,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2105,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF1
    constantsTouched: []
    func_position:
      end: 2111
      start: 2076
    functionDepth: 2
    functionLinenumber: 2076
    functionLinenumberEnd: 2111
    functionName: cryptofuzz::module::CryptoPP_detail::KDF_PBKDF1::Compute
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_LTE
    - ::CryptoPP::PKCS5_PBKDF1<Digest>::DeriveKey
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Compute(operation::KDF_PBKDF1& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2118,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2118,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2119,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2119,1
    - Dst: CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_PBKDF, component::Key>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 2124
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2124
    functionName: cryptofuzz::module::CryptoPP::OpKDF_PBKDF
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_PBKDF, component::Key>
    - CF_DIGEST
    - digestType::Is
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> CryptoPP::OpKDF_PBKDF(operation::KDF_PBKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_PBKDF1, component::Key>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF1
    constantsTouched: []
    func_position:
      end: 2128
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2128
    functionName: cryptofuzz::module::CryptoPP::OpKDF_PBKDF1
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_PBKDF1, component::Key>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> CryptoPP::OpKDF_PBKDF1(operation::KDF_PBKDF1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_PBKDF2, component::Key>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 2132
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2132
    functionName: cryptofuzz::module::CryptoPP::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_PBKDF2, component::Key>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> CryptoPP::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2137,1
    - Dst: ::CryptoPP::ASN1::brainpoolP160r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2137,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2138,1
    - Dst: ::CryptoPP::ASN1::brainpoolP192r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2138,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2139,1
    - Dst: ::CryptoPP::ASN1::brainpoolP224r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2139,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2140,1
    - Dst: ::CryptoPP::ASN1::brainpoolP256r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2140,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2141,1
    - Dst: ::CryptoPP::ASN1::brainpoolP320r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2141,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2142,1
    - Dst: ::CryptoPP::ASN1::brainpoolP384r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2142,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2143,1
    - Dst: ::CryptoPP::ASN1::brainpoolP512r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2143,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2144,1
    - Dst: ::CryptoPP::ASN1::secp112r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2144,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2145,1
    - Dst: ::CryptoPP::ASN1::secp112r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2145,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2146,1
    - Dst: ::CryptoPP::ASN1::secp128r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2146,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2147,1
    - Dst: ::CryptoPP::ASN1::secp128r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2147,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2148,1
    - Dst: ::CryptoPP::ASN1::secp160k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2148,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2149,1
    - Dst: ::CryptoPP::ASN1::secp160r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2149,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2150,1
    - Dst: ::CryptoPP::ASN1::secp160r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2150,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2151,1
    - Dst: ::CryptoPP::ASN1::secp192k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2151,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2152,1
    - Dst: Botan::PCurve::PCurveInstance::secp192r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2152,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2153,1
    - Dst: ::CryptoPP::ASN1::secp224k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2153,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2154,1
    - Dst: Botan::PCurve::PCurveInstance::secp224r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2154,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2155,1
    - Dst: cryptofuzz::module::secp256k1::secp256k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2155,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2156,1
    - Dst: Botan::PCurve::PCurveInstance::secp256r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2156,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2157,1
    - Dst: Botan::PCurve::PCurveInstance::secp384r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2157,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2158,1
    - Dst: Botan::PCurve::PCurveInstance::secp521r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2158,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2159,1
    - Dst: ::CryptoPP::ASN1::sect113r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2159,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2160,1
    - Dst: ::CryptoPP::ASN1::sect113r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2160,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2161,1
    - Dst: ::CryptoPP::ASN1::sect131r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2161,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2162,1
    - Dst: ::CryptoPP::ASN1::sect131r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2162,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2163,1
    - Dst: ::CryptoPP::ASN1::sect163k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2163,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2164,1
    - Dst: ::CryptoPP::ASN1::sect163r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2164,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2165,1
    - Dst: ::CryptoPP::ASN1::sect163r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2165,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2166,1
    - Dst: ::CryptoPP::ASN1::sect193r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2166,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2167,1
    - Dst: ::CryptoPP::ASN1::sect193r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2167,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2168,1
    - Dst: ::CryptoPP::ASN1::sect233k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2168,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2169,1
    - Dst: ::CryptoPP::ASN1::sect233r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2169,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2170,1
    - Dst: ::CryptoPP::ASN1::sect239k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2170,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2171,1
    - Dst: ::CryptoPP::ASN1::sect283k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2171,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2172,1
    - Dst: ::CryptoPP::ASN1::sect283r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2172,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2173,1
    - Dst: ::CryptoPP::ASN1::sect409k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2173,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2174,1
    - Dst: ::CryptoPP::ASN1::sect409r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2174,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2175,1
    - Dst: ::CryptoPP::ASN1::sect571k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2175,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2176,1
    - Dst: ::CryptoPP::ASN1::sect571r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2176,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2177,1
    - Dst: Botan::PCurve::PCurveInstance::sm2p256v1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2177,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2180,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2180,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2180,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2181,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2184,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 2185
      start: 2135
    functionDepth: 1
    functionLinenumber: 2135
    functionLinenumberEnd: 2185
    functionName: cryptofuzz::module::CryptoPP_detail::ResolveCurve
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ::CryptoPP::ASN1::secp192k1
    - ::CryptoPP::ASN1::sect233k1
    - ::CryptoPP::ASN1::sect163r2
    - Botan::PCurve::PCurveInstance::secp384r1
    - ::CryptoPP::ASN1::brainpoolP192r1
    - ::CryptoPP::ASN1::secp112r1
    - std::map::at
    - ::CryptoPP::ASN1::secp112r2
    - ::CryptoPP::ASN1::brainpoolP224r1
    - Botan::PCurve::PCurveInstance::secp256r1
    - ::CryptoPP::ASN1::secp160k1
    - ::CryptoPP::ASN1::sect409k1
    - ::CryptoPP::ASN1::secp128r2
    - ::CryptoPP::ASN1::sect283k1
    - ::CryptoPP::ASN1::sect571r1
    - Botan::PCurve::PCurveInstance::sm2p256v1
    - cryptofuzz::module::secp256k1::secp256k1
    - std::map::find
    - ::CryptoPP::ASN1::sect163k1
    - ::CryptoPP::ASN1::brainpoolP512r1
    - ::CryptoPP::ASN1::sect113r1
    - Botan::PCurve::PCurveInstance::secp224r1
    - ::CryptoPP::ASN1::sect239k1
    - ::CryptoPP::ASN1::sect131r1
    - ::CryptoPP::ASN1::sect409r1
    - ::CryptoPP::ASN1::sect163r1
    - ::CryptoPP::ASN1::brainpoolP320r1
    - ::CryptoPP::ASN1::sect283r1
    - ::CryptoPP::ASN1::brainpoolP256r1
    - ::CryptoPP::ASN1::sect113r2
    - ::CryptoPP::ASN1::sect193r2
    - ::CryptoPP::ASN1::sect193r1
    - Botan::PCurve::PCurveInstance::secp521r1
    - std::map::end
    - CF_ECC_CURVE
    - ::CryptoPP::ASN1::sect233r1
    - ::CryptoPP::ASN1::brainpoolP384r1
    - ::CryptoPP::ASN1::secp160r1
    - ::CryptoPP::ASN1::brainpoolP160r1
    - ::CryptoPP::ASN1::sect131r2
    - ::CryptoPP::ASN1::sect571k1
    - Botan::PCurve::PCurveInstance::secp192r1
    - ::CryptoPP::ASN1::secp224k1
    - ::CryptoPP::ASN1::secp160r2
    - ::CryptoPP::ASN1::secp128r1
    - std::exception
    - Get
    linkageType: ''
    returnType: ::CryptoPP::DL_GroupParameters_EC<::CryptoPP::ECP>
    signature: ::CryptoPP::DL_GroupParameters_EC<::CryptoPP::ECP> & ResolveCurve(const
      component::CurveType& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2190,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2190,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2195,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2197,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2197,1
    - Dst: ::CryptoPP::Integer::Encode
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2202,1
    - Dst: ::CryptoPP::SecByteBlock::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2202,1
    - Dst: ::CryptoPP::SecByteBlock::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2202,1
    - Dst: ::CryptoPP::x25519::GeneratePublicKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2206,1
    - Dst: ::CryptoPP::IntToString<>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2210,1
    - Dst: cryptofuzz::module::CryptoPP_detail::ResolveCurve
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2213,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PrivateKey::Initialize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2214,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PrivateKey::MakePublicKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2219,1
    - Dst: ::CryptoPP::IntToString<>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2222,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::GetPublicElement
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2222,1
    - Dst: ::CryptoPP::IntToString<>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2223,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::GetPublicElement
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 2229
      start: 2188
    functionDepth: 2
    functionLinenumber: 2188
    functionLinenumberEnd: 2229
    functionName: cryptofuzz::module::CryptoPP::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PrivateKey::MakePublicKey
    - ::CryptoPP::x25519::GeneratePublicKey
    - ::CryptoPP::Integer::Encode
    - modifier::GetPtr
    - ::CryptoPP::SecByteBlock::data
    - CF_ECC_CURVE
    - cryptofuzz::module::CryptoPP_detail::ResolveCurve
    - ::CryptoPP::SecByteBlock::size
    - priv::ToString
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::GetPublicElement
    - ::CryptoPP::IntToString<>
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PrivateKey::Initialize
    - modifier::GetSize
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> CryptoPP::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2233,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2233,1
    - Dst: cryptofuzz::module::CryptoPP_detail::ResolveCurve
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2238,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::Initialize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2240,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2242,1
    - Dst: ::CryptoPP::Integer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2243,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2243,1
    - Dst: ::CryptoPP::Integer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2244,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2244,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::Validate
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 2256
      start: 2231
    functionDepth: 4
    functionLinenumber: 2231
    functionLinenumberEnd: 2256
    functionName: cryptofuzz::module::CryptoPP::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ::CryptoPP::Integer
    - modifier::GetPtr
    - pub::first::ToString
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::Validate
    - cryptofuzz::module::CryptoPP_detail::ResolveCurve
    - generateECCPoint
    - pub::second::ToString
    - modifier::GetSize
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::Initialize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> CryptoPP::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2262,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2262,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2264,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2265,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2266,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2267,1
    - Dst: cryptofuzz::module::CryptoPP_detail::ResolveCurve
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2275,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::Initialize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2276,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2285,1
    - Dst: ::CryptoPP::Integer::Encode
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2288,1
    - Dst: ::CryptoPP::Integer::Encode
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2289,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::Verifier::VerifyMessage
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2292,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2292,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 2299
      start: 2258
    functionDepth: 2
    functionLinenumber: 2258
    functionLinenumberEnd: 2299
    functionName: cryptofuzz::module::CryptoPP::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - signature::second::ToString
    - pub::first::ToString
    - modifier::GetPtr
    - ::CryptoPP::Integer::Encode
    - cleartext::GetSize
    - abort
    - cryptofuzz::module::CryptoPP_detail::ResolveCurve
    - cleartext::GetPtr
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::Verifier::VerifyMessage
    - modifier::GetSize
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::Initialize
    - signature::first::ToString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> CryptoPP::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2303,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2303,1
    - Dst: ::CryptoPP::Integer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2307,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2307,1
    - Dst: ::CryptoPP::Integer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2308,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2308,1
    - Dst: ::CryptoPP::Integer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2309,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2309,1
    - Dst: ::CryptoPP::Integer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2310,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2310,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2314,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2315,1
    - Dst: std::make_unique<CryptoPP_bignum::Add>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2316,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2318,1
    - Dst: std::make_unique<CryptoPP_bignum::Sub>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2319,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2321,1
    - Dst: std::make_unique<CryptoPP_bignum::Mul>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2322,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2324,1
    - Dst: std::make_unique<CryptoPP_bignum::Div>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2325,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2327,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2329,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2329,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2330,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2330,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2331,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2331,1
    - Dst: std::make_unique<CryptoPP_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2333,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2335,1
    - Dst: std::make_unique<CryptoPP_bignum::Sqr>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2336,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2338,1
    - Dst: std::make_unique<CryptoPP_bignum::GCD>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2339,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2341,1
    - Dst: std::make_unique<CryptoPP_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2342,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2344,1
    - Dst: std::make_unique<CryptoPP_bignum::InvMod>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2345,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2347,1
    - Dst: std::make_unique<CryptoPP_bignum::MulMod>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2348,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2350,1
    - Dst: std::make_unique<CryptoPP_bignum::Cmp>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2351,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2353,1
    - Dst: std::make_unique<CryptoPP_bignum::LCM>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2354,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2356,1
    - Dst: std::make_unique<CryptoPP_bignum::Abs>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2357,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2359,1
    - Dst: std::make_unique<CryptoPP_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2360,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2362,1
    - Dst: std::make_unique<CryptoPP_bignum::Neg>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2363,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2365,1
    - Dst: std::make_unique<CryptoPP_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2366,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2368,1
    - Dst: std::make_unique<CryptoPP_bignum::IsEq>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2369,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2371,1
    - Dst: std::make_unique<CryptoPP_bignum::IsGt>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2372,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2374,1
    - Dst: std::make_unique<CryptoPP_bignum::IsGte>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2375,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2377,1
    - Dst: std::make_unique<CryptoPP_bignum::IsLt>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2378,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2380,1
    - Dst: std::make_unique<CryptoPP_bignum::IsLte>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2381,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2383,1
    - Dst: std::make_unique<CryptoPP_bignum::IsZero>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2384,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2386,1
    - Dst: std::make_unique<CryptoPP_bignum::And>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2387,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2389,1
    - Dst: std::make_unique<CryptoPP_bignum::Or>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2390,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2392,1
    - Dst: std::make_unique<CryptoPP_bignum::Xor>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2393,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2395,1
    - Dst: std::make_unique<CryptoPP_bignum::IsEven>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2396,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2398,1
    - Dst: std::make_unique<CryptoPP_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2399,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2401,1
    - Dst: std::make_unique<CryptoPP_bignum::Bit>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2402,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2404,1
    - Dst: std::make_unique<CryptoPP_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2405,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2407,1
    - Dst: std::make_unique<CryptoPP_bignum::SetBit>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2408,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2410,1
    - Dst: std::make_unique<CryptoPP_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2411,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2413,1
    - Dst: std::make_unique<CryptoPP_bignum::IsSquare>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2414,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2416,1
    - Dst: std::make_unique<CryptoPP_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2417,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2419,1
    - Dst: std::make_unique<CryptoPP_bignum::NumBits>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2420,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2422,1
    - Dst: std::make_unique<CryptoPP_bignum::LShift1>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2423,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2425,1
    - Dst: std::make_unique<CryptoPP_bignum::RShift>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2426,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2430,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2433,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2433,1
    - Dst: IntToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2438,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 125
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2443
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2443
    functionName: cryptofuzz::module::CryptoPP::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - std::make_unique<CryptoPP_bignum::IsGte>
    - std::make_unique<CryptoPP_bignum::And>
    - std::make_unique<CryptoPP_bignum::IsSquare>
    - bn1::GetSize
    - std::make_unique<CryptoPP_bignum::MulMod>
    - IntToString
    - std::make_unique<CryptoPP_bignum::Add>
    - std::make_unique<CryptoPP_bignum::SqrMod>
    - std::make_unique<CryptoPP_bignum::Abs>
    - std::make_unique<CryptoPP_bignum::Div>
    - std::make_unique<CryptoPP_bignum::Or>
    - CF_CALCOP
    - bn2::ToString
    - modifier::GetPtr
    - std::make_unique<CryptoPP_bignum::InvMod>
    - std::make_unique<CryptoPP_bignum::ClearBit>
    - bn0::ToString
    - std::make_unique<CryptoPP_bignum::IsLte>
    - std::make_unique<CryptoPP_bignum::Mul>
    - std::make_unique<CryptoPP_bignum::IsLt>
    - std::make_unique<CryptoPP_bignum::IsOdd>
    - bn3::ToString
    - std::make_unique<CryptoPP_bignum::RShift>
    - bn0::GetSize
    - std::make_unique<CryptoPP_bignum::IsZero>
    - CF_CHECK_EQ
    - bn2::GetSize
    - std::make_unique<CryptoPP_bignum::IsNeg>
    - std::make_unique<CryptoPP_bignum::IsGt>
    - std::make_unique<CryptoPP_bignum::NumBits>
    - std::make_unique<CryptoPP_bignum::IsEven>
    - bn1::ToString
    - calcOp::Get
    - std::make_unique<CryptoPP_bignum::CmpAbs>
    - std::make_unique<CryptoPP_bignum::Sub>
    - ::CryptoPP::Integer
    - std::make_unique<CryptoPP_bignum::Xor>
    - std::make_unique<CryptoPP_bignum::Neg>
    - std::make_unique<CryptoPP_bignum::Jacobi>
    - std::make_unique<CryptoPP_bignum::LShift1>
    - std::make_unique<CryptoPP_bignum::SetBit>
    - std::make_unique<CryptoPP_bignum::ExpMod>
    - std::make_unique<CryptoPP_bignum::Bit>
    - std::make_unique<CryptoPP_bignum::GCD>
    - CF_CHECK_NE
    - std::make_unique<CryptoPP_bignum::Sqr>
    - std::make_unique<CryptoPP_bignum::Cmp>
    - std::make_unique<CryptoPP_bignum::IsEq>
    - std::unique_ptr::Run
    - modifier::GetSize
    - std::make_unique<CryptoPP_bignum::LCM>
    - std::make_unique<CryptoPP_bignum::Sqrt>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> CryptoPP::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: cryptofuzz::module::CPU::CPU
    functionSourceFile: /src/cryptofuzz/modules/cpu/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPU::CPU(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/cpu/module.cpp:37,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/cpu/module.cpp:37,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/cpu/module.cpp:42,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/cpu/module.cpp:42,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/cpu/module.cpp:42,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/cpu/module.cpp:43,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/cpu/module.cpp:43,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/cpu/module.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: cryptofuzz::module::CPU_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/cpu/module.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::reverse
    - cryptofuzz::util::DecToBin
    - memcpy
    - auto::data
    - auto::end
    - auto::size
    - ToTrimmedString
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Load(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cpu/module.cpp:50,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cpu/module.cpp:50,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/cpu/module.cpp:52,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cpu/module.cpp:52,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cpu/module.cpp:53,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cpu/module.cpp:53,1
    - Dst: cryptofuzz_asm_crc32
      Src: /src/cryptofuzz/modules/cpu/module.cpp:57,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cpu/module.cpp:58,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cpu/module.cpp:59,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/cpu/module.cpp:60,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/cpu/module.cpp:60,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/cpu/module.cpp:60,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/cpu/module.cpp:61,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/cpu/module.cpp:62,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/cpu/module.cpp:62,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/cpu/module.cpp:62,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/cpu/module.cpp:63,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/cpu/module.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::CPU::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/cpu/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - std::array::data
    - modifier::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - memcpy
    - digestType::Is
    - CF_ASSERT
    - cleartext::GetPtr
    - std::array::size
    - CF_DIGEST
    - memcmp
    - modifier::GetSize
    - cryptofuzz_asm_crc32
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> CPU::OpDigest(operation::Digest& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cpu/module.cpp:72,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cpu/module.cpp:72,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/cpu/module.cpp:75,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/cpu/module.cpp:80,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:81,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:83,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:84,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:86,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:87,1
    - Dst: cryptofuzz_asm_add
      Src: /src/cryptofuzz/modules/cpu/module.cpp:89,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:92,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:94,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:95,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:97,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:98,1
    - Dst: cryptofuzz_asm_sub
      Src: /src/cryptofuzz/modules/cpu/module.cpp:100,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:103,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:105,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:106,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:108,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:109,1
    - Dst: cryptofuzz_asm_mul
      Src: /src/cryptofuzz/modules/cpu/module.cpp:111,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:114,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:116,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:117,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:119,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:120,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:122,1
    - Dst: cryptofuzz_asm_div
      Src: /src/cryptofuzz/modules/cpu/module.cpp:124,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:127,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:129,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:130,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:132,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:133,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:135,1
    - Dst: cryptofuzz_asm_mod
      Src: /src/cryptofuzz/modules/cpu/module.cpp:137,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:140,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:142,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:143,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:145,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:146,1
    - Dst: cryptofuzz_asm_or
      Src: /src/cryptofuzz/modules/cpu/module.cpp:148,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:151,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:153,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:154,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:156,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:157,1
    - Dst: cryptofuzz_asm_xor
      Src: /src/cryptofuzz/modules/cpu/module.cpp:159,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:162,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:164,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:165,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:167,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:168,1
    - Dst: cryptofuzz_asm_and
      Src: /src/cryptofuzz/modules/cpu/module.cpp:170,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:173,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:175,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:176,1
    - Dst: CPU_detail::Load<uint8_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:178,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:179,1
    - Dst: cryptofuzz_asm_shr
      Src: /src/cryptofuzz/modules/cpu/module.cpp:181,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:184,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:186,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:187,1
    - Dst: cryptofuzz_asm_bsr
      Src: /src/cryptofuzz/modules/cpu/module.cpp:188,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:191,1
    - Dst: cryptofuzz_asm_rdrand
      Src: /src/cryptofuzz/modules/cpu/module.cpp:192,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/cpu/module.cpp:197,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 76
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 202
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 202
    functionName: cryptofuzz::module::CPU::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/cpu/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_asm_shr
    - std::to_string
    - cryptofuzz_asm_or
    - cryptofuzz_asm_rdrand
    - CPU_detail::Load<size_t>
    - cryptofuzz_asm_mod
    - CF_CALCOP
    - modifier::GetPtr
    - cryptofuzz_asm_add
    - cryptofuzz_asm_and
    - cryptofuzz_asm_sub
    - cryptofuzz_asm_div
    - cryptofuzz_asm_xor
    - calcOp::Get
    - cryptofuzz_asm_mul
    - CPU_detail::Load<uint8_t>
    - cryptofuzz_asm_bsr
    - modulo::ToTrimmedString
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> CPU::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: cryptofuzz::module::CPU::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/cpu/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CPU::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: cryptofuzz::module::intx::intx
    functionSourceFile: /src/cryptofuzz/modules/intx/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intx::intx(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/intx/module.cpp:15,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/intx/module.cpp:15,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:21,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/intx/module.cpp:21,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/intx/module.cpp:21,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:22,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/intx/module.cpp:22,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/intx/module.cpp:22,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:23,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/intx/module.cpp:23,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/intx/module.cpp:23,1
    - Dst: ::intx::be::unsafe::load<T>
      Src: /src/cryptofuzz/modules/intx/module.cpp:26,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/intx/module.cpp:26,1
    - Dst: ::intx::be::unsafe::load<T>
      Src: /src/cryptofuzz/modules/intx/module.cpp:27,1
    - Dst: data
      Src: /src/cryptofuzz/modules/intx/module.cpp:27,1
    - Dst: ::intx::be::unsafe::load<T>
      Src: /src/cryptofuzz/modules/intx/module.cpp:28,1
    - Dst: data
      Src: /src/cryptofuzz/modules/intx/module.cpp:28,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/intx/module.cpp:30,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:31,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:34,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:37,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:38,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:41,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:44,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:45,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:48,1
    - Dst: cryptofuzz::module::aurora_engine_modexp::aurora_engine_modexp
      Src: /src/cryptofuzz/modules/intx/module.cpp:49,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:51,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:54,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:57,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:60,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:63,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:72,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:75,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:78,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:81,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:84,1
    - Dst: ::intx::clz
      Src: /src/cryptofuzz/modules/intx/module.cpp:85,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:87,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:90,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:93,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:96,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:99,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:100,1
    - Dst: ::intx::addmod
      Src: /src/cryptofuzz/modules/intx/module.cpp:103,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:108,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:109,1
    - Dst: ::intx::mulmod
      Src: /src/cryptofuzz/modules/intx/module.cpp:112,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:117,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:118,1
    - Dst: sdivrem
      Src: /src/cryptofuzz/modules/intx/module.cpp:119,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/intx/module.cpp:129,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/intx/module.cpp:131,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/intx/module.cpp:136,1
    - Dst: nlohmann::json_pointer::to_string
      Src: /src/cryptofuzz/modules/intx/module.cpp:136,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/intx/module.cpp:137,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/intx/module.cpp:137,1
    - Dst: ::intx::from_string<T>
      Src: /src/cryptofuzz/modules/intx/module.cpp:138,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/intx/module.cpp:142,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_loadstore
      Src: /src/cryptofuzz/modules/intx/module.cpp:142,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/intx/module.cpp:143,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 119
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 147
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 147
    functionName: cryptofuzz::module::intx_detail::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/intx/module.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - ::intx::from_string<T>
    - sdivrem
    - ::intx::addmod
    - CF_CALCOP
    - modifier::GetPtr
    - bn2::ToTrimmedString
    - Botan_Tests::Utility_Function_Tests::test_loadstore
    - data
    - bn0::ToTrimmedString
    - cryptofuzz::util::BinToDec
    - nlohmann::json_pointer::to_string
    - Datasource::Get
    - std::optional::data
    - ::intx::mulmod
    - calcOp::Get
    - CF_NORET
    - cryptofuzz::util::DecToBin
    - bn1::ToTrimmedString
    - ::intx::be::unsafe::load<T>
    - from_hex
    - ::intx::clz
    - CF_CHECK_NE
    - cryptofuzz::module::aurora_engine_modexp::aurora_engine_modexp
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/intx/module.cpp:153,1
    - Dst: intx_detail::OpBignumCalc<::intx::uint128, 16>
      Src: /src/cryptofuzz/modules/intx/module.cpp:154,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/intx/module.cpp:155,1
    - Dst: intx_detail::OpBignumCalc<::intx::uint256, 32>
      Src: /src/cryptofuzz/modules/intx/module.cpp:156,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/intx/module.cpp:157,1
    - Dst: intx_detail::OpBignumCalc<::intx::uint512, 64>
      Src: /src/cryptofuzz/modules/intx/module.cpp:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: cryptofuzz::module::intx::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/intx/module.cpp
    functionUses: 0
    functionsReached:
    - intx_detail::OpBignumCalc<::intx::uint128, 16>
    - modulo::ToTrimmedString
    - intx_detail::OpBignumCalc<::intx::uint512, 64>
    - intx_detail::OpBignumCalc<::intx::uint256, 32>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> intx::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: cryptofuzz::module::intx::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/intx/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intx::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: cryptofuzz::module::rust_libsecp256k1::rust_libsecp256k1
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rust_libsecp256k1::rust_libsecp256k1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:23,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:23,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:27,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:27,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:28,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:29,1
    - Dst: parity_libsecp256k1_ecc_privatetopublic
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:29,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:29,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:30,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - parity_libsecp256k1_ecc_privatetopublic
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - auto::data
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - priv::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> rust_libsecp256k1::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:37,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:37,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:42,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:42,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:43,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:43,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:44,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:45,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:46,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:46,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:47,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:47,1
    - Dst: parity_libsecp256k1_validate_pubkey
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - pub::first::ToTrimmedString
    - pub::second::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - parity_libsecp256k1_validate_pubkey
    - memcpy
    - auto::data
    - CF_CHECK_NE
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> rust_libsecp256k1::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:55,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:55,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:58,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:66,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:66,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:67,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:68,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:68,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:69,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:74,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:74,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:75,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:77,1
    - Dst: parity_libsecp256k1_ecc_privatetopublic
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:77,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:77,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:78,1
    - Dst: parity_libsecp256k1_ecdsa_sign
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:78,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:78,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:78,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:84,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:84,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:89,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:90,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:90,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:91,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 97
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - parity_libsecp256k1_ecc_privatetopublic
    - cleartext::SHA256
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - cleartext::ECDSA_Pad
    - digestType::Is
    - auto::data
    - CF_CHECK_NE
    - CF_DIGEST
    - Buffer::GetPtr
    - parity_libsecp256k1_ecdsa_sign
    - cryptofuzz::util::BinToDec
    - UseRFC6979Nonce
    - memcmp
    - priv::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> rust_libsecp256k1::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:101,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:101,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:108,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:108,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:109,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:110,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:110,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:111,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:119,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:119,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:120,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:120,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:121,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:122,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:123,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:123,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:124,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:124,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:129,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:129,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:130,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:130,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:131,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:132,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:133,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:133,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:134,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:134,1
    - Dst: parity_libsecp256k1_ecdsa_verify
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:137,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 141
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToTrimmedString
    - cleartext::SHA256
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - cleartext::ECDSA_Pad
    - signature::pub::first::ToTrimmedString
    - signature::signature::first::ToTrimmedString
    - memcpy
    - digestType::Is
    - parity_libsecp256k1_ecdsa_verify
    - auto::data
    - CF_CHECK_NE
    - CF_DIGEST
    - Buffer::GetPtr
    - signature::pub::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> rust_libsecp256k1::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:145,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:145,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:153,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:153,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:154,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:155,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:155,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:156,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:163,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:163,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:164,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:164,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:165,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:166,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:167,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:167,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:168,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:168,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:171,1
    - Dst: parity_libsecp256k1_ecdsa_recover
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:171,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:171,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:173,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Recover
    constantsTouched: []
    func_position:
      end: 177
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 177
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECDSA_Recover
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::SHA256
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - cleartext::ECDSA_Pad
    - parity_libsecp256k1_ecdsa_recover
    - memcpy
    - digestType::Is
    - signature::second::ToTrimmedString
    - auto::data
    - CF_CHECK_NE
    - CF_DIGEST
    - Buffer::GetPtr
    - cryptofuzz::util::BinToDec
    - signature::first::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> rust_libsecp256k1::OpECDSA_Recover(operation::ECDSA_Recover&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:181,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:181,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:188,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:188,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:189,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:193,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:193,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:194,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:194,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:195,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:196,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:197,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:197,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:198,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:198,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:201,1
    - Dst: parity_libsecp256k1_ecdh_derive
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:201,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:201,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSecret
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:203,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 207
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 207
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - parity_libsecp256k1_ecdh_derive
    - pub::first::ToTrimmedString
    - pub::second::ToTrimmedString
    - CF_CHECK_TRUE
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - memcpy
    - auto::data
    - CF_CHECK_NE
    - XXH64_hash_t::XXH3_hashLong_64b_withSecret
    - Buffer
    - priv::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> rust_libsecp256k1::OpECDH_Derive(operation::ECDH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:211,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:211,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:218,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:218,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:219,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:223,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:223,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:224,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:224,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:225,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:226,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:227,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:227,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:228,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:228,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:231,1
    - Dst: parity_libsecp256k1_ecc_point_mul
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:231,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:231,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:233,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 237
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 237
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - b::ToTrimmedString
    - CF_CHECK_TRUE
    - memcpy
    - auto::data
    - CF_CHECK_NE
    - parity_libsecp256k1_ecc_point_mul
    - cryptofuzz::util::BinToDec
    - a::second::ToTrimmedString
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> rust_libsecp256k1::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::circl::circl
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void circl::circl(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: circl_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/circl/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/circl/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::circl::getResult
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - circl_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string circl::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::circl::getResult
      Src: /src/cryptofuzz/modules/circl/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/circl/module.cpp:27,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/circl/module.cpp:32,1
    - Dst: cryptofuzz::module::circl::getResult
      Src: /src/cryptofuzz/modules/circl/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/circl/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::circl::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::circl::getResult
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - abort
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> circl::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::circl::getJsonResult
      Src: /src/cryptofuzz/modules/circl/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/circl/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::circl::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - T
    - cryptofuzz::module::circl::getJsonResult
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> circl::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/circl/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/circl/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/circl/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/circl/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/circl/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:55,1
    - Dst: circl_Cryptofuzz_OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/circl/module.cpp:56,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:56,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::circl::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - circl_Cryptofuzz_OpECC_PrivateToPublic
    - ToJSON
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> circl::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:62,1
    - Dst: circl_Cryptofuzz_OpECC_Point_Add
      Src: /src/cryptofuzz/modules/circl/module.cpp:63,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:63,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::circl::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - circl_Cryptofuzz_OpECC_Point_Add
    - toGoSlice
    - ToJSON
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> circl::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:69,1
    - Dst: circl_Cryptofuzz_OpECC_Point_Mul
      Src: /src/cryptofuzz/modules/circl/module.cpp:70,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:70,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: cryptofuzz::module::circl::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - circl_Cryptofuzz_OpECC_Point_Mul
    - toGoSlice
    - ToJSON
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> circl::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:76,1
    - Dst: circl_Cryptofuzz_OpECC_Point_Dbl
      Src: /src/cryptofuzz/modules/circl/module.cpp:77,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:77,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::circl::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - circl_Cryptofuzz_OpECC_Point_Dbl
    - ToJSON
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> circl::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/circl/module.cpp:87,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:88,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:89,1
    - Dst: circl_bn254_BignumCalc_Fp
      Src: /src/cryptofuzz/modules/circl/module.cpp:90,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:90,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:92,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/circl/module.cpp:93,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:94,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:95,1
    - Dst: circl_bn254_BignumCalc_Fr
      Src: /src/cryptofuzz/modules/circl/module.cpp:96,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:96,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: cryptofuzz::module::circl::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - modulo::ToTrimmedString
    - circl_bn254_BignumCalc_Fp
    - toGoSlice
    - auto::dump
    - circl_bn254_BignumCalc_Fr
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> circl::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::circl::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool circl::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:109,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:110,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:110,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:111,1
    - Dst: circl_BLS_PrivateToPublic
      Src: /src/cryptofuzz/modules/circl/module.cpp:112,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:112,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: cryptofuzz::module::circl::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - circl_BLS_PrivateToPublic
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> circl::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:118,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:119,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:119,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:120,1
    - Dst: circl_BLS_G1_Add
      Src: /src/cryptofuzz/modules/circl/module.cpp:121,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:121,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: cryptofuzz::module::circl::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - circl_BLS_G1_Add
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> circl::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:127,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:128,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:128,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:129,1
    - Dst: circl_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/circl/module.cpp:130,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:130,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::circl::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - circl_BLS_G1_Mul
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> circl::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:136,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:137,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:137,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:138,1
    - Dst: circl_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/circl/module.cpp:139,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:139,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::circl::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - circl_BLS_G1_Neg
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> circl::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:145,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:146,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:146,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:147,1
    - Dst: circl_BLS_IsG1OnCurve
      Src: /src/cryptofuzz/modules/circl/module.cpp:149,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:149,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: cryptofuzz::module::circl::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    - circl_BLS_IsG1OnCurve
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> circl::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:155,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:156,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:156,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:157,1
    - Dst: circl_BLS_G1_IsEq
      Src: /src/cryptofuzz/modules/circl/module.cpp:159,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:159,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: cryptofuzz::module::circl::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    - circl_BLS_G1_IsEq
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> circl::OpBLS_G1_IsEq(operation::BLS_G1_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:165,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:166,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:166,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:167,1
    - Dst: circl_BLS_HashToG1
      Src: /src/cryptofuzz/modules/circl/module.cpp:168,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:168,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: cryptofuzz::module::circl::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - circl_BLS_HashToG1
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> circl::OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:174,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:175,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:175,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:176,1
    - Dst: circl_BLS_PrivateToPublic_G2
      Src: /src/cryptofuzz/modules/circl/module.cpp:177,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:177,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: cryptofuzz::module::circl::OpBLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - circl_BLS_PrivateToPublic_G2
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> circl::OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:183,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:184,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:184,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:185,1
    - Dst: circl_BLS_G2_Add
      Src: /src/cryptofuzz/modules/circl/module.cpp:186,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:186,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: cryptofuzz::module::circl::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - circl_BLS_G2_Add
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> circl::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:192,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:193,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:193,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:194,1
    - Dst: circl_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/circl/module.cpp:195,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:195,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: cryptofuzz::module::circl::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    - circl_BLS_G2_Mul
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> circl::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:201,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:202,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:202,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:203,1
    - Dst: circl_BLS_G2_Neg
      Src: /src/cryptofuzz/modules/circl/module.cpp:204,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:204,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: cryptofuzz::module::circl::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    - circl_BLS_G2_Neg
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> circl::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:210,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:211,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:211,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:212,1
    - Dst: circl_BLS_IsG2OnCurve
      Src: /src/cryptofuzz/modules/circl/module.cpp:214,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:214,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: cryptofuzz::module::circl::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - circl_BLS_IsG2OnCurve
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> circl::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:220,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:221,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:221,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:222,1
    - Dst: circl_BLS_G2_IsEq
      Src: /src/cryptofuzz/modules/circl/module.cpp:224,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:224,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: cryptofuzz::module::circl::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    - circl_BLS_G2_IsEq
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> circl::OpBLS_G2_IsEq(operation::BLS_G2_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:230,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:231,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:231,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:232,1
    - Dst: circl_BLS_HashToG2
      Src: /src/cryptofuzz/modules/circl/module.cpp:233,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:233,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: cryptofuzz::module::circl::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    - circl_BLS_HashToG2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> circl::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:239,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:240,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:240,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:241,1
    - Dst: circl_BLS_Decompress_G1
      Src: /src/cryptofuzz/modules/circl/module.cpp:242,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:242,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: cryptofuzz::module::circl::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - circl_BLS_Decompress_G1
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> circl::OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:248,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:249,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:249,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:250,1
    - Dst: circl_BLS_Compress_G1
      Src: /src/cryptofuzz/modules/circl/module.cpp:251,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:251,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: cryptofuzz::module::circl::OpBLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - circl_BLS_Compress_G1
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> circl::OpBLS_Compress_G1(operation::BLS_Compress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:257,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:258,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:258,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:259,1
    - Dst: circl_BLS_Pairing
      Src: /src/cryptofuzz/modules/circl/module.cpp:260,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:260,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: cryptofuzz::module::circl::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - circl_BLS_Pairing
    - toGoSlice
    - auto::dump
    - get
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> circl::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/circl/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:25,1
    - Dst: gcry_mpi_add
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:28,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:28,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:28,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:28,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:29,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:29,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:34,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:34,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:34,1
    - Dst: gcry_mpi_add_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:35,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:35,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:35,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:36,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::libgcrypt_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_add_ui
    - CF_NORET
    - CF_CHECK_EQ
    - gcry_mpi_add
    - GetPtr
    - CopyResult
    - gcry_mpi_get_ui
    - GetResPtr
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:47,1
    - Dst: gcry_mpi_sub
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:50,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:50,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:50,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:50,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:51,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:51,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:56,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:56,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:56,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:57,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:57,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:57,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:58,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::libgcrypt_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_sub_ui
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - GetPtr
    - gcry_mpi_get_ui
    - gcry_mpi_sub
    - GetResPtr
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:69,1
    - Dst: gcry_mpi_mul
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:72,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:72,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:72,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:72,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:73,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:73,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:78,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:78,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:78,1
    - Dst: gcry_mpi_mul_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:79,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:79,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:79,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:80,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:80,1
    - Dst: cryptofuzz::util::HintBignumPow2
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:86,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:89,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:89,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:89,1
    - Dst: gcry_mpi_test_bit
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:95,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:95,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:98,1
    - Dst: gcry_mpi_mul_2exp
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:102,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:102,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:103,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 112
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 112
    functionName: cryptofuzz::module::libgcrypt_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_test_bit
    - gcry_mpi_cmp_ui
    - CF_NORET
    - CF_CHECK_EQ
    - cryptofuzz::util::HintBignumPow2
    - gcry_mpi_mul_2exp
    - CF_CHECK_LTE
    - CopyResult
    - GetPtr
    - gcry_mpi_get_ui
    - gcry_mpi_mul
    - CF_CHECK_NE
    - GetResPtr
    - GET_WHICH
    - gcry_mpi_mul_ui
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:120,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:120,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:120,1
    - Dst: gcry_mpi_div
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:121,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:121,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:121,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:121,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:122,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: cryptofuzz::module::libgcrypt_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_div
    - gcry_mpi_cmp_ui
    - CF_NORET
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:131,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:134,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:134,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:134,1
    - Dst: gcry_mpi_powm
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:138,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:138,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:139,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:139,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:143,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:143,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:143,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:145,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:146,1
    - Dst: _gcry_mpi_mulpowm
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:148,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:148,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 155
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 155
    functionName: cryptofuzz::module::libgcrypt_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_cmp_ui
    - CF_NORET
    - CopyResult
    - GetPtr
    - _gcry_mpi_mulpowm
    - CF_CHECK_NE
    - GetResPtr
    - gcry_mpi_powm
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:161,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:161,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:161,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:162,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:162,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:162,1
    - Dst: gcry_mpi_gcd
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:163,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:163,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:163,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:163,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:164,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: cryptofuzz::module::libgcrypt_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_cmp_ui
    - CF_NORET
    - gcry_mpi_gcd
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:176,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:176,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:176,1
    - Dst: gcry_mpi_invm
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:177,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:177,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:177,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:177,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:179,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:181,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: cryptofuzz::module::libgcrypt_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_cmp_ui
    - CF_NORET
    - CopyResult
    - GetPtr
    - Set
    - CF_CHECK_NE
    - GetResPtr
    - gcry_mpi_invm
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:191,1
    - Dst: gcry_mpi_cmp
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:195,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:195,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:195,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:197,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:199,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:201,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:208,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:208,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:208,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:209,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:209,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:211,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:213,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 223
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 223
    functionName: cryptofuzz::module::libgcrypt_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_cmp_ui
    - CF_CHECK_EQ
    - gcry_mpi_cmp
    - GetPtr
    - Set
    - gcry_mpi_get_ui
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:228,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:228,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:228,1
    - Dst: gcry_mpi_abs
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:229,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: cryptofuzz::module::libgcrypt_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - gcry_mpi_abs
    - gcry_mpi_set
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_neg
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:237,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:237,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:237,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:238,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: cryptofuzz::module::libgcrypt_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - CopyResult
    - gcry_mpi_neg
    - GetPtr
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:249,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:249,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:249,1
    - Dst: gcry_mpi_rshift
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:250,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:250,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:250,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:251,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: cryptofuzz::module::libgcrypt_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - GetPtr
    - gcry_mpi_get_ui
    - gcry_mpi_rshift
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_lshift
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:260,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:260,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:260,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:261,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: cryptofuzz::module::libgcrypt_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - CopyResult
    - GetPtr
    - gcry_mpi_lshift
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:269,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:269,1
    - Dst: gcry_mpi_is_neg
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:269,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: cryptofuzz::module::libgcrypt_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - gcry_mpi_is_neg
    - std::to_string
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:277,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:277,1
    - Dst: gcry_mpi_cmp
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:277,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:277,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 280
    functionName: cryptofuzz::module::libgcrypt_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - gcry_mpi_cmp
    - std::to_string
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:285,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:285,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:285,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: cryptofuzz::module::libgcrypt_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - gcry_mpi_cmp_ui
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:293,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:293,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:293,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: cryptofuzz::module::libgcrypt_bignum::IsOne::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - gcry_mpi_cmp_ui
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsOne::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:303,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:307,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:307,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:307,1
    - Dst: gcry_mpi_mulm
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:308,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:308,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:308,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:308,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:308,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:309,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:309,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:313,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:313,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:313,1
    - Dst: _gcry_mpi_barrett_init
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:315,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:315,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:316,1
    - Dst: _gcry_mpi_mul_barrett
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:316,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:316,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:316,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:316,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:317,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:317,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:318,1
    - Dst: _gcry_mpi_barrett_free
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 326
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 326
    functionName: cryptofuzz::module::libgcrypt_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_cmp_ui
    - CF_NORET
    - _gcry_mpi_barrett_init
    - gcry_mpi_mulm
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - _gcry_mpi_mul_barrett
    - _gcry_mpi_barrett_free
    - GetResPtr
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:334,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:334,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:334,1
    - Dst: gcry_mpi_addm
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:335,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:335,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:336,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 342
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 342
    functionName: cryptofuzz::module::libgcrypt_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_cmp_ui
    - CF_NORET
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - gcry_mpi_addm
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:350,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:350,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:350,1
    - Dst: gcry_mpi_subm
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:351,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:351,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:351,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:351,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:351,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:352,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: cryptofuzz::module::libgcrypt_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_cmp_ui
    - CF_NORET
    - CopyResult
    - GetPtr
    - gcry_mpi_subm
    - CF_CHECK_NE
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:366,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:366,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:367,1
    - Dst: gcry_mpi_test_bit
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:367,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 373
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 373
    functionName: cryptofuzz::module::libgcrypt_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_test_bit
    - CF_CHECK_EQ
    - GetPtr
    - gcry_mpi_get_ui
    - Set
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:381,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:381,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:381,1
    - Dst: gcry_mpi_set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:382,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:382,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:382,1
    - Dst: gcry_mpi_set_bit
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:383,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: cryptofuzz::module::libgcrypt_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - gcry_mpi_set_bit
    - GetPtr
    - gcry_mpi_get_ui
    - gcry_mpi_set
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:397,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:397,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:397,1
    - Dst: gcry_mpi_set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:398,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:398,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:398,1
    - Dst: gcry_mpi_clear_bit
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:399,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: cryptofuzz::module::libgcrypt_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - gcry_mpi_get_ui
    - gcry_mpi_set
    - gcry_mpi_clear_bit
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:413,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:416,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:416,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:416,1
    - Dst: gcry_mpi_mod
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:417,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:417,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:417,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:417,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:418,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:418,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:422,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:422,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:422,1
    - Dst: _gcry_mpi_barrett_init
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:424,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:424,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:425,1
    - Dst: _gcry_mpi_mod_barrett
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:425,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:425,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:425,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:426,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:426,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:427,1
    - Dst: _gcry_mpi_barrett_free
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 436
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 436
    functionName: cryptofuzz::module::libgcrypt_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_cmp_ui
    - CF_NORET
    - _gcry_mpi_barrett_init
    - _gcry_mpi_mod_barrett
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - _gcry_mpi_barrett_free
    - GetResPtr
    - GET_WHICH
    - gcry_mpi_mod
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_mul
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:441,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:441,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:441,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:441,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:442,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 445
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 445
    functionName: cryptofuzz::module::libgcrypt_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - CopyResult
    - GetPtr
    - gcry_mpi_mul
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:450,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:450,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:450,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: cryptofuzz::module::libgcrypt_bignum::NumBits::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - gcry_mpi_get_nbits
    - std::to_string
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool NumBits::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:462,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:462,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:462,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:463,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:463,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:463,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:464,1
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:464,1
    - Dst: gcry_mpi_mul_2exp
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:466,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:466,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:466,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:467,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 473
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 473
    functionName: cryptofuzz::module::libgcrypt_bignum::Exp::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Bignum::GetPtr
    - gcry_mpi_cmp_ui
    - Bignum::Set
    - CF_NORET
    - CF_CHECK_EQ
    - gcry_mpi_mul_2exp
    - CopyResult
    - GetPtr
    - gcry_mpi_get_ui
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool Exp::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_check_version
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:11,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:12,1
    - Dst: gcry_control
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 15
    functionName: cryptofuzz::module::libgcrypt::libgcrypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_check_version
    - gcry_control
    - abort
    linkageType: ''
    returnType: void
    signature: void libgcrypt::libgcrypt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:21,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:22,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:23,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:24,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:25,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:26,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:27,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:28,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:29,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:30,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:31,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:32,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:33,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:34,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:35,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:36,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:37,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:38,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:39,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:40,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:41,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:42,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:43,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:44,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:45,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:46,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:47,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:48,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:49,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:50,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:51,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:52,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:53,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:54,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:59,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:59,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:59,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 63
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 63
    functionName: cryptofuzz::module::libgcrypt_detail::DigestIDToID
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_CHECK_NE
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> DigestIDToID(const uint64_t digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: cryptofuzz::module::libgcrypt_detail::MD_Handle::MD_Handle
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MD_Handle(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: ~MD_Handle()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_close
    linkageType: ''
    returnType: void
    signature: void ~MD_Handle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:84,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:87,1
    - Dst: gcry_md_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: cryptofuzz::module::libgcrypt_detail::MD_Handle::Open
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
    - gcry_md_open
    linkageType: ''
    returnType: bool
    signature: bool Open(const int digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:98,1
    - Dst: gcry_md_copy
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:103,1
    - Dst: gcry_md_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 2
    functionsReached:
    - gcry_md_close
    - cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
    - gcry_md_copy
    linkageType: ''
    returnType: gcry_md_hd_t
    signature: gcry_md_hd_t Get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:116,1
    - Dst: gcry_md_putc
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:122,1
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:122,1
    - Dst: gcry_md_write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:125,1
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: cryptofuzz::module::libgcrypt_detail::MD_Handle::Write
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_putc
    - cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
    - gcry_md_write
    linkageType: ''
    returnType: void
    signature: void Write(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:131,1
    - Dst: gcry_md_final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:136,1
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: cryptofuzz::module::libgcrypt_detail::MD_Handle::Final
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_final
    - cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
    linkageType: ''
    returnType: void
    signature: void Final(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: cryptofuzz::module::libgcrypt_detail::Handle::Handle
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handle(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: ~Handle()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:163,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:166,1
    - Dst: open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: cryptofuzz::module::libgcrypt_detail::Handle::Open
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::Handle::Get
    - open
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: bool
    signature: bool Open(const int digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:177,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::copy
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: cryptofuzz::module::libgcrypt_detail::Handle::Get
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::Handle::Get
    - cryptofuzz::module::libgcrypt_detail::Handle::copy
    linkageType: ''
    returnType: HandleType
    signature: HandleType Get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: cryptofuzz::module::libgcrypt_detail::Handle::Write
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: bool
    signature: bool Write(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:191,1
    - Dst: _final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: cryptofuzz::module::libgcrypt_detail::Handle::Final
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::Handle::Get
    - _final
    linkageType: ''
    returnType: void
    signature: void Final(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:206,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:207,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::Write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:211,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 214
    functionName: cryptofuzz::module::libgcrypt_detail::Handle::WriteRandom
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::Handle::Get
    - std::vector::data
    - cryptofuzz::module::libgcrypt_detail::Handle::Write
    linkageType: ''
    returnType: void
    signature: void WriteRandom(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digestType
    - useSecMem
    argTypes:
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: cryptofuzz::module::libgcrypt_detail::DigestHandle::open
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_open
    linkageType: ''
    returnType: bool
    signature: bool open(const int digestType, const bool useSecMem) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_copy
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:224,1
    - Dst: gcry_md_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: cryptofuzz::module::libgcrypt_detail::DigestHandle::copy
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_close
    - gcry_md_copy
    linkageType: ''
    returnType: void
    signature: void copy(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: cryptofuzz::module::libgcrypt_detail::DigestHandle::_close
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_close
    linkageType: ''
    returnType: void
    signature: void _close(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:238,1
    - Dst: gcry_md_putc
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:244,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:244,1
    - Dst: gcry_md_write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:247,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 251
    functionName: cryptofuzz::module::libgcrypt_detail::DigestHandle::write
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - gcry_md_putc
    - gcry_md_write
    linkageType: ''
    returnType: bool
    signature: bool write(const uint8_t* data, const size_t size) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:253,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: cryptofuzz::module::libgcrypt_detail::DigestHandle::_final
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_final
    - Get
    linkageType: ''
    returnType: void
    signature: void _final(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: cryptofuzz::module::libgcrypt_detail::DigestHandle::DigestHandle
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DigestHandle(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: ~DigestHandle()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_close
    linkageType: ''
    returnType: void
    signature: void ~DigestHandle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digestType
    - useSecMem
    argTypes:
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: cryptofuzz::module::libgcrypt_detail::MACHandle::open
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mac_open
    linkageType: ''
    returnType: bool
    signature: bool open(const int digestType, const bool useSecMem) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: cryptofuzz::module::libgcrypt_detail::MACHandle::copy
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: cryptofuzz::module::libgcrypt_detail::MACHandle::_close
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mac_close
    linkageType: ''
    returnType: void
    signature: void _close(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:278,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: cryptofuzz::module::libgcrypt_detail::MACHandle::write
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mac_write
    - Get
    linkageType: ''
    returnType: bool
    signature: bool write(const uint8_t* data, const size_t size) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: cryptofuzz::module::libgcrypt_detail::MACHandle::_final
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _final(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: cryptofuzz::module::libgcrypt_detail::MACHandle::MACHandle
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MACHandle(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: ~MACHandle()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mac_close
    linkageType: ''
    returnType: void
    signature: void ~MACHandle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:306,1
    - Dst: libgcrypt_detail::MACHandle::Open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:306,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:308,1
    - Dst: gcry_mac_setkey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:308,1
    - Dst: libgcrypt_detail::MACHandle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:308,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:308,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:308,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:310,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:315,1
    - Dst: libgcrypt_detail::MACHandle::Write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:315,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:321,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:323,1
    - Dst: gcry_mac_read
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:323,1
    - Dst: libgcrypt_detail::MACHandle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:323,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:324,1
    - Dst: libgcrypt_detail::MACHandle::WriteRandom
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - macType
    - ' cleartext'
    - ' cipher'
    argTypes:
    - fuzzing::datasource::Datasource
    - int
    - Buffer
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 331
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 331
    functionName: cryptofuzz::module::libgcrypt_detail::MAC
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - libgcrypt_detail::MACHandle::WriteRandom
    - cryptofuzz::util::ToParts
    - key::GetSize
    - CF_CHECK_TRUE
    - libgcrypt_detail::MACHandle::Open
    - CF_CHECK_EQ
    - libgcrypt_detail::MACHandle::Get
    - libgcrypt_detail::MACHandle::Write
    - generate_HMAC
    - gcry_mac_setkey
    - key::GetPtr
    - gcry_mac_read
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: "std::optional<component::MAC> MAC(\n            fuzzing::datasource::Datasource&
      ds,\n            const int macType,\n            const Buffer& cleartext,\n
      \           const component::SymmetricCipher& cipher)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:337,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:337,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:346,1
    - Dst: cryptofuzz::module::libgcrypt_detail::DigestIDToID
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:346,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:346,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:348,1
    - Dst: libgcrypt_detail::DigestHandle::Open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:348,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:350,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:355,1
    - Dst: libgcrypt_detail::DigestHandle::Write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:355,1
    - Dst: libgcrypt_detail::DigestHandle::Final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:360,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:362,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:363,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:367,1
    - Dst: gcry_md_extract
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:367,1
    - Dst: libgcrypt_detail::DigestHandle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:367,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:368,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:371,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:375,1
    - Dst: gcry_md_extract
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:375,1
    - Dst: libgcrypt_detail::DigestHandle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:375,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:376,1
    - Dst: gcry_md_read
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:381,1
    - Dst: libgcrypt_detail::DigestHandle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:381,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:382,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:383,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:383,1
    - Dst: libgcrypt_detail::DigestHandle::WriteRandom
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 393
      start: 335
    functionDepth: 4
    functionLinenumber: 335
    functionLinenumberEnd: 393
    functionName: cryptofuzz::module::libgcrypt::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_read
    - libgcrypt_detail::DigestHandle::Final
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - libgcrypt_detail::DigestHandle::Write
    - CF_CHECK_EQ
    - libgcrypt_detail::DigestHandle::Get
    - gcry_md_extract
    - libgcrypt_detail::DigestHandle::WriteRandom
    - digestType::Get
    - gcry_md_get_algo_dlen
    - CF_CHECK_NE
    - CF_DIGEST
    - cryptofuzz::module::libgcrypt_detail::DigestIDToID
    - modifier::GetSize
    - libgcrypt_detail::DigestHandle::Open
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> libgcrypt::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:399,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:400,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:401,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:402,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:403,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:404,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:405,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:406,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:407,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:408,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:409,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:410,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:411,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:412,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:413,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:414,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:415,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:416,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:417,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:418,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:419,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:420,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:421,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:422,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:423,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:424,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:425,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:426,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:429,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:429,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:429,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:429,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:430,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:430,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:433,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:433,1
    - Dst: cryptofuzz::module::libgcrypt_detail::MAC
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 440
      start: 395
    functionDepth: 5
    functionLinenumber: 395
    functionLinenumberEnd: 440
    functionName: cryptofuzz::module::libgcrypt::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - modifier::GetPtr
    - digestType::Get
    - cryptofuzz::module::libgcrypt_detail::MAC
    - std::map::at
    - CF_CHECK_NE
    - CF_DIGEST
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libgcrypt::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:446,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:447,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:448,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:449,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:450,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:451,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:452,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:453,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:454,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:455,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:456,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:457,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:458,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:459,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:460,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:461,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:462,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:463,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:464,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:465,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:466,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:467,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:468,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:471,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:471,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:471,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:471,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:472,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:472,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:475,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:475,1
    - Dst: cryptofuzz::module::libgcrypt_detail::MAC
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 482
      start: 442
    functionDepth: 5
    functionLinenumber: 442
    functionLinenumberEnd: 482
    functionName: cryptofuzz::module::libgcrypt::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - cipher::cipherType::Get
    - modifier::GetPtr
    - cryptofuzz::module::libgcrypt_detail::MAC
    - std::map::at
    - CF_CHECK_NE
    - CF_CIPHER
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libgcrypt::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:579,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:580,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:581,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:582,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:583,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:584,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:587,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:588,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:589,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 596
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 596
    functionName: cryptofuzz::module::libgcrypt_detail::Blocksize
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> Blocksize(const uint64_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:611,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:612,1
    - Dst: find
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:612,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:612,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:612,1
    - Dst: at
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:617,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:617,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:619,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:619,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:619,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:620,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:620,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:621,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:621,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:623,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:623,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:623,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:628,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:631,1
    - Dst: gcry_cipher_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:631,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:634,1
    - Dst: gcry_cipher_setkey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:634,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:634,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:634,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:635,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:635,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:636,1
    - Dst: gcry_cipher_setiv
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:636,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:636,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:636,1
    - Dst: cryptofuzz::repository::IsCTR
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:637,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:637,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:638,1
    - Dst: gcry_cipher_setctr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:638,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:638,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:638,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:640,1
    - Dst: gcry_cipher_setiv
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:640,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:640,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:640,1
    - Dst: cryptofuzz::util::CipherInputTransform
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 3
    argNames:
    - ' cipher'
    - input
    - inputSize
    argTypes:
    - component::SymmetricCipher
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 662
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 662
    functionName: cryptofuzz::module::libgcrypt_detail::Crypt::initialize
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_cipher_setkey
    - iv::GetPtr
    - end
    - cryptofuzz::repository::IsCTR
    - gcry_cipher_open
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_get_algo_keylen
    - key::GetPtr
    - key::GetSize
    - at
    - CF_CHECK_EQ
    - CF_CIPHER
    - find
    - gcry_cipher_setctr
    - CF_CHECK_NE
    - cipherType::Get
    - gcry_cipher_setiv
    - cryptofuzz::util::CipherInputTransform
    - iv::GetSize
    - Get
    linkageType: ''
    returnType: bool
    signature: bool initialize(const component::SymmetricCipher& cipher, const uint8_t*
      input, const size_t inputSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:674,1
    - Dst: size
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:677,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:678,1
    - Dst: gcry_cipher_final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:678,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:682,1
    - Dst: gcry_cipher_encrypt
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:682,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:684,1
    - Dst: gcry_cipher_decrypt
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 693
    functionName: cryptofuzz::module::libgcrypt_detail::Crypt::process
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_cipher_final
    - CF_CHECK_EQ
    - gcry_cipher_encrypt
    - size
    - gcry_cipher_decrypt
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> process(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:698,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:698,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 701
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 701
    functionName: cryptofuzz::module::libgcrypt_detail::Crypt::Crypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - modifier::GetSize
    - modifier::GetPtr
    linkageType: ''
    returnType: void
    signature: void Crypt(operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:704,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:704,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: cryptofuzz::module::libgcrypt_detail::Crypt::Crypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - modifier::GetSize
    - modifier::GetPtr
    linkageType: ''
    returnType: void
    signature: void Crypt(operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:711,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 716
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 716
    functionName: ~Crypt()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_cipher_close
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void ~Crypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:723,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:724,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:726,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:727,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:727,1
    - Dst: Blocksize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:728,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:728,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:729,1
    - Dst: cryptofuzz::util::Pkcs7Pad
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:731,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:731,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:733,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Crypt::initialize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:733,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:733,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:733,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Crypt::process
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:734,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:735,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:737,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 741
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 741
    functionName: cryptofuzz::module::libgcrypt_detail::Crypt::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - cleartext::Get
    - std::vector::size
    - cipher::cipherType::Get
    - Blocksize
    - CF_CHECK_EQ
    - cryptofuzz::repository::IsCBC
    - cryptofuzz::component::Ciphertext::Ciphertext
    - CF_CHECK_NE
    - cryptofuzz::module::libgcrypt_detail::Crypt::process
    - Buffer
    - cryptofuzz::module::libgcrypt_detail::Crypt::initialize
    - cryptofuzz::util::Pkcs7Pad
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:748,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:749,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:751,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Crypt::initialize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:751,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:751,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:751,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Crypt::process
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:752,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:753,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:755,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:755,1
    - Dst: Blocksize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:756,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:756,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:757,1
    - Dst: cryptofuzz::util::Pkcs7Unpad
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:759,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:759,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:760,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:762,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:762,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 769
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 769
    functionName: cryptofuzz::module::libgcrypt_detail::Crypt::Decrypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - Blocksize
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - std::vector<uint8_t>
    - cryptofuzz::repository::IsCBC
    - component::Cleartext
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cryptofuzz::util::Pkcs7Unpad
    - cryptofuzz::module::libgcrypt_detail::Crypt::process
    - Buffer
    - cryptofuzz::module::libgcrypt_detail::Crypt::initialize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libgcrypt_detail::Crypt::Encrypt
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: cryptofuzz::module::libgcrypt::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - libgcrypt_detail::Crypt::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> libgcrypt::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libgcrypt_detail::Crypt::Decrypt
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: cryptofuzz::module::libgcrypt::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - libgcrypt_detail::Crypt::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> libgcrypt::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:786,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:786,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:796,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:797,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:798,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:799,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:800,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:801,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:802,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:803,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:804,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:805,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:806,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:807,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:808,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:809,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:810,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:811,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:812,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:813,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:814,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:815,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:816,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:817,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:818,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:819,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:820,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:821,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:822,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:823,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:826,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:826,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:826,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:826,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:827,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:827,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:831,1
    - Dst: gcry_kdf_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:831,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:837,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:838,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:840,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:841,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:842,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:843,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:846,1
    - Dst: gcry_kdf_compute
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:846,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:847,1
    - Dst: gcry_kdf_final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:847,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:849,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:852,1
    - Dst: gcry_kdf_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 859
      start: 784
    functionDepth: 2
    functionLinenumber: 784
    functionLinenumberEnd: 859
    functionName: cryptofuzz::module::libgcrypt::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - info::GetSize
    - std::map::at
    - CF_DIGEST
    - gcry_kdf_close
    - std::map::find
    - gcry_kdf_compute
    - modifier::GetPtr
    - password::GetPtr
    - info::GetPtr
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - std::map::end
    - CF_CHECK_EQ
    - password::GetSize
    - cryptofuzz::util::free
    - salt::GetPtr
    - gcry_kdf_open
    - gcry_kdf_final
    - digestType::Get
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libgcrypt::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:863,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:863,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:869,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:871,1
    - Dst: gcry_kdf_derive
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:871,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:872,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:873,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:876,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:877,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:882,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 888
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 888
    functionName: cryptofuzz::module::libgcrypt::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - modifier::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    - modifier::GetSize
    - gcry_kdf_derive
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libgcrypt::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:893,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:893,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:896,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:896,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:900,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:900,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:907,1
    - Dst: cryptofuzz::module::libgcrypt_detail::DigestIDToID
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:907,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:907,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:908,1
    - Dst: gcry_kdf_derive
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:908,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:909,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:910,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:913,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:914,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:919,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 925
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 925
    functionName: cryptofuzz::module::libgcrypt::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - modifier::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - digestType::Is
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - salt::GetSize
    - CF_DIGEST
    - cryptofuzz::util::free
    - cryptofuzz::module::libgcrypt_detail::DigestIDToID
    - modifier::GetSize
    - gcry_kdf_derive
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libgcrypt::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:929,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:929,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:958,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:960,1
    - Dst: gcry_kdf_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:960,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:961,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:961,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:962,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:962,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:967,1
    - Dst: gcry_kdf_compute
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:967,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:968,1
    - Dst: gcry_kdf_final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:968,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:970,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:973,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:975,1
    - Dst: gcry_kdf_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 979
      start: 927
    functionDepth: 2
    functionLinenumber: 927
    functionLinenumberEnd: 979
    functionName: cryptofuzz::module::libgcrypt::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - gcry_kdf_compute
    - cryptofuzz::util::malloc
    - gcry_kdf_open
    - modifier::GetPtr
    - CF_CHECK_EQ
    - password::GetPtr
    - gcry_kdf_final
    - CF_NORET
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    - modifier::GetSize
    - gcry_kdf_close
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libgcrypt::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:983,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:983,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:992,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:992,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:992,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:993,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:993,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:993,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:994,1
    - Dst: cryptofuzz::module::libgcrypt_detail::DigestIDToID
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:994,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:994,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:998,1
    - Dst: gcry_kdf_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:998,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1004,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1005,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1008,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1009,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1012,1
    - Dst: gcry_kdf_compute
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1012,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1013,1
    - Dst: gcry_kdf_final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1013,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1015,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1018,1
    - Dst: gcry_kdf_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_X963
    constantsTouched: []
    func_position:
      end: 1025
      start: 981
    functionDepth: 2
    functionLinenumber: 981
    functionLinenumberEnd: 1025
    functionName: cryptofuzz::module::libgcrypt::OpKDF_X963
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - info::GetSize
    - CF_DIGEST
    - gcry_kdf_close
    - secret::GetSize
    - secret::GetPtr
    - gcry_kdf_compute
    - modifier::GetPtr
    - info::GetPtr
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - cryptofuzz::util::free
    - gcry_kdf_open
    - gcry_kdf_final
    - digestType::Get
    - digestType::Is
    - CF_CHECK_NE
    - cryptofuzz::module::libgcrypt_detail::DigestIDToID
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libgcrypt::OpKDF_X963(operation::KDF_X963&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1030,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1031,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1032,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1033,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1034,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1035,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1036,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1037,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1038,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1039,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1040,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1041,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1042,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1043,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1044,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1045,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1048,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1048,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1048,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1052,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 1053
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1053
    functionName: cryptofuzz::module::libgcrypt_detail::toCurveString
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - CF_ECC_CURVE
    - std::map::at
    - Get
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> toCurveString(const component::CurveType&
      curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1062,1
    - Dst: gcry_mpi_point_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1062,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1068,1
    - Dst: cryptofuzz::util::ToRandomProjective
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1072,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1074,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1075,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1076,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1079,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1079,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1080,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1080,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1081,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1081,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1083,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1083,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1083,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1084,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1084,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1084,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1085,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1085,1
    - Dst: gcry_mpi_point_set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1088,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1088,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1088,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1088,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1091,1
    - Dst: gcry_mpi_ec_curve_point
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1091,1
    - Dst: gcry_mpi_point_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - ' ds'
    - ctx
    - ' point'
    - ' curveType'
    argTypes:
    - Datasource
    - gcry_ctx_t
    - component::ECC_Point
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 1098
      start: 1055
    functionDepth: 3
    functionLinenumber: 1055
    functionLinenumberEnd: 1098
    functionName: cryptofuzz::module::libgcrypt_detail::SetPoint
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_point_set
    - libgcrypt_bignum::Bignum::Set
    - CF_CHECK_EQ
    - libgcrypt_bignum::Bignum::GetPtr
    - second::ToString
    - first::ToString
    - Set
    - GetPtr
    - cryptofuzz::util::ToRandomProjective
    - gcry_mpi_point_release
    - first::ToTrimmedString
    - gcry_mpi_point_new
    - second::ToTrimmedString
    - CF_ASSERT
    - Get
    - gcry_mpi_ec_curve_point
    linkageType: ''
    returnType: gcry_mpi_point_t
    signature: "gcry_mpi_point_t SetPoint(\n            Datasource& ds,\n            gcry_ctx_t
      ctx,\n            const component::ECC_Point& point,\n            const component::CurveType&
      curveType,\n            const bool curveCheck = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_point_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - P
    argTypes:
    - gcry_mpi_point_t
    constantsTouched: []
    func_position:
      end: 1102
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1102
    functionName: cryptofuzz::module::libgcrypt_detail::FreePoint
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_point_release
    linkageType: ''
    returnType: void
    signature: void FreePoint(gcry_mpi_point_t P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1112,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1112,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1113,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1113,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1115,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1115,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1115,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1115,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1117,1
    - Dst: libgcrypt_bignum::Bignum::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1117,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1118,1
    - Dst: ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - P
    argTypes:
    - gcry_ctx_t
    - gcry_mpi_point_t
    constantsTouched: []
    func_position:
      end: 1123
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1123
    functionName: cryptofuzz::module::libgcrypt_detail::GetPoint
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_get_affine
    - CF_CHECK_EQ
    - libgcrypt_bignum::Bignum::GetPtr
    - Set
    - GetPtr
    - CF_CHECK_NE
    - ToString
    - libgcrypt_bignum::Bignum::ToString
    - libgcrypt_bignum::Bignum::Set
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: "std::optional<component::ECC_Point> GetPoint(\n            gcry_ctx_t
      ctx,\n            gcry_mpi_point_t P)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1141,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1141,1
    - Dst: component::ECC_PrivateKey::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1141,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1142,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1142,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1143,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1143,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1147,1
    - Dst: cryptofuzz::module::libgcrypt_detail::toCurveString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1147,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1148,1
    - Dst: gcry_mpi_ec_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1148,1
    - Dst: std::optional::c_str
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1148,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1153,1
    - Dst: gcry_mpi_ec_get_point
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1153,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1154,1
    - Dst: gcry_mpi_point_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1154,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1155,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1155,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1160,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1160,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1160,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1160,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1165,1
    - Dst: libgcrypt_bignum::Bignum::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1165,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1166,1
    - Dst: libgcrypt_bignum::Bignum::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1166,1
    - Dst: gcry_ctx_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1172,1
    - Dst: gcry_mpi_point_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1173,1
    - Dst: gcry_mpi_point_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 3
    argNames:
    - ' ds'
    - curveType
    - _priv
    argTypes:
    - Datasource
    - component::CurveType
    - component::ECC_PrivateKey
    constantsTouched: []
    func_position:
      end: 1177
      start: 1126
    functionDepth: 2
    functionLinenumber: 1126
    functionLinenumberEnd: 1177
    functionName: cryptofuzz::module::libgcrypt_detail::ECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_get_affine
    - gcry_mpi_ec_mul
    - cryptofuzz::module::libgcrypt_detail::toCurveString
    - CF_CHECK_EQ
    - gcry_ctx_release
    - libgcrypt_bignum::Bignum::GetPtr
    - component::ECC_PrivateKey::ToString
    - gcry_mpi_ec_new
    - CF_CHECK_NE
    - gcry_mpi_point_release
    - gcry_mpi_point_new
    - libgcrypt_bignum::Bignum::ToString
    - libgcrypt_bignum::Bignum::Set
    - gcry_mpi_ec_get_point
    - std::optional::c_str
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: "std::optional<component::ECC_PublicKey> ECC_PrivateToPublic(\n            Datasource&
      ds,\n            const component::CurveType curveType,\n            const component::ECC_PrivateKey
      _priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1181,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1181,1
    - Dst: cryptofuzz::module::libgcrypt_detail::ECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 1184
      start: 1180
    functionDepth: 3
    functionLinenumber: 1180
    functionLinenumberEnd: 1184
    functionName: cryptofuzz::module::libgcrypt::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::ECC_PrivateToPublic
    - modifier::GetSize
    - modifier::GetPtr
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> libgcrypt::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1188,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1188,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1211,1
    - Dst: cryptofuzz::module::libgcrypt_detail::toCurveString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1211,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1212,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1212,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1212,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1214,1
    - Dst: cryptofuzz::module::libgcrypt_detail::ECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1214,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1216,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1217,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1217,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1217,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1217,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1218,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1219,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1219,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1219,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1219,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1228,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1228,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1228,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1229,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1229,1
    - Dst: std::optional::c_str
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1229,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1229,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1233,1
    - Dst: gcry_pk_sign
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1233,1
    - Dst: gcry_sexp_find_token
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1237,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1240,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1241,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1242,1
    - Dst: gcry_sexp_find_token
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1245,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1248,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1249,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1249,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1250,1
    - Dst: cryptofuzz::util::AdjustECDSASignature
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1250,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1250,1
    - Dst: auto::ToTrimmedString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1251,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1252,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1255,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1259,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1262,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1268
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1268
    functionName: cryptofuzz::module::libgcrypt::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - CF_DIGEST
    - UseRFC6979Nonce
    - CF_ASSERT
    - gcry_sexp_find_token
    - curveType::Get
    - modifier::GetPtr
    - libgcrypt_bignum::Bignum::GetPtr
    - getBignum
    - priv::ToString
    - cryptofuzz::util::BinToDec
    - auto::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - modifier::GetSize
    - CF_CHECK_EQ
    - gcry_sexp_release
    - gcry_sexp_build
    - std::optional::c_str
    - cryptofuzz::module::libgcrypt_detail::ECC_PrivateToPublic
    - cryptofuzz::module::libgcrypt_detail::toCurveString
    - gcry_pk_sign
    - CF_CHECK_TRUE
    - CF_NORET
    - cleartext::GetSize
    - digestType::Is
    - cryptofuzz::util::AdjustECDSASignature
    - CF_CHECK_NE
    - UseRandomNonce
    - libgcrypt_bignum::Bignum::Set
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> libgcrypt::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1272,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1272,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1280,1
    - Dst: cryptofuzz::module::libgcrypt_detail::toCurveString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1280,1
    - Dst: cryptofuzz::repository::ECC_CurveToBits
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1283,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1283,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1284,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1287,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1287,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1290,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1290,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1290,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1295,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1295,1
    - Dst: signature::signature::first::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1295,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1296,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1296,1
    - Dst: signature::signature::second::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1296,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1297,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1297,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1297,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1297,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1302,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1303,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1303,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1303,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1303,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1305,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1305,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1305,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1305,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1313,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1313,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1313,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1314,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1314,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1314,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1318,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1319,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1319,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1319,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1319,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1320,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1320,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1320,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1320,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1328,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1328,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1328,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1328,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1328,1
    - Dst: gcry_pk_verify
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1333,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1337,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1340,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1346
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1346
    functionName: cryptofuzz::module::libgcrypt::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::first::ToTrimmedString
    - end
    - cleartext::GetPtr
    - CF_DIGEST
    - begin
    - curveType::Get
    - modifier::GetPtr
    - std::string::c_str
    - libgcrypt_bignum::Bignum::GetPtr
    - GetPtr
    - signature::signature::second::ToString
    - gcry_pk_verify
    - std::vector::size
    - std::vector::data
    - signature::signature::first::ToString
    - modifier::GetSize
    - CF_CHECK_EQ
    - std::vector::insert
    - gcry_sexp_build
    - gcry_sexp_release
    - Set
    - cryptofuzz::repository::ECC_CurveToBits
    - std::vector::push_back
    - signature::pub::second::ToTrimmedString
    - cryptofuzz::module::libgcrypt_detail::toCurveString
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - cleartext::GetSize
    - digestType::Is
    - CF_CHECK_NE
    - libgcrypt_bignum::Bignum::Set
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libgcrypt::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1350,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1350,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1359,1
    - Dst: cryptofuzz::module::libgcrypt_detail::toCurveString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1359,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1360,1
    - Dst: gcry_mpi_ec_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1360,1
    - Dst: std::optional::c_str
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1360,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1365,1
    - Dst: cryptofuzz::module::libgcrypt_detail::SetPoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1365,1
    - Dst: gcry_mpi_ec_curve_point
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1370,1
    - Dst: gcry_ctx_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1374,1
    - Dst: gcry_mpi_point_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 1378
      start: 1348
    functionDepth: 4
    functionLinenumber: 1348
    functionLinenumberEnd: 1378
    functionName: cryptofuzz::module::libgcrypt::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::toCurveString
    - modifier::GetPtr
    - CF_CHECK_EQ
    - gcry_ctx_release
    - gcry_mpi_ec_new
    - CF_CHECK_NE
    - gcry_mpi_point_release
    - cryptofuzz::module::libgcrypt_detail::SetPoint
    - modifier::GetSize
    - gcry_mpi_ec_curve_point
    - std::optional::c_str
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libgcrypt::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1382,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1382,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1390,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1390,1
    - Dst: b::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1390,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1394,1
    - Dst: cryptofuzz::module::libgcrypt_detail::toCurveString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1394,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1395,1
    - Dst: gcry_mpi_ec_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1395,1
    - Dst: std::optional::c_str
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1395,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1400,1
    - Dst: cryptofuzz::module::libgcrypt_detail::SetPoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1400,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1402,1
    - Dst: gcry_mpi_point_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1402,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1403,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1403,1
    - Dst: cryptofuzz::module::libgcrypt_detail::GetPoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1408,1
    - Dst: gcry_ctx_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1412,1
    - Dst: cryptofuzz::module::libgcrypt_detail::FreePoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1413,1
    - Dst: cryptofuzz::module::libgcrypt_detail::FreePoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 1417
      start: 1380
    functionDepth: 4
    functionLinenumber: 1380
    functionLinenumberEnd: 1417
    functionName: cryptofuzz::module::libgcrypt::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::GetPoint
    - gcry_mpi_ec_mul
    - cryptofuzz::module::libgcrypt_detail::toCurveString
    - modifier::GetPtr
    - libgcrypt_bignum::Bignum::Set
    - CF_CHECK_EQ
    - gcry_ctx_release
    - libgcrypt_bignum::Bignum::GetPtr
    - gcry_mpi_ec_new
    - CF_CHECK_NE
    - gcry_mpi_point_new
    - cryptofuzz::module::libgcrypt_detail::SetPoint
    - b::ToString
    - modifier::GetSize
    - std::optional::c_str
    - cryptofuzz::module::libgcrypt_detail::FreePoint
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> libgcrypt::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1421,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1421,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1430,1
    - Dst: cryptofuzz::module::libgcrypt_detail::toCurveString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1430,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1431,1
    - Dst: gcry_mpi_ec_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1431,1
    - Dst: std::optional::c_str
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1431,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1436,1
    - Dst: cryptofuzz::module::libgcrypt_detail::SetPoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1436,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1437,1
    - Dst: cryptofuzz::module::libgcrypt_detail::SetPoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1437,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1439,1
    - Dst: gcry_mpi_point_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1439,1
    - Dst: gcry_mpi_ec_add
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1441,1
    - Dst: cryptofuzz::module::libgcrypt_detail::GetPoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1446,1
    - Dst: gcry_ctx_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1450,1
    - Dst: cryptofuzz::module::libgcrypt_detail::FreePoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1451,1
    - Dst: cryptofuzz::module::libgcrypt_detail::FreePoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1452,1
    - Dst: cryptofuzz::module::libgcrypt_detail::FreePoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 1456
      start: 1419
    functionDepth: 4
    functionLinenumber: 1419
    functionLinenumberEnd: 1456
    functionName: cryptofuzz::module::libgcrypt::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::GetPoint
    - cryptofuzz::module::libgcrypt_detail::toCurveString
    - modifier::GetPtr
    - CF_CHECK_EQ
    - gcry_ctx_release
    - gcry_mpi_ec_new
    - CF_CHECK_NE
    - gcry_mpi_point_new
    - cryptofuzz::module::libgcrypt_detail::SetPoint
    - cryptofuzz::module::libgcrypt_detail::FreePoint
    - modifier::GetSize
    - gcry_mpi_ec_add
    - std::optional::c_str
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> libgcrypt::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1460,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1460,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1464,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1465,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1466,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1467,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1471,1
    - Dst: libgcrypt_bignum::Bignum::Randomize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1471,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1472,1
    - Dst: libgcrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1472,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1472,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1473,1
    - Dst: libgcrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1473,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1473,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1474,1
    - Dst: libgcrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1474,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1474,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1475,1
    - Dst: libgcrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1475,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1475,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1477,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1478,1
    - Dst: std::make_unique<libgcrypt_bignum::Add>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1479,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1481,1
    - Dst: std::make_unique<libgcrypt_bignum::Sub>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1482,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1484,1
    - Dst: std::make_unique<libgcrypt_bignum::Mul>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1485,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1487,1
    - Dst: std::make_unique<libgcrypt_bignum::Div>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1488,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1490,1
    - Dst: std::make_unique<libgcrypt_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1491,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1493,1
    - Dst: std::make_unique<libgcrypt_bignum::GCD>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1494,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1496,1
    - Dst: std::make_unique<libgcrypt_bignum::InvMod>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1497,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1499,1
    - Dst: std::make_unique<libgcrypt_bignum::Cmp>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1500,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1502,1
    - Dst: std::make_unique<libgcrypt_bignum::Abs>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1503,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1505,1
    - Dst: std::make_unique<libgcrypt_bignum::Neg>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1506,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1508,1
    - Dst: std::make_unique<libgcrypt_bignum::RShift>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1509,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1511,1
    - Dst: std::make_unique<libgcrypt_bignum::LShift1>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1512,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1514,1
    - Dst: std::make_unique<libgcrypt_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1515,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1517,1
    - Dst: std::make_unique<libgcrypt_bignum::IsEq>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1518,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1520,1
    - Dst: std::make_unique<libgcrypt_bignum::IsZero>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1521,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1523,1
    - Dst: std::make_unique<libgcrypt_bignum::IsOne>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1524,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1526,1
    - Dst: std::make_unique<libgcrypt_bignum::MulMod>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1527,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1529,1
    - Dst: std::make_unique<libgcrypt_bignum::AddMod>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1530,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1532,1
    - Dst: std::make_unique<libgcrypt_bignum::SubMod>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1533,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1535,1
    - Dst: std::make_unique<libgcrypt_bignum::Bit>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1536,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1538,1
    - Dst: std::make_unique<libgcrypt_bignum::SetBit>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1539,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1541,1
    - Dst: std::make_unique<libgcrypt_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1542,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1544,1
    - Dst: std::make_unique<libgcrypt_bignum::Mod>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1545,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1547,1
    - Dst: std::make_unique<libgcrypt_bignum::Sqr>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1548,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1550,1
    - Dst: std::make_unique<libgcrypt_bignum::NumBits>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1551,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1553,1
    - Dst: std::make_unique<libgcrypt_bignum::Exp>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1554,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1558,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1559,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1559,1
    - Dst: libgcrypt_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1561,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1565
      start: 1458
    functionDepth: 3
    functionLinenumber: 1458
    functionLinenumberEnd: 1565
    functionName: cryptofuzz::module::libgcrypt::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<libgcrypt_bignum::Mul>
    - std::make_unique<libgcrypt_bignum::SetBit>
    - std::make_unique<libgcrypt_bignum::IsNeg>
    - libgcrypt_bignum::Bignum::Randomize
    - std::make_unique<libgcrypt_bignum::Neg>
    - std::make_unique<libgcrypt_bignum::IsOne>
    - std::make_unique<libgcrypt_bignum::Add>
    - std::make_unique<libgcrypt_bignum::Div>
    - std::make_unique<libgcrypt_bignum::ExpMod>
    - std::make_unique<libgcrypt_bignum::Exp>
    - CF_CALCOP
    - std::make_unique<libgcrypt_bignum::Sub>
    - std::make_unique<libgcrypt_bignum::Abs>
    - bn2::ToString
    - modifier::GetPtr
    - std::make_unique<libgcrypt_bignum::SubMod>
    - libgcrypt_bignum::BignumCluster::Set
    - bn0::ToString
    - std::make_unique<libgcrypt_bignum::IsZero>
    - getBignum
    - std::make_unique<libgcrypt_bignum::RShift>
    - std::make_unique<libgcrypt_bignum::AddMod>
    - std::make_unique<libgcrypt_bignum::LShift1>
    - libgcrypt_bignum::Bignum::ToComponentBignum
    - bn3::ToString
    - std::make_unique<libgcrypt_bignum::IsEq>
    - std::make_unique<libgcrypt_bignum::Sqr>
    - CF_CHECK_EQ
    - std::make_unique<libgcrypt_bignum::NumBits>
    - std::make_unique<libgcrypt_bignum::Bit>
    - std::make_unique<libgcrypt_bignum::ClearBit>
    - std::make_unique<libgcrypt_bignum::GCD>
    - bn1::ToString
    - calcOp::Get
    - std::make_unique<libgcrypt_bignum::InvMod>
    - CF_NORET
    - std::make_unique<libgcrypt_bignum::MulMod>
    - CF_CHECK_NE
    - std::unique_ptr::Run
    - modifier::GetSize
    - std::make_unique<libgcrypt_bignum::Cmp>
    - std::make_unique<libgcrypt_bignum::Mod>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> libgcrypt::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_new
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - gcry_mpi_new
    linkageType: ''
    returnType: void
    signature: void Bignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_release
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_copy
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - gcry_mpi_copy
    linkageType: ''
    returnType: void
    signature: void Bignum(const Bignum& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_copy
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - gcry_mpi_copy
    linkageType: ''
    returnType: void
    signature: void Bignum(const Bignum&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:35,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:39,1
    - Dst: gcry_mpi_scan
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:39,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:39,1
    - Dst: gcry_mpi_release
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - cryptofuzz::util::DecToHex
    - auto::data
    - gcry_mpi_release
    - gcry_mpi_scan
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:53,1
    - Dst: gcry_mpi_aprint
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:53,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:55,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:55,1
    - Dst: gcry_free
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::ToString
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - gcry_mpi_aprint
    - CF_CHECK_EQ
    - gcry_free
    - std::string
    - cryptofuzz::util::HexToDec
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t GetPtr(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_bignum::Bignum::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:70,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_bignum::Bignum::ToString
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:80,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:83,1
    - Dst: cryptofuzz::module::libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:84,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::Randomize
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - GetData
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::libgcrypt_bignum::Bignum::Set
    linkageType: ''
    returnType: void
    signature: void Randomize(fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_cmp
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:89,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:89,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: operator==(const Bignum& rhs) const
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtr
    - gcry_mpi_cmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Bignum& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' ds'
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - Datasource
    - Bignum
    - Bignum
    - Bignum
    - Bignum
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: cryptofuzz::module::libgcrypt_bignum::BignumCluster::BignumCluster
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster(Datasource& ds, Bignum bn0, Bignum bn1, Bignum bn2,
      Bignum bn3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:105,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:106,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: '& operator[](const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - Get
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & operator[](const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:129,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: '& Get(const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & Get(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:137,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:138,1
    - Dst: cryptofuzz::module::libgcrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - index
    - s
    argTypes:
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::libgcrypt_bignum::BignumCluster::Set
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 1
    functionsReached:
    - abort
    - cryptofuzz::module::libgcrypt_bignum::BignumCluster::Set
    - size
    linkageType: ''
    returnType: bool
    signature: bool Set(const size_t index, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:145,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: cryptofuzz::module::libgcrypt_bignum::BignumCluster::GetResPtr
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT
    - Get
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t GetResPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:156,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:158,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:159,1
    - Dst: gcry_mpi_set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: cryptofuzz::module::libgcrypt_bignum::BignumCluster::CopyResult
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT
    - gcry_mpi_set
    linkageType: ''
    returnType: void
    signature: void CopyResult(Bignum& res) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::noble_hashes::noble_hashes
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void noble_hashes::noble_hashes(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: noble_hashes::~noble_hashes(void)
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noble_hashes::~noble_hashes(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:28,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ct'
    - ' ds'
    argTypes:
    - component::Cleartext
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: cryptofuzz::module::noble_hashes_detail::ToParts
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - Get
    linkageType: ''
    returnType: std::optional<util::Multipart>
    signature: std::optional<util::Multipart> ToParts(const component::Cleartext&
      ct, fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::noble_hashes_detail::ToParts
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:39,1
    - Dst: nlohmann::detail::json_sax_dom_parser::start_array
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:43,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:45,1
    - Dst: push_back
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:46,1
    - Dst: auto::ToJSON
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' json'
    - ' ct'
    - ' ds'
    argTypes:
    - nlohmann::json
    - component::Cleartext
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: cryptofuzz::module::noble_hashes_detail::AddParts
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_parser::start_array
    - cryptofuzz::module::noble_hashes_detail::ToParts
    - Buffer
    - auto::ToJSON
    - push_back
    linkageType: ''
    returnType: void
    signature: void AddParts(nlohmann::json& json, const component::Cleartext& ct,
      fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:56,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:56,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:57,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:58,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:58,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:60,1
    - Dst: cryptofuzz::module::noble_hashes_detail::AddParts
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:60,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:62,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:62,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:65,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::noble_hashes::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - ToJSON
    - modifier::GetPtr
    - std::to_string
    - CF_NORET
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - modifier::GetSize
    - cryptofuzz::module::noble_hashes_detail::AddParts
    - Run
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> noble_hashes::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:74,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:74,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:75,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:76,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:76,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:78,1
    - Dst: cryptofuzz::module::noble_hashes_detail::AddParts
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:78,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:80,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:80,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:83,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::noble_hashes::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - modifier::GetPtr
    - std::to_string
    - CF_NORET
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - generate_HMAC
    - modifier::GetSize
    - cryptofuzz::module::noble_hashes_detail::AddParts
    - Run
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> noble_hashes::OpHMAC(operation::HMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:92,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:93,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:93,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:95,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:95,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:98,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: cryptofuzz::module::noble_hashes::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::tests::test_ECC_PrivateKey
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> noble_hashes::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:107,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:108,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:108,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:110,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:110,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:113,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::noble_hashes::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::tests::test_ECC_PrivateKey
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> noble_hashes::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:11,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:11,1
    - Dst: std::replace
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:15,1
    - Dst: std::string::begin
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:15,1
    - Dst: std::string::end
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:15,1
    - Dst: std::replace
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:16,1
    - Dst: std::string::begin
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:16,1
    - Dst: std::string::end
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:16,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:17,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::string::begin
    - std::string::end
    - printf
    - std::replace
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:14,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:17,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:17,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:17,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:17,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:17,1
    - Dst: To_mbedtls_mpi_sint
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:21,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:22,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:24,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:24,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:24,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:24,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:29,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:29,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:29,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:30,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:30,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:30,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:31,1
    - Dst: mbedtls_mpi_add_abs
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:31,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:31,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:31,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 38
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::mbedTLS_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_CHECK_EQ
    - To_mbedtls_mpi_sint
    - mbedtls_mpi_add_int
    - GetPtr
    - CF_CHECK_NE
    - mbedtls_mpi_add_abs
    - mbedtls_mpi_cmp_int
    - GET_WHICH
    - mbedtls_mpi_add_mpi
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:41,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:44,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:44,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:44,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:44,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:44,1
    - Dst: To_mbedtls_mpi_sint
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:48,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:49,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:51,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:51,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:51,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:51,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:55,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:55,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:55,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:56,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:56,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:56,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:58,1
    - Dst: mbedtls_mpi_sub_abs
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:58,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:58,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:58,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::mbedTLS_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_CHECK_EQ
    - To_mbedtls_mpi_sint
    - mbedtls_mpi_sub_abs
    - GetPtr
    - CF_CHECK_NE
    - mbedtls_mpi_sub_int
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_cmp_int
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:67,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:70,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:70,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:70,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:70,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:70,1
    - Dst: GetUint32
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:74,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:75,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:77,1
    - Dst: mbedtls_mpi_mul_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:77,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:77,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::mbedTLS_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_CHECK_EQ
    - mbedtls_mpi_mul_int
    - GetPtr
    - CF_CHECK_NE
    - GetUint32
    - GET_WHICH
    - mbedtls_mpi_mul_mpi
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:87,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:90,1
    - Dst: mbedtls_mpi_div_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:90,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:90,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:90,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:90,1
    - Dst: To_mbedtls_mpi_sint
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:94,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:95,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:97,1
    - Dst: mbedtls_mpi_div_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:97,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:97,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::mbedTLS_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_div_mpi
    - GetDestPtr
    - CF_CHECK_EQ
    - To_mbedtls_mpi_sint
    - GetPtr
    - CF_CHECK_NE
    - mbedtls_mpi_div_int
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:110,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:110,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:110,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:110,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:110,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: cryptofuzz::module::mbedTLS_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mbedtls_mpi_exp_mod
    - GetDestPtr
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:122,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:122,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:122,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:122,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: cryptofuzz::module::mbedTLS_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - mbedtls_mpi_mul_mpi
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:134,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:134,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:134,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:135,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:135,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:135,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:136,1
    - Dst: mbedtls_mpi_gcd
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:136,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:136,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:136,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::mbedTLS_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_CHECK_EQ
    - GetPtr
    - CF_CHECK_NE
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_gcd
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_inv_mod
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:149,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:149,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 160
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 160
    functionName: cryptofuzz::module::mbedTLS_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - Set
    - GetDestPtr
    - mbedtls_mpi_inv_mod
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:163,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:166,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:166,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:166,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:166,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:166,1
    - Dst: To_mbedtls_mpi_sint
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:170,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:171,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:173,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:173,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:173,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:173,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:179,1
    - Dst: mbedtls_mpi_lt_mpi_ct
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:179,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 191
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 191
    functionName: cryptofuzz::module::mbedTLS_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_cmp_mpi
    - mbedtls_mpi_lt_mpi_ct
    - std::to_string
    - CF_CHECK_EQ
    - To_mbedtls_mpi_sint
    - Set
    - GetPtr
    - CF_CHECK_NE
    - mbedtls_mpi_cmp_int
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:197,1
    - Dst: mbedtls_mpi_lset
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:197,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:197,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:198,1
    - Dst: mbedtls_mpi_add_abs
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:198,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:198,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:198,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: cryptofuzz::module::mbedTLS_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_lset
    - GetDestPtr
    - CF_CHECK_EQ
    - GetPtr
    - mbedtls_mpi_add_abs
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:210,1
    - Dst: mbedtls_mpi_lset
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:210,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:210,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:211,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:211,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:211,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:211,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: cryptofuzz::module::mbedTLS_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_lset
    - GetDestPtr
    - CF_CHECK_EQ
    - GetPtr
    - mbedtls_mpi_sub_mpi
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUint32
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:223,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:224,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:226,1
    - Dst: mbedtls_mpi_copy
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:226,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:226,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:226,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:227,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:227,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: cryptofuzz::module::mbedTLS_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - mbedtls_mpi_copy
    - CF_CHECK_EQ
    - mbedtls_mpi_shift_r
    - GetPtr
    - CF_CHECK_NE
    - GetUint32
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:239,1
    - Dst: mbedtls_mpi_copy
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:239,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:239,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:240,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:240,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 246
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 246
    functionName: cryptofuzz::module::mbedTLS_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_shift_l
    - GetDestPtr
    - mbedtls_mpi_copy
    - CF_CHECK_EQ
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:251,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:251,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:251,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: cryptofuzz::module::mbedTLS_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - std::to_string
    - mbedtls_mpi_cmp_int
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:259,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:259,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:259,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:259,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: cryptofuzz::module::mbedTLS_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - mbedtls_mpi_cmp_mpi
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:267,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:267,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:267,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: cryptofuzz::module::mbedTLS_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - std::to_string
    - mbedtls_mpi_cmp_int
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:275,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:275,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:275,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: cryptofuzz::module::mbedTLS_bignum::IsOne::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - std::to_string
    - mbedtls_mpi_cmp_int
    linkageType: ''
    returnType: bool
    signature: bool IsOne::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:284,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:284,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:284,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:284,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:284,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:285,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:285,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:285,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:285,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: cryptofuzz::module::mbedTLS_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_CHECK_EQ
    - mbedtls_mpi_mod_mpi
    - GetPtr
    - mbedtls_mpi_mul_mpi
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:297,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:297,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:297,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:297,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:297,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:298,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:298,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:298,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:298,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: cryptofuzz::module::mbedTLS_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_CHECK_EQ
    - mbedtls_mpi_mod_mpi
    - GetPtr
    - mbedtls_mpi_add_mpi
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:310,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:310,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:310,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:310,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:310,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:311,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:311,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:311,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:311,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 317
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 317
    functionName: cryptofuzz::module::mbedTLS_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_CHECK_EQ
    - mbedtls_mpi_mod_mpi
    - GetPtr
    - mbedtls_mpi_sub_mpi
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:323,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:323,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:323,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:323,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:323,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:324,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:324,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:324,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:324,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: cryptofuzz::module::mbedTLS_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_CHECK_EQ
    - mbedtls_mpi_mod_mpi
    - GetPtr
    - mbedtls_mpi_mul_mpi
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUint32
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:337,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:338,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:340,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:340,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:340,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:341,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 347
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 347
    functionName: cryptofuzz::module::mbedTLS_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - GetPtr
    - Set
    - CF_CHECK_NE
    - GetUint32
    - CF_CHECK_GTE
    - mbedtls_mpi_get_bit
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:352,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:352,1
    - Dst: mbedtls_mpi_cmp_abs
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:352,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:352,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: cryptofuzz::module::mbedTLS_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - mbedtls_mpi_cmp_abs
    - std::to_string
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUint32
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:361,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:362,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:364,1
    - Dst: mbedtls_mpi_copy
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:364,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:364,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:364,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:365,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:365,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' res'
    - ' bn'
    - value
    argTypes:
    - Bignum
    - BignumCluster
    - bool
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: cryptofuzz::module::mbedTLS_bignum::detail::SetBit
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - mbedtls_mpi_copy
    - CF_CHECK_EQ
    - GetPtr
    - CF_CHECK_NE
    - GetUint32
    - mbedtls_mpi_set_bit
    linkageType: ''
    returnType: bool
    signature: bool SetBit(Bignum& res, BignumCluster& bn, const bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_bignum::detail::SetBit
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: cryptofuzz::module::mbedTLS_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_bignum::detail::SetBit
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_bignum::detail::SetBit
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: cryptofuzz::module::mbedTLS_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_bignum::detail::SetBit
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:389,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:392,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:392,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:392,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:392,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:392,1
    - Dst: To_mbedtls_mpi_sint
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:402,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:403,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:405,1
    - Dst: mbedtls_mpi_mod_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:405,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:405,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:407,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 415
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 415
    functionName: cryptofuzz::module::mbedTLS_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - std::to_string
    - CF_CHECK_EQ
    - mbedtls_mpi_mod_mpi
    - To_mbedtls_mpi_sint
    - GetPtr
    - Set
    - CF_CHECK_NE
    - mbedtls_mpi_mod_int
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:418,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:421,1
    - Dst: mbedtls_mpi_swap
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:421,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:421,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:421,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:424,1
    - Dst: mbedtls_mpi_safe_cond_assign
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:424,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:424,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:424,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:427,1
    - Dst: mbedtls_mpi_safe_cond_swap
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:427,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:427,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:427,1
    - Dst: To_mbedtls_mpi_sint
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:431,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:432,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:434,1
    - Dst: mbedtls_mpi_lset
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:434,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 441
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 441
    functionName: cryptofuzz::module::mbedTLS_bignum::Set::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_lset
    - GetDestPtr
    - CF_NORET
    - CF_CHECK_EQ
    - To_mbedtls_mpi_sint
    - mbedtls_mpi_swap
    - GetPtr
    - CF_CHECK_NE
    - mbedtls_mpi_safe_cond_swap
    - GET_WHICH
    - mbedtls_mpi_safe_cond_assign
    linkageType: ''
    returnType: bool
    signature: bool Set::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:446,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:446,1
    - Dst: mbedtls_mpi_lsb
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:446,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: cryptofuzz::module::mbedTLS_bignum::NumLSZeroBits::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - mbedtls_mpi_lsb
    - GetPtr
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool NumLSZeroBits::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ds
    argTypes:
    - Datasource*
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetGlobalDs(Datasource* ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsetGlobalDs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: cryptofuzz::module::mbedTLS_detail::AllocationFailure
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool AllocationFailure(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::mbedTLS_detail::AllocationFailure
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:54,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: cryptofuzz::module::mbedTLS_custom_calloc
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - cryptofuzz::module::mbedTLS_detail::AllocationFailure
    linkageType: ''
    returnType: void
    signature: void * mbedTLS_custom_calloc(size_t A, size_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::mbedTLS_custom_free
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void mbedTLS_custom_free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_set_calloc_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:74,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::mbedTLS::mbedTLS
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - mbedtls_platform_set_calloc_free
    linkageType: ''
    returnType: void
    signature: void mbedTLS::mbedTLS(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:83,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:90,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:91,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:91,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:92,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - arg
    - out
    - size
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: cryptofuzz::module::mbedTLS_detail::RNG
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - auto::data
    - GetData
    - auto::size
    - CF_ASSERT
    linkageType: ''
    returnType: int
    signature: int RNG(void* arg, unsigned char* out, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:104,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:105,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:106,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:107,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:108,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:109,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:110,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:111,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:112,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:113,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:114,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:115,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:116,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:117,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:118,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:119,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:120,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:121,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:122,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:123,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:124,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:125,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:126,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:127,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:128,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:129,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:130,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:131,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:132,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:133,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:134,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:135,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:136,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:137,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:138,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:139,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:140,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:141,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:142,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:143,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:144,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:145,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:146,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:147,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:148,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:149,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:150,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:151,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:152,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:153,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:154,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:155,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:156,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:157,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:158,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:159,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:160,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:161,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:162,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:163,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:164,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:165,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:166,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:167,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:168,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:169,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:170,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:171,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:172,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:173,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:174,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:175,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:176,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:179,1
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:179,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:179,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:183,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:183,1
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipherType
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 184
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 184
    functionName: cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_CIPHER
    - component::SymmetricCipherType::Get
    - mbedtls_cipher_info_from_type
    linkageType: ''
    returnType: mbedtls_cipher_info_t
    signature: mbedtls_cipher_info_t * to_mbedtls_cipher_info_t(const component::SymmetricCipherType
      cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:190,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:191,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:192,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:193,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:194,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:195,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:196,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:199,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:199,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:199,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:203,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 204
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 204
    functionName: cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: mbedtls_md_type_t
    signature: mbedtls_md_type_t to_mbedtls_md_type_t(const component::DigestType&
      digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:210,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:210,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:211,1
    - Dst: mbedtls_md_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:218,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:222,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:224,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:224,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:225,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:225,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:226,1
    - Dst: mbedtls_md_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:226,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:227,1
    - Dst: mbedtls_md_starts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:227,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:232,1
    - Dst: mbedtls_md_update
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:232,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:238,1
    - Dst: mbedtls_md_finish
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:238,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:240,1
    - Dst: mbedtls_md_get_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:240,1
    - Dst: mbedtls_md_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:244,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 249
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 249
    functionName: cryptofuzz::module::mbedTLS::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_md_free
    - mbedtls_md_finish
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - generate_Digest
    - mbedtls_md_get_size
    - CF_CHECK_EQ
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_NE
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
    - mbedtls_md_setup
    - mbedtls_md_info_from_type
    - mbedtls_md_update
    - modifier::GetSize
    - mbedtls_md_starts
    - mbedtls_md_init
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> mbedTLS::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:253,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:253,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:254,1
    - Dst: mbedtls_md_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:262,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:266,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:268,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:268,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:269,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:269,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:270,1
    - Dst: mbedtls_md_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:270,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:271,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:271,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:271,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:271,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:276,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:276,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:282,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:282,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:284,1
    - Dst: mbedtls_md_get_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:284,1
    - Dst: mbedtls_md_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:288,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 293
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 293
    functionName: cryptofuzz::module::mbedTLS::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - mbedtls_md_get_size
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
    - mbedtls_md_init
    - mbedtls_md_hmac_update
    - CF_CHECK_EQ
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - mbedtls_md_hmac_finish
    - generate_HMAC
    - mbedtls_md_free
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - mbedtls_md_hmac_starts
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - CF_CHECK_NE
    - mbedtls_md_setup
    - mbedtls_md_info_from_type
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> mbedTLS::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:297,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:297,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:298,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:307,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:307,1
    - Dst: mbedtls_cipher_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:308,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:310,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:310,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:314,1
    - Dst: mbedtls_cipher_cmac
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:314,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:314,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:314,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:314,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:314,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:316,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:316,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:321,1
    - Dst: mbedtls_cipher_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:324,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 330
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 330
    functionName: cryptofuzz::module::mbedTLS::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_cipher_get_block_size
    - mbedtls_cipher_init
    - mbedtls_cipher_free
    - cipher::key::GetSize
    - modifier::GetPtr
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_cipher_cmac
    - cleartext::GetPtr
    - CF_CHECK_NE
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - cryptofuzz::util::free
    - generate_HMAC
    - modifier::GetSize
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> mbedTLS::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:343,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:343,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:344,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:350,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:350,1
    - Dst: mbedtls_cipher_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:351,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:353,1
    - Dst: mbedtls_cipher_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:353,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:354,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:354,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:354,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:354,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:355,1
    - Dst: mbedtls_cipher_reset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:355,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:357,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:357,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:363,1
    - Dst: mbedtls_cipher_auth_encrypt_ext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:363,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:364,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:364,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:365,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:365,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:366,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:366,1
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:370,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:370,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:371,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:371,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:372,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:373,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:373,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:374,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:374,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:376,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:376,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:381,1
    - Dst: mbedtls_cipher_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:384,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 390
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 390
    functionName: cryptofuzz::module::mbedTLS_detail::encrypt_AEAD
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_cipher_free
    - cleartext::GetPtr
    - CF_ASSERT
    - cipher::cipherType::Get
    - modifier::GetPtr
    - mbedtls_cipher_auth_encrypt_ext
    - aad::GetSize
    - Buffer
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
    - mbedtls_cipher_init
    - CF_CHECK_EQ
    - mbedtls_cipher_reset
    - mbedtls_cipher_setkey
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - cryptofuzz::repository::IsWRAP
    - mbedtls_cipher_setup
    - CF_CHECK_NE
    - aad::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> encrypt_AEAD(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:396,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:396,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:397,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:403,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:403,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:403,1
    - Dst: cryptofuzz::module::mbedTLS_detail::encrypt_AEAD
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:408,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:411,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:411,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:412,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:426,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:426,1
    - Dst: mbedtls_cipher_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:428,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:431,1
    - Dst: mbedtls_cipher_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:431,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:432,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:432,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:432,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:432,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:433,1
    - Dst: mbedtls_cipher_set_iv
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:433,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:433,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:433,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:434,1
    - Dst: mbedtls_cipher_reset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:434,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:435,1
    - Dst: mbedtls_cipher_update_ad
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:435,1
    - Dst: cryptofuzz::repository::IsXTS
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:437,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:437,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:440,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:440,1
    - Dst: cryptofuzz::repository::IsGCM
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:441,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:441,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:441,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:441,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:455,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:455,1
    - Dst: util::Multipart::push_back
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:461,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:461,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:467,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:467,1
    - Dst: util::Multipart::push_back
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:468,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:468,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:471,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:479,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:479,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:479,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:485,1
    - Dst: mbedtls_cipher_update
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:485,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:493,1
    - Dst: mbedtls_cipher_finish
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:493,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:497,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:497,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:501,1
    - Dst: mbedtls_cipher_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:504,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:507,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 510
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 510
    functionName: cryptofuzz::module::mbedTLS::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_cipher_set_iv
    - mbedtls_cipher_free
    - mbedtls_cipher_update_ad
    - cleartext::GetPtr
    - mbedtls_cipher_update
    - cryptofuzz::module::mbedTLS_detail::encrypt_AEAD
    - cipher::cipherType::Get
    - modifier::GetPtr
    - Buffer
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
    - mbedtls_cipher_init
    - cryptofuzz::repository::IsECB
    - util::Multipart::push_back
    - CF_CHECK_EQ
    - mbedtls_cipher_reset
    - mbedtls_cipher_setkey
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CIPHER
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - cryptofuzz::repository::IsGCM
    - mbedtls_cipher_get_block_size
    - cryptofuzz::repository::IsXTS
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - cleartext::GetSize
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_cipher_setup
    - CF_CHECK_NE
    - mbedtls_cipher_finish
    - cryptofuzz::component::Ciphertext::Ciphertext
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> mbedTLS::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:515,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:515,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:516,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:528,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:528,1
    - Dst: mbedtls_cipher_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:529,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:531,1
    - Dst: mbedtls_cipher_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:531,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:532,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:532,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:532,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:532,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:533,1
    - Dst: mbedtls_cipher_reset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:533,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:535,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:535,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:538,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:538,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:538,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:540,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:540,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:540,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:540,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:546,1
    - Dst: mbedtls_cipher_auth_decrypt_ext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:546,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:547,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:547,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:548,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:548,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:551,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:553,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:553,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:557,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:558,1
    - Dst: mbedtls_cipher_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:561,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 567
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 567
    functionName: cryptofuzz::module::mbedTLS_detail::decrypt_AEAD
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_cipher_free
    - ciphertext::GetPtr
    - ciphertext::GetSize
    - modifier::GetPtr
    - component::Cleartext
    - aad::GetSize
    - Buffer
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
    - mbedtls_cipher_init
    - CF_CHECK_EQ
    - mbedtls_cipher_reset
    - mbedtls_cipher_auth_decrypt_ext
    - memcpy
    - mbedtls_cipher_setkey
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - tag::GetSize
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_cipher_setup
    - CF_CHECK_NE
    - tag::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> decrypt_AEAD(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:575,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:575,1
    - Dst: cryptofuzz::module::mbedTLS_detail::decrypt_AEAD
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:576,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:579,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:579,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:579,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:583,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:583,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:584,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:598,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:598,1
    - Dst: mbedtls_cipher_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:600,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:603,1
    - Dst: mbedtls_cipher_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:603,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:604,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:604,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:604,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:604,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:605,1
    - Dst: mbedtls_cipher_set_iv
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:605,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:605,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:605,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:606,1
    - Dst: mbedtls_cipher_reset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:606,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:607,1
    - Dst: mbedtls_cipher_update_ad
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:607,1
    - Dst: cryptofuzz::repository::IsXTS
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:609,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:609,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:612,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:612,1
    - Dst: cryptofuzz::repository::IsGCM
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:613,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:613,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:613,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:613,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:638,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:638,1
    - Dst: util::Multipart::push_back
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:644,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:644,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:650,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:650,1
    - Dst: util::Multipart::push_back
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:651,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:651,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:654,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:661,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:661,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:661,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:667,1
    - Dst: mbedtls_cipher_update
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:667,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:675,1
    - Dst: mbedtls_cipher_finish
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:675,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:679,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:683,1
    - Dst: mbedtls_cipher_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:686,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:689,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 692
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 692
    functionName: cryptofuzz::module::mbedTLS::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_cipher_set_iv
    - mbedtls_cipher_free
    - mbedtls_cipher_update_ad
    - ciphertext::GetPtr
    - ciphertext::GetSize
    - mbedtls_cipher_update
    - cipher::cipherType::Get
    - modifier::GetPtr
    - component::Cleartext
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
    - mbedtls_cipher_init
    - cryptofuzz::repository::IsECB
    - util::Multipart::push_back
    - CF_CHECK_EQ
    - mbedtls_cipher_reset
    - cryptofuzz::module::mbedTLS_detail::decrypt_AEAD
    - mbedtls_cipher_setkey
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CIPHER
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - cryptofuzz::repository::IsGCM
    - mbedtls_cipher_get_block_size
    - cryptofuzz::repository::IsXTS
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - cryptofuzz::repository::IsWRAP
    - mbedtls_cipher_setup
    - CF_CHECK_NE
    - mbedtls_cipher_finish
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> mbedTLS::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:696,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:696,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:697,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:703,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:703,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:704,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:704,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:711,1
    - Dst: mbedtls_md_get_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:711,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:712,1
    - Dst: mbedtls_hkdf
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:713,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:715,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:716,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:717,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:718,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:719,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:720,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:724,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:727,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 732
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 732
    functionName: cryptofuzz::module::mbedTLS::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_hkdf
    - info::GetSize
    - modifier::GetPtr
    - password::GetPtr
    - mbedtls_md_get_size
    - info::GetPtr
    - cryptofuzz::tests::test_ECC_PrivateKey
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
    - salt::GetSize
    - CF_CHECK_EQ
    - CF_CHECK_LTE
    - password::GetSize
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - cryptofuzz::util::free
    - salt::GetPtr
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - CF_CHECK_NE
    - mbedtls_md_info_from_type
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> mbedTLS::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:736,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:736,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:737,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:744,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:744,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:745,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:745,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:746,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:746,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:749,1
    - Dst: mbedtls_pkcs12_derivation
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:749,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:752,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:753,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:754,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:755,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:760,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 765
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 765
    functionName: cryptofuzz::module::mbedTLS::OpKDF_PBKDF
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - modifier::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - mbedtls_pkcs12_derivation
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
    - CF_CHECK_NE
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - salt::GetSize
    - cryptofuzz::util::free
    - modifier::GetSize
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> mbedTLS::OpKDF_PBKDF(operation::KDF_PBKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:769,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:769,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:770,1
    - Dst: mbedtls_md_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:779,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:780,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:780,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:781,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:781,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:782,1
    - Dst: mbedtls_md_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:782,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:783,1
    - Dst: mbedtls_md_starts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:783,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:786,1
    - Dst: mbedtls_pkcs5_pbkdf2_hmac
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:786,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:788,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:789,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:790,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:791,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:796,1
    - Dst: mbedtls_md_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:799,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:800,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 805
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 805
    functionName: cryptofuzz::module::mbedTLS::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - password::GetPtr
    - cryptofuzz::tests::test_ECC_PrivateKey
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
    - salt::GetSize
    - mbedtls_md_init
    - CF_CHECK_EQ
    - password::GetSize
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - cryptofuzz::util::free
    - mbedtls_md_free
    - salt::GetPtr
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - CF_CHECK_NE
    - mbedtls_md_setup
    - mbedtls_pkcs5_pbkdf2_hmac
    - mbedtls_md_info_from_type
    - modifier::GetSize
    - mbedtls_md_starts
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> mbedTLS::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:810,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:811,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:812,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:813,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:814,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:815,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:816,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:817,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:818,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:819,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:820,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:822,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:826,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:826,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:826,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:830,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 831
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 831
    functionName: cryptofuzz::module::mbedTLS_detail::toTLSID
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - CF_ECC_CURVE
    - std::map::at
    - Get
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> toTLSID(const component::CurveType& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:838,1
    - Dst: mbedtls_mpi_write_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:838,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:839,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:839,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:840,1
    - Dst: mbedtls_mpi_write_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:840,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:842,1
    - Dst: free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - mpi
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 847
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 847
    functionName: cryptofuzz::module::mbedTLS_detail::MPIToString
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_write_string
    - CF_CHECK_EQ
    - free
    - malloc
    - std::string
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> MPIToString(const mbedtls_mpi* mpi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:852,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:852,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:853,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:858,1
    - Dst: mbedtls_ecp_keypair_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:858,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:862,1
    - Dst: cryptofuzz::module::mbedTLS_detail::toTLSID
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:862,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:863,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:863,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:866,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:866,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:869,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:869,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:869,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:871,1
    - Dst: mbedtls_ecp_mul
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:871,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:877,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:877,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:878,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:878,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:884,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:884,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 889
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 889
    functionName: cryptofuzz::module::mbedTLS::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_NORET
    - CF_CHECK_EQ
    - mbedtls_ecp_keypair_free
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_ecp_keypair_init
    - cryptofuzz::module::mbedTLS_detail::toTLSID
    - mbedtls_mpi_read_string
    - mbedtls_ecp_group_load
    - mbedtls_ecp_mul
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_NE
    - priv::ToString
    - cryptofuzz::module::mbedTLS_detail::MPIToString
    - modifier::GetSize
    - mbedtls_ecp_curve_info_from_tls_id
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> mbedTLS::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:904,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:909,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:909,1
    - Dst: component::ECC_Point::first::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:909,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:910,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:910,1
    - Dst: component::ECC_Point::second::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:910,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:911,1
    - Dst: mbedtls_mpi_lset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:911,1
    - Dst: cryptofuzz::util::ToRandomProjective
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:913,1
    - Dst: component::ECC_Point::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:915,1
    - Dst: component::ECC_Point::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:916,1
    - Dst: component::CurveType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:917,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:918,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:918,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:918,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:919,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:919,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:919,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:920,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:920,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - ' ds'
    - in
    - ' out'
    - curveType
    argTypes:
    - fuzzing::datasource::Datasource
    - component::ECC_Point
    - mbedtls_ecp_point
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 926
      start: 892
    functionDepth: 3
    functionLinenumber: 892
    functionLinenumberEnd: 926
    functionName: cryptofuzz::module::mbedTLS_detail::LoadPoint
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_lset
    - component::ECC_Point::second::ToString
    - component::ECC_Point::first::ToTrimmedString
    - CF_CHECK_EQ
    - mbedtls_mpi_read_string
    - cryptofuzz::util::ToRandomProjective
    - component::CurveType::Get
    - component::ECC_Point::first::ToString
    - component::ECC_Point::second::ToTrimmedString
    - c_str
    - Get
    linkageType: ''
    returnType: bool
    signature: "bool LoadPoint(\n            fuzzing::datasource::Datasource& ds,\n
      \           const component::ECC_Point in,\n            mbedtls_ecp_point& out,\n
      \           const component::CurveType curveType,\n            const bool onlyAffine
      = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:931,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:931,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:932,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:938,1
    - Dst: mbedtls_ecp_group_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:938,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:939,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:939,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:943,1
    - Dst: cryptofuzz::module::mbedTLS_detail::toTLSID
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:943,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:944,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:944,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:947,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:947,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:949,1
    - Dst: cryptofuzz::module::mbedTLS_detail::LoadPoint
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:949,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:951,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:954,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:954,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:955,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:955,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 960
      start: 929
    functionDepth: 4
    functionLinenumber: 929
    functionLinenumberEnd: 960
    functionName: cryptofuzz::module::mbedTLS::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - CF_NORET
    - CF_CHECK_EQ
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - cryptofuzz::module::mbedTLS_detail::toTLSID
    - mbedtls_ecp_group_free
    - mbedtls_ecp_group_load
    - mbedtls_ecp_check_pubkey
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_NE
    - cryptofuzz::module::mbedTLS_detail::LoadPoint
    - mbedtls_ecp_point_init
    - mbedtls_ecp_point_free
    - modifier::GetSize
    - mbedtls_ecp_curve_info_from_tls_id
    - mbedtls_ecp_group_init
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mbedTLS::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:964,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:964,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:965,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:973,1
    - Dst: mbedtls_ecp_group_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:973,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:974,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:974,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:975,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:975,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:976,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:976,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:980,1
    - Dst: cryptofuzz::module::mbedTLS_detail::toTLSID
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:980,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:981,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:981,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:984,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:984,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:987,1
    - Dst: cryptofuzz::module::mbedTLS_detail::LoadPoint
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:987,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:990,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:990,1
    - Dst: b::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:990,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:993,1
    - Dst: mbedtls_ecp_mul
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:993,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:995,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:996,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:997,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1001,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1002,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1003,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1010,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1010,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1011,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1011,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1016,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1016,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1017,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1017,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1018,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1018,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1019,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1019,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 1024
      start: 962
    functionDepth: 4
    functionLinenumber: 962
    functionLinenumberEnd: 1024
    functionName: cryptofuzz::module::mbedTLS::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_read_string
    - mbedtls_ecp_group_load
    - cryptofuzz::module::mbedTLS_detail::MPIToString
    - mbedtls_mpi_cmp_int
    - CF_ASSERT
    - mbedtls_ecp_group_init
    - modifier::GetPtr
    - mbedtls_ecp_curve_info_from_tls_id
    - mbedtls_mpi_free
    - CF_CHECK_EQ
    - mbedtls_ecp_check_pubkey
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - mbedtls_ecp_point_free
    - mbedtls_mpi_init
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - cryptofuzz::module::mbedTLS_detail::toTLSID
    - mbedtls_ecp_group_free
    - mbedtls_ecp_mul
    - CF_CHECK_NE
    - cryptofuzz::module::mbedTLS_detail::LoadPoint
    - mbedtls_ecp_point_init
    - b::ToString
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> mbedTLS::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1028,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1028,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1029,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1036,1
    - Dst: mbedtls_ecp_group_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1036,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1037,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1037,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1038,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1038,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1039,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1039,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1040,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1040,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1044,1
    - Dst: cryptofuzz::module::mbedTLS_detail::toTLSID
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1044,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1045,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1045,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1048,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1048,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1051,1
    - Dst: cryptofuzz::module::mbedTLS_detail::LoadPoint
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1051,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1054,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1054,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1055,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1055,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1058,1
    - Dst: cryptofuzz::module::mbedTLS_detail::LoadPoint
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1058,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1061,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1061,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1062,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1062,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1064,1
    - Dst: mbedtls_mpi_lset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1064,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1067,1
    - Dst: mbedtls_ecp_muladd
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1067,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1069,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1069,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1070,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1070,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1071,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1071,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1076,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1076,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1077,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1077,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1082,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1082,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1083,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1083,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1084,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1084,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1085,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1085,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1086,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1086,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 1091
      start: 1026
    functionDepth: 4
    functionLinenumber: 1026
    functionLinenumberEnd: 1091
    functionName: cryptofuzz::module::mbedTLS::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - mbedtls_ecp_group_load
    - cryptofuzz::module::mbedTLS_detail::MPIToString
    - mbedtls_ecp_group_init
    - mbedtls_mpi_lset
    - modifier::GetPtr
    - mbedtls_ecp_muladd
    - mbedtls_ecp_curve_info_from_tls_id
    - mbedtls_mpi_free
    - mbedtls_mpi_cmp_mpi
    - CF_CHECK_EQ
    - mbedtls_ecp_check_pubkey
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - mbedtls_ecp_point_free
    - mbedtls_mpi_init
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - cryptofuzz::module::mbedTLS_detail::toTLSID
    - mbedtls_ecp_group_free
    - CF_CHECK_NE
    - cryptofuzz::module::mbedTLS_detail::LoadPoint
    - mbedtls_ecp_point_init
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> mbedTLS::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1094,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1094,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1099,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1099,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1100,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1106,1
    - Dst: mbedtls_ecp_keypair_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1106,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1107,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1107,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1108,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1108,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1110,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1110,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1114,1
    - Dst: cryptofuzz::module::mbedTLS_detail::toTLSID
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1114,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1115,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1115,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1118,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1118,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1121,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1121,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1121,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1124,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1125,1
    - Dst: mbedtls_ecdsa_sign
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1125,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1125,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1125,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1128,1
    - Dst: mbedtls_ecp_mul
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1128,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1130,1
    - Dst: mbedtls_ecdsa_verify
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1131,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1131,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1131,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1137,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1137,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1138,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1138,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1139,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1139,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1140,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1140,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1146,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1146,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1148,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1150,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1150,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1151,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1154
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1154
    functionName: cryptofuzz::module::mbedTLS::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_ecp_keypair_free
    - mbedtls_mpi_read_string
    - mbedtls_ecp_group_load
    - cleartext::GetPtr
    - CF_DIGEST
    - cryptofuzz::module::mbedTLS_detail::MPIToString
    - CF_ASSERT
    - mbedtls_ecdsa_sign
    - modifier::GetPtr
    - priv::ToString
    - mbedtls_ecp_curve_info_from_tls_id
    - mbedtls_mpi_free
    - mbedtls_ecdsa_verify
    - CF_CHECK_EQ
    - mbedtls_ecp_keypair_init
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - mbedtls_mpi_init
    - cleartext::ECDSA_RandomPad
    - auto::GetPtr
    - auto::GetSize
    - CF_NORET
    - cleartext::GetSize
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - cryptofuzz::module::mbedTLS_detail::toTLSID
    - digestType::Is
    - mbedtls_ecp_mul
    - CF_CHECK_NE
    - UseRandomNonce
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> mbedTLS::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1157,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1157,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1158,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1158,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1163,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1163,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1164,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1170,1
    - Dst: mbedtls_ecdsa_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1170,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1171,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1171,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1172,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1172,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1176,1
    - Dst: cryptofuzz::module::mbedTLS_detail::toTLSID
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1176,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1177,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1177,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1180,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1180,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1183,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1183,1
    - Dst: signature::pub::first::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1183,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1184,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1184,1
    - Dst: signature::pub::second::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1184,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1185,1
    - Dst: mbedtls_mpi_lset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1185,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1187,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1193,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1193,1
    - Dst: signature::signature::first::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1193,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1194,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1194,1
    - Dst: signature::signature::second::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1194,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1199,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1200,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1203,1
    - Dst: mbedtls_sha256
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1203,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1203,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1203,1
    - Dst: mbedtls_ecdsa_verify
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1204,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1207,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1209,1
    - Dst: mbedtls_ecdsa_verify
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1210,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1210,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1210,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1214,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1225,1
    - Dst: mbedtls_ecdsa_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1225,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1226,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1226,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1227,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1227,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1232
      start: 1156
    functionDepth: 2
    functionLinenumber: 1156
    functionLinenumberEnd: 1232
    functionName: cryptofuzz::module::mbedTLS::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_read_string
    - mbedtls_ecp_group_load
    - cleartext::GetPtr
    - CF_DIGEST
    - CF_UNREACHABLE
    - mbedtls_ecdsa_free
    - mbedtls_mpi_lset
    - modifier::GetPtr
    - signature::signature::second::ToString
    - mbedtls_ecdsa_init
    - mbedtls_ecp_curve_info_from_tls_id
    - mbedtls_mpi_free
    - signature::pub::second::ToString
    - mbedtls_ecdsa_verify
    - signature::signature::first::ToString
    - CF_CHECK_EQ
    - mbedtls_ecp_check_pubkey
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - mbedtls_mpi_init
    - cleartext::ECDSA_RandomPad
    - auto::GetPtr
    - auto::GetSize
    - CF_NORET
    - cleartext::GetSize
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - cryptofuzz::module::mbedTLS_detail::toTLSID
    - digestType::Is
    - signature::pub::first::ToString
    - digestType::Get
    - CF_CHECK_NE
    - mbedtls_sha256
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mbedTLS::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1236,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1236,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1237,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1241,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1242,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1243,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1244,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1248,1
    - Dst: mbedTLS_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1248,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1249,1
    - Dst: mbedTLS_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1249,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1249,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1250,1
    - Dst: mbedTLS_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1250,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1250,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1251,1
    - Dst: mbedTLS_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1251,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1251,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1252,1
    - Dst: mbedTLS_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1252,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1252,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1255,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1256,1
    - Dst: std::make_unique<mbedTLS_bignum::Add>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1257,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1259,1
    - Dst: std::make_unique<mbedTLS_bignum::Sub>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1260,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1262,1
    - Dst: std::make_unique<mbedTLS_bignum::Mul>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1263,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1265,1
    - Dst: std::make_unique<mbedTLS_bignum::Div>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1266,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1268,1
    - Dst: std::make_unique<mbedTLS_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1269,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1271,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1273,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1273,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1274,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1274,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1275,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1275,1
    - Dst: std::make_unique<mbedTLS_bignum::Sqr>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1277,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1279,1
    - Dst: std::make_unique<mbedTLS_bignum::GCD>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1280,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1282,1
    - Dst: std::make_unique<mbedTLS_bignum::InvMod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1283,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1285,1
    - Dst: std::make_unique<mbedTLS_bignum::Cmp>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1286,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1288,1
    - Dst: std::make_unique<mbedTLS_bignum::Abs>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1289,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1291,1
    - Dst: std::make_unique<mbedTLS_bignum::Neg>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1292,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1294,1
    - Dst: std::make_unique<mbedTLS_bignum::RShift>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1295,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1297,1
    - Dst: std::make_unique<mbedTLS_bignum::LShift1>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1298,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1300,1
    - Dst: std::make_unique<mbedTLS_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1301,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1303,1
    - Dst: std::make_unique<mbedTLS_bignum::IsEq>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1304,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1306,1
    - Dst: std::make_unique<mbedTLS_bignum::IsZero>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1307,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1309,1
    - Dst: std::make_unique<mbedTLS_bignum::IsOne>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1310,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1312,1
    - Dst: std::make_unique<mbedTLS_bignum::MulMod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1313,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1315,1
    - Dst: std::make_unique<mbedTLS_bignum::AddMod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1316,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1318,1
    - Dst: std::make_unique<mbedTLS_bignum::SubMod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1319,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1321,1
    - Dst: std::make_unique<mbedTLS_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1322,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1324,1
    - Dst: std::make_unique<mbedTLS_bignum::Bit>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1325,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1327,1
    - Dst: std::make_unique<mbedTLS_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1328,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1330,1
    - Dst: std::make_unique<mbedTLS_bignum::SetBit>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1331,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1333,1
    - Dst: std::make_unique<mbedTLS_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1334,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1336,1
    - Dst: std::make_unique<mbedTLS_bignum::Mod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1337,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1339,1
    - Dst: std::make_unique<mbedTLS_bignum::Set>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1340,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1342,1
    - Dst: std::make_unique<mbedTLS_bignum::NumLSZeroBits>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1343,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1347,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1348,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1348,1
    - Dst: mbedTLS_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1350,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1354,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 103
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1357
      start: 1234
    functionDepth: 3
    functionLinenumber: 1234
    functionLinenumberEnd: 1357
    functionName: cryptofuzz::module::mbedTLS::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - std::make_unique<mbedTLS_bignum::InvMod>
    - std::make_unique<mbedTLS_bignum::NumLSZeroBits>
    - std::make_unique<mbedTLS_bignum::Neg>
    - bn1::GetSize
    - std::make_unique<mbedTLS_bignum::IsZero>
    - std::make_unique<mbedTLS_bignum::SqrMod>
    - CF_CALCOP
    - bn2::ToString
    - modifier::GetPtr
    - std::make_unique<mbedTLS_bignum::Mul>
    - std::make_unique<mbedTLS_bignum::GCD>
    - std::make_unique<mbedTLS_bignum::CmpAbs>
    - std::make_unique<mbedTLS_bignum::Mod>
    - bn0::ToString
    - getBignum
    - std::make_unique<mbedTLS_bignum::Abs>
    - std::make_unique<mbedTLS_bignum::Set>
    - std::make_unique<mbedTLS_bignum::MulMod>
    - bn3::ToString
    - mbedTLS_bignum::Bignum::Set
    - std::make_unique<mbedTLS_bignum::IsEq>
    - bn0::GetSize
    - CF_CHECK_EQ
    - std::make_unique<mbedTLS_bignum::ClearBit>
    - std::make_unique<mbedTLS_bignum::Div>
    - bn2::GetSize
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - std::make_unique<mbedTLS_bignum::IsNeg>
    - bn1::ToString
    - calcOp::Get
    - std::make_unique<mbedTLS_bignum::SetBit>
    - std::make_unique<mbedTLS_bignum::Cmp>
    - mbedTLS_bignum::BignumCluster::Set
    - std::make_unique<mbedTLS_bignum::RShift>
    - mbedTLS_bignum::Bignum::ToComponentBignum
    - std::make_unique<mbedTLS_bignum::SubMod>
    - std::make_unique<mbedTLS_bignum::AddMod>
    - std::make_unique<mbedTLS_bignum::LShift1>
    - std::make_unique<mbedTLS_bignum::IsOne>
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - std::make_unique<mbedTLS_bignum::Sub>
    - CF_CHECK_NE
    - std::unique_ptr::Run
    - std::make_unique<mbedTLS_bignum::ExpMod>
    - modifier::GetSize
    - std::make_unique<mbedTLS_bignum::Sqr>
    - std::make_unique<mbedTLS_bignum::Add>
    - std::make_unique<mbedTLS_bignum::Bit>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> mbedTLS::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:20,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:22,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:28,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::convert
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_write_binary
    - Get
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void convert(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:37,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_init
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void Bignum(fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:41,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_free
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:47,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:47,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mbedtls_mpi_read_string
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtrConst
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_mpi
    signature: mbedtls_mpi * GetPtrConst(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::GetDestPtr
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_mpi
    signature: mbedtls_mpi * GetDestPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:63,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::convert
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::mbedTLS_bignum::Bignum::convert
    - CF_NORET
    linkageType: ''
    returnType: mbedtls_mpi
    signature: mbedtls_mpi * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:72,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:72,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:72,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:75,1
    - Dst: mbedtls_mpi_write_binary_le
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:75,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::GetUint32
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
    - CF_CHECK_EQ
    - mbedtls_mpi_write_binary_le
    - CF_CHECK_NE
    - mbedtls_mpi_cmp_int
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> GetUint32(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:86,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:86,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:86,1
    - Dst: Botan_Tests::get_test_instances_min
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:87,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:91,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:91,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:91,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:91,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:92,1
    - Dst: mbedtls_mpi_write_binary_le
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:92,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:92,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:93,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::To_mbedtls_mpi_sint
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
    - CF_CHECK_EQ
    - CF_CHECK_LTE
    - mbedtls_mpi_write_binary_le
    - Botan_Tests::get_test_instances_min
    - cryptofuzz::mutator::ExpModGenerator::max
    - mbedtls_mpi_cmp_int
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<mbedtls_mpi_sint>
    signature: std::optional<mbedtls_mpi_sint> To_mbedtls_mpi_sint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:106,1
    - Dst: mbedtls_mpi_write_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:106,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:108,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:110,1
    - Dst: mbedtls_mpi_write_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:110,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:112,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:113,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:115,1
    - Dst: free
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 121
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_write_string
    - CF_CHECK_EQ
    - free
    - malloc
    - strcmp
    - std::string
    - cryptofuzz::util::HexToDec
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:124,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:124,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: operator==(const Bignum& rhs) const
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtrConst
    - mbedtls_mpi_cmp_mpi
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Bignum& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' ds'
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - Datasource
    - Bignum
    - Bignum
    - Bignum
    - Bignum
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::mbedTLS_bignum::BignumCluster::BignumCluster
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster(Datasource& ds, Bignum bn0, Bignum bn1, Bignum bn2,
      Bignum bn3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:139,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:140,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 160
    functionName: '& operator[](const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - Get
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & operator[](const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:163,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: '& Get(const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & Get(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:171,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:172,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - index
    - s
    argTypes:
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: cryptofuzz::module::mbedTLS_bignum::BignumCluster::Set
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 1
    functionsReached:
    - abort
    - cryptofuzz::module::mbedTLS_bignum::BignumCluster::Set
    - size
    linkageType: ''
    returnType: bool
    signature: bool Set(const size_t index, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:15,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:15,1
    - Dst: size
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:15,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:15,1
    - Dst: size
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::Kryptology::Kryptology
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Kryptology::Kryptology(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Kryptology_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:23,1
    - Dst: free
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: cryptofuzz::module::Kryptology::getResult
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - Kryptology_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string Kryptology::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Kryptology::getResult
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:30,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:31,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:36,1
    - Dst: cryptofuzz::module::Kryptology::getResult
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:36,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::Kryptology::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::Kryptology::getResult
    - abort
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Kryptology::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Kryptology::getJsonResult
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:46,1
    - Dst: T
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::Kryptology::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Kryptology::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Kryptology::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:59,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:60,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:61,1
    - Dst: Kryptology_BignumCalc_bls12381_Fr
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:62,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:62,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:64,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:65,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:66,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:67,1
    - Dst: Kryptology_BignumCalc_bls12381_Fp
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:68,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:68,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:70,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:71,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:72,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:73,1
    - Dst: Kryptology_BignumCalc_k256_Fp
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:74,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:74,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::Kryptology::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - Kryptology_BignumCalc_bls12381_Fr
    - modulo::ToTrimmedString
    - toGoSlice
    - cryptofuzz::module::Kryptology::getResultAs
    - auto::dump
    - Kryptology_BignumCalc_bls12381_Fp
    - Kryptology_BignumCalc_k256_Fp
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Kryptology::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:84,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:84,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:85,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:86,1
    - Dst: Kryptology_ECC_Point_Add_k256
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:87,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:87,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:89,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:90,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:90,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:91,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:92,1
    - Dst: Kryptology_ECC_Point_Add_p256
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:93,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:93,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: cryptofuzz::module::Kryptology::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - CF_ECC_CURVE
    - Kryptology_ECC_Point_Add_p256
    - toGoSlice
    - cryptofuzz::module::Kryptology::getResultAs
    - auto::dump
    - Kryptology_ECC_Point_Add_k256
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Kryptology::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:102,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:102,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:103,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:104,1
    - Dst: Kryptology_ECC_Point_Mul_k256
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:105,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:105,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:107,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:108,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:108,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:109,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:110,1
    - Dst: Kryptology_ECC_Point_Mul_p256
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:111,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:111,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: cryptofuzz::module::Kryptology::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - Kryptology_ECC_Point_Mul_k256
    - CF_ECC_CURVE
    - toGoSlice
    - cryptofuzz::module::Kryptology::getResultAs
    - auto::dump
    - Kryptology_ECC_Point_Mul_p256
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Kryptology::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:120,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:120,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:121,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:122,1
    - Dst: Kryptology_ECC_Point_Dbl_k256
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:123,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:123,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:125,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:126,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:126,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:127,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:128,1
    - Dst: Kryptology_ECC_Point_Dbl_p256
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:129,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:129,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: cryptofuzz::module::Kryptology::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - Kryptology_ECC_Point_Dbl_k256
    - ToJSON
    - CF_ECC_CURVE
    - toGoSlice
    - cryptofuzz::module::Kryptology::getResultAs
    - auto::dump
    - Kryptology_ECC_Point_Dbl_p256
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Kryptology::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: cryptofuzz::module::Kryptology::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Kryptology::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/kryptology/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::Gnark_bn254::Gnark_bn254
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Gnark_bn254::Gnark_bn254(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Gnark_bn254_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Gnark_bn254::getResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 1
    functionsReached:
    - free
    - Gnark_bn254_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string Gnark_bn254::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Gnark_bn254::getResult
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:27,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:32,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResult
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Gnark_bn254::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::Gnark_bn254::getResult
    - abort
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Gnark_bn254::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Gnark_bn254::getJsonResult
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Gnark_bn254::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 14
    functionsReached:
    - T
    - cryptofuzz::module::Gnark_bn254::getJsonResult
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Gnark_bn254::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:55,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:56,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:56,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:57,1
    - Dst: Gnark_bn254_BLS_G1_Add
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:58,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:58,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - Gnark_bn254_BLS_G1_Add
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:64,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:65,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:65,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:66,1
    - Dst: Gnark_bn254_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:67,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:67,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - Gnark_bn254_BLS_G1_Mul
    - get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:73,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:74,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:74,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:75,1
    - Dst: Gnark_bn254_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:76,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:76,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Gnark_bn254_BLS_G1_Neg
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:82,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:83,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:83,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:84,1
    - Dst: Gnark_bn254_BLS_G2_Add
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:85,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:85,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - Gnark_bn254_BLS_G2_Add
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Gnark_bn254::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:91,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:92,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:92,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:93,1
    - Dst: Gnark_bn254_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:94,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:94,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - Gnark_bn254_BLS_G2_Mul
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Gnark_bn254::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:100,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:101,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:101,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:102,1
    - Dst: Gnark_bn254_BLS_G2_Neg
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:103,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:103,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - Gnark_bn254_BLS_G2_Neg
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Gnark_bn254::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:113,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:114,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:115,1
    - Dst: Gnark_bn254_BignumCalc_Fp
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:116,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:116,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:118,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:119,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:120,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:121,1
    - Dst: Gnark_bn254_BignumCalc_Fr
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:122,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:122,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: cryptofuzz::module::Gnark_bn254::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - Gnark_bn254_BignumCalc_Fr
    - modulo::ToTrimmedString
    - toGoSlice
    - auto::dump
    - Gnark_bn254_BignumCalc_Fp
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Gnark_bn254::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: cryptofuzz::module::Gnark_bn254::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Gnark_bn254::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::decred_uint256::decred_uint256
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void decred_uint256::decred_uint256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decred_uint256_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::decred_uint256::getResult
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - decred_uint256_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string decred_uint256::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::decred_uint256::getResult
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:27,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:32,1
    - Dst: cryptofuzz::module::decred_uint256::getResult
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::decred_uint256::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - abort
    - cryptofuzz::module::decred_uint256::getResult
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> decred_uint256::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::decred_uint256::getJsonResult
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::decred_uint256::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::decred_uint256::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> decred_uint256::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:56,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:60,1
    - Dst: decred_uint256_Cryptofuzz_OpBignumCalc
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:61,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:61,1
    - Dst: cryptofuzz::module::decred_uint256::getResultAs
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::decred_uint256::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::decred_uint256::getResultAs
    - modulo::ToTrimmedString
    - decred_uint256_Cryptofuzz_OpBignumCalc
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> decred_uint256::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::decred_uint256::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool decred_uint256::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:15,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:43,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:44,1
    - Dst: PyCallable_Check
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:44,1
    - Dst: static_cast<PyObject*>
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pModule
    - fn
    argTypes:
    - PyObject*
    - std::string
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: cryptofuzz::module::LoadPythonFunction
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 1
    functionsReached:
    - static_cast<PyObject*>
    - CF_ASSERT
    - PyCallable_Check
    linkageType: ''
    returnType: void
    signature: void * LoadPythonFunction(PyObject* pModule, const std::string fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PyTuple_New
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:54,1
    - Dst: PyBytes_FromStringAndSize
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:55,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:55,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:55,1
    - Dst: PyTuple_SetItem
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:57,1
    - Dst: PyObject_CallObject
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:58,1
    - Dst: static_cast<PyObject*>
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:58,1
    - Dst: PyErr_PrintEx
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:62,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:63,1
    - Dst: PyBytes_Check
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:66,1
    - Dst: PyBytes_AsStringAndSize
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:71,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:72,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:75,1
    - Dst: Py_DECREF
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:80,1
    - Dst: Py_DECREF
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pFunc
    - arg
    argTypes:
    - void*
    - std::string
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::RunPythonFunction
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - PyBytes_Check
    - std::string::c_str
    - PyTuple_New
    - PyBytes_AsStringAndSize
    - PyObject_CallObject
    - Py_DECREF
    - PyBytes_FromStringAndSize
    - abort
    - PyTuple_SetItem
    - std::string
    - PyErr_PrintEx
    - std::string::size
    - static_cast<PyObject*>
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> RunPythonFunction(void* pFunc, const std::string
      arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:93,1
    - Dst: setenv
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:93,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:93,1
    - Dst: fopen
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:100,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:100,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:101,1
    - Dst: fseek
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:103,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:105,1
    - Dst: fseek
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:107,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:108,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:109,1
    - Dst: fread
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:109,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:109,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:109,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:110,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:113,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:113,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:113,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:113,1
    - Dst: Py_DecodeLocale
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:117,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:117,1
    - Dst: Py_SetProgramName
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:118,1
    - Dst: PyMem_RawFree
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:119,1
    - Dst: Py_Initialize
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:123,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:132,1
    - Dst: PyRun_SimpleString
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:132,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:132,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:143,1
    - Dst: PyRun_SimpleString
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:143,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:143,1
    - Dst: PyModule_New
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:148,1
    - Dst: PyModule_AddStringConstant
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:149,1
    - Dst: PyModule_GetDict
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:150,1
    - Dst: PyRun_String
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:151,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:151,1
    - Dst: PyErr_PrintEx
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:153,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:154,1
    - Dst: Py_DECREF
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:156,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:158,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:159,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:160,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:161,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:162,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:163,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:164,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:165,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:166,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:167,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:168,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:169,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:170,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:171,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:172,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:173,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:174,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:175,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:176,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:177,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:178,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:179,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 181
    functionName: cryptofuzz::module::ConfigurePython
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - Py_DecodeLocale
    - std::string
    - PyModule_New
    - PyErr_PrintEx
    - Py_SetProgramName
    - CF_ASSERT
    - std::string::c_str
    - Py_DECREF
    - fclose
    - std::vector::resize
    - fopen
    - PyRun_SimpleString
    - std::vector::data
    - std::vector::size
    - PyMem_RawFree
    - PyModule_AddStringConstant
    - PyModule_GetDict
    - cryptofuzz::module::LoadPythonFunction
    - fseek
    - fread
    - static_cast<size_t>
    - setenv
    - PyRun_String
    - c_str
    - Py_Initialize
    linkageType: ''
    returnType: void
    signature: void ConfigurePython(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConfigurePython
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: cryptofuzz::module::py_ecc::py_ecc
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - ConfigurePython
    linkageType: ''
    returnType: void
    signature: void py_ecc::py_ecc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:189,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:189,1
    - Dst: component::BLS_PublicKey
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:193,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: cryptofuzz::module::py_ecc::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    - component::BLS_PublicKey
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> py_ecc::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:197,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:197,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: cryptofuzz::module::py_ecc::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> py_ecc::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:205,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:205,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: cryptofuzz::module::py_ecc::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> py_ecc::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:213,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:213,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:217,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: cryptofuzz::module::py_ecc::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> py_ecc::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:221,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:221,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:225,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG2
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: cryptofuzz::module::py_ecc::OpBLS_MapToG2
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> py_ecc::OpBLS_MapToG2(operation::BLS_MapToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dest::Get
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:230,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:234,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:234,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: cryptofuzz::module::py_ecc::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    - dest::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> py_ecc::OpBLS_Verify(operation::BLS_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dest::Get
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:243,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:250,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:250,1
    - Dst: cryptofuzz::component::BLS_Signature::BLS_Signature
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:254,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 255
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: cryptofuzz::module::py_ecc::OpBLS_Sign
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::component::BLS_Signature::BLS_Signature
    - ToJSON
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - RunPythonFunction
    - dest::Get
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> py_ecc::OpBLS_Sign(operation::BLS_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:261,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:261,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:264,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:272,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:275,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:275,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:279,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 280
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 280
    functionName: cryptofuzz::module::py_ecc::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - modulo::ToTrimmedString
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - RunPythonFunction
    - nlohmann::json::dump
    - getBignum
    - bn0::ToTrimmedString
    - calcOp::Get
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> py_ecc::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:283,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:283,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:287,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: cryptofuzz::module::py_ecc::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> py_ecc::OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:291,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:291,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:295,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: cryptofuzz::module::py_ecc::OpBLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - getBignum
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> py_ecc::OpBLS_Compress_G1(operation::BLS_Compress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:299,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:299,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:303,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: cryptofuzz::module::py_ecc::OpBLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> py_ecc::OpBLS_Decompress_G2(operation::BLS_Decompress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:307,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:307,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:311,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: cryptofuzz::module::py_ecc::OpBLS_Compress_G2
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> py_ecc::OpBLS_Compress_G2(operation::BLS_Compress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:315,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:315,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:319,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: cryptofuzz::module::py_ecc::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> py_ecc::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:323,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:323,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:327,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: cryptofuzz::module::py_ecc::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> py_ecc::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:331,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:331,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 336
    functionName: cryptofuzz::module::py_ecc::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> py_ecc::OpBLS_G1_IsEq(operation::BLS_G1_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:339,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:339,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:343,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: cryptofuzz::module::py_ecc::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> py_ecc::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:347,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:347,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:351,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: cryptofuzz::module::py_ecc::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> py_ecc::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:355,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:355,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:359,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: cryptofuzz::module::py_ecc::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> py_ecc::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:363,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:363,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: cryptofuzz::module::py_ecc::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> py_ecc::OpBLS_G2_IsEq(operation::BLS_G2_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:371,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:371,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:375,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: cryptofuzz::module::py_ecc::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - ToJSON
    - RunPythonFunction
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> py_ecc::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:379,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:379,1
    - Dst: operation::Get
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:381,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:385,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:386,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:387,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:388,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:389,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:389,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:395,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:396,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:397,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:398,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:399,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:400,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:401,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:401,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:407,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:408,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:409,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:410,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:411,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:412,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:413,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:414,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Misc
    constantsTouched: []
    func_position:
      end: 421
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 421
    functionName: cryptofuzz::module::py_ecc::OpMisc
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - RunPythonFunction
    - nlohmann::json::dump
    - Datasource::GetData
    - operation::Get
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> py_ecc::OpMisc(operation::Misc& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionName: cryptofuzz::module::py_ecc::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool py_ecc::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sodium_init
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:11,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:12,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 14
    functionName: cryptofuzz::module::libsodium::libsodium
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - sodium_init
    - abort
    linkageType: ''
    returnType: void
    signature: void libsodium::libsodium(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:21,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:21,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:25,1
    - Dst: crypto_hash_sha256
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:30,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:30,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:30,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:32,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:40,1
    - Dst: crypto_hash_sha256_init
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:40,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:41,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:46,1
    - Dst: crypto_hash_sha256_update
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:46,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:51,1
    - Dst: crypto_hash_sha256_final
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:51,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 60
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::libsodium::SHA256
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - crypto_hash_sha256_update
    - cleartext::GetPtr
    - crypto_hash_sha256_init
    - crypto_hash_sha256
    - crypto_hash_sha256_final
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> libsodium::SHA256(operation::Digest&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:67,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:67,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:71,1
    - Dst: crypto_hash_sha512
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:76,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:76,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:76,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:78,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:86,1
    - Dst: crypto_hash_sha512_init
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:86,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:87,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:92,1
    - Dst: crypto_hash_sha512_update
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:92,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:97,1
    - Dst: crypto_hash_sha512_final
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:97,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 106
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::libsodium::SHA512
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - crypto_hash_sha512_update
    - CF_CHECK_EQ
    - cleartext::GetSize
    - crypto_hash_sha512_final
    - cleartext::GetPtr
    - crypto_hash_sha512
    - crypto_hash_sha512_init
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> libsodium::SHA512(operation::Digest&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:109,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:110,1
    - Dst: cryptofuzz::module::libsodium::SHA256
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:111,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:112,1
    - Dst: cryptofuzz::module::libsodium::SHA512
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 5
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: cryptofuzz::module::libsodium::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libsodium::SHA256
    - digestType::Get
    - CF_DIGEST
    - cryptofuzz::module::libsodium::SHA512
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> libsodium::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:124,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:124,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:128,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:133,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:133,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:134,1
    - Dst: crypto_auth_hmacsha256
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:134,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:134,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:134,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:134,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:136,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:144,1
    - Dst: crypto_auth_hmacsha256_init
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:144,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:144,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:144,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:145,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:150,1
    - Dst: crypto_auth_hmacsha256_update
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:150,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:155,1
    - Dst: crypto_auth_hmacsha256_final
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:155,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 164
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 164
    functionName: cryptofuzz::module::libsodium::HMAC_SHA256
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - CF_CHECK_EQ
    - cleartext::GetSize
    - crypto_auth_hmacsha256_final
    - crypto_auth_hmacsha256_init
    - cleartext::GetPtr
    - crypto_auth_hmacsha256_update
    - generate_HMAC
    - modifier::GetSize
    - Datasource::Get
    - crypto_auth_hmacsha256
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libsodium::HMAC_SHA256(operation::HMAC&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:171,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:171,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:175,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:180,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:180,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:181,1
    - Dst: crypto_auth_hmacsha512
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:181,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:181,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:181,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:181,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:183,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:191,1
    - Dst: crypto_auth_hmacsha512_init
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:191,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:191,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:191,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:192,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:197,1
    - Dst: crypto_auth_hmacsha512_update
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:197,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:202,1
    - Dst: crypto_auth_hmacsha512_final
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:202,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 211
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 211
    functionName: cryptofuzz::module::libsodium::HMAC_SHA512
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_auth_hmacsha512_final
    - cipher::key::GetSize
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - CF_CHECK_EQ
    - cleartext::GetSize
    - crypto_auth_hmacsha512_init
    - crypto_auth_hmacsha512
    - cleartext::GetPtr
    - generate_HMAC
    - crypto_auth_hmacsha512_update
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libsodium::HMAC_SHA512(operation::HMAC&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:218,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:218,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:222,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:227,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:227,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:228,1
    - Dst: crypto_auth_hmacsha512256
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:228,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:228,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:228,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:228,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:238,1
    - Dst: crypto_auth_hmacsha512256_init
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:238,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:238,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:238,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:239,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:244,1
    - Dst: crypto_auth_hmacsha512256_update
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:244,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:249,1
    - Dst: crypto_auth_hmacsha512256_final
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 258
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 258
    functionName: cryptofuzz::module::libsodium::HMAC_SHA512256
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_auth_hmacsha512256_init
    - cipher::key::GetSize
    - modifier::GetPtr
    - crypto_auth_hmacsha512256
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - cryptofuzz::util::ToParts
    - crypto_auth_hmacsha512256_final
    - cleartext::GetPtr
    - modifier::GetSize
    - Datasource::Get
    - crypto_auth_hmacsha512256_update
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libsodium::HMAC_SHA512256(operation::HMAC&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:266,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:266,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:271,1
    - Dst: crypto_shorthash
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:271,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:271,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:271,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:271,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 282
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 282
    functionName: cryptofuzz::module::libsodium::SIPHASH64
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - crypto_shorthash
    - cleartext::GetPtr
    - generate_HMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libsodium::SIPHASH64(operation::HMAC&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:290,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:290,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:295,1
    - Dst: crypto_shorthash_siphashx24
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:295,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:295,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:295,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:295,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 306
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 306
    functionName: cryptofuzz::module::libsodium::SIPHASH128
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_shorthash_siphashx24
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - cleartext::GetPtr
    - generate_HMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libsodium::SIPHASH128(operation::HMAC&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:309,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:310,1
    - Dst: cryptofuzz::module::libsodium::HMAC_SHA256
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:311,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:312,1
    - Dst: cryptofuzz::module::libsodium::HMAC_SHA512
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:313,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:314,1
    - Dst: cryptofuzz::module::libsodium::HMAC_SHA512256
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:315,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:316,1
    - Dst: cryptofuzz::module::libsodium::SIPHASH64
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:317,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:318,1
    - Dst: cryptofuzz::module::libsodium::SIPHASH128
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 323
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 323
    functionName: cryptofuzz::module::libsodium::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libsodium::HMAC_SHA512
    - cryptofuzz::module::libsodium::SIPHASH64
    - digestType::Get
    - cryptofuzz::module::libsodium::HMAC_SHA512256
    - cryptofuzz::module::libsodium::HMAC_SHA256
    - CF_DIGEST
    - cryptofuzz::module::libsodium::SIPHASH128
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libsodium::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:331,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:332,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:334,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:336,1
    - Dst: crypto_kdf_hkdf_sha256_extract
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:336,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:338,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:339,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:340,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:341,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:343,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:345,1
    - Dst: crypto_kdf_hkdf_sha256_expand
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:345,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:348,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:349,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:351,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:354,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:356,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:358,1
    - Dst: crypto_kdf_hkdf_sha512_extract
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:358,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:360,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:361,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:362,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:363,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:365,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:367,1
    - Dst: crypto_kdf_hkdf_sha512_expand
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:367,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:370,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:371,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:373,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:381,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 385
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 385
    functionName: cryptofuzz::module::libsodium::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_kdf_hkdf_sha256_expand
    - salt::GetPtr
    - crypto_kdf_hkdf_sha512_extract
    - cryptofuzz::util::malloc
    - password::GetPtr
    - CF_CHECK_EQ
    - crypto_kdf_hkdf_sha512_expand
    - digestType::Get
    - info::GetSize
    - info::GetPtr
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - CF_DIGEST
    - cryptofuzz::util::free
    - crypto_kdf_hkdf_sha256_extract
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libsodium::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:417,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:418,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:421,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:421,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:423,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:423,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:424,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:424,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:428,1
    - Dst: encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:428,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:431,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:432,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:433,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:434,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:436,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:437,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:439,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:440,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:443,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:446,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:447,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:448,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 452
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 452
    functionName: cryptofuzz::module::libsodium_detail::AEAD::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - abort
    - cleartext::GetPtr
    - CF_CHECK_NE
    - encrypt
    - aad::GetPtr
    - cipher::iv::GetSize
    - aad::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::component::Ciphertext::Ciphertext
    - CF_CHECK_GTE
    - Buffer
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Encrypt(const operation::SymmetricEncrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:461,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:461,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:463,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:467,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:467,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:468,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:470,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:471,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:471,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:471,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:473,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:474,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:474,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:474,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:474,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:478,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:478,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:479,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:479,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:480,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:480,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:482,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:486,1
    - Dst: decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:486,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:492,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:493,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:494,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:495,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:497,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:500,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 504
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 504
    functionName: cryptofuzz::module::libsodium_detail::AEAD::Decrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - tag::GetSize
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - memcpy
    - component::Cleartext
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - tag::GetPtr
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - aad::GetPtr
    - aad::GetSize
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Decrypt(const operation::SymmetricDecrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_aes256gcm_encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - c
    - clen
    - m
    - mlen
    - ad
    - adlen
    - nsec
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 522
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 522
    functionName: cryptofuzz::module::libsodium_detail::encrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_aes256gcm_encrypt
    linkageType: ''
    returnType: int
    signature: "int encrypt(unsigned char *c,\n                unsigned long long
      *clen,\n                const unsigned char *m,\n                unsigned long
      long mlen,\n                const unsigned char *ad,\n                unsigned
      long long adlen,\n                const unsigned char *nsec,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_aes256gcm_decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - m
    - mlen
    - nsec
    - c
    - clen
    - ad
    - adlen
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 534
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 534
    functionName: cryptofuzz::module::libsodium_detail::decrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_aes256gcm_decrypt
    linkageType: ''
    returnType: int
    signature: "int decrypt(unsigned char *m,\n                unsigned long long
      *mlen,\n                unsigned char *nsec,\n                const unsigned
      char *c,\n                unsigned long long clen,\n                const unsigned
      char *ad,\n                unsigned long long adlen,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:554,1
    - Dst: crypto_aead_aes256gcm_beforenm
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:554,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:556,1
    - Dst: crypto_aead_aes256gcm_encrypt_afternm
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 9
    argNames:
    - c
    - clen
    - m
    - mlen
    - ad
    - adlen
    - nsec
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 562
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 562
    functionName: cryptofuzz::module::libsodium_detail::encrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - crypto_aead_aes256gcm_encrypt_afternm
    - crypto_aead_aes256gcm_beforenm
    linkageType: ''
    returnType: int
    signature: "int encrypt(unsigned char *c,\n                unsigned long long
      *clen,\n                const unsigned char *m,\n                unsigned long
      long mlen,\n                const unsigned char *ad,\n                unsigned
      long long adlen,\n                const unsigned char *nsec,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:575,1
    - Dst: crypto_aead_aes256gcm_beforenm
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:575,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:577,1
    - Dst: crypto_aead_aes256gcm_decrypt_afternm
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 9
    argNames:
    - m
    - mlen
    - nsec
    - c
    - clen
    - ad
    - adlen
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 582
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 582
    functionName: cryptofuzz::module::libsodium_detail::decrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - crypto_aead_aes256gcm_decrypt_afternm
    - crypto_aead_aes256gcm_beforenm
    linkageType: ''
    returnType: int
    signature: "int decrypt(unsigned char *m,\n                unsigned long long
      *mlen,\n                unsigned char *nsec,\n                const unsigned
      char *c,\n                unsigned long long clen,\n                const unsigned
      char *ad,\n                unsigned long long adlen,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_chacha20poly1305_encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - c
    - clen
    - m
    - mlen
    - ad
    - adlen
    - nsec
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 600
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 600
    functionName: cryptofuzz::module::libsodium_detail::encrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_chacha20poly1305_encrypt
    linkageType: ''
    returnType: int
    signature: "int encrypt(unsigned char *c,\n                unsigned long long
      *clen,\n                const unsigned char *m,\n                unsigned long
      long mlen,\n                const unsigned char *ad,\n                unsigned
      long long adlen,\n                const unsigned char *nsec,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_chacha20poly1305_decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - m
    - mlen
    - nsec
    - c
    - clen
    - ad
    - adlen
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 612
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 612
    functionName: cryptofuzz::module::libsodium_detail::decrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_chacha20poly1305_decrypt
    linkageType: ''
    returnType: int
    signature: "int decrypt(unsigned char *m,\n                unsigned long long
      *mlen,\n                unsigned char *nsec,\n                const unsigned
      char *c,\n                unsigned long long clen,\n                const unsigned
      char *ad,\n                unsigned long long adlen,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_chacha20poly1305_ietf_encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - c
    - clen
    - m
    - mlen
    - ad
    - adlen
    - nsec
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 630
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 630
    functionName: cryptofuzz::module::libsodium_detail::encrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_chacha20poly1305_ietf_encrypt
    linkageType: ''
    returnType: int
    signature: "int encrypt(unsigned char *c,\n                unsigned long long
      *clen,\n                const unsigned char *m,\n                unsigned long
      long mlen,\n                const unsigned char *ad,\n                unsigned
      long long adlen,\n                const unsigned char *nsec,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_chacha20poly1305_ietf_decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - m
    - mlen
    - nsec
    - c
    - clen
    - ad
    - adlen
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 642
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 642
    functionName: cryptofuzz::module::libsodium_detail::decrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_chacha20poly1305_ietf_decrypt
    linkageType: ''
    returnType: int
    signature: "int decrypt(unsigned char *m,\n                unsigned long long
      *mlen,\n                unsigned char *nsec,\n                const unsigned
      char *c,\n                unsigned long long clen,\n                const unsigned
      char *ad,\n                unsigned long long adlen,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_xchacha20poly1305_ietf_encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - c
    - clen
    - m
    - mlen
    - ad
    - adlen
    - nsec
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 660
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 660
    functionName: cryptofuzz::module::libsodium_detail::encrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_xchacha20poly1305_ietf_encrypt
    linkageType: ''
    returnType: int
    signature: "int encrypt(unsigned char *c,\n                unsigned long long
      *clen,\n                const unsigned char *m,\n                unsigned long
      long mlen,\n                const unsigned char *ad,\n                unsigned
      long long adlen,\n                const unsigned char *nsec,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_xchacha20poly1305_ietf_decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - m
    - mlen
    - nsec
    - c
    - clen
    - ad
    - adlen
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 672
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 672
    functionName: cryptofuzz::module::libsodium_detail::decrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_xchacha20poly1305_ietf_decrypt
    linkageType: ''
    returnType: int
    signature: "int decrypt(unsigned char *m,\n                unsigned long long
      *mlen,\n                unsigned char *nsec,\n                const unsigned
      char *c,\n                unsigned long long clen,\n                const unsigned
      char *ad,\n                unsigned long long adlen,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:680,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:681,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:683,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:683,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:686,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:691,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:693,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:697,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:699,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:702,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:704,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:707,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:709,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:712,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:714,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:714,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:715,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:715,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:716,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:716,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:717,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:718,1
    - Dst: crypto_stream_chacha20_ietf_xor_ic
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:718,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:718,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:718,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:718,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:718,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:719,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:719,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:719,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:720,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:724,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:725,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:727,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:727,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:728,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:728,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:729,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:729,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:730,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:731,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:731,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:732,1
    - Dst: crypto_stream_salsa20_xor
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:732,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:732,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:732,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:732,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:732,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:734,1
    - Dst: crypto_stream_salsa2012_xor
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:734,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:734,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:734,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:734,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:734,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:736,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:736,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:736,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:737,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:746,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 748
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 748
    functionName: cryptofuzz::module::libsodium::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - cipher::cipherType::Get
    - modifier::GetPtr
    - Buffer
    - Datasource::Get
    - CF_CHECK_EQ
    - crypto_stream_salsa20_xor
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - Encrypt
    - CF_CHECK_GTE
    - CF_CIPHER
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - cleartext::GetSize
    - crypto_stream_salsa2012_xor
    - crypto_stream_chacha20_ietf_xor_ic
    - cryptofuzz::component::Ciphertext::Ciphertext
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> libsodium::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:753,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:754,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:756,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:756,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:759,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:764,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:766,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:770,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:772,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:775,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:777,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:780,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:782,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:785,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:787,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:787,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:788,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:788,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:789,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:789,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:790,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:791,1
    - Dst: crypto_stream_chacha20_ietf_xor_ic
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:791,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:791,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:791,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:791,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:791,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:792,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:792,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:792,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:793,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:797,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:798,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:800,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:800,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:801,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:801,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:802,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:802,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:803,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:804,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:804,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:805,1
    - Dst: crypto_stream_salsa20_xor
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:805,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:805,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:805,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:805,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:805,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:807,1
    - Dst: crypto_stream_salsa2012_xor
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:807,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:807,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:807,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:807,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:807,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:809,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:809,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:809,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:810,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:819,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 821
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 821
    functionName: cryptofuzz::module::libsodium::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    - ciphertext::GetSize
    - cipher::cipherType::Get
    - modifier::GetPtr
    - component::Cleartext
    - Buffer
    - Datasource::Get
    - Decrypt
    - CF_CHECK_EQ
    - crypto_stream_salsa20_xor
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - CF_CIPHER
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - crypto_stream_salsa2012_xor
    - crypto_stream_chacha20_ietf_xor_ic
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> libsodium::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:827,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:827,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:828,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:829,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:830,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:830,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:831,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:831,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:832,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:833,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:834,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:837,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:838,1
    - Dst: crypto_pwhash
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:838,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:841,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:842,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:843,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:849,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 855
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 855
    functionName: cryptofuzz::module::libsodium::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - CF_CHECK_LTE
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - crypto_pwhash
    - salt::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libsodium::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:863,1
    - Dst: crypto_pwhash_scryptsalsa208sha256_ll
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:863,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:864,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:865,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:866,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:867,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:874,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 880
      start: 857
    functionDepth: 2
    functionLinenumber: 857
    functionLinenumberEnd: 880
    functionName: cryptofuzz::module::libsodium::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - crypto_pwhash_scryptsalsa208sha256_ll
    - password::GetPtr
    - CF_CHECK_EQ
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libsodium::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: cryptofuzz::module::faheel_BigInt::faheel_BigInt
    functionSourceFile: /src/cryptofuzz/modules/faheel-bigint/module.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void faheel_BigInt::faheel_BigInt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:14,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:14,1
    - Dst: BigInt
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:16,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:16,1
    - Dst: BigInt
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:17,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:17,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:20,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:21,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:24,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:27,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:30,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:31,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:31,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:32,1
    - Dst: abs
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:32,1
    - Dst: BigInt
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:32,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:35,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:36,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:36,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:37,1
    - Dst: abs
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:37,1
    - Dst: BigInt
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:37,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:41,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:42,1
    - Dst: BigInt
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:42,1
    - Dst: sqrt
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:43,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:46,1
    - Dst: abs
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:47,1
    - Dst: BigInt::to_string
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:54,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 63
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 63
    functionName: cryptofuzz::module::faheel_BigInt::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/faheel-bigint/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - bn0::GetSize
    - BigInt
    - bn0::ToString
    - abs
    - calcOp::Get
    - CF_CHECK_LTE
    - sqrt
    - BigInt::to_string
    - CF_CHECK_NE
    - CF_CHECK_GTE
    - bn1::ToString
    - modifier::GetSize
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> faheel_BigInt::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:33,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:35,1
    - Dst: BN_add
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:35,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:35,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:35,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:35,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:39,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:39,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:39,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:40,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:40,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:40,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:41,1
    - Dst: BN_uadd
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:41,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:41,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:41,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:41,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:46,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:47,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:49,1
    - Dst: BN_add_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:49,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:49,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:51,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 63
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 63
    functionName: cryptofuzz::module::OpenSSL_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_CHECK_EQ
    - BN_add_word
    - BN_uadd
    - GetPtr
    - Set
    - CF_CHECK_NE
    - BN_is_negative
    - Get
    - AsBN_ULONG
    - BN_add
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:69,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:71,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:71,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:71,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:71,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:71,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:79,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:79,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:79,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:80,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:80,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:80,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:81,1
    - Dst: BN_usub
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:81,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:81,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:81,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:81,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:87,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:88,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:90,1
    - Dst: BN_sub_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:90,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:90,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:92,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:92,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:98,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:98,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:98,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:99,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:99,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:99,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:100,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:100,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:100,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:100,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:101,1
    - Dst: bn_abs_sub_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:101,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:101,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:101,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:101,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 113
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 113
    functionName: cryptofuzz::module::OpenSSL_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_sub
    - BN_sub_word
    - GetDestPtr
    - CF_CHECK_EQ
    - bn_abs_sub_consttime
    - GetPtr
    - Set
    - CF_CHECK_NE
    - BN_is_negative
    - BN_usub
    - CF_CHECK_GTE
    - BN_cmp
    - Get
    - AsBN_ULONG
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:121,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:124,1
    - Dst: BN_mul
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:124,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:124,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:124,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:124,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:124,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:129,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:130,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:132,1
    - Dst: BN_mul_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:132,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:132,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:134,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 146
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 146
    functionName: cryptofuzz::module::OpenSSL_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mul
    - GetDestPtr
    - CF_CHECK_EQ
    - GetPtr
    - Set
    - CF_CHECK_NE
    - BN_mul_word
    - Get
    - AsBN_ULONG
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:153,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:155,1
    - Dst: BN_mod
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:155,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:155,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:155,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:155,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:155,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:160,1
    - Dst: BN_div
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:160,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:160,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:160,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:160,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:160,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:165,1
    - Dst: bn_div_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:165,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:165,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:165,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:165,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:165,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:168,1
    - Dst: BN_is_pow2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:168,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:168,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:169,1
    - Dst: BN_mod_pow2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:169,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:169,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:169,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:169,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:169,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:176,1
    - Dst: AsUint64
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:176,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:180,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:182,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:187,1
    - Dst: BN_num_bits_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:187,1
    - Dst: bn_mod_u16_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:190,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:190,1
    - Dst: SetUint32
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:191,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:197,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:198,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:199,1
    - Dst: BN_mod_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:201,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:201,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:205,1
    - Dst: SetUint32
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 219
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 219
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - SetUint32
    - BN_is_pow2
    - BN_num_bits_word
    - AsUint64
    - BN_num_bits
    - BN_div
    - BN_mod_pow2
    - GetPtr
    - AsBN_ULONG
    - GetDestPtr
    - CF_CHECK_EQ
    - CF_CHECK_LTE
    - bn_mod_u16_consttime
    - Get
    - BN_mod
    - CF_CHECK_NE
    - BN_mod_word
    - bn_div_consttime
    - CF_CHECK_GT
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:225,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: BN_mod_exp_mont
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: BN_mod_exp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    - Dst: BN_mod_exp_simple
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 254
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 254
    functionName: cryptofuzz::module::OpenSSL_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mod_exp_mont_consttime
    - GetDestPtr
    - CF_CHECK_EQ
    - BN_mod_exp_mont
    - BN_mod_exp_simple
    - GetPtr
    - BN_mod_exp
    - Get
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:261,1
    - Dst: BN_sqr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:261,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:261,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:261,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: cryptofuzz::module::OpenSSL_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - BN_sqr
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:276,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:278,1
    - Dst: BN_gcd
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:278,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:278,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:278,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:278,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:278,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:282,1
    - Dst: BN_gcd_ct
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:282,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:282,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:282,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:282,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 293
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 293
    functionName: cryptofuzz::module::OpenSSL_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_CHECK_EQ
    - BN_gcd
    - GetPtr
    - BN_gcd_ct
    - Get
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:299,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: BN_mod_add
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:307,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:307,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:310,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:310,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:310,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:310,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:311,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:311,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:311,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:311,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:312,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:312,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:312,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:312,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:313,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:313,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:313,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:313,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:314,1
    - Dst: BN_mod_add_quick
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:314,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:314,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:314,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:314,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 327
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 327
    functionName: cryptofuzz::module::OpenSSL_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - Bignum::New
    - GetDestPtr
    - Bignum::GetPtr
    - CF_CHECK_EQ
    - GetPtr
    - BN_mod_add_quick
    - BN_cmp
    - CF_CHECK_GTE
    - BN_mod_add
    - Get
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:333,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: BN_mod_sub
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:340,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:340,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:343,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:343,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:343,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:343,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:344,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:344,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:344,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:344,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:345,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:345,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:345,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:345,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:346,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:346,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:346,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:346,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:347,1
    - Dst: BN_mod_sub_quick
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:347,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:347,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:347,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:347,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 358
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 358
    functionName: cryptofuzz::module::OpenSSL_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - Bignum::New
    - GetDestPtr
    - Bignum::GetPtr
    - CF_CHECK_EQ
    - BN_mod_sub_quick
    - GetPtr
    - BN_cmp
    - CF_CHECK_GTE
    - Get
    - BN_mod_sub
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:364,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    - Dst: BN_mod_mul
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 377
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 377
    functionName: cryptofuzz::module::OpenSSL_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - BN_mod_mul
    - CF_CHECK_EQ
    - GetPtr
    - Get
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:383,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:385,1
    - Dst: BN_mod_sqr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:385,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:385,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:385,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:385,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: cryptofuzz::module::OpenSSL_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_CHECK_EQ
    - GetPtr
    - BN_mod_sqr
    - Get
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:402,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:404,1
    - Dst: BN_mod_inverse
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:404,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:404,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:404,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:404,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:404,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:410,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:410,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:410,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:410,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:411,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:411,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:411,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:412,1
    - Dst: BN_mod_inverse_odd
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:412,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:412,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:412,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:412,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 425
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 425
    functionName: cryptofuzz::module::OpenSSL_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - GetDestPtr
    - CF_CHECK_EQ
    - GetPtr
    - CF_CHECK_NE
    - BN_mod_inverse_odd
    - BN_is_odd
    - BN_cmp
    - Get
    - BN_mod_inverse
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:434,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:436,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:436,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:436,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:440,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:440,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:440,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:441,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:441,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:441,1
    - Dst: BN_ucmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:442,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:442,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:442,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:448,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:449,1
    - Dst: BN_cmp_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:450,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:450,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:471,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:471,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 477
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 477
    functionName: cryptofuzz::module::OpenSSL_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_cmp_word
    - std::to_string
    - BN_ucmp
    - CF_CHECK_EQ
    - GetPtr
    - Set
    - CF_CHECK_NE
    - BN_is_negative
    - BN_cmp
    - Get
    - AsBN_ULONG
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:485,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:487,1
    - Dst: BN_div
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:487,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:487,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:487,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:487,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:487,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:491,1
    - Dst: bn_div_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:491,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:491,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:491,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:491,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:491,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:496,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:497,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:499,1
    - Dst: BN_div_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:499,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:499,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:500,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 512
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 512
    functionName: cryptofuzz::module::OpenSSL_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_CHECK_EQ
    - GetPtr
    - Set
    - CF_CHECK_NE
    - BN_div_word
    - bn_div_consttime
    - BN_div
    - Get
    - AsBN_ULONG
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:525,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 533
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 533
    functionName: cryptofuzz::module::OpenSSL_bignum::IsPrime::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsPrime::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:540,1
    - Dst: BN_sqrt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:540,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:540,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:540,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 552
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 552
    functionName: cryptofuzz::module::OpenSSL_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - BN_sqrt
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:558,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:558,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:558,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 561
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 561
    functionName: cryptofuzz::module::OpenSSL_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - BN_is_negative
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:570,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:572,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:572,1
    - Dst: BN_equal_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:572,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:572,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:572,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:576,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:577,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:578,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:578,1
    - Dst: BN_is_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:578,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 595
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 595
    functionName: cryptofuzz::module::OpenSSL_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - GetPtr
    - CF_CHECK_NE
    - BN_is_word
    - BN_equal_consttime
    - Get
    - AsBN_ULONG
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:601,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:601,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:601,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: cryptofuzz::module::OpenSSL_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - BN_is_odd
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:610,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:610,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:610,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: cryptofuzz::module::OpenSSL_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - BN_is_odd
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:619,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:619,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:619,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 622
    functionName: cryptofuzz::module::OpenSSL_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - std::to_string
    - BN_is_zero
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:628,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:628,1
    - Dst: BN_is_one
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:628,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: cryptofuzz::module::OpenSSL_bignum::IsOne::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - BN_is_one
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsOne::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:644,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:646,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 652
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 652
    functionName: cryptofuzz::module::OpenSSL_bignum::Jacobi::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - CF_CHECK_NE
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool Jacobi::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:660,1
    - Dst: BN_nist_mod_192
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:660,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:660,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:660,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:660,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 666
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 666
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_192::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - BN_nist_mod_192
    - GetDestPtr
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_192::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:672,1
    - Dst: BN_nist_mod_224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:672,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:672,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:672,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:672,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 678
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 678
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_224::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - BN_nist_mod_224
    - GetDestPtr
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_224::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:684,1
    - Dst: BN_nist_mod_256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:684,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:684,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:684,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:684,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_256::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - BN_nist_mod_256
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_256::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:696,1
    - Dst: BN_nist_mod_384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:696,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:696,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:696,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:696,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 702
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 702
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_384::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - BN_nist_mod_384
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_384::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:708,1
    - Dst: BN_nist_mod_521
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:708,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:708,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:708,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:708,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 714
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 714
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_521::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - BN_nist_mod_521
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_521::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:724,1
    - Dst: BN_is_prime_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:724,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:724,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:724,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:725,1
    - Dst: BN_mod_sqrt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:725,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:725,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:725,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:725,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 738
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 738
    functionName: cryptofuzz::module::OpenSSL_bignum::SqrtMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mod_sqrt
    - GetDestPtr
    - BN_is_prime_ex
    - CF_CHECK_EQ
    - GetPtr
    - CF_CHECK_NE
    linkageType: ''
    returnType: bool
    signature: bool SqrtMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:745,1
    - Dst: bn_lcm_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:745,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:745,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:745,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:745,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 751
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 751
    functionName: cryptofuzz::module::OpenSSL_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - bn_lcm_consttime
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:759,1
    - Dst: BN_exp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:759,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:759,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:759,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:759,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 771
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 771
    functionName: cryptofuzz::module::OpenSSL_bignum::Exp::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - BN_exp
    linkageType: ''
    returnType: bool
    signature: bool Exp::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:780,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:780,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:782,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:782,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:784,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:786,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:786,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:786,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:786,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:786,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:789,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:789,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:789,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:789,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:789,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:790,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:790,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:790,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:790,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:790,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:797,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:797,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:797,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:797,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: cryptofuzz::module::OpenSSL_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_sub
    - Bignum::New
    - GetDestPtr
    - Bignum::GetPtr
    - CF_CHECK_EQ
    - BN_copy
    - GetPtr
    - CF_CHECK_NE
    - BN_is_negative
    - Get
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:812,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:812,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:814,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:816,1
    - Dst: BN_rshift
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:816,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:816,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:816,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:823,1
    - Dst: BN_rshift1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:823,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:823,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 834
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 834
    functionName: cryptofuzz::module::OpenSSL_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - AsInt
    - CF_CHECK_EQ
    - GetPtr
    - CF_CHECK_NE
    - BN_rshift
    - Get
    - BN_rshift1
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:842,1
    - Dst: BN_lshift1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:842,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:842,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 852
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 852
    functionName: cryptofuzz::module::OpenSSL_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - BN_lshift1
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:860,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:860,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:862,1
    - Dst: BN_set_bit
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:862,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:862,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:863,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:863,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:863,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 869
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 869
    functionName: cryptofuzz::module::OpenSSL_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - AsInt
    - CF_CHECK_EQ
    - BN_copy
    - BN_set_bit
    - GetPtr
    - CF_CHECK_NE
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:877,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:877,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:879,1
    - Dst: BN_clear_bit
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:879,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:879,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:880,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:880,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:880,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 886
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 886
    functionName: cryptofuzz::module::OpenSSL_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - AsInt
    - CF_CHECK_EQ
    - BN_copy
    - GetPtr
    - CF_CHECK_NE
    - BN_clear_bit
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:894,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:894,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:896,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:896,1
    - Dst: BN_is_bit_set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:896,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 902
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 902
    functionName: cryptofuzz::module::OpenSSL_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_bit_set
    - std::to_string
    - AsInt
    - Set
    - GetPtr
    - CF_CHECK_NE
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:917,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 920
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 920
    functionName: cryptofuzz::module::OpenSSL_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:930,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:930,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:932,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:934,1
    - Dst: BN_mod_lshift
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:934,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:934,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:934,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:934,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:934,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:938,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:938,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:938,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:939,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:939,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:939,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:939,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:940,1
    - Dst: BN_mod_lshift_quick
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:940,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:940,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:940,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:940,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:943,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:944,1
    - Dst: BN_mod_lshift1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:944,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:944,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:944,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:944,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:944,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:947,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:949,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:949,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:949,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:950,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:950,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:950,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:950,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:951,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:951,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:951,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:951,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:951,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 961
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 961
    functionName: cryptofuzz::module::OpenSSL_bignum::ModLShift::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - GetDestPtr
    - BN_mod_lshift1
    - AsInt
    - CF_CHECK_EQ
    - BN_mod_lshift1_quick
    - GetPtr
    - CF_CHECK_NE
    - BN_is_negative
    - BN_cmp
    - BN_mod_lshift
    - BN_mod_lshift_quick
    - Get
    linkageType: ''
    returnType: bool
    signature: bool ModLShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:969,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:969,1
    - Dst: BN_is_pow2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:969,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 978
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 978
    functionName: cryptofuzz::module::OpenSSL_bignum::IsPow2::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - BN_is_pow2
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsPow2::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:987,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:987,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:988,1
    - Dst: BN_mask_bits
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:988,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:988,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:989,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 995
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 995
    functionName: cryptofuzz::module::OpenSSL_bignum::Mask::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - AsInt
    - CF_CHECK_EQ
    - BN_mask_bits
    - Set
    - CF_CHECK_NE
    linkageType: ''
    returnType: bool
    signature: bool Mask::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::wolfCrypt_OpenSSL
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wolfCrypt_OpenSSL::wolfCrypt_OpenSSL(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:27,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:27,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:28,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:28,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:29,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:29,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:30,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:30,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:31,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:31,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:32,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:32,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:33,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:33,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:34,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:34,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:35,1
    - Dst: EVP_sha512_256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:35,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:37,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:37,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:38,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:38,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:39,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:39,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:40,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:40,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:41,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:41,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:42,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:42,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:43,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:43,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:44,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:44,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:45,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:45,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:46,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:46,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:47,1
    - Dst: EVP_sm3
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:47,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:48,1
    - Dst: EVP_gostr341194
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:48,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:49,1
    - Dst: EVP_gost2814789imit
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:49,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:50,1
    - Dst: EVP_streebog256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:50,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:51,1
    - Dst: EVP_streebog512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:51,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:53,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:53,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:54,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:54,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:55,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:55,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:56,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:56,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:57,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:57,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:58,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:58,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:59,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:59,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:60,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:60,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:61,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:61,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:62,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:62,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:63,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:63,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:65,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:65,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:66,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:66,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:67,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:67,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:68,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:68,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:69,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:69,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:70,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:70,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:71,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:71,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:72,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:72,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:73,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:73,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:74,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:74,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:75,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:75,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:76,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:76,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:77,1
    - Dst: EVP_blake2b512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:77,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:78,1
    - Dst: EVP_blake2s256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:78,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:80,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:80,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:81,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:81,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:82,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:82,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:83,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:83,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:84,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:84,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:85,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:85,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:86,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:86,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:87,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:87,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:88,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:88,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:90,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:90,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:91,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:91,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:92,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:92,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:93,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:93,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:94,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:94,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:95,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:95,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:96,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:96,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:97,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:97,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:98,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:98,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:99,1
    - Dst: EVP_sha3_224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:99,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:100,1
    - Dst: EVP_sha3_256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:100,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:101,1
    - Dst: EVP_sha3_384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:101,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:102,1
    - Dst: EVP_sha3_512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:102,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:105,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:105,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:106,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:106,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:107,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:107,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:108,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:108,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:109,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:109,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:110,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:110,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:111,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:111,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:112,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:112,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:113,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:113,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:114,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:114,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:115,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:115,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:116,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:116,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:117,1
    - Dst: EVP_sm3
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:117,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:118,1
    - Dst: EVP_blake2b512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:118,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:119,1
    - Dst: EVP_blake2s256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:119,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:120,1
    - Dst: EVP_shake128
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:120,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:121,1
    - Dst: EVP_shake256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:121,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:122,1
    - Dst: EVP_sha3_224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:122,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:123,1
    - Dst: EVP_sha3_256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:123,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:124,1
    - Dst: EVP_sha3_384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:124,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:125,1
    - Dst: EVP_sha3_512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:125,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:126,1
    - Dst: EVP_sha512_224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:126,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:127,1
    - Dst: EVP_sha512_256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:127,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:131,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:131,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:131,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:135,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 136
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_whirlpool
    - std::map::at
    - EVP_md4
    - CF_DIGEST
    - EVP_sha3_224
    - EVP_sha3_512
    - EVP_blake2b512
    - EVP_sha512
    - EVP_sha3_384
    - std::map::find
    - EVP_sha512_224
    - EVP_mdc2
    - EVP_streebog256
    - EVP_sha384
    - EVP_shake128
    - EVP_shake256
    - EVP_sha1
    - EVP_md5
    - std::map::end
    - EVP_blake2s256
    - EVP_gostr341194
    - EVP_sha3_256
    - EVP_ripemd160
    - EVP_sm3
    - EVP_md2
    - EVP_sha512_256
    - EVP_sha256
    - EVP_sha224
    - EVP_streebog512
    - EVP_md5_sha1
    - EVP_gost2814789imit
    - Get
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD * toEVPMD(const component::DigestType& digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:141,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:141,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:150,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:151,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:151,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:152,1
    - Dst: EVP_DigestInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:152,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:152,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:157,1
    - Dst: EVP_DigestUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:157,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:157,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:164,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:164,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:164,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 171
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 171
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - CF_CHECK_EQ
    - CF_EVP_MD_CTX::GetPtr
    - EVP_DigestInit_ex
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
    - CF_CHECK_NE
    - EVP_DigestUpdate
    - EVP_DigestFinal_ex
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> wolfCrypt_OpenSSL::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:185,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:187,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:187,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:188,1
    - Dst: EVP_PKEY_new_mac_key
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:188,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:188,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:188,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:189,1
    - Dst: EVP_DigestSignInit
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:189,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:189,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:194,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:194,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:194,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:201,1
    - Dst: EVP_DigestSignFinal
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:201,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:201,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:203,1
    - Dst: EVP_PKEY_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_EVP
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - EVP_DigestSignInit
    - CF_CHECK_EQ
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
    - EVP_DigestSignUpdate
    - CF_CHECK_NE
    - EVP_PKEY_new_mac_key
    - EVP_DigestSignFinal
    - generate_HMAC
    - CF_EVP_MD_CTX::GetPtr
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpHMAC_EVP(operation::HMAC& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:222,1
    - Dst: HMAC_CTX_reset
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:224,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:224,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:225,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:225,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:226,1
    - Dst: HMAC_Init_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:226,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:226,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:226,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:226,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:231,1
    - Dst: HMAC_Update
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:231,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:231,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:238,1
    - Dst: HMAC_Final
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:238,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:238,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 245
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 245
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_HMAC
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - HMAC_Final
    - HMAC_CTX_reset
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - HMAC_Update
    - CF_CHECK_EQ
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
    - CF_HMAC_CTX::GetPtr
    - CF_CHECK_NE
    - generate_HMAC
    - HMAC_Init_ex
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpHMAC_HMAC(operation::HMAC& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:249,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:249,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:252,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:252,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:253,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:253,1
    - Dst: cryptofuzz::module::OpenSSL_detail::SipHash
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:255,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:261,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_EVP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:267,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:269,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:273,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_EVP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 280
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 280
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_EVP
    - digestType::Get
    - cryptofuzz::module::OpenSSL_detail::SipHash
    - CF_DIGEST
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_HMAC
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> wolfCrypt_OpenSSL::OpHMAC(operation::HMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:287,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:288,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:289,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:290,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:291,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:292,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:293,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:294,1
    - Dst: EVP_aes_128_ctr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:295,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:296,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:297,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:298,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:299,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:300,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:301,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:302,1
    - Dst: EVP_aes_128_xts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:303,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:304,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:305,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:306,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:307,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:308,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:309,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:310,1
    - Dst: EVP_aes_192_ctr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:311,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:312,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:313,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:314,1
    - Dst: EVP_aes_192_gcm
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:315,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:316,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:317,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:318,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:319,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:320,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:321,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:322,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:323,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:324,1
    - Dst: EVP_aes_256_ctr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:325,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:326,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:327,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:328,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:329,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:330,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:331,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:332,1
    - Dst: EVP_aes_256_xts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:333,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:334,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:335,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:336,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:337,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:338,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:339,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:340,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 1
    argNames:
    - cipherType
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 345
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 345
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_des_ecb
    - EVP_aes_192_cfb1
    - EVP_aes_128_xts
    - EVP_aes_128_ofb
    - EVP_aes_192_ofb
    - EVP_des_ede3_cbc
    - EVP_aes_256_xts
    - EVP_aes_256_ecb
    - EVP_aes_128_ctr
    - EVP_aes_256_gcm
    - EVP_aes_128_cfb8
    - EVP_aes_192_gcm
    - EVP_aes_192_cfb8
    - EVP_aes_192_ctr
    - EVP_aes_256_ctr
    - EVP_aes_128_cfb1
    - EVP_aes_192_ecb
    - EVP_aes_256_ofb
    - EVP_aes_256_cfb8
    - EVP_aes_128_gcm
    - EVP_aes_256_cbc
    - CF_CIPHER
    - component::SymmetricCipherType::Get
    - EVP_aes_128_ecb
    - EVP_aes_192_cbc
    - EVP_aes_128_cbc
    - EVP_aes_256_cfb1
    - EVP_des_cbc
    - EVP_rc4
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER * toEVPCIPHER(const component::SymmetricCipherType cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_flags
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_flags
    linkageType: ''
    returnType: bool
    signature: bool isAEAD(const EVP_CIPHER* ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:358,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:375,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cipherType
    - cipher
    - ctx
    - inputIvLength
    argTypes:
    - uint64_t
    - EVP_CIPHER*
    - EVP_CIPHER_CTX*
    - size_t
    constantsTouched: []
    func_position:
      end: 382
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 382
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetIVLength
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
    - EVP_CIPHER_CTX_ctrl
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool checkSetIVLength(const uint64_t cipherType, const EVP_CIPHER*
      cipher, EVP_CIPHER_CTX* ctx, const size_t inputIvLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:392,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - cipher
    - ctx
    - inputKeyLength
    argTypes:
    - EVP_CIPHER*
    - EVP_CIPHER_CTX*
    - size_t
    constantsTouched: []
    func_position:
      end: 399
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 399
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetKeyLength
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - EVP_CIPHER_CTX_set_key_length
    linkageType: ''
    returnType: bool
    signature: bool checkSetKeyLength(const EVP_CIPHER* cipher, EVP_CIPHER_CTX* ctx,
      const size_t inputKeyLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:416,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:416,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:422,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:422,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:425,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:425,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:425,1
    - Dst: cryptofuzz::util::CipherInputTransform
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:431,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:431,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:431,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:434,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:434,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:438,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:438,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:440,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:444,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:444,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:445,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetIVLength
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:445,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:445,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:445,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:445,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:447,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:447,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:449,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetKeyLength
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:449,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:449,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:449,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:451,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:451,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:452,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:452,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:452,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:452,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:452,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:456,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:457,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:457,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:457,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:458,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:458,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:458,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:458,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:462,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:462,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:463,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:463,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:463,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:472,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:472,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:474,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:474,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:474,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:474,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:481,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:481,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:481,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:487,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:487,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:490,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:490,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:490,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:498,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:498,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:498,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:501,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:501,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:501,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:510,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:510,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:510,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:511,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:511,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:511,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:513,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:513,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:519,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:520,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 523
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 523
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpSymmetricEncrypt_EVP
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
    - memset
    - cleartext::GetPtr
    - CF_EVP_CIPHER_CTX::GetPtr
    - cipher::cipherType::Get
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_block_size
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetKeyLength
    - aad::GetSize
    - Buffer
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
    - EVP_EncryptInit_ex
    - cryptofuzz::repository::IsECB
    - CF_CHECK_EQ
    - memcpy
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetIVLength
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - EVP_CIPHER_CTX_ctrl
    - cleartext::GetSize
    - static_cast<size_t>
    - EVP_EncryptFinal_ex
    - CF_CHECK_NE
    - aad::GetPtr
    - EVP_EncryptUpdate
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cryptofuzz::util::CipherInputTransform
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpSymmetricEncrypt_EVP(operation::SymmetricEncrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:528,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:528,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpSymmetricEncrypt_EVP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 4
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpSymmetricEncrypt_EVP
    - modifier::GetSize
    - modifier::GetPtr
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> wolfCrypt_OpenSSL::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:548,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:548,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:554,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:554,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:556,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:556,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:556,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:563,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:563,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:566,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:566,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:570,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:570,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:572,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:576,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:576,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:577,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetIVLength
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:577,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:577,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:577,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:577,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:579,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:579,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:581,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetKeyLength
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:581,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:581,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:581,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:583,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:583,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:584,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:584,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:584,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:584,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:584,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:588,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:589,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:589,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:589,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:590,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:590,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:590,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:590,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:594,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:594,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:595,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:595,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:595,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:604,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:604,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:606,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:606,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:606,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:606,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:613,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:613,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:613,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:619,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:619,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:622,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:622,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:622,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:629,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:629,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:629,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:629,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:629,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:635,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:635,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:635,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:638,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:638,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:638,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:641,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:646,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 649
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 649
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpSymmetricDecrypt_EVP
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
    - memset
    - ciphertext::GetSize
    - CF_EVP_CIPHER_CTX::GetPtr
    - cipher::cipherType::Get
    - component::Cleartext
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_block_size
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetKeyLength
    - aad::GetSize
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
    - cryptofuzz::repository::IsECB
    - CF_CHECK_EQ
    - EVP_DecryptInit_ex
    - memcpy
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetIVLength
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - EVP_DecryptUpdate
    - tag::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - EVP_CIPHER_CTX_ctrl
    - static_cast<size_t>
    - EVP_DecryptFinal_ex
    - CF_CHECK_NE
    - tag::GetPtr
    - aad::GetPtr
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpSymmetricDecrypt_EVP(operation::SymmetricDecrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:654,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:654,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpSymmetricDecrypt_EVP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetSize
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpSymmetricDecrypt_EVP
    - modifier::GetPtr
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> wolfCrypt_OpenSSL::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:660,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:660,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:669,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:671,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:671,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:672,1
    - Dst: CMAC_Init
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:672,1
    - Dst: CF_CMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:672,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:672,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:672,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:677,1
    - Dst: CMAC_Update
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:677,1
    - Dst: CF_CMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:677,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:684,1
    - Dst: CMAC_Final
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:684,1
    - Dst: CF_CMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:684,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 690
      start: 658
    functionDepth: 4
    functionLinenumber: 658
    functionLinenumberEnd: 690
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - CF_CHECK_EQ
    - CF_CHECK_NE
    - generate_HMAC
    - CF_CMAC_CTX::GetPtr
    - CMAC_Update
    - CMAC_Init
    - modifier::GetSize
    - CMAC_Final
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> wolfCrypt_OpenSSL::OpCMAC(operation::CMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:702,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:702,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:703,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:703,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:704,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:704,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:705,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:705,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:706,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:706,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:706,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:706,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:707,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:707,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:707,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:707,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:708,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:708,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:708,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:708,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:713,1
    - Dst: EVP_PKEY_derive
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:713,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:715,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:717,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:721,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 726
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 726
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set1_hkdf_key
    - info::GetSize
    - EVP_PKEY_CTX_set1_hkdf_salt
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    - password::GetPtr
    - info::GetPtr
    - cryptofuzz::tests::test_ECC_PrivateKey
    - EVP_PKEY_derive_init
    - salt::GetSize
    - CF_CHECK_EQ
    - EVP_PKEY_CTX_add1_hkdf_info
    - password::GetSize
    - cryptofuzz::util::free
    - salt::GetPtr
    - EVP_PKEY_CTX_set_hkdf_md
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> wolfCrypt_OpenSSL::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:735,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:735,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:736,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:736,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:737,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:738,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:739,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:740,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:746,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 751
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 751
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - PKCS5_PBKDF2_HMAC
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
    - password::GetSize
    - CF_CHECK_NE
    - salt::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> wolfCrypt_OpenSSL::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:755,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:756,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:757,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:758,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:759,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:760,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:761,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:762,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:763,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:764,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:765,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:766,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:767,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:768,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:769,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:770,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:771,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:772,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:773,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:774,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:775,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:776,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:777,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:778,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:779,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:780,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:781,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:784,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:784,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:784,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:788,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 789
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 789
    functionName: cryptofuzz::module::toCurveNID
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - CF_ECC_CURVE
    - std::map::at
    - Get
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> toCurveNID(const component::CurveType& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:793,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:793,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:802,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:802,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:803,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:803,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:804,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:805,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:805,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:808,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:808,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:808,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:808,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:811,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:811,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:812,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:812,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:819,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:819,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:820,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:821,1
    - Dst: pub::first::IsLessThan
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:821,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:822,1
    - Dst: pub::second::IsLessThan
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:822,1
    - Dst: EC_KEY_set_public_key
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:826,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:826,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 829
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 829
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - std::unique_ptr::GetPtr
    - std::shared_ptr::Lock
    - pub::second::IsLessThan
    - std::shared_ptr::GetPtr
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - EC_KEY_set_public_key
    - cryptofuzz::repository::ECC_CurveToOrder
    - std::unique_ptr::Set
    - CF_CHECK_EQ
    - CF_EC_KEY::GetPtr
    - CF_CHECK_TRUE
    - pub::first::IsLessThan
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> wolfCrypt_OpenSSL::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:833,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:833,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:848,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:848,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:849,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:849,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:850,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:851,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:851,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:854,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:854,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:854,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:854,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:857,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:857,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:857,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:860,1
    - Dst: EC_KEY_set_private_key
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:860,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:860,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:860,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:863,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:863,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:864,1
    - Dst: EC_POINT_mul
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:864,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:864,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:864,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:864,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:866,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:866,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:867,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:867,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:869,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:869,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:869,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:869,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:869,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:869,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:872,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:872,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:872,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:873,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:873,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:873,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:876,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:876,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:880,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 884
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 884
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - std::unique_ptr::GetPtr
    - OpenSSL_bignum::Bignum::GetDestPtr
    - std::shared_ptr::Lock
    - OPENSSL_free
    - std::string
    - OpenSSL_bignum::Bignum::GetPtr
    - std::shared_ptr::GetPtr
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - EC_POINT_get_affine_coordinates
    - priv::ToString
    - EC_POINT_mul
    - OpenSSL_bignum::Bignum::Set
    - CF_CHECK_EQ
    - CF_EC_KEY::GetPtr
    - BN_bn2dec
    - CF_CHECK_NE
    - OpenSSL_bignum::Bignum::New
    - modifier::GetSize
    - EC_KEY_set_private_key
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> wolfCrypt_OpenSSL::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:888,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:888,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:897,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:897,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:898,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:898,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:899,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:900,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:900,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:903,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:903,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:904,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:904,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:906,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:906,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:907,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:907,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:909,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:909,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:911,1
    - Dst: EC_POINT_add
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:911,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:911,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:911,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:917,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:917,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:918,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:918,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:920,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:920,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:920,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:920,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:920,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:920,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:923,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:923,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:923,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:924,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:924,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:924,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:926,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:926,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:930,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 934
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 934
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - OpenSSL_bignum::Bignum::GetDestPtr
    - std::shared_ptr::Lock
    - OPENSSL_free
    - std::string
    - EC_POINT_add
    - OpenSSL_bignum::Bignum::GetPtr
    - std::shared_ptr::GetPtr
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - GetPtr
    - EC_POINT_get_affine_coordinates
    - std::unique_ptr::Set
    - CF_CHECK_EQ
    - Set
    - CF_CHECK_TRUE
    - BN_bn2dec
    - CF_CHECK_NE
    - OpenSSL_bignum::Bignum::New
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> wolfCrypt_OpenSSL::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:938,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:938,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:948,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:948,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:949,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:949,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:950,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:951,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:951,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:954,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:954,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:955,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:955,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:957,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:957,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:959,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:959,1
    - Dst: b::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:959,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:961,1
    - Dst: EC_POINT_mul
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:961,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:961,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:961,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:961,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:961,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:963,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:964,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:965,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:965,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:965,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:972,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:972,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:972,1
    - Dst: OpenSSL_bignum::BN_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:972,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:973,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:974,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:974,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:974,1
    - Dst: OpenSSL_bignum::BN_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:974,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:979,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:982,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 986
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 986
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - std::shared_ptr::Lock
    - OPENSSL_free
    - OpenSSL_bignum::BN_CTX::GetPtr
    - CF_ASSERT
    - OpenSSL_bignum::Bignum::GetPtr
    - std::shared_ptr::GetPtr
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - GetPtr
    - EC_POINT_mul
    - OpenSSL_bignum::Bignum::Set
    - std::unique_ptr::Set
    - EC_POINT_is_on_curve
    - CF_CHECK_EQ
    - b::ToTrimmedString
    - EC_POINT_is_at_infinity
    - CF_CHECK_TRUE
    - CF_CHECK_NE
    - b::ToString
    - modifier::GetSize
    - Get
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> wolfCrypt_OpenSSL::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:990,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:990,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:999,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:999,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1000,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1000,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1001,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1002,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1002,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1005,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1005,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1006,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1006,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1008,1
    - Dst: EC_POINT_invert
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1008,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1008,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1008,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1014,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1014,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1015,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1015,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1017,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1017,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1017,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1017,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1017,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1017,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1020,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1020,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1020,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1021,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1021,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1021,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1023,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1023,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1027,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 1031
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1031
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - OpenSSL_bignum::Bignum::GetDestPtr
    - std::shared_ptr::Lock
    - OPENSSL_free
    - std::string
    - OpenSSL_bignum::Bignum::GetPtr
    - std::shared_ptr::GetPtr
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - EC_POINT_get_affine_coordinates
    - std::unique_ptr::Set
    - CF_CHECK_EQ
    - EC_POINT_invert
    - CF_CHECK_TRUE
    - BN_bn2dec
    - CF_CHECK_NE
    - OpenSSL_bignum::Bignum::New
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> wolfCrypt_OpenSSL::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1035,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1035,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1042,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1042,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1043,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1043,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1044,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1045,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1045,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1048,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1048,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1049,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1049,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1051,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1051,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1052,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1052,1
    - Dst: EC_POINT_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1054,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1054,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1054,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Cmp
    constantsTouched: []
    func_position:
      end: 1059
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1059
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECC_Point_Cmp
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - std::unique_ptr::Set
    - EC_POINT_cmp
    - std::unique_ptr::GetPtr
    - std::shared_ptr::Lock
    - Set
    - GetPtr
    - CF_CHECK_NE
    - modifier::GetSize
    - std::shared_ptr::GetPtr
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> wolfCrypt_OpenSSL::OpECC_Point_Cmp(operation::ECC_Point_Cmp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1063,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1063,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1080,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1080,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1081,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1081,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1082,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1083,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1083,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1085,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1085,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1085,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1085,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1088,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1088,1
    - Dst: signature::signature::first::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1088,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1089,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1089,1
    - Dst: signature::signature::second::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1089,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1090,1
    - Dst: ECDSA_SIG_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1090,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1091,1
    - Dst: ECDSA_SIG_set0
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1091,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1091,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1091,1
    - Dst: OpenSSL_bignum::Bignum::ReleaseOwnership
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1093,1
    - Dst: OpenSSL_bignum::Bignum::ReleaseOwnership
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1094,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1097,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1097,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1098,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1098,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1099,1
    - Dst: EC_KEY_set_public_key
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1099,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1099,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1099,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1105,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1105,1
    - Dst: ECDSA_do_verify
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1108,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1108,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1108,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1108,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1109,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1109,1
    - Dst: SHA256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1111,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1111,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1111,1
    - Dst: ECDSA_do_verify
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1112,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1112,1
    - Dst: ECDSA_SIG_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1135
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1135
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - std::unique_ptr::GetPtr
    - OpenSSL_bignum::Bignum::GetDestPtr
    - std::shared_ptr::Lock
    - cleartext::GetPtr
    - ECDSA_SIG_free
    - CF_DIGEST
    - std::shared_ptr::GetPtr
    - ECDSA_SIG_set0
    - std::make_shared<CF_EC_GROUP>
    - ECDSA_do_verify
    - toCurveNID
    - OpenSSL_bignum::Bignum::ReleaseOwnership
    - modifier::GetPtr
    - std::make_unique<CF_EC_POINT>
    - EC_KEY_set_public_key
    - signature::signature::second::ToString
    - OpenSSL_bignum::Bignum::Set
    - ECDSA_SIG_new
    - signature::signature::first::ToString
    - std::unique_ptr::Set
    - CF_CHECK_EQ
    - CF_EC_KEY::GetPtr
    - SHA256
    - auto::GetPtr
    - CF_CHECK_TRUE
    - auto::GetSize
    - cleartext::GetSize
    - digestType::Get
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> wolfCrypt_OpenSSL::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1139,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1139,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1156,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1156,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1157,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1157,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1157,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1161,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1161,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1162,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1162,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1163,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1164,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1164,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1167,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1167,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1167,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1167,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1170,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1170,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1170,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1173,1
    - Dst: EC_KEY_set_private_key
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1173,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1173,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1173,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1176,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1176,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1177,1
    - Dst: EC_POINT_mul
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1177,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1177,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1177,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1177,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1179,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1179,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1180,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1180,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1182,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1182,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1182,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1182,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1182,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1182,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1184,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1184,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1184,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1185,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1185,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1185,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1187,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1189,1
    - Dst: ECDSA_do_sign
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1189,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1189,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1189,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1189,1
    - Dst: ECDSA_SIG_get0
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1191,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1192,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1193,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1196,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1196,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1197,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1197,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1200,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1201,1
    - Dst: cryptofuzz::util::AdjustECDSASignature
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1201,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1201,1
    - Dst: component::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1203,1
    - Dst: ECDSA_SIG_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1208,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1210,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1211,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1212,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1216
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1216
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - std::unique_ptr::GetPtr
    - OpenSSL_bignum::Bignum::GetDestPtr
    - std::shared_ptr::Lock
    - OPENSSL_free
    - std::string
    - ECDSA_SIG_free
    - CF_DIGEST
    - OpenSSL_bignum::Bignum::GetPtr
    - std::shared_ptr::GetPtr
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - ECDSA_SIG_get0
    - EC_POINT_get_affine_coordinates
    - priv::ToString
    - EC_POINT_mul
    - ECDSA_do_sign
    - OpenSSL_bignum::Bignum::Set
    - CF_CHECK_EQ
    - component::Bignum::ToTrimmedString
    - CF_EC_KEY::GetPtr
    - cleartext::ECDSA_RandomPad
    - auto::GetPtr
    - CF_CHECK_TRUE
    - BN_bn2dec
    - auto::GetSize
    - CF_NORET
    - digestType::Is
    - cryptofuzz::util::AdjustECDSASignature
    - CF_CHECK_NE
    - OpenSSL_bignum::Bignum::New
    - UseRandomNonce
    - modifier::GetSize
    - EC_KEY_set_private_key
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> wolfCrypt_OpenSSL::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1220,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1220,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1231,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1231,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1232,1
    - Dst: OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1232,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1233,1
    - Dst: OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1233,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1234,1
    - Dst: OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1234,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1235,1
    - Dst: OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1235,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1237,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1237,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1238,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1238,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1238,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1239,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1239,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1239,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1240,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1240,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1240,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1241,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1241,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1241,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1243,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1244,1
    - Dst: std::make_unique<OpenSSL_bignum::Add>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1245,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1247,1
    - Dst: std::make_unique<OpenSSL_bignum::Sub>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1248,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1251,1
    - Dst: std::make_unique<OpenSSL_bignum::Mul>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1252,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1255,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1256,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1258,1
    - Dst: std::make_unique<OpenSSL_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1259,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1262,1
    - Dst: std::make_unique<OpenSSL_bignum::Sqr>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1263,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1267,1
    - Dst: std::make_unique<OpenSSL_bignum::GCD>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1268,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1271,1
    - Dst: std::make_unique<OpenSSL_bignum::AddMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1272,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1275,1
    - Dst: std::make_unique<OpenSSL_bignum::SubMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1276,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1279,1
    - Dst: std::make_unique<OpenSSL_bignum::MulMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1280,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1283,1
    - Dst: std::make_unique<OpenSSL_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1284,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1287,1
    - Dst: std::make_unique<OpenSSL_bignum::InvMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1288,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1290,1
    - Dst: std::make_unique<OpenSSL_bignum::Cmp>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1291,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1294,1
    - Dst: std::make_unique<OpenSSL_bignum::Div>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1295,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1298,1
    - Dst: std::make_unique<OpenSSL_bignum::IsPrime>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1299,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1301,1
    - Dst: std::make_unique<OpenSSL_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1302,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1304,1
    - Dst: std::make_unique<OpenSSL_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1305,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1307,1
    - Dst: std::make_unique<OpenSSL_bignum::IsEq>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1308,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1310,1
    - Dst: std::make_unique<OpenSSL_bignum::IsEven>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1311,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1313,1
    - Dst: std::make_unique<OpenSSL_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1314,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1316,1
    - Dst: std::make_unique<OpenSSL_bignum::IsZero>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1317,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1319,1
    - Dst: std::make_unique<OpenSSL_bignum::IsOne>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1320,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1323,1
    - Dst: std::make_unique<OpenSSL_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1324,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1328,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_192>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1329,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1331,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_224>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1332,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1334,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_256>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1335,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1337,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_384>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1338,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1340,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_521>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1341,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1344,1
    - Dst: std::make_unique<OpenSSL_bignum::SqrtMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1345,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1348,1
    - Dst: std::make_unique<OpenSSL_bignum::LCM>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1349,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1352,1
    - Dst: std::make_unique<OpenSSL_bignum::Exp>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1353,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1356,1
    - Dst: std::make_unique<OpenSSL_bignum::Abs>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1357,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1360,1
    - Dst: std::make_unique<OpenSSL_bignum::RShift>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1361,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1363,1
    - Dst: std::make_unique<OpenSSL_bignum::LShift1>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1364,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1366,1
    - Dst: std::make_unique<OpenSSL_bignum::SetBit>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1367,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1369,1
    - Dst: std::make_unique<OpenSSL_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1370,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1372,1
    - Dst: std::make_unique<OpenSSL_bignum::Bit>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1373,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1376,1
    - Dst: std::make_unique<OpenSSL_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1377,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1381,1
    - Dst: std::make_unique<OpenSSL_bignum::ModLShift>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1382,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1385,1
    - Dst: std::make_unique<OpenSSL_bignum::IsPow2>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1386,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1388,1
    - Dst: std::make_unique<OpenSSL_bignum::Mask>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1389,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1393,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1394,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1394,1
    - Dst: OpenSSL_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1396,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 142
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1400
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1400
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<OpenSSL_bignum::Add>
    - std::make_unique<OpenSSL_bignum::RShift>
    - std::make_unique<OpenSSL_bignum::Bit>
    - OpenSSL_bignum::Bignum::ToComponentBignum
    - std::make_unique<OpenSSL_bignum::Mod_NIST_256>
    - std::make_unique<OpenSSL_bignum::Mod_NIST_384>
    - std::make_unique<OpenSSL_bignum::GCD>
    - OpenSSL_bignum::BignumCluster::New
    - std::make_unique<OpenSSL_bignum::Div>
    - std::make_unique<OpenSSL_bignum::ModLShift>
    - std::make_unique<OpenSSL_bignum::IsPow2>
    - std::make_unique<OpenSSL_bignum::CmpAbs>
    - std::make_unique<OpenSSL_bignum::IsOdd>
    - std::make_unique<OpenSSL_bignum::InvMod>
    - std::make_unique<OpenSSL_bignum::IsNeg>
    - std::make_unique<OpenSSL_bignum::IsZero>
    - CF_CALCOP
    - std::make_unique<OpenSSL_bignum::SqrtMod>
    - std::make_unique<OpenSSL_bignum::Mask>
    - std::make_unique<OpenSSL_bignum::Abs>
    - std::make_unique<OpenSSL_bignum::Sub>
    - bn2::ToString
    - modifier::GetPtr
    - OpenSSL_bignum::BignumCluster::Set
    - std::make_unique<OpenSSL_bignum::ExpMod>
    - std::make_unique<OpenSSL_bignum::Cmp>
    - std::make_unique<OpenSSL_bignum::LShift1>
    - std::make_unique<OpenSSL_bignum::AddMod>
    - bn0::ToString
    - std::make_unique<OpenSSL_bignum::SubMod>
    - std::make_unique<OpenSSL_bignum::Mod_NIST_224>
    - std::make_unique<OpenSSL_bignum::IsEq>
    - std::make_unique<OpenSSL_bignum::Mod_NIST_521>
    - OpenSSL_bignum::Bignum::Set
    - bn3::ToString
    - std::make_unique<OpenSSL_bignum::SetBit>
    - std::make_unique<OpenSSL_bignum::Sqrt>
    - CF_CHECK_EQ
    - std::make_unique<OpenSSL_bignum::SqrMod>
    - std::make_unique<OpenSSL_bignum::IsPrime>
    - std::make_unique<OpenSSL_bignum::Jacobi>
    - std::make_unique<OpenSSL_bignum::Mod>
    - std::make_unique<OpenSSL_bignum::IsOne>
    - std::make_unique<OpenSSL_bignum::ClearBit>
    - bn1::ToString
    - calcOp::Get
    - std::make_unique<OpenSSL_bignum::Mul>
    - std::make_unique<OpenSSL_bignum::LCM>
    - std::make_unique<OpenSSL_bignum::Exp>
    - std::make_unique<OpenSSL_bignum::Mod_NIST_192>
    - std::make_unique<OpenSSL_bignum::IsEven>
    - CF_CHECK_NE
    - std::unique_ptr::Run
    - OpenSSL_bignum::Bignum::New
    - std::make_unique<OpenSSL_bignum::MulMod>
    - std::make_unique<OpenSSL_bignum::Sqr>
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> wolfCrypt_OpenSSL::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:20,1
    - Dst: newCTX
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:24,1
    - Dst: copyCTX
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:26,1
    - Dst: freeCTX
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:28,1
    - Dst: freeCTX
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: cryptofuzz::module::CTX_Copier::copy
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - copyCTX
    - freeCTX
    - newCTX
    - Get
    linkageType: ''
    returnType: T
    signature: T * copy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newCTX
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:44,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::CTX_Copier::CTX_Copier
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - newCTX
    - abort
    linkageType: ''
    returnType: void
    signature: void CTX_Copier(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CTX_Copier::copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::CTX_Copier::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CTX_Copier::copy
    linkageType: ''
    returnType: T
    signature: T * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freeCTX
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: ~CTX_Copier()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - freeCTX
    linkageType: ''
    returnType: void
    signature: void ~CTX_Copier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::EC_GROUP_Copier::newGroup
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_GROUP_new_by_curve_name
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP * newGroup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: cryptofuzz::module::EC_GROUP_Copier::copyGroup
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_GROUP_copy
    linkageType: ''
    returnType: int
    signature: int copyGroup(EC_GROUP* dest, EC_GROUP* src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::EC_GROUP_Copier::freeGroup
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_GROUP_free
    linkageType: ''
    returnType: void
    signature: void freeGroup(EC_GROUP* group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:82,1
    - Dst: cryptofuzz::module::EC_GROUP_Copier::newGroup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:87,1
    - Dst: cryptofuzz::module::EC_GROUP_Copier::copyGroup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:89,1
    - Dst: cryptofuzz::module::EC_GROUP_Copier::freeGroup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:91,1
    - Dst: cryptofuzz::module::EC_GROUP_Copier::freeGroup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: cryptofuzz::module::EC_GROUP_Copier::copy
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_GROUP_Copier::freeGroup
    - cryptofuzz::module::EC_GROUP_Copier::copyGroup
    - Get
    - cryptofuzz::module::EC_GROUP_Copier::newGroup
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP * copy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_GROUP_Copier::newGroup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - curveNID
    argTypes:
    - Datasource
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::EC_GROUP_Copier::EC_GROUP_Copier
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_GROUP_Copier::newGroup
    linkageType: ''
    returnType: void
    signature: void EC_GROUP_Copier(Datasource& ds, const int curveNID)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: cryptofuzz::module::EC_GROUP_Copier::Lock
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_GROUP_Copier::copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: cryptofuzz::module::EC_GROUP_Copier::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_GROUP_Copier::copy
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freeGroup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: ~EC_GROUP_Copier()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - freeGroup
    linkageType: ''
    returnType: void
    signature: void ~EC_GROUP_Copier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:135,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::EC_POINT_Copier::newPoint
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_POINT_new
    - cryptofuzz::module::EC_POINT_Copier::GetPtr
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT * newPoint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_POINT*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: cryptofuzz::module::EC_POINT_Copier::copyPoint
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_POINT_copy
    linkageType: ''
    returnType: int
    signature: int copyPoint(EC_POINT* dest, EC_POINT* src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: cryptofuzz::module::EC_POINT_Copier::freePoint
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    linkageType: ''
    returnType: void
    signature: void freePoint(EC_POINT* point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:148,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::newPoint
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:152,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::copyPoint
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:154,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::freePoint
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:156,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::freePoint
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: cryptofuzz::module::EC_POINT_Copier::copy
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::Get
    - cryptofuzz::module::EC_POINT_Copier::freePoint
    - cryptofuzz::module::EC_POINT_Copier::copyPoint
    - cryptofuzz::module::EC_POINT_Copier::newPoint
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT * copy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:172,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:172,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:172,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:172,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:172,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - OpenSSL_bignum::Bignum
    - OpenSSL_bignum::Bignum
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: cryptofuzz::module::EC_POINT_Copier::set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - EC_POINT_set_affine_coordinates
    - cryptofuzz::module::EC_POINT_Copier::GetPtr
    linkageType: ''
    returnType: bool
    signature: bool set(OpenSSL_bignum::Bignum& pub_x, OpenSSL_bignum::Bignum& pub_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::newPoint
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:182,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' ds'
    - group
    argTypes:
    - Datasource
    - std::shared_ptr<EC_GROUP_Copier>
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: cryptofuzz::module::EC_POINT_Copier::EC_POINT_Copier
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - abort
    - cryptofuzz::module::EC_POINT_Copier::newPoint
    linkageType: ''
    returnType: void
    signature: void EC_POINT_Copier(Datasource& ds, std::shared_ptr<EC_GROUP_Copier>
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - OpenSSL_bignum::Bignum
    - OpenSSL_bignum::Bignum
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: cryptofuzz::module::EC_POINT_Copier::Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::set
    linkageType: ''
    returnType: bool
    signature: bool Set(OpenSSL_bignum::Bignum& pub_x, OpenSSL_bignum::Bignum& pub_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:197,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:197,1
    - Dst: ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:197,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:198,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:198,1
    - Dst: ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:198,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:200,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: cryptofuzz::module::EC_POINT_Copier::Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - OpenSSL_bignum::Bignum::Set
    - CF_CHECK_TRUE
    - CF_CHECK_EQ
    - cryptofuzz::module::EC_POINT_Copier::Set
    - ToString
    linkageType: ''
    returnType: bool
    signature: bool Set(const component::Bignum& pub_x, const component::Bignum& pub_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:210,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:210,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:210,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:210,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:210,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - OpenSSL_bignum::Bignum
    - OpenSSL_bignum::Bignum
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: cryptofuzz::module::EC_POINT_Copier::Get
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - CF_CHECK_NE
    - EC_POINT_get_affine_coordinates
    - GetDestPtr
    - cryptofuzz::module::EC_POINT_Copier::GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Get(OpenSSL_bignum::Bignum& pub_x, OpenSSL_bignum::Bignum& pub_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:226,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:226,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:227,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:227,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:229,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:229,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:231,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:231,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:231,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:232,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:232,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:232,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:234,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:234,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:237,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 241
    functionName: cryptofuzz::module::EC_POINT_Copier::Get
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 2
    functionsReached:
    - CF_CHECK_TRUE
    - BN_bn2dec
    - CF_CHECK_EQ
    - OPENSSL_free
    - std::string
    - CF_CHECK_NE
    - OpenSSL_bignum::Bignum::New
    - cryptofuzz::module::EC_POINT_Copier::Get
    - OpenSSL_bignum::Bignum::GetPtr
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: cryptofuzz::module::EC_POINT_Copier::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::copy
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freePoint
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: ~EC_POINT_Copier()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - freePoint
    linkageType: ''
    returnType: void
    signature: void ~EC_POINT_Copier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: EVP_MD_CTX * CTX_Copier<EVP_MD_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:256,1
    - Dst: EVP_MD_CTX_init
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_init
    - malloc
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: EVP_MD_CTX * CTX_Copier<EVP_MD_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<EVP_MD_CTX>::copyCTX(EVP_MD_CTX* dest, EVP_MD_CTX* src)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<EVP_MD_CTX>::freeCTX(EVP_MD_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_cleanup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:267,1
    - Dst: free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - free
    - EVP_MD_CTX_cleanup
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<EVP_MD_CTX>::freeCTX(EVP_MD_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: cryptofuzz::module::CTX_Copier<EVP_CIPHER_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    linkageType: ''
    returnType: EVP_CIPHER_CTX
    signature: EVP_CIPHER_CTX * CTX_Copier<EVP_CIPHER_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: cryptofuzz::module::CTX_Copier<EVP_CIPHER_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<EVP_CIPHER_CTX>::copyCTX(EVP_CIPHER_CTX* dest, EVP_CIPHER_CTX*
      src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: cryptofuzz::module::CTX_Copier<EVP_CIPHER_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<EVP_CIPHER_CTX>::freeCTX(EVP_CIPHER_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: cryptofuzz::module::CTX_Copier<HMAC_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - HMAC_CTX_new
    linkageType: ''
    returnType: HMAC_CTX
    signature: HMAC_CTX * CTX_Copier<HMAC_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - HMAC_CTX*
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: cryptofuzz::module::CTX_Copier<HMAC_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - HMAC_CTX_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<HMAC_CTX>::copyCTX(HMAC_CTX* dest, HMAC_CTX* src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: cryptofuzz::module::CTX_Copier<HMAC_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - HMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<HMAC_CTX>::freeCTX(HMAC_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: cryptofuzz::module::CTX_Copier<CMAC_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - CMAC_CTX_new
    linkageType: ''
    returnType: CMAC_CTX
    signature: CMAC_CTX * CTX_Copier<CMAC_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - CMAC_CTX*
    - CMAC_CTX*
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: cryptofuzz::module::CTX_Copier<CMAC_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<CMAC_CTX>::copyCTX(CMAC_CTX* dest, CMAC_CTX* src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: cryptofuzz::module::CTX_Copier<CMAC_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - CMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<CMAC_CTX>::freeCTX(CMAC_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: cryptofuzz::module::CTX_Copier<EC_KEY>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_KEY_new
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY * CTX_Copier<EC_KEY>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_KEY*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::CTX_Copier<EC_KEY>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_KEY_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<EC_KEY>::copyCTX(EC_KEY* dest, EC_KEY* src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: cryptofuzz::module::CTX_Copier<EC_KEY>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<EC_KEY>::freeCTX(EC_KEY* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Bignum
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Lock
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: DisableFree
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DisableFree(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:43,1
    - Dst: DisableFree
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: ReleaseOwnership
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 1
    functionsReached:
    - DisableFree
    - Lock
    linkageType: ''
    returnType: void
    signature: void ReleaseOwnership(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:49,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:50,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:53,1
    - Dst: BN_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: New
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 14
    functionsReached:
    - BN_new
    - printf
    - abort
    - BN_free
    linkageType: ''
    returnType: bool
    signature: bool New(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:62,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:62,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 147
    functionsReached:
    - BN_copy
    - CF_CHECK_NE
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Set(Bignum& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:71,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:72,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:78,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:79,1
    - Dst: BN_hex2bn
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:79,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:79,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:81,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:81,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 147
    functionsReached:
    - BN_hex2bn
    - std::string::c_str
    - cryptofuzz::util::DecToHex
    - abort
    - CF_CHECK_NE
    - BN_dec2bn
    - auto::c_str
    - printf
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:92,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:100,1
    - Dst: BN_num_bytes
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:100,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:101,1
    - Dst: BN_bn2binpad
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:101,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:128,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:128,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:129,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:130,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 147
    functionName: AsUint64
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 1
    functionsReached:
    - BN_bn2binpad
    - ASN1_INTEGER_get_uint64
    - CF_CHECK_EQ
    - BN_num_bytes
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - ASN1_INTEGER_free
    - Get
    - BN_to_ASN1_INTEGER
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> AsUint64(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsUint64
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:151,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:153,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: AsInt
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 6
    functionsReached:
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - AsUint64
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> AsInt(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:166,1
    - Dst: AsUint64
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:166,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: AsBN_ULONG
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 7
    functionsReached:
    - CF_CHECK_EQ
    - CF_CHECK_NE
    - AsUint64
    linkageType: ''
    returnType: std::optional<BN_ULONG>
    signature: std::optional<BN_ULONG> AsBN_ULONG(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:181,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:182,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:185,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: SetUint32
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 1
    functionsReached:
    - Set
    - sprintf
    - abort
    linkageType: ''
    returnType: void
    signature: void SetUint32(const uint32_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_flags
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:200,1
    - Dst: BN_set_flags
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:202,1
    - Dst: BN_dup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:213,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:215,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:227,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:230,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:233,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:237,1
    - Dst: BN_to_ASN1_ENUMERATED
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:249,1
    - Dst: ASN1_ENUMERATED_to_BN
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:252,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:255,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:259,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 269
    functionName: GetDestPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 56
    functionsReached:
    - BN_to_ASN1_ENUMERATED
    - ASN1_ENUMERATED_to_BN
    - BN_free
    - ASN1_INTEGER_to_BN
    - ASN1_ENUMERATED_free
    - ASN1_INTEGER_free
    - BN_dup
    - BN_set_flags
    - BN_to_ASN1_INTEGER
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetDestPtr(const bool allowDup = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: GetPtrConst
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetPtrConst(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:280,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:287,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:287,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:287,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:289,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:291,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:297,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:297,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 663
    functionsReached:
    - GetPtrConst
    - GetDestPtr
    - BN_bn2dec
    - OPENSSL_free
    - GetPtr
    - std::string
    - CF_CHECK_NE
    - BN_cmp
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetPtr(const bool allowDup = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' ds'
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - Datasource
    - Bignum
    - Bignum
    - Bignum
    - Bignum
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: BignumCluster::BignumCluster
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster(Datasource& ds, Bignum bn0, Bignum bn1, Bignum bn2,
      Bignum bn3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:312,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:313,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:318,1
    - Dst: Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 338
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 338
    functionName: '& operator[](const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - Get
    - Lock
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & operator[](const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:341,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: '& Get(const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & Get(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: BignumCluster::GetDestPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetDestPtr(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:353,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:354,1
    - Dst: BignumCluster::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: BignumCluster::New
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 2
    functionsReached:
    - abort
    - BignumCluster::New
    - size
    linkageType: ''
    returnType: bool
    signature: bool New(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:361,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:362,1
    - Dst: BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - index
    - s
    argTypes:
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: BignumCluster::Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 10
    functionsReached:
    - abort
    - size
    - BignumCluster::Set
    linkageType: ''
    returnType: bool
    signature: bool Set(const size_t index, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:374,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: BN_CTX::BN_CTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_CTX_new
    - abort
    linkageType: ''
    returnType: void
    signature: void BN_CTX(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: BN_CTX::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ::BN_CTX
    signature: ::BN_CTX * GetPtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: ~BN_CTX()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~BN_CTX()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:397,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: BN_MONT_CTX::BN_MONT_CTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - BN_MONT_CTX_new
    linkageType: ''
    returnType: void
    signature: void BN_MONT_CTX(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: BN_MONT_CTX::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::BN_MONT_CTX
    signature: ::BN_MONT_CTX * GetPtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: ~BN_MONT_CTX()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~BN_MONT_CTX()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 418
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Nettle::Nettle
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Nettle::Nettle(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::Nettle_detail::Operation::Operation
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Operation(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:62,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:62,1
    - Dst: runInit
      Src: /src/cryptofuzz/modules/nettle/module.cpp:65,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:69,1
    - Dst: runUpdate
      Src: /src/cryptofuzz/modules/nettle/module.cpp:71,1
    - Dst: runFinalize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:74,1
    - Dst: ReturnType
      Src: /src/cryptofuzz/modules/nettle/module.cpp:75,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:75,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nettle/module.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - OperationType
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::Nettle_detail::Operation::Run
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - ReturnType
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - runUpdate
    - runFinalize
    - runInit
    - auto::data
    - auto::size
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Run(OperationType& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: cryptofuzz::module::Nettle_detail::Digest::Digest
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Digest(\n                void (*init)(CTXType*),\n                void
      (*update)(CTXType*, size_t, const uint8_t*),\n                void (*digest)(CTXType*,
      size_t, uint8_t*)\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:100,1
    - Dst: init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: cryptofuzz::module::Nettle_detail::Digest::runInit
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - init
    - CF_NORET
    linkageType: ''
    returnType: bool
    signature: bool runInit(operation::Digest& op) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:106,1
    - Dst: update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: cryptofuzz::module::Nettle_detail::Digest::runUpdate
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - update
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void runUpdate(util::Multipart& parts) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:112,1
    - Dst: digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:112,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: cryptofuzz::module::Nettle_detail::Digest::runFinalize
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - digest
    - CF_NORET
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> runFinalize(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::Nettle_detail::HMAC::HMAC
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HMAC(\n                void (*set_key)(CTXType*, size_t, const
      uint8_t*),\n                void (*update)(CTXType*, size_t, const uint8_t*),\n
      \               void (*digest)(CTXType*, size_t, uint8_t*)\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:136,1
    - Dst: set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:136,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:136,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: cryptofuzz::module::Nettle_detail::HMAC::runInit
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_NORET
    linkageType: ''
    returnType: bool
    signature: bool runInit(operation::HMAC& op) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:142,1
    - Dst: update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: cryptofuzz::module::Nettle_detail::HMAC::runUpdate
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - update
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void runUpdate(util::Multipart& parts) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:148,1
    - Dst: digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:148,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: cryptofuzz::module::Nettle_detail::HMAC::runFinalize
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - digest
    - CF_NORET
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> runFinalize(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: cryptofuzz::module::Nettle_detail::UMAC::UMAC
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UMAC(\n                void (*set_key)(CTXType*, const uint8_t*),\n
      \               void (*set_nonce)(CTXType*, size_t, const uint8_t*),\n                void
      (*update)(CTXType*, size_t, const uint8_t*),\n                void (*digest)(CTXType*,
      size_t, uint8_t*)\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:179,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:180,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:181,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:181,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:182,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:182,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:183,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:183,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:185,1
    - Dst: set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:185,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:185,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:186,1
    - Dst: set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:186,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:186,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::UMAC
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: cryptofuzz::module::Nettle_detail::UMAC::runInit
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - key::GetSize
    - iv::GetPtr
    - CF_NORET
    - CF_CHECK_EQ
    - set_nonce
    - CF_CHECK_LTE
    - key::GetPtr
    - CF_CHECK_GTE
    - iv::GetSize
    - CF_CHECK_GT
    linkageType: ''
    returnType: bool
    signature: bool runInit(operation::UMAC& op) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:195,1
    - Dst: update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: cryptofuzz::module::Nettle_detail::UMAC::runUpdate
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - update
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void runUpdate(util::Multipart& parts) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:201,1
    - Dst: digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:201,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: cryptofuzz::module::Nettle_detail::UMAC::runFinalize
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - digest
    - CF_NORET
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> runFinalize(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: cryptofuzz::module::Nettle_detail::CMAC::CMAC
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CMAC(\n                void (*set_key)(CTXType*, const uint8_t*),\n
      \               void (*update)(CTXType*, size_t, const uint8_t*),\n                void
      (*digest)(CTXType*, size_t, uint8_t*)\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:227,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:227,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:229,1
    - Dst: set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:229,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: cryptofuzz::module::Nettle_detail::CMAC::runInit
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_NORET
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool runInit(operation::CMAC& op) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:239,1
    - Dst: update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: cryptofuzz::module::Nettle_detail::CMAC::runUpdate
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - update
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void runUpdate(util::Multipart& parts) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:245,1
    - Dst: digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:245,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: cryptofuzz::module::Nettle_detail::CMAC::runFinalize
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - digest
    - CF_NORET
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> runFinalize(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:296,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:297,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:298,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:300,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:301,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:303,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:304,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:306,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:307,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:309,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:310,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:312,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:313,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:315,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:316,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:318,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:319,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:321,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:322,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:324,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:325,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:327,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:328,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:330,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:331,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:333,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:334,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:336,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:337,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:339,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:340,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:342,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:343,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:345,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:346,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:348,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:349,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:351,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:352,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 357
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 357
    functionName: cryptofuzz::module::Nettle::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - Run
    - digestType::Get
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Nettle::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:362,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:363,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:364,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:366,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:367,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:369,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:370,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:372,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:373,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:375,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:376,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:378,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:379,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:381,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:382,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:384,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:385,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:387,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:388,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:390,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:391,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:393,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:394,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 399
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 399
    functionName: cryptofuzz::module::Nettle::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - Run
    - digestType::Get
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Nettle::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:406,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:409,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:412,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::UMAC
    constantsTouched: []
    func_position:
      end: 420
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 420
    functionName: cryptofuzz::module::Nettle::OpUMAC
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - Run
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Nettle::OpUMAC(operation::UMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:425,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:426,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:427,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:429,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:430,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:432,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 438
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 438
    functionName: cryptofuzz::module::Nettle::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    - cipher::cipherType::Get
    - Run
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Nettle::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/modules/nettle/module.cpp:442,1
    - Dst: back
      Src: /src/cryptofuzz/modules/nettle/module.cpp:447,1
    - Dst: back
      Src: /src/cryptofuzz/modules/nettle/module.cpp:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: cryptofuzz::module::Nettle_detail::Salsa20_CheckParts
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - back
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Salsa20_CheckParts(const util::Multipart& parts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:457,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:461,1
    - Dst: cryptofuzz::util::ToEqualParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:469,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:471,1
    - Dst: salsa20_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:471,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:471,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:471,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:472,1
    - Dst: salsa20_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:472,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:472,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:476,1
    - Dst: salsa20_crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:476,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:478,1
    - Dst: salsa20r12_crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:478,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:483,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:483,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ' in'
    - ' cipher'
    - keySize
    - rounds20
    argTypes:
    - Buffer
    - component::SymmetricCipher
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 488
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 488
    functionName: cryptofuzz::module::Nettle_detail::Salsa20Crypt
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - key::GetSize
    - iv::GetPtr
    - CF_NORET
    - salsa20_crypt
    - salsa20r12_crypt
    - salsa20_set_iv
    - cryptofuzz::util::free
    - cryptofuzz::util::ToEqualParts
    - salsa20_set_key
    - key::GetPtr
    - Buffer
    - iv::GetSize
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> Salsa20Crypt(const Buffer& in, const component::SymmetricCipher&
      cipher, const size_t keySize, const bool rounds20)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:503,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:503,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:504,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:504,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:506,1
    - Dst: setkey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:506,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:506,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:508,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:508,1
    - Dst: CTR_SET_COUNTER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:510,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:510,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:513,1
    - Dst: CTR_CRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:516,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:526,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:526,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    - encrypt
    - setkey
    argTypes:
    - fuzzing::datasource::Datasource
    - Buffer
    - component::SymmetricCipher
    - nettle_cipher_func*
    - nettle_set_key_func*
    constantsTouched: []
    func_position:
      end: 531
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 531
    functionName: cryptofuzz::module::Nettle_detail::CTRCrypt
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - key::GetSize
    - cryptofuzz::util::malloc
    - CF_NORET
    - CF_CHECK_EQ
    - iv::GetPtr
    - setkey
    - CTR_CRYPT
    - CTR_SET_COUNTER
    - cryptofuzz::util::free
    - key::GetPtr
    - Buffer
    - iv::GetSize
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> CTRCrypt(\n            fuzzing::datasource::Datasource&
      ds,\n            const Buffer& in,\n            const component::SymmetricCipher&
      cipher,\n            nettle_cipher_func* encrypt,\n            nettle_set_key_func*
      setkey\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:545,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:547,1
    - Dst: set_aad
      Src: /src/cryptofuzz/modules/nettle/module.cpp:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' ds'
    - ctx
    - aad
    argTypes:
    - fuzzing::datasource::Datasource
    - CTXType*
    - std::optional<component::AAD>
    constantsTouched: []
    func_position:
      end: 549
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 549
    functionName: cryptofuzz::module::Nettle_detail::SetAAD
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - set_aad
    - cryptofuzz::util::ToParts
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: "void SetAAD(\n            fuzzing::datasource::Datasource& ds,\n            CTXType*
      ctx,\n            const std::optional<component::AAD> aad,\n            void
      (*set_aad)(CTXType*, size_t, const uint8_t*))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:558,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:561,1
    - Dst: encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' ds'
    - ctx
    - msg
    - out
    argTypes:
    - fuzzing::datasource::Datasource
    - CTXType*
    - Buffer
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 564
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 564
    functionName: cryptofuzz::module::Nettle_detail::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - encrypt
    - cryptofuzz::util::ToParts
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: "void Encrypt(\n            fuzzing::datasource::Datasource& ds,\n
      \           CTXType* ctx,\n            Buffer msg,\n            uint8_t* out,\n
      \           void (*encrypt)(CTXType*, size_t, uint8_t* out, const uint8_t*))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:595,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:595,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:600,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:601,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:605,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:605,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:606,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:606,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:607,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:608,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:610,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:610,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:611,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:613,1
    - Dst: gcm_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:613,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:613,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:614,1
    - Dst: gcm_aes128_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:614,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:614,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:614,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:615,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:616,1
    - Dst: gcm_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:616,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:618,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:618,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:618,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:618,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:622,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:626,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:626,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:627,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:627,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:628,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:629,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:631,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:631,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:632,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:634,1
    - Dst: gcm_aes192_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:634,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:634,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:635,1
    - Dst: gcm_aes192_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:635,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:635,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:635,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:636,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:637,1
    - Dst: gcm_aes192_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:637,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:639,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:639,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:639,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:639,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:643,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:647,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:647,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:648,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:648,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:649,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:650,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:652,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:652,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:653,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:655,1
    - Dst: gcm_aes256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:655,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:655,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:656,1
    - Dst: gcm_aes256_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:656,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:656,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:656,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:657,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:658,1
    - Dst: gcm_aes256_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:658,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:660,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:660,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:660,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:660,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:664,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:668,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:668,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:669,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:669,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:670,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:671,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:672,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:674,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:674,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:675,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:677,1
    - Dst: eax_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:677,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:677,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:678,1
    - Dst: eax_aes128_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:678,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:678,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:678,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:679,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:680,1
    - Dst: eax_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:680,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:682,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:682,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:682,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:682,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:686,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:690,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:690,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:691,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:691,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:692,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:692,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:693,1
    - Dst: find
      Src: /src/cryptofuzz/modules/nettle/module.cpp:696,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:696,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:696,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:696,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:701,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:701,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:702,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:704,1
    - Dst: ccm_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:704,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:704,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:705,1
    - Dst: ccm_aes128_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:705,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:705,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:705,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:705,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:705,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:706,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:707,1
    - Dst: ccm_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:707,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:709,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:709,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:709,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:709,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:713,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:717,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:717,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:718,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:718,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:719,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:719,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:720,1
    - Dst: find
      Src: /src/cryptofuzz/modules/nettle/module.cpp:723,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:723,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:723,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:723,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:728,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:728,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:729,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:731,1
    - Dst: ccm_aes192_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:731,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:731,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:732,1
    - Dst: ccm_aes192_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:732,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:732,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:732,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:732,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:732,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:733,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:734,1
    - Dst: ccm_aes192_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:734,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:736,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:736,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:736,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:736,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:740,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:744,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:744,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:745,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:745,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:746,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:746,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:747,1
    - Dst: find
      Src: /src/cryptofuzz/modules/nettle/module.cpp:750,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:750,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:750,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:750,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:755,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:755,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:756,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:758,1
    - Dst: ccm_aes256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:758,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:758,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:759,1
    - Dst: ccm_aes256_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:759,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:759,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:759,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:759,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:759,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:760,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:761,1
    - Dst: ccm_aes256_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:761,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:763,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:763,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:763,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:763,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:768,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:771,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:771,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:772,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:772,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:773,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:773,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:775,1
    - Dst: chacha_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:775,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:775,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:776,1
    - Dst: chacha_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:776,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:776,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:777,1
    - Dst: chacha_crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:777,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:777,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:777,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:779,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:779,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:779,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:783,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:787,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:787,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:788,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:788,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:789,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:790,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:792,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:792,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:793,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:795,1
    - Dst: chacha_poly1305_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:795,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:795,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:796,1
    - Dst: chacha_poly1305_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:796,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:796,1
    - Dst: SET_AAD_ENCRYPT_BS
      Src: /src/cryptofuzz/modules/nettle/module.cpp:797,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:798,1
    - Dst: chacha_poly1305_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:798,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:800,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:800,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:800,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:800,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:804,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:807,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:807,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:808,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:808,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:809,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:809,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:810,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:810,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:812,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:812,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:814,1
    - Dst: xts_aes128_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:814,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:814,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:815,1
    - Dst: xts_aes128_encrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:815,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:815,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:815,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:815,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:817,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:817,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:817,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:821,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:824,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:824,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:825,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:825,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:826,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:826,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:827,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:827,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:829,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:829,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:831,1
    - Dst: xts_aes256_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:831,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:831,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:832,1
    - Dst: xts_aes256_encrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:832,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:832,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:832,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:832,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:834,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:834,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:834,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:838,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:842,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:842,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:843,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:843,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:845,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:845,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:847,1
    - Dst: arcfour_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:847,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:847,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:847,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:848,1
    - Dst: arcfour_crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:848,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:848,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:848,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:850,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:850,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:850,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:854,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:858,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:858,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:859,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:859,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:860,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:861,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:863,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:863,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:864,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:866,1
    - Dst: gcm_camellia128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:866,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:866,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:867,1
    - Dst: gcm_camellia128_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:867,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:867,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:867,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:868,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:869,1
    - Dst: gcm_camellia128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:869,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:871,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:871,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:871,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:871,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:875,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:879,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:879,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:880,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:880,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:881,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:882,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:884,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:884,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:885,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:887,1
    - Dst: gcm_camellia256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:887,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:887,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:888,1
    - Dst: gcm_camellia256_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:888,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:888,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:888,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:889,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:890,1
    - Dst: gcm_camellia256_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:890,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:892,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:892,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:892,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:892,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:896,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:898,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:902,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:904,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:908,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:910,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:914,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:916,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:920,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:924,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:924,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:925,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:925,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:927,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:927,1
    - Dst: des_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:929,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:929,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:930,1
    - Dst: des_encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:930,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:930,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:930,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:932,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:932,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:932,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:936,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:940,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:940,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:941,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:941,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:942,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:942,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:944,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:944,1
    - Dst: twofish_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:946,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:946,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:946,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:947,1
    - Dst: twofish_encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:947,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:947,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:947,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:949,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:949,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:949,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:953,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:957,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:957,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:958,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:958,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:959,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:959,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:961,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:961,1
    - Dst: serpent_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:963,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:963,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:963,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:964,1
    - Dst: serpent_encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:964,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:964,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:964,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:966,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:966,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:966,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:970,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:974,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:974,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:975,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:975,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:976,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:976,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:978,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:978,1
    - Dst: blowfish_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:980,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:980,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:980,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:981,1
    - Dst: blowfish_encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:981,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:981,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:981,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:983,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:983,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:983,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:987,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:991,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:991,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:992,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:992,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:993,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:993,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:995,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:995,1
    - Dst: cast5_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:997,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:997,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:997,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:998,1
    - Dst: cast128_encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:998,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:998,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:998,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1000,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1000,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1000,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1003,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1007,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1007,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1008,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1008,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1009,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1009,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1010,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1010,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1012,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1012,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1014,1
    - Dst: aes128_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1014,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1014,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1015,1
    - Dst: aes128_keywrap
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1015,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1015,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1015,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1015,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1017,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1017,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1017,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1020,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1024,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1024,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1025,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1025,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1026,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1026,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1027,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1027,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1029,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1029,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1031,1
    - Dst: aes192_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1031,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1031,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1032,1
    - Dst: aes192_keywrap
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1032,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1032,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1032,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1032,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1034,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1034,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1034,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1037,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1041,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1041,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1042,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1042,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1043,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1043,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1044,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1044,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1046,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1046,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1048,1
    - Dst: aes256_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1048,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1048,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1049,1
    - Dst: aes256_keywrap
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1049,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1049,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1049,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1049,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1051,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1051,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1051,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1054,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1058,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1058,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1059,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1059,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1061,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1061,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1063,1
    - Dst: siv_cmac_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1063,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1063,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1064,1
    - Dst: siv_cmac_aes128_encrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1064,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1065,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1065,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1066,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1066,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1067,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1067,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1069,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1070,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1070,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1071,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1074,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1078,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1078,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1079,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1079,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1081,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1081,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1083,1
    - Dst: siv_cmac_aes256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1083,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1083,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1084,1
    - Dst: siv_cmac_aes256_encrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1084,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1085,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1085,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1086,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1086,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1087,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1087,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1089,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1090,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1090,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1091,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1094,1
    - Dst: Nettle_detail::CTRCrypt<struct aes128_ctx, 16, 16>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1096,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1104,1
    - Dst: Nettle_detail::CTRCrypt<struct aes192_ctx, 16, 24>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1106,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1114,1
    - Dst: Nettle_detail::CTRCrypt<struct aes256_ctx, 16, 32>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1116,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1124,1
    - Dst: Nettle_detail::CTRCrypt<struct camellia128_ctx, 16, 16>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1126,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1134,1
    - Dst: Nettle_detail::CTRCrypt<struct camellia192_ctx, 16, 24>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1136,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1144,1
    - Dst: Nettle_detail::CTRCrypt<struct camellia256_ctx, 16, 32>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1146,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1154,1
    - Dst: Nettle_detail::CTRCrypt<struct sm4_ctx, 16, 16>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1156,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1164,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1169,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1169,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1170,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1170,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1172,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1173,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1174,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1176,1
    - Dst: ocb_aes128_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1176,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1176,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1177,1
    - Dst: ocb_aes128_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1177,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1181,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1182,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1185,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1187,1
    - Dst: ocb_aes128_update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1187,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1195,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1195,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1197,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1200,1
    - Dst: ocb_aes128_encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1200,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1209,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1210,1
    - Dst: ocb_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1210,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1216,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1216,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1216,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1216,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1219,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1223,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1223,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1224,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1224,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1225,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1225,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1227,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1227,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1229,1
    - Dst: aes128_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1229,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1229,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1230,1
    - Dst: siv_gcm_aes128_encrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1230,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1232,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1232,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1233,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1233,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1234,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1235,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1237,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1238,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1238,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1239,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1239,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1242,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1246,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1246,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1247,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1247,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1248,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1248,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1250,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1250,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1252,1
    - Dst: aes256_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1252,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1252,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1253,1
    - Dst: siv_gcm_aes256_encrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1253,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1255,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1255,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1256,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1256,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1257,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1258,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1260,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1261,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1261,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1262,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1262,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1268,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1269,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 390
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1272
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 1272
    functionName: cryptofuzz::module::Nettle::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - des_encrypt
    - ccm_aes256_set_nonce
    - ocb_aes128_set_encrypt_key
    - aes256_set_encrypt_key
    - cipher::cipherType::Get
    - gcm_aes128_set_iv
    - serpent_encrypt
    - chacha_set_key
    - chacha_crypt
    - siv_cmac_aes256_set_key
    - ccm_aes128_set_key
    - arcfour_set_key
    - CF_CHECK_EQ
    - cipher::iv::GetPtr
    - gcm_aes128_set_key
    - std::vector::end
    - ccm_aes256_set_key
    - cryptofuzz::util::ToParts
    - twofish_set_key
    - gcm_camellia256_set_key
    - arcfour_crypt
    - gcm_aes128_digest
    - ccm_aes192_digest
    - siv_gcm_aes128_encrypt_message
    - chacha_set_nonce
    - chacha_poly1305_set_key
    - gcm_aes256_digest
    - ocb_aes128_encrypt
    - aad::GetSize
    - std::vector::begin
    - gcm_aes256_set_key
    - ccm_aes128_set_nonce
    - chacha_poly1305_digest
    - SET_AAD_ENCRYPT
    - CF_CHECK_GTE
    - find
    - xts_aes128_encrypt_message
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - CF_NORET
    - cleartext::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - aes128_set_encrypt_key
    - ccm_aes192_set_nonce
    - des_set_key
    - ocb_aes128_digest
    - aes192_keywrap
    - cleartext::GetPtr
    - twofish_encrypt
    - xts_aes128_set_encrypt_key
    - gcm_camellia256_set_iv
    - siv_cmac_aes128_encrypt_message
    - blowfish_set_key
    - siv_cmac_aes128_set_key
    - modifier::GetPtr
    - ocb_aes128_update
    - eax_aes128_set_nonce
    - cast128_encrypt
    - aes256_keywrap
    - CF_CHECK_LTE
    - gcm_camellia128_set_iv
    - ccm_aes192_set_key
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - siv_cmac_aes256_encrypt_message
    - eax_aes128_digest
    - cipher::key::GetSize
    - gcm_camellia128_set_key
    - ccm_aes256_digest
    - aad::GetPtr
    - Nettle_detail::CTRCrypt<struct sm4_ctx, 16, 16>
    - Nettle_detail::CTRCrypt<struct camellia256_ctx, 16, 32>
    - CF_CHECK_GT
    - siv_gcm_aes256_encrypt_message
    - xts_aes256_set_encrypt_key
    - xts_aes256_encrypt_message
    - gcm_aes192_set_key
    - ocb_aes128_set_nonce
    - cast5_set_key
    - ccm_aes128_digest
    - gcm_camellia256_digest
    - chacha_poly1305_set_nonce
    - Nettle_detail::CTRCrypt<struct aes192_ctx, 16, 24>
    - Nettle_detail::CTRCrypt<struct camellia128_ctx, 16, 16>
    - aes192_set_encrypt_key
    - SET_AAD_ENCRYPT_BS
    - Nettle_detail::CTRCrypt<struct aes256_ctx, 16, 32>
    - Nettle_detail::CTRCrypt<struct aes128_ctx, 16, 16>
    - Buffer
    - Nettle_detail::CTRCrypt<struct camellia192_ctx, 16, 24>
    - gcm_aes256_set_iv
    - cryptofuzz::module::Nettle_detail::Salsa20Crypt
    - serpent_set_key
    - blowfish_encrypt
    - CF_CIPHER
    - aes128_keywrap
    - gcm_camellia128_digest
    - gcm_aes192_set_iv
    - CF_CHECK_NE
    - gcm_aes192_digest
    - modifier::GetSize
    - eax_aes128_set_key
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Nettle::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1277,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1277,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1283,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1284,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1288,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1288,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1289,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1289,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1290,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1291,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1291,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1293,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1293,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1294,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1294,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1296,1
    - Dst: gcm_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1296,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1296,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1297,1
    - Dst: gcm_aes128_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1297,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1297,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1297,1
    - Dst: SET_AAD_DECRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1298,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1299,1
    - Dst: gcm_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1299,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1299,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1301,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1301,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1301,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1301,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1303,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1303,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1303,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1307,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1311,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1311,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1312,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1312,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1313,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1314,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1314,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1316,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1316,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1317,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1317,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1319,1
    - Dst: gcm_aes192_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1319,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1319,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1320,1
    - Dst: gcm_aes192_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1320,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1320,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1320,1
    - Dst: SET_AAD_DECRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1321,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1322,1
    - Dst: gcm_aes192_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1322,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1322,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1324,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1324,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1324,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1324,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1326,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1326,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1326,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1330,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1334,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1334,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1335,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1335,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1336,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1337,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1337,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1339,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1339,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1340,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1340,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1342,1
    - Dst: gcm_aes256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1342,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1342,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1343,1
    - Dst: gcm_aes256_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1343,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1343,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1343,1
    - Dst: SET_AAD_DECRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1344,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1345,1
    - Dst: gcm_aes256_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1345,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1345,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1347,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1347,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1347,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1347,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1349,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1349,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1349,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1353,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1357,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1357,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1358,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1358,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1359,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1360,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1360,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1361,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1361,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1363,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1363,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1364,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1364,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1366,1
    - Dst: eax_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1366,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1366,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1367,1
    - Dst: eax_aes128_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1367,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1367,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1367,1
    - Dst: SET_AAD_DECRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1368,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1369,1
    - Dst: eax_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1369,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1369,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1371,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1371,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1371,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1371,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1373,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1373,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1373,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1377,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1381,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1381,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1382,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1382,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1383,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1383,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1384,1
    - Dst: find
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1387,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1387,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1387,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1387,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1387,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1392,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1392,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1393,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1393,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1395,1
    - Dst: ccm_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1395,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1395,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: ccm_aes128_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1398,1
    - Dst: ccm_aes128_update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1398,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1398,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1398,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1400,1
    - Dst: ccm_aes128_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1400,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1400,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1400,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1401,1
    - Dst: ccm_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1401,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1401,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1403,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1403,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1403,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1403,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1405,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1405,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1405,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1409,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1413,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1413,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1414,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1414,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1415,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1415,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1416,1
    - Dst: find
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1419,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1419,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1419,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1419,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1419,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1424,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1424,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1425,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1425,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1427,1
    - Dst: ccm_aes192_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1427,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1427,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: ccm_aes192_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1430,1
    - Dst: ccm_aes192_update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1430,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1430,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1430,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1432,1
    - Dst: ccm_aes192_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1432,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1432,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1432,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1433,1
    - Dst: ccm_aes192_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1433,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1433,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1435,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1435,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1435,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1435,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1437,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1437,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1437,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1441,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1445,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1445,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1446,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1446,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1447,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1447,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1448,1
    - Dst: find
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1451,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1451,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1451,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1451,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1451,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1456,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1456,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1457,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1457,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1459,1
    - Dst: ccm_aes256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1459,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1459,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: ccm_aes256_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1462,1
    - Dst: ccm_aes256_update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1462,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1462,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1462,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1464,1
    - Dst: ccm_aes256_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1464,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1464,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1464,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1465,1
    - Dst: ccm_aes256_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1465,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1465,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1467,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1467,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1467,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1467,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1469,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1469,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1469,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1473,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1476,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1476,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1477,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1477,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1478,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1478,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1480,1
    - Dst: chacha_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1480,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1480,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1481,1
    - Dst: chacha_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1481,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1481,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1482,1
    - Dst: chacha_crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1482,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1482,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1482,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1484,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1484,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1484,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1488,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1492,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1492,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1493,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1493,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1494,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1495,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1495,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1497,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1497,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1498,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1498,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1500,1
    - Dst: chacha_poly1305_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1500,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1500,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1501,1
    - Dst: chacha_poly1305_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1501,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1501,1
    - Dst: SET_AAD_DECRYPT_BS
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1502,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1503,1
    - Dst: chacha_poly1305_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1503,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1503,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1505,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1505,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1505,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1505,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1507,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1507,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1507,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1511,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1514,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1514,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1515,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1515,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1516,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1516,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1517,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1517,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1519,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1519,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1521,1
    - Dst: xts_aes128_set_decrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1521,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1521,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1522,1
    - Dst: xts_aes128_decrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1522,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1522,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1522,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1522,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1524,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1524,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1524,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1528,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1531,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1531,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1532,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1532,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1533,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1533,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1534,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1534,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1536,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1536,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1538,1
    - Dst: xts_aes256_set_decrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1538,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1538,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1539,1
    - Dst: xts_aes256_decrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1539,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1539,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1539,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1539,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1541,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1541,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1541,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1545,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1549,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1549,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1550,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1550,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1552,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1552,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1554,1
    - Dst: arcfour_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1554,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1554,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1554,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1555,1
    - Dst: arcfour_crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1555,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1555,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1555,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1557,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1557,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1557,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1561,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1565,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1565,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1566,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1566,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1567,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1568,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1568,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1570,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1570,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1571,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1571,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1573,1
    - Dst: gcm_camellia128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1573,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1573,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1574,1
    - Dst: gcm_camellia128_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1574,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1574,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1574,1
    - Dst: SET_AAD_DECRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1575,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1576,1
    - Dst: gcm_camellia128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1576,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1576,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1578,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1578,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1578,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1578,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1580,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1580,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1580,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1584,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1588,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1588,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1589,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1589,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1590,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1591,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1591,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1593,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1593,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1594,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1594,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1596,1
    - Dst: gcm_camellia256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1596,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1596,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1597,1
    - Dst: gcm_camellia256_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1597,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1597,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1597,1
    - Dst: SET_AAD_DECRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1598,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1599,1
    - Dst: gcm_camellia256_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1599,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1599,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1601,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1601,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1601,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1601,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1603,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1603,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1603,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1607,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1609,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1613,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1615,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1619,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1621,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1625,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1627,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1631,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1635,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1635,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1636,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1636,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1638,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1638,1
    - Dst: des_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1640,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1640,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1641,1
    - Dst: des_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1641,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1641,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1641,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1643,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1643,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1643,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1647,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1651,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1651,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1652,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1652,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1653,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1653,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1655,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1655,1
    - Dst: twofish_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1657,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1657,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1657,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1658,1
    - Dst: twofish_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1658,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1658,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1658,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1660,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1660,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1660,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1664,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1668,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1668,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1669,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1669,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1670,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1670,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1672,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1672,1
    - Dst: serpent_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1674,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1674,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1674,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1675,1
    - Dst: serpent_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1675,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1675,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1675,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1677,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1677,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1677,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1681,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1685,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1685,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1686,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1686,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1687,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1687,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1689,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1689,1
    - Dst: blowfish_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1691,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1691,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1691,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1692,1
    - Dst: blowfish_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1692,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1692,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1692,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1694,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1694,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1694,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1698,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1702,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1702,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1703,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1703,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1704,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1704,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1706,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1706,1
    - Dst: cast5_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1708,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1708,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1708,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1709,1
    - Dst: cast128_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1709,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1709,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1709,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1711,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1711,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1711,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1714,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1718,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1718,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1719,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1719,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1720,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1720,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1721,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1721,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1723,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1723,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1725,1
    - Dst: aes128_set_decrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1725,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1725,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1726,1
    - Dst: aes128_keyunwrap
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1726,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1726,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1726,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1726,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1728,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1728,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1728,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1731,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1735,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1735,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1736,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1736,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1737,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1737,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1738,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1738,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1740,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1740,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1742,1
    - Dst: aes192_set_decrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1742,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1742,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1743,1
    - Dst: aes192_keyunwrap
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1743,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1743,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1743,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1743,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1745,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1745,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1745,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1748,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1752,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1752,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1753,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1753,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1754,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1754,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1755,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1755,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1757,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1757,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1759,1
    - Dst: aes256_set_decrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1759,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1759,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1760,1
    - Dst: aes256_keyunwrap
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1760,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1760,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1760,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1760,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1762,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1762,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1762,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1765,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1769,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1770,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1770,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1771,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1771,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1772,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1772,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1774,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1774,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1777,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1777,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1778,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1778,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1779,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1779,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1779,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1781,1
    - Dst: siv_cmac_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1781,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1781,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1782,1
    - Dst: siv_cmac_aes128_decrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1782,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1783,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1783,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1784,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1784,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1785,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1787,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1787,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1787,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1790,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1794,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1795,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1795,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1796,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1796,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1797,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1797,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1799,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1799,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1802,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1802,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1803,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1803,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1804,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1804,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1804,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1806,1
    - Dst: siv_cmac_aes256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1806,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1806,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1807,1
    - Dst: siv_cmac_aes256_decrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1807,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1808,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1808,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1809,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1809,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1810,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1812,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1812,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1812,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1815,1
    - Dst: Nettle_detail::CTRCrypt<struct aes128_ctx, 16, 16>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1817,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1825,1
    - Dst: Nettle_detail::CTRCrypt<struct aes192_ctx, 16, 24>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1827,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1835,1
    - Dst: Nettle_detail::CTRCrypt<struct aes256_ctx, 16, 32>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1837,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1845,1
    - Dst: Nettle_detail::CTRCrypt<struct camellia128_ctx, 16, 16>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1847,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1855,1
    - Dst: Nettle_detail::CTRCrypt<struct camellia192_ctx, 16, 24>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1857,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1865,1
    - Dst: Nettle_detail::CTRCrypt<struct camellia256_ctx, 16, 32>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1867,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1875,1
    - Dst: Nettle_detail::CTRCrypt<struct sm4_ctx, 16, 16>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1877,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1885,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1891,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1891,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1892,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1892,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1894,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1895,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1895,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1896,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1896,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1898,1
    - Dst: ocb_aes128_set_decrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1898,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1898,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1899,1
    - Dst: ocb_aes128_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1899,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1902,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1903,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1904,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1907,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1909,1
    - Dst: ocb_aes128_update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1909,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1917,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1917,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1919,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1922,1
    - Dst: ocb_aes128_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1922,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1932,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1932,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1933,1
    - Dst: ocb_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1933,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1936,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1939,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1939,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1939,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1939,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1941,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1941,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1941,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1944,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1948,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1948,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1949,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1949,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1950,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1950,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1951,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1952,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1952,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1954,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1954,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1955,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1955,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1955,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1956,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1956,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1956,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1957,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1957,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1959,1
    - Dst: aes128_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1959,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1959,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1960,1
    - Dst: siv_gcm_aes128_decrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1960,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1962,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1962,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1963,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1963,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1964,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1967,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1967,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1967,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1970,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1974,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1974,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1975,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1975,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1976,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1976,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1977,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1978,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1978,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1980,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1980,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1981,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1981,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1981,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1982,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1982,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1982,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1983,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1983,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1985,1
    - Dst: aes256_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1985,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1985,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1986,1
    - Dst: siv_gcm_aes256_decrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1986,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1988,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1988,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1989,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1989,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1990,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1993,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1993,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1993,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1999,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2000,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2001,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 431
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 2004
      start: 1275
    functionDepth: 3
    functionLinenumber: 1275
    functionLinenumberEnd: 2004
    functionName: cryptofuzz::module::Nettle::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - ccm_aes256_set_nonce
    - aes256_set_encrypt_key
    - ocb_aes128_set_decrypt_key
    - xts_aes128_decrypt_message
    - siv_gcm_aes256_decrypt_message
    - cipher::cipherType::Get
    - siv_cmac_aes256_decrypt_message
    - gcm_aes128_set_iv
    - ccm_aes256_update
    - ccm_aes192_decrypt
    - chacha_set_key
    - chacha_crypt
    - siv_cmac_aes256_set_key
    - ccm_aes128_set_key
    - arcfour_set_key
    - CF_CHECK_EQ
    - blowfish_decrypt
    - cipher::iv::GetPtr
    - gcm_aes128_set_key
    - std::vector::end
    - ccm_aes256_set_key
    - cryptofuzz::util::ToParts
    - des_decrypt
    - ccm_aes256_decrypt
    - twofish_set_key
    - gcm_camellia256_set_key
    - arcfour_crypt
    - SET_AAD_DECRYPT
    - ocb_aes128_decrypt
    - gcm_aes128_digest
    - aes192_set_decrypt_key
    - aes128_keyunwrap
    - ccm_aes192_digest
    - chacha_set_nonce
    - memcmp
    - chacha_poly1305_set_key
    - gcm_aes256_digest
    - aad::GetSize
    - std::vector::begin
    - gcm_aes256_set_key
    - ccm_aes192_update
    - ccm_aes128_set_nonce
    - xts_aes256_decrypt_message
    - ccm_aes128_update
    - chacha_poly1305_digest
    - CF_CHECK_GTE
    - find
    - aes128_set_decrypt_key
    - tag::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - CF_NORET
    - ocb_aes128_digest
    - ccm_aes192_set_nonce
    - des_set_key
    - aes128_set_encrypt_key
    - siv_cmac_aes128_decrypt_message
    - ciphertext::GetSize
    - gcm_camellia256_set_iv
    - blowfish_set_key
    - siv_cmac_aes128_set_key
    - modifier::GetPtr
    - component::Cleartext
    - ocb_aes128_update
    - SET_AAD_DECRYPT_BS
    - eax_aes128_set_nonce
    - memcpy
    - CF_CHECK_LTE
    - gcm_camellia128_set_iv
    - ccm_aes192_set_key
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - eax_aes128_digest
    - cipher::key::GetSize
    - gcm_camellia128_set_key
    - tag::GetPtr
    - ccm_aes256_digest
    - aad::GetPtr
    - Nettle_detail::CTRCrypt<struct sm4_ctx, 16, 16>
    - Nettle_detail::CTRCrypt<struct camellia256_ctx, 16, 32>
    - CF_CHECK_GT
    - gcm_aes192_set_key
    - ocb_aes128_set_nonce
    - serpent_decrypt
    - ciphertext::GetPtr
    - cast5_set_key
    - ccm_aes128_digest
    - gcm_camellia256_digest
    - xts_aes128_set_decrypt_key
    - cast128_decrypt
    - siv_gcm_aes128_decrypt_message
    - chacha_poly1305_set_nonce
    - Nettle_detail::CTRCrypt<struct aes192_ctx, 16, 24>
    - xts_aes256_set_decrypt_key
    - Nettle_detail::CTRCrypt<struct camellia128_ctx, 16, 16>
    - twofish_decrypt
    - Nettle_detail::CTRCrypt<struct aes256_ctx, 16, 32>
    - Nettle_detail::CTRCrypt<struct aes128_ctx, 16, 16>
    - Buffer
    - Nettle_detail::CTRCrypt<struct camellia192_ctx, 16, 24>
    - gcm_aes256_set_iv
    - cryptofuzz::module::Nettle_detail::Salsa20Crypt
    - aes256_keyunwrap
    - serpent_set_key
    - CF_CIPHER
    - ccm_aes128_decrypt
    - aes192_keyunwrap
    - gcm_camellia128_digest
    - gcm_aes192_set_iv
    - CF_CHECK_NE
    - gcm_aes192_digest
    - aes256_set_decrypt_key
    - modifier::GetSize
    - eax_aes128_set_key
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Nettle::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2017,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2019,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2019,1
    - Dst: hkdf_extract
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2020,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2024,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2024,1
    - Dst: hkdf_expand
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2026,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2030,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2031,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2034,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - ' op'
    - set_key
    - update
    - digest
    argTypes:
    - operation::KDF_HKDF
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2038
      start: 2008
    functionDepth: 2
    functionLinenumber: 2008
    functionLinenumberEnd: 2038
    functionName: cryptofuzz::module::Nettle_detail::HKDF
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - hkdf_extract
    - password::GetPtr
    - hkdf_expand
    - info::GetSize
    - CF_CHECK_LTE
    - info::GetPtr
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> HKDF(operation::KDF_HKDF& op, void* set_key,
      void* update, void* digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2044,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2045,1
    - Dst: Nettle_detail::HKDF<hmac_md5_ctx, MD5_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2046,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2048,1
    - Dst: Nettle_detail::HKDF<hmac_ripemd160_ctx, RIPEMD160_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2049,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2051,1
    - Dst: Nettle_detail::HKDF<hmac_sha1_ctx, SHA1_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2052,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2054,1
    - Dst: Nettle_detail::HKDF<hmac_sha224_ctx, SHA224_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2055,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2057,1
    - Dst: Nettle_detail::HKDF<hmac_sha256_ctx, SHA256_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2058,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2060,1
    - Dst: Nettle_detail::HKDF<hmac_sha384_ctx, SHA384_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2061,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2063,1
    - Dst: Nettle_detail::HKDF<hmac_sha512_ctx, SHA512_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2064,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2066,1
    - Dst: Nettle_detail::HKDF<hmac_streebog256_ctx, STREEBOG256_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2067,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2069,1
    - Dst: Nettle_detail::HKDF<hmac_streebog512_ctx, STREEBOG512_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2070,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2072,1
    - Dst: Nettle_detail::HKDF<hmac_sm3_ctx, SM3_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2073,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2075,1
    - Dst: Nettle_detail::HKDF<hmac_gosthash94_ctx, GOSTHASH94_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2076,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 2081
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2081
    functionName: cryptofuzz::module::Nettle::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - Nettle_detail::HKDF<hmac_sha1_ctx, SHA1_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_streebog256_ctx, STREEBOG256_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_md5_ctx, MD5_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_sha224_ctx, SHA224_DIGEST_SIZE>
    - digestType::Get
    - Nettle_detail::HKDF<hmac_sha384_ctx, SHA384_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_sha256_ctx, SHA256_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_sha512_ctx, SHA512_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_streebog512_ctx, STREEBOG512_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_sm3_ctx, SM3_DIGEST_SIZE>
    - CF_DIGEST
    - Nettle_detail::HKDF<hmac_ripemd160_ctx, RIPEMD160_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_gosthash94_ctx, GOSTHASH94_DIGEST_SIZE>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Nettle::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2088,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2090,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2091,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2093,1
    - Dst: pbkdf2_hmac_sha1
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2093,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2093,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2093,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2093,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2093,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2094,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2097,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2099,1
    - Dst: pbkdf2_hmac_sha256
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2099,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2099,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2099,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2099,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2099,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2100,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2103,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2105,1
    - Dst: pbkdf2_hmac_sha384
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2105,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2105,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2105,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2105,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2105,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2106,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2109,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2111,1
    - Dst: pbkdf2_hmac_sha512
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2111,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2111,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2111,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2111,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2111,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2112,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2115,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2117,1
    - Dst: pbkdf2_hmac_gosthash94cp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2117,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2117,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2117,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2117,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2117,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2118,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 2127
      start: 2083
    functionDepth: 2
    functionLinenumber: 2083
    functionLinenumberEnd: 2127
    functionName: cryptofuzz::module::Nettle::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - pbkdf2_hmac_sha256
    - salt::GetPtr
    - pbkdf2_hmac_sha384
    - password::GetPtr
    - CF_NORET
    - pbkdf2_hmac_sha512
    - digestType::Get
    - pbkdf2_hmac_gosthash94cp
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - pbkdf2_hmac_sha1
    - CF_DIGEST
    - salt::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Nettle::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2133,1
    - Dst: nettle_get_secp_192r1
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2134,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2135,1
    - Dst: nettle_get_secp_224r1
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2136,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2137,1
    - Dst: nettle_get_secp_256r1
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2138,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2139,1
    - Dst: nettle_get_secp_384r1
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2140,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2141,1
    - Dst: nettle_get_secp_521r1
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2142,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2143,1
    - Dst: nettle_get_gost_gc512a
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - curveID
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2148
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2148
    functionName: cryptofuzz::module::Nettle_detail::to_ecc_curve
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - nettle_get_secp_521r1
    - CF_ECC_CURVE
    - nettle_get_secp_384r1
    - nettle_get_secp_256r1
    - nettle_get_secp_192r1
    - nettle_get_secp_224r1
    - nettle_get_gost_gc512a
    linkageType: ''
    returnType: struct ecc_curve
    signature: struct ecc_curve * to_ecc_curve(const uint64_t curveID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2156,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2163,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2164,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2164,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2165,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2165,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - size
    - out
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2171
      start: 2153
    functionDepth: 1
    functionLinenumber: 2153
    functionLinenumberEnd: 2171
    functionName: cryptofuzz::module::Nettle_detail::nettle_fuzzer_random_func
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - auto::data
    - GetData
    - auto::size
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void nettle_fuzzer_random_func(void *ctx, size_t size, uint8_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2177,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2177,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2177,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2179,1
    - Dst: curve25519_mul_g
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2179,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2179,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 2184
      start: 2173
    functionDepth: 2
    functionLinenumber: 2173
    functionLinenumberEnd: 2184
    functionName: cryptofuzz::module::Nettle_detail::OpECC_PrivateToPublic_curve25519
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - curve25519_mul_g
    - CF_NORET
    - cryptofuzz::util::DecToBin
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - priv::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic_curve25519(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2190,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2190,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2190,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2192,1
    - Dst: curve448_mul_g
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2192,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2192,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 2197
      start: 2186
    functionDepth: 2
    functionLinenumber: 2186
    functionLinenumberEnd: 2197
    functionName: cryptofuzz::module::Nettle_detail::OpECC_PrivateToPublic_curve448
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - curve448_mul_g
    - CF_NORET
    - cryptofuzz::util::DecToBin
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - priv::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic_curve448(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2206,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2206,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2215,1
    - Dst: cryptofuzz::module::Nettle_detail::to_ecc_curve
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2215,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2215,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2217,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2217,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2218,1
    - Dst: ecc_scalar_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2218,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2219,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2219,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2220,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2220,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2221,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2221,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2227,1
    - Dst: ecdsa_generate_keypair
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2227,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2230,1
    - Dst: ecc_scalar_get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2230,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2231,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2233,1
    - Dst: ecc_point_get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2233,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2234,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2235,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2238,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2239,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2239,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2244,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2244,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2245,1
    - Dst: ecc_scalar_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2245,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2246,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2246,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2247,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2247,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2248,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2248,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2249,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2250,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 2255
      start: 2201
    functionDepth: 2
    functionLinenumber: 2201
    functionLinenumberEnd: 2255
    functionName: cryptofuzz::module::Nettle::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - ecc_scalar_init
    - modifier::GetPtr
    - ecc_point_init
    - CF_NORET
    - ecc_scalar_get
    - mpz_get_str
    - ecc_scalar_clear
    - free
    - mpz_init
    - cryptofuzz::module::Nettle_detail::to_ecc_curve
    - ecc_point_clear
    - std::string
    - mpz_clear
    - CF_CHECK_NE
    - ecdsa_generate_keypair
    - modifier::GetSize
    - ecc_point_get
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> Nettle::OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2269,1
    - Dst: cryptofuzz::module::Nettle_detail::to_ecc_curve
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2269,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2269,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2271,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2271,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2272,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2272,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2273,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2273,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2276,1
    - Dst: mpz_init_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2276,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2276,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2277,1
    - Dst: mpz_init_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2277,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2277,1
    - Dst: ecc_point_set
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2279,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2282,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2282,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2283,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2283,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2284,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 2289
      start: 2257
    functionDepth: 1
    functionLinenumber: 2257
    functionLinenumberEnd: 2289
    functionName: cryptofuzz::module::Nettle::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - pub::first::ToTrimmedString
    - ecc_point_init
    - pub::second::ToTrimmedString
    - CF_NORET
    - CF_CHECK_EQ
    - mpz_init
    - cryptofuzz::module::Nettle_detail::to_ecc_curve
    - ecc_point_clear
    - mpz_clear
    - CF_CHECK_NE
    - ecc_point_set
    - mpz_init_set_str
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Nettle::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2297,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2297,1
    - Dst: cryptofuzz::module::Nettle_detail::OpECC_PrivateToPublic_curve25519
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2298,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2299,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2299,1
    - Dst: cryptofuzz::module::Nettle_detail::OpECC_PrivateToPublic_curve448
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2300,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2310,1
    - Dst: cryptofuzz::module::Nettle_detail::to_ecc_curve
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2310,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2310,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2312,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2312,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2313,1
    - Dst: ecc_scalar_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2313,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2314,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2314,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2315,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2315,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2316,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2316,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2321,1
    - Dst: mpz_init_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2321,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2321,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2322,1
    - Dst: ecc_scalar_set
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2322,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2324,1
    - Dst: ecc_point_mul_g
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2324,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2325,1
    - Dst: ecc_point_get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2325,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2327,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2328,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2334,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2334,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2335,1
    - Dst: ecc_scalar_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2335,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2336,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2336,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2337,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2337,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2338,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2338,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2339,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 2345
      start: 2291
    functionDepth: 3
    functionLinenumber: 2291
    functionLinenumberEnd: 2345
    functionName: cryptofuzz::module::Nettle::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Nettle_detail::to_ecc_curve
    - ecc_point_clear
    - priv::ToTrimmedString
    - ecc_point_get
    - curveType::Get
    - ecc_point_init
    - cryptofuzz::module::Nettle_detail::OpECC_PrivateToPublic_curve448
    - ecc_scalar_set
    - curveType::Is
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - mpz_init_set_str
    - ecc_scalar_init
    - ecc_scalar_clear
    - CF_NORET
    - mpz_get_str
    - free
    - mpz_init
    - mpz_clear
    - cryptofuzz::module::Nettle_detail::OpECC_PrivateToPublic_curve25519
    - CF_CHECK_NE
    - ecc_point_mul_g
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> Nettle::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2353,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2353,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2355,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2355,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2367,1
    - Dst: cryptofuzz::module::Nettle_detail::to_ecc_curve
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2367,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2367,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2369,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2369,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2370,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2370,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2371,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2371,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2372,1
    - Dst: dsa_signature_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2372,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2375,1
    - Dst: mpz_init_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2375,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2375,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2376,1
    - Dst: mpz_init_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2376,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2376,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2377,1
    - Dst: ecc_point_set
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2377,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2378,1
    - Dst: mpz_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2378,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2378,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2379,1
    - Dst: mpz_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2379,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2379,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2381,1
    - Dst: ecdsa_verify
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2382,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2382,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2382,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2385,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2385,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2386,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2386,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2387,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2387,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2388,1
    - Dst: dsa_signature_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 2393
      start: 2347
    functionDepth: 2
    functionLinenumber: 2347
    functionLinenumberEnd: 2393
    functionName: cryptofuzz::module::Nettle::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::first::ToTrimmedString
    - cryptofuzz::module::Nettle_detail::to_ecc_curve
    - ecc_point_clear
    - mpz_set_str
    - CF_DIGEST
    - curveType::Get
    - modifier::GetPtr
    - ecc_point_init
    - dsa_signature_init
    - ecc_point_set
    - Buffer::GetPtr
    - signature::signature::first::ToTrimmedString
    - CF_CHECK_EQ
    - ecdsa_verify
    - mpz_init_set_str
    - cleartext::ECDSA_RandomPad
    - signature::pub::second::ToTrimmedString
    - signature::signature::second::ToTrimmedString
    - CF_NORET
    - mpz_init
    - digestType::Is
    - Buffer::GetSize
    - mpz_clear
    - CF_CHECK_NE
    - dsa_signature_clear
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Nettle::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2401,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2404,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2404,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2408,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2408,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2420,1
    - Dst: cryptofuzz::module::Nettle_detail::to_ecc_curve
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2420,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2420,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2422,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2422,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2423,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2423,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2424,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2424,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2425,1
    - Dst: dsa_signature_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2425,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2426,1
    - Dst: ecc_scalar_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2426,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2427,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2427,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2430,1
    - Dst: mpz_init_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2430,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2430,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2431,1
    - Dst: ecc_scalar_set
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2431,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2433,1
    - Dst: ecdsa_sign
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2437,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2440,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2440,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2443,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2444,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2446,1
    - Dst: ecc_point_mul_g
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2446,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2447,1
    - Dst: ecc_point_get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2447,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2449,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2450,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2456,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2456,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2457,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2457,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2458,1
    - Dst: ecc_scalar_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2458,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2459,1
    - Dst: dsa_signature_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2459,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2460,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2460,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2461,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2461,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2462,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2463,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2464,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 2470
      start: 2395
    functionDepth: 2
    functionLinenumber: 2395
    functionLinenumberEnd: 2470
    functionName: cryptofuzz::module::Nettle::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Nettle_detail::to_ecc_curve
    - ecc_point_clear
    - CF_DIGEST
    - priv::ToTrimmedString
    - ecc_point_get
    - curveType::Get
    - dsa_signature_clear
    - modifier::GetPtr
    - ecc_point_init
    - dsa_signature_init
    - ecc_scalar_set
    - Buffer::GetPtr
    - CF_CHECK_EQ
    - ecdsa_sign
    - cleartext::ECDSA_RandomPad
    - mpz_init_set_str
    - ecc_scalar_init
    - ecc_scalar_clear
    - CF_NORET
    - mpz_get_str
    - free
    - mpz_init
    - digestType::Is
    - Buffer::GetSize
    - mpz_clear
    - CF_CHECK_NE
    - UseRandomNonce
    - ecc_point_mul_g
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> Nettle::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2486,1
    - Dst: cryptofuzz::module::Nettle_detail::to_ecc_curve
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2486,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2486,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2488,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2488,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2489,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2489,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2490,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2490,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2491,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2491,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2492,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2492,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2493,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2493,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2494,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2494,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2495,1
    - Dst: ecc_scalar_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2495,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2498,1
    - Dst: mpz_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2498,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2498,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2499,1
    - Dst: mpz_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2499,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2499,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2500,1
    - Dst: ecc_point_set
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2500,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2502,1
    - Dst: mpz_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2502,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2502,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2503,1
    - Dst: ecc_scalar_set
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2503,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2505,1
    - Dst: ecc_point_mul
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2505,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2507,1
    - Dst: ecc_point_get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2507,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2509,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2510,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2512,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2512,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2516,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2516,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2517,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2517,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2518,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2518,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2519,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2519,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2520,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2520,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2521,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2521,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2522,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2522,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2523,1
    - Dst: ecc_scalar_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2523,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2524,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 2530
      start: 2472
    functionDepth: 1
    functionLinenumber: 2472
    functionLinenumberEnd: 2530
    functionName: cryptofuzz::module::Nettle::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Nettle_detail::to_ecc_curve
    - ecc_point_clear
    - ecc_point_mul
    - std::string
    - mpz_set_str
    - ecc_point_get
    - curveType::Get
    - ecc_point_init
    - ecc_point_set
    - ecc_scalar_set
    - a::second::ToTrimmedString
    - a::first::ToTrimmedString
    - CF_CHECK_EQ
    - b::ToTrimmedString
    - ecc_scalar_init
    - ecc_scalar_clear
    - CF_NORET
    - mpz_get_str
    - free
    - mpz_init
    - mpz_clear
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Nettle::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: uint_error::uint_error
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint_error(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: base_uint::base_uint
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_uint()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: base_uint::base_uint
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_uint(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: '& operator=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: base_uint::base_uint
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_uint(uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: operator~() const
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator~() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: operator-() const
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator-() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: '& operator=(uint64_t b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator=(uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: '& operator^=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator^=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: '& operator&=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator&=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: '& operator|=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator|=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: '& operator^=(uint64_t b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator^=(uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: '& operator|=(uint64_t b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator|=(uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: '& operator+=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator+=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: '& operator-=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator-=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b64
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: '& operator+=(uint64_t b64)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator+=(uint64_t b64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b64
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: '& operator-=(uint64_t b64)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator-=(uint64_t b64)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: '& operator++()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator++()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: operator++(int)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator++(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: '& operator--()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator--()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: operator--(int)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator--(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: operator+(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator+(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: operator-(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator-(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: operator*(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator*(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: operator/(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator/(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: operator|(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator|(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: operator&(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator&(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: operator^(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator^(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - shift
    argTypes:
    - base_uint
    - int
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: operator>>(const base_uint& a, int shift)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator>>(const base_uint& a, int shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - shift
    argTypes:
    - base_uint
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: operator<<(const base_uint& a, int shift)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator<<(const base_uint& a, int shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - base_uint
    - uint32_t
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: operator*(const base_uint& a, uint32_t b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator*(const base_uint& a, uint32_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: operator==(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: operator!=(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompareTo
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: operator>(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - CompareTo
    linkageType: ''
    returnType: bool
    signature: bool operator>(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompareTo
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: operator<(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - CompareTo
    linkageType: ''
    returnType: bool
    signature: bool operator<(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompareTo
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: operator>=(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - CompareTo
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompareTo
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: operator<=(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - CompareTo
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EqualTo
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - base_uint
    - uint64_t
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: operator==(const base_uint& a, uint64_t b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - EqualTo
    linkageType: ''
    returnType: bool
    signature: bool operator==(const base_uint& a, uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EqualTo
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - base_uint
    - uint64_t
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: operator!=(const base_uint& a, uint64_t b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - EqualTo
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const base_uint& a, uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: base_uint::size
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: base_uint::GetLow64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetLow64() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: arith_uint256::arith_uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint256()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint<256>
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: arith_uint256::arith_uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint256(const base_uint<256>& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: arith_uint256::arith_uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint256(uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: arith_uint256::arith_uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint256(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: cryptofuzz::module::Bitcoin::Bitcoin
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bitcoin::Bitcoin(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alg>::Write
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - alg
    - data
    - size
    argTypes:
    - std::shared_ptr<Alg>
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: cryptofuzz::module::Bitcoin_detail::digest_write
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Alg>::Write
    linkageType: ''
    returnType: void
    signature: void digest_write(std::shared_ptr<Alg> alg, const uint8_t* data, const
      size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<SHA3_256>::Write
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - alg
    - data
    - size
    argTypes:
    - std::shared_ptr<SHA3_256>
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: cryptofuzz::module::Bitcoin_detail::digest_write
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<SHA3_256>::Write
    linkageType: ''
    returnType: void
    signature: void digest_write(std::shared_ptr<SHA3_256> alg, const uint8_t* data,
      const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:59,1
    - Dst: std::make_shared<Alg>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:60,1
    - Dst: cryptofuzz::module::Bitcoin_detail::digest_write
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:67,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:69,1
    - Dst: std::shared_ptr::Reset
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:70,1
    - Dst: std::shared_ptr::Finalize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:81,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::Digest
    - Datasource
    constantsTouched: []
    func_position:
      end: 86
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 86
    functionName: cryptofuzz::module::Bitcoin_detail::digest
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::Finalize
    - generate_Digest
    - cryptofuzz::util::ToParts
    - std::shared_ptr::Reset
    - std::make_shared<Alg>
    - cryptofuzz::module::Bitcoin_detail::digest_write
    - Get
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> digest(operation::Digest& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:93,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:93,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:95,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:96,1
    - Dst: Bitcoin_detail::digest<CSHA1>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:97,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:98,1
    - Dst: Bitcoin_detail::digest<CSHA256>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:99,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:100,1
    - Dst: Bitcoin_detail::digest<CSHA512>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:101,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:102,1
    - Dst: Bitcoin_detail::digest<CRIPEMD160>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:103,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:104,1
    - Dst: Bitcoin_detail::digest<SHA3_256>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::Bitcoin::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - Bitcoin_detail::digest<SHA3_256>
    - modifier::GetPtr
    - Bitcoin_detail::digest<CSHA256>
    - Bitcoin_detail::digest<CRIPEMD160>
    - digestType::Get
    - CF_DIGEST
    - modifier::GetSize
    - Bitcoin_detail::digest<CSHA512>
    - Bitcoin_detail::digest<CSHA1>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Bitcoin::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:122,1
    - Dst: std::make_unique<Alg>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:123,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:123,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:123,1
    - Dst: std::unique_ptr::Write
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:128,1
    - Dst: std::unique_ptr::Finalize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:134,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 139
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 139
    functionName: cryptofuzz::module::Bitcoin_detail::hmac
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - std::unique_ptr::Write
    - std::make_unique<Alg>
    - generate_HMAC
    - std::unique_ptr::Finalize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> hmac(operation::HMAC& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:152,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:157,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:157,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:158,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:158,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:160,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:160,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:163,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:169,1
    - Dst: SipHashUint256
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:170,1
    - Dst: uint256
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:170,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:170,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:171,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:175,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:175,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:176,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:176,1
    - Dst: SipHashUint256Extra
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:178,1
    - Dst: uint256
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:181,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:181,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:184,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:187,1
    - Dst: std::make_unique<CSipHasher>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:193,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:196,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:196,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:197,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:199,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:199,1
    - Dst: std::unique_ptr::Write
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:200,1
    - Dst: std::unique_ptr::Finalize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:203,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:204,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:210,1
    - Dst: std::unique_ptr::Write
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:216,1
    - Dst: std::unique_ptr::Finalize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:222,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:223,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 227
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 227
    functionName: cryptofuzz::module::Bitcoin_detail::SipHash64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::Get
    - generate_Digest
    - cipher::key::GetSize
    - uint256
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - cleartext::GetSize
    - std::vector<uint8_t>
    - memcpy
    - abort
    - cleartext::GetPtr
    - std::unique_ptr::Write
    - SipHashUint256
    - SipHashUint256Extra
    - std::unique_ptr::Finalize
    - Get
    - std::make_unique<CSipHasher>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> SipHash64(operation::HMAC& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:233,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:233,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:235,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:236,1
    - Dst: Bitcoin_detail::hmac<CHMAC_SHA256>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:237,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:238,1
    - Dst: Bitcoin_detail::hmac<CHMAC_SHA512>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:239,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:240,1
    - Dst: cryptofuzz::module::Bitcoin_detail::SipHash64
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 5
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: cryptofuzz::module::Bitcoin::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::Bitcoin_detail::SipHash64
    - digestType::Get
    - CF_DIGEST
    - Bitcoin_detail::hmac<CHMAC_SHA512>
    - Bitcoin_detail::hmac<CHMAC_SHA256>
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Bitcoin::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:252,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:252,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:255,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:261,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:261,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:263,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:263,1
    - Dst: ChaCha20::SetIV
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:264,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:268,1
    - Dst: ChaCha20::Crypt
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:268,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:268,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:268,1
    - Dst: T
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:270,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:270,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:270,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' key'
    - ' iv'
    - ' in'
    argTypes:
    - Buffer
    - Buffer
    - Buffer
    constantsTouched: []
    func_position:
      end: 274
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 274
    functionName: cryptofuzz::module::Bitcoin_detail::chacha20
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - ChaCha20::SetIV
    - memcpy
    - cryptofuzz::util::free
    - GetPtr
    - T
    - ChaCha20::Crypt
    - Buffer
    - GetSize
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> chacha20(const Buffer& key, const Buffer& iv, const
      Buffer& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:279,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:283,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:291,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:296,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:296,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:297,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:297,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:301,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:301,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:301,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:301,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:303,1
    - Dst: ChaCha20Poly1305AEAD::Crypt
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:303,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:303,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:303,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:305,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:305,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:307,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:308,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:308,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:309,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:309,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 315
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 315
    functionName: cryptofuzz::module::Bitcoin_detail::chacha20_poly1305
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_TRUE
    - cleartext::GetSize
    - ChaCha20Poly1305AEAD::Crypt
    - memcpy
    - cleartext::GetPtr
    - aad::GetPtr
    - cipher::iv::GetSize
    - aad::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::component::Ciphertext::Ciphertext
    - Buffer
    - CF_ASSERT
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> chacha20_poly1305(const operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:320,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:324,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:328,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:332,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:338,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:338,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:338,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:338,1
    - Dst: cryptofuzz::util::Append
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:340,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:340,1
    - Dst: tag::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:340,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:341,1
    - Dst: ChaCha20Poly1305AEAD::Crypt
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:341,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:341,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:341,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:343,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:343,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:345,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:345,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:345,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 351
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 351
    functionName: cryptofuzz::module::Bitcoin_detail::chacha20_poly1305
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - Buffer
    - tag::GetSize
    - cipher::key::GetSize
    - ciphertext::Get
    - cipher::key::GetPtr
    - CF_CHECK_TRUE
    - ChaCha20Poly1305AEAD::Crypt
    - component::Cleartext
    - cryptofuzz::util::free
    - auto::data
    - aad::GetPtr
    - cipher::iv::GetSize
    - aad::GetSize
    - ciphertext::GetSize
    - auto::size
    - cryptofuzz::util::Append
    - tag::Get
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> chacha20_poly1305(const operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:362,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:362,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:363,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:363,1
    - Dst: std::make_unique<AES256CBCEncrypt>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:364,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:364,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:364,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:369,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:369,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:369,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:369,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:374,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:374,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 381
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 381
    functionName: cryptofuzz::module::Bitcoin_detail::aes_256_cbc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - CF_CHECK_GT
    - cleartext::GetSize
    - cryptofuzz::util::free
    - cleartext::GetPtr
    - cipher::iv::GetSize
    - std::unique_ptr::Encrypt
    - cryptofuzz::component::Ciphertext::Ciphertext
    - Buffer
    - cipher::iv::GetPtr
    - std::make_unique<AES256CBCEncrypt>
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> aes_256_cbc(const operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:392,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:392,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:392,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:393,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:393,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:394,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:394,1
    - Dst: std::make_unique<AES256CBCDecrypt>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:395,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:395,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:395,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:400,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:400,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:400,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:400,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:405,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 412
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 412
    functionName: cryptofuzz::module::Bitcoin_detail::aes_256_cbc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - CF_CHECK_GT
    - component::Cleartext
    - std::make_unique<AES256CBCDecrypt>
    - std::unique_ptr::Decrypt
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CIPHER
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> aes_256_cbc(const operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:417,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:417,1
    - Dst: Bitcoin_detail::chacha20<component::Ciphertext>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:418,1
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:419,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:419,1
    - Dst: cryptofuzz::module::Bitcoin_detail::chacha20_poly1305
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:420,1
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:421,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:421,1
    - Dst: cryptofuzz::module::Bitcoin_detail::aes_256_cbc
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 427
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 427
    functionName: cryptofuzz::module::Bitcoin::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - Bitcoin_detail::chacha20<component::Ciphertext>
    - cipher::cipherType::Is
    - cryptofuzz::module::Bitcoin_detail::chacha20_poly1305
    - cryptofuzz::module::Bitcoin_detail::aes_256_cbc
    - CF_CIPHER
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Bitcoin::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:430,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:430,1
    - Dst: Bitcoin_detail::chacha20<component::Cleartext>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:431,1
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:432,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:432,1
    - Dst: cryptofuzz::module::Bitcoin_detail::chacha20_poly1305
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:433,1
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:434,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:434,1
    - Dst: cryptofuzz::module::Bitcoin_detail::aes_256_cbc
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 439
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 439
    functionName: cryptofuzz::module::Bitcoin::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - Bitcoin_detail::chacha20<component::Cleartext>
    - cipher::cipherType::Is
    - cryptofuzz::module::Bitcoin_detail::chacha20_poly1305
    - cryptofuzz::module::Bitcoin_detail::aes_256_cbc
    - CF_CIPHER
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Bitcoin::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:442,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:442,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:450,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:457,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:457,1
    - Dst: salt::AsString
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:458,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:460,1
    - Dst: CHKDF_HMAC_SHA256_L32::Expand32
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:460,1
    - Dst: info::AsString
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:460,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 463
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 463
    functionName: cryptofuzz::module::Bitcoin::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - CHKDF_HMAC_SHA256_L32::Expand32
    - password::GetPtr
    - CF_NORET
    - info::AsString
    - info::GetSize
    - digestType::Is
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::AsString
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Bitcoin::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: cryptofuzz::module::Bitcoin_detail::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:478,1
    - Dst: UintToArith256
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:482,1
    - Dst: ArithToUint256
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:482,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:489,1
    - Dst: getdouble
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 499
    functionName: '& Ref(void)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - ArithToUint256
    - UintToArith256
    - Get
    - getdouble
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 & Ref(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' A'
    - ' B'
    argTypes:
    - fuzzing::datasource::Datasource
    - arith_uint256
    - arith_uint256
    constantsTouched: []
    func_position:
      end: 515
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 515
    functionName: cryptofuzz::module::Bitcoin_detail::UseParamTwice
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool UseParamTwice(fuzzing::datasource::Datasource& ds, const arith_uint256&
      A, const arith_uint256& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: cryptofuzz::module::Bitcoin_detail::GetMod3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetMod3(fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:538,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:542,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:542,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:547,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:547,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:547,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:548,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:548,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:548,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:552,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:554,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:555,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:556,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:556,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:556,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:558,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:559,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:559,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:559,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:561,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:562,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:562,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:562,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:564,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:565,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:565,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:566,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:566,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:566,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:568,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:569,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:569,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:569,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:571,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:572,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:572,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:572,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:574,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:575,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:575,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:575,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:577,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:578,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:578,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:578,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:580,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:581,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:581,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:581,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:583,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:584,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:584,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:586,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:587,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:587,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:589,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:590,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:590,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:590,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:592,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:593,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:593,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:593,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:595,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:596,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:596,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:596,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:598,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:599,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:599,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:605,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:605,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 614
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 614
    functionName: cryptofuzz::module::Bitcoin::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - RESULT
    - Ref
    - modifier::GetPtr
    - PREPARE_RESULT
    - cryptofuzz::util::DecToHex
    - modulo::ToTrimmedString
    - bn1::ToTrimmedString
    - calcOp::Get
    - CF_CHECK_NE
    - bn0::ToTrimmedString
    - PARAM_B
    - modifier::GetSize
    - cryptofuzz::util::HexToDec
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Bitcoin::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 618
    functionName: cryptofuzz::module::Bitcoin::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bitcoin::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Span::Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - begin
    - size
    argTypes:
    - T*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Span::Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span(T* begin, std::size_t size) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span(const Span&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - (a)
    argTypes:
    - C[]
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span(C (&a)[N]) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<V&>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:158,1
    - Dst: std::declval<V&>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:159,1
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:160,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ' other SPAN_ATTR_LIFETIMEBOUND'
    argTypes:
    - V
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - data
    - std::declval<V&>
    - size
    linkageType: ''
    returnType: void
    signature: "void Span(V& other SPAN_ATTR_LIFETIMEBOUND,\n        typename std::enable_if<!is_Span<V>::value
      &&\n                                std::is_convertible<typename std::remove_pointer<decltype(std::declval<V&>().data())>::type
      (*)[], C (*)[]>::value &&\n                                std::is_convertible<decltype(std::declval<V&>().size()),
      std::size_t>::value, std::nullptr_t>::type = nullptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<const V&>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:165,1
    - Dst: std::declval<const V&>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:166,1
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:167,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ' other SPAN_ATTR_LIFETIMEBOUND'
    argTypes:
    - V
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - std::declval<const V&>
    - data
    - size
    linkageType: ''
    returnType: void
    signature: "void Span(const V& other SPAN_ATTR_LIFETIMEBOUND,\n        typename
      std::enable_if<!is_Span<V>::value &&\n                                std::is_convertible<typename
      std::remove_pointer<decltype(std::declval<const V&>().data())>::type (*)[],
      C (*)[]>::value &&\n                                std::is_convertible<decltype(std::declval<const
      V&>().size()), std::size_t>::value, std::nullptr_t>::type = nullptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: data
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 300
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: C * data() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: begin
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 92
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: C * begin() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: end
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 136
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: C * end() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:174,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: front
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - ASSERT_IF_DEBUG
    - size
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG & front() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:179,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: back
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 55
    functionsReached:
    - ASSERT_IF_DEBUG
    - size
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG & back() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: size
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 313
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: empty
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 34
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool empty() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:186,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: '& operator[](std::size_t pos) const noexcept'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - ASSERT_IF_DEBUG
    - size
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG & operator[](std::size_t pos) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:191,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:191,1
    - Dst: Span
      Src: /src/cryptofuzz/modules/bitcoin/span.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: subspan
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - ASSERT_IF_DEBUG
    - size
    - Span
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG subspan(std::size_t offset) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:196,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:196,1
    - Dst: Span
      Src: /src/cryptofuzz/modules/bitcoin/span.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - offset
    - count
    argTypes:
    - std::size_t
    - std::size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: subspan
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - ASSERT_IF_DEBUG
    - size
    - Span
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG subspan(std::size_t offset, std::size_t count)
      const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:201,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:201,1
    - Dst: Span
      Src: /src/cryptofuzz/modules/bitcoin/span.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: first
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - ASSERT_IF_DEBUG
    - size
    - Span
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG first(std::size_t count) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:206,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:206,1
    - Dst: Span
      Src: /src/cryptofuzz/modules/bitcoin/span.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: last
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - ASSERT_IF_DEBUG
    - size
    - Span
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG last(std::size_t count) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:210,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:210,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/span.h:210,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/span.h:210,1
    - Dst: end
      Src: /src/cryptofuzz/modules/bitcoin/span.h:210,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/span.h:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Span
    - Span
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: operator==(const Span& a, const Span& b) noexcept
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - end
    - std::equal
    - begin
    - size
    linkageType: ''
    returnType: friend
    signature: friend operator==(const Span& a, const Span& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Span
    - Span
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: operator!=(const Span& a, const Span& b) noexcept
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator!=(const Span& a, const Span& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::lexicographical_compare
      Src: /src/cryptofuzz/modules/bitcoin/span.h:212,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/span.h:212,1
    - Dst: end
      Src: /src/cryptofuzz/modules/bitcoin/span.h:212,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/span.h:212,1
    - Dst: end
      Src: /src/cryptofuzz/modules/bitcoin/span.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Span
    - Span
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: operator<(const Span& a, const Span& b) noexcept
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - std::lexicographical_compare
    - begin
    - end
    linkageType: ''
    returnType: friend
    signature: friend operator<(const Span& a, const Span& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Span
    - Span
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: operator<=(const Span& a, const Span& b) noexcept
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator<=(const Span& a, const Span& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Span
    - Span
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: operator>(const Span& a, const Span& b) noexcept
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator>(const Span& a, const Span& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Span
    - Span
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: operator>=(const Span& a, const Span& b) noexcept
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator>=(const Span& a, const Span& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span
      Src: /src/cryptofuzz/modules/bitcoin/span.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (a)
    argTypes:
    - A[]
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: MakeSpan
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - Span
    linkageType: ''
    returnType: Span<A>
    signature: Span<A> MakeSpan(A (&a)[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:224,1
    - Dst: std::forward<V>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: std::enable_if<!std::is_lvalue_reference<V>::value, Span<const typename
      std::remove_pointer<decltype(v.data())>::type>>::type
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - data
    - std::forward<V>
    linkageType: ''
    returnType: auto
    signature: auto std::enable_if<!std::is_lvalue_reference<V>::value, Span<const
      typename std::remove_pointer<decltype(v.data())>::type>>::type
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 5
    functionsReached:
    - data
    linkageType: ''
    returnType: auto
    signature: auto Span<typename std::remove_pointer<decltype(v.data())>::type>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:233,1
    - Dst: Span
      Src: /src/cryptofuzz/modules/bitcoin/span.h:235,1
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' span'
    argTypes:
    - Span<T>
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: SpanPopBack
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - ASSERT_IF_DEBUG
    - data
    - Span
    linkageType: ''
    returnType: T
    signature: T & SpanPopBack(Span<T>& span)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: UCharCast
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(char* c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: UCharCast
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(unsigned char* c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: UCharCast
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(const char* c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: UCharCast
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(const unsigned char* c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UCharCast
      Src: /src/cryptofuzz/modules/bitcoin/span.h:246,1
    - Dst: Span<T>::data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:246,1
    - Dst: UCharCast
      Src: /src/cryptofuzz/modules/bitcoin/span.h:246,1
    - Dst: Span<T>::data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:246,1
    - Dst: Span<T>::size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span<T>
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: UCharSpanCast
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - UCharCast
    - Span<T>::size
    - Span<T>::data
    linkageType: ''
    returnType: auto
    signature: auto UCharSpanCast(Span<T> s) -> Span<typename std::remove_pointer<decltype(UCharCast(s.data()))>::type>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UCharSpanCast
      Src: /src/cryptofuzz/modules/bitcoin/span.h:249,1
    - Dst: MakeSpan
      Src: /src/cryptofuzz/modules/bitcoin/span.h:249,1
    - Dst: std::forward<V>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:249,1
    - Dst: UCharSpanCast
      Src: /src/cryptofuzz/modules/bitcoin/span.h:249,1
    - Dst: MakeSpan
      Src: /src/cryptofuzz/modules/bitcoin/span.h:249,1
    - Dst: std::forward<V>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - V
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: MakeUCharSpan
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - UCharSpanCast
    - MakeSpan
    - std::forward<V>
    linkageType: ''
    returnType: auto
    signature: auto MakeUCharSpan(V&& v) -> decltype(UCharSpanCast(MakeSpan(std::forward<V>(v))))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint<BITS>::SetHex
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: base_uint<BITS>::base_uint
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - base_uint<BITS>::SetHex
    linkageType: ''
    returnType: void
    signature: void base_uint<BITS>::base_uint(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - shift
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: '& base_uint<BITS>::operator<<=(unsigned int shift)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator<<=(unsigned int shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - shift
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: '& base_uint<BITS>::operator>>=(unsigned int shift)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator>>=(unsigned int shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b32
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: '& base_uint<BITS>::operator*=(uint32_t b32)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator*=(uint32_t b32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: '& base_uint<BITS>::operator*=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator*=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint_error
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: '& base_uint<BITS>::operator/=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - uint_error
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator/=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint<BITS>
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: base_uint<BITS>::CompareTo
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int base_uint<BITS>::CompareTo(const base_uint<BITS>& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: base_uint<BITS>::EqualTo
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool base_uint<BITS>::EqualTo(uint64_t b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: base_uint<BITS>::getdouble
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double base_uint<BITS>::getdouble() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ArithToUint256
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: base_uint<BITS>::GetHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - ArithToUint256
    linkageType: ''
    returnType: std::string
    signature: std::string base_uint<BITS>::GetHex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UintToArith256
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:155,1
    - Dst: uint256S
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: base_uint<BITS>::SetHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 1
    functionsReached:
    - UintToArith256
    - uint256S
    linkageType: ''
    returnType: void
    signature: void base_uint<BITS>::SetHex(const char* psz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint<BITS>::SetHex
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:161,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: base_uint<BITS>::SetHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 2
    functionsReached:
    - c_str
    - base_uint<BITS>::SetHex
    linkageType: ''
    returnType: void
    signature: void base_uint<BITS>::SetHex(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint<BITS>::GetHex
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: base_uint<BITS>::ToString
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - base_uint<BITS>::GetHex
    linkageType: ''
    returnType: std::string
    signature: std::string base_uint<BITS>::ToString() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: base_uint<BITS>::bits
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int base_uint<BITS>::bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - nCompact
    - pfNegative
    - pfOverflow
    argTypes:
    - uint32_t
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: '& arith_uint256::SetCompact(uint32_t nCompact, bool* pfNegative,
      bool* pfOverflow)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 & arith_uint256::SetCompact(uint32_t nCompact, bool*
      pfNegative, bool* pfOverflow)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetLow64
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:228,1
    - Dst: arith_uint256::GetLow64
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:231,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:239,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - fNegative
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: arith_uint256::GetCompact
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - assert
    - GetLow64
    - arith_uint256::GetLow64
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t arith_uint256::GetCompact(bool fNegative) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:248,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:250,1
    - Dst: uint256::begin
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - arith_uint256
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: ArithToUint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 2
    functionsReached:
    - WriteLE32
    - uint256::uint256
    - uint256::begin
    linkageType: ''
    returnType: uint256
    signature: uint256 ArithToUint256(const arith_uint256 &a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arith_uint256::arith_uint256
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:255,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:257,1
    - Dst: uint256::begin
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint256
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: UintToArith256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 2
    functionsReached:
    - arith_uint256::arith_uint256
    - ReadLE32
    - uint256::begin
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 UintToArith256(const uint256 &a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: base_blob::base_blob
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_blob()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: base_blob::base_blob
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_blob(uint8_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: base_blob::IsNull
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: base_blob::SetNull
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - base_blob
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: base_blob::Compare
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Compare(const base_blob& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_blob
    - base_blob
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: operator==(const base_blob& a, const base_blob& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool operator==(const base_blob& a, const base_blob& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_blob
    - base_blob
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: operator!=(const base_blob& a, const base_blob& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const base_blob& a, const base_blob& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_blob
    - base_blob
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: operator<(const base_blob& a, const base_blob& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool operator<(const base_blob& a, const base_blob& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: base_blob::data
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: base_blob::data
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * data()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: base_blob::begin
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * begin()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: base_blob::end
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * end()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: base_blob::begin
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * begin() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: base_blob::end
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * end() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: base_blob::size
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: base_blob::GetUint64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetUint64(int pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: base_blob::Serialize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: base_blob::Unserialize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: uint160::uint160
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint160()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vch'
    argTypes:
    - std::vector<unsigned char>
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: uint160::uint160
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint160(const std::vector<unsigned char>& vch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: uint256::uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint256()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: uint256::uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint256(uint8_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vch'
    argTypes:
    - std::vector<unsigned char>
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: uint256::uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint256(const std::vector<unsigned char>& vch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:139,1
    - Dst: uint256::SetHex
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: uint256S
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 1
    functionsReached:
    - uint256::SetHex
    - uint256::uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 uint256S(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:149,1
    - Dst: uint256::SetHex
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: uint256S
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 1
    functionsReached:
    - uint256::SetHex
    - uint256::uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 uint256S(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecureZeroMemory
      Src: /src/cryptofuzz/modules/bitcoin/cleanse.cpp:18,1
    - Dst: std::memset
      Src: /src/cryptofuzz/modules/bitcoin/cleanse.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: memory_cleanse
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/cleanse.cpp
    functionUses: 0
    functionsReached:
    - std::memset
    - SecureZeroMemory
    linkageType: ''
    returnType: void
    signature: void memory_cleanse(void *ptr, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:15,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:15,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:16,1
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vch'
    argTypes:
    - std::vector<unsigned char>
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: base_blob<BITS>::base_blob
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.cpp
    functionUses: 0
    functionsReached:
    - data
    - assert
    - size
    - memcpy
    linkageType: ''
    returnType: void
    signature: void base_blob<BITS>::base_blob(const std::vector<unsigned char>& vch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: base_blob<BITS>::GetHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.cpp
    functionUses: 0
    functionsReached:
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string base_blob<BITS>::GetHex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:32,1
    - Dst: IsSpace
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:35,1
    - Dst: ToLower
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:39,1
    - Dst: HexDigit
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:44,1
    - Dst: HexDigit
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:49,1
    - Dst: HexDigit
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:51,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: base_blob<BITS>::SetHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.cpp
    functionUses: 0
    functionsReached:
    - ToLower
    - IsSpace
    - memset
    - HexDigit
    linkageType: ''
    returnType: void
    signature: void base_blob<BITS>::SetHex(const char* psz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_blob<BITS>::SetHex
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:60,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: base_blob<BITS>::SetHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.cpp
    functionUses: 1
    functionsReached:
    - base_blob<BITS>::SetHex
    - c_str
    linkageType: ''
    returnType: void
    signature: void base_blob<BITS>::SetHex(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_blob<BITS>::GetHex
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: base_blob<BITS>::ToString
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.cpp
    functionUses: 0
    functionsReached:
    - base_blob<BITS>::GetHex
    linkageType: ''
    returnType: std::string
    signature: std::string base_blob<BITS>::ToString() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - what
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: tinyformat::format_error::format_error
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void format_error(const std::string &what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: void
    signature: void invoke(std::ostream& /*out*/, const T& /*value*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<fmtT>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' value'
    argTypes:
    - std::ostream
    - T
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<fmtT>
    linkageType: ''
    returnType: void
    signature: void invoke(std::ostream& out, const T& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invoke(std::ostream& /**/, const T& /**/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:258,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' out'
    - ' value'
    argTypes:
    - std::ostream
    - T
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - flags
    linkageType: ''
    returnType: bool
    signature: bool invoke(std::ostream& out, const T& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ERROR
    linkageType: ''
    returnType: int
    signature: int invoke(const T& /*value*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int invoke(const T& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:292,1
    - Dst: write
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:293,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:293,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:293,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' out'
    - ' value'
    - ntrunc
    argTypes:
    - std::ostream
    - T
    - int
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: tinyformat::detail::formatTruncated
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::string::c_str
    - write
    - static_cast<int>
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void formatTruncated(std::ostream& out, const T& value, int ntrunc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyType
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:336,1
    - Dst: cryptofuzz::Z3::invoke
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:346,1
    - Dst: cryptofuzz::Z3::invoke
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:348,1
    - Dst: tinyformat::detail::formatTruncated
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - ' out'
    - fmtEnd
    - ntrunc
    - ' value'
    argTypes:
    - std::ostream
    - char*
    - int
    - T
    constantsTouched: []
    func_position:
      end: 359
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 359
    functionName: tinyformat::formatValue
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::detail::formatTruncated
    - DummyType
    - cryptofuzz::Z3::invoke
    linkageType: ''
    returnType: void
    signature: "void formatValue(std::ostream& out, const char* /*fmtBegin*/,\n                        const
      char* fmtEnd, int ntrunc, const T& value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: tinyformat::detail::FormatArg::FormatArg
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatArg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const void*>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: tinyformat::detail::FormatArg::FormatArg
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void FormatArg(const T& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:526,1
    - Dst: TINYFORMAT_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:527,1
    - Dst: m_formatImpl
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' out'
    - fmtBegin
    - fmtEnd
    - ntrunc
    argTypes:
    - std::ostream
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: tinyformat::detail::FormatArg::format
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - m_formatImpl
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void format(std::ostream& out, const char* fmtBegin,\n                    const
      char* fmtEnd, int ntrunc) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:533,1
    - Dst: TINYFORMAT_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:534,1
    - Dst: m_toIntImpl
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: tinyformat::detail::FormatArg::toInt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - m_toIntImpl
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: int
    signature: int toInt() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: formatValue
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:543,1
    - Dst: static_cast<const T*>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' out'
    - fmtBegin
    - fmtEnd
    - ntrunc
    - value
    argTypes:
    - std::ostream
    - char*
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: tinyformat::detail::FormatArg::formatImpl
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - formatValue
    - static_cast<const T*>
    linkageType: ''
    returnType: TINYFORMAT_HIDDEN
    signature: "TINYFORMAT_HIDDEN formatImpl(std::ostream& out, const char* fmtBegin,\n
      \                       const char* fmtEnd, int ntrunc, const void* value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Z3::invoke
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:549,1
    - Dst: static_cast<const T*>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: tinyformat::detail::FormatArg::toIntImpl
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const T*>
    - cryptofuzz::Z3::invoke
    linkageType: ''
    returnType: TINYFORMAT_HIDDEN
    signature: TINYFORMAT_HIDDEN toIntImpl(const void* value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: tinyformat::detail::parseIntAndAdvance
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parseIntAndAdvance(const char*& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:579,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:587,1
    - Dst: toInt
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:589,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:591,1
    - Dst: toInt
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:596,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:598,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - ' n'
    - ' c'
    - positionalMode
    - args
    - ' argIndex'
    - numArgs
    argTypes:
    - int
    - char*
    - bool
    - detail::FormatArg*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 605
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 605
    functionName: tinyformat::detail::parseWidthOrPrecision
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ERROR
    - tinyformat::detail::parseIntAndAdvance
    - toInt
    linkageType: ''
    returnType: bool
    signature: "bool parseWidthOrPrecision(int& n, const char*& c, bool positionalMode,\n
      \                                 const detail::FormatArg* args,\n                                  int&
      argIndex, int numArgs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:617,1
    - Dst: write
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - char*
    constantsTouched: []
    func_position:
      end: 628
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 628
    functionName: tinyformat::detail::printFormatStringLiteral
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: char
    signature: char * printFormatStringLiteral(std::ostream& out, const char* fmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:670,1
    - Dst: width
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:672,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:673,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:674,1
    - Dst: unsetf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:676,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:694,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:699,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:705,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:706,1
    - Dst: width
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:711,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:716,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:724,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:728,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:731,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:732,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:736,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:737,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:741,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:745,1
    - Dst: tinyformat::detail::parseWidthOrPrecision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:756,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:761,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:762,1
    - Dst: width
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:765,1
    - Dst: tinyformat::detail::parseWidthOrPrecision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:772,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:778,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:791,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:795,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:799,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:802,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:806,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:809,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:810,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:813,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:816,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:819,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:826,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:828,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:831,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:834,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:836,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:836,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:843,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:843,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:845,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:849,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:852,1
    - Dst: width
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:863,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:863,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:864,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:865,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 143
    argCount: 8
    argNames:
    - ' out'
    - ' positionalMode'
    - ' spacePadPositive'
    - ' ntrunc'
    - fmtStart
    - args
    - ' argIndex'
    - numArgs
    argTypes:
    - std::ostream
    - bool
    - bool
    - int
    - char*
    - detail::FormatArg*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 868
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 868
    functionName: tinyformat::detail::streamStateFromFormat
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - unsetf
    - precision
    - TINYFORMAT_ERROR
    - flags
    - fill
    - static_cast<int>
    - width
    - TINYFORMAT_ASSERT
    - setf
    - tinyformat::detail::parseWidthOrPrecision
    linkageType: ''
    returnType: char
    signature: "char * streamStateFromFormat(std::ostream& out, bool& positionalMode,\n
      \                                        bool& spacePadPositive,\n                                         int&
      ntrunc, const char* fmtStart,\n                                         const
      detail::FormatArg* args,\n                                         int& argIndex,
      int numArgs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:877,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:878,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:879,1
    - Dst: tinyformat::detail::printFormatStringLiteral
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:887,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:890,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:901,1
    - Dst: format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:907,1
    - Dst: std::ostringstream::copyfmt
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:915,1
    - Dst: std::ostringstream::setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:916,1
    - Dst: format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:917,1
    - Dst: std::ostringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:918,1
    - Dst: width
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:931,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:932,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:933,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:934,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - ' out'
    - fmt
    - args
    - numArgs
    argTypes:
    - std::ostream
    - char*
    - detail::FormatArg*
    - int
    constantsTouched: []
    func_position:
      end: 935
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 935
    functionName: tinyformat::detail::formatImpl
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::ostringstream::setf
    - std::ostringstream::copyfmt
    - precision
    - TINYFORMAT_ERROR
    - format
    - flags
    - tinyformat::detail::printFormatStringLiteral
    - fill
    - width
    linkageType: ''
    returnType: void
    signature: "void formatImpl(std::ostream& out, const char* fmt,\n                       const
      detail::FormatArg* args,\n                       int numArgs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - args
    - N
    argTypes:
    - detail::FormatArg*
    - int
    constantsTouched: []
    func_position:
      end: 950
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 950
    functionName: tinyformat::FormatList::FormatList
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatList(detail::FormatArg* args, int N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FormatArg
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: tinyformat::detail::FormatListN::FormatListN
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - FormatArg
    linkageType: ''
    returnType: void
    signature: void FormatListN(const Args&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 978
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 978
    functionName: tinyformat::detail::FormatListN::init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FormatListN
    constantsTouched: []
    func_position:
      end: 999
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 999
    functionName: tinyformat::detail::FormatListN::FormatListN
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - copy
    linkageType: ''
    returnType: void
    signature: void FormatListN(const FormatListN& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1008
    functionName: tinyformat::detail::FormatListN<0>::FormatListN
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatListN()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::FormatListN<sizeof...(args)>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1029
    functionName: tinyformat::makeFormatList
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - detail::FormatListN<sizeof...(args)>
    linkageType: ''
    returnType: detail::FormatListN<sizeof...(Args)>
    signature: detail::FormatListN<sizeof...(Args)> makeFormatList(const Args&...
      args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::FormatListN<0>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: tinyformat::makeFormatList
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - detail::FormatListN<0>
    linkageType: ''
    returnType: detail::FormatListN<0>
    signature: detail::FormatListN<0> makeFormatList()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::formatImpl
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - fmt
    - list
    argTypes:
    - std::ostream
    - char*
    - FormatListRef
    constantsTouched: []
    func_position:
      end: 1055
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1055
    functionName: tinyformat::vformat
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::detail::formatImpl
    linkageType: ''
    returnType: void
    signature: void vformat(std::ostream& out, const char* fmt, FormatListRef list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::vformat
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1064,1
    - Dst: tinyformat::makeFormatList
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - char*
    constantsTouched: []
    func_position:
      end: 1065
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1065
    functionName: tinyformat::format
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::vformat
    - tinyformat::makeFormatList
    linkageType: ''
    returnType: void
    signature: void format(std::ostream& out, const char* fmt, const Args&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1073,1
    - Dst: std::ostringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1075
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1075
    functionName: tinyformat::format
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 1
    functionsReached:
    - std::ostringstream::str
    - tinyformat::format
    linkageType: ''
    returnType: std::string
    signature: std::string format(const char* fmt, const Args&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1082
      start: 1079
    functionDepth: 4
    functionLinenumber: 1079
    functionLinenumberEnd: 1082
    functionName: tinyformat::printf
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printf(const char* fmt, const Args&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1085
    functionDepth: 4
    functionLinenumber: 1085
    functionLinenumberEnd: 1089
    functionName: tinyformat::printfln
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printfln(const char* fmt, const Args&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::vformat
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1096,1
    - Dst: tinyformat::makeFormatList
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - char*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1097
    functionName: tinyformat::format
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 3
    functionsReached:
    - tinyformat::vformat
    - tinyformat::makeFormatList
    linkageType: ''
    returnType: void
    signature: void format(std::ostream& out, const char* fmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1102,1
    - Dst: std::ostringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1104
    functionName: tinyformat::format
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 4
    functionsReached:
    - std::ostringstream::str
    - tinyformat::format
    linkageType: ''
    returnType: std::string
    signature: std::string format(const char* fmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 4
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: tinyformat::printf
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printf(const char* fmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1115
      start: 1111
    functionDepth: 4
    functionLinenumber: 1111
    functionLinenumberEnd: 1115
    functionName: tinyformat::printfln
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printfln(const char* fmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1156,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1156,1
    - Dst: std::ostringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1158
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1158
    functionName: tinyformat::format
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 7
    functionsReached:
    - std::ostringstream::str
    - std::string::c_str
    - tinyformat::format
    linkageType: ''
    returnType: std::string
    signature: std::string format(const std::string &fmt, const Args&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: sha256d64_avx2::K
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_set1_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i K(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_add_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:18,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:19,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:19,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - w
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 2
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z, __m256i w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:20,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:20,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - v
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 3
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z, __m256i w, __m256i v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y, __m256i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - y
    - z
    - w
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y, __m256i z, __m256i w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha256d64_avx2::Xor
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_xor_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i Xor(__m256i x, __m256i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:25,1
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha256d64_avx2::Xor
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Xor(__m256i x, __m256i y, __m256i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_or_si256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha256d64_avx2::Or
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_or_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i Or(__m256i x, __m256i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_and_si256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: sha256d64_avx2::And
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_and_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i And(__m256i x, __m256i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_srli_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m256i
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha256d64_avx2::ShR
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_srli_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i ShR(__m256i x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_slli_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m256i
    - int
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sha256d64_avx2::ShL
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_slli_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i ShL(__m256i x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:31,1
    - Dst: sha256d64_avx2::And
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:31,1
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: sha256d64_avx2::Ch
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::And
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Ch(__m256i x, __m256i y, __m256i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::And
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::And
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: sha256d64_avx2::Maj
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::And
    linkageType: ''
    returnType: __m256i
    signature: __m256i Maj(__m256i x, __m256i y, __m256i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sha256d64_avx2::Sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Sigma0(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sha256d64_avx2::Sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Sigma1(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sha256d64_avx2::sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i sigma0(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sha256d64_avx2::sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Or
    - sha256d64_avx2::ShR
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i sigma1(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:41,1
    - Dst: sha256d64_avx2::Sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:41,1
    - Dst: sha256d64_avx2::Ch
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:41,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:42,1
    - Dst: sha256d64_avx2::Sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:42,1
    - Dst: sha256d64_avx2::Maj
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:42,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:43,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: sha256d64_avx2::Round
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Sigma0
    - sha256d64_avx2::Add
    - sha256d64_avx2::Ch
    - sha256d64_avx2::Maj
    - sha256d64_avx2::Sigma1
    linkageType: ''
    returnType: void
    signature: void Round(__m256i a, __m256i b, __m256i c, __m256i& d, __m256i e,
      __m256i f, __m256i g, __m256i& h, __m256i k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:48,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:49,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:50,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:51,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:52,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:53,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:54,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:55,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:56,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:58,1
    - Dst: _mm256_set_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - offset
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: sha256d64_avx2::Read8
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi8
    - _mm256_set_epi32
    - ReadLE32
    linkageType: ''
    returnType: __m256i
    signature: __m256i Read8(const unsigned char* chunk, int offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_shuffle_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:62,1
    - Dst: _mm256_set_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:62,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:63,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:63,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:64,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:64,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:65,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:65,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:66,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:66,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:67,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:67,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:68,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:68,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:69,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:69,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:70,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - out
    - offset
    - v
    argTypes:
    - unsigned char*
    - int
    - __m256i
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: sha256d64_avx2::Write8
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi8
    - _mm256_set_epi32
    - _mm256_extract_epi32
    - WriteLE32
    linkageType: ''
    returnType: void
    signature: void Write8(unsigned char* out, int offset, __m256i v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:78,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:79,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:80,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:81,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:82,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:83,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:84,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:85,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:89,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:89,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:89,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:89,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:154,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:154,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:155,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:155,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:156,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:156,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:157,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:157,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:158,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:158,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:159,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:159,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:160,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:160,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:161,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:161,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:166,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:166,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:167,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:167,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:168,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:168,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:169,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:169,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:170,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:170,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:171,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:171,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:172,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:172,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:173,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:173,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:174,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:174,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:175,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:175,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:176,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:176,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:177,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:177,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:178,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:178,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:179,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:179,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:180,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:180,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:181,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:181,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:182,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:182,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:183,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:183,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:184,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:184,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:185,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:185,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:186,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:186,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:187,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:187,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:188,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:188,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:189,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:189,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:190,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:190,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:191,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:191,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:192,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:192,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:193,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:193,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:194,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:194,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:195,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:195,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:196,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:196,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:197,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:197,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:198,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:198,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:199,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:199,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:200,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:200,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:201,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:201,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:202,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:202,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:203,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:203,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:204,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:204,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:205,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:205,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:206,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:206,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:207,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:207,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:208,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:208,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:209,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:209,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:210,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:210,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:211,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:211,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:212,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:212,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:213,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:213,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:214,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:214,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:215,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:215,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:216,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:216,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:217,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:217,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:218,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:218,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:219,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:219,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:220,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:220,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:221,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:221,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:222,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:222,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:223,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:223,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:224,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:224,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:225,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:225,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:226,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:226,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:227,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:227,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:228,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:228,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:229,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:229,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:231,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:232,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:233,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:234,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:235,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:236,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:237,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:238,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:241,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:242,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:243,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:244,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:245,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:246,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:247,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:248,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:250,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:250,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:250,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:251,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:251,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:251,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:252,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:252,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:252,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:253,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:253,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:253,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:254,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:254,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:254,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:255,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:255,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:255,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:256,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:256,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:256,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:257,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:257,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:257,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:258,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:258,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:259,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:259,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:260,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:260,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:261,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:261,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:262,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:262,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:263,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:263,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:264,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:264,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:265,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:265,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:266,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:266,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:266,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:266,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:266,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:316,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:316,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:316,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:317,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:317,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:317,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:318,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:318,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:318,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:319,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:319,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:319,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:320,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:320,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:320,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:321,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:321,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:321,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:322,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:322,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:322,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:323,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:323,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 324
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 324
    functionName: sha256d64_avx2::Transform_8way
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::K
    - sha256d64_avx2::Round
    - sha256d64_avx2::Add
    - sha256d64_avx2::sigma1
    - sha256d64_avx2::Read8
    - sha256d64_avx2::Write8
    - sha256d64_avx2::Inc
    - sha256d64_avx2::sigma0
    linkageType: ''
    returnType: void
    signature: void Transform_8way(unsigned char* out, const unsigned char* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: CSHA512::Size
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: extract3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extract3(limb_t& c0, limb_t& c1, limb_t& c2, limb_t& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' c0'
    - ' c1'
    - ' a'
    - ' b'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: mul
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mul(limb_t& c0, limb_t& c1, const limb_t& a, const limb_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' d0'
    - ' d1'
    - ' d2'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: mulnadd3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mulnadd3(limb_t& c0, limb_t& c1, limb_t& c2, limb_t& d0, limb_t&
      d1, limb_t& d2, const limb_t& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' c0'
    - ' c1'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: muln2
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void muln2(limb_t& c0, limb_t& c1, const limb_t& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' a'
    - ' b'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: muladd3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void muladd3(limb_t& c0, limb_t& c1, limb_t& c2, const limb_t& a, const
      limb_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' a'
    - ' b'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: muldbladd3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void muldbladd3(limb_t& c0, limb_t& c1, limb_t& c2, const limb_t& a,
      const limb_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' c0'
    - ' c1'
    - ' a'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 114
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 114
    functionName: addnextract2
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void addnextract2(limb_t& c0, limb_t& c1, const limb_t& a, limb_t&
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Square
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:119,1
    - Dst: Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' in_out'
    - sq
    - ' mul'
    argTypes:
    - Num3072
    - int
    - Num3072
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: square_n_mul
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Square
    - Multiply
    linkageType: ''
    returnType: void
    signature: void square_n_mul(Num3072& in_out, const int sq, const Num3072& mul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:128,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: Num3072::IsOverflow
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max
    linkageType: ''
    returnType: bool
    signature: bool Num3072::IsOverflow() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addnextract2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: Num3072::FullReduce
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - addnextract2
    linkageType: ''
    returnType: void
    signature: void Num3072::FullReduce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::Num3072
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:151,1
    - Dst: Num3072::Square
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:157,1
    - Dst: Num3072::Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:158,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:163,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:164,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:165,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:166,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:167,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:168,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:169,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:170,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:171,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:172,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:173,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:174,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:175,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 179
    functionName: Num3072::GetInverse
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Num3072::Square
    - Num3072::Multiply
    - square_n_mul
    - Num3072::Num3072
    linkageType: ''
    returnType: Num3072
    signature: Num3072 Num3072::GetInverse() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::Num3072
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:184,1
    - Dst: mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:189,1
    - Dst: muladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:190,1
    - Dst: mulnadd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:191,1
    - Dst: muladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:192,1
    - Dst: extract3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:193,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:197,1
    - Dst: muladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:198,1
    - Dst: extract3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:199,1
    - Dst: muln2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:202,1
    - Dst: addnextract2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:204,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:207,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:208,1
    - Dst: Num3072::IsOverflow
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:214,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:214,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Num3072
    constantsTouched: []
    func_position:
      end: 216
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 216
    functionName: Num3072::Multiply
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 1
    functionsReached:
    - mulnadd3
    - mul
    - extract3
    - assert
    - Num3072::IsOverflow
    - addnextract2
    - Num3072::Num3072
    - muln2
    - muladd3
    - Num3072::FullReduce
    linkageType: ''
    returnType: void
    signature: void Num3072::Multiply(const Num3072& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::Num3072
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:221,1
    - Dst: muldbladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:226,1
    - Dst: muladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:227,1
    - Dst: mulnadd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:228,1
    - Dst: muldbladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:229,1
    - Dst: muladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:230,1
    - Dst: extract3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:231,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:234,1
    - Dst: muldbladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:235,1
    - Dst: extract3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:236,1
    - Dst: muln2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:239,1
    - Dst: addnextract2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:241,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:244,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:245,1
    - Dst: Num3072::IsOverflow
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:251,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:251,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 253
    functionName: Num3072::Square
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 1
    functionsReached:
    - mulnadd3
    - muldbladd3
    - extract3
    - assert
    - Num3072::IsOverflow
    - addnextract2
    - Num3072::Num3072
    - muln2
    - muladd3
    - Num3072::FullReduce
    linkageType: ''
    returnType: void
    signature: void Num3072::Square()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: Num3072::SetToOne
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Num3072::SetToOne()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::IsOverflow
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:263,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:263,1
    - Dst: Num3072::IsOverflow
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:266,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:268,1
    - Dst: Num3072::GetInverse
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:269,1
    - Dst: Num3072::GetInverse
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:271,1
    - Dst: Num3072::Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:274,1
    - Dst: Num3072::IsOverflow
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:275,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Num3072
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: Num3072::Divide
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Num3072::Multiply
    - Num3072::GetInverse
    - Num3072::FullReduce
    - Num3072::IsOverflow
    linkageType: ''
    returnType: void
    signature: void Num3072::Divide(const Num3072& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:281,1
    - Dst: ReadLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - (data)
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: Num3072::Num3072
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 3
    functionsReached:
    - ReadLE32
    - ReadLE64
    linkageType: ''
    returnType: void
    signature: void Num3072::Num3072(const unsigned char (&data)[BYTE_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:291,1
    - Dst: WriteLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - (out)
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: Num3072::ToBytes
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - WriteLE32
    - WriteLE64
    linkageType: ''
    returnType: void
    signature: void Num3072::ToBytes(unsigned char (&out)[BYTE_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHashWriter
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:301,1
    - Dst: GetSHA256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:301,1
    - Dst: ChaCha20
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:302,1
    - Dst: uint256::data
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:302,1
    - Dst: uint256::size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - Span<const unsigned char>
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: MuHash3072::ToNum3072
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - GetSHA256
    - ChaCha20
    - uint256::size
    - uint256::data
    - CHashWriter
    linkageType: ''
    returnType: Num3072
    signature: Num3072 MuHash3072::ToNum3072(Span<const unsigned char> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MuHash3072::ToNum3072
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - Span<const unsigned char>
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: MuHash3072::MuHash3072
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - MuHash3072::ToNum3072
    linkageType: ''
    returnType: void
    signature: void MuHash3072::MuHash3072(Span<const unsigned char> in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Divide
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:315,1
    - Dst: SetToOne
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:316,1
    - Dst: ToBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:319,1
    - Dst: CHashWriter
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:321,1
    - Dst: GetSHA256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - uint256
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: MuHash3072::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - SetToOne
    - GetSHA256
    - ToBytes
    - CHashWriter
    - Divide
    linkageType: ''
    returnType: void
    signature: void MuHash3072::Finalize(uint256& out) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:326,1
    - Dst: Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' mul'
    argTypes:
    - MuHash3072
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: '& MuHash3072::operator*=(const MuHash3072& mul) noexcept'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Multiply
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 & MuHash3072::operator*=(const MuHash3072& mul) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:333,1
    - Dst: Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' div'
    argTypes:
    - MuHash3072
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: '& MuHash3072::operator/=(const MuHash3072& div) noexcept'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Multiply
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 & MuHash3072::operator/=(const MuHash3072& div) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:339,1
    - Dst: ToNum3072
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - Span<const unsigned char>
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: '& MuHash3072::Insert(Span<const unsigned char> in) noexcept'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - ToNum3072
    - Multiply
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 & MuHash3072::Insert(Span<const unsigned char> in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Divide
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:344,1
    - Dst: ToNum3072
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - Span<const unsigned char>
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: '& MuHash3072::Remove(Span<const unsigned char> in) noexcept'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - ToNum3072
    - Divide
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 & MuHash3072::Remove(Span<const unsigned char> in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: '& Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.h
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: CHMAC_SHA256
    signature: CHMAC_SHA256 & Write(const unsigned char* data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: sha256d64_sse41::K
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_set1_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i K(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_add_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:18,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:19,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:19,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - w
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 2
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z, __m128i w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:20,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:20,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - v
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 3
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z, __m128i w, __m128i v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y, __m128i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - y
    - z
    - w
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y, __m128i z, __m128i w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha256d64_sse41::Xor
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_xor_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Xor(__m128i x, __m128i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:25,1
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha256d64_sse41::Xor
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Xor(__m128i x, __m128i y, __m128i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_or_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha256d64_sse41::Or
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_or_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Or(__m128i x, __m128i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_and_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: sha256d64_sse41::And
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_and_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i And(__m128i x, __m128i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_srli_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m128i
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha256d64_sse41::ShR
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_srli_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i ShR(__m128i x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_slli_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m128i
    - int
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sha256d64_sse41::ShL
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_slli_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i ShL(__m128i x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:31,1
    - Dst: sha256d64_sse41::And
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:31,1
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: sha256d64_sse41::Ch
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Xor
    - sha256d64_sse41::And
    linkageType: ''
    returnType: __m128i
    signature: __m128i Ch(__m128i x, __m128i y, __m128i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::And
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::And
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: sha256d64_sse41::Maj
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::And
    - sha256d64_sse41::Or
    linkageType: ''
    returnType: __m128i
    signature: __m128i Maj(__m128i x, __m128i y, __m128i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sha256d64_sse41::Sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    - sha256d64_sse41::ShL
    - sha256d64_sse41::Or
    linkageType: ''
    returnType: __m128i
    signature: __m128i Sigma0(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sha256d64_sse41::Sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    - sha256d64_sse41::ShL
    - sha256d64_sse41::Or
    linkageType: ''
    returnType: __m128i
    signature: __m128i Sigma1(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sha256d64_sse41::sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    - sha256d64_sse41::ShL
    - sha256d64_sse41::Or
    linkageType: ''
    returnType: __m128i
    signature: __m128i sigma0(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sha256d64_sse41::sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::ShR
    - sha256d64_sse41::Xor
    - sha256d64_sse41::ShL
    - sha256d64_sse41::Or
    linkageType: ''
    returnType: __m128i
    signature: __m128i sigma1(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:41,1
    - Dst: sha256d64_sse41::Sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:41,1
    - Dst: sha256d64_sse41::Ch
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:41,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:42,1
    - Dst: sha256d64_sse41::Sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:42,1
    - Dst: sha256d64_sse41::Maj
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:42,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:43,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: sha256d64_sse41::Round
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Sigma1
    - sha256d64_sse41::Ch
    - sha256d64_sse41::Maj
    - sha256d64_sse41::Add
    - sha256d64_sse41::Sigma0
    linkageType: ''
    returnType: void
    signature: void Round(__m128i a, __m128i b, __m128i c, __m128i& d, __m128i e,
      __m128i f, __m128i g, __m128i& h, __m128i k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:48,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:49,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:50,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:51,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:52,1
    - Dst: _mm_shuffle_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:54,1
    - Dst: _mm_set_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - offset
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: sha256d64_sse41::Read4
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_shuffle_epi8
    - ReadLE32
    - _mm_set_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i Read4(const unsigned char* chunk, int offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:58,1
    - Dst: _mm_set_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:58,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:59,1
    - Dst: _mm_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:59,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:60,1
    - Dst: _mm_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:60,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:61,1
    - Dst: _mm_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:61,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:62,1
    - Dst: _mm_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - out
    - offset
    - v
    argTypes:
    - unsigned char*
    - int
    - __m128i
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: sha256d64_sse41::Write4
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - WriteLE32
    - _mm_shuffle_epi8
    - _mm_set_epi32
    - _mm_extract_epi32
    linkageType: ''
    returnType: void
    signature: void Write4(unsigned char* out, int offset, __m128i v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:70,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:71,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:72,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:73,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:74,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:75,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:76,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:77,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:81,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:81,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:81,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:81,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:146,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:146,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:147,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:147,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:148,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:148,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:149,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:149,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:150,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:150,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:151,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:151,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:152,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:152,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:153,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:153,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:158,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:158,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:159,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:159,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:160,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:160,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:161,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:161,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:162,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:162,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:163,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:163,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:164,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:164,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:165,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:165,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:166,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:166,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:167,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:167,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:168,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:168,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:169,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:169,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:170,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:170,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:171,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:171,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:172,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:172,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:173,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:173,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:174,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:174,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:175,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:175,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:176,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:176,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:177,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:177,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:178,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:178,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:179,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:179,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:180,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:180,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:181,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:181,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:182,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:182,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:183,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:183,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:184,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:184,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:185,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:185,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:186,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:186,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:187,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:187,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:188,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:188,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:189,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:189,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:190,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:190,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:191,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:191,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:192,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:192,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:193,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:193,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:194,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:194,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:195,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:195,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:196,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:196,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:197,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:197,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:198,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:198,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:199,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:199,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:200,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:200,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:201,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:201,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:202,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:202,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:203,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:203,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:204,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:204,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:205,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:205,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:206,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:206,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:207,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:207,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:208,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:208,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:209,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:209,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:210,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:210,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:211,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:211,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:212,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:212,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:213,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:213,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:214,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:214,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:215,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:215,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:216,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:216,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:217,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:217,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:218,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:218,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:219,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:219,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:220,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:220,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:221,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:221,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:223,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:224,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:225,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:226,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:227,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:228,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:229,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:230,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:233,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:234,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:235,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:236,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:237,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:238,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:239,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:240,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:242,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:242,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:242,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:243,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:243,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:243,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:244,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:244,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:244,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:245,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:245,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:245,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:246,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:246,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:246,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:247,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:247,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:247,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:248,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:248,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:248,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:249,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:249,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:249,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:250,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:250,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:251,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:251,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:252,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:252,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:253,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:253,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:254,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:254,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:255,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:255,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:256,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:256,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:257,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:257,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:258,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:258,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:258,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:258,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:258,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:308,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:308,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:308,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:309,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:309,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:309,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:310,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:310,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:310,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:311,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:311,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:311,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:312,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:312,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:312,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:313,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:313,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:313,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:314,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:314,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:314,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:315,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:315,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 316
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 316
    functionName: sha256d64_sse41::Transform_4way
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::sigma1
    - sha256d64_sse41::Write4
    - sha256d64_sse41::Read4
    - sha256d64_sse41::K
    - sha256d64_sse41::Inc
    - sha256d64_sse41::Add
    - sha256d64_sse41::Round
    - sha256d64_sse41::sigma0
    linkageType: ''
    returnType: void
    signature: void Transform_4way(unsigned char* out, const unsigned char* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: ChaCha20Poly1305AEAD::ChaCha20Poly1305AEAD
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305AEAD(const ChaCha20Poly1305AEAD&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - k0
    - k1
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: CSipHasher::CSipHasher
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSipHasher::CSipHasher(uint64_t k0, uint64_t k1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: '& CSipHasher::Write(uint64_t data)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: CSipHasher
    signature: CSipHasher & CSipHasher::Write(uint64_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 74
    functionName: '& CSipHasher::Write(const unsigned char* data, size_t size)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CSipHasher
    signature: CSipHasher & CSipHasher::Write(const unsigned char* data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: CSipHasher::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CSipHasher::Finalize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUint64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:107,1
    - Dst: GetUint64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:112,1
    - Dst: GetUint64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 3
    argNames:
    - k0
    - k1
    - ' val'
    argTypes:
    - uint64_t
    - uint64_t
    - uint256
    constantsTouched: []
    func_position:
      end: 132
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 132
    functionName: SipHashUint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp
    functionUses: 1
    functionsReached:
    - GetUint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SipHashUint256(uint64_t k0, uint64_t k1, const uint256& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUint64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:147,1
    - Dst: GetUint64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:152,1
    - Dst: GetUint64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 4
    argNames:
    - k0
    - k1
    - ' val'
    - extra
    argTypes:
    - uint64_t
    - uint64_t
    - uint256
    - uint32_t
    constantsTouched: []
    func_position:
      end: 173
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 173
    functionName: SipHashUint256Extra
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp
    functionUses: 1
    functionsReached:
    - GetUint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SipHashUint256Extra(uint64_t k0, uint64_t k1, const uint256&
      val, uint32_t extra)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Rotl
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Rotl(uint64_t x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:44,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:45,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:46,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:47,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:48,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:52,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:53,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:54,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:55,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:56,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:57,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:58,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:59,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:60,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:61,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:62,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:63,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:64,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:65,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:66,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:67,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:68,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:69,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:70,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:71,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:72,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:73,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:74,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 159
    argCount: 1
    argNames:
    - (st)
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 109
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 109
    functionName: KeccakF
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp
    functionUses: 0
    functionsReached:
    - Rotl
    linkageType: ''
    returnType: void
    signature: void KeccakF(uint64_t (&st)[25])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span<const unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:113,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:115,1
    - Dst: Span<const unsigned char>::begin
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:115,1
    - Dst: Span<const unsigned char>::begin
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:115,1
    - Dst: Span<const unsigned char>::subspan
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:116,1
    - Dst: ReadLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:117,1
    - Dst: KeccakF
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:120,1
    - Dst: Span<const unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:124,1
    - Dst: ReadLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:126,1
    - Dst: Span<const unsigned char>::data
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:126,1
    - Dst: Span<const unsigned char>::subspan
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:127,1
    - Dst: KeccakF
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:129,1
    - Dst: Span<const unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:133,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:135,1
    - Dst: Span<const unsigned char>::begin
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:135,1
    - Dst: Span<const unsigned char>::end
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:135,1
    - Dst: Span<const unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - Span<const unsigned char>
    constantsTouched: []
    func_position:
      end: 139
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 139
    functionName: '& SHA3_256::Write(Span<const unsigned char> data)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp
    functionUses: 0
    functionsReached:
    - Span<const unsigned char>::end
    - Span<const unsigned char>::size
    - KeccakF
    - copy
    - Span<const unsigned char>::data
    - ReadLE64
    - Span<const unsigned char>::subspan
    - Span<const unsigned char>::begin
    linkageType: ''
    returnType: SHA3_256
    signature: SHA3_256 & SHA3_256::Write(Span<const unsigned char> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:143,1
    - Dst: Span<unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:143,1
    - Dst: std::fill
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:144,1
    - Dst: ReadLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:146,1
    - Dst: KeccakF
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:148,1
    - Dst: WriteLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:150,1
    - Dst: Span<unsigned char>::data
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - output
    argTypes:
    - Span<unsigned char>
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: '& SHA3_256::Finalize(Span<unsigned char> output)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp
    functionUses: 0
    functionsReached:
    - Span<unsigned char>::data
    - assert
    - ReadLE64
    - WriteLE64
    - std::fill
    - KeccakF
    - Span<unsigned char>::size
    linkageType: ''
    returnType: SHA3_256
    signature: SHA3_256 & SHA3_256::Finalize(Span<unsigned char> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:159,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:159,1
    - Dst: end
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: '& SHA3_256::Reset()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::fill
    - begin
    linkageType: ''
    returnType: SHA3_256
    signature: SHA3_256 & SHA3_256::Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHMAC_SHA256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:12,1
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:12,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ikm
    - ikmlen
    - ' salt'
    argTypes:
    - unsigned char*
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: CHKDF_HMAC_SHA256_L32::CHKDF_HMAC_SHA256_L32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp
    functionUses: 0
    functionsReached:
    - data
    - CHMAC_SHA256
    - size
    linkageType: ''
    returnType: void
    signature: void CHKDF_HMAC_SHA256_L32::CHKDF_HMAC_SHA256_L32(const unsigned char*
      ikm, size_t ikmlen, const std::string& salt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:18,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:18,1
    - Dst: CHMAC_SHA256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:20,1
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:20,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' info'
    - hash
    argTypes:
    - std::string
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: CHKDF_HMAC_SHA256_L32::Expand32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp
    functionUses: 1
    functionsReached:
    - data
    - assert
    - CHMAC_SHA256
    - size
    linkageType: ''
    returnType: void
    signature: void CHKDF_HMAC_SHA256_L32::Expand32(const std::string& info, unsigned
      char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi64x
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:22,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:23,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:24,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' state0'
    - ' state1'
    - k1
    - k0
    argTypes:
    - __m128i
    - __m128i
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: QuadRound
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha256rnds2_epu32
    - _mm_set_epi64x
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: void
    signature: void QuadRound(__m128i& state0, __m128i& state1, uint64_t k1, uint64_t
      k0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:29,1
    - Dst: _mm_set_epi64x
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:29,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:30,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:31,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' state0'
    - ' state1'
    - m
    - k1
    - k0
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: QuadRound
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha256rnds2_epu32
    - _mm_add_epi32
    - _mm_set_epi64x
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: void
    signature: void QuadRound(__m128i& state0, __m128i& state1, __m128i m, uint64_t
      k1, uint64_t k0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_sha256msg1_epu32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' m0'
    - m1
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ShiftMessageA
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha256msg1_epu32
    linkageType: ''
    returnType: void
    signature: void ShiftMessageA(__m128i& m0, __m128i m1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_sha256msg2_epu32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:41,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:41,1
    - Dst: _mm_alignr_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' m0'
    - m1
    - ' m2'
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ShiftMessageC
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_add_epi32
    - _mm_sha256msg2_epu32
    - _mm_alignr_epi8
    linkageType: ''
    returnType: void
    signature: void ShiftMessageC(__m128i& m0, __m128i m1, __m128i& m2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:46,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' m0'
    - m1
    - ' m2'
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: ShiftMessageB
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - ShiftMessageC
    - ShiftMessageA
    linkageType: ''
    returnType: void
    signature: void ShiftMessageB(__m128i& m0, __m128i m1, __m128i& m2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:52,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:53,1
    - Dst: _mm_alignr_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:54,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s0'
    - ' s1'
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: Shuffle
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_alignr_epi8
    - _mm_blend_epi16
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: void
    signature: void Shuffle(__m128i& s0, __m128i& s1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:60,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:61,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:62,1
    - Dst: _mm_alignr_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s0'
    - ' s1'
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: Unshuffle
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_blend_epi16
    - _mm_shuffle_epi32
    - _mm_alignr_epi8
    linkageType: ''
    returnType: void
    signature: void Unshuffle(__m128i& s0, __m128i& s1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:68,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:68,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Load
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 14
    functionsReached:
    - _mm_shuffle_epi8
    - _mm_load_si128
    - _mm_loadu_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Load(const unsigned char* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:73,1
    - Dst: _mm_shuffle_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:73,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - unsigned char*
    - __m128i
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: Save
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 8
    functionsReached:
    - _mm_shuffle_epi8
    - _mm_storeu_si128
    - _mm_load_si128
    linkageType: ''
    returnType: void
    signature: void Save(unsigned char* out, __m128i s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:83,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:84,1
    - Dst: Shuffle
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:85,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:93,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:94,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:95,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:96,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:97,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:98,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:99,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:100,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:101,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:102,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:103,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:104,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:105,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:106,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:107,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:108,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:109,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:110,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:111,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:112,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:113,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:114,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:115,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:116,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:117,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:118,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:119,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:120,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:121,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:122,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:123,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:124,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:125,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:126,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:129,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:130,1
    - Dst: Unshuffle
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:136,1
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:137,1
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 3
    argNames:
    - s
    - chunk
    - blocks
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 139
    functionName: sha256_shani::Transform
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - Load
    - ShiftMessageC
    - ShiftMessageB
    - ShiftMessageA
    - Unshuffle
    - _mm_loadu_si128
    - _mm_storeu_si128
    - QuadRound
    - Shuffle
    - _mm_add_epi32
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:150,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:151,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:152,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:153,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:154,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:155,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:156,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:157,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:158,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:159,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:160,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:161,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:162,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:163,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:164,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:165,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:166,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:167,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:168,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:169,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:170,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:171,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:172,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:173,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:174,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:175,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:176,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:177,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:178,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:179,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:180,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:181,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:182,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:183,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:184,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:185,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:186,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:187,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:188,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:189,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:190,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:191,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:192,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:193,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:194,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:195,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:196,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:197,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:198,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:199,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:200,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:201,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:202,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:203,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:204,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:205,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:206,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:207,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:208,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:209,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:210,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:211,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:212,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:213,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:214,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:215,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:216,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:217,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:218,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:219,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:220,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:220,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:221,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:221,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:222,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:222,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:223,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:223,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:230,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:231,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:232,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:233,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:234,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:235,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:236,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:237,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:238,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:239,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:240,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:241,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:242,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:243,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:244,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:245,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:246,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:247,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:248,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:249,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:250,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:251,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:252,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:253,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:254,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:255,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:256,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:257,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:258,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:259,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:260,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:261,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:262,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:263,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:264,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:265,1
    - Dst: Unshuffle
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:268,1
    - Dst: Unshuffle
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:269,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:276,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:277,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:278,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:279,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:280,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:281,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:282,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:283,1
    - Dst: _mm_set_epi64x
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:284,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:285,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:286,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:287,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:288,1
    - Dst: _mm_set_epi64x
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:289,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:290,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:291,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:292,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:293,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:294,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:295,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:296,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:297,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:298,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:299,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:300,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:301,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:302,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:303,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:304,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:305,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:306,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:307,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:308,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:309,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:310,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:311,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:312,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:313,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:314,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:315,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:316,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:317,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:318,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:319,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:320,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:321,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:322,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:323,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:324,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:325,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:326,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:327,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:328,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:329,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:330,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:331,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:332,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:333,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:334,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:335,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:336,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:337,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:338,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:339,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:340,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:340,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:341,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:341,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:342,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:342,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:343,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:343,1
    - Dst: Unshuffle
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:346,1
    - Dst: Unshuffle
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:347,1
    - Dst: Save
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:348,1
    - Dst: Save
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:349,1
    - Dst: Save
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:350,1
    - Dst: Save
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 195
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 352
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 352
    functionName: sha256d64_shani::Transform_2way
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - Load
    - Save
    - ShiftMessageC
    - ShiftMessageB
    - ShiftMessageA
    - Unshuffle
    - _mm_set_epi64x
    - QuadRound
    - _mm_add_epi32
    - _mm_load_si128
    linkageType: ''
    returnType: void
    signature: void Transform_2way(unsigned char* out, const unsigned char* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - a
    - ' b'
    - c
    - d
    - ' e'
    - f
    - k
    - w
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: sha1::Round
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t a, uint32_t& b, uint32_t c, uint32_t d, uint32_t&
      e, uint32_t f, uint32_t k, uint32_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha1::f1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha1::f2
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha1::f3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha1::left
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t left(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: sha1::Initialize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:51,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:51,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:51,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:52,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:52,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:52,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:53,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:53,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:53,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:54,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:54,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:54,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:55,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:55,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:55,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:56,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:56,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:56,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:57,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:57,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:57,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:58,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:58,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:58,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:59,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:59,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:59,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:60,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:60,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:60,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:61,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:61,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:61,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:62,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:62,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:62,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:63,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:63,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:63,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:64,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:64,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:64,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:65,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:65,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:65,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:66,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:66,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:66,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:68,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:68,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:68,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:69,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:69,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:69,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:70,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:70,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:70,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:71,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:71,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:71,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:72,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:72,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:72,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:73,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:73,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:73,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:74,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:74,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:74,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:75,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:75,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:75,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:76,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:76,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:76,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:77,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:77,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:77,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:78,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:78,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:78,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:79,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:79,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:79,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:80,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:80,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:80,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:81,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:81,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:81,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:82,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:82,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:82,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:83,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:83,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:83,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:85,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:85,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:85,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:86,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:86,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:86,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:87,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:87,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:87,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:88,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:88,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:88,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:89,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:89,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:89,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:90,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:90,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:90,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:91,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:91,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:91,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:92,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:92,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:92,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:93,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:93,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:93,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:94,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:94,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:94,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:95,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:95,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:95,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:96,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:96,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:96,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:97,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:97,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:97,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:98,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:98,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:98,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:99,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:99,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:99,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:100,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:100,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:100,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:102,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:102,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:102,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:103,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:103,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:103,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:104,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:104,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:104,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:105,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:105,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:105,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:106,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:106,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:106,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:107,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:107,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:107,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:108,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:108,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:108,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:109,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:109,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:109,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:110,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:110,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:110,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:111,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:111,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:111,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:112,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:112,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:112,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:113,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:113,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:113,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:114,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:114,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:114,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:115,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:115,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:115,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:116,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:116,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:116,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:117,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:117,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:117,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:119,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:119,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:119,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:120,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:120,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:120,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:121,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:121,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:121,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:122,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:122,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:122,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:123,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:123,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:123,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:124,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:124,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:124,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:125,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:125,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:125,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:126,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:126,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:126,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:127,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:127,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:127,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:128,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:128,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:128,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:129,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:129,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:129,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:130,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:130,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:130,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:131,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:131,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:131,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:132,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:132,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:132,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:133,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:133,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:133,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:134,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:134,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint32_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 141
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 141
    functionName: sha1::Transform
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - sha1::left
    - sha1::Round
    - sha1::f2
    - sha1::f3
    - ReadBE32
    - sha1::f1
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: CSHA1::CSHA1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - sha1::Initialize
    linkageType: ''
    returnType: void
    signature: void CSHA1::CSHA1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:160,1
    - Dst: sha1::Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:163,1
    - Dst: sha1::Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:168,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: '& CSHA1::Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - sha1::Transform
    linkageType: ''
    returnType: CSHA1
    signature: CSHA1 & CSHA1::Write(const unsigned char* data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:184,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:185,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:186,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:187,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:188,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:189,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:190,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: CSHA1::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - WriteBE32
    - WriteBE64
    - Write
    linkageType: ''
    returnType: void
    signature: void CSHA1::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: '& CSHA1::Reset()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - sha1::Initialize
    linkageType: ''
    returnType: CSHA1
    signature: CSHA1 & CSHA1::Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: SHA3_256::SHA3_256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA3_256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:20,1
    - Dst: le16toh
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: ReadLE16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 0
    functionsReached:
    - memcpy
    - le16toh
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ReadLE16(const unsigned char* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:27,1
    - Dst: le32toh
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: ReadLE32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 4
    functionsReached:
    - memcpy
    - le32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadLE32(const unsigned char* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:34,1
    - Dst: le64toh
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: ReadLE64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 3
    functionsReached:
    - le64toh
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ReadLE64(const unsigned char* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - unsigned char*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: WriteLE16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteLE16(unsigned char* ptr, uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - unsigned char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: WriteLE32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteLE32(unsigned char* ptr, uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - unsigned char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: WriteLE64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteLE64(unsigned char* ptr, uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:59,1
    - Dst: be16toh
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ReadBE16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 0
    functionsReached:
    - memcpy
    - be16toh
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ReadBE16(const unsigned char* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:66,1
    - Dst: be32toh
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: ReadBE32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 1
    functionsReached:
    - be32toh
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadBE32(const unsigned char* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:73,1
    - Dst: be64toh
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: ReadBE64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 0
    functionsReached:
    - be64toh
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ReadBE64(const unsigned char* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - unsigned char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: WriteBE32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteBE32(unsigned char* ptr, uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - unsigned char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: WriteBE64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteBE64(unsigned char* ptr, uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:94,1
    - Dst: __builtin_clzll
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 108
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 108
    functionName: CountBits
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 0
    functionsReached:
    - __builtin_clzll
    - __builtin_clzl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CountBits(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:29,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:30,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:31,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:32,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:59,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:60,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:61,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:62,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:72,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:72,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:72,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:72,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:72,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:73,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:73,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:73,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:73,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:73,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:74,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:74,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:74,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:74,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:74,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:75,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:75,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:75,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:75,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:75,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:76,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:76,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:76,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:76,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:76,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:96,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:97,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:98,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:99,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:132,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:133,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:134,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:135,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:137,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:138,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:139,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:140,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 140
    argCount: 4
    argNames:
    - out
    - m
    - inlen
    - key
    argTypes:
    - unsigned char[]
    - unsigned char*
    - size_t
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 141
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 141
    functionName: poly1305_auth
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp
    functionUses: 0
    functionsReached:
    - WriteLE32
    - mul32x32_64
    - ReadLE32
    linkageType: ''
    returnType: void
    signature: void poly1305_auth(unsigned char out[POLY1305_TAGLEN], const unsigned
      char *m, size_t inlen, const unsigned char key[POLY1305_KEYLEN])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b1
    - b2
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: timingsafe_bcmp
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int timingsafe_bcmp(const unsigned char* b1, const unsigned char* b2,
      size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:32,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:33,1
    - Dst: SetKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:34,1
    - Dst: SetKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:35,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - K_1
    - K_1_len
    - K_2
    - K_2_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: ChaCha20Poly1305AEAD::ChaCha20Poly1305AEAD
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp
    functionUses: 0
    functionsReached:
    - SetKey
    - cryptofuzz::mutator::ExpModGenerator::max
    - assert
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305AEAD::ChaCha20Poly1305AEAD(const unsigned char*
      K_1, size_t K_1_len, const unsigned char* K_2, size_t K_2_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:54,1
    - Dst: SetIV
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:55,1
    - Dst: Seek
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:60,1
    - Dst: ChaCha20Poly1305AEAD::Crypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:61,1
    - Dst: poly1305_auth
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:66,1
    - Dst: timingsafe_bcmp
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:69,1
    - Dst: memory_cleanse
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:70,1
    - Dst: memory_cleanse
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:71,1
    - Dst: memory_cleanse
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:74,1
    - Dst: SetIV
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:82,1
    - Dst: Seek
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:83,1
    - Dst: Keystream
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:84,1
    - Dst: Seek
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:92,1
    - Dst: ChaCha20Poly1305AEAD::Crypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:93,1
    - Dst: poly1305_auth
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:98,1
    - Dst: memory_cleanse
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 8
    argNames:
    - seqnr_payload
    - seqnr_aad
    - aad_pos
    - dest
    - dest_len
    - src
    - src_len
    - is_encrypt
    argTypes:
    - uint64_t
    - uint64_t
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 104
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 104
    functionName: ChaCha20Poly1305AEAD::Crypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp
    functionUses: 3
    functionsReached:
    - timingsafe_bcmp
    - memset
    - ChaCha20Poly1305AEAD::Crypt
    - Keystream
    - SetIV
    - poly1305_auth
    - memory_cleanse
    - Seek
    linkageType: ''
    returnType: bool
    signature: bool ChaCha20Poly1305AEAD::Crypt(uint64_t seqnr_payload, uint64_t seqnr_aad,
      int aad_pos, unsigned char* dest, size_t dest_len /* length of the output buffer
      for sanity checks */, const unsigned char* src, size_t src_len, bool is_encrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:110,1
    - Dst: SetIV
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:114,1
    - Dst: Seek
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:115,1
    - Dst: Keystream
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - len24_out
    - seqnr_aad
    - aad_pos
    - ciphertext
    argTypes:
    - uint32_t*
    - uint64_t
    - int
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: ChaCha20Poly1305AEAD::GetLength
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp
    functionUses: 0
    functionsReached:
    - assert
    - SetIV
    - Keystream
    - Seek
    linkageType: ''
    returnType: bool
    signature: bool ChaCha20Poly1305AEAD::GetLength(uint32_t* len24_out, uint64_t
      seqnr_aad, int aad_pos, const uint8_t* ciphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::SetToOne
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Num3072::Num3072
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h
    functionUses: 3
    functionsReached:
    - Num3072::SetToOne
    linkageType: ''
    returnType: void
    signature: void Num3072()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: Num3072::SERIALIZE_METHODS
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(Num3072, obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: MuHash3072::MuHash3072
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MuHash3072() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h:126,1
    - Dst: READWRITE
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: MuHash3072::SERIALIZE_METHODS
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(MuHash3072, obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: ripemd160::f1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ripemd160::f2
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ripemd160::f3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: ripemd160::f4
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f4(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ripemd160::f5
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f5(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: ripemd160::Initialize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - i
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ripemd160::rol
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rol(uint32_t x, int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::rol
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:37,1
    - Dst: ripemd160::rol
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - f
    - x
    - k
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ripemd160::Round
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::rol
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t f, uint32_t x, uint32_t k, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:41,1
    - Dst: ripemd160::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ripemd160::R11
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f1
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R11(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:42,1
    - Dst: ripemd160::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ripemd160::R21
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f2
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R21(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:43,1
    - Dst: ripemd160::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ripemd160::R31
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f3
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R31(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:44,1
    - Dst: ripemd160::f4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ripemd160::R41
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f4
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R41(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:45,1
    - Dst: ripemd160::f5
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ripemd160::R51
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f5
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R51(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:47,1
    - Dst: ripemd160::f5
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ripemd160::R12
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f5
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R12(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:48,1
    - Dst: ripemd160::f4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ripemd160::R22
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f4
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R22(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:49,1
    - Dst: ripemd160::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ripemd160::R32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f3
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R32(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:50,1
    - Dst: ripemd160::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ripemd160::R42
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f2
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R42(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:51,1
    - Dst: ripemd160::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ripemd160::R52
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f1
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R52(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:63,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:64,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:65,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:66,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:67,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:68,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:69,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:70,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:71,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:72,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:73,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:74,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:75,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:76,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:77,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:78,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:79,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:80,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:81,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:82,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:83,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:84,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:85,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:86,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:87,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:88,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:89,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:90,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:91,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:92,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:93,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:94,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:96,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:97,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:98,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:99,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:100,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:101,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:102,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:103,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:104,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:105,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:106,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:107,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:108,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:109,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:110,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:111,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:112,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:113,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:114,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:115,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:116,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:117,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:118,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:119,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:120,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:121,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:122,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:123,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:124,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:125,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:126,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:127,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:129,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:130,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:131,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:132,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:133,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:134,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:135,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:136,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:137,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:138,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:139,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:140,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:141,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:142,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:143,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:144,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:145,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:146,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:147,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:148,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:149,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:150,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:151,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:152,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:153,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:154,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:155,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:156,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:157,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:158,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:159,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:160,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:162,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:163,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:164,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:165,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:166,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:167,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:168,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:169,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:170,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:171,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:172,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:173,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:174,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:175,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:176,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:177,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:178,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:179,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:180,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:181,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:182,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:183,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:184,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:185,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:186,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:187,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:188,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:189,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:190,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:191,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:192,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:193,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:195,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:196,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:197,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:198,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:199,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:200,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:201,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:202,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:203,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:204,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:205,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:206,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:207,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:208,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:209,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:210,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:211,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:212,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:213,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:214,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:215,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:216,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:217,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:218,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:219,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:220,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:221,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:222,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:223,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:224,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:225,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 166
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint32_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 234
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 234
    functionName: ripemd160::Transform
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::R21
    - ripemd160::R42
    - ripemd160::R12
    - ripemd160::R22
    - ripemd160::R31
    - ripemd160::R52
    - ripemd160::R11
    - ripemd160::R41
    - ripemd160::R32
    - ripemd160::R51
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: CRIPEMD160::CRIPEMD160
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Initialize
    linkageType: ''
    returnType: void
    signature: void CRIPEMD160::CRIPEMD160()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:253,1
    - Dst: ripemd160::Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:256,1
    - Dst: ripemd160::Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:261,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 271
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 271
    functionName: '& CRIPEMD160::Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - ripemd160::Transform
    linkageType: ''
    returnType: CRIPEMD160
    signature: CRIPEMD160 & CRIPEMD160::Write(const unsigned char* data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WriteLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:277,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:278,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:279,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:280,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:281,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:282,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:283,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 285
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 285
    functionName: CRIPEMD160::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - WriteLE64
    - Write
    - WriteLE32
    linkageType: ''
    returnType: void
    signature: void CRIPEMD160::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: '& CRIPEMD160::Reset()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Initialize
    linkageType: ''
    returnType: CRIPEMD160
    signature: CRIPEMD160 & CRIPEMD160::Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:13,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:14,1
    - Dst: CSHA256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:16,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:17,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:22,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - key
    - keylen
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 27
    functionName: CHMAC_SHA256::CHMAC_SHA256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp
    functionUses: 0
    functionsReached:
    - memset
    - CSHA256
    - memcpy
    - Write
    linkageType: ''
    returnType: void
    signature: void CHMAC_SHA256::CHMAC_SHA256(const unsigned char* key, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHMAC_SHA256::Finalize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:32,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: CHMAC_SHA256::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp
    functionUses: 1
    functionsReached:
    - CHMAC_SHA256::Finalize
    - Write
    linkageType: ''
    returnType: void
    signature: void CHMAC_SHA256::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: sha256::Ch
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Ch(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: sha256::Maj
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Maj(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: sha256::Sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sigma0(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: sha256::Sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sigma1(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: sha256::sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigma0(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: sha256::sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigma1(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: sha256::Round
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t a, uint32_t b, uint32_t c, uint32_t& d, uint32_t
      e, uint32_t f, uint32_t g, uint32_t& h, uint32_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: sha256::Initialize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:84,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:84,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:85,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:85,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:86,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:86,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:87,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:87,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:88,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:88,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:89,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:89,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:90,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:90,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:91,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:91,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:92,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:92,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:93,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:93,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:94,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:94,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:95,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:95,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:96,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:96,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:97,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:97,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:98,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:98,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:99,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:99,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:101,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:101,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:101,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:102,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:102,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:102,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:103,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:103,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:103,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:104,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:104,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:104,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:105,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:105,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:105,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:106,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:106,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:106,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:107,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:107,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:107,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:108,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:108,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:108,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:109,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:109,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:109,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:110,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:110,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:110,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:111,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:111,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:111,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:112,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:112,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:112,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:113,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:113,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:113,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:114,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:114,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:114,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:115,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:115,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:115,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:116,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:116,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:116,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:118,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:118,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:118,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:119,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:119,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:119,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:120,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:120,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:120,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:121,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:121,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:121,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:122,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:122,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:122,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:123,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:123,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:123,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:124,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:124,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:124,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:125,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:125,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:125,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:126,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:126,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:126,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:127,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:127,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:127,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:128,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:128,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:128,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:129,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:129,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:129,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:130,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:130,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:130,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:131,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:131,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:131,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:132,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:132,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:132,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:133,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:133,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:133,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:135,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:135,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:135,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:136,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:136,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:136,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:137,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:137,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:137,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:138,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:138,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:138,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:139,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:139,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:139,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:140,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:140,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:140,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:141,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:141,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:141,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:142,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:142,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:142,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:143,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:143,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:143,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:144,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:144,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:144,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:145,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:145,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:145,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:146,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:146,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:146,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:147,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:147,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:147,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:148,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:148,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:148,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:149,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:149,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:149,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:150,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:150,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 76
    argCount: 3
    argNames:
    - s
    - chunk
    - blocks
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 162
    functionName: sha256::Transform
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::sigma1
    - sha256::sigma0
    - sha256::Round
    - ReadBE32
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:178,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:178,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:179,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:179,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:180,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:180,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:181,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:181,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:182,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:182,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:183,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:183,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:184,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:184,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:185,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:185,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:186,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:186,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:187,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:187,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:188,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:188,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:189,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:189,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:190,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:190,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:191,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:191,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:192,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:192,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:193,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:193,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:194,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:194,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:194,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:195,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:195,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:195,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:196,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:196,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:196,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:197,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:197,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:197,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:198,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:198,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:198,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:199,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:199,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:199,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:200,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:200,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:200,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:201,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:201,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:201,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:202,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:202,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:202,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:203,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:203,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:203,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:204,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:204,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:204,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:205,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:205,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:205,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:206,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:206,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:206,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:207,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:207,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:207,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:208,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:208,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:208,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:209,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:209,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:209,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:210,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:210,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:210,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:211,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:211,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:211,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:212,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:212,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:212,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:213,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:213,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:213,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:214,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:214,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:214,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:215,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:215,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:215,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:216,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:216,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:216,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:217,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:217,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:217,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:218,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:218,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:218,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:219,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:219,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:219,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:220,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:220,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:220,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:221,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:221,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:221,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:222,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:222,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:222,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:223,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:223,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:223,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:224,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:224,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:224,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:225,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:225,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:225,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:226,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:226,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:226,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:227,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:227,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:227,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:228,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:228,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:228,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:229,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:229,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:229,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:230,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:230,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:230,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:231,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:231,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:231,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:232,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:232,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:232,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:233,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:233,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:233,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:234,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:234,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:234,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:235,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:235,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:235,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:236,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:236,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:236,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:237,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:237,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:237,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:238,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:238,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:238,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:239,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:239,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:239,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:240,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:240,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:240,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:241,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:241,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:241,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:255,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:256,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:257,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:258,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:259,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:260,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:261,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:262,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:263,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:264,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:265,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:266,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:267,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:268,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:269,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:270,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:271,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:272,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:273,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:274,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:275,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:276,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:277,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:278,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:279,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:280,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:281,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:282,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:283,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:284,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:285,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:286,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:287,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:288,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:289,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:290,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:291,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:292,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:293,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:294,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:295,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:296,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:297,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:298,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:299,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:300,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:301,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:302,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:303,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:304,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:305,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:306,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:307,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:308,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:309,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:310,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:311,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:312,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:313,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:314,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:315,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:316,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:317,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:318,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:339,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:340,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:341,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:342,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:343,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:344,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:345,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:346,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:347,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:348,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:349,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:350,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:351,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:352,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:353,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:354,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:355,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:355,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:356,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:356,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:357,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:357,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:357,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:358,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:358,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:358,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:359,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:359,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:359,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:360,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:360,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:360,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:361,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:361,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:361,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:362,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:362,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:363,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:363,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:364,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:364,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:365,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:365,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:366,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:366,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:367,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:367,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:368,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:368,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:369,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:369,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:370,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:370,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:370,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:371,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:371,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:371,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:372,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:372,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:372,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:373,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:373,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:373,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:374,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:374,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:374,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:375,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:375,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:375,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:376,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:376,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:376,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:377,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:377,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:377,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:378,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:378,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:378,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:379,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:379,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:379,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:380,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:380,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:380,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:381,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:381,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:381,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:382,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:382,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:382,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:383,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:383,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:383,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:384,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:384,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:384,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:385,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:385,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:385,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:386,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:386,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:386,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:387,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:387,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:387,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:388,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:388,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:388,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:389,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:389,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:389,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:390,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:390,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:390,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:391,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:391,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:391,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:392,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:392,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:392,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:393,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:393,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:393,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:394,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:394,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:394,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:395,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:395,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:395,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:396,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:396,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:396,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:397,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:397,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:397,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:398,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:398,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:398,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:399,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:399,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:399,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:400,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:400,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:400,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:401,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:401,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:401,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:402,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:402,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:402,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:405,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:406,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:407,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:408,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:409,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:410,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:411,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 413
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 413
    functionName: sha256::TransformD64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::sigma0
    - sha256::Round
    - ReadBE32
    - sha256::sigma1
    - WriteBE32
    linkageType: ''
    returnType: void
    signature: void TransformD64(unsigned char* out, const unsigned char* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:436,1
    - Dst: tr
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:437,1
    - Dst: tr
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:438,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:439,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:440,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:441,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:442,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:443,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:444,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:445,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:446,1
    - Dst: sha256::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:447,1
    - Dst: tr
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:448,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:449,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:450,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:451,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:452,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:453,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:454,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:455,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 457
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 457
    functionName: TransformD64Wrapper
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::Initialize
    - WriteBE32
    - tr
    linkageType: ''
    returnType: void
    signature: void TransformD64Wrapper(unsigned char* out, const unsigned char* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:516,1
    - Dst: Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:517,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:518,1
    - Dst: TransformD64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:523,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:524,1
    - Dst: TransformD64_2way
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:529,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:530,1
    - Dst: TransformD64_4way
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:536,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:537,1
    - Dst: TransformD64_8way
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:543,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:544,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 548
    functionName: SelfTest
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - TransformD64_2way
    - TransformD64
    - copy
    - TransformD64_8way
    - TransformD64_4way
    - std::equal
    - Transform
    linkageType: ''
    returnType: bool
    signature: bool SelfTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: AVXEnabled
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AVXEnabled()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetCPUID
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:582,1
    - Dst: AVXEnabled
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:587,1
    - Dst: GetCPUID
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:590,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:626,1
    - Dst: SelfTest
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 628
    functionName: SHA256AutoDetect
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - AVXEnabled
    - assert
    - SelfTest
    - GetCPUID
    linkageType: ''
    returnType: std::string
    signature: std::string SHA256AutoDetect()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: CSHA256::CSHA256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::Initialize
    linkageType: ''
    returnType: void
    signature: void CSHA256::CSHA256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:643,1
    - Dst: Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:646,1
    - Dst: Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:651,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 661
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 661
    functionName: '& CSHA256::Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - Transform
    linkageType: ''
    returnType: CSHA256
    signature: CSHA256 & CSHA256::Write(const unsigned char* data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:667,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:668,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:669,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:670,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:671,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:672,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:673,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:674,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:675,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:676,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 678
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 678
    functionName: CSHA256::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - WriteBE32
    - WriteBE64
    - Write
    linkageType: ''
    returnType: void
    signature: void CSHA256::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: '& CSHA256::Reset()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::Initialize
    linkageType: ''
    returnType: CSHA256
    signature: CSHA256 & CSHA256::Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TransformD64_8way
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:691,1
    - Dst: TransformD64_4way
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:699,1
    - Dst: TransformD64_2way
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:707,1
    - Dst: TransformD64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:714,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - out
    - in
    - blocks
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 719
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 719
    functionName: SHA256D64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - TransformD64_2way
    - TransformD64_4way
    - TransformD64
    - TransformD64_8way
    linkageType: ''
    returnType: void
    signature: void SHA256D64(unsigned char* out, const unsigned char* in, size_t
      blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:13,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:14,1
    - Dst: CSHA512
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:16,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:17,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:22,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - key
    - keylen
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 27
    functionName: CHMAC_SHA512::CHMAC_SHA512
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp
    functionUses: 0
    functionsReached:
    - CSHA512
    - memset
    - memcpy
    - Write
    linkageType: ''
    returnType: void
    signature: void CHMAC_SHA512::CHMAC_SHA512(const unsigned char* key, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHMAC_SHA512::Finalize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:32,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: CHMAC_SHA512::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp
    functionUses: 1
    functionsReached:
    - CHMAC_SHA512::Finalize
    - Write
    linkageType: ''
    returnType: void
    signature: void CHMAC_SHA512::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: AES256Encrypt::AES256Encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - AES256_init
    linkageType: ''
    returnType: void
    signature: void AES256Encrypt::AES256Encrypt(const unsigned char key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: AES256Encrypt::~AES256Encrypt()
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AES256Encrypt::~AES256Encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext
    - plaintext
    argTypes:
    - unsigned char[]
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: AES256Encrypt::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - AES256_encrypt
    linkageType: ''
    returnType: void
    signature: void AES256Encrypt::Encrypt(unsigned char ciphertext[16], const unsigned
      char plaintext[16]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: AES256Decrypt::AES256Decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - AES256_init
    linkageType: ''
    returnType: void
    signature: void AES256Decrypt::AES256Decrypt(const unsigned char key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: AES256Decrypt::~AES256Decrypt()
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AES256Decrypt::~AES256Decrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plaintext
    - ciphertext
    argTypes:
    - unsigned char[]
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: AES256Decrypt::Decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - AES256_decrypt
    linkageType: ''
    returnType: void
    signature: void AES256Decrypt::Decrypt(unsigned char plaintext[16], const unsigned
      char ciphertext[16]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:57,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:63,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:64,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 6
    argNames:
    - ' enc'
    - iv
    - data
    - size
    - pad
    - out
    argTypes:
    - T
    - unsigned char[]
    - unsigned char*
    - int
    - bool
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: CBCEncrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - Encrypt
    linkageType: ''
    returnType: int
    signature: int CBCEncrypt(const T& enc, const unsigned char iv[AES_BLOCKSIZE],
      const unsigned char* data, int size, bool pad, unsigned char* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - ' dec'
    - iv
    - data
    - size
    - pad
    - out
    argTypes:
    - T
    - unsigned char[]
    - unsigned char*
    - int
    - bool
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 119
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 119
    functionName: CBCDecrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - Decrypt
    linkageType: ''
    returnType: int
    signature: int CBCDecrypt(const T& dec, const unsigned char iv[AES_BLOCKSIZE],
      const unsigned char* data, int size, bool pad, unsigned char* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - ivIn
    - padIn
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - bool
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: AES256CBCEncrypt::AES256CBCEncrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void AES256CBCEncrypt::AES256CBCEncrypt(const unsigned char key[AES256_KEYSIZE],
      const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CBCEncrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - out
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: AES256CBCEncrypt::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - CBCEncrypt
    linkageType: ''
    returnType: int
    signature: int AES256CBCEncrypt::Encrypt(const unsigned char* data, int size,
      unsigned char* out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: AES256CBCEncrypt::~AES256CBCEncrypt()
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AES256CBCEncrypt::~AES256CBCEncrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - ivIn
    - padIn
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - bool
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: AES256CBCDecrypt::AES256CBCDecrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void AES256CBCDecrypt::AES256CBCDecrypt(const unsigned char key[AES256_KEYSIZE],
      const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CBCDecrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - out
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: AES256CBCDecrypt::Decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - CBCDecrypt
    linkageType: ''
    returnType: int
    signature: int AES256CBCDecrypt::Decrypt(const unsigned char* data, int size,
      unsigned char* out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: AES256CBCDecrypt::~AES256CBCDecrypt()
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AES256CBCDecrypt::~AES256CBCDecrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: '& Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.h
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: CHMAC_SHA512
    signature: CHMAC_SHA512 & Write(const unsigned char* data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: sha512::Ch
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Ch(uint64_t x, uint64_t y, uint64_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha512::Maj
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Maj(uint64_t x, uint64_t y, uint64_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha512::Sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Sigma0(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha512::Sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Sigma1(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha512::sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sigma0(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha512::sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sigma1(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    - w
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: sha512::Round
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Round(uint64_t a, uint64_t b, uint64_t c, uint64_t& d, uint64_t
      e, uint64_t f, uint64_t g, uint64_t& h, uint64_t k, uint64_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: sha512::Initialize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint64_t* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:52,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:52,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:53,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:53,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:54,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:54,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:55,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:55,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:56,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:56,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:57,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:57,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:58,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:58,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:59,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:59,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:60,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:60,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:61,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:61,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:62,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:62,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:63,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:63,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:64,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:64,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:65,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:65,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:66,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:66,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:67,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:67,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:69,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:69,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:69,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:70,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:70,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:70,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:71,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:71,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:71,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:72,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:72,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:72,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:73,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:73,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:73,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:74,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:74,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:74,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:75,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:75,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:75,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:76,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:76,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:76,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:77,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:77,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:77,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:78,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:78,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:78,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:79,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:79,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:79,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:80,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:80,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:80,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:81,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:81,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:81,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:82,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:82,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:82,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:83,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:83,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:83,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:84,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:84,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:84,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:86,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:86,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:86,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:87,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:87,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:87,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:88,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:88,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:88,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:89,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:89,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:89,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:90,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:90,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:90,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:91,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:91,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:91,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:92,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:92,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:92,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:93,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:93,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:93,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:94,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:94,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:94,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:95,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:95,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:95,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:96,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:96,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:96,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:97,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:97,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:97,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:98,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:98,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:98,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:99,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:99,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:99,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:100,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:100,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:100,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:101,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:101,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:101,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:103,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:103,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:103,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:104,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:104,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:104,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:105,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:105,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:105,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:106,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:106,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:106,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:107,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:107,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:107,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:108,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:108,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:108,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:109,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:109,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:109,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:110,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:110,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:110,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:111,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:111,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:111,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:112,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:112,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:112,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:113,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:113,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:113,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:114,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:114,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:114,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:115,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:115,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:115,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:116,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:116,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:116,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:117,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:117,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:117,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:118,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:118,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:118,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:120,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:120,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:120,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:121,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:121,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:121,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:122,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:122,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:122,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:123,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:123,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:123,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:124,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:124,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:124,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:125,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:125,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:125,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:126,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:126,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:126,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:127,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:127,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:127,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:128,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:128,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:128,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:129,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:129,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:129,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:130,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:130,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:130,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:131,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:131,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:131,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:132,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:132,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:132,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:133,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:133,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:133,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:134,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:134,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:134,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:135,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:135,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 89
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint64_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 145
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 145
    functionName: sha512::Transform
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::sigma1
    - sha512::sigma0
    - ReadBE64
    - sha512::Round
    linkageType: ''
    returnType: void
    signature: void Transform(uint64_t* s, const unsigned char* chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: CSHA512::CSHA512
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::Initialize
    linkageType: ''
    returnType: void
    signature: void CSHA512::CSHA512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:165,1
    - Dst: sha512::Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:168,1
    - Dst: sha512::Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:173,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 183
    functionName: '& CSHA512::Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - sha512::Transform
    linkageType: ''
    returnType: CSHA512
    signature: CSHA512 & CSHA512::Write(const unsigned char* data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:189,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:190,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:191,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:192,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:193,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:194,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:195,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:196,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:197,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:198,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: CSHA512::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - WriteBE64
    - Write
    linkageType: ''
    returnType: void
    signature: void CSHA512::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: '& CSHA512::Reset()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::Initialize
    linkageType: ''
    returnType: CSHA512
    signature: CSHA512 & CSHA512::Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: rotl32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rotl32(uint32_t v, int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:28,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:29,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:30,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:31,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:38,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:39,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:40,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:41,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:42,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:43,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:44,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - k
    - keylen
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 50
    functionName: ChaCha20::SetKey
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    linkageType: ''
    returnType: void
    signature: void ChaCha20::SetKey(const unsigned char* k, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: ChaCha20::ChaCha20
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ChaCha20::ChaCha20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20::SetKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - keylen
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ChaCha20::ChaCha20
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - ChaCha20::SetKey
    linkageType: ''
    returnType: void
    signature: void ChaCha20::ChaCha20(const unsigned char* k, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iv
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ChaCha20::SetIV
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20::SetIV(uint64_t iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: ChaCha20::Seek
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20::Seek(uint64_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:123,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:124,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:125,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:126,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:127,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:128,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:129,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:130,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:152,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:153,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:154,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:155,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:156,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:157,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:158,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:159,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:160,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:161,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:162,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:163,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:164,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:165,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:166,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 97
    argCount: 2
    argNames:
    - c
    - bytes
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 180
    functionName: ChaCha20::Keystream
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - WriteLE32
    - QUARTERROUND
    linkageType: ''
    returnType: void
    signature: void ChaCha20::Keystream(unsigned char* c, size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:235,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:236,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:237,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:238,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:239,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:240,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:241,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:242,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:261,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:262,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:263,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:264,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:265,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:266,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:267,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:268,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:269,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:270,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:271,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:272,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:273,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:274,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:275,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:276,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:281,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:282,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:283,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:284,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:285,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:286,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:287,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:288,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:289,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:290,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:291,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:292,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:293,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:294,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:295,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 117
    argCount: 3
    argNames:
    - m
    - c
    - bytes
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 310
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 310
    functionName: ChaCha20::Crypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 1
    functionsReached:
    - WriteLE32
    - ReadLE32
    - QUARTERROUND
    linkageType: ''
    returnType: void
    signature: void ChaCha20::Crypt(const unsigned char* m, unsigned char* c, size_t
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 11
    functionName: gettimedouble
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: double
    signature: double gettimedouble(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: print_number
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_number(double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:34,1
    - Dst: gettimedouble
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:36,1
    - Dst: benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:37,1
    - Dst: gettimedouble
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:38,1
    - Dst: teardown
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:40,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:50,1
    - Dst: print_number
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:51,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:52,1
    - Dst: print_number
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:53,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:54,1
    - Dst: print_number
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:55,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - name
    - data
    - count
    - iter
    argTypes:
    - char*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 57
    functionName: run_benchmark
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - benchmark
    - print_number
    - gettimedouble
    - teardown
    - setup
    - printf
    linkageType: ''
    returnType: void
    signature: void run_benchmark(char *name, void (*benchmark)(void*), void (*setup)(void*),
      void (*teardown)(void*), void* data, int count, int iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES128_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: bench_AES128_init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES128_init
    linkageType: ''
    returnType: void
    signature: void bench_AES128_init(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES128_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: bench_AES128_encrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES128_init
    linkageType: ''
    returnType: void
    signature: void bench_AES128_encrypt_setup(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES128_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: bench_AES128_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES128_encrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES128_encrypt(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES128_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: bench_AES128_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES128_decrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES128_decrypt(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES192_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: bench_AES192_init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES192_init
    linkageType: ''
    returnType: void
    signature: void bench_AES192_init(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES192_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: bench_AES192_encrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES192_init
    linkageType: ''
    returnType: void
    signature: void bench_AES192_encrypt_setup(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES192_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: bench_AES192_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES192_encrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES192_encrypt(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES192_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: bench_AES192_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES192_decrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES192_decrypt(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: bench_AES256_init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES256_init
    linkageType: ''
    returnType: void
    signature: void bench_AES256_init(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: bench_AES256_encrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES256_init
    linkageType: ''
    returnType: void
    signature: void bench_AES256_encrypt_setup(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: bench_AES256_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES256_encrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES256_encrypt(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: bench_AES256_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES256_decrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES256_decrypt(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:160,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:161,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:162,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:163,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:164,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:165,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:166,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:167,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - run_benchmark
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:47,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - data
    - len
    - hex
    argTypes:
    - unsigned char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: from_hex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void from_hex(unsigned char* data, int len, const char* hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:66,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:67,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:68,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:72,1
    - Dst: AES128_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:73,1
    - Dst: AES128_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:74,1
    - Dst: AES128_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:75,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:80,1
    - Dst: AES192_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:81,1
    - Dst: AES192_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:82,1
    - Dst: AES192_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:83,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:88,1
    - Dst: AES256_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:89,1
    - Dst: AES256_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:90,1
    - Dst: AES256_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:91,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:95,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:96,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:99,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:100,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:105,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c
    functionUses: 0
    functionsReached:
    - AES256_encrypt
    - AES192_decrypt
    - assert
    - from_hex
    - fprintf
    - AES128_init
    - AES256_decrypt
    - AES192_encrypt
    - AES256_init
    - memcmp
    - AES128_decrypt
    - AES192_init
    - AES128_encrypt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - byte
    - r
    - c
    argTypes:
    - AES_state*
    - unsigned char
    - int
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: LoadByte
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LoadByte(AES_state* s, unsigned char byte, int r, int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadByte
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - data16
    argTypes:
    - AES_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: LoadBytes
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - LoadByte
    linkageType: ''
    returnType: void
    signature: void LoadBytes(AES_state *s, const unsigned char* data16)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data16
    - s
    argTypes:
    - unsigned char*
    - AES_state*
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: SaveBytes
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SaveBytes(unsigned char* data16, const AES_state *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 115
    argCount: 2
    argNames:
    - s
    - inv
    argTypes:
    - AES_state*
    - int
    constantsTouched: []
    func_position:
      end: 256
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 256
    functionName: SubBytes
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubBytes(AES_state *s, int inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIT_RANGE
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:268,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:269,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:269,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:270,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:270,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:271,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - AES_state*
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: ShiftRows
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - BIT_RANGE
    - BIT_RANGE_RIGHT
    - BIT_RANGE_LEFT
    linkageType: ''
    returnType: void
    signature: void ShiftRows(AES_state* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIT_RANGE
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:280,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:281,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:281,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:282,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:282,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:283,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - AES_state*
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: InvShiftRows
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - BIT_RANGE
    - BIT_RANGE_RIGHT
    - BIT_RANGE_LEFT
    linkageType: ''
    returnType: void
    signature: void InvShiftRows(AES_state* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - s
    - inv
    argTypes:
    - AES_state*
    - int
    constantsTouched: []
    func_position:
      end: 352
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 352
    functionName: MixColumns
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MixColumns(AES_state* s, int inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - round
    argTypes:
    - AES_state*
    - AES_state*
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: AddRoundKey
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddRoundKey(AES_state* s, const AES_state* round)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - c
    argTypes:
    - AES_state*
    - AES_state*
    - int
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: GetOneColumn
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetOneColumn(AES_state* s, const AES_state* a, int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - s
    - r
    - a
    - c1
    - c2
    argTypes:
    - AES_state*
    - AES_state*
    - AES_state*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: KeySetupColumnMix
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeySetupColumnMix(AES_state* s, AES_state* r, const AES_state*
      a, int c1, int c2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - AES_state*
    - AES_state*
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: KeySetupTransform
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeySetupTransform(AES_state* s, const AES_state* r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - AES_state*
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: MultX
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultX(AES_state* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadByte
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:429,1
    - Dst: GetOneColumn
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:433,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:438,1
    - Dst: KeySetupTransform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:439,1
    - Dst: MultX
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:440,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:442,1
    - Dst: KeySetupColumnMix
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - rounds
    - key
    - nkeywords
    - nrounds
    argTypes:
    - AES_state*
    - uint8_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 447
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 447
    functionName: AES_setup
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - MultX
    - KeySetupColumnMix
    - KeySetupTransform
    - GetOneColumn
    - SubBytes
    - LoadByte
    linkageType: ''
    returnType: void
    signature: void AES_setup(AES_state* rounds, const uint8_t* key, int nkeywords,
      int nrounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:453,1
    - Dst: AddRoundKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:454,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:457,1
    - Dst: ShiftRows
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:458,1
    - Dst: MixColumns
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:459,1
    - Dst: AddRoundKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:460,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:463,1
    - Dst: ShiftRows
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:464,1
    - Dst: AddRoundKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:465,1
    - Dst: SaveBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - rounds
    - nrounds
    - cipher16
    - plain16
    argTypes:
    - AES_state*
    - int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 468
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 468
    functionName: AES_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - SaveBytes
    - ShiftRows
    - AddRoundKey
    - SubBytes
    - MixColumns
    - LoadBytes
    linkageType: ''
    returnType: void
    signature: void AES_encrypt(const AES_state* rounds, int nrounds, unsigned char*
      cipher16, const unsigned char* plain16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:480,1
    - Dst: AddRoundKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:481,1
    - Dst: InvShiftRows
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:484,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:485,1
    - Dst: AddRoundKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:486,1
    - Dst: MixColumns
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:487,1
    - Dst: InvShiftRows
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:490,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:491,1
    - Dst: AddRoundKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:492,1
    - Dst: SaveBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - rounds
    - nrounds
    - plain16
    - cipher16
    argTypes:
    - AES_state*
    - int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 495
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 495
    functionName: AES_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - InvShiftRows
    - SaveBytes
    - AddRoundKey
    - SubBytes
    - MixColumns
    - LoadBytes
    linkageType: ''
    returnType: void
    signature: void AES_decrypt(const AES_state* rounds, int nrounds, unsigned char*
      plain16, const unsigned char* cipher16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_setup
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key16
    argTypes:
    - AES128_ctx*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: AES128_init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 3
    functionsReached:
    - AES_setup
    linkageType: ''
    returnType: void
    signature: void AES128_init(AES128_ctx* ctx, const unsigned char* key16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - cipher16
    - plain16
    argTypes:
    - AES128_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: AES128_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 2
    functionsReached:
    - AES_encrypt
    linkageType: ''
    returnType: void
    signature: void AES128_encrypt(const AES128_ctx* ctx, size_t blocks, unsigned
      char* cipher16, const unsigned char* plain16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - plain16
    - cipher16
    argTypes:
    - AES128_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: AES128_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 2
    functionsReached:
    - AES_decrypt
    linkageType: ''
    returnType: void
    signature: void AES128_decrypt(const AES128_ctx* ctx, size_t blocks, unsigned
      char* plain16, const unsigned char* cipher16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_setup
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key24
    argTypes:
    - AES192_ctx*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 519
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 519
    functionName: AES192_init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 3
    functionsReached:
    - AES_setup
    linkageType: ''
    returnType: void
    signature: void AES192_init(AES192_ctx* ctx, const unsigned char* key24)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - cipher16
    - plain16
    argTypes:
    - AES192_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 3
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: AES192_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 2
    functionsReached:
    - AES_encrypt
    linkageType: ''
    returnType: void
    signature: void AES192_encrypt(const AES192_ctx* ctx, size_t blocks, unsigned
      char* cipher16, const unsigned char* plain16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - plain16
    - cipher16
    argTypes:
    - AES192_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: AES192_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 2
    functionsReached:
    - AES_decrypt
    linkageType: ''
    returnType: void
    signature: void AES192_decrypt(const AES192_ctx* ctx, size_t blocks, unsigned
      char* plain16, const unsigned char* cipher16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_setup
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key32
    argTypes:
    - AES256_ctx*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: AES256_init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 5
    functionsReached:
    - AES_setup
    linkageType: ''
    returnType: void
    signature: void AES256_init(AES256_ctx* ctx, const unsigned char* key32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - cipher16
    - plain16
    argTypes:
    - AES256_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: AES256_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 3
    functionsReached:
    - AES_encrypt
    linkageType: ''
    returnType: void
    signature: void AES256_encrypt(const AES256_ctx* ctx, size_t blocks, unsigned
      char* cipher16, const unsigned char* plain16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - plain16
    - cipher16
    argTypes:
    - AES256_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 556
    functionName: AES256_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 3
    functionsReached:
    - AES_decrypt
    linkageType: ''
    returnType: void
    signature: void AES256_decrypt(const AES256_ctx* ctx, size_t blocks, unsigned
      char* plain16, const unsigned char* cipher16)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: bswap_16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/byteswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bswap_16(uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: bswap_32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/byteswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t bswap_32(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: bswap_64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/byteswap.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t bswap_64(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: htobe16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t htobe16(uint16_t host_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: htole16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t htole16(uint16_t host_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - big_endian_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: be16toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t be16toh(uint16_t big_endian_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - little_endian_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: le16toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t le16toh(uint16_t little_endian_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: htobe32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t htobe32(uint32_t host_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: htole32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t htole32(uint32_t host_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - big_endian_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: be32toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t be32toh(uint32_t big_endian_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - little_endian_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: le32toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t le32toh(uint32_t little_endian_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: htobe64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t htobe64(uint64_t host_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: htole64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t htole64(uint64_t host_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - big_endian_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: be64toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t be64toh(uint64_t big_endian_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - little_endian_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: le64toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t le64toh(uint64_t little_endian_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: htobe16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t htobe16(uint16_t host_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: htole16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t htole16(uint16_t host_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - big_endian_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: be16toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t be16toh(uint16_t big_endian_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - little_endian_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: le16toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t le16toh(uint16_t little_endian_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: htobe32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t htobe32(uint32_t host_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: htole32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t htole32(uint32_t host_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - big_endian_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: be32toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t be32toh(uint32_t big_endian_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - little_endian_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: le32toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t le32toh(uint32_t little_endian_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: htobe64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t htobe64(uint64_t host_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: htole64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t htole64(uint64_t host_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - big_endian_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: be64toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t be64toh(uint64_t big_endian_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - little_endian_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: le64toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t le64toh(uint64_t little_endian_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __cpuid_count
      Src: /src/cryptofuzz/modules/bitcoin/compat/cpuid.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - leaf
    - subleaf
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: GetCPUID
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/cpuid.h
    functionUses: 1
    functionsReached:
    - __cpuid_count
    linkageType: ''
    returnType: void
    signature: void GetCPUID(uint32_t leaf, uint32_t subleaf, uint32_t& a, uint32_t&
      b, uint32_t& c, uint32_t& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: IsDigit
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDigit(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: IsSpace
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSpace(char c) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:150,1
    - Dst: MakeUCharSpan
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span<const char>
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: HexStr
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 2
    functionsReached:
    - HexStr
    - MakeUCharSpan
    linkageType: ''
    returnType: std::string
    signature: std::string HexStr(const Span<const char> s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:166,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:166,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:168,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: TimingResistantEqual
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool TimingResistantEqual(const T& a, const T& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: outfn
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:192,1
    - Dst: outfn
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' outfn'
    - it
    - end
    argTypes:
    - O
    - I
    - I
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: ConvertBits
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 0
    functionsReached:
    - outfn
    linkageType: ''
    returnType: bool
    signature: bool ConvertBits(const O& outfn, I it, I end)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: ToLower
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char ToLower(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: ToUpper
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char ToUpper(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:20,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:22,1
    - Dst: find_last_not_of
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:24,1
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: TrimString
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 0
    functionsReached:
    - std::string
    - find_last_not_of
    - find_first_not_of
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string TrimString(const std::string& str, const std::string& pattern
      = " \f\n\r\t\v")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:30,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:30,1
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:31,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' str'
    - ' prefix'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: RemovePrefix
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 0
    functionsReached:
    - substr
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string RemovePrefix(const std::string& str, const std::string&
      prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unary_op
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:45,1
    - Dst: at
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:45,1
    - Dst: unary_op
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:47,1
    - Dst: at
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:47,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:48,1
    - Dst: unary_op
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:50,1
    - Dst: at
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' list'
    - ' separator'
    - unary_op
    argTypes:
    - std::vector<T>
    - BaseType
    - UnaryOp
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: Join
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 0
    functionsReached:
    - at
    - size
    - unary_op
    linkageType: ''
    returnType: auto
    signature: "auto Join(const std::vector<T>& list, const BaseType& separator, UnaryOp
      unary_op)\n    -> decltype(unary_op(list.at(0)))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' list'
    - ' separator'
    argTypes:
    - std::vector<T>
    - T
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Join
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 1
    functionsReached:
    - Join
    linkageType: ''
    returnType: T
    signature: T Join(const std::vector<T>& list, const T& separator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' list'
    - ' separator'
    argTypes:
    - std::vector<std::string>
    - std::string
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: Join
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 2
    functionsReached:
    - Join
    linkageType: ''
    returnType: std::string
    signature: std::string Join(const std::vector<std::string>& list, const std::string&
      separator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:72,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:72,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ValidAsCString
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 0
    functionsReached:
    - strlen
    - c_str
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidAsCString(const std::string& str) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::imbue
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:82,1
    - Dst: std::locale::classic
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:82,1
    - Dst: std::ostringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: ToString
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 173
    functionsReached:
    - std::locale::classic
    - std::ostringstream::imbue
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const T& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:94,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:95,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:95,1
    - Dst: end
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:95,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' obj'
    - ' prefix'
    argTypes:
    - T1
    - std::array<uint8_t, PREFIX_LEN>
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: HasPrefix
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 0
    functionsReached:
    - end
    - std::equal
    - begin
    - size
    linkageType: ''
    returnType: bool
    signature: "bool HasPrefix(const T1& obj,\n                                const
      std::array<uint8_t, PREFIX_LEN>& prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:30,1
    - Dst: find
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:32,1
    - Dst: std::string::push_back
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - rule
    argTypes:
    - std::string
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: SanitizeString
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - find
    - std::string::push_back
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string SanitizeString(const std::string& str, int rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: HexDigit
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: signed char
    signature: signed char HexDigit(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:63,1
    - Dst: end
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:63,1
    - Dst: HexDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:65,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:68,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: IsHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - size
    - HexDigit
    linkageType: ''
    returnType: bool
    signature: bool IsHex(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:74,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:74,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:74,1
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:77,1
    - Dst: HexDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:78,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: IsHexNumber
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - HexDigit
    - begin
    - size
    - substr
    linkageType: ''
    returnType: bool
    signature: bool IsHexNumber(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsSpace
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:90,1
    - Dst: HexDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:96,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: ParseHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - IsSpace
    - std::vector::push_back
    - HexDigit
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ParseHex(const char* psz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:107,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: ParseHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - c_str
    - ParseHex
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ParseHex(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParseUInt16
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:119,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:119,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:120,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:124,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:124,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:125,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:125,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - in
    - ' portOut'
    - ' hostOut'
    argTypes:
    - std::string
    - uint16_t
    - std::string
    constantsTouched: []
    func_position:
      end: 129
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: SplitHostPort
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - ParseUInt16
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void SplitHostPort(std::string in, uint16_t& portOut, std::string&
      hostOut)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:136,1
    - Dst: Span<const unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:136,1
    - Dst: ConvertBits
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:137,1
    - Dst: Span<const unsigned char>::begin
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:137,1
    - Dst: Span<const unsigned char>::end
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:137,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - Span<const unsigned char>
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: EncodeBase64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - Span<const unsigned char>::end
    - ConvertBits
    - Span<const unsigned char>::size
    - std::string::reserve
    - std::string::size
    - Span<const unsigned char>::begin
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeBase64(Span<const unsigned char> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EncodeBase64
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:144,1
    - Dst: MakeUCharSpan
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: EncodeBase64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - EncodeBase64
    - MakeUCharSpan
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeBase64(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:168,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:168,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:172,1
    - Dst: std::vector::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:177,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - p
    - pf_invalid
    argTypes:
    - char*
    - bool*
    constantsTouched: []
    func_position:
      end: 192
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 192
    functionName: DecodeBase64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::push_back
    - strlen
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> DecodeBase64(const char* p, bool* pf_invalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidAsCString
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:196,1
    - Dst: DecodeBase64
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:202,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:202,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:203,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:203,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' str'
    - pf_invalid
    argTypes:
    - std::string
    - bool*
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: DecodeBase64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - c_str
    - DecodeBase64
    - std::string
    - ValidAsCString
    linkageType: ''
    returnType: std::string
    signature: std::string DecodeBase64(const std::string& str, bool* pf_invalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:211,1
    - Dst: Span<const unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:211,1
    - Dst: ConvertBits
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:212,1
    - Dst: Span<const unsigned char>::begin
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:212,1
    - Dst: Span<const unsigned char>::end
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:212,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - input
    - pad
    argTypes:
    - Span<const unsigned char>
    - bool
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: EncodeBase32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - Span<const unsigned char>::end
    - ConvertBits
    - Span<const unsigned char>::size
    - std::string::reserve
    - std::string::size
    - Span<const unsigned char>::begin
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeBase32(Span<const unsigned char> input, bool pad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EncodeBase32
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:223,1
    - Dst: MakeUCharSpan
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - pad
    argTypes:
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: EncodeBase32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - EncodeBase32
    - MakeUCharSpan
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeBase32(const std::string& str, bool pad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:247,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:247,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:251,1
    - Dst: std::vector::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:256,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:256,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - p
    - pf_invalid
    argTypes:
    - char*
    - bool*
    constantsTouched: []
    func_position:
      end: 271
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 271
    functionName: DecodeBase32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::push_back
    - strlen
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> DecodeBase32(const char* p, bool* pf_invalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidAsCString
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:275,1
    - Dst: DecodeBase32
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:281,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:281,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:282,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:282,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' str'
    - pf_invalid
    argTypes:
    - std::string
    - bool*
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: DecodeBase32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - c_str
    - std::string
    - DecodeBase32
    - ValidAsCString
    linkageType: ''
    returnType: std::string
    signature: std::string DecodeBase32(const std::string& str, bool* pf_invalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:287,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:289,1
    - Dst: IsSpace
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:289,1
    - Dst: IsSpace
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:289,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:289,1
    - Dst: ValidAsCString
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: ParsePrechecks
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - ValidAsCString
    - IsSpace
    - empty
    - size
    linkageType: ''
    returnType: bool
    signature: bool ParsePrechecks(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsePrechecks
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:298,1
    - Dst: Botan_Tests::get_test_instances_min
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:308,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - int32_t*
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: ParseInt32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_test_instances_min
    - cryptofuzz::mutator::ExpModGenerator::max
    - ParsePrechecks
    linkageType: ''
    returnType: bool
    signature: bool ParseInt32(const std::string& str, int32_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsePrechecks
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:314,1
    - Dst: Botan_Tests::get_test_instances_min
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:323,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - int64_t*
    constantsTouched: []
    func_position:
      end: 325
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 325
    functionName: ParseInt64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_test_instances_min
    - cryptofuzz::mutator::ExpModGenerator::max
    - ParsePrechecks
    linkageType: ''
    returnType: bool
    signature: bool ParseInt64(const std::string& str, int64_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParseUInt32
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:330,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:330,1
    - Dst: static_cast<uint8_t>
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: ParseUInt8
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max
    - ParseUInt32
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool ParseUInt8(const std::string& str, uint8_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParseUInt32
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:342,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:342,1
    - Dst: static_cast<uint16_t>
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: ParseUInt16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max
    - ParseUInt32
    - static_cast<uint16_t>
    linkageType: ''
    returnType: bool
    signature: bool ParseUInt16(const std::string& str, uint16_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsePrechecks
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:353,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:355,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: ParseUInt32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max
    - size
    - ParsePrechecks
    linkageType: ''
    returnType: bool
    signature: bool ParseUInt32(const std::string& str, uint32_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsePrechecks
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:370,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:372,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 382
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 382
    functionName: ParseUInt64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max
    - size
    - ParsePrechecks
    linkageType: ''
    returnType: bool
    signature: bool ParseUInt64(const std::string& str, uint64_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsePrechecks
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:387,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:389,1
    - Dst: std::istringstream::imbue
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:392,1
    - Dst: std::locale::classic
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:392,1
    - Dst: std::istringstream::eof
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:396,1
    - Dst: std::istringstream::fail
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - double*
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: ParseDouble
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - std::locale::classic
    - std::istringstream::eof
    - std::istringstream::fail
    - size
    - std::istringstream::imbue
    - ParsePrechecks
    linkageType: ''
    returnType: bool
    signature: bool ParseDouble(const std::string& str, double *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:404,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:408,1
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:413,1
    - Dst: find_first_of
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:420,1
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:423,1
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:427,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:431,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:437,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - ' in'
    - width
    - indent
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 438
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 438
    functionName: FormatParagraph
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::string
    - find_first_of
    - substr
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string FormatParagraph(const std::string& in, size_t width, size_t
      indent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _atoi64
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:443,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:443,1
    - Dst: strtoll
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:445,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 447
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 447
    functionName: atoi64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - c_str
    - _atoi64
    - strtoll
    linkageType: ''
    returnType: int64_t
    signature: int64_t atoi64(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:451,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: atoi
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - c_str
    - atoi
    linkageType: ''
    returnType: int
    signature: int atoi(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ch
    - mantissa
    - mantissa_tzeros
    argTypes:
    - char
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 479
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 479
    functionName: ProcessMantissaDigit
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProcessMantissaDigit(char ch, int64_t &mantissa, int &mantissa_tzeros)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:502,1
    - Dst: ProcessMantissaDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:503,1
    - Dst: IsDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:512,1
    - Dst: IsDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:514,1
    - Dst: ProcessMantissaDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:515,1
    - Dst: IsDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:531,1
    - Dst: IsDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:532,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 71
    argCount: 3
    argNames:
    - val
    - decimals
    - amount_out
    argTypes:
    - std::string
    - int
    - int64_t*
    constantsTouched: []
    func_position:
      end: 571
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 571
    functionName: ParseFixedPoint
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - IsDigit
    - ProcessMantissaDigit
    linkageType: ''
    returnType: bool
    signature: bool ParseFixedPoint(const std::string &val, int decimals, int64_t
      *amount_out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToLower
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 578
    functionName: ToLower
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 2
    functionsReached:
    - ToLower
    linkageType: ''
    returnType: std::string
    signature: std::string ToLower(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToUpper
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 585
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 585
    functionName: ToUpper
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - ToUpper
    linkageType: ''
    returnType: std::string
    signature: std::string ToUpper(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:589,1
    - Dst: ToUpper
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:590,1
    - Dst: std::string::front
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 592
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 592
    functionName: Capitalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - std::string::front
    - ToUpper
    linkageType: ''
    returnType: std::string
    signature: std::string Capitalize(std::string str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:599,1
    - Dst: Span<const uint8_t>::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:599,1
    - Dst: std::string::push_back
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:601,1
    - Dst: std::string::push_back
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 605
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 605
    functionName: HexStr
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 2
    functionsReached:
    - std::string::push_back
    - Span<const uint8_t>::size
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string HexStr(const Span<const uint8_t> s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::rust_uint::rust_uint
    functionSourceFile: /src/cryptofuzz/modules/rust-uint/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rust_uint::rust_uint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:22,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:22,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:26,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:34,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:34,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:34,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:35,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:35,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:35,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:38,1
    - Dst: rust_uint_bigint_bignumcalc
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:42,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:43,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:44,1
    - Dst: data
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:45,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:50,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: cryptofuzz::module::rust_uint::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/rust-uint/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::util::DecToBin
    - data
    - modulo::ToTrimmedString
    - CF_CHECK_EQ
    - rust_uint_bigint_bignumcalc
    - bn1::ToTrimmedString
    - calcOp::Get
    - std::optional::data
    - CF_CHECK_NE
    - bn0::ToTrimmedString
    - cryptofuzz::util::BinToDec
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> rust_uint::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::rust_uint::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/rust-uint/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool rust_uint::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:12,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:14,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:15,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:15,1
    - Dst: std::transform
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:16,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:16,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:16,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:16,1
    - Dst: std::tolower
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:17,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:19,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:22,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:22,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:25,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:26,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:26,1
    - Dst: std::transform
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:27,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:27,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:27,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:27,1
    - Dst: std::tolower
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:32,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:32,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:35,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:36,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:36,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:37,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:37,1
    - Dst: std::transform
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:38,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:38,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:38,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:38,1
    - Dst: std::tolower
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:39,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:40,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:43,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:43,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::tolower
    - std::to_string
    - fclose
    - std::string
    - std::regex_replace
    - auto::end
    - fprintf
    - auto::c_str
    - fopen
    - std::regex
    - std::transform
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:48,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:51,1
    - Dst: BN_add
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:51,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:51,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:51,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:51,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:52,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:52,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:55,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:55,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:55,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:56,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:56,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:56,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:57,1
    - Dst: BN_uadd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:57,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:57,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:57,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:57,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:61,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:62,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:64,1
    - Dst: BN_add_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:64,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:64,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:66,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: cryptofuzz::module::OpenSSL_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT_EQ
    - GetDestPtr
    - CF_NORET
    - CF_CHECK_EQ
    - BN_add_word
    - BN_uadd
    - CopyResult
    - GetPtr
    - Set
    - CF_CHECK_NE
    - BN_is_negative
    - GetResPtr
    - GET_WHICH
    - AsBN_ULONG
    - BN_add
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:84,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:87,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:87,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:87,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:87,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:87,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:88,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:88,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:96,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:96,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:96,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:97,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:97,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:97,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:98,1
    - Dst: BN_usub
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:98,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:98,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:98,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:98,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:103,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:104,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:106,1
    - Dst: BN_sub_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:106,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:106,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:108,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:108,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:113,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:113,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:113,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:114,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:114,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:114,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:115,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:115,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:115,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:115,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:116,1
    - Dst: bn_abs_sub_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:116,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:116,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:116,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:116,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 128
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 128
    functionName: cryptofuzz::module::OpenSSL_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT_EQ
    - BN_sub
    - BN_sub_word
    - GetDestPtr
    - CF_NORET
    - CF_CHECK_EQ
    - bn_abs_sub_consttime
    - CopyResult
    - GetPtr
    - Set
    - CF_CHECK_NE
    - BN_is_negative
    - GetResPtr
    - BN_usub
    - CF_CHECK_GTE
    - GET_WHICH
    - AsBN_ULONG
    - BN_cmp
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:135,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:138,1
    - Dst: BN_mul
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:138,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:138,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:139,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:139,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:143,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:144,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:146,1
    - Dst: BN_mul_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:146,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:146,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:148,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 160
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 160
    functionName: cryptofuzz::module::OpenSSL_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT_EQ
    - BN_mul
    - GetDestPtr
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - GetPtr
    - Set
    - CF_CHECK_NE
    - BN_mul_word
    - GetResPtr
    - GET_WHICH
    - AsBN_ULONG
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:166,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:169,1
    - Dst: BN_mod
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:170,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:170,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:172,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:172,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:176,1
    - Dst: BN_div
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:177,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:177,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:177,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:177,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:177,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:179,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:185,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:187,1
    - Dst: bn_div_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:187,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:189,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:190,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:191,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:192,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:192,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:193,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:197,1
    - Dst: cryptofuzz::util::HintBignumPow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:197,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:198,1
    - Dst: BN_is_pow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:198,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:198,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:199,1
    - Dst: BN_mod_pow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:199,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:199,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:199,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:199,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:199,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:206,1
    - Dst: AsUint64
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:206,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:210,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:212,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:217,1
    - Dst: BN_num_bits_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:217,1
    - Dst: bn_mod_u16_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:220,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:220,1
    - Dst: SetUint32
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:221,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:230,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:230,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:230,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:232,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:233,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:234,1
    - Dst: BN_mod_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:236,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:236,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:238,1
    - Dst: SetWord
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:238,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:243,1
    - Dst: cryptofuzz::util::HintBignumPow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:243,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:244,1
    - Dst: BN_is_pow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:244,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:244,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:245,1
    - Dst: BN_nnmod_pow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:245,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:245,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:245,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:245,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:245,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:250,1
    - Dst: BN_mod_ct
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:251,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:251,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:251,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:251,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:251,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:253,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:253,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:265,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:266,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:266,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 272
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 272
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - SetUint32
    - BN_is_pow2
    - BN_num_bits_word
    - AsUint64
    - BN_num_bits
    - BN_is_negative
    - BN_div
    - BN_mod_pow2
    - cryptofuzz::util::HintBignumPow2
    - GetPtr
    - GET_WHICH
    - AsBN_ULONG
    - GetPtrConst
    - GetDestPtr
    - CF_CHECK_EQ
    - SetWord
    - CF_ASSERT_EQ_COND
    - CF_CHECK_LTE
    - bn_mod_u16_consttime
    - Get
    - BN_mod
    - BN_nnmod_pow2
    - CF_CHECK_TRUE
    - CF_NORET
    - CF_CHECK_NE
    - BN_mod_ct
    - BN_mod_word
    - bn_div_consttime
    - CF_CHECK_GT
    - BN_is_zero
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:280,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:280,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:281,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:281,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:281,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:281,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:282,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:282,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:282,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:282,1
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:285,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:292,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:293,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:293,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:293,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:301,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:302,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:302,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:302,1
    - Dst: rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:309,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::pow
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:310,1
    - Dst: rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:310,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:311,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:312,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:312,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:315,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:316,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:317,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:318,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:319,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:320,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:321,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:324,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:325,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:325,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:325,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:325,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:327,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:327,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:328,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:328,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:329,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:329,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:329,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:333,1
    - Dst: BN_mod_exp_mont
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:334,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:336,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:337,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:338,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:339,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:342,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:343,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:343,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:343,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:343,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:345,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:345,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:346,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:346,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:347,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:347,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:347,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:351,1
    - Dst: BN_mod_exp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:352,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:353,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:354,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:355,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:356,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:357,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:359,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:359,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:359,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:359,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: BN_mod_exp_simple
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:375,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:395,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:395,1
    - Dst: BN_rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:396,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:396,1
    - Dst: cryptofuzz::util::HintBignumOpt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:397,1
    - Dst: Bignum::ToString
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:397,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:402,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:402,1
    - Dst: BN_rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:403,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:403,1
    - Dst: cryptofuzz::util::HintBignumOpt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:404,1
    - Dst: Bignum::ToString
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:404,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:409,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:409,1
    - Dst: BN_rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:410,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:410,1
    - Dst: cryptofuzz::util::HintBignumOpt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:411,1
    - Dst: Bignum::ToString
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:411,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:417,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:417,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:419,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:420,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:421,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:423,1
    - Dst: BN_mod_exp_mont_consttime_x2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:423,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:424,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:427,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:429,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:436,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:436,1
    - Dst: BN_one
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:437,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:437,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:439,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:440,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:440,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:440,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:444,1
    - Dst: BN_mod_exp2_mont
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:444,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:445,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:446,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:446,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:448,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:449,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:455,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:455,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:455,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:460,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:461,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:462,1
    - Dst: BN_mod_exp_mont_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:462,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:462,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:462,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:462,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:462,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 92
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 475
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 475
    functionName: cryptofuzz::module::OpenSSL_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mod_exp2_mont
    - BN_mod_exp_mont
    - BN_rand
    - boost::multiprecision::cpp_int::str
    - Bignum::ToString
    - BN_is_odd
    - rand
    - BN_mod_exp_mont_consttime
    - Bignum::GetPtr
    - GetPtr
    - defined
    - GetData
    - cryptofuzz::util::BinToDec
    - cryptofuzz::mutator::ExpModGenerator::pow
    - BN_cmp
    - GET_WHICH
    - AsBN_ULONG
    - Bignum::New
    - GetDestPtr
    - cryptofuzz::util::HintBignum
    - CF_CHECK_EQ
    - CF_ASSERT_EQ_COND
    - BN_mod_exp_simple
    - Bignum::GetDestPtr
    - CF_CHECK_TRUE
    - CF_NORET
    - cryptofuzz::util::HintBignumOpt
    - BN_mod_exp
    - CF_CHECK_NE
    - BN_mod_exp_mont_word
    - BN_mod_exp_mont_consttime_x2
    - BN_one
    - Get
    - BN_is_zero
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:481,1
    - Dst: BN_sqr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:481,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:481,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:481,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:481,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:482,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 487
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 487
    functionName: cryptofuzz::module::OpenSSL_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT_EQ
    - BN_sqr
    - CF_NORET
    - CopyResult
    - GetPtr
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:493,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:496,1
    - Dst: BN_gcd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:496,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:496,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:496,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:496,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:496,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:497,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:497,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:501,1
    - Dst: BN_gcd_ct
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:501,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:501,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:501,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:501,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 512
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 512
    functionName: cryptofuzz::module::OpenSSL_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT_EQ
    - GetDestPtr
    - CF_NORET
    - CF_CHECK_EQ
    - BN_gcd
    - CopyResult
    - GetPtr
    - BN_gcd_ct
    - GetResPtr
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:517,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:520,1
    - Dst: BN_mod_add
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:521,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:522,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:523,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:524,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:525,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:526,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:528,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:528,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:533,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:533,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:536,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:536,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:536,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:536,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:537,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:537,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:537,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:537,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:538,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:538,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:538,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:538,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:539,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:539,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:539,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:539,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:540,1
    - Dst: BN_mod_add_quick
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:541,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:542,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:543,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:544,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 558
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 558
    functionName: cryptofuzz::module::OpenSSL_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - CF_ASSERT_EQ
    - Bignum::New
    - GetDestPtr
    - Bignum::GetPtr
    - CF_CHECK_EQ
    - CF_ASSERT_EQ_COND
    - GetPtr
    - BN_mod_add_quick
    - BN_cmp
    - CF_CHECK_GTE
    - BN_mod_add
    - GET_WHICH
    - BN_is_zero
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:563,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:566,1
    - Dst: BN_mod_sub
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:567,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:568,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:569,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:570,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:571,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:572,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:574,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:574,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:579,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:579,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:582,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:582,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:582,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:582,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:583,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:583,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:583,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:583,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:584,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:584,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:584,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:584,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:585,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:585,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:585,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:585,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:586,1
    - Dst: BN_mod_sub_quick
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:586,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:586,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:586,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:586,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:586,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:602,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:602,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:602,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:603,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:603,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:603,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:603,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:603,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:604,1
    - Dst: bn_mod_sub_fixed_top
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:604,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:604,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:604,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:604,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 616
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 616
    functionName: cryptofuzz::module::OpenSSL_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - CF_ASSERT_EQ
    - Bignum::New
    - GetDestPtr
    - Bignum::GetPtr
    - CF_CHECK_EQ
    - CF_ASSERT_EQ_COND
    - GetPtr
    - bn_mod_sub_fixed_top
    - BN_cmp
    - BN_num_bits
    - CF_CHECK_GTE
    - GET_WHICH
    - BN_mod_sub_quick
    - BN_mod_sub
    - BN_is_zero
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:624,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:628,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:629,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:630,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:631,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:632,1
    - Dst: BN_mod_mul
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:633,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:635,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:638,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:641,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:641,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:651,1
    - Dst: BN_MONT_CTX_set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:651,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:651,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:651,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:651,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:656,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:656,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:657,1
    - Dst: BN_nnmod
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:657,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:657,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:657,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:657,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:657,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:658,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:659,1
    - Dst: BN_to_montgomery
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:659,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:659,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:659,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:665,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:665,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:666,1
    - Dst: BN_nnmod
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:666,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:666,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:666,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:666,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:666,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:667,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:668,1
    - Dst: BN_to_montgomery
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:668,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:668,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:668,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:675,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:676,1
    - Dst: BN_from_montgomery
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:676,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:676,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:676,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:685,1
    - Dst: BN_RECP_CTX_new
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:685,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:686,1
    - Dst: BN_RECP_CTX_set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:686,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:686,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:686,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:687,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:687,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:688,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:689,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:690,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:692,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:693,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:694,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:694,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:707,1
    - Dst: BN_RECP_CTX_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:707,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 711
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 711
    functionName: cryptofuzz::module::OpenSSL_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_RECP_CTX_set
    - BN_nnmod
    - BN_from_montgomery
    - Bignum::GetPtr
    - BN_MONT_CTX::GetPtr
    - CopyResult
    - GetPtr
    - BN_to_montgomery
    - GET_WHICH
    - CF_ASSERT_EQ
    - Bignum::New
    - GetDestPtr
    - BN_mod_mul
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - CF_ASSERT_EQ_COND
    - Bignum::GetDestPtr
    - BN_mod_mul_montgomery
    - CF_CHECK_TRUE
    - CF_NORET
    - BN_MONT_CTX_set
    - BN_RECP_CTX_free
    - CF_CHECK_NE
    - BN_RECP_CTX_new
    - BN_mod_mul_reciprocal
    - GetResPtr
    - BN_is_zero
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:716,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:719,1
    - Dst: BN_mod_sqr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:720,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:721,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:722,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:723,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:724,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:726,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 737
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 737
    functionName: cryptofuzz::module::OpenSSL_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_ASSERT_EQ_COND
    - GetPtr
    - BN_mod_sqr
    - GET_WHICH
    - BN_is_zero
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:744,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:748,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:749,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:750,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:751,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:753,1
    - Dst: BN_mod_inverse
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:753,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:753,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:754,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:754,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:762,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:762,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:762,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:762,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:763,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:763,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:763,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:765,1
    - Dst: BN_mod_inverse_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:765,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:765,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:765,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:765,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:765,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:775,1
    - Dst: BN_MONT_CTX_set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:775,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:775,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:775,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:775,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:778,1
    - Dst: BN_mod_inverse_blinded
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:778,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:778,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:778,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:778,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:778,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:795,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 800
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 800
    functionName: cryptofuzz::module::OpenSSL_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mod_inverse_blinded
    - CF_CHECK_LT
    - GetDestPtr
    - BN_MONT_CTX::GetPtr
    - CF_NORET
    - CF_CHECK_EQ
    - BN_MONT_CTX_set
    - CopyResult
    - GetPtr
    - Set
    - CF_CHECK_NE
    - BN_mod_inverse_odd
    - GetResPtr
    - BN_is_odd
    - BN_cmp
    - GET_WHICH
    - BN_mod_inverse
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:809,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:812,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:812,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:812,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:815,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:815,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:815,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:816,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:816,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:816,1
    - Dst: BN_ucmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:817,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:817,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:817,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:822,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:823,1
    - Dst: BN_cmp_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:824,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:824,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:839,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:839,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 845
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 845
    functionName: cryptofuzz::module::OpenSSL_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_cmp_word
    - std::to_string
    - BN_ucmp
    - CF_CHECK_EQ
    - GetPtr
    - Set
    - CF_CHECK_NE
    - BN_is_negative
    - BN_cmp
    - GET_WHICH
    - AsBN_ULONG
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:855,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:858,1
    - Dst: BN_div
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:859,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:860,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:862,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:863,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:864,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:866,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:866,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:872,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:874,1
    - Dst: bn_div_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:874,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:875,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:877,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:878,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:879,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:879,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:880,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:886,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:887,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:889,1
    - Dst: BN_div_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:889,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:889,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:890,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:890,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:895,1
    - Dst: BN_div_ct
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:896,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:897,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:899,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:900,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:901,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:903,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:903,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:910,1
    - Dst: BN_RECP_CTX_new
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:910,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:911,1
    - Dst: BN_RECP_CTX_set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:911,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:912,1
    - Dst: BN_div_recp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:912,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:913,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:915,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:917,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:918,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:931,1
    - Dst: BN_RECP_CTX_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:931,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 935
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 935
    functionName: cryptofuzz::module::OpenSSL_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_RECP_CTX_set
    - BN_div_recp
    - BN_num_bits
    - BN_div
    - BN_div_ct
    - GetPtr
    - GET_WHICH
    - AsBN_ULONG
    - GetPtrConst
    - GetDestPtr
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - CF_ASSERT_EQ_COND
    - Set
    - CF_NORET
    - BN_RECP_CTX_free
    - CF_CHECK_NE
    - BN_RECP_CTX_new
    - BN_div_word
    - bn_div_consttime
    - Get
    - BN_is_zero
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:943,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:943,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:952,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 960
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 960
    functionName: cryptofuzz::module::OpenSSL_bignum::IsPrime::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - Set
    - std::to_string
    - BN_num_bits
    linkageType: ''
    returnType: bool
    signature: bool IsPrime::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:967,1
    - Dst: BN_sqrt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:967,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:967,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:967,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:967,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:974,1
    - Dst: bn_isqrt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:974,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:974,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:974,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 986
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 986
    functionName: cryptofuzz::module::OpenSSL_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - BN_sqrt
    - CF_CHECK_EQ
    - GetPtr
    - bn_isqrt
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:992,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:992,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:992,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 995
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 995
    functionName: cryptofuzz::module::OpenSSL_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - BN_is_negative
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1004,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1007,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1007,1
    - Dst: BN_equal_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1007,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1007,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1007,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1011,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1012,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1013,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1013,1
    - Dst: BN_is_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1013,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1013,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1030
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1030
    functionName: cryptofuzz::module::OpenSSL_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - GetPtr
    - CF_CHECK_NE
    - BN_is_word
    - BN_equal_consttime
    - GET_WHICH
    - AsBN_ULONG
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1036,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1036,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1036,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1039
      start: 1032
    functionDepth: 2
    functionLinenumber: 1032
    functionLinenumberEnd: 1039
    functionName: cryptofuzz::module::OpenSSL_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - BN_is_odd
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1045,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1045,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1045,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1048
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1048
    functionName: cryptofuzz::module::OpenSSL_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - BN_is_odd
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1054,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1054,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1054,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1057
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1057
    functionName: cryptofuzz::module::OpenSSL_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - std::to_string
    - BN_is_zero
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1063,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1063,1
    - Dst: BN_is_one
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1063,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1066
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1066
    functionName: cryptofuzz::module::OpenSSL_bignum::IsOne::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - BN_is_one
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsOne::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1078,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1080,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1086
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1086
    functionName: cryptofuzz::module::OpenSSL_bignum::Jacobi::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - CF_CHECK_NE
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool Jacobi::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1094,1
    - Dst: BN_nist_mod_192
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1094,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1094,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1094,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1094,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1099
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1099
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_192::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT_EQ
    - BN_nist_mod_192
    - GetDestPtr
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_192::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1105,1
    - Dst: BN_nist_mod_224
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1105,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1105,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1105,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1105,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1110
      start: 1101
    functionDepth: 2
    functionLinenumber: 1101
    functionLinenumberEnd: 1110
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_224::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT_EQ
    - BN_nist_mod_224
    - GetDestPtr
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_224::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1116,1
    - Dst: BN_nist_mod_256
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1116,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1116,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1116,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1116,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1121
      start: 1112
    functionDepth: 2
    functionLinenumber: 1112
    functionLinenumberEnd: 1121
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_256::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT_EQ
    - GetDestPtr
    - BN_nist_mod_256
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_256::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1127,1
    - Dst: BN_nist_mod_384
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1127,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1127,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1127,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1127,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1132
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1132
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_384::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT_EQ
    - GetDestPtr
    - BN_nist_mod_384
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_384::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1138,1
    - Dst: BN_nist_mod_521
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1138,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1143
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1143
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_521::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT_EQ
    - GetDestPtr
    - BN_nist_mod_521
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_521::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1154,1
    - Dst: BN_is_prime_ex
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1154,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1154,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1154,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1155,1
    - Dst: BN_mod_sqrt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1155,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1155,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1155,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1155,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1168
      start: 1147
    functionDepth: 2
    functionLinenumber: 1147
    functionLinenumberEnd: 1168
    functionName: cryptofuzz::module::OpenSSL_bignum::SqrtMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mod_sqrt
    - GetDestPtr
    - BN_is_prime_ex
    - CF_CHECK_EQ
    - GetPtr
    - CF_CHECK_NE
    linkageType: ''
    returnType: bool
    signature: bool SqrtMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1176,1
    - Dst: BN_mod_sqrt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1176,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1176,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1176,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1176,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1176,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1178,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1179,1
    - Dst: BN_mod_mul
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1179,1
    - Dst: BN_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1186,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1192
      start: 1171
    functionDepth: 2
    functionLinenumber: 1171
    functionLinenumberEnd: 1192
    functionName: cryptofuzz::module::OpenSSL_bignum::SqrtMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mod_sqrt
    - GetDestPtr
    - BN_mod_mul
    - CF_CHECK_EQ
    - GetPtr
    - CF_CHECK_NE
    - BN_zero
    linkageType: ''
    returnType: bool
    signature: bool SqrtMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1199,1
    - Dst: bn_lcm_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1199,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1199,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1199,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1199,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1205
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1205
    functionName: cryptofuzz::module::OpenSSL_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - bn_lcm_consttime
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1212,1
    - Dst: BN_exp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1212,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1212,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1212,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1212,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1218
      start: 1208
    functionDepth: 2
    functionLinenumber: 1208
    functionLinenumberEnd: 1218
    functionName: cryptofuzz::module::OpenSSL_bignum::Exp::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - BN_exp
    linkageType: ''
    returnType: bool
    signature: bool Exp::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1225,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1225,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1227,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1227,1
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1229,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1232,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1232,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1232,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1232,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1232,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1236,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1237,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1237,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1237,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1240,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1241,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1241,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1241,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1249,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1249,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1249,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1256
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1256
    functionName: cryptofuzz::module::OpenSSL_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT_EQ
    - BN_sub
    - Bignum::New
    - GetDestPtr
    - Bignum::GetPtr
    - CF_CHECK_EQ
    - BN_copy
    - GetPtr
    - CF_CHECK_NE
    - BN_is_negative
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1263,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1265,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1265,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1269,1
    - Dst: BN_rshift
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1269,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1269,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1269,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1275,1
    - Dst: BN_rshift1
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1275,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1275,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1285
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1285
    functionName: cryptofuzz::module::OpenSSL_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT_EQ
    - GetDestPtr
    - AsInt
    - GetPtr
    - CF_CHECK_NE
    - BN_rshift
    - GET_WHICH
    - BN_rshift1
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1292,1
    - Dst: BN_lshift1
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1292,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1292,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1297
      start: 1287
    functionDepth: 2
    functionLinenumber: 1287
    functionLinenumberEnd: 1297
    functionName: cryptofuzz::module::OpenSSL_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT_EQ
    - GetDestPtr
    - BN_lshift1
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1305,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1305,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1307,1
    - Dst: BN_set_bit
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1307,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1307,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1308,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1308,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1308,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1314
      start: 1299
    functionDepth: 2
    functionLinenumber: 1299
    functionLinenumberEnd: 1314
    functionName: cryptofuzz::module::OpenSSL_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT_EQ
    - GetDestPtr
    - AsInt
    - BN_copy
    - BN_set_bit
    - GetPtr
    - CF_CHECK_NE
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1322,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1322,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1324,1
    - Dst: BN_clear_bit
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1324,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1324,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1325,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1325,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1325,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1331
      start: 1316
    functionDepth: 2
    functionLinenumber: 1316
    functionLinenumberEnd: 1331
    functionName: cryptofuzz::module::OpenSSL_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - AsInt
    - CF_CHECK_EQ
    - BN_copy
    - GetPtr
    - CF_CHECK_NE
    - BN_clear_bit
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1339,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1339,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1341,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1341,1
    - Dst: BN_is_bit_set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1341,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1347
      start: 1333
    functionDepth: 2
    functionLinenumber: 1333
    functionLinenumberEnd: 1347
    functionName: cryptofuzz::module::OpenSSL_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_bit_set
    - std::to_string
    - AsInt
    - Set
    - GetPtr
    - CF_CHECK_NE
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1361,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1364
      start: 1349
    functionDepth: 2
    functionLinenumber: 1349
    functionLinenumberEnd: 1364
    functionName: cryptofuzz::module::OpenSSL_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1372,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1374,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1374,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1378,1
    - Dst: BN_mod_lshift
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1378,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1378,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1378,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1378,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1378,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1382,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1382,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1382,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1383,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1383,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1383,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1383,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1384,1
    - Dst: BN_mod_lshift_quick
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1384,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1384,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1384,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1384,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1387,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1387,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1388,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1389,1
    - Dst: BN_mod_lshift1
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1389,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1389,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1389,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1389,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1389,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1392,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1392,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1393,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1395,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1395,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1395,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1396,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1396,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1396,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1396,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1397,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1397,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1397,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1397,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1407
      start: 1366
    functionDepth: 2
    functionLinenumber: 1366
    functionLinenumberEnd: 1407
    functionName: cryptofuzz::module::OpenSSL_bignum::ModLShift::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - GetDestPtr
    - cryptofuzz::util::HintBignum
    - CF_NORET
    - AsInt
    - CF_CHECK_EQ
    - BN_mod_lshift1
    - BN_mod_lshift1_quick
    - GetPtr
    - CF_CHECK_NE
    - BN_is_negative
    - BN_cmp
    - BN_mod_lshift_quick
    - BN_mod_lshift
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool ModLShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1414,1
    - Dst: cryptofuzz::util::HintBignumPow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1414,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1415,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1415,1
    - Dst: BN_is_pow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1415,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1424
      start: 1409
    functionDepth: 3
    functionLinenumber: 1409
    functionLinenumberEnd: 1424
    functionName: cryptofuzz::module::OpenSSL_bignum::IsPow2::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - CF_NORET
    - cryptofuzz::util::HintBignumPow2
    - BN_is_pow2
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsPow2::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1433,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1433,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1434,1
    - Dst: BN_mask_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1434,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1434,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1435,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1441
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1441
    functionName: cryptofuzz::module::OpenSSL_bignum::Mask::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - AsInt
    - CF_CHECK_EQ
    - BN_mask_bits
    - Set
    - CF_CHECK_NE
    linkageType: ''
    returnType: bool
    signature: bool Mask::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1450,1
    - Dst: bn_is_relatively_prime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1450,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1450,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1450,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1450,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1451,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1451,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1463
      start: 1443
    functionDepth: 2
    functionLinenumber: 1443
    functionLinenumberEnd: 1463
    functionName: cryptofuzz::module::OpenSSL_bignum::IsCoprime::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - CF_CHECK_EQ
    - GetPtr
    - Set
    - bn_is_relatively_prime
    linkageType: ''
    returnType: bool
    signature: bool IsCoprime::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1473,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1477,1
    - Dst: BN_rand_range
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1477,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1477,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1477,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1480,1
    - Dst: BN_pseudo_rand_range
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1480,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1480,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1480,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1486,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1487,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1488,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1493,1
    - Dst: BN_rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1493,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1493,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1498,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1499,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1500,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1505,1
    - Dst: BN_pseudo_rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1505,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1517
      start: 1465
    functionDepth: 2
    functionLinenumber: 1465
    functionLinenumberEnd: 1517
    functionName: cryptofuzz::module::OpenSSL_bignum::Rand::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_pseudo_rand_range
    - GetDestPtr
    - BN_rand_range
    - CF_CHECK_EQ
    - BN_rand
    - BN_pseudo_rand
    - GetPtr
    - GET_WHICH
    - Get
    linkageType: ''
    returnType: bool
    signature: bool Rand::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1527,1
    - Dst: bn_is_perfect_square
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1527,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1527,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1527,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1529,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1541
      start: 1519
    functionDepth: 2
    functionLinenumber: 1519
    functionLinenumberEnd: 1541
    functionName: cryptofuzz::module::OpenSSL_bignum::IsSquare::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - bn_is_perfect_square
    - std::to_string
    - CF_CHECK_EQ
    - GetPtr
    - Set
    linkageType: ''
    returnType: bool
    signature: bool IsSquare::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1550,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1550,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1550,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1550,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1551,1
    - Dst: BN_set_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1551,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1551,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1551,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1557
      start: 1543
    functionDepth: 2
    functionLinenumber: 1543
    functionLinenumberEnd: 1557
    functionName: cryptofuzz::module::OpenSSL_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetDestPtr
    - CF_NORET
    - BN_copy
    - BN_set_negative
    - GetPtr
    - CF_CHECK_NE
    - BN_is_negative
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1565,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1565,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1565,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1566,1
    - Dst: BN_rand_range
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1566,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1566,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1566,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1567,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1572
      start: 1559
    functionDepth: 2
    functionLinenumber: 1559
    functionLinenumberEnd: 1572
    functionName: cryptofuzz::module::OpenSSL_bignum::RandRange::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_rand_range
    - CF_CHECK_EQ
    - CF_NORET
    - CopyResult
    - GetPtr
    - GetResPtr
    - BN_is_zero
    linkageType: ''
    returnType: bool
    signature: bool RandRange::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:47,1
    - Dst: bytes
      Src: /src/cryptofuzz/modules/openssl/module.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: cryptofuzz::module::cryptofuzz_openssl_default_rand_bytes
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - bytes
    - CF_ASSERT
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_openssl_default_rand_bytes(unsigned char *buf, int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:54,1
    - Dst: cryptofuzz::module::cryptofuzz_openssl_default_rand_bytes
      Src: /src/cryptofuzz/modules/openssl/module.cpp:61,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:65,1
    - Dst: cryptofuzz::module::cryptofuzz_openssl_default_rand_bytes
      Src: /src/cryptofuzz/modules/openssl/module.cpp:66,1
    - Dst: cryptofuzz::module::cryptofuzz_openssl_default_rand_bytes
      Src: /src/cryptofuzz/modules/openssl/module.cpp:69,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/openssl/module.cpp:73,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:74,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: cryptofuzz::module::cryptofuzz_openssl_rand_bytes
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - auto::data
    - cryptofuzz::module::cryptofuzz_openssl_default_rand_bytes
    - GetData
    - CF_ASSERT
    - Get
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_openssl_rand_bytes(unsigned char *buf, int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::cryptofuzz_openssl_rand_status
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_openssl_rand_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - n
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: cryptofuzz::module::OPENSSL_custom_malloc
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    linkageType: ''
    returnType: void
    signature: void * OPENSSL_custom_malloc(size_t n, const char* file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::realloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - n
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::OPENSSL_custom_realloc
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::realloc
    linkageType: ''
    returnType: void
    signature: void * OPENSSL_custom_realloc(void* ptr, size_t n, const char* file,
      int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: cryptofuzz::module::OPENSSL_custom_free
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void OPENSSL_custom_free(void* ptr, const char* file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:122,1
    - Dst: CRYPTO_set_mem_functions
      Src: /src/cryptofuzz/modules/openssl/module.cpp:123,1
    - Dst: OPENSSL_init_crypto
      Src: /src/cryptofuzz/modules/openssl/module.cpp:131,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/cryptofuzz/modules/openssl/module.cpp:133,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:137,1
    - Dst: RAND_get_rand_method
      Src: /src/cryptofuzz/modules/openssl/module.cpp:137,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:139,1
    - Dst: RAND_set_rand_method
      Src: /src/cryptofuzz/modules/openssl/module.cpp:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::OpenSSL::OpenSSL
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CRYPTO_set_mem_functions
    - OPENSSL_init_crypto
    - RAND_set_rand_method
    - OpenSSL_add_all_algorithms
    - CF_ASSERT
    - RAND_get_rand_method
    linkageType: ''
    returnType: void
    signature: void OpenSSL::OpenSSL(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:155,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:155,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:156,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:156,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:157,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:157,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:158,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:158,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:159,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:159,1
    - Dst: EVP_CIPHER_flags
      Src: /src/cryptofuzz/modules/openssl/module.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - cipherType
    argTypes:
    - EVP_CIPHER*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 166
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 166
    functionName: cryptofuzz::module::OpenSSL::isAEAD
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    - CF_CHECK_NE
    - EVP_CIPHER_flags
    linkageType: ''
    returnType: bool
    signature: bool OpenSSL::isAEAD(const EVP_CIPHER* ctx, const uint64_t cipherType)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:173,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:173,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:174,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:174,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:175,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:175,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:176,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:176,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:177,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:177,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:178,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:178,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:179,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:179,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:180,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:180,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:181,1
    - Dst: EVP_sha512_256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:181,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:182,1
    - Dst: EVP_blake2b256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:182,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:184,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:184,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:185,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:185,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:186,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:186,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:187,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:187,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:188,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:188,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:189,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:189,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:190,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:190,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:191,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:191,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:192,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/openssl/module.cpp:192,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:193,1
    - Dst: EVP_sm3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:193,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:194,1
    - Dst: EVP_sha3_224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:194,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:195,1
    - Dst: EVP_sha3_256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:195,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:196,1
    - Dst: EVP_sha3_384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:196,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:197,1
    - Dst: EVP_sha3_512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:197,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:198,1
    - Dst: EVP_sha512_224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:198,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:199,1
    - Dst: EVP_sha512_256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:199,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:201,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:201,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:202,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:202,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:203,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:203,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:204,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:204,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:205,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:205,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:206,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:206,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:207,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:207,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:208,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:208,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:209,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:209,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:210,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/openssl/module.cpp:210,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:211,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/openssl/module.cpp:211,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:213,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:213,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:214,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:214,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:215,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:215,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:216,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:216,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:217,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:217,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:218,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:218,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:219,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:219,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:220,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:220,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:221,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:221,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:222,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:222,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:223,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/openssl/module.cpp:223,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:224,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/openssl/module.cpp:224,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:225,1
    - Dst: EVP_blake2b512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:225,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:226,1
    - Dst: EVP_blake2s256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:226,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:228,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:228,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:229,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:229,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:230,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:230,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:231,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:231,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:232,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:232,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:233,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:233,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:234,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:234,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:235,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:235,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:236,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/openssl/module.cpp:236,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:238,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:238,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:239,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:239,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:240,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:240,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:241,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:241,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:242,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:242,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:243,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:243,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:244,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:244,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:245,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:245,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:246,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:246,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:247,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:247,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:248,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/openssl/module.cpp:248,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:249,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/openssl/module.cpp:249,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:250,1
    - Dst: EVP_sm3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:250,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:251,1
    - Dst: EVP_blake2b512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:251,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:252,1
    - Dst: EVP_blake2s256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:252,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:253,1
    - Dst: EVP_shake128
      Src: /src/cryptofuzz/modules/openssl/module.cpp:253,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:254,1
    - Dst: EVP_shake256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:254,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:255,1
    - Dst: EVP_sha3_224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:255,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:256,1
    - Dst: EVP_sha3_256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:256,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:257,1
    - Dst: EVP_sha3_384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:257,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:258,1
    - Dst: EVP_sha3_512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:258,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:259,1
    - Dst: EVP_sha512_224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:259,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:260,1
    - Dst: EVP_sha512_256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:260,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/openssl/module.cpp:264,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:264,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:264,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/openssl/module.cpp:268,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 269
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 269
    functionName: cryptofuzz::module::OpenSSL::toEVPMD
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_whirlpool
    - std::map::at
    - EVP_md4
    - CF_DIGEST
    - EVP_sha3_224
    - EVP_sha3_512
    - EVP_sha3_384
    - EVP_sha512
    - EVP_blake2b512
    - std::map::find
    - EVP_sha512_224
    - EVP_mdc2
    - EVP_sha384
    - EVP_blake2b256
    - EVP_shake128
    - EVP_shake256
    - EVP_sha1
    - EVP_md5
    - std::map::end
    - EVP_blake2s256
    - EVP_sha3_256
    - EVP_ripemd160
    - EVP_sm3
    - EVP_md2
    - EVP_sha512_256
    - EVP_sha256
    - EVP_sha224
    - EVP_md5_sha1
    - Get
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD * OpenSSL::toEVPMD(const component::DigestType& digestType)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:274,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:276,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:277,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:278,1
    - Dst: EVP_des_ede_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:279,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:280,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:281,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:282,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:283,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:284,1
    - Dst: EVP_des_ede
      Src: /src/cryptofuzz/modules/openssl/module.cpp:285,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:286,1
    - Dst: EVP_des_ede3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:287,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:288,1
    - Dst: EVP_rc2_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:289,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:290,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:291,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:292,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:293,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:294,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:295,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:296,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:297,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:298,1
    - Dst: EVP_aes_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:299,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:300,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:301,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:302,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:303,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:304,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:305,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:306,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:307,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:308,1
    - Dst: EVP_aes_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:309,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:310,1
    - Dst: EVP_aes_192_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:311,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:312,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:313,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:314,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:315,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:316,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:317,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:318,1
    - Dst: EVP_aes_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:319,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:320,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:321,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:322,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:323,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:325,1
    - Dst: EVP_aes_256_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:326,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:329,1
    - Dst: EVP_des_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:330,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:331,1
    - Dst: EVP_des_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:332,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:333,1
    - Dst: EVP_des_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:334,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:335,1
    - Dst: EVP_des_ede_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:336,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:337,1
    - Dst: EVP_des_ede3_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:338,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:339,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:340,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:341,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:342,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:343,1
    - Dst: EVP_des_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:344,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:345,1
    - Dst: EVP_des_ede_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:346,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:347,1
    - Dst: EVP_des_ede3_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:348,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:349,1
    - Dst: EVP_desx_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:350,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:351,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:352,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:353,1
    - Dst: EVP_des_ede_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:354,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:355,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:356,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:357,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:358,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:359,1
    - Dst: EVP_des_ede
      Src: /src/cryptofuzz/modules/openssl/module.cpp:360,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:361,1
    - Dst: EVP_des_ede3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:362,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:363,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:364,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:365,1
    - Dst: EVP_rc4_40
      Src: /src/cryptofuzz/modules/openssl/module.cpp:366,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:368,1
    - Dst: EVP_idea_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:369,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:370,1
    - Dst: EVP_idea_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:371,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:372,1
    - Dst: EVP_idea_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:373,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:374,1
    - Dst: EVP_idea_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:375,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:377,1
    - Dst: EVP_sm4_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:378,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:379,1
    - Dst: EVP_sm4_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:380,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:381,1
    - Dst: EVP_sm4_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:382,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:383,1
    - Dst: EVP_sm4_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:384,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:385,1
    - Dst: EVP_sm4_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:386,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:387,1
    - Dst: EVP_rc2_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:388,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:389,1
    - Dst: EVP_rc2_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:390,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:391,1
    - Dst: EVP_rc2_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:392,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:393,1
    - Dst: EVP_rc2_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:394,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:395,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:396,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:397,1
    - Dst: EVP_rc2_64_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:398,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:399,1
    - Dst: EVP_bf_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:400,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:401,1
    - Dst: EVP_bf_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:402,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:403,1
    - Dst: EVP_bf_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:404,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:405,1
    - Dst: EVP_bf_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:406,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:407,1
    - Dst: EVP_cast5_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:408,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:409,1
    - Dst: EVP_cast5_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:410,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:411,1
    - Dst: EVP_cast5_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:412,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:413,1
    - Dst: EVP_cast5_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:414,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:415,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:416,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:417,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:418,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:419,1
    - Dst: EVP_aes_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:420,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:421,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:422,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:423,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:424,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:425,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:426,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:427,1
    - Dst: EVP_aes_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:428,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:429,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:430,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:431,1
    - Dst: EVP_aes_128_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:432,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:433,1
    - Dst: EVP_aes_128_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:434,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:435,1
    - Dst: EVP_aes_128_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:436,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:437,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:438,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:439,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:440,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:441,1
    - Dst: EVP_aes_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:442,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:443,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:444,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:445,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:446,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:447,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:448,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:449,1
    - Dst: EVP_aes_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:450,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:451,1
    - Dst: EVP_aes_192_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:452,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:453,1
    - Dst: EVP_aes_192_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:454,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:455,1
    - Dst: EVP_aes_192_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:456,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:457,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:458,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:459,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:460,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:461,1
    - Dst: EVP_aes_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:462,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:463,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:464,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:465,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:466,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:467,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:468,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:469,1
    - Dst: EVP_aes_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:470,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:471,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:472,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:473,1
    - Dst: EVP_aes_256_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:474,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:475,1
    - Dst: EVP_aes_256_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:476,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:477,1
    - Dst: EVP_aes_256_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:478,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:479,1
    - Dst: EVP_camellia_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:480,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:481,1
    - Dst: EVP_camellia_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:482,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:483,1
    - Dst: EVP_camellia_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:484,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:485,1
    - Dst: EVP_camellia_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:486,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:487,1
    - Dst: EVP_camellia_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:488,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:489,1
    - Dst: EVP_camellia_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:490,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:491,1
    - Dst: EVP_camellia_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:492,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:493,1
    - Dst: EVP_camellia_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:494,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:495,1
    - Dst: EVP_camellia_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:496,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:497,1
    - Dst: EVP_camellia_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:498,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:499,1
    - Dst: EVP_camellia_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:500,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:501,1
    - Dst: EVP_camellia_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:502,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:503,1
    - Dst: EVP_camellia_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:504,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:505,1
    - Dst: EVP_camellia_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:506,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:507,1
    - Dst: EVP_camellia_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:508,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:509,1
    - Dst: EVP_camellia_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:510,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:511,1
    - Dst: EVP_camellia_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:512,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:513,1
    - Dst: EVP_camellia_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:514,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:515,1
    - Dst: EVP_chacha20
      Src: /src/cryptofuzz/modules/openssl/module.cpp:516,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:517,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/cryptofuzz/modules/openssl/module.cpp:518,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:520,1
    - Dst: EVP_des_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:521,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:522,1
    - Dst: EVP_des_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:523,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:524,1
    - Dst: EVP_des_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:525,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:526,1
    - Dst: EVP_des_ede_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:527,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:528,1
    - Dst: EVP_des_ede3_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:529,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:530,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:531,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:532,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:533,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:534,1
    - Dst: EVP_des_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:535,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:536,1
    - Dst: EVP_des_ede_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:537,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:538,1
    - Dst: EVP_des_ede3_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:539,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:540,1
    - Dst: EVP_desx_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:541,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:542,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:543,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:544,1
    - Dst: EVP_des_ede_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:545,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:546,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:547,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:548,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:549,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:550,1
    - Dst: EVP_des_ede
      Src: /src/cryptofuzz/modules/openssl/module.cpp:551,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:552,1
    - Dst: EVP_des_ede3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:553,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:554,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:555,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:556,1
    - Dst: EVP_rc4_40
      Src: /src/cryptofuzz/modules/openssl/module.cpp:557,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:558,1
    - Dst: EVP_idea_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:559,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:560,1
    - Dst: EVP_idea_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:561,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:562,1
    - Dst: EVP_idea_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:563,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:564,1
    - Dst: EVP_idea_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:565,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:566,1
    - Dst: EVP_rc2_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:567,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:568,1
    - Dst: EVP_rc2_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:569,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:570,1
    - Dst: EVP_rc2_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:571,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:572,1
    - Dst: EVP_rc2_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:573,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:574,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:575,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:576,1
    - Dst: EVP_rc2_64_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:577,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:578,1
    - Dst: EVP_bf_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:579,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:580,1
    - Dst: EVP_bf_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:581,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:582,1
    - Dst: EVP_bf_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:583,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:584,1
    - Dst: EVP_bf_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:585,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:586,1
    - Dst: EVP_cast5_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:587,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:588,1
    - Dst: EVP_cast5_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:589,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:590,1
    - Dst: EVP_cast5_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:591,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:592,1
    - Dst: EVP_cast5_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:593,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:594,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:595,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:596,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:597,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:598,1
    - Dst: EVP_aes_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:599,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:600,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:601,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:602,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:603,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:604,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:605,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:606,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:607,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:608,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:609,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:610,1
    - Dst: EVP_aes_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:611,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:612,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:613,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:614,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:615,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:616,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:617,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:618,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:619,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:620,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:621,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:622,1
    - Dst: EVP_aes_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:623,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:624,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:625,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:626,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:627,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:628,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:629,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:631,1
    - Dst: EVP_des_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:632,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:633,1
    - Dst: EVP_des_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:634,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:635,1
    - Dst: EVP_des_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:636,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:637,1
    - Dst: EVP_des_ede_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:638,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:639,1
    - Dst: EVP_des_ede3_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:640,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:641,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:642,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:643,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:644,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:645,1
    - Dst: EVP_des_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:646,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:647,1
    - Dst: EVP_des_ede_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:648,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:649,1
    - Dst: EVP_des_ede3_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:650,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:651,1
    - Dst: EVP_desx_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:652,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:653,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:654,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:655,1
    - Dst: EVP_des_ede_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:656,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:657,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:658,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:659,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:660,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:661,1
    - Dst: EVP_des_ede
      Src: /src/cryptofuzz/modules/openssl/module.cpp:662,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:663,1
    - Dst: EVP_des_ede3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:664,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:665,1
    - Dst: EVP_des_ede3_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:666,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:667,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:668,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:669,1
    - Dst: EVP_rc4_40
      Src: /src/cryptofuzz/modules/openssl/module.cpp:670,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:671,1
    - Dst: EVP_rc4_hmac_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:672,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:673,1
    - Dst: EVP_idea_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:674,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:675,1
    - Dst: EVP_idea_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:676,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:677,1
    - Dst: EVP_idea_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:678,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:679,1
    - Dst: EVP_idea_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:680,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:681,1
    - Dst: EVP_seed_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:682,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:683,1
    - Dst: EVP_seed_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:684,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:685,1
    - Dst: EVP_seed_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:686,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:687,1
    - Dst: EVP_seed_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:688,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:689,1
    - Dst: EVP_rc2_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:690,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:691,1
    - Dst: EVP_rc2_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:692,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:693,1
    - Dst: EVP_rc2_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:694,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:695,1
    - Dst: EVP_rc2_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:696,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:697,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:698,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:699,1
    - Dst: EVP_rc2_64_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:700,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:701,1
    - Dst: EVP_bf_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:702,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:703,1
    - Dst: EVP_bf_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:704,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:705,1
    - Dst: EVP_bf_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:706,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:707,1
    - Dst: EVP_bf_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:708,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:709,1
    - Dst: EVP_cast5_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:710,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:711,1
    - Dst: EVP_cast5_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:712,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:713,1
    - Dst: EVP_cast5_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:714,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:715,1
    - Dst: EVP_cast5_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:716,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:717,1
    - Dst: EVP_rc5_32_12_16_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:718,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:719,1
    - Dst: EVP_rc5_32_12_16_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:720,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:721,1
    - Dst: EVP_rc5_32_12_16_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:722,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:723,1
    - Dst: EVP_rc5_32_12_16_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:724,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:725,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:726,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:727,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:728,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:729,1
    - Dst: EVP_aes_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:730,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:731,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:732,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:733,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:734,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:735,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:736,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:737,1
    - Dst: EVP_aes_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:738,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:739,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:740,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:741,1
    - Dst: EVP_aes_128_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:742,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:743,1
    - Dst: EVP_aes_128_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:744,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:745,1
    - Dst: EVP_aes_128_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:746,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:747,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:748,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:749,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:750,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:751,1
    - Dst: EVP_aes_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:752,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:753,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:754,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:755,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:756,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:757,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:758,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:759,1
    - Dst: EVP_aes_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:760,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:761,1
    - Dst: EVP_aes_192_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:762,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:763,1
    - Dst: EVP_aes_192_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:764,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:765,1
    - Dst: EVP_aes_192_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:766,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:767,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:768,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:769,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:770,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:771,1
    - Dst: EVP_aes_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:772,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:773,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:774,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:775,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:776,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:777,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:778,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:779,1
    - Dst: EVP_aes_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:780,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:781,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:782,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:783,1
    - Dst: EVP_aes_256_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:784,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:785,1
    - Dst: EVP_aes_256_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:786,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:787,1
    - Dst: EVP_aes_256_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:788,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:789,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:790,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:791,1
    - Dst: EVP_aes_256_cbc_hmac_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:792,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:793,1
    - Dst: EVP_aes_128_cbc_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:794,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:795,1
    - Dst: EVP_aes_256_cbc_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:796,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:797,1
    - Dst: EVP_camellia_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:798,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:799,1
    - Dst: EVP_camellia_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:800,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:801,1
    - Dst: EVP_camellia_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:802,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:803,1
    - Dst: EVP_camellia_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:804,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:805,1
    - Dst: EVP_camellia_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:806,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:807,1
    - Dst: EVP_camellia_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:808,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:809,1
    - Dst: EVP_camellia_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:810,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:811,1
    - Dst: EVP_camellia_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:812,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:813,1
    - Dst: EVP_camellia_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:814,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:815,1
    - Dst: EVP_camellia_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:816,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:817,1
    - Dst: EVP_camellia_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:818,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:819,1
    - Dst: EVP_camellia_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:820,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:821,1
    - Dst: EVP_camellia_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:822,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:823,1
    - Dst: EVP_camellia_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:824,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:825,1
    - Dst: EVP_camellia_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:826,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:827,1
    - Dst: EVP_camellia_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:828,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:829,1
    - Dst: EVP_camellia_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:830,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:831,1
    - Dst: EVP_camellia_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:832,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:834,1
    - Dst: EVP_des_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:835,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:836,1
    - Dst: EVP_des_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:837,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:838,1
    - Dst: EVP_des_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:839,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:840,1
    - Dst: EVP_des_ede_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:841,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:842,1
    - Dst: EVP_des_ede3_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:843,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:844,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:845,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:846,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:847,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:848,1
    - Dst: EVP_des_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:849,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:850,1
    - Dst: EVP_des_ede_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:851,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:852,1
    - Dst: EVP_des_ede3_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:853,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:854,1
    - Dst: EVP_desx_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:855,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:856,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:857,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:858,1
    - Dst: EVP_des_ede_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:859,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:860,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:861,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:862,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:863,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:864,1
    - Dst: EVP_des_ede
      Src: /src/cryptofuzz/modules/openssl/module.cpp:865,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:866,1
    - Dst: EVP_des_ede3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:867,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:868,1
    - Dst: EVP_des_ede3_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:869,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:870,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:871,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:872,1
    - Dst: EVP_rc4_40
      Src: /src/cryptofuzz/modules/openssl/module.cpp:873,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:874,1
    - Dst: EVP_rc4_hmac_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:875,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:876,1
    - Dst: EVP_idea_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:877,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:878,1
    - Dst: EVP_idea_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:879,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:880,1
    - Dst: EVP_idea_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:881,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:882,1
    - Dst: EVP_idea_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:883,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:884,1
    - Dst: EVP_seed_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:885,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:886,1
    - Dst: EVP_seed_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:887,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:888,1
    - Dst: EVP_seed_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:889,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:890,1
    - Dst: EVP_seed_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:891,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:892,1
    - Dst: EVP_rc2_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:893,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:894,1
    - Dst: EVP_rc2_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:895,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:896,1
    - Dst: EVP_rc2_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:897,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:898,1
    - Dst: EVP_rc2_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:899,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:900,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:901,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:902,1
    - Dst: EVP_rc2_64_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:903,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:904,1
    - Dst: EVP_bf_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:905,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:906,1
    - Dst: EVP_bf_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:907,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:908,1
    - Dst: EVP_bf_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:909,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:910,1
    - Dst: EVP_bf_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:911,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:912,1
    - Dst: EVP_cast5_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:913,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:914,1
    - Dst: EVP_cast5_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:915,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:916,1
    - Dst: EVP_cast5_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:917,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:918,1
    - Dst: EVP_cast5_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:919,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:920,1
    - Dst: EVP_rc5_32_12_16_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:921,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:922,1
    - Dst: EVP_rc5_32_12_16_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:923,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:924,1
    - Dst: EVP_rc5_32_12_16_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:925,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:926,1
    - Dst: EVP_rc5_32_12_16_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:927,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:928,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:929,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:930,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:931,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:932,1
    - Dst: EVP_aes_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:933,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:934,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:935,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:936,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:937,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:938,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:939,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:940,1
    - Dst: EVP_aes_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:941,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:942,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:943,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:944,1
    - Dst: EVP_aes_128_ocb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:945,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:946,1
    - Dst: EVP_aes_128_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:947,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:948,1
    - Dst: EVP_aes_128_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:949,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:950,1
    - Dst: EVP_aes_128_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:951,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:952,1
    - Dst: EVP_aes_128_wrap_pad
      Src: /src/cryptofuzz/modules/openssl/module.cpp:953,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:954,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:955,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:956,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:957,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:958,1
    - Dst: EVP_aes_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:959,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:960,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:961,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:962,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:963,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:964,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:965,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:966,1
    - Dst: EVP_aes_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:967,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:968,1
    - Dst: EVP_aes_192_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:969,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:970,1
    - Dst: EVP_aes_192_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:971,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:972,1
    - Dst: EVP_aes_192_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:973,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:974,1
    - Dst: EVP_aes_192_wrap_pad
      Src: /src/cryptofuzz/modules/openssl/module.cpp:975,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:976,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:977,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:978,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:979,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:980,1
    - Dst: EVP_aes_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:981,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:982,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:983,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:984,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:985,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:986,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:987,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:988,1
    - Dst: EVP_aes_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:989,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:990,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:991,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:992,1
    - Dst: EVP_aes_256_ocb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:993,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:994,1
    - Dst: EVP_aes_256_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:995,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:996,1
    - Dst: EVP_aes_256_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:997,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:998,1
    - Dst: EVP_aes_256_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:999,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1000,1
    - Dst: EVP_aes_256_wrap_pad
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1001,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1002,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1003,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1004,1
    - Dst: EVP_aes_256_cbc_hmac_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1005,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1006,1
    - Dst: EVP_aes_128_cbc_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1007,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1008,1
    - Dst: EVP_aes_256_cbc_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1009,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1010,1
    - Dst: EVP_camellia_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1011,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1012,1
    - Dst: EVP_camellia_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1013,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1014,1
    - Dst: EVP_camellia_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1015,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1016,1
    - Dst: EVP_camellia_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1017,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1018,1
    - Dst: EVP_camellia_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1019,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1020,1
    - Dst: EVP_camellia_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1021,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1022,1
    - Dst: EVP_camellia_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1023,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1024,1
    - Dst: EVP_camellia_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1025,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1026,1
    - Dst: EVP_camellia_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1027,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1028,1
    - Dst: EVP_camellia_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1029,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1030,1
    - Dst: EVP_camellia_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1031,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1032,1
    - Dst: EVP_camellia_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1033,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1034,1
    - Dst: EVP_camellia_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1035,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1036,1
    - Dst: EVP_camellia_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1037,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1038,1
    - Dst: EVP_camellia_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1039,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1040,1
    - Dst: EVP_camellia_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1041,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1042,1
    - Dst: EVP_camellia_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1043,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1044,1
    - Dst: EVP_camellia_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1045,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1046,1
    - Dst: EVP_camellia_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1047,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1048,1
    - Dst: EVP_camellia_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1049,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1050,1
    - Dst: EVP_camellia_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1051,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1052,1
    - Dst: EVP_chacha20
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1053,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1054,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1055,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1057,1
    - Dst: EVP_des_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1058,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1059,1
    - Dst: EVP_des_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1060,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1061,1
    - Dst: EVP_des_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1062,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1063,1
    - Dst: EVP_des_ede_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1064,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1065,1
    - Dst: EVP_des_ede3_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1066,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1067,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1068,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1069,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1070,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1071,1
    - Dst: EVP_des_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1072,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1073,1
    - Dst: EVP_des_ede_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1074,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1075,1
    - Dst: EVP_des_ede3_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1076,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1077,1
    - Dst: EVP_desx_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1078,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1079,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1080,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1081,1
    - Dst: EVP_des_ede_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1082,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1083,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1084,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1085,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1086,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1087,1
    - Dst: EVP_des_ede
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1088,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1089,1
    - Dst: EVP_des_ede3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1090,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1091,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1092,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1093,1
    - Dst: EVP_rc4_40
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1094,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1095,1
    - Dst: EVP_rc4_hmac_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1096,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1097,1
    - Dst: EVP_idea_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1098,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1099,1
    - Dst: EVP_idea_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1100,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1101,1
    - Dst: EVP_idea_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1102,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1103,1
    - Dst: EVP_idea_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1104,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1105,1
    - Dst: EVP_seed_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1106,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1107,1
    - Dst: EVP_seed_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1108,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1109,1
    - Dst: EVP_seed_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1110,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1111,1
    - Dst: EVP_seed_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1112,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1113,1
    - Dst: EVP_sm4_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1114,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1115,1
    - Dst: EVP_sm4_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1116,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1117,1
    - Dst: EVP_sm4_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1118,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1119,1
    - Dst: EVP_sm4_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1120,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1121,1
    - Dst: EVP_sm4_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1122,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1123,1
    - Dst: EVP_rc2_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1124,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1125,1
    - Dst: EVP_rc2_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1126,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1127,1
    - Dst: EVP_rc2_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1128,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1129,1
    - Dst: EVP_rc2_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1130,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1131,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1132,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1133,1
    - Dst: EVP_rc2_64_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1134,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1135,1
    - Dst: EVP_bf_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1136,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1137,1
    - Dst: EVP_bf_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1138,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1139,1
    - Dst: EVP_bf_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1140,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1141,1
    - Dst: EVP_bf_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1142,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1143,1
    - Dst: EVP_cast5_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1144,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1145,1
    - Dst: EVP_cast5_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1146,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1147,1
    - Dst: EVP_cast5_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1148,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1149,1
    - Dst: EVP_cast5_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1150,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1151,1
    - Dst: EVP_rc5_32_12_16_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1152,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1153,1
    - Dst: EVP_rc5_32_12_16_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1154,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1155,1
    - Dst: EVP_rc5_32_12_16_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1156,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1157,1
    - Dst: EVP_rc5_32_12_16_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1158,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1159,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1160,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1161,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1162,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1163,1
    - Dst: EVP_aes_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1164,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1165,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1166,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1167,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1168,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1169,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1170,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1171,1
    - Dst: EVP_aes_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1172,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1173,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1174,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1175,1
    - Dst: EVP_aes_128_ocb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1176,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1177,1
    - Dst: EVP_aes_128_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1178,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1179,1
    - Dst: EVP_aes_128_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1180,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1181,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1182,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1183,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1184,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1185,1
    - Dst: EVP_aes_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1186,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1187,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1188,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1189,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1190,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1191,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1192,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1193,1
    - Dst: EVP_aes_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1194,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1195,1
    - Dst: EVP_aes_192_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1196,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1197,1
    - Dst: EVP_aes_192_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1198,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1199,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1200,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1201,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1202,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1203,1
    - Dst: EVP_aes_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1204,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1205,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1206,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1207,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1208,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1209,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1210,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1211,1
    - Dst: EVP_aes_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1212,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1213,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1214,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1215,1
    - Dst: EVP_aes_256_ocb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1216,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1217,1
    - Dst: EVP_aes_256_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1218,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1219,1
    - Dst: EVP_aes_256_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1220,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1221,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1222,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1223,1
    - Dst: EVP_aes_256_cbc_hmac_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1224,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1225,1
    - Dst: EVP_aes_128_cbc_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1226,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1227,1
    - Dst: EVP_aes_256_cbc_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1228,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1229,1
    - Dst: EVP_aria_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1230,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1231,1
    - Dst: EVP_aria_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1232,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1233,1
    - Dst: EVP_aria_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1234,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1235,1
    - Dst: EVP_aria_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1236,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1237,1
    - Dst: EVP_aria_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1238,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1239,1
    - Dst: EVP_aria_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1240,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1241,1
    - Dst: EVP_aria_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1242,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1243,1
    - Dst: EVP_aria_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1244,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1245,1
    - Dst: EVP_aria_128_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1246,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1247,1
    - Dst: EVP_aria_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1248,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1249,1
    - Dst: EVP_aria_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1250,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1251,1
    - Dst: EVP_aria_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1252,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1253,1
    - Dst: EVP_aria_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1254,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1255,1
    - Dst: EVP_aria_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1256,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1257,1
    - Dst: EVP_aria_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1258,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1259,1
    - Dst: EVP_aria_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1260,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1261,1
    - Dst: EVP_aria_192_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1262,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1263,1
    - Dst: EVP_aria_192_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1264,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1265,1
    - Dst: EVP_aria_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1266,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1267,1
    - Dst: EVP_aria_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1268,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1269,1
    - Dst: EVP_aria_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1270,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1271,1
    - Dst: EVP_aria_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1272,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1273,1
    - Dst: EVP_aria_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1274,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1275,1
    - Dst: EVP_aria_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1276,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1277,1
    - Dst: EVP_aria_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1278,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1279,1
    - Dst: EVP_aria_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1280,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1281,1
    - Dst: EVP_aria_256_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1282,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1283,1
    - Dst: EVP_camellia_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1284,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1285,1
    - Dst: EVP_camellia_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1286,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1287,1
    - Dst: EVP_camellia_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1288,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1289,1
    - Dst: EVP_camellia_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1290,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1291,1
    - Dst: EVP_camellia_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1292,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1293,1
    - Dst: EVP_camellia_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1294,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1295,1
    - Dst: EVP_camellia_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1296,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1297,1
    - Dst: EVP_camellia_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1298,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1299,1
    - Dst: EVP_camellia_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1300,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1301,1
    - Dst: EVP_camellia_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1302,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1303,1
    - Dst: EVP_camellia_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1304,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1305,1
    - Dst: EVP_camellia_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1306,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1307,1
    - Dst: EVP_camellia_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1308,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1309,1
    - Dst: EVP_camellia_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1310,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1311,1
    - Dst: EVP_camellia_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1312,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1313,1
    - Dst: EVP_camellia_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1314,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1315,1
    - Dst: EVP_camellia_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1316,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1317,1
    - Dst: EVP_camellia_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1318,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1319,1
    - Dst: EVP_camellia_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1320,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1321,1
    - Dst: EVP_camellia_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1322,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1323,1
    - Dst: EVP_camellia_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1324,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1325,1
    - Dst: EVP_chacha20
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1326,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1327,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1049
    argCount: 1
    argNames:
    - cipherType
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 1353
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 1353
    functionName: cryptofuzz::module::OpenSSL::toEVPCIPHER
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_aes_192_cfb1
    - EVP_camellia_128_ctr
    - EVP_camellia_128_ofb
    - EVP_rc2_ofb
    - EVP_aes_256_xts
    - EVP_aes_256_ecb
    - EVP_camellia_192_cfb1
    - EVP_aria_192_ecb
    - EVP_aria_128_cfb1
    - EVP_aes_128_wrap_pad
    - EVP_camellia_256_cfb8
    - EVP_camellia_128_cfb
    - EVP_aria_192_ofb
    - EVP_aes_128_cfb1
    - EVP_camellia_256_cbc
    - EVP_aria_128_ctr
    - EVP_aria_256_cfb
    - EVP_aes_256_ccm
    - EVP_aria_192_cfb
    - EVP_aes_256_ofb
    - EVP_camellia_192_ofb
    - EVP_aria_256_ctr
    - EVP_aes_128_cfb
    - EVP_aes_128_gcm
    - EVP_sm4_cbc
    - EVP_aria_128_cbc
    - EVP_des_ede
    - EVP_aes_192_wrap
    - EVP_rc5_32_12_16_ecb
    - EVP_des_ede3_ofb
    - EVP_camellia_128_ecb
    - EVP_rc2_cbc
    - EVP_idea_ecb
    - EVP_camellia_192_ctr
    - EVP_chacha20_poly1305
    - EVP_des_ecb
    - EVP_idea_cbc
    - EVP_des_cfb1
    - EVP_aria_256_gcm
    - EVP_sm4_ctr
    - EVP_aes_192_cfb
    - EVP_des_ede3_cbc
    - EVP_aes_256_cbc_hmac_sha1
    - EVP_aes_128_cbc_hmac_sha256
    - EVP_rc2_40_cbc
    - EVP_aes_128_cbc_hmac_sha1
    - EVP_aria_128_gcm
    - EVP_des_ede3
    - EVP_camellia_256_cfb
    - EVP_desx_cbc
    - EVP_aes_128_cfb8
    - EVP_aria_128_cfb
    - EVP_chacha20
    - EVP_aes_192_ctr
    - EVP_aes_256_ctr
    - EVP_aes_256_wrap_pad
    - EVP_aria_256_cfb1
    - EVP_camellia_192_cfb
    - EVP_aria_128_cfb8
    - EVP_camellia_128_cfb1
    - EVP_aria_256_ecb
    - EVP_aes_256_cfb8
    - EVP_aes_256_wrap
    - EVP_cast5_ecb
    - EVP_seed_cfb
    - EVP_aes_256_cbc
    - component::SymmetricCipherType::Get
    - EVP_aes_128_ecb
    - EVP_aes_192_ccm
    - EVP_seed_ecb
    - EVP_aria_192_gcm
    - EVP_cast5_cfb
    - EVP_cast5_cbc
    - EVP_camellia_256_ctr
    - EVP_aes_256_cfb1
    - EVP_sm4_ecb
    - EVP_aes_192_wrap_pad
    - EVP_des_ede3_wrap
    - EVP_aes_128_xts
    - EVP_aes_128_ofb
    - EVP_rc2_ecb
    - EVP_rc5_32_12_16_cfb
    - EVP_idea_cfb
    - EVP_aria_256_ccm
    - EVP_aria_128_ccm
    - EVP_rc5_32_12_16_cbc
    - EVP_camellia_192_cfb8
    - EVP_camellia_192_cbc
    - EVP_camellia_256_ofb
    - EVP_des_ede_ofb
    - EVP_aes_192_gcm
    - EVP_rc2_cfb
    - EVP_rc4_40
    - EVP_aes_192_cfb8
    - EVP_camellia_128_cbc
    - EVP_des_ede_cbc
    - EVP_bf_cfb
    - EVP_aes_256_cfb
    - EVP_des_ede3_cfb
    - EVP_seed_cbc
    - EVP_rc5_32_12_16_ofb
    - EVP_aes_256_cbc_hmac_sha256
    - EVP_aria_128_ofb
    - EVP_aes_128_ocb
    - EVP_bf_ofb
    - EVP_aria_256_ofb
    - EVP_aes_128_ccm
    - EVP_aes_128_cbc
    - EVP_des_ofb
    - EVP_des_ede3_cfb1
    - EVP_aria_192_cfb8
    - EVP_aria_192_ctr
    - EVP_rc4
    - EVP_aes_192_ofb
    - EVP_des_cfb
    - EVP_bf_ecb
    - EVP_cast5_ofb
    - EVP_rc2_64_cbc
    - EVP_bf_cbc
    - EVP_aes_128_wrap
    - EVP_aes_128_ctr
    - EVP_sm4_cfb
    - EVP_aes_256_gcm
    - EVP_rc4_hmac_md5
    - EVP_camellia_256_ecb
    - EVP_aria_256_cbc
    - EVP_aes_192_ecb
    - EVP_idea_ofb
    - CF_CIPHER
    - EVP_aria_256_cfb8
    - EVP_camellia_192_ecb
    - EVP_aes_192_cbc
    - EVP_seed_ofb
    - EVP_aes_256_ocb
    - EVP_des_ede3_cfb8
    - EVP_camellia_128_cfb8
    - EVP_aria_192_ccm
    - EVP_camellia_256_cfb1
    - EVP_aria_192_cfb1
    - EVP_sm4_ofb
    - EVP_aria_128_ecb
    - EVP_aria_192_cbc
    - EVP_des_cfb8
    - EVP_des_ede_cfb
    - EVP_des_cbc
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER * OpenSSL::toEVPCIPHER(const component::SymmetricCipherType
      cipherType) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1358,1
    - Dst: EVP_aead_chacha20_poly1305
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1358,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1359,1
    - Dst: EVP_aead_xchacha20_poly1305
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1359,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1360,1
    - Dst: EVP_aead_aes_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1360,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1361,1
    - Dst: EVP_aead_aes_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1361,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1363,1
    - Dst: EVP_aead_aes_128_ctr_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1363,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1364,1
    - Dst: EVP_aead_aes_128_ctr_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1364,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1365,1
    - Dst: EVP_aead_aes_256_ctr_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1365,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1366,1
    - Dst: EVP_aead_aes_128_gcm_siv
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1366,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1367,1
    - Dst: EVP_aead_aes_256_gcm_siv
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1367,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1368,1
    - Dst: EVP_aead_aes_128_ccm_bluetooth
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1368,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1369,1
    - Dst: EVP_aead_aes_128_ccm_bluetooth_8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1369,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1370,1
    - Dst: EVP_aead_aes_128_cbc_sha1_tls
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1370,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1371,1
    - Dst: EVP_aead_aes_128_cbc_sha1_tls_implicit_iv
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1371,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1372,1
    - Dst: EVP_aead_aes_256_cbc_sha1_tls
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1372,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1373,1
    - Dst: EVP_aead_aes_256_cbc_sha1_tls_implicit_iv
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1373,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1374,1
    - Dst: EVP_aead_des_ede3_cbc_sha1_tls
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1374,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1375,1
    - Dst: EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1375,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1376,1
    - Dst: EVP_aead_aes_128_gcm_tls12
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1376,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1377,1
    - Dst: EVP_aead_aes_256_gcm_tls12
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1377,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1378,1
    - Dst: EVP_aead_aes_128_gcm_tls13
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1378,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1379,1
    - Dst: EVP_aead_aes_256_gcm_tls13
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1379,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1383,1
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1383,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1383,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1387,1
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipherType
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 1388
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1388
    functionName: cryptofuzz::module::OpenSSL::toEVPAEAD
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_aead_aes_128_ctr_hmac_sha256
    - EVP_aead_aes_128_gcm_siv
    - EVP_aead_chacha20_poly1305
    - EVP_aead_aes_128_cbc_sha1_tls_implicit_iv
    - std::map::at
    - EVP_aead_aes_256_ctr_hmac_sha256
    - std::map::find
    - EVP_aead_aes_256_gcm_siv
    - EVP_aead_aes_256_gcm_tls12
    - EVP_aead_xchacha20_poly1305
    - std::map::end
    - EVP_aead_des_ede3_cbc_sha1_tls
    - EVP_aead_aes_256_gcm
    - EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv
    - EVP_aead_aes_128_ccm_bluetooth
    - CF_CIPHER
    - component::SymmetricCipherType::Get
    - EVP_aead_aes_128_cbc_sha1_tls
    - EVP_aead_aes_256_gcm_tls13
    - EVP_aead_aes_128_gcm_tls13
    - EVP_aead_aes_128_gcm
    - EVP_aead_aes_256_cbc_sha1_tls_implicit_iv
    - EVP_aead_aes_128_ccm_bluetooth_8
    - EVP_aead_aes_128_gcm_tls12
    - EVP_aead_aes_256_cbc_sha1_tls
    linkageType: ''
    returnType: EVP_AEAD
    signature: EVP_AEAD * OpenSSL::toEVPAEAD(const component::SymmetricCipherType
      cipherType) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1393,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1393,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1402,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1403,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1403,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1404,1
    - Dst: EVP_DigestInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1404,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1404,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1409,1
    - Dst: EVP_DigestUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1409,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1409,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1416,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1416,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1416,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 1423
      start: 1391
    functionDepth: 4
    functionLinenumber: 1391
    functionLinenumberEnd: 1423
    functionName: cryptofuzz::module::OpenSSL::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - CF_CHECK_EQ
    - CF_EVP_MD_CTX::GetPtr
    - cryptofuzz::module::OpenSSL::toEVPMD
    - EVP_DigestInit_ex
    - CF_CHECK_NE
    - EVP_DigestUpdate
    - EVP_DigestFinal_ex
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> OpenSSL::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1437,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1439,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1439,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1440,1
    - Dst: EVP_PKEY_new_mac_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1440,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1440,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1440,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1441,1
    - Dst: EVP_DigestSignInit
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1441,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1441,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1446,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1446,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1446,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1453,1
    - Dst: EVP_DigestSignFinal
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1453,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1453,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1455,1
    - Dst: EVP_PKEY_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 1462
      start: 1426
    functionDepth: 4
    functionLinenumber: 1426
    functionLinenumberEnd: 1462
    functionName: cryptofuzz::module::OpenSSL::OpHMAC_EVP
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - EVP_DigestSignInit
    - CF_CHECK_EQ
    - cryptofuzz::module::OpenSSL::toEVPMD
    - EVP_DigestSignUpdate
    - CF_CHECK_NE
    - EVP_PKEY_new_mac_key
    - EVP_DigestSignFinal
    - generate_HMAC
    - CF_EVP_MD_CTX::GetPtr
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpenSSL::OpHMAC_EVP(operation::HMAC&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1476,1
    - Dst: HMAC_CTX_reset
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1478,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1478,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1479,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1479,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1480,1
    - Dst: HMAC_Init_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1480,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1480,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1480,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1480,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1485,1
    - Dst: HMAC_Update
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1485,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1485,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1492,1
    - Dst: HMAC_Final
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1492,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1492,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 1499
      start: 1466
    functionDepth: 4
    functionLinenumber: 1466
    functionLinenumberEnd: 1499
    functionName: cryptofuzz::module::OpenSSL::OpHMAC_HMAC
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - HMAC_Final
    - HMAC_CTX_reset
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - HMAC_Update
    - CF_CHECK_EQ
    - cryptofuzz::module::OpenSSL::toEVPMD
    - CF_HMAC_CTX::GetPtr
    - CF_CHECK_NE
    - generate_HMAC
    - HMAC_Init_ex
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpenSSL::OpHMAC_HMAC(operation::HMAC&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1506,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1506,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1509,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1514,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1514,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1515,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1515,1
    - Dst: SIPHASH_24
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1517,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1517,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1517,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1522,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1524,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1530,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1530,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1542,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1542,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1543,1
    - Dst: EVP_MAC_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1544,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1545,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1548,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1550,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1552,1
    - Dst: EVP_MAC_init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1552,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1552,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1552,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1554,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1559,1
    - Dst: EVP_MAC_update
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1559,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1563,1
    - Dst: EVP_MAC_final
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1563,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1564,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1566,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1568,1
    - Dst: EVP_MAC_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 1573
      start: 1503
    functionDepth: 4
    functionLinenumber: 1503
    functionLinenumberEnd: 1573
    functionName: cryptofuzz::module::OpenSSL_detail::SipHash
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_new
    - EVP_MAC_update
    - cleartext::GetPtr
    - CF_DIGEST
    - modifier::GetPtr
    - EVP_MAC_free
    - SIPHASH_24
    - EVP_MAC_final
    - modifier::GetSize
    - CF_CHECK_EQ
    - memcpy
    - OSSL_PARAM_construct_uint
    - cryptofuzz::util::free
    - generate_HMAC
    - EVP_MAC_CTX_free
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - EVP_MAC_init
    - cleartext::GetSize
    - digestType::Get
    - EVP_MAC_fetch
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> SipHash(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1578,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1578,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1580,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1580,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1581,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1581,1
    - Dst: cryptofuzz::module::OpenSSL_detail::SipHash
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1583,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1588,1
    - Dst: cryptofuzz::module::OpenSSL::OpHMAC_EVP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1594,1
    - Dst: cryptofuzz::module::OpenSSL::OpHMAC_HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1596,1
    - Dst: cryptofuzz::module::OpenSSL::OpHMAC_HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1600,1
    - Dst: cryptofuzz::module::OpenSSL::OpHMAC_EVP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 1605
      start: 1577
    functionDepth: 5
    functionLinenumber: 1577
    functionLinenumberEnd: 1605
    functionName: cryptofuzz::module::OpenSSL::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::OpenSSL::OpHMAC_EVP
    - modifier::GetPtr
    - digestType::Get
    - cryptofuzz::module::OpenSSL_detail::SipHash
    - CF_DIGEST
    - modifier::GetSize
    - Datasource::Get
    - cryptofuzz::module::OpenSSL::OpHMAC_HMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpenSSL::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::OpenSSL::isAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1614,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1639,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1639,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1641,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1641,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1646,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1646,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - cipherType
    - cipher
    - ctx
    - inputIvLength
    argTypes:
    - uint64_t
    - EVP_CIPHER*
    - EVP_CIPHER_CTX*
    - size_t
    constantsTouched: []
    func_position:
      end: 1654
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1654
    functionName: cryptofuzz::module::OpenSSL::checkSetIVLength
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - EVP_CIPHER_CTX_ctrl
    - cryptofuzz::module::OpenSSL::isAEAD
    linkageType: ''
    returnType: bool
    signature: bool OpenSSL::checkSetIVLength(const uint64_t cipherType, const EVP_CIPHER*
      cipher, EVP_CIPHER_CTX* ctx, const size_t inputIvLength) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1663,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - cipher
    - ctx
    - inputKeyLength
    argTypes:
    - EVP_CIPHER*
    - EVP_CIPHER_CTX*
    - size_t
    constantsTouched: []
    func_position:
      end: 1670
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1670
    functionName: cryptofuzz::module::OpenSSL::checkSetKeyLength
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - EVP_CIPHER_CTX_set_key_length
    linkageType: ''
    returnType: bool
    signature: bool OpenSSL::checkSetKeyLength(const EVP_CIPHER* cipher, EVP_CIPHER_CTX*
      ctx, const size_t inputKeyLength) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1685,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1685,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1699,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPCIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1699,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1702,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1702,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1702,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1702,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1703,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1703,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1703,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1703,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1705,1
    - Dst: BIO_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1705,1
    - Dst: BIO_f_cipher
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1705,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1708,1
    - Dst: BIO_set_cipher
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1710,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1710,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1710,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1711,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1711,1
    - Dst: BIO_push
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1720,1
    - Dst: BIO_new_mem_buf
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1720,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1720,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1720,1
    - Dst: BIO_push
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1722,1
    - Dst: BIO_new_mem_buf
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1722,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1722,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1722,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1730,1
    - Dst: BIO_read
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1730,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1732,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1741,1
    - Dst: BIO_read
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1741,1
    - Dst: BIO_free_all
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1751,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 1755
      start: 1673
    functionDepth: 2
    functionLinenumber: 1673
    functionLinenumberEnd: 1755
    functionName: cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_BIO
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - BIO_new
    - CF_ASSERT
    - cipher::cipherType::Get
    - BIO_new_mem_buf
    - defined
    - static_cast<int>
    - EVP_CIPHER_iv_length
    - CF_CHECK_EQ
    - EVP_CIPHER_key_length
    - cipher::iv::GetSize
    - BIO_f_cipher
    - BIO_read
    - BIO_set_cipher
    - CF_CHECK_GTE
    - BIO_free_all
    - cryptofuzz::util::free
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - cryptofuzz::repository::IsWRAP
    - cryptofuzz::module::OpenSSL::toEVPCIPHER
    - BIO_push
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpenSSL::OpSymmetricEncrypt_BIO(operation::SymmetricEncrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1773,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPCIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1773,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1779,1
    - Dst: cryptofuzz::module::OpenSSL::isAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1779,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1779,1
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1782,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1782,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1786,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1786,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1789,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1789,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1789,1
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1791,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1791,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1792,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1792,1
    - Dst: cryptofuzz::util::CipherInputTransform
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1795,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1795,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1795,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1799,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1799,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1803,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1803,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1805,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1809,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1809,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1810,1
    - Dst: cryptofuzz::module::OpenSSL::checkSetIVLength
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1810,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1810,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1810,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1810,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1812,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1812,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1814,1
    - Dst: cryptofuzz::module::OpenSSL::checkSetKeyLength
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1814,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1814,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1814,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1816,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1816,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1817,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1817,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1817,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1817,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1817,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1821,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1822,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1822,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1822,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1823,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1823,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1823,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1823,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1827,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1827,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1828,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1828,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1828,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1837,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1837,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1839,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1839,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1839,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1839,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1847,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1847,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1847,1
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1852,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1852,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1854,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1854,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1857,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1857,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1861,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1861,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1861,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1869,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1869,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1869,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1872,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1872,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1872,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1882,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1882,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1882,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1883,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1883,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1883,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1886,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1886,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1892,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1893,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 1896
      start: 1758
    functionDepth: 3
    functionLinenumber: 1758
    functionLinenumberEnd: 1896
    functionName: cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_EVP
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_set_flags
    - memset
    - cleartext::GetPtr
    - CF_EVP_CIPHER_CTX::GetPtr
    - cipher::cipherType::Get
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_block_size
    - aad::GetSize
    - Buffer
    - cryptofuzz::module::OpenSSL::checkSetIVLength
    - EVP_EncryptInit_ex
    - cryptofuzz::repository::IsECB
    - CF_CHECK_EQ
    - memcpy
    - cryptofuzz::module::OpenSSL::checkSetKeyLength
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - cryptofuzz::module::OpenSSL::isAEAD
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - EVP_CIPHER_CTX_ctrl
    - cleartext::GetSize
    - static_cast<size_t>
    - cryptofuzz::repository::IsWRAP
    - cryptofuzz::module::OpenSSL::toEVPCIPHER
    - EVP_EncryptFinal_ex
    - CF_CHECK_NE
    - aad::GetPtr
    - EVP_EncryptUpdate
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cryptofuzz::util::CipherInputTransform
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpenSSL::OpSymmetricEncrypt_EVP(operation::SymmetricEncrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1915,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1915,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1917,1
    - Dst: EVP_AEAD_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1917,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1918,1
    - Dst: EVP_AEAD_CTX_init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1918,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1921,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1922,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1926,1
    - Dst: EVP_AEAD_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1926,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1928,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1929,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1936,1
    - Dst: EVP_AEAD_CTX_seal
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1936,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1940,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1941,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1942,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1943,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1944,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1945,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1954,1
    - Dst: EVP_AEAD_CTX_tag_len
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1954,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1954,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1958,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1964,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1964,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1968,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1968,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1968,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1977,1
    - Dst: EVP_AEAD_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1977,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 1982
      start: 1899
    functionDepth: 2
    functionLinenumber: 1899
    functionLinenumberEnd: 1982
    functionName: cryptofuzz::module::OpenSSL::AEAD_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_AEAD_CTX_seal
    - cleartext::GetPtr
    - CF_ASSERT
    - aad::GetSize
    - Buffer
    - cryptofuzz::module::OpenSSL::toEVPAEAD
    - EVP_AEAD_CTX_tag_len
    - CF_CHECK_EQ
    - EVP_AEAD_CTX_new
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_NORET
    - cleartext::GetSize
    - EVP_AEAD_CTX_init
    - CF_CHECK_NE
    - aad::GetPtr
    - EVP_AEAD_CTX_free
    - cryptofuzz::component::Ciphertext::Ciphertext
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpenSSL::AEAD_Encrypt(operation::SymmetricEncrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1995,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1996,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1997,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1997,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1998,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1998,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1999,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1999,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2000,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2000,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2001,1
    - Dst: AES_set_encrypt_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2001,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2001,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2001,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2012,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2012,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2020,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2020,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2021,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2021,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2021,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2023,1
    - Dst: AES_encrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2024,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2029,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2031,1
    - Dst: AES_encrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2032,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2032,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2039,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2039,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2039,1
    - Dst: free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2044,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 2047
      start: 1985
    functionDepth: 3
    functionLinenumber: 1985
    functionLinenumberEnd: 2047
    functionName: cryptofuzz::module::OpenSSL::AES_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - AES_encrypt
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - free
    - memcpy
    - malloc
    - cryptofuzz::component::Ciphertext::Ciphertext
    - AES_set_encrypt_key
    - cleartext::GetPtr
    - cipher::iv::GetSize
    - Get
    - CF_CHECK_GTE
    - Buffer
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpenSSL::AES_Encrypt(operation::SymmetricEncrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2054,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2054,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2064,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2064,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2066,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2066,1
    - Dst: cryptofuzz::module::OpenSSL::AES_Encrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2067,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2071,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2071,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2080,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2081,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2082,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2083,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2084,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2085,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2093,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2098,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2100,1
    - Dst: cryptofuzz::module::OpenSSL::AEAD_Encrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2101,1
    - Dst: cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_EVP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2111,1
    - Dst: cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_BIO
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2114,1
    - Dst: cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_EVP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2116,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 2119
      start: 2049
    functionDepth: 4
    functionLinenumber: 2049
    functionLinenumberEnd: 2119
    functionName: cryptofuzz::module::OpenSSL::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - modifier::GetPtr
    - cipher::key::GetSize
    - cryptofuzz::module::OpenSSL::AEAD_Encrypt
    - cipher::cipherType::Is
    - cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_EVP
    - cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_BIO
    - cryptofuzz::module::OpenSSL::AES_Encrypt
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - modifier::GetSize
    - Datasource::Get
    - cryptofuzz::module::OpenSSL::toEVPAEAD
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpenSSL::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2134,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2134,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2148,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPCIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2148,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2151,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2151,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2151,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2151,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2152,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2152,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2152,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2152,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2154,1
    - Dst: BIO_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2154,1
    - Dst: BIO_f_cipher
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2154,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2157,1
    - Dst: BIO_set_cipher
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2159,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2159,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2159,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2160,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2160,1
    - Dst: BIO_push
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2169,1
    - Dst: BIO_new_mem_buf
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2169,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2169,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2169,1
    - Dst: BIO_push
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2171,1
    - Dst: BIO_new_mem_buf
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2171,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2171,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2171,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2179,1
    - Dst: BIO_read
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2179,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2181,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2190,1
    - Dst: BIO_read
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2190,1
    - Dst: BIO_free_all
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2200,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 2204
      start: 2122
    functionDepth: 2
    functionLinenumber: 2122
    functionLinenumberEnd: 2204
    functionName: cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_BIO
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    - ciphertext::GetSize
    - BIO_new
    - CF_ASSERT
    - cipher::cipherType::Get
    - BIO_new_mem_buf
    - defined
    - static_cast<int>
    - EVP_CIPHER_iv_length
    - CF_CHECK_EQ
    - EVP_CIPHER_key_length
    - cipher::iv::GetSize
    - BIO_f_cipher
    - BIO_read
    - BIO_set_cipher
    - CF_CHECK_GTE
    - BIO_free_all
    - cryptofuzz::util::free
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - cryptofuzz::repository::IsWRAP
    - cryptofuzz::module::OpenSSL::toEVPCIPHER
    - BIO_push
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpenSSL::OpSymmetricDecrypt_BIO(operation::SymmetricDecrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2221,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPCIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2221,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2227,1
    - Dst: cryptofuzz::module::OpenSSL::isAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2227,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2227,1
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2230,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2230,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2234,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2234,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2238,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2238,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2238,1
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2240,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2240,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2241,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2241,1
    - Dst: cryptofuzz::util::CipherInputTransform
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2244,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2244,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2244,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2248,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2248,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2252,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2252,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2254,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2258,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2258,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2259,1
    - Dst: cryptofuzz::module::OpenSSL::checkSetIVLength
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2259,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2259,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2259,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2259,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2261,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2261,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2263,1
    - Dst: cryptofuzz::module::OpenSSL::checkSetKeyLength
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2263,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2263,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2263,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2276,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2276,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2276,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2276,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2276,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2279,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2279,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2280,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2280,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2280,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2280,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2280,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2284,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2285,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2285,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2285,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2286,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2286,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2286,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2286,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2290,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2290,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2291,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2291,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2291,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2300,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2300,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2302,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2302,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2302,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2302,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2309,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2309,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2309,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2315,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2315,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2318,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2318,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2318,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2327,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2327,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2327,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2330,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2330,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2330,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2333,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2338,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 2341
      start: 2207
    functionDepth: 3
    functionLinenumber: 2207
    functionLinenumberEnd: 2341
    functionName: cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_EVP
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    - EVP_CIPHER_CTX_set_flags
    - memset
    - ciphertext::GetSize
    - CF_EVP_CIPHER_CTX::GetPtr
    - cipher::cipherType::Get
    - component::Cleartext
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_block_size
    - aad::GetSize
    - cryptofuzz::module::OpenSSL::checkSetIVLength
    - cryptofuzz::repository::IsECB
    - CF_CHECK_EQ
    - EVP_DecryptInit_ex
    - memcpy
    - cryptofuzz::module::OpenSSL::checkSetKeyLength
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - EVP_DecryptUpdate
    - tag::GetSize
    - cryptofuzz::module::OpenSSL::isAEAD
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - EVP_CIPHER_CTX_ctrl
    - static_cast<size_t>
    - cryptofuzz::repository::IsWRAP
    - cryptofuzz::module::OpenSSL::toEVPCIPHER
    - EVP_DecryptFinal_ex
    - CF_CHECK_NE
    - tag::GetPtr
    - aad::GetPtr
    - cryptofuzz::util::CipherInputTransform
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpenSSL::OpSymmetricDecrypt_EVP(operation::SymmetricDecrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2360,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2360,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2362,1
    - Dst: EVP_AEAD_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2362,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2363,1
    - Dst: EVP_AEAD_CTX_init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2363,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2366,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2367,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2371,1
    - Dst: EVP_AEAD_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2371,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2373,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2374,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2382,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2383,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2383,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2383,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2383,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2385,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2385,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2385,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2385,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2388,1
    - Dst: EVP_AEAD_CTX_open
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2388,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2392,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2393,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2394,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2395,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2396,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2397,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2403,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2407,1
    - Dst: EVP_AEAD_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2407,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 2412
      start: 2344
    functionDepth: 2
    functionLinenumber: 2344
    functionLinenumberEnd: 2412
    functionName: cryptofuzz::module::OpenSSL::AEAD_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    - ciphertext::GetSize
    - component::Cleartext
    - aad::GetSize
    - cryptofuzz::module::OpenSSL::toEVPAEAD
    - std::vector::data
    - std::vector::size
    - memcpy
    - EVP_AEAD_CTX_new
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - EVP_AEAD_CTX_open
    - cipher::key::GetPtr
    - CF_NORET
    - EVP_AEAD_CTX_init
    - CF_CHECK_NE
    - tag::GetPtr
    - aad::GetPtr
    - EVP_AEAD_CTX_free
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpenSSL::AEAD_Decrypt(operation::SymmetricDecrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2425,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2426,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2427,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2427,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2428,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2428,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2429,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2429,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2430,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2430,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2431,1
    - Dst: AES_set_decrypt_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2431,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2431,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2431,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2442,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2442,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2450,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2450,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2451,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2451,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2451,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2453,1
    - Dst: AES_decrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2454,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2459,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2461,1
    - Dst: AES_decrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2462,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2462,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2469,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2469,1
    - Dst: free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 2477
      start: 2415
    functionDepth: 3
    functionLinenumber: 2415
    functionLinenumberEnd: 2477
    functionName: cryptofuzz::module::OpenSSL::AES_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - AES_decrypt
    - cipher::key::GetSize
    - AES_set_decrypt_key
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - free
    - memcpy
    - malloc
    - component::Cleartext
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - Get
    - CF_CHECK_GTE
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpenSSL::AES_Decrypt(operation::SymmetricDecrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2480,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2480,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2482,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2482,1
    - Dst: cryptofuzz::module::OpenSSL::AES_Decrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2483,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2490,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2491,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2492,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2493,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2494,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2495,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2503,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2508,1
    - Dst: cryptofuzz::module::OpenSSL::AEAD_Decrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2511,1
    - Dst: cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_EVP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2517,1
    - Dst: cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_BIO
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2520,1
    - Dst: cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_EVP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2522,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 2525
      start: 2479
    functionDepth: 4
    functionLinenumber: 2479
    functionLinenumberEnd: 2525
    functionName: cryptofuzz::module::OpenSSL::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - modifier::GetPtr
    - cipher::key::GetSize
    - cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_BIO
    - cryptofuzz::module::OpenSSL::AEAD_Decrypt
    - cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_EVP
    - CF_CIPHER
    - cryptofuzz::module::OpenSSL::AES_Decrypt
    - modifier::GetSize
    - Datasource::Get
    - cryptofuzz::module::OpenSSL::toEVPAEAD
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpenSSL::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2537,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2537,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2538,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2538,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2539,1
    - Dst: EVP_PKEY_CTX_set1_pbe_pass
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2539,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2539,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2539,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2540,1
    - Dst: EVP_PKEY_CTX_set1_scrypt_salt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2540,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2540,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2540,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2541,1
    - Dst: EVP_PKEY_CTX_set_scrypt_N
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2541,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2542,1
    - Dst: EVP_PKEY_CTX_set_scrypt_r
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2542,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2543,1
    - Dst: EVP_PKEY_CTX_set_scrypt_p
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2543,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2548,1
    - Dst: EVP_PKEY_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2548,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2550,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2552,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2556,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 2560
      start: 2528
    functionDepth: 2
    functionLinenumber: 2528
    functionLinenumberEnd: 2560
    functionName: cryptofuzz::module::OpenSSL::OpKDF_SCRYPT_EVP_PKEY
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_id
    - salt::GetPtr
    - EVP_PKEY_CTX_free
    - password::GetPtr
    - CF_CHECK_EQ
    - EVP_PKEY_CTX_set_scrypt_N
    - EVP_PKEY_CTX_set1_scrypt_salt
    - cryptofuzz::util::free
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - EVP_PKEY_derive_init
    - salt::GetSize
    - EVP_PKEY_CTX_set_scrypt_r
    - EVP_PKEY_CTX_set1_pbe_pass
    - EVP_PKEY_CTX_set_scrypt_p
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_SCRYPT_EVP_PKEY(operation::KDF_SCRYPT&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: password::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2572,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2573,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2575,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2576,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2578,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2579,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2581,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2582,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2585,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2588,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2591,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2594,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2596,1
    - Dst: EVP_KDF_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2599,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2600,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2601,1
    - Dst: EVP_KDF_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2602,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2603,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2606,1
    - Dst: EVP_KDF_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2606,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2611,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2615,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 2619
      start: 2564
    functionDepth: 2
    functionLinenumber: 2564
    functionLinenumberEnd: 2619
    functionName: cryptofuzz::module::OpenSSL::OpKDF_SCRYPT_EVP_KDF
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_new
    - password::Get
    - EVP_KDF_free
    - EVP_KDF_CTX_free
    - CF_CHECK_GT
    - OSSL_PARAM_construct_uint
    - auto::data
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - EVP_KDF_fetch
    - cryptofuzz::util::free
    - auto::size
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - salt::Get
    - EVP_KDF_derive
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_SCRYPT_EVP_KDF(operation::KDF_SCRYPT&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2625,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2625,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2633,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2637,1
    - Dst: EVP_PBE_scrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2637,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2638,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2639,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2640,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2641,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2649,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2652,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2656,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2656,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2660,1
    - Dst: cryptofuzz::module::OpenSSL::OpKDF_SCRYPT_EVP_PKEY
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2665,1
    - Dst: cryptofuzz::module::OpenSSL::OpKDF_SCRYPT_EVP_KDF
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 2670
      start: 2623
    functionDepth: 3
    functionLinenumber: 2623
    functionLinenumberEnd: 2670
    functionName: cryptofuzz::module::OpenSSL::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - modifier::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - cryptofuzz::module::OpenSSL::OpKDF_SCRYPT_EVP_PKEY
    - EVP_PBE_scrypt
    - cryptofuzz::module::OpenSSL::OpKDF_SCRYPT_EVP_KDF
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2682,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2682,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2683,1
    - Dst: HKDF
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2684,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2687,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2688,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2689,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2690,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2691,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2692,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2694,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2697,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2710,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2710,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2711,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2711,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2712,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2712,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2713,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2713,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2714,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2714,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2714,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2714,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2715,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2715,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2715,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2715,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2716,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2716,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2716,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2716,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2721,1
    - Dst: EVP_PKEY_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2721,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2723,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2725,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2729,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 2735
      start: 2674
    functionDepth: 2
    functionLinenumber: 2674
    functionLinenumberEnd: 2735
    functionName: cryptofuzz::module::OpenSSL::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set1_hkdf_key
    - info::GetSize
    - EVP_PKEY_CTX_set1_hkdf_salt
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    - password::GetPtr
    - cryptofuzz::module::OpenSSL::toEVPMD
    - info::GetPtr
    - cryptofuzz::tests::test_ECC_PrivateKey
    - EVP_PKEY_derive_init
    - salt::GetSize
    - HKDF
    - CF_CHECK_EQ
    - EVP_PKEY_CTX_add1_hkdf_info
    - password::GetSize
    - cryptofuzz::util::free
    - salt::GetPtr
    - EVP_PKEY_CTX_set_hkdf_md
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2749,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2749,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2750,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2750,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2751,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2751,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2752,1
    - Dst: EVP_PKEY_CTX_set_tls1_prf_md
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2752,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2753,1
    - Dst: EVP_PKEY_CTX_set1_tls1_prf_secret
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2753,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2753,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2753,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2754,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2754,1
    - Dst: seed::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2754,1
    - Dst: seed::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2754,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2759,1
    - Dst: EVP_PKEY_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2759,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2768,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2770,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2774,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 2779
      start: 2739
    functionDepth: 2
    functionLinenumber: 2739
    functionLinenumberEnd: 2779
    functionName: cryptofuzz::module::OpenSSL::OpKDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_id
    - secret::GetPtr
    - secret::GetSize
    - EVP_PKEY_CTX_free
    - seed::GetPtr
    - CF_CHECK_EQ
    - EVP_PKEY_CTX_set_tls1_prf_md
    - cryptofuzz::module::OpenSSL::toEVPMD
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_add1_tls1_prf_seed
    - cryptofuzz::util::free
    - seed::GetSize
    - EVP_PKEY_CTX_set1_tls1_prf_secret
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_TLS1_PRF(operation::KDF_TLS1_PRF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2791,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2791,1
    - Dst: password::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2793,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2794,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2796,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2797,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2799,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2800,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2802,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2803,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2806,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2809,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2812,1
    - Dst: std::string::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2812,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2812,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2815,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2817,1
    - Dst: EVP_KDF_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2820,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2821,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2822,1
    - Dst: EVP_KDF_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2823,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2824,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2827,1
    - Dst: EVP_KDF_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2827,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2832,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2835,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 2840
      start: 2783
    functionDepth: 2
    functionLinenumber: 2783
    functionLinenumberEnd: 2840
    functionName: cryptofuzz::module::OpenSSL::OpKDF_PBKDF
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_new
    - cryptofuzz::module::OpenSSL::toEVPMD
    - cryptofuzz::tests::test_ECC_PrivateKey
    - EVP_KDF_fetch
    - auto::size
    - EVP_KDF_derive
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_uint
    - std::string::data
    - auto::data
    - cryptofuzz::util::free
    - std::string::size
    - OSSL_PARAM_construct_octet_string
    - salt::Get
    - password::Get
    - CF_CHECK_NE
    - OSSL_PARAM_construct_end
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_PBKDF(operation::KDF_PBKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2852,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2852,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2853,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2853,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2854,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2855,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2856,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2857,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2863,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2865,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2876,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2876,1
    - Dst: password::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2878,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2879,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2881,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2882,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2884,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2885,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2887,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2888,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2891,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2894,1
    - Dst: std::string::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2894,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2894,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2897,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2899,1
    - Dst: EVP_KDF_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2902,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2903,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2904,1
    - Dst: EVP_KDF_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2905,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2906,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2909,1
    - Dst: EVP_KDF_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2909,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2914,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2918,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 2924
      start: 2844
    functionDepth: 2
    functionLinenumber: 2844
    functionLinenumberEnd: 2924
    functionName: cryptofuzz::module::OpenSSL::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_new
    - password::GetPtr
    - cryptofuzz::module::OpenSSL::toEVPMD
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - EVP_KDF_fetch
    - auto::size
    - EVP_KDF_derive
    - CF_CHECK_EQ
    - OSSL_PARAM_construct_int
    - PKCS5_PBKDF2_HMAC
    - OSSL_PARAM_construct_uint
    - std::string::data
    - password::GetSize
    - auto::data
    - cryptofuzz::util::free
    - std::string::size
    - OSSL_PARAM_construct_octet_string
    - salt::Get
    - salt::GetPtr
    - password::Get
    - CF_CHECK_NE
    - OSSL_PARAM_construct_end
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2955,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2956,1
    - Dst: EVP_KDF_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2959,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2960,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2961,1
    - Dst: EVP_KDF_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2962,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2963,1
    - Dst: password::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2971,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2972,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2972,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2972,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2974,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2975,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2975,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2975,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2977,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2978,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2979,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2980,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2981,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2982,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2982,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2987,1
    - Dst: EVP_KDF_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2987,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2989,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2993,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 2999
      start: 2928
    functionDepth: 2
    functionLinenumber: 2928
    functionLinenumberEnd: 2999
    functionName: cryptofuzz::module::OpenSSL::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - EVP_KDF_CTX_new
    - cryptofuzz::tests::test_ECC_PrivateKey
    - EVP_KDF_fetch
    - auto::size
    - EVP_KDF_derive
    - CF_CHECK_EQ
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_uint
    - auto::data
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - salt::Get
    - OSSL_PARAM_construct_octet_string
    - password::Get
    - CF_CHECK_NE
    - EVP_KDF_CTX_set_params
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3011,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3011,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3012,1
    - Dst: type::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3012,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3015,1
    - Dst: std::string::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3015,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3015,1
    - Dst: key::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3017,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3018,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3020,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3021,1
    - Dst: xcghash::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3023,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3024,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3026,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3027,1
    - Dst: session_id::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3029,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3030,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3032,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3033,1
    - Dst: type::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3041,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3044,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3047,1
    - Dst: EVP_KDF_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3050,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3051,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3052,1
    - Dst: EVP_KDF_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3053,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3054,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3057,1
    - Dst: EVP_KDF_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3057,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3062,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3066,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SSH
    constantsTouched: []
    func_position:
      end: 3071
      start: 3003
    functionDepth: 2
    functionLinenumber: 3003
    functionLinenumberEnd: 3071
    functionName: cryptofuzz::module::OpenSSL::OpKDF_SSH
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - OSSL_PARAM_construct_utf8_string
    - session_id::Get
    - EVP_KDF_CTX_new
    - cryptofuzz::module::OpenSSL::toEVPMD
    - cryptofuzz::tests::test_ECC_PrivateKey
    - EVP_KDF_fetch
    - auto::size
    - EVP_KDF_derive
    - CF_CHECK_EQ
    - xcghash::Get
    - std::string::data
    - auto::data
    - cryptofuzz::util::free
    - std::string::size
    - OSSL_PARAM_construct_octet_string
    - type::GetPtr
    - type::GetSize
    - CF_CHECK_NE
    - key::Get
    - OSSL_PARAM_construct_end
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_SSH(operation::KDF_SSH&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3081,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3081,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3084,1
    - Dst: std::string::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3084,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3084,1
    - Dst: secret::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3086,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3087,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3089,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3090,1
    - Dst: info::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3092,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3093,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3095,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3096,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3098,1
    - Dst: EVP_KDF_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3101,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3102,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3103,1
    - Dst: EVP_KDF_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3104,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3105,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3108,1
    - Dst: EVP_KDF_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3108,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3113,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3117,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_X963
    constantsTouched: []
    func_position:
      end: 3122
      start: 3073
    functionDepth: 2
    functionLinenumber: 3073
    functionLinenumberEnd: 3122
    functionName: cryptofuzz::module::OpenSSL::OpKDF_X963
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - OSSL_PARAM_construct_utf8_string
    - secret::Get
    - EVP_KDF_CTX_new
    - cryptofuzz::module::OpenSSL::toEVPMD
    - cryptofuzz::tests::test_ECC_PrivateKey
    - EVP_KDF_fetch
    - auto::size
    - EVP_KDF_derive
    - info::Get
    - std::string::data
    - auto::data
    - cryptofuzz::util::free
    - std::string::size
    - OSSL_PARAM_construct_octet_string
    - CF_CHECK_NE
    - OSSL_PARAM_construct_end
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_X963(operation::KDF_X963&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3144,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3144,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3147,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3149,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3149,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3152,1
    - Dst: std::string::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3152,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3153,1
    - Dst: std::string::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3153,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3156,1
    - Dst: std::string::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3156,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3158,1
    - Dst: std::string::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3158,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3160,1
    - Dst: secret::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3163,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3164,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3166,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3167,1
    - Dst: label::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3169,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3170,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3172,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3173,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3175,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3176,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3178,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3179,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3181,1
    - Dst: EVP_KDF_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3184,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3185,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3186,1
    - Dst: EVP_KDF_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3187,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3188,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3191,1
    - Dst: EVP_KDF_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3191,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3196,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3200,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SP_800_108
    constantsTouched: []
    func_position:
      end: 3205
      start: 3124
    functionDepth: 2
    functionLinenumber: 3124
    functionLinenumberEnd: 3205
    functionName: cryptofuzz::module::OpenSSL::OpKDF_SP_800_108
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - OSSL_PARAM_construct_utf8_string
    - CF_UNREACHABLE
    - secret::Get
    - EVP_KDF_CTX_new
    - cryptofuzz::module::OpenSSL::toEVPMD
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - EVP_KDF_fetch
    - auto::size
    - EVP_KDF_derive
    - label::Get
    - CF_CHECK_EQ
    - std::string::data
    - auto::data
    - cryptofuzz::util::free
    - salt::Get
    - OSSL_PARAM_construct_octet_string
    - CF_CHECK_NE
    - OSSL_PARAM_construct_end
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_SP_800_108(operation::KDF_SP_800_108&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3211,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3211,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3220,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3222,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPCIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3222,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3223,1
    - Dst: CMAC_Init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3223,1
    - Dst: CF_CMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3223,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3223,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3223,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3228,1
    - Dst: CMAC_Update
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3228,1
    - Dst: CF_CMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3228,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3235,1
    - Dst: CMAC_Final
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3235,1
    - Dst: CF_CMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3235,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 3241
      start: 3209
    functionDepth: 4
    functionLinenumber: 3209
    functionLinenumberEnd: 3241
    functionName: cryptofuzz::module::OpenSSL::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - CF_CHECK_EQ
    - cryptofuzz::module::OpenSSL::toEVPCIPHER
    - CF_CHECK_NE
    - generate_HMAC
    - CF_CMAC_CTX::GetPtr
    - CMAC_Update
    - CMAC_Init
    - modifier::GetSize
    - CMAC_Final
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpenSSL::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3251,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3252,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3253,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3254,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3255,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3256,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3257,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3258,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3259,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3260,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3261,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3262,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3263,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3264,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3265,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3267,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3268,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3269,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3270,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3271,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3272,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3273,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3274,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3275,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3276,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3277,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3278,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3279,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3280,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3281,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3282,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3283,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3284,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3285,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3286,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3287,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3288,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3289,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3290,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3291,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3292,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3293,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3294,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3295,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3296,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3297,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3298,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3298,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3298,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3298,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3298,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3299,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3301,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3302,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3303,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3304,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3305,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3306,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3307,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3308,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3313,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3315,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3316,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3317,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3318,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3319,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3320,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3321,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3322,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3323,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3324,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3325,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3326,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3327,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3328,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3329,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3330,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3331,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3332,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3333,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3334,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3335,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3336,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3337,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3338,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3339,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3340,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3341,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3343,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3344,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3345,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3346,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3347,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3348,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3349,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3350,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3351,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3352,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3353,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3354,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3355,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3356,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3357,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3358,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3362,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3362,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3362,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3366,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 3367
      start: 3249
    functionDepth: 1
    functionLinenumber: 3249
    functionLinenumberEnd: 3367
    functionName: cryptofuzz::module::toCurveNID
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - CF_ECC_CURVE
    - std::map::at
    - defined
    - Get
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> toCurveNID(const component::CurveType& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3373,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3373,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3381,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3381,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3385,1
    - Dst: New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3385,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3387,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3387,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3387,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3390,1
    - Dst: BN_bn2binpad
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3390,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3390,1
    - Dst: X25519_public_from_private
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3393,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3396,1
    - Dst: BN_bin2bn
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3396,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3396,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3398,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3398,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3398,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3401,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3403,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3403,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3407,1
    - Dst: New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3407,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3409,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3409,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3409,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3412,1
    - Dst: BN_bn2binpad
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3412,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3412,1
    - Dst: X448_public_from_private
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3415,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3418,1
    - Dst: BN_bin2bn
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3418,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3418,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3420,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3420,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3420,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3423,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3435,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3435,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3436,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3436,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3437,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3438,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3438,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3441,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3441,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3441,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3441,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3444,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3444,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3444,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3447,1
    - Dst: EC_KEY_set_private_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3447,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3447,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3447,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3450,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3450,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3450,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3451,1
    - Dst: EC_POINT_mul
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3451,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3451,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3451,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3451,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3453,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3453,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3454,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3454,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3457,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3457,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3457,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3457,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3457,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3457,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3459,1
    - Dst: EC_POINT_get_affine_coordinates_GFp
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3459,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3459,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3459,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3459,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3459,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3463,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3463,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3463,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3464,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3464,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3464,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3467,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3467,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3472,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3473,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 3478
      start: 3371
    functionDepth: 2
    functionLinenumber: 3371
    functionLinenumberEnd: 3478
    functionName: cryptofuzz::module::OpenSSL::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - std::unique_ptr::GetPtr
    - OpenSSL_bignum::Bignum::GetDestPtr
    - std::shared_ptr::Lock
    - OPENSSL_free
    - std::string
    - OpenSSL_bignum::Bignum::GetPtr
    - std::shared_ptr::GetPtr
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - BN_bin2bn
    - modifier::GetPtr
    - std::make_unique<CF_EC_POINT>
    - GetPtr
    - EC_POINT_get_affine_coordinates
    - priv::ToString
    - EC_POINT_mul
    - New
    - OpenSSL_bignum::Bignum::Set
    - BN_bn2binpad
    - GetDestPtr
    - EC_POINT_get_affine_coordinates_GFp
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - CF_EC_KEY::GetPtr
    - X448_public_from_private
    - BN_bn2dec
    - X25519_public_from_private
    - CF_CHECK_NE
    - OpenSSL_bignum::Bignum::New
    - modifier::GetSize
    - EC_KEY_set_private_key
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpenSSL::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3483,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3483,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3500,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3500,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3501,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3501,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3502,1
    - Dst: EC_KEY_generate_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3502,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3506,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3506,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3507,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3507,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3512,1
    - Dst: BN_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3512,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3513,1
    - Dst: BN_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3513,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3514,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3514,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3515,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3516,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3516,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3517,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3517,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3517,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3518,1
    - Dst: EC_POINT_mul
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3518,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3518,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3518,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3521,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3521,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3521,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3521,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3523,1
    - Dst: EC_POINT_get_affine_coordinates_GFp
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3523,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3523,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3523,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3526,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3526,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3527,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3527,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3532,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3533,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3533,1
    - Dst: EC_KEY_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3539,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3540,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3541,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3542,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3543,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 3549
      start: 3481
    functionDepth: 2
    functionLinenumber: 3481
    functionLinenumberEnd: 3549
    functionName: cryptofuzz::module::OpenSSL::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - std::shared_ptr::Lock
    - EC_KEY_get0_private_key
    - OPENSSL_free
    - std::string
    - EC_KEY_generate_key
    - std::shared_ptr::GetPtr
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - BN_free
    - EC_POINT_get_affine_coordinates
    - EC_POINT_mul
    - EC_POINT_get_affine_coordinates_GFp
    - CF_CHECK_EQ
    - BN_new
    - BN_bn2dec
    - EC_KEY_new_by_curve_name
    - EC_KEY_free
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> OpenSSL::OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3553,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3553,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3562,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3562,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3563,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3563,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3564,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3565,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3565,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3568,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3568,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3568,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3568,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3571,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3571,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3571,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3572,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3572,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3586,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3586,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3587,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3588,1
    - Dst: pub::first::IsLessThan
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3588,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3589,1
    - Dst: pub::second::IsLessThan
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3589,1
    - Dst: EC_KEY_set_public_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3592,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3592,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3592,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3596,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3596,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3597,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3597,1
    - Dst: EC_KEY_check_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3599,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 3605
      start: 3551
    functionDepth: 2
    functionLinenumber: 3551
    functionLinenumberEnd: 3605
    functionName: cryptofuzz::module::OpenSSL::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - std::unique_ptr::GetPtr
    - std::shared_ptr::Lock
    - pub::second::IsLessThan
    - std::shared_ptr::GetPtr
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - EC_KEY_set_public_key
    - cryptofuzz::repository::ECC_CurveToOrder
    - curveType::Is
    - std::unique_ptr::Set
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - CF_EC_KEY::GetPtr
    - EC_KEY_check_key
    - CF_CHECK_TRUE
    - pub::first::IsLessThan
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpenSSL::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3611,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3611,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3631,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3631,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3631,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3633,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3633,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3635,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3635,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3635,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3639,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3639,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3640,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3640,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3641,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3642,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3642,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3645,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3645,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3645,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3645,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3648,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3648,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3648,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3651,1
    - Dst: EC_KEY_set_private_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3651,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3651,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3651,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3654,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3654,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3654,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3655,1
    - Dst: EC_POINT_mul
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3655,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3655,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3655,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3655,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3657,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3657,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3658,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3658,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3661,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3661,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3661,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3661,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3661,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3661,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3663,1
    - Dst: EC_POINT_get_affine_coordinates_GFp
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3663,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3663,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3663,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3663,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3663,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3666,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3666,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3666,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3667,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3667,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3667,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3669,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3672,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3674,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3674,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3674,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3676,1
    - Dst: ECDSA_sign_with_nonce_and_leak_private_key_for_testing
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3676,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3676,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3676,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3676,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3676,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3676,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3680,1
    - Dst: ECDSA_do_sign
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3680,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3680,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3680,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3680,1
    - Dst: ECDSA_SIG_get0
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3683,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3684,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3685,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3687,1
    - Dst: ECDSA_SIG_get0_r
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3687,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3688,1
    - Dst: ECDSA_SIG_get0_s
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3688,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3692,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3692,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3693,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3693,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3696,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3697,1
    - Dst: cryptofuzz::util::AdjustECDSASignature
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3697,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3697,1
    - Dst: component::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3699,1
    - Dst: ECDSA_SIG_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3704,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3706,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3707,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3708,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 3714
      start: 3609
    functionDepth: 2
    functionLinenumber: 3609
    functionLinenumberEnd: 3714
    functionName: cryptofuzz::module::OpenSSL::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - std::unique_ptr::GetPtr
    - OpenSSL_bignum::Bignum::GetDestPtr
    - std::shared_ptr::Lock
    - OPENSSL_free
    - std::string
    - ECDSA_SIG_free
    - CF_DIGEST
    - nonce::ToTrimmedString
    - OpenSSL_bignum::Bignum::GetPtr
    - std::shared_ptr::GetPtr
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - ECDSA_SIG_get0
    - ECDSA_SIG_get0_r
    - UseSpecifiedNonce
    - EC_POINT_get_affine_coordinates
    - priv::ToString
    - EC_POINT_mul
    - ECDSA_sign_with_nonce_and_leak_private_key_for_testing
    - ECDSA_do_sign
    - OpenSSL_bignum::Bignum::Set
    - EC_POINT_get_affine_coordinates_GFp
    - CF_CHECK_EQ
    - std::optional::size
    - component::Bignum::ToTrimmedString
    - CF_EC_KEY::GetPtr
    - std::optional::data
    - cleartext::ECDSA_RandomPad
    - auto::GetPtr
    - CF_CHECK_TRUE
    - BN_bn2dec
    - cryptofuzz::util::DecToBin
    - auto::GetSize
    - CF_NORET
    - digestType::Is
    - cryptofuzz::util::AdjustECDSASignature
    - CF_CHECK_NE
    - OpenSSL_bignum::Bignum::New
    - ECDSA_SIG_get0_s
    - UseRandomNonce
    - modifier::GetSize
    - EC_KEY_set_private_key
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> OpenSSL::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3719,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3719,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3738,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3738,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3739,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3739,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3740,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3741,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3741,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3743,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3743,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3743,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3743,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3746,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3746,1
    - Dst: signature::signature::first::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3746,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3747,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3747,1
    - Dst: signature::signature::second::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3747,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3748,1
    - Dst: ECDSA_SIG_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3748,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3750,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3751,1
    - Dst: OpenSSL_bignum::Bignum::GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3752,1
    - Dst: OpenSSL_bignum::Bignum::GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3753,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3755,1
    - Dst: ECDSA_SIG_set0
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3755,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3755,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3755,1
    - Dst: OpenSSL_bignum::Bignum::ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3758,1
    - Dst: OpenSSL_bignum::Bignum::ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3759,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3762,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3762,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3762,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3763,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3763,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3764,1
    - Dst: EC_KEY_set_public_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3764,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3764,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3764,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3770,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3770,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3771,1
    - Dst: ECDSA_do_verify
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3772,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3772,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3772,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3772,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3773,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3773,1
    - Dst: SHA256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3775,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3775,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3775,1
    - Dst: ECDSA_do_verify
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3776,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3776,1
    - Dst: ECDSA_SIG_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3795,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 3801
      start: 3717
    functionDepth: 2
    functionLinenumber: 3717
    functionLinenumberEnd: 3801
    functionName: cryptofuzz::module::OpenSSL::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - std::unique_ptr::GetPtr
    - OpenSSL_bignum::Bignum::GetDestPtr
    - std::shared_ptr::Lock
    - cleartext::GetPtr
    - ECDSA_SIG_free
    - CF_DIGEST
    - std::shared_ptr::GetPtr
    - ECDSA_SIG_set0
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - ECDSA_do_verify
    - toCurveNID
    - OpenSSL_bignum::Bignum::ReleaseOwnership
    - modifier::GetPtr
    - std::make_unique<CF_EC_POINT>
    - BN_free
    - OpenSSL_bignum::Bignum::GetPtrConst
    - EC_KEY_set_public_key
    - signature::signature::second::ToString
    - OpenSSL_bignum::Bignum::Set
    - ECDSA_SIG_new
    - signature::signature::first::ToString
    - std::unique_ptr::Set
    - CF_CHECK_EQ
    - CF_EC_KEY::GetPtr
    - cleartext::ECDSA_RandomPad
    - SHA256
    - auto::GetPtr
    - CF_CHECK_TRUE
    - auto::GetSize
    - cleartext::GetSize
    - digestType::Get
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpenSSL::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3805,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3805,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3817,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3817,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3818,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3818,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3819,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3820,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3820,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3825,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3825,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3825,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3825,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3828,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3828,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3828,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3831,1
    - Dst: EC_KEY_set_private_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3831,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3831,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3831,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3836,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3836,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3836,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3837,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3837,1
    - Dst: ECDH_compute_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3841,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3842,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3842,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3843,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3844,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3848,1
    - Dst: ECDH_compute_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3850,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3853,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3854,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3855,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSecret
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3857,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3857,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 3863
      start: 3803
    functionDepth: 2
    functionLinenumber: 3803
    functionLinenumberEnd: 3863
    functionName: cryptofuzz::module::OpenSSL::OpECDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - std::unique_ptr::GetPtr
    - std::shared_ptr::Lock
    - XXH64_hash_t::XXH3_hashLong_64b_withSecret
    - OpenSSL_bignum::Bignum::GetPtr
    - std::shared_ptr::GetPtr
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - CF_CHECK_GT
    - priv::ToString
    - Buffer
    - OpenSSL_bignum::Bignum::Set
    - std::unique_ptr::Set
    - CF_CHECK_EQ
    - abort
    - CF_EC_KEY::GetPtr
    - cryptofuzz::util::free
    - cryptofuzz::util::malloc
    - CF_CHECK_TRUE
    - CF_CHECK_NE
    - ECDH_compute_key
    - modifier::GetSize
    - EC_KEY_set_private_key
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> OpenSSL::OpECDH_Derive(operation::ECDH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3869,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3869,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3877,1
    - Dst: DH_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3877,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3883,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3883,1
    - Dst: prime::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3883,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3884,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3884,1
    - Dst: base::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3884,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3886,1
    - Dst: DH_set0_pqg
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3886,1
    - Dst: OpenSSL_bignum::Bignum::GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3886,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3886,1
    - Dst: OpenSSL_bignum::Bignum::ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3887,1
    - Dst: ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3888,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3891,1
    - Dst: DH_generate_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3891,1
    - Dst: DH_get0_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3895,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3896,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3897,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3899,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3899,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3900,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3900,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3903,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3903,1
    - Dst: DH_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3907,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3908,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DH_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 3914
      start: 3867
    functionDepth: 2
    functionLinenumber: 3867
    functionLinenumberEnd: 3914
    functionName: cryptofuzz::module::OpenSSL::OpDH_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - std::string
    - DH_new
    - base::ToString
    - DH_get0_key
    - OpenSSL_bignum::Bignum::ReleaseOwnership
    - modifier::GetPtr
    - OpenSSL_bignum::Bignum::GetPtrConst
    - OpenSSL_bignum::Bignum::Set
    - GetPtrConst
    - DH_free
    - CF_CHECK_EQ
    - Set
    - DH_generate_key
    - ReleaseOwnership
    - BN_bn2dec
    - prime::ToString
    - CF_CHECK_NE
    - DH_set0_pqg
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::DH_KeyPair>
    signature: std::optional<component::DH_KeyPair> OpenSSL::OpDH_GenerateKeyPair(operation::DH_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3921,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3921,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3928,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3928,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3929,1
    - Dst: DH_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3929,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3933,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3933,1
    - Dst: prime::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3933,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3934,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3934,1
    - Dst: base::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3934,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3936,1
    - Dst: DH_set0_pqg
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3936,1
    - Dst: OpenSSL_bignum::Bignum::GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3936,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3936,1
    - Dst: OpenSSL_bignum::Bignum::ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3937,1
    - Dst: ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3938,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3940,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3940,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3940,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3941,1
    - Dst: DH_set0_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3941,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3941,1
    - Dst: ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3942,1
    - Dst: DH_size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3945,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3946,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3948,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3948,1
    - Dst: pub::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3948,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3950,1
    - Dst: DH_compute_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3950,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3950,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3952,1
    - Dst: New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3952,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3953,1
    - Dst: BN_bin2bn
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3953,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3953,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3955,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3955,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3955,1
    - Dst: ToComponentBignum
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3957,1
    - Dst: DH_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3960,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DH_Derive
    constantsTouched: []
    func_position:
      end: 3963
      start: 3919
    functionDepth: 2
    functionLinenumber: 3919
    functionLinenumberEnd: 3963
    functionName: cryptofuzz::module::OpenSSL::OpDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - DH_size
    - DH_set0_key
    - DH_new
    - base::ToString
    - priv::ToTrimmedString
    - OpenSSL_bignum::Bignum::ReleaseOwnership
    - modifier::GetPtr
    - BN_bin2bn
    - OpenSSL_bignum::Bignum::GetPtrConst
    - GetPtr
    - priv::ToString
    - New
    - OpenSSL_bignum::Bignum::Set
    - GetPtrConst
    - GetDestPtr
    - DH_free
    - CF_CHECK_EQ
    - DH_compute_key
    - Set
    - cryptofuzz::util::free
    - pub::ToString
    - ReleaseOwnership
    - cryptofuzz::util::malloc
    - prime::ToString
    - CF_CHECK_NE
    - ToComponentBignum
    - DH_set0_pqg
    - modifier::GetSize
    - BN_is_zero
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpenSSL::OpDH_Derive(operation::DH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3968,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3968,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3977,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3977,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3977,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3979,1
    - Dst: DSA_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3979,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3980,1
    - Dst: DSA_set0_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3980,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3980,1
    - Dst: OpenSSL_bignum::Bignum::ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3981,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3983,1
    - Dst: DSA_generate_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3983,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3984,1
    - Dst: DSA_get0_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3984,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3985,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3985,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3987,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3993,1
    - Dst: DSA_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:3993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 3998
      start: 3966
    functionDepth: 2
    functionLinenumber: 3966
    functionLinenumberEnd: 3998
    functionName: cryptofuzz::module::OpenSSL::OpDSA_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - OpenSSL_bignum::Bignum::Set
    - DSA_free
    - OpenSSL_bignum::Bignum::ReleaseOwnership
    - modifier::GetPtr
    - DSA_new
    - CF_NORET
    - CF_CHECK_EQ
    - BN_bn2dec
    - OpenSSL_bignum::Bignum::GetDestPtr
    - OPENSSL_free
    - DSA_generate_key
    - CF_CHECK_NE
    - DSA_get0_key
    - priv::ToString
    - DSA_set0_key
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpenSSL::OpDSA_PrivateToPublic(operation::DSA_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4003,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4003,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4009,1
    - Dst: DSA_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4009,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4010,1
    - Dst: DSA_generate_parameters_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4010,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4017,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4017,1
    - Dst: DSA_get0_p
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4017,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4019,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4021,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4021,1
    - Dst: DSA_get0_q
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4021,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4023,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4025,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4025,1
    - Dst: DSA_get0_g
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4025,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4027,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4033,1
    - Dst: DSA_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_GenerateParameters
    constantsTouched: []
    func_position:
      end: 4038
      start: 4000
    functionDepth: 2
    functionLinenumber: 4000
    functionLinenumberEnd: 4038
    functionName: cryptofuzz::module::OpenSSL::OpDSA_GenerateParameters
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - DSA_free
    - modifier::GetPtr
    - DSA_new
    - BN_bn2dec
    - DSA_get0_p
    - CF_NORET
    - OPENSSL_free
    - CF_CHECK_NE
    - DSA_generate_parameters_ex
    - DSA_get0_q
    - DSA_get0_g
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::DSA_Parameters>
    signature: std::optional<component::DSA_Parameters> OpenSSL::OpDSA_GenerateParameters(operation::DSA_GenerateParameters&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4042,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4042,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4053,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4053,1
    - Dst: parameters::p::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4053,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4054,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4054,1
    - Dst: parameters::q::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4054,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4055,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4055,1
    - Dst: parameters::g::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4055,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4058,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4058,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4058,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4059,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4059,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4059,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4060,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4060,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4060,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4062,1
    - Dst: New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4062,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4063,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4063,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4063,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4065,1
    - Dst: DSA_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4065,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4067,1
    - Dst: DSA_set0_pqg
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4067,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4067,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4067,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4067,1
    - Dst: OpenSSL_bignum::Bignum::ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4069,1
    - Dst: ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4070,1
    - Dst: ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4071,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4073,1
    - Dst: DSA_set0_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4073,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4073,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4073,1
    - Dst: ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4074,1
    - Dst: ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4075,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4077,1
    - Dst: DSA_size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4077,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4078,1
    - Dst: DSA_sign
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4078,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4080,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4080,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4086,1
    - Dst: d2i_DSA_SIG
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4086,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4088,1
    - Dst: DSA_SIG_get0
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4088,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4091,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4091,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4093,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4095,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4095,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4097,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4099,1
    - Dst: DSA_generate_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4099,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4101,1
    - Dst: DSA_get0_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4101,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4102,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4102,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4104,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4106,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4110,1
    - Dst: DSA_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4110,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4111,1
    - Dst: DSA_SIG_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4111,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_Sign
    constantsTouched: []
    func_position:
      end: 4117
      start: 4040
    functionDepth: 3
    functionLinenumber: 4040
    functionLinenumberEnd: 4117
    functionName: cryptofuzz::module::OpenSSL::OpDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - DSA_free
    - OpenSSL_bignum::Bignum::GetDestPtr
    - OPENSSL_free
    - DSA_generate_key
    - cleartext::GetPtr
    - DSA_SIG_free
    - BN_num_bits
    - parameters::p::ToString
    - d2i_DSA_SIG
    - OpenSSL_bignum::Bignum::GetPtr
    - DSA_size
    - OpenSSL_bignum::Bignum::ReleaseOwnership
    - modifier::GetPtr
    - DSA_sign
    - GetPtr
    - priv::ToString
    - New
    - DSA_set0_key
    - cryptofuzz::tests::test_ECDSA_Signature
    - OpenSSL_bignum::Bignum::Set
    - GetDestPtr
    - DSA_set0_pqg
    - CF_CHECK_EQ
    - CF_CHECK_LTE
    - Set
    - parameters::g::ToString
    - DSA_get0_key
    - cryptofuzz::util::free
    - DSA_new
    - CF_CHECK_TRUE
    - ReleaseOwnership
    - cryptofuzz::util::malloc
    - parameters::q::ToString
    - cleartext::GetSize
    - CF_NORET
    - BN_bn2dec
    - CF_CHECK_NE
    - DSA_SIG_get0
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::DSA_Signature>
    signature: std::optional<component::DSA_Signature> OpenSSL::OpDSA_Sign(operation::DSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4121,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4121,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4131,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4131,1
    - Dst: parameters::p::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4131,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4132,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4132,1
    - Dst: parameters::q::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4132,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4133,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4133,1
    - Dst: parameters::g::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4133,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4134,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4134,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4134,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4135,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4135,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4135,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4136,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4136,1
    - Dst: pub::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4136,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4138,1
    - Dst: DSA_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4138,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4140,1
    - Dst: DSA_set0_pqg
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4140,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4140,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4140,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4140,1
    - Dst: OpenSSL_bignum::Bignum::ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4142,1
    - Dst: ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4143,1
    - Dst: ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4144,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4146,1
    - Dst: DSA_set0_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4146,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4146,1
    - Dst: ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4147,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4150,1
    - Dst: DSA_SIG_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4150,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4152,1
    - Dst: DSA_SIG_set0
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4152,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4152,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4152,1
    - Dst: ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4153,1
    - Dst: ReleaseOwnership
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4154,1
    - Dst: i2d_DSA_SIG
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4156,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4157,1
    - Dst: DSA_verify
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4159,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4161,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4161,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4165,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4171,1
    - Dst: DSA_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4171,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4172,1
    - Dst: DSA_SIG_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4172,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_Verify
    constantsTouched: []
    func_position:
      end: 4178
      start: 4119
    functionDepth: 2
    functionLinenumber: 4119
    functionLinenumberEnd: 4178
    functionName: cryptofuzz::module::OpenSSL::OpDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - DSA_free
    - OpenSSL_bignum::Bignum::GetDestPtr
    - OPENSSL_free
    - cleartext::GetPtr
    - DSA_SIG_free
    - parameters::p::ToString
    - DSA_verify
    - DSA_SIG_new
    - signature::second::ToString
    - OpenSSL_bignum::Bignum::ReleaseOwnership
    - modifier::GetPtr
    - DSA_set0_key
    - OpenSSL_bignum::Bignum::Set
    - i2d_DSA_SIG
    - GetDestPtr
    - DSA_set0_pqg
    - CF_CHECK_EQ
    - Set
    - parameters::g::ToString
    - pub::ToString
    - DSA_new
    - ReleaseOwnership
    - CF_NORET
    - parameters::q::ToString
    - cleartext::GetSize
    - DSA_SIG_set0
    - CF_CHECK_NE
    - modifier::GetSize
    - CF_CHECK_GT
    - signature::first::ToString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpenSSL::OpDSA_Verify(operation::DSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4182,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4182,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4193,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4193,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4194,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4194,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4195,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4196,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4196,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4199,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4199,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4199,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4200,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4200,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4202,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4202,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4202,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4203,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4203,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4205,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4205,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4205,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4207,1
    - Dst: EC_POINT_add
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4207,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4207,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4207,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4207,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4207,1
    - Dst: std::unique_ptr::IsProjective
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4209,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4211,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4211,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4211,1
    - Dst: OpenSSL_bignum::BN_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4211,1
    - Dst: IsProjective
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4216,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4218,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4218,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4218,1
    - Dst: OpenSSL_bignum::BN_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4218,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4227,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4227,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4228,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4228,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4231,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4231,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4231,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4231,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4231,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4231,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4233,1
    - Dst: EC_POINT_get_affine_coordinates_GFp
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4233,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4233,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4233,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4233,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4233,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4237,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4237,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4237,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4238,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4238,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4238,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4240,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4240,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4244,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4245,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 4250
      start: 4180
    functionDepth: 2
    functionLinenumber: 4180
    functionLinenumberEnd: 4250
    functionName: cryptofuzz::module::OpenSSL::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - OpenSSL_bignum::Bignum::GetDestPtr
    - std::shared_ptr::Lock
    - std::unique_ptr::IsProjective
    - OPENSSL_free
    - std::string
    - OpenSSL_bignum::BN_CTX::GetPtr
    - EC_POINT_add
    - OpenSSL_bignum::Bignum::GetPtr
    - std::shared_ptr::GetPtr
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - GetPtr
    - EC_POINT_get_affine_coordinates
    - EC_POINT_get_affine_coordinates_GFp
    - std::unique_ptr::Set
    - EC_POINT_is_on_curve
    - CF_CHECK_EQ
    - Set
    - CF_CHECK_TRUE
    - BN_bn2dec
    - CF_CHECK_NE
    - OpenSSL_bignum::Bignum::New
    - IsProjective
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> OpenSSL::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4254,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4254,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4266,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4266,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4267,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4267,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4268,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4269,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4269,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4272,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4272,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4272,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4273,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4273,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4275,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4275,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4275,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4277,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4277,1
    - Dst: b::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4277,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4283,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4288,1
    - Dst: EC_GROUP_precompute_mult
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4288,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4288,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4293,1
    - Dst: EC_POINT_mul
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4293,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4293,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4293,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4293,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4293,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4295,1
    - Dst: std::unique_ptr::IsProjective
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4296,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4297,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4298,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4298,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4298,1
    - Dst: std::unique_ptr::IsProjective
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4306,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4309,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4309,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4309,1
    - Dst: OpenSSL_bignum::BN_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4309,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4310,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4311,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4311,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4311,1
    - Dst: OpenSSL_bignum::BN_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4311,1
    - Dst: std::unique_ptr::IsProjective
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4318,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4320,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4320,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4320,1
    - Dst: OpenSSL_bignum::BN_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4320,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4325,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4328,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4329,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 4334
      start: 4252
    functionDepth: 2
    functionLinenumber: 4252
    functionLinenumberEnd: 4334
    functionName: cryptofuzz::module::OpenSSL::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - std::shared_ptr::Lock
    - std::unique_ptr::IsProjective
    - OPENSSL_free
    - OpenSSL_bignum::BN_CTX::GetPtr
    - CF_ASSERT
    - OpenSSL_bignum::Bignum::GetPtr
    - std::shared_ptr::GetPtr
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - GetPtr
    - EC_POINT_mul
    - Datasource::Get
    - OpenSSL_bignum::Bignum::Set
    - std::unique_ptr::Set
    - EC_POINT_is_on_curve
    - CF_CHECK_EQ
    - b::ToTrimmedString
    - EC_GROUP_precompute_mult
    - EC_POINT_is_at_infinity
    - CF_CHECK_TRUE
    - CF_CHECK_NE
    - b::ToString
    - modifier::GetSize
    - Get
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> OpenSSL::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4338,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4338,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4347,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4347,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4348,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4348,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4349,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4350,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4350,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4353,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4353,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4353,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4354,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4354,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4356,1
    - Dst: EC_POINT_invert
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4356,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4356,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4356,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4362,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4362,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4363,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4363,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4366,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4366,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4366,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4366,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4366,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4366,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4368,1
    - Dst: EC_POINT_get_affine_coordinates_GFp
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4368,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4368,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4368,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4368,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4368,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4372,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4372,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4372,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4373,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4373,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4373,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4375,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4375,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4379,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 4383
      start: 4336
    functionDepth: 2
    functionLinenumber: 4336
    functionLinenumberEnd: 4383
    functionName: cryptofuzz::module::OpenSSL::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - OpenSSL_bignum::Bignum::GetDestPtr
    - std::shared_ptr::Lock
    - OPENSSL_free
    - std::string
    - OpenSSL_bignum::Bignum::GetPtr
    - std::shared_ptr::GetPtr
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - EC_POINT_get_affine_coordinates
    - EC_POINT_get_affine_coordinates_GFp
    - std::unique_ptr::Set
    - CF_CHECK_EQ
    - EC_POINT_invert
    - CF_CHECK_TRUE
    - BN_bn2dec
    - CF_CHECK_NE
    - OpenSSL_bignum::Bignum::New
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> OpenSSL::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4387,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4387,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4398,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4398,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4399,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4399,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4400,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4401,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4401,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4404,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4404,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4404,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4405,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4405,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4407,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4407,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4407,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4409,1
    - Dst: EC_POINT_dbl
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4409,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4409,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4409,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4409,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4415,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4415,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4416,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4416,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4419,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4419,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4419,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4419,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4419,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4419,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4421,1
    - Dst: EC_POINT_get_affine_coordinates_GFp
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4421,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4421,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4421,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4421,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4421,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4425,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4425,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4425,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4426,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4426,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4426,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4428,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4428,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4432,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 4438
      start: 4385
    functionDepth: 2
    functionLinenumber: 4385
    functionLinenumberEnd: 4438
    functionName: cryptofuzz::module::OpenSSL::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - OpenSSL_bignum::Bignum::GetDestPtr
    - std::shared_ptr::Lock
    - OPENSSL_free
    - std::string
    - OpenSSL_bignum::Bignum::GetPtr
    - std::shared_ptr::GetPtr
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - EC_POINT_dbl
    - GetPtr
    - EC_POINT_get_affine_coordinates
    - EC_POINT_get_affine_coordinates_GFp
    - std::unique_ptr::Set
    - CF_CHECK_EQ
    - CF_CHECK_TRUE
    - BN_bn2dec
    - CF_CHECK_NE
    - OpenSSL_bignum::Bignum::New
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> OpenSSL::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4442,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4442,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4451,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4451,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4452,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4452,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4453,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4454,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4454,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4457,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4457,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4457,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4458,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4458,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4460,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4460,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4460,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4461,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4461,1
    - Dst: EC_POINT_cmp
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4463,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4463,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4463,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Cmp
    constantsTouched: []
    func_position:
      end: 4469
      start: 4440
    functionDepth: 2
    functionLinenumber: 4440
    functionLinenumberEnd: 4469
    functionName: cryptofuzz::module::OpenSSL::OpECC_Point_Cmp
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<CF_EC_GROUP>
    - toCurveNID
    - std::make_unique<CF_EC_POINT>
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - std::unique_ptr::Set
    - EC_POINT_cmp
    - std::unique_ptr::GetPtr
    - std::shared_ptr::Lock
    - Set
    - GetPtr
    - CF_CHECK_NE
    - modifier::GetSize
    - std::shared_ptr::GetPtr
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpenSSL::OpECC_Point_Cmp(operation::ECC_Point_Cmp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4475,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4475,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4479,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4481,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4489,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4489,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4505,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4505,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4506,1
    - Dst: OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4506,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4507,1
    - Dst: OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4507,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4508,1
    - Dst: OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4508,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4509,1
    - Dst: OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4509,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4511,1
    - Dst: OpenSSL_bignum::Bignum::Randomize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4511,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4512,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4512,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4512,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4514,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4514,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4514,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4516,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4516,1
    - Dst: modulo::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4516,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4518,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4518,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4518,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4519,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4519,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4519,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4521,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4522,1
    - Dst: std::make_unique<OpenSSL_bignum::Add>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4523,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4525,1
    - Dst: std::make_unique<OpenSSL_bignum::Sub>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4526,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4528,1
    - Dst: std::make_unique<OpenSSL_bignum::Mul>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4529,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4531,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4532,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4534,1
    - Dst: std::make_unique<OpenSSL_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4535,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4537,1
    - Dst: std::make_unique<OpenSSL_bignum::Sqr>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4538,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4540,1
    - Dst: std::make_unique<OpenSSL_bignum::GCD>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4541,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4543,1
    - Dst: std::make_unique<OpenSSL_bignum::AddMod>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4544,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4546,1
    - Dst: std::make_unique<OpenSSL_bignum::SubMod>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4547,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4549,1
    - Dst: std::make_unique<OpenSSL_bignum::MulMod>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4550,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4552,1
    - Dst: std::make_unique<OpenSSL_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4553,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4555,1
    - Dst: std::make_unique<OpenSSL_bignum::InvMod>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4556,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4558,1
    - Dst: std::make_unique<OpenSSL_bignum::Cmp>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4559,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4561,1
    - Dst: std::make_unique<OpenSSL_bignum::Div>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4562,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4564,1
    - Dst: std::make_unique<OpenSSL_bignum::IsPrime>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4565,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4567,1
    - Dst: std::make_unique<OpenSSL_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4569,1
    - Dst: std::make_unique<OpenSSL_bignum::SqrtMod>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4571,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4574,1
    - Dst: std::make_unique<OpenSSL_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4575,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4577,1
    - Dst: std::make_unique<OpenSSL_bignum::IsEq>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4578,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4580,1
    - Dst: std::make_unique<OpenSSL_bignum::IsEven>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4581,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4583,1
    - Dst: std::make_unique<OpenSSL_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4584,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4586,1
    - Dst: std::make_unique<OpenSSL_bignum::IsZero>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4587,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4589,1
    - Dst: std::make_unique<OpenSSL_bignum::IsOne>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4590,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4592,1
    - Dst: std::make_unique<OpenSSL_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4593,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4596,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_192>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4597,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4599,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_224>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4600,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4602,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_256>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4603,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4605,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_384>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4606,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4608,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_521>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4609,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4613,1
    - Dst: std::make_unique<OpenSSL_bignum::LCM>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4614,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4617,1
    - Dst: std::make_unique<OpenSSL_bignum::Exp>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4618,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4620,1
    - Dst: std::make_unique<OpenSSL_bignum::Abs>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4621,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4623,1
    - Dst: std::make_unique<OpenSSL_bignum::RShift>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4624,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4626,1
    - Dst: std::make_unique<OpenSSL_bignum::LShift1>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4627,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4629,1
    - Dst: std::make_unique<OpenSSL_bignum::SetBit>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4630,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4632,1
    - Dst: std::make_unique<OpenSSL_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4633,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4635,1
    - Dst: std::make_unique<OpenSSL_bignum::Bit>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4636,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4638,1
    - Dst: std::make_unique<OpenSSL_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4639,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4641,1
    - Dst: std::make_unique<OpenSSL_bignum::ModLShift>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4642,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4644,1
    - Dst: std::make_unique<OpenSSL_bignum::IsPow2>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4645,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4647,1
    - Dst: std::make_unique<OpenSSL_bignum::Mask>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4648,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4650,1
    - Dst: std::make_unique<OpenSSL_bignum::IsCoprime>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4651,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4653,1
    - Dst: std::make_unique<OpenSSL_bignum::Rand>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4654,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4656,1
    - Dst: std::make_unique<OpenSSL_bignum::IsSquare>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4657,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4659,1
    - Dst: std::make_unique<OpenSSL_bignum::Neg>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4660,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4662,1
    - Dst: std::make_unique<OpenSSL_bignum::RandRange>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4663,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4667,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4668,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4668,1
    - Dst: OpenSSL_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/openssl/module.cpp:4670,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 180
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 4677
      start: 4471
    functionDepth: 2
    functionLinenumber: 4471
    functionLinenumberEnd: 4677
    functionName: cryptofuzz::module::OpenSSL::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<OpenSSL_bignum::Add>
    - std::make_unique<OpenSSL_bignum::RShift>
    - std::make_unique<OpenSSL_bignum::Bit>
    - OpenSSL_bignum::Bignum::ToComponentBignum
    - std::make_unique<OpenSSL_bignum::Mod_NIST_256>
    - std::make_unique<OpenSSL_bignum::Rand>
    - modulo::ToString
    - std::make_unique<OpenSSL_bignum::Mod_NIST_384>
    - std::make_unique<OpenSSL_bignum::GCD>
    - std::make_unique<OpenSSL_bignum::RandRange>
    - OpenSSL_bignum::BignumCluster::New
    - std::make_unique<OpenSSL_bignum::Div>
    - std::make_unique<OpenSSL_bignum::ModLShift>
    - std::make_unique<OpenSSL_bignum::IsPow2>
    - std::make_unique<OpenSSL_bignum::CmpAbs>
    - std::make_unique<OpenSSL_bignum::IsOdd>
    - std::make_unique<OpenSSL_bignum::InvMod>
    - std::make_unique<OpenSSL_bignum::IsNeg>
    - std::make_unique<OpenSSL_bignum::IsZero>
    - CF_CALCOP
    - std::make_unique<OpenSSL_bignum::SqrtMod>
    - std::make_unique<OpenSSL_bignum::Mask>
    - std::make_unique<OpenSSL_bignum::Abs>
    - std::make_unique<OpenSSL_bignum::Sub>
    - bn2::ToString
    - modifier::GetPtr
    - OpenSSL_bignum::BignumCluster::Set
    - std::make_unique<OpenSSL_bignum::ExpMod>
    - std::make_unique<OpenSSL_bignum::Cmp>
    - std::make_unique<OpenSSL_bignum::LShift1>
    - OpenSSL_bignum::Bignum::Randomize
    - bn0::ToString
    - std::make_unique<OpenSSL_bignum::AddMod>
    - std::make_unique<OpenSSL_bignum::SubMod>
    - std::make_unique<OpenSSL_bignum::Mod_NIST_224>
    - std::make_unique<OpenSSL_bignum::IsEq>
    - std::make_unique<OpenSSL_bignum::Mod_NIST_521>
    - bn3::ToString
    - std::make_unique<OpenSSL_bignum::SetBit>
    - std::make_unique<OpenSSL_bignum::Neg>
    - std::make_unique<OpenSSL_bignum::Sqrt>
    - CF_CHECK_EQ
    - std::make_unique<OpenSSL_bignum::SqrMod>
    - std::make_unique<OpenSSL_bignum::IsPrime>
    - std::make_unique<OpenSSL_bignum::Jacobi>
    - std::make_unique<OpenSSL_bignum::Mod>
    - std::make_unique<OpenSSL_bignum::IsOne>
    - std::make_unique<OpenSSL_bignum::ClearBit>
    - bn1::ToString
    - calcOp::Get
    - std::make_unique<OpenSSL_bignum::Mul>
    - std::make_unique<OpenSSL_bignum::LCM>
    - std::make_unique<OpenSSL_bignum::Exp>
    - std::make_unique<OpenSSL_bignum::IsCoprime>
    - CF_NORET
    - modulo::ToTrimmedString
    - std::make_unique<OpenSSL_bignum::Mod_NIST_192>
    - std::make_unique<OpenSSL_bignum::IsEven>
    - CF_CHECK_NE
    - std::unique_ptr::Run
    - OpenSSL_bignum::Bignum::New
    - std::make_unique<OpenSSL_bignum::MulMod>
    - std::make_unique<OpenSSL_bignum::IsSquare>
    - std::make_unique<OpenSSL_bignum::Sqr>
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpenSSL::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4681
      start: 4679
    functionDepth: 0
    functionLinenumber: 4679
    functionLinenumberEnd: 4681
    functionName: cryptofuzz::module::OpenSSL::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool OpenSSL::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:22,1
    - Dst: newCTX
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:26,1
    - Dst: copyCTX
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:28,1
    - Dst: freeCTX
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:30,1
    - Dst: freeCTX
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::CTX_Copier::copy
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - copyCTX
    - freeCTX
    - newCTX
    - Get
    linkageType: ''
    returnType: T
    signature: T * copy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newCTX
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:46,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: cryptofuzz::module::CTX_Copier::CTX_Copier
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - newCTX
    linkageType: ''
    returnType: void
    signature: void CTX_Copier(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CTX_Copier::copy
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: cryptofuzz::module::CTX_Copier::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CTX_Copier::copy
    linkageType: ''
    returnType: T
    signature: T * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freeCTX
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: ~CTX_Copier()
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - freeCTX
    linkageType: ''
    returnType: void
    signature: void ~CTX_Copier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::EC_GROUP_Copier::newGroup
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 2
    functionsReached:
    - EC_GROUP_new_by_curve_name
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP * newGroup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_copy
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: cryptofuzz::module::EC_GROUP_Copier::copyGroup
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - EC_GROUP_copy
    linkageType: ''
    returnType: int
    signature: int copyGroup(EC_GROUP* dest, EC_GROUP* src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_free
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: cryptofuzz::module::EC_GROUP_Copier::freeGroup
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - EC_GROUP_free
    linkageType: ''
    returnType: void
    signature: void freeGroup(EC_GROUP* group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:83,1
    - Dst: cryptofuzz::module::EC_GROUP_Copier::newGroup
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:88,1
    - Dst: cryptofuzz::module::EC_GROUP_Copier::copyGroup
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:90,1
    - Dst: cryptofuzz::module::EC_GROUP_Copier::freeGroup
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:92,1
    - Dst: cryptofuzz::module::EC_GROUP_Copier::freeGroup
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::EC_GROUP_Copier::copy
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::EC_GROUP_Copier::freeGroup
    - cryptofuzz::module::EC_GROUP_Copier::copyGroup
    - Get
    - cryptofuzz::module::EC_GROUP_Copier::newGroup
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP * copy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_GROUP_Copier::newGroup
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - curveNID
    argTypes:
    - Datasource
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: cryptofuzz::module::EC_GROUP_Copier::EC_GROUP_Copier
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_GROUP_Copier::newGroup
    linkageType: ''
    returnType: void
    signature: void EC_GROUP_Copier(Datasource& ds, const int curveNID)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: cryptofuzz::module::EC_GROUP_Copier::Lock
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_GROUP_Copier::copy
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: cryptofuzz::module::EC_GROUP_Copier::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_GROUP_Copier::copy
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freeGroup
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: ~EC_GROUP_Copier()
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - freeGroup
    linkageType: ''
    returnType: void
    signature: void ~EC_GROUP_Copier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:138,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: cryptofuzz::module::EC_POINT_Copier::newPoint
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 2
    functionsReached:
    - EC_POINT_new
    - cryptofuzz::module::EC_POINT_Copier::GetPtr
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT * newPoint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_copy
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_POINT*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: cryptofuzz::module::EC_POINT_Copier::copyPoint
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - EC_POINT_copy
    linkageType: ''
    returnType: int
    signature: int copyPoint(EC_POINT* dest, EC_POINT* src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_free
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: cryptofuzz::module::EC_POINT_Copier::freePoint
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - EC_POINT_free
    linkageType: ''
    returnType: void
    signature: void freePoint(EC_POINT* point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::Get
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:152,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: cryptofuzz::module::EC_POINT_Copier::GetForm
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - CF_UNREACHABLE
    - cryptofuzz::module::EC_POINT_Copier::Get
    linkageType: ''
    returnType: point_conversion_form_t
    signature: point_conversion_form_t GetForm(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::Get
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:171,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::newPoint
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:175,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::copyPoint
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:177,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::freePoint
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:179,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::freePoint
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 191
    functionName: cryptofuzz::module::EC_POINT_Copier::copy
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::Get
    - cryptofuzz::module::EC_POINT_Copier::freePoint
    - cryptofuzz::module::EC_POINT_Copier::copyPoint
    - cryptofuzz::module::EC_POINT_Copier::newPoint
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT * copy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::Get
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:206,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:211,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:211,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:214,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:214,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:221,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:221,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:221,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:221,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:221,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:221,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:223,1
    - Dst: EC_POINT_set_affine_coordinates_GFp
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:223,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:223,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:223,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:223,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:223,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:227,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:230,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:230,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:232,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:232,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:234,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:234,1
    - Dst: cryptofuzz::util::ToRandomProjective
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:236,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:238,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:239,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:241,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:241,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:242,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:242,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:243,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:243,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:244,1
    - Dst: EC_POINT_set_Jprojective_coordinates_GFp
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:244,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:244,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:244,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:244,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:244,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:244,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:253,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:253,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:253,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:253,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:261,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - OpenSSL_bignum::Bignum
    - OpenSSL_bignum::Bignum
    constantsTouched: []
    func_position:
      end: 264
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 264
    functionName: cryptofuzz::module::EC_POINT_Copier::set
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - OpenSSL_bignum::Bignum::Set
    - EC_POINT_set_Jprojective_coordinates_GFp
    - CF_CHECK_TRUE
    - BN_bn2dec
    - CF_CHECK_EQ
    - EC_POINT_is_on_curve
    - EC_POINT_set_affine_coordinates
    - OPENSSL_free
    - std::string
    - CF_CHECK_NE
    - cryptofuzz::util::ToRandomProjective
    - OpenSSL_bignum::Bignum::New
    - CF_UNREACHABLE
    - cryptofuzz::module::EC_POINT_Copier::Get
    - EC_POINT_set_affine_coordinates_GFp
    - OpenSSL_bignum::Bignum::GetPtr
    - cryptofuzz::module::EC_POINT_Copier::GetPtr
    linkageType: ''
    returnType: bool
    signature: bool set(OpenSSL_bignum::Bignum& pub_x, OpenSSL_bignum::Bignum& pub_y,
      const bool allowProjective = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_METHOD_get_field_type
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:271,1
    - Dst: EC_GROUP_method_of
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:271,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:271,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:273,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:273,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:279,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:286,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:291,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:291,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:297,1
    - Dst: cryptofuzz::repository::ECC_CurveToPrime
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:303,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:304,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:305,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:305,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:310,1
    - Dst: EC_GROUP_get0_field
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:311,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:311,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:313,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:313,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:313,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:316,1
    - Dst: BN_mod
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:316,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:316,1
    - Dst: OpenSSL_bignum::BN_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:316,1
    - Dst: BN_is_bit_set
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:320,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:320,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:324,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:326,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:326,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:332,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:332,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:333,1
    - Dst: BN_GF2m_mod_div
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:333,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:333,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:333,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:333,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:333,1
    - Dst: OpenSSL_bignum::BN_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:333,1
    - Dst: BN_is_bit_set
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:335,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:335,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:341,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:341,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:341,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:341,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:341,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:343,1
    - Dst: EC_POINT_set_compressed_coordinates_GFp
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:343,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:343,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:343,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:343,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:346,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:347,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:347,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:347,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - OpenSSL_bignum::Bignum
    - OpenSSL_bignum::Bignum
    constantsTouched: []
    func_position:
      end: 353
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 353
    functionName: cryptofuzz::module::EC_POINT_Copier::set_compressed
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToPrime
    - BN_is_bit_set
    - BN_copy
    - OpenSSL_bignum::Bignum::GetDestPtr
    - OpenSSL_bignum::BN_CTX::GetPtr
    - CF_UNREACHABLE
    - CF_ASSERT
    - OpenSSL_bignum::Bignum::GetPtr
    - cryptofuzz::module::EC_POINT_Copier::GetPtr
    - EC_POINT_set_compressed_coordinates_GFp
    - EC_POINT_set_compressed_coordinates
    - EC_GROUP_get_field_type
    - OpenSSL_bignum::Bignum::Set
    - GetDestPtr
    - EC_POINT_is_on_curve
    - CF_CHECK_EQ
    - BN_mod
    - EC_GROUP_method_of
    - BN_GF2m_mod_div
    - CF_CHECK_TRUE
    - EC_GROUP_get0_field
    - EC_METHOD_get_field_type
    - cryptofuzz::module::EC_POINT_Copier::set
    - CF_CHECK_NE
    - OpenSSL_bignum::Bignum::New
    - BN_is_zero
    linkageType: ''
    returnType: bool
    signature: bool set_compressed(OpenSSL_bignum::Bignum& pub_x, OpenSSL_bignum::Bignum&
      pub_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::newPoint
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:358,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - group
    - curveType
    argTypes:
    - Datasource
    - std::shared_ptr<EC_GROUP_Copier>
    - uint64_t
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: cryptofuzz::module::EC_POINT_Copier::EC_POINT_Copier
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - cryptofuzz::module::EC_POINT_Copier::newPoint
    linkageType: ''
    returnType: void
    signature: void EC_POINT_Copier(Datasource& ds, std::shared_ptr<EC_GROUP_Copier>
      group, const uint64_t curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::copy
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: cryptofuzz::module::EC_POINT_Copier::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 6
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::copy
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freePoint
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: ~EC_POINT_Copier()
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - freePoint
    linkageType: ''
    returnType: void
    signature: void ~EC_POINT_Copier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::Get
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:378,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::set_compressed
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:389,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - OpenSSL_bignum::Bignum
    - OpenSSL_bignum::Bignum
    constantsTouched: []
    func_position:
      end: 391
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 391
    functionName: cryptofuzz::module::EC_POINT_Copier::Set
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::set
    - cryptofuzz::module::EC_POINT_Copier::Get
    - cryptofuzz::module::EC_POINT_Copier::set_compressed
    linkageType: ''
    returnType: bool
    signature: "bool Set(\n                OpenSSL_bignum::Bignum& pub_x,\n                OpenSSL_bignum::Bignum&
      pub_y,\n                const bool allowCompressed = true,\n                const
      bool allowProjective = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:402,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:402,1
    - Dst: ToString
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:402,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:403,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::Set
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:403,1
    - Dst: ToString
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:403,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:405,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::Set
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 410
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 410
    functionName: cryptofuzz::module::EC_POINT_Copier::Set
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 2
    functionsReached:
    - OpenSSL_bignum::Bignum::Set
    - CF_CHECK_TRUE
    - CF_CHECK_EQ
    - cryptofuzz::module::EC_POINT_Copier::Set
    - ToString
    linkageType: ''
    returnType: bool
    signature: "bool Set(\n                const component::Bignum& pub_x,\n                const
      component::Bignum& pub_y,\n                const bool allowCompressed = true,\n
      \               const bool allowProjective = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:416,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:416,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:416,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:416,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:416,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:416,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:418,1
    - Dst: EC_POINT_get_affine_coordinates_GFp
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:418,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:418,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:418,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:418,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - OpenSSL_bignum::Bignum
    - OpenSSL_bignum::Bignum
    constantsTouched: []
    func_position:
      end: 424
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 424
    functionName: cryptofuzz::module::EC_POINT_Copier::Get
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 6
    functionsReached:
    - GetDestPtr
    - EC_POINT_get_affine_coordinates_GFp
    - CF_CHECK_NE
    - EC_POINT_get_affine_coordinates
    - cryptofuzz::module::EC_POINT_Copier::GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Get(OpenSSL_bignum::Bignum& pub_x, OpenSSL_bignum::Bignum& pub_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:435,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:435,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:436,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:436,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:438,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::Get
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:438,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:440,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:440,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:440,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:441,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:441,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:441,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:443,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:443,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:446,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 450
    functionName: cryptofuzz::module::EC_POINT_Copier::Get
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 7
    functionsReached:
    - CF_CHECK_TRUE
    - BN_bn2dec
    - CF_CHECK_EQ
    - OPENSSL_free
    - std::string
    - CF_CHECK_NE
    - OpenSSL_bignum::Bignum::New
    - cryptofuzz::module::EC_POINT_Copier::Get
    - OpenSSL_bignum::Bignum::GetPtr
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: cryptofuzz::module::EC_POINT_Copier::IsProjective
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsProjective(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 458
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: EVP_MD_CTX * CTX_Copier<EVP_MD_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:461,1
    - Dst: EVP_MD_CTX_init
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 464
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_init
    - malloc
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: EVP_MD_CTX * CTX_Copier<EVP_MD_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_copy
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<EVP_MD_CTX>::copyCTX(EVP_MD_CTX* dest, EVP_MD_CTX* src)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<EVP_MD_CTX>::freeCTX(EVP_MD_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_cleanup
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:472,1
    - Dst: free
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - free
    - EVP_MD_CTX_cleanup
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<EVP_MD_CTX>::freeCTX(EVP_MD_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: cryptofuzz::module::CTX_Copier<EVP_CIPHER_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    linkageType: ''
    returnType: EVP_CIPHER_CTX
    signature: EVP_CIPHER_CTX * CTX_Copier<EVP_CIPHER_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: cryptofuzz::module::CTX_Copier<EVP_CIPHER_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<EVP_CIPHER_CTX>::copyCTX(EVP_CIPHER_CTX* dest, EVP_CIPHER_CTX*
      src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: cryptofuzz::module::CTX_Copier<EVP_CIPHER_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<EVP_CIPHER_CTX>::copyCTX(EVP_CIPHER_CTX* dest, EVP_CIPHER_CTX*
      src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 481
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 481
    functionName: cryptofuzz::module::CTX_Copier<EVP_CIPHER_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<EVP_CIPHER_CTX>::freeCTX(EVP_CIPHER_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: cryptofuzz::module::CTX_Copier<HMAC_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - HMAC_CTX_new
    linkageType: ''
    returnType: HMAC_CTX
    signature: HMAC_CTX * CTX_Copier<HMAC_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_copy
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - HMAC_CTX*
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: cryptofuzz::module::CTX_Copier<HMAC_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - HMAC_CTX_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<HMAC_CTX>::copyCTX(HMAC_CTX* dest, HMAC_CTX* src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: cryptofuzz::module::CTX_Copier<HMAC_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - HMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<HMAC_CTX>::freeCTX(HMAC_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: cryptofuzz::module::CTX_Copier<CMAC_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - CMAC_CTX_new
    linkageType: ''
    returnType: CMAC_CTX
    signature: CMAC_CTX * CTX_Copier<CMAC_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_copy
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - CMAC_CTX*
    - CMAC_CTX*
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: cryptofuzz::module::CTX_Copier<CMAC_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - CMAC_CTX_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<CMAC_CTX>::copyCTX(CMAC_CTX* dest, CMAC_CTX* src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: cryptofuzz::module::CTX_Copier<CMAC_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - CMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<CMAC_CTX>::freeCTX(CMAC_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: cryptofuzz::module::CTX_Copier<EC_KEY>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_KEY_new
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY * CTX_Copier<EC_KEY>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_copy
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_KEY*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: cryptofuzz::module::CTX_Copier<EC_KEY>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_KEY_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<EC_KEY>::copyCTX(EC_KEY* dest, EC_KEY* src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/cryptofuzz/modules/openssl/module_internal.h:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: cryptofuzz::module::CTX_Copier<EC_KEY>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<EC_KEY>::freeCTX(EC_KEY* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::Lock
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::DisableFree
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DisableFree(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::OpenSSL_bignum::Bignum::Lock
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:42,1
    - Dst: cryptofuzz::module::OpenSSL_bignum::Bignum::DisableFree
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::ReleaseOwnership
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::OpenSSL_bignum::Bignum::Lock
    - cryptofuzz::module::OpenSSL_bignum::Bignum::DisableFree
    linkageType: ''
    returnType: void
    signature: void ReleaseOwnership(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:47,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:49,1
    - Dst: BN_new
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::New
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_new
    - CF_ASSERT
    - BN_free
    linkageType: ''
    returnType: bool
    signature: bool New(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:58,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:58,1
    - Dst: cryptofuzz::module::OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_copy
    - CF_CHECK_NE
    - cryptofuzz::module::OpenSSL_bignum::Bignum::GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Set(Bignum& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:66,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:70,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:70,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - CF_ASSERT
    - BN_dec2bn
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:80,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:90,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:90,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:92,1
    - Dst: BN_num_bytes
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:92,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:93,1
    - Dst: BN_bn2binpad
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:93,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:123,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:123,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:124,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:125,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::AsUint64
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_bn2binpad
    - ASN1_INTEGER_get_uint64
    - CF_CHECK_EQ
    - BN_num_bytes
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - BN_is_negative
    - ASN1_INTEGER_free
    - Get
    - BN_to_ASN1_INTEGER
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> AsUint64(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:144,1
    - Dst: cryptofuzz::util::HintBignumInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:144,1
    - Dst: cryptofuzz::module::OpenSSL_bignum::Bignum::AsUint64
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:147,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:149,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::AsInt
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_NORET
    - cryptofuzz::module::OpenSSL_bignum::Bignum::AsUint64
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - cryptofuzz::util::HintBignumInt
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> AsInt(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:162,1
    - Dst: cryptofuzz::module::OpenSSL_bignum::Bignum::AsUint64
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:162,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::AsBN_ULONG
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - CF_CHECK_NE
    - cryptofuzz::module::OpenSSL_bignum::Bignum::AsUint64
    linkageType: ''
    returnType: std::optional<BN_ULONG>
    signature: std::optional<BN_ULONG> AsBN_ULONG(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:177,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:178,1
    - Dst: cryptofuzz::module::OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:181,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::SetUint32
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - sprintf
    - cryptofuzz::module::OpenSSL_bignum::Bignum::Set
    - abort
    linkageType: ''
    returnType: void
    signature: void SetUint32(const uint32_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:189,1
    - Dst: BN_set_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::SetWord
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - BN_set_word
    linkageType: ''
    returnType: bool
    signature: bool SetWord(const BN_ULONG v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_flags
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:206,1
    - Dst: BN_set_flags
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:208,1
    - Dst: BN_dup
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:219,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:221,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:233,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:236,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:239,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:243,1
    - Dst: BN_to_ASN1_ENUMERATED
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:254,1
    - Dst: ASN1_ENUMERATED_to_BN
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:257,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:260,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:264,1
    - Dst: BN_bn2mpi
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:275,1
    - Dst: BN_bn2mpi
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:277,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:278,1
    - Dst: BN_new
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:279,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:280,1
    - Dst: BN_mpi2bn
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:280,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:281,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:281,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:282,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:283,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:290,1
    - Dst: BN_num_bytes
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:291,1
    - Dst: BN_bn2bin
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:293,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:294,1
    - Dst: BN_new
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:295,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:296,1
    - Dst: BN_bin2bn
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:296,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:297,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:297,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:298,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:299,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::GetDestPtr
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_copy
    - ASN1_ENUMERATED_free
    - BN_mpi2bn
    - BN_is_negative
    - BN_dup
    - CF_ASSERT
    - BN_to_ASN1_INTEGER
    - BN_bn2mpi
    - BN_to_ASN1_ENUMERATED
    - BN_bin2bn
    - BN_free
    - ASN1_INTEGER_to_BN
    - ASN1_ENUMERATED_to_BN
    - ASN1_INTEGER_free
    - cryptofuzz::util::free
    - BN_set_flags
    - BN_bn2bin
    - BN_new
    - BN_num_bytes
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetDestPtr(const bool allowDup = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::GetPtrConst
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetPtrConst(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::OpenSSL_bignum::Bignum::GetDestPtr
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetPtr(const bool allowDup = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:323,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:326,1
    - Dst: BN_bn2hex
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:326,1
    - Dst: cryptofuzz::module::OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:326,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:327,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:329,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:329,1
    - Dst: cryptofuzz::module::OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:329,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:330,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 336
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_bn2dec
    - cryptofuzz::module::OpenSSL_bignum::Bignum::GetPtr
    - OPENSSL_free
    - BN_bn2hex
    - std::string
    - CF_CHECK_NE
    - Get
    - cryptofuzz::util::HexToDec
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:343,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:343,1
    - Dst: cryptofuzz::module::OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:343,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:344,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::ToString
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_bn2dec
    - cryptofuzz::module::OpenSSL_bignum::Bignum::GetPtr
    - OPENSSL_free
    - std::string
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:354,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:357,1
    - Dst: BN_bin2bn
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:358,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:358,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 360
    functionName: cryptofuzz::module::OpenSSL_bignum::Bignum::Randomize
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::vector::data
    - std::vector::size
    - BN_bin2bn
    - GetData
    linkageType: ''
    returnType: void
    signature: void Randomize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:363,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:363,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: operator==(const Bignum& rhs) const
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtrConst
    - BN_cmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Bignum& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' ds'
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - Datasource
    - Bignum
    - Bignum
    - Bignum
    - Bignum
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: cryptofuzz::module::OpenSSL_bignum::BignumCluster::BignumCluster
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster(Datasource& ds, Bignum bn0, Bignum bn1, Bignum bn2,
      Bignum bn3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:379,1
    - Dst: size
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:379,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:383,1
    - Dst: Lock
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 403
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 403
    functionName: '& operator[](const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - Get
    - Lock
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & operator[](const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:406,1
    - Dst: size
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: '& Get(const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & Get(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: cryptofuzz::module::OpenSSL_bignum::BignumCluster::GetDestPtr
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetDestPtr(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:416,1
    - Dst: size
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:416,1
    - Dst: cryptofuzz::module::OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: cryptofuzz::module::OpenSSL_bignum::BignumCluster::New
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 1
    functionsReached:
    - CF_ASSERT
    - cryptofuzz::module::OpenSSL_bignum::BignumCluster::New
    - size
    linkageType: ''
    returnType: bool
    signature: bool New(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:422,1
    - Dst: size
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:422,1
    - Dst: cryptofuzz::module::OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - s
    argTypes:
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: cryptofuzz::module::OpenSSL_bignum::BignumCluster::Set
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 1
    functionsReached:
    - CF_ASSERT
    - cryptofuzz::module::OpenSSL_bignum::BignumCluster::Set
    - size
    linkageType: ''
    returnType: bool
    signature: bool Set(const size_t index, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:428,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:432,1
    - Dst: Lock
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:435,1
    - Dst: cryptofuzz::module::OpenSSL_bignum::BignumCluster::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: cryptofuzz::module::OpenSSL_bignum::BignumCluster::GetResPtr
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::OpenSSL_bignum::BignumCluster::GetDestPtr
    - CF_ASSERT
    - Get
    - Lock
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetResPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:440,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:442,1
    - Dst: cryptofuzz::module::OpenSSL_bignum::BignumCluster::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:443,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:445,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: cryptofuzz::module::OpenSSL_bignum::BignumCluster::CopyResult
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtr
    - BN_copy
    - cryptofuzz::module::OpenSSL_bignum::BignumCluster::GetDestPtr
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void CopyResult(Bignum& res)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:454,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: cryptofuzz::module::OpenSSL_bignum::BN_CTX::BN_CTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_CTX_new
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void BN_CTX(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: cryptofuzz::module::OpenSSL_bignum::BN_CTX::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::BN_CTX
    signature: ::BN_CTX * GetPtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 467
    functionName: ~BN_CTX()
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~BN_CTX()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_new
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:474,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 479
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionName: cryptofuzz::module::OpenSSL_bignum::BN_MONT_CTX::BN_MONT_CTX
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - BN_MONT_CTX_new
    linkageType: ''
    returnType: void
    signature: void BN_MONT_CTX(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: cryptofuzz::module::OpenSSL_bignum::BN_MONT_CTX::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::BN_MONT_CTX
    signature: ::BN_MONT_CTX * GetPtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.h:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: ~BN_MONT_CTX()
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~BN_MONT_CTX()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 493
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: cryptofuzz::module::Goldilocks::Goldilocks
    functionSourceFile: /src/cryptofuzz/modules/goldilocks/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Goldilocks::Goldilocks(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:22,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:27,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:29,1
    - Dst: ::Goldilocks::fromU64
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:30,1
    - Dst: ::Goldilocks::fromString
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:35,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' ds'
    - ' bn'
    argTypes:
    - fuzzing::datasource::Datasource
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 36
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 36
    functionName: cryptofuzz::module::Goldilocks_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/goldilocks/module.cpp
    functionUses: 0
    functionsReached:
    - ::Goldilocks::fromString
    - std::to_string
    - ::Goldilocks::fromU64
    - ToTrimmedString
    - Get
    linkageType: ''
    returnType: ::Goldilocks::Element
    signature: "::Goldilocks::Element Load(\n            fuzzing::datasource::Datasource&
      ds,\n            const component::Bignum& bn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::Goldilocks::fromU64
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:50,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:50,1
    - Dst: ::Goldilocks::load_avx
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' ds'
    - ' el'
    - index
    argTypes:
    - fuzzing::datasource::Datasource
    - ::Goldilocks::Element
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::Goldilocks_detail::LoadAVX
    functionSourceFile: /src/cryptofuzz/modules/goldilocks/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - ::Goldilocks::fromU64
    - ::Goldilocks::load_avx
    linkageType: ''
    returnType: __m256i
    signature: "__m256i LoadAVX(\n            fuzzing::datasource::Datasource& ds,\n
      \           const ::Goldilocks::Element& el,\n            const size_t index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::Goldilocks::fromU64
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:74,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:74,1
    - Dst: ::Goldilocks::load_avx512
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' ds'
    - ' el'
    - index
    argTypes:
    - fuzzing::datasource::Datasource
    - ::Goldilocks::Element
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 83
    functionName: cryptofuzz::module::Goldilocks_detail::LoadAVX512
    functionSourceFile: /src/cryptofuzz/modules/goldilocks/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - ::Goldilocks::load_avx512
    - ::Goldilocks::fromU64
    linkageType: ''
    returnType: __m512i
    signature: "__m512i LoadAVX512(\n            fuzzing::datasource::Datasource&
      ds,\n            const ::Goldilocks::Element& el,\n            const size_t
      index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:89,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:89,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:95,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:102,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:104,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:111,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:115,1
    - Dst: cryptofuzz::module::Goldilocks_detail::Load
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:119,1
    - Dst: cryptofuzz::module::Goldilocks_detail::Load
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:120,1
    - Dst: cryptofuzz::module::Goldilocks_detail::LoadAVX
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:128,1
    - Dst: cryptofuzz::module::Goldilocks_detail::LoadAVX
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:129,1
    - Dst: cryptofuzz::module::Goldilocks_detail::LoadAVX512
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:131,1
    - Dst: cryptofuzz::module::Goldilocks_detail::LoadAVX512
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:132,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:137,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:138,1
    - Dst: ::Goldilocks::add_avx
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:142,1
    - Dst: ::Goldilocks::add_avx512
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:146,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:151,1
    - Dst: ::Goldilocks::sub_avx
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:155,1
    - Dst: ::Goldilocks::sub_avx512
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:159,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:164,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:165,1
    - Dst: ::Goldilocks::isZero
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:165,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:168,1
    - Dst: ::Goldilocks::mult_avx
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:172,1
    - Dst: ::Goldilocks::mult_avx512
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:176,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:181,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:182,1
    - Dst: ::Goldilocks::isZero
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:182,1
    - Dst: cryptofuzz_secp256k1_fe_inv
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:183,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:185,1
    - Dst: Botan::fsquare
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:187,1
    - Dst: ::Goldilocks::square_avx
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:189,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:193,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:194,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:194,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:196,1
    - Dst: ::Goldilocks::isZero
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:197,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:197,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:197,1
    - Dst: ::Goldilocks::store_avx
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:205,1
    - Dst: ::Goldilocks::store_avx512
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:210,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:219,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:223,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:223,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:225,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:225,1
    - Dst: ::Goldilocks::toU64
      Src: /src/cryptofuzz/modules/goldilocks/module.cpp:225,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 115
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 231
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 231
    functionName: cryptofuzz::module::Goldilocks::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/goldilocks/module.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - cryptofuzz::module::Goldilocks_detail::LoadAVX
    - Botan::fsquare
    - ::Goldilocks::add_avx
    - cryptofuzz_secp256k1_scalar_is_zero
    - cryptofuzz::crypto::impl::sha1_done
    - ::Goldilocks::mult_avx512
    - CF_CALCOP
    - ::Goldilocks::square_avx
    - modifier::GetPtr
    - cryptofuzz::module::BearSSL_detail::toString
    - cryptofuzz::module::Goldilocks_detail::LoadAVX512
    - getBignum
    - ::Goldilocks::sub_avx512
    - ::Goldilocks::isZero
    - Datasource::Get
    - ::Goldilocks::toU64
    - ::Goldilocks::mult_avx
    - ::Goldilocks::add_avx512
    - CF_CHECK_FALSE
    - cryptofuzz::module::Goldilocks_detail::Load
    - ::Goldilocks::sub_avx
    - calcOp::Get
    - ::Goldilocks::store_avx
    - modulo::ToTrimmedString
    - cryptofuzz_secp256k1_fe_inv
    - ::Goldilocks::store_avx512
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Goldilocks::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: cryptofuzz::module::Goldilocks::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/goldilocks/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Goldilocks::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:14,1
    - Dst: core_get
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: cryptofuzz::module::chia_bls::chia_bls
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - core_get
    linkageType: ''
    returnType: void
    signature: void chia_bls::chia_bls(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep_norm
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:22,1
    - Dst: fp_write_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:24,1
    - Dst: fp_write_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - g1
    argTypes:
    - g1_t
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: cryptofuzz::module::chia_bls_detail::G1_To_Component
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - fp_write_str
    - ep_norm
    linkageType: ''
    returnType: component::G1
    signature: component::G1 G1_To_Component(g1_t g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToNative
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:32,1
    - Dst: cryptofuzz::module::chia_bls_detail::G1_To_Component
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' g1El'
    argTypes:
    - bls::G1Element
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: cryptofuzz::module::chia_bls_detail::G1_To_Component
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::chia_bls_detail::G1_To_Component
    - ToNative
    linkageType: ''
    returnType: component::G1
    signature: component::G1 G1_To_Component(const bls::G1Element& g1El)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_write_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:43,1
    - Dst: fp_write_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:44,1
    - Dst: fp_write_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:45,1
    - Dst: fp_write_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - g2
    argTypes:
    - g2_t
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: cryptofuzz::module::chia_bls_detail::G2_To_Component
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - fp_write_str
    linkageType: ''
    returnType: component::G2
    signature: component::G2 G2_To_Component(const g2_t g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToNative
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:53,1
    - Dst: cryptofuzz::module::chia_bls_detail::G2_To_Component
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' g2El'
    argTypes:
    - bls::G2Element
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::chia_bls_detail::G2_To_Component
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::chia_bls_detail::G2_To_Component
    - ToNative
    linkageType: ''
    returnType: component::G2
    signature: component::G2 G2_To_Component(const bls::G2Element& g2El)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aug::Get
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:61,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:62,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:63,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:63,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:63,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:63,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:64,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:64,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:64,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:64,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::chia_bls_detail::MsgAug
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - cleartext::Get
    - std::vector::insert
    - auto::end
    - aug::Get
    - Buffer
    - std::vector::end
    linkageType: ''
    returnType: Buffer
    signature: Buffer MsgAug(const T& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ikm::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:72,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:75,1
    - Dst: bls::HDKeys::KeyGen
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:79,1
    - Dst: ikm::Get
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:79,1
    - Dst: auto::GetG1Element
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:80,1
    - Dst: auto::Serialize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:82,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:84,1
    - Dst: cryptofuzz::module::chia_bls_detail::G1_To_Component
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: cryptofuzz::module::chia_bls::OpBLS_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - auto::Serialize
    - ikm::Get
    - auto::GetG1Element
    - info::GetSize
    - ikm::GetSize
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::chia_bls_detail::G1_To_Component
    - bls::HDKeys::KeyGen
    linkageType: ''
    returnType: std::optional<component::BLS_KeyPair>
    signature: std::optional<component::BLS_KeyPair> chia_bls::OpBLS_GenerateKeyPair(operation::BLS_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:93,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:93,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:98,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:98,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:102,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:102,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:102,1
    - Dst: bls::PrivateKey::FromBytes
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:103,1
    - Dst: cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:103,1
    - Dst: bls::PrivateKey::GetG1Element
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:104,1
    - Dst: cryptofuzz::module::chia_bls_detail::G1_To_Component
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 111
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: cryptofuzz::module::chia_bls::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - bls::PrivateKey::FromBytes
    - modifier::GetPtr
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
    - bls::PrivateKey::GetG1Element
    - CF_CHECK_NE
    - cryptofuzz::module::chia_bls_detail::G1_To_Component
    - modifier::GetSize
    - priv::ToTrimmedString
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> chia_bls::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:114,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:114,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:119,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:119,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:123,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:123,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:123,1
    - Dst: bls::PrivateKey::FromBytes
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:124,1
    - Dst: cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:124,1
    - Dst: bls::PrivateKey::GetG2Element
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:125,1
    - Dst: cryptofuzz::module::chia_bls_detail::G2_To_Component
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: cryptofuzz::module::chia_bls::OpBLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::chia_bls_detail::G2_To_Component
    - bls::PrivateKey::FromBytes
    - modifier::GetPtr
    - bls::PrivateKey::GetG2Element
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
    - CF_CHECK_NE
    - modifier::GetSize
    - priv::ToTrimmedString
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> chia_bls::OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:136,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:136,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:138,1
    - Dst: bls::Util::SecAlloc<g1_st>
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:142,1
    - Dst: cryptofuzz::module::chia_bls_detail::MsgAug
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:144,1
    - Dst: ep_map_dst
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:145,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:145,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:145,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:145,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:145,1
    - Dst: cryptofuzz::module::chia_bls_detail::G1_To_Component
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:147,1
    - Dst: bls::Util::SecFree
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 152
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 152
    functionName: cryptofuzz::module::chia_bls::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - ep_map_dst
    - auto::GetPtr
    - auto::GetSize
    - dest::GetPtr
    - bls::Util::SecFree
    - bls::Util::SecAlloc<g1_st>
    - dest::GetSize
    - cryptofuzz::module::chia_bls_detail::G1_To_Component
    - modifier::GetSize
    - cryptofuzz::module::chia_bls_detail::MsgAug
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> chia_bls::OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:156,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:156,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:158,1
    - Dst: g2_new
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:163,1
    - Dst: cryptofuzz::module::chia_bls_detail::MsgAug
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:165,1
    - Dst: ep2_map_dst
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:166,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:166,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:166,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:166,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:166,1
    - Dst: cryptofuzz::module::chia_bls_detail::G2_To_Component
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:168,1
    - Dst: g2_free
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 173
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 173
    functionName: cryptofuzz::module::chia_bls::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::chia_bls_detail::G2_To_Component
    - modifier::GetPtr
    - auto::GetPtr
    - auto::GetSize
    - ep2_map_dst
    - dest::GetPtr
    - dest::GetSize
    - g2_new
    - modifier::GetSize
    - g2_free
    - cryptofuzz::module::chia_bls_detail::MsgAug
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> chia_bls::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:176,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:176,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:181,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:181,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:186,1
    - Dst: u::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:186,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:190,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:190,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:190,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:190,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:194,1
    - Dst: v::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:194,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:198,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:198,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:198,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:198,1
    - Dst: bls::Util::SecAlloc<g1_st>
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:201,1
    - Dst: ep_map_from_field
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:203,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:203,1
    - Dst: cryptofuzz::module::chia_bls_detail::G1_To_Component
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:205,1
    - Dst: bls::Util::SecFree
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG1
    constantsTouched: []
    func_position:
      end: 210
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 210
    functionName: cryptofuzz::module::chia_bls::OpBLS_MapToG1
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::vector::data
    - u::ToTrimmedString
    - modifier::GetPtr
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - std::vector::insert
    - std::vector::end
    - v::ToTrimmedString
    - bls::Util::SecFree
    - auto::end
    - bls::Util::SecAlloc<g1_st>
    - cryptofuzz::module::chia_bls_detail::G1_To_Component
    - modifier::GetSize
    - ep_map_from_field
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> chia_bls::OpBLS_MapToG1(operation::BLS_MapToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:213,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:213,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:218,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:218,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:223,1
    - Dst: u::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:223,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:227,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:227,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:227,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:227,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:230,1
    - Dst: u::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:230,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:234,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:234,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:234,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:234,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:237,1
    - Dst: v::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:237,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:241,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:241,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:241,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:241,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:244,1
    - Dst: v::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:244,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:248,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:248,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:248,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:248,1
    - Dst: bls::Util::SecAlloc<g2_st>
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:251,1
    - Dst: ep2_map_from_field
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:253,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:253,1
    - Dst: cryptofuzz::module::chia_bls_detail::G2_To_Component
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:255,1
    - Dst: bls::Util::SecFree
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG2
    constantsTouched: []
    func_position:
      end: 260
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 260
    functionName: cryptofuzz::module::chia_bls::OpBLS_MapToG2
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::vector::data
    - cryptofuzz::module::chia_bls_detail::G2_To_Component
    - v::first::ToTrimmedString
    - modifier::GetPtr
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - std::vector::insert
    - std::vector::end
    - u::first::ToTrimmedString
    - ep2_map_from_field
    - bls::Util::SecFree
    - auto::end
    - u::second::ToTrimmedString
    - bls::Util::SecAlloc<g2_st>
    - v::second::ToTrimmedString
    - modifier::GetSize
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> chia_bls::OpBLS_MapToG2(operation::BLS_MapToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_new
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:266,1
    - Dst: g1_null
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:267,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:269,1
    - Dst: g1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:269,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:270,1
    - Dst: g1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:270,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:272,1
    - Dst: g1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:272,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:273,1
    - Dst: g1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:273,1
    - Dst: fp_read_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:276,1
    - Dst: g1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:276,1
    - Dst: g1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 277
    functionName: cryptofuzz::module::chia_bls::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - g1::second::ToTrimmedString
    - fp_read_str
    - g1::first::ToTrimmedString
    - g1_new
    - g1_null
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> chia_bls::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:305,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:305,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:311,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:316,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:316,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:320,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:320,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:320,1
    - Dst: bls::PrivateKey::FromBytes
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:321,1
    - Dst: cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:321,1
    - Dst: bls::PrivateKey::GetG1Element
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:322,1
    - Dst: cryptofuzz::module::chia_bls_detail::MsgAug
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:323,1
    - Dst: bls::PrivateKey::SignG2
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:326,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:326,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:326,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:326,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:326,1
    - Dst: bls::G2Element::ToNative
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:329,1
    - Dst: fp_write_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:335,1
    - Dst: fp_write_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:336,1
    - Dst: fp_write_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:337,1
    - Dst: fp_write_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:338,1
    - Dst: cryptofuzz::module::chia_bls_detail::G1_To_Component
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:341,1
    - Dst: priv::IsGreaterThan
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:344,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 351
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 351
    functionName: chia_bls::OpBLS_Sign
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - dest::GetPtr
    - dest::GetSize
    - CF_ASSERT
    - priv::ToTrimmedString
    - curveType::Get
    - modifier::GetPtr
    - bls::PrivateKey::SignG2
    - bls::PrivateKey::GetG1Element
    - bls::G2Element::ToNative
    - priv::IsGreaterThan
    - CF_ECC_CURVE
    - cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
    - cryptofuzz::module::chia_bls_detail::G1_To_Component
    - fp_write_str
    - cryptofuzz::module::chia_bls_detail::MsgAug
    - bls::PrivateKey::FromBytes
    - auto::GetPtr
    - auto::GetSize
    - cryptofuzz::util::DecToBin
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> chia_bls::OpBLS_Sign(operation::BLS_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:360,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:360,1
    - Dst: g1_null
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:370,1
    - Dst: g1_new
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:371,1
    - Dst: g2_null
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:374,1
    - Dst: g2_new
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:375,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:377,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:378,1
    - Dst: signature::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:379,1
    - Dst: signature::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:380,1
    - Dst: signature::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:381,1
    - Dst: signature::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:382,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:384,1
    - Dst: dest::Get
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:384,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:386,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:387,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:388,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:389,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:390,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:391,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:393,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:393,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:394,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:394,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:395,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:395,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:396,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:396,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:397,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:397,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:398,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:398,1
    - Dst: fp_read_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:401,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:401,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 402
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 402
    functionName: chia_bls::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - pub::first::ToTrimmedString
    - signature::second::first::ToTrimmedString
    - signature::first::second::ToTrimmedString
    - curveType::Get
    - g2_null
    - fp_read_str
    - auto::size
    - pub::second::ToTrimmedString
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - dest::Get
    - signature::first::first::ToTrimmedString
    - auto::c_str
    - signature::second::second::ToTrimmedString
    - g1_new
    - g1_null
    - CF_CHECK_NE
    - g2_new
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> chia_bls::OpBLS_Verify(operation::BLS_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:463,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:463,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:477,1
    - Dst: bls::HKDF256::ExtractExpand
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:477,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:479,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:479,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:480,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:480,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:481,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:481,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:483,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 488
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 488
    functionName: chia_bls::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_NORET
    - bls::HKDF256::ExtractExpand
    - info::GetSize
    - digestType::Is
    - info::GetPtr
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - CF_DIGEST
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> chia_bls::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_new
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:495,1
    - Dst: g1_null
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:496,1
    - Dst: g1_new
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:497,1
    - Dst: g1_null
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:498,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:500,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:500,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:501,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:501,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:503,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:503,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:504,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:504,1
    - Dst: fp_read_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:507,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:507,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 508
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 508
    functionName: chia_bls::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - a::first::ToTrimmedString
    - fp_read_str
    - g1_new
    - g1_null
    - CF_CHECK_NE
    - a::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> chia_bls::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_new
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:560,1
    - Dst: g1_null
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:561,1
    - Dst: bn_new
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:563,1
    - Dst: bn_null
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:564,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:566,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:566,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:567,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:567,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:569,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:569,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:570,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:570,1
    - Dst: fp_read_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:573,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:573,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 574
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 574
    functionName: chia_bls::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - bn_null
    - a::first::ToTrimmedString
    - fp_read_str
    - g1_new
    - g1_null
    - bn_new
    - CF_CHECK_NE
    - a::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> chia_bls::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_new
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:613,1
    - Dst: g2_null
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:614,1
    - Dst: bn_new
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:616,1
    - Dst: bn_null
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:617,1
    - Dst: a::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:619,1
    - Dst: a::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:620,1
    - Dst: a::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:621,1
    - Dst: a::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:622,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:624,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:625,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:626,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:627,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:629,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:629,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:630,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:630,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:631,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:631,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:632,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:632,1
    - Dst: fp_read_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:635,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:635,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 636
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 636
    functionName: chia_bls::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - a::first::second::ToTrimmedString
    - g2_null
    - a::second::first::ToTrimmedString
    - CF_CHECK_LT
    - bn_null
    - a::second::second::ToTrimmedString
    - fp_read_str
    - auto::c_str
    - bn_new
    - CF_CHECK_NE
    - auto::size
    - g2_new
    - a::first::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> chia_bls::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_new
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:688,1
    - Dst: g1_null
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:689,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:691,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:691,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:692,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:692,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:694,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:694,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:695,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:695,1
    - Dst: fp_read_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:698,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:698,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 699
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 699
    functionName: chia_bls::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - a::first::ToTrimmedString
    - fp_read_str
    - g1_new
    - g1_null
    - CF_CHECK_NE
    - a::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> chia_bls::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_new
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:728,1
    - Dst: g2_null
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:729,1
    - Dst: a::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:731,1
    - Dst: a::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:732,1
    - Dst: a::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:733,1
    - Dst: a::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:734,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:736,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:737,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:738,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:739,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:741,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:741,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:742,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:742,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:743,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:743,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:744,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:744,1
    - Dst: fp_read_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:747,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:747,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 748
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 748
    functionName: chia_bls::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - a::first::second::ToTrimmedString
    - g2_null
    - a::second::first::ToTrimmedString
    - CF_CHECK_LT
    - a::second::second::ToTrimmedString
    - fp_read_str
    - auto::c_str
    - CF_CHECK_NE
    - auto::size
    - g2_new
    - a::first::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> chia_bls::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:788,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:788,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:792,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:792,1
    - Dst: compressed::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:792,1
    - Dst: bls::G1Element::FromBytes
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:795,1
    - Dst: cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:795,1
    - Dst: cryptofuzz::module::chia_bls_detail::G1_To_Component
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 803
      start: 786
    functionDepth: 3
    functionLinenumber: 786
    functionLinenumberEnd: 803
    functionName: chia_bls::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
    - cryptofuzz::util::DecToBin
    - bls::G1Element::FromBytes
    - compressed::ToTrimmedString
    - CF_CHECK_NE
    - cryptofuzz::module::chia_bls_detail::G1_To_Component
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> chia_bls::OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:807,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:807,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:814,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:814,1
    - Dst: compressed::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:814,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:815,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:815,1
    - Dst: compressed::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:815,1
    - Dst: cryptofuzz::util::Append
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:816,1
    - Dst: bls::G2Element::FromBytes
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:819,1
    - Dst: cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:819,1
    - Dst: cryptofuzz::module::chia_bls_detail::G2_To_Component
      Src: /src/cryptofuzz/modules/chia_bls/module.cpp:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 827
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 827
    functionName: chia_bls::OpBLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/modules/chia_bls/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::chia_bls_detail::G2_To_Component
    - modifier::GetPtr
    - cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
    - cryptofuzz::util::DecToBin
    - compressed::second::ToTrimmedString
    - compressed::first::ToTrimmedString
    - CF_CHECK_NE
    - cryptofuzz::util::Append
    - modifier::GetSize
    - bls::G2Element::FromBytes
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> chia_bls::OpBLS_Decompress_G2(operation::BLS_Decompress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: cryptofuzz::module::Pornin_BinGCD::Pornin_BinGCD
    functionSourceFile: /src/cryptofuzz/modules/pornin-bingcd/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pornin_BinGCD::Pornin_BinGCD(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:16,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:16,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:20,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:20,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:20,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:21,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:21,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:21,1
    - Dst: gf_decode
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:23,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: cryptofuzz::module::Pornin_BinGCD_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/pornin-bingcd/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - gf_decode
    - std::array::data
    - cryptofuzz::util::DecToBin
    - memcpy
    - auto::data
    - std::array::end
    - ToTrimmedString
    - std::array::begin
    linkageType: ''
    returnType: std::optional<gf>
    signature: std::optional<gf> Load(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:29,1
    - Dst: gf_encode
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:29,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:29,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:30,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:30,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:30,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:31,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' V'
    argTypes:
    - gf
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::Pornin_BinGCD_detail::Save
    functionSourceFile: /src/cryptofuzz/modules/pornin-bingcd/module.cpp
    functionUses: 0
    functionsReached:
    - gf_encode
    - std::reverse
    - std::array::data
    - CF_NORET
    - std::array::end
    - cryptofuzz::util::BinToDec
    - std::array::begin
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum Save(const gf& V)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:42,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:46,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:47,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Load
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:49,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:50,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Load
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:52,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:53,1
    - Dst: gf_add
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:56,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Save
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:61,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Load
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:63,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:64,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Load
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:66,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:67,1
    - Dst: gf_sub
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:70,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Save
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:72,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:75,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Load
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:77,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:78,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Load
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:80,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:81,1
    - Dst: gf_mul
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:84,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Save
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:86,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:89,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Load
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:91,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:92,1
    - Dst: gf_sqr
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:95,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Save
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:97,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:100,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Load
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:102,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:103,1
    - Dst: gf_inv
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:106,1
    - Dst: cryptofuzz::module::Pornin_BinGCD_detail::Save
      Src: /src/cryptofuzz/modules/pornin-bingcd/module.cpp:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 115
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 115
    functionName: cryptofuzz::module::Pornin_BinGCD::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/pornin-bingcd/module.cpp
    functionUses: 0
    functionsReached:
    - gf_inv
    - cryptofuzz::module::Pornin_BinGCD_detail::Load
    - gf_sub
    - modulo::ToTrimmedString
    - gf_sqr
    - gf_mul
    - CF_CHECK_NE
    - gf_add
    - cryptofuzz::module::Pornin_BinGCD_detail::Save
    - calcOp::Get
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Pornin_BinGCD::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: cryptofuzz::module::Pornin_BinGCD::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/pornin-bingcd/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Pornin_BinGCD::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keccak
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:42,1
    - Dst: keccak_init
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:47,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:48,1
    - Dst: keccak_update
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:52,1
    - Dst: keccak_init
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:54,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:55,1
    - Dst: keccak_update
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:59,1
    - Dst: memwipe
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - S
    - _key
    - keylen
    argTypes:
    - hmac_keccak_state*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: hmac_keccak_init
    functionSourceFile: /src/cryptofuzz/modules/monero/hmac-keccak.c
    functionUses: 0
    functionsReached:
    - memwipe
    - keccak_update
    - keccak
    - memset
    - keccak_init
    linkageType: ''
    returnType: void
    signature: void hmac_keccak_init(hmac_keccak_state *S, const uint8_t *_key, size_t
      keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keccak_update
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - S
    - data
    - datalen
    argTypes:
    - hmac_keccak_state*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: hmac_keccak_update
    functionSourceFile: /src/cryptofuzz/modules/monero/hmac-keccak.c
    functionUses: 0
    functionsReached:
    - keccak_update
    linkageType: ''
    returnType: void
    signature: void hmac_keccak_update(hmac_keccak_state *S, const uint8_t *data,
      size_t datalen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keccak_finish
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:70,1
    - Dst: keccak_update
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:71,1
    - Dst: keccak_finish
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:72,1
    - Dst: memwipe
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - S
    - digest
    argTypes:
    - hmac_keccak_state*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: hmac_keccak_finish
    functionSourceFile: /src/cryptofuzz/modules/monero/hmac-keccak.c
    functionUses: 0
    functionsReached:
    - keccak_finish
    - memwipe
    - keccak_update
    linkageType: ''
    returnType: void
    signature: void hmac_keccak_finish(hmac_keccak_state *S, uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_keccak_init
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:78,1
    - Dst: hmac_keccak_update
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:79,1
    - Dst: hmac_keccak_finish
      Src: /src/cryptofuzz/modules/monero/hmac-keccak.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - out
    - key
    - keylen
    - in
    - inlen
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: hmac_keccak_hash
    functionSourceFile: /src/cryptofuzz/modules/monero/hmac-keccak.c
    functionUses: 0
    functionsReached:
    - hmac_keccak_finish
    - hmac_keccak_update
    - hmac_keccak_init
    linkageType: ''
    returnType: void
    signature: void hmac_keccak_hash(uint8_t *out, const uint8_t *key, size_t keylen,
      const uint8_t *in, size_t inlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::Monero::Monero
    functionSourceFile: /src/cryptofuzz/modules/monero/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Monero::Monero(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Monero::groestl
      Src: /src/cryptofuzz/modules/monero/module.cpp:23,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/monero/module.cpp:23,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monero/module.cpp:23,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/monero/module.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::Digest
    - Datasource
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: cryptofuzz::module::Monero::groestl
    functionSourceFile: /src/cryptofuzz/modules/monero/module.cpp
    functionUses: 1
    functionsReached:
    - cleartext::GetPtr
    - generate_Digest
    - cleartext::GetSize
    - cryptofuzz::module::Monero::groestl
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Monero::groestl(operation::Digest&
      op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jh_hash
      Src: /src/cryptofuzz/modules/monero/module.cpp:33,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/monero/module.cpp:33,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monero/module.cpp:33,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/monero/module.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' ds'
    - hashSize
    argTypes:
    - operation::Digest
    - Datasource
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: cryptofuzz::module::Monero::jh
    functionSourceFile: /src/cryptofuzz/modules/monero/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - jh_hash
    - generate_Digest
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Monero::jh(operation::Digest& op,
      Datasource& ds, const size_t hashSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skein_hash
      Src: /src/cryptofuzz/modules/monero/module.cpp:43,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/monero/module.cpp:43,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monero/module.cpp:43,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/monero/module.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' ds'
    - hashSize
    argTypes:
    - operation::Digest
    - Datasource
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: cryptofuzz::module::Monero::skein
    functionSourceFile: /src/cryptofuzz/modules/monero/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - skein_hash
    - generate_Digest
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Monero::skein(operation::Digest& op,
      Datasource& ds, const size_t hashSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/monero/module.cpp:54,1
    - Dst: keccak_init
      Src: /src/cryptofuzz/modules/monero/module.cpp:55,1
    - Dst: keccak_update
      Src: /src/cryptofuzz/modules/monero/module.cpp:60,1
    - Dst: keccak_finish
      Src: /src/cryptofuzz/modules/monero/module.cpp:66,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/monero/module.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::Digest
    - Datasource
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::Monero::keccak256
    functionSourceFile: /src/cryptofuzz/modules/monero/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - keccak_update
    - keccak_init
    - keccak_finish
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Monero::keccak256(operation::Digest&
      op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/monero/module.cpp:73,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/monero/module.cpp:73,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/monero/module.cpp:77,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/monero/module.cpp:78,1
    - Dst: cryptofuzz::module::Monero::groestl
      Src: /src/cryptofuzz/modules/monero/module.cpp:80,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/monero/module.cpp:83,1
    - Dst: cryptofuzz::module::Monero::jh
      Src: /src/cryptofuzz/modules/monero/module.cpp:85,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/monero/module.cpp:88,1
    - Dst: cryptofuzz::module::Monero::jh
      Src: /src/cryptofuzz/modules/monero/module.cpp:90,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/monero/module.cpp:93,1
    - Dst: cryptofuzz::module::Monero::jh
      Src: /src/cryptofuzz/modules/monero/module.cpp:95,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/monero/module.cpp:98,1
    - Dst: cryptofuzz::module::Monero::jh
      Src: /src/cryptofuzz/modules/monero/module.cpp:100,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/monero/module.cpp:103,1
    - Dst: cryptofuzz::module::Monero::skein
      Src: /src/cryptofuzz/modules/monero/module.cpp:105,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/monero/module.cpp:108,1
    - Dst: cryptofuzz::module::Monero::skein
      Src: /src/cryptofuzz/modules/monero/module.cpp:110,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/monero/module.cpp:113,1
    - Dst: cryptofuzz::module::Monero::skein
      Src: /src/cryptofuzz/modules/monero/module.cpp:115,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/monero/module.cpp:118,1
    - Dst: cryptofuzz::module::Monero::keccak256
      Src: /src/cryptofuzz/modules/monero/module.cpp:120,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 126
      start: 71
    functionDepth: 5
    functionLinenumber: 71
    functionLinenumberEnd: 126
    functionName: cryptofuzz::module::Monero::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/monero/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Monero::jh
    - modifier::GetPtr
    - digestType::Get
    - cryptofuzz::module::Monero::keccak256
    - CF_DIGEST
    - modifier::GetSize
    - cryptofuzz::module::Monero::skein
    - cryptofuzz::module::Monero::groestl
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Monero::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/monero/module.cpp:131,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/monero/module.cpp:131,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/monero/module.cpp:134,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/monero/module.cpp:135,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/monero/module.cpp:137,1
    - Dst: hmac_keccak_init
      Src: /src/cryptofuzz/modules/monero/module.cpp:143,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/monero/module.cpp:143,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/monero/module.cpp:143,1
    - Dst: hmac_keccak_update
      Src: /src/cryptofuzz/modules/monero/module.cpp:148,1
    - Dst: hmac_keccak_finish
      Src: /src/cryptofuzz/modules/monero/module.cpp:154,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/monero/module.cpp:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 162
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 162
    functionName: cryptofuzz::module::Monero::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/monero/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - hmac_keccak_update
    - digestType::Get
    - CF_DIGEST
    - hmac_keccak_init
    - hmac_keccak_finish
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Monero::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: padd
    functionSourceFile: /src/cryptofuzz/modules/monero/hash-ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *padd(void *p, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: cpadd
    functionSourceFile: /src/cryptofuzz/modules/monero/hash-ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *cpadd(const void *p, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: padd
      Src: /src/cryptofuzz/modules/monero/hash-ops.h:56,1
    - Dst: swap32be
      Src: /src/cryptofuzz/modules/monero/hash-ops.h:56,1
    - Dst: padd
      Src: /src/cryptofuzz/modules/monero/hash-ops.h:58,1
    - Dst: swap64be
      Src: /src/cryptofuzz/modules/monero/hash-ops.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buffer
    - bufsize
    - length
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: place_length
    functionSourceFile: /src/cryptofuzz/modules/monero/hash-ops.h
    functionUses: 0
    functionsReached:
    - swap32be
    - padd
    - swap64be
    linkageType: ''
    returnType: void
    signature: void place_length(uint8_t *buffer, size_t bufsize, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/monero/keccak.c:14,1
    - Dst: _exit
      Src: /src/cryptofuzz/modules/monero/keccak.c:16,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/monero/keccak.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 20
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 20
    functionName: local_abort
    functionSourceFile: /src/cryptofuzz/modules/monero/keccak.c
    functionUses: 0
    functionsReached:
    - fprintf
    - _exit
    - abort
    linkageType: ''
    returnType: void
    signature: void local_abort(const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ROTL64
      Src: /src/cryptofuzz/modules/monero/keccak.c:60,1
    - Dst: ROTL64
      Src: /src/cryptofuzz/modules/monero/keccak.c:70,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - st
    - rounds
    argTypes:
    - uint64_t[]
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 85
    functionName: keccakf
    functionSourceFile: /src/cryptofuzz/modules/monero/keccak.c
    functionUses: 0
    functionsReached:
    - ROTL64
    linkageType: ''
    returnType: void
    signature: void keccakf(uint64_t st[25], int rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: local_abort
      Src: /src/cryptofuzz/modules/monero/keccak.c:99,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/keccak.c:105,1
    - Dst: swap64le
      Src: /src/cryptofuzz/modules/monero/keccak.c:109,1
    - Dst: keccakf
      Src: /src/cryptofuzz/modules/monero/keccak.c:110,1
    - Dst: local_abort
      Src: /src/cryptofuzz/modules/monero/keccak.c:116,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/keccak.c:119,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/keccak.c:121,1
    - Dst: swap64le
      Src: /src/cryptofuzz/modules/monero/keccak.c:125,1
    - Dst: keccakf
      Src: /src/cryptofuzz/modules/monero/keccak.c:127,1
    - Dst: local_abort
      Src: /src/cryptofuzz/modules/monero/keccak.c:131,1
    - Dst: memcpy_swap64le
      Src: /src/cryptofuzz/modules/monero/keccak.c:133,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - in
    - inlen
    - md
    - mdlen
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 134
    functionName: keccak
    functionSourceFile: /src/cryptofuzz/modules/monero/keccak.c
    functionUses: 2
    functionsReached:
    - memcpy_swap64le
    - keccakf
    - local_abort
    - memset
    - memcpy
    - swap64le
    linkageType: ''
    returnType: void
    signature: void keccak(const uint8_t *in, size_t inlen, uint8_t *md, int mdlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keccak
      Src: /src/cryptofuzz/modules/monero/keccak.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - inlen
    - md
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: keccak1600
    functionSourceFile: /src/cryptofuzz/modules/monero/keccak.c
    functionUses: 0
    functionsReached:
    - keccak
    linkageType: ''
    returnType: void
    signature: void keccak1600(const uint8_t *in, size_t inlen, uint8_t *md)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/keccak.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KECCAK_CTX*
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: keccak_init
    functionSourceFile: /src/cryptofuzz/modules/monero/keccak.c
    functionUses: 4
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void keccak_init(KECCAK_CTX * ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: local_abort
      Src: /src/cryptofuzz/modules/monero/keccak.c:159,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/keccak.c:168,1
    - Dst: KECCAK_PROCESS_BLOCK
      Src: /src/cryptofuzz/modules/monero/keccak.c:171,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/keccak.c:183,1
    - Dst: KECCAK_PROCESS_BLOCK
      Src: /src/cryptofuzz/modules/monero/keccak.c:187,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/keccak.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - in
    - inlen
    argTypes:
    - KECCAK_CTX*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 194
    functionName: keccak_update
    functionSourceFile: /src/cryptofuzz/modules/monero/keccak.c
    functionUses: 6
    functionsReached:
    - KECCAK_PROCESS_BLOCK
    - local_abort
    - memcpy
    linkageType: ''
    returnType: void
    signature: void keccak_update(KECCAK_CTX * ctx, const uint8_t *in, size_t inlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/keccak.c:200,1
    - Dst: KECCAK_PROCESS_BLOCK
      Src: /src/cryptofuzz/modules/monero/keccak.c:205,1
    - Dst: memcpy_swap64le
      Src: /src/cryptofuzz/modules/monero/keccak.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - KECCAK_CTX*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 214
    functionName: keccak_finish
    functionSourceFile: /src/cryptofuzz/modules/monero/keccak.c
    functionUses: 4
    functionsReached:
    - memcpy_swap64le
    - memset
    - KECCAK_PROCESS_BLOCK
    linkageType: ''
    returnType: void
    signature: void keccak_finish(KECCAK_CTX * ctx, uint8_t *md)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:564,1
    - Dst: Skein_Get64_LSB_First
      Src: /src/cryptofuzz/modules/monero/skein.c:580,1
    - Dst: DebugSaveTweak
      Src: /src/cryptofuzz/modules/monero/skein.c:581,1
    - Dst: Skein_Show_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:582,1
    - Dst: Skein_Show_R_Ptr
      Src: /src/cryptofuzz/modules/monero/skein.c:589,1
    - Dst: Skein_Show_R_Ptr
      Src: /src/cryptofuzz/modules/monero/skein.c:609,1
    - Dst: Skein_Show_R_Ptr
      Src: /src/cryptofuzz/modules/monero/skein.c:622,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:639,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:643,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:644,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:646,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:647,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:649,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:650,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:652,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:653,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:655,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:656,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:658,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:659,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:661,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:662,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:664,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:665,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:667,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:668,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:670,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:671,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:673,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:674,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:676,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:677,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:679,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:680,1
    - Dst: R256_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:682,1
    - Dst: R256_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:683,1
    - Dst: Skein_Show_Round
      Src: /src/cryptofuzz/modules/monero/skein.c:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 4
    argNames:
    - ctx
    - blkPtr
    - blkCnt
    - byteCntAdd
    argTypes:
    - Skein_256_Ctxt_t*
    - u08b_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 702
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 702
    functionName: Skein_256_Process_Block
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - Skein_Get64_LSB_First
    - R256_Unroll_R
    - Skein_Show_Round
    - Skein_Show_Block
    - DebugSaveTweak
    - R256_8_rounds
    - Skein_assert
    - Skein_Show_R_Ptr
    linkageType: ''
    returnType: void
    signature: void Skein_256_Process_Block(Skein_256_Ctxt_t *ctx,const u08b_t *blkPtr,size_t
      blkCnt,size_t byteCntAdd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: Skein_256_Process_Block_CodeSize
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Skein_256_Process_Block_CodeSize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 713
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 713
    functionName: Skein_256_Unroll_Cnt
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint_t
    signature: uint_t Skein_256_Unroll_Cnt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:751,1
    - Dst: Skein_Get64_LSB_First
      Src: /src/cryptofuzz/modules/monero/skein.c:772,1
    - Dst: DebugSaveTweak
      Src: /src/cryptofuzz/modules/monero/skein.c:773,1
    - Dst: Skein_Show_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:774,1
    - Dst: Skein_Show_R_Ptr
      Src: /src/cryptofuzz/modules/monero/skein.c:787,1
    - Dst: Skein_Show_R_Ptr
      Src: /src/cryptofuzz/modules/monero/skein.c:826,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:843,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:847,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:848,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:850,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:851,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:853,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:854,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:856,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:857,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:859,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:860,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:862,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:863,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:865,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:866,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:868,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:869,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:871,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:872,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:874,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:875,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:877,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:878,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:880,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:881,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:883,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:884,1
    - Dst: R512_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:886,1
    - Dst: R512_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:887,1
    - Dst: Skein_Show_Round
      Src: /src/cryptofuzz/modules/monero/skein.c:903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 70
    argCount: 4
    argNames:
    - ctx
    - blkPtr
    - blkCnt
    - byteCntAdd
    argTypes:
    - Skein_512_Ctxt_t*
    - u08b_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 910
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 910
    functionName: Skein_512_Process_Block
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - Skein_Get64_LSB_First
    - Skein_Show_Round
    - Skein_Show_Block
    - DebugSaveTweak
    - Skein_assert
    - R512_8_rounds
    - R512_Unroll_R
    - Skein_Show_R_Ptr
    linkageType: ''
    returnType: void
    signature: void Skein_512_Process_Block(Skein_512_Ctxt_t *ctx,const u08b_t *blkPtr,size_t
      blkCnt,size_t byteCntAdd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 917
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 917
    functionName: Skein_512_Process_Block_CodeSize
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Skein_512_Process_Block_CodeSize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: Skein_512_Unroll_Cnt
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint_t
    signature: uint_t Skein_512_Unroll_Cnt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:963,1
    - Dst: Skein_Get64_LSB_First
      Src: /src/cryptofuzz/modules/monero/skein.c:994,1
    - Dst: DebugSaveTweak
      Src: /src/cryptofuzz/modules/monero/skein.c:995,1
    - Dst: Skein_Show_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:996,1
    - Dst: Skein_Show_R_Ptr
      Src: /src/cryptofuzz/modules/monero/skein.c:1015,1
    - Dst: Skein_Show_R_Ptr
      Src: /src/cryptofuzz/modules/monero/skein.c:1074,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1091,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1095,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1096,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1098,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1099,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1101,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1102,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1104,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1105,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1107,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1108,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1110,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1111,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1113,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1114,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1116,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1117,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1119,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1120,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1122,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1123,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1125,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1126,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1128,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1129,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1131,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1132,1
    - Dst: R1024_Unroll_R
      Src: /src/cryptofuzz/modules/monero/skein.c:1134,1
    - Dst: R1024_8_rounds
      Src: /src/cryptofuzz/modules/monero/skein.c:1135,1
    - Dst: Skein_Show_Round
      Src: /src/cryptofuzz/modules/monero/skein.c:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 101
    argCount: 4
    argNames:
    - ctx
    - blkPtr
    - blkCnt
    - byteCntAdd
    argTypes:
    - Skein1024_Ctxt_t*
    - u08b_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1168
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 1168
    functionName: Skein1024_Process_Block
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - Skein_Get64_LSB_First
    - Skein_Show_Round
    - Skein_Show_Block
    - R1024_Unroll_R
    - DebugSaveTweak
    - R1024_8_rounds
    - Skein_assert
    - Skein_Show_R_Ptr
    linkageType: ''
    returnType: void
    signature: void Skein1024_Process_Block(Skein1024_Ctxt_t *ctx,const u08b_t *blkPtr,size_t
      blkCnt,size_t byteCntAdd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1175
    functionName: Skein1024_Process_Block_CodeSize
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Skein1024_Process_Block_CodeSize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1179
    functionName: Skein1024_Unroll_Cnt
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint_t
    signature: uint_t Skein1024_Unroll_Cnt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1199,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1205,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1206,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1207,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1208,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1213,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1215,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1216,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1217,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1218,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1221,1
    - Dst: Skein_256_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1222,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - hashBitLen
    argTypes:
    - Skein_256_Ctxt_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1230
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1230
    functionName: Skein_256_Init
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - Skein_256_Process_Block
    - memset
    - Skein_Start_New_Type
    - memcpy
    - Skein_Assert
    - Skein_Swap64
    linkageType: ''
    returnType: int
    signature: int Skein_256_Init(Skein_256_Ctxt_t *ctx, size_t hashBitLen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1243,1
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1244,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1249,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1253,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1256,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1257,1
    - Dst: Skein_256_Update
      Src: /src/cryptofuzz/modules/monero/skein.c:1258,1
    - Dst: Skein_256_Final_Pad
      Src: /src/cryptofuzz/modules/monero/skein.c:1259,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1260,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1265,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1271,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1273,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1274,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1275,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1276,1
    - Dst: Skein_Show_Key
      Src: /src/cryptofuzz/modules/monero/skein.c:1278,1
    - Dst: Skein_256_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1281,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 5
    argNames:
    - ctx
    - hashBitLen
    - treeInfo
    - key
    - keyBytes
    argTypes:
    - Skein_256_Ctxt_t*
    - size_t
    - u64b_t
    - u08b_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1289
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1289
    functionName: Skein_256_InitExt
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - Skein_Show_Key
    - Skein_256_Process_Block
    - memset
    - Skein_Start_New_Type
    - memcpy
    - Skein_Assert
    - Skein_Swap64
    - Skein_assert
    - Skein_256_Update
    - Skein_256_Final_Pad
    linkageType: ''
    returnType: int
    signature: int Skein_256_InitExt(Skein_256_Ctxt_t *ctx,size_t hashBitLen,u64b_t
      treeInfo, const u08b_t *key, size_t keyBytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1298,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1308,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1309,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1314,1
    - Dst: Skein_256_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1315,1
    - Dst: Skein_256_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1322,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1326,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1332,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - msg
    - msgByteCnt
    argTypes:
    - Skein_256_Ctxt_t*
    - u08b_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1338
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1338
    functionName: Skein_256_Update
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 1
    functionsReached:
    - Skein_256_Process_Block
    - Skein_assert
    - memcpy
    - Skein_Assert
    linkageType: ''
    returnType: int
    signature: int Skein_256_Update(Skein_256_Ctxt_t *ctx, const u08b_t *msg, size_t
      msgByteCnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1346,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1350,1
    - Dst: Skein_256_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1352,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1358,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1359,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1362,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1363,1
    - Dst: Skein_256_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1364,1
    - Dst: Skein_Put64_LSB_First
      Src: /src/cryptofuzz/modules/monero/skein.c:1368,1
    - Dst: Skein_Show_Final
      Src: /src/cryptofuzz/modules/monero/skein.c:1369,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - hashVal
    argTypes:
    - Skein_256_Ctxt_t*
    - u08b_t*
    constantsTouched: []
    func_position:
      end: 1373
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1373
    functionName: Skein_256_Final
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - Skein_256_Process_Block
    - memset
    - Skein_Start_New_Type
    - memcpy
    - Skein_Assert
    - Skein_Swap64
    - Skein_Show_Final
    - Skein_Put64_LSB_First
    linkageType: ''
    returnType: int
    signature: int Skein_256_Final(Skein_256_Ctxt_t *ctx, u08b_t *hashVal)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1380
    functionName: Skein_256_API_CodeSize
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Skein_256_API_CodeSize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1397,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1403,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1404,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1405,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1406,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1411,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1413,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1414,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1415,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1416,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1419,1
    - Dst: Skein_512_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1420,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - hashBitLen
    argTypes:
    - Skein_512_Ctxt_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1429
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1429
    functionName: Skein_512_Init
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - memset
    - Skein_Start_New_Type
    - memcpy
    - Skein_Assert
    - Skein_Swap64
    - Skein_512_Process_Block
    linkageType: ''
    returnType: int
    signature: int Skein_512_Init(Skein_512_Ctxt_t *ctx, size_t hashBitLen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1443,1
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1444,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1449,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1453,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1456,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1457,1
    - Dst: Skein_512_Update
      Src: /src/cryptofuzz/modules/monero/skein.c:1458,1
    - Dst: Skein_512_Final_Pad
      Src: /src/cryptofuzz/modules/monero/skein.c:1459,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1460,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1465,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1471,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1473,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1474,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1475,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1476,1
    - Dst: Skein_Show_Key
      Src: /src/cryptofuzz/modules/monero/skein.c:1478,1
    - Dst: Skein_512_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1481,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 5
    argNames:
    - ctx
    - hashBitLen
    - treeInfo
    - key
    - keyBytes
    argTypes:
    - Skein_512_Ctxt_t*
    - size_t
    - u64b_t
    - u08b_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1489
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1489
    functionName: Skein_512_InitExt
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - Skein_Show_Key
    - Skein_512_Final_Pad
    - memset
    - Skein_Start_New_Type
    - Skein_512_Update
    - Skein_Assert
    - memcpy
    - Skein_Swap64
    - Skein_assert
    - Skein_512_Process_Block
    linkageType: ''
    returnType: int
    signature: int Skein_512_InitExt(Skein_512_Ctxt_t *ctx,size_t hashBitLen,u64b_t
      treeInfo, const u08b_t *key, size_t keyBytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1498,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1508,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1509,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1514,1
    - Dst: Skein_512_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1515,1
    - Dst: Skein_512_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1522,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1526,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1532,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - msg
    - msgByteCnt
    argTypes:
    - Skein_512_Ctxt_t*
    - u08b_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1538
      start: 1494
    functionDepth: 1
    functionLinenumber: 1494
    functionLinenumberEnd: 1538
    functionName: Skein_512_Update
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 1
    functionsReached:
    - Skein_assert
    - memcpy
    - Skein_Assert
    - Skein_512_Process_Block
    linkageType: ''
    returnType: int
    signature: int Skein_512_Update(Skein_512_Ctxt_t *ctx, const u08b_t *msg, size_t
      msgByteCnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1546,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1550,1
    - Dst: Skein_512_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1552,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1558,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1559,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1562,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1563,1
    - Dst: Skein_512_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1564,1
    - Dst: Skein_Put64_LSB_First
      Src: /src/cryptofuzz/modules/monero/skein.c:1568,1
    - Dst: Skein_Show_Final
      Src: /src/cryptofuzz/modules/monero/skein.c:1569,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - hashVal
    argTypes:
    - Skein_512_Ctxt_t*
    - u08b_t*
    constantsTouched: []
    func_position:
      end: 1573
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1573
    functionName: Skein_512_Final
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - memset
    - Skein_Start_New_Type
    - memcpy
    - Skein_Assert
    - Skein_Swap64
    - Skein_Show_Final
    - Skein_Put64_LSB_First
    - Skein_512_Process_Block
    linkageType: ''
    returnType: int
    signature: int Skein_512_Final(Skein_512_Ctxt_t *ctx, u08b_t *hashVal)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1580
    functionName: Skein_512_API_CodeSize
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Skein_512_API_CodeSize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1596,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1602,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1603,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1604,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1609,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1611,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1612,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1613,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1614,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1617,1
    - Dst: Skein1024_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1618,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - hashBitLen
    argTypes:
    - Skein1024_Ctxt_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1627
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1627
    functionName: Skein1024_Init
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - memset
    - Skein_Start_New_Type
    - memcpy
    - Skein_Assert
    - Skein_Swap64
    - Skein1024_Process_Block
    linkageType: ''
    returnType: int
    signature: int Skein1024_Init(Skein1024_Ctxt_t *ctx, size_t hashBitLen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1641,1
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1642,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1647,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1651,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1654,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1655,1
    - Dst: Skein1024_Update
      Src: /src/cryptofuzz/modules/monero/skein.c:1656,1
    - Dst: Skein1024_Final_Pad
      Src: /src/cryptofuzz/modules/monero/skein.c:1657,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1658,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1663,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1669,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1671,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1672,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1673,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1674,1
    - Dst: Skein_Show_Key
      Src: /src/cryptofuzz/modules/monero/skein.c:1676,1
    - Dst: Skein1024_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1679,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 5
    argNames:
    - ctx
    - hashBitLen
    - treeInfo
    - key
    - keyBytes
    argTypes:
    - Skein1024_Ctxt_t*
    - size_t
    - u64b_t
    - u08b_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1687
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1687
    functionName: Skein1024_InitExt
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - Skein_Show_Key
    - memset
    - Skein_Start_New_Type
    - memcpy
    - Skein_Assert
    - Skein1024_Update
    - Skein_Swap64
    - Skein_assert
    - Skein1024_Process_Block
    - Skein1024_Final_Pad
    linkageType: ''
    returnType: int
    signature: int Skein1024_InitExt(Skein1024_Ctxt_t *ctx,size_t hashBitLen,u64b_t
      treeInfo, const u08b_t *key, size_t keyBytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1696,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1706,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1707,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1712,1
    - Dst: Skein1024_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1713,1
    - Dst: Skein1024_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1720,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1724,1
    - Dst: Skein_assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1730,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - msg
    - msgByteCnt
    argTypes:
    - Skein1024_Ctxt_t*
    - u08b_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1736
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1736
    functionName: Skein1024_Update
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 1
    functionsReached:
    - Skein1024_Process_Block
    - Skein_assert
    - memcpy
    - Skein_Assert
    linkageType: ''
    returnType: int
    signature: int Skein1024_Update(Skein1024_Ctxt_t *ctx, const u08b_t *msg, size_t
      msgByteCnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1744,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1748,1
    - Dst: Skein1024_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1750,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1756,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1757,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1760,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1761,1
    - Dst: Skein1024_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1762,1
    - Dst: Skein_Put64_LSB_First
      Src: /src/cryptofuzz/modules/monero/skein.c:1766,1
    - Dst: Skein_Show_Final
      Src: /src/cryptofuzz/modules/monero/skein.c:1767,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - hashVal
    argTypes:
    - Skein1024_Ctxt_t*
    - u08b_t*
    constantsTouched: []
    func_position:
      end: 1771
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1771
    functionName: Skein1024_Final
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - memset
    - Skein_Start_New_Type
    - Skein_Swap64
    - Skein_Assert
    - memcpy
    - Skein1024_Process_Block
    - Skein_Show_Final
    - Skein_Put64_LSB_First
    linkageType: ''
    returnType: int
    signature: int Skein1024_Final(Skein1024_Ctxt_t *ctx, u08b_t *hashVal)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1778
    functionName: Skein1024_API_CodeSize
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Skein1024_API_CodeSize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1789,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1793,1
    - Dst: Skein_256_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1794,1
    - Dst: Skein_Put64_LSB_First
      Src: /src/cryptofuzz/modules/monero/skein.c:1796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - hashVal
    argTypes:
    - Skein_256_Ctxt_t*
    - u08b_t*
    constantsTouched: []
    func_position:
      end: 1799
      start: 1787
    functionDepth: 1
    functionLinenumber: 1787
    functionLinenumberEnd: 1799
    functionName: Skein_256_Final_Pad
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 1
    functionsReached:
    - Skein_256_Process_Block
    - memset
    - Skein_Assert
    - Skein_Put64_LSB_First
    linkageType: ''
    returnType: int
    signature: int Skein_256_Final_Pad(Skein_256_Ctxt_t *ctx, u08b_t *hashVal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1805,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1809,1
    - Dst: Skein_512_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1810,1
    - Dst: Skein_Put64_LSB_First
      Src: /src/cryptofuzz/modules/monero/skein.c:1812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - hashVal
    argTypes:
    - Skein_512_Ctxt_t*
    - u08b_t*
    constantsTouched: []
    func_position:
      end: 1815
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1815
    functionName: Skein_512_Final_Pad
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 1
    functionsReached:
    - memset
    - Skein_Assert
    - Skein_Put64_LSB_First
    - Skein_512_Process_Block
    linkageType: ''
    returnType: int
    signature: int Skein_512_Final_Pad(Skein_512_Ctxt_t *ctx, u08b_t *hashVal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1821,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1825,1
    - Dst: Skein1024_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1826,1
    - Dst: Skein_Put64_LSB_First
      Src: /src/cryptofuzz/modules/monero/skein.c:1828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - hashVal
    argTypes:
    - Skein1024_Ctxt_t*
    - u08b_t*
    constantsTouched: []
    func_position:
      end: 1831
      start: 1819
    functionDepth: 1
    functionLinenumber: 1819
    functionLinenumberEnd: 1831
    functionName: Skein1024_Final_Pad
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 1
    functionsReached:
    - memset
    - Skein1024_Process_Block
    - Skein_Assert
    - Skein_Put64_LSB_First
    linkageType: ''
    returnType: int
    signature: int Skein1024_Final_Pad(Skein1024_Ctxt_t *ctx, u08b_t *hashVal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1841,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1847,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1848,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1851,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1852,1
    - Dst: Skein_256_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1853,1
    - Dst: Skein_Put64_LSB_First
      Src: /src/cryptofuzz/modules/monero/skein.c:1857,1
    - Dst: Skein_Show_Final
      Src: /src/cryptofuzz/modules/monero/skein.c:1858,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - hashVal
    argTypes:
    - Skein_256_Ctxt_t*
    - u08b_t*
    constantsTouched: []
    func_position:
      end: 1862
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 1862
    functionName: Skein_256_Output
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - Skein_256_Process_Block
    - memset
    - Skein_Start_New_Type
    - memcpy
    - Skein_Assert
    - Skein_Swap64
    - Skein_Show_Final
    - Skein_Put64_LSB_First
    linkageType: ''
    returnType: int
    signature: int Skein_256_Output(Skein_256_Ctxt_t *ctx, u08b_t *hashVal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1870,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1876,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1877,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1880,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1881,1
    - Dst: Skein_512_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1882,1
    - Dst: Skein_Put64_LSB_First
      Src: /src/cryptofuzz/modules/monero/skein.c:1886,1
    - Dst: Skein_Show_Final
      Src: /src/cryptofuzz/modules/monero/skein.c:1887,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - hashVal
    argTypes:
    - Skein_512_Ctxt_t*
    - u08b_t*
    constantsTouched: []
    func_position:
      end: 1891
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1891
    functionName: Skein_512_Output
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - memset
    - Skein_Start_New_Type
    - memcpy
    - Skein_Assert
    - Skein_Swap64
    - Skein_Show_Final
    - Skein_Put64_LSB_First
    - Skein_512_Process_Block
    linkageType: ''
    returnType: int
    signature: int Skein_512_Output(Skein_512_Ctxt_t *ctx, u08b_t *hashVal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1899,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/skein.c:1905,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1906,1
    - Dst: Skein_Swap64
      Src: /src/cryptofuzz/modules/monero/skein.c:1909,1
    - Dst: Skein_Start_New_Type
      Src: /src/cryptofuzz/modules/monero/skein.c:1910,1
    - Dst: Skein1024_Process_Block
      Src: /src/cryptofuzz/modules/monero/skein.c:1911,1
    - Dst: Skein_Put64_LSB_First
      Src: /src/cryptofuzz/modules/monero/skein.c:1915,1
    - Dst: Skein_Show_Final
      Src: /src/cryptofuzz/modules/monero/skein.c:1916,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/skein.c:1917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - hashVal
    argTypes:
    - Skein1024_Ctxt_t*
    - u08b_t*
    constantsTouched: []
    func_position:
      end: 1920
      start: 1895
    functionDepth: 1
    functionLinenumber: 1895
    functionLinenumberEnd: 1920
    functionName: Skein1024_Output
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 0
    functionsReached:
    - memset
    - Skein_Start_New_Type
    - memcpy
    - Skein_Assert
    - Skein_Swap64
    - Skein1024_Process_Block
    - Skein_Show_Final
    - Skein_Put64_LSB_First
    linkageType: ''
    returnType: int
    signature: int Skein1024_Output(Skein1024_Ctxt_t *ctx, u08b_t *hashVal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1949,1
    - Dst: Skein_256_Init
      Src: /src/cryptofuzz/modules/monero/skein.c:1951,1
    - Dst: Skein_512_Init
      Src: /src/cryptofuzz/modules/monero/skein.c:1957,1
    - Dst: Skein1024_Init
      Src: /src/cryptofuzz/modules/monero/skein.c:1962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - state
    - hashbitlen
    argTypes:
    - hashState*
    - int
    constantsTouched: []
    func_position:
      end: 1964
      start: 1944
    functionDepth: 2
    functionLinenumber: 1944
    functionLinenumberEnd: 1964
    functionName: Init
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 16
    functionsReached:
    - Skein_256_Init
    - Skein1024_Init
    - Skein_512_Init
    - Skein_Assert
    linkageType: ''
    returnType: HashReturnSkein
    signature: HashReturnSkein Init(hashState *state, int hashbitlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1971,1
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:1973,1
    - Dst: Skein_512_Update
      Src: /src/cryptofuzz/modules/monero/skein.c:1978,1
    - Dst: Skein_256_Update
      Src: /src/cryptofuzz/modules/monero/skein.c:1979,1
    - Dst: Skein1024_Update
      Src: /src/cryptofuzz/modules/monero/skein.c:1980,1
    - Dst: Skein_512_Update
      Src: /src/cryptofuzz/modules/monero/skein.c:1994,1
    - Dst: Skein_512_Update
      Src: /src/cryptofuzz/modules/monero/skein.c:1995,1
    - Dst: Skein_256_Update
      Src: /src/cryptofuzz/modules/monero/skein.c:1997,1
    - Dst: Skein_256_Update
      Src: /src/cryptofuzz/modules/monero/skein.c:1998,1
    - Dst: Skein1024_Update
      Src: /src/cryptofuzz/modules/monero/skein.c:2000,1
    - Dst: Skein1024_Update
      Src: /src/cryptofuzz/modules/monero/skein.c:2001,1
    - Dst: Skein_Set_Bit_Pad_Flag
      Src: /src/cryptofuzz/modules/monero/skein.c:2005,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - state
    - data
    - databitlen
    argTypes:
    - hashState*
    - BitSequence*
    - DataLengthSkein
    constantsTouched: []
    func_position:
      end: 2009
      start: 1968
    functionDepth: 2
    functionLinenumber: 1968
    functionLinenumberEnd: 2009
    functionName: Update
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 23
    functionsReached:
    - Skein_512_Update
    - Skein_Set_Bit_Pad_Flag
    - Skein1024_Update
    - Skein_Assert
    - Skein_256_Update
    linkageType: ''
    returnType: HashReturnSkein
    signature: HashReturnSkein Update(hashState *state, const BitSequence *data, DataLengthSkein
      databitlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Skein_Assert
      Src: /src/cryptofuzz/modules/monero/skein.c:2015,1
    - Dst: Skein_512_Final
      Src: /src/cryptofuzz/modules/monero/skein.c:2018,1
    - Dst: Skein_256_Final
      Src: /src/cryptofuzz/modules/monero/skein.c:2019,1
    - Dst: Skein1024_Final
      Src: /src/cryptofuzz/modules/monero/skein.c:2020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - state
    - hashval
    argTypes:
    - hashState*
    - BitSequence*
    constantsTouched: []
    func_position:
      end: 2023
      start: 2013
    functionDepth: 2
    functionLinenumber: 2013
    functionLinenumberEnd: 2023
    functionName: Final
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 23
    functionsReached:
    - Skein_512_Final
    - Skein_Assert
    - Skein1024_Final
    - Skein_256_Final
    linkageType: ''
    returnType: HashReturnSkein
    signature: HashReturnSkein Final(hashState *state, BitSequence *hashval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/cryptofuzz/modules/monero/skein.c:2031,1
    - Dst: Update
      Src: /src/cryptofuzz/modules/monero/skein.c:2034,1
    - Dst: Final
      Src: /src/cryptofuzz/modules/monero/skein.c:2035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - hashbitlen
    - data
    - databitlen
    - hashval
    argTypes:
    - int
    - BitSequence*
    - DataLengthSkein
    - BitSequence*
    constantsTouched: []
    func_position:
      end: 2038
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2038
    functionName: skein_hash
    functionSourceFile: /src/cryptofuzz/modules/monero/skein.c
    functionUses: 1
    functionsReached:
    - Init
    - Final
    - Update
    linkageType: ''
    returnType: HashReturnSkein
    signature: "HashReturnSkein skein_hash(int hashbitlen, const BitSequence *data,
      /* all-in-one call */\n                DataLengthSkein databitlen,BitSequence
      *hashval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SS
      Src: /src/cryptofuzz/modules/monero/jh.c:160,1
    - Dst: L
      Src: /src/cryptofuzz/modules/monero/jh.c:161,1
    - Dst: SWAP1
      Src: /src/cryptofuzz/modules/monero/jh.c:162,1
    - Dst: SWAP1
      Src: /src/cryptofuzz/modules/monero/jh.c:162,1
    - Dst: SWAP1
      Src: /src/cryptofuzz/modules/monero/jh.c:162,1
    - Dst: SWAP1
      Src: /src/cryptofuzz/modules/monero/jh.c:162,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/monero/jh.c:167,1
    - Dst: L
      Src: /src/cryptofuzz/modules/monero/jh.c:168,1
    - Dst: SWAP2
      Src: /src/cryptofuzz/modules/monero/jh.c:169,1
    - Dst: SWAP2
      Src: /src/cryptofuzz/modules/monero/jh.c:169,1
    - Dst: SWAP2
      Src: /src/cryptofuzz/modules/monero/jh.c:169,1
    - Dst: SWAP2
      Src: /src/cryptofuzz/modules/monero/jh.c:169,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/monero/jh.c:174,1
    - Dst: L
      Src: /src/cryptofuzz/modules/monero/jh.c:175,1
    - Dst: SWAP4
      Src: /src/cryptofuzz/modules/monero/jh.c:176,1
    - Dst: SWAP4
      Src: /src/cryptofuzz/modules/monero/jh.c:176,1
    - Dst: SWAP4
      Src: /src/cryptofuzz/modules/monero/jh.c:176,1
    - Dst: SWAP4
      Src: /src/cryptofuzz/modules/monero/jh.c:176,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/monero/jh.c:181,1
    - Dst: L
      Src: /src/cryptofuzz/modules/monero/jh.c:182,1
    - Dst: SWAP8
      Src: /src/cryptofuzz/modules/monero/jh.c:183,1
    - Dst: SWAP8
      Src: /src/cryptofuzz/modules/monero/jh.c:183,1
    - Dst: SWAP8
      Src: /src/cryptofuzz/modules/monero/jh.c:183,1
    - Dst: SWAP8
      Src: /src/cryptofuzz/modules/monero/jh.c:183,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/monero/jh.c:188,1
    - Dst: L
      Src: /src/cryptofuzz/modules/monero/jh.c:189,1
    - Dst: SWAP16
      Src: /src/cryptofuzz/modules/monero/jh.c:190,1
    - Dst: SWAP16
      Src: /src/cryptofuzz/modules/monero/jh.c:190,1
    - Dst: SWAP16
      Src: /src/cryptofuzz/modules/monero/jh.c:190,1
    - Dst: SWAP16
      Src: /src/cryptofuzz/modules/monero/jh.c:190,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/monero/jh.c:195,1
    - Dst: L
      Src: /src/cryptofuzz/modules/monero/jh.c:196,1
    - Dst: SWAP32
      Src: /src/cryptofuzz/modules/monero/jh.c:197,1
    - Dst: SWAP32
      Src: /src/cryptofuzz/modules/monero/jh.c:197,1
    - Dst: SWAP32
      Src: /src/cryptofuzz/modules/monero/jh.c:197,1
    - Dst: SWAP32
      Src: /src/cryptofuzz/modules/monero/jh.c:197,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/monero/jh.c:202,1
    - Dst: L
      Src: /src/cryptofuzz/modules/monero/jh.c:203,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 1
    argNames:
    - state
    argTypes:
    - hashState*
    constantsTouched: []
    func_position:
      end: 211
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 211
    functionName: E8
    functionSourceFile: /src/cryptofuzz/modules/monero/jh.c
    functionUses: 0
    functionsReached:
    - SWAP1
    - SWAP16
    - SS
    - SWAP8
    - SWAP32
    - L
    - SWAP2
    - SWAP4
    linkageType: ''
    returnType: void
    signature: void E8(hashState *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: E8
      Src: /src/cryptofuzz/modules/monero/jh.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - hashState*
    constantsTouched: []
    func_position:
      end: 226
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 226
    functionName: F8
    functionSourceFile: /src/cryptofuzz/modules/monero/jh.c
    functionUses: 0
    functionsReached:
    - E8
    linkageType: ''
    returnType: void
    signature: void F8(hashState *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:240,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:241,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:242,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - state
    - hashbitlen
    argTypes:
    - hashState*
    - int
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: Init
    functionSourceFile: /src/cryptofuzz/modules/monero/jh.c
    functionUses: 17
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: HashReturn
    signature: HashReturn Init(hashState *state, int hashbitlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:264,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:266,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:273,1
    - Dst: F8
      Src: /src/cryptofuzz/modules/monero/jh.c:276,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:282,1
    - Dst: F8
      Src: /src/cryptofuzz/modules/monero/jh.c:283,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:289,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:291,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - state
    - data
    - databitlen
    argTypes:
    - hashState*
    - BitSequence*
    - DataLength
    constantsTouched: []
    func_position:
      end: 296
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 296
    functionName: Update
    functionSourceFile: /src/cryptofuzz/modules/monero/jh.c
    functionUses: 24
    functionsReached:
    - F8
    - memcpy
    linkageType: ''
    returnType: HashReturn
    signature: HashReturn Update(hashState *state, const BitSequence *data, DataLength
      databitlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/jh.c:305,1
    - Dst: F8
      Src: /src/cryptofuzz/modules/monero/jh.c:315,1
    - Dst: F8
      Src: /src/cryptofuzz/modules/monero/jh.c:327,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/jh.c:328,1
    - Dst: F8
      Src: /src/cryptofuzz/modules/monero/jh.c:337,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:342,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:343,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:344,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/jh.c:345,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 2
    argNames:
    - state
    - hashval
    argTypes:
    - hashState*
    - BitSequence*
    constantsTouched: []
    func_position:
      end: 349
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 349
    functionName: Final
    functionSourceFile: /src/cryptofuzz/modules/monero/jh.c
    functionUses: 24
    functionsReached:
    - F8
    - memset
    - memcpy
    linkageType: ''
    returnType: HashReturn
    signature: HashReturn Final(hashState *state, BitSequence *hashval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/cryptofuzz/modules/monero/jh.c:360,1
    - Dst: Update
      Src: /src/cryptofuzz/modules/monero/jh.c:361,1
    - Dst: Final
      Src: /src/cryptofuzz/modules/monero/jh.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - hashbitlen
    - data
    - databitlen
    - hashval
    argTypes:
    - int
    - BitSequence*
    - DataLength
    - BitSequence*
    constantsTouched: []
    func_position:
      end: 367
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 367
    functionName: jh_hash
    functionSourceFile: /src/cryptofuzz/modules/monero/jh.c
    functionUses: 1
    functionsReached:
    - Init
    - Final
    - Update
    linkageType: ''
    returnType: HashReturn
    signature: HashReturn jh_hash(int hashbitlen, const BitSequence *data,DataLength
      databitlen, BitSequence *hashval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset_s
      Src: /src/cryptofuzz/modules/monero/memwipe.c:53,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/monero/memwipe.c:56,1
    - Dst: _exit
      Src: /src/cryptofuzz/modules/monero/memwipe.c:57,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/monero/memwipe.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: memwipe
    functionSourceFile: /src/cryptofuzz/modules/monero/memwipe.c
    functionUses: 2
    functionsReached:
    - fprintf
    - memset_s
    - _exit
    - abort
    linkageType: ''
    returnType: void
    signature: void *memwipe(void *ptr, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: explicit_bzero
      Src: /src/cryptofuzz/modules/monero/memwipe.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: memwipe
    functionSourceFile: /src/cryptofuzz/modules/monero/memwipe.c
    functionUses: 2
    functionsReached:
    - explicit_bzero
    linkageType: ''
    returnType: void
    signature: void *memwipe(void *ptr, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/monero/memwipe.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: memory_cleanse
    functionSourceFile: /src/cryptofuzz/modules/monero/memwipe.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void memory_cleanse(void *ptr, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memory_cleanse
      Src: /src/cryptofuzz/modules/monero/memwipe.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: memwipe
    functionSourceFile: /src/cryptofuzz/modules/monero/memwipe.c
    functionUses: 2
    functionsReached:
    - memory_cleanse
    linkageType: ''
    returnType: void
    signature: void *memwipe(void *ptr, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:77,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:78,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:79,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:80,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:81,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:82,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:83,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:84,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:85,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:86,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:87,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:88,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:89,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:90,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:91,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - x
    - y
    - r
    argTypes:
    - uint8_t*
    - uint32_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: RND512P
    functionSourceFile: /src/cryptofuzz/modules/monero/groestl.c
    functionUses: 0
    functionsReached:
    - COLUMN
    - SWAP32LE
    linkageType: ''
    returnType: void
    signature: void RND512P(uint8_t *x, uint32_t *y, uint32_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:100,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:102,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:104,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:106,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:108,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:110,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:112,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:114,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:116,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:117,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:118,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:119,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:120,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:121,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:122,1
    - Dst: COLUMN
      Src: /src/cryptofuzz/modules/monero/groestl.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - x
    - y
    - r
    argTypes:
    - uint8_t*
    - uint32_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 124
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 124
    functionName: RND512Q
    functionSourceFile: /src/cryptofuzz/modules/monero/groestl.c
    functionUses: 0
    functionsReached:
    - COLUMN
    - SWAP32LE
    linkageType: ''
    returnType: void
    signature: void RND512Q(uint8_t *x, uint32_t *y, uint32_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RND512Q
      Src: /src/cryptofuzz/modules/monero/groestl.c:140,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:140,1
    - Dst: RND512Q
      Src: /src/cryptofuzz/modules/monero/groestl.c:141,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:141,1
    - Dst: RND512Q
      Src: /src/cryptofuzz/modules/monero/groestl.c:142,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:142,1
    - Dst: RND512Q
      Src: /src/cryptofuzz/modules/monero/groestl.c:143,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:143,1
    - Dst: RND512Q
      Src: /src/cryptofuzz/modules/monero/groestl.c:144,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:144,1
    - Dst: RND512Q
      Src: /src/cryptofuzz/modules/monero/groestl.c:145,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:145,1
    - Dst: RND512Q
      Src: /src/cryptofuzz/modules/monero/groestl.c:146,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:146,1
    - Dst: RND512Q
      Src: /src/cryptofuzz/modules/monero/groestl.c:147,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:147,1
    - Dst: RND512Q
      Src: /src/cryptofuzz/modules/monero/groestl.c:148,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:148,1
    - Dst: RND512Q
      Src: /src/cryptofuzz/modules/monero/groestl.c:149,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:149,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:152,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:152,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:153,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:153,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:154,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:154,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:155,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:155,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:156,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:156,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:157,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:157,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:158,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:158,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:159,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:159,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:160,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:160,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:161,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 2
    argNames:
    - h
    - m
    argTypes:
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 167
    functionName: F512
    functionSourceFile: /src/cryptofuzz/modules/monero/groestl.c
    functionUses: 0
    functionsReached:
    - SWAP32LE
    - RND512Q
    - RND512P
    linkageType: ''
    returnType: void
    signature: void F512(uint32_t *h, const uint32_t *m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: F512
      Src: /src/cryptofuzz/modules/monero/groestl.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - input
    - msglen
    argTypes:
    - hashState*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: Transform
    functionSourceFile: /src/cryptofuzz/modules/monero/groestl.c
    functionUses: 11
    functionsReached:
    - F512
    linkageType: ''
    returnType: void
    signature: "void Transform(hashState *ctx, \n\t       const uint8_t *input, \n\t
      \      int msglen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:198,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:198,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:199,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:199,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:200,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:200,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:201,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:201,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:202,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:202,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:203,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:203,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:204,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:204,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:205,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:205,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:206,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:206,1
    - Dst: RND512P
      Src: /src/cryptofuzz/modules/monero/groestl.c:207,1
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - hashState*
    constantsTouched: []
    func_position:
      end: 211
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 211
    functionName: OutputTransformation
    functionSourceFile: /src/cryptofuzz/modules/monero/groestl.c
    functionUses: 0
    functionsReached:
    - SWAP32LE
    - RND512P
    linkageType: ''
    returnType: void
    signature: void OutputTransformation(hashState *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWAP32LE
      Src: /src/cryptofuzz/modules/monero/groestl.c:223,1
    - Dst: u32BIG
      Src: /src/cryptofuzz/modules/monero/groestl.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - hashState*
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: Init
    functionSourceFile: /src/cryptofuzz/modules/monero/groestl.c
    functionUses: 18
    functionsReached:
    - u32BIG
    - SWAP32LE
    linkageType: ''
    returnType: void
    signature: void Init(hashState* ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Transform
      Src: /src/cryptofuzz/modules/monero/groestl.c:257,1
    - Dst: Transform
      Src: /src/cryptofuzz/modules/monero/groestl.c:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - input
    - databitlen
    argTypes:
    - hashState*
    - BitSequence*
    - DataLength
    constantsTouched: []
    func_position:
      end: 276
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 276
    functionName: Update
    functionSourceFile: /src/cryptofuzz/modules/monero/groestl.c
    functionUses: 25
    functionsReached:
    - Transform
    linkageType: ''
    returnType: void
    signature: "void Update(hashState* ctx,\n\t\t  const BitSequence* input,\n\t\t
      \ DataLength databitlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Transform
      Src: /src/cryptofuzz/modules/monero/groestl.c:302,1
    - Dst: Transform
      Src: /src/cryptofuzz/modules/monero/groestl.c:323,1
    - Dst: OutputTransformation
      Src: /src/cryptofuzz/modules/monero/groestl.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - output
    argTypes:
    - hashState*
    - BitSequence*
    constantsTouched: []
    func_position:
      end: 339
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 339
    functionName: Final
    functionSourceFile: /src/cryptofuzz/modules/monero/groestl.c
    functionUses: 25
    functionsReached:
    - OutputTransformation
    - Transform
    linkageType: ''
    returnType: void
    signature: "void Final(hashState* ctx,\n\t\t BitSequence* output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/cryptofuzz/modules/monero/groestl.c:349,1
    - Dst: Update
      Src: /src/cryptofuzz/modules/monero/groestl.c:353,1
    - Dst: Final
      Src: /src/cryptofuzz/modules/monero/groestl.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - databitlen
    - hashval
    argTypes:
    - BitSequence*
    - DataLength
    - BitSequence*
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: groestl
    functionSourceFile: /src/cryptofuzz/modules/monero/groestl.c
    functionUses: 2
    functionsReached:
    - Init
    - Final
    - Update
    linkageType: ''
    returnType: void
    signature: "void groestl(const BitSequence* data, \n\t\tDataLength databitlen,\n\t\tBitSequence*
      hashval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _rotl
      Src: /src/cryptofuzz/modules/monero/int-util.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: rol32
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached:
    - _rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rol32(uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _rotl64
      Src: /src/cryptofuzz/modules/monero/int-util.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: rol64
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached:
    - _rotl64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rol64(uint64_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: rol32
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rol32(uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: rol64
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rol64(uint64_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: hi_dword
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hi_dword(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: lo_dword
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t lo_dword(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/monero/int-util.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - multiplier
    - multiplicand
    - product_hi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: mul128
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mul128(uint64_t multiplier, uint64_t multiplicand, uint64_t*
      product_hi)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dividend
    - divisor
    - remainder
    argTypes:
    - uint64_t
    - uint32_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: div_with_reminder
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div_with_reminder(uint64_t dividend, uint32_t divisor, uint32_t*
      remainder)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hi_dword
      Src: /src/cryptofuzz/modules/monero/int-util.h:119,1
    - Dst: lo_dword
      Src: /src/cryptofuzz/modules/monero/int-util.h:120,1
    - Dst: hi_dword
      Src: /src/cryptofuzz/modules/monero/int-util.h:121,1
    - Dst: lo_dword
      Src: /src/cryptofuzz/modules/monero/int-util.h:122,1
    - Dst: div_with_reminder
      Src: /src/cryptofuzz/modules/monero/int-util.h:124,1
    - Dst: div_with_reminder
      Src: /src/cryptofuzz/modules/monero/int-util.h:125,1
    - Dst: div_with_reminder
      Src: /src/cryptofuzz/modules/monero/int-util.h:126,1
    - Dst: div_with_reminder
      Src: /src/cryptofuzz/modules/monero/int-util.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - dividend_hi
    - dividend_lo
    - divisor
    - quotient_hi
    - quotient_lo
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: div128_32
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached:
    - hi_dword
    - div_with_reminder
    - lo_dword
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t div128_32(uint64_t dividend_hi, uint64_t dividend_lo, uint32_t
      divisor, uint64_t* quotient_hi, uint64_t* quotient_lo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ident32
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ident32(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ident64
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ident64(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: swap32
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t swap32(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: swap64
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t swap64(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - UNUSED
    - UNUSED
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: mem_inplace_ident
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mem_inplace_ident(void *mem UNUSED, size_t n UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swap32
      Src: /src/cryptofuzz/modules/monero/int-util.h:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: mem_inplace_swap32
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached:
    - swap32
    linkageType: ''
    returnType: void
    signature: void mem_inplace_swap32(void *mem, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swap64
      Src: /src/cryptofuzz/modules/monero/int-util.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: mem_inplace_swap64
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached:
    - swap64
    linkageType: ''
    returnType: void
    signature: void mem_inplace_swap64(void *mem, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/int-util.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: memcpy_ident32
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void memcpy_ident32(void *dst, const void *src, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/monero/int-util.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: memcpy_ident64
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void memcpy_ident64(void *dst, const void *src, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swap32
      Src: /src/cryptofuzz/modules/monero/int-util.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: memcpy_swap32
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached:
    - swap32
    linkageType: ''
    returnType: void
    signature: void memcpy_swap32(void *dst, const void *src, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swap64
      Src: /src/cryptofuzz/modules/monero/int-util.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: memcpy_swap64
    functionSourceFile: /src/cryptofuzz/modules/monero/int-util.h
    functionUses: 0
    functionsReached:
    - swap64
    linkageType: ''
    returnType: void
    signature: void memcpy_swap64(void *dst, const void *src, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tools::scrub
      Src: /src/cryptofuzz/modules/monero/memwipe.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: ~scrubbed()
    functionSourceFile: /src/cryptofuzz/modules/monero/memwipe.h
    functionUses: 0
    functionsReached:
    - tools::scrub
    linkageType: ''
    returnType: void
    signature: void ~scrubbed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memwipe
      Src: /src/cryptofuzz/modules/monero/memwipe.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: tools::scrub
    functionSourceFile: /src/cryptofuzz/modules/monero/memwipe.h
    functionUses: 1
    functionsReached:
    - memwipe
    linkageType: ''
    returnType: void
    signature: void scrub()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - scrubbed<T>
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: tools::unwrap
    functionSourceFile: /src/cryptofuzz/modules/monero/memwipe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & unwrap(scrubbed<T>& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - scrubbed<T>
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: tools::unwrap
    functionSourceFile: /src/cryptofuzz/modules/monero/memwipe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & unwrap(scrubbed<T> const& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::noble_bls12_381::noble_bls12_381
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void noble_bls12_381::noble_bls12_381(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: noble_bls12_381::~noble_bls12_381(void)
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noble_bls12_381::~noble_bls12_381(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:27,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:28,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:28,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:30,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:30,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:33,1
    - Dst: component::BLS_PublicKey
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - component::BLS_PublicKey
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> noble_bls12_381::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:43,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:44,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:44,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:46,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:46,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:49,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_bls12_381::OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:59,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:60,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:60,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:62,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:62,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:65,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_bls12_381::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:75,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:76,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:76,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:78,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:78,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:81,1
    - Dst: cryptofuzz::component::BLS_Signature::BLS_Signature
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_Sign
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::component::BLS_Signature::BLS_Signature
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> noble_bls12_381::OpBLS_Sign(operation::BLS_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:91,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:92,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:92,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:94,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:94,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:97,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - getBignum
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> noble_bls12_381::OpBLS_Compress_G1(operation::BLS_Compress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:107,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:108,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:108,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:110,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:110,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:113,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_bls12_381::OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:123,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:124,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:124,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:126,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:126,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:129,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_Compress_G2
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_bls12_381::OpBLS_Compress_G2(operation::BLS_Compress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:139,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:140,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:140,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:142,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:142,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:145,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_bls12_381::OpBLS_Decompress_G2(operation::BLS_Decompress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:155,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:156,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:156,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:158,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:158,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_bls12_381::OpBLS_Verify(operation::BLS_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:171,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:172,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:172,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:174,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:174,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_bls12_381::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:187,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:188,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:188,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:190,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:190,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_bls12_381::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:203,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:204,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:204,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:206,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:206,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:209,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_bls12_381::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:219,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:220,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:220,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:222,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:222,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:225,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_bls12_381::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:235,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:236,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:236,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:238,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:238,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:241,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_bls12_381::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:251,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:252,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:252,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:254,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:254,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 262
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 262
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_bls12_381::OpBLS_G1_IsEq(operation::BLS_G1_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:267,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:268,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:268,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:270,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:270,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:273,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_bls12_381::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:283,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:284,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:284,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:286,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:286,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:289,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 294
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 294
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_bls12_381::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:299,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:300,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:300,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:302,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:302,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:305,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_bls12_381::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:315,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:316,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:316,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:318,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:318,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 326
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 326
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_bls12_381::OpBLS_G2_IsEq(operation::BLS_G2_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:331,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:332,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:332,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:334,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:334,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:337,1
    - Dst: cryptofuzz::module::noble_curves::OpBLS_HashToG1
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Aggregate_G1
    constantsTouched: []
    func_position:
      end: 342
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 342
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_Aggregate_G1
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - cryptofuzz::module::noble_curves::OpBLS_HashToG1
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_bls12_381::OpBLS_Aggregate_G1(operation::BLS_Aggregate_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:347,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:348,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:348,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:350,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:350,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:353,1
    - Dst: cryptofuzz::component::G2::G2
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Aggregate_G2
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: cryptofuzz::module::noble_bls12_381::OpBLS_Aggregate_G2
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::component::G2::G2
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_bls12_381::OpBLS_Aggregate_G2(operation::BLS_Aggregate_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:366,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:368,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:377,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:378,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:378,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:378,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:378,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:380,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:380,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:383,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/noble-bls12-381/module.cpp:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 388
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 388
    functionName: cryptofuzz::module::noble_bls12_381::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - std::to_string
    - CF_OPERATION
    - modulo::ToTrimmedString
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - getBignum
    - auto::dump
    - Run
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> noble_bls12_381::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: cryptofuzz::module::noble_bls12_381::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool noble_bls12_381::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-bls12-381/generate_ids.cpp:10,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-bls12-381/generate_ids.cpp:10,1
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/noble-bls12-381/generate_ids.cpp:15,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/noble-bls12-381/generate_ids.cpp:18,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/noble-bls12-381/generate_ids.cpp:20,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-bls12-381/generate_ids.cpp:21,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-bls12-381/generate_ids.cpp:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 25
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/noble-bls12-381/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - abort
    - std::string::find_first_of
    - printf
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: cryptofuzz::module::spl_math::spl_math
    functionSourceFile: /src/cryptofuzz/modules/spl_math/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void spl_math::spl_math(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:17,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:17,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:21,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:21,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:26,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:26,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:26,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:29,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:29,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:30,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:30,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:32,1
    - Dst: spl_math_sqrt
      Src: /src/cryptofuzz/modules/spl_math/module.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 33
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::spl_math::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/spl_math/module.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::reverse
    - std::to_string
    - cryptofuzz::util::DecToBin
    - memcpy
    - auto::data
    - spl_math_sqrt
    - auto::end
    - bn0::ToTrimmedString
    - calcOp::Get
    - CF_CALCOP
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> spl_math::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:24,1
    - Dst: ECGroup_fromName
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:24,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:25,1
    - Dst: ECGroup_fromName
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:25,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:26,1
    - Dst: ECGroup_fromName
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:26,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: cryptofuzz::module::NSS_bignum::Initialize
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ECGroup_fromName
    - CF_CHECK_NE
    - printf
    - abort
    linkageType: ''
    returnType: void
    signature: void Initialize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:42,1
    - Dst: mp_add
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:42,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:42,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:42,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::NSS_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_add
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:54,1
    - Dst: mp_sub
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:54,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:54,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:54,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::NSS_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_sub
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:66,1
    - Dst: mp_mul
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:66,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:66,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:66,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: cryptofuzz::module::NSS_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_mul
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:78,1
    - Dst: mp_div
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:78,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:78,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:78,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::NSS_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_div
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:90,1
    - Dst: mp_sqr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:90,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:90,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: cryptofuzz::module::NSS_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_sqr
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:102,1
    - Dst: mp_mod
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:102,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:103,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::NSS_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - GetPtr
    - mp_mod
    - IsZero
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_zero
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:116,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:116,1
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:117,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:117,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:117,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:121,1
    - Dst: mp_exptmod
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:121,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:121,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:121,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:121,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: cryptofuzz::module::NSS_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Bignum::GetPtr
    - mp_zero
    - CF_CHECK_EQ
    - mp_cmp
    - GetPtr
    - mp_exptmod
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:133,1
    - Dst: mp_gcd
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:133,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:133,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:133,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: cryptofuzz::module::NSS_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_gcd
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_zero
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:148,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:148,1
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:149,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:149,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:153,1
    - Dst: mp_xgcd
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:153,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:153,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:153,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:153,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:153,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: cryptofuzz::module::NSS_bignum::ExtGCD_X::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Bignum::GetPtr
    - mp_zero
    - CF_CHECK_EQ
    - mp_cmp
    - GetPtr
    - mp_xgcd
    linkageType: ''
    returnType: bool
    signature: bool ExtGCD_X::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_zero
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:171,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:171,1
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:172,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:172,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:172,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:176,1
    - Dst: mp_xgcd
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:176,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:176,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:176,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:176,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:176,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 185
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 185
    functionName: cryptofuzz::module::NSS_bignum::ExtGCD_Y::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Bignum::GetPtr
    - mp_zero
    - CF_CHECK_EQ
    - mp_cmp
    - GetPtr
    - mp_xgcd
    linkageType: ''
    returnType: bool
    signature: bool ExtGCD_Y::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:191,1
    - Dst: mp_addmod
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:191,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:191,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:191,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:191,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:191,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:192,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: cryptofuzz::module::NSS_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_addmod
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - GetPtr
    - IsZero
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:204,1
    - Dst: mp_submod
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:204,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:204,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:204,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:204,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:204,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:205,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: cryptofuzz::module::NSS_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - mp_submod
    - GetPtr
    - IsZero
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:217,1
    - Dst: mp_mulmod
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:217,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:217,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:217,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:217,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:217,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:218,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: cryptofuzz::module::NSS_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - GetPtr
    - mp_mulmod
    - IsZero
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:230,1
    - Dst: mp_sqrmod
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:230,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:230,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:230,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:230,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:231,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: cryptofuzz::module::NSS_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - GetPtr
    - mp_sqrmod
    - IsZero
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:245,1
    - Dst: mp_invmod
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:250,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:250,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:250,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:250,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:252,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:255,1
    - Dst: mp_invmod_xgcd
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:255,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:255,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:255,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 262
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 262
    functionName: cryptofuzz::module::NSS_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - Set
    - mp_invmod_xgcd
    - Get
    - mp_invmod
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:268,1
    - Dst: mp_lcm
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:268,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:268,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:268,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: cryptofuzz::module::NSS_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_lcm
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:279,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:279,1
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:279,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:279,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: cryptofuzz::module::NSS_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - mp_cmp
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:287,1
    - Dst: mp_abs
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:287,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:287,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: cryptofuzz::module::NSS_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_abs
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:299,1
    - Dst: mp_neg
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:299,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:299,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: cryptofuzz::module::NSS_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_neg
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:311,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:311,1
    - Dst: mp_iseven
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:311,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: cryptofuzz::module::NSS_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - mp_iseven
    - GetPtr
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:320,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:320,1
    - Dst: mp_isodd
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:320,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: cryptofuzz::module::NSS_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - std::to_string
    - mp_isodd
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:329,1
    - Dst: mp_expt
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:329,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:329,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:329,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: cryptofuzz::module::NSS_bignum::Exp::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_expt
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Exp::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:342,1
    - Dst: meth::field_mod
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:342,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:342,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: cryptofuzz::module::NSS_bignum::Mod_NIST_256::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - meth::field_mod
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_256::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:354,1
    - Dst: meth::field_mod
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:354,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:354,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: cryptofuzz::module::NSS_bignum::Mod_NIST_384::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - meth::field_mod
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_384::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:366,1
    - Dst: meth::field_mod
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 372
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 372
    functionName: cryptofuzz::module::NSS_bignum::Mod_NIST_521::Run
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - meth::field_mod
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_521::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/cryptofuzz/modules/nss/module.cpp:16,1
    - Dst: NSS_NoDB_Init
      Src: /src/cryptofuzz/modules/nss/module.cpp:17,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/nss/module.cpp:19,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/nss/module.cpp:20,1
    - Dst: cryptofuzz::module::NSS_bignum::Initialize
      Src: /src/cryptofuzz/modules/nss/module.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 24
    functionName: cryptofuzz::module::NSS::NSS
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - NSS_NoDB_Init
    - cryptofuzz::module::NSS_bignum::Initialize
    - setenv
    - abort
    - printf
    linkageType: ''
    returnType: void
    signature: void NSS::NSS(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NSS_Shutdown
      Src: /src/cryptofuzz/modules/nss/module.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: NSS::~NSS(void)
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - NSS_Shutdown
    linkageType: ''
    returnType: void
    signature: void NSS::~NSS(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:33,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:34,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:35,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:36,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:37,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:39,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:40,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/nss/module.cpp:43,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:43,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/nss/module.cpp:43,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/nss/module.cpp:47,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::nss_detail::toOID
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: std::optional<SECOidTag>
    signature: std::optional<SECOidTag> toOID(const component::DigestType& digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:53,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:53,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:64,1
    - Dst: cryptofuzz::module::nss_detail::toOID
      Src: /src/cryptofuzz/modules/nss/module.cpp:64,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:65,1
    - Dst: PK11_CreateDigestContext
      Src: /src/cryptofuzz/modules/nss/module.cpp:65,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:66,1
    - Dst: PK11_DigestBegin
      Src: /src/cryptofuzz/modules/nss/module.cpp:66,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nss/module.cpp:67,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:72,1
    - Dst: PK11_DigestOp
      Src: /src/cryptofuzz/modules/nss/module.cpp:72,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:78,1
    - Dst: PK11_DigestFinal
      Src: /src/cryptofuzz/modules/nss/module.cpp:78,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/nss/module.cpp:79,1
    - Dst: PK11_DestroyContext
      Src: /src/cryptofuzz/modules/nss/module.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 88
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::NSS::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - PK11_CreateDigestContext
    - CF_CHECK_EQ
    - PK11_DigestBegin
    - PK11_DigestFinal
    - CF_CHECK_NE
    - cryptofuzz::module::nss_detail::toOID
    - modifier::GetSize
    - PK11_DestroyContext
    - PK11_DigestOp
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> NSS::OpDigest(operation::Digest& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:93,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:94,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:95,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:96,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:97,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:99,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:100,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:101,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/nss/module.cpp:104,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:104,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/nss/module.cpp:104,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/nss/module.cpp:108,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::nss_detail::toHMACCKM
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: std::optional<CK_MECHANISM_TYPE>
    signature: std::optional<CK_MECHANISM_TYPE> toHMACCKM(const component::DigestType&
      digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:114,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:114,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:123,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:123,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:123,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:127,1
    - Dst: PK11_GetInternalSlot
      Src: /src/cryptofuzz/modules/nss/module.cpp:127,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:130,1
    - Dst: cryptofuzz::module::nss_detail::toHMACCKM
      Src: /src/cryptofuzz/modules/nss/module.cpp:130,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:134,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:135,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:136,1
    - Dst: PK11_ImportSymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:136,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:144,1
    - Dst: PK11_CreateContextBySymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:144,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:147,1
    - Dst: PK11_DigestBegin
      Src: /src/cryptofuzz/modules/nss/module.cpp:147,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nss/module.cpp:148,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:153,1
    - Dst: PK11_DigestOp
      Src: /src/cryptofuzz/modules/nss/module.cpp:153,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:159,1
    - Dst: PK11_DigestFinal
      Src: /src/cryptofuzz/modules/nss/module.cpp:159,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/nss/module.cpp:160,1
    - Dst: PK11_DestroyContext
      Src: /src/cryptofuzz/modules/nss/module.cpp:165,1
    - Dst: PK11_FreeSymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:168,1
    - Dst: PK11_FreeSlot
      Src: /src/cryptofuzz/modules/nss/module.cpp:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 175
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 175
    functionName: cryptofuzz::module::NSS::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::nss_detail::toHMACCKM
    - PK11_DigestOp
    - modifier::GetPtr
    - PK11_FreeSymKey
    - PK11_GetInternalSlot
    - PK11_CreateContextBySymKey
    - PK11_DestroyContext
    - std::vector::data
    - std::vector::size
    - CF_CHECK_EQ
    - PK11_DigestBegin
    - generate_HMAC
    - PK11_ImportSymKey
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - PK11_FreeSlot
    - PK11_DigestFinal
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> NSS::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:178,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:178,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:185,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:185,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:185,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:186,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:186,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:186,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:188,1
    - Dst: static_cast<uint32_t>
      Src: /src/cryptofuzz/modules/nss/module.cpp:188,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:188,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:189,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:190,1
    - Dst: static_cast<uint32_t>
      Src: /src/cryptofuzz/modules/nss/module.cpp:190,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:190,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:194,1
    - Dst: PK11_GetInternalSlot
      Src: /src/cryptofuzz/modules/nss/module.cpp:194,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:196,1
    - Dst: PK11_ImportSymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:196,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:197,1
    - Dst: PK11_SignWithSymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:197,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/nss/module.cpp:199,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:199,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:199,1
    - Dst: PK11_FreeSymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:203,1
    - Dst: PK11_FreeSlot
      Src: /src/cryptofuzz/modules/nss/module.cpp:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 210
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 210
    functionName: cryptofuzz::module::NSS::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - cipher::key::GetSize
    - cipher::cipherType::Get
    - cipher::key::GetPtr
    - PK11_SignWithSymKey
    - CF_CHECK_EQ
    - cleartext::GetSize
    - PK11_FreeSymKey
    - PK11_GetInternalSlot
    - PK11_FreeSlot
    - cleartext::GetPtr
    - CF_CHECK_NE
    - generate_HMAC
    - PK11_ImportSymKey
    - CF_CIPHER
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> NSS::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:217,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:218,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:219,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:220,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:221,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:222,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:223,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:224,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:225,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:226,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:227,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:228,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:229,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:230,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:231,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:232,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:233,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:234,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:235,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/nss/module.cpp:261,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:261,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/nss/module.cpp:261,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/nss/module.cpp:265,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' cipherType'
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 266
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 266
    functionName: cryptofuzz::module::nss_detail::toCipherCKM
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_CIPHER
    - Get
    linkageType: ''
    returnType: std::optional<CK_MECHANISM_TYPE>
    signature: std::optional<CK_MECHANISM_TYPE> toCipherCKM(const component::SymmetricCipherType&
      cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nss/module.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - ' op'
    argTypes:
    - Datasource
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: cryptofuzz::module::nss_detail::ToParts
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    linkageType: ''
    returnType: util::Multipart
    signature: util::Multipart ToParts<>(Datasource& ds, const operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nss/module.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - ' op'
    argTypes:
    - Datasource
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: cryptofuzz::module::nss_detail::ToParts
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    linkageType: ''
    returnType: util::Multipart
    signature: util::Multipart ToParts<>(Datasource& ds, const operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: cryptofuzz::module::nss_detail::GetAttributeType
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CK_ATTRIBUTE_TYPE
    signature: CK_ATTRIBUTE_TYPE GetAttributeType<operation::SymmetricEncrypt>(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: cryptofuzz::module::nss_detail::GetAttributeType
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CK_ATTRIBUTE_TYPE
    signature: CK_ATTRIBUTE_TYPE GetAttributeType<operation::SymmetricDecrypt>(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: cryptofuzz::module::nss_detail::GetInSize
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetInSize<>(const operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: cryptofuzz::module::nss_detail::GetInPtr
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GetInPtr<>(const operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: cryptofuzz::module::nss_detail::GetOutSize
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetOutSize<>(const operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: cryptofuzz::module::nss_detail::GetInSize
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetInSize<>(const operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: cryptofuzz::module::nss_detail::GetInPtr
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GetInPtr<>(const operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: cryptofuzz::module::nss_detail::GetOutSize
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetOutSize<>(const operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: cryptofuzz::module::nss_detail::GetTagSize
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetTagSize<>(const operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: cryptofuzz::module::nss_detail::GetTagSize
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - tag::GetSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetTagSize<>(const operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK11_Encrypt
      Src: /src/cryptofuzz/modules/nss/module.cpp:346,1
    - Dst: cryptofuzz::module::nss_detail::GetOutSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:352,1
    - Dst: cryptofuzz::module::nss_detail::GetInPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:353,1
    - Dst: cryptofuzz::module::nss_detail::GetInSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - ckm
    - param
    - out
    - ' op'
    - outLen
    argTypes:
    - PK11SymKey*
    - CK_MECHANISM_TYPE
    - SECItem*
    - uint8_t*
    - operation::SymmetricEncrypt
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 355
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 355
    functionName: cryptofuzz::module::nss_detail::CryptOneShot
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - PK11_Encrypt
    - cryptofuzz::module::nss_detail::GetOutSize
    - cryptofuzz::module::nss_detail::GetInSize
    - cryptofuzz::module::nss_detail::GetInPtr
    linkageType: ''
    returnType: SECStatus
    signature: SECStatus CryptOneShot<>(PK11SymKey* key, CK_MECHANISM_TYPE ckm, SECItem*
      param, uint8_t* out, operation::SymmetricEncrypt& op, unsigned int* outLen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::IsAEAD
      Src: /src/cryptofuzz/modules/nss/module.cpp:362,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:362,1
    - Dst: cryptofuzz::module::nss_detail::GetInPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:363,1
    - Dst: cryptofuzz::module::nss_detail::GetInPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:363,1
    - Dst: cryptofuzz::module::nss_detail::GetInSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:363,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:364,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:364,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:364,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/nss/module.cpp:366,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nss/module.cpp:366,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nss/module.cpp:366,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/nss/module.cpp:366,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/nss/module.cpp:367,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nss/module.cpp:367,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nss/module.cpp:367,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/nss/module.cpp:367,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:369,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:370,1
    - Dst: cryptofuzz::module::nss_detail::GetInPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:372,1
    - Dst: cryptofuzz::module::nss_detail::GetInSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:373,1
    - Dst: PK11_Decrypt
      Src: /src/cryptofuzz/modules/nss/module.cpp:376,1
    - Dst: cryptofuzz::module::nss_detail::GetOutSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - key
    - ckm
    - param
    - out
    - ' op'
    - outLen
    argTypes:
    - PK11SymKey*
    - CK_MECHANISM_TYPE
    - SECItem*
    - uint8_t*
    - operation::SymmetricDecrypt
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 385
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 385
    functionName: cryptofuzz::module::nss_detail::CryptOneShot
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - tag::GetSize
    - std::vector::size
    - cryptofuzz::module::nss_detail::GetOutSize
    - cipher::cipherType::Get
    - cryptofuzz::repository::IsAEAD
    - copy
    - std::back_inserter
    - tag::GetPtr
    - PK11_Decrypt
    - std::vector::begin
    - cryptofuzz::module::nss_detail::GetInSize
    - std::vector::end
    - cryptofuzz::module::nss_detail::GetInPtr
    linkageType: ''
    returnType: SECStatus
    signature: SECStatus CryptOneShot<>(PK11SymKey* key, CK_MECHANISM_TYPE ckm, SECItem*
      param, uint8_t* out, operation::SymmetricDecrypt& op, unsigned int* outLen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::IsAEAD
      Src: /src/cryptofuzz/modules/nss/module.cpp:397,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:397,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:398,1
    - Dst: cryptofuzz::module::nss_detail::GetTagSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:398,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/nss/module.cpp:399,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:399,1
    - Dst: cryptofuzz::module::nss_detail::GetTagSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:399,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/nss/module.cpp:400,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nss/module.cpp:402,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nss/module.cpp:403,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:403,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nss/module.cpp:404,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:404,1
    - Dst: cryptofuzz::module::nss_detail::GetTagSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:404,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nss/module.cpp:406,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nss/module.cpp:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' op'
    - data
    - size
    argTypes:
    - operation::SymmetricEncrypt
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 408
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 408
    functionName: cryptofuzz::module::nss_detail::CreateReturnValue
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - cryptofuzz::repository::IsAEAD
    - cleartext::GetSize
    - abort
    - cryptofuzz::component::Ciphertext::Ciphertext
    - Buffer
    - printf
    - cryptofuzz::module::nss_detail::GetTagSize
    linkageType: ''
    returnType: component::Ciphertext
    signature: "component::Ciphertext CreateReturnValue(\n            const operation::SymmetricEncrypt&
      op,\n            const uint8_t* data,\n            const size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nss/module.cpp:415,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nss/module.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' op'
    - data
    - size
    argTypes:
    - operation::SymmetricDecrypt
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: cryptofuzz::module::nss_detail::CreateReturnValue
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - Buffer
    - component::Cleartext
    linkageType: ''
    returnType: component::Cleartext
    signature: "component::Cleartext CreateReturnValue(\n            const operation::SymmetricDecrypt&
      op,\n            const uint8_t* data,\n            const size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:421,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:421,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:436,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:436,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:436,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:437,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:437,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:437,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/nss/module.cpp:440,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:440,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:440,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:440,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nss/module.cpp:447,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:447,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nss/module.cpp:448,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:448,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nss/module.cpp:449,1
    - Dst: cryptofuzz::module::nss_detail::GetInSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:449,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:451,1
    - Dst: cryptofuzz::module::nss_detail::toCipherCKM
      Src: /src/cryptofuzz/modules/nss/module.cpp:451,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:453,1
    - Dst: PK11_GetInternalSlot
      Src: /src/cryptofuzz/modules/nss/module.cpp:453,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nss/module.cpp:455,1
    - Dst: cryptofuzz::module::nss_detail::GetOutSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:455,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:459,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:460,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:461,1
    - Dst: PK11_ImportSymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:461,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:465,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nss/module.cpp:465,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:467,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:467,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:469,1
    - Dst: PORT_Alloc
      Src: /src/cryptofuzz/modules/nss/module.cpp:469,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:470,1
    - Dst: PORT_Alloc
      Src: /src/cryptofuzz/modules/nss/module.cpp:470,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nss/module.cpp:473,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:473,1
    - Dst: cryptofuzz::repository::IsAEAD
      Src: /src/cryptofuzz/modules/nss/module.cpp:478,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:478,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:479,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:479,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:480,1
    - Dst: PK11_ParamFromIV
      Src: /src/cryptofuzz/modules/nss/module.cpp:480,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:482,1
    - Dst: PORT_Alloc
      Src: /src/cryptofuzz/modules/nss/module.cpp:482,1
    - Dst: cryptofuzz::repository::IsGCM
      Src: /src/cryptofuzz/modules/nss/module.cpp:484,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:484,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:485,1
    - Dst: PORT_Alloc
      Src: /src/cryptofuzz/modules/nss/module.cpp:485,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:487,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:488,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:489,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:490,1
    - Dst: cryptofuzz::module::nss_detail::GetTagSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:491,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:497,1
    - Dst: PORT_Alloc
      Src: /src/cryptofuzz/modules/nss/module.cpp:497,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:498,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:499,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:500,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:501,1
    - Dst: cryptofuzz::module::nss_detail::GetTagSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:502,1
    - Dst: cryptofuzz::repository::IsAEAD
      Src: /src/cryptofuzz/modules/nss/module.cpp:510,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:510,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:512,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:518,1
    - Dst: PK11_CreateContextBySymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:518,1
    - Dst: cryptofuzz::module::nss_detail::GetAttributeType
      Src: /src/cryptofuzz/modules/nss/module.cpp:518,1
    - Dst: cryptofuzz::module::nss_detail::ToParts
      Src: /src/cryptofuzz/modules/nss/module.cpp:519,1
    - Dst: cryptofuzz::module::nss_detail::CryptOneShot
      Src: /src/cryptofuzz/modules/nss/module.cpp:525,1
    - Dst: cryptofuzz::module::nss_detail::GetOutSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:527,1
    - Dst: cryptofuzz::module::nss_detail::CreateReturnValue
      Src: /src/cryptofuzz/modules/nss/module.cpp:528,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:540,1
    - Dst: PK11_CipherOp
      Src: /src/cryptofuzz/modules/nss/module.cpp:540,1
    - Dst: cryptofuzz::module::nss_detail::GetOutSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:544,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/nss/module.cpp:547,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:555,1
    - Dst: PK11_DigestFinal
      Src: /src/cryptofuzz/modules/nss/module.cpp:555,1
    - Dst: cryptofuzz::module::nss_detail::GetOutSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:555,1
    - Dst: cryptofuzz::module::nss_detail::GetOutSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:557,1
    - Dst: cryptofuzz::module::nss_detail::CreateReturnValue
      Src: /src/cryptofuzz/modules/nss/module.cpp:558,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nss/module.cpp:564,1
    - Dst: PK11_FreeSymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:567,1
    - Dst: SECITEM_FreeItem
      Src: /src/cryptofuzz/modules/nss/module.cpp:570,1
    - Dst: PK11_FreeSlot
      Src: /src/cryptofuzz/modules/nss/module.cpp:573,1
    - Dst: PK11_DestroyContext
      Src: /src/cryptofuzz/modules/nss/module.cpp:576,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 100
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - OperationType
    constantsTouched: []
    func_position:
      end: 579
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 579
    functionName: cryptofuzz::module::nss_detail::Crypt
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::nss_detail::CryptOneShot
    - cryptofuzz::module::nss_detail::GetInSize
    - cryptofuzz::module::nss_detail::GetTagSize
    - cryptofuzz::module::nss_detail::GetOutSize
    - cipher::cipherType::Get
    - modifier::GetPtr
    - std::vector<uint8_t>
    - PK11_FreeSymKey
    - PK11_GetInternalSlot
    - PK11_CreateContextBySymKey
    - aad::GetSize
    - cryptofuzz::module::nss_detail::toCipherCKM
    - Datasource::Get
    - PK11_DestroyContext
    - std::vector::data
    - std::vector::size
    - cryptofuzz::module::nss_detail::CreateReturnValue
    - CF_CHECK_EQ
    - memcpy
    - abort
    - cryptofuzz::module::nss_detail::GetAttributeType
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - PK11_ImportSymKey
    - CF_CIPHER
    - cipher::iv::GetPtr
    - SECITEM_FreeItem
    - PORT_Alloc
    - cryptofuzz::repository::IsGCM
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - cryptofuzz::repository::IsAEAD
    - cryptofuzz::module::nss_detail::ToParts
    - PK11_FreeSlot
    - PK11_ParamFromIV
    - PK11_DigestFinal
    - CF_CHECK_NE
    - aad::GetPtr
    - modifier::GetSize
    - CF_CHECK_GT
    - PK11_CipherOp
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Crypt(OperationType& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nss_detail::Crypt<component::Ciphertext, operation::SymmetricEncrypt>
      Src: /src/cryptofuzz/modules/nss/module.cpp:584,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/nss/module.cpp:585,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 590
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 590
    functionName: cryptofuzz::module::NSS::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - cryptofuzz::repository::IsCBC
    - nss_detail::Crypt<component::Ciphertext, operation::SymmetricEncrypt>
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> NSS::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nss_detail::Crypt<component::Cleartext, operation::SymmetricDecrypt>
      Src: /src/cryptofuzz/modules/nss/module.cpp:593,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/nss/module.cpp:594,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 599
    functionName: cryptofuzz::module::NSS::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - nss_detail::Crypt<component::Cleartext, operation::SymmetricDecrypt>
    - cipher::cipherType::Get
    - cryptofuzz::repository::IsCBC
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> NSS::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:604,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:605,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:606,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:607,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/nss/module.cpp:610,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:610,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/nss/module.cpp:610,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/nss/module.cpp:614,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 615
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 615
    functionName: cryptofuzz::module::nss_detail::toHKDFCKM
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: std::optional<CK_MECHANISM_TYPE>
    signature: std::optional<CK_MECHANISM_TYPE> toHKDFCKM(const component::DigestType&
      digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<uint8_t *>
      Src: /src/cryptofuzz/modules/nss/module.cpp:621,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:621,1
    - Dst: static_cast<uint32_t>
      Src: /src/cryptofuzz/modules/nss/module.cpp:621,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:621,1
    - Dst: const_cast<unsigned char*>
      Src: /src/cryptofuzz/modules/nss/module.cpp:628,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:628,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:628,1
    - Dst: const_cast<unsigned char*>
      Src: /src/cryptofuzz/modules/nss/module.cpp:629,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:629,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:629,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:632,1
    - Dst: cryptofuzz::module::nss_detail::toHKDFCKM
      Src: /src/cryptofuzz/modules/nss/module.cpp:632,1
    - Dst: ScopedPK11SlotInfo
      Src: /src/cryptofuzz/modules/nss/module.cpp:633,1
    - Dst: PK11_GetInternalSlot
      Src: /src/cryptofuzz/modules/nss/module.cpp:633,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:634,1
    - Dst: ScopedPK11SlotInfo::get
      Src: /src/cryptofuzz/modules/nss/module.cpp:634,1
    - Dst: ScopedPK11SymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:635,1
    - Dst: PK11_ImportSymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:635,1
    - Dst: ScopedPK11SlotInfo::get
      Src: /src/cryptofuzz/modules/nss/module.cpp:635,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:637,1
    - Dst: ScopedPK11SymKey::get
      Src: /src/cryptofuzz/modules/nss/module.cpp:637,1
    - Dst: ScopedPK11SymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:640,1
    - Dst: PK11_Derive
      Src: /src/cryptofuzz/modules/nss/module.cpp:640,1
    - Dst: ScopedPK11SymKey::get
      Src: /src/cryptofuzz/modules/nss/module.cpp:640,1
    - Dst: static_cast<int32_t>
      Src: /src/cryptofuzz/modules/nss/module.cpp:640,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:641,1
    - Dst: ScopedPK11SymKey::get
      Src: /src/cryptofuzz/modules/nss/module.cpp:641,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:642,1
    - Dst: PK11_ExtractKeyValue
      Src: /src/cryptofuzz/modules/nss/module.cpp:642,1
    - Dst: ScopedPK11SymKey::get
      Src: /src/cryptofuzz/modules/nss/module.cpp:642,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:643,1
    - Dst: PK11_GetKeyData
      Src: /src/cryptofuzz/modules/nss/module.cpp:643,1
    - Dst: ScopedPK11SymKey::get
      Src: /src/cryptofuzz/modules/nss/module.cpp:643,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 649
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 649
    functionName: cryptofuzz::module::NSS::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - info::GetSize
    - cryptofuzz::module::nss_detail::toHKDFCKM
    - const_cast<unsigned char*>
    - static_cast<int32_t>
    - password::GetPtr
    - PK11_GetInternalSlot
    - info::GetPtr
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - static_cast<uint32_t>
    - PK11_ExtractKeyValue
    - CF_CHECK_EQ
    - password::GetSize
    - PK11_Derive
    - ScopedPK11SlotInfo::get
    - ScopedPK11SymKey::get
    - PK11_ImportSymKey
    - PK11_GetKeyData
    - salt::GetPtr
    - ScopedPK11SymKey
    - ScopedPK11SlotInfo
    - CF_CHECK_NE
    - const_cast<uint8_t *>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> NSS::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:654,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:655,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:656,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:657,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:658,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:659,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/nss/module.cpp:662,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:662,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/nss/module.cpp:662,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/nss/module.cpp:666,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 667
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 667
    functionName: cryptofuzz::module::nss_detail::toHMACOID
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: std::optional<SECOidTag>
    signature: std::optional<SECOidTag> toHMACOID(const component::DigestType& digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<uint8_t *>
      Src: /src/cryptofuzz/modules/nss/module.cpp:679,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:679,1
    - Dst: static_cast<uint32_t>
      Src: /src/cryptofuzz/modules/nss/module.cpp:679,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:679,1
    - Dst: const_cast<uint8_t *>
      Src: /src/cryptofuzz/modules/nss/module.cpp:680,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:680,1
    - Dst: static_cast<uint32_t>
      Src: /src/cryptofuzz/modules/nss/module.cpp:680,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:680,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nss/module.cpp:681,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:681,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nss/module.cpp:682,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nss/module.cpp:683,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:684,1
    - Dst: cryptofuzz::module::nss_detail::toHMACOID
      Src: /src/cryptofuzz/modules/nss/module.cpp:684,1
    - Dst: ScopedSECAlgorithmID
      Src: /src/cryptofuzz/modules/nss/module.cpp:685,1
    - Dst: PK11_CreatePBEV2AlgorithmID
      Src: /src/cryptofuzz/modules/nss/module.cpp:685,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:687,1
    - Dst: ScopedSECAlgorithmID::get
      Src: /src/cryptofuzz/modules/nss/module.cpp:687,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:690,1
    - Dst: PK11_GetInternalSlot
      Src: /src/cryptofuzz/modules/nss/module.cpp:690,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:691,1
    - Dst: PK11_PBEKeyGen
      Src: /src/cryptofuzz/modules/nss/module.cpp:691,1
    - Dst: ScopedSECAlgorithmID::get
      Src: /src/cryptofuzz/modules/nss/module.cpp:691,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:692,1
    - Dst: PK11_ExtractKeyValue
      Src: /src/cryptofuzz/modules/nss/module.cpp:692,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:693,1
    - Dst: PK11_GetKeyData
      Src: /src/cryptofuzz/modules/nss/module.cpp:693,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:695,1
    - Dst: PK11_FreeSymKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:699,1
    - Dst: PK11_FreeSlot
      Src: /src/cryptofuzz/modules/nss/module.cpp:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 706
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 706
    functionName: cryptofuzz::module::NSS::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - ScopedSECAlgorithmID::get
    - PK11_CreatePBEV2AlgorithmID
    - ScopedSECAlgorithmID
    - password::GetPtr
    - PK11_PBEKeyGen
    - PK11_FreeSymKey
    - PK11_GetInternalSlot
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - static_cast<uint32_t>
    - PK11_ExtractKeyValue
    - CF_CHECK_EQ
    - cryptofuzz::module::nss_detail::toHMACOID
    - CF_CHECK_LTE
    - password::GetSize
    - PK11_GetKeyData
    - salt::GetPtr
    - PK11_FreeSlot
    - CF_CHECK_NE
    - const_cast<uint8_t *>
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> NSS::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: component::CurveType::Is
      Src: /src/cryptofuzz/modules/nss/module.cpp:718,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nss/module.cpp:718,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:719,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/nss/module.cpp:719,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:719,1
    - Dst: component::CurveType::Is
      Src: /src/cryptofuzz/modules/nss/module.cpp:720,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nss/module.cpp:720,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:721,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/nss/module.cpp:721,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:721,1
    - Dst: component::CurveType::Is
      Src: /src/cryptofuzz/modules/nss/module.cpp:722,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nss/module.cpp:722,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:723,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/nss/module.cpp:723,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:723,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:728,1
    - Dst: EC_DecodeParams
      Src: /src/cryptofuzz/modules/nss/module.cpp:728,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - curveType
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 733
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 733
    functionName: cryptofuzz::module::nss_detail::ToECParams
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - component::CurveType::Is
    - static_cast<unsigned int>
    - EC_DecodeParams
    linkageType: ''
    returnType: ECParams
    signature: ECParams * ToECParams(const component::CurveType curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/nss/module.cpp:737,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:738,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:740,1
    - Dst: EC_NewKeyFromSeed
      Src: /src/cryptofuzz/modules/nss/module.cpp:740,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:740,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ecparams
    - priv
    argTypes:
    - ECParams*
    - std::string
    constantsTouched: []
    func_position:
      end: 746
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 746
    functionName: cryptofuzz::module::nss_detail::ToECPrivateKey
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - EC_NewKeyFromSeed
    - auto::data
    - CF_CHECK_NE
    - auto::size
    linkageType: ''
    returnType: ECPrivateKey
    signature: ECPrivateKey * ToECPrivateKey(ECParams* ecparams, const std::string
      priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/nss/module.cpp:751,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:753,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/nss/module.cpp:758,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nss/module.cpp:758,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/nss/module.cpp:759,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/nss/module.cpp:759,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/nss/module.cpp:760,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nss/module.cpp:760,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/nss/module.cpp:761,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/nss/module.cpp:761,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/nss/module.cpp:762,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nss/module.cpp:762,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/nss/module.cpp:763,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/nss/module.cpp:763,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/nss/module.cpp:765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' curveType'
    - privStr
    argTypes:
    - component::CurveType
    - std::string
    constantsTouched: []
    func_position:
      end: 771
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 771
    functionName: cryptofuzz::module::nss_detail::IsValidPrivKey
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - CF_ECC_CURVE
    - cryptofuzz::module::blst_detail::To_cpp_int
    - Is
    - abort
    - CF_CHECK_NE
    linkageType: ''
    returnType: bool
    signature: bool IsValidPrivKey(const component::CurveType& curveType, const std::string
      privStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nss/module.cpp:774,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nss/module.cpp:775,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nss/module.cpp:776,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/nss/module.cpp:779,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/nss/module.cpp:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - privKey
    argTypes:
    - ECPrivateKey*
    constantsTouched: []
    func_position:
      end: 783
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 783
    functionName: cryptofuzz::module::nss_detail::ToPublicKey
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: std::pair<std::string, std::string>
    signature: std::pair<std::string, std::string> ToPublicKey(ECPrivateKey* privKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:792,1
    - Dst: cryptofuzz::module::nss_detail::ToECParams
      Src: /src/cryptofuzz/modules/nss/module.cpp:792,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:793,1
    - Dst: cryptofuzz::module::nss_detail::ToECPrivateKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:793,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:793,1
    - Dst: cryptofuzz::module::nss_detail::ToPublicKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:794,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/nss/module.cpp:795,1
    - Dst: cryptofuzz::module::nss_detail::IsValidPrivKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:795,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:795,1
    - Dst: PORT_FreeArena
      Src: /src/cryptofuzz/modules/nss/module.cpp:800,1
    - Dst: PORT_FreeArena
      Src: /src/cryptofuzz/modules/nss/module.cpp:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 807
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 807
    functionName: cryptofuzz::module::NSS::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::nss_detail::ToECPrivateKey
    - cryptofuzz::module::nss_detail::ToPublicKey
    - CF_CHECK_TRUE
    - CF_CHECK_NE
    - PORT_FreeArena
    - priv::ToTrimmedString
    - cryptofuzz::module::nss_detail::ToECParams
    - cryptofuzz::module::nss_detail::IsValidPrivKey
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> NSS::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:818,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:820,1
    - Dst: cryptofuzz::module::nss_detail::ToECParams
      Src: /src/cryptofuzz/modules/nss/module.cpp:820,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nss/module.cpp:825,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/nss/module.cpp:825,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/nss/module.cpp:827,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nss/module.cpp:827,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:827,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:831,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/nss/module.cpp:831,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:831,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:832,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/nss/module.cpp:832,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:832,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/nss/module.cpp:833,1
    - Dst: end
      Src: /src/cryptofuzz/modules/nss/module.cpp:833,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/nss/module.cpp:833,1
    - Dst: end
      Src: /src/cryptofuzz/modules/nss/module.cpp:833,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/nss/module.cpp:834,1
    - Dst: end
      Src: /src/cryptofuzz/modules/nss/module.cpp:834,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/nss/module.cpp:834,1
    - Dst: end
      Src: /src/cryptofuzz/modules/nss/module.cpp:834,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:835,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/nss/module.cpp:835,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:835,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:840,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/nss/module.cpp:840,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:840,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:841,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/nss/module.cpp:841,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:841,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/nss/module.cpp:842,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/nss/module.cpp:843,1
    - Dst: end
      Src: /src/cryptofuzz/modules/nss/module.cpp:843,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/nss/module.cpp:843,1
    - Dst: end
      Src: /src/cryptofuzz/modules/nss/module.cpp:843,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/nss/module.cpp:844,1
    - Dst: end
      Src: /src/cryptofuzz/modules/nss/module.cpp:844,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/nss/module.cpp:844,1
    - Dst: end
      Src: /src/cryptofuzz/modules/nss/module.cpp:844,1
    - Dst: PORT_NewArena
      Src: /src/cryptofuzz/modules/nss/module.cpp:845,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:846,1
    - Dst: EC_CopyParams
      Src: /src/cryptofuzz/modules/nss/module.cpp:846,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:847,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/nss/module.cpp:847,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:847,1
    - Dst: EC_ValidatePublicKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:848,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:854,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/nss/module.cpp:854,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:854,1
    - Dst: ECDSA_VerifyDigest
      Src: /src/cryptofuzz/modules/nss/module.cpp:856,1
    - Dst: PORT_FreeArena
      Src: /src/cryptofuzz/modules/nss/module.cpp:860,1
    - Dst: PORT_FreeArena
      Src: /src/cryptofuzz/modules/nss/module.cpp:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 867
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 867
    functionName: cryptofuzz::module::NSS::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::first::ToTrimmedString
    - end
    - CF_DIGEST
    - begin
    - cryptofuzz::module::nss_detail::ToECParams
    - auto::size
    - PORT_NewArena
    - std::vector::data
    - cleartext::Get
    - std::vector::size
    - signature::signature::first::ToTrimmedString
    - std::vector::insert
    - CF_CHECK_FALSE
    - CF_CHECK_EQ
    - auto::data
    - ECDSA_VerifyDigest
    - static_cast<unsigned int>
    - EC_CopyParams
    - std::vector::push_back
    - signature::pub::second::ToTrimmedString
    - signature::signature::second::ToTrimmedString
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - digestType::Is
    - auto::empty
    - CF_CHECK_NE
    - PORT_FreeArena
    - EC_ValidatePublicKey
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> NSS::OpECDSA_Verify(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:871,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:871,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:877,1
    - Dst: cryptofuzz::module::nss_detail::ToECParams
      Src: /src/cryptofuzz/modules/nss/module.cpp:877,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:881,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/nss/module.cpp:881,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:881,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:882,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/nss/module.cpp:882,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:882,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/nss/module.cpp:883,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/nss/module.cpp:884,1
    - Dst: end
      Src: /src/cryptofuzz/modules/nss/module.cpp:884,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/nss/module.cpp:884,1
    - Dst: end
      Src: /src/cryptofuzz/modules/nss/module.cpp:884,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/nss/module.cpp:885,1
    - Dst: end
      Src: /src/cryptofuzz/modules/nss/module.cpp:885,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/nss/module.cpp:885,1
    - Dst: end
      Src: /src/cryptofuzz/modules/nss/module.cpp:885,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:886,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/nss/module.cpp:886,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:886,1
    - Dst: EC_ValidatePublicKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:889,1
    - Dst: PORT_FreeArena
      Src: /src/cryptofuzz/modules/nss/module.cpp:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 897
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 897
    functionName: cryptofuzz::module::NSS::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::data
    - std::vector::size
    - pub::first::ToTrimmedString
    - modifier::GetPtr
    - pub::second::ToTrimmedString
    - std::vector::insert
    - cryptofuzz::util::DecToBin
    - end
    - begin
    - CF_CHECK_NE
    - PORT_FreeArena
    - static_cast<unsigned int>
    - modifier::GetSize
    - cryptofuzz::module::nss_detail::ToECParams
    - EC_ValidatePublicKey
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> NSS::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:901,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:901,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:907,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/nss/module.cpp:910,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/nss/module.cpp:910,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/nss/module.cpp:913,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nss/module.cpp:913,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:913,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nss/module.cpp:918,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/nss/module.cpp:918,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:920,1
    - Dst: cryptofuzz::module::nss_detail::ToECParams
      Src: /src/cryptofuzz/modules/nss/module.cpp:920,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:921,1
    - Dst: cryptofuzz::module::nss_detail::ToECPrivateKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:921,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:921,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:923,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/nss/module.cpp:923,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:923,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:925,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nss/module.cpp:926,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:927,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/nss/module.cpp:928,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/nss/module.cpp:930,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:932,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/nss/module.cpp:932,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:932,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:933,1
    - Dst: ECDSA_SignDigestWithSeed
      Src: /src/cryptofuzz/modules/nss/module.cpp:933,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/nss/module.cpp:933,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/nss/module.cpp:933,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/nss/module.cpp:934,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:935,1
    - Dst: ECDSA_SignDigest
      Src: /src/cryptofuzz/modules/nss/module.cpp:935,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/nss/module.cpp:937,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nss/module.cpp:940,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/nss/module.cpp:942,1
    - Dst: cryptofuzz::module::nss_detail::IsValidPrivKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:942,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:942,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/nss/module.cpp:947,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/nss/module.cpp:948,1
    - Dst: cryptofuzz::module::nss_detail::ToPublicKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:950,1
    - Dst: PORT_FreeArena
      Src: /src/cryptofuzz/modules/nss/module.cpp:956,1
    - Dst: PORT_FreeArena
      Src: /src/cryptofuzz/modules/nss/module.cpp:959,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nss/module.cpp:962,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 965
      start: 899
    functionDepth: 3
    functionLinenumber: 899
    functionLinenumberEnd: 965
    functionName: cryptofuzz::module::NSS::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - nonce::ToTrimmedString
    - CF_ASSERT
    - priv::ToTrimmedString
    - cryptofuzz::module::nss_detail::ToECParams
    - ECDSA_SignDigest
    - cryptofuzz::module::nss_detail::ToPublicKey
    - modifier::GetPtr
    - ECDSA_SignDigestWithSeed
    - UseSpecifiedNonce
    - cryptofuzz::util::BinToDec
    - auto::size
    - Datasource::Get
    - cryptofuzz::module::nss_detail::IsValidPrivKey
    - cleartext::Get
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - std::optional::size
    - abort
    - auto::data
    - std::optional::data
    - cryptofuzz::util::free
    - static_cast<unsigned int>
    - cryptofuzz::module::nss_detail::ToECPrivateKey
    - cryptofuzz::util::malloc
    - CF_CHECK_TRUE
    - cryptofuzz::util::DecToBin
    - digestType::Is
    - auto::empty
    - CF_CHECK_NE
    - PORT_FreeArena
    - UseRandomNonce
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> NSS::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nss/module.cpp:970,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nss/module.cpp:970,1
    - Dst: const_cast<uint8_t *>
      Src: /src/cryptofuzz/modules/nss/module.cpp:975,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:975,1
    - Dst: static_cast<uint32_t>
      Src: /src/cryptofuzz/modules/nss/module.cpp:975,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:975,1
    - Dst: const_cast<uint8_t *>
      Src: /src/cryptofuzz/modules/nss/module.cpp:976,1
    - Dst: seed::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:976,1
    - Dst: static_cast<uint32_t>
      Src: /src/cryptofuzz/modules/nss/module.cpp:976,1
    - Dst: seed::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:976,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:977,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:978,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nss/module.cpp:981,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:982,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/nss/module.cpp:983,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:985,1
    - Dst: TLS_PRF
      Src: /src/cryptofuzz/modules/nss/module.cpp:985,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/nss/module.cpp:987,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nss/module.cpp:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 992
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 992
    functionName: cryptofuzz::module::NSS::OpKDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - secret::GetSize
    - secret::GetPtr
    - TLS_PRF
    - cryptofuzz::util::malloc
    - CF_CHECK_EQ
    - digestType::Is
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - CF_DIGEST
    - cryptofuzz::util::free
    - const_cast<uint8_t *>
    - static_cast<unsigned int>
    - seed::GetSize
    - seed::GetPtr
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> NSS::OpKDF_TLS1_PRF(operation::KDF_TLS1_PRF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nss/module.cpp:996,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nss/module.cpp:996,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:1002,1
    - Dst: NSS_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/nss/module.cpp:1002,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:1003,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/nss/module.cpp:1003,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:1003,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:1004,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/nss/module.cpp:1004,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:1004,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:1005,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/nss/module.cpp:1005,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:1005,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:1006,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/nss/module.cpp:1006,1
    - Dst: bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/nss/module.cpp:1006,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/nss/module.cpp:1008,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1009,1
    - Dst: std::make_unique<NSS_bignum::Add>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1010,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1012,1
    - Dst: std::make_unique<NSS_bignum::Sub>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1013,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1015,1
    - Dst: std::make_unique<NSS_bignum::Mul>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1016,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1018,1
    - Dst: std::make_unique<NSS_bignum::Div>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1019,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1021,1
    - Dst: std::make_unique<NSS_bignum::Mod>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1022,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1024,1
    - Dst: std::make_unique<NSS_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1025,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1027,1
    - Dst: std::make_unique<NSS_bignum::Sqr>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1028,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1030,1
    - Dst: std::make_unique<NSS_bignum::GCD>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1031,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1033,1
    - Dst: std::make_unique<NSS_bignum::ExtGCD_X>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1034,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1036,1
    - Dst: std::make_unique<NSS_bignum::ExtGCD_Y>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1037,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1039,1
    - Dst: std::make_unique<NSS_bignum::AddMod>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1040,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1042,1
    - Dst: std::make_unique<NSS_bignum::SubMod>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1043,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1045,1
    - Dst: std::make_unique<NSS_bignum::MulMod>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1046,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1048,1
    - Dst: std::make_unique<NSS_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1049,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1051,1
    - Dst: std::make_unique<NSS_bignum::InvMod>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1052,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1054,1
    - Dst: std::make_unique<NSS_bignum::Cmp>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1055,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1057,1
    - Dst: std::make_unique<NSS_bignum::LCM>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1058,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1060,1
    - Dst: std::make_unique<NSS_bignum::Abs>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1061,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1063,1
    - Dst: std::make_unique<NSS_bignum::Neg>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1064,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1066,1
    - Dst: std::make_unique<NSS_bignum::IsEven>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1067,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1069,1
    - Dst: std::make_unique<NSS_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1070,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1072,1
    - Dst: std::make_unique<NSS_bignum::Exp>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1073,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1076,1
    - Dst: std::make_unique<NSS_bignum::Mod_NIST_256>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1077,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1079,1
    - Dst: std::make_unique<NSS_bignum::Mod_NIST_384>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1080,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nss/module.cpp:1082,1
    - Dst: std::make_unique<NSS_bignum::Mod_NIST_521>
      Src: /src/cryptofuzz/modules/nss/module.cpp:1083,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nss/module.cpp:1088,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/module.cpp:1089,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/nss/module.cpp:1089,1
    - Dst: NSS_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/nss/module.cpp:1091,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 89
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1095
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1095
    functionName: cryptofuzz::module::NSS::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/nss/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<NSS_bignum::Neg>
    - NSS_bignum::Bignum::Set
    - std::make_unique<NSS_bignum::IsEven>
    - std::make_unique<NSS_bignum::AddMod>
    - NSS_bignum::Bignum::ToComponentBignum
    - std::make_unique<NSS_bignum::Exp>
    - std::make_unique<NSS_bignum::ExtGCD_X>
    - std::make_unique<NSS_bignum::SqrMod>
    - std::make_unique<NSS_bignum::Abs>
    - CF_CALCOP
    - std::make_unique<NSS_bignum::Mul>
    - modifier::GetPtr
    - bn2::ToTrimmedString
    - std::make_unique<NSS_bignum::Sub>
    - bn0::ToTrimmedString
    - std::make_unique<NSS_bignum::Mod_NIST_521>
    - std::make_unique<NSS_bignum::ExtGCD_Y>
    - std::make_unique<NSS_bignum::MulMod>
    - bn3::ToTrimmedString
    - std::make_unique<NSS_bignum::ExpMod>
    - std::make_unique<NSS_bignum::InvMod>
    - CF_CHECK_EQ
    - Set
    - std::make_unique<NSS_bignum::Add>
    - std::make_unique<NSS_bignum::LCM>
    - std::make_unique<NSS_bignum::Mod_NIST_384>
    - calcOp::Get
    - std::make_unique<NSS_bignum::Sqr>
    - std::make_unique<NSS_bignum::Cmp>
    - std::make_unique<NSS_bignum::SubMod>
    - std::make_unique<NSS_bignum::Div>
    - std::make_unique<NSS_bignum::GCD>
    - std::make_unique<NSS_bignum::IsOdd>
    - bn1::ToTrimmedString
    - std::make_unique<NSS_bignum::Mod>
    - CF_CHECK_NE
    - std::unique_ptr::Run
    - modifier::GetSize
    - std::make_unique<NSS_bignum::Mod_NIST_256>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> NSS::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:15,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::NSS_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.h
    functionUses: 0
    functionsReached:
    - mp_init
    - abort
    linkageType: ''
    returnType: void
    signature: void Bignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_clear
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.h
    functionUses: 0
    functionsReached:
    - mp_clear
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:27,1
    - Dst: mp_read_variable_radix
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:27,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::NSS_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - std::string::c_str
    - mp_read_variable_radix
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: cryptofuzz::module::NSS_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mp_int
    signature: mp_int * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_zero
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:40,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:40,1
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:41,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:41,1
    - Dst: cryptofuzz::module::NSS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: cryptofuzz::module::NSS_bignum::Bignum::IsZero
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.h
    functionUses: 0
    functionsReached:
    - mp_zero
    - Bignum::GetPtr
    - cryptofuzz::module::NSS_bignum::Bignum::GetPtr
    - mp_cmp
    linkageType: ''
    returnType: bool
    signature: bool IsZero(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:49,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:51,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:53,1
    - Dst: mp_toradix
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:53,1
    - Dst: cryptofuzz::module::NSS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:53,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:55,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nss/bn_ops.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::NSS_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_toradix
    - free
    - cryptofuzz::module::NSS_bignum::Bignum::GetPtr
    - malloc
    - std::string
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/nss/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::Google_bn256::Google_bn256
    functionSourceFile: /src/cryptofuzz/modules/google-bn256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Google_bn256::Google_bn256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Google_bn256_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Google_bn256::getResult
    functionSourceFile: /src/cryptofuzz/modules/google-bn256/module.cpp
    functionUses: 1
    functionsReached:
    - free
    - Google_bn256_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string Google_bn256::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Google_bn256::getResult
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:27,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:32,1
    - Dst: cryptofuzz::module::Google_bn256::getResult
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Google_bn256::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/google-bn256/module.cpp
    functionUses: 1
    functionsReached:
    - abort
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz::module::Google_bn256::getResult
    - auto::empty
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Google_bn256::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Google_bn256::getJsonResult
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Google_bn256::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/google-bn256/module.cpp
    functionUses: 5
    functionsReached:
    - cryptofuzz::module::Google_bn256::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Google_bn256::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/google-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<GoInt>
    - size
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:55,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:56,1
    - Dst: get
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:56,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:57,1
    - Dst: Google_bn256_BLS_G1_Add
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:58,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:58,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/google-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Google_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Google_bn256_BLS_G1_Add
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Google_bn256::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:64,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:65,1
    - Dst: get
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:65,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:66,1
    - Dst: Google_bn256_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:67,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:67,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/google-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Google_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - Google_bn256_BLS_G1_Mul
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Google_bn256::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:73,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:74,1
    - Dst: get
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:74,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:75,1
    - Dst: Google_bn256_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:76,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:76,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/google-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - Google_bn256_BLS_G1_Neg
    - cryptofuzz::module::Google_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Google_bn256::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:82,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:83,1
    - Dst: get
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:83,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:84,1
    - Dst: Google_bn256_BLS_G2_Add
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:85,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:85,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/google-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Google_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Google_bn256_BLS_G2_Add
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Google_bn256::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:91,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:92,1
    - Dst: get
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:92,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:93,1
    - Dst: Google_bn256_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:94,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:94,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/google-bn256/module.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/google-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Google_bn256::getResultAs
    - boost::lexical_cast<uint64_t>
    - toGoSlice
    - auto::dump
    - get
    - Google_bn256_BLS_G2_Mul
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Google_bn256::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/google-bn256/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - fclose
    - fprintf
    - std::regex_replace
    - std::string
    - auto::c_str
    - fopen
    - std::regex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EverCrypt_AutoConfig2_init
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::EverCrypt::EverCrypt
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - EverCrypt_AutoConfig2_init
    linkageType: ''
    returnType: void
    signature: void EverCrypt::EverCrypt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:30,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:30,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:34,1
    - Dst: EverCrypt_Hash_hash
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:39,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:39,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:39,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:41,1
    - Dst: EverCrypt_Hash_Incremental_create_in
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:49,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:50,1
    - Dst: EverCrypt_Hash_Incremental_update
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:55,1
    - Dst: EverCrypt_Hash_Incremental_finish
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:60,1
    - Dst: EverCrypt_Hash_free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:61,1
    - Dst: free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:62,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 69
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::EverCrypt::MD5
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - EverCrypt_Hash_Incremental_finish
    - cleartext::GetSize
    - EverCrypt_Hash_free
    - free
    - EverCrypt_Hash_Incremental_create_in
    - EverCrypt_Hash_hash
    - cleartext::GetPtr
    - EverCrypt_Hash_Incremental_update
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> EverCrypt::MD5(operation::Digest&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:76,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:76,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:80,1
    - Dst: EverCrypt_Hash_hash
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:85,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:85,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:85,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:87,1
    - Dst: EverCrypt_Hash_Incremental_create_in
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:95,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:96,1
    - Dst: EverCrypt_Hash_Incremental_update
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:101,1
    - Dst: EverCrypt_Hash_Incremental_finish
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:106,1
    - Dst: EverCrypt_Hash_free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:107,1
    - Dst: free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:108,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 115
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 115
    functionName: cryptofuzz::module::EverCrypt::SHA1
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - EverCrypt_Hash_Incremental_finish
    - cleartext::GetSize
    - EverCrypt_Hash_free
    - free
    - EverCrypt_Hash_Incremental_create_in
    - EverCrypt_Hash_hash
    - cleartext::GetPtr
    - EverCrypt_Hash_Incremental_update
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> EverCrypt::SHA1(operation::Digest&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:122,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:122,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:126,1
    - Dst: EverCrypt_Hash_hash
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:131,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:131,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:131,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:133,1
    - Dst: EverCrypt_Hash_Incremental_create_in
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:141,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:142,1
    - Dst: EverCrypt_Hash_Incremental_update
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:147,1
    - Dst: EverCrypt_Hash_Incremental_finish
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:152,1
    - Dst: EverCrypt_Hash_free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:153,1
    - Dst: free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:154,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 161
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 161
    functionName: cryptofuzz::module::EverCrypt::SHA224
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - EverCrypt_Hash_Incremental_finish
    - cleartext::GetSize
    - EverCrypt_Hash_free
    - free
    - EverCrypt_Hash_Incremental_create_in
    - EverCrypt_Hash_hash
    - cleartext::GetPtr
    - EverCrypt_Hash_Incremental_update
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> EverCrypt::SHA224(operation::Digest&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:168,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:168,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:172,1
    - Dst: EverCrypt_Hash_hash
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:177,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:177,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:177,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:179,1
    - Dst: EverCrypt_Hash_Incremental_create_in
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:187,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:188,1
    - Dst: EverCrypt_Hash_Incremental_update
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:193,1
    - Dst: EverCrypt_Hash_Incremental_finish
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:198,1
    - Dst: EverCrypt_Hash_free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:199,1
    - Dst: free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:200,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 207
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 207
    functionName: cryptofuzz::module::EverCrypt::SHA256
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - EverCrypt_Hash_Incremental_finish
    - cleartext::GetSize
    - EverCrypt_Hash_free
    - free
    - EverCrypt_Hash_Incremental_create_in
    - EverCrypt_Hash_hash
    - cleartext::GetPtr
    - EverCrypt_Hash_Incremental_update
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> EverCrypt::SHA256(operation::Digest&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:214,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:214,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:218,1
    - Dst: EverCrypt_Hash_hash
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:223,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:223,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:223,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:225,1
    - Dst: EverCrypt_Hash_Incremental_create_in
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:233,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:234,1
    - Dst: EverCrypt_Hash_Incremental_update
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:239,1
    - Dst: EverCrypt_Hash_Incremental_finish
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:244,1
    - Dst: EverCrypt_Hash_free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:245,1
    - Dst: free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:246,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 253
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 253
    functionName: cryptofuzz::module::EverCrypt::SHA384
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - EverCrypt_Hash_Incremental_finish
    - cleartext::GetSize
    - EverCrypt_Hash_free
    - free
    - EverCrypt_Hash_Incremental_create_in
    - EverCrypt_Hash_hash
    - cleartext::GetPtr
    - EverCrypt_Hash_Incremental_update
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> EverCrypt::SHA384(operation::Digest&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:260,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:260,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:264,1
    - Dst: EverCrypt_Hash_hash
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:269,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:269,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:269,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:271,1
    - Dst: EverCrypt_Hash_Incremental_create_in
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:279,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:280,1
    - Dst: EverCrypt_Hash_Incremental_update
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:285,1
    - Dst: EverCrypt_Hash_Incremental_finish
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:290,1
    - Dst: EverCrypt_Hash_free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:291,1
    - Dst: free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:292,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 299
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 299
    functionName: cryptofuzz::module::EverCrypt::SHA512
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - EverCrypt_Hash_Incremental_finish
    - cleartext::GetSize
    - EverCrypt_Hash_free
    - free
    - EverCrypt_Hash_Incremental_create_in
    - EverCrypt_Hash_hash
    - cleartext::GetPtr
    - EverCrypt_Hash_Incremental_update
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> EverCrypt::SHA512(operation::Digest&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:302,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:303,1
    - Dst: cryptofuzz::module::EverCrypt::MD5
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:304,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:305,1
    - Dst: cryptofuzz::module::EverCrypt::SHA1
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:306,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:307,1
    - Dst: cryptofuzz::module::EverCrypt::SHA224
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:308,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:309,1
    - Dst: cryptofuzz::module::EverCrypt::SHA256
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:310,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:311,1
    - Dst: cryptofuzz::module::EverCrypt::SHA384
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:312,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:313,1
    - Dst: cryptofuzz::module::EverCrypt::SHA512
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 318
      start: 301
    functionDepth: 5
    functionLinenumber: 301
    functionLinenumberEnd: 318
    functionName: cryptofuzz::module::EverCrypt::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EverCrypt::MD5
    - digestType::Get
    - cryptofuzz::module::EverCrypt::SHA224
    - cryptofuzz::module::EverCrypt::SHA1
    - CF_DIGEST
    - cryptofuzz::module::EverCrypt::SHA512
    - cryptofuzz::module::EverCrypt::SHA256
    - cryptofuzz::module::EverCrypt::SHA384
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> EverCrypt::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EverCrypt_HMAC_compute
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:325,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:325,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:325,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:325,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:325,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - alg
    - mac_len
    - ' op'
    argTypes:
    - Spec_Hash_Definitions_hash_alg
    - uint32_t
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: cryptofuzz::module::EverCrypt::HMAC
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - EverCrypt_HMAC_compute
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - cleartext::GetPtr
    - generate_HMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> EverCrypt::HMAC(Spec_Hash_Definitions_hash_alg
      alg, uint32_t mac_len, operation::HMAC& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:333,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:334,1
    - Dst: cryptofuzz::module::EverCrypt::HMAC
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:335,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:336,1
    - Dst: cryptofuzz::module::EverCrypt::HMAC
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:337,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:338,1
    - Dst: cryptofuzz::module::EverCrypt::HMAC
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:339,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:340,1
    - Dst: cryptofuzz::module::EverCrypt::HMAC
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 345
      start: 332
    functionDepth: 5
    functionLinenumber: 332
    functionLinenumberEnd: 345
    functionName: cryptofuzz::module::EverCrypt::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - CF_DIGEST
    - cryptofuzz::module::EverCrypt::HMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> EverCrypt::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:355,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:357,1
    - Dst: EverCrypt_HKDF_hkdf_extract
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:361,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:361,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:361,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:361,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:361,1
    - Dst: EverCrypt_HKDF_hkdf_expand
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:366,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:366,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:366,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:367,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - alg
    - hash_len
    - ' op'
    argTypes:
    - Spec_Hash_Definitions_hash_alg
    - uint32_t
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 374
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 374
    functionName: cryptofuzz::module::EverCrypt::HKDF
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - cryptofuzz::util::malloc
    - password::GetPtr
    - EverCrypt_HKDF_hkdf_expand
    - info::GetSize
    - CF_CHECK_LTE
    - info::GetPtr
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    - EverCrypt_HKDF_hkdf_extract
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> EverCrypt::HKDF(Spec_Hash_Definitions_hash_alg
      alg, uint32_t hash_len, operation::KDF_HKDF& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:377,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:378,1
    - Dst: cryptofuzz::module::EverCrypt::HKDF
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:379,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:380,1
    - Dst: cryptofuzz::module::EverCrypt::HKDF
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:381,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:382,1
    - Dst: cryptofuzz::module::EverCrypt::HKDF
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:383,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:384,1
    - Dst: cryptofuzz::module::EverCrypt::HKDF
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 389
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 389
    functionName: cryptofuzz::module::EverCrypt::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EverCrypt::HKDF
    - digestType::Get
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> EverCrypt::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:405,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:406,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:409,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:409,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:411,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:411,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:412,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:412,1
    - Dst: EverCrypt_AEAD_expand_in
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:414,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:414,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:416,1
    - Dst: EverCrypt_AEAD_encrypt
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:416,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:418,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:419,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:420,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:421,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:422,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:427,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:428,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:429,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:432,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 436
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 436
    functionName: cryptofuzz::module::evercrypt_aead::AEAD::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - EverCrypt_AEAD_expand_in
    - cleartext::GetPtr
    - CF_CHECK_NE
    - aad::GetPtr
    - cipher::iv::GetSize
    - aad::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::component::Ciphertext::Ciphertext
    - CF_CHECK_GTE
    - Buffer
    - EverCrypt_AEAD_encrypt
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Encrypt(operation::SymmetricEncrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:444,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:445,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:445,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:446,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:446,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:447,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:447,1
    - Dst: EverCrypt_AEAD_expand_in
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:449,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:449,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:451,1
    - Dst: EverCrypt_AEAD_decrypt
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:451,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:453,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:454,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:455,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:456,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:457,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:458,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:462,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:462,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:465,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 469
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 469
    functionName: cryptofuzz::module::evercrypt_aead::AEAD::Decrypt
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - tag::GetSize
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - component::Cleartext
    - cryptofuzz::util::free
    - EverCrypt_AEAD_expand_in
    - CF_CHECK_NE
    - tag::GetPtr
    - aad::GetPtr
    - cipher::iv::GetSize
    - aad::GetSize
    - ciphertext::GetSize
    - CF_CHECK_GTE
    - cipher::iv::GetPtr
    - EverCrypt_AEAD_decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Decrypt(operation::SymmetricDecrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:483,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:484,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:485,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:486,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:487,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:488,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: cryptofuzz::module::EverCrypt::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    - cipher::cipherType::Get
    - Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> EverCrypt::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:496,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:497,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:498,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:499,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:500,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:501,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/evercrypt/module.cpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 506
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 506
    functionName: cryptofuzz::module::EverCrypt::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/evercrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Decrypt
    - CF_CIPHER
    - cipher::cipherType::Get
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> EverCrypt::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/bignumber.js/generate_calc_ops.cpp:9,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bignumber.js/generate_calc_ops.cpp:12,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/bignumber.js/generate_calc_ops.cpp:14,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bignumber.js/generate_calc_ops.cpp:15,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/bignumber.js/generate_calc_ops.cpp:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 19
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/bignumber.js/generate_calc_ops.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - abort
    - std::string::find_first_of
    - printf
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/bignumber.js/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/bignumber.js/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::bignumber_js::bignumber_js
    functionSourceFile: /src/cryptofuzz/modules/bignumber.js/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void bignumber_js::bignumber_js(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: bignumber_js::~bignumber_js(void)
    functionSourceFile: /src/cryptofuzz/modules/bignumber.js/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bignumber_js::~bignumber_js(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bignumber.js/module.cpp:26,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bignumber.js/module.cpp:26,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/bignumber.js/module.cpp:28,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bignumber.js/module.cpp:30,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bignumber.js/module.cpp:33,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bignumber.js/module.cpp:36,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bignumber.js/module.cpp:39,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/bignumber.js/module.cpp:43,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/bignumber.js/module.cpp:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 50
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 50
    functionName: cryptofuzz::module::bignumber_js::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/bignumber.js/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - modifier::GetPtr
    - std::string
    - auto::dump
    - modifier::GetSize
    - Run
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> bignumber_js::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:108,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:125,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:128,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:129,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:130,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:131,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:132,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:133,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:134,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:135,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:136,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:137,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:138,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:139,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:140,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:141,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:142,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 3
    argNames:
    - ctx
    - mp
    - num_blks
    argTypes:
    - sha512_ctx*
    - void*
    - uint_64t
    constantsTouched: []
    func_position:
      end: 155
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 155
    functionName: StdTransform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - COMPRESS_ROUND
    - bswap_64
    linkageType: ''
    returnType: void
    signature: void StdTransform(sha512_ctx* ctx, void* mp, uint_64t num_blks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_rorx
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:163,1
    - Dst: sha512_sse4
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - mp
    - num_blks
    argTypes:
    - sha512_ctx*
    - void*
    - uint_64t
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Avx2Transform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - sha512_sse4
    - sha512_rorx
    linkageType: ''
    returnType: void
    signature: void Avx2Transform(sha512_ctx* ctx, void* mp, uint_64t num_blks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_avx
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:171,1
    - Dst: sha512_sse4
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - mp
    - num_blks
    argTypes:
    - sha512_ctx*
    - void*
    - uint_64t
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: AvxTransform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - sha512_sse4
    - sha512_avx
    linkageType: ''
    returnType: void
    signature: void AvxTransform(sha512_ctx* ctx, void* mp, uint_64t num_blks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_sse4
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - mp
    - num_blks
    argTypes:
    - sha512_ctx*
    - void*
    - uint_64t
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: SSE4Transform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - sha512_sse4
    linkageType: ''
    returnType: void
    signature: void SSE4Transform(sha512_ctx* ctx, void* mp, uint_64t num_blks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_compress_nayuki
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - mp
    - num_blks
    argTypes:
    - sha512_ctx*
    - void*
    - uint_64t
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: SSE2Transform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - sha512_compress_nayuki
    linkageType: ''
    returnType: void
    signature: void SSE2Transform(sha512_ctx* ctx, void* mp, uint_64t num_blks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LL
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:197,1
    - Dst: LL
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:198,1
    - Dst: LL
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:199,1
    - Dst: LL
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:200,1
    - Dst: LL
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:201,1
    - Dst: LL
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:202,1
    - Dst: LL
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:203,1
    - Dst: LL
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:204,1
    - Dst: HasSAVX2
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:212,1
    - Dst: HasSBMI2
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:212,1
    - Dst: HasSAVX
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:214,1
    - Dst: HasSSE41
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:218,1
    - Dst: HasSSE2
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:227,1
    - Dst: HasSSSE3
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:229,1
    - Dst: HasMMX
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:229,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - sha512_ctx*
    constantsTouched: []
    func_position:
      end: 238
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 238
    functionName: sha512_begin
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - HasSAVX
    - LL
    - HasSBMI2
    - HasMMX
    - HasSSE41
    - HasSSSE3
    - HasSSE2
    - HasSAVX2
    linkageType: ''
    returnType: void
    signature: void sha512_begin(sha512_ctx* ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:248,1
    - Dst: transfunc
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:249,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:252,1
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:253,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:254,1
    - Dst: transfunc
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:255,1
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:258,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - result
    - ctx
    argTypes:
    - unsigned char*
    - sha512_ctx*
    constantsTouched: []
    func_position:
      end: 261
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 261
    functionName: sha512_end
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - transfunc
    - memset
    - memcpy
    - bswap_64
    linkageType: ''
    returnType: void
    signature: void sha512_end(unsigned char * result, sha512_ctx* ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:270,1
    - Dst: transfunc
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:271,1
    - Dst: transfunc
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:281,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - data
    - len
    - ctx
    argTypes:
    - unsigned char*
    - uint_64t
    - sha512_ctx*
    constantsTouched: []
    func_position:
      end: 291
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 291
    functionName: sha512_hash
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - transfunc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sha512_hash(const unsigned char * data, uint_64t len, sha512_ctx
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_begin
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:297,1
    - Dst: sha512_hash
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:298,1
    - Dst: sha512_end
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - result
    - source
    - sourceLen
    argTypes:
    - unsigned char*
    - unsigned char*
    - uint_64t
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: sha512
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 6
    functionsReached:
    - sha512_begin
    - sha512_end
    - sha512_hash
    linkageType: ''
    returnType: void
    signature: void sha512(unsigned char * result, const unsigned char* source, uint_64t
      sourceLen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:483,1
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:483,1
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:493,1
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:494,1
    - Dst: bswap_32
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:674,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:691,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:694,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:695,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:696,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:697,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:698,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:699,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:700,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:701,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:702,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:703,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:704,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:705,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:706,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:707,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:708,1
    - Dst: COMPRESS_ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:709,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - esp
    - AS2
    argTypes:
    - and
    - AS2
    constantsTouched: []
    func_position:
      end: 721
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 721
    functionName: AS2
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - bswap_32
    - COMPRESS_ROUND
    - WORD_REG
    linkageType: ''
    returnType: void
    signature: "void AS2(\tand\t\tesp, -16)\n\tAS2(\tsub\t\tWORD_REG(sp), LOCALS_SIZE)\n\tAS_PUSH_IF86(bx)\n#endif\n\tAS2(\tmov\t\tSTATE_SAVE,
      WORD_REG(cx))\n\tAS2(\tmov\t\tDATA_SAVE, WORD_REG(dx))\n\tAS2(\tlea\t\tWORD_REG(ax),
      [WORD_REG(di) + WORD_REG(dx)])\n\tAS2(\tmov\t\tDATA_END, WORD_REG(ax))\n\tAS2(\tmov\t\tK_END,
      WORD_REG(si))\n\n#if CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE\n#if CRYPTOPP_BOOL_X86
      || CRYPTOPP_BOOL_X32\n\tAS2(\ttest\tedi, 1)\n\tASJ(\tjnz,\t2, f)\n\tAS1(\tdec\t\tDWORD
      PTR K_END)\n#endif\n\tAS2(\tmovdqu\txmm0, XMMWORD_PTR [WORD_REG(cx)+0*16])\n\tAS2(\tmovdqu\txmm1,
      XMMWORD_PTR [WORD_REG(cx)+1*16])\n#endif\n\n#if CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32\n#if
      CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE\n\tASJ(\tjmp,\t0, f)\n#endif\n\tASL(2)\t//
      non-SSE2\n\tAS2(\tmov\t\tesi, ecx)\n\tAS2(\tlea\t\tedi, A(0))\n\tAS2(\tmov\t\tecx,
      8)\nATT_NOPREFIX\n\tAS1(\trep movsd)\nINTEL_NOPREFIX\n\tAS2(\tmov\t\tesi, K_END)\n\tASJ(\tjmp,\t3,
      f)\n#endif\n\n#if CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE\n\tASL(0)\n\tAS2(\tmovdqu\tE(0),
      xmm1)\n\tAS2(\tmovdqu\tA(0), xmm0)\n#endif\n#if CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32\n\tASL(3)\n#endif\n\tAS2(\tsub\t\tWORD_REG(si),
      48*4)\n\tSWAP_COPY(0)\tSWAP_COPY(1)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_rorx
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:729,1
    - Dst: sha256_sse4
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - mp
    - num_blks
    argTypes:
    - sha256_ctx*
    - void*
    - uint_64t
    constantsTouched: []
    func_position:
      end: 732
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 732
    functionName: Avx2Sha256Transform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - sha256_sse4
    - sha256_rorx
    linkageType: ''
    returnType: void
    signature: void Avx2Sha256Transform(sha256_ctx* ctx, void* mp, uint_64t num_blks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_avx
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:737,1
    - Dst: sha256_sse4
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - mp
    - num_blks
    argTypes:
    - sha256_ctx*
    - void*
    - uint_64t
    constantsTouched: []
    func_position:
      end: 740
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 740
    functionName: AvxSha256Transform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - sha256_avx
    - sha256_sse4
    linkageType: ''
    returnType: void
    signature: void AvxSha256Transform(sha256_ctx* ctx, void* mp, uint_64t num_blks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_sse4
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - mp
    - num_blks
    argTypes:
    - sha256_ctx*
    - void*
    - uint_64t
    constantsTouched: []
    func_position:
      end: 745
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 745
    functionName: SSE4Sha256Transform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - sha256_sse4
    linkageType: ''
    returnType: void
    signature: void SSE4Sha256Transform(sha256_ctx* ctx, void* mp, uint_64t num_blks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X86_SHA256_HashBlocks
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - mp
    - num_blks
    argTypes:
    - sha256_ctx*
    - void*
    - uint_64t
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: SSE2Sha256Transform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - X86_SHA256_HashBlocks
    linkageType: ''
    returnType: void
    signature: void SSE2Sha256Transform(sha256_ctx* ctx, void* mp, uint_64t num_blks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_compress_nayuki
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - mp
    - num_blks
    argTypes:
    - sha256_ctx*
    - void*
    - uint_64t
    constantsTouched: []
    func_position:
      end: 762
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 762
    functionName: Sha256AsmTransform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - sha256_compress_nayuki
    linkageType: ''
    returnType: void
    signature: void Sha256AsmTransform(sha256_ctx* ctx, void* mp, uint_64t num_blks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasSAVX2
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:784,1
    - Dst: HasSBMI2
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:784,1
    - Dst: HasSAVX
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:786,1
    - Dst: HasSSE41
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:788,1
    - Dst: HasSSE2
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:794,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - sha256_ctx*
    constantsTouched: []
    func_position:
      end: 808
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 808
    functionName: sha256_begin
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - HasSAVX
    - HasSBMI2
    - HasSSE41
    - HasSSE2
    - HasSAVX2
    linkageType: ''
    returnType: void
    signature: void sha256_begin(sha256_ctx* ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:818,1
    - Dst: sha256transfunc
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:819,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:822,1
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:823,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:824,1
    - Dst: sha256transfunc
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:825,1
    - Dst: bswap_32
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:828,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - result
    - ctx
    argTypes:
    - unsigned char*
    - sha256_ctx*
    constantsTouched: []
    func_position:
      end: 831
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 831
    functionName: sha256_end
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - bswap_32
    - memset
    - memcpy
    - sha256transfunc
    - bswap_64
    linkageType: ''
    returnType: void
    signature: void sha256_end(unsigned char * result, sha256_ctx* ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:840,1
    - Dst: sha256transfunc
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:841,1
    - Dst: sha256transfunc
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:851,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - data
    - len
    - ctx
    argTypes:
    - unsigned char*
    - uint_32t
    - sha256_ctx*
    constantsTouched: []
    func_position:
      end: 861
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 861
    functionName: sha256_hash
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 0
    functionsReached:
    - sha256transfunc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sha256_hash(const unsigned char * data, uint_32t len, sha256_ctx
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_begin
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:867,1
    - Dst: sha256_hash
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:868,1
    - Dst: sha256_end
      Src: /src/cryptofuzz/modules/veracrypt/Sha2.c:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - result
    - source
    - sourceLen
    argTypes:
    - unsigned char*
    - unsigned char*
    - uint_32t
    constantsTouched: []
    func_position:
      end: 870
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 870
    functionName: sha256
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Sha2.c
    functionUses: 19
    functionsReached:
    - sha256_end
    - sha256_hash
    - sha256_begin
    linkageType: ''
    returnType: void
    signature: void sha256(unsigned char * result, const unsigned char* source, uint_32t
      sourceLen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: twofish_enc_blk3
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:87,1
    - Dst: twofish_enc_blk2
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:95,1
    - Dst: twofish_enc_blk
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - instance
    - in_blk
    - out_blk
    - blockCount
    argTypes:
    - TwofishInstance*
    - byte*
    - byte*
    - uint32
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: twofish_encrypt_blocks
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 0
    functionsReached:
    - twofish_enc_blk3
    - twofish_enc_blk2
    - twofish_enc_blk
    linkageType: ''
    returnType: void
    signature: void twofish_encrypt_blocks(TwofishInstance *instance, const byte*
      in_blk, byte* out_blk, uint32 blockCount)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: twofish_dec_blk3
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:108,1
    - Dst: twofish_dec_blk2
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:116,1
    - Dst: twofish_dec_blk
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - instance
    - in_blk
    - out_blk
    - blockCount
    argTypes:
    - TwofishInstance*
    - byte*
    - byte*
    - uint32
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: twofish_decrypt_blocks
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 0
    functionsReached:
    - twofish_dec_blk
    - twofish_dec_blk2
    - twofish_dec_blk3
    linkageType: ''
    returnType: void
    signature: void twofish_decrypt_blocks(TwofishInstance *instance, const byte*
      in_blk, byte* out_blk, uint32 blockCount)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:635,1
    - Dst: rotl32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:642,1
    - Dst: rotl32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:647,1
    - Dst: rotl32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - instance
    - in_key
    argTypes:
    - TwofishInstance*
    - u4byte[]
    constantsTouched: []
    func_position:
      end: 654
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 654
    functionName: twofish_set_key
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 2
    functionsReached:
    - rotl32
    linkageType: ''
    returnType: void
    signature: void twofish_set_key(TwofishInstance *instance, const u4byte in_key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - u4byte
    - u1byte
    constantsTouched: []
    func_position:
      end: 710
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 710
    functionName: qp
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u1byte
    signature: u1byte qp(const u4byte n, const u1byte x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:724,1
    - Dst: qp
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:724,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:725,1
    - Dst: qp
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 727
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 727
    functionName: gen_qtab
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 0
    functionsReached:
    - q
    - qp
    linkageType: ''
    returnType: void
    signature: void gen_qtab(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:745,1
    - Dst: ffm_5b
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:745,1
    - Dst: ffm_ef
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:745,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:749,1
    - Dst: ffm_5b
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:749,1
    - Dst: ffm_ef
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 753
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 753
    functionName: gen_mtab
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 0
    functionsReached:
    - ffm_ef
    - q
    - ffm_5b
    linkageType: ''
    returnType: void
    signature: void gen_mtab(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:800,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:800,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:800,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:800,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:802,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:802,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:803,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:803,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:804,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:804,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:805,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:805,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:806,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:806,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:807,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:807,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:808,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:808,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:809,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:809,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:810,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:810,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:810,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:810,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:811,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:811,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:811,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:811,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:812,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:812,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:812,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:812,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:813,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:813,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:813,1
    - Dst: extract_byte
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:813,1
    - Dst: mds
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:817,1
    - Dst: mds
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:817,1
    - Dst: mds
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:817,1
    - Dst: mds
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:817,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:821,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:821,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:821,1
    - Dst: q
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:821,1
    - Dst: ffm_5b
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:822,1
    - Dst: ffm_5b
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:822,1
    - Dst: ffm_5b
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:822,1
    - Dst: ffm_5b
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:822,1
    - Dst: ffm_ef
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:823,1
    - Dst: ffm_ef
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:823,1
    - Dst: ffm_ef
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:823,1
    - Dst: ffm_ef
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 3
    argNames:
    - instance
    - x
    - key
    argTypes:
    - TwofishInstance*
    - u4byte
    - u4byte[]
    constantsTouched: []
    func_position:
      end: 830
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 830
    functionName: h_fun
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 0
    functionsReached:
    - mds
    - ffm_ef
    - extract_byte
    - q
    - ffm_5b
    linkageType: ''
    returnType: u4byte
    signature: u4byte h_fun(TwofishInstance *instance, const u4byte x, const u4byte
      key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mds
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:865,1
    - Dst: q40
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:865,1
    - Dst: mds
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:865,1
    - Dst: q41
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:865,1
    - Dst: mds
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:866,1
    - Dst: q42
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:866,1
    - Dst: mds
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:866,1
    - Dst: q43
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:866,1
    - Dst: q40
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:868,1
    - Dst: q41
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:868,1
    - Dst: q42
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:869,1
    - Dst: q43
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - instance
    - key
    argTypes:
    - TwofishInstance*
    - u4byte[]
    constantsTouched: []
    func_position:
      end: 872
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 872
    functionName: gen_mk_tab
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 0
    functionsReached:
    - mds
    - q40
    - q43
    - q41
    - q42
    linkageType: ''
    returnType: void
    signature: void gen_mk_tab(TwofishInstance *instance, u4byte key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p0
    - p1
    argTypes:
    - u4byte
    - u4byte
    constantsTouched: []
    func_position:
      end: 953
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 953
    functionName: mds_rem
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u4byte
    signature: u4byte mds_rem(u4byte p0, u4byte p1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_qtab
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:967,1
    - Dst: gen_mtab
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:974,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:981,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:982,1
    - Dst: mds_rem
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:983,1
    - Dst: h_fun
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:989,1
    - Dst: rotl
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:990,1
    - Dst: h_fun
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:990,1
    - Dst: rotl
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:992,1
    - Dst: gen_mk_tab
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:996,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - instance
    - in_key
    argTypes:
    - TwofishInstance*
    - u4byte[]
    constantsTouched: []
    func_position:
      end: 998
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 998
    functionName: twofish_set_key
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 2
    functionsReached:
    - gen_mk_tab
    - rotl
    - mds_rem
    - gen_mtab
    - h_fun
    - gen_qtab
    - LE32
    linkageType: ''
    returnType: void
    signature: void twofish_set_key(TwofishInstance *instance, const u4byte in_key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1018,1
    - Dst: ROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1024,1
    - Dst: ROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 3
    argNames:
    - ks
    - in_blk
    - out_blk
    argTypes:
    - TwofishInstance*
    - u4byte[]
    - u4byte[]
    constantsTouched: []
    func_position:
      end: 1039
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1039
    functionName: twofish_encrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 1
    functionsReached:
    - ROUNDB
    - ROUNDA
    linkageType: ''
    returnType: void
    signature: void twofish_encrypt(TwofishInstance *ks, const u4byte in_blk[4], u4byte
      out_blk[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1052,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1053,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1054,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1055,1
    - Dst: g1_fun
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1059,1
    - Dst: g0_fun
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1059,1
    - Dst: rotr
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1060,1
    - Dst: rotl
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1061,1
    - Dst: g1_fun
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1062,1
    - Dst: g0_fun
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1062,1
    - Dst: rotr
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1063,1
    - Dst: rotl
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1064,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1067,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1068,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1069,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - instance
    - in_blk
    - out_blk
    argTypes:
    - TwofishInstance*
    - u4byte[]
    - u4byte[]
    constantsTouched: []
    func_position:
      end: 1071
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1071
    functionName: twofish_encrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 1
    functionsReached:
    - g1_fun
    - rotr
    - rotl
    - g0_fun
    - LE32
    linkageType: ''
    returnType: void
    signature: void twofish_encrypt(TwofishInstance *instance, const u4byte in_blk[4],
      u4byte out_blk[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1090,1
    - Dst: RROUNDA
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1096,1
    - Dst: RROUNDB
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 3
    argNames:
    - ks
    - in_blk
    - out_blk
    argTypes:
    - TwofishInstance*
    - u4byte[]
    - u4byte[]
    constantsTouched: []
    func_position:
      end: 1109
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1109
    functionName: twofish_decrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 1
    functionsReached:
    - RROUNDB
    - RROUNDA
    linkageType: ''
    returnType: void
    signature: void twofish_decrypt(TwofishInstance *ks, const u4byte in_blk[4], u4byte
      out_blk[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1122,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1123,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1124,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1125,1
    - Dst: g1_fun
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1129,1
    - Dst: g0_fun
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1129,1
    - Dst: rotl
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1130,1
    - Dst: rotr
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1131,1
    - Dst: g1_fun
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1132,1
    - Dst: g0_fun
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1132,1
    - Dst: rotl
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1133,1
    - Dst: rotr
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1134,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1137,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1138,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1139,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Twofish.c:1140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - instance
    - in_blk
    - out_blk
    argTypes:
    - TwofishInstance*
    - u4byte[]
    - u4byte[]
    constantsTouched: []
    func_position:
      end: 1141
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1141
    functionName: twofish_decrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Twofish.c
    functionUses: 1
    functionsReached:
    - g1_fun
    - rotr
    - rotl
    - g0_fun
    - LE32
    linkageType: ''
    returnType: void
    signature: void twofish_decrypt(TwofishInstance *instance, const u4byte in_blk[4],
      u4byte out_blk[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_init
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:24,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: cryptofuzz::module::Veracrypt::Veracrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - aes_init
    linkageType: ''
    returnType: void
    signature: void Veracrypt::Veracrypt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:39,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:40,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:43,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:43,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:46,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:46,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:47,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:47,1
    - Dst: kuznyechik_set_key
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:50,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:50,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:52,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:57,1
    - Dst: kuznyechik_encrypt_block
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:59,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:59,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:65,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:65,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:65,1
    - Dst: free
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 72
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 72
    functionName: cryptofuzz::module::Veracrypt::kuznyechik
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - kuznyechik_encrypt_block
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - kuznyechik_set_key
    - free
    - malloc
    - cleartext::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - CF_CHECK_GTE
    - Buffer
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Veracrypt::kuznyechik(operation::SymmetricEncrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:83,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:84,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:87,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:87,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:90,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:90,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:91,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:91,1
    - Dst: kuznyechik_set_key
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:94,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:94,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:96,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:101,1
    - Dst: kuznyechik_decrypt_block
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:103,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:103,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:109,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:109,1
    - Dst: free
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 116
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 116
    functionName: cryptofuzz::module::Veracrypt::kuznyechik
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - kuznyechik_set_key
    - free
    - malloc
    - kuznyechik_decrypt_block
    - component::Cleartext
    - ciphertext::GetSize
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Veracrypt::kuznyechik(operation::SymmetricDecrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:127,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:128,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:131,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:131,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:134,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:134,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:135,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:135,1
    - Dst: gost_set_key
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:138,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:138,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:140,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:145,1
    - Dst: gost_encrypt
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:147,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:147,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:153,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:153,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:153,1
    - Dst: free
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 160
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 160
    functionName: cryptofuzz::module::Veracrypt::GOST_28147_89
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - gost_set_key
    - free
    - malloc
    - cleartext::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - CF_CHECK_GTE
    - Buffer
    - gost_encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Veracrypt::GOST_28147_89(operation::SymmetricEncrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:171,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:172,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:175,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:175,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:178,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:178,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:179,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:179,1
    - Dst: gost_set_key
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:182,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:182,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:184,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:189,1
    - Dst: gost_decrypt
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:191,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:191,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:197,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:197,1
    - Dst: free
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 204
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 204
    functionName: cryptofuzz::module::Veracrypt::GOST_28147_89
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - gost_set_key
    - free
    - malloc
    - gost_decrypt
    - component::Cleartext
    - ciphertext::GetSize
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Veracrypt::GOST_28147_89(operation::SymmetricDecrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:215,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:216,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:219,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:219,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:222,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:222,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:223,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:223,1
    - Dst: twofish_set_key
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:226,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:226,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:228,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:233,1
    - Dst: twofish_encrypt
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:235,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:235,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:241,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:241,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:241,1
    - Dst: free
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 248
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 248
    functionName: cryptofuzz::module::Veracrypt::twofish
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - free
    - twofish_set_key
    - malloc
    - cleartext::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - CF_CHECK_GTE
    - Buffer
    - twofish_encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Veracrypt::twofish(operation::SymmetricEncrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:259,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:260,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:263,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:263,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:266,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:266,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:267,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:267,1
    - Dst: twofish_set_key
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:270,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:270,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:272,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:277,1
    - Dst: twofish_decrypt
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:279,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:279,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:285,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:285,1
    - Dst: free
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 292
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 292
    functionName: cryptofuzz::module::Veracrypt::twofish
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - free
    - twofish_set_key
    - malloc
    - component::Cleartext
    - twofish_decrypt
    - ciphertext::GetSize
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Veracrypt::twofish(operation::SymmetricDecrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:303,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:304,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:307,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:307,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:310,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:310,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:311,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:311,1
    - Dst: serpent_set_key
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:314,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:314,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:316,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:321,1
    - Dst: serpent_encrypt
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:323,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:323,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:329,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:329,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:329,1
    - Dst: free
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 336
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 336
    functionName: cryptofuzz::module::Veracrypt::serpent
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - serpent_encrypt
    - free
    - malloc
    - serpent_set_key
    - cleartext::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - CF_CHECK_GTE
    - Buffer
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Veracrypt::serpent(operation::SymmetricEncrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:347,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:348,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:351,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:351,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:354,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:354,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:355,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:355,1
    - Dst: serpent_set_key
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:358,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:358,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:360,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:365,1
    - Dst: serpent_decrypt
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:367,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:367,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:373,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:373,1
    - Dst: free
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 380
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 380
    functionName: cryptofuzz::module::Veracrypt::serpent
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - serpent_decrypt
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - free
    - malloc
    - component::Cleartext
    - serpent_set_key
    - ciphertext::GetSize
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Veracrypt::serpent(operation::SymmetricDecrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:391,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:392,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:395,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:395,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:398,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:398,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:399,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:399,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:401,1
    - Dst: aes_encrypt_key256
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:401,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:401,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:403,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:408,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:409,1
    - Dst: aes_encrypt
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:409,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:409,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:415,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:415,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:415,1
    - Dst: free
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 422
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 422
    functionName: cryptofuzz::module::Veracrypt::aes
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - aes_encrypt
    - free
    - malloc
    - aes_encrypt_key256
    - cleartext::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - CF_CHECK_GTE
    - Buffer
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Veracrypt::aes(operation::SymmetricEncrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:433,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:434,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:437,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:437,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:440,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:440,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:441,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:441,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:443,1
    - Dst: aes_decrypt_key256
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:443,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:443,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:445,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:450,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:451,1
    - Dst: aes_decrypt
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:451,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:451,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:457,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:457,1
    - Dst: free
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 464
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 464
    functionName: cryptofuzz::module::Veracrypt::aes
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - CF_CHECK_EQ
    - free
    - malloc
    - component::Cleartext
    - ciphertext::GetSize
    - aes_decrypt
    - CF_CHECK_GTE
    - aes_decrypt_key256
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Veracrypt::aes(operation::SymmetricDecrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:475,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:476,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:479,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:479,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:482,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:482,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:484,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:484,1
    - Dst: ChaCha256Init
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:487,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:487,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:487,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:489,1
    - Dst: ChaCha256Encrypt
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:495,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:495,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:495,1
    - Dst: free
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 507
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 507
    functionName: cryptofuzz::module::Veracrypt::chacha20
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - cleartext::GetSize
    - ChaCha256Init
    - free
    - malloc
    - cleartext::GetPtr
    - cipher::iv::GetSize
    - CF_CHECK_GTE
    - ChaCha256Encrypt
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Veracrypt::chacha20(operation::SymmetricEncrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:514,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:514,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:517,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:518,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:519,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:525,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:526,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:526,1
    - Dst: STREEBOG_init256
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:528,1
    - Dst: STREEBOG_init
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:531,1
    - Dst: STREEBOG_add
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:538,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:544,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:544,1
    - Dst: STREEBOG_finalize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:547,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:548,1
    - Dst: STREEBOG_finalize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:552,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:553,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:558,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:564,1
    - Dst: RMD160Init
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:566,1
    - Dst: RMD160Update
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:572,1
    - Dst: RMD160Final
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:579,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:580,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:584,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:585,1
    - Dst: t1ha2_init
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:593,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:594,1
    - Dst: t1ha2_update
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:600,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:605,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:605,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:609,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:617,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:618,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:620,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:625,1
    - Dst: sha256_begin
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:632,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:633,1
    - Dst: sha256_hash
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:640,1
    - Dst: sha256_end
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:648,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:649,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:653,1
    - Dst: sha512_begin
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:660,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:661,1
    - Dst: sha512_hash
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:668,1
    - Dst: sha512_end
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:676,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:677,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:681,1
    - Dst: WHIRLPOOL_init
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:688,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:689,1
    - Dst: WHIRLPOOL_add
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:696,1
    - Dst: WHIRLPOOL_finalize
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:704,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:705,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 89
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 712
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 712
    functionName: cryptofuzz::module::Veracrypt::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - STREEBOG_add
    - sha512_end
    - CF_DIGEST
    - WHIRLPOOL_add
    - modifier::GetPtr
    - WHIRLPOOL_init
    - WHIRLPOOL_finalize
    - t1ha2_init
    - RMD160Init
    - STREEBOG_init256
    - STREEBOG_init
    - memcpy
    - RMD160Update
    - sha256_end
    - sha512_begin
    - generate_Digest
    - cryptofuzz::util::ToParts
    - digestType::Get
    - sha512_hash
    - RMD160Final
    - t1ha2_update
    - sha256_hash
    - STREEBOG_finalize
    - modifier::GetSize
    - sha256_begin
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Veracrypt::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:719,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:720,1
    - Dst: cryptofuzz::module::Veracrypt::kuznyechik
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:722,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:725,1
    - Dst: cryptofuzz::module::Veracrypt::GOST_28147_89
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:727,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:730,1
    - Dst: cryptofuzz::module::Veracrypt::chacha20
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:732,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:735,1
    - Dst: cryptofuzz::module::Veracrypt::twofish
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:737,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:740,1
    - Dst: cryptofuzz::module::Veracrypt::serpent
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:742,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:745,1
    - Dst: cryptofuzz::module::Veracrypt::aes
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:747,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 753
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 753
    functionName: cryptofuzz::module::Veracrypt::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Veracrypt::chacha20
    - cipher::cipherType::Get
    - cryptofuzz::module::Veracrypt::aes
    - cryptofuzz::module::Veracrypt::kuznyechik
    - cryptofuzz::module::Veracrypt::serpent
    - CF_CIPHER
    - cryptofuzz::module::Veracrypt::twofish
    - cryptofuzz::module::Veracrypt::GOST_28147_89
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Veracrypt::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:760,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:761,1
    - Dst: cryptofuzz::module::Veracrypt::kuznyechik
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:763,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:766,1
    - Dst: cryptofuzz::module::Veracrypt::GOST_28147_89
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:768,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:771,1
    - Dst: cryptofuzz::module::Veracrypt::twofish
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:773,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:776,1
    - Dst: cryptofuzz::module::Veracrypt::serpent
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:778,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:781,1
    - Dst: cryptofuzz::module::Veracrypt::aes
      Src: /src/cryptofuzz/modules/veracrypt/module.cpp:783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 789
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 789
    functionName: cryptofuzz::module::Veracrypt::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - cryptofuzz::module::Veracrypt::aes
    - cryptofuzz::module::Veracrypt::kuznyechik
    - cryptofuzz::module::Veracrypt::serpent
    - CF_CIPHER
    - cryptofuzz::module::Veracrypt::twofish
    - cryptofuzz::module::Veracrypt::GOST_28147_89
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Veracrypt::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:72,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:73,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:74,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:75,1
    - Dst: ke4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:80,1
    - Dst: ke4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:83,1
    - Dst: ke4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:83,1
    - Dst: ke4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:84,1
    - Dst: ke4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:84,1
    - Dst: ke4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:85,1
    - Dst: ke4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:85,1
    - Dst: ke4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:86,1
    - Dst: ke4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:86,1
    - Dst: ke4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:87,1
    - Dst: ke4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - key
    - cx
    argTypes:
    - unsigned char*
    - aes_encrypt_ctx[]
    constantsTouched: []
    func_position:
      end: 101
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 101
    functionName: aes_encrypt_key128
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Aeskey.c
    functionUses: 0
    functionsReached:
    - word_in
    - ke4
    linkageType: ''
    returnType: AES_RETURN
    signature: AES_RETURN aes_encrypt_key128(const unsigned char *key, aes_encrypt_ctx
      cx[1])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:123,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:124,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:125,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:126,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:127,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:128,1
    - Dst: ke6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:133,1
    - Dst: ke6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:136,1
    - Dst: ke6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:136,1
    - Dst: ke6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:137,1
    - Dst: ke6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:137,1
    - Dst: ke6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:138,1
    - Dst: ke6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:138,1
    - Dst: ke6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:139,1
    - Dst: kef6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - key
    - cx
    argTypes:
    - unsigned char*
    - aes_encrypt_ctx[]
    constantsTouched: []
    func_position:
      end: 153
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 153
    functionName: aes_encrypt_key192
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Aeskey.c
    functionUses: 0
    functionsReached:
    - kef6
    - word_in
    - ke6
    linkageType: ''
    returnType: AES_RETURN
    signature: AES_RETURN aes_encrypt_key192(const unsigned char *key, aes_encrypt_ctx
      cx[1])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:177,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:178,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:179,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:180,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:181,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:182,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:183,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:184,1
    - Dst: ke8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:189,1
    - Dst: ke8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:192,1
    - Dst: ke8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:192,1
    - Dst: ke8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:193,1
    - Dst: ke8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:193,1
    - Dst: ke8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:194,1
    - Dst: ke8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:194,1
    - Dst: kef8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - key
    - cx
    argTypes:
    - unsigned char*
    - aes_encrypt_ctx[]
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: aes_encrypt_key256
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Aeskey.c
    functionUses: 1
    functionsReached:
    - kef8
    - word_in
    - ke8
    linkageType: ''
    returnType: AES_RETURN
    signature: AES_RETURN aes_encrypt_key256(const unsigned char *key, aes_encrypt_ctx
      cx[1])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_encrypt_key128
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:219,1
    - Dst: aes_encrypt_key192
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:220,1
    - Dst: aes_encrypt_key256
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:221,1
    - Dst: aes_encrypt_key128
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:224,1
    - Dst: aes_encrypt_key192
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:225,1
    - Dst: aes_encrypt_key256
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - key
    - key_len
    - cx
    argTypes:
    - unsigned char*
    - int
    - aes_encrypt_ctx[]
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: aes_encrypt_key
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Aeskey.c
    functionUses: 0
    functionsReached:
    - aes_encrypt_key192
    - aes_encrypt_key128
    - aes_encrypt_key256
    linkageType: ''
    returnType: AES_RETURN
    signature: AES_RETURN aes_encrypt_key(const unsigned char *key, int key_len, aes_encrypt_ctx
      cx[1])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:326,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:326,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:327,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:327,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:328,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:328,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:329,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:329,1
    - Dst: k4e
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:334,1
    - Dst: inv_mcol
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:337,1
    - Dst: kdf4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:341,1
    - Dst: kd4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:341,1
    - Dst: kd4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:342,1
    - Dst: kd4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:342,1
    - Dst: kd4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:343,1
    - Dst: kd4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:343,1
    - Dst: kd4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:344,1
    - Dst: kd4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:344,1
    - Dst: kd4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:345,1
    - Dst: kdl4
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - key
    - cx
    argTypes:
    - unsigned char*
    - aes_decrypt_ctx[]
    constantsTouched: []
    func_position:
      end: 358
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 358
    functionName: aes_decrypt_key128
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Aeskey.c
    functionUses: 0
    functionsReached:
    - kdl4
    - word_in
    - v
    - kd4
    - k4e
    - kdf4
    - inv_mcol
    linkageType: ''
    returnType: AES_RETURN
    signature: AES_RETURN aes_decrypt_key128(const unsigned char *key, aes_decrypt_ctx
      cx[1])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:408,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:408,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:409,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:409,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:410,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:410,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:411,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:411,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:414,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:414,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:415,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:415,1
    - Dst: k6e
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:419,1
    - Dst: k6ef
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:420,1
    - Dst: inv_mcol
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:423,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:427,1
    - Dst: ff
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:427,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:427,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:428,1
    - Dst: ff
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:428,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:428,1
    - Dst: kdf6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:429,1
    - Dst: kd6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:429,1
    - Dst: kd6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:430,1
    - Dst: kd6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:430,1
    - Dst: kd6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:431,1
    - Dst: kd6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:431,1
    - Dst: kd6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:432,1
    - Dst: kdl6
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - key
    - cx
    argTypes:
    - unsigned char*
    - aes_decrypt_ctx[]
    constantsTouched: []
    func_position:
      end: 445
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 445
    functionName: aes_decrypt_key192
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Aeskey.c
    functionUses: 0
    functionsReached:
    - kd6
    - kdl6
    - k6ef
    - word_in
    - v
    - k6e
    - inv_mcol
    - kdf6
    - ff
    linkageType: ''
    returnType: AES_RETURN
    signature: AES_RETURN aes_decrypt_key192(const unsigned char *key, aes_decrypt_ctx
      cx[1])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:502,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:502,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:503,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:503,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:504,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:504,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:505,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:505,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:508,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:508,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:509,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:509,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:510,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:510,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:511,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:511,1
    - Dst: k8e
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:515,1
    - Dst: k8ef
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:516,1
    - Dst: inv_mcol
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:519,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:524,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:524,1
    - Dst: ff
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:524,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:525,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:525,1
    - Dst: ff
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:525,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:526,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:526,1
    - Dst: ff
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:526,1
    - Dst: word_in
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:527,1
    - Dst: v
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:527,1
    - Dst: ff
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:527,1
    - Dst: kdf8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:528,1
    - Dst: kd8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:528,1
    - Dst: kd8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:529,1
    - Dst: kd8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:529,1
    - Dst: kd8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:530,1
    - Dst: kd8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:530,1
    - Dst: kdl8
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 2
    argNames:
    - key
    - cx
    argTypes:
    - unsigned char*
    - aes_decrypt_ctx[]
    constantsTouched: []
    func_position:
      end: 544
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 544
    functionName: aes_decrypt_key256
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Aeskey.c
    functionUses: 1
    functionsReached:
    - kd8
    - kdf8
    - kdl8
    - k8ef
    - word_in
    - v
    - k8e
    - inv_mcol
    - ff
    linkageType: ''
    returnType: AES_RETURN
    signature: AES_RETURN aes_decrypt_key256(const unsigned char *key, aes_decrypt_ctx
      cx[1])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_decrypt_key128
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:555,1
    - Dst: aes_decrypt_key192
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:556,1
    - Dst: aes_decrypt_key256
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:557,1
    - Dst: aes_decrypt_key128
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:560,1
    - Dst: aes_decrypt_key192
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:561,1
    - Dst: aes_decrypt_key256
      Src: /src/cryptofuzz/modules/veracrypt/Aeskey.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - key
    - key_len
    - cx
    argTypes:
    - unsigned char*
    - int
    - aes_decrypt_ctx[]
    constantsTouched: []
    func_position:
      end: 565
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 565
    functionName: aes_decrypt_key
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Aeskey.c
    functionUses: 0
    functionsReached:
    - aes_decrypt_key256
    - aes_decrypt_key128
    - aes_decrypt_key192
    linkageType: ''
    returnType: AES_RETURN
    signature: AES_RETURN aes_decrypt_key(const unsigned char *key, int key_len, aes_decrypt_ctx
      cx[1])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasSSE2
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2203,1
    - Dst: kuznyechik_set_key_simd
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2205,1
    - Dst: FK
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2221,1
    - Dst: FK
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2226,1
    - Dst: FK
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2231,1
    - Dst: FK
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2236,1
    - Dst: ILSS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2249,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - key
    - kds
    argTypes:
    - byte*
    - kuznyechik_kds*
    constantsTouched: []
    func_position:
      end: 2257
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2257
    functionName: kuznyechik_set_key
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/kuznyechik.c
    functionUses: 2
    functionsReached:
    - ILSS
    - printf
    - FK
    - kuznyechik_set_key_simd
    - HasSSE2
    linkageType: ''
    returnType: void
    signature: void kuznyechik_set_key(const byte* key, kuznyechik_kds* kds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasSSE2
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2262,1
    - Dst: kuznyechik_encrypt_block_simd
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2264,1
    - Dst: LS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2274,1
    - Dst: LS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2277,1
    - Dst: LS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2280,1
    - Dst: LS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2283,1
    - Dst: LS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2286,1
    - Dst: LS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2289,1
    - Dst: LS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2292,1
    - Dst: LS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2295,1
    - Dst: LS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - out
    - in
    - kds
    argTypes:
    - byte*
    - byte*
    - kuznyechik_kds*
    constantsTouched: []
    func_position:
      end: 2304
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2304
    functionName: kuznyechik_encrypt_block
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/kuznyechik.c
    functionUses: 1
    functionsReached:
    - LS
    - kuznyechik_encrypt_block_simd
    - HasSSE2
    linkageType: ''
    returnType: void
    signature: void kuznyechik_encrypt_block(byte* out, const byte* in, kuznyechik_kds*
      kds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasSSE2
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2309,1
    - Dst: kuznyechik_encrypt_blocks_simd
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2311,1
    - Dst: kuznyechik_encrypt_block
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - out
    - in
    - blocks
    - kds
    argTypes:
    - byte*
    - byte*
    - size_t
    - kuznyechik_kds*
    constantsTouched: []
    func_position:
      end: 2324
      start: 2306
    functionDepth: 1
    functionLinenumber: 2306
    functionLinenumberEnd: 2324
    functionName: kuznyechik_encrypt_blocks
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/kuznyechik.c
    functionUses: 0
    functionsReached:
    - kuznyechik_encrypt_block
    - kuznyechik_encrypt_blocks_simd
    - HasSSE2
    linkageType: ''
    returnType: void
    signature: void kuznyechik_encrypt_blocks(byte* out, const byte* in, size_t blocks,
      kuznyechik_kds* kds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasSSE2
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2329,1
    - Dst: kuznyechik_decrypt_block_simd
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2331,1
    - Dst: ILSS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2340,1
    - Dst: ILS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2343,1
    - Dst: ILS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2346,1
    - Dst: ILS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2349,1
    - Dst: ILS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2352,1
    - Dst: ILS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2355,1
    - Dst: ILS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2358,1
    - Dst: ILS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2361,1
    - Dst: ILS
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2364,1
    - Dst: ISI
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2367,1
    - Dst: ISI
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - out
    - in
    - kds
    argTypes:
    - byte*
    - byte*
    - kuznyechik_kds*
    constantsTouched: []
    func_position:
      end: 2374
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2374
    functionName: kuznyechik_decrypt_block
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/kuznyechik.c
    functionUses: 1
    functionsReached:
    - ISI
    - kuznyechik_decrypt_block_simd
    - ILSS
    - ILS
    - HasSSE2
    linkageType: ''
    returnType: void
    signature: void kuznyechik_decrypt_block(byte* out, const byte* in, kuznyechik_kds*
      kds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasSSE2
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2379,1
    - Dst: kuznyechik_decrypt_blocks_simd
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2381,1
    - Dst: kuznyechik_decrypt_block
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - out
    - in
    - blocks
    - kds
    argTypes:
    - byte*
    - byte*
    - size_t
    - kuznyechik_kds*
    constantsTouched: []
    func_position:
      end: 2394
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2394
    functionName: kuznyechik_decrypt_blocks
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/kuznyechik.c
    functionUses: 0
    functionsReached:
    - kuznyechik_decrypt_blocks_simd
    - HasSSE2
    - kuznyechik_decrypt_block
    linkageType: ''
    returnType: void
    signature: void kuznyechik_decrypt_blocks(byte* out, const byte* in, size_t blocks,
      kuznyechik_kds* kds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - x
    - y
    - p
    argTypes:
    - uint8_t
    - uint8_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2410
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2410
    functionName: mul_gf
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/kuznyechik.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t mul_gf(uint8_t x, uint8_t y, uint16_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2414,1
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2414,1
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2414,1
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2414,1
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2415,1
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2415,1
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2415,1
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2415,1
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2416,1
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2416,1
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2416,1
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2416,1
    - Dst: mul_gf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2417
      start: 2412
    functionDepth: 1
    functionLinenumber: 2412
    functionLinenumberEnd: 2417
    functionName: l
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/kuznyechik.c
    functionUses: 263
    functionsReached:
    - mul_gf
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t l(uint8_t* a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2424
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2424
    functionName: R
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/kuznyechik.c
    functionUses: 102
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void R(uint8_t* val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: R
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2430
      start: 2426
    functionDepth: 1
    functionLinenumber: 2426
    functionLinenumberEnd: 2430
    functionName: L
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/kuznyechik.c
    functionUses: 12
    functionsReached:
    - R
    linkageType: ''
    returnType: void
    signature: void L(uint8_t* val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2435,1
    - Dst: l
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2439
      start: 2432
    functionDepth: 2
    functionLinenumber: 2432
    functionLinenumberEnd: 2439
    functionName: IR
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/kuznyechik.c
    functionUses: 0
    functionsReached:
    - memmove
    - l
    linkageType: ''
    returnType: void
    signature: void IR(uint8_t* val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IR
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2445
      start: 2441
    functionDepth: 3
    functionLinenumber: 2441
    functionLinenumberEnd: 2445
    functionName: IL
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/kuznyechik.c
    functionUses: 1
    functionsReached:
    - IR
    linkageType: ''
    returnType: void
    signature: void IL(uint8_t* val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2449,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2457,1
    - Dst: L
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2463,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2464,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2466,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2469,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2472,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2477,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2479,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2480,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2483,1
    - Dst: IL
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2489,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2490,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2492,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2495,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2498,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2503,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2505,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2506,1
    - Dst: L
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2511,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2512,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/veracrypt/kuznyechik.c:2514,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2447
    functionDepth: 4
    functionLinenumber: 2447
    functionLinenumberEnd: 2515
    functionName: generate_tables
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/kuznyechik.c
    functionUses: 0
    functionsReached:
    - IL
    - printf
    - L
    linkageType: ''
    returnType: void
    signature: void generate_tables()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:1804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - CTX
    argTypes:
    - STREEBOG_CTX*
    constantsTouched: []
    func_position:
      end: 1811
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1811
    functionName: STREEBOG_init
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Streebog.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void STREEBOG_init(STREEBOG_CTX *CTX)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:1818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - CTX
    argTypes:
    - STREEBOG_CTX*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1825
    functionName: STREEBOG_init256
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Streebog.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void STREEBOG_init256(STREEBOG_CTX *CTX)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:1835,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:1836,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:1839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - CTX
    argTypes:
    - STREEBOG_CTX*
    constantsTouched: []
    func_position:
      end: 1840
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1840
    functionName: pad
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Streebog.c
    functionUses: 7
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void pad(STREEBOG_CTX *CTX)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - x
    - y
    - r
    argTypes:
    - unsigned long long*
    - unsigned long long*
    - unsigned long long*
    constantsTouched: []
    func_position:
      end: 1891
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1891
    functionName: add512
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Streebog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add512(const unsigned long long *x, const unsigned long long *y,
      unsigned long long *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - __int64
    constantsTouched: []
    func_position:
      end: 1967
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1967
    functionName: _mm_set_pi64x
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Streebog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __m64
    signature: __m64 _mm_set_pi64x (const __int64 i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setr_epi32
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:1983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - i0
    - i1
    argTypes:
    - uint64
    - uint64
    constantsTouched: []
    func_position:
      end: 1984
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1984
    functionName: _mm_set_epi64x_a
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Streebog.c
    functionUses: 0
    functionsReached:
    - _mm_setr_epi32
    linkageType: ''
    returnType: VC_INLINE
    signature: VC_INLINE _mm_set_epi64x_a(uint64 i0, uint64 i1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasSSE41
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2244,1
    - Dst: LOAD
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2249,1
    - Dst: XLPS128MSSE4
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2250,1
    - Dst: LOAD
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2252,1
    - Dst: XLPS128RSSE4
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2253,1
    - Dst: ROUND128SSE4
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2256,1
    - Dst: XLPS128MSSE4
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2258,1
    - Dst: X128R
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2259,1
    - Dst: X128M
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2261,1
    - Dst: X128M
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2262,1
    - Dst: UNLOAD
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2264,1
    - Dst: _mm_empty
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2268,1
    - Dst: HasSSE2
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2272,1
    - Dst: LOAD
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2277,1
    - Dst: XLPS128M
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2278,1
    - Dst: LOAD
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2280,1
    - Dst: XLPS128R
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2281,1
    - Dst: ROUND128
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2284,1
    - Dst: XLPS128M
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2286,1
    - Dst: X128R
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2287,1
    - Dst: X128M
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2289,1
    - Dst: X128M
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2290,1
    - Dst: UNLOAD
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2292,1
    - Dst: _mm_empty
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2296,1
    - Dst: STREEBOG_ALIGN
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2301,1
    - Dst: XLPS
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2304,1
    - Dst: XLPS
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2310,1
    - Dst: ROUND
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2313,1
    - Dst: XLPS
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2315,1
    - Dst: X
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2316,1
    - Dst: X
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2319,1
    - Dst: X
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 3
    argNames:
    - h
    - N
    - m
    argTypes:
    - unsigned long long*
    - unsigned long long*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2322
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2322
    functionName: g
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Streebog.c
    functionUses: 797
    functionsReached:
    - ROUND128SSE4
    - X128R
    - X
    - XLPS128R
    - X128M
    - STREEBOG_ALIGN
    - XLPS128MSSE4
    - UNLOAD
    - XLPS128M
    - XLPS
    - HasSSE41
    - ROUND
    - _mm_empty
    - XLPS128RSSE4
    - HasSSE2
    - LOAD
    - ROUND128
    linkageType: ''
    returnType: void
    signature: void g(unsigned long long *h, const unsigned long long *N, const unsigned
      char *m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2327,1
    - Dst: add512
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2329,1
    - Dst: add512
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - CTX
    - data
    argTypes:
    - STREEBOG_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2331
      start: 2324
    functionDepth: 1
    functionLinenumber: 2324
    functionLinenumberEnd: 2331
    functionName: stage2
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Streebog.c
    functionUses: 0
    functionsReached:
    - g
    - add512
    linkageType: ''
    returnType: void
    signature: void stage2(STREEBOG_CTX *CTX, const unsigned char *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STREEBOG_ALIGN
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2336,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2338,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2339,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2340,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2342,1
    - Dst: BSWAP64
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2346,1
    - Dst: pad
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2349,1
    - Dst: g
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2351,1
    - Dst: add512
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2353,1
    - Dst: add512
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2354,1
    - Dst: g
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2357,1
    - Dst: g
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2359,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - CTX
    argTypes:
    - STREEBOG_CTX*
    constantsTouched: []
    func_position:
      end: 2361
      start: 2333
    functionDepth: 1
    functionLinenumber: 2333
    functionLinenumberEnd: 2361
    functionName: stage3
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Streebog.c
    functionUses: 0
    functionsReached:
    - BSWAP64
    - STREEBOG_ALIGN
    - memset
    - memcpy
    - pad
    - g
    - add512
    linkageType: ''
    returnType: void
    signature: void stage3(STREEBOG_CTX *CTX)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stage2
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2369,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2381,1
    - Dst: stage2
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - CTX
    - data
    - len
    argTypes:
    - STREEBOG_CTX*
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 2394
      start: 2363
    functionDepth: 2
    functionLinenumber: 2363
    functionLinenumberEnd: 2394
    functionName: STREEBOG_add
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Streebog.c
    functionUses: 1
    functionsReached:
    - stage2
    - memcpy
    linkageType: ''
    returnType: void
    signature: void STREEBOG_add(STREEBOG_CTX *CTX, const byte *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stage3
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2398,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2403,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Streebog.c:2405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - CTX
    - digest
    argTypes:
    - STREEBOG_CTX*
    - byte*
    constantsTouched: []
    func_position:
      end: 2406
      start: 2396
    functionDepth: 2
    functionLinenumber: 2396
    functionLinenumberEnd: 2406
    functionName: STREEBOG_finalize
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Streebog.c
    functionUses: 1
    functionsReached:
    - stage3
    - memcpy
    linkageType: ''
    returnType: void
    signature: void STREEBOG_finalize(STREEBOG_CTX *CTX, byte *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: cast_aligned_16
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cast_aligned_16(const void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: cast_aligned_32
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cast_aligned_32(const void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: cast_aligned_64
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cast_aligned_64(const void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:336,1
    - Dst: read_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:338,1
    - Dst: bswap16
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:340,1
    - Dst: read_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: fetch16_le_aligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - read_aligned
    - assert
    - bswap16
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline fetch16_le_aligned(const void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:351,1
    - Dst: bswap16
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:353,1
    - Dst: read_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: fetch16_le_unaligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - read_unaligned
    - bswap16
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline fetch16_le_unaligned(const void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:360,1
    - Dst: read_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:362,1
    - Dst: bswap32
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:364,1
    - Dst: read_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: fetch32_le_aligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - read_aligned
    - bswap32
    - assert
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline fetch32_le_aligned(const void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fetch16_le_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:372,1
    - Dst: fetch16_le_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:373,1
    - Dst: read_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:375,1
    - Dst: bswap32
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:377,1
    - Dst: read_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 379
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 379
    functionName: fetch32_le_unaligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - bswap32
    - read_unaligned
    - fetch16_le_unaligned
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline fetch32_le_unaligned(const void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:384,1
    - Dst: read_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:386,1
    - Dst: bswap64
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:388,1
    - Dst: read_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: fetch64_le_aligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - read_aligned
    - assert
    - bswap64
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline fetch64_le_aligned(const void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fetch32_le_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:396,1
    - Dst: fetch32_le_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:397,1
    - Dst: read_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:399,1
    - Dst: bswap64
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:401,1
    - Dst: read_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 403
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 403
    functionName: fetch64_le_unaligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - read_unaligned
    - fetch32_le_unaligned
    - bswap64
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline fetch64_le_unaligned(const void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fetch64_le_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:411,1
    - Dst: UINT64_C
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:411,1
    - Dst: unreachable
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:416,1
    - Dst: fetch64_le_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:421,1
    - Dst: fetch32_le_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:434,1
    - Dst: fetch16_le_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 2
    argNames:
    - v
    - tail
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 475
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 475
    functionName: tail64_le_aligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    - unreachable
    - fetch16_le_aligned
    - fetch64_le_aligned
    - fetch32_le_aligned
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline tail64_le_aligned(const void *v, size_t tail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:494,1
    - Dst: can_read_underside
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:494,1
    - Dst: fetch64_le_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:496,1
    - Dst: fetch64_le_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:498,1
    - Dst: UINT64_C
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:498,1
    - Dst: unreachable
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:503,1
    - Dst: fetch64_le_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:510,1
    - Dst: fetch32_le_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:523,1
    - Dst: fetch16_le_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 2
    argNames:
    - v
    - tail
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 566
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 566
    functionName: tail64_le_unaligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - fetch32_le_unaligned
    - likely
    - UINT64_C
    - unreachable
    - can_read_underside
    - fetch64_le_unaligned
    - fetch16_le_unaligned
    linkageType: ''
    returnType: __always_inline
    signature: "__always_inline tail64_le_unaligned(const void *v,\n                                                    size_t
      tail)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:573,1
    - Dst: read_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:575,1
    - Dst: bswap16
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:577,1
    - Dst: read_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 579
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 579
    functionName: fetch16_be_aligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - read_aligned
    - assert
    - bswap16
    linkageType: ''
    returnType: __maybe_unused
    signature: __maybe_unused fetch16_be_aligned(const void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:589,1
    - Dst: bswap16
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:591,1
    - Dst: read_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 593
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 593
    functionName: fetch16_be_unaligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - read_unaligned
    - bswap16
    linkageType: ''
    returnType: __maybe_unused
    signature: __maybe_unused fetch16_be_unaligned(const void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:599,1
    - Dst: read_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:601,1
    - Dst: bswap32
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:603,1
    - Dst: read_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 605
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 605
    functionName: fetch32_be_aligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - read_aligned
    - bswap32
    - assert
    linkageType: ''
    returnType: __maybe_unused
    signature: __maybe_unused fetch32_be_aligned(const void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fetch16_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:612,1
    - Dst: fetch16_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:613,1
    - Dst: read_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:615,1
    - Dst: bswap32
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:617,1
    - Dst: read_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: fetch32_be_unaligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - bswap32
    - read_unaligned
    - fetch16_be_unaligned
    linkageType: ''
    returnType: __maybe_unused
    signature: __maybe_unused fetch32_be_unaligned(const void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:625,1
    - Dst: read_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:627,1
    - Dst: bswap64
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:629,1
    - Dst: read_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: fetch64_be_aligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - read_aligned
    - assert
    - bswap64
    linkageType: ''
    returnType: __maybe_unused
    signature: __maybe_unused fetch64_be_aligned(const void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fetch32_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:638,1
    - Dst: fetch32_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:639,1
    - Dst: read_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:641,1
    - Dst: bswap64
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:643,1
    - Dst: read_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 645
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 645
    functionName: fetch64_be_unaligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - fetch32_be_unaligned
    - read_unaligned
    - bswap64
    linkageType: ''
    returnType: __maybe_unused
    signature: __maybe_unused fetch64_be_unaligned(const void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fetch64_be_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:654,1
    - Dst: unreachable
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:658,1
    - Dst: fetch16_be_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:665,1
    - Dst: fetch16_be_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:667,1
    - Dst: fetch32_be_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:669,1
    - Dst: fetch32_be_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:671,1
    - Dst: fetch32_be_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:673,1
    - Dst: fetch16_be_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:673,1
    - Dst: fetch32_be_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:675,1
    - Dst: fetch16_be_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:676,1
    - Dst: fetch64_be_aligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 2
    argNames:
    - v
    - tail
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 706
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 706
    functionName: tail64_be_aligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - unreachable
    - fetch64_be_aligned
    - fetch16_be_aligned
    - fetch32_be_aligned
    linkageType: ''
    returnType: __maybe_unused
    signature: "__maybe_unused tail64_be_aligned(const void *v,\n                                                                 size_t
      tail)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:718,1
    - Dst: can_read_underside
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:718,1
    - Dst: fetch64_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:720,1
    - Dst: UINT64_C
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:720,1
    - Dst: fetch64_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:722,1
    - Dst: unreachable
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:726,1
    - Dst: fetch16_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:735,1
    - Dst: fetch16_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:737,1
    - Dst: fetch32_be
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:739,1
    - Dst: fetch32_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:741,1
    - Dst: fetch32_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:743,1
    - Dst: fetch16_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:744,1
    - Dst: fetch32_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:746,1
    - Dst: fetch16_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:747,1
    - Dst: fetch64_be_unaligned
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 2
    argNames:
    - v
    - tail
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 779
      start: 708
    functionDepth: 3
    functionLinenumber: 708
    functionLinenumberEnd: 779
    functionName: tail64_be_unaligned
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - fetch32_be_unaligned
    - fetch64_be_unaligned
    - likely
    - UINT64_C
    - unreachable
    - fetch32_be
    - fetch16_be_unaligned
    - can_read_underside
    linkageType: ''
    returnType: __maybe_unused
    signature: __maybe_unused tail64_be_unaligned(const void *v, size_t tail)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - s
    argTypes:
    - uint64_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 786
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 786
    functionName: rot64
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline rot64(uint64_t v, unsigned s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 792
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 792
    functionName: mul_32x32_64
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline mul_32x32_64(uint32_t a, uint32_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __has_builtin
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:798,1
    - Dst: __builtin_addcll
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - base
    - addend
    - sum
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 806
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 806
    functionName: add64carry_first
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - __has_builtin
    - __builtin_addcll
    linkageType: ''
    returnType: __maybe_unused
    signature: __maybe_unused add64carry_first(uint64_t base, uint64_t addend, uint64_t
      *sum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __has_builtin
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:812,1
    - Dst: __builtin_addcll
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - carry
    - base
    - addend
    - sum
    argTypes:
    - unsigned
    - uint64_t
    - uint64_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 820
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 820
    functionName: add64carry_next
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - __has_builtin
    - __builtin_addcll
    linkageType: ''
    returnType: __maybe_unused
    signature: __maybe_unused add64carry_next(unsigned carry, uint64_t base, uint64_t
      addend, uint64_t *sum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __has_builtin
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:826,1
    - Dst: __builtin_addcll
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - carry
    - base
    - addend
    - sum
    argTypes:
    - unsigned
    - uint64_t
    - uint64_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 833
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 833
    functionName: add64carry_last
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - __has_builtin
    - __builtin_addcll
    linkageType: ''
    returnType: __maybe_unused
    signature: __maybe_unused add64carry_last(unsigned carry, uint64_t base, uint64_t
      addend, uint64_t *sum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_64x64_high
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:847,1
    - Dst: add64carry_last
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:861,1
    - Dst: add64carry_first
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:861,1
    - Dst: add64carry_last
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:862,1
    - Dst: add64carry_first
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - a
    - b
    - h
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 865
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 865
    functionName: mul_64x64_128
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - add64carry_first
    - add64carry_last
    - mul_64x64_high
    linkageType: ''
    returnType: __maybe_unused
    signature: "__maybe_unused mul_64x64_128(uint64_t a,\n                                                             uint64_t
      b,\n                                                             uint64_t *h)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_64x64_128
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 874
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 874
    functionName: mul_64x64_high
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 1
    functionsReached:
    - mul_64x64_128
    linkageType: ''
    returnType: __maybe_unused
    signature: "__maybe_unused mul_64x64_high(uint64_t a,\n                                                              uint64_t
      b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_64x64_128
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v
    - prime
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 894
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 894
    functionName: mux64
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - mul_64x64_128
    linkageType: ''
    returnType: __maybe_unused
    signature: "__maybe_unused mux64(uint64_t v,\n                                                     uint64_t
      prime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mux64
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 900
      start: 896
    functionDepth: 3
    functionLinenumber: 896
    functionLinenumberEnd: 900
    functionName: final64
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - mux64
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline final64(uint64_t a, uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_64x64_128
      Src: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - a
    - b
    - v
    - prime
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 908
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 908
    functionName: mixup64
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha_bits.h
    functionUses: 0
    functionsReached:
    - mul_64x64_128
    linkageType: ''
    returnType: __always_inline
    signature: "__always_inline mixup64(uint64_t *__restrict a,\n                                    uint64_t
      *__restrict b, uint64_t v,\n                                    uint64_t prime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 5
    argNames:
    - r0
    - r1
    - r2
    - r3
    - r4
    argTypes:
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 467
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 467
    functionName: S0f
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S0f (unsigned __int32 *r0, unsigned __int32 *r1, unsigned __int32
      *r2, unsigned __int32 *r3, unsigned __int32 *r4)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 5
    argNames:
    - r0
    - r1
    - r2
    - r3
    - r4
    argTypes:
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 489
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 489
    functionName: S1f
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S1f (unsigned __int32 *r0, unsigned __int32 *r1, unsigned __int32
      *r2, unsigned __int32 *r3, unsigned __int32 *r4)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 5
    argNames:
    - r0
    - r1
    - r2
    - r3
    - r4
    argTypes:
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 509
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 509
    functionName: S2f
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S2f (unsigned __int32 *r0, unsigned __int32 *r1, unsigned __int32
      *r2, unsigned __int32 *r3, unsigned __int32 *r4)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 5
    argNames:
    - r0
    - r1
    - r2
    - r3
    - r4
    argTypes:
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 532
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 532
    functionName: S3f
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S3f (unsigned __int32 *r0, unsigned __int32 *r1, unsigned __int32
      *r2, unsigned __int32 *r3, unsigned __int32 *r4)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 5
    argNames:
    - r0
    - r1
    - r2
    - r3
    - r4
    argTypes:
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 556
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 556
    functionName: S4f
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S4f (unsigned __int32 *r0, unsigned __int32 *r1, unsigned __int32
      *r2, unsigned __int32 *r3, unsigned __int32 *r4)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 5
    argNames:
    - r0
    - r1
    - r2
    - r3
    - r4
    argTypes:
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 579
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 579
    functionName: S5f
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S5f (unsigned __int32 *r0, unsigned __int32 *r1, unsigned __int32
      *r2, unsigned __int32 *r3, unsigned __int32 *r4)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 5
    argNames:
    - r0
    - r1
    - r2
    - r3
    - r4
    argTypes:
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 601
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 601
    functionName: S6f
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S6f (unsigned __int32 *r0, unsigned __int32 *r1, unsigned __int32
      *r2, unsigned __int32 *r3, unsigned __int32 *r4)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 5
    argNames:
    - r0
    - r1
    - r2
    - r3
    - r4
    argTypes:
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 625
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 625
    functionName: S7f
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S7f (unsigned __int32 *r0, unsigned __int32 *r1, unsigned __int32
      *r2, unsigned __int32 *r3, unsigned __int32 *r4)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - k
    - r
    - a
    - b
    - c
    - d
    argTypes:
    - unsigned __int32*
    - unsigned int
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 633
    functionName: KXf
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KXf (const unsigned __int32 *k, unsigned int r, unsigned __int32
      *a, unsigned __int32 *b, unsigned __int32 *c, unsigned __int32 *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:647,1
    - Dst: rotl32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:652,1
    - Dst: afterS2
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:669,1
    - Dst: afterS2
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:669,1
    - Dst: afterS3
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:669,1
    - Dst: afterS1
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:670,1
    - Dst: afterS1
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:670,1
    - Dst: afterS2
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:670,1
    - Dst: afterS0
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:671,1
    - Dst: afterS0
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:671,1
    - Dst: afterS1
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:671,1
    - Dst: beforeS0
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:672,1
    - Dst: beforeS0
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:672,1
    - Dst: afterS0
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:672,1
    - Dst: afterS6
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:674,1
    - Dst: afterS6
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:674,1
    - Dst: afterS7
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:674,1
    - Dst: afterS5
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:675,1
    - Dst: afterS5
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:675,1
    - Dst: afterS6
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:675,1
    - Dst: afterS4
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:676,1
    - Dst: afterS4
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:676,1
    - Dst: afterS5
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:676,1
    - Dst: afterS3
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:677,1
    - Dst: afterS3
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:677,1
    - Dst: afterS4
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:677,1
    - Dst: afterS2
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:679,1
    - Dst: afterS2
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:679,1
    - Dst: afterS3
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 2
    argNames:
    - userKey
    - ks
    argTypes:
    - unsigned __int8[]
    - unsigned __int8*
    constantsTouched: []
    func_position:
      end: 680
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 680
    functionName: serpent_set_key
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 4
    functionsReached:
    - afterS4
    - rotl32
    - afterS7
    - beforeS0
    - afterS1
    - afterS5
    - afterS0
    - afterS6
    - afterS2
    - afterS3
    - LE32
    linkageType: ''
    returnType: void
    signature: void serpent_set_key(const unsigned __int8 userKey[],unsigned __int8
      *ks)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - k
    - r
    - a
    - b
    - c
    - d
    argTypes:
    - unsigned __int32*
    - unsigned int
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: LKf
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LKf (unsigned __int32 *k, unsigned int r, unsigned __int32 *a,
      unsigned __int32 *b, unsigned __int32 *c, unsigned __int32 *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - k
    - r
    - a
    - b
    - c
    - d
    argTypes:
    - unsigned __int32*
    - unsigned int
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 698
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 698
    functionName: SKf
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SKf (unsigned __int32 *k, unsigned int r, unsigned __int32 *a,
      unsigned __int32 *b, unsigned __int32 *c, unsigned __int32 *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:708,1
    - Dst: rotl32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:713,1
    - Dst: LKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:718,1
    - Dst: S3f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:718,1
    - Dst: SKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:718,1
    - Dst: LKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:719,1
    - Dst: S2f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:719,1
    - Dst: SKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:719,1
    - Dst: LKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:720,1
    - Dst: S1f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:720,1
    - Dst: SKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:720,1
    - Dst: LKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:721,1
    - Dst: S0f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:721,1
    - Dst: SKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:721,1
    - Dst: LKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:723,1
    - Dst: S7f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:723,1
    - Dst: SKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:723,1
    - Dst: LKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:724,1
    - Dst: S6f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:724,1
    - Dst: SKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:724,1
    - Dst: LKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:725,1
    - Dst: S5f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:725,1
    - Dst: SKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:725,1
    - Dst: LKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:726,1
    - Dst: S4f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:726,1
    - Dst: SKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:726,1
    - Dst: LKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:728,1
    - Dst: S3f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:728,1
    - Dst: SKf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 2
    argNames:
    - userKey
    - ks
    argTypes:
    - unsigned __int8[]
    - unsigned __int8*
    constantsTouched: []
    func_position:
      end: 729
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 729
    functionName: serpent_set_key
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 4
    functionsReached:
    - rotl32
    - S1f
    - S6f
    - S0f
    - S5f
    - S4f
    - LKf
    - SKf
    - S7f
    - S3f
    - LE32
    - S2f
    linkageType: ''
    returnType: void
    signature: void serpent_set_key(const unsigned __int8 userKey[], unsigned __int8
      *ks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:744,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:745,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:746,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:747,1
    - Dst: beforeS0
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:751,1
    - Dst: beforeS0
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:751,1
    - Dst: afterS0
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:751,1
    - Dst: afterS0
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:752,1
    - Dst: afterS0
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:752,1
    - Dst: afterS1
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:752,1
    - Dst: afterS1
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:753,1
    - Dst: afterS1
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:753,1
    - Dst: afterS2
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:753,1
    - Dst: afterS2
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:754,1
    - Dst: afterS2
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:754,1
    - Dst: afterS3
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:754,1
    - Dst: afterS3
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:755,1
    - Dst: afterS3
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:755,1
    - Dst: afterS4
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:755,1
    - Dst: afterS4
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:756,1
    - Dst: afterS4
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:756,1
    - Dst: afterS5
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:756,1
    - Dst: afterS5
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:757,1
    - Dst: afterS5
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:757,1
    - Dst: afterS6
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:757,1
    - Dst: afterS6
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:758,1
    - Dst: afterS6
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:758,1
    - Dst: beforeS0
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:770,1
    - Dst: afterS7
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:774,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:776,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:777,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:778,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 3
    argNames:
    - inBlock
    - outBlock
    - ks
    argTypes:
    - unsigned __int8*
    - unsigned __int8*
    - unsigned __int8*
    constantsTouched: []
    func_position:
      end: 780
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 780
    functionName: serpent_encrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 2
    functionsReached:
    - afterS4
    - afterS7
    - beforeS0
    - afterS1
    - afterS5
    - afterS0
    - afterS6
    - afterS2
    - afterS3
    - LE32
    linkageType: ''
    returnType: void
    signature: void serpent_encrypt(const unsigned __int8 *inBlock, unsigned __int8
      *outBlock, unsigned __int8 *ks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:788,1
    - Dst: rotl32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:789,1
    - Dst: rotl32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:790,1
    - Dst: rotl32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:791,1
    - Dst: rotl32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:792,1
    - Dst: rotl32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - uint32*
    - uint32*
    - uint32*
    - uint32*
    constantsTouched: []
    func_position:
      end: 794
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 794
    functionName: LTf
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached:
    - rotl32
    linkageType: ''
    returnType: void
    signature: void LTf (uint32 *a, uint32 *b, uint32 *c, uint32 *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:804,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:805,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:806,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:807,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:811,1
    - Dst: S0f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:811,1
    - Dst: LTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:811,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:812,1
    - Dst: S1f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:812,1
    - Dst: LTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:812,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:813,1
    - Dst: S2f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:813,1
    - Dst: LTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:813,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:814,1
    - Dst: S3f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:814,1
    - Dst: LTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:814,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:815,1
    - Dst: S4f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:815,1
    - Dst: LTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:815,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:816,1
    - Dst: S5f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:816,1
    - Dst: LTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:816,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:817,1
    - Dst: S6f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:817,1
    - Dst: LTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:817,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:818,1
    - Dst: S7f
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:818,1
    - Dst: LTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:830,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:834,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:836,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:837,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:838,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 3
    argNames:
    - inBlock
    - outBlock
    - ks
    argTypes:
    - unsigned __int8*
    - unsigned __int8*
    - unsigned __int8*
    constantsTouched: []
    func_position:
      end: 840
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 840
    functionName: serpent_encrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 2
    functionsReached:
    - S6f
    - S0f
    - S5f
    - LTf
    - S4f
    - S3f
    - S7f
    - KXf
    - S1f
    - LE32
    - S2f
    linkageType: ''
    returnType: void
    signature: void serpent_encrypt(const unsigned __int8 *inBlock, unsigned __int8
      *outBlock, unsigned __int8 *ks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:854,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:855,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:856,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:857,1
    - Dst: beforeI7
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:859,1
    - Dst: beforeI7
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:868,1
    - Dst: beforeI7
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:870,1
    - Dst: afterI7
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:870,1
    - Dst: afterI7
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:871,1
    - Dst: afterI7
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:871,1
    - Dst: afterI6
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:871,1
    - Dst: afterI6
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:872,1
    - Dst: afterI6
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:872,1
    - Dst: afterI5
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:872,1
    - Dst: afterI5
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:873,1
    - Dst: afterI5
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:873,1
    - Dst: afterI4
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:873,1
    - Dst: afterI4
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:874,1
    - Dst: afterI4
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:874,1
    - Dst: afterI3
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:874,1
    - Dst: afterI3
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:875,1
    - Dst: afterI3
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:875,1
    - Dst: afterI2
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:875,1
    - Dst: afterI2
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:876,1
    - Dst: afterI2
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:876,1
    - Dst: afterI1
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:876,1
    - Dst: afterI1
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:877,1
    - Dst: afterI1
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:877,1
    - Dst: afterI0
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:877,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:881,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:882,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:883,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 3
    argNames:
    - inBlock
    - outBlock
    - ks
    argTypes:
    - unsigned __int8*
    - unsigned __int8*
    - unsigned __int8*
    constantsTouched: []
    func_position:
      end: 885
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 885
    functionName: serpent_decrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 2
    functionsReached:
    - afterI6
    - beforeI7
    - afterI2
    - afterI4
    - afterI3
    - afterI0
    - afterI5
    - afterI1
    - LE32
    - afterI7
    linkageType: ''
    returnType: void
    signature: void serpent_decrypt(const unsigned __int8 *inBlock, unsigned __int8
      *outBlock, unsigned __int8 *ks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotr32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:891,1
    - Dst: rotr32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:892,1
    - Dst: rotr32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:895,1
    - Dst: rotr32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:896,1
    - Dst: rotr32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:898,1
    - Dst: rotr32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - uint32*
    - uint32*
    - uint32*
    - uint32*
    constantsTouched: []
    func_position:
      end: 900
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 900
    functionName: ILTf
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 0
    functionsReached:
    - rotr32
    linkageType: ''
    returnType: void
    signature: void ILTf (uint32 *a, uint32 *b, uint32 *c, uint32 *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:910,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:911,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:912,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:913,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:915,1
    - Dst: beforeI7
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:924,1
    - Dst: beforeI7
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:926,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:926,1
    - Dst: ILTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:927,1
    - Dst: afterI7
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:927,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:927,1
    - Dst: ILTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:928,1
    - Dst: afterI6
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:928,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:928,1
    - Dst: ILTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:929,1
    - Dst: afterI5
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:929,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:929,1
    - Dst: ILTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:930,1
    - Dst: afterI4
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:930,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:930,1
    - Dst: ILTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:931,1
    - Dst: afterI3
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:931,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:931,1
    - Dst: ILTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:932,1
    - Dst: afterI2
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:932,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:932,1
    - Dst: ILTf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:933,1
    - Dst: afterI1
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:933,1
    - Dst: KXf
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:933,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:937,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:938,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:939,1
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Serpent.c:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 3
    argNames:
    - inBlock
    - outBlock
    - ks
    argTypes:
    - unsigned __int8*
    - unsigned __int8*
    - unsigned __int8*
    constantsTouched: []
    func_position:
      end: 941
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 941
    functionName: serpent_decrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Serpent.c
    functionUses: 2
    functionsReached:
    - afterI6
    - beforeI7
    - afterI2
    - afterI4
    - afterI3
    - ILTf
    - afterI5
    - KXf
    - afterI1
    - LE32
    - afterI7
    linkageType: ''
    returnType: void
    signature: void serpent_decrypt(const unsigned __int8 *inBlock, unsigned __int8
      *outBlock, unsigned __int8 *ks)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - x
    - y
    argTypes:
    - t1ha_state256_t*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: init_ab
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __always_inline
    signature: "__always_inline init_ab(t1ha_state256_t *s, uint64_t x,\n                                    uint64_t
      y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rot64
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:54,1
    - Dst: rot64
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - x
    - y
    argTypes:
    - t1ha_state256_t*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: init_cd
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha2.c
    functionUses: 0
    functionsReached:
    - rot64
    linkageType: ''
    returnType: __always_inline
    signature: "__always_inline init_cd(t1ha_state256_t *s, uint64_t x,\n                                    uint64_t
      y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rot64
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:76,1
    - Dst: rot64
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - t1ha_state256_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: squash
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha2.c
    functionUses: 0
    functionsReached:
    - rot64
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline squash(t1ha_state256_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_ab
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:237,1
    - Dst: init_cd
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:238,1
    - Dst: unlikely
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:241,1
    - Dst: T1HA2_LOOP
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:242,1
    - Dst: T1HA2_TAIL_ABCD
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:245,1
    - Dst: unlikely
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:248,1
    - Dst: T1HA2_LOOP
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:249,1
    - Dst: T1HA2_TAIL_ABCD
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:252,1
    - Dst: unlikely
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:254,1
    - Dst: T1HA2_LOOP
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:255,1
    - Dst: T1HA2_TAIL_ABCD
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - extra_result
    - data
    - length
    - seed
    argTypes:
    - uint64_t*
    - void*
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 261
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 261
    functionName: t1ha2_atonce128
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha2.c
    functionUses: 0
    functionsReached:
    - init_ab
    - T1HA2_LOOP
    - T1HA2_TAIL_ABCD
    - init_cd
    - unlikely
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t t1ha2_atonce128(uint64_t *__restrict extra_result,\n                         const
      void *__restrict data, size_t length,\n                         uint64_t seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_ab
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:266,1
    - Dst: init_cd
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - seed_x
    - seed_y
    argTypes:
    - t1ha_context_t*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: t1ha2_init
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha2.c
    functionUses: 1
    functionsReached:
    - init_ab
    - init_cd
    linkageType: ''
    returnType: void
    signature: void t1ha2_init(t1ha_context_t *ctx, uint64_t seed_x, uint64_t seed_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:279,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:282,1
    - Dst: T1HA2_UPDATE
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:288,1
    - Dst: T1HA2_LOOP
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:293,1
    - Dst: T1HA2_LOOP
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:296,1
    - Dst: T1HA2_LOOP
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:298,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - data
    - length
    argTypes:
    - t1ha_context_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 306
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 306
    functionName: t1ha2_update
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha2.c
    functionUses: 1
    functionsReached:
    - T1HA2_LOOP
    - memcpy
    - T1HA2_UPDATE
    - assert
    linkageType: ''
    returnType: void
    signature: "void t1ha2_update(t1ha_context_t *__restrict ctx, const void *__restrict
      data,\n                  size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap64
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:312,1
    - Dst: t1ha2_update
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:314,1
    - Dst: likely
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:316,1
    - Dst: squash
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:317,1
    - Dst: T1HA2_TAIL_AB
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:318,1
    - Dst: T1HA2_TAIL_ABCD
      Src: /src/cryptofuzz/modules/veracrypt/t1ha2.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - extra_result
    argTypes:
    - t1ha_context_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 322
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 322
    functionName: t1ha2_final
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/t1ha2.c
    functionUses: 0
    functionsReached:
    - bswap64
    - T1HA2_TAIL_AB
    - likely
    - squash
    - T1HA2_TAIL_ABCD
    - t1ha2_update
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t t1ha2_final(t1ha_context_t *__restrict ctx,\n                     uint64_t
      *__restrict extra_result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RMD160_CTX*
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: RMD160Init
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Rmd160.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RMD160Init (RMD160_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:89,1
    - Dst: RMD160Transform
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:90,1
    - Dst: RMD160Transform
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:98,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - input
    - lenArg
    argTypes:
    - RMD160_CTX*
    - unsigned char*
    - unsigned __int32
    constantsTouched: []
    func_position:
      end: 107
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 107
    functionName: RMD160Update
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Rmd160.c
    functionUses: 1
    functionsReached:
    - RMD160Transform
    - memcpy
    linkageType: ''
    returnType: void
    signature: void RMD160Update (RMD160_CTX *ctx, const unsigned char *input, unsigned
      __int32 lenArg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PUT_64BIT_LE
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:122,1
    - Dst: RMD160Update
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:133,1
    - Dst: RMD160Update
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RMD160_CTX*
    constantsTouched: []
    func_position:
      end: 135
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 135
    functionName: RMD160Pad
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Rmd160.c
    functionUses: 0
    functionsReached:
    - PUT_64BIT_LE
    - RMD160Update
    linkageType: ''
    returnType: void
    signature: void RMD160Pad(RMD160_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RMD160Pad
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:144,1
    - Dst: PUT_32BIT_LE
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:147,1
    - Dst: burn
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - RMD160_CTX*
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: RMD160Final
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Rmd160.c
    functionUses: 1
    functionsReached:
    - burn
    - PUT_32BIT_LE
    - RMD160Pad
    linkageType: ''
    returnType: void
    signature: void RMD160Final(unsigned char *digest, RMD160_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - word32
    - unsigned int
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: rotlFixed
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: word32
    signature: word32 rotlFixed (word32 x, unsigned int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE32
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:199,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:203,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:204,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:205,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:206,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:207,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:208,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:209,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:210,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:211,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:212,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:213,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:214,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:215,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:216,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:217,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:218,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:220,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:221,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:222,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:223,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:224,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:225,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:226,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:227,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:228,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:229,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:230,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:231,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:232,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:233,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:234,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:235,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:237,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:238,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:239,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:240,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:241,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:242,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:243,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:244,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:245,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:246,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:247,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:248,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:249,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:250,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:251,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:252,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:254,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:255,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:256,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:257,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:258,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:259,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:260,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:261,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:262,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:263,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:264,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:265,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:266,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:267,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:268,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:269,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:271,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:272,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:273,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:274,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:275,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:276,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:277,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:278,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:279,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:280,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:281,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:282,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:283,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:284,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:285,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:286,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:288,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:289,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:290,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:291,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:292,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:293,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:294,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:295,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:296,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:297,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:298,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:299,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:300,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:301,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:302,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:303,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:305,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:306,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:307,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:308,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:309,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:310,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:311,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:312,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:313,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:314,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:315,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:316,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:317,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:318,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:319,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:320,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:322,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:323,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:324,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:325,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:326,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:327,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:328,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:329,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:330,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:331,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:332,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:333,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:334,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:335,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:336,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:337,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:339,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:340,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:341,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:342,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:343,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:344,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:345,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:346,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:347,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:348,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:349,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:350,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:351,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:352,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:353,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:354,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:356,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:357,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:358,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:359,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:360,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:361,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:362,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:363,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:364,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:365,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:366,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:367,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:368,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:369,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:370,1
    - Dst: Subround
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 175
    argCount: 2
    argNames:
    - digest
    - data
    argTypes:
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 379
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 379
    functionName: RMD160Transform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Rmd160.c
    functionUses: 1
    functionsReached:
    - LE32
    - Subround
    linkageType: ''
    returnType: void
    signature: void RMD160Transform (unsigned __int32 *digest, const unsigned __int32
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:462,1
    - Dst: G
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:463,1
    - Dst: H
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:464,1
    - Dst: I
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:465,1
    - Dst: J
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:466,1
    - Dst: _lrotl
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:469,1
    - Dst: _lrotl
      Src: /src/cryptofuzz/modules/veracrypt/Rmd160.c:472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 2
    argNames:
    - state
    - data
    argTypes:
    - unsigned __int32*
    - unsigned __int32*
    constantsTouched: []
    func_position:
      end: 498
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 498
    functionName: RMD160Transform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Rmd160.c
    functionUses: 1
    functionsReached:
    - G
    - I
    - F
    - H
    - J
    - _lrotl
    linkageType: ''
    returnType: void
    signature: void RMD160Transform (unsigned __int32 *state, const unsigned __int32
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: aes_init
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Aestab.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: AES_RETURN
    signature: AES_RETURN aes_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint_32t
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: hibit
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Aestab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint_8t
    signature: uint_8t hibit(const uint_32t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hibit
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:232,1
    - Dst: hibit
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:242,1
    - Dst: hibit
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint_8t
    constantsTouched: []
    func_position:
      end: 252
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 252
    functionName: fi
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Aestab.c
    functionUses: 0
    functionsReached:
    - hibit
    linkageType: ''
    returnType: uint_8t
    signature: uint_8t fi(const uint_8t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fwd_affine
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:284,1
    - Dst: fi
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:284,1
    - Dst: f3
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:288,1
    - Dst: f2
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:289,1
    - Dst: f3
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:292,1
    - Dst: fi
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:294,1
    - Dst: inv_affine
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:294,1
    - Dst: fe
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:295,1
    - Dst: f9
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:296,1
    - Dst: fd
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:297,1
    - Dst: fb
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:298,1
    - Dst: fe
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:299,1
    - Dst: f9
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:300,1
    - Dst: fd
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:301,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:335,1
    - Dst: bytes2word
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:335,1
    - Dst: f2
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:336,1
    - Dst: fwd_affine
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:342,1
    - Dst: fi
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:342,1
    - Dst: bytes2word
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:343,1
    - Dst: f2
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:343,1
    - Dst: f3
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:343,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:346,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:350,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:353,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:354,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:354,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:355,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:355,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:356,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:356,1
    - Dst: bytes2word
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:358,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:361,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:364,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:365,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:365,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:366,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:366,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:367,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:367,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:371,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:374,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:375,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:375,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:376,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:376,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:377,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:377,1
    - Dst: fi
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:380,1
    - Dst: inv_affine
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:380,1
    - Dst: bytes2word
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:381,1
    - Dst: fe
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:381,1
    - Dst: f9
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:381,1
    - Dst: fd
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:381,1
    - Dst: fb
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:381,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:384,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:387,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:388,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:388,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:389,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:389,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:390,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:390,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:394,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:397,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:400,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:401,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:401,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:402,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:402,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:403,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:403,1
    - Dst: bytes2word
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:405,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:407,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:410,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:411,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:411,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:412,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:412,1
    - Dst: t_set
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:413,1
    - Dst: upr
      Src: /src/cryptofuzz/modules/veracrypt/Aestab.c:413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 421
    functionName: aes_init
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Aestab.c
    functionUses: 1
    functionsReached:
    - fwd_affine
    - inv_affine
    - fb
    - fd
    - fe
    - f3
    - bytes2word
    - f2
    - fi
    - upr
    - f9
    - t_set
    linkageType: ''
    returnType: AES_RETURN
    signature: AES_RETURN aes_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasISSE
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:659,1
    - Dst: CRYPTOPP_ALIGN_DATA
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:663,1
    - Dst: AS_PUSH_IF86
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:672,1
    - Dst: ASL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:693,1
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:694,1
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:694,1
    - Dst: AS2
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:695,1
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:695,1
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:696,1
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:696,1
    - Dst: AS2
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:697,1
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:697,1
    - Dst: AS2
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:698,1
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:698,1
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:698,1
    - Dst: KSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:780,1
    - Dst: KSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:781,1
    - Dst: KSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:782,1
    - Dst: KSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:783,1
    - Dst: KSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:784,1
    - Dst: KSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:785,1
    - Dst: KSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:786,1
    - Dst: KSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:787,1
    - Dst: KSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:788,1
    - Dst: KSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:789,1
    - Dst: KSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:790,1
    - Dst: KSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:791,1
    - Dst: KSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:792,1
    - Dst: KSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:793,1
    - Dst: KSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:794,1
    - Dst: KSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:795,1
    - Dst: WORD_REG
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:797,1
    - Dst: AS2
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:798,1
    - Dst: TSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:800,1
    - Dst: TSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:801,1
    - Dst: TSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:802,1
    - Dst: TSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:803,1
    - Dst: TSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:804,1
    - Dst: TSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:805,1
    - Dst: TSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:806,1
    - Dst: TSL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:807,1
    - Dst: TSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:808,1
    - Dst: TSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:809,1
    - Dst: TSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:810,1
    - Dst: TSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:811,1
    - Dst: TSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:812,1
    - Dst: TSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:813,1
    - Dst: TSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:820,1
    - Dst: ASJ
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:822,1
    - Dst: ASL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:823,1
    - Dst: TSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:825,1
    - Dst: TSH
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:826,1
    - Dst: AS_POP_IF86
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:833,1
    - Dst: AS1
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:834,1
    - Dst: AS_POP_IF86
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:837,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:881,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 78
    argCount: 2
    argNames:
    - digest
    - block
    argTypes:
    - uint64*
    - uint64*
    constantsTouched: []
    func_position:
      end: 886
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 886
    functionName: WhirlpoolTransform
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Whirlpool.c
    functionUses: 0
    functionsReached:
    - AS_PUSH_IF86
    - WORD_REG
    - AS2
    - ASJ
    - memcpy
    - CRYPTOPP_ALIGN_DATA
    - ASL
    - HasISSE
    - KSL
    - TSL
    - AS1
    - KSH
    - AS_POP_IF86
    - TSH
    linkageType: ''
    returnType: void
    signature: void WhirlpoolTransform(uint64 *digest, const uint64 *block)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:895,1
    - Dst: _byteswap_uint64
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:897,1
    - Dst: LL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:899,1
    - Dst: LL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:899,1
    - Dst: LL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:900,1
    - Dst: LL
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:900,1
    - Dst: rotl64
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    constantsTouched: []
    func_position:
      end: 903
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 903
    functionName: ByteReverseWord64
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Whirlpool.c
    functionUses: 0
    functionsReached:
    - rotl64
    - bswap_64
    - _byteswap_uint64
    - LL
    linkageType: ''
    returnType: uint64
    signature: uint64 ByteReverseWord64(uint64 value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ByteReverseWord64
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in
    - byteCount
    argTypes:
    - uint64*
    - uint64*
    - size_t
    constantsTouched: []
    func_position:
      end: 911
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 911
    functionName: CorrectEndianess
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Whirlpool.c
    functionUses: 0
    functionsReached:
    - ByteReverseWord64
    linkageType: ''
    returnType: void
    signature: void CorrectEndianess(uint64 *out, const uint64 *in, size_t byteCount)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WhirlpoolTransform
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:919,1
    - Dst: CorrectEndianess
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:921,1
    - Dst: WhirlpoolTransform
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - input
    - length
    argTypes:
    - WHIRLPOOL_CTX*
    - uint64*
    - uint64
    constantsTouched: []
    func_position:
      end: 929
      start: 913
    functionDepth: 3
    functionLinenumber: 913
    functionLinenumberEnd: 929
    functionName: HashMultipleBlocks
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Whirlpool.c
    functionUses: 0
    functionsReached:
    - WhirlpoolTransform
    - CorrectEndianess
    linkageType: ''
    returnType: uint64
    signature: uint64 HashMultipleBlocks(WHIRLPOOL_CTX * const ctx, const uint64 *input,
      uint64 length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:937,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - WHIRLPOOL_CTX*
    constantsTouched: []
    func_position:
      end: 939
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 939
    functionName: WHIRLPOOL_init
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Whirlpool.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void WHIRLPOOL_init(WHIRLPOOL_CTX * const ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:970,1
    - Dst: HashMultipleBlocks
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:971,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:979,1
    - Dst: HashMultipleBlocks
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:989,1
    - Dst: IsAligned16
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:992,1
    - Dst: HashMultipleBlocks
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:994,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:1001,1
    - Dst: HashMultipleBlocks
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:1002,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:1009,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - input
    - sourceBytes
    - ctx
    argTypes:
    - unsigned char*
    - unsigned __int32
    - WHIRLPOOL_CTX*
    constantsTouched: []
    func_position:
      end: 1011
      start: 949
    functionDepth: 4
    functionLinenumber: 949
    functionLinenumberEnd: 1011
    functionName: WHIRLPOOL_add
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Whirlpool.c
    functionUses: 1
    functionsReached:
    - IsAligned16
    - memcpy
    - HashMultipleBlocks
    linkageType: ''
    returnType: void
    signature: "void WHIRLPOOL_add(const unsigned char * input,\n               unsigned
      __int32 sourceBytes,\n               WHIRLPOOL_CTX * const ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:1028,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:1031,1
    - Dst: HashMultipleBlocks
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:1032,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:1033,1
    - Dst: CorrectEndianess
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:1036,1
    - Dst: WhirlpoolTransform
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:1044,1
    - Dst: CorrectEndianess
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:1046,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/Whirlpool.c:1048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - result
    argTypes:
    - WHIRLPOOL_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1049
      start: 1018
    functionDepth: 4
    functionLinenumber: 1018
    functionLinenumberEnd: 1049
    functionName: WHIRLPOOL_finalize
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/Whirlpool.c
    functionUses: 1
    functionsReached:
    - HashMultipleBlocks
    - memset
    - memcpy
    - CorrectEndianess
    - WhirlpoolTransform
    linkageType: ''
    returnType: void
    signature: "void WHIRLPOOL_finalize(WHIRLPOOL_CTX * const ctx,\n                    unsigned
      char * result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasSSE2
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:27,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:29,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:30,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:31,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:32,1
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:34,1
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:34,1
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:35,1
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:35,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:37,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:38,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:39,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:40,1
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:42,1
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:42,1
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:43,1
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - in
    - prev
    - out
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 54
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 54
    functionName: xor_block_512
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/chacha256.c
    functionUses: 0
    functionsReached:
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_xor_si128
    - HasSSE2
    linkageType: ''
    returnType: VC_INLINE
    signature: VC_INLINE xor_block_512(const unsigned char* in, const unsigned char*
      prev, unsigned char* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:62,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:64,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:66,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:68,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:71,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:73,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:75,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:77,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:80,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:82,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:84,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:86,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:89,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:91,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:93,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:95,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:98,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:100,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:102,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:104,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:107,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:109,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:111,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:113,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:116,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:118,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:120,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:122,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:125,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:127,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:129,1
    - Dst: rotatel32
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 67
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - uint32*
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 133
    functionName: chacha_core
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/chacha256.c
    functionUses: 0
    functionsReached:
    - rotatel32
    linkageType: ''
    returnType: VC_INLINE
    signature: VC_INLINE chacha_core(uint32* x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:139,1
    - Dst: chacha_core
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - in
    - out
    - r
    argTypes:
    - uint32*
    - uint32*
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: chacha_hash
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/chacha256.c
    functionUses: 0
    functionsReached:
    - memcpy
    - chacha_core
    linkageType: ''
    returnType: VC_INLINE
    signature: VC_INLINE chacha_hash(const uint32* in, uint32* out, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chacha_hash
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - input
    - block
    - r
    argTypes:
    - uint32*
    - uint32*
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: incrementSalsaCounter
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/chacha256.c
    functionUses: 0
    functionsReached:
    - chacha_hash
    linkageType: ''
    returnType: VC_INLINE
    signature: VC_INLINE incrementSalsaCounter(uint32* input, uint32* block, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasSSSE3
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:168,1
    - Dst: chacha_ECRYPT_encrypt_bytes
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:173,1
    - Dst: chacha_ECRYPT_encrypt_bytes
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:179,1
    - Dst: VC_MIN
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:187,1
    - Dst: incrementSalsaCounter
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:189,1
    - Dst: xor_block_512
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:192,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 7
    argNames:
    - in
    - len
    - out
    - r
    - posPtr
    - input
    - block
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - int
    - size_t*
    - uint32*
    - uint32*
    constantsTouched: []
    func_position:
      end: 202
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 202
    functionName: do_encrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/chacha256.c
    functionUses: 0
    functionsReached:
    - incrementSalsaCounter
    - VC_MIN
    - xor_block_512
    - chacha_ECRYPT_encrypt_bytes
    - HasSSSE3
    linkageType: ''
    returnType: VC_INLINE
    signature: VC_INLINE do_encrypt(const unsigned char* in, size_t len, unsigned
      char* out, int r, size_t* posPtr, uint32* input, uint32* block)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:211,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - rounds
    argTypes:
    - ChaCha256Ctx*
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: ChaCha256Init
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/chacha256.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ChaCha256Init(ChaCha256Ctx* ctx, const unsigned char* key, const
      unsigned char* iv, int rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt
      Src: /src/cryptofuzz/modules/veracrypt/chacha256.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - in
    - len
    - out
    argTypes:
    - ChaCha256Ctx*
    - unsigned char*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: ChaCha256Encrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/chacha256.c
    functionUses: 1
    functionsReached:
    - do_encrypt
    linkageType: ''
    returnType: void
    signature: void ChaCha256Encrypt(ChaCha256Ctx* ctx, const unsigned char* in, size_t
      len, unsigned char* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - kds
    argTypes:
    - gost_kds*
    constantsTouched: []
    func_position:
      end: 68
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 68
    functionName: gost_prepare_kds
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/GostCipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gost_prepare_kds(gost_kds* kds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - s_box
    - seed
    argTypes:
    - byte[][]
    - byte*
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: xor_s_box
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/GostCipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xor_s_box(byte s_box[8][16], byte *seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:89,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:90,1
    - Dst: HasSSE2
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:99,1
    - Dst: HasSSE41
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:99,1
    - Dst: KeSaveFloatingPointState
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:100,1
    - Dst: STREEBOG_init
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:103,1
    - Dst: STREEBOG_add
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:104,1
    - Dst: STREEBOG_finalize
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:105,1
    - Dst: NT_SUCCESS
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:108,1
    - Dst: KeRestoreFloatingPointState
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:109,1
    - Dst: xor_s_box
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:112,1
    - Dst: gost_prepare_kds
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - key
    - ks
    - useDynamicSbox
    argTypes:
    - byte*
    - gost_kds*
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 116
    functionName: gost_set_key
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/GostCipher.c
    functionUses: 2
    functionsReached:
    - KeRestoreFloatingPointState
    - KeSaveFloatingPointState
    - NT_SUCCESS
    - STREEBOG_init
    - gost_prepare_kds
    - memcpy
    - xor_s_box
    - STREEBOG_add
    - STREEBOG_finalize
    - HasSSE41
    - HasSSE2
    linkageType: ''
    returnType: void
    signature: void gost_set_key(const byte *key, gost_kds *ks, int useDynamicSbox)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - sbox
    argTypes:
    - uint32
    - uint32*
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: f
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/GostCipher.c
    functionUses: 175
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 f(uint32 v, uint32* sbox)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:134,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:135,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:136,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:137,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:138,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:139,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:140,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:141,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:143,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:144,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:145,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:146,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:147,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:148,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:149,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:150,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:152,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:153,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:154,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:155,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:156,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:157,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:158,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:159,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:161,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:162,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:163,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:164,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:165,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:166,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:167,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 3
    argNames:
    - in_
    - out_
    - kds
    argTypes:
    - uint64
    - uint64*
    - gost_kds*
    constantsTouched: []
    func_position:
      end: 173
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 173
    functionName: gost_encrypt_block
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/GostCipher.c
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: void gost_encrypt_block(uint64 in_, uint64* out_, gost_kds* kds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:185,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:186,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:187,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:188,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:189,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:190,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:191,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:192,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:194,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:195,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:196,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:197,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:198,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:199,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:200,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:201,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:203,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:204,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:205,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:206,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:207,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:208,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:209,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:210,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:212,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:213,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:214,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:215,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:216,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:217,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:218,1
    - Dst: f
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 3
    argNames:
    - in_
    - out_
    - kds
    argTypes:
    - uint64
    - uint64*
    - gost_kds*
    constantsTouched: []
    func_position:
      end: 223
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 223
    functionName: gost_decrypt_block
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/GostCipher.c
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: void gost_decrypt_block(uint64 in_, uint64* out_, gost_kds* kds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost_encrypt_128_CBC_asm
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:232,1
    - Dst: gost_encrypt_block
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:236,1
    - Dst: gost_encrypt_block
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - in
    - out
    - ks
    - count
    argTypes:
    - byte*
    - byte*
    - gost_kds*
    - int
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: gost_encrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/GostCipher.c
    functionUses: 1
    functionsReached:
    - gost_encrypt_128_CBC_asm
    - gost_encrypt_block
    linkageType: ''
    returnType: void
    signature: void gost_encrypt(const byte *in, byte *out, gost_kds *ks, int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost_decrypt_128_CBC_asm
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:249,1
    - Dst: gost_decrypt_block
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:253,1
    - Dst: gost_decrypt_block
      Src: /src/cryptofuzz/modules/veracrypt/GostCipher.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - in
    - out
    - ks
    - count
    argTypes:
    - byte*
    - byte*
    - gost_kds*
    - int
    constantsTouched: []
    func_position:
      end: 262
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 262
    functionName: gost_decrypt
    functionSourceFile: /src/cryptofuzz/modules/veracrypt/GostCipher.c
    functionUses: 1
    functionsReached:
    - gost_decrypt_128_CBC_asm
    - gost_decrypt_block
    linkageType: ''
    returnType: void
    signature: void gost_decrypt(const byte *in, byte *out, gost_kds *ks, int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::rustcrypto::rustcrypto
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rustcrypto::rustcrypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:113,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:113,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:119,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:121,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:127,1
    - Dst: rustcrypto_hashes_hash
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:131,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:132,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:132,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:133,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:133,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:134,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:134,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:135,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:137,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 143
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 143
    functionName: cryptofuzz::module::rustcrypto::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - generate_Digest
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - rustcrypto_hashes_hash
    - cleartext::GetSize
    - digestType::Get
    - cleartext::GetPtr
    - Datasource::GetData
    - CF_CHECK_GTE
    - modifier::GetSize
    - std::vector::push_back
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> rustcrypto::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 182
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 182
    functionName: cryptofuzz::module::rustcrypto::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> rustcrypto::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:189,1
    - Dst: rustcrypto_hkdf
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:189,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:190,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:190,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:191,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:191,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:192,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:192,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:194,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:197,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: cryptofuzz::module::rustcrypto::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - info::GetSize
    - digestType::Get
    - info::GetPtr
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    - rustcrypto_hkdf
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> rustcrypto::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:209,1
    - Dst: rustcrypto_scrypt
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:209,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:210,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:210,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:211,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:211,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:218,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: cryptofuzz::module::rustcrypto::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - rustcrypto_scrypt
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> rustcrypto::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:231,1
    - Dst: rustcrypto_pbkdf2
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:231,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:232,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:232,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:233,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:233,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:236,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:239,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 245
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 245
    functionName: cryptofuzz::module::rustcrypto::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    - rustcrypto_pbkdf2
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> rustcrypto::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:252,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:252,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:252,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:253,1
    - Dst: rustcrypto_bcrypt
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:253,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:254,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:254,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:255,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:255,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:260,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_BCRYPT
    constantsTouched: []
    func_position:
      end: 266
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 266
    functionName: cryptofuzz::module::rustcrypto::OpKDF_BCRYPT
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - secret::GetSize
    - secret::GetPtr
    - salt::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - CF_DIGEST
    - rustcrypto_bcrypt
    - cryptofuzz::util::free
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> rustcrypto::OpKDF_BCRYPT(operation::KDF_BCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:273,1
    - Dst: rustcrypto_argon2
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:273,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:274,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:274,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:275,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:275,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:283,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 288
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 288
    functionName: cryptofuzz::module::rustcrypto::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    - rustcrypto_argon2
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> rustcrypto::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:292,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:292,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:296,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:296,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:302,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:304,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:310,1
    - Dst: rustcrypto_cmac
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:314,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:315,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:315,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:316,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:316,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:317,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:317,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:318,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:318,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:320,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 326
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 326
    functionName: cryptofuzz::module::rustcrypto::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - rustcrypto_cmac
    - cryptofuzz::util::ToParts
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - CF_CHECK_GTE
    - cleartext::GetSize
    - cipher::cipherType::Is
    - cleartext::GetPtr
    - Datasource::GetData
    - generate_HMAC
    - CF_CIPHER
    - modifier::GetSize
    - std::vector::push_back
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> rustcrypto::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rustcrypto_symmetric_encrypt
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:333,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:334,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:334,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:335,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:335,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:336,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:336,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:337,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:339,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:341,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:341,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 347
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 347
    functionName: cryptofuzz::module::rustcrypto::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::cipherType::Get
    - cipher::key::GetPtr
    - cleartext::GetSize
    - cleartext::GetPtr
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::component::Ciphertext::Ciphertext
    - CF_CHECK_GTE
    - Buffer
    - cipher::iv::GetPtr
    - rustcrypto_symmetric_encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> rustcrypto::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rustcrypto_symmetric_decrypt
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:354,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:355,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:355,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:356,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:356,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:357,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:357,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:358,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:360,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:362,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:362,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 368
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 368
    functionName: cryptofuzz::module::rustcrypto::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cipher::cipherType::Get
    - cipher::key::GetPtr
    - ciphertext::GetPtr
    - rustcrypto_symmetric_decrypt
    - component::Cleartext
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cryptofuzz::util::free
    - CF_CHECK_GTE
    - Buffer
    - cipher::iv::GetPtr
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> rustcrypto::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:372,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:372,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:376,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:384,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:384,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:384,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:385,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:385,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:385,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:386,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:386,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:386,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:389,1
    - Dst: rustcrypto_bigint_bignumcalc
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:393,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:394,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:395,1
    - Dst: data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:396,1
    - Dst: data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:397,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:402,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 409
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 409
    functionName: cryptofuzz::module::rustcrypto::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - bn2::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - data
    - modulo::ToTrimmedString
    - CF_CHECK_EQ
    - bn1::ToTrimmedString
    - calcOp::Get
    - std::optional::data
    - CF_CHECK_NE
    - bn0::ToTrimmedString
    - cryptofuzz::util::BinToDec
    - rustcrypto_bigint_bignumcalc
    - modifier::GetSize
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> rustcrypto::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:413,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:413,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:413,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:413,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:417,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:417,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:418,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:419,1
    - Dst: rustcrypto_ecc_privatetopublic
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:419,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:419,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:419,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:420,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 423
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 423
    functionName: cryptofuzz::module::rustcrypto::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - rustcrypto_ecc_privatetopublic
    - auto::data
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - priv::ToTrimmedString
    - curveType::Get
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> rustcrypto::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:427,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:427,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:427,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:427,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:432,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:432,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:433,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:433,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:434,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:435,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:436,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:436,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:437,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:437,1
    - Dst: rustcrypto_validate_pubkey
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:438,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 441
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 441
    functionName: cryptofuzz::module::rustcrypto::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - pub::first::ToTrimmedString
    - pub::second::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - memcpy
    - auto::data
    - CF_CHECK_NE
    - rustcrypto_validate_pubkey
    - curveType::Get
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> rustcrypto::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:445,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:445,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:445,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:445,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:448,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:448,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:451,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:454,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:457,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:463,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:463,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:464,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:466,1
    - Dst: rustcrypto_ecc_privatetopublic
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:466,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:466,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:466,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:467,1
    - Dst: rustcrypto_ecdsa_sign
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:467,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:467,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:467,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:467,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:470,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:471,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:471,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:472,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 477
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 477
    functionName: cryptofuzz::module::rustcrypto::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - rustcrypto_ecdsa_sign
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - cleartext::GetSize
    - CF_CHECK_EQ
    - rustcrypto_ecc_privatetopublic
    - digestType::Is
    - auto::data
    - cleartext::GetPtr
    - CF_CHECK_NE
    - CF_DIGEST
    - cryptofuzz::util::BinToDec
    - UseRFC6979Nonce
    - priv::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - curveType::Get
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> rustcrypto::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:481,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:481,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:483,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:483,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:483,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:483,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:491,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:491,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:492,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:492,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:493,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:494,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:495,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:495,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:496,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:496,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:501,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:501,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:502,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:502,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:503,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:504,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:505,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:505,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:506,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:506,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:509,1
    - Dst: rustcrypto_ecc_point_add
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:509,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:509,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:511,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 515
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 515
    functionName: cryptofuzz::module::rustcrypto::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - b::first::ToTrimmedString
    - modifier::GetPtr
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - rustcrypto_ecc_point_add
    - memcpy
    - auto::data
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - b::second::ToTrimmedString
    - modifier::GetSize
    - a::second::ToTrimmedString
    - curveType::Get
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> rustcrypto::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:519,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:519,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:521,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:521,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:521,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:521,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:529,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:529,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:530,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:530,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:531,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:532,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:533,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:533,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:534,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:534,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:538,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:538,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:539,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:540,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:540,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:543,1
    - Dst: rustcrypto_ecc_point_mul
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:543,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:543,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:545,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rustcrypto/module.cpp:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 549
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 549
    functionName: cryptofuzz::module::rustcrypto::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToBin
    - b::ToTrimmedString
    - CF_CHECK_EQ
    - memcpy
    - auto::data
    - CF_CHECK_NE
    - cryptofuzz::util::BinToDec
    - rustcrypto_ecc_point_mul
    - modifier::GetSize
    - a::second::ToTrimmedString
    - curveType::Get
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> rustcrypto::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: cryptofuzz::module::rustcrypto::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool rustcrypto::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:12,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:14,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:15,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:15,1
    - Dst: std::transform
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:16,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:16,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:16,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:16,1
    - Dst: std::tolower
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:17,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:19,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:22,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:22,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:25,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:26,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:26,1
    - Dst: std::transform
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:27,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:27,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:27,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:27,1
    - Dst: std::tolower
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:32,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:32,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:35,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:36,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:36,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:37,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:37,1
    - Dst: std::transform
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:38,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:38,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:38,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:38,1
    - Dst: std::tolower
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:39,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:40,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:43,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:43,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:46,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:47,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:47,1
    - Dst: std::transform
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:48,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:48,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:48,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:48,1
    - Dst: std::tolower
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:49,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:50,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:53,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:53,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/rustcrypto/generate_ids.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::tolower
    - std::to_string
    - fclose
    - std::string
    - std::regex_replace
    - auto::end
    - fprintf
    - auto::c_str
    - fopen
    - std::regex
    - std::transform
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wc_ecc_key_new
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:24,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: cryptofuzz::module::wolfCrypt_detail::ECCKey::ECCKey
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp
    functionUses: 0
    functionsReached:
    - wc_ecc_key_new
    - std::exception
    linkageType: ''
    returnType: void
    signature: void ECCKey::ECCKey(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:30,1
    - Dst: wc_ecc_key_free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: ECCKey::~ECCKey()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp
    functionUses: 0
    functionsReached:
    - wc_ecc_key_free
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void ECCKey::~ECCKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:39,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:43,1
    - Dst: wc_ecc_key_new
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:43,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:48,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:50,1
    - Dst: wc_ecc_export_x963_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:50,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:51,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:52,1
    - Dst: wc_ecc_export_x963_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:52,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:56,1
    - Dst: wc_ecc_get_curve_id
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:56,1
    - Dst: wc_ecc_import_x963_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:61,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:67,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:72,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:75,1
    - Dst: wc_ecc_key_free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:75,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:81,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:82,1
    - Dst: wc_ecc_key_free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 85
    functionName: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp
    functionUses: 0
    functionsReached:
    - WC_CHECK_EQ
    - wc_ecc_export_x963_ex
    - cryptofuzz::util::malloc
    - CF_CHECK_TRUE
    - CF_NORET
    - wc_ecc_key_free
    - wc_ecc_key_new
    - CF_CHECK_NE
    - wc_ecc_get_curve_id
    - cryptofuzz::util::free
    - wc_ecc_import_x963_ex
    - CF_ASSERT
    - Get
    linkageType: ''
    returnType: ecc_key
    signature: ecc_key * ECCKey::GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:94,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:106,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:106,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:109,1
    - Dst: wc_ecc_set_curve
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:109,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:109,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:117,1
    - Dst: GetCustomCurve
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:117,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:117,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:118,1
    - Dst: wc_ecc_set_custom_curve
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:118,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:118,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:133,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:133,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:135,1
    - Dst: wc_ecc_import_private_key_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:135,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:135,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:135,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:135,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:147,1
    - Dst: wc_ecc_make_pub
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:147,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:147,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:147,1
    - Dst: ECCPoint::SetInitialized
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:148,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:159,1
    - Dst: wc_ecc_set_rng
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:159,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:159,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:159,1
    - Dst: wc_ecc_new_point_h
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:169,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:170,1
    - Dst: wc_ecc_new_point_h
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:181,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:182,1
    - Dst: wc_ecc_copy_point
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:185,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:186,1
    - Dst: wc_ecc_del_point
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:186,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:187,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:192,1
    - Dst: wc_ecc_del_point
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:192,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:203,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:209,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:213,1
    - Dst: wc_ecc_new_point_h
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:213,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:216,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:218,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:221,1
    - Dst: wc_ecc_export_point_der
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:221,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:223,1
    - Dst: wc_ecc_export_point_der
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:223,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:234,1
    - Dst: wc_ecc_del_point
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:234,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:242,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:250,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:251,1
    - Dst: wc_ecc_del_point
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:251,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:265,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:273,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:273,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:274,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:274,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:275,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:275,1
    - Dst: cryptofuzz::util::ToRandomProjective
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:277,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:279,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:280,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:282,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:282,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:283,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:283,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:284,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:284,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:287,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:287,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:287,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:288,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:288,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:288,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:289,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:289,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:289,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:292,1
    - Dst: CurveCheck
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:292,1
    - Dst: SetInitialized
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:295,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:308,1
    - Dst: mp_montgomery_calc_normalization
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:308,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:308,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:308,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:310,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:310,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:311,1
    - Dst: mp_mulmod
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:311,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:311,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:311,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:312,1
    - Dst: mp_mulmod
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:312,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:312,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:312,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:313,1
    - Dst: mp_mulmod
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:313,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:313,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:313,1
    - Dst: Lock
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:319,1
    - Dst: wc_ecc_point_is_on_curve
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:329,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:343,1
    - Dst: Lock
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:346,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:348,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:351,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:351,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:352,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:352,1
    - Dst: wc_ecc_cmp_point
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:361,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:361,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:361,1
    - Dst: mp_sub
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:368,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:368,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:368,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:368,1
    - Dst: static_cast<bool>
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:369,1
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:369,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:369,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:377,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:377,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:378,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:385,1
    - Dst: ECCKey::SetCurve
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:385,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:386,1
    - Dst: ECCKey::LoadPrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:386,1
    - Dst: ECCKey::MakePub
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:391,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:392,1
    - Dst: auto::ToBignumPair
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:394,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:400,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:406,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:406,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:407,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:416,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:416,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:418,1
    - Dst: wc_ecc_get_name
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:418,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:420,1
    - Dst: wc_ecc_import_raw
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:420,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:421,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:422,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:422,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:423,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:423,1
    - Dst: wc_ecc_check_key
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:427,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:427,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:436,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:444,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:445,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:446,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:447,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:448,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:449,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:450,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:451,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:452,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:457,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:457,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:458,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:472,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:474,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:478,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:486,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:486,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:488,1
    - Dst: wc_ecc_get_name
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:488,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:493,1
    - Dst: wc_ecc_import_raw
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:493,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:494,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:495,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:495,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:496,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:496,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:499,1
    - Dst: wc_ecc_check_key
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:499,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:499,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:502,1
    - Dst: wc_ecc_rs_to_sig
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:502,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:503,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:503,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:504,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:504,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:507,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:507,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:508,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:509,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:510,1
    - Dst: wc_ecc_verify_hash
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:510,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:510,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:510,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:510,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:514,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toHashType
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:514,1
    - Dst: wc_HashGetDigestSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:517,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:518,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:520,1
    - Dst: wc_Hash
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:520,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:520,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:520,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:522,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:523,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:524,1
    - Dst: wc_ecc_verify_hash
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:524,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:524,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:524,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:524,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:532,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:533,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:535,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:547,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:547,1
    - Dst: cleartext::IsZero
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:547,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:562,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:562,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:563,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:581,1
    - Dst: ECCKey::SetCurve
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:581,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:582,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:582,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:583,1
    - Dst: ECCKey::LoadPrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:583,1
    - Dst: ECCKey::MakePub
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:584,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:585,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:586,1
    - Dst: auto::ToBignumPair
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:586,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:589,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:591,1
    - Dst: mp_to_unsigned_bin_len
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:591,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:591,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:592,1
    - Dst: mp_to_unsigned_bin_len
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:592,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:592,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:593,1
    - Dst: mp_to_unsigned_bin_len
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:593,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:593,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:598,1
    - Dst: toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:598,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:600,1
    - Dst: wc_InitEccsiKey_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:600,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:603,1
    - Dst: wc_ImportEccsiKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:603,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:610,1
    - Dst: toHashType
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:610,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:611,1
    - Dst: wc_MakeEccsiPair
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:611,1
    - Dst: id::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:615,1
    - Dst: id::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:616,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:617,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:618,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:619,1
    - Dst: wc_HashEccsiId
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:619,1
    - Dst: id::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:622,1
    - Dst: id::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:623,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:624,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:627,1
    - Dst: wc_SetEccsiHash
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:627,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:628,1
    - Dst: wc_SetEccsiPair
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:628,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:628,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:628,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:629,1
    - Dst: wc_SignEccsiHash
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:629,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:633,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:634,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:636,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:636,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:642,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:642,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:642,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:643,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:643,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:645,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:645,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:645,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:646,1
    - Dst: ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:646,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:648,1
    - Dst: ECCPoint::ToBignumPair
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:648,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:661,1
    - Dst: wc_FreeEccsiKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:661,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:663,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:664,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:665,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:676,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:676,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:677,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:692,1
    - Dst: toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:692,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:693,1
    - Dst: toHashType
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:693,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:701,1
    - Dst: ECCKey::SetCurve
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:701,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:702,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:702,1
    - Dst: signature::pub::first::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:707,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:708,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:709,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:709,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:709,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:709,1
    - Dst: signature::pub::second::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:711,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:712,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:713,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:713,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:713,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:713,1
    - Dst: signature::signature::first::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:718,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:719,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:720,1
    - Dst: end
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:720,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:720,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:720,1
    - Dst: signature::signature::second::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:722,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:723,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:724,1
    - Dst: end
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:724,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:724,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:724,1
    - Dst: push_back
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:726,1
    - Dst: signature::pvt::first::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:728,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:729,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:730,1
    - Dst: end
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:730,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:730,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:730,1
    - Dst: signature::pvt::second::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:732,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:733,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:734,1
    - Dst: end
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:734,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:734,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:734,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:740,1
    - Dst: wc_InitEccsiKey_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:740,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:743,1
    - Dst: wc_ImportEccsiPublicKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:743,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:744,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:744,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:745,1
    - Dst: wc_DecodeEccsiPvtFromSig
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:745,1
    - Dst: data
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:745,1
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:745,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:745,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:746,1
    - Dst: wc_HashEccsiId
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:746,1
    - Dst: id::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:749,1
    - Dst: id::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:749,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:750,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:753,1
    - Dst: wc_SetEccsiHash
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:753,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:754,1
    - Dst: wc_VerifyEccsiHash
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:754,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:757,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:757,1
    - Dst: data
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:758,1
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:758,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:766,1
    - Dst: wc_FreeEccsiKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:766,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:768,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:769,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:781,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:781,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:785,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:785,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:786,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:803,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:803,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:807,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:810,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:815,1
    - Dst: ECCKey::SetCurve
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:815,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:816,1
    - Dst: ECCKey::LoadPrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:816,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:817,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:819,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:820,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:820,1
    - Dst: nonce::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:820,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:825,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:826,1
    - Dst: mp_to_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:826,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:826,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:829,1
    - Dst: wc_ecc_sign_set_k
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:829,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:829,1
    - Dst: ECCKey::MakePub
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:832,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:833,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:835,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:835,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:836,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:839,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toHashType
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:839,1
    - Dst: wc_HashGetDigestSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:841,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:842,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:844,1
    - Dst: wc_Hash
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:844,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:844,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:844,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:846,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:850,1
    - Dst: wc_ecc_sign_hash
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:850,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:850,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:850,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:850,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:850,1
    - Dst: wc_ecc_verify_hash
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:856,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:856,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:856,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:856,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:857,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:861,1
    - Dst: DecodeECC_DSA_Sig
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:861,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:861,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:861,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:865,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:865,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:867,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:867,1
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:868,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:868,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:868,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:870,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:870,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:871,1
    - Dst: mp_sub
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:871,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:871,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:871,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:871,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:873,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:873,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:875,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:875,1
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:876,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:876,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:876,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:878,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:878,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:879,1
    - Dst: mp_sub
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:879,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:879,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:879,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:879,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:883,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:883,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:884,1
    - Dst: auto::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:884,1
    - Dst: auto::ToBignumPair
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:886,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:887,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:889,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:894,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:895,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:896,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:898,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:908,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:908,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:909,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:912,1
    - Dst: cipherType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:912,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:912,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:913,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:917,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:921,1
    - Dst: ECCKey::SetCurve
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:921,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:922,1
    - Dst: ECCKey::LoadPrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:922,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:923,1
    - Dst: ECCKey::SetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:923,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:931,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:931,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:933,1
    - Dst: wc_ecc_get_name
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:933,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:935,1
    - Dst: wc_ecc_import_raw
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:935,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:936,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:937,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:937,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:938,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:938,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:942,1
    - Dst: auto::SetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:942,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:945,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:947,1
    - Dst: wc_ecc_encrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:947,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:947,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:947,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:947,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:947,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:949,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:949,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:953,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:955,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:965,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:965,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:966,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:969,1
    - Dst: cipherType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:969,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:969,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:970,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:974,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:978,1
    - Dst: ECCKey::SetCurve
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:978,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:979,1
    - Dst: ECCKey::LoadPrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:979,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:980,1
    - Dst: ECCKey::SetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:980,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:988,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:988,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:990,1
    - Dst: wc_ecc_get_name
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:990,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:992,1
    - Dst: wc_ecc_import_raw
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:992,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:993,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:994,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:994,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:995,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:995,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:999,1
    - Dst: auto::SetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:999,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1002,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1004,1
    - Dst: wc_ecc_decrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1004,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1004,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1004,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1004,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1004,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1006,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1006,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1010,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1012,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1019,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1019,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1020,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1031,1
    - Dst: ECCKey::SetCurve
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1031,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1032,1
    - Dst: ECCKey::LoadPrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1032,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1033,1
    - Dst: ECCKey::SetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1033,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1034,1
    - Dst: wc_ecc_set_flags
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1035,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1035,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1043,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1043,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1045,1
    - Dst: wc_ecc_get_name
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1045,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1047,1
    - Dst: wc_ecc_import_raw
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1047,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1048,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1049,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1049,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1050,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1050,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1053,1
    - Dst: wc_ecc_check_key
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1053,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1053,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1056,1
    - Dst: wc_ecc_shared_secret
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1056,1
    - Dst: ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1056,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1056,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSecret
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1058,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1058,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1062,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1069,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1069,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1070,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1079,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1079,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1081,1
    - Dst: wc_ecc_get_curve_idx
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1081,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1082,1
    - Dst: wc_ecc_get_curve_params
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1082,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1091,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1091,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1091,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1092,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1092,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1092,1
    - Dst: CurveCheck
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1094,1
    - Dst: CurveCheck
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1094,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1097,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1097,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1097,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1098,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1098,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1098,1
    - Dst: IsNeg
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1100,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1102,1
    - Dst: ToProjective
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1102,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1103,1
    - Dst: ToProjective
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1103,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1105,1
    - Dst: mp_montgomery_setup
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1105,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1105,1
    - Dst: Compare
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1114,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1115,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1119,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1124,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1131,1
    - Dst: ecc_projective_dbl_point_safe
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1131,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1131,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1131,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1131,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1131,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1136,1
    - Dst: ecc_projective_add_point_safe
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1136,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1136,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1136,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1136,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1136,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1136,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1144,1
    - Dst: ecc_projective_dbl_point
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1144,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1144,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1144,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1144,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1144,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1149,1
    - Dst: ecc_projective_add_point
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1149,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1149,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1149,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1149,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1149,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1149,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1153,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1154,1
    - Dst: ECCPoint::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1159,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1164,1
    - Dst: ecc_map
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1164,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1164,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1164,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1167,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1170,1
    - Dst: ECCPoint::CurveCheck
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1170,1
    - Dst: ECCPoint::ToBignumPair
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1172,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1176,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1181,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1191,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1191,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1192,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1198,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1198,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1200,1
    - Dst: wc_ecc_get_curve_idx
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1200,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1201,1
    - Dst: wc_ecc_get_curve_params
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1201,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1210,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1210,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1210,1
    - Dst: CurveCheck
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1211,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1214,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1214,1
    - Dst: b::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1214,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1217,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1217,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1217,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1218,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1218,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1218,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1221,1
    - Dst: wc_ecc_mulmod_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1221,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1221,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1221,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1221,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1221,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1221,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1224,1
    - Dst: ECCPoint::ToBignumPair
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1226,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1230,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1237,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1237,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1238,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1246,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1246,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1248,1
    - Dst: wc_ecc_get_curve_idx
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1248,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1249,1
    - Dst: wc_ecc_get_curve_params
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1249,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1258,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1258,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1258,1
    - Dst: CurveCheck
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1260,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1263,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1263,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1263,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1264,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1264,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1264,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1266,1
    - Dst: ToProjective
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1266,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1268,1
    - Dst: mp_montgomery_setup
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1268,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1268,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1277,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1282,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1286,1
    - Dst: ecc_projective_dbl_point_safe
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1286,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1286,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1286,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1286,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1286,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1292,1
    - Dst: ecc_projective_dbl_point
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1292,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1292,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1292,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1292,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1292,1
    - Dst: ECCPoint::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1297,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1302,1
    - Dst: ecc_map
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1302,1
    - Dst: ECCPoint::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1302,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1302,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1305,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1308,1
    - Dst: ECCPoint::CurveCheck
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1308,1
    - Dst: ECCPoint::ToBignumPair
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1310,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1316,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1320,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1328,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1328,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1329,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1335,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1335,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1337,1
    - Dst: wc_ecc_get_curve_idx
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1337,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1338,1
    - Dst: wc_ecc_get_curve_params
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1338,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1347,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1347,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1347,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1348,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1348,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1348,1
    - Dst: CurveCheck
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1350,1
    - Dst: wolfCrypt_bignum::Bignum::CurveCheck
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1350,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1354,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1354,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1354,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1355,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1355,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1355,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1357,1
    - Dst: ToProjective
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1357,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1358,1
    - Dst: wolfCrypt_bignum::Bignum::ToProjective
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1358,1
    - Dst: wc_ecc_cmp_point
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1360,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1360,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1360,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp:1364,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 653
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 1374
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 1374
    functionName: cryptofuzz::module::wolfCrypt_detail::ECCKey::SetCurve
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_generic.cpp
    functionUses: 0
    functionsReached:
    - wc_Hash
    - pub::first::ToTrimmedString
    - end
    - wc_ecc_new_point_h
    - wc_ecc_import_raw
    - CF_DIGEST
    - wolfCrypt_bignum::Bignum::ToDecString
    - wc_ecc_rs_to_sig
    - CF_UNREACHABLE
    - wc_HashGetDigestSize
    - Lock
    - priv::ToTrimmedString
    - curveType::Get
    - cryptofuzz::util::HexToDec
    - GetCustomCurve
    - ECCPoint::CurveCheck
    - wolfCrypt_bignum::Bignum::ToProjective
    - UseSpecifiedNonce
    - wc_HashEccsiId
    - first::ToTrimmedString
    - wolfCrypt_bignum::Bignum::GetPtr
    - std::vector::data
    - wc_ecc_mulmod_ex
    - pub::second::ToTrimmedString
    - signature::signature::first::ToBin
    - CF_CHECK_EQ
    - cryptofuzz::util::DecToHex
    - CF_ECC_CURVE
    - wolfCrypt_bignum::Bignum::CurveCheck
    - std::optional::data
    - ToDecString
    - wc_ecc_check_key
    - ECCKey::SetCurve
    - wc_ecc_sign_set_k
    - std::vector::end
    - IsNeg
    - mp_read_unsigned_bin
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    - mp_cmp_d
    - ecc_map
    - signature::pvt::second::ToBin
    - Buffer::GetSize
    - cleartext::IsZero
    - size
    - static_cast<bool>
    - ecc_projective_add_point_safe
    - wc_ecc_encrypt
    - signature::pvt::first::ToBin
    - cryptofuzz::module::wolfCrypt_detail::toHashType
    - auto::ToBignumPair
    - ToProjective
    - wc_ecc_export_point_der
    - cryptofuzz::module::wolfCrypt_detail::ECCKey::GetPtr
    - wc_ecc_import_private_key_ex
    - wolfCrypt_bignum::Bignum::Set
    - Datasource::Get
    - mp_to_unsigned_bin_len
    - ECCPoint::Lock
    - auto::begin
    - ecc_projective_dbl_point_safe
    - signature::signature::first::ToTrimmedString
    - signature::pub::second::ToBin
    - CurveCheck
    - wc_ecc_set_rng
    - mp_montgomery_calc_normalization
    - b::ToString
    - cleartext::ECDSA_RandomPad
    - wc_ecc_copy_point
    - id::GetSize
    - cryptofuzz::util::malloc
    - CF_CHECK_TRUE
    - CF_NORET
    - cleartext::GetSize
    - Compare
    - digestType::Get
    - wc_ecc_make_pub
    - wc_SetEccsiHash
    - cryptofuzz::component::Ciphertext::Ciphertext
    - signature::signature::second::ToBin
    - toCurveID
    - mp_copy
    - signature::pub::first::ToTrimmedString
    - cryptofuzz::module::wolfCrypt_detail::GetRNG
    - wc_ecc_set_custom_curve
    - cleartext::GetPtr
    - wc_ecc_get_name
    - ciphertext::GetSize
    - XXH64_hash_t::XXH3_hashLong_64b_withSecret
    - mp_sub
    - CF_ASSERT
    - wc_ecc_set_curve
    - WC_CHECK_EQ
    - modifier::GetPtr
    - data
    - component::Cleartext
    - wc_ImportEccsiPublicKey
    - wc_MakeEccsiPair
    - wc_FreeEccsiKey
    - signature::pub::first::ToBin
    - cryptofuzz::tests::test_ECDSA_Signature
    - wc_ecc_shared_secret
    - Buffer::GetPtr
    - ECCPoint::ToBignumPair
    - std::vector::insert
    - CF_CHECK_FALSE
    - std::optional::size
    - wc_VerifyEccsiHash
    - Set
    - ECCKey::MakePub
    - cryptofuzz::util::free
    - ECCKey::GetPtr
    - wc_ecc_verify_hash
    - signature::signature::second::ToTrimmedString
    - auto::GetPtr
    - auto::GetSize
    - wc_ImportEccsiKey
    - mp_to_unsigned_bin
    - mp_montgomery_setup
    - wc_ecc_set_flags
    - wc_InitEccsiKey_ex
    - cryptofuzz::util::ToRandomProjective
    - wc_SignEccsiHash
    - UseRandomNonce
    - wc_ecc_cmp_point
    - second::ToTrimmedString
    - Get
    - CF_CHECK_GT
    - cryptofuzz::module::wolfCrypt_detail::toCurveID
    - id::GetPtr
    - push_back
    - cipherType::Is
    - DecodeECC_DSA_Sig
    - ciphertext::GetPtr
    - ECCKey::SetRNG
    - nonce::ToString
    - auto::end
    - wc_ecc_decrypt
    - ECCPoint::GetPtr
    - ecc_projective_add_point
    - wc_ecc_sign_hash
    - wc_DecodeEccsiPvtFromSig
    - auto::ToDecString
    - wc_ecc_get_curve_params
    - toHashType
    - mp_cmp
    - insert
    - ecc_projective_dbl_point
    - auto::SetRNG
    - Buffer
    - std::vector::size
    - wc_ecc_point_is_on_curve
    - SetInitialized
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - wc_ecc_get_curve_idx
    - wc_SetEccsiPair
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - CF_CIPHER
    - ECCPoint::SetInitialized
    - mp_mulmod
    - signature::pub::second::ToTrimmedString
    - static_cast<size_t>
    - digestType::Is
    - ECCKey::LoadPrivateKey
    - CF_CHECK_NE
    - std::exception
    - modifier::GetSize
    - wc_ecc_del_point
    linkageType: ''
    returnType: bool
    signature: bool ECCKey::SetCurve(const Type& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_same<ReturnType, int>
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:25,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ret
    argTypes:
    - ReturnType
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::assertRet
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - std::is_same<ReturnType, int>
    linkageType: ''
    returnType: ReturnType
    signature: ReturnType assertRet(const ReturnType ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HintBignumOpt
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:36,1
    - Dst: ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:36,1
    - Dst: cryptofuzz::util::HintBignumOpt
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:37,1
    - Dst: ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:37,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:41,1
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:45,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:45,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:45,1
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:47,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:47,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ' A'
    - ' B'
    - ' ds'
    argTypes:
    - Bignum
    - Bignum
    - Datasource
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HintBignumOpt
    - mp_cmp
    - ToDecString
    - GetPtr
    - Get
    linkageType: ''
    returnType: int
    signature: int compare(Bignum& A, Bignum& B, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_count_bits
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:65,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:65,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:66,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:68,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:68,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:68,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:68,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:70,1
    - Dst: mp_rshb
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:70,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:70,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:72,1
    - Dst: mp_rshb
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:72,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:72,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:74,1
    - Dst: mp_mul_2d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:74,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:74,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:74,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:78,1
    - Dst: cryptofuzz::util::HintBignumOpt
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:80,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:83,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ' A'
    - ' ds'
    argTypes:
    - Bignum
    - Datasource
    constantsTouched: []
    func_position:
      end: 88
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::isPowerOf2
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_copy
    - mp_mul_2d
    - CF_NORET
    - CF_CHECK_EQ
    - cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
    - mp_count_bits
    - cryptofuzz::util::HintBignumOpt
    - MP_CHECK_EQ
    - GetPtr
    - wolfCrypt_bignum::Bignum::GetPtr
    - wolfCrypt_bignum::Bignum::ToDecString
    - CF_CHECK_GTE
    - mp_rshb
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> isPowerOf2(Bignum& A, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:100,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:104,1
    - Dst: mp_montgomery_reduce
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:104,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:106,1
    - Dst: mp_montgomery_reduce_ct
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ' ds'
    - res
    - a
    - b
    argTypes:
    - fuzzing::datasource::Datasource
    - mp_int*
    - mp_int*
    - mp_digit
    constantsTouched: []
    func_position:
      end: 113
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 113
    functionName: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::montgomery_reduce
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_montgomery_reduce
    - mp_montgomery_reduce_ct
    - Get
    - MP_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: "bool montgomery_reduce(\n            fuzzing::datasource::Datasource&
      ds,\n            mp_int* res,\n            mp_int* a,\n            const mp_digit
      b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:119,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:122,1
    - Dst: mp_add
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:122,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:122,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:122,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:122,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:123,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:123,1
    - Dst: AsUnsigned
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:128,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:129,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:130,1
    - Dst: mp_add_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:130,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:130,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:130,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:131,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: cryptofuzz::module::wolfCrypt_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_TRUE
    - mp_add
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - mp_add_d
    - GetResPtr
    - GET_WHICH
    - AsUnsigned
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:152,1
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:157,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:160,1
    - Dst: mp_sub
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:160,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:160,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:160,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:160,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:161,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:161,1
    - Dst: AsUnsigned
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:166,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:167,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:168,1
    - Dst: mp_sub_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:168,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:168,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:168,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:169,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 182
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 182
    functionName: cryptofuzz::module::wolfCrypt_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
    - CF_CHECK_TRUE
    - mp_sub_d
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - mp_sub
    - GET_WHICH
    - AsUnsigned
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:187,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:190,1
    - Dst: mp_mul
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:190,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:190,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:190,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:190,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:191,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:191,1
    - Dst: AsUnsigned
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:196,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:197,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:198,1
    - Dst: mp_mul_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:198,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:198,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:198,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:199,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:199,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:205,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:206,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:206,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:206,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:207,1
    - Dst: mp_mul_2
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:207,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:207,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:207,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:208,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:208,1
    - Dst: mp_cnt_lsb
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:214,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:214,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:215,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:216,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:219,1
    - Dst: mp_2expt
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:219,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:219,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:220,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:220,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:222,1
    - Dst: mp_lshd
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:222,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:222,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:223,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:223,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:223,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 231
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 231
    functionName: cryptofuzz::module::wolfCrypt_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_copy
    - mp_mul
    - CopyResult
    - GetPtr
    - mp_mul_d
    - wolfCrypt_bignum::Bignum::GetPtr
    - GET_WHICH
    - mp_mul_2
    - mp_lshd
    - GetDestPtr
    - cryptofuzz::util::HintBignum
    - cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
    - CF_CHECK_EQ
    - MP_CHECK_EQ
    - CF_CHECK_GTE
    - CF_CHECK_TRUE
    - mp_cmp_d
    - mp_cnt_lsb
    - CF_CHECK_NE
    - GetResPtr
    - mp_2expt
    - AsUnsigned
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:237,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:241,1
    - Dst: GET_OPTIONAL_BN
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:242,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:247,1
    - Dst: mp_div
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:247,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:247,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:247,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:248,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:248,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:253,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:254,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:254,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:254,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:255,1
    - Dst: mp_div_2
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:255,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:255,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:255,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:256,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:256,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:263,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:264,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:264,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:264,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:265,1
    - Dst: mp_div_3
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:265,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:265,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:265,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:266,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:266,1
    - Dst: AsUnsigned
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:273,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:275,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:276,1
    - Dst: mp_div_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:276,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:276,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:276,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:276,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:277,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:277,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:287,1
    - Dst: mp_isneg
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:287,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:287,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 293
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 293
    functionName: cryptofuzz::module::wolfCrypt_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_isneg
    - mp_div_2
    - CF_CHECK_TRUE
    - cryptofuzz::util::HintBignum
    - CF_CHECK_EQ
    - mp_div
    - mp_cmp_d
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - mp_div_3
    - GET_OPTIONAL_BN
    - GetResPtr
    - mp_div_d
    - GET_WHICH
    - Get
    - AsUnsigned
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:299,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:302,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:305,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:305,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:310,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:312,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:312,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:317,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:319,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:319,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:324,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:326,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:326,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:331,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:333,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:333,1
    - Dst: mp_iszero
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:346,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:346,1
    - Dst: mp_isneg
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:347,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:347,1
    - Dst: mp_isneg
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:348,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:348,1
    - Dst: mp_isneg
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:349,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:349,1
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:355,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:358,1
    - Dst: mp_exptmod
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:358,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:358,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:358,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:358,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:358,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:359,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:359,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:363,1
    - Dst: mp_exptmod_nct
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:363,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:363,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:363,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:363,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:363,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:364,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:364,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:368,1
    - Dst: mp_exptmod_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:368,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:368,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:368,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:368,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:368,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:368,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:369,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:369,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:375,1
    - Dst: sp_ModExp_1024
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:375,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:375,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:375,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:375,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:375,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:376,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:376,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:380,1
    - Dst: sp_ModExp_1536
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:380,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:380,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:380,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:380,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:380,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:381,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:381,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:384,1
    - Dst: sp_ModExp_2048
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:384,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:384,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:384,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:384,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:384,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:385,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:385,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:388,1
    - Dst: sp_ModExp_3072
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:388,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:388,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:388,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:388,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:388,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:389,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:389,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:393,1
    - Dst: sp_ModExp_4096
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:393,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:393,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:393,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:393,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:393,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:394,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:394,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:400,1
    - Dst: mp_exptmod_fast
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:400,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:400,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:400,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:400,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:400,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:401,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:401,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:407,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:408,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:408,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:408,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:409,1
    - Dst: mp_exptmod_base_2
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:409,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:409,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:409,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:409,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:410,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:410,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:418,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 89
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 424
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 424
    functionName: cryptofuzz::module::wolfCrypt_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - sp_ModExp_2048
    - CopyResult
    - GetPtr
    - GetData
    - mp_iszero
    - cryptofuzz::util::BinToDec
    - GET_WHICH
    - cryptofuzz::util::HintBignum
    - CF_CHECK_EQ
    - MP_CHECK_EQ
    - sp_ModExp_3072
    - mp_exptmod_fast
    - mp_exptmod_base_2
    - sp_ModExp_1536
    - mp_isneg
    - mp_exptmod_ex
    - CF_CHECK_TRUE
    - mp_cmp_d
    - mp_exptmod
    - sp_ModExp_4096
    - GetResPtr
    - sp_ModExp_1024
    - Get
    - mp_exptmod_nct
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:431,1
    - Dst: mp_sqr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:431,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:431,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:431,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:432,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 438
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 438
    functionName: cryptofuzz::module::wolfCrypt_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_TRUE
    - mp_sqr
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:448,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:448,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:448,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:449,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:449,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:449,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:451,1
    - Dst: mp_gcd
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:451,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:451,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:451,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:451,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:452,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 458
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 458
    functionName: cryptofuzz::module::wolfCrypt_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_gcd
    - CF_CHECK_TRUE
    - mp_cmp_d
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:465,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:469,1
    - Dst: mp_invmod
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:469,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:469,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:469,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:469,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:470,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:470,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:491,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:491,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:491,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:492,1
    - Dst: mp_prime_is_prime_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:492,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:492,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:492,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:493,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:495,1
    - Dst: mp_montgomery_setup
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:495,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:495,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:496,1
    - Dst: mp_montgomery_calc_normalization
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:496,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:496,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:496,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:497,1
    - Dst: mp_mulmod
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:497,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:497,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:497,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:497,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:497,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:498,1
    - Dst: mp_invmod_mont_ct
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:498,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:498,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:498,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:498,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:499,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::montgomery_reduce
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:499,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:499,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:499,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:508,1
    - Dst: mp_invmod_slow
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:508,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:508,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:508,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 520
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 520
    functionName: cryptofuzz::module::wolfCrypt_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_prime_is_prime_ex
    - CF_CHECK_TRUE
    - CF_CHECK_EQ
    - mp_cmp_d
    - cryptofuzz::module::wolfCrypt_detail::GetRNG
    - mp_montgomery_setup
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - mp_montgomery_calc_normalization
    - cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::montgomery_reduce
    - wolfCrypt_bignum::Bignum::GetPtr
    - GetResPtr
    - mp_invmod_slow
    - GET_WHICH
    - mp_mulmod
    - mp_invmod
    - mp_invmod_mont_ct
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:526,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:529,1
    - Dst: AsUnsigned
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:533,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:534,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:535,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:535,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:544,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:544,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:547,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:547,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:550,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:550,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:553,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 560
      start: 522
    functionDepth: 4
    functionLinenumber: 522
    functionLinenumberEnd: 560
    functionName: cryptofuzz::module::wolfCrypt_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
    - CF_CHECK_EQ
    - mp_cmp_d
    - GetPtr
    - Set
    - CF_CHECK_NE
    - CF_ASSERT
    - GET_WHICH
    - AsUnsigned
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:567,1
    - Dst: mp_abs
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:567,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:567,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:567,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:568,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 574
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 574
    functionName: cryptofuzz::module::wolfCrypt_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_abs
    - CF_CHECK_TRUE
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:584,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:584,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:585,1
    - Dst: mp_sub
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:585,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:585,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:585,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 593
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 593
    functionName: cryptofuzz::module::wolfCrypt_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - MP_CHECK_EQ
    - GetPtr
    - Set
    - mp_sub
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:601,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:602,1
    - Dst: AsUint64
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:602,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:603,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:609,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:609,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:609,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:609,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:611,1
    - Dst: mp_rshb
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:611,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:611,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:613,1
    - Dst: mp_rshb
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:613,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:613,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:619,1
    - Dst: mp_div_2d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:619,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:619,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:619,1
    - Dst: GET_OPTIONAL_BN
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:619,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:627,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:629,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:629,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:629,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:629,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:632,1
    - Dst: mp_rshd
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:632,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 643
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 643
    functionName: cryptofuzz::module::wolfCrypt_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_copy
    - mp_rshd
    - CF_NORET
    - CF_CHECK_EQ
    - CF_CHECK_LTE
    - MP_CHECK_EQ
    - GetPtr
    - CF_CHECK_NE
    - mp_div_2d
    - AsUint64
    - GET_OPTIONAL_BN
    - GET_WHICH
    - mp_rshb
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:654,1
    - Dst: mp_mul_2d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:654,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:654,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:654,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:655,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 663
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 663
    functionName: cryptofuzz::module::wolfCrypt_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_mul_2d
    - CF_CHECK_TRUE
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:674,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:674,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:674,1
    - Dst: mp_isneg
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:674,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 681
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 681
    functionName: cryptofuzz::module::wolfCrypt_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_isneg
    - std::to_string
    - CF_CHECK_EQ
    - GetPtr
    - Set
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:687,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:687,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 693
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 693
    functionName: cryptofuzz::module::wolfCrypt_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - Set
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:700,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:700,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:700,1
    - Dst: mp_iszero
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:700,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 706
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 706
    functionName: cryptofuzz::module::wolfCrypt_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - CF_CHECK_EQ
    - GetPtr
    - Set
    - mp_iszero
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:713,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:713,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:713,1
    - Dst: mp_isone
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:713,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 719
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 719
    functionName: cryptofuzz::module::wolfCrypt_bignum::IsOne::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - CF_CHECK_EQ
    - GetPtr
    - Set
    - mp_isone
    linkageType: ''
    returnType: bool
    signature: bool IsOne::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:726,1
    - Dst: mp_mulmod
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:726,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:726,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:726,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:726,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:726,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:727,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 733
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 733
    functionName: cryptofuzz::module::wolfCrypt_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_TRUE
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - GetResPtr
    - mp_mulmod
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:743,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:746,1
    - Dst: mp_addmod
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:746,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:746,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:746,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:746,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:746,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:747,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:747,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:751,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:751,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:751,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:752,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:752,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:752,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:753,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:753,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:753,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:755,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:755,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:756,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:756,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:757,1
    - Dst: mp_addmod_ct
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:757,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:757,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:757,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:757,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:757,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:758,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 769
      start: 735
    functionDepth: 4
    functionLinenumber: 735
    functionLinenumberEnd: 769
    functionName: cryptofuzz::module::wolfCrypt_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_addmod
    - CF_CHECK_TRUE
    - cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
    - CF_CHECK_EQ
    - mp_cmp_d
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - mp_addmod_ct
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:779,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:782,1
    - Dst: mp_submod
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:782,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:782,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:782,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:782,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:782,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:783,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:783,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:787,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:787,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:787,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:788,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:788,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:788,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:789,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:789,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:789,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:796,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:796,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:797,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:797,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:799,1
    - Dst: mp_submod_ct
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:799,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:799,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:799,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:799,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:799,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:800,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 811
      start: 771
    functionDepth: 4
    functionLinenumber: 771
    functionLinenumberEnd: 811
    functionName: cryptofuzz::module::wolfCrypt_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_submod_ct
    - CF_CHECK_TRUE
    - cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
    - mp_submod
    - mp_cmp_d
    - CF_CHECK_EQ
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:818,1
    - Dst: mp_sqrmod
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:818,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:818,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:818,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:818,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:819,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 825
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 825
    functionName: cryptofuzz::module::wolfCrypt_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_TRUE
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - GetResPtr
    - mp_sqrmod
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:843,1
    - Dst: AsUint64
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:843,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:847,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:849,1
    - Dst: mp_is_bit_set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:849,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:849,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:850,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 857
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 857
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_is_bit_set
    - CF_CHECK_EQ
    - GetPtr
    - Set
    - CF_CHECK_NE
    - AsUint64
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 869
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 869
    functionName: cryptofuzz::module::wolfCrypt_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:878,1
    - Dst: AsUint64
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:878,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:882,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:884,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:884,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:884,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:884,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:885,1
    - Dst: mp_set_bit
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:885,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 891
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 891
    functionName: cryptofuzz::module::wolfCrypt_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_copy
    - CF_CHECK_EQ
    - mp_set_bit
    - MP_CHECK_EQ
    - GetPtr
    - CF_CHECK_NE
    - AsUint64
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:909,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:909,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:909,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:910,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:910,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:910,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:912,1
    - Dst: mp_lcm
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:912,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:912,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:912,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:912,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:913,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 920
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 920
    functionName: cryptofuzz::module::wolfCrypt_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_lcm
    - CF_CHECK_TRUE
    - mp_cmp_d
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:925,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:928,1
    - Dst: mp_mod
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:928,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:928,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:928,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:928,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:929,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:929,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:935,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:935,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:935,1
    - Dst: AsUnsigned
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:937,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:938,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:940,1
    - Dst: mp_mod_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:940,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:940,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:941,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:941,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:941,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:947,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:947,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:947,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:948,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:948,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:948,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:951,1
    - Dst: mp_mul_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:951,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:951,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:951,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:953,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:953,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:954,1
    - Dst: mp_div_2_mod_ct
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:954,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:954,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:954,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:954,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:955,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:955,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:963,1
    - Dst: mp_montgomery_setup
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:963,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:963,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:964,1
    - Dst: mp_montgomery_calc_normalization
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:964,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:964,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:964,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:965,1
    - Dst: mp_mulmod
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:965,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:965,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:965,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:965,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:965,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:966,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::montgomery_reduce
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:966,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:966,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:966,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:976,1
    - Dst: mp_cmp_d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:976,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:976,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:978,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::isPowerOf2
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:978,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:980,1
    - Dst: mp_mod_2d
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:980,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:980,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:980,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:981,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:981,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 993
      start: 922
    functionDepth: 5
    functionLinenumber: 922
    functionLinenumberEnd: 993
    functionName: cryptofuzz::module::wolfCrypt_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_div_2_mod_ct
    - std::to_string
    - mp_mod
    - mp_mod_d
    - CopyResult
    - GetPtr
    - mp_mul_d
    - cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::montgomery_reduce
    - wolfCrypt_bignum::Bignum::GetPtr
    - GET_WHICH
    - GetDestPtr
    - cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::compare
    - cryptofuzz::module::wolfCrypt_bignum::wolfCrypt_bignum_detail::isPowerOf2
    - CF_CHECK_EQ
    - MP_CHECK_EQ
    - Set
    - mp_montgomery_calc_normalization
    - mp_mod_2d
    - mp_mulmod
    - CF_CHECK_TRUE
    - mp_cmp_d
    - mp_montgomery_setup
    - CF_CHECK_NE
    - GetResPtr
    - AsUnsigned
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1000,1
    - Dst: mp_iszero
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1000,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1000,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1002,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1002,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1002,1
    - Dst: mp_iseven
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1002,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1009
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 1009
    functionName: cryptofuzz::module::wolfCrypt_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_iseven
    - std::to_string
    - CF_CHECK_EQ
    - GetPtr
    - Set
    - mp_iszero
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1016,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1016,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1016,1
    - Dst: mp_isodd
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1016,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1023
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1023
    functionName: cryptofuzz::module::wolfCrypt_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - mp_isodd
    - CF_CHECK_EQ
    - GetPtr
    - Set
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1032,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1034,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1034,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1041
      start: 1025
    functionDepth: 2
    functionLinenumber: 1025
    functionLinenumberEnd: 1041
    functionName: cryptofuzz::module::wolfCrypt_bignum::MSB::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - CF_ASSERT
    - Set
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool MSB::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_count_bits
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1048,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1048,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1050,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1052,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1052,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1058
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1058
    functionName: cryptofuzz::module::wolfCrypt_bignum::NumBits::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - CF_CHECK_EQ
    - mp_count_bits
    - GetPtr
    - Set
    - CF_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool NumBits::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1063,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1066,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1066,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1066,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1066,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1067,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1067,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1073,1
    - Dst: mp_count_bits
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1073,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1073,1
    - Dst: AsUnsigned
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1075,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1076,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1077,1
    - Dst: mp_set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1077,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1077,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1078,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1078,1
    - Dst: InvalidateCache
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1085,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1088,1
    - Dst: mp_exch
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1088,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1088,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1088,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1089,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1089,1
    - Dst: AsUnsigned
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1096,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1097,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1098,1
    - Dst: mp_set_int
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1098,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1098,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1099,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1107
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1107
    functionName: cryptofuzz::module::wolfCrypt_bignum::Set::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_set
    - mp_copy
    - CF_CHECK_TRUE
    - mp_count_bits
    - MP_CHECK_EQ
    - CopyResult
    - GetPtr
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - InvalidateCache
    - GetResPtr
    - mp_set_int
    - GET_WHICH
    - mp_exch
    - AsUnsigned
    linkageType: ''
    returnType: bool
    signature: bool Set::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsUnsigned
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1114,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1115,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1117,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1119,1
    - Dst: mp_2expt
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1119,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1119,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1120,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1127
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1127
    functionName: cryptofuzz::module::wolfCrypt_bignum::Exp2::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - CF_CHECK_TRUE
    - MP_CHECK_EQ
    - CopyResult
    - CF_CHECK_NE
    - GetResPtr
    - mp_2expt
    - AsUnsigned
    linkageType: ''
    returnType: bool
    signature: bool Exp2::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_cnt_lsb
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1138,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1140,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1142,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1142,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1150
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1150
    functionName: cryptofuzz::module::wolfCrypt_bignum::NumLSZeroBits::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - CF_CHECK_EQ
    - mp_cnt_lsb
    - GetPtr
    - Set
    - CF_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool NumLSZeroBits::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1158,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1158,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1159,1
    - Dst: mp_cond_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1159,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1159,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1165
      start: 1152
    functionDepth: 2
    functionLinenumber: 1152
    functionLinenumberEnd: 1165
    functionName: cryptofuzz::module::wolfCrypt_bignum::CondSet::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - MP_CHECK_EQ
    - GetPtr
    - Set
    - mp_cond_copy
    linkageType: ''
    returnType: bool
    signature: bool CondSet::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1173,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1177,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1178,1
    - Dst: mp_rand
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1178,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1178,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1178,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1184,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1185,1
    - Dst: mp_rand_prime
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1185,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1185,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1193
      start: 1167
    functionDepth: 2
    functionLinenumber: 1167
    functionLinenumberEnd: 1193
    functionName: cryptofuzz::module::wolfCrypt_bignum::Rand::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_rand
    - cryptofuzz::module::wolfCrypt_detail::GetRNG
    - MP_CHECK_EQ
    - GetPtr
    - mp_rand_prime
    - GET_WHICH
    - Get
    linkageType: ''
    returnType: bool
    signature: bool Rand::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1198,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1201,1
    - Dst: mp_zero
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1201,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1201,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1204,1
    - Dst: mp_forcezero
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1204,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1209
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1209
    functionName: cryptofuzz::module::wolfCrypt_bignum::Zero::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - mp_zero
    - GetPtr
    - GET_WHICH
    - mp_forcezero
    linkageType: ''
    returnType: bool
    signature: bool Zero::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1219,1
    - Dst: MP_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1222,1
    - Dst: mp_rand_prime
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1222,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1222,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1228
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1228
    functionName: cryptofuzz::module::wolfCrypt_bignum::Prime::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::GetRNG
    - MP_CHECK_EQ
    - GetPtr
    - mp_rand_prime
    - Get
    linkageType: ''
    returnType: bool
    signature: bool Prime::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1238,1
    - Dst: mp_count_bits
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1238,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1238,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1243,1
    - Dst: mp_prime_is_prime_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1243,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1243,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetSystemRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1243,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1244,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1244,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1250
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1250
    functionName: cryptofuzz::module::wolfCrypt_bignum::IsPrime::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_prime_is_prime_ex
    - cryptofuzz::module::wolfCrypt_detail::GetSystemRNG
    - std::to_string
    - CF_CHECK_EQ
    - mp_count_bits
    - CF_CHECK_LTE
    - GetPtr
    - Set
    linkageType: ''
    returnType: bool
    signature: bool IsPrime::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::read_radix
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:17,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - ' str'
    - base
    argTypes:
    - mp_int*
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::read_radix
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::read_radix
    - c_str
    linkageType: ''
    returnType: Bignum::read_radix_error_t
    signature: Bignum::read_radix_error_t Bignum::read_radix(mp_int* dest, const std::string&
      str, const size_t base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:28,1
    - Dst: mp_init
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:29,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:30,1
    - Dst: mp_read_radix
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:35,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:41,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:49,1
    - Dst: mp_clear
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:49,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - dest
    - str
    - base
    argTypes:
    - mp_int*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 53
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::read_radix
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 1
    functionsReached:
    - mp_copy
    - cryptofuzz::util::malloc
    - CF_NORET
    - mp_init
    - mp_clear
    - mp_read_radix
    - cryptofuzz::util::free
    linkageType: ''
    returnType: Bignum::read_radix_error_t
    signature: Bignum::read_radix_error_t Bignum::read_radix(mp_int* dest, const char*
      str, const size_t base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:60,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:63,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:67,1
    - Dst: mp_radix_size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:67,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:68,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:70,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:73,1
    - Dst: mp_toradix
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:73,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:76,1
    - Dst: mp_toradix
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:77,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:84,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::read_radix
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:88,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:89,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 96
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::baseConversion
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - std::to_string
    - CF_CHECK_EQ
    - mp_toradix
    - mp_radix_size
    - CF_CHECK_FALSE
    - cryptofuzz::util::free
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::read_radix
    - CF_ASSERT
    - Get
    linkageType: ''
    returnType: void
    signature: void Bignum::baseConversion(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:100,1
    - Dst: mp_isneg
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:100,1
    - Dst: mp_unsigned_bin_size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:113,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:114,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:116,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:117,1
    - Dst: mp_to_unsigned_bin_len
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:117,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:125,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:125,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:133,1
    - Dst: mp_unsigned_bin_size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:139,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:140,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:144,1
    - Dst: mp_count_bits
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:147,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:148,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:151,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:152,1
    - Dst: mp_to_unsigned_bin_len
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:152,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:154,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:155,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:165,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:165,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:173,1
    - Dst: Bignum::GetPtrDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:173,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:174,1
    - Dst: Bignum::GetPtrDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:174,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 185
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::binaryConversion
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - mp_isneg
    - mp_read_unsigned_bin
    - cryptofuzz::util::malloc
    - Bignum::GetPtrDirect
    - mp_copy
    - CF_CHECK_EQ
    - static_cast<size_t>
    - mp_count_bits
    - mp_unsigned_bin_size
    - cryptofuzz::util::free
    - Get
    - CF_ASSERT
    - mp_to_unsigned_bin_len
    linkageType: ''
    returnType: void
    signature: void Bignum::binaryConversion(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:189,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::invariants
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void Bignum::invariants(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:197,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::init_mp_int
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:199,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:200,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ds'
    - mp_init_size_ok
    argTypes:
    - Datasource
    - bool
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - std::exception
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::init_mp_int
    - cryptofuzz::util::malloc
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(Datasource& ds, const bool mp_init_size_ok)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mp
    - ' ds'
    argTypes:
    - mp_int*
    - Datasource
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(mp_int* mp, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:213,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::init_mp_int
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:214,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:215,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:216,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:218,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:219,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::init_mp_int
    - mp_copy
    - cryptofuzz::util::malloc
    - cryptofuzz::util::free
    - std::exception
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const Bignum& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:226,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::init_mp_int
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:227,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:228,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:229,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:231,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:232,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::init_mp_int
    - mp_copy
    - cryptofuzz::util::malloc
    - cryptofuzz::util::free
    - std::exception
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const Bignum&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: invariants
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:238,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:240,1
    - Dst: mp_clear
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:240,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: Bignum::~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - invariants
    - mp_clear
    - cryptofuzz::util::free
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void Bignum::~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::SetNoFree
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::SetNoFree(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:254,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:262,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::read_radix
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:262,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:262,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:264,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::read_radix
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 270
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 270
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::read_radix
    - Get
    - cryptofuzz::util::DecToHex
    linkageType: ''
    returnType: bool
    signature: bool Bignum::Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:275,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:275,1
    - Dst: component::Bignum::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 1
    functionsReached:
    - CF_CHECK_EQ
    - component::Bignum::ToString
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::Set
    linkageType: ''
    returnType: bool
    signature: bool Bignum::Set(const component::Bignum i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::invariants
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:283,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:290,1
    - Dst: mp_clamp
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:294,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:303,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::baseConversion
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:306,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:315,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::binaryConversion
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 323
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::binaryConversion
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::invariants
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::baseConversion
    - mp_clamp
    - Get
    linkageType: ''
    returnType: mp_int
    signature: mp_int * Bignum::GetPtr(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::GetPtrDirect
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mp_int
    signature: mp_int * Bignum::GetPtrDirect(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:334,1
    - Dst: mp_isneg
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:334,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:336,1
    - Dst: mp_count_bits
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:336,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:337,1
    - Dst: mp_to_unsigned_bin_len
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 351
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::AsUint64
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - mp_isneg
    - CF_CHECK_EQ
    - mp_count_bits
    - CF_CHECK_LTE
    - mp_to_unsigned_bin_len
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> Bignum::AsUint64(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:358,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:360,1
    - Dst: mp_tohex
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:360,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:361,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:367,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:372,1
    - Dst: mp_radix_size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:372,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:373,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:375,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:377,1
    - Dst: mp_tohex
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:377,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:378,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:380,1
    - Dst: mp_radix_size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:380,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:381,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:383,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:385,1
    - Dst: mp_toradix
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:385,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:386,1
    - Dst: free
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 394
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToDecString
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - CF_CHECK_EQ
    - mp_toradix
    - mp_radix_size
    - free
    - cryptofuzz::util::HexToDec
    - std::string
    - mp_tohex
    - CF_ASSERT
    - Get
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Bignum::ToDecString(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:399,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::ToDecString
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Bignum::ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_unsigned_bin_size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:409,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:409,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:410,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:412,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:412,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:413,1
    - Dst: mp_to_unsigned_bin_len
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:413,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - dest
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 418
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 418
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 1
    functionsReached:
    - CF_CHECK_EQ
    - static_cast<size_t>
    - mp_unsigned_bin_size
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::GetPtr
    - CF_CHECK_GTE
    - CF_ASSERT
    - mp_to_unsigned_bin_len
    linkageType: ''
    returnType: bool
    signature: bool Bignum::ToBin(uint8_t* dest, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:427,1
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:427,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:429,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:432,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:435,1
    - Dst: mp_unsigned_bin_size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:435,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:435,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:438,1
    - Dst: Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:438,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:438,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - ' ds'
    - b
    - size
    argTypes:
    - Datasource
    - component::Bignum
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 443
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 443
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Bignum::GetPtr
    - Bignum::ToBin
    - Bignum::Set
    - CF_CHECK_EQ
    - mp_unsigned_bin_size
    - std::vector::resize
    - Get
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> Bignum::ToBin(Datasource& ds, const
      component::Bignum b, std::optional<size_t> size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:454,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:454,1
    - Dst: component::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:454,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:455,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:455,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:455,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:460,1
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:460,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:461,1
    - Dst: Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - ' ds'
    - b
    - dest
    - size
    - mustSucceed
    argTypes:
    - Datasource
    - component::Bignum
    - uint8_t*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 467
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 467
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 1
    functionsReached:
    - Bignum::ToBin
    - Bignum::Set
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - std::optional::size
    - component::Bignum::ToTrimmedString
    - memcpy
    - std::optional::data
    - CF_CHECK_NE
    linkageType: ''
    returnType: bool
    signature: "bool Bignum::ToBin(\n        Datasource& ds,\n        const component::Bignum
      b,\n        uint8_t* dest,\n        const size_t size,\n        const bool mustSucceed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:475,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:480,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:480,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:481,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ' ds'
    - b
    - dest
    - size
    - mustSucceed
    argTypes:
    - Datasource
    - component::BignumPair
    - uint8_t*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 486
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 486
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 2
    functionsReached:
    - CF_CHECK_EQ
    - CF_ASSERT
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    linkageType: ''
    returnType: bool
    signature: "bool Bignum::ToBin(\n        Datasource& ds,\n        const component::BignumPair
      b,\n        uint8_t* dest,\n        const size_t size,\n        const bool mustSucceed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:492,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:492,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:492,1
    - Dst: wolfCrypt_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' ds'
    - src
    - size
    argTypes:
    - Datasource
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 498
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 498
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - wolfCrypt_bignum::Bignum::ToComponentBignum
    - mp_read_unsigned_bin
    - wolfCrypt_bignum::Bignum::GetPtr
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Bignum::BinToBignum(Datasource& ds,
      const uint8_t* src, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:501,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:509,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:509,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:509,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:510,1
    - Dst: wolfCrypt_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:510,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:515,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:515,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:515,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:516,1
    - Dst: wolfCrypt_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:516,1
    - Dst: std::optional::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:520,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - ' ds'
    - src
    - size
    argTypes:
    - Datasource
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 524
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 524
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignumPair
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - std::optional::ToTrimmedString
    - mp_read_unsigned_bin
    - CF_CHECK_EQ
    - CF_CHECK_NE
    - wolfCrypt_bignum::Bignum::ToComponentBignum
    - wolfCrypt_bignum::Bignum::GetPtr
    - ToTrimmedString
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<component::BignumPair>
    signature: std::optional<component::BignumPair> Bignum::BinToBignumPair(Datasource&
      ds, const uint8_t* src, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:529,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:532,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:533,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::GetPtrDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:533,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:533,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 535
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 535
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::Randomize
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::GetPtrDirect
    - std::vector::data
    - std::vector::size
    - mp_read_unsigned_bin
    - GetData
    linkageType: ''
    returnType: void
    signature: void Bignum::Randomize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:538,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:538,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 539
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 539
    functionName: Bignum::operator==(const Bignum& rhs) const
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mp_cmp
    linkageType: ''
    returnType: bool
    signature: bool Bignum::operator==(const Bignum& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' ds'
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - Datasource
    - Bignum
    - Bignum
    - Bignum
    - Bignum
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: cryptofuzz::module::wolfCrypt_bignum::BignumCluster::BignumCluster
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster::BignumCluster(Datasource& ds, Bignum bn0, Bignum
      bn1, Bignum bn2, Bignum bn3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_clear
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:552,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 555
    functionName: BignumCluster::~BignumCluster()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - mp_clear
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void BignumCluster::~BignumCluster()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:558,1
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:558,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:562,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 577
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 577
    functionName: '& BignumCluster::operator[](const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - Get
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & BignumCluster::operator[](const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:580,1
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:580,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - s
    argTypes:
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: cryptofuzz::module::wolfCrypt_bignum::BignumCluster::Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 1
    functionsReached:
    - CF_ASSERT
    - size
    - cryptofuzz::module::wolfCrypt_bignum::BignumCluster::Set
    linkageType: ''
    returnType: bool
    signature: bool BignumCluster::Set(const size_t index, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_bignum::BignumCluster::InvalidateCache
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:590,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 593
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 593
    functionName: cryptofuzz::module::wolfCrypt_bignum::BignumCluster::GetDestPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - cryptofuzz::module::wolfCrypt_bignum::BignumCluster::InvalidateCache
    linkageType: ''
    returnType: mp_int
    signature: mp_int * BignumCluster::GetDestPtr(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:596,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:600,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::BignumCluster::InvalidateCache
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:603,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 606
    functionName: cryptofuzz::module::wolfCrypt_bignum::BignumCluster::GetResPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - cryptofuzz::module::wolfCrypt_bignum::BignumCluster::InvalidateCache
    - CF_ASSERT
    - Get
    linkageType: ''
    returnType: mp_int
    signature: mp_int * BignumCluster::GetResPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:611,1
    - Dst: GetPtrDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:614,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:615,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:617,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:621,1
    - Dst: mp_clear
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:621,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:622,1
    - Dst: mp_init_size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:622,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:623,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:624,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:627,1
    - Dst: mp_clear
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:627,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:628,1
    - Dst: mp_init_size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:628,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:629,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 641
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 641
    functionName: cryptofuzz::module::wolfCrypt_bignum::BignumCluster::CopyResult
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - mp_copy
    - CF_NORET
    - mp_clear
    - GetPtrDirect
    - GetPtr
    - mp_init_size
    - CF_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool BignumCluster::CopyResult(Bignum& res) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:645,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:649,1
    - Dst: mp_init
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:649,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:650,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:650,1
    - Dst: GetPtrDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 656
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 656
    functionName: cryptofuzz::module::wolfCrypt_bignum::BignumCluster::Save
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - mp_copy
    - cryptofuzz::util::malloc
    - mp_init
    - GetPtrDirect
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void BignumCluster::Save(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 660
    functionName: cryptofuzz::module::wolfCrypt_bignum::BignumCluster::InvalidateCache
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster::InvalidateCache(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:674,1
    - Dst: GetPtrDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:674,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:678,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:682,1
    - Dst: mp_tohex
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:682,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:683,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:685,1
    - Dst: mp_tohex
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:685,1
    - Dst: GetPtrDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:685,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp:686,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 698
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 698
    functionName: cryptofuzz::module::wolfCrypt_bignum::BignumCluster::EqualsCache
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - mp_cmp
    - GetPtrDirect
    - mp_tohex
    - CF_ASSERT
    - printf
    linkageType: ''
    returnType: bool
    signature: bool BignumCluster::EqualsCache(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:885,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:887,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:889,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:891,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:893,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:895,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:897,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:899,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:901,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:903,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:905,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:907,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:909,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:911,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:913,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:915,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:917,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:919,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:921,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:923,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:925,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:927,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:929,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:931,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:933,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:935,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:937,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:939,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:941,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 64
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 947
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 947
    functionName: GetCustomCurve
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/custom_curves.h
    functionUses: 1
    functionsReached:
    - CF_ECC_CURVE
    linkageType: ''
    returnType: ecc_set_type
    signature: ecc_set_type * GetCustomCurve(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: cryptofuzz::module::wolfCrypt_detail::wc_Check
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    linkageType: ''
    returnType: int
    signature: int wc_Check(const int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:93,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:95,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:95,1
    - Dst: XMEMCPY
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - devId
    - info
    - ctx
    argTypes:
    - int
    - wc_CryptoInfo*
    - void*
    constantsTouched: []
    func_position:
      end: 122
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 122
    functionName: cryptofuzz::module::wolfCrypt_detail::CryptoCB
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - XMEMCPY
    - GetData
    - memcpy
    linkageType: ''
    returnType: int
    signature: int CryptoCB(int devId, wc_CryptoInfo* info, void* ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:133,1
    - Dst: wc_InitRng
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: cryptofuzz::module::wolfCrypt_detail::InitializeSystemRNG
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - wc_InitRng
    linkageType: ''
    returnType: void
    signature: void InitializeSystemRNG(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wc_FreeRng
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:139,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:140,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::InitializeSystemRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:140,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: cryptofuzz::module::wolfCrypt_detail::GetSystemRNG
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::InitializeSystemRNG
    - CF_ASSERT
    - wc_FreeRng
    - CF_NORET
    linkageType: ''
    returnType: WC_RNG
    signature: WC_RNG * GetSystemRNG(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetSystemRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:149,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:152,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetSystemRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: cryptofuzz::module::wolfCrypt_detail::GetRNG
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 4
    functionsReached:
    - Get
    - cryptofuzz::module::wolfCrypt_detail::GetSystemRNG
    linkageType: ''
    returnType: WC_RNG
    signature: WC_RNG * GetRNG(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ds
    argTypes:
    - Datasource*
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void SetGlobalDs(Datasource* ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsetGlobalDs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 209
    functionName: cryptofuzz::module::wolfCrypt_detail::AllocationFailure
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool AllocationFailure(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: cryptofuzz::module::wolfCrypt_detail::isFixedAlloc
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFixedAlloc(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:233,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:247,1
    - Dst: push_back
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 253
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 253
    functionName: cryptofuzz::module::wolfCrypt_detail::fixed_alloc
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - push_back
    linkageType: ''
    returnType: void
    signature: void * fixed_alloc(const size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:261,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::fixed_alloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:264,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: cryptofuzz::module::wolfCrypt_detail::malloc
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::fixed_alloc
    - Get
    - cryptofuzz::util::malloc
    linkageType: ''
    returnType: void
    signature: void * malloc(const size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_detail::isFixedAlloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:268,1
    - Dst: cryptofuzz::util::realloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: cryptofuzz::module::wolfCrypt_detail::realloc
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::isFixedAlloc
    - cryptofuzz::util::realloc
    linkageType: ''
    returnType: void
    signature: void * realloc(void* ptr, const size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:278,1
    - Dst: munmap
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:280,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:281,1
    - Dst: erase
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:285,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:285,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: cryptofuzz::module::wolfCrypt_detail::free
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - size
    - cryptofuzz::util::free
    - munmap
    - begin
    - erase
    linkageType: ''
    returnType: void
    signature: void free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: cryptofuzz::module::wolfCrypt_detail::malloc
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    linkageType: ''
    returnType: void
    signature: void * malloc(const size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::realloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: cryptofuzz::module::wolfCrypt_detail::realloc
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::realloc
    linkageType: ''
    returnType: void
    signature: void * realloc(void* ptr, const size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: cryptofuzz::module::wolfCrypt_detail::free
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_detail::AllocationFailure
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:307,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 4
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: cryptofuzz::module::wolfCrypt_custom_malloc
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::malloc
    - cryptofuzz::module::wolfCrypt_detail::AllocationFailure
    linkageType: ''
    returnType: void
    signature: void * wolfCrypt_custom_malloc(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_detail::AllocationFailure
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:313,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::realloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: cryptofuzz::module::wolfCrypt_custom_realloc
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::realloc
    - cryptofuzz::module::wolfCrypt_detail::AllocationFailure
    linkageType: ''
    returnType: void
    signature: void * wolfCrypt_custom_realloc(void* ptr, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_detail::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: cryptofuzz::module::wolfCrypt_custom_free
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::free
    linkageType: ''
    returnType: void
    signature: void wolfCrypt_custom_free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:329,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::InitializeSystemRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:329,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:332,1
    - Dst: wc_CryptoCb_Init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:332,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:334,1
    - Dst: wc_CryptoCb_RegisterDevice
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:334,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:335,1
    - Dst: wc_InitRng_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:335,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:338,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:339,1
    - Dst: wolfSSL_SetAllocators
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: cryptofuzz::module::wolfCrypt::wolfCrypt
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - wc_InitRng_ex
    - cryptofuzz::module::wolfCrypt_detail::InitializeSystemRNG
    - CF_NORET
    - wolfSSL_SetAllocators
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - wc_CryptoCb_RegisterDevice
    - CF_ASSERT
    - wc_CryptoCb_Init
    linkageType: ''
    returnType: void
    signature: void wolfCrypt::wolfCrypt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - haveOneShot
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: cryptofuzz::module::wolfCrypt_detail::Operation::Operation
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Operation(const bool haveOneShot)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:367,1
    - Dst: runOneShot
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:372,1
    - Dst: runInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:374,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:378,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:380,1
    - Dst: runUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:380,1
    - Dst: runFinalize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:382,1
    - Dst: runFree
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - OperationType
    - Datasource
    constantsTouched: []
    func_position:
      end: 390
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 390
    functionName: cryptofuzz::module::wolfCrypt_detail::Operation::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - CF_CHECK_EQ
    - runUpdate
    - runOneShot
    - runFinalize
    - runInit
    - runFree
    - Get
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Run(OperationType& op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: cryptofuzz::module::wolfCrypt_detail::Init::Init
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: ~Init()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - FnType
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: cryptofuzz::module::wolfCrypt_detail::Init_Void::Init_Void
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init_Void(FnType init)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: ~Init_Void()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Init_Void()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:416,1
    - Dst: init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CTXType*
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: cryptofuzz::module::wolfCrypt_detail::Init_Void::Initialize
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - init
    - CF_NORET
    linkageType: ''
    returnType: bool
    signature: bool Initialize(CTXType* ctx) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - FnType
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: cryptofuzz::module::wolfCrypt_detail::Init_Int::Init_Int
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init_Int(FnType init)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 433
    functionName: ~Init_Int()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Init_Int()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CTXType*
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: cryptofuzz::module::wolfCrypt_detail::Init_Int::Initialize
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: bool
    signature: bool Initialize(CTXType* ctx) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - FnType
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: cryptofuzz::module::wolfCrypt_detail::Init_IntParams::Init_IntParams
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init_IntParams(FnType init)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: ~Init_IntParams()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Init_IntParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CTXType*
    constantsTouched: []
    func_position:
      end: 456
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionName: cryptofuzz::module::wolfCrypt_detail::Init_IntParams::Initialize
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: bool
    signature: bool Initialize(CTXType* ctx) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - FnType
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: cryptofuzz::module::wolfCrypt_detail::Init_IntFixedParam::Init_IntFixedParam
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init_IntFixedParam(FnType init)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    functionName: ~Init_IntFixedParam()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Init_IntFixedParam()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CTXType*
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: cryptofuzz::module::wolfCrypt_detail::Init_IntFixedParam::Initialize
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: bool
    signature: bool Initialize(CTXType* ctx) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 482
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestUpdate::DigestUpdate
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DigestUpdate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: ~DigestUpdate()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DigestUpdate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - update
    argTypes:
    - FnType
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestUpdate_Void::DigestUpdate_Void
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DigestUpdate_Void(FnType update)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 498
    functionName: ~DigestUpdate_Void()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DigestUpdate_Void()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:501,1
    - Dst: update
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - CTXType*
    - uint8_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestUpdate_Void::Update
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - update
    - CF_NORET
    linkageType: ''
    returnType: bool
    signature: bool Update(CTXType* ctx, const uint8_t* data, unsigned int size) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - update
    argTypes:
    - FnType
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestUpdate_Int::DigestUpdate_Int
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DigestUpdate_Int(FnType update)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 518
    functionName: ~DigestUpdate_Int()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DigestUpdate_Int()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - CTXType*
    - uint8_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestUpdate_Int::Update
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: bool
    signature: bool Update(CTXType* ctx, const uint8_t* data, unsigned int size) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 529
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestFinalize::DigestFinalize
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DigestFinalize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: ~DigestFinalize()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DigestFinalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - finalize
    argTypes:
    - FnType
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestFinalize_Void::DigestFinalize_Void
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DigestFinalize_Void(FnType finalize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 545
    functionName: ~DigestFinalize_Void()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DigestFinalize_Void()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:548,1
    - Dst: finalize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - CTXType*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestFinalize_Void::Finalize
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - finalize
    - CF_NORET
    linkageType: ''
    returnType: bool
    signature: bool Finalize(CTXType* ctx, uint8_t* data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - finalize
    argTypes:
    - FnType
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 563
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestFinalize_Int::DigestFinalize_Int
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DigestFinalize_Int(FnType finalize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: ~DigestFinalize_Int()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DigestFinalize_Int()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finalize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - CTXType*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestFinalize_Int::Finalize
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - finalize
    linkageType: ''
    returnType: bool
    signature: bool Finalize(CTXType* ctx, uint8_t* data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - finalize
    argTypes:
    - FnType
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestFinalize_IntFixedParam::DigestFinalize_IntFixedParam
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DigestFinalize_IntFixedParam(FnType finalize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 584
    functionName: ~DigestFinalize_IntFixedParam()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DigestFinalize_IntFixedParam()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finalize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - CTXType*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 588
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 588
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestFinalize_IntFixedParam::Finalize
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - finalize
    linkageType: ''
    returnType: bool
    signature: bool Finalize(CTXType* ctx, uint8_t* data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:603,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:608,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 614
    functionName: cryptofuzz::module::wolfCrypt_detail::Digest::getCtx
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - copy
    - Get
    - memcpy
    linkageType: ''
    returnType: CTXType
    signature: CTXType * getCtx(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - initFn
    - updateFn
    - finalizeFn
    argTypes:
    - typename InitType::FnType
    - typename UpdateType::FnType
    - typename FinalizeType::FnType
    constantsTouched: []
    func_position:
      end: 631
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 631
    functionName: cryptofuzz::module::wolfCrypt_detail::Digest::Digest
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Digest(\n                typename InitType::FnType initFn,\n
      \               typename UpdateType::FnType updateFn,\n                typename
      FinalizeType::FnType finalizeFn,\n                void (*freeCTX)(CTXType*)
      = nullptr,\n                int (*copy)(CTXType*, CTXType*) = nullptr,\n                int
      (*oneShot)(const byte*, word32, byte*) = nullptr\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Initialize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 636
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 636
    functionName: cryptofuzz::module::wolfCrypt_detail::Digest::runInit
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Initialize
    linkageType: ''
    returnType: bool
    signature: bool runInit(operation::Digest& op) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Update
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:640,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::Digest::getCtx
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 646
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 646
    functionName: cryptofuzz::module::wolfCrypt_detail::Digest::runUpdate
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::Digest::getCtx
    - Update
    linkageType: ''
    returnType: bool
    signature: bool runUpdate(util::Multipart& parts) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Finalize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:651,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::Digest::getCtx
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:651,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:651,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:655,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:655,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 656
      start: 648
    functionDepth: 4
    functionLinenumber: 648
    functionLinenumberEnd: 656
    functionName: cryptofuzz::module::wolfCrypt_detail::Digest::runFinalize
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - generate_Digest
    - cryptofuzz::module::wolfCrypt_detail::Digest::getCtx
    - Finalize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> runFinalize(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:660,1
    - Dst: freeCTX
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 662
    functionName: cryptofuzz::module::wolfCrypt_detail::Digest::runFree
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - freeCTX
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void runFree(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:668,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:670,1
    - Dst: oneShot
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:670,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:670,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:670,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:670,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:672,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:672,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' in'
    - ' ds'
    argTypes:
    - Buffer
    - Datasource
    constantsTouched: []
    func_position:
      end: 675
      start: 664
    functionDepth: 4
    functionLinenumber: 664
    functionLinenumberEnd: 675
    functionName: cryptofuzz::module::wolfCrypt_detail::Digest::runOneShot
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - oneShot
    - generate_Digest
    - CF_CHECK_EQ
    - GetPtr
    - CF_CHECK_NE
    - GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> runOneShot(const Buffer& in, Datasource&
      ds) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:740,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:741,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:742,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:743,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:744,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:745,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:746,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:747,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:748,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:749,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:750,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:751,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:752,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:753,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:754,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:756,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:760,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:760,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:760,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:764,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 765
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 765
    functionName: cryptofuzz::module::wolfCrypt_detail::toHashType
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 1
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: std::optional<wc_HashType>
    signature: std::optional<wc_HashType> toHashType(const component::DigestType&
      digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:771,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:772,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:773,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:774,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:775,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:776,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:778,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:779,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:780,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:781,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:782,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:783,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:784,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:785,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:786,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:788,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:792,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:792,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:792,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:796,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 797
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 797
    functionName: cryptofuzz::module::wolfCrypt_detail::toHashSize
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - std::map::at
    - defined
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> toHashSize(const component::DigestType& digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:806,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toHashType
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:806,1
    - Dst: wc_HashGetDigestSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:808,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:809,1
    - Dst: wc_Hash
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:813,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:815,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:816,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:820,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:822,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:823,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:824,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:825,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:828,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:832,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:835,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::Digest
    - Datasource
    constantsTouched: []
    func_position:
      end: 840
      start: 799
    functionDepth: 4
    functionLinenumber: 799
    functionLinenumberEnd: 840
    functionName: cryptofuzz::module::wolfCrypt_detail::DigestOneShot
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - wc_Hash
    - generate_Digest
    - cryptofuzz::util::malloc
    - CF_CHECK_EQ
    - cleartext::GetSize
    - digestType::Get
    - cleartext::GetPtr
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::toHashType
    - CF_DIGEST
    - cryptofuzz::util::free
    - wc_HashGetDigestSize
    - CF_ASSERT
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> DigestOneShot(operation::Digest& op,
      Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:845,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:845,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:846,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:850,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::DigestOneShot
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:854,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:858,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:859,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:860,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:862,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:863,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:865,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:866,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:868,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:869,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:871,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:872,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:875,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:876,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:879,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:880,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:882,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:883,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:885,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:886,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:888,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:889,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:891,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:892,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:894,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:895,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:897,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:898,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:900,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:901,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:903,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:904,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:906,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:907,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:909,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:910,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:913,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:914,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:922,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:927,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 930
      start: 843
    functionDepth: 5
    functionLinenumber: 843
    functionLinenumberEnd: 930
    functionName: cryptofuzz::module::wolfCrypt::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::DigestOneShot
    - modifier::GetPtr
    - digestType::Get
    - CF_ASSERT
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - CF_DIGEST
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    - Datasource::Get
    - Run
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> wolfCrypt::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:935,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:935,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:936,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:944,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:944,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:945,1
    - Dst: wc_InitBlake2b_WithKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:945,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:945,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:945,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:946,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:946,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:947,1
    - Dst: wc_InitBlake2s_WithKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:947,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:947,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:947,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:949,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:952,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:954,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:954,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:956,1
    - Dst: wc_Blake2bUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:956,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:958,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:958,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:960,1
    - Dst: wc_Blake2sUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:960,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:964,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:964,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:965,1
    - Dst: wc_Blake2bFinal
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:965,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:966,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:966,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:967,1
    - Dst: wc_Blake2sFinal
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:967,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:970,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:972,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 974
      start: 933
    functionDepth: 4
    functionLinenumber: 933
    functionLinenumberEnd: 974
    functionName: cryptofuzz::module::wolfCrypt_detail::Blake2_MAC
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - WC_CHECK_EQ
    - cipher::key::GetSize
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - wc_Blake2bFinal
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - digestType::Is
    - abort
    - wc_Blake2sUpdate
    - wc_Blake2sFinal
    - wc_InitBlake2s_WithKey
    - CF_DIGEST
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - generate_HMAC
    - wc_InitBlake2b_WithKey
    - modifier::GetSize
    - wc_Blake2bUpdate
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Blake2_MAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:978,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:978,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:979,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:987,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:990,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:990,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:993,1
    - Dst: wc_SipHash
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:993,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:994,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:995,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:995,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:998,1
    - Dst: wc_InitSipHash
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:998,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:998,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1000,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1003,1
    - Dst: wc_SipHashUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1003,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1006,1
    - Dst: wc_SipHashFinal
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1006,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1009,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ' op'
    - size
    argTypes:
    - operation::HMAC
    - size_t
    constantsTouched: []
    func_position:
      end: 1013
      start: 976
    functionDepth: 4
    functionLinenumber: 976
    functionLinenumberEnd: 1013
    functionName: cryptofuzz::module::wolfCrypt_detail::SIPHASH
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - WC_CHECK_EQ
    - cipher::key::GetSize
    - modifier::GetPtr
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - CF_CHECK_EQ
    - cleartext::GetSize
    - wc_InitSipHash
    - wc_SipHash
    - wc_SipHashUpdate
    - cleartext::GetPtr
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - generate_HMAC
    - modifier::GetSize
    - Datasource::Get
    - wc_SipHashFinal
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> SIPHASH(operation::HMAC& op, const size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1018,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1018,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1019,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1019,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::Blake2_MAC
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1020,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1021,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1021,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SIPHASH
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1022,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1023,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1023,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SIPHASH
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1024,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1028,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1028,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1029,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1041,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1043,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toHashType
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1043,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1044,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toHashSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1044,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1045,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1046,1
    - Dst: wc_HmacInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1046,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1048,1
    - Dst: wc_HmacSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1048,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1048,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1048,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1053,1
    - Dst: wc_HmacUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1053,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1058,1
    - Dst: wc_HmacFinal
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1058,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1060,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1065,1
    - Dst: wc_HmacFree
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1065,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1067,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1069,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 1072
      start: 1016
    functionDepth: 5
    functionLinenumber: 1016
    functionLinenumberEnd: 1072
    functionName: cryptofuzz::module::wolfCrypt::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::toHashType
    - CF_DIGEST
    - wc_HmacFinal
    - cryptofuzz::module::wolfCrypt_detail::SIPHASH
    - WC_CHECK_EQ
    - modifier::GetPtr
    - cryptofuzz::module::wolfCrypt_detail::Blake2_MAC
    - wc_HmacUpdate
    - cryptofuzz::module::wolfCrypt_detail::toHashSize
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - wc_HmacFree
    - cryptofuzz::util::free
    - generate_HMAC
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - cryptofuzz::util::ToParts
    - cryptofuzz::util::malloc
    - wc_HmacInit
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - CF_NORET
    - digestType::Is
    - CF_CHECK_NE
    - modifier::GetSize
    - wc_HmacSetKey
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> wolfCrypt::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1084,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1091,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1092,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1093,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1093,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1095,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1096,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1096,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1098,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1099,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1099,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1103,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1104,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1106,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1106,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1107,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1111,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1111,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1113,1
    - Dst: wc_AesGcmInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1113,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1114,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1114,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1115,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1115,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1119,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1121,1
    - Dst: wc_AesGcmEncryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1121,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1130,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1133,1
    - Dst: wc_AesGcmEncryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1133,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1141,1
    - Dst: wc_AesGcmEncryptFinal
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1141,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1145,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1145,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1147,1
    - Dst: wc_AesGcmSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1147,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1147,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1147,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1148,1
    - Dst: wc_AesGcmEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1148,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1151,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1152,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1153,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1154,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1157,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1158,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1161,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1161,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1161,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1161,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1164,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1165,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1168,1
    - Dst: wc_AesFree
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 1172
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1172
    functionName: cryptofuzz::module::wolfCrypt_detail::OpSymmetricEncrypt_AES_GCM
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - wc_AesGcmEncrypt
    - wc_AesGcmEncryptFinal
    - wc_AesGcmSetKey
    - WC_CHECK_EQ
    - cipher::cipherType::Get
    - aad::GetSize
    - wc_AesGcmEncryptUpdate
    - Buffer
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - wc_AesInit
    - cryptofuzz::util::free
    - CF_CIPHER
    - cipher::iv::GetPtr
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - CF_NORET
    - cleartext::GetSize
    - wc_AesFree
    - CF_CHECK_NE
    - aad::GetPtr
    - wc_AesGcmInit
    - cryptofuzz::component::Ciphertext::Ciphertext
    - Get
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpSymmetricEncrypt_AES_GCM(operation::SymmetricEncrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1182,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1189,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1190,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1191,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1191,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1193,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1194,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1194,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1196,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1197,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1197,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1201,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1202,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1204,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1204,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1208,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1208,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1210,1
    - Dst: wc_AesGcmInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1210,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1211,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1211,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1212,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1212,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1215,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1217,1
    - Dst: wc_AesGcmDecryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1217,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1226,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1229,1
    - Dst: wc_AesGcmDecryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1229,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1237,1
    - Dst: wc_AesGcmDecryptFinal
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1237,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1237,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1237,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1241,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1241,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1243,1
    - Dst: wc_AesGcmSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1243,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1243,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1243,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1244,1
    - Dst: wc_AesGcmDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1244,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1247,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1248,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1249,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1250,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1251,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1252,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1253,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1254,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1257,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1257,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1257,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1260,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1263,1
    - Dst: wc_AesFree
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 1267
      start: 1174
    functionDepth: 2
    functionLinenumber: 1174
    functionLinenumberEnd: 1267
    functionName: cryptofuzz::module::wolfCrypt_detail::OpSymmetricDecrypt_AES_GCM
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - wc_AesGcmDecrypt
    - ciphertext::GetPtr
    - ciphertext::GetSize
    - wc_AesGcmSetKey
    - WC_CHECK_EQ
    - cipher::cipherType::Get
    - component::Cleartext
    - aad::GetSize
    - Buffer
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - wc_AesInit
    - cryptofuzz::util::free
    - CF_CIPHER
    - wc_AesGcmDecryptFinal
    - cipher::iv::GetPtr
    - tag::GetSize
    - wc_AesGcmDecryptUpdate
    - cipher::key::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - CF_NORET
    - wc_AesFree
    - CF_CHECK_NE
    - tag::GetPtr
    - aad::GetPtr
    - wc_AesGcmInit
    - Get
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpSymmetricDecrypt_AES_GCM(operation::SymmetricDecrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1272,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1272,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1273,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1286,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1287,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1288,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1289,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1292,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1293,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1294,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1294,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1296,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1297,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1297,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1299,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1300,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1300,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1304,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1304,1
    - Dst: cryptofuzz::util::Pkcs7Pad
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1306,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1306,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1307,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1307,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1309,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1309,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1312,1
    - Dst: wc_AesSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1312,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1312,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1312,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1312,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1313,1
    - Dst: wc_AesCbcEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1313,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1313,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1313,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1315,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1315,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1315,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1319,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1320,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1321,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1325,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1326,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1327,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1327,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1329,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1330,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1330,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1332,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1333,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1333,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1337,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1337,1
    - Dst: cryptofuzz::util::Pkcs7Pad
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1339,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1339,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1340,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1340,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1342,1
    - Dst: wc_CamelliaSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1342,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1344,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1345,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1346,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1347,1
    - Dst: wc_CamelliaCbcEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1347,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1347,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1347,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1349,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1349,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1349,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1353,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1354,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1355,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpSymmetricEncrypt_AES_GCM
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1357,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1361,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1362,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1363,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1365,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1366,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1367,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1367,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1369,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1370,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1370,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1372,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1373,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1373,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1377,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1378,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1380,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1380,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1381,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1383,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1383,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1386,1
    - Dst: wc_AesCcmSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1386,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1386,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1386,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1387,1
    - Dst: wc_AesCcmEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1387,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1390,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1391,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1392,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1393,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1396,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1397,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1399,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1399,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1399,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1399,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1403,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1405,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1406,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1407,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1407,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1408,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1408,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1409,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1411,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1411,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1412,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1416,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1420,1
    - Dst: wc_ChaCha20Poly1305_Encrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1420,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1421,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1422,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1423,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1424,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1425,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1426,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1432,1
    - Dst: wc_ChaCha20Poly1305_Init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1432,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1432,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1432,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1435,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1437,1
    - Dst: wc_ChaCha20Poly1305_UpdateAad
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1437,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1442,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1445,1
    - Dst: wc_ChaCha20Poly1305_UpdateData
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1445,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1450,1
    - Dst: wc_ChaCha20Poly1305_Final
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1450,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1453,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1453,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1453,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1453,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1458,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1460,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1461,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1462,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1464,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1466,1
    - Dst: wc_XChaCha20Poly1305_Encrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1466,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1468,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1468,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1469,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1469,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1470,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1470,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1471,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1471,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1472,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1473,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1473,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1474,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1474,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1479,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1480,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1481,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1486,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1487,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1488,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1488,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1490,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1491,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1491,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1493,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1494,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1494,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1498,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1498,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1499,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1499,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1500,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1500,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1502,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1502,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1504,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1504,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1507,1
    - Dst: wc_AesSetKeyDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1507,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1507,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1507,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1507,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1509,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1511,1
    - Dst: wc_AesCtrEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1511,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1515,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1515,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1515,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1519,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1520,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1521,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1524,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1525,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1526,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1526,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1528,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1529,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1529,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1531,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1532,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1532,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1536,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1536,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1537,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1537,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1538,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1538,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1540,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1540,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1542,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1542,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1545,1
    - Dst: wc_AesSetKeyDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1545,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1545,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1545,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1545,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1548,1
    - Dst: wc_AesEcbEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1548,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1548,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1548,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1550,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1550,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1550,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1555,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1556,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1557,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1561,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1562,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1563,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1563,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1565,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1566,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1566,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1568,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1569,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1569,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1573,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1573,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1575,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1575,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1577,1
    - Dst: wc_AesXtsSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1577,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1577,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1577,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1578,1
    - Dst: wc_AesXtsEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1578,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1578,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1578,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1578,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1578,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1580,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1580,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1580,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1584,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1585,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1586,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1591,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1592,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1593,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1593,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1595,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1596,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1596,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1598,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1599,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1599,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1603,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1603,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1604,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1604,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1606,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1606,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1608,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1608,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1611,1
    - Dst: wc_AesSetKeyDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1611,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1611,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1611,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1611,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1613,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1615,1
    - Dst: wc_AesCfbEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1615,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1619,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1619,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1619,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1623,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1624,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1625,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1630,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1631,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1632,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1632,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1634,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1635,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1635,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1637,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1638,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1638,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1642,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1642,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1643,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1643,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1645,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1645,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1647,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1647,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1650,1
    - Dst: wc_AesSetKeyDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1650,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1650,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1650,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1650,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1652,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1654,1
    - Dst: wc_AesCfb1Encrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1654,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1658,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1658,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1658,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1662,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1663,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1664,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1669,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1670,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1671,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1671,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1673,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1674,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1674,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1676,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1677,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1677,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1681,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1681,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1682,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1682,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1684,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1684,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1686,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1686,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1689,1
    - Dst: wc_AesSetKeyDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1689,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1689,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1689,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1689,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1691,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1693,1
    - Dst: wc_AesCfb8Encrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1693,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1697,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1697,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1697,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1701,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1702,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1703,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1708,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1709,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1710,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1710,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1712,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1713,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1713,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1715,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1716,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1716,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1720,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1720,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1721,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1721,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1723,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1723,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1725,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1725,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1728,1
    - Dst: wc_AesSetKeyDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1728,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1728,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1728,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1728,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1730,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1732,1
    - Dst: wc_AesOfbEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1732,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1736,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1736,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1736,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1740,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1744,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1744,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1746,1
    - Dst: wc_Arc4Init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1746,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1747,1
    - Dst: wc_Arc4SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1747,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1749,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1750,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1751,1
    - Dst: wc_Arc4Process
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1751,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1751,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1751,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1753,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1753,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1753,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1757,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1763,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1763,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1765,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1765,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1767,1
    - Dst: wc_Chacha_SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1767,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1767,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1767,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1768,1
    - Dst: wc_Chacha_SetIV
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1768,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1768,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1770,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1772,1
    - Dst: wc_Chacha_Process
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1772,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1776,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1776,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1776,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1780,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1784,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1784,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1785,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1785,1
    - Dst: cryptofuzz::util::Pkcs7Pad
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1787,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1787,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1788,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1788,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1790,1
    - Dst: wc_Des_SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1790,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1790,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1790,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1791,1
    - Dst: wc_Des_CbcEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1791,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1791,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1791,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1793,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1793,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1793,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1797,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1801,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1801,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1802,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1802,1
    - Dst: cryptofuzz::util::Pkcs7Pad
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1804,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1804,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1805,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1805,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1807,1
    - Dst: wc_Des3Init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1807,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1808,1
    - Dst: wc_Des3_SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1808,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1808,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1808,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1809,1
    - Dst: wc_Des3_CbcEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1809,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1809,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1809,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1811,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1811,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1811,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1815,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1820,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1820,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1821,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1821,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1822,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1822,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1824,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1824,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1826,1
    - Dst: wc_Des_SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1826,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1826,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1826,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1827,1
    - Dst: wc_Des_EcbEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1827,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1827,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1827,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1829,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1829,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1829,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1834,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1835,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1836,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1839,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1839,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1841,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1843,1
    - Dst: wc_AesKeyWrap
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1843,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1844,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1844,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1845,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1845,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1847,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1849,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1849,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1853,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1854,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1855,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1858,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1859,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1861,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1862,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1865,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1865,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1866,1
    - Dst: wc_GmacSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1866,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1866,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1866,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1867,1
    - Dst: wc_GmacUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1867,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1868,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1869,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1870,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1871,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1873,1
    - Dst: wc_AesFree
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1873,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1875,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1876,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1876,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1876,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1877,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1880,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1881,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1882,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1884,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1884,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1886,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1888,1
    - Dst: wc_AesSivEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1888,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1889,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1889,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1890,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1890,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1891,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1891,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1892,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1892,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1895,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1896,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1896,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1897,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1901,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1905,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1905,1
    - Dst: cryptofuzz::util::Pkcs7Pad
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1907,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1907,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1908,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1908,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1910,1
    - Dst: wc_Sm4SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1910,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1910,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1910,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1911,1
    - Dst: wc_Sm4SetIV
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1911,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1911,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1912,1
    - Dst: wc_Sm4CbcEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1912,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1912,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1912,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1914,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1914,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1914,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1917,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1921,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1921,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1922,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1922,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1924,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1924,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1926,1
    - Dst: wc_Sm4SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1926,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1926,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1926,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1927,1
    - Dst: wc_Sm4SetIV
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1927,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1927,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1928,1
    - Dst: wc_Sm4EcbEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1928,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1928,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1928,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1930,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1930,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1930,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1933,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1937,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1938,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1940,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1940,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1941,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1943,1
    - Dst: wc_Sm4SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1943,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1943,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1943,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1944,1
    - Dst: wc_Sm4CcmEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1944,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1947,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1948,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1949,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1950,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1953,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1954,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1956,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1956,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1956,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1956,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1959,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1963,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1964,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1966,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1966,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1967,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1969,1
    - Dst: wc_Sm4GcmSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1969,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1969,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1969,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1970,1
    - Dst: wc_Sm4GcmEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1970,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1973,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1974,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1975,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1976,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1979,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1980,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1982,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1982,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1982,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1982,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1988,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1989,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1990,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1992,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1993,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1995,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1995,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:1996,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2000,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2004,1
    - Dst: wc_AesEaxEncryptAuth
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2005,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2006,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2007,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2009,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2010,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2011,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2012,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2015,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2016,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2018,1
    - Dst: wc_AesEaxInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2019,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2021,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2022,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2023,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2024,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2025,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2026,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2030,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2033,1
    - Dst: wc_AesEaxEncryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2034,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2043,1
    - Dst: wc_AesEaxEncryptFinal
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2044,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2051,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2051,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2051,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2051,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2059,1
    - Dst: wc_AesFree
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2059,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2064,1
    - Dst: wc_AesEaxFree
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2064,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2068,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2069,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2071,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 454
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 2074
      start: 1270
    functionDepth: 3
    functionLinenumber: 1270
    functionLinenumberEnd: 2074
    functionName: cryptofuzz::module::wolfCrypt::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - wc_ChaCha20Poly1305_Encrypt
    - wc_Arc4SetKey
    - cipher::cipherType::Get
    - wc_Des3_SetKey
    - wc_AesCfb1Encrypt
    - cryptofuzz::module::wolfCrypt_detail::OpSymmetricEncrypt_AES_GCM
    - auto::size
    - wc_AesXtsEncrypt
    - wc_Sm4GcmSetKey
    - wc_AesCtrEncrypt
    - wc_Sm4SetIV
    - CF_CHECK_EQ
    - wc_ChaCha20Poly1305_Init
    - wc_Arc4Init
    - wc_AesCfb8Encrypt
    - cipher::iv::GetPtr
    - cryptofuzz::util::ToParts
    - wc_AesSetKeyDirect
    - wc_Sm4CbcEncrypt
    - wc_Arc4Process
    - wc_Des3_CbcEncrypt
    - wc_Des_EcbEncrypt
    - wc_GmacUpdate
    - wc_AesEaxEncryptFinal
    - wc_Des3Init
    - wc_ChaCha20Poly1305_Final
    - wc_Des_SetKey
    - wc_Sm4EcbEncrypt
    - aad::GetSize
    - wc_AesCcmEncrypt
    - wc_AesEaxFree
    - wc_CamelliaSetKey
    - Datasource::Get
    - cryptofuzz::util::Pkcs7Pad
    - wc_Sm4SetKey
    - wc_AesKeyWrap
    - wc_AesCcmSetKey
    - wc_AesInit
    - CF_CHECK_GTE
    - wc_AesEaxEncryptUpdate
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - CF_NORET
    - cleartext::GetSize
    - wc_AesSivEncrypt
    - cryptofuzz::component::Ciphertext::Ciphertext
    - wc_ChaCha20Poly1305_UpdateAad
    - wc_Chacha_SetKey
    - cleartext::GetPtr
    - wc_Sm4GcmEncrypt
    - CF_ASSERT
    - WC_CHECK_EQ
    - modifier::GetPtr
    - wc_AesXtsSetKey
    - wc_CamelliaCbcEncrypt
    - wc_AesCfbEncrypt
    - cleartext::Get
    - cipher::iv::GetSize
    - wc_Chacha_Process
    - wc_Sm4CcmEncrypt
    - cryptofuzz::util::free
    - wc_AesEcbEncrypt
    - cipher::key::GetSize
    - wc_AesCbcEncrypt
    - wc_AesEaxInit
    - aad::GetPtr
    - CF_CHECK_GT
    - wc_XChaCha20Poly1305_Encrypt
    - Buffer
    - wc_Des_CbcEncrypt
    - auto::data
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - CF_CIPHER
    - wc_AesSetKey
    - wc_AesOfbEncrypt
    - wc_AesFree
    - CF_CHECK_NE
    - wc_GmacSetKey
    - wc_ChaCha20Poly1305_UpdateData
    - wc_AesEaxEncryptAuth
    - modifier::GetSize
    - wc_Chacha_SetIV
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> wolfCrypt::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2078,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2078,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2079,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2092,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2093,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2094,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2095,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2097,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2098,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2099,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2099,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2101,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2102,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2102,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2104,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2105,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2105,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2109,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2109,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2111,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2111,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2113,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2113,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2116,1
    - Dst: wc_AesSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2116,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2116,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2116,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2116,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2117,1
    - Dst: wc_AesCbcDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2117,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2117,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2117,1
    - Dst: cryptofuzz::util::Pkcs7Unpad
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2119,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2119,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2119,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2120,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2121,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2121,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2125,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2126,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2127,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2131,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2132,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2133,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2133,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2135,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2136,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2136,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2138,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2139,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2139,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2143,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2143,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2145,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2145,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2147,1
    - Dst: wc_CamelliaSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2147,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2149,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2150,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2151,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2152,1
    - Dst: wc_CamelliaCbcDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2152,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2152,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2152,1
    - Dst: cryptofuzz::util::Pkcs7Unpad
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2154,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2154,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2154,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2155,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2156,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2156,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2160,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2161,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2162,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpSymmetricDecrypt_AES_GCM
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2164,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2168,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2169,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2170,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2174,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2175,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2176,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2176,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2178,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2179,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2179,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2181,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2182,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2182,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2186,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2187,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2189,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2189,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2191,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2191,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2192,1
    - Dst: wc_AesCcmSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2192,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2192,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2192,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2193,1
    - Dst: wc_AesCcmDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2193,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2196,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2197,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2198,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2199,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2200,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2201,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2202,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2203,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2205,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2205,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2205,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2209,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2211,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2212,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2212,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2213,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2213,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2214,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2214,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2215,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2217,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2217,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2221,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2225,1
    - Dst: wc_ChaCha20Poly1305_Decrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2225,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2226,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2227,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2228,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2229,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2230,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2231,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2232,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2237,1
    - Dst: wc_ChaCha20Poly1305_Init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2237,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2237,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2237,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2240,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2242,1
    - Dst: wc_ChaCha20Poly1305_UpdateAad
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2242,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2247,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2250,1
    - Dst: wc_ChaCha20Poly1305_UpdateData
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2250,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2258,1
    - Dst: wc_ChaCha20Poly1305_Final
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2258,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2259,1
    - Dst: wc_ChaCha20Poly1305_CheckTag
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2259,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2259,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2263,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2263,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2263,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2268,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2271,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2272,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2272,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2273,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2276,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2277,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2278,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2278,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2278,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2280,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2280,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2280,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2280,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2282,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2284,1
    - Dst: wc_XChaCha20Poly1305_Decrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2284,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2287,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2287,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2288,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2288,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2289,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2289,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2290,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2290,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2290,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2295,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2296,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2297,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2303,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2304,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2305,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2305,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2307,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2308,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2308,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2310,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2311,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2311,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2315,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2315,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2316,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2316,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2317,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2317,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2319,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2319,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2321,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2321,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2322,1
    - Dst: wc_AesSetKeyDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2322,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2322,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2322,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2322,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2324,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2326,1
    - Dst: wc_AesCtrEncrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2326,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2330,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2330,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2330,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2334,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2335,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2336,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2341,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2342,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2343,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2343,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2345,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2346,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2346,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2348,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2349,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2349,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2353,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2353,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2354,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2354,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2355,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2355,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2357,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2357,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2359,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2359,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2360,1
    - Dst: wc_AesSetKeyDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2360,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2360,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2360,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2360,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2363,1
    - Dst: wc_AesEcbDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2363,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2363,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2363,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2365,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2365,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2365,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2370,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2371,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2372,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2376,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2377,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2378,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2378,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2380,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2381,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2381,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2383,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2384,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2384,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2388,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2388,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2390,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2390,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2392,1
    - Dst: wc_AesXtsSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2392,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2392,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2392,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2393,1
    - Dst: wc_AesXtsDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2393,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2393,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2393,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2393,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2393,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2395,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2395,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2395,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2399,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2400,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2401,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2407,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2408,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2409,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2409,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2411,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2412,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2412,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2414,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2415,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2415,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2419,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2419,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2420,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2420,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2421,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2421,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2423,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2423,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2425,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2425,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2426,1
    - Dst: wc_AesSetKeyDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2426,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2426,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2426,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2426,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2428,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2430,1
    - Dst: wc_AesCfbDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2430,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2434,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2434,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2434,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2438,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2439,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2440,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2446,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2447,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2448,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2448,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2450,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2451,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2451,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2453,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2454,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2454,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2458,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2458,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2459,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2459,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2460,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2460,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2462,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2462,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2464,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2464,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2465,1
    - Dst: wc_AesSetKeyDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2465,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2465,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2465,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2465,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2467,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2469,1
    - Dst: wc_AesCfb1Decrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2469,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2473,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2473,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2473,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2477,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2478,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2479,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2485,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2486,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2487,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2487,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2489,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2490,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2490,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2492,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2493,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2493,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2497,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2497,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2498,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2498,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2499,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2499,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2501,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2501,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2503,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2503,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2504,1
    - Dst: wc_AesSetKeyDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2504,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2504,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2504,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2504,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2506,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2508,1
    - Dst: wc_AesCfb8Decrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2508,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2512,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2512,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2512,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2516,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2517,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2518,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2524,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2525,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2526,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2526,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2528,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2529,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2529,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2531,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2532,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2532,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2536,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2536,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2537,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2537,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2538,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2538,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2540,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2540,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2542,1
    - Dst: wc_AesInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2542,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2543,1
    - Dst: wc_AesSetKeyDirect
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2543,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2543,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2543,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2543,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2545,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2547,1
    - Dst: wc_AesOfbDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2547,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2551,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2551,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2551,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2555,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2559,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2559,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2561,1
    - Dst: wc_Arc4Init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2561,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2562,1
    - Dst: wc_Arc4SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2562,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2564,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2565,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2566,1
    - Dst: wc_Arc4Process
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2566,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2566,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2566,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2568,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2568,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2568,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2572,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2578,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2578,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2580,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2580,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2582,1
    - Dst: wc_Chacha_SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2582,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2582,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2582,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2583,1
    - Dst: wc_Chacha_SetIV
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2583,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2583,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2585,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2587,1
    - Dst: wc_Chacha_Process
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2587,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2591,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2591,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2591,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2595,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2599,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2599,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2600,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2600,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2602,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2602,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2604,1
    - Dst: wc_Des_SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2604,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2604,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2604,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2605,1
    - Dst: wc_Des_CbcDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2605,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2605,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2605,1
    - Dst: cryptofuzz::util::Pkcs7Unpad
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2607,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2607,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2607,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2608,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2609,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2609,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2613,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2617,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2617,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2618,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2618,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2620,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2620,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2622,1
    - Dst: wc_Des3Init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2622,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2623,1
    - Dst: wc_Des3_SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2623,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2623,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2623,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2624,1
    - Dst: wc_Des3_CbcDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2624,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2624,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2624,1
    - Dst: cryptofuzz::util::Pkcs7Unpad
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2626,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2626,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2626,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2627,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2628,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2628,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2632,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2637,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2637,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2638,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2638,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2639,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2639,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2641,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2641,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2643,1
    - Dst: wc_Des_SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2643,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2643,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2643,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2644,1
    - Dst: wc_Des_EcbDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2644,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2644,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2644,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2646,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2646,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2646,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2651,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2652,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2653,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2656,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2656,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2658,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2660,1
    - Dst: wc_AesKeyUnWrap
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2660,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2661,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2661,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2662,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2662,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2664,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2666,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2666,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2670,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2671,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2672,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2674,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2675,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2677,1
    - Dst: wc_GmacVerify
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2677,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2678,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2679,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2680,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2681,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2682,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2683,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2684,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2685,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2687,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2687,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2687,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2687,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2690,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2691,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2692,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2694,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2694,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2696,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2697,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2697,1
    - Dst: tag::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2699,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2701,1
    - Dst: wc_AesSivDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2701,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2702,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2702,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2703,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2703,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2704,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2704,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2705,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2705,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2706,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2708,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2708,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2708,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2712,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2716,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2716,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2718,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2718,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2720,1
    - Dst: wc_Sm4SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2720,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2720,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2720,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2721,1
    - Dst: wc_Sm4SetIV
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2721,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2721,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2722,1
    - Dst: wc_Sm4CbcDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2722,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2722,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2722,1
    - Dst: cryptofuzz::util::Pkcs7Unpad
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2724,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2724,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2724,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2725,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2726,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2726,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2729,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2733,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2733,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2734,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2734,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2736,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2736,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2738,1
    - Dst: wc_Sm4SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2738,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2738,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2738,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2739,1
    - Dst: wc_Sm4SetIV
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2739,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2739,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2740,1
    - Dst: wc_Sm4EcbDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2740,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2740,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2740,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2742,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2742,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2742,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2745,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2749,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2750,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2752,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2752,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2754,1
    - Dst: wc_Sm4SetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2754,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2754,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2754,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2755,1
    - Dst: wc_Sm4CcmDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2755,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2758,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2759,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2760,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2761,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2762,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2763,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2764,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2765,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2767,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2767,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2767,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2770,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2774,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2775,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2777,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2777,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2779,1
    - Dst: wc_Sm4GcmSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2779,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2779,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2779,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2780,1
    - Dst: wc_Sm4GcmDecrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2780,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2783,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2784,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2785,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2786,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2787,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2788,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2789,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2790,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2792,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2792,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2792,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2798,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2799,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2800,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2802,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2803,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2805,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2805,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2809,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2813,1
    - Dst: wc_AesEaxDecryptAuth
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2813,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2814,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2815,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2817,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2818,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2819,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2820,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2821,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2822,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2823,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2824,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2826,1
    - Dst: wc_AesEaxInit
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2827,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2829,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2830,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2831,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2832,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2833,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2834,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2838,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2841,1
    - Dst: wc_AesEaxDecryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2842,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2852,1
    - Dst: wc_AesEaxDecryptFinal
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2853,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2855,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2856,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2859,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2859,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2859,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2867,1
    - Dst: wc_AesFree
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2867,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2872,1
    - Dst: wc_AesEaxFree
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2872,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2876,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2877,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2879,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 455
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 2882
      start: 2076
    functionDepth: 3
    functionLinenumber: 2076
    functionLinenumberEnd: 2882
    functionName: cryptofuzz::module::wolfCrypt::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - wc_Des_EcbDecrypt
    - wc_AesCcmDecrypt
    - wc_Sm4CbcDecrypt
    - wc_Arc4SetKey
    - cipher::cipherType::Get
    - wc_Des3_SetKey
    - tag::Get
    - wc_Sm4GcmSetKey
    - wc_AesCtrEncrypt
    - wc_Sm4SetIV
    - CF_CHECK_EQ
    - wc_Sm4GcmDecrypt
    - wc_ChaCha20Poly1305_Init
    - wc_Arc4Init
    - wc_AesEaxDecryptUpdate
    - cipher::iv::GetPtr
    - wc_ChaCha20Poly1305_Decrypt
    - cryptofuzz::util::ToParts
    - wc_AesSetKeyDirect
    - wc_AesCbcDecrypt
    - wc_Arc4Process
    - wc_AesKeyUnWrap
    - wc_AesCfb1Decrypt
    - wc_Des_CbcDecrypt
    - wc_Des3Init
    - wc_ChaCha20Poly1305_Final
    - wc_Des_SetKey
    - std::vector<uint8_t>
    - aad::GetSize
    - wc_AesEaxFree
    - wc_AesEaxDecryptAuth
    - wc_Des3_CbcDecrypt
    - wc_CamelliaSetKey
    - Datasource::Get
    - wc_Sm4SetKey
    - wc_GmacVerify
    - wc_CamelliaCbcDecrypt
    - wc_AesCcmSetKey
    - wc_AesInit
    - CF_CHECK_GTE
    - tag::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetPtr
    - CF_NORET
    - wc_ChaCha20Poly1305_UpdateAad
    - wc_Chacha_SetKey
    - ciphertext::GetSize
    - wc_AesCfbDecrypt
    - cryptofuzz::module::wolfCrypt_detail::OpSymmetricDecrypt_AES_GCM
    - CF_ASSERT
    - WC_CHECK_EQ
    - modifier::GetPtr
    - component::Cleartext
    - wc_AesXtsSetKey
    - wc_AesCfb8Decrypt
    - memcpy
    - cipher::iv::GetSize
    - wc_Chacha_Process
    - cryptofuzz::util::free
    - wc_XChaCha20Poly1305_Decrypt
    - wc_AesEcbDecrypt
    - cipher::key::GetSize
    - wc_AesEaxInit
    - tag::GetPtr
    - aad::GetPtr
    - CF_CHECK_GT
    - wc_AesXtsDecrypt
    - ciphertext::GetPtr
    - wc_Sm4CcmDecrypt
    - wc_AesSivDecrypt
    - Buffer
    - auto::data
    - wc_ChaCha20Poly1305_CheckTag
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - CF_CIPHER
    - wc_AesOfbDecrypt
    - wc_AesEaxDecryptFinal
    - wc_AesSetKey
    - wc_Sm4EcbDecrypt
    - wc_AesFree
    - CF_CHECK_NE
    - cryptofuzz::util::Pkcs7Unpad
    - wc_ChaCha20Poly1305_UpdateData
    - modifier::GetSize
    - wc_Chacha_SetIV
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> wolfCrypt::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2886,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2886,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2891,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2891,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2892,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2902,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2906,1
    - Dst: wc_AesCmacGenerate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2906,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2909,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2910,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2911,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2912,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2917,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2919,1
    - Dst: wc_InitCmac
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2919,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2919,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2919,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2924,1
    - Dst: wc_CmacUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2924,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2929,1
    - Dst: wc_CmacFinal
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2929,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2930,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2943,1
    - Dst: wc_AesCmacVerify
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2943,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2946,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2947,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2948,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2949,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 2956
      start: 2884
    functionDepth: 4
    functionLinenumber: 2884
    functionLinenumberEnd: 2956
    functionName: cryptofuzz::module::wolfCrypt::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - wc_AesCmacVerify
    - CF_ASSERT
    - WC_CHECK_EQ
    - cipher::cipherType::Get
    - modifier::GetPtr
    - wc_InitCmac
    - wc_CmacUpdate
    - Datasource::Get
    - wc_AesCmacGenerate
    - wc_CmacFinal
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - generate_HMAC
    - CF_CIPHER
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - cleartext::GetSize
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> wolfCrypt::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2960,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2960,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2961,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toHashType
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2965,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2967,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2969,1
    - Dst: wc_PKCS12_PBKDF
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2969,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2970,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2971,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2972,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2973,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2979,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2982,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 2987
      start: 2958
    functionDepth: 2
    functionLinenumber: 2958
    functionLinenumberEnd: 2987
    functionName: cryptofuzz::module::wolfCrypt::OpKDF_PBKDF
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - WC_CHECK_EQ
    - wc_PKCS12_PBKDF
    - salt::GetPtr
    - modifier::GetPtr
    - password::GetPtr
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::toHashType
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - salt::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> wolfCrypt::OpKDF_PBKDF(operation::KDF_PBKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2991,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2991,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2992,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toHashType
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2996,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:2998,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3000,1
    - Dst: wc_PBKDF1
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3001,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3003,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3004,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3005,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3006,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3011,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3014,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF1
    constantsTouched: []
    func_position:
      end: 3019
      start: 2989
    functionDepth: 2
    functionLinenumber: 2989
    functionLinenumberEnd: 3019
    functionName: cryptofuzz::module::wolfCrypt::OpKDF_PBKDF1
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - modifier::GetPtr
    - password::GetPtr
    - wc_PBKDF1
    - CF_CHECK_EQ
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::toHashType
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - salt::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> wolfCrypt::OpKDF_PBKDF1(operation::KDF_PBKDF1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3023,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3023,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3024,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toHashType
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3028,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3030,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3032,1
    - Dst: wc_PBKDF2
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3033,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3035,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3036,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3037,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3038,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3043,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3046,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 3051
      start: 3021
    functionDepth: 2
    functionLinenumber: 3021
    functionLinenumberEnd: 3051
    functionName: cryptofuzz::module::wolfCrypt::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - modifier::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - password::GetSize
    - wc_PBKDF2
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::toHashType
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - salt::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - cryptofuzz::util::free
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> wolfCrypt::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3055,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3055,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3056,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3062,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3063,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3065,1
    - Dst: wc_scrypt
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3065,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3067,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3068,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3069,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3070,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3076,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3079,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 3084
      start: 3053
    functionDepth: 2
    functionLinenumber: 3053
    functionLinenumberEnd: 3084
    functionName: cryptofuzz::module::wolfCrypt::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - WC_CHECK_EQ
    - salt::GetPtr
    - modifier::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - wc_scrypt
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - salt::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> wolfCrypt::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3088,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3088,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3089,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toHashType
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3093,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3095,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3097,1
    - Dst: wc_HKDF
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3097,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3099,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3100,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3101,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3102,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3103,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3104,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3108,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3111,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 3116
      start: 3086
    functionDepth: 2
    functionLinenumber: 3086
    functionLinenumberEnd: 3116
    functionName: cryptofuzz::module::wolfCrypt::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - WC_CHECK_EQ
    - salt::GetPtr
    - modifier::GetPtr
    - password::GetPtr
    - info::GetSize
    - info::GetPtr
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::toHashType
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - wc_HKDF
    - salt::GetSize
    - cryptofuzz::util::free
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> wolfCrypt::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3120,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3120,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3121,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3125,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3125,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3125,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3127,1
    - Dst: wc_PRF_TLSv1
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3127,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3129,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3130,1
    - Dst: seed::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3133,1
    - Dst: seed::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3134,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3138,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3141,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 3146
      start: 3118
    functionDepth: 2
    functionLinenumber: 3118
    functionLinenumberEnd: 3146
    functionName: cryptofuzz::module::wolfCrypt::OpKDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - WC_CHECK_EQ
    - secret::GetSize
    - secret::GetPtr
    - wc_PRF_TLSv1
    - modifier::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - cryptofuzz::tests::test_ECC_PrivateKey
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - CF_DIGEST
    - cryptofuzz::util::free
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - seed::GetSize
    - modifier::GetSize
    - seed::GetPtr
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> wolfCrypt::OpKDF_TLS1_PRF(operation::KDF_TLS1_PRF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3150,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3150,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3151,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toHashType
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3155,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3157,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3159,1
    - Dst: wc_X963_KDF
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3159,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3161,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3162,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3163,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3164,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3168,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3171,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_X963
    constantsTouched: []
    func_position:
      end: 3176
      start: 3148
    functionDepth: 2
    functionLinenumber: 3148
    functionLinenumberEnd: 3176
    functionName: cryptofuzz::module::wolfCrypt::OpKDF_X963
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - WC_CHECK_EQ
    - secret::GetSize
    - secret::GetPtr
    - modifier::GetPtr
    - wc_X963_KDF
    - info::GetSize
    - info::GetPtr
    - cryptofuzz::tests::test_ECC_PrivateKey
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::toHashType
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::util::free
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> wolfCrypt::OpKDF_X963(operation::KDF_X963&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3184,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3184,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3187,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3189,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3195,1
    - Dst: wc_SRTP_KDF
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3196,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3197,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3197,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3198,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3198,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3206,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3207,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3208,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3212,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3213,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3214,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SRTP
    constantsTouched: []
    func_position:
      end: 3219
      start: 3178
    functionDepth: 2
    functionLinenumber: 3178
    functionLinenumberEnd: 3219
    functionName: cryptofuzz::module::wolfCrypt::OpKDF_SRTP
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - WC_CHECK_EQ
    - salt::GetPtr
    - modifier::GetPtr
    - key::GetSize
    - wc_SRTP_KDF
    - memcpy
    - cryptofuzz::util::free
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - key::GetPtr
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key3>
    signature: std::optional<component::Key3> wolfCrypt::OpKDF_SRTP(operation::KDF_SRTP&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3227,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3227,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3230,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3236,1
    - Dst: wc_SRTCP_KDF
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3237,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3238,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3238,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3239,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3239,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3247,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3248,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3249,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3253,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3254,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3255,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SRTCP
    constantsTouched: []
    func_position:
      end: 3260
      start: 3221
    functionDepth: 2
    functionLinenumber: 3221
    functionLinenumberEnd: 3260
    functionName: cryptofuzz::module::wolfCrypt::OpKDF_SRTCP
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - WC_CHECK_EQ
    - wc_SRTCP_KDF
    - salt::GetPtr
    - modifier::GetPtr
    - key::GetSize
    - memcpy
    - cryptofuzz::util::free
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - key::GetPtr
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Key3>
    signature: std::optional<component::Key3> wolfCrypt::OpKDF_SRTCP(operation::KDF_SRTCP&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3268,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3269,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3272,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3273,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3274,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3275,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3276,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3277,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3278,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3279,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3280,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3283,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3284,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3285,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3286,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3289,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3290,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3291,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3292,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3293,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3294,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3295,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3298,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3299,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3300,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3301,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3302,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3304,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3307,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3307,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3307,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3311,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 3312
      start: 3263
    functionDepth: 1
    functionLinenumber: 3263
    functionLinenumberEnd: 3312
    functionName: cryptofuzz::module::wolfCrypt_detail::toCurveID
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 1
    functionsReached:
    - std::map::end
    - std::map::find
    - CF_ECC_CURVE
    - std::map::at
    - Get
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> toCurveID(const component::CurveType& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3316,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3316,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpECC_PrivateToPublic_Curve25519
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3317,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3318,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3318,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpECC_PrivateToPublic_Curve448
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3319,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3320,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3320,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpECC_PrivateToPublic_Ed25519
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3321,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3322,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3322,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpECC_PrivateToPublic_Ed448
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3323,1
    - Dst: wolfCrypt_detail::OpECC_PrivateToPublic_Generic
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 3327
      start: 3315
    functionDepth: 1
    functionLinenumber: 3315
    functionLinenumberEnd: 3327
    functionName: cryptofuzz::module::wolfCrypt::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::OpECC_PrivateToPublic_Curve25519
    - cryptofuzz::module::wolfCrypt_detail::OpECC_PrivateToPublic_Ed25519
    - CF_ECC_CURVE
    - cryptofuzz::module::wolfCrypt_detail::OpECC_PrivateToPublic_Ed448
    - cryptofuzz::module::wolfCrypt_detail::OpECC_PrivateToPublic_Curve448
    - wolfCrypt_detail::OpECC_PrivateToPublic_Generic
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> wolfCrypt::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3330,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3330,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpECC_ValidatePubkey_Curve25519
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3333,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3334,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3334,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpECC_ValidatePubkey_Curve448
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3337,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3338,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3338,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpECC_ValidatePubkey_Ed25519
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3341,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3342,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3342,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpECC_ValidatePubkey_Ed448
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3345,1
    - Dst: wolfCrypt_detail::OpECC_ValidatePubkey_Generic
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 3349
      start: 3329
    functionDepth: 1
    functionLinenumber: 3329
    functionLinenumberEnd: 3349
    functionName: cryptofuzz::module::wolfCrypt::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - CF_ECC_CURVE
    - cryptofuzz::module::wolfCrypt_detail::OpECC_ValidatePubkey_Curve448
    - wolfCrypt_detail::OpECC_ValidatePubkey_Generic
    - cryptofuzz::module::wolfCrypt_detail::OpECC_ValidatePubkey_Ed448
    - cryptofuzz::module::wolfCrypt_detail::OpECC_ValidatePubkey_Curve25519
    - cryptofuzz::module::wolfCrypt_detail::OpECC_ValidatePubkey_Ed25519
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> wolfCrypt::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3353,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3353,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3354,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3373,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3373,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3374,1
    - Dst: wc_ed25519_init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3374,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3377,1
    - Dst: wc_ed25519_make_key
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3377,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3377,1
    - Dst: wc_ed25519_check_key
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3380,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3381,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3389,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3390,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3392,1
    - Dst: wc_ed25519_export_private_only
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3392,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3393,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3396,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3396,1
    - Dst: std::optional::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3398,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3406,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3407,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3409,1
    - Dst: wc_ed25519_export_public
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3409,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3410,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3413,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3413,1
    - Dst: std::optional::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3415,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3418,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3418,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3419,1
    - Dst: wc_ed448_init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3419,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3422,1
    - Dst: wc_ed448_make_key
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3422,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3422,1
    - Dst: wc_ed448_check_key
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3425,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3426,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3434,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3435,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3437,1
    - Dst: wc_ed448_export_private_only
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3437,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3438,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3441,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3441,1
    - Dst: std::optional::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3443,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3451,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3452,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3454,1
    - Dst: wc_ed448_export_public
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3454,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3455,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3458,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3458,1
    - Dst: std::optional::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3460,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3463,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3463,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3464,1
    - Dst: wc_curve25519_init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3464,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3467,1
    - Dst: wc_curve25519_make_key
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3467,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3467,1
    - Dst: wc_curve25519_check_public
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3470,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3471,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3479,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3480,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3482,1
    - Dst: wc_curve25519_export_private_raw_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3482,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3483,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3486,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3486,1
    - Dst: std::optional::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3488,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3496,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3497,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3499,1
    - Dst: wc_curve25519_export_public_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3499,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3500,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3503,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3503,1
    - Dst: std::optional::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3505,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3508,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3508,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3509,1
    - Dst: wc_curve448_init
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3509,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3512,1
    - Dst: wc_curve448_make_key
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3512,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3512,1
    - Dst: wc_curve448_check_public
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3515,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3516,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3524,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3525,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3527,1
    - Dst: wc_curve448_export_private_raw_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3527,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3528,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3531,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3531,1
    - Dst: std::optional::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3533,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3541,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3542,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3544,1
    - Dst: wc_curve448_export_public_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3544,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3545,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3548,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3548,1
    - Dst: std::optional::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3550,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3558,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::toCurveID
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3558,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3560,1
    - Dst: wc_ecc_key_new
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3560,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3565,1
    - Dst: wc_ecc_make_key_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3565,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3565,1
    - Dst: wc_ecc_check_key
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3568,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3569,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3577,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3577,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3578,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3578,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3579,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3579,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3587,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3588,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3588,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3592,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3593,1
    - Dst: wc_ed25519_free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3596,1
    - Dst: wc_ed448_free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3600,1
    - Dst: wc_curve25519_free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3604,1
    - Dst: wc_curve448_free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3608,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3611,1
    - Dst: wc_ecc_key_free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3611,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3613,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 165
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 3616
      start: 3351
    functionDepth: 3
    functionLinenumber: 3351
    functionLinenumberEnd: 3616
    functionName: cryptofuzz::module::wolfCrypt::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - wc_curve25519_export_private_raw_ex
    - wc_ed25519_init
    - cryptofuzz::module::wolfCrypt_detail::toCurveID
    - wc_ed25519_free
    - wc_ed25519_check_key
    - wc_curve25519_free
    - wc_ed25519_export_private_only
    - cryptofuzz::module::wolfCrypt_detail::GetRNG
    - wc_curve448_init
    - wc_ecc_key_new
    - std::string
    - wolfCrypt_bignum::Bignum::ToDecString
    - CF_ASSERT
    - wc_ed448_export_private_only
    - curveType::Get
    - WC_CHECK_EQ
    - modifier::GetPtr
    - wc_ed25519_make_key
    - wc_curve25519_export_public_ex
    - wc_ecc_key_free
    - wc_curve25519_check_public
    - Datasource::Get
    - wc_ed25519_export_public
    - std::optional::ToTrimmedString
    - CF_ECC_CURVE
    - wc_curve448_make_key
    - wc_curve25519_make_key
    - wc_curve448_export_private_raw_ex
    - wc_ed448_check_key
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - wc_curve25519_init
    - wc_curve448_export_public_ex
    - wc_ecc_make_key_ex
    - wc_ecc_check_key
    - cryptofuzz::util::free
    - wc_ed448_export_public
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - wc_curve448_check_public
    - wc_ed448_make_key
    - cryptofuzz::util::malloc
    - wc_ed448_init
    - CF_NORET
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
    - CF_CHECK_NE
    - wc_curve448_free
    - modifier::GetSize
    - wc_ed448_free
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> wolfCrypt::OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3620,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3620,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3621,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3631,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3634,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3635,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3638,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3639,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3643,1
    - Dst: prime::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3643,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3644,1
    - Dst: base::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3644,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3647,1
    - Dst: wc_InitDhKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3647,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3649,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3649,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3650,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3650,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3651,1
    - Dst: wc_DhSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3651,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3651,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3651,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3651,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3651,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3653,1
    - Dst: wc_DhGenerateKeyPair
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3653,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3653,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3659,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3659,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3659,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3660,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3660,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3660,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3662,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3662,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3663,1
    - Dst: ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3663,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3669,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3670,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3672,1
    - Dst: wc_FreeDhKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3672,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DH_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 3676
      start: 3618
    functionDepth: 3
    functionLinenumber: 3618
    functionLinenumberEnd: 3676
    functionName: cryptofuzz::module::wolfCrypt::OpDH_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - base::GetSize
    - cryptofuzz::module::wolfCrypt_detail::GetRNG
    - memset
    - wolfCrypt_bignum::Bignum::ToDecString
    - CF_ASSERT
    - WC_CHECK_EQ
    - modifier::GetPtr
    - wc_InitDhKey
    - GetPtr
    - wc_FreeDhKey
    - wolfCrypt_bignum::Bignum::GetPtr
    - Datasource::Get
    - CF_CHECK_EQ
    - std::optional::size
    - wc_DhSetKey
    - std::optional::data
    - ToDecString
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::util::free
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - prime::GetSize
    - mp_read_unsigned_bin
    - cryptofuzz::util::malloc
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    - wc_DhGenerateKeyPair
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::DH_KeyPair>
    signature: std::optional<component::DH_KeyPair> wolfCrypt::OpDH_GenerateKeyPair(operation::DH_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3680,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3680,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3681,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3691,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3697,1
    - Dst: prime::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3697,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3698,1
    - Dst: base::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3698,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3699,1
    - Dst: pub::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3699,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3700,1
    - Dst: priv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3700,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3703,1
    - Dst: wc_InitDhKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3703,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3705,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3705,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3706,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3706,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3707,1
    - Dst: wc_DhSetKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3707,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3707,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3707,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3707,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3707,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3709,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3709,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3710,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3710,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3711,1
    - Dst: wc_DhAgree
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3711,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3711,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3711,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3711,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3711,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3716,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3716,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3716,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3717,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3717,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3724,1
    - Dst: wc_FreeDhKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3724,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DH_Derive
    constantsTouched: []
    func_position:
      end: 3728
      start: 3678
    functionDepth: 2
    functionLinenumber: 3678
    functionLinenumberEnd: 3728
    functionName: cryptofuzz::module::wolfCrypt::OpDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_LT
    - wc_DhAgree
    - base::GetSize
    - memset
    - wolfCrypt_bignum::Bignum::ToDecString
    - CF_ASSERT
    - WC_CHECK_EQ
    - modifier::GetPtr
    - wc_InitDhKey
    - wc_FreeDhKey
    - wolfCrypt_bignum::Bignum::GetPtr
    - CF_CHECK_EQ
    - std::optional::size
    - priv::GetSize
    - wc_DhSetKey
    - std::optional::data
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - pub::GetSize
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - prime::GetSize
    - mp_read_unsigned_bin
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> wolfCrypt::OpDH_Derive(operation::DH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt::OpECCSI_Sign
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECCSI_Sign
    constantsTouched: []
    func_position:
      end: 3732
      start: 3730
    functionDepth: 1
    functionLinenumber: 3730
    functionLinenumberEnd: 3732
    functionName: cryptofuzz::module::wolfCrypt::OpECCSI_Sign
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::wolfCrypt::OpECCSI_Sign
    linkageType: ''
    returnType: std::optional<component::ECCSI_Signature>
    signature: std::optional<component::ECCSI_Signature> wolfCrypt::OpECCSI_Sign(operation::ECCSI_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3737,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3737,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpECDSA_Sign_ed25519
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3738,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3739,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3739,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpECDSA_Sign_ed448
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3740,1
    - Dst: wolfCrypt_detail::OpECDSA_Sign_Generic
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 3744
      start: 3734
    functionDepth: 1
    functionLinenumber: 3734
    functionLinenumberEnd: 3744
    functionName: cryptofuzz::module::wolfCrypt::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - cryptofuzz::module::wolfCrypt_detail::OpECDSA_Sign_ed448
    - wolfCrypt_detail::OpECDSA_Sign_Generic
    - cryptofuzz::module::wolfCrypt_detail::OpECDSA_Sign_ed25519
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> wolfCrypt::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt::OpECCSI_Verify
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECCSI_Verify
    constantsTouched: []
    func_position:
      end: 3748
      start: 3746
    functionDepth: 1
    functionLinenumber: 3746
    functionLinenumberEnd: 3748
    functionName: cryptofuzz::module::wolfCrypt::OpECCSI_Verify
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::wolfCrypt::OpECCSI_Verify
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> wolfCrypt::OpECCSI_Verify(operation::ECCSI_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3751,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3751,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpECDSA_Verify_ed25519
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3752,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3753,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3753,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::OpECDSA_Verify_ed448
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3754,1
    - Dst: wolfCrypt_detail::OpECDSA_Verify_Generic
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 3758
      start: 3750
    functionDepth: 1
    functionLinenumber: 3750
    functionLinenumberEnd: 3758
    functionName: cryptofuzz::module::wolfCrypt::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - wolfCrypt_detail::OpECDSA_Verify_Generic
    - CF_ECC_CURVE
    - cryptofuzz::module::wolfCrypt_detail::OpECDSA_Verify_ed448
    - cryptofuzz::module::wolfCrypt_detail::OpECDSA_Verify_ed25519
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> wolfCrypt::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3766,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3766,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3767,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3770,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3772,1
    - Dst: wc_InitDsaKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3772,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3776,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3776,1
    - Dst: parameters::p::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3776,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3779,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3779,1
    - Dst: parameters::q::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3779,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3782,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3782,1
    - Dst: parameters::g::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3782,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3785,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3785,1
    - Dst: pub::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3785,1
    - Dst: mp_unsigned_bin_size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3789,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3795,1
    - Dst: signature::first::IsNegative
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3795,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3796,1
    - Dst: signature::second::IsNegative
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3796,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3798,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3798,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3799,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3799,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3800,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3800,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3800,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3800,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3801,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3801,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3801,1
    - Dst: end
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3801,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3803,1
    - Dst: auto::resize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3804,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3806,1
    - Dst: wc_DsaVerify
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3806,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3806,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3806,1
    - Dst: wc_FreeDsaKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3812,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_Verify
    constantsTouched: []
    func_position:
      end: 3817
      start: 3760
    functionDepth: 2
    functionLinenumber: 3760
    functionLinenumberEnd: 3817
    functionName: cryptofuzz::module::wolfCrypt::OpDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::optional::begin
    - end
    - memset
    - mp_unsigned_bin_size
    - std::optional::end
    - parameters::p::ToString
    - begin
    - modifier::GetPtr
    - wc_InitDsaKey
    - wolfCrypt_bignum::Bignum::Set
    - signature::first::IsNegative
    - std::vector::data
    - cleartext::Get
    - std::vector::insert
    - CF_CHECK_EQ
    - CF_CHECK_FALSE
    - wc_DsaVerify
    - parameters::g::ToString
    - auto::data
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - auto::resize
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - std::vector::end
    - pub::ToString
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    - wc_FreeDsaKey
    - parameters::q::ToString
    - CF_CHECK_NE
    - signature::second::IsNegative
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> wolfCrypt::OpDSA_Verify(operation::DSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv::IsZero
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3825,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3828,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3828,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3829,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3843,1
    - Dst: wc_InitDsaKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3843,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3846,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3846,1
    - Dst: parameters::p::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3846,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3848,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3848,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3849,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3849,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3850,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3850,1
    - Dst: parameters::q::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3850,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3852,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3852,1
    - Dst: parameters::g::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3852,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3854,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3854,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3854,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3856,1
    - Dst: mp_exptmod_ex
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3856,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3860,1
    - Dst: wc_DsaKeyToDer
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3860,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3864,1
    - Dst: wc_InitDsaKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3864,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3868,1
    - Dst: wc_DsaPrivateKeyDecode
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3868,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3870,1
    - Dst: auto::resize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3871,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3873,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3875,1
    - Dst: wc_DsaSign
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3875,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3875,1
    - Dst: mp_unsigned_bin_size
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3878,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3887,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3887,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3887,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3888,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3888,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3888,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3890,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3890,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3891,1
    - Dst: ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3891,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3894,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3894,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3896,1
    - Dst: wc_FreeDsaKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3901,1
    - Dst: wc_FreeDsaKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3904,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3906,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3907,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_Sign
    constantsTouched: []
    func_position:
      end: 3911
      start: 3819
    functionDepth: 3
    functionLinenumber: 3819
    functionLinenumberEnd: 3911
    functionName: cryptofuzz::module::wolfCrypt::OpDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - mp_unsigned_bin_size
    - wolfCrypt_bignum::Bignum::ToDecString
    - parameters::p::ToString
    - wc_DsaPrivateKeyDecode
    - WC_CHECK_EQ
    - modifier::GetPtr
    - GetPtr
    - wc_DsaKeyToDer
    - priv::ToString
    - wolfCrypt_bignum::Bignum::GetPtr
    - wc_InitDsaKey
    - wolfCrypt_bignum::Bignum::Set
    - cryptofuzz::tests::test_ECDSA_Signature
    - cleartext::Get
    - CF_CHECK_EQ
    - priv::IsZero
    - parameters::g::ToString
    - auto::data
    - ToDecString
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - auto::resize
    - cryptofuzz::util::free
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - wc_DsaSign
    - mp_exptmod_ex
    - mp_read_unsigned_bin
    - cryptofuzz::util::malloc
    - wc_FreeDsaKey
    - parameters::q::ToString
    - CF_CHECK_NE
    - parameters::q::ToTrimmedString
    - modifier::GetSize
    - CF_CHECK_GT
    linkageType: ''
    returnType: std::optional<component::DSA_Signature>
    signature: std::optional<component::DSA_Signature> wolfCrypt::OpDSA_Sign(operation::DSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3920,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3920,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3921,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3926,1
    - Dst: wc_InitDsaKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3926,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3927,1
    - Dst: wc_MakeDsaParameters
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3927,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3927,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3934,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3934,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3935,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3935,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3936,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3936,1
    - Dst: wc_FreeDsaKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3941,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_GenerateParameters
    constantsTouched: []
    func_position:
      end: 3946
      start: 3913
    functionDepth: 3
    functionLinenumber: 3913
    functionLinenumberEnd: 3946
    functionName: cryptofuzz::module::wolfCrypt::OpDSA_GenerateParameters
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - CF_CHECK_EQ
    - cryptofuzz::module::wolfCrypt_detail::GetRNG
    - wc_FreeDsaKey
    - wc_MakeDsaParameters
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - wolfCrypt_bignum::Bignum::ToDecString
    - wc_InitDsaKey
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::DSA_Parameters>
    signature: std::optional<component::DSA_Parameters> wolfCrypt::OpDSA_GenerateParameters(operation::DSA_GenerateParameters&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3954,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3954,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3955,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3961,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3961,1
    - Dst: g::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3961,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3962,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3962,1
    - Dst: p::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3962,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3963,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3963,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3963,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3964,1
    - Dst: mp_exptmod
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3964,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3964,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3964,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3964,1
    - Dst: wolfCrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3964,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 3971
      start: 3948
    functionDepth: 2
    functionLinenumber: 3948
    functionLinenumberEnd: 3971
    functionName: cryptofuzz::module::wolfCrypt::OpDSA_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - CF_CHECK_EQ
    - mp_exptmod
    - p::ToString
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - priv::ToString
    - wolfCrypt_bignum::Bignum::GetPtr
    - g::ToString
    - wolfCrypt_bignum::Bignum::Set
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> wolfCrypt::OpDSA_PrivateToPublic(operation::DSA_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3979,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3979,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3980,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3985,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3987,1
    - Dst: wc_InitDsaKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3987,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3990,1
    - Dst: p::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3990,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3991,1
    - Dst: q::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3991,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3992,1
    - Dst: g::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3992,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3993,1
    - Dst: wc_DsaImportParamsRaw
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3993,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3993,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3993,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3993,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3996,1
    - Dst: wc_MakeDsaKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3996,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::GetRNG
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:3996,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4002,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4002,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4003,1
    - Dst: wolfCrypt_bignum::Bignum::ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4003,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4008,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4008,1
    - Dst: wc_FreeDsaKey
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4012,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 4017
      start: 3973
    functionDepth: 3
    functionLinenumber: 3973
    functionLinenumberEnd: 4017
    functionName: cryptofuzz::module::wolfCrypt::OpDSA_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::GetRNG
    - memset
    - std::string
    - wolfCrypt_bignum::Bignum::ToDecString
    - g::ToTrimmedString
    - wc_MakeDsaKey
    - modifier::GetPtr
    - wc_DsaImportParamsRaw
    - wc_InitDsaKey
    - CF_CHECK_EQ
    - cryptofuzz::util::DecToHex
    - p::ToTrimmedString
    - q::ToTrimmedString
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - auto::c_str
    - wc_FreeDsaKey
    - CF_CHECK_NE
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::DSA_KeyPair>
    signature: std::optional<component::DSA_KeyPair> wolfCrypt::OpDSA_GenerateKeyPair(operation::DSA_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4021,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4021,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4022,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4043,1
    - Dst: wolfCrypt_bignum::Bignum::Randomize
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4043,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4045,1
    - Dst: wolfCrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4045,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4045,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4046,1
    - Dst: wolfCrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4046,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4046,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4047,1
    - Dst: wolfCrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4047,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4047,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4048,1
    - Dst: wolfCrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4048,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4048,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4051,1
    - Dst: wolfCrypt_bignum::BignumCluster::Save
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4051,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4053,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4054,1
    - Dst: std::make_unique<wolfCrypt_bignum::Add>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4055,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4057,1
    - Dst: std::make_unique<wolfCrypt_bignum::Sub>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4058,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4060,1
    - Dst: std::make_unique<wolfCrypt_bignum::Mul>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4061,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4063,1
    - Dst: std::make_unique<wolfCrypt_bignum::Div>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4064,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4066,1
    - Dst: std::make_unique<wolfCrypt_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4067,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4069,1
    - Dst: std::make_unique<wolfCrypt_bignum::Sqr>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4070,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4072,1
    - Dst: std::make_unique<wolfCrypt_bignum::GCD>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4073,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4075,1
    - Dst: std::make_unique<wolfCrypt_bignum::InvMod>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4076,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4078,1
    - Dst: std::make_unique<wolfCrypt_bignum::Cmp>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4079,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4081,1
    - Dst: std::make_unique<wolfCrypt_bignum::Abs>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4082,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4084,1
    - Dst: std::make_unique<wolfCrypt_bignum::Neg>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4085,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4087,1
    - Dst: std::make_unique<wolfCrypt_bignum::RShift>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4088,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4090,1
    - Dst: std::make_unique<wolfCrypt_bignum::LShift1>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4091,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4093,1
    - Dst: std::make_unique<wolfCrypt_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4094,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4096,1
    - Dst: std::make_unique<wolfCrypt_bignum::IsEq>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4097,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4099,1
    - Dst: std::make_unique<wolfCrypt_bignum::IsZero>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4100,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4102,1
    - Dst: std::make_unique<wolfCrypt_bignum::IsOne>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4103,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4105,1
    - Dst: std::make_unique<wolfCrypt_bignum::MulMod>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4106,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4108,1
    - Dst: std::make_unique<wolfCrypt_bignum::AddMod>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4109,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4111,1
    - Dst: std::make_unique<wolfCrypt_bignum::SubMod>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4112,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4114,1
    - Dst: std::make_unique<wolfCrypt_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4115,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4117,1
    - Dst: std::make_unique<wolfCrypt_bignum::Bit>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4118,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4120,1
    - Dst: std::make_unique<wolfCrypt_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4121,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4123,1
    - Dst: std::make_unique<wolfCrypt_bignum::SetBit>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4124,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4126,1
    - Dst: std::make_unique<wolfCrypt_bignum::LCM>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4127,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4129,1
    - Dst: std::make_unique<wolfCrypt_bignum::Mod>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4130,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4132,1
    - Dst: std::make_unique<wolfCrypt_bignum::IsEven>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4133,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4135,1
    - Dst: std::make_unique<wolfCrypt_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4136,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4138,1
    - Dst: std::make_unique<wolfCrypt_bignum::MSB>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4139,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4141,1
    - Dst: std::make_unique<wolfCrypt_bignum::NumBits>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4142,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4144,1
    - Dst: std::make_unique<wolfCrypt_bignum::Set>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4145,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4147,1
    - Dst: std::make_unique<wolfCrypt_bignum::Exp2>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4148,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4150,1
    - Dst: std::make_unique<wolfCrypt_bignum::NumLSZeroBits>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4151,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4153,1
    - Dst: std::make_unique<wolfCrypt_bignum::CondSet>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4154,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4156,1
    - Dst: std::make_unique<wolfCrypt_bignum::Rand>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4157,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4159,1
    - Dst: std::make_unique<wolfCrypt_bignum::Zero>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4160,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4162,1
    - Dst: std::make_unique<wolfCrypt_bignum::Prime>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4163,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4165,1
    - Dst: std::make_unique<wolfCrypt_bignum::IsPrime>
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4166,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4170,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4171,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4171,1
    - Dst: wolfCrypt_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4173,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4176,1
    - Dst: wolfCrypt_bignum::BignumCluster::EqualsCache
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4176,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4184,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 135
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 4187
      start: 4019
    functionDepth: 2
    functionLinenumber: 4019
    functionLinenumberEnd: 4187
    functionName: cryptofuzz::module::wolfCrypt::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<wolfCrypt_bignum::Zero>
    - std::make_unique<wolfCrypt_bignum::Set>
    - std::make_unique<wolfCrypt_bignum::Add>
    - std::make_unique<wolfCrypt_bignum::ExpMod>
    - std::make_unique<wolfCrypt_bignum::LShift1>
    - std::make_unique<wolfCrypt_bignum::SqrMod>
    - wolfCrypt_bignum::BignumCluster::Set
    - std::make_unique<wolfCrypt_bignum::SubMod>
    - std::make_unique<wolfCrypt_bignum::Bit>
    - std::make_unique<wolfCrypt_bignum::NumBits>
    - std::make_unique<wolfCrypt_bignum::SetBit>
    - std::make_unique<wolfCrypt_bignum::IsZero>
    - std::make_unique<wolfCrypt_bignum::NumLSZeroBits>
    - std::make_unique<wolfCrypt_bignum::Sqr>
    - std::make_unique<wolfCrypt_bignum::Sub>
    - std::make_unique<wolfCrypt_bignum::Exp2>
    - std::make_unique<wolfCrypt_bignum::Prime>
    - CF_CALCOP
    - std::make_unique<wolfCrypt_bignum::AddMod>
    - std::make_unique<wolfCrypt_bignum::IsNeg>
    - std::make_unique<wolfCrypt_bignum::MulMod>
    - std::make_unique<wolfCrypt_bignum::IsEven>
    - bn2::ToString
    - modifier::GetPtr
    - std::make_unique<wolfCrypt_bignum::IsOdd>
    - std::make_unique<wolfCrypt_bignum::Neg>
    - bn0::ToString
    - std::make_unique<wolfCrypt_bignum::Abs>
    - std::make_unique<wolfCrypt_bignum::CmpAbs>
    - CF_ASSERT
    - wolfCrypt_bignum::BignumCluster::EqualsCache
    - std::make_unique<wolfCrypt_bignum::RShift>
    - std::make_unique<wolfCrypt_bignum::MSB>
    - std::make_unique<wolfCrypt_bignum::InvMod>
    - bn3::ToString
    - std::make_unique<wolfCrypt_bignum::GCD>
    - std::make_unique<wolfCrypt_bignum::Mul>
    - wolfCrypt_bignum::BignumCluster::Save
    - CF_CHECK_EQ
    - std::make_unique<wolfCrypt_bignum::Cmp>
    - wolfCrypt_bignum::Bignum::Randomize
    - std::make_unique<wolfCrypt_bignum::IsPrime>
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - std::make_unique<wolfCrypt_bignum::Rand>
    - std::make_unique<wolfCrypt_bignum::IsOne>
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - std::make_unique<wolfCrypt_bignum::IsEq>
    - bn1::ToString
    - calcOp::Get
    - CF_NORET
    - std::make_unique<wolfCrypt_bignum::LCM>
    - std::make_unique<wolfCrypt_bignum::Mod>
    - std::make_unique<wolfCrypt_bignum::CondSet>
    - CF_CHECK_NE
    - std::unique_ptr::Run
    - wolfCrypt_bignum::Bignum::ToComponentBignum
    - modifier::GetSize
    - std::make_unique<wolfCrypt_bignum::Div>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> wolfCrypt::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wolfCrypt_detail::OpECIES_Encrypt_Generic
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECIES_Encrypt
    constantsTouched: []
    func_position:
      end: 4191
      start: 4189
    functionDepth: 0
    functionLinenumber: 4189
    functionLinenumberEnd: 4191
    functionName: cryptofuzz::module::wolfCrypt::OpECIES_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - wolfCrypt_detail::OpECIES_Encrypt_Generic
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> wolfCrypt::OpECIES_Encrypt(operation::ECIES_Encrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wolfCrypt_detail::OpECIES_Decrypt_Generic
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECIES_Decrypt
    constantsTouched: []
    func_position:
      end: 4195
      start: 4193
    functionDepth: 0
    functionLinenumber: 4193
    functionLinenumberEnd: 4195
    functionName: cryptofuzz::module::wolfCrypt::OpECIES_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - wolfCrypt_detail::OpECIES_Decrypt_Generic
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> wolfCrypt::OpECIES_Decrypt(operation::ECIES_Decrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Zig::OpECC_Point_Add
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 4199
      start: 4197
    functionDepth: 4
    functionLinenumber: 4197
    functionLinenumberEnd: 4199
    functionName: cryptofuzz::module::wolfCrypt::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Zig::OpECC_Point_Add
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> wolfCrypt::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Zig::OpECC_Point_Mul
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 4203
      start: 4201
    functionDepth: 4
    functionLinenumber: 4201
    functionLinenumberEnd: 4203
    functionName: cryptofuzz::module::wolfCrypt::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Zig::OpECC_Point_Mul
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> wolfCrypt::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Zig::OpECC_Point_Dbl
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 4207
      start: 4205
    functionDepth: 4
    functionLinenumber: 4205
    functionLinenumberEnd: 4207
    functionName: cryptofuzz::module::wolfCrypt::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Zig::OpECC_Point_Dbl
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> wolfCrypt::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libecc::OpECC_Point_Cmp
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Cmp
    constantsTouched: []
    func_position:
      end: 4211
      start: 4209
    functionDepth: 5
    functionLinenumber: 4209
    functionLinenumberEnd: 4211
    functionName: cryptofuzz::module::wolfCrypt::OpECC_Point_Cmp
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libecc::OpECC_Point_Cmp
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> wolfCrypt::OpECC_Point_Cmp(operation::ECC_Point_Cmp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::trezor_firmware::OpECDH_Derive
      Src: /src/cryptofuzz/modules/wolfcrypt/module.cpp:4214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 4215
      start: 4213
    functionDepth: 4
    functionLinenumber: 4213
    functionLinenumberEnd: 4215
    functionName: cryptofuzz::module::wolfCrypt::OpECDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::trezor_firmware::OpECDH_Derive
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> wolfCrypt::OpECDH_Derive(operation::ECDH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:26,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:26,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:27,1
    - Dst: wc_ed448_import_private_only
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' key'
    - priv
    - ' ds'
    argTypes:
    - ed448_key
    - component::Bignum
    - Datasource
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::wolfCrypt_detail::ed448LoadPrivateKey
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - wc_ed448_import_private_only
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    linkageType: ''
    returnType: bool
    signature: bool ed448LoadPrivateKey(ed448_key& key, component::Bignum priv, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:38,1
    - Dst: wc_ed448_make_public
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:38,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - ed448_key
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: cryptofuzz::module::wolfCrypt_detail::ed448GetPublicKeyAsVector
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp
    functionUses: 0
    functionsReached:
    - WC_CHECK_EQ
    - std::vector<uint8_t>
    - wc_ed448_make_public
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> ed448GetPublicKeyAsVector(ed448_key&
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:50,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed448GetPublicKeyAsVector
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:50,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:51,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:51,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:51,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:51,1
    - Dst: std::optional::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - ' ds'
    argTypes:
    - ed448_key
    - Datasource
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: cryptofuzz::module::wolfCrypt_detail::ed448GetPublicKey
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp
    functionUses: 0
    functionsReached:
    - std::optional::size
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
    - std::optional::data
    - cryptofuzz::module::wolfCrypt_detail::ed448GetPublicKeyAsVector
    - CF_CHECK_NE
    - std::optional::ToString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> ed448GetPublicKey(ed448_key&
      key, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:63,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed448GetPublicKeyAsVector
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:63,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:64,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - ed448_key
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: cryptofuzz::module::wolfCrypt_detail::ed448DerivePublicKey
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_detail::ed448GetPublicKeyAsVector
    - CF_CHECK_NE
    - std::optional::data
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool ed448DerivePublicKey(ed448_key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:77,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:77,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:78,1
    - Dst: wc_ed448_import_public
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' key'
    - pub
    - ' ds'
    argTypes:
    - ed448_key
    - component::Bignum
    - Datasource
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: cryptofuzz::module::wolfCrypt_detail::ed448LoadPublicKey
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - wc_ed448_import_public
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    linkageType: ''
    returnType: bool
    signature: bool ed448LoadPublicKey(ed448_key& key, component::Bignum pub, Datasource&
      ds, const bool mustSucceed = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:87,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:87,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:88,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:97,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:97,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:98,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:100,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:101,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:106,1
    - Dst: curve448
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:106,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:106,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:111,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 117
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 117
    functionName: cryptofuzz::module::wolfCrypt_detail::OpECC_PrivateToPublic_Curve448
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp
    functionUses: 1
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - std::optional::data
    - curve448
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    - priv::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic_Curve448(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:121,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:121,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:122,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:129,1
    - Dst: wc_ed448_init
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:129,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:134,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:134,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:135,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:137,1
    - Dst: wc_ed448_import_private_only
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:137,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:137,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:137,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:142,1
    - Dst: wc_ed448_make_public
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:142,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:147,1
    - Dst: wc_ed448_free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:152,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 157
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 157
    functionName: cryptofuzz::module::wolfCrypt_detail::OpECC_PrivateToPublic_Ed448
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp
    functionUses: 1
    functionsReached:
    - WC_CHECK_EQ
    - wc_ed448_init
    - modifier::GetPtr
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - cryptofuzz::util::DecToBin
    - wc_ed448_import_private_only
    - auto::data
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::util::BinToDec
    - auto::size
    - modifier::GetSize
    - priv::ToTrimmedString
    - wc_ed448_free
    - wc_ed448_make_public
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic_Ed448(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:161,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:161,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:162,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:167,1
    - Dst: wc_ed448_init
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:167,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:170,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed448LoadPublicKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:170,1
    - Dst: wc_ed448_check_key
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:173,1
    - Dst: wc_ed448_free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:180,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 185
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 185
    functionName: cryptofuzz::module::wolfCrypt_detail::OpECC_ValidatePubkey_Ed448
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp
    functionUses: 1
    functionsReached:
    - WC_CHECK_EQ
    - wc_ed448_init
    - modifier::GetPtr
    - CF_CHECK_EQ
    - wc_ed448_check_key
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::module::wolfCrypt_detail::ed448LoadPublicKey
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    - wc_ed448_free
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpECC_ValidatePubkey_Ed448(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:189,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:189,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:190,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:195,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:195,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:195,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:196,1
    - Dst: wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:196,1
    - Dst: wc_curve448_check_public
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:199,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 208
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 208
    functionName: cryptofuzz::module::wolfCrypt_detail::OpECC_ValidatePubkey_Curve448
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp
    functionUses: 1
    functionsReached:
    - pub::first::ToString
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - CF_CHECK_EQ
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - wolfCrypt_bignum::Bignum::Set
    - modifier::GetSize
    - wc_curve448_check_public
    - wolfCrypt_bignum::Bignum::ToBin
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpECC_ValidatePubkey_Curve448(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:212,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:212,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:213,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:220,1
    - Dst: wc_ed448_init
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:220,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:223,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed448LoadPrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:223,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:224,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed448DerivePublicKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:224,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:227,1
    - Dst: wc_ed448_sign_msg
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:227,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:227,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:227,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:228,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:235,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignumPair
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:235,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:236,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed448GetPublicKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:236,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:238,1
    - Dst: wc_ed448_free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:243,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 248
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 248
    functionName: cryptofuzz::module::wolfCrypt_detail::OpECDSA_Sign_ed448
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp
    functionUses: 1
    functionsReached:
    - WC_CHECK_EQ
    - wc_ed448_init
    - modifier::GetPtr
    - cryptofuzz::module::wolfCrypt_detail::ed448LoadPrivateKey
    - CF_CHECK_EQ
    - cleartext::GetSize
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignumPair
    - wc_ed448_sign_msg
    - cryptofuzz::module::wolfCrypt_detail::ed448DerivePublicKey
    - wc_ed448_free
    - cleartext::GetPtr
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    - cryptofuzz::tests::test_ECDSA_Signature
    - cryptofuzz::module::wolfCrypt_detail::ed448GetPublicKey
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> OpECDSA_Sign_ed448(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:252,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:252,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:253,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:265,1
    - Dst: wc_ed448_init
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:265,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:268,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed448LoadPublicKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:268,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:269,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:269,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:272,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:276,1
    - Dst: wc_ed448_verify_msg
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:276,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:276,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:276,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:279,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:281,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:283,1
    - Dst: wc_ed448_verify_msg_init
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:283,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:289,1
    - Dst: wc_ed448_verify_msg_update
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:289,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:292,1
    - Dst: wc_ed448_verify_msg_final
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:292,1
    - Dst: wc_ed448_free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:300,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:303,1
    - Dst: cleartext::IsZero
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp:310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 316
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 316
    functionName: cryptofuzz::module::wolfCrypt_detail::OpECDSA_Verify_ed448
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_448.cpp
    functionUses: 1
    functionsReached:
    - wc_ed448_verify_msg_final
    - cleartext::GetPtr
    - wc_ed448_verify_msg_init
    - cryptofuzz::module::wolfCrypt_detail::ed448LoadPublicKey
    - CF_UNREACHABLE
    - WC_CHECK_EQ
    - modifier::GetPtr
    - wc_ed448_verify_msg
    - Datasource::Get
    - CF_CHECK_EQ
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - wc_ed448_verify_msg_update
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - cryptofuzz::util::ToParts
    - wc_ed448_init
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    - cleartext::GetSize
    - cleartext::IsZero
    - modifier::GetSize
    - wc_ed448_free
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpECDSA_Verify_ed448(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.h:41,1
    - Dst: mp_init
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.h:44,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.h:49,1
    - Dst: mp_init_size
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.h:52,1
    - Dst: mp_init
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.h:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - mp
    - ' ds'
    argTypes:
    - mp_int*
    - Datasource
    constantsTouched: []
    func_position:
      end: 60
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::init_mp_int
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.h
    functionUses: 3
    functionsReached:
    - mp_init
    - Get
    - mp_init_size
    linkageType: ''
    returnType: int
    signature: int init_mp_int(mp_int* mp, Datasource& ds, const bool mp_init_size_ok
      = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::AsUint64
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.h:83,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.h:84,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/bn_helper.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: cryptofuzz::module::wolfCrypt_bignum::Bignum::AsUnsigned
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/bn_helper.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::AsUint64
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> AsUnsigned(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:26,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:26,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:27,1
    - Dst: wc_ed25519_import_private_only
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' key'
    - priv
    - ' ds'
    argTypes:
    - ed25519_key
    - component::Bignum
    - Datasource
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::wolfCrypt_detail::ed25519LoadPrivateKey
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    - wc_ed25519_import_private_only
    linkageType: ''
    returnType: bool
    signature: bool ed25519LoadPrivateKey(ed25519_key& key, component::Bignum priv,
      Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:38,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:38,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:39,1
    - Dst: wc_ed25519_import_public
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' key'
    - pub
    - ' ds'
    argTypes:
    - ed25519_key
    - component::Bignum
    - Datasource
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::wolfCrypt_detail::ed25519LoadPublicKey
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - wc_ed25519_import_public
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    linkageType: ''
    returnType: bool
    signature: bool ed25519LoadPublicKey(ed25519_key& key, component::Bignum pub,
      Datasource& ds, const bool mustSucceed = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:50,1
    - Dst: wc_ed25519_make_public
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:50,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - ed25519_key
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: cryptofuzz::module::wolfCrypt_detail::ed25519GetPublicKeyAsVector
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp
    functionUses: 0
    functionsReached:
    - WC_CHECK_EQ
    - std::vector<uint8_t>
    - wc_ed25519_make_public
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> ed25519GetPublicKeyAsVector(ed25519_key&
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:62,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed25519GetPublicKeyAsVector
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:62,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:63,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:63,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:63,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:63,1
    - Dst: std::optional::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - ' ds'
    argTypes:
    - ed25519_key
    - Datasource
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::wolfCrypt_detail::ed25519GetPublicKey
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp
    functionUses: 0
    functionsReached:
    - std::optional::size
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignum
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::ed25519GetPublicKeyAsVector
    - std::optional::ToString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> ed25519GetPublicKey(ed25519_key&
      key, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:75,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed25519GetPublicKeyAsVector
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:75,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:76,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - ed25519_key
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: cryptofuzz::module::wolfCrypt_detail::ed25519DerivePublicKey
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp
    functionUses: 0
    functionsReached:
    - std::optional::data
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::ed25519GetPublicKeyAsVector
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool ed25519DerivePublicKey(ed25519_key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:87,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:87,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:88,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:96,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:96,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:96,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:97,1
    - Dst: wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:97,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:105,1
    - Dst: wc_curve25519_make_pub
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:105,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:111,1
    - Dst: mp_read_unsigned_bin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:111,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:111,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:112,1
    - Dst: ToDecString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:112,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 119
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 119
    functionName: cryptofuzz::module::wolfCrypt_detail::OpECC_PrivateToPublic_Curve25519
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp
    functionUses: 1
    functionsReached:
    - WC_CHECK_EQ
    - mp_read_unsigned_bin
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - CF_CHECK_EQ
    - GetPtr
    - ToDecString
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - priv::ToString
    - wolfCrypt_bignum::Bignum::Set
    - modifier::GetSize
    - wolfCrypt_bignum::Bignum::ToBin
    - wc_curve25519_make_pub
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic_Curve25519(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:123,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:123,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:124,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:131,1
    - Dst: wc_ed25519_init
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:131,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:134,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed25519LoadPrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:134,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed25519GetPublicKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:135,1
    - Dst: wc_ed25519_free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:139,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 144
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 144
    functionName: cryptofuzz::module::wolfCrypt_detail::OpECC_PrivateToPublic_Ed25519
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp
    functionUses: 1
    functionsReached:
    - WC_CHECK_EQ
    - wc_ed25519_init
    - wc_ed25519_free
    - modifier::GetPtr
    - CF_CHECK_EQ
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::module::wolfCrypt_detail::ed25519LoadPrivateKey
    - cryptofuzz::module::wolfCrypt_detail::ed25519GetPublicKey
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic_Ed25519(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:148,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:148,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:149,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:154,1
    - Dst: wolfCrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:154,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:154,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:155,1
    - Dst: wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:155,1
    - Dst: wc_curve25519_check_public
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:158,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 167
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 167
    functionName: cryptofuzz::module::wolfCrypt_detail::OpECC_ValidatePubkey_Curve25519
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp
    functionUses: 1
    functionsReached:
    - pub::first::ToString
    - modifier::GetPtr
    - CF_CHECK_TRUE
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - CF_CHECK_EQ
    - wc_curve25519_check_public
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - wolfCrypt_bignum::Bignum::Set
    - modifier::GetSize
    - wolfCrypt_bignum::Bignum::ToBin
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpECC_ValidatePubkey_Curve25519(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:171,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:171,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:172,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:177,1
    - Dst: wc_ed25519_init
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:177,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:180,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed25519LoadPublicKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:180,1
    - Dst: wc_ed25519_check_key
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:183,1
    - Dst: wc_ed25519_free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:190,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 195
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 195
    functionName: cryptofuzz::module::wolfCrypt_detail::OpECC_ValidatePubkey_Ed25519
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp
    functionUses: 1
    functionsReached:
    - WC_CHECK_EQ
    - wc_ed25519_init
    - wc_ed25519_free
    - wc_ed25519_check_key
    - modifier::GetPtr
    - CF_CHECK_EQ
    - cryptofuzz::module::wolfCrypt_detail::ed25519LoadPublicKey
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpECC_ValidatePubkey_Ed25519(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:199,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:199,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:200,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:207,1
    - Dst: wc_ed25519_init
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:207,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:210,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed25519LoadPrivateKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:210,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:211,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed25519DerivePublicKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:211,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:214,1
    - Dst: wc_ed25519_sign_msg
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:214,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:214,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:214,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:215,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:222,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignumPair
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:222,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:223,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed25519GetPublicKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:223,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:225,1
    - Dst: wc_ed25519_free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:230,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 235
      start: 197
    functionDepth: 4
    functionLinenumber: 197
    functionLinenumberEnd: 235
    functionName: cryptofuzz::module::wolfCrypt_detail::OpECDSA_Sign_ed25519
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp
    functionUses: 1
    functionsReached:
    - WC_CHECK_EQ
    - wc_ed25519_init
    - wc_ed25519_free
    - modifier::GetPtr
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::BinToBignumPair
    - CF_CHECK_EQ
    - cleartext::GetSize
    - cryptofuzz::tests::test_ECDSA_Signature
    - cleartext::GetPtr
    - CF_CHECK_NE
    - wc_ed25519_sign_msg
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::module::wolfCrypt_detail::ed25519LoadPrivateKey
    - cryptofuzz::module::wolfCrypt_detail::ed25519GetPublicKey
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - modifier::GetSize
    - cryptofuzz::module::wolfCrypt_detail::ed25519DerivePublicKey
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> OpECDSA_Sign_ed25519(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:239,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:239,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:240,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:252,1
    - Dst: wc_ed25519_init
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:252,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:255,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::ed25519LoadPublicKey
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:255,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:256,1
    - Dst: cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:256,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:259,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:263,1
    - Dst: wc_ed25519_verify_msg
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:263,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:263,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:263,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:266,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:268,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:270,1
    - Dst: wc_ed25519_verify_msg_init
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:270,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:276,1
    - Dst: wc_ed25519_verify_msg_update
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:276,1
    - Dst: WC_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:279,1
    - Dst: wc_ed25519_verify_msg_final
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:279,1
    - Dst: wc_ed25519_free
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:287,1
    - Dst: cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:290,1
    - Dst: cleartext::IsZero
      Src: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp:297,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 303
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 303
    functionName: cryptofuzz::module::wolfCrypt_detail::OpECDSA_Verify_ed25519
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt/ecdsa_25519.cpp
    functionUses: 1
    functionsReached:
    - wc_ed25519_init
    - wc_ed25519_free
    - cleartext::GetPtr
    - CF_UNREACHABLE
    - wc_ed25519_verify_msg
    - WC_CHECK_EQ
    - modifier::GetPtr
    - wc_ed25519_verify_msg_init
    - Datasource::Get
    - CF_CHECK_EQ
    - cryptofuzz::module::wolfCrypt_detail::SetGlobalDs
    - cryptofuzz::module::wolfCrypt_detail::UnsetGlobalDs
    - wc_ed25519_verify_msg_final
    - cryptofuzz::util::ToParts
    - cryptofuzz::module::wolfCrypt_bignum::Bignum::ToBin
    - cleartext::GetSize
    - wc_ed25519_verify_msg_update
    - cryptofuzz::module::wolfCrypt_detail::ed25519LoadPublicKey
    - cleartext::IsZero
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpECDSA_Verify_ed25519(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: cryptofuzz::module::aurora_engine_modexp::aurora_engine_modexp
    functionSourceFile: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void aurora_engine_modexp::aurora_engine_modexp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:21,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:21,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:28,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:35,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:35,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:35,1
    - Dst: std::vector<uint8_t>::end
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ds'
    - v
    argTypes:
    - Datasource
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::aurora_engine_modexp_detail::Pad
    functionSourceFile: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::begin
    - std::vector::insert
    - std::vector<uint8_t>::size
    - std::vector<uint8_t>
    - Get
    - std::vector<uint8_t>::end
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Pad(Datasource& ds, std::vector<uint8_t> v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:41,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:41,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:45,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:45,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:49,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:49,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:49,1
    - Dst: cryptofuzz::module::aurora_engine_modexp_detail::Pad
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:51,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:52,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:52,1
    - Dst: cryptofuzz::module::aurora_engine_modexp_detail::Pad
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:53,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:54,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:54,1
    - Dst: cryptofuzz::module::aurora_engine_modexp_detail::Pad
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:55,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:56,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:56,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Gas
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:59,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::ToInput
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:60,1
    - Dst: cryptofuzz_aurora_engine_modexp
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:65,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:66,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:66,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:67,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:67,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:68,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:68,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:70,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:72,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:72,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:72,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:75,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:75,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:75,1
    - Dst: bn2::IsZero
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:76,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:77,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:79,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:79,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 84
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::aurora_engine_modexp::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/aurora-engine-modexp/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - bn2::IsZero
    - CF_ASSERT
    - CF_CALCOP
    - modifier::GetPtr
    - calcOp::Is
    - bn2::ToTrimmedString
    - std::array::size
    - bn0::ToTrimmedString
    - cryptofuzz::util::BinToDec
    - auto::size
    - std::array::begin
    - std::reverse
    - cryptofuzz::util::Ethereum_ModExp::ToInput
    - cryptofuzz::util::Ethereum_ModExp::Gas
    - auto::data
    - cryptofuzz_aurora_engine_modexp
    - std::array::end
    - std::array::data
    - cryptofuzz::util::DecToBin
    - bn1::ToTrimmedString
    - modifier::GetSize
    - cryptofuzz::module::aurora_engine_modexp_detail::Pad
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> aurora_engine_modexp::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v8::String::NewFromUtf8
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:26,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: cryptofuzz::module::V8_embedded_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/v8-embedded/module.cpp
    functionUses: 0
    functionsReached:
    - v8::String::NewFromUtf8
    - c_str
    linkageType: ''
    returnType: v8::Local<v8::Value>
    signature: v8::Local<v8::Value> Load(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v8::V8::InitializeICUDefaultLocation
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:31,1
    - Dst: v8::V8::InitializeExternalStartupData
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:32,1
    - Dst: v8::platform::NewDefaultPlatform
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:33,1
    - Dst: v8::V8::InitializePlatform
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:34,1
    - Dst: get
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:34,1
    - Dst: LLVMFuzzerInitialize
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:35,1
    - Dst: v8::ArrayBuffer::Allocator::NewDefaultAllocator
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:39,1
    - Dst: New
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:40,1
    - Dst: New
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:46,1
    - Dst: std::enable_shared_from_this<Context>
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:47,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:54,1
    - Dst: v8::String::NewFromUtf8Literal
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:57,1
    - Dst: v8::Script::Compile
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:59,1
    - Dst: v8::Eternal<v8::Script>
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:60,1
    - Dst: auto::Run
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 63
    functionName: cryptofuzz::module::V8_embedded::V8_embedded
    functionSourceFile: /src/cryptofuzz/modules/v8-embedded/module.cpp
    functionUses: 0
    functionsReached:
    - v8::Eternal<v8::Script>
    - auto::Run
    - New
    - v8::V8::InitializeExternalStartupData
    - v8::String::NewFromUtf8Literal
    - v8::Script::Compile
    - std::enable_shared_from_this<Context>
    - memcpy
    - v8::ArrayBuffer::Allocator::NewDefaultAllocator
    - v8::V8::InitializeICUDefaultLocation
    - get
    - v8::platform::NewDefaultPlatform
    - LLVMFuzzerInitialize
    - v8::V8::InitializePlatform
    linkageType: ''
    returnType: void
    signature: void V8_embedded::V8_embedded(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:67,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:67,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:70,1
    - Dst: auto::Global
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:72,1
    - Dst: cryptofuzz::module::V8_embedded_detail::Load
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:74,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:76,1
    - Dst: v8::Local::IsFunction
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:76,1
    - Dst: cryptofuzz::module::V8_embedded_detail::Load
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:81,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:81,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:81,1
    - Dst: cryptofuzz::module::V8_embedded_detail::Load
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:82,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:82,1
    - Dst: cryptofuzz::module::V8_embedded_detail::Load
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:83,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:83,1
    - Dst: v8::Local::As
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:85,1
    - Dst: auto::Global
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:87,1
    - Dst: v8::MaybeLocal::IsEmpty
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:91,1
    - Dst: v8::MaybeLocal::ToLocalChecked
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:92,1
    - Dst: auto::IsString
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:93,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:95,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/v8-embedded/module.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 101
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 101
    functionName: cryptofuzz::module::V8_embedded::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/v8-embedded/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - v8::MaybeLocal::IsEmpty
    - cryptofuzz::repository::CalcOpToString
    - bn0::ToString
    - auto::IsString
    - calcOp::Get
    - v8::Local::IsFunction
    - CF_ASSERT
    - v8::MaybeLocal::ToLocalChecked
    - v8::Local::As
    - getBignum
    - auto::Global
    - std::string
    - Get
    - bn1::ToString
    - modifier::GetSize
    - cryptofuzz::module::V8_embedded_detail::Load
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> V8_embedded::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HaveSSE42
      Src: /src/cryptofuzz/modules/reference/module.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::Reference::Reference
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HaveSSE42
    linkageType: ''
    returnType: void
    signature: void Reference::Reference(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/reference/module.cpp:51,1
    - Dst: NESSIEinit
      Src: /src/cryptofuzz/modules/reference/module.cpp:52,1
    - Dst: NESSIEadd
      Src: /src/cryptofuzz/modules/reference/module.cpp:57,1
    - Dst: NESSIEfinalize
      Src: /src/cryptofuzz/modules/reference/module.cpp:63,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::Digest
    - Datasource
    constantsTouched: []
    func_position:
      end: 68
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::Reference::WHIRLPOOL
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - NESSIEadd
    - generate_Digest
    - cryptofuzz::util::ToParts
    - NESSIEinit
    - NESSIEfinalize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Reference::WHIRLPOOL(operation::Digest&
      op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/reference/module.cpp:78,1
    - Dst: groestl_init
      Src: /src/cryptofuzz/modules/reference/module.cpp:78,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/reference/module.cpp:79,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/reference/module.cpp:84,1
    - Dst: groestl_update
      Src: /src/cryptofuzz/modules/reference/module.cpp:84,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/reference/module.cpp:90,1
    - Dst: groestl_final
      Src: /src/cryptofuzz/modules/reference/module.cpp:90,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:91,1
    - Dst: groestl_free
      Src: /src/cryptofuzz/modules/reference/module.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ' op'
    - ' ds'
    - bitSize
    argTypes:
    - operation::Digest
    - Datasource
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 98
    functionName: cryptofuzz::module::Reference::GROESTL
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - groestl_update
    - cryptofuzz::util::ToParts
    - generate_Digest
    - CF_CHECK_EQ
    - groestl_final
    - groestl_free
    - groestl_init
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Reference::GROESTL(operation::Digest&
      op, Datasource& ds, const size_t bitSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64
      Src: /src/cryptofuzz/modules/reference/module.cpp:101,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:101,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:101,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: cryptofuzz::module::Reference::XXHASH64_OneShot
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - generate_Digest
    - XXH64
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Reference::XXHASH64_OneShot(operation::Digest&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/reference/module.cpp:113,1
    - Dst: XXH64_createState
      Src: /src/cryptofuzz/modules/reference/module.cpp:113,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/reference/module.cpp:114,1
    - Dst: XXH64_reset
      Src: /src/cryptofuzz/modules/reference/module.cpp:114,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/reference/module.cpp:115,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/reference/module.cpp:120,1
    - Dst: XXH64_update
      Src: /src/cryptofuzz/modules/reference/module.cpp:120,1
    - Dst: XXH64_digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:125,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:126,1
    - Dst: XXH64_freeState
      Src: /src/cryptofuzz/modules/reference/module.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::Digest
    - Datasource
    constantsTouched: []
    func_position:
      end: 133
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::Reference::XXHASH64_Streaming
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - XXH64_digest
    - cryptofuzz::util::ToParts
    - generate_Digest
    - XXH64_update
    - XXH64_createState
    - XXH64_freeState
    - XXH64_reset
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Reference::XXHASH64_Streaming(operation::Digest&
      op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/reference/module.cpp:138,1
    - Dst: cryptofuzz::module::Reference::XXHASH64_OneShot
      Src: /src/cryptofuzz/modules/reference/module.cpp:142,1
    - Dst: cryptofuzz::module::Reference::XXHASH64_Streaming
      Src: /src/cryptofuzz/modules/reference/module.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::Digest
    - Datasource
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: cryptofuzz::module::Reference::XXHASH64
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Reference::XXHASH64_OneShot
    - Get
    - cryptofuzz::module::Reference::XXHASH64_Streaming
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Reference::XXHASH64(operation::Digest&
      op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH32
      Src: /src/cryptofuzz/modules/reference/module.cpp:149,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:149,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:149,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 4
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: cryptofuzz::module::Reference::XXHASH32_OneShot
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - generate_Digest
    - cleartext::GetSize
    - XXH32
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Reference::XXHASH32_OneShot(operation::Digest&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/reference/module.cpp:161,1
    - Dst: XXH32_createState
      Src: /src/cryptofuzz/modules/reference/module.cpp:161,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/reference/module.cpp:162,1
    - Dst: XXH32_reset
      Src: /src/cryptofuzz/modules/reference/module.cpp:162,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/reference/module.cpp:163,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/reference/module.cpp:168,1
    - Dst: XXH32_update
      Src: /src/cryptofuzz/modules/reference/module.cpp:168,1
    - Dst: XXH32_digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:173,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:174,1
    - Dst: XXH32_freeState
      Src: /src/cryptofuzz/modules/reference/module.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::Digest
    - Datasource
    constantsTouched: []
    func_position:
      end: 181
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 181
    functionName: cryptofuzz::module::Reference::XXHASH32_Streaming
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - XXH32_reset
    - cryptofuzz::util::ToParts
    - XXH32_createState
    - XXH32_freeState
    - CF_CHECK_NE
    - XXH32_digest
    - XXH32_update
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Reference::XXHASH32_Streaming(operation::Digest&
      op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/reference/module.cpp:186,1
    - Dst: cryptofuzz::module::Reference::XXHASH32_OneShot
      Src: /src/cryptofuzz/modules/reference/module.cpp:190,1
    - Dst: cryptofuzz::module::Reference::XXHASH32_Streaming
      Src: /src/cryptofuzz/modules/reference/module.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::Digest
    - Datasource
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: cryptofuzz::module::Reference::XXHASH32
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Reference::XXHASH32_Streaming
    - cryptofuzz::module::Reference::XXHASH32_OneShot
    - Get
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Reference::XXHASH32(operation::Digest&
      op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/reference/module.cpp:206,1
    - Dst: blake3_hasher_init
      Src: /src/cryptofuzz/modules/reference/module.cpp:207,1
    - Dst: blake3_hasher_update
      Src: /src/cryptofuzz/modules/reference/module.cpp:212,1
    - Dst: blake3_hasher_finalize
      Src: /src/cryptofuzz/modules/reference/module.cpp:217,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::Digest
    - Datasource
    constantsTouched: []
    func_position:
      end: 222
      start: 197
    functionDepth: 4
    functionLinenumber: 197
    functionLinenumberEnd: 222
    functionName: cryptofuzz::module::Reference::BLAKE3
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cryptofuzz::util::ToParts
    - blake3_hasher_init
    - blake3_hasher_finalize
    - blake3_hasher_update
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Reference::BLAKE3(operation::Digest&
      op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/reference/module.cpp:234,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:234,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/reference/module.cpp:235,1
    - Dst: blake3_hasher_init_keyed
      Src: /src/cryptofuzz/modules/reference/module.cpp:236,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:236,1
    - Dst: blake3_hasher_update
      Src: /src/cryptofuzz/modules/reference/module.cpp:241,1
    - Dst: blake3_hasher_finalize
      Src: /src/cryptofuzz/modules/reference/module.cpp:246,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/modules/reference/module.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 252
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 252
    functionName: cryptofuzz::module::Reference::BLAKE3_MAC
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetPtr
    - CF_CHECK_EQ
    - blake3_hasher_finalize
    - blake3_hasher_update
    - generate_HMAC
    - blake3_hasher_init_keyed
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Reference::BLAKE3_MAC(operation::HMAC&
      op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:257,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:257,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/reference/module.cpp:261,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:263,1
    - Dst: CityHash32
      Src: /src/cryptofuzz/modules/reference/module.cpp:265,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:265,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:265,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:267,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:270,1
    - Dst: CityHash64
      Src: /src/cryptofuzz/modules/reference/module.cpp:272,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:272,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:272,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:274,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:277,1
    - Dst: CityHash128
      Src: /src/cryptofuzz/modules/reference/module.cpp:279,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:279,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:279,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:281,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:284,1
    - Dst: CityHashCrc128
      Src: /src/cryptofuzz/modules/reference/module.cpp:289,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:289,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:289,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:291,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:296,1
    - Dst: CityHashCrc256
      Src: /src/cryptofuzz/modules/reference/module.cpp:304,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:304,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:304,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/module.cpp:309,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:313,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:319,1
    - Dst: cryptofuzz::module::Reference::GROESTL
      Src: /src/cryptofuzz/modules/reference/module.cpp:321,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:324,1
    - Dst: cryptofuzz::module::Reference::GROESTL
      Src: /src/cryptofuzz/modules/reference/module.cpp:326,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:329,1
    - Dst: cryptofuzz::module::Reference::GROESTL
      Src: /src/cryptofuzz/modules/reference/module.cpp:331,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:334,1
    - Dst: cryptofuzz::module::Reference::GROESTL
      Src: /src/cryptofuzz/modules/reference/module.cpp:336,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:339,1
    - Dst: cryptofuzz::module::Reference::WHIRLPOOL
      Src: /src/cryptofuzz/modules/reference/module.cpp:341,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:344,1
    - Dst: cryptofuzz::module::Reference::XXHASH64
      Src: /src/cryptofuzz/modules/reference/module.cpp:346,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:349,1
    - Dst: cryptofuzz::module::Reference::XXHASH32
      Src: /src/cryptofuzz/modules/reference/module.cpp:351,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:355,1
    - Dst: cryptofuzz::module::Reference::BLAKE3
      Src: /src/cryptofuzz/modules/reference/module.cpp:357,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 364
      start: 255
    functionDepth: 6
    functionLinenumber: 255
    functionLinenumberEnd: 364
    functionName: cryptofuzz::module::Reference::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - CityHash64
    - modifier::GetPtr
    - CityHashCrc256
    - cryptofuzz::module::Reference::WHIRLPOOL
    - cleartext::GetSize
    - cryptofuzz::module::Reference::BLAKE3
    - digestType::Get
    - memcpy
    - cryptofuzz::module::Reference::GROESTL
    - cleartext::GetPtr
    - CityHash128
    - CF_DIGEST
    - cryptofuzz::module::Reference::XXHASH64
    - cryptofuzz::module::Reference::XXHASH32
    - CityHash32
    - CityHashCrc128
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Reference::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/reference/module.cpp:371,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:374,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:377,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/module.cpp:378,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:378,1
    - Dst: CityHash64WithSeed
      Src: /src/cryptofuzz/modules/reference/module.cpp:380,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:380,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:380,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:382,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:386,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:389,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/module.cpp:390,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:390,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/module.cpp:391,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:391,1
    - Dst: CityHash64WithSeeds
      Src: /src/cryptofuzz/modules/reference/module.cpp:393,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:393,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:393,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:395,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:399,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:403,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/module.cpp:404,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:404,1
    - Dst: CityHash128WithSeed
      Src: /src/cryptofuzz/modules/reference/module.cpp:406,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:406,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:406,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:408,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:413,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:419,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/module.cpp:420,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:420,1
    - Dst: CityHashCrc128WithSeed
      Src: /src/cryptofuzz/modules/reference/module.cpp:422,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:422,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:422,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/modules/reference/module.cpp:424,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/reference/module.cpp:432,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:434,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:434,1
    - Dst: cryptofuzz::module::Reference::BLAKE3_MAC
      Src: /src/cryptofuzz/modules/reference/module.cpp:435,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 442
      start: 366
    functionDepth: 5
    functionLinenumber: 366
    functionLinenumberEnd: 442
    functionName: cryptofuzz::module::Reference::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest
    - cipher::key::GetSize
    - CityHash64WithSeeds
    - cipher::key::GetPtr
    - modifier::GetPtr
    - cleartext::GetSize
    - CityHash64WithSeed
    - digestType::Get
    - memcpy
    - CityHash128WithSeed
    - CityHashCrc128WithSeed
    - cleartext::GetPtr
    - CF_DIGEST
    - cryptofuzz::module::Reference::BLAKE3_MAC
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Reference::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/reference/module.cpp:463,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/reference/module.cpp:465,1
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/module.cpp:465,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:469,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:470,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/reference/module.cpp:471,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/reference/module.cpp:472,1
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/modules/reference/module.cpp:481,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/reference/module.cpp:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 488
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 488
    functionName: cryptofuzz::module::Reference::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/reference/module.cpp
    functionUses: 0
    functionsReached:
    - salt::GetPtr
    - password::GetPtr
    - CF_CHECK_EQ
    - CF_CHECK_LTE
    - password::GetSize
    - cryptofuzz::tests::test_ECC_PrivateKey
    - salt::GetSize
    - cryptofuzz::util::free
    - argon2_hash
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Reference::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:44,1
    - Dst: xor_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:45,1
    - Dst: copy_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:46,1
    - Dst: xor_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:50,1
    - Dst: BLAKE2_ROUND_NOMSG
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:58,1
    - Dst: BLAKE2_ROUND_NOMSG
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:70,1
    - Dst: copy_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:79,1
    - Dst: xor_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - prev_block
    - ref_block
    - next_block
    - with_xor
    argTypes:
    - block*
    - block*
    - block*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 81
    functionName: fill_block
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/ref.c
    functionUses: 0
    functionsReached:
    - BLAKE2_ROUND_NOMSG
    - copy_block
    - xor_block
    linkageType: ''
    returnType: void
    signature: "void fill_block(const block *prev_block, const block *ref_block,\n
      \                      block *next_block, int with_xor)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:86,1
    - Dst: fill_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - address_block
    - input_block
    - zero_block
    argTypes:
    - block*
    - block*
    - block*
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: next_addresses
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/ref.c
    functionUses: 0
    functionsReached:
    - fill_block
    linkageType: ''
    returnType: void
    signature: "void next_addresses(block *address_block, block *input_block,\n                           const
      block *zero_block)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_block_value
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:110,1
    - Dst: init_block_value
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:111,1
    - Dst: next_addresses
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:128,1
    - Dst: next_addresses
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:155,1
    - Dst: index_alpha
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:174,1
    - Dst: fill_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:183,1
    - Dst: fill_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:186,1
    - Dst: fill_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/ref.c:189,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - instance
    - position
    argTypes:
    - argon2_instance_t*
    - argon2_position_t
    constantsTouched: []
    func_position:
      end: 194
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 194
    functionName: fill_segment
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/ref.c
    functionUses: 0
    functionsReached:
    - next_addresses
    - fill_block
    - index_alpha
    - init_block_value
    linkageType: ''
    returnType: void
    signature: "void fill_segment(const argon2_instance_t *instance,\n                  argon2_position_t
      position)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __rdtsc
      Src: /src/cryptofuzz/modules/reference/argon2/src/bench.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: rdtsc
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/bench.c
    functionUses: 1
    functionsReached:
    - __rdtsc
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rdtsc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/bench.c:67,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/bench.c:68,1
    - Dst: clock
      Src: /src/cryptofuzz/modules/reference/argon2/src/bench.c:84,1
    - Dst: rdtsc
      Src: /src/cryptofuzz/modules/reference/argon2/src/bench.c:85,1
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/bench.c:87,1
    - Dst: rdtsc
      Src: /src/cryptofuzz/modules/reference/argon2/src/bench.c:91,1
    - Dst: clock
      Src: /src/cryptofuzz/modules/reference/argon2/src/bench.c:92,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/bench.c:98,1
    - Dst: argon2_type2string
      Src: /src/cryptofuzz/modules/reference/argon2/src/bench.c:99,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/bench.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 106
    functionName: benchmark
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/bench.c
    functionUses: 2
    functionsReached:
    - clock
    - memset
    - rdtsc
    - argon2_type2string
    - argon2_hash
    - printf
    linkageType: ''
    returnType: void
    signature: void benchmark()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: benchmark
      Src: /src/cryptofuzz/modules/reference/argon2/src/bench.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/bench.c
    functionUses: 0
    functionsReached:
    - benchmark
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LT
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:84,1
    - Dst: GE
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:85,1
    - Dst: LT
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:85,1
    - Dst: GE
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:86,1
    - Dst: LT
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:86,1
    - Dst: EQ
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:86,1
    - Dst: EQ
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: b64_byte_to_char
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/encoding.c
    functionUses: 0
    functionsReached:
    - EQ
    - GE
    - LT
    linkageType: ''
    returnType: int
    signature: int b64_byte_to_char(unsigned x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GE
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:97,1
    - Dst: LE
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:97,1
    - Dst: GE
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:98,1
    - Dst: LE
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:98,1
    - Dst: GE
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:99,1
    - Dst: LE
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:99,1
    - Dst: EQ
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:99,1
    - Dst: EQ
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:100,1
    - Dst: EQ
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:101,1
    - Dst: EQ
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: b64_char_to_byte
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/encoding.c
    functionUses: 0
    functionsReached:
    - EQ
    - GE
    - LE
    linkageType: ''
    returnType: unsigned
    signature: unsigned b64_char_to_byte(int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b64_byte_to_char
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:138,1
    - Dst: b64_byte_to_char
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - dst
    - dst_len
    - src
    - src_len
    argTypes:
    - char*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 146
    functionName: to_base64
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/encoding.c
    functionUses: 0
    functionsReached:
    - b64_byte_to_char
    linkageType: ''
    returnType: size_t
    signature: "size_t to_base64(char *dst, size_t dst_len, const void *src,\n                        size_t
      src_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b64_char_to_byte
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - dst
    - dst_len
    - src
    argTypes:
    - void*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 200
    functionName: from_base64
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/encoding.c
    functionUses: 0
    functionsReached:
    - b64_char_to_byte
    linkageType: ''
    returnType: char
    signature: char *from_base64(void *dst, size_t *dst_len, const char *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - str
    - v
    argTypes:
    - char*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 236
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 236
    functionName: decode_decimal
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *decode_decimal(const char *str, unsigned long *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_type2string
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:321,1
    - Dst: CC
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:326,1
    - Dst: CC
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:327,1
    - Dst: CC_opt
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:331,1
    - Dst: DECIMAL_U32
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:331,1
    - Dst: CC
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:333,1
    - Dst: DECIMAL_U32
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:334,1
    - Dst: CC
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:335,1
    - Dst: DECIMAL_U32
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:336,1
    - Dst: CC
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:337,1
    - Dst: DECIMAL_U32
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:338,1
    - Dst: CC
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:341,1
    - Dst: BIN
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:342,1
    - Dst: CC
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:343,1
    - Dst: BIN
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:344,1
    - Dst: validate_inputs
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - ctx
    - str
    - type
    argTypes:
    - argon2_context*
    - char*
    - argon2_type
    constantsTouched: []
    func_position:
      end: 371
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 371
    functionName: decode_string
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/encoding.c
    functionUses: 0
    functionsReached:
    - validate_inputs
    - CC
    - BIN
    - DECIMAL_U32
    - argon2_type2string
    - CC_opt
    linkageType: ''
    returnType: int
    signature: int decode_string(argon2_context *ctx, const char *str, argon2_type
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SS
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:415,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:416,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:418,1
    - Dst: SX
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:419,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:421,1
    - Dst: SX
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:422,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:423,1
    - Dst: SX
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:424,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:425,1
    - Dst: SX
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:426,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:428,1
    - Dst: SB
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:429,1
    - Dst: SS
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:431,1
    - Dst: SB
      Src: /src/cryptofuzz/modules/reference/argon2/src/encoding.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 4
    argNames:
    - dst
    - dst_len
    - ctx
    - type
    argTypes:
    - char*
    - size_t
    - argon2_context*
    - argon2_type
    constantsTouched: []
    func_position:
      end: 438
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 438
    functionName: encode_string
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/encoding.c
    functionUses: 0
    functionsReached:
    - SS
    - SX
    - SB
    linkageType: ''
    returnType: int
    signature: "int encode_string(char *dst, size_t dst_len, argon2_context *ctx,\n
      \                 argon2_type type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - len
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 453
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 453
    functionName: b64len
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t b64len(uint32_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 462
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 462
    functionName: numlen
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t numlen(uint32_t num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:44,1
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:47,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:47,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:47,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:49,1
    - Dst: sprintf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:52,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:53,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:53,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:56,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:56,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:56,1
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:59,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:59,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:60,1
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:61,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:61,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:62,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 9
    argNames:
    - version
    - t
    - m
    - p
    - pwd
    - salt
    - hexref
    - mcfref
    - type
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - char*
    - char*
    - char*
    - char*
    - argon2_type
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: hashtest
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/test.c
    functionUses: 0
    functionsReached:
    - strlen
    - sprintf
    - assert
    - argon2_hash
    - memcmp
    - printf
    - argon2_verify
    linkageType: ''
    returnType: void
    signature: "void hashtest(uint32_t version, uint32_t t, uint32_t m, uint32_t p,
      char *pwd,\n              char *salt, char *hexref, char *mcfref, argon2_type
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:74,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:77,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:82,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:87,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:91,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:95,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:99,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:103,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:107,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:111,1
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:119,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:121,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:122,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:123,1
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:126,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:128,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:129,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:130,1
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:133,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:135,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:136,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:137,1
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:140,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:142,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:143,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:144,1
    - Dst: argon2_error_message
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:146,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:147,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:147,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:148,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:150,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:153,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:156,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:161,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:166,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:170,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:174,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:178,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:182,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:186,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:190,1
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:199,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:201,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:202,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:203,1
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:206,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:208,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:209,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:210,1
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:213,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:215,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:216,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:217,1
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:220,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:222,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:223,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:224,1
    - Dst: argon2_error_message
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:226,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:227,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:227,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:228,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:230,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:233,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:237,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:241,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:245,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:249,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:253,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:257,1
    - Dst: hashtest
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:261,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:268,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:269,1
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:271,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:271,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:272,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:274,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:275,1
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:277,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:277,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:278,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:280,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:281,1
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:283,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:283,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:285,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/test.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 289
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/test.c
    functionUses: 0
    functionsReached:
    - hashtest
    - strlen
    - assert
    - strcmp
    - argon2_hash
    - printf
    - argon2_verify
    - argon2_error_message
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - type
    - uppercase
    argTypes:
    - argon2_type
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: argon2_type2string
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *argon2_type2string(argon2_type type, int uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:82,1
    - Dst: fill_memory_blocks
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:89,1
    - Dst: finalize
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - context
    - type
    argTypes:
    - argon2_context*
    - argon2_type
    constantsTouched: []
    func_position:
      end: 98
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 98
    functionName: argon2_ctx
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - fill_memory_blocks
    - initialize
    - finalize
    linkageType: ''
    returnType: int
    signature: int argon2_ctx(argon2_context *context, argon2_type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:127,1
    - Dst: argon2_ctx
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:151,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:154,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:155,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:161,1
    - Dst: encode_string
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:166,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:167,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:168,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:169,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:173,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 13
    argNames:
    - t_cost
    - m_cost
    - parallelism
    - pwd
    - pwdlen
    - salt
    - saltlen
    - hash
    - hashlen
    - encoded
    - encodedlen
    - type
    - version
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - char*
    - size_t
    - argon2_type
    - uint32_t
    constantsTouched: []
    func_position:
      end: 177
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 177
    functionName: argon2_hash
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 4
    functionsReached:
    - encode_string
    - free
    - memcpy
    - malloc
    - clear_internal_memory
    - argon2_ctx
    linkageType: ''
    returnType: int
    signature: "int argon2_hash(const uint32_t t_cost, const uint32_t m_cost,\n                const
      uint32_t parallelism, const void *pwd,\n                const size_t pwdlen,
      const void *salt, const size_t saltlen,\n                void *hash, const size_t
      hashlen, char *encoded,\n                const size_t encodedlen, argon2_type
      type,\n                const uint32_t version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - t_cost
    - m_cost
    - parallelism
    - pwd
    - pwdlen
    - salt
    - saltlen
    - hashlen
    - encoded
    - encodedlen
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: argon2i_hash_encoded
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_hash
    linkageType: ''
    returnType: int
    signature: "int argon2i_hash_encoded(const uint32_t t_cost, const uint32_t m_cost,\n
      \                        const uint32_t parallelism, const void *pwd,\n                         const
      size_t pwdlen, const void *salt,\n                         const size_t saltlen,
      const size_t hashlen,\n                         char *encoded, const size_t
      encodedlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - t_cost
    - m_cost
    - parallelism
    - pwd
    - pwdlen
    - salt
    - saltlen
    - hash
    - hashlen
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: argon2i_hash_raw
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_hash
    linkageType: ''
    returnType: int
    signature: "int argon2i_hash_raw(const uint32_t t_cost, const uint32_t m_cost,\n
      \                    const uint32_t parallelism, const void *pwd,\n                     const
      size_t pwdlen, const void *salt,\n                     const size_t saltlen,
      void *hash, const size_t hashlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - t_cost
    - m_cost
    - parallelism
    - pwd
    - pwdlen
    - salt
    - saltlen
    - hashlen
    - encoded
    - encodedlen
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: argon2d_hash_encoded
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_hash
    linkageType: ''
    returnType: int
    signature: "int argon2d_hash_encoded(const uint32_t t_cost, const uint32_t m_cost,\n
      \                        const uint32_t parallelism, const void *pwd,\n                         const
      size_t pwdlen, const void *salt,\n                         const size_t saltlen,
      const size_t hashlen,\n                         char *encoded, const size_t
      encodedlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - t_cost
    - m_cost
    - parallelism
    - pwd
    - pwdlen
    - salt
    - saltlen
    - hash
    - hashlen
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: argon2d_hash_raw
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_hash
    linkageType: ''
    returnType: int
    signature: "int argon2d_hash_raw(const uint32_t t_cost, const uint32_t m_cost,\n
      \                    const uint32_t parallelism, const void *pwd,\n                     const
      size_t pwdlen, const void *salt,\n                     const size_t saltlen,
      void *hash, const size_t hashlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - t_cost
    - m_cost
    - parallelism
    - pwd
    - pwdlen
    - salt
    - saltlen
    - hashlen
    - encoded
    - encodedlen
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: argon2id_hash_encoded
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_hash
    linkageType: ''
    returnType: int
    signature: "int argon2id_hash_encoded(const uint32_t t_cost, const uint32_t m_cost,\n
      \                         const uint32_t parallelism, const void *pwd,\n                          const
      size_t pwdlen, const void *salt,\n                          const size_t saltlen,
      const size_t hashlen,\n                          char *encoded, const size_t
      encodedlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - t_cost
    - m_cost
    - parallelism
    - pwd
    - pwdlen
    - salt
    - saltlen
    - hash
    - hashlen
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: argon2id_hash_raw
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_hash
    linkageType: ''
    returnType: int
    signature: "int argon2id_hash_raw(const uint32_t t_cost, const uint32_t m_cost,\n
      \                     const uint32_t parallelism, const void *pwd,\n                      const
      size_t pwdlen, const void *salt,\n                      const size_t saltlen,
      void *hash, const size_t hashlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - b1
    - b2
    - len
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: argon2_compare
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int argon2_compare(const uint8_t *b1, const uint8_t *b2, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:268,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:279,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:280,1
    - Dst: decode_string
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:289,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:296,1
    - Dst: argon2_verify_ctx
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:302,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:308,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:309,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:310,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - encoded
    - pwd
    - pwdlen
    - type
    argTypes:
    - char*
    - void*
    - size_t
    - argon2_type
    constantsTouched: []
    func_position:
      end: 313
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 313
    functionName: argon2_verify
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 2
    functionsReached:
    - decode_string
    - strlen
    - free
    - malloc
    - argon2_verify_ctx
    linkageType: ''
    returnType: int
    signature: "int argon2_verify(const char *encoded, const void *pwd, const size_t
      pwdlen,\n                  argon2_type type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - encoded
    - pwd
    - pwdlen
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: argon2i_verify
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_verify
    linkageType: ''
    returnType: int
    signature: int argon2i_verify(const char *encoded, const void *pwd, const size_t
      pwdlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - encoded
    - pwd
    - pwdlen
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: argon2d_verify
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_verify
    linkageType: ''
    returnType: int
    signature: int argon2d_verify(const char *encoded, const void *pwd, const size_t
      pwdlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - encoded
    - pwd
    - pwdlen
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: argon2id_verify
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_verify
    linkageType: ''
    returnType: int
    signature: int argon2id_verify(const char *encoded, const void *pwd, const size_t
      pwdlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_ctx
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - argon2_context*
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: argon2d_ctx
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_ctx
    linkageType: ''
    returnType: int
    signature: int argon2d_ctx(argon2_context *context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_ctx
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - argon2_context*
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: argon2i_ctx
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_ctx
    linkageType: ''
    returnType: int
    signature: int argon2i_ctx(argon2_context *context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_ctx
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - argon2_context*
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: argon2id_ctx
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_ctx
    linkageType: ''
    returnType: int
    signature: int argon2id_ctx(argon2_context *context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_compare
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - context
    - hash
    - type
    argTypes:
    - argon2_context*
    - char*
    - argon2_type
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: argon2_verify_ctx
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 1
    functionsReached:
    - argon2_compare
    linkageType: ''
    returnType: int
    signature: "int argon2_verify_ctx(argon2_context *context, const char *hash,\n
      \                     argon2_type type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_verify_ctx
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - hash
    argTypes:
    - argon2_context*
    - char*
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: argon2d_verify_ctx
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_verify_ctx
    linkageType: ''
    returnType: int
    signature: int argon2d_verify_ctx(argon2_context *context, const char *hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_verify_ctx
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - hash
    argTypes:
    - argon2_context*
    - char*
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: argon2i_verify_ctx
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_verify_ctx
    linkageType: ''
    returnType: int
    signature: int argon2i_verify_ctx(argon2_context *context, const char *hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_verify_ctx
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - hash
    argTypes:
    - argon2_context*
    - char*
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: argon2id_verify_ctx
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_verify_ctx
    linkageType: ''
    returnType: int
    signature: int argon2id_verify_ctx(argon2_context *context, const char *hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 77
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 445
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 445
    functionName: argon2_error_message
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *argon2_error_message(int error_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:449,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:449,1
    - Dst: argon2_type2string
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:449,1
    - Dst: numlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:450,1
    - Dst: numlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:450,1
    - Dst: numlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:450,1
    - Dst: b64len
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:451,1
    - Dst: b64len
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:451,1
    - Dst: numlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/argon2.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - t_cost
    - m_cost
    - parallelism
    - saltlen
    - hashlen
    - type
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - argon2_type
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: argon2_encodedlen
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/argon2.c
    functionUses: 0
    functionsReached:
    - b64len
    - numlen
    - strlen
    - argon2_type2string
    linkageType: ''
    returnType: size_t
    signature: "size_t argon2_encodedlen(uint32_t t_cost, uint32_t m_cost, uint32_t
      parallelism,\n                         uint32_t saltlen, uint32_t hashlen, argon2_type
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:39,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:43,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:44,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:45,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:46,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:47,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:48,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:49,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:51,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:53,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:55,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:57,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:59,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:60,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:61,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: usage
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/run.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(const char *cmd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:67,1
    - Dst: exit
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: fatal
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/run.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void fatal(const char *error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:74,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - bytes_len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: print_hex
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/run.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_hex(uint8_t *bytes, size_t bytes_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:103,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:106,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:110,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:111,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:114,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:116,1
    - Dst: UNUSED_PARAMETER
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:119,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:121,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:123,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:124,1
    - Dst: argon2_encodedlen
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:127,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:128,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:130,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:131,1
    - Dst: argon2_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:134,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:138,1
    - Dst: argon2_error_message
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:138,1
    - Dst: clock
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:140,1
    - Dst: puts
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:143,1
    - Dst: print_hex
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:146,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:149,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:150,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:154,1
    - Dst: print_hex
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:155,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:156,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:158,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:160,1
    - Dst: argon2_verify
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:163,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:165,1
    - Dst: argon2_error_message
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:165,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:166,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 12
    argNames:
    - outlen
    - pwd
    - pwdlen
    - salt
    - t_cost
    - m_cost
    - lanes
    - threads
    - type
    - encoded_only
    - raw_only
    - version
    argTypes:
    - uint32_t
    - char*
    - size_t
    - char*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - argon2_type
    - int
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 168
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 168
    functionName: run
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/run.c
    functionUses: 4
    functionsReached:
    - print_hex
    - clock
    - strlen
    - free
    - malloc
    - fatal
    - clear_internal_memory
    - argon2_encodedlen
    - argon2_error_message
    - argon2_hash
    - puts
    - printf
    - argon2_verify
    - UNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: "void run(uint32_t outlen, char *pwd, size_t pwdlen, char *salt, uint32_t
      t_cost,\n                uint32_t m_cost, uint32_t lanes, uint32_t threads,\n
      \               argon2_type type, int encoded_only, int raw_only, uint32_t version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:187,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:189,1
    - Dst: usage
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:190,1
    - Dst: fread
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:195,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:197,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:200,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:209,1
    - Dst: usage
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:210,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:212,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:214,1
    - Dst: strtoul
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:219,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:222,1
    - Dst: ARGON2_MIN
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:224,1
    - Dst: UINT64_C
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:224,1
    - Dst: UINT32_C
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:224,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:226,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:230,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:232,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:234,1
    - Dst: strtoul
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:239,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:241,1
    - Dst: ARGON2_MIN
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:243,1
    - Dst: UINT32_C
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:243,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:245,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:249,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:251,1
    - Dst: strtoul
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:254,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:257,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:262,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:264,1
    - Dst: strtoul
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:267,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:270,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:276,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:278,1
    - Dst: strtoul
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:281,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:285,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:287,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:290,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:293,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:296,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:298,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:300,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:303,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:305,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:308,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:311,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:314,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:319,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:323,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:326,1
    - Dst: argon2_type2string
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:326,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:327,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:328,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:329,1
    - Dst: run
      Src: /src/cryptofuzz/modules/reference/argon2/src/run.c:332,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 148
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 336
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 336
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/run.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    - usage
    - fread
    - ARGON2_MIN
    - fatal
    - strcmp
    - UINT64_C
    - run
    - argon2_type2string
    - strtoul
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_xor_si512
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:45,1
    - Dst: _mm512_loadu_si512
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:46,1
    - Dst: _mm512_xor_si512
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:47,1
    - Dst: _mm512_loadu_si512
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:48,1
    - Dst: _mm512_xor_si512
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:52,1
    - Dst: _mm512_loadu_si512
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:53,1
    - Dst: BLAKE2_ROUND_1
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:58,1
    - Dst: BLAKE2_ROUND_2
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:64,1
    - Dst: _mm512_xor_si512
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:70,1
    - Dst: _mm512_storeu_si512
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - state
    - ref_block
    - next_block
    - with_xor
    argTypes:
    - __m512i*
    - block*
    - block*
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 73
    functionName: fill_block
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/opt.c
    functionUses: 2
    functionsReached:
    - BLAKE2_ROUND_2
    - _mm512_storeu_si512
    - _mm512_xor_si512
    - _mm512_loadu_si512
    - BLAKE2_ROUND_1
    linkageType: ''
    returnType: void
    signature: "void fill_block(__m512i *state, const block *ref_block,\n                       block
      *next_block, int with_xor)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:82,1
    - Dst: _mm256_loadu_si256
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:83,1
    - Dst: _mm256_xor_si256
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:84,1
    - Dst: _mm256_loadu_si256
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:85,1
    - Dst: _mm256_xor_si256
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:89,1
    - Dst: _mm256_loadu_si256
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:90,1
    - Dst: BLAKE2_ROUND_1
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:95,1
    - Dst: BLAKE2_ROUND_2
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:100,1
    - Dst: _mm256_xor_si256
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:105,1
    - Dst: _mm256_storeu_si256
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - state
    - ref_block
    - next_block
    - with_xor
    argTypes:
    - __m256i*
    - block*
    - block*
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: fill_block
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/opt.c
    functionUses: 2
    functionsReached:
    - _mm256_loadu_si256
    - BLAKE2_ROUND_2
    - _mm256_storeu_si256
    - _mm256_xor_si256
    - BLAKE2_ROUND_1
    linkageType: ''
    returnType: void
    signature: "void fill_block(__m256i *state, const block *ref_block,\n                       block
      *next_block, int with_xor)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:117,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:118,1
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:119,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:120,1
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:124,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:125,1
    - Dst: BLAKE2_ROUND
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:130,1
    - Dst: BLAKE2_ROUND
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:136,1
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:142,1
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - state
    - ref_block
    - next_block
    - with_xor
    argTypes:
    - __m128i*
    - block*
    - block*
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 145
    functionName: fill_block
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/opt.c
    functionUses: 2
    functionsReached:
    - BLAKE2_ROUND
    - _mm_xor_si128
    - _mm_storeu_si128
    - _mm_loadu_si128
    linkageType: ''
    returnType: void
    signature: "void fill_block(__m128i *state, const block *ref_block,\n                       block
      *next_block, int with_xor)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:161,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:162,1
    - Dst: fill_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:168,1
    - Dst: fill_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - address_block
    - input_block
    argTypes:
    - block*
    - block*
    constantsTouched: []
    func_position:
      end: 172
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 172
    functionName: next_addresses
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/opt.c
    functionUses: 1
    functionsReached:
    - fill_block
    - memset
    linkageType: ''
    returnType: void
    signature: void next_addresses(block *address_block, block *input_block)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_block_value
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:200,1
    - Dst: next_addresses
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:217,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:233,1
    - Dst: next_addresses
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:246,1
    - Dst: index_alpha
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:265,1
    - Dst: fill_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:274,1
    - Dst: fill_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:277,1
    - Dst: fill_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/opt.c:279,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - instance
    - position
    argTypes:
    - argon2_instance_t*
    - argon2_position_t
    constantsTouched: []
    func_position:
      end: 283
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 283
    functionName: fill_segment
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/opt.c
    functionUses: 0
    functionsReached:
    - next_addresses
    - init_block_value
    - fill_block
    - index_alpha
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void fill_segment(const argon2_instance_t *instance,\n                  argon2_position_t
      position)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:29,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:31,1
    - Dst: argon2_type2string
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:31,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:34,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:37,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:42,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:45,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:48,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:51,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:54,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:57,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:60,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:62,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:65,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:68,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:71,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:74,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:77,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:80,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:82,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:85,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:88,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - blockhash
    - context
    - type
    argTypes:
    - uint8_t*
    - argon2_context*
    - argon2_type
    constantsTouched: []
    func_position:
      end: 90
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 90
    functionName: initial_kat
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/genkat.c
    functionUses: 0
    functionsReached:
    - printf
    - argon2_type2string
    linkageType: ''
    returnType: void
    signature: "void initial_kat(const uint8_t *blockhash, const argon2_context *context,\n
      \                argon2_type type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:95,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:98,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - outlen
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: print_tag
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/genkat.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_tag(const void *out, uint32_t outlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:109,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - instance
    - pass
    argTypes:
    - argon2_instance_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: internal_kat
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/genkat.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void internal_kat(const argon2_instance_t *instance, uint32_t pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:125,1
    - Dst: exit
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: fatal
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/genkat.c
    functionUses: 2
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void fatal(const char *error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:149,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:150,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:151,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:152,1
    - Dst: argon2_ctx
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 2
    argNames:
    - type
    - version
    argTypes:
    - argon2_type
    - uint32_t
    constantsTouched: []
    func_position:
      end: 180
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 180
    functionName: generate_testvectors
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/genkat.c
    functionUses: 0
    functionsReached:
    - memset
    - argon2_ctx
    linkageType: ''
    returnType: void
    signature: void generate_testvectors(argon2_type type, const uint32_t version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:187,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:189,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:191,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:194,1
    - Dst: strtoul
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:199,1
    - Dst: fatal
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:202,1
    - Dst: generate_testvectors
      Src: /src/cryptofuzz/modules/reference/argon2/src/genkat.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 207
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/genkat.c
    functionUses: 0
    functionsReached:
    - generate_testvectors
    - strtoul
    - fatal
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - in
    argTypes:
    - block*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: init_block_value
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_block_value(block *b, uint8_t in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - block*
    - block*
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: copy_block
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void copy_block(block *dst, const block *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - block*
    - block*
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: xor_block
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xor_block(block *dst, const block *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load64
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - input
    argTypes:
    - block*
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: load_block
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 0
    functionsReached:
    - load64
    linkageType: ''
    returnType: void
    signature: void load_block(block *dst, const void *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store64
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - output
    - src
    argTypes:
    - void*
    - block*
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: store_block
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 0
    functionsReached:
    - store64
    linkageType: ''
    returnType: void
    signature: void store_block(void *output, const block *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - context
    - memory
    - num
    - size
    argTypes:
    - argon2_context*
    - uint8_t**
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 113
    functionName: allocate_memory
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: "int allocate_memory(const argon2_context *context, uint8_t **memory,\n
      \                   size_t num, size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:118,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - context
    - memory
    - num
    - size
    argTypes:
    - argon2_context*
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: free_memory
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 0
    functionsReached:
    - clear_internal_memory
    - free
    linkageType: ''
    returnType: void
    signature: "void free_memory(const argon2_context *context, uint8_t *memory,\n
      \                size_t num, size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VC_GE_2005
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:135,1
    - Dst: SecureZeroMemory
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:136,1
    - Dst: memset_s
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:138,1
    - Dst: explicit_bzero
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:140,1
    - Dst: memset_sec
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - v
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: NOT_OPTIMIZED::secure_wipe_memory
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 0
    functionsReached:
    - VC_GE_2005
    - memset_sec
    - memset_s
    - explicit_bzero
    - SecureZeroMemory
    linkageType: ''
    returnType: void
    signature: void NOT_OPTIMIZED secure_wipe_memory(void *v, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_wipe_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - v
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: clear_internal_memory
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 3
    functionsReached:
    - secure_wipe_memory
    linkageType: ''
    returnType: void
    signature: void clear_internal_memory(void *v, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:160,1
    - Dst: xor_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:166,1
    - Dst: store_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:172,1
    - Dst: blake2b_long
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:173,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:176,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:177,1
    - Dst: print_tag
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:181,1
    - Dst: free_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - context
    - instance
    argTypes:
    - argon2_context*
    - argon2_instance_t*
    constantsTouched: []
    func_position:
      end: 187
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 187
    functionName: finalize
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 14
    functionsReached:
    - copy_block
    - print_tag
    - xor_block
    - free_memory
    - clear_internal_memory
    - blake2b_long
    - store_block
    linkageType: ''
    returnType: void
    signature: void finalize(const argon2_context *context, argon2_instance_t *instance)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - instance
    - position
    - pseudo_rand
    - same_lane
    argTypes:
    - argon2_instance_t*
    - argon2_position_t*
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 257
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 257
    functionName: index_alpha
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t index_alpha(const argon2_instance_t *instance,\n                     const
      argon2_position_t *position, uint32_t pseudo_rand,\n                     int
      same_lane)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_segment
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:267,1
    - Dst: internal_kat
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - instance
    argTypes:
    - argon2_instance_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 275
    functionName: fill_memory_blocks_st
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 0
    functionsReached:
    - internal_kat
    - fill_segment
    linkageType: ''
    returnType: int
    signature: int fill_memory_blocks_st(argon2_instance_t *instance)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_segment
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:286,1
    - Dst: argon2_thread_exit
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - thread_data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: fill_segment_thr
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 0
    functionsReached:
    - argon2_thread_exit
    - fill_segment
    linkageType: ''
    returnType: void
    signature: void *fill_segment_thr(void *thread_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:299,1
    - Dst: calloc
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:305,1
    - Dst: argon2_thread_join
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:321,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:334,1
    - Dst: argon2_thread_create
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:336,1
    - Dst: argon2_thread_join
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:340,1
    - Dst: argon2_thread_join
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:352,1
    - Dst: internal_kat
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:360,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:366,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:369,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 1
    argNames:
    - instance
    argTypes:
    - argon2_instance_t*
    constantsTouched: []
    func_position:
      end: 372
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 372
    functionName: fill_memory_blocks_mt
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 0
    functionsReached:
    - argon2_thread_create
    - internal_kat
    - free
    - memcpy
    - argon2_thread_join
    - calloc
    linkageType: ''
    returnType: int
    signature: int fill_memory_blocks_mt(argon2_instance_t *instance)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_memory_blocks_st
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:381,1
    - Dst: fill_memory_blocks_st
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:384,1
    - Dst: fill_memory_blocks_mt
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - instance
    argTypes:
    - argon2_instance_t*
    constantsTouched: []
    func_position:
      end: 386
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 386
    functionName: fill_memory_blocks
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 1
    functionsReached:
    - fill_memory_blocks_st
    - fill_memory_blocks_mt
    linkageType: ''
    returnType: int
    signature: int fill_memory_blocks(argon2_instance_t *instance)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 1
    argNames:
    - context
    argTypes:
    - argon2_context*
    constantsTouched: []
    func_position:
      end: 513
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 513
    functionName: validate_inputs
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int validate_inputs(const argon2_context *context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:522,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:523,1
    - Dst: blake2b_long
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:524,1
    - Dst: load_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:526,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:529,1
    - Dst: blake2b_long
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:530,1
    - Dst: load_block
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:532,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - blockhash
    - instance
    argTypes:
    - uint8_t*
    - argon2_instance_t*
    constantsTouched: []
    func_position:
      end: 536
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 536
    functionName: fill_first_blocks
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 0
    functionsReached:
    - clear_internal_memory
    - store32
    - blake2b_long
    - load_block
    linkageType: ''
    returnType: void
    signature: void fill_first_blocks(uint8_t *blockhash, const argon2_instance_t
      *instance)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:547,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:549,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:550,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:552,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:553,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:555,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:556,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:558,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:559,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:561,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:562,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:564,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:565,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:567,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:568,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:571,1
    - Dst: secure_wipe_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:575,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:580,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:581,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:584,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:588,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:589,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:592,1
    - Dst: secure_wipe_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:596,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:601,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:602,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:605,1
    - Dst: blake2b_final
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:609,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 3
    argNames:
    - blockhash
    - context
    - type
    argTypes:
    - uint8_t*
    - argon2_context*
    - argon2_type
    constantsTouched: []
    func_position:
      end: 610
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 610
    functionName: initial_hash
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 0
    functionsReached:
    - store32
    - blake2b_update
    - blake2b_init
    - blake2b_final
    - secure_wipe_memory
    linkageType: ''
    returnType: void
    signature: "void initial_hash(uint8_t *blockhash, argon2_context *context,\n                  argon2_type
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:621,1
    - Dst: initial_hash
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:631,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:633,1
    - Dst: initial_kat
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:638,1
    - Dst: fill_first_blocks
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:643,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/core.c:645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - instance
    - context
    argTypes:
    - argon2_instance_t*
    - argon2_context*
    constantsTouched: []
    func_position:
      end: 648
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 648
    functionName: initialize
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/core.c
    functionUses: 5
    functionsReached:
    - initial_hash
    - clear_internal_memory
    - fill_first_blocks
    - initial_kat
    - allocate_memory
    linkageType: ''
    returnType: int
    signature: int initialize(argon2_instance_t *instance, argon2_context *context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _beginthreadex
      Src: /src/cryptofuzz/modules/reference/argon2/src/thread.c:31,1
    - Dst: pthread_create
      Src: /src/cryptofuzz/modules/reference/argon2/src/thread.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - handle
    - func
    - args
    argTypes:
    - argon2_thread_handle_t*
    - argon2_thread_func_t
    - void*
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: argon2_thread_create
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/thread.c
    functionUses: 2
    functionsReached:
    - _beginthreadex
    - pthread_create
    linkageType: ''
    returnType: int
    signature: "int argon2_thread_create(argon2_thread_handle_t *handle,\n                         argon2_thread_func_t
      func, void *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/cryptofuzz/modules/reference/argon2/src/thread.c:40,1
    - Dst: CloseHandle
      Src: /src/cryptofuzz/modules/reference/argon2/src/thread.c:41,1
    - Dst: pthread_join
      Src: /src/cryptofuzz/modules/reference/argon2/src/thread.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - argon2_thread_handle_t
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: argon2_thread_join
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/thread.c
    functionUses: 2
    functionsReached:
    - CloseHandle
    - WaitForSingleObject
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int argon2_thread_join(argon2_thread_handle_t handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _endthreadex
      Src: /src/cryptofuzz/modules/reference/argon2/src/thread.c:51,1
    - Dst: pthread_exit
      Src: /src/cryptofuzz/modules/reference/argon2/src/thread.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: argon2_thread_exit
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/thread.c
    functionUses: 1
    functionsReached:
    - pthread_exit
    - _endthreadex
    linkageType: ''
    returnType: void
    signature: void argon2_thread_exit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2-impl.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: load32
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2-impl.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE load32(const void *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2-impl.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: load64
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2-impl.h
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE load64(const void *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2-impl.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: store32
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2-impl.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE store32(void *dst, uint32_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2-impl.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: store64
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2-impl.h
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE store64(void *dst, uint64_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: load48
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2-impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE load48(const void *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 144
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 144
    functionName: store48
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2-impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE store48(void *dst, uint64_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - c
    argTypes:
    - uint32_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: rotr32
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2-impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE rotr32(const uint32_t w, const unsigned c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - c
    argTypes:
    - uint64_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: rotr64
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2-impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE rotr64(const uint64_t w, const unsigned c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - S
    argTypes:
    - blake2b_state*
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: blake2b_set_lastnode
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE blake2b_set_lastnode(blake2b_state *S)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_set_lastnode
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - S
    argTypes:
    - blake2b_state*
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: blake2b_set_lastblock
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 0
    functionsReached:
    - blake2b_set_lastnode
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE blake2b_set_lastblock(blake2b_state *S)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - S
    - inc
    argTypes:
    - blake2b_state*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: blake2b_increment_counter
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: "BLAKE2_INLINE blake2b_increment_counter(blake2b_state *S,\n                                                    uint64_t
      inc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:64,1
    - Dst: blake2b_set_lastblock
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - S
    argTypes:
    - blake2b_state*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: blake2b_invalidate_state
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 0
    functionsReached:
    - clear_internal_memory
    - blake2b_set_lastblock
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE blake2b_invalidate_state(blake2b_state *S)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:69,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - S
    argTypes:
    - blake2b_state*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: blake2b_init0
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE blake2b_init0(blake2b_state *S)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init0
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:81,1
    - Dst: load64
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - S
    - P
    argTypes:
    - blake2b_state*
    - blake2b_param*
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: blake2b_init_param
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 0
    functionsReached:
    - blake2b_init0
    - load64
    linkageType: ''
    returnType: int
    signature: int blake2b_init_param(blake2b_state *S, const blake2b_param *P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_invalidate_state
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:99,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:112,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:113,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:114,1
    - Dst: blake2b_init_param
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - S
    - outlen
    argTypes:
    - blake2b_state*
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 117
    functionName: blake2b_init
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 2
    functionsReached:
    - memset
    - blake2b_init_param
    - blake2b_invalidate_state
    linkageType: ''
    returnType: int
    signature: int blake2b_init(blake2b_state *S, size_t outlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_invalidate_state
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:128,1
    - Dst: blake2b_invalidate_state
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:133,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:146,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:147,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:148,1
    - Dst: blake2b_init_param
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:150,1
    - Dst: blake2b_invalidate_state
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:151,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:157,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:158,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:159,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - S
    - outlen
    - key
    - keylen
    argTypes:
    - blake2b_state*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 164
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 164
    functionName: blake2b_init_key
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 0
    functionsReached:
    - blake2b_update
    - memset
    - memcpy
    - clear_internal_memory
    - blake2b_init_param
    - blake2b_invalidate_state
    linkageType: ''
    returnType: int
    signature: "int blake2b_init_key(blake2b_state *S, size_t outlen, const void *key,\n
      \                    size_t keylen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load64
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:172,1
    - Dst: ROUND
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - S
    - block
    argTypes:
    - blake2b_state*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 222
    functionName: blake2b_compress
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 0
    functionsReached:
    - load64
    - ROUND
    linkageType: ''
    returnType: void
    signature: void blake2b_compress(blake2b_state *S, const uint8_t *block)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:245,1
    - Dst: blake2b_increment_counter
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:246,1
    - Dst: blake2b_compress
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:247,1
    - Dst: blake2b_increment_counter
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:253,1
    - Dst: blake2b_compress
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:254,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - S
    - in
    - inlen
    argTypes:
    - blake2b_state*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 262
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 262
    functionName: blake2b_update
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 3
    functionsReached:
    - blake2b_compress
    - blake2b_increment_counter
    - memcpy
    linkageType: ''
    returnType: int
    signature: int blake2b_update(blake2b_state *S, const void *in, size_t inlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_increment_counter
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:278,1
    - Dst: blake2b_set_lastblock
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:279,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:280,1
    - Dst: blake2b_compress
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:281,1
    - Dst: store64
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:284,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:287,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:288,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:289,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - S
    - out
    - outlen
    argTypes:
    - blake2b_state*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 292
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 292
    functionName: blake2b_final
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 2
    functionsReached:
    - memset
    - memcpy
    - clear_internal_memory
    - blake2b_compress
    - blake2b_increment_counter
    - blake2b_set_lastblock
    - store64
    linkageType: ''
    returnType: int
    signature: int blake2b_final(blake2b_state *S, void *out, size_t outlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init_key
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:313,1
    - Dst: blake2b_init
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:317,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:322,1
    - Dst: blake2b_final
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:325,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:328,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 6
    argNames:
    - out
    - outlen
    - in
    - inlen
    - key
    - keylen
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 330
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 330
    functionName: blake2b
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 1
    functionsReached:
    - blake2b_init_key
    - blake2b_update
    - blake2b_init
    - clear_internal_memory
    - blake2b_final
    linkageType: ''
    returnType: int
    signature: "int blake2b(void *out, size_t outlen, const void *in, size_t inlen,\n
      \           const void *key, size_t keylen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:344,1
    - Dst: TRY
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:355,1
    - Dst: blake2b_init
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:355,1
    - Dst: TRY
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:356,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:356,1
    - Dst: TRY
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:357,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:357,1
    - Dst: TRY
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:358,1
    - Dst: blake2b_final
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:358,1
    - Dst: TRY
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:363,1
    - Dst: blake2b_init
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:363,1
    - Dst: TRY
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:364,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:364,1
    - Dst: TRY
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:365,1
    - Dst: blake2b_update
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:365,1
    - Dst: TRY
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:366,1
    - Dst: blake2b_final
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:366,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:367,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:372,1
    - Dst: TRY
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:373,1
    - Dst: blake2b
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:373,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:375,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:380,1
    - Dst: TRY
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:381,1
    - Dst: blake2b
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:381,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:383,1
    - Dst: clear_internal_memory
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 4
    argNames:
    - pout
    - outlen
    - in
    - inlen
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 389
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 389
    functionName: blake2b_long
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blake2b.c
    functionUses: 2
    functionsReached:
    - store32
    - blake2b_update
    - blake2b_init
    - TRY
    - memcpy
    - clear_internal_memory
    - blake2b_final
    - blake2b
    linkageType: ''
    returnType: int
    signature: int blake2b_long(void *pout, size_t outlen, const void *in, size_t
      inlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: fBlaMka
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blamka-round-ref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE fBlaMka(uint64_t x, uint64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_mul_epu32
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blamka-round-opt.h:60,1
    - Dst: _mm_add_epi64
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blamka-round-opt.h:61,1
    - Dst: _mm_add_epi64
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blamka-round-opt.h:61,1
    - Dst: _mm_add_epi64
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blamka-round-opt.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: fBlaMka
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blamka-round-opt.h
    functionUses: 0
    functionsReached:
    - _mm_add_epi64
    - _mm_mul_epu32
    linkageType: ''
    returnType: BLAKE2_INLINE
    signature: BLAKE2_INLINE fBlaMka(__m128i x, __m128i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_mul_epu32
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blamka-round-opt.h:338,1
    - Dst: _mm512_add_epi64
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blamka-round-opt.h:339,1
    - Dst: _mm512_add_epi64
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blamka-round-opt.h:339,1
    - Dst: _mm512_add_epi64
      Src: /src/cryptofuzz/modules/reference/argon2/src/blake2/blamka-round-opt.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m512i
    - __m512i
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: muladd
    functionSourceFile: /src/cryptofuzz/modules/reference/argon2/src/blake2/blamka-round-opt.h
    functionUses: 1
    functionsReached:
    - _mm512_mul_epu32
    - _mm512_add_epi64
    linkageType: ''
    returnType: __m512i
    signature: __m512i muladd(__m512i x, __m512i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1712
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1712
    functionName: XXH_malloc
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_CONSTF
    signature: XXH_CONSTF * XXH_malloc(size_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1713
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1713
    functionName: XXH_free
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XXH_free(void* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:1727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1727
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1727
    functionName: XXH_malloc
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: XXH_MALLOCF
    signature: XXH_MALLOCF * XXH_malloc(size_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:1733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1733
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1733
    functionName: XXH_free
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void XXH_free(void* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:1745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1746
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1746
    functionName: XXH_memcpy
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void * XXH_memcpy(void* dest, const void* src, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1925
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1925
    functionName: XXH_read32
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH_read32(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1943
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1943
    functionName: XXH_read32
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH_read32(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:1954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1956
      start: 1951
    functionDepth: 1
    functionLinenumber: 1951
    functionLinenumberEnd: 1956
    functionName: XXH_read32
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH_read32(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 2006
    functionName: XXH_isLittleEndian
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int XXH_isLittleEndian(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - xxh_u32
    constantsTouched: []
    func_position:
      end: 2070
      start: 2064
    functionDepth: 0
    functionLinenumber: 2064
    functionLinenumberEnd: 2070
    functionName: XXH_swap32
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH_swap32 (xxh_u32 x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2101
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2101
    functionName: XXH_readLE32
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readLE32(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2110
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2110
    functionName: XXH_readBE32
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readBE32(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_read32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2115,1
    - Dst: XXH_swap32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2115,1
    - Dst: XXH_read32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2116
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2116
    functionName: XXH_readLE32
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_swap32
    - XXH_read32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readLE32(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_swap32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2120,1
    - Dst: XXH_read32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2120,1
    - Dst: XXH_read32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2121
      start: 2118
    functionDepth: 1
    functionLinenumber: 2118
    functionLinenumberEnd: 2121
    functionName: XXH_readBE32
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_swap32
    - XXH_read32
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH_readBE32(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2128,1
    - Dst: XXH_swap32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - align
    argTypes:
    - void*
    - XXH_alignment
    constantsTouched: []
    func_position:
      end: 2132
      start: 2124
    functionDepth: 1
    functionLinenumber: 2124
    functionLinenumberEnd: 2132
    functionName: XXH_readLE32_align
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_swap32
    - XXH_readLE32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readLE32_align(const void* ptr, XXH_alignment
      align)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2139
    functionName: XXH_versionNumber
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_PUBLIC_API unsigned
    signature: XXH_PUBLIC_API unsigned XXH_versionNumber (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2182,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - acc
    - input
    argTypes:
    - xxh_u32
    - xxh_u32
    constantsTouched: []
    func_position:
      end: 2221
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2221
    functionName: XXH32_round
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_COMPILER_GUARD
    - XXH_rotl32
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH32_round(xxh_u32 acc, xxh_u32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hash
    argTypes:
    - xxh_u32
    constantsTouched: []
    func_position:
      end: 2241
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2241
    functionName: XXH32_avalanche
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH32_avalanche(xxh_u32 hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2274,1
    - Dst: XXH32_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2287,1
    - Dst: XXH32_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2295,1
    - Dst: XXH32_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2303,1
    - Dst: XXH32_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2312,1
    - Dst: XXH32_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2326,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 70
    argCount: 4
    argNames:
    - hash
    - ptr
    - len
    - align
    argTypes:
    - xxh_u32
    - xxh_u8*
    - size_t
    - XXH_alignment
    constantsTouched: []
    func_position:
      end: 2331
      start: 2260
    functionDepth: 1
    functionLinenumber: 2260
    functionLinenumberEnd: 2331
    functionName: XXH32_finalize
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_avalanche
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_PUREF
    signature: XXH_PUREF XXH32_finalize(xxh_u32 hash, const xxh_u8* ptr, size_t len,
      XXH_alignment align)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2354,1
    - Dst: XXH32_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2365,1
    - Dst: XXH_get32bits
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2365,1
    - Dst: XXH32_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2366,1
    - Dst: XXH_get32bits
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2366,1
    - Dst: XXH32_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2367,1
    - Dst: XXH_get32bits
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2367,1
    - Dst: XXH32_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2368,1
    - Dst: XXH_get32bits
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2368,1
    - Dst: XXH_rotl32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2371,1
    - Dst: XXH_rotl32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2371,1
    - Dst: XXH_rotl32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2372,1
    - Dst: XXH_rotl32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2372,1
    - Dst: XXH32_finalize
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - input
    - len
    - seed
    - align
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u32
    - XXH_alignment
    constantsTouched: []
    func_position:
      end: 2380
      start: 2349
    functionDepth: 2
    functionLinenumber: 2349
    functionLinenumberEnd: 2380
    functionName: XXH32_endian_align
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_finalize
    - XXH_get32bits
    - XXH_rotl32
    - XXH_ASSERT
    - XXH32_round
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH32_endian_align(const xxh_u8* input, size_t len,
      xxh_u32 seed, XXH_alignment align)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH32_reset
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2388,1
    - Dst: XXH32_update
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2389,1
    - Dst: XXH32_digest
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2390,1
    - Dst: XXH32_endian_align
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2394,1
    - Dst: XXH32_endian_align
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - XXH32_hash_t
    constantsTouched: []
    func_position:
      end: 2399
      start: 2383
    functionDepth: 3
    functionLinenumber: 2383
    functionLinenumberEnd: 2399
    functionName: XXH32_hash_t
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_endian_align
    - XXH32_reset
    - XXH32_update
    - XXH32_digest
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_hash_t XXH32 (const void* input, size_t len, XXH32_hash_t
      seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_malloc
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2409
    functionName: XXH32_state_t* XXH32_createState(void)
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_malloc
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_state_t* XXH32_createState(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_free
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH32_state_t*
    constantsTouched: []
    func_position:
      end: 2415
      start: 2411
    functionDepth: 1
    functionLinenumber: 2411
    functionLinenumberEnd: 2415
    functionName: XXH_errorcode::XXH32_freeState
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_free
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH32_freeState(XXH32_state_t* statePtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dstState
    - srcState
    argTypes:
    - XXH32_state_t*
    - XXH32_state_t*
    constantsTouched: []
    func_position:
      end: 2421
      start: 2418
    functionDepth: 1
    functionLinenumber: 2418
    functionLinenumberEnd: 2421
    functionName: XXH32_copyState
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_copyState(XXH32_state_t* dstState, const XXH32_state_t*
      srcState)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2426,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - statePtr
    - seed
    argTypes:
    - XXH32_state_t*
    - XXH32_hash_t
    constantsTouched: []
    func_position:
      end: 2433
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2433
    functionName: XXH_errorcode::XXH32_reset
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - memset
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH32_reset(XXH32_state_t* statePtr, XXH32_hash_t
      seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2441,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2452,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2458,1
    - Dst: XXH32_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2460,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2460,1
    - Dst: XXH32_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2461,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2461,1
    - Dst: XXH32_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2462,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2462,1
    - Dst: XXH32_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2463,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2463,1
    - Dst: XXH32_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2473,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2473,1
    - Dst: XXH32_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2474,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2474,1
    - Dst: XXH32_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2475,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2475,1
    - Dst: XXH32_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2476,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2476,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 3
    argNames:
    - state
    - input
    - len
    argTypes:
    - XXH32_state_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2488
      start: 2437
    functionDepth: 1
    functionLinenumber: 2437
    functionLinenumberEnd: 2488
    functionName: XXH_errorcode::XXH32_update
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_round
    - XXH_memcpy
    - XXH_readLE32
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH32_update(XXH32_state_t* state, const void* input, size_t len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2497,1
    - Dst: XXH_rotl32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2498,1
    - Dst: XXH_rotl32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2499,1
    - Dst: XXH_rotl32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2500,1
    - Dst: XXH32_finalize
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - XXH32_state_t*
    constantsTouched: []
    func_position:
      end: 2508
      start: 2492
    functionDepth: 2
    functionLinenumber: 2492
    functionLinenumberEnd: 2508
    functionName: XXH32_hash_t::XXH32_digest
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_finalize
    - XXH_rotl32
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_hash_t XXH32_digest(const XXH32_state_t* state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2529,1
    - Dst: XXH_swap32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2530,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - hash
    argTypes:
    - XXH32_canonical_t*
    - XXH32_hash_t
    constantsTouched: []
    func_position:
      end: 2532
      start: 2527
    functionDepth: 1
    functionLinenumber: 2527
    functionLinenumberEnd: 2532
    functionName: XXH32_canonicalFromHash
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_STATIC_ASSERT
    - XXH_memcpy
    - XXH_swap32
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_canonicalFromHash(XXH32_canonical_t* dst, XXH32_hash_t
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readBE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - XXH32_canonical_t*
    constantsTouched: []
    func_position:
      end: 2537
      start: 2534
    functionDepth: 1
    functionLinenumber: 2534
    functionLinenumberEnd: 2537
    functionName: XXH32_hash_t::XXH32_hashFromCanonical
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readBE32
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canonical_t*
      src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2569
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2569
    functionName: XXH_read64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH_read64(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2587
      start: 2583
    functionDepth: 0
    functionLinenumber: 2583
    functionLinenumberEnd: 2587
    functionName: XXH_read64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH_read64(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2600
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2600
    functionName: XXH_read64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH_read64(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 2619
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2619
    functionName: XXH_swap64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH_swap64(xxh_u64 x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2637
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2637
    functionName: XXH_readLE64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readLE64(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2650
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2650
    functionName: XXH_readBE64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readBE64(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_read64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2655,1
    - Dst: XXH_swap64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2655,1
    - Dst: XXH_read64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2656
      start: 2653
    functionDepth: 1
    functionLinenumber: 2653
    functionLinenumberEnd: 2656
    functionName: XXH_readLE64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_read64
    - XXH_swap64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readLE64(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_swap64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2660,1
    - Dst: XXH_read64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2660,1
    - Dst: XXH_read64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2661
      start: 2658
    functionDepth: 1
    functionLinenumber: 2658
    functionLinenumberEnd: 2661
    functionName: XXH_readBE64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_read64
    - XXH_swap64
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH_readBE64(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2668,1
    - Dst: XXH_swap64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - align
    argTypes:
    - void*
    - XXH_alignment
    constantsTouched: []
    func_position:
      end: 2671
      start: 2664
    functionDepth: 1
    functionLinenumber: 2664
    functionLinenumberEnd: 2671
    functionName: XXH_readLE64_align
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readLE64
    - XXH_swap64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readLE64_align(const void* ptr, XXH_alignment
      align)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - acc
    - input
    argTypes:
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 2705
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2705
    functionName: XXH64_round
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_rotl64
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH64_round(xxh_u64 acc, xxh_u64 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - acc
    - val
    argTypes:
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 2713
      start: 2707
    functionDepth: 1
    functionLinenumber: 2707
    functionLinenumberEnd: 2713
    functionName: XXH64_mergeRound
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_round
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH64_mergeRound(xxh_u64 acc, xxh_u64 val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hash
    argTypes:
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 2724
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2724
    functionName: XXH64_avalanche
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH64_avalanche(xxh_u64 hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2747,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2750,1
    - Dst: XXH_get64bits
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2750,1
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2753,1
    - Dst: XXH_get32bits
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2757,1
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2759,1
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2764,1
    - Dst: XXH64_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - hash
    - ptr
    - len
    - align
    argTypes:
    - xxh_u64
    - xxh_u8*
    - size_t
    - XXH_alignment
    constantsTouched: []
    func_position:
      end: 2768
      start: 2744
    functionDepth: 1
    functionLinenumber: 2744
    functionLinenumberEnd: 2768
    functionName: XXH64_finalize
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_get32bits
    - XXH_rotl64
    - XXH64_round
    - XXH_ASSERT
    - XXH_get64bits
    - XXH64_avalanche
    linkageType: ''
    returnType: XXH_PUREF
    signature: XXH_PUREF XXH64_finalize(xxh_u64 hash, const xxh_u8* ptr, size_t len,
      XXH_alignment align)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2792,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2803,1
    - Dst: XXH_get64bits
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2803,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2804,1
    - Dst: XXH_get64bits
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2804,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2805,1
    - Dst: XXH_get64bits
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2805,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2806,1
    - Dst: XXH_get64bits
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2806,1
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2809,1
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2809,1
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2809,1
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2809,1
    - Dst: XXH64_mergeRound
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2810,1
    - Dst: XXH64_mergeRound
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2811,1
    - Dst: XXH64_mergeRound
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2812,1
    - Dst: XXH64_mergeRound
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2813,1
    - Dst: XXH64_finalize
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - input
    - len
    - seed
    - align
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u64
    - XXH_alignment
    constantsTouched: []
    func_position:
      end: 2822
      start: 2788
    functionDepth: 2
    functionLinenumber: 2788
    functionLinenumberEnd: 2822
    functionName: XXH64_endian_align
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_rotl64
    - XXH64_round
    - XXH_ASSERT
    - XXH64_finalize
    - XXH64_mergeRound
    - XXH_get64bits
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH64_endian_align(const xxh_u8* input, size_t len,
      xxh_u64 seed, XXH_alignment align)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_reset
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2831,1
    - Dst: XXH64_update
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2832,1
    - Dst: XXH64_digest
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2833,1
    - Dst: XXH64_endian_align
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2837,1
    - Dst: XXH64_endian_align
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 2843
      start: 2826
    functionDepth: 3
    functionLinenumber: 2826
    functionLinenumberEnd: 2843
    functionName: XXH64_hash_t
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_reset
    - XXH64_update
    - XXH64_digest
    - XXH64_endian_align
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_hash_t XXH64 (const void* input, size_t len, XXH64_hash_t
      seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_malloc
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2848
    functionDepth: 1
    functionLinenumber: 2848
    functionLinenumberEnd: 2851
    functionName: XXH64_state_t* XXH64_createState(void)
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_malloc
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_state_t* XXH64_createState(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_free
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH64_state_t*
    constantsTouched: []
    func_position:
      end: 2857
      start: 2853
    functionDepth: 1
    functionLinenumber: 2853
    functionLinenumberEnd: 2857
    functionName: XXH_errorcode::XXH64_freeState
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_free
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH64_freeState(XXH64_state_t* statePtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dstState
    - srcState
    argTypes:
    - XXH64_state_t*
    - XXH64_state_t*
    constantsTouched: []
    func_position:
      end: 2863
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2863
    functionName: XXH64_copyState
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_copyState(XXH64_state_t* dstState, const XXH64_state_t*
      srcState)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2868,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - statePtr
    - seed
    argTypes:
    - XXH64_state_t*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 2875
      start: 2866
    functionDepth: 0
    functionLinenumber: 2866
    functionLinenumberEnd: 2875
    functionName: XXH_errorcode::XXH64_reset
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - memset
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH64_reset(XXH64_state_t* statePtr, XXH64_hash_t
      seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2882,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2892,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2898,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2899,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2899,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2900,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2900,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2901,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2901,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2902,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2902,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2911,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2911,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2912,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2912,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2913,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2913,1
    - Dst: XXH64_round
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2914,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2914,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2920,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 3
    argNames:
    - state
    - input
    - len
    argTypes:
    - XXH64_state_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2926
      start: 2878
    functionDepth: 1
    functionLinenumber: 2878
    functionLinenumberEnd: 2926
    functionName: XXH_errorcode::XXH64_update
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    - XXH64_round
    - XXH_readLE64
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH64_update (XXH64_state_t* state, const void* input, size_t len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2935,1
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2935,1
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2935,1
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2935,1
    - Dst: XXH64_mergeRound
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2936,1
    - Dst: XXH64_mergeRound
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2937,1
    - Dst: XXH64_mergeRound
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2938,1
    - Dst: XXH64_mergeRound
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2939,1
    - Dst: XXH64_finalize
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - XXH64_state_t*
    constantsTouched: []
    func_position:
      end: 2947
      start: 2930
    functionDepth: 2
    functionLinenumber: 2930
    functionLinenumberEnd: 2947
    functionName: XXH64_hash_t::XXH64_digest
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_mergeRound
    - XXH_rotl64
    - XXH64_finalize
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_hash_t XXH64_digest(const XXH64_state_t* state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2955,1
    - Dst: XXH_swap64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2956,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - hash
    argTypes:
    - XXH64_canonical_t*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 2958
      start: 2953
    functionDepth: 1
    functionLinenumber: 2953
    functionLinenumberEnd: 2958
    functionName: XXH64_canonicalFromHash
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_STATIC_ASSERT
    - XXH_memcpy
    - XXH_swap64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_canonicalFromHash(XXH64_canonical_t* dst, XXH64_hash_t
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readBE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:2963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - XXH64_canonical_t*
    constantsTouched: []
    func_position:
      end: 2964
      start: 2961
    functionDepth: 1
    functionLinenumber: 2961
    functionLinenumberEnd: 2964
    functionName: XXH64_hash_t::XXH64_hashFromCanonical
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readBE64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canonical_t*
      src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3351
      start: 3348
    functionDepth: 0
    functionLinenumber: 3348
    functionLinenumberEnd: 3351
    functionName: XXH_vld1q_u64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vld1q_u64(void const* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vreinterpretq_u64_u8
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3355,1
    - Dst: vld1q_u8
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3356
      start: 3353
    functionDepth: 0
    functionLinenumber: 3353
    functionLinenumberEnd: 3356
    functionName: XXH_vld1q_u64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - vreinterpretq_u64_u8
    - vld1q_u8
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vld1q_u64(void const* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_perm
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - xxh_u64x2
    constantsTouched: []
    func_position:
      end: 3469
      start: 3464
    functionDepth: 0
    functionLinenumber: 3464
    functionLinenumberEnd: 3469
    functionName: XXH_vec_revb
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - vec_perm
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vec_revb(xxh_u64x2 val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3479,1
    - Dst: XXH_vec_revb
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3484
      start: 3476
    functionDepth: 1
    functionLinenumber: 3476
    functionLinenumberEnd: 3484
    functionName: XXH_vec_loadu
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    - XXH_vec_revb
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vec_loadu(const void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - xxh_u32x4
    - xxh_u32x4
    constantsTouched: []
    func_position:
      end: 3509
      start: 3504
    functionDepth: 0
    functionLinenumber: 3504
    functionLinenumberEnd: 3509
    functionName: XXH_vec_mulo
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vec_mulo(xxh_u32x4 a, xxh_u32x4 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - xxh_u32x4
    - xxh_u32x4
    constantsTouched: []
    func_position:
      end: 3515
      start: 3510
    functionDepth: 0
    functionLinenumber: 3510
    functionLinenumberEnd: 3515
    functionName: XXH_vec_mule
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vec_mule(xxh_u32x4 a, xxh_u32x4 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 3590
      start: 3586
    functionDepth: 0
    functionLinenumber: 3586
    functionLinenumberEnd: 3590
    functionName: XXH_mult32to64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_mult32to64(xxh_u64 x, xxh_u64 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _umul128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3654,1
    - Dst: __umulh
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3672,1
    - Dst: XXH_mult32to64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3720,1
    - Dst: XXH_mult32to64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3721,1
    - Dst: XXH_mult32to64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3722,1
    - Dst: XXH_mult32to64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3723,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 3735
      start: 3613
    functionDepth: 1
    functionLinenumber: 3613
    functionLinenumberEnd: 3735
    functionName: XXH_mult64to128
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - _umul128
    - __umulh
    - XXH_mult32to64
    linkageType: ''
    returnType: XXH128_hash_t
    signature: XXH128_hash_t XXH_mult64to128(xxh_u64 lhs, xxh_u64 rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_mult64to128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 3752
      start: 3747
    functionDepth: 2
    functionLinenumber: 3747
    functionLinenumberEnd: 3752
    functionName: XXH3_mul128_fold64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_mult64to128
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH3_mul128_fold64(xxh_u64 lhs, xxh_u64 rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - v64
    - shift
    argTypes:
    - xxh_u64
    - int
    constantsTouched: []
    func_position:
      end: 3759
      start: 3755
    functionDepth: 0
    functionLinenumber: 3755
    functionLinenumberEnd: 3759
    functionName: XXH_xorshift64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_xorshift64(xxh_u64 v64, int shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_xorshift64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3767,1
    - Dst: XXH_xorshift64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - h64
    argTypes:
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 3771
      start: 3765
    functionDepth: 1
    functionLinenumber: 3765
    functionLinenumberEnd: 3771
    functionName: XXH3_avalanche
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_xorshift64
    linkageType: ''
    returnType: XXH64_hash_t
    signature: XXH64_hash_t XXH3_avalanche(xxh_u64 h64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3781,1
    - Dst: XXH_rotl64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3781,1
    - Dst: XXH_xorshift64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - h64
    - len
    argTypes:
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 3786
      start: 3778
    functionDepth: 1
    functionLinenumber: 3778
    functionLinenumberEnd: 3786
    functionName: XXH3_rrmxmx
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_xorshift64
    - XXH_rotl64
    linkageType: ''
    returnType: XXH64_hash_t
    signature: XXH64_hash_t XXH3_rrmxmx(xxh_u64 h64, xxh_u64 len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3825,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3826,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3827,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3838,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3838,1
    - Dst: XXH64_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 3842
      start: 3822
    functionDepth: 1
    functionLinenumber: 3822
    functionLinenumberEnd: 3842
    functionName: XXH3_len_1to3_64b
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_avalanche
    - XXH_readLE32
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_1to3_64b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3847,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3848,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3849,1
    - Dst: XXH_swap32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3850,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3851,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3852,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3853,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3853,1
    - Dst: XXH3_rrmxmx
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 3858
      start: 3844
    functionDepth: 2
    functionLinenumber: 3844
    functionLinenumberEnd: 3858
    functionName: XXH3_len_4to8_64b
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_rrmxmx
    - XXH_ASSERT
    - XXH_swap32
    - XXH_readLE64
    - XXH_readLE32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_4to8_64b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3863,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3864,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3865,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3866,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3866,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3867,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3867,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3868,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3869,1
    - Dst: XXH_swap64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3871,1
    - Dst: XXH3_mul128_fold64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3872,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 3875
      start: 3860
    functionDepth: 3
    functionLinenumber: 3860
    functionLinenumberEnd: 3875
    functionName: XXH3_len_9to16_64b
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mul128_fold64
    - XXH_ASSERT
    - XXH_readLE64
    - XXH3_avalanche
    - XXH_swap64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_9to16_64b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3880,1
    - Dst: XXH_likely
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3881,1
    - Dst: XXH3_len_9to16_64b
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3881,1
    - Dst: XXH_likely
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3882,1
    - Dst: XXH3_len_4to8_64b
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3882,1
    - Dst: XXH3_len_1to3_64b
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3883,1
    - Dst: XXH64_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3884,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3884,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 3886
      start: 3877
    functionDepth: 4
    functionLinenumber: 3877
    functionLinenumberEnd: 3886
    functionName: XXH3_len_0to16_64b
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_len_4to8_64b
    - XXH_ASSERT
    - XXH_readLE64
    - XXH_likely
    - XXH3_len_1to3_64b
    - XXH3_len_9to16_64b
    - XXH64_avalanche
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_0to16_64b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_COMPILER_GUARD
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3935,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3937,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3938,1
    - Dst: XXH3_mul128_fold64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3939,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3940,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3941,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - seed64
    argTypes:
    - xxh_u8*
    - xxh_u8*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 3944
      start: 3914
    functionDepth: 3
    functionLinenumber: 3914
    functionLinenumberEnd: 3944
    functionName: XXH3_mix16B
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mul128_fold64
    - XXH_COMPILER_GUARD
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_mix16B(const xxh_u8* XXH_RESTRICT input,\n                                     const
      xxh_u8* XXH_RESTRICT secret, xxh_u64 seed64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3952,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3953,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3960,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3961,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3967,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3968,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3970,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3971,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3973,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3974,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3976,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3977,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 3981
      start: 3947
    functionDepth: 4
    functionLinenumber: 3947
    functionLinenumberEnd: 3981
    functionName: XXH3_len_17to128_64b
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_avalanche
    - XXH3_mix16B
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_len_17to128_64b(const xxh_u8* XXH_RESTRICT input,
      size_t len,\n                     const xxh_u8* XXH_RESTRICT secret, size_t
      secretSize,\n                     XXH64_hash_t seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3990,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:3991,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4000,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4002,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4003,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4030,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4033,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4034,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 4036
      start: 3985
    functionDepth: 4
    functionLinenumber: 3985
    functionLinenumberEnd: 4036
    functionName: XXH3_len_129to240_64b
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_avalanche
    - XXH3_mix16B
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH_NO_INLINE XXH3_len_129to240_64b(const xxh_u8* XXH_RESTRICT input,
      size_t len,\n                      const xxh_u8* XXH_RESTRICT secret, size_t
      secretSize,\n                      XXH64_hash_t seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_swap64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4052,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - v64
    argTypes:
    - void*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4054
      start: 4050
    functionDepth: 1
    functionLinenumber: 4050
    functionLinenumberEnd: 4054
    functionName: XXH_writeLE64
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    - XXH_swap64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_writeLE64(void* dst, xxh_u64 v64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4107,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4108,1
    - Dst: _mm512_loadu_si512
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4112,1
    - Dst: _mm512_loadu_si512
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4114,1
    - Dst: _mm512_xor_si512
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4116,1
    - Dst: _mm512_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4118,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4118,1
    - Dst: _mm512_mul_epu32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4120,1
    - Dst: _mm512_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4122,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4122,1
    - Dst: _mm512_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4123,1
    - Dst: _mm512_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4127
      start: 4101
    functionDepth: 0
    functionLinenumber: 4101
    functionLinenumberEnd: 4127
    functionName: XXH3_accumulate_512_avx512
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - _MM_SHUFFLE
    - _mm512_mul_epu32
    - XXH_ASSERT
    - _mm512_xor_si512
    - _mm512_add_epi64
    - _mm512_shuffle_epi32
    - XXH_STATIC_ASSERT
    - _mm512_loadu_si512
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_avx512(void* XXH_RESTRICT acc,\n
      \                    const void* XXH_RESTRICT input,\n                     const
      void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4153,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4154,1
    - Dst: _mm512_set1_epi32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4156,1
    - Dst: _mm512_srli_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4160,1
    - Dst: _mm512_xor_si512
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4161,1
    - Dst: _mm512_loadu_si512
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4163,1
    - Dst: _mm512_xor_si512
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4164,1
    - Dst: _mm512_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4167,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4167,1
    - Dst: _mm512_mul_epu32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4168,1
    - Dst: _mm512_mul_epu32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4169,1
    - Dst: _mm512_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4170,1
    - Dst: _mm512_slli_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4172
      start: 4150
    functionDepth: 0
    functionLinenumber: 4150
    functionLinenumberEnd: 4172
    functionName: XXH3_scrambleAcc_avx512
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - _MM_SHUFFLE
    - _mm512_srli_epi64
    - _mm512_slli_epi64
    - _mm512_mul_epu32
    - XXH_ASSERT
    - _mm512_xor_si512
    - _mm512_add_epi64
    - _mm512_set1_epi32
    - _mm512_shuffle_epi32
    - XXH_STATIC_ASSERT
    - _mm512_loadu_si512
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_avx512(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4177,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4178,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4179,1
    - Dst: _mm512_mask_set1_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4182,1
    - Dst: _mm512_set1_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4182,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4187,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4188,1
    - Dst: _mm512_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4197,1
    - Dst: _mm512_stream_load_si512
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - XXH_RESTRICT customSecret
    - seed64
    argTypes:
    - void*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4199
      start: 4174
    functionDepth: 0
    functionLinenumber: 4174
    functionLinenumberEnd: 4199
    functionName: XXH3_initCustomSecret_avx512
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm512_set1_epi64
    - _mm512_stream_load_si512
    - XXH_ASSERT
    - _mm512_add_epi64
    - _mm512_mask_set1_epi64
    - XXH_STATIC_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_initCustomSecret_avx512(void* XXH_RESTRICT customSecret,
      xxh_u64 seed64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4215,1
    - Dst: _mm256_loadu_si256
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4227,1
    - Dst: _mm256_loadu_si256
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4229,1
    - Dst: _mm256_xor_si256
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4231,1
    - Dst: _mm256_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4233,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4233,1
    - Dst: _mm256_mul_epu32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4235,1
    - Dst: _mm256_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4237,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4237,1
    - Dst: _mm256_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4238,1
    - Dst: _mm256_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4242
      start: 4210
    functionDepth: 0
    functionLinenumber: 4210
    functionLinenumberEnd: 4242
    functionName: XXH3_accumulate_512_avx2
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - _MM_SHUFFLE
    - _mm256_loadu_si256
    - _mm256_shuffle_epi32
    - XXH_ASSERT
    - _mm256_mul_epu32
    - _mm256_xor_si256
    - _mm256_add_epi64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_avx2( void* XXH_RESTRICT acc,\n
      \                   const void* XXH_RESTRICT input,\n                    const
      void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4247,1
    - Dst: _mm256_set1_epi32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4252,1
    - Dst: _mm256_srli_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4258,1
    - Dst: _mm256_xor_si256
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4259,1
    - Dst: _mm256_loadu_si256
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4261,1
    - Dst: _mm256_xor_si256
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4262,1
    - Dst: _mm256_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4265,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4265,1
    - Dst: _mm256_mul_epu32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4266,1
    - Dst: _mm256_mul_epu32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4267,1
    - Dst: _mm256_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4268,1
    - Dst: _mm256_slli_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4271
      start: 4244
    functionDepth: 0
    functionLinenumber: 4244
    functionLinenumberEnd: 4271
    functionName: XXH3_scrambleAcc_avx2
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - _MM_SHUFFLE
    - _mm256_srli_epi64
    - _mm256_loadu_si256
    - _mm256_shuffle_epi32
    - XXH_ASSERT
    - _mm256_set1_epi32
    - _mm256_mul_epu32
    - _mm256_xor_si256
    - _mm256_slli_epi64
    - _mm256_add_epi64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_avx2(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4275,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4276,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4277,1
    - Dst: XXH_PREFETCH
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4279,1
    - Dst: _mm256_set_epi64x
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4280,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4291,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4293,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4294,1
    - Dst: _mm256_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4297,1
    - Dst: _mm256_stream_load_si256
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4297,1
    - Dst: _mm256_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4298,1
    - Dst: _mm256_stream_load_si256
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4298,1
    - Dst: _mm256_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4299,1
    - Dst: _mm256_stream_load_si256
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4299,1
    - Dst: _mm256_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4300,1
    - Dst: _mm256_stream_load_si256
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4300,1
    - Dst: _mm256_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4301,1
    - Dst: _mm256_stream_load_si256
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4301,1
    - Dst: _mm256_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4302,1
    - Dst: _mm256_stream_load_si256
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - XXH_RESTRICT customSecret
    - seed64
    argTypes:
    - void*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4304
      start: 4273
    functionDepth: 0
    functionLinenumber: 4273
    functionLinenumberEnd: 4304
    functionName: XXH3_initCustomSecret_avx2
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm256_stream_load_si256
    - XXH_ASSERT
    - _mm256_set_epi64x
    - XXH_COMPILER_GUARD
    - XXH_STATIC_ASSERT
    - XXH_PREFETCH
    - _mm256_add_epi64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_initCustomSecret_avx2(void* XXH_RESTRICT customSecret,
      xxh_u64 seed64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4321,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4333,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4335,1
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4337,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4339,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4339,1
    - Dst: _mm_mul_epu32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4341,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4343,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4343,1
    - Dst: _mm_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4344,1
    - Dst: _mm_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4348
      start: 4315
    functionDepth: 0
    functionLinenumber: 4315
    functionLinenumberEnd: 4348
    functionName: XXH3_accumulate_512_sse2
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - _MM_SHUFFLE
    - _mm_xor_si128
    - _mm_mul_epu32
    - XXH_ASSERT
    - _mm_loadu_si128
    - _mm_add_epi64
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_sse2( void* XXH_RESTRICT acc,\n
      \                   const void* XXH_RESTRICT input,\n                    const
      void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4353,1
    - Dst: _mm_set1_epi32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4358,1
    - Dst: _mm_srli_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4364,1
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4365,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4367,1
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4368,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4371,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4371,1
    - Dst: _mm_mul_epu32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4372,1
    - Dst: _mm_mul_epu32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4373,1
    - Dst: _mm_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4374,1
    - Dst: _mm_slli_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4377
      start: 4350
    functionDepth: 0
    functionLinenumber: 4350
    functionLinenumberEnd: 4377
    functionName: XXH3_scrambleAcc_sse2
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm_set1_epi32
    - _MM_SHUFFLE
    - _mm_xor_si128
    - _mm_mul_epu32
    - _mm_srli_epi64
    - XXH_ASSERT
    - _mm_loadu_si128
    - _mm_add_epi64
    - _mm_slli_epi64
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_sse2(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4381,1
    - Dst: XXH_ALIGN
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4387,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4388,1
    - Dst: _mm_set_epi64x
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4390,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4402,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4404,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4405,1
    - Dst: _mm_add_epi64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4408,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - XXH_RESTRICT customSecret
    - seed64
    argTypes:
    - void*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4410
      start: 4379
    functionDepth: 0
    functionLinenumber: 4379
    functionLinenumberEnd: 4410
    functionName: XXH3_initCustomSecret_sse2
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_COMPILER_GUARD
    - _mm_set_epi64x
    - XXH_STATIC_ASSERT
    - _mm_add_epi64
    - _mm_load_si128
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_initCustomSecret_sse2(void* XXH_RESTRICT customSecret,
      xxh_u64 seed64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4440,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4441,1
    - Dst: XXH3_scalarRound
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4451,1
    - Dst: XXH_vld1q_u64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4456,1
    - Dst: XXH_vld1q_u64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4458,1
    - Dst: vextq_u64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4462,1
    - Dst: veorq_u64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4464,1
    - Dst: XXH_SPLIT_IN_PLACE
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4468,1
    - Dst: vmlal_u32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4470,1
    - Dst: vaddq_u64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4477
      start: 4435
    functionDepth: 1
    functionLinenumber: 4435
    functionLinenumberEnd: 4477
    functionName: XXH3_accumulate_512_neon
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - vaddq_u64
    - veorq_u64
    - XXH_vld1q_u64
    - XXH_ASSERT
    - vmlal_u32
    - vextq_u64
    - XXH_STATIC_ASSERT
    - XXH3_scalarRound
    - XXH_SPLIT_IN_PLACE
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_neon( void* XXH_RESTRICT acc,\n
      \                   const void* XXH_RESTRICT input,\n                    const
      void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4482,1
    - Dst: vdup_n_u32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4486,1
    - Dst: XXH3_scalarScrambleRound
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4491,1
    - Dst: vshrq_n_u64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4496,1
    - Dst: veorq_u64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4497,1
    - Dst: XXH_vld1q_u64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4500,1
    - Dst: veorq_u64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4501,1
    - Dst: XXH_SPLIT_IN_PLACE
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4508,1
    - Dst: vmull_u32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4527,1
    - Dst: vshlq_n_u64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4529,1
    - Dst: vmlal_u32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4535
      start: 4479
    functionDepth: 1
    functionLinenumber: 4479
    functionLinenumberEnd: 4535
    functionName: XXH3_scrambleAcc_neon
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - vshrq_n_u64
    - vshlq_n_u64
    - vdup_n_u32
    - veorq_u64
    - XXH3_scalarScrambleRound
    - XXH_vld1q_u64
    - XXH_ASSERT
    - vmlal_u32
    - vmull_u32
    - XXH_SPLIT_IN_PLACE
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_neon(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_vec_loadu
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4554,1
    - Dst: XXH_vec_loadu
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4556,1
    - Dst: vec_rl
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4559,1
    - Dst: XXH_vec_mulo
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4561,1
    - Dst: vec_xl
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4563,1
    - Dst: vec_permi
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4568,1
    - Dst: vec_xxpermdi
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4570,1
    - Dst: vec_xst
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4575
      start: 4541
    functionDepth: 2
    functionLinenumber: 4541
    functionLinenumberEnd: 4575
    functionName: XXH3_accumulate_512_vsx
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_vec_mulo
    - vec_rl
    - vec_xst
    - vec_xxpermdi
    - vec_xl
    - vec_permi
    - XXH_vec_loadu
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_vsx(  void* XXH_RESTRICT acc,\n
      \                   const void* XXH_RESTRICT input,\n                    const
      void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4580,1
    - Dst: XXH_vec_loadu
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4595,1
    - Dst: XXH_vec_mule
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4600,1
    - Dst: XXH_vec_mulo
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4605
      start: 4577
    functionDepth: 2
    functionLinenumber: 4577
    functionLinenumberEnd: 4605
    functionName: XXH3_scrambleAcc_vsx
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_vec_loadu
    - XXH_vec_mule
    - XXH_vec_mulo
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_vsx(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4627,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4628,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4630,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4631,1
    - Dst: XXH_mult32to64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    - lane
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 4635
      start: 4618
    functionDepth: 1
    functionLinenumber: 4618
    functionLinenumberEnd: 4635
    functionName: XXH3_scalarRound
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 1
    functionsReached:
    - XXH_mult32to64
    - XXH_readLE64
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_scalarRound(void* XXH_RESTRICT acc,\n                 void
      const* XXH_RESTRICT input,\n                 void const* XXH_RESTRICT secret,\n
      \                size_t lane)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_scalarRound
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4657
      start: 4641
    functionDepth: 2
    functionLinenumber: 4641
    functionLinenumberEnd: 4657
    functionName: XXH3_accumulate_512_scalar
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_scalarRound
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_scalar(void* XXH_RESTRICT acc,\n
      \                    const void* XXH_RESTRICT input,\n                     const
      void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4673,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4674,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4676,1
    - Dst: XXH_xorshift64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - lane
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 4683
      start: 4666
    functionDepth: 1
    functionLinenumber: 4666
    functionLinenumberEnd: 4683
    functionName: XXH3_scalarScrambleRound
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 1
    functionsReached:
    - XXH_xorshift64
    - XXH_readLE64
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_scalarScrambleRound(void* XXH_RESTRICT acc,\n
      \                        void const* XXH_RESTRICT secret,\n                         size_t
      lane)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_scalarScrambleRound
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4696
      start: 4689
    functionDepth: 2
    functionLinenumber: 4689
    functionLinenumberEnd: 4696
    functionName: XXH3_scrambleAcc_scalar
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_scalarScrambleRound
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_scalar(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4707,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4742,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4748,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4759,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4760,1
    - Dst: XXH_writeLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4761,1
    - Dst: XXH_writeLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - XXH_RESTRICT customSecret
    - seed64
    argTypes:
    - void*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4764
      start: 4698
    functionDepth: 2
    functionLinenumber: 4698
    functionLinenumberEnd: 4764
    functionName: XXH3_initCustomSecret_scalar
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_writeLE64
    - XXH_ASSERT
    - XXH_COMPILER_GUARD
    - XXH_readLE64
    - XXH_STATIC_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_initCustomSecret_scalar(void* XXH_RESTRICT customSecret,
      xxh_u64 seed64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_mul128_fold64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4885,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4886,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - xxh_u64*
    - xxh_u8*
    constantsTouched: []
    func_position:
      end: 4888
      start: 4882
    functionDepth: 3
    functionLinenumber: 4882
    functionLinenumberEnd: 4888
    functionName: XXH3_mix2Accs
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mul128_fold64
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_mix2Accs(const xxh_u64* XXH_RESTRICT acc, const
      xxh_u8* XXH_RESTRICT secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_mix2Accs
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4897,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4910,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - start
    argTypes:
    - xxh_u64*
    - xxh_u8*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4915
      start: 4890
    functionDepth: 4
    functionLinenumber: 4890
    functionLinenumberEnd: 4915
    functionName: XXH3_mergeAccs
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mix2Accs
    - XXH3_avalanche
    - XXH_COMPILER_GUARD
    linkageType: ''
    returnType: XXH64_hash_t
    signature: XXH64_hash_t XXH3_mergeAccs(const xxh_u64* XXH_RESTRICT acc, const
      xxh_u8* XXH_RESTRICT secret, xxh_u64 start)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4926,1
    - Dst: XXH3_hashLong_internal_loop
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4928,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4931,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4934,1
    - Dst: XXH3_mergeAccs
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - f_acc512
    - f_scramble
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - XXH3_f_accumulate_512
    - XXH3_f_scrambleAcc
    constantsTouched: []
    func_position:
      end: 4936
      start: 4920
    functionDepth: 5
    functionLinenumber: 4920
    functionLinenumberEnd: 4936
    functionName: XXH64_hash_t::XXH3_hashLong_64b_internal
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mergeAccs
    - XXH_ASSERT
    - XXH3_hashLong_internal_loop
    - XXH_STATIC_ASSERT
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH64_hash_t\nXXH3_hashLong_64b_internal(const void*
      XXH_RESTRICT input, size_t len,\n                           const void* XXH_RESTRICT
      secret, size_t secretSize,\n                           XXH3_f_accumulate_512
      f_acc512,\n                           XXH3_f_scrambleAcc f_scramble)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - xxh_u8*
    - size_t
    constantsTouched: []
    func_position:
      end: 4949
      start: 4943
    functionDepth: 6
    functionLinenumber: 4943
    functionLinenumberEnd: 4949
    functionName: XXH64_hash_t::XXH3_hashLong_64b_withSecret
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 6
    functionsReached:
    - XXH64_hash_t::XXH3_hashLong_64b_internal
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH64_hash_t\nXXH3_hashLong_64b_withSecret(const
      void* XXH_RESTRICT input, size_t len,\n                             XXH64_hash_t
      seed64, const xxh_u8* XXH_RESTRICT secret, size_t secretLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_hashLong_64b_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - xxh_u8*
    - size_t
    constantsTouched: []
    func_position:
      end: 4963
      start: 4957
    functionDepth: 0
    functionLinenumber: 4957
    functionLinenumberEnd: 4963
    functionName: XXH3_hashLong_64b_default
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_hashLong_64b_internal
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH_NO_INLINE XXH3_hashLong_64b_default(const void* XXH_RESTRICT input,
      size_t len,\n                          XXH64_hash_t seed64, const xxh_u8* XXH_RESTRICT
      secret, size_t secretLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4985,1
    - Dst: XXH_ALIGN
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4989,1
    - Dst: f_initSec
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4990,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:4991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - input
    - len
    - seed
    - f_acc512
    - f_scramble
    - f_initSec
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - XXH3_f_accumulate_512
    - XXH3_f_scrambleAcc
    - XXH3_f_initCustomSecret
    constantsTouched: []
    func_position:
      end: 4994
      start: 4976
    functionDepth: 6
    functionLinenumber: 4976
    functionLinenumberEnd: 4994
    functionName: XXH64_hash_t::XXH3_hashLong_64b_withSeed_internal
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_hashLong_64b_internal
    - XXH_ALIGN
    - f_initSec
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH64_hash_t\nXXH3_hashLong_64b_withSeed_internal(const
      void* input, size_t len,\n                                    XXH64_hash_t seed,\n
      \                                   XXH3_f_accumulate_512 f_acc512,\n                                    XXH3_f_scrambleAcc
      f_scramble,\n                                    XXH3_f_initCustomSecret f_initSec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSeed_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - xxh_u8*
    - size_t
    constantsTouched: []
    func_position:
      end: 5006
      start: 4999
    functionDepth: 7
    functionLinenumber: 4999
    functionLinenumberEnd: 5006
    functionName: XXH64_hash_t::XXH3_hashLong_64b_withSeed
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_hashLong_64b_withSeed_internal
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH_NO_INLINE XXH64_hash_t\nXXH3_hashLong_64b_withSeed(const void*
      XXH_RESTRICT input, size_t len,\n                           XXH64_hash_t seed,
      const xxh_u8* XXH_RESTRICT secret, size_t secretLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5017,1
    - Dst: XXH3_len_0to16_64b
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5026,1
    - Dst: XXH3_len_17to128_64b
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5028,1
    - Dst: XXH3_len_129to240_64b
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5030,1
    - Dst: f_hashLong
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    - f_hashLong
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    - XXH3_hashLong64_f
    constantsTouched: []
    func_position:
      end: 5032
      start: 5012
    functionDepth: 5
    functionLinenumber: 5012
    functionLinenumberEnd: 5032
    functionName: XXH64_hash_t::XXH3_64bits_internal
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - f_hashLong
    - XXH3_len_129to240_64b
    - XXH_ASSERT
    - XXH3_len_0to16_64b
    - XXH3_len_17to128_64b
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH64_hash_t\nXXH3_64bits_internal(const void* XXH_RESTRICT
      input, size_t len,\n                     XXH64_hash_t seed64, const void* XXH_RESTRICT
      secret, size_t secretLen,\n                     XXH3_hashLong64_f f_hashLong)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_64bits_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5041
      start: 5038
    functionDepth: 6
    functionLinenumber: 5038
    functionLinenumberEnd: 5041
    functionName: XXH64_hash_t::XXH3_64bits
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_64bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_hash_t XXH3_64bits(const void* input, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_64bits_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - length
    - secret
    - secretSize
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5048
      start: 5044
    functionDepth: 6
    functionLinenumber: 5044
    functionLinenumberEnd: 5048
    functionName: XXH64_hash_t::XXH3_64bits_withSecret
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_64bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH64_hash_t

      XXH3_64bits_withSecret(const void* input, size_t length, const void* secret,
      size_t secretSize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_64bits_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - length
    - seed
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5055
      start: 5051
    functionDepth: 6
    functionLinenumber: 5051
    functionLinenumberEnd: 5055
    functionName: XXH64_hash_t::XXH3_64bits_withSeed
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_64bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH64_hash_t

      XXH3_64bits_withSeed(const void* input, size_t length, XXH64_hash_t seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_64bits_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5061,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSecret
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - input
    - length
    - secret
    - secretSize
    - seed
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5063
      start: 5057
    functionDepth: 7
    functionLinenumber: 5057
    functionLinenumberEnd: 5063
    functionName: XXH64_hash_t::XXH3_64bits_withSecretandSeed
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_64bits_internal
    - XXH64_hash_t::XXH3_hashLong_64b_withSecret
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH64_hash_t

      XXH3_64bits_withSecretandSeed(const void* input, size_t length, const void*
      secret, size_t secretSize, XXH64_hash_t seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5093,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5094,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5095,1
    - Dst: XXH_malloc
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5097,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s
    - align
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 5117
      start: 5091
    functionDepth: 1
    functionLinenumber: 5091
    functionLinenumberEnd: 5117
    functionName: XXH_alignedMalloc
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_malloc
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_MALLOCF
    signature: XXH_MALLOCF * XXH_alignedMalloc(size_t s, size_t align)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_free
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5132
      start: 5122
    functionDepth: 1
    functionLinenumber: 5122
    functionLinenumberEnd: 5132
    functionName: XXH_alignedFree
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_free
    linkageType: ''
    returnType: void
    signature: void XXH_alignedFree(void* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_alignedMalloc
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5136,1
    - Dst: XXH3_INITSTATE
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5140
      start: 5134
    functionDepth: 2
    functionLinenumber: 5134
    functionLinenumberEnd: 5140
    functionName: XXH3_state_t* XXH3_createState(void)
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_alignedMalloc
    - XXH3_INITSTATE
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH3_state_t* XXH3_createState(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_alignedFree
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH3_state_t*
    constantsTouched: []
    func_position:
      end: 5147
      start: 5143
    functionDepth: 2
    functionLinenumber: 5143
    functionLinenumberEnd: 5147
    functionName: XXH_errorcode::XXH3_freeState
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_alignedFree
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH3_freeState(XXH3_state_t* statePtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst_state
    - src_state
    argTypes:
    - XXH3_state_t*
    - XXH3_state_t*
    constantsTouched: []
    func_position:
      end: 5154
      start: 5150
    functionDepth: 1
    functionLinenumber: 5150
    functionLinenumberEnd: 5154
    functionName: XXH3_copyState
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH3_copyState(XXH3_state_t* dst_state, const XXH3_state_t*
      src_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5163,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5164,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5166,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 4
    argNames:
    - statePtr
    - seed
    - secret
    - secretSize
    argTypes:
    - XXH3_state_t*
    - XXH64_hash_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5181
      start: 5156
    functionDepth: 0
    functionLinenumber: 5156
    functionLinenumberEnd: 5181
    functionName: XXH3_reset_internal
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - memset
    - XXH_ASSERT
    linkageType: ''
    returnType: void
    signature: "void XXH3_reset_internal(XXH3_state_t* statePtr,\n                    XXH64_hash_t
      seed,\n                    const void* secret, size_t secretSize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_reset_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH3_state_t*
    constantsTouched: []
    func_position:
      end: 5190
      start: 5184
    functionDepth: 1
    functionLinenumber: 5184
    functionLinenumberEnd: 5190
    functionName: XXH_errorcode::XXH3_64bits_reset
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_reset_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_64bits_reset(XXH3_state_t* statePtr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_reset_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - statePtr
    - secret
    - secretSize
    argTypes:
    - XXH3_state_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5201
      start: 5193
    functionDepth: 1
    functionLinenumber: 5193
    functionLinenumberEnd: 5201
    functionName: XXH_errorcode::XXH3_64bits_reset_withSecret
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_reset_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_64bits_reset_withSecret(XXH3_state_t* statePtr, const void* secret, size_t
      secretSize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5208,1
    - Dst: XXH3_initCustomSecret
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5210,1
    - Dst: XXH3_reset_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - statePtr
    - seed
    argTypes:
    - XXH3_state_t*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5213
      start: 5204
    functionDepth: 2
    functionLinenumber: 5204
    functionLinenumberEnd: 5213
    functionName: XXH_errorcode::XXH3_64bits_reset_withSeed
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_reset_internal
    - XXH_errorcode::XXH3_64bits_reset
    - XXH3_initCustomSecret
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_64bits_reset_withSeed(XXH3_state_t* statePtr, XXH64_hash_t seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_reset_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - statePtr
    - secret
    - secretSize
    - seed64
    argTypes:
    - XXH3_state_t*
    - void*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5225
      start: 5216
    functionDepth: 1
    functionLinenumber: 5216
    functionLinenumberEnd: 5225
    functionName: XXH_errorcode::XXH3_64bits_reset_withSecretandSeed
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_reset_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_64bits_reset_withSecretandSeed(XXH3_state_t* statePtr, const void* secret,
      size_t secretSize, XXH64_hash_t seed64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_update
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - input
    - len
    argTypes:
    - XXH3_state_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5383
      start: 5378
    functionDepth: 0
    functionLinenumber: 5378
    functionLinenumberEnd: 5383
    functionName: XXH_errorcode::XXH3_64bits_update
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_update
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_64bits_update(XXH3_state_t* state, const void* input, size_t len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5395,1
    - Dst: XXH3_consumeStripes
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5399,1
    - Dst: XXH3_accumulate_512
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5405,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5411,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5412,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5413,1
    - Dst: XXH3_accumulate_512
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - acc
    - state
    - secret
    argTypes:
    - XXH64_hash_t*
    - XXH3_state_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 5418
      start: 5386
    functionDepth: 1
    functionLinenumber: 5386
    functionLinenumberEnd: 5418
    functionName: XXH3_digest_long
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_memcpy
    - XXH3_consumeStripes
    - XXH3_accumulate_512
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_digest_long (XXH64_hash_t* acc,\n                  const
      XXH3_state_t* state,\n                  const unsigned char* secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5425,1
    - Dst: XXH3_digest_long
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5426,1
    - Dst: XXH3_mergeAccs
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5427,1
    - Dst: XXH64_hash_t::XXH3_64bits_withSeed
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5433,1
    - Dst: XXH64_hash_t::XXH3_64bits_withSecret
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - XXH3_state_t*
    constantsTouched: []
    func_position:
      end: 5436
      start: 5421
    functionDepth: 7
    functionLinenumber: 5421
    functionLinenumberEnd: 5436
    functionName: XXH64_hash_t::XXH3_64bits_digest
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mergeAccs
    - XXH64_hash_t::XXH3_64bits_withSecret
    - XXH3_digest_long
    - XXH64_hash_t::XXH3_64bits_withSeed
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_hash_t XXH3_64bits_digest (const XXH3_state_t*
      state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5461,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5462,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5463,1
    - Dst: XXH_rotl32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5474,1
    - Dst: XXH_swap32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5474,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5475,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5475,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5476,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5476,1
    - Dst: XXH64_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5480,1
    - Dst: XXH64_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5484
      start: 5457
    functionDepth: 1
    functionLinenumber: 5457
    functionLinenumberEnd: 5484
    functionName: XXH3_len_1to3_128b
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_rotl32
    - XXH_ASSERT
    - XXH_swap32
    - XXH_readLE32
    - XXH64_avalanche
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_1to3_128b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5489,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5490,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5491,1
    - Dst: XXH_swap32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5492,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5493,1
    - Dst: XXH_readLE32
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5494,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5496,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5496,1
    - Dst: XXH_mult64to128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5500,1
    - Dst: XXH_xorshift64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5505,1
    - Dst: XXH_xorshift64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5507,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5511
      start: 5486
    functionDepth: 2
    functionLinenumber: 5486
    functionLinenumberEnd: 5511
    functionName: XXH3_len_4to8_128b
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_xorshift64
    - XXH_mult64to128
    - XXH_ASSERT
    - XXH_swap32
    - XXH_readLE64
    - XXH_readLE32
    - XXH3_avalanche
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_4to8_128b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5516,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5517,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5518,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5519,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5519,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5520,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5520,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5521,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5522,1
    - Dst: XXH_mult64to128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5523,1
    - Dst: XXH_mult32to64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5544,1
    - Dst: XXH_mult32to64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5570,1
    - Dst: XXH_swap64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5573,1
    - Dst: XXH_mult64to128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5576,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5579,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5583
      start: 5513
    functionDepth: 2
    functionLinenumber: 5513
    functionLinenumberEnd: 5583
    functionName: XXH3_len_9to16_128b
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_mult32to64
    - XXH_mult64to128
    - XXH_ASSERT
    - XXH_readLE64
    - XXH3_avalanche
    - XXH_swap64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_9to16_128b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5591,1
    - Dst: XXH3_len_9to16_128b
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5592,1
    - Dst: XXH3_len_4to8_128b
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5593,1
    - Dst: XXH3_len_1to3_128b
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5594,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5596,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5596,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5597,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5597,1
    - Dst: XXH64_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5598,1
    - Dst: XXH64_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5602
      start: 5588
    functionDepth: 3
    functionLinenumber: 5588
    functionLinenumberEnd: 5602
    functionName: XXH3_len_0to16_128b
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_len_9to16_128b
    - XXH3_len_1to3_128b
    - XXH3_len_4to8_128b
    - XXH_ASSERT
    - XXH_readLE64
    - XXH64_avalanche
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_0to16_128b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5611,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5612,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5612,1
    - Dst: XXH3_mix16B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5613,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5614,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - acc
    - input_1
    - input_2
    - secret
    - seed
    argTypes:
    - XXH128_hash_t
    - xxh_u8*
    - xxh_u8*
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5616
      start: 5607
    functionDepth: 4
    functionLinenumber: 5607
    functionLinenumberEnd: 5616
    functionName: XXH128_hash_t::XXH128_mix32B
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readLE64
    - XXH3_mix16B
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH128_hash_t\nXXH128_mix32B(XXH128_hash_t acc, const
      xxh_u8* input_1, const xxh_u8* input_2,\n              const xxh_u8* secret,
      XXH64_hash_t seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5624,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5625,1
    - Dst: XXH128_mix32B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5636,1
    - Dst: XXH128_mix32B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5643,1
    - Dst: XXH128_mix32B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5645,1
    - Dst: XXH128_mix32B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5647,1
    - Dst: XXH128_mix32B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5649,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5656,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5661
      start: 5619
    functionDepth: 2
    functionLinenumber: 5619
    functionLinenumberEnd: 5661
    functionName: XXH3_len_17to128_128b
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_avalanche
    - XXH128_mix32B
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_len_17to128_128b(const xxh_u8* XXH_RESTRICT
      input, size_t len,\n                      const xxh_u8* XXH_RESTRICT secret,
      size_t secretSize,\n                      XXH64_hash_t seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5668,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5669,1
    - Dst: XXH128_mix32B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5677,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5683,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5684,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5685,1
    - Dst: XXH128_mix32B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5687,1
    - Dst: XXH128_mix32B
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5694,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5705,1
    - Dst: XXH3_avalanche
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5710
      start: 5663
    functionDepth: 2
    functionLinenumber: 5663
    functionLinenumberEnd: 5710
    functionName: XXH3_len_129to240_128b
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_avalanche
    - XXH128_mix32B
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH_NO_INLINE XXH3_len_129to240_128b(const xxh_u8* XXH_RESTRICT input,
      size_t len,\n                       const xxh_u8* XXH_RESTRICT secret, size_t
      secretSize,\n                       XXH64_hash_t seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5718,1
    - Dst: XXH3_hashLong_internal_loop
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5720,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5723,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5724,1
    - Dst: XXH3_mergeAccs
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5726,1
    - Dst: XXH3_mergeAccs
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - f_acc512
    - f_scramble
    argTypes:
    - void*
    - size_t
    - xxh_u8*
    - size_t
    - XXH3_f_accumulate_512
    - XXH3_f_scrambleAcc
    constantsTouched: []
    func_position:
      end: 5735
      start: 5712
    functionDepth: 5
    functionLinenumber: 5712
    functionLinenumberEnd: 5735
    functionName: XXH128_hash_t::XXH3_hashLong_128b_internal
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mergeAccs
    - XXH_ASSERT
    - XXH3_hashLong_internal_loop
    - XXH_STATIC_ASSERT
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH128_hash_t\nXXH3_hashLong_128b_internal(const
      void* XXH_RESTRICT input, size_t len,\n                            const xxh_u8*
      XXH_RESTRICT secret, size_t secretSize,\n                            XXH3_f_accumulate_512
      f_acc512,\n                            XXH3_f_scrambleAcc f_scramble)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_hashLong_128b_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5748
      start: 5740
    functionDepth: 0
    functionLinenumber: 5740
    functionLinenumberEnd: 5748
    functionName: XXH3_hashLong_128b_default
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_hashLong_128b_internal
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH_NO_INLINE XXH3_hashLong_128b_default(const void* XXH_RESTRICT
      input, size_t len,\n                           XXH64_hash_t seed64,\n                           const
      void* XXH_RESTRICT secret, size_t secretLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5762
      start: 5754
    functionDepth: 6
    functionLinenumber: 5754
    functionLinenumberEnd: 5762
    functionName: XXH128_hash_t::XXH3_hashLong_128b_withSecret
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_hashLong_128b_internal
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH128_hash_t\nXXH3_hashLong_128b_withSecret(const
      void* XXH_RESTRICT input, size_t len,\n                              XXH64_hash_t
      seed64,\n                              const void* XXH_RESTRICT secret, size_t
      secretLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5772,1
    - Dst: XXH_ALIGN
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5775,1
    - Dst: f_initSec
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5776,1
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - f_acc512
    - f_scramble
    - f_initSec
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - XXH3_f_accumulate_512
    - XXH3_f_scrambleAcc
    - XXH3_f_initCustomSecret
    constantsTouched: []
    func_position:
      end: 5780
      start: 5764
    functionDepth: 6
    functionLinenumber: 5764
    functionLinenumberEnd: 5780
    functionName: XXH128_hash_t::XXH3_hashLong_128b_withSeed_internal
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_hashLong_128b_internal
    - XXH_ALIGN
    - f_initSec
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH128_hash_t\nXXH3_hashLong_128b_withSeed_internal(const
      void* XXH_RESTRICT input, size_t len,\n                                XXH64_hash_t
      seed64,\n                                XXH3_f_accumulate_512 f_acc512,\n                                XXH3_f_scrambleAcc
      f_scramble,\n                                XXH3_f_initCustomSecret f_initSec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_withSeed_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - input
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5792
      start: 5785
    functionDepth: 7
    functionLinenumber: 5785
    functionLinenumberEnd: 5792
    functionName: XXH128_hash_t::XXH3_hashLong_128b_withSeed
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_hashLong_128b_withSeed_internal
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH_NO_INLINE XXH128_hash_t\nXXH3_hashLong_128b_withSeed(const void*
      input, size_t len,\n                            XXH64_hash_t seed64, const void*
      XXH_RESTRICT secret, size_t secretLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5802,1
    - Dst: XXH3_len_0to16_128b
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5810,1
    - Dst: XXH3_len_17to128_128b
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5812,1
    - Dst: XXH3_len_129to240_128b
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5814,1
    - Dst: f_hl128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - input
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    - f_hl128
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    - XXH3_hashLong128_f
    constantsTouched: []
    func_position:
      end: 5816
      start: 5797
    functionDepth: 4
    functionLinenumber: 5797
    functionLinenumberEnd: 5816
    functionName: XXH128_hash_t::XXH3_128bits_internal
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_len_0to16_128b
    - XXH_ASSERT
    - f_hl128
    - XXH3_len_129to240_128b
    - XXH3_len_17to128_128b
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH128_hash_t\nXXH3_128bits_internal(const void*
      input, size_t len,\n                      XXH64_hash_t seed64, const void* XXH_RESTRICT
      secret, size_t secretLen,\n                      XXH3_hashLong128_f f_hl128)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5827
      start: 5822
    functionDepth: 5
    functionLinenumber: 5822
    functionLinenumberEnd: 5827
    functionName: XXH128_hash_t::XXH3_128bits
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH128_hash_t XXH3_128bits(const void* input, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - secretSize
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5836
      start: 5830
    functionDepth: 5
    functionLinenumber: 5830
    functionLinenumberEnd: 5836
    functionName: XXH128_hash_t::XXH3_128bits_withSecret
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH128_hash_t

      XXH3_128bits_withSecret(const void* input, size_t len, const void* secret, size_t
      secretSize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5845
      start: 5839
    functionDepth: 5
    functionLinenumber: 5839
    functionLinenumberEnd: 5845
    functionName: XXH128_hash_t::XXH3_128bits_withSeed
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH128_hash_t

      XXH3_128bits_withSeed(const void* input, size_t len, XXH64_hash_t seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_internal
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5852,1
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_withSecret
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - input
    - len
    - secret
    - secretSize
    - seed
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5854
      start: 5848
    functionDepth: 7
    functionLinenumber: 5848
    functionLinenumberEnd: 5854
    functionName: XXH128_hash_t::XXH3_128bits_withSecretandSeed
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_internal
    - XXH128_hash_t::XXH3_hashLong_128b_withSecret
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH128_hash_t

      XXH3_128bits_withSecretandSeed(const void* input, size_t len, const void* secret,
      size_t secretSize, XXH64_hash_t seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_withSeed
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5861
      start: 5857
    functionDepth: 6
    functionLinenumber: 5857
    functionLinenumberEnd: 5861
    functionName: XXH128_hash_t::XXH128
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_withSeed
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH128_hash_t

      XXH128(const void* input, size_t len, XXH64_hash_t seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH3_state_t*
    constantsTouched: []
    func_position:
      end: 5876
      start: 5872
    functionDepth: 2
    functionLinenumber: 5872
    functionLinenumberEnd: 5876
    functionName: XXH_errorcode::XXH3_128bits_reset
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_reset
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_128bits_reset(XXH3_state_t* statePtr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset_withSecret
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - statePtr
    - secret
    - secretSize
    argTypes:
    - XXH3_state_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5883
      start: 5879
    functionDepth: 2
    functionLinenumber: 5879
    functionLinenumberEnd: 5883
    functionName: XXH_errorcode::XXH3_128bits_reset_withSecret
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_reset_withSecret
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_128bits_reset_withSecret(XXH3_state_t* statePtr, const void* secret, size_t
      secretSize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset_withSeed
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - statePtr
    - seed
    argTypes:
    - XXH3_state_t*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5890
      start: 5886
    functionDepth: 3
    functionLinenumber: 5886
    functionLinenumberEnd: 5890
    functionName: XXH_errorcode::XXH3_128bits_reset_withSeed
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_reset_withSeed
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_128bits_reset_withSeed(XXH3_state_t* statePtr, XXH64_hash_t seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset_withSecretandSeed
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - statePtr
    - secret
    - secretSize
    - seed
    argTypes:
    - XXH3_state_t*
    - void*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5897
      start: 5893
    functionDepth: 2
    functionLinenumber: 5893
    functionLinenumberEnd: 5897
    functionName: XXH_errorcode::XXH3_128bits_reset_withSecretandSeed
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_reset_withSecretandSeed
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, const void* secret,
      size_t secretSize, XXH64_hash_t seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_update
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - input
    - len
    argTypes:
    - XXH3_state_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5905
      start: 5900
    functionDepth: 0
    functionLinenumber: 5900
    functionLinenumberEnd: 5905
    functionName: XXH_errorcode::XXH3_128bits_update
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_update
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_128bits_update(XXH3_state_t* state, const void* input, size_t len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5912,1
    - Dst: XXH3_digest_long
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5913,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5914,1
    - Dst: XXH3_mergeAccs
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5916,1
    - Dst: XXH3_mergeAccs
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5919,1
    - Dst: XXH128_hash_t::XXH3_128bits_withSeed
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5928,1
    - Dst: XXH128_hash_t::XXH3_128bits_withSecret
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - XXH3_state_t*
    constantsTouched: []
    func_position:
      end: 5931
      start: 5908
    functionDepth: 6
    functionLinenumber: 5908
    functionLinenumberEnd: 5931
    functionName: XXH128_hash_t::XXH3_128bits_digest
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mergeAccs
    - XXH_ASSERT
    - XXH3_digest_long
    - XXH128_hash_t::XXH3_128bits_withSeed
    - XXH128_hash_t::XXH3_128bits_withSecret
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH128_hash_t XXH3_128bits_digest (const XXH3_state_t*
      state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h1
    - h2
    argTypes:
    - XXH128_hash_t
    - XXH128_hash_t
    constantsTouched: []
    func_position:
      end: 5943
      start: 5939
    functionDepth: 0
    functionLinenumber: 5939
    functionLinenumberEnd: 5943
    functionName: XXH128_isEqual
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH128_isEqual(XXH128_hash_t h1, XXH128_hash_t h2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h128_1
    - h128_2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5958
      start: 5950
    functionDepth: 0
    functionLinenumber: 5950
    functionLinenumberEnd: 5958
    functionName: XXH128_cmp
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH128_cmp(const void* h128_1, const void* h128_2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5966,1
    - Dst: XXH_swap64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5968,1
    - Dst: XXH_swap64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5969,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5971,1
    - Dst: XXH_memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - hash
    argTypes:
    - XXH128_canonical_t*
    - XXH128_hash_t
    constantsTouched: []
    func_position:
      end: 5973
      start: 5963
    functionDepth: 1
    functionLinenumber: 5963
    functionLinenumberEnd: 5973
    functionName: XXH128_canonicalFromHash
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_STATIC_ASSERT
    - XXH_memcpy
    - XXH_swap64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH128_canonicalFromHash(XXH128_canonical_t* dst, XXH128_hash_t
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readBE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5980,1
    - Dst: XXH_readBE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - XXH128_canonical_t*
    constantsTouched: []
    func_position:
      end: 5983
      start: 5976
    functionDepth: 1
    functionLinenumber: 5976
    functionLinenumberEnd: 5983
    functionName: XXH128_hash_t::XXH128_hashFromCanonical
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readBE64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH128_hash_t

      XXH128_hashFromCanonical(const XXH128_canonical_t* src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_writeLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5995,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5995,1
    - Dst: XXH_writeLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5996,1
    - Dst: XXH_readLE64
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:5996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - h128
    argTypes:
    - void*
    - XXH128_hash_t
    constantsTouched: []
    func_position:
      end: 5997
      start: 5993
    functionDepth: 2
    functionLinenumber: 5993
    functionLinenumberEnd: 5997
    functionName: XXH3_combine16
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_writeLE64
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_combine16(void* dst, XXH128_hash_t h128)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6004,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6005,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6017,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6026,1
    - Dst: XXH128_canonicalFromHash
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6033,1
    - Dst: XXH128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6033,1
    - Dst: XXH128
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6035,1
    - Dst: XXH3_combine16
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6036,1
    - Dst: XXH3_combine16
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6039,1
    - Dst: XXH128_hashFromCanonical
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6039,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - secretBuffer
    - secretSize
    - customSeed
    - customSeedSize
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 6042
      start: 6000
    functionDepth: 3
    functionLinenumber: 6000
    functionLinenumberEnd: 6042
    functionName: XXH_errorcode::XXH3_generateSecret
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hashFromCanonical
    - XXH128
    - memcpy
    - XXH_ASSERT
    - XXH3_combine16
    - XXH128_canonicalFromHash
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_generateSecret(void* secretBuffer, size_t secretSize, const void* customSeed,
      size_t customSeedSize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6048,1
    - Dst: XXH3_initCustomSecret
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6049,1
    - Dst: XXH_ASSERT
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6050,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/xxHash/xxhash.h:6051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - secretBuffer
    - seed
    argTypes:
    - void*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6052
      start: 6045
    functionDepth: 0
    functionLinenumber: 6045
    functionLinenumberEnd: 6052
    functionName: XXH3_generateSecret_fromSeed
    functionSourceFile: /src/cryptofuzz/modules/reference/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - memcpy
    - XXH_ALIGN
    - XXH3_initCustomSecret
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH3_generateSecret_fromSeed(void* secretBuffer, XXH64_hash_t
      seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1185,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1187,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1192,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1222,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1224,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1244,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1245,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1246,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1428,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1430,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1450,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1466,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1468,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 78
    argCount: 1
    argNames:
    - structpointer
    argTypes:
    - struct NESSIEstruct*
    constantsTouched: []
    func_position:
      end: 1480
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1480
    functionName: processBuffer
    functionSourceFile: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void processBuffer(struct NESSIEstruct * const structpointer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - structpointer
    argTypes:
    - struct NESSIEstruct*
    constantsTouched: []
    func_position:
      end: 1511
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1511
    functionName: NESSIEinit
    functionSourceFile: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void NESSIEinit(struct NESSIEstruct * const structpointer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LL
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1550,1
    - Dst: processBuffer
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1575,1
    - Dst: processBuffer
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1621,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - source
    - sourceBits
    - structpointer
    argTypes:
    - unsigned char*
    - unsigned long
    - struct NESSIEstruct*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1521
    functionDepth: 1
    functionLinenumber: 1521
    functionLinenumberEnd: 1632
    functionName: NESSIEadd
    functionSourceFile: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c
    functionUses: 1
    functionsReached:
    - processBuffer
    - LL
    linkageType: ''
    returnType: void
    signature: "void NESSIEadd(const unsigned char * const source,\n               unsigned
      long sourceBits,\n               struct NESSIEstruct * const structpointer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1658,1
    - Dst: processBuffer
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1663,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1670,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1676,1
    - Dst: processBuffer
      Src: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c:1680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - structpointer
    - result
    argTypes:
    - struct NESSIEstruct*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1697
      start: 1639
    functionDepth: 1
    functionLinenumber: 1639
    functionLinenumberEnd: 1697
    functionName: NESSIEfinalize
    functionSourceFile: /src/cryptofuzz/modules/reference/whirlpool/Whirlpool.c
    functionUses: 1
    functionsReached:
    - memset
    - memcpy
    - processBuffer
    linkageType: ''
    returnType: void
    signature: "void NESSIEfinalize(struct NESSIEstruct * const structpointer,\n                    unsigned
      char * const result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 13
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 13
    functionName: loadu
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 2
    functionsReached:
    - _mm_loadu_si128
    linkageType: ''
    returnType: INLINE
    signature: INLINE loadu(const uint8_t src[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - __m128i
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: storeu
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - _mm_storeu_si128
    linkageType: ''
    returnType: INLINE
    signature: INLINE storeu(__m128i src, uint8_t dest[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: addv
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - _mm_add_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE addv(__m128i a, __m128i b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: xorv
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - _mm_xor_si128
    linkageType: ''
    returnType: INLINE
    signature: INLINE xorv(__m128i a, __m128i b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: set1
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - _mm_set1_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE set1(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setr_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: set4
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - _mm_setr_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE set4(uint32_t a, uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:31,1
    - Dst: _mm_set_epi8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: rot16
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - _mm_set_epi8
    - _mm_shuffle_epi8
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot16(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:36,1
    - Dst: _mm_srli_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:36,1
    - Dst: _mm_slli_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: rot12
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - xorv
    - _mm_srli_epi32
    - _mm_slli_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot12(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:40,1
    - Dst: _mm_set_epi8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: rot8
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - _mm_set_epi8
    - _mm_shuffle_epi8
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot8(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:45,1
    - Dst: _mm_srli_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:45,1
    - Dst: _mm_slli_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: rot7
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - xorv
    - _mm_srli_epi32
    - _mm_slli_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot7(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:50,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:50,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:51,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:52,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:53,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:54,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - row0
    - row1
    - row2
    - row3
    - m
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: g1
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 17
    functionsReached:
    - xorv
    - rot12
    - addv
    - rot16
    linkageType: ''
    returnType: INLINE
    signature: "INLINE g1(__m128i *row0, __m128i *row1, __m128i *row2, __m128i *row3,\n
      \              __m128i m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:60,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:60,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:61,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:62,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:63,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:64,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - row0
    - row1
    - row2
    - row3
    - m
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: g2
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 13
    functionsReached:
    - xorv
    - rot7
    - addv
    - rot8
    linkageType: ''
    returnType: INLINE
    signature: "INLINE g2(__m128i *row0, __m128i *row1, __m128i *row2, __m128i *row3,\n
      \              __m128i m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:72,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:72,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:73,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:73,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:74,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - row0
    - row2
    - row3
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: diagonalize
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - _MM_SHUFFLE
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE diagonalize(__m128i *row0, __m128i *row2, __m128i *row3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:78,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:78,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:79,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:79,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:80,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - row0
    - row2
    - row3
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: undiagonalize
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - _MM_SHUFFLE
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE undiagonalize(__m128i *row0, __m128i *row2, __m128i *row3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:86,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:87,1
    - Dst: set4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:88,1
    - Dst: set4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:89,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:89,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:89,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:92,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:93,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:94,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:95,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:101,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:101,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:102,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:103,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:103,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:104,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:105,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:106,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:106,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:107,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:107,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:108,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:109,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:109,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:110,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:110,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:111,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:112,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:120,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:120,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:121,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:121,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:122,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:123,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:123,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:124,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:124,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:125,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:126,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:127,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:128,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:129,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:130,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:130,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:131,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:132,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:133,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:134,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:134,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:135,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:136,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:143,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:143,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:144,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:144,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:145,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:146,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:146,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:147,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:147,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:148,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:149,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:150,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:151,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:152,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:153,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:153,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:154,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:155,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:156,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:157,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:157,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:158,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:159,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:166,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:166,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:167,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:167,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:168,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:169,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:169,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:170,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:170,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:171,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:172,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:173,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:174,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:175,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:176,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:176,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:177,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:178,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:179,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:180,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:180,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:181,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:182,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:189,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:189,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:190,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:190,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:191,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:192,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:192,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:193,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:193,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:194,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:195,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:196,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:197,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:198,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:199,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:199,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:200,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:201,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:202,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:203,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:203,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:204,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:205,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:212,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:212,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:213,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:213,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:214,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:215,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:215,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:216,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:216,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:217,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:218,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:219,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:220,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:221,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:222,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:222,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:223,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:224,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:225,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:226,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:226,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:227,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:228,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:235,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:235,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:236,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:236,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:237,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:238,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:238,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:239,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:239,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:240,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:241,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:242,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:243,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:244,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:245,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:245,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:246,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:247,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:248,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:249,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:249,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:250,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 143
    argCount: 6
    argNames:
    - rows
    - cv
    - block
    - block_len
    - counter
    - flags
    argTypes:
    - __m128i[]
    - uint32_t[]
    - uint8_t[]
    - uint8_t
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 252
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 252
    functionName: compress_pre
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - _mm_shuffle_epi32
    - _mm_shuffle_ps2
    - _MM_SHUFFLE
    - diagonalize
    - undiagonalize
    - _mm_blend_epi16
    - counter_low
    - g2
    - _mm_unpacklo_epi64
    - _mm_unpacklo_epi32
    - g1
    - loadu
    - _mm_unpackhi_epi32
    - set4
    - counter_high
    linkageType: ''
    returnType: INLINE
    signature: "INLINE compress_pre(__m128i rows[4], const uint32_t cv[8],\n                         const
      uint8_t block[BLAKE3_BLOCK_LEN],\n                         uint8_t block_len,
      uint64_t counter, uint8_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compress_pre
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:259,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:260,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:260,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:261,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - cv
    - block
    - block_len
    - counter
    - flags
    argTypes:
    - uint32_t[]
    - uint8_t[]
    - uint8_t
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: blake3_compress_in_place_sse41
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - xorv
    - compress_pre
    - storeu
    linkageType: ''
    returnType: void
    signature: "void blake3_compress_in_place_sse41(uint32_t cv[8],\n                                    const
      uint8_t block[BLAKE3_BLOCK_LEN],\n                                    uint8_t
      block_len, uint64_t counter,\n                                    uint8_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compress_pre
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:269,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:270,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:270,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:271,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:271,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:272,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:272,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:272,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:273,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:273,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - cv
    - block
    - block_len
    - counter
    - flags
    - out
    argTypes:
    - uint32_t[]
    - uint8_t[]
    - uint8_t
    - uint64_t
    - uint8_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: blake3_compress_xof_sse41
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - xorv
    - compress_pre
    - storeu
    - loadu
    linkageType: ''
    returnType: void
    signature: "void blake3_compress_xof_sse41(const uint32_t cv[8],\n                               const
      uint8_t block[BLAKE3_BLOCK_LEN],\n                               uint8_t block_len,
      uint64_t counter,\n                               uint8_t flags, uint8_t out[64])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:277,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:278,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:279,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:280,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:281,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:282,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:283,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:284,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:285,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:286,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:287,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:288,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:289,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:290,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:291,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:292,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:293,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:294,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:295,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:296,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:297,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:298,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:299,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:300,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:301,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:302,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:303,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:304,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:305,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:306,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:307,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:308,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:309,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:310,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:311,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:312,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:313,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:314,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:315,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:316,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:317,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:318,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:319,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:320,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:321,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:322,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:323,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:324,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:325,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:326,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:327,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:328,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:329,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:330,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:331,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:332,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:334,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:335,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:336,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:337,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:338,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:339,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:340,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:341,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:342,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:343,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:344,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:345,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:346,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:347,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:348,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:349,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:350,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:351,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:352,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:353,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:354,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:355,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:356,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:357,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:358,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:359,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:360,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:361,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:362,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:363,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:364,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:365,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:366,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:367,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:368,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:369,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:370,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:371,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:372,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:373,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:374,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:375,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:376,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:377,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:378,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:379,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:380,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:381,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:382,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:383,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:384,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:385,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:386,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:387,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:388,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 113
    argCount: 3
    argNames:
    - v
    - m
    - r
    argTypes:
    - __m128i[]
    - __m128i[]
    - size_t
    constantsTouched: []
    func_position:
      end: 390
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 390
    functionName: round_fn
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - xorv
    - rot12
    - rot7
    - rot16
    - addv
    - rot8
    linkageType: ''
    returnType: INLINE
    signature: INLINE round_fn(__m128i v[16], __m128i m[16], size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:396,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:397,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:398,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:399,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:402,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:403,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:404,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vecs
    argTypes:
    - __m128i[]
    constantsTouched: []
    func_position:
      end: 411
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 411
    functionName: transpose_vecs
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - _mm_unpacklo_epi32
    - _mm_unpacklo_epi64
    - _mm_unpackhi_epi32
    - _mm_unpackhi_epi64
    linkageType: ''
    returnType: INLINE
    signature: INLINE transpose_vecs(__m128i vecs[DEGREE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:415,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:416,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:417,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:418,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:419,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:420,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:421,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:422,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:423,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:424,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:425,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:426,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:427,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:428,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:429,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:430,1
    - Dst: transpose_vecs
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:431,1
    - Dst: transpose_vecs
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:432,1
    - Dst: transpose_vecs
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:433,1
    - Dst: transpose_vecs
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - inputs
    - block_offset
    - out
    argTypes:
    - uint8_t**
    - size_t
    - __m128i[]
    constantsTouched: []
    func_position:
      end: 435
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 435
    functionName: transpose_msg_vecs
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - transpose_vecs
    - loadu
    linkageType: ''
    returnType: INLINE
    signature: "INLINE transpose_msg_vecs(const uint8_t *const *inputs,\n                               size_t
      block_offset, __m128i out[16])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:440,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:441,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:441,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:442,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:442,1
    - Dst: set4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:443,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:444,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:444,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:445,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - counter
    - increment_counter
    - out_low
    - out_high
    argTypes:
    - uint64_t
    - bool
    - __m128i*
    - __m128i*
    constantsTouched: []
    func_position:
      end: 446
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 446
    functionName: load_counters
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - set4
    - counter_high
    - counter_low
    linkageType: ''
    returnType: INLINE
    signature: "INLINE load_counters(uint64_t counter, bool increment_counter,\n                          __m128i
      *out_low, __m128i *out_high)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:453,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:453,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:453,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:453,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:454,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:454,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:454,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:454,1
    - Dst: load_counters
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:457,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:465,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:466,1
    - Dst: transpose_msg_vecs
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:468,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:473,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:473,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:473,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:473,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:476,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:477,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:478,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:479,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:480,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:481,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:482,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:483,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:484,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:485,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:486,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:487,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:488,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:489,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:490,1
    - Dst: transpose_vecs
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:495,1
    - Dst: transpose_vecs
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:496,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:499,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:500,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:501,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:502,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:503,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:504,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:505,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 9
    argNames:
    - inputs
    - blocks
    - key
    - counter
    - increment_counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t**
    - size_t
    - uint32_t[]
    - uint64_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 507
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 507
    functionName: blake3_hash4_sse41
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - xorv
    - transpose_msg_vecs
    - set1
    - transpose_vecs
    - load_counters
    - round_fn
    - storeu
    linkageType: ''
    returnType: void
    signature: "void blake3_hash4_sse41(const uint8_t *const *inputs, size_t blocks,\n
      \                       const uint32_t key[8], uint64_t counter,\n                        bool
      increment_counter, uint8_t flags,\n                        uint8_t flags_start,
      uint8_t flags_end, uint8_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:514,1
    - Dst: blake3_compress_in_place_sse41
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:520,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 8
    argNames:
    - input
    - blocks
    - key
    - counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t[]
    - uint64_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 527
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 527
    functionName: hash_one_sse41
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - blake3_compress_in_place_sse41
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: "INLINE hash_one_sse41(const uint8_t *input, size_t blocks,\n                           const
      uint32_t key[8], uint64_t counter,\n                           uint8_t flags,
      uint8_t flags_start,\n                           uint8_t flags_end, uint8_t
      out[BLAKE3_OUT_LEN])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake3_hash4_sse41
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:535,1
    - Dst: hash_one_sse41
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 10
    argNames:
    - inputs
    - num_inputs
    - blocks
    - key
    - counter
    - increment_counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t**
    - size_t
    - size_t
    - uint32_t[]
    - uint64_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 554
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 554
    functionName: blake3_hash_many_sse41
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_sse41.c
    functionUses: 0
    functionsReached:
    - hash_one_sse41
    - blake3_hash4_sse41
    linkageType: ''
    returnType: void
    signature: "void blake3_hash_many_sse41(const uint8_t *const *inputs, size_t num_inputs,\n
      \                           size_t blocks, const uint32_t key[8],\n                            uint64_t
      counter, bool increment_counter,\n                            uint8_t flags,
      uint8_t flags_start,\n                            uint8_t flags_end, uint8_t
      *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 10
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 10
    functionName: store32
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE store32(void *dst, uint32_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - c
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: rotr32
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE rotr32(uint32_t w, uint32_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotr32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:19,1
    - Dst: rotr32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:21,1
    - Dst: rotr32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:23,1
    - Dst: rotr32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - state
    - a
    - b
    - c
    - d
    - x
    - y
    argTypes:
    - uint32_t*
    - size_t
    - size_t
    - size_t
    - size_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: g
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c
    functionUses: 870
    functionsReached:
    - rotr32
    linkageType: ''
    returnType: INLINE
    signature: "INLINE g(uint32_t *state, size_t a, size_t b, size_t c, size_t d,\n
      \             uint32_t x, uint32_t y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:33,1
    - Dst: g
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:34,1
    - Dst: g
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:35,1
    - Dst: g
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:36,1
    - Dst: g
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:39,1
    - Dst: g
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:40,1
    - Dst: g
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:41,1
    - Dst: g
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - state
    - msg
    - round
    argTypes:
    - uint32_t[]
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: round_fn
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c
    functionUses: 1
    functionsReached:
    - g
    linkageType: ''
    returnType: INLINE
    signature: INLINE round_fn(uint32_t state[16], const uint32_t *msg, size_t round)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:49,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:50,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:51,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:52,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:53,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:54,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:55,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:56,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:57,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:58,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:59,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:60,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:61,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:62,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:63,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:64,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:78,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:79,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:83,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:84,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:85,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:86,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:87,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:88,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 6
    argNames:
    - state
    - cv
    - block
    - block_len
    - counter
    - flags
    argTypes:
    - uint32_t[]
    - uint32_t[]
    - uint8_t[]
    - uint8_t
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 90
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 90
    functionName: compress_pre
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c
    functionUses: 2
    functionsReached:
    - counter_low
    - round_fn
    - counter_high
    - load32
    linkageType: ''
    returnType: INLINE
    signature: "INLINE compress_pre(uint32_t state[16], const uint32_t cv[8],\n                         const
      uint8_t block[BLAKE3_BLOCK_LEN],\n                         uint8_t block_len,
      uint64_t counter, uint8_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compress_pre
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - cv
    - block
    - block_len
    - counter
    - flags
    argTypes:
    - uint32_t[]
    - uint8_t[]
    - uint8_t
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: blake3_compress_in_place_portable
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c
    functionUses: 0
    functionsReached:
    - compress_pre
    linkageType: ''
    returnType: void
    signature: "void blake3_compress_in_place_portable(uint32_t cv[8],\n                                       const
      uint8_t block[BLAKE3_BLOCK_LEN],\n                                       uint8_t
      block_len, uint64_t counter,\n                                       uint8_t
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compress_pre
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:113,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:115,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:116,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:117,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:118,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:119,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:120,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:121,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:122,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:123,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:124,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:125,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:126,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:127,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:128,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:129,1
    - Dst: store32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 6
    argNames:
    - cv
    - block
    - block_len
    - counter
    - flags
    - out
    argTypes:
    - uint32_t[]
    - uint8_t[]
    - uint8_t
    - uint64_t
    - uint8_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: blake3_compress_xof_portable
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c
    functionUses: 0
    functionsReached:
    - store32
    - compress_pre
    linkageType: ''
    returnType: void
    signature: "void blake3_compress_xof_portable(const uint32_t cv[8],\n                                  const
      uint8_t block[BLAKE3_BLOCK_LEN],\n                                  uint8_t
      block_len, uint64_t counter,\n                                  uint8_t flags,
      uint8_t out[64])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:138,1
    - Dst: blake3_compress_in_place_portable
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:144,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 8
    argNames:
    - input
    - blocks
    - key
    - counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t[]
    - uint64_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: hash_one_portable
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c
    functionUses: 0
    functionsReached:
    - blake3_compress_in_place_portable
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: "INLINE hash_one_portable(const uint8_t *input, size_t blocks,\n                              const
      uint32_t key[8], uint64_t counter,\n                              uint8_t flags,
      uint8_t flags_start,\n                              uint8_t flags_end, uint8_t
      out[BLAKE3_OUT_LEN])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_one_portable
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 10
    argNames:
    - inputs
    - num_inputs
    - blocks
    - key
    - counter
    - increment_counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t**
    - size_t
    - size_t
    - uint32_t[]
    - uint64_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: blake3_hash_many_portable
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_portable.c
    functionUses: 0
    functionsReached:
    - hash_one_portable
    linkageType: ''
    returnType: void
    signature: "void blake3_hash_many_portable(const uint8_t *const *inputs, size_t
      num_inputs,\n                               size_t blocks, const uint32_t key[8],\n
      \                              uint64_t counter, bool increment_counter,\n                               uint8_t
      flags, uint8_t flags_start,\n                               uint8_t flags_end,
      uint8_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 11
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 11
    functionName: loadu_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm_loadu_si128
    linkageType: ''
    returnType: INLINE
    signature: INLINE loadu_128(const uint8_t src[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: loadu_256
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    linkageType: ''
    returnType: INLINE
    signature: INLINE loadu_256(const uint8_t src[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: loadu_512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_loadu_si512
    linkageType: ''
    returnType: INLINE
    signature: INLINE loadu_512(const uint8_t src[64])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - __m128i
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: storeu_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm_storeu_si128
    linkageType: ''
    returnType: INLINE
    signature: INLINE storeu_128(__m128i src, uint8_t dest[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - __m256i
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: storeu_256
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm256_storeu_si256
    linkageType: ''
    returnType: INLINE
    signature: INLINE storeu_256(__m256i src, uint8_t dest[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: add_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm_add_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE add_128(__m128i a, __m128i b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: add_256
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm256_add_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE add_256(__m256i a, __m256i b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_add_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - __m512i
    - __m512i
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: add_512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_add_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE add_512(__m512i a, __m512i b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: xor_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm_xor_si128
    linkageType: ''
    returnType: INLINE
    signature: INLINE xor_128(__m128i a, __m128i b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: xor_256
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm256_xor_si256
    linkageType: ''
    returnType: INLINE
    signature: INLINE xor_256(__m256i a, __m256i b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_xor_si512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - __m512i
    - __m512i
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: xor_512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_xor_si512
    linkageType: ''
    returnType: INLINE
    signature: INLINE xor_512(__m512i a, __m512i b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: set1_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm_set1_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE set1_128(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: set1_256
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm256_set1_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE set1_256(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: set1_512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_set1_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE set1_512(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setr_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: set4
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 2
    functionsReached:
    - _mm_setr_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE set4(uint32_t a, uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_ror_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: rot16_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm_ror_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot16_128(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_ror_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: rot16_256
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm256_ror_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot16_256(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_ror_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m512i
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: rot16_512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_ror_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot16_512(__m512i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_ror_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: rot12_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm_ror_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot12_128(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_ror_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: rot12_256
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm256_ror_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot12_256(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_ror_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m512i
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: rot12_512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_ror_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot12_512(__m512i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_ror_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: rot8_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm_ror_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot8_128(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_ror_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: rot8_256
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm256_ror_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot8_256(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_ror_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m512i
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: rot8_512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_ror_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot8_512(__m512i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_ror_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: rot7_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm_ror_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot7_128(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_ror_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: rot7_256
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm256_ror_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot7_256(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_ror_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m512i
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: rot7_512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_ror_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot7_512(__m512i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:83,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:83,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:84,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:85,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:86,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:87,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - row0
    - row1
    - row2
    - row3
    - m
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: g1
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 18
    functionsReached:
    - xor_128
    - add_128
    - rot12_128
    - rot16_128
    linkageType: ''
    returnType: INLINE
    signature: "INLINE g1(__m128i *row0, __m128i *row1, __m128i *row2, __m128i *row3,\n
      \              __m128i m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:93,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:93,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:94,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:95,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:96,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:97,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - row0
    - row1
    - row2
    - row3
    - m
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: g2
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 14
    functionsReached:
    - xor_128
    - add_128
    - rot7_128
    - rot8_128
    linkageType: ''
    returnType: INLINE
    signature: "INLINE g2(__m128i *row0, __m128i *row1, __m128i *row2, __m128i *row3,\n
      \              __m128i m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:105,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:105,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:106,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:106,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:107,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - row0
    - row2
    - row3
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: diagonalize
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 1
    functionsReached:
    - _MM_SHUFFLE
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE diagonalize(__m128i *row0, __m128i *row2, __m128i *row3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:111,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:111,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:112,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:112,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:113,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - row0
    - row2
    - row3
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: undiagonalize
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 1
    functionsReached:
    - _MM_SHUFFLE
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE undiagonalize(__m128i *row0, __m128i *row2, __m128i *row3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:119,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:120,1
    - Dst: set4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:121,1
    - Dst: set4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:122,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:122,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:122,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:125,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:126,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:127,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:128,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:134,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:134,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:135,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:136,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:136,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:137,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:138,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:139,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:139,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:140,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:140,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:141,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:142,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:142,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:143,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:143,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:144,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:145,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:153,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:153,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:154,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:154,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:155,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:156,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:156,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:157,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:157,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:158,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:159,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:160,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:161,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:162,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:163,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:163,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:164,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:165,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:166,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:167,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:167,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:168,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:169,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:176,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:176,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:177,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:177,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:178,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:179,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:179,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:180,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:180,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:181,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:182,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:183,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:184,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:185,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:186,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:186,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:187,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:188,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:189,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:190,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:190,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:191,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:192,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:199,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:199,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:200,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:200,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:201,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:202,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:202,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:203,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:203,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:204,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:205,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:206,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:207,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:208,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:209,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:209,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:210,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:211,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:212,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:213,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:213,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:214,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:215,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:222,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:222,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:223,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:223,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:224,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:225,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:225,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:226,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:226,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:227,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:228,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:229,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:230,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:231,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:232,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:232,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:233,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:234,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:235,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:236,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:236,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:237,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:238,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:245,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:245,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:246,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:246,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:247,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:248,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:248,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:249,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:249,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:250,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:251,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:252,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:253,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:254,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:255,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:255,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:256,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:257,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:258,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:259,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:259,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:260,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:261,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:268,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:268,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:269,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:269,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:270,1
    - Dst: _mm_shuffle_ps2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:271,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:271,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:272,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:272,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:273,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:274,1
    - Dst: diagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:275,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:276,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:277,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:278,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:278,1
    - Dst: g1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:279,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:280,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:281,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:282,1
    - Dst: _MM_SHUFFLE
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:282,1
    - Dst: g2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:283,1
    - Dst: undiagonalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 143
    argCount: 6
    argNames:
    - rows
    - cv
    - block
    - block_len
    - counter
    - flags
    argTypes:
    - __m128i[]
    - uint32_t[]
    - uint8_t[]
    - uint8_t
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 285
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 285
    functionName: compress_pre
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 4
    functionsReached:
    - _mm_shuffle_epi32
    - _mm_shuffle_ps2
    - _MM_SHUFFLE
    - diagonalize
    - _mm_blend_epi16
    - loadu_128
    - counter_low
    - g2
    - _mm_unpacklo_epi64
    - _mm_unpacklo_epi32
    - g1
    - undiagonalize
    - _mm_unpackhi_epi32
    - set4
    - counter_high
    linkageType: ''
    returnType: INLINE
    signature: "INLINE compress_pre(__m128i rows[4], const uint32_t cv[8],\n                         const
      uint8_t block[BLAKE3_BLOCK_LEN],\n                         uint8_t block_len,
      uint64_t counter, uint8_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compress_pre
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:292,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:293,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:293,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:294,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:294,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:295,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:295,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:295,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:296,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:296,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - cv
    - block
    - block_len
    - counter
    - flags
    - out
    argTypes:
    - uint32_t[]
    - uint8_t[]
    - uint8_t
    - uint64_t
    - uint8_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: blake3_compress_xof_avx512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - storeu_128
    - loadu_128
    - xor_128
    - compress_pre
    linkageType: ''
    returnType: void
    signature: "void blake3_compress_xof_avx512(const uint32_t cv[8],\n                                const
      uint8_t block[BLAKE3_BLOCK_LEN],\n                                uint8_t block_len,
      uint64_t counter,\n                                uint8_t flags, uint8_t out[64])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compress_pre
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:304,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:305,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:305,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:306,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - cv
    - block
    - block_len
    - counter
    - flags
    argTypes:
    - uint32_t[]
    - uint8_t[]
    - uint8_t
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: blake3_compress_in_place_avx512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - storeu_128
    - xor_128
    - compress_pre
    linkageType: ''
    returnType: void
    signature: "void blake3_compress_in_place_avx512(uint32_t cv[8],\n                                     const
      uint8_t block[BLAKE3_BLOCK_LEN],\n                                     uint8_t
      block_len, uint64_t counter,\n                                     uint8_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:316,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:317,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:318,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:319,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:320,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:321,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:322,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:323,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:324,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:325,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:326,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:327,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:328,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:329,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:330,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:331,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:332,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:333,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:334,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:335,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:336,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:337,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:338,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:339,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:340,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:341,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:342,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:343,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:344,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:345,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:346,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:347,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:348,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:349,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:350,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:351,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:352,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:353,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:354,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:355,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:356,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:357,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:358,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:359,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:360,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:361,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:362,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:363,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:364,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:365,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:366,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:367,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:368,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:369,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:370,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:371,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:373,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:374,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:375,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:376,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:377,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:378,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:379,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:380,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:381,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:382,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:383,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:384,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:385,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:386,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:387,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:388,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:389,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:390,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:391,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:392,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:393,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:394,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:395,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:396,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:397,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:398,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:399,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:400,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:401,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:402,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:403,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:404,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:405,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:406,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:407,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:408,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:409,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:410,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:411,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:412,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:413,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:414,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:415,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:416,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:417,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:418,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:419,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:420,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:421,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:422,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:423,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:424,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:425,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:426,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:427,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 113
    argCount: 3
    argNames:
    - v
    - m
    - r
    argTypes:
    - __m128i[]
    - __m128i[]
    - size_t
    constantsTouched: []
    func_position:
      end: 429
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 429
    functionName: round_fn4
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - xor_128
    - add_128
    - rot16_128
    - rot7_128
    - rot8_128
    - rot12_128
    linkageType: ''
    returnType: INLINE
    signature: INLINE round_fn4(__m128i v[16], __m128i m[16], size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:435,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:436,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:437,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:438,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:441,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:442,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:443,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vecs
    argTypes:
    - __m128i[]
    constantsTouched: []
    func_position:
      end: 450
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 450
    functionName: transpose_vecs_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm_unpacklo_epi32
    - _mm_unpacklo_epi64
    - _mm_unpackhi_epi32
    - _mm_unpackhi_epi64
    linkageType: ''
    returnType: INLINE
    signature: INLINE transpose_vecs_128(__m128i vecs[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:454,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:455,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:456,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:457,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:458,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:459,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:460,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:461,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:462,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:463,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:464,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:465,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:466,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:467,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:468,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:469,1
    - Dst: transpose_vecs_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:470,1
    - Dst: transpose_vecs_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:471,1
    - Dst: transpose_vecs_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:472,1
    - Dst: transpose_vecs_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - inputs
    - block_offset
    - out
    argTypes:
    - uint8_t**
    - size_t
    - __m128i[]
    constantsTouched: []
    func_position:
      end: 474
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 474
    functionName: transpose_msg_vecs4
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - transpose_vecs_128
    - loadu_128
    linkageType: ''
    returnType: INLINE
    signature: "INLINE transpose_msg_vecs4(const uint8_t *const *inputs,\n                                size_t
      block_offset, __m128i out[16])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi64x
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:479,1
    - Dst: _mm256_setr_epi64x
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:480,1
    - Dst: _mm256_and_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:481,1
    - Dst: _mm256_add_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:483,1
    - Dst: _mm256_set1_epi64x
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:483,1
    - Dst: _mm256_cvtepi64_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:484,1
    - Dst: _mm256_cvtepi64_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:485,1
    - Dst: _mm256_srli_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - counter
    - increment_counter
    - out_lo
    - out_hi
    argTypes:
    - uint64_t
    - bool
    - __m128i*
    - __m128i*
    constantsTouched: []
    func_position:
      end: 486
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 486
    functionName: load_counters4
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm256_setr_epi64x
    - _mm256_srli_epi64
    - _mm256_set1_epi64x
    - _mm256_and_si256
    - _mm256_cvtepi64_epi32
    - _mm256_add_epi64
    linkageType: ''
    returnType: INLINE
    signature: "INLINE load_counters4(uint64_t counter, bool increment_counter,\n
      \                          __m128i *out_lo, __m128i *out_hi)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:493,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:493,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:493,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:493,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:494,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:494,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:494,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:494,1
    - Dst: load_counters4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:497,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:505,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:506,1
    - Dst: transpose_msg_vecs4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:508,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:513,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:513,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:513,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:513,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:516,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:517,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:518,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:519,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:520,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:521,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:522,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:523,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:524,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:525,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:526,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:527,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:528,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:529,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:530,1
    - Dst: transpose_vecs_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:535,1
    - Dst: transpose_vecs_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:536,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:539,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:540,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:541,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:542,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:543,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:544,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:545,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 9
    argNames:
    - inputs
    - blocks
    - key
    - counter
    - increment_counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t**
    - size_t
    - uint32_t[]
    - uint64_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 547
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 547
    functionName: blake3_hash4_avx512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - set1_128
    - xor_128
    - transpose_vecs_128
    - transpose_msg_vecs4
    - load_counters4
    - storeu_128
    - round_fn4
    linkageType: ''
    returnType: void
    signature: "void blake3_hash4_avx512(const uint8_t *const *inputs, size_t blocks,\n
      \                        const uint32_t key[8], uint64_t counter,\n                         bool
      increment_counter, uint8_t flags,\n                         uint8_t flags_start,
      uint8_t flags_end, uint8_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:556,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:557,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:558,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:559,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:560,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:561,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:562,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:563,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:564,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:565,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:566,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:567,1
    - Dst: rot16_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:568,1
    - Dst: rot16_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:569,1
    - Dst: rot16_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:570,1
    - Dst: rot16_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:571,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:572,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:573,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:574,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:575,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:576,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:577,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:578,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:579,1
    - Dst: rot12_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:580,1
    - Dst: rot12_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:581,1
    - Dst: rot12_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:582,1
    - Dst: rot12_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:583,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:584,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:585,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:586,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:587,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:588,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:589,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:590,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:591,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:592,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:593,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:594,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:595,1
    - Dst: rot8_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:596,1
    - Dst: rot8_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:597,1
    - Dst: rot8_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:598,1
    - Dst: rot8_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:599,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:600,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:601,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:602,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:603,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:604,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:605,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:606,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:607,1
    - Dst: rot7_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:608,1
    - Dst: rot7_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:609,1
    - Dst: rot7_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:610,1
    - Dst: rot7_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:611,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:613,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:614,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:615,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:616,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:617,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:618,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:619,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:620,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:621,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:622,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:623,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:624,1
    - Dst: rot16_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:625,1
    - Dst: rot16_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:626,1
    - Dst: rot16_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:627,1
    - Dst: rot16_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:628,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:629,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:630,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:631,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:632,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:633,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:634,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:635,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:636,1
    - Dst: rot12_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:637,1
    - Dst: rot12_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:638,1
    - Dst: rot12_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:639,1
    - Dst: rot12_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:640,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:641,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:642,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:643,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:644,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:645,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:646,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:647,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:648,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:649,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:650,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:651,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:652,1
    - Dst: rot8_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:653,1
    - Dst: rot8_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:654,1
    - Dst: rot8_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:655,1
    - Dst: rot8_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:656,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:657,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:658,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:659,1
    - Dst: add_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:660,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:661,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:662,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:663,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:664,1
    - Dst: rot7_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:665,1
    - Dst: rot7_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:666,1
    - Dst: rot7_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:667,1
    - Dst: rot7_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 113
    argCount: 3
    argNames:
    - v
    - m
    - r
    argTypes:
    - __m256i[]
    - __m256i[]
    - size_t
    constantsTouched: []
    func_position:
      end: 669
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 669
    functionName: round_fn8
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - rot16_256
    - xor_256
    - add_256
    - rot12_256
    - rot7_256
    - rot8_256
    linkageType: ''
    returnType: INLINE
    signature: INLINE round_fn8(__m256i v[16], __m256i m[16], size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:674,1
    - Dst: _mm256_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:675,1
    - Dst: _mm256_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:676,1
    - Dst: _mm256_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:677,1
    - Dst: _mm256_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:678,1
    - Dst: _mm256_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:679,1
    - Dst: _mm256_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:680,1
    - Dst: _mm256_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:681,1
    - Dst: _mm256_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:685,1
    - Dst: _mm256_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:686,1
    - Dst: _mm256_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:687,1
    - Dst: _mm256_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:688,1
    - Dst: _mm256_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:689,1
    - Dst: _mm256_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:690,1
    - Dst: _mm256_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:691,1
    - Dst: _mm256_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:692,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:695,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:696,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:697,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:698,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:699,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:700,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:701,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - vecs
    argTypes:
    - __m256i[]
    constantsTouched: []
    func_position:
      end: 703
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 703
    functionName: transpose_vecs_256
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm256_unpacklo_epi64
    - _mm256_permute2x128_si256
    - _mm256_unpackhi_epi32
    - _mm256_unpackhi_epi64
    - _mm256_unpacklo_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE transpose_vecs_256(__m256i vecs[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:707,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:708,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:709,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:710,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:711,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:712,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:713,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:714,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:715,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:716,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:717,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:718,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:719,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:720,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:721,1
    - Dst: loadu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:722,1
    - Dst: transpose_vecs_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:723,1
    - Dst: transpose_vecs_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - inputs
    - block_offset
    - out
    argTypes:
    - uint8_t**
    - size_t
    - __m256i[]
    constantsTouched: []
    func_position:
      end: 725
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 725
    functionName: transpose_msg_vecs8
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - transpose_vecs_256
    - loadu_256
    linkageType: ''
    returnType: INLINE
    signature: "INLINE transpose_msg_vecs8(const uint8_t *const *inputs,\n                                size_t
      block_offset, __m256i out[16])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:730,1
    - Dst: _mm512_setr_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:731,1
    - Dst: _mm512_and_si512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:732,1
    - Dst: _mm512_add_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:734,1
    - Dst: _mm512_set1_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:734,1
    - Dst: _mm512_cvtepi64_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:735,1
    - Dst: _mm512_cvtepi64_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:736,1
    - Dst: _mm512_srli_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - counter
    - increment_counter
    - out_lo
    - out_hi
    argTypes:
    - uint64_t
    - bool
    - __m256i*
    - __m256i*
    constantsTouched: []
    func_position:
      end: 737
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 737
    functionName: load_counters8
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_set1_epi64
    - _mm512_srli_epi64
    - _mm512_add_epi64
    - _mm512_setr_epi64
    - _mm512_and_si512
    - _mm512_cvtepi64_epi32
    linkageType: ''
    returnType: INLINE
    signature: "INLINE load_counters8(uint64_t counter, bool increment_counter,\n
      \                          __m256i *out_lo, __m256i *out_hi)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:744,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:744,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:744,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:744,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:745,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:745,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:745,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:745,1
    - Dst: load_counters8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:748,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:756,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:757,1
    - Dst: transpose_msg_vecs8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:759,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:764,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:764,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:764,1
    - Dst: set1_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:764,1
    - Dst: round_fn8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:767,1
    - Dst: round_fn8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:768,1
    - Dst: round_fn8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:769,1
    - Dst: round_fn8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:770,1
    - Dst: round_fn8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:771,1
    - Dst: round_fn8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:772,1
    - Dst: round_fn8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:773,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:774,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:775,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:776,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:777,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:778,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:779,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:780,1
    - Dst: xor_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:781,1
    - Dst: transpose_vecs_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:786,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:787,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:788,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:789,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:790,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:791,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:792,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:793,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 9
    argNames:
    - inputs
    - blocks
    - key
    - counter
    - increment_counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t**
    - size_t
    - uint32_t[]
    - uint64_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 795
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 795
    functionName: blake3_hash8_avx512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - transpose_vecs_256
    - xor_256
    - storeu_256
    - transpose_msg_vecs8
    - set1_256
    - round_fn8
    - load_counters8
    linkageType: ''
    returnType: void
    signature: "void blake3_hash8_avx512(const uint8_t *const *inputs, size_t blocks,\n
      \                        const uint32_t key[8], uint64_t counter,\n                         bool
      increment_counter, uint8_t flags,\n                         uint8_t flags_start,
      uint8_t flags_end, uint8_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:804,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:805,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:806,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:807,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:808,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:809,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:810,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:811,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:812,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:813,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:814,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:815,1
    - Dst: rot16_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:816,1
    - Dst: rot16_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:817,1
    - Dst: rot16_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:818,1
    - Dst: rot16_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:819,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:820,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:821,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:822,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:823,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:824,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:825,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:826,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:827,1
    - Dst: rot12_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:828,1
    - Dst: rot12_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:829,1
    - Dst: rot12_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:830,1
    - Dst: rot12_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:831,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:832,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:833,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:834,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:835,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:836,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:837,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:838,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:839,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:840,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:841,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:842,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:843,1
    - Dst: rot8_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:844,1
    - Dst: rot8_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:845,1
    - Dst: rot8_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:846,1
    - Dst: rot8_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:847,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:848,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:849,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:850,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:851,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:852,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:853,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:854,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:855,1
    - Dst: rot7_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:856,1
    - Dst: rot7_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:857,1
    - Dst: rot7_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:858,1
    - Dst: rot7_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:859,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:861,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:862,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:863,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:864,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:865,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:866,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:867,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:868,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:869,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:870,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:871,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:872,1
    - Dst: rot16_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:873,1
    - Dst: rot16_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:874,1
    - Dst: rot16_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:875,1
    - Dst: rot16_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:876,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:877,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:878,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:879,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:880,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:881,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:882,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:883,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:884,1
    - Dst: rot12_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:885,1
    - Dst: rot12_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:886,1
    - Dst: rot12_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:887,1
    - Dst: rot12_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:888,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:889,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:890,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:891,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:892,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:893,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:894,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:895,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:896,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:897,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:898,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:899,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:900,1
    - Dst: rot8_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:901,1
    - Dst: rot8_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:902,1
    - Dst: rot8_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:903,1
    - Dst: rot8_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:904,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:905,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:906,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:907,1
    - Dst: add_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:908,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:909,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:910,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:911,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:912,1
    - Dst: rot7_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:913,1
    - Dst: rot7_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:914,1
    - Dst: rot7_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:915,1
    - Dst: rot7_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 113
    argCount: 3
    argNames:
    - v
    - m
    - r
    argTypes:
    - __m512i[]
    - __m512i[]
    - size_t
    constantsTouched: []
    func_position:
      end: 917
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 917
    functionName: round_fn16
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - rot12_512
    - add_512
    - rot16_512
    - rot8_512
    - xor_512
    - rot7_512
    linkageType: ''
    returnType: INLINE
    signature: INLINE round_fn16(__m512i v[16], __m512i m[16], size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_shuffle_i32x4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - __m512i
    - __m512i
    constantsTouched: []
    func_position:
      end: 924
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 924
    functionName: unpack_lo_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_shuffle_i32x4
    linkageType: ''
    returnType: INLINE
    signature: INLINE unpack_lo_128(__m512i a, __m512i b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_shuffle_i32x4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - __m512i
    - __m512i
    constantsTouched: []
    func_position:
      end: 931
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 931
    functionName: unpack_hi_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_shuffle_i32x4
    linkageType: ''
    returnType: INLINE
    signature: INLINE unpack_hi_128(__m512i a, __m512i b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:937,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:938,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:939,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:940,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:941,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:942,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:943,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:944,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:945,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:946,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:947,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:948,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:949,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:950,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:951,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:952,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:959,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:960,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:961,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:962,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:963,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:964,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:965,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:966,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:967,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:968,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:969,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:970,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:971,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:972,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:973,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:974,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:979,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:980,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:981,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:982,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:983,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:984,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:985,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:986,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:987,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:988,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:989,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:990,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:991,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:992,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:993,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:994,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:997,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:998,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:999,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1000,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1001,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1002,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1003,1
    - Dst: unpack_lo_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1004,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1005,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1006,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1007,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1008,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1009,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1010,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1011,1
    - Dst: unpack_hi_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - vecs
    argTypes:
    - __m512i[]
    constantsTouched: []
    func_position:
      end: 1013
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 1013
    functionName: transpose_vecs_512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_unpackhi_epi32
    - unpack_lo_128
    - _mm512_unpackhi_epi64
    - _mm512_unpacklo_epi64
    - unpack_hi_128
    - _mm512_unpacklo_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE transpose_vecs_512(__m512i vecs[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1017,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1018,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1019,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1020,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1021,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1022,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1023,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1024,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1025,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1026,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1027,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1028,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1029,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1030,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1031,1
    - Dst: loadu_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1032,1
    - Dst: transpose_vecs_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - inputs
    - block_offset
    - out
    argTypes:
    - uint8_t**
    - size_t
    - __m512i[]
    constantsTouched: []
    func_position:
      end: 1034
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1034
    functionName: transpose_msg_vecs16
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - loadu_512
    - transpose_vecs_512
    linkageType: ''
    returnType: INLINE
    signature: "INLINE transpose_msg_vecs16(const uint8_t *const *inputs,\n                                 size_t
      block_offset, __m512i out[16])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1039,1
    - Dst: _mm512_setr_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1040,1
    - Dst: _mm512_and_si512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1041,1
    - Dst: _mm512_setr_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1042,1
    - Dst: _mm512_and_si512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1043,1
    - Dst: _mm512_add_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1044,1
    - Dst: _mm512_set1_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1044,1
    - Dst: _mm512_add_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1045,1
    - Dst: _mm512_set1_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1045,1
    - Dst: _mm512_setr_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1046,1
    - Dst: _mm512_setr_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1048,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1050,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - counter
    - increment_counter
    - out_lo
    - out_hi
    argTypes:
    - uint64_t
    - bool
    - __m512i*
    - __m512i*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1052
    functionName: load_counters16
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - _mm512_set1_epi64
    - _mm512_setr_epi32
    - _mm512_add_epi64
    - _mm512_setr_epi64
    - _mm512_permutex2var_epi32
    - _mm512_and_si512
    linkageType: ''
    returnType: INLINE
    signature: "INLINE load_counters16(uint64_t counter, bool increment_counter,\n
      \                           __m512i *out_lo, __m512i *out_hi)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1060,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1060,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1060,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1060,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1061,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1061,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1061,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1061,1
    - Dst: load_counters16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1064,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1072,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1073,1
    - Dst: transpose_msg_vecs16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1075,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1080,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1080,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1080,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1080,1
    - Dst: round_fn16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1083,1
    - Dst: round_fn16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1084,1
    - Dst: round_fn16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1085,1
    - Dst: round_fn16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1086,1
    - Dst: round_fn16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1087,1
    - Dst: round_fn16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1088,1
    - Dst: round_fn16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1089,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1090,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1091,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1092,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1093,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1094,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1095,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1096,1
    - Dst: xor_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1097,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1108,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1108,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1108,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1108,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1109,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1109,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1109,1
    - Dst: set1_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1109,1
    - Dst: transpose_vecs_512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1111,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1112,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1112,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1113,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1113,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1114,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1114,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1115,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1115,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1116,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1116,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1117,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1117,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1118,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1118,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1119,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1119,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1120,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1120,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1121,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1121,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1122,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1122,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1123,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1123,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1124,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1124,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1125,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1125,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1126,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1126,1
    - Dst: storeu_256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1127,1
    - Dst: _mm512_castsi512_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 9
    argNames:
    - inputs
    - blocks
    - key
    - counter
    - increment_counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t**
    - size_t
    - uint32_t[]
    - uint64_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1128
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1128
    functionName: blake3_hash16_avx512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - load_counters16
    - storeu_256
    - transpose_vecs_512
    - xor_512
    - transpose_msg_vecs16
    - _mm512_castsi512_si256
    - round_fn16
    - set1_512
    linkageType: ''
    returnType: void
    signature: "void blake3_hash16_avx512(const uint8_t *const *inputs, size_t blocks,\n
      \                         const uint32_t key[8], uint64_t counter,\n                          bool
      increment_counter, uint8_t flags,\n                          uint8_t flags_start,
      uint8_t flags_end,\n                          uint8_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1141,1
    - Dst: blake3_compress_in_place_avx512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1147,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 8
    argNames:
    - input
    - blocks
    - key
    - counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t[]
    - uint64_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1154
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1154
    functionName: hash_one_avx512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - blake3_compress_in_place_avx512
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: "INLINE hash_one_avx512(const uint8_t *input, size_t blocks,\n                            const
      uint32_t key[8], uint64_t counter,\n                            uint8_t flags,
      uint8_t flags_start,\n                            uint8_t flags_end, uint8_t
      out[BLAKE3_OUT_LEN])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake3_hash16_avx512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1162,1
    - Dst: blake3_hash8_avx512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1172,1
    - Dst: blake3_hash4_avx512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1182,1
    - Dst: hash_one_avx512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c:1192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 10
    argNames:
    - inputs
    - num_inputs
    - blocks
    - key
    - counter
    - increment_counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t**
    - size_t
    - size_t
    - uint32_t[]
    - uint64_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1201
      start: 1156
    functionDepth: 4
    functionLinenumber: 1156
    functionLinenumberEnd: 1201
    functionName: blake3_hash_many_avx512
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx512.c
    functionUses: 0
    functionsReached:
    - hash_one_avx512
    - blake3_hash16_avx512
    - blake3_hash8_avx512
    - blake3_hash4_avx512
    linkageType: ''
    returnType: void
    signature: "void blake3_hash_many_avx512(const uint8_t *const *inputs, size_t
      num_inputs,\n                             size_t blocks, const uint32_t key[8],\n
      \                            uint64_t counter, bool increment_counter,\n                             uint8_t
      flags, uint8_t flags_start,\n                             uint8_t flags_end,
      uint8_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _xgetbv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: xgetbv
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c
    functionUses: 1
    functionsReached:
    - _xgetbv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t xgetbv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __cpuid
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - id
    argTypes:
    - uint32_t[]
    - uint32_t
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: cpuid
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c
    functionUses: 1
    functionsReached:
    - __cpuid
    linkageType: ''
    returnType: void
    signature: void cpuid(uint32_t out[4], uint32_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __cpuidex
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - id
    - sid
    argTypes:
    - uint32_t[]
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: cpuidex
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c
    functionUses: 1
    functionsReached:
    - __cpuidex
    linkageType: ''
    returnType: void
    signature: void cpuidex(uint32_t out[4], uint32_t id, uint32_t sid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpuid
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:159,1
    - Dst: cpuid
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:161,1
    - Dst: cpuidex
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:179,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 200
    functionName: get_cpu_features
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c
    functionUses: 0
    functionsReached:
    - cpuid
    - cpuidex
    linkageType: ''
    returnType: enum cpu_feature
    signature: enum cpu_feature get_cpu_features()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cpu_features
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:207,1
    - Dst: blake3_compress_in_place_avx512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:210,1
    - Dst: blake3_compress_in_place_sse41
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:214,1
    - Dst: blake3_compress_in_place_portable
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - cv
    - block
    - block_len
    - counter
    - flags
    argTypes:
    - uint32_t[]
    - uint8_t[]
    - uint8_t
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 219
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 219
    functionName: blake3_compress_in_place
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c
    functionUses: 0
    functionsReached:
    - blake3_compress_in_place_sse41
    - blake3_compress_in_place_avx512
    - get_cpu_features
    - blake3_compress_in_place_portable
    linkageType: ''
    returnType: void
    signature: "void blake3_compress_in_place(uint32_t cv[8], \n                              const
      uint8_t block[BLAKE3_BLOCK_LEN], \n                              uint8_t block_len,
      uint64_t counter, \n                              uint8_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cpu_features
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:226,1
    - Dst: blake3_compress_xof_avx512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:229,1
    - Dst: blake3_compress_xof_sse41
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:233,1
    - Dst: blake3_compress_xof_portable
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - cv
    - block
    - block_len
    - counter
    - flags
    - out
    argTypes:
    - uint32_t[]
    - uint8_t[]
    - uint8_t
    - uint64_t
    - uint8_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 238
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 238
    functionName: blake3_compress_xof
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c
    functionUses: 0
    functionsReached:
    - blake3_compress_xof_sse41
    - get_cpu_features
    - blake3_compress_xof_avx512
    - blake3_compress_xof_portable
    linkageType: ''
    returnType: void
    signature: "void blake3_compress_xof(const uint32_t cv[8],\n                        const
      uint8_t block[BLAKE3_BLOCK_LEN],\n                        uint8_t block_len,
      uint64_t counter,\n                        uint8_t flags, uint8_t out[64])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cpu_features
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:246,1
    - Dst: blake3_hash_many_avx512
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:249,1
    - Dst: blake3_hash_many_avx2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:253,1
    - Dst: blake3_hash_many_sse41
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:257,1
    - Dst: blake3_hash_many_portable
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 10
    argNames:
    - inputs
    - num_inputs
    - blocks
    - key
    - counter
    - increment_counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t**
    - size_t
    - size_t
    - uint32_t[]
    - uint64_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 240
    functionDepth: 5
    functionLinenumber: 240
    functionLinenumberEnd: 262
    functionName: blake3_hash_many
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_dispatch.c
    functionUses: 0
    functionsReached:
    - blake3_hash_many_avx512
    - blake3_hash_many_sse41
    - blake3_hash_many_portable
    - blake3_hash_many_avx2
    - get_cpu_features
    linkageType: ''
    returnType: void
    signature: "void blake3_hash_many(const uint8_t *const *inputs, size_t num_inputs,\n
      \                          size_t blocks, const uint32_t key[8],\n                           uint64_t
      counter, bool increment_counter,\n                           uint8_t flags,
      uint8_t flags_start,\n                           uint8_t flags_end, uint8_t
      *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_popcnt_u64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: popcnt
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h
    functionUses: 0
    functionsReached:
    - _mm_popcnt_u64
    linkageType: ''
    returnType: INLINE
    signature: INLINE popcnt(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - counter
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: counter_low
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE counter_low(uint64_t counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - counter
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: counter_high
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE counter_high(uint64_t counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: load32
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE load32(const void *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h:74,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h:75,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h:76,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h:77,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h:78,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h:79,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h:80,1
    - Dst: load32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - key
    - key_words
    argTypes:
    - uint8_t[]
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: load_key_words
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_impl.h
    functionUses: 0
    functionsReached:
    - load32
    linkageType: ''
    returnType: INLINE
    signature: "INLINE load_key_words(const uint8_t key[BLAKE3_KEY_LEN],\n                           uint32_t
      key_words[8])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 11
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 11
    functionName: loadu_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 3
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: INLINE loadu_128(const uint8_t src[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - uint32x4_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: storeu_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 3
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: INLINE storeu_128(uint32x4_t src, uint8_t dest[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vaddq_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32x4_t
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: add_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 3
    functionsReached:
    - vaddq_u32
    linkageType: ''
    returnType: INLINE
    signature: INLINE add_128(uint32x4_t a, uint32x4_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: veorq_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32x4_t
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: xor_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 6
    functionsReached:
    - veorq_u32
    linkageType: ''
    returnType: INLINE
    signature: INLINE xor_128(uint32x4_t a, uint32x4_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_dup_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: set1_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 1
    functionsReached:
    - vld1q_dup_u32
    linkageType: ''
    returnType: INLINE
    signature: INLINE set1_128(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: set4
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 3
    functionsReached:
    - vld1q_u32
    linkageType: ''
    returnType: INLINE
    signature: INLINE set4(uint32_t a, uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vorrq_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:34,1
    - Dst: vshrq_n_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:34,1
    - Dst: vshlq_n_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: rot16_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 2
    functionsReached:
    - vshlq_n_u32
    - vorrq_u32
    - vshrq_n_u32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot16_128(uint32x4_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vorrq_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:38,1
    - Dst: vshrq_n_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:38,1
    - Dst: vshlq_n_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: rot12_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 2
    functionsReached:
    - vshlq_n_u32
    - vorrq_u32
    - vshrq_n_u32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot12_128(uint32x4_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vorrq_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:42,1
    - Dst: vshrq_n_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:42,1
    - Dst: vshlq_n_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: rot8_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 2
    functionsReached:
    - vshlq_n_u32
    - vorrq_u32
    - vshrq_n_u32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot8_128(uint32x4_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vorrq_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:46,1
    - Dst: vshrq_n_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:46,1
    - Dst: vshlq_n_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: rot7_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 2
    functionsReached:
    - vshlq_n_u32
    - vorrq_u32
    - vshrq_n_u32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot7_128(uint32x4_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:60,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:61,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:62,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:63,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:64,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:65,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:66,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:67,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:68,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:69,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:70,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:71,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:72,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:73,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:74,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:75,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:76,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:77,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:78,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:79,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:80,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:81,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:82,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:83,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:84,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:85,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:86,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:87,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:88,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:89,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:90,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:91,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:92,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:93,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:94,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:95,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:96,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:97,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:98,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:99,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:100,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:101,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:102,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:103,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:104,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:105,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:106,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:107,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:108,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:109,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:110,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:111,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:112,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:113,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:114,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:115,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:117,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:118,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:119,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:120,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:121,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:122,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:123,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:124,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:125,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:126,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:127,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:128,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:129,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:130,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:131,1
    - Dst: rot16_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:132,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:133,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:134,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:135,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:136,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:137,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:138,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:139,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:140,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:141,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:142,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:143,1
    - Dst: rot12_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:144,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:145,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:146,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:147,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:148,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:149,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:150,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:151,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:152,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:153,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:154,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:155,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:156,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:157,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:158,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:159,1
    - Dst: rot8_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:160,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:161,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:162,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:163,1
    - Dst: add_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:164,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:165,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:166,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:167,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:168,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:169,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:170,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:171,1
    - Dst: rot7_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 113
    argCount: 3
    argNames:
    - v
    - m
    - r
    argTypes:
    - uint32x4_t[]
    - uint32x4_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 173
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 173
    functionName: round_fn4
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 1
    functionsReached:
    - xor_128
    - add_128
    - rot16_128
    - rot7_128
    - rot8_128
    - rot12_128
    linkageType: ''
    returnType: INLINE
    signature: INLINE round_fn4(uint32x4_t v[16], uint32x4_t m[16], size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtrnq_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:177,1
    - Dst: vtrnq_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:178,1
    - Dst: vcombine_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:182,1
    - Dst: vget_low_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:182,1
    - Dst: vget_low_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:182,1
    - Dst: vcombine_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:184,1
    - Dst: vget_low_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:184,1
    - Dst: vget_low_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:184,1
    - Dst: vcombine_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:186,1
    - Dst: vget_high_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:186,1
    - Dst: vget_high_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:186,1
    - Dst: vcombine_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:188,1
    - Dst: vget_high_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:188,1
    - Dst: vget_high_u32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vecs
    argTypes:
    - uint32x4_t[]
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: transpose_vecs_128
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 2
    functionsReached:
    - vget_low_u32
    - vcombine_u32
    - vget_high_u32
    - vtrnq_u32
    linkageType: ''
    returnType: INLINE
    signature: INLINE transpose_vecs_128(uint32x4_t vecs[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:193,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:194,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:195,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:196,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:197,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:198,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:199,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:200,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:201,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:202,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:203,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:204,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:205,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:206,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:207,1
    - Dst: loadu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:208,1
    - Dst: transpose_vecs_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:209,1
    - Dst: transpose_vecs_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:210,1
    - Dst: transpose_vecs_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:211,1
    - Dst: transpose_vecs_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - inputs
    - block_offset
    - out
    argTypes:
    - uint8_t**
    - size_t
    - uint32x4_t[]
    constantsTouched: []
    func_position:
      end: 213
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 213
    functionName: transpose_msg_vecs4
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 1
    functionsReached:
    - transpose_vecs_128
    - loadu_128
    linkageType: ''
    returnType: INLINE
    signature: "INLINE transpose_msg_vecs4(const uint8_t *const *inputs,\n                                size_t
      block_offset, uint32x4_t out[16])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:218,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:219,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:219,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:220,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:220,1
    - Dst: set4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:221,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:222,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:222,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:223,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - counter
    - increment_counter
    - out_low
    - out_high
    argTypes:
    - uint64_t
    - bool
    - uint32x4_t*
    - uint32x4_t*
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: load_counters4
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 1
    functionsReached:
    - set4
    - counter_high
    - counter_low
    linkageType: ''
    returnType: INLINE
    signature: "INLINE load_counters4(uint64_t counter, bool increment_counter,\n
      \                          uint32x4_t *out_low, uint32x4_t *out_high)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:231,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:231,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:231,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:231,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:232,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:232,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:232,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:232,1
    - Dst: load_counters4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:235,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:243,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:244,1
    - Dst: transpose_msg_vecs4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:246,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:251,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:251,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:251,1
    - Dst: set1_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:251,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:254,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:255,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:256,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:257,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:258,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:259,1
    - Dst: round_fn4
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:260,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:261,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:262,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:263,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:264,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:265,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:266,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:267,1
    - Dst: xor_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:268,1
    - Dst: transpose_vecs_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:273,1
    - Dst: transpose_vecs_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:274,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:277,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:278,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:279,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:280,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:281,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:282,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:283,1
    - Dst: storeu_128
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 9
    argNames:
    - inputs
    - blocks
    - key
    - counter
    - increment_counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t**
    - size_t
    - uint32_t[]
    - uint64_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 285
    functionName: blake3_hash4_neon
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 0
    functionsReached:
    - set1_128
    - xor_128
    - transpose_vecs_128
    - transpose_msg_vecs4
    - load_counters4
    - storeu_128
    - round_fn4
    linkageType: ''
    returnType: void
    signature: "void blake3_hash4_neon(const uint8_t *const *inputs, size_t blocks,\n
      \                      const uint32_t key[8], uint64_t counter,\n                       bool
      increment_counter, uint8_t flags,\n                       uint8_t flags_start,
      uint8_t flags_end, uint8_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:303,1
    - Dst: blake3_compress_in_place_portable
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:312,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 8
    argNames:
    - input
    - blocks
    - key
    - counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t[]
    - uint64_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 319
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 319
    functionName: hash_one_neon
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 0
    functionsReached:
    - blake3_compress_in_place_portable
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: "INLINE hash_one_neon(const uint8_t *input, size_t blocks,\n                          const
      uint32_t key[8], uint64_t counter,\n                          uint8_t flags,
      uint8_t flags_start, uint8_t flags_end,\n                          uint8_t out[BLAKE3_OUT_LEN])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake3_hash4_neon
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:327,1
    - Dst: hash_one_neon
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 10
    argNames:
    - inputs
    - num_inputs
    - blocks
    - key
    - counter
    - increment_counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t**
    - size_t
    - size_t
    - uint32_t[]
    - uint64_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 346
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 346
    functionName: blake3_hash_many_neon
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_neon.c
    functionUses: 0
    functionsReached:
    - blake3_hash4_neon
    - hash_one_neon
    linkageType: ''
    returnType: void
    signature: "void blake3_hash_many_neon(const uint8_t *const *inputs, size_t num_inputs,\n
      \                          size_t blocks, const uint32_t key[8],\n                           uint64_t
      counter, bool increment_counter,\n                           uint8_t flags,
      uint8_t flags_start,\n                           uint8_t flags_end, uint8_t
      *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:13,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - self
    - key
    - flags
    argTypes:
    - blake3_chunk_state*
    - uint32_t[]
    - uint8_t
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: chunk_state_init
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: "INLINE chunk_state_init(blake3_chunk_state *self, const uint32_t key[8],\n
      \                            uint8_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:23,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - self
    - key
    - chunk_counter
    argTypes:
    - blake3_chunk_state*
    - uint32_t[]
    - uint64_t
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: chunk_state_reset
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: "INLINE chunk_state_reset(blake3_chunk_state *self, const uint32_t
      key[8],\n                              uint64_t chunk_counter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - blake3_chunk_state*
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: chunk_state_len
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE chunk_state_len(const blake3_chunk_state *self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - self
    - input
    - input_len
    argTypes:
    - blake3_chunk_state*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: chunk_state_fill_buf
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: "INLINE chunk_state_fill_buf(blake3_chunk_state *self,\n                                   const
      uint8_t *input, size_t input_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - blake3_chunk_state*
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: chunk_state_maybe_start_flag
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE chunk_state_maybe_start_flag(const blake3_chunk_state *self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:71,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - input_cv
    - block
    - block_len
    - counter
    - flags
    argTypes:
    - uint32_t[]
    - uint8_t[]
    - uint8_t
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: make_output
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: "INLINE make_output(const uint32_t input_cv[8],\n                            const
      uint8_t block[BLAKE3_BLOCK_LEN],\n                            uint8_t block_len,
      uint64_t counter,\n                            uint8_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:87,1
    - Dst: blake3_compress_in_place
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:88,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - self
    - cv
    argTypes:
    - output_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: output_chaining_value
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - blake3_compress_in_place
    linkageType: ''
    returnType: INLINE
    signature: INLINE output_chaining_value(const output_t *self, uint8_t cv[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake3_compress_xof
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:98,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - self
    - out
    - out_len
    argTypes:
    - output_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: output_root_bytes
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - blake3_compress_xof
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: "INLINE output_root_bytes(const output_t *self, uint8_t *out,\n                              size_t
      out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake3_compress_in_place
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:120,1
    - Dst: chunk_state_maybe_start_flag
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:122,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:125,1
    - Dst: blake3_compress_in_place
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:130,1
    - Dst: chunk_state_maybe_start_flag
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - self
    - input
    - input_len
    argTypes:
    - blake3_chunk_state*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 140
    functionName: chunk_state_update
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - memset
    - chunk_state_maybe_start_flag
    - blake3_compress_in_place
    linkageType: ''
    returnType: INLINE
    signature: "INLINE chunk_state_update(blake3_chunk_state *self, const uint8_t
      *input,\n                               size_t input_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_output
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - blake3_chunk_state*
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: chunk_state_output
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - make_output
    linkageType: ''
    returnType: INLINE
    signature: INLINE chunk_state_output(const blake3_chunk_state *self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_output
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - block
    - key
    - flags
    argTypes:
    - uint8_t[]
    - uint32_t[]
    - uint8_t
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: parent_output
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - make_output
    linkageType: ''
    returnType: INLINE
    signature: "INLINE parent_output(const uint8_t block[BLAKE3_BLOCK_LEN],\n                              const
      uint32_t key[8], uint8_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:156,1
    - Dst: chunk_state_init
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - self
    - key
    - flags
    argTypes:
    - blake3_hasher*
    - uint32_t[]
    - uint8_t
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: hasher_init_base
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - chunk_state_init
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: "INLINE hasher_init_base(blake3_hasher *self, const uint32_t key[8],\n
      \                            uint8_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hasher_init_base
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - blake3_hasher*
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: blake3_hasher_init
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 1
    functionsReached:
    - hasher_init_base
    linkageType: ''
    returnType: void
    signature: void blake3_hasher_init(blake3_hasher *self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key_words
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:166,1
    - Dst: hasher_init_base
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - blake3_hasher*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: blake3_hasher_init_keyed
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 1
    functionsReached:
    - hasher_init_base
    - load_key_words
    linkageType: ''
    returnType: void
    signature: "void blake3_hasher_init_keyed(blake3_hasher *self,\n                              const
      uint8_t key[BLAKE3_KEY_LEN])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hasher_init_base
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:172,1
    - Dst: blake3_hasher_update
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:173,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:173,1
    - Dst: blake3_hasher_finalize
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:175,1
    - Dst: load_key_words
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:177,1
    - Dst: hasher_init_base
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - blake3_hasher*
    - char*
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: blake3_hasher_init_derive_key
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - strlen
    - hasher_init_base
    - blake3_hasher_finalize
    - blake3_hasher_update
    - load_key_words
    linkageType: ''
    returnType: void
    signature: void blake3_hasher_init_derive_key(blake3_hasher *self, const char
      *context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: popcnt
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - self
    - total_chunks
    argTypes:
    - blake3_hasher*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: hasher_needs_merge
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - popcnt
    linkageType: ''
    returnType: INLINE
    signature: "INLINE hasher_needs_merge(const blake3_hasher *self,\n                               uint64_t
      total_chunks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parent_output
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:189,1
    - Dst: output_chaining_value
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - blake3_hasher*
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: hasher_merge_parent
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - parent_output
    - output_chaining_value
    linkageType: ''
    returnType: INLINE
    signature: INLINE hasher_merge_parent(blake3_hasher *self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:198,1
    - Dst: hasher_needs_merge
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:199,1
    - Dst: hasher_merge_parent
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:200,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - self
    - cv
    - chunk_counter
    argTypes:
    - blake3_hasher*
    - uint8_t[]
    - uint64_t
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 5
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: hasher_push_chunk_cv
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 0
    functionsReached:
    - hasher_merge_parent
    - assert
    - hasher_needs_merge
    - memcpy
    linkageType: ''
    returnType: INLINE
    signature: "INLINE hasher_push_chunk_cv(blake3_hasher *self,\n                                 uint8_t
      cv[BLAKE3_OUT_LEN],\n                                 uint64_t chunk_counter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_state_len
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:215,1
    - Dst: chunk_state_update
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:220,1
    - Dst: chunk_state_output
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:226,1
    - Dst: output_chaining_value
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:228,1
    - Dst: hasher_push_chunk_cv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:229,1
    - Dst: chunk_state_reset
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:230,1
    - Dst: blake3_hash_many
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:249,1
    - Dst: hasher_push_chunk_cv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:255,1
    - Dst: hasher_needs_merge
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:269,1
    - Dst: hasher_merge_parent
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:270,1
    - Dst: chunk_state_update
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:272,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - self
    - input
    - input_len
    argTypes:
    - blake3_hasher*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 274
      start: 207
    functionDepth: 6
    functionLinenumber: 207
    functionLinenumberEnd: 274
    functionName: blake3_hasher_update
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 3
    functionsReached:
    - hasher_merge_parent
    - blake3_hash_many
    - chunk_state_update
    - chunk_state_output
    - hasher_push_chunk_cv
    - output_chaining_value
    - hasher_needs_merge
    - chunk_state_reset
    - chunk_state_len
    linkageType: ''
    returnType: void
    signature: "void blake3_hasher_update(blake3_hasher *self, const void *input,\n
      \                         size_t input_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_state_output
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:280,1
    - Dst: output_root_bytes
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:281,1
    - Dst: chunk_state_len
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:293,1
    - Dst: chunk_state_output
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:295,1
    - Dst: parent_output
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:299,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:305,1
    - Dst: output_chaining_value
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:306,1
    - Dst: parent_output
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:307,1
    - Dst: output_root_bytes
      Src: /src/cryptofuzz/modules/reference/blake3/blake3.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - self
    - out
    - out_len
    argTypes:
    - blake3_hasher*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 310
      start: 276
    functionDepth: 4
    functionLinenumber: 276
    functionLinenumberEnd: 310
    functionName: blake3_hasher_finalize
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3.c
    functionUses: 3
    functionsReached:
    - parent_output
    - chunk_state_output
    - memcpy
    - output_chaining_value
    - chunk_state_len
    - output_root_bytes
    linkageType: ''
    returnType: void
    signature: "void blake3_hasher_finalize(const blake3_hasher *self, uint8_t *out,\n
      \                           size_t out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 9
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 9
    functionName: loadu
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 5
    functionsReached:
    - _mm256_loadu_si256
    linkageType: ''
    returnType: INLINE
    signature: INLINE loadu(const uint8_t src[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - __m256i
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 13
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 13
    functionName: storeu
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 3
    functionsReached:
    - _mm256_storeu_si256
    linkageType: ''
    returnType: INLINE
    signature: INLINE storeu(__m256i src, uint8_t dest[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: addv
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 3
    functionsReached:
    - _mm256_add_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE addv(__m256i a, __m256i b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: xorv
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 8
    functionsReached:
    - _mm256_xor_si256
    linkageType: ''
    returnType: INLINE
    signature: INLINE xorv(__m256i a, __m256i b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: set1
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 1
    functionsReached:
    - _mm256_set1_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE set1(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    - h
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: set8
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 0
    functionsReached:
    - _mm256_setr_epi32
    linkageType: ''
    returnType: INLINE
    signature: "INLINE set8(uint32_t a, uint32_t b, uint32_t c, uint32_t d, uint32_t
      e,\n                    uint32_t f, uint32_t g, uint32_t h)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_shuffle_epi8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:29,1
    - Dst: _mm256_set_epi8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: rot16
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 2
    functionsReached:
    - _mm256_shuffle_epi8
    - _mm256_set_epi8
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot16(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:35,1
    - Dst: _mm256_srli_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:35,1
    - Dst: _mm256_slli_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: rot12
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 2
    functionsReached:
    - xorv
    - _mm256_slli_epi32
    - _mm256_srli_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot12(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_shuffle_epi8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:39,1
    - Dst: _mm256_set_epi8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: rot8
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 2
    functionsReached:
    - _mm256_shuffle_epi8
    - _mm256_set_epi8
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot8(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:45,1
    - Dst: _mm256_srli_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:45,1
    - Dst: _mm256_slli_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: rot7
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 2
    functionsReached:
    - xorv
    - _mm256_slli_epi32
    - _mm256_srli_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE rot7(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:49,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:50,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:51,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:52,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:53,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:54,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:55,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:56,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:57,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:58,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:59,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:60,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:61,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:62,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:63,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:64,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:65,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:66,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:67,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:68,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:69,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:70,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:71,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:72,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:73,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:74,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:75,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:76,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:77,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:78,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:79,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:80,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:81,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:82,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:83,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:84,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:85,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:86,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:87,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:88,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:89,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:90,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:91,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:92,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:93,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:94,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:95,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:96,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:97,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:98,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:99,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:100,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:101,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:102,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:103,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:104,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:106,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:107,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:108,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:109,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:110,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:111,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:112,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:113,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:114,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:115,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:116,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:117,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:118,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:119,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:120,1
    - Dst: rot16
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:121,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:122,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:123,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:124,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:125,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:126,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:127,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:128,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:129,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:130,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:131,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:132,1
    - Dst: rot12
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:133,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:134,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:135,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:136,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:137,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:138,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:139,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:140,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:141,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:142,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:143,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:144,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:145,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:146,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:147,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:148,1
    - Dst: rot8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:149,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:150,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:151,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:152,1
    - Dst: addv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:153,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:154,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:155,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:156,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:157,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:158,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:159,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:160,1
    - Dst: rot7
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 113
    argCount: 3
    argNames:
    - v
    - m
    - r
    argTypes:
    - __m256i[]
    - __m256i[]
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 162
    functionName: round_fn
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 2
    functionsReached:
    - xorv
    - rot12
    - rot7
    - rot16
    - addv
    - rot8
    linkageType: ''
    returnType: INLINE
    signature: INLINE round_fn(__m256i v[16], __m256i m[16], size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:167,1
    - Dst: _mm256_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:168,1
    - Dst: _mm256_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:169,1
    - Dst: _mm256_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:170,1
    - Dst: _mm256_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:171,1
    - Dst: _mm256_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:172,1
    - Dst: _mm256_unpacklo_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:173,1
    - Dst: _mm256_unpackhi_epi32
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:174,1
    - Dst: _mm256_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:178,1
    - Dst: _mm256_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:179,1
    - Dst: _mm256_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:180,1
    - Dst: _mm256_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:181,1
    - Dst: _mm256_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:182,1
    - Dst: _mm256_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:183,1
    - Dst: _mm256_unpacklo_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:184,1
    - Dst: _mm256_unpackhi_epi64
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:185,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:188,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:189,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:190,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:191,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:192,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:193,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:194,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - vecs
    argTypes:
    - __m256i[]
    constantsTouched: []
    func_position:
      end: 196
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 196
    functionName: transpose_vecs
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 2
    functionsReached:
    - _mm256_unpacklo_epi64
    - _mm256_permute2x128_si256
    - _mm256_unpackhi_epi32
    - _mm256_unpackhi_epi64
    - _mm256_unpacklo_epi32
    linkageType: ''
    returnType: INLINE
    signature: INLINE transpose_vecs(__m256i vecs[DEGREE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:200,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:201,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:202,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:203,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:204,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:205,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:206,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:207,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:208,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:209,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:210,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:211,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:212,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:213,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:214,1
    - Dst: loadu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:215,1
    - Dst: transpose_vecs
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:216,1
    - Dst: transpose_vecs
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - inputs
    - block_offset
    - out
    argTypes:
    - uint8_t**
    - size_t
    - __m256i[]
    constantsTouched: []
    func_position:
      end: 218
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 218
    functionName: transpose_msg_vecs
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 1
    functionsReached:
    - transpose_vecs
    - loadu
    linkageType: ''
    returnType: INLINE
    signature: "INLINE transpose_msg_vecs(const uint8_t *const *inputs,\n                               size_t
      block_offset, __m256i out[16])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:223,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:224,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:224,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:225,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:225,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:226,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:226,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:227,1
    - Dst: counter_low
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:227,1
    - Dst: set8
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:228,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:229,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:229,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:230,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:230,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:231,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:231,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:232,1
    - Dst: counter_high
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - counter
    - increment_counter
    - out_low
    - out_high
    argTypes:
    - uint64_t
    - bool
    - __m256i*
    - __m256i*
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: load_counters
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 1
    functionsReached:
    - counter_low
    - counter_high
    - set8
    linkageType: ''
    returnType: INLINE
    signature: "INLINE load_counters(uint64_t counter, bool increment_counter,\n                          __m256i
      *out_low, __m256i *out_high)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:240,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:240,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:240,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:240,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:241,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:241,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:241,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:241,1
    - Dst: load_counters
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:244,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:252,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:253,1
    - Dst: transpose_msg_vecs
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:255,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:260,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:260,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:260,1
    - Dst: set1
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:260,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:263,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:264,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:265,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:266,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:267,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:268,1
    - Dst: round_fn
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:269,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:270,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:271,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:272,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:273,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:274,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:275,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:276,1
    - Dst: xorv
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:277,1
    - Dst: transpose_vecs
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:282,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:283,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:284,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:285,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:286,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:287,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:288,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:289,1
    - Dst: storeu
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 9
    argNames:
    - inputs
    - blocks
    - key
    - counter
    - increment_counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t**
    - size_t
    - uint32_t[]
    - uint64_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 291
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 291
    functionName: blake3_hash8_avx2
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 0
    functionsReached:
    - xorv
    - transpose_msg_vecs
    - set1
    - transpose_vecs
    - load_counters
    - round_fn
    - storeu
    linkageType: ''
    returnType: void
    signature: "void blake3_hash8_avx2(const uint8_t *const *inputs, size_t blocks,\n
      \                      const uint32_t key[8], uint64_t counter,\n                       bool
      increment_counter, uint8_t flags,\n                       uint8_t flags_start,
      uint8_t flags_end, uint8_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blake3_hash8_avx2
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:305,1
    - Dst: blake3_hash_many_sse41
      Src: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 10
    argNames:
    - inputs
    - num_inputs
    - blocks
    - key
    - counter
    - increment_counter
    - flags
    - flags_start
    - flags_end
    - out
    argTypes:
    - uint8_t**
    - size_t
    - size_t
    - uint32_t[]
    - uint64_t
    - bool
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 316
    functionName: blake3_hash_many_avx2
    functionSourceFile: /src/cryptofuzz/modules/reference/blake3/blake3_avx2.c
    functionUses: 1
    functionsReached:
    - blake3_hash_many_sse41
    - blake3_hash8_avx2
    linkageType: ''
    returnType: void
    signature: "void blake3_hash_many_avx2(const uint8_t *const *inputs, size_t num_inputs,\n
      \                          size_t blocks, const uint32_t key[8],\n                           uint64_t
      counter, bool increment_counter,\n                           uint8_t flags,
      uint8_t flags_start,\n                           uint8_t flags_end, uint8_t
      *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cryptofuzz/modules/reference/groestl/groestl-cryptofuzz.c:5,1
    - Dst: Init
      Src: /src/cryptofuzz/modules/reference/groestl/groestl-cryptofuzz.c:6,1
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/groestl/groestl-cryptofuzz.c:7,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hashbitLen
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 12
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 12
    functionName: groestl_init
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/groestl-cryptofuzz.c
    functionUses: 1
    functionsReached:
    - Init
    - malloc
    - free
    linkageType: ''
    returnType: void
    signature: void * groestl_init(const int hashbitLen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Update
      Src: /src/cryptofuzz/modules/reference/groestl/groestl-cryptofuzz.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: groestl_update
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/groestl-cryptofuzz.c
    functionUses: 1
    functionsReached:
    - Update
    linkageType: ''
    returnType: bool
    signature: bool groestl_update(void* ctx, const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Final
      Src: /src/cryptofuzz/modules/reference/groestl/groestl-cryptofuzz.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: groestl_final
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/groestl-cryptofuzz.c
    functionUses: 1
    functionsReached:
    - Final
    linkageType: ''
    returnType: bool
    signature: bool groestl_final(void* ctx, uint8_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cryptofuzz/modules/reference/groestl/groestl-cryptofuzz.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: groestl_free
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/groestl-cryptofuzz.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void groestl_free(void* ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - x
    - columns
    - round
    - v
    argTypes:
    - u8[][]
    - int
    - u8
    - Variant
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: AddRoundConstant
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddRoundConstant(u8 x[ROWS][COLS1024], int columns, u8 round,
      Variant v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - columns
    argTypes:
    - u8[][]
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: SubBytes
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubBytes(u8 x[ROWS][COLS1024], int columns)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - x
    - columns
    - v
    argTypes:
    - u8[][]
    - int
    - Variant
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: ShiftBytes
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ShiftBytes(u8 x[ROWS][COLS1024], int columns, Variant v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:104,1
    - Dst: mul2
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:105,1
    - Dst: mul3
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:106,1
    - Dst: mul4
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:107,1
    - Dst: mul5
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:108,1
    - Dst: mul3
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:109,1
    - Dst: mul5
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:110,1
    - Dst: mul7
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - x
    - columns
    argTypes:
    - u8[][]
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: MixBytes
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 0
    functionsReached:
    - mul3
    - mul2
    - mul5
    - mul4
    - mul7
    linkageType: ''
    returnType: void
    signature: void MixBytes(u8 x[ROWS][COLS1024], int columns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddRoundConstant
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:124,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:125,1
    - Dst: ShiftBytes
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:126,1
    - Dst: MixBytes
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - hashState*
    - u8[][]
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: P
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 90
    functionsReached:
    - ShiftBytes
    - SubBytes
    - MixBytes
    - AddRoundConstant
    linkageType: ''
    returnType: void
    signature: void P(hashState *ctx, u8 x[ROWS][COLS1024])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddRoundConstant
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:136,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:137,1
    - Dst: ShiftBytes
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:138,1
    - Dst: MixBytes
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - hashState*
    - u8[][]
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: Q
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 640
    functionsReached:
    - ShiftBytes
    - SubBytes
    - MixBytes
    - AddRoundConstant
    linkageType: ''
    returnType: void
    signature: void Q(hashState *ctx, u8 x[ROWS][COLS1024])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: P
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:162,1
    - Dst: Q
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - input
    - msglen
    argTypes:
    - hashState*
    - BitSequence*
    - u32
    constantsTouched: []
    func_position:
      end: 175
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 175
    functionName: Transform
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 16
    functionsReached:
    - P
    - Q
    linkageType: ''
    returnType: void
    signature: "void Transform(hashState* ctx, \r\n\t       const BitSequence *input,
      \r\n\t       u32 msglen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: P
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - hashState*
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: OutputTransformation
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 1
    functionsReached:
    - P
    linkageType: ''
    returnType: void
    signature: void OutputTransformation(hashState *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - hashbitlen
    argTypes:
    - hashState*
    - int
    constantsTouched: []
    func_position:
      end: 239
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 239
    functionName: Init
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: HashReturn
    signature: "HashReturn Init(hashState* ctx,\r\n\t\tint hashbitlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Transform
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:271,1
    - Dst: Transform
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:275,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - input
    - databitlen
    argTypes:
    - hashState*
    - BitSequence*
    - DataLength
    constantsTouched: []
    func_position:
      end: 288
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 288
    functionName: Update
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 39
    functionsReached:
    - Transform
    linkageType: ''
    returnType: HashReturn
    signature: "HashReturn Update(hashState* ctx,\r\n\t\t  const BitSequence* input,\r\n\t\t
      \ DataLength databitlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Transform
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:308,1
    - Dst: Transform
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:324,1
    - Dst: OutputTransformation
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - output
    argTypes:
    - hashState*
    - BitSequence*
    constantsTouched: []
    func_position:
      end: 345
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 345
    functionName: Final
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 39
    functionsReached:
    - OutputTransformation
    - Transform
    linkageType: ''
    returnType: HashReturn
    signature: "HashReturn Final(hashState* ctx,\r\n\t\t BitSequence* output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:356,1
    - Dst: Update
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:360,1
    - Dst: Final
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - hashbitlen
    - data
    - databitlen
    - hashval
    argTypes:
    - int
    - BitSequence*
    - DataLength
    - BitSequence*
    constantsTouched: []
    func_position:
      end: 367
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 367
    functionName: Hash
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 7
    functionsReached:
    - Init
    - Final
    - Update
    linkageType: ''
    returnType: HashReturn
    signature: "HashReturn Hash(int hashbitlen,\r\n\t\tconst BitSequence* data, \r\n\t\tDataLength
      databitlen,\r\n\t\tBitSequence* hashval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:373,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hashval
    - hashbitlen
    argTypes:
    - BitSequence*
    - int
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: PrintHash
    functionSourceFile: /src/cryptofuzz/modules/reference/groestl/Groestl-ref.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintHash(BitSequence *hashval, int hashbitlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/quickjs/generate_calc_ops.cpp:9,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/quickjs/generate_calc_ops.cpp:12,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/quickjs/generate_calc_ops.cpp:14,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/quickjs/generate_calc_ops.cpp:15,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/quickjs/generate_calc_ops.cpp:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 19
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/quickjs/generate_calc_ops.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - abort
    - std::string::find_first_of
    - printf
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/quickjs/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/quickjs/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::quickjs::quickjs
    functionSourceFile: /src/cryptofuzz/modules/quickjs/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void quickjs::quickjs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: quickjs::~quickjs(void)
    functionSourceFile: /src/cryptofuzz/modules/quickjs/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void quickjs::~quickjs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/quickjs/module.cpp:26,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/quickjs/module.cpp:26,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/quickjs/module.cpp:28,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/quickjs/module.cpp:33,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/quickjs/module.cpp:40,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/quickjs/module.cpp:42,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/quickjs/module.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 49
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 49
    functionName: cryptofuzz::module::quickjs::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/quickjs/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - modifier::GetPtr
    - std::to_string
    - auto::dump
    - modifier::GetSize
    - Datasource::Get
    - Run
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> quickjs::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - modifier
    argTypes:
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: cryptofuzz::operation::Operation::Operation
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Operation(component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - modifier
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: cryptofuzz::operation::Operation::Operation
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Operation(nlohmann::json modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: cryptofuzz::operation::Operation::GetAlgorithmString
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetAlgorithmString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: cryptofuzz::operation::Digest::Digest
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Digest(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: cryptofuzz::operation::Digest::Digest
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Digest(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: cryptofuzz::operation::Digest::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:56,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: cryptofuzz::operation::Digest::GetAlgorithmString
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string GetAlgorithmString(void) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Digest
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: operator==(const Digest& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Digest& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::Digest::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:65,1
    - Dst: cryptofuzz::operation::Digest::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: cryptofuzz::operation::Digest::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::operation::Digest::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: cryptofuzz::operation::HMAC::HMAC
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HMAC(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: cryptofuzz::operation::HMAC::HMAC
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HMAC(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: cryptofuzz::operation::HMAC::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:94,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: cryptofuzz::operation::HMAC::GetAlgorithmString
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string GetAlgorithmString(void) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HMAC
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: operator==(const HMAC& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const HMAC& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::HMAC::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:104,1
    - Dst: cryptofuzz::operation::HMAC::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:105,1
    - Dst: cryptofuzz::operation::HMAC::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: cryptofuzz::operation::HMAC::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::HMAC::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:119,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:123,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: cryptofuzz::operation::UMAC::UMAC
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void UMAC(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:131,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: cryptofuzz::operation::UMAC::UMAC
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void UMAC(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: cryptofuzz::operation::UMAC::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - UMAC
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: operator==(const UMAC& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const UMAC& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::UMAC::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:149,1
    - Dst: cryptofuzz::operation::UMAC::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:150,1
    - Dst: cryptofuzz::operation::UMAC::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:151,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:152,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: cryptofuzz::operation::UMAC::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::UMAC::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:167,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:170,1
    - Dst: std::make_optional<component::AAD>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:170,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:171,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:172,1
    - Dst: std::make_optional<uint64_t>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:174,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: cryptofuzz::operation::SymmetricEncrypt::SymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_optional<uint64_t>
    - Get
    - std::make_optional<component::AAD>
    linkageType: ''
    returnType: void
    signature: void SymmetricEncrypt(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:181,1
    - Dst: std::optional<component::AAD>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:182,1
    - Dst: std::optional<component::AAD>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:183,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:185,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:187,1
    - Dst: std::optional<uint64_t>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:188,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:188,1
    - Dst: std::optional<uint64_t>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: cryptofuzz::operation::SymmetricEncrypt::SymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::optional<uint64_t>
    - get
    - std::optional<component::AAD>
    linkageType: ''
    returnType: void
    signature: void SymmetricEncrypt(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: cryptofuzz::operation::SymmetricEncrypt::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:198,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: cryptofuzz::operation::SymmetricEncrypt::GetAlgorithmString
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - cipherType::Get
    - cryptofuzz::repository::CipherToString
    linkageType: ''
    returnType: std::string
    signature: std::string GetAlgorithmString(void) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: operator==(const SymmetricEncrypt& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SymmetricEncrypt& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::SymmetricEncrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:210,1
    - Dst: cryptofuzz::operation::SymmetricEncrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:211,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:213,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:215,1
    - Dst: cryptofuzz::operation::SymmetricEncrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:216,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:218,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:220,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:222,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 225
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 225
    functionName: cryptofuzz::operation::SymmetricEncrypt::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::SymmetricEncrypt::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:238,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:241,1
    - Dst: std::make_optional<component::Tag>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:241,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:242,1
    - Dst: std::make_optional<component::AAD>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:242,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: cryptofuzz::operation::SymmetricDecrypt::SymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached:
    - std::move
    - std::make_optional<component::Tag>
    - Get
    - std::make_optional<component::AAD>
    linkageType: ''
    returnType: void
    signature: void SymmetricDecrypt(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:251,1
    - Dst: std::optional<component::Tag>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:252,1
    - Dst: std::optional<component::Tag>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:253,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:256,1
    - Dst: std::optional<component::AAD>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:257,1
    - Dst: std::optional<component::AAD>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:258,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: cryptofuzz::operation::SymmetricDecrypt::SymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached:
    - std::optional<component::AAD>
    - get
    - std::optional<component::Tag>
    linkageType: ''
    returnType: void
    signature: void SymmetricDecrypt(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: cryptofuzz::operation::SymmetricDecrypt::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:268,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: cryptofuzz::operation::SymmetricDecrypt::GetAlgorithmString
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - cipherType::Get
    - cryptofuzz::repository::CipherToString
    linkageType: ''
    returnType: std::string
    signature: std::string GetAlgorithmString(void) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: operator==(const SymmetricDecrypt& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SymmetricDecrypt& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::SymmetricDecrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:280,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:281,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:283,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:285,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:286,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:289,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:291,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:292,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: cryptofuzz::operation::SymmetricDecrypt::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::SymmetricDecrypt::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:309,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:312,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:313,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:314,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: cryptofuzz::operation::KDF_SCRYPT::KDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_SCRYPT(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:321,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:322,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:323,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: cryptofuzz::operation::KDF_SCRYPT::KDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_SCRYPT(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: cryptofuzz::operation::KDF_SCRYPT::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: operator==(const KDF_SCRYPT& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_SCRYPT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SCRYPT::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:342,1
    - Dst: cryptofuzz::operation::KDF_SCRYPT::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:343,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:344,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:345,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:346,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: cryptofuzz::operation::KDF_SCRYPT::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::KDF_SCRYPT::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:361,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: cryptofuzz::operation::KDF_HKDF::KDF_HKDF
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_HKDF(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: cryptofuzz::operation::KDF_HKDF::KDF_HKDF
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_HKDF(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: cryptofuzz::operation::KDF_HKDF::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_HKDF
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: operator==(const KDF_HKDF& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_HKDF& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_HKDF::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:391,1
    - Dst: cryptofuzz::operation::KDF_HKDF::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:392,1
    - Dst: cryptofuzz::operation::KDF_HKDF::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:393,1
    - Dst: cryptofuzz::operation::KDF_HKDF::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:394,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: cryptofuzz::operation::KDF_HKDF::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::KDF_HKDF::Serialize
    - Put
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:408,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: cryptofuzz::operation::KDF_TLS1_PRF::KDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_TLS1_PRF(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: cryptofuzz::operation::KDF_TLS1_PRF::KDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_TLS1_PRF(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 422
    functionName: cryptofuzz::operation::KDF_TLS1_PRF::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: operator==(const KDF_TLS1_PRF& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_TLS1_PRF& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:434,1
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:435,1
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:436,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: cryptofuzz::operation::KDF_TLS1_PRF::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::KDF_TLS1_PRF::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:451,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:455,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: cryptofuzz::operation::KDF_PBKDF::KDF_PBKDF
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_PBKDF(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:463,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: cryptofuzz::operation::KDF_PBKDF::KDF_PBKDF
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_PBKDF(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: cryptofuzz::operation::KDF_PBKDF::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 479
    functionName: operator==(const KDF_PBKDF& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_PBKDF& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_PBKDF::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:481,1
    - Dst: cryptofuzz::operation::KDF_PBKDF::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:482,1
    - Dst: cryptofuzz::operation::KDF_PBKDF::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:483,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:484,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: cryptofuzz::operation::KDF_PBKDF::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::KDF_PBKDF::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:499,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:503,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 505
    functionName: cryptofuzz::operation::KDF_PBKDF1::KDF_PBKDF1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_PBKDF1(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:511,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: cryptofuzz::operation::KDF_PBKDF1::KDF_PBKDF1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_PBKDF1(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: cryptofuzz::operation::KDF_PBKDF1::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_PBKDF1
    constantsTouched: []
    func_position:
      end: 527
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 527
    functionName: operator==(const KDF_PBKDF1& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_PBKDF1& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_PBKDF1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:529,1
    - Dst: cryptofuzz::operation::KDF_PBKDF1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:530,1
    - Dst: cryptofuzz::operation::KDF_PBKDF1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:531,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:532,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: cryptofuzz::operation::KDF_PBKDF1::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached:
    - Put
    - cryptofuzz::operation::KDF_PBKDF1::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:547,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:551,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 553
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 553
    functionName: cryptofuzz::operation::KDF_PBKDF2::KDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_PBKDF2(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:559,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 561
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 561
    functionName: cryptofuzz::operation::KDF_PBKDF2::KDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_PBKDF2(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: cryptofuzz::operation::KDF_PBKDF2::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 575
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 575
    functionName: operator==(const KDF_PBKDF2& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_PBKDF2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_PBKDF2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:577,1
    - Dst: cryptofuzz::operation::KDF_PBKDF2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:578,1
    - Dst: cryptofuzz::operation::KDF_PBKDF2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:579,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:580,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 582
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 582
    functionName: cryptofuzz::operation::KDF_PBKDF2::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::KDF_PBKDF2::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:596,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:599,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:600,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:601,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:602,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 604
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 604
    functionName: cryptofuzz::operation::KDF_ARGON2::KDF_ARGON2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_ARGON2(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:609,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:610,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:611,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:612,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 614
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 614
    functionName: cryptofuzz::operation::KDF_ARGON2::KDF_ARGON2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_ARGON2(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 616
    functionName: cryptofuzz::operation::KDF_ARGON2::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 630
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 630
    functionName: operator==(const KDF_ARGON2& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_ARGON2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_ARGON2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:632,1
    - Dst: cryptofuzz::operation::KDF_ARGON2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:633,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:634,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:635,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:636,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:637,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: cryptofuzz::operation::KDF_ARGON2::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::KDF_ARGON2::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:652,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 659
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 659
    functionName: cryptofuzz::operation::KDF_SSH::KDF_SSH
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_SSH(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 668
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 668
    functionName: cryptofuzz::operation::KDF_SSH::KDF_SSH
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_SSH(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: cryptofuzz::operation::KDF_SSH::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_SSH
    constantsTouched: []
    func_position:
      end: 683
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 683
    functionName: operator==(const KDF_SSH& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_SSH& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SSH::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:685,1
    - Dst: cryptofuzz::operation::KDF_SSH::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:686,1
    - Dst: cryptofuzz::operation::KDF_SSH::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:687,1
    - Dst: cryptofuzz::operation::KDF_SSH::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:688,1
    - Dst: cryptofuzz::operation::KDF_SSH::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:689,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 691
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 691
    functionName: cryptofuzz::operation::KDF_SSH::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::KDF_SSH::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:702,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 707
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 707
    functionName: cryptofuzz::operation::KDF_X963::KDF_X963
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_X963(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 714
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 714
    functionName: cryptofuzz::operation::KDF_X963::KDF_X963
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_X963(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 716
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 716
    functionName: cryptofuzz::operation::KDF_X963::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_X963
    constantsTouched: []
    func_position:
      end: 727
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 727
    functionName: operator==(const KDF_X963& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_X963& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_X963::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:729,1
    - Dst: cryptofuzz::operation::KDF_X963::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:730,1
    - Dst: cryptofuzz::operation::KDF_X963::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:731,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 733
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 733
    functionName: cryptofuzz::operation::KDF_X963::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::KDF_X963::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:745,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:749,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 751
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 751
    functionName: cryptofuzz::operation::KDF_BCRYPT::KDF_BCRYPT
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_BCRYPT(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:757,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 759
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 759
    functionName: cryptofuzz::operation::KDF_BCRYPT::KDF_BCRYPT
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_BCRYPT(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 761
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 761
    functionName: cryptofuzz::operation::KDF_BCRYPT::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_BCRYPT
    constantsTouched: []
    func_position:
      end: 773
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 773
    functionName: operator==(const KDF_BCRYPT& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_BCRYPT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:786,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:791,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: cryptofuzz::operation::KDF_SP_800_108::KDF_SP_800_108
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_SP_800_108(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:800,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 802
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 802
    functionName: cryptofuzz::operation::KDF_SP_800_108::KDF_SP_800_108
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_SP_800_108(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: cryptofuzz::operation::KDF_SP_800_108::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_SP_800_108
    constantsTouched: []
    func_position:
      end: 817
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 817
    functionName: operator==(const KDF_SP_800_108& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_SP_800_108& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SP_800_108::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:819,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:820,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:821,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:822,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:823,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 825
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 825
    functionName: cryptofuzz::operation::KDF_SP_800_108::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::KDF_SP_800_108::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:839,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:842,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:843,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:844,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:845,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 847
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 847
    functionName: cryptofuzz::operation::KDF_SRTP::KDF_SRTP
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_SRTP(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:852,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:853,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:854,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:855,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 857
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 857
    functionName: cryptofuzz::operation::KDF_SRTP::KDF_SRTP
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_SRTP(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 859
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 859
    functionName: cryptofuzz::operation::KDF_SRTP::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_SRTP
    constantsTouched: []
    func_position:
      end: 873
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 873
    functionName: operator==(const KDF_SRTP& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_SRTP& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SRTP::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:875,1
    - Dst: cryptofuzz::operation::KDF_SRTP::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:876,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:877,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:878,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:879,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 881
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 881
    functionName: cryptofuzz::operation::KDF_SRTP::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::KDF_SRTP::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:895,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:898,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:899,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:900,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:901,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 903
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 903
    functionName: cryptofuzz::operation::KDF_SRTCP::KDF_SRTCP
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void KDF_SRTCP(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:908,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:909,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:910,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:911,1
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 913
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 913
    functionName: cryptofuzz::operation::KDF_SRTCP::KDF_SRTCP
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void KDF_SRTCP(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 915
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 915
    functionName: cryptofuzz::operation::KDF_SRTCP::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KDF_SRTCP
    constantsTouched: []
    func_position:
      end: 929
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 929
    functionName: operator==(const KDF_SRTCP& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KDF_SRTCP& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SRTCP::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:931,1
    - Dst: cryptofuzz::operation::KDF_SRTCP::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:932,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:933,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:934,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:935,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 937
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 937
    functionName: cryptofuzz::operation::KDF_SRTCP::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::KDF_SRTCP::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 949
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 949
    functionName: cryptofuzz::operation::CMAC::CMAC
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CMAC(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 954
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 954
    functionName: cryptofuzz::operation::CMAC::CMAC
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CMAC(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 956
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 956
    functionName: cryptofuzz::operation::CMAC::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CMAC
    constantsTouched: []
    func_position:
      end: 965
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 965
    functionName: operator==(const CMAC& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CMAC& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::CMAC::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:967,1
    - Dst: cryptofuzz::operation::CMAC::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 969
    functionName: cryptofuzz::operation::CMAC::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::CMAC::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 981
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 981
    functionName: cryptofuzz::operation::ECC_PrivateToPublic::ECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECC_PrivateToPublic(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 986
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 986
    functionName: cryptofuzz::operation::ECC_PrivateToPublic::ECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_PrivateToPublic(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 988
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 988
    functionName: cryptofuzz::operation::ECC_PrivateToPublic::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 997
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 997
    functionName: operator==(const ECC_PrivateToPublic& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECC_PrivateToPublic& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:999,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1001
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1001
    functionName: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::operation::ECC_PrivateToPublic::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1013
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1013
    functionName: cryptofuzz::operation::ECC_ValidatePubkey::ECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECC_ValidatePubkey(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1022
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1022
    functionName: cryptofuzz::operation::ECC_ValidatePubkey::ECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_ValidatePubkey(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1024
    functionName: cryptofuzz::operation::ECC_ValidatePubkey::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 1033
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1033
    functionName: operator==(const ECC_ValidatePubkey& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECC_ValidatePubkey& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1035,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 4
    functionsReached:
    - cryptofuzz::operation::ECC_ValidatePubkey::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1047
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1047
    functionName: cryptofuzz::operation::ECC_GenerateKeyPair::ECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECC_GenerateKeyPair(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1052
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1052
    functionName: cryptofuzz::operation::ECC_GenerateKeyPair::ECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_GenerateKeyPair(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1054
    functionName: cryptofuzz::operation::ECC_GenerateKeyPair::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: operator==(const ECC_GenerateKeyPair& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECC_GenerateKeyPair& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1065
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1065
    functionName: cryptofuzz::operation::ECC_GenerateKeyPair::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::ECC_GenerateKeyPair::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1083
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1083
    functionName: cryptofuzz::operation::ECCSI_Sign::ECCSI_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECCSI_Sign(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1091
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1091
    functionName: cryptofuzz::operation::ECCSI_Sign::ECCSI_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECCSI_Sign(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1093
    functionName: cryptofuzz::operation::ECCSI_Sign::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECCSI_Sign
    constantsTouched: []
    func_position:
      end: 1105
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1105
    functionName: operator==(const ECCSI_Sign& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECCSI_Sign& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECCSI_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1107,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1108,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1109,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1110,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1112
      start: 1106
    functionDepth: 1
    functionLinenumber: 1106
    functionLinenumberEnd: 1112
    functionName: cryptofuzz::operation::ECCSI_Sign::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::ECCSI_Sign::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1125,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1132
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1132
    functionName: cryptofuzz::operation::ECDSA_Sign::ECDSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void ECDSA_Sign(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1141
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1141
    functionName: cryptofuzz::operation::ECDSA_Sign::ECDSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void ECDSA_Sign(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1143
    functionName: cryptofuzz::operation::ECDSA_Sign::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1156
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1156
    functionName: operator==(const ECDSA_Sign& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECDSA_Sign& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1158,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1159,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1160,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1161,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1162,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1164
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1164
    functionName: cryptofuzz::operation::ECDSA_Sign::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::operation::ECDSA_Sign::Serialize
    - Put
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1167
    functionName: cryptofuzz::operation::ECDSA_Sign::UseRandomNonce
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseRandomNonce(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1170
    functionName: cryptofuzz::operation::ECDSA_Sign::UseRFC6979Nonce
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseRFC6979Nonce(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1173
    functionName: cryptofuzz::operation::ECDSA_Sign::UseSpecifiedNonce
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseSpecifiedNonce(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1186,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1193
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1193
    functionName: cryptofuzz::operation::ECGDSA_Sign::ECGDSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void ECGDSA_Sign(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1202
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1202
    functionName: cryptofuzz::operation::ECGDSA_Sign::ECGDSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void ECGDSA_Sign(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1204
    functionName: cryptofuzz::operation::ECGDSA_Sign::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECGDSA_Sign
    constantsTouched: []
    func_position:
      end: 1217
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1217
    functionName: operator==(const ECGDSA_Sign& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECGDSA_Sign& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECGDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1219,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1220,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1221,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1222,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1223,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1225
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1225
    functionName: cryptofuzz::operation::ECGDSA_Sign::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::ECGDSA_Sign::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1228
    functionName: cryptofuzz::operation::ECGDSA_Sign::UseRandomNonce
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseRandomNonce(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1231
    functionName: cryptofuzz::operation::ECGDSA_Sign::UseRFC6979Nonce
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseRFC6979Nonce(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1234
    functionName: cryptofuzz::operation::ECGDSA_Sign::UseSpecifiedNonce
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseSpecifiedNonce(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1247,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1254
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1254
    functionName: cryptofuzz::operation::ECRDSA_Sign::ECRDSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void ECRDSA_Sign(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1263
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1263
    functionName: cryptofuzz::operation::ECRDSA_Sign::ECRDSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void ECRDSA_Sign(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1265
    functionName: cryptofuzz::operation::ECRDSA_Sign::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECRDSA_Sign
    constantsTouched: []
    func_position:
      end: 1278
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1278
    functionName: operator==(const ECRDSA_Sign& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECRDSA_Sign& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECRDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1280,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1281,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1282,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1283,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1284,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1286
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1286
    functionName: cryptofuzz::operation::ECRDSA_Sign::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::ECRDSA_Sign::Serialize
    - Put
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: cryptofuzz::operation::ECRDSA_Sign::UseRandomNonce
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseRandomNonce(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1292
    functionName: cryptofuzz::operation::ECRDSA_Sign::UseRFC6979Nonce
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseRFC6979Nonce(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1295
    functionName: cryptofuzz::operation::ECRDSA_Sign::UseSpecifiedNonce
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseSpecifiedNonce(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1308,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1315
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1315
    functionName: cryptofuzz::operation::Schnorr_Sign::Schnorr_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void Schnorr_Sign(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1324
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1324
    functionName: cryptofuzz::operation::Schnorr_Sign::Schnorr_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void Schnorr_Sign(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1326
    functionName: cryptofuzz::operation::Schnorr_Sign::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Schnorr_Sign
    constantsTouched: []
    func_position:
      end: 1339
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1339
    functionName: operator==(const Schnorr_Sign& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Schnorr_Sign& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::Schnorr_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1341,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1342,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1343,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1344,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1345,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1347
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1347
    functionName: cryptofuzz::operation::Schnorr_Sign::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::Schnorr_Sign::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1350
    functionName: cryptofuzz::operation::Schnorr_Sign::UseRandomNonce
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseRandomNonce(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1353
    functionName: cryptofuzz::operation::Schnorr_Sign::UseBIP340Nonce
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseBIP340Nonce(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1356
    functionName: cryptofuzz::operation::Schnorr_Sign::UseSpecifiedNonce
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UseSpecifiedNonce(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1374
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1374
    functionName: cryptofuzz::operation::ECCSI_Verify::ECCSI_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECCSI_Verify(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1383
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1383
    functionName: cryptofuzz::operation::ECCSI_Verify::ECCSI_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECCSI_Verify(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1385
    functionName: cryptofuzz::operation::ECCSI_Verify::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECCSI_Verify
    constantsTouched: []
    func_position:
      end: 1397
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1397
    functionName: operator==(const ECCSI_Verify& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECCSI_Verify& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECCSI_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1399,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1400,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1401,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1402,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1404
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1404
    functionName: cryptofuzz::operation::ECCSI_Verify::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::ECCSI_Verify::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1420
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1420
    functionName: cryptofuzz::operation::ECDSA_Verify::ECDSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECDSA_Verify(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1428
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1428
    functionName: cryptofuzz::operation::ECDSA_Verify::ECDSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Verify(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1430
    functionName: cryptofuzz::operation::ECDSA_Verify::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1441
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1441
    functionName: operator==(const ECDSA_Verify& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECDSA_Verify& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1443,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1444,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1445,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1447
      start: 1442
    functionDepth: 1
    functionLinenumber: 1442
    functionLinenumberEnd: 1447
    functionName: cryptofuzz::operation::ECDSA_Verify::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 6
    functionsReached:
    - cryptofuzz::operation::ECDSA_Verify::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1463
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1463
    functionName: cryptofuzz::operation::ECGDSA_Verify::ECGDSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECGDSA_Verify(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1470
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1470
    functionName: cryptofuzz::operation::ECGDSA_Verify::ECGDSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECGDSA_Verify(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1472
    functionName: cryptofuzz::operation::ECGDSA_Verify::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECGDSA_Verify
    constantsTouched: []
    func_position:
      end: 1483
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1483
    functionName: operator==(const ECGDSA_Verify& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECGDSA_Verify& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECGDSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1485,1
    - Dst: cryptofuzz::operation::ECGDSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1486,1
    - Dst: cryptofuzz::operation::ECGDSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1487,1
    - Dst: cryptofuzz::operation::ECGDSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1489
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1489
    functionName: cryptofuzz::operation::ECGDSA_Verify::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::ECGDSA_Verify::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1505
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1505
    functionName: cryptofuzz::operation::ECRDSA_Verify::ECRDSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECRDSA_Verify(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1512
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1512
    functionName: cryptofuzz::operation::ECRDSA_Verify::ECRDSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECRDSA_Verify(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1514
    functionName: cryptofuzz::operation::ECRDSA_Verify::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECRDSA_Verify
    constantsTouched: []
    func_position:
      end: 1525
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1525
    functionName: operator==(const ECRDSA_Verify& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECRDSA_Verify& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECRDSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1527,1
    - Dst: cryptofuzz::operation::ECRDSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1528,1
    - Dst: cryptofuzz::operation::ECRDSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1529,1
    - Dst: cryptofuzz::operation::ECRDSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1531
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1531
    functionName: cryptofuzz::operation::ECRDSA_Verify::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::ECRDSA_Verify::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1543,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1549
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1549
    functionName: cryptofuzz::operation::ECDSA_Recover::ECDSA_Recover
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void ECDSA_Recover(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1557
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1557
    functionName: cryptofuzz::operation::ECDSA_Recover::ECDSA_Recover
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void ECDSA_Recover(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1559
    functionName: cryptofuzz::operation::ECDSA_Recover::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECDSA_Recover
    constantsTouched: []
    func_position:
      end: 1571
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1571
    functionName: operator==(const ECDSA_Recover& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECDSA_Recover& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECDSA_Recover::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1573,1
    - Dst: cryptofuzz::operation::ECDSA_Recover::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1574,1
    - Dst: cryptofuzz::operation::ECDSA_Recover::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1575,1
    - Dst: cryptofuzz::operation::ECDSA_Recover::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1576,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1578
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1578
    functionName: cryptofuzz::operation::ECDSA_Recover::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::ECDSA_Recover::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1585
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1585
    functionName: cryptofuzz::operation::DSA_GenerateParameters::DSA_GenerateParameters
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DSA_GenerateParameters(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1588
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1588
    functionName: cryptofuzz::operation::DSA_GenerateParameters::DSA_GenerateParameters
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_GenerateParameters(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - modifier
    argTypes:
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1591
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1591
    functionName: cryptofuzz::operation::DSA_GenerateParameters::DSA_GenerateParameters
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DSA_GenerateParameters(component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1593
    functionName: cryptofuzz::operation::DSA_GenerateParameters::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DSA_GenerateParameters
    constantsTouched: []
    func_position:
      end: 1600
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1600
    functionName: operator==(const DSA_GenerateParameters& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DSA_GenerateParameters& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1603
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1603
    functionName: cryptofuzz::operation::DSA_GenerateParameters::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1617
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1617
    functionName: cryptofuzz::operation::DSA_PrivateToPublic::DSA_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DSA_PrivateToPublic(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1623
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1623
    functionName: cryptofuzz::operation::DSA_PrivateToPublic::DSA_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_PrivateToPublic(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - modifier
    - g
    - p
    - priv
    argTypes:
    - component::Modifier
    - component::Bignum
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1633
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1633
    functionName: cryptofuzz::operation::DSA_PrivateToPublic::DSA_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DSA_PrivateToPublic(\n                component::Modifier modifier,\n
      \               component::Bignum g,\n                component::Bignum p,\n
      \               component::Bignum priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1635
    functionName: cryptofuzz::operation::DSA_PrivateToPublic::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DSA_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 1645
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1645
    functionName: operator==(const DSA_PrivateToPublic& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DSA_PrivateToPublic& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1648
      start: 1646
    functionDepth: 1
    functionLinenumber: 1646
    functionLinenumberEnd: 1648
    functionName: cryptofuzz::operation::DSA_PrivateToPublic::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::DSA_PrivateToPublic::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1662
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1662
    functionName: cryptofuzz::operation::DSA_GenerateKeyPair::DSA_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DSA_GenerateKeyPair(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1668
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1668
    functionName: cryptofuzz::operation::DSA_GenerateKeyPair::DSA_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_GenerateKeyPair(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - modifier
    - p
    - q
    - g
    argTypes:
    - component::Modifier
    - component::Bignum
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1678
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1678
    functionName: cryptofuzz::operation::DSA_GenerateKeyPair::DSA_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DSA_GenerateKeyPair(\n                component::Modifier modifier,\n
      \               component::Bignum p,\n                component::Bignum q,\n
      \               component::Bignum g)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1680
    functionName: cryptofuzz::operation::DSA_GenerateKeyPair::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DSA_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 1690
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1690
    functionName: operator==(const DSA_GenerateKeyPair& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DSA_GenerateKeyPair& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1692,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1693,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1695
      start: 1691
    functionDepth: 1
    functionLinenumber: 1691
    functionLinenumberEnd: 1695
    functionName: cryptofuzz::operation::DSA_GenerateKeyPair::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::DSA_GenerateKeyPair::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1709
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1709
    functionName: cryptofuzz::operation::DSA_Sign::DSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DSA_Sign(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1715
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1715
    functionName: cryptofuzz::operation::DSA_Sign::DSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Sign(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - modifier
    - parameters
    - priv
    - cleartext
    argTypes:
    - component::Modifier
    - component::DSA_Parameters
    - component::Bignum
    - component::Cleartext
    constantsTouched: []
    func_position:
      end: 1725
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1725
    functionName: cryptofuzz::operation::DSA_Sign::DSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DSA_Sign(\n                component::Modifier modifier,\n                component::DSA_Parameters
      parameters,\n                component::Bignum priv,\n                component::Cleartext
      cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1727
    functionName: cryptofuzz::operation::DSA_Sign::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DSA_Sign
    constantsTouched: []
    func_position:
      end: 1737
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1737
    functionName: operator==(const DSA_Sign& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DSA_Sign& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1739,1
    - Dst: cryptofuzz::operation::DSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1740,1
    - Dst: cryptofuzz::operation::DSA_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1742
      start: 1738
    functionDepth: 1
    functionLinenumber: 1738
    functionLinenumberEnd: 1742
    functionName: cryptofuzz::operation::DSA_Sign::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::DSA_Sign::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1758
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1758
    functionName: cryptofuzz::operation::DSA_Verify::DSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DSA_Verify(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1765
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1765
    functionName: cryptofuzz::operation::DSA_Verify::DSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Verify(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - modifier
    - parameters
    - pub
    - signature
    - cleartext
    argTypes:
    - component::Modifier
    - component::DSA_Parameters
    - component::Bignum
    - component::BignumPair
    - component::Cleartext
    constantsTouched: []
    func_position:
      end: 1777
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1777
    functionName: cryptofuzz::operation::DSA_Verify::DSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DSA_Verify(\n                component::Modifier modifier,\n
      \               component::DSA_Parameters parameters,\n                component::Bignum
      pub,\n                component::BignumPair signature,\n                component::Cleartext
      cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1779
    functionName: cryptofuzz::operation::DSA_Verify::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DSA_Verify
    constantsTouched: []
    func_position:
      end: 1790
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1790
    functionName: operator==(const DSA_Verify& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DSA_Verify& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1792,1
    - Dst: cryptofuzz::operation::DSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1793,1
    - Dst: cryptofuzz::operation::DSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1794,1
    - Dst: cryptofuzz::operation::DSA_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1796
      start: 1791
    functionDepth: 1
    functionLinenumber: 1791
    functionLinenumberEnd: 1796
    functionName: cryptofuzz::operation::DSA_Verify::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 4
    functionsReached:
    - cryptofuzz::operation::DSA_Verify::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1812
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1812
    functionName: cryptofuzz::operation::Schnorr_Verify::Schnorr_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Schnorr_Verify(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1819
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1819
    functionName: cryptofuzz::operation::Schnorr_Verify::Schnorr_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Schnorr_Verify(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1821
    functionName: cryptofuzz::operation::Schnorr_Verify::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Schnorr_Verify
    constantsTouched: []
    func_position:
      end: 1832
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1832
    functionName: operator==(const Schnorr_Verify& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Schnorr_Verify& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::Schnorr_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1834,1
    - Dst: cryptofuzz::operation::Schnorr_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1835,1
    - Dst: cryptofuzz::operation::Schnorr_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1836,1
    - Dst: cryptofuzz::operation::Schnorr_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1838
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 1838
    functionName: cryptofuzz::operation::Schnorr_Verify::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::Schnorr_Verify::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1852
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1852
    functionName: cryptofuzz::operation::ECDH_Derive::ECDH_Derive
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECDH_Derive(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1858
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1858
    functionName: cryptofuzz::operation::ECDH_Derive::ECDH_Derive
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDH_Derive(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - modifier
    - curveType
    - priv
    - pub
    argTypes:
    - component::Modifier
    - component::CurveType
    - component::ECC_PrivateKey
    - component::ECC_PublicKey
    constantsTouched: []
    func_position:
      end: 1868
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1868
    functionName: cryptofuzz::operation::ECDH_Derive::ECDH_Derive
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ECDH_Derive(\n                component::Modifier modifier,\n
      \               component::CurveType curveType,\n                component::ECC_PrivateKey
      priv,\n                component::ECC_PublicKey pub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1871
    functionName: cryptofuzz::operation::ECDH_Derive::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECDH_Derive
    constantsTouched: []
    func_position:
      end: 1881
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1881
    functionName: operator==(const ECDH_Derive& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECDH_Derive& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECDH_Derive::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1883,1
    - Dst: cryptofuzz::operation::ECDH_Derive::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1884,1
    - Dst: cryptofuzz::operation::ECDH_Derive::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1886
      start: 1882
    functionDepth: 1
    functionLinenumber: 1882
    functionLinenumberEnd: 1886
    functionName: cryptofuzz::operation::ECDH_Derive::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::operation::ECDH_Derive::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1901,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1907,1
    - Dst: std::make_optional<component::SymmetricIV>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1908
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1908
    functionName: cryptofuzz::operation::ECIES_Encrypt::ECIES_Encrypt
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    - std::make_optional<component::SymmetricIV>
    linkageType: ''
    returnType: void
    signature: void ECIES_Encrypt(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1917,1
    - Dst: std::optional<component::SymmetricIV>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1918,1
    - Dst: std::optional<component::SymmetricIV>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1921
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1921
    functionName: cryptofuzz::operation::ECIES_Encrypt::ECIES_Encrypt
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    - std::optional<component::SymmetricIV>
    linkageType: ''
    returnType: void
    signature: void ECIES_Encrypt(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1923
    functionName: cryptofuzz::operation::ECIES_Encrypt::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECIES_Encrypt
    constantsTouched: []
    func_position:
      end: 1936
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1936
    functionName: operator==(const ECIES_Encrypt& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECIES_Encrypt& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECIES_Encrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1938,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1939,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1940,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1941,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1942,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1944,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1946,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 1949
      start: 1937
    functionDepth: 1
    functionLinenumber: 1937
    functionLinenumberEnd: 1949
    functionName: cryptofuzz::operation::ECIES_Encrypt::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::ECIES_Encrypt::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1964,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1970,1
    - Dst: std::make_optional<component::SymmetricIV>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 1971
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1971
    functionName: cryptofuzz::operation::ECIES_Decrypt::ECIES_Decrypt
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    - std::make_optional<component::SymmetricIV>
    linkageType: ''
    returnType: void
    signature: void ECIES_Decrypt(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1980,1
    - Dst: std::optional<component::SymmetricIV>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1981,1
    - Dst: std::optional<component::SymmetricIV>
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:1982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 1984
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1984
    functionName: cryptofuzz::operation::ECIES_Decrypt::ECIES_Decrypt
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - get
    - std::optional<component::SymmetricIV>
    linkageType: ''
    returnType: void
    signature: void ECIES_Decrypt(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 1986
    functionName: cryptofuzz::operation::ECIES_Decrypt::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECIES_Decrypt
    constantsTouched: []
    func_position:
      end: 1999
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 1999
    functionName: operator==(const ECIES_Decrypt& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECIES_Decrypt& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECIES_Decrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2001,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2002,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2003,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2004,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2005,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2007,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2009,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2012
      start: 2000
    functionDepth: 1
    functionLinenumber: 2000
    functionLinenumberEnd: 2012
    functionName: cryptofuzz::operation::ECIES_Decrypt::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::ECIES_Decrypt::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2025
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2025
    functionName: cryptofuzz::operation::ECC_Point_Add::ECC_Point_Add
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECC_Point_Add(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2031
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2031
    functionName: cryptofuzz::operation::ECC_Point_Add::ECC_Point_Add
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Point_Add(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2033
    functionDepth: 0
    functionLinenumber: 2033
    functionLinenumberEnd: 2033
    functionName: cryptofuzz::operation::ECC_Point_Add::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 2043
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2043
    functionName: operator==(const ECC_Point_Add& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECC_Point_Add& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2045,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2046,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2048
      start: 2044
    functionDepth: 1
    functionLinenumber: 2044
    functionLinenumberEnd: 2048
    functionName: cryptofuzz::operation::ECC_Point_Add::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 6
    functionsReached:
    - cryptofuzz::operation::ECC_Point_Add::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2061
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2061
    functionName: cryptofuzz::operation::ECC_Point_Sub::ECC_Point_Sub
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECC_Point_Sub(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2067
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2067
    functionName: cryptofuzz::operation::ECC_Point_Sub::ECC_Point_Sub
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Point_Sub(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2069
    functionDepth: 0
    functionLinenumber: 2069
    functionLinenumberEnd: 2069
    functionName: cryptofuzz::operation::ECC_Point_Sub::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECC_Point_Sub
    constantsTouched: []
    func_position:
      end: 2079
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2079
    functionName: operator==(const ECC_Point_Sub& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECC_Point_Sub& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Sub::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2081,1
    - Dst: cryptofuzz::operation::ECC_Point_Sub::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2082,1
    - Dst: cryptofuzz::operation::ECC_Point_Sub::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2084
      start: 2080
    functionDepth: 1
    functionLinenumber: 2080
    functionLinenumberEnd: 2084
    functionName: cryptofuzz::operation::ECC_Point_Sub::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::operation::ECC_Point_Sub::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2098
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2098
    functionName: cryptofuzz::operation::ECC_Point_Mul::ECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECC_Point_Mul(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2104
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2104
    functionName: cryptofuzz::operation::ECC_Point_Mul::ECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Point_Mul(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2106
    functionName: cryptofuzz::operation::ECC_Point_Mul::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 2116
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2116
    functionName: operator==(const ECC_Point_Mul& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECC_Point_Mul& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2118,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2119,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2121
      start: 2117
    functionDepth: 1
    functionLinenumber: 2117
    functionLinenumberEnd: 2121
    functionName: cryptofuzz::operation::ECC_Point_Mul::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 6
    functionsReached:
    - cryptofuzz::operation::ECC_Point_Mul::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2133
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2133
    functionName: cryptofuzz::operation::ECC_Point_Neg::ECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECC_Point_Neg(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2138
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2138
    functionName: cryptofuzz::operation::ECC_Point_Neg::ECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Point_Neg(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2140
    functionName: cryptofuzz::operation::ECC_Point_Neg::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 2149
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2149
    functionName: operator==(const ECC_Point_Neg& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECC_Point_Neg& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Neg::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2151,1
    - Dst: cryptofuzz::operation::ECC_Point_Neg::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2153
      start: 2150
    functionDepth: 1
    functionLinenumber: 2150
    functionLinenumberEnd: 2153
    functionName: cryptofuzz::operation::ECC_Point_Neg::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::operation::ECC_Point_Neg::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2165
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2165
    functionName: cryptofuzz::operation::ECC_Point_Dbl::ECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECC_Point_Dbl(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2170
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2170
    functionName: cryptofuzz::operation::ECC_Point_Dbl::ECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Point_Dbl(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2172
    functionName: cryptofuzz::operation::ECC_Point_Dbl::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 2181
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2181
    functionName: operator==(const ECC_Point_Dbl& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECC_Point_Dbl& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Dbl::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2183,1
    - Dst: cryptofuzz::operation::ECC_Point_Dbl::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2185
      start: 2182
    functionDepth: 1
    functionLinenumber: 2182
    functionLinenumberEnd: 2185
    functionName: cryptofuzz::operation::ECC_Point_Dbl::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::operation::ECC_Point_Dbl::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2198
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2198
    functionName: cryptofuzz::operation::ECC_Point_Cmp::ECC_Point_Cmp
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECC_Point_Cmp(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2204
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2204
    functionName: cryptofuzz::operation::ECC_Point_Cmp::ECC_Point_Cmp
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Point_Cmp(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2206
    functionName: cryptofuzz::operation::ECC_Point_Cmp::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECC_Point_Cmp
    constantsTouched: []
    func_position:
      end: 2216
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2216
    functionName: operator==(const ECC_Point_Cmp& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ECC_Point_Cmp& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2218,1
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2219,1
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2221
      start: 2217
    functionDepth: 1
    functionLinenumber: 2217
    functionLinenumberEnd: 2221
    functionName: cryptofuzz::operation::ECC_Point_Cmp::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 4
    functionsReached:
    - cryptofuzz::operation::ECC_Point_Cmp::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2233
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2233
    functionName: cryptofuzz::operation::DH_GenerateKeyPair::DH_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DH_GenerateKeyPair(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2238
      start: 2234
    functionDepth: 0
    functionLinenumber: 2234
    functionLinenumberEnd: 2238
    functionName: cryptofuzz::operation::DH_GenerateKeyPair::DH_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DH_GenerateKeyPair(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - modifier
    - prime
    - base
    argTypes:
    - component::Modifier
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 2246
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2246
    functionName: cryptofuzz::operation::DH_GenerateKeyPair::DH_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DH_GenerateKeyPair(\n                component::Modifier modifier,\n
      \               component::Bignum prime,\n                component::Bignum
      base)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2248
    functionName: cryptofuzz::operation::DH_GenerateKeyPair::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DH_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 2257
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2257
    functionName: operator==(const DH_GenerateKeyPair& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DH_GenerateKeyPair& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2259,1
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2261
      start: 2258
    functionDepth: 1
    functionLinenumber: 2258
    functionLinenumberEnd: 2261
    functionName: cryptofuzz::operation::DH_GenerateKeyPair::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::DH_GenerateKeyPair::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2277
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2277
    functionName: cryptofuzz::operation::DH_Derive::DH_Derive
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DH_Derive(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2284
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2284
    functionName: cryptofuzz::operation::DH_Derive::DH_Derive
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DH_Derive(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - modifier
    - prime
    - base
    - pub
    - priv
    argTypes:
    - component::Modifier
    - component::Bignum
    - component::Bignum
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 2296
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2296
    functionName: cryptofuzz::operation::DH_Derive::DH_Derive
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DH_Derive(\n                component::Modifier modifier,\n                component::Bignum
      prime,\n                component::Bignum base,\n                component::Bignum
      pub,\n                component::Bignum priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2298
    functionName: cryptofuzz::operation::DH_Derive::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DH_Derive
    constantsTouched: []
    func_position:
      end: 2309
      start: 2302
    functionDepth: 0
    functionLinenumber: 2302
    functionLinenumberEnd: 2309
    functionName: operator==(const DH_Derive& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DH_Derive& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DH_Derive::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2311,1
    - Dst: cryptofuzz::operation::DH_Derive::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2312,1
    - Dst: cryptofuzz::operation::DH_Derive::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2313,1
    - Dst: cryptofuzz::operation::DH_Derive::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2315
      start: 2310
    functionDepth: 1
    functionLinenumber: 2310
    functionLinenumberEnd: 2315
    functionName: cryptofuzz::operation::DH_Derive::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::DH_Derive::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2334
      start: 2327
    functionDepth: 0
    functionLinenumber: 2327
    functionLinenumberEnd: 2334
    functionName: cryptofuzz::operation::BignumCalc::BignumCalc
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BignumCalc(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2342
      start: 2335
    functionDepth: 0
    functionLinenumber: 2335
    functionLinenumberEnd: 2342
    functionName: cryptofuzz::operation::BignumCalc::BignumCalc
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCalc(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - modifier
    - calcOp
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - component::Modifier
    - component::CurveType
    - component::Bignum
    - component::Bignum
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 2356
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2356
    functionName: cryptofuzz::operation::BignumCalc::BignumCalc
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void BignumCalc(\n                component::Modifier modifier,\n
      \               component::CurveType calcOp,\n                component::Bignum
      bn0,\n                component::Bignum bn1,\n                component::Bignum
      bn2,\n                component::Bignum bn3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2359
    functionName: cryptofuzz::operation::BignumCalc::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BignumCalc
    constantsTouched: []
    func_position:
      end: 2371
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2371
    functionName: operator==(const BignumCalc& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BignumCalc& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2373,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2374,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2375,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2376,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2378
      start: 2372
    functionDepth: 1
    functionLinenumber: 2372
    functionLinenumberEnd: 2378
    functionName: cryptofuzz::operation::BignumCalc::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 6
    functionsReached:
    - cryptofuzz::operation::BignumCalc::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2398
      start: 2391
    functionDepth: 0
    functionLinenumber: 2391
    functionLinenumberEnd: 2398
    functionName: cryptofuzz::operation::BignumCalc_Fp2::BignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BignumCalc_Fp2(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2406
      start: 2399
    functionDepth: 0
    functionLinenumber: 2399
    functionLinenumberEnd: 2406
    functionName: cryptofuzz::operation::BignumCalc_Fp2::BignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCalc_Fp2(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - modifier
    - calcOp
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - component::Modifier
    - component::CurveType
    - component::Fp2
    - component::Fp2
    - component::Fp2
    - component::Fp2
    constantsTouched: []
    func_position:
      end: 2420
      start: 2407
    functionDepth: 0
    functionLinenumber: 2407
    functionLinenumberEnd: 2420
    functionName: cryptofuzz::operation::BignumCalc_Fp2::BignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void BignumCalc_Fp2(\n                component::Modifier modifier,\n
      \               component::CurveType calcOp,\n                component::Fp2
      bn0,\n                component::Fp2 bn1,\n                component::Fp2 bn2,\n
      \               component::Fp2 bn3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2423
    functionName: cryptofuzz::operation::BignumCalc_Fp2::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 2435
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2435
    functionName: operator==(const BignumCalc_Fp2& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BignumCalc_Fp2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2437,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2438,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2439,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2440,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2442
      start: 2436
    functionDepth: 1
    functionLinenumber: 2436
    functionLinenumberEnd: 2442
    functionName: cryptofuzz::operation::BignumCalc_Fp2::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BignumCalc_Fp2::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2462
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2462
    functionName: cryptofuzz::operation::BignumCalc_Fp12::BignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BignumCalc_Fp12(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2470
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2470
    functionName: cryptofuzz::operation::BignumCalc_Fp12::BignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCalc_Fp12(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - modifier
    - calcOp
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - component::Modifier
    - component::CurveType
    - component::Fp12
    - component::Fp12
    - component::Fp12
    - component::Fp12
    constantsTouched: []
    func_position:
      end: 2484
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2484
    functionName: cryptofuzz::operation::BignumCalc_Fp12::BignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void BignumCalc_Fp12(\n                component::Modifier modifier,\n
      \               component::CurveType calcOp,\n                component::Fp12
      bn0,\n                component::Fp12 bn1,\n                component::Fp12
      bn2,\n                component::Fp12 bn3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2487
    functionName: cryptofuzz::operation::BignumCalc_Fp12::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 2499
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2499
    functionName: operator==(const BignumCalc_Fp12& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BignumCalc_Fp12& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2501,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2502,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2503,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2504,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2506
      start: 2500
    functionDepth: 1
    functionLinenumber: 2500
    functionLinenumberEnd: 2506
    functionName: cryptofuzz::operation::BignumCalc_Fp12::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::operation::BignumCalc_Fp12::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2519
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2519
    functionName: cryptofuzz::operation::BLS_PrivateToPublic::BLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_PrivateToPublic(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2524
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2524
    functionName: cryptofuzz::operation::BLS_PrivateToPublic::BLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_PrivateToPublic(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2526
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2526
    functionName: cryptofuzz::operation::BLS_PrivateToPublic::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 2535
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2535
    functionName: operator==(const BLS_PrivateToPublic& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_PrivateToPublic& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2537,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2539
      start: 2536
    functionDepth: 1
    functionLinenumber: 2536
    functionLinenumberEnd: 2539
    functionName: cryptofuzz::operation::BLS_PrivateToPublic::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_PrivateToPublic::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2551
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2551
    functionName: cryptofuzz::operation::BLS_PrivateToPublic_G2::BLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_PrivateToPublic_G2(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2556
      start: 2552
    functionDepth: 0
    functionLinenumber: 2552
    functionLinenumberEnd: 2556
    functionName: cryptofuzz::operation::BLS_PrivateToPublic_G2::BLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_PrivateToPublic_G2(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2558
    functionName: cryptofuzz::operation::BLS_PrivateToPublic_G2::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 2567
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2567
    functionName: operator==(const BLS_PrivateToPublic_G2& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_PrivateToPublic_G2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic_G2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2569,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic_G2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2571
      start: 2568
    functionDepth: 1
    functionLinenumber: 2568
    functionLinenumberEnd: 2571
    functionName: cryptofuzz::operation::BLS_PrivateToPublic_G2::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_PrivateToPublic_G2::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2585,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2593
      start: 2584
    functionDepth: 0
    functionLinenumber: 2584
    functionLinenumberEnd: 2593
    functionName: cryptofuzz::operation::BLS_Sign::BLS_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void BLS_Sign(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2603
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2603
    functionName: cryptofuzz::operation::BLS_Sign::BLS_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Sign(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2605
    functionDepth: 0
    functionLinenumber: 2605
    functionLinenumberEnd: 2605
    functionName: cryptofuzz::operation::BLS_Sign::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_Sign
    constantsTouched: []
    func_position:
      end: 2619
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2619
    functionName: operator==(const BLS_Sign& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_Sign& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2621,1
    - Dst: cryptofuzz::operation::BLS_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2622,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2623,1
    - Dst: cryptofuzz::operation::BLS_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2624,1
    - Dst: cryptofuzz::operation::BLS_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2625,1
    - Dst: cryptofuzz::operation::BLS_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2626,1
    - Dst: cryptofuzz::operation::BLS_Sign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2628
      start: 2620
    functionDepth: 1
    functionLinenumber: 2620
    functionLinenumberEnd: 2628
    functionName: cryptofuzz::operation::BLS_Sign::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::BLS_Sign::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2642,1
    - Dst: Get
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2650
      start: 2641
    functionDepth: 0
    functionLinenumber: 2641
    functionLinenumberEnd: 2650
    functionName: cryptofuzz::operation::BLS_Verify::BLS_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    - Get
    linkageType: ''
    returnType: void
    signature: void BLS_Verify(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2660
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2660
    functionName: cryptofuzz::operation::BLS_Verify::BLS_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Verify(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2662
    functionName: cryptofuzz::operation::BLS_Verify::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_Verify
    constantsTouched: []
    func_position:
      end: 2676
      start: 2666
    functionDepth: 0
    functionLinenumber: 2666
    functionLinenumberEnd: 2676
    functionName: operator==(const BLS_Verify& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_Verify& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2678,1
    - Dst: cryptofuzz::operation::BLS_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2679,1
    - Dst: Put
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2680,1
    - Dst: cryptofuzz::operation::BLS_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2681,1
    - Dst: cryptofuzz::operation::BLS_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2682,1
    - Dst: cryptofuzz::operation::BLS_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2683,1
    - Dst: cryptofuzz::operation::BLS_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2685
      start: 2677
    functionDepth: 1
    functionLinenumber: 2677
    functionLinenumberEnd: 2685
    functionName: cryptofuzz::operation::BLS_Verify::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - Put
    - cryptofuzz::operation::BLS_Verify::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2695
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2695
    functionName: cryptofuzz::operation::BLS_BatchSign::BLS_BatchSign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_BatchSign(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2699
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2699
    functionName: cryptofuzz::operation::BLS_BatchSign::BLS_BatchSign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_BatchSign(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2701
    functionDepth: 0
    functionLinenumber: 2701
    functionLinenumberEnd: 2701
    functionName: cryptofuzz::operation::BLS_BatchSign::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_BatchSign
    constantsTouched: []
    func_position:
      end: 2709
      start: 2705
    functionDepth: 0
    functionLinenumber: 2705
    functionLinenumberEnd: 2709
    functionName: operator==(const BLS_BatchSign& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_BatchSign& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_BatchSign::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2712
      start: 2710
    functionDepth: 1
    functionLinenumber: 2710
    functionLinenumberEnd: 2712
    functionName: cryptofuzz::operation::BLS_BatchSign::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_BatchSign::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2722
      start: 2719
    functionDepth: 0
    functionLinenumber: 2719
    functionLinenumberEnd: 2722
    functionName: cryptofuzz::operation::BLS_BatchVerify::BLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_BatchVerify(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2726
      start: 2723
    functionDepth: 0
    functionLinenumber: 2723
    functionLinenumberEnd: 2726
    functionName: cryptofuzz::operation::BLS_BatchVerify::BLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_BatchVerify(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2728
      start: 2728
    functionDepth: 0
    functionLinenumber: 2728
    functionLinenumberEnd: 2728
    functionName: cryptofuzz::operation::BLS_BatchVerify::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 2736
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2736
    functionName: operator==(const BLS_BatchVerify& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_BatchVerify& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_BatchVerify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 1
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: cryptofuzz::operation::BLS_BatchVerify::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_BatchVerify::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2751
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2751
    functionName: cryptofuzz::operation::BLS_Aggregate_G1::BLS_Aggregate_G1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_Aggregate_G1(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2756
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2756
    functionName: cryptofuzz::operation::BLS_Aggregate_G1::BLS_Aggregate_G1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Aggregate_G1(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2758
    functionDepth: 0
    functionLinenumber: 2758
    functionLinenumberEnd: 2758
    functionName: cryptofuzz::operation::BLS_Aggregate_G1::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_Aggregate_G1
    constantsTouched: []
    func_position:
      end: 2767
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2767
    functionName: operator==(const BLS_Aggregate_G1& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_Aggregate_G1& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Aggregate_G1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2769,1
    - Dst: cryptofuzz::operation::BLS_Aggregate_G1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2771
      start: 2768
    functionDepth: 1
    functionLinenumber: 2768
    functionLinenumberEnd: 2771
    functionName: cryptofuzz::operation::BLS_Aggregate_G1::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_Aggregate_G1::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2783
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2783
    functionName: cryptofuzz::operation::BLS_Aggregate_G2::BLS_Aggregate_G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_Aggregate_G2(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2788
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2788
    functionName: cryptofuzz::operation::BLS_Aggregate_G2::BLS_Aggregate_G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Aggregate_G2(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2790
    functionName: cryptofuzz::operation::BLS_Aggregate_G2::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_Aggregate_G2
    constantsTouched: []
    func_position:
      end: 2799
      start: 2794
    functionDepth: 0
    functionLinenumber: 2794
    functionLinenumberEnd: 2799
    functionName: operator==(const BLS_Aggregate_G2& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_Aggregate_G2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Aggregate_G2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2801,1
    - Dst: cryptofuzz::operation::BLS_Aggregate_G2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2803
      start: 2800
    functionDepth: 1
    functionLinenumber: 2800
    functionLinenumberEnd: 2803
    functionName: cryptofuzz::operation::BLS_Aggregate_G2::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_Aggregate_G2::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2817
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2817
    functionName: cryptofuzz::operation::BLS_Pairing::BLS_Pairing
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_Pairing(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2823
      start: 2818
    functionDepth: 0
    functionLinenumber: 2818
    functionLinenumberEnd: 2823
    functionName: cryptofuzz::operation::BLS_Pairing::BLS_Pairing
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Pairing(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2825
      start: 2825
    functionDepth: 0
    functionLinenumber: 2825
    functionLinenumberEnd: 2825
    functionName: cryptofuzz::operation::BLS_Pairing::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_Pairing
    constantsTouched: []
    func_position:
      end: 2835
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2835
    functionName: operator==(const BLS_Pairing& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_Pairing& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Pairing::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2837,1
    - Dst: cryptofuzz::operation::BLS_Pairing::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2838,1
    - Dst: cryptofuzz::operation::BLS_Pairing::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2840
      start: 2836
    functionDepth: 1
    functionLinenumber: 2836
    functionLinenumberEnd: 2840
    functionName: cryptofuzz::operation::BLS_Pairing::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_Pairing::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2854
      start: 2849
    functionDepth: 0
    functionLinenumber: 2849
    functionLinenumberEnd: 2854
    functionName: cryptofuzz::operation::BLS_MillerLoop::BLS_MillerLoop
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_MillerLoop(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2860
      start: 2855
    functionDepth: 0
    functionLinenumber: 2855
    functionLinenumberEnd: 2860
    functionName: cryptofuzz::operation::BLS_MillerLoop::BLS_MillerLoop
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_MillerLoop(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2862
    functionDepth: 0
    functionLinenumber: 2862
    functionLinenumberEnd: 2862
    functionName: cryptofuzz::operation::BLS_MillerLoop::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_MillerLoop
    constantsTouched: []
    func_position:
      end: 2872
      start: 2866
    functionDepth: 0
    functionLinenumber: 2866
    functionLinenumberEnd: 2872
    functionName: operator==(const BLS_MillerLoop& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_MillerLoop& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_MillerLoop::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2874,1
    - Dst: cryptofuzz::operation::BLS_MillerLoop::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2875,1
    - Dst: cryptofuzz::operation::BLS_MillerLoop::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2877
      start: 2873
    functionDepth: 1
    functionLinenumber: 2873
    functionLinenumberEnd: 2877
    functionName: cryptofuzz::operation::BLS_MillerLoop::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_MillerLoop::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2889
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2889
    functionName: cryptofuzz::operation::BLS_FinalExp::BLS_FinalExp
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_FinalExp(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2894
      start: 2890
    functionDepth: 0
    functionLinenumber: 2890
    functionLinenumberEnd: 2894
    functionName: cryptofuzz::operation::BLS_FinalExp::BLS_FinalExp
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_FinalExp(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2896
      start: 2896
    functionDepth: 0
    functionLinenumber: 2896
    functionLinenumberEnd: 2896
    functionName: cryptofuzz::operation::BLS_FinalExp::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 2905
      start: 2900
    functionDepth: 0
    functionLinenumber: 2900
    functionLinenumberEnd: 2905
    functionName: operator==(const BLS_FinalExp& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_FinalExp& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_FinalExp::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2907,1
    - Dst: cryptofuzz::operation::BLS_FinalExp::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2909
      start: 2906
    functionDepth: 1
    functionLinenumber: 2906
    functionLinenumberEnd: 2909
    functionName: cryptofuzz::operation::BLS_FinalExp::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_FinalExp::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2925
      start: 2919
    functionDepth: 0
    functionLinenumber: 2919
    functionLinenumberEnd: 2925
    functionName: cryptofuzz::operation::BLS_HashToG1::BLS_HashToG1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_HashToG1(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - curveType
    - cleartext
    - dest
    - aug
    - modifier
    argTypes:
    - component::CurveType
    - component::Cleartext
    - component::Cleartext
    - component::Cleartext
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2932
      start: 2926
    functionDepth: 0
    functionLinenumber: 2926
    functionLinenumberEnd: 2932
    functionName: cryptofuzz::operation::BLS_HashToG1::BLS_HashToG1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_HashToG1(const component::CurveType curveType, const component::Cleartext
      cleartext, const component::Cleartext dest, const component::Cleartext aug,
      component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2939
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 2939
    functionName: cryptofuzz::operation::BLS_HashToG1::BLS_HashToG1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_HashToG1(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2941
      start: 2941
    functionDepth: 0
    functionLinenumber: 2941
    functionLinenumberEnd: 2941
    functionName: cryptofuzz::operation::BLS_HashToG1::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 2952
      start: 2945
    functionDepth: 0
    functionLinenumber: 2945
    functionLinenumberEnd: 2952
    functionName: operator==(const BLS_HashToG1& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_HashToG1& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_HashToG1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2954,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2955,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2956,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2958
      start: 2953
    functionDepth: 1
    functionLinenumber: 2953
    functionLinenumberEnd: 2958
    functionName: cryptofuzz::operation::BLS_HashToG1::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_HashToG1::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2974
      start: 2968
    functionDepth: 0
    functionLinenumber: 2968
    functionLinenumberEnd: 2974
    functionName: cryptofuzz::operation::BLS_HashToG2::BLS_HashToG2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_HashToG2(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:2976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - curveType
    - cleartext
    - dest
    - aug
    - modifier
    argTypes:
    - component::CurveType
    - component::Cleartext
    - component::Cleartext
    - component::Cleartext
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 2981
      start: 2975
    functionDepth: 0
    functionLinenumber: 2975
    functionLinenumberEnd: 2981
    functionName: cryptofuzz::operation::BLS_HashToG2::BLS_HashToG2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_HashToG2(const component::CurveType curveType, const component::Cleartext
      cleartext, const component::Cleartext dest, const component::Cleartext aug,
      component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 2988
      start: 2982
    functionDepth: 0
    functionLinenumber: 2982
    functionLinenumberEnd: 2988
    functionName: cryptofuzz::operation::BLS_HashToG2::BLS_HashToG2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_HashToG2(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2990
    functionDepth: 0
    functionLinenumber: 2990
    functionLinenumberEnd: 2990
    functionName: cryptofuzz::operation::BLS_HashToG2::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 3001
      start: 2994
    functionDepth: 0
    functionLinenumber: 2994
    functionLinenumberEnd: 3001
    functionName: operator==(const BLS_HashToG2& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_HashToG2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_HashToG2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3003,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3004,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3005,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3007
      start: 3002
    functionDepth: 1
    functionLinenumber: 3002
    functionLinenumberEnd: 3007
    functionName: cryptofuzz::operation::BLS_HashToG2::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_HashToG2::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3021
      start: 3016
    functionDepth: 0
    functionLinenumber: 3016
    functionLinenumberEnd: 3021
    functionName: cryptofuzz::operation::BLS_MapToG1::BLS_MapToG1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_MapToG1(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - curveType
    - u
    - v
    - modifier
    argTypes:
    - component::CurveType
    - component::Bignum
    - component::Bignum
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3027
      start: 3022
    functionDepth: 0
    functionLinenumber: 3022
    functionLinenumberEnd: 3027
    functionName: cryptofuzz::operation::BLS_MapToG1::BLS_MapToG1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_MapToG1(const component::CurveType curveType, const component::Bignum
      u, const component::Bignum v, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3033
      start: 3028
    functionDepth: 0
    functionLinenumber: 3028
    functionLinenumberEnd: 3033
    functionName: cryptofuzz::operation::BLS_MapToG1::BLS_MapToG1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_MapToG1(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3035
      start: 3035
    functionDepth: 0
    functionLinenumber: 3035
    functionLinenumberEnd: 3035
    functionName: cryptofuzz::operation::BLS_MapToG1::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_MapToG1
    constantsTouched: []
    func_position:
      end: 3045
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3045
    functionName: operator==(const BLS_MapToG1& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_MapToG1& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_MapToG1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3047,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3048,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3050
      start: 3046
    functionDepth: 1
    functionLinenumber: 3046
    functionLinenumberEnd: 3050
    functionName: cryptofuzz::operation::BLS_MapToG1::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_MapToG1::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3064
      start: 3059
    functionDepth: 0
    functionLinenumber: 3059
    functionLinenumberEnd: 3064
    functionName: cryptofuzz::operation::BLS_MapToG2::BLS_MapToG2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_MapToG2(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - curveType
    - u
    - v
    - modifier
    argTypes:
    - component::CurveType
    - component::Fp2
    - component::Fp2
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3070
      start: 3065
    functionDepth: 0
    functionLinenumber: 3065
    functionLinenumberEnd: 3070
    functionName: cryptofuzz::operation::BLS_MapToG2::BLS_MapToG2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_MapToG2(const component::CurveType curveType, const component::Fp2
      u, const component::Fp2 v, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3076
      start: 3071
    functionDepth: 0
    functionLinenumber: 3071
    functionLinenumberEnd: 3076
    functionName: cryptofuzz::operation::BLS_MapToG2::BLS_MapToG2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_MapToG2(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3078
    functionDepth: 0
    functionLinenumber: 3078
    functionLinenumberEnd: 3078
    functionName: cryptofuzz::operation::BLS_MapToG2::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_MapToG2
    constantsTouched: []
    func_position:
      end: 3088
      start: 3082
    functionDepth: 0
    functionLinenumber: 3082
    functionLinenumberEnd: 3088
    functionName: operator==(const BLS_MapToG2& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_MapToG2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_MapToG2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3090,1
    - Dst: cryptofuzz::operation::BLS_MapToG2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3091,1
    - Dst: cryptofuzz::operation::BLS_MapToG2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3093
      start: 3089
    functionDepth: 1
    functionLinenumber: 3089
    functionLinenumberEnd: 3093
    functionName: cryptofuzz::operation::BLS_MapToG2::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_MapToG2::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3105
      start: 3101
    functionDepth: 0
    functionLinenumber: 3101
    functionLinenumberEnd: 3105
    functionName: cryptofuzz::operation::BLS_IsG1OnCurve::BLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_IsG1OnCurve(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3110
      start: 3106
    functionDepth: 0
    functionLinenumber: 3106
    functionLinenumberEnd: 3110
    functionName: cryptofuzz::operation::BLS_IsG1OnCurve::BLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_IsG1OnCurve(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3112
      start: 3112
    functionDepth: 0
    functionLinenumber: 3112
    functionLinenumberEnd: 3112
    functionName: cryptofuzz::operation::BLS_IsG1OnCurve::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 3121
      start: 3116
    functionDepth: 0
    functionLinenumber: 3116
    functionLinenumberEnd: 3121
    functionName: operator==(const BLS_IsG1OnCurve& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_IsG1OnCurve& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_IsG1OnCurve::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3123,1
    - Dst: cryptofuzz::operation::BLS_IsG1OnCurve::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3125
      start: 3122
    functionDepth: 1
    functionLinenumber: 3122
    functionLinenumberEnd: 3125
    functionName: cryptofuzz::operation::BLS_IsG1OnCurve::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::operation::BLS_IsG1OnCurve::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3137
      start: 3133
    functionDepth: 0
    functionLinenumber: 3133
    functionLinenumberEnd: 3137
    functionName: cryptofuzz::operation::BLS_IsG2OnCurve::BLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_IsG2OnCurve(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3142
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3142
    functionName: cryptofuzz::operation::BLS_IsG2OnCurve::BLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_IsG2OnCurve(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3144
    functionName: cryptofuzz::operation::BLS_IsG2OnCurve::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 3153
      start: 3148
    functionDepth: 0
    functionLinenumber: 3148
    functionLinenumberEnd: 3153
    functionName: operator==(const BLS_IsG2OnCurve& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_IsG2OnCurve& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_IsG2OnCurve::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3155,1
    - Dst: cryptofuzz::operation::BLS_IsG2OnCurve::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3157
      start: 3154
    functionDepth: 1
    functionLinenumber: 3154
    functionLinenumberEnd: 3157
    functionName: cryptofuzz::operation::BLS_IsG2OnCurve::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_IsG2OnCurve::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3171
      start: 3166
    functionDepth: 0
    functionLinenumber: 3166
    functionLinenumberEnd: 3171
    functionName: cryptofuzz::operation::BLS_GenerateKeyPair::BLS_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_GenerateKeyPair(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3178
      start: 3173
    functionDepth: 0
    functionLinenumber: 3173
    functionLinenumberEnd: 3178
    functionName: cryptofuzz::operation::BLS_GenerateKeyPair::BLS_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_GenerateKeyPair(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3180
      start: 3180
    functionDepth: 0
    functionLinenumber: 3180
    functionLinenumberEnd: 3180
    functionName: cryptofuzz::operation::BLS_GenerateKeyPair::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 3190
      start: 3184
    functionDepth: 0
    functionLinenumber: 3184
    functionLinenumberEnd: 3190
    functionName: operator==(const BLS_GenerateKeyPair& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_GenerateKeyPair& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3192,1
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3193,1
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3195
      start: 3191
    functionDepth: 1
    functionLinenumber: 3191
    functionLinenumberEnd: 3195
    functionName: cryptofuzz::operation::BLS_GenerateKeyPair::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_GenerateKeyPair::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3207
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3207
    functionName: cryptofuzz::operation::BLS_Decompress_G1::BLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_Decompress_G1(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3212
      start: 3208
    functionDepth: 0
    functionLinenumber: 3208
    functionLinenumberEnd: 3212
    functionName: cryptofuzz::operation::BLS_Decompress_G1::BLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Decompress_G1(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3214
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3214
    functionName: cryptofuzz::operation::BLS_Decompress_G1::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 3223
      start: 3218
    functionDepth: 0
    functionLinenumber: 3218
    functionLinenumberEnd: 3223
    functionName: operator==(const BLS_Decompress_G1& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_Decompress_G1& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Decompress_G1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3225,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3227
      start: 3224
    functionDepth: 1
    functionLinenumber: 3224
    functionLinenumberEnd: 3227
    functionName: cryptofuzz::operation::BLS_Decompress_G1::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_Decompress_G1::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3239
      start: 3235
    functionDepth: 0
    functionLinenumber: 3235
    functionLinenumberEnd: 3239
    functionName: cryptofuzz::operation::BLS_Compress_G1::BLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_Compress_G1(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3244
      start: 3240
    functionDepth: 0
    functionLinenumber: 3240
    functionLinenumberEnd: 3244
    functionName: cryptofuzz::operation::BLS_Compress_G1::BLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Compress_G1(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3246
      start: 3246
    functionDepth: 0
    functionLinenumber: 3246
    functionLinenumberEnd: 3246
    functionName: cryptofuzz::operation::BLS_Compress_G1::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 3255
      start: 3250
    functionDepth: 0
    functionLinenumber: 3250
    functionLinenumberEnd: 3255
    functionName: operator==(const BLS_Compress_G1& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_Compress_G1& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Compress_G1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3257,1
    - Dst: cryptofuzz::operation::BLS_Compress_G1::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3259
      start: 3256
    functionDepth: 1
    functionLinenumber: 3256
    functionLinenumberEnd: 3259
    functionName: cryptofuzz::operation::BLS_Compress_G1::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_Compress_G1::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3271
      start: 3267
    functionDepth: 0
    functionLinenumber: 3267
    functionLinenumberEnd: 3271
    functionName: cryptofuzz::operation::BLS_Decompress_G2::BLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_Decompress_G2(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3276
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3276
    functionName: cryptofuzz::operation::BLS_Decompress_G2::BLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Decompress_G2(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3278
    functionName: cryptofuzz::operation::BLS_Decompress_G2::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 3287
      start: 3282
    functionDepth: 0
    functionLinenumber: 3282
    functionLinenumberEnd: 3287
    functionName: operator==(const BLS_Decompress_G2& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_Decompress_G2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Decompress_G2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3289,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3291
      start: 3288
    functionDepth: 1
    functionLinenumber: 3288
    functionLinenumberEnd: 3291
    functionName: cryptofuzz::operation::BLS_Decompress_G2::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_Decompress_G2::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3303
      start: 3299
    functionDepth: 0
    functionLinenumber: 3299
    functionLinenumberEnd: 3303
    functionName: cryptofuzz::operation::BLS_Compress_G2::BLS_Compress_G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_Compress_G2(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3308
      start: 3304
    functionDepth: 0
    functionLinenumber: 3304
    functionLinenumberEnd: 3308
    functionName: cryptofuzz::operation::BLS_Compress_G2::BLS_Compress_G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Compress_G2(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3310
    functionDepth: 0
    functionLinenumber: 3310
    functionLinenumberEnd: 3310
    functionName: cryptofuzz::operation::BLS_Compress_G2::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 3319
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3319
    functionName: operator==(const BLS_Compress_G2& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_Compress_G2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Compress_G2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3321,1
    - Dst: cryptofuzz::operation::BLS_Compress_G2::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3323
      start: 3320
    functionDepth: 1
    functionLinenumber: 3320
    functionLinenumberEnd: 3323
    functionName: cryptofuzz::operation::BLS_Compress_G2::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_Compress_G2::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3336
      start: 3331
    functionDepth: 0
    functionLinenumber: 3331
    functionLinenumberEnd: 3336
    functionName: cryptofuzz::operation::BLS_G1_Add::BLS_G1_Add
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Add(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3342
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3342
    functionName: cryptofuzz::operation::BLS_G1_Add::BLS_G1_Add
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Add(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3344
    functionDepth: 0
    functionLinenumber: 3344
    functionLinenumberEnd: 3344
    functionName: cryptofuzz::operation::BLS_G1_Add::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 3354
      start: 3348
    functionDepth: 0
    functionLinenumber: 3348
    functionLinenumberEnd: 3354
    functionName: operator==(const BLS_G1_Add& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_G1_Add& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_Add::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3356,1
    - Dst: cryptofuzz::operation::BLS_G1_Add::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3357,1
    - Dst: cryptofuzz::operation::BLS_G1_Add::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3359
      start: 3355
    functionDepth: 1
    functionLinenumber: 3355
    functionLinenumberEnd: 3359
    functionName: cryptofuzz::operation::BLS_G1_Add::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_G1_Add::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3372
      start: 3367
    functionDepth: 0
    functionLinenumber: 3367
    functionLinenumberEnd: 3372
    functionName: cryptofuzz::operation::BLS_G1_IsEq::BLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_G1_IsEq(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3378
      start: 3373
    functionDepth: 0
    functionLinenumber: 3373
    functionLinenumberEnd: 3378
    functionName: cryptofuzz::operation::BLS_G1_IsEq::BLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_G1_IsEq(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3380
      start: 3380
    functionDepth: 0
    functionLinenumber: 3380
    functionLinenumberEnd: 3380
    functionName: cryptofuzz::operation::BLS_G1_IsEq::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 3390
      start: 3384
    functionDepth: 0
    functionLinenumber: 3384
    functionLinenumberEnd: 3390
    functionName: operator==(const BLS_G1_IsEq& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_G1_IsEq& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_IsEq::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3392,1
    - Dst: cryptofuzz::operation::BLS_G1_IsEq::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3393,1
    - Dst: cryptofuzz::operation::BLS_G1_IsEq::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3395
      start: 3391
    functionDepth: 1
    functionLinenumber: 3391
    functionLinenumberEnd: 3395
    functionName: cryptofuzz::operation::BLS_G1_IsEq::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_G1_IsEq::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3409
      start: 3404
    functionDepth: 0
    functionLinenumber: 3404
    functionLinenumberEnd: 3409
    functionName: cryptofuzz::operation::BLS_G1_Mul::BLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Mul(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3415
      start: 3410
    functionDepth: 0
    functionLinenumber: 3410
    functionLinenumberEnd: 3415
    functionName: cryptofuzz::operation::BLS_G1_Mul::BLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Mul(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3417
      start: 3417
    functionDepth: 0
    functionLinenumber: 3417
    functionLinenumberEnd: 3417
    functionName: cryptofuzz::operation::BLS_G1_Mul::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 3427
      start: 3421
    functionDepth: 0
    functionLinenumber: 3421
    functionLinenumberEnd: 3427
    functionName: operator==(const BLS_G1_Mul& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_G1_Mul& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_Mul::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3429,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3430,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3432
      start: 3428
    functionDepth: 1
    functionLinenumber: 3428
    functionLinenumberEnd: 3432
    functionName: cryptofuzz::operation::BLS_G1_Mul::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::operation::BLS_G1_Mul::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3444
      start: 3440
    functionDepth: 0
    functionLinenumber: 3440
    functionLinenumberEnd: 3444
    functionName: cryptofuzz::operation::BLS_G1_Neg::BLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Neg(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3449
      start: 3445
    functionDepth: 0
    functionLinenumber: 3445
    functionLinenumberEnd: 3449
    functionName: cryptofuzz::operation::BLS_G1_Neg::BLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Neg(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3451
    functionDepth: 0
    functionLinenumber: 3451
    functionLinenumberEnd: 3451
    functionName: cryptofuzz::operation::BLS_G1_Neg::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 3460
      start: 3455
    functionDepth: 0
    functionLinenumber: 3455
    functionLinenumberEnd: 3460
    functionName: operator==(const BLS_G1_Neg& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_G1_Neg& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_Neg::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3462,1
    - Dst: cryptofuzz::operation::BLS_G1_Neg::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3464
      start: 3461
    functionDepth: 1
    functionLinenumber: 3461
    functionLinenumberEnd: 3464
    functionName: cryptofuzz::operation::BLS_G1_Neg::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_G1_Neg::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3477
      start: 3472
    functionDepth: 0
    functionLinenumber: 3472
    functionLinenumberEnd: 3477
    functionName: cryptofuzz::operation::BLS_G2_Add::BLS_G2_Add
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_G2_Add(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3483
      start: 3478
    functionDepth: 0
    functionLinenumber: 3478
    functionLinenumberEnd: 3483
    functionName: cryptofuzz::operation::BLS_G2_Add::BLS_G2_Add
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_G2_Add(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3485
    functionDepth: 0
    functionLinenumber: 3485
    functionLinenumberEnd: 3485
    functionName: cryptofuzz::operation::BLS_G2_Add::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 3495
      start: 3489
    functionDepth: 0
    functionLinenumber: 3489
    functionLinenumberEnd: 3495
    functionName: operator==(const BLS_G2_Add& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_G2_Add& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G2_Add::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3497,1
    - Dst: cryptofuzz::operation::BLS_G2_Add::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3498,1
    - Dst: cryptofuzz::operation::BLS_G2_Add::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3500
      start: 3496
    functionDepth: 1
    functionLinenumber: 3496
    functionLinenumberEnd: 3500
    functionName: cryptofuzz::operation::BLS_G2_Add::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_G2_Add::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3513
      start: 3508
    functionDepth: 0
    functionLinenumber: 3508
    functionLinenumberEnd: 3513
    functionName: cryptofuzz::operation::BLS_G2_IsEq::BLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_G2_IsEq(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3519
      start: 3514
    functionDepth: 0
    functionLinenumber: 3514
    functionLinenumberEnd: 3519
    functionName: cryptofuzz::operation::BLS_G2_IsEq::BLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_G2_IsEq(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3521
      start: 3521
    functionDepth: 0
    functionLinenumber: 3521
    functionLinenumberEnd: 3521
    functionName: cryptofuzz::operation::BLS_G2_IsEq::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 3531
      start: 3525
    functionDepth: 0
    functionLinenumber: 3525
    functionLinenumberEnd: 3531
    functionName: operator==(const BLS_G2_IsEq& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_G2_IsEq& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G2_IsEq::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3533,1
    - Dst: cryptofuzz::operation::BLS_G2_IsEq::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3534,1
    - Dst: cryptofuzz::operation::BLS_G2_IsEq::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3536
      start: 3532
    functionDepth: 1
    functionLinenumber: 3532
    functionLinenumberEnd: 3536
    functionName: cryptofuzz::operation::BLS_G2_IsEq::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_G2_IsEq::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3550
      start: 3545
    functionDepth: 0
    functionLinenumber: 3545
    functionLinenumberEnd: 3550
    functionName: cryptofuzz::operation::BLS_G2_Mul::BLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_G2_Mul(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3556
      start: 3551
    functionDepth: 0
    functionLinenumber: 3551
    functionLinenumberEnd: 3556
    functionName: cryptofuzz::operation::BLS_G2_Mul::BLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_G2_Mul(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3558
    functionDepth: 0
    functionLinenumber: 3558
    functionLinenumberEnd: 3558
    functionName: cryptofuzz::operation::BLS_G2_Mul::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 3568
      start: 3562
    functionDepth: 0
    functionLinenumber: 3562
    functionLinenumberEnd: 3568
    functionName: operator==(const BLS_G2_Mul& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_G2_Mul& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G2_Mul::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3570,1
    - Dst: cryptofuzz::operation::BLS_G2_Mul::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3571,1
    - Dst: cryptofuzz::operation::BLS_G2_Mul::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3573
      start: 3569
    functionDepth: 1
    functionLinenumber: 3569
    functionLinenumberEnd: 3573
    functionName: cryptofuzz::operation::BLS_G2_Mul::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_G2_Mul::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3585
      start: 3581
    functionDepth: 0
    functionLinenumber: 3581
    functionLinenumberEnd: 3585
    functionName: cryptofuzz::operation::BLS_G2_Neg::BLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_G2_Neg(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3590
      start: 3586
    functionDepth: 0
    functionLinenumber: 3586
    functionLinenumberEnd: 3590
    functionName: cryptofuzz::operation::BLS_G2_Neg::BLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_G2_Neg(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3592
      start: 3592
    functionDepth: 0
    functionLinenumber: 3592
    functionLinenumberEnd: 3592
    functionName: cryptofuzz::operation::BLS_G2_Neg::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 3601
      start: 3596
    functionDepth: 0
    functionLinenumber: 3596
    functionLinenumberEnd: 3601
    functionName: operator==(const BLS_G2_Neg& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_G2_Neg& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G2_Neg::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3603,1
    - Dst: cryptofuzz::operation::BLS_G2_Neg::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3605
      start: 3602
    functionDepth: 1
    functionLinenumber: 3602
    functionLinenumberEnd: 3605
    functionName: cryptofuzz::operation::BLS_G2_Neg::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_G2_Neg::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3617
      start: 3613
    functionDepth: 0
    functionLinenumber: 3613
    functionLinenumberEnd: 3617
    functionName: cryptofuzz::operation::BLS_G1_MultiExp::BLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BLS_G1_MultiExp(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3622
      start: 3618
    functionDepth: 0
    functionLinenumber: 3618
    functionLinenumberEnd: 3622
    functionName: cryptofuzz::operation::BLS_G1_MultiExp::BLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_G1_MultiExp(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3624
      start: 3624
    functionDepth: 0
    functionLinenumber: 3624
    functionLinenumberEnd: 3624
    functionName: cryptofuzz::operation::BLS_G1_MultiExp::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 3633
      start: 3628
    functionDepth: 0
    functionLinenumber: 3628
    functionLinenumberEnd: 3633
    functionName: operator==(const BLS_G1_MultiExp& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BLS_G1_MultiExp& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_MultiExp::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3635,1
    - Dst: cryptofuzz::operation::BLS_G1_MultiExp::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3637
      start: 3634
    functionDepth: 1
    functionLinenumber: 3634
    functionLinenumberEnd: 3637
    functionName: cryptofuzz::operation::BLS_G1_MultiExp::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::BLS_G1_MultiExp::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3647
      start: 3644
    functionDepth: 0
    functionLinenumber: 3644
    functionLinenumberEnd: 3647
    functionName: cryptofuzz::operation::Misc::Misc
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Misc(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3652
      start: 3649
    functionDepth: 0
    functionLinenumber: 3649
    functionLinenumberEnd: 3652
    functionName: cryptofuzz::operation::Misc::Misc
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Misc(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3654
      start: 3654
    functionDepth: 0
    functionLinenumber: 3654
    functionLinenumberEnd: 3654
    functionName: cryptofuzz::operation::Misc::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Misc
    constantsTouched: []
    func_position:
      end: 3662
      start: 3658
    functionDepth: 0
    functionLinenumber: 3658
    functionLinenumberEnd: 3662
    functionName: operator==(const Misc& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Misc& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::Misc::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3665
      start: 3663
    functionDepth: 1
    functionLinenumber: 3663
    functionLinenumberEnd: 3665
    functionName: cryptofuzz::operation::Misc::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::Misc::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ds'
    - modifier
    argTypes:
    - Datasource
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 3677
      start: 3673
    functionDepth: 0
    functionLinenumber: 3673
    functionLinenumberEnd: 3677
    functionName: cryptofuzz::operation::SR25519_Verify::SR25519_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SR25519_Verify(Datasource& ds, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 3682
      start: 3678
    functionDepth: 0
    functionLinenumber: 3678
    functionLinenumberEnd: 3682
    functionName: cryptofuzz::operation::SR25519_Verify::SR25519_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SR25519_Verify(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3684
      start: 3684
    functionDepth: 0
    functionLinenumber: 3684
    functionLinenumberEnd: 3684
    functionName: cryptofuzz::operation::SR25519_Verify::MaxOperations
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxOperations(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SR25519_Verify
    constantsTouched: []
    func_position:
      end: 3693
      start: 3688
    functionDepth: 0
    functionLinenumber: 3688
    functionLinenumberEnd: 3693
    functionName: operator==(const SR25519_Verify& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SR25519_Verify& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::SR25519_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3695,1
    - Dst: cryptofuzz::operation::SR25519_Verify::Serialize
      Src: /src/cryptofuzz/include/cryptofuzz/operations.h:3696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 3697
      start: 3694
    functionDepth: 1
    functionLinenumber: 3694
    functionLinenumberEnd: 3697
    functionName: cryptofuzz::operation::SR25519_Verify::Serialize
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/operations.h
    functionUses: 2
    functionsReached:
    - cryptofuzz::operation::SR25519_Verify::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::ID
      Src: /src/cryptofuzz/include/cryptofuzz/module.h:18,1
    - Dst: c_str
      Src: /src/cryptofuzz/include/cryptofuzz/module.h:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: cryptofuzz::Module::Module
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached:
    - c_str
    - fuzzing::datasource::ID
    linkageType: ''
    returnType: void
    signature: void Module(const std::string name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Module()
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Module()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: cryptofuzz::Module::OpDigest
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> OpDigest(operation::Digest& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: cryptofuzz::Module::OpHMAC
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::UMAC
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: cryptofuzz::Module::OpUMAC
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpUMAC(operation::UMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: cryptofuzz::Module::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: cryptofuzz::Module::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: cryptofuzz::Module::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpKDF_SCRYPT(operation::KDF_SCRYPT& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: cryptofuzz::Module::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpKDF_HKDF(operation::KDF_HKDF& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: cryptofuzz::Module::OpKDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpKDF_TLS1_PRF(operation::KDF_TLS1_PRF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: cryptofuzz::Module::OpKDF_PBKDF
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpKDF_PBKDF(operation::KDF_PBKDF& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF1
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: cryptofuzz::Module::OpKDF_PBKDF1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpKDF_PBKDF1(operation::KDF_PBKDF1& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: cryptofuzz::Module::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpKDF_PBKDF2(operation::KDF_PBKDF2& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: cryptofuzz::Module::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpKDF_ARGON2(operation::KDF_ARGON2& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SSH
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: cryptofuzz::Module::OpKDF_SSH
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpKDF_SSH(operation::KDF_SSH& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_X963
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: cryptofuzz::Module::OpKDF_X963
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpKDF_X963(operation::KDF_X963& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_BCRYPT
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: cryptofuzz::Module::OpKDF_BCRYPT
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpKDF_BCRYPT(operation::KDF_BCRYPT& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SP_800_108
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: cryptofuzz::Module::OpKDF_SP_800_108
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpKDF_SP_800_108(operation::KDF_SP_800_108&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SRTP
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: cryptofuzz::Module::OpKDF_SRTP
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key3>
    signature: std::optional<component::Key3> OpKDF_SRTP(operation::KDF_SRTP& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SRTCP
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: cryptofuzz::Module::OpKDF_SRTCP
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Key3>
    signature: std::optional<component::Key3> OpKDF_SRTCP(operation::KDF_SRTCP& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: cryptofuzz::Module::OpCMAC
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: cryptofuzz::Module::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: cryptofuzz::Module::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: cryptofuzz::Module::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECCSI_Sign
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: cryptofuzz::Module::OpECCSI_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::ECCSI_Signature>
    signature: std::optional<component::ECCSI_Signature> OpECCSI_Sign(operation::ECCSI_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: cryptofuzz::Module::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECGDSA_Sign
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: cryptofuzz::Module::OpECGDSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::ECGDSA_Signature>
    signature: std::optional<component::ECGDSA_Signature> OpECGDSA_Sign(operation::ECGDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECRDSA_Sign
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: cryptofuzz::Module::OpECRDSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::ECRDSA_Signature>
    signature: std::optional<component::ECRDSA_Signature> OpECRDSA_Sign(operation::ECRDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Schnorr_Sign
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: cryptofuzz::Module::OpSchnorr_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Schnorr_Signature>
    signature: std::optional<component::Schnorr_Signature> OpSchnorr_Sign(operation::Schnorr_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECCSI_Verify
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: cryptofuzz::Module::OpECCSI_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpECCSI_Verify(operation::ECCSI_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: cryptofuzz::Module::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpECDSA_Verify(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECGDSA_Verify
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: cryptofuzz::Module::OpECGDSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpECGDSA_Verify(operation::ECGDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECRDSA_Verify
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: cryptofuzz::Module::OpECRDSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpECRDSA_Verify(operation::ECRDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Schnorr_Verify
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: cryptofuzz::Module::OpSchnorr_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpSchnorr_Verify(operation::Schnorr_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Recover
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: cryptofuzz::Module::OpECDSA_Recover
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECDSA_Recover(operation::ECDSA_Recover&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_Verify
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: cryptofuzz::Module::OpDSA_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpDSA_Verify(operation::DSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_Sign
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: cryptofuzz::Module::OpDSA_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::DSA_Signature>
    signature: std::optional<component::DSA_Signature> OpDSA_Sign(operation::DSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_GenerateParameters
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: cryptofuzz::Module::OpDSA_GenerateParameters
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::DSA_Parameters>
    signature: std::optional<component::DSA_Parameters> OpDSA_GenerateParameters(operation::DSA_GenerateParameters&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: cryptofuzz::Module::OpDSA_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpDSA_PrivateToPublic(operation::DSA_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: cryptofuzz::Module::OpDSA_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::DSA_KeyPair>
    signature: std::optional<component::DSA_KeyPair> OpDSA_GenerateKeyPair(operation::DSA_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: cryptofuzz::Module::OpECDH_Derive
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> OpECDH_Derive(operation::ECDH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECIES_Encrypt
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: cryptofuzz::Module::OpECIES_Encrypt
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpECIES_Encrypt(operation::ECIES_Encrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECIES_Decrypt
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: cryptofuzz::Module::OpECIES_Decrypt
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpECIES_Decrypt(operation::ECIES_Decrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: cryptofuzz::Module::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Sub
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: cryptofuzz::Module::OpECC_Point_Sub
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> OpECC_Point_Sub(operation::ECC_Point_Sub&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: cryptofuzz::Module::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: cryptofuzz::Module::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: cryptofuzz::Module::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Cmp
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: cryptofuzz::Module::OpECC_Point_Cmp
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpECC_Point_Cmp(operation::ECC_Point_Cmp& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DH_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: cryptofuzz::Module::OpDH_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::DH_KeyPair>
    signature: std::optional<component::DH_KeyPair> OpDH_GenerateKeyPair(operation::DH_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DH_Derive
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: cryptofuzz::Module::OpDH_Derive
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpDH_Derive(operation::DH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: cryptofuzz::Module::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: cryptofuzz::Module::OpBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> OpBignumCalc_Fp2(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: cryptofuzz::Module::OpBignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> OpBignumCalc_Fp12(operation::BignumCalc_Fp12&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: cryptofuzz::Module::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: cryptofuzz::Module::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: cryptofuzz::Module::OpBLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: cryptofuzz::Module::OpBLS_Sign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> OpBLS_Sign(operation::BLS_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: cryptofuzz::Module::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpBLS_Verify(operation::BLS_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchSign
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: cryptofuzz::Module::OpBLS_BatchSign
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::BLS_BatchSignature>
    signature: std::optional<component::BLS_BatchSignature> OpBLS_BatchSign(operation::BLS_BatchSign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: cryptofuzz::Module::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpBLS_BatchVerify(operation::BLS_BatchVerify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Aggregate_G1
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: cryptofuzz::Module::OpBLS_Aggregate_G1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> OpBLS_Aggregate_G1(operation::BLS_Aggregate_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Aggregate_G2
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: cryptofuzz::Module::OpBLS_Aggregate_G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> OpBLS_Aggregate_G2(operation::BLS_Aggregate_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: cryptofuzz::Module::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MillerLoop
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: cryptofuzz::Module::OpBLS_MillerLoop
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> OpBLS_MillerLoop(operation::BLS_MillerLoop&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: cryptofuzz::Module::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: cryptofuzz::Module::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: cryptofuzz::Module::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG1
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: cryptofuzz::Module::OpBLS_MapToG1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> OpBLS_MapToG1(operation::BLS_MapToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG2
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: cryptofuzz::Module::OpBLS_MapToG2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> OpBLS_MapToG2(operation::BLS_MapToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: cryptofuzz::Module::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: cryptofuzz::Module::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: cryptofuzz::Module::OpBLS_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::BLS_KeyPair>
    signature: std::optional<component::BLS_KeyPair> OpBLS_GenerateKeyPair(operation::BLS_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: cryptofuzz::Module::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: cryptofuzz::Module::OpBLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBLS_Compress_G1(operation::BLS_Compress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: cryptofuzz::Module::OpBLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> OpBLS_Decompress_G2(operation::BLS_Decompress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: cryptofuzz::Module::OpBLS_Compress_G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> OpBLS_Compress_G2(operation::BLS_Compress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: cryptofuzz::Module::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> OpBLS_G1_Add(operation::BLS_G1_Add& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: cryptofuzz::Module::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> OpBLS_G1_Mul(operation::BLS_G1_Mul& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: cryptofuzz::Module::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpBLS_G1_IsEq(operation::BLS_G1_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: cryptofuzz::Module::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> OpBLS_G1_Neg(operation::BLS_G1_Neg& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: cryptofuzz::Module::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> OpBLS_G2_Add(operation::BLS_G2_Add& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: cryptofuzz::Module::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> OpBLS_G2_Mul(operation::BLS_G2_Mul& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: cryptofuzz::Module::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpBLS_G2_IsEq(operation::BLS_G2_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: cryptofuzz::Module::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> OpBLS_G2_Neg(operation::BLS_G2_Neg& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: cryptofuzz::Module::OpBLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> OpBLS_G1_MultiExp(operation::BLS_G1_MultiExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Misc
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: cryptofuzz::Module::OpMisc
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> OpMisc(operation::Misc& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SR25519_Verify
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: cryptofuzz::Module::OpSR25519_Verify
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpSR25519_Verify(operation::SR25519_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: cryptofuzz::component::DSA_Parameters::DSA_Parameters
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/components.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Parameters(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p
    - q
    - g
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: cryptofuzz::component::DSA_Parameters::DSA_Parameters
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/components.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DSA_Parameters(\n        std::string p,\n        std::string
      q,\n        std::string g)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DSA_Parameters
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: operator==(const DSA_Parameters& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/components.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DSA_Parameters& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: cryptofuzz::component::G2::G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/components.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void G2(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - a_first
    - a_second
    - b_first
    - b_second
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: cryptofuzz::component::G2::G2
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/components.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void G2(const std::string a_first, const std::string a_second, const
      std::string b_first, const std::string b_second)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - G2
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: operator==(const G2& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/components.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const G2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: cryptofuzz::component::Fp12::Fp12
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/components.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp12(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 12
    argNames:
    - bn1
    - bn2
    - bn3
    - bn4
    - bn5
    - bn6
    - bn7
    - bn8
    - bn9
    - bn10
    - bn11
    - bn12
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 268
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 268
    functionName: cryptofuzz::component::Fp12::Fp12
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/components.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Fp12(\n        std::string bn1,\n        std::string bn2,\n        std::string
      bn3,\n        std::string bn4,\n        std::string bn5,\n        std::string
      bn6,\n        std::string bn7,\n        std::string bn8,\n        std::string
      bn9,\n        std::string bn10,\n        std::string bn11,\n        std::string
      bn12)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fp12
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: operator==(const Fp12& rhs) const
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/components.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Fp12& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - id
    - lut
    - lutSize
    argTypes:
    - uint64_t
    - LUT*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: cryptofuzz::repository::LUTCheck
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long LUTCheck(const uint64_t id, const LUT* lut, const size_t lutSize)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: cryptofuzz::repository::moduleIndex
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long moduleIndex(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::moduleIndex
      Src: /src/cryptofuzz/include/cryptofuzz/repository.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: cryptofuzz::repository::Module
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::moduleIndex
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Module(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: cryptofuzz::repository::operationIndex
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long operationIndex(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::operationIndex
      Src: /src/cryptofuzz/include/cryptofuzz/repository.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: cryptofuzz::repository::Operation
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::operationIndex
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Operation(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: cryptofuzz::repository::digestIndex
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long digestIndex(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::digestIndex
      Src: /src/cryptofuzz/include/cryptofuzz/repository.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: cryptofuzz::repository::Digest
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::digestIndex
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Digest(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: cryptofuzz::repository::cipherIndex
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long cipherIndex(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::cipherIndex
      Src: /src/cryptofuzz/include/cryptofuzz/repository.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: cryptofuzz::repository::Cipher
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::cipherIndex
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Cipher(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: cryptofuzz::repository::ecc_CurveIndex
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long ecc_CurveIndex(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ecc_CurveIndex
      Src: /src/cryptofuzz/include/cryptofuzz/repository.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: cryptofuzz::repository::ECC_Curve
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ecc_CurveIndex
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ECC_Curve(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: cryptofuzz::repository::calcOpIndex
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long calcOpIndex(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::calcOpIndex
      Src: /src/cryptofuzz/include/cryptofuzz/repository.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: cryptofuzz::repository::CalcOp
    functionSourceFile: /src/cryptofuzz/include/cryptofuzz/repository.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::calcOpIndex
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CalcOp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __asan_region_is_poisoned
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp:23,1
    - Dst: abort
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: fuzzing::memory::memory_test_asan
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp
    functionUses: 0
    functionsReached:
    - __asan_region_is_poisoned
    - abort
    linkageType: ''
    returnType: void
    signature: void memory_test_asan(const void* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp:35,1
    - Dst: abort
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp:37,1
    - Dst: fwrite
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp:39,1
    - Dst: fclose
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: fuzzing::memory::memory_test_msan
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp
    functionUses: 17
    functionsReached:
    - fopen
    - fclose
    - fwrite
    - abort
    linkageType: ''
    returnType: void
    signature: void memory_test_msan(const void* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_asan
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp:46,1
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: fuzzing::memory::memory_test
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp
    functionUses: 0
    functionsReached:
    - fuzzing::memory::memory_test_msan
    - fuzzing::memory::memory_test_asan
    linkageType: ''
    returnType: void
    signature: void memory_test(const void* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: fuzzing::memory::memory_test
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void memory_test(const T& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp:62,1
    - Dst: data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp:62,1
    - Dst: size
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: fuzzing::memory::memory_test
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/memory.hpp
    functionUses: 1
    functionsReached:
    - data
    - size
    - fuzzing::memory::memory_test
    linkageType: ''
    returnType: void
    signature: void memory_test(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:25,1
    - Dst: static_cast<CoreType*>
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:31,1
    - Dst: malloc
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:31,1
    - Dst: allocate
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:38,1
    - Dst: copy
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:39,1
    - Dst: allocate
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:43,1
    - Dst: copy
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:44,1
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:49,1
    - Dst: access_hook
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:54,1
    - Dst: std::free
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:57,1
    - Dst: access_hook
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:67,1
    - Dst: access_hook
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:72,1
    - Dst: allocate_plus_1_and_copy
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 91
    functionName: fuzzing::types::else
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<CoreType*>
    - allocate
    - access_hook
    - copy
    - allocate_plus_1_and_copy
    - fuzzing::memory::memory_test_msan
    - malloc
    - std::free
    - std::memcpy
    linkageType: ''
    returnType: "class Container {\n    private:\n        CoreType* InvalidAddress
      = (CoreType*)0x12;\n\n        CoreType* _data = InvalidAddress;\n        size_t
      _size = 0;\n\n#ifndef FUZZING_HEADERS_NO_IMPL\n        void copy(const void*
      data, size_t size) {\n            if ( size > 0 ) {\n                std::memcpy(_data,
      data, size);\n            }\n        }\n\n        void allocate(size_t size)
      {\n            if ( size > 0 ) {\n                _data = static_cast<CoreType*>(malloc(size
      * sizeof(CoreType)));\n            } else {\n                _data = InvalidAddress;\n
      \           }\n        };\n\n        void allocate_and_copy(const void* data,
      size_t size) {\n            allocate(size);\n            copy(data, size);\n
      \       }\n\n        void allocate_plus_1_and_copy(const void* data, size_t
      size) {\n            allocate(size+1);\n            copy(data, size);\n        }\n\n
      \       void access_hook(void) const {\n            if ( UseMSAN == true ) {\n
      \               memory::memory_test_msan(_data, _size);\n            } \n        }\n\n
      \       void free(void) {\n            access_hook();\n\n            if ( _data
      != InvalidAddress ) {\n                std::free(_data);\n                _data
      = InvalidAddress;\n                _size = 0;\n            }\n        }\n#endif\n\n
      \   public:\n#ifndef FUZZING_HEADERS_NO_IMPL\n        CoreType* data(void) {\n
      \           access_hook();\n            return _data;\n        }\n\n        size_t
      size(void) const {\n            access_hook();\n            return _size;\n
      \       }\n#endif\n\n        Container(void)\n#ifndef FUZZING_HEADERS_NO_IMPL\n
      \       = default\n#endif\n        ;\n\n        Container(const void* data,
      const size_t size)\n#ifndef FUZZING_HEADERS_NO_IMPL\n        {\n            if
      ( NullTerminated == false ) {\n                allocate_and_copy(data, size);\n
      \           }"
    signature: "class Container {\n    private:\n        CoreType* InvalidAddress
      = (CoreType*)0x12;\n\n        CoreType* _data = InvalidAddress;\n        size_t
      _size = 0;\n\n#ifndef FUZZING_HEADERS_NO_IMPL\n        void copy(const void*
      data, size_t size) {\n            if ( size > 0 ) {\n                std::memcpy(_data,
      data, size);\n            }\n        }\n\n        void allocate(size_t size)
      {\n            if ( size > 0 ) {\n                _data = static_cast<CoreType*>(malloc(size
      * sizeof(CoreType)));\n            } else {\n                _data = InvalidAddress;\n
      \           }\n        };\n\n        void allocate_and_copy(const void* data,
      size_t size) {\n            allocate(size);\n            copy(data, size);\n
      \       }\n\n        void allocate_plus_1_and_copy(const void* data, size_t
      size) {\n            allocate(size+1);\n            copy(data, size);\n        }\n\n
      \       void access_hook(void) const {\n            if ( UseMSAN == true ) {\n
      \               memory::memory_test_msan(_data, _size);\n            } \n        }\n\n
      \       void free(void) {\n            access_hook();\n\n            if ( _data
      != InvalidAddress ) {\n                std::free(_data);\n                _data
      = InvalidAddress;\n                _size = 0;\n            }\n        }\n#endif\n\n
      \   public:\n#ifndef FUZZING_HEADERS_NO_IMPL\n        CoreType* data(void) {\n
      \           access_hook();\n            return _data;\n        }\n\n        size_t
      size(void) const {\n            access_hook();\n            return _size;\n
      \       }\n#endif\n\n        Container(void)\n#ifndef FUZZING_HEADERS_NO_IMPL\n
      \       = default\n#endif\n        ;\n\n        Container(const void* data,
      const size_t size)\n#ifndef FUZZING_HEADERS_NO_IMPL\n        {\n            if
      ( NullTerminated == false ) {\n                allocate_and_copy(data, size);\n
      \           } else"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: fuzzing::exception::ExceptionBase::ExceptionBase
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExceptionBase(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: fuzzing::exception::FlowException::FlowException
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlowException(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - reason
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: fuzzing::exception::LogicException::LogicException
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogicException(const std::string reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/exception.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: fuzzing::exception::LogicException::what
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/exception.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what(void) const throw()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - reason
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: fuzzing::exception::TargetException::TargetException
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TargetException(const std::string reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/exception.hpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: fuzzing::exception::TargetException::what
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/exception.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what(void) const throw()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: fuzzing::datasource::Base::Base
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: ~Base(void)
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Base(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& GetOut(void) const'
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & GetOut(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: fuzzing::datasource::Base::OutOfData::OutOfData
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutOfData()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: fuzzing::datasource::Base::DeserializationFailure::DeserializationFailure
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeserializationFailure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:53,1
    - Dst: memcpy
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:54,1
    - Dst: auto::data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: fuzzing::datasource::Base::Get
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - auto::data
    - memcpy
    - get
    linkageType: ''
    returnType: T
    signature: T Base::Get(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' v'
    - id
    argTypes:
    - T
    - uint64_t
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: fuzzing::datasource::Base::Put
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - put
    linkageType: ''
    returnType: void
    signature: void Base::Put(const T& v, const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:66,1
    - Dst: memcpy
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:67,1
    - Dst: auto::data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: Base::Get<bool>(const uint64_t id)
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - auto::data
    - memcpy
    - get
    linkageType: ''
    returnType: bool
    signature: bool Base::Get<bool>(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' v'
    - id
    argTypes:
    - bool
    - uint64_t
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: Base::Put<bool>(const bool& v, const uint64_t id)
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - put
    linkageType: ''
    returnType: void
    signature: void Base::Put<bool>(const bool& v, const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:79,1
    - Dst: std::string
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:80,1
    - Dst: auto::data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:80,1
    - Dst: auto::data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:80,1
    - Dst: auto::size
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: Base::Get<std::string>(const uint64_t id)
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - std::string
    - auto::size
    - GetData
    - auto::data
    linkageType: ''
    returnType: std::string
    signature: std::string Base::Get<std::string>(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:87,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:88,1
    - Dst: std::string
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:88,1
    - Dst: auto::data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:88,1
    - Dst: auto::data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:88,1
    - Dst: auto::size
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:88,1
    - Dst: Get<bool>
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: Base::Get<std::vector<std::string>>(const uint64_t id)
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - Get<bool>
    - std::string
    - auto::data
    - GetData
    - auto::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Base::Get<std::vector<std::string>>(const
      uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Base::Get
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: fuzzing::datasource::Base::GetChoice
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - fuzzing::datasource::Base::Get
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Base::GetChoice(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id
    - min
    - max
    argTypes:
    - uint64_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: fuzzing::datasource::Base::GetData
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Base::GetData(const uint64_t id, const size_t
      min, const size_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:108,1
    - Dst: data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:108,1
    - Dst: size
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' data'
    - id
    argTypes:
    - std::vector<uint8_t>
    - uint64_t
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: fuzzing::datasource::Base::PutData
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - data
    - put
    - size
    linkageType: ''
    returnType: void
    signature: void Base::PutData(const std::vector<uint8_t>& data, const uint64_t
      id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:112,1
    - Dst: auto::data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:113,1
    - Dst: auto::size
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: Base::Get<types::String<>>(const uint64_t id)
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - auto::data
    - auto::size
    - GetData
    linkageType: ''
    returnType: types::String<>
    signature: types::String<> Base::Get<types::String<>>(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:118,1
    - Dst: auto::data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:119,1
    - Dst: auto::size
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: Base::Get<types::Data<>>(const uint64_t id)
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - auto::data
    - auto::size
    - GetData
    linkageType: ''
    returnType: types::Data<>
    signature: types::Data<> Base::Get<types::Data<>>(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Base::Get
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:127,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:128,1
    - Dst: fuzzing::datasource::Base::Get
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: fuzzing::datasource::Base::GetVector
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - fuzzing::datasource::Base::Get
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Base::GetVector(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _data
    - _size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: fuzzing::datasource::Datasource::Datasource
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Datasource::Datasource(const uint8_t* _data, const size_t _size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OutOfData
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:160,1
    - Dst: memcpy
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:162,1
    - Dst: OutOfData
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:174,1
    - Dst: memcpy
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:180,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - min
    - max
    - id
    argTypes:
    - size_t
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 186
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 186
    functionName: fuzzing::datasource::Datasource::get
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - OutOfData
    - memcpy
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Datasource::get(const size_t min, const size_t
      max, const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:192,1
    - Dst: resize
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:193,1
    - Dst: memcpy
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:194,1
    - Dst: data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:194,1
    - Dst: size
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:202,1
    - Dst: resize
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:203,1
    - Dst: memcpy
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:204,1
    - Dst: data
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - size
    - id
    argTypes:
    - void*
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 206
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 206
    functionName: fuzzing::datasource::Datasource::put
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached:
    - data
    - resize
    - memcpy
    - size
    linkageType: ''
    returnType: void
    signature: void Datasource::put(const void* p, const size_t size, const uint64_t
      id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: fuzzing::datasource::Datasource::Left
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/datasource.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Datasource::Left(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 27
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 27
    functionName: fuzzing::datasource::hash_64_fnv1a
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/id.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash_64_fnv1a(const void* key, const uint64_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::ID
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/id.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: fuzzing::datasource::ID
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/id.hpp
    functionUses: 2
    functionsReached:
    - fuzzing::datasource::ID
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ID(const char* const str, const uint64_t value = val_64_const)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::ID
      Src: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/id.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: fuzzing::datasource::IDPair
    functionSourceFile: /src/cryptofuzz/fuzzing-headers/include/fuzzing/datasource/id.hpp
    functionUses: 0
    functionsReached:
    - fuzzing::datasource::ID
    linkageType: ''
    returnType: std::pair<const char*, uint64_t>
    signature: std::pair<const char*, uint64_t> IDPair(const char* const str, const
      uint64_t value = val_64_const) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hwcaps
    - hwcaps2
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: cpu_features::SetHardwareCapabilities
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/hwcaps_for_testing.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetHardwareCapabilities(uint32_t hwcaps, uint32_t hwcaps2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: cpu_features::CpuFeatures_GetHardwareCapabilities
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/hwcaps_for_testing.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HardwareCapabilities
    signature: HardwareCapabilities CpuFeatures_GetHardwareCapabilities(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/test/hwcaps_for_testing.cc:37,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/hwcaps_for_testing.cc:37,1
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/test/hwcaps_for_testing.cc:39,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/hwcaps_for_testing.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - platform
    - base_platform
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: cpu_features::SetPlatformTypes
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/hwcaps_for_testing.cc
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_CopyString
    - str
    linkageType: ''
    returnType: void
    signature: void SetPlatformTypes(const char* platform, const char* base_platform)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: cpu_features::CpuFeatures_GetPlatformType
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/hwcaps_for_testing.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlatformType
    signature: PlatformType CpuFeatures_GetPlatformType(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::SetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: cpu_features::DisableHardwareCapabilities
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc
    functionUses: 0
    functionsReached:
    - cpu_features::SetHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void DisableHardwareCapabilities()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::SetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:27,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:28,1
    - Dst: GetArmInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:29,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:31,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:32,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:33,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:34,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:36,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:37,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:38,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:39,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:40,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:41,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:42,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:43,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:44,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - cpu_features::SetHardwareCapabilities
    - GetArmInfo
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoArmTest, FromHardwareCap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:49,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:50,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:51,1
    - Dst: GetArmInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:65,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:67,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:69,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:70,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:71,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:72,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:75,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:77,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:78,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:79,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:81,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:82,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:84,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:86,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:87,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:88,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:89,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:90,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:91,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 94
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - GetArmInfo
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoArmTest, ODroidFromCpuInfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:98,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:99,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:100,1
    - Dst: GetArmInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:122,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:124,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:128,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:129,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:130,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:131,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:132,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:133,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:135,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:136,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:137,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:138,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:139,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:140,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:141,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:142,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:143,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:145,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 147
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - GetArmInfo
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoArmTest, RaspberryPiZeroFromCpuInfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:150,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:151,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:152,1
    - Dst: GetArmInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:180,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:186,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:189,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:190,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:197,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:198,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:199,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:200,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:201,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:202,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:204,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:205,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:206,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 209
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - GetArmInfo
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoArmTest, MarvellArmadaFromCpuInfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:214,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:215,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:216,1
    - Dst: GetArmInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:230,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:232,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:233,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:234,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:236,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:237,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:240,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:241,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:244,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:245,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:246,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:247,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:248,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:249,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:250,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:251,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:252,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:253,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:254,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:255,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:256,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:257,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 259
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - GetArmInfo
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoArmTest, InvalidArmv7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:264,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:265,1
    - Dst: GetArmInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:283,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:284,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 286
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - GetArmInfo
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    - CreateFile
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoArmTest, InvalidNeon)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:291,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:292,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:293,1
    - Dst: GetArmInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:299,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:300,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:303,1
    - Dst: GetArmCpuId
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 304
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - GetArmCpuId
    - GetArmInfo
    - cpu_features::GetEmptyFilesystem
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoArmTest, Nexus4_0x510006f2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:309,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:310,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:311,1
    - Dst: GetArmInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:317,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:318,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:321,1
    - Dst: GetArmCpuId
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 322
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_EQ
    - GetArmCpuId
    - GetArmInfo
    - cpu_features::GetEmptyFilesystem
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoArmTest, Nexus4_0x510006f3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:328,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:329,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:330,1
    - Dst: GetArmInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:343,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_arm_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - GetArmInfo
    - cpu_features::GetEmptyFilesystem
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoArmTest, EmulatorSpecificIdiv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - StringView
    - StringView
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: operator==(const StringView& a, const StringView& b)
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_IsEquals
    linkageType: ''
    returnType: bool
    signature: bool operator==(const StringView& a, const StringView& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - view
    argTypes:
    - StringView
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: cpu_features::ToString
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(StringView view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:31,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:32,1
    - Dst: StackLineReader_Initialize
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:34,1
    - Dst: auto*::GetFileDescriptor
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:34,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:36,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:37,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:39,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto*::GetFileDescriptor
    - StackLineReader_NextLine
    - EXPECT_TRUE
    - EXPECT_EQ
    - StackLineReader_Initialize
    - cpu_features::GetEmptyFilesystem
    - CreateFile
    - str
    linkageType: ''
    returnType: void
    signature: void TEST(StackLineReaderTest, Empty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:44,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:45,1
    - Dst: StackLineReader_Initialize
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:48,1
    - Dst: auto*::GetFileDescriptor
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:48,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:50,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:51,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:53,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:53,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:56,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:59,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:59,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:63,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:65,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto*::GetFileDescriptor
    - StackLineReader_NextLine
    - EXPECT_TRUE
    - EXPECT_EQ
    - StackLineReader_Initialize
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    - CreateFile
    - str
    linkageType: ''
    returnType: void
    signature: void TEST(StackLineReaderTest, ManySmallLines)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:70,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:71,1
    - Dst: StackLineReader_Initialize
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:77,1
    - Dst: auto*::GetFileDescriptor
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:77,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:79,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:82,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:82,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:86,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:88,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:88,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:91,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:94,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:94,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:97,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:98,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:100,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 102
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto*::GetFileDescriptor
    - StackLineReader_NextLine
    - EXPECT_TRUE
    - EXPECT_EQ
    - StackLineReader_Initialize
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    - CreateFile
    - str
    linkageType: ''
    returnType: void
    signature: void TEST(StackLineReaderTest, TruncatedLine)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:105,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:106,1
    - Dst: StackLineReader_Initialize
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:110,1
    - Dst: auto*::GetFileDescriptor
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:110,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:112,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:113,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:115,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:115,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:119,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:121,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:121,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:124,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:127,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 129
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/stack_line_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto*::GetFileDescriptor
    - StackLineReader_NextLine
    - EXPECT_TRUE
    - EXPECT_EQ
    - StackLineReader_Initialize
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    - CreateFile
    - str
    linkageType: ''
    returnType: void
    signature: void TEST(StackLineReaderTest, TruncatedLines)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::SetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: cpu_features::DisableHardwareCapabilities
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc
    functionUses: 7
    functionsReached:
    - cpu_features::SetHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void DisableHardwareCapabilities()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::SetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:30,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:31,1
    - Dst: GetMipsInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:32,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:33,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:34,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc
    functionUses: 0
    functionsReached:
    - GetMipsInfo
    - EXPECT_TRUE
    - cpu_features::SetHardwareCapabilities
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoMipsTest, FromHardwareCapBoth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::SetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:39,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:40,1
    - Dst: GetMipsInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:41,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:42,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc
    functionUses: 0
    functionsReached:
    - GetMipsInfo
    - EXPECT_TRUE
    - cpu_features::SetHardwareCapabilities
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoMipsTest, FromHardwareCapOnlyOne)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:47,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:48,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:49,1
    - Dst: GetMipsInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:69,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:70,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 72
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc
    functionUses: 0
    functionsReached:
    - GetMipsInfo
    - EXPECT_TRUE
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoMipsTest, Ci40)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:75,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:76,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:77,1
    - Dst: GetMipsInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:95,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:96,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc
    functionUses: 0
    functionsReached:
    - GetMipsInfo
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoMipsTest, AR7161)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:101,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:102,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:103,1
    - Dst: GetMipsInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:120,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:121,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 123
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_mips_test.cc
    functionUses: 0
    functionsReached:
    - GetMipsInfo
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoMipsTest, Goldfish)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:29,1
    - Dst: std::make_pair
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:29,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - leaf_id
    - ecx
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: cpu_features::FakeCpu::CpuIdEx
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    - std::make_pair
    linkageType: ''
    returnType: Leaf
    signature: Leaf CpuIdEx(uint32_t leaf_id, int ecx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: cpu_features::FakeCpu::GetXCR0Eax
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetXCR0Eax() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - configuration
    argTypes:
    - std::map<std::pair<uint32_t, int>, Leaf>
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: cpu_features::FakeCpu::SetLeaves
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SetLeaves(std::map<std::pair<uint32_t, int>, Leaf> configuration)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - os_backups_extended_registers
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: cpu_features::FakeCpu::SetOsBackupsExtendedRegisters
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOsBackupsExtendedRegisters(bool os_backups_extended_registers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::CpuIdEx
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - leaf_id
    - ecx
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: cpu_features::CpuIdEx
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 1
    functionsReached:
    - cpu_features::CpuIdEx
    linkageType: ''
    returnType: Leaf
    signature: Leaf CpuIdEx(uint32_t leaf_id, int ecx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::GetXCR0Eax
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: cpu_features::GetXCR0Eax
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 1
    functionsReached:
    - cpu_features::GetXCR0Eax
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetXCR0Eax(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetOsBackupsExtendedRegisters
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:62,1
    - Dst: SetLeaves
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:63,1
    - Dst: GetX86Info
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:68,1
    - Dst: EXPECT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:72,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:75,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:77,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:78,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:79,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:81,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:82,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:83,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:84,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:86,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:87,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:88,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:89,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:90,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:93,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:94,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:97,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:98,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:99,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:100,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 102
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 0
    functionsReached:
    - SetOsBackupsExtendedRegisters
    - EXPECT_TRUE
    - SetLeaves
    - EXPECT_EQ
    - EXPECT_FALSE
    - GetX86Info
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuidX86Test, SandyBridge)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetLeaves
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:108,1
    - Dst: SetOsBackupsExtendedRegisters
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:114,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:115,1
    - Dst: GetX86Info
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:115,1
    - Dst: SetOsBackupsExtendedRegisters
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:117,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:118,1
    - Dst: GetX86Info
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 0
    functionsReached:
    - SetOsBackupsExtendedRegisters
    - EXPECT_TRUE
    - SetLeaves
    - EXPECT_FALSE
    - GetX86Info
    linkageType: ''
    returnType: void
    signature: void TEST(CpuidX86Test, SandyBridgeTestOsSupport)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetOsBackupsExtendedRegisters
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:122,1
    - Dst: SetLeaves
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:123,1
    - Dst: GetX86Info
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:128,1
    - Dst: EXPECT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:133,1
    - Dst: GetX86Microarchitecture
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 0
    functionsReached:
    - SetOsBackupsExtendedRegisters
    - SetLeaves
    - EXPECT_EQ
    - GetX86Info
    - EXPECT_STREQ
    - GetX86Microarchitecture
    linkageType: ''
    returnType: void
    signature: void TEST(CpuidX86Test, SkyLake)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetLeaves
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:137,1
    - Dst: FillX86BrandString
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:148,1
    - Dst: EXPECT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 0
    functionsReached:
    - FillX86BrandString
    - SetLeaves
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuidX86Test, Branding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetLeaves
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:153,1
    - Dst: GetX86CacheInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 199
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - GetX86CacheInfo
    - SetLeaves
    linkageType: ''
    returnType: void
    signature: void TEST(CpuidX86Test, KabyLakeCache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetLeaves
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:202,1
    - Dst: GetX86CacheInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:242,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 248
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - GetX86CacheInfo
    - SetLeaves
    linkageType: ''
    returnType: void
    signature: void TEST(CpuidX86Test, HSWCache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetLeaves
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:251,1
    - Dst: GetX86Info
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:262,1
    - Dst: EXPECT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:265,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:268,1
    - Dst: GetX86Microarchitecture
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:268,1
    - Dst: FillX86BrandString
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:272,1
    - Dst: EXPECT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 274
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_x86_test.cc
    functionUses: 0
    functionsReached:
    - FillX86BrandString
    - SetLeaves
    - EXPECT_EQ
    - GetX86Info
    - EXPECT_STREQ
    - GetX86Microarchitecture
    linkageType: ''
    returnType: void
    signature: void TEST(CpuidX86Test, AMD_K15)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::SetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: cpu_features::DisableHardwareCapabilities
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc
    functionUses: 10
    functionsReached:
    - cpu_features::SetHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void DisableHardwareCapabilities()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::SetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:28,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:30,1
    - Dst: GetPPCInfo
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:31,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:32,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:33,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:34,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:35,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:36,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:37,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:38,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - cpu_features::SetHardwareCapabilities
    - GetPPCInfo
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(CpustringsPPCTest, FromHardwareCap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:43,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:44,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:45,1
    - Dst: cpu_features::SetPlatformTypes
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:60,1
    - Dst: GetPPCPlatformStrings
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:61,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:62,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:63,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:64,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:65,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:66,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc
    functionUses: 0
    functionsReached:
    - GetPPCPlatformStrings
    - ASSERT_STREQ
    - cpu_features::GetEmptyFilesystem
    - cpu_features::SetPlatformTypes
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpustringsPPCTest, Blade)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:71,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:72,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:73,1
    - Dst: GetPPCPlatformStrings
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:89,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:90,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:91,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:92,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 94
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc
    functionUses: 0
    functionsReached:
    - GetPPCPlatformStrings
    - ASSERT_STREQ
    - cpu_features::GetEmptyFilesystem
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpustringsPPCTest, Firestone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:97,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:98,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:99,1
    - Dst: GetPPCPlatformStrings
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:111,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:112,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:113,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:114,1
    - Dst: ASSERT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_ppc_test.cc
    functionUses: 0
    functionsReached:
    - GetPPCPlatformStrings
    - ASSERT_STREQ
    - cpu_features::GetEmptyFilesystem
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpustringsPPCTest, w8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - StringView
    - StringView
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: operator==(const StringView& a, const StringView& b)
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_IsEquals
    linkageType: ''
    returnType: bool
    signature: bool operator==(const StringView& a, const StringView& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(StringViewTest, Empty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - str
    linkageType: ''
    returnType: void
    signature: void TEST(StringViewTest, Build)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:40,1
    - Dst: CpuFeatures_StringView_IndexOfChar
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:40,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:42,1
    - Dst: CpuFeatures_StringView_IndexOfChar
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:42,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:44,1
    - Dst: CpuFeatures_StringView_IndexOfChar
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CpuFeatures_StringView_IndexOfChar
    - str
    linkageType: ''
    returnType: void
    signature: void TEST(StringViewTest, CpuFeatures_StringView_IndexOfChar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:49,1
    - Dst: CpuFeatures_StringView_IndexOf
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:49,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:49,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:51,1
    - Dst: CpuFeatures_StringView_IndexOf
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:51,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:51,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:53,1
    - Dst: CpuFeatures_StringView_IndexOf
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:53,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:54,1
    - Dst: CpuFeatures_StringView_IndexOf
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:54,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CpuFeatures_StringView_IndexOf
    - str
    linkageType: ''
    returnType: void
    signature: void TEST(StringViewTest, CpuFeatures_StringView_IndexOf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:58,1
    - Dst: CpuFeatures_StringView_StartsWith
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:58,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:58,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:59,1
    - Dst: CpuFeatures_StringView_StartsWith
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:59,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:59,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:59,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:60,1
    - Dst: CpuFeatures_StringView_StartsWith
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:61,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:61,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:62,1
    - Dst: CpuFeatures_StringView_StartsWith
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:63,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - CpuFeatures_StringView_StartsWith
    - EXPECT_FALSE
    - str
    linkageType: ''
    returnType: void
    signature: void TEST(StringViewTest, CpuFeatures_StringView_StartsWith)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:67,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:69,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:69,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:70,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:70,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:70,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:71,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:71,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:71,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:71,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:72,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:72,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:72,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:72,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:73,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:73,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:73,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:74,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:74,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - CpuFeatures_StringView_IsEquals
    - str
    linkageType: ''
    returnType: void
    signature: void TEST(StringViewTest, CpuFeatures_StringView_IsEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:78,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:78,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:78,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:79,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:79,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:79,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:80,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:80,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:80,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:81,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:81,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:81,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CpuFeatures_StringView_PopFront
    - str
    linkageType: ''
    returnType: void
    signature: void TEST(StringViewTest, CpuFeatures_StringView_PopFront)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:85,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:85,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:86,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:86,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:87,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:87,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:89,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:89,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:90,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:90,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:91,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:91,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - str
    - CpuFeatures_StringView_ParsePositiveNumber
    linkageType: ''
    returnType: void
    signature: void TEST(StringViewTest, CpuFeatures_StringView_ParsePositiveNumber)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:99,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:99,1
    - Dst: EXPECT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:100,1
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:103,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:103,1
    - Dst: EXPECT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:104,1
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:107,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:107,1
    - Dst: EXPECT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:108,1
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:111,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:111,1
    - Dst: EXPECT_STREQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_CopyString
    - str
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(StringViewTest, CpuFeatures_StringView_CopyString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:117,1
    - Dst: CpuFeatures_StringView_HasWord
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:118,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:119,1
    - Dst: CpuFeatures_StringView_HasWord
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:120,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:121,1
    - Dst: CpuFeatures_StringView_HasWord
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:121,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:121,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:123,1
    - Dst: CpuFeatures_StringView_HasWord
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:124,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:124,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:125,1
    - Dst: CpuFeatures_StringView_HasWord
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:125,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:125,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:126,1
    - Dst: CpuFeatures_StringView_HasWord
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:126,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - CpuFeatures_StringView_HasWord
    - str
    linkageType: ''
    returnType: void
    signature: void TEST(StringViewTest, CpuFeatures_StringView_HasWord)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:132,1
    - Dst: CpuFeatures_StringView_GetAttributeKeyValue
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:133,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:134,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - CpuFeatures_StringView_GetAttributeKeyValue
    - str
    linkageType: ''
    returnType: void
    signature: void TEST(StringViewTest, CpuFeatures_StringView_GetAttributeKeyValue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:138,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:140,1
    - Dst: CpuFeatures_StringView_GetAttributeKeyValue
      Src: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/string_view_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - str
    - CpuFeatures_StringView_GetAttributeKeyValue
    linkageType: ''
    returnType: void
    signature: void TEST(StringViewTest, FailingGetAttributeKeyValue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:26,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:26,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:32,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:32,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:37,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 39
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - IsBitSet
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(UtilsTest, IsBitSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:43,1
    - Dst: ExtractBitRange
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:45,1
    - Dst: ExtractBitRange
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:46,1
    - Dst: ExtractBitRange
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:48,1
    - Dst: ExtractBitRange
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:49,1
    - Dst: ExtractBitRange
      Src: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/bit_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ExtractBitRange
    linkageType: ''
    returnType: void
    signature: void TEST(UtilsTest, ExtractBitRange)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: cpu_features::FakeFile::GetFileDescriptor
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetFileDescriptor() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - content
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: cpu_features::FakeFile::FakeFile
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeFile::FakeFile(int file_descriptor, const char* content)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: FakeFile::~FakeFile()
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void FakeFile::~FakeFile()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: cpu_features::FakeFile::Open
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void FakeFile::Open()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: cpu_features::FakeFile::Close
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void FakeFile::Close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:41,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:42,1
    - Dst: memcpy
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:45,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:45,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: cpu_features::FakeFile::Read
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 0
    functionsReached:
    - data
    - assert
    - memcpy
    linkageType: ''
    returnType: int
    signature: int FakeFile::Read(int fd, void* buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: cpu_features::FakeFilesystem::Reset
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void FakeFilesystem::Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<FakeFile>
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:57,1
    - Dst: FakeFile::FakeFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:57,1
    - Dst: get
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' filename'
    - content
    argTypes:
    - std::string
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: cpu_features::FakeFilesystem::CreateFile
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 0
    functionsReached:
    - FakeFile::FakeFile
    - std::unique_ptr<FakeFile>
    - get
    linkageType: ''
    returnType: FakeFile
    signature: "FakeFile * FakeFilesystem::CreateFile(const std::string& filename,\n
      \                                    const char* content)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:62,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:63,1
    - Dst: auto::second::get
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: cpu_features::FakeFilesystem::FindFileOrNull
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    - auto::second::get
    linkageType: ''
    returnType: FakeFile
    signature: FakeFile * FakeFilesystem::FindFileOrNull(const std::string& filename)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:68,1
    - Dst: FakeFile*::GetFileDescriptor
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:69,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: cpu_features::FakeFilesystem::FindFileOrDie
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 0
    functionsReached:
    - FakeFile*::GetFileDescriptor
    - assert
    - second::get
    linkageType: ''
    returnType: FakeFile
    signature: FakeFile * FakeFilesystem::FindFileOrDie(const int file_descriptor)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: cpu_features::GetEmptyFilesystem
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 22
    functionsReached:
    - Reset
    linkageType: ''
    returnType: FakeFilesystem
    signature: FakeFilesystem & GetEmptyFilesystem()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FindFileOrNull
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:85,1
    - Dst: auto*::Open
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:87,1
    - Dst: auto*::GetFileDescriptor
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: cpu_features::CpuFeatures_OpenFile
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 0
    functionsReached:
    - auto*::Open
    - auto*::GetFileDescriptor
    - FindFileOrNull
    linkageType: ''
    returnType: int
    signature: int CpuFeatures_OpenFile(const char* filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FindFileOrDie
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: cpu_features::CpuFeatures_CloseFile
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 0
    functionsReached:
    - FindFileOrDie
    linkageType: ''
    returnType: void
    signature: void CpuFeatures_CloseFile(int file_descriptor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FindFileOrDie
      Src: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file_descriptor
    - buffer
    - buffer_size
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: cpu_features::CpuFeatures_ReadFile
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/filesystem_for_testing.cc
    functionUses: 0
    functionsReached:
    - FindFileOrDie
    linkageType: ''
    returnType: int
    signature: "int CpuFeatures_ReadFile(int file_descriptor, void* buffer,\n                                    size_t
      buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::SetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: cpu_features::DisableHardwareCapabilities
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc
    functionUses: 13
    functionsReached:
    - cpu_features::SetHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void DisableHardwareCapabilities()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::SetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:27,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:28,1
    - Dst: GetAarch64Info
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:29,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:30,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:31,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:32,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:33,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:34,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:35,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - GetAarch64Info
    - cpu_features::SetHardwareCapabilities
    - cpu_features::GetEmptyFilesystem
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoAarch64Test, FromHardwareCap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::DisableHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:40,1
    - Dst: cpu_features::GetEmptyFilesystem
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:41,1
    - Dst: CreateFile
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:42,1
    - Dst: GetAarch64Info
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:64,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:65,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:66,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:67,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: cpu_features::TEST
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/cpuinfo_aarch64_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - GetAarch64Info
    - EXPECT_EQ
    - cpu_features::GetEmptyFilesystem
    - CreateFile
    - cpu_features::DisableHardwareCapabilities
    linkageType: ''
    returnType: void
    signature: void TEST(CpuinfoAarch64Test, ARMCortexA53)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_SetFromFlags
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:45,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:45,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:45,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:45,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:48,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: cpu_features::TEST_F
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - CpuFeatures_SetFromFlags
    - EXPECT_FALSE
    - str
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinuxFeatureAggregatorTest, FromFlagsEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_SetFromFlags
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:54,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:54,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:54,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:54,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:56,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: cpu_features::TEST_F
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc
    functionUses: 0
    functionsReached:
    - data
    - EXPECT_TRUE
    - size
    - CpuFeatures_SetFromFlags
    - str
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinuxFeatureAggregatorTest, FromFlagsAllSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_SetFromFlags
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:63,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:63,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:63,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:63,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:65,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: cpu_features::TEST_F
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc
    functionUses: 0
    functionsReached:
    - data
    - EXPECT_TRUE
    - size
    - CpuFeatures_SetFromFlags
    - EXPECT_FALSE
    - str
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinuxFeatureAggregatorTest, FromFlagsOnlyA)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_OverrideFromHwCaps
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:75,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:75,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:75,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:77,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:78,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: cpu_features::TEST_F
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc
    functionUses: 0
    functionsReached:
    - data
    - EXPECT_FALSE
    - CpuFeatures_OverrideFromHwCaps
    - size
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinuxFeatureAggregatorTest, FromHwcapsNone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_OverrideFromHwCaps
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:87,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:87,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:87,1
    - Dst: EXPECT_FALSE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:89,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: cpu_features::TEST_F
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/test/unix_features_aggregator_test.cc
    functionUses: 0
    functionsReached:
    - CpuFeatures_OverrideFromHwCaps
    - data
    - EXPECT_TRUE
    - size
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LinuxFeatureAggregatorTest, FromHwcapsSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_GetAttributeKeyValue
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:50,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:51,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:51,1
    - Dst: CpuFeatures_SetFromFlags
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:52,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:53,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:53,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:54,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:55,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:55,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:56,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:57,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:57,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:58,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:59,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:59,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - result
    - info
    argTypes:
    - LineResult
    - Aarch64Info*
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: HandleAarch64Line
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_ParsePositiveNumber
    - CpuFeatures_StringView_GetAttributeKeyValue
    - CpuFeatures_StringView_IsEquals
    - CpuFeatures_SetFromFlags
    - str
    linkageType: ''
    returnType: bool
    signature: "bool HandleAarch64Line(const LineResult result,\n                              Aarch64Info*
      const info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackLineReader_Initialize
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:70,1
    - Dst: HandleAarch64Line
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:72,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:72,1
    - Dst: CpuFeatures_CloseFile
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - Aarch64Info*
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: FillProcCpuInfoData
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c
    functionUses: 0
    functionsReached:
    - StackLineReader_NextLine
    - StackLineReader_Initialize
    - CpuFeatures_CloseFile
    - HandleAarch64Line
    linkageType: ''
    returnType: void
    signature: void FillProcCpuInfoData(Aarch64Info* const info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:83,1
    - Dst: FillProcCpuInfoData
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:90,1
    - Dst: CpuFeatures_OverrideFromHwCaps
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:91,1
    - Dst: CpuFeatures_GetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: GetAarch64Info
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c
    functionUses: 2
    functionsReached:
    - FillProcCpuInfoData
    - CpuFeatures_GetHardwareCapabilities
    - CpuFeatures_OverrideFromHwCaps
    - assert
    linkageType: ''
    returnType: Aarch64Info
    signature: Aarch64Info GetAarch64Info(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - features
    - value
    argTypes:
    - Aarch64Features*
    - Aarch64FeaturesEnum
    constantsTouched: []
    func_position:
      end: 122
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 122
    functionName: GetAarch64FeaturesEnumValue
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int GetAarch64FeaturesEnumValue(const Aarch64Features* features,\n
      \                               Aarch64FeaturesEnum value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - Aarch64FeaturesEnum
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: GetAarch64FeaturesEnumName
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_aarch64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetAarch64FeaturesEnumName(Aarch64FeaturesEnum value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:94,1
    - Dst: CpuFeatures_StringView_Front
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:94,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringView
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: IndexOfNonDigit
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_Front
    - isdigit
    - CpuFeatures_StringView_PopFront
    linkageType: ''
    returnType: int
    signature: int IndexOfNonDigit(StringView str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_GetAttributeKeyValue
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:105,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:106,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:106,1
    - Dst: CpuFeatures_SetFromFlags
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:107,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:108,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:108,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:109,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:110,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:110,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:111,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:112,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:112,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:113,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:114,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:114,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:115,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:116,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:116,1
    - Dst: CpuFeatures_StringView_KeepFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:120,1
    - Dst: IndexOfNonDigit
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:120,1
    - Dst: CpuFeatures_StringView_ParsePositiveNumber
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:121,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:122,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:122,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:123,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:123,1
    - Dst: CpuFeatures_StringView_IndexOf
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:128,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:128,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:129,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:129,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:131,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - result
    - info
    - proc_info
    argTypes:
    - LineResult
    - ArmInfo*
    - ProcCpuInfoData*
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: HandleArmLine
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_ParsePositiveNumber
    - IndexOfNonDigit
    - CpuFeatures_StringView_GetAttributeKeyValue
    - CpuFeatures_StringView_KeepFront
    - CpuFeatures_StringView_IsEquals
    - CpuFeatures_StringView_IndexOf
    - CpuFeatures_SetFromFlags
    - str
    linkageType: ''
    returnType: bool
    signature: "bool HandleArmLine(const LineResult result, ArmInfo* const info,\n
      \                         ProcCpuInfoData* const proc_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExtractBitRange
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:138,1
    - Dst: ExtractBitRange
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:139,1
    - Dst: ExtractBitRange
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:140,1
    - Dst: ExtractBitRange
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - ArmInfo*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: GetArmCpuId
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c
    functionUses: 2
    functionsReached:
    - ExtractBitRange
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetArmCpuId(const ArmInfo* const info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetArmCpuId
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:154,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - info
    - proc_cpu_info_data
    argTypes:
    - ArmInfo*
    - ProcCpuInfoData*
    constantsTouched: []
    func_position:
      end: 183
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 183
    functionName: FixErrors
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c
    functionUses: 0
    functionsReached:
    - GetArmCpuId
    linkageType: ''
    returnType: void
    signature: "void FixErrors(ArmInfo* const info,\n                      ProcCpuInfoData*
      const proc_cpu_info_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackLineReader_Initialize
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:190,1
    - Dst: HandleArmLine
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:192,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:192,1
    - Dst: CpuFeatures_CloseFile
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - info
    - proc_cpu_info_data
    argTypes:
    - ArmInfo*
    - ProcCpuInfoData*
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: FillProcCpuInfoData
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c
    functionUses: 1
    functionsReached:
    - StackLineReader_NextLine
    - StackLineReader_Initialize
    - CpuFeatures_CloseFile
    - HandleArmLine
    linkageType: ''
    returnType: void
    signature: "void FillProcCpuInfoData(ArmInfo* const info,\n                                ProcCpuInfoData*
      proc_cpu_info_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FillProcCpuInfoData
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:212,1
    - Dst: CpuFeatures_OverrideFromHwCaps
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:213,1
    - Dst: CpuFeatures_GetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:214,1
    - Dst: FixErrors
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: GetArmInfo
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c
    functionUses: 9
    functionsReached:
    - FixErrors
    - FillProcCpuInfoData
    - CpuFeatures_GetHardwareCapabilities
    - CpuFeatures_OverrideFromHwCaps
    linkageType: ''
    returnType: ArmInfo
    signature: ArmInfo GetArmInfo(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 2
    argNames:
    - features
    - value
    argTypes:
    - ArmFeatures*
    - ArmFeaturesEnum
    constantsTouched: []
    func_position:
      end: 286
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 286
    functionName: GetArmFeaturesEnumValue
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int GetArmFeaturesEnumValue(const ArmFeatures* features,\n                            ArmFeaturesEnum
      value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - ArmFeaturesEnum
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: GetArmFeaturesEnumName
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_arm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetArmFeaturesEnumName(ArmFeaturesEnum value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __cpuid_count
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - leaf_id
    - ecx
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: CpuIdEx
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 1
    functionsReached:
    - __cpuid_count
    linkageType: ''
    returnType: Leaf
    signature: Leaf CpuIdEx(uint32_t leaf_id, int ecx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: GetXCR0Eax
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetXCR0Eax(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __cpuidex
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - leaf_id
    - ecx
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: CpuIdEx
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 1
    functionsReached:
    - __cpuidex
    linkageType: ''
    returnType: Leaf
    signature: Leaf CpuIdEx(uint32_t leaf_id, int ecx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _xgetbv
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: GetXCR0Eax
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 1
    functionsReached:
    - _xgetbv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetXCR0Eax(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuIdEx
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - leaf_id
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: CpuId
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 3
    functionsReached:
    - CpuIdEx
    linkageType: ''
    returnType: Leaf
    signature: Leaf CpuId(uint32_t leaf_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuIdEx
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - max_cpuid_leaf
    - leaf_id
    - ecx
    argTypes:
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: SafeCpuIdEx
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached:
    - CpuIdEx
    linkageType: ''
    returnType: Leaf
    signature: Leaf SafeCpuIdEx(uint32_t max_cpuid_leaf, uint32_t leaf_id, int ecx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SafeCpuIdEx
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - max_cpuid_leaf
    - leaf_id
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: SafeCpuId
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached:
    - SafeCpuIdEx
    linkageType: ''
    returnType: Leaf
    signature: Leaf SafeCpuId(uint32_t max_cpuid_leaf, uint32_t leaf_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - mask
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: HasMask
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasMask(uint32_t value, uint32_t mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasMask
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xcr0_eax
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: HasXmmOsXSave
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached:
    - HasMask
    linkageType: ''
    returnType: bool
    signature: bool HasXmmOsXSave(uint32_t xcr0_eax)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasMask
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xcr0_eax
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: HasYmmOsXSave
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached:
    - HasMask
    linkageType: ''
    returnType: bool
    signature: bool HasYmmOsXSave(uint32_t xcr0_eax)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasMask
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xcr0_eax
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: HasZmmOsXSave
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached:
    - HasMask
    linkageType: ''
    returnType: bool
    signature: bool HasZmmOsXSave(uint32_t xcr0_eax)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - leaf
    - vendor
    argTypes:
    - Leaf
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: SetVendor
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetVendor(const Leaf leaf, char* const vendor)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - leaf
    - name
    argTypes:
    - Leaf
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: IsVendor
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IsVendor(const Leaf leaf, const char* const name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - level
    - cache_type
    - cache_size
    - ways
    - line_size
    - entries
    - partitioning
    argTypes:
    - int
    - CacheType
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: MakeX86CacheLevelInfo
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheLevelInfo
    signature: "CacheLevelInfo MakeX86CacheLevelInfo(int level, CacheType cache_type,\n
      \                                           int cache_size, int ways,\n                                            int
      line_size, int entries,\n                                            int partitioning)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:156,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:159,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:162,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:165,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:168,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:171,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:174,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:177,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:180,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:183,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:186,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:189,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:192,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:195,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:198,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:201,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:204,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:207,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:210,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:213,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:216,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:219,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:222,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:225,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:228,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:231,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:234,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:237,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:240,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:243,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:246,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:249,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:252,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:255,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:258,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:261,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:264,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:267,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:270,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:273,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:276,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:279,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:282,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:285,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:288,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:291,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:294,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:297,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:300,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:303,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:306,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:309,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:312,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:315,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:318,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:321,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:324,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:327,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:330,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:333,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:336,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:339,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:342,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:345,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:348,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:351,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:354,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:357,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:360,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:363,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:366,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:369,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:372,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:375,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:378,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:381,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:384,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:387,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:390,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:393,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:396,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:399,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:402,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:405,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:408,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:411,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:414,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:417,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:420,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:423,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:426,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:429,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:432,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:435,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:438,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:441,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:444,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:447,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:450,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:453,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:456,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:459,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:462,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:465,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:468,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 217
    argCount: 1
    argNames:
    - reg
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 476
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 476
    functionName: GetCacheLevelInfo
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached:
    - MakeX86CacheLevelInfo
    linkageType: ''
    returnType: CacheLevelInfo
    signature: CacheLevelInfo GetCacheLevelInfo(const uint32_t reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExtractBitRange
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - result
    - reg
    argTypes:
    - uint32_t[]
    - uint32_t
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: GetByteArrayFromRegister
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached:
    - ExtractBitRange
    linkageType: ''
    returnType: void
    signature: void GetByteArrayFromRegister(uint32_t result[4], const uint32_t reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SafeCpuId
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:485,1
    - Dst: GetByteArrayFromRegister
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:492,1
    - Dst: GetCacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - max_cpuid_leaf
    - info
    argTypes:
    - int
    - CacheInfo*
    constantsTouched: []
    func_position:
      end: 500
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 500
    functionName: ParseLeaf2
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached:
    - SafeCpuId
    - GetCacheLevelInfo
    - GetByteArrayFromRegister
    linkageType: ''
    returnType: void
    signature: void ParseLeaf2(const int max_cpuid_leaf, CacheInfo* info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SafeCpuIdEx
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:505,1
    - Dst: ExtractBitRange
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:506,1
    - Dst: MakeX86CacheLevelInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - max_cpuid_leaf
    - info
    argTypes:
    - int
    - CacheInfo*
    constantsTouched: []
    func_position:
      end: 521
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 521
    functionName: ParseLeaf4
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached:
    - SafeCpuIdEx
    - ExtractBitRange
    - MakeX86CacheLevelInfo
    linkageType: ''
    returnType: void
    signature: void ParseLeaf4(const int max_cpuid_leaf, CacheInfo* info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SafeCpuId
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:525,1
    - Dst: SafeCpuId
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:526,1
    - Dst: ExtractBitRange
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:544,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:546,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:547,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:548,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:549,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:550,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:551,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:552,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:553,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:554,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:555,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:556,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:557,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:558,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:559,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:560,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:561,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:562,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:563,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:564,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:565,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:566,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:567,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:568,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:569,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:570,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:571,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:572,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:575,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:576,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:577,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:578,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:579,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:580,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:584,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:585,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:586,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:590,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:591,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:592,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:593,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:594,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:595,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:596,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:597,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:598,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:599,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:600,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:601,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:602,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:603,1
    - Dst: IsBitSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 61
    argCount: 2
    argNames:
    - max_cpuid_leaf
    - info
    argTypes:
    - uint32_t
    - X86Info*
    constantsTouched: []
    func_position:
      end: 606
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 606
    functionName: ParseCpuId
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached:
    - SafeCpuId
    - ExtractBitRange
    - IsBitSet
    linkageType: ''
    returnType: void
    signature: void ParseCpuId(const uint32_t max_cpuid_leaf, X86Info* info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuId
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:613,1
    - Dst: SetVendor
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:615,1
    - Dst: IsVendor
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:616,1
    - Dst: IsVendor
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:616,1
    - Dst: ParseCpuId
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 620
      start: 611
    functionDepth: 4
    functionLinenumber: 611
    functionLinenumberEnd: 620
    functionName: GetX86Info
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 5
    functionsReached:
    - IsVendor
    - ParseCpuId
    - SetVendor
    - CpuId
    linkageType: ''
    returnType: X86Info
    signature: X86Info GetX86Info(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuId
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:624,1
    - Dst: IsVendor
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:626,1
    - Dst: ParseLeaf2
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:627,1
    - Dst: ParseLeaf4
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 4
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: GetX86CacheInfo
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 2
    functionsReached:
    - IsVendor
    - ParseLeaf4
    - ParseLeaf2
    - CpuId
    linkageType: ''
    returnType: CacheInfo
    signature: CacheInfo GetX86CacheInfo(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:636,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:637,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:638,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:639,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:642,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:643,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:646,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:649,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:650,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:653,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:654,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:657,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:658,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:659,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:660,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:663,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:664,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:665,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:668,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:669,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:672,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:673,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:676,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:677,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:678,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:679,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:682,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:683,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:684,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:685,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:688,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:689,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:690,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:693,1
    - Dst: CPUID
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:694,1
    - Dst: memcmp
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 72
    argCount: 1
    argNames:
    - info
    argTypes:
    - X86Info*
    constantsTouched: []
    func_position:
      end: 721
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 721
    functionName: GetX86Microarchitecture
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 2
    functionsReached:
    - memcmp
    - CPUID
    linkageType: ''
    returnType: X86Microarchitecture
    signature: X86Microarchitecture GetX86Microarchitecture(const X86Info* info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SafeCpuId
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:725,1
    - Dst: memcpy
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - max_cpuid_ext_leaf
    - leaf_id
    - buffer
    argTypes:
    - uint32_t
    - uint32_t
    - char*
    constantsTouched: []
    func_position:
      end: 729
      start: 723
    functionDepth: 3
    functionLinenumber: 723
    functionLinenumberEnd: 729
    functionName: SetString
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached:
    - SafeCpuId
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void SetString(const uint32_t max_cpuid_ext_leaf, const uint32_t leaf_id,\n
      \                     char* buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuId
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:732,1
    - Dst: SetString
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:734,1
    - Dst: SetString
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:735,1
    - Dst: SetString
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - brand_string
    argTypes:
    - char[]
    constantsTouched: []
    func_position:
      end: 738
      start: 731
    functionDepth: 4
    functionLinenumber: 731
    functionLinenumberEnd: 738
    functionName: FillX86BrandString
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 2
    functionsReached:
    - SetString
    - CpuId
    linkageType: ''
    returnType: void
    signature: void FillX86BrandString(char brand_string[49])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 108
    argCount: 2
    argNames:
    - features
    - value
    argTypes:
    - X86Features*
    - X86FeaturesEnum
    constantsTouched: []
    func_position:
      end: 852
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 852
    functionName: GetX86FeaturesEnumValue
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int GetX86FeaturesEnumValue(const X86Features* features,\n                            X86FeaturesEnum
      value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 108
    argCount: 1
    argNames:
    - value
    argTypes:
    - X86FeaturesEnum
    constantsTouched: []
    func_position:
      end: 962
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 962
    functionName: GetX86FeaturesEnumName
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetX86FeaturesEnumName(X86FeaturesEnum value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 1
    argNames:
    - uarch
    argTypes:
    - X86Microarchitecture
    constantsTouched: []
    func_position:
      end: 1012
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 1012
    functionName: GetX86MicroarchitectureName
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetX86MicroarchitectureName(X86Microarchitecture uarch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - reader
    - fd
    argTypes:
    - StackLineReader*
    - int
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: StackLineReader_Initialize
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StackLineReader_Initialize(StackLineReader* reader, int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - reader
    argTypes:
    - StackLineReader*
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: LoadFullBuffer
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int LoadFullBuffer(StackLineReader* reader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:44,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - reader
    argTypes:
    - StackLineReader*
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: LoadMore
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int LoadMore(StackLineReader* reader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_IndexOfChar
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - StackLineReader*
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: IndexOfEol
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_IndexOfChar
    linkageType: ''
    returnType: int
    signature: int IndexOfEol(StackLineReader* reader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:58,1
    - Dst: LoadMore
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - reader
    argTypes:
    - StackLineReader*
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: BringToFrontAndLoadMore
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c
    functionUses: 0
    functionsReached:
    - memmove
    - LoadMore
    linkageType: ''
    returnType: int
    signature: int BringToFrontAndLoadMore(StackLineReader* reader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - reader
    argTypes:
    - StackLineReader*
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: SkipToNextLine
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_PopFront
    linkageType: ''
    returnType: void
    signature: void SkipToNextLine(StackLineReader* reader)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - eof
    - full_line
    - view
    argTypes:
    - bool
    - bool
    - StringView
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: CreateLineResult
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineResult
    signature: LineResult CreateLineResult(bool eof, bool full_line, StringView view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateLineResult
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - view
    argTypes:
    - StringView
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: CreateEOFLineResult
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c
    functionUses: 0
    functionsReached:
    - CreateLineResult
    linkageType: ''
    returnType: LineResult
    signature: LineResult CreateEOFLineResult(StringView view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateLineResult
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - view
    argTypes:
    - StringView
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: CreateTruncatedLineResult
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c
    functionUses: 0
    functionsReached:
    - CreateLineResult
    linkageType: ''
    returnType: LineResult
    signature: LineResult CreateTruncatedLineResult(StringView view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateLineResult
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - view
    argTypes:
    - StringView
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: CreateValidLineResult
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c
    functionUses: 0
    functionsReached:
    - CreateLineResult
    linkageType: ''
    returnType: LineResult
    signature: LineResult CreateValidLineResult(StringView view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SkipToNextLine
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:105,1
    - Dst: CreateEOFLineResult
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:115,1
    - Dst: IndexOfEol
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:117,1
    - Dst: CreateTruncatedLineResult
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:121,1
    - Dst: CpuFeatures_StringView_KeepFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:125,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:127,1
    - Dst: CreateValidLineResult
      Src: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - reader
    argTypes:
    - StackLineReader*
    constantsTouched: []
    func_position:
      end: 131
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 131
    functionName: StackLineReader_NextLine
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/stack_line_reader.c
    functionUses: 6
    functionsReached:
    - CreateValidLineResult
    - CpuFeatures_StringView_PopFront
    - IndexOfEol
    - SkipToNextLine
    - CreateTruncatedLineResult
    - CpuFeatures_StringView_KeepFront
    - CreateEOFLineResult
    linkageType: ''
    returnType: LineResult
    signature: LineResult StackLineReader_NextLine(StackLineReader* reader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hwcap_type
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: GetElfHwcapFromGetauxval
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c
    functionUses: 0
    functionsReached:
    - getauxval
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long GetElfHwcapFromGetauxval(uint32_t hwcap_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dlerror
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:74,1
    - Dst: dlopen
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:75,1
    - Dst: D
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:77,1
    - Dst: dlerror
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:77,1
    - Dst: dlsym
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:80,1
    - Dst: D
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:82,1
    - Dst: dlclose
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - hwcap_type
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: GetElfHwcapFromGetauxval
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c
    functionUses: 0
    functionsReached:
    - dlopen
    - dlclose
    - dlerror
    - dlsym
    - D
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetElfHwcapFromGetauxval(uint32_t hwcap_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:108,1
    - Dst: D
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:114,1
    - Dst: CpuFeatures_CloseFile
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - hwcap_type
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 128
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 128
    functionName: GetElfHwcapFromProcSelfAuxv
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_CloseFile
    - D
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetElfHwcapFromProcSelfAuxv(uint32_t hwcap_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:135,1
    - Dst: GetElfHwcapFromProcSelfAuxv
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: GetHardwareCapabilitiesFor
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c
    functionUses: 0
    functionsReached:
    - GetElfHwcapFromProcSelfAuxv
    - D
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long GetHardwareCapabilitiesFor(uint32_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetHardwareCapabilitiesFor
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:143,1
    - Dst: GetHardwareCapabilitiesFor
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: CpuFeatures_GetHardwareCapabilities
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c
    functionUses: 2
    functionsReached:
    - GetHardwareCapabilitiesFor
    linkageType: ''
    returnType: HardwareCapabilities
    signature: HardwareCapabilities CpuFeatures_GetHardwareCapabilities(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:156,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:156,1
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:159,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: CpuFeatures_GetPlatformType
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/hwcaps.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_CopyString
    - str
    linkageType: ''
    returnType: PlatformType
    signature: PlatformType CpuFeatures_GetPlatformType(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sopen_s
      Src: /src/cryptofuzz/third_party/cpu_features/src/filesystem.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: CpuFeatures_OpenFile
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/filesystem.c
    functionUses: 0
    functionsReached:
    - _sopen_s
    linkageType: ''
    returnType: int
    signature: int CpuFeatures_OpenFile(const char* filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _close
      Src: /src/cryptofuzz/third_party/cpu_features/src/filesystem.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: CpuFeatures_CloseFile
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/filesystem.c
    functionUses: 3
    functionsReached:
    - _close
    linkageType: ''
    returnType: void
    signature: void CpuFeatures_CloseFile(int file_descriptor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _read
      Src: /src/cryptofuzz/third_party/cpu_features/src/filesystem.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file_descriptor
    - buffer
    - buffer_size
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: CpuFeatures_ReadFile
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/filesystem.c
    functionUses: 0
    functionsReached:
    - _read
    linkageType: ''
    returnType: int
    signature: "int CpuFeatures_ReadFile(int file_descriptor, void* buffer,\n                         size_t
      buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/cryptofuzz/third_party/cpu_features/src/filesystem.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: CpuFeatures_OpenFile
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/filesystem.c
    functionUses: 0
    functionsReached:
    - open
    linkageType: ''
    returnType: int
    signature: int CpuFeatures_OpenFile(const char* filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/cryptofuzz/third_party/cpu_features/src/filesystem.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: CpuFeatures_CloseFile
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/filesystem.c
    functionUses: 3
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void CpuFeatures_CloseFile(int file_descriptor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/cryptofuzz/third_party/cpu_features/src/filesystem.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - file_descriptor
    - buffer
    - buffer_size
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: CpuFeatures_ReadFile
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/filesystem.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: int
    signature: "int CpuFeatures_ReadFile(int file_descriptor, void* buffer,\n                         size_t
      buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_GetAttributeKeyValue
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c:39,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c:40,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c:40,1
    - Dst: CpuFeatures_SetFromFlags
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - result
    - features
    argTypes:
    - LineResult
    - MipsFeatures*
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: HandleMipsLine
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_IsEquals
    - CpuFeatures_SetFromFlags
    - str
    - CpuFeatures_StringView_GetAttributeKeyValue
    linkageType: ''
    returnType: bool
    signature: "bool HandleMipsLine(const LineResult result,\n                           MipsFeatures*
      const features)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackLineReader_Initialize
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c:51,1
    - Dst: HandleMipsLine
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c:53,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c:53,1
    - Dst: CpuFeatures_CloseFile
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - features
    argTypes:
    - MipsFeatures*
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: FillProcCpuInfoData
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c
    functionUses: 2
    functionsReached:
    - HandleMipsLine
    - StackLineReader_Initialize
    - CpuFeatures_CloseFile
    - StackLineReader_NextLine
    linkageType: ''
    returnType: void
    signature: void FillProcCpuInfoData(MipsFeatures* const features)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c:64,1
    - Dst: FillProcCpuInfoData
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c:71,1
    - Dst: CpuFeatures_OverrideFromHwCaps
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c:72,1
    - Dst: CpuFeatures_GetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: GetMipsInfo
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c
    functionUses: 5
    functionsReached:
    - FillProcCpuInfoData
    - CpuFeatures_GetHardwareCapabilities
    - CpuFeatures_OverrideFromHwCaps
    - assert
    linkageType: ''
    returnType: MipsInfo
    signature: MipsInfo GetMipsInfo(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - features
    - value
    argTypes:
    - MipsFeatures*
    - MipsFeaturesEnum
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: GetMipsFeaturesEnumValue
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int GetMipsFeaturesEnumValue(const MipsFeatures* features,\n                             MipsFeaturesEnum
      value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - MipsFeaturesEnum
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: GetMipsFeaturesEnumName
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_mips.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetMipsFeaturesEnumName(MipsFeaturesEnum value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - view
    - c
    argTypes:
    - StringView
    - char
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: CpuFeatures_StringView_IndexOfChar
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CpuFeatures_StringView_IndexOfChar(const StringView view, char
      c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:39,1
    - Dst: CpuFeatures_StringView_StartsWith
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:40,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - view
    - sub_view
    argTypes:
    - StringView
    - StringView
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: CpuFeatures_StringView_IndexOf
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 2
    functionsReached:
    - CpuFeatures_StringView_StartsWith
    - CpuFeatures_StringView_PopFront
    linkageType: ''
    returnType: int
    signature: "int CpuFeatures_StringView_IndexOf(const StringView view,\n                                   const
      StringView sub_view)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - StringView
    - StringView
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: CpuFeatures_StringView_IsEquals
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 6
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool CpuFeatures_StringView_IsEquals(const StringView a, const StringView
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - StringView
    - StringView
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: CpuFeatures_StringView_StartsWith
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 2
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool CpuFeatures_StringView_StartsWith(const StringView a, const StringView
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: view
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str_view
    - count
    argTypes:
    - StringView
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: CpuFeatures_StringView_PopFront
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 5
    functionsReached:
    - view
    linkageType: ''
    returnType: StringView
    signature: "StringView CpuFeatures_StringView_PopFront(const StringView str_view,\n
      \                                          size_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: view
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str_view
    - count
    argTypes:
    - StringView
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: CpuFeatures_StringView_PopBack
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 0
    functionsReached:
    - view
    linkageType: ''
    returnType: StringView
    signature: "StringView CpuFeatures_StringView_PopBack(const StringView str_view,\n
      \                                         size_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: view
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str_view
    - count
    argTypes:
    - StringView
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: CpuFeatures_StringView_KeepFront
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 2
    functionsReached:
    - view
    linkageType: ''
    returnType: StringView
    signature: "StringView CpuFeatures_StringView_KeepFront(const StringView str_view,\n
      \                                           size_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:84,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - view
    argTypes:
    - StringView
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: CpuFeatures_StringView_Front
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char CpuFeatures_StringView_Front(const StringView view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - view
    argTypes:
    - StringView
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: CpuFeatures_StringView_Back
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char CpuFeatures_StringView_Back(const StringView view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:95,1
    - Dst: CpuFeatures_StringView_Front
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:95,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:96,1
    - Dst: isspace
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:97,1
    - Dst: CpuFeatures_StringView_Back
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:97,1
    - Dst: CpuFeatures_StringView_PopBack
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - view
    argTypes:
    - StringView
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: CpuFeatures_StringView_TrimWhitespace
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_PopFront
    - CpuFeatures_StringView_Front
    - CpuFeatures_StringView_Back
    - CpuFeatures_StringView_PopBack
    - isspace
    linkageType: ''
    returnType: StringView
    signature: StringView CpuFeatures_StringView_TrimWhitespace(StringView view)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: HexValue
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HexValue(const char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - view
    - base
    argTypes:
    - StringView
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: ParsePositiveNumberWithBase
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_PopFront
    linkageType: ''
    returnType: int
    signature: int ParsePositiveNumberWithBase(const StringView view, int base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:124,1
    - Dst: CpuFeatures_StringView_StartsWith
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:125,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:127,1
    - Dst: ParsePositiveNumberWithBase
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:128,1
    - Dst: ParsePositiveNumberWithBase
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - view
    argTypes:
    - StringView
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: CpuFeatures_StringView_ParsePositiveNumber
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 3
    functionsReached:
    - ParsePositiveNumberWithBase
    - CpuFeatures_StringView_StartsWith
    - CpuFeatures_StringView_PopFront
    - str
    linkageType: ''
    returnType: int
    signature: int CpuFeatures_StringView_ParsePositiveNumber(const StringView view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src
    - dst
    - dst_size
    argTypes:
    - StringView
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: CpuFeatures_StringView_CopyString
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 3
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void CpuFeatures_StringView_CopyString(const StringView src, char*
      dst,\n                                       size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:148,1
    - Dst: CpuFeatures_StringView_KeepFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:156,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:158,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - line
    - word_str
    argTypes:
    - StringView
    - char*
    constantsTouched: []
    func_position:
      end: 169
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 169
    functionName: CpuFeatures_StringView_HasWord
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 1
    functionsReached:
    - CpuFeatures_StringView_KeepFront
    - CpuFeatures_StringView_PopFront
    - str
    linkageType: ''
    returnType: bool
    signature: "bool CpuFeatures_StringView_HasWord(const StringView line,\n                                    const
      char* const word_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:174,1
    - Dst: CpuFeatures_StringView_TrimWhitespace
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:177,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:178,1
    - Dst: CpuFeatures_StringView_TrimWhitespace
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:179,1
    - Dst: CpuFeatures_StringView_KeepFront
      Src: /src/cryptofuzz/third_party/cpu_features/src/string_view.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - line
    - key
    - value
    argTypes:
    - StringView
    - StringView*
    - StringView*
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: CpuFeatures_StringView_GetAttributeKeyValue
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/string_view.c
    functionUses: 5
    functionsReached:
    - CpuFeatures_StringView_TrimWhitespace
    - CpuFeatures_StringView_KeepFront
    - CpuFeatures_StringView_PopFront
    - str
    linkageType: ''
    returnType: bool
    signature: "bool CpuFeatures_StringView_GetAttributeKeyValue(const StringView
      line,\n                                                 StringView* key,\n                                                 StringView*
      value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_GetAttributeKeyValue
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:119,1
    - Dst: CpuFeatures_StringView_HasWord
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:120,1
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:121,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:123,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:123,1
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:124,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:126,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:126,1
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:127,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:129,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:129,1
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - result
    - strings
    argTypes:
    - LineResult
    - PPCPlatformStrings*
    constantsTouched: []
    func_position:
      end: 135
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: HandlePPCLine
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_GetAttributeKeyValue
    - CpuFeatures_StringView_IsEquals
    - CpuFeatures_StringView_CopyString
    - CpuFeatures_StringView_HasWord
    - str
    linkageType: ''
    returnType: bool
    signature: "bool HandlePPCLine(const LineResult result,\n                          PPCPlatformStrings*
      const strings)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackLineReader_Initialize
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:141,1
    - Dst: HandlePPCLine
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:143,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:143,1
    - Dst: CpuFeatures_CloseFile
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - strings
    argTypes:
    - PPCPlatformStrings*
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: FillProcCpuInfoData
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c
    functionUses: 3
    functionsReached:
    - StackLineReader_NextLine
    - StackLineReader_Initialize
    - CpuFeatures_CloseFile
    - HandlePPCLine
    linkageType: ''
    returnType: void
    signature: void FillProcCpuInfoData(PPCPlatformStrings* const strings)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_OverrideFromHwCaps
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:160,1
    - Dst: CpuFeatures_GetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: GetPPCInfo
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c
    functionUses: 1
    functionsReached:
    - CpuFeatures_GetHardwareCapabilities
    - CpuFeatures_OverrideFromHwCaps
    linkageType: ''
    returnType: PPCInfo
    signature: PPCInfo GetPPCInfo(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FillProcCpuInfoData
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:171,1
    - Dst: CpuFeatures_GetPlatformType
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: GetPPCPlatformStrings
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c
    functionUses: 3
    functionsReached:
    - FillProcCpuInfoData
    - CpuFeatures_GetPlatformType
    linkageType: ''
    returnType: PPCPlatformStrings
    signature: PPCPlatformStrings GetPPCPlatformStrings(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 88
    argCount: 2
    argNames:
    - features
    - value
    argTypes:
    - PPCFeatures*
    - PPCFeaturesEnum
    constantsTouched: []
    func_position:
      end: 268
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 268
    functionName: GetPPCFeaturesEnumValue
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int GetPPCFeaturesEnumValue(const PPCFeatures* features,\n                            PPCFeaturesEnum
      value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - PPCFeaturesEnum
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: GetPPCFeaturesEnumName
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetPPCFeaturesEnumName(PPCFeaturesEnum value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_StringView_GetAttributeKeyValue
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:81,1
    - Dst: CpuFeatures_StringView_HasWord
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:82,1
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:83,1
    - Dst: CpuFeatures_StringView_IsEquals
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:85,1
    - Dst: str
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:85,1
    - Dst: CpuFeatures_StringView_CopyString
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - result
    - strings
    argTypes:
    - LineResult
    - S390XPlatformStrings*
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: HandleS390XLine
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_StringView_GetAttributeKeyValue
    - CpuFeatures_StringView_IsEquals
    - CpuFeatures_StringView_CopyString
    - CpuFeatures_StringView_HasWord
    - str
    linkageType: ''
    returnType: bool
    signature: "bool HandleS390XLine(const LineResult result,\n                          S390XPlatformStrings*
      const strings)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackLineReader_Initialize
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:97,1
    - Dst: HandleS390XLine
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:99,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:99,1
    - Dst: CpuFeatures_CloseFile
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - strings
    argTypes:
    - S390XPlatformStrings*
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: FillProcCpuInfoData
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c
    functionUses: 4
    functionsReached:
    - HandleS390XLine
    - StackLineReader_Initialize
    - CpuFeatures_CloseFile
    - StackLineReader_NextLine
    linkageType: ''
    returnType: void
    signature: void FillProcCpuInfoData(S390XPlatformStrings* const strings)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CpuFeatures_OverrideFromHwCaps
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:112,1
    - Dst: CpuFeatures_GetHardwareCapabilities
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: GetS390XInfo
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c
    functionUses: 0
    functionsReached:
    - CpuFeatures_GetHardwareCapabilities
    - CpuFeatures_OverrideFromHwCaps
    linkageType: ''
    returnType: S390XInfo
    signature: S390XInfo GetS390XInfo(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FillProcCpuInfoData
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:123,1
    - Dst: CpuFeatures_GetPlatformType
      Src: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: GetS390XPlatformStrings
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c
    functionUses: 0
    functionsReached:
    - FillProcCpuInfoData
    - CpuFeatures_GetPlatformType
    linkageType: ''
    returnType: S390XPlatformStrings
    signature: S390XPlatformStrings GetS390XPlatformStrings(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 2
    argNames:
    - features
    - value
    argTypes:
    - S390XFeatures*
    - S390XFeaturesEnum
    constantsTouched: []
    func_position:
      end: 184
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 184
    functionName: GetS390XFeaturesEnumValue
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int GetS390XFeaturesEnumValue(const S390XFeatures* features,\n                            S390XFeaturesEnum
      value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - S390XFeaturesEnum
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: GetS390XFeaturesEnumName
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/cpuinfo_s390x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetS390XFeaturesEnumName(S390XFeaturesEnum value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CapabilityConfig::set_bit
      Src: /src/cryptofuzz/third_party/cpu_features/src/unix_features_aggregator.c:25,1
    - Dst: CpuFeatures_StringView_HasWord
      Src: /src/cryptofuzz/third_party/cpu_features/src/unix_features_aggregator.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - configs_size
    - configs
    - flags_line
    - features
    argTypes:
    - size_t
    - CapabilityConfig*
    - StringView
    - void*
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: CpuFeatures_SetFromFlags
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/unix_features_aggregator.c
    functionUses: 6
    functionsReached:
    - CapabilityConfig::set_bit
    - CpuFeatures_StringView_HasWord
    linkageType: ''
    returnType: void
    signature: "void CpuFeatures_SetFromFlags(const size_t configs_size,\n                              const
      CapabilityConfig* configs,\n                              const StringView flags_line,\n
      \                             void* const features)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mask
    - value
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: IsSet
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/unix_features_aggregator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSet(const uint32_t mask, const uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/unix_features_aggregator.c:37,1
    - Dst: IsSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/unix_features_aggregator.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - hwcaps_mask
    - hwcaps
    argTypes:
    - HardwareCapabilities
    - HardwareCapabilities
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: IsHwCapsSet
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/unix_features_aggregator.c
    functionUses: 0
    functionsReached:
    - IsSet
    linkageType: ''
    returnType: bool
    signature: "bool IsHwCapsSet(const HardwareCapabilities hwcaps_mask,\n                        const
      HardwareCapabilities hwcaps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsHwCapsSet
      Src: /src/cryptofuzz/third_party/cpu_features/src/unix_features_aggregator.c:48,1
    - Dst: CapabilityConfig*::set_bit
      Src: /src/cryptofuzz/third_party/cpu_features/src/unix_features_aggregator.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - configs_size
    - configs
    - hwcaps
    - features
    argTypes:
    - size_t
    - CapabilityConfig*
    - HardwareCapabilities
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: CpuFeatures_OverrideFromHwCaps
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/unix_features_aggregator.c
    functionUses: 7
    functionsReached:
    - CapabilityConfig*::set_bit
    - IsHwCapsSet
    linkageType: ''
    returnType: void
    signature: "void CpuFeatures_OverrideFromHwCaps(const size_t configs_size,\n                                    const
      CapabilityConfig* configs,\n                                    const HardwareCapabilities
      hwcaps,\n                                    void* const features)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:36,1
    - Dst: putchar
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:47,1
    - Dst: putchar
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:49,1
    - Dst: putchar
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: PrintEscapedAscii
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void PrintEscapedAscii(const char* str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: PrintVoid
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrintVoid(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: PrintComma
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void PrintComma(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: PrintLineFeed
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void PrintLineFeed(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: PrintOpenBrace
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void PrintOpenBrace(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: PrintCloseBrace
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void PrintCloseBrace(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: PrintOpenBracket
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void PrintOpenBracket(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: PrintCloseBracket
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void PrintCloseBracket(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: PrintString
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintString(const char* field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: PrintAlignedHeader
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintAlignedHeader(const char* field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: PrintIntValue
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintIntValue(int value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: PrintDecHexValue
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintDecHexValue(int value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrintEscapedAscii
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:68,1
    - Dst: putchar
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - field
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: PrintJsonHeader
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - putchar
    - PrintEscapedAscii
    linkageType: ''
    returnType: void
    signature: void PrintJsonHeader(const char* field)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: getJsonPrinter
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Printer
    signature: Printer getJsonPrinter(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: getTextPrinter
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Printer
    signature: Printer getTextPrinter(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Printer::StartField
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:114,1
    - Dst: Printer::PrintValue
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:115,1
    - Dst: Printer::EndField
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - field
    - value
    argTypes:
    - Printer
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: PrintN
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - Printer::EndField
    - Printer::PrintValue
    - Printer::StartField
    linkageType: ''
    returnType: void
    signature: void PrintN(const Printer p, const char* field, int value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Printer::StartField
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:121,1
    - Dst: Printer::PrintString
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:122,1
    - Dst: Printer::EndField
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - field
    - value
    argTypes:
    - Printer
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: PrintS
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - Printer::EndField
    - Printer::StartField
    - Printer::PrintString
    linkageType: ''
    returnType: void
    signature: void PrintS(const Printer p, const char* field, const char* value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: cmp
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 62
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp(const void* p1, const void* p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetX86Info
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:174,1
    - Dst: FillX86BrandString
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:175,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:176,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:177,1
    - Dst: PrintN
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:178,1
    - Dst: PrintN
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:179,1
    - Dst: PrintN
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:180,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:181,1
    - Dst: GetX86MicroarchitectureName
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:182,1
    - Dst: GetX86Microarchitecture
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:182,1
    - Dst: PrintFlags
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:183,1
    - Dst: GetArmInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:185,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:186,1
    - Dst: PrintN
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:187,1
    - Dst: PrintN
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:188,1
    - Dst: PrintN
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:189,1
    - Dst: PrintN
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:190,1
    - Dst: PrintN
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:191,1
    - Dst: PrintFlags
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:192,1
    - Dst: GetAarch64Info
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:194,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:195,1
    - Dst: PrintN
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:196,1
    - Dst: PrintN
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:197,1
    - Dst: PrintN
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:198,1
    - Dst: PrintN
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:199,1
    - Dst: PrintFlags
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:200,1
    - Dst: GetMipsInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:203,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:204,1
    - Dst: PrintFlags
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:205,1
    - Dst: GetPPCInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:208,1
    - Dst: GetPPCPlatformStrings
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:209,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:210,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:211,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:212,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:213,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:214,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:215,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:216,1
    - Dst: PrintFlags
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:217,1
    - Dst: GetS390XInfo
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:220,1
    - Dst: GetS390XPlatformStrings
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:221,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:222,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:223,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:224,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:225,1
    - Dst: strstr
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:226,1
    - Dst: PrintS
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:227,1
    - Dst: PrintFlags
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - printer
    argTypes:
    - Printer
    constantsTouched: []
    func_position:
      end: 230
      start: 171
    functionDepth: 5
    functionLinenumber: 171
    functionLinenumberEnd: 230
    functionName: PrintFeatures
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - PrintS
    - FillX86BrandString
    - GetMipsInfo
    - strstr
    - PrintN
    - PrintFlags
    - GetAarch64Info
    - GetPPCPlatformStrings
    - GetS390XInfo
    - GetPPCInfo
    - GetS390XPlatformStrings
    - GetX86MicroarchitectureName
    - GetArmInfo
    - GetX86Info
    - GetX86Microarchitecture
    linkageType: ''
    returnType: void
    signature: void PrintFeatures(const Printer printer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: showUsage
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void showUsage(const char* name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getTextPrinter
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:244,1
    - Dst: strcmp
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:248,1
    - Dst: strcmp
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:248,1
    - Dst: getJsonPrinter
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:249,1
    - Dst: showUsage
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:251,1
    - Dst: strcmp
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:252,1
    - Dst: strcmp
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:252,1
    - Dst: Printer::Start
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:257,1
    - Dst: PrintFeatures
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:258,1
    - Dst: Printer::End
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:259,1
    - Dst: PrintLineFeed
      Src: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 262
      start: 243
    functionDepth: 6
    functionLinenumber: 243
    functionLinenumberEnd: 262
    functionName: main
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/src/utils/list_cpu_features.c
    functionUses: 0
    functionsReached:
    - Printer::Start
    - showUsage
    - getJsonPrinter
    - strcmp
    - PrintLineFeed
    - getTextPrinter
    - PrintFeatures
    - Printer::End
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 83
    functionName: typedef
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/cpuinfo_x86.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPU_FEATURES_START_CPP_NAMESPACE
    signature: CPU_FEATURES_START_CPP_NAMESPACE typedef
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 68
    functionName: typedef
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/cpuinfo_ppc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPU_FEATURES_START_CPP_NAMESPACE
    signature: CPU_FEATURES_START_CPP_NAMESPACE typedef
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 49
    functionName: typedef
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/cpuinfo_s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPU_FEATURES_START_CPP_NAMESPACE
    signature: CPU_FEATURES_START_CPP_NAMESPACE typedef
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: typedef
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/cpuinfo_mips.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPU_FEATURES_START_CPP_NAMESPACE
    signature: CPU_FEATURES_START_CPP_NAMESPACE typedef
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 54
    functionName: typedef
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/cpuinfo_arm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPU_FEATURES_START_CPP_NAMESPACE
    signature: CPU_FEATURES_START_CPP_NAMESPACE typedef
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: typedef
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/cpuinfo_aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPU_FEATURES_START_CPP_NAMESPACE
    signature: CPU_FEATURES_START_CPP_NAMESPACE typedef
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: typedef
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/internal/cpuid_x86.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPU_FEATURES_START_CPP_NAMESPACE
    signature: CPU_FEATURES_START_CPP_NAMESPACE typedef
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reg
    - bit
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: IsBitSet
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/internal/bit_utils.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CPU_FEATURES_START_CPP_NAMESPACE
    signature: CPU_FEATURES_START_CPP_NAMESPACE IsBitSet(uint32_t reg, uint32_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/cpu_features/include/internal/bit_utils.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - reg
    - msb
    - lsb
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: ExtractBitRange
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/internal/bit_utils.h
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t ExtractBitRange(uint32_t reg, uint32_t msb,\n                                       uint32_t
      lsb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: typedef
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/internal/string_view.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPU_FEATURES_START_CPP_NAMESPACE
    signature: CPU_FEATURES_START_CPP_NAMESPACE typedef
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: view
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/internal/string_view.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: StringView
    signature: StringView view(const char* str, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: view
      Src: /src/cryptofuzz/third_party/cpu_features/include/internal/string_view.h:46,1
    - Dst: strlen
      Src: /src/cryptofuzz/third_party/cpu_features/include/internal/string_view.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: str
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/internal/string_view.h
    functionUses: 266
    functionsReached:
    - view
    - strlen
    linkageType: ''
    returnType: StringView
    signature: StringView str(const char* str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: typedef
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/include/internal/stack_line_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPU_FEATURES_START_CPP_NAMESPACE
    signature: CPU_FEATURES_START_CPP_NAMESPACE typedef
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - cpu_mask
    argTypes:
    - uint32_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: set_cpu_mask_bit
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cpu_mask_bit(uint32_t index, uint32_t* cpu_mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_cpu_mask_bit
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:38,1
    - Dst: set_cpu_mask_bit
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - text
    - cpu_mask
    argTypes:
    - StringView
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: parse_cpu_mask
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached:
    - set_cpu_mask_bit
    linkageType: ''
    returnType: void
    signature: void parse_cpu_mask(const StringView text, uint32_t* cpu_mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cpu_mask
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:63,1
    - Dst: CpuFeatures_StringView_KeepFront
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:66,1
    - Dst: parse_cpu_mask
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:67,1
    - Dst: CpuFeatures_StringView_PopFront
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - result
    - cpu_mask
    argTypes:
    - LineResult
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: parse_cpu_mask_line
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached:
    - parse_cpu_mask
    - CpuFeatures_StringView_KeepFront
    - CpuFeatures_StringView_PopFront
    linkageType: ''
    returnType: void
    signature: void parse_cpu_mask_line(const LineResult result, uint32_t* cpu_mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackLineReader_Initialize
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:77,1
    - Dst: parse_cpu_mask_line
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:78,1
    - Dst: StackLineReader_NextLine
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:78,1
    - Dst: CpuFeatures_CloseFile
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - filename
    - cpu_mask
    argTypes:
    - char*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: update_cpu_mask_from_file
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached:
    - parse_cpu_mask_line
    - StackLineReader_NextLine
    - StackLineReader_Initialize
    - CpuFeatures_CloseFile
    linkageType: ''
    returnType: void
    signature: "void update_cpu_mask_from_file(const char* filename,\n                                      uint32_t*
      cpu_mask)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_cpu_mask_from_file
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:85,1
    - Dst: update_cpu_mask_from_file
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:86,1
    - Dst: __builtin_popcount
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: get_cpu_count
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached:
    - update_cpu_mask_from_file
    - __builtin_popcount
    linkageType: ''
    returnType: int
    signature: int get_cpu_count(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cpu_count
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:95,1
    - Dst: GetArmInfo
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:100,1
    - Dst: GetArmCpuId
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:123,1
    - Dst: GetX86Info
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:125,1
    - Dst: GetMipsInfo
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:137,1
    - Dst: GetAarch64Info
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:141,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 90
    functionDepth: 5
    functionLinenumber: 90
    functionLinenumberEnd: 150
    functionName: android_cpuInit
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached:
    - GetMipsInfo
    - GetAarch64Info
    - GetArmCpuId
    - GetArmInfo
    - get_cpu_count
    - GetX86Info
    linkageType: ''
    returnType: void
    signature: void android_cpuInit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: android_getCpuFamily
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AndroidCpuFamily
    signature: AndroidCpuFamily android_getCpuFamily(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: android_getCpuFeatures
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached:
    - pthread_once
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t android_getCpuFeatures(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: android_getCpuCount
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached:
    - pthread_once
    linkageType: ''
    returnType: int
    signature: int android_getCpuCount(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: android_cpuInitDummy
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void android_cpuInitDummy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cpu_count
    - cpu_features
    argTypes:
    - int
    - uint64_t
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: android_setCpu
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached:
    - pthread_once
    linkageType: ''
    returnType: int
    signature: int android_setCpu(int cpu_count, uint64_t cpu_features)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: android_getCpuIdArm
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached:
    - pthread_once
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t android_getCpuIdArm(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: android_setCpu
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cpu_count
    - cpu_features
    - cpu_id
    argTypes:
    - int
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: android_setCpuArm
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/cpu-features.c
    functionUses: 0
    functionsReached:
    - android_setCpu
    linkageType: ''
    returnType: int
    signature: int android_setCpuArm(int cpu_count, uint64_t cpu_features, uint32_t
      cpu_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/ndk-compat-test.c:5,1
    - Dst: android_getCpuFamily
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/ndk-compat-test.c:5,1
    - Dst: printf
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/ndk-compat-test.c:6,1
    - Dst: android_getCpuFeatures
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/ndk-compat-test.c:6,1
    - Dst: printf
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/ndk-compat-test.c:7,1
    - Dst: android_getCpuCount
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/ndk-compat-test.c:7,1
    - Dst: printf
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/ndk-compat-test.c:9,1
    - Dst: android_getCpuIdArm
      Src: /src/cryptofuzz/third_party/cpu_features/ndk_compat/ndk-compat-test.c:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: main
    functionSourceFile: /src/cryptofuzz/third_party/cpu_features/ndk_compat/ndk-compat-test.c
    functionUses: 0
    functionsReached:
    - android_getCpuIdArm
    - android_getCpuFamily
    - android_getCpuFeatures
    - android_getCpuCount
    - printf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: operator size_t() const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator size_t() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::what
      Src: /src/cryptofuzz/third_party/json/json.hpp:1781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1782
    functionName: nlohmann::detail::exception::what
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::exception::what
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL * what() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1789
    functionName: "(3)\n    exception(int id_, const char* what_arg) : id(id_), m(what_arg)"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    exception(int id_, const char* what_arg)
      : id(id_), m(what_arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ename'
    - id_
    argTypes:
    - std::string
    - int
    constantsTouched: []
    func_position:
      end: 1794
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1794
    functionName: nlohmann::detail::exception::name
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string name(const std::string& ename, int id_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/cryptofuzz/third_party/json/json.hpp:1859,1
    - Dst: nlohmann::detail::parse_error::position_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:1860,1
    - Dst: nlohmann::detail::parse_error::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:1861,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:1861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - ' pos'
    - ' what_arg'
    argTypes:
    - int
    - position_t
    - std::string
    constantsTouched: []
    func_position:
      end: 1862
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1862
    functionName: nlohmann::detail::parse_error::create
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - nlohmann::detail::parse_error::parse_error
    - nlohmann::detail::parse_error::position_string
    - std::string::c_str
    linkageType: ''
    returnType: parse_error
    signature: parse_error create(int id_, const position_t& pos, const std::string&
      what_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/cryptofuzz/third_party/json/json.hpp:1866,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:1867,1
    - Dst: nlohmann::detail::parse_error::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:1869,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - byte_
    - ' what_arg'
    argTypes:
    - int
    - std::size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 1870
      start: 1864
    functionDepth: 1
    functionLinenumber: 1864
    functionLinenumberEnd: 1870
    functionName: nlohmann::detail::parse_error::create
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - nlohmann::detail::parse_error::parse_error
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: parse_error
    signature: parse_error create(int id_, std::size_t byte_, const std::string& what_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id_
    - byte_
    - what_arg
    argTypes:
    - int
    - std::size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1885
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1885
    functionName: nlohmann::detail::parse_error::parse_error
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parse_error(int id_, std::size_t byte_, const char* what_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:1889,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pos'
    argTypes:
    - position_t
    constantsTouched: []
    func_position:
      end: 1891
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1891
    functionName: nlohmann::detail::parse_error::position_string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string position_string(const position_t& pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/cryptofuzz/third_party/json/json.hpp:1936,1
    - Dst: invalid_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:1937,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    constantsTouched: []
    func_position:
      end: 1938
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1938
    functionName: nlohmann::detail::invalid_iterator::create
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - invalid_iterator
    - std::string::c_str
    linkageType: ''
    returnType: invalid_iterator
    signature: invalid_iterator create(int id_, const std::string& what_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1943
    functionName: "(3)\n    invalid_iterator(int id_, const char* what_arg)\n        :
      exception(id_, what_arg)"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    invalid_iterator(int id_, const char*
      what_arg)\n        : exception(id_, what_arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/cryptofuzz/third_party/json/json.hpp:1990,1
    - Dst: type_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:1991,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:1991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    constantsTouched: []
    func_position:
      end: 1992
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1992
    functionName: nlohmann::detail::type_error::create
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - type_error
    - std::string::c_str
    linkageType: ''
    returnType: type_error
    signature: type_error create(int id_, const std::string& what_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 1996
    functionName: "(3)\n    type_error(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    type_error(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/cryptofuzz/third_party/json/json.hpp:2037,1
    - Dst: out_of_range
      Src: /src/cryptofuzz/third_party/json/json.hpp:2038,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:2038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    constantsTouched: []
    func_position:
      end: 2039
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2039
    functionName: nlohmann::detail::out_of_range::create
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - out_of_range
    - std::string::c_str
    linkageType: ''
    returnType: out_of_range
    signature: out_of_range create(int id_, const std::string& what_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2043
    functionName: "(3)\n    out_of_range(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    out_of_range(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::exception::name
      Src: /src/cryptofuzz/third_party/json/json.hpp:2075,1
    - Dst: other_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:2076,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:2076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id_
    - ' what_arg'
    argTypes:
    - int
    - std::string
    constantsTouched: []
    func_position:
      end: 2077
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2077
    functionName: nlohmann::detail::other_error::create
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::exception::name
    - other_error
    - std::string::c_str
    linkageType: ''
    returnType: other_error
    signature: other_error create(int id_, const std::string& what_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2080
    functionDepth: 0
    functionLinenumber: 2080
    functionLinenumberEnd: 2081
    functionName: "(3)\n    other_error(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    other_error(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2116
    functionName: nlohmann::detail::size
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2248
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2249
    functionName: ~nonesuch()
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~nonesuch()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2250
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch(nonesuch const&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2251
    functionName: nlohmann::detail::nonesuch
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch(nonesuch const&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2252
    functionName: operator=(nonesuch const&)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(nonesuch const&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2253
    functionName: operator=(nonesuch&&)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(nonesuch&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2782,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2783,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:2784,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:2784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - value_t
    - value_t
    constantsTouched: []
    func_position:
      end: 2785
      start: 2774
    functionDepth: 1
    functionLinenumber: 2774
    functionLinenumberEnd: 2785
    functionName: operator<(const value_t lhs, const value_t rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::size_t>
    - std::array::size
    linkageType: ''
    returnType: bool
    signature: bool operator<(const value_t lhs, const value_t rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:2797,1
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:2797,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:2799,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:2799,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:2799,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:2799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' n'
    argTypes:
    - BasicJsonType
    - typename std::nullptr_t
    constantsTouched: []
    func_position:
      end: 2802
      start: 2795
    functionDepth: 1
    functionLinenumber: 2795
    functionLinenumberEnd: 2802
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - is_null
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2811,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2815,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2815,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2820,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2820,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2825,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2825,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:2830,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:2830,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:2830,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:2830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ArithmeticType
    constantsTouched: []
    func_position:
      end: 2832
      start: 2809
    functionDepth: 1
    functionLinenumber: 2809
    functionLinenumberEnd: 2832
    functionName: nlohmann::detail::get_arithmetic_value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - static_cast<ArithmeticType>
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    - std::string
    - type_name
    - nlohmann::detail::type_error::create
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - static_cast<value_t>
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:2837,1
    - Dst: is_boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:2837,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:2839,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:2839,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:2839,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:2839,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    constantsTouched: []
    func_position:
      end: 2842
      start: 2835
    functionDepth: 1
    functionLinenumber: 2835
    functionLinenumberEnd: 2842
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - is_boolean
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:2847,1
    - Dst: is_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:2847,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:2849,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:2849,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:2849,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:2849,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    constantsTouched: []
    func_position:
      end: 2852
      start: 2845
    functionDepth: 1
    functionLinenumber: 2845
    functionLinenumberEnd: 2852
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - template get_ptr<const typename BasicJsonType::string_t*>
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::string_t&
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:2863,1
    - Dst: is_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:2863,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:2865,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:2865,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:2865,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:2865,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - ConstructibleStringType
    constantsTouched: []
    func_position:
      end: 2869
      start: 2861
    functionDepth: 1
    functionLinenumber: 2861
    functionLinenumberEnd: 2869
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - template get_ptr<const typename BasicJsonType::string_t*>
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    - is_string
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ConstructibleStringType& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:2874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    constantsTouched: []
    func_position:
      end: 2875
      start: 2872
    functionDepth: 2
    functionLinenumber: 2872
    functionLinenumberEnd: 2875
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t&
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:2880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    constantsTouched: []
    func_position:
      end: 2881
      start: 2878
    functionDepth: 2
    functionLinenumber: 2878
    functionLinenumberEnd: 2881
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t&
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:2886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    constantsTouched: []
    func_position:
      end: 2887
      start: 2884
    functionDepth: 2
    functionLinenumber: 2884
    functionLinenumberEnd: 2887
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t&
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::get_arithmetic_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:2894,1
    - Dst: static_cast<EnumType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - EnumType
    constantsTouched: []
    func_position:
      end: 2896
      start: 2891
    functionDepth: 2
    functionLinenumber: 2891
    functionLinenumberEnd: 2896
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<EnumType>
    - nlohmann::detail::get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, EnumType& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:2903,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:2903,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:2905,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:2905,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:2905,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:2905,1
    - Dst: clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:2907,1
    - Dst: std::transform
      Src: /src/cryptofuzz/third_party/json/json.hpp:2908,1
    - Dst: rbegin
      Src: /src/cryptofuzz/third_party/json/json.hpp:2908,1
    - Dst: rend
      Src: /src/cryptofuzz/third_party/json/json.hpp:2908,1
    - Dst: std::front_inserter
      Src: /src/cryptofuzz/third_party/json/json.hpp:2909,1
    - Dst: template get<T>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' l'
    argTypes:
    - BasicJsonType
    - std::forward_list<T, Allocator>
    constantsTouched: []
    func_position:
      end: 2913
      start: 2901
    functionDepth: 1
    functionLinenumber: 2901
    functionLinenumberEnd: 2913
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - template get<T>
    - std::front_inserter
    - clear
    - is_array
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - rbegin
    - rend
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    - std::transform
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::forward_list<T, Allocator>&
      l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:2920,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:2920,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:2922,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:2922,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:2922,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:2922,1
    - Dst: resize
      Src: /src/cryptofuzz/third_party/json/json.hpp:2924,1
    - Dst: nlohmann::detail::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:2924,1
    - Dst: copy
      Src: /src/cryptofuzz/third_party/json/json.hpp:2925,1
    - Dst: m_value::array::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:2925,1
    - Dst: m_value::array::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:2925,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:2925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' l'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    constantsTouched: []
    func_position:
      end: 2926
      start: 2918
    functionDepth: 1
    functionLinenumber: 2918
    functionLinenumberEnd: 2926
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_array
    - nlohmann::detail::size
    - copy
    - m_value::array::begin
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - m_value::array::end
    - resize
    - JSON_THROW
    - begin
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::valarray<T>& l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: template get<T>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2930,1
    - Dst: at
      Src: /src/cryptofuzz/third_party/json/json.hpp:2934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    constantsTouched: []
    func_position:
      end: 2936
      start: 2929
    functionDepth: 1
    functionLinenumber: 2929
    functionLinenumberEnd: 2936
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - template get<T>
    - at
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(const BasicJsonType& j, T (&arr)[N])

      -> decltype(j.template get<T>(), void())'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: template get_ptr<const typename BasicJsonType::array_t*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    constantsTouched: []
    func_position:
      end: 2942
      start: 2939
    functionDepth: 0
    functionLinenumber: 2939
    functionLinenumberEnd: 2942
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - template get_ptr<const typename BasicJsonType::array_t*>
    linkageType: ''
    returnType: void
    signature: void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t&
      arr, priority_tag<3> /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: template get<T>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2947,1
    - Dst: at
      Src: /src/cryptofuzz/third_party/json/json.hpp:2951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::array<T, N>
    constantsTouched: []
    func_position:
      end: 2953
      start: 2945
    functionDepth: 1
    functionLinenumber: 2945
    functionLinenumberEnd: 2953
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - template get<T>
    - at
    linkageType: ''
    returnType: auto
    signature: "auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>&
      arr,\n                          priority_tag<2> /*unused*/)\n-> decltype(j.template
      get<T>(), void())"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/cryptofuzz/third_party/json/json.hpp:2958,1
    - Dst: std::declval<typename ConstructibleArrayType::size_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2958,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2959,1
    - Dst: ConstructibleArrayType::reserve
      Src: /src/cryptofuzz/third_party/json/json.hpp:2965,1
    - Dst: nlohmann::detail::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:2965,1
    - Dst: std::transform
      Src: /src/cryptofuzz/third_party/json/json.hpp:2966,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:2966,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:2966,1
    - Dst: std::inserter
      Src: /src/cryptofuzz/third_party/json/json.hpp:2967,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:2967,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2971,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:2973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    constantsTouched: []
    func_position:
      end: 2974
      start: 2956
    functionDepth: 0
    functionLinenumber: 2956
    functionLinenumberEnd: 2974
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - ConstructibleArrayType::reserve
    - nlohmann::detail::size
    - end
    - template get<typename ConstructibleArrayType::value_type>
    - std::declval<typename ConstructibleArrayType::size_type>
    - reserve
    - std::inserter
    - begin
    - std::transform
    linkageType: ''
    returnType: auto
    signature: "auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType&
      arr, priority_tag<1> /*unused*/)\n-> decltype(\n    arr.reserve(std::declval<typename
      ConstructibleArrayType::size_type>()),\n    j.template get<typename ConstructibleArrayType::value_type>(),\n
      \   void())"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/cryptofuzz/third_party/json/json.hpp:2983,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:2984,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:2984,1
    - Dst: std::inserter
      Src: /src/cryptofuzz/third_party/json/json.hpp:2984,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:2984,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:2989,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:2991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    constantsTouched: []
    func_position:
      end: 2992
      start: 2977
    functionDepth: 0
    functionLinenumber: 2977
    functionLinenumberEnd: 2992
    functionName: nlohmann::detail::from_json_array_impl
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - end
    - template get<typename ConstructibleArrayType::value_type>
    - std::inserter
    - begin
    - std::transform
    linkageType: ''
    returnType: void
    signature: "void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType&
      arr,\n                          priority_tag<0> /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::from_json_array_impl
      Src: /src/cryptofuzz/third_party/json/json.hpp:3003,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3004,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:3007,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:3007,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:3009,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:3009,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:3010,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:3010,1
    - Dst: nlohmann::detail::from_json_array_impl
      Src: /src/cryptofuzz/third_party/json/json.hpp:3013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    constantsTouched: []
    func_position:
      end: 3014
      start: 3002
    functionDepth: 1
    functionLinenumber: 3002
    functionLinenumberEnd: 3014
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_array
    - template get<typename ConstructibleArrayType::value_type>
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - nlohmann::detail::from_json_array_impl
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)

      -> decltype(from_json_array_impl(j, arr, priority_tag<3> {}),

      j.template get<typename ConstructibleArrayType::value_type>(),

      void())'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:3020,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:3020,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:3022,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:3022,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:3022,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:3022,1
    - Dst: template get_ptr<const typename BasicJsonType::object_t*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3026,1
    - Dst: std::transform
      Src: /src/cryptofuzz/third_party/json/json.hpp:3028,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:3029,1
    - Dst: auto::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:3029,1
    - Dst: std::inserter
      Src: /src/cryptofuzz/third_party/json/json.hpp:3030,1
    - Dst: ConstructibleObjectType::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:3030,1
    - Dst: value_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:3033,1
    - Dst: second::template get<typename ConstructibleObjectType::mapped_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3033,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:3035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - ConstructibleObjectType
    constantsTouched: []
    func_position:
      end: 3036
      start: 3018
    functionDepth: 1
    functionLinenumber: 3018
    functionLinenumberEnd: 3036
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - template get_ptr<const typename BasicJsonType::object_t*>
    - std::move
    - ConstructibleObjectType::begin
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - auto::end
    - std::inserter
    - value_type
    - nlohmann::detail::type_error::create
    - type_name
    - is_object
    - JSON_THROW
    - second::template get<typename ConstructibleObjectType::mapped_type>
    - std::transform
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3052,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3056,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3056,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3061,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3061,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3066,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3066,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3071,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3071,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:3076,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:3076,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:3076,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:3076,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ArithmeticType
    constantsTouched: []
    func_position:
      end: 3078
      start: 3050
    functionDepth: 1
    functionLinenumber: 3050
    functionLinenumberEnd: 3078
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - static_cast<ArithmeticType>
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    - std::string
    - type_name
    - nlohmann::detail::type_error::create
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - static_cast<value_t>
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ArithmeticType& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/third_party/json/json.hpp:3083,1
    - Dst: at
      Src: /src/cryptofuzz/third_party/json/json.hpp:3083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<A1, A2>
    constantsTouched: []
    func_position:
      end: 3084
      start: 3081
    functionDepth: 1
    functionLinenumber: 3081
    functionLinenumberEnd: 3084
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/cryptofuzz/third_party/json/json.hpp:3089,1
    - Dst: at
      Src: /src/cryptofuzz/third_party/json/json.hpp:3089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - Tuple
    constantsTouched: []
    func_position:
      end: 3090
      start: 3087
    functionDepth: 1
    functionLinenumber: 3087
    functionLinenumberEnd: 3090
    functionName: nlohmann::detail::from_json_tuple_impl
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - at
    - std::make_tuple
    linkageType: ''
    returnType: void
    signature: void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::from_json_tuple_impl
      Src: /src/cryptofuzz/third_party/json/json.hpp:3095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - std::tuple<Args...>
    constantsTouched: []
    func_position:
      end: 3096
      start: 3093
    functionDepth: 2
    functionLinenumber: 3093
    functionLinenumberEnd: 3096
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::from_json_tuple_impl
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:3103,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:3103,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:3105,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:3105,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:3105,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:3105,1
    - Dst: clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:3107,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:3110,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:3110,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:3112,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:3112,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:3112,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:3112,1
    - Dst: emplace
      Src: /src/cryptofuzz/third_party/json/json.hpp:3114,1
    - Dst: at
      Src: /src/cryptofuzz/third_party/json/json.hpp:3114,1
    - Dst: at
      Src: /src/cryptofuzz/third_party/json/json.hpp:3114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' m'
    argTypes:
    - BasicJsonType
    - std::map<Key, Value, Compare, Allocator>
    constantsTouched: []
    func_position:
      end: 3116
      start: 3101
    functionDepth: 1
    functionLinenumber: 3101
    functionLinenumberEnd: 3116
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - clear
    - emplace
    - at
    - is_array
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::map<Key, Value, Compare,
      Allocator>& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:3123,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:3123,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:3125,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:3125,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:3125,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:3125,1
    - Dst: clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:3127,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:3130,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:3130,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:3132,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:3132,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:3132,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:3132,1
    - Dst: emplace
      Src: /src/cryptofuzz/third_party/json/json.hpp:3134,1
    - Dst: at
      Src: /src/cryptofuzz/third_party/json/json.hpp:3134,1
    - Dst: at
      Src: /src/cryptofuzz/third_party/json/json.hpp:3134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' m'
    argTypes:
    - BasicJsonType
    - std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>
    constantsTouched: []
    func_position:
      end: 3136
      start: 3121
    functionDepth: 1
    functionLinenumber: 3121
    functionLinenumberEnd: 3136
    functionName: nlohmann::detail::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - clear
    - emplace
    - at
    - is_array
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::unordered_map<Key, Value,
      Hash, KeyEqual, Allocator>& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/cryptofuzz/third_party/json/json.hpp:3142,1
    - Dst: nlohmann::detail::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:3142,1
    - Dst: nlohmann::detail::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:3143,1
    - Dst: nlohmann::detail::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:3145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    constantsTouched: []
    func_position:
      end: 3146
      start: 3141
    functionDepth: 2
    functionLinenumber: 3141
    functionLinenumberEnd: 3146
    functionName: "operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
      val)))\n    -> decltype(from_json(j, val), void())"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - nlohmann::detail::from_json
    linkageType: ''
    returnType: auto
    signature: "auto operator()(const BasicJsonType& j, T& val) const\n    noexcept(noexcept(from_json(j,
      val)))\n    -> decltype(from_json(j, val), void())"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - IteratorType
    constantsTouched: []
    func_position:
      end: 3211
      start: 3211
    functionDepth: 0
    functionLinenumber: 3211
    functionLinenumberEnd: 3211
    functionName: nlohmann::detail::iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy_value(IteratorType it) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3217
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3217
    functionName: '& operator*()'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator*()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3226
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3226
    functionName: '& operator++()'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator++()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    constantsTouched: []
    func_position:
      end: 3232
      start: 3229
    functionDepth: 0
    functionLinenumber: 3229
    functionLinenumberEnd: 3232
    functionName: operator==(const iteration_proxy_value& o) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iteration_proxy_value& o) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    constantsTouched: []
    func_position:
      end: 3238
      start: 3235
    functionDepth: 0
    functionLinenumber: 3235
    functionLinenumberEnd: 3238
    functionName: operator!=(const iteration_proxy_value& o) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iteration_proxy_value& o) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:3243,1
    - Dst: m_object::type
      Src: /src/cryptofuzz/third_party/json/json.hpp:3245,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:3252,1
    - Dst: key
      Src: /src/cryptofuzz/third_party/json/json.hpp:3260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3266
      start: 3241
    functionDepth: 1
    functionLinenumber: 3241
    functionLinenumberEnd: 3266
    functionName: '& key() const'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - m_object::type
    - key
    - assert
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string & key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::iteration_proxy_value::value
      Src: /src/cryptofuzz/third_party/json/json.hpp:3271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3272
      start: 3269
    functionDepth: 1
    functionLinenumber: 3269
    functionLinenumberEnd: 3272
    functionName: nlohmann::detail::iteration_proxy_value::value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::iteration_proxy_value::value
    linkageType: ''
    returnType: typename IteratorType::reference
    signature: typename IteratorType::reference value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cont
    argTypes:
    - typename IteratorType::reference
    constantsTouched: []
    func_position:
      end: 3285
      start: 3284
    functionDepth: 0
    functionLinenumber: 3284
    functionLinenumberEnd: 3285
    functionName: nlohmann::detail::iteration_proxy::iteration_proxy
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy(typename IteratorType::reference cont) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3290,1
    - Dst: nlohmann::detail::iteration_proxy::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:3290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3291
    functionName: nlohmann::detail::iteration_proxy::begin
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - iteration_proxy_value<IteratorType>
    - nlohmann::detail::iteration_proxy::begin
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> begin() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3296,1
    - Dst: nlohmann::detail::iteration_proxy::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:3296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3294
    functionDepth: 0
    functionLinenumber: 3294
    functionLinenumberEnd: 3297
    functionName: nlohmann::detail::iteration_proxy::end
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::iteration_proxy::end
    - iteration_proxy_value<IteratorType>
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> end() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/cryptofuzz/third_party/json/json.hpp:3303,1
    - Dst: key
      Src: /src/cryptofuzz/third_party/json/json.hpp:3305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    constantsTouched: []
    func_position:
      end: 3306
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3306
    functionName: nlohmann::detail::get
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.key())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/cryptofuzz/third_party/json/json.hpp:3311,1
    - Dst: value
      Src: /src/cryptofuzz/third_party/json/json.hpp:3313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    constantsTouched: []
    func_position:
      end: 3314
      start: 3311
    functionDepth: 1
    functionLinenumber: 3311
    functionLinenumberEnd: 3314
    functionName: nlohmann::detail::get
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.value())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    constantsTouched: []
    func_position:
      end: 3372
      start: 3367
    functionDepth: 0
    functionLinenumber: 3367
    functionLinenumberEnd: 3372
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::boolean_t
      b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    constantsTouched: []
    func_position:
      end: 3384
      start: 3379
    functionDepth: 0
    functionLinenumber: 3379
    functionLinenumberEnd: 3384
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::string_t&
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:3390,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    constantsTouched: []
    func_position:
      end: 3392
      start: 3387
    functionDepth: 0
    functionLinenumber: 3387
    functionLinenumberEnd: 3392
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::string_t&&
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::string_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3400,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' str'
    argTypes:
    - BasicJsonType
    - CompatibleStringType
    constantsTouched: []
    func_position:
      end: 3402
      start: 3397
    functionDepth: 0
    functionLinenumber: 3397
    functionLinenumberEnd: 3402
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - template create<typename BasicJsonType::string_t>
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleStringType& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    constantsTouched: []
    func_position:
      end: 3414
      start: 3409
    functionDepth: 0
    functionLinenumber: 3409
    functionLinenumberEnd: 3414
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_float_t
      val) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    constantsTouched: []
    func_position:
      end: 3426
      start: 3421
    functionDepth: 0
    functionLinenumber: 3421
    functionLinenumberEnd: 3426
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t
      val) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    constantsTouched: []
    func_position:
      end: 3438
      start: 3433
    functionDepth: 0
    functionLinenumber: 3433
    functionLinenumberEnd: 3438
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t
      val) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    constantsTouched: []
    func_position:
      end: 3450
      start: 3445
    functionDepth: 0
    functionLinenumber: 3445
    functionLinenumberEnd: 3450
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::array_t&
      arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:3456,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    constantsTouched: []
    func_position:
      end: 3458
      start: 3453
    functionDepth: 0
    functionLinenumber: 3453
    functionLinenumberEnd: 3458
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::array_t&&
      arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::array_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3468,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:3468,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:3468,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    constantsTouched: []
    func_position:
      end: 3470
      start: 3463
    functionDepth: 0
    functionLinenumber: 3463
    functionLinenumberEnd: 3470
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - end
    - assert_invariant
    - template create<typename BasicJsonType::array_t>
    - begin
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::reserve
      Src: /src/cryptofuzz/third_party/json/json.hpp:3477,1
    - Dst: nlohmann::detail::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:3477,1
    - Dst: m_value::array::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:3480,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    constantsTouched: []
    func_position:
      end: 3483
      start: 3473
    functionDepth: 1
    functionLinenumber: 3473
    functionLinenumberEnd: 3483
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::array::reserve
    - nlohmann::detail::size
    - assert_invariant
    - m_value::array::push_back
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::vector<bool>& arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::resize
      Src: /src/cryptofuzz/third_party/json/json.hpp:3491,1
    - Dst: nlohmann::detail::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:3491,1
    - Dst: copy
      Src: /src/cryptofuzz/third_party/json/json.hpp:3492,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:3492,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:3492,1
    - Dst: m_value::array::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:3492,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    constantsTouched: []
    func_position:
      end: 3494
      start: 3487
    functionDepth: 0
    functionLinenumber: 3487
    functionLinenumberEnd: 3494
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    - nlohmann::detail::size
    - copy
    - end
    - m_value::array::begin
    - m_value::array::resize
    - begin
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    constantsTouched: []
    func_position:
      end: 3506
      start: 3501
    functionDepth: 0
    functionLinenumber: 3501
    functionLinenumberEnd: 3506
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::object_t&
      obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:3512,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    constantsTouched: []
    func_position:
      end: 3514
      start: 3509
    functionDepth: 0
    functionLinenumber: 3509
    functionLinenumberEnd: 3514
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::object_t&&
      obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: template create<typename BasicJsonType::object_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3524,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:3524,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:3524,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:3525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    constantsTouched: []
    func_position:
      end: 3526
      start: 3518
    functionDepth: 0
    functionLinenumber: 3518
    functionLinenumberEnd: 3526
    functionName: nlohmann::detail::construct
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - template create<typename BasicJsonType::object_t>
    - end
    - assert_invariant
    - begin
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - T
    constantsTouched: []
    func_position:
      end: 3538
      start: 3535
    functionDepth: 1
    functionLinenumber: 3535
    functionLinenumberEnd: 3538
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, T b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - CompatibleString
    constantsTouched: []
    func_position:
      end: 3545
      start: 3542
    functionDepth: 1
    functionLinenumber: 3542
    functionLinenumberEnd: 3545
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleString& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3550,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:3550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    constantsTouched: []
    func_position:
      end: 3551
      start: 3548
    functionDepth: 1
    functionLinenumber: 3548
    functionLinenumberEnd: 3551
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3557,1
    - Dst: static_cast<typename BasicJsonType::number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - FloatType
    constantsTouched: []
    func_position:
      end: 3558
      start: 3555
    functionDepth: 1
    functionLinenumber: 3555
    functionLinenumberEnd: 3558
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename BasicJsonType::number_float_t>
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, FloatType val) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3564,1
    - Dst: static_cast<typename BasicJsonType::number_unsigned_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberUnsignedType
    constantsTouched: []
    func_position:
      end: 3565
      start: 3562
    functionDepth: 1
    functionLinenumber: 3562
    functionLinenumberEnd: 3565
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename BasicJsonType::number_unsigned_t>
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3571,1
    - Dst: static_cast<typename BasicJsonType::number_integer_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberIntegerType
    constantsTouched: []
    func_position:
      end: 3572
      start: 3569
    functionDepth: 1
    functionLinenumber: 3569
    functionLinenumberEnd: 3572
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename BasicJsonType::number_integer_t>
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3579,1
    - Dst: static_cast<underlying_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - e
    argTypes:
    - BasicJsonType
    - EnumType
    constantsTouched: []
    func_position:
      end: 3580
      start: 3576
    functionDepth: 1
    functionLinenumber: 3576
    functionLinenumberEnd: 3580
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<underlying_type>
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, EnumType e) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    constantsTouched: []
    func_position:
      end: 3586
      start: 3583
    functionDepth: 1
    functionLinenumber: 3583
    functionLinenumberEnd: 3586
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::vector<bool>& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    constantsTouched: []
    func_position:
      end: 3599
      start: 3596
    functionDepth: 1
    functionLinenumber: 3596
    functionLinenumberEnd: 3599
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3605,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:3605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    constantsTouched: []
    func_position:
      end: 3606
      start: 3603
    functionDepth: 1
    functionLinenumber: 3603
    functionLinenumberEnd: 3606
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3611,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:3611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    constantsTouched: []
    func_position:
      end: 3612
      start: 3609
    functionDepth: 1
    functionLinenumber: 3609
    functionLinenumberEnd: 3612
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    constantsTouched: []
    func_position:
      end: 3619
      start: 3616
    functionDepth: 1
    functionLinenumber: 3616
    functionLinenumberEnd: 3619
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3624,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:3624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    constantsTouched: []
    func_position:
      end: 3625
      start: 3622
    functionDepth: 1
    functionLinenumber: 3622
    functionLinenumberEnd: 3625
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:3634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    constantsTouched: []
    func_position:
      end: 3635
      start: 3632
    functionDepth: 1
    functionLinenumber: 3632
    functionLinenumberEnd: 3635
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T(&arr)[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<Args...>
    constantsTouched: []
    func_position:
      end: 3641
      start: 3638
    functionDepth: 0
    functionLinenumber: 3638
    functionLinenumberEnd: 3641
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::pair<Args...>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/cryptofuzz/third_party/json/json.hpp:3648,1
    - Dst: value
      Src: /src/cryptofuzz/third_party/json/json.hpp:3648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - T
    constantsTouched: []
    func_position:
      end: 3649
      start: 3646
    functionDepth: 1
    functionLinenumber: 3646
    functionLinenumberEnd: 3649
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - value
    - key
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<Idx>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - Tuple
    constantsTouched: []
    func_position:
      end: 3655
      start: 3652
    functionDepth: 0
    functionLinenumber: 3652
    functionLinenumberEnd: 3655
    functionName: nlohmann::detail::to_json_tuple_impl
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::get<Idx>
    linkageType: ''
    returnType: void
    signature: void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::to_json_tuple_impl
      Src: /src/cryptofuzz/third_party/json/json.hpp:3660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - std::tuple<Args...>
    constantsTouched: []
    func_position:
      end: 3661
      start: 3658
    functionDepth: 1
    functionLinenumber: 3658
    functionLinenumberEnd: 3661
    functionName: nlohmann::detail::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::to_json_tuple_impl
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::tuple<Args...>& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/cryptofuzz/third_party/json/json.hpp:3666,1
    - Dst: to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:3666,1
    - Dst: std::forward<T>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3666,1
    - Dst: to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:3667,1
    - Dst: std::forward<T>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3667,1
    - Dst: to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:3669,1
    - Dst: std::forward<T>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    constantsTouched: []
    func_position:
      end: 3670
      start: 3666
    functionDepth: 0
    functionLinenumber: 3666
    functionLinenumberEnd: 3670
    functionName: "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - to_json
    - std::forward<T>
    linkageType: ''
    returnType: auto
    signature: "auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/cryptofuzz/third_party/json/json.hpp:3699,1
    - Dst: nlohmann::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:3699,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3699,1
    - Dst: nlohmann::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:3700,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3700,1
    - Dst: nlohmann::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:3702,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ValueType
    constantsTouched: []
    func_position:
      end: 3703
      start: 3698
    functionDepth: 1
    functionLinenumber: 3698
    functionLinenumberEnd: 3703
    functionName: nlohmann::from_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - noexcept
    - std::forward<BasicJsonType>
    - nlohmann::from_json
    linkageType: ''
    returnType: auto
    signature: "auto from_json(BasicJsonType&& j, ValueType& val) noexcept(\n        noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val)))\n    -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val), void())"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/cryptofuzz/third_party/json/json.hpp:3716,1
    - Dst: nlohmann::to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:3716,1
    - Dst: std::forward<ValueType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3716,1
    - Dst: nlohmann::to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:3717,1
    - Dst: std::forward<ValueType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3717,1
    - Dst: nlohmann::to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:3719,1
    - Dst: std::forward<ValueType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ValueType
    constantsTouched: []
    func_position:
      end: 3720
      start: 3715
    functionDepth: 1
    functionLinenumber: 3715
    functionLinenumberEnd: 3720
    functionName: nlohmann::to_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - noexcept
    - std::forward<ValueType>
    - nlohmann::to_json
    linkageType: ''
    returnType: auto
    signature: "auto to_json(BasicJsonType& j, ValueType&& val) noexcept(\n        noexcept(::nlohmann::to_json(j,
      std::forward<ValueType>(val))))\n    -> decltype(::nlohmann::to_json(j, std::forward<ValueType>(val)),
      void())"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3796
      start: 3796
    functionDepth: 0
    functionLinenumber: 3796
    functionLinenumberEnd: 3796
    functionName: ~input_adapter_protocol()
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~input_adapter_protocol()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::FILE*
    constantsTouched: []
    func_position:
      end: 3812
      start: 3810
    functionDepth: 0
    functionLinenumber: 3810
    functionLinenumberEnd: 3812
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(std::FILE* f)  noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3815
      start: 3815
    functionDepth: 0
    functionLinenumber: 3815
    functionLinenumberEnd: 3815
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(const file_input_adapter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3816
      start: 3816
    functionDepth: 0
    functionLinenumber: 3816
    functionLinenumberEnd: 3816
    functionName: nlohmann::detail::file_input_adapter::file_input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(file_input_adapter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3817
      start: 3817
    functionDepth: 0
    functionLinenumber: 3817
    functionLinenumberEnd: 3817
    functionName: '& operator=(const file_input_adapter&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter & operator=(const file_input_adapter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3818
      start: 3818
    functionDepth: 0
    functionLinenumber: 3818
    functionLinenumberEnd: 3818
    functionName: '& operator=(file_input_adapter&&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter & operator=(file_input_adapter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3819
      start: 3819
    functionDepth: 0
    functionLinenumber: 3819
    functionLinenumberEnd: 3819
    functionName: ~file_input_adapter() override
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~file_input_adapter() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fgetc
      Src: /src/cryptofuzz/third_party/json/json.hpp:3823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3824
      start: 3821
    functionDepth: 0
    functionLinenumber: 3821
    functionLinenumberEnd: 3824
    functionName: nlohmann::detail::file_input_adapter::get_character
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::fgetc
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character() noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:3848,1
    - Dst: rdstate
      Src: /src/cryptofuzz/third_party/json/json.hpp:3848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3849
      start: 3844
    functionDepth: 1
    functionLinenumber: 3844
    functionLinenumberEnd: 3849
    functionName: ~input_stream_adapter() override
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - rdstate
    - clear
    linkageType: ''
    returnType: void
    signature: void ~input_stream_adapter() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rdbuf
      Src: /src/cryptofuzz/third_party/json/json.hpp:3852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - std::istream
    constantsTouched: []
    func_position:
      end: 3853
      start: 3851
    functionDepth: 0
    functionLinenumber: 3851
    functionLinenumberEnd: 3853
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - rdbuf
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(std::istream& i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3856
      start: 3856
    functionDepth: 0
    functionLinenumber: 3856
    functionLinenumberEnd: 3856
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(const input_stream_adapter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3857
      start: 3857
    functionDepth: 0
    functionLinenumber: 3857
    functionLinenumberEnd: 3857
    functionName: '& operator=(input_stream_adapter&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3858
      start: 3858
    functionDepth: 0
    functionLinenumber: 3858
    functionLinenumberEnd: 3858
    functionName: nlohmann::detail::input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(input_stream_adapter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3859
    functionDepth: 0
    functionLinenumber: 3859
    functionLinenumberEnd: 3859
    functionName: '& operator=(input_stream_adapter&&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sbumpc
      Src: /src/cryptofuzz/third_party/json/json.hpp:3866,1
    - Dst: clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:3870,1
    - Dst: rdstate
      Src: /src/cryptofuzz/third_party/json/json.hpp:3870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3873
      start: 3864
    functionDepth: 1
    functionLinenumber: 3864
    functionLinenumberEnd: 3873
    functionName: nlohmann::detail::input_stream_adapter::get_character
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - rdstate
    - clear
    - sbumpc
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - l
    argTypes:
    - b
    constantsTouched: []
    func_position:
      end: 3888
      start: 3885
    functionDepth: 0
    functionLinenumber: 3885
    functionLinenumberEnd: 3888
    functionName: "(2)\n    input_buffer_adapter(const char* b, const std::size_t
      l) noexcept\n        : cursor(b), limit(b + l)"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    input_buffer_adapter(const char* b,
      const std::size_t l) noexcept\n        : cursor(b), limit(b + l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3891
    functionDepth: 0
    functionLinenumber: 3891
    functionLinenumberEnd: 3891
    functionName: nlohmann::detail::input_buffer_adapter::input_buffer_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_buffer_adapter(const input_buffer_adapter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3892
      start: 3892
    functionDepth: 0
    functionLinenumber: 3892
    functionLinenumberEnd: 3892
    functionName: '& operator=(input_buffer_adapter&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_buffer_adapter
    signature: input_buffer_adapter & operator=(input_buffer_adapter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3893
      start: 3893
    functionDepth: 0
    functionLinenumber: 3893
    functionLinenumberEnd: 3893
    functionName: nlohmann::detail::input_buffer_adapter::input_buffer_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_buffer_adapter(input_buffer_adapter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3894
      start: 3894
    functionDepth: 0
    functionLinenumber: 3894
    functionLinenumberEnd: 3894
    functionName: '& operator=(input_buffer_adapter&&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_buffer_adapter
    signature: input_buffer_adapter & operator=(input_buffer_adapter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3895
      start: 3895
    functionDepth: 0
    functionLinenumber: 3895
    functionLinenumberEnd: 3895
    functionName: ~input_buffer_adapter() override
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~input_buffer_adapter() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:3899,1
    - Dst: std::char_traits<char>::to_int_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:3901,1
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:3904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3905
      start: 3897
    functionDepth: 0
    functionLinenumber: 3897
    functionLinenumberEnd: 3905
    functionName: nlohmann::detail::input_buffer_adapter::get_character
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::char_traits<char>::eof
    - JSON_HEDLEY_LIKELY
    - std::char_traits<char>::to_int_type
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character() noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:3926,1
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:3928,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3934,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3939,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3944,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3945,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3950,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3951,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3952,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3957,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3958,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3959,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3960,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3966,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - ' str'
    - ' current_wchar'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - WideStringType
    - size_t
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 3970
      start: 3918
    functionDepth: 0
    functionLinenumber: 3918
    functionLinenumberEnd: 3970
    functionName: nlohmann::detail::fill_buffer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::char_traits<char>::eof
    - nlohmann::detail::size
    - static_cast<unsigned int>
    - static_cast<std::char_traits<char>::int_type>
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(const WideStringType& str,\n                            size_t&
      current_wchar,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:3985,1
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:3987,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3993,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:3998,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4003,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4004,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4009,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4010,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4011,1
    - Dst: nlohmann::detail::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:4016,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4018,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4020,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4021,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4022,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4023,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 5
    argNames:
    - ' str'
    - ' current_wchar'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - WideStringType
    - size_t
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 4035
      start: 3977
    functionDepth: 0
    functionLinenumber: 3977
    functionLinenumberEnd: 4035
    functionName: nlohmann::detail::fill_buffer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::char_traits<char>::eof
    - nlohmann::detail::size
    - static_cast<unsigned int>
    - static_cast<std::char_traits<char>::int_type>
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(const WideStringType& str,\n                            size_t&
      current_wchar,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' w'
    argTypes:
    - WideStringType
    constantsTouched: []
    func_position:
      end: 4044
      start: 4042
    functionDepth: 0
    functionLinenumber: 4042
    functionLinenumberEnd: 4044
    functionName: nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wide_string_input_adapter(const WideStringType& w) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::wide_string_input_adapter::fill_buffer
      Src: /src/cryptofuzz/third_party/json/json.hpp:4051,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4053,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4054,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4058,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4061
      start: 4046
    functionDepth: 1
    functionLinenumber: 4046
    functionLinenumberEnd: 4061
    functionName: nlohmann::detail::wide_string_input_adapter::get_character
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - nlohmann::detail::wide_string_input_adapter::fill_buffer
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character() noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/cryptofuzz/third_party/json/json.hpp:4067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 4065
    functionDepth: 1
    functionLinenumber: 4065
    functionLinenumberEnd: 4068
    functionName: nlohmann::detail::wide_string_input_adapter::fill_buffer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::fill_buffer
    linkageType: ''
    returnType: void
    signature: void fill_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4091
      start: 4089
    functionDepth: 0
    functionLinenumber: 4089
    functionLinenumberEnd: 4091
    functionName: "(2)\n    input_adapter(std::FILE* file)\n        : ia(std::make_shared<file_input_adapter>(file))"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    input_adapter(std::FILE* file)\n        :
      ia(std::make_shared<file_input_adapter>(file))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<input_stream_adapter>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - std::istream
    constantsTouched: []
    func_position:
      end: 4094
      start: 4093
    functionDepth: 0
    functionLinenumber: 4093
    functionLinenumberEnd: 4094
    functionName: nlohmann::detail::input_adapter::input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<input_stream_adapter>
    linkageType: ''
    returnType: void
    signature: void input_adapter(std::istream& i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<input_stream_adapter>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - std::istream
    constantsTouched: []
    func_position:
      end: 4098
      start: 4097
    functionDepth: 0
    functionLinenumber: 4097
    functionLinenumberEnd: 4098
    functionName: nlohmann::detail::input_adapter::input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<input_stream_adapter>
    linkageType: ''
    returnType: void
    signature: void input_adapter(std::istream&& i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<wide_string_input_adapter<std::wstring>>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - std::wstring
    constantsTouched: []
    func_position:
      end: 4101
      start: 4100
    functionDepth: 0
    functionLinenumber: 4100
    functionLinenumberEnd: 4101
    functionName: nlohmann::detail::input_adapter::input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<wide_string_input_adapter<std::wstring>>
    linkageType: ''
    returnType: void
    signature: void input_adapter(const std::wstring& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<wide_string_input_adapter<std::u16string>>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - std::u16string
    constantsTouched: []
    func_position:
      end: 4104
      start: 4103
    functionDepth: 0
    functionLinenumber: 4103
    functionLinenumberEnd: 4104
    functionName: nlohmann::detail::input_adapter::input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<wide_string_input_adapter<std::u16string>>
    linkageType: ''
    returnType: void
    signature: void input_adapter(const std::u16string& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<wide_string_input_adapter<std::u32string>>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - std::u32string
    constantsTouched: []
    func_position:
      end: 4107
      start: 4106
    functionDepth: 0
    functionLinenumber: 4106
    functionLinenumberEnd: 4107
    functionName: nlohmann::detail::input_adapter::input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<wide_string_input_adapter<std::u32string>>
    linkageType: ''
    returnType: void
    signature: void input_adapter(const std::u32string& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<input_buffer_adapter>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4117,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - CharT
    - std::size_t
    constantsTouched: []
    func_position:
      end: 4117
      start: 4116
    functionDepth: 0
    functionLinenumber: 4116
    functionLinenumberEnd: 4117
    functionName: nlohmann::detail::input_adapter::input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - std::make_shared<input_buffer_adapter>
    linkageType: ''
    returnType: void
    signature: void input_adapter(CharT b, std::size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4129,1
    - Dst: std::strlen
      Src: /src/cryptofuzz/third_party/json/json.hpp:4130,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - CharT
    constantsTouched: []
    func_position:
      end: 4130
      start: 4128
    functionDepth: 0
    functionLinenumber: 4128
    functionLinenumberEnd: 4130
    functionName: nlohmann::detail::input_adapter::input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::strlen
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void input_adapter(CharT b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/cryptofuzz/third_party/json/json.hpp:4142,1
    - Dst: std::pair<bool, int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4143,1
    - Dst: std::next
      Src: /src/cryptofuzz/third_party/json/json.hpp:4146,1
    - Dst: std::addressof
      Src: /src/cryptofuzz/third_party/json/json.hpp:4146,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4149,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4157,1
    - Dst: std::distance
      Src: /src/cryptofuzz/third_party/json/json.hpp:4157,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:4158,1
    - Dst: std::make_shared<input_buffer_adapter>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4161,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4161,1
    - Dst: std::make_shared<input_buffer_adapter>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    constantsTouched: []
    func_position:
      end: 4168
      start: 4137
    functionDepth: 0
    functionLinenumber: 4137
    functionLinenumberEnd: 4168
    functionName: nlohmann::detail::input_adapter::input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - std::pair<bool, int>
    - static_cast<size_t>
    - assert
    - std::next
    - std::accumulate
    - std::make_shared<input_buffer_adapter>
    - std::addressof
    - JSON_HEDLEY_LIKELY
    - std::distance
    linkageType: ''
    returnType: void
    signature: void input_adapter(IteratorType first, IteratorType last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:4173,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:4173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - (array)
    argTypes:
    - T[]
    constantsTouched: []
    func_position:
      end: 4173
      start: 4172
    functionDepth: 0
    functionLinenumber: 4172
    functionLinenumberEnd: 4173
    functionName: nlohmann::detail::input_adapter::input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void input_adapter(T (&array)[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:4181,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:4181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - ContiguousContainer
    constantsTouched: []
    func_position:
      end: 4181
      start: 4180
    functionDepth: 0
    functionLinenumber: 4180
    functionLinenumberEnd: 4181
    functionName: nlohmann::detail::input_adapter::input_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void input_adapter(const ContiguousContainer& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4186
      start: 4183
    functionDepth: 0
    functionLinenumber: 4183
    functionLinenumberEnd: 4186
    functionName: operator input_adapter_t()
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator input_adapter_t()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4322
      start: 4322
    functionDepth: 0
    functionLinenumber: 4322
    functionLinenumberEnd: 4322
    functionName: ~json_sax()
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - BasicJsonType
    constantsTouched: []
    func_position:
      end: 4357
      start: 4355
    functionDepth: 0
    functionLinenumber: 4355
    functionLinenumberEnd: 4357
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_
      = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4360
      start: 4360
    functionDepth: 0
    functionLinenumber: 4360
    functionLinenumberEnd: 4360
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(const json_sax_dom_parser&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4361
      start: 4361
    functionDepth: 0
    functionLinenumber: 4361
    functionLinenumberEnd: 4361
    functionName: nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(json_sax_dom_parser&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4362
      start: 4362
    functionDepth: 0
    functionLinenumber: 4362
    functionLinenumberEnd: 4362
    functionName: '& operator=(const json_sax_dom_parser&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_parser
    signature: json_sax_dom_parser & operator=(const json_sax_dom_parser&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4363
      start: 4363
    functionDepth: 0
    functionLinenumber: 4363
    functionLinenumberEnd: 4363
    functionName: '& operator=(json_sax_dom_parser&&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_parser
    signature: json_sax_dom_parser & operator=(json_sax_dom_parser&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4364
      start: 4364
    functionDepth: 0
    functionLinenumber: 4364
    functionLinenumberEnd: 4364
    functionName: ~json_sax_dom_parser()
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_parser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4370
      start: 4366
    functionDepth: 0
    functionLinenumber: 4366
    functionLinenumberEnd: 4370
    functionName: nlohmann::detail::json_sax_dom_parser::null
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 4376
      start: 4372
    functionDepth: 0
    functionLinenumber: 4372
    functionLinenumberEnd: 4376
    functionName: nlohmann::detail::json_sax_dom_parser::boolean
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    constantsTouched: []
    func_position:
      end: 4382
      start: 4378
    functionDepth: 0
    functionLinenumber: 4378
    functionLinenumberEnd: 4382
    functionName: nlohmann::detail::json_sax_dom_parser::number_integer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    constantsTouched: []
    func_position:
      end: 4388
      start: 4384
    functionDepth: 0
    functionLinenumber: 4384
    functionLinenumberEnd: 4388
    functionName: nlohmann::detail::json_sax_dom_parser::number_unsigned
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    constantsTouched: []
    func_position:
      end: 4394
      start: 4390
    functionDepth: 0
    functionLinenumber: 4390
    functionLinenumberEnd: 4394
    functionName: nlohmann::detail::json_sax_dom_parser::number_float
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    constantsTouched: []
    func_position:
      end: 4400
      start: 4396
    functionDepth: 0
    functionLinenumber: 4396
    functionLinenumberEnd: 4400
    functionName: nlohmann::detail::json_sax_dom_parser::string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4404,1
    - Dst: handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4404,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:4406,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:4406,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4406,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4408,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:4408,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:4409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 4413
      start: 4402
    functionDepth: 1
    functionLinenumber: 4402
    functionLinenumberEnd: 4413
    functionName: nlohmann::detail::json_sax_dom_parser::start_object
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::size_t
    - std::to_string
    - handle_value
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::out_of_range::create
    - back
    - JSON_THROW
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4418,1
    - Dst: object
      Src: /src/cryptofuzz/third_party/json/json.hpp:4418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    constantsTouched: []
    func_position:
      end: 4420
      start: 4415
    functionDepth: 0
    functionLinenumber: 4415
    functionLinenumberEnd: 4420
    functionName: nlohmann::detail::json_sax_dom_parser::key
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - object
    - back
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4426
      start: 4422
    functionDepth: 0
    functionLinenumber: 4422
    functionLinenumberEnd: 4426
    functionName: nlohmann::detail::json_sax_dom_parser::end_object
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4430,1
    - Dst: handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4430,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:4432,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:4432,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4432,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4434,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:4434,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:4435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 4439
      start: 4428
    functionDepth: 1
    functionLinenumber: 4428
    functionLinenumberEnd: 4439
    functionName: nlohmann::detail::json_sax_dom_parser::start_array
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 6
    functionsReached:
    - std::size_t
    - std::to_string
    - handle_value
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::out_of_range::create
    - back
    - JSON_THROW
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4445
      start: 4441
    functionDepth: 0
    functionLinenumber: 4441
    functionLinenumberEnd: 4445
    functionName: nlohmann::detail::json_sax_dom_parser::end_array
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4457,1
    - Dst: static_cast<const detail::parse_error*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4457,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4459,1
    - Dst: static_cast<const detail::out_of_range*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4459,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4462,1
    - Dst: static_cast<const detail::invalid_iterator*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4462,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4464,1
    - Dst: static_cast<const detail::type_error*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4464,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4466,1
    - Dst: static_cast<const detail::other_error*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4466,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - detail::exception
    constantsTouched: []
    func_position:
      end: 4473
      start: 4447
    functionDepth: 0
    functionLinenumber: 4447
    functionLinenumberEnd: 4473
    functionName: nlohmann::detail::json_sax_dom_parser::parse_error
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<const detail::type_error*>
    - static_cast<const detail::parse_error*>
    - static_cast<const detail::invalid_iterator*>
    - static_cast<const detail::out_of_range*>
    - JSON_THROW
    - static_cast<const detail::other_error*>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const detail::exception& ex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4478
      start: 4475
    functionDepth: 0
    functionLinenumber: 4475
    functionLinenumberEnd: 4478
    functionName: nlohmann::detail::json_sax_dom_parser::is_errored
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:4491,1
    - Dst: BasicJsonType
      Src: /src/cryptofuzz/third_party/json/json.hpp:4493,1
    - Dst: std::forward<Value>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4493,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4497,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4497,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4497,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4499,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4501,1
    - Dst: array::emplace_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4501,1
    - Dst: std::forward<Value>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4501,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4502,1
    - Dst: array::back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4502,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4505,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4505,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4506,1
    - Dst: BasicJsonType
      Src: /src/cryptofuzz/third_party/json/json.hpp:4507,1
    - Dst: std::forward<Value>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4509
      start: 4488
    functionDepth: 1
    functionLinenumber: 4488
    functionLinenumberEnd: 4509
    functionName: BasicJsonType* handle_value(Value&& v)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - array::emplace_back
    - empty
    - std::forward<Value>
    - assert
    - BasicJsonType
    - array::back
    - back
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL BasicJsonType* handle_value(Value&& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - cb
    argTypes:
    - BasicJsonType
    - parser_callback_t
    constantsTouched: []
    func_position:
      end: 4540
      start: 4534
    functionDepth: 1
    functionLinenumber: 4534
    functionLinenumberEnd: 4540
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: "void json_sax_dom_callback_parser(BasicJsonType& r,\n                                 const
      parser_callback_t cb,\n                                 const bool allow_exceptions_
      = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4543
      start: 4543
    functionDepth: 0
    functionLinenumber: 4543
    functionLinenumberEnd: 4543
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_callback_parser(const json_sax_dom_callback_parser&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4544
      start: 4544
    functionDepth: 0
    functionLinenumber: 4544
    functionLinenumberEnd: 4544
    functionName: nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_callback_parser(json_sax_dom_callback_parser&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4545
      start: 4545
    functionDepth: 0
    functionLinenumber: 4545
    functionLinenumberEnd: 4545
    functionName: '& operator=(const json_sax_dom_callback_parser&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_callback_parser
    signature: json_sax_dom_callback_parser & operator=(const json_sax_dom_callback_parser&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4546
      start: 4546
    functionDepth: 0
    functionLinenumber: 4546
    functionLinenumberEnd: 4546
    functionName: '& operator=(json_sax_dom_callback_parser&&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_callback_parser
    signature: json_sax_dom_callback_parser & operator=(json_sax_dom_callback_parser&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4547
      start: 4547
    functionDepth: 0
    functionLinenumber: 4547
    functionLinenumberEnd: 4547
    functionName: ~json_sax_dom_callback_parser()
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_callback_parser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4553
      start: 4549
    functionDepth: 1
    functionLinenumber: 4549
    functionLinenumberEnd: 4553
    functionName: nlohmann::detail::json_sax_dom_callback_parser::null
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 4559
      start: 4555
    functionDepth: 1
    functionLinenumber: 4555
    functionLinenumberEnd: 4559
    functionName: nlohmann::detail::json_sax_dom_callback_parser::boolean
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    constantsTouched: []
    func_position:
      end: 4565
      start: 4561
    functionDepth: 1
    functionLinenumber: 4561
    functionLinenumberEnd: 4565
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_integer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    constantsTouched: []
    func_position:
      end: 4571
      start: 4567
    functionDepth: 1
    functionLinenumber: 4567
    functionLinenumberEnd: 4571
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_unsigned
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    constantsTouched: []
    func_position:
      end: 4577
      start: 4573
    functionDepth: 1
    functionLinenumber: 4573
    functionLinenumberEnd: 4577
    functionName: nlohmann::detail::json_sax_dom_callback_parser::number_float
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    constantsTouched: []
    func_position:
      end: 4583
      start: 4579
    functionDepth: 1
    functionLinenumber: 4579
    functionLinenumberEnd: 4583
    functionName: nlohmann::detail::json_sax_dom_callback_parser::string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4589,1
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4591,1
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4592,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4595,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:4595,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:4595,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4595,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4597,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:4597,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:4597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 4601
      start: 4585
    functionDepth: 1
    functionLinenumber: 4585
    functionLinenumberEnd: 4601
    functionName: nlohmann::detail::json_sax_dom_callback_parser::start_object
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - back
    - std::size_t
    - std::to_string
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::out_of_range::create
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - JSON_THROW
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType
      Src: /src/cryptofuzz/third_party/json/json.hpp:4605,1
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4609,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4612,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4614,1
    - Dst: object
      Src: /src/cryptofuzz/third_party/json/json.hpp:4614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    constantsTouched: []
    func_position:
      end: 4618
      start: 4603
    functionDepth: 1
    functionLinenumber: 4603
    functionLinenumberEnd: 4618
    functionName: nlohmann::detail::json_sax_dom_callback_parser::key
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - BasicJsonType
    - object
    - back
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4622,1
    - Dst: callback
      Src: /src/cryptofuzz/third_party/json/json.hpp:4622,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4622,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:4622,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4622,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4625,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4628,1
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:4628,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4629,1
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:4629,1
    - Dst: pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4630,1
    - Dst: pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4631,1
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:4633,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4633,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4633,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4636,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4636,1
    - Dst: auto::is_discarded
      Src: /src/cryptofuzz/third_party/json/json.hpp:4638,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4647
      start: 4620
    functionDepth: 1
    functionLinenumber: 4620
    functionLinenumberEnd: 4647
    functionName: nlohmann::detail::json_sax_dom_callback_parser::end_object
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - pop_back
    - assert
    - empty
    - callback
    - static_cast<int>
    - size
    - auto::is_discarded
    - back
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4652,1
    - Dst: nlohmann::detail::json_sax_dom_callback_parser::handle_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:4654,1
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4655,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4658,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:4658,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:4658,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4658,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4660,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:4660,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:4660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 4664
      start: 4649
    functionDepth: 1
    functionLinenumber: 4649
    functionLinenumberEnd: 4664
    functionName: nlohmann::detail::json_sax_dom_callback_parser::start_array
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - back
    - std::size_t
    - std::to_string
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::out_of_range::create
    - nlohmann::detail::json_sax_dom_callback_parser::handle_value
    - JSON_THROW
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4670,1
    - Dst: callback
      Src: /src/cryptofuzz/third_party/json/json.hpp:4672,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4672,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:4672,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4672,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4676,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4680,1
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:4680,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4681,1
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:4681,1
    - Dst: pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4682,1
    - Dst: pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4683,1
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:4686,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4686,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4688,1
    - Dst: array::pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4692
      start: 4666
    functionDepth: 1
    functionLinenumber: 4666
    functionLinenumberEnd: 4692
    functionName: nlohmann::detail::json_sax_dom_callback_parser::end_array
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - array::pop_back
    - pop_back
    - assert
    - empty
    - callback
    - static_cast<int>
    - size
    - back
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4704,1
    - Dst: static_cast<const detail::parse_error*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4704,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4706,1
    - Dst: static_cast<const detail::out_of_range*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4706,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4709,1
    - Dst: static_cast<const detail::invalid_iterator*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4709,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4711,1
    - Dst: static_cast<const detail::type_error*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4711,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:4713,1
    - Dst: static_cast<const detail::other_error*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4713,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - detail::exception
    constantsTouched: []
    func_position:
      end: 4720
      start: 4694
    functionDepth: 0
    functionLinenumber: 4694
    functionLinenumberEnd: 4720
    functionName: nlohmann::detail::json_sax_dom_callback_parser::parse_error
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<const detail::type_error*>
    - static_cast<const detail::parse_error*>
    - static_cast<const detail::invalid_iterator*>
    - static_cast<const detail::out_of_range*>
    - JSON_THROW
    - static_cast<const detail::other_error*>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const detail::exception& ex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4725
      start: 4722
    functionDepth: 0
    functionLinenumber: 4722
    functionLinenumberEnd: 4725
    functionName: nlohmann::detail::json_sax_dom_callback_parser::is_errored
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4746,1
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:4746,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4750,1
    - Dst: BasicJsonType
      Src: /src/cryptofuzz/third_party/json/json.hpp:4756,1
    - Dst: std::forward<Value>
      Src: /src/cryptofuzz/third_party/json/json.hpp:4756,1
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:4767,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:4769,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4775,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4781,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4781,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4781,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4784,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4786,1
    - Dst: array::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4786,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:4786,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4787,1
    - Dst: array::back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4787,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4791,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4791,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4793,1
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:4793,1
    - Dst: pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:4795,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:4802,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:4803,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Value
    constantsTouched: []
    func_position:
      end: 4805
      start: 4744
    functionDepth: 1
    functionLinenumber: 4744
    functionLinenumberEnd: 4805
    functionName: nlohmann::detail::json_sax_dom_callback_parser::handle_value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 8
    functionsReached:
    - std::move
    - pop_back
    - empty
    - assert
    - std::forward<Value>
    - BasicJsonType
    - array::back
    - back
    - array::push_back
    linkageType: ''
    returnType: std::pair<bool, BasicJsonType*>
    signature: std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool
      skip_callback = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4839
      start: 4836
    functionDepth: 0
    functionLinenumber: 4836
    functionLinenumberEnd: 4839
    functionName: nlohmann::detail::json_sax_acceptor::null
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4844
      start: 4841
    functionDepth: 0
    functionLinenumber: 4841
    functionLinenumberEnd: 4844
    functionName: nlohmann::detail::json_sax_acceptor::boolean
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4849
      start: 4846
    functionDepth: 0
    functionLinenumber: 4846
    functionLinenumberEnd: 4849
    functionName: nlohmann::detail::json_sax_acceptor::number_integer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4854
      start: 4851
    functionDepth: 0
    functionLinenumber: 4851
    functionLinenumberEnd: 4854
    functionName: nlohmann::detail::json_sax_acceptor::number_unsigned
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4859
      start: 4856
    functionDepth: 0
    functionLinenumber: 4856
    functionLinenumberEnd: 4859
    functionName: nlohmann::detail::json_sax_acceptor::number_float
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t /*unused*/, const string_t& /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4864
      start: 4861
    functionDepth: 0
    functionLinenumber: 4861
    functionLinenumberEnd: 4864
    functionName: nlohmann::detail::json_sax_acceptor::string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:4866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4869
      start: 4866
    functionDepth: 0
    functionLinenumber: 4866
    functionLinenumberEnd: 4869
    functionName: nlohmann::detail::json_sax_acceptor::start_object
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::size_t
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t  /*unused*/ = std::size_t(-1))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4874
      start: 4871
    functionDepth: 0
    functionLinenumber: 4871
    functionLinenumberEnd: 4874
    functionName: nlohmann::detail::json_sax_acceptor::key
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4879
      start: 4876
    functionDepth: 0
    functionLinenumber: 4876
    functionLinenumberEnd: 4879
    functionName: nlohmann::detail::json_sax_acceptor::end_object
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:4881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4884
      start: 4881
    functionDepth: 0
    functionLinenumber: 4881
    functionLinenumberEnd: 4884
    functionName: nlohmann::detail::json_sax_acceptor::start_array
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::size_t
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t  /*unused*/ = std::size_t(-1))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4889
      start: 4886
    functionDepth: 0
    functionLinenumber: 4886
    functionLinenumberEnd: 4889
    functionName: nlohmann::detail::json_sax_acceptor::end_array
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4894
      start: 4891
    functionDepth: 0
    functionLinenumber: 4891
    functionLinenumberEnd: 4894
    functionName: nlohmann::detail::json_sax_acceptor::parse_error
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
      const detail::exception& /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:5077,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:5080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - input_adapter_t
    constantsTouched: []
    func_position:
      end: 5081
      start: 5077
    functionDepth: 0
    functionLinenumber: 5077
    functionLinenumberEnd: 5081
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: void binary_reader(input_adapter_t adapter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5084
      start: 5084
    functionDepth: 0
    functionLinenumber: 5084
    functionLinenumberEnd: 5084
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_reader(const binary_reader&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5085
      start: 5085
    functionDepth: 0
    functionLinenumber: 5085
    functionLinenumberEnd: 5085
    functionName: nlohmann::detail::binary_reader::binary_reader
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_reader(binary_reader&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5086
      start: 5086
    functionDepth: 0
    functionLinenumber: 5086
    functionLinenumberEnd: 5086
    functionName: '& operator=(const binary_reader&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: binary_reader
    signature: binary_reader & operator=(const binary_reader&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5087
      start: 5087
    functionDepth: 0
    functionLinenumber: 5087
    functionLinenumberEnd: 5087
    functionName: '& operator=(binary_reader&&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: binary_reader
    signature: binary_reader & operator=(binary_reader&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5088
      start: 5088
    functionDepth: 0
    functionLinenumber: 5088
    functionLinenumberEnd: 5088
    functionName: ~binary_reader()
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~binary_reader()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_bson_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:5108,1
    - Dst: parse_cbor_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:5112,1
    - Dst: parse_msgpack_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:5116,1
    - Dst: parse_ubjson_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:5120,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:5124,1
    - Dst: get_ignore_noop
      Src: /src/cryptofuzz/third_party/json/json.hpp:5132,1
    - Dst: nlohmann::detail::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:5136,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5139,1
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:5139,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:5141,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5141,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:5142,1
    - Dst: exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:5142,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - format
    - sax_
    argTypes:
    - input_format_t
    - json_sax_t*
    constantsTouched: []
    func_position:
      end: 5147
      start: 5097
    functionDepth: 2
    functionLinenumber: 5097
    functionLinenumberEnd: 5147
    functionName: "(3)\n    bool sax_parse(const input_format_t format,\n                   json_sax_t*
      sax_,\n                   const bool strict = true)"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::char_traits<char>::eof
    - get_token_string
    - exception_message
    - assert
    - parse_ubjson_internal
    - JSON_HEDLEY_UNLIKELY
    - parse_error
    - parse_msgpack_internal
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::get
    - get_ignore_noop
    - parse_cbor_internal
    - parse_bson_internal
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    bool sax_parse(const input_format_t
      format,\n                   json_sax_t* sax_,\n                   const bool
      strict = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5159
      start: 5156
    functionDepth: 0
    functionLinenumber: 5156
    functionLinenumberEnd: 5159
    functionName: nlohmann::detail::binary_reader::little_endianess
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: bool
    signature: bool little_endianess(int num = 1) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5173,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5175,1
    - Dst: start_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:5175,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:5175,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5180,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_list
      Src: /src/cryptofuzz/third_party/json/json.hpp:5180,1
    - Dst: end_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:5185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5186
      start: 5170
    functionDepth: 1
    functionLinenumber: 5170
    functionLinenumberEnd: 5186
    functionName: nlohmann::detail::binary_reader::parse_bson_internal
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_reader::parse_bson_element_list
    - std::size_t
    - nlohmann::detail::binary_reader::get_number
    - start_object
    - end_object
    - JSON_HEDLEY_UNLIKELY
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_internal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/third_party/json/json.hpp:5197,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:5200,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5201,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:5201,1
    - Dst: static_cast<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    constantsTouched: []
    func_position:
      end: 5213
      start: 5195
    functionDepth: 0
    functionLinenumber: 5195
    functionLinenumberEnd: 5213
    functionName: nlohmann::detail::binary_reader::get_bson_cstr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get
    - unexpect_eof
    - static_cast<char>
    linkageType: ''
    returnType: bool
    signature: bool get_bson_cstr(string_t& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5229,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5231,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:5232,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:5232,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:5232,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5232,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5235,1
    - Dst: static_cast<NumberType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5235,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:5235,1
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:5235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - len
    - ' result'
    argTypes:
    - NumberType
    - string_t
    constantsTouched: []
    func_position:
      end: 5236
      start: 5227
    functionDepth: 2
    functionLinenumber: 5227
    functionLinenumberEnd: 5236
    functionName: nlohmann::detail::binary_reader::get_bson_string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - nlohmann::detail::binary_reader::get_string
    - std::char_traits<char>::eof
    - parse_error
    - nlohmann::detail::binary_reader::get_token_string
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get
    - static_cast<NumberType>
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: bool
    signature: bool get_bson_string(const NumberType len, string_t& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5256,1
    - Dst: number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:5256,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5256,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5263,1
    - Dst: nlohmann::detail::binary_reader::get_bson_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5263,1
    - Dst: string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5263,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:5268,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:5273,1
    - Dst: boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:5278,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:5278,1
    - Dst: 'null'
      Src: /src/cryptofuzz/third_party/json/json.hpp:5283,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5289,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:5289,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5295,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:5295,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/third_party/json/json.hpp:5301,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:5301,1
    - Dst: static_cast<unsigned char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5301,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:5302,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5302,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/third_party/json/json.hpp:5302,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:5302,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5302,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/third_party/json/json.hpp:5302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 2
    argNames:
    - element_type
    - element_type_parse_position
    argTypes:
    - int
    - std::size_t
    constantsTouched: []
    func_position:
      end: 5305
      start: 5248
    functionDepth: 3
    functionLinenumber: 5248
    functionLinenumberEnd: 5305
    functionName: nlohmann::detail::binary_reader::parse_bson_element_internal
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - static_cast<number_float_t>
    - nlohmann::detail::binary_reader::get_number
    - static_cast<unsigned char>
    - number_integer
    - parse_error
    - nlohmann::detail::binary_reader::get_bson_string
    - number_float
    - nlohmann::detail::binary_reader::parse_bson_array
    - 'null'
    - std::array::size
    - std::string
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::parse_bson_internal
    - string
    - boolean
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: bool
    signature: "bool parse_bson_element_internal(const int element_type,\n                                     const
      std::size_t element_type_parse_position)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5324,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:5324,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5330,1
    - Dst: nlohmann::detail::binary_reader::get_bson_cstr
      Src: /src/cryptofuzz/third_party/json/json.hpp:5330,1
    - Dst: key
      Src: /src/cryptofuzz/third_party/json/json.hpp:5335,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5340,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:5340,1
    - Dst: string_t::clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:5346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - is_array
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 5350
      start: 5319
    functionDepth: 4
    functionLinenumber: 5319
    functionLinenumberEnd: 5350
    functionName: nlohmann::detail::binary_reader::parse_bson_element_list
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - string_t::clear
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::parse_bson_element_internal
    - key
    - unexpect_eof
    - nlohmann::detail::binary_reader::get_bson_cstr
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_element_list(const bool is_array)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5359,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5361,1
    - Dst: start_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:5361,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:5361,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5366,1
    - Dst: nlohmann::detail::binary_reader::parse_bson_element_list
      Src: /src/cryptofuzz/third_party/json/json.hpp:5366,1
    - Dst: end_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:5371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5372
      start: 5356
    functionDepth: 5
    functionLinenumber: 5356
    functionLinenumberEnd: 5372
    functionName: nlohmann::detail::binary_reader::parse_bson_array
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_reader::parse_bson_element_list
    - start_array
    - std::size_t
    - end_array
    - nlohmann::detail::binary_reader::get_number
    - JSON_HEDLEY_UNLIKELY
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_array()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:5387,1
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:5390,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:5391,1
    - Dst: number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:5418,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5418,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5423,1
    - Dst: number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:5423,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5429,1
    - Dst: number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:5429,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5435,1
    - Dst: number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:5435,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5441,1
    - Dst: number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:5441,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:5469,1
    - Dst: static_cast<std::int8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5469,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5474,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:5474,1
    - Dst: static_cast<number_integer_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5474,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5480,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:5480,1
    - Dst: static_cast<number_integer_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5480,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5486,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:5486,1
    - Dst: static_cast<number_integer_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5486,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5492,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:5492,1
    - Dst: static_cast<number_integer_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5492,1
    - Dst: static_cast<number_integer_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5493,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5528,1
    - Dst: string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5528,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:5556,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5556,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5556,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5561,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:5561,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5561,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5567,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:5567,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5567,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5573,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:5573,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5573,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5579,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:5579,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5579,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:5583,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:5583,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:5610,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5610,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5610,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5615,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:5615,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5615,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5621,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:5621,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5621,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5627,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:5627,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5627,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5633,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:5633,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5633,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:5637,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:5637,1
    - Dst: boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:5640,1
    - Dst: boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:5643,1
    - Dst: 'null'
      Src: /src/cryptofuzz/third_party/json/json.hpp:5646,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5651,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:5651,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5656,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:5656,1
    - Dst: static_cast<unsigned char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5661,1
    - Dst: static_cast<unsigned char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5662,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5672,1
    - Dst: number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:5691,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5692,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5693,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5699,1
    - Dst: number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:5699,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5699,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5705,1
    - Dst: number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:5705,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5705,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5710,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:5711,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:5711,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:5711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 223
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5714
      start: 5385
    functionDepth: 2
    functionLinenumber: 5385
    functionLinenumberEnd: 5714
    functionName: nlohmann::detail::binary_reader::parse_cbor_internal
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<number_unsigned_t>
    - JSON_HEDLEY_UNLIKELY
    - 'null'
    - nlohmann::detail::binary_reader::get_cbor_array
    - static_cast<number_float_t>
    - static_cast<unsigned char>
    - parse_error
    - static_cast<number_integer_t>
    - unexpect_eof
    - string
    - static_cast<std::int8_t>
    - std::char_traits<char>::eof
    - static_cast<std::size_t>
    - nlohmann::detail::binary_reader::get_token_string
    - number_unsigned
    - number_float
    - nlohmann::detail::binary_reader::get_cbor_string
    - static_cast<unsigned int>
    - nlohmann::detail::parse_error::create
    - std::size_t
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_cbor_object
    - number_integer
    - nlohmann::detail::binary_reader::get
    - boolean
    - nlohmann::detail::binary_reader::exception_message
    linkageType: ''
    returnType: bool
    signature: bool parse_cbor_internal(const bool get_char = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5729,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:5729,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5762,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:5762,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5768,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5768,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5774,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5774,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5780,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5780,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:5786,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5786,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:5791,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5794,1
    - Dst: append
      Src: /src/cryptofuzz/third_party/json/json.hpp:5798,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5805,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:5806,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:5806,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:5806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 56
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    constantsTouched: []
    func_position:
      end: 5809
      start: 5727
    functionDepth: 2
    functionLinenumber: 5727
    functionLinenumberEnd: 5809
    functionName: nlohmann::detail::binary_reader::get_cbor_string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - append
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_cbor_string
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::get_token_string
    - JSON_HEDLEY_UNLIKELY
    - parse_error
    - nlohmann::detail::binary_reader::get
    - unexpect_eof
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_string(string_t& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5818,1
    - Dst: start_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:5818,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:5823,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5827,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:5827,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:5835,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5837,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:5837,1
    - Dst: end_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:5844,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 5845
      start: 5816
    functionDepth: 3
    functionLinenumber: 5816
    functionLinenumberEnd: 5845
    functionName: nlohmann::detail::binary_reader::get_cbor_array
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - start_array
    - std::size_t
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get
    - nlohmann::detail::binary_reader::parse_cbor_internal
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_array(const std::size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5854,1
    - Dst: start_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:5854,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:5860,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:5864,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5865,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5865,1
    - Dst: key
      Src: /src/cryptofuzz/third_party/json/json.hpp:5865,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5870,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:5870,1
    - Dst: string_t::clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:5874,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:5879,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5881,1
    - Dst: nlohmann::detail::binary_reader::get_cbor_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:5881,1
    - Dst: key
      Src: /src/cryptofuzz/third_party/json/json.hpp:5881,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:5886,1
    - Dst: nlohmann::detail::binary_reader::parse_cbor_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:5886,1
    - Dst: string_t::clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:5890,1
    - Dst: end_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:5894,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 5895
      start: 5852
    functionDepth: 3
    functionLinenumber: 5852
    functionLinenumberEnd: 5895
    functionName: nlohmann::detail::binary_reader::get_cbor_object
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - string_t::clear
    - std::size_t
    - start_object
    - end_object
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get
    - key
    - nlohmann::detail::binary_reader::get_cbor_string
    - nlohmann::detail::binary_reader::parse_cbor_internal
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_object(const std::size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:5906,1
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:5909,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:5910,1
    - Dst: number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:6041,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6041,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:6060,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6060,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6060,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:6079,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6079,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6079,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6119,1
    - Dst: string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6119,1
    - Dst: 'null'
      Src: /src/cryptofuzz/third_party/json/json.hpp:6123,1
    - Dst: boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:6126,1
    - Dst: boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:6129,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6134,1
    - Dst: number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:6134,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6134,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6140,1
    - Dst: number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:6140,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6140,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6146,1
    - Dst: number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:6146,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6152,1
    - Dst: number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:6152,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6158,1
    - Dst: number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:6158,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6164,1
    - Dst: number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:6164,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6170,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:6170,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6176,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:6176,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6182,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:6182,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6188,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:6188,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6194,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:6194,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6194,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6200,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:6200,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6200,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6206,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:6206,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6206,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6212,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:6212,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6212,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:6248,1
    - Dst: static_cast<std::int8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6248,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6252,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:6253,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:6253,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:6253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 289
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6256
      start: 5904
    functionDepth: 2
    functionLinenumber: 5904
    functionLinenumberEnd: 6256
    functionName: nlohmann::detail::binary_reader::parse_msgpack_internal
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<number_unsigned_t>
    - nlohmann::detail::binary_reader::get_msgpack_string
    - 'null'
    - nlohmann::detail::binary_reader::get_msgpack_array
    - static_cast<number_float_t>
    - parse_error
    - unexpect_eof
    - string
    - static_cast<std::int8_t>
    - std::char_traits<char>::eof
    - static_cast<std::size_t>
    - nlohmann::detail::binary_reader::get_token_string
    - number_unsigned
    - number_float
    - nlohmann::detail::binary_reader::get_msgpack_object
    - static_cast<unsigned int>
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_number
    - number_integer
    - nlohmann::detail::binary_reader::get
    - boolean
    - nlohmann::detail::binary_reader::exception_message
    linkageType: ''
    returnType: bool
    signature: bool parse_msgpack_internal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6270,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:6270,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6311,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6311,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6317,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6317,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6323,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6323,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6329,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6329,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6334,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:6335,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:6335,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:6335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    constantsTouched: []
    func_position:
      end: 6338
      start: 6268
    functionDepth: 2
    functionLinenumber: 6268
    functionLinenumberEnd: 6338
    functionName: nlohmann::detail::binary_reader::get_msgpack_string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::get_number
    - static_cast<unsigned int>
    - nlohmann::detail::binary_reader::get_token_string
    - JSON_HEDLEY_UNLIKELY
    - parse_error
    - unexpect_eof
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_string(string_t& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6346,1
    - Dst: start_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:6346,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6353,1
    - Dst: nlohmann::detail::binary_reader::parse_msgpack_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:6353,1
    - Dst: end_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:6359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 6360
      start: 6344
    functionDepth: 3
    functionLinenumber: 6344
    functionLinenumberEnd: 6360
    functionName: nlohmann::detail::binary_reader::get_msgpack_array
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_reader::parse_msgpack_internal
    - start_array
    - end_array
    - JSON_HEDLEY_UNLIKELY
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_array(const std::size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6368,1
    - Dst: start_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:6368,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:6376,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6377,1
    - Dst: nlohmann::detail::binary_reader::get_msgpack_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6377,1
    - Dst: key
      Src: /src/cryptofuzz/third_party/json/json.hpp:6377,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6382,1
    - Dst: nlohmann::detail::binary_reader::parse_msgpack_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:6382,1
    - Dst: string_t::clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:6386,1
    - Dst: end_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:6389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 6390
      start: 6366
    functionDepth: 3
    functionLinenumber: 6366
    functionLinenumberEnd: 6390
    functionName: nlohmann::detail::binary_reader::get_msgpack_object
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_reader::parse_msgpack_internal
    - string_t::clear
    - start_object
    - nlohmann::detail::binary_reader::get_msgpack_string
    - end_object
    - JSON_HEDLEY_UNLIKELY
    - key
    - nlohmann::detail::binary_reader::get
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_object(const std::size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:6405,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/cryptofuzz/third_party/json/json.hpp:6405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6406
      start: 6403
    functionDepth: 1
    functionLinenumber: 6403
    functionLinenumberEnd: 6406
    functionName: nlohmann::detail::binary_reader::parse_ubjson_internal
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_value
    linkageType: ''
    returnType: bool
    signature: bool parse_ubjson_internal(const bool get_char = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:6426,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6429,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:6429,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6439,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6439,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6445,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6445,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6451,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6451,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6457,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6457,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6463,1
    - Dst: nlohmann::detail::binary_reader::get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6463,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6467,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:6468,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:6468,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:6468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    constantsTouched: []
    func_position:
      end: 6470
      start: 6422
    functionDepth: 2
    functionLinenumber: 6422
    functionLinenumberEnd: 6470
    functionName: nlohmann::detail::binary_reader::get_ubjson_string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_reader::get_number
    - nlohmann::detail::binary_reader::get_string
    - nlohmann::detail::binary_reader::get_token_string
    - JSON_HEDLEY_UNLIKELY
    - parse_error
    - nlohmann::detail::binary_reader::get
    - unexpect_eof
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_string(string_t& result, const bool get_char = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/cryptofuzz/third_party/json/json.hpp:6478,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6483,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6483,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6487,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6494,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6494,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6498,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6505,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6505,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6509,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6516,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6516,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6520,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6527,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6527,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6531,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6537,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:6538,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:6538,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:6538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 6541
      start: 6476
    functionDepth: 2
    functionLinenumber: 6476
    functionLinenumberEnd: 6541
    functionName: nlohmann::detail::binary_reader::get_ubjson_size_value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_reader::get_number
    - static_cast<std::size_t>
    - nlohmann::detail::binary_reader::get_token_string
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ignore_noop
    - parse_error
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_size_value(std::size_t& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/cryptofuzz/third_party/json/json.hpp:6558,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:6562,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6563,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:6563,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/cryptofuzz/third_party/json/json.hpp:6568,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6569,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6571,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:6571,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6575,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:6576,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:6576,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:6576,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:6579,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:6584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::pair<std::size_t, int>
    constantsTouched: []
    func_position:
      end: 6588
      start: 6553
    functionDepth: 3
    functionLinenumber: 6553
    functionLinenumberEnd: 6588
    functionName: nlohmann::detail::binary_reader::get_ubjson_size_type
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_reader::get_token_string
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ignore_noop
    - parse_error
    - nlohmann::detail::binary_reader::get_ubjson_size_value
    - nlohmann::detail::binary_reader::get
    - unexpect_eof
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_size_type(std::pair<std::size_t, int>& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:6598,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:6599,1
    - Dst: boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:6602,1
    - Dst: boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:6604,1
    - Dst: 'null'
      Src: /src/cryptofuzz/third_party/json/json.hpp:6607,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6612,1
    - Dst: number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:6612,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6618,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:6618,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6624,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:6624,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6630,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:6630,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6636,1
    - Dst: number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:6636,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6642,1
    - Dst: number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:6642,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6642,1
    - Dst: nlohmann::detail::binary_reader::get_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:6648,1
    - Dst: number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:6648,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6648,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:6653,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6654,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:6654,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6658,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6660,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:6661,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:6661,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:6661,1
    - Dst: static_cast<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6663,1
    - Dst: string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6664,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6670,1
    - Dst: string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6670,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:6674,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:6677,1
    - Dst: nlohmann::detail::binary_reader::get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6681,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:6682,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:6682,1
    - Dst: nlohmann::detail::binary_reader::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:6682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6685
      start: 6594
    functionDepth: 3
    functionLinenumber: 6594
    functionLinenumberEnd: 6685
    functionName: nlohmann::detail::binary_reader::get_ubjson_value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - 'null'
    - static_cast<char>
    - static_cast<number_float_t>
    - parse_error
    - nlohmann::detail::binary_reader::get_ubjson_array
    - unexpect_eof
    - string
    - std::char_traits<char>::eof
    - nlohmann::detail::binary_reader::get_ubjson_object
    - nlohmann::detail::binary_reader::get_token_string
    - number_unsigned
    - number_float
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::binary_reader::get_number
    - number_integer
    - nlohmann::detail::binary_reader::get
    - boolean
    - nlohmann::detail::binary_reader::exception_message
    - nlohmann::detail::binary_reader::get_ubjson_string
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_value(const int prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6693,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:6693,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6700,1
    - Dst: start_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:6700,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6711,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:6711,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6722,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:6722,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6731,1
    - Dst: start_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:6731,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:6731,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6738,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:6738,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/cryptofuzz/third_party/json/json.hpp:6742,1
    - Dst: end_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:6746,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6747
      start: 6690
    functionDepth: 4
    functionLinenumber: 6690
    functionLinenumberEnd: 6747
    functionName: nlohmann::detail::binary_reader::get_ubjson_array
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - start_array
    - std::size_t
    - end_array
    - nlohmann::detail::binary_reader::parse_ubjson_internal
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ignore_noop
    - nlohmann::detail::binary_reader::get_ubjson_size_type
    - nlohmann::detail::binary_reader::get_ubjson_value
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_array()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6755,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_size_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:6755,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6763,1
    - Dst: start_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:6763,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6772,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6772,1
    - Dst: key
      Src: /src/cryptofuzz/third_party/json/json.hpp:6772,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6776,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:6776,1
    - Dst: string_t::clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:6780,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6787,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6787,1
    - Dst: key
      Src: /src/cryptofuzz/third_party/json/json.hpp:6787,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6791,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:6791,1
    - Dst: string_t::clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:6795,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6801,1
    - Dst: start_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:6801,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:6801,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6808,1
    - Dst: nlohmann::detail::binary_reader::get_ubjson_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:6808,1
    - Dst: key
      Src: /src/cryptofuzz/third_party/json/json.hpp:6808,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6812,1
    - Dst: nlohmann::detail::binary_reader::parse_ubjson_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:6812,1
    - Dst: nlohmann::detail::binary_reader::get_ignore_noop
      Src: /src/cryptofuzz/third_party/json/json.hpp:6816,1
    - Dst: string_t::clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:6817,1
    - Dst: end_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:6821,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6822
      start: 6752
    functionDepth: 4
    functionLinenumber: 6752
    functionLinenumberEnd: 6822
    functionName: nlohmann::detail::binary_reader::get_ubjson_object
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - string_t::clear
    - std::size_t
    - nlohmann::detail::binary_reader::get_ubjson_value
    - start_object
    - nlohmann::detail::binary_reader::parse_ubjson_internal
    - end_object
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get_ignore_noop
    - key
    - nlohmann::detail::binary_reader::get_ubjson_size_type
    - nlohmann::detail::binary_reader::get_ubjson_string
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:6840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6841
      start: 6837
    functionDepth: 0
    functionLinenumber: 6837
    functionLinenumberEnd: 6841
    functionName: nlohmann::detail::binary_reader::get
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 12
    functionsReached:
    - get_character
    linkageType: ''
    returnType: int
    signature: int get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:6850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6855
      start: 6846
    functionDepth: 0
    functionLinenumber: 6846
    functionLinenumberEnd: 6855
    functionName: nlohmann::detail::binary_reader::get_ignore_noop
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 5
    functionsReached:
    - nlohmann::detail::binary_reader::get
    linkageType: ''
    returnType: int
    signature: int get_ignore_noop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:6877,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6878,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:6878,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6886,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6890,1
    - Dst: std::memcpy
      Src: /src/cryptofuzz/third_party/json/json.hpp:6895,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/third_party/json/json.hpp:6895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - format
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    constantsTouched: []
    func_position:
      end: 6897
      start: 6871
    functionDepth: 1
    functionLinenumber: 6871
    functionLinenumberEnd: 6897
    functionName: nlohmann::detail::binary_reader::get_number
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 10
    functionsReached:
    - std::array::data
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get
    - std::memcpy
    - unexpect_eof
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool get_number(const input_format_t format, NumberType& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::generate_n
      Src: /src/cryptofuzz/third_party/json/json.hpp:6919,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/third_party/json/json.hpp:6919,1
    - Dst: nlohmann::detail::binary_reader::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:6921,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6922,1
    - Dst: unexpect_eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:6922,1
    - Dst: static_cast<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - format
    - len
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    - string_t
    constantsTouched: []
    func_position:
      end: 6929
      start: 6914
    functionDepth: 0
    functionLinenumber: 6914
    functionLinenumberEnd: 6929
    functionName: nlohmann::detail::binary_reader::get_string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 4
    functionsReached:
    - std::generate_n
    - std::back_inserter
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::binary_reader::get
    - unexpect_eof
    - static_cast<char>
    linkageType: ''
    returnType: bool
    signature: "bool get_string(const input_format_t format,\n                    const
      NumberType len,\n                    string_t& result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:6939,1
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:6939,1
    - Dst: parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:6941,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:6942,1
    - Dst: exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:6942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - format
    - context
    argTypes:
    - input_format_t
    - char*
    constantsTouched: []
    func_position:
      end: 6945
      start: 6936
    functionDepth: 2
    functionLinenumber: 6936
    functionLinenumberEnd: 6945
    functionName: "(3)\n    bool unexpect_eof(const input_format_t format, const char*
      context) const"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::char_traits<char>::eof
    - exception_message
    - parse_error
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    bool unexpect_eof(const input_format_t
      format, const char* context) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/cryptofuzz/third_party/json/json.hpp:6953,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:6953,1
    - Dst: static_cast<unsigned char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:6953,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/third_party/json/json.hpp:6954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6955
      start: 6950
    functionDepth: 1
    functionLinenumber: 6950
    functionLinenumberEnd: 6955
    functionName: nlohmann::detail::binary_reader::get_token_string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 9
    functionsReached:
    - static_cast<unsigned char>
    - std::array::size
    - std::array::data
    linkageType: ''
    returnType: std::string
    signature: std::string get_token_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:6988,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - format
    - ' detail'
    - ' context'
    argTypes:
    - input_format_t
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 6992
      start: 6963
    functionDepth: 0
    functionLinenumber: 6963
    functionLinenumberEnd: 6992
    functionName: nlohmann::detail::binary_reader::exception_message
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 9
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: "std::string exception_message(const input_format_t format,\n                                  const
      std::string& detail,\n                                  const std::string& context)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - t
    argTypes:
    - token_type
    constantsTouched: []
    func_position:
      end: 7123
      start: 7082
    functionDepth: 0
    functionLinenumber: 7082
    functionLinenumberEnd: 7123
    functionName: nlohmann::detail::lexer::token_type_name
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * token_type_name(const token_type t) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:7126,1
    - Dst: nlohmann::detail::lexer::get_decimal_point
      Src: /src/cryptofuzz/third_party/json/json.hpp:7126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - detail::input_adapter_t
    constantsTouched: []
    func_position:
      end: 7126
      start: 7125
    functionDepth: 1
    functionLinenumber: 7125
    functionLinenumberEnd: 7126
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::lexer::get_decimal_point
    linkageType: ''
    returnType: void
    signature: void lexer(detail::input_adapter_t&& adapter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7129
      start: 7129
    functionDepth: 0
    functionLinenumber: 7129
    functionLinenumberEnd: 7129
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lexer(const lexer&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7130
      start: 7130
    functionDepth: 0
    functionLinenumber: 7130
    functionLinenumberEnd: 7130
    functionName: nlohmann::detail::lexer::lexer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lexer(lexer&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7131
      start: 7131
    functionDepth: 0
    functionLinenumber: 7131
    functionLinenumberEnd: 7131
    functionName: '& operator=(lexer&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lexer
    signature: lexer & operator=(lexer&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7132
      start: 7132
    functionDepth: 0
    functionLinenumber: 7132
    functionLinenumberEnd: 7132
    functionName: '& operator=(lexer&&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lexer
    signature: lexer & operator=(lexer&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7133
      start: 7133
    functionDepth: 0
    functionLinenumber: 7133
    functionLinenumberEnd: 7133
    functionName: ~lexer()
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~lexer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/cryptofuzz/third_party/json/json.hpp:7144,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:7145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7147
      start: 7141
    functionDepth: 0
    functionLinenumber: 7141
    functionLinenumberEnd: 7147
    functionName: nlohmann::detail::lexer::get_decimal_point
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - localeconv
    - assert
    linkageType: ''
    returnType: JSON_HEDLEY_PURE
    signature: JSON_HEDLEY_PURE get_decimal_point() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:7171,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:7177,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7181,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7181,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7185,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7185,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7189,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7189,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:7197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7199
      start: 7168
    functionDepth: 0
    functionLinenumber: 7168
    functionLinenumberEnd: 7199
    functionName: nlohmann::detail::lexer::get_codepoint
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<unsigned int>
    - nlohmann::detail::lexer::get
    - assert
    linkageType: ''
    returnType: int
    signature: int get_codepoint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:7218,1
    - Dst: std::initializer_list<int>::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:7218,1
    - Dst: std::initializer_list<int>::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:7218,1
    - Dst: std::initializer_list<int>::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:7218,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7219,1
    - Dst: std::initializer_list<int>::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:7221,1
    - Dst: std::initializer_list<int>::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:7221,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:7223,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7224,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - std::initializer_list<int>
    constantsTouched: []
    func_position:
      end: 7236
      start: 7216
    functionDepth: 1
    functionLinenumber: 7216
    functionLinenumberEnd: 7236
    functionName: nlohmann::detail::lexer::next_byte_in_range
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::initializer_list<int>::begin
    - std::initializer_list<int>::end
    - nlohmann::detail::lexer::add
    - nlohmann::detail::lexer::get
    - assert
    - std::initializer_list<int>::size
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: bool
    signature: bool next_byte_in_range(std::initializer_list<int> ranges)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::lexer::reset
      Src: /src/cryptofuzz/third_party/json/json.hpp:7256,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:7259,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:7264,1
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:7267,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:7282,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7286,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7290,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7294,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7298,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7302,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7306,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7310,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7314,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7323,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7333,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:7333,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:7333,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7337,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7344,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7347,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7349,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7351,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7371,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:7379,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7385,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7390,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7390,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7390,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7391,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7391,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7391,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7396,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7396,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7396,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7397,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7397,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7397,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7398,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7398,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7398,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7403,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7403,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7403,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7404,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7404,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7404,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7405,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7405,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7405,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7406,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7406,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:7406,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7710,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7746,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/cryptofuzz/third_party/json/json.hpp:7746,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7756,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/cryptofuzz/third_party/json/json.hpp:7756,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7780,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/cryptofuzz/third_party/json/json.hpp:7780,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7790,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/cryptofuzz/third_party/json/json.hpp:7790,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7800,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/cryptofuzz/third_party/json/json.hpp:7800,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7812,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/cryptofuzz/third_party/json/json.hpp:7812,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:7822,1
    - Dst: nlohmann::detail::lexer::next_byte_in_range
      Src: /src/cryptofuzz/third_party/json/json.hpp:7822,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 408
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7837
      start: 7253
    functionDepth: 2
    functionLinenumber: 7253
    functionLinenumberEnd: 7837
    functionName: nlohmann::detail::lexer::scan_string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::lexer::next_byte_in_range
    - std::char_traits<char>::eof
    - nlohmann::detail::lexer::get
    - nlohmann::detail::lexer::add
    - assert
    - JSON_HEDLEY_UNLIKELY
    - static_cast<int>
    - nlohmann::detail::lexer::reset
    - static_cast<unsigned int>
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: token_type
    signature: token_type scan_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::lexer::strtof
      Src: /src/cryptofuzz/third_party/json/json.hpp:7842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - float
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 7843
      start: 7840
    functionDepth: 1
    functionLinenumber: 7840
    functionLinenumberEnd: 7843
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::lexer::strtof
    linkageType: ''
    returnType: void
    signature: void strtof(float& f, const char* str, char** endptr) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::strtod
      Src: /src/cryptofuzz/third_party/json/json.hpp:7848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - double
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 7849
      start: 7846
    functionDepth: 0
    functionLinenumber: 7846
    functionLinenumberEnd: 7849
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - std::strtod
    linkageType: ''
    returnType: void
    signature: void strtof(double& f, const char* str, char** endptr) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::strtold
      Src: /src/cryptofuzz/third_party/json/json.hpp:7854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - long double
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 7855
      start: 7852
    functionDepth: 0
    functionLinenumber: 7852
    functionLinenumberEnd: 7855
    functionName: nlohmann::detail::lexer::strtof
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - std::strtold
    linkageType: ''
    returnType: void
    signature: void strtof(long double& f, const char* str, char** endptr) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::lexer::reset
      Src: /src/cryptofuzz/third_party/json/json.hpp:7900,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7911,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7917,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7931,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:7937,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:7943,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7947,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7961,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:7974,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7978,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:7985,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:7995,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:8008,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:8014,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:8021,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:8032,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:8045,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:8058,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:8071,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:8078,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:8089,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:8094,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:8109,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:8123,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:8136,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:8149,1
    - Dst: nlohmann::detail::lexer::add
      Src: /src/cryptofuzz/third_party/json/json.hpp:8162,1
    - Dst: nlohmann::detail::lexer::unget
      Src: /src/cryptofuzz/third_party/json/json.hpp:8173,1
    - Dst: std::strtoull
      Src: /src/cryptofuzz/third_party/json/json.hpp:8181,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:8181,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:8184,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:8184,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:8184,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:8188,1
    - Dst: std::strtoll
      Src: /src/cryptofuzz/third_party/json/json.hpp:8197,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:8197,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:8200,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:8200,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:8200,1
    - Dst: static_cast<number_integer_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:8204,1
    - Dst: nlohmann::detail::lexer::strtof
      Src: /src/cryptofuzz/third_party/json/json.hpp:8214,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:8214,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:8217,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:8217,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:8217,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 253
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8220
      start: 7897
    functionDepth: 2
    functionLinenumber: 7897
    functionLinenumberEnd: 8220
    functionName: nlohmann::detail::lexer::scan_number
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<number_unsigned_t>
    - data
    - nlohmann::detail::lexer::add
    - nlohmann::detail::lexer::get
    - assert
    - nlohmann::detail::lexer::strtof
    - std::strtoll
    - nlohmann::detail::lexer::reset
    - nlohmann::detail::lexer::unget
    - size
    - std::strtoull
    - static_cast<number_integer_t>
    linkageType: ''
    returnType: token_type
    signature: token_type scan_number()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:8231,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8234,1
    - Dst: get
      Src: /src/cryptofuzz/third_party/json/json.hpp:8234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - literal_text
    - length
    - return_type
    argTypes:
    - char*
    - std::size_t
    - token_type
    constantsTouched: []
    func_position:
      end: 8241
      start: 8227
    functionDepth: 0
    functionLinenumber: 8227
    functionLinenumberEnd: 8241
    functionName: "(2)\n    token_type scan_literal(const char* literal_text, const
      std::size_t length,\n                            token_type return_type)"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - JSON_HEDLEY_UNLIKELY
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    token_type scan_literal(const char*
      literal_text, const std::size_t length,\n                            token_type
      return_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:8250,1
    - Dst: clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:8251,1
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:8252,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:8252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8253
      start: 8248
    functionDepth: 1
    functionLinenumber: 8248
    functionLinenumberEnd: 8253
    functionName: nlohmann::detail::lexer::reset
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    - clear
    - push_back
    linkageType: ''
    returnType: void
    signature: void reset() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:8277,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8280,1
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:8280,1
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:8282,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:8282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8292
      start: 8265
    functionDepth: 1
    functionLinenumber: 8265
    functionLinenumberEnd: 8292
    functionName: nlohmann::detail::lexer::get
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 4
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    - std::char_traits<char>::eof
    - get_character
    - JSON_HEDLEY_LIKELY
    - push_back
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8321,1
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:8321,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:8323,1
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:8323,1
    - Dst: pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:8324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8326
      start: 8302
    functionDepth: 0
    functionLinenumber: 8302
    functionLinenumberEnd: 8326
    functionName: nlohmann::detail::lexer::unget
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - pop_back
    - std::char_traits<char>::eof
    - empty
    - assert
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: void
    signature: void unget()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:8331,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:8331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 8332
      start: 8329
    functionDepth: 1
    functionLinenumber: 8329
    functionLinenumberEnd: 8332
    functionName: nlohmann::detail::lexer::add
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    - push_back
    linkageType: ''
    returnType: void
    signature: void add(int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8343
      start: 8340
    functionDepth: 0
    functionLinenumber: 8340
    functionLinenumberEnd: 8343
    functionName: nlohmann::detail::lexer::get_number_integer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: number_integer_t
    signature: number_integer_t get_number_integer() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8349
      start: 8346
    functionDepth: 0
    functionLinenumber: 8346
    functionLinenumberEnd: 8349
    functionName: nlohmann::detail::lexer::get_number_unsigned
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t get_number_unsigned() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8355
      start: 8352
    functionDepth: 0
    functionLinenumber: 8352
    functionLinenumberEnd: 8355
    functionName: nlohmann::detail::lexer::get_number_float
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: number_float_t
    signature: number_float_t get_number_float() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8361
      start: 8358
    functionDepth: 0
    functionLinenumber: 8358
    functionLinenumberEnd: 8361
    functionName: '& get_string()'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string_t
    signature: string_t & get_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8371
      start: 8368
    functionDepth: 0
    functionLinenumber: 8368
    functionLinenumberEnd: 8371
    functionName: nlohmann::detail::lexer::get_position
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: position_t
    signature: position_t get_position() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/cryptofuzz/third_party/json/json.hpp:8386,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:8386,1
    - Dst: static_cast<unsigned char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:8386,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/third_party/json/json.hpp:8387,1
    - Dst: std::string::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:8392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8397
      start: 8376
    functionDepth: 1
    functionLinenumber: 8376
    functionLinenumberEnd: 8397
    functionName: nlohmann::detail::lexer::get_token_string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - std::array::size
    - std::array::data
    - std::string::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string get_token_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8404
      start: 8400
    functionDepth: 0
    functionLinenumber: 8400
    functionLinenumberEnd: 8404
    functionName: nlohmann::detail::lexer::get_error_message
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL * get_error_message() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:8416,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:8419,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:8419,1
    - Dst: nlohmann::detail::lexer::unget
      Src: /src/cryptofuzz/third_party/json/json.hpp:8424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8426
      start: 8414
    functionDepth: 1
    functionLinenumber: 8414
    functionLinenumberEnd: 8426
    functionName: nlohmann::detail::lexer::skip_bom
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::lexer::get
    - nlohmann::detail::lexer::unget
    linkageType: ''
    returnType: bool
    signature: bool skip_bom()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::lexer::skip_bom
      Src: /src/cryptofuzz/third_party/json/json.hpp:8431,1
    - Dst: nlohmann::detail::lexer::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:8440,1
    - Dst: scan_literal
      Src: /src/cryptofuzz/third_party/json/json.hpp:8462,1
    - Dst: scan_literal
      Src: /src/cryptofuzz/third_party/json/json.hpp:8464,1
    - Dst: scan_literal
      Src: /src/cryptofuzz/third_party/json/json.hpp:8466,1
    - Dst: nlohmann::detail::lexer::scan_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8470,1
    - Dst: nlohmann::detail::lexer::scan_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:8484,1
    - Dst: std::char_traits<char>::eof
      Src: /src/cryptofuzz/third_party/json/json.hpp:8489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8497
      start: 8428
    functionDepth: 3
    functionLinenumber: 8428
    functionLinenumberEnd: 8497
    functionName: nlohmann::detail::lexer::scan
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - scan_literal
    - std::char_traits<char>::eof
    - nlohmann::detail::lexer::get
    - nlohmann::detail::lexer::scan_string
    - nlohmann::detail::lexer::skip_bom
    - nlohmann::detail::lexer::scan_number
    linkageType: ''
    returnType: token_type
    signature: token_type scan()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:8605,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - detail::input_adapter_t
    constantsTouched: []
    func_position:
      end: 8609
      start: 8602
    functionDepth: 1
    functionLinenumber: 8602
    functionLinenumberEnd: 8609
    functionName: nlohmann::detail::parser::parser
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - nlohmann::detail::parser::get_token
    linkageType: ''
    returnType: void
    signature: "void parser(detail::input_adapter_t&& adapter,\n                    const
      parser_callback_t cb = nullptr,\n                    const bool allow_exceptions_
      = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::parser::sax_parse_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:8626,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:8627,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8630,1
    - Dst: json_sax_dom_callback_parser::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:8632,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8632,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8633,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:8634,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8634,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:8635,1
    - Dst: json_sax_dom_callback_parser::is_errored
      Src: /src/cryptofuzz/third_party/json/json.hpp:8639,1
    - Dst: is_discarded
      Src: /src/cryptofuzz/third_party/json/json.hpp:8647,1
    - Dst: nlohmann::detail::parser::sax_parse_internal
      Src: /src/cryptofuzz/third_party/json/json.hpp:8655,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:8656,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8659,1
    - Dst: json_sax_dom_parser::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:8661,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8661,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8662,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:8663,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8663,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:8664,1
    - Dst: json_sax_dom_parser::is_errored
      Src: /src/cryptofuzz/third_party/json/json.hpp:8668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - strict
    - ' result'
    argTypes:
    - bool
    - BasicJsonType
    constantsTouched: []
    func_position:
      end: 8674
      start: 8621
    functionDepth: 2
    functionLinenumber: 8621
    functionLinenumberEnd: 8674
    functionName: nlohmann::detail::parser::parse
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    - get_token_string
    - json_sax_dom_callback_parser::parse_error
    - nlohmann::detail::parser::exception_message
    - nlohmann::detail::parser::sax_parse_internal
    - json_sax_dom_parser::is_errored
    - get_position
    - json_sax_dom_callback_parser::is_errored
    - is_discarded
    - nlohmann::detail::parser::get_token
    - json_sax_dom_parser::parse_error
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: void
    signature: void parse(const bool strict, BasicJsonType& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sax_parse
      Src: /src/cryptofuzz/third_party/json/json.hpp:8685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8686
      start: 8682
    functionDepth: 1
    functionLinenumber: 8682
    functionLinenumberEnd: 8686
    functionName: nlohmann::detail::parser::accept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - sax_parse
    linkageType: ''
    returnType: bool
    signature: bool accept(const bool strict = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8696,1
    - Dst: SAX*::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:8698,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8698,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8699,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:8700,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8700,1
    - Dst: exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:8701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sax
    argTypes:
    - SAX*
    constantsTouched: []
    func_position:
      end: 8705
      start: 8689
    functionDepth: 2
    functionLinenumber: 8689
    functionLinenumberEnd: 8705
    functionName: "(2)\n    bool sax_parse(SAX* sax, const bool strict = true)"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - get_token_string
    - SAX*::parse_error
    - get_token
    - exception_message
    - get_position
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    bool sax_parse(SAX* sax, const bool
      strict = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8727,1
    - Dst: SAX*::start_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:8727,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:8727,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8733,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8735,1
    - Dst: SAX*::end_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:8735,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8743,1
    - Dst: SAX*::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:8745,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8745,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8746,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:8747,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8747,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:8748,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8750,1
    - Dst: SAX*::key
      Src: /src/cryptofuzz/third_party/json/json.hpp:8750,1
    - Dst: get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8750,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8756,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8756,1
    - Dst: SAX*::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:8758,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8758,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8759,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:8760,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8760,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:8761,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:8765,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8768,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8774,1
    - Dst: SAX*::start_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:8774,1
    - Dst: std::size_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:8774,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8780,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8782,1
    - Dst: SAX*::end_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:8782,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:8790,1
    - Dst: get_number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:8798,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8800,1
    - Dst: std::isfinite
      Src: /src/cryptofuzz/third_party/json/json.hpp:8800,1
    - Dst: SAX*::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:8802,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8802,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8803,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:8804,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8804,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8807,1
    - Dst: SAX*::number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:8807,1
    - Dst: get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8807,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8817,1
    - Dst: SAX*::boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:8817,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8826,1
    - Dst: SAX*::null
      Src: /src/cryptofuzz/third_party/json/json.hpp:8826,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8835,1
    - Dst: SAX*::boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:8835,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8844,1
    - Dst: SAX*::number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:8844,1
    - Dst: get_number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:8844,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8853,1
    - Dst: SAX*::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8853,1
    - Dst: get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8853,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8862,1
    - Dst: SAX*::number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:8862,1
    - Dst: get_number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:8862,1
    - Dst: SAX*::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:8872,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8872,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8873,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:8874,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8874,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:8875,1
    - Dst: SAX*::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:8880,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8880,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8881,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:8882,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8882,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:8883,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:8893,1
    - Dst: std::vector::back
      Src: /src/cryptofuzz/third_party/json/json.hpp:8899,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8902,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8905,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8910,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8912,1
    - Dst: SAX*::end_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:8912,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:8921,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:8921,1
    - Dst: std::vector::pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:8922,1
    - Dst: SAX*::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:8927,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8927,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8928,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:8929,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8929,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:8930,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8935,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8938,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8938,1
    - Dst: SAX*::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:8940,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8940,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8941,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:8942,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8942,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:8943,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8946,1
    - Dst: SAX*::key
      Src: /src/cryptofuzz/third_party/json/json.hpp:8946,1
    - Dst: get_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8946,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8952,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8952,1
    - Dst: SAX*::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:8954,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8954,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8955,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:8956,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8956,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:8957,1
    - Dst: nlohmann::detail::parser::get_token
      Src: /src/cryptofuzz/third_party/json/json.hpp:8961,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8966,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:8968,1
    - Dst: SAX*::end_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:8968,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:8977,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:8977,1
    - Dst: std::vector::pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:8978,1
    - Dst: SAX*::parse_error
      Src: /src/cryptofuzz/third_party/json/json.hpp:8983,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8983,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:8984,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:8985,1
    - Dst: get_position
      Src: /src/cryptofuzz/third_party/json/json.hpp:8985,1
    - Dst: nlohmann::detail::parser::exception_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:8986,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 139
    argCount: 1
    argNames:
    - sax
    argTypes:
    - SAX*
    constantsTouched: []
    func_position:
      end: 8989
      start: 8710
    functionDepth: 2
    functionLinenumber: 8710
    functionLinenumberEnd: 8989
    functionName: nlohmann::detail::parser::sax_parse_internal
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - get_string
    - SAX*::number_float
    - SAX*::key
    - JSON_HEDLEY_UNLIKELY
    - get_position
    - SAX*::boolean
    - SAX*::end_object
    - std::vector::back
    - std::vector::pop_back
    - get_number_integer
    - SAX*::start_object
    - SAX*::end_array
    - assert
    - nlohmann::detail::parser::exception_message
    - SAX*::start_array
    - SAX*::string
    - std::isfinite
    - get_number_unsigned
    - SAX*::parse_error
    - nlohmann::detail::out_of_range::create
    - std::vector::push_back
    - JSON_HEDLEY_LIKELY
    - nlohmann::detail::parse_error::create
    - std::vector::empty
    - std::size_t
    - get_token_string
    - SAX*::number_integer
    - get_number_float
    - SAX*::null
    - SAX*::number_unsigned
    - nlohmann::detail::parser::get_token
    linkageType: ''
    returnType: bool
    signature: bool sax_parse_internal(SAX* sax)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scan
      Src: /src/cryptofuzz/third_party/json/json.hpp:8994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8995
      start: 8992
    functionDepth: 0
    functionLinenumber: 8992
    functionLinenumberEnd: 8995
    functionName: nlohmann::detail::parser::get_token
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 3
    functionsReached:
    - scan
    linkageType: ''
    returnType: token_type
    signature: token_type get_token()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:9001,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:9010,1
    - Dst: get_error_message
      Src: /src/cryptofuzz/third_party/json/json.hpp:9010,1
    - Dst: get_token_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:9011,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:9015,1
    - Dst: nlohmann::detail::lexer::token_type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:9015,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:9020,1
    - Dst: nlohmann::detail::lexer::token_type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:9020,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - expected
    - ' context'
    argTypes:
    - token_type
    - std::string
    constantsTouched: []
    func_position:
      end: 9024
      start: 8997
    functionDepth: 1
    functionLinenumber: 8997
    functionLinenumberEnd: 9024
    functionName: nlohmann::detail::parser::exception_message
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - get_token_string
    - empty
    - std::string
    - get_error_message
    - nlohmann::detail::lexer::token_type_name
    linkageType: ''
    returnType: std::string
    signature: std::string exception_message(const token_type expected, const std::string&
      context)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9075
      start: 9072
    functionDepth: 0
    functionLinenumber: 9072
    functionLinenumberEnd: 9075
    functionName: nlohmann::detail::primitive_iterator_t::get_value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type get_value() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9081
      start: 9078
    functionDepth: 0
    functionLinenumber: 9078
    functionLinenumberEnd: 9081
    functionName: nlohmann::detail::primitive_iterator_t::set_begin
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_begin() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9087
      start: 9084
    functionDepth: 0
    functionLinenumber: 9084
    functionLinenumberEnd: 9087
    functionName: nlohmann::detail::primitive_iterator_t::set_end
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_end() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9093
      start: 9090
    functionDepth: 0
    functionLinenumber: 9090
    functionLinenumberEnd: 9093
    functionName: nlohmann::detail::primitive_iterator_t::is_begin
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_begin() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9099
      start: 9096
    functionDepth: 0
    functionLinenumber: 9096
    functionLinenumberEnd: 9099
    functionName: nlohmann::detail::primitive_iterator_t::is_end
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_end() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    constantsTouched: []
    func_position:
      end: 9104
      start: 9101
    functionDepth: 0
    functionLinenumber: 9101
    functionLinenumberEnd: 9104
    functionName: operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    constantsTouched: []
    func_position:
      end: 9109
      start: 9106
    functionDepth: 0
    functionLinenumber: 9106
    functionLinenumberEnd: 9109
    functionName: operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    constantsTouched: []
    func_position:
      end: 9116
      start: 9111
    functionDepth: 0
    functionLinenumber: 9111
    functionLinenumberEnd: 9116
    functionName: operator+(difference_type n) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator+(difference_type n) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    constantsTouched: []
    func_position:
      end: 9121
      start: 9118
    functionDepth: 0
    functionLinenumber: 9118
    functionLinenumberEnd: 9121
    functionName: operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t
      rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9127
      start: 9123
    functionDepth: 0
    functionLinenumber: 9123
    functionLinenumberEnd: 9127
    functionName: '& operator++() noexcept'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator++() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9134
      start: 9129
    functionDepth: 0
    functionLinenumber: 9129
    functionLinenumberEnd: 9134
    functionName: operator++(int) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator++(int) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9140
      start: 9136
    functionDepth: 0
    functionLinenumber: 9136
    functionLinenumberEnd: 9140
    functionName: '& operator--() noexcept'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator--() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9147
      start: 9142
    functionDepth: 0
    functionLinenumber: 9142
    functionLinenumberEnd: 9147
    functionName: operator--(int) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator--(int) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    constantsTouched: []
    func_position:
      end: 9153
      start: 9149
    functionDepth: 0
    functionLinenumber: 9149
    functionLinenumberEnd: 9153
    functionName: '& operator+=(difference_type n) noexcept'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator+=(difference_type n) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    constantsTouched: []
    func_position:
      end: 9159
      start: 9155
    functionDepth: 0
    functionLinenumber: 9155
    functionLinenumberEnd: 9159
    functionName: '& operator-=(difference_type n) noexcept'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator-=(difference_type n) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9272
      start: 9272
    functionDepth: 0
    functionLinenumber: 9272
    functionLinenumberEnd: 9272
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9282,1
    - Dst: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:9288,1
    - Dst: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:9294,1
    - Dst: primitive_iterator_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:9300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - object
    argTypes:
    - pointer
    constantsTouched: []
    func_position:
      end: 9304
      start: 9280
    functionDepth: 1
    functionLinenumber: 9280
    functionLinenumberEnd: 9304
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - primitive_iterator_t
    - assert
    - nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    linkageType: ''
    returnType: void
    signature: void iter_impl(pointer object) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<const BasicJsonType>
    constantsTouched: []
    func_position:
      end: 9324
      start: 9322
    functionDepth: 0
    functionLinenumber: 9322
    functionLinenumberEnd: 9324
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(const iter_impl<const BasicJsonType>& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<const BasicJsonType>
    constantsTouched: []
    func_position:
      end: 9337
      start: 9332
    functionDepth: 0
    functionLinenumber: 9332
    functionLinenumberEnd: 9337
    functionName: '& operator=(const iter_impl<const BasicJsonType>& other) noexcept'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(const iter_impl<const BasicJsonType>& other)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<typename std::remove_const<BasicJsonType>::type>
    constantsTouched: []
    func_position:
      end: 9346
      start: 9344
    functionDepth: 0
    functionLinenumber: 9344
    functionLinenumberEnd: 9346
    functionName: nlohmann::detail::iter_impl::iter_impl
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<typename std::remove_const<BasicJsonType>::type>
    constantsTouched: []
    func_position:
      end: 9359
      start: 9354
    functionDepth: 0
    functionLinenumber: 9354
    functionLinenumberEnd: 9359
    functionName: '& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9368,1
    - Dst: m_value::object::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:9374,1
    - Dst: m_value::array::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:9380,1
    - Dst: primitive_iterator::set_end
      Src: /src/cryptofuzz/third_party/json/json.hpp:9387,1
    - Dst: primitive_iterator::set_begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:9393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9397
      start: 9366
    functionDepth: 0
    functionLinenumber: 9366
    functionLinenumberEnd: 9397
    functionName: nlohmann::detail::iter_impl::set_begin
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - primitive_iterator::set_end
    - m_value::array::begin
    - primitive_iterator::set_begin
    - assert
    - m_value::object::begin
    linkageType: ''
    returnType: void
    signature: void set_begin() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9405,1
    - Dst: m_value::object::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:9411,1
    - Dst: m_value::array::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:9417,1
    - Dst: primitive_iterator::set_end
      Src: /src/cryptofuzz/third_party/json/json.hpp:9423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9427
      start: 9403
    functionDepth: 0
    functionLinenumber: 9403
    functionLinenumberEnd: 9427
    functionName: nlohmann::detail::iter_impl::set_end
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::object::end
    - m_value::array::end
    - assert
    - primitive_iterator::set_end
    linkageType: ''
    returnType: void
    signature: void set_end() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9436,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9442,1
    - Dst: m_value::object::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:9442,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9448,1
    - Dst: m_value::array::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:9448,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:9453,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:9453,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:9457,1
    - Dst: primitive_iterator::is_begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:9457,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:9462,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:9462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9465
      start: 9434
    functionDepth: 1
    functionLinenumber: 9434
    functionLinenumberEnd: 9465
    functionName: operator*() const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_LIKELY
    - assert
    - m_value::array::end
    - primitive_iterator::is_begin
    - m_value::object::end
    - JSON_THROW
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9473,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9479,1
    - Dst: m_value::object::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:9479,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9485,1
    - Dst: m_value::array::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:9485,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:9491,1
    - Dst: primitive_iterator::is_begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:9491,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:9496,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:9496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9499
      start: 9471
    functionDepth: 1
    functionLinenumber: 9471
    functionLinenumberEnd: 9499
    functionName: operator->() const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - nlohmann::detail::invalid_iterator::create
    - m_value::array::end
    - primitive_iterator::is_begin
    - m_value::object::end
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9510
      start: 9505
    functionDepth: 0
    functionLinenumber: 9505
    functionLinenumberEnd: 9510
    functionName: operator++(int)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator++(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9518,1
    - Dst: std::advance
      Src: /src/cryptofuzz/third_party/json/json.hpp:9524,1
    - Dst: std::advance
      Src: /src/cryptofuzz/third_party/json/json.hpp:9530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9542
      start: 9516
    functionDepth: 0
    functionLinenumber: 9516
    functionLinenumberEnd: 9542
    functionName: '& operator++()'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - std::advance
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator++()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9553
      start: 9548
    functionDepth: 0
    functionLinenumber: 9548
    functionLinenumberEnd: 9553
    functionName: operator--(int)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator--(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9561,1
    - Dst: std::advance
      Src: /src/cryptofuzz/third_party/json/json.hpp:9567,1
    - Dst: std::advance
      Src: /src/cryptofuzz/third_party/json/json.hpp:9573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9585
      start: 9559
    functionDepth: 0
    functionLinenumber: 9559
    functionLinenumberEnd: 9585
    functionName: '& operator--()'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - std::advance
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator--()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:9594,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:9596,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:9596,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    constantsTouched: []
    func_position:
      end: 9612
      start: 9591
    functionDepth: 1
    functionLinenumber: 9591
    functionLinenumberEnd: 9612
    functionName: operator==(const iter_impl& other) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - JSON_THROW
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_UNLIKELY
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iter_impl& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    constantsTouched: []
    func_position:
      end: 9621
      start: 9618
    functionDepth: 0
    functionLinenumber: 9618
    functionLinenumberEnd: 9621
    functionName: operator!=(const iter_impl& other) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iter_impl& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:9630,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:9632,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:9632,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9635,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:9640,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:9640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    constantsTouched: []
    func_position:
      end: 9648
      start: 9627
    functionDepth: 1
    functionLinenumber: 9627
    functionLinenumberEnd: 9648
    functionName: operator<(const iter_impl& other) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - JSON_THROW
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_UNLIKELY
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iter_impl& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: other
      Src: /src/cryptofuzz/third_party/json/json.hpp:9656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    constantsTouched: []
    func_position:
      end: 9657
      start: 9654
    functionDepth: 0
    functionLinenumber: 9654
    functionLinenumberEnd: 9657
    functionName: operator<=(const iter_impl& other) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - other
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iter_impl& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    constantsTouched: []
    func_position:
      end: 9666
      start: 9663
    functionDepth: 0
    functionLinenumber: 9663
    functionLinenumberEnd: 9666
    functionName: operator>(const iter_impl& other) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iter_impl& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    constantsTouched: []
    func_position:
      end: 9675
      start: 9672
    functionDepth: 0
    functionLinenumber: 9672
    functionLinenumberEnd: 9675
    functionName: operator>=(const iter_impl& other) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iter_impl& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9683,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:9688,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:9688,1
    - Dst: std::advance
      Src: /src/cryptofuzz/third_party/json/json.hpp:9692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    constantsTouched: []
    func_position:
      end: 9704
      start: 9681
    functionDepth: 1
    functionLinenumber: 9681
    functionLinenumberEnd: 9704
    functionName: '& operator+=(difference_type i)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - assert
    - nlohmann::detail::invalid_iterator::create
    - JSON_THROW
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator+=(difference_type i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    constantsTouched: []
    func_position:
      end: 9713
      start: 9710
    functionDepth: 0
    functionLinenumber: 9710
    functionLinenumberEnd: 9713
    functionName: '& operator-=(difference_type i)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator-=(difference_type i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    constantsTouched: []
    func_position:
      end: 9724
      start: 9719
    functionDepth: 0
    functionLinenumber: 9719
    functionLinenumberEnd: 9724
    functionName: operator+(difference_type i) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator+(difference_type i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - ' it'
    argTypes:
    - difference_type
    - iter_impl
    constantsTouched: []
    func_position:
      end: 9735
      start: 9730
    functionDepth: 0
    functionLinenumber: 9730
    functionLinenumberEnd: 9735
    functionName: operator+(difference_type i, const iter_impl& it)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator+(difference_type i, const iter_impl& it)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    constantsTouched: []
    func_position:
      end: 9746
      start: 9741
    functionDepth: 0
    functionLinenumber: 9741
    functionLinenumberEnd: 9746
    functionName: operator-(difference_type i) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator-(difference_type i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9754,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:9759,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:9759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    constantsTouched: []
    func_position:
      end: 9767
      start: 9752
    functionDepth: 1
    functionLinenumber: 9752
    functionLinenumberEnd: 9767
    functionName: operator-(const iter_impl& other) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - nlohmann::detail::invalid_iterator::create
    - JSON_THROW
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iter_impl& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9775,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:9780,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:9780,1
    - Dst: std::next
      Src: /src/cryptofuzz/third_party/json/json.hpp:9783,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:9786,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:9786,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:9790,1
    - Dst: primitive_iterator::get_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:9790,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:9795,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:9795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    constantsTouched: []
    func_position:
      end: 9798
      start: 9773
    functionDepth: 1
    functionLinenumber: 9773
    functionLinenumberEnd: 9798
    functionName: operator[](difference_type n) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - nlohmann::detail::invalid_iterator::create
    - std::next
    - primitive_iterator::get_value
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:9806,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:9808,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:9808,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:9813,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:9813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9814
      start: 9804
    functionDepth: 1
    functionLinenumber: 9804
    functionLinenumberEnd: 9814
    functionName: '& key() const'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_LIKELY
    - assert
    - is_object
    - JSON_THROW
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: typename object_t::key_type
    signature: typename object_t::key_type & key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9823
      start: 9820
    functionDepth: 0
    functionLinenumber: 9820
    functionLinenumberEnd: 9823
    functionName: nlohmann::detail::iter_impl::value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - typename base_iterator::iterator_type
    constantsTouched: []
    func_position:
      end: 9881
      start: 9880
    functionDepth: 0
    functionLinenumber: 9880
    functionLinenumberEnd: 9881
    functionName: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_reverse_iterator(const typename base_iterator::iterator_type&
      it) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - base_iterator
    constantsTouched: []
    func_position:
      end: 9884
      start: 9884
    functionDepth: 0
    functionLinenumber: 9884
    functionLinenumberEnd: 9884
    functionName: nlohmann::detail::json_reverse_iterator::json_reverse_iterator
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_reverse_iterator(const base_iterator& it) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/cryptofuzz/third_party/json/json.hpp:9889,1
    - Dst: base_iterator::operator++
      Src: /src/cryptofuzz/third_party/json/json.hpp:9889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9890
      start: 9887
    functionDepth: 0
    functionLinenumber: 9887
    functionLinenumberEnd: 9890
    functionName: operator++(int)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator++
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator++(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:9895,1
    - Dst: base_iterator::operator++
      Src: /src/cryptofuzz/third_party/json/json.hpp:9895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9896
      start: 9893
    functionDepth: 0
    functionLinenumber: 9893
    functionLinenumberEnd: 9896
    functionName: '& operator++()'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator++
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator++()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/cryptofuzz/third_party/json/json.hpp:9901,1
    - Dst: base_iterator::operator--
      Src: /src/cryptofuzz/third_party/json/json.hpp:9901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9902
      start: 9899
    functionDepth: 0
    functionLinenumber: 9899
    functionLinenumberEnd: 9902
    functionName: operator--(int)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator--
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator--(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:9907,1
    - Dst: base_iterator::operator--
      Src: /src/cryptofuzz/third_party/json/json.hpp:9907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9908
      start: 9905
    functionDepth: 0
    functionLinenumber: 9905
    functionLinenumberEnd: 9908
    functionName: '& operator--()'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator--
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator--()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:9913,1
    - Dst: base_iterator::operator+=
      Src: /src/cryptofuzz/third_party/json/json.hpp:9913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    constantsTouched: []
    func_position:
      end: 9914
      start: 9911
    functionDepth: 0
    functionLinenumber: 9911
    functionLinenumberEnd: 9914
    functionName: '& operator+=(difference_type i)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator+=
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator+=(difference_type i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/cryptofuzz/third_party/json/json.hpp:9919,1
    - Dst: base_iterator::operator+
      Src: /src/cryptofuzz/third_party/json/json.hpp:9919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    constantsTouched: []
    func_position:
      end: 9920
      start: 9917
    functionDepth: 0
    functionLinenumber: 9917
    functionLinenumberEnd: 9920
    functionName: operator+(difference_type i) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator+
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator+(difference_type i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/cryptofuzz/third_party/json/json.hpp:9925,1
    - Dst: base_iterator::operator-
      Src: /src/cryptofuzz/third_party/json/json.hpp:9925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    constantsTouched: []
    func_position:
      end: 9926
      start: 9923
    functionDepth: 0
    functionLinenumber: 9923
    functionLinenumberEnd: 9926
    functionName: operator-(difference_type i) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<json_reverse_iterator>
    - base_iterator::operator-
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator-(difference_type i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:9931,1
    - Dst: base_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:9931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - json_reverse_iterator
    constantsTouched: []
    func_position:
      end: 9932
      start: 9929
    functionDepth: 0
    functionLinenumber: 9929
    functionLinenumberEnd: 9932
    functionName: operator-(const json_reverse_iterator& other) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const json_reverse_iterator& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    constantsTouched: []
    func_position:
      end: 9938
      start: 9935
    functionDepth: 0
    functionLinenumber: 9935
    functionLinenumberEnd: 9938
    functionName: operator[](difference_type n) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<Base>
      Src: /src/cryptofuzz/third_party/json/json.hpp:9941,1
    - Dst: nlohmann::detail::json_reverse_iterator::base
      Src: /src/cryptofuzz/third_party/json/json.hpp:9943,1
    - Dst: auto::key
      Src: /src/cryptofuzz/third_party/json/json.hpp:9944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9945
      start: 9941
    functionDepth: 0
    functionLinenumber: 9941
    functionLinenumberEnd: 9945
    functionName: nlohmann::detail::json_reverse_iterator::key
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::json_reverse_iterator::base
    - auto::key
    - std::declval<Base>
    linkageType: ''
    returnType: auto
    signature: auto key() const -> decltype(std::declval<Base>().key())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::json_reverse_iterator::base
      Src: /src/cryptofuzz/third_party/json/json.hpp:9950,1
    - Dst: it
      Src: /src/cryptofuzz/third_party/json/json.hpp:9951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9952
      start: 9948
    functionDepth: 0
    functionLinenumber: 9948
    functionLinenumberEnd: 9952
    functionName: nlohmann::detail::json_reverse_iterator::value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - it
    - nlohmann::detail::json_reverse_iterator::base
    linkageType: ''
    returnType: reference
    signature: reference value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/cryptofuzz/third_party/json/json.hpp:10009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10010
      start: 10008
    functionDepth: 1
    functionLinenumber: 10008
    functionLinenumberEnd: 10010
    functionName: nlohmann::json_pointer::json_pointer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - split
    linkageType: ''
    returnType: void
    signature: void json_pointer(const std::string& s = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/cryptofuzz/third_party/json/json.hpp:10028,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:10028,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:10028,1
    - Dst: escape
      Src: /src/cryptofuzz/third_party/json/json.hpp:10032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10034
      start: 10026
    functionDepth: 1
    functionLinenumber: 10026
    functionLinenumberEnd: 10034
    functionName: nlohmann::json_pointer::to_string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - end
    - escape
    - std::accumulate
    - begin
    linkageType: ''
    returnType: std::string
    signature: std::string to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:10039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10040
      start: 10037
    functionDepth: 0
    functionLinenumber: 10037
    functionLinenumberEnd: 10040
    functionName: operator std::string() const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/cryptofuzz/third_party/json/json.hpp:10060,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:10060,1
    - Dst: reference_tokens::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:10061,1
    - Dst: reference_tokens::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:10062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    constantsTouched: []
    func_position:
      end: 10064
      start: 10058
    functionDepth: 1
    functionLinenumber: 10058
    functionLinenumberEnd: 10064
    functionName: '& operator/=(const json_pointer& ptr)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - reference_tokens::begin
    - reference_tokens::end
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer & operator/=(const json_pointer& ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:10084,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:10084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 10086
      start: 10082
    functionDepth: 1
    functionLinenumber: 10082
    functionLinenumberEnd: 10086
    functionName: '& operator/=(std::string token)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - push_back
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer & operator/=(std::string token)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:10106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array_index
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 10107
      start: 10104
    functionDepth: 0
    functionLinenumber: 10104
    functionLinenumberEnd: 10107
    functionName: '& operator/=(std::size_t array_index)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer & operator/=(std::size_t array_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/cryptofuzz/third_party/json/json.hpp:10127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer
    - json_pointer
    constantsTouched: []
    func_position:
      end: 10128
      start: 10124
    functionDepth: 0
    functionLinenumber: 10124
    functionLinenumberEnd: 10128
    functionName: "operator/(const json_pointer& lhs,\n                                  const
      json_pointer& rhs)"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    linkageType: ''
    returnType: json_pointer
    signature: "json_pointer operator/(const json_pointer& lhs,\n                                  const
      json_pointer& rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/cryptofuzz/third_party/json/json.hpp:10147,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:10147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ptr'
    - token
    argTypes:
    - json_pointer
    - std::string
    constantsTouched: []
    func_position:
      end: 10148
      start: 10145
    functionDepth: 0
    functionLinenumber: 10145
    functionLinenumberEnd: 10148
    functionName: operator/(const json_pointer& ptr, std::string token)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - json_pointer
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer operator/(const json_pointer& ptr, std::string token)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/cryptofuzz/third_party/json/json.hpp:10167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ptr'
    - array_index
    argTypes:
    - json_pointer
    - std::size_t
    constantsTouched: []
    func_position:
      end: 10168
      start: 10165
    functionDepth: 0
    functionLinenumber: 10165
    functionLinenumberEnd: 10168
    functionName: operator/(const json_pointer& ptr, std::size_t array_index)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer operator/(const json_pointer& ptr, std::size_t array_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:10185,1
    - Dst: json_pointer::pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:10191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10193
      start: 10183
    functionDepth: 0
    functionLinenumber: 10183
    functionLinenumberEnd: 10193
    functionName: nlohmann::json_pointer::parent_pointer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::json_pointer::empty
    - json_pointer::pop_back
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer parent_pointer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10210,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:10210,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10212,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10212,1
    - Dst: nlohmann::json_pointer::pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:10215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10216
      start: 10208
    functionDepth: 1
    functionLinenumber: 10208
    functionLinenumberEnd: 10216
    functionName: nlohmann::json_pointer::pop_back
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::json_pointer::empty
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::out_of_range::create
    - JSON_THROW
    - nlohmann::json_pointer::pop_back
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10234,1
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:10234,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10236,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10236,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:10239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10240
      start: 10232
    functionDepth: 1
    functionLinenumber: 10232
    functionLinenumberEnd: 10240
    functionName: '& back()'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - empty
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::out_of_range::create
    - back
    - JSON_THROW
    linkageType: ''
    returnType: std::string
    signature: std::string & back()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:10256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 10257
      start: 10254
    functionDepth: 1
    functionLinenumber: 10254
    functionLinenumberEnd: 10257
    functionName: nlohmann::json_pointer::push_back
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::json_pointer::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(const std::string& token)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:10262,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:10262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 10263
      start: 10260
    functionDepth: 1
    functionLinenumber: 10260
    functionLinenumberEnd: 10263
    functionName: nlohmann::json_pointer::push_back
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - std::move
    - nlohmann::json_pointer::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(std::string&& token)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:10281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10282
      start: 10279
    functionDepth: 0
    functionLinenumber: 10279
    functionLinenumberEnd: 10282
    functionName: nlohmann::json_pointer::empty
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 3
    functionsReached:
    - nlohmann::json_pointer::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10298,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10298,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10300,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 10304
      start: 10292
    functionDepth: 1
    functionLinenumber: 10292
    functionLinenumberEnd: 10304
    functionName: nlohmann::json_pointer::array_index
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::out_of_range::create
    - JSON_THROW
    - size
    - JSON_HEDLEY_UNLIKELY
    linkageType: ''
    returnType: int
    signature: int array_index(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10308,1
    - Dst: nlohmann::json_pointer::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:10308,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10310,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10316
      start: 10306
    functionDepth: 1
    functionLinenumber: 10306
    functionLinenumberEnd: 10316
    functionName: nlohmann::json_pointer::top
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::out_of_range::create
    - nlohmann::json_pointer::empty
    - JSON_THROW
    - JSON_HEDLEY_UNLIKELY
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer top() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::type
      Src: /src/cryptofuzz/third_party/json/json.hpp:10335,1
    - Dst: result
      Src: /src/cryptofuzz/third_party/json/json.hpp:10342,1
    - Dst: result
      Src: /src/cryptofuzz/third_party/json/json.hpp:10347,1
    - Dst: result
      Src: /src/cryptofuzz/third_party/json/json.hpp:10355,1
    - Dst: result
      Src: /src/cryptofuzz/third_party/json/json.hpp:10364,1
    - Dst: static_cast<size_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:10364,1
    - Dst: array_index
      Src: /src/cryptofuzz/third_party/json/json.hpp:10364,1
    - Dst: JSON_CATCH
      Src: /src/cryptofuzz/third_party/json/json.hpp:10366,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10368,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10368,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10380,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    constantsTouched: []
    func_position:
      end: 10381
      start: 10326
    functionDepth: 2
    functionLinenumber: 10326
    functionLinenumberEnd: 10381
    functionName: '& get_and_create(BasicJsonType& j) const'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - result
    - JSON_CATCH
    - static_cast<size_type>
    - array_index
    - auto::type
    - nlohmann::detail::type_error::create
    - JSON_THROW
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_and_create(BasicJsonType& j) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:10412,1
    - Dst: BasicJsonType*::type
      Src: /src/cryptofuzz/third_party/json/json.hpp:10428,1
    - Dst: ptr
      Src: /src/cryptofuzz/third_party/json/json.hpp:10433,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10440,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10440,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10442,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10442,1
    - Dst: ptr
      Src: /src/cryptofuzz/third_party/json/json.hpp:10450,1
    - Dst: BasicJsonType*::m_value::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10450,1
    - Dst: ptr
      Src: /src/cryptofuzz/third_party/json/json.hpp:10457,1
    - Dst: static_cast<size_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:10458,1
    - Dst: array_index
      Src: /src/cryptofuzz/third_party/json/json.hpp:10458,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10462,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10462,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10469,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10469,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    constantsTouched: []
    func_position:
      end: 10471
      start: 10406
    functionDepth: 2
    functionLinenumber: 10406
    functionLinenumberEnd: 10471
    functionName: get_unchecked
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - ptr
    - JSON_HEDLEY_UNLIKELY
    - static_cast<size_type>
    - nlohmann::detail::parse_error::create
    - nlohmann::detail::out_of_range::create
    - array_index
    - size
    - BasicJsonType*::m_value::array::size
    - BasicJsonType*::is_null
    - BasicJsonType*::type
    - JSON_THROW
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_unchecked(BasicJsonType* ptr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/cryptofuzz/third_party/json/json.hpp:10487,1
    - Dst: BasicJsonType*::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:10492,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10498,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10501,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10501,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:10502,1
    - Dst: BasicJsonType*::m_value::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10502,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10507,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10507,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10509,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10509,1
    - Dst: BasicJsonType*::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:10517,1
    - Dst: static_cast<size_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:10517,1
    - Dst: array_index
      Src: /src/cryptofuzz/third_party/json/json.hpp:10517,1
    - Dst: JSON_CATCH
      Src: /src/cryptofuzz/third_party/json/json.hpp:10519,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10521,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10521,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10527,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    constantsTouched: []
    func_position:
      end: 10528
      start: 10482
    functionDepth: 2
    functionLinenumber: 10482
    functionLinenumberEnd: 10528
    functionName: get_checked
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - BasicJsonType*::at
    - std::to_string
    - BasicJsonType*::type
    - JSON_CATCH
    - JSON_HEDLEY_UNLIKELY
    - static_cast<size_type>
    - nlohmann::detail::out_of_range::create
    - array_index
    - size
    - BasicJsonType*::m_value::array::size
    - JSON_THROW
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_checked(BasicJsonType* ptr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/cryptofuzz/third_party/json/json.hpp:10552,1
    - Dst: ptr
      Src: /src/cryptofuzz/third_party/json/json.hpp:10557,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10563,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10566,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10566,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:10567,1
    - Dst: BasicJsonType*::m_value::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10567,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10572,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10572,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10574,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10574,1
    - Dst: ptr
      Src: /src/cryptofuzz/third_party/json/json.hpp:10582,1
    - Dst: static_cast<size_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:10583,1
    - Dst: array_index
      Src: /src/cryptofuzz/third_party/json/json.hpp:10583,1
    - Dst: JSON_CATCH
      Src: /src/cryptofuzz/third_party/json/json.hpp:10585,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10587,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10587,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10593,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10593,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    constantsTouched: []
    func_position:
      end: 10594
      start: 10547
    functionDepth: 2
    functionLinenumber: 10547
    functionLinenumberEnd: 10594
    functionName: get_unchecked
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - ptr
    - std::to_string
    - BasicJsonType*::type
    - JSON_CATCH
    - JSON_HEDLEY_UNLIKELY
    - static_cast<size_type>
    - nlohmann::detail::out_of_range::create
    - array_index
    - size
    - BasicJsonType*::m_value::array::size
    - JSON_THROW
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_unchecked(const BasicJsonType* ptr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/cryptofuzz/third_party/json/json.hpp:10611,1
    - Dst: BasicJsonType*::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:10616,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10622,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10625,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10625,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:10626,1
    - Dst: BasicJsonType*::m_value::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10626,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10631,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10631,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10633,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10633,1
    - Dst: BasicJsonType*::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:10641,1
    - Dst: static_cast<size_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:10641,1
    - Dst: array_index
      Src: /src/cryptofuzz/third_party/json/json.hpp:10641,1
    - Dst: JSON_CATCH
      Src: /src/cryptofuzz/third_party/json/json.hpp:10643,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10645,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10645,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10651,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10651,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    constantsTouched: []
    func_position:
      end: 10652
      start: 10606
    functionDepth: 2
    functionLinenumber: 10606
    functionLinenumberEnd: 10652
    functionName: get_checked
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - BasicJsonType*::at
    - std::to_string
    - BasicJsonType*::type
    - JSON_CATCH
    - JSON_HEDLEY_UNLIKELY
    - static_cast<size_type>
    - nlohmann::detail::out_of_range::create
    - array_index
    - size
    - BasicJsonType*::m_value::array::size
    - JSON_THROW
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_checked(const BasicJsonType* ptr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/cryptofuzz/third_party/json/json.hpp:10667,1
    - Dst: BasicJsonType*::contains
      Src: /src/cryptofuzz/third_party/json/json.hpp:10671,1
    - Dst: ptr
      Src: /src/cryptofuzz/third_party/json/json.hpp:10677,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10683,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10690,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10690,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10692,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10692,1
    - Dst: static_cast<size_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:10699,1
    - Dst: array_index
      Src: /src/cryptofuzz/third_party/json/json.hpp:10699,1
    - Dst: BasicJsonType*::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10700,1
    - Dst: ptr
      Src: /src/cryptofuzz/third_party/json/json.hpp:10706,1
    - Dst: JSON_CATCH
      Src: /src/cryptofuzz/third_party/json/json.hpp:10709,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10711,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10711,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    constantsTouched: []
    func_position:
      end: 10722
      start: 10662
    functionDepth: 2
    functionLinenumber: 10662
    functionLinenumberEnd: 10722
    functionName: contains
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - ptr
    - BasicJsonType*::contains
    - BasicJsonType*::size
    - JSON_CATCH
    - JSON_HEDLEY_UNLIKELY
    - static_cast<size_type>
    - nlohmann::detail::parse_error::create
    - array_index
    - size
    - BasicJsonType*::type
    - JSON_THROW
    linkageType: ''
    returnType: bool
    signature: bool contains(const BasicJsonType* ptr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:10743,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10749,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10751,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10751,1
    - Dst: find_first_of
      Src: /src/cryptofuzz/third_party/json/json.hpp:10761,1
    - Dst: find_first_of
      Src: /src/cryptofuzz/third_party/json/json.hpp:10770,1
    - Dst: substr
      Src: /src/cryptofuzz/third_party/json/json.hpp:10774,1
    - Dst: auto::find_first_of
      Src: /src/cryptofuzz/third_party/json/json.hpp:10777,1
    - Dst: auto::find_first_of
      Src: /src/cryptofuzz/third_party/json/json.hpp:10779,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:10781,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10784,1
    - Dst: auto::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10784,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10788,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10788,1
    - Dst: unescape
      Src: /src/cryptofuzz/third_party/json/json.hpp:10793,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:10794,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' reference_string'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 10798
      start: 10738
    functionDepth: 2
    functionLinenumber: 10738
    functionLinenumberEnd: 10798
    functionName: split
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 10
    functionsReached:
    - auto::find_first_of
    - empty
    - assert
    - JSON_HEDLEY_UNLIKELY
    - unescape
    - find_first_of
    - substr
    - auto::size
    - JSON_THROW
    - std::vector::push_back
    - nlohmann::detail::parse_error::create
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split(const std::string& reference_string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:10816,1
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:10816,1
    - Dst: find
      Src: /src/cryptofuzz/third_party/json/json.hpp:10817,1
    - Dst: replace
      Src: /src/cryptofuzz/third_party/json/json.hpp:10819,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10819,1
    - Dst: find
      Src: /src/cryptofuzz/third_party/json/json.hpp:10820,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' s'
    - ' f'
    - ' t'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 10822
      start: 10813
    functionDepth: 1
    functionLinenumber: 10813
    functionLinenumberEnd: 10822
    functionName: replace_substring
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - replace
    - empty
    - assert
    - size
    - find
    linkageType: ''
    returnType: void
    signature: "void replace_substring(std::string& s, const std::string& f,\n                                  const
      std::string& t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: replace_substring
      Src: /src/cryptofuzz/third_party/json/json.hpp:10827,1
    - Dst: replace_substring
      Src: /src/cryptofuzz/third_party/json/json.hpp:10828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 10830
      start: 10825
    functionDepth: 2
    functionLinenumber: 10825
    functionLinenumberEnd: 10830
    functionName: escape
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - replace_substring
    linkageType: ''
    returnType: std::string
    signature: std::string escape(std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: replace_substring
      Src: /src/cryptofuzz/third_party/json/json.hpp:10835,1
    - Dst: replace_substring
      Src: /src/cryptofuzz/third_party/json/json.hpp:10836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 10837
      start: 10833
    functionDepth: 2
    functionLinenumber: 10833
    functionLinenumberEnd: 10837
    functionName: unescape
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - replace_substring
    linkageType: ''
    returnType: void
    signature: void unescape(std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/cryptofuzz/third_party/json/json.hpp:10850,1
    - Dst: m_value::array::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:10854,1
    - Dst: m_value::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:10862,1
    - Dst: flatten
      Src: /src/cryptofuzz/third_party/json/json.hpp:10864,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:10864,1
    - Dst: m_value::array
      Src: /src/cryptofuzz/third_party/json/json.hpp:10865,1
    - Dst: m_value::object::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:10873,1
    - Dst: flatten
      Src: /src/cryptofuzz/third_party/json/json.hpp:10883,1
    - Dst: escape
      Src: /src/cryptofuzz/third_party/json/json.hpp:10883,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - ' reference_string'
    - ' value'
    - ' result'
    argTypes:
    - std::string
    - BasicJsonType
    - BasicJsonType
    constantsTouched: []
    func_position:
      end: 10896
      start: 10846
    functionDepth: 3
    functionLinenumber: 10846
    functionLinenumberEnd: 10896
    functionName: flatten
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - m_value::array
    - flatten
    - std::to_string
    - escape
    - m_value::object::empty
    - type
    - m_value::array::size
    - m_value::array::empty
    linkageType: ''
    returnType: void
    signature: "void flatten(const std::string& reference_string,\n                        const
      BasicJsonType& value,\n                        BasicJsonType& result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10911,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:10911,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10913,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10913,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:10921,1
    - Dst: second::is_primitive
      Src: /src/cryptofuzz/third_party/json/json.hpp:10921,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:10923,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:10923,1
    - Dst: json_pointer
      Src: /src/cryptofuzz/third_party/json/json.hpp:10930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - BasicJsonType
    constantsTouched: []
    func_position:
      end: 10934
      start: 10908
    functionDepth: 1
    functionLinenumber: 10908
    functionLinenumberEnd: 10934
    functionName: unflatten
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - second::is_primitive
    - json_pointer
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::type_error::create
    - is_object
    - JSON_THROW
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType unflatten(const BasicJsonType& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer
    - json_pointer
    constantsTouched: []
    func_position:
      end: 10951
      start: 10947
    functionDepth: 0
    functionLinenumber: 10947
    functionLinenumberEnd: 10951
    functionName: "operator==(json_pointer const& lhs,\n                           json_pointer
      const& rhs) noexcept"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: "friend operator==(json_pointer const& lhs,\n                           json_pointer
      const& rhs) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer
    - json_pointer
    constantsTouched: []
    func_position:
      end: 10968
      start: 10964
    functionDepth: 0
    functionLinenumber: 10964
    functionLinenumberEnd: 10968
    functionName: "operator!=(json_pointer const& lhs,\n                           json_pointer
      const& rhs) noexcept"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: "friend operator!=(json_pointer const& lhs,\n                           json_pointer
      const& rhs) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:10995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    constantsTouched: []
    func_position:
      end: 10996
      start: 10994
    functionDepth: 0
    functionLinenumber: 10994
    functionLinenumberEnd: 10996
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void json_ref(value_type&& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<value_type*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:10999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    constantsTouched: []
    func_position:
      end: 11000
      start: 10998
    functionDepth: 0
    functionLinenumber: 10998
    functionLinenumberEnd: 11000
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - const_cast<value_type*>
    linkageType: ''
    returnType: void
    signature: void json_ref(const value_type& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - std::initializer_list<json_ref>
    constantsTouched: []
    func_position:
      end: 11004
      start: 11002
    functionDepth: 0
    functionLinenumber: 11002
    functionLinenumberEnd: 11004
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(std::initializer_list<json_ref> init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11011
      start: 11009
    functionDepth: 0
    functionLinenumber: 11009
    functionLinenumberEnd: 11011
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void json_ref(Args && ... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11014
      start: 11014
    functionDepth: 0
    functionLinenumber: 11014
    functionLinenumberEnd: 11014
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(json_ref&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11015
      start: 11015
    functionDepth: 0
    functionLinenumber: 11015
    functionLinenumberEnd: 11015
    functionName: nlohmann::detail::json_ref::json_ref
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(const json_ref&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11016
      start: 11016
    functionDepth: 0
    functionLinenumber: 11016
    functionLinenumberEnd: 11016
    functionName: '& operator=(const json_ref&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_ref
    signature: json_ref & operator=(const json_ref&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11017
      start: 11017
    functionDepth: 0
    functionLinenumber: 11017
    functionLinenumberEnd: 11017
    functionName: '& operator=(json_ref&&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_ref
    signature: json_ref & operator=(json_ref&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11018
      start: 11018
    functionDepth: 0
    functionLinenumber: 11018
    functionLinenumberEnd: 11018
    functionName: ~json_ref()
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_ref()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:11024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11027
      start: 11020
    functionDepth: 0
    functionLinenumber: 11020
    functionLinenumberEnd: 11027
    functionName: nlohmann::detail::json_ref::moved_or_copied
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: value_type
    signature: value_type moved_or_copied() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type const*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11032
      start: 11029
    functionDepth: 0
    functionLinenumber: 11029
    functionLinenumberEnd: 11032
    functionName: '& operator*() const'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<value_type const*>
    linkageType: ''
    returnType: value_type
    signature: value_type & operator*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type const*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11037
      start: 11034
    functionDepth: 0
    functionLinenumber: 11034
    functionLinenumberEnd: 11037
    functionName: '* operator->() const'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<value_type const*>
    linkageType: ''
    returnType: value_type
    signature: value_type * operator->() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11090
      start: 11090
    functionDepth: 0
    functionLinenumber: 11090
    functionLinenumberEnd: 11090
    functionName: ~output_adapter_protocol()
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~output_adapter_protocol()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<CharType>
    constantsTouched: []
    func_position:
      end: 11104
      start: 11102
    functionDepth: 0
    functionLinenumber: 11102
    functionLinenumberEnd: 11104
    functionName: nlohmann::detail::output_vector_adapter::output_vector_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_vector_adapter(std::vector<CharType>& vec) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:11108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    constantsTouched: []
    func_position:
      end: 11109
      start: 11106
    functionDepth: 1
    functionLinenumber: 11106
    functionLinenumberEnd: 11109
    functionName: nlohmann::detail::output_vector_adapter::write_character
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy
      Src: /src/cryptofuzz/third_party/json/json.hpp:11114,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/third_party/json/json.hpp:11114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 11115
      start: 11111
    functionDepth: 0
    functionLinenumber: 11111
    functionLinenumberEnd: 11115
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - copy
    - std::back_inserter
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::basic_ostream<CharType>
    constantsTouched: []
    func_position:
      end: 11128
      start: 11126
    functionDepth: 0
    functionLinenumber: 11126
    functionLinenumberEnd: 11128
    functionName: nlohmann::detail::output_stream_adapter::output_stream_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_stream_adapter(std::basic_ostream<CharType>& s) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/cryptofuzz/third_party/json/json.hpp:11132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    constantsTouched: []
    func_position:
      end: 11133
      start: 11130
    functionDepth: 0
    functionLinenumber: 11130
    functionLinenumberEnd: 11133
    functionName: nlohmann::detail::output_stream_adapter::write_character
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - put
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cryptofuzz/third_party/json/json.hpp:11138,1
    - Dst: static_cast<std::streamsize>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 11139
      start: 11135
    functionDepth: 0
    functionLinenumber: 11135
    functionLinenumberEnd: 11139
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::streamsize>
    - write
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    constantsTouched: []
    func_position:
      end: 11152
      start: 11150
    functionDepth: 0
    functionLinenumber: 11150
    functionLinenumberEnd: 11152
    functionName: nlohmann::detail::output_string_adapter::output_string_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_string_adapter(StringType& s) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:11156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    constantsTouched: []
    func_position:
      end: 11157
      start: 11154
    functionDepth: 1
    functionLinenumber: 11154
    functionLinenumberEnd: 11157
    functionName: nlohmann::detail::output_string_adapter::write_character
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/cryptofuzz/third_party/json/json.hpp:11162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 11163
      start: 11159
    functionDepth: 0
    functionLinenumber: 11159
    functionLinenumberEnd: 11163
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_vector_adapter<CharType>>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<CharType>
    constantsTouched: []
    func_position:
      end: 11174
      start: 11173
    functionDepth: 0
    functionLinenumber: 11173
    functionLinenumberEnd: 11174
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_vector_adapter<CharType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(std::vector<CharType>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_stream_adapter<CharType>>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::basic_ostream<CharType>
    constantsTouched: []
    func_position:
      end: 11177
      start: 11176
    functionDepth: 0
    functionLinenumber: 11176
    functionLinenumberEnd: 11177
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_stream_adapter<CharType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(std::basic_ostream<CharType>& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_string_adapter<CharType, StringType>>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    constantsTouched: []
    func_position:
      end: 11180
      start: 11179
    functionDepth: 0
    functionLinenumber: 11179
    functionLinenumberEnd: 11180
    functionName: nlohmann::detail::output_adapter::output_adapter
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_string_adapter<CharType, StringType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(StringType& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11185
      start: 11182
    functionDepth: 0
    functionLinenumber: 11182
    functionLinenumberEnd: 11185
    functionName: operator output_adapter_t<CharType>()
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator output_adapter_t<CharType>()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:11218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - output_adapter_t<CharType>
    constantsTouched: []
    func_position:
      end: 11219
      start: 11216
    functionDepth: 0
    functionLinenumber: 11216
    functionLinenumberEnd: 11219
    functionName: nlohmann::detail::binary_writer::binary_writer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void binary_writer(output_adapter_t<CharType> adapter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11227,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:11231,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:11237,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:11237,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:11237,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:11237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    constantsTouched: []
    func_position:
      end: 11240
      start: 11225
    functionDepth: 1
    functionLinenumber: 11225
    functionLinenumberEnd: 11240
    functionName: nlohmann::detail::binary_writer::write_bson
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::string
    - nlohmann::detail::binary_writer::write_bson_object
    - type
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void write_bson(const BasicJsonType& j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11247,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11251,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11251,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11257,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11258,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11259,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11272,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11272,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11276,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11276,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11277,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11277,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11281,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11281,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11282,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11282,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11286,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11286,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11287,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11287,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11291,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11291,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11292,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11292,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11302,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11302,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11306,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11306,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11307,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11307,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11311,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11311,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11312,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11312,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11316,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11316,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11317,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11317,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11321,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11321,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11322,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11322,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11332,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11332,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11336,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11336,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11337,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11337,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11341,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11341,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11342,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11342,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11346,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11346,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11347,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11347,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11351,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11351,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11352,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11352,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11359,1
    - Dst: nlohmann::detail::binary_writer::get_cbor_float_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:11359,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11360,1
    - Dst: m_value::string::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11367,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11370,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11370,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11374,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11374,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11375,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11375,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11379,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11379,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11380,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11380,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11384,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11384,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11385,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11385,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11390,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11390,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11391,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11391,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:11396,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11397,1
    - Dst: m_value::string::c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:11397,1
    - Dst: m_value::string::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11398,1
    - Dst: m_value::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11405,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11408,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11408,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11412,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11412,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11413,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11413,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11417,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11417,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11418,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11418,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11422,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11422,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11423,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11423,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11428,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11428,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11429,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11429,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/cryptofuzz/third_party/json/json.hpp:11436,1
    - Dst: m_value::object::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11444,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11447,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11447,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11451,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11451,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11452,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11452,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11456,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11456,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11457,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11457,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11461,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11461,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11462,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11462,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11467,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11467,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11468,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11468,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/cryptofuzz/third_party/json/json.hpp:11475,1
    - Dst: nlohmann::detail::binary_writer::write_cbor
      Src: /src/cryptofuzz/third_party/json/json.hpp:11476,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 153
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    constantsTouched: []
    func_position:
      end: 11484
      start: 11245
    functionDepth: 1
    functionLinenumber: 11245
    functionLinenumberEnd: 11484
    functionName: nlohmann::detail::binary_writer::write_cbor
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint16_t>
    - nlohmann::detail::binary_writer::get_cbor_float_prefix
    - m_value::object::size
    - static_cast<std::uint64_t>
    - reinterpret_cast<const CharType*>
    - write_characters
    - m_value::string::size
    - write_character
    - type
    - m_value::array::size
    - m_value::string::c_str
    - nlohmann::detail::binary_writer::write_cbor
    - static_cast<std::uint32_t>
    - static_cast<std::uint8_t>
    - nlohmann::detail::binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: void write_cbor(const BasicJsonType& j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11491,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11495,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11495,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11501,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11502,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11503,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11517,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11517,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11522,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11522,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11523,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11523,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11528,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11528,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11529,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11529,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11534,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11534,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11535,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11535,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11540,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11540,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11541,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11541,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11549,1
    - Dst: static_cast<std::int8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11549,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11555,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11555,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11556,1
    - Dst: static_cast<std::int8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11556,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11562,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11562,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11563,1
    - Dst: static_cast<std::int16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11563,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11569,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11569,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11570,1
    - Dst: static_cast<std::int32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11570,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11576,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11576,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11577,1
    - Dst: static_cast<std::int64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11577,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11588,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11588,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11593,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11593,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11594,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11594,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11599,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11599,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11600,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11600,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11605,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11605,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11606,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11606,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11611,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11611,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11612,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11612,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11619,1
    - Dst: nlohmann::detail::binary_writer::get_msgpack_float_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:11619,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11620,1
    - Dst: m_value::string::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11627,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11631,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11631,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11636,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11636,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11637,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11637,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11642,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11642,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11643,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11643,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11648,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11648,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11649,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11649,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:11653,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11654,1
    - Dst: m_value::string::c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:11654,1
    - Dst: m_value::string::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11655,1
    - Dst: m_value::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11662,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11666,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11666,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11671,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11671,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11672,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11672,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11677,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11677,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11678,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11678,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/cryptofuzz/third_party/json/json.hpp:11684,1
    - Dst: m_value::object::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11692,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11696,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11696,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11701,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11701,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11702,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11702,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11707,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11707,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11708,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11708,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/cryptofuzz/third_party/json/json.hpp:11714,1
    - Dst: nlohmann::detail::binary_writer::write_msgpack
      Src: /src/cryptofuzz/third_party/json/json.hpp:11715,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 136
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    constantsTouched: []
    func_position:
      end: 11723
      start: 11489
    functionDepth: 1
    functionLinenumber: 11489
    functionLinenumberEnd: 11723
    functionName: nlohmann::detail::binary_writer::write_msgpack
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<std::uint16_t>
    - m_value::string::size
    - m_value::string::c_str
    - write_characters
    - static_cast<std::uint8_t>
    - m_value::object::size
    - nlohmann::detail::binary_writer::write_msgpack
    - static_cast<std::uint32_t>
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::int8_t>
    - static_cast<std::int32_t>
    - reinterpret_cast<const CharType*>
    - static_cast<std::int64_t>
    - nlohmann::detail::binary_writer::write_number
    - static_cast<std::uint64_t>
    - static_cast<std::int16_t>
    - nlohmann::detail::binary_writer::get_msgpack_float_prefix
    - write_character
    - type
    - m_value::array::size
    linkageType: ''
    returnType: void
    signature: void write_msgpack(const BasicJsonType& j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11734,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11740,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11740,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11749,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11750,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11751,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:11758,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:11764,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:11770,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11778,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11778,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:11780,1
    - Dst: m_value::string::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11780,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:11781,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11782,1
    - Dst: m_value::string::c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:11782,1
    - Dst: m_value::string::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11783,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11791,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11791,1
    - Dst: m_value::array::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:11795,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:11797,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:11798,1
    - Dst: front
      Src: /src/cryptofuzz/third_party/json/json.hpp:11798,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11808,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11808,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11809,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11815,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11815,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:11816,1
    - Dst: m_value::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11816,1
    - Dst: nlohmann::detail::binary_writer::write_ubjson
      Src: /src/cryptofuzz/third_party/json/json.hpp:11821,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11826,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11826,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11836,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11836,1
    - Dst: m_value::object::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:11840,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:11842,1
    - Dst: nlohmann::detail::binary_writer::ubjson_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:11843,1
    - Dst: front
      Src: /src/cryptofuzz/third_party/json/json.hpp:11843,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11853,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11853,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11854,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11860,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11860,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:11861,1
    - Dst: m_value::object::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11861,1
    - Dst: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:11866,1
    - Dst: first::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11866,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:11867,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11868,1
    - Dst: first::c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:11868,1
    - Dst: first::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11869,1
    - Dst: nlohmann::detail::binary_writer::write_ubjson
      Src: /src/cryptofuzz/third_party/json/json.hpp:11870,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11875,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11875,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 89
    argCount: 3
    argNames:
    - ' j'
    - use_count
    - use_type
    argTypes:
    - BasicJsonType
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 11884
      start: 11731
    functionDepth: 1
    functionLinenumber: 11731
    functionLinenumberEnd: 11884
    functionName: nlohmann::detail::binary_writer::write_ubjson
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    - nlohmann::detail::binary_writer::write_ubjson
    - m_value::object::size
    - nlohmann::detail::binary_writer::ubjson_prefix
    - reinterpret_cast<const CharType*>
    - m_value::string::c_str
    - m_value::string::size
    - assert
    - m_value::object::empty
    - first::c_str
    - write_character
    - type
    - m_value::array::size
    - front
    - nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    - first::size
    - write_characters
    - m_value::array::empty
    linkageType: ''
    returnType: void
    signature: "void write_ubjson(const BasicJsonType& j, const bool use_count,\n
      \                     const bool use_type, const bool add_prefix = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cryptofuzz/third_party/json/json.hpp:11897,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11897,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:11898,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:11900,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:11900,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:11901,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string_t
    constantsTouched: []
    func_position:
      end: 11905
      start: 11895
    functionDepth: 1
    functionLinenumber: 11895
    functionLinenumberEnd: 11905
    functionName: nlohmann::detail::binary_writer::calc_bson_entry_header_size
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - JSON_HEDLEY_UNLIKELY
    - static_cast<typename string_t::value_type>
    - nlohmann::detail::out_of_range::create
    - size
    - find
    - JSON_THROW
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_entry_header_size(const string_t& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11913,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11913,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:11914,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11915,1
    - Dst: c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:11915,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - element_type
    argTypes:
    - string_t
    - std::uint8_t
    constantsTouched: []
    func_position:
      end: 11917
      start: 11910
    functionDepth: 1
    functionLinenumber: 11910
    functionLinenumberEnd: 11917
    functionName: nlohmann::detail::binary_writer::write_bson_entry_header
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    - reinterpret_cast<const CharType*>
    - write_character
    - size
    - c_str
    - write_characters
    linkageType: ''
    returnType: void
    signature: "void write_bson_entry_header(const string_t& name,\n                                 const
      std::uint8_t element_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/cryptofuzz/third_party/json/json.hpp:11925,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:11926,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11926,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:11926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - bool
    constantsTouched: []
    func_position:
      end: 11927
      start: 11922
    functionDepth: 2
    functionLinenumber: 11922
    functionLinenumberEnd: 11927
    functionName: nlohmann::detail::binary_writer::write_bson_boolean
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_entry_header
    - nlohmann::detail::binary_writer::to_char_type
    - write_character
    linkageType: ''
    returnType: void
    signature: "void write_bson_boolean(const string_t& name,\n                            const
      bool value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/cryptofuzz/third_party/json/json.hpp:11935,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - double
    constantsTouched: []
    func_position:
      end: 11937
      start: 11932
    functionDepth: 2
    functionLinenumber: 11932
    functionLinenumberEnd: 11937
    functionName: nlohmann::detail::binary_writer::write_bson_double
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_entry_header
    - nlohmann::detail::binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: "void write_bson_double(const string_t& name,\n                           const
      double value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - string_t
    constantsTouched: []
    func_position:
      end: 11945
      start: 11942
    functionDepth: 1
    functionLinenumber: 11942
    functionLinenumberEnd: 11945
    functionName: nlohmann::detail::binary_writer::calc_bson_string_size
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_string_size(const string_t& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/cryptofuzz/third_party/json/json.hpp:11953,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11955,1
    - Dst: static_cast<std::int32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11955,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11955,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:11956,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11957,1
    - Dst: c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:11957,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:11958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - string_t
    constantsTouched: []
    func_position:
      end: 11959
      start: 11950
    functionDepth: 2
    functionLinenumber: 11950
    functionLinenumberEnd: 11959
    functionName: nlohmann::detail::binary_writer::write_bson_string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_entry_header
    - static_cast<std::int32_t>
    - reinterpret_cast<const CharType*>
    - size
    - c_str
    - write_characters
    - nlohmann::detail::binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: "void write_bson_string(const string_t& name,\n                           const
      string_t& value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/cryptofuzz/third_party/json/json.hpp:11966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string_t
    constantsTouched: []
    func_position:
      end: 11967
      start: 11964
    functionDepth: 2
    functionLinenumber: 11964
    functionLinenumberEnd: 11967
    functionName: nlohmann::detail::binary_writer::write_bson_null
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: void write_bson_null(const string_t& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::int64_t
    constantsTouched: []
    func_position:
      end: 11977
      start: 11972
    functionDepth: 0
    functionLinenumber: 11972
    functionLinenumberEnd: 11977
    functionName: nlohmann::detail::binary_writer::calc_bson_integer_size
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_integer_size(const std::int64_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/cryptofuzz/third_party/json/json.hpp:11987,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11988,1
    - Dst: static_cast<std::int32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11988,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/cryptofuzz/third_party/json/json.hpp:11992,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:11993,1
    - Dst: static_cast<std::int64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:11993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - std::int64_t
    constantsTouched: []
    func_position:
      end: 11995
      start: 11982
    functionDepth: 2
    functionLinenumber: 11982
    functionLinenumberEnd: 11995
    functionName: nlohmann::detail::binary_writer::write_bson_integer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_entry_header
    - static_cast<std::int32_t>
    - static_cast<std::int64_t>
    - nlohmann::detail::binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: "void write_bson_integer(const string_t& name,\n                            const
      std::int64_t value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::uint64_t
    constantsTouched: []
    func_position:
      end: 12005
      start: 12000
    functionDepth: 0
    functionLinenumber: 12000
    functionLinenumberEnd: 12005
    functionName: nlohmann::detail::binary_writer::calc_bson_unsigned_size
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::uint64_t>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12013,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/cryptofuzz/third_party/json/json.hpp:12015,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12016,1
    - Dst: static_cast<std::int32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12016,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12018,1
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/cryptofuzz/third_party/json/json.hpp:12020,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12021,1
    - Dst: static_cast<std::int64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12021,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:12025,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:12025,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:12025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - std::uint64_t
    constantsTouched: []
    func_position:
      end: 12027
      start: 12010
    functionDepth: 2
    functionLinenumber: 12010
    functionLinenumberEnd: 12027
    functionName: nlohmann::detail::binary_writer::write_bson_unsigned
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_entry_header
    - std::to_string
    - static_cast<std::int32_t>
    - static_cast<std::uint64_t>
    - static_cast<std::int64_t>
    - nlohmann::detail::out_of_range::create
    - JSON_THROW
    - nlohmann::detail::binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: "void write_bson_unsigned(const string_t& name,\n                             const
      std::uint64_t value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/cryptofuzz/third_party/json/json.hpp:12035,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:12036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - typename BasicJsonType::object_t
    constantsTouched: []
    func_position:
      end: 12037
      start: 12032
    functionDepth: 2
    functionLinenumber: 12032
    functionLinenumberEnd: 12037
    functionName: nlohmann::detail::binary_writer::write_bson_object_entry
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_entry_header
    - nlohmann::detail::binary_writer::write_bson_object
    linkageType: ''
    returnType: void
    signature: "void write_bson_object_entry(const string_t& name,\n                                 const
      typename BasicJsonType::object_t& value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::calc_bson_element_size
      Src: /src/cryptofuzz/third_party/json/json.hpp:12049,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:12049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::array_t
    constantsTouched: []
    func_position:
      end: 12053
      start: 12042
    functionDepth: 1
    functionLinenumber: 12042
    functionLinenumberEnd: 12053
    functionName: nlohmann::detail::binary_writer::calc_bson_array_size
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::calc_bson_element_size
    - std::to_string
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_array_size(const typename BasicJsonType::array_t&
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_bson_entry_header
      Src: /src/cryptofuzz/third_party/json/json.hpp:12061,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12062,1
    - Dst: static_cast<std::int32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12062,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_array_size
      Src: /src/cryptofuzz/third_party/json/json.hpp:12062,1
    - Dst: nlohmann::detail::binary_writer::write_bson_element
      Src: /src/cryptofuzz/third_party/json/json.hpp:12068,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:12068,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12071,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - typename BasicJsonType::array_t
    constantsTouched: []
    func_position:
      end: 12072
      start: 12058
    functionDepth: 2
    functionLinenumber: 12058
    functionLinenumberEnd: 12072
    functionName: nlohmann::detail::binary_writer::write_bson_array
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_entry_header
    - nlohmann::detail::binary_writer::to_char_type
    - std::to_string
    - static_cast<std::int32_t>
    - write_character
    - nlohmann::detail::binary_writer::calc_bson_array_size
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_element
    linkageType: ''
    returnType: void
    signature: "void write_bson_array(const string_t& name,\n                          const
      typename BasicJsonType::array_t& value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::calc_bson_entry_header_size
      Src: /src/cryptofuzz/third_party/json/json.hpp:12081,1
    - Dst: type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12082,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_object_size
      Src: /src/cryptofuzz/third_party/json/json.hpp:12085,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_array_size
      Src: /src/cryptofuzz/third_party/json/json.hpp:12088,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_integer_size
      Src: /src/cryptofuzz/third_party/json/json.hpp:12097,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_unsigned_size
      Src: /src/cryptofuzz/third_party/json/json.hpp:12100,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_string_size
      Src: /src/cryptofuzz/third_party/json/json.hpp:12103,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:12110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    constantsTouched: []
    func_position:
      end: 12114
      start: 12078
    functionDepth: 2
    functionLinenumber: 12078
    functionLinenumberEnd: 12114
    functionName: nlohmann::detail::binary_writer::calc_bson_element_size
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::calc_bson_object_size
    - nlohmann::detail::binary_writer::calc_bson_string_size
    - assert
    - type
    - nlohmann::detail::binary_writer::calc_bson_array_size
    - nlohmann::detail::binary_writer::calc_bson_integer_size
    - nlohmann::detail::binary_writer::calc_bson_entry_header_size
    - nlohmann::detail::binary_writer::calc_bson_unsigned_size
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t calc_bson_element_size(const string_t& name,\n            const
      BasicJsonType& j)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12126,1
    - Dst: nlohmann::detail::binary_writer::write_bson_object_entry
      Src: /src/cryptofuzz/third_party/json/json.hpp:12129,1
    - Dst: nlohmann::detail::binary_writer::write_bson_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:12132,1
    - Dst: nlohmann::detail::binary_writer::write_bson_boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:12135,1
    - Dst: nlohmann::detail::binary_writer::write_bson_double
      Src: /src/cryptofuzz/third_party/json/json.hpp:12138,1
    - Dst: nlohmann::detail::binary_writer::write_bson_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:12141,1
    - Dst: nlohmann::detail::binary_writer::write_bson_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:12144,1
    - Dst: nlohmann::detail::binary_writer::write_bson_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:12147,1
    - Dst: nlohmann::detail::binary_writer::write_bson_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:12150,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:12154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    constantsTouched: []
    func_position:
      end: 12158
      start: 12123
    functionDepth: 3
    functionLinenumber: 12123
    functionLinenumberEnd: 12158
    functionName: nlohmann::detail::binary_writer::write_bson_element
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::write_bson_unsigned
    - nlohmann::detail::binary_writer::write_bson_array
    - nlohmann::detail::binary_writer::write_bson_object_entry
    - assert
    - nlohmann::detail::binary_writer::write_bson_boolean
    - type
    - nlohmann::detail::binary_writer::write_bson_string
    - nlohmann::detail::binary_writer::write_bson_null
    - nlohmann::detail::binary_writer::write_bson_integer
    - nlohmann::detail::binary_writer::write_bson_double
    linkageType: ''
    returnType: void
    signature: "void write_bson_element(const string_t& name,\n                            const
      BasicJsonType& j)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/cryptofuzz/third_party/json/json.hpp:12168,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:12168,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:12168,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_element_size
      Src: /src/cryptofuzz/third_party/json/json.hpp:12171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::object_t
    constantsTouched: []
    func_position:
      end: 12175
      start: 12166
    functionDepth: 3
    functionLinenumber: 12166
    functionLinenumberEnd: 12175
    functionName: nlohmann::detail::binary_writer::calc_bson_object_size
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - end
    - std::accumulate
    - nlohmann::detail::binary_writer::calc_bson_element_size
    - begin
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_object_size(const typename BasicJsonType::object_t&
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12183,1
    - Dst: static_cast<std::int32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12183,1
    - Dst: nlohmann::detail::binary_writer::calc_bson_object_size
      Src: /src/cryptofuzz/third_party/json/json.hpp:12183,1
    - Dst: nlohmann::detail::binary_writer::write_bson_element
      Src: /src/cryptofuzz/third_party/json/json.hpp:12187,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12190,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::object_t
    constantsTouched: []
    func_position:
      end: 12191
      start: 12181
    functionDepth: 4
    functionLinenumber: 12181
    functionLinenumberEnd: 12191
    functionName: nlohmann::detail::binary_writer::write_bson_object
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::binary_writer::calc_bson_object_size
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::int32_t>
    - write_character
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::write_bson_element
    linkageType: ''
    returnType: void
    signature: void write_bson_object(const typename BasicJsonType::object_t& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12200
      start: 12197
    functionDepth: 1
    functionLinenumber: 12197
    functionLinenumberEnd: 12200
    functionName: nlohmann::detail::binary_writer::get_cbor_float_prefix
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_cbor_float_prefix(float /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12205
      start: 12202
    functionDepth: 1
    functionLinenumber: 12202
    functionLinenumberEnd: 12205
    functionName: nlohmann::detail::binary_writer::get_cbor_float_prefix
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_cbor_float_prefix(double /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12214
      start: 12211
    functionDepth: 1
    functionLinenumber: 12211
    functionLinenumberEnd: 12214
    functionName: nlohmann::detail::binary_writer::get_msgpack_float_prefix
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_msgpack_float_prefix(float /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12219
      start: 12216
    functionDepth: 1
    functionLinenumber: 12216
    functionLinenumberEnd: 12219
    functionName: nlohmann::detail::binary_writer::get_msgpack_float_prefix
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_msgpack_float_prefix(double /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12233,1
    - Dst: nlohmann::detail::binary_writer::get_ubjson_float_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:12233,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    constantsTouched: []
    func_position:
      end: 12236
      start: 12228
    functionDepth: 1
    functionLinenumber: 12228
    functionLinenumberEnd: 12236
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - write_character
    - nlohmann::detail::binary_writer::write_number
    - nlohmann::detail::binary_writer::get_ubjson_float_prefix
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12244,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12248,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12248,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12250,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12250,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12256,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12256,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12258,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12258,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12260,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12264,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12264,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12266,1
    - Dst: static_cast<std::int16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12266,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12268,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12272,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12272,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12274,1
    - Dst: static_cast<std::int32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12274,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12276,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12280,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12280,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12282,1
    - Dst: static_cast<std::int64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12282,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:12286,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:12286,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:12286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    constantsTouched: []
    func_position:
      end: 12288
      start: 12241
    functionDepth: 1
    functionLinenumber: 12241
    functionLinenumberEnd: 12288
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    - std::to_string
    - static_cast<std::int32_t>
    - static_cast<std::uint64_t>
    - static_cast<std::int16_t>
    - static_cast<std::int64_t>
    - write_character
    - nlohmann::detail::out_of_range::create
    - JSON_THROW
    - static_cast<std::uint8_t>
    - nlohmann::detail::binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12301,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12301,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12303,1
    - Dst: static_cast<std::int8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12303,1
    - Dst: static_cast<std::int64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12305,1
    - Dst: static_cast<std::int64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12305,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12309,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12309,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12311,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12311,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12317,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12317,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12319,1
    - Dst: static_cast<std::int16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12319,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12325,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12325,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12327,1
    - Dst: static_cast<std::int32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12327,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:12333,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12333,1
    - Dst: nlohmann::detail::binary_writer::write_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:12335,1
    - Dst: static_cast<std::int64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12335,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:12340,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:12340,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:12340,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - n
    - add_prefix
    argTypes:
    - NumberType
    - bool
    constantsTouched: []
    func_position:
      end: 12343
      start: 12294
    functionDepth: 1
    functionLinenumber: 12294
    functionLinenumberEnd: 12343
    functionName: nlohmann::detail::binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::int8_t>
    - std::to_string
    - static_cast<std::int32_t>
    - static_cast<std::int16_t>
    - static_cast<std::int64_t>
    - write_character
    - nlohmann::detail::out_of_range::create
    - JSON_THROW
    - static_cast<std::uint8_t>
    - nlohmann::detail::binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/cryptofuzz/third_party/json/json.hpp:12356,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12388,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12392,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12396,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12400,1
    - Dst: nlohmann::detail::binary_writer::get_ubjson_float_prefix
      Src: /src/cryptofuzz/third_party/json/json.hpp:12409,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    constantsTouched: []
    func_position:
      end: 12423
      start: 12354
    functionDepth: 1
    functionLinenumber: 12354
    functionLinenumberEnd: 12423
    functionName: nlohmann::detail::binary_writer::ubjson_prefix
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<std::uint64_t>
    - type
    - nlohmann::detail::binary_writer::get_ubjson_float_prefix
    linkageType: ''
    returnType: CharType
    signature: CharType ubjson_prefix(const BasicJsonType& j) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12428
      start: 12425
    functionDepth: 0
    functionLinenumber: 12425
    functionLinenumberEnd: 12428
    functionName: nlohmann::detail::binary_writer::get_ubjson_float_prefix
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType get_ubjson_float_prefix(float /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12433
      start: 12430
    functionDepth: 0
    functionLinenumber: 12430
    functionLinenumberEnd: 12433
    functionName: nlohmann::detail::binary_writer::get_ubjson_float_prefix
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType get_ubjson_float_prefix(double /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/cryptofuzz/third_party/json/json.hpp:12455,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/third_party/json/json.hpp:12455,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/third_party/json/json.hpp:12461,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:12461,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:12461,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:12464,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/third_party/json/json.hpp:12464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - NumberType
    constantsTouched: []
    func_position:
      end: 12465
      start: 12451
    functionDepth: 1
    functionLinenumber: 12451
    functionLinenumberEnd: 12465
    functionName: nlohmann::detail::binary_writer::write_number
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 11
    functionsReached:
    - std::reverse
    - std::array::data
    - std::array::end
    - std::memcpy
    - write_characters
    - std::array::begin
    linkageType: ''
    returnType: void
    signature: void write_number(const NumberType n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    constantsTouched: []
    func_position:
      end: 12477
      start: 12474
    functionDepth: 0
    functionLinenumber: 12474
    functionLinenumberEnd: 12477
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 16
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/cryptofuzz/third_party/json/json.hpp:12486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    constantsTouched: []
    func_position:
      end: 12488
      start: 12481
    functionDepth: 0
    functionLinenumber: 12481
    functionLinenumberEnd: 12488
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 16
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    constantsTouched: []
    func_position:
      end: 12495
      start: 12492
    functionDepth: 0
    functionLinenumber: 12492
    functionLinenumberEnd: 12495
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - InputCharType
    constantsTouched: []
    func_position:
      end: 12506
      start: 12503
    functionDepth: 0
    functionLinenumber: 12503
    functionLinenumberEnd: 12506
    functionName: nlohmann::detail::binary_writer::to_char_type
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(InputCharType x) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/cryptofuzz/third_party/json/json.hpp:12584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - Source
    constantsTouched: []
    func_position:
      end: 12586
      start: 12579
    functionDepth: 0
    functionLinenumber: 12579
    functionLinenumberEnd: 12586
    functionName: nlohmann::detail::dtoa_impl::reinterpret_bits
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: Target
    signature: Target reinterpret_bits(const Source source)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - f_
    - e_
    argTypes:
    - std::uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 12595
      start: 12595
    functionDepth: 0
    functionLinenumber: 12595
    functionLinenumberEnd: 12595
    functionName: nlohmann::detail::dtoa_impl::diyfp
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void diyfp(std::uint64_t f_, int e_) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:12603,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:12604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    constantsTouched: []
    func_position:
      end: 12607
      start: 12601
    functionDepth: 0
    functionLinenumber: 12601
    functionLinenumberEnd: 12607
    functionName: nlohmann::detail::dtoa_impl::sub
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: diyfp
    signature: diyfp sub(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    constantsTouched: []
    func_position:
      end: 12672
      start: 12613
    functionDepth: 0
    functionLinenumber: 12613
    functionLinenumberEnd: 12672
    functionName: nlohmann::detail::dtoa_impl::mul
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: diyfp
    signature: diyfp mul(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:12680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - diyfp
    constantsTouched: []
    func_position:
      end: 12689
      start: 12678
    functionDepth: 0
    functionLinenumber: 12678
    functionLinenumberEnd: 12689
    functionName: nlohmann::detail::dtoa_impl::normalize
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize(diyfp x) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:12699,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:12700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - target_exponent
    argTypes:
    - diyfp
    - int
    constantsTouched: []
    func_position:
      end: 12703
      start: 12695
    functionDepth: 0
    functionLinenumber: 12695
    functionLinenumberEnd: 12703
    functionName: nlohmann::detail::dtoa_impl::normalize_to
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:12722,1
    - Dst: std::isfinite
      Src: /src/cryptofuzz/third_party/json/json.hpp:12722,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:12723,1
    - Dst: nlohmann::detail::dtoa_impl::reinterpret_bits
      Src: /src/cryptofuzz/third_party/json/json.hpp:12742,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/cryptofuzz/third_party/json/json.hpp:12748,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/cryptofuzz/third_party/json/json.hpp:12749,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:12749,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/cryptofuzz/third_party/json/json.hpp:12773,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/cryptofuzz/third_party/json/json.hpp:12775,1
    - Dst: nlohmann::detail::dtoa_impl::diyfp
      Src: /src/cryptofuzz/third_party/json/json.hpp:12776,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/cryptofuzz/third_party/json/json.hpp:12779,1
    - Dst: nlohmann::detail::dtoa_impl::normalize_to
      Src: /src/cryptofuzz/third_party/json/json.hpp:12782,1
    - Dst: nlohmann::detail::dtoa_impl::normalize
      Src: /src/cryptofuzz/third_party/json/json.hpp:12784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - FloatType
    constantsTouched: []
    func_position:
      end: 12785
      start: 12720
    functionDepth: 1
    functionLinenumber: 12720
    functionLinenumberEnd: 12785
    functionName: nlohmann::detail::dtoa_impl::compute_boundaries
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::dtoa_impl::reinterpret_bits
    - assert
    - static_cast<int>
    - nlohmann::detail::dtoa_impl::normalize
    - nlohmann::detail::dtoa_impl::normalize_to
    - nlohmann::detail::dtoa_impl::diyfp
    - std::isfinite
    linkageType: ''
    returnType: boundaries
    signature: boundaries compute_boundaries(FloatType value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13003,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13004,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13009,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13010,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13010,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:13010,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13012,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13013,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 13017
      start: 12859
    functionDepth: 1
    functionLinenumber: 12859
    functionLinenumberEnd: 13017
    functionName: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::size_t>
    - std::array::size
    - assert
    linkageType: ''
    returnType: cached_power
    signature: cached_power get_cached_power_for_binary_exponent(int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - n
    - ' pow10'
    argTypes:
    - std::uint32_t
    - std::uint32_t
    constantsTouched: []
    func_position:
      end: 13077
      start: 13023
    functionDepth: 0
    functionLinenumber: 13023
    functionLinenumberEnd: 13077
    functionName: nlohmann::detail::dtoa_impl::find_largest_pow10
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13082,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13083,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13084,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13085,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - buf
    - len
    - dist
    - delta
    - rest
    - ten_k
    argTypes:
    - char*
    - int
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    constantsTouched: []
    func_position:
      end: 13114
      start: 13079
    functionDepth: 0
    functionLinenumber: 13079
    functionLinenumberEnd: 13114
    functionName: nlohmann::detail::dtoa_impl::grisu2_round
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t
      delta,\n                         std::uint64_t rest, std::uint64_t ten_k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13138,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13139,1
    - Dst: nlohmann::detail::dtoa_impl::sub
      Src: /src/cryptofuzz/third_party/json/json.hpp:13141,1
    - Dst: nlohmann::detail::dtoa_impl::sub
      Src: /src/cryptofuzz/third_party/json/json.hpp:13142,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13153,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13160,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13196,1
    - Dst: static_cast<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13197,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/cryptofuzz/third_party/json/json.hpp:13233,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13283,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13294,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13303,1
    - Dst: static_cast<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13304,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_round
      Src: /src/cryptofuzz/third_party/json/json.hpp:13338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - buffer
    - ' length'
    - ' decimal_exponent'
    - M_minus
    - w
    - M_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    constantsTouched: []
    func_position:
      end: 13353
      start: 13120
    functionDepth: 1
    functionLinenumber: 13120
    functionLinenumberEnd: 13353
    functionName: nlohmann::detail::dtoa_impl::grisu2_digit_gen
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::dtoa_impl::grisu2_round
    - nlohmann::detail::dtoa_impl::sub
    - assert
    - static_cast<char>
    - static_cast<std::uint32_t>
    linkageType: ''
    returnType: void
    signature: "void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,\n
      \                            diyfp M_minus, diyfp w, diyfp M_plus)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13364,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13365,1
    - Dst: nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
      Src: /src/cryptofuzz/third_party/json/json.hpp:13376,1
    - Dst: cryptofuzz_secp256k1_scalar_mul
      Src: /src/cryptofuzz/third_party/json/json.hpp:13381,1
    - Dst: cryptofuzz_secp256k1_scalar_mul
      Src: /src/cryptofuzz/third_party/json/json.hpp:13382,1
    - Dst: cryptofuzz_secp256k1_scalar_mul
      Src: /src/cryptofuzz/third_party/json/json.hpp:13383,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2_digit_gen
      Src: /src/cryptofuzz/third_party/json/json.hpp:13411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - m_minus
    - v
    - m_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    constantsTouched: []
    func_position:
      end: 13412
      start: 13361
    functionDepth: 2
    functionLinenumber: 13361
    functionLinenumberEnd: 13412
    functionName: nlohmann::detail::dtoa_impl::grisu2
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_scalar_mul
    - assert
    - nlohmann::detail::dtoa_impl::grisu2_digit_gen
    - nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent
    linkageType: ''
    returnType: void
    signature: "void grisu2(char* buf, int& len, int& decimal_exponent,\n                   diyfp
      m_minus, diyfp v, diyfp m_plus)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13426,1
    - Dst: std::isfinite
      Src: /src/cryptofuzz/third_party/json/json.hpp:13426,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13427,1
    - Dst: nlohmann::detail::dtoa_impl::compute_boundaries
      Src: /src/cryptofuzz/third_party/json/json.hpp:13446,1
    - Dst: static_cast<double>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13446,1
    - Dst: nlohmann::detail::dtoa_impl::compute_boundaries
      Src: /src/cryptofuzz/third_party/json/json.hpp:13448,1
    - Dst: nlohmann::detail::dtoa_impl::grisu2
      Src: /src/cryptofuzz/third_party/json/json.hpp:13451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - value
    argTypes:
    - char*
    - int
    - int
    - FloatType
    constantsTouched: []
    func_position:
      end: 13452
      start: 13420
    functionDepth: 3
    functionLinenumber: 13420
    functionLinenumberEnd: 13452
    functionName: '(1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::dtoa_impl::grisu2
    - static_cast<double>
    - assert
    - nlohmann::detail::dtoa_impl::compute_boundaries
    - std::isfinite
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: 'JSON_HEDLEY_NON_NULL (1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13463,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13464,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13476,1
    - Dst: static_cast<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13482,1
    - Dst: static_cast<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13486,1
    - Dst: static_cast<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13488,1
    - Dst: static_cast<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13492,1
    - Dst: static_cast<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13494,1
    - Dst: static_cast<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - e
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 13500
      start: 13461
    functionDepth: 0
    functionLinenumber: 13461
    functionLinenumberEnd: 13500
    functionName: nlohmann::detail::dtoa_impl::append_exponent
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<char>
    - static_cast<std::uint32_t>
    linkageType: ''
    returnType: char
    signature: char * append_exponent(char* buf, int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13516,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13517,1
    - Dst: std::memset
      Src: /src/cryptofuzz/third_party/json/json.hpp:13531,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13531,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13543,1
    - Dst: std::memmove
      Src: /src/cryptofuzz/third_party/json/json.hpp:13545,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13545,1
    - Dst: std::memmove
      Src: /src/cryptofuzz/third_party/json/json.hpp:13555,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13555,1
    - Dst: std::memset
      Src: /src/cryptofuzz/third_party/json/json.hpp:13558,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13558,1
    - Dst: std::memmove
      Src: /src/cryptofuzz/third_party/json/json.hpp:13574,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13574,1
    - Dst: nlohmann::detail::dtoa_impl::append_exponent
      Src: /src/cryptofuzz/third_party/json/json.hpp:13580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 5
    argNames:
    - buf
    - len
    - decimal_exponent
    - min_exp
    - max_exp
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 13581
      start: 13513
    functionDepth: 1
    functionLinenumber: 13513
    functionLinenumberEnd: 13581
    functionName: nlohmann::detail::dtoa_impl::format_buffer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - assert
    - std::memmove
    - std::memset
    - nlohmann::detail::dtoa_impl::append_exponent
    linkageType: ''
    returnType: char
    signature: "char * format_buffer(char* buf, int len, int decimal_exponent,\n                           int
      min_exp, int max_exp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:13693,1
    - Dst: std::localeconv
      Src: /src/cryptofuzz/third_party/json/json.hpp:13694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - ichar
    argTypes:
    - output_adapter_t<char>
    - char
    constantsTouched: []
    func_position:
      end: 13700
      start: 13691
    functionDepth: 0
    functionLinenumber: 13691
    functionLinenumberEnd: 13700
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::localeconv
    linkageType: ''
    returnType: void
    signature: "void serializer(output_adapter_t<char> s, const char ichar,\n               error_handler_t
      error_handler_ = error_handler_t::strict)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13703
      start: 13703
    functionDepth: 0
    functionLinenumber: 13703
    functionLinenumberEnd: 13703
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serializer(const serializer&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13704
      start: 13704
    functionDepth: 0
    functionLinenumber: 13704
    functionLinenumberEnd: 13704
    functionName: '& operator=(const serializer&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: serializer
    signature: serializer & operator=(const serializer&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13705
      start: 13705
    functionDepth: 0
    functionLinenumber: 13705
    functionLinenumberEnd: 13705
    functionName: nlohmann::detail::serializer::serializer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serializer(serializer&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13706
      start: 13706
    functionDepth: 0
    functionLinenumber: 13706
    functionLinenumberEnd: 13706
    functionName: '& operator=(serializer&&)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: serializer
    signature: serializer & operator=(serializer&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13707
      start: 13707
    functionDepth: 0
    functionLinenumber: 13707
    functionLinenumberEnd: 13707
    functionName: ~serializer()
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~serializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_value::object::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:13735,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13737,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13743,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:13747,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:13747,1
    - Dst: resize
      Src: /src/cryptofuzz/third_party/json/json.hpp:13749,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:13749,1
    - Dst: m_value::object::cbegin
      Src: /src/cryptofuzz/third_party/json/json.hpp:13753,1
    - Dst: m_value::object::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:13754,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13756,1
    - Dst: c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:13756,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13757,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/cryptofuzz/third_party/json/json.hpp:13758,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13759,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:13760,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13761,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13765,1
    - Dst: m_value::object::cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:13765,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13766,1
    - Dst: std::next
      Src: /src/cryptofuzz/third_party/json/json.hpp:13766,1
    - Dst: m_value::object::cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:13766,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13767,1
    - Dst: c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:13767,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13768,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/cryptofuzz/third_party/json/json.hpp:13769,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13770,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:13771,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13773,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13774,1
    - Dst: c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:13774,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13775,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13779,1
    - Dst: m_value::object::cbegin
      Src: /src/cryptofuzz/third_party/json/json.hpp:13782,1
    - Dst: m_value::object::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:13783,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13785,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/cryptofuzz/third_party/json/json.hpp:13786,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13787,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:13788,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13789,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13793,1
    - Dst: m_value::object::cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:13793,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13794,1
    - Dst: std::next
      Src: /src/cryptofuzz/third_party/json/json.hpp:13794,1
    - Dst: m_value::object::cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:13794,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13795,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/cryptofuzz/third_party/json/json.hpp:13796,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13797,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:13798,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13800,1
    - Dst: m_value::array::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:13808,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13810,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13816,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:13820,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:13820,1
    - Dst: resize
      Src: /src/cryptofuzz/third_party/json/json.hpp:13822,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:13822,1
    - Dst: m_value::array::cbegin
      Src: /src/cryptofuzz/third_party/json/json.hpp:13826,1
    - Dst: m_value::array::cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:13827,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13829,1
    - Dst: c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:13829,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:13830,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13831,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13835,1
    - Dst: m_value::array::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:13835,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13836,1
    - Dst: c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:13836,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:13837,1
    - Dst: m_value::array::back
      Src: /src/cryptofuzz/third_party/json/json.hpp:13837,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13839,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13840,1
    - Dst: c_str
      Src: /src/cryptofuzz/third_party/json/json.hpp:13840,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13841,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13845,1
    - Dst: m_value::array::cbegin
      Src: /src/cryptofuzz/third_party/json/json.hpp:13848,1
    - Dst: m_value::array::cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:13849,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:13851,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13852,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13856,1
    - Dst: m_value::array::empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:13856,1
    - Dst: nlohmann::detail::serializer::dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:13857,1
    - Dst: m_value::array::back
      Src: /src/cryptofuzz/third_party/json/json.hpp:13857,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13859,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13867,1
    - Dst: nlohmann::detail::serializer::dump_escaped
      Src: /src/cryptofuzz/third_party/json/json.hpp:13868,1
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:13869,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13877,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13881,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:13888,1
    - Dst: nlohmann::detail::serializer::dump_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:13894,1
    - Dst: nlohmann::detail::serializer::dump_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:13900,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13906,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:13912,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:13917,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 119
    argCount: 4
    argNames:
    - ' val'
    - pretty_print
    - ensure_ascii
    - indent_step
    argTypes:
    - BasicJsonType
    - bool
    - bool
    - unsigned int
    constantsTouched: []
    func_position:
      end: 13919
      start: 13726
    functionDepth: 1
    functionLinenumber: 13726
    functionLinenumberEnd: 13919
    functionName: nlohmann::detail::serializer::dump
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - std::next
    - JSON_HEDLEY_UNLIKELY
    - nlohmann::detail::serializer::dump_float
    - nlohmann::detail::serializer::dump_escaped
    - m_value::array::cbegin
    - write_characters
    - m_value::array::back
    - m_value::object::size
    - assert
    - nlohmann::detail::serializer::dump_integer
    - m_value::object::empty
    - m_value::array::empty
    - m_value::array::cend
    - m_value::object::cend
    - resize
    - nlohmann::detail::serializer::dump
    - m_value::object::cbegin
    - write_character
    - size
    - c_str
    linkageType: ''
    returnType: void
    signature: "void dump(const BasicJsonType& val, const bool pretty_print,\n              const
      bool ensure_ascii,\n              const unsigned int indent_step,\n              const
      unsigned int current_indent = 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:13946,1
    - Dst: static_cast<uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:13948,1
    - Dst: nlohmann::detail::serializer::decode
      Src: /src/cryptofuzz/third_party/json/json.hpp:13950,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:14013,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14014,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:14019,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14020,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14021,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:14038,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:14040,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:14040,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:14057,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:14058,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:14058,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:14058,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:14091,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:14092,1
    - Dst: nlohmann::detail::binary_writer::to_char_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:14093,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:14099,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:14101,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:14101,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:14116,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:14135,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:14140,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:14140,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:14151,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14151,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:14151,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:14152,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:14152,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:14158,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:14158,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:14165,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:14165,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:14169,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:14173,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:14179,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 139
    argCount: 2
    argNames:
    - ' s'
    - ensure_ascii
    argTypes:
    - string_t
    - bool
    constantsTouched: []
    func_position:
      end: 14182
      start: 13936
    functionDepth: 1
    functionLinenumber: 13936
    functionLinenumberEnd: 14182
    functionName: nlohmann::detail::serializer::dump_escaped
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::binary_writer::to_char_type
    - static_cast<std::uint16_t>
    - std::to_string
    - data
    - assert
    - static_cast<uint8_t>
    - size
    - nlohmann::detail::type_error::create
    - std::string::size
    - nlohmann::detail::serializer::decode
    - back
    - write_characters
    - static_cast<std::uint8_t>
    - JSON_HEDLEY_LIKELY
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void dump_escaped(const string_t& s, const bool ensure_ascii)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_unsigned_t
    constantsTouched: []
    func_position:
      end: 14216
      start: 14192
    functionDepth: 0
    functionLinenumber: 14192
    functionLinenumberEnd: 14216
    functionName: nlohmann::detail::serializer::count_digits
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_digits(number_unsigned_t x) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/cryptofuzz/third_party/json/json.hpp:14252,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:14257,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14267,1
    - Dst: std::abs
      Src: /src/cryptofuzz/third_party/json/json.hpp:14267,1
    - Dst: static_cast<std::intmax_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14267,1
    - Dst: nlohmann::detail::serializer::count_digits
      Src: /src/cryptofuzz/third_party/json/json.hpp:14270,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14274,1
    - Dst: nlohmann::detail::serializer::count_digits
      Src: /src/cryptofuzz/third_party/json/json.hpp:14275,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:14279,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:14279,1
    - Dst: static_cast<unsigned>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14289,1
    - Dst: static_cast<unsigned>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14297,1
    - Dst: static_cast<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14303,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:14306,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:14306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - x
    argTypes:
    - NumberType
    constantsTouched: []
    func_position:
      end: 14307
      start: 14231
    functionDepth: 1
    functionLinenumber: 14231
    functionLinenumberEnd: 14307
    functionName: nlohmann::detail::serializer::dump_integer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::serializer::count_digits
    - std::abs
    - static_cast<number_unsigned_t>
    - static_cast<unsigned>
    - data
    - assert
    - write_characters
    - static_cast<std::intmax_t>
    - write_character
    - size
    - static_cast<char>
    - begin
    linkageType: ''
    returnType: void
    signature: void dump_integer(NumberType x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/cryptofuzz/third_party/json/json.hpp:14320,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:14322,1
    - Dst: nlohmann::detail::serializer::dump_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:14335,1
    - Dst: std::integral_constant<bool, is_ieee_single_or_double>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    constantsTouched: []
    func_position:
      end: 14336
      start: 14317
    functionDepth: 1
    functionLinenumber: 14317
    functionLinenumberEnd: 14336
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - std::integral_constant<bool, is_ieee_single_or_double>
    - nlohmann::detail::serializer::dump_float
    - write_characters
    - std::isfinite
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:14343,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    constantsTouched: []
    func_position:
      end: 14344
      start: 14338
    functionDepth: 0
    functionLinenumber: 14338
    functionLinenumberEnd: 14344
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - write_characters
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:14352,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:14352,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:14355,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:14357,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14357,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:14357,1
    - Dst: std::remove
      Src: /src/cryptofuzz/third_party/json/json.hpp:14362,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:14362,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:14363,1
    - Dst: std::fill
      Src: /src/cryptofuzz/third_party/json/json.hpp:14364,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:14364,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:14365,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:14365,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:14366,1
    - Dst: find
      Src: /src/cryptofuzz/third_party/json/json.hpp:14372,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:14372,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:14372,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:14373,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:14379,1
    - Dst: data
      Src: /src/cryptofuzz/third_party/json/json.hpp:14379,1
    - Dst: static_cast<std::size_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:14379,1
    - Dst: write_characters
      Src: /src/cryptofuzz/third_party/json/json.hpp:14391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    constantsTouched: []
    func_position:
      end: 14393
      start: 14346
    functionDepth: 1
    functionLinenumber: 14346
    functionLinenumberEnd: 14393
    functionName: nlohmann::detail::serializer::dump_float
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - data
    - static_cast<std::size_t>
    - end
    - assert
    - write_characters
    - size
    - std::remove
    - find
    - std::fill
    - begin
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' state'
    - ' codep'
    - byte
    argTypes:
    - std::uint8_t
    - std::uint32_t
    - std::uint8_t
    constantsTouched: []
    func_position:
      end: 14446
      start: 14416
    functionDepth: 0
    functionLinenumber: 14416
    functionLinenumberEnd: 14446
    functionName: nlohmann::detail::serializer::decode
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, const
      std::uint8_t byte) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocator_type
      Src: /src/cryptofuzz/third_party/json/json.hpp:14699,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:14737,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:14738,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:14739,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:14761,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:14761,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:14761,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:14777,1
    - Dst: Botan::secure_allocator::deallocate
      Src: /src/cryptofuzz/third_party/json/json.hpp:15241,1
    - Dst: Botan::secure_allocator::allocate
      Src: /src/cryptofuzz/third_party/json/json.hpp:15243,1
    - Dst: nlohmann::detail::construct
      Src: /src/cryptofuzz/third_party/json/json.hpp:15244,1
    - Dst: std::unique_ptr::get
      Src: /src/cryptofuzz/third_party/json/json.hpp:15244,1
    - Dst: std::forward<Args>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15244,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:15245,1
    - Dst: std::unique_ptr::release
      Src: /src/cryptofuzz/third_party/json/json.hpp:15246,1
    - Dst: create<object_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15311,1
    - Dst: create<array_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15317,1
    - Dst: create<string_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15323,1
    - Dst: boolean_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:15329,1
    - Dst: number_integer_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:15335,1
    - Dst: number_unsigned_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:15341,1
    - Dst: number_float_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:15347,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:15360,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:15362,1
    - Dst: nlohmann::detail::other_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:15362,1
    - Dst: create<string_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15372,1
    - Dst: create<string_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15378,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:15378,1
    - Dst: create<object_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15384,1
    - Dst: create<object_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15390,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:15390,1
    - Dst: create<array_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15396,1
    - Dst: create<array_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15402,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:15402,1
    - Dst: Botan::PKCS11::Object::destroy
      Src: /src/cryptofuzz/third_party/json/json.hpp:15412,1
    - Dst: Botan::secure_allocator::deallocate
      Src: /src/cryptofuzz/third_party/json/json.hpp:15413,1
    - Dst: Botan::PKCS11::Object::destroy
      Src: /src/cryptofuzz/third_party/json/json.hpp:15420,1
    - Dst: Botan::secure_allocator::deallocate
      Src: /src/cryptofuzz/third_party/json/json.hpp:15421,1
    - Dst: Botan::PKCS11::Object::destroy
      Src: /src/cryptofuzz/third_party/json/json.hpp:15428,1
    - Dst: Botan::secure_allocator::deallocate
      Src: /src/cryptofuzz/third_party/json/json.hpp:15429,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:15452,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:15453,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:15454,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:15571,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:15595,1
    - Dst: noexcept
      Src: /src/cryptofuzz/third_party/json/json.hpp:15659,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:15660,1
    - Dst: std::declval<basic_json_t&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15660,1
    - Dst: std::forward<CompatibleType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15661,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:15663,1
    - Dst: std::forward<CompatibleType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15663,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:15664,1
    - Dst: nlohmann::type
      Src: /src/cryptofuzz/third_party/json/json.hpp:15706,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:15709,1
    - Dst: template get<other_boolean_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15709,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:15712,1
    - Dst: template get<other_number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15712,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:15715,1
    - Dst: template get<other_number_integer_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15715,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:15718,1
    - Dst: template get<other_number_unsigned_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15718,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:15721,1
    - Dst: template get_ref<const other_string_t&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15721,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:15724,1
    - Dst: template get_ref<const other_object_t&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15724,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:15727,1
    - Dst: template get_ref<const other_array_t&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15727,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:15736,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:15738,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:15837,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:15839,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:15839,1
    - Dst: std::for_each
      Src: /src/cryptofuzz/third_party/json/json.hpp:15849,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:15849,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:15849,1
    - Dst: moved_or_copied
      Src: /src/cryptofuzz/third_party/json/json.hpp:15851,1
    - Dst: object::emplace
      Src: /src/cryptofuzz/third_party/json/json.hpp:15852,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:15853,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:15854,1
    - Dst: create<array_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15861,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:15861,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:15861,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:15864,1
    - Dst: nlohmann::basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:15907,1
    - Dst: nlohmann::basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:15951,1
    - Dst: create<array_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:15979,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:15980,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:16043,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:16044,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:16047,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:16049,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:16049,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:16064,1
    - Dst: m_it::primitive_iterator::is_begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:16064,1
    - Dst: m_it::primitive_iterator::is_end
      Src: /src/cryptofuzz/third_party/json/json.hpp:16065,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:16067,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:16067,1
    - Dst: create<object_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:16110,1
    - Dst: create<array_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:16117,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:16123,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:16123,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:16124,1
    - Dst: m_object::type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:16124,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:16127,1
    - Dst: moved_or_copied
      Src: /src/cryptofuzz/third_party/json/json.hpp:16137,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:16169,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:16219,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:16249,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:16250,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:16253,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:16259,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:16293,1
    - Dst: swap
      Src: /src/cryptofuzz/third_party/json/json.hpp:16296,1
    - Dst: swap
      Src: /src/cryptofuzz/third_party/json/json.hpp:16297,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:16299,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:16320,1
    - Dst: destroy
      Src: /src/cryptofuzz/third_party/json/json.hpp:16321,1
    - Dst: s
      Src: /src/cryptofuzz/third_party/json/json.hpp:16382,1
    - Dst: detail::output_adapter<char, string_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:16382,1
    - Dst: dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:16386,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:16386,1
    - Dst: dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:16390,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 305
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16394
      start: 14570
    functionDepth: 2
    functionLinenumber: 14570
    functionLinenumberEnd: 16394
    functionName: nlohmann::basic_json
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - std::move
    - destroy
    - std::forward<CompatibleType>
    - std::to_string
    - swap
    - end
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - std::declval<basic_json_t&>
    - nlohmann::type
    - m_it::primitive_iterator::is_end
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - number_float_t
    - template get<other_number_unsigned_t>
    - std::unique_ptr::release
    - Botan::PKCS11::Object::destroy
    - begin
    - Botan::secure_allocator::deallocate
    - create<object_t>
    - assert_invariant
    - nlohmann::basic_json
    - dump
    - assert
    - detail::output_adapter<char, string_t>
    - noexcept
    - create<array_t>
    - nlohmann::detail::type_error::create
    - template get<other_number_float_t>
    - nlohmann::detail::other_error::create
    - m_it::primitive_iterator::is_begin
    - moved_or_copied
    - template get_ref<const other_object_t&>
    - nlohmann::detail::construct
    - number_unsigned_t
    - template get<other_boolean_t>
    - object::emplace
    - number_integer_t
    - s
    - static_cast<unsigned int>
    - Botan::secure_allocator::allocate
    - JSON_THROW
    - m_object::type_name
    - std::for_each
    - nlohmann::detail::invalid_iterator::create
    - template get_ref<const other_string_t&>
    - boolean_t
    - std::forward<Args>
    - template get<other_number_integer_t>
    - std::unique_ptr::get
    - allocator_type
    - create<string_t>
    - template get_ref<const other_array_t&>
    linkageType: ''
    returnType: NLOHMANN_BASIC_JSON_TPL_DECLARATION
    signature: NLOHMANN_BASIC_JSON_TPL_DECLARATION basic_json
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16431
      start: 16428
    functionDepth: 0
    functionLinenumber: 16428
    functionLinenumberEnd: 16431
    functionName: nlohmann::type
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: value_t
    signature: value_t type() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:16460,1
    - Dst: nlohmann::is_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:16460,1
    - Dst: nlohmann::is_boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:16460,1
    - Dst: nlohmann::is_number
      Src: /src/cryptofuzz/third_party/json/json.hpp:16460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16461
      start: 16458
    functionDepth: 1
    functionLinenumber: 16458
    functionLinenumberEnd: 16461
    functionName: nlohmann::is_primitive
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::is_null
    - nlohmann::is_number
    - nlohmann::is_string
    - nlohmann::is_boolean
    linkageType: ''
    returnType: bool
    signature: bool is_primitive() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:16487,1
    - Dst: nlohmann::is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:16487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16488
      start: 16485
    functionDepth: 1
    functionLinenumber: 16485
    functionLinenumberEnd: 16488
    functionName: nlohmann::is_structured
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::is_array
    - nlohmann::is_object
    linkageType: ''
    returnType: bool
    signature: bool is_structured() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16510
      start: 16507
    functionDepth: 0
    functionLinenumber: 16507
    functionLinenumberEnd: 16510
    functionName: nlohmann::is_null
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_null() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16532
      start: 16529
    functionDepth: 0
    functionLinenumber: 16529
    functionLinenumberEnd: 16532
    functionName: nlohmann::is_boolean
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_boolean() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::is_number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:16561,1
    - Dst: nlohmann::is_number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:16561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16562
      start: 16559
    functionDepth: 1
    functionLinenumber: 16559
    functionLinenumberEnd: 16562
    functionName: nlohmann::is_number
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::is_number_float
    - nlohmann::is_number_integer
    linkageType: ''
    returnType: bool
    signature: bool is_number() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16591
      start: 16588
    functionDepth: 0
    functionLinenumber: 16588
    functionLinenumberEnd: 16591
    functionName: nlohmann::is_number_integer
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_number_integer() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16619
      start: 16616
    functionDepth: 0
    functionLinenumber: 16616
    functionLinenumberEnd: 16619
    functionName: nlohmann::is_number_unsigned
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_number_unsigned() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16647
      start: 16644
    functionDepth: 0
    functionLinenumber: 16644
    functionLinenumberEnd: 16647
    functionName: nlohmann::is_number_float
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_number_float() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16669
      start: 16666
    functionDepth: 0
    functionLinenumber: 16666
    functionLinenumberEnd: 16669
    functionName: nlohmann::is_object
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_object() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16691
      start: 16688
    functionDepth: 0
    functionLinenumber: 16688
    functionLinenumberEnd: 16691
    functionName: nlohmann::is_array
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_array() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16713
      start: 16710
    functionDepth: 0
    functionLinenumber: 16710
    functionLinenumberEnd: 16713
    functionName: nlohmann::is_string
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_string() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16740
      start: 16737
    functionDepth: 0
    functionLinenumber: 16737
    functionLinenumberEnd: 16740
    functionName: nlohmann::is_discarded
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_discarded() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16766
      start: 16763
    functionDepth: 0
    functionLinenumber: 16763
    functionLinenumberEnd: 16766
    functionName: operator value_t() const noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator value_t() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:16789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16790
      start: 16787
    functionDepth: 0
    functionLinenumber: 16787
    functionLinenumberEnd: 16790
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_object
    linkageType: ''
    returnType: object_t
    signature: object_t * get_impl_ptr(object_t* /*unused*/) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:16795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16796
      start: 16793
    functionDepth: 0
    functionLinenumber: 16793
    functionLinenumberEnd: 16796
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_object
    linkageType: ''
    returnType: object_t
    signature: object_t * get_impl_ptr(const object_t* /*unused*/) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:16801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16802
      start: 16799
    functionDepth: 0
    functionLinenumber: 16799
    functionLinenumberEnd: 16802
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_array
    linkageType: ''
    returnType: array_t
    signature: array_t * get_impl_ptr(array_t* /*unused*/) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:16807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16808
      start: 16805
    functionDepth: 0
    functionLinenumber: 16805
    functionLinenumberEnd: 16808
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_array
    linkageType: ''
    returnType: array_t
    signature: array_t * get_impl_ptr(const array_t* /*unused*/) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:16813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16814
      start: 16811
    functionDepth: 0
    functionLinenumber: 16811
    functionLinenumberEnd: 16814
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_string
    linkageType: ''
    returnType: string_t
    signature: string_t * get_impl_ptr(string_t* /*unused*/) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:16819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16820
      start: 16817
    functionDepth: 0
    functionLinenumber: 16817
    functionLinenumberEnd: 16820
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_string
    linkageType: ''
    returnType: string_t
    signature: string_t * get_impl_ptr(const string_t* /*unused*/) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:16825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16826
      start: 16823
    functionDepth: 0
    functionLinenumber: 16823
    functionLinenumberEnd: 16826
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_boolean
    linkageType: ''
    returnType: boolean_t
    signature: boolean_t * get_impl_ptr(boolean_t* /*unused*/) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_boolean
      Src: /src/cryptofuzz/third_party/json/json.hpp:16831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16832
      start: 16829
    functionDepth: 0
    functionLinenumber: 16829
    functionLinenumberEnd: 16832
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_boolean
    linkageType: ''
    returnType: boolean_t
    signature: boolean_t * get_impl_ptr(const boolean_t* /*unused*/) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:16837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16838
      start: 16835
    functionDepth: 0
    functionLinenumber: 16835
    functionLinenumberEnd: 16838
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_integer
    linkageType: ''
    returnType: number_integer_t
    signature: number_integer_t * get_impl_ptr(number_integer_t* /*unused*/) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_number_integer
      Src: /src/cryptofuzz/third_party/json/json.hpp:16843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16844
      start: 16841
    functionDepth: 0
    functionLinenumber: 16841
    functionLinenumberEnd: 16844
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_integer
    linkageType: ''
    returnType: number_integer_t
    signature: number_integer_t * get_impl_ptr(const number_integer_t* /*unused*/)
      const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:16849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16850
      start: 16847
    functionDepth: 0
    functionLinenumber: 16847
    functionLinenumberEnd: 16850
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_unsigned
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t * get_impl_ptr(number_unsigned_t* /*unused*/) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_number_unsigned
      Src: /src/cryptofuzz/third_party/json/json.hpp:16855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16856
      start: 16853
    functionDepth: 0
    functionLinenumber: 16853
    functionLinenumberEnd: 16856
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_unsigned
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t * get_impl_ptr(const number_unsigned_t* /*unused*/)
      const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:16861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16862
      start: 16859
    functionDepth: 0
    functionLinenumber: 16859
    functionLinenumberEnd: 16862
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_float
    linkageType: ''
    returnType: number_float_t
    signature: number_float_t * get_impl_ptr(number_float_t* /*unused*/) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_number_float
      Src: /src/cryptofuzz/third_party/json/json.hpp:16867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16868
      start: 16865
    functionDepth: 0
    functionLinenumber: 16865
    functionLinenumberEnd: 16868
    functionName: get_impl_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_float
    linkageType: ''
    returnType: number_float_t
    signature: number_float_t * get_impl_ptr(const number_float_t* /*unused*/) const
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: template get_ptr<typename std::add_pointer<ReferenceType>::type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:16885,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:16887,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:16892,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:16892,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:16892,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:16892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - ThisType
    constantsTouched: []
    func_position:
      end: 16893
      start: 16882
    functionDepth: 1
    functionLinenumber: 16882
    functionLinenumberEnd: 16893
    functionName: get_ref_impl
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - template get_ptr<typename std::add_pointer<ReferenceType>::type>
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: ReferenceType
    signature: ReferenceType get_ref_impl(ThisType& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16943
      start: 16940
    functionDepth: 0
    functionLinenumber: 16940
    functionLinenumberEnd: 16943
    functionName: get
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 155
    functionsReached: []
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/cryptofuzz/third_party/json/json.hpp:16990,1
    - Dst: nlohmann::detail::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:16991,1
    - Dst: std::declval<const basic_json_t&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:16991,1
    - Dst: std::declval<ValueType&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:16991,1
    - Dst: nlohmann::detail::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:17002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17004
      start: 16990
    functionDepth: 2
    functionLinenumber: 16990
    functionLinenumberEnd: 17004
    functionName: get
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 155
    functionsReached:
    - noexcept
    - std::declval<const basic_json_t&>
    - nlohmann::detail::from_json
    - std::declval<ValueType&>
    linkageType: ''
    returnType: ValueType
    signature: "ValueType get() const noexcept(noexcept(\n                                       JSONSerializer<ValueType>::from_json(std::declval<const
      basic_json_t&>(), std::declval<ValueType&>())))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/cryptofuzz/third_party/json/json.hpp:17041,1
    - Dst: nlohmann::detail::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:17042,1
    - Dst: std::declval<const basic_json_t&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17042,1
    - Dst: nlohmann::detail::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:17046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17047
      start: 17041
    functionDepth: 2
    functionLinenumber: 17041
    functionLinenumberEnd: 17047
    functionName: get
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 155
    functionsReached:
    - noexcept
    - std::declval<const basic_json_t&>
    - nlohmann::detail::from_json
    linkageType: ''
    returnType: ValueType
    signature: "ValueType get() const noexcept(noexcept(\n                                       JSONSerializer<ValueTypeCV>::from_json(std::declval<const
      basic_json_t&>())))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/cryptofuzz/third_party/json/json.hpp:17087,1
    - Dst: nlohmann::detail::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:17088,1
    - Dst: std::declval<const basic_json_t&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17088,1
    - Dst: nlohmann::detail::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:17090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - ValueType
    constantsTouched: []
    func_position:
      end: 17092
      start: 17087
    functionDepth: 2
    functionLinenumber: 17087
    functionLinenumberEnd: 17092
    functionName: get_to
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - std::declval<const basic_json_t&>
    - nlohmann::detail::from_json
    linkageType: ''
    returnType: ValueType
    signature: "ValueType & get_to(ValueType& v) const noexcept(noexcept(\n                JSONSerializer<ValueType>::from_json(std::declval<const
      basic_json_t&>(), v)))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/cryptofuzz/third_party/json/json.hpp:17100,1
    - Dst: nlohmann::detail::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:17100,1
    - Dst: std::declval<const basic_json_t&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17101,1
    - Dst: nlohmann::detail::from_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:17103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (v)
    argTypes:
    - T[]
    constantsTouched: []
    func_position:
      end: 17105
      start: 17099
    functionDepth: 2
    functionLinenumber: 17099
    functionLinenumberEnd: 17105
    functionName: get_to
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - std::declval<const basic_json_t&>
    - nlohmann::detail::from_json
    linkageType: ''
    returnType: Array
    signature: "Array get_to(T (&v)[N]) const\n    noexcept(noexcept(JSONSerializer<Array>::from_json(\n
      \                         std::declval<const basic_json_t&>(), v)))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<basic_json_t&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17136,1
    - Dst: std::declval<PointerType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17136,1
    - Dst: get_impl_ptr
      Src: /src/cryptofuzz/third_party/json/json.hpp:17139,1
    - Dst: static_cast<PointerType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17140
      start: 17136
    functionDepth: 1
    functionLinenumber: 17136
    functionLinenumberEnd: 17140
    functionName: get_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::declval<basic_json_t&>
    - get_impl_ptr
    - static_cast<PointerType>
    - std::declval<PointerType>
    linkageType: ''
    returnType: auto
    signature: auto get_ptr() noexcept -> decltype(std::declval<basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<const basic_json_t&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17149,1
    - Dst: std::declval<PointerType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17149,1
    - Dst: get_impl_ptr
      Src: /src/cryptofuzz/third_party/json/json.hpp:17152,1
    - Dst: static_cast<PointerType>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17153
      start: 17149
    functionDepth: 1
    functionLinenumber: 17149
    functionLinenumberEnd: 17153
    functionName: get_ptr
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::declval<const basic_json_t&>
    - std::declval<PointerType>
    - get_impl_ptr
    - static_cast<PointerType>
    linkageType: ''
    returnType: auto
    signature: auto get_ptr() const noexcept -> decltype(std::declval<const basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<basic_json_t&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17184,1
    - Dst: get_ptr
      Src: /src/cryptofuzz/third_party/json/json.hpp:17187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17188
      start: 17184
    functionDepth: 2
    functionLinenumber: 17184
    functionLinenumberEnd: 17188
    functionName: get
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 155
    functionsReached:
    - get_ptr
    - std::declval<basic_json_t&>
    linkageType: ''
    returnType: auto
    signature: auto get() noexcept -> decltype(std::declval<basic_json_t&>().template
      get_ptr<PointerType>())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<const basic_json_t&>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17196,1
    - Dst: get_ptr
      Src: /src/cryptofuzz/third_party/json/json.hpp:17199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17200
      start: 17196
    functionDepth: 2
    functionLinenumber: 17196
    functionLinenumberEnd: 17200
    functionName: get
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 155
    functionsReached:
    - get_ptr
    - std::declval<const basic_json_t&>
    linkageType: ''
    returnType: auto
    signature: auto get() const noexcept -> decltype(std::declval<const basic_json_t&>().template
      get_ptr<PointerType>())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_ref_impl
      Src: /src/cryptofuzz/third_party/json/json.hpp:17233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17234
      start: 17230
    functionDepth: 2
    functionLinenumber: 17230
    functionLinenumberEnd: 17234
    functionName: get_ref
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - get_ref_impl
    linkageType: ''
    returnType: ReferenceType
    signature: ReferenceType get_ref()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_ref_impl
      Src: /src/cryptofuzz/third_party/json/json.hpp:17246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17247
      start: 17243
    functionDepth: 2
    functionLinenumber: 17243
    functionLinenumberEnd: 17247
    functionName: get_ref
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - get_ref_impl
    linkageType: ''
    returnType: ReferenceType
    signature: ReferenceType get_ref() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/third_party/json/json.hpp:17295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17296
      start: 17292
    functionDepth: 0
    functionLinenumber: 17292
    functionLinenumberEnd: 17296
    functionName: operator ValueType() const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void operator ValueType() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:17338,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:17338,1
    - Dst: array::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:17342,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:17347,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:17347,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:17347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 17349
      start: 17335
    functionDepth: 1
    functionLinenumber: 17335
    functionLinenumberEnd: 17349
    functionName: at
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 106
    functionsReached:
    - std::to_string
    - is_array
    - array::at
    - nlohmann::detail::out_of_range::create
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: reference
    signature: reference at(size_type idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:17385,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:17385,1
    - Dst: array::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:17389,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:17394,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:17394,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:17394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 17396
      start: 17382
    functionDepth: 1
    functionLinenumber: 17382
    functionLinenumberEnd: 17396
    functionName: at
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 107
    functionsReached:
    - std::to_string
    - is_array
    - array::at
    - nlohmann::detail::out_of_range::create
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: const_reference
    signature: const_reference at(size_type idx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:17436,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:17436,1
    - Dst: object::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:17440,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:17445,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:17445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    constantsTouched: []
    func_position:
      end: 17447
      start: 17433
    functionDepth: 1
    functionLinenumber: 17433
    functionLinenumberEnd: 17447
    functionName: at
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 108
    functionsReached:
    - object::at
    - nlohmann::detail::out_of_range::create
    - is_object
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: reference
    signature: reference at(const typename object_t::key_type& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:17487,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:17487,1
    - Dst: object::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:17491,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:17496,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:17496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    constantsTouched: []
    func_position:
      end: 17498
      start: 17484
    functionDepth: 1
    functionLinenumber: 17484
    functionLinenumberEnd: 17498
    functionName: at
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 109
    functionsReached:
    - object::at
    - nlohmann::detail::out_of_range::create
    - is_object
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: const_reference
    signature: const_reference at(const typename object_t::key_type& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:17533,1
    - Dst: create<array_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17536,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:17537,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:17541,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:17541,1
    - Dst: array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:17544,1
    - Dst: array::insert
      Src: /src/cryptofuzz/third_party/json/json.hpp:17546,1
    - Dst: array::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:17546,1
    - Dst: array::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:17547,1
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:17548,1
    - Dst: array
      Src: /src/cryptofuzz/third_party/json/json.hpp:17551,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:17554,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:17554,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:17554,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:17554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 17555
      start: 17530
    functionDepth: 1
    functionLinenumber: 17530
    functionLinenumberEnd: 17555
    functionName: operator[](size_type idx)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    - basic_json
    - array::end
    - array
    - std::string
    - type_name
    - array::size
    - array::insert
    - create<array_t>
    - nlohmann::detail::type_error::create
    - is_null
    - is_array
    - JSON_HEDLEY_LIKELY
    - JSON_THROW
    linkageType: ''
    returnType: reference
    signature: reference operator[](size_type idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:17579,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:17579,1
    - Dst: array
      Src: /src/cryptofuzz/third_party/json/json.hpp:17581,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:17584,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:17584,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:17584,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:17584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 17585
      start: 17576
    functionDepth: 1
    functionLinenumber: 17576
    functionLinenumberEnd: 17585
    functionName: operator[](size_type idx) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - is_array
    - array
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](size_type idx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:17617,1
    - Dst: create<object_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:17620,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:17621,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:17625,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:17625,1
    - Dst: object
      Src: /src/cryptofuzz/third_party/json/json.hpp:17627,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:17630,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:17630,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:17630,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:17630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    constantsTouched: []
    func_position:
      end: 17631
      start: 17614
    functionDepth: 1
    functionLinenumber: 17614
    functionLinenumberEnd: 17631
    functionName: operator[](const typename object_t::key_type& key)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - create<object_t>
    - assert_invariant
    - std::string
    - type_name
    - object
    - nlohmann::detail::type_error::create
    - is_object
    - is_null
    - JSON_HEDLEY_LIKELY
    - JSON_THROW
    linkageType: ''
    returnType: reference
    signature: reference operator[](const typename object_t::key_type& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:17666,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:17666,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:17668,1
    - Dst: object::find
      Src: /src/cryptofuzz/third_party/json/json.hpp:17668,1
    - Dst: object::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:17668,1
    - Dst: object::find
      Src: /src/cryptofuzz/third_party/json/json.hpp:17669,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:17672,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:17672,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:17672,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:17672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    constantsTouched: []
    func_position:
      end: 17673
      start: 17663
    functionDepth: 1
    functionLinenumber: 17663
    functionLinenumberEnd: 17673
    functionName: operator[](const typename object_t::key_type& key) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - std::string
    - object::find
    - nlohmann::detail::type_error::create
    - type_name
    - is_object
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - object::end
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](const typename object_t::key_type& key)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:17707,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:17711,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:17715,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:17715,1
    - Dst: object
      Src: /src/cryptofuzz/third_party/json/json.hpp:17717,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:17720,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:17720,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:17720,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:17720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 17721
      start: 17703
    functionDepth: 1
    functionLinenumber: 17703
    functionLinenumberEnd: 17721
    functionName: "(2)\n    reference operator[](T* key)"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    - is_object
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - object
    - is_null
    - JSON_HEDLEY_LIKELY
    - JSON_THROW
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    reference operator[](T* key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:17758,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:17758,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:17760,1
    - Dst: object::find
      Src: /src/cryptofuzz/third_party/json/json.hpp:17760,1
    - Dst: object::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:17760,1
    - Dst: object::find
      Src: /src/cryptofuzz/third_party/json/json.hpp:17761,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:17764,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:17764,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:17764,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:17764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 17765
      start: 17754
    functionDepth: 1
    functionLinenumber: 17754
    functionLinenumberEnd: 17765
    functionName: "(2)\n    const_reference operator[](T* key) const"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - assert
    - std::string
    - object::find
    - nlohmann::detail::type_error::create
    - type_name
    - is_object
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - object::end
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    const_reference operator[](T* key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:17822,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:17822,1
    - Dst: find
      Src: /src/cryptofuzz/third_party/json/json.hpp:17825,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:17826,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:17834,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:17834,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:17834,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:17834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' default_value'
    argTypes:
    - typename object_t::key_type
    - ValueType
    constantsTouched: []
    func_position:
      end: 17835
      start: 17819
    functionDepth: 1
    functionLinenumber: 17819
    functionLinenumberEnd: 17835
    functionName: value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 38
    functionsReached:
    - is_object
    - end
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - find
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: ValueType
    signature: ValueType value(const typename object_t::key_type& key, const ValueType&
      default_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/cryptofuzz/third_party/json/json.hpp:17843,1
    - Dst: string_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:17843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - default_value
    argTypes:
    - typename object_t::key_type
    - char*
    constantsTouched: []
    func_position:
      end: 17844
      start: 17841
    functionDepth: 1
    functionLinenumber: 17841
    functionLinenumberEnd: 17844
    functionName: value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 39
    functionsReached:
    - value
    - string_t
    linkageType: ''
    returnType: string_t
    signature: string_t value(const typename object_t::key_type& key, const char*
      default_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:17894,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:17894,1
    - Dst: get_checked
      Src: /src/cryptofuzz/third_party/json/json.hpp:17899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' ptr'
    - ' default_value'
    argTypes:
    - json_pointer
    - ValueType
    constantsTouched: []
    func_position:
      end: 17905
      start: 17891
    functionDepth: 3
    functionLinenumber: 17891
    functionLinenumberEnd: 17905
    functionName: value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 39
    functionsReached:
    - is_object
    - get_checked
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: ValueType
    signature: ValueType value(const json_pointer& ptr, const ValueType& default_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/cryptofuzz/third_party/json/json.hpp:17917,1
    - Dst: string_t
      Src: /src/cryptofuzz/third_party/json/json.hpp:17917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ptr'
    - default_value
    argTypes:
    - json_pointer
    - char*
    constantsTouched: []
    func_position:
      end: 17918
      start: 17915
    functionDepth: 1
    functionLinenumber: 17915
    functionLinenumberEnd: 17918
    functionName: value
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 40
    functionsReached:
    - value
    - string_t
    linkageType: ''
    returnType: string_t
    signature: string_t value(const json_pointer& ptr, const char* default_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:17947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17948
      start: 17945
    functionDepth: 0
    functionLinenumber: 17945
    functionLinenumberEnd: 17948
    functionName: front
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - begin
    linkageType: ''
    returnType: reference
    signature: reference front()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/cryptofuzz/third_party/json/json.hpp:17955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17956
      start: 17953
    functionDepth: 1
    functionLinenumber: 17953
    functionLinenumberEnd: 17956
    functionName: front
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - cbegin
    linkageType: ''
    returnType: const_reference
    signature: const_reference front() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:17991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17994
      start: 17989
    functionDepth: 0
    functionLinenumber: 17989
    functionLinenumberEnd: 17994
    functionName: back
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 99
    functionsReached:
    - end
    linkageType: ''
    returnType: reference
    signature: reference back()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:18001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18004
      start: 17999
    functionDepth: 1
    functionLinenumber: 17999
    functionLinenumberEnd: 18004
    functionName: back
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 99
    functionsReached:
    - cend
    linkageType: ''
    returnType: const_reference
    signature: const_reference back() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:18059,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:18061,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:18061,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:18064,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:18074,1
    - Dst: IteratorType::m_it::primitive_iterator::is_begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:18074,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:18076,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:18076,1
    - Dst: is_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:18079,1
    - Dst: Botan::PKCS11::Object::destroy
      Src: /src/cryptofuzz/third_party/json/json.hpp:18082,1
    - Dst: Botan::secure_allocator::deallocate
      Src: /src/cryptofuzz/third_party/json/json.hpp:18083,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:18088,1
    - Dst: object::erase
      Src: /src/cryptofuzz/third_party/json/json.hpp:18094,1
    - Dst: array::erase
      Src: /src/cryptofuzz/third_party/json/json.hpp:18100,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:18105,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:18105,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:18105,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:18105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - pos
    argTypes:
    - IteratorType
    constantsTouched: []
    func_position:
      end: 18109
      start: 18056
    functionDepth: 1
    functionLinenumber: 18056
    functionLinenumberEnd: 18109
    functionName: erase
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 7
    functionsReached:
    - Botan::secure_allocator::deallocate
    - assert_invariant
    - end
    - JSON_HEDLEY_UNLIKELY
    - array::erase
    - std::string
    - object::erase
    - IteratorType::m_it::primitive_iterator::is_begin
    - nlohmann::detail::type_error::create
    - type_name
    - Botan::PKCS11::Object::destroy
    - JSON_THROW
    - nlohmann::detail::invalid_iterator::create
    - is_string
    linkageType: ''
    returnType: IteratorType
    signature: IteratorType erase(IteratorType pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:18164,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:18166,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:18166,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:18169,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:18179,1
    - Dst: IteratorType::m_it::primitive_iterator::is_begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:18179,1
    - Dst: IteratorType::m_it::primitive_iterator::is_end
      Src: /src/cryptofuzz/third_party/json/json.hpp:18180,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:18182,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:18182,1
    - Dst: is_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:18185,1
    - Dst: Botan::PKCS11::Object::destroy
      Src: /src/cryptofuzz/third_party/json/json.hpp:18188,1
    - Dst: Botan::secure_allocator::deallocate
      Src: /src/cryptofuzz/third_party/json/json.hpp:18189,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:18194,1
    - Dst: object::erase
      Src: /src/cryptofuzz/third_party/json/json.hpp:18200,1
    - Dst: array::erase
      Src: /src/cryptofuzz/third_party/json/json.hpp:18207,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:18213,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:18213,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:18213,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:18213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    constantsTouched: []
    func_position:
      end: 18217
      start: 18161
    functionDepth: 1
    functionLinenumber: 18161
    functionLinenumberEnd: 18217
    functionName: erase
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 8
    functionsReached:
    - Botan::secure_allocator::deallocate
    - IteratorType::m_it::primitive_iterator::is_end
    - assert_invariant
    - end
    - nlohmann::detail::invalid_iterator::create
    - JSON_HEDLEY_UNLIKELY
    - array::erase
    - std::string
    - object::erase
    - IteratorType::m_it::primitive_iterator::is_begin
    - nlohmann::detail::type_error::create
    - type_name
    - Botan::PKCS11::Object::destroy
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - is_string
    linkageType: ''
    returnType: IteratorType
    signature: IteratorType erase(IteratorType first, IteratorType last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:18251,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:18251,1
    - Dst: object::erase
      Src: /src/cryptofuzz/third_party/json/json.hpp:18253,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:18256,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:18256,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:18256,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:18256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    constantsTouched: []
    func_position:
      end: 18257
      start: 18248
    functionDepth: 1
    functionLinenumber: 18248
    functionLinenumberEnd: 18257
    functionName: erase
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 9
    functionsReached:
    - std::string
    - object::erase
    - nlohmann::detail::type_error::create
    - type_name
    - is_object
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: size_type
    signature: size_type erase(const typename object_t::key_type& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:18286,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:18286,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:18288,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:18288,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:18290,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:18290,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:18290,1
    - Dst: array::erase
      Src: /src/cryptofuzz/third_party/json/json.hpp:18293,1
    - Dst: array::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:18293,1
    - Dst: static_cast<difference_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:18293,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:18297,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:18297,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:18297,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:18297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 18299
      start: 18283
    functionDepth: 1
    functionLinenumber: 18283
    functionLinenumberEnd: 18299
    functionName: erase
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 10
    functionsReached:
    - array::begin
    - std::to_string
    - is_array
    - JSON_HEDLEY_UNLIKELY
    - array::erase
    - std::string
    - type_name
    - nlohmann::detail::out_of_range::create
    - size
    - static_cast<difference_type>
    - nlohmann::detail::type_error::create
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: void
    signature: void erase(const size_type idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:18338,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:18340,1
    - Dst: object::find
      Src: /src/cryptofuzz/third_party/json/json.hpp:18342,1
    - Dst: std::forward<KeyT>
      Src: /src/cryptofuzz/third_party/json/json.hpp:18342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyT
    constantsTouched: []
    func_position:
      end: 18346
      start: 18336
    functionDepth: 1
    functionLinenumber: 18336
    functionLinenumberEnd: 18346
    functionName: find
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 59
    functionsReached:
    - end
    - is_object
    - std::forward<KeyT>
    - object::find
    linkageType: ''
    returnType: iterator
    signature: iterator find(KeyT&& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:18355,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:18357,1
    - Dst: object::find
      Src: /src/cryptofuzz/third_party/json/json.hpp:18359,1
    - Dst: std::forward<KeyT>
      Src: /src/cryptofuzz/third_party/json/json.hpp:18359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyT
    constantsTouched: []
    func_position:
      end: 18363
      start: 18353
    functionDepth: 1
    functionLinenumber: 18353
    functionLinenumberEnd: 18363
    functionName: find
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 60
    functionsReached:
    - object::find
    - is_object
    - std::forward<KeyT>
    - cend
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(KeyT&& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:18390,1
    - Dst: object::count
      Src: /src/cryptofuzz/third_party/json/json.hpp:18390,1
    - Dst: std::forward<KeyT>
      Src: /src/cryptofuzz/third_party/json/json.hpp:18390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyT
    constantsTouched: []
    func_position:
      end: 18391
      start: 18387
    functionDepth: 1
    functionLinenumber: 18387
    functionLinenumberEnd: 18391
    functionName: count
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 6
    functionsReached:
    - std::forward<KeyT>
    - is_object
    - object::count
    linkageType: ''
    returnType: size_type
    signature: size_type count(KeyT&& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:18422,1
    - Dst: object::find
      Src: /src/cryptofuzz/third_party/json/json.hpp:18422,1
    - Dst: std::forward<KeyT>
      Src: /src/cryptofuzz/third_party/json/json.hpp:18422,1
    - Dst: object::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:18422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyT
    constantsTouched: []
    func_position:
      end: 18423
      start: 18420
    functionDepth: 2
    functionLinenumber: 18420
    functionLinenumberEnd: 18423
    functionName: contains
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - object::find
    - is_object
    - std::forward<KeyT>
    - object::end
    linkageType: ''
    returnType: bool
    signature: bool contains(KeyT && key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/cryptofuzz/third_party/json/json.hpp:18453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    constantsTouched: []
    func_position:
      end: 18454
      start: 18451
    functionDepth: 1
    functionLinenumber: 18451
    functionLinenumberEnd: 18454
    functionName: contains
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool contains(const json_pointer& ptr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterator::set_begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:18493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18495
      start: 18490
    functionDepth: 0
    functionLinenumber: 18490
    functionLinenumberEnd: 18495
    functionName: begin
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 151
    functionsReached:
    - iterator::set_begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/cryptofuzz/third_party/json/json.hpp:18502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18503
      start: 18500
    functionDepth: 1
    functionLinenumber: 18500
    functionLinenumberEnd: 18503
    functionName: begin
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 152
    functionsReached:
    - cbegin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator::set_begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:18533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18535
      start: 18530
    functionDepth: 0
    functionLinenumber: 18530
    functionLinenumberEnd: 18535
    functionName: cbegin
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 4
    functionsReached:
    - const_iterator::set_begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterator::set_end
      Src: /src/cryptofuzz/third_party/json/json.hpp:18564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18566
      start: 18561
    functionDepth: 0
    functionLinenumber: 18561
    functionLinenumberEnd: 18566
    functionName: end
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 221
    functionsReached:
    - iterator::set_end
    linkageType: ''
    returnType: iterator
    signature: iterator end() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:18573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18574
      start: 18571
    functionDepth: 1
    functionLinenumber: 18571
    functionLinenumberEnd: 18574
    functionName: end
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 222
    functionsReached:
    - cend
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator::set_end
      Src: /src/cryptofuzz/third_party/json/json.hpp:18604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18606
      start: 18601
    functionDepth: 0
    functionLinenumber: 18601
    functionLinenumberEnd: 18606
    functionName: cend
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 4
    functionsReached:
    - const_iterator::set_end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:18633,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:18633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18634
      start: 18631
    functionDepth: 0
    functionLinenumber: 18631
    functionLinenumberEnd: 18634
    functionName: rbegin
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - reverse_iterator
    - end
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/cryptofuzz/third_party/json/json.hpp:18641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18642
      start: 18639
    functionDepth: 1
    functionLinenumber: 18639
    functionLinenumberEnd: 18642
    functionName: rbegin
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - crbegin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:18670,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:18670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18671
      start: 18668
    functionDepth: 0
    functionLinenumber: 18668
    functionLinenumberEnd: 18671
    functionName: rend
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - reverse_iterator
    - begin
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crend
      Src: /src/cryptofuzz/third_party/json/json.hpp:18678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18679
      start: 18676
    functionDepth: 1
    functionLinenumber: 18676
    functionLinenumberEnd: 18679
    functionName: rend
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - crend
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:18707,1
    - Dst: cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:18707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18708
      start: 18705
    functionDepth: 1
    functionLinenumber: 18705
    functionLinenumberEnd: 18708
    functionName: crbegin
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - cend
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crbegin() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:18736,1
    - Dst: cbegin
      Src: /src/cryptofuzz/third_party/json/json.hpp:18736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18737
      start: 18734
    functionDepth: 1
    functionLinenumber: 18734
    functionLinenumberEnd: 18737
    functionName: crend
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - cbegin
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crend() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: array::max_size
      Src: /src/cryptofuzz/third_party/json/json.hpp:19088,1
    - Dst: object::max_size
      Src: /src/cryptofuzz/third_party/json/json.hpp:19094,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:19100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19103
      start: 19081
    functionDepth: 1
    functionLinenumber: 19081
    functionLinenumberEnd: 19103
    functionName: ''
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 4796
    functionsReached:
    - size
    - object::max_size
    - array::max_size
    linkageType: ''
    returnType: noexcept
    signature: 'noexcept '
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: string::clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:19181,1
    - Dst: array::clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:19187,1
    - Dst: object::clear
      Src: /src/cryptofuzz/third_party/json/json.hpp:19193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19200
      start: 19151
    functionDepth: 1
    functionLinenumber: 19151
    functionLinenumberEnd: 19200
    functionName: clear
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 31
    functionsReached:
    - string::clear
    - array::clear
    - object::clear
    linkageType: ''
    returnType: void
    signature: void clear() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19225,1
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:19225,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:19225,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19227,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19227,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19227,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19227,1
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:19231,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:19235,1
    - Dst: array::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:19239,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:19239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - basic_json
    constantsTouched: []
    func_position:
      end: 19243
      start: 19222
    functionDepth: 1
    functionLinenumber: 19222
    functionLinenumberEnd: 19243
    functionName: push_back
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 83
    functionsReached:
    - std::move
    - assert_invariant
    - array::push_back
    - is_array
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - is_null
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void push_back(basic_json&& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:19251,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:19251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - basic_json
    constantsTouched: []
    func_position:
      end: 19253
      start: 19249
    functionDepth: 2
    functionLinenumber: 19249
    functionLinenumberEnd: 19253
    functionName: operator+=(basic_json&& val)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - push_back
    linkageType: ''
    returnType: reference
    signature: reference operator+=(basic_json&& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19262,1
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:19262,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:19262,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19264,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19264,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19264,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19264,1
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:19268,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:19272,1
    - Dst: array::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:19276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - basic_json
    constantsTouched: []
    func_position:
      end: 19277
      start: 19259
    functionDepth: 1
    functionLinenumber: 19259
    functionLinenumberEnd: 19277
    functionName: push_back
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 85
    functionsReached:
    - assert_invariant
    - array::push_back
    - is_array
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - is_null
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void push_back(const basic_json& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:19285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - basic_json
    constantsTouched: []
    func_position:
      end: 19287
      start: 19283
    functionDepth: 2
    functionLinenumber: 19283
    functionLinenumberEnd: 19287
    functionName: operator+=(const basic_json& val)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: reference
    signature: reference operator+=(const basic_json& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19312,1
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:19312,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19312,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19314,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19314,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19314,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19314,1
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:19318,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:19322,1
    - Dst: object::insert
      Src: /src/cryptofuzz/third_party/json/json.hpp:19326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - typename object_t::value_type
    constantsTouched: []
    func_position:
      end: 19327
      start: 19309
    functionDepth: 1
    functionLinenumber: 19309
    functionLinenumberEnd: 19327
    functionName: push_back
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 86
    functionsReached:
    - assert_invariant
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - object::insert
    - is_null
    - nlohmann::detail::type_error::create
    - type_name
    - is_object
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void push_back(const typename object_t::value_type& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:19335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - typename object_t::value_type
    constantsTouched: []
    func_position:
      end: 19337
      start: 19333
    functionDepth: 2
    functionLinenumber: 19333
    functionLinenumberEnd: 19337
    functionName: operator+=(const typename object_t::value_type& val)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: reference
    signature: reference operator+=(const typename object_t::value_type& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19366,1
    - Dst: initializer_list_t::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:19366,1
    - Dst: initializer_list_t::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:19366,1
    - Dst: is_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19366,1
    - Dst: initializer_list_t::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:19368,1
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:19374,1
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:19374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - init
    argTypes:
    - initializer_list_t
    constantsTouched: []
    func_position:
      end: 19376
      start: 19364
    functionDepth: 1
    functionLinenumber: 19364
    functionLinenumberEnd: 19376
    functionName: push_back
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 88
    functionsReached:
    - initializer_list_t::size
    - basic_json
    - is_string
    - initializer_list_t::begin
    - is_object
    - push_back
    linkageType: ''
    returnType: void
    signature: void push_back(initializer_list_t init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:19384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - init
    argTypes:
    - initializer_list_t
    constantsTouched: []
    func_position:
      end: 19386
      start: 19382
    functionDepth: 2
    functionLinenumber: 19382
    functionLinenumberEnd: 19386
    functionName: operator+=(initializer_list_t init)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: reference
    signature: reference operator+=(initializer_list_t init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19415,1
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:19415,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:19415,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19417,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19417,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19417,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19417,1
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:19421,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:19425,1
    - Dst: array::emplace_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:19430,1
    - Dst: std::forward<Args>
      Src: /src/cryptofuzz/third_party/json/json.hpp:19430,1
    - Dst: array::emplace_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:19432,1
    - Dst: std::forward<Args>
      Src: /src/cryptofuzz/third_party/json/json.hpp:19432,1
    - Dst: array::back
      Src: /src/cryptofuzz/third_party/json/json.hpp:19433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19435
      start: 19412
    functionDepth: 1
    functionLinenumber: 19412
    functionLinenumberEnd: 19435
    functionName: emplace_back
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 4
    functionsReached:
    - assert_invariant
    - array::emplace_back
    - std::forward<Args>
    - is_array
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - is_null
    - array::back
    - JSON_THROW
    linkageType: ''
    returnType: reference
    signature: reference emplace_back(Args&& ... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19468,1
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:19468,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19468,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19470,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19470,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19470,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19470,1
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:19474,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:19478,1
    - Dst: object::emplace
      Src: /src/cryptofuzz/third_party/json/json.hpp:19482,1
    - Dst: std::forward<Args>
      Src: /src/cryptofuzz/third_party/json/json.hpp:19482,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:19484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19489
      start: 19465
    functionDepth: 1
    functionLinenumber: 19465
    functionLinenumberEnd: 19489
    functionName: emplace
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 6
    functionsReached:
    - assert_invariant
    - std::forward<Args>
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - object::emplace
    - is_null
    - nlohmann::detail::type_error::create
    - type_name
    - is_object
    - JSON_THROW
    - begin
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> emplace(Args&& ... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:19498,1
    - Dst: std::distance
      Src: /src/cryptofuzz/third_party/json/json.hpp:19500,1
    - Dst: array::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:19500,1
    - Dst: array::insert
      Src: /src/cryptofuzz/third_party/json/json.hpp:19501,1
    - Dst: std::forward<Args>
      Src: /src/cryptofuzz/third_party/json/json.hpp:19501,1
    - Dst: array::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:19502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pos
    argTypes:
    - const_iterator
    constantsTouched: []
    func_position:
      end: 19509
      start: 19495
    functionDepth: 1
    functionLinenumber: 19495
    functionLinenumberEnd: 19509
    functionName: insert_iterator
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - array::begin
    - std::forward<Args>
    - assert
    - array::insert
    - std::distance
    linkageType: ''
    returnType: iterator
    signature: iterator insert_iterator(const_iterator pos, Args&& ... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19536,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:19536,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19539,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19541,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19541,1
    - Dst: insert_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:19545,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19548,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19548,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19548,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pos
    - ' val'
    argTypes:
    - const_iterator
    - basic_json
    constantsTouched: []
    func_position:
      end: 19549
      start: 19533
    functionDepth: 2
    functionLinenumber: 19533
    functionLinenumberEnd: 19549
    functionName: insert
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 56
    functionsReached:
    - JSON_HEDLEY_LIKELY
    - is_array
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - insert_iterator
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, const basic_json& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/cryptofuzz/third_party/json/json.hpp:19557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pos
    - ' val'
    argTypes:
    - const_iterator
    - basic_json
    constantsTouched: []
    func_position:
      end: 19558
      start: 19555
    functionDepth: 1
    functionLinenumber: 19555
    functionLinenumberEnd: 19558
    functionName: insert
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 57
    functionsReached:
    - insert
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, basic_json&& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19587,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:19587,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19590,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19592,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19592,1
    - Dst: insert_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:19596,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19599,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19599,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19599,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pos
    - cnt
    - ' val'
    argTypes:
    - const_iterator
    - size_type
    - basic_json
    constantsTouched: []
    func_position:
      end: 19600
      start: 19584
    functionDepth: 2
    functionLinenumber: 19584
    functionLinenumberEnd: 19600
    functionName: insert
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 57
    functionsReached:
    - JSON_HEDLEY_LIKELY
    - is_array
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - insert_iterator
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, size_type cnt, const basic_json&
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19635,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:19635,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19637,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19637,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19637,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19637,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19641,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19643,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19643,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19647,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19649,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19649,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19652,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19654,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19654,1
    - Dst: insert_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:19658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pos
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    - const_iterator
    constantsTouched: []
    func_position:
      end: 19659
      start: 19632
    functionDepth: 2
    functionLinenumber: 19632
    functionLinenumberEnd: 19659
    functionName: insert
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 57
    functionsReached:
    - is_array
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - insert_iterator
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, const_iterator first, const_iterator
      last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19688,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:19688,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19690,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19690,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19690,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19690,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19694,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19696,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19696,1
    - Dst: insert_iterator
      Src: /src/cryptofuzz/third_party/json/json.hpp:19700,1
    - Dst: initializer_list_t::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:19700,1
    - Dst: initializer_list_t::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:19700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pos
    - ilist
    argTypes:
    - const_iterator
    - initializer_list_t
    constantsTouched: []
    func_position:
      end: 19701
      start: 19685
    functionDepth: 2
    functionLinenumber: 19685
    functionLinenumberEnd: 19701
    functionName: insert
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 57
    functionsReached:
    - initializer_list_t::end
    - is_array
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - initializer_list_t::begin
    - insert_iterator
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, initializer_list_t ilist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19729,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19729,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19731,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19731,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19731,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19731,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19735,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19737,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19737,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19741,1
    - Dst: const_iterator::m_object::is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19741,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19743,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19743,1
    - Dst: object::insert
      Src: /src/cryptofuzz/third_party/json/json.hpp:19746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    constantsTouched: []
    func_position:
      end: 19747
      start: 19726
    functionDepth: 1
    functionLinenumber: 19726
    functionLinenumberEnd: 19747
    functionName: insert
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 58
    functionsReached:
    - const_iterator::m_object::is_object
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - object::insert
    - nlohmann::detail::type_error::create
    - type_name
    - is_object
    - JSON_THROW
    - nlohmann::detail::invalid_iterator::create
    linkageType: ''
    returnType: void
    signature: void insert(const_iterator first, const_iterator last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:19771,1
    - Dst: create<object_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:19774,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:19775,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19778,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19778,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19780,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19780,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19780,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19780,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19782,1
    - Dst: const_reference::is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19782,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19784,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19784,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19784,1
    - Dst: const_reference::type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19784,1
    - Dst: const_reference::cbegin
      Src: /src/cryptofuzz/third_party/json/json.hpp:19787,1
    - Dst: const_reference::cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:19787,1
    - Dst: object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19789,1
    - Dst: auto::key
      Src: /src/cryptofuzz/third_party/json/json.hpp:19789,1
    - Dst: auto::value
      Src: /src/cryptofuzz/third_party/json/json.hpp:19789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - j
    argTypes:
    - const_reference
    constantsTouched: []
    func_position:
      end: 19791
      start: 19768
    functionDepth: 2
    functionLinenumber: 19768
    functionLinenumberEnd: 19791
    functionName: update
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 86
    functionsReached:
    - create<object_t>
    - assert_invariant
    - auto::value
    - const_reference::type_name
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - const_reference::cend
    - nlohmann::detail::type_error::create
    - type_name
    - const_reference::is_object
    - object
    - is_object
    - auto::key
    - is_null
    - const_reference::cbegin
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void update(const_reference j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/cryptofuzz/third_party/json/json.hpp:19822,1
    - Dst: create<object_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:19825,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:19826,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19829,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19829,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19831,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19831,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19831,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19831,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19835,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19837,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19837,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19841,1
    - Dst: const_iterator::m_object::is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19841,1
    - Dst: const_iterator::m_object::is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19842,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19844,1
    - Dst: nlohmann::detail::invalid_iterator::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19844,1
    - Dst: object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19849,1
    - Dst: auto::key
      Src: /src/cryptofuzz/third_party/json/json.hpp:19849,1
    - Dst: auto::value
      Src: /src/cryptofuzz/third_party/json/json.hpp:19849,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    constantsTouched: []
    func_position:
      end: 19851
      start: 19819
    functionDepth: 2
    functionLinenumber: 19819
    functionLinenumberEnd: 19851
    functionName: update
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 86
    functionsReached:
    - create<object_t>
    - assert_invariant
    - auto::value
    - const_iterator::m_object::is_object
    - JSON_HEDLEY_UNLIKELY
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - object
    - auto::key
    - is_object
    - is_null
    - nlohmann::detail::invalid_iterator::create
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void update(const_iterator first, const_iterator last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/cryptofuzz/third_party/json/json.hpp:19877,1
    - Dst: std::swap
      Src: /src/cryptofuzz/third_party/json/json.hpp:19878,1
    - Dst: assert_invariant
      Src: /src/cryptofuzz/third_party/json/json.hpp:19879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - reference
    constantsTouched: []
    func_position:
      end: 19880
      start: 19870
    functionDepth: 0
    functionLinenumber: 19870
    functionLinenumberEnd: 19880
    functionName: swap
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 4
    functionsReached:
    - assert_invariant
    - std::swap
    linkageType: ''
    returnType: void
    signature: "void swap(reference other) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value
      and\n        std::is_nothrow_move_assignable<value_t>::value and\n        std::is_nothrow_move_constructible<json_value>::value
      and\n        std::is_nothrow_move_assignable<json_value>::value\n    )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19905,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:19905,1
    - Dst: std::swap
      Src: /src/cryptofuzz/third_party/json/json.hpp:19907,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19911,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19911,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19911,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - array_t
    constantsTouched: []
    func_position:
      end: 19913
      start: 19902
    functionDepth: 1
    functionLinenumber: 19902
    functionLinenumberEnd: 19913
    functionName: swap
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 5
    functionsReached:
    - std::swap
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - is_array
    - JSON_HEDLEY_LIKELY
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void swap(array_t& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19938,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:19938,1
    - Dst: std::swap
      Src: /src/cryptofuzz/third_party/json/json.hpp:19940,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19944,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19944,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19944,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - object_t
    constantsTouched: []
    func_position:
      end: 19946
      start: 19935
    functionDepth: 1
    functionLinenumber: 19935
    functionLinenumberEnd: 19946
    functionName: swap
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 6
    functionsReached:
    - std::swap
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - is_object
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: void
    signature: void swap(object_t& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:19971,1
    - Dst: is_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19971,1
    - Dst: std::swap
      Src: /src/cryptofuzz/third_party/json/json.hpp:19973,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:19977,1
    - Dst: nlohmann::detail::type_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:19977,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:19977,1
    - Dst: type_name
      Src: /src/cryptofuzz/third_party/json/json.hpp:19977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - string_t
    constantsTouched: []
    func_position:
      end: 19979
      start: 19968
    functionDepth: 1
    functionLinenumber: 19968
    functionLinenumberEnd: 19979
    functionName: swap
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 7
    functionsReached:
    - std::swap
    - std::string
    - nlohmann::detail::type_error::create
    - type_name
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - is_string
    linkageType: ''
    returnType: void
    signature: void swap(string_t& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:20103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    constantsTouched: []
    func_position:
      end: 20104
      start: 20101
    functionDepth: 0
    functionLinenumber: 20101
    functionLinenumberEnd: 20104
    functionName: operator==(const_reference lhs, const ScalarType rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator==(const_reference lhs, const ScalarType rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:20114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    constantsTouched: []
    func_position:
      end: 20115
      start: 20112
    functionDepth: 0
    functionLinenumber: 20112
    functionLinenumberEnd: 20115
    functionName: operator==(const ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    constantsTouched: []
    func_position:
      end: 20138
      start: 20135
    functionDepth: 0
    functionLinenumber: 20135
    functionLinenumberEnd: 20138
    functionName: operator!=(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator!=(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:20148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    constantsTouched: []
    func_position:
      end: 20149
      start: 20146
    functionDepth: 0
    functionLinenumber: 20146
    functionLinenumberEnd: 20149
    functionName: operator!=(const_reference lhs, const ScalarType rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const_reference lhs, const ScalarType rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:20159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    constantsTouched: []
    func_position:
      end: 20160
      start: 20157
    functionDepth: 0
    functionLinenumber: 20157
    functionLinenumberEnd: 20160
    functionName: operator!=(const ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_reference::type
      Src: /src/cryptofuzz/third_party/json/json.hpp:20190,1
    - Dst: const_reference::type
      Src: /src/cryptofuzz/third_party/json/json.hpp:20191,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:20229,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:20233,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:20237,1
    - Dst: static_cast<number_float_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:20241,1
    - Dst: static_cast<number_integer_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:20245,1
    - Dst: static_cast<number_integer_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:20249,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    constantsTouched: []
    func_position:
      end: 20256
      start: 20188
    functionDepth: 1
    functionLinenumber: 20188
    functionLinenumberEnd: 20256
    functionName: operator<(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<number_float_t>
    - static_cast<number_integer_t>
    - const_reference::type
    linkageType: ''
    returnType: friend
    signature: friend operator<(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:20266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    constantsTouched: []
    func_position:
      end: 20267
      start: 20264
    functionDepth: 0
    functionLinenumber: 20264
    functionLinenumberEnd: 20267
    functionName: operator<(const_reference lhs, const ScalarType rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<(const_reference lhs, const ScalarType rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:20277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    constantsTouched: []
    func_position:
      end: 20278
      start: 20275
    functionDepth: 0
    functionLinenumber: 20275
    functionLinenumberEnd: 20278
    functionName: operator<(const ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<(const ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    constantsTouched: []
    func_position:
      end: 20302
      start: 20299
    functionDepth: 0
    functionLinenumber: 20299
    functionLinenumberEnd: 20302
    functionName: operator<=(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator<=(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:20312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    constantsTouched: []
    func_position:
      end: 20313
      start: 20310
    functionDepth: 0
    functionLinenumber: 20310
    functionLinenumberEnd: 20313
    functionName: operator<=(const_reference lhs, const ScalarType rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const_reference lhs, const ScalarType rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:20323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    constantsTouched: []
    func_position:
      end: 20324
      start: 20321
    functionDepth: 0
    functionLinenumber: 20321
    functionLinenumberEnd: 20324
    functionName: operator<=(const ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    constantsTouched: []
    func_position:
      end: 20348
      start: 20345
    functionDepth: 0
    functionLinenumber: 20345
    functionLinenumberEnd: 20348
    functionName: operator>(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator>(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:20358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    constantsTouched: []
    func_position:
      end: 20359
      start: 20356
    functionDepth: 0
    functionLinenumber: 20356
    functionLinenumberEnd: 20359
    functionName: operator>(const_reference lhs, const ScalarType rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>(const_reference lhs, const ScalarType rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:20369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    constantsTouched: []
    func_position:
      end: 20370
      start: 20367
    functionDepth: 0
    functionLinenumber: 20367
    functionLinenumberEnd: 20370
    functionName: operator>(const ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>(const ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    constantsTouched: []
    func_position:
      end: 20394
      start: 20391
    functionDepth: 0
    functionLinenumber: 20391
    functionLinenumberEnd: 20394
    functionName: operator>=(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator>=(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:20404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    constantsTouched: []
    func_position:
      end: 20405
      start: 20402
    functionDepth: 0
    functionLinenumber: 20402
    functionLinenumberEnd: 20405
    functionName: operator>=(const_reference lhs, const ScalarType rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const_reference lhs, const ScalarType rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:20415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    constantsTouched: []
    func_position:
      end: 20416
      start: 20413
    functionDepth: 0
    functionLinenumber: 20413
    functionLinenumberEnd: 20416
    functionName: operator>=(const ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/cryptofuzz/third_party/json/json.hpp:20462,1
    - Dst: width
      Src: /src/cryptofuzz/third_party/json/json.hpp:20465,1
    - Dst: detail::output_adapter<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:20468,1
    - Dst: fill
      Src: /src/cryptofuzz/third_party/json/json.hpp:20468,1
    - Dst: serializer::dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:20469,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/third_party/json/json.hpp:20469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' o'
    - ' j'
    argTypes:
    - std::ostream
    - basic_json
    constantsTouched: []
    func_position:
      end: 20471
      start: 20458
    functionDepth: 0
    functionLinenumber: 20458
    functionLinenumberEnd: 20471
    functionName: '& operator<<(std::ostream& o, const basic_json& j)'
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - serializer::dump
    - fill
    - detail::output_adapter<char>
    - width
    - static_cast<unsigned int>
    linkageType: ''
    returnType: friend
    signature: friend & operator<<(std::ostream& o, const basic_json& j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/cryptofuzz/third_party/json/json.hpp:20572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::input_adapter
    constantsTouched: []
    func_position:
      end: 20573
      start: 20570
    functionDepth: 0
    functionLinenumber: 20570
    functionLinenumberEnd: 20573
    functionName: accept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - parser
    linkageType: ''
    returnType: bool
    signature: bool accept(detail::input_adapter&& i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:20634,1
    - Dst: parser
      Src: /src/cryptofuzz/third_party/json/json.hpp:20636,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:20636,1
    - Dst: detail::binary_reader<basic_json, SAX>
      Src: /src/cryptofuzz/third_party/json/json.hpp:20637,1
    - Dst: std::move
      Src: /src/cryptofuzz/third_party/json/json.hpp:20637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' i'
    - sax
    argTypes:
    - detail::input_adapter
    - SAX*
    constantsTouched: []
    func_position:
      end: 20638
      start: 20630
    functionDepth: 0
    functionLinenumber: 20630
    functionLinenumberEnd: 20638
    functionName: sax_parse
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - std::move
    - parser
    - assert
    - detail::binary_reader<basic_json, SAX>
    linkageType: ''
    returnType: bool
    signature: "bool sax_parse(detail::input_adapter&& i, SAX* sax,\n                          input_format_t
      format = input_format_t::json,\n                          const bool strict
      = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/cryptofuzz/third_party/json/json.hpp:20698,1
    - Dst: nlohmann::detail::file_input_adapter::file_input_adapter
      Src: /src/cryptofuzz/third_party/json/json.hpp:20698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    constantsTouched: []
    func_position:
      end: 20700
      start: 20693
    functionDepth: 1
    functionLinenumber: 20693
    functionLinenumberEnd: 20700
    functionName: parse
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 125
    functionsReached:
    - nlohmann::detail::file_input_adapter::file_input_adapter
    - parser
    linkageType: ''
    returnType: basic_json
    signature: "basic_json parse(IteratorType first, IteratorType last,\n                            const
      parser_callback_t cb = nullptr,\n                            const bool allow_exceptions
      = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/cryptofuzz/third_party/json/json.hpp:20708,1
    - Dst: nlohmann::detail::file_input_adapter::file_input_adapter
      Src: /src/cryptofuzz/third_party/json/json.hpp:20708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    constantsTouched: []
    func_position:
      end: 20709
      start: 20706
    functionDepth: 1
    functionLinenumber: 20706
    functionLinenumberEnd: 20709
    functionName: accept
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::file_input_adapter::file_input_adapter
    - parser
    linkageType: ''
    returnType: bool
    signature: bool accept(IteratorType first, IteratorType last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/cryptofuzz/third_party/json/json.hpp:20718,1
    - Dst: nlohmann::detail::file_input_adapter::file_input_adapter
      Src: /src/cryptofuzz/third_party/json/json.hpp:20718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - first
    - last
    - sax
    argTypes:
    - IteratorType
    - IteratorType
    - SAX*
    constantsTouched: []
    func_position:
      end: 20719
      start: 20716
    functionDepth: 1
    functionLinenumber: 20716
    functionLinenumberEnd: 20719
    functionName: sax_parse
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::file_input_adapter::file_input_adapter
    - parser
    linkageType: ''
    returnType: bool
    signature: bool sax_parse(IteratorType first, IteratorType last, SAX* sax)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20824
      start: 20803
    functionDepth: 0
    functionLinenumber: 20803
    functionLinenumberEnd: 20824
    functionName: ''
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 4839
    functionsReached: []
    linkageType: ''
    returnType: noexcept
    signature: 'noexcept '
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:20943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<uint8_t>
    constantsTouched: []
    func_position:
      end: 20944
      start: 20941
    functionDepth: 0
    functionLinenumber: 20941
    functionLinenumberEnd: 20944
    functionName: to_cbor
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer<uint8_t>
    linkageType: ''
    returnType: void
    signature: void to_cbor(const basic_json& j, detail::output_adapter<uint8_t> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:20948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    constantsTouched: []
    func_position:
      end: 20949
      start: 20946
    functionDepth: 0
    functionLinenumber: 20946
    functionLinenumberEnd: 20949
    functionName: to_cbor
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: void to_cbor(const basic_json& j, detail::output_adapter<char> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_msgpack
      Src: /src/cryptofuzz/third_party/json/json.hpp:21033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - basic_json
    constantsTouched: []
    func_position:
      end: 21035
      start: 21030
    functionDepth: 1
    functionLinenumber: 21030
    functionLinenumberEnd: 21035
    functionName: to_msgpack
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - to_msgpack
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> to_msgpack(const basic_json& j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:21039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<uint8_t>
    constantsTouched: []
    func_position:
      end: 21040
      start: 21037
    functionDepth: 0
    functionLinenumber: 21037
    functionLinenumberEnd: 21040
    functionName: to_msgpack
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<uint8_t>
    linkageType: ''
    returnType: void
    signature: void to_msgpack(const basic_json& j, detail::output_adapter<uint8_t>
      o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:21044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    constantsTouched: []
    func_position:
      end: 21045
      start: 21042
    functionDepth: 0
    functionLinenumber: 21042
    functionLinenumberEnd: 21045
    functionName: to_msgpack
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: void to_msgpack(const basic_json& j, detail::output_adapter<char> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_ubjson
      Src: /src/cryptofuzz/third_party/json/json.hpp:21132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - basic_json
    constantsTouched: []
    func_position:
      end: 21134
      start: 21127
    functionDepth: 1
    functionLinenumber: 21127
    functionLinenumberEnd: 21134
    functionName: to_ubjson
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - to_ubjson
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> to_ubjson(const basic_json& j,\n                                          const
      bool use_size = false,\n                                          const bool
      use_type = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:21139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<uint8_t>
    constantsTouched: []
    func_position:
      end: 21140
      start: 21136
    functionDepth: 0
    functionLinenumber: 21136
    functionLinenumberEnd: 21140
    functionName: to_ubjson
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void to_ubjson(const basic_json& j, detail::output_adapter<uint8_t>
      o,\n                          const bool use_size = false, const bool use_type
      = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:21145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    constantsTouched: []
    func_position:
      end: 21146
      start: 21142
    functionDepth: 0
    functionLinenumber: 21142
    functionLinenumberEnd: 21146
    functionName: to_ubjson
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: "void to_ubjson(const basic_json& j, detail::output_adapter<char> o,\n
      \                         const bool use_size = false, const bool use_type =
      false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_bson
      Src: /src/cryptofuzz/third_party/json/json.hpp:21207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - basic_json
    constantsTouched: []
    func_position:
      end: 21209
      start: 21204
    functionDepth: 1
    functionLinenumber: 21204
    functionLinenumberEnd: 21209
    functionName: to_bson
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - to_bson
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> to_bson(const basic_json& j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<uint8_t>
      Src: /src/cryptofuzz/third_party/json/json.hpp:21221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<uint8_t>
    constantsTouched: []
    func_position:
      end: 21222
      start: 21219
    functionDepth: 0
    functionLinenumber: 21219
    functionLinenumberEnd: 21222
    functionName: to_bson
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<uint8_t>
    linkageType: ''
    returnType: void
    signature: void to_bson(const basic_json& j, detail::output_adapter<uint8_t> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/cryptofuzz/third_party/json/json.hpp:21229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    constantsTouched: []
    func_position:
      end: 21230
      start: 21227
    functionDepth: 0
    functionLinenumber: 21227
    functionLinenumberEnd: 21230
    functionName: to_bson
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: void to_bson(const basic_json& j, detail::output_adapter<char> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:21340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::input_adapter
    constantsTouched: []
    func_position:
      end: 21341
      start: 21332
    functionDepth: 0
    functionLinenumber: 21332
    functionLinenumberEnd: 21341
    functionName: from_cbor
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_cbor(detail::input_adapter&& i,\n
      \                               const bool strict = true,\n                                const
      bool allow_exceptions = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:21356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a1'
    - ' a2'
    argTypes:
    - A1
    - A2
    constantsTouched: []
    func_position:
      end: 21357
      start: 21348
    functionDepth: 0
    functionLinenumber: 21348
    functionLinenumberEnd: 21357
    functionName: from_cbor
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_cbor(A1 && a1, A2 && a2,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:21449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::input_adapter
    constantsTouched: []
    func_position:
      end: 21450
      start: 21441
    functionDepth: 0
    functionLinenumber: 21441
    functionLinenumberEnd: 21450
    functionName: from_msgpack
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_msgpack(detail::input_adapter&&
      i,\n                                   const bool strict = true,\n                                   const
      bool allow_exceptions = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:21465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a1'
    - ' a2'
    argTypes:
    - A1
    - A2
    constantsTouched: []
    func_position:
      end: 21466
      start: 21457
    functionDepth: 0
    functionLinenumber: 21457
    functionLinenumberEnd: 21466
    functionName: from_msgpack
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_msgpack(A1 && a1, A2 && a2,\n
      \                                  const bool strict = true,\n                                   const
      bool allow_exceptions = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:21537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::input_adapter
    constantsTouched: []
    func_position:
      end: 21538
      start: 21529
    functionDepth: 0
    functionLinenumber: 21529
    functionLinenumberEnd: 21538
    functionName: from_ubjson
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_ubjson(detail::input_adapter&&
      i,\n                                  const bool strict = true,\n                                  const
      bool allow_exceptions = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:21553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a1'
    - ' a2'
    argTypes:
    - A1
    - A2
    constantsTouched: []
    func_position:
      end: 21554
      start: 21545
    functionDepth: 0
    functionLinenumber: 21545
    functionLinenumberEnd: 21554
    functionName: from_ubjson
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_ubjson(A1 && a1, A2 && a2,\n                                  const
      bool strict = true,\n                                  const bool allow_exceptions
      = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:21624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::input_adapter
    constantsTouched: []
    func_position:
      end: 21625
      start: 21616
    functionDepth: 0
    functionLinenumber: 21616
    functionLinenumberEnd: 21625
    functionName: from_bson
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_bson(detail::input_adapter&& i,\n
      \                               const bool strict = true,\n                                const
      bool allow_exceptions = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/cryptofuzz/third_party/json/json.hpp:21640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a1'
    - ' a2'
    argTypes:
    - A1
    - A2
    constantsTouched: []
    func_position:
      end: 21641
      start: 21632
    functionDepth: 0
    functionLinenumber: 21632
    functionLinenumberEnd: 21641
    functionName: from_bson
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_bson(A1 && a1, A2 && a2,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_unchecked
      Src: /src/cryptofuzz/third_party/json/json.hpp:21689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    constantsTouched: []
    func_position:
      end: 21690
      start: 21687
    functionDepth: 3
    functionLinenumber: 21687
    functionLinenumberEnd: 21690
    functionName: operator[](const json_pointer& ptr)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - get_unchecked
    linkageType: ''
    returnType: reference
    signature: reference operator[](const json_pointer& ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_unchecked
      Src: /src/cryptofuzz/third_party/json/json.hpp:21717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    constantsTouched: []
    func_position:
      end: 21718
      start: 21715
    functionDepth: 3
    functionLinenumber: 21715
    functionLinenumberEnd: 21718
    functionName: operator[](const json_pointer& ptr) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - get_unchecked
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](const json_pointer& ptr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_checked
      Src: /src/cryptofuzz/third_party/json/json.hpp:21760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    constantsTouched: []
    func_position:
      end: 21761
      start: 21758
    functionDepth: 3
    functionLinenumber: 21758
    functionLinenumberEnd: 21761
    functionName: at
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 109
    functionsReached:
    - get_checked
    linkageType: ''
    returnType: reference
    signature: reference at(const json_pointer& ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_checked
      Src: /src/cryptofuzz/third_party/json/json.hpp:21803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    constantsTouched: []
    func_position:
      end: 21804
      start: 21801
    functionDepth: 3
    functionLinenumber: 21801
    functionLinenumberEnd: 21804
    functionName: at
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 109
    functionsReached:
    - get_checked
    linkageType: ''
    returnType: const_reference
    signature: const_reference at(const json_pointer& ptr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flatten
      Src: /src/cryptofuzz/third_party/json/json.hpp:21831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21833
      start: 21828
    functionDepth: 1
    functionLinenumber: 21828
    functionLinenumberEnd: 21833
    functionName: flatten
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 2
    functionsReached:
    - flatten
    linkageType: ''
    returnType: basic_json
    signature: basic_json flatten() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unflatten
      Src: /src/cryptofuzz/third_party/json/json.hpp:21867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21868
      start: 21865
    functionDepth: 1
    functionLinenumber: 21865
    functionLinenumberEnd: 21868
    functionName: unflatten
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - unflatten
    linkageType: ''
    returnType: basic_json
    signature: basic_json unflatten() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/third_party/json/json.hpp:21968,1
    - Dst: top
      Src: /src/cryptofuzz/third_party/json/json.hpp:21975,1
    - Dst: basic_json::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:21978,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:21982,1
    - Dst: pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:21983,1
    - Dst: push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:22001,1
    - Dst: nlohmann::json_pointer::array_index
      Src: /src/cryptofuzz/third_party/json/json.hpp:22005,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:22006,1
    - Dst: static_cast<size_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:22006,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:22006,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:22009,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:22009,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:22009,1
    - Dst: insert
      Src: /src/cryptofuzz/third_party/json/json.hpp:22013,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:22013,1
    - Dst: static_cast<difference_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:22013,1
    - Dst: assert
      Src: /src/cryptofuzz/third_party/json/json.hpp:22020,1
    - Dst: back
      Src: /src/cryptofuzz/third_party/json/json.hpp:22028,1
    - Dst: pop_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:22029,1
    - Dst: basic_json::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:22030,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:22033,1
    - Dst: find
      Src: /src/cryptofuzz/third_party/json/json.hpp:22036,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:22037,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:22037,1
    - Dst: erase
      Src: /src/cryptofuzz/third_party/json/json.hpp:22039,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:22043,1
    - Dst: nlohmann::detail::out_of_range::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:22043,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:22046,1
    - Dst: erase
      Src: /src/cryptofuzz/third_party/json/json.hpp:22049,1
    - Dst: static_cast<size_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:22049,1
    - Dst: nlohmann::json_pointer::array_index
      Src: /src/cryptofuzz/third_party/json/json.hpp:22049,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:22054,1
    - Dst: is_array
      Src: /src/cryptofuzz/third_party/json/json.hpp:22054,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:22056,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:22056,1
    - Dst: m_value::object::find
      Src: /src/cryptofuzz/third_party/json/json.hpp:22068,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:22074,1
    - Dst: m_value::object::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:22074,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:22076,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:22076,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:22080,1
    - Dst: auto::second::is_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:22080,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:22082,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:22082,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/cryptofuzz/third_party/json/json.hpp:22090,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:22090,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:22092,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:22092,1
    - Dst: get_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:22096,1
    - Dst: get_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:22097,1
    - Dst: get_op
      Src: /src/cryptofuzz/third_party/json/json.hpp:22100,1
    - Dst: operation_add
      Src: /src/cryptofuzz/third_party/json/json.hpp:22104,1
    - Dst: get_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:22104,1
    - Dst: operation_remove
      Src: /src/cryptofuzz/third_party/json/json.hpp:22110,1
    - Dst: basic_json::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:22117,1
    - Dst: get_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:22117,1
    - Dst: get_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:22123,1
    - Dst: basic_json::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:22127,1
    - Dst: operation_remove
      Src: /src/cryptofuzz/third_party/json/json.hpp:22133,1
    - Dst: operation_add
      Src: /src/cryptofuzz/third_party/json/json.hpp:22134,1
    - Dst: get_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:22140,1
    - Dst: basic_json::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:22144,1
    - Dst: operation_add
      Src: /src/cryptofuzz/third_party/json/json.hpp:22149,1
    - Dst: basic_json::at
      Src: /src/cryptofuzz/third_party/json/json.hpp:22160,1
    - Dst: get_value
      Src: /src/cryptofuzz/third_party/json/json.hpp:22160,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:22170,1
    - Dst: nlohmann::detail::other_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:22170,1
    - Dst: dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:22170,1
    - Dst: JSON_THROW
      Src: /src/cryptofuzz/third_party/json/json.hpp:22180,1
    - Dst: nlohmann::detail::parse_error::create
      Src: /src/cryptofuzz/third_party/json/json.hpp:22180,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 108
    argCount: 1
    argNames:
    - ' json_patch'
    argTypes:
    - basic_json
    constantsTouched: []
    func_position:
      end: 22183
      start: 21926
    functionDepth: 3
    functionLinenumber: 21926
    functionLinenumberEnd: 22183
    functionName: patch
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - end
    - empty
    - JSON_HEDLEY_UNLIKELY
    - static_cast<size_type>
    - m_value::object::find
    - auto::second::is_string
    - is_object
    - back
    - is_array
    - begin
    - erase
    - operation_add
    - pop_back
    - dump
    - assert
    - get_op
    - insert
    - nlohmann::json_pointer::array_index
    - top
    - operation_remove
    - nlohmann::detail::other_error::create
    - nlohmann::detail::out_of_range::create
    - m_value::object::end
    - find
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - nlohmann::detail::parse_error::create
    - get_value
    - basic_json::at
    - size
    - static_cast<difference_type>
    - push_back
    linkageType: ''
    returnType: basic_json
    signature: basic_json patch(const basic_json& json_patch) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/cryptofuzz/third_party/json/json.hpp:22234,1
    - Dst: type
      Src: /src/cryptofuzz/third_party/json/json.hpp:22234,1
    - Dst: basic_json::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:22237,1
    - Dst: type
      Src: /src/cryptofuzz/third_party/json/json.hpp:22244,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:22250,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:22250,1
    - Dst: diff
      Src: /src/cryptofuzz/third_party/json/json.hpp:22253,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:22253,1
    - Dst: basic_json::insert
      Src: /src/cryptofuzz/third_party/json/json.hpp:22254,1
    - Dst: basic_json::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:22254,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:22254,1
    - Dst: auto::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:22254,1
    - Dst: static_cast<difference_type>
      Src: /src/cryptofuzz/third_party/json/json.hpp:22262,1
    - Dst: basic_json::size
      Src: /src/cryptofuzz/third_party/json/json.hpp:22262,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:22263,1
    - Dst: basic_json::insert
      Src: /src/cryptofuzz/third_party/json/json.hpp:22267,1
    - Dst: basic_json::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:22267,1
    - Dst: object
      Src: /src/cryptofuzz/third_party/json/json.hpp:22267,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:22270,1
    - Dst: size
      Src: /src/cryptofuzz/third_party/json/json.hpp:22276,1
    - Dst: basic_json::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:22278,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/third_party/json/json.hpp:22281,1
    - Dst: cbegin
      Src: /src/cryptofuzz/third_party/json/json.hpp:22293,1
    - Dst: cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:22293,1
    - Dst: escape
      Src: /src/cryptofuzz/third_party/json/json.hpp:22296,1
    - Dst: auto::key
      Src: /src/cryptofuzz/third_party/json/json.hpp:22296,1
    - Dst: find
      Src: /src/cryptofuzz/third_party/json/json.hpp:22298,1
    - Dst: auto::key
      Src: /src/cryptofuzz/third_party/json/json.hpp:22298,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:22298,1
    - Dst: diff
      Src: /src/cryptofuzz/third_party/json/json.hpp:22301,1
    - Dst: auto::value
      Src: /src/cryptofuzz/third_party/json/json.hpp:22301,1
    - Dst: auto::key
      Src: /src/cryptofuzz/third_party/json/json.hpp:22301,1
    - Dst: basic_json::insert
      Src: /src/cryptofuzz/third_party/json/json.hpp:22302,1
    - Dst: basic_json::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:22302,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:22302,1
    - Dst: auto::end
      Src: /src/cryptofuzz/third_party/json/json.hpp:22302,1
    - Dst: basic_json::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:22307,1
    - Dst: object
      Src: /src/cryptofuzz/third_party/json/json.hpp:22307,1
    - Dst: cbegin
      Src: /src/cryptofuzz/third_party/json/json.hpp:22315,1
    - Dst: cend
      Src: /src/cryptofuzz/third_party/json/json.hpp:22315,1
    - Dst: find
      Src: /src/cryptofuzz/third_party/json/json.hpp:22317,1
    - Dst: auto::key
      Src: /src/cryptofuzz/third_party/json/json.hpp:22317,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:22317,1
    - Dst: escape
      Src: /src/cryptofuzz/third_party/json/json.hpp:22320,1
    - Dst: auto::key
      Src: /src/cryptofuzz/third_party/json/json.hpp:22320,1
    - Dst: basic_json::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:22321,1
    - Dst: auto::value
      Src: /src/cryptofuzz/third_party/json/json.hpp:22324,1
    - Dst: basic_json::push_back
      Src: /src/cryptofuzz/third_party/json/json.hpp:22335,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - ' source'
    - ' target'
    argTypes:
    - basic_json
    - basic_json
    constantsTouched: []
    func_position:
      end: 22344
      start: 22221
    functionDepth: 3
    functionLinenumber: 22221
    functionLinenumberEnd: 22344
    functionName: diff
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - std::to_string
    - auto::value
    - end
    - diff
    - auto::end
    - basic_json::size
    - auto::begin
    - cend
    - escape
    - basic_json::end
    - cbegin
    - basic_json::insert
    - basic_json::push_back
    - find
    - basic_json::begin
    - type
    - size
    - static_cast<difference_type>
    - auto::key
    - object
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT diff(const basic_json& source, const
      basic_json& target,\n                           const std::string& path = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:22399,1
    - Dst: is_object
      Src: /src/cryptofuzz/third_party/json/json.hpp:22401,1
    - Dst: object
      Src: /src/cryptofuzz/third_party/json/json.hpp:22403,1
    - Dst: begin
      Src: /src/cryptofuzz/third_party/json/json.hpp:22405,1
    - Dst: end
      Src: /src/cryptofuzz/third_party/json/json.hpp:22405,1
    - Dst: auto::value
      Src: /src/cryptofuzz/third_party/json/json.hpp:22407,1
    - Dst: erase
      Src: /src/cryptofuzz/third_party/json/json.hpp:22409,1
    - Dst: auto::key
      Src: /src/cryptofuzz/third_party/json/json.hpp:22409,1
    - Dst: merge_patch
      Src: /src/cryptofuzz/third_party/json/json.hpp:22413,1
    - Dst: auto::value
      Src: /src/cryptofuzz/third_party/json/json.hpp:22413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' apply_patch'
    argTypes:
    - basic_json
    constantsTouched: []
    func_position:
      end: 22421
      start: 22397
    functionDepth: 2
    functionLinenumber: 22397
    functionLinenumberEnd: 22421
    functionName: merge_patch
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 1
    functionsReached:
    - auto::value
    - end
    - object
    - auto::key
    - merge_patch
    - is_object
    - begin
    - erase
    linkageType: ''
    returnType: void
    signature: void merge_patch(const basic_json& apply_patch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:22438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - NLOHMANN_BASIC_JSON_TPL
    constantsTouched: []
    func_position:
      end: 22439
      start: 22435
    functionDepth: 0
    functionLinenumber: 22435
    functionLinenumberEnd: 22439
    functionName: std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - dump
    linkageType: ''
    returnType: NLOHMANN_BASIC_JSON_TPL_DECLARATION
    signature: NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string(const NLOHMANN_BASIC_JSON_TPL&
      j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/cryptofuzz/third_party/json/json.hpp:22462,1
    - Dst: h
      Src: /src/cryptofuzz/third_party/json/json.hpp:22463,1
    - Dst: dump
      Src: /src/cryptofuzz/third_party/json/json.hpp:22463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 22464
      start: 22459
    functionDepth: 1
    functionLinenumber: 22459
    functionLinenumberEnd: 22464
    functionName: operator()(const nlohmann::json& j) const
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - hash
    - dump
    - h
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const nlohmann::json& j) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::operator<
      Src: /src/cryptofuzz/third_party/json/json.hpp:22480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - nlohmann::detail::value_t
    - nlohmann::detail::value_t
    constantsTouched: []
    func_position:
      end: 22481
      start: 22477
    functionDepth: 0
    functionLinenumber: 22477
    functionLinenumberEnd: 22481
    functionName: "operator()(nlohmann::detail::value_t lhs,\n                    nlohmann::detail::value_t
      rhs) const noexcept"
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::operator<
    linkageType: ''
    returnType: bool
    signature: "bool operator()(nlohmann::detail::value_t lhs,\n                    nlohmann::detail::value_t
      rhs) const noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/cryptofuzz/third_party/json/json.hpp:22495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j1'
    - ' j2'
    argTypes:
    - nlohmann::json
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 22496
      start: 22490
    functionDepth: 0
    functionLinenumber: 22490
    functionLinenumberEnd: 22496
    functionName: std::swap
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 5
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: "void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2)
      noexcept(\n    is_nothrow_move_constructible<nlohmann::json>::value and\n    is_nothrow_move_assignable<nlohmann::json>::value\n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/third_party/json/json.hpp:22516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 22517
      start: 22514
    functionDepth: 1
    functionLinenumber: 22514
    functionLinenumberEnd: 22517
    functionName: operator "" _json(const char* s, std::size_t n)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json operator "" _json(const char* s, std::size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json_pointer::json_pointer
      Src: /src/cryptofuzz/third_party/json/json.hpp:22535,1
    - Dst: std::string
      Src: /src/cryptofuzz/third_party/json/json.hpp:22535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 22536
      start: 22533
    functionDepth: 2
    functionLinenumber: 22533
    functionLinenumberEnd: 22536
    functionName: operator "" _json_pointer(const char* s, std::size_t n)
    functionSourceFile: /src/cryptofuzz/third_party/json/json.hpp
    functionUses: 0
    functionsReached:
    - std::string
    - nlohmann::json_pointer::json_pointer
    linkageType: ''
    returnType: nlohmann::json::json_pointer
    signature: nlohmann::json::json_pointer operator "" _json_pointer(const char*
      s, std::size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/uri.cpp:12,1
    - Dst: Botan::URI::from_any
      Src: /src/botan/src/fuzzer/uri.cpp:17,1
    - Dst: std::string
      Src: /src/botan/src/fuzzer/uri.cpp:17,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/fuzzer/uri.cpp:17,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/uri.cpp:17,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/uri.cpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/uri.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - std::string
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan::URI::from_any
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:12,1
    - Dst: std::memcpy
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:18,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:18,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:18,1
    - Dst: Botan::basecase_sqr
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:31,1
    - Dst: Botan::bigint_comba_sqr4
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:34,1
    - Dst: Botan::bigint_comba_mul4
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:36,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:37,1
    - Dst: Botan::bigint_comba_sqr6
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:40,1
    - Dst: Botan::bigint_comba_mul6
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:42,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:43,1
    - Dst: Botan::bigint_comba_sqr8
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:46,1
    - Dst: Botan::bigint_comba_mul8
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:48,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:49,1
    - Dst: Botan::bigint_comba_sqr9
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:52,1
    - Dst: Botan::bigint_comba_mul9
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:54,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:55,1
    - Dst: Botan::bigint_comba_sqr16
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:58,1
    - Dst: Botan::bigint_comba_mul16
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:60,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:61,1
    - Dst: Botan::bigint_comba_sqr24
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:64,1
    - Dst: Botan::bigint_comba_mul24
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:66,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:67,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:71,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:74,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:77,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:80,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:83,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:86,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 87
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 87
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/mp_comba_sqr.cpp
    functionUses: 0
    functionsReached:
    - Botan::bigint_comba_mul8
    - Botan::bigint_comba_sqr24
    - Botan::bigint_comba_sqr8
    - Botan::bigint_comba_sqr9
    - Botan::bigint_comba_mul6
    - Botan::bigint_comba_mul9
    - Botan::bigint_comba_sqr6
    - std::span<const uint8_t>::data
    - Botan::bigint_comba_mul16
    - std::span<const uint8_t>::size
    - Botan::basecase_sqr
    - Botan::bigint_comba_sqr4
    - Botan::bigint_comba_mul24
    - std::memcpy
    - compare_word_vec
    - Botan::bigint_comba_mul4
    - Botan::bigint_comba_sqr16
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: word_format_string
    functionSourceFile: /src/botan/src/fuzzer/mp_fuzzers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * word_format_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:27,1
    - Dst: word_format_string
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:28,1
    - Dst: fprintf
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:30,1
    - Dst: fprintf
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:31,1
    - Dst: fprintf
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - name
    - x
    - x_len
    argTypes:
    - char*
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: dump_word_vec
    functionSourceFile: /src/botan/src/fuzzer/mp_fuzzers.h
    functionUses: 0
    functionsReached:
    - fprintf
    - word_format_string
    linkageType: ''
    returnType: void
    signature: void dump_word_vec(const char* name, const word x[], size_t x_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:41,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:42,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:43,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:50,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:51,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:52,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:57,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:58,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - x
    - x_len
    - y
    - y_len
    - comparing
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 62
    functionName: compare_word_vec
    functionSourceFile: /src/botan/src/fuzzer/mp_fuzzers.h
    functionUses: 1
    functionsReached:
    - FUZZER_WRITE_AND_CRASH
    - dump_word_vec
    linkageType: ''
    returnType: void
    signature: void compare_word_vec(const word x[], size_t x_len, const word y[],
      size_t y_len, const char* comparing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/fuzzer/x509_path.cpp:21,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/fuzzer/x509_path.cpp:22,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/fuzzer/x509_path.cpp:22,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/fuzzer/x509_path.cpp:24,1
    - Dst: x509_path_validate
      Src: /src/botan/src/fuzzer/x509_path.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 28
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 28
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/x509_path.cpp
    functionUses: 0
    functionsReached:
    - x509_path_validate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - std::unique_ptr::get
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/fuzzer/ipv4.cpp:13,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/ipv4.cpp:13,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ipv4.cpp:13,1
    - Dst: Botan::string_to_ipv4
      Src: /src/botan/src/fuzzer/ipv4.cpp:14,1
    - Dst: Botan::ipv4_to_string
      Src: /src/botan/src/fuzzer/ipv4.cpp:15,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/ipv4.cpp:16,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ipv4.cpp:19,1
    - Dst: Botan::ipv4_to_string
      Src: /src/botan/src/fuzzer/ipv4.cpp:21,1
    - Dst: Botan::string_to_ipv4
      Src: /src/botan/src/fuzzer/ipv4.cpp:22,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/ipv4.cpp:23,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/ipv4.cpp:23,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/ipv4.cpp:24,1
    - Dst: auto::value
      Src: /src/botan/src/fuzzer/ipv4.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 26
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 26
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ipv4.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - Botan::string_to_ipv4
    - FUZZER_ASSERT_TRUE
    - auto::value
    - std::span<const uint8_t>::size
    - Botan::ipv4_to_string
    - std::span<const uint8_t>::data
    - auto::has_value
    - FUZZER_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/divide.cpp:11,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/fuzzer/divide.cpp:16,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/divide.cpp:18,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/divide.cpp:18,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/divide.cpp:18,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/divide.cpp:19,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/divide.cpp:19,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/divide.cpp:19,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/divide.cpp:19,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/divide.cpp:19,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/fuzzer/divide.cpp:25,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/divide.cpp:27,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/divide.cpp:31,1
    - Dst: Botan::ct_divide
      Src: /src/botan/src/fuzzer/divide.cpp:33,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/divide.cpp:35,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/divide.cpp:36,1
    - Dst: word_at
      Src: /src/botan/src/fuzzer/divide.cpp:40,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/fuzzer/divide.cpp:45,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/divide.cpp:47,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/divide.cpp:49,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/fuzzer/divide.cpp:52,1
    - Dst: word_at
      Src: /src/botan/src/fuzzer/divide.cpp:52,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/divide.cpp:53,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/divide.cpp:54,1
    - Dst: word_at
      Src: /src/botan/src/fuzzer/divide.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 55
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/divide.cpp
    functionUses: 0
    functionsReached:
    - Botan::ct_divide
    - Botan::BigInt::BigInt
    - FUZZER_ASSERT_TRUE
    - Botan::ct_divide_word
    - Botan::vartime_divide
    - std::span<const uint8_t>::subspan
    - std::span<const uint8_t>::size
    - word_at
    - FUZZER_ASSERT_EQUAL
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/fuzzer/invert.cpp:16,1
    - Dst: is_even
      Src: /src/botan/src/fuzzer/invert.cpp:16,1
    - Dst: Botan::BigInt::is_nonzero
      Src: /src/botan/src/fuzzer/invert.cpp:22,1
    - Dst: Botan::BigInt::is_odd
      Src: /src/botan/src/fuzzer/invert.cpp:26,1
    - Dst: is_odd
      Src: /src/botan/src/fuzzer/invert.cpp:26,1
    - Dst: is_odd
      Src: /src/botan/src/fuzzer/invert.cpp:37,1
    - Dst: is_odd
      Src: /src/botan/src/fuzzer/invert.cpp:37,1
    - Dst: is_negative
      Src: /src/botan/src/fuzzer/invert.cpp:60,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - ' n'
    - ' mod'
    argTypes:
    - Botan::BigInt
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 68
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 68
    functionName: ref_inverse_mod
    functionSourceFile: /src/botan/src/fuzzer/invert.cpp
    functionUses: 0
    functionsReached:
    - is_negative
    - is_even
    - Botan::BigInt::is_nonzero
    - is_odd
    - Botan::BigInt::is_odd
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt ref_inverse_mod(const Botan::BigInt& n, const Botan::BigInt&
      mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/invert.cpp:75,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/invert.cpp:79,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/invert.cpp:79,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/invert.cpp:79,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/invert.cpp:80,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/invert.cpp:80,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/invert.cpp:80,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/invert.cpp:80,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/invert.cpp:80,1
    - Dst: Botan::inverse_mod
      Src: /src/botan/src/fuzzer/invert.cpp:86,1
    - Dst: ref_inverse_mod
      Src: /src/botan/src/fuzzer/invert.cpp:87,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/invert.cpp:90,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/invert.cpp:90,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/invert.cpp:91,1
    - Dst: gcd
      Src: /src/botan/src/fuzzer/invert.cpp:92,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/invert.cpp:93,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/invert.cpp:94,1
    - Dst: to_hex_string
      Src: /src/botan/src/fuzzer/invert.cpp:95,1
    - Dst: to_hex_string
      Src: /src/botan/src/fuzzer/invert.cpp:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/invert.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::to_hex_string
    - FUZZER_WRITE_AND_CRASH
    - gcd
    - std::span<const uint8_t>::subspan
    - std::span<const uint8_t>::size
    - ref_inverse_mod
    - Botan::inverse_mod
    - to_hex_string
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ecc_p384.cpp:11,1
    - Dst: check_ecc_math
      Src: /src/botan/src/fuzzer/ecc_p384.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ecc_p384.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - check_ecc_math
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_prime
      Src: /src/botan/src/fuzzer/ressol.cpp:16,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/fuzzer/ressol.cpp:16,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/fuzzer/ressol.cpp:17,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ressol.cpp:19,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/ressol.cpp:24,1
    - Dst: Botan::sqrt_modulo_prime
      Src: /src/botan/src/fuzzer/ressol.cpp:25,1
    - Dst: auto::reduce
      Src: /src/botan/src/fuzzer/ressol.cpp:28,1
    - Dst: auto::square
      Src: /src/botan/src/fuzzer/ressol.cpp:29,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/ressol.cpp:32,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/ressol.cpp:32,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/ressol.cpp:33,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/ressol.cpp:34,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/ressol.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 39
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 39
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ressol.cpp
    functionUses: 0
    functionsReached:
    - random_prime
    - fuzzer_rng
    - auto::reduce
    - Botan::BigInt::to_hex_string
    - FUZZER_WRITE_AND_CRASH
    - std::span<const uint8_t>::size
    - Botan::Barrett_Reduction::for_public_modulus
    - Botan::sqrt_modulo_prime
    - auto::square
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_power_of_2
      Src: /src/botan/src/fuzzer/mem_pool.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - plen
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: compute_expected_alignment
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_power_of_2
    linkageType: ''
    returnType: size_t
    signature: size_t compute_expected_alignment(size_t plen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: RawPage
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawPage(void* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::free
      Src: /src/botan/src/fuzzer/mem_pool.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ~RawPage()
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - std::free
    linkageType: ''
    returnType: void
    signature: void ~RawPage()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawPage
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: RawPage
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawPage(const RawPage& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawPage
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const RawPage& other)'
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawPage
    signature: RawPage & operator=(const RawPage& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/fuzzer/mem_pool.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawPage
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: RawPage
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void RawPage(RawPage&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/fuzzer/mem_pool.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawPage
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: '& operator=(RawPage&& other) noexcept'
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: RawPage
    signature: RawPage & operator=(RawPage&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ptr
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * ptr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/fuzzer/mem_pool.cpp:56,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mem_pool.cpp:62,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/fuzzer/mem_pool.cpp:65,1
    - Dst: RawPage
      Src: /src/botan/src/fuzzer/mem_pool.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - count
    - page_size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: allocate_raw_pages
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - RawPage
    - FUZZER_ASSERT_EQUAL
    - std::vector::push_back
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<RawPage>
    signature: std::vector<RawPage> allocate_raw_pages(size_t count, size_t page_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate_raw_pages
      Src: /src/botan/src/fuzzer/mem_pool.cpp:79,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/fuzzer/mem_pool.cpp:82,1
    - Dst: std::vector::size
      Src: /src/botan/src/fuzzer/mem_pool.cpp:82,1
    - Dst: std::vector::size
      Src: /src/botan/src/fuzzer/mem_pool.cpp:83,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/fuzzer/mem_pool.cpp:84,1
    - Dst: ptr
      Src: /src/botan/src/fuzzer/mem_pool.cpp:84,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mem_pool.cpp:91,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mem_pool.cpp:112,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:113,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mem_pool.cpp:121,1
    - Dst: std::memset
      Src: /src/botan/src/fuzzer/mem_pool.cpp:126,1
    - Dst: static_cast<int>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:126,1
    - Dst: std::map::insert
      Src: /src/botan/src/fuzzer/mem_pool.cpp:128,1
    - Dst: std::make_pair
      Src: /src/botan/src/fuzzer/mem_pool.cpp:128,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mem_pool.cpp:130,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:130,1
    - Dst: std::map::begin
      Src: /src/botan/src/fuzzer/mem_pool.cpp:136,1
    - Dst: std::prev
      Src: /src/botan/src/fuzzer/mem_pool.cpp:137,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mem_pool.cpp:141,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:141,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:142,1
    - Dst: std::next
      Src: /src/botan/src/fuzzer/mem_pool.cpp:146,1
    - Dst: std::map::end
      Src: /src/botan/src/fuzzer/mem_pool.cpp:148,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mem_pool.cpp:150,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:150,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:151,1
    - Dst: std::map::empty
      Src: /src/botan/src/fuzzer/mem_pool.cpp:156,1
    - Dst: std::map::begin
      Src: /src/botan/src/fuzzer/mem_pool.cpp:162,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/mem_pool.cpp:169,1
    - Dst: Botan::Memory_Pool::deallocate
      Src: /src/botan/src/fuzzer/mem_pool.cpp:169,1
    - Dst: std::map::erase
      Src: /src/botan/src/fuzzer/mem_pool.cpp:170,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 173
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 173
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - ptr
    - std::next
    - std::map::insert
    - FUZZER_ASSERT_TRUE
    - static_cast<int>
    - std::map::erase
    - std::memset
    - allocate_raw_pages
    - std::vector::size
    - std::map::end
    - Botan::Memory_Pool::deallocate
    - std::prev
    - std::vector::reserve
    - FUZZER_WRITE_AND_CRASH
    - std::map::empty
    - std::span<const uint8_t>::data
    - std::vector::push_back
    - static_cast<void*>
    - std::make_pair
    - std::map::begin
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::setenv
      Src: /src/botan/src/fuzzer/fuzzers.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 2
    functionsReached:
    - ::setenv
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int*, char***)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzz
      Src: /src/botan/src/fuzzer/fuzzers.h:37,1
    - Dst: std::span<const uint8_t>
      Src: /src/botan/src/fuzzer/fuzzers.h:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>
    - fuzz
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t in[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Botan::ChaCha_RNG>
      Src: /src/botan/src/fuzzer/fuzzers.h:46,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/fuzzer/fuzzers.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: fuzzer_rng_as_shared
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 0
    functionsReached:
    - Botan::secure_vector<uint8_t>
    - std::make_shared<Botan::ChaCha_RNG>
    linkageType: ''
    returnType: std::shared_ptr<Botan::RandomNumberGenerator>
    signature: std::shared_ptr<Botan::RandomNumberGenerator> fuzzer_rng_as_shared()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzer_rng_as_shared
      Src: /src/botan/src/fuzzer/fuzzers.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: fuzzer_rng
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 1
    functionsReached:
    - fuzzer_rng_as_shared
    linkageType: ''
    returnType: Botan::RandomNumberGenerator
    signature: Botan::RandomNumberGenerator & fuzzer_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/botan/src/fuzzer/fuzzers.h:92,1
    - Dst: std::ifstream::read
      Src: /src/botan/src/fuzzer/fuzzers.h:94,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/fuzzer/fuzzers.h:94,1
    - Dst: std::vector::data
      Src: /src/botan/src/fuzzer/fuzzers.h:94,1
    - Dst: std::vector::size
      Src: /src/botan/src/fuzzer/fuzzers.h:94,1
    - Dst: std::vector::resize
      Src: /src/botan/src/fuzzer/fuzzers.h:96,1
    - Dst: std::vector::shrink_to_fit
      Src: /src/botan/src/fuzzer/fuzzers.h:97,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/botan/src/fuzzer/fuzzers.h:99,1
    - Dst: std::vector::data
      Src: /src/botan/src/fuzzer/fuzzers.h:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - files
    argTypes:
    - char*[]
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: fuzz_files
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - LLVMFuzzerTestOneInput
    - std::ifstream::read
    - reinterpret_cast<char*>
    - std::vector::shrink_to_fit
    - std::vector::resize
    - std::ifstream::good
    linkageType: ''
    returnType: int
    signature: int fuzz_files(char* files[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LLVMFuzzerInitialize
      Src: /src/botan/src/fuzzer/fuzzers.h:111,1
    - Dst: fuzz_files
      Src: /src/botan/src/fuzzer/fuzzers.h:115,1
    - Dst: __AFL_LOOP
      Src: /src/botan/src/fuzzer/fuzzers.h:120,1
    - Dst: read
      Src: /src/botan/src/fuzzer/fuzzers.h:124,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/fuzzer/fuzzers.h:124,1
    - Dst: std::vector::data
      Src: /src/botan/src/fuzzer/fuzzers.h:124,1
    - Dst: std::vector::size
      Src: /src/botan/src/fuzzer/fuzzers.h:124,1
    - Dst: std::vector::resize
      Src: /src/botan/src/fuzzer/fuzzers.h:127,1
    - Dst: std::vector::shrink_to_fit
      Src: /src/botan/src/fuzzer/fuzzers.h:128,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/botan/src/fuzzer/fuzzers.h:130,1
    - Dst: std::vector::data
      Src: /src/botan/src/fuzzer/fuzzers.h:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 132
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - __AFL_LOOP
    - LLVMFuzzerTestOneInput
    - read
    - reinterpret_cast<char*>
    - std::vector::shrink_to_fit
    - std::vector::resize
    - fuzz_files
    - LLVMFuzzerInitialize
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LLVMFuzzerInitialize
      Src: /src/botan/src/fuzzer/fuzzers.h:139,1
    - Dst: klee_make_symbolic
      Src: /src/botan/src/fuzzer/fuzzers.h:142,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/botan/src/fuzzer/fuzzers.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: main
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 0
    functionsReached:
    - klee_make_symbolic
    - LLVMFuzzerInitialize
    - LLVMFuzzerTestOneInput
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:12,1
    - Dst: std::memcpy
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:20,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:20,1
    - Dst: std::memcpy
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:21,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:21,1
    - Dst: Botan::basecase_mul
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:35,1
    - Dst: Botan::bigint_comba_mul4
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:38,1
    - Dst: Botan::bigint_comba_mul6
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:41,1
    - Dst: Botan::bigint_comba_mul8
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:44,1
    - Dst: Botan::bigint_comba_mul9
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:47,1
    - Dst: Botan::bigint_comba_mul16
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:50,1
    - Dst: Botan::bigint_comba_mul24
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:53,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:57,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:60,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:63,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:66,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:69,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:72,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 9
    functionDepth: 3
    functionLinenumber: 9
    functionLinenumberEnd: 73
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/mp_comba_mul.cpp
    functionUses: 1
    functionsReached:
    - Botan::bigint_comba_mul8
    - Botan::basecase_mul
    - Botan::bigint_comba_mul6
    - Botan::bigint_comba_mul9
    - Botan::bigint_comba_mul16
    - std::span<const uint8_t>::data
    - Botan::bigint_comba_mul24
    - std::memcpy
    - compare_word_vec
    - Botan::bigint_comba_mul4
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: ASN1_Parser::ASN1_Parser
    functionSourceFile: /src/botan/src/fuzzer/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Parser()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: ASN1_Parser::format
    functionSourceFile: /src/botan/src/fuzzer/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string format(Botan::ASN1_Type, Botan::ASN1_Class, size_t, size_t,
      std::string_view) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: ASN1_Parser::format_bin
    functionSourceFile: /src/botan/src/fuzzer/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string format_bin(Botan::ASN1_Type, Botan::ASN1_Class, const std::vector<uint8_t>&)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ASN1_Parser::format_bn
    functionSourceFile: /src/botan/src/fuzzer/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string format_bn(const Botan::BigInt&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_Parser::ASN1_Parser
      Src: /src/botan/src/fuzzer/asn1.cpp:35,1
    - Dst: ASN1_Parser::print_to_stream
      Src: /src/botan/src/fuzzer/asn1.cpp:36,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/asn1.cpp:36,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/asn1.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/asn1.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - ASN1_Parser::ASN1_Parser
    - ASN1_Parser::print_to_stream
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: Fuzzer_TLS_Client_Creds::psk_identity_hint
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string psk_identity_hint(const std::string&, const std::string&)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Fuzzer_TLS_Client_Creds::psk_identity
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string psk_identity(const std::string&, const std::string&, const
      std::string&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/fuzzer/tls_client.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Fuzzer_TLS_Client_Creds::session_ticket_key
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> session_ticket_key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/fuzzer/tls_client.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Fuzzer_TLS_Client_Creds::dtls_cookie_secret
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> dtls_cookie_secret() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/fuzzer/tls_client.cpp:32,1
    - Dst: find
      Src: /src/botan/src/fuzzer/tls_client.cpp:32,1
    - Dst: begin
      Src: /src/botan/src/fuzzer/tls_client.cpp:32,1
    - Dst: end
      Src: /src/botan/src/fuzzer/tls_client.cpp:32,1
    - Dst: end
      Src: /src/botan/src/fuzzer/tls_client.cpp:32,1
    - Dst: Botan::Credentials_Manager::find_preshared_keys
      Src: /src/botan/src/fuzzer/tls_client.cpp:33,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/fuzzer/tls_client.cpp:37,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/fuzzer/tls_client.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - host
    - whoami
    argTypes:
    - std::string_view
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: Fuzzer_TLS_Client_Creds::find_preshared_keys
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    - Botan::Credentials_Manager::find_preshared_keys
    - end
    - empty
    - std::vector::emplace_back
    - find
    - begin
    linkageType: ''
    returnType: std::vector<Botan::TLS::ExternalPSK>
    signature: "std::vector<Botan::TLS::ExternalPSK> find_preshared_keys(\n         std::string_view
      host,\n         Botan::TLS::Connection_Side whoami,\n         const std::vector<std::string>&
      identities = {},\n         const std::optional<std::string>& prf = std::nullopt)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Ciphersuite::all_known_ciphersuites
      Src: /src/botan/src/fuzzer/tls_client.cpp:47,1
    - Dst: valid
      Src: /src/botan/src/fuzzer/tls_client.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/fuzzer/tls_client.cpp:49,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/fuzzer/tls_client.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: Fuzzer_TLS_Policy::ciphersuite_list
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Ciphersuite::all_known_ciphersuites
    - valid
    - std::vector::push_back
    - ciphersuite_code
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> ciphersuite_list(Botan::TLS::Protocol_Version)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Fuzzer_TLS_Client_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Fuzzer_TLS_Client_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t, std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Fuzzer_TLS_Client_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
      Src: /src/botan/src/fuzzer/tls_client.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ' cert_chain'
    - ' ocsp_responses'
    - ' trusted_roots'
    - usage
    - hostname
    - ' policy'
    argTypes:
    - std::vector<Botan::X509_Certificate>
    - std::vector<std::optional<Botan::OCSP::Response>>
    - std::vector<Botan::Certificate_Store*>
    - Botan::Usage_Type
    - std::string_view
    - Botan::TLS::Policy
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
    linkageType: ''
    returnType: void
    signature: "void tls_verify_cert_chain(const std::vector<Botan::X509_Certificate>&
      cert_chain,\n                                 const std::vector<std::optional<Botan::OCSP::Response>>&
      ocsp_responses,\n                                 const std::vector<Botan::Certificate_Store*>&
      trusted_roots,\n                                 Botan::Usage_Type usage,\n
      \                                std::string_view hostname,\n                                 const
      Botan::TLS::Policy& policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/fuzzer/tls_client.cpp:88,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/fuzzer/tls_client.cpp:92,1
    - Dst: std::make_shared<Fuzzer_TLS_Policy>
      Src: /src/botan/src/fuzzer/tls_client.cpp:93,1
    - Dst: std::make_shared<Fuzzer_TLS_Client_Callbacks>
      Src: /src/botan/src/fuzzer/tls_client.cpp:96,1
    - Dst: std::make_shared<Fuzzer_TLS_Client_Creds>
      Src: /src/botan/src/fuzzer/tls_client.cpp:97,1
    - Dst: Botan::TLS::Client::received_data
      Src: /src/botan/src/fuzzer/tls_client.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<Fuzzer_TLS_Client_Creds>
    - std::make_shared<Fuzzer_TLS_Policy>
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - std::make_shared<Fuzzer_TLS_Client_Callbacks>
    - Botan::TLS::Client::received_data
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ecc_p256.cpp:11,1
    - Dst: check_ecc_math
      Src: /src/botan/src/fuzzer/ecc_p256.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ecc_p256.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::size
    - check_ecc_math
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/ocsp.cpp:13,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ocsp.cpp:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ocsp.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/bn_sqr.cpp:13,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/bn_sqr.cpp:17,1
    - Dst: square
      Src: /src/botan/src/fuzzer/bn_sqr.cpp:19,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/bn_sqr.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 23
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 23
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/bn_sqr.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::size
    - FUZZER_ASSERT_EQUAL
    - Botan::BigInt::from_bytes
    - square
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/fuzzer/pkcs8.cpp:17,1
    - Dst: Botan::EC_Group::clear_registered_curve_data
      Src: /src/botan/src/fuzzer/pkcs8.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 28
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 28
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/pkcs8.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS8::load_key
    - Botan::EC_Group::clear_registered_curve_data
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_DN::decode_from
      Src: /src/botan/src/fuzzer/x509_dn.cpp:18,1
    - Dst: Botan::X509_DN::decode_from
      Src: /src/botan/src/fuzzer/x509_dn.cpp:19,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/x509_dn.cpp:29,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/x509_dn.cpp:32,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/x509_dn.cpp:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 37
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/x509_dn.cpp
    functionUses: 1
    functionsReached:
    - Botan::X509_DN::decode_from
    - FUZZER_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/oaep.cpp:17,1
    - Dst: Botan::CT::Option<size_t>
      Src: /src/botan/src/fuzzer/oaep.cpp:18,1
    - Dst: Botan::CT::Option<size_t>
      Src: /src/botan/src/fuzzer/oaep.cpp:23,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/oaep.cpp:27,1
    - Dst: Botan::CT::Option<size_t>
      Src: /src/botan/src/fuzzer/oaep.cpp:29,1
    - Dst: Botan::CT::Option<size_t>
      Src: /src/botan/src/fuzzer/oaep.cpp:33,1
    - Dst: Botan::CT::Option<size_t>
      Src: /src/botan/src/fuzzer/oaep.cpp:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - in
    - ' Phash'
    argTypes:
    - std::span<const uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 38
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 38
    functionName: ref_oaep_unpad
    functionSourceFile: /src/botan/src/fuzzer/oaep.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - Botan::CT::Option<size_t>
    linkageType: ''
    returnType: Botan::CT::Option<size_t>
    signature: Botan::CT::Option<size_t> ref_oaep_unpad(std::span<const uint8_t> in,
      const std::vector<uint8_t>& Phash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::oaep_find_delim
      Src: /src/botan/src/fuzzer/oaep.cpp:45,1
    - Dst: ref_oaep_unpad
      Src: /src/botan/src/fuzzer/oaep.cpp:47,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/oaep.cpp:49,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/oaep.cpp:49,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/oaep.cpp:50,1
    - Dst: auto::value
      Src: /src/botan/src/fuzzer/oaep.cpp:50,1
    - Dst: auto::value
      Src: /src/botan/src/fuzzer/oaep.cpp:50,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/oaep.cpp:51,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/oaep.cpp:51,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/oaep.cpp:52,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/oaep.cpp:53,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/oaep.cpp:53,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/oaep.cpp:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/oaep.cpp
    functionUses: 1
    functionsReached:
    - ref_oaep_unpad
    - auto::value
    - FUZZER_WRITE_AND_CRASH
    - auto::has_value
    - FUZZER_ASSERT_EQUAL
    - Botan::oaep_find_delim
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/crl.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ecc_bp256.cpp:11,1
    - Dst: check_ecc_math
      Src: /src/botan/src/fuzzer/ecc_bp256.cpp:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 17
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 17
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ecc_bp256.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::size
    - check_ecc_math
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/mode_padding.cpp:15,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/mode_padding.cpp:16,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: ref_pkcs7_unpad
    functionSourceFile: /src/botan/src/fuzzer/mode_padding.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: size_t
    signature: size_t ref_pkcs7_unpad(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: ref_x923_unpad
    functionSourceFile: /src/botan/src/fuzzer/mode_padding.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ref_x923_unpad(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 82
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 82
    functionName: ref_oneandzero_unpad
    functionSourceFile: /src/botan/src/fuzzer/mode_padding.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ref_oneandzero_unpad(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: ref_esp_unpad
    functionSourceFile: /src/botan/src/fuzzer/mode_padding.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ref_esp_unpad(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: ref_tls_cbc_unpad
    functionSourceFile: /src/botan/src/fuzzer/mode_padding.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ref_tls_cbc_unpad(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS7_Padding::valid_blocksize
      Src: /src/botan/src/fuzzer/mode_padding.cpp:140,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mode_padding.cpp:143,1
    - Dst: Botan::ANSI_X923_Padding::valid_blocksize
      Src: /src/botan/src/fuzzer/mode_padding.cpp:146,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mode_padding.cpp:149,1
    - Dst: Botan::OneAndZeros_Padding::valid_blocksize
      Src: /src/botan/src/fuzzer/mode_padding.cpp:152,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mode_padding.cpp:155,1
    - Dst: Botan::ESP_Padding::valid_blocksize
      Src: /src/botan/src/fuzzer/mode_padding.cpp:158,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mode_padding.cpp:161,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mode_padding.cpp:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/mode_padding.cpp
    functionUses: 1
    functionsReached:
    - Botan::OneAndZeros_Padding::valid_blocksize
    - Botan::PKCS7_Padding::valid_blocksize
    - Botan::ANSI_X923_Padding::valid_blocksize
    - Botan::ESP_Padding::valid_blocksize
    - FUZZER_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/fuzzer/pkcs1.cpp:16,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/fuzzer/pkcs1.cpp:20,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/fuzzer/pkcs1.cpp:26,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/fuzzer/pkcs1.cpp:28,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/fuzzer/pkcs1.cpp:32,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 33
    functionName: simple_pkcs1_unpad
    functionSourceFile: /src/botan/src/fuzzer/pkcs1.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - Botan::Decoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> simple_pkcs1_unpad(const uint8_t in[], size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/botan/src/fuzzer/pkcs1.cpp:45,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/pkcs1.cpp:45,1
    - Dst: static_cast<Botan::EME*>
      Src: /src/botan/src/fuzzer/pkcs1.cpp:46,1
    - Dst: unpad
      Src: /src/botan/src/fuzzer/pkcs1.cpp:46,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/pkcs1.cpp:47,1
    - Dst: std::vector::resize
      Src: /src/botan/src/fuzzer/pkcs1.cpp:49,1
    - Dst: auto::value_or
      Src: /src/botan/src/fuzzer/pkcs1.cpp:49,1
    - Dst: simple_pkcs1_unpad
      Src: /src/botan/src/fuzzer/pkcs1.cpp:55,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/pkcs1.cpp:55,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/pkcs1.cpp:55,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/pkcs1.cpp:61,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/fuzzer/pkcs1.cpp:61,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/pkcs1.cpp:63,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/fuzzer/pkcs1.cpp:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/pkcs1.cpp
    functionUses: 1
    functionsReached:
    - FUZZER_WRITE_AND_CRASH
    - unpad
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - simple_pkcs1_unpad
    - auto::value_or
    - std::vector::resize
    - auto::has_value
    - static_cast<Botan::EME*>
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/cert.cpp:13,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/cert.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_Layer::copy_data
      Src: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: prepare
    functionSourceFile: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_Layer::copy_data
    linkageType: ''
    returnType: Botan::TLS::Handshake_Layer
    signature: Botan::TLS::Handshake_Layer prepare(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp:28,1
    - Dst: auto::next_message
      Src: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp:30,1
    - Dst: prepare
      Src: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp:32,1
    - Dst: auto::next_post_handshake_message
      Src: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp
    functionUses: 1
    functionsReached:
    - auto::next_message
    - prepare
    - auto::next_post_handshake_message
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/barrett.cpp:16,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/barrett.cpp:20,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/barrett.cpp:26,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/barrett.cpp:26,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/barrett.cpp:27,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/barrett.cpp:27,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/barrett.cpp:27,1
    - Dst: Botan::BigInt::is_zero
      Src: /src/botan/src/fuzzer/barrett.cpp:29,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/fuzzer/barrett.cpp:34,1
    - Dst: auto::reduce
      Src: /src/botan/src/fuzzer/barrett.cpp:35,1
    - Dst: ct_modulo
      Src: /src/botan/src/fuzzer/barrett.cpp:38,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/barrett.cpp:41,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/barrett.cpp:41,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/barrett.cpp:42,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/barrett.cpp:43,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/barrett.cpp:44,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/barrett.cpp:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 48
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/barrett.cpp
    functionUses: 1
    functionsReached:
    - auto::reduce
    - Botan::BigInt::to_hex_string
    - FUZZER_WRITE_AND_CRASH
    - std::span<const uint8_t>::subspan
    - std::span<const uint8_t>::size
    - Botan::BigInt::is_zero
    - Botan::Barrett_Reduction::for_public_modulus
    - ct_modulo
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:14,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:14,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:21,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:21,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:22,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:22,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:22,1
    - Dst: Botan::BigInt::flip_sign
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:25,1
    - Dst: Botan::BigInt::flip_sign
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:28,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:34,1
    - Dst: Botan::BigInt::cmp
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:34,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:43,1
    - Dst: Botan::BigInt::is_zero
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:43,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:44,1
    - Dst: Botan::BigInt::is_zero
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:44,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:48,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:52,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:56,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:57,1
    - Dst: Botan::BigInt::is_nonzero
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:57,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:58,1
    - Dst: Botan::BigInt::is_nonzero
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:58,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:59,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:59,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:60,1
    - Dst: Botan::BigInt::is_positive
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:60,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:64,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:65,1
    - Dst: Botan::BigInt::is_nonzero
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:65,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:66,1
    - Dst: Botan::BigInt::is_nonzero
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:66,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:67,1
    - Dst: Botan::BigInt::is_positive
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:67,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:68,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 70
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/bn_cmp.cpp
    functionUses: 1
    functionsReached:
    - FUZZER_ASSERT_TRUE
    - Botan::BigInt::cmp
    - Botan::BigInt::is_nonzero
    - std::span<const uint8_t>::subspan
    - Botan::BigInt::is_positive
    - std::span<const uint8_t>::size
    - Botan::BigInt::is_zero
    - Botan::BigInt::is_negative
    - Botan::BigInt::flip_sign
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void fuzz(const std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<word>
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: crandall_C
    functionSourceFile: /src/botan/src/fuzzer/mp_redc_crandall.cpp
    functionUses: 0
    functionsReached:
    - static_cast<word>
    linkageType: ''
    returnType: word
    signature: word crandall_C()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:27,1
    - Dst: crandall_C
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:31,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:33,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:36,1
    - Dst: Botan::load_be<word>
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:46,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:46,1
    - Dst: Botan::redc_crandall<word, 4, C>
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:49,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:51,1
    - Dst: auto::data
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:51,1
    - Dst: auto::_data
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:51,1
    - Dst: auto::sig_words
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/mp_redc_crandall.cpp
    functionUses: 1
    functionsReached:
    - auto::_data
    - Botan::BigInt::from_bytes
    - std::span<const uint8_t>::subspan
    - Botan::redc_crandall<word, 4, C>
    - Botan::load_be<word>
    - std::span<const uint8_t>::size
    - crandall_C
    - auto::data
    - auto::sig_words
    - compare_word_vec
    - Botan_Tests::BitOps_Tests::test_power_of_2
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/fuzzer/tls_client_hello.cpp:13,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/fuzzer/tls_client_hello.cpp:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 16
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/tls_client_hello.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/fuzzer/gcd.cpp:14,1
    - Dst: Botan::BigInt::swap
      Src: /src/botan/src/fuzzer/gcd.cpp:17,1
    - Dst: Botan::BigInt::swap
      Src: /src/botan/src/fuzzer/gcd.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Botan::BigInt
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: ref_gcd
    functionSourceFile: /src/botan/src/fuzzer/gcd.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::BigInt
    - Botan::BigInt::swap
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt ref_gcd(Botan::BigInt a, Botan::BigInt b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/gcd.cpp:28,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/gcd.cpp:32,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/gcd.cpp:32,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/gcd.cpp:32,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/gcd.cpp:33,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/gcd.cpp:33,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/gcd.cpp:33,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/gcd.cpp:33,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/gcd.cpp:33,1
    - Dst: ref_gcd
      Src: /src/botan/src/fuzzer/gcd.cpp:35,1
    - Dst: Botan::gcd
      Src: /src/botan/src/fuzzer/gcd.cpp:36,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/gcd.cpp:39,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/gcd.cpp:39,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/gcd.cpp:40,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/gcd.cpp:41,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/gcd.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/gcd.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::to_hex_string
    - FUZZER_WRITE_AND_CRASH
    - ref_gcd
    - std::span<const uint8_t>::subspan
    - std::span<const uint8_t>::size
    - Botan::gcd
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mp_redc.cpp:13,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/mp_redc.cpp:13,1
    - Dst: std::memcpy
      Src: /src/botan/src/fuzzer/mp_redc.cpp:24,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mp_redc.cpp:24,1
    - Dst: std::memcpy
      Src: /src/botan/src/fuzzer/mp_redc.cpp:25,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mp_redc.cpp:25,1
    - Dst: std::memcpy
      Src: /src/botan/src/fuzzer/mp_redc.cpp:26,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mp_redc.cpp:26,1
    - Dst: Botan::bigint_monty_redc_4
      Src: /src/botan/src/fuzzer/mp_redc.cpp:29,1
    - Dst: Botan::bigint_monty_redc_6
      Src: /src/botan/src/fuzzer/mp_redc.cpp:31,1
    - Dst: Botan::bigint_monty_redc_8
      Src: /src/botan/src/fuzzer/mp_redc.cpp:33,1
    - Dst: Botan::bigint_monty_redc_16
      Src: /src/botan/src/fuzzer/mp_redc.cpp:35,1
    - Dst: Botan::bigint_monty_redc_24
      Src: /src/botan/src/fuzzer/mp_redc.cpp:37,1
    - Dst: Botan::bigint_monty_redc_32
      Src: /src/botan/src/fuzzer/mp_redc.cpp:39,1
    - Dst: std::abort
      Src: /src/botan/src/fuzzer/mp_redc.cpp:41,1
    - Dst: Botan::bigint_monty_redc_generic
      Src: /src/botan/src/fuzzer/mp_redc.cpp:44,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_redc.cpp:48,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_redc.cpp:49,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_redc.cpp:50,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_redc.cpp:51,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_redc.cpp:52,1
    - Dst: std::abort
      Src: /src/botan/src/fuzzer/mp_redc.cpp:53,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_redc.cpp:56,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 12
    functionDepth: 3
    functionLinenumber: 12
    functionLinenumberEnd: 57
    functionName: fuzz_mp_redc
    functionSourceFile: /src/botan/src/fuzzer/mp_redc.cpp
    functionUses: 0
    functionsReached:
    - std::abort
    - dump_word_vec
    - Botan::bigint_monty_redc_24
    - Botan::bigint_monty_redc_32
    - Botan::bigint_monty_redc_generic
    - Botan::bigint_monty_redc_6
    - std::span<const uint8_t>::data
    - Botan::bigint_monty_redc_16
    - std::span<const uint8_t>::size
    - compare_word_vec
    - std::memcpy
    - FUZZER_ASSERT_EQUAL
    - Botan::bigint_monty_redc_4
    - Botan::bigint_monty_redc_8
    linkageType: ''
    returnType: void
    signature: void fuzz_mp_redc(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/fuzzer/mp_redc.cpp:62,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/mp_redc.cpp:62,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/fuzzer/mp_redc.cpp:70,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/fuzzer/mp_redc.cpp:72,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/fuzzer/mp_redc.cpp:74,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/fuzzer/mp_redc.cpp:76,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/fuzzer/mp_redc.cpp:78,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/fuzzer/mp_redc.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 84
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 84
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/mp_redc.cpp
    functionUses: 1
    functionsReached:
    - fuzz_mp_redc
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/fuzzer/os2ecp.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' group'
    - in
    argTypes:
    - Botan::EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: check_os2ecp
    functionSourceFile: /src/botan/src/fuzzer/os2ecp.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: void
    signature: void check_os2ecp(const Botan::EC_Group& group, std::span<const uint8_t>
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/os2ecp.cpp:22,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:26,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:27,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:28,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:29,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:30,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:31,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:32,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:34,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:35,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:36,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:37,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:38,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:39,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:40,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 42
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/os2ecp.cpp
    functionUses: 1
    functionsReached:
    - check_os2ecp
    - std::span<const uint8_t>::size
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/fuzzer/ecc_helper.h:20,1
    - Dst: serialize_uncompressed
      Src: /src/botan/src/fuzzer/ecc_helper.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' o'
    - ' point'
    argTypes:
    - std::ostream
    - Botan::EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: '& operator<<(std::ostream& o, const Botan::EC_AffinePoint& point)'
    functionSourceFile: /src/botan/src/fuzzer/ecc_helper.h
    functionUses: 0
    functionsReached:
    - serialize_uncompressed
    - Botan::hex_encode
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& o, const Botan::EC_AffinePoint&
      point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrt_modulo_prime
      Src: /src/botan/src/fuzzer/ecc_helper.h:36,1
    - Dst: Botan::Exception
      Src: /src/botan/src/fuzzer/ecc_helper.h:39,1
    - Dst: Botan::BigInt::get_bit
      Src: /src/botan/src/fuzzer/ecc_helper.h:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - yMod2
    - ' x'
    - ' curve_p'
    - ' curve_a'
    - ' curve_b'
    argTypes:
    - bool
    - Botan::BigInt
    - Botan::BigInt
    - Botan::BigInt
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 47
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 47
    functionName: decompress_point
    functionSourceFile: /src/botan/src/fuzzer/ecc_helper.h
    functionUses: 0
    functionsReached:
    - sqrt_modulo_prime
    - Botan::Exception
    - Botan::BigInt::get_bit
    linkageType: ''
    returnType: Botan::BigInt
    signature: "Botan::BigInt decompress_point(bool yMod2,\n                                      const
      Botan::BigInt& x,\n                                      const Botan::BigInt&
      curve_p,\n                                      const Botan::BigInt& curve_a,\n
      \                                     const Botan::BigInt& curve_b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/fuzzer/ecc_helper.h:52,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/ecc_helper.h:52,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/fuzzer/ecc_helper.h:53,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/ecc_helper.h:53,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ecc_helper.h:53,1
    - Dst: auto::is_zero
      Src: /src/botan/src/fuzzer/ecc_helper.h:56,1
    - Dst: auto::is_zero
      Src: /src/botan/src/fuzzer/ecc_helper.h:56,1
    - Dst: auto::is_zero
      Src: /src/botan/src/fuzzer/ecc_helper.h:56,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/fuzzer/ecc_helper.h:60,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/fuzzer/ecc_helper.h:63,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/fuzzer/ecc_helper.h:64,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/fuzzer/ecc_helper.h:65,1
    - Dst: auto::add
      Src: /src/botan/src/fuzzer/ecc_helper.h:67,1
    - Dst: auto::add
      Src: /src/botan/src/fuzzer/ecc_helper.h:68,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/ecc_helper.h:70,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/ecc_helper.h:71,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/fuzzer/ecc_helper.h:73,1
    - Dst: auto::mul
      Src: /src/botan/src/fuzzer/ecc_helper.h:75,1
    - Dst: auto::mul
      Src: /src/botan/src/fuzzer/ecc_helper.h:76,1
    - Dst: auto::mul
      Src: /src/botan/src/fuzzer/ecc_helper.h:77,1
    - Dst: auto::add
      Src: /src/botan/src/fuzzer/ecc_helper.h:79,1
    - Dst: auto::add
      Src: /src/botan/src/fuzzer/ecc_helper.h:80,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/ecc_helper.h:82,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/ecc_helper.h:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' group'
    - in
    argTypes:
    - Botan::EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: check_ecc_math
    functionSourceFile: /src/botan/src/fuzzer/ecc_helper.h
    functionUses: 3
    functionsReached:
    - fuzzer_rng
    - Botan::EC_AffinePoint::generator
    - Botan::EC_Scalar::from_bytes_mod_order
    - std::span<const uint8_t>::subspan
    - auto::mul
    - std::span<const uint8_t>::size
    - auto::add
    - auto::is_zero
    - FUZZER_ASSERT_EQUAL
    - Botan::EC_AffinePoint::g_mul
    linkageType: ''
    returnType: void
    signature: void check_ecc_math(const Botan::EC_Group& group, std::span<const uint8_t>
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::X509_Certificate>
      Src: /src/botan/src/fuzzer/tls_server.cpp:45,1
    - Dst: reset
      Src: /src/botan/src/fuzzer/tls_server.cpp:48,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/fuzzer/tls_server.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: Fuzzer_TLS_Server_Creds::Fuzzer_TLS_Server_Creds
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::load_key
    - reset
    - std::make_unique<Botan::X509_Certificate>
    linkageType: ''
    returnType: void
    signature: void Fuzzer_TLS_Server_Creds()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/fuzzer/tls_server.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' algos'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: Fuzzer_TLS_Server_Creds::cert_chain
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> cert_chain(\n         const std::vector<std::string>&
      algos,\n         const std::vector<Botan::AlgorithmIdentifier>& /*signature_schemes*/,\n
      \        const std::string& /*type*/,\n         const std::string& /*hostname*/)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' type'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: Fuzzer_TLS_Server_Creds::private_key_for
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Botan::X509_Certificate&
      /*cert*/,\n                                                          const std::string&
      type,\n                                                          const std::string&
      /*context*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/fuzzer/tls_server.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: Fuzzer_TLS_Server_Creds::session_ticket_key
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> session_ticket_key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/fuzzer/tls_server.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Fuzzer_TLS_Server_Creds::dtls_cookie_secret
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> dtls_cookie_secret() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Fuzzer_TLS_Server_Creds::psk_identity_hint
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string psk_identity_hint(const std::string&, const std::string&)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Fuzzer_TLS_Server_Creds::psk_identity
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string psk_identity(const std::string&, const std::string&, const
      std::string&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/fuzzer/tls_server.cpp:94,1
    - Dst: find
      Src: /src/botan/src/fuzzer/tls_server.cpp:94,1
    - Dst: begin
      Src: /src/botan/src/fuzzer/tls_server.cpp:94,1
    - Dst: end
      Src: /src/botan/src/fuzzer/tls_server.cpp:94,1
    - Dst: end
      Src: /src/botan/src/fuzzer/tls_server.cpp:94,1
    - Dst: Botan::Credentials_Manager::find_preshared_keys
      Src: /src/botan/src/fuzzer/tls_server.cpp:95,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/fuzzer/tls_server.cpp:99,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/fuzzer/tls_server.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - host
    - whoami
    argTypes:
    - std::string_view
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: Fuzzer_TLS_Server_Creds::find_preshared_keys
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    - Botan::Credentials_Manager::find_preshared_keys
    - end
    - empty
    - std::vector::emplace_back
    - find
    - begin
    linkageType: ''
    returnType: std::vector<Botan::TLS::ExternalPSK>
    signature: "std::vector<Botan::TLS::ExternalPSK> find_preshared_keys(\n         std::string_view
      host,\n         Botan::TLS::Connection_Side whoami,\n         const std::vector<std::string>&
      identities = {},\n         const std::optional<std::string>& prf = std::nullopt)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Ciphersuite::all_known_ciphersuites
      Src: /src/botan/src/fuzzer/tls_server.cpp:113,1
    - Dst: valid
      Src: /src/botan/src/fuzzer/tls_server.cpp:114,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/fuzzer/tls_server.cpp:115,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/fuzzer/tls_server.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: Fuzzer_TLS_Policy::ciphersuite_list
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Ciphersuite::all_known_ciphersuites
    - valid
    - std::vector::push_back
    - ciphersuite_code
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> ciphersuite_list(Botan::TLS::Protocol_Version)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Fuzzer_TLS_Server_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Fuzzer_TLS_Server_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t, std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Fuzzer_TLS_Server_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/fuzzer/tls_server.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' client_protos'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: Fuzzer_TLS_Server_Callbacks::tls_server_choose_app_protocol
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string tls_server_choose_app_protocol(const std::vector<std::string>&
      client_protos) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
      Src: /src/botan/src/fuzzer/tls_server.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ' cert_chain'
    - ' ocsp_responses'
    - ' trusted_roots'
    - usage
    - hostname
    - ' policy'
    argTypes:
    - std::vector<Botan::X509_Certificate>
    - std::vector<std::optional<Botan::OCSP::Response>>
    - std::vector<Botan::Certificate_Store*>
    - Botan::Usage_Type
    - std::string_view
    - Botan::TLS::Policy
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: Fuzzer_TLS_Server_Callbacks::tls_verify_cert_chain
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
    linkageType: ''
    returnType: void
    signature: "void tls_verify_cert_chain(const std::vector<Botan::X509_Certificate>&
      cert_chain,\n                                 const std::vector<std::optional<Botan::OCSP::Response>>&
      ocsp_responses,\n                                 const std::vector<Botan::Certificate_Store*>&
      trusted_roots,\n                                 Botan::Usage_Type usage,\n
      \                                std::string_view hostname,\n                                 const
      Botan::TLS::Policy& policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/tls_server.cpp:164,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/fuzzer/tls_server.cpp:168,1
    - Dst: std::make_shared<Fuzzer_TLS_Policy>
      Src: /src/botan/src/fuzzer/tls_server.cpp:169,1
    - Dst: std::make_shared<Fuzzer_TLS_Server_Creds>
      Src: /src/botan/src/fuzzer/tls_server.cpp:171,1
    - Dst: std::make_shared<Fuzzer_TLS_Server_Callbacks>
      Src: /src/botan/src/fuzzer/tls_server.cpp:172,1
    - Dst: Botan::TLS::Server::received_data
      Src: /src/botan/src/fuzzer/tls_server.cpp:179,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/tls_server.cpp:179,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/tls_server.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 181
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 181
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::received_data
    - std::make_shared<Fuzzer_TLS_Policy>
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - std::span<const uint8_t>::subspan
    - std::span<const uint8_t>::size
    - std::make_shared<Fuzzer_TLS_Server_Callbacks>
    - std::make_shared<Fuzzer_TLS_Server_Creds>
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ecc_p521.cpp:11,1
    - Dst: check_ecc_math
      Src: /src/botan/src/fuzzer/ecc_p521.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 3
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ecc_p521.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::size
    - check_ecc_math
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/fuzzer/pow_mod.cpp:22,1
    - Dst: Botan::BigInt::is_odd
      Src: /src/botan/src/fuzzer/pow_mod.cpp:26,1
    - Dst: auto::multiply
      Src: /src/botan/src/fuzzer/pow_mod.cpp:27,1
    - Dst: auto::square
      Src: /src/botan/src/fuzzer/pow_mod.cpp:29,1
    - Dst: auto::multiply
      Src: /src/botan/src/fuzzer/pow_mod.cpp:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - x
    - n
    - ' p'
    argTypes:
    - Botan::BigInt
    - Botan::BigInt
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 33
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 33
    functionName: simple_power_mod
    functionSourceFile: /src/botan/src/fuzzer/pow_mod.cpp
    functionUses: 0
    functionsReached:
    - auto::multiply
    - Botan::BigInt::is_odd
    - Botan::Barrett_Reduction::for_public_modulus
    - auto::square
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt simple_power_mod(Botan::BigInt x, Botan::BigInt n, const
      Botan::BigInt& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/pow_mod.cpp:40,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/pow_mod.cpp:50,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/pow_mod.cpp:50,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/pow_mod.cpp:51,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/pow_mod.cpp:51,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/pow_mod.cpp:52,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/pow_mod.cpp:52,1
    - Dst: simple_power_mod
      Src: /src/botan/src/fuzzer/pow_mod.cpp:55,1
    - Dst: Botan::power_mod
      Src: /src/botan/src/fuzzer/pow_mod.cpp:56,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/pow_mod.cpp:59,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/pow_mod.cpp:59,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/pow_mod.cpp:60,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/pow_mod.cpp:61,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/pow_mod.cpp:62,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/pow_mod.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/pow_mod.cpp
    functionUses: 1
    functionsReached:
    - simple_power_mod
    - Botan::power_mod
    - Botan::BigInt::to_hex_string
    - FUZZER_WRITE_AND_CRASH
    - std::span<const uint8_t>::subspan
    - std::span<const uint8_t>::size
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Botan::X509_Certificate>
      Src: /src/botan/src/tests/test_tls.cpp:45,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/test_tls.cpp:46,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/test_tls.cpp:48,1
    - Dst: Botan::TLS::Session::PEM_encode
      Src: /src/botan/src/tests/test_tls.cpp:50,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:52,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/tests/test_tls.cpp:52,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/tests/test_tls.cpp:52,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/tests/test_tls.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:56,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/tests/test_tls.cpp:56,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/tests/test_tls.cpp:56,1
    - Dst: Botan::TLS::Session::encrypt
      Src: /src/botan/src/tests/test_tls.cpp:59,1
    - Dst: Botan_Tests::TLS_Session_Tests::rng
      Src: /src/botan/src/tests/test_tls.cpp:59,1
    - Dst: Botan::TLS::Session::encrypt
      Src: /src/botan/src/tests/test_tls.cpp:60,1
    - Dst: Botan_Tests::TLS_Session_Tests::rng
      Src: /src/botan/src/tests/test_tls.cpp:60,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tls.cpp:62,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:63,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls.cpp:63,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:63,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls.cpp:63,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls.cpp:65,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:67,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:67,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:67,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:68,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:68,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:68,1
    - Dst: Botan::TLS::Session::decrypt
      Src: /src/botan/src/tests/test_tls.cpp:70,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:70,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls.cpp:70,1
    - Dst: Botan::TLS::Session::encrypt
      Src: /src/botan/src/tests/test_tls.cpp:73,1
    - Dst: Botan::TLS::Session::encrypt
      Src: /src/botan/src/tests/test_tls.cpp:75,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:77,1
    - Dst: std::vector<Botan::X509_Certificate>
      Src: /src/botan/src/tests/test_tls.cpp:85,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/test_tls.cpp:86,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/test_tls.cpp:88,1
    - Dst: Botan::TLS::Session::PEM_encode
      Src: /src/botan/src/tests/test_tls.cpp:89,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 96
    functionName: Botan_Tests::TLS_Session_Tests::run
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Session::PEM_encode
    - std::vector::data
    - std::vector::size
    - Botan::TLS::Session::decrypt
    - Test::Result::test_eq
    - Botan_Tests::TLS_Session_Tests::rng
    - Test::Result::test_throws
    - Botan::hex_decode
    - std::vector<Botan::X509_Certificate>
    - Test::Result::test_ne
    - Botan::TLS::Session::DER_encode
    - Botan::TLS::Server_Information
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::TLS::Session::encrypt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan_Tests::TLS_CBC_Padding_Tests::TLS_CBC_Padding_Tests
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_Padding_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:108,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: Botan_Tests::TLS_CBC_Padding_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mac_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::ZeroMac
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZeroMac(size_t mac_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::clear
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::name
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::output_length
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::add_data
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_data(std::span<const uint8_t> /*input*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::final_result
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void final_result(std::span<uint8_t> out) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::has_keying_material
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Key_Length_Specification
      Src: /src/botan/src/tests/test_tls.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::key_spec
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::Key_Length_Specification
    linkageType: ''
    returnType: Botan::Key_Length_Specification
    signature: Botan::Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ZeroMac>
      Src: /src/botan/src/tests/test_tls.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::new_object
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ZeroMac>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::key_schedule
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void key_schedule(std::span<const uint8_t> /* key */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bs
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::Noop_Block_Cipher
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Noop_Block_Cipher(size_t bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_tls.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::encrypt_n
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_tls.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::decrypt_n
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::block_size
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::clear
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::name
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::has_keying_material
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Key_Length_Specification
      Src: /src/botan/src/tests/test_tls.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::key_spec
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::Key_Length_Specification
    linkageType: ''
    returnType: Botan::Key_Length_Specification
    signature: Botan::Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Noop_Block_Cipher>
      Src: /src/botan/src/tests/test_tls.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::new_object
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Noop_Block_Cipher>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::key_schedule
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void key_schedule(std::span<const uint8_t> /*key*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: Botan_Tests::TLS_CBC_Tests::TLS_CBC_Tests
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:198,1
    - Dst: std::make_unique<Noop_Block_Cipher>
      Src: /src/botan/src/tests/test_tls.cpp:204,1
    - Dst: std::make_unique<ZeroMac>
      Src: /src/botan/src/tests/test_tls.cpp:205,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::set_key
      Src: /src/botan/src/tests/test_tls.cpp:211,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls.cpp:211,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::set_associated_data
      Src: /src/botan/src/tests/test_tls.cpp:213,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:213,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls.cpp:213,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tls.cpp:215,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_tls.cpp:215,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::finish
      Src: /src/botan/src/tests/test_tls.cpp:218,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tls.cpp:220,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tls.cpp:222,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tls.cpp:226,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tls.cpp:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 233
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 233
    functionName: Botan_Tests::TLS_CBC_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::make_unique<Noop_Block_Cipher>
    - std::vector<uint8_t>
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::set_key
    - get_req_bin
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::finish
    - std::make_unique<ZeroMac>
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::set_associated_data
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: Botan_Tests::TLS_CBC_KAT_Tests::TLS_CBC_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_CBC_KAT_Tests::run_kat
      Src: /src/botan/src/tests/test_tls.cpp:247,1
    - Dst: Botan_Tests::TLS_CBC_KAT_Tests::run_kat
      Src: /src/botan/src/tests/test_tls.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: Botan_Tests::TLS_CBC_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_CBC_KAT_Tests::run_kat
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_CBC_KAT_Tests::get_cipher_and_mac
      Src: /src/botan/src/tests/test_tls.cpp:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: Botan_Tests::TLS_CBC_KAT_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_CBC_KAT_Tests::get_cipher_and_mac
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& /*header*/, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/tests/test_tls.cpp:267,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls.cpp:267,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/tests/test_tls.cpp:268,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: Botan_Tests::TLS_CBC_KAT_Tests::get_cipher_and_mac
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - get_req_str
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: "std::pair<std::unique_ptr<Botan::BlockCipher>,\n                                     std::unique_ptr<Botan::MessageAuthenticationCode>>"
    signature: "std::pair<std::unique_ptr<Botan::BlockCipher>,\n                                     std::unique_ptr<Botan::MessageAuthenticationCode>>
      get_cipher_and_mac(const VarMap& vars)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_sz
      Src: /src/botan/src/tests/test_tls.cpp:285,1
    - Dst: get_req_sz
      Src: /src/botan/src/tests/test_tls.cpp:286,1
    - Dst: get_req_bool
      Src: /src/botan/src/tests/test_tls.cpp:287,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls.cpp:289,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls.cpp:295,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:299,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:300,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:301,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:302,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:303,1
    - Dst: T
      Src: /src/botan/src/tests/test_tls.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls.cpp:307,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_tls.cpp:309,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_tls.cpp:310,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls.cpp:312,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls.cpp:312,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls.cpp:313,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls.cpp:313,1
    - Dst: std::swap
      Src: /src/botan/src/tests/test_tls.cpp:316,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_tls.cpp:321,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_tls.cpp:322,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls.cpp:323,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls.cpp:323,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_tls.cpp:327,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls.cpp:329,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls.cpp:329,1
    - Dst: auto::minimum_final_size
      Src: /src/botan/src/tests/test_tls.cpp:329,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tls.cpp:330,1
    - Dst: auto::first
      Src: /src/botan/src/tests/test_tls.cpp:330,1
    - Dst: auto::subspan
      Src: /src/botan/src/tests/test_tls.cpp:331,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls.cpp:334,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls.cpp:334,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_tls.cpp:335,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls.cpp:336,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls.cpp:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - ' result'
    - ' vars'
    argTypes:
    - Test::Result
    - VarMap
    constantsTouched: []
    func_position:
      end: 337
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 337
    functionName: Botan_Tests::TLS_CBC_KAT_Tests::run_kat
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - auto::subspan
    - get_req_bool
    - get_req_str
    - test_eq
    - std::string
    - auto::end
    - T
    - Test_Error
    - get_req_sz
    - auto::set_key
    - auto::finish
    - auto::first
    - auto::start
    - auto::size
    - auto::process
    - auto::begin
    - auto::set_associated_data
    - std::swap
    - get_req_bin
    - auto::minimum_final_size
    linkageType: ''
    returnType: void
    signature: void run_kat(Test::Result& result, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: Botan_Tests::TLS_Null_Tests::TLS_Null_Tests
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Null_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/tests/test_tls.cpp:357,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls.cpp:357,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tls.cpp:359,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::set_key
      Src: /src/botan/src/tests/test_tls.cpp:362,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::set_associated_data
      Src: /src/botan/src/tests/test_tls.cpp:363,1
    - Dst: begin
      Src: /src/botan/src/tests/test_tls.cpp:365,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls.cpp:365,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::finish
      Src: /src/botan/src/tests/test_tls.cpp:366,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls.cpp:368,1
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_tls.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' result'
    - ' hash'
    - ' key'
    - ' associated_data'
    - ' message'
    - ' expected_tls_fragment'
    argTypes:
    - Test::Result
    - std::string
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 369
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 369
    functionName: Botan_Tests::TLS_Null_Tests::encryption_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::set_associated_data
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::output_length
    - end
    - test_eq
    - Botan::unlock
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::set_key
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::finish
    - begin
    linkageType: ''
    returnType: void
    signature: "void encryption_test(Test::Result& result,\n                           const
      std::string& hash,\n                           const std::vector<uint8_t>& key,\n
      \                          const std::vector<uint8_t>& associated_data,\n                           const
      std::vector<uint8_t>& message,\n                           const std::vector<uint8_t>&
      expected_tls_fragment)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/tests/test_tls.cpp:378,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls.cpp:378,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tls.cpp:380,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::set_key
      Src: /src/botan/src/tests/test_tls.cpp:383,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::set_associated_data
      Src: /src/botan/src/tests/test_tls.cpp:384,1
    - Dst: begin
      Src: /src/botan/src/tests/test_tls.cpp:386,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls.cpp:386,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls.cpp:389,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::finish
      Src: /src/botan/src/tests/test_tls.cpp:390,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::finish
      Src: /src/botan/src/tests/test_tls.cpp:393,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls.cpp:394,1
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_tls.cpp:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - ' result'
    - ' hash'
    - ' key'
    - ' associated_data'
    - ' expected_message'
    - ' tls_fragment'
    - ' header'
    argTypes:
    - Test::Result
    - std::string
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::string
    constantsTouched: []
    func_position:
      end: 396
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 396
    functionName: Botan_Tests::TLS_Null_Tests::decryption_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::set_associated_data
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::finish
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::set_key
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::output_length
    - end
    - test_eq
    - test_throws
    - Botan::unlock
    - begin
    linkageType: ''
    returnType: void
    signature: "void decryption_test(Test::Result& result,\n                           const
      std::string& hash,\n                           const std::vector<uint8_t>& key,\n
      \                          const std::vector<uint8_t>& associated_data,\n                           const
      std::vector<uint8_t>& expected_message,\n                           const std::vector<uint8_t>&
      tls_fragment,\n                           const std::string& header)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/tests/test_tls.cpp:401,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls.cpp:401,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tls.cpp:403,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls.cpp:406,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::set_associated_data
      Src: /src/botan/src/tests/test_tls.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' result'
    - ' hash'
    - ' associated_data'
    argTypes:
    - Test::Result
    - std::string
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 409
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 409
    functionName: Botan_Tests::TLS_Null_Tests::invalid_ad_length_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::set_associated_data
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::output_length
    - test_throws
    linkageType: ''
    returnType: void
    signature: "void invalid_ad_length_test(Test::Result& result,\n                                  const
      std::string& hash,\n                                  const std::vector<uint8_t>&
      associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls.cpp:414,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:415,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:416,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:417,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:418,1
    - Dst: empty
      Src: /src/botan/src/tests/test_tls.cpp:420,1
    - Dst: Botan_Tests::TLS_Null_Tests::encryption_test
      Src: /src/botan/src/tests/test_tls.cpp:421,1
    - Dst: Botan_Tests::TLS_Null_Tests::decryption_test
      Src: /src/botan/src/tests/test_tls.cpp:422,1
    - Dst: Botan_Tests::TLS_Null_Tests::decryption_test
      Src: /src/botan/src/tests/test_tls.cpp:426,1
    - Dst: Botan_Tests::TLS_Null_Tests::invalid_ad_length_test
      Src: /src/botan/src/tests/test_tls.cpp:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 434
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 434
    functionName: Botan_Tests::TLS_Null_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_Null_Tests::decryption_test
    - empty
    - get_req_str
    - Botan_Tests::TLS_Null_Tests::invalid_ad_length_test
    - get_req_bin
    - Botan_Tests::TLS_Null_Tests::encryption_test
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Alert::Alert
      Src: /src/botan/src/tests/test_tls.cpp:485,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:486,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_tls.cpp:486,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_tls.cpp:487,1
    - Dst: Botan::TLS::Alert::Alert
      Src: /src/botan/src/tests/test_tls.cpp:490,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:492,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/tests/test_tls.cpp:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 495
    functionName: Botan_Tests::Test_TLS_Alert_Strings::run
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type_string
    - std::set::insert
    - Test::Result::test_eq
    - std::set::count
    - Botan::TLS::Alert::Alert
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_Policy_Text::tls_policy_string
      Src: /src/botan/src/tests/test_tls.cpp:511,1
    - Dst: Botan_Tests::Test_TLS_Policy_Text::read_tls_policy
      Src: /src/botan/src/tests/test_tls.cpp:515,1
    - Dst: Botan_Tests::Test_TLS_Policy_Text::diff
      Src: /src/botan/src/tests/test_tls.cpp:518,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tls.cpp:519,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls.cpp:519,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tls.cpp:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 526
    functionName: Botan_Tests::Test_TLS_Policy_Text::run
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan_Tests::Test_TLS_Policy_Text::tls_policy_string
    - Botan_Tests::Test_TLS_Policy_Text::diff
    - Test::Result::test_failure
    - Botan_Tests::Test_TLS_Policy_Text::read_tls_policy
    - Test::Result::test_success
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/botan/src/tests/test_tls.cpp:541,1
    - Dst: std::getline
      Src: /src/botan/src/tests/test_tls.cpp:544,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_tls.cpp:552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' a_str'
    - ' b_str'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 553
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 553
    functionName: Botan_Tests::Test_TLS_Policy_Text::diff
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - std::getline
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string diff(const std::string& a_str, const std::string& b_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_tls.cpp:556,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_tls.cpp:558,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/test_tls.cpp:559,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls.cpp:560,1
    - Dst: Botan::TLS::Text_Policy::to_string
      Src: /src/botan/src/tests/test_tls.cpp:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' policy_str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 565
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 565
    functionName: Botan_Tests::Test_TLS_Policy_Text::read_tls_policy
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - Botan_Tests::Test::data_file
    - Botan::TLS::Text_Policy::to_string
    - Test_Error
    - std::ifstream::good
    linkageType: ''
    returnType: std::string
    signature: std::string read_tls_policy(const std::string& policy_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::TLS::Policy>
      Src: /src/botan/src/tests/test_tls.cpp:570,1
    - Dst: std::make_unique<Botan::TLS::NSA_Suite_B_128>
      Src: /src/botan/src/tests/test_tls.cpp:572,1
    - Dst: std::make_unique<Botan::TLS::NSA_Suite_B_192>
      Src: /src/botan/src/tests/test_tls.cpp:574,1
    - Dst: std::make_unique<Botan::TLS::BSI_TR_02102_2>
      Src: /src/botan/src/tests/test_tls.cpp:576,1
    - Dst: std::make_unique<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/tests/test_tls.cpp:578,1
    - Dst: std::make_unique<Botan::TLS::Datagram_Policy>
      Src: /src/botan/src/tests/test_tls.cpp:580,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls.cpp:582,1
    - Dst: std::unique_ptr::to_string
      Src: /src/botan/src/tests/test_tls.cpp:585,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ' policy_str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 586
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 586
    functionName: Botan_Tests::Test_TLS_Policy_Text::tls_policy_string
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Botan::TLS::Datagram_Policy>
    - std::make_unique<Botan::TLS::NSA_Suite_B_192>
    - std::make_unique<Botan::TLS::NSA_Suite_B_128>
    - std::unique_ptr::to_string
    - Test_Error
    - std::make_unique<Botan::TLS::Strict_Policy>
    - std::make_unique<Botan::TLS::BSI_TR_02102_2>
    - std::make_unique<Botan::TLS::Policy>
    linkageType: ''
    returnType: std::string
    signature: std::string tls_policy_string(const std::string& policy_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/tests/test_tls.cpp:599,1
    - Dst: auto::valid
      Src: /src/botan/src/tests/test_tls.cpp:601,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:602,1
    - Dst: Botan::TLS::Ciphersuite::is_scsv
      Src: /src/botan/src/tests/test_tls.cpp:602,1
    - Dst: auto::cbc_ciphersuite
      Src: /src/botan/src/tests/test_tls.cpp:604,1
    - Dst: auto::null_ciphersuite
      Src: /src/botan/src/tests/test_tls.cpp:604,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:605,1
    - Dst: auto::aead_ciphersuite
      Src: /src/botan/src/tests/test_tls.cpp:605,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:606,1
    - Dst: auto::mac_algo
      Src: /src/botan/src/tests/test_tls.cpp:606,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:608,1
    - Dst: auto::aead_ciphersuite
      Src: /src/botan/src/tests/test_tls.cpp:608,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:609,1
    - Dst: auto::prf_algo
      Src: /src/botan/src/tests/test_tls.cpp:610,1
    - Dst: auto::mac_algo
      Src: /src/botan/src/tests/test_tls.cpp:611,1
    - Dst: auto::null_ciphersuite
      Src: /src/botan/src/tests/test_tls.cpp:614,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:615,1
    - Dst: auto::cipher_algo
      Src: /src/botan/src/tests/test_tls.cpp:615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 623
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 623
    functionName: Botan_Tests::Test_TLS_Ciphersuites::run
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - auto::valid
    - Botan::TLS::Ciphersuite::by_id
    - auto::aead_ciphersuite
    - auto::cipher_algo
    - Test::Result::test_eq
    - auto::mac_algo
    - auto::cbc_ciphersuite
    - auto::prf_algo
    - Botan::TLS::Ciphersuite::is_scsv
    - auto::null_ciphersuite
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls.cpp:633,1
    - Dst: Botan_Tests::Test_TLS_Algo_Strings::test_auth_method_strings
      Src: /src/botan/src/tests/test_tls.cpp:633,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls.cpp:634,1
    - Dst: Botan_Tests::Test_TLS_Algo_Strings::test_kex_algo_strings
      Src: /src/botan/src/tests/test_tls.cpp:634,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls.cpp:635,1
    - Dst: Botan_Tests::Test_TLS_Algo_Strings::test_tls_sig_method_strings
      Src: /src/botan/src/tests/test_tls.cpp:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 638
    functionName: Botan_Tests::Test_TLS_Algo_Strings::run
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_Algo_Strings::test_auth_method_strings
    - Botan_Tests::Test_TLS_Algo_Strings::test_kex_algo_strings
    - std::vector::push_back
    - Botan_Tests::Test_TLS_Algo_Strings::test_tls_sig_method_strings
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Signature_Scheme::all_available_schemes
      Src: /src/botan/src/tests/test_tls.cpp:644,1
    - Dst: to_string
      Src: /src/botan/src/tests/test_tls.cpp:648,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:650,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_tls.cpp:650,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_tls.cpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 656
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 656
    functionName: Botan_Tests::Test_TLS_Algo_Strings::test_tls_sig_method_strings
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - std::set::insert
    - Test::Result::test_eq
    - Botan::TLS::Signature_Scheme::all_available_schemes
    - std::set::count
    - to_string
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_tls_sig_method_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::auth_method_to_string
      Src: /src/botan/src/tests/test_tls.cpp:668,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tls.cpp:669,1
    - Dst: Botan::TLS::auth_method_from_string
      Src: /src/botan/src/tests/test_tls.cpp:670,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls.cpp:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 675
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 675
    functionName: Botan_Tests::Test_TLS_Algo_Strings::test_auth_method_strings
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_ne
    - Botan::TLS::auth_method_to_string
    - Botan::TLS::auth_method_from_string
    - Test::Result::confirm
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_auth_method_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/tests/test_tls.cpp:687,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tls.cpp:688,1
    - Dst: Botan::TLS::kex_method_from_string
      Src: /src/botan/src/tests/test_tls.cpp:689,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls.cpp:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 694
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 694
    functionName: Botan_Tests::Test_TLS_Algo_Strings::test_kex_algo_strings
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::kex_method_to_string
    - Test::Result::test_ne
    - Botan::TLS::kex_method_from_string
    - Test::Result::confirm
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_kex_algo_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_DN::decode_from
      Src: /src/botan/src/tests/test_certstor_utils.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hex'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: Botan_Tests::read_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_DN::decode_from
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN read_dn(const std::string& hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Botan_Tests::get_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::read_dn
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN get_dn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_utf8_dn_alternatives
      Src: /src/botan/src/tests/test_certstor_utils.cpp:38,1
    - Dst: std::find_if
      Src: /src/botan/src/tests/test_certstor_utils.cpp:39,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_certstor_utils.cpp:40,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_certstor_utils.cpp:40,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_certstor_utils.cpp:41,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_certstor_utils.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Botan_Tests::get_utf8_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::find_if
    - Botan_Tests::get_utf8_dn_alternatives
    - auto::end
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN get_utf8_dn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:50,1
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:56,1
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:62,1
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:68,1
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: Botan_Tests::get_utf8_dn_alternatives
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::read_dn
    linkageType: ''
    returnType: std::vector<std::pair<std::string, Botan::X509_DN>>
    signature: std::vector<std::pair<std::string, Botan::X509_DN>> get_utf8_dn_alternatives()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_certstor_utils.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: Botan_Tests::get_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_key_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Botan_Tests::get_subject_cn
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_subject_cn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_certstor_utils.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: Botan_Tests::get_pubkey_sha1_of_cert_with_different_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_pubkey_sha1_of_cert_with_different_key_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: Botan_Tests::get_dn_of_cert_with_different_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::read_dn
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN get_dn_of_cert_with_different_key_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: Botan_Tests::get_unknown_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::read_dn
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN get_unknown_dn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 157
    functionName: Botan_Tests::get_skewed_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::read_dn
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN get_skewed_dn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_certstor_utils.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: Botan_Tests::get_unknown_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_unknown_key_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::Ed25519_Key_Validity_Tests::Ed25519_Key_Validity_Tests
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519_Key_Validity_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed25519.cpp:28,1
    - Dst: std::make_unique<Botan::Ed25519_PublicKey>
      Src: /src/botan/src/tests/test_ed25519.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: Botan_Tests::Ed25519_Key_Validity_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - std::make_unique<Botan::Ed25519_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: Botan_Tests::Ed25519_Verification_Tests::Ed25519_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan_Tests::Ed25519_Verification_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed25519.cpp:41,1
    - Dst: std::make_unique<Botan::Ed25519_PublicKey>
      Src: /src/botan/src/tests/test_ed25519.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: Botan_Tests::Ed25519_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - std::make_unique<Botan::Ed25519_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: Botan_Tests::Ed25519_Signature_Tests::Ed25519_Signature_Tests
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519_Signature_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan_Tests::Ed25519_Signature_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed25519.cpp:54,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed25519.cpp:55,1
    - Dst: std::make_unique<Botan::Ed25519_PrivateKey>
      Src: /src/botan/src/tests/test_ed25519.cpp:57,1
    - Dst: Botan::Ed25519_PrivateKey::from_seed
      Src: /src/botan/src/tests/test_ed25519.cpp:57,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/tests/test_ed25519.cpp:59,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_ed25519.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: Botan_Tests::Ed25519_Signature_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached:
    - auto::raw_public_key_bits
    - Test_Error
    - std::make_unique<Botan::Ed25519_PrivateKey>
    - get_req_bin
    - Botan::Ed25519_PrivateKey::from_seed
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_ed25519.cpp:84,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ed25519.cpp:85,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_ed25519.cpp:88,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ed25519.cpp:89,1
    - Dst: Botan_Tests::Ed25519_Curdle_Format_Tests::rng
      Src: /src/botan/src/tests/test_ed25519.cpp:91,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/tests/test_ed25519.cpp:92,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/tests/test_ed25519.cpp:93,1
    - Dst: Botan_Tests::Ed25519_Curdle_Format_Tests::rng
      Src: /src/botan/src/tests/test_ed25519.cpp:93,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/tests/test_ed25519.cpp:96,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ed25519.cpp:97,1
    - Dst: Botan::PK_Verifier::check_signature
      Src: /src/botan/src/tests/test_ed25519.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 100
    functionName: Botan_Tests::Ed25519_Curdle_Format_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - Botan::PK_Verifier::update
    - Test::Result::confirm
    - Botan::PK_Verifier::check_signature
    - Botan::PKCS8::load_key
    - Botan::PK_Signer::update
    - Botan_Tests::Ed25519_Curdle_Format_Tests::rng
    - Botan::PK_Signer::signature
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan_Tests::Ed25519_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan_Tests::Ed25519_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Ed25519_PublicKey>
      Src: /src/botan/src/tests/test_ed25519.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_pk
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: Botan_Tests::Ed25519_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Ed25519_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan_Tests::Cipher_Mode_Tests::Cipher_Mode_Tests
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_modes.cpp:24,1
    - Dst: Botan::Cipher_Mode::providers
      Src: /src/botan/src/tests/test_modes.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan_Tests::Cipher_Mode_Tests::possible_providers
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 0
    functionsReached:
    - provider_filter
    - Botan::Cipher_Mode::providers
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> possible_providers(const std::string& algo)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_modes.cpp:28,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_modes.cpp:29,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_modes.cpp:30,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_modes.cpp:31,1
    - Dst: Botan_Tests::Cipher_Mode_Tests::possible_providers
      Src: /src/botan/src/tests/test_modes.cpp:35,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_modes.cpp:37,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_modes.cpp:38,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:43,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:45,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_modes.cpp:49,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_modes.cpp:52,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_modes.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:58,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_modes.cpp:58,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_modes.cpp:58,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_modes.cpp:60,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_modes.cpp:60,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:62,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_modes.cpp:63,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_modes.cpp:63,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_modes.cpp:65,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_modes.cpp:66,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_modes.cpp:66,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_modes.cpp:68,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_modes.cpp:69,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_modes.cpp:69,1
    - Dst: Botan_Tests::Cipher_Mode_Tests::test_mode
      Src: /src/botan/src/tests/test_modes.cpp:72,1
    - Dst: Botan_Tests::Cipher_Mode_Tests::rng
      Src: /src/botan/src/tests/test_modes.cpp:72,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_modes.cpp:74,1
    - Dst: what
      Src: /src/botan/src/tests/test_modes.cpp:74,1
    - Dst: Botan_Tests::Cipher_Mode_Tests::test_mode
      Src: /src/botan/src/tests/test_modes.cpp:78,1
    - Dst: Botan_Tests::Cipher_Mode_Tests::rng
      Src: /src/botan/src/tests/test_modes.cpp:78,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_modes.cpp:80,1
    - Dst: what
      Src: /src/botan/src/tests/test_modes.cpp:80,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 85
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 85
    functionName: Botan_Tests::Cipher_Mode_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Cipher_Mode_Tests::possible_providers
    - std::vector::empty
    - auto::update_granularity
    - auto::ideal_granularity
    - Botan_Tests::Cipher_Mode_Tests::test_mode
    - what
    - Test::Result::test_eq
    - Test::Result::confirm
    - Test::Result::test_gt
    - Test::Result::test_failure
    - Botan::Cipher_Mode::create
    - Test::Result::note_missing
    - get_req_bin
    - Botan_Tests::Cipher_Mode_Tests::rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:101,1
    - Dst: name
      Src: /src/botan/src/tests/test_modes.cpp:101,1
    - Dst: provider
      Src: /src/botan/src/tests/test_modes.cpp:104,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:105,1
    - Dst: provider
      Src: /src/botan/src/tests/test_modes.cpp:105,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:108,1
    - Dst: authenticated
      Src: /src/botan/src/tests/test_modes.cpp:108,1
    - Dst: test_gt
      Src: /src/botan/src/tests/test_modes.cpp:114,1
    - Dst: ideal_granularity
      Src: /src/botan/src/tests/test_modes.cpp:114,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:116,1
    - Dst: has_keying_material
      Src: /src/botan/src/tests/test_modes.cpp:116,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:118,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:120,1
    - Dst: test_lte
      Src: /src/botan/src/tests/test_modes.cpp:127,1
    - Dst: output_length
      Src: /src/botan/src/tests/test_modes.cpp:127,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:127,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:127,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_modes.cpp:129,1
    - Dst: output_length
      Src: /src/botan/src/tests/test_modes.cpp:129,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:129,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:129,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:133,1
    - Dst: output_length
      Src: /src/botan/src/tests/test_modes.cpp:133,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:133,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:133,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_modes.cpp:136,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/tests/test_modes.cpp:136,1
    - Dst: default_nonce_length
      Src: /src/botan/src/tests/test_modes.cpp:136,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:140,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/tests/test_modes.cpp:140,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:141,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:141,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_modes.cpp:143,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:146,1
    - Dst: update
      Src: /src/botan/src/tests/test_modes.cpp:146,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:147,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:147,1
    - Dst: set_key
      Src: /src/botan/src/tests/test_modes.cpp:149,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_modes.cpp:149,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:152,1
    - Dst: update
      Src: /src/botan/src/tests/test_modes.cpp:152,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:155,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_modes.cpp:155,1
    - Dst: reset
      Src: /src/botan/src/tests/test_modes.cpp:156,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:159,1
    - Dst: update
      Src: /src/botan/src/tests/test_modes.cpp:160,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:163,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_modes.cpp:163,1
    - Dst: update
      Src: /src/botan/src/tests/test_modes.cpp:164,1
    - Dst: reset
      Src: /src/botan/src/tests/test_modes.cpp:166,1
    - Dst: set_key
      Src: /src/botan/src/tests/test_modes.cpp:168,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:169,1
    - Dst: has_keying_material
      Src: /src/botan/src/tests/test_modes.cpp:169,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:170,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_modes.cpp:174,1
    - Dst: begin
      Src: /src/botan/src/tests/test_modes.cpp:174,1
    - Dst: end
      Src: /src/botan/src/tests/test_modes.cpp:174,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:175,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:176,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:179,1
    - Dst: Botan::secure_vector::clear
      Src: /src/botan/src/tests/test_modes.cpp:186,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:188,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_modes.cpp:190,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:190,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:190,1
    - Dst: update
      Src: /src/botan/src/tests/test_modes.cpp:192,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:196,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:196,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:196,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:197,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:200,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_modes.cpp:204,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:204,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:204,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:205,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:205,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:205,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:207,1
    - Dst: update
      Src: /src/botan/src/tests/test_modes.cpp:208,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:209,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:213,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:216,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_modes.cpp:217,1
    - Dst: begin
      Src: /src/botan/src/tests/test_modes.cpp:217,1
    - Dst: end
      Src: /src/botan/src/tests/test_modes.cpp:217,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:221,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:223,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:224,1
    - Dst: clear
      Src: /src/botan/src/tests/test_modes.cpp:227,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:228,1
    - Dst: has_keying_material
      Src: /src/botan/src/tests/test_modes.cpp:228,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:230,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 83
    argCount: 10
    argNames:
    - ' result'
    - ' algo'
    - ' provider'
    - ' direction'
    - ' mode'
    - ' key'
    - ' nonce'
    - ' input'
    - ' expected'
    - ' rng'
    argTypes:
    - Test::Result
    - std::string
    - std::string
    - std::string
    - Botan::Cipher_Mode
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 234
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 234
    functionName: Botan_Tests::Cipher_Mode_Tests::test_mode
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 1
    functionsReached:
    - clear
    - has_keying_material
    - end
    - test_eq
    - name
    - reset
    - default_nonce_length
    - begin
    - test_gte
    - finish
    - start
    - data
    - Botan::secure_vector::clear
    - valid_nonce_length
    - output_length
    - confirm
    - test_lte
    - set_key
    - update
    - mutate_vec
    - provider
    - ideal_granularity
    - Botan::secure_vector::assign
    - authenticated
    - test_gt
    - test_throws
    - size
    - random_vec
    linkageType: ''
    returnType: void
    signature: "void test_mode(Test::Result& result,\n                            const
      std::string& algo,\n                            const std::string& provider,\n
      \                           const std::string& direction,\n                            Botan::Cipher_Mode&
      mode,\n                            const std::vector<uint8_t>& key,\n                            const
      std::vector<uint8_t>& nonce,\n                            const std::vector<uint8_t>&
      input,\n                            const std::vector<uint8_t>& expected,\n
      \                           Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_modes.cpp:243,1
    - Dst: Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_cbc_iv_carry
      Src: /src/botan/src/tests/test_modes.cpp:243,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_modes.cpp:244,1
    - Dst: Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_cfb_iv_carry
      Src: /src/botan/src/tests/test_modes.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_modes.cpp:245,1
    - Dst: Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_ctr_iv_carry
      Src: /src/botan/src/tests/test_modes.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: Botan_Tests::Cipher_Mode_IV_Carry_Tests::run
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_cfb_iv_carry
    - std::vector::push_back
    - Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_cbc_iv_carry
    - Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_ctr_iv_carry
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:255,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:257,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_modes.cpp:263,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_modes.cpp:264,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_modes.cpp:265,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_modes.cpp:267,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_modes.cpp:268,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:270,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:271,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:272,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:274,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:275,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:277,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:279,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:280,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:282,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:284,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:285,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:287,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:288,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:290,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:291,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 296
    functionName: Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_cbc_iv_carry
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::finish
    - Botan::hex_decode_locked
    - std::unique_ptr::start
    - Test::Result::test_eq
    - Botan::Cipher_Mode::create
    - std::unique_ptr::set_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_cbc_iv_carry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:302,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:304,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_modes.cpp:309,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_modes.cpp:310,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_modes.cpp:311,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_modes.cpp:313,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_modes.cpp:314,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:316,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:317,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:318,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:320,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:321,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:323,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:325,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:326,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:328,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:330,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:331,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:332,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:334,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:335,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:336,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:338,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:339,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 343
    functionName: Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_cfb_iv_carry
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::finish
    - Botan::hex_decode_locked
    - std::unique_ptr::start
    - Test::Result::test_eq
    - Botan::Cipher_Mode::create
    - std::unique_ptr::set_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_cfb_iv_carry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:350,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:352,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_modes.cpp:354,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_modes.cpp:355,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_modes.cpp:357,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_modes.cpp:358,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:375,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:376,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:378,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:379,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:383,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:385,1
    - Dst: c_str
      Src: /src/botan/src/tests/test_modes.cpp:385,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:387,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_modes.cpp:389,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:390,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_modes.cpp:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 395
    functionName: Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_ctr_iv_carry
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::finish
    - std::unique_ptr::start
    - static_cast<size_t>
    - Test::Result::test_eq
    - Botan::hex_decode
    - Botan::secure_vector::size
    - Botan::Cipher_Mode::create
    - c_str
    - std::unique_ptr::set_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ctr_iv_carry()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::HOTP_KAT_Tests::HOTP_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HOTP_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_Tests::HOTP_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_otp.cpp:29,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/test_otp.cpp:34,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_otp.cpp:34,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_otp.cpp:41,1
    - Dst: Botan::HOTP::generate_hotp
      Src: /src/botan/src/tests/test_otp.cpp:41,1
    - Dst: Botan::HOTP::verify_hotp
      Src: /src/botan/src/tests/test_otp.cpp:43,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:44,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_otp.cpp:45,1
    - Dst: Botan::HOTP::verify_hotp
      Src: /src/botan/src/tests/test_otp.cpp:48,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:49,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_otp.cpp:50,1
    - Dst: Botan::HOTP::verify_hotp
      Src: /src/botan/src/tests/test_otp.cpp:53,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:54,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_otp.cpp:55,1
    - Dst: Botan::HOTP::verify_hotp
      Src: /src/botan/src/tests/test_otp.cpp:58,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:59,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_otp.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - ' hash_algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 63
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 63
    functionName: Botan_Tests::HOTP_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 0
    functionsReached:
    - Botan::HOTP::verify_hotp
    - Botan::SymmetricKey
    - Test::Result::test_eq
    - Botan::HOTP::generate_hotp
    - Test::Result::confirm
    - Test::Result::test_int_eq
    - get_req_bin
    - Botan::HashFunction::create
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& hash_algo, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan_Tests::TOTP_KAT_Tests::TOTP_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TOTP_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan_Tests::TOTP_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_otp.cpp:77,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/test_otp.cpp:82,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_otp.cpp:82,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_otp.cpp:86,1
    - Dst: Botan_Tests::TOTP_KAT_Tests::from_timestring
      Src: /src/botan/src/tests/test_otp.cpp:90,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/tests/test_otp.cpp:91,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/tests/test_otp.cpp:92,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_otp.cpp:94,1
    - Dst: Botan::TOTP::generate_totp
      Src: /src/botan/src/tests/test_otp.cpp:94,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:96,1
    - Dst: Botan::TOTP::verify_totp
      Src: /src/botan/src/tests/test_otp.cpp:96,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:97,1
    - Dst: Botan::TOTP::verify_totp
      Src: /src/botan/src/tests/test_otp.cpp:97,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:98,1
    - Dst: Botan::TOTP::verify_totp
      Src: /src/botan/src/tests/test_otp.cpp:98,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:99,1
    - Dst: Botan::TOTP::verify_totp
      Src: /src/botan/src/tests/test_otp.cpp:99,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:100,1
    - Dst: Botan::TOTP::verify_totp
      Src: /src/botan/src/tests/test_otp.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' hash_algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 103
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 103
    functionName: Botan_Tests::TOTP_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 0
    functionsReached:
    - Botan::SymmetricKey
    - Botan_Tests::TOTP_KAT_Tests::from_timestring
    - Botan_CLI::Timer::seconds
    - Test::Result::test_eq
    - get_req_str
    - Botan::TOTP::verify_totp
    - Botan::TOTP::generate_totp
    - Test::Result::test_int_eq
    - get_req_bin
    - Botan::HashFunction::create
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& hash_algo, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_otp.cpp:107,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_otp.cpp:108,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_otp.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' time_str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: Botan_Tests::TOTP_KAT_Tests::from_timestring
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 1
    functionsReached:
    - Botan::calendar_point
    - Test_Error
    - size
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point from_timestring(const std::string&
      time_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:39,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:40,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:41,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:42,1
    - Dst: std::make_unique<Botan::DSA_PrivateKey>
      Src: /src/botan/src/tests/test_dsa.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: Botan_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::DSA_PrivateKey>
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_dsa.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/botan/src/tests/test_dsa.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: Botan_Tests::DSA_KAT_Verification_Tests::DSA_KAT_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - defined
    linkageType: ''
    returnType: void
    signature: void DSA_KAT_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan_Tests::DSA_KAT_Verification_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:69,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:70,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:71,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:72,1
    - Dst: Botan::DSA_PrivateKey::public_key
      Src: /src/botan/src/tests/test_dsa.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: Botan_Tests::DSA_KAT_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::DSA_PrivateKey::public_key
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_dsa.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan_Tests::DSA_KAT_Verification_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: Botan_Tests::DSA_Verification_Tests::DSA_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan_Tests::DSA_Verification_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:92,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:93,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:94,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:95,1
    - Dst: std::make_unique<Botan::DSA_PublicKey>
      Src: /src/botan/src/tests/test_dsa.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: Botan_Tests::DSA_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::DSA_PublicKey>
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan_Tests::DSA_Verification_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan_Tests::DSA_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan_Tests::DSA_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::DSA_PublicKey>
      Src: /src/botan/src/tests/test_dsa.cpp:114,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_dsa.cpp:114,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_dsa.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: Botan_Tests::DSA_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - std::make_unique<Botan::DSA_PublicKey>
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_hss_lms.cpp:28,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:30,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:33,1
    - Dst: Botan::HSS_LMS_Params::L
      Src: /src/botan/src/tests/test_hss_lms.cpp:33,1
    - Dst: Botan::HSS_Level
      Src: /src/botan/src/tests/test_hss_lms.cpp:33,1
    - Dst: Botan::HSS_LMS_Params::params_at_level
      Src: /src/botan/src/tests/test_hss_lms.cpp:34,1
    - Dst: Botan::HSS_Level
      Src: /src/botan/src/tests/test_hss_lms.cpp:34,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:35,1
    - Dst: lms_params
      Src: /src/botan/src/tests/test_hss_lms.cpp:35,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_hss_lms.cpp:35,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:36,1
    - Dst: lms_params
      Src: /src/botan/src/tests/test_hss_lms.cpp:37,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:39,1
    - Dst: lmots_params
      Src: /src/botan/src/tests/test_hss_lms.cpp:40,1
    - Dst: Botan::HSS_LMS_Params::params_at_level
      Src: /src/botan/src/tests/test_hss_lms.cpp:43,1
    - Dst: Botan::HSS_Level
      Src: /src/botan/src/tests/test_hss_lms.cpp:43,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:44,1
    - Dst: lms_params
      Src: /src/botan/src/tests/test_hss_lms.cpp:45,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:47,1
    - Dst: lmots_params
      Src: /src/botan/src/tests/test_hss_lms.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 54
    functionName: Botan_Tests::test_hss_lms_params_parsing
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_LMS_Params::L
    - test_no_throw
    - lms_params
    - Botan_Tests::CHECK
    - Botan::HSS_LMS_Params::params_at_level
    - Botan::HSS_Level
    - std::string
    - lmots_params
    - test_is_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_hss_lms_params_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: Botan_Tests::HSS_LMS_Signature_Generation_Test::HSS_LMS_Signature_Generation_Test
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_Signature_Generation_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan_Tests::HSS_LMS_Signature_Generation_Test::default_padding
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_hss_lms.cpp:67,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hss_lms.cpp:67,1
    - Dst: std::make_unique<Botan::HSS_LMS_PrivateKey>
      Src: /src/botan/src/tests/test_hss_lms.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan_Tests::HSS_LMS_Signature_Generation_Test::load_private_key
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - Botan::lock
    - std::make_unique<Botan::HSS_LMS_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: Botan_Tests::HSS_LMS_Signature_Verify_Tests::HSS_LMS_Signature_Verify_Tests
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_Signature_Verify_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Botan_Tests::HSS_LMS_Signature_Verify_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hss_lms.cpp:83,1
    - Dst: std::make_unique<Botan::HSS_LMS_PublicKey>
      Src: /src/botan/src/tests/test_hss_lms.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: Botan_Tests::HSS_LMS_Signature_Verify_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - std::make_unique<Botan::HSS_LMS_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan_Tests::HSS_LMS_Signature_Verify_Invalid_Tests::HSS_LMS_Signature_Verify_Invalid_Tests
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_Signature_Verify_Invalid_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan_Tests::HSS_LMS_Signature_Verify_Invalid_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hss_lms.cpp:100,1
    - Dst: std::make_unique<Botan::HSS_LMS_PublicKey>
      Src: /src/botan/src/tests/test_hss_lms.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: Botan_Tests::HSS_LMS_Signature_Verify_Invalid_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - std::make_unique<Botan::HSS_LMS_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan_Tests::HSS_LMS_Key_Generation_Test::keygen_params
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan_Tests::HSS_LMS_Key_Generation_Test::algo_name
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::HSS_LMS_PublicKey>
      Src: /src/botan/src/tests/test_hss_lms.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_pk
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: Botan_Tests::HSS_LMS_Key_Generation_Test::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::HSS_LMS_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:128,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:128,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:130,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/tests/test_hss_lms.cpp:135,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/tests/test_hss_lms.cpp:136,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:136,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/tests/test_hss_lms.cpp:137,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:138,1
    - Dst: Botan::PK_Verifier::check_signature
      Src: /src/botan/src/tests/test_hss_lms.cpp:138,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_hss_lms.cpp:138,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_hss_lms.cpp:138,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_hss_lms.cpp:139,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_hss_lms.cpp:141,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:142,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_hss_lms.cpp:142,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/tests/test_hss_lms.cpp:143,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:145,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_hss_lms.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 150
    functionName: Botan_Tests::HSS_LMS_Negative_Tests::test_flipped_signature_bits
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - Botan::fmt
    - auto::at
    - Botan::PK_Verifier::update
    - Test::Result::confirm
    - Test::Result::test_no_throw
    - auto::data
    - Botan::create_private_key
    - Botan::PK_Verifier::check_signature
    - auto::size
    - Botan::PK_Signer::update
    - Botan::PK_Signer::signature
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_flipped_signature_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:155,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:155,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:157,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/tests/test_hss_lms.cpp:162,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/tests/test_hss_lms.cpp:163,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:163,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/tests/test_hss_lms.cpp:164,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:165,1
    - Dst: Botan::PK_Verifier::check_signature
      Src: /src/botan/src/tests/test_hss_lms.cpp:165,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_hss_lms.cpp:165,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_hss_lms.cpp:165,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_hss_lms.cpp:166,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:167,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/tests/test_hss_lms.cpp:168,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 175
    functionName: Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_signature
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - Botan::PK_Verifier::update
    - Test::Result::confirm
    - Test::Result::test_no_throw
    - auto::data
    - Botan::create_private_key
    - Botan::PK_Verifier::check_signature
    - auto::size
    - Botan::PK_Signer::update
    - Botan::PK_Signer::signature
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_too_short_signature()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:181,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:181,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:183,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:184,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_hss_lms.cpp:186,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_hss_lms.cpp:188,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_hss_lms.cpp:189,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_hss_lms.cpp:190,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_hss_lms.cpp:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 196
    functionName: Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_private_key
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - auto::private_key_bits
    - Test::Result::test_throws
    - Test::Result::test_no_throw
    - auto::data
    - Botan::create_private_key
    - auto::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_too_short_private_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:202,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:202,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:204,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:205,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_hss_lms.cpp:207,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_hss_lms.cpp:209,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_hss_lms.cpp:210,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_hss_lms.cpp:211,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_hss_lms.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_public_key
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - Test::Result::test_throws
    - Test::Result::test_no_throw
    - auto::data
    - Botan::create_private_key
    - auto::public_key_bits
    - auto::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_too_short_public_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::HSS_LMS_Negative_Tests::test_flipped_signature_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:220,1
    - Dst: Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_signature
      Src: /src/botan/src/tests/test_hss_lms.cpp:221,1
    - Dst: Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_private_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:222,1
    - Dst: Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_public_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: Botan_Tests::HSS_LMS_Negative_Tests::run
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::HSS_LMS_Negative_Tests::test_flipped_signature_bits
    - Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_signature
    - Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_public_key
    - Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_private_key
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
      Src: /src/botan/src/tests/test_hss_lms.cpp:232,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:232,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:233,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_hss_lms.cpp:235,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_hss_lms.cpp:235,1
    - Dst: Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
      Src: /src/botan/src/tests/test_hss_lms.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: Botan_Tests::HSS_LMS_Statefulness_Test::create_private_key_with_idx
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - auto::private_key_bits
    - Botan::store_be
    - Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
    - auto::data
    linkageType: ''
    returnType: Botan::HSS_LMS_PrivateKey
    signature: Botan::HSS_LMS_PrivateKey create_private_key_with_idx(uint64_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
      Src: /src/botan/src/tests/test_hss_lms.cpp:242,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:242,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:243,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:245,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:249,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_hss_lms.cpp:250,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_hss_lms.cpp:253,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:253,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:254,1
    - Dst: Botan::HSS_Signature::from_bytes_or_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:256,1
    - Dst: Botan::LMS_Tree_Node_Idx
      Src: /src/botan/src/tests/test_hss_lms.cpp:256,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:258,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:260,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_hss_lms.cpp:261,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_hss_lms.cpp:262,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_hss_lms.cpp:264,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:264,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:265,1
    - Dst: Botan::HSS_Signature::from_bytes_or_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:267,1
    - Dst: Botan::LMS_Tree_Node_Idx
      Src: /src/botan/src/tests/test_hss_lms.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 270
    functionName: Botan_Tests::HSS_LMS_Statefulness_Test::test_sig_changes_state
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - auto::private_key_bits
    - Botan::PK_Signer::sign_message
    - Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
    - Test::Result::confirm
    - Test::Result::test_ne
    - Botan::LMS_Tree_Node_Idx
    - auto::remaining_operations
    - Botan::HSS_Signature::from_bytes_or_throw
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_sig_changes_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::HSS_LMS_Statefulness_Test::create_private_key_with_idx
      Src: /src/botan/src/tests/test_hss_lms.cpp:276,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:278,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:280,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:282,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_hss_lms.cpp:282,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:283,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_hss_lms.cpp:283,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:283,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:284,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_hss_lms.cpp:284,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_hss_lms.cpp:285,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_hss_lms.cpp:285,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:285,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:286,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_hss_lms.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 289
    functionName: Botan_Tests::HSS_LMS_Statefulness_Test::test_max_sig_count
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - auto::private_key_bits
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - Botan::PK_Signer::sign_message
    - Test::Result::test_throws
    - Test::Result::confirm
    - Botan_Tests::HSS_LMS_Statefulness_Test::create_private_key_with_idx
    - Test::Result::test_no_throw
    - auto::remaining_operations
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_max_sig_count()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::HSS_LMS_Statefulness_Test::test_sig_changes_state
      Src: /src/botan/src/tests/test_hss_lms.cpp:291,1
    - Dst: Botan_Tests::HSS_LMS_Statefulness_Test::test_max_sig_count
      Src: /src/botan/src/tests/test_hss_lms.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan_Tests::HSS_LMS_Statefulness_Test::run
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::HSS_LMS_Statefulness_Test::test_sig_changes_state
    - Botan_Tests::HSS_LMS_Statefulness_Test::test_max_sig_count
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:302,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:302,1
    - Dst: auto::key_length
      Src: /src/botan/src/tests/test_hss_lms.cpp:303,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_hss_lms.cpp:304,1
    - Dst: auto::key_length
      Src: /src/botan/src/tests/test_hss_lms.cpp:305,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:310,1
    - Dst: Botan::PK_Verifier::hash_function
      Src: /src/botan/src/tests/test_hss_lms.cpp:310,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:313,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:313,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:313,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:316,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:317,1
    - Dst: Botan::PK_Signer::algorithm_identifier
      Src: /src/botan/src/tests/test_hss_lms.cpp:317,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_hss_lms.cpp:317,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:320,1
    - Dst: Botan::PK_Signer::hash_function
      Src: /src/botan/src/tests/test_hss_lms.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 323
    functionName: Botan_Tests::HSS_LMS_Missing_API_Test::run
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - auto::private_key_bits
    - Botan::PK_Verifier::hash_function
    - auto::raw_private_key_bits
    - auto::key_length
    - Test::Result::test_eq
    - Test::Result::test_gt
    - Botan::create_private_key
    - Test::Result::test_is_eq
    - Botan::PK_Signer::hash_function
    - auto::algorithm_identifier
    - Botan::PK_Signer::algorithm_identifier
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::keccak_int_encoding_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan_Tests::encode_size
    functionSourceFile: /src/botan/src/tests/test_keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - Botan::keccak_int_encoding_size
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) encode_size(size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::keccak_int_encoding_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:30,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:32,1
    - Dst: Botan::keccak_int_left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' result'
    - x
    argTypes:
    - Test::Result
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: Botan_Tests::left_encode
    functionSourceFile: /src/botan/src/tests/test_keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - Botan::keccak_int_left_encode
    - Botan::keccak_int_encoding_size
    - test_eq
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) left_encode(Test::Result& result, size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::keccak_int_encoding_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:37,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:39,1
    - Dst: Botan::keccak_int_right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' result'
    - x
    argTypes:
    - Test::Result
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: Botan_Tests::right_encode
    functionSourceFile: /src/botan/src/tests/test_keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - Botan::keccak_int_encoding_size
    - Botan::keccak_int_right_encode
    - test_eq
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) right_encode(Test::Result& result, size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan_Tests::hex
    functionSourceFile: /src/botan/src/tests/test_keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) hex(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:50,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:51,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan_Tests::shake32
    functionSourceFile: /src/botan/src/tests/test_keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - auto::update
    - Botan::XOF::create_or_throw
    - auto::output_stdvec
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) shake32(std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:59,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:61,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:61,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:62,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:62,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:63,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:63,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:64,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:64,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:65,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:65,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:66,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:66,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:67,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:67,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:70,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:72,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:72,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:72,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:73,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:73,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:73,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:74,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:74,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:74,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:75,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:75,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:75,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:76,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:76,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:76,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:77,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:77,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:77,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:78,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:78,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:78,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:79,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:79,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:79,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:80,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:80,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:80,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:81,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:81,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:81,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:84,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:86,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:86,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:86,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:87,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:87,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:87,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:88,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:88,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:88,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:89,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:89,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:89,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:90,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:90,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:90,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:91,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:91,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:91,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:92,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:92,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:92,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:93,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:93,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:93,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:94,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:94,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:94,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:95,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:95,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:95,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:98,1
    - Dst: Botan::keccak_absorb_padded_strings_encoding
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:105,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:106,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:108,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:110,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:117,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:126,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:126,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:127,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:127,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:127,1
    - Dst: Botan::keccak_absorb_padded_strings_encoding
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:128,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:129,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:131,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:133,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:144,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:148,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:149,1
    - Dst: Botan::keccak_absorb_padded_strings_encoding
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:152,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:153,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:155,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:156,1
    - Dst: Botan_Tests::shake32
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:157,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:157,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:164,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:166,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:167,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:172,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:172,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:173,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:173,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:173,1
    - Dst: Botan::keccak_absorb_padded_strings_encoding
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:174,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:175,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:177,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:178,1
    - Dst: Botan_Tests::shake32
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:179,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 190
    functionName: Botan_Tests::keccak_helpers
    functionSourceFile: /src/botan/src/tests/test_keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - Botan_Tests::encode_size
    - Botan_Tests::hex
    - Botan_Tests::left_encode
    - Botan_Tests::CHECK
    - Botan::keccak_absorb_padded_strings_encoding
    - Botan_Tests::shake32
    - test_eq
    - std::string::data
    - auto::block_size
    - auto::output_stdvec
    - std::string::size
    - Botan::XOF::create_or_throw
    - Botan_Tests::right_encode
    - test_is_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> keccak_helpers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan_Tests::Test_Credentials_Manager::session_ticket_key
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> session_ticket_key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan_Tests::Other_Test_Credentials_Manager::session_ticket_key
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> session_ticket_key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan_Tests::Session_Manager_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan_Tests::Session_Manager_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t, std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan_Tests::Session_Manager_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan_Tests::Session_Manager_Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:71,1
    - Dst: std::chrono::hours
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan_Tests::Session_Manager_Callbacks::tls_current_timestamp
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::hours
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point tls_current_timestamp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan_Tests::Session_Manager_Callbacks::tick
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tick()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::minutes
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan_Tests::Session_Manager_Policy::session_ticket_lifetime
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::minutes
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds session_ticket_lifetime() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan_Tests::Session_Manager_Policy::reuse_session_tickets
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_session_tickets() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan_Tests::Session_Manager_Policy::maximum_session_tickets_per_client_hello
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t maximum_session_tickets_per_client_hello() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan_Tests::Session_Manager_Policy::set_session_limit
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_session_limit(size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan_Tests::Session_Manager_Policy::set_allow_session_reuse
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_allow_session_reuse(bool b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Botan_Tests::random_id
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) random_id(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan_Tests::random_ticket
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) random_ticket(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan_Tests::random_opaque_handle
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) random_opaque_handle(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_pre_tls_13
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:116,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:117,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:118,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:121,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:124,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:126,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:131,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - side
    - ' cbs'
    argTypes:
    - Botan::TLS::Connection_Side
    - Botan::TLS::Callbacks
    constantsTouched: []
    func_position:
      end: 136
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 136
    functionName: Botan_Tests::default_session
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::seconds
    - TestSession::TestSession
    - Test_Error
    - Botan::TLS::Ciphersuite::from_name
    - is_pre_tls_13
    - tls_current_timestamp
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) default_session(Botan::TLS::Connection_Side side,\n
      \                              Botan::TLS::Callbacks& cbs,\n                               Botan::TLS::Protocol_Version
      version = Botan::TLS::Protocol_Version::TLS_V12)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:141,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:143,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:151,1
    - Dst: std::optional::emplace
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:151,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:153,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:155,1
    - Dst: std::optional::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:155,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:157,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:158,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:160,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:160,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:161,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:161,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:164,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:165,1
    - Dst: std::optional::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:165,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:167,1
    - Dst: std::optional::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:169,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:169,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:170,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:170,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:171,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:171,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:172,1
    - Dst: auto::ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:172,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:173,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:173,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:177,1
    - Dst: std::optional::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:179,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:180,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:180,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:181,1
    - Dst: session::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:182,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:183,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:184,1
    - Dst: session::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:184,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:185,1
    - Dst: handle::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:185,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:186,1
    - Dst: handle::ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:186,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:190,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:192,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:193,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:193,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:194,1
    - Dst: auto::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:195,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:196,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:197,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:197,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:201,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:203,1
    - Dst: Botan::TLS::Opaque_Session_Handle
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:203,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:204,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:204,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:205,1
    - Dst: auto::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:206,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:207,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:208,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:208,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:212,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:214,1
    - Dst: Botan::TLS::Session_Ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:214,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:215,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:215,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:218,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:220,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:220,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:221,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:221,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:224,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:226,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:226,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:227,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:227,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:230,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:232,1
    - Dst: std::optional::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:232,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:233,1
    - Dst: std::optional::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:233,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:236,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:238,1
    - Dst: std::optional::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:240,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:240,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:241,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:241,1
    - Dst: std::optional::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:243,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:244,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:244,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:245,1
    - Dst: session::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:246,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:247,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:248,1
    - Dst: session::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:248,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:249,1
    - Dst: handle::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:249,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:250,1
    - Dst: handle::ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:250,1
    - Dst: std::optional::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:253,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:256,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:258,1
    - Dst: std::optional::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:260,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:260,1
    - Dst: std::optional::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:263,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:264,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:264,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:265,1
    - Dst: session::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:266,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:267,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:268,1
    - Dst: session::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:268,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:269,1
    - Dst: handle::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:269,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:270,1
    - Dst: handle::ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:270,1
    - Dst: std::optional::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:273,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:276,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:281,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:281,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:282,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:282,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:283,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:285,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:285,1
    - Dst: auto::ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:285,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:286,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:288,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:288,1
    - Dst: auto::ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:288,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:290,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:290,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:292,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:292,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:293,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:294,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:295,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:296,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:298,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:299,1
    - Dst: Botan::TLS::Opaque_Session_Handle
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:299,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:299,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:301,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:302,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:302,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:303,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:303,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:306,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:310,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:311,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:312,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:314,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:314,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:315,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:315,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:316,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:316,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:317,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:318,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:320,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:320,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:321,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:322,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:324,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:325,1
    - Dst: Botan::TLS::Opaque_Session_Handle
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:325,1
    - Dst: Botan::TLS::Session_Ticket::get
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:325,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:327,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:328,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:331,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:334,1
    - Dst: std::optional::capacity
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:334,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:338,1
    - Dst: std::optional::capacity
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:338,1
    - Dst: std::optional::capacity
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:339,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:340,1
    - Dst: std::optional::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:341,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:341,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:341,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:344,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:345,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:345,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:349,1
    - Dst: std::optional::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:350,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:350,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:350,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:352,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:352,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:353,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:354,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:354,1
    - Dst: std::optional::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:358,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:359,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:359,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:360,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:360,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:361,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:362,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:362,1
    - Dst: std::optional::capacity
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:366,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:367,1
    - Dst: std::optional::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:368,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:368,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:368,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:371,1
    - Dst: std::optional::capacity
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:371,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:372,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:372,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:375,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:376,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:376,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:380,1
    - Dst: std::optional::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:380,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 383
    functionName: Botan_Tests::test_session_manager_in_memory
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Session_Ticket::get
    - Botan::TLS::Session_Manager_In_Memory::remove
    - session::version
    - test_eq
    - Botan_Tests::default_session
    - handle::id
    - std::optional::establish
    - Botan::TLS::Protocol_Version
    - auto::id
    - auto::has_value
    - std::optional::store
    - std::optional::remove_all
    - std::optional::emplace
    - test_is_eq
    - std::optional::capacity
    - auto::ticket
    - Botan_Tests::CHECK
    - auto::random_vec
    - Botan_Tests::random_ticket
    - session::ciphersuite_code
    - handle::ticket
    - auto::size
    - confirm
    - Botan::TLS::Session_Manager_In_Memory::store
    - std::optional::find
    - std::vector::size
    - Botan::TLS::Session_Manager_In_Memory::establish
    - std::vector::reserve
    - Botan_Tests::random_id
    - Botan::TLS::Opaque_Session_Handle
    - auto::version
    - Botan::TLS::Session_Ticket
    - Botan::TLS::Session_Manager_In_Memory::find
    - auto::ciphersuite_code
    - std::vector::push_back
    - require
    - std::optional::remove
    - Botan::TLS::Session_Manager_In_Memory::retrieve
    - Botan_Tests::Test::new_shared_rng
    - std::optional::retrieve
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_session_manager_in_memory()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:390,1
    - Dst: is_pre_tls_13
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:395,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:396,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:398,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:405,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:406,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:409,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:411,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:416,1
    - Dst: Botan::TLS::PskIdentity::PskIdentity
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:420,1
    - Dst: std::vector
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:420,1
    - Dst: begin
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:420,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:420,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:424,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:428,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:430,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:431,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:432,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:434,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:434,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:438,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:443,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:443,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:443,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:444,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:444,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:444,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:448,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:448,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:448,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:449,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:449,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:450,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:454,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:454,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:454,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:455,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:455,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:456,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:459,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:460,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:460,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:460,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:460,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:461,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:461,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:462,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:465,1
    - Dst: std::make_shared<Test_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:467,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:471,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:471,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:471,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:472,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:472,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:472,1
    - Dst: Botan::TLS::Session_Manager_Stateless::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:475,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:476,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:476,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:477,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:477,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:478,1
    - Dst: Botan::TLS::Session_Manager_Stateless::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:481,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:482,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:482,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:483,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:483,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:484,1
    - Dst: Botan::TLS::Session_Manager_Stateless::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:487,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:488,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:488,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:488,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:488,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:489,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:489,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:490,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:493,1
    - Dst: std::make_shared<Test_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:495,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:499,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:499,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:499,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:500,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:500,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:500,1
    - Dst: Botan::TLS::Session_Manager_Stateless::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:502,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:502,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:502,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:503,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:503,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:504,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:504,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:508,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:508,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:509,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:512,1
    - Dst: std::make_shared<Test_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:514,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:518,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:519,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:519,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:520,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:521,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:521,1
    - Dst: Botan::TLS::Session_Manager_Stateless::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:523,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:523,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:523,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:524,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:524,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:525,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:525,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:529,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:529,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 536
    functionName: Botan_Tests::test_session_manager_choose_ticket
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - end
    - Botan_Tests::default_session
    - ticket
    - auto::has_value
    - is_pre_tls_13
    - tls_current_timestamp
    - begin
    - test_is_eq
    - Botan_Tests::CHECK
    - Botan_CLI::Timer::seconds
    - Botan_Tests::random_ticket
    - Botan::TLS::Session_Manager_Stateless::establish
    - id
    - confirm
    - Botan::TLS::Session_Manager_In_Memory::establish
    - Botan::TLS::Session_Manager_Stateless::choose_from_offered_tickets
    - TestSession::TestSession
    - Botan::TLS::Ciphersuite::from_name
    - Botan::TLS::PskIdentity::PskIdentity
    - Botan::TLS::Session_Manager_In_Memory::choose_from_offered_tickets
    - std::vector::push_back
    - require
    - std::make_shared<Test_Credentials_Manager>
    - Botan_Tests::Test::new_shared_rng
    - std::vector
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_session_manager_choose_ticket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Test_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:539,1
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:541,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:549,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:551,1
    - Dst: Botan::TLS::Session_Manager_Stateless::emits_session_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:551,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:552,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:552,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:553,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:553,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:553,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:556,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:558,1
    - Dst: Botan::TLS::Session_Manager_Stateless::emits_session_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:558,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:560,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:560,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:561,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:561,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:564,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:568,1
    - Dst: Botan::TLS::Session_Manager_Stateless::emits_session_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:568,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:569,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:569,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:570,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:570,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:573,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:575,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:575,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:576,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:576,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:577,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:577,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:577,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:580,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:580,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:580,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:581,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:582,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:582,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:585,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:587,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:587,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:588,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:588,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:588,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:590,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:590,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:590,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:593,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:595,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:595,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:596,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:596,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:596,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:598,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:599,1
    - Dst: auto::opaque_handle
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:599,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:602,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:604,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:604,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:605,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:605,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:605,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:612,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:613,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:613,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:614,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:615,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:615,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:616,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:616,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:616,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:619,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:621,1
    - Dst: Botan::TLS::Session_Manager_Stateless::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:622,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:622,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:622,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:624,1
    - Dst: Botan::TLS::Session_Manager_Stateless::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:625,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:625,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:625,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:627,1
    - Dst: Botan::TLS::Session_Manager_Stateless::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:628,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:628,1
    - Dst: Botan_Tests::random_opaque_handle
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:628,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:631,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:631,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:632,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:632,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:632,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:633,1
    - Dst: Botan::TLS::Session_Manager_Stateless::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:633,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:636,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:638,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:638,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:639,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:639,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:639,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:641,1
    - Dst: Botan::TLS::Session_Manager_Stateless::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:641,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:641,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:642,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:642,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:642,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:644,1
    - Dst: Botan::TLS::Session_Manager_Stateless::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:644,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:645,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:645,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:645,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:648,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:651,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:652,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:653,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:653,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:653,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:654,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:654,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:655,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:655,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:657,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:659,1
    - Dst: auto::start_time
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:659,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:660,1
    - Dst: auto::start_time
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:660,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 664
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 664
    functionName: Botan_Tests::test_session_manager_stateless
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - auto::start_time
    - auto::value
    - Botan_Tests::random_opaque_handle
    - Botan_Tests::default_session
    - auto::has_value
    - auto::opaque_handle
    - test_is_eq
    - Botan::TLS::Session_Manager_Stateless::remove
    - Botan::TLS::Session_Manager_Stateless::remove_all
    - Botan_Tests::CHECK
    - Botan::TLS::Session_Manager_Stateless::emits_session_tickets
    - Botan_Tests::random_ticket
    - Botan::TLS::Session_Manager_Stateless::establish
    - Botan::TLS::Session_Manager_Stateless::retrieve
    - confirm
    - std::chrono::duration_cast<std::chrono::seconds>
    - auto::is_ticket
    - Botan_Tests::random_id
    - Botan::TLS::Session_Manager_Stateless::store
    - require
    - std::make_shared<Test_Credentials_Manager>
    - Botan_Tests::Test::new_shared_rng
    - Botan::TLS::Session_Manager_Stateless::find
    - test_throws
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_session_manager_stateless()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:667,1
    - Dst: std::make_shared<Test_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:669,1
    - Dst: std::unique_ptr<Botan::TLS::Session_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:678,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:682,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:687,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:688,1
    - Dst: Botan::TLS::Session_Manager_Hybrid::Session_Manager_Hybrid
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:699,1
    - Dst: stateful_manager_factory
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:699,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:702,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:703,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:704,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:704,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:704,1
    - Dst: Botan_Tests::Test::flatten_result_lists
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:709,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:710,1
    - Dst: make_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:712,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:714,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:714,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:715,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:715,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:715,1
    - Dst: make_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:717,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:718,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:718,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:719,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:719,1
    - Dst: auto::is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:719,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:721,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:721,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:724,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:724,1
    - Dst: auto::is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:724,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:726,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:726,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:729,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:729,1
    - Dst: auto::is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:729,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:732,1
    - Dst: make_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:734,1
    - Dst: make_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:735,1
    - Dst: auto::underlying_stateful_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:737,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:738,1
    - Dst: auto::underlying_stateful_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:739,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:740,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:742,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:742,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:744,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:744,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:744,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:744,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:746,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:746,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:746,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:747,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:747,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:747,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:748,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:748,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:748,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:749,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:749,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:749,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:750,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:750,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:750,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:751,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:751,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:751,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:754,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:757,1
    - Dst: std::make_shared<Empty_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:758,1
    - Dst: make_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:760,1
    - Dst: make_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:761,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:763,1
    - Dst: Botan::TLS::Session_Manager_Hybrid::emits_session_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:763,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:764,1
    - Dst: auto::emits_session_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:764,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:765,1
    - Dst: auto::emits_session_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:765,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 768
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 768
    functionName: Botan_Tests::test_session_manager_hybrid
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - stateful_manager_factory
    - auto::value
    - Botan_Tests::Test::flatten_result_lists
    - Botan_Tests::default_session
    - Botan_Tests::Test::temp_file_name
    - auto::has_value
    - auto::emits_session_tickets
    - Botan::TLS::Session_Manager_Hybrid::Session_Manager_Hybrid
    - Botan_Tests::CHECK
    - CHECK_all
    - confirm
    - std::make_unique<Botan::TLS::Session_Manager_In_Memory>
    - std::make_shared<Empty_Credentials_Manager>
    - auto::is_ticket
    - auto::establish
    - std::make_unique<Botan::TLS::Session_Manager_SQLite>
    - auto::c_str
    - std::vector::push_back
    - std::unique_ptr<Botan::TLS::Session_Manager>
    - require
    - auto::underlying_stateful_manager
    - make_manager
    - Botan::TLS::Session_Manager_Hybrid::emits_session_tickets
    - std::make_shared<Test_Credentials_Manager>
    - Botan_Tests::Test::new_shared_rng
    - std::bind
    - auto::is_id
    - auto::retrieve
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_session_manager_hybrid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file_as_temporary_copy
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:777,1
    - Dst: empty
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:778,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' db_file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 781
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 781
    functionName: Botan_Tests::Temporary_Database_File::Temporary_Database_File
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    - empty
    - Botan_Tests::Test::data_file_as_temporary_copy
    linkageType: ''
    returnType: void
    signature: void Temporary_Database_File(const std::string& db_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:785,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 789
    functionName: ~Temporary_Database_File()
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - empty
    - Botan_Tests::RFC8448_Session_Manager::remove
    linkageType: ''
    returnType: void
    signature: void ~Temporary_Database_File()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 791
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 791
    functionName: '& get() const'
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 793
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 793
    functionName: Botan_Tests::Temporary_Database_File::Temporary_Database_File
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Temporary_Database_File(const Temporary_Database_File&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 794
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 794
    functionName: '& operator=(const Temporary_Database_File&)'
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Temporary_Database_File
    signature: Temporary_Database_File & operator=(const Temporary_Database_File&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 795
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 795
    functionName: Botan_Tests::Temporary_Database_File::Temporary_Database_File
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Temporary_Database_File(Temporary_Database_File&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 796
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 796
    functionName: '& operator=(Temporary_Database_File&&)'
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Temporary_Database_File
    signature: Temporary_Database_File & operator=(Temporary_Database_File&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:803,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:808,1
    - Dst: Temporary_Database_File::get
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:816,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:818,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:819,1
    - Dst: Botan::TLS::Session_ID
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:820,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:820,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:825,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:826,1
    - Dst: Botan::TLS::Session_ID
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:827,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:827,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:832,1
    - Dst: Botan::TLS::Session_Manager_SQLite::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:833,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:833,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:834,1
    - Dst: Botan::TLS::Session_Manager_SQLite::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:835,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:835,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:837,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:837,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:840,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:842,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:843,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:843,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:846,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:849,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:850,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:852,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:852,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:853,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:853,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:854,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:854,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:855,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:855,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:857,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:857,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:858,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:858,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:859,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:859,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:862,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:865,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:866,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:868,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:868,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:869,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:869,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:871,1
    - Dst: auto::is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:872,1
    - Dst: auto::is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:872,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:874,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:874,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:875,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:875,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:876,1
    - Dst: auto::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:877,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:878,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:879,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:879,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:882,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:882,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:883,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:883,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:884,1
    - Dst: auto::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:885,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:886,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:887,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:887,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:890,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:890,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:891,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:891,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:894,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:897,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:899,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:899,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:899,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:900,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:900,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:902,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:903,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:903,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:906,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:909,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:910,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:911,1
    - Dst: Botan::TLS::Session_Manager_SQLite::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:912,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:912,1
    - Dst: Botan::TLS::Session_Manager_SQLite::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:913,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:913,1
    - Dst: Botan::TLS::Session_Manager_SQLite::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:915,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:916,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:916,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:918,1
    - Dst: is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:918,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:918,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:919,1
    - Dst: is_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:919,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:919,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:924,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:926,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:927,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:928,1
    - Dst: Botan::TLS::Session_Manager_SQLite::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:929,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:929,1
    - Dst: Botan::TLS::Session_Manager_SQLite::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:930,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:930,1
    - Dst: Botan::TLS::Session_Manager_SQLite::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:931,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:931,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:931,1
    - Dst: Botan::TLS::Session_Manager_SQLite::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:932,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:932,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:932,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:934,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:934,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:935,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:935,1
    - Dst: Botan::TLS::Session_Manager_SQLite::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:937,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:938,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:938,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:940,1
    - Dst: is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:940,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:940,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:941,1
    - Dst: is_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:941,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:941,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:945,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:945,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:948,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:951,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:953,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:953,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:953,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:954,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:954,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:955,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:955,1
    - Dst: Session_Manager_Callbacks::tick
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:961,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:962,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:962,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:963,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:963,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:964,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:964,1
    - Dst: Session_Manager_Callbacks::tick
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:966,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:967,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:967,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:968,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:968,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:969,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:969,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:971,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:971,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:974,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:977,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:980,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:980,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:980,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:983,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:983,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 989
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 989
    functionName: Botan_Tests::test_session_manager_sqlite
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - test_eq
    - Botan_Tests::default_session
    - ticket
    - Botan::TLS::Protocol_Version
    - Botan::TLS::Session_Manager_SQLite::retrieve
    - Botan_Tests::Test::temp_file_name
    - auto::id
    - auto::has_value
    - Botan::TLS::Session_Manager_SQLite::remove
    - test_is_eq
    - Botan::TLS::Session_Manager_SQLite::remove_all
    - Botan::TLS::Session_ID
    - Botan_Tests::CHECK
    - is_id
    - Botan_Tests::random_ticket
    - Botan::TLS::Session_Manager_SQLite::store
    - Botan::TLS::Session_Manager_SQLite::find
    - auto::size
    - confirm
    - id
    - Session_Manager_Callbacks::tick
    - Botan::hex_decode
    - Botan_Tests::random_id
    - auto::version
    - Botan::TLS::Server_Information
    - auto::ciphersuite_code
    - require
    - is_ticket
    - Botan_Tests::Test::new_shared_rng
    - auto::is_id
    - Botan::TLS::Session_Manager_SQLite::establish
    - Temporary_Database_File::get
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_session_manager_sqlite()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:992,1
    - Dst: std::unique_ptr<Botan::TLS::Session_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:997,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1001,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_Stateless>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1005,1
    - Dst: std::make_shared<Test_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1006,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1011,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1012,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1018,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1018,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1021,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1022,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1023,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1023,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1023,1
    - Dst: Botan_Tests::Test::flatten_result_lists
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1028,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1029,1
    - Dst: factory
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1031,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1033,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1033,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1034,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1034,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1035,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1035,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1035,1
    - Dst: Session_Manager_Callbacks::tick
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1036,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1037,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1037,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1037,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1038,1
    - Dst: auto::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1038,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1041,1
    - Dst: factory
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1047,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1049,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1050,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1050,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1051,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1051,1
    - Dst: Session_Manager_Callbacks::tick
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1053,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1054,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1055,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1055,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1056,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1056,1
    - Dst: auto::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1058,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1059,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1059,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1060,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1060,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1061,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1062,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1062,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1064,1
    - Dst: auto::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1064,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1067,1
    - Dst: factory
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1074,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1076,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1077,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1077,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1079,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1080,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1080,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1084,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1085,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1085,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1087,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1088,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1088,1
    - Dst: Session_Manager_Policy::set_allow_session_reuse
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1092,1
    - Dst: auto::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1094,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1095,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1095,1
    - Dst: auto::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1097,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1098,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1098,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1099,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1099,1
    - Dst: is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1099,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1100,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1101,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1101,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1102,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1103,1
    - Dst: version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1103,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1106,1
    - Dst: factory
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1112,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1116,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1117,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1117,1
    - Dst: Session_Manager_Policy::set_allow_session_reuse
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1120,1
    - Dst: Session_Manager_Policy::set_session_limit
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1122,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1123,1
    - Dst: auto::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1124,1
    - Dst: Session_Manager_Policy::maximum_session_tickets_per_client_hello
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1125,1
    - Dst: Session_Manager_Policy::set_session_limit
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1127,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1128,1
    - Dst: auto::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1129,1
    - Dst: Session_Manager_Policy::maximum_session_tickets_per_client_hello
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1130,1
    - Dst: Session_Manager_Policy::set_session_limit
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1132,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1133,1
    - Dst: auto::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1133,1
    - Dst: factory
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1143,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1145,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1146,1
    - Dst: Session_Manager_Callbacks::tick
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1147,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1148,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1149,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1150,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1150,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1150,1
    - Dst: auto::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1152,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1153,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1153,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1153,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1153,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1154,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1154,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1155,1
    - Dst: Session_Manager_Callbacks::tick
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1157,1
    - Dst: auto::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1159,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1160,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1160,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1160,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1160,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1161,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1162
    functionName: Botan_Tests::tls_session_manager_expiry
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - factory
    - auto::front
    - Botan::fmt
    - auto::value
    - Botan_Tests::Test::flatten_result_lists
    - Botan_Tests::default_session
    - ticket
    - Botan_Tests::Test::temp_file_name
    - auto::has_value
    - test_is_eq
    - auto::remove_all
    - std::make_unique<Botan::TLS::Session_Manager_Stateless>
    - auto::find
    - Session_Manager_Policy::maximum_session_tickets_per_client_hello
    - Botan_Tests::CHECK
    - CHECK_all
    - is_id
    - Botan_Tests::random_ticket
    - auto::choose_from_offered_tickets
    - auto::size
    - confirm
    - std::make_unique<Botan::TLS::Session_Manager_In_Memory>
    - id
    - std::vector::size
    - Session_Manager_Policy::set_allow_session_reuse
    - std::vector::reserve
    - Session_Manager_Callbacks::tick
    - auto::store
    - Botan_Tests::random_id
    - auto::establish
    - std::make_unique<Botan::TLS::Session_Manager_SQLite>
    - auto::c_str
    - std::vector::push_back
    - std::unique_ptr<Botan::TLS::Session_Manager>
    - require
    - Session_Manager_Policy::set_session_limit
    - version
    - std::make_shared<Test_Credentials_Manager>
    - Botan_Tests::Test::new_shared_rng
    - std::bind
    - auto::empty
    - auto::retrieve
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> tls_session_manager_expiry()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan_Tests::HMAC_DRBG_Tests::HMAC_DRBG_Tests
    functionSourceFile: /src/botan/src/tests/test_rng_kat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HMAC_DRBG_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:32,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:33,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:35,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:36,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_kat.cpp:40,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_rng_kat.cpp:43,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_rng_kat.cpp:47,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_kat.cpp:47,1
    - Dst: auto::initialize_with
      Src: /src/botan/src/tests/test_rng_kat.cpp:48,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:48,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:48,1
    - Dst: auto::add_entropy
      Src: /src/botan/src/tests/test_rng_kat.cpp:51,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:51,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:51,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:53,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_rng_kat.cpp:55,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:55,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:55,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:55,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:55,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_rng_kat.cpp:56,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:56,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:56,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:56,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:56,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_kat.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: Botan_Tests::HMAC_DRBG_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_rng_kat.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - get_opt_bin
    - std::vector::data
    - std::vector::size
    - Test::Result::test_eq
    - auto::add_entropy
    - auto::initialize_with
    - Test::Result::note_missing
    - get_req_bin
    - Botan::MessageAuthenticationCode::create
    - auto::randomize_with_input
    - std::make_unique<Botan::HMAC_DRBG>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan_Tests::ChaCha_RNG_Tests::ChaCha_RNG_Tests
    functionSourceFile: /src/botan/src/tests/test_rng_kat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:76,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:77,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:78,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:80,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:81,1
    - Dst: Botan::ChaCha_RNG::ChaCha_RNG
      Src: /src/botan/src/tests/test_rng_kat.cpp:85,1
    - Dst: Botan::ChaCha_RNG::initialize_with
      Src: /src/botan/src/tests/test_rng_kat.cpp:86,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:86,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:86,1
    - Dst: Botan::ChaCha_RNG::add_entropy
      Src: /src/botan/src/tests/test_rng_kat.cpp:89,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:89,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:89,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:91,1
    - Dst: Botan::ChaCha_RNG::randomize_with_input
      Src: /src/botan/src/tests/test_rng_kat.cpp:93,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:93,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:93,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:93,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:93,1
    - Dst: Botan::ChaCha_RNG::randomize_with_input
      Src: /src/botan/src/tests/test_rng_kat.cpp:94,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:94,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:94,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:94,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:94,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_kat.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 98
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 98
    functionName: Botan_Tests::ChaCha_RNG_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_rng_kat.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - get_opt_bin
    - std::vector::size
    - Botan::ChaCha_RNG::ChaCha_RNG
    - Botan::ChaCha_RNG::randomize_with_input
    - Test::Result::test_eq
    - Botan::ChaCha_RNG::add_entropy
    - Botan::ChaCha_RNG::initialize_with
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_Tests::ECC_Basepoint_Mul_Tests::ECC_Basepoint_Mul_Tests
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Basepoint_Mul_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group_id'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan_Tests::ECC_Basepoint_Mul_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& group_id, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:32,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:33,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:35,1
    - Dst: auto::OS2ECP
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:40,1
    - Dst: auto::get_base_point
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:41,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:42,1
    - Dst: Botan::EC_Point::encode
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:42,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:45,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:46,1
    - Dst: Botan_Tests::ECC_Basepoint_Mul_Tests::rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:46,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:47,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:47,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:49,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:50,1
    - Dst: Botan_Tests::ECC_Basepoint_Mul_Tests::rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:50,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:51,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' group_id'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: Botan_Tests::ECC_Basepoint_Mul_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ECC_Basepoint_Mul_Tests::rng
    - Botan::EC_Point::encode
    - auto::get_base_point
    - Botan::EC_AffinePoint::generator
    - Botan::EC_Scalar::from_bigint
    - Test::Result::test_eq
    - auto::mul
    - Botan::EC_AffinePoint::g_mul
    - auto::serialize_uncompressed
    - get_req_bin
    - auto::OS2ECP
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& group_id, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan_Tests::ECC_Varpoint_Mul_Tests::ECC_Varpoint_Mul_Tests
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Varpoint_Mul_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group_id'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan_Tests::ECC_Varpoint_Mul_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& group_id, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:70,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:71,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:72,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:74,1
    - Dst: auto::OS2ECP
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:77,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:78,1
    - Dst: Botan::EC_Point::encode
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:78,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:81,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:82,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:83,1
    - Dst: Botan_Tests::ECC_Varpoint_Mul_Tests::rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:83,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:84,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:84,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:86,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:86,1
    - Dst: Botan_Tests::ECC_Varpoint_Mul_Tests::rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:86,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:87,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:87,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:89,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:89,1
    - Dst: Botan_Tests::ECC_Varpoint_Mul_Tests::rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:89,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:90,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' group_id'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 93
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 93
    functionName: Botan_Tests::ECC_Varpoint_Mul_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Point::encode
    - get_req_bn
    - Botan::EC_Scalar::from_bigint
    - auto::negate
    - Test::Result::test_eq
    - auto::mul
    - auto::serialize_compressed
    - Botan::EC_AffinePoint::deserialize
    - get_req_bin
    - auto::OS2ECP
    - Botan_Tests::ECC_Varpoint_Mul_Tests::rng
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& group_id, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan_Tests::ECC_Mul2_Tests::ECC_Mul2_Tests
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Mul2_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group_id'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Botan_Tests::ECC_Mul2_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& group_id, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:109,1
    - Dst: Botan::EC_AffinePoint::mul_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:117,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:117,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:119,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:119,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:121,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:121,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:124,1
    - Dst: mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:128,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:128,1
    - Dst: mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:128,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:128,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:130,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:132,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:132,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:135,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:137,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:137,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:138,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:138,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:139,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:139,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:140,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:140,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:142,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:143,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:144,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:145,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:147,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:148,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:149,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ' group_id'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 153
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 153
    functionName: Botan_Tests::ECC_Mul2_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - Botan::EC_Scalar::from_bigint
    - auto::negate
    - Test::Result::test_eq
    - mul
    - auto::serialize_compressed
    - Test::Result::test_failure
    - Botan::EC_AffinePoint::deserialize
    - rng
    - check_px_qy
    - get_req_bin
    - Botan::EC_AffinePoint::mul_px_qy
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& group_id, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:163,1
    - Dst: Botan::EC_AffinePoint::mul_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:171,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:171,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:172,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:172,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:174,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:174,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:178,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:180,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:183,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:183,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:183,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:183,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:185,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:185,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:186,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:190,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:190,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:192,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:194,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:196,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:197,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:198,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:199,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:200,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:201,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:201,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:202,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 208
    functionName: Botan_Tests::ECC_Mul2_Inf_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Botan::fmt
    - Botan::EC_AffinePoint::generator
    - Botan::EC_Scalar::random
    - Botan::EC_Group::known_named_groups
    - auto::negate
    - Test::Result::confirm
    - auto::mul
    - auto::add
    - Test::Result::test_failure
    - rng
    - Test::Result::test_success
    - check_px_qy
    - auto::is_zero
    - Botan::EC_AffinePoint::mul_px_qy
    - Botan::EC_AffinePoint::identity
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:218,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:221,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:223,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:224,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:224,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:227,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:227,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:227,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:227,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:228,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:228,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:230,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:231,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:231,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:233,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:236,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:236,1
    - Dst: serialize_uncompressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:236,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:239,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:241,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:241,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:242,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:242,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:243,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:243,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:244,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:244,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:244,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:245,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:245,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:245,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:246,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:246,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:247,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:247,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:248,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:248,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:249,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:249,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:250,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:250,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 256
    functionName: Botan_Tests::ECC_Point_Addition_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - check_expr_is_g
    - Botan::EC_AffinePoint::generator
    - Botan::fmt
    - Botan::EC_Group::known_named_groups
    - auto::negate
    - Test::Result::test_eq
    - auto::mul
    - auto::add
    - auto::serialize_uncompressed
    - rng
    - auto::is_identity
    - serialize_uncompressed
    - Botan::EC_Scalar::random
    - Botan::EC_AffinePoint::identity
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:266,1
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:268,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:269,1
    - Dst: Botan_Tests::ECC_Scalar_Arithmetic_Tests::test_scalar_arith
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:272,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: Botan_Tests::ECC_Scalar_Arithmetic_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - Botan::EC_Group::known_named_groups
    - Botan_Tests::ECC_Scalar_Arithmetic_Tests::test_scalar_arith
    - std::vector::push_back
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:282,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:288,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:292,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:292,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:293,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:297,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:297,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:298,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:298,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:300,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:300,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:301,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:301,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:302,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:302,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:305,1
    - Dst: auto::invert
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:305,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:306,1
    - Dst: auto::invert
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:306,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:308,1
    - Dst: auto::invert_vartime
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:308,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:309,1
    - Dst: auto::invert_vartime
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:309,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:314,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:317,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:317,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:317,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:320,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:321,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:322,1
    - Dst: auto::invert
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:327,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:328,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:328,1
    - Dst: auto::invert_vartime
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:330,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:331,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:335,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:336,1
    - Dst: auto::invert
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:339,1
    - Dst: auto::invert
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:340,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:342,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:342,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:342,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:343,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:343,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:343,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:346,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:346,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:346,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:347,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:347,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:347,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:348,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:348,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:348,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:349,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:349,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:349,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:353,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:354,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:355,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:360,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:360,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:360,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:364,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:365,1
    - Dst: auto::to_bigint
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:368,1
    - Dst: auto::to_bigint
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:368,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:369,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:369,1
    - Dst: get_order
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:369,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:369,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:371,1
    - Dst: test_lte
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:372,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:372,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:374,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:376,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:376,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:376,1
    - Dst: get_order_bytes
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:380,1
    - Dst: randomize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:382,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:384,1
    - Dst: get_order
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:384,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:386,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:388,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:388,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:388,1
    - Dst: get_order_bytes
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:388,1
    - Dst: end_timer
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 3
    argNames:
    - ' result'
    - ' group'
    - ' rng'
    argTypes:
    - Test::Result
    - Botan::EC_Group
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 392
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 392
    functionName: Botan_Tests::ECC_Scalar_Arithmetic_Tests::test_scalar_arith
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Scalar::from_bytes_mod_order
    - test_eq
    - auto::to_bigint
    - Botan::BigInt::from_bytes
    - BOTAN_ASSERT_NOMSG
    - get_order_bytes
    - std::vector<uint8_t>
    - randomize
    - auto::size
    - confirm
    - Botan::EC_Scalar::random
    - get_order
    - test_lte
    - end_timer
    - auto::negate
    - auto::is_zero
    - serialize
    - auto::serialize
    - auto::invert
    - auto::invert_vartime
    - Botan::EC_Scalar::one
    - Botan::EC_Scalar::deserialize
    linkageType: ''
    returnType: void
    signature: "void test_scalar_arith(Test::Result& result,\n                             const
      Botan::EC_Group& group,\n                             Botan::RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_Tests::FPE_FE1_Tests::FPE_FE1_Tests
    functionSourceFile: /src/botan/src/tests/test_fpe.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FPE_FE1_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_fpe.cpp:22,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_fpe.cpp:23,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_fpe.cpp:24,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/test_fpe.cpp:25,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_fpe.cpp:25,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_fpe.cpp:26,1
    - Dst: Botan::FPE::fe1_encrypt
      Src: /src/botan/src/tests/test_fpe.cpp:30,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_fpe.cpp:32,1
    - Dst: Botan::FPE::fe1_decrypt
      Src: /src/botan/src/tests/test_fpe.cpp:34,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_fpe.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: Botan_Tests::FPE_FE1_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_fpe.cpp
    functionUses: 0
    functionsReached:
    - Botan::SymmetricKey
    - get_req_bn
    - Test::Result::test_eq
    - Botan::FPE::fe1_decrypt
    - Botan::FPE::fe1_encrypt
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Entropy_Sources::global_sources
      Src: /src/botan/src/tests/test_entropy.cpp:27,1
    - Dst: enabled_sources
      Src: /src/botan/src/tests/test_entropy.cpp:29,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_entropy.cpp:36,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_entropy.cpp:43,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:43,1
    - Dst: SeedCapturing_RNG::samples
      Src: /src/botan/src/tests/test_entropy.cpp:45,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_entropy.cpp:46,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:46,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_entropy.cpp:47,1
    - Dst: SeedCapturing_RNG::samples
      Src: /src/botan/src/tests/test_entropy.cpp:47,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_entropy.cpp:50,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:50,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:53,1
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/tests/test_entropy.cpp:59,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_entropy.cpp:66,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:66,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:66,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_entropy.cpp:67,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_entropy.cpp:68,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_entropy.cpp:70,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_entropy.cpp:72,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_entropy.cpp:73,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_entropy.cpp:75,1
    - Dst: what
      Src: /src/botan/src/tests/test_entropy.cpp:75,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_entropy.cpp:82,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:82,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:84,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:84,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/tests/test_entropy.cpp:87,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_entropy.cpp:88,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:88,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:88,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/tests/test_entropy.cpp:89,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_entropy.cpp:90,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:90,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:90,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_entropy.cpp:92,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_entropy.cpp:93,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_entropy.cpp:97,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_entropy.cpp:101,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_entropy.cpp:104,1
    - Dst: what
      Src: /src/botan/src/tests/test_entropy.cpp:104,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_entropy.cpp:112,1
    - Dst: what
      Src: /src/botan/src/tests/test_entropy.cpp:112,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_entropy.cpp:115,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_entropy.cpp:116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 120
    functionName: Botan_Tests::Entropy_Source_Tests::run
    functionSourceFile: /src/botan/src/tests/test_entropy.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_lt
    - Botan::secure_vector::insert
    - what
    - Botan::Compression_Algorithm::create
    - Botan::Entropy_Sources::global_sources
    - Botan::secure_vector::size
    - SeedCapturing_RNG::samples
    - Test::Result::test_gte
    - Test::Result::end_timer
    - enabled_sources
    - auto::finish
    - SeedCapturing_RNG::seed_material
    - auto::start
    - Test::Result::test_failure
    - Test::Result::test_note
    - std::vector::push_back
    - Botan::secure_vector::assign
    - Botan::secure_vector::end
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: Botan_Tests::ECKCDSA_Signature_KAT_Tests::ECKCDSA_Signature_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_Signature_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_eckcdsa.cpp:28,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_eckcdsa.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan_Tests::ECKCDSA_Signature_KAT_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_eckcdsa.cpp:32,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_eckcdsa.cpp:33,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_eckcdsa.cpp:34,1
    - Dst: std::make_unique<Botan::ECKCDSA_PrivateKey>
      Src: /src/botan/src/tests/test_eckcdsa.cpp:36,1
    - Dst: Botan_Tests::ECKCDSA_Signature_KAT_Tests::rng
      Src: /src/botan/src/tests/test_eckcdsa.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: Botan_Tests::ECKCDSA_Signature_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - get_req_str
    - Botan_Tests::ECKCDSA_Signature_KAT_Tests::rng
    - std::make_unique<Botan::ECKCDSA_PrivateKey>
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_eckcdsa.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan_Tests::ECKCDSA_Signature_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_Position_RNG>
      Src: /src/botan/src/tests/test_eckcdsa.cpp:44,1
    - Dst: Botan_Tests::ECKCDSA_Signature_KAT_Tests::rng
      Src: /src/botan/src/tests/test_eckcdsa.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: Botan_Tests::ECKCDSA_Signature_KAT_Tests::test_rng
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_Position_RNG>
    - Botan_Tests::ECKCDSA_Signature_KAT_Tests::rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan_Tests::ECKCDSA_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan_Tests::ECKCDSA_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/tests/test_eckcdsa.cpp:57,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_eckcdsa.cpp:58,1
    - Dst: std::make_unique<Botan::ECKCDSA_PublicKey>
      Src: /src/botan/src/tests/test_eckcdsa.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: Botan_Tests::ECKCDSA_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ECKCDSA_PublicKey>
    - Botan::EC_Group::EC_Group
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:22,1
    - Dst: Botan_Tests::Sodium_API_Tests::aead_chacha20poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:22,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:23,1
    - Dst: Botan_Tests::Sodium_API_Tests::aead_chacha20poly1305_ietf
      Src: /src/botan/src/tests/test_sodium.cpp:23,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:24,1
    - Dst: Botan_Tests::Sodium_API_Tests::aead_xchacha20poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:24,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:25,1
    - Dst: Botan_Tests::Sodium_API_Tests::auth_hmacsha256
      Src: /src/botan/src/tests/test_sodium.cpp:25,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:26,1
    - Dst: Botan_Tests::Sodium_API_Tests::auth_hmacsha512
      Src: /src/botan/src/tests/test_sodium.cpp:26,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:27,1
    - Dst: Botan_Tests::Sodium_API_Tests::auth_hmacsha512256
      Src: /src/botan/src/tests/test_sodium.cpp:27,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:28,1
    - Dst: Botan_Tests::Sodium_API_Tests::auth_poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:28,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:29,1
    - Dst: Botan_Tests::Sodium_API_Tests::box_curve25519xsalsa20poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:29,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:30,1
    - Dst: Botan_Tests::Sodium_API_Tests::hash_sha256
      Src: /src/botan/src/tests/test_sodium.cpp:30,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:31,1
    - Dst: Botan_Tests::Sodium_API_Tests::hash_sha512
      Src: /src/botan/src/tests/test_sodium.cpp:31,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:32,1
    - Dst: Botan_Tests::Sodium_API_Tests::randombytes_buf_deterministic
      Src: /src/botan/src/tests/test_sodium.cpp:32,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:33,1
    - Dst: Botan_Tests::Sodium_API_Tests::secretbox_xsalsa20poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:33,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:34,1
    - Dst: Botan_Tests::Sodium_API_Tests::secretbox_xsalsa20poly1305_detached
      Src: /src/botan/src/tests/test_sodium.cpp:34,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:35,1
    - Dst: Botan_Tests::Sodium_API_Tests::shorthash_siphash24
      Src: /src/botan/src/tests/test_sodium.cpp:35,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:36,1
    - Dst: Botan_Tests::Sodium_API_Tests::stream_chacha20
      Src: /src/botan/src/tests/test_sodium.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:37,1
    - Dst: Botan_Tests::Sodium_API_Tests::stream_chacha20_ietf
      Src: /src/botan/src/tests/test_sodium.cpp:37,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:38,1
    - Dst: Botan_Tests::Sodium_API_Tests::stream_salsa20
      Src: /src/botan/src/tests/test_sodium.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:39,1
    - Dst: Botan_Tests::Sodium_API_Tests::stream_xchacha20
      Src: /src/botan/src/tests/test_sodium.cpp:39,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:40,1
    - Dst: Botan_Tests::Sodium_API_Tests::stream_xsalsa20
      Src: /src/botan/src/tests/test_sodium.cpp:40,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:41,1
    - Dst: Botan_Tests::Sodium_API_Tests::sign_ed25519
      Src: /src/botan/src/tests/test_sodium.cpp:41,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:42,1
    - Dst: Botan_Tests::Sodium_API_Tests::sodium_malloc
      Src: /src/botan/src/tests/test_sodium.cpp:42,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:43,1
    - Dst: Botan_Tests::Sodium_API_Tests::sodium_utils
      Src: /src/botan/src/tests/test_sodium.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 46
    functionName: Botan_Tests::Sodium_API_Tests::run
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Sodium_API_Tests::stream_chacha20
    - Botan_Tests::Sodium_API_Tests::stream_xsalsa20
    - Botan_Tests::Sodium_API_Tests::stream_salsa20
    - Botan_Tests::Sodium_API_Tests::shorthash_siphash24
    - Botan_Tests::Sodium_API_Tests::aead_chacha20poly1305_ietf
    - Botan_Tests::Sodium_API_Tests::sodium_utils
    - Botan_Tests::Sodium_API_Tests::auth_hmacsha512256
    - Botan_Tests::Sodium_API_Tests::hash_sha256
    - Botan_Tests::Sodium_API_Tests::sodium_malloc
    - Botan_Tests::Sodium_API_Tests::auth_poly1305
    - Botan_Tests::Sodium_API_Tests::box_curve25519xsalsa20poly1305
    - Botan_Tests::Sodium_API_Tests::auth_hmacsha256
    - Botan_Tests::Sodium_API_Tests::secretbox_xsalsa20poly1305_detached
    - Botan_Tests::Sodium_API_Tests::stream_chacha20_ietf
    - Botan_Tests::Sodium_API_Tests::secretbox_xsalsa20poly1305
    - Botan_Tests::Sodium_API_Tests::aead_chacha20poly1305
    - Botan_Tests::Sodium_API_Tests::aead_xchacha20poly1305
    - Botan_Tests::Sodium_API_Tests::sign_ed25519
    - std::vector::push_back
    - Botan_Tests::Sodium_API_Tests::hash_sha512
    - Botan_Tests::Sodium_API_Tests::auth_hmacsha512
    - Botan_Tests::Sodium_API_Tests::randombytes_buf_deterministic
    - Botan_Tests::Sodium_API_Tests::stream_xchacha20
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/botan/src/tests/test_sodium.cpp:53,1
    - Dst: Botan::Sodium::sodium_free
      Src: /src/botan/src/tests/test_sodium.cpp:55,1
    - Dst: Botan::Sodium::sodium_free
      Src: /src/botan/src/tests/test_sodium.cpp:56,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_sodium.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: Botan_Tests::Sodium_API_Tests::sodium_malloc
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::memset
    - Botan::Sodium::sodium_free
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result sodium_malloc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:66,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_sodium.cpp:66,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:69,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_sodium.cpp:69,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:69,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:69,1
    - Dst: Botan::Sodium::sodium_increment
      Src: /src/botan/src/tests/test_sodium.cpp:70,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:70,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:70,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:71,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:72,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_sodium.cpp:72,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:72,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:72,1
    - Dst: std::memset
      Src: /src/botan/src/tests/test_sodium.cpp:74,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:74,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:74,1
    - Dst: Botan::Sodium::sodium_increment
      Src: /src/botan/src/tests/test_sodium.cpp:75,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:75,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:75,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:76,1
    - Dst: Botan::Sodium::sodium_increment
      Src: /src/botan/src/tests/test_sodium.cpp:77,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:77,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:77,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:78,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:80,1
    - Dst: Botan::Sodium::sodium_compare
      Src: /src/botan/src/tests/test_sodium.cpp:80,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:80,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:80,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:80,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:81,1
    - Dst: Botan::Sodium::sodium_memcmp
      Src: /src/botan/src/tests/test_sodium.cpp:81,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:81,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:81,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:81,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:84,1
    - Dst: Botan::Sodium::sodium_compare
      Src: /src/botan/src/tests/test_sodium.cpp:84,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:84,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:84,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:84,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:85,1
    - Dst: Botan::Sodium::sodium_compare
      Src: /src/botan/src/tests/test_sodium.cpp:85,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:85,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:85,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:85,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:86,1
    - Dst: Botan::Sodium::sodium_memcmp
      Src: /src/botan/src/tests/test_sodium.cpp:86,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:86,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:86,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:86,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:87,1
    - Dst: Botan::Sodium::sodium_memcmp
      Src: /src/botan/src/tests/test_sodium.cpp:87,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:87,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:87,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:87,1
    - Dst: Botan::Sodium::sodium_add
      Src: /src/botan/src/tests/test_sodium.cpp:89,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:89,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:89,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:89,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:90,1
    - Dst: Botan::Sodium::sodium_add
      Src: /src/botan/src/tests/test_sodium.cpp:91,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:91,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:91,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:91,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:92,1
    - Dst: Botan::Sodium::sodium_add
      Src: /src/botan/src/tests/test_sodium.cpp:93,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:93,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:93,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:93,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:94,1
    - Dst: Botan::Sodium::sodium_add
      Src: /src/botan/src/tests/test_sodium.cpp:95,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:95,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:95,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:95,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 99
    functionName: Botan_Tests::Sodium_API_Tests::sodium_utils
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::Sodium::sodium_add
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::Sodium::sodium_compare
    - Botan::Sodium::sodium_is_zero
    - std::memset
    - Botan::Sodium::sodium_memcmp
    - Botan::Sodium::sodium_increment
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result sodium_utils()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf_deterministic
      Src: /src/botan/src/tests/test_sodium.cpp:107,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:107,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:107,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: Botan_Tests::Sodium_API_Tests::randombytes_buf_deterministic
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - Test::Result::test_eq
    - Botan::Sodium::randombytes_buf_deterministic
    - std::vector::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result randombytes_buf_deterministic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_hash_sha512
      Src: /src/botan/src/tests/test_sodium.cpp:118,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:118,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: Botan_Tests::Sodium_API_Tests::hash_sha512
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - Botan::Sodium::crypto_hash_sha512
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result hash_sha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_hash_sha256
      Src: /src/botan/src/tests/test_sodium.cpp:132,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:132,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: Botan_Tests::Sodium_API_Tests::hash_sha256
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - Botan::Sodium::crypto_hash_sha256
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result hash_sha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:145,1
    - Dst: Botan::Sodium::crypto_box_seed_keypair
      Src: /src/botan/src/tests/test_sodium.cpp:145,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:145,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:145,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:145,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:146,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:147,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:150,1
    - Dst: Botan::Sodium::crypto_box_seed_keypair
      Src: /src/botan/src/tests/test_sodium.cpp:150,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:150,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:150,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:150,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:151,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:152,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:155,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:158,1
    - Dst: Botan::Sodium::crypto_box_easy
      Src: /src/botan/src/tests/test_sodium.cpp:159,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:160,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:160,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:160,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:160,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:160,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:160,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:162,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:164,1
    - Dst: Botan::Sodium::crypto_box_easy
      Src: /src/botan/src/tests/test_sodium.cpp:165,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:166,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:166,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:166,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:166,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:166,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:166,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:169,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:173,1
    - Dst: Botan::Sodium::crypto_box_open_easy
      Src: /src/botan/src/tests/test_sodium.cpp:174,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:175,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:175,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:175,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:175,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:175,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:175,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:177,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:179,1
    - Dst: Botan::Sodium::crypto_box_open_easy
      Src: /src/botan/src/tests/test_sodium.cpp:180,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:181,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:181,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:181,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:181,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:181,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:181,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 186
    functionName: Botan_Tests::Sodium_API_Tests::box_curve25519xsalsa20poly1305
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::Sodium::crypto_box_open_easy
    - Botan::Sodium::crypto_box_seed_keypair
    - data
    - Test::Result::test_eq
    - Botan::Sodium::crypto_box_easy
    - Test::Result::test_rc_ok
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result box_curve25519xsalsa20poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:192,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:194,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:195,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:197,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_keybytes
      Src: /src/botan/src/tests/test_sodium.cpp:197,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:197,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:198,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
      Src: /src/botan/src/tests/test_sodium.cpp:198,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:198,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:200,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_encrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:203,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:203,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:204,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:206,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:207,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:208,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:209,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:211,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:212,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:214,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:215,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:216,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:218,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:219,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_decrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:220,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:220,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:222,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:223,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:224,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:225,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:226,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:227,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:228,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:230,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:233,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_decrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:235,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:235,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:237,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:238,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:239,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:240,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:241,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:242,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:243,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_sodium.cpp:245,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:245,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:245,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:247,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_encrypt
      Src: /src/botan/src/tests/test_sodium.cpp:248,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:248,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:250,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:251,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:252,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:253,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:255,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:256,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:258,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:258,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:259,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:262,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_decrypt
      Src: /src/botan/src/tests/test_sodium.cpp:263,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:263,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:266,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:267,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:268,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:269,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:270,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:271,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 276
    functionName: Botan_Tests::Sodium_API_Tests::aead_chacha20poly1305
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - std::vector::data
    - Botan::Sodium::crypto_aead_chacha20poly1305_decrypt
    - Test::Result::test_eq
    - Botan::Sodium::crypto_aead_chacha20poly1305_encrypt_detached
    - Botan::Sodium::crypto_aead_chacha20poly1305_keybytes
    - Botan::hex_decode
    - Botan::Sodium::crypto_aead_chacha20poly1305_encrypt
    - Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
    - std::vector::resize
    - Test::Result::test_rc_ok
    - Test::Result::test_rc_fail
    - Botan::Sodium::crypto_aead_chacha20poly1305_decrypt_detached
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result aead_chacha20poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:282,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:284,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:285,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:287,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_keybytes
      Src: /src/botan/src/tests/test_sodium.cpp:287,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:287,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:288,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/tests/test_sodium.cpp:288,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:288,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:290,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_encrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:293,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:293,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:294,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:296,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:297,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:298,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:299,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:301,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:302,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:304,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:305,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:306,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:308,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:309,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:310,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:310,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:312,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:313,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:314,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:315,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:316,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:317,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:318,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:320,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:323,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:325,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:325,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:327,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:328,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:329,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:330,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:331,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:332,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:333,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_sodium.cpp:335,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:335,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:335,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:337,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_encrypt
      Src: /src/botan/src/tests/test_sodium.cpp:338,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:338,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:340,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:341,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:342,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:343,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:345,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:346,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:348,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:348,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:349,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:352,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt
      Src: /src/botan/src/tests/test_sodium.cpp:353,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:353,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:356,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:357,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:358,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:359,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:360,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:361,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 366
    functionName: Botan_Tests::Sodium_API_Tests::aead_chacha20poly1305_ietf
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - std::vector::data
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_keybytes
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_encrypt_detached
    - Test::Result::test_eq
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_encrypt
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
    - Botan::hex_decode
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt_detached
    - std::vector::resize
    - Test::Result::test_rc_ok
    - Test::Result::test_rc_fail
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result aead_chacha20poly1305_ietf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:372,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:374,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:375,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:377,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_keybytes
      Src: /src/botan/src/tests/test_sodium.cpp:377,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:377,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:378,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/tests/test_sodium.cpp:378,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:378,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:380,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:383,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:383,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:384,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:386,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:387,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:388,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:389,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:391,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:392,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:394,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:395,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:396,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:398,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:399,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:400,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:400,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:402,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:403,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:404,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:405,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:406,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:407,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:408,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:410,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:413,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:415,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:415,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:417,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:418,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:419,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:420,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:421,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:422,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:423,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_sodium.cpp:425,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:425,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:425,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:427,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt
      Src: /src/botan/src/tests/test_sodium.cpp:428,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:428,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:430,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:431,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:432,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:433,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:435,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:436,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:438,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:438,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:439,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:442,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt
      Src: /src/botan/src/tests/test_sodium.cpp:443,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:443,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:446,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:447,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:448,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:449,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:450,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:451,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 456
    functionName: Botan_Tests::Sodium_API_Tests::aead_xchacha20poly1305
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - std::vector::data
    - Test::Result::test_eq
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt_detached
    - Botan::hex_decode
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt_detached
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
    - std::vector::resize
    - Test::Result::test_rc_ok
    - Test::Result::test_rc_fail
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_keybytes
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result aead_xchacha20poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:462,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:463,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:465,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:465,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512_keybytes
      Src: /src/botan/src/tests/test_sodium.cpp:465,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512
      Src: /src/botan/src/tests/test_sodium.cpp:468,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:468,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:468,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:468,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:468,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:470,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:475,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512_verify
      Src: /src/botan/src/tests/test_sodium.cpp:476,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:476,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:476,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:476,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:476,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:479,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512_verify
      Src: /src/botan/src/tests/test_sodium.cpp:482,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:482,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:482,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:482,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 485
    functionName: Botan_Tests::Sodium_API_Tests::auth_hmacsha512
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - std::vector::data
    - Botan::Sodium::crypto_auth_hmacsha512_keybytes
    - Test::Result::test_eq
    - Botan::Sodium::crypto_auth_hmacsha512
    - Botan::hex_decode
    - Botan::Sodium::crypto_auth_hmacsha512_verify
    - Test::Result::test_rc_ok
    - Test::Result::test_rc_fail
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result auth_hmacsha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:491,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:492,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512256
      Src: /src/botan/src/tests/test_sodium.cpp:495,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:495,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:495,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:495,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:495,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:497,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:499,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512256_verify
      Src: /src/botan/src/tests/test_sodium.cpp:500,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:500,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:500,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:500,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:500,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:503,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512256_verify
      Src: /src/botan/src/tests/test_sodium.cpp:506,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:506,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:506,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:506,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 509
    functionName: Botan_Tests::Sodium_API_Tests::auth_hmacsha512256
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - std::vector::data
    - Botan::Sodium::crypto_auth_hmacsha512256_verify
    - Botan::Sodium::crypto_auth_hmacsha512256
    - Test::Result::test_eq
    - Botan::hex_decode
    - Test::Result::test_rc_ok
    - Test::Result::test_rc_fail
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result auth_hmacsha512256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:515,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:516,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha256
      Src: /src/botan/src/tests/test_sodium.cpp:519,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:519,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:519,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:519,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:519,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:521,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:523,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha256_verify
      Src: /src/botan/src/tests/test_sodium.cpp:524,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:524,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:524,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:524,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:524,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:527,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha256_verify
      Src: /src/botan/src/tests/test_sodium.cpp:530,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:530,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:530,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:530,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 533
    functionName: Botan_Tests::Sodium_API_Tests::auth_hmacsha256
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Test::Result::test_rc_fail
    - Test::Result::test_eq
    - Botan::hex_decode
    - Test::Result::test_rc_ok
    - Botan::Sodium::crypto_auth_hmacsha256
    - Botan::Sodium::crypto_auth_hmacsha256_verify
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result auth_hmacsha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_onetimeauth_keybytes
      Src: /src/botan/src/tests/test_sodium.cpp:538,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:543,1
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:544,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:544,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:544,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:544,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:544,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:546,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:548,1
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305_verify
      Src: /src/botan/src/tests/test_sodium.cpp:550,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:550,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:550,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:550,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:550,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:553,1
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305_verify
      Src: /src/botan/src/tests/test_sodium.cpp:556,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:556,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:556,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:556,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 559
    functionName: Botan_Tests::Sodium_API_Tests::auth_poly1305
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Test::Result::test_eq
    - Botan::Sodium::crypto_onetimeauth_poly1305
    - Botan::Sodium::crypto_onetimeauth_keybytes
    - Test::Result::test_rc_ok
    - Test::Result::test_rc_fail
    - Botan::Sodium::crypto_onetimeauth_poly1305_verify
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result auth_poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:564,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:565,1
    - Dst: Botan::Sodium::crypto_shorthash_siphash24
      Src: /src/botan/src/tests/test_sodium.cpp:568,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:568,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:568,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:568,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:568,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 573
    functionName: Botan_Tests::Sodium_API_Tests::shorthash_siphash24
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Test::Result::test_eq
    - Botan::hex_decode
    - Botan::Sodium::crypto_shorthash_siphash24
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result shorthash_siphash24()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:583,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:584,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:585,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:585,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:585,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:585,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:585,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:587,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:590,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
      Src: /src/botan/src/tests/test_sodium.cpp:591,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:592,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:592,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:592,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:592,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:592,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 597
    functionName: Botan_Tests::Sodium_API_Tests::secretbox_xsalsa20poly1305
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Test::Result::test_eq
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305
    - Test::Result::test_rc_ok
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result secretbox_xsalsa20poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:608,1
    - Dst: Botan::Sodium::crypto_secretbox_detached
      Src: /src/botan/src/tests/test_sodium.cpp:609,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:610,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:610,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:610,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:610,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:610,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:610,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:612,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:613,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:615,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:617,1
    - Dst: Botan::Sodium::crypto_secretbox_open_detached
      Src: /src/botan/src/tests/test_sodium.cpp:618,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:619,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:619,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:619,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:619,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:619,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:619,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 624
    functionName: Botan_Tests::Sodium_API_Tests::secretbox_xsalsa20poly1305_detached
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Test::Result::test_eq
    - Botan::Sodium::crypto_secretbox_detached
    - Test::Result::test_rc_ok
    - Botan::Sodium::crypto_secretbox_open_detached
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result secretbox_xsalsa20poly1305_detached()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:632,1
    - Dst: Botan::Sodium::crypto_sign_ed25519_seed_keypair
      Src: /src/botan/src/tests/test_sodium.cpp:633,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:633,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:633,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:633,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:635,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:636,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:644,1
    - Dst: Botan::Sodium::crypto_sign_ed25519_detached
      Src: /src/botan/src/tests/test_sodium.cpp:646,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:646,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:646,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:646,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:646,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:647,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:649,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:654,1
    - Dst: Botan::Sodium::crypto_sign_ed25519_verify_detached
      Src: /src/botan/src/tests/test_sodium.cpp:656,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:656,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:656,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:656,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:656,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:659,1
    - Dst: Botan::Sodium::crypto_sign_ed25519_verify_detached
      Src: /src/botan/src/tests/test_sodium.cpp:662,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:662,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:662,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:662,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 665
    functionName: Botan_Tests::Sodium_API_Tests::sign_ed25519
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::Sodium::crypto_sign_ed25519_detached
    - data
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::Sodium::crypto_sign_ed25519_verify_detached
    - Test::Result::test_rc_ok
    - Test::Result::test_rc_fail
    - Botan::Sodium::crypto_sign_ed25519_seed_keypair
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result sign_ed25519()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:671,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:672,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:674,1
    - Dst: Botan::Sodium::crypto_stream_salsa20
      Src: /src/botan/src/tests/test_sodium.cpp:677,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:677,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:677,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:677,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:677,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:678,1
    - Dst: Botan::Sodium::crypto_stream_salsa20_xor
      Src: /src/botan/src/tests/test_sodium.cpp:681,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:682,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:682,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:682,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:682,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:682,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:683,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_sodium.cpp:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 686
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 686
    functionName: Botan_Tests::Sodium_API_Tests::stream_salsa20
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - std::vector::data
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Botan::hex_decode
    - Botan::Sodium::crypto_stream_salsa20
    - Botan::Sodium::crypto_stream_salsa20_xor
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result stream_salsa20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:692,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:693,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:695,1
    - Dst: Botan::Sodium::crypto_stream_xsalsa20
      Src: /src/botan/src/tests/test_sodium.cpp:698,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:698,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:698,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:698,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:698,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:699,1
    - Dst: Botan::Sodium::crypto_stream_xsalsa20_xor
      Src: /src/botan/src/tests/test_sodium.cpp:702,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:703,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:703,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:703,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:703,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:703,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:704,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_sodium.cpp:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 707
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 707
    functionName: Botan_Tests::Sodium_API_Tests::stream_xsalsa20
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Botan::hex_decode
    - Botan::Sodium::crypto_stream_xsalsa20
    - Botan::Sodium::crypto_stream_xsalsa20_xor
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result stream_xsalsa20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:713,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:714,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:716,1
    - Dst: Botan::Sodium::crypto_stream_chacha20
      Src: /src/botan/src/tests/test_sodium.cpp:719,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:719,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:719,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:719,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:719,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:720,1
    - Dst: Botan::Sodium::crypto_stream_chacha20_xor
      Src: /src/botan/src/tests/test_sodium.cpp:723,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:724,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:724,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:724,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:724,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:724,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:725,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_sodium.cpp:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 728
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 728
    functionName: Botan_Tests::Sodium_API_Tests::stream_chacha20
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - std::vector::data
    - Botan::Sodium::crypto_stream_chacha20
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Botan::hex_decode
    - Botan::Sodium::crypto_stream_chacha20_xor
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result stream_chacha20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:734,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:735,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:737,1
    - Dst: Botan::Sodium::crypto_stream_chacha20_ietf
      Src: /src/botan/src/tests/test_sodium.cpp:740,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:740,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:740,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:740,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:740,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:741,1
    - Dst: Botan::Sodium::crypto_stream_chacha20_ietf_xor
      Src: /src/botan/src/tests/test_sodium.cpp:744,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:745,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:745,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:745,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:745,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:745,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:746,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_sodium.cpp:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 749
    functionName: Botan_Tests::Sodium_API_Tests::stream_chacha20_ietf
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::Sodium::crypto_stream_chacha20_ietf
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Botan::hex_decode
    - Botan::Sodium::crypto_stream_chacha20_ietf_xor
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result stream_chacha20_ietf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:755,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:756,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:758,1
    - Dst: Botan::Sodium::crypto_stream_xchacha20
      Src: /src/botan/src/tests/test_sodium.cpp:761,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:761,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:761,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:761,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:761,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:762,1
    - Dst: Botan::Sodium::crypto_stream_xchacha20_xor
      Src: /src/botan/src/tests/test_sodium.cpp:765,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:766,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:766,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:766,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:766,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:766,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:767,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_sodium.cpp:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 770
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 770
    functionName: Botan_Tests::Sodium_API_Tests::stream_xchacha20
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Botan::Sodium::crypto_stream_xchacha20_xor
    - Botan::hex_decode
    - Botan::Sodium::crypto_stream_xchacha20
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result stream_xchacha20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/tests/test_cmce.cpp:35,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_cmce.cpp:35,1
    - Dst: degree
      Src: /src/botan/src/tests/test_cmce.cpp:35,1
    - Dst: degree
      Src: /src/botan/src/tests/test_cmce.cpp:36,1
    - Dst: Botan::load_le<uint16_t>
      Src: /src/botan/src/tests/test_cmce.cpp:37,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_cmce.cpp:37,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/test_cmce.cpp:37,1
    - Dst: degree
      Src: /src/botan/src/tests/test_cmce.cpp:37,1
    - Dst: std::transform
      Src: /src/botan/src/tests/test_cmce.cpp:40,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_cmce.cpp:40,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_cmce.cpp:40,1
    - Dst: std::back_inserter
      Src: /src/botan/src/tests/test_cmce.cpp:40,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/tests/test_cmce.cpp:41,1
    - Dst: Botan::CmceGfElem
      Src: /src/botan/src/tests/test_cmce.cpp:41,1
    - Dst: poly_f
      Src: /src/botan/src/tests/test_cmce.cpp:41,1
    - Dst: Botan::Classic_McEliece_Polynomial
      Src: /src/botan/src/tests/test_cmce.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - bytes
    - ' ring'
    argTypes:
    - std::span<const uint8_t>
    - Botan::Classic_McEliece_Polynomial_Ring
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: Botan_Tests::create_element_from_bytes
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - Botan::load_le<uint16_t>
    - Botan::Classic_McEliece_Polynomial
    - Botan::CmceGfElem
    - Botan::Classic_McEliece_GF
    - std::back_inserter
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - poly_f
    - degree
    - BOTAN_ARG_CHECK
    - std::vector::begin
    - std::vector::end
    - std::transform
    linkageType: ''
    returnType: Botan::Classic_McEliece_Polynomial
    signature: "Botan::Classic_McEliece_Polynomial create_element_from_bytes(std::span<const
      uint8_t> bytes,\n                                                             const
      Botan::Classic_McEliece_Polynomial_Ring& ring)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: Botan_Tests::get_test_instances_all
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Classic_McEliece_Parameter_Set>
    signature: std::vector<Botan::Classic_McEliece_Parameter_Set> get_test_instances_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: Botan_Tests::get_test_instances_min
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Classic_McEliece_Parameter_Set>
    signature: std::vector<Botan::Classic_McEliece_Parameter_Set> get_test_instances_min()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_cmce.cpp:77,1
    - Dst: Botan_Tests::get_test_instances_all
      Src: /src/botan/src/tests/test_cmce.cpp:78,1
    - Dst: Botan_Tests::get_test_instances_min
      Src: /src/botan/src/tests/test_cmce.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: Botan_Tests::instances_to_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_test_instances_min
    - Botan_Tests::get_test_instances_all
    - Botan_Tests::Test::run_long_tests
    linkageType: ''
    returnType: std::vector<Botan::Classic_McEliece_Parameter_Set>
    signature: std::vector<Botan::Classic_McEliece_Parameter_Set> instances_to_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:85,1
    - Dst: Botan_Tests::instances_to_test
      Src: /src/botan/src/tests/test_cmce.cpp:86,1
    - Dst: find
      Src: /src/botan/src/tests/test_cmce.cpp:87,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_cmce.cpp:87,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_cmce.cpp:87,1
    - Dst: auto::parameter_set
      Src: /src/botan/src/tests/test_cmce.cpp:87,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_cmce.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params_str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: Botan_Tests::skip_cmce_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::parameter_set
    - Botan::Classic_McEliece_Parameters::create
    - Botan_Tests::instances_to_test
    - auto::end
    - find
    linkageType: ''
    returnType: bool
    signature: bool skip_cmce_test(const std::string& params_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:97,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_cmce.cpp:100,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_cmce.cpp:102,1
    - Dst: auto::prg
      Src: /src/botan/src/tests/test_cmce.cpp:109,1
    - Dst: auto::erase
      Src: /src/botan/src/tests/test_cmce.cpp:110,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_cmce.cpp:110,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_cmce.cpp:110,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_cmce.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 115
    functionName: Botan_Tests::CMCE_Utility_Tests::expand_seed_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - Botan::hex_decode_locked
    - Botan::Classic_McEliece_Parameters::create
    - Botan::hex_decode
    - Test::Result::test_is_eq
    - auto::end
    - auto::erase
    - auto::prg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result expand_seed_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:121,1
    - Dst: Botan::CmceIrreducibleBits
      Src: /src/botan/src/tests/test_cmce.cpp:124,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_cmce.cpp:124,1
    - Dst: Botan::Classic_McEliece_Minimal_Polynomial::from_bytes
      Src: /src/botan/src/tests/test_cmce.cpp:128,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_cmce.cpp:129,1
    - Dst: auto::poly_f
      Src: /src/botan/src/tests/test_cmce.cpp:132,1
    - Dst: auto::poly_ring
      Src: /src/botan/src/tests/test_cmce.cpp:134,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_cmce.cpp:135,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_cmce.cpp:135,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_cmce.cpp:136,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_cmce.cpp:136,1
    - Dst: auto::coef
      Src: /src/botan/src/tests/test_cmce.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 139
    functionName: Botan_Tests::CMCE_Utility_Tests::irreducible_poly_gen_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Minimal_Polynomial::from_bytes
    - auto::value
    - Botan::Classic_McEliece_Parameters::create
    - Test::Result::confirm
    - auto::poly_f
    - Botan::hex_decode
    - auto::has_value
    - Test::Result::test_is_eq
    - auto::coef
    - Botan::CmceIrreducibleBits
    - auto::poly_ring
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result irreducible_poly_gen_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:145,1
    - Dst: auto::gf
      Src: /src/botan/src/tests/test_cmce.cpp:147,1
    - Dst: Botan::CmceGfElem
      Src: /src/botan/src/tests/test_cmce.cpp:147,1
    - Dst: auto::inv
      Src: /src/botan/src/tests/test_cmce.cpp:148,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_cmce.cpp:149,1
    - Dst: elem
      Src: /src/botan/src/tests/test_cmce.cpp:149,1
    - Dst: Botan::CmceGfElem
      Src: /src/botan/src/tests/test_cmce.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: Botan_Tests::CMCE_Utility_Tests::gf_inv_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - auto::gf
    - auto::inv
    - Botan::Classic_McEliece_Parameters::create
    - elem
    - Test::Result::test_is_eq
    - Botan::CmceGfElem
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result gf_inv_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:158,1
    - Dst: auto::poly_ring
      Src: /src/botan/src/tests/test_cmce.cpp:160,1
    - Dst: create_element_from_bytes
      Src: /src/botan/src/tests/test_cmce.cpp:162,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_cmce.cpp:163,1
    - Dst: create_element_from_bytes
      Src: /src/botan/src/tests/test_cmce.cpp:168,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_cmce.cpp:169,1
    - Dst: create_element_from_bytes
      Src: /src/botan/src/tests/test_cmce.cpp:174,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_cmce.cpp:175,1
    - Dst: multiply
      Src: /src/botan/src/tests/test_cmce.cpp:180,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_cmce.cpp:181,1
    - Dst: auto::coef
      Src: /src/botan/src/tests/test_cmce.cpp:181,1
    - Dst: auto::coef
      Src: /src/botan/src/tests/test_cmce.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 184
    functionName: Botan_Tests::CMCE_Utility_Tests::gf_poly_mul_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - auto::coef
    - create_element_from_bytes
    - Botan::Classic_McEliece_Parameters::create
    - Botan::hex_decode
    - Test::Result::test_is_eq
    - multiply
    - auto::poly_ring
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result gf_poly_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/botan/src/tests/test_cmce.cpp:191,1
    - Dst: begin
      Src: /src/botan/src/tests/test_cmce.cpp:191,1
    - Dst: end
      Src: /src/botan/src/tests/test_cmce.cpp:191,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_cmce.cpp:191,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_cmce.cpp:205,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_cmce.cpp:207,1
    - Dst: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
      Src: /src/botan/src/tests/test_cmce.cpp:210,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_cmce.cpp:211,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_cmce.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 214
    functionName: Botan_Tests::CMCE_Utility_Tests::rigged_rng_encryption_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    - end
    - Test::Result::test_throws
    - static_cast<uint8_t>
    - auto::encrypt
    - Botan::create_private_key
    - Test::Result::test_failure
    - std::fill
    - begin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result rigged_rng_encryption_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CMCE_Utility_Tests::expand_seed_test
      Src: /src/botan/src/tests/test_cmce.cpp:217,1
    - Dst: Botan_Tests::CMCE_Utility_Tests::irreducible_poly_gen_test
      Src: /src/botan/src/tests/test_cmce.cpp:218,1
    - Dst: Botan_Tests::CMCE_Utility_Tests::gf_inv_test
      Src: /src/botan/src/tests/test_cmce.cpp:219,1
    - Dst: Botan_Tests::CMCE_Utility_Tests::gf_poly_mul_test
      Src: /src/botan/src/tests/test_cmce.cpp:220,1
    - Dst: Botan_Tests::CMCE_Utility_Tests::rigged_rng_encryption_test
      Src: /src/botan/src/tests/test_cmce.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: Botan_Tests::CMCE_Utility_Tests::run
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CMCE_Utility_Tests::rigged_rng_encryption_test
    - Botan_Tests::CMCE_Utility_Tests::irreducible_poly_gen_test
    - Botan_Tests::CMCE_Utility_Tests::expand_seed_test
    - Botan_Tests::CMCE_Utility_Tests::gf_poly_mul_test
    - Botan_Tests::CMCE_Utility_Tests::gf_inv_test
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: Botan_Tests::CMCE_Invalid_Test::CMCE_Invalid_Test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CMCE_Invalid_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:234,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_cmce.cpp:236,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_cmce.cpp:236,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_cmce.cpp:237,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_cmce.cpp:238,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_cmce.cpp:238,1
    - Dst: std::make_unique<CTR_DRBG_AES256>
      Src: /src/botan/src/tests/test_cmce.cpp:240,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_cmce.cpp:242,1
    - Dst: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
      Src: /src/botan/src/tests/test_cmce.cpp:245,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_cmce.cpp:246,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_cmce.cpp:248,1
    - Dst: auto::is_pc
      Src: /src/botan/src/tests/test_cmce.cpp:250,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_cmce.cpp:254,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_cmce.cpp:255,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_cmce.cpp:255,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_cmce.cpp:256,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_cmce.cpp:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' params_str'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 262
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 262
    functionName: Botan_Tests::CMCE_Invalid_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - get_opt_bin
    - auto::decrypt
    - auto::is_pc
    - Botan::Classic_McEliece_Parameters::create
    - Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    - Botan::create_private_key
    - Test::Result::test_is_eq
    - get_req_bin
    - Botan::lock
    - std::make_unique<CTR_DRBG_AES256>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& params_str, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_test_instances_min
      Src: /src/botan/src/tests/test_cmce.cpp:269,1
    - Dst: std::transform
      Src: /src/botan/src/tests/test_cmce.cpp:272,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_cmce.cpp:272,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_cmce.cpp:272,1
    - Dst: std::back_inserter
      Src: /src/botan/src/tests/test_cmce.cpp:272,1
    - Dst: to_string
      Src: /src/botan/src/tests/test_cmce.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: Botan_Tests::CMCE_Generic_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - get_test_instances_min
    - std::back_inserter
    - to_string
    - auto::end
    - std::transform
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Classic_McEliece_PublicKey>
      Src: /src/botan/src/tests/test_cmce.cpp:282,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/tests/test_cmce.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_key_bits
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: Botan_Tests::CMCE_Generic_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Classic_McEliece_PublicKey>
    - Botan::Classic_McEliece_Parameter_Set::from_string
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /*provider*/,\n                                                             std::span<const
      uint8_t> raw_key_bits) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: Botan_Tests::CMCE_Generic_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::Classic_McEliece_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Classic_McEliece_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:295,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/tests/test_cmce.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::get_params
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Parameter_Set::from_string
    - Botan::Classic_McEliece_Parameters::create
    linkageType: ''
    returnType: Botan::Classic_McEliece_Parameters
    signature: Botan::Classic_McEliece_Parameters get_params(const std::string& header)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip_cmce_test
      Src: /src/botan/src/tests/test_cmce.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alg_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::is_available
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - skip_cmce_test
    linkageType: ''
    returnType: bool
    signature: bool is_available(const std::string& alg_name) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_cmce.cpp:302,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_cmce.cpp:302,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_cmce.cpp:304,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_cmce.cpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - value
    - var_type
    argTypes:
    - std::span<const uint8_t>
    - VarType
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::map_value
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - auto::process
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> map_value(const std::string&, std::span<const
      uint8_t> value, VarType var_type) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/tests/test_cmce.cpp:309,1
    - Dst: Botan::Classic_McEliece_Parameters::seed_len
      Src: /src/botan/src/tests/test_cmce.cpp:309,1
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_cmce.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::rng_for_keygen
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Parameters::seed_len
    - Fixed_Output_RNG
    - random_vec
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_keygen(const std::string&, Botan::RandomNumberGenerator&
      rng) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Classic_McEliece_KAT_Tests::get_params
      Src: /src/botan/src/tests/test_cmce.cpp:318,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_cmce.cpp:324,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/test_cmce.cpp:325,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_cmce.cpp:325,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_cmce.cpp:325,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_cmce.cpp:325,1
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_cmce.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' alg_name'
    - ' rng'
    argTypes:
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::rng_for_encapsulation
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - Fixed_Output_RNG
    - std::vector::insert
    - auto::end
    - random_vec
    - Botan_Tests::Classic_McEliece_KAT_Tests::get_params
    - std::vector::end
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: "Fixed_Output_RNG rng_for_encapsulation(const std::string& alg_name,\n
      \                                            Botan::RandomNumberGenerator& rng)
      const final"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::inspect_rng_after_encaps
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void inspect_rng_after_encaps(const std::string&, const Fixed_Output_RNG&,
      Test::Result&) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: Botan_Tests::XMSS_Signature_Tests::XMSS_Signature_Tests
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_xmss.cpp:33,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: Botan_Tests::XMSS_Signature_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan_Tests::Test::run_long_tests
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& /*header*/, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan_Tests::XMSS_Signature_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:49,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_xmss.cpp:50,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_xmss.cpp:50,1
    - Dst: std::make_unique<Botan::XMSS_PrivateKey>
      Src: /src/botan/src/tests/test_xmss.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: Botan_Tests::XMSS_Signature_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - std::vector::begin
    - std::vector::end
    - std::make_unique<Botan::XMSS_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: Botan_Tests::XMSS_Signature_Verify_Tests::XMSS_Signature_Verify_Tests
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature_Verify_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan_Tests::XMSS_Signature_Verify_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:64,1
    - Dst: std::make_unique<Botan::XMSS_PublicKey>
      Src: /src/botan/src/tests/test_xmss.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: Botan_Tests::XMSS_Signature_Verify_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - std::make_unique<Botan::XMSS_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan_Tests::XMSS_Signature_Verify_Invalid_Tests::XMSS_Signature_Verify_Invalid_Tests
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature_Verify_Invalid_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan_Tests::XMSS_Signature_Verify_Invalid_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:78,1
    - Dst: std::make_unique<Botan::XMSS_PublicKey>
      Src: /src/botan/src/tests/test_xmss.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: Botan_Tests::XMSS_Signature_Verify_Invalid_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - std::make_unique<Botan::XMSS_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan_Tests::XMSS_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan_Tests::XMSS_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Parameters::xmss_algorithm_t
      Src: /src/botan/src/tests/test_xmss.cpp:93,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_xmss.cpp:93,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_xmss.cpp:93,1
    - Dst: Botan::XMSS_Parameters::XMSS_Parameters
      Src: /src/botan/src/tests/test_xmss.cpp:94,1
    - Dst: Botan::BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/tests/test_xmss.cpp:95,1
    - Dst: auto::element_size
      Src: /src/botan/src/tests/test_xmss.cpp:95,1
    - Dst: Botan::BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/tests/test_xmss.cpp:96,1
    - Dst: auto::element_size
      Src: /src/botan/src/tests/test_xmss.cpp:96,1
    - Dst: std::make_unique<Botan::XMSS_PublicKey>
      Src: /src/botan/src/tests/test_xmss.cpp:98,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_xmss.cpp:98,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_xmss.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_pk
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: Botan_Tests::XMSS_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::BufferSlicer::copy_as_secure_vector
    - Botan::XMSS_Parameters::xmss_algorithm_t
    - std::make_unique<Botan::XMSS_PublicKey>
    - auto::element_size
    - Botan::BufferSlicer::take
    - Botan::XMSS_Parameters::XMSS_Parameters
    - Botan::load_be
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan_Tests::XMSS_Keygen_Reference_Test::XMSS_Keygen_Reference_Test
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Keygen_Reference_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:113,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_xmss.cpp:116,1
    - Dst: data
      Src: /src/botan/src/tests/test_xmss.cpp:116,1
    - Dst: size
      Src: /src/botan/src/tests/test_xmss.cpp:116,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_xmss.cpp:120,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:120,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_xmss.cpp:121,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:121,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_xmss.cpp:122,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:122,1
    - Dst: Botan::XMSS_Parameters::xmss_id_from_string
      Src: /src/botan/src/tests/test_xmss.cpp:124,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:124,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xmss.cpp:127,1
    - Dst: Botan::XMSS_PrivateKey::raw_private_key
      Src: /src/botan/src/tests/test_xmss.cpp:127,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:127,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xmss.cpp:128,1
    - Dst: Botan::XMSS_PrivateKey::raw_public_key
      Src: /src/botan/src/tests/test_xmss.cpp:128,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: Botan_Tests::XMSS_Keygen_Reference_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - Fixed_Output_RNG::add_entropy
    - data
    - Test::Result::test_eq
    - get_req_str
    - Botan::XMSS_Parameters::xmss_id_from_string
    - add_entropy
    - size
    - get_req_bin
    - Botan::XMSS_PrivateKey::raw_private_key
    - Botan::XMSS_PrivateKey::raw_public_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Parameters::XMSS_Parameters
      Src: /src/botan/src/tests/test_xmss.cpp:135,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:135,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_xmss.cpp:136,1
    - Dst: auto::hash_function_name
      Src: /src/botan/src/tests/test_xmss.cpp:136,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_xmss.cpp:140,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: Botan_Tests::XMSS_Keygen_Reference_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan_Tests::Test::run_long_tests
    - auto::hash_function_name
    - Botan::HashFunction::create
    - Botan::XMSS_Parameters::XMSS_Parameters
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& /*header*/, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_xmss.cpp:155,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_xmss.cpp:158,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_xmss.cpp:161,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_xmss.cpp:164,1
    - Dst: require
      Src: /src/botan/src/tests/test_xmss.cpp:167,1
    - Dst: Botan::XMSS_PrivateKey::remaining_operations
      Src: /src/botan/src/tests/test_xmss.cpp:167,1
    - Dst: sign_something
      Src: /src/botan/src/tests/test_xmss.cpp:169,1
    - Dst: require
      Src: /src/botan/src/tests/test_xmss.cpp:171,1
    - Dst: Botan::XMSS_PrivateKey::remaining_operations
      Src: /src/botan/src/tests/test_xmss.cpp:171,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_xmss.cpp:174,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_xmss.cpp:175,1
    - Dst: require
      Src: /src/botan/src/tests/test_xmss.cpp:182,1
    - Dst: Botan::XMSS_PrivateKey::remaining_operations
      Src: /src/botan/src/tests/test_xmss.cpp:182,1
    - Dst: sign_something
      Src: /src/botan/src/tests/test_xmss.cpp:184,1
    - Dst: require
      Src: /src/botan/src/tests/test_xmss.cpp:186,1
    - Dst: Botan::XMSS_PrivateKey::remaining_operations
      Src: /src/botan/src/tests/test_xmss.cpp:186,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_xmss.cpp:187,1
    - Dst: sign_something
      Src: /src/botan/src/tests/test_xmss.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 189
    functionName: Botan_Tests::xmss_statefulness
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - require
    - Botan::PK_Signer::sign_message
    - Botan_Tests::CHECK
    - Botan::XMSS_PrivateKey::remaining_operations
    - Botan::hex_decode
    - test_throws
    - Botan_Tests::Test::new_rng
    - sign_something
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> xmss_statefulness()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_xmss.cpp:192,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_xmss.cpp:198,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_xmss.cpp:204,1
    - Dst: Botan::XMSS_PrivateKey::XMSS_PrivateKey
      Src: /src/botan/src/tests/test_xmss.cpp:277,1
    - Dst: Botan::XMSS_PublicKey::XMSS_PublicKey
      Src: /src/botan/src/tests/test_xmss.cpp:279,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_xmss.cpp:281,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_xmss.cpp:284,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_xmss.cpp:287,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_xmss.cpp:290,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_xmss.cpp:293,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_xmss.cpp:294,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_xmss.cpp:297,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_xmss.cpp:300,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_xmss.cpp:301,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_xmss.cpp:304,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_xmss.cpp:307,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_xmss.cpp:310,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_xmss.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 314
    functionName: Botan_Tests::xmss_legacy_private_key
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_PrivateKey::XMSS_PrivateKey
    - Botan_Tests::CHECK
    - Botan::PK_Signer::sign_message
    - Botan::hex_decode
    - Botan::PK_Verifier::verify_message
    - Botan_Tests::Test::new_rng
    - confirm
    - Botan::XMSS_PublicKey::XMSS_PublicKey
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> xmss_legacy_private_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::SIV_Tests::SIV_Tests
    functionSourceFile: /src/botan/src/tests/test_siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIV_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_siv.cpp:25,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_siv.cpp:26,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_siv.cpp:27,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_siv.cpp:28,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/test_siv.cpp:29,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_siv.cpp:29,1
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/tests/test_siv.cpp:35,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_siv.cpp:38,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_siv.cpp:42,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_siv.cpp:44,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_siv.cpp:45,1
    - Dst: auto::set_associated_data_n
      Src: /src/botan/src/tests/test_siv.cpp:46,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_siv.cpp:49,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_siv.cpp:49,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_siv.cpp:50,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_siv.cpp:51,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_siv.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 56
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 56
    functionName: Botan_Tests::SIV_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_siv.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_opt_bin
    - auto::set_key
    - auto::finish
    - Test::Result::test_note
    - Test::Result::test_eq
    - get_req_str
    - Botan::split_on
    - Botan::hex_decode
    - Botan::AEAD_Mode::create
    - auto::set_associated_data_n
    - auto::start
    - get_req_bin
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_uri.cpp:23,1
    - Dst: Botan::URI::type
      Src: /src/botan/src/tests/test_uri.cpp:23,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:24,1
    - Dst: Botan::URI::host
      Src: /src/botan/src/tests/test_uri.cpp:24,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:25,1
    - Dst: Botan::URI::port
      Src: /src/botan/src/tests/test_uri.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: Botan_Tests::URI_Tests::test_uri_ctor
    functionSourceFile: /src/botan/src/tests/test_uri.cpp
    functionUses: 0
    functionsReached:
    - Botan::URI::type
    - Test::Result::test_eq
    - Botan::URI::host
    - Test::Result::confirm
    - Botan::URI::port
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_uri_ctor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:32,1
    - Dst: Botan::URI
      Src: /src/botan/src/tests/test_uri.cpp:32,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:33,1
    - Dst: Botan::URI
      Src: /src/botan/src/tests/test_uri.cpp:33,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:34,1
    - Dst: Botan::URI
      Src: /src/botan/src/tests/test_uri.cpp:34,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:35,1
    - Dst: Botan::URI
      Src: /src/botan/src/tests/test_uri.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: Botan_Tests::URI_Tests::test_uri_tostring
    functionSourceFile: /src/botan/src/tests/test_uri.cpp
    functionUses: 0
    functionsReached:
    - Botan::URI
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_uri_tostring()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:58,1
    - Dst: host
      Src: /src/botan/src/tests/test_uri.cpp:58,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_uri.cpp:59,1
    - Dst: port
      Src: /src/botan/src/tests/test_uri.cpp:59,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_uri.cpp:63,1
    - Dst: Botan::URI::from_ipv4
      Src: /src/botan/src/tests/test_uri.cpp:63,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_uri.cpp:66,1
    - Dst: Botan::URI::from_ipv6
      Src: /src/botan/src/tests/test_uri.cpp:66,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_uri.cpp:69,1
    - Dst: Botan::URI::from_domain
      Src: /src/botan/src/tests/test_uri.cpp:69,1
    - Dst: Botan::URI::from_any
      Src: /src/botan/src/tests/test_uri.cpp:72,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_uri.cpp:73,1
    - Dst: auto::type
      Src: /src/botan/src/tests/test_uri.cpp:73,1
    - Dst: test_URI
      Src: /src/botan/src/tests/test_uri.cpp:74,1
    - Dst: test_URI
      Src: /src/botan/src/tests/test_uri.cpp:76,1
    - Dst: Botan::URI::from_domain
      Src: /src/botan/src/tests/test_uri.cpp:76,1
    - Dst: test_URI
      Src: /src/botan/src/tests/test_uri.cpp:78,1
    - Dst: Botan::URI::from_ipv4
      Src: /src/botan/src/tests/test_uri.cpp:78,1
    - Dst: test_URI
      Src: /src/botan/src/tests/test_uri.cpp:80,1
    - Dst: Botan::URI::from_ipv6
      Src: /src/botan/src/tests/test_uri.cpp:80,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_uri.cpp:86,1
    - Dst: Botan::URI::from_ipv6
      Src: /src/botan/src/tests/test_uri.cpp:86,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_uri.cpp:87,1
    - Dst: Botan::URI::from_ipv6
      Src: /src/botan/src/tests/test_uri.cpp:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 90
    functionName: Botan_Tests::URI_Tests::test_uri_parsing
    functionSourceFile: /src/botan/src/tests/test_uri.cpp
    functionUses: 0
    functionsReached:
    - Botan::URI::from_ipv4
    - host
    - Botan::URI::from_domain
    - Test::Result::test_eq
    - Botan::URI::from_ipv6
    - Test::Result::test_throws
    - Test::Result::confirm
    - test_URI
    - port
    - Test::Result::test_int_eq
    - auto::type
    - Botan::URI::from_any
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_uri_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::URI::from_any
      Src: /src/botan/src/tests/test_uri.cpp:107,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_uri.cpp:108,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_uri.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: Botan_Tests::URI_Tests::test_uri_parsing_invalid
    functionSourceFile: /src/botan/src/tests/test_uri.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan::URI::from_any
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_uri_parsing_invalid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_uri.cpp:120,1
    - Dst: Botan_Tests::URI_Tests::test_uri_ctor
      Src: /src/botan/src/tests/test_uri.cpp:120,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_uri.cpp:121,1
    - Dst: Botan_Tests::URI_Tests::test_uri_tostring
      Src: /src/botan/src/tests/test_uri.cpp:121,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_uri.cpp:122,1
    - Dst: Botan_Tests::URI_Tests::test_uri_parsing
      Src: /src/botan/src/tests/test_uri.cpp:122,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_uri.cpp:123,1
    - Dst: Botan_Tests::URI_Tests::test_uri_parsing_invalid
      Src: /src/botan/src/tests/test_uri.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: Botan_Tests::URI_Tests::run
    functionSourceFile: /src/botan/src/tests/test_uri.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::URI_Tests::test_uri_parsing_invalid
    - Botan_Tests::URI_Tests::test_uri_parsing
    - Botan_Tests::URI_Tests::test_uri_tostring
    - Botan_Tests::URI_Tests::test_uri_ctor
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan_Tests::Test_Error::Test_Error
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Error(const std::string& what)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan_Tests::Test_Error::error_type
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::ErrorType
    signature: Botan::ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan_Tests::Test_Aborted::Test_Aborted
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Aborted(const std::string& what)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan_Tests::Test_Options::Test_Options
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Options()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/tests/tests.h:88,1
    - Dst: end
      Src: /src/botan/src/tests/tests.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 22
    argNames:
    - ' requested_tests'
    - ' skip_tests'
    - ' data_dir'
    - ' pkcs11_lib'
    - ' provider'
    - ' tpm2_tcti_name'
    - ' tpm2_tcti_conf'
    - tpm2_persistent_rsa_handle
    - tpm2_persistent_ecc_handle
    - ' tpm2_persistent_auth_value'
    - ' drbg_seed'
    - ' xml_results_dir'
    - ' report_properties'
    - test_runs
    - test_threads
    - verbose
    - log_success
    - run_online_tests
    - run_long_tests
    - run_memory_intensive_tests
    - abort_on_first_fail
    - no_stdout
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - size_t
    - size_t
    - std::string
    - std::string
    - std::string
    - std::vector<std::string>
    - size_t
    - size_t
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 108
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 108
    functionName: Botan_Tests::Test_Options::Test_Options
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: "void Test_Options(const std::vector<std::string>& requested_tests,\n
      \                  const std::vector<std::string>& skip_tests,\n                   const
      std::string& data_dir,\n                   const std::string& pkcs11_lib,\n
      \                  const std::string& provider,\n                   const std::string&
      tpm2_tcti_name,\n                   const std::string& tpm2_tcti_conf,\n                   size_t
      tpm2_persistent_rsa_handle,\n                   size_t tpm2_persistent_ecc_handle,\n
      \                  const std::string& tpm2_persistent_auth_value,\n                   const
      std::string& drbg_seed,\n                   const std::string& xml_results_dir,\n
      \                  const std::vector<std::string>& report_properties,\n                   size_t
      test_runs,\n                   size_t test_threads,\n                   bool
      verbose,\n                   bool log_success,\n                   bool run_online_tests,\n
      \                  bool run_long_tests,\n                   bool run_memory_intensive_tests,\n
      \                  bool abort_on_first_fail,\n                   bool no_stdout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: '& requested_tests() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & requested_tests() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& skip_tests() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> & skip_tests() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: '& data_dir() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & data_dir() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '& pkcs11_lib() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & pkcs11_lib() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: '& provider() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '& tpm2_tcti_name() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> & tpm2_tcti_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: '& tpm2_tcti_conf() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> & tpm2_tcti_conf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/tests.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan_Tests::Test_Options::tpm2_persistent_rsa_handle
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t tpm2_persistent_rsa_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/tests.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: Botan_Tests::Test_Options::tpm2_persistent_ecc_handle
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t tpm2_persistent_ecc_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/tests/tests.h:129,1
    - Dst: data
      Src: /src/botan/src/tests/tests.h:129,1
    - Dst: size
      Src: /src/botan/src/tests/tests.h:130,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/tests.h:131,1
    - Dst: std::span::begin
      Src: /src/botan/src/tests/tests.h:131,1
    - Dst: std::span::end
      Src: /src/botan/src/tests/tests.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: Botan_Tests::Test_Options::tpm2_persistent_auth_value
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - std::span::end
    - std::vector<uint8_t>
    - data
    - std::span::begin
    - size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> tpm2_persistent_auth_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: '& drbg_seed() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & drbg_seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: '& xml_results_dir() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & xml_results_dir() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Botan_Tests::Test_Options::test_runs
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t test_runs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: Botan_Tests::Test_Options::test_threads
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t test_threads() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: Botan_Tests::Test_Options::log_success
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool log_success() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: Botan_Tests::Test_Options::run_online_tests
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_online_tests() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Botan_Tests::Test_Options::run_long_tests
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_long_tests() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan_Tests::Test_Options::run_memory_intensive_tests
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_memory_intensive_tests() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: Botan_Tests::Test_Options::abort_on_first_fail
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool abort_on_first_fail() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Botan_Tests::Test_Options::no_stdout
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool no_stdout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: Botan_Tests::Test_Options::verbose
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool verbose() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/tests.h:235,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/tests.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - who
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: Botan_Tests::Test::Result::Result
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: void
    signature: void Result(std::string who)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: Botan_Tests::Test::Result::tests_passed
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tests_passed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/tests.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: Botan_Tests::Test::Result::tests_failed
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t tests_failed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::tests_passed
      Src: /src/botan/src/tests/tests.h:247,1
    - Dst: Botan_Tests::Test::Result::tests_failed
      Src: /src/botan/src/tests/tests.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: Botan_Tests::Test::Result::tests_run
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::tests_passed
    - Botan_Tests::Test::Result::tests_failed
    linkageType: ''
    returnType: size_t
    signature: size_t tests_run() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::tests_run
      Src: /src/botan/src/tests/tests.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: Botan_Tests::Test::Result::any_results
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::tests_run
    linkageType: ''
    returnType: bool
    signature: bool any_results() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: '& who() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & who() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: '& failures() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & failures() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: '& notes() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & notes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::nanoseconds
      Src: /src/botan/src/tests/tests.h:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: Botan_Tests::Test::Result::elapsed_time
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::nanoseconds
    linkageType: ''
    returnType: std::optional<std::chrono::nanoseconds>
    signature: std::optional<std::chrono::nanoseconds> elapsed_time() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: '& timestamp() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point & timestamp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::test_failure
      Src: /src/botan/src/tests/tests.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' who'
    - ' what'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: Botan_Tests::Test::Result::Failure
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Result::test_failure
    linkageType: ''
    returnType: Result
    signature: Result Failure(const std::string& who, const std::string& what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::test_note
      Src: /src/botan/src/tests/tests.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' who'
    - ' what'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: Botan_Tests::Test::Result::Note
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Result::test_note
    linkageType: ''
    returnType: Result
    signature: Result Note(const std::string& who, const std::string& what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::tests_failed
      Src: /src/botan/src/tests/tests.h:286,1
    - Dst: Result::test_failure
      Src: /src/botan/src/tests/tests.h:288,1
    - Dst: who
      Src: /src/botan/src/tests/tests.h:291,1
    - Dst: Result::test_note
      Src: /src/botan/src/tests/tests.h:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - expecting_failure
    - ' result'
    argTypes:
    - bool
    - Test::Result
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: Botan_Tests::Test::Result::OfExpectedFailure
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - who
    - Result::test_failure
    - Result::test_note
    - Botan_Tests::Test::Result::tests_failed
    linkageType: ''
    returnType: Result
    signature: Result OfExpectedFailure(bool expecting_failure, const Test::Result&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.h:303,1
    - Dst: Botan_Tests::Test::Result::test_note
      Src: /src/botan/src/tests/tests.h:304,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/tests.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' who'
    - ' vec'
    argTypes:
    - std::string
    - std::vector<uint8_t, Alloc>
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: Botan_Tests::Test::Result::test_note
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test::Result::test_note
    - Botan::hex_encode
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void test_note(const std::string& who, const std::vector<uint8_t, Alloc>&
      vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:319,1
    - Dst: data
      Src: /src/botan/src/tests/tests.h:319,1
    - Dst: size
      Src: /src/botan/src/tests/tests.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' what'
    - ' buf'
    argTypes:
    - std::string
    - std::vector<uint8_t, Alloc>
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: Botan_Tests::Test::Result::test_failure
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - data
    - Botan_Tests::Test::Result::test_failure
    - size
    linkageType: ''
    returnType: void
    signature: void test_failure(const std::string& what, const std::vector<uint8_t,
      Alloc>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_eq
      Src: /src/botan/src/tests/tests.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' what'
    - expr
    argTypes:
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: Botan_Tests::Test::Result::confirm
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::test_eq
    linkageType: ''
    returnType: bool
    signature: bool confirm(const std::string& what, bool expr, bool expected = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::confirm
      Src: /src/botan/src/tests/tests.h:331,1
    - Dst: Test_Aborted
      Src: /src/botan/src/tests/tests.h:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' what'
    - expr
    argTypes:
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: Botan_Tests::Test::Result::require
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Test_Aborted
    - Botan_Tests::Test::Result::confirm
    linkageType: ''
    returnType: void
    signature: void require(const std::string& what, bool expr, bool expected = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_is_eq
      Src: /src/botan/src/tests/tests.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' produced'
    - ' expected'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: Botan_Tests::Test::Result::test_is_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test::Result::test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool test_is_eq(const T& produced, const T& expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_success
      Src: /src/botan/src/tests/tests.h:348,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.h:348,1
    - Dst: Botan_Tests::Test::Result::to_string
      Src: /src/botan/src/tests/tests.h:350,1
    - Dst: Botan_Tests::Test::Result::to_string
      Src: /src/botan/src/tests/tests.h:350,1
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:352,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' what'
    - ' produced'
    - ' expected'
    argTypes:
    - std::string
    - T
    - T
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: Botan_Tests::Test::Result::test_is_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test::Result::test_failure
    - test_success
    - std::ostringstream::str
    - Botan_Tests::Test::Result::to_string
    linkageType: ''
    returnType: bool
    signature: bool test_is_eq(const std::string& what, const T& produced, const T&
      expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:359,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.h:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' what'
    - ' ptr'
    argTypes:
    - std::string
    - T
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: Botan_Tests::Test::Result::test_not_null
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - test_success
    - Botan_Tests::Test::Result::test_failure
    linkageType: ''
    returnType: bool
    signature: bool test_not_null(const std::string& what, const T& ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:368,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.h:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' what'
    - val
    argTypes:
    - std::string
    - std::optional<T>
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: Botan_Tests::Test::Result::test_not_nullopt
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - test_success
    - Botan_Tests::Test::Result::test_failure
    linkageType: ''
    returnType: bool
    signature: bool test_not_nullopt(const std::string& what, std::optional<T> val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_eq
      Src: /src/botan/src/tests/tests.h:391,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/tests.h:391,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/tests.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - what
    argTypes:
    - I1
    - I2
    - char*
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: Botan_Tests::Test::Result::test_int_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - Botan_Tests::Test::Result::test_eq
    linkageType: ''
    returnType: bool
    signature: bool test_int_eq(I1 x, I2 y, const char* what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_eq
      Src: /src/botan/src/tests/tests.h:396,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/tests.h:396,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/tests.h:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - x
    - y
    argTypes:
    - std::string
    - I1
    - I2
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: Botan_Tests::Test::Result::test_int_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - Botan_Tests::Test::Result::test_eq
    linkageType: ''
    returnType: bool
    signature: bool test_int_eq(const std::string& what, I1 x, I2 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/tests.h:401,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.h:401,1
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:404,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.h:404,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.h:405,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.h:405,1
    - Dst: Botan_Tests::Test::Result::test_is_eq
      Src: /src/botan/src/tests/tests.h:406,1
    - Dst: value
      Src: /src/botan/src/tests/tests.h:406,1
    - Dst: value
      Src: /src/botan/src/tests/tests.h:406,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.h:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' what'
    - ' a'
    - ' b'
    argTypes:
    - std::string
    - std::optional<T>
    - std::optional<T>
    constantsTouched: []
    func_position:
      end: 411
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 411
    functionName: Botan_Tests::Test::Result::test_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 3
    functionsReached:
    - Botan_Tests::Test::Result::test_failure
    - std::ostringstream::str
    - test_success
    - value
    - Botan_Tests::Test::Result::test_is_eq
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool test_eq(const std::string& what, const std::optional<T>& a, const
      std::optional<T>& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:427,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.h:427,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.h:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' func'
    - rc
    argTypes:
    - std::string
    - T
    constantsTouched: []
    func_position:
      end: 431
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 431
    functionName: Botan_Tests::Test::Result::test_rc_ok
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - test_success
    - Botan_Tests::Test::Result::test_failure
    - std::ostringstream::str
    linkageType: ''
    returnType: bool
    signature: bool test_rc_ok(const std::string& func, T rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:442,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.h:442,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.h:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' func'
    - ' why'
    - rc
    argTypes:
    - std::string
    - std::string
    - T
    constantsTouched: []
    func_position:
      end: 446
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 446
    functionName: Botan_Tests::Test::Result::test_rc_fail
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - test_success
    - Botan_Tests::Test::Result::test_failure
    - std::ostringstream::str
    linkageType: ''
    returnType: bool
    signature: bool test_rc_fail(const std::string& func, const std::string& why,
      T rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_eq
      Src: /src/botan/src/tests/tests.h:481,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:481,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:481,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:481,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: Botan_Tests::Test::Result::test_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 4
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - Botan_Tests::Test::Result::test_eq
    linkageType: ''
    returnType: bool
    signature: "bool test_eq(const std::string& what,\n                         std::span<const
      uint8_t> produced,\n                         std::span<const uint8_t> expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_eq
      Src: /src/botan/src/tests/tests.h:488,1
    - Dst: c_str
      Src: /src/botan/src/tests/tests.h:489,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:489,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:489,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:489,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' producer'
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - std::string
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: Botan_Tests::Test::Result::test_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 5
    functionsReached:
    - std::span<const uint8_t>::data
    - c_str
    - Botan_Tests::Test::Result::test_eq
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: bool
    signature: "bool test_eq(const std::string& producer,\n                         const
      std::string& what,\n                         std::span<const uint8_t> produced,\n
      \                        std::span<const uint8_t> expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/tests.h:493,1
    - Dst: Botan_Tests::Test::Result::test_eq
      Src: /src/botan/src/tests/tests.h:494,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:494,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:494,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/tests.h:494,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected_hex
    argTypes:
    - std::string
    - std::span<const uint8_t>
    - char*
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: Botan_Tests::Test::Result::test_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 6
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::hex_decode
    - std::span<const uint8_t>::size
    - Botan_Tests::Test::Result::test_eq
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: bool
    signature: bool test_eq(const std::string& what, std::span<const uint8_t> produced,
      const char* expected_hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_ne
      Src: /src/botan/src/tests/tests.h:500,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:500,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:500,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:500,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: Botan_Tests::Test::Result::test_ne
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - Botan_Tests::Test::Result::test_ne
    linkageType: ''
    returnType: bool
    signature: "bool test_ne(const std::string& what,\n                         std::span<const
      uint8_t> produced,\n                         std::span<const uint8_t> expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/tests.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fn
    argTypes:
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 507
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 507
    functionName: Botan_Tests::Test::Result::ThrowExpectations::ThrowExpectations
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ThrowExpectations(std::function<void()> fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: Botan_Tests::Test::Result::ThrowExpectations::ThrowExpectations
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThrowExpectations(const ThrowExpectations&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: '& operator=(const ThrowExpectations&)'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThrowExpectations
    signature: ThrowExpectations & operator=(const ThrowExpectations&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: Botan_Tests::Test::Result::ThrowExpectations::ThrowExpectations
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThrowExpectations(ThrowExpectations&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: '& operator=(ThrowExpectations&&)'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThrowExpectations
    signature: ThrowExpectations & operator=(ThrowExpectations&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/tests.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 514
    functionName: ~ThrowExpectations()
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void ~ThrowExpectations()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/tests.h:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: '& expect_success()'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: ThrowExpectations
    signature: ThrowExpectations & expect_success()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/tests.h:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: '& expect_message(const std::string& message)'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: ThrowExpectations
    signature: ThrowExpectations & expect_message(const std::string& message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/tests.h:530,1
    - Dst: typeid
      Src: /src/botan/src/tests/tests.h:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: Botan_Tests::Test::Result::ThrowExpectations::expect_exception_type
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - typeid
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: ThrowExpectations
    signature: ThrowExpectations & expect_exception_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ThrowExpectations
      Src: /src/botan/src/tests/tests.h:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' what'
    - ' fn'
    argTypes:
    - std::string
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: Botan_Tests::Test::Result::test_throws
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - ThrowExpectations
    linkageType: ''
    returnType: bool
    signature: bool test_throws(const std::string& what, const std::function<void()>&
      fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ThrowExpectations
      Src: /src/botan/src/tests/tests.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - ' expected'
    - ' fn'
    argTypes:
    - std::string
    - std::string
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: Botan_Tests::Test::Result::test_throws
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - ThrowExpectations
    linkageType: ''
    returnType: bool
    signature: bool test_throws(const std::string& what, const std::string& expected,
      const std::function<void()>& fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: Botan_Tests::Test::Result::set_ns_consumed
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_ns_consumed(uint64_t ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/tests.h:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - where
    argTypes:
    - CodeLocation
    constantsTouched: []
    func_position:
      end: 568
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 568
    functionName: Botan_Tests::Test::Result::set_code_location
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_code_location(CodeLocation where)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: '& code_location() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CodeLocation>
    signature: std::optional<CodeLocation> & code_location() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/tests.h:576,1
    - Dst: Botan_Tests::Test::Result::to_string
      Src: /src/botan/src/tests/tests.h:576,1
    - Dst: value
      Src: /src/botan/src/tests/tests.h:576,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.h:576,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/tests.h:578,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.h:582,1
    - Dst: Botan_Tests::Test::Result::to_string
      Src: /src/botan/src/tests/tests.h:584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 588
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 588
    functionName: Botan_Tests::Test::Result::to_string
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 2
    functionsReached:
    - std::ostringstream::str
    - Botan::to_string
    - has_value
    - std::string
    - Botan_Tests::Test::Result::to_string
    - value
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(const T& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 601
    functionName: ~Test()
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 608
    functionName: '& test_name() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & test_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 612
    functionName: '& registration_location() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CodeLocation>
    signature: std::optional<CodeLocation> & registration_location() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::format_time
      Src: /src/botan/src/tests/tests.h:637,1
    - Dst: std::chrono::nanoseconds::count
      Src: /src/botan/src/tests/tests.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nanoseconds
    argTypes:
    - std::chrono::nanoseconds
    constantsTouched: []
    func_position:
      end: 638
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 638
    functionName: Botan_Tests::Test::format_time
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test::format_time
    - std::chrono::nanoseconds::count
    linkageType: ''
    returnType: std::string
    signature: std::string format_time(const std::chrono::nanoseconds nanoseconds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/tests.h:647,1
    - Dst: next_byte
      Src: /src/botan/src/tests/tests.h:647,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/tests.h:650,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.h:650,1
    - Dst: randomize
      Src: /src/botan/src/tests/tests.h:651,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.h:651,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.h:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' v'
    - ' rng'
    argTypes:
    - std::vector<uint8_t, Alloc>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 661
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 661
    functionName: Botan_Tests::Test::mutate_vec
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::vector::size
    - next_byte
    - randomize
    - std::vector::resize
    linkageType: ''
    returnType: std::vector<uint8_t, Alloc>
    signature: "std::vector<uint8_t, Alloc> mutate_vec(const std::vector<uint8_t,
      Alloc>& v,\n                                                    Botan::RandomNumberGenerator&
      rng,\n                                                    bool maybe_resize
      = false,\n                                                    size_t min_offset
      = 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: '& options()'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test_Options
    signature: Test_Options & options()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: options
      Src: /src/botan/src/tests/tests.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: Botan_Tests::Test::run_long_tests
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 3
    functionsReached:
    - options
    linkageType: ''
    returnType: bool
    signature: bool run_long_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: options
      Src: /src/botan/src/tests/tests.h:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: Botan_Tests::Test::run_memory_intensive_tests
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - options
    linkageType: ''
    returnType: bool
    signature: bool run_memory_intensive_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: options
      Src: /src/botan/src/tests/tests.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 673
    functionName: '& pkcs11_lib()'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - options
    linkageType: ''
    returnType: std::string
    signature: std::string & pkcs11_lib()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::register_test
      Src: /src/botan/src/tests/tests.h:715,1
    - Dst: std::make_unique<Test_Class>
      Src: /src/botan/src/tests/tests.h:716,1
    - Dst: auto::initialize
      Src: /src/botan/src/tests/tests.h:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' category'
    - ' name'
    - smoke_test
    - needs_serialization
    - ' registration_location'
    argTypes:
    - std::string
    - std::string
    - bool
    - bool
    - CodeLocation
    constantsTouched: []
    func_position:
      end: 720
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 720
    functionName: Botan_Tests::TestClassRegistration::TestClassRegistration
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::register_test
    - std::make_unique<Test_Class>
    - auto::initialize
    linkageType: ''
    returnType: void
    signature: "void TestClassRegistration(const std::string& category,\n                            const
      std::string& name,\n                            bool smoke_test,\n                            bool
      needs_serialization,\n                            const CodeLocation& registration_location)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - TestFn
    constantsTouched: []
    func_position:
      end: 750
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 750
    functionName: Botan_Tests::FnTest::make_variant_vector
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TestFnVariant>
    signature: std::vector<TestFnVariant> make_variant_vector(TestFn fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::FnTest::make_variant_vector
      Src: /src/botan/src/tests/tests.h:754,1
    - Dst: auto::emplace_back
      Src: /src/botan/src/tests/tests.h:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' fn'
    argTypes:
    - TestFn
    constantsTouched: []
    func_position:
      end: 757
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 757
    functionName: Botan_Tests::FnTest::make_variant_vector
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - auto::emplace_back
    - Botan_Tests::FnTest::make_variant_vector
    linkageType: ''
    returnType: std::vector<TestFnVariant>
    signature: std::vector<TestFnVariant> make_variant_vector(const TestFn& fn, const
      TestFns&... fns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::FnTest::make_variant_vector
      Src: /src/botan/src/tests/tests.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 761
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 761
    functionName: Botan_Tests::FnTest::FnTest
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::FnTest::make_variant_vector
    linkageType: ''
    returnType: void
    signature: void FnTest(TestFns... fns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/botan/src/tests/tests.h:766,1
    - Dst: crend
      Src: /src/botan/src/tests/tests.h:766,1
    - Dst: std::visit
      Src: /src/botan/src/tests/tests.h:767,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/tests.h:771,1
    - Dst: fn
      Src: /src/botan/src/tests/tests.h:771,1
    - Dst: fn
      Src: /src/botan/src/tests/tests.h:773,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/tests.h:774,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/tests.h:774,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/tests.h:774,1
    - Dst: auto::end
      Src: /src/botan/src/tests/tests.h:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 781
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 781
    functionName: Botan_Tests::FnTest::run
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::visit
    - crbegin
    - std::vector::insert
    - std::vector::emplace_back
    - fn
    - auto::end
    - crend
    - std::vector::end
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::register_test
      Src: /src/botan/src/tests/tests.h:796,1
    - Dst: std::make_unique<FnTest>
      Src: /src/botan/src/tests/tests.h:797,1
    - Dst: auto::initialize
      Src: /src/botan/src/tests/tests.h:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' category'
    - ' name'
    - smoke_test
    - needs_serialization
    - registration_location
    argTypes:
    - std::string
    - std::string
    - bool
    - bool
    - CodeLocation
    constantsTouched: []
    func_position:
      end: 801
      start: 790
    functionDepth: 3
    functionLinenumber: 790
    functionLinenumberEnd: 801
    functionName: Botan_Tests::TestFnRegistration::TestFnRegistration
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::register_test
    - auto::initialize
    - std::make_unique<FnTest>
    linkageType: ''
    returnType: void
    signature: "void TestFnRegistration(const std::string& category,\n                         const
      std::string& name,\n                         bool smoke_test,\n                         bool
      needs_serialization,\n                         CodeLocation registration_location,\n
      \                        TestFns... fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::VarMap::clear
      Src: /src/botan/src/tests/tests.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 823
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 823
    functionName: Botan_Tests::VarMap::clear
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::VarMap::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 825
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 825
    functionName: Botan_Tests::VarMap::add
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add(const std::string& key, const std::string& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/botan/src/tests/tests.h:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 827
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 827
    functionName: Botan_Tests::VarMap::has_key
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - count
    linkageType: ''
    returnType: bool
    signature: bool has_key(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 879
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 879
    functionName: Botan_Tests::Text_Based_Test::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Test::Result>
      Src: /src/botan/src/tests/tests.h:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: Botan_Tests::Text_Based_Test::run_final_tests
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - std::vector<Test::Result>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_fun
      Src: /src/botan/src/tests/tests.h:937,1
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:941,1
    - Dst: what
      Src: /src/botan/src/tests/tests.h:941,1
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - name
    - check_fun
    argTypes:
    - char*
    - FunT
    constantsTouched: []
    func_position:
      end: 947
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 947
    functionName: Botan_Tests::CHECK
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 10
    functionsReached:
    - check_fun
    - Botan_Tests::Test::Result::test_failure
    - what
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result CHECK(const char* name, FunT check_fun)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_mp.cpp:24,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/botan/src/tests/test_mp.cpp:24,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_mp.cpp:25,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_add
      Src: /src/botan/src/tests/test_mp.cpp:25,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_mp.cpp:26,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_sub
      Src: /src/botan/src/tests/test_mp.cpp:26,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_mp.cpp:27,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_abs
      Src: /src/botan/src/tests/test_mp.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: Botan_Tests::MP_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/test_mp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::MP_Unit_Tests::test_cnd_sub
    - Botan_Tests::MP_Unit_Tests::test_cnd_add
    - Botan_Tests::MP_Unit_Tests::test_cnd_abs
    - Botan_Tests::MP_Unit_Tests::test_cnd_swap
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:36,1
    - Dst: Botan::bigint_cnd_add<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:39,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:41,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:42,1
    - Dst: Botan::bigint_cnd_add<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:44,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:46,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: Botan_Tests::MP_Unit_Tests::test_cnd_add
    functionSourceFile: /src/botan/src/tests/test_mp.cpp
    functionUses: 1
    functionsReached:
    - Botan::bigint_cnd_add<Botan::word>
    - Result::test_int_eq
    - static_cast<Botan::word>
    linkageType: ''
    returnType: Result
    signature: Result test_cnd_add()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_cnd_sub<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:59,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:61,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:62,1
    - Dst: Botan::bigint_cnd_sub<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:64,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:66,1
    - Dst: static_cast<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:66,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: Botan_Tests::MP_Unit_Tests::test_cnd_sub
    functionSourceFile: /src/botan/src/tests/test_mp.cpp
    functionUses: 1
    functionsReached:
    - Botan::bigint_cnd_sub<Botan::word>
    - Result::test_int_eq
    - static_cast<Botan::word>
    linkageType: ''
    returnType: Result
    signature: Result test_cnd_sub()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_cnd_abs<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:78,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:79,1
    - Dst: Botan::bigint_cnd_abs<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:82,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:83,1
    - Dst: Botan::bigint_cnd_abs<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:86,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:87,1
    - Dst: Botan::bigint_cnd_abs<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:90,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:91,1
    - Dst: Botan::bigint_cnd_abs<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:95,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:96,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 100
    functionName: Botan_Tests::MP_Unit_Tests::test_cnd_abs
    functionSourceFile: /src/botan/src/tests/test_mp.cpp
    functionUses: 1
    functionsReached:
    - Botan::bigint_cnd_abs<Botan::word>
    - Result::test_int_eq
    linkageType: ''
    returnType: Result
    signature: Result test_cnd_abs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_cnd_swap<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:106,1
    - Dst: Botan::bigint_cnd_swap<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:107,1
    - Dst: Botan::bigint_cnd_swap<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:111,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:112,1
    - Dst: Botan::bigint_cnd_swap<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:113,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:114,1
    - Dst: Botan::bigint_cnd_swap<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:120,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:123,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:125,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:128,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 133
    functionName: Botan_Tests::MP_Unit_Tests::test_cnd_swap
    functionSourceFile: /src/botan/src/tests/test_mp.cpp
    functionUses: 1
    functionsReached:
    - Result::test_int_eq
    - Botan::bigint_cnd_swap<Botan::word>
    linkageType: ''
    returnType: Result
    signature: Result test_cnd_swap()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Record_Layer
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:33,1
    - Dst: auto::disable_sending_compat_mode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: Botan_Tests::record_layer_client
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Record_Layer
    - auto::disable_sending_compat_mode
    linkageType: ''
    returnType: TLS::Record_Layer
    signature: TLS::Record_Layer record_layer_client(const bool skip_client_hello
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Record_Layer
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:44,1
    - Dst: auto::disable_receiving_compat_mode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: Botan_Tests::record_layer_server
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - auto::disable_receiving_compat_mode
    - Botan::TLS::Record_Layer
    linkageType: ''
    returnType: TLS::Record_Layer
    signature: TLS::Record_Layer record_layer_server(const bool skip_client_hello
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan_Tests::Mocked_Secret_Logger::maybe_log_secret
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void maybe_log_secret(std::string_view, std::span<const uint8_t>) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:61,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:64,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:67,1
    - Dst: Botan::TLS::Cipher_State::init_with_server_hello
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:69,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: Botan_Tests::rfc8448_rtt1_handshake_traffic
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::hex_decode_locked
    - Botan::hex_decode
    - Botan::TLS::Ciphersuite::from_name
    - Botan::TLS::Cipher_State::init_with_server_hello
    linkageType: ''
    returnType: std::unique_ptr<TLS::Cipher_State>
    signature: "std::unique_ptr<TLS::Cipher_State> rfc8448_rtt1_handshake_traffic(\n
      \  Botan::TLS::Connection_Side side = Botan::TLS::Connection_Side::Client)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:73,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:84,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:86,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:88,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:90,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:91,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:92,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:92,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:94,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:95,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:96,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:96,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:98,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:98,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:98,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:101,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:103,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:105,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:107,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:109,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:110,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:110,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:111,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:113,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:114,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:114,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:116,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:117,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:117,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:118,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:120,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:121,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:121,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:123,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:123,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:123,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:126,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:128,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:129,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:131,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:132,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:132,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:134,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:135,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:136,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:137,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:137,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:138,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:141,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:141,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:141,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:144,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:145,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:147,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:148,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:150,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:151,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:151,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:153,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:154,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:155,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:156,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:156,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:157,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:160,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:161,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:161,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:163,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:164,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:165,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:165,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:167,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:167,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 169
    functionName: Botan_Tests::read_full_records
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - require
    - auto::begin
    - Botan::concat
    - auto::next_record
    - Botan_Tests::CHECK
    - auto::copy_data
    - std::holds_alternative<TLS::Record>
    - test_eq
    - std::holds_alternative<TLS::BytesNeeded>
    - Botan::hex_decode
    - Botan::secure_vector<uint8_t>
    - auto::end
    - std::get<TLS::Record>
    - confirm
    - Botan_Tests::record_layer_server
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> read_full_records()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:173,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:173,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:174,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:175,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:178,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:180,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:181,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:181,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:182,1
    - Dst: std::get<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:183,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:186,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:189,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:190,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:190,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:192,1
    - Dst: std::get<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:193,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:194,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:197,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:200,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:201,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:201,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:203,1
    - Dst: std::get<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:203,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:206,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:209,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:209,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:212,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:215,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:216,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:217,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:217,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:220,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:223,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:224,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:225,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:229,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:234,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:238,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:239,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:241,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:241,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:244,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:247,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:248,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:249,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:253,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:256,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:257,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:261,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:264,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:265,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:269,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:271,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:272,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:273,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:273,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:275,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:276,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:276,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:278,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:279,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:279,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:281,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:282,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:282,1
    - Dst: auto::disable_receiving_compat_mode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:284,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:286,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:287,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:287,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:289,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:290,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:290,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:293,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:296,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 74
    argCount: 1
    argNames:
    - side
    argTypes:
    - TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 302
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 302
    functionName: Botan_Tests::basic_sanitization_parse_records
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - require
    - std::vector::size
    - test_no_throw
    - parse_records
    - auto::next_record
    - auto::copy_data
    - Botan_Tests::CHECK
    - std::holds_alternative<TLS::BytesNeeded>
    - test_eq
    - auto::get
    - auto::disable_receiving_compat_mode
    - test_throws
    - std::get<TLS::BytesNeeded>
    - Botan_Tests::rfc8448_rtt1_handshake_traffic
    - std::vector::resize
    - confirm
    - Botan_Tests::record_layer_client
    - Botan_Tests::record_layer_server
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> basic_sanitization_parse_records(TLS::Connection_Side
      side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::basic_sanitization_parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: Botan_Tests::basic_sanitization_parse_records_client
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::basic_sanitization_parse_records
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> basic_sanitization_parse_records_client()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::basic_sanitization_parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: Botan_Tests::basic_sanitization_parse_records_server
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::basic_sanitization_parse_records
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> basic_sanitization_parse_records_server()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:313,1
    - Dst: copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:317,1
    - Dst: next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:318,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:319,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:319,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:320,1
    - Dst: std::get<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:320,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:324,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:328,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:329,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:330,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:331,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:332,1
    - Dst: TLS::Record_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:334,1
    - Dst: TLS::Record_Layer::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:335,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:336,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:336,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:338,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:339,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:340,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:340,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:342,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:342,1
    - Dst: TLS::Record_Layer::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:342,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:345,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:346,1
    - Dst: TLS::Record_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:348,1
    - Dst: TLS::Record_Layer::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:350,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:351,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:351,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:353,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:354,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:355,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:355,1
    - Dst: TLS::Record_Layer::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:355,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:357,1
    - Dst: TLS::Record_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:359,1
    - Dst: TLS::Record_Layer::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:360,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:361,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:361,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:363,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:364,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:366,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:366,1
    - Dst: TLS::Record_Layer::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 368
    functionName: Botan_Tests::read_fragmented_records
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - require
    - next_record
    - std::holds_alternative<TLS::BytesNeeded>
    - Botan_Tests::CHECK
    - TLS::Record_Layer::next_record
    - copy_data
    - test_eq
    - std::holds_alternative<TLS::Record>
    - wait_for_more_bytes
    - Botan::hex_decode
    - std::get<TLS::BytesNeeded>
    - TLS::Record_Layer::copy_data
    - std::get<TLS::Record>
    - confirm
    - Botan_Tests::record_layer_client
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> read_fragmented_records()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:371,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:373,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:376,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:376,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:378,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:379,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:381,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:383,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:395,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:397,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:398,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:398,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:400,1
    - Dst: auto::cbegin
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:400,1
    - Dst: auto::cbegin
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:400,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:401,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:401,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:403,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:407,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:408,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:408,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:410,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:410,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:412,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:414,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:415,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:416,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:419,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:421,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:423,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:424,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 427
    functionName: Botan_Tests::write_records
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - require
    - test_gte
    - std::vector::size
    - auto::cbegin
    - Botan_Tests::CHECK
    - std::vector<uint8_t>
    - auto::get
    - test_eq
    - Botan::hex_decode
    - test_throws
    - Botan_Tests::rfc8448_rtt1_handshake_traffic
    - auto::size
    - Botan_Tests::record_layer_client
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> write_records()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:432,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:441,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:477,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:509,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:510,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:515,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:517,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:518,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:520,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:520,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:521,1
    - Dst: std::holds_alternative<Botan::TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:521,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:522,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:524,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:525,1
    - Dst: auto::fragment::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:525,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:527,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:527,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:527,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:530,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:532,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:533,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:535,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:538,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:541,1
    - Dst: auto::back
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:544,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:546,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:547,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:548,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:549,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:549,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:553,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:555,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:557,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:558,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:559,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:560,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:560,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:564,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:567,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:569,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:571,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:572,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:573,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:573,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:577,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:579,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:581,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:582,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:583,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:584,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:584,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:588,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:590,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:591,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:595,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:596,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:597,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:598,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:598,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:601,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:605,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:606,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:607,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:607,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:610,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:614,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:615,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:616,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:616,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:619,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:623,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:624,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:625,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:625,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:629,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:631,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:632,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:633,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:634,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:634,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:638,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:640,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:647,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:648,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:649,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:651,1
    - Dst: auto::advance_with_server_finished
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:654,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:655,1
    - Dst: auto::advance_with_client_finished
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:656,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:657,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:659,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:660,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:660,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:661,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:661,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:662,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:663,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:663,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:665,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:665,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:666,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:666,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:667,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:668,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:668,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:670,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:670,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:671,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:671,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:672,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:673,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:673,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:675,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:675,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:675,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:678,1
    - Dst: auto::insert
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:683,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:683,1
    - Dst: auto::cbegin
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:683,1
    - Dst: auto::cend
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:683,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:685,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:686,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:688,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:689,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:689,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:690,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:690,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:692,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:693,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:693,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:694,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:694,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:695,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:695,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:698,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:700,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:701,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:703,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:704,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:704,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:705,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:705,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:708,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:709,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:710,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:710,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:712,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:713,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:713,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:714,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 716
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 716
    functionName: Botan_Tests::read_encrypted_records
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - std::holds_alternative<TLS::BytesNeeded>
    - test_eq
    - auto::end
    - Botan_Tests::rfc8448_rtt1_handshake_traffic
    - test_is_eq
    - auto::cbegin
    - Botan_Tests::CHECK
    - auto::advance_with_client_finished
    - confirm
    - auto::advance_with_server_finished
    - auto::back
    - std::vector::at
    - auto::cend
    - auto::next_record
    - std::holds_alternative<TLS::Record>
    - Botan::hex_decode
    - std::get<TLS::Record>
    - auto::fragment::size
    - std::holds_alternative<Botan::TLS::BytesNeeded>
    - require
    - test_no_throw
    - parse_records
    - auto::insert
    - auto::copy_data
    - auto::get
    - test_throws
    - Botan_Tests::record_layer_client
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> read_encrypted_records()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:719,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:723,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:725,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:728,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:728,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:729,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:733,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:736,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:739,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:740,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:741,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:741,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:743,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:743,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:746,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:748,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:748,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:749,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:750,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:750,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:753,1
    - Dst: get_byte
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:754,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:754,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:755,1
    - Dst: get_uint16_t
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:755,1
    - Dst: get_uint16_t
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:757,1
    - Dst: test_lte
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:758,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:759,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:759,1
    - Dst: read_record_header
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:764,1
    - Dst: TLS::TLS_Data_Reader::discard_next
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:765,1
    - Dst: read_record_header
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:767,1
    - Dst: TLS::TLS_Data_Reader::discard_next
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:768,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:770,1
    - Dst: TLS::TLS_Data_Reader::has_remaining
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 772
    functionName: Botan_Tests::write_encrypted_records
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - require
    - std::vector::size
    - test_lte
    - Botan_Tests::CHECK
    - auto::get
    - TLS::TLS_Data_Reader::discard_next
    - test_eq
    - get_byte
    - Botan::hex_decode
    - static_cast<uint8_t>
    - TLS::TLS_Data_Reader::has_remaining
    - read_record_header
    - Botan_Tests::rfc8448_rtt1_handshake_traffic
    - auto::size
    - confirm
    - get_uint16_t
    - Botan_Tests::record_layer_client
    - test_is_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> write_encrypted_records()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS::TLS_Data_Reader::has_remaining
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:784,1
    - Dst: TLS::TLS_Data_Reader::discard_next
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:785,1
    - Dst: TLS::TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:786,1
    - Dst: TLS::TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:789,1
    - Dst: TLS::TLS_Data_Reader::discard_next
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:790,1
    - Dst: TLS::TLS_Data_Reader::assert_done
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:793,1
    - Dst: copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:798,1
    - Dst: next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:799,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:802,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:804,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:805,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:805,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:806,1
    - Dst: has_version
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:806,1
    - Dst: auto::disable_sending_compat_mode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:808,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:810,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:810,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:811,1
    - Dst: has_version
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:811,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:814,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:816,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:817,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:818,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:819,1
    - Dst: has_version
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:819,1
    - Dst: auto::disable_sending_compat_mode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:821,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:823,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:824,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:825,1
    - Dst: has_version
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:825,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:828,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:830,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:831,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:831,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:832,1
    - Dst: has_version
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:832,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:835,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:837,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:838,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:839,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:840,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:840,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:841,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:841,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:844,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:846,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:847,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:848,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:849,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:849,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:850,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:850,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:853,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:855,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:856,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:857,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:857,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:860,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:862,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:863,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:864,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:864,1
    - Dst: auto::disable_receiving_compat_mode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:865,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:866,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:866,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:869,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:871,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:872,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:873,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:873,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:874,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:875,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:875,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:876,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:877,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:877,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:878,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:879,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 883
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 883
    functionName: Botan_Tests::legacy_version_handling
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - has_version
    - copy_data
    - parse_record
    - auto::disable_sending_compat_mode
    - Botan_Tests::CHECK
    - std::vector<uint8_t>
    - TLS::TLS_Data_Reader::assert_done
    - confirm
    - next_record
    - TLS::TLS_Data_Reader::discard_next
    - TLS::TLS_Data_Reader::get_uint16_t
    - Botan::hex_decode
    - Botan_Tests::record_layer_server
    - test_no_throw
    - auto::disable_receiving_compat_mode
    - TLS::TLS_Data_Reader::has_remaining
    - test_throws
    - auto::prepare_records
    - Botan_Tests::record_layer_client
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> legacy_version_handling()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::has_remaining
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:890,1
    - Dst: Botan::TLS::TLS_Data_Reader::discard_next
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:891,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:892,1
    - Dst: Botan::TLS::TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:892,1
    - Dst: Botan::TLS::TLS_Data_Reader::get_tls_length_value
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:893,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:900,1
    - Dst: std::holds_alternative<Botan::TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:900,1
    - Dst: std::get<Botan::TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:901,1
    - Dst: fragment::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:902,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:906,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:908,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:909,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:911,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:912,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:912,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:913,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:913,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:915,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:916,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:917,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:918,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:918,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:920,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:921,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:922,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:924,1
    - Dst: record_length
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:925,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:925,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:925,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:929,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:931,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:932,1
    - Dst: auto::set_record_size_limits
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:934,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:937,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:937,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:937,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:938,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:938,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:941,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:941,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:941,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:942,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:942,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:945,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:948,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:949,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:951,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:952,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:952,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:953,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:953,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:955,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:956,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:956,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:957,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:957,1
    - Dst: auto::set_record_size_limits
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:959,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:961,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:961,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:961,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:962,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:962,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:964,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:964,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:964,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:965,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:965,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:968,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:970,1
    - Dst: auto::set_record_size_limits
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:972,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:975,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:975,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:976,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:976,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:978,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:979,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:980,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:980,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:983,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:985,1
    - Dst: auto::set_record_size_limits
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:987,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:989,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:989,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:989,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:989,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:990,1
    - Dst: record_length
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:990,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:990,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:993,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:995,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:996,1
    - Dst: auto::set_record_size_limits
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:998,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:999,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1000,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1006,1
    - Dst: record_length
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1006,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1006,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1006,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1008,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1009,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1015,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1017,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 885
    functionDepth: 3
    functionLinenumber: 885
    functionLinenumberEnd: 1020
    functionName: Botan_Tests::record_size_limits
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - count_records
    - test_eq
    - Botan_Tests::rfc8448_rtt1_handshake_traffic
    - std::get<Botan::TLS::Record>
    - Botan::TLS::TLS_Data_Reader::has_remaining
    - BOTAN_ASSERT_NOMSG
    - fragment::size
    - Botan_Tests::CHECK
    - std::vector<uint8_t>
    - Botan::TLS::TLS_Data_Reader::get_tls_length_value
    - record_length
    - std::holds_alternative<Botan::TLS::Record>
    - auto::next_record
    - Botan::TLS::TLS_Data_Reader::discard_next
    - Botan::hex_decode
    - Botan_Tests::record_layer_server
    - require
    - auto::set_record_size_limits
    - Botan::concat
    - auto::copy_data
    - auto::get
    - test_throws
    - auto::prepare_records
    - Botan_Tests::record_layer_client
    - Botan::TLS::TLS_Data_Reader::get_uint16_t
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> record_size_limits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:26,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan_Tests::OCSP_Tests::load_test_X509_cert
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: Botan::X509_Certificate load_test_X509_cert(const std::string& path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/tests/test_ocsp.cpp:30,1
    - Dst: Botan_Tests::Test::read_binary_data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::read_binary_data_file
    - Test_No_Shutdown_Response::Test_No_Shutdown_Response
    linkageType: ''
    returnType: Botan::OCSP::Response
    signature: Botan::OCSP::Response load_test_OCSP_resp(const std::string& path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:43,1
    - Dst: Botan::OCSP::Response::status
      Src: /src/botan/src/tests/test_ocsp.cpp:43,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ocsp.cpp:44,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ocsp.cpp:46,1
    - Dst: what
      Src: /src/botan/src/tests/test_ocsp.cpp:46,1
    - Dst: Botan_Tests::Test::read_binary_data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:51,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:52,1
    - Dst: Botan::OCSP::Response::status
      Src: /src/botan/src/tests/test_ocsp.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: Botan_Tests::OCSP_Tests::test_response_parsing
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - what
    - Botan::OCSP::Response::status
    - Test::Result::confirm
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan_Tests::Test::read_binary_data_file
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::read_binary_data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:62,1
    - Dst: Botan::OCSP::Response::certificates
      Src: /src/botan/src/tests/test_ocsp.cpp:63,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:64,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:64,1
    - Dst: front
      Src: /src/botan/src/tests/test_ocsp.cpp:65,1
    - Dst: std::make_pair
      Src: /src/botan/src/tests/test_ocsp.cpp:67,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:69,1
    - Dst: Botan_Tests::Test::read_binary_data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:72,1
    - Dst: Botan::OCSP::Response::certificates
      Src: /src/botan/src/tests/test_ocsp.cpp:73,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:74,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:74,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ocsp.cpp:76,1
    - Dst: what
      Src: /src/botan/src/tests/test_ocsp.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: Botan_Tests::OCSP_Tests::test_response_certificate_access
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - what
    - Test::Result::test_eq
    - std::make_pair
    - Test::Result::test_failure
    - Botan::OCSP::Response::certificates
    - front
    - size
    - Botan_Tests::Test::read_binary_data_file
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_certificate_access()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:85,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:86,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ocsp.cpp:90,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ocsp.cpp:92,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:99,1
    - Dst: Botan::OCSP::Request::base64_encode
      Src: /src/botan/src/tests/test_ocsp.cpp:99,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/tests/test_ocsp.cpp:101,1
    - Dst: Botan::X509_Certificate::serial_number
      Src: /src/botan/src/tests/test_ocsp.cpp:101,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:102,1
    - Dst: Botan::OCSP::Request::base64_encode
      Src: /src/botan/src/tests/test_ocsp.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 105
    functionName: Botan_Tests::OCSP_Tests::test_request_encoding
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::OCSP::Request::base64_encode
    - Botan_Tests::Test::data_file
    - Test::Result::test_eq
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan::X509_Certificate::serial_number
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_request_encoding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:113,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:114,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:118,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:119,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:120,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:123,1
    - Dst: auto::certificates
      Src: /src/botan/src/tests/test_ocsp.cpp:123,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:124,1
    - Dst: auto::certificates
      Src: /src/botan/src/tests/test_ocsp.cpp:125,1
    - Dst: subject_info
      Src: /src/botan/src/tests/test_ocsp.cpp:125,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:127,1
    - Dst: auto::certificates
      Src: /src/botan/src/tests/test_ocsp.cpp:128,1
    - Dst: subject_info
      Src: /src/botan/src/tests/test_ocsp.cpp:128,1
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/tests/test_ocsp.cpp:133,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:138,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:139,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:141,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:142,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:142,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:145,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:146,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_ocsp.cpp:147,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:148,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:149,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:152,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:153,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_ocsp.cpp:154,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:156,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:157,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/tests/test_ocsp.cpp:159,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:160,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:161,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_ocsp.cpp:161,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_ocsp.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 165
    functionName: Botan_Tests::OCSP_Tests::test_response_find_signing_certificate
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - std::optional
    - Test_No_Shutdown_Response::Test_No_Shutdown_Response
    - subject_info
    - Test::Result::test_eq
    - auto::get
    - auto::certificates
    - Botan::X509_Certificate
    - std::make_unique<Botan::Certificate_Store_In_Memory>
    - Test::Result::test_is_eq
    - auto::find_signing_certificate
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_find_signing_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:170,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:171,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:172,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:176,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:178,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:179,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:183,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_ocsp.cpp:184,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:186,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ocsp.cpp:186,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:187,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:187,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:188,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ocsp.cpp:188,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_ocsp.cpp:188,1
    - Dst: contains
      Src: /src/botan/src/tests/test_ocsp.cpp:189,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:192,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:192,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:194,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:194,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:196,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:196,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:198,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 202
    functionName: Botan_Tests::OCSP_Tests::test_response_verification_with_next_update_without_max_age
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - contains
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::to_string
    - Test::Result::test_eq
    - Test::Result::confirm
    - std::string
    - Botan::PKIX::check_ocsp
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - check_ocsp
    - size
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - auto::size
    - Botan::calendar_point
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_verification_with_next_update_without_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:207,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:208,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:209,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:213,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:215,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:216,1
    - Dst: std::chrono::minutes
      Src: /src/botan/src/tests/test_ocsp.cpp:219,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:224,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:226,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ocsp.cpp:226,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:227,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:227,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:228,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ocsp.cpp:228,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_ocsp.cpp:228,1
    - Dst: contains
      Src: /src/botan/src/tests/test_ocsp.cpp:229,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:232,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:232,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:234,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:234,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:236,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:236,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:238,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: Botan_Tests::OCSP_Tests::test_response_verification_with_next_update_with_max_age
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - contains
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::to_string
    - Test::Result::test_eq
    - std::chrono::minutes
    - Test::Result::confirm
    - std::string
    - Botan::PKIX::check_ocsp
    - check_ocsp
    - size
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - auto::size
    - Botan::calendar_point
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_verification_with_next_update_with_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:247,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:248,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:249,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:253,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:255,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:256,1
    - Dst: std::chrono::minutes
      Src: /src/botan/src/tests/test_ocsp.cpp:259,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:264,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:266,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ocsp.cpp:266,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:267,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:267,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:268,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ocsp.cpp:268,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_ocsp.cpp:268,1
    - Dst: contains
      Src: /src/botan/src/tests/test_ocsp.cpp:269,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:272,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:272,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:274,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:274,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:276,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 280
    functionName: Botan_Tests::OCSP_Tests::test_response_verification_without_next_update_with_max_age
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - contains
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::to_string
    - Test::Result::test_eq
    - std::chrono::minutes
    - Test::Result::confirm
    - std::string
    - Botan::PKIX::check_ocsp
    - check_ocsp
    - size
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - auto::size
    - Botan::calendar_point
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_verification_without_next_update_with_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:285,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:286,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:287,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:291,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:293,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:294,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:298,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_ocsp.cpp:299,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:301,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ocsp.cpp:301,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:302,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:302,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:303,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ocsp.cpp:303,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_ocsp.cpp:303,1
    - Dst: contains
      Src: /src/botan/src/tests/test_ocsp.cpp:304,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:307,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:307,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:309,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:309,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:311,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 315
    functionName: Botan_Tests::OCSP_Tests::test_response_verification_without_next_update_without_max_age
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - contains
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::to_string
    - Test::Result::test_eq
    - Test::Result::confirm
    - std::string
    - Botan::PKIX::check_ocsp
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - check_ocsp
    - size
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - auto::size
    - Botan::calendar_point
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_verification_without_next_update_without_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:320,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:321,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:322,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:328,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:329,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:332,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:334,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_ocsp.cpp:334,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:336,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ocsp.cpp:336,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:337,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:337,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_ocsp.cpp:338,1
    - Dst: count
      Src: /src/botan/src/tests/test_ocsp.cpp:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 344
    functionName: Botan_Tests::OCSP_Tests::test_response_verification_softfail
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::test_eq
    - Test::Result::test_gt
    - Botan::PKIX::check_ocsp
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - count
    - size
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - auto::size
    - Botan::calendar_point
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_verification_softfail()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:350,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:351,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:355,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:356,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_ocsp.cpp:358,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/test_ocsp.cpp:359,1
    - Dst: Botan::PKIX::check_ocsp_online
      Src: /src/botan/src/tests/test_ocsp.cpp:360,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_ocsp.cpp:361,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:363,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ocsp.cpp:363,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:364,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:364,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 373
    functionName: Botan_Tests::OCSP_Tests::test_online_request
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::test_eq
    - auto::size
    - Test::Result::confirm
    - Botan::PKIX::check_ocsp_online
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan_CLI::Timer::milliseconds
    - size
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_online_request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:382,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:383,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:384,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:388,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:391,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:392,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:394,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:395,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:400,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:401,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:402,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_ocsp.cpp:403,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:405,1
    - Dst: auto::verify_signature
      Src: /src/botan/src/tests/test_ocsp.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 410
    functionName: Botan_Tests::OCSP_Tests::test_response_verification_with_additionally_trusted_responder
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::Certificate_Store_In_Memory::add_certificate
    - std::optional
    - auto::verify_signature
    - Test::Result::test_is_eq
    - auto::find_signing_certificate
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_verification_with_additionally_trusted_responder()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:415,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 424
    functionName: Botan_Tests::OCSP_Tests::test_responder_cert_with_nocheck_extension
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - Test::Result::confirm
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_responder_cert_with_nocheck_extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:430,1
    - Dst: Botan_Tests::OCSP_Tests::test_request_encoding
      Src: /src/botan/src/tests/test_ocsp.cpp:430,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:431,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_parsing
      Src: /src/botan/src/tests/test_ocsp.cpp:431,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:432,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_certificate_access
      Src: /src/botan/src/tests/test_ocsp.cpp:432,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:433,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:434,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_verification_with_next_update_without_max_age
      Src: /src/botan/src/tests/test_ocsp.cpp:434,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:435,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_verification_with_next_update_with_max_age
      Src: /src/botan/src/tests/test_ocsp.cpp:435,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:436,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_verification_without_next_update_with_max_age
      Src: /src/botan/src/tests/test_ocsp.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:437,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_verification_without_next_update_without_max_age
      Src: /src/botan/src/tests/test_ocsp.cpp:437,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:438,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_verification_softfail
      Src: /src/botan/src/tests/test_ocsp.cpp:438,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:439,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_verification_with_additionally_trusted_responder
      Src: /src/botan/src/tests/test_ocsp.cpp:439,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:440,1
    - Dst: Botan_Tests::OCSP_Tests::test_responder_cert_with_nocheck_extension
      Src: /src/botan/src/tests/test_ocsp.cpp:440,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_ocsp.cpp:443,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:444,1
    - Dst: Botan_Tests::OCSP_Tests::test_online_request
      Src: /src/botan/src/tests/test_ocsp.cpp:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 427
    functionDepth: 4
    functionLinenumber: 427
    functionLinenumberEnd: 449
    functionName: Botan_Tests::OCSP_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OCSP_Tests::test_response_verification_with_next_update_with_max_age
    - Botan_Tests::OCSP_Tests::test_responder_cert_with_nocheck_extension
    - Botan_Tests::OCSP_Tests::test_request_encoding
    - Botan_Tests::OCSP_Tests::test_response_verification_without_next_update_without_max_age
    - Botan_Tests::OCSP_Tests::test_response_certificate_access
    - Botan_Tests::OCSP_Tests::test_online_request
    - Botan_Tests::OCSP_Tests::test_response_find_signing_certificate
    - Botan_Tests::OCSP_Tests::test_response_parsing
    - Botan_Tests::OCSP_Tests::test_response_verification_softfail
    - Botan_Tests::OCSP_Tests::test_response_verification_with_additionally_trusted_responder
    - Botan_Tests::OCSP_Tests::test_response_verification_without_next_update_with_max_age
    - Botan_Tests::test_encoding_options
    - std::vector::push_back
    - Botan_Tests::OCSP_Tests::test_response_verification_with_next_update_without_max_age
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:51,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/tests/test_oid.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 54
    functionName: Botan_Tests::test_OID_to_string
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::to_string
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_OID_to_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:62,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_oid.cpp:62,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/test_oid.cpp:64,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:66,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_oid.cpp:66,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:68,1
    - Dst: Botan::OID::to_formatted_string
      Src: /src/botan/src/tests/test_oid.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: Botan_Tests::test_oid_registration
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::to_formatted_string
    - Botan::OID::register_oid
    - Test::Result::test_eq
    - Botan::OID::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_oid_registration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:81,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_oid.cpp:81,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/test_oid.cpp:83,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_oid.cpp:85,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_oid.cpp:85,1
    - Dst: cryptofuzz::module::nss_detail::toOID
      Src: /src/botan/src/tests/test_oid.cpp:85,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:86,1
    - Dst: Botan::OID::to_formatted_string
      Src: /src/botan/src/tests/test_oid.cpp:86,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/test_oid.cpp:89,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/test_oid.cpp:95,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_oid.cpp:98,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_oid.cpp:98,1
    - Dst: cryptofuzz::module::nss_detail::toOID
      Src: /src/botan/src/tests/test_oid.cpp:98,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:99,1
    - Dst: Botan::OID::to_formatted_string
      Src: /src/botan/src/tests/test_oid.cpp:99,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:101,1
    - Dst: Botan::OID::to_formatted_string
      Src: /src/botan/src/tests/test_oid.cpp:101,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/test_oid.cpp:104,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_oid.cpp:105,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_oid.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 111
    functionName: Botan_Tests::test_add_and_lookup
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::OID::to_formatted_string
    - cryptofuzz::module::nss_detail::toOID
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan::OID::register_oid
    - Botan::OID::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_add_and_lookup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_oid.cpp:124,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_oid.cpp:126,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_oid.cpp:128,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_oid.cpp:128,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_oid.cpp:128,1
    - Dst: what
      Src: /src/botan/src/tests/test_oid.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: Botan_Tests::OID_Tests::run
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::to_string
    - what
    - Botan_Tests::Test::Result::Failure
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Botan_Tests::OID_Encoding_Tests::OID_Encoding_Tests
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OID_Encoding_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_oid.cpp:143,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_oid.cpp:144,1
    - Dst: Botan::DER_Encoder::encode
      Src: /src/botan/src/tests/test_oid.cpp:153,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:154,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_oid.cpp:156,1
    - Dst: what
      Src: /src/botan/src/tests/test_oid.cpp:156,1
    - Dst: Botan::OID::OID
      Src: /src/botan/src/tests/test_oid.cpp:161,1
    - Dst: Botan::BER_Decoder::decode
      Src: /src/botan/src/tests/test_oid.cpp:162,1
    - Dst: Botan::BER_Decoder::verify_end
      Src: /src/botan/src/tests/test_oid.cpp:163,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:164,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/tests/test_oid.cpp:164,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_oid.cpp:166,1
    - Dst: what
      Src: /src/botan/src/tests/test_oid.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 170
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 170
    functionName: Botan_Tests::OID_Encoding_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached:
    - what
    - Botan::BER_Decoder::decode
    - Test::Result::test_eq
    - get_req_str
    - Botan::DER_Encoder::encode
    - Test::Result::test_failure
    - Botan::OID::OID
    - get_req_bin
    - Botan::OID::to_string
    - Botan::BER_Decoder::verify_end
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan_Tests::OID_Invalid_Encoding_Tests::OID_Invalid_Encoding_Tests
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OID_Invalid_Encoding_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_oid.cpp:180,1
    - Dst: Botan::OID::OID
      Src: /src/botan/src/tests/test_oid.cpp:186,1
    - Dst: Botan::BER_Decoder::decode
      Src: /src/botan/src/tests/test_oid.cpp:187,1
    - Dst: Botan::BER_Decoder::verify_end
      Src: /src/botan/src/tests/test_oid.cpp:188,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_oid.cpp:189,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/tests/test_oid.cpp:189,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_oid.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: Botan_Tests::OID_Invalid_Encoding_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::BER_Decoder::decode
    - Botan::OID::OID
    - Test::Result::test_failure
    - Test::Result::test_success
    - get_req_bin
    - Botan::OID::to_string
    - Botan::BER_Decoder::verify_end
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::ECDH_KAT_Tests::ECDH_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDH_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_Tests::ECDH_KAT_Tests::default_kdf
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_kdf(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdh.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group_id'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan_Tests::ECDH_KAT_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& group_id, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdh.cpp:31,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdh.cpp:32,1
    - Dst: std::make_unique<Botan::ECDH_PrivateKey>
      Src: /src/botan/src/tests/test_ecdh.cpp:33,1
    - Dst: Botan_Tests::ECDH_KAT_Tests::rng
      Src: /src/botan/src/tests/test_ecdh.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' group_id'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: Botan_Tests::ECDH_KAT_Tests::load_our_key
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ECDH_KAT_Tests::rng
    - get_req_bn
    - std::make_unique<Botan::ECDH_PrivateKey>
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_our_key(const std::string&
      group_id, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecdh.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan_Tests::ECDH_KAT_Tests::load_their_key
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> load_their_key(const std::string& /*header*/,
      const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: Botan_Tests::ECDH_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan_Tests::ECDH_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/tests/test_ecdh.cpp:53,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_ecdh.cpp:54,1
    - Dst: std::make_unique<Botan::ECDH_PublicKey>
      Src: /src/botan/src/tests/test_ecdh.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: Botan_Tests::ECDH_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ECDH_PublicKey>
    - Botan::EC_Group::EC_Group
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ecdh.cpp:64,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_ecdh.cpp:67,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdh.cpp:72,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecdh.cpp:75,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/tests/test_ecdh.cpp:76,1
    - Dst: ECDH_PrivateKey
      Src: /src/botan/src/tests/test_ecdh.cpp:77,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecdh.cpp:81,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/tests/test_ecdh.cpp:82,1
    - Dst: Botan::ECDH_PublicKey
      Src: /src/botan/src/tests/test_ecdh.cpp:83,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecdh.cpp:87,1
    - Dst: ECDH_PrivateKey
      Src: /src/botan/src/tests/test_ecdh.cpp:88,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecdh.cpp:88,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_ecdh.cpp:91,1
    - Dst: Botan::ECDH_PrivateKey::public_value
      Src: /src/botan/src/tests/test_ecdh.cpp:96,1
    - Dst: Botan::ECDH_PrivateKey::public_value
      Src: /src/botan/src/tests/test_ecdh.cpp:99,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_ecdh.cpp:102,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_ecdh.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecdh.cpp:107,1
    - Dst: auto::bits_of
      Src: /src/botan/src/tests/test_ecdh.cpp:107,1
    - Dst: auto::bits_of
      Src: /src/botan/src/tests/test_ecdh.cpp:107,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecdh.cpp:110,1
    - Dst: what
      Src: /src/botan/src/tests/test_ecdh.cpp:110,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_ecdh.cpp:113,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ecdh.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 119
    functionName: Botan_Tests::ECDH_AllGroups_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached:
    - auto::bits_of
    - std::vector::push_back
    - ECDH_PrivateKey
    - Botan::EC_Group::known_named_groups
    - what
    - Botan::PK_Key_Agreement::derive_key
    - Botan::ECDH_PublicKey
    - Botan::EC_Group::from_name
    - Test::Result::test_eq
    - Botan::EC_Scalar::one
    - Test::Result::test_throws
    - Botan::ECDH_PrivateKey::public_value
    - Test::Result::test_failure
    - rng
    - Test::Result::end_timer
    - Botan::EC_AffinePoint::identity
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/unit_ecdsa.cpp:36,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:38,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:40,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:41,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:43,1
    - Dst: Botan::X509_Certificate::serial_number
      Src: /src/botan/src/tests/unit_ecdsa.cpp:43,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:44,1
    - Dst: Botan::X509_Certificate::authority_key_id
      Src: /src/botan/src/tests/unit_ecdsa.cpp:44,1
    - Dst: Botan::X509_Certificate::subject_key_id
      Src: /src/botan/src/tests/unit_ecdsa.cpp:44,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:45,1
    - Dst: Botan::X509_Certificate::fingerprint
      Src: /src/botan/src/tests/unit_ecdsa.cpp:47,1
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/tests/unit_ecdsa.cpp:50,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:51,1
    - Dst: Botan::X509_Certificate::check_signature
      Src: /src/botan/src/tests/unit_ecdsa.cpp:51,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_ecdsa.cpp:53,1
    - Dst: what
      Src: /src/botan/src/tests/unit_ecdsa.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: Botan_Tests::test_decode_ecdsa_X509
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::authority_key_id
    - Botan_Tests::Test::data_file
    - Botan::X509_Certificate::signature_algorithm
    - what
    - Botan::X509_Certificate::subject_key_id
    - Test::Result::test_eq
    - Botan::X509_Certificate::subject_public_key
    - Botan::EC_Group::supports_application_specific_group
    - Test::Result::test_failure
    - Botan::X509_Certificate::fingerprint
    - Botan::X509_Certificate::serial_number
    - Botan::X509_Certificate::check_signature
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_decode_ecdsa_X509()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/unit_ecdsa.cpp:63,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:65,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:66,1
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/tests/unit_ecdsa.cpp:68,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:69,1
    - Dst: Botan::X509_Certificate::check_signature
      Src: /src/botan/src/tests/unit_ecdsa.cpp:69,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_ecdsa.cpp:71,1
    - Dst: what
      Src: /src/botan/src/tests/unit_ecdsa.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: Botan_Tests::test_decode_ver_link_SHA256
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    - what
    - Botan::X509_Certificate::subject_public_key
    - Test::Result::confirm
    - Botan::EC_Group::supports_application_specific_group
    - Test::Result::test_failure
    - Botan::X509_Certificate::check_signature
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_decode_ver_link_SHA256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/unit_ecdsa.cpp:81,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:83,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:84,1
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/tests/unit_ecdsa.cpp:86,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/unit_ecdsa.cpp:88,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:91,1
    - Dst: Botan::X509_Certificate::check_signature
      Src: /src/botan/src/tests/unit_ecdsa.cpp:92,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:95,1
    - Dst: Botan::X509_Certificate::check_signature
      Src: /src/botan/src/tests/unit_ecdsa.cpp:95,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_ecdsa.cpp:97,1
    - Dst: what
      Src: /src/botan/src/tests/unit_ecdsa.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: Botan_Tests::test_decode_ver_link_SHA1
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    - what
    - Botan::X509_Certificate::subject_public_key
    - Test::Result::confirm
    - Botan::EC_Group::supports_application_specific_group
    - Test::Result::test_failure
    - Botan::HashFunction::create
    - Botan::X509_Certificate::check_signature
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_decode_ver_link_SHA1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/unit_ecdsa.cpp:109,1
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/unit_ecdsa.cpp:111,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_ecdsa.cpp:112,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:115,1
    - Dst: Botan::ECDSA_PrivateKey::point_encoding
      Src: /src/botan/src/tests/unit_ecdsa.cpp:116,1
    - Dst: Botan::ECDSA_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/unit_ecdsa.cpp:118,1
    - Dst: Botan::ECDSA_PrivateKey::set_point_encoding
      Src: /src/botan/src/tests/unit_ecdsa.cpp:119,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:121,1
    - Dst: Botan::ECDSA_PrivateKey::point_encoding
      Src: /src/botan/src/tests/unit_ecdsa.cpp:121,1
    - Dst: Botan::ECDSA_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/unit_ecdsa.cpp:123,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/unit_ecdsa.cpp:124,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_ecdsa.cpp:124,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_ecdsa.cpp:124,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/unit_ecdsa.cpp:126,1
    - Dst: auto::get_p_bytes
      Src: /src/botan/src/tests/unit_ecdsa.cpp:126,1
    - Dst: Botan::ECDSA_PrivateKey::set_point_encoding
      Src: /src/botan/src/tests/unit_ecdsa.cpp:127,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:128,1
    - Dst: Botan::ECDSA_PrivateKey::point_encoding
      Src: /src/botan/src/tests/unit_ecdsa.cpp:128,1
    - Dst: Botan::ECDSA_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/unit_ecdsa.cpp:129,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:130,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_ecdsa.cpp:130,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_ecdsa.cpp:130,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_ecdsa.cpp:133,1
    - Dst: what
      Src: /src/botan/src/tests/unit_ecdsa.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 137
    functionName: Botan_Tests::test_encoding_options
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_lt
    - Botan::ECDSA_PrivateKey::point_encoding
    - std::vector::size
    - Botan::EC_Group::known_named_groups
    - what
    - Test::Result::test_eq
    - Test::Result::confirm
    - auto::get_p_bytes
    - Test::Result::test_failure
    - Botan_Tests::Test::new_rng
    - Botan::ECDSA_PrivateKey::set_point_encoding
    - Botan::ECDSA_PrivateKey::public_key_bits
    - Test::Result::test_gte
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_encoding_options()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_ecdsa.cpp:145,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:146,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/unit_ecdsa.cpp:147,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:149,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:150,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/unit_ecdsa.cpp:150,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:151,1
    - Dst: dynamic_cast<Botan::ECDSA_PrivateKey*>
      Src: /src/botan/src/tests/unit_ecdsa.cpp:151,1
    - Dst: auto::get
      Src: /src/botan/src/tests/unit_ecdsa.cpp:151,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_ecdsa.cpp:154,1
    - Dst: what
      Src: /src/botan/src/tests/unit_ecdsa.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: Botan_Tests::test_ecc_key_with_rfc5915_extensions
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - auto::algo_name
    - dynamic_cast<Botan::ECDSA_PrivateKey*>
    - Botan_Tests::Test::data_file
    - what
    - Test::Result::test_eq
    - auto::get
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan::PKCS8::load_key
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecc_key_with_rfc5915_extensions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_ecdsa.cpp:164,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:165,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/unit_ecdsa.cpp:166,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:168,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:169,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/unit_ecdsa.cpp:169,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:170,1
    - Dst: dynamic_cast<Botan::ECDSA_PrivateKey*>
      Src: /src/botan/src/tests/unit_ecdsa.cpp:170,1
    - Dst: auto::get
      Src: /src/botan/src/tests/unit_ecdsa.cpp:170,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_ecdsa.cpp:173,1
    - Dst: what
      Src: /src/botan/src/tests/unit_ecdsa.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 177
    functionName: Botan_Tests::test_ecc_key_with_rfc5915_parameters
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - auto::algo_name
    - dynamic_cast<Botan::ECDSA_PrivateKey*>
    - Botan_Tests::Test::data_file
    - what
    - Test::Result::test_eq
    - auto::get
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan::PKCS8::load_key
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecc_key_with_rfc5915_parameters()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_ecdsa.cpp:187,1
    - Dst: test_ecc_key_with_rfc5915_extensions
      Src: /src/botan/src/tests/unit_ecdsa.cpp:187,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_ecdsa.cpp:188,1
    - Dst: test_ecc_key_with_rfc5915_parameters
      Src: /src/botan/src/tests/unit_ecdsa.cpp:188,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_ecdsa.cpp:191,1
    - Dst: test_decode_ecdsa_X509
      Src: /src/botan/src/tests/unit_ecdsa.cpp:191,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_ecdsa.cpp:192,1
    - Dst: test_decode_ver_link_SHA256
      Src: /src/botan/src/tests/unit_ecdsa.cpp:192,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_ecdsa.cpp:193,1
    - Dst: test_decode_ver_link_SHA1
      Src: /src/botan/src/tests/unit_ecdsa.cpp:193,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_ecdsa.cpp:198,1
    - Dst: test_encoding_options
      Src: /src/botan/src/tests/unit_ecdsa.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: Botan_Tests::ECDSA_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - test_ecc_key_with_rfc5915_parameters
    - test_ecc_key_with_rfc5915_extensions
    - test_decode_ver_link_SHA256
    - test_decode_ecdsa_X509
    - test_decode_ver_link_SHA1
    - std::vector::push_back
    - test_encoding_options
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_Tests::Cipher_Mode_Padding_Tests::Cipher_Mode_Padding_Tests
    functionSourceFile: /src/botan/src/tests/test_pad.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Padding_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pad.cpp:22,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_pad.cpp:23,1
    - Dst: std::string::find
      Src: /src/botan/src/tests/test_pad.cpp:28,1
    - Dst: std::string::substr
      Src: /src/botan/src/tests/test_pad.cpp:30,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pad.cpp:31,1
    - Dst: std::string::substr
      Src: /src/botan/src/tests/test_pad.cpp:33,1
    - Dst: Botan::BlockCipherModePaddingMethod::create
      Src: /src/botan/src/tests/test_pad.cpp:38,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pad.cpp:41,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_pad.cpp:45,1
    - Dst: auto::unpad
      Src: /src/botan/src/tests/test_pad.cpp:47,1
    - Dst: last
      Src: /src/botan/src/tests/test_pad.cpp:47,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pad.cpp:48,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_pad.cpp:48,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pad.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_pad.cpp:54,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_pad.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pad.cpp:56,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pad.cpp:56,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/tests/test_pad.cpp:59,1
    - Dst: auto::add_padding
      Src: /src/botan/src/tests/test_pad.cpp:60,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pad.cpp:60,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pad.cpp:61,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_pad.cpp:63,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_pad.cpp:63,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_pad.cpp:63,1
    - Dst: auto::unpad
      Src: /src/botan/src/tests/test_pad.cpp:68,1
    - Dst: last
      Src: /src/botan/src/tests/test_pad.cpp:68,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pad.cpp:69,1
    - Dst: auto::unpad
      Src: /src/botan/src/tests/test_pad.cpp:72,1
    - Dst: last
      Src: /src/botan/src/tests/test_pad.cpp:72,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/tests/test_pad.cpp:76,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_pad.cpp:76,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pad.cpp:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 81
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 81
    functionName: Botan_Tests::Cipher_Mode_Padding_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::secure_vector::size
    - Test_Error
    - Test::Result::test_eq
    - Test::Result::test_failure
    - Test::Result::test_success
    - std::vector::begin
    - std::string::substr
    - std::vector::size
    - std::string::find
    - get_req_bin
    - last
    - Botan::hex_encode
    - std::vector::end
    - std::vector::empty
    - get_opt_bin
    - Botan::secure_vector::assign
    - auto::unpad
    - Botan::BlockCipherModePaddingMethod::create
    - Botan::secure_vector::resize
    - auto::add_padding
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/test_x509_path.cpp:44,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_x509_path.cpp:45,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/test_x509_path.cpp:50,1
    - Dst: std::getline
      Src: /src/botan/src/tests/test_x509_path.cpp:51,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_x509_path.cpp:52,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/test_x509_path.cpp:59,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_x509_path.cpp:61,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_x509_path.cpp:62,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ' results_file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: Botan_Tests::read_results
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - std::getline
    - std::vector::size
    - Botan::split_on
    - Test_Error
    - std::ifstream::good
    - std::string::empty
    linkageType: ''
    returnType: std::map<std::string, std::string>
    signature: std::map<std::string, std::string> read_results(const std::string&
      results_file, const char delim = ':')
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_x509_path.cpp:75,1
    - Dst: begin
      Src: /src/botan/src/tests/test_x509_path.cpp:75,1
    - Dst: end
      Src: /src/botan/src/tests/test_x509_path.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' codes'
    argTypes:
    - Botan::CertificatePathStatusCodes
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: Botan_Tests::flatten
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - std::set::insert
    linkageType: ''
    returnType: std::set<Botan::Certificate_Status_Code>
    signature: std::set<Botan::Certificate_Status_Code> flatten(const Botan::CertificatePathStatusCodes&
      codes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:91,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:92,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:93,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:95,1
    - Dst: read_results
      Src: /src/botan/src/tests/test_x509_path.cpp:97,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:97,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:99,1
    - Dst: Botan_Tests::X509test_Path_Validation_Tests::load_cert_file
      Src: /src/botan/src/tests/test_x509_path.cpp:101,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:101,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_x509_path.cpp:103,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_x509_path.cpp:104,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:107,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:110,1
    - Dst: Botan::Path_Validation_Result::trust_root
      Src: /src/botan/src/tests/test_x509_path.cpp:110,1
    - Dst: Botan::Path_Validation_Result::Path_Validation_Result
      Src: /src/botan/src/tests/test_x509_path.cpp:111,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:114,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:114,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:115,1
    - Dst: Botan::Path_Validation_Result::warnings_string
      Src: /src/botan/src/tests/test_x509_path.cpp:115,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:116,1
    - Dst: Botan::Path_Validation_Result::no_warnings
      Src: /src/botan/src/tests/test_x509_path.cpp:116,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:117,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:118,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:124,1
    - Dst: Botan_Tests::X509test_Path_Validation_Tests::load_cert_file
      Src: /src/botan/src/tests/test_x509_path.cpp:128,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:128,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_x509_path.cpp:129,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_x509_path.cpp:130,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:134,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:140,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:143,1
    - Dst: Botan::Path_Validation_Result::trust_root
      Src: /src/botan/src/tests/test_x509_path.cpp:143,1
    - Dst: Botan::Path_Validation_Result::Path_Validation_Result
      Src: /src/botan/src/tests/test_x509_path.cpp:144,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:148,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:148,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:149,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:149,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:152,1
    - Dst: Botan::Path_Validation_Result::no_warnings
      Src: /src/botan/src/tests/test_x509_path.cpp:152,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:153,1
    - Dst: Botan::Path_Validation_Result::warnings_string
      Src: /src/botan/src/tests/test_x509_path.cpp:153,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:155,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 160
    functionName: Botan_Tests::X509test_Path_Validation_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::Path_Validation_Result::Path_Validation_Result
    - Test_Error
    - Botan::x509_path_validate
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Test::Result::end_timer
    - Botan_Tests::Test::data_file
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::Path_Validation_Result::warnings_string
    - Botan::Path_Validation_Result::result_string
    - Botan::Path_Validation_Result::no_warnings
    - read_results
    - Botan_Tests::X509test_Path_Validation_Tests::load_cert_file
    - Botan_CLI::Timer::milliseconds
    - std::vector::push_back
    - std::vector::empty
    - Botan::Path_Validation_Result::successful_validation
    - Botan::calendar_point
    - Botan::Path_Validation_Result::trust_root
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DataSource_Stream::end_of_data
      Src: /src/botan/src/tests/test_x509_path.cpp:167,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_x509_path.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: Botan_Tests::X509test_Path_Validation_Tests::load_cert_file
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - Botan::DataSource_Stream::end_of_data
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: std::vector<Botan::X509_Certificate> load_cert_file(const std::string&
      filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:185,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:186,1
    - Dst: read_results
      Src: /src/botan/src/tests/test_x509_path.cpp:203,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:203,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:205,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:206,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:208,1
    - Dst: std::map::begin
      Src: /src/botan/src/tests/test_x509_path.cpp:210,1
    - Dst: std::map::end
      Src: /src/botan/src/tests/test_x509_path.cpp:210,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:212,1
    - Dst: Botan_Tests::Test::files_in_data_dir
      Src: /src/botan/src/tests/test_x509_path.cpp:219,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:221,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:223,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/test_x509_path.cpp:224,1
    - Dst: ends_with
      Src: /src/botan/src/tests/test_x509_path.cpp:227,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:228,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:228,1
    - Dst: ends_with
      Src: /src/botan/src/tests/test_x509_path.cpp:229,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/test_x509_path.cpp:232,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:236,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:241,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:244,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:244,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_x509_path.cpp:246,1
    - Dst: what
      Src: /src/botan/src/tests/test_x509_path.cpp:246,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:249,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 254
    functionName: Botan_Tests::NIST_Path_Validation_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Note
    - Botan::Certificate_Store_In_Memory::add_certificate
    - what
    - Botan::Certificate_Store_In_Memory::add_crl
    - Botan::x509_path_validate
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Test::Result::end_timer
    - Botan_Tests::Test::data_file
    - Test::Result::test_eq
    - Botan::has_filesystem_impl
    - Test::Result::test_failure
    - Botan_Tests::Test::files_in_data_dir
    - Botan::Path_Validation_Result::result_string
    - ends_with
    - read_results
    - std::map::end
    - Botan::X509_Certificate
    - std::vector::push_back
    - Botan::calendar_point
    - Test::Result::start_timer
    - std::map::begin
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> NIST_Path_Validation_Tests::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:264,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:265,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:270,1
    - Dst: read_results
      Src: /src/botan/src/tests/test_x509_path.cpp:272,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:272,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:274,1
    - Dst: Botan_Tests::Test::files_in_data_dir
      Src: /src/botan/src/tests/test_x509_path.cpp:276,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:278,1
    - Dst: ends_with
      Src: /src/botan/src/tests/test_x509_path.cpp:281,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:282,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:282,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:286,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:288,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:290,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:292,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:292,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:294,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 299
    functionName: Botan_Tests::Extended_Path_Validation_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - read_results
    - Botan::x509_path_validate
    - std::vector::push_back
    - Botan_Tests::Test::Result::Note
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::test_eq
    - Botan::X509_Certificate
    - Botan::has_filesystem_impl
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan_Tests::Test::files_in_data_dir
    - Botan::calendar_point
    - Botan::Path_Validation_Result::result_string
    - Test::Result::end_timer
    - Test::Result::start_timer
    - ends_with
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Extended_Path_Validation_Tests::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:309,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:310,1
    - Dst: read_results
      Src: /src/botan/src/tests/test_x509_path.cpp:315,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:315,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_x509_path.cpp:317,1
    - Dst: read_results
      Src: /src/botan/src/tests/test_x509_path.cpp:319,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:319,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:321,1
    - Dst: Botan_Tests::Test::files_in_data_dir
      Src: /src/botan/src/tests/test_x509_path.cpp:323,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:328,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/tests/test_x509_path.cpp:331,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:333,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:336,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:337,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:338,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:339,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:340,1
    - Dst: ends_with
      Src: /src/botan/src/tests/test_x509_path.cpp:341,1
    - Dst: Botan::X509_CRL::X509_CRL
      Src: /src/botan/src/tests/test_x509_path.cpp:342,1
    - Dst: ends_with
      Src: /src/botan/src/tests/test_x509_path.cpp:343,1
    - Dst: Botan::PKCS10_Request::PKCS10_Request
      Src: /src/botan/src/tests/test_x509_path.cpp:344,1
    - Dst: Botan::PKIX::check_crl
      Src: /src/botan/src/tests/test_x509_path.cpp:352,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:357,1
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/tests/test_x509_path.cpp:358,1
    - Dst: Botan::PKIX::overall_status
      Src: /src/botan/src/tests/test_x509_path.cpp:358,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:366,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:368,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:368,1
    - Dst: std::optional::subject_public_key
      Src: /src/botan/src/tests/test_x509_path.cpp:371,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:372,1
    - Dst: std::optional::check_signature
      Src: /src/botan/src/tests/test_x509_path.cpp:372,1
    - Dst: std::stoi
      Src: /src/botan/src/tests/test_x509_path.cpp:372,1
    - Dst: std::optional::subject_public_key
      Src: /src/botan/src/tests/test_x509_path.cpp:375,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:376,1
    - Dst: std::optional::check_signature
      Src: /src/botan/src/tests/test_x509_path.cpp:376,1
    - Dst: std::stoi
      Src: /src/botan/src/tests/test_x509_path.cpp:376,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:379,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:380,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 384
    functionName: Botan_Tests::PSS_Path_Validation_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - std::stoi
    - Botan_Tests::Test::Result::Note
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::x509_path_validate
    - Test::Result::end_timer
    - Botan::to_u32bit
    - Botan_Tests::Test::data_file
    - Test::Result::test_eq
    - Botan::has_filesystem_impl
    - Botan_Tests::Test::files_in_data_dir
    - Botan::Path_Validation_Result::result_string
    - Botan::PKIX::check_crl
    - auto::begin
    - read_results
    - ends_with
    - Botan::Path_Validation_Result::status_string
    - std::optional::subject_public_key
    - Botan::X509_Certificate
    - std::optional::check_signature
    - Botan::PKCS10_Request::PKCS10_Request
    - Botan::X509_CRL::X509_CRL
    - find
    - std::vector::push_back
    - Botan::calendar_point
    - Test::Result::start_timer
    - Botan::PKIX::overall_status
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> PSS_Path_Validation_Tests::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:394,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:395,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:400,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:401,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:402,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:404,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:410,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:411,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:415,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:417,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:420,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:420,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:422,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:427,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:429,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 432
    functionName: Botan_Tests::Validate_V1Cert_Test::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Test::Result::Note
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::test_eq
    - Botan::has_filesystem_impl
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::calendar_point
    - Botan::Path_Validation_Result::result_string
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Validate_V1Cert_Test::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:442,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:443,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:448,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:449,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:450,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:452,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:458,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:459,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:463,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:465,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:468,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:468,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:469,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 473
    functionName: Botan_Tests::Validate_V2Uid_in_V1_Test::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Test::Result::Note
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::test_eq
    - Botan::has_filesystem_impl
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Path_Validation_Result::successful_validation
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::calendar_point
    - Botan::Path_Validation_Result::result_string
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Validate_V2Uid_in_V1_Test::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:483,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:484,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:489,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:490,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:491,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:493,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:499,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:500,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:504,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:506,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:509,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:509,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:510,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 514
    functionName: Botan_Tests::Validate_Name_Constraint_SAN_Test::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Test::Result::Note
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::test_eq
    - Botan::has_filesystem_impl
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Path_Validation_Result::successful_validation
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::calendar_point
    - Botan::Path_Validation_Result::result_string
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Validate_Name_Constraint_SAN_Test::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:524,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:525,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:530,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:531,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:532,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:534,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:540,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:541,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:545,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:547,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:550,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 553
    functionName: Botan_Tests::Validate_Name_Constraint_CaseInsensitive::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Test::Result::Note
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::test_eq
    - Botan::has_filesystem_impl
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Path_Validation_Result::successful_validation
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::calendar_point
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Validate_Name_Constraint_CaseInsensitive::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:563,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:564,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:569,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:570,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:571,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:573,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:579,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:580,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:584,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:586,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:589,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 592
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 592
    functionName: Botan_Tests::Validate_Name_Constraint_NoCheckSelf::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Test::Result::Note
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::test_eq
    - Botan::has_filesystem_impl
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Path_Validation_Result::successful_validation
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::calendar_point
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Validate_Name_Constraint_NoCheckSelf::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:599,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:600,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:603,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:604,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:609,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:610,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/tests/test_x509_path.cpp:626,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/tests/test_x509_path.cpp:627,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:631,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:636,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_x509_path.cpp:637,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:640,1
    - Dst: Botan::Path_Validation_Result::result
      Src: /src/botan/src/tests/test_x509_path.cpp:640,1
    - Dst: Botan::Path_Validation_Result::warnings
      Src: /src/botan/src/tests/test_x509_path.cpp:641,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_x509_path.cpp:642,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_path.cpp:642,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:643,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_x509_path.cpp:643,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:645,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_x509_path.cpp:646,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_x509_path.cpp:646,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:648,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_x509_path.cpp:648,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:655,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:657,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:659,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:661,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:663,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:669,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:671,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:676,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:681,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 693
    functionName: Botan_Tests::Root_Cert_Time_Check_Test::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan::fmt
    - Botan::Path_Validation_Result::warnings
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Test::Result::Note
    - Botan_Tests::Test::data_file
    - Botan::Path_Validation_Result::result
    - auto::at
    - assert_path_validation_result
    - std::make_unique<Botan::Certificate_Store_In_Memory>
    - Test::Result::confirm
    - Botan::has_filesystem_impl
    - Test::Result::test_is_eq
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - auto::size
    - Botan::calendar_point
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:706,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:707,1
    - Dst: read_results
      Src: /src/botan/src/tests/test_x509_path.cpp:712,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:712,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:714,1
    - Dst: Botan_Tests::Test::files_in_data_dir
      Src: /src/botan/src/tests/test_x509_path.cpp:716,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:718,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:727,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:732,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:739,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:740,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:740,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:743,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/test_x509_path.cpp:744,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_x509_path.cpp:744,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:744,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:747,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:748,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:748,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:749,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/test_x509_path.cpp:750,1
    - Dst: Botan::X509_CRL::X509_CRL
      Src: /src/botan/src/tests/test_x509_path.cpp:750,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/tests/test_x509_path.cpp:770,1
    - Dst: randomize
      Src: /src/botan/src/tests/test_x509_path.cpp:774,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/tests/test_x509_path.cpp:774,1
    - Dst: Botan_Tests::BSI_Path_Validation_Tests::rng
      Src: /src/botan/src/tests/test_x509_path.cpp:782,1
    - Dst: std::shuffle
      Src: /src/botan/src/tests/test_x509_path.cpp:785,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_x509_path.cpp:785,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_x509_path.cpp:785,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:787,1
    - Dst: starts_with
      Src: /src/botan/src/tests/test_x509_path.cpp:791,1
    - Dst: substr
      Src: /src/botan/src/tests/test_x509_path.cpp:792,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:792,1
    - Dst: Botan::Path_Validation_Result::warnings
      Src: /src/botan/src/tests/test_x509_path.cpp:794,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:798,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_x509_path.cpp:804,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:808,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:809,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:812,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:813,1
    - Dst: error_type
      Src: /src/botan/src/tests/test_x509_path.cpp:823,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:824,1
    - Dst: what
      Src: /src/botan/src/tests/test_x509_path.cpp:824,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_x509_path.cpp:826,1
    - Dst: what
      Src: /src/botan/src/tests/test_x509_path.cpp:826,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:830,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:831,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 835
      start: 705
    functionDepth: 3
    functionLinenumber: 705
    functionLinenumberEnd: 835
    functionName: Botan_Tests::BSI_Path_Validation_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Note
    - Botan::Certificate_Store_In_Memory::add_certificate
    - what
    - Botan_Tests::BSI_Path_Validation_Tests::rng
    - starts_with
    - Botan::Certificate_Store_In_Memory::add_crl
    - std::shuffle
    - std::string
    - substr
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::x509_path_validate
    - Test::Result::end_timer
    - Botan::Path_Validation_Result::warnings
    - Botan_Tests::Test::data_file
    - randomize
    - Test::Result::test_eq
    - Botan::has_filesystem_impl
    - Test::Result::test_failure
    - error_type
    - Botan_Tests::Test::files_in_data_dir
    - Botan::Path_Validation_Result::result_string
    - std::vector::begin
    - reinterpret_cast<uint8_t*>
    - read_results
    - std::vector::insert
    - Botan::X509_Certificate
    - Botan::X509_CRL::X509_CRL
    - cryptofuzz::mutator::ExpModGenerator::max
    - find
    - std::vector::push_back
    - std::vector::end
    - Botan::calendar_point
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> BSI_Path_Validation_Tests::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:842,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 843
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 843
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: Botan::X509_Certificate load_test_X509_cert(const std::string& path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/tests/test_x509_path.cpp:846,1
    - Dst: Botan_Tests::Test::read_binary_data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 847
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 847
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::read_binary_data_file
    - Test_No_Shutdown_Response::Test_No_Shutdown_Response
    linkageType: ''
    returnType: std::optional<Botan::OCSP::Response>
    signature: std::optional<Botan::OCSP::Response> load_test_OCSP_resp(const std::string&
      path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:851,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:853,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:855,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:856,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:857,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:858,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:862,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:866,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:872,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:875,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:875,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:875,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:876,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:876,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:877,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:880,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:880,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:882,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:882,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:884,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:884,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:886,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 890
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_next_update_without_max_age
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - Botan::to_string
    - Test::Result::confirm
    - std::string
    - check_path
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan_CLI::Timer::milliseconds
    - auto::result
    - Botan::calendar_point
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_with_next_update_without_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:894,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:896,1
    - Dst: std::chrono::minutes
      Src: /src/botan/src/tests/test_x509_path.cpp:896,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:898,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:899,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:900,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:901,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:905,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:909,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:915,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:918,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:918,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:918,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:919,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:919,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:920,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:923,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:923,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:925,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:925,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:927,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:927,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:929,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 933
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 933
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_next_update_with_max_age
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - Botan::to_string
    - std::chrono::minutes
    - Test::Result::confirm
    - std::string
    - check_path
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan_CLI::Timer::milliseconds
    - auto::result
    - Botan::calendar_point
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_with_next_update_with_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:937,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:939,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:941,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:942,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:943,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:945,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:949,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:953,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:959,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:962,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:962,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:962,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:963,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:963,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:964,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:967,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:967,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:969,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:969,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:971,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 974
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 974
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_without_next_update_without_max_age
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - Botan::to_string
    - Test::Result::confirm
    - std::string
    - check_path
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan_CLI::Timer::milliseconds
    - auto::result
    - Botan::calendar_point
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_without_next_update_without_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:978,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:980,1
    - Dst: std::chrono::minutes
      Src: /src/botan/src/tests/test_x509_path.cpp:980,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:982,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:983,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:984,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:986,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:990,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:994,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1000,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1003,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:1003,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1003,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1004,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1004,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1005,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1008,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1008,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1010,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1010,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1012,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 976
    functionDepth: 2
    functionLinenumber: 976
    functionLinenumberEnd: 1016
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_without_next_update_with_max_age
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - Botan::to_string
    - std::chrono::minutes
    - Test::Result::confirm
    - std::string
    - check_path
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan_CLI::Timer::milliseconds
    - auto::result
    - Botan::calendar_point
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_without_next_update_with_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1020,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:1022,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1026,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1027,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1028,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1034,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1035,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1037,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1042,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1048,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1051,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:1051,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1051,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1052,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1052,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1053,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1056,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1056,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1058,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1058,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1060,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1018
    functionDepth: 2
    functionLinenumber: 1018
    functionLinenumberEnd: 1064
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_authorized_responder
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - Botan::to_string
    - Test::Result::confirm
    - std::string
    - check_path
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan_CLI::Timer::milliseconds
    - auto::result
    - Botan::calendar_point
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_with_authorized_responder()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1069,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:1071,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1076,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1077,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1078,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1080,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1082,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1084,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1091,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1097,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:1100,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_x509_path.cpp:1101,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1101,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_x509_path.cpp:1102,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1104,1
    - Dst: flatten
      Src: /src/botan/src/tests/test_x509_path.cpp:1105,1
    - Dst: auto::all_statuses
      Src: /src/botan/src/tests/test_x509_path.cpp:1105,1
    - Dst: value
      Src: /src/botan/src/tests/test_x509_path.cpp:1105,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1109,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1109,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1112,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1112,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1116,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1066
    functionDepth: 4
    functionLinenumber: 1066
    functionLinenumberEnd: 1122
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_authorized_responder_without_keyusage
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - flatten
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - Test::Result::confirm
    - check_path
    - Test::Result::test_is_eq
    - auto::all_statuses
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan_CLI::Timer::milliseconds
    - auto::result
    - Botan::calendar_point
    - value
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_with_authorized_responder_without_keyusage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1126,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:1128,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1132,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1133,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1134,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1135,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1142,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1144,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1149,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1150,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:1153,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1154,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1155,1
    - Dst: flatten
      Src: /src/botan/src/tests/test_x509_path.cpp:1156,1
    - Dst: auto::all_statuses
      Src: /src/botan/src/tests/test_x509_path.cpp:1156,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1157,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:1157,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1157,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1157,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1163,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1124
    functionDepth: 4
    functionLinenumber: 1124
    functionLinenumberEnd: 1171
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_forged_ocsp_using_self_signed_cert
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - flatten
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::test_note
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - Botan::to_string
    - Test::Result::confirm
    - std::string
    - Test::Result::test_is_eq
    - auto::all_statuses
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - check_path
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan_CLI::Timer::milliseconds
    - auto::result
    - Botan::calendar_point
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_forged_ocsp_using_self_signed_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1176,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:1178,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1183,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1184,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1185,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1188,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1191,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1193,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1197,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1202,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1203,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1205,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1206,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1207,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:1207,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1207,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1173
    functionDepth: 2
    functionLinenumber: 1173
    functionLinenumberEnd: 1210
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_self_signed_by_intermediate_cert
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::test_note
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - Botan::to_string
    - Test::Result::confirm
    - std::string
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan_CLI::Timer::milliseconds
    - auto::result
    - Botan::calendar_point
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_self_signed_by_intermediate_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_next_update_without_max_age
      Src: /src/botan/src/tests/test_x509_path.cpp:1213,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_next_update_with_max_age
      Src: /src/botan/src/tests/test_x509_path.cpp:1214,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_without_next_update_without_max_age
      Src: /src/botan/src/tests/test_x509_path.cpp:1215,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_without_next_update_with_max_age
      Src: /src/botan/src/tests/test_x509_path.cpp:1216,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_authorized_responder
      Src: /src/botan/src/tests/test_x509_path.cpp:1217,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_authorized_responder_without_keyusage
      Src: /src/botan/src/tests/test_x509_path.cpp:1218,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_forged_ocsp_using_self_signed_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1219,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_self_signed_by_intermediate_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1212
    functionDepth: 5
    functionLinenumber: 1212
    functionLinenumberEnd: 1221
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_self_signed_by_intermediate_cert
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_next_update_with_max_age
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_next_update_without_max_age
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_without_next_update_with_max_age
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_forged_ocsp_using_self_signed_cert
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_authorized_responder_without_keyusage
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_without_next_update_without_max_age
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_authorized_responder
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_x509_path.cpp:1235,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1236,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_x509_path.cpp:1240,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1241,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_x509_path.cpp:1245,1
    - Dst: get_p
      Src: /src/botan/src/tests/test_x509_path.cpp:1249,1
    - Dst: get_a
      Src: /src/botan/src/tests/test_x509_path.cpp:1250,1
    - Dst: get_b
      Src: /src/botan/src/tests/test_x509_path.cpp:1251,1
    - Dst: BigInt
      Src: /src/botan/src/tests/test_x509_path.cpp:1252,1
    - Dst: BigInt
      Src: /src/botan/src/tests/test_x509_path.cpp:1254,1
    - Dst: get_order
      Src: /src/botan/src/tests/test_x509_path.cpp:1256,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1258,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1258,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1259,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1259,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1260,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1260,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1262,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1263,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:1265,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1267,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1269,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1275,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1278,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:1278,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1280,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1281,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1283,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1289,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1292,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:1292,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1294,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1295,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1298,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1299,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1301,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1307,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1310,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:1310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1313
    functionName: Botan_Tests::CVE_2020_0601_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - get_p
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::x509_path_validate
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan_Tests::Test::data_file
    - Test::Result::confirm
    - Botan::EC_Group::supports_application_specific_group
    - get_b
    - get_order
    - Test::Result::test_note
    - Botan::X509_Certificate
    - auto::successful_validation
    - get_a
    - Botan_CLI::Timer::milliseconds
    - Botan::EC_Group::supports_named_group
    - BigInt
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - auto::result
    - Botan::calendar_point
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:1326,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1327,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1331,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1332,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1333,1
    - Dst: Botan::X509_CRL::X509_CRL
      Src: /src/botan/src/tests/test_x509_path.cpp:1336,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1336,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1337,1
    - Dst: auto::this_update
      Src: /src/botan/src/tests/test_x509_path.cpp:1337,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1338,1
    - Dst: auto::next_update
      Src: /src/botan/src/tests/test_x509_path.cpp:1338,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1339,1
    - Dst: auto::get_revoked
      Src: /src/botan/src/tests/test_x509_path.cpp:1339,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_x509_path.cpp:1342,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1343,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1347,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1348,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/test_x509_path.cpp:1349,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1353,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1358,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1360,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:1360,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1361,1
    - Dst: auto::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1361,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1365,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1367,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:1367,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1368,1
    - Dst: auto::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1368,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:1370,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1373
    functionName: Botan_Tests::Path_Validation_With_Immortal_CRL::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Test::data_file
    - Test::Result::test_note
    - auto::result
    - auto::get_revoked
    - auto::result_string
    - auto::successful_validation
    - Test::Result::confirm
    - Botan::Certificate_Store_In_Memory::add_crl
    - Botan::has_filesystem_impl
    - Test::Result::test_is_eq
    - Botan::X509_CRL::X509_CRL
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - auto::this_update
    - Botan::calendar_point
    - Botan::EC_Group::supports_named_group
    - auto::next_update
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:1387,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1388,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1388,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1391,1
    - Dst: Botan::PKIX::overall_status
      Src: /src/botan/src/tests/test_x509_path.cpp:1393,1
    - Dst: Botan::PKIX::check_chain
      Src: /src/botan/src/tests/test_x509_path.cpp:1394,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:1395,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - ' file'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 1397
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1397
    functionName: Botan_Tests::XMSS_Path_Validation_Tests::validate_self_signed
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    - Botan::PKIX::check_chain
    - Botan::to_string
    - Test::Result::test_eq
    - Botan::X509_Certificate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::calendar_point
    - Botan::PKIX::overall_status
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_self_signed(const std::string& name, const std::string&
      file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:1400,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:1401,1
    - Dst: Botan_Tests::XMSS_Path_Validation_Tests::validate_self_signed
      Src: /src/botan/src/tests/test_x509_path.cpp:1405,1
    - Dst: Botan_Tests::XMSS_Path_Validation_Tests::validate_self_signed
      Src: /src/botan/src/tests/test_x509_path.cpp:1406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1399
    functionDepth: 2
    functionLinenumber: 1399
    functionLinenumberEnd: 1408
    functionName: Botan_Tests::XMSS_Path_Validation_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::has_filesystem_impl
    - Botan_Tests::XMSS_Path_Validation_Tests::validate_self_signed
    - Botan_Tests::Test::Result::Note
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_asn1.cpp:29,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_asn1.cpp:29,1
    - Dst: Botan::BER_Decoder::more_items
      Src: /src/botan/src/tests/test_asn1.cpp:32,1
    - Dst: Botan::BER_Decoder::get_next
      Src: /src/botan/src/tests/test_asn1.cpp:34,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_asn1.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: Botan_Tests::test_ber_stack_recursion
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - Botan::BER_Decoder::get_next
    - std::vector::size
    - Test::Result::test_success
    - Botan::BER_Decoder::more_items
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ber_stack_recursion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Pretty_Printer::print
      Src: /src/botan/src/tests/test_asn1.cpp:66,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 76
    functionName: Botan_Tests::test_ber_eoc_decoding_limits
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_Pretty_Printer::print
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ber_eoc_decoding_limits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/test_asn1.cpp:90,1
    - Dst: Botan::ASN1_String::decode_from
      Src: /src/botan/src/tests/test_asn1.cpp:91,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:93,1
    - Dst: Botan::ASN1_String::value
      Src: /src/botan/src/tests/test_asn1.cpp:93,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:95,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: Botan_Tests::test_asn1_utf8_ascii_parsing
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_String::decode_from
    - what
    - Botan::ASN1_String::value
    - Test::Result::test_eq
    - Test::Result::test_failure
    - Botan::ASN1_String::ASN1_String
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_utf8_ascii_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/test_asn1.cpp:113,1
    - Dst: Botan::ASN1_String::decode_from
      Src: /src/botan/src/tests/test_asn1.cpp:114,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:116,1
    - Dst: Botan::ASN1_String::value
      Src: /src/botan/src/tests/test_asn1.cpp:116,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:118,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 122
    functionName: Botan_Tests::test_asn1_utf8_parsing
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_String::decode_from
    - what
    - Botan::ASN1_String::value
    - Test::Result::test_eq
    - Test::Result::test_failure
    - Botan::ASN1_String::ASN1_String
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_utf8_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/test_asn1.cpp:137,1
    - Dst: Botan::ASN1_String::decode_from
      Src: /src/botan/src/tests/test_asn1.cpp:138,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:140,1
    - Dst: Botan::ASN1_String::value
      Src: /src/botan/src/tests/test_asn1.cpp:140,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:142,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: Botan_Tests::test_asn1_ucs2_parsing
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_String::decode_from
    - what
    - Botan::ASN1_String::value
    - Test::Result::test_eq
    - Test::Result::test_failure
    - Botan::ASN1_String::ASN1_String
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_ucs2_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/test_asn1.cpp:161,1
    - Dst: Botan::ASN1_String::decode_from
      Src: /src/botan/src/tests/test_asn1.cpp:162,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:164,1
    - Dst: Botan::ASN1_String::value
      Src: /src/botan/src/tests/test_asn1.cpp:164,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:166,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 170
    functionName: Botan_Tests::test_asn1_ucs4_parsing
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_String::decode_from
    - what
    - Botan::ASN1_String::value
    - Test::Result::test_eq
    - Test::Result::test_failure
    - Botan::ASN1_String::ASN1_String
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_ucs4_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/tests/test_asn1.cpp:180,1
    - Dst: Botan::ASN1_String::encode_into
      Src: /src/botan/src/tests/test_asn1.cpp:182,1
    - Dst: Botan::DER_Encoder::get_contents
      Src: /src/botan/src/tests/test_asn1.cpp:183,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_asn1.cpp:187,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:188,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_asn1.cpp:190,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:192,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 196
    functionName: Botan_Tests::test_asn1_ascii_encoding
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - what
    - Botan::ASN1_String::encode_into
    - Test::Result::test_eq
    - Botan::hex_decode
    - Botan::DER_Encoder::DER_Encoder
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan::DER_Encoder::get_contents
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_ascii_encoding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/tests/test_asn1.cpp:206,1
    - Dst: Botan::ASN1_String::encode_into
      Src: /src/botan/src/tests/test_asn1.cpp:208,1
    - Dst: Botan::DER_Encoder::get_contents
      Src: /src/botan/src/tests/test_asn1.cpp:209,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_asn1.cpp:213,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:214,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_asn1.cpp:216,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:218,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 222
    functionName: Botan_Tests::test_asn1_utf8_encoding
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - what
    - Botan::ASN1_String::encode_into
    - Test::Result::test_eq
    - Botan::hex_decode
    - Botan::DER_Encoder::DER_Encoder
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan::DER_Encoder::get_contents
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_utf8_encoding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:230,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_asn1.cpp:233,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 240
    functionName: Botan_Tests::test_asn1_tag_underlying_type
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_failure
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_tag_underlying_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:249,1
    - Dst: test_ber_stack_recursion
      Src: /src/botan/src/tests/test_asn1.cpp:249,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:250,1
    - Dst: test_ber_eoc_decoding_limits
      Src: /src/botan/src/tests/test_asn1.cpp:250,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:251,1
    - Dst: test_asn1_utf8_ascii_parsing
      Src: /src/botan/src/tests/test_asn1.cpp:251,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:252,1
    - Dst: test_asn1_utf8_parsing
      Src: /src/botan/src/tests/test_asn1.cpp:252,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:253,1
    - Dst: test_asn1_ucs2_parsing
      Src: /src/botan/src/tests/test_asn1.cpp:253,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:254,1
    - Dst: test_asn1_ucs4_parsing
      Src: /src/botan/src/tests/test_asn1.cpp:254,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:255,1
    - Dst: test_asn1_ascii_encoding
      Src: /src/botan/src/tests/test_asn1.cpp:255,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:256,1
    - Dst: test_asn1_utf8_encoding
      Src: /src/botan/src/tests/test_asn1.cpp:256,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:257,1
    - Dst: test_asn1_tag_underlying_type
      Src: /src/botan/src/tests/test_asn1.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: Botan_Tests::ASN1_Tests::run
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - test_asn1_tag_underlying_type
    - test_asn1_utf8_ascii_parsing
    - test_asn1_ucs4_parsing
    - test_asn1_ucs2_parsing
    - test_ber_eoc_decoding_limits
    - test_asn1_ascii_encoding
    - test_ber_stack_recursion
    - test_asn1_utf8_encoding
    - test_asn1_utf8_parsing
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: Botan_Tests::ASN1_Time_Parsing_Tests::ASN1_Time_Parsing_Tests
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Time_Parsing_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_asn1.cpp:272,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_asn1.cpp:276,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_asn1.cpp:287,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_asn1.cpp:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - ' tag_str'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 293
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 293
    functionName: Botan_Tests::ASN1_Time_Parsing_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    - get_req_str
    - Test::Result::test_throws
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& tag_str, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_asn1.cpp:308,1
    - Dst: Botan_Tests::Test::read_binary_data_file
      Src: /src/botan/src/tests/test_asn1.cpp:309,1
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_asn1.cpp:310,1
    - Dst: Botan::ASN1_Pretty_Printer::print
      Src: /src/botan/src/tests/test_asn1.cpp:313,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:314,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:316,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_asn1.cpp:316,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 321
    functionName: Botan_Tests::ASN1_Printer_Tests::run
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_Pretty_Printer::print
    - Botan::fmt
    - std::to_string
    - what
    - Test::Result::test_eq
    - Test::Result::test_failure
    - Botan_Tests::Test::read_data_file
    - Botan_Tests::Test::read_binary_data_file
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/unit_x509.cpp:36,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/unit_x509.cpp:37,1
    - Dst: Botan::calendar_point::to_std_timepoint
      Src: /src/botan/src/tests/unit_x509.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - m
    - d
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: Botan_Tests::from_date
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::calendar_point::to_std_timepoint
    - Botan::X509_Time
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Botan::X509_Time
    signature: Botan::X509_Time from_date(const int y, const int m, const int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:47,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/tests/unit_x509.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: Botan_Tests::ca_opts
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Cert_Options::CA_key
    - Botan::X509_Cert_Options::set_padding_scheme
    linkageType: ''
    returnType: Botan::X509_Cert_Options
    signature: Botan::X509_Cert_Options ca_opts(const std::string& sig_padding = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:60,1
    - Dst: Botan::X509_Cert_Options::not_before
      Src: /src/botan/src/tests/unit_x509.cpp:62,1
    - Dst: Botan::X509_Cert_Options::not_after
      Src: /src/botan/src/tests/unit_x509.cpp:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: Botan_Tests::req_opts1
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Cert_Options::not_after
    - Botan::X509_Cert_Options::not_before
    - Botan::X509_Cert_Options::set_padding_scheme
    linkageType: ''
    returnType: Botan::X509_Cert_Options
    signature: Botan::X509_Cert_Options req_opts1(const std::string& algo, const std::string&
      sig_padding = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:82,1
    - Dst: Botan::X509_Cert_Options::add_ex_constraint
      Src: /src/botan/src/tests/unit_x509.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: Botan_Tests::req_opts2
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Cert_Options::add_ex_constraint
    - Botan::X509_Cert_Options::set_padding_scheme
    linkageType: ''
    returnType: Botan::X509_Cert_Options
    signature: Botan::X509_Cert_Options req_opts2(const std::string& sig_padding =
      "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:95,1
    - Dst: Botan::X509_Cert_Options::more_org_units::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:97,1
    - Dst: Botan::X509_Cert_Options::more_org_units::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:98,1
    - Dst: Botan::X509_Cert_Options::more_dns::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: Botan_Tests::req_opts3
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Cert_Options::more_org_units::push_back
    - Botan::X509_Cert_Options::more_dns::push_back
    - Botan::X509_Cert_Options::set_padding_scheme
    linkageType: ''
    returnType: Botan::X509_Cert_Options
    signature: Botan::X509_Cert_Options req_opts3(const std::string& sig_padding =
      "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_x509.cpp:112,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' algo'
    - ' rng'
    argTypes:
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 135
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 135
    functionName: Botan_Tests::make_a_private_key
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_private_key
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> make_a_private_key(const std::string&
      algo, Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:142,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/unit_x509.cpp:143,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/unit_x509.cpp:144,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/unit_x509.cpp:198,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:199,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/unit_x509.cpp:199,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:200,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/unit_x509.cpp:200,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/unit_x509.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 205
    functionName: Botan_Tests::test_cert_status_strings
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - Botan::to_string
    - Test::Result::test_eq
    - Test::Result::confirm
    - std::set::count
    - std::string::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_cert_status_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/tests/unit_x509.cpp:212,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/tests/unit_x509.cpp:213,1
    - Dst: Botan::Extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:215,1
    - Dst: std::make_unique<Botan::Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/tests/unit_x509.cpp:215,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:217,1
    - Dst: Botan::Extensions::extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:217,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:218,1
    - Dst: Botan::Extensions::critical_extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:218,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:219,1
    - Dst: Botan::Extensions::extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:219,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:220,1
    - Dst: Botan::Extensions::critical_extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:220,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:222,1
    - Dst: Botan::Extensions::get_extension_bits
      Src: /src/botan/src/tests/unit_x509.cpp:222,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:224,1
    - Dst: Botan::Extensions::get_extension_bits
      Src: /src/botan/src/tests/unit_x509.cpp:224,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:226,1
    - Dst: Botan::Extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:227,1
    - Dst: std::make_unique<Botan::Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/tests/unit_x509.cpp:227,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:229,1
    - Dst: Botan::Extensions::get_extension_bits
      Src: /src/botan/src/tests/unit_x509.cpp:229,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:231,1
    - Dst: Botan::Extensions::add_new
      Src: /src/botan/src/tests/unit_x509.cpp:232,1
    - Dst: std::make_unique<Botan::Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/tests/unit_x509.cpp:232,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:234,1
    - Dst: Botan::Extensions::critical_extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:234,1
    - Dst: Botan::Extensions::replace
      Src: /src/botan/src/tests/unit_x509.cpp:236,1
    - Dst: std::make_unique<Botan::Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/tests/unit_x509.cpp:236,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:237,1
    - Dst: Botan::Extensions::critical_extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:237,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:238,1
    - Dst: Botan::Extensions::get_extension_bits
      Src: /src/botan/src/tests/unit_x509.cpp:238,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:240,1
    - Dst: Botan::Extensions::remove
      Src: /src/botan/src/tests/unit_x509.cpp:240,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:241,1
    - Dst: Botan::Extensions::remove
      Src: /src/botan/src/tests/unit_x509.cpp:241,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:242,1
    - Dst: Botan::Extensions::extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:242,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:243,1
    - Dst: Botan::Extensions::critical_extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 246
    functionName: Botan_Tests::test_x509_extension
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::Extensions::replace
    - Botan::Extensions::extension_set
    - Botan::Extensions::add_new
    - Test::Result::test_eq
    - Botan::Extensions::remove
    - Test::Result::test_throws
    - Test::Result::confirm
    - std::make_unique<Botan::Cert_Extension::Basic_Constraints>
    - Botan::OID::from_string
    - Botan::Extensions::critical_extension_set
    - Botan::Extensions::add
    - Botan::Extensions::get_extension_bits
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:252,1
    - Dst: Botan::X509_Time::time_is_set
      Src: /src/botan/src/tests/unit_x509.cpp:252,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/unit_x509.cpp:253,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:254,1
    - Dst: Botan::X509_Time::time_is_set
      Src: /src/botan/src/tests/unit_x509.cpp:254,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:255,1
    - Dst: Botan::X509_Time::readable_string
      Src: /src/botan/src/tests/unit_x509.cpp:255,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/unit_x509.cpp:257,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:258,1
    - Dst: Botan::X509_Time::readable_string
      Src: /src/botan/src/tests/unit_x509.cpp:258,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/unit_x509.cpp:260,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:261,1
    - Dst: Botan::X509_Time::readable_string
      Src: /src/botan/src/tests/unit_x509.cpp:262,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/unit_x509.cpp:264,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:265,1
    - Dst: Botan::X509_Time::readable_string
      Src: /src/botan/src/tests/unit_x509.cpp:266,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/unit_x509.cpp:269,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:270,1
    - Dst: Botan::X509_Time::readable_string
      Src: /src/botan/src/tests/unit_x509.cpp:270,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:401,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:413,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 421
    functionName: Botan_Tests::test_x509_dates
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Time::readable_string
    - Test::Result::test_eq
    - Test::Result::test_throws
    - Test::Result::confirm
    - Botan::X509_Time
    - Botan::X509_Time::time_is_set
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_dates()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/unit_x509.cpp:427,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:442,1
    - Dst: Test::Result::require
      Src: /src/botan/src/tests/unit_x509.cpp:443,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:444,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:444,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:448,1
    - Dst: Botan_Tests::req_opts1
      Src: /src/botan/src/tests/unit_x509.cpp:450,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:451,1
    - Dst: std::make_unique<Botan::Cert_Extension::Authority_Information_Access>
      Src: /src/botan/src/tests/unit_x509.cpp:451,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:453,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:455,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:455,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:455,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:457,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:457,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:461,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:462,1
    - Dst: find
      Src: /src/botan/src/tests/unit_x509.cpp:463,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/unit_x509.cpp:463,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:466,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:466,1
    - Dst: Botan_Tests::req_opts1
      Src: /src/botan/src/tests/unit_x509.cpp:469,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:470,1
    - Dst: std::make_unique<Botan::Cert_Extension::Authority_Information_Access>
      Src: /src/botan/src/tests/unit_x509.cpp:470,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:472,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:474,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:474,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:474,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:476,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:476,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:477,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:477,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:478,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:478,1
    - Dst: std::string
      Src: /src/botan/src/tests/unit_x509.cpp:478,1
    - Dst: Botan_Tests::req_opts1
      Src: /src/botan/src/tests/unit_x509.cpp:481,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:482,1
    - Dst: std::make_unique<Botan::Cert_Extension::Authority_Information_Access>
      Src: /src/botan/src/tests/unit_x509.cpp:482,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:484,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:486,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:486,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:486,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:488,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:488,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:489,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 493
    functionName: Botan_Tests::test_x509_encode_authority_info_access_extension
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::req_opts1
    - Botan_Tests::ca_opts
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::X509::create_self_signed_cert
    - std::string
    - Botan::X509_Certificate::ca_issuers
    - Botan_Tests::make_a_private_key
    - Botan_Tests::Test::new_rng
    - Botan::X509_Cert_Options::extensions::add
    - std::make_unique<Botan::Cert_Extension::Authority_Information_Access>
    - Botan_Tests::from_date
    - Test::Result::require
    - Botan::X509_CA::sign_request
    - Botan::X509::create_cert_req
    - find
    - std::vector::end
    - Botan::X509_Certificate::ocsp_responder
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_encode_authority_info_access_extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/unit_x509.cpp:503,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:507,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:509,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/unit_x509.cpp:510,1
    - Dst: Botan::X509_CA::new_crl
      Src: /src/botan/src/tests/unit_x509.cpp:513,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:515,1
    - Dst: Botan::X509_CRL::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:515,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:515,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:517,1
    - Dst: Botan::X509_CRL::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 521
    functionName: Botan_Tests::test_crl_dn_name
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    - Botan::X509_CA::new_crl
    - Botan::X509_Certificate::subject_dn
    - Test::Result::confirm
    - Botan::X509_CRL::issuer_dn
    - Botan_Tests::Test::new_rng
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_crl_dn_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:528,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:530,1
    - Dst: Botan::X509_Certificate::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:530,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:531,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 534
    functionName: Botan_Tests::test_rdn_multielement_set_name
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::issuer_dn
    - Test::Result::confirm
    - Botan::X509_Certificate::subject_dn
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rdn_multielement_set_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:540,1
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/tests/unit_x509.cpp:542,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/unit_x509.cpp:543,1
    - Dst: auto::get
      Src: /src/botan/src/tests/unit_x509.cpp:543,1
    - Dst: Botan::X509_Certificate::subject_public_key_algo
      Src: /src/botan/src/tests/unit_x509.cpp:544,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:546,1
    - Dst: oid
      Src: /src/botan/src/tests/unit_x509.cpp:546,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/tests/unit_x509.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 550
    functionName: Botan_Tests::test_rsa_oaep
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    - Test::Result::test_not_null
    - Botan::X509_Certificate::subject_public_key
    - Test::Result::test_eq
    - auto::get
    - Botan::OID::from_string
    - oid
    - Botan::X509_Certificate::subject_public_key_algo
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_oaep()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:555,1
    - Dst: Botan::BER_Decoder::decode_list
      Src: /src/botan/src/tests/unit_x509.cpp:559,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:561,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_x509.cpp:561,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:563,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:563,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:564,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 567
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 567
    functionName: Botan_Tests::test_x509_decode_list
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan_Tests::Test::data_file
    - Test::Result::test_eq
    - subject_dn
    - Botan::BER_Decoder::decode_list
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_decode_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:573,1
    - Dst: Botan::X509_Certificate::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:587,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:589,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:589,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:590,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:590,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:591,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:591,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:592,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:592,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:594,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 598
    functionName: Botan_Tests::test_x509_utf8
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    - what
    - Test::Result::test_eq
    - Botan::X509_Certificate::issuer_dn
    - Test::Result::test_failure
    - get_first_attribute
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_utf8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:604,1
    - Dst: Botan::X509_Certificate::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:614,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:616,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:616,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:617,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:617,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:618,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:618,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:620,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 624
    functionName: Botan_Tests::test_x509_bmpstring
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    - what
    - Test::Result::test_eq
    - Botan::X509_Certificate::issuer_dn
    - Test::Result::test_failure
    - get_first_attribute
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_bmpstring()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:630,1
    - Dst: Botan::X509_Certificate::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:632,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:636,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:636,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:637,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:637,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:639,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 643
    functionName: Botan_Tests::test_x509_teletex
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    - what
    - Test::Result::test_eq
    - Botan::X509_Certificate::issuer_dn
    - Test::Result::test_failure
    - get_first_attribute
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_teletex()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:649,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:651,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:651,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:652,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:652,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:655,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:657,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:659,1
    - Dst: auto::size
      Src: /src/botan/src/tests/unit_x509.cpp:659,1
    - Dst: Test::Result::tests_failed
      Src: /src/botan/src/tests/unit_x509.cpp:660,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:664,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:665,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:665,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:669,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:671,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:673,1
    - Dst: auto::size
      Src: /src/botan/src/tests/unit_x509.cpp:673,1
    - Dst: Test::Result::tests_failed
      Src: /src/botan/src/tests/unit_x509.cpp:674,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:678,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:680,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:684,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 687
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 687
    functionName: Botan_Tests::test_x509_authority_info_access_extension
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    - Test::Result::test_eq
    - Test::Result::tests_failed
    - Botan::X509_Certificate::ca_issuers
    - auto::size
    - Botan::X509_Certificate::ocsp_responder
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_authority_info_access_extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:695,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_x509.cpp:696,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:698,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 702
    functionName: Botan_Tests::test_parse_rsa_pss_cert
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_success
    - Test::Result::test_failure
    - Botan_Tests::Test::data_file
    - what
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_parse_rsa_pss_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_x509.cpp:709,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:710,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:711,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/unit_x509.cpp:713,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/unit_x509.cpp:714,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:718,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:720,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/unit_x509.cpp:720,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:723,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 728
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 728
    functionName: Botan_Tests::test_verify_gost2012_cert
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Test::data_file
    - what
    - Test::Result::confirm
    - Botan::Path_Validation_Result::successful_validation
    - Test::Result::test_failure
    - Botan::x509_path_validate
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_verify_gost2012_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/unit_x509.cpp:740,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:742,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/unit_x509.cpp:743,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/tests/unit_x509.cpp:747,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:749,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:750,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:751,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:755,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:756,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:757,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:758,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:763,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:765,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:766,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/unit_x509.cpp:767,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:769,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/unit_x509.cpp:769,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:770,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:775,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:776,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:779,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:780,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:784,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:785,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:786,1
    - Dst: Botan::PKCS10_Request::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:787,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:792,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:794,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:796,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:802,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:803,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:804,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:809,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:810,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:811,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:816,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:817,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:818,1
    - Dst: Botan::X509_CA::new_crl
      Src: /src/botan/src/tests/unit_x509.cpp:822,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:823,1
    - Dst: Botan::X509_CRL::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:823,1
    - Dst: Botan::X509_CA::ca_certificate
      Src: /src/botan/src/tests/unit_x509.cpp:826,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:829,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:830,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/unit_x509.cpp:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 833
    functionName: Botan_Tests::test_padding_config
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_CA::ca_certificate
    - what
    - Botan::x509_path_validate
    - Botan::X509::create_cert_req
    - Botan_Tests::Test::data_file
    - Botan::X509_CRL::signature_algorithm
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::X509::create_self_signed_cert
    - Test::Result::test_failure
    - Botan::X509_Cert_Options::CA_key
    - Botan::X509_Certificate::signature_algorithm
    - Botan::PKCS10_Request::signature_algorithm
    - Botan_Tests::Test::new_rng
    - Botan::PKCS8::load_key
    - Botan_Tests::from_date
    - Botan::X509_Cert_Options::set_padding_scheme
    - Botan::X509_CA::new_crl
    - Botan::Path_Validation_Result::successful_validation
    - auto::algo_name
    - Botan::X509_CA::sign_request
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_padding_config()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::X509_Cert_Options
      Src: /src/botan/src/tests/unit_x509.cpp:844,1
    - Dst: Botan::X509_Cert_Options::more_dns::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:847,1
    - Dst: Botan::X509_Cert_Options::more_dns::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:848,1
    - Dst: Botan::AlternativeName::AlternativeName
      Src: /src/botan/src/tests/unit_x509.cpp:852,1
    - Dst: Botan::AlternativeName::add_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:853,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:856,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:857,1
    - Dst: Botan::AlternativeName::add_dn
      Src: /src/botan/src/tests/unit_x509.cpp:858,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:860,1
    - Dst: std::make_unique<Botan::Cert_Extension::Subject_Alternative_Name>
      Src: /src/botan/src/tests/unit_x509.cpp:860,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:862,1
    - Dst: auto::subject_alt_name
      Src: /src/botan/src/tests/unit_x509.cpp:864,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:866,1
    - Dst: auto::size
      Src: /src/botan/src/tests/unit_x509.cpp:866,1
    - Dst: auto::size
      Src: /src/botan/src/tests/unit_x509.cpp:868,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:869,1
    - Dst: auto::at
      Src: /src/botan/src/tests/unit_x509.cpp:869,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:870,1
    - Dst: auto::at
      Src: /src/botan/src/tests/unit_x509.cpp:870,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:871,1
    - Dst: auto::at
      Src: /src/botan/src/tests/unit_x509.cpp:871,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:872,1
    - Dst: auto::at
      Src: /src/botan/src/tests/unit_x509.cpp:872,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:875,1
    - Dst: auto::subject_alt_name
      Src: /src/botan/src/tests/unit_x509.cpp:875,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:876,1
    - Dst: auto::subject_alt_name
      Src: /src/botan/src/tests/unit_x509.cpp:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - ' key'
    - ' sig_padding'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 879
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 879
    functionName: Botan_Tests::test_pkcs10_ext
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::add_dn
    - auto::at
    - Botan::X509_Cert_Options::more_dns::push_back
    - Test::Result::test_eq
    - auto::size
    - Botan::AlternativeName::add_attribute
    - Test::Result::confirm
    - std::make_unique<Botan::Cert_Extension::Subject_Alternative_Name>
    - Botan::X509_Cert_Options::X509_Cert_Options
    - Botan::X509_DN::add_attribute
    - auto::subject_alt_name
    - Botan::X509_Cert_Options::extensions::add
    - Botan::X509::create_cert_req
    - Botan::AlternativeName::AlternativeName
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_pkcs10_ext(const Botan::Private_Key& key,\n                             const
      std::string& sig_padding,\n                             const std::string& hash_fn,\n
      \                            Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:889,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:889,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:892,1
    - Dst: auto::constraints
      Src: /src/botan/src/tests/unit_x509.cpp:892,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:893,1
    - Dst: auto::constraints
      Src: /src/botan/src/tests/unit_x509.cpp:893,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:897,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:900,1
    - Dst: Botan_Tests::req_opts1
      Src: /src/botan/src/tests/unit_x509.cpp:900,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:902,1
    - Dst: Botan::PKCS10_Request::challenge_password
      Src: /src/botan/src/tests/unit_x509.cpp:902,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:905,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:907,1
    - Dst: Botan_Tests::req_opts2
      Src: /src/botan/src/tests/unit_x509.cpp:907,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:910,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:912,1
    - Dst: Botan_Tests::req_opts3
      Src: /src/botan/src/tests/unit_x509.cpp:912,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:921,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:921,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:921,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:923,1
    - Dst: Botan::X509_Certificate::serial_number
      Src: /src/botan/src/tests/unit_x509.cpp:923,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:924,1
    - Dst: Botan::X509_Certificate::serial_number
      Src: /src/botan/src/tests/unit_x509.cpp:924,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:926,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:926,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:926,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:927,1
    - Dst: Botan::X509_Certificate::has_ex_constraint
      Src: /src/botan/src/tests/unit_x509.cpp:927,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:929,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:929,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:929,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:933,1
    - Dst: Botan_Tests::req_opts1
      Src: /src/botan/src/tests/unit_x509.cpp:933,1
    - Dst: Botan_Tests::req_opts1
      Src: /src/botan/src/tests/unit_x509.cpp:936,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:937,1
    - Dst: Botan::X509_Certificate::constraints
      Src: /src/botan/src/tests/unit_x509.cpp:937,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:942,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:945,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:948,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:948,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:948,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:950,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:953,1
    - Dst: Botan::X509_Certificate::x509_version
      Src: /src/botan/src/tests/unit_x509.cpp:953,1
    - Dst: Botan::X509_Certificate::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:955,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:956,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:956,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:956,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:957,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:957,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:957,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:958,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:958,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:958,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:959,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:959,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:959,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:961,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:962,1
    - Dst: get_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:963,1
    - Dst: Botan_Tests::req_opts3
      Src: /src/botan/src/tests/unit_x509.cpp:964,1
    - Dst: size
      Src: /src/botan/src/tests/unit_x509.cpp:964,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:965,1
    - Dst: get_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:966,1
    - Dst: Botan_Tests::req_opts3
      Src: /src/botan/src/tests/unit_x509.cpp:966,1
    - Dst: at
      Src: /src/botan/src/tests/unit_x509.cpp:966,1
    - Dst: Botan::X509_Certificate::subject_alt_name
      Src: /src/botan/src/tests/unit_x509.cpp:968,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:969,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:969,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:970,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:970,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:971,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:971,1
    - Dst: Botan::X509_Certificate::subject_alt_name
      Src: /src/botan/src/tests/unit_x509.cpp:973,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:974,1
    - Dst: get_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:975,1
    - Dst: Botan_Tests::req_opts3
      Src: /src/botan/src/tests/unit_x509.cpp:975,1
    - Dst: size
      Src: /src/botan/src/tests/unit_x509.cpp:975,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:976,1
    - Dst: get_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:976,1
    - Dst: Botan_Tests::req_opts3
      Src: /src/botan/src/tests/unit_x509.cpp:976,1
    - Dst: at
      Src: /src/botan/src/tests/unit_x509.cpp:976,1
    - Dst: Botan::X509_CA::new_crl
      Src: /src/botan/src/tests/unit_x509.cpp:978,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/unit_x509.cpp:982,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:985,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:986,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:987,1
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/tests/unit_x509.cpp:988,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/unit_x509.cpp:990,1
    - Dst: Botan::X509_CA::ca_certificate
      Src: /src/botan/src/tests/unit_x509.cpp:990,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:992,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:993,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/unit_x509.cpp:993,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/unit_x509.cpp:994,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:994,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:997,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:998,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/unit_x509.cpp:998,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/unit_x509.cpp:999,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:999,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:1002,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1003,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:1004,1
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/tests/unit_x509.cpp:1005,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/unit_x509.cpp:1006,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1009,1
    - Dst: Botan::CRL_Entry::CRL_Entry
      Src: /src/botan/src/tests/unit_x509.cpp:1009,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1010,1
    - Dst: Botan::X509_CA::update_crl
      Src: /src/botan/src/tests/unit_x509.cpp:1012,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/unit_x509.cpp:1014,1
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/tests/unit_x509.cpp:1017,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:1019,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1020,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:1020,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:1022,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1023,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:1023,1
    - Dst: std::vector::clear
      Src: /src/botan/src/tests/unit_x509.cpp:1025,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1026,1
    - Dst: Botan::CRL_Entry::CRL_Entry
      Src: /src/botan/src/tests/unit_x509.cpp:1026,1
    - Dst: Botan::X509_CA::update_crl
      Src: /src/botan/src/tests/unit_x509.cpp:1027,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/unit_x509.cpp:1029,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:1031,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1032,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/unit_x509.cpp:1032,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/unit_x509.cpp:1033,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:1033,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:1036,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1037,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:1037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 5
    argNames:
    - ' ca_key'
    - ' sig_algo'
    - ' sig_padding'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - std::string
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1040
      start: 881
    functionDepth: 3
    functionLinenumber: 881
    functionLinenumberEnd: 1040
    functionName: Botan_Tests::test_x509_cert
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_CA::ca_certificate
    - Botan::X509_Certificate::has_ex_constraint
    - Botan_Tests::req_opts2
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::Certificate_Store_In_Memory::add_crl
    - Botan_Tests::make_a_private_key
    - Botan::CRL_Entry::CRL_Entry
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan_Tests::req_opts3
    - Botan::X509_Certificate::serial_number
    - Botan::x509_path_validate
    - Botan::X509::create_cert_req
    - Botan_Tests::req_opts1
    - Botan_Tests::ca_opts
    - Botan::X509_Certificate::x509_version
    - Test::Result::test_eq
    - auto::constraints
    - Test::Result::confirm
    - Botan::X509::create_self_signed_cert
    - Botan::X509_CA::update_crl
    - Botan::PKCS10_Request::challenge_password
    - std::vector::clear
    - Botan::Path_Validation_Result::result_string
    - Botan::Path_Validation_Result::status_string
    - at
    - Test::Result::test_note
    - get_attribute
    - Botan::X509_Certificate::subject_dn
    - Botan::X509_Certificate::issuer_dn
    - Botan::X509_Certificate::subject_alt_name
    - Botan_Tests::from_date
    - std::vector::push_back
    - Botan::X509_Certificate::constraints
    - Botan::X509_CA::new_crl
    - Botan::Path_Validation_Result::successful_validation
    - get_first_attribute
    - size
    - Botan::X509_CA::sign_request
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_x509_cert(const Botan::Private_Key& ca_key,\n                            const
      std::string& sig_algo,\n                            const std::string& sig_padding,\n
      \                           const std::string& hash_fn,\n                            Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1052,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:1052,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:1057,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1062,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1065,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1065,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1065,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1068,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1070,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1070,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1072,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1072,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1075,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1075,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1077,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1079,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1082,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1082,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1082,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1085,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1086,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1087,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1087,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1088,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1090,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1090,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1091,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1091,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1093,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1095,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1098,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1098,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1098,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1101,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1101,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1102,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1102,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1103,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1103,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1107,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1109,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1112,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1112,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1112,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1114,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1114,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1115,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - ' ca_key'
    - ' sig_algo'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1119
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1119
    functionName: Botan_Tests::test_usage
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Key_Constraints
    - Botan_Tests::ca_opts
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::X509::create_self_signed_cert
    - Botan_Tests::make_a_private_key
    - Botan_Tests::from_date
    - Botan::X509_Certificate::allowed_usage
    - Botan::X509_CA::sign_request
    - Botan::X509::create_cert_req
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_usage(const Botan::Private_Key& ca_key,\n                        const
      std::string& sig_algo,\n                        const std::string& hash_fn,\n
      \                       Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1132,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:1132,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:1137,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:1141,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:1143,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1145,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1148,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1148,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1148,1
    - Dst: Botan::X509_CA::ca_certificate
      Src: /src/botan/src/tests/unit_x509.cpp:1151,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:1156,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1158,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/unit_x509.cpp:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' ca_key'
    - ' sig_algo'
    - ' sig_padding'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - std::string
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1161
      start: 1121
    functionDepth: 2
    functionLinenumber: 1121
    functionLinenumberEnd: 1161
    functionName: Botan_Tests::test_self_issued
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_CA::ca_certificate
    - Botan_Tests::ca_opts
    - Botan::X509_Cert_Options::set_padding_scheme
    - Test::Result::confirm
    - Botan::X509::create_self_signed_cert
    - Botan_Tests::make_a_private_key
    - Botan::Path_Validation_Result::successful_validation
    - Botan_Tests::from_date
    - Botan::x509_path_validate
    - Botan::X509_CA::sign_request
    - Botan::X509::create_cert_req
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_self_issued(const Botan::Private_Key& ca_key,\n
      \                             const std::string& sig_algo,\n                              const
      std::string& sig_padding,\n                              const std::string&
      hash_fn,\n                              Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::X509_Certificate
      Src: /src/botan/src/tests/unit_x509.cpp:1166,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:1167,1
    - Dst: Botan::X509_Certificate::x509_version
      Src: /src/botan/src/tests/unit_x509.cpp:1168,1
    - Dst: Botan::X509_CRL::X509_CRL
      Src: /src/botan/src/tests/unit_x509.cpp:1171,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:1172,1
    - Dst: Botan::X509_CRL::crl_number
      Src: /src/botan/src/tests/unit_x509.cpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1176
    functionName: Botan_Tests::test_x509_uninit
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::x509_version
    - Botan::X509_CRL::crl_number
    - Test::Result::test_throws
    - Botan::X509_CRL::X509_CRL
    - Botan::X509_Certificate::X509_Certificate
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_uninit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1183,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1183,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1188,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1193,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1194,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1195,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1196,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1197,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1198,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1200,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1202,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1203,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1205,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1209,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1209,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1210,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1210,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1211,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1211,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1212,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1212,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1213,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1213,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1214,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1214,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1215,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1215,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1216,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1216,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1217,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1217,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1218,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1218,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1219,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1219,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1222,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1222,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1223,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1223,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1224,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1224,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1225,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1225,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1226,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1226,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1227,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1227,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1228,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1228,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1229,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1229,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1230,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1230,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1233,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1233,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1235,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1235,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1236,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1236,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1237,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1237,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1238,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1238,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1239,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1239,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1240,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1240,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1241,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1241,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1242,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1242,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1243,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1243,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1244,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1244,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1247,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1247,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1248,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1248,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1249,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1249,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1250,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1250,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1251,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1251,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1252,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1252,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1253,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1253,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1254,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1254,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1255,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1255,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1260,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1260,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1262,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1262,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1263,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1263,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1264,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1264,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1265,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1265,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1266,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1266,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1267,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1267,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1268,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1268,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1269,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1269,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1270,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1270,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1271,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1271,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 2
    argNames:
    - ' key'
    - ' pk_algo'
    argTypes:
    - Botan::Private_Key
    - std::string
    constantsTouched: []
    func_position:
      end: 1275
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1275
    functionName: Botan_Tests::test_valid_constraints
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Key_Constraints
    - auto::compatible_with
    - Test::Result::test_eq
    - Test::Result::confirm
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_valid_constraints(const Botan::Private_Key& key,
      const std::string& pk_algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1282
    functionName: Botan_Tests::String_Extension::String_Extension
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String_Extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1284
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1284
    functionName: Botan_Tests::String_Extension::String_Extension
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String_Extension(const std::string& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1286
    functionName: Botan_Tests::String_Extension::value
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<String_Extension>
      Src: /src/botan/src/tests/unit_x509.cpp:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1290
    functionName: Botan_Tests::String_Extension::copy
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<String_Extension>
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> copy() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::nss_detail::toOID
      Src: /src/botan/src/tests/unit_x509.cpp:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1292
    functionDepth: 2
    functionLinenumber: 1292
    functionLinenumberEnd: 1292
    functionName: Botan_Tests::String_Extension::oid_of
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::nss_detail::toOID
    linkageType: ''
    returnType: Botan::OID
    signature: Botan::OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1294
    functionName: Botan_Tests::String_Extension::should_encode
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1296
    functionName: Botan_Tests::String_Extension::oid_name
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string oid_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/tests/unit_x509.cpp:1300,1
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/unit_x509.cpp:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1302
    functionName: Botan_Tests::String_Extension::encode_inner
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::DER_Encoder::DER_Encoder
    - Botan::ASN1_String::ASN1_String
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encode_inner() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/unit_x509.cpp:1305,1
    - Dst: Botan::BER_Decoder::BER_Decoder
      Src: /src/botan/src/tests/unit_x509.cpp:1306,1
    - Dst: Botan::ASN1_String::value
      Src: /src/botan/src/tests/unit_x509.cpp:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1308
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1308
    functionName: Botan_Tests::String_Extension::decode_inner
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_String::value
    - Botan::ASN1_String::ASN1_String
    - Botan::BER_Decoder::BER_Decoder
    linkageType: ''
    returnType: void
    signature: void decode_inner(const std::vector<uint8_t>& in) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1322,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:1322,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:1327,1
    - Dst: cryptofuzz::module::nss_detail::toOID
      Src: /src/botan/src/tests/unit_x509.cpp:1331,1
    - Dst: cryptofuzz::module::nss_detail::toOID
      Src: /src/botan/src/tests/unit_x509.cpp:1332,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:1336,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:1337,1
    - Dst: Botan::PKCS10_Request::create
      Src: /src/botan/src/tests/unit_x509.cpp:1342,1
    - Dst: Botan::PKCS10_Request::subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:1344,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1346,1
    - Dst: dn_info
      Src: /src/botan/src/tests/unit_x509.cpp:1346,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:1348,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:1349,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1350,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1351,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1352,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1352,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1352,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1353,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1353,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1353,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1358,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:1360,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1362,1
    - Dst: dn_info
      Src: /src/botan/src/tests/unit_x509.cpp:1362,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:1364,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:1365,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1366,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1367,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1368,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1368,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1368,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1369,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1369,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - ' ca_key'
    - ' sig_algo'
    - ' sig_padding'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - std::string
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1372
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1372
    functionName: Botan_Tests::test_custom_dn_attr
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ca_opts
    - auto::subject_dn
    - Test::Result::test_eq
    - Botan::PKCS10_Request::create
    - Botan::PKCS10_Request::subject_dn
    - Test::Result::confirm
    - Botan::X509::create_self_signed_cert
    - dn_info
    - cryptofuzz::module::nss_detail::toOID
    - Botan_Tests::make_a_private_key
    - get_first_attribute
    - Botan::X509_CA::sign_request
    - Botan::X509_DN::add_attribute
    - Botan::ASN1_String::tagging
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_custom_dn_attr(const Botan::Private_Key& ca_key,\n
      \                                const std::string& sig_algo,\n                                 const
      std::string& sig_padding,\n                                 const std::string&
      hash_fn,\n                                 Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1384,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:1384,1
    - Dst: Botan::AlternativeName::AlternativeName
      Src: /src/botan/src/tests/unit_x509.cpp:1397,1
    - Dst: Botan::AlternativeName::add_uri
      Src: /src/botan/src/tests/unit_x509.cpp:1398,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_x509.cpp:1401,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:1404,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/tests/unit_x509.cpp:1412,1
    - Dst: Botan::Extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:1413,1
    - Dst: std::make_unique<String_Extension>
      Src: /src/botan/src/tests/unit_x509.cpp:1413,1
    - Dst: Botan::Extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:1414,1
    - Dst: std::make_unique<Botan::Cert_Extension::CRL_Distribution_Points>
      Src: /src/botan/src/tests/unit_x509.cpp:1414,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:1416,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1419,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1421,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1422,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1425,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1426,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1427,1
    - Dst: dynamic_cast<Botan::Cert_Extension::Key_Usage&>
      Src: /src/botan/src/tests/unit_x509.cpp:1429,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1433,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1434,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1435,1
    - Dst: auto::value
      Src: /src/botan/src/tests/unit_x509.cpp:1436,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1441,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1443,1
    - Dst: auto::crl_distribution_urls
      Src: /src/botan/src/tests/unit_x509.cpp:1444,1
    - Dst: auto::distribution_points
      Src: /src/botan/src/tests/unit_x509.cpp:1445,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1446,1
    - Dst: find
      Src: /src/botan/src/tests/unit_x509.cpp:1447,1
    - Dst: point
      Src: /src/botan/src/tests/unit_x509.cpp:1447,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/unit_x509.cpp:1447,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1451,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1455,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1455,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1455,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1458,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1458,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1460,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1461,1
    - Dst: dynamic_cast<Botan::Cert_Extension::Key_Usage&>
      Src: /src/botan/src/tests/unit_x509.cpp:1462,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1463,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1468,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1469,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1470,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1471,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1472,1
    - Dst: auto::value
      Src: /src/botan/src/tests/unit_x509.cpp:1473,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1477,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1479,1
    - Dst: auto::crl_distribution_urls
      Src: /src/botan/src/tests/unit_x509.cpp:1480,1
    - Dst: auto::distribution_points
      Src: /src/botan/src/tests/unit_x509.cpp:1481,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1482,1
    - Dst: find
      Src: /src/botan/src/tests/unit_x509.cpp:1483,1
    - Dst: point
      Src: /src/botan/src/tests/unit_x509.cpp:1483,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/unit_x509.cpp:1483,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 5
    argNames:
    - ' ca_key'
    - ' sig_algo'
    - ' sig_padding'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - std::string
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1488
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1488
    functionName: Botan_Tests::test_x509_extensions
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - auto::distribution_points
    - dynamic_cast<Botan::Cert_Extension::Key_Usage&>
    - auto::value
    - point
    - Botan_Tests::make_a_private_key
    - Botan::X509::create_cert_req
    - Botan::AlternativeName::AlternativeName
    - std::make_unique<String_Extension>
    - Botan_Tests::ca_opts
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::X509::create_self_signed_cert
    - std::vector::emplace_back
    - Botan::Extensions::add
    - Botan::OID::from_string
    - find
    - Botan_Tests::from_date
    - std::vector::end
    - Botan::X509_Certificate::v3_extensions
    - Botan::X509_Cert_Options::set_padding_scheme
    - Botan::AlternativeName::add_uri
    - auto::crl_distribution_urls
    - std::make_unique<Botan::Cert_Extension::CRL_Distribution_Points>
    - Botan::X509_CA::sign_request
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_x509_extensions(const Botan::Private_Key& ca_key,\n
      \                                 const std::string& sig_algo,\n                                  const
      std::string& sig_padding,\n                                  const std::string&
      hash_fn,\n                                  Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/tests/unit_x509.cpp:1522,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1524,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1526,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/unit_x509.cpp:1526,1
    - Dst: Botan::X509_Certificate::raw_issuer_dn_sha256
      Src: /src/botan/src/tests/unit_x509.cpp:1526,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1527,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/unit_x509.cpp:1527,1
    - Dst: Botan::X509_Certificate::raw_subject_dn_sha256
      Src: /src/botan/src/tests/unit_x509.cpp:1527,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1531,1
    - Dst: Botan::X509_Cert_Options::X509_Cert_Options
      Src: /src/botan/src/tests/unit_x509.cpp:1531,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1533,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1533,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1533,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1535,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/unit_x509.cpp:1535,1
    - Dst: Botan::X509_Certificate::raw_issuer_dn_sha256
      Src: /src/botan/src/tests/unit_x509.cpp:1535,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1536,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/unit_x509.cpp:1536,1
    - Dst: Botan::X509_Certificate::raw_subject_dn_sha256
      Src: /src/botan/src/tests/unit_x509.cpp:1536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' key'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1539
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1539
    functionName: Botan_Tests::test_hashes
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::X509::create_self_signed_cert
    - Botan::X509_Certificate::raw_subject_dn_sha256
    - Botan::X509_Cert_Options::CA_key
    - Botan::X509_Cert_Options::X509_Cert_Options
    - Botan_Tests::from_date
    - Botan::X509_Certificate::raw_issuer_dn_sha256
    - Botan::X509_CA::sign_request
    - Botan::X509::create_cert_req
    - Botan::hex_encode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_hashes(const Botan::Private_Key& key, const std::string&
      hash_fn, Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/unit_x509.cpp:1561,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:1563,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1567,1
    - Dst: auto::entries
      Src: /src/botan/src/tests/unit_x509.cpp:1569,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1571,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:1573,1
    - Dst: telephone_number_range
      Src: /src/botan/src/tests/unit_x509.cpp:1574,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:1575,1
    - Dst: telephone_number
      Src: /src/botan/src/tests/unit_x509.cpp:1576,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:1577,1
    - Dst: service_provider_code
      Src: /src/botan/src/tests/unit_x509.cpp:1578,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1580,1
    - Dst: type
      Src: /src/botan/src/tests/unit_x509.cpp:1580,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1581,1
    - Dst: service_provider_code
      Src: /src/botan/src/tests/unit_x509.cpp:1581,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1583,1
    - Dst: type
      Src: /src/botan/src/tests/unit_x509.cpp:1583,1
    - Dst: telephone_number_range
      Src: /src/botan/src/tests/unit_x509.cpp:1584,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1585,1
    - Dst: size
      Src: /src/botan/src/tests/unit_x509.cpp:1585,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1586,1
    - Dst: start::value
      Src: /src/botan/src/tests/unit_x509.cpp:1586,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1587,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1588,1
    - Dst: start::value
      Src: /src/botan/src/tests/unit_x509.cpp:1588,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1589,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1591,1
    - Dst: type
      Src: /src/botan/src/tests/unit_x509.cpp:1591,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1592,1
    - Dst: telephone_number
      Src: /src/botan/src/tests/unit_x509.cpp:1592,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/unit_x509.cpp:1594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1543
    functionDepth: 2
    functionLinenumber: 1543
    functionLinenumberEnd: 1596
    functionName: Botan_Tests::test_x509_tn_auth_list_extension_decode
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::v3_extensions
    - Botan_Tests::Test::data_file
    - telephone_number_range
    - Test::Result::test_eq
    - start::value
    - Test::Result::test_throws
    - Test::Result::confirm
    - type
    - size
    - telephone_number
    - Test::Result::end_timer
    - service_provider_code
    - Test::Result::start_timer
    - auto::entries
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_tn_auth_list_extension_decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - ' sig_algo'
    - ' hash'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 1615
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1615
    functionName: Botan_Tests::get_sig_paddings
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> get_sig_paddings(const std::string& sig_algo,
      const std::string& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::X509_Cert_Unit_Tests::rng
      Src: /src/botan/src/tests/unit_x509.cpp:1622,1
    - Dst: make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:1655,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1661,1
    - Dst: test_hashes
      Src: /src/botan/src/tests/unit_x509.cpp:1661,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1662,1
    - Dst: test_valid_constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1662,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1666,1
    - Dst: test_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1666,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1668,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1668,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1670,1
    - Dst: get_sig_paddings
      Src: /src/botan/src/tests/unit_x509.cpp:1672,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1676,1
    - Dst: test_x509_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1676,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1678,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1678,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1680,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1684,1
    - Dst: test_pkcs10_ext
      Src: /src/botan/src/tests/unit_x509.cpp:1684,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1686,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1686,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1688,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1692,1
    - Dst: test_self_issued
      Src: /src/botan/src/tests/unit_x509.cpp:1692,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1694,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1694,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1696,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1700,1
    - Dst: test_x509_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1700,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1702,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1702,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1704,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1708,1
    - Dst: test_custom_dn_attr
      Src: /src/botan/src/tests/unit_x509.cpp:1708,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1710,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1710,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1712,1
    - Dst: make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:1723,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1726,1
    - Dst: test_valid_constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1726,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1734,1
    - Dst: test_padding_config
      Src: /src/botan/src/tests/unit_x509.cpp:1734,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1736,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1736,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1738,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1742,1
    - Dst: test_x509_utf8
      Src: /src/botan/src/tests/unit_x509.cpp:1742,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1743,1
    - Dst: test_x509_bmpstring
      Src: /src/botan/src/tests/unit_x509.cpp:1743,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1744,1
    - Dst: test_x509_teletex
      Src: /src/botan/src/tests/unit_x509.cpp:1744,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1745,1
    - Dst: test_crl_dn_name
      Src: /src/botan/src/tests/unit_x509.cpp:1745,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1746,1
    - Dst: test_rdn_multielement_set_name
      Src: /src/botan/src/tests/unit_x509.cpp:1746,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1747,1
    - Dst: test_x509_decode_list
      Src: /src/botan/src/tests/unit_x509.cpp:1747,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1748,1
    - Dst: test_rsa_oaep
      Src: /src/botan/src/tests/unit_x509.cpp:1748,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1749,1
    - Dst: test_x509_authority_info_access_extension
      Src: /src/botan/src/tests/unit_x509.cpp:1749,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1750,1
    - Dst: test_verify_gost2012_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1750,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1751,1
    - Dst: test_parse_rsa_pss_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1751,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1752,1
    - Dst: test_x509_tn_auth_list_extension_decode
      Src: /src/botan/src/tests/unit_x509.cpp:1752,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1755,1
    - Dst: test_x509_encode_authority_info_access_extension
      Src: /src/botan/src/tests/unit_x509.cpp:1755,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1756,1
    - Dst: test_x509_extension
      Src: /src/botan/src/tests/unit_x509.cpp:1756,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1757,1
    - Dst: test_x509_dates
      Src: /src/botan/src/tests/unit_x509.cpp:1757,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1758,1
    - Dst: test_cert_status_strings
      Src: /src/botan/src/tests/unit_x509.cpp:1758,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1759,1
    - Dst: test_x509_uninit
      Src: /src/botan/src/tests/unit_x509.cpp:1759,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1619
    functionDepth: 2
    functionLinenumber: 1619
    functionLinenumberEnd: 1762
    functionName: Botan_Tests::X509_Cert_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - test_x509_bmpstring
    - what
    - test_x509_dates
    - test_x509_cert
    - get_sig_paddings
    - test_padding_config
    - test_custom_dn_attr
    - Test::Result::merge
    - test_x509_extension
    - test_verify_gost2012_cert
    - test_x509_tn_auth_list_extension_decode
    - test_valid_constraints
    - test_crl_dn_name
    - make_a_private_key
    - Test::Result::test_failure
    - Botan_Tests::X509_Cert_Unit_Tests::rng
    - test_x509_encode_authority_info_access_extension
    - test_self_issued
    - test_rdn_multielement_set_name
    - test_x509_authority_info_access_extension
    - test_pkcs10_ext
    - test_x509_utf8
    - test_x509_extensions
    - test_x509_teletex
    - test_hashes
    - test_usage
    - std::vector::push_back
    - test_x509_decode_list
    - test_x509_uninit
    - test_cert_status_strings
    - test_rsa_oaep
    - test_parse_rsa_pss_cert
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_jitter_rng.cpp:26,1
    - Dst: Botan::Jitter_RNG::Jitter_RNG
      Src: /src/botan/src/tests/test_jitter_rng.cpp:30,1
    - Dst: Botan::Jitter_RNG::random_vec
      Src: /src/botan/src/tests/test_jitter_rng.cpp:32,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_jitter_rng.cpp:36,1
    - Dst: Botan::Jitter_RNG::Jitter_RNG
      Src: /src/botan/src/tests/test_jitter_rng.cpp:40,1
    - Dst: Botan::Jitter_RNG::random_vec
      Src: /src/botan/src/tests/test_jitter_rng.cpp:42,1
    - Dst: Botan::Jitter_RNG::clear
      Src: /src/botan/src/tests/test_jitter_rng.cpp:43,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_jitter_rng.cpp:47,1
    - Dst: Botan::Entropy_Sources::Entropy_Sources
      Src: /src/botan/src/tests/test_jitter_rng.cpp:49,1
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/tests/test_jitter_rng.cpp:50,1
    - Dst: Botan::Entropy_Source::create
      Src: /src/botan/src/tests/test_jitter_rng.cpp:50,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/tests/test_jitter_rng.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 56
    functionName: Botan_Tests::test_jitter_rng
    functionSourceFile: /src/botan/src/tests/test_jitter_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::Jitter_RNG::clear
    - Botan_Tests::CHECK
    - Botan::Entropy_Source::create
    - Botan::Jitter_RNG::Jitter_RNG
    - Botan::Jitter_RNG::random_vec
    - Botan::Entropy_Sources::Entropy_Sources
    - Botan::Entropy_Sources::add_source
    - Botan::AutoSeeded_RNG::random_vec
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_jitter_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: Botan_Tests::Ed448_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan_Tests::Ed448_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Ed448_PublicKey>
      Src: /src/botan/src/tests/test_ed448.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_pk
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: Botan_Tests::Ed448_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Ed448_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: Botan_Tests::Ed448_Signature_Tests::Ed448_Signature_Tests
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_Signature_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan_Tests::Ed448_Signature_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed448.cpp:46,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed448.cpp:47,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_ed448.cpp:49,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_ed448.cpp:49,1
    - Dst: std::make_unique<Botan::Ed448_PrivateKey>
      Src: /src/botan/src/tests/test_ed448.cpp:51,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_ed448.cpp:53,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_ed448.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: Botan_Tests::Ed448_Signature_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Ed448_PrivateKey>
    - Test_Error
    - auto::public_key_bits
    - get_req_bin
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_sz
      Src: /src/botan/src/tests/test_ed448.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan_Tests::Ed448_Signature_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - get_req_sz
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: Botan_Tests::Ed448_Verification_Tests::Ed448_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed448.cpp:69,1
    - Dst: std::make_unique<Botan::Ed448_PublicKey>
      Src: /src/botan/src/tests/test_ed448.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Botan_Tests::Ed448_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - std::make_unique<Botan::Ed448_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_ed448.cpp:78,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_ed448.cpp:78,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_ed448.cpp:80,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_ed448.cpp:80,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/test_ed448.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sp
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: Botan_Tests::Ed448_General_Test::to_array
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan::copy_mem
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::array<uint8_t, S>
    signature: std::array<uint8_t, S> to_array(std::span<const uint8_t> sp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan_Tests::Ed448_General_Test::Ed448_General_Test
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_General_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Ed448_General_Test::to_array
      Src: /src/botan/src/tests/test_ed448.cpp:90,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed448.cpp:90,1
    - Dst: Botan_Tests::Ed448_General_Test::to_array
      Src: /src/botan/src/tests/test_ed448.cpp:91,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed448.cpp:91,1
    - Dst: Botan::Ed448Point::decode
      Src: /src/botan/src/tests/test_ed448.cpp:94,1
    - Dst: auto::encode
      Src: /src/botan/src/tests/test_ed448.cpp:95,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ed448.cpp:97,1
    - Dst: Botan::create_pk_from_sk
      Src: /src/botan/src/tests/test_ed448.cpp:100,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ed448.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: Botan_Tests::Ed448_General_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed448Point::decode
    - Test::Result::test_is_eq
    - Botan::create_pk_from_sk
    - Botan_Tests::Ed448_General_Test::to_array
    - get_req_bin
    - auto::encode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_sz
      Src: /src/botan/src/tests/test_ed448.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan_Tests::Ed448_General_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - get_req_sz
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::rbegin
      Src: /src/botan/src/tests/test_ed448.cpp:113,1
    - Dst: std::span<const uint8_t>::rend
      Src: /src/botan/src/tests/test_ed448.cpp:113,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ed448.cpp:114,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ed448.cpp:114,1
    - Dst: auto::serialize_to
      Src: /src/botan/src/tests/test_ed448.cpp:119,1
    - Dst: std::reverse
      Src: /src/botan/src/tests/test_ed448.cpp:120,1
    - Dst: std::array::begin
      Src: /src/botan/src/tests/test_ed448.cpp:120,1
    - Dst: std::array::end
      Src: /src/botan/src/tests/test_ed448.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: Botan_Tests::Ed448_Utils_Test::reduce_mod_L_ref
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::reverse
    - auto::serialize_to
    - std::array::end
    - std::span<const uint8_t>::rbegin
    - std::array::begin
    - std::span<const uint8_t>::rend
    linkageType: ''
    returnType: std::array<uint8_t, 56>
    signature: std::array<uint8_t, 56> reduce_mod_L_ref(std::span<const uint8_t> t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/botan/src/tests/test_ed448.cpp:127,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_ed448.cpp:127,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_ed448.cpp:127,1
    - Dst: Botan_Tests::Ed448_Utils_Test::reduce_mod_L_ref
      Src: /src/botan/src/tests/test_ed448.cpp:133,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_ed448.cpp:135,1
    - Dst: Botan::Scalar448
      Src: /src/botan/src/tests/test_ed448.cpp:135,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ed448.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: Botan_Tests::Ed448_Utils_Test::test_reduce_mod_L
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - Botan::Scalar448
    - std::array::data
    - Test::Result::test_no_throw
    - Botan_Tests::Ed448_Utils_Test::reduce_mod_L_ref
    - Test::Result::test_is_eq
    - std::array::size
    - std::memset
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reduce_mod_L()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Ed448_Utils_Test::test_reduce_mod_L
      Src: /src/botan/src/tests/test_ed448.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan_Tests::Ed448_Utils_Test::run
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Ed448_Utils_Test::test_reduce_mod_L
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/tests/test_ecies.cpp:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: Botan_Tests::get_compression_type
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: Botan::EC_Point_Format
    signature: Botan::EC_Point_Format get_compression_type(const std::string& format)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cofactor_mode
    - old_cofactor_mode
    - check_mode
    - single_hash_mode
    argTypes:
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: Botan_Tests::ecies_flags
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Flags
    signature: Flags ecies_flags(bool cofactor_mode, bool old_cofactor_mode, bool
      check_mode, bool single_hash_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ECIES_Encryptor::set_other_key
      Src: /src/botan/src/tests/test_ecies.cpp:51,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_ecies.cpp:52,1
    - Dst: domain
      Src: /src/botan/src/tests/test_ecies.cpp:52,1
    - Dst: raw_public_key_bits
      Src: /src/botan/src/tests/test_ecies.cpp:52,1
    - Dst: bits_of
      Src: /src/botan/src/tests/test_ecies.cpp:54,1
    - Dst: Botan::ECIES_Encryptor::set_initialization_vector
      Src: /src/botan/src/tests/test_ecies.cpp:55,1
    - Dst: Botan::ECIES_Decryptor::set_initialization_vector
      Src: /src/botan/src/tests/test_ecies.cpp:56,1
    - Dst: empty
      Src: /src/botan/src/tests/test_ecies.cpp:58,1
    - Dst: Botan::ECIES_Encryptor::set_label
      Src: /src/botan/src/tests/test_ecies.cpp:59,1
    - Dst: Botan::ECIES_Decryptor::set_label
      Src: /src/botan/src/tests/test_ecies.cpp:60,1
    - Dst: Botan::ECIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_ecies.cpp:63,1
    - Dst: empty
      Src: /src/botan/src/tests/test_ecies.cpp:64,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecies.cpp:65,1
    - Dst: Botan::ECIES_Decryptor::decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:67,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecies.cpp:68,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:73,1
    - Dst: Botan::ECIES_Decryptor::decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:74,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ecies.cpp:76,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ecies.cpp:76,1
    - Dst: what
      Src: /src/botan/src/tests/test_ecies.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 9
    argNames:
    - ' result'
    - ' private_key'
    - ' other_private_key'
    - ' ecies_params'
    - ' iv'
    - ' label'
    - ' plaintext'
    - ' ciphertext'
    - ' rng'
    argTypes:
    - Test::Result
    - Botan::ECDH_PrivateKey
    - Botan::ECDH_PrivateKey
    - Botan::ECIES_System_Params
    - Botan::InitializationVector
    - std::string
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 78
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 78
    functionName: Botan_Tests::check_encrypt_decrypt
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - raw_public_key_bits
    - bits_of
    - domain
    - Botan::ECIES_Decryptor::set_initialization_vector
    - Botan::ECIES_Encryptor::set_label
    - what
    - empty
    - test_eq
    - Botan::EC_AffinePoint::EC_AffinePoint
    - test_note
    - test_throws
    - std::string
    - Botan::ECIES_Encryptor::set_initialization_vector
    - Botan::ECIES_Decryptor::decrypt
    - Botan::ECIES_Decryptor::set_label
    - Botan::ECIES_Encryptor::set_other_key
    - Botan::ECIES_Encryptor::encrypt
    linkageType: ''
    returnType: void
    signature: "void check_encrypt_decrypt(Test::Result& result,\n                           const
      Botan::ECDH_PrivateKey& private_key,\n                           const Botan::ECDH_PrivateKey&
      other_private_key,\n                           const Botan::ECIES_System_Params&
      ecies_params,\n                           const Botan::InitializationVector&
      iv,\n                           const std::string& label,\n                           const
      std::vector<uint8_t>& plaintext,\n                           const std::vector<uint8_t>&
      ciphertext,\n                           Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check_encrypt_decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:87,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_ecies.cpp:91,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecies.cpp:91,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecies.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' result'
    - ' private_key'
    - ' other_private_key'
    - ' ecies_params'
    - iv_length
    - ' rng'
    argTypes:
    - Test::Result
    - Botan::ECDH_PrivateKey
    - Botan::ECDH_PrivateKey
    - Botan::ECIES_System_Params
    - size_t
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: Botan_Tests::check_encrypt_decrypt
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::check_encrypt_decrypt
    - std::vector<uint8_t>
    - Botan::InitializationVector
    linkageType: ''
    returnType: void
    signature: "void check_encrypt_decrypt(Test::Result& result,\n                                            const
      Botan::ECDH_PrivateKey& private_key,\n                                            const
      Botan::ECDH_PrivateKey& other_private_key,\n                                            const
      Botan::ECIES_System_Params& ecies_params,\n                                            size_t
      iv_length,\n                                            Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan_Tests::ECIES_ISO_Tests::ECIES_ISO_Tests
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECIES_ISO_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan_Tests::ECIES_ISO_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_ecies.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: Botan_Tests::ECIES_ISO_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_compression_type
      Src: /src/botan/src/tests/test_ecies.cpp:114,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:114,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:115,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:116,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:117,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:118,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:119,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:120,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:121,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:122,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:123,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:124,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:125,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecies.cpp:126,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecies.cpp:127,1
    - Dst: Botan_Tests::ECIES_ISO_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:132,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/tests/test_ecies.cpp:133,1
    - Dst: Botan_Tests::ECIES_ISO_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:137,1
    - Dst: Botan::ECDH_PrivateKey::public_value
      Src: /src/botan/src/tests/test_ecies.cpp:138,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecies.cpp:139,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:144,1
    - Dst: Botan_Tests::ECIES_ISO_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:145,1
    - Dst: Botan::ECIES_KA_Operation::derive_secret
      Src: /src/botan/src/tests/test_ecies.cpp:146,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecies.cpp:147,1
    - Dst: Botan::SymmetricKey::bits_of
      Src: /src/botan/src/tests/test_ecies.cpp:147,1
    - Dst: ecies_flags
      Src: /src/botan/src/tests/test_ecies.cpp:160,1
    - Dst: ECIES_System_Params::ECIES_System_Params
      Src: /src/botan/src/tests/test_ecies.cpp:164,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:164,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:173,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:177,1
    - Dst: check_encrypt_decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:185,1
    - Dst: Botan_Tests::ECIES_ISO_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 194
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 194
    functionName: Botan_Tests::ECIES_ISO_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ECIES_ISO_Tests::rng
    - get_req_bn
    - check_encrypt_decrypt
    - ECIES_System_Params::ECIES_System_Params
    - Test::Result::test_eq
    - get_req_str
    - Test::Result::test_throws
    - Botan::ECIES_KA_Operation::derive_secret
    - Botan::SymmetricKey::bits_of
    - Botan::EC_AffinePoint::from_bigint_xy
    - Botan::ECDH_PrivateKey::public_value
    - ecies_flags
    - get_req_bin
    - Botan::ECDH_PrivateKey::domain
    - get_compression_type
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group_with_cofactor
      Src: /src/botan/src/tests/test_ecies.cpp:210,1
    - Dst: Botan::BigInt::from_string
      Src: /src/botan/src/tests/test_ecies.cpp:211,1
    - Dst: Botan::BigInt::from_string
      Src: /src/botan/src/tests/test_ecies.cpp:212,1
    - Dst: Botan::BigInt::from_string
      Src: /src/botan/src/tests/test_ecies.cpp:213,1
    - Dst: Botan::BigInt::from_string
      Src: /src/botan/src/tests/test_ecies.cpp:215,1
    - Dst: Botan::BigInt::from_string
      Src: /src/botan/src/tests/test_ecies.cpp:216,1
    - Dst: Botan::BigInt::from_string
      Src: /src/botan/src/tests/test_ecies.cpp:217,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/tests/test_ecies.cpp:218,1
    - Dst: std::make_unique<Botan::EC_Group>
      Src: /src/botan/src/tests/test_ecies.cpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: Botan_Tests::ECIES_Tests::ECIES_Tests
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_u64
    - Botan::BigInt::from_string
    - std::make_unique<Botan::EC_Group>
    - Botan::EC_Group::supports_application_specific_group_with_cofactor
    linkageType: ''
    returnType: void
    signature: void ECIES_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:224,1
    - Dst: Botan::EC_Group::supports_application_specific_group_with_cofactor
      Src: /src/botan/src/tests/test_ecies.cpp:228,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecies.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: Botan_Tests::ECIES_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::EC_Group::supports_application_specific_group_with_cofactor
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:237,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:238,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:239,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:240,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:241,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_ecies.cpp:243,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_ecies.cpp:243,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:244,1
    - Dst: get_compression_type
      Src: /src/botan/src/tests/test_ecies.cpp:246,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:246,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:251,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecies.cpp:252,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecies.cpp:253,1
    - Dst: ecies_flags
      Src: /src/botan/src/tests/test_ecies.cpp:255,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:261,1
    - Dst: Botan_Tests::ECIES_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:265,1
    - Dst: Botan_Tests::ECIES_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:266,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:269,1
    - Dst: check_encrypt_decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:270,1
    - Dst: Botan_Tests::ECIES_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 274
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 274
    functionName: Botan_Tests::ECIES_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - get_opt_bin
    - get_req_bn
    - Botan_Tests::ECIES_Tests::rng
    - check_encrypt_decrypt
    - Botan::InitializationVector
    - get_req_str
    - ecies_flags
    - get_req_bin
    - Botan::ECDH_PrivateKey::domain
    - Botan::EC_Group::from_name
    - get_compression_type
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_ecies.cpp:287,1
    - Dst: Botan_Tests::ecies_flags
      Src: /src/botan/src/tests/test_ecies.cpp:289,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:290,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:298,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:309,1
    - Dst: Botan::ECIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_ecies.cpp:310,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecies.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 313
    functionName: Botan_Tests::test_other_key_not_set
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::ECIES_Encryptor::encrypt
    - std::vector<uint8_t>
    - Test::Result::test_throws
    - Botan_Tests::Test::new_rng
    - Botan_Tests::ecies_flags
    - Botan::ECDH_PrivateKey::domain
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_other_key_not_set()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_ecies.cpp:318,1
    - Dst: Botan_Tests::ecies_flags
      Src: /src/botan/src/tests/test_ecies.cpp:320,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:321,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:329,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:338,1
    - Dst: Botan::ECIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_ecies.cpp:340,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecies.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 344
    functionName: Botan_Tests::test_kdf_not_found
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::ECIES_Encryptor::encrypt
    - std::vector<uint8_t>
    - Test::Result::test_throws
    - Botan_Tests::Test::new_rng
    - Botan_Tests::ecies_flags
    - Botan::ECDH_PrivateKey::domain
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_kdf_not_found()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_ecies.cpp:349,1
    - Dst: Botan_Tests::ecies_flags
      Src: /src/botan/src/tests/test_ecies.cpp:351,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:352,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:360,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:369,1
    - Dst: Botan::ECIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_ecies.cpp:371,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecies.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 375
    functionName: Botan_Tests::test_mac_not_found
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::ECIES_Encryptor::encrypt
    - std::vector<uint8_t>
    - Test::Result::test_throws
    - Botan_Tests::Test::new_rng
    - Botan_Tests::ecies_flags
    - Botan::ECDH_PrivateKey::domain
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_mac_not_found()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_ecies.cpp:380,1
    - Dst: Botan_Tests::ecies_flags
      Src: /src/botan/src/tests/test_ecies.cpp:382,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:383,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:391,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:400,1
    - Dst: Botan::ECIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_ecies.cpp:402,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecies.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 406
    functionName: Botan_Tests::test_cipher_not_found
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::ECIES_Encryptor::encrypt
    - std::vector<uint8_t>
    - Test::Result::test_throws
    - Botan_Tests::Test::new_rng
    - Botan_Tests::ecies_flags
    - Botan::ECDH_PrivateKey::domain
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_cipher_not_found()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_ecies.cpp:411,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:413,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:428,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ecies.cpp:433,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ecies.cpp:436,1
    - Dst: Botan_Tests::check_encrypt_decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 449
    functionName: Botan_Tests::test_system_params_short_ctor
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check_encrypt_decrypt
    - Botan::hex_decode
    - Botan_Tests::Test::new_rng
    - Botan::ECDH_PrivateKey::domain
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_system_params_short_ctor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:454,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_ecies.cpp:465,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:471,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:475,1
    - Dst: Botan::ECIES_Decryptor::decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:476,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ecies.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 479
    functionName: Botan_Tests::test_ciphertext_too_short
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan::hex_decode
    - Botan_Tests::Test::new_rng
    - Botan::ECIES_Decryptor::decrypt
    - Botan::ECDH_PrivateKey::domain
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ciphertext_too_short()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ecies.cpp:493,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_ecies.cpp:495,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_ecies.cpp:497,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_ecies.cpp:497,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_ecies.cpp:497,1
    - Dst: what
      Src: /src/botan/src/tests/test_ecies.cpp:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 502
    functionName: Botan_Tests::ECIES_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::to_string
    - what
    - Botan_Tests::Test::Result::Failure
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:36,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_get_process_id
      Src: /src/botan/src/tests/test_os_utils.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:37,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_get_cpu_cycle_counter
      Src: /src/botan/src/tests/test_os_utils.cpp:37,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:38,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_get_high_resolution_clock
      Src: /src/botan/src/tests/test_os_utils.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:39,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_get_cpu_numbers
      Src: /src/botan/src/tests/test_os_utils.cpp:39,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:40,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_get_system_timestamp
      Src: /src/botan/src/tests/test_os_utils.cpp:40,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:41,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_memory_locking
      Src: /src/botan/src/tests/test_os_utils.cpp:41,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:42,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_cpu_instruction_probe
      Src: /src/botan/src/tests/test_os_utils.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: Botan_Tests::OS_Utils_Tests::run
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OS_Utils_Tests::test_memory_locking
    - Botan_Tests::OS_Utils_Tests::test_get_high_resolution_clock
    - Botan_Tests::OS_Utils_Tests::test_get_cpu_cycle_counter
    - Botan_Tests::OS_Utils_Tests::test_get_system_timestamp
    - Botan_Tests::OS_Utils_Tests::test_get_cpu_numbers
    - Botan_Tests::OS_Utils_Tests::test_get_process_id
    - Botan_Tests::OS_Utils_Tests::test_cpu_instruction_probe
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_os_utils.cpp:54,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_os_utils.cpp:54,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_os_utils.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_os_utils.cpp:57,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_os_utils.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: Botan_Tests::OS_Utils_Tests::test_get_process_id
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - Test::Result::test_eq
    - Test::Result::test_ne
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_process_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_os_utils.cpp:75,1
    - Dst: Botan::OS::get_cpu_cycle_counter
      Src: /src/botan/src/tests/test_os_utils.cpp:80,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_os_utils.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: Botan_Tests::OS_Utils_Tests::test_get_cpu_cycle_counter
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_lt
    - Test::Result::test_is_eq
    - Botan::OS::get_cpu_cycle_counter
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_cpu_cycle_counter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_os_utils.cpp:97,1
    - Dst: Botan::OS::get_high_resolution_clock
      Src: /src/botan/src/tests/test_os_utils.cpp:100,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_os_utils.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 107
    functionName: Botan_Tests::OS_Utils_Tests::test_get_high_resolution_clock
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_lt
    - Botan::OS::get_high_resolution_clock
    - Test::Result::confirm
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_high_resolution_clock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_os_utils.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: Botan_Tests::OS_Utils_Tests::test_get_cpu_numbers
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_gte
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_cpu_numbers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_os_utils.cpp:124,1
    - Dst: Botan::OS::get_process_id
      Src: /src/botan/src/tests/test_os_utils.cpp:127,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_os_utils.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: Botan_Tests::OS_Utils_Tests::test_get_system_timestamp
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::confirm
    - Botan::OS::get_process_id
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_system_timestamp()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: Botan_Tests::OS_Utils_Tests::test_memory_locking
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_memory_locking()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_os_utils.cpp:153,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_os_utils.cpp:157,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_os_utils.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 193
    functionName: Botan_Tests::OS_Utils_Tests::test_cpu_instruction_probe
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::confirm
    - Test::Result::test_note
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_cpu_instruction_probe()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Botan_Tests::ZFEC_KAT::ZFEC_KAT
    functionSourceFile: /src/botan/src/tests/test_zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZFEC_KAT()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_zfec.cpp:23,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_zfec.cpp:24,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_zfec.cpp:26,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_zfec.cpp:27,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_zfec.cpp:34,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_zfec.cpp:35,1
    - Dst: std::map::insert
      Src: /src/botan/src/tests/test_zfec.cpp:48,1
    - Dst: std::make_pair
      Src: /src/botan/src/tests/test_zfec.cpp:48,1
    - Dst: Botan::ZFEC::provider
      Src: /src/botan/src/tests/test_zfec.cpp:53,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_zfec.cpp:58,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_zfec.cpp:59,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_zfec.cpp:62,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_zfec.cpp:64,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_zfec.cpp:64,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_zfec.cpp:64,1
    - Dst: Botan::ZFEC::encode
      Src: /src/botan/src/tests/test_zfec.cpp:67,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_zfec.cpp:67,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_zfec.cpp:67,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_zfec.cpp:69,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_zfec.cpp:69,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_zfec.cpp:75,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_zfec.cpp:76,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_zfec.cpp:79,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_zfec.cpp:81,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_zfec.cpp:82,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_zfec.cpp:82,1
    - Dst: Botan::ZFEC::decode_shares
      Src: /src/botan/src/tests/test_zfec.cpp:85,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_zfec.cpp:87,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_zfec.cpp:87,1
    - Dst: std::set::clear
      Src: /src/botan/src/tests/test_zfec.cpp:90,1
    - Dst: std::map::size
      Src: /src/botan/src/tests/test_zfec.cpp:92,1
    - Dst: std::map::erase
      Src: /src/botan/src/tests/test_zfec.cpp:94,1
    - Dst: Botan::ZFEC::decode_shares
      Src: /src/botan/src/tests/test_zfec.cpp:97,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_zfec.cpp:99,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_zfec.cpp:99,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 102
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 102
    functionName: Botan_Tests::ZFEC_KAT::run_one_test
    functionSourceFile: /src/botan/src/tests/test_zfec.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_lt
    - Botan::ZFEC::provider
    - std::to_string
    - std::map::insert
    - Test_Error
    - std::string::c_str
    - Test::Result::test_eq
    - std::map::size
    - std::set::clear
    - std::set::size
    - Test::Result::test_failure
    - std::map::erase
    - std::vector::size
    - std::vector::data
    - get_req_bin
    - std::set::insert
    - std::make_pair
    - Botan::ZFEC::encode
    - Botan::ZFEC::decode_shares
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_Tests::SRP6_KAT_Tests::SRP6_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_srp6.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SRP6_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_Tests::SRP6_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_srp6.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_srp6.cpp:29,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_srp6.cpp:30,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_srp6.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_srp6.cpp:32,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_srp6.cpp:33,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_srp6.cpp:34,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_srp6.cpp:35,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_srp6.cpp:36,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_srp6.cpp:37,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_srp6.cpp:38,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_srp6.cpp:39,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/test_srp6.cpp:40,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_srp6.cpp:40,1
    - Dst: Botan::srp6_group_identifier
      Src: /src/botan/src/tests/test_srp6.cpp:42,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_srp6.cpp:43,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_srp6.cpp:44,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_srp6.cpp:49,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_srp6.cpp:50,1
    - Dst: BigInt::bits
      Src: /src/botan/src/tests/test_srp6.cpp:54,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_srp6.cpp:54,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_srp6.cpp:55,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_srp6.cpp:59,1
    - Dst: Botan::srp6_generate_verifier
      Src: /src/botan/src/tests/test_srp6.cpp:61,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_srp6.cpp:62,1
    - Dst: Botan::SRP6_Server_Session::step1
      Src: /src/botan/src/tests/test_srp6.cpp:68,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_srp6.cpp:69,1
    - Dst: Botan::srp6_client_agree
      Src: /src/botan/src/tests/test_srp6.cpp:73,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_srp6.cpp:74,1
    - Dst: Botan::SRP6_Server_Session::step2
      Src: /src/botan/src/tests/test_srp6.cpp:76,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_srp6.cpp:78,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_srp6.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 82
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 82
    functionName: Botan_Tests::SRP6_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_srp6.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - Botan::SymmetricKey
    - get_req_bn
    - Test::Result::test_note
    - Botan::srp6_group_identifier
    - BigInt::bits
    - Test::Result::test_eq
    - get_req_str
    - Botan_Tests::Test::run_long_tests
    - Botan::srp6_generate_verifier
    - Botan::SRP6_Server_Session::step2
    - Botan::SRP6_Server_Session::step1
    - Test_Error
    - Botan::srp6_client_agree
    - get_req_bin
    - Botan::HashFunction::create
    - std::string::empty
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_srp6.cpp:99,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_srp6.cpp:103,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_srp6.cpp:106,1
    - Dst: Botan_Tests::SRP6_RT_Tests::rng
      Src: /src/botan/src/tests/test_srp6.cpp:112,1
    - Dst: Botan::srp6_generate_verifier
      Src: /src/botan/src/tests/test_srp6.cpp:115,1
    - Dst: Botan::SRP6_Server_Session::step1
      Src: /src/botan/src/tests/test_srp6.cpp:119,1
    - Dst: Botan_Tests::SRP6_RT_Tests::rng
      Src: /src/botan/src/tests/test_srp6.cpp:119,1
    - Dst: srp6_client_agree
      Src: /src/botan/src/tests/test_srp6.cpp:121,1
    - Dst: Botan_Tests::SRP6_RT_Tests::rng
      Src: /src/botan/src/tests/test_srp6.cpp:121,1
    - Dst: Botan::SRP6_Server_Session::step2
      Src: /src/botan/src/tests/test_srp6.cpp:123,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_srp6.cpp:125,1
    - Dst: auto::second::bits_of
      Src: /src/botan/src/tests/test_srp6.cpp:125,1
    - Dst: Botan::SymmetricKey::bits_of
      Src: /src/botan/src/tests/test_srp6.cpp:125,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_srp6.cpp:127,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_srp6.cpp:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 132
    functionName: Botan_Tests::SRP6_RT_Tests::run
    functionSourceFile: /src/botan/src/tests/test_srp6.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::to_string
    - Test::Result::test_eq
    - auto::second::bits_of
    - srp6_client_agree
    - Botan_Tests::Test::run_long_tests
    - Botan_Tests::SRP6_RT_Tests::rng
    - Botan::srp6_generate_verifier
    - Botan::SRP6_Server_Session::step2
    - Botan::SRP6_Server_Session::step1
    - Botan::SymmetricKey::bits_of
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/tests/test_simd.cpp:31,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_simd.cpp:32,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:49,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/tests/test_simd.cpp:49,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:50,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/tests/test_simd.cpp:50,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/tests/test_simd.cpp:52,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:54,1
    - Dst: Botan::SIMD_4x32::rotl
      Src: /src/botan/src/tests/test_simd.cpp:58,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:60,1
    - Dst: Botan::rotl<3>
      Src: /src/botan/src/tests/test_simd.cpp:63,1
    - Dst: Botan::rotl<3>
      Src: /src/botan/src/tests/test_simd.cpp:64,1
    - Dst: Botan::rotl<3>
      Src: /src/botan/src/tests/test_simd.cpp:65,1
    - Dst: Botan::rotl<3>
      Src: /src/botan/src/tests/test_simd.cpp:66,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/tests/test_simd.cpp:68,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:70,1
    - Dst: Botan::rotr<9>
      Src: /src/botan/src/tests/test_simd.cpp:73,1
    - Dst: Botan::rotr<9>
      Src: /src/botan/src/tests/test_simd.cpp:74,1
    - Dst: Botan::rotr<9>
      Src: /src/botan/src/tests/test_simd.cpp:75,1
    - Dst: Botan::rotr<9>
      Src: /src/botan/src/tests/test_simd.cpp:76,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:79,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:82,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:85,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:87,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:88,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:89,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:93,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:95,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:97,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:100,1
    - Dst: Botan::SIMD_4x32::shr
      Src: /src/botan/src/tests/test_simd.cpp:102,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:103,1
    - Dst: Botan::SIMD_4x32::shl
      Src: /src/botan/src/tests/test_simd.cpp:105,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:106,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:109,1
    - Dst: Botan::SIMD_4x32::andc
      Src: /src/botan/src/tests/test_simd.cpp:111,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:112,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:115,1
    - Dst: Botan::SIMD_4x32::bswap
      Src: /src/botan/src/tests/test_simd.cpp:117,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/tests/test_simd.cpp:118,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/tests/test_simd.cpp:119,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/tests/test_simd.cpp:120,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/tests/test_simd.cpp:121,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/tests/test_simd.cpp:128,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:130,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:131,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:132,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:133,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:135,1
    - Dst: Botan::SIMD_4x32::shift_elems_left
      Src: /src/botan/src/tests/test_simd.cpp:135,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:136,1
    - Dst: Botan::SIMD_4x32::shift_elems_left
      Src: /src/botan/src/tests/test_simd.cpp:136,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:137,1
    - Dst: Botan::SIMD_4x32::shift_elems_left
      Src: /src/botan/src/tests/test_simd.cpp:137,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:139,1
    - Dst: Botan::SIMD_4x32::shift_elems_right
      Src: /src/botan/src/tests/test_simd.cpp:139,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:140,1
    - Dst: Botan::SIMD_4x32::shift_elems_right
      Src: /src/botan/src/tests/test_simd.cpp:140,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:141,1
    - Dst: Botan::SIMD_4x32::shift_elems_right
      Src: /src/botan/src/tests/test_simd.cpp:141,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_simd.cpp:144,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_simd.cpp:145,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_simd.cpp:146,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_simd.cpp:147,1
    - Dst: Botan::load_le<Botan::SIMD_4x32>
      Src: /src/botan/src/tests/test_simd.cpp:149,1
    - Dst: Botan::load_be<Botan::SIMD_4x32>
      Src: /src/botan/src/tests/test_simd.cpp:150,1
    - Dst: Botan::load_le<std::array<Botan::SIMD_4x32, 2>>
      Src: /src/botan/src/tests/test_simd.cpp:151,1
    - Dst: Botan::load_be<std::array<Botan::SIMD_4x32, 2>>
      Src: /src/botan/src/tests/test_simd.cpp:152,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_simd.cpp:154,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_simd.cpp:155,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_simd.cpp:156,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_simd.cpp:157,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_simd.cpp:159,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_simd.cpp:160,1
    - Dst: std::vector
      Src: /src/botan/src/tests/test_simd.cpp:161,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_simd.cpp:161,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_simd.cpp:161,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_simd.cpp:162,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_simd.cpp:163,1
    - Dst: std::vector
      Src: /src/botan/src/tests/test_simd.cpp:164,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_simd.cpp:164,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_simd.cpp:164,1
    - Dst: Botan::load_le<StrongSIMD>
      Src: /src/botan/src/tests/test_simd.cpp:168,1
    - Dst: Botan::load_be<StrongSIMD>
      Src: /src/botan/src/tests/test_simd.cpp:169,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_simd.cpp:171,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_simd.cpp:172,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_simd.cpp:173,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_simd.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 177
    functionName: Botan_Tests::SIMD_4X32_Tests::run
    functionSourceFile: /src/botan/src/tests/test_simd.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x32::splat
    - Botan::store_be
    - Botan::SIMD_4x32::shl
    - Botan::SIMD_4x32::rotl
    - auto::end
    - Botan::load_le<StrongSIMD>
    - Botan::SIMD_4x32::transpose
    - Botan::store_le<std::vector<uint8_t>>
    - Botan::load_be<StrongSIMD>
    - Botan::SIMD_4x32::SIMD_4x32
    - Botan::SIMD_4x32::rotr
    - Botan::load_le<Botan::SIMD_4x32>
    - Botan_Tests::SIMD_4X32_Tests::test_eq
    - Botan::SIMD_4x32::shift_elems_right
    - Botan::load_be<Botan::SIMD_4x32>
    - Botan::SIMD_4x32::shift_elems_left
    - auto::begin
    - Botan::SIMD_4x32::shr
    - Botan::load_le<std::array<Botan::SIMD_4x32, 2>>
    - Test::Result::test_note
    - Botan::SIMD_4x32::bswap
    - Botan::store_be<std::vector<uint8_t>>
    - Botan::hex_decode
    - Test::Result::test_is_eq
    - Botan::reverse_bytes
    - Botan::concat
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::load_be<std::array<Botan::SIMD_4x32, 2>>
    - Botan::rotl<3>
    - std::vector
    - Botan::rotr<9>
    - Botan::SIMD_4x32::andc
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/tests/test_simd.cpp:198,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:200,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:201,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:202,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:203,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:204,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:205,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:206,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:207,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/tests/test_simd.cpp:211,1
    - Dst: Botan::SIMD_4x32::store_be
      Src: /src/botan/src/tests/test_simd.cpp:212,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:213,1
    - Dst: store_le
      Src: /src/botan/src/tests/test_simd.cpp:215,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:217,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:218,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:219,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:220,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:221,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:222,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:223,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:224,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/tests/test_simd.cpp:228,1
    - Dst: Botan::SIMD_4x32::store_le
      Src: /src/botan/src/tests/test_simd.cpp:229,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 7
    argNames:
    - ' result'
    - ' op'
    - ' simd'
    - exp0
    - exp1
    - exp2
    - exp3
    argTypes:
    - Test::Result
    - std::string
    - Botan::SIMD_4x32
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 232
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 232
    functionName: Botan_Tests::SIMD_4X32_Tests::test_eq
    functionSourceFile: /src/botan/src/tests/test_simd.cpp
    functionUses: 2
    functionsReached:
    - Botan::SIMD_4x32::load_le
    - store_be
    - test_int_eq
    - Botan::SIMD_4x32::store_be
    - Botan::make_uint32
    - Botan_Tests::SIMD_4X32_Tests::test_eq
    - store_le
    - Botan::SIMD_4x32::store_le
    - Botan::SIMD_4x32::load_be
    linkageType: ''
    returnType: void
    signature: "void test_eq(Test::Result& result,\n                          const
      std::string& op,\n                          const Botan::SIMD_4x32& simd,\n
      \                         uint32_t exp0,\n                          uint32_t
      exp1,\n                          uint32_t exp2,\n                          uint32_t
      exp3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:42,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/test_x509_rpki.cpp:43,1
    - Dst: Botan::calendar_point::to_std_timepoint
      Src: /src/botan/src/tests/test_x509_rpki.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - m
    - d
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: Botan_Tests::from_date
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 7
    functionsReached:
    - Botan::calendar_point::to_std_timepoint
    - Botan::X509_Time
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Botan::X509_Time
    signature: Botan::X509_Time from_date(const int y, const int m, const int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_x509_rpki.cpp:52,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_x509_rpki.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' algo'
    - ' rng'
    argTypes:
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: Botan_Tests::generate_key
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_private_key
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> generate_key(const std::string&
      algo, Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/test_x509_rpki.cpp:71,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/tests/test_x509_rpki.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: Botan_Tests::ca_opts
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 6
    functionsReached:
    - Botan::X509_Cert_Options::CA_key
    - Botan::X509_Cert_Options::set_padding_scheme
    linkageType: ''
    returnType: Botan::X509_Cert_Options
    signature: Botan::X509_Cert_Options ca_opts(const std::string& sig_padding = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/test_x509_rpki.cpp:84,1
    - Dst: Botan::X509_Cert_Options::not_before
      Src: /src/botan/src/tests/test_x509_rpki.cpp:86,1
    - Dst: Botan::X509_Cert_Options::not_after
      Src: /src/botan/src/tests/test_x509_rpki.cpp:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: Botan_Tests::req_opts
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Cert_Options::not_after
    - Botan::X509_Cert_Options::not_before
    - Botan::X509_Cert_Options::set_padding_scheme
    linkageType: ''
    returnType: Botan::X509_Cert_Options
    signature: Botan::X509_Cert_Options req_opts(const std::string& algo, const std::string&
      sig_padding = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_x509_rpki.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: Botan_Tests::get_sig_algo_padding
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    linkageType: ''
    returnType: std::tuple<std::string, std::string, std::string>
    signature: std::tuple<std::string, std::string, std::string> get_sig_algo_padding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:119,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:119,1
    - Dst: Botan_Tests::generate_key
      Src: /src/botan/src/tests/test_x509_rpki.cpp:121,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/test_x509_rpki.cpp:122,1
    - Dst: Botan_Tests::generate_key
      Src: /src/botan/src/tests/test_x509_rpki.cpp:124,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:126,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - std::unique_ptr<Botan::RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: Botan_Tests::make_ca
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan_Tests::generate_key
    - Botan_Tests::ca_opts
    - Botan::X509::create_self_signed_cert
    linkageType: ''
    returnType: CA_Creation_Result
    signature: "CA_Creation_Result make_ca(std::unique_ptr<Botan::RandomNumberGenerator>&
      rng,\n                           const Botan::X509_Cert_Options& opts = std::move(ca_opts()))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:135,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:136,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:136,1
    - Dst: Botan_Tests::generate_key
      Src: /src/botan/src/tests/test_x509_rpki.cpp:138,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:140,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:141,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:141,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:141,1
    - Dst: std::make_pair
      Src: /src/botan/src/tests/test_x509_rpki.cpp:144,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:144,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ext
    - ' parent_ca'
    - ' rng'
    argTypes:
    - std::unique_ptr<Botan::Certificate_Extension>
    - Botan::X509_CA
    - std::unique_ptr<Botan::RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: Botan_Tests::make_and_sign_ca
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan_Tests::generate_key
    - Botan_Tests::ca_opts
    - std::make_pair
    - Botan::X509_Cert_Options::extensions::add
    - Botan_Tests::from_date
    - Botan::X509::create_cert_req
    - sign_request
    linkageType: ''
    returnType: std::pair<Botan::X509_Certificate, Botan::X509_CA>
    signature: "std::pair<Botan::X509_Certificate, Botan::X509_CA> make_and_sign_ca(\n
      \  std::unique_ptr<Botan::Certificate_Extension> ext,\n   Botan::X509_CA& parent_ca,\n
      \  std::unique_ptr<Botan::RandomNumberGenerator>& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:154,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_rpki.cpp:157,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:161,1
    - Dst: auto::addr_blocks
      Src: /src/botan/src/tests/test_x509_rpki.cpp:163,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:164,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:165,1
    - Dst: size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:165,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:167,1
    - Dst: addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:167,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:168,1
    - Dst: addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:168,1
    - Dst: ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:170,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:173,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:173,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:175,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:175,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:178,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:178,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:180,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:180,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:183,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:183,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:185,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:185,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:188,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:188,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:190,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:190,1
    - Dst: ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:192,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:194,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:194,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:195,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:195,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:196,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:196,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:197,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:197,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:198,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:198,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:199,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:199,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:200,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:200,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:201,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:201,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 205
    functionName: Botan_Tests::test_x509_ip_addr_blocks_extension_decode
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::v3_extensions
    - max
    - Botan_Tests::Test::data_file
    - addr_choice
    - auto::addr_blocks
    - Test::Result::test_eq
    - Test::Result::confirm
    - std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
    - std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
    - size
    - ranges
    - min
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_extension_decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:209,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_rpki.cpp:214,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:216,1
    - Dst: auto::as_identifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:218,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:219,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:221,1
    - Dst: rdi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:222,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:225,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:225,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:226,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:226,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:229,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:229,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:230,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:230,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_rpki.cpp:234,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:236,1
    - Dst: auto::as_identifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:238,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:239,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:241,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:242,1
    - Dst: rdi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:242,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:245,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:245,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:246,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:246,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_rpki.cpp:250,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:252,1
    - Dst: auto::as_identifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:254,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:255,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:257,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:257,1
    - Dst: rdi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:258,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:261,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:261,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:262,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:262,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_rpki.cpp:266,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:268,1
    - Dst: auto::as_identifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:270,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:271,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:273,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:273,1
    - Dst: rdi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:274,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:277,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:277,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:278,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:278,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 283
    functionName: Botan_Tests::test_x509_as_blocks_extension_decode
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - asnum
    - Botan::X509_Certificate::v3_extensions
    - max
    - Botan_Tests::Test::data_file
    - Test::Result::confirm
    - rdi
    - auto::as_identifiers
    - min
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_as_blocks_extension_decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:289,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:293,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:305,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:308,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:310,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:314,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:316,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:320,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:322,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:325,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:327,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:331,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:334,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:338,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:340,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:342,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:343,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:344,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:345,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:347,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:348,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:349,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:350,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:354,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:355,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:356,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:357,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:362,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:363,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:364,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:365,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:368,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:370,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:373,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:375,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:378,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:379,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:383,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:386,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:389,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:391,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:391,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:393,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:394,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:394,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:394,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:396,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:397,1
    - Dst: auto::addr_blocks
      Src: /src/botan/src/tests/test_x509_rpki.cpp:399,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:401,1
    - Dst: empty
      Src: /src/botan/src/tests/test_x509_rpki.cpp:401,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:407,1
    - Dst: auto::afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:407,1
    - Dst: auto::afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:407,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:408,1
    - Dst: auto::safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:408,1
    - Dst: auto::safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:408,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:409,1
    - Dst: auto::addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:409,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:412,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:414,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:414,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:414,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:415,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:415,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:415,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:416,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:416,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:416,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:417,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:417,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:417,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:418,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:418,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:418,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:419,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:419,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:419,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:420,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:420,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:420,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:421,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:421,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:421,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:423,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_x509_rpki.cpp:423,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:426,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:426,1
    - Dst: size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:431,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:432,1
    - Dst: auto::afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:432,1
    - Dst: auto::afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:432,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:433,1
    - Dst: auto::safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:433,1
    - Dst: auto::safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:433,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:434,1
    - Dst: auto::addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:434,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:436,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:438,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:438,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:438,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:439,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:439,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:439,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:440,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:440,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:440,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:441,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:441,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:441,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:442,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:442,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:442,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:443,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:443,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:443,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:444,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:444,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:444,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:445,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:445,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:445,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:447,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_x509_rpki.cpp:447,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:450,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:450,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:456,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 458
    functionName: Botan_Tests::test_x509_ip_addr_blocks_extension_encode
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - empty
    - std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
    - std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
    - auto::addr_choice
    - Botan::X509::create_cert_req
    - Test::Result::end_timer
    - sign_request
    - auto::addr_blocks
    - Test::Result::test_eq
    - Test::Result::confirm
    - IPAddressBlocks::IPAddressChoice<IPv6>
    - Botan_Tests::req_opts
    - auto::afi
    - IPAddressBlocks::IPAddress<IPv4>
    - std::make_unique<IPAddressBlocks>
    - Botan_Tests::Test::new_rng
    - Botan_Tests::from_date
    - min
    - std::vector::push_back
    - auto::safi
    - Botan::X509_Certificate::v3_extensions
    - max
    - IPAddressBlocks::IPAddress<IPv6>
    - auto::min
    - IPAddressBlocks::IPAddressChoice<IPv4>
    - IPAddressBlocks::IPAddressOrRange<IPv4>
    - IPAddressBlocks::IPAddressOrRange<IPv6>
    - auto::empty
    - auto::ranges
    - size
    - Botan::X509_Cert_Options::extensions::add
    - IPAddressBlocks::IPAddressFamily
    - auto::max
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_extension_encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:462,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:466,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:474,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:486,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:498,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:499,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:501,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:504,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:506,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:508,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:511,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:513,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:515,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:515,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:517,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:518,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:518,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:518,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:520,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:521,1
    - Dst: auto::addr_blocks
      Src: /src/botan/src/tests/test_x509_rpki.cpp:522,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:524,1
    - Dst: auto::afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:524,1
    - Dst: auto::afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:524,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:525,1
    - Dst: auto::safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:525,1
    - Dst: auto::safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:525,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:526,1
    - Dst: auto::addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:526,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:527,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:529,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:529,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:529,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:530,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:530,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:530,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:535,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 537
    functionName: Botan_Tests::test_x509_ip_addr_blocks_extension_encode_edge_cases
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
    - auto::addr_choice
    - Botan::X509::create_cert_req
    - Test::Result::end_timer
    - sign_request
    - auto::addr_blocks
    - Test::Result::test_eq
    - Test::Result::confirm
    - IPAddressBlocks::IPAddressChoice<IPv6>
    - Botan_Tests::req_opts
    - auto::afi
    - std::vector::size
    - std::make_unique<IPAddressBlocks>
    - Botan_Tests::Test::new_rng
    - Botan_Tests::from_date
    - min
    - std::vector::push_back
    - auto::safi
    - Botan::X509_Certificate::v3_extensions
    - max
    - IPAddressBlocks::IPAddress<IPv6>
    - auto::min
    - IPAddressBlocks::IPAddressOrRange<IPv6>
    - auto::ranges
    - Botan::X509_Cert_Options::extensions::add
    - IPAddressBlocks::IPAddressFamily
    - auto::max
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_extension_encode_edge_cases()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:541,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:545,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:548,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:564,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:565,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:566,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:567,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:570,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:571,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:574,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:576,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:578,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:578,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:580,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:581,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:581,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:581,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:583,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:584,1
    - Dst: auto::addr_blocks
      Src: /src/botan/src/tests/test_x509_rpki.cpp:585,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:587,1
    - Dst: auto::addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:587,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:588,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:593,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:593,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:594,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:594,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:595,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:595,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 600
    functionName: Botan_Tests::test_x509_ip_addr_blocks_range_merge
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
    - auto::addr_choice
    - Botan::X509::create_cert_req
    - Test::Result::end_timer
    - sign_request
    - auto::addr_blocks
    - Test::Result::test_eq
    - Test::Result::confirm
    - auto::size
    - Botan_Tests::req_opts
    - IPAddressBlocks::IPAddress<IPv4>
    - std::make_unique<IPAddressBlocks>
    - Botan_Tests::Test::new_rng
    - Botan_Tests::from_date
    - min
    - std::vector::push_back
    - Botan::X509_Certificate::v3_extensions
    - max
    - IPAddressBlocks::IPAddressChoice<IPv4>
    - IPAddressBlocks::IPAddressOrRange<IPv4>
    - auto::ranges
    - Botan::X509_Cert_Options::extensions::add
    - IPAddressBlocks::IPAddressFamily
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_range_merge()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:604,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:608,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:611,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:622,1
    - Dst: IPAddressBlocks::IPAddressChoice::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:623,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:629,1
    - Dst: IPAddressBlocks::IPAddressChoice::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:630,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:647,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:648,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:649,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:650,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:651,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:652,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:658,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:660,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:660,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:662,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:663,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:663,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:663,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:665,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:666,1
    - Dst: auto::addr_blocks
      Src: /src/botan/src/tests/test_x509_rpki.cpp:667,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:669,1
    - Dst: size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:669,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:669,1
    - Dst: size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:672,1
    - Dst: safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:677,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:678,1
    - Dst: safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:678,1
    - Dst: safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:682,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:683,1
    - Dst: safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:683,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:692,1
    - Dst: size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:694,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:698,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:698,1
    - Dst: afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:698,1
    - Dst: afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:698,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:699,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:699,1
    - Dst: safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:699,1
    - Dst: safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:699,1
    - Dst: afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:701,1
    - Dst: afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:701,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:702,1
    - Dst: addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:702,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:703,1
    - Dst: addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:703,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:705,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:706,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:707,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:707,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:709,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:710,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:710,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:712,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:716,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:717,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:718,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:718,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:719,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:719,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:722,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:722,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:726,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:727,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:728,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:728,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:729,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:730,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:731,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:732,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:732,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:733,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:734,1
    - Dst: afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:737,1
    - Dst: afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:737,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:738,1
    - Dst: addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:738,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:739,1
    - Dst: addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:739,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:741,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:742,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:743,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:743,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:745,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:746,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:746,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:748,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:752,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:753,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:754,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:754,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:755,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:755,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:758,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:758,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:762,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:763,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:764,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:764,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:765,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:766,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:767,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:768,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:768,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:769,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:770,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:776,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 778
    functionName: Botan_Tests::test_x509_ip_addr_blocks_family_merge
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - IPAddressBlocks::IPAddressChoice::ranges
    - std::to_string
    - std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
    - std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
    - afi
    - Botan::X509::create_cert_req
    - Test::Result::end_timer
    - sign_request
    - auto::addr_blocks
    - Test::Result::test_eq
    - Test::Result::confirm
    - safi
    - auto::size
    - Botan_Tests::req_opts
    - static_cast<uint32_t>
    - std::vector::size
    - addr_choice
    - std::make_unique<IPAddressBlocks>
    - Botan_Tests::Test::new_rng
    - Botan_Tests::from_date
    - min
    - std::vector::push_back
    - Botan::X509_Certificate::v3_extensions
    - max
    - auto::ranges
    - size
    - Botan::X509_Cert_Options::extensions::add
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_family_merge()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:782,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:785,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:802,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:804,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:807,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:809,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:812,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:814,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:816,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:817,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:818,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:819,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:824,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:825,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:827,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:828,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:831,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:834,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:835,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:837,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:838,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:841,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:845,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:847,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:849,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:851,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:854,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:856,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:858,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:859,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:860,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:867,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:869,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:872,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:874,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:877,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:879,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:881,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:882,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:883,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:888,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:889,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:891,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:892,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:895,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:897,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:898,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:898,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:900,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:901,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:901,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_rpki.cpp:904,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:905,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:912,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:912,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:914,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:914,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:916,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:917,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:920,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:924,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:926,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:926,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:926,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:931,1
    - Dst: Test::Result::require
      Src: /src/botan/src/tests/test_x509_rpki.cpp:932,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_rpki.cpp:932,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 937
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 937
    functionName: Botan_Tests::test_x509_ip_addr_blocks_path_validation_success
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::Certificate_Store_In_Memory::add_certificate
    - std::optional
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::x509_path_validate
    - Botan::X509::create_cert_req
    - Test::Result::end_timer
    - sign_request
    - Botan_Tests::ca_opts
    - IPAddressBlocks::IPAddressChoice<IPv6>
    - Botan_Tests::req_opts
    - IPAddressBlocks::IPAddress<IPv4>
    - std::make_unique<IPAddressBlocks>
    - Botan_Tests::Test::new_rng
    - Test::Result::require
    - Botan_Tests::from_date
    - IPAddressBlocks::IPAddress<IPv6>
    - IPAddressBlocks::IPAddressChoice<IPv4>
    - IPAddressBlocks::IPAddressOrRange<IPv4>
    - IPAddressBlocks::IPAddressOrRange<IPv6>
    - Botan::Path_Validation_Result::successful_validation
    - Botan::X509_Cert_Options::extensions::add
    - IPAddressBlocks::IPAddressFamily
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_path_validation_success()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:941,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:944,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:961,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:964,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:964,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:965,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:967,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:969,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:971,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:971,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:977,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:979,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:980,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:985,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:988,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:988,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:989,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:991,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1003,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1011,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1013,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1015,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1015,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1016,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1019,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1021,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1022,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1022,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1024,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1026,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1026,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1026,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1031,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1032,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1034,1
    - Dst: Test::Result::require
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1035,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1035,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1038,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 1040
    functionName: Botan_Tests::test_x509_ip_addr_blocks_path_validation_failure
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::optional
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::x509_path_validate
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::X509::create_cert_req
    - Test::Result::end_timer
    - sign_request
    - Botan_Tests::ca_opts
    - Botan_Tests::req_opts
    - IPAddressBlocks::IPAddress<IPv4>
    - std::make_unique<IPAddressBlocks>
    - Botan_Tests::Test::new_rng
    - Test::Result::require
    - Botan_Tests::from_date
    - std::vector::push_back
    - IPAddressBlocks::IPAddressChoice<IPv4>
    - IPAddressBlocks::IPAddressOrRange<IPv4>
    - Botan::Path_Validation_Result::successful_validation
    - Botan::X509_Cert_Options::extensions::add
    - IPAddressBlocks::IPAddressFamily
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_path_validation_failure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1044,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1048,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1061,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1062,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1063,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1065,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1066,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1067,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1071,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1072,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1073,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1078,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1079,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1080,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1083,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1084,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1086,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1086,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1087,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1089,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1091,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1092,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1092,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1094,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1095,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1095,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1095,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1098,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1099,1
    - Dst: auto::as_identifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1101,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1104,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1107,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1107,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1108,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1108,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1110,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1110,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1111,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1111,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1113,1
    - Dst: empty
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1113,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1116,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1116,1
    - Dst: rdi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1120,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1123,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1123,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1124,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1124,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1126,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1126,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1127,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1127,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1129,1
    - Dst: empty
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1129,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1132,1
    - Dst: rdi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1132,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1139
    functionName: Botan_Tests::test_x509_as_blocks_extension_encode
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::optional
    - empty
    - Botan::X509::create_cert_req
    - Test::Result::end_timer
    - sign_request
    - ASBlocks::ASIdOrRange
    - std::make_unique<ASBlocks>
    - Test::Result::confirm
    - Botan_Tests::req_opts
    - asnum
    - rdi
    - Botan_Tests::Test::new_rng
    - auto::as_identifiers
    - Botan_Tests::from_date
    - min
    - std::vector::push_back
    - Botan::X509_Certificate::v3_extensions
    - max
    - ASBlocks::ASIdentifierChoice
    - Botan::X509_Cert_Options::extensions::add
    - ASBlocks::ASIdentifiers
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_as_blocks_extension_encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1143,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1147,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1150,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1164,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1165,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1168,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1170,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1170,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1172,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1174,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1174,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1176,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1177,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1177,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1177,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1179,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1180,1
    - Dst: auto::as_identifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1182,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1184,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1186,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1186,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1187,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1187,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1188,1
    - Dst: size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1188,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1193
    functionName: Botan_Tests::test_x509_as_blocks_range_merge
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::optional
    - Botan::X509::create_cert_req
    - Test::Result::end_timer
    - sign_request
    - ASBlocks::ASIdOrRange
    - std::make_unique<ASBlocks>
    - Test::Result::confirm
    - Botan_Tests::req_opts
    - asnum
    - Botan_Tests::Test::new_rng
    - auto::as_identifiers
    - Botan_Tests::from_date
    - min
    - std::vector::push_back
    - Botan::X509_Certificate::v3_extensions
    - max
    - ASBlocks::ASIdentifierChoice
    - size
    - Botan::X509_Cert_Options::extensions::add
    - ASBlocks::ASIdentifiers
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_as_blocks_range_merge()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1197,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1200,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1211,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1212,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1213,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1215,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1216,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1217,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1220,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1221,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1222,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1225,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1226,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1227,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1229,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1230,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1231,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1232,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1235,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1236,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1237,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1238,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1241,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1242,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1243,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1245,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1246,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1249,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1250,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1251,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1254,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1255,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1258,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1259,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1260,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1261,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1262,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1264,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1265,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1266,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1267,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1270,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1271,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1272,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1273,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1274,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1277,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1278,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1279,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1280,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1282,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1283,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1284,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1285,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1287,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1288,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1288,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1290,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1291,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1291,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1294,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1295,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1302,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1302,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1304,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1304,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1305,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1306,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1310,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1312,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1312,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1312,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1317,1
    - Dst: Test::Result::require
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1318,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1318,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1323
    functionName: Botan_Tests::test_x509_as_blocks_path_validation_success
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::Certificate_Store_In_Memory::add_certificate
    - std::optional
    - Botan::x509_path_validate
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::X509::create_cert_req
    - Test::Result::end_timer
    - sign_request
    - ASBlocks::ASIdOrRange
    - std::make_unique<ASBlocks>
    - Botan_Tests::ca_opts
    - Botan_Tests::req_opts
    - Botan_Tests::Test::new_rng
    - Test::Result::require
    - Botan_Tests::from_date
    - std::vector::push_back
    - Botan::Path_Validation_Result::successful_validation
    - ASBlocks::ASIdentifierChoice
    - Botan::X509_Cert_Options::extensions::add
    - ASBlocks::ASIdentifiers
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_as_blocks_path_validation_success()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1327,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1330,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1333,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1334,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1335,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1336,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1337,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1339,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1340,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1341,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1342,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1345,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1346,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1347,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1348,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1349,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1352,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1353,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1354,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1355,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1357,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1358,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1359,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1360,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1363,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1365,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1366,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1366,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1367,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1368,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1368,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1368,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1370,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1371,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1376,1
    - Dst: Test::Result::require
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1377,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1377,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1325
    functionDepth: 2
    functionLinenumber: 1325
    functionLinenumberEnd: 1381
    functionName: Botan_Tests::test_x509_as_blocks_path_validation_extension_not_present
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::x509_path_validate
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::X509::create_cert_req
    - Test::Result::end_timer
    - sign_request
    - ASBlocks::ASIdOrRange
    - std::make_unique<ASBlocks>
    - Botan_Tests::ca_opts
    - Botan_Tests::req_opts
    - Botan_Tests::Test::new_rng
    - Test::Result::require
    - Botan_Tests::from_date
    - std::vector::push_back
    - Botan::Path_Validation_Result::successful_validation
    - ASBlocks::ASIdentifierChoice
    - Botan::X509_Cert_Options::extensions::add
    - ASBlocks::ASIdentifiers
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_as_blocks_path_validation_extension_not_present()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1385,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1388,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1443,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1443,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1446,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1446,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1447,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1447,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1448,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1448,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1451,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1451,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1452,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1452,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1453,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1453,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1458,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1458,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1460,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1460,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1461,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1461,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1462,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1462,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1464,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1464,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1465,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1465,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1466,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1466,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1482,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1482,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1485,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1485,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1489,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1495,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1497,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1497,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1501,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1506,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1507,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1507,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1509,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1509,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1514,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1514,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1516,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1516,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1519,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1522,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1523,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1523,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1526,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1529,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1530,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1530,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1536,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1536,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1538,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1538,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1539,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1540,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1543,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1546,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1546,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1548,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1548,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1549,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1550,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1552,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1553,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1553,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1557,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1558,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1558,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1559,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1561,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1561,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1561,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1563,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1564,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1569,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1571,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1571,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1571,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1574,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1383
    functionDepth: 2
    functionLinenumber: 1383
    functionLinenumberEnd: 1576
    functionName: Botan_Tests::test_x509_as_blocks_path_validation_failure
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::optional
    - Botan::Certificate_Store_In_Memory::add_certificate
    - std::to_string
    - Botan::x509_path_validate
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::X509::create_cert_req
    - Test::Result::end_timer
    - sign_request
    - ASBlocks::ASIdOrRange
    - std::make_unique<ASBlocks>
    - Botan_Tests::ca_opts
    - Test::Result::confirm
    - Botan_Tests::req_opts
    - Botan_Tests::Test::new_rng
    - Botan_Tests::from_date
    - std::vector::push_back
    - Botan::Path_Validation_Result::successful_validation
    - ASBlocks::ASIdentifierChoice
    - Botan::X509_Cert_Options::extensions::add
    - ASBlocks::ASIdentifiers
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_as_blocks_path_validation_failure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1584,1
    - Dst: test_x509_ip_addr_blocks_extension_decode
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1584,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1585,1
    - Dst: test_x509_as_blocks_extension_decode
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1585,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1588,1
    - Dst: test_x509_ip_addr_blocks_extension_encode
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1588,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1589,1
    - Dst: test_x509_ip_addr_blocks_extension_encode_edge_cases
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1589,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1590,1
    - Dst: test_x509_ip_addr_blocks_range_merge
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1590,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1591,1
    - Dst: test_x509_ip_addr_blocks_family_merge
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1591,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1592,1
    - Dst: test_x509_ip_addr_blocks_path_validation_success
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1592,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1593,1
    - Dst: test_x509_ip_addr_blocks_path_validation_failure
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1593,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1594,1
    - Dst: test_x509_as_blocks_extension_encode
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1594,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1595,1
    - Dst: test_x509_as_blocks_range_merge
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1595,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1596,1
    - Dst: test_x509_as_blocks_path_validation_success
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1596,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1597,1
    - Dst: test_x509_as_blocks_path_validation_extension_not_present
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1597,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1598,1
    - Dst: test_x509_as_blocks_path_validation_failure
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1580
    functionDepth: 2
    functionLinenumber: 1580
    functionLinenumberEnd: 1600
    functionName: Botan_Tests::X509_RPKI_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - test_x509_as_blocks_extension_decode
    - test_x509_as_blocks_path_validation_extension_not_present
    - test_x509_as_blocks_path_validation_success
    - test_x509_ip_addr_blocks_extension_decode
    - test_x509_ip_addr_blocks_range_merge
    - test_x509_ip_addr_blocks_path_validation_success
    - test_x509_as_blocks_extension_encode
    - test_x509_as_blocks_path_validation_failure
    - test_x509_ip_addr_blocks_extension_encode
    - test_x509_as_blocks_range_merge
    - test_x509_ip_addr_blocks_family_merge
    - std::vector::push_back
    - test_x509_ip_addr_blocks_path_validation_failure
    - test_x509_ip_addr_blocks_extension_encode_edge_cases
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan_Tests::GOST_3410_2001_Verification_Tests::GOST_3410_2001_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GOST_3410_2001_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_gost_3410.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan_Tests::GOST_3410_2001_Verification_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:31,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:32,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:33,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:34,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:35,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:36,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_gost_3410.cpp:37,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:41,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:42,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/tests/test_gost_3410.cpp:44,1
    - Dst: std::make_unique<Botan::GOST_3410_PublicKey>
      Src: /src/botan/src/tests/test_gost_3410.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: Botan_Tests::GOST_3410_2001_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::from_bigint_xy
    - get_req_str
    - get_req_bn
    - std::make_unique<Botan::GOST_3410_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_gost_3410.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan_Tests::GOST_3410_2001_Verification_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan_Tests::GOST_3410_2001_Signature_Tests::GOST_3410_2001_Signature_Tests
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GOST_3410_2001_Signature_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_gost_3410.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan_Tests::GOST_3410_2001_Signature_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:63,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:64,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:65,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:66,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:67,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:68,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_gost_3410.cpp:69,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:73,1
    - Dst: std::make_unique<Botan::GOST_3410_PrivateKey>
      Src: /src/botan/src/tests/test_gost_3410.cpp:75,1
    - Dst: Botan_Tests::GOST_3410_2001_Signature_Tests::rng
      Src: /src/botan/src/tests/test_gost_3410.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: Botan_Tests::GOST_3410_2001_Signature_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::GOST_3410_2001_Signature_Tests::rng
    - get_req_str
    - get_req_bn
    - std::make_unique<Botan::GOST_3410_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_gost_3410.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan_Tests::GOST_3410_2001_Signature_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_Position_RNG>
      Src: /src/botan/src/tests/test_gost_3410.cpp:81,1
    - Dst: Botan_Tests::GOST_3410_2001_Signature_Tests::rng
      Src: /src/botan/src/tests/test_gost_3410.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan_Tests::GOST_3410_2001_Signature_Tests::test_rng
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_Position_RNG>
    - Botan_Tests::GOST_3410_2001_Signature_Tests::rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_gost_3410.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_gost_3410.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: Botan_Tests::GOST_3410_2001_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan_Tests::GOST_3410_2001_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/tests/test_gost_3410.cpp:102,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_gost_3410.cpp:103,1
    - Dst: std::make_unique<Botan::GOST_3410_PublicKey>
      Src: /src/botan/src/tests/test_gost_3410.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: Botan_Tests::GOST_3410_2001_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::EC_Group
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::make_unique<Botan::GOST_3410_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::Cryptobox_KAT::Cryptobox_KAT
    functionSourceFile: /src/botan/src/tests/test_cryptobox.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cryptobox_KAT()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_cryptobox.cpp:30,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_cryptobox.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_cryptobox.cpp:32,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_cryptobox.cpp:33,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/tests/test_cryptobox.cpp:35,1
    - Dst: Botan::CryptoBox::encrypt
      Src: /src/botan/src/tests/test_cryptobox.cpp:42,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_cryptobox.cpp:42,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_cryptobox.cpp:42,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_cryptobox.cpp:44,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_cryptobox.cpp:46,1
    - Dst: Botan::CryptoBox::decrypt_bin
      Src: /src/botan/src/tests/test_cryptobox.cpp:46,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_cryptobox.cpp:50,1
    - Dst: Botan_Tests::Cryptobox_KAT::rng
      Src: /src/botan/src/tests/test_cryptobox.cpp:50,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/tests/test_cryptobox.cpp:51,1
    - Dst: Botan::CryptoBox::decrypt
      Src: /src/botan/src/tests/test_cryptobox.cpp:53,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_cryptobox.cpp:54,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_cryptobox.cpp:56,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_cryptobox.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 64
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 64
    functionName: Botan_Tests::Cryptobox_KAT::run_one_test
    functionSourceFile: /src/botan/src/tests/test_cryptobox.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Test::Result::test_eq
    - Botan::CryptoBox::decrypt_bin
    - get_req_str
    - Botan_Tests::Cryptobox_KAT::rng
    - Botan::CryptoBox::decrypt
    - Botan::PEM_Code::encode
    - Botan::CryptoBox::encrypt
    - Botan_Tests::Test::mutate_vec
    - Test::Result::test_failure
    - Test::Result::test_success
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:48,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_checked_add
      Src: /src/botan/src/tests/test_utils.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:49,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_checked_mul
      Src: /src/botan/src/tests/test_utils.cpp:49,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:50,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_checked_cast
      Src: /src/botan/src/tests/test_utils.cpp:50,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:51,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_round_up
      Src: /src/botan/src/tests/test_utils.cpp:51,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:52,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_loadstore
      Src: /src/botan/src/tests/test_utils.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:53,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_loadstore_ambiguity
      Src: /src/botan/src/tests/test_utils.cpp:53,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:54,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_loadstore_fallback
      Src: /src/botan/src/tests/test_utils.cpp:54,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:55,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_loadstore_constexpr
      Src: /src/botan/src/tests/test_utils.cpp:55,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils.cpp:56,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_copy_out_be_le
      Src: /src/botan/src/tests/test_utils.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: Botan_Tests::Utility_Function_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat
    - Botan_Tests::Utility_Function_Tests::test_round_up
    - Botan_Tests::Utility_Function_Tests::test_loadstore_constexpr
    - Botan_Tests::Utility_Function_Tests::test_checked_mul
    - Botan_Tests::Utility_Function_Tests::test_loadstore
    - Botan_Tests::Utility_Function_Tests::test_checked_add
    - Botan_Tests::Utility_Function_Tests::test_checked_cast
    - Botan_Tests::Utility_Function_Tests::test_loadstore_ambiguity
    - Botan_Tests::Utility_Function_Tests::test_copy_out_be_le
    - std::vector::push_back
    - Botan_Tests::Utility_Function_Tests::test_loadstore_fallback
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::checked_add<size_t>
      Src: /src/botan/src/tests/test_utils.cpp:68,1
    - Dst: Botan::checked_add<size_t>
      Src: /src/botan/src/tests/test_utils.cpp:69,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:71,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:74,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils.cpp:74,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:76,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils.cpp:76,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_utils.cpp:80,1
    - Dst: Botan::checked_add
      Src: /src/botan/src/tests/test_utils.cpp:88,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_utils.cpp:89,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils.cpp:89,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 96
    functionName: Botan_Tests::Utility_Function_Tests::test_checked_add
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - auto::value
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::checked_add<size_t>
    - Botan::checked_add
    - Test::Result::test_int_eq
    - auto::has_value
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_checked_add()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_utils.cpp:101,1
    - Dst: Botan::checked_mul
      Src: /src/botan/src/tests/test_utils.cpp:109,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_utils.cpp:110,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils.cpp:110,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: Botan_Tests::Utility_Function_Tests::test_checked_mul
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - auto::value
    - Botan::checked_mul
    - Test::Result::confirm
    - Test::Result::test_int_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_checked_mul()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:126,1
    - Dst: Botan::checked_cast_to<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:126,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:127,1
    - Dst: Botan::checked_cast_to<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:127,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_utils.cpp:129,1
    - Dst: Botan::checked_cast_to<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:129,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_utils.cpp:130,1
    - Dst: Botan::checked_cast_to<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:130,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_utils.cpp:131,1
    - Dst: Botan::checked_cast_to<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: Botan_Tests::Utility_Function_Tests::test_checked_cast
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::checked_cast_to<uint16_t>
    - Test::Result::test_throws
    - Botan::checked_cast_to<uint8_t>
    - Test::Result::test_int_eq
    - Botan::checked_cast_to<uint32_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_checked_cast()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:156,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:157,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:158,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_utils.cpp:160,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:160,1
    - Dst: what
      Src: /src/botan/src/tests/test_utils.cpp:160,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:165,1
    - Dst: Botan::round_up
      Src: /src/botan/src/tests/test_utils.cpp:165,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_utils.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 168
    functionName: Botan_Tests::Utility_Function_Tests::test_round_up
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::fmt
    - what
    - Botan::round_up
    - static_cast<size_t>
    - Test::Result::test_throws
    - Test::Result::confirm
    - Test::Result::test_failure
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_round_up()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:187,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:194,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_utils.cpp:194,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:195,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_utils.cpp:195,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:196,1
    - Dst: Botan::get_byte<2>
      Src: /src/botan/src/tests/test_utils.cpp:196,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:197,1
    - Dst: Botan::get_byte<3>
      Src: /src/botan/src/tests/test_utils.cpp:197,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:199,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/tests/test_utils.cpp:199,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:200,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_utils.cpp:200,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:202,1
    - Dst: Botan::load_be<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:202,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:203,1
    - Dst: Botan::load_be<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:203,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:204,1
    - Dst: Botan::load_be<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:204,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:205,1
    - Dst: Botan::load_be<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:205,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:207,1
    - Dst: Botan::load_le<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:207,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:208,1
    - Dst: Botan::load_le<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:208,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:209,1
    - Dst: Botan::load_le<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:209,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:210,1
    - Dst: Botan::load_le<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:210,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:212,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:212,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:213,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:213,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:214,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:214,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:215,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:215,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:217,1
    - Dst: Botan::load_le<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:217,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:218,1
    - Dst: Botan::load_le<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:218,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:219,1
    - Dst: Botan::load_le<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:219,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:220,1
    - Dst: Botan::load_le<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:220,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:222,1
    - Dst: Botan::load_be<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:222,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:223,1
    - Dst: Botan::load_be<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:223,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:225,1
    - Dst: Botan::load_le<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:225,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:226,1
    - Dst: Botan::load_le<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:226,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:229,1
    - Dst: Botan::load_be<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:229,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:230,1
    - Dst: Botan::load_le<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:230,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:232,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:232,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:233,1
    - Dst: Botan::load_le<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:233,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:235,1
    - Dst: Botan::load_be<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:235,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:236,1
    - Dst: Botan::load_le<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:236,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:237,1
    - Dst: Botan::load_le<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:237,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:244,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:245,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:246,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:248,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:249,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:250,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:252,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:253,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:254,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:255,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:256,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:258,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:259,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:260,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:261,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:262,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:264,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:265,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:266,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:267,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:268,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:269,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:270,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:271,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:272,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:274,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:275,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:276,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:277,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:278,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:279,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:280,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:281,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:282,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:287,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:289,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:290,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:291,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:292,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:293,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:295,1
    - Dst: first
      Src: /src/botan/src/tests/test_utils.cpp:295,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:296,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:297,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:298,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:299,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:301,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:303,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:304,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:305,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:306,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:307,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:309,1
    - Dst: first
      Src: /src/botan/src/tests/test_utils.cpp:309,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:310,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:311,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:312,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:313,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:319,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:320,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:322,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:323,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:323,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:325,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:326,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:327,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:328,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:328,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:333,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:334,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:335,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:336,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:337,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:338,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:339,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:340,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:344,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:345,1
    - Dst: Botan::store_be<TestVectorSink>
      Src: /src/botan/src/tests/test_utils.cpp:346,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:347,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:348,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:348,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:349,1
    - Dst: TestVectorSink
      Src: /src/botan/src/tests/test_utils.cpp:349,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:349,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:350,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:351,1
    - Dst: Botan::store_le<TestVectorSink>
      Src: /src/botan/src/tests/test_utils.cpp:352,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:353,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:354,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:354,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:355,1
    - Dst: TestVectorSink
      Src: /src/botan/src/tests/test_utils.cpp:355,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:355,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:357,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:357,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:357,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:358,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:358,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:358,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:359,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:359,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:359,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:361,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:361,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:361,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:362,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:362,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:362,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:363,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:363,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:363,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:369,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:370,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:370,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:371,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:372,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:372,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:373,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:374,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:374,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:375,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:376,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:376,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:380,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:381,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:382,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:383,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:384,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:385,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:386,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:387,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:392,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:392,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:392,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:393,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:393,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:393,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:396,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:396,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:396,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:397,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:397,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:397,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:400,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:401,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:402,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:403,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:405,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:406,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:407,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:408,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:411,1
    - Dst: Botan::load_be<std::array<uint16_t, 2>>
      Src: /src/botan/src/tests/test_utils.cpp:412,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:413,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:414,1
    - Dst: Botan::load_be<std::vector<uint16_t>>
      Src: /src/botan/src/tests/test_utils.cpp:415,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_utils.cpp:416,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils.cpp:416,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:417,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:418,1
    - Dst: Botan::load_le<std::array<uint16_t, 2>>
      Src: /src/botan/src/tests/test_utils.cpp:420,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:421,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:422,1
    - Dst: Botan::load_le<Botan::secure_vector<uint16_t>>
      Src: /src/botan/src/tests/test_utils.cpp:423,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_utils.cpp:424,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils.cpp:424,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:425,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:426,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:432,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:432,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:432,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:433,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:433,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:433,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:434,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:434,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:434,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:435,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:435,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:435,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:437,1
    - Dst: Botan::load_be<TestInt64>
      Src: /src/botan/src/tests/test_utils.cpp:437,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:437,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:438,1
    - Dst: Botan::load_le<TestInt64>
      Src: /src/botan/src/tests/test_utils.cpp:438,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:438,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:439,1
    - Dst: Botan::load_be<TestInt32>
      Src: /src/botan/src/tests/test_utils.cpp:439,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:439,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:440,1
    - Dst: Botan::load_le<TestInt32>
      Src: /src/botan/src/tests/test_utils.cpp:440,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:440,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:443,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:443,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:444,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:445,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:445,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:446,1
    - Dst: Botan::load_le<std::array<TestInt64, 2>>
      Src: /src/botan/src/tests/test_utils.cpp:449,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:449,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:450,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:451,1
    - Dst: Botan::load_be<std::vector<TestInt64>>
      Src: /src/botan/src/tests/test_utils.cpp:454,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:454,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:455,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:456,1
    - Dst: Botan::load_le<TestEnum64>
      Src: /src/botan/src/tests/test_utils.cpp:459,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:459,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:460,1
    - Dst: Botan::load_be<TestEnum64>
      Src: /src/botan/src/tests/test_utils.cpp:461,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:461,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:462,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:463,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:463,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:464,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:465,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:465,1
    - Dst: Botan::load_le<TestEnum32>
      Src: /src/botan/src/tests/test_utils.cpp:468,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:468,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:469,1
    - Dst: Botan::load_be<TestEnum32>
      Src: /src/botan/src/tests/test_utils.cpp:470,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:470,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:471,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:472,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:472,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:472,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:473,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 195
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 476
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 476
    functionName: Botan_Tests::Utility_Function_Tests::test_loadstore
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 2
    functionsReached:
    - Botan::store_be
    - Test::Result::test_eq_sz
    - Botan::load_le<TestEnum32>
    - Botan::load_le<uint64_t>
    - Botan::load_be<TestInt32>
    - TestVectorSink
    - Botan::store_le<TestVectorSink>
    - Botan::load_le<TestEnum64>
    - Botan::get_byte<2>
    - Botan::store_le<std::vector<uint8_t>>
    - Test::Result::test_throws
    - Botan::store_be<TestVectorSink>
    - Botan::load_be<uint16_t>
    - Botan::load_le
    - Botan::load_le<std::array<TestInt64, 2>>
    - Botan::load_be<TestEnum64>
    - Botan::load_be<TestEnum32>
    - auto::size
    - first
    - Botan::load_le<uint16_t>
    - Botan::store_le
    - Botan::make_uint32
    - Botan::load_be<std::vector<TestInt64>>
    - Botan::store_be<std::vector<uint8_t>>
    - Botan::hex_decode
    - Test::Result::test_is_eq
    - Botan::load_be<std::array<uint16_t, 2>>
    - Botan::load_le<uint32_t>
    - Botan::load_le<TestInt32>
    - Botan::get_byte<1>
    - Botan::load_be<uint32_t>
    - Botan::load_le<std::array<uint16_t, 2>>
    - Botan::make_uint16
    - Botan::load_be<std::vector<uint16_t>>
    - Botan::get_byte<0>
    - Botan::get_byte<3>
    - Botan::load_be<TestInt64>
    - Botan::load_be<uint64_t>
    - Botan::load_le<TestInt64>
    - Botan::load_le<Botan::secure_vector<uint16_t>>
    - Botan::load_be
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_loadstore()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::fallback_load_any<std::endian::big, T>
      Src: /src/botan/src/tests/test_utils.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::array<const uint8_t, sizeof(T)>
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: Botan_Tests::Utility_Function_Tests::fb_load_be
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::detail::fallback_load_any<std::endian::big, T>
    linkageType: ''
    returnType: T
    signature: T fb_load_be(std::array<const uint8_t, sizeof(T)> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::fallback_load_any<std::endian::little, T>
      Src: /src/botan/src/tests/test_utils.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::array<const uint8_t, sizeof(T)>
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: Botan_Tests::Utility_Function_Tests::fb_load_le
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::detail::fallback_load_any<std::endian::little, T>
    linkageType: ''
    returnType: T
    signature: T fb_load_le(std::array<const uint8_t, sizeof(T)> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::fallback_store_any<std::endian::big, T>
      Src: /src/botan/src/tests/test_utils.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: Botan_Tests::Utility_Function_Tests::fb_store_be
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::detail::fallback_store_any<std::endian::big, T>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) fb_store_be(const T in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::fallback_store_any<std::endian::little, T>
      Src: /src/botan/src/tests/test_utils.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: Botan_Tests::Utility_Function_Tests::fb_store_le
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::detail::fallback_store_any<std::endian::little, T>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) fb_store_le(const T in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:518,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:519,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:520,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:521,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:522,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:523,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:525,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:525,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:526,1
    - Dst: Botan::load_le<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:526,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:527,1
    - Dst: Botan::load_be<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:527,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:528,1
    - Dst: Botan::load_le<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:528,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:529,1
    - Dst: Botan::load_be<size_t>
      Src: /src/botan/src/tests/test_utils.cpp:529,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:530,1
    - Dst: Botan::load_le<size_t>
      Src: /src/botan/src/tests/test_utils.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 533
    functionName: Botan_Tests::Utility_Function_Tests::test_loadstore_ambiguity
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::load_be<size_t>
    - Botan::load_be<uint32_t>
    - Botan::store_le
    - Botan::store_be
    - Botan::load_le<uint64_t>
    - Test::Result::test_is_eq
    - Botan::load_le<uint32_t>
    - Botan::load_be<uint64_t>
    - Botan::load_le<size_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_loadstore_ambiguity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:542,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_le
      Src: /src/botan/src/tests/test_utils.cpp:542,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:543,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_le
      Src: /src/botan/src/tests/test_utils.cpp:543,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:544,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_le
      Src: /src/botan/src/tests/test_utils.cpp:544,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:546,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_be
      Src: /src/botan/src/tests/test_utils.cpp:546,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:547,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_be
      Src: /src/botan/src/tests/test_utils.cpp:547,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:548,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_be
      Src: /src/botan/src/tests/test_utils.cpp:548,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:550,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_store_le
      Src: /src/botan/src/tests/test_utils.cpp:550,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:551,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_store_le
      Src: /src/botan/src/tests/test_utils.cpp:551,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:552,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_store_le
      Src: /src/botan/src/tests/test_utils.cpp:552,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:554,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_store_be
      Src: /src/botan/src/tests/test_utils.cpp:554,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:555,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_store_be
      Src: /src/botan/src/tests/test_utils.cpp:555,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:556,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_store_be
      Src: /src/botan/src/tests/test_utils.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 559
    functionName: Botan_Tests::Utility_Function_Tests::test_loadstore_fallback
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Utility_Function_Tests::fb_store_be
    - Botan_Tests::Utility_Function_Tests::fb_load_be
    - Botan_Tests::Utility_Function_Tests::fb_load_le
    - Botan_Tests::Utility_Function_Tests::fb_store_le
    - Test::Result::test_is_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_loadstore_fallback()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_utils.cpp:575,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:576,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_utils.cpp:577,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:578,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_utils.cpp:581,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:582,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_utils.cpp:583,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:584,1
    - Dst: Botan::get_byte<2>
      Src: /src/botan/src/tests/test_utils.cpp:585,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:586,1
    - Dst: Botan::get_byte<3>
      Src: /src/botan/src/tests/test_utils.cpp:587,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:588,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_utils.cpp:591,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:592,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_utils.cpp:593,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:594,1
    - Dst: Botan::get_byte<2>
      Src: /src/botan/src/tests/test_utils.cpp:595,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:596,1
    - Dst: Botan::get_byte<3>
      Src: /src/botan/src/tests/test_utils.cpp:597,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:598,1
    - Dst: Botan::get_byte<4>
      Src: /src/botan/src/tests/test_utils.cpp:599,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:600,1
    - Dst: Botan::get_byte<5>
      Src: /src/botan/src/tests/test_utils.cpp:601,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:602,1
    - Dst: Botan::get_byte<6>
      Src: /src/botan/src/tests/test_utils.cpp:603,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:604,1
    - Dst: Botan::get_byte<7>
      Src: /src/botan/src/tests/test_utils.cpp:605,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:606,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/tests/test_utils.cpp:609,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:610,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_utils.cpp:611,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:612,1
    - Dst: Botan::make_uint64
      Src: /src/botan/src/tests/test_utils.cpp:613,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:614,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:617,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:618,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:619,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:620,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:621,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:622,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:624,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:625,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:626,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:627,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:628,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:629,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:633,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:635,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:636,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:639,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:640,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:641,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:642,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:645,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:646,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:647,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:648,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:651,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:654,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:656,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:657,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:660,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:661,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:662,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:663,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:666,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:667,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:668,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:669,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:672,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:676,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:678,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:680,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:683,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:685,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:687,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils.cpp:690,1
    - Dst: Botan::load_le<std::array<uint16_t, cex_mem.size() / 2>>
      Src: /src/botan/src/tests/test_utils.cpp:690,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:691,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils.cpp:692,1
    - Dst: Botan::load_le<std::array<uint32_t, cex_mem.size() / 4>>
      Src: /src/botan/src/tests/test_utils.cpp:692,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:693,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils.cpp:694,1
    - Dst: Botan::load_le<std::array<uint64_t, cex_mem.size() / 8>>
      Src: /src/botan/src/tests/test_utils.cpp:694,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:695,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils.cpp:697,1
    - Dst: Botan::load_be<std::array<uint16_t, cex_mem.size() / 2>>
      Src: /src/botan/src/tests/test_utils.cpp:697,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:698,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils.cpp:699,1
    - Dst: Botan::load_be<std::array<uint32_t, cex_mem.size() / 4>>
      Src: /src/botan/src/tests/test_utils.cpp:699,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:700,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils.cpp:701,1
    - Dst: Botan::load_be<std::array<uint64_t, cex_mem.size() / 8>>
      Src: /src/botan/src/tests/test_utils.cpp:701,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 705
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 705
    functionName: Botan_Tests::Utility_Function_Tests::test_loadstore_constexpr
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::get_byte<7>
    - Botan::load_le<std::array<uint16_t, cex_mem.size() / 2>>
    - Botan::store_be
    - Botan::get_byte<6>
    - Botan::get_byte<2>
    - Botan::load_le<std::array<uint64_t, cex_mem.size() / 8>>
    - Botan::load_be<std::array<uint16_t, cex_mem.size() / 2>>
    - Botan::get_byte<4>
    - std::array::size
    - Botan::get_byte<5>
    - Botan::store_le
    - Botan::make_uint32
    - Botan::make_uint64
    - Test::Result::test_is_eq
    - Botan::load_be<std::array<uint32_t, cex_mem.size() / 4>>
    - Botan::load_le<std::array<uint32_t, cex_mem.size() / 4>>
    - Botan::get_byte<1>
    - Botan::make_uint16
    - Botan::get_byte<0>
    - Botan::get_byte<3>
    - Botan::load_be<std::array<uint64_t, cex_mem.size() / 8>>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_loadstore_constexpr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:709,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/tests/test_utils.cpp:713,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:714,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:714,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:717,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/tests/test_utils.cpp:721,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:722,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:722,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:725,1
    - Dst: Botan::copy_out_le
      Src: /src/botan/src/tests/test_utils.cpp:729,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:730,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:730,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:733,1
    - Dst: Botan::copy_out_le
      Src: /src/botan/src/tests/test_utils.cpp:737,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:738,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:738,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:741,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/tests/test_utils.cpp:745,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:746,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:746,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:749,1
    - Dst: Botan::copy_out_le
      Src: /src/botan/src/tests/test_utils.cpp:753,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:754,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:754,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:757,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/tests/test_utils.cpp:761,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:762,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:762,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:765,1
    - Dst: Botan::copy_out_le
      Src: /src/botan/src/tests/test_utils.cpp:769,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:770,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 773
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 773
    functionName: Botan_Tests::Utility_Function_Tests::test_copy_out_be_le
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::copy_out_be
    - Botan::copy_out_le
    - Botan::hex_decode
    - CHECK
    - test_is_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_copy_out_be_le()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:783,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:783,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:784,1
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:784,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:785,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:785,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:786,1
    - Dst: Botan_Tests::BitOps_Tests::test_popcount
      Src: /src/botan/src/tests/test_utils.cpp:786,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:787,1
    - Dst: Botan_Tests::BitOps_Tests::test_reverse_bits
      Src: /src/botan/src/tests/test_utils.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 790
    functionName: Botan_Tests::BitOps_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Botan_Tests::BitOps_Tests::test_sig_bytes
    - Botan_Tests::BitOps_Tests::test_ctz
    - Botan_Tests::BitOps_Tests::test_reverse_bits
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - Botan_Tests::BitOps_Tests::test_popcount
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils.cpp:795,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_utils.cpp:795,1
    - Dst: Botan::ctz<T>
      Src: /src/botan/src/tests/test_utils.cpp:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - val
    - expected
    argTypes:
    - Test::Result
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 796
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 796
    functionName: Botan_Tests::BitOps_Tests::test_ctz
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::ctz<T>
    - test_eq
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void test_ctz(Test::Result& result, T val, size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:800,1
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:801,1
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:802,1
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:803,1
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:804,1
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 808
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 808
    functionName: Botan_Tests::BitOps_Tests::test_ctz
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 2
    functionsReached:
    - Botan_Tests::BitOps_Tests::test_ctz
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ctz()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils.cpp:812,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_utils.cpp:812,1
    - Dst: Botan::significant_bytes<T>
      Src: /src/botan/src/tests/test_utils.cpp:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - val
    - expected
    argTypes:
    - Test::Result
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: Botan_Tests::BitOps_Tests::test_sig_bytes
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::significant_bytes<T>
    - test_eq
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void test_sig_bytes(Test::Result& result, T val, size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:817,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:818,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:819,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:820,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:821,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:822,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:823,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:824,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:826,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:827,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:828,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:829,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:830,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 834
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 834
    functionName: Botan_Tests::BitOps_Tests::test_sig_bytes
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 2
    functionsReached:
    - Botan_Tests::BitOps_Tests::test_sig_bytes
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_sig_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils.cpp:838,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_utils.cpp:838,1
    - Dst: Botan::is_power_of_2<T>
      Src: /src/botan/src/tests/test_utils.cpp:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - val
    - expected
    argTypes:
    - Test::Result
    - T
    - bool
    constantsTouched: []
    func_position:
      end: 839
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 839
    functionName: Botan_Tests::BitOps_Tests::test_power_of_2
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 2
    functionsReached:
    - Botan::is_power_of_2<T>
    - test_eq
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void test_power_of_2(Test::Result& result, T val, bool expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:844,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:845,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:846,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:847,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:848,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:849,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:850,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:852,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:853,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:854,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:855,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:856,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:857,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:858,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 862
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 862
    functionName: Botan_Tests::BitOps_Tests::test_power_of_2
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 3
    functionsReached:
    - Botan_Tests::BitOps_Tests::test_power_of_2
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_power_of_2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ct_popcount
      Src: /src/botan/src/tests/test_utils.cpp:865,1
    - Dst: Botan::ct_popcount
      Src: /src/botan/src/tests/test_utils.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 867
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 867
    functionName: Botan_Tests::BitOps_Tests::pc
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::ct_popcount
    linkageType: ''
    returnType: auto
    signature: auto pc(T val) -> decltype(Botan::ct_popcount(val))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le<T>
      Src: /src/botan/src/tests/test_utils.cpp:871,1
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_utils.cpp:871,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:872,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:872,1
    - Dst: std::popcount
      Src: /src/botan/src/tests/test_utils.cpp:872,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:872,1
    - Dst: std::popcount
      Src: /src/botan/src/tests/test_utils.cpp:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 873
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 873
    functionName: Botan_Tests::BitOps_Tests::random_pc
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - std::popcount
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - Botan::fmt
    - Botan::load_le<T>
    - Botan_Tests::BitOps_Tests::pc
    - test_is_eq
    linkageType: ''
    returnType: auto
    signature: auto random_pc(Test::Result& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:878,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:878,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:879,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:879,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:880,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:880,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:881,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:881,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:883,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:883,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:884,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:884,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:885,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:885,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:886,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:886,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:888,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:888,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:889,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:889,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:890,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:890,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:891,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:891,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:893,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:893,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:894,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:894,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:895,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:895,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:896,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:896,1
    - Dst: Botan_Tests::BitOps_Tests::random_pc
      Src: /src/botan/src/tests/test_utils.cpp:898,1
    - Dst: Botan_Tests::BitOps_Tests::random_pc
      Src: /src/botan/src/tests/test_utils.cpp:899,1
    - Dst: Botan_Tests::BitOps_Tests::random_pc
      Src: /src/botan/src/tests/test_utils.cpp:900,1
    - Dst: Botan_Tests::BitOps_Tests::random_pc
      Src: /src/botan/src/tests/test_utils.cpp:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 904
      start: 875
    functionDepth: 3
    functionLinenumber: 875
    functionLinenumberEnd: 904
    functionName: Botan_Tests::BitOps_Tests::test_popcount
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_is_eq
    - Botan_Tests::BitOps_Tests::random_pc
    - Botan_Tests::BitOps_Tests::pc
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_popcount()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:909,1
    - Dst: Botan::ct_reverse_bits<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:909,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:910,1
    - Dst: Botan::ct_reverse_bits<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:910,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:911,1
    - Dst: Botan::ct_reverse_bits<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:911,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:913,1
    - Dst: Botan::ct_reverse_bits<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:914,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:915,1
    - Dst: Botan::ct_reverse_bits<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:916,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:917,1
    - Dst: Botan::ct_reverse_bits<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:918,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:920,1
    - Dst: Botan::ct_reverse_bits<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:920,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:921,1
    - Dst: Botan::ct_reverse_bits<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:921,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:922,1
    - Dst: Botan::ct_reverse_bits<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:922,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:924,1
    - Dst: Botan::ct_reverse_bits<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:925,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:926,1
    - Dst: Botan::ct_reverse_bits<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:927,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:928,1
    - Dst: Botan::ct_reverse_bits<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 932
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 932
    functionName: Botan_Tests::BitOps_Tests::test_reverse_bits
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::ct_reverse_bits<uint32_t>
    - Test::Result::test_is_eq
    - Botan::ct_reverse_bits<uint16_t>
    - Botan::ct_reverse_bits<uint64_t>
    - Botan::ct_reverse_bits<uint8_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reverse_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 941
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 941
    functionName: Botan_Tests::Poly_Double_Tests::Poly_Double_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Poly_Double_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_utils.cpp:945,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_utils.cpp:946,1
    - Dst: Botan::poly_double_n
      Src: /src/botan/src/tests/test_utils.cpp:949,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_utils.cpp:949,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils.cpp:949,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 953
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 953
    functionName: Botan_Tests::Poly_Double_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - Botan::poly_double_n
    - Test::Result::test_eq
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:965,1
    - Dst: Botan::version_datestamp
      Src: /src/botan/src/tests/test_utils.cpp:965,1
    - Dst: Botan::version_string
      Src: /src/botan/src/tests/test_utils.cpp:968,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:969,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_utils.cpp:969,1
    - Dst: Botan::short_version_string
      Src: /src/botan/src/tests/test_utils.cpp:972,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:973,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_utils.cpp:973,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:976,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:979,1
    - Dst: std::string::starts_with
      Src: /src/botan/src/tests/test_utils.cpp:979,1
    - Dst: Botan::runtime_version_check
      Src: /src/botan/src/tests/test_utils.cpp:982,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:984,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_utils.cpp:984,1
    - Dst: Botan::runtime_version_check
      Src: /src/botan/src/tests/test_utils.cpp:986,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 994
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 994
    functionName: Botan_Tests::Version_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - std::string::starts_with
    - Botan::version_string
    - Botan::version_datestamp
    - Test::Result::test_eq
    - Botan::runtime_version_check
    - Test::Result::confirm
    - std::string
    - Botan::short_version_string
    - std::string::empty
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1001
    functionName: Botan_Tests::Date_Format_Tests::Date_Format_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Date_Format_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/test_utils.cpp:1004,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils.cpp:1005,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_utils.cpp:1006,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_utils.cpp:1010,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils.cpp:1010,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:1012,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/tests/test_utils.cpp:1012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1015
      start: 1003
    functionDepth: 2
    functionLinenumber: 1003
    functionLinenumberEnd: 1015
    functionName: Botan_Tests::Date_Format_Tests::parse_date
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::to_u32bit
    - std::vector::reserve
    - Botan::split_on
    - Test_Error
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint32_t>
    signature: std::vector<uint32_t> parse_date(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1018,1
    - Dst: Botan_Tests::Date_Format_Tests::parse_date
      Src: /src/botan/src/tests/test_utils.cpp:1021,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1025,1
    - Dst: Botan::calendar_point::year
      Src: /src/botan/src/tests/test_utils.cpp:1025,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1026,1
    - Dst: Botan::calendar_point::month
      Src: /src/botan/src/tests/test_utils.cpp:1026,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1027,1
    - Dst: Botan::calendar_point::day
      Src: /src/botan/src/tests/test_utils.cpp:1027,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1028,1
    - Dst: Botan::calendar_point::hour
      Src: /src/botan/src/tests/test_utils.cpp:1028,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1029,1
    - Dst: Botan::calendar_point::minutes
      Src: /src/botan/src/tests/test_utils.cpp:1029,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1030,1
    - Dst: Botan::calendar_point::seconds
      Src: /src/botan/src/tests/test_utils.cpp:1030,1
    - Dst: Botan::calendar_point::year
      Src: /src/botan/src/tests/test_utils.cpp:1033,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:1034,1
    - Dst: Botan::calendar_point::to_std_timepoint
      Src: /src/botan/src/tests/test_utils.cpp:1034,1
    - Dst: Botan::calendar_point::to_std_timepoint
      Src: /src/botan/src/tests/test_utils.cpp:1036,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1037,1
    - Dst: Botan::calendar_point::year
      Src: /src/botan/src/tests/test_utils.cpp:1037,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1038,1
    - Dst: Botan::calendar_point::month
      Src: /src/botan/src/tests/test_utils.cpp:1038,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1039,1
    - Dst: Botan::calendar_point::day
      Src: /src/botan/src/tests/test_utils.cpp:1039,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1040,1
    - Dst: Botan::calendar_point::hour
      Src: /src/botan/src/tests/test_utils.cpp:1040,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1041,1
    - Dst: Botan::calendar_point::minutes
      Src: /src/botan/src/tests/test_utils.cpp:1041,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1042,1
    - Dst: Botan::calendar_point::seconds
      Src: /src/botan/src/tests/test_utils.cpp:1042,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:1045,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_utils.cpp:1047,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 1051
      start: 1017
    functionDepth: 3
    functionLinenumber: 1017
    functionLinenumberEnd: 1051
    functionName: Botan_Tests::Date_Format_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::calendar_point::day
    - Botan_Tests::Date_Format_Tests::parse_date
    - Botan::calendar_point::month
    - Botan::calendar_point::to_std_timepoint
    - get_req_str
    - Botan::calendar_point::year
    - Test::Result::test_throws
    - Test::Result::test_is_eq
    - Test_Error
    - Botan::calendar_point::seconds
    - Botan::calendar_point::hour
    - Botan::calendar_point::minutes
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1057,1
    - Dst: Botan::calendar_point::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1059
    functionName: Botan_Tests::Date_Format_Tests::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::calendar_point::to_string
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1066
    functionName: Botan_Tests::Charset_Tests::Charset_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Charset_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_utils.cpp:1071,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_utils.cpp:1072,1
    - Dst: Botan::ucs2_to_utf8
      Src: /src/botan/src/tests/test_utils.cpp:1077,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_utils.cpp:1077,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils.cpp:1077,1
    - Dst: Botan::ucs4_to_utf8
      Src: /src/botan/src/tests/test_utils.cpp:1079,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_utils.cpp:1079,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils.cpp:1079,1
    - Dst: Botan::latin1_to_utf8
      Src: /src/botan/src/tests/test_utils.cpp:1081,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_utils.cpp:1081,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils.cpp:1081,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_utils.cpp:1083,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1086,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:1087,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_utils.cpp:1087,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_utils.cpp:1087,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 1090
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1090
    functionName: Botan_Tests::Charset_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - std::string::begin
    - Botan::latin1_to_utf8
    - Test_Error
    - std::string::end
    - get_req_bin
    - Botan::ucs2_to_utf8
    - Botan::ucs4_to_utf8
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1097
    functionName: Botan_Tests::Hostname_Tests::Hostname_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hostname_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1102,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1103,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1107,1
    - Dst: Botan::host_wildcard_match
      Src: /src/botan/src/tests/test_utils.cpp:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 1110
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1110
    functionName: Botan_Tests::Hostname_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::host_wildcard_match
    - get_req_str
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1117
    functionName: Botan_Tests::DNS_Check_Tests::DNS_Check_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DNS_Check_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1122,1
    - Dst: Botan::check_and_canonicalize_dns_name
      Src: /src/botan/src/tests/test_utils.cpp:1126,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_utils.cpp:1127,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_utils.cpp:1130,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_utils.cpp:1132,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_utils.cpp:1136,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_utils.cpp:1138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 1143
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1143
    functionName: Botan_Tests::DNS_Check_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - get_req_str
    - Botan::check_and_canonicalize_dns_name
    - Test::Result::test_failure
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1150
    functionName: Botan_Tests::IPv4_Parsing_Tests::IPv4_Parsing_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4_Parsing_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1155,1
    - Dst: Botan::string_to_ipv4
      Src: /src/botan/src/tests/test_utils.cpp:1158,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1160,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils.cpp:1160,1
    - Dst: Botan::ipv4_to_string
      Src: /src/botan/src/tests/test_utils.cpp:1163,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils.cpp:1163,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' status'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 1168
      start: 1152
    functionDepth: 2
    functionLinenumber: 1152
    functionLinenumberEnd: 1168
    functionName: Botan_Tests::IPv4_Parsing_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::string_to_ipv4
    - auto::value
    - Test::Result::test_eq
    - get_req_str
    - Botan::ipv4_to_string
    - auto::has_value
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& status, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1175
    functionName: Botan_Tests::ReadKV_Tests::ReadKV_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadKV_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1182,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1183,1
    - Dst: Botan_Tests::ReadKV_Tests::confirm_kv
      Src: /src/botan/src/tests/test_utils.cpp:1186,1
    - Dst: Botan::read_kv
      Src: /src/botan/src/tests/test_utils.cpp:1186,1
    - Dst: Botan_Tests::ReadKV_Tests::split_group
      Src: /src/botan/src/tests/test_utils.cpp:1186,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:1189,1
    - Dst: Botan::read_kv
      Src: /src/botan/src/tests/test_utils.cpp:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' status'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 1192
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1192
    functionName: Botan_Tests::ReadKV_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ReadKV_Tests::confirm_kv
    - Botan_Tests::ReadKV_Tests::split_group
    - get_req_str
    - Test::Result::test_throws
    - Botan::read_kv
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& status, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_utils.cpp:1197,1
    - Dst: begin
      Src: /src/botan/src/tests/test_utils.cpp:1202,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils.cpp:1202,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:1204,1
    - Dst: std::string::clear
      Src: /src/botan/src/tests/test_utils.cpp:1205,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_utils.cpp:1211,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:1212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1216
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1216
    functionName: Botan_Tests::ReadKV_Tests::split_group
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - std::string::clear
    - end
    - begin
    - empty
    - std::string::empty
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split_group(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1221,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils.cpp:1221,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils.cpp:1225,1
    - Dst: find
      Src: /src/botan/src/tests/test_utils.cpp:1226,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1227,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils.cpp:1227,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1228,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1232,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils.cpp:1232,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils.cpp:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' result'
    - ' kv'
    - ' expected'
    argTypes:
    - Test::Result
    - std::map<std::string, std::string>
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 1233
      start: 1218
    functionDepth: 2
    functionLinenumber: 1218
    functionLinenumberEnd: 1233
    functionName: Botan_Tests::ReadKV_Tests::confirm_kv
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - end
    - test_eq
    - size
    - confirm
    - find
    linkageType: ''
    returnType: void
    signature: "void confirm_kv(Test::Result& result,\n                             const
      std::map<std::string, std::string>& kv,\n                             const
      std::vector<std::string>& expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CPUID::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1245,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_utils.cpp:1246,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:1250,1
    - Dst: Botan::CPUFeature
      Src: /src/botan/src/tests/test_utils.cpp:1251,1
    - Dst: static_cast<Botan::CPUID::Feature::Bit>
      Src: /src/botan/src/tests/test_utils.cpp:1251,1
    - Dst: auto::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1253,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:1255,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_utils.cpp:1255,1
    - Dst: Botan::CPUFeature::from_string
      Src: /src/botan/src/tests/test_utils.cpp:1257,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_utils.cpp:1258,1
    - Dst: auto::as_u32
      Src: /src/botan/src/tests/test_utils.cpp:1258,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_utils.cpp:1260,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1261,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/tests/test_utils.cpp:1272,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:1273,1
    - Dst: std::string::find
      Src: /src/botan/src/tests/test_utils.cpp:1273,1
    - Dst: Botan::CPUID::clear_cpuid_bit
      Src: /src/botan/src/tests/test_utils.cpp:1275,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1277,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/tests/test_utils.cpp:1278,1
    - Dst: Botan::CPUID::initialize
      Src: /src/botan/src/tests/test_utils.cpp:1280,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1281,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/tests/test_utils.cpp:1282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1287
    functionName: Botan_Tests::CPUID_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::CPUFeature::from_string
    - Botan::fmt
    - auto::as_u32
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::CPUFeature
    - Botan::CPUID::to_string
    - static_cast<Botan::CPUID::Feature::Bit>
    - Test::Result::test_eq
    - std::string::find
    - Test::Result::confirm
    - Botan::CPUID::initialize
    - Test::Result::test_int_eq
    - Test::Result::test_failure
    - Test::Result::test_success
    - std::string::empty
    - Botan::CPUID::clear_cpuid_bit
    - auto::to_string
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::UUID::UUID
      Src: /src/botan/src/tests/test_utils.cpp:1301,1
    - Dst: Botan_Tests::UUID_Tests::rng
      Src: /src/botan/src/tests/test_utils.cpp:1302,1
    - Dst: Botan_Tests::UUID_Tests::rng
      Src: /src/botan/src/tests/test_utils.cpp:1303,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:1304,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:1306,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:1306,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1308,1
    - Dst: Botan::UUID::is_valid
      Src: /src/botan/src/tests/test_utils.cpp:1308,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:1309,1
    - Dst: Botan_CLI::Print_UUID::Print_UUID
      Src: /src/botan/src/tests/test_utils.cpp:1309,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:1311,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1311,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1313,1
    - Dst: Botan::UUID::is_valid
      Src: /src/botan/src/tests/test_utils.cpp:1313,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1314,1
    - Dst: Botan::UUID::is_valid
      Src: /src/botan/src/tests/test_utils.cpp:1314,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:1316,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:1317,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1319,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1320,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1322,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:1323,1
    - Dst: Botan_CLI::Print_UUID::Print_UUID
      Src: /src/botan/src/tests/test_utils.cpp:1323,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1349,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1349,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1353,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1356
    functionName: Botan_Tests::UUID_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Botan::UUID::UUID
    - Botan_CLI::Print_UUID::Print_UUID
    - Test::Result::test_throws
    - Test::Result::confirm
    - Botan::UUID::to_string
    - Botan::UUID::is_valid
    - Botan_Tests::UUID_Tests::rng
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1374,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1374,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1375,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1375,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1376,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1376,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1377,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1377,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1378,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1378,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1379,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1382
    functionName: Botan_Tests::Formatter_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::fmt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:1391,1
    - Dst: Botan::scoped_cleanup::scoped_cleanup
      Src: /src/botan/src/tests/test_utils.cpp:1395,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1397,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:1400,1
    - Dst: Botan::scoped_cleanup::scoped_cleanup
      Src: /src/botan/src/tests/test_utils.cpp:1405,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1409,1
    - Dst: fn
      Src: /src/botan/src/tests/test_utils.cpp:1410,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1411,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1412,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:1415,1
    - Dst: Botan::scoped_cleanup::scoped_cleanup
      Src: /src/botan/src/tests/test_utils.cpp:1421,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/test_utils.cpp:1423,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1426,1
    - Dst: fn
      Src: /src/botan/src/tests/test_utils.cpp:1428,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1433,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1434,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1435,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:1438,1
    - Dst: Botan::scoped_cleanup::scoped_cleanup
      Src: /src/botan/src/tests/test_utils.cpp:1442,1
    - Dst: auto::disengage
      Src: /src/botan/src/tests/test_utils.cpp:1443,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1449
    functionName: Botan_Tests::ScopedCleanup_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - auto::disengage
    - fn
    - std::runtime_error
    - Botan::scoped_cleanup::scoped_cleanup
    - CHECK
    - confirm
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Fixed_Output_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan_Tests::Fixed_Output_RNG::empty
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Fixed_Output_RNG::is_seeded
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Fixed_Output_RNG::empty
      Src: /src/botan/src/tests/test_rng.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan_Tests::Fixed_Output_RNG::is_seeded
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::Fixed_Output_RNG::empty
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan_Tests::Fixed_Output_RNG::accepts_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan_Tests::Fixed_Output_RNG::reseed
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t reseed(Botan::Entropy_Sources&, size_t, std::chrono::milliseconds)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan_Tests::Fixed_Output_RNG::name
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan_Tests::Fixed_Output_RNG::clear
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/tests/test_rng.h:42,1
    - Dst: end
      Src: /src/botan/src/tests/test_rng.h:42,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_rng.h:42,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_rng.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_Tests::Fixed_Output_RNG::Fixed_Output_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - insert
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_RNG(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_rng.h:45,1
    - Dst: insert
      Src: /src/botan/src/tests/test_rng.h:46,1
    - Dst: end
      Src: /src/botan/src/tests/test_rng.h:46,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_rng.h:46,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_rng.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in_str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Botan_Tests::Fixed_Output_RNG::Fixed_Output_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - end
    - Botan::hex_decode
    - insert
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_RNG(const std::string& in_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/tests/test_rng.h:51,1
    - Dst: insert
      Src: /src/botan/src/tests/test_rng.h:52,1
    - Dst: end
      Src: /src/botan/src/tests/test_rng.h:52,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_rng.h:52,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_rng.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rng'
    - len
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan_Tests::Fixed_Output_RNG::Fixed_Output_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - end
    - insert
    - random_vec
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_RNG(RandomNumberGenerator& rng, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' fallback_rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan_Tests::Fixed_Output_RNG::Fixed_Output_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_RNG(RandomNumberGenerator& fallback_rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan_Tests::Fixed_Output_RNG::Fixed_Output_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/tests/test_rng.h:65,1
    - Dst: end
      Src: /src/botan/src/tests/test_rng.h:65,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_rng.h:65,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_rng.h:65,1
    - Dst: Botan_Tests::Fixed_Output_RNG::random
      Src: /src/botan/src/tests/test_rng.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: Botan_Tests::Fixed_Output_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    - Botan_Tests::Fixed_Output_RNG::random
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Fixed_Output_RNG::empty
      Src: /src/botan/src/tests/test_rng.h:73,1
    - Dst: has_value
      Src: /src/botan/src/tests/test_rng.h:74,1
    - Dst: value
      Src: /src/botan/src/tests/test_rng.h:75,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_rng.h:77,1
    - Dst: pop_front
      Src: /src/botan/src/tests/test_rng.h:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: Botan_Tests::Fixed_Output_RNG::random
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::Fixed_Output_RNG::empty
    - has_value
    - Test_Error
    - value
    - pop_front
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t random()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan_Tests::Fixed_Output_Position_RNG::is_seeded
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan_Tests::Fixed_Output_Position_RNG::accepts_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan_Tests::Fixed_Output_Position_RNG::name
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' in'
    - pos
    - ' rng'
    argTypes:
    - std::vector<uint8_t>
    - size_t
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: Botan_Tests::Fixed_Output_Position_RNG::Fixed_Output_Position_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_Position_RNG(const std::vector<uint8_t>& in, size_t
      pos, Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' in_str'
    - pos
    - ' rng'
    argTypes:
    - std::string
    - size_t
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: Botan_Tests::Fixed_Output_Position_RNG::Fixed_Output_Position_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_Position_RNG(const std::string& in_str, size_t pos,
      Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/tests/test_rng.h:112,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_rng.h:113,1
    - Dst: Botan_Tests::Fixed_Output_RNG::fill_bytes_with_input
      Src: /src/botan/src/tests/test_rng.h:120,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_rng.h:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: Botan_Tests::Fixed_Output_Position_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Fixed_Output_RNG::fill_bytes_with_input
    - Test_Error
    - random_vec
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan_Tests::SeedCapturing_RNG::accepts_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan_Tests::SeedCapturing_RNG::clear
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Botan_Tests::SeedCapturing_RNG::is_seeded
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan_Tests::SeedCapturing_RNG::name
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan_Tests::SeedCapturing_RNG::samples
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t samples() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: '& seed_material() const'
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & seed_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/tests/test_rng.h:149,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_rng.h:150,1
    - Dst: insert
      Src: /src/botan/src/tests/test_rng.h:154,1
    - Dst: end
      Src: /src/botan/src/tests/test_rng.h:154,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_rng.h:154,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_rng.h:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: Botan_Tests::SeedCapturing_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    - std::span<uint8_t>::empty
    - Test_Error
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: Botan_Tests::Request_Counting_RNG::Request_Counting_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request_Counting_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Botan_Tests::Request_Counting_RNG::randomize_count
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t randomize_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: Botan_Tests::Request_Counting_RNG::accepts_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Botan_Tests::Request_Counting_RNG::is_seeded
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: Botan_Tests::Request_Counting_RNG::clear
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: Botan_Tests::Request_Counting_RNG::name
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/tests/test_rng.h:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: Botan_Tests::Request_Counting_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: Botan_Tests::CTR_DRBG_AES256::name
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: Botan_Tests::CTR_DRBG_AES256::accepts_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: Botan_Tests::CTR_DRBG_AES256::is_seeded
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Botan_Tests::PK_Test::PK_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Test(const std::string& algo,\n              const std::string&
      test_src,\n              const std::string& required_keys,\n              const
      std::string& optional_keys = {})"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_Tests::PK_Test::algo_name
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pubkey.h:34,1
    - Dst: Botan_Tests::PK_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.h:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan_Tests::PK_Test::default_padding
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::PK_Test::algo_name
    - Test_Error
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan_Tests::PK_Signature_Generation_Test::PK_Signature_Generation_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Signature_Generation_Test(const std::string& algo,\n                                   const
      std::string& test_src,\n                                   const std::string&
      required_keys,\n                                   const std::string& optional_keys
      = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_pubkey.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan_Tests::PK_Signature_Generation_Test::test_rng
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Botan_Tests::PK_Signature_Verification_Test::PK_Signature_Verification_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Signature_Verification_Test(const std::string& algo,\n                                     const
      std::string& test_src,\n                                     const std::string&
      required_keys,\n                                     const std::string& optional_keys
      = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan_Tests::PK_Signature_Verification_Test::test_random_invalid_sigs
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool test_random_invalid_sigs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: Botan_Tests::PK_Signature_NonVerification_Test::PK_Signature_NonVerification_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Signature_NonVerification_Test(const std::string& algo,\n
      \                                       const std::string& test_src,\n                                        const
      std::string& required_keys,\n                                        const std::string&
      optional_keys = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan_Tests::PK_Signature_NonVerification_Test::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo'
    - ' padding'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan_Tests::PK_Sign_Verify_DER_Test::PK_Sign_Verify_DER_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Sign_Verify_DER_Test(const std::string& algo, const std::string&
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan_Tests::PK_Sign_Verify_DER_Test::algo_name
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan_Tests::PK_Sign_Verify_DER_Test::test_random_invalid_sigs
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool test_random_invalid_sigs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: Botan_Tests::PK_Encryption_Decryption_Test::PK_Encryption_Decryption_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Encryption_Decryption_Test(const std::string& algo,\n                                    const
      std::string& test_src,\n                                    const std::string&
      required_keys,\n                                    const std::string& optional_keys
      = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan_Tests::PK_Encryption_Decryption_Test::default_padding
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_pubkey.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Botan_Tests::PK_Encryption_Decryption_Test::test_rng
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: Botan_Tests::PK_Decryption_Test::PK_Decryption_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Decryption_Test(const std::string& algo,\n                         const
      std::string& test_src,\n                         const std::string& required_keys,\n
      \                        const std::string& optional_keys = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan_Tests::PK_Decryption_Test::default_padding
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: Botan_Tests::PK_Key_Agreement_Test::PK_Key_Agreement_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Key_Agreement_Test(const std::string& algo,\n                            const
      std::string& test_src,\n                            const std::string& required_keys,\n
      \                           const std::string& optional_keys = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_pubkey.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: Botan_Tests::PK_Key_Agreement_Test::agreement_should_fail
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool agreement_should_fail(const std::string& header, const VarMap&
      vars) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: Botan_Tests::PK_Key_Agreement_Test::default_kdf
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_kdf(const VarMap&) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: Botan_Tests::PK_KEM_Test::PK_KEM_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_KEM_Test(const std::string& algo,\n                  const
      std::string& test_src,\n                  const std::string& required_keys,\n
      \                 const std::string& optional_keys = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_pubkey.h:195,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: Botan_Tests::PK_Key_Generation_Test::algo_name
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - Botan_Tests::PK_Key_Generation_Test::algo_name
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name(std::string_view param) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: Botan_Tests::PK_Key_Generation_Stability_Test::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: Botan_Tests::PK_Key_Validity_Test::PK_Key_Validity_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Key_Validity_Test(const std::string& algo,\n                           const
      std::string& test_src,\n                           const std::string& required_keys,\n
      \                          const std::string& optional_keys = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_Tests::Message_Auth_Tests::Message_Auth_Tests
    functionSourceFile: /src/botan/src/tests/test_mac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message_Auth_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_mac.cpp:26,1
    - Dst: Botan::MessageAuthenticationCode::providers
      Src: /src/botan/src/tests/test_mac.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan_Tests::Message_Auth_Tests::possible_providers
    functionSourceFile: /src/botan/src/tests/test_mac.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::providers
    - provider_filter
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> possible_providers(const std::string& algo)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mac.cpp:30,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mac.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mac.cpp:32,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_mac.cpp:33,1
    - Dst: Botan_Tests::Message_Auth_Tests::possible_providers
      Src: /src/botan/src/tests/test_mac.cpp:37,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_mac.cpp:39,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_mac.cpp:40,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_mac.cpp:45,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_mac.cpp:48,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_mac.cpp:48,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_mac.cpp:52,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_mac.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:55,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_mac.cpp:55,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:59,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mac.cpp:59,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:59,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_mac.cpp:60,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_mac.cpp:62,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:65,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_mac.cpp:65,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:66,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:67,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_mac.cpp:67,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:68,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:69,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:70,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mac.cpp:70,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:72,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:73,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:74,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:75,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mac.cpp:75,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_mac.cpp:77,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:78,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:79,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:80,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mac.cpp:80,1
    - Dst: auto::fresh_key_required_per_message
      Src: /src/botan/src/tests/test_mac.cpp:83,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:85,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:86,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:87,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mac.cpp:87,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:92,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:93,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:94,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_mac.cpp:95,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:96,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_mac.cpp:96,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:99,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:100,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:101,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_mac.cpp:104,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_mac.cpp:105,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_mac.cpp:105,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_mac.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:106,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_mac.cpp:106,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_mac.cpp:106,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:107,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:108,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:109,1
    - Dst: Botan_Tests::Message_Auth_Tests::rng
      Src: /src/botan/src/tests/test_mac.cpp:109,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:111,1
    - Dst: auto::verify_mac
      Src: /src/botan/src/tests/test_mac.cpp:111,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mac.cpp:111,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:111,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:113,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:114,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:115,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:117,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:118,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:118,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:119,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:119,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:121,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mac.cpp:121,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:124,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:125,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:127,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:128,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:128,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:129,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:129,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:131,1
    - Dst: auto::verify_mac
      Src: /src/botan/src/tests/test_mac.cpp:131,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mac.cpp:131,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:131,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_mac.cpp:134,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:138,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mac.cpp:138,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:138,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_mac.cpp:139,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_mac.cpp:141,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_mac.cpp:145,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mac.cpp:146,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mac.cpp:146,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_mac.cpp:147,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_mac.cpp:149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 82
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 154
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 154
    functionName: Botan_Tests::Message_Auth_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_mac.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - auto::output_length
    - Botan_Tests::Message_Auth_Tests::rng
    - Test::Result::note_missing
    - auto::clear
    - auto::final
    - auto::set_key
    - auto::name
    - Test::Result::test_eq
    - auto::new_object
    - Test::Result::confirm
    - auto::start
    - Test::Result::test_failure
    - auto::provider
    - Test::Result::test_success
    - Botan_Tests::Message_Auth_Tests::possible_providers
    - Test::Result::test_is_nonempty
    - auto::has_keying_material
    - std::vector::data
    - std::vector::size
    - auto::update
    - get_req_bin
    - auto::verify_mac
    - std::vector::empty
    - get_opt_bin
    - auto::get
    - Botan::MessageAuthenticationCode::create
    - auto::fresh_key_required_per_message
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Botan_Tests::Blowfish_Salted_Tests::Blowfish_Salted_Tests
    functionSourceFile: /src/botan/src/tests/test_blowfish.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Blowfish_Salted_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_blowfish.cpp:22,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_blowfish.cpp:23,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_blowfish.cpp:24,1
    - Dst: Botan::Blowfish::salted_set_key
      Src: /src/botan/src/tests/test_blowfish.cpp:28,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_blowfish.cpp:28,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_blowfish.cpp:28,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_blowfish.cpp:28,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_blowfish.cpp:28,1
    - Dst: Botan::Blowfish::encrypt
      Src: /src/botan/src/tests/test_blowfish.cpp:31,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_blowfish.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: Botan_Tests::Blowfish_Salted_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_blowfish.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Test::Result::test_eq
    - Botan::Blowfish::salted_set_key
    - get_req_bin
    - Botan::Blowfish::encrypt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan_Tests::get_valid_ca_bundle_path
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: std::string
    signature: std::string get_valid_ca_bundle_path()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan_Tests::get_ca_bundle_containing_user_cert
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: std::string
    signature: std::string get_ca_bundle_containing_user_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:34,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:36,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:37,1
    - Dst: Botan::Flatfile_Certificate_Store::all_subjects
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:37,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:39,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:39,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: Botan_Tests::open_certificate_store
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan::Flatfile_Certificate_Store::all_subjects
    - what
    - Test::Result::test_gt
    - Test::Result::test_failure
    - Test::Result::test_success
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result open_certificate_store()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:51,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:53,1
    - Dst: Botan_Tests::get_key_id
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:53,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:54,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:56,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:57,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:58,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:58,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:59,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:59,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:59,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:62,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:62,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:65,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: Botan_Tests::find_certificate_by_pubkey_sha1
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - Botan_Tests::get_subject_cn
    - Botan_Tests::get_key_id
    - auto::subject_dn
    - what
    - Test::Result::test_eq
    - Test::Result::test_throws
    - Test::Result::test_not_nullopt
    - Test::Result::test_int_eq
    - Test::Result::test_failure
    - auto::size
    - Botan::Flatfile_Certificate_Store::find_cert_by_pubkey_sha1
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_certificate_by_pubkey_sha1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:77,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:79,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:81,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:81,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:82,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:84,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:85,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:86,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:86,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:87,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:87,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:87,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:90,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: Botan_Tests::find_cert_by_subject_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_dn
    - auto::front
    - auto::subject_dn
    - what
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Test::Result::test_not_nullopt
    - Botan::Flatfile_Certificate_Store::find_cert
    - Test::Result::test_int_eq
    - Test::Result::test_failure
    - auto::size
    - Botan_Tests::get_subject_cn
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_cert_by_subject_dn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_utf8_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:100,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:102,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:104,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:104,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:106,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:108,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:109,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:110,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:110,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:111,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:111,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:114,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 118
    functionName: Botan_Tests::find_cert_by_utf8_subject_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - auto::subject_dn
    - what
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Test::Result::test_not_nullopt
    - Botan::Flatfile_Certificate_Store::find_cert
    - Test::Result::test_is_eq
    - Test::Result::test_failure
    - Botan_Tests::get_utf8_dn
    - auto::size
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_cert_by_utf8_subject_dn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:124,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:126,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:128,1
    - Dst: Botan_Tests::get_key_id
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:128,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:129,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:131,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:132,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:133,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:133,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:134,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:134,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:134,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:137,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 141
    functionName: Botan_Tests::find_cert_by_subject_dn_and_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_dn
    - auto::front
    - Botan_Tests::get_key_id
    - auto::subject_dn
    - what
    - Test::Result::test_eq
    - Test::Result::test_not_nullopt
    - Botan::Flatfile_Certificate_Store::find_cert
    - Test::Result::test_int_eq
    - Test::Result::test_failure
    - auto::size
    - Botan_Tests::get_subject_cn
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_cert_by_subject_dn_and_key_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:147,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:149,1
    - Dst: Botan::Flatfile_Certificate_Store::find_all_certs
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:151,1
    - Dst: Botan_Tests::get_key_id
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:151,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:152,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:154,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:154,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:155,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:155,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:156,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:157,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:157,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:158,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:158,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:158,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:161,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: Botan_Tests::find_certs_by_subject_dn_and_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_dn
    - auto::front
    - Botan_Tests::get_key_id
    - what
    - Test::Result::test_eq
    - Test::Result::confirm
    - auto::empty
    - Test::Result::test_int_eq
    - Test::Result::test_failure
    - auto::size
    - Botan::Flatfile_Certificate_Store::find_all_certs
    - Botan_Tests::get_subject_cn
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_certs_by_subject_dn_and_key_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:171,1
    - Dst: Botan::Flatfile_Certificate_Store::all_subjects
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:173,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:174,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:176,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:176,1
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:177,1
    - Dst: std::find_if
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:178,1
    - Dst: auto::cbegin
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:179,1
    - Dst: auto::cend
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:179,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:181,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:181,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:182,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:186,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: Botan_Tests::find_all_subjects
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_dn
    - std::find_if
    - Botan::Flatfile_Certificate_Store::all_subjects
    - auto::cbegin
    - auto::cend
    - what
    - Test::Result::confirm
    - auto::empty
    - auto::end
    - Test::Result::test_failure
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_all_subjects()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_unknown_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:196,1
    - Dst: Botan_Tests::get_unknown_key_id
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:197,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:199,1
    - Dst: Botan::Flatfile_Certificate_Store::find_all_certs
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:202,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:203,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:204,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:205,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:207,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:207,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:208,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:209,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:211,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: Botan_Tests::no_certificate_matches
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_unknown_key_id
    - what
    - Test::Result::confirm
    - auto::empty
    - Botan::Flatfile_Certificate_Store::find_cert
    - Test::Result::test_failure
    - Botan::Flatfile_Certificate_Store::find_all_certs
    - Botan::Flatfile_Certificate_Store::find_cert_by_pubkey_sha1
    - Botan_Tests::get_unknown_dn
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result no_certificate_matches()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:221,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:223,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: Botan_Tests::certstore_contains_user_certificate
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_success
    - Test::Result::test_failure
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result certstore_contains_user_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:236,1
    - Dst: open_certificate_store
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:236,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:237,1
    - Dst: find_certificate_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:237,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:238,1
    - Dst: find_cert_by_subject_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:238,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:239,1
    - Dst: find_cert_by_utf8_subject_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:239,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:240,1
    - Dst: find_cert_by_subject_dn_and_key_id
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:240,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:241,1
    - Dst: find_certs_by_subject_dn_and_key_id
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:241,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:242,1
    - Dst: find_all_subjects
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:242,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:243,1
    - Dst: no_certificate_matches
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:243,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:244,1
    - Dst: certstore_contains_user_certificate
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 247
    functionName: Botan_Tests::Certstor_Flatfile_Tests::run
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - find_certs_by_subject_dn_and_key_id
    - no_certificate_matches
    - certstore_contains_user_certificate
    - find_cert_by_utf8_subject_dn
    - find_cert_by_subject_dn_and_key_id
    - find_certificate_by_pubkey_sha1
    - find_cert_by_subject_dn
    - open_certificate_store
    - find_all_subjects
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::ECC_H2C_XMD_Tests::ECC_H2C_XMD_Tests
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_H2C_XMD_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_Tests::ECC_H2C_XMD_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:32,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:33,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:34,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:36,1
    - Dst: Botan::expand_message_xmd
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:37,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' hash'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: Botan_Tests::ECC_H2C_XMD_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Test::Result::test_eq
    - get_req_str
    - Botan::expand_message_xmd
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& hash, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan_Tests::ECC_H2C_Tests::ECC_H2C_Tests
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_H2C_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan_Tests::ECC_H2C_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:57,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan_Tests::ECC_H2C_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:61,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:65,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:66,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:67,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:68,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:71,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:71,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:71,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:73,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_ro
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:78,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_nu
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:80,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:83,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' method'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: Botan_Tests::ECC_H2C_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - Test::Result::test_eq
    - get_req_str
    - std::string::data
    - Botan::EC_AffinePoint::hash_to_curve_ro
    - Botan::EC_AffinePoint::hash_to_curve_nu
    - reinterpret_cast<const uint8_t*>
    - get_req_bin
    - std::string::size
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& method, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_Tests::Base32_Tests::Base32_Tests
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base32_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_codec.cpp:33,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_codec.cpp:37,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:38,1
    - Dst: Botan::base32_decode
      Src: /src/botan/src/tests/test_codec.cpp:38,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:39,1
    - Dst: Botan::base32_encode
      Src: /src/botan/src/tests/test_codec.cpp:39,1
    - Dst: Botan::base32_decode
      Src: /src/botan/src/tests/test_codec.cpp:41,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:42,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_codec.cpp:42,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:46,1
    - Dst: what
      Src: /src/botan/src/tests/test_codec.cpp:46,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_codec.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: Botan_Tests::Base32_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - what
    - Botan::hex_encode
    - Test::Result::test_eq
    - get_req_str
    - Test::Result::test_failure
    - get_req_bin
    - Botan::base32_encode
    - Botan::base32_decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_codec.cpp:60,1
    - Dst: std::string::insert
      Src: /src/botan/src/tests/test_codec.cpp:62,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:65,1
    - Dst: Botan::base32_decode
      Src: /src/botan/src/tests/test_codec.cpp:65,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:69,1
    - Dst: Botan::base32_decode
      Src: /src/botan/src/tests/test_codec.cpp:69,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:71,1
    - Dst: what
      Src: /src/botan/src/tests/test_codec.cpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: Botan_Tests::Base32_Tests::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached:
    - what
    - Test::Result::test_eq
    - std::string::insert
    - Test::Result::test_failure
    - std::string::size
    - Botan::base32_decode
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan_Tests::Base58_Tests::Base58_Tests
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base58_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_codec.cpp:94,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_codec.cpp:98,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:99,1
    - Dst: Botan::base58_decode
      Src: /src/botan/src/tests/test_codec.cpp:99,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:100,1
    - Dst: Botan::base58_encode
      Src: /src/botan/src/tests/test_codec.cpp:100,1
    - Dst: Botan::base58_decode
      Src: /src/botan/src/tests/test_codec.cpp:102,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:103,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_codec.cpp:103,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:107,1
    - Dst: what
      Src: /src/botan/src/tests/test_codec.cpp:107,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_codec.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: Botan_Tests::Base58_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - what
    - Test::Result::test_eq
    - get_req_str
    - Botan::base58_decode
    - Botan::base58_encode
    - Test::Result::test_failure
    - get_req_bin
    - Botan::hex_encode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan_Tests::Base58_Check_Tests::Base58_Check_Tests
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base58_Check_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_codec.cpp:127,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_codec.cpp:131,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:132,1
    - Dst: Botan::base58_check_decode
      Src: /src/botan/src/tests/test_codec.cpp:132,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:133,1
    - Dst: Botan::base58_check_encode
      Src: /src/botan/src/tests/test_codec.cpp:133,1
    - Dst: Botan::base58_check_decode
      Src: /src/botan/src/tests/test_codec.cpp:135,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:136,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_codec.cpp:136,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:140,1
    - Dst: what
      Src: /src/botan/src/tests/test_codec.cpp:140,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_codec.cpp:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 147
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 147
    functionName: Botan_Tests::Base58_Check_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - what
    - Botan::base58_check_decode
    - Test::Result::test_eq
    - Botan::base58_check_encode
    - get_req_str
    - Test::Result::test_failure
    - get_req_bin
    - Botan::hex_encode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan_Tests::Base64_Tests::Base64_Tests
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_codec.cpp:164,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_codec.cpp:168,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:169,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/tests/test_codec.cpp:169,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:170,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/tests/test_codec.cpp:170,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/tests/test_codec.cpp:172,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:173,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_codec.cpp:173,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:177,1
    - Dst: what
      Src: /src/botan/src/tests/test_codec.cpp:177,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_codec.cpp:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 184
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 184
    functionName: Botan_Tests::Base64_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached:
    - Botan::base64_encode
    - Test::Result::test_note
    - Botan::base64_decode
    - what
    - Test::Result::test_eq
    - get_req_str
    - Test::Result::test_failure
    - get_req_bin
    - Botan::hex_encode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_codec.cpp:191,1
    - Dst: std::string::insert
      Src: /src/botan/src/tests/test_codec.cpp:193,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:196,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/tests/test_codec.cpp:196,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:200,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/tests/test_codec.cpp:200,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:202,1
    - Dst: what
      Src: /src/botan/src/tests/test_codec.cpp:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 208
    functionName: Botan_Tests::Base64_Tests::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached:
    - Botan::base64_decode
    - what
    - Test::Result::test_eq
    - std::string::insert
    - Test::Result::test_failure
    - std::string::size
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_pubkey.cpp:40,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:41,1
    - Dst: verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:41,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_pubkey.cpp:44,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:47,1
    - Dst: verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:47,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:48,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:48,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:51,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:51,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:52,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ' result'
    - ' verifier'
    - ' message'
    - ' signature'
    - ' rng'
    argTypes:
    - Test::Result
    - Botan::PK_Verifier
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: Botan_Tests::check_invalid_signatures
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - what
    - test_eq
    - test_note
    - test_failure
    - Botan_Tests::Test::mutate_vec
    - size
    - Botan::hex_encode
    - verify_message
    linkageType: ''
    returnType: void
    signature: "void check_invalid_signatures(Test::Result& result,\n                              Botan::PK_Verifier&
      verifier,\n                              const std::vector<uint8_t>& message,\n
      \                             const std::vector<uint8_t>& signature,\n                              Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_pubkey.cpp:70,1
    - Dst: decrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:73,1
    - Dst: test_ne
      Src: /src/botan/src/tests/test_pubkey.cpp:76,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:77,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:84,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_pubkey.cpp:84,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_pubkey.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ' result'
    - ' decryptor'
    - ' plaintext'
    - ' ciphertext'
    - ' rng'
    argTypes:
    - Test::Result
    - Botan::PK_Decryptor
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: Botan_Tests::check_invalid_ciphertexts
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - test_eq
    - test_note
    - Botan_Tests::Test::mutate_vec
    - test_ne
    - decrypt
    linkageType: ''
    returnType: void
    signature: "void check_invalid_ciphertexts(Test::Result& result,\n                               Botan::PK_Decryptor&
      decryptor,\n                               const std::vector<uint8_t>& plaintext,\n
      \                              const std::vector<uint8_t>& ciphertext,\n                               Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey.cpp:89,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_pubkey.cpp:92,1
    - Dst: Botan_Tests::PK_Test::default_padding
      Src: /src/botan/src/tests/test_pubkey.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' vars'
    - ' pad_hdr'
    argTypes:
    - VarMap
    - std::string
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: Botan_Tests::PK_Test::choose_padding
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::PK_Test::default_padding
    - empty
    - get_opt_str
    linkageType: ''
    returnType: std::string
    signature: std::string PK_Test::choose_padding(const VarMap& vars, const std::string&
      pad_hdr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::provider_filter
      Src: /src/botan/src/tests/test_pubkey.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Botan_Tests::PK_Test::possible_providers
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::provider_filter
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PK_Test::possible_providers(const std::string&
      /*params*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:100,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:101,1
    - Dst: choose_padding
      Src: /src/botan/src/tests/test_pubkey.cpp:102,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:105,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_pubkey.cpp:106,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pubkey.cpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_pubkey.cpp:111,1
    - Dst: load_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:115,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_pubkey.cpp:117,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:117,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:121,1
    - Dst: std::unique_ptr::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:122,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:124,1
    - Dst: Botan::X509::BER_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:124,1
    - Dst: std::unique_ptr::public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:124,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:126,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:127,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:131,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:131,1
    - Dst: std::make_unique<Botan::PK_Verifier>
      Src: /src/botan/src/tests/test_pubkey.cpp:136,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:142,1
    - Dst: std::unique_ptr::verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:142,1
    - Dst: check_invalid_signatures
      Src: /src/botan/src/tests/test_pubkey.cpp:144,1
    - Dst: Botan_Tests::PK_Signature_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:144,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:146,1
    - Dst: std::unique_ptr::verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:146,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pubkey.cpp:148,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_pubkey.cpp:148,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:151,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:151,1
    - Dst: std::make_unique<Botan::PK_Signer>
      Src: /src/botan/src/tests/test_pubkey.cpp:157,1
    - Dst: Botan_Tests::PK_Signature_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:158,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_pubkey.cpp:160,1
    - Dst: Botan_Tests::PK_Signature_Generation_Test::test_rng
      Src: /src/botan/src/tests/test_pubkey.cpp:161,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:161,1
    - Dst: std::unique_ptr::sign_message
      Src: /src/botan/src/tests/test_pubkey.cpp:162,1
    - Dst: std::unique_ptr::sign_message
      Src: /src/botan/src/tests/test_pubkey.cpp:164,1
    - Dst: Botan_Tests::PK_Signature_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:164,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_pubkey.cpp:167,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:168,1
    - Dst: std::unique_ptr::signature_length
      Src: /src/botan/src/tests/test_pubkey.cpp:168,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:175,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:178,1
    - Dst: std::unique_ptr::verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:179,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:180,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - ' pad_hdr'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 187
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 187
    functionName: Botan_Tests::PK_Signature_Generation_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - std::move
    - std::ostringstream::str
    - what
    - get_req_str
    - std::unique_ptr::supports_operation
    - Test::Result::note_missing
    - choose_padding
    - std::unique_ptr::verify_message
    - possible_providers
    - Test::Result::test_eq
    - std::unique_ptr::public_key
    - load_private_key
    - check_invalid_signatures
    - Test::Result::confirm
    - auto::supports_operation
    - Test::Result::test_failure
    - std::make_unique<Botan::PK_Verifier>
    - std::vector::size
    - Botan_Tests::PK_Signature_Generation_Test::test_rng
    - Botan::X509::BER_encode
    - std::unique_ptr::signature_length
    - has_key
    - get_req_bin
    - Botan_Tests::PK_Signature_Generation_Test::rng
    - std::vector::push_back
    - std::unique_ptr::sign_message
    - algo_name
    - Test::Result::test_lte
    - std::make_unique<Botan::PK_Signer>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Signature_Generation_Test::run_one_test(const std::string&
      pad_hdr, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: Botan_Tests::PK_Signature_Verification_Test::sig_format
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Signature_Format
    signature: Botan::Signature_Format PK_Signature_Verification_Test::sig_format()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:194,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:195,1
    - Dst: choose_padding
      Src: /src/botan/src/tests/test_pubkey.cpp:196,1
    - Dst: load_public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:200,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:203,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_pubkey.cpp:204,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pubkey.cpp:205,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:207,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_pubkey.cpp:211,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:213,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:214,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:216,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:216,1
    - Dst: std::make_unique<Botan::PK_Verifier>
      Src: /src/botan/src/tests/test_pubkey.cpp:220,1
    - Dst: Botan_Tests::PK_Signature_Verification_Test::sig_format
      Src: /src/botan/src/tests/test_pubkey.cpp:220,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:230,1
    - Dst: Botan_Tests::PK_Signature_Verification_Test::test_random_invalid_sigs
      Src: /src/botan/src/tests/test_pubkey.cpp:232,1
    - Dst: check_invalid_signatures
      Src: /src/botan/src/tests/test_pubkey.cpp:233,1
    - Dst: Botan_Tests::PK_Signature_Verification_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:233,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:236,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:239,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - ' pad_hdr'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 245
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 245
    functionName: Botan_Tests::PK_Signature_Verification_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - what
    - get_req_str
    - choose_padding
    - possible_providers
    - Test::Result::test_eq
    - check_invalid_signatures
    - Test::Result::confirm
    - auto::supports_operation
    - Test::Result::test_failure
    - Botan_Tests::PK_Signature_Verification_Test::test_random_invalid_sigs
    - Botan_Tests::PK_Signature_Verification_Test::rng
    - std::string::empty
    - std::make_unique<Botan::PK_Verifier>
    - has_key
    - get_req_bin
    - load_public_key
    - Botan_Tests::PK_Signature_Verification_Test::sig_format
    - algo_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Signature_Verification_Test::run_one_test(const std::string&
      pad_hdr, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: choose_padding
      Src: /src/botan/src/tests/test_pubkey.cpp:248,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:249,1
    - Dst: load_public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:250,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:252,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:254,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:256,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:256,1
    - Dst: std::make_unique<Botan::PK_Verifier>
      Src: /src/botan/src/tests/test_pubkey.cpp:261,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:262,1
    - Dst: std::unique_ptr::verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:262,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' pad_hdr'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 269
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 269
    functionName: Botan_Tests::PK_Signature_NonVerification_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::PK_Verifier>
    - choose_padding
    - Test::Result::test_note
    - std::unique_ptr::verify_message
    - possible_providers
    - Test::Result::test_eq
    - algo_name
    - get_req_bin
    - load_public_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Signature_NonVerification_Test::run_one_test(const
      std::string& pad_hdr, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/botan/src/tests/test_pubkey.cpp:275,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:279,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:281,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:283,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:283,1
    - Dst: std::make_unique<Botan::PK_Signer>
      Src: /src/botan/src/tests/test_pubkey.cpp:288,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:289,1
    - Dst: std::make_unique<Botan::PK_Verifier>
      Src: /src/botan/src/tests/test_pubkey.cpp:291,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:293,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:293,1
    - Dst: std::unique_ptr::sign_message
      Src: /src/botan/src/tests/test_pubkey.cpp:298,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:298,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:301,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::test_random_invalid_sigs
      Src: /src/botan/src/tests/test_pubkey.cpp:303,1
    - Dst: check_invalid_signatures
      Src: /src/botan/src/tests/test_pubkey.cpp:304,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:304,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:307,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:307,1
    - Dst: Botan::PK_Signer::PK_Signer
      Src: /src/botan/src/tests/test_pubkey.cpp:316,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:316,1
    - Dst: Botan::PK_Verifier::PK_Verifier
      Src: /src/botan/src/tests/test_pubkey.cpp:317,1
    - Dst: auto::set_output_format
      Src: /src/botan/src/tests/test_pubkey.cpp:321,1
    - Dst: auto::set_input_format
      Src: /src/botan/src/tests/test_pubkey.cpp:322,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_pubkey.cpp:324,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:324,1
    - Dst: auto::verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:325,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:327,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::test_random_invalid_sigs
      Src: /src/botan/src/tests/test_pubkey.cpp:328,1
    - Dst: check_invalid_signatures
      Src: /src/botan/src/tests/test_pubkey.cpp:329,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:329,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:332,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:334,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:334,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 338
    functionName: Botan_Tests::PK_Sign_Verify_DER_Test::run
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - auto::verify_message
    - what
    - Botan_Tests::PK_Sign_Verify_DER_Test::algo_name
    - auto::set_output_format
    - auto::public_key
    - auto::sign_message
    - check_invalid_signatures
    - Test::Result::test_eq
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan_Tests::PK_Sign_Verify_DER_Test::possible_providers
    - std::make_unique<Botan::PK_Verifier>
    - Test::Result::test_note
    - Botan_Tests::PK_Sign_Verify_DER_Test::rng
    - Botan_Tests::PK_Sign_Verify_DER_Test::test_random_invalid_sigs
    - std::unique_ptr::sign_message
    - Botan::PK_Signer::PK_Signer
    - auto::set_input_format
    - key
    - Botan::PK_Verifier::PK_Verifier
    - std::make_unique<Botan::PK_Signer>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> PK_Sign_Verify_DER_Test::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::probe_provider_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:342,1
    - Dst: Botan_Tests::Test::provider_filter
      Src: /src/botan/src/tests/test_pubkey.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: Botan_Tests::PK_Sign_Verify_DER_Test::possible_providers
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 1
    functionsReached:
    - Botan::probe_provider_private_key
    - Botan_Tests::Test::provider_filter
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PK_Sign_Verify_DER_Test::possible_providers(const
      std::string& algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:347,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:348,1
    - Dst: choose_padding
      Src: /src/botan/src/tests/test_pubkey.cpp:349,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:351,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:351,1
    - Dst: load_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:353,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:355,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:356,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:358,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:362,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:362,1
    - Dst: std::make_unique<Botan::PK_Decryptor_EME>
      Src: /src/botan/src/tests/test_pubkey.cpp:366,1
    - Dst: Botan_Tests::PK_Encryption_Decryption_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:366,1
    - Dst: std::unique_ptr::decrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:373,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_pubkey.cpp:375,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:375,1
    - Dst: std::unique_ptr::plaintext_length
      Src: /src/botan/src/tests/test_pubkey.cpp:375,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:375,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:377,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:377,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:380,1
    - Dst: check_invalid_ciphertexts
      Src: /src/botan/src/tests/test_pubkey.cpp:381,1
    - Dst: Botan_Tests::PK_Encryption_Decryption_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:381,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:384,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:384,1
    - Dst: std::make_unique<Botan::PK_Encryptor_EME>
      Src: /src/botan/src/tests/test_pubkey.cpp:388,1
    - Dst: Botan_Tests::PK_Encryption_Decryption_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:388,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_pubkey.cpp:394,1
    - Dst: Botan_Tests::PK_Encryption_Decryption_Test::test_rng
      Src: /src/botan/src/tests/test_pubkey.cpp:395,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:395,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_pubkey.cpp:403,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:403,1
    - Dst: std::unique_ptr::maximum_input_size
      Src: /src/botan/src/tests/test_pubkey.cpp:403,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_pubkey.cpp:405,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:405,1
    - Dst: std::unique_ptr::maximum_input_size
      Src: /src/botan/src/tests/test_pubkey.cpp:405,1
    - Dst: std::unique_ptr::encrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:408,1
    - Dst: Botan_Tests::PK_Encryption_Decryption_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:408,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_pubkey.cpp:410,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:411,1
    - Dst: std::unique_ptr::ciphertext_length
      Src: /src/botan/src/tests/test_pubkey.cpp:411,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:411,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:414,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:417,1
    - Dst: decrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:417,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - ' pad_hdr'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 423
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 423
    functionName: Botan_Tests::PK_Encryption_Decryption_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::PK_Decryptor_EME>
    - what
    - std::unique_ptr::decrypt
    - check_invalid_ciphertexts
    - Botan::secure_vector::size
    - std::make_unique<Botan::PK_Encryptor_EME>
    - choose_padding
    - auto::public_key
    - possible_providers
    - Test::Result::test_eq
    - load_private_key
    - Botan_Tests::PK_Encryption_Decryption_Test::test_rng
    - Test::Result::confirm
    - auto::supports_operation
    - Test::Result::test_failure
    - std::string::empty
    - Botan_Tests::PK_Encryption_Decryption_Test::rng
    - std::vector::size
    - std::unique_ptr::encrypt
    - has_key
    - get_req_bin
    - std::unique_ptr::plaintext_length
    - decrypt
    - std::unique_ptr::maximum_input_size
    - std::unique_ptr::ciphertext_length
    - algo_name
    - Test::Result::test_lte
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Encryption_Decryption_Test::run_one_test(const std::string&
      pad_hdr, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:426,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:427,1
    - Dst: choose_padding
      Src: /src/botan/src/tests/test_pubkey.cpp:428,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:430,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:430,1
    - Dst: load_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:432,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:434,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:434,1
    - Dst: std::make_unique<Botan::PK_Decryptor_EME>
      Src: /src/botan/src/tests/test_pubkey.cpp:438,1
    - Dst: Botan_Tests::PK_Decryption_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:438,1
    - Dst: std::unique_ptr::decrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:445,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:447,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:447,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:450,1
    - Dst: check_invalid_ciphertexts
      Src: /src/botan/src/tests/test_pubkey.cpp:451,1
    - Dst: Botan_Tests::PK_Decryption_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' pad_hdr'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 455
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 455
    functionName: Botan_Tests::PK_Decryption_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - choose_padding
    - std::make_unique<Botan::PK_Decryptor_EME>
    - Botan_Tests::PK_Decryption_Test::rng
    - what
    - possible_providers
    - std::unique_ptr::decrypt
    - Test::Result::test_eq
    - algo_name
    - load_private_key
    - check_invalid_ciphertexts
    - Test::Result::test_failure
    - get_req_bin
    - std::string::empty
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Decryption_Test::run_one_test(const std::string& pad_hdr,
      const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:458,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:459,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:460,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pubkey.cpp:461,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:463,1
    - Dst: load_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:465,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:467,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:468,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:470,1
    - Dst: std::make_unique<Botan::PK_KEM_Encryptor>
      Src: /src/botan/src/tests/test_pubkey.cpp:476,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:478,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:482,1
    - Dst: std::unique_ptr::encrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:484,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:486,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_pubkey.cpp:487,1
    - Dst: std::unique_ptr::encapsulated_key_length
      Src: /src/botan/src/tests/test_pubkey.cpp:488,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:490,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_pubkey.cpp:491,1
    - Dst: std::unique_ptr::shared_key_length
      Src: /src/botan/src/tests/test_pubkey.cpp:491,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:493,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_pubkey.cpp:493,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:494,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_pubkey.cpp:494,1
    - Dst: std::make_unique<Botan::PK_KEM_Decryptor>
      Src: /src/botan/src/tests/test_pubkey.cpp:498,1
    - Dst: Botan_Tests::PK_KEM_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:498,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:500,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:500,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:504,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_pubkey.cpp:505,1
    - Dst: std::unique_ptr::encapsulated_key_length
      Src: /src/botan/src/tests/test_pubkey.cpp:506,1
    - Dst: std::unique_ptr::decrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:509,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pubkey.cpp:509,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:509,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pubkey.cpp:509,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:509,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:511,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:512,1
    - Dst: std::unique_ptr::shared_key_length
      Src: /src/botan/src/tests/test_pubkey.cpp:512,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 517
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 517
    functionName: Botan_Tests::PK_KEM_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::PK_KEM_Encryptor>
    - what
    - std::unique_ptr::decrypt
    - get_req_str
    - Botan::secure_vector::size
    - std::make_unique<Botan::PK_KEM_Decryptor>
    - auto::public_key
    - Test::Result::test_eq
    - Botan_Tests::PK_KEM_Test::rng
    - load_private_key
    - Test::Result::confirm
    - auto::supports_operation
    - std::unique_ptr::shared_key_length
    - std::vector::data
    - std::vector::size
    - Test::Result::test_note
    - std::unique_ptr::encrypt
    - auto::shared_key
    - auto::encapsulated_shared_key
    - get_req_bin
    - get_opt_bin
    - std::unique_ptr::encapsulated_key_length
    - algo_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_KEM_Test::run_one_test(const std::string& /*header*/,
      const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:520,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_pubkey.cpp:521,1
    - Dst: Botan_Tests::PK_Key_Agreement_Test::default_kdf
      Src: /src/botan/src/tests/test_pubkey.cpp:521,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:523,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey.cpp:523,1
    - Dst: load_our_key
      Src: /src/botan/src/tests/test_pubkey.cpp:525,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:527,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:528,1
    - Dst: load_their_key
      Src: /src/botan/src/tests/test_pubkey.cpp:530,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:534,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:534,1
    - Dst: std::make_unique<Botan::PK_Key_Agreement>
      Src: /src/botan/src/tests/test_pubkey.cpp:538,1
    - Dst: Botan_Tests::PK_Key_Agreement_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:538,1
    - Dst: Botan_Tests::PK_Key_Agreement_Test::agreement_should_fail
      Src: /src/botan/src/tests/test_pubkey.cpp:540,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pubkey.cpp:541,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/botan/src/tests/test_pubkey.cpp:541,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/botan/src/tests/test_pubkey.cpp:543,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:544,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:547,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pubkey.cpp:547,1
    - Dst: std::unique_ptr::agreed_value_size
      Src: /src/botan/src/tests/test_pubkey.cpp:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 556
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 556
    functionName: Botan_Tests::PK_Key_Agreement_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::PK_Key_Agreement_Test::agreement_should_fail
    - Botan_Tests::PK_Key_Agreement_Test::rng
    - possible_providers
    - std::unique_ptr::derive_key
    - Test::Result::test_eq
    - empty
    - algo_name
    - Botan_Tests::PK_Key_Agreement_Test::default_kdf
    - Test::Result::confirm
    - auto::supports_operation
    - std::make_unique<Botan::PK_Key_Agreement>
    - Test::Result::test_throws
    - load_our_key
    - auto::size
    - std::unique_ptr::agreed_value_size
    - get_req_bin
    - load_their_key
    - get_opt_str
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Key_Agreement_Test::run_one_test(const std::string&
      header, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::probe_provider_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:560,1
    - Dst: Botan_Tests::Test::provider_filter
      Src: /src/botan/src/tests/test_pubkey.cpp:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: Botan_Tests::PK_Key_Generation_Test::possible_providers
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::probe_provider_private_key
    - Botan_Tests::Test::provider_filter
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PK_Key_Generation_Test::possible_providers(const
      std::string& algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: private_key_info
      Src: /src/botan/src/tests/test_pubkey.cpp:572,1
    - Dst: Botan_Tests::Test::random_password
      Src: /src/botan/src/tests/test_pubkey.cpp:574,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:578,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_pubkey.cpp:578,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:580,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:582,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:583,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:583,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:583,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:584,1
    - Dst: auto::private_key_info
      Src: /src/botan/src/tests/test_pubkey.cpp:584,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:586,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:586,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:591,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_pubkey.cpp:591,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:593,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:595,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:596,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:596,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:596,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:597,1
    - Dst: auto::private_key_info
      Src: /src/botan/src/tests/test_pubkey.cpp:597,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:599,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ' result'
    - ' key'
    - ' pbe_algo'
    - ' rng'
    argTypes:
    - Test::Result
    - Botan::Private_Key
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 601
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 601
    functionName: Botan_Tests::test_pbe_roundtrip
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - auto::algo_name
    - auto::private_key_info
    - Botan_CLI::Timer::milliseconds
    - Botan_Tests::Test::random_password
    - what
    - Botan::PKCS8::BER_encode
    - private_key_info
    - test_eq
    - algo_name
    - test_failure
    - Botan::PKCS8::PEM_encode
    - Botan::PKCS8::load_key
    - confirm
    linkageType: ''
    returnType: void
    signature: "void test_pbe_roundtrip(Test::Result& result,\n                        const
      Botan::Private_Key& key,\n                        const std::string& pbe_algo,\n
      \                       Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keygen_params
      Src: /src/botan/src/tests/test_pubkey.cpp:609,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:610,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pubkey.cpp:611,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey.cpp:611,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:615,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:617,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_pubkey.cpp:618,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_pubkey.cpp:621,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:623,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:623,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:632,1
    - Dst: check_key
      Src: /src/botan/src/tests/test_pubkey.cpp:632,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:632,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:635,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:636,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:636,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_pubkey.cpp:638,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pubkey.cpp:639,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:641,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_pubkey.cpp:642,1
    - Dst: object_identifier
      Src: /src/botan/src/tests/test_pubkey.cpp:643,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:648,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_pubkey.cpp:652,1
    - Dst: estimated_strength
      Src: /src/botan/src/tests/test_pubkey.cpp:652,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_pubkey.cpp:653,1
    - Dst: estimated_strength
      Src: /src/botan/src/tests/test_pubkey.cpp:653,1
    - Dst: public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:655,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:657,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:657,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:657,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:659,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:660,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:660,1
    - Dst: auto::generate_another
      Src: /src/botan/src/tests/test_pubkey.cpp:666,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:666,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:667,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:669,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:669,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:669,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:670,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:670,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:670,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:671,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey.cpp:672,1
    - Dst: estimated_strength
      Src: /src/botan/src/tests/test_pubkey.cpp:672,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:673,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey.cpp:674,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey.cpp:675,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pubkey.cpp:676,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_pubkey.cpp:676,1
    - Dst: private_key_bits
      Src: /src/botan/src/tests/test_pubkey.cpp:676,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:678,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:679,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/tests/test_pubkey.cpp:686,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pubkey.cpp:687,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pubkey.cpp:687,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:689,1
    - Dst: dynamic_cast<const Botan::PK_Key_Agreement_Key*>
      Src: /src/botan/src/tests/test_pubkey.cpp:692,1
    - Dst: Test::Result::require
      Src: /src/botan/src/tests/test_pubkey.cpp:693,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:694,1
    - Dst: auto*::public_value
      Src: /src/botan/src/tests/test_pubkey.cpp:694,1
    - Dst: public_key_from_raw
      Src: /src/botan/src/tests/test_pubkey.cpp:697,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:698,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:698,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:698,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:699,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_pubkey.cpp:699,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_pubkey.cpp:699,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_pubkey.cpp:702,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:702,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:703,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:703,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:705,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:705,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:711,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:712,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:714,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:715,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:715,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:715,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:718,1
    - Dst: auto::check_key
      Src: /src/botan/src/tests/test_pubkey.cpp:718,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:718,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:721,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:721,1
    - Dst: auto::subject_public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:726,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:728,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:730,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:731,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:731,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:731,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:732,1
    - Dst: auto::subject_public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:732,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:734,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:734,1
    - Dst: private_key_info
      Src: /src/botan/src/tests/test_pubkey.cpp:739,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:741,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:743,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:744,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:744,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:744,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:745,1
    - Dst: auto::private_key_info
      Src: /src/botan/src/tests/test_pubkey.cpp:745,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:747,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:747,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:752,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:754,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:755,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:755,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:755,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:757,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:757,1
    - Dst: test_pbe_roundtrip
      Src: /src/botan/src/tests/test_pubkey.cpp:762,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:762,1
    - Dst: test_pbe_roundtrip
      Src: /src/botan/src/tests/test_pubkey.cpp:767,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:767,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_pubkey.cpp:771,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pubkey.cpp:773,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 777
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 777
    functionName: Botan_Tests::PK_Key_Generation_Test::run
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_lt
    - auto*::public_value
    - Botan::X509::load_key
    - Botan::fmt
    - auto::private_key_info
    - what
    - auto::value
    - dynamic_cast<const Botan::PK_Key_Agreement_Key*>
    - empty
    - private_key_info
    - Test::Result::note_missing
    - Test::Result::test_gte
    - Botan::X509::PEM_encode
    - Botan_Tests::PK_Key_Generation_Test::rng
    - Botan::value_exists
    - Test::Result::end_timer
    - estimated_strength
    - auto::public_key
    - public_key
    - public_key_from_raw
    - Test::Result::test_eq
    - auto::check_key
    - Test::Result::confirm
    - auto::supports_operation
    - auto::raw_public_key_bits
    - Test::Result::test_failure
    - Test::Result::test_success
    - auto::size
    - test_pbe_roundtrip
    - std::string::empty
    - Botan::OID::from_name
    - Test::Result::test_note
    - keygen_params
    - Botan::create_private_key
    - object_identifier
    - auto::subject_public_key
    - Botan::PKCS8::load_key
    - Test::Result::require
    - auto::generate_another
    - std::vector::push_back
    - std::vector::empty
    - auto::private_key_bits
    - Botan_Tests::PK_Key_Generation_Test::possible_providers
    - auto::estimated_strength
    - private_key_bits
    - Botan_Tests::PK_Key_Generation_Test::algo_name
    - Test::Result::test_ne
    - check_key
    - auto::public_key_bits
    - auto::algo_name
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> PK_Key_Generation_Test::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:780,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pubkey.cpp:783,1
    - Dst: load_public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:787,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: Botan_Tests::PK_Key_Validity_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - load_public_key
    - Test::Result::test_eq
    - Test_Error
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Key_Validity_Test::run_one_test(const std::string&
      header, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo'
    - ' test_src'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 798
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 798
    functionName: Botan_Tests::PK_Key_Generation_Stability_Test::PK_Key_Generation_Stability_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Key_Generation_Stability_Test::PK_Key_Generation_Stability_Test(const
      std::string& algo,\n                                                                   const
      std::string& test_src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_pubkey.cpp:801,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pubkey.cpp:802,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_pubkey.cpp:803,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:804,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:805,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:809,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:810,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_pubkey.cpp:815,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_pubkey.cpp:817,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_pubkey.cpp:823,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:828,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pubkey.cpp:829,1
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_pubkey.cpp:831,1
    - Dst: std::unique_ptr::add_entropy
      Src: /src/botan/src/tests/test_pubkey.cpp:835,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pubkey.cpp:835,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:835,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:838,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:838,1
    - Dst: auto::private_key_info
      Src: /src/botan/src/tests/test_pubkey.cpp:840,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:841,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:844,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:844,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:847,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_pubkey.cpp:850,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 853
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 853
    functionName: Botan_Tests::PK_Key_Generation_Stability_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - auto::private_key_info
    - std::ostringstream::str
    - what
    - get_req_str
    - Test_Error
    - Test::Result::end_timer
    - std::make_unique<Fixed_Output_RNG>
    - Test::Result::test_eq
    - std::string::empty
    - std::make_unique<Botan::HMAC_DRBG>
    - std::vector::data
    - std::vector::size
    - get_opt_str
    - Test::Result::test_note
    - std::unique_ptr::add_entropy
    - Botan::create_private_key
    - get_req_bin
    - algo_name
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Key_Generation_Stability_Test::run_one_test(const std::string&,
      const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 860
    functionName: Botan_Tests::PK_API_Sign_Test::PK_API_Sign_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_API_Sign_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pubkey.cpp:864,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pubkey.cpp:865,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_pubkey.cpp:866,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_pubkey.cpp:867,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:871,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:874,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_pubkey.cpp:877,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:881,1
    - Dst: Botan_Tests::PK_API_Sign_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:881,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:888,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pubkey.cpp:888,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:893,1
    - Dst: Botan::X509::BER_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:893,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:893,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:894,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:896,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:897,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:898,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:899,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_pubkey.cpp:900,1
    - Dst: auto::key_length
      Src: /src/botan/src/tests/test_pubkey.cpp:900,1
    - Dst: auto::stateful_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:901,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:902,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_pubkey.cpp:903,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:905,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_pubkey.cpp:906,1
    - Dst: std::make_unique<Botan::PK_Signer>
      Src: /src/botan/src/tests/test_pubkey.cpp:909,1
    - Dst: Botan_Tests::PK_API_Sign_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:910,1
    - Dst: std::make_unique<Botan::PK_Verifier>
      Src: /src/botan/src/tests/test_pubkey.cpp:912,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:913,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:914,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_pubkey.cpp:916,1
    - Dst: auto::hash_function
      Src: /src/botan/src/tests/test_pubkey.cpp:916,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_pubkey.cpp:917,1
    - Dst: auto::hash_function
      Src: /src/botan/src/tests/test_pubkey.cpp:917,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:919,1
    - Dst: auto::hash_function
      Src: /src/botan/src/tests/test_pubkey.cpp:920,1
    - Dst: auto::hash_function
      Src: /src/botan/src/tests/test_pubkey.cpp:920,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_pubkey.cpp:922,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_pubkey.cpp:923,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_pubkey.cpp:925,1
    - Dst: Botan_Tests::PK_API_Sign_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:925,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_pubkey.cpp:926,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pubkey.cpp:926,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:927,1
    - Dst: auto::verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 2
    argNames:
    - ' algorithm'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 932
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 932
    functionName: Botan_Tests::PK_API_Sign_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - Botan::fmt
    - std::ostringstream::str
    - auto::verify_message
    - auto::key_length
    - get_req_str
    - auto::public_key
    - auto::reset
    - auto::sign_message
    - Test::Result::test_eq
    - Test::Result::confirm
    - auto::supports_operation
    - Test::Result::test_gt
    - auto::stateful_operation
    - auto::size
    - std::string::empty
    - Test::Result::test_is_nonempty
    - get_opt_str
    - std::make_unique<Botan::PK_Verifier>
    - Test::Result::test_note
    - Botan::X509::BER_encode
    - Botan::create_private_key
    - auto::remaining_operations
    - Botan_Tests::PK_API_Sign_Test::rng
    - auto::hash_function
    - std::make_unique<Botan::PK_Signer>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algorithm, const VarMap&
      vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 941
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 941
    functionName: Botan_Tests::PK_API_Sign_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test([[maybe_unused]] const std::string& header, const
      VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 951
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 951
    functionName: Botan_Tests::PK_Key_Decoding_Test::PK_Key_Decoding_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Key_Decoding_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:955,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:960,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pubkey.cpp:961,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:963,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_pubkey.cpp:965,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:965,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:966,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:968,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:968,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 973
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 973
    functionName: Botan_Tests::PK_Key_Decoding_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - Botan::PKCS8::load_key
    - what
    - std::string
    - Test::Result::test_failure
    - Test::Result::test_success
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::KDF_KAT_Tests::KDF_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_kdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KDF_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KDF::create
      Src: /src/botan/src/tests/test_kdf.cpp:30,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_kdf.cpp:33,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_kdf.cpp:37,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kdf.cpp:38,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_kdf.cpp:39,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kdf.cpp:40,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kdf.cpp:42,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_kdf.cpp:42,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kdf.cpp:43,1
    - Dst: auto::derive_key
      Src: /src/botan/src/tests/test_kdf.cpp:43,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_kdf.cpp:43,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_kdf.cpp:45,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kdf.cpp:47,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_kdf.cpp:47,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_kdf.cpp:47,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_kdf.cpp:51,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_kdf.cpp:52,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_kdf.cpp:52,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_kdf.cpp:52,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kdf.cpp:53,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_kdf.cpp:53,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_kdf.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' kdf_name'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 56
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 56
    functionName: Botan_Tests::KDF_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_kdf.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_opt_bin
    - auto::begin
    - auto::name
    - Test::Result::test_eq
    - auto::derive_key
    - auto::new_object
    - auto::get
    - Test::Result::confirm
    - auto::end
    - Test::Result::note_missing
    - get_req_bin
    - Botan::KDF::create
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& kdf_name, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan_Tests::HKDF_Expand_Label_Tests::HKDF_Expand_Label_Tests
    functionSourceFile: /src/botan/src/tests/test_kdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HKDF_Expand_Label_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kdf.cpp:71,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kdf.cpp:72,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_kdf.cpp:73,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kdf.cpp:74,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_kdf.cpp:76,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_kdf.cpp:79,1
    - Dst: Botan::hkdf_expand_label
      Src: /src/botan/src/tests/test_kdf.cpp:84,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_kdf.cpp:84,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kdf.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' hash_name'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: Botan_Tests::HKDF_Expand_Label_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_kdf.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Test::Result::test_note
    - Test::Result::test_eq
    - get_req_str
    - get_req_bin
    - Botan::HashFunction::create
    - Botan::hkdf_expand_label
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& hash_name, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan_Tests::TPM_Tests::pin_cb
    functionSourceFile: /src/botan/src/tests/test_tpm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string pin_cb(const std::string&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::reset
      Src: /src/botan/src/tests/test_tpm.cpp:28,1
    - Dst: Botan::TPM_Context::TPM_Context
      Src: /src/botan/src/tests/test_tpm.cpp:28,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tpm.cpp:29,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tpm.cpp:31,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_tpm.cpp:36,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_tpm.cpp:36,1
    - Dst: std::unique_ptr::current_counter
      Src: /src/botan/src/tests/test_tpm.cpp:36,1
    - Dst: Botan::TPM_RNG::random_vec
      Src: /src/botan/src/tests/test_tpm.cpp:39,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tpm.cpp:41,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tpm.cpp:41,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tpm.cpp:44,1
    - Dst: Botan::TPM_PrivateKey::export_blob
      Src: /src/botan/src/tests/test_tpm.cpp:46,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_tpm.cpp:49,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm.cpp:49,1
    - Dst: Botan::TPM_PrivateKey::registered_keys
      Src: /src/botan/src/tests/test_tpm.cpp:51,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_tpm.cpp:54,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tpm.cpp:61,1
    - Dst: what
      Src: /src/botan/src/tests/test_tpm.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 65
    functionName: Botan_Tests::TPM_Tests::run
    functionSourceFile: /src/botan/src/tests/test_tpm.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::TPM_Context::TPM_Context
    - Test::Result::test_note
    - std::to_string
    - Botan::TPM_RNG::random_vec
    - std::vector<uint8_t>
    - what
    - std::unique_ptr::reset
    - Test::Result::test_ne
    - std::unique_ptr::current_counter
    - Botan::TPM_PrivateKey::registered_keys
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan::TPM_PrivateKey::export_blob
    - Test::Result::test_gte
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::UUID::UUID
      Src: /src/botan/src/tests/test_tpm.cpp:75,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tpm.cpp:77,1
    - Dst: Botan::UUID::is_valid
      Src: /src/botan/src/tests/test_tpm.cpp:77,1
    - Dst: Botan_Tests::UUID_Tests::rng
      Src: /src/botan/src/tests/test_tpm.cpp:79,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tpm.cpp:80,1
    - Dst: Botan::UUID::is_valid
      Src: /src/botan/src/tests/test_tpm.cpp:80,1
    - Dst: Botan::UUID::binary_value
      Src: /src/botan/src/tests/test_tpm.cpp:82,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tpm.cpp:83,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_tpm.cpp:85,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tpm.cpp:86,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_tpm.cpp:86,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_tpm.cpp:88,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tpm.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: Botan_Tests::UUID_Tests::run
    functionSourceFile: /src/botan/src/tests/test_tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::UUID::binary_value
    - Test::Result::test_eq
    - Botan::UUID::UUID
    - Botan::UUID::to_string
    - Test::Result::confirm
    - Botan::UUID::is_valid
    - Botan_Tests::UUID_Tests::rng
    - std::string::size
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/tests/test_sphincsplus.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - kat_path
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: Botan_Tests::SPHINCS_Plus_Test_Base::SPHINCS_Plus_Test_Base
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void SPHINCS_Plus_Test_Base(std::string_view kat_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:37,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:37,1
    - Dst: auto::is_available
      Src: /src/botan/src/tests/test_sphincsplus.cpp:39,1
    - Dst: auto::hash_type
      Src: /src/botan/src/tests/test_sphincsplus.cpp:45,1
    - Dst: auto::parameter_set
      Src: /src/botan/src/tests/test_sphincsplus.cpp:51,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_sphincsplus.cpp:65,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/tests/test_sphincsplus.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 68
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 68
    functionName: Botan_Tests::SPHINCS_Plus_Test_Base::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - auto::hash_type
    - auto::parameter_set
    - get_req_str
    - Botan::Sphincs_Parameters::create
    - Botan_Tests::Test::run_long_tests
    - auto::is_available
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:71,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:71,1
    - Dst: auto::is_slh_dsa
      Src: /src/botan/src/tests/test_sphincsplus.cpp:72,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:74,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:75,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:76,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:77,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:78,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_sphincsplus.cpp:80,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:81,1
    - Dst: auto::hash_type
      Src: /src/botan/src/tests/test_sphincsplus.cpp:91,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_sphincsplus.cpp:97,1
    - Dst: CTR_DRBG_AES256
      Src: /src/botan/src/tests/test_sphincsplus.cpp:107,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_sphincsplus.cpp:109,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_sphincsplus.cpp:109,1
    - Dst: auto::n
      Src: /src/botan/src/tests/test_sphincsplus.cpp:109,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_sphincsplus.cpp:113,1
    - Dst: auto::n
      Src: /src/botan/src/tests/test_sphincsplus.cpp:113,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_sphincsplus.cpp:115,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_sphincsplus.cpp:116,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus.cpp:121,1
    - Dst: Botan::SphincsPlus_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/test_sphincsplus.cpp:121,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus.cpp:122,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_sphincsplus.cpp:122,1
    - Dst: Botan::SphincsPlus_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_sphincsplus.cpp:122,1
    - Dst: Botan::PK_Signer::PK_Signer
      Src: /src/botan/src/tests/test_sphincsplus.cpp:125,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_sphincsplus.cpp:126,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sphincsplus.cpp:126,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sphincsplus.cpp:126,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus.cpp:128,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_sphincsplus.cpp:128,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_sphincsplus.cpp:128,1
    - Dst: Botan::SphincsPlus_PrivateKey::public_key
      Src: /src/botan/src/tests/test_sphincsplus.cpp:130,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_sphincsplus.cpp:130,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sphincsplus.cpp:133,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_sphincsplus.cpp:137,1
    - Dst: run_long_tests
      Src: /src/botan/src/tests/test_sphincsplus.cpp:138,1
    - Dst: auto::parameter_set
      Src: /src/botan/src/tests/test_sphincsplus.cpp:138,1
    - Dst: Botan::PK_Signer::PK_Signer
      Src: /src/botan/src/tests/test_sphincsplus.cpp:139,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_sphincsplus.cpp:140,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sphincsplus.cpp:140,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sphincsplus.cpp:140,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus.cpp:142,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_sphincsplus.cpp:142,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_sphincsplus.cpp:142,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_sphincsplus.cpp:145,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sphincsplus.cpp:145,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sphincsplus.cpp:145,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_sphincsplus.cpp:145,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_sphincsplus.cpp:145,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sphincsplus.cpp:146,1
    - Dst: auto::parameter_set
      Src: /src/botan/src/tests/test_sphincsplus.cpp:154,1
    - Dst: auto::parameter_set
      Src: /src/botan/src/tests/test_sphincsplus.cpp:155,1
    - Dst: Botan::PK_Signer::PK_Signer
      Src: /src/botan/src/tests/test_sphincsplus.cpp:161,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_sphincsplus.cpp:162,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sphincsplus.cpp:162,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sphincsplus.cpp:162,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus.cpp:164,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_sphincsplus.cpp:165,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_sphincsplus.cpp:165,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_sphincsplus.cpp:169,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sphincsplus.cpp:172,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_sphincsplus.cpp:175,1
    - Dst: Botan_Tests::SPHINCS_Plus_Test_Base::rng
      Src: /src/botan/src/tests/test_sphincsplus.cpp:175,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sphincsplus.cpp:178,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sphincsplus.cpp:182,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sphincsplus.cpp:186,1
    - Dst: auto::to_string
      Src: /src/botan/src/tests/test_sphincsplus.cpp:186,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 189
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 189
    functionName: Botan_Tests::SPHINCS_Plus_Test_Base::run_one_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - auto::is_slh_dsa
    - get_req_str
    - Botan::Sphincs_Parameters::create
    - auto::has_value
    - auto::algorithm_identifier
    - auto::hash_type
    - auto::sign_message
    - auto::random_vec
    - run_long_tests
    - Test::Result::confirm
    - unlock
    - Botan_Tests::Test::mutate_vec
    - Botan_Tests::SPHINCS_Plus_Test_Base::rng
    - auto::size
    - auto::to_string
    - auto::process
    - std::vector::data
    - std::vector::size
    - Fixed_Output_RNG::add_entropy
    - Botan::SphincsPlus_PrivateKey::private_key_bits
    - Botan::SphincsPlus_PrivateKey::public_key
    - CTR_DRBG_AES256
    - Botan::SphincsPlus_PrivateKey::public_key_bits
    - Botan::PK_Verifier::verify_message
    - auto::data
    - Test::Result::test_is_eq
    - Botan::HashFunction::create_or_throw
    - has_key
    - get_req_bin
    - auto::n
    - get_opt_bin
    - auto::parameter_set
    - Botan::PK_Signer::PK_Signer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan_Tests::SPHINCS_Plus_Test::SPHINCS_Plus_Test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SPHINCS_Plus_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: Botan_Tests::SLH_DSA_Test::SLH_DSA_Test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SLH_DSA_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_sphincsplus.cpp:221,1
    - Dst: std::copy_if
      Src: /src/botan/src/tests/test_sphincsplus.cpp:223,1
    - Dst: begin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:223,1
    - Dst: end
      Src: /src/botan/src/tests/test_sphincsplus.cpp:224,1
    - Dst: std::back_inserter
      Src: /src/botan/src/tests/test_sphincsplus.cpp:225,1
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: Botan_Tests::SPHINCS_Plus_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::back_inserter
    - Botan_Tests::Test::run_long_tests
    - Botan::Sphincs_Parameters::create
    - std::copy_if
    - begin
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: Botan_Tests::SPHINCS_Plus_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::SphincsPlus_PublicKey>
      Src: /src/botan/src/tests/test_sphincsplus.cpp:235,1
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: Botan_Tests::SPHINCS_Plus_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::SphincsPlus_PublicKey>
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: Botan_Tests::Generic_SlhDsa_Signature_Tests::Generic_SlhDsa_Signature_Tests
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Generic_SlhDsa_Signature_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: Botan_Tests::Generic_SlhDsa_Signature_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:249,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:250,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:251,1
    - Dst: std::make_unique<Botan::SphincsPlus_PrivateKey>
      Src: /src/botan/src/tests/test_sphincsplus.cpp:253,1
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:253,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_sphincsplus.cpp:255,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_sphincsplus.cpp:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: Botan_Tests::Generic_SlhDsa_Signature_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::Sphincs_Parameters::create
    - Test_Error
    - auto::public_key_bits
    - std::make_unique<Botan::SphincsPlus_PrivateKey>
    - get_req_bin
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_key
      Src: /src/botan/src/tests/test_sphincsplus.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: Botan_Tests::Generic_SlhDsa_Signature_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - has_key
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:267,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: Botan_Tests::Generic_SlhDsa_Signature_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: Botan_Tests::Generic_SlhDsa_Verification_Tests::Generic_SlhDsa_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Generic_SlhDsa_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: Botan_Tests::Generic_SlhDsa_Verification_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:280,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:281,1
    - Dst: std::make_unique<Botan::SphincsPlus_PublicKey>
      Src: /src/botan/src/tests/test_sphincsplus.cpp:283,1
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: Botan_Tests::Generic_SlhDsa_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - get_req_str
    - std::make_unique<Botan::SphincsPlus_PublicKey>
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: Botan_Tests::Generic_SlhDsa_Verification_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:289,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: Botan_Tests::Generic_SlhDsa_Verification_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:20,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:23,1
    - Dst: Botan::TLS::Handshake_Transitions::change_cipher_spec_expected
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:23,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:25,1
    - Dst: Botan::TLS::Handshake_Transitions::received_handshake_msg
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:26,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:27,1
    - Dst: Botan::TLS::Handshake_Transitions::confirm_transition_to
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:28,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:31,1
    - Dst: Botan::TLS::Handshake_Transitions::set_expected_next
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:34,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:36,1
    - Dst: Botan::TLS::Handshake_Transitions::confirm_transition_to
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:37,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:39,1
    - Dst: Botan::TLS::Handshake_Transitions::received_handshake_msg
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:40,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:42,1
    - Dst: Botan::TLS::Handshake_Transitions::confirm_transition_to
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:43,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:46,1
    - Dst: Botan::TLS::Handshake_Transitions::set_expected_next
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:49,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:51,1
    - Dst: Botan::TLS::Handshake_Transitions::confirm_transition_to
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:52,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:55,1
    - Dst: Botan::TLS::Handshake_Transitions::set_expected_next
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:58,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:63,1
    - Dst: Botan::TLS::Handshake_Transitions::confirm_transition_to
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:64,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:65,1
    - Dst: Botan::TLS::Handshake_Transitions::received_handshake_msg
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:66,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:68,1
    - Dst: auto::confirm_transition_to
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:69,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:70,1
    - Dst: auto::received_handshake_msg
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:71,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:74,1
    - Dst: Botan::TLS::Handshake_Transitions::set_expected_next
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:77,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:78,1
    - Dst: Botan::TLS::Handshake_Transitions::change_cipher_spec_expected
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 81
    functionName: Botan_Tests::test_handshake_state_transitions
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_transitions.cpp
    functionUses: 0
    functionsReached:
    - test_no_throw
    - Botan::TLS::Handshake_Transitions::confirm_transition_to
    - Botan_Tests::CHECK
    - Botan::TLS::Handshake_Transitions::received_handshake_msg
    - Botan::TLS::Handshake_Transitions::change_cipher_spec_expected
    - test_throws
    - auto::received_handshake_msg
    - confirm
    - auto::confirm_transition_to
    - Botan::TLS::Handshake_Transitions::set_expected_next
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_handshake_state_transitions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
      Src: /src/botan/src/tests/test_hash.cpp:24,1
    - Dst: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
      Src: /src/botan/src/tests/test_hash.cpp:25,1
    - Dst: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
      Src: /src/botan/src/tests/test_hash.cpp:26,1
    - Dst: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
      Src: /src/botan/src/tests/test_hash.cpp:27,1
    - Dst: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
      Src: /src/botan/src/tests/test_hash.cpp:28,1
    - Dst: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
      Src: /src/botan/src/tests/test_hash.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: Botan_Tests::Invalid_Hash_Name_Tests::run
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_hash.cpp:37,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_hash.cpp:38,1
    - Dst: what
      Src: /src/botan/src/tests/test_hash.cpp:40,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_hash.cpp:42,1
    - Dst: what
      Src: /src/botan/src/tests/test_hash.cpp:45,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_hash.cpp:46,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_hash.cpp:48,1
    - Dst: what
      Src: /src/botan/src/tests/test_hash.cpp:48,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_hash.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' result'
    - ' name'
    argTypes:
    - Result
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 1
    functionsReached:
    - test_eq
    - test_failure
    - Botan::HashFunction::create_or_throw
    - what
    linkageType: ''
    returnType: void
    signature: void test_invalid_name(Result& result, const std::string& name, const
      std::string& expected_msg = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan_Tests::Hash_Function_Tests::Hash_Function_Tests
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hash_Function_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_hash.cpp:62,1
    - Dst: Botan::HashFunction::providers
      Src: /src/botan/src/tests/test_hash.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan_Tests::Hash_Function_Tests::possible_providers
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::providers
    - provider_filter
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> possible_providers(const std::string& algo)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hash.cpp:66,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hash.cpp:67,1
    - Dst: Botan_Tests::Hash_Function_Tests::possible_providers
      Src: /src/botan/src/tests/test_hash.cpp:71,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_hash.cpp:73,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_hash.cpp:74,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_hash.cpp:79,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_hash.cpp:82,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_hash.cpp:82,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_hash.cpp:86,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_hash.cpp:88,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_hash.cpp:89,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:90,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_hash.cpp:90,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:91,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_hash.cpp:91,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_hash.cpp:91,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:94,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:95,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:95,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:98,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:99,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:99,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:102,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_hash.cpp:103,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:104,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:107,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:107,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_hash.cpp:111,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/test_hash.cpp:118,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_hash.cpp:118,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:121,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:122,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:122,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:125,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:126,1
    - Dst: auto::copy_state
      Src: /src/botan/src/tests/test_hash.cpp:128,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:130,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:130,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:133,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:136,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:140,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:143,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:143,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:145,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:145,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:146,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:146,1
    - Dst: auto::hash_block_size
      Src: /src/botan/src/tests/test_hash.cpp:149,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_hash.cpp:151,1
    - Dst: auto::hash_block_size
      Src: /src/botan/src/tests/test_hash.cpp:151,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 156
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 156
    functionName: Botan_Tests::Hash_Function_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan_Tests::Hash_Function_Tests::possible_providers
    - Test::Result::note_missing
    - auto::clear
    - Botan::HashFunction::create
    - auto::final
    - Test::Result::test_gte
    - auto::name
    - Test::Result::test_eq
    - auto::new_object
    - auto::hash_block_size
    - Test::Result::test_failure
    - auto::provider
    - Test::Result::test_is_nonempty
    - std::vector::begin
    - std::vector::size
    - std::vector::insert
    - auto::copy_state
    - auto::update
    - get_req_bin
    - std::vector::empty
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Botan_Tests::Hash_NIST_MonteCarlo_Tests::Hash_NIST_MonteCarlo_Tests
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hash_NIST_MonteCarlo_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_hash.cpp:166,1
    - Dst: Botan::HashFunction::providers
      Src: /src/botan/src/tests/test_hash.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan_Tests::Hash_NIST_MonteCarlo_Tests::possible_providers
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::providers
    - provider_filter
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> possible_providers(const std::string& algo)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hash.cpp:170,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hash.cpp:172,1
    - Dst: Botan_Tests::Hash_NIST_MonteCarlo_Tests::possible_providers
      Src: /src/botan/src/tests/test_hash.cpp:176,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_hash.cpp:178,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_hash.cpp:179,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_hash.cpp:184,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_hash.cpp:187,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_hash.cpp:187,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_hash.cpp:192,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_hash.cpp:193,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_hash.cpp:194,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_hash.cpp:196,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:200,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:201,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:202,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:204,1
    - Dst: data
      Src: /src/botan/src/tests/test_hash.cpp:204,1
    - Dst: swap
      Src: /src/botan/src/tests/test_hash.cpp:205,1
    - Dst: swap
      Src: /src/botan/src/tests/test_hash.cpp:206,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 219
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 219
    functionName: Botan_Tests::Hash_NIST_MonteCarlo_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - Botan::fmt
    - Botan_Tests::Hash_NIST_MonteCarlo_Tests::possible_providers
    - swap
    - auto::output_length
    - data
    - Test::Result::test_eq
    - auto::update
    - Test::Result::test_failure
    - Test::Result::note_missing
    - get_req_bin
    - Botan::HashFunction::create
    - auto::final
    - std::vector::push_back
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: Botan_Tests::Hash_LongRepeat_Tests::Hash_LongRepeat_Tests
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hash_LongRepeat_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_hash.cpp:229,1
    - Dst: Botan::HashFunction::providers
      Src: /src/botan/src/tests/test_hash.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: Botan_Tests::Hash_LongRepeat_Tests::possible_providers
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::providers
    - provider_filter
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> possible_providers(const std::string& algo)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_hash.cpp:235,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:237,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/test_hash.cpp:238,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_hash.cpp:238,1
    - Dst: begin
      Src: /src/botan/src/tests/test_hash.cpp:238,1
    - Dst: end
      Src: /src/botan/src/tests/test_hash.cpp:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' input'
    - min_len
    argTypes:
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: Botan_Tests::Hash_LongRepeat_Tests::expand_input
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::insert
    - std::vector::reserve
    - end
    - begin
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> expand_input(const std::vector<uint8_t>& input,
      size_t min_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Hash_LongRepeat_Tests::expand_input
      Src: /src/botan/src/tests/test_hash.cpp:245,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hash.cpp:245,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hash.cpp:247,1
    - Dst: Botan_Tests::Hash_LongRepeat_Tests::possible_providers
      Src: /src/botan/src/tests/test_hash.cpp:251,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_hash.cpp:253,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_hash.cpp:257,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_hash.cpp:258,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_hash.cpp:263,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_hash.cpp:266,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_hash.cpp:266,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:274,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:278,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_hash.cpp:278,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_hash.cpp:281,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:282,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_hash.cpp:282,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 287
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 287
    functionName: Botan_Tests::Hash_LongRepeat_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::vector::data
    - Botan::fmt
    - auto::output_length
    - Test::Result::test_eq
    - Botan_Tests::Test::run_long_tests
    - auto::update
    - Botan_Tests::Hash_LongRepeat_Tests::possible_providers
    - Test::Result::test_failure
    - Botan_Tests::Hash_LongRepeat_Tests::expand_input
    - Test::Result::note_missing
    - get_req_bin
    - Botan::HashFunction::create
    - auto::final
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_hash.cpp:297,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_hash.cpp:298,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_hash.cpp:299,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_hash.cpp:300,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_hash.cpp:301,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hash.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 304
    functionName: Botan_Tests::hash_truncation_negative_tests
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create
    - Test::Result::test_throws
    - Test::Result::confirm
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result hash_truncation_negative_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan_Tests::Stream_Cipher_Tests::Stream_Cipher_Tests
    functionSourceFile: /src/botan/src/tests/test_stream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream_Cipher_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_stream.cpp:23,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_stream.cpp:24,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_stream.cpp:25,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_stream.cpp:27,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:29,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_stream.cpp:30,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:30,1
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_stream.cpp:35,1
    - Dst: Botan::StreamCipher::providers
      Src: /src/botan/src/tests/test_stream.cpp:35,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:37,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_stream.cpp:38,1
    - Dst: Botan::StreamCipher::create
      Src: /src/botan/src/tests/test_stream.cpp:43,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_stream.cpp:46,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_stream.cpp:46,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_stream.cpp:50,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_stream.cpp:51,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:52,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_stream.cpp:52,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_stream.cpp:54,1
    - Dst: auto::valid_iv_length
      Src: /src/botan/src/tests/test_stream.cpp:54,1
    - Dst: auto::default_iv_length
      Src: /src/botan/src/tests/test_stream.cpp:54,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_stream.cpp:56,1
    - Dst: auto::buffer_size
      Src: /src/botan/src/tests/test_stream.cpp:56,1
    - Dst: auto::default_iv_length
      Src: /src/botan/src/tests/test_stream.cpp:58,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_stream.cpp:59,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:59,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:62,1
    - Dst: auto::cipher1
      Src: /src/botan/src/tests/test_stream.cpp:67,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:67,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:67,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_stream.cpp:68,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_stream.cpp:70,1
    - Dst: auto::seek
      Src: /src/botan/src/tests/test_stream.cpp:74,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_stream.cpp:75,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_stream.cpp:77,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_stream.cpp:79,1
    - Dst: auto::valid_iv_length
      Src: /src/botan/src/tests/test_stream.cpp:82,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:82,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_stream.cpp:83,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:87,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:89,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:89,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:89,1
    - Dst: auto::valid_keylength
      Src: /src/botan/src/tests/test_stream.cpp:98,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:98,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_stream.cpp:99,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_stream.cpp:100,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:100,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:104,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_stream.cpp:104,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_stream.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:106,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_stream.cpp:106,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_stream.cpp:112,1
    - Dst: auto::valid_iv_length
      Src: /src/botan/src/tests/test_stream.cpp:113,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_stream.cpp:115,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:116,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:124,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:125,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:125,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:125,1
    - Dst: auto::seek
      Src: /src/botan/src/tests/test_stream.cpp:129,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_stream.cpp:133,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_stream.cpp:134,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_stream.cpp:134,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_stream.cpp:134,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:135,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_stream.cpp:135,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_stream.cpp:135,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_stream.cpp:136,1
    - Dst: Botan_Tests::Stream_Cipher_Tests::rng
      Src: /src/botan/src/tests/test_stream.cpp:136,1
    - Dst: auto::maximum_keylength
      Src: /src/botan/src/tests/test_stream.cpp:136,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_stream.cpp:140,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:141,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:145,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_stream.cpp:146,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:148,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:148,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:148,1
    - Dst: auto::seek
      Src: /src/botan/src/tests/test_stream.cpp:151,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_stream.cpp:154,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:155,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:158,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:159,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:159,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:159,1
    - Dst: auto::seek
      Src: /src/botan/src/tests/test_stream.cpp:161,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_stream.cpp:164,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:165,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_stream.cpp:169,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:171,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:171,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:171,1
    - Dst: auto::seek
      Src: /src/botan/src/tests/test_stream.cpp:174,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:177,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/tests/test_stream.cpp:184,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:189,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:192,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:195,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_stream.cpp:195,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_stream.cpp:196,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:197,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_stream.cpp:197,1
    - Dst: auto::cipher1
      Src: /src/botan/src/tests/test_stream.cpp:201,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:201,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:201,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_stream.cpp:202,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_stream.cpp:204,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 112
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 209
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 209
    functionName: Botan_Tests::Stream_Cipher_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_stream.cpp
    functionUses: 0
    functionsReached:
    - auto::cipher1
    - Botan::fmt
    - std::to_string
    - Test_Error
    - auto::valid_iv_length
    - Test::Result::note_missing
    - auto::clear
    - Botan::StreamCipher::create
    - auto::set_key
    - auto::name
    - Botan_Tests::Stream_Cipher_Tests::rng
    - provider_filter
    - Test::Result::test_eq
    - auto::new_object
    - Test::Result::test_throws
    - Test::Result::confirm
    - Test::Result::test_failure
    - auto::provider
    - Test::Result::test_success
    - std::vector::resize
    - auto::set_iv
    - Test::Result::test_is_nonempty
    - auto::seek
    - auto::has_keying_material
    - auto::write_keystream
    - std::vector::size
    - std::vector::data
    - auto::valid_keylength
    - Test::Result::test_note
    - auto::default_iv_length
    - auto::buffer_size
    - get_req_bin
    - std::vector::empty
    - get_opt_bin
    - auto::get
    - auto::encrypt
    - auto::maximum_keylength
    - Botan::StreamCipher::providers
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:28,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:28,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:28,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - label
    - secret
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan_Tests::Journaling_Secret_Logger::maybe_log_secret
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - std::vector<uint8_t>
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void maybe_log_secret(std::string_view label, std::span<const uint8_t>
      secret) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:41,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:41,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:42,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:43,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:43,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cs_client
    - sl_client
    - cs_server
    - sl_server
    argTypes:
    - Cipher_State*
    - Journaling_Secret_Logger*
    - Cipher_State*
    - Journaling_Secret_Logger*
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: Botan_Tests::make_CHECK_both
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - Botan_Tests::CHECK
    - std::bind
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) make_CHECK_both(Cipher_State* cs_client,\n                               Journaling_Secret_Logger*
      sl_client,\n                               Cipher_State* cs_server,\n                               Journaling_Secret_Logger*
      sl_server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:62,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:64,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:65,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - n
    - em
    - rh
    - ef
    - pf
    argTypes:
    - std::string
    - Connection_Side
    - std::vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: Botan_Tests::RFC8448_TestData::RFC8448_TestData
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RFC8448_TestData(std::string n,\n                       Connection_Side
      em,\n                       std::vector<uint8_t> rh,\n                       secure_vector<uint8_t>
      ef,\n                       secure_vector<uint8_t> pf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:70,1
    - Dst: Cipher_State*::encrypt_record_fragment
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:71,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' result'
    - cs
    argTypes:
    - Test::Result
    - Cipher_State*
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: Botan_Tests::RFC8448_TestData::encrypt
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - test_no_throw
    - Cipher_State*::encrypt_record_fragment
    - test_eq
    linkageType: ''
    returnType: void
    signature: void encrypt(Test::Result& result, Cipher_State* cs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:78,1
    - Dst: Cipher_State*::decrypt_record_fragment
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:79,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' result'
    - cs
    argTypes:
    - Test::Result
    - Cipher_State*
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: Botan_Tests::RFC8448_TestData::decrypt
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - test_no_throw
    - test_eq
    - Cipher_State*::decrypt_record_fragment
    linkageType: ''
    returnType: void
    signature: void decrypt(Test::Result& result, Cipher_State* cs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RFC8448_TestData::encrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:86,1
    - Dst: Botan_Tests::RFC8448_TestData::decrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' result'
    - cs
    - side
    argTypes:
    - Test::Result
    - Cipher_State*
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: Botan_Tests::RFC8448_TestData::xxcrypt
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::RFC8448_TestData::decrypt
    - Botan_Tests::RFC8448_TestData::encrypt
    linkageType: ''
    returnType: void
    signature: void xxcrypt(Test::Result& result, Cipher_State* cs, Connection_Side
      side) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:95,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:99,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:106,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:109,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:114,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:119,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:124,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:129,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:134,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:139,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:144,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:149,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:154,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:160,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:162,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:163,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:196,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:232,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:234,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:235,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:239,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:245,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:247,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:248,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:260,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:275,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:277,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:278,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:282,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:289,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:291,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:292,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:296,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:301,1
    - Dst: Botan::TLS::Cipher_State::init_with_server_hello
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:306,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:307,1
    - Dst: Botan::TLS::Cipher_State::init_with_server_hello
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:308,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:309,1
    - Dst: Botan_Tests::make_CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:311,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:311,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:311,1
    - Dst: Botan_Tests::Test::flatten_result_lists
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:313,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:314,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:317,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:317,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:318,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:318,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:319,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:319,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:321,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:322,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:324,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:325,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:329,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:331,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:331,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:332,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:334,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:334,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:335,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:335,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:336,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:336,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:338,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:339,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:341,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:342,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:346,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:348,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:349,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:352,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:354,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:354,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:355,1
    - Dst: can_export_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:355,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:358,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:361,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:365,1
    - Dst: verify_peer_finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:366,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:368,1
    - Dst: finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:369,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:375,1
    - Dst: advance_with_server_finished
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:376,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:379,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:379,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:380,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:380,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:381,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:382,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:384,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:384,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:385,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:385,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:386,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:387,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:391,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:391,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:392,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:392,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:393,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:393,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:394,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:394,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:395,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:396,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:397,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:398,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:401,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:405,1
    - Dst: finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:406,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:409,1
    - Dst: verify_peer_finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:410,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:415,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:419,1
    - Dst: advance_with_client_finished
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:420,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:422,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:422,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:423,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:423,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:424,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:425,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:426,1
    - Dst: can_export_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:426,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:427,1
    - Dst: export_key
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:428,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:433,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:436,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:440,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:442,1
    - Dst: can_export_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:442,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:443,1
    - Dst: export_key
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:444,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:448,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:450,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:451,1
    - Dst: Botan::TLS::Ticket_Nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:452,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:453,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:454,1
    - Dst: Botan::TLS::Ticket_Nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:455,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:456,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:457,1
    - Dst: Botan::TLS::Ticket_Nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:458,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:460,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:461,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:465,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:465,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:468,1
    - Dst: psk
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:471,1
    - Dst: Botan::TLS::Ticket_Nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:471,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:473,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:476,1
    - Dst: update_read_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:483,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:484,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:484,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:485,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:485,1
    - Dst: update_write_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:487,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:488,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:488,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:489,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:489,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:491,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:492,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:494,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:495,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:498,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:498,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:501,1
    - Dst: clear_write_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:503,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:504,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:504,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:505,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:505,1
    - Dst: clear_read_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:507,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:508,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:508,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:509,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:509,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 511
    functionName: Botan_Tests::test_secret_derivation_rfc8448_rtt1
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - next_ticket_nonce
    - RFC8448_TestData
    - Botan_Tests::Test::flatten_result_lists
    - test_eq
    - secrets::contains
    - must_expect_unprotected_alert_traffic
    - verify_peer_finished_mac
    - Botan::TLS::Ticket_Nonce
    - can_encrypt_application_traffic
    - test_is_eq
    - psk
    - auto::xxcrypt
    - Botan::hex_decode_locked
    - secure_vector<uint8_t>
    - Botan_Tests::make_CHECK_both
    - can_export_keys
    - is_compatible_with
    - confirm
    - clear_write_keys
    - export_key
    - advance_with_client_finished
    - secrets::size
    - clear_read_keys
    - Botan::hex_decode
    - can_decrypt_application_traffic
    - cryptofuzz::mutator::ExpModGenerator::max
    - Botan::TLS::Ciphersuite::from_name
    - Botan::TLS::Cipher_State::init_with_server_hello
    - require
    - test_no_throw
    - advance_with_server_finished
    - update_write_keys
    - CHECK_both
    - auto::get
    - finished_mac
    - test_throws
    - secrets::at
    - update_read_keys
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_secret_derivation_rfc8448_rtt1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:515,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:521,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:527,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:532,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:536,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:542,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:546,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:552,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:556,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:560,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:564,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:568,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:572,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:576,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:580,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:584,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:591,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:596,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:600,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:602,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:603,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:609,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:618,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:620,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:621,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:625,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:631,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:633,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:634,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:638,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:645,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:647,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:648,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:652,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:657,1
    - Dst: Botan::TLS::Cipher_State::init_with_psk
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:662,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:664,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:664,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:664,1
    - Dst: auto::prf_algo
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:665,1
    - Dst: Botan::TLS::Cipher_State::init_with_psk
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:666,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:668,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:668,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:668,1
    - Dst: auto::prf_algo
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:669,1
    - Dst: Botan_Tests::make_CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:671,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:671,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:671,1
    - Dst: Botan_Tests::Test::flatten_result_lists
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:673,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:674,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:676,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:676,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:679,1
    - Dst: psk_binder_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:681,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:682,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:685,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:688,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:688,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:689,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:690,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:690,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:691,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:691,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:692,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:692,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:694,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:695,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:695,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:696,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:696,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:699,1
    - Dst: advance_with_client_hello
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:701,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:702,1
    - Dst: can_export_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:702,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:703,1
    - Dst: export_key
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:704,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:708,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:709,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:711,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:713,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:716,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:716,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:717,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:717,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:718,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:719,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:723,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:723,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:724,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:724,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:727,1
    - Dst: advance_with_server_hello
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:730,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:730,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:733,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:736,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:736,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:737,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:738,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:739,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:740,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:741,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:742,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:744,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:745,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:751,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:755,1
    - Dst: verify_peer_finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:756,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:757,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:758,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:760,1
    - Dst: finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:761,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:763,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:764,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:767,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:767,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:768,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:768,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:772,1
    - Dst: advance_with_server_finished
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:773,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:776,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:776,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:777,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:777,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:778,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:779,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:781,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:781,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:782,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:782,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:783,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:784,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:788,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:788,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:789,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:789,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:790,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:790,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:791,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:791,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:792,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:792,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:793,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:793,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:794,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:794,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:797,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:801,1
    - Dst: finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:802,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:805,1
    - Dst: verify_peer_finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:806,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:811,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:814,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:818,1
    - Dst: advance_with_client_finished
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:819,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:821,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:821,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:822,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:822,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:823,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:824,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:825,1
    - Dst: can_export_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:825,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:826,1
    - Dst: export_key
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:827,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:831,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:835,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 837
      start: 513
    functionDepth: 4
    functionLinenumber: 513
    functionLinenumberEnd: 837
    functionName: Botan_Tests::test_secret_derivation_rfc8448_rtt0
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - RFC8448_TestData
    - Botan_Tests::Test::flatten_result_lists
    - test_eq
    - secrets::contains
    - must_expect_unprotected_alert_traffic
    - auto::end
    - verify_peer_finished_mac
    - auto::prf_algo
    - can_encrypt_application_traffic
    - advance_with_server_hello
    - auto::xxcrypt
    - Botan::hex_decode_locked
    - secure_vector<uint8_t>
    - advance_with_client_hello
    - Botan_Tests::make_CHECK_both
    - psk_binder_mac
    - can_export_keys
    - is_compatible_with
    - confirm
    - export_key
    - advance_with_client_finished
    - auto::begin
    - secrets::size
    - Botan::TLS::Cipher_State::init_with_psk
    - Botan::hex_decode
    - can_decrypt_application_traffic
    - Botan::TLS::Ciphersuite::from_name
    - require
    - test_no_throw
    - advance_with_server_finished
    - CHECK_both
    - auto::get
    - finished_mac
    - secrets::at
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_secret_derivation_rfc8448_rtt0()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan_Tests::ElGamal_Encrypt_Tests::ElGamal_Encrypt_Tests
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ElGamal_Encrypt_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_elgamal.cpp:28,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_elgamal.cpp:29,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_elgamal.cpp:29,1
    - Dst: std::make_unique<Botan::ElGamal_PrivateKey>
      Src: /src/botan/src/tests/test_elgamal.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: Botan_Tests::ElGamal_Encrypt_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - std::make_unique<Botan::ElGamal_PrivateKey>
    - get_req_str
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan_Tests::ElGamal_Decrypt_Tests::ElGamal_Decrypt_Tests
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ElGamal_Decrypt_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_elgamal.cpp:40,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_elgamal.cpp:41,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_elgamal.cpp:42,1
    - Dst: std::make_unique<Botan::ElGamal_PrivateKey>
      Src: /src/botan/src/tests/test_elgamal.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: Botan_Tests::ElGamal_Decrypt_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ElGamal_PrivateKey>
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan_Tests::ElGamal_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan_Tests::ElGamal_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::ElGamal_PublicKey>
      Src: /src/botan/src/tests/test_elgamal.cpp:59,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_elgamal.cpp:59,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_elgamal.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Botan_Tests::ElGamal_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    - std::make_unique<Botan::ElGamal_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bs
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::OCB_Wide_Test_Block_Cipher
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCB_Wide_Test_Block_Cipher(size_t bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::name
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCB_Wide_Test_Block_Cipher::clear
      Src: /src/botan/src/tests/test_ocb.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::clear
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::OCB_Wide_Test_Block_Cipher::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OCB_Wide_Test_Block_Cipher>
      Src: /src/botan/src/tests/test_ocb.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::new_object
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<OCB_Wide_Test_Block_Cipher>
    linkageType: ''
    returnType: std::unique_ptr<Botan::BlockCipher>
    signature: std::unique_ptr<Botan::BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_ocb.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::has_keying_material
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/tests/test_ocb.cpp:42,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_ocb.cpp:42,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_ocb.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::key_schedule
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - assign
    linkageType: ''
    returnType: void
    signature: void key_schedule(std::span<const uint8_t> key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Key_Length_Specification
      Src: /src/botan/src/tests/test_ocb.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::key_spec
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::Key_Length_Specification
    linkageType: ''
    returnType: Botan::Key_Length_Specification
    signature: Botan::Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_ocb.cpp:48,1
    - Dst: Botan::poly_double_n
      Src: /src/botan/src/tests/test_ocb.cpp:49,1
    - Dst: Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
      Src: /src/botan/src/tests/test_ocb.cpp:56,1
    - Dst: Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
      Src: /src/botan/src/tests/test_ocb.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::encrypt_n
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    - Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
    - Botan::poly_double_n
    linkageType: ''
    returnType: void
    signature: void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_ocb.cpp:79,1
    - Dst: Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
      Src: /src/botan/src/tests/test_ocb.cpp:93,1
    - Dst: Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
      Src: /src/botan/src/tests/test_ocb.cpp:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 96
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::decrypt_n
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
    - Test_Error
    linkageType: ''
    returnType: void
    signature: void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan_Tests::OCB_Wide_KAT_Tests::OCB_Wide_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCB_Wide_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:110,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:111,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:112,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:113,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:114,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_ocb.cpp:117,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_ocb.cpp:117,1
    - Dst: std::make_unique<OCB_Wide_Test_Block_Cipher>
      Src: /src/botan/src/tests/test_ocb.cpp:119,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/tests/test_ocb.cpp:119,1
    - Dst: Botan::OCB_Encryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:120,1
    - Dst: Botan::OCB_Encryption::set_associated_data
      Src: /src/botan/src/tests/test_ocb.cpp:121,1
    - Dst: Botan::OCB_Encryption::start
      Src: /src/botan/src/tests/test_ocb.cpp:122,1
    - Dst: Botan::OCB_Encryption::finish
      Src: /src/botan/src/tests/test_ocb.cpp:123,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocb.cpp:124,1
    - Dst: std::make_unique<OCB_Wide_Test_Block_Cipher>
      Src: /src/botan/src/tests/test_ocb.cpp:126,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/tests/test_ocb.cpp:126,1
    - Dst: Botan::OCB_Decryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:127,1
    - Dst: Botan::OCB_Decryption::set_associated_data
      Src: /src/botan/src/tests/test_ocb.cpp:128,1
    - Dst: Botan::OCB_Decryption::start
      Src: /src/botan/src/tests/test_ocb.cpp:129,1
    - Dst: Botan::OCB_Decryption::finish
      Src: /src/botan/src/tests/test_ocb.cpp:130,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocb.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 134
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 134
    functionName: Botan_Tests::OCB_Wide_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::OCB_Decryption::set_associated_data
    - Botan::OCB_Decryption::finish
    - Botan::OCB_Encryption::finish
    - Test::Result::test_eq
    - Botan::OCB_Encryption::start
    - Botan::OCB_Encryption::set_key
    - std::min<size_t>
    - Botan::OCB_Encryption::set_associated_data
    - Botan::OCB_Decryption::start
    - std::make_unique<OCB_Wide_Test_Block_Cipher>
    - get_req_bin
    - std::vector::begin
    - std::vector::end
    - Botan::OCB_Decryption::set_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan_Tests::OCB_Wide_Long_KAT_Tests::OCB_Wide_Long_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCB_Wide_Long_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:146,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/tests/test_ocb.cpp:153,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_ocb.cpp:168,1
    - Dst: std::make_unique<OCB_Wide_Test_Block_Cipher>
      Src: /src/botan/src/tests/test_ocb.cpp:170,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_ocb.cpp:173,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/tests/test_ocb.cpp:173,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_ocb.cpp:197,1
    - Dst: Botan::OCB_Encryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:200,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ocb.cpp:208,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_ocb.cpp:209,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:212,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_ocb.cpp:212,1
    - Dst: Botan_Tests::OCB_Wide_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:214,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:215,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_ocb.cpp:215,1
    - Dst: Botan_Tests::OCB_Wide_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:216,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:217,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_ocb.cpp:217,1
    - Dst: Botan_Tests::OCB_Wide_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:218,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:221,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_ocb.cpp:221,1
    - Dst: Botan_Tests::OCB_Wide_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:223,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocb.cpp:225,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 228
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 228
    functionName: Botan_Tests::OCB_Wide_Long_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::BlockCipher::create_or_throw
    - std::vector::size
    - Botan::store_be
    - Test::Result::test_eq
    - Botan_Tests::OCB_Wide_Long_KAT_Tests::ocb_encrypt
    - static_cast<uint8_t>
    - Botan::OCB_Encryption::set_key
    - std::min<size_t>
    - Test_Error
    - std::make_unique<OCB_Wide_Test_Block_Cipher>
    - static_cast<uint16_t>
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_associated_data
      Src: /src/botan/src/tests/test_ocb.cpp:237,1
    - Dst: data
      Src: /src/botan/src/tests/test_ocb.cpp:237,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocb.cpp:237,1
    - Dst: start
      Src: /src/botan/src/tests/test_ocb.cpp:238,1
    - Dst: data
      Src: /src/botan/src/tests/test_ocb.cpp:238,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocb.cpp:238,1
    - Dst: begin
      Src: /src/botan/src/tests/test_ocb.cpp:239,1
    - Dst: end
      Src: /src/botan/src/tests/test_ocb.cpp:239,1
    - Dst: finish
      Src: /src/botan/src/tests/test_ocb.cpp:240,1
    - Dst: insert
      Src: /src/botan/src/tests/test_ocb.cpp:241,1
    - Dst: end
      Src: /src/botan/src/tests/test_ocb.cpp:241,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_ocb.cpp:241,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_ocb.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' output_to'
    - ' enc'
    - ' nonce'
    - ' pt'
    - ' ad'
    argTypes:
    - std::vector<uint8_t>
    - Botan::OCB_Encryption
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: Botan_Tests::OCB_Wide_Long_KAT_Tests::ocb_encrypt
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 1
    functionsReached:
    - finish
    - start
    - set_associated_data
    - data
    - end
    - insert
    - Botan::secure_vector::begin
    - Botan::secure_vector::end
    - size
    - begin
    linkageType: ''
    returnType: void
    signature: "void ocb_encrypt(Test::Result& /*result*/,\n                              std::vector<uint8_t>&
      output_to,\n                              Botan::OCB_Encryption& enc,\n                              const
      std::vector<uint8_t>& nonce,\n                              const std::vector<uint8_t>&
      pt,\n                              const std::vector<uint8_t>& ad)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: Botan_Tests::OCB_Long_KAT_Tests::OCB_Long_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCB_Long_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:256,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_ocb.cpp:260,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/tests/test_ocb.cpp:264,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_ocb.cpp:266,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_ocb.cpp:267,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_ocb.cpp:270,1
    - Dst: Botan::OCB_Encryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:272,1
    - Dst: Botan::OCB_Decryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:273,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:282,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_ocb.cpp:282,1
    - Dst: Botan_Tests::OCB_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:284,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:285,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_ocb.cpp:285,1
    - Dst: Botan_Tests::OCB_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:286,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:287,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_ocb.cpp:287,1
    - Dst: Botan_Tests::OCB_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:288,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:291,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_ocb.cpp:291,1
    - Dst: Botan_Tests::OCB_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:293,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocb.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 298
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 298
    functionName: Botan_Tests::OCB_Long_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::BlockCipher::create_or_throw
    - std::to_string
    - Botan::store_be
    - Botan_Tests::OCB_Long_KAT_Tests::ocb_encrypt
    - Test::Result::test_eq
    - auto::new_object
    - static_cast<uint8_t>
    - Botan::OCB_Encryption::set_key
    - get_req_bin
    - static_cast<uint32_t>
    - Botan::OCB_Decryption::set_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_associated_data
      Src: /src/botan/src/tests/test_ocb.cpp:308,1
    - Dst: data
      Src: /src/botan/src/tests/test_ocb.cpp:308,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocb.cpp:308,1
    - Dst: start
      Src: /src/botan/src/tests/test_ocb.cpp:310,1
    - Dst: data
      Src: /src/botan/src/tests/test_ocb.cpp:310,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocb.cpp:310,1
    - Dst: begin
      Src: /src/botan/src/tests/test_ocb.cpp:312,1
    - Dst: end
      Src: /src/botan/src/tests/test_ocb.cpp:312,1
    - Dst: finish
      Src: /src/botan/src/tests/test_ocb.cpp:313,1
    - Dst: insert
      Src: /src/botan/src/tests/test_ocb.cpp:314,1
    - Dst: end
      Src: /src/botan/src/tests/test_ocb.cpp:314,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_ocb.cpp:314,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_ocb.cpp:314,1
    - Dst: set_associated_data
      Src: /src/botan/src/tests/test_ocb.cpp:317,1
    - Dst: data
      Src: /src/botan/src/tests/test_ocb.cpp:317,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocb.cpp:317,1
    - Dst: start
      Src: /src/botan/src/tests/test_ocb.cpp:319,1
    - Dst: data
      Src: /src/botan/src/tests/test_ocb.cpp:319,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocb.cpp:319,1
    - Dst: finish
      Src: /src/botan/src/tests/test_ocb.cpp:321,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ocb.cpp:323,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_ocb.cpp:325,1
    - Dst: what
      Src: /src/botan/src/tests/test_ocb.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 7
    argNames:
    - ' result'
    - ' output_to'
    - ' enc'
    - ' dec'
    - ' nonce'
    - ' pt'
    - ' ad'
    argTypes:
    - Test::Result
    - std::vector<uint8_t>
    - Botan::AEAD_Mode
    - Botan::AEAD_Mode
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 327
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 327
    functionName: Botan_Tests::OCB_Long_KAT_Tests::ocb_encrypt
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 1
    functionsReached:
    - finish
    - start
    - what
    - set_associated_data
    - data
    - end
    - test_eq
    - test_failure
    - insert
    - Botan::secure_vector::begin
    - Botan::secure_vector::end
    - size
    - begin
    linkageType: ''
    returnType: void
    signature: "void ocb_encrypt(Test::Result& result,\n                              std::vector<uint8_t>&
      output_to,\n                              Botan::AEAD_Mode& enc,\n                              Botan::AEAD_Mode&
      dec,\n                              const std::vector<uint8_t>& nonce,\n                              const
      std::vector<uint8_t>& pt,\n                              const std::vector<uint8_t>&
      ad)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - bs
    - parallelism
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: Botan_Tests::OCB_Null_Cipher::OCB_Null_Cipher
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCB_Null_Cipher(size_t bs, size_t parallelism)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: Botan_Tests::OCB_Null_Cipher::name
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: Botan_Tests::OCB_Null_Cipher::block_size
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: Botan_Tests::OCB_Null_Cipher::clear
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OCB_Null_Cipher>
      Src: /src/botan/src/tests/test_ocb.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: Botan_Tests::OCB_Null_Cipher::new_object
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<OCB_Null_Cipher>
    linkageType: ''
    returnType: std::unique_ptr<Botan::BlockCipher>
    signature: std::unique_ptr<Botan::BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: Botan_Tests::OCB_Null_Cipher::has_keying_material
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: Botan_Tests::OCB_Null_Cipher::key_schedule
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void key_schedule(std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Key_Length_Specification
      Src: /src/botan/src/tests/test_ocb.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: Botan_Tests::OCB_Null_Cipher::key_spec
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::Key_Length_Specification
    linkageType: ''
    returnType: Botan::Key_Length_Specification
    signature: Botan::Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_ocb.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: Botan_Tests::OCB_Null_Cipher::encrypt_n
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_ocb.cpp:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: Botan_Tests::OCB_Null_Cipher::decrypt_n
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 371
    functionName: Botan_Tests::OCB_Null_Cipher::parallelism
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t parallelism() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Encryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:402,1
    - Dst: Botan::OCB_Encryption::start
      Src: /src/botan/src/tests/test_ocb.cpp:403,1
    - Dst: Botan::OCB_Encryption::update
      Src: /src/botan/src/tests/test_ocb.cpp:408,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ocb.cpp:413,1
    - Dst: Botan::OCB_Encryption::update
      Src: /src/botan/src/tests/test_ocb.cpp:414,1
    - Dst: Botan::OCB_Encryption::finish
      Src: /src/botan/src/tests/test_ocb.cpp:418,1
    - Dst: std::make_unique<OCB_Null_Cipher>
      Src: /src/botan/src/tests/test_ocb.cpp:421,1
    - Dst: Botan::OCB_Decryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:422,1
    - Dst: Botan::OCB_Decryption::start
      Src: /src/botan/src/tests/test_ocb.cpp:423,1
    - Dst: Botan::OCB_Decryption::update
      Src: /src/botan/src/tests/test_ocb.cpp:425,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ocb.cpp:428,1
    - Dst: Botan::OCB_Decryption::update
      Src: /src/botan/src/tests/test_ocb.cpp:429,1
    - Dst: Botan::OCB_Decryption::finish
      Src: /src/botan/src/tests/test_ocb.cpp:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 435
    functionName: Botan_Tests::test_ocb_crash_regression
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::OCB_Encryption::update
    - Botan::OCB_Decryption::finish
    - Botan::OCB_Encryption::finish
    - Botan::OCB_Decryption::update
    - Botan::OCB_Encryption::start
    - Botan::OCB_Encryption::set_key
    - std::make_unique<OCB_Null_Cipher>
    - Botan::OCB_Decryption::start
    - std::vector::resize
    - Botan::OCB_Decryption::set_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ocb_crash_regression()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: Botan_Tests::ECDSA_Verification_Tests::ECDSA_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan_Tests::ECDSA_Verification_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:34,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan_Tests::ECDSA_Verification_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:38,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:39,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:40,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:41,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/tests/test_ecdsa.cpp:43,1
    - Dst: std::make_unique<Botan::ECDSA_PublicKey>
      Src: /src/botan/src/tests/test_ecdsa.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: Botan_Tests::ECDSA_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - get_req_str
    - std::make_unique<Botan::ECDSA_PublicKey>
    - Botan::EC_AffinePoint::from_bigint_xy
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan_Tests::ECDSA_Verification_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::ECDSA_Wycheproof_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Wycheproof_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::sig_format
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Signature_Format
    signature: Botan::Signature_Format sig_format() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::test_random_invalid_sigs
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool test_random_invalid_sigs() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:64,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:68,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:69,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:70,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:71,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/tests/test_ecdsa.cpp:73,1
    - Dst: std::make_unique<Botan::ECDSA_PublicKey>
      Src: /src/botan/src/tests/test_ecdsa.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - get_req_str
    - std::make_unique<Botan::ECDSA_PublicKey>
    - Botan::EC_AffinePoint::from_bigint_xy
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:98,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:102,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:103,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:104,1
    - Dst: std::make_unique<Botan::ECDSA_PrivateKey>
      Src: /src/botan/src/tests/test_ecdsa.cpp:106,1
    - Dst: Botan_Tests::rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: Botan_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - Botan_Tests::rng
    - get_req_str
    - std::make_unique<Botan::ECDSA_PrivateKey>
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_Position_RNG>
      Src: /src/botan/src/tests/test_ecdsa.cpp:115,1
    - Dst: Botan_Tests::rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: Botan_Tests::test_rng
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_Position_RNG>
    - Botan_Tests::rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/botan/src/tests/test_ecdsa.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: Botan_Tests::ECDSA_KAT_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - defined
    linkageType: ''
    returnType: void
    signature: void ECDSA_KAT_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Botan_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:137,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:141,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:142,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:143,1
    - Dst: Botan_Tests::rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:145,1
    - Dst: Botan::ECDSA_PrivateKey::public_key
      Src: /src/botan/src/tests/test_ecdsa.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: Botan_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - Botan_Tests::rng
    - get_req_str
    - Botan::ECDSA_PrivateKey::public_key
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: ECDSA_Sign_Verify_DER_Test::ECDSA_Sign_Verify_DER_Test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Sign_Verify_DER_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_ecdsa.cpp:158,1
    - Dst: ECDSA_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: ECDSA_Sign_Verify_DER_Test::key
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_private_key
    - ECDSA_Sign_Verify_DER_Test::rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ecdsa.cpp:165,1
    - Dst: std::vector<std::string>
      Src: /src/botan/src/tests/test_ecdsa.cpp:166,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_ecdsa.cpp:166,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_ecdsa.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: ECDSA_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::end
    - std::vector<std::string>
    - Botan::EC_Group::known_named_groups
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: ECDSA_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/tests/test_ecdsa.cpp:174,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_ecdsa.cpp:175,1
    - Dst: std::make_unique<Botan::ECDSA_PublicKey>
      Src: /src/botan/src/tests/test_ecdsa.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: ECDSA_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ECDSA_PublicKey>
    - Botan::EC_Group::EC_Group
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: ECDSA_Keygen_Stability_Tests::ECDSA_Keygen_Stability_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Keygen_Stability_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: ECDSA_Key_Recovery_Tests::ECDSA_Key_Recovery_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Key_Recovery_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:192,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: ECDSA_Key_Recovery_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:198,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:199,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:201,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:202,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecdsa.cpp:204,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecdsa.cpp:205,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecdsa.cpp:209,1
    - Dst: Botan::ECDSA_PublicKey::public_key_bits
      Src: /src/botan/src/tests/test_ecdsa.cpp:209,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecdsa.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_ecdsa.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_ecdsa.cpp:212,1
    - Dst: Botan::BigInt::encode_fixed_length_int_pair
      Src: /src/botan/src/tests/test_ecdsa.cpp:216,1
    - Dst: auto::get_order_bytes
      Src: /src/botan/src/tests/test_ecdsa.cpp:216,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ecdsa.cpp:218,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_ecdsa.cpp:218,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecdsa.cpp:220,1
    - Dst: what
      Src: /src/botan/src/tests/test_ecdsa.cpp:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 224
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 224
    functionName: ECDSA_Key_Recovery_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - what
    - static_cast<size_t>
    - Test::Result::test_eq
    - get_req_str
    - Test::Result::confirm
    - auto::get_order_bytes
    - Botan::BigInt::encode_fixed_length_int_pair
    - Botan::PK_Verifier::verify_message
    - Botan::ECDSA_PublicKey::public_key_bits
    - Test::Result::test_failure
    - get_req_bin
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: ECDSA_Invalid_Key_Tests::ECDSA_Invalid_Key_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Invalid_Key_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: ECDSA_Invalid_Key_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:238,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: ECDSA_Invalid_Key_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:244,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:245,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:246,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:247,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/tests/test_ecdsa.cpp:249,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecdsa.cpp:250,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ecdsa.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: ECDSA_Invalid_Key_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - get_req_str
    - Botan::EC_AffinePoint::from_bigint_xy
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ecdsa.cpp:267,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_ecdsa.cpp:270,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:272,1
    - Dst: Botan::ECDSA_PrivateKey::public_key
      Src: /src/botan/src/tests/test_ecdsa.cpp:275,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_ecdsa.cpp:278,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:287,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:287,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_ecdsa.cpp:288,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:288,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecdsa.cpp:289,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ecdsa.cpp:289,1
    - Dst: auto::get_order_bytes
      Src: /src/botan/src/tests/test_ecdsa.cpp:289,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ecdsa.cpp:291,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_ecdsa.cpp:291,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_ecdsa.cpp:293,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:293,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ecdsa.cpp:294,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_ecdsa.cpp:294,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_ecdsa.cpp:296,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:296,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ecdsa.cpp:297,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_ecdsa.cpp:297,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecdsa.cpp:300,1
    - Dst: what
      Src: /src/botan/src/tests/test_ecdsa.cpp:300,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_ecdsa.cpp:304,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ecdsa.cpp:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 309
    functionName: ECDSA_AllGroups_Test::run
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - mutate_vec
    - Botan::EC_Group::known_named_groups
    - what
    - Botan::PK_Signer::sign_message
    - Botan::EC_Group::from_name
    - Test::Result::test_eq
    - Test::Result::confirm
    - auto::get_order_bytes
    - Botan::PK_Verifier::verify_message
    - Botan::ECDSA_PrivateKey::public_key
    - Test::Result::test_failure
    - rng
    - auto::size
    - Botan::HashFunction::create
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: ECDSA_ExplicitCurveKey_Test::ECDSA_ExplicitCurveKey_Test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_ExplicitCurveKey_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: ECDSA_ExplicitCurveKey_Test::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: ECDSA_ExplicitCurveKey_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& group, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecdsa.cpp:325,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:328,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_ecdsa.cpp:330,1
    - Dst: dynamic_cast<const Botan::ECDSA_PrivateKey*>
      Src: /src/botan/src/tests/test_ecdsa.cpp:331,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_ecdsa.cpp:331,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ecdsa.cpp:333,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecdsa.cpp:335,1
    - Dst: auto::domain
      Src: /src/botan/src/tests/test_ecdsa.cpp:338,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecdsa.cpp:339,1
    - Dst: used_explicit_encoding
      Src: /src/botan/src/tests/test_ecdsa.cpp:339,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ecdsa.cpp:341,1
    - Dst: get_curve_oid
      Src: /src/botan/src/tests/test_ecdsa.cpp:341,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecdsa.cpp:344,1
    - Dst: what
      Src: /src/botan/src/tests/test_ecdsa.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' group_name'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 348
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 348
    functionName: ECDSA_ExplicitCurveKey_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - auto::domain
    - Botan::PKCS8::load_key
    - what
    - Test::Result::test_eq
    - auto::get
    - used_explicit_encoding
    - Test::Result::confirm
    - dynamic_cast<const Botan::ECDSA_PrivateKey*>
    - Test::Result::test_failure
    - Test::Result::test_success
    - get_req_bin
    - get_curve_oid
    - Botan::OID::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& group_name, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Strict_Policy_Without_TLS13::allow_tls13
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_tls13() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/tests/unit_tls.cpp:72,1
    - Dst: auto::add_certificate
      Src: /src/botan/src/tests/unit_tls.cpp:73,1
    - Dst: auto::add_certificate
      Src: /src/botan/src/tests/unit_tls.cpp:74,1
    - Dst: auto::add_crl
      Src: /src/botan/src/tests/unit_tls.cpp:75,1
    - Dst: auto::add_crl
      Src: /src/botan/src/tests/unit_tls.cpp:76,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_tls.cpp:78,1
    - Dst: std::move
      Src: /src/botan/src/tests/unit_tls.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 9
    argNames:
    - with_client_certs
    - ' rsa_cert'
    - rsa_key
    - ' rsa_ca'
    - ' rsa_crl'
    - ' ecdsa_cert'
    - ecdsa_key
    - ' ecdsa_ca'
    - ' ecdsa_crl'
    argTypes:
    - bool
    - Botan::X509_Certificate
    - Botan::Private_Key*
    - Botan::X509_Certificate
    - Botan::X509_CRL
    - Botan::X509_Certificate
    - Botan::Private_Key*
    - Botan::X509_Certificate
    - Botan::X509_CRL
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: Botan_Tests::Credentials_Manager_Test::Credentials_Manager_Test
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - auto::add_certificate
    - auto::add_crl
    - std::make_unique<Botan::Certificate_Store_In_Memory>
    - push_back
    linkageType: ''
    returnType: void
    signature: "void Credentials_Manager_Test(bool with_client_certs,\n                               const
      Botan::X509_Certificate& rsa_cert,\n                               Botan::Private_Key*
      rsa_key,\n                               const Botan::X509_Certificate& rsa_ca,\n
      \                              const Botan::X509_CRL& rsa_crl,\n                               const
      Botan::X509_Certificate& ecdsa_cert,\n                               Botan::Private_Key*
      ecdsa_key,\n                               const Botan::X509_Certificate& ecdsa_ca,\n
      \                              const Botan::X509_CRL& ecdsa_crl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/unit_tls.cpp:85,1
    - Dst: size
      Src: /src/botan/src/tests/unit_tls.cpp:85,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls.cpp:87,1
    - Dst: get
      Src: /src/botan/src/tests/unit_tls.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: Botan_Tests::Credentials_Manager_Test::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - get
    - std::vector::push_back
    - size
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const
      std::string& /*type*/,\n                                                                             const
      std::string& /*context*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/unit_tls.cpp:97,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:100,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls.cpp:107,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls.cpp:108,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls.cpp:111,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls.cpp:112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - ' cert_key_types'
    - ' acceptable_CAs'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::vector<Botan::X509_DN>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: Botan_Tests::Credentials_Manager_Test::find_cert_chain
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - empty
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> find_cert_chain(const std::vector<std::string>&
      cert_key_types,\n                                                           const
      std::vector<Botan::AlgorithmIdentifier>& /*unused*/,\n                                                           const
      std::vector<Botan::X509_DN>& acceptable_CAs,\n                                                           const
      std::string& type,\n                                                           const
      std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' crt'
    argTypes:
    - Botan::X509_Certificate
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: Botan_Tests::Credentials_Manager_Test::private_key_for
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Botan::X509_Certificate&
      crt,\n                                                          const std::string&
      /*type*/,\n                                                          const std::string&
      /*context*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/unit_tls.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Botan_Tests::Credentials_Manager_Test::session_ticket_key
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> session_ticket_key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/unit_tls.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: Botan_Tests::Credentials_Manager_Test::dtls_cookie_secret
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> dtls_cookie_secret() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:146,1
    - Dst: Botan_Tests::Credentials_Manager_Test::find_preshared_keys
      Src: /src/botan/src/tests/unit_tls.cpp:147,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_tls.cpp:156,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/unit_tls.cpp:157,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_tls.cpp:161,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/unit_tls.cpp:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - host
    - whoami
    argTypes:
    - std::string_view
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 167
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 167
    functionName: Botan_Tests::Credentials_Manager_Test::find_preshared_keys
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Credentials_Manager_Test::find_preshared_keys
    - std::vector::emplace_back
    - empty
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: std::vector<Botan::TLS::ExternalPSK>
    signature: "std::vector<Botan::TLS::ExternalPSK> find_preshared_keys(\n         std::string_view
      host,\n         Botan::TLS::Connection_Side whoami,\n         const std::vector<std::string>&
      identities = {},\n         const std::optional<std::string>& prf = std::nullopt)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& get_acceptable_cas() const'
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::X509_DN>
    signature: std::vector<Botan::X509_DN> & get_acceptable_cas() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls.cpp:186,1
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls.cpp:189,1
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls.cpp:190,1
    - Dst: std::make_unique<Botan::ECDSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls.cpp:192,1
    - Dst: std::make_unique<Botan::ECDSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls.cpp:193,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/tests/unit_tls.cpp:197,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/tests/unit_tls.cpp:198,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_tls.cpp:201,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_tls.cpp:203,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_tls.cpp:207,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_tls.cpp:208,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/unit_tls.cpp:214,1
    - Dst: years
      Src: /src/botan/src/tests/unit_tls.cpp:217,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_tls.cpp:219,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_tls.cpp:220,1
    - Dst: Botan::X509_CA::new_crl
      Src: /src/botan/src/tests/unit_tls.cpp:222,1
    - Dst: Botan::X509_CA::new_crl
      Src: /src/botan/src/tests/unit_tls.cpp:223,1
    - Dst: std::make_shared<Credentials_Manager_Test>
      Src: /src/botan/src/tests/unit_tls.cpp:225,1
    - Dst: auto::release
      Src: /src/botan/src/tests/unit_tls.cpp:227,1
    - Dst: auto::release
      Src: /src/botan/src/tests/unit_tls.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 234
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 234
    functionName: Botan_Tests::create_creds
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Credentials_Manager_Test>
    - Botan::X509_CA::new_crl
    - std::make_unique<Botan::RSA_PrivateKey>
    - auto::release
    - Botan::X509::create_self_signed_cert
    - Botan::X509_Cert_Options::CA_key
    - Botan::X509::create_cert_req
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::X509_CA::sign_request
    - std::make_unique<Botan::ECDSA_PrivateKey>
    - years
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::shared_ptr<Credentials_Manager_Test>
    signature: "std::shared_ptr<Credentials_Manager_Test> create_creds(Botan::RandomNumberGenerator&
      rng,\n                                                       bool with_client_certs
      = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Test_Callbacks>
      Src: /src/botan/src/tests/unit_tls.cpp:254,1
    - Dst: std::make_shared<Test_Callbacks>
      Src: /src/botan/src/tests/unit_tls.cpp:255,1
    - Dst: std::make_unique<Botan::TLS::Server>
      Src: /src/botan/src/tests/unit_tls.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' test_descr'
    - offer_version
    - ' creds'
    - ' client_policy'
    - ' server_policy'
    - ' rng'
    - ' client_sessions'
    - ' server_sessions'
    - expect_client_auth
    argTypes:
    - std::string
    - Botan::TLS::Protocol_Version
    - std::shared_ptr<Credentials_Manager_Test>
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - bool
    constantsTouched: []
    func_position:
      end: 261
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 261
    functionName: Botan_Tests::TLS_Handshake_Test::TLS_Handshake_Test
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Test_Callbacks>
    - std::make_unique<Botan::TLS::Server>
    linkageType: ''
    returnType: void
    signature: "void TLS_Handshake_Test(const std::string& test_descr,\n                         Botan::TLS::Protocol_Version
      offer_version,\n                         const std::shared_ptr<Credentials_Manager_Test>&
      creds,\n                         const std::shared_ptr<const Botan::TLS::Policy>&
      client_policy,\n                         const std::shared_ptr<const Botan::TLS::Policy>&
      server_policy,\n                         const std::shared_ptr<Botan::RandomNumberGenerator>&
      rng,\n                         const std::shared_ptr<Botan::TLS::Session_Manager>&
      client_sessions,\n                         const std::shared_ptr<Botan::TLS::Session_Manager>&
      server_sessions,\n                         bool expect_client_auth)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: '& results() const'
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result & results() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/tests/unit_tls.cpp:269,1
    - Dst: set_custom_tls_session_established_callback
      Src: /src/botan/src/tests/unit_tls.cpp:270,1
    - Dst: std::move
      Src: /src/botan/src/tests/unit_tls.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - clbk
    argTypes:
    - std::function<void(const Botan::TLS::Session_Summary&)>
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: Botan_Tests::TLS_Handshake_Test::set_custom_client_tls_session_established_callback
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - set_custom_tls_session_established_callback
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void set_custom_client_tls_session_established_callback(\n         std::function<void(const
      Botan::TLS::Session_Summary&)> clbk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/tests/unit_tls.cpp:275,1
    - Dst: set_custom_tls_session_established_callback
      Src: /src/botan/src/tests/unit_tls.cpp:276,1
    - Dst: std::move
      Src: /src/botan/src/tests/unit_tls.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - clbk
    argTypes:
    - std::function<void(const Botan::TLS::Session_Summary&)>
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: Botan_Tests::TLS_Handshake_Test::set_custom_server_tls_session_established_callback
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - set_custom_tls_session_established_callback
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void set_custom_server_tls_session_established_callback(\n         std::function<void(const
      Botan::TLS::Session_Summary&)> clbk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/tests/unit_tls.cpp:280,1
    - Dst: set_expected_handshake_alert
      Src: /src/botan/src/tests/unit_tls.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: Botan_Tests::TLS_Handshake_Test::set_client_expected_handshake_alert
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    - set_expected_handshake_alert
    linkageType: ''
    returnType: void
    signature: void set_client_expected_handshake_alert(Botan::TLS::Alert alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/tests/unit_tls.cpp:285,1
    - Dst: set_expected_handshake_alert
      Src: /src/botan/src/tests/unit_tls.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: Botan_Tests::TLS_Handshake_Test::set_server_expected_handshake_alert
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    - set_expected_handshake_alert
    linkageType: ''
    returnType: void
    signature: void set_server_expected_handshake_alert(Botan::TLS::Alert alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Botan::TLS::Extension_Code>
      Src: /src/botan/src/tests/unit_tls.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Botan::TLS::Extension_Code>
    linkageType: ''
    returnType: Botan::TLS::Extension_Code
    signature: Botan::TLS::Extension_Code static_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
      Src: /src/botan/src/tests/unit_tls.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Extension::type
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
    linkageType: ''
    returnType: Botan::TLS::Extension_Code
    signature: Botan::TLS::Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Extension::serialize
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize(Botan::TLS::Connection_Side /*whoami*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Extension::empty
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::append_tls_length_value
      Src: /src/botan/src/tests/unit_tls.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - side
    argTypes:
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Extension::Test_Extension
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::append_tls_length_value
    linkageType: ''
    returnType: void
    signature: void Test_Extension(Botan::TLS::Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' results'
    - expected_version
    - ' outbound'
    - ' recv_buf'
    argTypes:
    - Test::Result
    - Botan::TLS::Protocol_Version
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::Test_Callbacks
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Callbacks(Test::Result& results,\n                           Botan::TLS::Protocol_Version
      expected_version,\n                           std::vector<uint8_t>& outbound,\n
      \                          std::vector<uint8_t>& recv_buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::Test_Callbacks
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Callbacks(Test_Callbacks&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::Test_Callbacks
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Callbacks(const Test_Callbacks&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: '& operator=(const Test_Callbacks&)'
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test_Callbacks
    signature: Test_Callbacks & operator=(const Test_Callbacks&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: '& operator=(Test_Callbacks&&)'
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test_Callbacks
    signature: Test_Callbacks & operator=(Test_Callbacks&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/unit_tls.cpp:331,1
    - Dst: test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:332,1
    - Dst: type_string
      Src: /src/botan/src/tests/unit_tls.cpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: ~Test_Callbacks() override
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - type_string
    - has_value
    - test_failure
    linkageType: ''
    returnType: void
    signature: void ~Test_Callbacks() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/tests/unit_tls.cpp:338,1
    - Dst: end
      Src: /src/botan/src/tests/unit_tls.cpp:338,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/unit_tls.cpp:338,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/unit_tls.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> bits) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/tests/unit_tls.cpp:342,1
    - Dst: end
      Src: /src/botan/src/tests/unit_tls.cpp:342,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/unit_tls.cpp:342,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/unit_tls.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t /*seq*/, std::span<const uint8_t>
      bits) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/unit_tls.cpp:348,1
    - Dst: type
      Src: /src/botan/src/tests/unit_tls.cpp:349,1
    - Dst: Botan::TLS::Alert::type
      Src: /src/botan/src/tests/unit_tls.cpp:349,1
    - Dst: test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:350,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/tests/unit_tls.cpp:350,1
    - Dst: type_string
      Src: /src/botan/src/tests/unit_tls.cpp:351,1
    - Dst: test_note
      Src: /src/botan/src/tests/unit_tls.cpp:354,1
    - Dst: type_string
      Src: /src/botan/src/tests/unit_tls.cpp:354,1
    - Dst: reset
      Src: /src/botan/src/tests/unit_tls.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 358
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 358
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type_string
    - Botan::TLS::Alert::type
    - type_string
    - test_failure
    - test_note
    - reset
    - type
    - has_value
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/botan/src/tests/unit_tls.cpp:363,1
    - Dst: Test_Extension::Test_Extension
      Src: /src/botan/src/tests/unit_tls.cpp:363,1
    - Dst: take
      Src: /src/botan/src/tests/unit_tls.cpp:366,1
    - Dst: auto::supported_schemes
      Src: /src/botan/src/tests/unit_tls.cpp:367,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/unit_tls.cpp:369,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/unit_tls.cpp:369,1
    - Dst: add
      Src: /src/botan/src/tests/unit_tls.cpp:371,1
    - Dst: Botan::TLS::Signature_Algorithms::Signature_Algorithms
      Src: /src/botan/src/tests/unit_tls.cpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' extn'
    - which_side
    argTypes:
    - Botan::TLS::Extensions
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 373
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 373
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_modify_extensions
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - add
    - auto::supported_schemes
    - std::vector::insert
    - Test_Extension::Test_Extension
    - Botan::TLS::Signature_Algorithms::Signature_Algorithms
    - std::vector::begin
    - take
    linkageType: ''
    returnType: void
    signature: "void tls_modify_extensions(Botan::TLS::Extensions& extn,\n                                       Botan::TLS::Connection_Side
      which_side,\n                                       Botan::TLS::Handshake_Type
      /* unused */) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Botan::TLS::Extension_Code>
      Src: /src/botan/src/tests/unit_tls.cpp:379,1
    - Dst: get
      Src: /src/botan/src/tests/unit_tls.cpp:380,1
    - Dst: test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:383,1
    - Dst: dynamic_cast<Botan::TLS::Unknown_Extension*>
      Src: /src/botan/src/tests/unit_tls.cpp:385,1
    - Dst: Botan::TLS::Unknown_Extension*::value
      Src: /src/botan/src/tests/unit_tls.cpp:388,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:390,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:390,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:392,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:394,1
    - Dst: test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' extn'
    - which_side
    argTypes:
    - Botan::TLS::Extensions
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 401
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 401
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_examine_extensions
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::TLS::Unknown_Extension*::value
    - static_cast<Botan::TLS::Extension_Code>
    - dynamic_cast<Botan::TLS::Unknown_Extension*>
    - test_failure
    - test_eq
    - get
    linkageType: ''
    returnType: void
    signature: "void tls_examine_extensions(const Botan::TLS::Extensions& extn,\n
      \                                       Botan::TLS::Connection_Side which_side,\n
      \                                       Botan::TLS::Handshake_Type /*unused*/)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: version
      Src: /src/botan/src/tests/unit_tls.cpp:404,1
    - Dst: ciphersuite
      Src: /src/botan/src/tests/unit_tls.cpp:405,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/unit_tls.cpp:406,1
    - Dst: session_id
      Src: /src/botan/src/tests/unit_tls.cpp:406,1
    - Dst: test_note
      Src: /src/botan/src/tests/unit_tls.cpp:408,1
    - Dst: m_session_established_callback
      Src: /src/botan/src/tests/unit_tls.cpp:411,1
    - Dst: version
      Src: /src/botan/src/tests/unit_tls.cpp:414,1
    - Dst: test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:415,1
    - Dst: to_string
      Src: /src/botan/src/tests/unit_tls.cpp:415,1
    - Dst: version
      Src: /src/botan/src/tests/unit_tls.cpp:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 418
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 418
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - m_session_established_callback
    - session_id
    - version
    - ciphersuite
    - test_failure
    - test_note
    - to_string
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& session)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:421,1
    - Dst: size
      Src: /src/botan/src/tests/unit_tls.cpp:421,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:422,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' protos'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_server_choose_app_protocol
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - test_eq
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string tls_server_choose_app_protocol(const std::vector<std::string>&
      protos) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Botan::TLS::Group_Params>
      Src: /src/botan/src/tests/unit_tls.cpp:430,1
    - Dst: std::get<Botan::TLS::Group_Params>
      Src: /src/botan/src/tests/unit_tls.cpp:431,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls.cpp:432,1
    - Dst: std::make_unique<Botan::ECDH_PrivateKey>
      Src: /src/botan/src/tests/unit_tls.cpp:433,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_generate_ephemeral_key
      Src: /src/botan/src/tests/unit_tls.cpp:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - std::variant<Botan::TLS::Group_Params, Botan::DL_Group>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_generate_ephemeral_key
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_generate_ephemeral_key
    - std::make_unique<Botan::ECDH_PrivateKey>
    - std::holds_alternative<Botan::TLS::Group_Params>
    - std::get<Botan::TLS::Group_Params>
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Key_Agreement_Key>
    signature: "std::unique_ptr<Botan::PK_Key_Agreement_Key> tls_generate_ephemeral_key(\n
      \              const std::variant<Botan::TLS::Group_Params, Botan::DL_Group>&
      group,\n               Botan::RandomNumberGenerator& rng) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Botan::TLS::Group_Params>
      Src: /src/botan/src/tests/unit_tls.cpp:445,1
    - Dst: std::get<Botan::TLS::Group_Params>
      Src: /src/botan/src/tests/unit_tls.cpp:446,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls.cpp:447,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/unit_tls.cpp:448,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/unit_tls.cpp:451,1
    - Dst: Botan::ECDH_PublicKey::public_value
      Src: /src/botan/src/tests/unit_tls.cpp:451,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_ephemeral_key_agreement
      Src: /src/botan/src/tests/unit_tls.cpp:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - ' group'
    - ' private_key'
    - ' public_value'
    - ' rng'
    - ' policy'
    argTypes:
    - std::variant<Botan::TLS::Group_Params, Botan::DL_Group>
    - Botan::PK_Key_Agreement_Key
    - std::vector<uint8_t>
    - Botan::RandomNumberGenerator
    - Botan::TLS::Policy
    constantsTouched: []
    func_position:
      end: 455
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 455
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_ephemeral_key_agreement
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 1
    functionsReached:
    - Botan::PK_Key_Agreement::derive_key
    - Botan::ECDH_PublicKey::public_value
    - Botan::EC_AffinePoint::EC_AffinePoint
    - Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_ephemeral_key_agreement
    - std::holds_alternative<Botan::TLS::Group_Params>
    - std::get<Botan::TLS::Group_Params>
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: "Botan::secure_vector<uint8_t> tls_ephemeral_key_agreement(\n               const
      std::variant<Botan::TLS::Group_Params, Botan::DL_Group>& group,\n               const
      Botan::PK_Key_Agreement_Key& private_key,\n               const std::vector<uint8_t>&
      public_value,\n               Botan::RandomNumberGenerator& rng,\n               const
      Botan::TLS::Policy& policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/unit_tls.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clbk
    argTypes:
    - std::function<void(const Botan::TLS::Session_Summary&)>
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::set_custom_tls_session_established_callback
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void set_custom_tls_session_established_callback(\n               std::function<void(const
      Botan::TLS::Session_Summary&)> clbk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 462
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 462
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::set_expected_handshake_alert
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_expected_handshake_alert(Botan::TLS::Alert alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_timer
      Src: /src/botan/src/tests/unit_tls.cpp:493,1
    - Dst: randomize
      Src: /src/botan/src/tests/unit_tls.cpp:500,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/unit_tls.cpp:500,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:500,1
    - Dst: randomize
      Src: /src/botan/src/tests/unit_tls.cpp:505,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/unit_tls.cpp:505,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:505,1
    - Dst: std::make_unique<Botan::TLS::Client>
      Src: /src/botan/src/tests/unit_tls.cpp:509,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/unit_tls.cpp:514,1
    - Dst: test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:527,1
    - Dst: std::unique_ptr::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:531,1
    - Dst: is_active
      Src: /src/botan/src/tests/unit_tls.cpp:535,1
    - Dst: std::unique_ptr::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:539,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:540,1
    - Dst: std::unique_ptr::application_protocol
      Src: /src/botan/src/tests/unit_tls.cpp:540,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:543,1
    - Dst: std::unique_ptr::send
      Src: /src/botan/src/tests/unit_tls.cpp:548,1
    - Dst: std::unique_ptr::send_warning_alert
      Src: /src/botan/src/tests/unit_tls.cpp:551,1
    - Dst: is_active
      Src: /src/botan/src/tests/unit_tls.cpp:555,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:556,1
    - Dst: application_protocol
      Src: /src/botan/src/tests/unit_tls.cpp:556,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:559,1
    - Dst: send
      Src: /src/botan/src/tests/unit_tls.cpp:564,1
    - Dst: send_warning_alert
      Src: /src/botan/src/tests/unit_tls.cpp:568,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:572,1
    - Dst: std::swap
      Src: /src/botan/src/tests/unit_tls.cpp:579,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:583,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:590,1
    - Dst: std::swap
      Src: /src/botan/src/tests/unit_tls.cpp:592,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:596,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:603,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:604,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:607,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:608,1
    - Dst: std::unique_ptr::is_closed
      Src: /src/botan/src/tests/unit_tls.cpp:611,1
    - Dst: is_closed
      Src: /src/botan/src/tests/unit_tls.cpp:611,1
    - Dst: is_active
      Src: /src/botan/src/tests/unit_tls.cpp:615,1
    - Dst: peer_cert_chain
      Src: /src/botan/src/tests/unit_tls.cpp:616,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:618,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:618,1
    - Dst: get_acceptable_cas
      Src: /src/botan/src/tests/unit_tls.cpp:620,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:622,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:622,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:625,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_tls.cpp:625,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:628,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:628,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:632,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:632,1
    - Dst: std::unique_ptr::key_material_export
      Src: /src/botan/src/tests/unit_tls.cpp:633,1
    - Dst: key_material_export
      Src: /src/botan/src/tests/unit_tls.cpp:634,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:636,1
    - Dst: Botan::SymmetricKey::bits_of
      Src: /src/botan/src/tests/unit_tls.cpp:636,1
    - Dst: Botan::SymmetricKey::bits_of
      Src: /src/botan/src/tests/unit_tls.cpp:636,1
    - Dst: confirm
      Src: /src/botan/src/tests/unit_tls.cpp:638,1
    - Dst: std::unique_ptr::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:638,1
    - Dst: confirm
      Src: /src/botan/src/tests/unit_tls.cpp:639,1
    - Dst: std::unique_ptr::is_closed
      Src: /src/botan/src/tests/unit_tls.cpp:639,1
    - Dst: std::unique_ptr::close
      Src: /src/botan/src/tests/unit_tls.cpp:640,1
    - Dst: confirm
      Src: /src/botan/src/tests/unit_tls.cpp:641,1
    - Dst: std::unique_ptr::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:641,1
    - Dst: confirm
      Src: /src/botan/src/tests/unit_tls.cpp:642,1
    - Dst: std::unique_ptr::is_closed
      Src: /src/botan/src/tests/unit_tls.cpp:642,1
    - Dst: end_timer
      Src: /src/botan/src/tests/unit_tls.cpp:646,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 647
    functionName: Botan_Tests::TLS_Handshake_Test::go
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - empty
    - test_eq
    - application_protocol
    - std::unique_ptr::is_closed
    - send
    - std::unique_ptr::send_warning_alert
    - std::unique_ptr::key_material_export
    - get_acceptable_cas
    - randomize
    - is_active
    - peer_cert_chain
    - send_warning_alert
    - Botan::SymmetricKey::bits_of
    - confirm
    - std::unique_ptr::close
    - std::vector::data
    - std::vector::size
    - end_timer
    - std::make_unique<Botan::TLS::Client>
    - is_closed
    - std::swap
    - key_material_export
    - Botan::TLS::Server_Information
    - start_timer
    - std::unique_ptr::send
    - std::unique_ptr::is_active
    - std::unique_ptr::application_protocol
    - test_failure
    - get_first_attribute
    linkageType: ''
    returnType: void
    signature: void TLS_Handshake_Test::go()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 651
    functionName: Botan_Tests::Test_Policy::Test_Policy
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Policy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Protocol_Version::is_pre_tls_13
      Src: /src/botan/src/tests/unit_tls.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - Botan::TLS::Protocol_Version
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: Botan_Tests::Test_Policy::acceptable_protocol_version
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Protocol_Version::is_pre_tls_13
    linkageType: ''
    returnType: bool
    signature: bool acceptable_protocol_version(Botan::TLS::Protocol_Version version)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 658
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 658
    functionName: Botan_Tests::Test_Policy::dtls_initial_timeout
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dtls_initial_timeout() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 660
    functionName: Botan_Tests::Test_Policy::dtls_maximum_timeout
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dtls_maximum_timeout() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 662
    functionName: Botan_Tests::Test_Policy::minimum_rsa_bits
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_rsa_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: Botan_Tests::Test_Policy::minimum_signature_strength
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_signature_strength() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/botan/src/tests/unit_tls.cpp:680,1
    - Dst: TLS_Handshake_Test::go
      Src: /src/botan/src/tests/unit_tls.cpp:689,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_tls.cpp:690,1
    - Dst: TLS_Handshake_Test::results
      Src: /src/botan/src/tests/unit_tls.cpp:690,1
    - Dst: to_string
      Src: /src/botan/src/tests/unit_tls.cpp:692,1
    - Dst: TLS_Handshake_Test::go
      Src: /src/botan/src/tests/unit_tls.cpp:701,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_tls.cpp:702,1
    - Dst: TLS_Handshake_Test::results
      Src: /src/botan/src/tests/unit_tls.cpp:702,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_tls.cpp:705,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/unit_tls.cpp:705,1
    - Dst: what
      Src: /src/botan/src/tests/unit_tls.cpp:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 8
    argNames:
    - ' test_descr'
    - ' results'
    - ' client_ses'
    - ' server_ses'
    - ' creds'
    - ' versions'
    - ' policy'
    - ' rng'
    argTypes:
    - std::string
    - std::vector<Test::Result>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Credentials_Manager_Test>
    - std::vector<Botan::TLS::Protocol_Version>
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<Botan::RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 707
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 707
    functionName: Botan_Tests::TLS_Unit_Tests::test_with_policy
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - what
    - Botan_Tests::Test::Result::Failure
    - TLS_Handshake_Test::go
    - to_string
    - TLS_Handshake_Test::results
    - push_back
    linkageType: ''
    returnType: void
    signature: "void test_with_policy(const std::string& test_descr,\n                                   std::vector<Test::Result>&
      results,\n                                   const std::shared_ptr<Botan::TLS::Session_Manager>&
      client_ses,\n                                   const std::shared_ptr<Botan::TLS::Session_Manager>&
      server_ses,\n                                   const std::shared_ptr<Credentials_Manager_Test>&
      creds,\n                                   const std::vector<Botan::TLS::Protocol_Version>&
      versions,\n                                   const std::shared_ptr<const Botan::TLS::Policy>&
      policy,\n                                   std::shared_ptr<Botan::RandomNumberGenerator>&
      rng,\n                                   bool client_auth = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Test_Policy>
      Src: /src/botan/src/tests/unit_tls.cpp:720,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:721,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:722,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:723,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:724,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:726,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:727,1
    - Dst: find
      Src: /src/botan/src/tests/unit_tls.cpp:729,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:730,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_with_policy
      Src: /src/botan/src/tests/unit_tls.cpp:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 10
    argNames:
    - ' test_descr'
    - ' results'
    - ' client_ses'
    - ' server_ses'
    - ' creds'
    - ' rng'
    - ' kex_policy'
    - ' cipher_policy'
    - ' mac_policy'
    - ' etm_policy'
    argTypes:
    - std::string
    - std::vector<Test::Result>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Credentials_Manager_Test>
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 738
      start: 709
    functionDepth: 3
    functionLinenumber: 709
    functionLinenumberEnd: 738
    functionName: Botan_Tests::TLS_Unit_Tests::test_all_versions
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - auto::set
    - find
    - Botan_Tests::TLS_Unit_Tests::test_with_policy
    - std::make_shared<Test_Policy>
    linkageType: ''
    returnType: void
    signature: "void test_all_versions(const std::string& test_descr,\n                                    std::vector<Test::Result>&
      results,\n                                    const std::shared_ptr<Botan::TLS::Session_Manager>&
      client_ses,\n                                    const std::shared_ptr<Botan::TLS::Session_Manager>&
      server_ses,\n                                    const std::shared_ptr<Credentials_Manager_Test>&
      creds,\n                                    std::shared_ptr<Botan::RandomNumberGenerator>&
      rng,\n                                    const std::string& kex_policy,\n                                    const
      std::string& cipher_policy,\n                                    const std::string&
      mac_policy,\n                                    const std::string& etm_policy,\n
      \                                   bool client_auth = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ' test_descr'
    - ' results'
    - ' client_ses'
    - ' server_ses'
    - ' creds'
    - ' rng'
    - ' kex_policy'
    - ' cipher_policy'
    argTypes:
    - std::string
    - std::vector<Test::Result>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Credentials_Manager_Test>
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 762
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 762
    functionName: Botan_Tests::TLS_Unit_Tests::test_modern_versions
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::TLS_Unit_Tests::test_modern_versions
    linkageType: ''
    returnType: void
    signature: "void test_modern_versions(const std::string& test_descr,\n                                       std::vector<Test::Result>&
      results,\n                                       const std::shared_ptr<Botan::TLS::Session_Manager>&
      client_ses,\n                                       const std::shared_ptr<Botan::TLS::Session_Manager>&
      server_ses,\n                                       const std::shared_ptr<Credentials_Manager_Test>&
      creds,\n                                       std::shared_ptr<Botan::RandomNumberGenerator>&
      rng,\n                                       const std::string& kex_policy,\n
      \                                      const std::string& cipher_policy,\n                                       const
      std::string& mac_policy = \"AEAD\",\n                                       bool
      client_auth = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Test_Policy>
      Src: /src/botan/src/tests/unit_tls.cpp:775,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:776,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:777,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:778,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:779,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:780,1
    - Dst: find
      Src: /src/botan/src/tests/unit_tls.cpp:782,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:783,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:787,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_with_policy
      Src: /src/botan/src/tests/unit_tls.cpp:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 10
    argNames:
    - ' test_descr'
    - ' results'
    - ' client_ses'
    - ' server_ses'
    - ' creds'
    - ' rng'
    - ' kex_policy'
    - ' cipher_policy'
    - ' mac_policy'
    - ' extra_policies'
    argTypes:
    - std::string
    - std::vector<Test::Result>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Credentials_Manager_Test>
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::string
    - std::string
    - std::string
    - std::map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 795
      start: 764
    functionDepth: 3
    functionLinenumber: 764
    functionLinenumberEnd: 795
    functionName: Botan_Tests::TLS_Unit_Tests::test_modern_versions
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 1
    functionsReached:
    - auto::set
    - find
    - Botan_Tests::TLS_Unit_Tests::test_with_policy
    - std::make_shared<Test_Policy>
    linkageType: ''
    returnType: void
    signature: "void test_modern_versions(const std::string& test_descr,\n                                       std::vector<Test::Result>&
      results,\n                                       const std::shared_ptr<Botan::TLS::Session_Manager>&
      client_ses,\n                                       const std::shared_ptr<Botan::TLS::Session_Manager>&
      server_ses,\n                                       const std::shared_ptr<Credentials_Manager_Test>&
      creds,\n                                       std::shared_ptr<Botan::RandomNumberGenerator>&
      rng,\n                                       const std::string& kex_policy,\n
      \                                      const std::string& cipher_policy,\n                                       const
      std::string& mac_policy,\n                                       const std::map<std::string,
      std::string>& extra_policies,\n                                       bool client_auth
      = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Test_Policy>
      Src: /src/botan/src/tests/unit_tls.cpp:803,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/tests/unit_tls.cpp:804,1
    - Dst: type_string
      Src: /src/botan/src/tests/unit_tls.cpp:809,1
    - Dst: to_string
      Src: /src/botan/src/tests/unit_tls.cpp:809,1
    - Dst: TLS_Handshake_Test::set_custom_client_tls_session_established_callback
      Src: /src/botan/src/tests/unit_tls.cpp:818,1
    - Dst: std::rethrow_exception
      Src: /src/botan/src/tests/unit_tls.cpp:819,1
    - Dst: TLS_Handshake_Test::set_server_expected_handshake_alert
      Src: /src/botan/src/tests/unit_tls.cpp:820,1
    - Dst: TLS_Handshake_Test::go
      Src: /src/botan/src/tests/unit_tls.cpp:822,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_tls.cpp:823,1
    - Dst: TLS_Handshake_Test::results
      Src: /src/botan/src/tests/unit_tls.cpp:823,1
    - Dst: type_string
      Src: /src/botan/src/tests/unit_tls.cpp:830,1
    - Dst: to_string
      Src: /src/botan/src/tests/unit_tls.cpp:830,1
    - Dst: TLS_Handshake_Test::set_custom_server_tls_session_established_callback
      Src: /src/botan/src/tests/unit_tls.cpp:839,1
    - Dst: std::rethrow_exception
      Src: /src/botan/src/tests/unit_tls.cpp:840,1
    - Dst: TLS_Handshake_Test::set_client_expected_handshake_alert
      Src: /src/botan/src/tests/unit_tls.cpp:841,1
    - Dst: TLS_Handshake_Test::go
      Src: /src/botan/src/tests/unit_tls.cpp:843,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_tls.cpp:844,1
    - Dst: TLS_Handshake_Test::results
      Src: /src/botan/src/tests/unit_tls.cpp:844,1
    - Dst: client_aborts
      Src: /src/botan/src/tests/unit_tls.cpp:848,1
    - Dst: std::make_exception_ptr
      Src: /src/botan/src/tests/unit_tls.cpp:848,1
    - Dst: TLS_Exception
      Src: /src/botan/src/tests/unit_tls.cpp:849,1
    - Dst: client_aborts
      Src: /src/botan/src/tests/unit_tls.cpp:851,1
    - Dst: std::make_exception_ptr
      Src: /src/botan/src/tests/unit_tls.cpp:851,1
    - Dst: Botan::Invalid_Authentication_Tag::Invalid_Authentication_Tag
      Src: /src/botan/src/tests/unit_tls.cpp:851,1
    - Dst: client_aborts
      Src: /src/botan/src/tests/unit_tls.cpp:853,1
    - Dst: std::make_exception_ptr
      Src: /src/botan/src/tests/unit_tls.cpp:853,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/unit_tls.cpp:853,1
    - Dst: server_aborts
      Src: /src/botan/src/tests/unit_tls.cpp:856,1
    - Dst: std::make_exception_ptr
      Src: /src/botan/src/tests/unit_tls.cpp:856,1
    - Dst: TLS_Exception
      Src: /src/botan/src/tests/unit_tls.cpp:857,1
    - Dst: server_aborts
      Src: /src/botan/src/tests/unit_tls.cpp:859,1
    - Dst: std::make_exception_ptr
      Src: /src/botan/src/tests/unit_tls.cpp:859,1
    - Dst: Botan::Invalid_Authentication_Tag::Invalid_Authentication_Tag
      Src: /src/botan/src/tests/unit_tls.cpp:860,1
    - Dst: server_aborts
      Src: /src/botan/src/tests/unit_tls.cpp:862,1
    - Dst: std::make_exception_ptr
      Src: /src/botan/src/tests/unit_tls.cpp:862,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/unit_tls.cpp:862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - ' results'
    - creds
    - rng
    argTypes:
    - std::vector<Test::Result>
    - std::shared_ptr<Credentials_Manager_Test>
    - std::shared_ptr<Botan::RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 864
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 864
    functionName: Botan_Tests::TLS_Unit_Tests::test_session_established_abort
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::make_exception_ptr
    - TLS_Exception
    - TLS_Handshake_Test::set_custom_server_tls_session_established_callback
    - Botan::Invalid_Authentication_Tag::Invalid_Authentication_Tag
    - server_aborts
    - TLS_Handshake_Test::set_custom_client_tls_session_established_callback
    - type_string
    - TLS_Handshake_Test::go
    - std::rethrow_exception
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - std::make_shared<Test_Policy>
    - client_aborts
    - to_string
    - TLS_Handshake_Test::set_client_expected_handshake_alert
    - std::runtime_error
    - TLS_Handshake_Test::set_server_expected_handshake_alert
    - TLS_Handshake_Test::results
    - push_back
    linkageType: ''
    returnType: void
    signature: "void test_session_established_abort(std::vector<Test::Result>& results,\n
      \                                         std::shared_ptr<Credentials_Manager_Test>
      creds,\n                                          std::shared_ptr<Botan::RandomNumberGenerator>
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/unit_tls.cpp:870,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_name
      Src: /src/botan/src/tests/unit_tls.cpp:870,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/tests/unit_tls.cpp:876,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/tests/unit_tls.cpp:877,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/unit_tls.cpp:881,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/unit_tls.cpp:885,1
    - Dst: create_creds
      Src: /src/botan/src/tests/unit_tls.cpp:888,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_all_versions
      Src: /src/botan/src/tests/unit_tls.cpp:892,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_all_versions
      Src: /src/botan/src/tests/unit_tls.cpp:902,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_all_versions
      Src: /src/botan/src/tests/unit_tls.cpp:914,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_all_versions
      Src: /src/botan/src/tests/unit_tls.cpp:916,1
    - Dst: std::shared_ptr::remove_all
      Src: /src/botan/src/tests/unit_tls.cpp:920,1
    - Dst: std::shared_ptr::remove_all
      Src: /src/botan/src/tests/unit_tls.cpp:922,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:924,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:929,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy_Without_TLS13>
      Src: /src/botan/src/tests/unit_tls.cpp:932,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_with_policy
      Src: /src/botan/src/tests/unit_tls.cpp:933,1
    - Dst: std::make_shared<Botan::TLS::NSA_Suite_B_128>
      Src: /src/botan/src/tests/unit_tls.cpp:942,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_with_policy
      Src: /src/botan/src/tests/unit_tls.cpp:943,1
    - Dst: std::shared_ptr::remove_all
      Src: /src/botan/src/tests/unit_tls.cpp:953,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:955,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:956,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:958,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:969,1
    - Dst: std::shared_ptr::remove_all
      Src: /src/botan/src/tests/unit_tls.cpp:980,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:983,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:988,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:992,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1002,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1012,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1024,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1036,1
    - Dst: create_creds
      Src: /src/botan/src/tests/unit_tls.cpp:1047,1
    - Dst: std::shared_ptr::remove_all
      Src: /src/botan/src/tests/unit_tls.cpp:1049,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1050,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/unit_tls.cpp:1062,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/unit_tls.cpp:1063,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1067,1
    - Dst: std::shared_ptr::remove_all
      Src: /src/botan/src/tests/unit_tls.cpp:1071,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1074,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1078,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1081,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1082,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1086,1
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/unit_tls.cpp:1091,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/unit_tls.cpp:1105,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1110,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_session_established_abort
      Src: /src/botan/src/tests/unit_tls.cpp:1125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 867
    functionDepth: 4
    functionLinenumber: 867
    functionLinenumberEnd: 1128
    functionName: Botan_Tests::TLS_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_Unit_Tests::test_with_policy
    - create_creds
    - Botan_Tests::Test::new_shared_rng
    - std::shared_ptr::remove_all
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::make_shared<Botan::TLS::Session_Manager_SQLite>
    - Botan_Tests::TLS_Unit_Tests::test_modern_versions
    - Botan::EC_Group::supports_application_specific_group
    - Botan_Tests::TLS_Unit_Tests::test_all_versions
    - Botan_Tests::TLS_Unit_Tests::test_name
    - std::make_shared<Botan::TLS::NSA_Suite_B_128>
    - std::make_shared<Botan::TLS::Strict_Policy_Without_TLS13>
    - Botan::OID::register_oid
    - Botan_Tests::TLS_Unit_Tests::test_session_established_abort
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/tests/unit_tls.cpp:1142,1
    - Dst: end
      Src: /src/botan/src/tests/unit_tls.cpp:1142,1
    - Dst: begin
      Src: /src/botan/src/tests/unit_tls.cpp:1142,1
    - Dst: end
      Src: /src/botan/src/tests/unit_tls.cpp:1142,1
    - Dst: insert
      Src: /src/botan/src/tests/unit_tls.cpp:1146,1
    - Dst: end
      Src: /src/botan/src/tests/unit_tls.cpp:1146,1
    - Dst: begin
      Src: /src/botan/src/tests/unit_tls.cpp:1146,1
    - Dst: end
      Src: /src/botan/src/tests/unit_tls.cpp:1146,1
    - Dst: test_success
      Src: /src/botan/src/tests/unit_tls.cpp:1154,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/unit_tls.cpp:1169,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/unit_tls.cpp:1173,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/unit_tls.cpp:1177,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/unit_tls.cpp:1181,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/unit_tls.cpp:1184,1
    - Dst: std::vector<std::string>
      Src: /src/botan/src/tests/unit_tls.cpp:1190,1
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/unit_tls.cpp:1203,1
    - Dst: Botan_Tests::DTLS_Reconnection_Test::test_name
      Src: /src/botan/src/tests/unit_tls.cpp:1203,1
    - Dst: std::make_shared<Datagram_PSK_Policy>
      Src: /src/botan/src/tests/unit_tls.cpp:1205,1
    - Dst: std::make_shared<Datagram_PSK_Policy>
      Src: /src/botan/src/tests/unit_tls.cpp:1206,1
    - Dst: std::make_shared<Credentials_PSK>
      Src: /src/botan/src/tests/unit_tls.cpp:1207,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/unit_tls.cpp:1208,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/tests/unit_tls.cpp:1209,1
    - Dst: std::make_shared<Test_Callbacks>
      Src: /src/botan/src/tests/unit_tls.cpp:1212,1
    - Dst: std::make_shared<Test_Callbacks>
      Src: /src/botan/src/tests/unit_tls.cpp:1216,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/unit_tls.cpp:1222,1
    - Dst: Botan::TLS::Protocol_Version::latest_dtls_version
      Src: /src/botan/src/tests/unit_tls.cpp:1223,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:1236,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/unit_tls.cpp:1240,1
    - Dst: std::swap
      Src: /src/botan/src/tests/unit_tls.cpp:1242,1
    - Dst: Botan::TLS::Server::received_data
      Src: /src/botan/src/tests/unit_tls.cpp:1243,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/unit_tls.cpp:1243,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:1243,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/unit_tls.cpp:1247,1
    - Dst: std::swap
      Src: /src/botan/src/tests/unit_tls.cpp:1249,1
    - Dst: Botan::TLS::Client::received_data
      Src: /src/botan/src/tests/unit_tls.cpp:1250,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/unit_tls.cpp:1250,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:1250,1
    - Dst: Botan::TLS::Client::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:1254,1
    - Dst: Botan::TLS::Client::send
      Src: /src/botan/src/tests/unit_tls.cpp:1255,1
    - Dst: Botan::TLS::Server::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:1259,1
    - Dst: Botan::TLS::Server::send
      Src: /src/botan/src/tests/unit_tls.cpp:1260,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:1263,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:1263,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:1264,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:1265,1
    - Dst: clear
      Src: /src/botan/src/tests/unit_tls.cpp:1274,1
    - Dst: std::vector::clear
      Src: /src/botan/src/tests/unit_tls.cpp:1275,1
    - Dst: std::make_shared<Test_Callbacks>
      Src: /src/botan/src/tests/unit_tls.cpp:1278,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/unit_tls.cpp:1284,1
    - Dst: Botan::TLS::Protocol_Version::latest_dtls_version
      Src: /src/botan/src/tests/unit_tls.cpp:1285,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:1299,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/unit_tls.cpp:1303,1
    - Dst: std::swap
      Src: /src/botan/src/tests/unit_tls.cpp:1305,1
    - Dst: Botan::TLS::Server::received_data
      Src: /src/botan/src/tests/unit_tls.cpp:1306,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/unit_tls.cpp:1306,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:1306,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/unit_tls.cpp:1310,1
    - Dst: std::swap
      Src: /src/botan/src/tests/unit_tls.cpp:1312,1
    - Dst: Botan::TLS::Client::received_data
      Src: /src/botan/src/tests/unit_tls.cpp:1313,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/unit_tls.cpp:1313,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:1313,1
    - Dst: Botan::TLS::Client::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:1317,1
    - Dst: Botan::TLS::Client::send
      Src: /src/botan/src/tests/unit_tls.cpp:1318,1
    - Dst: Botan::TLS::Server::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:1322,1
    - Dst: Botan::TLS::Server::send
      Src: /src/botan/src/tests/unit_tls.cpp:1323,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:1326,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:1326,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:1327,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:1328,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1135
    functionDepth: 3
    functionLinenumber: 1135
    functionLinenumberEnd: 1334
    functionName: Botan_Tests::DTLS_Reconnection_Test::run
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - clear
    - std::make_shared<Test_Callbacks>
    - end
    - empty
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - Botan::TLS::Protocol_Version::latest_dtls_version
    - Test_Error
    - begin
    - Botan::TLS::Client::is_active
    - Test::Result::test_eq
    - test_success
    - insert
    - std::make_shared<Credentials_PSK>
    - Test::Result::test_failure
    - std::vector::clear
    - std::vector::data
    - Botan::TLS::Server::received_data
    - std::vector::size
    - Botan::SymmetricKey
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::swap
    - Botan::TLS::Server::is_active
    - Botan_Tests::DTLS_Reconnection_Test::test_name
    - Botan::TLS::Server_Information
    - std::vector<std::string>
    - std::vector::empty
    - std::make_shared<Datagram_PSK_Policy>
    - Botan::TLS::Client::send
    - Botan_Tests::Test::new_shared_rng
    - Botan::TLS::Server::send
    - Botan::TLS::Client::received_data
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:23,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:24,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:25,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:26,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:27,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:28,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:29,1
    - Dst: cryptofuzz::module::nss_detail::toOID
      Src: /src/botan/src/tests/test_sm2.cpp:30,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sm2.cpp:30,1
    - Dst: std::make_unique<Botan::SM2_PrivateKey>
      Src: /src/botan/src/tests/test_sm2.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: Botan_Tests::load_sm2_private_key
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::SM2_PrivateKey>
    - cryptofuzz::module::nss_detail::toOID
    - get_req_str
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_sm2_private_key(const VarMap&
      vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan_Tests::SM2_Signature_KAT_Tests::SM2_Signature_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SM2_Signature_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_sm2.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan_Tests::SM2_Signature_KAT_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan_Tests::SM2_Signature_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sm2.cpp:51,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_sm2.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan_Tests::SM2_Signature_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - get_opt_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_Position_RNG>
      Src: /src/botan/src/tests/test_sm2.cpp:55,1
    - Dst: Botan_Tests::SM2_Signature_KAT_Tests::rng
      Src: /src/botan/src/tests/test_sm2.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan_Tests::SM2_Signature_KAT_Tests::test_rng
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_Position_RNG>
    - Botan_Tests::SM2_Signature_KAT_Tests::rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_sm2_private_key
      Src: /src/botan/src/tests/test_sm2.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan_Tests::SM2_Signature_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - load_sm2_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan_Tests::SM2_Encryption_KAT_Tests::SM2_Encryption_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SM2_Encryption_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_sm2.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan_Tests::SM2_Encryption_KAT_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_sm2.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan_Tests::SM2_Encryption_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - get_opt_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan_Tests::SM2_Encryption_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_Position_RNG>
      Src: /src/botan/src/tests/test_sm2.cpp:80,1
    - Dst: Botan_Tests::SM2_Encryption_KAT_Tests::rng
      Src: /src/botan/src/tests/test_sm2.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan_Tests::SM2_Encryption_KAT_Tests::test_rng
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_Position_RNG>
    - Botan_Tests::SM2_Encryption_KAT_Tests::rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_sm2_private_key
      Src: /src/botan/src/tests/test_sm2.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: Botan_Tests::SM2_Encryption_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - load_sm2_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan_Tests::SM2_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan_Tests::SM2_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/tests/test_sm2.cpp:101,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_sm2.cpp:102,1
    - Dst: std::make_unique<Botan::SM2_PublicKey>
      Src: /src/botan/src/tests/test_sm2.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Botan_Tests::SM2_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::SM2_PublicKey>
    - Botan::EC_Group::EC_Group
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:23,1
    - Dst: Botan::TLS::Signature_Scheme::all_available_schemes
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:25,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:26,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:26,1
    - Dst: to_string
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:26,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:27,1
    - Dst: is_set
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:27,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:28,1
    - Dst: is_available
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:28,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:30,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:30,1
    - Dst: to_string
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:30,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:31,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:31,1
    - Dst: hash_function_name
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:31,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:32,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:32,1
    - Dst: padding_string
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:32,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:33,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:33,1
    - Dst: algorithm_name
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:33,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:35,1
    - Dst: Botan_Tests::format
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:35,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:36,1
    - Dst: Botan::AlgorithmIdentifier::AlgorithmIdentifier
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:37,1
    - Dst: key_algorithm_identifier
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:37,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:42,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:42,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:43,1
    - Dst: Botan::TLS::Signature_Scheme::is_set
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:43,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:44,1
    - Dst: Botan::TLS::Signature_Scheme::is_available
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:44,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:46,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:46,1
    - Dst: Botan::TLS::Signature_Scheme::to_string
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:46,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:47,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:47,1
    - Dst: Botan::TLS::Signature_Scheme::hash_function_name
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:47,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:48,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:48,1
    - Dst: Botan::TLS::Signature_Scheme::padding_string
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:48,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:49,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:49,1
    - Dst: Botan::TLS::Signature_Scheme::algorithm_name
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:49,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:51,1
    - Dst: Botan::TLS::Signature_Scheme::format
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:51,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:52,1
    - Dst: Botan::AlgorithmIdentifier::AlgorithmIdentifier
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:53,1
    - Dst: Botan::TLS::Signature_Scheme::key_algorithm_identifier
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: Botan_Tests::test_signature_scheme
    functionSourceFile: /src/botan/src/tests/test_tls_signature_scheme.cpp
    functionUses: 0
    functionsReached:
    - padding_string
    - Botan_Tests::format
    - not_unknown
    - Botan_Tests::CHECK
    - Botan::TLS::Signature_Scheme::hash_function_name
    - hash_function_name
    - Botan::TLS::Signature_Scheme::padding_string
    - Botan::TLS::Signature_Scheme::algorithm_name
    - confirm
    - Botan::TLS::Signature_Scheme::format
    - Botan::TLS::Signature_Scheme::to_string
    - Botan::AlgorithmIdentifier::AlgorithmIdentifier
    - is_set
    - algorithm_name
    - to_string
    - key_algorithm_identifier
    - Botan::TLS::Signature_Scheme::is_available
    - find
    - std::vector::push_back
    - Botan::TLS::Signature_Scheme::key_algorithm_identifier
    - Botan::TLS::Signature_Scheme::all_available_schemes
    - Botan::TLS::Signature_Scheme::is_set
    - is_available
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_signature_scheme()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_name_constraint.cpp:27,1
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_name_constraint.cpp:31,1
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_name_constraint.cpp:35,1
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_name_constraint.cpp:36,1
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_name_constraint.cpp:38,1
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_name_constraint.cpp:39,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_name_constraint.cpp:48,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_name_constraint.cpp:51,1
    - Dst: std::get<0>
      Src: /src/botan/src/tests/test_name_constraint.cpp:51,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_name_constraint.cpp:52,1
    - Dst: std::get<1>
      Src: /src/botan/src/tests/test_name_constraint.cpp:52,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_name_constraint.cpp:53,1
    - Dst: std::get<1>
      Src: /src/botan/src/tests/test_name_constraint.cpp:54,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_name_constraint.cpp:56,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_name_constraint.cpp:57,1
    - Dst: std::get<2>
      Src: /src/botan/src/tests/test_name_constraint.cpp:58,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_name_constraint.cpp:60,1
    - Dst: Botan::Path_Validation_Result::trust_root
      Src: /src/botan/src/tests/test_name_constraint.cpp:60,1
    - Dst: Botan::Path_Validation_Result::Path_Validation_Result
      Src: /src/botan/src/tests/test_name_constraint.cpp:61,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_name_constraint.cpp:64,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_name_constraint.cpp:64,1
    - Dst: std::get<3>
      Src: /src/botan/src/tests/test_name_constraint.cpp:64,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_name_constraint.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 69
    functionName: Botan_Tests::Name_Constraint_Tests::run
    functionSourceFile: /src/botan/src/tests/test_name_constraint.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - std::get<3>
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Test::data_file
    - std::get<0>
    - std::get<2>
    - Test::Result::test_eq
    - std::vector::emplace_back
    - Botan::Path_Validation_Result::Path_Validation_Result
    - Botan::Path_Validation_Result::successful_validation
    - std::get<1>
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::calendar_point
    - Botan::Path_Validation_Result::result_string
    - Botan::Path_Validation_Result::trust_root
    - std::make_tuple
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:25,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:25,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:25,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:29,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:57,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:58,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:61,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:63,1
    - Dst: Transcript_Hash_State
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:64,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:66,1
    - Dst: Transcript_Hash_State
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:67,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:70,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:73,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:73,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:73,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:74,1
    - Dst: Transcript_Hash_State::previous
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:75,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:76,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:76,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:79,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:82,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:82,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:83,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:83,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:84,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:85,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:88,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:88,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:89,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:90,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:93,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:97,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:97,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:98,1
    - Dst: Transcript_Hash_State::previous
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:99,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:100,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:100,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:100,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:102,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:102,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:103,1
    - Dst: Transcript_Hash_State::previous
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:103,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:103,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:104,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:104,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:104,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:107,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:111,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:111,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:112,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:114,1
    - Dst: Transcript_Hash_State::previous
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:115,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:116,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:116,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:116,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:119,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:123,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:123,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:124,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:124,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:125,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:127,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:127,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:127,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:130,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:135,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:136,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:138,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:141,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:142,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:144,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:144,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:144,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:147,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:151,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:152,1
    - Dst: Transcript_Hash_State::clone
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:154,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:155,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:155,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:155,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:156,1
    - Dst: auto::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:156,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:156,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:158,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:159,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:160,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:160,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:161,1
    - Dst: auto::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:161,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:161,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:164,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:168,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:169,1
    - Dst: Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:171,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:174,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:174,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:176,1
    - Dst: auto::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:176,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:176,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:179,1
    - Dst: auto::resize
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:185,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:187,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:188,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:190,1
    - Dst: Transcript_Hash_State::truncated
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:190,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:191,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:191,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:194,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:195,1
    - Dst: Transcript_Hash_State::truncated
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 198
    functionName: Botan_Tests::transcript_hash
    functionSourceFile: /src/botan/src/tests/test_tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - test_eq
    - Transcript_Hash_State::clone
    - Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
    - Transcript_Hash_State::current
    - Botan_Tests::CHECK
    - Transcript_Hash_State::previous
    - Transcript_Hash_State
    - Botan::hex_decode
    - auto::current
    - Botan::unlock
    - Transcript_Hash_State::update
    - Botan::HashFunction::create_or_throw
    - sha256
    - auto::resize
    - Botan::hex_encode
    - Transcript_Hash_State::set_algorithm
    - test_no_throw
    - Transcript_Hash_State::truncated
    - test_throws
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> transcript_hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' master_key'
    argTypes:
    - Botan::secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: Botan_Tests::Test_Map_PSK_Db::Test_Map_PSK_Db
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Map_PSK_Db(const Botan::secure_vector<uint8_t>& master_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/test_psk_db.cpp:27,1
    - Dst: end
      Src: /src/botan/src/tests/test_psk_db.cpp:29,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_psk_db.cpp:30,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' result'
    - ' index'
    - ' value'
    argTypes:
    - Test::Result
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: Botan_Tests::Test_Map_PSK_Db::test_entry
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - test_failure
    - test_eq
    linkageType: ''
    returnType: void
    signature: void test_entry(Test::Result& result, const std::string& index, const
      std::string& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert_or_assign
      Src: /src/botan/src/tests/test_psk_db.cpp:37,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_psk_db.cpp:37,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_psk_db.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan_Tests::Test_Map_PSK_Db::kv_set
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: void kv_set(std::string_view index, std::string_view value) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/test_psk_db.cpp:41,1
    - Dst: end
      Src: /src/botan/src/tests/test_psk_db.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: Botan_Tests::Test_Map_PSK_Db::kv_get
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string kv_get(std::string_view index) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/test_psk_db.cpp:49,1
    - Dst: end
      Src: /src/botan/src/tests/test_psk_db.cpp:50,1
    - Dst: erase
      Src: /src/botan/src/tests/test_psk_db.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: Botan_Tests::Test_Map_PSK_Db::kv_del
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - erase
    linkageType: ''
    returnType: void
    signature: void kv_del(std::string_view index) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_psk_db.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: Botan_Tests::Test_Map_PSK_Db::kv_get_all
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> kv_get_all() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_psk_db.cpp:76,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_psk_db
      Src: /src/botan/src/tests/test_psk_db.cpp:76,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_psk_db.cpp:79,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_psk_sql_db
      Src: /src/botan/src/tests/test_psk_db.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: Botan_Tests::PSK_DB_Tests::run
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::PSK_DB_Tests::test_psk_db
    - std::vector::push_back
    - Botan_Tests::PSK_DB_Tests::test_psk_sql_db
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Map_PSK_Db::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:92,1
    - Dst: Test_Map_PSK_Db::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:93,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:94,1
    - Dst: Test_Map_PSK_Db::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:94,1
    - Dst: Test_Map_PSK_Db::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:96,1
    - Dst: Test_Map_PSK_Db::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:97,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:98,1
    - Dst: Test_Map_PSK_Db::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:98,1
    - Dst: Test_Map_PSK_Db::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:100,1
    - Dst: Test_Map_PSK_Db::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:101,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:102,1
    - Dst: Test_Map_PSK_Db::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:102,1
    - Dst: Test_Map_PSK_Db::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:104,1
    - Dst: Test_Map_PSK_Db::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:106,1
    - Dst: Test_Map_PSK_Db::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:106,1
    - Dst: Test_Map_PSK_Db::set_vec
      Src: /src/botan/src/tests/test_psk_db.cpp:108,1
    - Dst: Test_Map_PSK_Db::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:109,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:110,1
    - Dst: Test_Map_PSK_Db::get
      Src: /src/botan/src/tests/test_psk_db.cpp:110,1
    - Dst: Test_Map_PSK_Db::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:113,1
    - Dst: Test_Map_PSK_Db::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:114,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:115,1
    - Dst: Test_Map_PSK_Db::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:115,1
    - Dst: Test_Map_PSK_Db::list_names
      Src: /src/botan/src/tests/test_psk_db.cpp:117,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:119,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_psk_db.cpp:119,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:120,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:120,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:121,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:121,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:122,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:122,1
    - Dst: Test_Map_PSK_Db::remove
      Src: /src/botan/src/tests/test_psk_db.cpp:124,1
    - Dst: Test_Map_PSK_Db::list_names
      Src: /src/botan/src/tests/test_psk_db.cpp:126,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:128,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_psk_db.cpp:128,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:129,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:129,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:130,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:130,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_psk_db.cpp:132,1
    - Dst: Test_Map_PSK_Db::get
      Src: /src/botan/src/tests/test_psk_db.cpp:133,1
    - Dst: Test_Map_PSK_Db::remove
      Src: /src/botan/src/tests/test_psk_db.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 139
    functionName: Botan_Tests::PSK_DB_Tests::test_psk_db
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 1
    functionsReached:
    - Test_Map_PSK_Db::test_entry
    - Test_Map_PSK_Db::remove
    - Test_Map_PSK_Db::set_vec
    - Test_Map_PSK_Db::set_str
    - Test::Result::test_eq
    - Test::Result::test_throws
    - std::set::count
    - Test_Map_PSK_Db::list_names
    - std::set::size
    - Test_Map_PSK_Db::get
    - Test_Map_PSK_Db::get_str
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_psk_db()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/tests/test_psk_db.cpp:148,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_psk_db.cpp:151,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:154,1
    - Dst: auto::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' result'
    - ' db'
    - ' table'
    - ' expected_name'
    - ' expected_value'
    argTypes:
    - Test::Result
    - Botan::SQL_Database
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: Botan_Tests::PSK_DB_Tests::test_entry
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - confirm
    - auto::get_str
    - test_eq
    linkageType: ''
    returnType: void
    signature: "void test_entry(Test::Result& result,\n                      Botan::SQL_Database&
      db,\n                      const std::string& table,\n                      const
      std::string& expected_name,\n                      const std::string& expected_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::PSK_DB_Tests::rng
      Src: /src/botan/src/tests/test_psk_db.cpp:162,1
    - Dst: std::make_shared<Botan::Sqlite3_Database>
      Src: /src/botan/src/tests/test_psk_db.cpp:165,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:168,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:170,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:171,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:171,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:173,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:174,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:175,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:175,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:177,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:178,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:179,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:179,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:181,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:182,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:183,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:183,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_vec
      Src: /src/botan/src/tests/test_psk_db.cpp:185,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:186,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:191,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get
      Src: /src/botan/src/tests/test_psk_db.cpp:191,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:194,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:195,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:197,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:197,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:204,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:205,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:205,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:206,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::list_names
      Src: /src/botan/src/tests/test_psk_db.cpp:206,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::list_names
      Src: /src/botan/src/tests/test_psk_db.cpp:208,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:210,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_psk_db.cpp:210,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:211,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:211,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:212,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:212,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:213,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:213,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::remove
      Src: /src/botan/src/tests/test_psk_db.cpp:215,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::list_names
      Src: /src/botan/src/tests/test_psk_db.cpp:217,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:219,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_psk_db.cpp:219,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:220,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:220,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:221,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:221,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_psk_db.cpp:223,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get
      Src: /src/botan/src/tests/test_psk_db.cpp:224,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::remove
      Src: /src/botan/src/tests/test_psk_db.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 230
    functionName: Botan_Tests::PSK_DB_Tests::test_psk_sql_db
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<Botan::Sqlite3_Database>
    - Botan::Encrypted_PSK_Database_SQL::get
    - Botan::Encrypted_PSK_Database_SQL::get_str
    - Botan_Tests::PSK_DB_Tests::rng
    - Botan::Encrypted_PSK_Database_SQL::list_names
    - Test::Result::test_eq
    - Botan::Encrypted_PSK_Database_SQL::set_str
    - Botan::Encrypted_PSK_Database_SQL::set_vec
    - Test::Result::test_throws
    - std::set::count
    - std::set::size
    - Botan::Encrypted_PSK_Database_SQL::remove
    - Botan_Tests::PSK_DB_Tests::test_entry
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_psk_sql_db()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: Botan_Tests::Diffie_Hellman_KAT_Tests::Diffie_Hellman_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Diffie_Hellman_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_Tests::Diffie_Hellman_KAT_Tests::default_kdf
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_kdf(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:30,1
    - Dst: get_opt_bn
      Src: /src/botan/src/tests/test_dh.cpp:31,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:32,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:33,1
    - Dst: Botan_CLI::Gen_DL_Group::Gen_DL_Group
      Src: /src/botan/src/tests/test_dh.cpp:37,1
    - Dst: Botan_CLI::Gen_DL_Group::Gen_DL_Group
      Src: /src/botan/src/tests/test_dh.cpp:39,1
    - Dst: std::make_unique<Botan::DH_PrivateKey>
      Src: /src/botan/src/tests/test_dh.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: Botan_Tests::Diffie_Hellman_KAT_Tests::load_our_key
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::DH_PrivateKey>
    - Botan_CLI::Gen_DL_Group::Gen_DL_Group
    - get_opt_bn
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_our_key(const std::string&
      /*header*/, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:47,1
    - Dst: get_opt_bn
      Src: /src/botan/src/tests/test_dh.cpp:48,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:49,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:50,1
    - Dst: Botan_CLI::Gen_DL_Group::Gen_DL_Group
      Src: /src/botan/src/tests/test_dh.cpp:54,1
    - Dst: Botan_CLI::Gen_DL_Group::Gen_DL_Group
      Src: /src/botan/src/tests/test_dh.cpp:56,1
    - Dst: Botan::DH_PublicKey::public_value
      Src: /src/botan/src/tests/test_dh.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: Botan_Tests::Diffie_Hellman_KAT_Tests::load_their_key
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Gen_DL_Group::Gen_DL_Group
    - Botan::DH_PublicKey::public_value
    - get_opt_bn
    - get_req_bn
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> load_their_key(const std::string& /*header*/,
      const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::DH_PrivateKey>
      Src: /src/botan/src/tests/test_dh.cpp:72,1
    - Dst: std::make_unique<Botan::PK_Key_Agreement>
      Src: /src/botan/src/tests/test_dh.cpp:74,1
    - Dst: Botan_Tests::Diffie_Hellman_KAT_Tests::rng
      Src: /src/botan/src/tests/test_dh.cpp:74,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dh.cpp:76,1
    - Dst: auto::derive_key
      Src: /src/botan/src/tests/test_dh.cpp:78,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_dh.cpp:78,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dh.cpp:81,1
    - Dst: auto::derive_key
      Src: /src/botan/src/tests/test_dh.cpp:83,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_dh.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 87
    functionName: Botan_Tests::Diffie_Hellman_KAT_Tests::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::left_encode
    - auto::derive_key
    - Test::Result::test_throws
    - std::make_unique<Botan::PK_Key_Agreement>
    - std::make_unique<Botan::DH_PrivateKey>
    - Botan_Tests::Diffie_Hellman_KAT_Tests::rng
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan_Tests::DH_Invalid_Key_Tests::DH_Invalid_Key_Tests
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DH_Invalid_Key_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan_Tests::DH_Invalid_Key_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:99,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:100,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:101,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:102,1
    - Dst: std::make_unique<Botan::DH_PublicKey>
      Src: /src/botan/src/tests/test_dh.cpp:106,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dh.cpp:107,1
    - Dst: auto::check_key
      Src: /src/botan/src/tests/test_dh.cpp:107,1
    - Dst: Botan_Tests::DH_Invalid_Key_Tests::rng
      Src: /src/botan/src/tests/test_dh.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: Botan_Tests::DH_Invalid_Key_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - auto::check_key
    - std::make_unique<Botan::DH_PublicKey>
    - Test::Result::test_eq
    - Botan_Tests::DH_Invalid_Key_Tests::rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan_Tests::Diffie_Hellman_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan_Tests::Diffie_Hellman_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::DH_PublicKey>
      Src: /src/botan/src/tests/test_dh.cpp:121,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_dh.cpp:121,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_dh.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_key_bits
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: Botan_Tests::Diffie_Hellman_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - std::make_unique<Botan::DH_PublicKey>
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /*provider*/,\n                                                             std::span<const
      uint8_t> raw_key_bits) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_gf2m.cpp:24,1
    - Dst: Botan_Tests::GF2m_Tests::test_gf_overflow
      Src: /src/botan/src/tests/test_gf2m.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: Botan_Tests::GF2m_Tests::run
    functionSourceFile: /src/botan/src/tests/test_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::GF2m_Tests::test_gf_overflow
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GF2m_Field::gf_ord
      Src: /src/botan/src/tests/test_gf2m.cpp:40,1
    - Dst: static_cast<Botan::gf2m>
      Src: /src/botan/src/tests/test_gf2m.cpp:41,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_gf2m.cpp:43,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_gf2m.cpp:44,1
    - Dst: Botan::GF2m_Field::gf_square
      Src: /src/botan/src/tests/test_gf2m.cpp:44,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_gf2m.cpp:45,1
    - Dst: Botan::GF2m_Field::gf_mul
      Src: /src/botan/src/tests/test_gf2m.cpp:45,1
    - Dst: Botan::GF2m_Field::gf_l_from_n
      Src: /src/botan/src/tests/test_gf2m.cpp:51,1
    - Dst: Botan::GF2m_Field::gf_square_rr
      Src: /src/botan/src/tests/test_gf2m.cpp:52,1
    - Dst: Botan::GF2m_Field::gf_mul_rrr
      Src: /src/botan/src/tests/test_gf2m.cpp:53,1
    - Dst: Botan::GF2m_Field::gf_mul_nrr
      Src: /src/botan/src/tests/test_gf2m.cpp:54,1
    - Dst: Botan::GF2m_Field::gf_ord
      Src: /src/botan/src/tests/test_gf2m.cpp:54,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_gf2m.cpp:56,1
    - Dst: Botan::GF2m_Field::gf_ord
      Src: /src/botan/src/tests/test_gf2m.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: Botan_Tests::GF2m_Tests::test_gf_overflow
    functionSourceFile: /src/botan/src/tests/test_gf2m.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - Test::Result::test_eq
    - Botan::GF2m_Field::gf_square
    - Botan::GF2m_Field::gf_mul_rrr
    - Botan::GF2m_Field::gf_ord
    - Botan::GF2m_Field::gf_mul_nrr
    - static_cast<Botan::gf2m>
    - Botan::GF2m_Field::gf_l_from_n
    - Botan::GF2m_Field::gf_mul
    - Test::Result::test_gte
    - Botan::GF2m_Field::gf_square_rr
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_gf_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: Botan_Tests::McEliece_Keygen_Encrypt_Test::McEliece_Keygen_Encrypt_Test
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void McEliece_Keygen_Encrypt_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mceliece.cpp:41,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mceliece.cpp:42,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mceliece.cpp:43,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mceliece.cpp:44,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mceliece.cpp:45,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mceliece.cpp:46,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:51,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_mceliece.cpp:53,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_mceliece.cpp:54,1
    - Dst: Botan::HMAC_DRBG::initialize_with
      Src: /src/botan/src/tests/test_mceliece.cpp:59,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mceliece.cpp:59,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mceliece.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:62,1
    - Dst: Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
      Src: /src/botan/src/tests/test_mceliece.cpp:62,1
    - Dst: Botan::McEliece_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/test_mceliece.cpp:62,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:63,1
    - Dst: Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
      Src: /src/botan/src/tests/test_mceliece.cpp:63,1
    - Dst: Botan::McEliece_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_mceliece.cpp:63,1
    - Dst: Botan::HMAC_DRBG::clear
      Src: /src/botan/src/tests/test_mceliece.cpp:65,1
    - Dst: Botan::HMAC_DRBG::initialize_with
      Src: /src/botan/src/tests/test_mceliece.cpp:66,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mceliece.cpp:66,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mceliece.cpp:66,1
    - Dst: Botan_Tests::McEliece_Keygen_Encrypt_Test::rng
      Src: /src/botan/src/tests/test_mceliece.cpp:70,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/tests/test_mceliece.cpp:72,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_mceliece.cpp:75,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_mceliece.cpp:75,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:77,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_mceliece.cpp:77,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:78,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_mceliece.cpp:78,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:79,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 84
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 84
    functionName: Botan_Tests::McEliece_Keygen_Encrypt_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::PK_KEM_Encryptor::encrypt
    - Test::Result::test_note
    - Botan::McEliece_PrivateKey::private_key_bits
    - Botan::PK_KEM_Decryptor::decrypt
    - Test::Result::test_eq
    - auto::encapsulated_shared_key
    - Botan_Tests::Test::run_long_tests
    - Test::Result::end_timer
    - Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
    - auto::shared_key
    - Botan::HMAC_DRBG::initialize_with
    - get_req_bin
    - Botan::McEliece_PrivateKey::public_key_bits
    - Botan_Tests::McEliece_Keygen_Encrypt_Test::rng
    - Botan::HMAC_DRBG::clear
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_mceliece.cpp:88,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mceliece.cpp:89,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_mceliece.cpp:90,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mceliece.cpp:91,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mceliece.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - auto::output_length
    - auto::update
    - Botan::HashFunction::create
    - auto::final
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> hash_bytes(const uint8_t b[], size_t len, const
      std::string& hash_fn = "SHA-256")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
      Src: /src/botan/src/tests/test_mceliece.cpp:97,1
    - Dst: data
      Src: /src/botan/src/tests/test_mceliece.cpp:97,1
    - Dst: size
      Src: /src/botan/src/tests/test_mceliece.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::vector<uint8_t, A>
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 2
    functionsReached:
    - data
    - Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
    - size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> hash_bytes(const std::vector<uint8_t, A>& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_mceliece.cpp:109,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_mceliece.cpp:111,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mceliece.cpp:114,1
    - Dst: private_key_bits
      Src: /src/botan/src/tests/test_mceliece.cpp:114,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_mceliece.cpp:115,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mceliece.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Botan::Private_Key
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: Botan_Tests::McEliece_Tests::fingerprint
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 0
    functionsReached:
    - private_key_bits
    - auto::update
    - Test_Error
    - Botan::HashFunction::create
    - auto::final
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string fingerprint(const Botan::Private_Key& key, const std::string&
      hash_algo = "SHA-256")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_mceliece.cpp:119,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_mceliece.cpp:121,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mceliece.cpp:124,1
    - Dst: public_key_bits
      Src: /src/botan/src/tests/test_mceliece.cpp:124,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_mceliece.cpp:125,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mceliece.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Botan::Public_Key
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: Botan_Tests::McEliece_Tests::fingerprint
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 0
    functionsReached:
    - public_key_bits
    - auto::update
    - Test_Error
    - Botan::HashFunction::create
    - auto::final
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string fingerprint(const Botan::Public_Key& key, const std::string&
      hash_algo = "SHA-256")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_mceliece.cpp:139,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:145,1
    - Dst: Botan_Tests::McEliece_Tests::rng
      Src: /src/botan/src/tests/test_mceliece.cpp:147,1
    - Dst: public_key_bits
      Src: /src/botan/src/tests/test_mceliece.cpp:150,1
    - Dst: Botan::McEliece_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_mceliece.cpp:151,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:156,1
    - Dst: Botan_Tests::McEliece_Tests::fingerprint
      Src: /src/botan/src/tests/test_mceliece.cpp:156,1
    - Dst: Botan_Tests::McEliece_Tests::fingerprint
      Src: /src/botan/src/tests/test_mceliece.cpp:156,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:157,1
    - Dst: Botan_Tests::McEliece_Tests::fingerprint
      Src: /src/botan/src/tests/test_mceliece.cpp:157,1
    - Dst: Botan_Tests::McEliece_Tests::fingerprint
      Src: /src/botan/src/tests/test_mceliece.cpp:157,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:158,1
    - Dst: Botan::McEliece_PrivateKey::check_key
      Src: /src/botan/src/tests/test_mceliece.cpp:158,1
    - Dst: Botan_Tests::McEliece_Tests::rng
      Src: /src/botan/src/tests/test_mceliece.cpp:158,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:159,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_mceliece.cpp:163,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_mceliece.cpp:166,1
    - Dst: Botan_Tests::McEliece_Tests::test_kem
      Src: /src/botan/src/tests/test_mceliece.cpp:166,1
    - Dst: Botan_Tests::McEliece_Tests::rng
      Src: /src/botan/src/tests/test_mceliece.cpp:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 172
    functionName: Botan_Tests::McEliece_Tests::run
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 0
    functionsReached:
    - public_key_bits
    - std::vector::push_back
    - Botan_Tests::McEliece_Tests::fingerprint
    - Botan::McEliece_PrivateKey::private_key_bits
    - Botan_Tests::McEliece_Tests::test_kem
    - Test::Result::test_eq
    - Botan_Tests::Test::run_long_tests
    - Botan::McEliece_PrivateKey::check_key
    - Test::Result::end_timer
    - Botan_Tests::McEliece_Tests::rng
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:179,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_mceliece.cpp:186,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/tests/test_mceliece.cpp:188,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_mceliece.cpp:190,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_mceliece.cpp:190,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:192,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_mceliece.cpp:192,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' sk'
    - ' pk'
    - ' rng'
    argTypes:
    - Botan::McEliece_PrivateKey
    - Botan::McEliece_PublicKey
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 196
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 196
    functionName: Botan_Tests::McEliece_Tests::test_kem
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 1
    functionsReached:
    - Botan::PK_KEM_Encryptor::encrypt
    - Botan::PK_KEM_Decryptor::decrypt
    - Test::Result::test_eq
    - random_vec
    - auto::shared_key
    - auto::encapsulated_shared_key
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_kem(const Botan::McEliece_PrivateKey& sk,\n                                   const
      Botan::McEliece_PublicKey& pk,\n                                   Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/botan/src/tests/test_thread_utils.cpp:28,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_thread_utils.cpp:28,1
    - Dst: Botan::Thread_Pool::run
      Src: /src/botan/src/tests/test_thread_utils.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_thread_utils.cpp:39,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_thread_utils.cpp:39,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_thread_utils.cpp:42,1
    - Dst: get
      Src: /src/botan/src/tests/test_thread_utils.cpp:45,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_thread_utils.cpp:46,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_thread_utils.cpp:48,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_thread_utils.cpp:51,1
    - Dst: get
      Src: /src/botan/src/tests/test_thread_utils.cpp:51,1
    - Dst: Botan::Thread_Pool::shutdown
      Src: /src/botan/src/tests/test_thread_utils.cpp:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 58
    functionName: Botan_Tests::thread_pool
    functionSourceFile: /src/botan/src/tests/test_thread_utils.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::vector::size
    - Test::Result::test_eq
    - std::this_thread::sleep_for
    - Botan::Thread_Pool::run
    - Botan::Thread_Pool::shutdown
    - Test::Result::test_failure
    - get
    - Botan_CLI::Timer::milliseconds
    - std::vector::push_back
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result thread_pool()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:47,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:47,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:49,1
    - Dst: reset
      Src: /src/botan/src/tests/tests.cpp:54,1
    - Dst: std::min
      Src: /src/botan/src/tests/tests.cpp:59,1
    - Dst: insert
      Src: /src/botan/src/tests/tests.cpp:62,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:62,1
    - Dst: m_fail_log::begin
      Src: /src/botan/src/tests/tests.cpp:62,1
    - Dst: m_fail_log::end
      Src: /src/botan/src/tests/tests.cpp:62,1
    - Dst: insert
      Src: /src/botan/src/tests/tests.cpp:63,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:63,1
    - Dst: m_log::begin
      Src: /src/botan/src/tests/tests.cpp:63,1
    - Dst: m_log::end
      Src: /src/botan/src/tests/tests.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' other'
    - ignore_test_name
    argTypes:
    - Result
    - bool
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: Test::Result::merge(const Result& other, bool ignore_test_name)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - m_fail_log::end
    - end
    - who
    - insert
    - m_log::end
    - reset
    - Test_Error
    - m_log::begin
    - m_fail_log::begin
    - std::min
    linkageType: ''
    returnType: void
    signature: void Test::Result::merge(const Result& other, bool ignore_test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::timestamp
      Src: /src/botan/src/tests/tests.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: Test::Result::start_timer()
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::timestamp
    linkageType: ''
    returnType: void
    signature: void Test::Result::start_timer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::timestamp
      Src: /src/botan/src/tests/tests.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: Test::Result::end_timer()
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::timestamp
    linkageType: ''
    returnType: void
    signature: void Test::Result::end_timer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:80,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:82,1
    - Dst: push_back
      Src: /src/botan/src/tests/tests.cpp:86,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' note'
    - extra
    argTypes:
    - std::string
    - char*
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: Test::Result::test_note(const std::string& note, const char* extra)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - who
    - empty
    - std::ostringstream::str
    - push_back
    linkageType: ''
    returnType: void
    signature: void Test::Result::test_note(const std::string& note, const char* extra)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::contains
      Src: /src/botan/src/tests/tests.cpp:93,1
    - Dst: test_note
      Src: /src/botan/src/tests/tests.cpp:94,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/tests.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' whatever'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: Test::Result::note_missing(const std::string& whatever)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - test_note
    - std::set::contains
    linkageType: ''
    returnType: void
    signature: void Test::Result::note_missing(const std::string& whatever)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_fn
      Src: /src/botan/src/tests/tests.cpp:103,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:105,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:109,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:109,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.cpp:111,1
    - Dst: value
      Src: /src/botan/src/tests/tests.cpp:111,1
    - Dst: typeid
      Src: /src/botan/src/tests/tests.cpp:111,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:112,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:112,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.cpp:114,1
    - Dst: value
      Src: /src/botan/src/tests/tests.cpp:114,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:114,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:115,1
    - Dst: value
      Src: /src/botan/src/tests/tests.cpp:116,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:116,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.cpp:119,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.cpp:119,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:120,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:124,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ' test_name'
    - ' result'
    argTypes:
    - std::string
    - Test::Result
    constantsTouched: []
    func_position:
      end: 125
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 125
    functionName: Test::Result::ThrowExpectations::check(const std::string& test_name,
      Test::Result& result)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - what
    - m_fn
    - test_success
    - test_failure
    - value
    - typeid
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::ThrowExpectations::check(const std::string& test_name,
      Test::Result& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ThrowExpectations
      Src: /src/botan/src/tests/tests.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' what'
    - ' fn'
    argTypes:
    - std::string
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Test::Result::test_throws(const std::string& what, const std::function<void()>&
      fn)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - ThrowExpectations
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_throws(const std::string& what, const std::function<void()>&
      fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ThrowExpectations
      Src: /src/botan/src/tests/tests.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - ' expected'
    - ' fn'
    argTypes:
    - std::string
    - std::string
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Test::Result::test_throws(const std::string& what, const std::string&
      expected, const std::function<void()>& fn)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - ThrowExpectations
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_throws(const std::string& what, const std::string&
      expected, const std::function<void()>& fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ThrowExpectations
      Src: /src/botan/src/tests/tests.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' what'
    - ' fn'
    argTypes:
    - std::string
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: Test::Result::test_no_throw(const std::string& what, const std::function<void()>&
      fn)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - ThrowExpectations
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_no_throw(const std::string& what, const std::function<void()>&
      fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/tests.cpp:140,1
    - Dst: test_note
      Src: /src/botan/src/tests/tests.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' note'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: Test::Result::test_success(const std::string& note)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_encoding_options
    - test_note
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_success(const std::string& note)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:148,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' what'
    - ' error'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Test::Result::test_failure(const std::string& what, const std::string&
      error)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - who
    - test_failure
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_failure(const std::string& what, const std::string&
      error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:152,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:152,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/tests.cpp:152,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - buf
    - buf_len
    argTypes:
    - std::string
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: Test::Result::test_failure(const std::string& what, const uint8_t
      buf[], size_t buf_len)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_encode
    - who
    - test_failure
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void Test::Result::test_failure(const std::string& what, const uint8_t
      buf[], size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/tests/tests.cpp:157,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/tests.cpp:159,1
    - Dst: std::abort
      Src: /src/botan/src/tests/tests.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' err'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: Test::Result::test_failure(const std::string& err)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::abort
    - Botan_Tests::test_encoding_options
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_failure(const std::string& err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memcmp
      Src: /src/botan/src/tests/tests.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Botan_Tests::same_contents
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::memcmp
    linkageType: ''
    returnType: bool
    signature: bool same_contents(const uint8_t x[], const uint8_t y[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: same_contents
      Src: /src/botan/src/tests/tests.cpp:178,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:179,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:179,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - ' what'
    - produced
    - produced_len
    - expected
    - expected_len
    argTypes:
    - std::string
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: "Test::Result::test_ne(const std::string& what,\n                           const
      uint8_t produced[],\n                           size_t produced_len,\n                           const
      uint8_t expected[],\n                           size_t expected_len)"
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - same_contents
    - test_success
    - test_failure
    - who
    linkageType: ''
    returnType: bool
    signature: "bool Test::Result::test_ne(const std::string& what,\n                           const
      uint8_t produced[],\n                           size_t produced_len,\n                           const
      uint8_t expected[],\n                           size_t expected_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: same_contents
      Src: /src/botan/src/tests/tests.cpp:190,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:191,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:196,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.cpp:211,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.cpp:216,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.cpp:217,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.cpp:220,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:223,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - producer
    - ' what'
    - produced
    - produced_size
    - expected
    - expected_size
    argTypes:
    - char*
    - std::string
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 224
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 224
    functionName: "Test::Result::test_eq(const char* producer,\n                           const
      std::string& what,\n                           const uint8_t produced[],\n                           size_t
      produced_size,\n                           const uint8_t expected[],\n                           size_t
      expected_size)"
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::ostringstream::str
    - who
    - test_success
    - test_failure
    - same_contents
    - Botan::hex_encode
    linkageType: ''
    returnType: bool
    signature: "bool Test::Result::test_eq(const char* producer,\n                           const
      std::string& what,\n                           const uint8_t produced[],\n                           size_t
      produced_size,\n                           const uint8_t expected[],\n                           size_t
      expected_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:227,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:228,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' what_is_it'
    - ' to_examine'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: Test::Result::test_is_nonempty(const std::string& what_is_it, const
      std::string& to_examine)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_success
    - empty
    - test_failure
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_is_nonempty(const std::string& what_is_it,
      const std::string& to_examine)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/tests.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - ' produced'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: Test::Result::test_eq(const std::string& what, const std::string&
      produced, const std::string& expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq(const std::string& what, const std::string&
      produced, const std::string& expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/tests.cpp:238,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.cpp:238,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: Test::Result::test_eq(const std::string& what, const char* produced,
      const char* expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq(const std::string& what, const char* produced,
      const char* expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/tests.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: Test::Result::test_eq(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/tests.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: Test::Result::test_eq_sz(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq_sz(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/botan/src/tests/tests.cpp:256,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:257,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:257,1
    - Dst: to_string
      Src: /src/botan/src/tests/tests.cpp:259,1
    - Dst: to_string
      Src: /src/botan/src/tests/tests.cpp:259,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:260,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' what'
    - ' produced'
    - ' expected'
    argTypes:
    - std::string
    - Botan::OctetString
    - Botan::OctetString
    constantsTouched: []
    func_position:
      end: 262
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionName: "Test::Result::test_eq(const std::string& what,\n                           const
      Botan::OctetString& produced,\n                           const Botan::OctetString&
      expected)"
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - to_string
    - test_success
    - std::ostringstream::str
    - test_failure
    linkageType: ''
    returnType: bool
    signature: "bool Test::Result::test_eq(const std::string& what,\n                           const
      Botan::OctetString& produced,\n                           const Botan::OctetString&
      expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:269,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:269,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: Test::Result::test_lt(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_success
    - std::ostringstream::str
    - test_failure
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_lt(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:279,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:279,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: Test::Result::test_lte(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_success
    - std::ostringstream::str
    - test_failure
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_lte(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:291,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:291,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: Test::Result::test_gte(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_success
    - std::ostringstream::str
    - test_failure
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_gte(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:303,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:303,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: Test::Result::test_gt(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_success
    - std::ostringstream::str
    - test_failure
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_gt(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:311,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:314,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' what'
    - ' str1'
    - ' str2'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: Test::Result::test_ne(const std::string& what, const std::string&
      str1, const std::string& str2)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - who
    - test_success
    - test_failure
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_ne(const std::string& what, const std::string&
      str1, const std::string& str2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:319,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:323,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:324,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: Test::Result::test_ne(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - who
    - test_success
    - std::ostringstream::str
    - test_failure
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_ne(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/tests.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - ' produced'
    - ' expected'
    argTypes:
    - std::string
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: Test::Result::test_eq(const std::string& what, const BigInt& produced,
      const BigInt& expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq(const std::string& what, const BigInt& produced,
      const BigInt& expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:334,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:338,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:339,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' what'
    - ' produced'
    - ' expected'
    argTypes:
    - std::string
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: Test::Result::test_ne(const std::string& what, const BigInt& produced,
      const BigInt& expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - who
    - test_success
    - std::ostringstream::str
    - test_failure
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_ne(const std::string& what, const BigInt& produced,
      const BigInt& expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:347,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:351,1
    - Dst: get_affine_x
      Src: /src/botan/src/tests/tests.cpp:351,1
    - Dst: get_affine_y
      Src: /src/botan/src/tests/tests.cpp:351,1
    - Dst: get_affine_x
      Src: /src/botan/src/tests/tests.cpp:352,1
    - Dst: get_affine_y
      Src: /src/botan/src/tests/tests.cpp:352,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:353,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' what'
    - ' a'
    - ' b'
    argTypes:
    - std::string
    - Botan::EC_Point
    - Botan::EC_Point
    constantsTouched: []
    func_position:
      end: 354
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 354
    functionName: Test::Result::test_eq(const std::string& what, const Botan::EC_Point&
      a, const Botan::EC_Point& b)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - get_affine_x
    - who
    - test_success
    - test_failure
    - get_affine_y
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq(const std::string& what, const Botan::EC_Point&
      a, const Botan::EC_Point& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/tests.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: Test::Result::test_eq(const std::string& what, bool produced, bool
      expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq(const std::string& what, bool produced,
      bool expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:363,1
    - Dst: Test::Result::test_rc_init(const std::test_note
      Src: /src/botan/src/tests/tests.cpp:377,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:377,1
    - Dst: Test::Result::test_rc_init(const std::test_failure
      Src: /src/botan/src/tests/tests.cpp:379,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ' func'
    - rc
    argTypes:
    - std::string
    - int
    constantsTouched: []
    func_position:
      end: 383
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 383
    functionName: Test::Result::test_rc_init(const std::string& func, int rc)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_rc_init(const std::test_failure
    - test_success
    - Test::Result::test_rc_init(const std::test_note
    - std::ostringstream::str
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_rc_init(const std::string& func, int rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:391,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:391,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' func'
    - expected
    - rc
    argTypes:
    - std::string
    - int
    - int
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: Test::Result::test_rc(const std::string& func, int expected, int
      rc)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_success
    - std::ostringstream::str
    - test_failure
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_rc(const std::string& func, int expected, int
      rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/tests.cpp:398,1
    - Dst: std::move
      Src: /src/botan/src/tests/tests.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - test_name
    - location
    argTypes:
    - std::string
    - CodeLocation
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: Botan_Tests::Test::initialize
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Test::initialize(std::string test_name, CodeLocation location)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/tests.cpp:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: '& Test::rng() const'
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::new_rng
    linkageType: ''
    returnType: Botan::RandomNumberGenerator
    signature: Botan::RandomNumberGenerator & Test::rng() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::provider_filter
      Src: /src/botan/src/tests/tests.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: Botan_Tests::Test::possible_providers
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::provider_filter
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Test::possible_providers(const std::string&
      /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/botan/src/tests/tests.cpp:419,1
    - Dst: std::setprecision
      Src: /src/botan/src/tests/tests.cpp:421,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ns
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: Botan_Tests::Test::format_time
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 1
    functionsReached:
    - std::setprecision
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Test::format_time(uint64_t ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/tests.cpp:427,1
    - Dst: merge
      Src: /src/botan/src/tests/tests.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - who
    - ' downstream_results'
    argTypes:
    - std::string
    - std::vector<Result>
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: Test::Result::Result(std::string who, const std::vector<Result>&
      downstream_results)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - merge
    linkageType: ''
    returnType: void
    signature: void Test::Result::Result(std::string who, const std::vector<Result>&
      downstream_results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tests_run
      Src: /src/botan/src/tests/tests.cpp:437,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:443,1
    - Dst: tests_run
      Src: /src/botan/src/tests/tests.cpp:445,1
    - Dst: tests_run
      Src: /src/botan/src/tests/tests.cpp:448,1
    - Dst: format_time
      Src: /src/botan/src/tests/tests.cpp:453,1
    - Dst: tests_failed
      Src: /src/botan/src/tests/tests.cpp:456,1
    - Dst: tests_failed
      Src: /src/botan/src/tests/tests.cpp:457,1
    - Dst: size
      Src: /src/botan/src/tests/tests.cpp:464,1
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:472,1
    - Dst: tests_run
      Src: /src/botan/src/tests/tests.cpp:472,1
    - Dst: size
      Src: /src/botan/src/tests/tests.cpp:473,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:478,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 479
    functionName: Test::Result::result_string() const
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - tests_run
    - format_time
    - tests_failed
    - who
    - empty
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Test::Result::result_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: '& instance()'
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test_Registry
    signature: Test_Registry & instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/tests/tests.cpp:495,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:496,1
    - Dst: contains
      Src: /src/botan/src/tests/tests.cpp:499,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:500,1
    - Dst: contains
      Src: /src/botan/src/tests/tests.cpp:503,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:504,1
    - Dst: push_back
      Src: /src/botan/src/tests/tests.cpp:508,1
    - Dst: push_back
      Src: /src/botan/src/tests/tests.cpp:512,1
    - Dst: emplace
      Src: /src/botan/src/tests/tests.cpp:515,1
    - Dst: std::move
      Src: /src/botan/src/tests/tests.cpp:515,1
    - Dst: emplace
      Src: /src/botan/src/tests/tests.cpp:516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - ' category'
    - ' name'
    - smoke_test
    - needs_serialization
    - maker_fn
    argTypes:
    - std::string
    - std::string
    - bool
    - bool
    - std::function<std::unique_ptr<Test>()>
    constantsTouched: []
    func_position:
      end: 517
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 517
    functionName: Botan_Tests::Test_Registry::register_test
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - contains
    - emplace
    - Test_Error
    - push_back
    linkageType: ''
    returnType: void
    signature: "void register_test(const std::string& category,\n                         const
      std::string& name,\n                         bool smoke_test,\n                         bool
      needs_serialization,\n                         std::function<std::unique_ptr<Test>()>
      maker_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:520,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:521,1
    - Dst: auto::second
      Src: /src/botan/src/tests/tests.cpp:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' test_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: Botan_Tests::Test_Registry::get_test
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - auto::second
    linkageType: ''
    returnType: std::unique_ptr<Test>
    signature: std::unique_ptr<Test> get_test(const std::string& test_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/botan/src/tests/tests.cpp:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 3
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: Botan_Tests::Test_Registry::registered_tests
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> registered_tests() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/botan/src/tests/tests.cpp:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: Botan_Tests::Test_Registry::registered_test_categories
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> registered_test_categories() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/tests.cpp:549,1
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:549,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:549,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:550,1
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:554,1
    - Dst: insert_if_not_exists_and_not_skipped
      Src: /src/botan/src/tests/tests.cpp:562,1
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:566,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:566,1
    - Dst: insert_if_not_exists_and_not_skipped
      Src: /src/botan/src/tests/tests.cpp:567,1
    - Dst: equal_range
      Src: /src/botan/src/tests/tests.cpp:568,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:568,1
    - Dst: insert_if_not_exists_and_not_skipped
      Src: /src/botan/src/tests/tests.cpp:570,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:573,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - ' requested'
    - ' to_be_skipped'
    argTypes:
    - std::vector<std::string>
    - std::set<std::string>
    constantsTouched: []
    func_position:
      end: 579
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 579
    functionName: Botan_Tests::Test_Registry::filter_registered_tests
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - insert_if_not_exists_and_not_skipped
    - equal_range
    - end
    - empty
    - Test_Error
    - find
    - Botan::value_exists
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> filter_registered_tests(const std::vector<std::string>&
      requested,\n                                                       const std::set<std::string>&
      to_be_skipped)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/tests.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' test_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 583
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 583
    functionName: Botan_Tests::Test_Registry::needs_serialization
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::value_exists
    linkageType: ''
    returnType: bool
    signature: bool needs_serialization(const std::string& test_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 586
    functionName: Botan_Tests::Test_Registry::Test_Registry
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Registry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:605,1
    - Dst: std::move
      Src: /src/botan/src/tests/tests.cpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' category'
    - ' name'
    - smoke_test
    - needs_serialization
    - maker_fn
    argTypes:
    - std::string
    - std::string
    - bool
    - bool
    - std::function<std::unique_ptr<Test>()>
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: Botan_Tests::Test::register_test
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 2
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Test::register_test(const std::string& category,\n                         const
      std::string& name,\n                         bool smoke_test,\n                         bool
      needs_serialization,\n                         std::function<std::unique_ptr<Test>()>
      maker_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/tests.cpp:610,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/botan/src/tests/tests.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: Botan_Tests::Test::timestamp
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 2
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Test::timestamp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/tests.cpp:619,1
    - Dst: std::move
      Src: /src/botan/src/tests/tests.cpp:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - result_lists
    argTypes:
    - std::vector<std::vector<Test::Result>>
    constantsTouched: []
    func_position:
      end: 623
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 623
    functionName: Botan_Tests::Test::flatten_result_lists
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Test::flatten_result_lists(std::vector<std::vector<Test::Result>>
      result_lists)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: Botan_Tests::Test::registered_tests
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> Test::registered_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 633
    functionName: Botan_Tests::Test::registered_test_categories
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> Test::registered_test_categories()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' test_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 638
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 638
    functionName: Botan_Tests::Test::get_test
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::unique_ptr<Test>
    signature: std::unique_ptr<Test> Test::get_test(const std::string& test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' test_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 643
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 643
    functionName: Botan_Tests::Test::test_needs_serialization
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: bool
    signature: bool Test::test_needs_serialization(const std::string& test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' requested'
    - ' to_be_skipped'
    argTypes:
    - std::vector<std::string>
    - std::set<std::string>
    constantsTouched: []
    func_position:
      end: 649
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 649
    functionName: Botan_Tests::Test::filter_registered_tests
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> Test::filter_registered_tests(const std::vector<std::string>&
      requested,\n                                                       const std::set<std::string>&
      to_be_skipped)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/tests.cpp:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' basename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 674
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 674
    functionName: Botan_Tests::Test::temp_file_name
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: std::string
    signature: std::string Test::temp_file_name(const std::string& basename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::copy_file
      Src: /src/botan/src/tests/tests.cpp:679,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/tests.cpp:683,1
    - Dst: Botan::No_Filesystem_Access::No_Filesystem_Access
      Src: /src/botan/src/tests/tests.cpp:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 686
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 686
    functionName: Botan_Tests::Test::copy_file
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - Botan_Tests::Test::copy_file
    - Botan::No_Filesystem_Access::No_Filesystem_Access
    linkageType: ''
    returnType: bool
    signature: bool Test::copy_file(const std::string& from, const std::string& to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/tests.cpp:689,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/tests.cpp:690,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/tests.cpp:691,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:692,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.cpp:695,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/botan/src/tests/tests.cpp:695,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/botan/src/tests/tests.cpp:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 696
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 696
    functionName: Botan_Tests::Test::read_data_file
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 1
    functionsReached:
    - std::istreambuf_iterator<char>
    - std::string::c_str
    - Botan_Tests::Test::data_file
    - std::string
    - Test_Error
    - std::ifstream::good
    linkageType: ''
    returnType: std::string
    signature: std::string Test::read_data_file(const std::string& path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/tests.cpp:699,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/tests.cpp:700,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/tests.cpp:701,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:702,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/tests.cpp:707,1
    - Dst: std::ifstream::read
      Src: /src/botan/src/tests/tests.cpp:709,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/tests/tests.cpp:709,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/tests.cpp:709,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.cpp:709,1
    - Dst: std::ifstream::eof
      Src: /src/botan/src/tests/tests.cpp:712,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/tests.cpp:716,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/tests.cpp:716,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/tests.cpp:716,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/tests.cpp:716,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 720
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 720
    functionName: Botan_Tests::Test::read_binary_data_file
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 5
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::string::c_str
    - Botan_Tests::Test::data_file
    - std::vector::insert
    - std::ifstream::read
    - std::ifstream::eof
    - reinterpret_cast<char*>
    - Test_Error
    - std::ifstream::good
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Test::read_binary_data_file(const std::string&
      path)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' opts'
    argTypes:
    - Test_Options
    constantsTouched: []
    func_position:
      end: 732
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 732
    functionName: Botan_Tests::Test::set_test_options
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test::set_test_options(const Test_Options& opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 742
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 742
    functionName: Botan_Tests::Testsuite_RNG::name
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 744
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 744
    functionName: Botan_Tests::Testsuite_RNG::clear
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 746
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 746
    functionName: Botan_Tests::Testsuite_RNG::accepts_input
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 748
    functionName: Botan_Tests::Testsuite_RNG::is_seeded
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Testsuite_RNG::mix
      Src: /src/botan/src/tests/tests.cpp:752,1
    - Dst: Botan_Tests::Testsuite_RNG::mix
      Src: /src/botan/src/tests/tests.cpp:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 758
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 758
    functionName: Botan_Tests::Testsuite_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Testsuite_RNG::mix
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Testsuite_RNG::mix
      Src: /src/botan/src/tests/tests.cpp:764,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/tests.cpp:764,1
    - Dst: Botan_Tests::Testsuite_RNG::mix
      Src: /src/botan/src/tests/tests.cpp:767,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/tests.cpp:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - seed
    - test_name
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 769
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 769
    functionName: Botan_Tests::Testsuite_RNG::Testsuite_RNG
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - Botan_Tests::Testsuite_RNG::mix
    linkageType: ''
    returnType: void
    signature: void Testsuite_RNG(std::string_view seed, std::string_view test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/tests.cpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 777
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 777
    functionName: Botan_Tests::Testsuite_RNG::mix
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t mix(uint8_t input = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/tests.cpp:786,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - epoch
    argTypes:
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 787
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 787
    functionName: Botan_Tests::Test::set_test_rng_seed
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void Test::set_test_rng_seed(std::span<const uint8_t> seed, size_t
      epoch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Testsuite_RNG>
      Src: /src/botan/src/tests/tests.cpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - test_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 792
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 792
    functionName: Botan_Tests::Test::new_rng
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 24
    functionsReached:
    - std::make_unique<Testsuite_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> Test::new_rng(std::string_view
      test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Testsuite_RNG>
      Src: /src/botan/src/tests/tests.cpp:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - test_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 797
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 797
    functionName: Botan_Tests::Test::new_shared_rng
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 8
    functionsReached:
    - std::make_shared<Testsuite_RNG>
    linkageType: ''
    returnType: std::shared_ptr<Botan::RandomNumberGenerator>
    signature: std::shared_ptr<Botan::RandomNumberGenerator> Test::new_shared_rng(std::string_view
      test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: options
      Src: /src/botan/src/tests/tests.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 802
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 802
    functionName: Botan_Tests::Test::data_file
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 42
    functionsReached:
    - options
    linkageType: ''
    returnType: std::string
    signature: std::string Test::data_file(const std::string& file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: options
      Src: /src/botan/src/tests/tests.cpp:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' subdir'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 807
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 807
    functionName: Botan_Tests::Test::data_dir
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - options
    linkageType: ''
    returnType: std::string
    signature: std::string Test::data_dir(const std::string& subdir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_files_recursive
      Src: /src/botan/src/tests/tests.cpp:811,1
    - Dst: options
      Src: /src/botan/src/tests/tests.cpp:811,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/tests.cpp:812,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' subdir'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 816
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 816
    functionName: Botan_Tests::Test::files_in_data_dir
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 4
    functionsReached:
    - Botan::get_files_recursive
    - options
    - Test_Error
    - auto::empty
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Test::files_in_data_dir(const std::string&
      subdir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::replace
      Src: /src/botan/src/tests/tests.cpp:821,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/tests.cpp:821,1
    - Dst: auto::end
      Src: /src/botan/src/tests/tests.cpp:821,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/tests.cpp:822,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/tests.cpp:823,1
    - Dst: Botan_Tests::Test::copy_file
      Src: /src/botan/src/tests/tests.cpp:826,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/tests.cpp:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 830
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 830
    functionName: Botan_Tests::Test::data_file_as_temporary_copy
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 1
    functionsReached:
    - auto::begin
    - Botan_Tests::Test::data_file
    - auto::empty
    - auto::end
    - Botan_Tests::Test::temp_file_name
    - Botan_Tests::Test::copy_file
    - std::replace
    linkageType: ''
    returnType: std::string
    signature: std::string Test::data_file_as_temporary_copy(const std::string& what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider
      Src: /src/botan/src/tests/tests.cpp:834,1
    - Dst: provider
      Src: /src/botan/src/tests/tests.cpp:838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 843
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 843
    functionName: Botan_Tests::Test::provider_filter
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 4
    functionsReached:
    - provider
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Test::provider_filter(const std::vector<std::string>&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.cpp:847,1
    - Dst: random_vec
      Src: /src/botan/src/tests/tests.cpp:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: Botan_Tests::Test::random_password
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 1
    functionsReached:
    - Botan::hex_encode
    - random_vec
    linkageType: ''
    returnType: std::string
    signature: std::string Test::random_password(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/tests.cpp:851,1
    - Dst: random_array
      Src: /src/botan/src/tests/tests.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - max
    argTypes:
    - Botan::RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 852
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 852
    functionName: Botan_Tests::Test::random_index
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - random_array
    - Botan::load_be
    linkageType: ''
    returnType: size_t
    signature: size_t Test::random_index(Botan::RandomNumberGenerator& rng, size_t
      max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:855,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:856,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:857,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/tests.cpp:862,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:864,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/tests.cpp:864,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:868,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:869,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 874
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 874
    functionName: Botan_Tests::VarMap::get_req_bin_list
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - what
    - end
    - Botan::split_on
    - Botan::hex_decode
    - Test_Error
    - find
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: std::vector<std::vector<uint8_t>> VarMap::get_req_bin_list(const std::string&
      key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:877,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:878,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:879,1
    - Dst: auto::second::starts_with
      Src: /src/botan/src/tests/tests.cpp:883,1
    - Dst: auto::second::size
      Src: /src/botan/src/tests/tests.cpp:884,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/tests.cpp:885,1
    - Dst: auto::second::substr
      Src: /src/botan/src/tests/tests.cpp:885,1
    - Dst: std::swap
      Src: /src/botan/src/tests/tests.cpp:888,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/tests.cpp:889,1
    - Dst: std::string::substr
      Src: /src/botan/src/tests/tests.cpp:889,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/tests.cpp:892,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:897,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:898,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 900
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 900
    functionName: Botan_Tests::VarMap::get_req_bin
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - what
    - end
    - auto::second::size
    - std::swap
    - auto::second::starts_with
    - auto::second::substr
    - Botan::hex_decode
    - Test_Error
    - find
    - std::string::substr
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> VarMap::get_req_bin(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:903,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' def_value'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 908
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 908
    functionName: Botan_Tests::VarMap::get_opt_str
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string VarMap::get_opt_str(const std::string& key, const std::string&
      def_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:911,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:912,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:913,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 923
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 923
    functionName: Botan_Tests::VarMap::get_req_bool
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - Test_Error
    linkageType: ''
    returnType: bool
    signature: bool VarMap::get_req_bool(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:926,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:927,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:928,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/tests/tests.cpp:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 2
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: Botan_Tests::VarMap::get_req_sz
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - Botan::to_u32bit
    - Test_Error
    linkageType: ''
    returnType: size_t
    signature: size_t VarMap::get_req_sz(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:936,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/tests.cpp:936,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/tests.cpp:938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: Botan_Tests::VarMap::get_req_u8
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - Test_Error
    - std::to_string
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VarMap::get_req_u8(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/tests.cpp:942,1
    - Dst: Botan_Tests::VarMap::get_req_sz
      Src: /src/botan/src/tests/tests.cpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 943
      start: 941
    functionDepth: 3
    functionLinenumber: 941
    functionLinenumberEnd: 943
    functionName: Botan_Tests::VarMap::get_req_u32
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::VarMap::get_req_sz
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t VarMap::get_req_u32(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:946,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:947,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:948,1
    - Dst: std::stoull
      Src: /src/botan/src/tests/tests.cpp:951,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 955
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 955
    functionName: Botan_Tests::VarMap::get_req_u64
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - Test_Error
    - std::stoull
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VarMap::get_req_u64(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:958,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:959,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/tests/tests.cpp:962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - def_value
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 963
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 963
    functionName: Botan_Tests::VarMap::get_opt_sz
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - Botan::to_u32bit
    linkageType: ''
    returnType: size_t
    signature: size_t VarMap::get_opt_sz(const std::string& key, const size_t def_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:966,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:967,1
    - Dst: std::stoull
      Src: /src/botan/src/tests/tests.cpp:971,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - def_value
    argTypes:
    - std::string
    - uint64_t
    constantsTouched: []
    func_position:
      end: 975
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 975
    functionName: Botan_Tests::VarMap::get_opt_u64
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - Test_Error
    - std::stoull
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VarMap::get_opt_u64(const std::string& key, const uint64_t
      def_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:978,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:979,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/tests.cpp:980,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/tests.cpp:984,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 988
      start: 977
    functionDepth: 2
    functionLinenumber: 977
    functionLinenumberEnd: 988
    functionName: Botan_Tests::VarMap::get_opt_bin
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<uint8_t>
    - Botan::hex_decode
    - Test_Error
    - find
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> VarMap::get_opt_bin(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:991,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:992,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 996
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 996
    functionName: Botan_Tests::VarMap::get_req_str
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - Test_Error
    linkageType: ''
    returnType: std::string
    signature: std::string VarMap::get_req_str(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:1000,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:1001,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1002,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/tests.cpp:1006,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1010
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1010
    functionName: Botan_Tests::VarMap::get_req_bn
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - Test_Error
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt VarMap::get_req_bn(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:1015,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:1016,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/tests.cpp:1021,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - ' def_value'
    argTypes:
    - std::string
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 1025
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1025
    functionName: Botan_Tests::VarMap::get_opt_bn
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - Test_Error
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt VarMap::get_opt_bn(const std::string& key, const Botan::BigInt&
      def_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:1032,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1033,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/tests.cpp:1036,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/tests.cpp:1037,1
    - Dst: insert
      Src: /src/botan/src/tests/tests.cpp:1039,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/tests.cpp:1039,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/tests.cpp:1039,1
    - Dst: insert
      Src: /src/botan/src/tests/tests.cpp:1040,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/tests.cpp:1040,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/tests.cpp:1040,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/tests.cpp:1041,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.cpp:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' data_src'
    - ' required_keys_str'
    - ' optional_keys_str'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 1042
      start: 1028
    functionDepth: 3
    functionLinenumber: 1028
    functionLinenumberEnd: 1042
    functionName: Botan_Tests::Text_Based_Test::Text_Based_Test
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::at
    - empty
    - Botan::split_on
    - insert
    - Test_Error
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: "void Text_Based_Test::Text_Based_Test(const std::string& data_src,\n
      \                                const std::string& required_keys_str,\n                                 const
      std::string& optional_keys_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/tests/tests.cpp:1046,1
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:1047,1
    - Dst: ends_with
      Src: /src/botan/src/tests/tests.cpp:1049,1
    - Dst: push_back
      Src: /src/botan/src/tests/tests.cpp:1050,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/tests.cpp:1050,1
    - Dst: Botan_Tests::Test::files_in_data_dir
      Src: /src/botan/src/tests/tests.cpp:1052,1
    - Dst: assign
      Src: /src/botan/src/tests/tests.cpp:1053,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/tests.cpp:1053,1
    - Dst: auto::end
      Src: /src/botan/src/tests/tests.cpp:1053,1
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:1054,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1055,1
    - Dst: std::make_unique<std::ifstream>
      Src: /src/botan/src/tests/tests.cpp:1065,1
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:1070,1
    - Dst: clear
      Src: /src/botan/src/tests/tests.cpp:1071,1
    - Dst: Botan::CPUID::initialize
      Src: /src/botan/src/tests/tests.cpp:1072,1
    - Dst: good
      Src: /src/botan/src/tests/tests.cpp:1076,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1077,1
    - Dst: pop_front
      Src: /src/botan/src/tests/tests.cpp:1080,1
    - Dst: good
      Src: /src/botan/src/tests/tests.cpp:1083,1
    - Dst: std::getline
      Src: /src/botan/src/tests/tests.cpp:1085,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/tests.cpp:1087,1
    - Dst: std::string::starts_with
      Src: /src/botan/src/tests/tests.cpp:1092,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1102
    functionName: Botan_Tests::Text_Based_Test::get_next_line
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::getline
    - clear
    - std::make_unique<std::ifstream>
    - good
    - Botan_Tests::Test::data_file
    - std::string::starts_with
    - empty
    - Botan::CPUID::initialize
    - auto::end
    - Test_Error
    - Botan_Tests::Test::files_in_data_dir
    - pop_front
    - ends_with
    - std::string::empty
    - assign
    - push_back
    linkageType: ''
    returnType: std::string
    signature: std::string Text_Based_Test::get_next_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/botan/src/tests/tests.cpp:1110,1
    - Dst: find_last_not_of
      Src: /src/botan/src/tests/tests.cpp:1115,1
    - Dst: substr
      Src: /src/botan/src/tests/tests.cpp:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1118
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1118
    functionName: Botan_Tests::strip_ws
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - find_last_not_of
    - find_first_not_of
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string strip_ws(const std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/tests.cpp:1124,1
    - Dst: Botan::CPUID::bit_from_string
      Src: /src/botan/src/tests/tests.cpp:1125,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1126,1
    - Dst: auto::to_string
      Src: /src/botan/src/tests/tests.cpp:1126,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/tests.cpp:1130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' tok'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 1134
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1134
    functionName: Botan_Tests::parse_cpuid_bits
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::CPUID::bit_from_string
    - size
    - auto::to_string
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> parse_cpuid_bits(const std::vector<std::string>&
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1140
    functionName: Botan_Tests::Text_Based_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Text_Based_Test::skip_this_test(const std::string& /*header*/,
      const VarMap& /*vars*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Text_Based_Test::get_next_line
      Src: /src/botan/src/tests/tests.cpp:1150,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/tests.cpp:1151,1
    - Dst: std::string::starts_with
      Src: /src/botan/src/tests/tests.cpp:1156,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/tests.cpp:1157,1
    - Dst: std::string::substr
      Src: /src/botan/src/tests/tests.cpp:1157,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/tests.cpp:1159,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1160,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1164,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:1167,1
    - Dst: Botan_Tests::Text_Based_Test::test_name
      Src: /src/botan/src/tests/tests.cpp:1167,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1168,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/tests.cpp:1168,1
    - Dst: Botan_Tests::Text_Based_Test::test_name
      Src: /src/botan/src/tests/tests.cpp:1168,1
    - Dst: parse_cpuid_bits
      Src: /src/botan/src/tests/tests.cpp:1171,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1175,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/tests.cpp:1178,1
    - Dst: std::string::substr
      Src: /src/botan/src/tests/tests.cpp:1179,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/tests.cpp:1179,1
    - Dst: VarMap::clear
      Src: /src/botan/src/tests/tests.cpp:1182,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/tests.cpp:1186,1
    - Dst: std::string::find_first_of
      Src: /src/botan/src/tests/tests.cpp:1188,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1191,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/tests.cpp:1191,1
    - Dst: strip_ws
      Src: /src/botan/src/tests/tests.cpp:1195,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.cpp:1195,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/tests.cpp:1195,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/tests.cpp:1195,1
    - Dst: strip_ws
      Src: /src/botan/src/tests/tests.cpp:1196,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.cpp:1196,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/tests.cpp:1196,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/tests.cpp:1196,1
    - Dst: contains
      Src: /src/botan/src/tests/tests.cpp:1198,1
    - Dst: contains
      Src: /src/botan/src/tests/tests.cpp:1198,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/tests.cpp:1199,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/tests.cpp:1199,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1200,1
    - Dst: VarMap::add
      Src: /src/botan/src/tests/tests.cpp:1203,1
    - Dst: VarMap::has_key
      Src: /src/botan/src/tests/tests.cpp:1208,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/tests.cpp:1210,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/tests.cpp:1210,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1211,1
    - Dst: Botan_Tests::Text_Based_Test::skip_this_test
      Src: /src/botan/src/tests/tests.cpp:1215,1
    - Dst: run_one_test
      Src: /src/botan/src/tests/tests.cpp:1223,1
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:1225,1
    - Dst: Botan::CPUFeature::from_string
      Src: /src/botan/src/tests/tests.cpp:1227,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/tests/tests.cpp:1228,1
    - Dst: Botan::CPUID::clear_cpuid_bit
      Src: /src/botan/src/tests/tests.cpp:1229,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/tests.cpp:1231,1
    - Dst: run_one_test
      Src: /src/botan/src/tests/tests.cpp:1231,1
    - Dst: Botan::CPUID::initialize
      Src: /src/botan/src/tests/tests.cpp:1235,1
    - Dst: Test::Result::set_ns_consumed
      Src: /src/botan/src/tests/tests.cpp:1238,1
    - Dst: Botan_Tests::Test::timestamp
      Src: /src/botan/src/tests/tests.cpp:1238,1
    - Dst: Test::Result::tests_failed
      Src: /src/botan/src/tests/tests.cpp:1240,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/tests.cpp:1243,1
    - Dst: VarMap::get_req_str
      Src: /src/botan/src/tests/tests.cpp:1249,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/tests.cpp:1252,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:1252,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1254,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/tests.cpp:1258,1
    - Dst: VarMap::get_req_str
      Src: /src/botan/src/tests/tests.cpp:1263,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:1266,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1268,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/tests.cpp:1268,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:1268,1
    - Dst: Botan_Tests::Text_Based_Test::clear_between_callbacks
      Src: /src/botan/src/tests/tests.cpp:1271,1
    - Dst: VarMap::clear
      Src: /src/botan/src/tests/tests.cpp:1272,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/tests.cpp:1277,1
    - Dst: Botan_Tests::Text_Based_Test::run_final_tests
      Src: /src/botan/src/tests/tests.cpp:1282,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/tests.cpp:1283,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/tests.cpp:1283,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/tests.cpp:1283,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/tests.cpp:1283,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1285,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/tests.cpp:1285,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.cpp:1285,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:1285,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1142
    functionDepth: 3
    functionLinenumber: 1142
    functionLinenumberEnd: 1291
    functionName: Botan_Tests::Text_Based_Test::run
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - run_one_test
    - Botan::CPUFeature::from_string
    - std::to_string
    - Botan_Tests::Test::timestamp
    - VarMap::get_req_str
    - std::ostringstream::str
    - what
    - empty
    - std::string
    - Test_Error
    - Botan_Tests::Text_Based_Test::test_name
    - std::string::find_first_of
    - Test::Result::merge
    - std::string::begin
    - Botan::CPUID::initialize
    - Test::Result::tests_failed
    - std::string::end
    - VarMap::has_key
    - Botan_Tests::Text_Based_Test::get_next_line
    - std::string::empty
    - Botan::CPUID::clear_cpuid_bit
    - std::vector::begin
    - std::string::substr
    - contains
    - Test::Result::test_note
    - std::vector::insert
    - Botan::split_on
    - Botan_Tests::Text_Based_Test::clear_between_callbacks
    - VarMap::add
    - std::string::size
    - strip_ws
    - parse_cpuid_bits
    - std::vector::push_back
    - Test::Result::set_ns_consumed
    - Botan_Tests::Text_Based_Test::run_final_tests
    - std::vector::empty
    - std::vector::end
    - std::string::starts_with
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - Botan_Tests::Test::Result::Failure
    - VarMap::clear
    - Botan_Tests::Text_Based_Test::skip_this_test
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Text_Based_Test::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:1297,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1300,1
    - Dst: std::map::insert_or_assign
      Src: /src/botan/src/tests/tests.cpp:1303,1
    - Dst: substr
      Src: /src/botan/src/tests/tests.cpp:1303,1
    - Dst: substr
      Src: /src/botan/src/tests/tests.cpp:1303,1
    - Dst: size
      Src: /src/botan/src/tests/tests.cpp:1303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1293
    functionDepth: 2
    functionLinenumber: 1293
    functionLinenumberEnd: 1307
    functionName: Botan_Tests::Test_Options::report_properties
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::map::insert_or_assign
    - Test_Error
    - substr
    - size
    - find
    linkageType: ''
    returnType: std::map<std::string, std::string>
    signature: std::map<std::string, std::string> Test_Options::report_properties()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:28,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:28,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:32,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:32,1
    - Dst: std::make_pair
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:35,1
    - Dst: Botan::Sphincs_Address
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:35,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - address_buffer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: Botan_Tests::SPHINCS_Plus_WOTS_Test::read_address_and_leaf_idx
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_wots.cpp
    functionUses: 0
    functionsReached:
    - Botan::TreeNodeIndex
    - Botan::Sphincs_Address
    - Botan::load_be<uint32_t>
    - std::span<const uint8_t>::size
    - std::make_pair
    - std::span<const uint8_t>::data
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::pair<Botan::Sphincs_Address, Botan::TreeNodeIndex>
    signature: "std::pair<Botan::Sphincs_Address, Botan::TreeNodeIndex> read_address_and_leaf_idx(\n
      \        std::span<const uint8_t> address_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan_Tests::SPHINCS_Plus_WOTS_Test::SPHINCS_Plus_WOTS_Test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_wots.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SPHINCS_Plus_WOTS_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:44,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:44,1
    - Dst: auto::is_available
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: Botan_Tests::SPHINCS_Plus_WOTS_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_wots.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - auto::is_available
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:51,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:51,1
    - Dst: Botan::SphincsSecretSeed
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:54,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:54,1
    - Dst: Botan::SphincsPublicSeed
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:55,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:55,1
    - Dst: Botan::SphincsTreeNode
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:56,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:56,1
    - Dst: Botan::SphincsTreeNode
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:57,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:57,1
    - Dst: Botan::WotsSignature
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:58,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:58,1
    - Dst: Botan::Sphincs_Hash_Functions::create
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:60,1
    - Dst: auto::hash_type
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:66,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:72,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:75,1
    - Dst: Botan::Sphincs_Address::as_subtree_from
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:80,1
    - Dst: Botan::Sphincs_Address::as_subtree_from
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:81,1
    - Dst: Botan::Sphincs_Address::as_subtree_from
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:85,1
    - Dst: auto::set_keypair_address
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:87,1
    - Dst: Botan::chain_lengths
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:90,1
    - Dst: auto::n
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:93,1
    - Dst: auto::wots_len
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:93,1
    - Dst: auto::n
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:94,1
    - Dst: wots_sign_and_pkgen
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:95,1
    - Dst: Botan::StrongSpan<Botan::WotsSignature>
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:95,1
    - Dst: Botan::StrongSpan<Botan::SphincsTreeNode>
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:96,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:106,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:106,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:106,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:107,1
    - Dst: Botan::wots_public_key_from_signature
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:111,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:114,1
    - Dst: auto::T
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 119
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 119
    functionName: Botan_Tests::SPHINCS_Plus_WOTS_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_wots.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::Sphincs_Parameters::create
    - Botan::StrongSpan<Botan::WotsSignature>
    - Botan::HashFunction::create
    - auto::hash_type
    - auto::set_keypair_address
    - Botan::SphincsPublicSeed
    - Botan::WotsSignature
    - Botan::Sphincs_Hash_Functions::create
    - auto::process
    - auto::wots_len
    - Test::Result::test_note
    - auto::T
    - Test::Result::test_is_eq
    - get_req_bin
    - auto::n
    - Botan::wots_public_key_from_signature
    - Botan::StrongSpan<Botan::SphincsTreeNode>
    - auto::get
    - wots_sign_and_pkgen
    - Botan::SphincsSecretSeed
    - Botan::SphincsTreeNode
    - Botan::chain_lengths
    - Botan::Sphincs_Address::as_subtree_from
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: require
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:28,1
    - Dst: has_value
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:28,1
    - Dst: std::holds_alternative<T>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:29,1
    - Dst: value
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' test_result'
    - ' read_result'
    argTypes:
    - Test::Result
    - std::optional<Handshake_Message_13>
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: Botan_Tests::has_message
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - require
    - value
    - std::holds_alternative<T>
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_message(Test::Result& test_result, const std::optional<Handshake_Message_13>&
      read_result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: require
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:35,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:35,1
    - Dst: std::get<T>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:36,1
    - Dst: value
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' test_result'
    - ' read_result'
    argTypes:
    - Test::Result
    - std::optional<Handshake_Message_13>
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Botan_Tests::get_message
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - require
    - value
    - std::get<T>
    - Botan_Tests::has_message
    linkageType: ''
    returnType: Handshake_Message_13
    signature: "Handshake_Message_13 & get_message(Test::Result& test_result,\n                                        const
      std::optional<Handshake_Message_13>& read_result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:144,1
    - Dst: current
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' transcript_hash'
    argTypes:
    - Test::Result
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Botan_Tests::check_transcript_hash_empty
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - test_throws
    - current
    linkageType: ''
    returnType: void
    signature: void check_transcript_hash_empty(Test::Result& result, const Transcript_Hash_State&
      transcript_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:148,1
    - Dst: current
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' transcript_hash'
    argTypes:
    - Test::Result
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan_Tests::check_transcript_hash_filled
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - test_no_throw
    - current
    linkageType: ''
    returnType: void
    signature: void check_transcript_hash_filled(Test::Result& result, const Transcript_Hash_State&
      transcript_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:153,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:157,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:157,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:157,1
    - Dst: Botan_Tests::check_transcript_hash_empty
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:158,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:161,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:165,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:166,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:166,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:166,1
    - Dst: Botan_Tests::check_transcript_hash_empty
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:167,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:170,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:174,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:175,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:175,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:175,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:175,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:176,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:179,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:183,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:184,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:184,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:184,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:184,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:185,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:188,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:192,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:193,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:194,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:194,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:194,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:195,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:198,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:203,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:204,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:205,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:206,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:206,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:206,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:207,1
    - Dst: Handshake_Layer::has_pending_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:207,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:209,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:210,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:211,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:212,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:212,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:212,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:212,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:214,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:217,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:221,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:221,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:222,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:222,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:222,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:222,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:223,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:224,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:224,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:224,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:225,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:228,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:234,1
    - Dst: template test_throws<TLS_Exception>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:235,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:237,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:237,1
    - Dst: Botan_Tests::check_transcript_hash_empty
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:239,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:243,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:250,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:255,1
    - Dst: template test_throws<TLS_Exception>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:256,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:257,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 260
    functionName: Botan_Tests::read_handshake_messages
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat
    - Botan_Tests::check_transcript_hash_filled
    - Botan::hex_decode_locked
    - cend
    - Botan_Tests::has_message
    - Botan_Tests::CHECK
    - Handshake_Layer::has_pending_data
    - template test_throws<TLS_Exception>
    - cbegin
    - Policy
    - Botan_Tests::check_transcript_hash_empty
    - Handshake_Layer::next_message
    - confirm
    - Handshake_Layer::copy_data
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> read_handshake_messages()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:264,1
    - Dst: std::get<Client_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:266,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:267,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:267,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:267,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:270,1
    - Dst: Handshake_Layer::prepare_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:270,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:271,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:274,1
    - Dst: std::get<Server_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:276,1
    - Dst: Botan::TLS::Server_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:277,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:277,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:277,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:280,1
    - Dst: Handshake_Layer::prepare_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:280,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: Botan_Tests::prepare_message
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check_transcript_hash_filled
    - Botan::TLS::Client_Hello_13::parse
    - cend
    - Botan_Tests::CHECK
    - std::get<Server_Hello_13>
    - cbegin
    - test_eq
    - Handshake_Layer::prepare_message
    - Botan::TLS::Server_Hello_13::parse
    - std::get<Client_Hello_13>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> prepare_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:293,1
    - Dst: std::get<Client_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:295,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:296,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:296,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:296,1
    - Dst: Handshake_Layer::prepare_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:297,1
    - Dst: Botan_Tests::check_transcript_hash_empty
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:298,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:301,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:303,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:305,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:306,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:306,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:309,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:311,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:313,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:316,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:317,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:320,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:322,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:324,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:325,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:325,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:327,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:328,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:328,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:330,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:333,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:334,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:334,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:335,1
    - Dst: Transcript_Hash_State::previous
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:335,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:337,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:340,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:341,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:341,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:342,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:342,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:345,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:347,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:350,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:350,1
    - Dst: Handshake_Layer::prepare_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:351,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:352,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 355
    functionName: Botan_Tests::full_client_handshake
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Transcript_Hash_State::set_algorithm
    - Botan_Tests::check_transcript_hash_filled
    - Transcript_Hash_State::current
    - Botan::TLS::Client_Hello_13::parse
    - cend
    - Botan_Tests::has_message
    - Botan_Tests::CHECK
    - Transcript_Hash_State::previous
    - cbegin
    - test_eq
    - confirm
    - Handshake_Layer::prepare_message
    - Botan_Tests::check_transcript_hash_empty
    - Botan::hex_decode
    - Handshake_Layer::next_message
    - std::get<Client_Hello_13>
    - Handshake_Layer::copy_data
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> full_client_handshake()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:364,1
    - Dst: std::get<Client_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:366,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:367,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:367,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:367,1
    - Dst: Handshake_Layer::prepare_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:368,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:369,1
    - Dst: Botan_Tests::check_transcript_hash_empty
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:370,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:373,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:375,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:377,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:378,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:378,1
    - Dst: Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:382,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:384,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:387,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:389,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 396
    functionName: Botan_Tests::hello_retry_request_handshake
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check_transcript_hash_filled
    - Transcript_Hash_State::current
    - Botan::TLS::Client_Hello_13::parse
    - cend
    - Botan_Tests::has_message
    - Botan_Tests::CHECK
    - cbegin
    - test_eq
    - confirm
    - Handshake_Layer::prepare_message
    - Botan_Tests::check_transcript_hash_empty
    - Botan::hex_decode
    - Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
    - Handshake_Layer::next_message
    - std::get<Client_Hello_13>
    - Handshake_Layer::copy_data
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> hello_retry_request_handshake()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey_pqc.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo_name'
    - ' input_file'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: Botan_Tests::PK_PQC_KEM_KAT_Test::PK_PQC_KEM_KAT_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: "void PK_PQC_KEM_KAT_Test(const std::string& algo_name,\n                          const
      std::string& input_file,\n                          const std::string& further_optional_keys
      = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_pubkey_pqc.h:66,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_pubkey_pqc.h:67,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey_pqc.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' params'
    - ' rng_keygen'
    - ' result'
    argTypes:
    - std::string
    - Fixed_Output_RNG
    - Test::Result
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: Botan_Tests::PK_PQC_KEM_KAT_Test::inspect_rng_after_keygen
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - confirm
    - empty
    linkageType: ''
    returnType: void
    signature: "void inspect_rng_after_keygen(const std::string& params,\n                                            const
      Fixed_Output_RNG& rng_keygen,\n                                            Test::Result&
      result) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_pubkey_pqc.h:74,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_pubkey_pqc.h:75,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey_pqc.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' params'
    - ' rng_encaps'
    - ' result'
    argTypes:
    - std::string
    - Fixed_Output_RNG
    - Test::Result
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: Botan_Tests::PK_PQC_KEM_KAT_Test::inspect_rng_after_encaps
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - confirm
    - empty
    linkageType: ''
    returnType: void
    signature: "void inspect_rng_after_encaps(const std::string& params,\n                                            const
      Fixed_Output_RNG& rng_encaps,\n                                            Test::Result&
      result) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_pubkey_pqc.h:81,1
    - Dst: is_available
      Src: /src/botan/src/tests/test_pubkey_pqc.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: Botan_Tests::PK_PQC_KEM_KAT_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - is_available
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& params, const VarMap&) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CTR_DRBG_AES256>
      Src: /src/botan/src/tests/test_pubkey_pqc.h:90,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_pubkey_pqc.h:92,1
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_pubkey_pqc.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - seed
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: Botan_Tests::PK_PQC_KEM_KAT_Test::create_drbg
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan_Tests::Test_Error::Test_Error
    - std::make_unique<CTR_DRBG_AES256>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> create_drbg(std::span<const
      uint8_t> seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:98,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:98,1
    - Dst: Botan_Tests::PK_PQC_KEM_KAT_Test::create_drbg
      Src: /src/botan/src/tests/test_pubkey_pqc.h:104,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:104,1
    - Dst: rng_for_keygen
      Src: /src/botan/src/tests/test_pubkey_pqc.h:105,1
    - Dst: rng_for_encapsulation
      Src: /src/botan/src/tests/test_pubkey_pqc.h:106,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:109,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:109,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/test_pubkey_pqc.h:110,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:113,1
    - Dst: map_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:114,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_pubkey_pqc.h:114,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:115,1
    - Dst: Botan_Tests::PK_PQC_KEM_KAT_Test::inspect_rng_after_keygen
      Src: /src/botan/src/tests/test_pubkey_pqc.h:116,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:119,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:119,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:119,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey_pqc.h:120,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey_pqc.h:121,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_pubkey_pqc.h:122,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey_pqc.h:122,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:123,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey_pqc.h:123,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:126,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:127,1
    - Dst: map_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:128,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_pubkey_pqc.h:128,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:129,1
    - Dst: Botan::load_public_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:132,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_pubkey_pqc.h:132,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_pubkey_pqc.h:132,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/test_pubkey_pqc.h:133,1
    - Dst: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
      Src: /src/botan/src/tests/test_pubkey_pqc.h:138,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:139,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:140,1
    - Dst: map_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:141,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:141,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:141,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:142,1
    - Dst: map_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:143,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:143,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:144,1
    - Dst: Botan_Tests::PK_PQC_KEM_KAT_Test::inspect_rng_after_encaps
      Src: /src/botan/src/tests/test_pubkey_pqc.h:145,1
    - Dst: Botan::load_private_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:148,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_pubkey_pqc.h:148,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_pubkey_pqc.h:148,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/test_pubkey_pqc.h:149,1
    - Dst: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
      Src: /src/botan/src/tests/test_pubkey_pqc.h:154,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:155,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:155,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:156,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_pubkey_pqc.h:156,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:156,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:158,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:160,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:160,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:161,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_pubkey_pqc.h:162,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - ' params'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 166
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 166
    functionName: Botan_Tests::PK_PQC_KEM_KAT_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - Test::Result::test_lt
    - Botan::fmt
    - auto::raw_private_key_bits
    - rng_for_keygen
    - Botan_Tests::PK_PQC_KEM_KAT_Test::create_drbg
    - Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    - auto::algorithm_identifier
    - Test::Result::test_gte
    - Botan::load_public_key
    - auto::public_key
    - Test::Result::test_not_null
    - Test::Result::test_eq
    - algo_name
    - rng_for_encapsulation
    - Test::Result::confirm
    - auto::supports_operation
    - auto::decrypt
    - map_value
    - Botan::create_private_key
    - Test::Result::test_is_eq
    - auto::shared_key
    - auto::encapsulated_shared_key
    - get_req_bin
    - Botan::lock
    - Botan::load_private_key
    - Botan_Tests::PK_PQC_KEM_KAT_Test::inspect_rng_after_encaps
    - has_key
    - Botan_Tests::PK_PQC_KEM_KAT_Test::inspect_rng_after_keygen
    - auto::private_key_bits
    - Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    - auto::estimated_strength
    - auto::encrypt
    - auto::public_key_bits
    - auto::algo_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& params, const VarMap&
      vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey_pqc.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo_name'
    - ' input_file'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::PK_PQC_KEM_ACVP_KAT_KeyGen_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: "void PK_PQC_KEM_ACVP_KAT_KeyGen_Test(const std::string& algo_name,\n
      \                                     const std::string& input_file,\n                                      const
      std::string& further_optional_keys = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_pubkey_pqc.h:189,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_pubkey_pqc.h:190,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:191,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::compress_value
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::process
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> compress_value(std::span<const uint8_t> value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/tests/test_pubkey_pqc.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - is_available
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& params, const VarMap&) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:198,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:198,1
    - Dst: rng_for_keygen
      Src: /src/botan/src/tests/test_pubkey_pqc.h:200,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:203,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:203,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/test_pubkey_pqc.h:204,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:207,1
    - Dst: Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::compress_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:207,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_pubkey_pqc.h:207,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:207,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:210,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:210,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:210,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey_pqc.h:211,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey_pqc.h:212,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_pubkey_pqc.h:213,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey_pqc.h:213,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:214,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey_pqc.h:214,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:217,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:218,1
    - Dst: Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::compress_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:218,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_pubkey_pqc.h:218,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:218,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey_pqc.h:220,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_pubkey_pqc.h:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' params'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - Test::Result::test_lt
    - Botan::fmt
    - auto::raw_private_key_bits
    - rng_for_keygen
    - Test::Result::test_gte
    - auto::public_key
    - Test::Result::test_not_null
    - Test::Result::test_eq
    - algo_name
    - Test::Result::confirm
    - auto::supports_operation
    - Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::compress_value
    - Botan::create_private_key
    - Test::Result::test_is_eq
    - get_req_bin
    - auto::estimated_strength
    - auto::empty
    - auto::public_key_bits
    - auto::algo_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& params, const VarMap&
      vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo_name'
    - ' input_file'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::PK_PQC_KEM_ACVP_KAT_Encap_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_PQC_KEM_ACVP_KAT_Encap_Test(const std::string& algo_name, const
      std::string& input_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_pubkey_pqc.h:233,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::rng_for_encap
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - get_req_bin
    - Fixed_Output_RNG
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_encap(const VarMap& vars) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/tests/test_pubkey_pqc.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - is_available
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& params, const VarMap&) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_pubkey_pqc.h:247,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_pubkey_pqc.h:248,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:249,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::compress_value
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::process
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> compress_value(std::span<const uint8_t> value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:253,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:253,1
    - Dst: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::rng_for_encap
      Src: /src/botan/src/tests/test_pubkey_pqc.h:255,1
    - Dst: load_public_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:256,1
    - Dst: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
      Src: /src/botan/src/tests/test_pubkey_pqc.h:258,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:259,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:260,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:260,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_pubkey_pqc.h:260,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:260,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:261,1
    - Dst: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::compress_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:261,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:261,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:261,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey_pqc.h:263,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_pubkey_pqc.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' params'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 266
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 266
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    - Botan::lock
    - Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::rng_for_encap
    - get_req_bin
    - Test::Result::confirm
    - auto::encrypt
    - auto::empty
    - Test::Result::test_is_eq
    - Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::compress_value
    - auto::shared_key
    - auto::encapsulated_shared_key
    - algo_name
    - load_public_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& params, const VarMap&
      vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo_name'
    - ' input_file'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Decap_Test::PK_PQC_KEM_ACVP_KAT_Decap_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_PQC_KEM_ACVP_KAT_Decap_Test(const std::string& algo_name, const
      std::string& input_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/tests/test_pubkey_pqc.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Decap_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - is_available
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& params, const VarMap&) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:284,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:284,1
    - Dst: load_private_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:286,1
    - Dst: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
      Src: /src/botan/src/tests/test_pubkey_pqc.h:289,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:290,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:290,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:291,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_pubkey_pqc.h:291,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' params'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Decap_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - auto::decrypt
    - get_req_bin
    - load_private_key
    - Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    - Test::Result::test_is_eq
    - algo_name
    - Botan::lock
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& params, const VarMap&
      vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan_Tests::foo
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string foo(Test_Size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan_Tests::foo
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string foo(Test_Length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:42,1
    - Dst: Test_Size
      Src: /src/botan/src/tests/test_strong_type.cpp:51,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:54,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:59,1
    - Dst: Test_Size::get
      Src: /src/botan/src/tests/test_strong_type.cpp:59,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:60,1
    - Dst: Test_Size::get
      Src: /src/botan/src/tests/test_strong_type.cpp:60,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:63,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:68,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:69,1
    - Dst: Test_Size
      Src: /src/botan/src/tests/test_strong_type.cpp:69,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:70,1
    - Dst: Test_Size
      Src: /src/botan/src/tests/test_strong_type.cpp:70,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:73,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:75,1
    - Dst: Botan_Tests::foo
      Src: /src/botan/src/tests/test_strong_type.cpp:75,1
    - Dst: Test_Size
      Src: /src/botan/src/tests/test_strong_type.cpp:75,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:76,1
    - Dst: Botan_Tests::foo
      Src: /src/botan/src/tests/test_strong_type.cpp:76,1
    - Dst: Test_Length
      Src: /src/botan/src/tests/test_strong_type.cpp:76,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:79,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:81,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:82,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:83,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:84,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:85,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 89
    functionName: Botan_Tests::test_strong_type
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan_Tests::foo
    - Test_Size
    - test_eq
    - Test_Length
    - confirm
    - test_is_eq
    - Test_Size::get
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_strong_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:93,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:96,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:99,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:101,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_strong_type.cpp:102,1
    - Dst: Test_Nonce
      Src: /src/botan/src/tests/test_strong_type.cpp:103,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:103,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:105,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_strong_type.cpp:105,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:106,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_strong_type.cpp:106,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:107,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_strong_type.cpp:107,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:110,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:114,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:120,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:121,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:122,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:123,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:125,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:126,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:127,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:128,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:130,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:131,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:132,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:133,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:136,1
    - Dst: size
      Src: /src/botan/src/tests/test_strong_type.cpp:138,1
    - Dst: Test_Nonce
      Src: /src/botan/src/tests/test_strong_type.cpp:140,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:140,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:142,1
    - Dst: get_size
      Src: /src/botan/src/tests/test_strong_type.cpp:142,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_strong_type.cpp:142,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:145,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:151,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/tests/test_strong_type.cpp:151,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_strong_type.cpp:151,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:154,1
    - Dst: Test_Length
      Src: /src/botan/src/tests/test_strong_type.cpp:158,1
    - Dst: Test_Length
      Src: /src/botan/src/tests/test_strong_type.cpp:158,1
    - Dst: Test_Length
      Src: /src/botan/src/tests/test_strong_type.cpp:158,1
    - Dst: Test_Length
      Src: /src/botan/src/tests/test_strong_type.cpp:158,1
    - Dst: std::sort
      Src: /src/botan/src/tests/test_strong_type.cpp:161,1
    - Dst: Test_Length_List::begin
      Src: /src/botan/src/tests/test_strong_type.cpp:161,1
    - Dst: Test_Length_List::end
      Src: /src/botan/src/tests/test_strong_type.cpp:161,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:163,1
    - Dst: Test_Length_List::get
      Src: /src/botan/src/tests/test_strong_type.cpp:163,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:164,1
    - Dst: Test_Length_List::get
      Src: /src/botan/src/tests/test_strong_type.cpp:164,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:165,1
    - Dst: Test_Length_List::get
      Src: /src/botan/src/tests/test_strong_type.cpp:165,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:166,1
    - Dst: Test_Length_List::get
      Src: /src/botan/src/tests/test_strong_type.cpp:166,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:169,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:176,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:177,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:178,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_strong_type.cpp:179,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_strong_type.cpp:179,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_strong_type.cpp:179,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_strong_type.cpp:180,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_strong_type.cpp:180,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_strong_type.cpp:180,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_strong_type.cpp:181,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_strong_type.cpp:181,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_strong_type.cpp:181,1
    - Dst: Fixed_Output_RNG::random_vec
      Src: /src/botan/src/tests/test_strong_type.cpp:183,1
    - Dst: Fixed_Output_RNG::random_vec
      Src: /src/botan/src/tests/test_strong_type.cpp:184,1
    - Dst: Fixed_Output_RNG::random_vec
      Src: /src/botan/src/tests/test_strong_type.cpp:186,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:188,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:188,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:188,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:189,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:189,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_strong_type.cpp:189,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:190,1
    - Dst: std::vector
      Src: /src/botan/src/tests/test_strong_type.cpp:191,1
    - Dst: Test_Fixed_Array::begin
      Src: /src/botan/src/tests/test_strong_type.cpp:191,1
    - Dst: Test_Fixed_Array::end
      Src: /src/botan/src/tests/test_strong_type.cpp:191,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:192,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:195,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:202,1
    - Dst: Test_Array::at
      Src: /src/botan/src/tests/test_strong_type.cpp:202,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_strong_type.cpp:203,1
    - Dst: Test_Array::at
      Src: /src/botan/src/tests/test_strong_type.cpp:203,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:206,1
    - Dst: Test_Map::at
      Src: /src/botan/src/tests/test_strong_type.cpp:206,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_strong_type.cpp:207,1
    - Dst: Test_Map::at
      Src: /src/botan/src/tests/test_strong_type.cpp:207,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:210,1
    - Dst: Test_Vector::at
      Src: /src/botan/src/tests/test_strong_type.cpp:210,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_strong_type.cpp:211,1
    - Dst: Test_Vector::at
      Src: /src/botan/src/tests/test_strong_type.cpp:211,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:214,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:221,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:224,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 230
    functionName: Botan_Tests::test_container_strong_type
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Test_Map::at
    - test_eq
    - std::string
    - Test_Array::at
    - Test_Fixed_Array::begin
    - Test_Length
    - test_is_eq
    - Botan::hex_decode_locked
    - std::sort
    - Botan_Tests::CHECK
    - Test_Length_List::end
    - std::stringstream::str
    - Test_Fixed_Array::end
    - auto::size
    - confirm
    - Fixed_Output_RNG::random_vec
    - Fixed_Output_RNG::add_entropy
    - Botan::hex_decode
    - auto::data
    - Test_Length_List::get
    - Test_Nonce
    - get_size
    - auto::get
    - Test_Vector::at
    - std::vector
    - auto::empty
    - test_throws
    - size
    - Test_Length_List::begin
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_container_strong_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:237,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:241,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:242,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:243,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:244,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:245,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:246,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:247,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:248,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:250,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:251,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:252,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:253,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:254,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:255,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:256,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:257,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:260,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:264,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:265,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:266,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:267,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:269,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:270,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:271,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:272,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:275,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:283,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:284,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:285,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:286,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:287,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:288,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:289,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:290,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:293,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:300,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:301,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:302,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:303,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:304,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:305,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:306,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:307,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:308,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:310,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:311,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:312,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:313,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:314,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:315,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:316,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:317,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:318,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:321,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:326,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:327,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:328,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:329,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:330,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:331,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:332,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:333,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:334,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:336,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:337,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:338,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:339,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:340,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:341,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:342,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:343,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:344,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:346,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:347,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:348,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:349,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:350,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:351,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:352,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:353,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:354,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:357,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:362,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:363,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:364,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:365,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:366,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:367,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:368,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:369,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:370,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:372,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:373,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:374,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:375,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:376,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:377,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:378,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:379,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:380,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:382,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:383,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:384,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:385,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:386,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:387,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:388,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:389,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 112
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 393
    functionName: Botan_Tests::test_integer_strong_type
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - confirm
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_integer_strong_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: Botan_Tests::test_strong_helper
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_strong_helper(const Botan::StrongSpan<Test_Foo>&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: Botan_Tests::test_strong_helper
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_strong_helper(const Botan::StrongSpan<const Test_Foo>&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: Botan_Tests::test_strong_helper
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_strong_helper(const Botan::StrongSpan<Test_Bar>&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:413,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:414,1
    - Dst: Botan_Tests::test_strong_helper
      Src: /src/botan/src/tests/test_strong_type.cpp:414,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:416,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:417,1
    - Dst: Botan_Tests::test_strong_helper
      Src: /src/botan/src/tests/test_strong_type.cpp:417,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:421,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:422,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:423,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:425,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 430
    functionName: Botan_Tests::test_strong_span
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_is_eq
    - Botan_Tests::test_strong_helper
    - Test::Result::confirm
    - Botan::hex_decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_strong_span()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:439,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:443,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:444,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:445,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:445,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:446,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:448,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:448,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:449,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:449,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:450,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:450,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:451,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:451,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:455,1
    - Dst: Botan::wrap_strong_type<Strong_Unique>
      Src: /src/botan/src/tests/test_strong_type.cpp:457,1
    - Dst: std::string::string
      Src: /src/botan/src/tests/test_strong_type.cpp:457,1
    - Dst: Botan::wrap_strong_type<Strong_Unique>
      Src: /src/botan/src/tests/test_strong_type.cpp:458,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:458,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:460,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:460,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:461,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:461,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:464,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:469,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:470,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:470,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:471,1
    - Dst: Strong_String
      Src: /src/botan/src/tests/test_strong_type.cpp:471,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:473,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:473,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:474,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:474,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:475,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:475,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:477,1
    - Dst: Botan::wrap_strong_type<Strong_Unique>
      Src: /src/botan/src/tests/test_strong_type.cpp:479,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:479,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:481,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:481,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:484,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:489,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:490,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:491,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:493,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:497,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:498,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:499,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:501,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:505,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:505,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:506,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:508,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:510,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:512,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:514,1
    - Dst: Strong_String
      Src: /src/botan/src/tests/test_strong_type.cpp:514,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:515,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:516,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:518,1
    - Dst: Strong_String
      Src: /src/botan/src/tests/test_strong_type.cpp:519,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:523,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:529,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:530,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:531,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:533,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:537,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:538,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:539,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:541,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:545,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:545,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:546,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:547,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:549,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:551,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:553,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_strong_type.cpp:553,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:554,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:555,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:557,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_strong_type.cpp:558,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:562,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:568,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:569,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:570,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:570,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:571,1
    - Dst: Strong_String
      Src: /src/botan/src/tests/test_strong_type.cpp:571,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:573,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:574,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:575,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:576,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:578,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:579,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:581,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:582,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:582,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:584,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:584,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:586,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:587,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:588,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:591,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:597,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:598,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:599,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:599,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:600,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_strong_type.cpp:600,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:602,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:603,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:604,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:605,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:607,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:608,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:610,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:611,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:611,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:613,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:613,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:615,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:616,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 620
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 620
    functionName: Botan_Tests::test_wrapping_unwrapping
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::wrap_strong_type<Strong_String>
    - Botan::unwrap_strong_type
    - Botan_Tests::CHECK
    - Strong_String
    - auto::get
    - test_eq
    - std::string::string
    - std::string
    - std::make_unique<std::string>
    - confirm
    - Botan::wrap_strong_type<Strong_Unique>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_wrapping_unwrapping()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::extended_euclidean_algorithm<T>
      Src: /src/botan/src/tests/test_crystals.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan_Tests::gcd
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan::extended_euclidean_algorithm<T>
    linkageType: ''
    returnType: T
    signature: T gcd(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::extended_euclidean_algorithm<T>
      Src: /src/botan/src/tests/test_crystals.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan_Tests::v
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan::extended_euclidean_algorithm<T>
    linkageType: ''
    returnType: T
    signature: T v(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::extended_euclidean_algorithm<T>
      Src: /src/botan/src/tests/test_crystals.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan_Tests::u
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan::extended_euclidean_algorithm<T>
    linkageType: ''
    returnType: T
    signature: T u(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:52,1
    - Dst: Botan_Tests::gcd
      Src: /src/botan/src/tests/test_crystals.cpp:52,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:53,1
    - Dst: Botan_Tests::gcd
      Src: /src/botan/src/tests/test_crystals.cpp:53,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:54,1
    - Dst: Botan_Tests::gcd
      Src: /src/botan/src/tests/test_crystals.cpp:54,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:56,1
    - Dst: Botan_Tests::gcd
      Src: /src/botan/src/tests/test_crystals.cpp:56,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:57,1
    - Dst: Botan_Tests::gcd
      Src: /src/botan/src/tests/test_crystals.cpp:57,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:58,1
    - Dst: Botan_Tests::gcd
      Src: /src/botan/src/tests/test_crystals.cpp:58,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:60,1
    - Dst: Botan_Tests::u
      Src: /src/botan/src/tests/test_crystals.cpp:60,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:61,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_crystals.cpp:61,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:62,1
    - Dst: Botan_Tests::u
      Src: /src/botan/src/tests/test_crystals.cpp:62,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:64,1
    - Dst: Botan::modular_inverse<int16_t>
      Src: /src/botan/src/tests/test_crystals.cpp:64,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:65,1
    - Dst: Botan::modular_inverse<int32_t>
      Src: /src/botan/src/tests/test_crystals.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 68
    functionName: Botan_Tests::test_extended_euclidean_algorithm
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::v
    - Botan::modular_inverse<int16_t>
    - Botan_Tests::u
    - Test::Result::test_is_eq
    - Botan_Tests::gcd
    - Botan::modular_inverse<int32_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_extended_euclidean_algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan_Tests::Mock_Trait::montgomery_reduce_coefficient
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: T
    signature: T montgomery_reduce_coefficient(T2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: Botan_Tests::Mock_Trait::barrett_reduce_coefficient
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: T
    signature: T barrett_reduce_coefficient(T)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Botan_Tests::Mock_Trait::ntt
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: void
    signature: void ntt(std::span<T, N>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan_Tests::Mock_Trait::inverse_ntt
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: void
    signature: void inverse_ntt(std::span<T, N>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan_Tests::Mock_Trait::poly_pointwise_montgomery
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: void
    signature: void poly_pointwise_montgomery(std::span<T, N>, std::span<T, N>, std::span<T,
      N>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:124,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:127,1
    - Dst: Kyberish_Poly::owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:127,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:129,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:133,1
    - Dst: Kyberish_Poly::owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:133,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:135,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:139,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:142,1
    - Dst: Kyberish_PolyVec::size
      Src: /src/botan/src/tests/test_crystals.cpp:142,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:145,1
    - Dst: owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:145,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:149,1
    - Dst: Kyberish_PolyVec::size
      Src: /src/botan/src/tests/test_crystals.cpp:149,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:152,1
    - Dst: owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:152,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:156,1
    - Dst: Kyberish_Poly::clone
      Src: /src/botan/src/tests/test_crystals.cpp:159,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:160,1
    - Dst: auto::owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:160,1
    - Dst: require
      Src: /src/botan/src/tests/test_crystals.cpp:164,1
    - Dst: owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:164,1
    - Dst: clone
      Src: /src/botan/src/tests/test_crystals.cpp:165,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:166,1
    - Dst: auto::owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:166,1
    - Dst: Kyberish_PolyVec::clone
      Src: /src/botan/src/tests/test_crystals.cpp:169,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:171,1
    - Dst: owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:171,1
    - Dst: Kyberish_Poly::clone
      Src: /src/botan/src/tests/test_crystals.cpp:175,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:176,1
    - Dst: auto::owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:176,1
    - Dst: require
      Src: /src/botan/src/tests/test_crystals.cpp:180,1
    - Dst: owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:180,1
    - Dst: clone
      Src: /src/botan/src/tests/test_crystals.cpp:181,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:182,1
    - Dst: auto::owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:182,1
    - Dst: Kyberish_PolyVec::clone
      Src: /src/botan/src/tests/test_crystals.cpp:185,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:187,1
    - Dst: owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:187,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:191,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:194,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:194,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:197,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:197,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:200,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:200,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:203,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:203,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:206,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:206,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:209,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:209,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:212,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:212,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:215,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:215,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:218,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:218,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:221,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:224,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:224,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:227,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:227,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:230,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:230,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:233,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:233,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:236,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:236,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:239,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:239,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:242,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:242,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:245,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:248,1
    - Dst: Kyberish_Poly::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:248,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:253,1
    - Dst: Kyberish_Poly::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:253,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:256,1
    - Dst: Kyberish_Poly::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:256,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:259,1
    - Dst: Kyberish_Poly::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:259,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:262,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:265,1
    - Dst: Kyberish_PolyVec::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:265,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:270,1
    - Dst: Kyberish_PolyVec::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:270,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:273,1
    - Dst: Kyberish_PolyVec::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:273,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:276,1
    - Dst: Kyberish_PolyVec::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 279
    functionName: Botan_Tests::test_polynomial_basics
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - require
    - Kyberish_Poly::ct_validate_value_range
    - owns_storage
    - Botan_Tests::CHECK
    - Kyberish_Poly::clone
    - Kyberish_PolyVec::size
    - clone
    - Kyberish_PolyVec::clone
    - Kyberish_Poly::hamming_weight
    - Kyberish_PolyVec::ct_validate_value_range
    - Kyberish_Poly::owns_storage
    - confirm
    - Kyberish_PolyVec::hamming_weight
    - auto::owns_storage
    - test_is_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_polynomial_basics()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: Botan_Tests::DeterministicXOF::DeterministicXOF
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeterministicXOF(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: Botan_Tests::DeterministicXOF::name
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan_Tests::DeterministicXOF::accepts_input
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: Botan_Tests::DeterministicXOF::copy_state
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> copy_state() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: Botan_Tests::DeterministicXOF::new_object
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: Botan_Tests::DeterministicXOF::block_size
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: Botan_Tests::DeterministicXOF::start_msg
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: void
    signature: void start_msg(std::span<const uint8_t>, std::span<const uint8_t>)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: Botan_Tests::DeterministicXOF::add_data
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: void
    signature: void add_data(std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_into
      Src: /src/botan/src/tests/test_crystals.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: Botan_Tests::DeterministicXOF::generate_bytes
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - copy_into
    linkageType: ''
    returnType: void
    signature: void generate_bytes(std::span<uint8_t> output) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: Botan_Tests::DeterministicXOF::reset
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/botan/src/tests/test_crystals.cpp:324,1
    - Dst: static_cast<T>
      Src: /src/botan/src/tests/test_crystals.cpp:325,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_crystals.cpp:325,1
    - Dst: random_poly
      Src: /src/botan/src/tests/test_crystals.cpp:330,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_crystals.cpp:331,1
    - Dst: Botan::CRYSTALS::pack<range>
      Src: /src/botan/src/tests/test_crystals.cpp:333,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:334,1
    - Dst: Botan::BufferStuffer::full
      Src: /src/botan/src/tests/test_crystals.cpp:334,1
    - Dst: Botan::CRYSTALS::unpack<range>
      Src: /src/botan/src/tests/test_crystals.cpp:338,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:339,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_crystals.cpp:339,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_crystals.cpp:342,1
    - Dst: Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' res'
    - ' rng'
    - expected_encoding_bits
    argTypes:
    - Test::Result
    - Botan::RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 343
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 343
    functionName: Botan_Tests::random_encoding_roundtrips
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::pack<range>
    - Botan::BufferStuffer::full
    - Botan::CRYSTALS::unpack<range>
    - Poly::hamming_weight
    - randomize
    - random_poly
    - static_cast<T>
    - test_eq
    - Botan::BufferSlicer::empty
    - auto::size
    - confirm
    - Botan::load_be
    linkageType: ''
    returnType: void
    signature: void random_encoding_roundtrips(Test::Result& res, Botan::RandomNumberGenerator&
      rng, size_t expected_encoding_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_crystals.cpp:348,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_crystals.cpp:353,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_crystals.cpp:363,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:375,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:379,1
    - Dst: requires std::is_integral_v<T>
      Src: /src/botan/src/tests/test_crystals.cpp:380,1
    - Dst: Botan::CRYSTALS::pack<6>
      Src: /src/botan/src/tests/test_crystals.cpp:385,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_crystals.cpp:386,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:390,1
    - Dst: requires std::is_integral_v<T>
      Src: /src/botan/src/tests/test_crystals.cpp:391,1
    - Dst: Botan::CRYSTALS::pack<255>
      Src: /src/botan/src/tests/test_crystals.cpp:396,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_crystals.cpp:397,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:400,1
    - Dst: Botan::CRYSTALS::pack<512>
      Src: /src/botan/src/tests/test_crystals.cpp:402,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_crystals.cpp:403,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:406,1
    - Dst: Botan::CRYSTALS::unpack<6>
      Src: /src/botan/src/tests/test_crystals.cpp:410,1
    - Dst: require
      Src: /src/botan/src/tests/test_crystals.cpp:411,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_crystals.cpp:411,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:412,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:413,1
    - Dst: Botan::CRYSTALS::unpack<255>
      Src: /src/botan/src/tests/test_crystals.cpp:418,1
    - Dst: require
      Src: /src/botan/src/tests/test_crystals.cpp:419,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_crystals.cpp:419,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:420,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:421,1
    - Dst: Botan::CRYSTALS::unpack<512>
      Src: /src/botan/src/tests/test_crystals.cpp:426,1
    - Dst: require
      Src: /src/botan/src/tests/test_crystals.cpp:427,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_crystals.cpp:427,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:428,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:429,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:433,1
    - Dst: Botan::CRYSTALS::unpack<6>
      Src: /src/botan/src/tests/test_crystals.cpp:438,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:439,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:440,1
    - Dst: Botan::CRYSTALS::unpack<255>
      Src: /src/botan/src/tests/test_crystals.cpp:445,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:446,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:447,1
    - Dst: Botan::CRYSTALS::unpack<512>
      Src: /src/botan/src/tests/test_crystals.cpp:452,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:453,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:454,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:459,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_crystals.cpp:461,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:462,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:463,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:464,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:465,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:466,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:467,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:468,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:469,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:472,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_crystals.cpp:474,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:475,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:476,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:477,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:478,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:479,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:480,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:483,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_crystals.cpp:487,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:496,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:497,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:498,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:499,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:500,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:501,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:502,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 506
    functionName: Botan_Tests::test_encoding
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - require
    - Botan_Tests::random_encoding_roundtrips
    - requires std::is_integral_v<T>
    - Botan_Tests::CHECK
    - Botan::CRYSTALS::pack<255>
    - Botan::CRYSTALS::unpack<255>
    - test_eq
    - Botan::hex_decode
    - Botan::CRYSTALS::unpack<512>
    - Botan::CRYSTALS::pack<512>
    - Botan::CRYSTALS::unpack<6>
    - Botan::CRYSTALS::pack<6>
    - Botan_Tests::Test::new_rng
    - Kyberish_Poly::size
    - Botan::BufferSlicer::empty
    - test_is_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_encoding()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: Botan_Tests::MockedXOF::MockedXOF
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockedXOF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_crystals.cpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: Botan_Tests::MockedXOF::output
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: auto
    signature: auto output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:530,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_crystals.cpp:533,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:533,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:536,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:539,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:539,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:540,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:540,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:541,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:541,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_crystals.cpp:542,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:542,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:545,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:553,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:553,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:554,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:554,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_crystals.cpp:555,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:555,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:558,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_crystals.cpp:560,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:563,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:564,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:565,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:566,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_crystals.cpp:567,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:570,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:576,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:577,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:578,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:579,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:580,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_crystals.cpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 584
    functionName: Botan_Tests::test_bounded_xof
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - test_throws
    - Mocked_Bounded_XOF::next_byte
    - Botan::load_be
    - test_is_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bounded_xof()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: server_cert
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: std::string
    signature: std::string server_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: server_key
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: std::string
    signature: std::string server_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg_type
    - alert
    argTypes:
    - Botan::TLS::Handshake_Type
    - Botan::TLS::AlertType
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: PeerCallbacks::fail_on_handshake_message
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fail_on_handshake_message(const Botan::TLS::Handshake_Type msg_type,
      Botan::TLS::AlertType alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:73,1
    - Dst: type
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:73,1
    - Dst: TLS_Exception
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:74,1
    - Dst: type
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Botan::TLS::Handshake_Message
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: PeerCallbacks::tls_inspect_handshake_msg
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - contains
    - type
    linkageType: ''
    returnType: void
    signature: void tls_inspect_handshake_msg(const Botan::TLS::Handshake_Message&
      msg) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:87,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:88,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:89,1
    - Dst: std::make_shared<PeerCallbacks>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:90,1
    - Dst: std::enable_shared_from_this<Context>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' policy'
    - ' ioc'
    - credentials_manager
    argTypes:
    - std::shared_ptr<const Botan::TLS::Policy>
    - net::io_context
    - std::shared_ptr<Basic_Credentials_Manager>
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: Peer::Peer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<Botan::AutoSeeded_RNG>
    - std::enable_shared_from_this<Context>
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - std::make_shared<PeerCallbacks>
    linkageType: ''
    returnType: void
    signature: "void Peer(const std::shared_ptr<const Botan::TLS::Policy>& policy,\n
      \          net::io_context& ioc,\n           std::shared_ptr<Basic_Credentials_Manager>
      credentials_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Basic_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' policy'
    - ' ioc'
    argTypes:
    - std::shared_ptr<const Botan::TLS::Policy>
    - net::io_context
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: Peer::Peer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Basic_Credentials_Manager>
    linkageType: ''
    returnType: void
    signature: void Peer(const std::shared_ptr<const Botan::TLS::Policy>& policy,
      net::io_context& ioc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Basic_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' policy'
    - ' ioc'
    - ' server_cert'
    - ' server_key'
    argTypes:
    - std::shared_ptr<const Botan::TLS::Policy>
    - net::io_context
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: Peer::Peer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Basic_Credentials_Manager>
    linkageType: ''
    returnType: void
    signature: "void Peer(const std::shared_ptr<const Botan::TLS::Policy>& policy,\n
      \          net::io_context& ioc,\n           const std::string& server_cert,\n
      \          const std::string& server_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Peer
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Peer::Peer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Peer(const Peer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Peer
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Peer::Peer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Peer(Peer&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Peer
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: '& operator=(const Peer& other)'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Peer
    signature: Peer & operator=(const Peer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Peer
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '& operator=(Peer&& other)'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Peer
    signature: Peer & operator=(Peer&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cancel_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~Peer()
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - cancel_timeout
    linkageType: ''
    returnType: void
    signature: void ~Peer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Peer::buffer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    linkageType: ''
    returnType: net::mutable_buffer
    signature: net::mutable_buffer buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Peer::buffer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    linkageType: ''
    returnType: net::mutable_buffer
    signature: net::mutable_buffer buffer(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Peer::message
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' error'
    - bytes_transferred
    argTypes:
    - boost::system::error_code
    - std::size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: Peer::received_zero_byte
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t received_zero_byte(const boost::system::error_code& error,
      std::size_t bytes_transferred)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - std::function<void(const std::string&)>
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Peer::on_timeout
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void on_timeout(std::function<void(const std::string&)> cb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:135,1
    - Dst: async_wait
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:136,1
    - Dst: m_on_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:140,1
    - Dst: lowest_layer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:147,1
    - Dst: Timeout_Exception
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: Peer::reset_timeout
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - expires_after
    - m_on_timeout
    - lowest_layer
    - async_wait
    - Timeout_Exception
    linkageType: ''
    returnType: void
    signature: void reset_timeout(const std::string& message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Peer::cancel_timeout
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void cancel_timeout()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: '& stream()'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssl_stream
    signature: ssl_stream & stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:160,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - std::unique_ptr<ssl_stream>
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: Peer::create_stream
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void create_stream(std::unique_ptr<ssl_stream> stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: Peer::ctx
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::TLS::Context>
    signature: std::shared_ptr<Botan::TLS::Context> ctx()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: Peer::callbacks
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<PeerCallbacks>
    signature: std::shared_ptr<PeerCallbacks> callbacks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Result_Wrapper::Result_Wrapper
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Result_Wrapper(std::string name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: '& result()'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result & result()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result_Wrapper::expect_ec
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' msg'
    - ' ec'
    argTypes:
    - std::string
    - error_code
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: Result_Wrapper::expect_success
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - Result_Wrapper::expect_ec
    linkageType: ''
    returnType: void
    signature: void expect_success(const std::string& msg, const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result_Wrapper::test_failure
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:195,1
    - Dst: message
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:195,1
    - Dst: message
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:195,1
    - Dst: test_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' msg'
    - ' expected'
    - ' ec'
    argTypes:
    - std::string
    - error_code
    - error_code
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: Result_Wrapper::expect_ec
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 1
    functionsReached:
    - message
    - Result_Wrapper::test_failure
    - test_success
    linkageType: ''
    returnType: void
    signature: void expect_ec(const std::string& msg, const error_code& expected,
      const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result_Wrapper::confirm
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' msg'
    - condition
    argTypes:
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: Result_Wrapper::confirm
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 1
    functionsReached:
    - Result_Wrapper::confirm
    linkageType: ''
    returnType: void
    signature: void confirm(const std::string& msg, bool condition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result_Wrapper::test_failure
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: Result_Wrapper::test_failure
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 2
    functionsReached:
    - Result_Wrapper::test_failure
    linkageType: ''
    returnType: void
    signature: void test_failure(const std::string& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_cert
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:224,1
    - Dst: server_key
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:224,1
    - Dst: reset_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' policy'
    - ' ioc'
    - ' test_name'
    argTypes:
    - std::shared_ptr<const Botan::TLS::Policy>
    - net::io_context
    - std::string
    constantsTouched: []
    func_position:
      end: 230
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 230
    functionName: Server::Server
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - server_key
    - server_cert
    - reset_timeout
    linkageType: ''
    returnType: void
    signature: "void Server(const std::shared_ptr<const Botan::TLS::Policy>& policy,\n
      \            net::io_context& ioc,\n             const std::string& test_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:234,1
    - Dst: open
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:237,1
    - Dst: protocol
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:237,1
    - Dst: set_option
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:240,1
    - Dst: net::socket_base::reuse_address
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:240,1
    - Dst: bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:243,1
    - Dst: Server::listen
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:246,1
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:248,1
    - Dst: reset_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:250,1
    - Dst: async_accept
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:251,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:251,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 252
    functionName: Server::listen
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 1
    functionsReached:
    - bind
    - net::socket_base::reuse_address
    - shared_from_this
    - async_accept
    - std::bind
    - expect_success
    - protocol
    - open
    - set_option
    - Server::listen
    - back
    - reset_timeout
    linkageType: ''
    returnType: void
    signature: void listen()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: Server::expect_short_read
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void expect_short_read()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: Server::move_before_accept
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void move_before_accept()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: callbacks
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg_type
    - alert
    argTypes:
    - Botan::TLS::Handshake_Type
    - Botan::TLS::AlertType
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: Server::fail_on_handshake_message
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - callbacks
    linkageType: ''
    returnType: void
    signature: void fail_on_handshake_message(const Botan::TLS::Handshake_Type msg_type,
      Botan::TLS::AlertType alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: Server::result
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result_Wrapper
    signature: Result_Wrapper result()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:268,1
    - Dst: create_stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:276,1
    - Dst: std::make_unique<ssl_stream>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:276,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:276,1
    - Dst: create_stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:278,1
    - Dst: std::make_unique<ssl_stream>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:278,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:278,1
    - Dst: ctx
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:278,1
    - Dst: callbacks
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:278,1
    - Dst: reset_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:281,1
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:282,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:283,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' ec'
    - socket
    argTypes:
    - error_code
    - tcp::socket
    constantsTouched: []
    func_position:
      end: 284
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 284
    functionName: Server::start_session
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ssl_stream>
    - std::move
    - shared_from_this
    - stream
    - std::bind
    - expect_success
    - create_stream
    - ctx
    - callbacks
    - reset_timeout
    linkageType: ''
    returnType: void
    signature: void start_session(const error_code& ec, tcp::socket socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:288,1
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:289,1
    - Dst: Server::handle_write
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: Server::shutdown
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - Server::handle_write
    - stream
    - expect_success
    linkageType: ''
    returnType: void
    signature: void shutdown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:295,1
    - Dst: Server::handle_write
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:296,1
    - Dst: expect_ec
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:298,1
    - Dst: value
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:298,1
    - Dst: cancel_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 301
    functionName: Server::handle_handshake
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - cancel_timeout
    - expect_ec
    - Server::handle_write
    - expect_success
    - value
    linkageType: ''
    returnType: void
    signature: void handle_handshake(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:304,1
    - Dst: reset_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:305,1
    - Dst: net::async_read
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:306,1
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:306,1
    - Dst: buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:307,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:308,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:308,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:309,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: Server::handle_write
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 2
    functionsReached:
    - shared_from_this
    - stream
    - std::bind
    - expect_success
    - net::async_read
    - buffer
    - reset_timeout
    linkageType: ''
    returnType: void
    signature: void handle_write(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_ec
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:314,1
    - Dst: cancel_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:315,1
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:320,1
    - Dst: expect_ec
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:321,1
    - Dst: reset_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:322,1
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:323,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:323,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:323,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:325,1
    - Dst: message
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:325,1
    - Dst: cancel_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:326,1
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:331,1
    - Dst: message
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:333,1
    - Dst: Server::shutdown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:335,1
    - Dst: message
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:339,1
    - Dst: reset_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:343,1
    - Dst: net::async_write
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:344,1
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:345,1
    - Dst: buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:345,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:345,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 346
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 346
    functionName: Server::handle_read
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - cancel_timeout
    - shared_from_this
    - message
    - expect_ec
    - stream
    - std::bind
    - test_failure
    - expect_success
    - Server::shutdown
    - net::async_write
    - buffer
    - reset_timeout
    linkageType: ''
    returnType: void
    signature: void handle_read(const error_code& ec, size_t bytes_transferred = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:349,1
    - Dst: cancel_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: Server::handle_shutdown
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - cancel_timeout
    - expect_success
    linkageType: ''
    returnType: void
    signature: void handle_shutdown(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: Client::accept_all
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void accept_all(const std::vector<Botan::X509_Certificate>&,\n                             const
      std::vector<std::optional<Botan::OCSP::Response>>&,\n                             const
      std::vector<Botan::Certificate_Store*>&,\n                             Botan::Usage_Type,\n
      \                            std::string_view,\n                             const
      Botan::TLS::Policy&)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctx
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:373,1
    - Dst: create_stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:374,1
    - Dst: std::make_unique<ssl_stream>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:374,1
    - Dst: ctx
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:374,1
    - Dst: callbacks
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' policy'
    - ' ioc'
    argTypes:
    - std::shared_ptr<const Botan::TLS::Policy>
    - net::io_context
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: Client::Client
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ssl_stream>
    - create_stream
    - ctx
    - callbacks
    linkageType: ''
    returnType: void
    signature: void Client(const std::shared_ptr<const Botan::TLS::Policy>& policy,
      net::io_context& ioc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:382,1
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 384
    functionName: Client::close_socket
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - stream
    linkageType: ''
    returnType: void
    signature: void close_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Client>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:395,1
    - Dst: std::make_shared<Server>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:396,1
    - Dst: on_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:398,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:399,1
    - Dst: on_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:400,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:401,1
    - Dst: listen
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ' ioc'
    - ' client_policy'
    - ' server_policy'
    - ' name'
    - ' config_name'
    argTypes:
    - net::io_context
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 404
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 404
    functionName: TestBase::TestBase
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Client>
    - test_failure
    - std::make_shared<Server>
    - on_timeout
    - listen
    linkageType: ''
    returnType: void
    signature: "void TestBase(net::io_context& ioc,\n               const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n               const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy,\n               const std::string& name,\n
      \              const std::string& config_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: ~TestBase()
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TestBase()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TestBase
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: TestBase::TestBase
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestBase(const TestBase& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TestBase
    constantsTouched: []
    func_position:
      end: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    functionName: TestBase::TestBase
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestBase(TestBase&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TestBase
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: '& operator=(const TestBase& other)'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestBase
    signature: TestBase & operator=(const TestBase& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TestBase
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: '& operator=(TestBase&& other)'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestBase
    signature: TestBase & operator=(TestBase&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: TestBase::finishAsynchronousWork
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void finishAsynchronousWork()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: TestBase::fail
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - test_failure
    linkageType: ''
    returnType: void
    signature: void fail(const std::string& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:418,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:418,1
    - Dst: push_back
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:419,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: TestBase::extend_results
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - result
    - push_back
    linkageType: ''
    returnType: void
    signature: void extend_results(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cancel_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 424
    functionName: TestBase::teardown
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - cancel_timeout
    linkageType: ''
    returnType: void
    signature: void teardown()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: '& client()'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Client>
    signature: std::shared_ptr<Client> & client()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 428
    functionName: '& server()'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Server>
    signature: std::shared_ptr<Server> & server()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: '& result()'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result_Wrapper
    signature: Result_Wrapper & result()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 445
    functionName: Synchronous_Test::finishAsynchronousWork
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: void finishAsynchronousWork() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::thread
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:448,1
    - Dst: Synchronous_Test::run_synchronous_client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:450,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:452,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:452,1
    - Dst: what
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:452,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:454,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 459
    functionName: Synchronous_Test::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - result
    - what
    - std::string
    - std::thread
    - Synchronous_Test::run_synchronous_client
    linkageType: ''
    returnType: void
    signature: void run(const error_code&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: Test_Conversation::Test_Conversation
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Conversation(net::io_context& ioc,\n                        const
      std::string& config_name,\n                        const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                        const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy,\n                        const std::string&
      test_name = \"Test Conversation\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:489,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:491,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:491,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:491,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:492,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:494,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:497,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:499,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:500,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:501,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:501,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:501,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:502,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:502,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:503,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:505,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:506,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:507,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:508,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:508,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:509,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:509,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:510,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:511,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:511,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:513,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:515,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:517,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:518,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:518,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:518,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:518,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:519,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:519,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:520,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 524
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 524
    functionName: Test_Conversation::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    - result
    - std::string::c_str
    - shared_from_this
    - std::bind
    - client
    - teardown
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void run(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: Test_Conversation_Sync::Test_Conversation_Sync
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Conversation_Sync(net::io_context& ioc,\n                             const
      std::string& config_name,\n                             const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                             const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client::handle_connect
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:539,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:539,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:540,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:542,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:543,1
    - Dst: cryptofuzz::Botan_Importer::write
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:545,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:545,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:546,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:546,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:546,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:548,1
    - Dst: Server::expect_short_read
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:550,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:551,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:551,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:551,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:551,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:552,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:553,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:553,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:555,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:556,1
    - Dst: Server::expect_short_read
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:558,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:558,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:558,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:559,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:559,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:560,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 563
    functionName: Test_Conversation_Sync::run_synchronous_client
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    - result
    - std::string::c_str
    - client::handle_connect
    - cryptofuzz::Botan_Importer::write
    - std::bind
    - client
    - teardown
    - std::string::size
    - Server::expect_short_read
    linkageType: ''
    returnType: void
    signature: void run_synchronous_client() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: Test_Eager_Close::Test_Eager_Close
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Eager_Close(net::io_context& ioc,\n                       const
      std::string& config_name,\n                       const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                       const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:583,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:585,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:585,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:585,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:586,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:588,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:591,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:593,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:595,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:597,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:598,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:598,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 602
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 602
    functionName: Test_Eager_Close::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - result
    - shared_from_this
    - std::bind
    - client
    - teardown
    linkageType: ''
    returnType: void
    signature: void run(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 611
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 611
    functionName: Test_Eager_Close_Sync::Test_Eager_Close_Sync
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Eager_Close_Sync(net::io_context& ioc,\n                            const
      std::string& config_name,\n                            const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                            const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client::handle_connect
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:616,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:616,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:617,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:619,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:620,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:622,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:623,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:625,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:626,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:626,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 629
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 629
    functionName: Test_Eager_Close_Sync::run_synchronous_client
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - teardown
    - result
    - client
    - client::handle_connect
    linkageType: ''
    returnType: void
    signature: void run_synchronous_client() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: Test_Close_Without_Shutdown::Test_Close_Without_Shutdown
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Close_Without_Shutdown(net::io_context& ioc,\n                                  const
      std::string& config_name,\n                                  const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                                  const
      std::shared_ptr<const Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:648,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:650,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:650,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:650,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:651,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:653,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:656,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:659,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:660,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:661,1
    - Dst: c_str
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:661,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:662,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:663,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:663,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:664,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:667,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:668,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:669,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:670,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:670,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:671,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:671,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:672,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:674,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:675,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:675,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 679
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 679
    functionName: Test_Close_Without_Shutdown::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    - result
    - shared_from_this
    - std::bind
    - client
    - size
    - c_str
    - teardown
    linkageType: ''
    returnType: void
    signature: void run(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: Test_Close_Without_Shutdown_Sync::Test_Close_Without_Shutdown_Sync
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Close_Without_Shutdown_Sync(net::io_context& ioc,\n                                       const
      std::string& config_name,\n                                       const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                                       const
      std::shared_ptr<const Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client::handle_connect
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:692,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:692,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:693,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:695,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:696,1
    - Dst: server
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:698,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:700,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:701,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:701,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 704
    functionName: Test_Close_Without_Shutdown_Sync::run_synchronous_client
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - result
    - client::handle_connect
    - server
    - client
    - teardown
    linkageType: ''
    returnType: void
    signature: void run_synchronous_client() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 719
    functionName: Test_No_Shutdown_Response::Test_No_Shutdown_Response
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_No_Shutdown_Response(net::io_context& ioc,\n                                const
      std::string& config_name,\n                                const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                                const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:724,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:726,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:726,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:726,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:727,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:729,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:732,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:735,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:737,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:738,1
    - Dst: c_str
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:738,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:739,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:740,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:740,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:741,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:744,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:745,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:745,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:745,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:745,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:746,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:747,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:747,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:750,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 754
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 754
    functionName: Test_No_Shutdown_Response::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    - result
    - shared_from_this
    - std::bind
    - client
    - size
    - c_str
    - teardown
    linkageType: ''
    returnType: void
    signature: void run(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: Test_No_Shutdown_Response_Sync::Test_No_Shutdown_Response_Sync
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_No_Shutdown_Response_Sync(net::io_context& ioc,\n                                     const
      std::string& config_name,\n                                     const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                                     const
      std::shared_ptr<const Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client::handle_connect
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:767,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:767,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:768,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:770,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:771,1
    - Dst: cryptofuzz::Botan_Importer::write
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:773,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:773,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:774,1
    - Dst: c_str
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:774,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:775,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:777,1
    - Dst: Server::expect_short_read
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:779,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:779,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:779,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:780,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:781,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:781,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:784,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 787
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 787
    functionName: Test_No_Shutdown_Response_Sync::run_synchronous_client
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    - result
    - client::handle_connect
    - cryptofuzz::Botan_Importer::write
    - client
    - size
    - c_str
    - Server::expect_short_read
    - teardown
    linkageType: ''
    returnType: void
    signature: void run_synchronous_client() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 798
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 798
    functionName: Test_Conversation_With_Move::Test_Conversation_With_Move
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - server
    linkageType: ''
    returnType: void
    signature: "void Test_Conversation_With_Move(net::io_context& ioc,\n                                  const
      std::string& config_name,\n                                  const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                                  const
      std::shared_ptr<const Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 818
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 818
    functionName: Test_Handshake_Failure::Test_Handshake_Failure
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - server
    linkageType: ''
    returnType: void
    signature: "void Test_Handshake_Failure(net::io_context& ioc,\n                             const
      std::string& config_name,\n                             const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                             const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:823,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:825,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:825,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:825,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:826,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:828,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:831,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:833,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 836
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 836
    functionName: Test_Handshake_Failure::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - result
    - shared_from_this
    - std::bind
    - client
    - teardown
    linkageType: ''
    returnType: void
    signature: void run(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 848
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 848
    functionName: Test_Handshake_Failure_Sync::Test_Handshake_Failure_Sync
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - server
    linkageType: ''
    returnType: void
    signature: "void Test_Handshake_Failure_Sync(net::io_context& ioc,\n                                  const
      std::string& config_name,\n                                  const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                                  const
      std::shared_ptr<const Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client::handle_connect
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:852,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:852,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:853,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:855,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:856,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:858,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 860
    functionName: Test_Handshake_Failure_Sync::run_synchronous_client
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - teardown
    - result
    - client
    - client::handle_connect
    linkageType: ''
    returnType: void
    signature: void run_synchronous_client() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:866,1
    - Dst: std::make_shared<Botan::TLS::Text_Policy>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:867,1
    - Dst: std::make_shared<Botan::TLS::Text_Policy>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - n
    - ' cp'
    - ' sp'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 868
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 868
    functionName: SystemConfiguration::SystemConfiguration
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<Botan::TLS::Text_Policy>
    linkageType: ''
    returnType: void
    signature: void SystemConfiguration(std::string n, const std::string& cp, const
      std::string& sp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<TestT>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:874,1
    - Dst: auto::run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:876,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:880,1
    - Dst: auto::fail
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:884,1
    - Dst: auto::fail
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:886,1
    - Dst: what
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:886,1
    - Dst: auto::finishAsynchronousWork
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:890,1
    - Dst: auto::extend_results
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:891,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 892
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 892
    functionName: SystemConfiguration::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - auto::run
    - auto::extend_results
    - what
    - std::make_shared<TestT>
    - auto::finishAsynchronousWork
    - net::io_context::run
    - auto::fail
    linkageType: ''
    returnType: void
    signature: void run(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemConfiguration
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:903,1
    - Dst: SystemConfiguration
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:905,1
    - Dst: SystemConfiguration
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:907,1
    - Dst: SystemConfiguration
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:910,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:919,1
    - Dst: get_configurations
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:922,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:924,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:925,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:926,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:927,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:928,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:929,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:930,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:931,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:932,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:933,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:934,1
    - Dst: BOTAN_REGISTER_TEST
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 943
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 943
    functionName: get_configurations
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_REGISTER_TEST
    - SystemConfiguration
    - get_configurations
    - run
    linkageType: ''
    returnType: std::vector<SystemConfiguration>
    signature: std::vector<SystemConfiguration> get_configurations()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: Botan_Tests::ML_DSA_Verify_KAT_Tests::ML_DSA_Verify_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_ml_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ML_DSA_Verify_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::ML_DSA_Verify_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ml_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_Tests::ML_DSA_Verify_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_ml_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ml_dsa.cpp:30,1
    - Dst: std::make_unique<Botan::ML_DSA_PublicKey>
      Src: /src/botan/src/tests/test_ml_dsa.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ml_dsa.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: Botan_Tests::ML_DSA_Verify_KAT_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ml_dsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - std::make_unique<Botan::ML_DSA_PublicKey>
    - get_req_str
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan_Tests::Frodo_KAT_Tests::Frodo_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Frodo_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FrodoKEMMode::FrodoKEMMode
      Src: /src/botan/src/tests/test_frodokem.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan_Tests::Frodo_KAT_Tests::get_mode
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEMMode::FrodoKEMMode
    linkageType: ''
    returnType: Botan::FrodoKEMMode
    signature: Botan::FrodoKEMMode get_mode(const std::string& mode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Frodo_KAT_Tests::get_mode
      Src: /src/botan/src/tests/test_frodokem.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan_Tests::Frodo_KAT_Tests::is_available
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Frodo_KAT_Tests::get_mode
    linkageType: ''
    returnType: bool
    signature: bool is_available(const std::string& mode) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_frodokem.cpp:45,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_frodokem.cpp:45,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/tests/test_frodokem.cpp:47,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_frodokem.cpp:48,1
    - Dst: auto::output
      Src: /src/botan/src/tests/test_frodokem.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - var_type
    argTypes:
    - std::span<const uint8_t>
    - VarType
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: Botan_Tests::Frodo_KAT_Tests::map_value
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - auto::update
    - auto::output
    - Botan::XOF::create_or_throw
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> map_value(const std::string&, std::span<const
      uint8_t> value, VarType var_type) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_frodokem.cpp:54,1
    - Dst: Botan::FrodoKEMConstants::len_sec_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:54,1
    - Dst: Botan::FrodoKEMConstants::len_se_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:54,1
    - Dst: Botan::FrodoKEMConstants::len_a_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mode'
    - ' rng'
    argTypes:
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan_Tests::Frodo_KAT_Tests::rng_for_keygen
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEMConstants::len_sec_bytes
    - Botan::FrodoKEMConstants::len_a_bytes
    - Fixed_Output_RNG
    - Botan::FrodoKEMConstants::len_se_bytes
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_keygen(const std::string& mode, Botan::RandomNumberGenerator&
      rng) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_frodokem.cpp:59,1
    - Dst: Botan::FrodoKEMConstants::len_sec_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:59,1
    - Dst: Botan::FrodoKEMConstants::len_salt_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mode'
    - ' rng'
    argTypes:
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: Botan_Tests::Frodo_KAT_Tests::rng_for_encapsulation
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEMConstants::len_sec_bytes
    - Botan::FrodoKEMConstants::len_salt_bytes
    - Fixed_Output_RNG
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_encapsulation(const std::string& mode, Botan::RandomNumberGenerator&
      rng) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_frodokem.cpp:64,1
    - Dst: SHAKE_XOF
      Src: /src/botan/src/tests/test_frodokem.cpp:83,1
    - Dst: raw_private_key_bits
      Src: /src/botan/src/tests/test_frodokem.cpp:84,1
    - Dst: std::span<const uint8_t>
      Src: /src/botan/src/tests/test_frodokem.cpp:85,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_frodokem.cpp:85,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:85,1
    - Dst: update
      Src: /src/botan/src/tests/test_frodokem.cpp:86,1
    - Dst: update
      Src: /src/botan/src/tests/test_frodokem.cpp:87,1
    - Dst: output
      Src: /src/botan/src/tests/test_frodokem.cpp:88,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:88,1
    - Dst: Botan::FrodoKEMMode::is_available
      Src: /src/botan/src/tests/test_frodokem.cpp:94,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_frodokem.cpp:98,1
    - Dst: Botan::FrodoKEMMode::to_string
      Src: /src/botan/src/tests/test_frodokem.cpp:98,1
    - Dst: Botan::FrodoKEM_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/test_frodokem.cpp:101,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/tests/test_frodokem.cpp:105,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_frodokem.cpp:107,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:107,1
    - Dst: Botan::PK_KEM_Encryptor::shared_key_length
      Src: /src/botan/src/tests/test_frodokem.cpp:107,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_frodokem.cpp:108,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:108,1
    - Dst: Botan::PK_KEM_Encryptor::encapsulated_key_length
      Src: /src/botan/src/tests/test_frodokem.cpp:108,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_frodokem.cpp:111,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:111,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_frodokem.cpp:113,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:113,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_frodokem.cpp:114,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_frodokem.cpp:114,1
    - Dst: Botan::PK_KEM_Decryptor::shared_key_length
      Src: /src/botan/src/tests/test_frodokem.cpp:114,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_frodokem.cpp:121,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:121,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_frodokem.cpp:122,1
    - Dst: get_decryption_error_value
      Src: /src/botan/src/tests/test_frodokem.cpp:124,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:124,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_frodokem.cpp:127,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:127,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_frodokem.cpp:128,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_frodokem.cpp:129,1
    - Dst: get_decryption_error_value
      Src: /src/botan/src/tests/test_frodokem.cpp:130,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_frodokem.cpp:133,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:135,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_frodokem.cpp:136,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_frodokem.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 142
    functionName: Botan_Tests::test_frodo_roundtrips
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::PK_KEM_Encryptor::encrypt
    - Botan::FrodoKEMMode::is_available
    - Botan::PK_KEM_Decryptor::decrypt
    - Botan::PK_KEM_Encryptor::shared_key_length
    - test_eq
    - output
    - raw_private_key_bits
    - Botan::PK_KEM_Decryptor::shared_key_length
    - Botan_Tests::Test::mutate_vec
    - std::span<const uint8_t>
    - auto::pop_back
    - auto::size
    - std::vector::emplace_back
    - update
    - Botan::FrodoKEM_PrivateKey::public_key_bits
    - auto::data
    - Botan::FrodoKEMMode::to_string
    - auto::shared_key
    - Botan_Tests::Test::new_rng
    - auto::encapsulated_shared_key
    - SHAKE_XOF
    - get_decryption_error_value
    - len_sec_bytes
    - Botan::PK_KEM_Encryptor::encapsulated_key_length
    - test_throws
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_frodo_roundtrips()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: std::string algo_name() const override
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: "class Frodo_Keygen_Tests final : public PK_Key_Generation_Test {\n
      \  public:\n      std::vector<std::string> keygen_params() const override {\n
      \        return {\n   #if defined(BOTAN_HAS_FRODOKEM_SHAKE)\n            \"FrodoKEM-640-SHAKE\",
      \"FrodoKEM-976-SHAKE\", \"eFrodoKEM-640-SHAKE\", \"eFrodoKEM-976-SHAKE\",\n
      \  #endif\n   #if defined(BOTAN_HAS_FRODOKEM_AES)\n               \"FrodoKEM-640-AES\",
      \"FrodoKEM-976-AES\", \"eFrodoKEM-640-AES\", \"eFrodoKEM-976-AES\",\n   #endif\n
      \        };\n      }"
    signature: "class Frodo_Keygen_Tests final : public PK_Key_Generation_Test {\n
      \  public:\n      std::vector<std::string> keygen_params() const override {\n
      \        return {\n   #if defined(BOTAN_HAS_FRODOKEM_SHAKE)\n            \"FrodoKEM-640-SHAKE\",
      \"FrodoKEM-976-SHAKE\", \"eFrodoKEM-640-SHAKE\", \"eFrodoKEM-976-SHAKE\",\n
      \  #endif\n   #if defined(BOTAN_HAS_FRODOKEM_AES)\n               \"FrodoKEM-640-AES\",
      \"FrodoKEM-976-AES\", \"eFrodoKEM-640-AES\", \"eFrodoKEM-976-AES\",\n   #endif\n
      \        };\n      } std::string algo_name() const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::FrodoKEM_PublicKey>
      Src: /src/botan/src/tests/test_frodokem.cpp:162,1
    - Dst: Botan::FrodoKEMMode::FrodoKEMMode
      Src: /src/botan/src/tests/test_frodokem.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Botan_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEMMode::FrodoKEMMode
    - std::make_unique<Botan::FrodoKEM_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: Botan_Tests::global_test_rng
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::new_rng
    linkageType: ''
    returnType: Botan::RandomNumberGenerator
    signature: Botan::RandomNumberGenerator & global_test_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:35,1
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:35,1
    - Dst: Botan::load_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:36,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:36,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: Botan_Tests::kem
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - auto::private_key_bits
    - Botan::create_private_key
    - Botan_Tests::global_test_rng
    - Botan::load_private_key
    - auto::algorithm_identifier
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> kem()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:40,1
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:40,1
    - Dst: Botan::load_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:41,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:41,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:41,1
    - Dst: dynamic_cast<Botan::PK_Key_Agreement_Key*>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:42,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:42,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:45,1
    - Dst: std::unique_ptr<Botan::PK_Key_Agreement_Key>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:46,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: Botan_Tests::kex_dh
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - auto::private_key_bits
    - std::unique_ptr<Botan::PK_Key_Agreement_Key>
    - auto::get
    - auto::release
    - Botan::create_private_key
    - Botan_Tests::global_test_rng
    - Test_Error
    - Botan::load_private_key
    - auto::algorithm_identifier
    - dynamic_cast<Botan::PK_Key_Agreement_Key*>
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Key_Agreement_Key>
    signature: std::unique_ptr<Botan::PK_Key_Agreement_Key> kex_dh()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:53,1
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:53,1
    - Dst: Botan::load_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:54,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:54,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:54,1
    - Dst: dynamic_cast<Botan::PK_Key_Agreement_Key*>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:55,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:55,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:58,1
    - Dst: std::unique_ptr<Botan::PK_Key_Agreement_Key>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:59,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: Botan_Tests::kex_ecdh
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - auto::private_key_bits
    - std::unique_ptr<Botan::PK_Key_Agreement_Key>
    - auto::get
    - auto::release
    - Botan::create_private_key
    - Botan_Tests::global_test_rng
    - Test_Error
    - Botan::load_private_key
    - auto::algorithm_identifier
    - dynamic_cast<Botan::PK_Key_Agreement_Key*>
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Key_Agreement_Key>
    signature: std::unique_ptr<Botan::PK_Key_Agreement_Key> kex_ecdh()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:66,1
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:66,1
    - Dst: Botan::load_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:67,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:67,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Botan_Tests::sig
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - auto::private_key_bits
    - Botan::create_private_key
    - Botan_Tests::global_test_rng
    - Botan::load_private_key
    - auto::algorithm_identifier
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> sig()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:73,1
    - Dst: std::forward<KeyTs>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: Botan_Tests::keys
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::forward<KeyTs>
    linkageType: ''
    returnType: auto
    signature: auto keys(KeyTs... keys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::public_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: Botan_Tests::as_public_key
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - T::public_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> as_public_key(T private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:89,1
    - Dst: Botan_Tests::as_public_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:89,1
    - Dst: std::forward<KeyTs>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: Botan_Tests::pubkeys
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::as_public_key
    - std::vector::push_back
    - std::forward<KeyTs>
    linkageType: ''
    returnType: auto
    signature: auto pubkeys(KeyTs... keys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:96,1
    - Dst: Botan::PK_Key_Agreement::agreed_value_size
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:97,1
    - Dst: Botan::PK_KEM_Encryptor::shared_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:101,1
    - Dst: f
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:104,1
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: Botan_Tests::length_of_hybrid_shared_key
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::PK_Key_Agreement::agreed_value_size
    - kex_kem_fn
    - Botan::PK_KEM_Encryptor::shared_key_length
    - f
    - Botan_Tests::global_test_rng
    linkageType: ''
    returnType: size_t
    signature: size_t length_of_hybrid_shared_key(Ts... kex_kem_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_value
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:109,1
    - Dst: Botan::PK_KEM_Encryptor::encapsulated_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:112,1
    - Dst: f
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:115,1
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: Botan_Tests::length_of_hybrid_ciphertext
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - kex_kem_fn
    - public_value
    - f
    - Botan::PK_KEM_Encryptor::encapsulated_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t length_of_hybrid_ciphertext(Ts... kex_kem_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_value
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:120,1
    - Dst: public_key_bits
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:121,1
    - Dst: f
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:123,1
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: Botan_Tests::length_of_hybrid_public_value
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - public_key_bits
    - public_value
    - f
    - kex_kem_fn
    linkageType: ''
    returnType: size_t
    signature: size_t length_of_hybrid_public_value(Ts... kex_kem_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:129,1
    - Dst: std::max_element
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:130,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:130,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: Botan_Tests::key_length_of_hybrid_public_key
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - std::max_element
    - std::vector::begin
    - std::vector::end
    - kex_kem_fn
    linkageType: ''
    returnType: size_t
    signature: size_t key_length_of_hybrid_public_key(Ts... kex_kem_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:135,1
    - Dst: std::max_element
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:136,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:136,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Botan_Tests::estimated_strength_of_hybrid_public_key
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - std::max_element
    - std::vector::begin
    - std::vector::end
    - kex_kem_fn
    linkageType: ''
    returnType: size_t
    signature: size_t estimated_strength_of_hybrid_public_key(Ts... kex_kem_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:141,1
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:141,1
    - Dst: Botan_Tests::pubkeys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:142,1
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:142,1
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:144,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:147,1
    - Dst: Botan_Tests::length_of_hybrid_shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:149,1
    - Dst: Botan_Tests::length_of_hybrid_ciphertext
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:150,1
    - Dst: Botan_Tests::length_of_hybrid_public_value
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:151,1
    - Dst: Botan_Tests::key_length_of_hybrid_public_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:152,1
    - Dst: Botan_Tests::estimated_strength_of_hybrid_public_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:153,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:155,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:156,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:157,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:157,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:158,1
    - Dst: Botan::PK_KEM_Encryptor::encapsulated_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:159,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:160,1
    - Dst: Botan::PK_KEM_Encryptor::shared_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:160,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:163,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:163,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:165,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:165,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:166,1
    - Dst: Botan::PK_KEM_Decryptor::shared_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:167,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:168,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:168,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:170,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:171,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:174,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey::key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:175,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:176,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey::estimated_strength
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 179
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 179
    functionName: Botan_Tests::roundtrip_test
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::PK_KEM_Encryptor::encrypt
    - Botan::PK_KEM_Decryptor::decrypt
    - Botan_Tests::keys
    - Botan::PK_KEM_Encryptor::shared_key_length
    - test_eq
    - Botan_Tests::global_test_rng
    - Botan::TLS::Hybrid_KEM_PublicKey::key_length
    - Botan::secure_vector::size
    - Botan_Tests::length_of_hybrid_public_value
    - Botan_Tests::pubkeys
    - Botan_Tests::key_length_of_hybrid_public_key
    - Botan::PK_KEM_Decryptor::shared_key_length
    - Botan_Tests::length_of_hybrid_ciphertext
    - Botan::TLS::Hybrid_KEM_PublicKey::estimated_strength
    - Botan_Tests::length_of_hybrid_shared_key
    - auto::shared_key
    - auto::encapsulated_shared_key
    - Botan_Tests::estimated_strength_of_hybrid_public_key
    - kex_kem_fn
    - Botan::PK_KEM_Encryptor::encapsulated_key_length
    - Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: void
    signature: void roundtrip_test(Test::Result& result, Ts... kex_kem_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:183,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:185,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:186,1
    - Dst: std::vector<std::unique_ptr<Botan::Public_Key>>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:186,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:190,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:192,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:193,1
    - Dst: std::vector<std::unique_ptr<Botan::Private_Key>>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:193,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:197,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:199,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:200,1
    - Dst: Botan_Tests::pubkeys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:200,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:201,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:202,1
    - Dst: Botan_Tests::pubkeys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:202,1
    - Dst: Botan_Tests::kem
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:202,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:203,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:204,1
    - Dst: Botan_Tests::pubkeys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:204,1
    - Dst: Botan_Tests::kex_dh
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:204,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:207,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:209,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:210,1
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:210,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:211,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:212,1
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:212,1
    - Dst: Botan_Tests::kem
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:212,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:213,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:214,1
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:214,1
    - Dst: Botan_Tests::kex_dh
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:214,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:217,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:219,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:220,1
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:220,1
    - Dst: Botan_Tests::sig
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:220,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:221,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:222,1
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:222,1
    - Dst: Botan_Tests::sig
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:222,1
    - Dst: Botan_Tests::kem
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:222,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:223,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:224,1
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:224,1
    - Dst: Botan_Tests::sig
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:224,1
    - Dst: Botan_Tests::kex_dh
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:224,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:227,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:228,1
    - Dst: Botan_Tests::roundtrip_test
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:228,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:229,1
    - Dst: Botan_Tests::roundtrip_test
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:229,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:230,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:232,1
    - Dst: Botan_Tests::roundtrip_test
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:232,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:233,1
    - Dst: Botan_Tests::roundtrip_test
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:233,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:234,1
    - Dst: Botan_Tests::roundtrip_test
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:234,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:235,1
    - Dst: Botan_Tests::roundtrip_test
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 237
    functionName: Botan_Tests::hybrid_kem_keypair
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector<std::unique_ptr<Botan::Public_Key>>
    - Botan_Tests::kex_dh
    - Botan::TLS::Hybrid_KEM_PublicKey
    - Botan_Tests::CHECK
    - Botan_Tests::kem
    - Botan_Tests::keys
    - Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
    - Botan_Tests::sig
    - test_throws
    - std::vector<std::unique_ptr<Botan::Private_Key>>
    - Botan_Tests::pubkeys
    - Botan_Tests::roundtrip_test
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> hybrid_kem_keypair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:244,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:247,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:249,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:250,1
    - Dst: Botan::PK_KEM_Encryptor::encapsulated_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:251,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:252,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:252,1
    - Dst: Botan::PK_KEM_Encryptor::shared_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:252,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:256,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:257,1
    - Dst: Botan::PK_KEM_Decryptor::encapsulated_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:258,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:260,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:260,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:262,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:263,1
    - Dst: Botan::PK_KEM_Decryptor::shared_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:263,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:265,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' result'
    - ' kex_fn'
    argTypes:
    - Test::Result
    - std::function<std::unique_ptr<Botan::PK_Key_Agreement_Key>()>
    constantsTouched: []
    func_position:
      end: 266
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 266
    functionName: Botan_Tests::kex_to_kem_roundtrip
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::PK_KEM_Encryptor::encrypt
    - Botan::PK_KEM_Decryptor::decrypt
    - Botan::PK_KEM_Encryptor::shared_key_length
    - Botan::PK_KEM_Decryptor::encapsulated_key_length
    - test_eq
    - Botan::PK_KEM_Decryptor::shared_key_length
    - Botan::PK_KEM_Encryptor::encapsulated_key_length
    - Botan_Tests::global_test_rng
    - Botan::secure_vector::size
    - auto::shared_key
    - auto::encapsulated_shared_key
    linkageType: ''
    returnType: void
    signature: "void kex_to_kem_roundtrip(Test::Result& result,\n                          const
      std::function<std::unique_ptr<Botan::PK_Key_Agreement_Key>()>& kex_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:270,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:272,1
    - Dst: Botan::KEX_to_KEM_Adapter_PrivateKey::KEX_to_KEM_Adapter_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:273,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:274,1
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:275,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:278,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:280,1
    - Dst: Botan_Tests::kem
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:281,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:284,1
    - Dst: Botan_Tests::kex_to_kem_roundtrip
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:284,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:285,1
    - Dst: Botan_Tests::kex_to_kem_roundtrip
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 287
    functionName: Botan_Tests::kex_to_kem_adapter
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey
    - Botan_Tests::CHECK
    - Botan_Tests::kem
    - test_throws
    - Botan::KEX_to_KEM_Adapter_PrivateKey::KEX_to_KEM_Adapter_PrivateKey
    - Botan_Tests::kex_to_kem_roundtrip
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> kex_to_kem_adapter()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_Tests::PBKDF_KAT_Tests::PBKDF_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PBKDF_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:30,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pbkdf.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:32,1
    - Dst: Botan::PBKDF::create
      Src: /src/botan/src/tests/test_pbkdf.cpp:36,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_pbkdf.cpp:39,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:43,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pbkdf.cpp:43,1
    - Dst: auto::derive_key
      Src: /src/botan/src/tests/test_pbkdf.cpp:46,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pbkdf.cpp:46,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pbkdf.cpp:46,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:47,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/tests/test_pbkdf.cpp:49,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_pbkdf.cpp:52,1
    - Dst: auto::from_params
      Src: /src/botan/src/tests/test_pbkdf.cpp:56,1
    - Dst: auto::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' pbkdf_name'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 64
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 64
    functionName: Botan_Tests::PBKDF_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - auto::name
    - Test::Result::test_eq
    - auto::derive_key
    - get_req_str
    - auto::hash
    - Botan::PasswordHashFamily::create
    - Test::Result::note_missing
    - get_req_bin
    - Botan::PBKDF::create
    - auto::from_params
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& pbkdf_name, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_pbkdf.cpp:77,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_pbkdf.cpp:78,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/tests/test_pbkdf.cpp:83,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_pbkdf.cpp:86,1
    - Dst: auto::tune
      Src: /src/botan/src/tests/test_pbkdf.cpp:91,1
    - Dst: auto::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:94,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pbkdf.cpp:98,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pbkdf.cpp:98,1
    - Dst: auto::from_params
      Src: /src/botan/src/tests/test_pbkdf.cpp:99,1
    - Dst: auto::memory_param
      Src: /src/botan/src/tests/test_pbkdf.cpp:100,1
    - Dst: auto::iterations
      Src: /src/botan/src/tests/test_pbkdf.cpp:100,1
    - Dst: auto::parallelism
      Src: /src/botan/src/tests/test_pbkdf.cpp:100,1
    - Dst: auto::from_params
      Src: /src/botan/src/tests/test_pbkdf.cpp:102,1
    - Dst: auto::iterations
      Src: /src/botan/src/tests/test_pbkdf.cpp:102,1
    - Dst: std::unique_ptr::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:106,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:108,1
    - Dst: auto::default_params
      Src: /src/botan/src/tests/test_pbkdf.cpp:110,1
    - Dst: auto::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:112,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_pbkdf.cpp:114,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pbkdf.cpp:116,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pbkdf.cpp:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 123
    functionName: Botan_Tests::Pwdhash_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - auto::tune
    - std::vector::push_back
    - auto::memory_param
    - auto::name
    - std::unique_ptr::hash
    - Test::Result::test_note
    - Test::Result::test_eq
    - auto::hash
    - Botan::PasswordHashFamily::create
    - auto::parallelism
    - auto::default_params
    - Botan_CLI::Timer::milliseconds
    - auto::iterations
    - Test::Result::end_timer
    - Test::Result::start_timer
    - auto::from_params
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Botan_Tests::Bcrypt_PBKDF_KAT_Tests::Bcrypt_PBKDF_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bcrypt_PBKDF_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:138,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pbkdf.cpp:139,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:140,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/tests/test_pbkdf.cpp:144,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pbkdf.cpp:147,1
    - Dst: auto::from_iterations
      Src: /src/botan/src/tests/test_pbkdf.cpp:151,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pbkdf.cpp:153,1
    - Dst: auto::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:154,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: Botan_Tests::Bcrypt_PBKDF_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Test::Result::test_eq
    - auto::from_iterations
    - get_req_str
    - auto::hash
    - Botan::PasswordHashFamily::create
    - Test::Result::test_failure
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Botan_Tests::Scrypt_KAT_Tests::Scrypt_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scrypt_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:176,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pbkdf.cpp:177,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:178,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_pbkdf.cpp:182,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/tests/test_pbkdf.cpp:186,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pbkdf.cpp:189,1
    - Dst: auto::from_params
      Src: /src/botan/src/tests/test_pbkdf.cpp:193,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pbkdf.cpp:195,1
    - Dst: auto::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:196,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 201
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 201
    functionName: Botan_Tests::Scrypt_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Test::Result::test_eq
    - get_req_str
    - auto::hash
    - Botan_Tests::Test::run_long_tests
    - Botan::PasswordHashFamily::create
    - Test::Result::test_failure
    - get_req_bin
    - auto::from_params
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: Botan_Tests::Argon2_KAT_Tests::Argon2_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Argon2_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:218,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:219,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:220,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:221,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:222,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/tests/test_pbkdf.cpp:226,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pbkdf.cpp:229,1
    - Dst: auto::from_params
      Src: /src/botan/src/tests/test_pbkdf.cpp:233,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_pbkdf.cpp:235,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_pbkdf.cpp:235,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pbkdf.cpp:237,1
    - Dst: auto::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:238,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' mode'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 243
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 243
    functionName: Botan_Tests::Argon2_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_opt_bin
    - Test::Result::test_eq
    - auto::hash
    - Botan::PasswordHashFamily::create
    - Test::Result::test_failure
    - get_req_bin
    - std::vector::begin
    - std::vector::end
    - auto::from_params
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& mode, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:260,1
    - Dst: Botan::RFC4880_encode_count
      Src: /src/botan/src/tests/test_pbkdf.cpp:260,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:261,1
    - Dst: Botan::RFC4880_encode_count
      Src: /src/botan/src/tests/test_pbkdf.cpp:261,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:266,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:269,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_pbkdf.cpp:276,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_pbkdf.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 289
    functionName: Botan_Tests::PGP_S2K_Iter_Test::run
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::RFC4880_encode_count
    - Test::Result::test_gte
    - Test::Result::test_lte
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:34,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:39,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:40,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tests.cpp:45,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tests.cpp:45,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:46,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tests.cpp:51,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:52,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:55,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_tests.cpp:55,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tests.cpp:60,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:61,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tests.cpp:67,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:68,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tests.cpp:74,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tests.cpp:74,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tests.cpp:74,1
    - Dst: data
      Src: /src/botan/src/tests/test_tests.cpp:74,1
    - Dst: size
      Src: /src/botan/src/tests/test_tests.cpp:74,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:75,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tests.cpp:81,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:82,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tests.cpp:88,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:89,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_tests.cpp:94,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:95,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_tests.cpp:100,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:101,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_tests.cpp:106,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:107,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_tests.cpp:112,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:113,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tests.cpp:118,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:119,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_tests.cpp:124,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:125,1
    - Dst: Test::Result::test_rc
      Src: /src/botan/src/tests/test_tests.cpp:130,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:131,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_tests.cpp:136,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:137,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:142,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/test_tests.cpp:143,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:144,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:149,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tests.cpp:151,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:153,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:158,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:159,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:164,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/test_tests.cpp:165,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:166,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:171,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/test_tests.cpp:172,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:173,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_tests.cpp:178,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/test_tests.cpp:178,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:179,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/tests/test_tests.cpp:185,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/tests/test_tests.cpp:186,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tests.cpp:187,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:188,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/tests/test_tests.cpp:193,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/tests/test_tests.cpp:194,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tests.cpp:195,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:196,1
    - Dst: Botan_Tests::Test_Tests::test_testsuite_rng
      Src: /src/botan/src/tests/test_tests.cpp:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 201
    functionName: Botan_Tests::Test_Tests::run
    functionSourceFile: /src/botan/src/tests/test_tests.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_lt
    - Test::Result::test_lte
    - std::string
    - Test::Result::test_gte
    - Botan::BigInt::from_word
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - data
    - Test::Result::test_throws
    - Test::Result::test_no_throw
    - Botan_Tests::Test_Tests::test_testsuite_rng
    - Test::Result::test_failure
    - Test::Result::test_is_nonempty
    - std::vector::data
    - Botan_Tests::Test_Tests::verify_failure
    - std::vector::size
    - Test::Result::test_rc
    - Botan_Tests::Test::Result::Failure
    - Test::Result::test_ne
    - std::runtime_error
    - size
    - Test::Result::test_rc_ok
    - Test::Result::test_rc_fail
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tests.cpp:211,1
    - Dst: auto::next_byte
      Src: /src/botan/src/tests/test_tests.cpp:214,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tests.cpp:219,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tests.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 226
    functionName: Botan_Tests::Test_Tests::test_testsuite_rng
    functionSourceFile: /src/botan/src/tests/test_tests.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_success
    - auto::next_byte
    - Test::Result::test_failure
    - Botan_Tests::Test::new_rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_testsuite_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tests_failed
      Src: /src/botan/src/tests/test_tests.cpp:229,1
    - Dst: test_success
      Src: /src/botan/src/tests/test_tests.cpp:230,1
    - Dst: result_string
      Src: /src/botan/src/tests/test_tests.cpp:231,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tests.cpp:233,1
    - Dst: std::string::find
      Src: /src/botan/src/tests/test_tests.cpp:233,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tests.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' what'
    - ' result'
    - ' test_result'
    argTypes:
    - std::string
    - Test::Result
    - Test::Result
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: Botan_Tests::Test_Tests::verify_failure
    functionSourceFile: /src/botan/src/tests/test_tests.cpp
    functionUses: 1
    functionsReached:
    - tests_failed
    - test_success
    - std::string::find
    - test_failure
    - result_string
    - confirm
    linkageType: ''
    returnType: void
    signature: void verify_failure(const std::string& what, Test::Result& result,
      const Test::Result& test_result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::X448_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_Tests::X448_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::X448_PublicKey>
      Src: /src/botan/src/tests/test_x448.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_pk
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: Botan_Tests::X448_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::X448_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan_Tests::X448_Agreement_Tests::X448_Agreement_Tests
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X448_Agreement_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x448.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: Botan_Tests::X448_Agreement_Tests::agreement_should_fail
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    linkageType: ''
    returnType: bool
    signature: bool agreement_should_fail(const std::string& /*unused*/, const VarMap&
      vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan_Tests::X448_Agreement_Tests::default_kdf
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_kdf(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x448.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_x448.cpp:51,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_x448.cpp:51,1
    - Dst: std::make_unique<Botan::X448_PrivateKey>
      Src: /src/botan/src/tests/test_x448.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan_Tests::X448_Agreement_Tests::load_our_key
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - std::make_unique<Botan::X448_PrivateKey>
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_our_key(const std::string&
      /*header*/, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x448.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan_Tests::X448_Agreement_Tests::load_their_key
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> load_their_key(const std::string& /*header*/,
      const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/tests/test_rngs.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: Botan_Tests::CTR_DRBG_AES256::clear
    functionSourceFile: /src/botan/src/tests/test_rngs.cpp
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void CTR_DRBG_AES256::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/tests/test_rngs.cpp:27,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_rngs.cpp:28,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_rngs.cpp:29,1
    - Dst: Botan_Tests::CTR_DRBG_AES256::clear
      Src: /src/botan/src/tests/test_rngs.cpp:32,1
    - Dst: Botan_Tests::CTR_DRBG_AES256::update
      Src: /src/botan/src/tests/test_rngs.cpp:33,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/tests/test_rngs.cpp:36,1
    - Dst: Botan_Tests::CTR_DRBG_AES256::incr_V_into
      Src: /src/botan/src/tests/test_rngs.cpp:41,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/tests/test_rngs.cpp:41,1
    - Dst: encrypt_n
      Src: /src/botan/src/tests/test_rngs.cpp:44,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/tests/test_rngs.cpp:44,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/tests/test_rngs.cpp:44,1
    - Dst: Botan_Tests::CTR_DRBG_AES256::incr_V_into
      Src: /src/botan/src/tests/test_rngs.cpp:48,1
    - Dst: encrypt
      Src: /src/botan/src/tests/test_rngs.cpp:49,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_rngs.cpp:50,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/tests/test_rngs.cpp:50,1
    - Dst: Botan_Tests::CTR_DRBG_AES256::update
      Src: /src/botan/src/tests/test_rngs.cpp:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 55
    functionName: Botan_Tests::CTR_DRBG_AES256::fill_bytes_with_input
    functionSourceFile: /src/botan/src/tests/test_rngs.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::subspan
    - Botan_Tests::CTR_DRBG_AES256::incr_V_into
    - encrypt_n
    - Botan_Tests::CTR_DRBG_AES256::clear
    - std::span<const uint8_t>::size
    - Botan_Tests::CTR_DRBG_AES256::update
    - std::span<uint8_t>::empty
    - Test_Error
    - std::span<uint8_t>::data
    - encrypt
    - Botan::copy_mem
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void CTR_DRBG_AES256::fill_bytes_with_input(std::span<uint8_t> output,
      std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/tests/test_rngs.cpp:58,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_rngs.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seed
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: Botan_Tests::CTR_DRBG_AES256::CTR_DRBG_AES256
    functionSourceFile: /src/botan/src/tests/test_rngs.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - add_entropy
    linkageType: ''
    returnType: void
    signature: void CTR_DRBG_AES256::CTR_DRBG_AES256(std::span<const uint8_t> seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_rngs.cpp:63,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/tests/test_rngs.cpp:63,1
    - Dst: Botan::store_be<uint64_t>
      Src: /src/botan/src/tests/test_rngs.cpp:70,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/tests/test_rngs.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: Botan_Tests::CTR_DRBG_AES256::incr_V_into
    functionSourceFile: /src/botan/src/tests/test_rngs.cpp
    functionUses: 1
    functionsReached:
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - Botan::store_be<uint64_t>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void CTR_DRBG_AES256::incr_V_into(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CTR_DRBG_AES256::incr_V_into
      Src: /src/botan/src/tests/test_rngs.cpp:78,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_rngs.cpp:78,1
    - Dst: encrypt_n
      Src: /src/botan/src/tests/test_rngs.cpp:81,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_rngs.cpp:81,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_rngs.cpp:81,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/tests/test_rngs.cpp:83,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_rngs.cpp:84,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_rngs.cpp:84,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_rngs.cpp:84,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_rngs.cpp:85,1
    - Dst: set_key
      Src: /src/botan/src/tests/test_rngs.cpp:90,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_rngs.cpp:90,1
    - Dst: Botan::load_be<uint64_t>
      Src: /src/botan/src/tests/test_rngs.cpp:92,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_rngs.cpp:92,1
    - Dst: Botan::load_be<uint64_t>
      Src: /src/botan/src/tests/test_rngs.cpp:93,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_rngs.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - provided_data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: Botan_Tests::CTR_DRBG_AES256::update
    functionSourceFile: /src/botan/src/tests/test_rngs.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::CTR_DRBG_AES256::incr_V_into
    - set_key
    - std::array::data
    - encrypt_n
    - std::span<const uint8_t>::size
    - std::array::size
    - Botan::load_be<uint64_t>
    - BOTAN_ASSERT_NOMSG
    - std::span::subspan
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void CTR_DRBG_AES256::update(std::span<const uint8_t> provided_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::RFC3394_Keywrap_Tests::RFC3394_Keywrap_Tests
    functionSourceFile: /src/botan/src/tests/test_keywrap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RFC3394_Keywrap_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:32,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:33,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_keywrap.cpp:36,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_keywrap.cpp:36,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_keywrap.cpp:37,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_keywrap.cpp:37,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_keywrap.cpp:39,1
    - Dst: Botan::rfc3394_keywrap
      Src: /src/botan/src/tests/test_keywrap.cpp:39,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_keywrap.cpp:40,1
    - Dst: Botan::rfc3394_keyunwrap
      Src: /src/botan/src/tests/test_keywrap.cpp:40,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_keywrap.cpp:42,1
    - Dst: what
      Src: /src/botan/src/tests/test_keywrap.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: Botan_Tests::RFC3394_Keywrap_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_keywrap.cpp
    functionUses: 0
    functionsReached:
    - what
    - Test::Result::test_eq
    - Botan::rfc3394_keywrap
    - Botan::rfc3394_keyunwrap
    - Test::Result::test_failure
    - get_req_bin
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan_Tests::NIST_Keywrap_Tests::NIST_Keywrap_Tests
    functionSourceFile: /src/botan/src/tests/test_keywrap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NIST_Keywrap_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_keywrap.cpp:63,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:66,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:67,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:68,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/tests/test_keywrap.cpp:71,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_keywrap.cpp:71,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:71,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_keywrap.cpp:73,1
    - Dst: nist_key_wrap
      Src: /src/botan/src/tests/test_keywrap.cpp:78,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_keywrap.cpp:78,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:78,1
    - Dst: nist_key_wrap_padded
      Src: /src/botan/src/tests/test_keywrap.cpp:80,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_keywrap.cpp:80,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:80,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_keywrap.cpp:83,1
    - Dst: nist_key_unwrap
      Src: /src/botan/src/tests/test_keywrap.cpp:88,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_keywrap.cpp:88,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:88,1
    - Dst: nist_key_unwrap_padded
      Src: /src/botan/src/tests/test_keywrap.cpp:90,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_keywrap.cpp:90,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:90,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_keywrap.cpp:93,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_keywrap.cpp:95,1
    - Dst: what
      Src: /src/botan/src/tests/test_keywrap.cpp:95,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_keywrap.cpp:98,1
    - Dst: what
      Src: /src/botan/src/tests/test_keywrap.cpp:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ' typ'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 102
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 102
    functionName: Botan_Tests::NIST_Keywrap_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_keywrap.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - std::vector::size
    - std::vector::data
    - std::to_string
    - what
    - Test::Result::test_eq
    - nist_key_unwrap_padded
    - nist_key_unwrap
    - nist_key_wrap_padded
    - nist_key_wrap
    - Test_Error
    - Test::Result::test_failure
    - get_req_bin
    - std::unique_ptr::set_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& typ, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan_Tests::NIST_Keywrap_Invalid_Tests::NIST_Keywrap_Invalid_Tests
    functionSourceFile: /src/botan/src/tests/test_keywrap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NIST_Keywrap_Invalid_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_keywrap.cpp:116,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:119,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:120,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/tests/test_keywrap.cpp:123,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_keywrap.cpp:123,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:123,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_keywrap.cpp:125,1
    - Dst: nist_key_unwrap
      Src: /src/botan/src/tests/test_keywrap.cpp:130,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_keywrap.cpp:130,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:130,1
    - Dst: nist_key_unwrap_padded
      Src: /src/botan/src/tests/test_keywrap.cpp:132,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_keywrap.cpp:132,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:132,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_keywrap.cpp:135,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_keywrap.cpp:137,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_keywrap.cpp:140,1
    - Dst: what
      Src: /src/botan/src/tests/test_keywrap.cpp:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' typ'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 144
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 144
    functionName: Botan_Tests::NIST_Keywrap_Invalid_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_keywrap.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - std::vector::size
    - std::vector::data
    - std::to_string
    - what
    - nist_key_unwrap_padded
    - nist_key_unwrap
    - Test_Error
    - Test::Result::test_failure
    - Test::Result::test_success
    - get_req_bin
    - std::unique_ptr::set_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& typ, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/main.cpp:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' err'
    - ' list'
    argTypes:
    - std::ostringstream
    - std::set<std::string>
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: print_item_list
    functionSourceFile: /src/botan/src/tests/main.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void print_item_list(std::ostringstream& err, const std::set<std::string>&
      list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_item_list
      Src: /src/botan/src/tests/main.cpp:45,1
    - Dst: Botan_Tests::Test::registered_tests
      Src: /src/botan/src/tests/main.cpp:45,1
    - Dst: print_item_list
      Src: /src/botan/src/tests/main.cpp:51,1
    - Dst: Botan_Tests::Test::registered_test_categories
      Src: /src/botan/src/tests/main.cpp:51,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/main.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' spec'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: help_text
    functionSourceFile: /src/botan/src/tests/main.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - print_item_list
    - Botan_Tests::Test::registered_test_categories
    - Botan_Tests::Test::registered_tests
    linkageType: ''
    returnType: std::string
    signature: std::string help_text(const std::string& spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::runtime_version_check
      Src: /src/botan/src/tests/main.cpp:59,1
    - Dst: Botan_CLI::Argument_Parser::parse_args
      Src: /src/botan/src/tests/main.cpp:73,1
    - Dst: std::vector<std::string>
      Src: /src/botan/src/tests/main.cpp:73,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:75,1
    - Dst: help_text
      Src: /src/botan/src/tests/main.cpp:76,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:80,1
    - Dst: Botan_Tests::Test::registered_tests
      Src: /src/botan/src/tests/main.cpp:81,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_sz
      Src: /src/botan/src/tests/main.cpp:92,1
    - Dst: ::setenv
      Src: /src/botan/src/tests/main.cpp:93,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_list
      Src: /src/botan/src/tests/main.cpp:97,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_list
      Src: /src/botan/src/tests/main.cpp:98,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_or
      Src: /src/botan/src/tests/main.cpp:99,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/tests/main.cpp:100,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/tests/main.cpp:101,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/tests/main.cpp:102,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/tests/main.cpp:103,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_hex_sz_or
      Src: /src/botan/src/tests/main.cpp:104,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_hex_sz_or
      Src: /src/botan/src/tests/main.cpp:105,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_or
      Src: /src/botan/src/tests/main.cpp:106,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/tests/main.cpp:107,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/tests/main.cpp:108,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_list
      Src: /src/botan/src/tests/main.cpp:109,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_sz
      Src: /src/botan/src/tests/main.cpp:110,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_sz
      Src: /src/botan/src/tests/main.cpp:111,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:112,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:113,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:114,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:115,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:116,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:117,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:118,1
    - Dst: Botan_Tests::Test_Runner::run
      Src: /src/botan/src/tests/main.cpp:122,1
    - Dst: what
      Src: /src/botan/src/tests/main.cpp:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 129
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/botan/src/tests/main.cpp
    functionUses: 11
    functionsReached:
    - help_text
    - Botan_CLI::Argument_Parser::get_arg_sz
    - Botan_CLI::Argument_Parser::parse_args
    - Botan_CLI::Argument_Parser::get_arg_list
    - what
    - Botan_CLI::Argument_Parser::flag_set
    - Botan::runtime_version_check
    - Botan_Tests::Test::registered_tests
    - ::setenv
    - Botan_Tests::Test_Runner::run
    - Botan_CLI::Argument_Parser::get_arg_or
    - Botan_CLI::Argument_Parser::get_arg
    - std::vector<std::string>
    - Botan_CLI::Argument_Parser::get_arg_hex_sz_or
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan_Tests::EME_PKCS1v15_Decoding_Tests::EME_PKCS1v15_Decoding_Tests
    functionSourceFile: /src/botan/src/tests/test_pk_pad.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EME_PKCS1v15_Decoding_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EME::create
      Src: /src/botan/src/tests/test_pk_pad.cpp:27,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pk_pad.cpp:32,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_pk_pad.cpp:33,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pk_pad.cpp:36,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pk_pad.cpp:36,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pk_pad.cpp:39,1
    - Dst: auto::unpad
      Src: /src/botan/src/tests/test_pk_pad.cpp:40,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pk_pad.cpp:42,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_pk_pad.cpp:42,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_pk_pad.cpp:44,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_pk_pad.cpp:45,1
    - Dst: auto::value_or
      Src: /src/botan/src/tests/test_pk_pad.cpp:45,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pk_pad.cpp:46,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pk_pad.cpp:49,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pk_pad.cpp:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ' hdr'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: Botan_Tests::EME_PKCS1v15_Decoding_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pk_pad.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_opt_bin
    - Botan::EME::create
    - auto::unpad
    - Test::Result::test_eq
    - Test::Result::confirm
    - auto::value_or
    - get_req_bin
    - auto::has_value
    - std::vector::resize
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& hdr, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA::create_or_throw
      Src: /src/botan/src/tests/test_pk_pad.cpp:103,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pk_pad.cpp:103,1
    - Dst: Botan::EMSA::create
      Src: /src/botan/src/tests/test_pk_pad.cpp:104,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pk_pad.cpp:104,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pk_pad.cpp:105,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pk_pad.cpp:105,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pk_pad.cpp:105,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pk_pad.cpp:107,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pk_pad.cpp:109,1
    - Dst: what
      Src: /src/botan/src/tests/test_pk_pad.cpp:109,1
    - Dst: Botan::EMSA::create_or_throw
      Src: /src/botan/src/tests/test_pk_pad.cpp:116,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pk_pad.cpp:117,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pk_pad.cpp:119,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pk_pad.cpp:121,1
    - Dst: what
      Src: /src/botan/src/tests/test_pk_pad.cpp:122,1
    - Dst: Botan::EMSA::create
      Src: /src/botan/src/tests/test_pk_pad.cpp:128,1
    - Dst: Botan::EMSA::create
      Src: /src/botan/src/tests/test_pk_pad.cpp:129,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pk_pad.cpp:129,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pk_pad.cpp:130,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pk_pad.cpp:130,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pk_pad.cpp:130,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pk_pad.cpp:132,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pk_pad.cpp:134,1
    - Dst: what
      Src: /src/botan/src/tests/test_pk_pad.cpp:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 139
    functionName: Botan_Tests::EMSA_unit_tests::run
    functionSourceFile: /src/botan/src/tests/test_pk_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - auto::name
    - Test::Result::test_note
    - what
    - Test::Result::test_eq
    - Botan::EMSA::create_or_throw
    - Test::Result::test_failure
    - Botan::EMSA::create
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_Tests::X25519_Agreement_Tests::X25519_Agreement_Tests
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X25519_Agreement_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x25519.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: Botan_Tests::X25519_Agreement_Tests::agreement_should_fail
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    linkageType: ''
    returnType: bool
    signature: bool agreement_should_fail(const std::string& /*unused*/, const VarMap&
      vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan_Tests::X25519_Agreement_Tests::default_kdf
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_kdf(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x25519.cpp:38,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_x25519.cpp:39,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_x25519.cpp:39,1
    - Dst: std::make_unique<Botan::X25519_PrivateKey>
      Src: /src/botan/src/tests/test_x25519.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: Botan_Tests::X25519_Agreement_Tests::load_our_key
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - std::vector::begin
    - std::vector::end
    - std::make_unique<Botan::X25519_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_our_key(const std::string&
      /*header*/, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x25519.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan_Tests::X25519_Agreement_Tests::load_their_key
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> load_their_key(const std::string& /*header*/,
      const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::X25519_Roundtrip_Test::rng
      Src: /src/botan/src/tests/test_x25519.cpp:58,1
    - Dst: Botan_Tests::X25519_Roundtrip_Test::rng
      Src: /src/botan/src/tests/test_x25519.cpp:59,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x25519.cpp:67,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/tests/test_x25519.cpp:68,1
    - Dst: Botan_Tests::X25519_Roundtrip_Test::rng
      Src: /src/botan/src/tests/test_x25519.cpp:68,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/tests/test_x25519.cpp:69,1
    - Dst: Botan_Tests::X25519_Roundtrip_Test::rng
      Src: /src/botan/src/tests/test_x25519.cpp:69,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_x25519.cpp:75,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x25519.cpp:75,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_x25519.cpp:76,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/tests/test_x25519.cpp:78,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/tests/test_x25519.cpp:79,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_x25519.cpp:85,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_x25519.cpp:86,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/tests/test_x25519.cpp:90,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/tests/test_x25519.cpp:91,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_x25519.cpp:96,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_x25519.cpp:97,1
    - Dst: dynamic_cast<Botan::X25519_PublicKey*>
      Src: /src/botan/src/tests/test_x25519.cpp:99,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_x25519.cpp:99,1
    - Dst: dynamic_cast<Botan::X25519_PublicKey*>
      Src: /src/botan/src/tests/test_x25519.cpp:100,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_x25519.cpp:100,1
    - Dst: Botan_Tests::X25519_Roundtrip_Test::rng
      Src: /src/botan/src/tests/test_x25519.cpp:103,1
    - Dst: Botan_Tests::X25519_Roundtrip_Test::rng
      Src: /src/botan/src/tests/test_x25519.cpp:104,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_x25519.cpp:106,1
    - Dst: Botan::X25519_PublicKey*::public_value
      Src: /src/botan/src/tests/test_x25519.cpp:106,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_x25519.cpp:107,1
    - Dst: Botan::X25519_PublicKey*::public_value
      Src: /src/botan/src/tests/test_x25519.cpp:107,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x25519.cpp:109,1
    - Dst: Botan::SymmetricKey::bits_of
      Src: /src/botan/src/tests/test_x25519.cpp:109,1
    - Dst: Botan::SymmetricKey::bits_of
      Src: /src/botan/src/tests/test_x25519.cpp:109,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x25519.cpp:110,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x25519.cpp:111,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_x25519.cpp:114,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x25519.cpp:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 121
    functionName: Botan_Tests::X25519_Roundtrip_Test::run
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - std::vector::push_back
    - Botan::X25519_PublicKey*::public_value
    - Botan::PKCS8::load_key
    - Botan::PK_Key_Agreement::derive_key
    - Test::Result::test_note
    - Test::Result::test_eq
    - auto::get
    - Botan_Tests::X25519_Roundtrip_Test::rng
    - std::string
    - Botan::SymmetricKey::bits_of
    - Botan::PKCS8::PEM_encode
    - Test::Result::test_failure
    - Botan_CLI::Timer::milliseconds
    - Botan::X509::PEM_encode
    - dynamic_cast<Botan::X25519_PublicKey*>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: Botan_Tests::X25519_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan_Tests::X25519_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::X25519_PublicKey>
      Src: /src/botan/src/tests/test_x25519.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_pk
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: Botan_Tests::X25519_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::X25519_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: Botan_Tests::PK_Workfactor_Tests::PK_Workfactor_Tests
    functionSourceFile: /src/botan/src/tests/test_workfactor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Workfactor_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::if_work_factor
      Src: /src/botan/src/tests/test_workfactor.cpp:29,1
    - Dst: Botan::dl_exponent_size
      Src: /src/botan/src/tests/test_workfactor.cpp:31,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_workfactor.cpp:35,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_workfactor.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: Botan_Tests::PK_Workfactor_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_workfactor.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - std::to_string
    - Botan::if_work_factor
    - Botan::dl_exponent_size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan_Tests::Block_Cipher_Tests::Block_Cipher_Tests
    functionSourceFile: /src/botan/src/tests/test_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Block_Cipher_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_block.cpp:23,1
    - Dst: Botan::BlockCipher::providers
      Src: /src/botan/src/tests/test_block.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan_Tests::Block_Cipher_Tests::possible_providers
    functionSourceFile: /src/botan/src/tests/test_block.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::providers
    - provider_filter
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> possible_providers(const std::string& algo)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_block.cpp:27,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_block.cpp:28,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_block.cpp:29,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_block.cpp:30,1
    - Dst: run_long_tests
      Src: /src/botan/src/tests/test_block.cpp:35,1
    - Dst: Botan_Tests::Block_Cipher_Tests::possible_providers
      Src: /src/botan/src/tests/test_block.cpp:39,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_block.cpp:41,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_block.cpp:42,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/tests/test_block.cpp:47,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_block.cpp:50,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_block.cpp:50,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_block.cpp:54,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_block.cpp:55,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:56,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_block.cpp:56,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_block.cpp:57,1
    - Dst: auto::parallelism
      Src: /src/botan/src/tests/test_block.cpp:57,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_block.cpp:58,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:58,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_block.cpp:59,1
    - Dst: auto::parallel_bytes
      Src: /src/botan/src/tests/test_block.cpp:59,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:59,1
    - Dst: auto::parallelism
      Src: /src/botan/src/tests/test_block.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:61,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_block.cpp:61,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:65,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_block.cpp:66,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_block.cpp:67,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_block.cpp:69,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:73,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_block.cpp:74,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_block.cpp:75,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_block.cpp:77,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_block.cpp:81,1
    - Dst: Botan_Tests::Block_Cipher_Tests::rng
      Src: /src/botan/src/tests/test_block.cpp:81,1
    - Dst: auto::key_spec
      Src: /src/botan/src/tests/test_block.cpp:81,1
    - Dst: Botan_Tests::Block_Cipher_Tests::rng
      Src: /src/botan/src/tests/test_block.cpp:82,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:82,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_block.cpp:83,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_block.cpp:84,1
    - Dst: auto::valid_keylength
      Src: /src/botan/src/tests/test_block.cpp:90,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:90,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_block.cpp:91,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_block.cpp:92,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:92,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_block.cpp:96,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:97,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_block.cpp:97,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_block.cpp:99,1
    - Dst: dynamic_cast<Botan::Tweakable_Block_Cipher*>
      Src: /src/botan/src/tests/test_block.cpp:100,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_block.cpp:100,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_block.cpp:102,1
    - Dst: Botan::Tweakable_Block_Cipher*::set_tweak
      Src: /src/botan/src/tests/test_block.cpp:104,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:104,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:104,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_block.cpp:109,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_block.cpp:110,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_block.cpp:110,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_block.cpp:110,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:111,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_block.cpp:111,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_block.cpp:111,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_block.cpp:112,1
    - Dst: Botan_Tests::Block_Cipher_Tests::rng
      Src: /src/botan/src/tests/test_block.cpp:112,1
    - Dst: auto::maximum_keylength
      Src: /src/botan/src/tests/test_block.cpp:112,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_block.cpp:118,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:121,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_block.cpp:127,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:130,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_block.cpp:134,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:134,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_block.cpp:135,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:135,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:135,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:135,1
    - Dst: auto::encrypt_n
      Src: /src/botan/src/tests/test_block.cpp:138,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:138,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:138,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:141,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_block.cpp:141,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:143,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:144,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:145,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:146,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_block.cpp:149,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:149,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:149,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:149,1
    - Dst: auto::decrypt_n
      Src: /src/botan/src/tests/test_block.cpp:152,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:152,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:152,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:155,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_block.cpp:156,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:156,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:156,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:156,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:156,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:158,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_block.cpp:158,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_block.cpp:159,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:160,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_block.cpp:160,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:163,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_block.cpp:164,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_block.cpp:165,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_block.cpp:167,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:171,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_block.cpp:172,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_block.cpp:173,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_block.cpp:175,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 86
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 180
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 180
    functionName: Botan_Tests::Block_Cipher_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_block.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<Botan::Tweakable_Block_Cipher*>
    - Botan::fmt
    - std::to_string
    - auto::block_size
    - Test::Result::note_missing
    - auto::clear
    - auto::encrypt_n
    - Test::Result::test_gte
    - auto::set_key
    - std::string::c_str
    - Botan_Tests::Block_Cipher_Tests::possible_providers
    - auto::name
    - run_long_tests
    - Test::Result::test_eq
    - auto::new_object
    - Test::Result::confirm
    - Botan::Tweakable_Block_Cipher*::set_tweak
    - Test::Result::test_failure
    - auto::provider
    - Test::Result::test_success
    - std::vector::resize
    - Test::Result::test_is_nonempty
    - auto::has_keying_material
    - std::vector::size
    - auto::key_spec
    - auto::valid_keylength
    - std::vector::data
    - auto::decrypt
    - Botan_Tests::Block_Cipher_Tests::rng
    - Test::Result::test_note
    - get_req_bin
    - Botan::copy_mem
    - std::vector::empty
    - get_opt_bin
    - auto::get
    - auto::decrypt_n
    - auto::encrypt
    - auto::parallelism
    - auto::parallel_bytes
    - auto::maximum_keylength
    - Botan::BlockCipher::create
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/unit_asio_stream.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - core
    argTypes:
    - std::shared_ptr<Botan::TLS::Callbacks>
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: Botan_Tests::MockChannel::MockChannel
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MockChannel(std::shared_ptr<Botan::TLS::Callbacks> core)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:48,1
    - Dst: tls_record_received
      Src: /src/botan/src/tests/unit_asio_stream.cpp:49,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: Botan_Tests::MockChannel::received_data
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - tls_record_received
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t received_data(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_emit_data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan_Tests::MockChannel::send
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - tls_emit_data
    linkageType: ''
    returnType: void
    signature: void send(std::span<const uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan_Tests::MockChannel::is_active
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_active() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan_Tests::MockChannel::is_handshake_complete
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_handshake_complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan_Tests::MockChannel::is_closed_for_reading
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_closed_for_reading() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan_Tests::MockChannel::is_closed_for_writing
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_closed_for_writing() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_alert
      Src: /src/botan/src/tests/unit_asio_stream.cpp:69,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/unit_asio_stream.cpp:70,1
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/tests/unit_asio_stream.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: Botan_Tests::MockChannel::received_close_notify
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - tls_alert
    - Botan_Tests::MockChannel::send
    - Botan::hex_decode
    linkageType: ''
    returnType: void
    signature: void received_close_notify()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan_Tests::ThrowingMockChannel::expected_ec
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::system::error_code
    signature: boost::system::error_code expected_ec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/unit_asio_stream.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - core
    argTypes:
    - std::shared_ptr<Botan::TLS::Callbacks>
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan_Tests::ThrowingMockChannel::ThrowingMockChannel
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ThrowingMockChannel(std::shared_ptr<Botan::TLS::Callbacks> core)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Unexpected_Message
      Src: /src/botan/src/tests/unit_asio_stream.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan_Tests::ThrowingMockChannel::received_data
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Unexpected_Message
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t received_data(std::span<const uint8_t>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Unexpected_Message
      Src: /src/botan/src/tests/unit_asio_stream.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan_Tests::ThrowingMockChannel::send
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Unexpected_Message
    linkageType: ''
    returnType: void
    signature: void send(std::span<const uint8_t>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/unit_asio_stream.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - core
    argTypes:
    - std::shared_ptr<Botan::TLS::Callbacks>
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan_Tests::CancellingMockChannel::CancellingMockChannel
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CancellingMockChannel(std::shared_ptr<Botan::TLS::Callbacks> core)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: received_close_notify
      Src: /src/botan/src/tests/unit_asio_stream.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: Botan_Tests::CancellingMockChannel::received_data
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - received_close_notify
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t received_data(std::span<const uint8_t>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:117,1
    - Dst: std::make_unique<MockChannel>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - std::shared_ptr<Botan::TLS::Context>
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: Botan_Tests::AsioStream::AsioStream
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - std::make_unique<MockChannel>
    linkageType: ''
    returnType: void
    signature: void AsioStream(std::shared_ptr<Botan::TLS::Context> context, Args&&...
      args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:126,1
    - Dst: std::make_unique<ThrowingMockChannel>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - std::shared_ptr<Botan::TLS::Context>
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: Botan_Tests::ThrowingAsioStream::ThrowingAsioStream
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - std::make_unique<ThrowingMockChannel>
    linkageType: ''
    returnType: void
    signature: void ThrowingAsioStream(std::shared_ptr<Botan::TLS::Context> context,
      Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:135,1
    - Dst: std::make_unique<CancellingMockChannel>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - std::shared_ptr<Botan::TLS::Context>
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Botan_Tests::CancellingAsioStream::CancellingAsioStream
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - std::make_unique<CancellingMockChannel>
    linkageType: ''
    returnType: void
    signature: void CancellingAsioStream(std::shared_ptr<Botan::TLS::Context> context,
      Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::enable_shared_from_this<Context>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:150,1
    - Dst: std::make_shared<Botan::Credentials_Manager>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:150,1
    - Dst: std::make_shared<Botan::Null_RNG>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:151,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:152,1
    - Dst: std::make_shared<Botan::TLS::Default_Policy>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: Botan_Tests::Asio_Stream_Tests::get_context
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::enable_shared_from_this<Context>
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - std::make_shared<Botan::Credentials_Manager>
    - std::make_shared<Botan::TLS::Default_Policy>
    - std::make_shared<Botan::Null_RNG>
    linkageType: ''
    returnType: std::shared_ptr<Botan::TLS::Context>
    signature: std::shared_ptr<Botan::TLS::Context> get_context()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/botan/src/tests/unit_asio_stream.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: Botan_Tests::Asio_Stream_Tests::contains
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool contains(const void* a, const void* b, const std::size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::string_view
      Src: /src/botan/src/tests/unit_asio_stream.cpp:160,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: Botan_Tests::Asio_Stream_Tests::test_data
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - boost::string_view
    linkageType: ''
    returnType: boost::string_view
    signature: boost::string_view test_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:165,1
    - Dst: AsioStream::handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:168,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:171,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:171,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_handshake
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::handshake
    - AsioStream::native_handle
    - Test::Result::test_eq
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_handshake(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:181,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:183,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:186,1
    - Dst: AsioStream::handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:189,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:192,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:192,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:193,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 195
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 195
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_handshake_error
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::native_handle
    - AsioStream::next_layer
    - Test::Result::test_eq
    - AsioStream::handshake
    - Test::Result::confirm
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_handshake_error(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:201,1
    - Dst: CancellingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:203,1
    - Dst: CancellingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:206,1
    - Dst: CancellingAsioStream::handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:209,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:212,1
    - Dst: CancellingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:212,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:213,1
    - Dst: CancellingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:213,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:214,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 216
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 216
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_handshake_cancellation
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - CancellingAsioStream::handshake
    - Test::Result::confirm
    - CancellingAsioStream::next_layer
    - CancellingAsioStream::native_handle
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_handshake_cancellation(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:222,1
    - Dst: ThrowingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:224,1
    - Dst: ThrowingAsioStream::handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:227,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:230,1
    - Dst: ThrowingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:230,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:231,1
    - Dst: Botan_Tests::ThrowingMockChannel::expected_ec
      Src: /src/botan/src/tests/unit_asio_stream.cpp:231,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 233
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 233
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_handshake_throw
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan_Tests::ThrowingMockChannel::expected_ec
    - ThrowingAsioStream::handshake
    - ThrowingAsioStream::next_layer
    - ThrowingAsioStream::native_handle
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_handshake_throw(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:239,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:241,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:244,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:249,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:249,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:250,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:250,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:251,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:251,1
    - Dst: AsioStream::async_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:254,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:256,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:257,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_handshake
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::async_handshake
    - AsioStream::native_handle
    - AsioStream::next_layer
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_handshake(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:267,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:269,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:272,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:277,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:277,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:278,1
    - Dst: AsioStream::async_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:281,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:283,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 285
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 285
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_handshake_error
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::async_handshake
    - AsioStream::native_handle
    - AsioStream::next_layer
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_handshake_error(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:291,1
    - Dst: CancellingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:293,1
    - Dst: CancellingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:296,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:301,1
    - Dst: CancellingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:301,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:302,1
    - Dst: CancellingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:302,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:303,1
    - Dst: CancellingAsioStream::async_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:306,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:308,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 310
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 310
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_handshake_cancellation
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::io_context::run
    - CancellingAsioStream::next_layer
    - CancellingAsioStream::async_handshake
    - CancellingAsioStream::native_handle
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_handshake_cancellation(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:316,1
    - Dst: ThrowingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:318,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:323,1
    - Dst: ThrowingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:323,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:324,1
    - Dst: Botan_Tests::ThrowingMockChannel::expected_ec
      Src: /src/botan/src/tests/unit_asio_stream.cpp:324,1
    - Dst: ThrowingAsioStream::async_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:327,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:329,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 331
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 331
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_handshake_throw
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - ThrowingAsioStream::async_handshake
    - Test::Result::confirm
    - net::io_context::run
    - Botan_Tests::ThrowingMockChannel::expected_ec
    - ThrowingAsioStream::next_layer
    - ThrowingAsioStream::native_handle
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_handshake_throw(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:336,1
    - Dst: Server::expect_short_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:343,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:343,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:346,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:346,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:347,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:348,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 351
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 351
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_success
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan_Tests::Asio_Stream_Tests::contains
    - Server::expect_short_read
    - Botan_Tests::Asio_Stream_Tests::get_context
    - net::mutable_buffer
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_read_some_success(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:356,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:363,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:363,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:364,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:364,1
    - Dst: Server::expect_short_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:366,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:370,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:371,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:372,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:373,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:374,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 377
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 377
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_buffer_sequence
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - std::vector::emplace_back
    - Test::Result::confirm
    - Botan_Tests::Asio_Stream_Tests::contains
    - Server::expect_short_read
    - Botan_Tests::Asio_Stream_Tests::get_context
    - net::mutable_buffer
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_read_some_buffer_sequence(std::vector<Test::Result>&
      results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:385,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:387,1
    - Dst: Server::expect_short_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:392,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:392,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:395,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:396,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 399
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 399
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_error
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - Test::Result::test_eq
    - Test::Result::confirm
    - Server::expect_short_read
    - Botan_Tests::Asio_Stream_Tests::get_context
    - net::mutable_buffer
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_read_some_error(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:405,1
    - Dst: ThrowingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:407,1
    - Dst: Server::expect_short_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:412,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:412,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:415,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:416,1
    - Dst: Botan_Tests::ThrowingMockChannel::expected_ec
      Src: /src/botan/src/tests/unit_asio_stream.cpp:416,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 419
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 419
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_throw
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan_Tests::ThrowingMockChannel::expected_ec
    - ThrowingAsioStream::next_layer
    - Server::expect_short_read
    - Botan_Tests::Asio_Stream_Tests::get_context
    - net::mutable_buffer
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_read_some_throw(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:424,1
    - Dst: Server::expect_short_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:431,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:431,1
    - Dst: std::size_t
      Src: /src/botan/src/tests/unit_asio_stream.cpp:431,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:434,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:437,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 440
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 440
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_read_zero_buffer
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::size_t
    - Test::Result::test_eq
    - Test::Result::confirm
    - Server::expect_short_read
    - Botan_Tests::Asio_Stream_Tests::get_context
    - net::mutable_buffer
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_read_zero_buffer(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:446,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:453,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:453,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:454,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:455,1
    - Dst: net::async_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:459,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:461,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:462,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 464
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 464
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_read_some_success
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::io_context::run
    - net::async_read
    - Botan_Tests::Asio_Stream_Tests::contains
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_read_some_success(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:468,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:474,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:474,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:475,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:475,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:480,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:481,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:482,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:483,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:484,1
    - Dst: net::async_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:487,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:489,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:490,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 492
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 492
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_read_some_buffer_sequence
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::io_context::run
    - net::async_read
    - Botan_Tests::Asio_Stream_Tests::contains
    - std::vector::emplace_back
    - Botan_Tests::Asio_Stream_Tests::get_context
    - net::mutable_buffer
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_read_some_buffer_sequence(std::vector<Test::Result>&
      results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:498,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:505,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:506,1
    - Dst: net::async_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:510,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:512,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:513,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 515
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 515
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_read_some_error
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::io_context::run
    - net::async_read
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_read_some_error(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:519,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:526,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:527,1
    - Dst: Botan_Tests::ThrowingMockChannel::expected_ec
      Src: /src/botan/src/tests/unit_asio_stream.cpp:527,1
    - Dst: net::async_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:531,1
    - Dst: ThrowingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:533,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:534,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 536
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 536
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_read_some_throw
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::io_context::run
    - net::async_read
    - Botan_Tests::ThrowingMockChannel::expected_ec
    - ThrowingAsioStream::next_layer
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_read_some_throw(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:542,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:549,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:552,1
    - Dst: std::size_t
      Src: /src/botan/src/tests/unit_asio_stream.cpp:555,1
    - Dst: net::async_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:556,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:558,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:559,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 561
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 561
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_read_zero_buffer
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::size_t
    - AsioStream::next_layer
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::io_context::run
    - net::async_read
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_read_zero_buffer(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:567,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:569,1
    - Dst: cryptofuzz::Botan_Importer::write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:572,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:572,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:575,1
    - Dst: TestStream::str
      Src: /src/botan/src/tests/unit_asio_stream.cpp:575,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:575,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:576,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:577,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 580
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 580
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_success
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Botan_Importer::write
    - AsioStream::next_layer
    - Botan_Tests::Asio_Stream_Tests::test_data
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::const_buffer
    - TestStream::str
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_write_some_success(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:586,1
    - Dst: Botan::TLS::Stream<TestStream>::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:588,1
    - Dst: cryptofuzz::Botan_Importer::write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:591,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:591,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:594,1
    - Dst: error_code::failed
      Src: /src/botan/src/tests/unit_asio_stream.cpp:594,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 597
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 597
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_no_handshake
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - error_code::failed
    - cryptofuzz::Botan_Importer::write
    - Test::Result::confirm
    - net::const_buffer
    - Botan::TLS::Stream<TestStream>::next_layer
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_no_handshake(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:603,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:605,1
    - Dst: std::array::fill
      Src: /src/botan/src/tests/unit_asio_stream.cpp:610,1
    - Dst: std::array::back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:611,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:614,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:614,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:614,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:615,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:616,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:616,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:616,1
    - Dst: cryptofuzz::Botan_Importer::write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:619,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:623,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:624,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:626,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:627,1
    - Dst: TestStream::buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:627,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:627,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:627,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:628,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:628,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:629,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:629,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:630,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 633
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 633
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_buffer_sequence
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::array::back
    - std::array::data
    - cryptofuzz::Botan_Importer::write
    - AsioStream::next_layer
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::const_buffer
    - TestStream::buffer
    - Botan_Tests::Asio_Stream_Tests::contains
    - std::array::size
    - std::array::fill
    - std::vector::emplace_back
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_write_some_buffer_sequence(std::vector<Test::Result>&
      results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:641,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:643,1
    - Dst: cryptofuzz::Botan_Importer::write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:647,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:647,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:650,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:651,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 654
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 654
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_error
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Botan_Importer::write
    - AsioStream::next_layer
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::const_buffer
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_write_some_error(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:660,1
    - Dst: ThrowingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:662,1
    - Dst: cryptofuzz::Botan_Importer::write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:665,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:665,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:668,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:669,1
    - Dst: Botan_Tests::ThrowingMockChannel::expected_ec
      Src: /src/botan/src/tests/unit_asio_stream.cpp:669,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 672
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 672
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_throw
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Botan_Importer::write
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::const_buffer
    - Botan_Tests::ThrowingMockChannel::expected_ec
    - ThrowingAsioStream::next_layer
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_sync_write_some_throw(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:678,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:680,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:685,1
    - Dst: TestStream::str
      Src: /src/botan/src/tests/unit_asio_stream.cpp:685,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:685,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:686,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:687,1
    - Dst: net::async_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:690,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:690,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:692,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 694
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 694
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_write_some_success
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - Botan_Tests::Asio_Stream_Tests::test_data
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::async_write
    - net::const_buffer
    - net::io_context::run
    - TestStream::str
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_write_some_success(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:700,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:702,1
    - Dst: std::array::fill
      Src: /src/botan/src/tests/unit_asio_stream.cpp:706,1
    - Dst: std::array::back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:707,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:710,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:710,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:710,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:711,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:712,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:712,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:712,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:717,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:718,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:721,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:722,1
    - Dst: TestStream::buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:722,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:722,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:722,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:723,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:723,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:724,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:724,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:725,1
    - Dst: net::async_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:728,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:730,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 732
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 732
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_write_some_buffer_sequence
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::array::back
    - std::array::data
    - AsioStream::next_layer
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::const_buffer
    - TestStream::buffer
    - net::async_write
    - Botan_Tests::Asio_Stream_Tests::contains
    - std::array::size
    - net::io_context::run
    - std::array::fill
    - std::vector::emplace_back
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_write_some_buffer_sequence(std::vector<Test::Result>&
      results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:740,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:742,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:747,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:748,1
    - Dst: net::async_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:751,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:751,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:753,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 755
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 755
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_write_some_error
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::async_write
    - net::const_buffer
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_write_some_error(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:761,1
    - Dst: ThrowingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:763,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:768,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:769,1
    - Dst: Botan_Tests::ThrowingMockChannel::expected_ec
      Src: /src/botan/src/tests/unit_asio_stream.cpp:769,1
    - Dst: net::async_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:772,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:772,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:774,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 776
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 776
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_write_throw
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Test::Result::confirm
    - net::async_write
    - net::const_buffer
    - net::io_context::run
    - Botan_Tests::ThrowingMockChannel::expected_ec
    - ThrowingAsioStream::next_layer
    - Botan_Tests::Asio_Stream_Tests::get_context
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_async_write_throw(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_no_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:782,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:784,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_handshake_error
      Src: /src/botan/src/tests/unit_asio_stream.cpp:785,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_handshake_cancellation
      Src: /src/botan/src/tests/unit_asio_stream.cpp:786,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_handshake_throw
      Src: /src/botan/src/tests/unit_asio_stream.cpp:787,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:789,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_handshake_error
      Src: /src/botan/src/tests/unit_asio_stream.cpp:790,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_handshake_cancellation
      Src: /src/botan/src/tests/unit_asio_stream.cpp:791,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_handshake_throw
      Src: /src/botan/src/tests/unit_asio_stream.cpp:792,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_success
      Src: /src/botan/src/tests/unit_asio_stream.cpp:794,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_buffer_sequence
      Src: /src/botan/src/tests/unit_asio_stream.cpp:795,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_error
      Src: /src/botan/src/tests/unit_asio_stream.cpp:796,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_throw
      Src: /src/botan/src/tests/unit_asio_stream.cpp:797,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_read_zero_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:798,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_read_some_success
      Src: /src/botan/src/tests/unit_asio_stream.cpp:800,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_read_some_buffer_sequence
      Src: /src/botan/src/tests/unit_asio_stream.cpp:801,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_read_some_error
      Src: /src/botan/src/tests/unit_asio_stream.cpp:802,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_read_some_throw
      Src: /src/botan/src/tests/unit_asio_stream.cpp:803,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_read_zero_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:804,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_success
      Src: /src/botan/src/tests/unit_asio_stream.cpp:806,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_buffer_sequence
      Src: /src/botan/src/tests/unit_asio_stream.cpp:807,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_error
      Src: /src/botan/src/tests/unit_asio_stream.cpp:808,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_throw
      Src: /src/botan/src/tests/unit_asio_stream.cpp:809,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_write_some_success
      Src: /src/botan/src/tests/unit_asio_stream.cpp:811,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_write_some_buffer_sequence
      Src: /src/botan/src/tests/unit_asio_stream.cpp:812,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_write_some_error
      Src: /src/botan/src/tests/unit_asio_stream.cpp:813,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_write_throw
      Src: /src/botan/src/tests/unit_asio_stream.cpp:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 817
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 817
    functionName: Botan_Tests::Asio_Stream_Tests::run
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Asio_Stream_Tests::test_sync_write_some_throw
    - Botan_Tests::Asio_Stream_Tests::test_async_write_some_buffer_sequence
    - Botan_Tests::Asio_Stream_Tests::test_sync_handshake_cancellation
    - Botan_Tests::Asio_Stream_Tests::test_sync_read_some_success
    - Botan_Tests::Asio_Stream_Tests::test_async_write_throw
    - Botan_Tests::Asio_Stream_Tests::test_async_handshake_error
    - Botan_Tests::Asio_Stream_Tests::test_sync_no_handshake
    - Botan_Tests::Asio_Stream_Tests::test_async_write_some_error
    - Botan_Tests::Asio_Stream_Tests::test_async_handshake_throw
    - Botan_Tests::Asio_Stream_Tests::test_async_read_some_throw
    - Botan_Tests::Asio_Stream_Tests::test_sync_handshake
    - Botan_Tests::Asio_Stream_Tests::test_sync_read_some_buffer_sequence
    - Botan_Tests::Asio_Stream_Tests::test_async_read_some_success
    - Botan_Tests::Asio_Stream_Tests::test_sync_write_some_buffer_sequence
    - Botan_Tests::Asio_Stream_Tests::test_async_write_some_success
    - Botan_Tests::Asio_Stream_Tests::test_sync_write_some_success
    - Botan_Tests::Asio_Stream_Tests::test_async_read_zero_buffer
    - Botan_Tests::Asio_Stream_Tests::test_sync_read_some_error
    - Botan_Tests::Asio_Stream_Tests::test_sync_read_some_throw
    - Botan_Tests::Asio_Stream_Tests::test_sync_read_zero_buffer
    - Botan_Tests::Asio_Stream_Tests::test_async_handshake
    - Botan_Tests::Asio_Stream_Tests::test_sync_write_some_error
    - Botan_Tests::Asio_Stream_Tests::test_sync_handshake_error
    - Botan_Tests::Asio_Stream_Tests::test_sync_handshake_throw
    - Botan_Tests::Asio_Stream_Tests::test_async_handshake_cancellation
    - Botan_Tests::Asio_Stream_Tests::test_async_read_some_buffer_sequence
    - Botan_Tests::Asio_Stream_Tests::test_async_read_some_error
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::pkcs_hash_id
      Src: /src/botan/src/tests/test_hash_id.cpp:47,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/tests/test_hash_id.cpp:49,1
    - Dst: Botan::DER_Encoder::start_sequence
      Src: /src/botan/src/tests/test_hash_id.cpp:55,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash_id.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash_id.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash_id.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash_id.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash_id.cpp:59,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_hash_id.cpp:61,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_hash_id.cpp:66,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_hash_id.cpp:66,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash_id.cpp:66,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash_id.cpp:68,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_hash_id.cpp:71,1
    - Dst: what
      Src: /src/botan/src/tests/test_hash_id.cpp:71,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_hash_id.cpp:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 78
    functionName: Botan_Tests::PKCS_HashID_Test::run
    functionSourceFile: /src/botan/src/tests/test_hash_id.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::push_back
    - Botan::DER_Encoder::start_sequence
    - what
    - Test::Result::test_eq
    - Botan::OID::from_string
    - Test::Result::test_failure
    - Botan::pkcs_hash_id
    - std::vector::begin
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:56,1
    - Dst: test_reseed_kat
      Src: /src/botan/src/tests/test_rng_behavior.cpp:56,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:57,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_reseed
      Src: /src/botan/src/tests/test_rng_behavior.cpp:57,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:58,1
    - Dst: test_reseed_interval_limits
      Src: /src/botan/src/tests/test_rng_behavior.cpp:58,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:59,1
    - Dst: test_max_number_of_bytes_per_request
      Src: /src/botan/src/tests/test_rng_behavior.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:60,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_broken_entropy_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:60,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:61,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_check_nonce
      Src: /src/botan/src/tests/test_rng_behavior.cpp:61,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:62,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_prediction_resistance
      Src: /src/botan/src/tests/test_rng_behavior.cpp:62,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:63,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_randomize_with_ts_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:64,1
    - Dst: test_security_level
      Src: /src/botan/src/tests/test_rng_behavior.cpp:64,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:65,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_input_output_edge_cases
      Src: /src/botan/src/tests/test_rng_behavior.cpp:65,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_rng_behavior.cpp:74,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:75,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_fork_safety
      Src: /src/botan/src/tests/test_rng_behavior.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: Botan_Tests::Stateful_RNG_Tests::run
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Botan_Tests::Stateful_RNG_Tests::test_input_output_edge_cases
    - Botan_Tests::Stateful_RNG_Tests::test_broken_entropy_input
    - Botan_Tests::Stateful_RNG_Tests::test_reseed
    - test_reseed_kat
    - Botan_Tests::Stateful_RNG_Tests::test_check_nonce
    - Botan_Tests::Stateful_RNG_Tests::test_randomize_with_ts_input
    - Botan_Tests::Stateful_RNG_Tests::test_fork_safety
    - test_max_number_of_bytes_per_request
    - Botan_Tests::Stateful_RNG_Tests::test_prediction_resistance
    - test_security_level
    - Botan_Tests::test_encoding_options
    - test_reseed_interval_limits
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' underlying_rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: Botan_Tests::Stateful_RNG_Tests::make_rng
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - create_rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::Stateful_RNG>
    signature: "std::unique_ptr<Botan::Stateful_RNG> make_rng(Botan::RandomNumberGenerator&
      underlying_rng,\n                                                    size_t
      reseed_interval = 1024)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' underlying_srcs'
    argTypes:
    - Botan::Entropy_Sources
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: Botan_Tests::Stateful_RNG_Tests::make_rng
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - create_rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::Stateful_RNG>
    signature: "std::unique_ptr<Botan::Stateful_RNG> make_rng(Botan::Entropy_Sources&
      underlying_srcs,\n                                                    size_t
      reseed_interval = 1024)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' underlying_rng'
    - ' underlying_srcs'
    argTypes:
    - Botan::RandomNumberGenerator
    - Botan::Entropy_Sources
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: Botan_Tests::Stateful_RNG_Tests::make_rng
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - create_rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::Stateful_RNG>
    signature: "std::unique_ptr<Botan::Stateful_RNG> make_rng(Botan::RandomNumberGenerator&
      underlying_rng,\n                                                    Botan::Entropy_Sources&
      underlying_srcs,\n                                                    size_t
      reseed_interval = 1024)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:114,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:119,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:121,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:122,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:122,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:123,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:124,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:124,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:126,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:127,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:127,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:128,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:129,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:129,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:131,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:132,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:132,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:133,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:134,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:134,1
    - Dst: auto::max_number_of_bytes_per_request
      Src: /src/botan/src/tests/test_rng_behavior.cpp:136,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:138,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:139,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:139,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:141,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:142,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 146
    functionName: Botan_Tests::Stateful_RNG_Tests::test_reseed
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - auto::random_vec
    - Test::Result::test_eq
    - Botan_Tests::Stateful_RNG_Tests::make_rng
    - Request_Counting_RNG::randomize_count
    - auto::max_number_of_bytes_per_request
    - rng_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reseed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:149,1
    - Dst: Botan::Not_Implemented::Not_Implemented
      Src: /src/botan/src/tests/test_rng_behavior.cpp:157,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:173,1
    - Dst: Botan::Null_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:173,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:174,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:176,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:176,1
    - Dst: std::make_unique<Broken_Entropy_Source>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:181,1
    - Dst: std::make_unique<Broken_Entropy_Source>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:182,1
    - Dst: Botan::Entropy_Sources::Entropy_Sources
      Src: /src/botan/src/tests/test_rng_behavior.cpp:184,1
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/tests/test_rng_behavior.cpp:185,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:185,1
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/tests/test_rng_behavior.cpp:186,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:186,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:188,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:189,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:189,1
    - Dst: Botan::Entropy_Sources::Entropy_Sources
      Src: /src/botan/src/tests/test_rng_behavior.cpp:192,1
    - Dst: std::make_unique<Insufficient_Entropy_Source>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:193,1
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/tests/test_rng_behavior.cpp:194,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:194,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:196,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:197,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:198,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:203,1
    - Dst: Botan::Entropy_Sources::global_sources
      Src: /src/botan/src/tests/test_rng_behavior.cpp:203,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:205,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:206,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:208,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:208,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:210,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:211,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:213,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:215,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 221
    functionName: Botan_Tests::Stateful_RNG_Tests::test_broken_entropy_input
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - auto::random_vec
    - Test::Result::test_eq
    - Botan::Entropy_Sources::global_sources
    - Test::Result::test_throws
    - Botan::Not_Implemented::Not_Implemented
    - Botan_Tests::Stateful_RNG_Tests::make_rng
    - Botan::Null_RNG::is_seeded
    - Botan_Tests::Stateful_RNG_Tests::rng
    - std::make_unique<Broken_Entropy_Source>
    - std::make_unique<Insufficient_Entropy_Source>
    - Botan::Entropy_Sources::Entropy_Sources
    - Botan::Entropy_Sources::add_source
    - rng_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_broken_entropy_input()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:224,1
    - Dst: create_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:227,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:230,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:231,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:231,1
    - Dst: auto::initialize_with
      Src: /src/botan/src/tests/test_rng_behavior.cpp:234,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:234,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:234,1
    - Dst: auto::security_level
      Src: /src/botan/src/tests/test_rng_behavior.cpp:236,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:237,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:237,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:238,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:238,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:240,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:240,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 246
    functionName: Botan_Tests::Stateful_RNG_Tests::test_check_nonce
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - auto::security_level
    - auto::random_vec
    - Test::Result::test_eq
    - Test::Result::test_throws
    - auto::initialize_with
    - auto::is_seeded
    - create_rng
    - auto::clear
    - rng_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_check_nonce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:249,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:253,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:255,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:256,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:256,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:258,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:259,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:259,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:261,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:262,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: Botan_Tests::Stateful_RNG_Tests::test_prediction_resistance
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - auto::random_vec
    - Test::Result::test_eq
    - Botan_Tests::Stateful_RNG_Tests::make_rng
    - Request_Counting_RNG::randomize_count
    - rng_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_prediction_resistance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:268,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:275,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:277,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:278,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:278,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_rng_behavior.cpp:286,1
    - Dst: Botan_Tests::Filter_Tests::test_fork
      Src: /src/botan/src/tests/test_rng_behavior.cpp:289,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_rng_behavior.cpp:292,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_rng_behavior.cpp:294,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/test_rng_behavior.cpp:299,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:303,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:304,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:304,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:305,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_rng_behavior.cpp:307,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:310,1
    - Dst: Shim_Socket::read
      Src: /src/botan/src/tests/test_rng_behavior.cpp:311,1
    - Dst: size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:311,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:314,1
    - Dst: size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:314,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_rng_behavior.cpp:315,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_rng_behavior.cpp:317,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/test_rng_behavior.cpp:319,1
    - Dst: ::waitpid
      Src: /src/botan/src/tests/test_rng_behavior.cpp:323,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/test_rng_behavior.cpp:326,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:327,1
    - Dst: size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:327,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:328,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_rng_behavior.cpp:330,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:332,1
    - Dst: size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:332,1
    - Dst: static_cast<void>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:334,1
    - Dst: fprintf
      Src: /src/botan/src/tests/test_rng_behavior.cpp:334,1
    - Dst: what
      Src: /src/botan/src/tests/test_rng_behavior.cpp:334,1
    - Dst: cryptofuzz::Botan_Importer::write
      Src: /src/botan/src/tests/test_rng_behavior.cpp:336,1
    - Dst: size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:336,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_rng_behavior.cpp:337,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/test_rng_behavior.cpp:338,1
    - Dst: ::execl
      Src: /src/botan/src/tests/test_rng_behavior.cpp:345,1
    - Dst: argon2_thread_exit
      Src: /src/botan/src/tests/test_rng_behavior.cpp:346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 350
    functionName: Botan_Tests::Stateful_RNG_Tests::test_fork_safety
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - what
    - Botan::TLS::Channel_Impl::close
    - Request_Counting_RNG::randomize_count
    - fprintf
    - ::execl
    - Shim_Socket::read
    - cryptofuzz::Botan_Importer::write
    - auto::random_vec
    - Test::Result::test_eq
    - Botan_Tests::Stateful_RNG_Tests::make_rng
    - static_cast<void>
    - Test::Result::test_failure
    - BOTAN_UNUSED
    - Test::Result::test_note
    - argon2_thread_exit
    - Botan_Tests::Filter_Tests::test_fork
    - Test::Result::test_ne
    - auto::randomize
    - size
    - ::waitpid
    - rng_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_fork_safety()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:353,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:363,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:364,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:369,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:369,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:369,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:370,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:370,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:370,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:372,1
    - Dst: auto::randomize_with_ts_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:374,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:374,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:374,1
    - Dst: auto::randomize_with_ts_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:375,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:375,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:375,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_rng_behavior.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 380
    functionName: Botan_Tests::Stateful_RNG_Tests::test_randomize_with_ts_input
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_eq
    - Botan_Tests::Stateful_RNG_Tests::make_rng
    - auto::randomize
    - auto::randomize_with_ts_input
    - Botan::secure_vector::data
    - Botan::secure_vector::size
    - Test::Result::test_ne
    - rng_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_randomize_with_ts_input()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:383,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:388,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:392,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:392,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:392,1
    - Dst: auto::add_entropy
      Src: /src/botan/src/tests/test_rng_behavior.cpp:393,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:393,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:393,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_rng_behavior.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 399
    functionName: Botan_Tests::Stateful_RNG_Tests::test_input_output_edge_cases
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan_Tests::Stateful_RNG_Tests::make_rng
    - auto::add_entropy
    - auto::randomize
    - Test::Result::test_success
    - rng_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_input_output_edge_cases()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: Botan_Tests::HMAC_DRBG_Unit_Tests::rng_name
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string rng_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:414,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:417,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:417,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:419,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:419,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:421,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:421,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:423,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:423,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_rng_behavior.cpp:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - underlying_rng
    - underlying_es
    - reseed_interval
    argTypes:
    - Botan::RandomNumberGenerator*
    - Botan::Entropy_Sources*
    - size_t
    constantsTouched: []
    func_position:
      end: 427
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 427
    functionName: Botan_Tests::HMAC_DRBG_Unit_Tests::create_rng
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Test_Error
    - Botan::MessageAuthenticationCode::create
    - std::make_unique<Botan::HMAC_DRBG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Stateful_RNG>
    signature: "std::unique_ptr<Botan::Stateful_RNG> create_rng(Botan::RandomNumberGenerator*
      underlying_rng,\n                                                      Botan::Entropy_Sources*
      underlying_es,\n                                                      size_t
      reseed_interval) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:436,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:438,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:441,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:444,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:451,1
    - Dst: Botan::HMAC_DRBG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:453,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:454,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:454,1
    - Dst: Botan::HMAC_DRBG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:456,1
    - Dst: Request_Counting_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:457,1
    - Dst: Botan::HMAC_DRBG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:459,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:460,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:460,1
    - Dst: Botan::HMAC_DRBG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:462,1
    - Dst: Request_Counting_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:463,1
    - Dst: Botan::HMAC_DRBG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:465,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:466,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:466,1
    - Dst: Botan::HMAC_DRBG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:468,1
    - Dst: Request_Counting_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:469,1
    - Dst: Botan::HMAC_DRBG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:471,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:472,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 475
    functionName: Botan_Tests::HMAC_DRBG_Unit_Tests::test_max_number_of_bytes_per_request
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Botan::HMAC_DRBG::random_vec
    - Test::Result::test_eq
    - Test::Result::test_throws
    - Request_Counting_RNG::randomize_count
    - Request_Counting_RNG::clear
    - Botan::MessageAuthenticationCode::create
    - Botan::HMAC_DRBG::clear
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_max_number_of_bytes_per_request() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:484,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:485,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:488,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:490,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 496
    functionName: Botan_Tests::HMAC_DRBG_Unit_Tests::test_reseed_interval_limits
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - Botan::MessageAuthenticationCode::create
    - Test::Result::test_throws
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reseed_interval_limits() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:504,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:509,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_rng_behavior.cpp:511,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:516,1
    - Dst: Botan::HMAC_DRBG::security_level
      Src: /src/botan/src/tests/test_rng_behavior.cpp:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 520
    functionName: Botan_Tests::HMAC_DRBG_Unit_Tests::test_security_level
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Test::Result::test_eq
    - Test::Result::note_missing
    - Botan::MessageAuthenticationCode::create
    - Botan::HMAC_DRBG::security_level
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_security_level() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:526,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:532,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:532,1
    - Dst: auto::initialize_with
      Src: /src/botan/src/tests/test_rng_behavior.cpp:534,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:534,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:534,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:538,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:538,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:538,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:539,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:539,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:540,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:543,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:543,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:543,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:544,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:544,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 548
    functionName: Botan_Tests::HMAC_DRBG_Unit_Tests::test_reseed_kat
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - make_rng
    - Test::Result::test_eq
    - Request_Counting_RNG::randomize_count
    - auto::initialize_with
    - auto::randomize
    - Botan::secure_vector::data
    - Botan::secure_vector::size
    - auto::is_seeded
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reseed_kat() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Null_RNG
      Src: /src/botan/src/tests/test_rng_behavior.cpp:552,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_rng_behavior.cpp:554,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:557,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:557,1
    - Dst: auto::add_entropy
      Src: /src/botan/src/tests/test_rng_behavior.cpp:561,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_rng_behavior.cpp:565,1
    - Dst: make_seeded_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:567,1
    - Dst: make_seeded_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:568,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:570,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:570,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:571,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:571,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:573,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:575,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:576,1
    - Dst: auto::insert
      Src: /src/botan/src/tests/test_rng_behavior.cpp:577,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_rng_behavior.cpp:577,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_rng_behavior.cpp:577,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_rng_behavior.cpp:577,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:579,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_rng_behavior.cpp:584,1
    - Dst: make_seeded_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:585,1
    - Dst: make_seeded_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:586,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:588,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:588,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:589,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:589,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:592,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:596,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_rng_behavior.cpp:596,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:597,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_rng_behavior.cpp:597,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:598,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_rng_behavior.cpp:598,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 604
    functionName: Botan_Tests::hmac_drbg_multiple_requests
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::insert
    - Botan::Null_RNG
    - Botan_Tests::CHECK
    - auto::random_vec
    - test_eq
    - auto::add_entropy
    - Botan::hex_decode
    - auto::end
    - auto::is_seeded
    - make_seeded_rng
    - confirm
    - Botan::MessageAuthenticationCode::create
    - auto::randomize_with_input
    - std::span::subspan
    - std::make_unique<Botan::HMAC_DRBG>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> hmac_drbg_multiple_requests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 615
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 615
    functionName: Botan_Tests::ChaCha_RNG_Unit_Tests::rng_name
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string rng_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::ChaCha_RNG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:621,1
    - Dst: std::make_unique<Botan::ChaCha_RNG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:623,1
    - Dst: std::make_unique<Botan::ChaCha_RNG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:625,1
    - Dst: std::make_unique<Botan::ChaCha_RNG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:627,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_rng_behavior.cpp:629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - underlying_rng
    - underlying_es
    - reseed_interval
    argTypes:
    - Botan::RandomNumberGenerator*
    - Botan::Entropy_Sources*
    - size_t
    constantsTouched: []
    func_position:
      end: 631
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 631
    functionName: Botan_Tests::ChaCha_RNG_Unit_Tests::create_rng
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    - std::make_unique<Botan::ChaCha_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Stateful_RNG>
    signature: "std::unique_ptr<Botan::Stateful_RNG> create_rng(Botan::RandomNumberGenerator*
      underlying_rng,\n                                                      Botan::Entropy_Sources*
      underlying_es,\n                                                      size_t
      reseed_interval) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ChaCha_RNG::ChaCha_RNG
      Src: /src/botan/src/tests/test_rng_behavior.cpp:635,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:636,1
    - Dst: Botan::ChaCha_RNG::security_level
      Src: /src/botan/src/tests/test_rng_behavior.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 638
    functionName: Botan_Tests::ChaCha_RNG_Unit_Tests::test_security_level
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Botan::ChaCha_RNG::ChaCha_RNG
    - Botan::ChaCha_RNG::security_level
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_security_level() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 644
    functionName: Botan_Tests::ChaCha_RNG_Unit_Tests::test_max_number_of_bytes_per_request
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_max_number_of_bytes_per_request() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 650
    functionName: Botan_Tests::ChaCha_RNG_Unit_Tests::test_reseed_interval_limits
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reseed_interval_limits() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:656,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:660,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:660,1
    - Dst: auto::initialize_with
      Src: /src/botan/src/tests/test_rng_behavior.cpp:662,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:662,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:662,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:666,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:666,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:666,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:667,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:667,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:668,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:671,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:671,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:671,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:672,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:672,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 676
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 676
    functionName: Botan_Tests::ChaCha_RNG_Unit_Tests::test_reseed_kat
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - make_rng
    - Test::Result::test_eq
    - Request_Counting_RNG::randomize_count
    - auto::initialize_with
    - auto::randomize
    - Botan::secure_vector::data
    - Botan::secure_vector::size
    - auto::is_seeded
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reseed_kat() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:692,1
    - Dst: Botan::Null_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:692,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_rng_behavior.cpp:697,1
    - Dst: Botan::Entropy_Sources::Entropy_Sources
      Src: /src/botan/src/tests/test_rng_behavior.cpp:701,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_rng_behavior.cpp:705,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_rng_behavior.cpp:707,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_rng_behavior.cpp:713,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/tests/test_rng_behavior.cpp:717,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:719,1
    - Dst: Botan::AutoSeeded_RNG::name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:719,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:721,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:721,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:722,1
    - Dst: Botan::AutoSeeded_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:723,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:724,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:724,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:727,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:728,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:728,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:730,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:730,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:731,1
    - Dst: Botan::AutoSeeded_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:732,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:733,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:733,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:737,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:738,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:738,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:741,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:742,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:742,1
    - Dst: Botan::AutoSeeded_RNG::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:746,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:746,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:746,1
    - Dst: Botan::AutoSeeded_RNG::add_entropy
      Src: /src/botan/src/tests/test_rng_behavior.cpp:747,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:747,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:747,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_rng_behavior.cpp:749,1
    - Dst: Botan::AutoSeeded_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 755
    functionName: Botan_Tests::AutoSeeded_RNG_Tests::auto_rng_tests
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::AutoSeeded_RNG::clear
    - Botan::AutoSeeded_RNG::randomize
    - Botan::AutoSeeded_RNG::add_entropy
    - Test::Result::test_eq
    - Botan::Null_RNG::is_seeded
    - Test::Result::confirm
    - Botan::AutoSeeded_RNG::is_seeded
    - Test::Result::test_failure
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Test::Result::test_success
    - Botan::AutoSeeded_RNG::name
    - Botan::Entropy_Sources::Entropy_Sources
    - Botan::AutoSeeded_RNG::random_vec
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result auto_rng_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:760,1
    - Dst: Botan_Tests::AutoSeeded_RNG_Tests::auto_rng_tests
      Src: /src/botan/src/tests/test_rng_behavior.cpp:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: Botan_Tests::AutoSeeded_RNG_Tests::run
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::AutoSeeded_RNG_Tests::auto_rng_tests
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_rng_behavior.cpp:778,1
    - Dst: Botan::System_RNG::name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:778,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:780,1
    - Dst: Botan::System_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:780,1
    - Dst: Botan::System_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:781,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:782,1
    - Dst: Botan::System_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:782,1
    - Dst: Botan::System_RNG::reseed
      Src: /src/botan/src/tests/test_rng_behavior.cpp:785,1
    - Dst: Botan::Entropy_Sources::global_sources
      Src: /src/botan/src/tests/test_rng_behavior.cpp:785,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_rng_behavior.cpp:785,1
    - Dst: Botan::System_RNG::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:790,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:790,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:790,1
    - Dst: Botan::System_RNG::add_entropy
      Src: /src/botan/src/tests/test_rng_behavior.cpp:791,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:791,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:791,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_rng_behavior.cpp:794,1
    - Dst: Botan_Tests::Test::run_memory_intensive_tests
      Src: /src/botan/src/tests/test_rng_behavior.cpp:794,1
    - Dst: std::memset
      Src: /src/botan/src/tests/test_rng_behavior.cpp:799,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:799,1
    - Dst: Botan::System_RNG::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:801,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:801,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:801,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:805,1
    - Dst: std::memcmp
      Src: /src/botan/src/tests/test_rng_behavior.cpp:806,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:806,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 810
    functionName: Botan_Tests::System_RNG_Tests::run
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan_Tests::Test::run_memory_intensive_tests
    - Botan::Entropy_Sources::global_sources
    - Botan::System_RNG::add_entropy
    - Botan::System_RNG::randomize
    - Test::Result::confirm
    - Botan_Tests::Test::run_long_tests
    - std::memcmp
    - Botan::System_RNG::name
    - Botan::System_RNG::reseed
    - Botan::System_RNG::is_seeded
    - Botan::System_RNG::clear
    - Botan_CLI::Timer::milliseconds
    - std::memset
    - Test::Result::test_gte
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Processor_RNG::available
      Src: /src/botan/src/tests/test_rng_behavior.cpp:824,1
    - Dst: Botan::Processor_RNG::Processor_RNG
      Src: /src/botan/src/tests/test_rng_behavior.cpp:825,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_rng_behavior.cpp:827,1
    - Dst: Botan::Processor_RNG::name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:827,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:828,1
    - Dst: Botan::Processor_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:828,1
    - Dst: Botan::Processor_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:829,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:830,1
    - Dst: Botan::Processor_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:830,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:834,1
    - Dst: Botan::Processor_RNG::add_entropy
      Src: /src/botan/src/tests/test_rng_behavior.cpp:845,1
    - Dst: Botan::Processor_RNG::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:849,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:849,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:849,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:852,1
    - Dst: Botan::Processor_RNG::Processor_RNG
      Src: /src/botan/src/tests/test_rng_behavior.cpp:852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 856
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 856
    functionName: Botan_Tests::Processor_RNG_Tests::run
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::Processor_RNG::name
    - Botan::Processor_RNG::available
    - Botan::Processor_RNG::randomize
    - Botan::Processor_RNG::is_seeded
    - Test::Result::test_eq
    - Botan::Processor_RNG::add_entropy
    - Test::Result::test_throws
    - Test::Result::confirm
    - Botan::Processor_RNG::Processor_RNG
    - Test::Result::test_ne
    - Botan::Processor_RNG::clear
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::AlternativeName
      Src: /src/botan/src/tests/test_alt_name.cpp:42,1
    - Dst: Botan::AlternativeName::add_uri
      Src: /src/botan/src/tests/test_alt_name.cpp:44,1
    - Dst: Botan::AlternativeName::add_dns
      Src: /src/botan/src/tests/test_alt_name.cpp:47,1
    - Dst: Botan::AlternativeName::add_ipv4_address
      Src: /src/botan/src/tests/test_alt_name.cpp:50,1
    - Dst: Botan::AlternativeName::add_email
      Src: /src/botan/src/tests/test_alt_name.cpp:53,1
    - Dst: Botan::AlternativeName::add_other_name
      Src: /src/botan/src/tests/test_alt_name.cpp:56,1
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/test_alt_name.cpp:56,1
    - Dst: Botan::AlternativeName::add_other_name
      Src: /src/botan/src/tests/test_alt_name.cpp:57,1
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/test_alt_name.cpp:57,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/tests/test_alt_name.cpp:60,1
    - Dst: Botan::AlternativeName::add_dn
      Src: /src/botan/src/tests/test_alt_name.cpp:61,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/tests/test_alt_name.cpp:64,1
    - Dst: Botan::AlternativeName::add_dn
      Src: /src/botan/src/tests/test_alt_name.cpp:65,1
    - Dst: Botan::DER_Encoder::encode
      Src: /src/botan/src/tests/test_alt_name.cpp:69,1
    - Dst: Botan::AlternativeName::AlternativeName
      Src: /src/botan/src/tests/test_alt_name.cpp:71,1
    - Dst: Botan::BER_Decoder::decode
      Src: /src/botan/src/tests/test_alt_name.cpp:73,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_alt_name.cpp:75,1
    - Dst: Botan::AlternativeName::dns
      Src: /src/botan/src/tests/test_alt_name.cpp:75,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_alt_name.cpp:75,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_alt_name.cpp:77,1
    - Dst: Botan::AlternativeName::dns
      Src: /src/botan/src/tests/test_alt_name.cpp:77,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_alt_name.cpp:80,1
    - Dst: Botan::AlternativeName::uris
      Src: /src/botan/src/tests/test_alt_name.cpp:80,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_alt_name.cpp:80,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_alt_name.cpp:82,1
    - Dst: Botan::AlternativeName::uris
      Src: /src/botan/src/tests/test_alt_name.cpp:82,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_alt_name.cpp:85,1
    - Dst: Botan::AlternativeName::email
      Src: /src/botan/src/tests/test_alt_name.cpp:85,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_alt_name.cpp:85,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_alt_name.cpp:87,1
    - Dst: Botan::AlternativeName::email
      Src: /src/botan/src/tests/test_alt_name.cpp:87,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_alt_name.cpp:90,1
    - Dst: Botan::AlternativeName::directory_names
      Src: /src/botan/src/tests/test_alt_name.cpp:90,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_alt_name.cpp:91,1
    - Dst: Botan::AlternativeName::other_names
      Src: /src/botan/src/tests/test_alt_name.cpp:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 94
    functionName: Botan_Tests::X509_Alt_Name_Tests::run
    functionSourceFile: /src/botan/src/tests/test_alt_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::add_dn
    - Botan::AlternativeName::add_email
    - Botan::X509_DN::add_attribute
    - Botan::AlternativeName::AlternativeName
    - Botan::AlternativeName::uris
    - Botan::AlternativeName::add_dns
    - Botan::AlternativeName::add_other_name
    - Botan::BER_Decoder::decode
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::AlternativeName::email
    - std::vector::size
    - Botan::AlternativeName::dns
    - Botan::AlternativeName::directory_names
    - Botan::AlternativeName::add_uri
    - Botan::AlternativeName::add_ipv4_address
    - Botan::DER_Encoder::encode
    - Botan::ASN1_String::ASN1_String
    - Botan::AlternativeName::other_names
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::secure_string
      Src: /src/botan/src/tests/test_pkcs11.h:36,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11.h:36,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan_Tests::to_sec_string
    functionSourceFile: /src/botan/src/tests/test_pkcs11.h
    functionUses: 0
    functionsReached:
    - end
    - Botan::PKCS11::secure_string
    - begin
    linkageType: ''
    returnType: Botan::PKCS11::secure_string
    signature: Botan::PKCS11::secure_string to_sec_string(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::to_sec_string
      Src: /src/botan/src/tests/test_pkcs11.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan_Tests::PIN
    functionSourceFile: /src/botan/src/tests/test_pkcs11.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::to_sec_string
    linkageType: ''
    returnType: Botan::PKCS11::secure_string
    signature: Botan::PKCS11::secure_string PIN()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::to_sec_string
      Src: /src/botan/src/tests/test_pkcs11.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan_Tests::SO_PIN
    functionSourceFile: /src/botan/src/tests/test_pkcs11.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::to_sec_string
    linkageType: ''
    returnType: Botan::PKCS11::secure_string
    signature: Botan::PKCS11::secure_string SO_PIN()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::to_sec_string
      Src: /src/botan/src/tests/test_pkcs11.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan_Tests::TEST_PIN
    functionSourceFile: /src/botan/src/tests/test_pkcs11.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::to_sec_string
    linkageType: ''
    returnType: Botan::PKCS11::secure_string
    signature: Botan::PKCS11::secure_string TEST_PIN()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::to_sec_string
      Src: /src/botan/src/tests/test_pkcs11.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan_Tests::TEST_SO_PIN
    functionSourceFile: /src/botan/src/tests/test_pkcs11.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::to_sec_string
    linkageType: ''
    returnType: Botan::PKCS11::secure_string
    signature: Botan::PKCS11::secure_string TEST_SO_PIN()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/tests/test_ec_group.cpp:54,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/tests/test_ec_group.cpp:67,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/tests/test_ec_group.cpp:73,1
    - Dst: Botan::BigInt::get_bit
      Src: /src/botan/src/tests/test_ec_group.cpp:73,1
    - Dst: Botan::BigInt::clear_bit
      Src: /src/botan/src/tests/test_ec_group.cpp:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ' rng'
    - bits
    - ' max'
    argTypes:
    - Botan::RandomNumberGenerator
    - size_t
    - BigInt
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: Botan_Tests::test_integer
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::clear_bit
    - Botan::BigInt::random_integer
    - static_cast<int>
    - BOTAN_ASSERT
    - Botan::BigInt::get_bit
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt test_integer(Botan::RandomNumberGenerator& rng, size_t
      bits, const BigInt& max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:82,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/tests/test_ec_group.cpp:83,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/tests/test_ec_group.cpp:86,1
    - Dst: auto::multiply
      Src: /src/botan/src/tests/test_ec_group.cpp:87,1
    - Dst: auto::square
      Src: /src/botan/src/tests/test_ec_group.cpp:87,1
    - Dst: auto::multiply
      Src: /src/botan/src/tests/test_ec_group.cpp:88,1
    - Dst: get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:88,1
    - Dst: auto::reduce
      Src: /src/botan/src/tests/test_ec_group.cpp:89,1
    - Dst: get_b
      Src: /src/botan/src/tests/test_ec_group.cpp:89,1
    - Dst: Botan::sqrt_modulo_prime
      Src: /src/botan/src/tests/test_ec_group.cpp:90,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/tests/test_ec_group.cpp:93,1
    - Dst: auto::square
      Src: /src/botan/src/tests/test_ec_group.cpp:93,1
    - Dst: point
      Src: /src/botan/src/tests/test_ec_group.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' rng'
    - ' group'
    argTypes:
    - Botan::RandomNumberGenerator
    - Botan::EC_Group
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: Botan_Tests::create_random_point
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - auto::reduce
    - get_p
    - Botan::BigInt::random_integer
    - get_a
    - Botan::sqrt_modulo_prime
    - BOTAN_ASSERT_EQUAL
    - point
    - Botan::Barrett_Reduction::for_public_modulus
    - auto::square
    - get_b
    - auto::multiply
    linkageType: ''
    returnType: Botan::EC_Point
    signature: Botan::EC_Point create_random_point(Botan::RandomNumberGenerator& rng,
      const Botan::EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ec_group.cpp:106,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:109,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:111,1
    - Dst: create_random_point
      Src: /src/botan/src/tests/test_ec_group.cpp:113,1
    - Dst: Botan_Tests::ECC_Randomized_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:113,1
    - Dst: test_integer
      Src: /src/botan/src/tests/test_ec_group.cpp:120,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ec_group.cpp:120,1
    - Dst: auto::get_order_bits
      Src: /src/botan/src/tests/test_ec_group.cpp:120,1
    - Dst: auto::get_order
      Src: /src/botan/src/tests/test_ec_group.cpp:120,1
    - Dst: test_integer
      Src: /src/botan/src/tests/test_ec_group.cpp:121,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ec_group.cpp:121,1
    - Dst: auto::get_order_bits
      Src: /src/botan/src/tests/test_ec_group.cpp:121,1
    - Dst: auto::get_order
      Src: /src/botan/src/tests/test_ec_group.cpp:121,1
    - Dst: auto::mod_order
      Src: /src/botan/src/tests/test_ec_group.cpp:122,1
    - Dst: auto::blinded_var_point_multiply
      Src: /src/botan/src/tests/test_ec_group.cpp:128,1
    - Dst: Botan_Tests::ECC_Randomized_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:128,1
    - Dst: auto::blinded_var_point_multiply
      Src: /src/botan/src/tests/test_ec_group.cpp:129,1
    - Dst: Botan_Tests::ECC_Randomized_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:129,1
    - Dst: auto::blinded_var_point_multiply
      Src: /src/botan/src/tests/test_ec_group.cpp:130,1
    - Dst: Botan_Tests::ECC_Randomized_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:130,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:135,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:136,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/tests/test_ec_group.cpp:138,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/tests/test_ec_group.cpp:139,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:140,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:141,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:143,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:143,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:144,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:144,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:145,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:145,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:147,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:148,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:149,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/tests/test_ec_group.cpp:151,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/tests/test_ec_group.cpp:152,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/tests/test_ec_group.cpp:153,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:154,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:155,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:156,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:159,1
    - Dst: what
      Src: /src/botan/src/tests/test_ec_group.cpp:159,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 166
    functionName: Botan_Tests::ECC_Randomized_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - create_random_point
    - Botan::EC_Group::known_named_groups
    - Botan_Tests::ECC_Randomized_Tests::rng
    - what
    - auto::get_order
    - Botan::EC_Group::from_name
    - Test::Result::test_eq
    - auto::get_order_bits
    - Botan::EC_Point::force_affine
    - auto::blinded_var_point_multiply
    - Botan::EC_Point::on_the_curve
    - auto::mod_order
    - test_integer
    - Test::Result::test_failure
    - rng
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> ECC_Randomized_Tests::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ec_group.cpp:177,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:180,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:182,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:184,1
    - Dst: auto::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:184,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:185,1
    - Dst: auto::verify_group
      Src: /src/botan/src/tests/test_ec_group.cpp:185,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:185,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:186,1
    - Dst: auto::used_explicit_encoding
      Src: /src/botan/src/tests/test_ec_group.cpp:186,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:188,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:188,1
    - Dst: auto::get_p_bits
      Src: /src/botan/src/tests/test_ec_group.cpp:188,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:189,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:189,1
    - Dst: auto::get_p_bytes
      Src: /src/botan/src/tests/test_ec_group.cpp:189,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:191,1
    - Dst: auto::get_cofactor
      Src: /src/botan/src/tests/test_ec_group.cpp:191,1
    - Dst: Botan::EC_Group::EC_group_identity_from_order
      Src: /src/botan/src/tests/test_ec_group.cpp:193,1
    - Dst: auto::get_order
      Src: /src/botan/src/tests/test_ec_group.cpp:193,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:195,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/tests/test_ec_group.cpp:196,1
    - Dst: auto::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:196,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:198,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:198,1
    - Dst: auto::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:201,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:202,1
    - Dst: auto::get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:203,1
    - Dst: auto::get_b
      Src: /src/botan/src/tests/test_ec_group.cpp:204,1
    - Dst: auto::get_g_x
      Src: /src/botan/src/tests/test_ec_group.cpp:205,1
    - Dst: auto::get_g_y
      Src: /src/botan/src/tests/test_ec_group.cpp:206,1
    - Dst: auto::get_order
      Src: /src/botan/src/tests/test_ec_group.cpp:207,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:209,1
    - Dst: auto::DER_encode
      Src: /src/botan/src/tests/test_ec_group.cpp:212,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:214,1
    - Dst: Botan::EC_Group::used_explicit_encoding
      Src: /src/botan/src/tests/test_ec_group.cpp:215,1
    - Dst: auto::DER_encode
      Src: /src/botan/src/tests/test_ec_group.cpp:217,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:219,1
    - Dst: Botan::EC_Group::used_explicit_encoding
      Src: /src/botan/src/tests/test_ec_group.cpp:220,1
    - Dst: auto::a_is_minus_3
      Src: /src/botan/src/tests/test_ec_group.cpp:222,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:223,1
    - Dst: auto::get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:223,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:223,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_ec_group.cpp:225,1
    - Dst: auto::get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:225,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:225,1
    - Dst: auto::a_is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:228,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:229,1
    - Dst: auto::get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:229,1
    - Dst: BigInt
      Src: /src/botan/src/tests/test_ec_group.cpp:229,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_ec_group.cpp:231,1
    - Dst: auto::get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:231,1
    - Dst: BigInt
      Src: /src/botan/src/tests/test_ec_group.cpp:231,1
    - Dst: auto::get_base_point
      Src: /src/botan/src/tests/test_ec_group.cpp:235,1
    - Dst: auto::get_order
      Src: /src/botan/src/tests/test_ec_group.cpp:235,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:236,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:236,1
    - Dst: auto::get_base_point
      Src: /src/botan/src/tests/test_ec_group.cpp:239,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:239,1
    - Dst: Botan::EC_Point::randomize_repr
      Src: /src/botan/src/tests/test_ec_group.cpp:244,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:244,1
    - Dst: Botan::EC_Point::randomize_repr
      Src: /src/botan/src/tests/test_ec_group.cpp:245,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:245,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:247,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:247,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:247,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:248,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:248,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:248,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/tests/test_ec_group.cpp:250,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:252,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:252,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:252,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:253,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:253,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:253,1
    - Dst: Botan_Tests::EC_Group_Tests::test_ser_der
      Src: /src/botan/src/tests/test_ec_group.cpp:255,1
    - Dst: Botan_Tests::EC_Group_Tests::test_basic_math
      Src: /src/botan/src/tests/test_ec_group.cpp:256,1
    - Dst: Botan_Tests::EC_Group_Tests::test_point_swap
      Src: /src/botan/src/tests/test_ec_group.cpp:257,1
    - Dst: Botan_Tests::EC_Group_Tests::test_zeropoint
      Src: /src/botan/src/tests/test_ec_group.cpp:258,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:261,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 267
    functionName: Botan_Tests::EC_Group_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - auto::get_curve_oid
    - auto::get_a
    - auto::get_p_bits
    - auto::get_cofactor
    - auto::get_b
    - Botan_Tests::EC_Group_Tests::test_basic_math
    - Test::Result::end_timer
    - auto::get_base_point
    - auto::verify_group
    - Botan::EC_Group::known_named_groups
    - auto::get_p
    - Test::Result::test_eq
    - auto::get_order
    - Test::Result::confirm
    - auto::DER_encode
    - Botan::EC_Point::randomize_repr
    - Botan_Tests::EC_Group_Tests::test_point_swap
    - Botan_Tests::EC_Group_Tests::rng
    - Botan::OID::to_string
    - auto::a_is_zero
    - auto::used_explicit_encoding
    - Botan_Tests::EC_Group_Tests::test_ser_der
    - auto::a_is_minus_3
    - Botan_Tests::EC_Group_Tests::test_zeropoint
    - Test::Result::start_timer
    - Botan::EC_Group::used_explicit_encoding
    - auto::is_zero
    - Botan::EC_Point::get_affine_x
    - std::vector::push_back
    - auto::get_g_x
    - auto::get_g_y
    - BigInt
    - Botan::EC_Group::EC_group_identity_from_order
    - Botan::EC_Point::force_affine
    - Test::Result::test_ne
    - auto::get_p_bytes
    - Botan::EC_Point::get_affine_y
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_random_point
      Src: /src/botan/src/tests/test_ec_group.cpp:274,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:274,1
    - Dst: zero_point
      Src: /src/botan/src/tests/test_ec_group.cpp:275,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:281,1
    - Dst: OS2ECP
      Src: /src/botan/src/tests/test_ec_group.cpp:281,1
    - Dst: Botan::EC_Point::encode
      Src: /src/botan/src/tests/test_ec_group.cpp:281,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:283,1
    - Dst: what
      Src: /src/botan/src/tests/test_ec_group.cpp:283,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:287,1
    - Dst: OS2ECP
      Src: /src/botan/src/tests/test_ec_group.cpp:287,1
    - Dst: Botan::EC_Point::encode
      Src: /src/botan/src/tests/test_ec_group.cpp:287,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:289,1
    - Dst: what
      Src: /src/botan/src/tests/test_ec_group.cpp:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' result'
    - ' group'
    argTypes:
    - Test::Result
    - Botan::EC_Group
    constantsTouched: []
    func_position:
      end: 292
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 292
    functionName: Botan_Tests::EC_Group_Tests::test_ser_der
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Point::encode
    - create_random_point
    - OS2ECP
    - what
    - test_eq
    - test_failure
    - zero_point
    - Botan_Tests::EC_Group_Tests::rng
    linkageType: ''
    returnType: void
    signature: void test_ser_der(Test::Result& result, const Botan::EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_base_point
      Src: /src/botan/src/tests/test_ec_group.cpp:295,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:300,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:304,1
    - Dst: point
      Src: /src/botan/src/tests/test_ec_group.cpp:308,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:309,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:309,1
    - Dst: test_success
      Src: /src/botan/src/tests/test_ec_group.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' result'
    - ' group'
    argTypes:
    - Test::Result
    - Botan::EC_Group
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: Botan_Tests::EC_Group_Tests::test_basic_math
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - test_success
    - test_eq
    - get_base_point
    - point
    - confirm
    - Botan::EC_Point::on_the_curve
    linkageType: ''
    returnType: void
    signature: void test_basic_math(Test::Result& result, const Botan::EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_random_point
      Src: /src/botan/src/tests/test_ec_group.cpp:316,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:316,1
    - Dst: create_random_point
      Src: /src/botan/src/tests/test_ec_group.cpp:317,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:317,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_ec_group.cpp:318,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:318,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/tests/test_ec_group.cpp:323,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:324,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' result'
    - ' group'
    argTypes:
    - Test::Result
    - Botan::EC_Group
    constantsTouched: []
    func_position:
      end: 326
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 326
    functionName: Botan_Tests::EC_Group_Tests::test_point_swap
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - create_random_point
    - test_eq
    - Botan::EC_Point::swap
    - Botan_Tests::EC_Group_Tests::rng
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    linkageType: ''
    returnType: void
    signature: void test_point_swap(Test::Result& result, const Botan::EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zero_point
      Src: /src/botan/src/tests/test_ec_group.cpp:329,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_ec_group.cpp:331,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:331,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_ec_group.cpp:332,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:332,1
    - Dst: get_base_point
      Src: /src/botan/src/tests/test_ec_group.cpp:334,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:336,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:336,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:337,1
    - Dst: Botan::EC_Point::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:337,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:342,1
    - Dst: Botan::EC_Point::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:342,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:345,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:345,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:347,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:347,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:348,1
    - Dst: Botan::EC_Point::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:348,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:350,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:350,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:350,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:351,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:351,1
    - Dst: get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:351,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:351,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:353,1
    - Dst: Botan::EC_Point::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:353,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:354,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:354,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:355,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:356,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:357,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:358,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:358,1
    - Dst: Botan::EC_Point::encode
      Src: /src/botan/src/tests/test_ec_group.cpp:363,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:364,1
    - Dst: OS2ECP
      Src: /src/botan/src/tests/test_ec_group.cpp:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - ' result'
    - ' group'
    argTypes:
    - Test::Result
    - Botan::EC_Group
    constantsTouched: []
    func_position:
      end: 366
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 366
    functionName: Botan_Tests::EC_Group_Tests::test_zeropoint
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Point::encode
    - get_p
    - OS2ECP
    - Botan::EC_Point::is_zero
    - test_eq
    - zero_point
    - test_throws
    - get_base_point
    - is_zero
    - Botan::EC_Point::get_affine_y
    - confirm
    - Botan::EC_Point::get_affine_x
    - Botan::EC_Point::on_the_curve
    linkageType: ''
    returnType: void
    signature: void test_zeropoint(Test::Result& result, const Botan::EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ec_group.cpp:376,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:377,1
    - Dst: Botan::EC_Group::from_PEM
      Src: /src/botan/src/tests/test_ec_group.cpp:379,1
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_ec_group.cpp:379,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:380,1
    - Dst: auto::initialized
      Src: /src/botan/src/tests/test_ec_group.cpp:380,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:381,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:381,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:381,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:384,1
    - Dst: what
      Src: /src/botan/src/tests/test_ec_group.cpp:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 388
    functionName: Botan_Tests::test_decoding_with_seed
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - auto::initialized
    - what
    - auto::get_p
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::EC_Group::from_PEM
    - Test::Result::test_failure
    - Botan_Tests::Test::read_data_file
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_decoding_with_seed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ec_group.cpp:393,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ec_group.cpp:393,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:394,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:395,1
    - Dst: auto::get_base_point
      Src: /src/botan/src/tests/test_ec_group.cpp:398,1
    - Dst: auto::get_base_point
      Src: /src/botan/src/tests/test_ec_group.cpp:399,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ec_group.cpp:401,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/tests/test_ec_group.cpp:404,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/tests/test_ec_group.cpp:405,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ec_group.cpp:406,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 410
    functionName: Botan_Tests::test_mixed_points
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - auto::get_base_point
    - Botan::EC_AffinePoint::generator
    - Test::Result::test_throws
    - auto::add
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_mixed_points()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:417,1
    - Dst: test_decoding_with_seed
      Src: /src/botan/src/tests/test_ec_group.cpp:417,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:418,1
    - Dst: test_mixed_points
      Src: /src/botan/src/tests/test_ec_group.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: Botan_Tests::ECC_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - test_mixed_points
    - test_decoding_with_seed
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_ec_group.cpp:431,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:432,1
    - Dst: Botan_Tests::EC_Group_Registration_Tests::test_ecc_registration
      Src: /src/botan/src/tests/test_ec_group.cpp:432,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:433,1
    - Dst: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_from_params
      Src: /src/botan/src/tests/test_ec_group.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:434,1
    - Dst: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_bad_registration
      Src: /src/botan/src/tests/test_ec_group.cpp:434,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:435,1
    - Dst: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_duplicate_orders
      Src: /src/botan/src/tests/test_ec_group.cpp:435,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:436,1
    - Dst: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_registration_with_custom_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 440
    functionName: Botan_Tests::EC_Group_Registration_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::EC_Group_Registration_Tests::test_ecc_registration
    - Botan_Tests::EC_Group_Registration_Tests::test_ec_group_duplicate_orders
    - Botan::EC_Group::supports_application_specific_group
    - Botan_Tests::EC_Group_Registration_Tests::test_ec_group_registration_with_custom_oid
    - Botan_Tests::EC_Group_Registration_Tests::test_ec_group_bad_registration
    - Botan_Tests::EC_Group_Registration_Tests::test_ec_group_from_params
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_ec_group.cpp:460,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:462,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:462,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:465,1
    - Dst: auto::engine
      Src: /src/botan/src/tests/test_ec_group.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 468
    functionName: Botan_Tests::EC_Group_Registration_Tests::test_ecc_registration
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - auto::engine
    - Botan::EC_Group::from_OID
    - auto::get_p
    - Test::Result::test_eq
    - Test::Result::confirm
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecc_registration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::clear_registered_curve_data
      Src: /src/botan/src/tests/test_ec_group.cpp:473,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:489,1
    - Dst: Botan::EC_Group::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 492
    functionName: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_from_params
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group::get_curve_oid
    - Test::Result::confirm
    - Botan::EC_Group::clear_registered_curve_data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ec_group_from_params()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::clear_registered_curve_data
      Src: /src/botan/src/tests/test_ec_group.cpp:497,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:512,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ec_group.cpp:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 518
    functionName: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_bad_registration
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan::EC_Group::clear_registered_curve_data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ec_group_bad_registration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::clear_registered_curve_data
      Src: /src/botan/src/tests/test_ec_group.cpp:523,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ec_group.cpp:537,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:538,1
    - Dst: Botan::EC_Group::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:538,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_ec_group.cpp:541,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:542,1
    - Dst: auto::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:542,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_ec_group.cpp:546,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:547,1
    - Dst: auto::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 550
    functionName: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_duplicate_orders
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group::from_OID
    - auto::get_curve_oid
    - Botan::EC_Group::clear_registered_curve_data
    - Test::Result::confirm
    - Test::Result::test_success
    - Botan::EC_Group::get_curve_oid
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ec_group_duplicate_orders()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::clear_registered_curve_data
      Src: /src/botan/src/tests/test_ec_group.cpp:555,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_ec_group.cpp:558,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:559,1
    - Dst: auto::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:559,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:563,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:566,1
    - Dst: auto::get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:567,1
    - Dst: auto::get_b
      Src: /src/botan/src/tests/test_ec_group.cpp:568,1
    - Dst: auto::get_g_x
      Src: /src/botan/src/tests/test_ec_group.cpp:569,1
    - Dst: auto::get_g_y
      Src: /src/botan/src/tests/test_ec_group.cpp:570,1
    - Dst: auto::get_order
      Src: /src/botan/src/tests/test_ec_group.cpp:571,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ec_group.cpp:573,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:574,1
    - Dst: Botan::EC_Group::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:574,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:577,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_ec_group.cpp:577,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:581,1
    - Dst: Botan::EC_Group::_data
      Src: /src/botan/src/tests/test_ec_group.cpp:581,1
    - Dst: auto::_data
      Src: /src/botan/src/tests/test_ec_group.cpp:581,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:587,1
    - Dst: Botan::EC_Group::engine
      Src: /src/botan/src/tests/test_ec_group.cpp:587,1
    - Dst: Botan::EC_Group::_data
      Src: /src/botan/src/tests/test_ec_group.cpp:590,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:591,1
    - Dst: auto::_data
      Src: /src/botan/src/tests/test_ec_group.cpp:592,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 599
    functionName: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_registration_with_custom_oid
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group::engine
    - auto::_data
    - Botan::EC_Group::from_OID
    - auto::get_curve_oid
    - Botan::EC_Group::clear_registered_curve_data
    - auto::get_a
    - auto::get_p
    - auto::get_g_y
    - auto::get_order
    - Botan::EC_Group::_data
    - Test::Result::confirm
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan::OID::register_oid
    - auto::get_b
    - Botan::EC_Group::get_curve_oid
    - auto::get_g_x
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ec_group_registration_with_custom_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_ec_group.cpp:609,1
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ec_group.cpp:611,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:612,1
    - Dst: Result::start_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:616,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:619,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:620,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:622,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:623,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_ec_group.cpp:623,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/tests/test_ec_group.cpp:625,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:627,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ec_group.cpp:627,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:629,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:631,1
    - Dst: subspan
      Src: /src/botan/src/tests/test_ec_group.cpp:632,1
    - Dst: subspan
      Src: /src/botan/src/tests/test_ec_group.cpp:632,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/tests/test_ec_group.cpp:634,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:635,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:636,1
    - Dst: Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:638,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/tests/test_ec_group.cpp:641,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:642,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:643,1
    - Dst: Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:645,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/tests/test_ec_group.cpp:654,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:655,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:656,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ec_group.cpp:657,1
    - Dst: Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:659,1
    - Dst: Result::end_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:663,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 669
    functionName: Botan_Tests::EC_PointEnc_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - subspan
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - Botan::EC_Group::known_named_groups
    - Result::test_eq
    - static_cast<size_t>
    - auto::negate
    - Result::test_failure
    - Result::start_timer
    - Botan::EC_AffinePoint::g_mul
    - auto::serialize_compressed
    - Result::confirm
    - auto::serialize_uncompressed
    - Botan::EC_AffinePoint::deserialize
    - Result::end_timer
    - auto::size
    - Botan::EC_Scalar::random
    - std::vector::push_back
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_ec_group.cpp:679,1
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ec_group.cpp:681,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:682,1
    - Dst: Result::start_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:686,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/tests/test_ec_group.cpp:688,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/tests/test_ec_group.cpp:690,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:691,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:693,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:694,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ec_group.cpp:694,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:696,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:697,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ec_group.cpp:697,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:699,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:700,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:700,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:702,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:703,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:703,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:705,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:706,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:706,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:708,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ec_group.cpp:708,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:710,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:711,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ec_group.cpp:711,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:713,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:714,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:715,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:715,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:715,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:717,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:717,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:718,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:718,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:719,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:719,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:720,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:720,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ec_group.cpp:722,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:723,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:723,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:725,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:725,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:726,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:726,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:727,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:727,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:729,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:729,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:730,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:730,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:731,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ec_group.cpp:731,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:731,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:732,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ec_group.cpp:732,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:732,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:735,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:735,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:737,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:738,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ec_group.cpp:741,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ec_group.cpp:742,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ec_group.cpp:743,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:745,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:747,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:748,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:748,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:750,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:751,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:751,1
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/tests/test_ec_group.cpp:759,1
    - Dst: auto::get_order_bytes
      Src: /src/botan/src/tests/test_ec_group.cpp:762,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ec_group.cpp:763,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_ec_group.cpp:763,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/tests/test_ec_group.cpp:764,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ec_group.cpp:768,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:771,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:774,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:778,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:779,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:783,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ec_group.cpp:783,1
    - Dst: Botan::EC_Group::Mul2Table::mul2_vartime
      Src: /src/botan/src/tests/test_ec_group.cpp:785,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:786,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:786,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:786,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:788,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ec_group.cpp:788,1
    - Dst: Result::end_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:792,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:794,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 798
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 798
    functionName: Botan_Tests::EC_Point_Arithmetic_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - auto::mul
    - auto::add
    - Botan::EC_Group::known_named_groups
    - Botan::EC_Group::from_name
    - Botan::EC_Scalar::random
    - std::vector::size
    - Botan::EC_AffinePoint::generator
    - Result::test_eq
    - auto::negate
    - is_zero
    - Botan::EC_Scalar::EC_Scalar
    - auto::get_order_bytes
    - Result::start_timer
    - static_cast<uint8_t>
    - Result::end_timer
    - auto::is_identity
    - auto::is_zero
    - std::vector::push_back
    - Botan::EC_AffinePoint::g_mul
    - auto::serialize_uncompressed
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - Botan::EC_Scalar::one
    - Botan::EC_Scalar::deserialize
    - Botan::EC_Group::Mul2Table::mul2_vartime
    - Result::confirm
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 807
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 807
    functionName: Botan_Tests::ECC_Invalid_Key_Tests::ECC_Invalid_Key_Tests
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Invalid_Key_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 809
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 809
    functionName: Botan_Tests::ECC_Invalid_Key_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ec_group.cpp:814,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_ec_group.cpp:818,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:819,1
    - Dst: auto::check_key
      Src: /src/botan/src/tests/test_ec_group.cpp:819,1
    - Dst: Botan_Tests::ECC_Invalid_Key_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:819,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ec_group.cpp:821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 825
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 825
    functionName: Botan_Tests::ECC_Invalid_Key_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - auto::check_key
    - Test::Result::test_eq
    - get_req_str
    - Test::Result::test_success
    - Botan_Tests::ECC_Invalid_Key_Tests::rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls_policy.cpp:43,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_rsa
      Src: /src/botan/src/tests/unit_tls_policy.cpp:43,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::rng
      Src: /src/botan/src/tests/unit_tls_policy.cpp:43,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls_policy.cpp:44,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_ecdh
      Src: /src/botan/src/tests/unit_tls_policy.cpp:44,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::rng
      Src: /src/botan/src/tests/unit_tls_policy.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls_policy.cpp:45,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_ecdsa
      Src: /src/botan/src/tests/unit_tls_policy.cpp:45,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::rng
      Src: /src/botan/src/tests/unit_tls_policy.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls_policy.cpp:46,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_dh
      Src: /src/botan/src/tests/unit_tls_policy.cpp:46,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls_policy.cpp:47,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::test_key_exchange_groups_to_offer
      Src: /src/botan/src/tests/unit_tls_policy.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: Botan_Tests::TLS_Policy_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/unit_tls_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_ecdh
    - Botan_Tests::TLS_Policy_Unit_Tests::rng
    - Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_rsa
    - Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_dh
    - Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_ecdsa
    - std::vector::push_back
    - Botan_Tests::TLS_Policy_Unit_Tests::test_key_exchange_groups_to_offer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:56,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:60,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_tls_policy.cpp:61,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:63,1
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:66,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:67,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_rsa
    functionSourceFile: /src/botan/src/tests/unit_tls_policy.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_success
    - std::make_unique<Botan::RSA_PrivateKey>
    - Test::Result::test_failure
    - Botan::TLS::Policy::check_peer_key_acceptable
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_peer_key_acceptable_rsa(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_tls_policy.cpp:79,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls_policy.cpp:80,1
    - Dst: std::make_unique<Botan::ECDH_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:81,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:84,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_tls_policy.cpp:85,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:87,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_tls_policy.cpp:91,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls_policy.cpp:92,1
    - Dst: std::make_unique<Botan::ECDH_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:93,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:94,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 99
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 99
    functionName: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_ecdh
    functionSourceFile: /src/botan/src/tests/unit_tls_policy.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - Botan::TLS::Policy::check_peer_key_acceptable
    - std::make_unique<Botan::ECDH_PrivateKey>
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_peer_key_acceptable_ecdh(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_tls_policy.cpp:106,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls_policy.cpp:107,1
    - Dst: std::make_unique<Botan::ECDSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:108,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:111,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_tls_policy.cpp:112,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:114,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_tls_policy.cpp:118,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls_policy.cpp:119,1
    - Dst: std::make_unique<Botan::ECDSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:120,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:121,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 126
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 126
    functionName: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_ecdsa
    functionSourceFile: /src/botan/src/tests/unit_tls_policy.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - Botan::TLS::Policy::check_peer_key_acceptable
    - Test::Result::test_failure
    - Test::Result::test_success
    - std::make_unique<Botan::ECDSA_PrivateKey>
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_peer_key_acceptable_ecdsa(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::DH_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:135,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:139,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_tls_policy.cpp:140,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_dh
    functionSourceFile: /src/botan/src/tests/unit_tls_policy.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_success
    - std::make_unique<Botan::DH_PrivateKey>
    - Test::Result::test_failure
    - Botan::TLS::Policy::check_peer_key_acceptable
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_peer_key_acceptable_dh()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls_policy.cpp:152,1
    - Dst: Botan::TLS::Policy::key_exchange_groups_to_offer
      Src: /src/botan/src/tests/unit_tls_policy.cpp:153,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_tls_policy.cpp:154,1
    - Dst: Botan::TLS::Policy::key_exchange_groups
      Src: /src/botan/src/tests/unit_tls_policy.cpp:156,1
    - Dst: Botan::TLS::Policy::key_exchange_groups_to_offer
      Src: /src/botan/src/tests/unit_tls_policy.cpp:156,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls_policy.cpp:160,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:160,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_tls_policy.cpp:161,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:162,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:162,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_tls_policy.cpp:164,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:165,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls_policy.cpp:168,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:168,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_tls_policy.cpp:169,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:170,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_tls_policy.cpp:171,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 175
    functionName: Botan_Tests::TLS_Policy_Unit_Tests::test_key_exchange_groups_to_offer
    functionSourceFile: /src/botan/src/tests/unit_tls_policy.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Policy::key_exchange_groups
    - TP
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::TLS::Policy::key_exchange_groups_to_offer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_key_exchange_groups_to_offer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:51,1
    - Dst: Botan::TLS::Client_Handshake_State_13::sending
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:59,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:60,1
    - Dst: Botan::TLS::Client_Handshake_State_13::server_finished
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:60,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:61,1
    - Dst: Botan::TLS::Client_Handshake_State_13::client_finished
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:62,1
    - Dst: Botan::TLS::Client_Handshake_State_13::received
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:66,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:66,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:67,1
    - Dst: std::holds_alternative<std::reference_wrapper<Botan::TLS::Finished_13>>
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:68,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:69,1
    - Dst: Botan::TLS::Client_Handshake_State_13::client_finished
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:70,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:71,1
    - Dst: Botan::TLS::Client_Handshake_State_13::server_finished
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: Botan_Tests::finished_message_handling
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - require
    - Botan::TLS::Client_Handshake_State_13::received
    - Botan_Tests::CHECK
    - Botan::TLS::Client_Handshake_State_13::sending
    - Botan::TLS::Client_Handshake_State_13::client_finished
    - test_eq
    - test_throws
    - Botan::TLS::Client_Handshake_State_13::server_finished
    - std::holds_alternative<std::reference_wrapper<Botan::TLS::Finished_13>>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> finished_message_handling()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:79,1
    - Dst: std::get<Botan::TLS::Client_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:84,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:84,1
    - Dst: Botan::TLS::Client_Handshake_State_13::sending
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:88,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:88,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:89,1
    - Dst: Botan::TLS::Client_Handshake_State_13::client_hello
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:89,1
    - Dst: template test_throws<Botan::TLS::TLS_Exception>
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:91,1
    - Dst: std::get<Botan::TLS::Client_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:94,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:94,1
    - Dst: Botan::TLS::Client_Handshake_State_13::received
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:95,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:95,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:98,1
    - Dst: std::get<Botan::TLS::Server_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:103,1
    - Dst: Botan::TLS::Server_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:103,1
    - Dst: Botan::TLS::Client_Handshake_State_13::received
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:105,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:105,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:106,1
    - Dst: std::holds_alternative<std::reference_wrapper<Botan::TLS::Server_Hello_13>>
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:107,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:109,1
    - Dst: Botan::TLS::Client_Handshake_State_13::server_hello
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 112
    functionName: Botan_Tests::handshake_message_filtering
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Client_Handshake_State_13::received
    - template test_throws<Botan::TLS::TLS_Exception>
    - Botan::TLS::Client_Hello_13::parse
    - Botan::TLS::Client_Handshake_State_13::client_hello
    - std::get<Botan::TLS::Server_Hello_13>
    - Botan_Tests::CHECK
    - Botan::TLS::Client_Handshake_State_13::sending
    - std::holds_alternative<std::reference_wrapper<Botan::TLS::Server_Hello_13>>
    - test_eq
    - confirm
    - Botan::TLS::Server_Hello_13::parse
    - std::get<Botan::TLS::Client_Hello_13>
    - Botan::TLS::Client_Handshake_State_13::server_hello
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> handshake_message_filtering()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rsa.cpp:24,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rsa.cpp:25,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rsa.cpp:26,1
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/tests/test_rsa.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: Botan_Tests::load_rsa_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::RSA_PrivateKey>
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_rsa_private_key(const VarMap&
      vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rsa.cpp:32,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rsa.cpp:33,1
    - Dst: std::make_unique<Botan::RSA_PublicKey>
      Src: /src/botan/src/tests/test_rsa.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: Botan_Tests::load_rsa_public_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::RSA_PublicKey>
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_rsa_public_key(const VarMap&
      vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan_Tests::RSA_ES_KAT_Tests::RSA_ES_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_ES_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_private_key
      Src: /src/botan/src/tests/test_rsa.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan_Tests::RSA_ES_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan_Tests::RSA_Decryption_KAT_Tests::RSA_Decryption_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Decryption_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan_Tests::RSA_Decryption_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_private_key
      Src: /src/botan/src/tests/test_rsa.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan_Tests::RSA_Decryption_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan_Tests::RSA_KEM_Tests::RSA_KEM_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_KEM_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_private_key
      Src: /src/botan/src/tests/test_rsa.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Botan_Tests::RSA_KEM_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: Botan_Tests::RSA_Signature_KAT_Tests::RSA_Signature_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Signature_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan_Tests::RSA_Signature_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_private_key
      Src: /src/botan/src/tests/test_rsa.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan_Tests::RSA_Signature_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: Botan_Tests::RSA_PSS_KAT_Tests::RSA_PSS_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_PSS_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_rsa.cpp:85,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_rsa.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: Botan_Tests::RSA_PSS_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan_Tests::RSA_PSS_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_private_key
      Src: /src/botan/src/tests/test_rsa.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan_Tests::RSA_PSS_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: Botan_Tests::RSA_PSS_Raw_KAT_Tests::RSA_PSS_Raw_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_PSS_Raw_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_rsa.cpp:103,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_rsa.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: Botan_Tests::RSA_PSS_Raw_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Botan_Tests::RSA_PSS_Raw_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_private_key
      Src: /src/botan/src/tests/test_rsa.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Botan_Tests::RSA_PSS_Raw_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: Botan_Tests::RSA_Signature_Verify_Tests::RSA_Signature_Verify_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Signature_Verify_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: Botan_Tests::RSA_Signature_Verify_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_public_key
      Src: /src/botan/src/tests/test_rsa.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: Botan_Tests::RSA_Signature_Verify_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_public_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: Botan_Tests::RSA_Signature_Verify_Invalid_Tests::RSA_Signature_Verify_Invalid_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Signature_Verify_Invalid_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Botan_Tests::RSA_Signature_Verify_Invalid_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_public_key
      Src: /src/botan/src/tests/test_rsa.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: Botan_Tests::RSA_Signature_Verify_Invalid_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_public_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan_Tests::RSA_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: Botan_Tests::RSA_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> /* raw_pk */) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan_Tests::RSA_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Botan_Tests::RSA_Keygen_Stability_Tests::RSA_Keygen_Stability_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Keygen_Stability_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_rsa.cpp:172,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_rsa.cpp:174,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rsa.cpp:175,1
    - Dst: what
      Src: /src/botan/src/tests/test_rsa.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 179
    functionName: Botan_Tests::RSA_Keygen_Bad_RNG_Test::run
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Test::Result::test_failure
    - Test::Result::test_success
    - what
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_rsa.cpp:188,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_rsa.cpp:189,1
    - Dst: Botan_Tests::RSA_Blinding_Tests::rng
      Src: /src/botan/src/tests/test_rsa.cpp:194,1
    - Dst: Botan_Tests::RSA_Blinding_Tests::rng
      Src: /src/botan/src/tests/test_rsa.cpp:209,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rsa.cpp:214,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_rsa.cpp:214,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/tests/test_rsa.cpp:216,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/tests/test_rsa.cpp:219,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rsa.cpp:221,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_rsa.cpp:221,1
    - Dst: Botan_Tests::RSA_Blinding_Tests::rng
      Src: /src/botan/src/tests/test_rsa.cpp:235,1
    - Dst: Botan_Tests::RSA_Blinding_Tests::rng
      Src: /src/botan/src/tests/test_rsa.cpp:246,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rsa.cpp:251,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_rsa.cpp:251,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_rsa.cpp:253,1
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_rsa.cpp:255,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_rsa.cpp:255,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/test_rsa.cpp:256,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_rsa.cpp:256,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rsa.cpp:256,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rsa.cpp:258,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rsa.cpp:261,1
    - Dst: Fixed_Output_RNG::is_seeded
      Src: /src/botan/src/tests/test_rsa.cpp:261,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rsa.cpp:264,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_rsa.cpp:268,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_rsa.cpp:268,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_rsa.cpp:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 275
    functionName: Botan_Tests::RSA_Blinding_Tests::run
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::insert
    - Fixed_Output_RNG::is_seeded
    - std::vector<uint8_t>
    - provider_filter
    - Test::Result::test_eq
    - Test::Result::test_throws
    - static_cast<uint8_t>
    - Botan::PK_Verifier::verify_message
    - Botan::unlock
    - std::vector::begin
    - Test::Result::note_missing
    - Botan::PK_Signer::update
    - Botan::PK_Decryptor_EME::decrypt
    - Botan_Tests::RSA_Blinding_Tests::rng
    - Botan::PK_Signer::signature
    - Botan::PK_Encryptor_EME::encrypt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_PrivateKey::RSA_PrivateKey
      Src: /src/botan/src/tests/test_rsa.cpp:292,1
    - Dst: rng
      Src: /src/botan/src/tests/test_rsa.cpp:292,1
    - Dst: Botan_Tests::test_decrypt_or_random
      Src: /src/botan/src/tests/test_rsa.cpp:297,1
    - Dst: rng
      Src: /src/botan/src/tests/test_rsa.cpp:297,1
    - Dst: push_back
      Src: /src/botan/src/tests/test_rsa.cpp:298,1
    - Dst: public_key
      Src: /src/botan/src/tests/test_rsa.cpp:311,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_rsa.cpp:312,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_rsa.cpp:315,1
    - Dst: auto::get_int_field
      Src: /src/botan/src/tests/test_rsa.cpp:319,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/tests/test_rsa.cpp:322,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_rsa.cpp:322,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_rsa.cpp:322,1
    - Dst: Botan::PK_Decryptor_EME::decrypt_or_random
      Src: /src/botan/src/tests/test_rsa.cpp:324,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_rsa.cpp:324,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_rsa.cpp:324,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rsa.cpp:326,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_rsa.cpp:326,1
    - Dst: Botan::PK_Decryptor_EME::decrypt_or_random
      Src: /src/botan/src/tests/test_rsa.cpp:342,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_rsa.cpp:343,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_rsa.cpp:343,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rsa.cpp:343,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rsa.cpp:343,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rsa.cpp:345,1
    - Dst: Botan::PK_Decryptor_EME::decrypt_or_random
      Src: /src/botan/src/tests/test_rsa.cpp:369,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_rsa.cpp:370,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_rsa.cpp:370,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rsa.cpp:370,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rsa.cpp:370,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_rsa.cpp:372,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rsa.cpp:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - ' result'
    - padding
    - ' private_key'
    - ' rng'
    argTypes:
    - Test::Result
    - std::string_view
    - Botan::Private_Key
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 379
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 379
    functionName: Botan_Tests::test_decrypt_or_random
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - mutate_vec
    - auto::get_int_field
    - Botan::RSA_PrivateKey::RSA_PrivateKey
    - public_key
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan_Tests::test_decrypt_or_random
    - auto::data
    - Test::Result::test_ne
    - rng
    - random_vec
    - auto::size
    - Botan::PK_Decryptor_EME::decrypt_or_random
    - serialize
    - Botan::BigInt::from_bytes
    - Botan::PK_Encryptor_EME::encrypt
    - push_back
    linkageType: ''
    returnType: "class RSA_DecryptOrRandom_Tests : public Test {\n   public:\n      std::vector<Test::Result>
      run() override {\n         const std::vector<std::string> padding_schemes =
      {\n   #if defined(BOTAN_HAS_EME_PKCS1)\n            \"PKCS1v15\",\n   #endif\n
      \  #if defined(BOTAN_HAS_EME_OAEP)\n            \"OAEP(SHA-256)\",\n   #endif\n
      \        };\n\n         constexpr size_t bits = 1024;\n\n         auto private_key
      = Botan::RSA_PrivateKey(rng(), bits);\n\n         std::vector<Test::Result>
      results;\n         for(const auto& padding : padding_schemes) {\n            Test::Result
      result(\"RSA decrypt_or_random \" + padding);\n            test_decrypt_or_random(result,
      padding, private_key, rng());\n            results.push_back(result);\n         }\n
      \        return results;\n      }"
    signature: "class RSA_DecryptOrRandom_Tests : public Test {\n   public:\n      std::vector<Test::Result>
      run() override {\n         const std::vector<std::string> padding_schemes =
      {\n   #if defined(BOTAN_HAS_EME_PKCS1)\n            \"PKCS1v15\",\n   #endif\n
      \  #if defined(BOTAN_HAS_EME_OAEP)\n            \"OAEP(SHA-256)\",\n   #endif\n
      \        };\n\n         constexpr size_t bits = 1024;\n\n         auto private_key
      = Botan::RSA_PrivateKey(rng(), bits);\n\n         std::vector<Test::Result>
      results;\n         for(const auto& padding : padding_schemes) {\n            Test::Result
      result(\"RSA decrypt_or_random \" + padding);\n            test_decrypt_or_random(result,
      padding, private_key, rng());\n            results.push_back(result);\n         }\n
      \        return results;\n      } test_decrypt_or_random(Test::Result& result,\n
      \                                        std::string_view padding,\n                                         Botan::Private_Key&
      private_key,\n                                         Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vendor
      Src: /src/botan/src/tests/test_tpm2.cpp:52,1
    - Dst: manufacturer
      Src: /src/botan/src/tests/test_tpm2.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - std::shared_ptr<Botan::TPM2::Context>
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan_Tests::validate_context_environment
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - manufacturer
    - vendor
    linkageType: ''
    returnType: bool
    signature: bool validate_context_environment(const std::shared_ptr<Botan::TPM2::Context>&
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:56,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tpm2.cpp:57,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/tests/test_tpm2.cpp:62,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:62,1
    - Dst: Botan_Tests::validate_context_environment
      Src: /src/botan/src/tests/test_tpm2.cpp:63,1
    - Dst: auto::supports_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:67,1
    - Dst: auto::use_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:68,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rng_tag
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: Botan_Tests::get_tpm2_context
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - Botan::TPM2::Context::create
    - Botan_Tests::Test::new_rng
    - auto::use_botan_crypto_backend
    - auto::supports_botan_crypto_backend
    - Botan_Tests::test_encoding_options
    - Botan_Tests::validate_context_environment
    linkageType: ''
    returnType: std::shared_ptr<Botan::TPM2::Context>
    signature: std::shared_ptr<Botan::TPM2::Context> get_tpm2_context(std::string_view
      rng_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - esys_ctx
    - handle
    argTypes:
    - ESYS_CONTEXT*
    - ESYS_TR
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan_Tests::TR::TR
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TR(ESYS_CONTEXT* esys_ctx, ESYS_TR handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tpm2.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TR
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan_Tests::TR::TR
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TR(TR&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/tests/test_tpm2.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TR
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: '& operator=(TR&& other) noexcept'
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: TR
    signature: TR & operator=(TR&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan_Tests::TR::TR
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TR(const TR&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(const TR&)'
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TR
    signature: TR & operator=(const TR&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Esys_FlushContext
      Src: /src/botan/src/tests/test_tpm2.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: ~TR()
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Esys_FlushContext
    linkageType: ''
    returnType: void
    signature: void ~TR()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: operator ESYS_TR() const
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator ESYS_TR() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Esys_GetTcti
      Src: /src/botan/src/tests/test_tpm2.cpp:108,1
    - Dst: Tss2_TctiLdr_Finalize
      Src: /src/botan/src/tests/test_tpm2.cpp:110,1
    - Dst: Esys_Finalize
      Src: /src/botan/src/tests/test_tpm2.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - esys_ctx
    argTypes:
    - ESYS_CONTEXT*
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: operator()(ESYS_CONTEXT* esys_ctx)
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Esys_GetTcti
    - Esys_Finalize
    - Tss2_TctiLdr_Finalize
    linkageType: ''
    returnType: void
    signature: void operator()(ESYS_CONTEXT* esys_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:117,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:118,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tpm2.cpp:119,1
    - Dst: Tss2_TctiLdr_Initialize_Ex
      Src: /src/botan/src/tests/test_tpm2.cpp:128,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_tpm2.cpp:128,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_tpm2.cpp:128,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tpm2.cpp:130,1
    - Dst: Esys_Initialize
      Src: /src/botan/src/tests/test_tpm2.cpp:133,1
    - Dst: Botan::out_ptr
      Src: /src/botan/src/tests/test_tpm2.cpp:133,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tpm2.cpp:135,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/tests/test_tpm2.cpp:140,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/tests/test_tpm2.cpp:140,1
    - Dst: Botan_Tests::validate_context_environment
      Src: /src/botan/src/tests/test_tpm2.cpp:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 146
    functionName: Botan_Tests::get_external_tpm2_context
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Tss2_TctiLdr_Initialize_Ex
    - auto::value
    - Botan::TPM2::Context::create
    - Botan::out_ptr
    - Test_Error
    - Esys_Initialize
    - std::unique_ptr::get
    - auto::c_str
    - Botan_Tests::test_encoding_options
    - Botan_Tests::validate_context_environment
    linkageType: ''
    returnType: auto
    signature: auto get_external_tpm2_context() -> std::unique_ptr<ESYS_CONTEXT, esys_context_liberator>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: Botan_Tests::bail_out
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::bail_out
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result bail_out()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_tpm2.cpp:167,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_tpm2.cpp:168,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_tpm2.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: Botan_Tests::not_zero_64
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_be
    - Botan::BufferSlicer::take
    - Botan::BufferSlicer::remaining
    linkageType: ''
    returnType: bool
    signature: bool not_zero_64(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:178,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:180,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:184,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:186,1
    - Dst: auto::vendor
      Src: /src/botan/src/tests/test_tpm2.cpp:186,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:187,1
    - Dst: auto::manufacturer
      Src: /src/botan/src/tests/test_tpm2.cpp:187,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:190,1
    - Dst: auto::max_random_bytes_per_request
      Src: /src/botan/src/tests/test_tpm2.cpp:192,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_tpm2.cpp:193,1
    - Dst: test_lte
      Src: /src/botan/src/tests/test_tpm2.cpp:194,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:197,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:199,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:199,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:200,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:200,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:201,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:201,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:202,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:202,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:203,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:203,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:204,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:204,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:205,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:205,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:208,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:210,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:210,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:211,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:211,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:212,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:212,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:213,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 216
    functionName: Botan_Tests::test_tpm2_properties
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - test_gte
    - auto::vendor
    - auto::max_random_bytes_per_request
    - test_lte
    - Botan_Tests::get_tpm2_context
    - Botan_Tests::CHECK
    - test_eq
    - Botan_Tests::bail_out
    - auto::supports_algorithm
    - confirm
    - auto::manufacturer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_properties()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:219,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:221,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:224,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:227,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:229,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:230,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:230,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:231,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:231,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:232,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:232,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:233,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:234,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:237,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:241,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:243,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:247,1
    - Dst: auto::use_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:249,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:249,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:253,1
    - Dst: auto::use_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:255,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:255,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:261,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:262,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:263,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:264,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:264,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:265,1
    - Dst: auto::key_length
      Src: /src/botan/src/tests/test_tpm2.cpp:265,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:266,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 270
    functionName: Botan_Tests::test_tpm2_context
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - require
    - auto::storage_root_key
    - Botan_Tests::get_tpm2_context
    - Botan_Tests::CHECK
    - auto::persistent_handles
    - auto::key_length
    - auto::handles
    - test_eq
    - Botan_Tests::bail_out
    - auto::empty
    - test_throws
    - Botan_Tests::Test::new_rng
    - auto::use_botan_crypto_backend
    - auto::algo_name
    - confirm
    - Botan_Tests::test_encoding_options
    - Botan::value_exists
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_context()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Esys_StartAuthSession
      Src: /src/botan/src/tests/test_tpm2.cpp:281,1
    - Dst: Esys_TRSess_SetAttributes
      Src: /src/botan/src/tests/test_tpm2.cpp:295,1
    - Dst: Esys_GetRandom
      Src: /src/botan/src/tests/test_tpm2.cpp:304,1
    - Dst: Botan::out_ptr
      Src: /src/botan/src/tests/test_tpm2.cpp:304,1
    - Dst: std::make_pair
      Src: /src/botan/src/tests/test_tpm2.cpp:305,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tpm2.cpp:305,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:309,1
    - Dst: Botan_Tests::get_external_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:311,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:313,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/tests/test_tpm2.cpp:320,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tpm2.cpp:320,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:321,1
    - Dst: Botan::RandomNumberGenerator
      Src: /src/botan/src/tests/test_tpm2.cpp:322,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_tpm2.cpp:324,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:325,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tpm2.cpp:325,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:331,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:334,1
    - Dst: test_eq_sz
      Src: /src/botan/src/tests/test_tpm2.cpp:335,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:338,1
    - Dst: Botan_Tests::get_external_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:340,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:342,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/tests/test_tpm2.cpp:347,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tpm2.cpp:347,1
    - Dst: auto::supports_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:348,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:349,1
    - Dst: auto::use_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:353,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:353,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:361,1
    - Dst: Esys_SetCryptoCallbacks
      Src: /src/botan/src/tests/test_tpm2.cpp:365,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tpm2.cpp:365,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:366,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:369,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:372,1
    - Dst: test_eq_sz
      Src: /src/botan/src/tests/test_tpm2.cpp:373,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:378,1
    - Dst: Botan::TPM2::supports_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:379,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:380,1
    - Dst: Botan_Tests::get_external_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:384,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:386,1
    - Dst: Botan::TPM2::use_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:390,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tpm2.cpp:390,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:390,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:393,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:396,1
    - Dst: test_eq_sz
      Src: /src/botan/src/tests/test_tpm2.cpp:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 401
    functionName: Botan_Tests::test_external_tpm2_context
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan_Tests::get_external_tpm2_context
    - Esys_SetCryptoCallbacks
    - Botan::out_ptr
    - test_eq
    - Botan::TPM2::Context::create
    - Botan::TPM2::check_rc
    - Esys_GetRandom
    - Botan::TPM2::use_botan_crypto_backend
    - Botan_Tests::CHECK
    - auto::random_vec
    - auto::size
    - auto::supports_botan_crypto_backend
    - Botan::TPM2::supports_botan_crypto_backend
    - test_eq_sz
    - Botan::TPM2::Session::unauthenticated_session
    - Esys_TRSess_SetAttributes
    - Botan::RandomNumberGenerator
    - Botan_Tests::bail_out
    - Esys_StartAuthSession
    - Botan_Tests::Test::new_rng
    - auto::use_botan_crypto_backend
    - require
    - auto::get
    - std::make_pair
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_external_tpm2_context()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:404,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:406,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:410,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:410,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:411,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:411,1
    - Dst: handle
      Src: /src/botan/src/tests/test_tpm2.cpp:411,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:412,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:412,1
    - Dst: tpm_nonce
      Src: /src/botan/src/tests/test_tpm2.cpp:412,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:416,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:420,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:420,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:421,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:421,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:422,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:422,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:423,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:423,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:427,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:432,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:433,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:433,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:434,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:434,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:435,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:435,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:436,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:436,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:441,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:443,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:445,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:446,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:447,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:447,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:448,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:448,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:450,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:450,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:451,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:451,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:452,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:454,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:455,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 459
    functionName: Botan_Tests::test_tpm2_sessions
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - require
    - auto::storage_root_key
    - auto::algo_name
    - Botan::fmt
    - Botan_Tests::get_tpm2_context
    - Botan_Tests::CHECK
    - Botan::TPM2::Session::unauthenticated_session
    - tpm_nonce
    - auto::handles
    - test_eq
    - Botan_Tests::bail_out
    - Botan::TPM2::Session::authenticated_session
    - Botan_Tests::load_persistent
    - ok
    - confirm
    - Botan_Tests::test_encoding_options
    - handle
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_sessions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:462,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:464,1
    - Dst: Botan::RandomNumberGenerator
      Src: /src/botan/src/tests/test_tpm2.cpp:467,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:467,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:470,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:472,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_tpm2.cpp:472,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:473,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_tpm2.cpp:473,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:474,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_tpm2.cpp:474,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:476,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_tpm2.cpp:476,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:479,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_tpm2.cpp:482,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:483,1
    - Dst: Botan_Tests::not_zero_64
      Src: /src/botan/src/tests/test_tpm2.cpp:483,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_tpm2.cpp:486,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:487,1
    - Dst: Botan_Tests::not_zero_64
      Src: /src/botan/src/tests/test_tpm2.cpp:487,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_tpm2.cpp:490,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:491,1
    - Dst: Botan_Tests::not_zero_64
      Src: /src/botan/src/tests/test_tpm2.cpp:491,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:494,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_tpm2.cpp:497,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:498,1
    - Dst: Botan_Tests::not_zero_64
      Src: /src/botan/src/tests/test_tpm2.cpp:498,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_tpm2.cpp:501,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:502,1
    - Dst: Botan_Tests::not_zero_64
      Src: /src/botan/src/tests/test_tpm2.cpp:502,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_tpm2.cpp:505,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:506,1
    - Dst: Botan_Tests::not_zero_64
      Src: /src/botan/src/tests/test_tpm2.cpp:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 509
    functionName: Botan_Tests::test_tpm2_rng
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::not_zero_64
    - test_no_throw
    - auto::name
    - Botan_Tests::get_tpm2_context
    - Botan::TPM2::Session::unauthenticated_session
    - Botan_Tests::CHECK
    - Botan::RandomNumberGenerator
    - test_eq
    - Botan_Tests::bail_out
    - auto::clear
    - auto::randomize
    - auto::is_seeded
    - confirm
    - auto::randomize_with_input
    - auto::accepts_input
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:519,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:520,1
    - Dst: find
      Src: /src/botan/src/tests/test_tpm2.cpp:522,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tpm2.cpp:522,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tpm2.cpp:522,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tpm2.cpp:522,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:526,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:528,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:532,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:532,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:533,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' result'
    - ' ctx'
    - persistent_key_id
    - auth_value
    - ' session'
    argTypes:
    - Test::Result
    - std::shared_ptr<Botan::TPM2::Context>
    - uint32_t
    - std::span<const uint8_t>
    - std::shared_ptr<Botan::TPM2::Session>
    constantsTouched: []
    func_position:
      end: 535
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 535
    functionName: Botan_Tests::load_persistent
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 2
    functionsReached:
    - auto::begin
    - persistent_handles
    - auto::handles
    - test_eq
    - auto::end
    - Botan_Tests::load_persistent
    - auto::algo_name
    - confirm
    - find
    - test_is_eq
    linkageType: ''
    returnType: auto
    signature: "auto load_persistent(Test::Result& result,\n                     const
      std::shared_ptr<Botan::TPM2::Context>& ctx,\n                     uint32_t persistent_key_id,\n
      \                    std::span<const uint8_t> auth_value,\n                     const
      std::shared_ptr<Botan::TPM2::Session>& session)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:538,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:540,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:543,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:545,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:546,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:549,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:551,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:551,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:552,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:552,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:553,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:553,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:554,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:554,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:555,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:555,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:556,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:556,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:557,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:557,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:560,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:564,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:565,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:565,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:565,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:569,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:572,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:580,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_tpm2.cpp:581,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:585,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:586,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:586,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:588,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:590,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:590,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:593,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:597,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:600,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:605,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:607,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:610,1
    - Dst: sign
      Src: /src/botan/src/tests/test_tpm2.cpp:611,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:613,1
    - Dst: verify
      Src: /src/botan/src/tests/test_tpm2.cpp:613,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:616,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_tpm2.cpp:617,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:618,1
    - Dst: verify
      Src: /src/botan/src/tests/test_tpm2.cpp:618,1
    - Dst: auto::attributes
      Src: /src/botan/src/tests/test_tpm2.cpp:625,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:626,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:629,1
    - Dst: verify
      Src: /src/botan/src/tests/test_tpm2.cpp:629,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:632,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:635,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:636,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:637,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:643,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_tpm2.cpp:647,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:647,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_tpm2.cpp:649,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:649,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:655,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:657,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:658,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:658,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:659,1
    - Dst: Botan::RSA_PublicKey::RSA_PublicKey
      Src: /src/botan/src/tests/test_tpm2.cpp:663,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tpm2.cpp:663,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:663,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:665,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:666,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:666,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:667,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:671,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:673,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:674,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:679,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:680,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:681,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:684,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:686,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:688,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:690,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:695,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:699,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:700,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:703,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:706,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:708,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:711,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:712,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:714,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:719,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:720,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_tpm2.cpp:723,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:724,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:725,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:728,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:730,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:731,1
    - Dst: Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:735,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:736,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:738,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:741,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:743,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:748,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:749,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:753,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:757,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:758,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:761,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:764,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:765,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:766,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:767,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:768,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:771,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:773,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:775,1
    - Dst: Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:780,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:782,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:783,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:783,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:784,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:784,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:786,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:787,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:788,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:790,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:790,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:791,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:791,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:797,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:798,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:798,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:801,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:801,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_tpm2.cpp:804,1
    - Dst: Botan::TPM2::PrivateKey::load_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:806,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:807,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:808,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:808,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:810,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:811,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:813,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:814,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:819,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:820,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:820,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:821,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:822,1
    - Dst: Botan::TPM2::PublicKey::load_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:825,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:826,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:829,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:830,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:835,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:836,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:836,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:837,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:838,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:842,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:843,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:846,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:848,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:854,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:855,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:855,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:857,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:859,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:859,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:863,1
    - Dst: Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:867,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:868,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:869,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:869,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:870,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:870,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:871,1
    - Dst: sign_verify_roundtrip
      Src: /src/botan/src/tests/test_tpm2.cpp:871,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:874,1
    - Dst: auto::persist
      Src: /src/botan/src/tests/test_tpm2.cpp:875,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:876,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:876,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:877,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:877,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:877,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:878,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:878,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:879,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:880,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:881,1
    - Dst: auto::persist
      Src: /src/botan/src/tests/test_tpm2.cpp:882,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:883,1
    - Dst: auto::persist
      Src: /src/botan/src/tests/test_tpm2.cpp:884,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:885,1
    - Dst: sign_verify_roundtrip
      Src: /src/botan/src/tests/test_tpm2.cpp:885,1
    - Dst: auto::evict
      Src: /src/botan/src/tests/test_tpm2.cpp:888,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tpm2.cpp:888,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:889,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:889,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:890,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:891,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:891,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 894
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 894
    functionName: Botan_Tests::test_tpm2_rsa
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::fmt
    - verify
    - auto::raw_private_key_bits
    - auto::handles
    - test_eq
    - auto::supports_algorithm
    - Botan_Tests::load_persistent
    - auto::evict
    - auto::algorithm_identifier
    - Botan::value_exists
    - Botan::PK_Decryptor_EME::decrypt
    - test_is_eq
    - auto::persist
    - auto::public_key
    - auto::reset
    - Botan_Tests::CHECK
    - Botan_Tests::Test::mutate_vec
    - sign_verify_roundtrip
    - auto::raw_public_key_bits
    - confirm
    - std::vector::emplace_back
    - std::vector::size
    - sign
    - auto::storage_root_key
    - Botan_Tests::get_tpm2_context
    - std::vector::reserve
    - Botan::TPM2::Session::unauthenticated_session
    - auto::persistent_handles
    - Botan_Tests::bail_out
    - static_cast<uint8_t>
    - Botan::PK_Verifier::verify_message
    - Botan::hex_decode
    - auto::attributes
    - Botan_Tests::Test::new_rng
    - Botan_Tests::test_encoding_options
    - require
    - Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
    - auto::private_key_bits
    - test_no_throw
    - Botan::TPM2::PublicKey::load_transient
    - Botan::PK_Signer::sign_message
    - auto::empty
    - test_throws
    - Botan::TPM2::PrivateKey::load_transient
    - auto::public_key_bits
    - Botan::TPM2::Session::authenticated_session
    - auto::algo_name
    - Botan::RSA_PublicKey::RSA_PublicKey
    - Botan::PK_Encryptor_EME::encrypt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_rsa()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:906,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:907,1
    - Dst: find
      Src: /src/botan/src/tests/test_tpm2.cpp:909,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tpm2.cpp:909,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tpm2.cpp:909,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tpm2.cpp:909,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:913,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:915,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:919,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:919,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:920,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' result'
    - ' ctx'
    - persistent_key_id
    - auth_value
    - ' session'
    argTypes:
    - Test::Result
    - std::shared_ptr<Botan::TPM2::Context>
    - uint32_t
    - std::span<const uint8_t>
    - std::shared_ptr<Botan::TPM2::Session>
    constantsTouched: []
    func_position:
      end: 922
      start: 900
    functionDepth: 3
    functionLinenumber: 900
    functionLinenumberEnd: 922
    functionName: Botan_Tests::load_persistent_ecc
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - persistent_handles
    - auto::handles
    - test_eq
    - auto::end
    - Botan_Tests::load_persistent
    - auto::algo_name
    - confirm
    - find
    - test_is_eq
    linkageType: ''
    returnType: auto
    signature: "auto load_persistent_ecc(Test::Result& result,\n                         const
      std::shared_ptr<Botan::TPM2::Context>& ctx,\n                         uint32_t
      persistent_key_id,\n                         std::span<const uint8_t> auth_value,\n
      \                        const std::shared_ptr<Botan::TPM2::Session>& session)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:926,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:928,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:931,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:933,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:934,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:937,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:939,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:939,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:940,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:940,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:942,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:945,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:947,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:947,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:947,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:950,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:953,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:961,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_tpm2.cpp:962,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:966,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:967,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:967,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:969,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:971,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:971,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:973,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:976,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:980,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:984,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:987,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:990,1
    - Dst: sign
      Src: /src/botan/src/tests/test_tpm2.cpp:991,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:993,1
    - Dst: verify
      Src: /src/botan/src/tests/test_tpm2.cpp:993,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:996,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_tpm2.cpp:997,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:998,1
    - Dst: verify
      Src: /src/botan/src/tests/test_tpm2.cpp:998,1
    - Dst: auto::attributes
      Src: /src/botan/src/tests/test_tpm2.cpp:1005,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1006,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1009,1
    - Dst: verify
      Src: /src/botan/src/tests/test_tpm2.cpp:1009,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1012,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1015,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1016,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1017,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:1022,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_tpm2.cpp:1027,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:1027,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_tpm2.cpp:1029,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1029,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:1036,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:1038,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1039,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:1039,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1040,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:1045,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:1048,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1049,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:1049,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1050,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1054,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:1056,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1057,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1062,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:1063,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1064,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1069,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1071,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:1073,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:1074,1
    - Dst: Botan::TPM2::EC_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:1077,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_tpm2.cpp:1078,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1079,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1081,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:1089,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_tpm2.cpp:1090,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1094,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1095,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:1095,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1097,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1099,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1099,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1102,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1104,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:1106,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:1108,1
    - Dst: Botan::TPM2::EC_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:1112,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_tpm2.cpp:1113,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1115,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1116,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1116,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1117,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1117,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:1119,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:1120,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1121,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1123,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:1123,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1124,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:1124,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1130,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1131,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:1131,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1134,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1134,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_tpm2.cpp:1137,1
    - Dst: Botan::TPM2::PrivateKey::load_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:1139,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1140,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1141,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:1141,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:1143,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:1144,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1146,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1147,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1152,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1153,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:1153,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1154,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1155,1
    - Dst: Botan::TPM2::PublicKey::load_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:1158,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1159,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1162,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1163,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1166,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1169,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:1170,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1176,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1177,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:1177,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1179,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1181,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1181,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:1185,1
    - Dst: Botan::TPM2::EC_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:1188,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_tpm2.cpp:1189,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1190,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1191,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1191,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1192,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1192,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:1193,1
    - Dst: sign_verify_roundtrip
      Src: /src/botan/src/tests/test_tpm2.cpp:1193,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1196,1
    - Dst: auto::persist
      Src: /src/botan/src/tests/test_tpm2.cpp:1197,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1198,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1198,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1199,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:1199,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1199,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1200,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1200,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1201,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1202,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:1203,1
    - Dst: auto::persist
      Src: /src/botan/src/tests/test_tpm2.cpp:1204,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:1205,1
    - Dst: auto::persist
      Src: /src/botan/src/tests/test_tpm2.cpp:1206,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:1207,1
    - Dst: sign_verify_roundtrip
      Src: /src/botan/src/tests/test_tpm2.cpp:1207,1
    - Dst: auto::evict
      Src: /src/botan/src/tests/test_tpm2.cpp:1210,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tpm2.cpp:1210,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1211,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1211,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1212,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:1213,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1213,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1217,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:1218,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:1219,1
    - Dst: Botan::ECDSA_PublicKey
      Src: /src/botan/src/tests/test_tpm2.cpp:1220,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tpm2.cpp:1220,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:1220,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:1224,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:1225,1
    - Dst: Botan::ECDSA_PublicKey
      Src: /src/botan/src/tests/test_tpm2.cpp:1226,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tpm2.cpp:1226,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:1226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 924
    functionDepth: 4
    functionLinenumber: 924
    functionLinenumberEnd: 1230
    functionName: Botan_Tests::test_tpm2_ecc
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::fmt
    - verify
    - auto::raw_private_key_bits
    - auto::handles
    - test_eq
    - auto::supports_algorithm
    - Botan_Tests::load_persistent
    - auto::evict
    - auto::algorithm_identifier
    - Botan::value_exists
    - test_is_eq
    - auto::persist
    - auto::public_key
    - auto::reset
    - Botan_Tests::CHECK
    - Botan_Tests::Test::mutate_vec
    - sign_verify_roundtrip
    - auto::raw_public_key_bits
    - confirm
    - std::vector::emplace_back
    - std::vector::size
    - sign
    - auto::storage_root_key
    - Botan_Tests::get_tpm2_context
    - std::vector::reserve
    - Botan::TPM2::Session::unauthenticated_session
    - auto::persistent_handles
    - Botan_Tests::bail_out
    - static_cast<uint8_t>
    - Botan::PK_Verifier::verify_message
    - Botan::hex_decode
    - auto::attributes
    - Botan::ECDSA_PublicKey
    - Botan_Tests::Test::new_rng
    - Botan_Tests::test_encoding_options
    - require
    - test_no_throw
    - Botan::TPM2::PublicKey::load_transient
    - Botan::PK_Signer::sign_message
    - auto::empty
    - test_throws
    - Botan::TPM2::PrivateKey::load_transient
    - auto::public_key_bits
    - Botan::TPM2::Session::authenticated_session
    - auto::algo_name
    - Botan_Tests::load_persistent_ecc
    - Botan::TPM2::EC_PrivateKey::create_unrestricted_transient
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_ecc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:1234,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:1236,1
    - Dst: std::make_unique<Botan::TPM2::HashFunction>
      Src: /src/botan/src/tests/test_tpm2.cpp:1242,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:1243,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_tpm2.cpp:1248,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_tpm2.cpp:1251,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:1251,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_tpm2.cpp:1256,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:1256,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1260,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_tpm2.cpp:1260,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_tpm2.cpp:1260,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1261,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tpm2.cpp:1261,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tpm2.cpp:1261,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1264,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1265,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1266,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_tpm2.cpp:1266,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1266,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1269,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1269,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1269,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:1274,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_tpm2.cpp:1275,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1280,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1281,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_tpm2.cpp:1281,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1281,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1282,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1283,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1283,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1286,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_tpm2.cpp:1287,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1288,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1289,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_tpm2.cpp:1289,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1289,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_tpm2.cpp:1292,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1293,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_tpm2.cpp:1293,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_tpm2.cpp:1293,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1294,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tpm2.cpp:1294,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tpm2.cpp:1294,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1295,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1296,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1297,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1301,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1303,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:1303,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1304,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:1304,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1305,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:1305,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1306,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:1306,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1309,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1309,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1310,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1310,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1311,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1311,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1312,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1312,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1313,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1313,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1314,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1314,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1315,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1315,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1317,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:1319,1
    - Dst: Botan_CLI::PerfTest_HashFunction::PerfTest_HashFunction
      Src: /src/botan/src/tests/test_tpm2.cpp:1320,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1323,1
    - Dst: Botan_CLI::PerfTest_HashFunction::PerfTest_HashFunction
      Src: /src/botan/src/tests/test_tpm2.cpp:1325,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:1326,1
    - Dst: auto::copy_state
      Src: /src/botan/src/tests/test_tpm2.cpp:1327,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1330,1
    - Dst: Botan_CLI::PerfTest_HashFunction::PerfTest_HashFunction
      Src: /src/botan/src/tests/test_tpm2.cpp:1333,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:1334,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1335,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1337,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1338,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1339,1
    - Dst: Botan_CLI::PerfTest_HashFunction::PerfTest_HashFunction
      Src: /src/botan/src/tests/test_tpm2.cpp:1342,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:1343,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1344,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1346,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1347,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1348,1
    - Dst: Botan::TPM2::copy_into<Botan::secure_vector<uint8_t>>
      Src: /src/botan/src/tests/test_tpm2.cpp:1350,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1351,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1353,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1355,1
    - Dst: Botan::TPM2::copy_into<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_tpm2.cpp:1356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1233
    functionDepth: 3
    functionLinenumber: 1233
    functionLinenumberEnd: 1360
    functionName: Botan_Tests::test_tpm2_hash
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - auto::output_length
    - test_eq
    - test_note
    - auto::supports_algorithm
    - auto::clear
    - Botan::HashFunction::create
    - auto::final
    - std::make_unique<Botan::TPM2::HashFunction>
    - Botan_CLI::PerfTest_HashFunction::PerfTest_HashFunction
    - auto::name
    - Botan_Tests::CHECK
    - auto::new_object
    - confirm
    - auto::process
    - std::vector::size
    - Botan_Tests::get_tpm2_context
    - Botan::TPM2::Session::unauthenticated_session
    - auto::copy_state
    - Botan_Tests::bail_out
    - static_cast<uint8_t>
    - auto::update
    - Botan::hex_decode
    - test
    - Botan::TPM2::copy_into<std::vector<uint8_t>>
    - Botan::TPM2::copy_into<Botan::secure_vector<uint8_t>>
    - require
    - test_throws
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_octetstring.cpp:20,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:23,1
    - Dst: Botan::OctetString::size
      Src: /src/botan/src/tests/test_octetstring.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: Botan_Tests::test_from_rng
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - Botan::OctetString::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_from_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:32,1
    - Dst: Botan::OctetString::size
      Src: /src/botan/src/tests/test_octetstring.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: Botan_Tests::test_from_hex
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::OctetString::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_from_hex()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_octetstring.cpp:40,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_octetstring.cpp:41,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_octetstring.cpp:42,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_octetstring.cpp:42,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:43,1
    - Dst: Botan::OctetString::size
      Src: /src/botan/src/tests/test_octetstring.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: Botan_Tests::test_from_byte
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - auto::random_vec
    - Test::Result::test_eq
    - Botan::OctetString::size
    - auto::data
    - Botan_Tests::Test::new_rng
    - auto::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_from_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OctetString::set_odd_parity
      Src: /src/botan/src/tests/test_octetstring.cpp:52,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:54,1
    - Dst: Botan::OctetString::set_odd_parity
      Src: /src/botan/src/tests/test_octetstring.cpp:57,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: Botan_Tests::test_odd_parity
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Botan::OctetString::set_odd_parity
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_odd_parity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:68,1
    - Dst: Botan::OctetString::to_string
      Src: /src/botan/src/tests/test_octetstring.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: Botan_Tests::test_to_string
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::OctetString::to_string
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_to_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:80,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:84,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:87,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 95
    functionName: Botan_Tests::test_xor
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_xor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_octetstring.cpp:105,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_octetstring.cpp:106,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_octetstring.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: Botan_Tests::test_equality
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::confirm
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_equality()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: Botan_Tests::test_append
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_append()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_octetstring.cpp:140,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_octetstring.cpp:142,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_octetstring.cpp:144,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_octetstring.cpp:144,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_octetstring.cpp:144,1
    - Dst: what
      Src: /src/botan/src/tests/test_octetstring.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: Botan_Tests::OctetString_Tests::run
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::to_string
    - what
    - Botan_Tests::Test::Result::Failure
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::pkcs11_lib
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:37,1
    - Dst: Botan::PKCS11::LowLevel::C_GetFunctionList
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:43,1
    - Dst: std::make_unique<LowLevel>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:44,1
    - Dst: static_cast<CK_FLAGS>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:47,1
    - Dst: C_Initialize
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: Botan_Tests::RAII_LowLevel::RAII_LowLevel
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CK_FLAGS>
    - Test::pkcs11_lib
    - std::make_unique<LowLevel>
    - Botan::PKCS11::LowLevel::C_GetFunctionList
    - C_Initialize
    linkageType: ''
    returnType: void
    signature: void RAII_LowLevel()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_Logout
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:56,1
    - Dst: C_CloseSession
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:59,1
    - Dst: C_Finalize
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: ~RAII_LowLevel() noexcept
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - C_Finalize
    - C_Logout
    - C_CloseSession
    linkageType: ''
    returnType: void
    signature: void ~RAII_LowLevel() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RAII_LowLevel
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan_Tests::RAII_LowLevel::RAII_LowLevel
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RAII_LowLevel(const RAII_LowLevel& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RAII_LowLevel
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan_Tests::RAII_LowLevel::RAII_LowLevel
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RAII_LowLevel(RAII_LowLevel&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RAII_LowLevel
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(const RAII_LowLevel& other)'
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RAII_LowLevel
    signature: RAII_LowLevel & operator=(const RAII_LowLevel& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RAII_LowLevel
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(RAII_LowLevel&& other)'
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RAII_LowLevel
    signature: RAII_LowLevel & operator=(RAII_LowLevel&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GetSlotList
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:74,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:76,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - token_present
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: Botan_Tests::RAII_LowLevel::get_slots
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - Test_Error
    - C_GetSlotList
    linkageType: ''
    returnType: std::vector<SlotId>
    signature: std::vector<SlotId> get_slots(bool token_present) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:84,1
    - Dst: C_OpenSession
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:85,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - session_flags
    argTypes:
    - Flags
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: Botan_Tests::RAII_LowLevel::open_session
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - C_OpenSession
    - std::vector::at
    - Botan_Tests::RAII_LowLevel::get_slots
    linkageType: ''
    returnType: SessionHandle
    signature: SessionHandle open_session(Flags session_flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:91,1
    - Dst: Botan_Tests::RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:92,1
    - Dst: Botan_Tests::RAII_LowLevel::login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:93,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: Botan_Tests::RAII_LowLevel::open_rw_session_with_user_login
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - PIN
    - Botan_Tests::RAII_LowLevel::login
    - Botan::PKCS11::flags
    - Botan_Tests::RAII_LowLevel::open_session
    linkageType: ''
    returnType: SessionHandle
    signature: SessionHandle open_rw_session_with_user_login()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: Botan_Tests::RAII_LowLevel::get_session_handle
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    linkageType: ''
    returnType: SessionHandle
    signature: SessionHandle get_session_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:106,1
    - Dst: C_CloseSession
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: Botan_Tests::RAII_LowLevel::close_session
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    - C_CloseSession
    linkageType: ''
    returnType: void
    signature: void close_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:115,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:119,1
    - Dst: C_Login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - user_type
    - ' pin'
    argTypes:
    - UserType
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: Botan_Tests::RAII_LowLevel::login
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 1
    functionsReached:
    - Test_Error
    - C_Login
    linkageType: ''
    returnType: void
    signature: void login(UserType user_type, const secure_vector<uint8_t>& pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:128,1
    - Dst: C_Logout
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: Botan_Tests::RAII_LowLevel::logout
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - C_Logout
    - Test_Error
    linkageType: ''
    returnType: void
    signature: void logout()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan_Tests::RAII_LowLevel::get
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::RAII_LowLevel::get
    linkageType: ''
    returnType: LowLevel
    signature: LowLevel * get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan_Tests::no_op
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool no_op(ReturnValue* /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:160,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:165,1
    - Dst: test_func
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:165,1
    - Dst: test_func
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:167,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:168,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:170,1
    - Dst: revert_func
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:171,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:172,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:178,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:179,1
    - Dst: revert_func
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:180,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:181,1
    - Dst: test_func
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:186,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:187,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:189,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:189,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:191,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:192,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:192,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:193,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:196,1
    - Dst: revert_func
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:197,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:198,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:199,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 6
    argNames:
    - ' name'
    - ' test_func'
    - ' revert_fn_name'
    - ' revert_func'
    - expect_failure
    - expected_return_value
    argTypes:
    - std::string
    - PKCS11_BoundTestFunction
    - std::string
    - PKCS11_BoundTestFunction
    - bool
    - ReturnValue
    constantsTouched: []
    func_position:
      end: 203
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 203
    functionName: Botan_Tests::test_function
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Test::Result::test_eq
    - empty
    - Test::Result::test_throws
    - Test::Result::test_success
    - test_func
    - Test::Result::test_rc_ok
    - Test::Result::test_rc_fail
    - static_cast<uint32_t>
    - revert_func
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_function(const std::string& name,\n                           const
      PKCS11_BoundTestFunction& test_func,\n                           const std::string&
      revert_fn_name,\n                           const PKCS11_BoundTestFunction&
      revert_func,\n                           bool expect_failure,\n                           ReturnValue
      expected_return_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:209,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' name'
    - ' test_func'
    - expect_failure
    - expected_return_value
    argTypes:
    - std::string
    - PKCS11_BoundTestFunction
    - bool
    - ReturnValue
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: Botan_Tests::test_function
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - Botan_Tests::test_function
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_function(const std::string& name,\n                           const
      PKCS11_BoundTestFunction& test_func,\n                           bool expect_failure,\n
      \                          ReturnValue expected_return_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:213,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - ' test_func'
    argTypes:
    - std::string
    - PKCS11_BoundTestFunction
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: Botan_Tests::test_function
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 2
    functionsReached:
    - std::string
    - Botan_Tests::test_function
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_function(const std::string& name, const PKCS11_BoundTestFunction&
      test_func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' name'
    - ' test_func'
    - ' revert_fn_name'
    - ' revert_func'
    argTypes:
    - std::string
    - PKCS11_BoundTestFunction
    - std::string
    - PKCS11_BoundTestFunction
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: Botan_Tests::test_function
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 3
    functionsReached:
    - Botan_Tests::test_function
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_function(const std::string& name,\n                           const
      PKCS11_BoundTestFunction& test_func,\n                           const std::string&
      revert_fn_name,\n                           const PKCS11_BoundTestFunction&
      revert_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::C_GetFunctionList
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:228,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:231,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: Botan_Tests::test_low_level_ctor
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Test::Result::test_success
    - Botan::PKCS11::LowLevel::C_GetFunctionList
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_low_level_ctor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:242,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:244,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: Botan_Tests::test_c_get_function_list
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::ref
    - Botan_Tests::test_function
    - std::bind
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_function_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::C_GetFunctionList
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:250,1
    - Dst: static_cast<CK_FLAGS>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:255,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:257,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:258,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 260
    functionName: Botan_Tests::test_initialize_finalize
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CK_FLAGS>
    - Botan_Tests::test_function
    - std::bind
    - Botan::PKCS11::LowLevel::C_GetFunctionList
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_initialize_finalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:267,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:267,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:267,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: Botan_Tests::test_c_get_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - RAII_LowLevel::get
    - Botan_Tests::test_function
    - std::bind
    - Test::Result::test_ne
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:280,1
    - Dst: static_cast<bool (LowLevel::*)(bool, std::vector<SlotId>&, ReturnValue*)
        const>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:281,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:282,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:284,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:287,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:288,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:288,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:292,1
    - Dst: static_cast<bool (LowLevel::*)(bool, std::vector<SlotId>&, ReturnValue*)
        const>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:293,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:294,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:296,1
    - Dst: std::vector::clear
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:299,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:300,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:300,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:301,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 304
    functionName: Botan_Tests::test_c_get_slot_list
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Test::Result::merge
    - Botan_Tests::test_function
    - std::bind
    - static_cast<bool (LowLevel::*)(bool, std::vector<SlotId>&, ReturnValue*) const>
    - std::ref
    - Test::Result::test_ne
    - RAII_LowLevel::get
    - std::vector::clear
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_slot_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:308,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:311,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:313,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:313,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:313,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:315,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:316,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 319
    functionName: Botan_Tests::test_c_get_slot_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - Botan_Tests::test_function
    - std::bind
    - Test::Result::test_ne
    - reinterpret_cast<char*>
    - RAII_LowLevel::get
    - std::string::size
    - RAII_LowLevel::get_slots
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_slot_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:323,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:326,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:328,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:328,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:328,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:330,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:331,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 334
    functionName: Botan_Tests::test_c_get_token_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - Botan_Tests::test_function
    - std::bind
    - Test::Result::test_ne
    - reinterpret_cast<char*>
    - RAII_LowLevel::get
    - std::string::size
    - RAII_LowLevel::get_slots
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_token_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:339,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:342,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:344,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: Botan_Tests::test_c_wait_for_slot_event
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - RAII_LowLevel::get
    - Botan_Tests::test_function
    - std::bind
    - Botan::PKCS11::flags
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_wait_for_slot_event()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:351,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:355,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:357,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:358,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:359,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:362,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:363,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 366
    functionName: Botan_Tests::test_c_get_mechanism_list
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::vector::at
    - Botan_Tests::test_function
    - std::bind
    - Test::Result::confirm
    - std::ref
    - RAII_LowLevel::get
    - RAII_LowLevel::get_slots
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_mechanism_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:370,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:373,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:373,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:376,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:377,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:378,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:379,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 383
    functionName: Botan_Tests::test_c_get_mechanism_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - Botan_Tests::test_function
    - std::bind
    - RAII_LowLevel::get
    - RAII_LowLevel::get_slots
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_mechanism_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:387,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:392,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:395,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:396,1
    - Dst: Botan_Tests::SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:397,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:398,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 402
    functionName: Botan_Tests::test_c_init_token
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - Botan_Tests::test_function
    - std::bind
    - std::ref
    - RAII_LowLevel::get
    - Botan_Tests::SO_PIN
    - RAII_LowLevel::get_slots
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_init_token()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:406,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:409,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:412,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:413,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:414,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:422,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:422,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:422,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:424,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:427,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:429,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:430,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:431,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:438,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 441
    functionName: Botan_Tests::test_open_close_session
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - Botan_Tests::test_function
    - Test::Result::merge
    - std::bind
    - std::ref
    - RAII_LowLevel::get
    - RAII_LowLevel::get_slots
    - Botan::PKCS11::flags
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_open_close_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:445,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:449,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:452,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:452,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:454,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:455,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:455,1
    - Dst: open_two_sessions
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:458,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:463,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:463,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:464,1
    - Dst: open_two_sessions
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:467,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:470,1
    - Dst: open_two_sessions
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:473,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:476,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:476,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:477,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:478,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 481
    functionName: Botan_Tests::test_c_close_all_sessions
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - open_two_sessions
    - Test::Result::test_eq
    - RAII_LowLevel::get
    - Test::Result::test_success
    - Test::Result::test_rc_ok
    - RAII_LowLevel::get_slots
    - static_cast<uint32_t>
    - Botan::PKCS11::flags
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_close_all_sessions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:485,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:488,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:489,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:492,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:494,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:495,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:497,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:498,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:499,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:500,1
    - Dst: static_cast<CK_FLAGS>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 504
    functionName: Botan_Tests::test_c_get_session_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - Botan_Tests::test_function
    - static_cast<CK_FLAGS>
    - std::bind
    - Test::Result::confirm
    - RAII_LowLevel::get
    - RAII_LowLevel::get_slots
    - RAII_LowLevel::open_session
    - Botan::PKCS11::flags
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_session_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:510,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:510,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:512,1
    - Dst: get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:515,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:518,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:522,1
    - Dst: get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:523,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p11_low_level'
    - handle
    - user_type
    - ' pin'
    argTypes:
    - RAII_LowLevel
    - SessionHandle
    - UserType
    - std::string
    constantsTouched: []
    func_position:
      end: 528
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 528
    functionName: Botan_Tests::login_logout_helper
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - end
    - std::bind
    - std::ref
    - get
    - begin
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result login_logout_helper(const RAII_LowLevel& p11_low_level,\n
      \                                SessionHandle handle,\n                                 UserType
      user_type,\n                                 const std::string& pin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:534,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:535,1
    - Dst: Botan_Tests::login_logout_helper
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: Botan_Tests::test_c_login_logout_security_officier
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - RAII_LowLevel::open_session
    - Botan::PKCS11::flags
    - Botan_Tests::login_logout_helper
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_login_logout_security_officier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:544,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:545,1
    - Dst: Botan_Tests::login_logout_helper
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:546,1
    - Dst: RAII_LowLevel::close_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:547,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:550,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:551,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:553,1
    - Dst: Botan_Tests::login_logout_helper
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 556
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 556
    functionName: Botan_Tests::test_c_login_logout_user
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::merge
    - RAII_LowLevel::close_session
    - RAII_LowLevel::open_session
    - Botan::PKCS11::flags
    - Botan_Tests::login_logout_helper
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_login_logout_user()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:562,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:563,1
    - Dst: RAII_LowLevel::login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:565,1
    - Dst: Botan_Tests::SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:565,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:568,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:570,1
    - Dst: Botan_Tests::PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:572,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 576
    functionName: Botan_Tests::test_c_init_pin
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - RAII_LowLevel::login
    - Botan_Tests::test_function
    - std::bind
    - RAII_LowLevel::get
    - Botan_Tests::SO_PIN
    - Botan_Tests::PIN
    - RAII_LowLevel::open_session
    - Botan::PKCS11::flags
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_init_pin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:582,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:583,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:590,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:594,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:602,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:602,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:602,1
    - Dst: get_pin_bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:604,1
    - Dst: Botan_Tests::PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:604,1
    - Dst: get_pin_bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:605,1
    - Dst: Botan_Tests::PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:605,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:607,1
    - Dst: RAII_LowLevel::login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:610,1
    - Dst: Botan_Tests::PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:610,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:612,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:612,1
    - Dst: RAII_LowLevel::logout
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:613,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:617,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:617,1
    - Dst: RAII_LowLevel::login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:618,1
    - Dst: Botan_Tests::SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:618,1
    - Dst: get_pin_bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:620,1
    - Dst: Botan_Tests::SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:620,1
    - Dst: get_pin_bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:621,1
    - Dst: Botan_Tests::SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:621,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:623,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 626
    functionName: Botan_Tests::test_c_set_pin
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - get_pin_bind
    - Botan_Tests::test_function
    - secure_vector<uint8_t>
    - RAII_LowLevel::login
    - Test::Result::merge
    - std::string::begin
    - std::bind
    - RAII_LowLevel::logout
    - RAII_LowLevel::get
    - std::string::end
    - Botan_Tests::SO_PIN
    - Botan_Tests::PIN
    - RAII_LowLevel::open_session
    - Botan::PKCS11::flags
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_set_pin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:650,1
    - Dst: get_session_handle
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:651,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:651,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:651,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p11_low_level'
    argTypes:
    - RAII_LowLevel
    constantsTouched: []
    func_position:
      end: 653
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 653
    functionName: Botan_Tests::create_simple_data_object
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - get_session_handle
    - static_cast<Ulong>
    - auto::data
    - get
    - auto::size
    linkageType: ''
    returnType: ObjectHandle
    signature: ObjectHandle create_simple_data_object(const RAII_LowLevel& p11_low_level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::open_rw_session_with_user_login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:657,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:663,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:664,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:666,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:667,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:667,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:671,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:672,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:672,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 675
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 675
    functionName: Botan_Tests::test_c_create_object_c_destroy_object
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - static_cast<Ulong>
    - RAII_LowLevel::open_rw_session_with_user_login
    - std::bind
    - auto::data
    - std::ref
    - RAII_LowLevel::get
    - auto::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_create_object_c_destroy_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:680,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:681,1
    - Dst: RAII_LowLevel::login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:683,1
    - Dst: Botan_Tests::PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:683,1
    - Dst: Botan_Tests::create_simple_data_object
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:685,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:688,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:689,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:695,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:696,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 702
    functionName: Botan_Tests::test_c_get_object_size
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - RAII_LowLevel::login
    - Botan_Tests::test_function
    - std::bind
    - Botan_Tests::create_simple_data_object
    - Test::Result::test_ne
    - RAII_LowLevel::get
    - Botan_Tests::PIN
    - RAII_LowLevel::open_session
    - Botan::PKCS11::flags
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_object_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::open_rw_session_with_user_login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:706,1
    - Dst: Botan_Tests::create_simple_data_object
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:708,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:710,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:711,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:714,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:717,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:720,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:723,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:725,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:725,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:726,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:726,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:727,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:728,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 734
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 734
    functionName: Botan_Tests::test_c_get_attribute_value
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - secure_vector<uint8_t>
    - RAII_LowLevel::open_rw_session_with_user_login
    - end
    - Test::Result::test_eq
    - std::bind
    - Botan_Tests::create_simple_data_object
    - std::ref
    - RAII_LowLevel::get
    - begin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_attribute_value()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::map::emplace
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:743,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:743,1
    - Dst: get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' p11_low_level'
    - session_handle
    - object_handle
    - ' attribute_types'
    argTypes:
    - RAII_LowLevel
    - SessionHandle
    - ObjectHandle
    - std::vector<AttributeType>
    constantsTouched: []
    func_position:
      end: 749
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 749
    functionName: Botan_Tests::get_attribute_values
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - std::map::emplace
    - get
    linkageType: ''
    returnType: std::map<AttributeType, std::vector<uint8_t>>
    signature: "std::map<AttributeType, std::vector<uint8_t>> get_attribute_values(const
      RAII_LowLevel& p11_low_level,\n                                                                   SessionHandle
      session_handle,\n                                                                   ObjectHandle
      object_handle,\n                                                                   const
      std::vector<AttributeType>& attribute_types)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:754,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:755,1
    - Dst: RAII_LowLevel::login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:757,1
    - Dst: Botan_Tests::PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:757,1
    - Dst: Botan_Tests::create_simple_data_object
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:759,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:764,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:764,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:764,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:767,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:770,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:773,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:776,1
    - Dst: Botan_Tests::get_attribute_values
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:780,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:782,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:783,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:785,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 791
      start: 751
    functionDepth: 3
    functionLinenumber: 751
    functionLinenumberEnd: 791
    functionName: Botan_Tests::test_c_set_attribute_value
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - RAII_LowLevel::login
    - secure_vector<uint8_t>
    - Botan_Tests::test_function
    - Botan_Tests::get_attribute_values
    - std::string::begin
    - end
    - Test::Result::test_eq
    - std::bind
    - Botan_Tests::create_simple_data_object
    - std::ref
    - RAII_LowLevel::get
    - std::string::end
    - Botan_Tests::PIN
    - RAII_LowLevel::open_session
    - begin
    - Botan::PKCS11::flags
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_set_attribute_value()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::open_rw_session_with_user_login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:795,1
    - Dst: Botan_Tests::create_simple_data_object
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:797,1
    - Dst: static_cast<CK_ATTRIBUTE_TYPE>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:802,1
    - Dst: const_cast<char*>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:803,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:803,1
    - Dst: static_cast<CK_ULONG>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:804,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:804,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:806,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:807,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:815,1
    - Dst: Botan_Tests::get_attribute_values
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:819,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:821,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:822,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:824,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:827,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 831
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 831
    functionName: Botan_Tests::test_c_copy_object
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - Botan_Tests::get_attribute_values
    - std::string::c_str
    - RAII_LowLevel::open_rw_session_with_user_login
    - end
    - Test::Result::test_eq
    - std::bind
    - Botan_Tests::create_simple_data_object
    - static_cast<CK_ULONG>
    - static_cast<CK_ATTRIBUTE_TYPE>
    - const_cast<char*>
    - RAII_LowLevel::get
    - std::string::size
    - begin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_copy_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:837,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:838,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:839,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:840,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:841,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:842,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:843,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:844,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:845,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:846,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:847,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:848,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:849,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:850,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:851,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:852,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:853,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:855,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:856,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:857,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:858,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:859,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:860,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 863
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 863
    functionName: Botan_Tests::LowLevelTests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - run_pkcs11_tests
    - STRING_AND_FUNCTION
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_Tests::LMS_Test::LMS_Test
    functionSourceFile: /src/botan/src/tests/test_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LMS_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_lms.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan_Tests::LMS_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_lms.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_Seed
      Src: /src/botan/src/tests/test_lms.cpp:33,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lms.cpp:33,1
    - Dst: Botan::LMS_Message
      Src: /src/botan/src/tests/test_lms.cpp:34,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lms.cpp:34,1
    - Dst: Botan::LMS_Tree_Node_Idx
      Src: /src/botan/src/tests/test_lms.cpp:35,1
    - Dst: get_req_u32
      Src: /src/botan/src/tests/test_lms.cpp:35,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lms.cpp:36,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lms.cpp:38,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_lms.cpp:40,1
    - Dst: Botan::BufferSlicer::BufferSlicer
      Src: /src/botan/src/tests/test_lms.cpp:42,1
    - Dst: Botan::LMS_PublicKey::from_bytes_or_throw
      Src: /src/botan/src/tests/test_lms.cpp:43,1
    - Dst: Botan::LMS_PrivateKey
      Src: /src/botan/src/tests/test_lms.cpp:47,1
    - Dst: Botan::LMS_PublicKey::lms_params
      Src: /src/botan/src/tests/test_lms.cpp:47,1
    - Dst: Botan::LMS_PublicKey::lmots_params
      Src: /src/botan/src/tests/test_lms.cpp:47,1
    - Dst: Botan::LMS_PublicKey::identifier
      Src: /src/botan/src/tests/test_lms.cpp:47,1
    - Dst: Botan::LMS_PublicKey
      Src: /src/botan/src/tests/test_lms.cpp:48,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_lms.cpp:50,1
    - Dst: auto::to_bytes
      Src: /src/botan/src/tests/test_lms.cpp:50,1
    - Dst: Botan::LMS_PrivateKey
      Src: /src/botan/src/tests/test_lms.cpp:54,1
    - Dst: Botan::LMS_PublicKey::lms_params
      Src: /src/botan/src/tests/test_lms.cpp:54,1
    - Dst: Botan::LMS_PublicKey::lmots_params
      Src: /src/botan/src/tests/test_lms.cpp:54,1
    - Dst: Botan::LMS_PublicKey::identifier
      Src: /src/botan/src/tests/test_lms.cpp:54,1
    - Dst: Botan::LMS_Signature::size
      Src: /src/botan/src/tests/test_lms.cpp:55,1
    - Dst: Botan::LMS_PublicKey::lms_params
      Src: /src/botan/src/tests/test_lms.cpp:55,1
    - Dst: Botan::LMS_PublicKey::lmots_params
      Src: /src/botan/src/tests/test_lms.cpp:55,1
    - Dst: auto::sign_and_get_pk
      Src: /src/botan/src/tests/test_lms.cpp:56,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_lms.cpp:57,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_lms.cpp:57,1
    - Dst: Botan::BufferSlicer::BufferSlicer
      Src: /src/botan/src/tests/test_lms.cpp:59,1
    - Dst: Botan::LMS_Signature::from_bytes_or_throw
      Src: /src/botan/src/tests/test_lms.cpp:60,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_lms.cpp:61,1
    - Dst: auto::verify_signature
      Src: /src/botan/src/tests/test_lms.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: Botan_Tests::LMS_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::LMS_PublicKey
    - Botan::LMS_PublicKey::lms_params
    - Botan::LMS_Signature::from_bytes_or_throw
    - Botan::LMS_PrivateKey
    - Botan::HashFunction::create
    - Botan::LMS_Message
    - Botan::LMS_PublicKey::identifier
    - Botan::BufferSlicer::BufferSlicer
    - auto::verify_signature
    - Botan::LMS_PublicKey::lmots_params
    - Test::Result::confirm
    - get_req_u32
    - auto::sign_and_get_pk
    - auto::process
    - Botan::LMS_Seed
    - Botan::LMS_Signature::size
    - Test::Result::test_is_eq
    - Botan::LMS_Tree_Node_Idx
    - get_req_bin
    - Botan::LMS_PublicKey::from_bytes_or_throw
    - auto::to_bytes
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_Tests::AEAD_Tests::AEAD_Tests
    functionSourceFile: /src/botan/src/tests/test_aead.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AEAD_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/tests/test_aead.cpp:36,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:38,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_aead.cpp:38,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:38,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:38,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_aead.cpp:40,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_aead.cpp:40,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_aead.cpp:41,1
    - Dst: auto::valid_nonce_length
      Src: /src/botan/src/tests/test_aead.cpp:41,1
    - Dst: auto::default_nonce_length
      Src: /src/botan/src/tests/test_aead.cpp:41,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_aead.cpp:43,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_aead.cpp:43,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:46,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:47,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:48,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:52,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:53,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:54,1
    - Dst: auto::associated_data_requires_key
      Src: /src/botan/src/tests/test_aead.cpp:57,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:58,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:59,1
    - Dst: data
      Src: /src/botan/src/tests/test_aead.cpp:59,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:62,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:62,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:65,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:65,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_aead.cpp:66,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:67,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:67,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:70,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:71,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:72,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:74,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:75,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:76,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:80,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:80,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:81,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:81,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:83,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:84,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:87,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:93,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:96,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:99,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:100,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:101,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:104,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:104,1
    - Dst: Botan::secure_vector::empty
      Src: /src/botan/src/tests/test_aead.cpp:107,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:108,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:109,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:112,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:113,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:117,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:119,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:121,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:122,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:124,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:124,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:124,1
    - Dst: Botan::secure_vector::reserve
      Src: /src/botan/src/tests/test_aead.cpp:129,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_aead.cpp:129,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_aead.cpp:129,1
    - Dst: auto::minimum_final_size
      Src: /src/botan/src/tests/test_aead.cpp:131,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:132,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:133,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/tests/test_aead.cpp:137,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:137,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:137,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:137,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:141,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:142,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/tests/test_aead.cpp:143,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:143,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:143,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:143,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:145,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:150,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:152,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:154,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:155,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:157,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:157,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:157,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_aead.cpp:165,1
    - Dst: auto::requires_entire_message
      Src: /src/botan/src/tests/test_aead.cpp:166,1
    - Dst: Botan::secure_vector::erase
      Src: /src/botan/src/tests/test_aead.cpp:171,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:171,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:171,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:172,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:174,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:175,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:178,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:183,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_aead.cpp:184,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:185,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:185,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:187,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:187,1
    - Dst: auto::associated_data_requires_key
      Src: /src/botan/src/tests/test_aead.cpp:189,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:190,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:191,1
    - Dst: data
      Src: /src/botan/src/tests/test_aead.cpp:191,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 95
    argCount: 7
    argNames:
    - ' key'
    - ' nonce'
    - ' input'
    - ' expected'
    - ' ad'
    - ' algo'
    - ' rng'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 195
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 195
    functionName: Botan_Tests::AEAD_Tests::test_enc
    functionSourceFile: /src/botan/src/tests/test_aead.cpp
    functionUses: 0
    functionsReached:
    - auto::default_nonce_length
    - Botan::secure_vector::insert
    - auto::output_length
    - end
    - auto::requires_entire_message
    - Botan::secure_vector::begin
    - Botan::secure_vector::size
    - auto::clear
    - auto::valid_nonce_length
    - begin
    - auto::finish
    - auto::set_key
    - auto::update_granularity
    - auto::reset
    - auto::name
    - data
    - Test::Result::test_eq
    - Test::Result::test_throws
    - Test::Result::confirm
    - Botan::AEAD_Mode::create
    - auto::start
    - auto::has_keying_material
    - mutate_vec
    - auto::associated_data_requires_key
    - auto::set_associated_data
    - auto::update
    - Botan::secure_vector::assign
    - Botan::secure_vector::reserve
    - Botan::secure_vector::erase
    - Botan::secure_vector::end
    - size
    - random_vec
    - auto::minimum_final_size
    - get_garbage
    - Botan::secure_vector::empty
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_enc(const std::vector<uint8_t>& key,\n                                   const
      std::vector<uint8_t>& nonce,\n                                   const std::vector<uint8_t>&
      input,\n                                   const std::vector<uint8_t>& expected,\n
      \                                  const std::vector<uint8_t>& ad,\n                                   const
      std::string& algo,\n                                   Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/tests/test_aead.cpp:208,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:210,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_aead.cpp:210,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:210,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:210,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_aead.cpp:212,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_aead.cpp:212,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:215,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:216,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:217,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:221,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:222,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:223,1
    - Dst: auto::associated_data_requires_key
      Src: /src/botan/src/tests/test_aead.cpp:226,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:227,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:228,1
    - Dst: data
      Src: /src/botan/src/tests/test_aead.cpp:228,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:228,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:233,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:233,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_aead.cpp:234,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:235,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:235,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:236,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:236,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:239,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:240,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:241,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:243,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:244,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:245,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:249,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:249,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:250,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:251,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:254,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:256,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:256,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:261,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:262,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:265,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:266,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:267,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:271,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:272,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:276,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:278,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:280,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:281,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:283,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:283,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:283,1
    - Dst: Botan::secure_vector::reserve
      Src: /src/botan/src/tests/test_aead.cpp:288,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_aead.cpp:288,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_aead.cpp:288,1
    - Dst: auto::minimum_final_size
      Src: /src/botan/src/tests/test_aead.cpp:290,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:291,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:292,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/tests/test_aead.cpp:295,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:295,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:295,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:295,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:299,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:300,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/tests/test_aead.cpp:301,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:301,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:301,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:301,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:303,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:308,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:310,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:312,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:313,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:315,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:315,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:315,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_aead.cpp:323,1
    - Dst: auto::requires_entire_message
      Src: /src/botan/src/tests/test_aead.cpp:324,1
    - Dst: Botan::secure_vector::erase
      Src: /src/botan/src/tests/test_aead.cpp:329,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:329,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:329,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:330,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:332,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:333,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:336,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:340,1
    - Dst: what
      Src: /src/botan/src/tests/test_aead.cpp:340,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:344,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:345,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:345,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_aead.cpp:345,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:347,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:349,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:350,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:353,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:354,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_aead.cpp:356,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:358,1
    - Dst: what
      Src: /src/botan/src/tests/test_aead.cpp:358,1
    - Dst: empty
      Src: /src/botan/src/tests/test_aead.cpp:362,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:363,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:363,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:363,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:364,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:366,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:367,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:368,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:371,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:372,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_aead.cpp:374,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:376,1
    - Dst: what
      Src: /src/botan/src/tests/test_aead.cpp:376,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:381,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:383,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:384,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:386,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:389,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:389,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:389,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:390,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:391,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_aead.cpp:393,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:395,1
    - Dst: what
      Src: /src/botan/src/tests/test_aead.cpp:395,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:399,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_aead.cpp:400,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:401,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:401,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:403,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:403,1
    - Dst: auto::associated_data_requires_key
      Src: /src/botan/src/tests/test_aead.cpp:405,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:406,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:407,1
    - Dst: data
      Src: /src/botan/src/tests/test_aead.cpp:407,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:407,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 129
    argCount: 7
    argNames:
    - ' key'
    - ' nonce'
    - ' input'
    - ' expected'
    - ' ad'
    - ' algo'
    - ' rng'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 411
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 411
    functionName: Botan_Tests::AEAD_Tests::test_dec
    functionSourceFile: /src/botan/src/tests/test_aead.cpp
    functionUses: 0
    functionsReached:
    - Botan::secure_vector::insert
    - what
    - auto::output_length
    - end
    - empty
    - auto::requires_entire_message
    - Botan::secure_vector::begin
    - Botan::secure_vector::size
    - auto::clear
    - begin
    - auto::finish
    - auto::set_key
    - auto::update_granularity
    - auto::reset
    - data
    - Test::Result::test_eq
    - Test::Result::test_throws
    - Test::Result::confirm
    - Botan::AEAD_Mode::create
    - auto::start
    - Test::Result::test_failure
    - Test::Result::test_success
    - auto::has_keying_material
    - std::vector::begin
    - mutate_vec
    - auto::associated_data_requires_key
    - auto::set_associated_data
    - auto::update
    - std::vector::end
    - Botan::secure_vector::assign
    - Botan::secure_vector::reserve
    - Botan::secure_vector::erase
    - Botan::secure_vector::end
    - size
    - random_vec
    - auto::minimum_final_size
    - get_garbage
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_dec(const std::vector<uint8_t>& key,\n                                   const
      std::vector<uint8_t>& nonce,\n                                   const std::vector<uint8_t>&
      input,\n                                   const std::vector<uint8_t>& expected,\n
      \                                  const std::vector<uint8_t>& ad,\n                                   const
      std::string& algo,\n                                   Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_aead.cpp:414,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_aead.cpp:415,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_aead.cpp:416,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_aead.cpp:417,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_aead.cpp:418,1
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/tests/test_aead.cpp:422,1
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/tests/test_aead.cpp:423,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_aead.cpp:426,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:431,1
    - Dst: auto::authenticated
      Src: /src/botan/src/tests/test_aead.cpp:431,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:432,1
    - Dst: auto::authenticated
      Src: /src/botan/src/tests/test_aead.cpp:432,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_aead.cpp:434,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_aead.cpp:435,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_aead.cpp:436,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_aead.cpp:437,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:439,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_aead.cpp:442,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_aead.cpp:442,1
    - Dst: auto::minimum_final_size
      Src: /src/botan/src/tests/test_aead.cpp:442,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_aead.cpp:443,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_aead.cpp:443,1
    - Dst: auto::minimum_final_size
      Src: /src/botan/src/tests/test_aead.cpp:443,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_aead.cpp:445,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_aead.cpp:445,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:447,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_aead.cpp:448,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_aead.cpp:448,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_aead.cpp:450,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_aead.cpp:451,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_aead.cpp:451,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_aead.cpp:453,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_aead.cpp:454,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_aead.cpp:454,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_aead.cpp:457,1
    - Dst: Botan_Tests::AEAD_Tests::test_enc
      Src: /src/botan/src/tests/test_aead.cpp:457,1
    - Dst: Botan_Tests::AEAD_Tests::rng
      Src: /src/botan/src/tests/test_aead.cpp:457,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_aead.cpp:460,1
    - Dst: Botan_Tests::AEAD_Tests::test_dec
      Src: /src/botan/src/tests/test_aead.cpp:460,1
    - Dst: Botan_Tests::AEAD_Tests::rng
      Src: /src/botan/src/tests/test_aead.cpp:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 463
      start: 413
    functionDepth: 4
    functionLinenumber: 413
    functionLinenumberEnd: 463
    functionName: Botan_Tests::AEAD_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_aead.cpp
    functionUses: 0
    functionsReached:
    - get_opt_bin
    - Test::Result::merge
    - auto::update_granularity
    - Botan_Tests::AEAD_Tests::test_enc
    - Botan_Tests::AEAD_Tests::rng
    - auto::ideal_granularity
    - auto::authenticated
    - Test::Result::test_eq
    - Test::Result::confirm
    - Test::Result::test_gt
    - Botan::AEAD_Mode::create
    - auto::provider
    - Test::Result::note_missing
    - get_req_bin
    - Test::Result::test_is_nonempty
    - auto::minimum_final_size
    - Botan_Tests::AEAD_Tests::test_dec
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/tests/test_pem.cpp:22,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pem.cpp:24,1
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/tests/test_pem.cpp:27,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pem.cpp:29,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pem.cpp:31,1
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/tests/test_pem.cpp:33,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pem.cpp:36,1
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/tests/test_pem.cpp:37,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pem.cpp:41,1
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/tests/test_pem.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 46
    functionName: Botan_Tests::PEM_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pem.cpp
    functionUses: 0
    functionsReached:
    - Botan::PEM_Code::decode
    - Botan::PEM_Code::decode_check_label
    - Test::Result::test_eq
    - Test::Result::test_throws
    - Botan::PEM_Code::encode
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: XOF_Tests
    functionSourceFile: /src/botan/src/tests/test_xof.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XOF_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xof.cpp:37,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xof.cpp:38,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_xof.cpp:39,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_xof.cpp:40,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_xof.cpp:43,1
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_xof.cpp:59,1
    - Dst: Botan::XOF::providers
      Src: /src/botan/src/tests/test_xof.cpp:59,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_xof.cpp:62,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_xof.cpp:63,1
    - Dst: std::make_unique<Botan::cSHAKE_128_XOF>
      Src: /src/botan/src/tests/test_xof.cpp:71,1
    - Dst: std::make_unique<Botan::cSHAKE_256_XOF>
      Src: /src/botan/src/tests/test_xof.cpp:74,1
    - Dst: std::make_unique<Botan::AES_256_CTR_XOF>
      Src: /src/botan/src/tests/test_xof.cpp:80,1
    - Dst: Botan::XOF::create
      Src: /src/botan/src/tests/test_xof.cpp:83,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_xof.cpp:87,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_xof.cpp:87,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_xof.cpp:91,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_xof.cpp:92,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:93,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_xof.cpp:93,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:97,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_xof.cpp:99,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_xof.cpp:99,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:100,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:100,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_xof.cpp:103,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:104,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:105,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:106,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_xof.cpp:106,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:106,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_xof.cpp:107,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:107,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_xof.cpp:110,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_xof.cpp:110,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_xof.cpp:111,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:112,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:113,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_xof.cpp:113,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:113,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_xof.cpp:117,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:118,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:118,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_xof.cpp:119,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:120,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:122,1
    - Dst: auto::output_next_byte
      Src: /src/botan/src/tests/test_xof.cpp:124,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:126,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_xof.cpp:130,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:131,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_xof.cpp:131,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:132,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_xof.cpp:135,1
    - Dst: std::span::empty
      Src: /src/botan/src/tests/test_xof.cpp:137,1
    - Dst: std::min
      Src: /src/botan/src/tests/test_xof.cpp:138,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_xof.cpp:138,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:139,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_xof.cpp:139,1
    - Dst: std::span::last
      Src: /src/botan/src/tests/test_xof.cpp:140,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_xof.cpp:140,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:142,1
    - Dst: std::span::empty
      Src: /src/botan/src/tests/test_xof.cpp:144,1
    - Dst: std::min
      Src: /src/botan/src/tests/test_xof.cpp:145,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_xof.cpp:145,1
    - Dst: auto::output
      Src: /src/botan/src/tests/test_xof.cpp:146,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_xof.cpp:146,1
    - Dst: std::span::last
      Src: /src/botan/src/tests/test_xof.cpp:147,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_xof.cpp:147,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:149,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_xof.cpp:149,1
    - Dst: process_as_blocks
      Src: /src/botan/src/tests/test_xof.cpp:152,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_xof.cpp:152,1
    - Dst: process_as_blocks
      Src: /src/botan/src/tests/test_xof.cpp:153,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_xof.cpp:153,1
    - Dst: process_as_blocks
      Src: /src/botan/src/tests/test_xof.cpp:154,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_xof.cpp:154,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_xof.cpp:158,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_xof.cpp:159,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:160,1
    - Dst: std::span
      Src: /src/botan/src/tests/test_xof.cpp:160,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:160,1
    - Dst: auto::copy_state
      Src: /src/botan/src/tests/test_xof.cpp:161,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:162,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:162,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:163,1
    - Dst: std::span
      Src: /src/botan/src/tests/test_xof.cpp:163,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:163,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:163,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:164,1
    - Dst: std::span
      Src: /src/botan/src/tests/test_xof.cpp:164,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:164,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:164,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_xof.cpp:165,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:165,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_xof.cpp:166,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:166,1
    - Dst: auto::copy_state
      Src: /src/botan/src/tests/test_xof.cpp:167,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_xof.cpp:168,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:168,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_xof.cpp:169,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:169,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:169,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_xof.cpp:170,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:170,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:170,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:171,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:172,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_xof.cpp:172,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:173,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_xof.cpp:173,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 79
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 180
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 180
    functionName: run_one_test
    functionSourceFile: /src/botan/src/tests/test_xof.cpp
    functionUses: 1
    functionsReached:
    - Botan::fmt
    - std::span::empty
    - auto::block_size
    - auto::output
    - std::span::size
    - Test::Result::note_missing
    - auto::clear
    - Botan::XOF::create
    - auto::accepts_input
    - std::span
    - auto::name
    - provider_filter
    - Test::Result::test_eq
    - auto::new_object
    - Test::Result::confirm
    - auto::start
    - process_as_blocks
    - std::make_unique<Botan::AES_256_CTR_XOF>
    - Test::Result::test_failure
    - auto::provider
    - auto::output_stdvec
    - std::span::first
    - std::min
    - Test::Result::test_is_nonempty
    - std::vector::size
    - std::make_unique<Botan::cSHAKE_128_XOF>
    - auto::copy_state
    - auto::update
    - get_req_bin
    - std::vector::empty
    - get_opt_bin
    - Botan::concat
    - std::span::last
    - auto::output_next_byte
    - auto::empty
    - std::make_unique<Botan::cSHAKE_256_XOF>
    - Botan::XOF::providers
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/botan/src/tests/test_xof.cpp:185,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_xof.cpp:188,1
    - Dst: std::make_unique<Botan::cSHAKE_128_XOF>
      Src: /src/botan/src/tests/test_xof.cpp:188,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_xof.cpp:189,1
    - Dst: std::make_unique<Botan::cSHAKE_256_XOF>
      Src: /src/botan/src/tests/test_xof.cpp:189,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_xof.cpp:192,1
    - Dst: valid_salt_length
      Src: /src/botan/src/tests/test_xof.cpp:192,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_xof.cpp:193,1
    - Dst: valid_salt_length
      Src: /src/botan/src/tests/test_xof.cpp:194,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_xof.cpp:195,1
    - Dst: start
      Src: /src/botan/src/tests/test_xof.cpp:195,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_xof.cpp:200,1
    - Dst: Botan::AES_256_CTR_XOF::AES_256_CTR_XOF
      Src: /src/botan/src/tests/test_xof.cpp:201,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_xof.cpp:202,1
    - Dst: Botan::AES_256_CTR_XOF::start
      Src: /src/botan/src/tests/test_xof.cpp:202,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_xof.cpp:203,1
    - Dst: Botan::AES_256_CTR_XOF::start
      Src: /src/botan/src/tests/test_xof.cpp:204,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_xof.cpp:204,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_xof.cpp:205,1
    - Dst: Botan::AES_256_CTR_XOF::start
      Src: /src/botan/src/tests/test_xof.cpp:206,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_xof.cpp:206,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_xof.cpp:206,1
    - Dst: BOTAN_REGISTER_SERIALIZED_TEST
      Src: /src/botan/src/tests/test_xof.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 217
    functionName: run_final_tests
    functionSourceFile: /src/botan/src/tests/test_xof.cpp
    functionUses: 1
    functionsReached:
    - start
    - Botan::AES_256_CTR_XOF::start
    - std::vector<uint8_t>
    - std::make_unique<Botan::cSHAKE_128_XOF>
    - valid_salt_length
    - std::make_unique<Botan::cSHAKE_256_XOF>
    - test_throws
    - BOTAN_REGISTER_SERIALIZED_TEST
    - Botan::AES_256_CTR_XOF::AES_256_CTR_XOF
    - CHECK
    - confirm
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_dl_group.cpp:25,1
    - Dst: Botan_Tests::DL_Group_Tests::test_dl_encoding
      Src: /src/botan/src/tests/test_dl_group.cpp:25,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_dl_group.cpp:26,1
    - Dst: Botan_Tests::DL_Group_Tests::test_dl_errors
      Src: /src/botan/src/tests/test_dl_group.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: Botan_Tests::DL_Group_Tests::run
    functionSourceFile: /src/botan/src/tests/test_dl_group.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::DL_Group_Tests::test_dl_errors
    - Botan_Tests::DL_Group_Tests::test_dl_encoding
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dl_group.cpp:34,1
    - Dst: Botan::DL_Group::DL_Group
      Src: /src/botan/src/tests/test_dl_group.cpp:35,1
    - Dst: Botan::DL_Group::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: Botan_Tests::DL_Group_Tests::test_dl_errors
    functionSourceFile: /src/botan/src/tests/test_dl_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::DL_Group::get_p
    - Test::Result::test_throws
    - Botan::DL_Group::DL_Group
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_dl_errors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_dl_group.cpp:45,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/tests/test_dl_group.cpp:47,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/tests/test_dl_group.cpp:48,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/tests/test_dl_group.cpp:49,1
    - Dst: Botan::DL_Group::from_PEM
      Src: /src/botan/src/tests/test_dl_group.cpp:51,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:53,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:53,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:53,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:54,1
    - Dst: auto::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:54,1
    - Dst: auto::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:55,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:55,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:55,1
    - Dst: Botan::DL_Group::from_PEM
      Src: /src/botan/src/tests/test_dl_group.cpp:57,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:59,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:59,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:60,1
    - Dst: auto::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:60,1
    - Dst: auto::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:60,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:61,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:61,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:61,1
    - Dst: Botan::DL_Group::from_PEM
      Src: /src/botan/src/tests/test_dl_group.cpp:63,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:65,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:65,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:65,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:67,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:67,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: Botan_Tests::DL_Group_Tests::test_dl_encoding
    functionSourceFile: /src/botan/src/tests/test_dl_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::DL_Group::from_name
    - Botan::DL_Group::from_PEM
    - auto::get_g
    - auto::get_p
    - Test::Result::test_eq
    - auto::PEM_encode
    - auto::get_q
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_dl_encoding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_dl_group.cpp:80,1
    - Dst: Botan_Tests::DL_Generate_Group_Tests::rng
      Src: /src/botan/src/tests/test_dl_group.cpp:82,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:85,1
    - Dst: Botan::DL_Group::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:85,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:86,1
    - Dst: Botan::DL_Group::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:86,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_dl_group.cpp:87,1
    - Dst: Botan::DL_Group::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:87,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:88,1
    - Dst: Botan::DL_Group::verify_group
      Src: /src/botan/src/tests/test_dl_group.cpp:88,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:91,1
    - Dst: Botan::DL_Group::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:91,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:92,1
    - Dst: Botan::DL_Group::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:92,1
    - Dst: Botan::dl_exponent_size
      Src: /src/botan/src/tests/test_dl_group.cpp:92,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_dl_group.cpp:93,1
    - Dst: Botan::DL_Group::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:93,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:94,1
    - Dst: Botan::DL_Group::verify_group
      Src: /src/botan/src/tests/test_dl_group.cpp:94,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_dl_group.cpp:96,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:98,1
    - Dst: Botan::DL_Group::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:98,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:99,1
    - Dst: Botan::DL_Group::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:99,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:100,1
    - Dst: Botan::DL_Group::verify_group
      Src: /src/botan/src/tests/test_dl_group.cpp:100,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:105,1
    - Dst: Botan::DL_Group::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:106,1
    - Dst: Botan::DL_Group::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:106,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_dl_group.cpp:107,1
    - Dst: Botan::DL_Group::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:107,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:108,1
    - Dst: Botan::DL_Group::verify_group
      Src: /src/botan/src/tests/test_dl_group.cpp:108,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_dl_group.cpp:112,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dl_group.cpp:114,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dl_group.cpp:118,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_dl_group.cpp:124,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dl_group.cpp:126,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dl_group.cpp:127,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dl_group.cpp:128,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:132,1
    - Dst: Botan::DL_Group::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:133,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_dl_group.cpp:133,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:136,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_dl_group.cpp:136,1
    - Dst: Botan::DL_Group::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:136,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:138,1
    - Dst: Botan::DL_Group::verify_group
      Src: /src/botan/src/tests/test_dl_group.cpp:138,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_dl_group.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 144
    functionName: Botan_Tests::DL_Generate_Group_Tests::run
    functionSourceFile: /src/botan/src/tests/test_dl_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::dl_exponent_size
    - Botan::DL_Group::get_p
    - static_cast<size_t>
    - Test::Result::test_eq
    - Botan::DL_Group::get_g
    - Test::Result::test_throws
    - Botan_Tests::Test::run_long_tests
    - Botan::hex_decode
    - Test::Result::end_timer
    - Botan_Tests::DL_Generate_Group_Tests::rng
    - Botan::DL_Group::get_q
    - Test::Result::test_lte
    - Botan::DL_Group::verify_group
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_dl_group.cpp:165,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_dl_group.cpp:169,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_dl_group.cpp:171,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:171,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_dl_group.cpp:172,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:172,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dl_group.cpp:177,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dl_group.cpp:179,1
    - Dst: auto::source
      Src: /src/botan/src/tests/test_dl_group.cpp:179,1
    - Dst: find
      Src: /src/botan/src/tests/test_dl_group.cpp:181,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_dl_group.cpp:182,1
    - Dst: auto::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:182,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:184,1
    - Dst: auto::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:184,1
    - Dst: auto::p_bits
      Src: /src/botan/src/tests/test_dl_group.cpp:187,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_dl_group.cpp:187,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:188,1
    - Dst: auto::verify_group
      Src: /src/botan/src/tests/test_dl_group.cpp:188,1
    - Dst: Botan_Tests::DL_Named_Group_Tests::rng
      Src: /src/botan/src/tests/test_dl_group.cpp:188,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_dl_group.cpp:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 194
    functionName: Botan_Tests::DL_Named_Group_Tests::run
    functionSourceFile: /src/botan/src/tests/test_dl_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - auto::get_g
    - auto::verify_group
    - Botan_Tests::DL_Named_Group_Tests::rng
    - auto::get_p
    - Test::Result::test_eq
    - Test::Result::confirm
    - auto::p_bits
    - auto::source
    - Test::Result::test_ne
    - Botan_Tests::Test::run_long_tests
    - auto::get_q
    - find
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:28,1
    - Dst: find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_system.cpp:29,1
    - Dst: Botan_Tests::get_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:29,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:30,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_system.cpp:32,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:33,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:34,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:34,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:35,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:35,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:35,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:38,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:38,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_certstor_system.cpp:41,1
    - Dst: find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_system.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: Botan_Tests::find_certificate_by_pubkey_sha1
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - Botan_Tests::get_key_id
    - auto::subject_dn
    - what
    - find_cert_by_pubkey_sha1
    - Test::Result::test_eq
    - Test::Result::test_throws
    - Test::Result::test_not_nullopt
    - Test::Result::test_is_eq
    - Test::Result::test_failure
    - auto::size
    - Botan_Tests::get_subject_cn
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_certificate_by_pubkey_sha1(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_cert
      Src: /src/botan/src/tests/test_certstor_system.cpp:49,1
    - Dst: Botan_Tests::get_dn_of_cert_with_different_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:49,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_certstor_system.cpp:50,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:55,1
    - Dst: find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_system.cpp:56,1
    - Dst: Botan_Tests::get_pubkey_sha1_of_cert_with_different_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:56,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:57,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_system.cpp:59,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:60,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:61,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:61,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:62,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:62,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:65,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: Botan_Tests::find_certificate_by_pubkey_sha1_with_unmatching_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - Botan_Tests::get_pubkey_sha1_of_cert_with_different_key_id
    - auto::subject_dn
    - what
    - find_cert_by_pubkey_sha1
    - Test::Result::test_eq
    - find_cert
    - Test::Result::test_not_nullopt
    - Test::Result::test_is_eq
    - Test::Result::test_failure
    - Test::Result::note_missing
    - auto::size
    - Botan_Tests::get_dn_of_cert_with_different_key_id
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_certificate_by_pubkey_sha1_with_unmatching_key_id(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:75,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:77,1
    - Dst: find_cert
      Src: /src/botan/src/tests/test_certstor_system.cpp:78,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor_system.cpp:78,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:79,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_system.cpp:81,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:82,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:83,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:83,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:84,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:84,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:84,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:87,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: Botan_Tests::find_cert_by_subject_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_dn
    - auto::front
    - auto::subject_dn
    - what
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - find_cert
    - Test::Result::test_not_nullopt
    - Test::Result::test_is_eq
    - Test::Result::test_failure
    - auto::size
    - Botan_Tests::get_subject_cn
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_cert_by_subject_dn(Botan::Certificate_Store& certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_utf8_dn_alternatives
      Src: /src/botan/src/tests/test_certstor_system.cpp:97,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:101,1
    - Dst: find_cert
      Src: /src/botan/src/tests/test_certstor_system.cpp:103,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:104,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:105,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:106,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:106,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:111,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_certstor_system.cpp:119,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:120,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_certstor_system.cpp:123,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:125,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: Botan_Tests::find_cert_by_utf8_subject_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - auto::subject_dn
    - Test::Result::test_note
    - what
    - Test::Result::test_eq
    - Botan_Tests::get_utf8_dn_alternatives
    - find_cert
    - Test::Result::test_is_eq
    - Test::Result::test_failure
    - auto::size
    - Test::Result::test_gte
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_cert_by_utf8_subject_dn(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:135,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:137,1
    - Dst: find_cert
      Src: /src/botan/src/tests/test_certstor_system.cpp:138,1
    - Dst: Botan_Tests::get_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:138,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:139,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_system.cpp:141,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:142,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:143,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:143,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:144,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:144,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:144,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:147,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 151
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 151
    functionName: Botan_Tests::find_cert_by_subject_dn_and_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_dn
    - auto::front
    - Botan_Tests::get_key_id
    - auto::subject_dn
    - what
    - Test::Result::test_eq
    - find_cert
    - Test::Result::test_not_nullopt
    - Test::Result::test_is_eq
    - Test::Result::test_failure
    - auto::size
    - Botan_Tests::get_subject_cn
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_cert_by_subject_dn_and_key_id(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:157,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:159,1
    - Dst: find_all_certs
      Src: /src/botan/src/tests/test_certstor_system.cpp:160,1
    - Dst: Botan_Tests::get_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:160,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:161,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:163,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_system.cpp:163,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:164,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:164,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:165,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:166,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:166,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:167,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:167,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:167,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:170,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 174
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 174
    functionName: Botan_Tests::find_certs_by_subject_dn_and_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_dn
    - auto::front
    - Botan_Tests::get_key_id
    - what
    - Test::Result::test_eq
    - Test::Result::confirm
    - auto::empty
    - Test::Result::test_is_eq
    - Test::Result::test_failure
    - auto::size
    - Botan_Tests::get_subject_cn
    - find_all_certs
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_certs_by_subject_dn_and_key_id(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:180,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:182,1
    - Dst: find_all_certs
      Src: /src/botan/src/tests/test_certstor_system.cpp:183,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor_system.cpp:183,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:184,1
    - Dst: sort
      Src: /src/botan/src/tests/test_certstor_system.cpp:187,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_certstor_system.cpp:187,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_certstor_system.cpp:187,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:188,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:190,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:194,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_system.cpp:194,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:195,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_certstor_system.cpp:196,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:196,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:197,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:197,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:197,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:200,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 204
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 204
    functionName: Botan_Tests::find_all_certs_by_subject_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_dn
    - auto::begin
    - auto::front
    - Botan_Tests::get_subject_cn
    - Test::Result::test_gte
    - what
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Test::Result::confirm
    - auto::empty
    - auto::end
    - Test::Result::test_failure
    - auto::size
    - sort
    - find_all_certs
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_all_certs_by_subject_dn(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:210,1
    - Dst: all_subjects
      Src: /src/botan/src/tests/test_certstor_system.cpp:211,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:212,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:214,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_system.cpp:214,1
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:215,1
    - Dst: std::find_if
      Src: /src/botan/src/tests/test_certstor_system.cpp:216,1
    - Dst: auto::cbegin
      Src: /src/botan/src/tests/test_certstor_system.cpp:217,1
    - Dst: auto::cend
      Src: /src/botan/src/tests/test_certstor_system.cpp:217,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:219,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_certstor_system.cpp:219,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:220,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:224,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 228
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 228
    functionName: Botan_Tests::find_all_subjects
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_dn
    - std::find_if
    - auto::cbegin
    - auto::cend
    - all_subjects
    - what
    - Test::Result::confirm
    - auto::empty
    - auto::end
    - Test::Result::test_failure
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_all_subjects(Botan::Certificate_Store& certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_unknown_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:234,1
    - Dst: Botan_Tests::get_unknown_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:235,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:237,1
    - Dst: find_all_certs
      Src: /src/botan/src/tests/test_certstor_system.cpp:238,1
    - Dst: find_cert
      Src: /src/botan/src/tests/test_certstor_system.cpp:239,1
    - Dst: find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_system.cpp:240,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:241,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:243,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_system.cpp:243,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:244,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:245,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:247,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 251
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 251
    functionName: Botan_Tests::no_certificate_matches
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_unknown_key_id
    - what
    - find_cert_by_pubkey_sha1
    - Test::Result::confirm
    - find_cert
    - auto::empty
    - Test::Result::test_failure
    - Botan_Tests::get_unknown_dn
    - find_all_certs
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result no_certificate_matches(Botan::Certificate_Store& certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_skewed_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:259,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:261,1
    - Dst: find_all_certs
      Src: /src/botan/src/tests/test_certstor_system.cpp:262,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor_system.cpp:262,1
    - Dst: find_cert
      Src: /src/botan/src/tests/test_certstor_system.cpp:263,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor_system.cpp:263,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:264,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:266,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_system.cpp:266,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:267,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_certstor_system.cpp:267,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:268,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:269,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:269,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:270,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:270,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:270,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:273,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 277
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 277
    functionName: Botan_Tests::certificate_matching_with_dn_normalization
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - auto::subject_dn
    - what
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Test::Result::confirm
    - find_cert
    - auto::empty
    - Test::Result::test_failure
    - Botan_Tests::get_skewed_dn
    - auto::has_value
    - Botan_Tests::get_subject_cn
    - find_all_certs
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result certificate_matching_with_dn_normalization(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:289,1
    - Dst: std::make_unique<Botan::System_Certificate_Store>
      Src: /src/botan/src/tests/test_certstor_system.cpp:290,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:291,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_certstor_system.cpp:293,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_certstor_system.cpp:294,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:297,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:297,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_certstor_system.cpp:301,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:304,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:306,1
    - Dst: find_certificate_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_system.cpp:306,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:307,1
    - Dst: find_certificate_by_pubkey_sha1_with_unmatching_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:307,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:308,1
    - Dst: find_cert_by_subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:308,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:309,1
    - Dst: find_cert_by_subject_dn_and_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:309,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:310,1
    - Dst: find_all_certs_by_subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:310,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:311,1
    - Dst: find_certs_by_subject_dn_and_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:311,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:312,1
    - Dst: find_all_subjects
      Src: /src/botan/src/tests/test_certstor_system.cpp:312,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:313,1
    - Dst: no_certificate_matches
      Src: /src/botan/src/tests/test_certstor_system.cpp:313,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:314,1
    - Dst: find_cert_by_utf8_subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:314,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:316,1
    - Dst: certificate_matching_with_dn_normalization
      Src: /src/botan/src/tests/test_certstor_system.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 320
    functionName: Botan_Tests::Certstor_System_Tests::run
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - certificate_matching_with_dn_normalization
    - what
    - no_certificate_matches
    - find_cert_by_subject_dn
    - Test::Result::end_timer
    - Test::Result::test_failure
    - Test::Result::test_success
    - BOTAN_UNUSED
    - find_certs_by_subject_dn_and_key_id
    - Test::Result::test_note
    - find_all_certs_by_subject_dn
    - find_cert_by_utf8_subject_dn
    - find_certificate_by_pubkey_sha1
    - find_all_subjects
    - std::vector::push_back
    - find_certificate_by_pubkey_sha1_with_unmatching_key_id
    - find_cert_by_subject_dn_and_key_id
    - std::make_unique<Botan::System_Certificate_Store>
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_Tests::X509_DN_Comparisons_Tests::X509_DN_Comparisons_Tests
    functionSourceFile: /src/botan/src/tests/test_x509_dn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_DN_Comparisons_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x509_dn.cpp:22,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x509_dn.cpp:23,1
    - Dst: Botan::X509_DN::decode_from
      Src: /src/botan/src/tests/test_x509_dn.cpp:31,1
    - Dst: Botan::X509_DN::decode_from
      Src: /src/botan/src/tests/test_x509_dn.cpp:35,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_dn.cpp:38,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_dn.cpp:44,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_dn.cpp:45,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_dn.cpp:47,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_dn.cpp:48,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_x509_dn.cpp:51,1
    - Dst: what
      Src: /src/botan/src/tests/test_x509_dn.cpp:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: Botan_Tests::X509_DN_Comparisons_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_x509_dn.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_DN::decode_from
    - what
    - Test::Result::test_eq
    - Test::Result::test_failure
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_bigint.cpp:38,1
    - Dst: Botan_Tests::BigInt_Unit_Tests::test_bigint_sizes
      Src: /src/botan/src/tests/test_bigint.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_bigint.cpp:39,1
    - Dst: Botan_Tests::BigInt_Unit_Tests::test_random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:39,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_bigint.cpp:40,1
    - Dst: Botan_Tests::BigInt_Unit_Tests::test_encode
      Src: /src/botan/src/tests/test_bigint.cpp:40,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_bigint.cpp:41,1
    - Dst: Botan_Tests::BigInt_Unit_Tests::test_bigint_io
      Src: /src/botan/src/tests/test_bigint.cpp:41,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_bigint.cpp:42,1
    - Dst: Botan_Tests::BigInt_Unit_Tests::test_get_substring
      Src: /src/botan/src/tests/test_bigint.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: Botan_Tests::BigInt_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::BigInt_Unit_Tests::test_bigint_sizes
    - Botan_Tests::BigInt_Unit_Tests::test_bigint_io
    - Botan_Tests::BigInt_Unit_Tests::test_random_prime
    - Botan_Tests::BigInt_Unit_Tests::test_encode
    - Botan_Tests::BigInt_Unit_Tests::test_get_substring
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::set_bit
      Src: /src/botan/src/tests/test_bigint.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:59,1
    - Dst: BigInt::bits
      Src: /src/botan/src/tests/test_bigint.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:60,1
    - Dst: BigInt::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:61,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_bigint.cpp:64,1
    - Dst: BigInt::to_u32bit
      Src: /src/botan/src/tests/test_bigint.cpp:64,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_bigint.cpp:64,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_bigint.cpp:66,1
    - Dst: BigInt::to_u32bit
      Src: /src/botan/src/tests/test_bigint.cpp:67,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_bigint.cpp:67,1
    - Dst: BigInt::to_u32bit
      Src: /src/botan/src/tests/test_bigint.cpp:70,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_bigint.cpp:71,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_bigint.cpp:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 82
    functionName: Botan_Tests::BigInt_Unit_Tests::test_bigint_sizes
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 1
    functionsReached:
    - BigInt::bytes
    - BigInt::bits
    - Test::Result::test_eq
    - Test::Result::test_is_eq
    - Test::Result::test_failure
    - Test::Result::test_success
    - BigInt::to_u32bit
    - BigInt::set_bit
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_bigint_sizes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_bigint.cpp:87,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_bigint.cpp:89,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:90,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_bigint.cpp:91,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:92,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_bigint.cpp:93,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:94,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:97,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:98,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:100,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:101,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:103,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:104,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:107,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:108,1
    - Dst: BigInt::bits
      Src: /src/botan/src/tests/test_bigint.cpp:108,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:109,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/tests/test_bigint.cpp:109,1
    - Dst: Botan::random_safe_prime
      Src: /src/botan/src/tests/test_bigint.cpp:113,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:114,1
    - Dst: BigInt::bits
      Src: /src/botan/src/tests/test_bigint.cpp:114,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:115,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/tests/test_bigint.cpp:115,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:116,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/tests/test_bigint.cpp:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 119
    functionName: Botan_Tests::BigInt_Unit_Tests::test_random_prime
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 1
    functionsReached:
    - BigInt::bits
    - Botan::random_safe_prime
    - Test::Result::test_eq
    - Test::Result::test_throws
    - Test::Result::confirm
    - Botan_Tests::Test::new_rng
    - Botan::is_prime
    - Botan::random_prime
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_random_prime()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/tests/test_bigint.cpp:124,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/tests/test_bigint.cpp:125,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_bigint.cpp:127,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_bigint.cpp:128,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_bigint.cpp:129,1
    - Dst: Botan::BigInt::encode_fixed_length_int_pair
      Src: /src/botan/src/tests/test_bigint.cpp:131,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:132,1
    - Dst: auto::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:134,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_bigint.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: Botan_Tests::BigInt_Unit_Tests::test_encode
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 1
    functionsReached:
    - Botan::concat
    - Botan::BigInt::from_u64
    - Test::Result::test_eq
    - auto::bytes
    - Botan::BigInt::encode_fixed_length_int_pair
    - Test::Result::test_failure
    - auto::serialize
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_bigint.cpp:148,1
    - Dst: Botan::BigInt::mask_bits
      Src: /src/botan/src/tests/test_bigint.cpp:157,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 166
    functionName: Botan_Tests::BigInt_Unit_Tests::test_get_substring
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - Botan::BigInt::mask_bits
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_substring()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:171,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:172,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:173,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:174,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:175,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:178,1
    - Dst: std::istringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:181,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:183,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:193,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:193,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:195,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:197,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:197,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:199,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:201,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:201,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:203,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:205,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:205,1
    - Dst: check_bigint_formatting
      Src: /src/botan/src/tests/test_bigint.cpp:208,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:208,1
    - Dst: check_bigint_formatting
      Src: /src/botan/src/tests/test_bigint.cpp:209,1
    - Dst: Botan::BigInt::from_s32
      Src: /src/botan/src/tests/test_bigint.cpp:209,1
    - Dst: check_bigint_formatting
      Src: /src/botan/src/tests/test_bigint.cpp:210,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:210,1
    - Dst: check_bigint_formatting
      Src: /src/botan/src/tests/test_bigint.cpp:211,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:211,1
    - Dst: check_bigint_formatting
      Src: /src/botan/src/tests/test_bigint.cpp:212,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:212,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_bigint.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 221
    functionName: Botan_Tests::BigInt_Unit_Tests::test_bigint_io
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::BigInt
    - std::ostringstream::str
    - check_bigint_formatting
    - std::istringstream::str
    - Test::Result::test_eq
    - Test::Result::test_throws
    - Botan::BigInt::from_s32
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_bigint_io()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: Botan_Tests::BigInt_Cmp_Test::BigInt_Cmp_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Cmp_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:233,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:234,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:238,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:240,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:243,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:245,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:248,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:251,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:253,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_bigint.cpp:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ' op'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 260
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 260
    functionName: Botan_Tests::BigInt_Cmp_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    - Test::Result::confirm
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& op, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: Botan_Tests::BigInt_Add_Test::BigInt_Add_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Add_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:274,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:275,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:276,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:278,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:279,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:283,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 290
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 290
    functionName: Botan_Tests::BigInt_Add_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: Botan_Tests::BigInt_Sub_Test::BigInt_Sub_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Sub_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:302,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:303,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:304,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:306,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 313
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 313
    functionName: Botan_Tests::BigInt_Sub_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: Botan_Tests::BigInt_Mul_Test::BigInt_Mul_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Mul_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:325,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:326,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:327,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:329,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:330,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:334,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 341
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 341
    functionName: Botan_Tests::BigInt_Mul_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: Botan_Tests::BigInt_Sqr_Test::BigInt_Sqr_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Sqr_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:353,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:354,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:356,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:357,1
    - Dst: square
      Src: /src/botan/src/tests/test_bigint.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: Botan_Tests::BigInt_Sqr_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    - square
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: Botan_Tests::BigInt_Div_Test::BigInt_Div_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Div_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:372,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:373,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:374,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:376,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:380,1
    - Dst: BigInt::sig_words
      Src: /src/botan/src/tests/test_bigint.cpp:382,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/tests/test_bigint.cpp:383,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:384,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/tests/test_bigint.cpp:384,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:386,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/tests/test_bigint.cpp:388,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:389,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:390,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:393,1
    - Dst: Botan::ct_divide
      Src: /src/botan/src/tests/test_bigint.cpp:394,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:395,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 399
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 399
    functionName: Botan_Tests::BigInt_Div_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::ct_divide
    - Botan::BigInt::from_word
    - Botan::BigInt::BigInt
    - get_req_bn
    - Botan::ct_divide_word
    - BigInt::word_at
    - Test::Result::test_eq
    - BigInt::sig_words
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ct_divide_pow2k
      Src: /src/botan/src/tests/test_bigint.cpp:410,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:411,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:411,1
    - Dst: Botan::ct_divide_pow2k
      Src: /src/botan/src/tests/test_bigint.cpp:413,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:414,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:414,1
    - Dst: Botan::ct_divide_pow2k
      Src: /src/botan/src/tests/test_bigint.cpp:416,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:417,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:417,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:421,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/tests/test_bigint.cpp:425,1
    - Dst: ct_divide_pow2k
      Src: /src/botan/src/tests/test_bigint.cpp:428,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:429,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 436
    functionName: Botan_Tests::BigInt_DivPow2k_Test::run
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::ct_divide_pow2k
    - Test::Result::test_eq
    - ct_divide_pow2k
    - BigInt::is_zero
    - Botan_Tests::BitOps_Tests::test_power_of_2
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 443
    functionName: Botan_Tests::BigInt_Mod_Test::BigInt_Mod_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Mod_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:448,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:449,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:450,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:452,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:456,1
    - Dst: BigInt::is_positive
      Src: /src/botan/src/tests/test_bigint.cpp:458,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/tests/test_bigint.cpp:459,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:460,1
    - Dst: auto::reduce
      Src: /src/botan/src/tests/test_bigint.cpp:460,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/tests/test_bigint.cpp:462,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:463,1
    - Dst: auto::reduce
      Src: /src/botan/src/tests/test_bigint.cpp:463,1
    - Dst: BigInt::sig_words
      Src: /src/botan/src/tests/test_bigint.cpp:467,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/tests/test_bigint.cpp:468,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:472,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:474,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:476,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/tests/test_bigint.cpp:478,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/tests/test_bigint.cpp:478,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:479,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:482,1
    - Dst: Botan::ct_divide
      Src: /src/botan/src/tests/test_bigint.cpp:483,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 487
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 487
    functionName: Botan_Tests::BigInt_Mod_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::ct_divide
    - auto::reduce
    - Botan::Barrett_Reduction::for_secret_modulus
    - Botan::BigInt::BigInt
    - BigInt::is_positive
    - get_req_bn
    - BigInt::word_at
    - Botan::ct_divide_word
    - Test::Result::test_eq
    - BigInt::sig_words
    - Botan::Barrett_Reduction::for_public_modulus
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/tests/test_bigint.cpp:500,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:505,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:507,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:509,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:511,1
    - Dst: Botan::BigInt::randomize
      Src: /src/botan/src/tests/test_bigint.cpp:512,1
    - Dst: rng
      Src: /src/botan/src/tests/test_bigint.cpp:512,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/tests/test_bigint.cpp:519,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:523,1
    - Dst: Botan::BigInt::randomize
      Src: /src/botan/src/tests/test_bigint.cpp:524,1
    - Dst: rng
      Src: /src/botan/src/tests/test_bigint.cpp:524,1
    - Dst: auto::reduce
      Src: /src/botan/src/tests/test_bigint.cpp:529,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:531,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 536
    functionName: Botan_Tests::Barrett_Redc_Test::run
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - auto::reduce
    - Botan::BigInt::BigInt
    - Botan::BigInt::from_u64
    - Test::Result::test_eq
    - Botan::BigInt::randomize
    - rng
    - Botan::Barrett_Reduction::for_public_modulus
    - Botan_Tests::BitOps_Tests::test_power_of_2
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 543
    functionName: Botan_Tests::BigInt_GCD_Test::BigInt_GCD_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_GCD_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:548,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:549,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:550,1
    - Dst: Botan::gcd
      Src: /src/botan/src/tests/test_bigint.cpp:552,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:553,1
    - Dst: Botan::gcd
      Src: /src/botan/src/tests/test_bigint.cpp:555,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 559
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 559
    functionName: Botan_Tests::BigInt_GCD_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::gcd
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 566
    functionName: Botan_Tests::BigInt_Jacobi_Test::BigInt_Jacobi_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Jacobi_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:571,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:572,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_bigint.cpp:573,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:578,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:580,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 586
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 586
    functionName: Botan_Tests::BigInt_Jacobi_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_str
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 593
    functionName: Botan_Tests::BigInt_Lshift_Test::BigInt_Lshift_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Lshift_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:598,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:600,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:602,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 609
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 609
    functionName: Botan_Tests::BigInt_Lshift_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 616
    functionName: Botan_Tests::BigInt_Rshift_Test::BigInt_Rshift_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Rshift_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:621,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:623,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:625,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 632
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 632
    functionName: Botan_Tests::BigInt_Rshift_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_bigint.cpp:641,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_bigint.cpp:643,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/tests/test_bigint.cpp:645,1
    - Dst: auto::next_byte
      Src: /src/botan/src/tests/test_bigint.cpp:647,1
    - Dst: Botan::BigInt::set_bit
      Src: /src/botan/src/tests/test_bigint.cpp:648,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/tests/test_bigint.cpp:655,1
    - Dst: auto::ct_shift_left
      Src: /src/botan/src/tests/test_bigint.cpp:656,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/tests/test_bigint.cpp:657,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:659,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_bigint.cpp:659,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_bigint.cpp:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 665
    functionName: Botan_Tests::test_const_time_left_shift
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Test::Result::test_eq
    - Botan::CT::poison
    - auto::next_byte
    - Botan::BigInt::set_bit
    - Botan_Tests::Test::new_rng
    - auto::ct_shift_left
    - Botan::BigInt::with_capacity
    - Botan::CT::unpoison
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_const_time_left_shift()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: Botan_Tests::BigInt_Powmod_Test::BigInt_Powmod_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Powmod_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:674,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:675,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:676,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:677,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:679,1
    - Dst: Botan::power_mod
      Src: /src/botan/src/tests/test_bigint.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 681
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 681
    functionName: Botan_Tests::BigInt_Powmod_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::power_mod
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 688
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 688
    functionName: Botan_Tests::BigInt_IsPrime_Test::BigInt_IsPrime_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_IsPrime_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_bigint.cpp:692,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:695,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:699,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/tests/test_bigint.cpp:699,1
    - Dst: Botan_Tests::BigInt_IsPrime_Test::rng
      Src: /src/botan/src/tests/test_bigint.cpp:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 702
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: Botan_Tests::BigInt_IsPrime_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - Test::Result::test_eq
    - Botan_Tests::BigInt_IsPrime_Test::rng
    - Test_Error
    - Botan::is_prime
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 709
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 709
    functionName: Botan_Tests::BigInt_IsSquare_Test::BigInt_IsSquare_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_IsSquare_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:712,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:713,1
    - Dst: Botan::is_perfect_square
      Src: /src/botan/src/tests/test_bigint.cpp:714,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 719
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 719
    functionName: Botan_Tests::BigInt_IsSquare_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_perfect_square
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 726
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 726
    functionName: Botan_Tests::BigInt_Sqrt_Modulo_Prime_Test::BigInt_Sqrt_Modulo_Prime_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Sqrt_Modulo_Prime_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:731,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:732,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:733,1
    - Dst: Botan::sqrt_modulo_prime
      Src: /src/botan/src/tests/test_bigint.cpp:735,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:737,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 745
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 745
    functionName: Botan_Tests::BigInt_Sqrt_Modulo_Prime_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    - Botan::sqrt_modulo_prime
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 752
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 752
    functionName: Botan_Tests::BigInt_InvMod_Test::BigInt_InvMod_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_InvMod_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:757,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:758,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:759,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:761,1
    - Dst: Botan::inverse_mod
      Src: /src/botan/src/tests/test_bigint.cpp:761,1
    - Dst: Botan::inverse_mod_general
      Src: /src/botan/src/tests/test_bigint.cpp:764,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_bigint.cpp:765,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:766,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_bigint.cpp:766,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:767,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_bigint.cpp:767,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/tests/test_bigint.cpp:767,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:769,1
    - Dst: Botan::BigInt::is_zero
      Src: /src/botan/src/tests/test_bigint.cpp:769,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/tests/test_bigint.cpp:772,1
    - Dst: rng
      Src: /src/botan/src/tests/test_bigint.cpp:772,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_bigint.cpp:773,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:774,1
    - Dst: Botan::inverse_mod_secret_prime
      Src: /src/botan/src/tests/test_bigint.cpp:774,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:775,1
    - Dst: Botan::inverse_mod_public_prime
      Src: /src/botan/src/tests/test_bigint.cpp:775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 780
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 780
    functionName: Botan_Tests::BigInt_InvMod_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::inverse_mod_general
    - get_req_bn
    - auto::value
    - Test::Result::test_eq
    - Botan::inverse_mod_secret_prime
    - Test::Result::confirm
    - Botan::inverse_mod_public_prime
    - Botan::inverse_mod
    - cryptofuzz::crypto::impl::sha1_done
    - Botan::BigInt::is_zero
    - Botan::is_prime
    - rng
    - auto::has_value
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 787
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 787
    functionName: Botan_Tests::BigInt_Rand_Test::BigInt_Rand_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Rand_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_bigint.cpp:792,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:793,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:794,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:795,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/tests/test_bigint.cpp:798,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 803
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 803
    functionName: Botan_Tests::BigInt_Rand_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - Botan::BigInt::random_integer
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/tests/test_bigint.cpp:824,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:831,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_bigint.cpp:831,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:833,1
    - Dst: std::set::contains
      Src: /src/botan/src/tests/test_bigint.cpp:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 838
      start: 810
    functionDepth: 3
    functionLinenumber: 810
    functionLinenumberEnd: 838
    functionName: Botan_Tests::Lucas_Primality_Test::run
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - Test::Result::confirm
    - Botan::Barrett_Reduction::for_public_modulus
    - std::set::count
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/tests/test_bigint.cpp:850,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:861,1
    - Dst: rng
      Src: /src/botan/src/tests/test_bigint.cpp:861,1
    - Dst: gcd
      Src: /src/botan/src/tests/test_bigint.cpp:862,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_bigint.cpp:863,1
    - Dst: lcm
      Src: /src/botan/src/tests/test_bigint.cpp:880,1
    - Dst: Botan::compute_rsa_secret_exponent
      Src: /src/botan/src/tests/test_bigint.cpp:882,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:886,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/tests/test_bigint.cpp:886,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 845
    functionDepth: 2
    functionLinenumber: 845
    functionLinenumberEnd: 890
    functionName: Botan_Tests::RSA_Compute_Exp_Test::run
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_u64
    - lcm
    - Test::Result::test_eq
    - gcd
    - cryptofuzz::crypto::impl::sha1_done
    - rng
    - Botan::compute_rsa_secret_exponent
    - std::vector::push_back
    - Botan::random_prime
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 897
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 897
    functionName: Botan_Tests::DSA_ParamGen_Test::DSA_ParamGen_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_ParamGen_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_bigint.cpp:900,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:903,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:904,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/test_bigint.cpp:906,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bigint.cpp:908,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_bigint.cpp:909,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:918,1
    - Dst: Botan::generate_dsa_primes
      Src: /src/botan/src/tests/test_bigint.cpp:919,1
    - Dst: Botan_Tests::DSA_ParamGen_Test::rng
      Src: /src/botan/src/tests/test_bigint.cpp:919,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:920,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:921,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_bigint.cpp:923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 928
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 928
    functionName: Botan_Tests::DSA_ParamGen_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::BigInt::BigInt
    - get_req_bn
    - Test::Result::test_eq
    - Botan::split_on
    - Botan::generate_dsa_primes
    - Test_Error
    - Test::Result::test_failure
    - get_req_bin
    - Botan_Tests::DSA_ParamGen_Test::rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_bigint.cpp:934,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_bigint.cpp:937,1
    - Dst: Botan::BigInt::serialize
      Src: /src/botan/src/tests/test_bigint.cpp:940,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:941,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:941,1
    - Dst: Botan::BigInt::serialize
      Src: /src/botan/src/tests/test_bigint.cpp:943,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:944,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:944,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_bigint.cpp:946,1
    - Dst: Botan::BigInt::serialize
      Src: /src/botan/src/tests/test_bigint.cpp:946,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_bigint.cpp:949,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:953,1
    - Dst: Botan::BigInt::binary_encode
      Src: /src/botan/src/tests/test_bigint.cpp:954,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_bigint.cpp:954,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bigint.cpp:954,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:955,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:955,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:957,1
    - Dst: Botan::BigInt::binary_encode
      Src: /src/botan/src/tests/test_bigint.cpp:958,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_bigint.cpp:958,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bigint.cpp:958,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:959,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:959,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:961,1
    - Dst: Botan::BigInt::binary_encode
      Src: /src/botan/src/tests/test_bigint.cpp:962,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_bigint.cpp:962,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bigint.cpp:962,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:963,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:963,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:966,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_bigint.cpp:967,1
    - Dst: Botan::BigInt::binary_encode
      Src: /src/botan/src/tests/test_bigint.cpp:968,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_bigint.cpp:968,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bigint.cpp:968,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:969,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:969,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:971,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:973,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_bigint.cpp:974,1
    - Dst: Botan::BigInt::binary_encode
      Src: /src/botan/src/tests/test_bigint.cpp:975,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_bigint.cpp:975,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bigint.cpp:975,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:976,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 981
      start: 933
    functionDepth: 3
    functionLinenumber: 933
    functionLinenumberEnd: 981
    functionName: Botan_Tests::test_bigint_serialization
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - Botan::BigInt::bytes
    - std::vector::size
    - Botan::BigInt::serialize
    - Botan_Tests::CHECK
    - test_eq
    - Botan::hex_decode
    - test_throws
    - auto::randomize
    - Botan_Tests::Test::new_rng
    - Botan::BigInt::binary_encode
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bigint_serialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - min
    - max
    argTypes:
    - Botan::RandomNumberGenerator
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: Botan_Tests::rand_in_range
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t rand_in_range(Botan::RandomNumberGenerator& rng, size_t min,
      size_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:39,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:42,1
    - Dst: Botan_Tests::rand_in_range
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:43,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:43,1
    - Dst: std::swap
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:44,1
    - Dst: std::iota
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:49,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:49,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:49,1
    - Dst: shuffle
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:50,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' rng'
    - n
    - upper_bound
    argTypes:
    - Botan::RandomNumberGenerator
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: Botan_Tests::rand_indices
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - shuffle
    - Botan_Tests::rand_in_range
    - std::swap
    - size
    - std::vector::resize
    - std::iota
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> rand_indices(Botan::RandomNumberGenerator& rng,
      size_t n, size_t upper_bound)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::rand_in_range
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:57,1
    - Dst: Botan_Tests::rand_indices
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:59,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:59,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:61,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: Botan_Tests::rnd_bitvector_with_rnd_pois
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - Botan::bitvector::size
    - Botan_Tests::rand_in_range
    - auto::end
    - Botan_Tests::rand_indices
    linkageType: ''
    returnType: std::pair<Botan::bitvector, std::set<size_t>>
    signature: std::pair<Botan::bitvector, std::set<size_t>> rnd_bitvector_with_rnd_pois(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: Botan_Tests::pattern_generator
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto pattern_generator(size_t offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:75,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:78,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:78,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:79,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:79,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:82,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:85,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:85,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:86,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:86,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:88,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:88,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:92,1
    - Dst: next_byte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:97,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:98,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:100,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:103,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:104,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:104,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:104,1
    - Dst: contains
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:104,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:108,1
    - Dst: set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:112,1
    - Dst: next_byte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:116,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:117,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:119,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:122,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:123,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:123,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:123,1
    - Dst: contains
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:123,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:127,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:131,1
    - Dst: find
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:132,1
    - Dst: begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:132,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:132,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:132,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:133,1
    - Dst: Botan::bitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:135,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:137,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:138,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:138,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:138,1
    - Dst: contains
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:138,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:142,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:145,1
    - Dst: const_cast<const decltype(bv)&>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:146,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:147,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:147,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:148,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:148,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:149,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:149,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:150,1
    - Dst: Botan::bitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:150,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:153,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:156,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:156,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:157,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:158,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:160,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:160,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:160,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:164,1
    - Dst: set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:167,1
    - Dst: flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:169,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:172,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:173,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:174,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:175,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:176,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:177,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:180,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:183,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:183,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:187,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:190,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:194,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:196,1
    - Dst: set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:197,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:199,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:201,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:203,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:205,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:207,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:209,1
    - Dst: unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:210,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:212,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:214,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:216,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:218,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:220,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:222,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 112
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 225
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 225
    functionName: Botan_Tests::test_bitvector_bitwise_accessors
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan::bitvector::empty
    - Botan::fmt
    - next_byte
    - end
    - test_eq
    - Botan::bitvector::set
    - template test_throws<Botan::Invalid_Argument>
    - Botan::bitvector::flip
    - begin
    - Botan::bitvector::unset
    - Botan_Tests::CHECK
    - const_cast<const decltype(bv)&>
    - confirm
    - flip
    - contains
    - Botan::bitvector::size
    - find
    - require
    - Botan::bitvector::at
    - test_no_throw
    - unset
    - set
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_bitwise_accessors(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:229,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:232,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:232,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:233,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:233,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:234,1
    - Dst: Botan::bitvector::capacity
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:234,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:237,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:240,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:240,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:241,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:241,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:242,1
    - Dst: Botan::bitvector::capacity
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:242,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:245,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:248,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:248,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:249,1
    - Dst: Botan::bitvector::capacity
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:249,1
    - Dst: Botan::bitvector::reserve
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:251,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:252,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:252,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:253,1
    - Dst: Botan::bitvector::capacity
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:253,1
    - Dst: Botan::bitvector::reserve
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:255,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:256,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:256,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:257,1
    - Dst: Botan::bitvector::capacity
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:257,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:260,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:263,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:263,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:264,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:264,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:266,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:267,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:268,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:269,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:271,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:271,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:272,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:272,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:273,1
    - Dst: Botan::bitvector::capacity
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:273,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:275,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:275,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:276,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:276,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:277,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:277,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:278,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:278,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:280,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:280,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:283,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:286,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:287,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:288,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:289,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:290,1
    - Dst: Botan::bitvector::back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:290,1
    - Dst: Botan::bitvector::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:292,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:293,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:293,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:294,1
    - Dst: Botan::bitvector::back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:294,1
    - Dst: Botan::bitvector::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:296,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:297,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:297,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:298,1
    - Dst: Botan::bitvector::back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:298,1
    - Dst: Botan::bitvector::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:300,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:301,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:301,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:302,1
    - Dst: Botan::bitvector::back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:302,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:303,1
    - Dst: Botan::bitvector::front
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:303,1
    - Dst: Botan::bitvector::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:305,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:306,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:306,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:308,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:308,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:311,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:318,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:319,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:319,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:321,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:323,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:323,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:326,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:327,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:327,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:329,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:330,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 334
    functionName: Botan_Tests::test_bitvector_capacity
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - test_gte
    - Botan::bitvector::at
    - Botan::bitvector::empty
    - Botan::fmt
    - Botan::bitvector::size
    - Botan::bitvector::capacity
    - Botan::bitvector::reserve
    - Botan_Tests::CHECK
    - test_eq
    - Botan::bitvector::push_back
    - Botan::bitvector::front
    - test_throws
    - Botan::bitvector::pop_back
    - Botan::bitvector::back
    - confirm
    - Botan::bitvector::resize
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_capacity(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::pattern_generator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:338,1
    - Dst: static_cast<T>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:342,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:342,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:346,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:353,1
    - Dst: Botan_Tests::pattern_generator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:359,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:363,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:363,1
    - Dst: bv_t
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:363,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:363,1
    - Dst: T::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:366,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:367,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:367,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:367,1
    - Dst: Botan_Tests::pattern_generator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:373,1
    - Dst: T::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:374,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:377,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:377,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:382,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:385,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:385,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:386,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:386,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:387,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:387,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:388,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:388,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:391,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:394,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:395,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:395,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:396,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:397,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:397,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:398,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:399,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:399,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:402,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:405,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:407,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:408,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:408,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:409,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:411,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:412,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:412,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:413,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:416,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:419,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:421,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:422,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:422,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:423,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:425,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:426,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:426,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:427,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:429,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:430,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:430,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:431,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:433,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:434,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:434,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:435,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:437,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:438,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:438,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:439,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:442,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:445,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:447,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:448,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:448,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:449,1
    - Dst: auto::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:451,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:452,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:453,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:457,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:460,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:462,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:463,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:463,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:464,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:466,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:467,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:467,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:468,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:470,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:471,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:471,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:472,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:474,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:475,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:475,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:476,1
    - Dst: auto::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:478,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:479,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:479,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:480,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:482,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:483,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:483,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:484,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:486,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:487,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:487,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:488,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:491,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:494,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:496,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:497,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:498,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:499,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:501,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:502,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:503,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:504,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:506,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:507,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:508,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:509,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:511,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:512,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:513,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:514,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:516,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:516,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:517,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:517,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:518,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:518,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:519,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:519,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:522,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:525,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:527,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:528,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:529,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:530,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:532,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:533,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:534,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:535,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:537,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:538,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:539,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:540,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:542,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:543,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:544,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:545,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:548,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:551,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:553,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:554,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:555,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:555,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:556,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:558,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:559,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:560,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:560,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:561,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:563,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:564,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:565,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:565,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:566,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:568,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:569,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:570,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:570,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:571,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:573,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:574,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:575,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:575,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:576,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:578,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:578,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:579,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:579,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:580,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:580,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:581,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:581,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:584,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:587,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:589,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:590,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:591,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:591,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:592,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:594,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:595,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:596,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:596,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:597,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:599,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:600,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:601,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:601,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:602,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:604,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:605,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:606,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:606,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:607,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:609,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:610,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:611,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:611,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:612,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:614,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:615,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:616,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:616,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:617,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:619,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:620,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:621,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:621,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:622,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 183
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 625
    functionName: Botan_Tests::test_bitvector_subvector
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - bitpattern_at
    - Botan::fmt
    - check_bitpattern_with_zero_region
    - bv_t
    - Botan_Tests::pattern_generator
    - test_eq
    - next
    - template test_throws<Botan::Invalid_Argument>
    - Botan::bitvector::subvector_replace
    - Botan_Tests::CHECK
    - auto::size
    - confirm
    - T::size
    - auto::resize
    - make_bitpattern
    - auto::subvector
    - check_bitpattern
    - static_cast<T>
    - test_throws
    - Botan::bitvector::subvector
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_subvector(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::pattern_generator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:629,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:631,1
    - Dst: Botan_Tests::pattern_generator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:636,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:637,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:638,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:638,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:638,1
    - Dst: Botan_Tests::pattern_generator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:643,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:644,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:645,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:645,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:645,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:650,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:653,1
    - Dst: Botan::bitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:655,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:656,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:659,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:660,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:661,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:663,1
    - Dst: Botan::bitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:665,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:666,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:669,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:673,1
    - Dst: Botan::bitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:674,1
    - Dst: check_flipped_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:675,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:678,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:680,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:681,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:682,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:686,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:690,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:691,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:692,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:693,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:695,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:698,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:699,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:700,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:704,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:708,1
    - Dst: Botan::bitvector::none_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:708,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:709,1
    - Dst: Botan::bitvector::any_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:709,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:710,1
    - Dst: Botan::bitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:710,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:711,1
    - Dst: Botan::bitvector::none
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:711,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:712,1
    - Dst: Botan::bitvector::any
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:712,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:713,1
    - Dst: Botan::bitvector::all
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:713,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:715,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:716,1
    - Dst: Botan::bitvector::none_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:716,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:717,1
    - Dst: Botan::bitvector::any_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:717,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:718,1
    - Dst: Botan::bitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:718,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:719,1
    - Dst: Botan::bitvector::none
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:719,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:720,1
    - Dst: Botan::bitvector::any
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:720,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:721,1
    - Dst: Botan::bitvector::all
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:721,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:723,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:724,1
    - Dst: Botan::bitvector::none_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:724,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:725,1
    - Dst: Botan::bitvector::any_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:725,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:726,1
    - Dst: Botan::bitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:726,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:727,1
    - Dst: Botan::bitvector::none
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:727,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:728,1
    - Dst: Botan::bitvector::any
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:728,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:729,1
    - Dst: Botan::bitvector::all
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:729,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:731,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:732,1
    - Dst: Botan::bitvector::none_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:732,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:733,1
    - Dst: Botan::bitvector::any_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:733,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:734,1
    - Dst: Botan::bitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:734,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:735,1
    - Dst: Botan::bitvector::none
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:735,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:736,1
    - Dst: Botan::bitvector::any
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:736,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:737,1
    - Dst: Botan::bitvector::all
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:737,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:739,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:740,1
    - Dst: Botan::bitvector::none_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:740,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:741,1
    - Dst: Botan::bitvector::any_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:741,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:742,1
    - Dst: Botan::bitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:742,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:743,1
    - Dst: Botan::bitvector::none
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:743,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:744,1
    - Dst: Botan::bitvector::any
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:744,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:745,1
    - Dst: Botan::bitvector::all
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:745,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:748,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:750,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:751,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:753,1
    - Dst: Botan::bitvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:753,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:754,1
    - Dst: Botan::bitvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:754,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:757,1
    - Dst: template as<size_t>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:762,1
    - Dst: Botan::bitvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:768,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:768,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:769,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:769,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:770,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:770,1
    - Dst: naive_count
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:770,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:772,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:773,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:773,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:774,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:774,1
    - Dst: naive_count
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:774,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:776,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:777,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:777,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:778,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:778,1
    - Dst: naive_count
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:778,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:780,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:781,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:781,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:782,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:782,1
    - Dst: naive_count
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:782,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:784,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:785,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:785,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:786,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:786,1
    - Dst: naive_count
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:786,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 789
    functionName: Botan_Tests::test_bitvector_global_modifiers_and_predicates
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan_Tests::pattern_generator
    - test_eq
    - next
    - Botan::bitvector::all_vartime
    - Botan::bitvector::set
    - Botan::bitvector::flip
    - template as<size_t>
    - Botan::bitvector::unset
    - Botan::bitvector::any_vartime
    - Botan_Tests::CHECK
    - auto::pop_back
    - confirm
    - auto::hamming_weight
    - Botan::bitvector::size
    - Botan::bitvector::none
    - Botan::bitvector
    - Botan::bitvector::all
    - Botan::hex_decode
    - Botan::bitvector::none_vartime
    - check_flipped_bitpattern
    - make_bitpattern
    - check_bitpattern
    - size
    - Botan::bitvector::push_back
    - naive_count
    - Botan::bitvector::resize
    - Botan::bitvector::any
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_global_modifiers_and_predicates(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:793,1
    - Dst: find
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:794,1
    - Dst: begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:794,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:794,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:794,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:795,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:795,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:801,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:807,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:811,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:814,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:816,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:818,1
    - Dst: Botan::bitvector::equals_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:818,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:819,1
    - Dst: Botan::bitvector::equals
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:819,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:821,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:822,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:824,1
    - Dst: Botan::bitvector::equals_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:824,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:825,1
    - Dst: Botan::bitvector::equals
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:825,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:828,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:831,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:833,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:835,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:838,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:841,1
    - Dst: is_standard_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:843,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:846,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:849,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:851,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:853,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:856,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:859,1
    - Dst: is_standard_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:861,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:864,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:867,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:869,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:871,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:874,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:877,1
    - Dst: is_standard_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:879,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:882,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:885,1
    - Dst: Botan::secure_bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:887,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:889,1
    - Dst: is_secure_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:892,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:893,1
    - Dst: is_secure_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:896,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:897,1
    - Dst: is_secure_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:900,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:901,1
    - Dst: is_secure_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:904,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:905,1
    - Dst: is_secure_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:908,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:909,1
    - Dst: is_secure_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:912,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 916
      start: 791
    functionDepth: 3
    functionLinenumber: 791
    functionLinenumberEnd: 916
    functionName: Botan_Tests::test_bitvector_binary_operators
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan::bitvector::set
    - Botan::fmt
    - Botan::bitvector::unset
    - Botan::bitvector::equals
    - is_secure_allocator
    - end
    - Botan_Tests::CHECK
    - test_eq
    - Botan::bitvector::equals_vartime
    - check_set
    - Botan::secure_bitvector::set
    - size
    - confirm
    - find
    - begin
    - is_standard_allocator
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_binary_operators(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:929,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:935,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:935,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:935,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:935,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:940,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:943,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:943,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:946,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:946,1
    - Dst: Botan::bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:948,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:949,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:949,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:952,1
    - Dst: Botan::bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:957,1
    - Dst: Botan::secure_bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:958,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:960,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:962,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:966,1
    - Dst: validate_bytewise
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:969,1
    - Dst: Botan::bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:971,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:972,1
    - Dst: cryptofuzz_secp256k1_fe_equal
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:972,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:975,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:978,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:978,1
    - Dst: first
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:978,1
    - Dst: validate_bytewise
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:981,1
    - Dst: Botan::bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:983,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:984,1
    - Dst: cryptofuzz_secp256k1_fe_equal
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:984,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:987,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:996,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:996,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:996,1
    - Dst: Botan::bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:999,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1001,1
    - Dst: first
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1001,1
    - Dst: std::array::back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1002,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1003,1
    - Dst: cryptofuzz_secp256k1_fe_equal
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1003,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1006,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1012,1
    - Dst: Botan::bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1015,1
    - Dst: test_eq_sz
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 918
    functionDepth: 3
    functionLinenumber: 918
    functionLinenumberEnd: 1020
    functionName: Botan_Tests::test_bitvector_serialization
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan::bitvector::empty
    - Botan::fmt
    - test_eq
    - Botan::bitvector::set
    - std::array::back
    - Botan_Tests::CHECK
    - std::array::size
    - confirm
    - first
    - test_eq_sz
    - validate_bytewise
    - Botan::copy_mem
    - Botan::secure_bitvector::to_bytes
    - require
    - std::vector::empty
    - Botan::bitvector::at
    - Botan::bitvector::to_bytes
    - static_cast<size_t>
    - auto::empty
    - size
    - cryptofuzz_secp256k1_fe_equal
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_serialization(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::yes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1023,1
    - Dst: Botan::CT::Choice::no
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1024,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1027,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1029,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1030,1
    - Dst: Botan::bitvector::ct_conditional_xor
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1034,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1035,1
    - Dst: Botan::bitvector::ct_conditional_xor
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1037,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1038,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1041,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1043,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1044,1
    - Dst: Botan::bitvector::ct_conditional_xor
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1048,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1049,1
    - Dst: Botan::bitvector::ct_conditional_xor
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1051,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1052,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1055,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1057,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1058,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1059,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1060,1
    - Dst: Botan::secure_bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1061,1
    - Dst: Botan::secure_bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1062,1
    - Dst: Botan::bitvector::ct_conditional_xor
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1067,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1068,1
    - Dst: Botan::bitvector::ct_conditional_xor
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1070,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1022
    functionDepth: 3
    functionLinenumber: 1022
    functionLinenumberEnd: 1074
    functionName: Botan_Tests::test_bitvector_constant_time_operations
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan::bitvector::ct_conditional_xor
    - Botan::CT::Choice::no
    - Botan_Tests::CHECK
    - Botan::secure_bitvector::push_back
    - Botan::bitvector::push_back
    - Botan::hex_decode
    - confirm
    - Botan::CT::Choice::yes
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_constant_time_operations(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1079,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1085,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1087,1
    - Dst: Botan::bitvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1087,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1087,1
    - Dst: Botan_Tests::Test::timestamp
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1092,1
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1094,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1094,1
    - Dst: auto::next_byte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1094,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1095,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1095,1
    - Dst: auto::next_byte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1095,1
    - Dst: Test::Result::set_ns_consumed
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1097,1
    - Dst: Botan_Tests::Test::timestamp
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1097,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1099,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1100,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1102
    functionName: Botan_Tests::test_bitvector_conditional_xor_workload
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - Botan_Tests::Test::timestamp
    - std::vector::reserve
    - auto::random_vec
    - Botan::CT::Choice::from_int
    - Botan::bitvector
    - static_cast<uint8_t>
    - Test::Result::confirm
    - auto::next_byte
    - Botan_Tests::Test::new_rng
    - std::vector::push_back
    - Test::Result::set_ns_consumed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_conditional_xor_workload(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1106,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1109,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1113,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1113,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1119,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1119,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1127,1
    - Dst: Botan::bitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1127,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1130,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1133,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1136,1
    - Dst: Botan::bitvector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1136,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1138,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1138,1
    - Dst: Botan::bitvector::cbegin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1142,1
    - Dst: Botan::bitvector::cend
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1142,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1144,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1144,1
    - Dst: auto::is_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1144,1
    - Dst: Botan::bitvector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1148,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1153,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1153,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1154,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1156,1
    - Dst: Botan::bitvector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1156,1
    - Dst: auto::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1157,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1161,1
    - Dst: Botan::bitvector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1161,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1163,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1163,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1167,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1172,1
    - Dst: std::distance
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1172,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1172,1
    - Dst: Botan::bitvector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1172,1
    - Dst: signed_size_t
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1172,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1173,1
    - Dst: std::distance
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1173,1
    - Dst: Botan::bitvector::cbegin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1173,1
    - Dst: Botan::bitvector::cend
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1173,1
    - Dst: signed_size_t
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1173,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1175,1
    - Dst: std::advance
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1176,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1177,1
    - Dst: std::distance
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1177,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1177,1
    - Dst: signed_size_t
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1177,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1180,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1184,1
    - Dst: Botan::bitvector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1184,1
    - Dst: std::distance
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1185,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1185,1
    - Dst: auto::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1186,1
    - Dst: std::distance
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1188,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1188,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1195,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1195,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1200,1
    - Dst: Botan::secure_bitvector::cbegin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1203,1
    - Dst: Botan::secure_bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1204,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1209,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1210,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1211,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1212,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1213,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1214,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1215,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1216,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1219
    functionName: Botan_Tests::test_bitvector_iterators
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - auto::is_set
    - test_eq
    - Botan::bitvector::end
    - Botan::secure_bitvector::begin
    - Botan::bitvector::all_vartime
    - Botan::bitvector::set
    - test_is_eq
    - std::advance
    - auto::set
    - Botan_Tests::CHECK
    - confirm
    - signed_size_t
    - Botan::bitvector::cbegin
    - auto::flip
    - Botan::bitvector::cend
    - Botan::secure_bitvector::cbegin
    - Botan::bitvector::begin
    - std::distance
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_iterators(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1230,1
    - Dst: TestBitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1230,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1231,1
    - Dst: TestBitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1231,1
    - Dst: TestBitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1234,1
    - Dst: TestBitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1235,1
    - Dst: TestBitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1236,1
    - Dst: TestBitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1237,1
    - Dst: TestBitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1238,1
    - Dst: TestBitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1239,1
    - Dst: TestBitvector::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1240,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1242,1
    - Dst: TestBitvector::front
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1242,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1243,1
    - Dst: TestBitvector::back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1243,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1244,1
    - Dst: TestBitvector::any_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1244,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1245,1
    - Dst: TestBitvector::none_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1245,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1246,1
    - Dst: TestBitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1246,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1248,1
    - Dst: TestBitvector::has_odd_hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1248,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1252,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1252,1
    - Dst: TestBitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1256,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1260,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1260,1
    - Dst: TestBitvector::as
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1264,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1267,1
    - Dst: auto::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1269,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1270,1
    - Dst: auto::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1272,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1273,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1274,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1274,1
    - Dst: auto::to_string
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1276,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1280
    functionName: Botan_Tests::test_bitvector_strongtype_adapter
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - TestBitvector::any_vartime
    - TestBitvector::back
    - TestBitvector::flip
    - TestBitvector::push_back
    - TestBitvector::unset
    - TestBitvector::as
    - Test::Result::test_eq
    - TestBitvector::size
    - Test::Result::confirm
    - TestBitvector::set
    - TestBitvector::empty
    - TestBitvector::at
    - auto::to_string
    - TestBitvector::front
    - TestBitvector::pop_back
    - TestBitvector::none_vartime
    - Test::Result::test_is_eq
    - auto::subvector
    - auto::get
    - TestBitvector::all_vartime
    - TestBitvector::has_odd_hamming_weight
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_strongtype_adapter(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::relic_detail::relic_fuzzer_rng
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1288,1
    - Dst: test_func
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1304,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1305,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1305,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1305,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1309
    functionName: Botan_Tests::BitVector_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - cryptofuzz::module::relic_detail::relic_fuzzer_rng
    - std::vector::insert
    - auto::end
    - test_func
    - std::vector::end
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:73,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:75,1
    - Dst: second
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:77,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:77,1
    - Dst: what
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:77,1
    - Dst: get_return_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:79,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:83,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:83,1
    - Dst: what
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' name'
    - ' fns'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, std::function<Test::Result()>>>
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: run_pkcs11_tests
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 1
    functionsReached:
    - what
    - Botan_Tests::Test::Result::Failure
    - second
    - size
    - get_return_value
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: "std::vector<Test::Result> run_pkcs11_tests(const std::string& name,\n
      \                                          std::vector<std::pair<std::string,
      std::function<Test::Result()>>>& fns)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::pkcs11_lib
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:97,1
    - Dst: Module::Module
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:97,1
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:98,1
    - Dst: std::make_unique<Slot>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:99,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:99,1
    - Dst: std::make_unique<Session>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:100,1
    - Dst: login
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:102,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - login
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: TestSession::TestSession
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 2
    functionsReached:
    - std::vector::at
    - std::make_unique<Slot>
    - std::make_unique<Session>
    - PIN
    - Module::Module
    - Test::pkcs11_lib
    - login
    - Botan::PKCS11::Slot::get_available_slots
    linkageType: ''
    returnType: void
    signature: void TestSession(bool login)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: '& session() const'
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Session
    signature: Session & session() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '& slot() const'
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Slot
    signature: Slot & slot() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:121,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: test_module_ctor
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_module_ctor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Module::reload
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:134,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:135,1
    - Dst: Module::get_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:137,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: test_module_reload
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Module::reload
    - Module::get_info
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_module_reload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: test_multiple_modules
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_multiple_modules()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Module::get_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:158,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: test_module_get_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_ne
    - Module::get_info
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_module_get_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:168,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:169,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:170,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:171,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: Module_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - run_pkcs11_tests
    - STRING_AND_FUNCTION
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:185,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:186,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: test_slot_get_available_slots
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::Slot::get_available_slots
    - Test::Result::test_gte
    - std::vector::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_slot_get_available_slots()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:195,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:197,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:198,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:199,1
    - Dst: Slot::slot_id
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:199,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: test_slot_ctor
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - Test::Result::test_is_eq
    - Slot::slot_id
    - Test::Result::test_success
    - Botan::PKCS11::Slot::get_available_slots
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_slot_ctor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:208,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:209,1
    - Dst: Slot::get_slot_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:211,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:212,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:213,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: test_get_slot_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - Test::Result::confirm
    - reinterpret_cast<char*>
    - Slot::get_slot_info
    - Botan::PKCS11::Slot::get_available_slots
    - std::string::empty
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_slot_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:219,1
    - Dst: find
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:224,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:224,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:224,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' module'
    argTypes:
    - Module
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: get_invalid_slot_id
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::Slot::get_available_slots
    - find
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: SlotId
    signature: SlotId get_invalid_slot_id(Module& module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_invalid_slot_id
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:236,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:240,1
    - Dst: Slot::get_slot_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: test_slot_invalid_id
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - get_invalid_slot_id
    - Test::Result::test_throws
    - Slot::get_slot_info
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_slot_invalid_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:249,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:250,1
    - Dst: Slot::get_token_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:252,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:253,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:254,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: test_get_token_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - Slot::get_token_info
    - Test::Result::confirm
    - reinterpret_cast<char*>
    - Botan::PKCS11::Slot::get_available_slots
    - std::string::empty
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_token_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:263,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:264,1
    - Dst: Slot::get_mechanism_list
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:266,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:267,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: test_get_mechanism_list
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::vector::at
    - Slot::get_mechanism_list
    - Test::Result::confirm
    - Botan::PKCS11::Slot::get_available_slots
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_mechanism_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:276,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:277,1
    - Dst: Slot::get_mechanism_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:279,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: test_get_mechanisms_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::Slot::get_available_slots
    - std::vector::at
    - Test::Result::test_success
    - Slot::get_mechanism_info
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_mechanisms_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:289,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:290,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:291,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:292,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:293,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:294,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:295,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 298
    functionName: Slot_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - run_pkcs11_tests
    - STRING_AND_FUNCTION
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:309,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:310,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:314,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:318,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:321,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:323,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 332
    functionName: test_session_ctor
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::Slot::get_available_slots
    - std::vector::at
    - Botan::PKCS11::flags
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_session_ctor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_invalid_slot_id
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:339,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: test_session_ctor_invalid_slot
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - get_invalid_slot_id
    - Test::Result::test_throws
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_session_ctor_invalid_slot()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:351,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:352,1
    - Dst: Session::release
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:355,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: test_session_release
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::Slot::get_available_slots
    - std::vector::at
    - Session::release
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_session_release()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:367,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:368,1
    - Dst: Session::login
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:371,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:371,1
    - Dst: Session::logoff
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:372,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:373,1
    - Dst: Session::login
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:375,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:375,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 379
    functionName: test_session_login_logout
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Session::login
    - std::vector::at
    - Session::logoff
    - SO_PIN
    - PIN
    - Test::Result::test_success
    - Botan::PKCS11::Slot::get_available_slots
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_session_login_logout()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:385,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:386,1
    - Dst: Session::get_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:389,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:390,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:390,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:391,1
    - Dst: static_cast<CK_STATE>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:392,1
    - Dst: Session::login
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:394,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:394,1
    - Dst: Session::get_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:395,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:396,1
    - Dst: static_cast<CK_STATE>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:397,1
    - Dst: Session::logoff
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:399,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:400,1
    - Dst: Session::login
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:402,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:402,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 406
    functionName: test_session_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Session::login
    - std::vector::at
    - Session::logoff
    - SO_PIN
    - PIN
    - static_cast<CK_STATE>
    - Test::Result::test_is_eq
    - Test::Result::test_success
    - Botan::PKCS11::Slot::get_available_slots
    - Session::get_info
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_session_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:412,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:413,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:414,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:415,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:416,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 419
    functionName: Session_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - run_pkcs11_tests
    - STRING_AND_FUNCTION
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeContainer::add_class
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:430,1
    - Dst: AttributeContainer::add_string
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:433,1
    - Dst: AttributeContainer::add_binary
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:436,1
    - Dst: AttributeContainer::add_bool
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:438,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:439,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:440,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:441,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:443,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:444,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:446,1
    - Dst: AttributeContainer::count
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:446,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:448,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:449,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:449,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:450,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:450,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:450,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:451,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:451,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:452,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:452,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:452,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:453,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:453,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:454,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:454,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:454,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:455,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:455,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:456,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:456,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 459
    functionName: test_attribute_container
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - at
    - AttributeContainer::add_binary
    - AttributeContainer::count
    - reinterpret_cast<uint64_t*>
    - Test::Result::test_eq
    - AttributeContainer::add_class
    - AttributeContainer::attributes
    - Test::Result::test_int_eq
    - AttributeContainer::add_numeric
    - AttributeContainer::add_string
    - AttributeContainer::add_bool
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_attribute_container()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:463,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:463,1
    - Dst: DER_Encoder
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:469,1
    - Dst: DataObjectProperties::set_application
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:472,1
    - Dst: DataObjectProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:473,1
    - Dst: DataObjectProperties::set_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:474,1
    - Dst: DataObjectProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:475,1
    - Dst: DataObjectProperties::set_modifiable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:476,1
    - Dst: DataObjectProperties::set_object_id
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 480
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 480
    functionName: make_test_object
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - DataObjectProperties::set_modifiable
    - DataObjectProperties::set_application
    - DataObjectProperties::set_object_id
    - std::string::begin
    - DataObjectProperties::set_label
    - DataObjectProperties::set_token
    - DataObjectProperties::set_value
    - DER_Encoder
    - std::string::end
    linkageType: ''
    returnType: DataObjectProperties
    signature: DataObjectProperties make_test_object(const std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_test_object
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:489,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:490,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:491,1
    - Dst: Object::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:493,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 497
    functionName: test_create_destroy_data_object
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - make_test_object
    - Object::destroy
    - Test::Result::test_success
    - TestSession::session
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_create_destroy_data_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_test_object
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:506,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:507,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:510,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:511,1
    - Dst: secure_vector::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:511,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:512,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:516,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:516,1
    - Dst: Object::set_attribute_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:517,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:520,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:521,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:521,1
    - Dst: secure_vector::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:521,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:522,1
    - Dst: Object::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 526
    functionName: test_get_set_attribute_values
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Object::destroy
    - std::string::begin
    - Test::Result::test_eq
    - std::string
    - make_test_object
    - std::string::end
    - Object::get_attribute_value
    - TestSession::session
    - Object::set_attribute_value
    - secure_vector::end
    - secure_vector::begin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_set_attribute_values()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_test_object
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:535,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:536,1
    - Dst: AttributeContainer::add_string
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:540,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:541,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:541,1
    - Dst: ObjectFinder::find
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:543,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:544,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:544,1
    - Dst: ObjectFinder::finish
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:545,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:547,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:547,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:548,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:549,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:550,1
    - Dst: Object::search<Object>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:552,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:552,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:552,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:553,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:554,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:555,1
    - Dst: Object::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 559
    functionName: test_object_finder
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Object::get_attribute_value
    - Object::destroy
    - auto::at
    - Test::Result::test_eq
    - Object::search<Object>
    - ObjectFinder::find
    - AttributeContainer::attributes
    - make_test_object
    - ObjectFinder::finish
    - auto::size
    - TestSession::session
    - AttributeContainer::add_string
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_object_finder()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_test_object
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:568,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:569,1
    - Dst: AttributeContainer::add_string
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:573,1
    - Dst: Object::copy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:574,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:576,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:576,1
    - Dst: ObjectFinder::find
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:577,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:578,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:578,1
    - Dst: Object::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:580,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:582,1
    - Dst: Object::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 585
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 585
    functionName: test_object_copy
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Object::destroy
    - Test::Result::test_eq
    - AttributeContainer::attributes
    - ObjectFinder::find
    - make_test_object
    - auto::size
    - TestSession::session
    - AttributeContainer::add_string
    - Object::copy
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_object_copy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:592,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:595,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:596,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:597,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:598,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 590
    functionDepth: 3
    functionLinenumber: 590
    functionLinenumberEnd: 603
    functionName: Object_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - run_pkcs11_tests
    - STRING_AND_FUNCTION
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:617,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:621,1
    - Dst: RSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:621,1
    - Dst: RSA_PrivateKey::get_n
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:624,1
    - Dst: RSA_PrivateKey::get_d
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:624,1
    - Dst: RSA_PrivateKeyImportProperties::set_pub_exponent
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:625,1
    - Dst: RSA_PrivateKey::get_e
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:625,1
    - Dst: RSA_PrivateKeyImportProperties::set_prime_1
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:626,1
    - Dst: RSA_PrivateKey::get_p
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:626,1
    - Dst: RSA_PrivateKeyImportProperties::set_prime_2
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:627,1
    - Dst: RSA_PrivateKey::get_q
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:627,1
    - Dst: RSA_PrivateKeyImportProperties::set_coefficient
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:628,1
    - Dst: RSA_PrivateKey::get_c
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:628,1
    - Dst: RSA_PrivateKeyImportProperties::set_exponent_1
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:629,1
    - Dst: RSA_PrivateKey::get_d1
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:629,1
    - Dst: RSA_PrivateKeyImportProperties::set_exponent_2
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:630,1
    - Dst: RSA_PrivateKey::get_d2
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:630,1
    - Dst: RSA_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:632,1
    - Dst: RSA_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:633,1
    - Dst: RSA_PrivateKeyImportProperties::set_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:634,1
    - Dst: RSA_PrivateKeyImportProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:635,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:637,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:638,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:639,1
    - Dst: PKCS11_RSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:639,1
    - Dst: PKCS11_RSA_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 643
    functionName: test_rsa_privkey_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - RSA_PrivateKey::check_key
    - RSA_PrivateKey::get_n
    - RSA_PrivateKey::get_q
    - RSA_PrivateKeyImportProperties::set_decrypt
    - RSA_PrivateKeyImportProperties::set_exponent_2
    - RSA_PrivateKey::get_p
    - Test::Result::confirm
    - RSA_PrivateKeyImportProperties::set_exponent_1
    - Test::Result::test_success
    - RSA_PrivateKey::get_c
    - RSA_PrivateKey::get_d2
    - TestSession::session
    - RSA_PrivateKeyImportProperties::set_prime_1
    - RSA_PrivateKeyImportProperties::set_token
    - RSA_PrivateKeyImportProperties::set_private
    - RSA_PrivateKey::get_d
    - PKCS11_RSA_PrivateKey::check_key
    - RSA_PrivateKeyImportProperties::set_pub_exponent
    - RSA_PrivateKeyImportProperties::set_sign
    - RSA_PrivateKeyImportProperties::set_coefficient
    - Botan_Tests::Test::new_rng
    - RSA_PrivateKey::get_e
    - RSA_PrivateKey::get_d1
    - RSA_PrivateKeyImportProperties::set_prime_2
    - PKCS11_RSA_PrivateKey::destroy
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_privkey_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:650,1
    - Dst: RSA_PrivateKey::get_n
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:656,1
    - Dst: RSA_PrivateKey::get_d
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:656,1
    - Dst: RSA_PrivateKeyImportProperties::set_pub_exponent
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:657,1
    - Dst: RSA_PrivateKey::get_e
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:657,1
    - Dst: RSA_PrivateKeyImportProperties::set_prime_1
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:658,1
    - Dst: RSA_PrivateKey::get_p
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:658,1
    - Dst: RSA_PrivateKeyImportProperties::set_prime_2
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:659,1
    - Dst: RSA_PrivateKey::get_q
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:659,1
    - Dst: RSA_PrivateKeyImportProperties::set_coefficient
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:660,1
    - Dst: RSA_PrivateKey::get_c
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:660,1
    - Dst: RSA_PrivateKeyImportProperties::set_exponent_1
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:661,1
    - Dst: RSA_PrivateKey::get_d1
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:661,1
    - Dst: RSA_PrivateKeyImportProperties::set_exponent_2
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:662,1
    - Dst: RSA_PrivateKey::get_d2
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:662,1
    - Dst: RSA_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:664,1
    - Dst: RSA_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:665,1
    - Dst: RSA_PrivateKeyImportProperties::set_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:666,1
    - Dst: RSA_PrivateKeyImportProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:667,1
    - Dst: RSA_PrivateKeyImportProperties::set_extractable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:668,1
    - Dst: RSA_PrivateKeyImportProperties::set_sensitive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:669,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:671,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:672,1
    - Dst: PKCS11_RSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:672,1
    - Dst: PKCS11_RSA_PrivateKey::export_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:674,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:675,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:676,1
    - Dst: RSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:676,1
    - Dst: PKCS11_RSA_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 680
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 680
    functionName: test_rsa_privkey_export
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - RSA_PrivateKey::get_n
    - RSA_PrivateKey::check_key
    - RSA_PrivateKey::get_q
    - RSA_PrivateKeyImportProperties::set_decrypt
    - RSA_PrivateKeyImportProperties::set_sensitive
    - RSA_PrivateKeyImportProperties::set_extractable
    - RSA_PrivateKeyImportProperties::set_exponent_2
    - RSA_PrivateKey::get_p
    - Test::Result::confirm
    - RSA_PrivateKeyImportProperties::set_exponent_1
    - Test::Result::test_success
    - RSA_PrivateKey::get_c
    - RSA_PrivateKey::get_d2
    - TestSession::session
    - RSA_PrivateKeyImportProperties::set_prime_1
    - RSA_PrivateKeyImportProperties::set_token
    - RSA_PrivateKeyImportProperties::set_private
    - RSA_PrivateKey::get_d
    - PKCS11_RSA_PrivateKey::check_key
    - RSA_PrivateKeyImportProperties::set_pub_exponent
    - RSA_PrivateKeyImportProperties::set_sign
    - RSA_PrivateKeyImportProperties::set_coefficient
    - Botan_Tests::Test::new_rng
    - RSA_PrivateKey::get_e
    - PKCS11_RSA_PrivateKey::export_key
    - RSA_PrivateKey::get_d1
    - RSA_PrivateKeyImportProperties::set_prime_2
    - PKCS11_RSA_PrivateKey::destroy
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_privkey_export()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:687,1
    - Dst: RSA_PrivateKey::get_n
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:693,1
    - Dst: RSA_PrivateKey::get_e
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:693,1
    - Dst: RSA_PublicKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:694,1
    - Dst: RSA_PublicKeyImportProperties::set_encrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:695,1
    - Dst: RSA_PublicKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:696,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:698,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:699,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:700,1
    - Dst: PKCS11_RSA_PublicKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:700,1
    - Dst: PKCS11_RSA_PublicKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 705
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 705
    functionName: test_rsa_pubkey_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - RSA_PrivateKey::get_n
    - PKCS11_RSA_PublicKey::check_key
    - PKCS11_RSA_PublicKey::destroy
    - RSA_PublicKeyImportProperties::set_private
    - RSA_PublicKeyImportProperties::set_encrypt
    - Test::Result::confirm
    - Botan_Tests::Test::new_rng
    - Test::Result::test_success
    - TestSession::session
    - RSA_PrivateKey::get_e
    - RSA_PublicKeyImportProperties::set_token
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_pubkey_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:712,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:713,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:714,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:715,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:717,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:718,1
    - Dst: PKCS11_RSA_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 723
    functionName: test_rsa_generate_private_key
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - RSA_PrivateKeyGenerationProperties::set_sign
    - RSA_PrivateKeyGenerationProperties::set_token
    - PKCS11_RSA_PrivateKey::destroy
    - TestSession::session
    - Test::Result::test_success
    - RSA_PrivateKeyGenerationProperties::set_private
    - RSA_PrivateKeyGenerationProperties::set_decrypt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_generate_private_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PublicKeyGenerationProperties::set_pub_exponent
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:727,1
    - Dst: RSA_PublicKeyGenerationProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:728,1
    - Dst: RSA_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:729,1
    - Dst: RSA_PublicKeyGenerationProperties::set_encrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:730,1
    - Dst: RSA_PublicKeyGenerationProperties::set_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:731,1
    - Dst: RSA_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:732,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:735,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:736,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:737,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:738,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:739,1
    - Dst: Botan::PKCS11::generate_rsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:741,1
    - Dst: session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' test_session'
    argTypes:
    - TestSession
    constantsTouched: []
    func_position:
      end: 742
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 742
    functionName: generate_rsa_keypair
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 1
    functionsReached:
    - RSA_PublicKeyGenerationProperties::set_verify
    - RSA_PublicKeyGenerationProperties::set_label
    - Botan::PKCS11::generate_rsa_keypair
    - session
    - RSA_PublicKeyGenerationProperties::set_token
    - RSA_PublicKeyGenerationProperties::set_private
    - RSA_PrivateKeyGenerationProperties::set_private
    - RSA_PrivateKeyGenerationProperties::set_sign
    - RSA_PrivateKeyGenerationProperties::set_token
    - RSA_PublicKeyGenerationProperties::set_pub_exponent
    - RSA_PrivateKeyGenerationProperties::set_label
    - RSA_PublicKeyGenerationProperties::set_encrypt
    - RSA_PrivateKeyGenerationProperties::set_decrypt
    linkageType: ''
    returnType: PKCS11_RSA_KeyPair
    signature: PKCS11_RSA_KeyPair generate_rsa_keypair(const TestSession& test_session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_rsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:748,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:749,1
    - Dst: PKCS11_RSA_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:751,1
    - Dst: PKCS11_RSA_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 755
    functionName: test_rsa_generate_key_pair
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_RSA_KeyPair::first::destroy
    - generate_rsa_keypair
    - Test::Result::test_success
    - PKCS11_RSA_KeyPair::second::destroy
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_generate_key_pair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_rsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:762,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:764,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:772,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:774,1
    - Dst: what
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:774,1
    - Dst: PKCS11_RSA_KeyPair::second::set_use_software_padding
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:780,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:782,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:790,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:790,1
    - Dst: what
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:790,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:793,1
    - Dst: std::iota
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:797,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:797,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:797,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:797,1
    - Dst: encrypt_and_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:798,1
    - Dst: encrypt_and_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:801,1
    - Dst: encrypt_and_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:802,1
    - Dst: encrypt_and_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:804,1
    - Dst: encrypt_and_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:805,1
    - Dst: PKCS11_RSA_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:807,1
    - Dst: PKCS11_RSA_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 811
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 811
    functionName: test_rsa_encrypt_decrypt
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - what
    - PKCS11_RSA_KeyPair::first::destroy
    - end
    - Test::Result::test_eq
    - static_cast<uint8_t>
    - generate_rsa_keypair
    - Test::Result::test_failure
    - Botan_Tests::Test::new_rng
    - PKCS11_RSA_KeyPair::second::set_use_software_padding
    - encrypt_and_decrypt
    - std::iota
    - Botan::PK_Decryptor_EME::decrypt
    - begin
    - Botan::PK_Encryptor_EME::encrypt
    - PKCS11_RSA_KeyPair::second::destroy
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_encrypt_decrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_rsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:818,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:820,1
    - Dst: std::iota
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:823,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:823,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:823,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:823,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:829,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:829,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:829,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:830,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:830,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:830,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:830,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:832,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:838,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:838,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:838,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:839,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:840,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:840,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:840,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:840,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:840,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:842,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:845,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:849,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:850,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:851,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:854,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:855,1
    - Dst: PKCS11_RSA_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:857,1
    - Dst: PKCS11_RSA_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 861
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 861
    functionName: test_rsa_sign_verify
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - PKCS11_RSA_KeyPair::first::destroy
    - end
    - Botan::PK_Signer::sign_message
    - Botan::PK_Verifier::update
    - Test::Result::test_eq
    - static_cast<uint8_t>
    - Botan::PK_Verifier::verify_message
    - sign_and_verify
    - generate_rsa_keypair
    - Botan_Tests::Test::new_rng
    - Botan::PK_Signer::update
    - std::iota
    - begin
    - PKCS11_RSA_KeyPair::second::destroy
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_sign_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:867,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:868,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:869,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:870,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:871,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:872,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:873,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 865
    functionDepth: 3
    functionLinenumber: 865
    functionLinenumberEnd: 876
    functionName: PKCS11_RSA_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - run_pkcs11_tests
    - STRING_AND_FUNCTION
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:887,1
    - Dst: _public_ec_point
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pk'
    argTypes:
    - Botan::EC_PublicKey
    constantsTouched: []
    func_position:
      end: 889
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 889
    functionName: encode_ec_point_in_octet_str
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - _public_ec_point
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encode_ec_point_in_octet_str(const Botan::EC_PublicKey&
      pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:899,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:902,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:903,1
    - Dst: ECDSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:903,1
    - Dst: ECDSA_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:906,1
    - Dst: ECDSA_PrivateKey::private_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:906,1
    - Dst: EC_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:907,1
    - Dst: EC_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:908,1
    - Dst: EC_PrivateKeyImportProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:909,1
    - Dst: EC_PrivateKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:913,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:915,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:916,1
    - Dst: PKCS11_ECDSA_PrivateKey::set_public_point
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:917,1
    - Dst: ECDSA_PrivateKey::_public_ec_point
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:917,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:918,1
    - Dst: PKCS11_ECDSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:918,1
    - Dst: PKCS11_ECDSA_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 922
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 922
    functionName: test_ecdsa_privkey_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - ECDSA_PrivateKey::DER_domain
    - ECDSA_PrivateKey::_public_ec_point
    - EC_PrivateKeyImportProperties::set_sign
    - PKCS11_ECDSA_PrivateKey::set_public_point
    - PKCS11_ECDSA_PrivateKey::destroy
    - ECDSA_PrivateKey::private_value
    - Test::Result::confirm
    - EC_PrivateKeyImportProperties::set_label
    - ECDSA_PrivateKey::check_key
    - PKCS11_ECDSA_PrivateKey::check_key
    - Botan_Tests::Test::new_rng
    - EC_PrivateKeyImportProperties::set_token
    - Test::Result::test_success
    - TestSession::session
    - EC_PrivateKeyImportProperties::set_private
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_privkey_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:929,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:932,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:934,1
    - Dst: ECDSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:934,1
    - Dst: ECDSA_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:936,1
    - Dst: ECDSA_PrivateKey::private_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:936,1
    - Dst: EC_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:937,1
    - Dst: EC_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:938,1
    - Dst: EC_PrivateKeyImportProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:939,1
    - Dst: EC_PrivateKeyImportProperties::set_extractable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:940,1
    - Dst: EC_PrivateKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:944,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:946,1
    - Dst: PKCS11_ECDSA_PrivateKey::set_public_point
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:947,1
    - Dst: ECDSA_PrivateKey::_public_ec_point
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:947,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:948,1
    - Dst: PKCS11_ECDSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:948,1
    - Dst: PKCS11_ECDSA_PrivateKey::export_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:950,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:951,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:952,1
    - Dst: ECDSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:952,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:953,1
    - Dst: ECDSA_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:953,1
    - Dst: ECDSA_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:953,1
    - Dst: PKCS11_ECDSA_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 957
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 957
    functionName: test_ecdsa_privkey_export
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - EC_PrivateKeyImportProperties::set_sign
    - PKCS11_ECDSA_PrivateKey::set_public_point
    - ECDSA_PrivateKey::private_key_bits
    - ECDSA_PrivateKey::DER_domain
    - ECDSA_PrivateKey::private_value
    - Test::Result::test_eq
    - Test::Result::confirm
    - ECDSA_PrivateKey::check_key
    - EC_PrivateKeyImportProperties::set_token
    - Test::Result::test_success
    - TestSession::session
    - ECDSA_PrivateKey::_public_ec_point
    - PKCS11_ECDSA_PrivateKey::check_key
    - Botan_Tests::Test::new_rng
    - EC_PrivateKeyImportProperties::set_private
    - EC_PrivateKeyImportProperties::set_extractable
    - EC_PrivateKeyImportProperties::set_label
    - PKCS11_ECDSA_PrivateKey::export_key
    - PKCS11_ECDSA_PrivateKey::destroy
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_privkey_export()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:964,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:967,1
    - Dst: encode_ec_point_in_octet_str
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:969,1
    - Dst: ECDSA_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:972,1
    - Dst: EC_PublicKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:973,1
    - Dst: EC_PublicKeyImportProperties::set_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:974,1
    - Dst: EC_PublicKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:975,1
    - Dst: EC_PublicKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:979,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:981,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:982,1
    - Dst: PKCS11_ECDSA_PublicKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 986
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 986
    functionName: test_ecdsa_pubkey_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_ECDSA_PublicKey::destroy
    - ECDSA_PrivateKey::DER_domain
    - EC_PublicKeyImportProperties::set_token
    - Botan_Tests::Test::new_rng
    - encode_ec_point_in_octet_str
    - EC_PublicKeyImportProperties::set_verify
    - TestSession::session
    - EC_PublicKeyImportProperties::set_label
    - Test::Result::test_success
    - Botan::EC_Group::from_name
    - EC_PublicKeyImportProperties::set_private
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_pubkey_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:993,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:996,1
    - Dst: encode_ec_point_in_octet_str
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:998,1
    - Dst: ECDSA_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1001,1
    - Dst: EC_PublicKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1002,1
    - Dst: EC_PublicKeyImportProperties::set_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1003,1
    - Dst: EC_PublicKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1004,1
    - Dst: EC_PublicKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1008,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1010,1
    - Dst: PKCS11_ECDSA_PublicKey::export_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1012,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1013,1
    - Dst: PKCS11_ECDSA_PublicKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1018
    functionName: test_ecdsa_pubkey_export
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_ECDSA_PublicKey::destroy
    - ECDSA_PrivateKey::DER_domain
    - PKCS11_ECDSA_PublicKey::export_key
    - EC_PublicKeyImportProperties::set_token
    - Botan_Tests::Test::new_rng
    - encode_ec_point_in_octet_str
    - EC_PublicKeyImportProperties::set_verify
    - TestSession::session
    - EC_PublicKeyImportProperties::set_label
    - Test::Result::test_success
    - Botan::EC_Group::from_name
    - EC_PublicKeyImportProperties::set_private
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_pubkey_export()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1025,1
    - Dst: EC_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1026,1
    - Dst: EC_PrivateKeyGenerationProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1027,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1029,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1029,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1030,1
    - Dst: PKCS11_ECDSA_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1035
    functionName: test_ecdsa_generate_private_key
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - EC_PrivateKeyGenerationProperties::set_private
    - PKCS11_ECDSA_PrivateKey::destroy
    - EC_PrivateKeyGenerationProperties::set_sign
    - EC_PrivateKeyGenerationProperties::set_token
    - Test::Result::test_success
    - TestSession::session
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_generate_private_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1040,1
    - Dst: EC_PublicKeyGenerationProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1041,1
    - Dst: EC_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1042,1
    - Dst: EC_PublicKeyGenerationProperties::set_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1043,1
    - Dst: EC_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1044,1
    - Dst: EC_PublicKeyGenerationProperties::set_modifiable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1045,1
    - Dst: EC_PrivateKeyGenerationProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1048,1
    - Dst: EC_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1049,1
    - Dst: EC_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1050,1
    - Dst: EC_PrivateKeyGenerationProperties::set_sensitive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1051,1
    - Dst: EC_PrivateKeyGenerationProperties::set_extractable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1052,1
    - Dst: EC_PrivateKeyGenerationProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1053,1
    - Dst: EC_PrivateKeyGenerationProperties::set_modifiable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1054,1
    - Dst: Botan::PKCS11::generate_ecdsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1056,1
    - Dst: session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' test_session'
    - ' curve'
    - enc
    argTypes:
    - TestSession
    - std::string
    - EC_Group_Encoding
    constantsTouched: []
    func_position:
      end: 1057
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1057
    functionName: generate_ecdsa_keypair
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::generate_ecdsa_keypair
    - EC_PrivateKeyGenerationProperties::set_private
    - EC_PublicKeyGenerationProperties::set_verify
    - EC_PublicKeyGenerationProperties::set_modifiable
    - EC_PublicKeyGenerationProperties::set_token
    - EC_PrivateKeyGenerationProperties::set_sign
    - EC_PrivateKeyGenerationProperties::set_modifiable
    - Botan::EC_Group::from_name
    - EC_PrivateKeyGenerationProperties::set_token
    - EC_PrivateKeyGenerationProperties::set_extractable
    - EC_PublicKeyGenerationProperties::set_private
    - EC_PrivateKeyGenerationProperties::set_label
    - session
    - EC_PrivateKeyGenerationProperties::set_sensitive
    - EC_PublicKeyGenerationProperties::set_label
    linkageType: ''
    returnType: PKCS11_ECDSA_KeyPair
    signature: "PKCS11_ECDSA_KeyPair generate_ecdsa_keypair(const TestSession& test_session,\n
      \                                           const std::string& curve,\n                                            EC_Group_Encoding
      enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1064,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1065,1
    - Dst: generate_ecdsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1068,1
    - Dst: PKCS11_ECDSA_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1070,1
    - Dst: PKCS11_ECDSA_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1071,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1076
    functionName: test_ecdsa_generate_keypair
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_ECDSA_KeyPair::second::destroy
    - generate_ecdsa_keypair
    - Test::Result::test_success
    - PKCS11_ECDSA_KeyPair::first::destroy
    - std::vector::push_back
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_generate_keypair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1083,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1084,1
    - Dst: TestSession::slot
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1086,1
    - Dst: get_slot_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1087,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1088,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1090,1
    - Dst: generate_ecdsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1094,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1100,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1112,1
    - Dst: std::string::find
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1117,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1118,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1119,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1123,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1125,1
    - Dst: PKCS11_ECDSA_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1128,1
    - Dst: PKCS11_ECDSA_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - enc
    - ' test_name'
    argTypes:
    - EC_Group_Encoding
    - std::string
    constantsTouched: []
    func_position:
      end: 1133
      start: 1078
    functionDepth: 2
    functionLinenumber: 1078
    functionLinenumberEnd: 1133
    functionName: test_ecdsa_sign_verify_core
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - TestSession::slot
    - get_slot_info
    - PKCS11_ECDSA_KeyPair::second::destroy
    - Botan::PK_Signer::sign_message
    - Test::Result::test_eq
    - std::string::find
    - sign_and_verify
    - generate_ecdsa_keypair
    - reinterpret_cast<char*>
    - Botan_Tests::Test::new_rng
    - PKCS11_ECDSA_KeyPair::first::destroy
    - std::vector::push_back
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_sign_verify_core(EC_Group_Encoding enc, const
      std::string& test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_sign_verify_core
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 3
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: test_ecdsa_sign_verify
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - test_ecdsa_sign_verify_core
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_sign_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_sign_verify_core
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1140
    functionDepth: 3
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    functionName: test_ecdsa_curve_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - test_ecdsa_sign_verify_core
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_curve_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1149,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1150,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1151,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1152,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1153,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1154,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1155,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1156,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1147
    functionDepth: 3
    functionLinenumber: 1147
    functionLinenumberEnd: 1159
    functionName: PKCS11_ECDSA_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - run_pkcs11_tests
    - STRING_AND_FUNCTION
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1175,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1178,1
    - Dst: ECDH_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1181,1
    - Dst: ECDH_PrivateKey::private_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1181,1
    - Dst: EC_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1182,1
    - Dst: EC_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1183,1
    - Dst: EC_PrivateKeyImportProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1184,1
    - Dst: EC_PrivateKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1188,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1190,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1191,1
    - Dst: PKCS11_ECDH_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1195
    functionName: test_ecdh_privkey_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_ECDH_PrivateKey::destroy
    - ECDH_PrivateKey::private_value
    - EC_PrivateKeyImportProperties::set_label
    - ECDH_PrivateKey::DER_domain
    - EC_PrivateKeyImportProperties::set_token
    - Botan_Tests::Test::new_rng
    - Test::Result::test_success
    - TestSession::session
    - EC_PrivateKeyImportProperties::set_private
    - EC_PrivateKeyImportProperties::set_derive
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_privkey_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1202,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1205,1
    - Dst: ECDH_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1208,1
    - Dst: ECDH_PrivateKey::private_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1208,1
    - Dst: EC_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1209,1
    - Dst: EC_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1210,1
    - Dst: EC_PrivateKeyImportProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1211,1
    - Dst: EC_PrivateKeyImportProperties::set_extractable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1212,1
    - Dst: EC_PrivateKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1216,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1218,1
    - Dst: PKCS11_ECDH_PrivateKey::export_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1220,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1221,1
    - Dst: PKCS11_ECDH_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1225
    functionName: test_ecdh_privkey_export
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_ECDH_PrivateKey::destroy
    - ECDH_PrivateKey::private_value
    - EC_PrivateKeyImportProperties::set_extractable
    - EC_PrivateKeyImportProperties::set_label
    - ECDH_PrivateKey::DER_domain
    - PKCS11_ECDH_PrivateKey::export_key
    - EC_PrivateKeyImportProperties::set_token
    - Botan_Tests::Test::new_rng
    - Test::Result::test_success
    - TestSession::session
    - EC_PrivateKeyImportProperties::set_private
    - EC_PrivateKeyImportProperties::set_derive
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_privkey_export()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1232,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1235,1
    - Dst: encode_ec_point_in_octet_str
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1237,1
    - Dst: ECDH_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1240,1
    - Dst: EC_PublicKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1241,1
    - Dst: EC_PublicKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1242,1
    - Dst: EC_PublicKeyImportProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1243,1
    - Dst: EC_PublicKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1247,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1249,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1250,1
    - Dst: PKCS11_ECDH_PublicKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1254
    functionName: test_ecdh_pubkey_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_ECDH_PublicKey::destroy
    - EC_PublicKeyImportProperties::set_token
    - ECDH_PrivateKey::DER_domain
    - Botan_Tests::Test::new_rng
    - encode_ec_point_in_octet_str
    - Test::Result::test_success
    - TestSession::session
    - EC_PublicKeyImportProperties::set_label
    - EC_PublicKeyImportProperties::set_derive
    - Botan::EC_Group::from_name
    - EC_PublicKeyImportProperties::set_private
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_pubkey_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1261,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1264,1
    - Dst: encode_ec_point_in_octet_str
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1266,1
    - Dst: ECDH_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1269,1
    - Dst: EC_PublicKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1270,1
    - Dst: EC_PublicKeyImportProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1271,1
    - Dst: EC_PublicKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1272,1
    - Dst: EC_PublicKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1276,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1278,1
    - Dst: PKCS11_ECDH_PublicKey::export_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1280,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1281,1
    - Dst: PKCS11_ECDH_PublicKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1286
    functionName: test_ecdh_pubkey_export
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_ECDH_PublicKey::export_key
    - PKCS11_ECDH_PublicKey::destroy
    - EC_PublicKeyImportProperties::set_token
    - ECDH_PrivateKey::DER_domain
    - Botan_Tests::Test::new_rng
    - encode_ec_point_in_octet_str
    - Test::Result::test_success
    - TestSession::session
    - EC_PublicKeyImportProperties::set_label
    - EC_PublicKeyImportProperties::set_derive
    - Botan::EC_Group::from_name
    - EC_PublicKeyImportProperties::set_private
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_pubkey_export()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1293,1
    - Dst: EC_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1294,1
    - Dst: EC_PrivateKeyGenerationProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1295,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1297,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1297,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1298,1
    - Dst: PKCS11_ECDH_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1303
    functionName: test_ecdh_generate_private_key
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - EC_PrivateKeyGenerationProperties::set_private
    - PKCS11_ECDH_PrivateKey::destroy
    - EC_PrivateKeyGenerationProperties::set_token
    - EC_PrivateKeyGenerationProperties::set_derive
    - Test::Result::test_success
    - TestSession::session
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_generate_private_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1306,1
    - Dst: EC_PublicKeyGenerationProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1307,1
    - Dst: EC_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1308,1
    - Dst: EC_PublicKeyGenerationProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1309,1
    - Dst: EC_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1310,1
    - Dst: EC_PublicKeyGenerationProperties::set_modifiable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1311,1
    - Dst: EC_PrivateKeyGenerationProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1314,1
    - Dst: EC_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1315,1
    - Dst: EC_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1316,1
    - Dst: EC_PrivateKeyGenerationProperties::set_sensitive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1317,1
    - Dst: EC_PrivateKeyGenerationProperties::set_extractable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1318,1
    - Dst: EC_PrivateKeyGenerationProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1319,1
    - Dst: EC_PrivateKeyGenerationProperties::set_modifiable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1320,1
    - Dst: Botan::PKCS11::generate_ecdh_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1322,1
    - Dst: session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ' test_session'
    - ' label'
    argTypes:
    - TestSession
    - std::string
    constantsTouched: []
    func_position:
      end: 1323
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1323
    functionName: generate_ecdh_keypair
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 1
    functionsReached:
    - EC_PrivateKeyGenerationProperties::set_private
    - EC_PublicKeyGenerationProperties::set_modifiable
    - EC_PublicKeyGenerationProperties::set_token
    - EC_PrivateKeyGenerationProperties::set_modifiable
    - Botan::EC_Group::from_name
    - EC_PrivateKeyGenerationProperties::set_token
    - EC_PrivateKeyGenerationProperties::set_extractable
    - EC_PublicKeyGenerationProperties::set_private
    - EC_PublicKeyGenerationProperties::set_derive
    - EC_PrivateKeyGenerationProperties::set_label
    - EC_PrivateKeyGenerationProperties::set_derive
    - Botan::PKCS11::generate_ecdh_keypair
    - session
    - EC_PrivateKeyGenerationProperties::set_sensitive
    - EC_PublicKeyGenerationProperties::set_label
    linkageType: ''
    returnType: PKCS11_ECDH_KeyPair
    signature: PKCS11_ECDH_KeyPair generate_ecdh_keypair(const TestSession& test_session,
      const std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_ecdh_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1329,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1330,1
    - Dst: PKCS11_ECDH_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1332,1
    - Dst: PKCS11_ECDH_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1325
    functionDepth: 2
    functionLinenumber: 1325
    functionLinenumberEnd: 1336
    functionName: test_ecdh_generate_keypair
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - generate_ecdh_keypair
    - PKCS11_ECDH_KeyPair::second::destroy
    - Test::Result::test_success
    - PKCS11_ECDH_KeyPair::first::destroy
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_generate_keypair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_ecdh_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1342,1
    - Dst: generate_ecdh_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1343,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1345,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1351,1
    - Dst: PKCS11_ECDH_KeyPair::first::raw_public_key_bits
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1351,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1352,1
    - Dst: PKCS11_ECDH_KeyPair::first::raw_public_key_bits
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1352,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1355,1
    - Dst: PKCS11_ECDH_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1357,1
    - Dst: PKCS11_ECDH_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1358,1
    - Dst: PKCS11_ECDH_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1359,1
    - Dst: PKCS11_ECDH_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1338
    functionDepth: 2
    functionLinenumber: 1338
    functionLinenumberEnd: 1363
    functionName: test_ecdh_derive
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_ECDH_KeyPair::second::destroy
    - PKCS11_ECDH_KeyPair::first::raw_public_key_bits
    - PKCS11_ECDH_KeyPair::first::destroy
    - Botan::PK_Key_Agreement::derive_key
    - Test::Result::test_eq
    - generate_ecdh_keypair
    - Botan_Tests::Test::new_rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_derive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1369,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1370,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1371,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1372,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1373,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1374,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1375,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1367
    functionDepth: 3
    functionLinenumber: 1367
    functionLinenumberEnd: 1378
    functionName: PKCS11_ECDH_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - run_pkcs11_tests
    - STRING_AND_FUNCTION
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1391,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1392,1
    - Dst: PKCS11_RNG::is_seeded
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1392,1
    - Dst: PKCS11_RNG::randomize
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1395,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1395,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1395,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1396,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1399
    functionName: test_rng_generate_random
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - PKCS11_RNG::randomize
    - std::vector<uint8_t>
    - PKCS11_RNG::is_seeded
    - Test::Result::confirm
    - Test::Result::test_ne
    - TestSession::session
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rng_generate_random()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1405,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1407,1
    - Dst: PKCS11_RNG::is_seeded
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1407,1
    - Dst: PKCS11_RNG::clear
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1408,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1409,1
    - Dst: PKCS11_RNG::is_seeded
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1409,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1412,1
    - Dst: PKCS11_RNG::reseed
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1413,1
    - Dst: Botan::Entropy_Sources::global_sources
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1413,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1413,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1417,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1418,1
    - Dst: PKCS11_RNG::add_entropy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1419,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1419,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1419,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1423
    functionName: test_rng_add_entropy
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_RNG::add_entropy
    - auto::random_vec
    - Test::Result::test_eq
    - PKCS11_RNG::is_seeded
    - Botan::Entropy_Sources::global_sources
    - auto::size
    - Test::Result::confirm
    - PKCS11_RNG::reseed
    - auto::data
    - Botan_Tests::Test::new_rng
    - Test::Result::test_success
    - Botan_CLI::Timer::milliseconds
    - TestSession::session
    - PKCS11_RNG::clear
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rng_add_entropy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1431,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1432,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1435,1
    - Dst: HMAC_DRBG::is_seeded
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1435,1
    - Dst: HMAC_DRBG::random_vec
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1436,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1437,1
    - Dst: HMAC_DRBG::is_seeded
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1437,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1440,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1440,1
    - Dst: HMAC_DRBG::add_entropy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1441,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1441,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1441,1
    - Dst: HMAC_DRBG::random_vec
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1443,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1444,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1427
    functionDepth: 1
    functionLinenumber: 1427
    functionLinenumberEnd: 1447
    functionName: test_pkcs11_hmac_drbg
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - HMAC_DRBG::is_seeded
    - std::string::begin
    - Test::Result::test_eq
    - std::vector<uint8_t>
    - HMAC_DRBG::add_entropy
    - HMAC_DRBG::random_vec
    - Test::Result::test_ne
    - std::string::end
    - TestSession::session
    - Botan::MessageAuthenticationCode::create
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pkcs11_hmac_drbg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1455,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1457,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1458,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1461,1
    - Dst: BOTAN_REGISTER_SERIALIZED_TEST
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1465,1
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1473,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1474,1
    - Dst: Botan::PKCS11::set_pin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1476,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1476,1
    - Dst: TEST_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1476,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1477,1
    - Dst: Botan::PKCS11::set_pin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1479,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1479,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1479,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1480,1
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1489,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1490,1
    - Dst: Botan::PKCS11::initialize_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1492,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1492,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1492,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1493,1
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1502,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1503,1
    - Dst: Botan::PKCS11::change_pin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1505,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1505,1
    - Dst: TEST_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1505,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1506,1
    - Dst: Botan::PKCS11::change_pin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1508,1
    - Dst: TEST_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1508,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1508,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1509,1
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1518,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1519,1
    - Dst: Botan::PKCS11::change_so_pin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1521,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1521,1
    - Dst: TEST_SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1521,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1522,1
    - Dst: Botan::PKCS11::change_so_pin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1524,1
    - Dst: TEST_SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1524,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1524,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1525,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1534,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1535,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1536,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1537,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1539,1
    - Dst: BOTAN_REGISTER_SERIALIZED_TEST
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1543,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1555,1
    - Dst: X509_CertificateProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1557,1
    - Dst: X509_CertificateProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1558,1
    - Dst: X509_CertificateProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1559,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1561,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1562,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1564,1
    - Dst: PKCS11_X509_Certificate::handle
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1564,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1565,1
    - Dst: PKCS11_X509_Certificate::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1567,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1577,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1579,1
    - Dst: BOTAN_REGISTER_SERIALIZED_TEST
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1452
    functionDepth: 3
    functionLinenumber: 1452
    functionLinenumberEnd: 1591
    functionName: run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 24
    functionsReached:
    - STRING_AND_FUNCTION
    - X509_CertificateProperties::set_token
    - Botan_Tests::Test::data_file
    - TEST_PIN
    - PKCS11_X509_Certificate::handle
    - Test::Result::test_eq
    - BOTAN_REGISTER_SERIALIZED_TEST
    - run_pkcs11_tests
    - Test::Result::test_success
    - Botan::PKCS11::Slot::get_available_slots
    - TestSession::session
    - std::vector::at
    - Botan::PKCS11::change_so_pin
    - Botan::PKCS11::initialize_token
    - Botan::PKCS11::set_pin
    - SO_PIN
    - X509_CertificateProperties::set_label
    - Botan::PKCS11::change_pin
    - PKCS11_X509_Certificate::destroy
    - PIN
    - TEST_SO_PIN
    - X509_CertificateProperties::set_private
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::FFI_Test::name
      Src: /src/botan/src/tests/test_ffi.cpp:66,1
    - Dst: botan_rng_init
      Src: /src/botan/src/tests/test_ffi.cpp:69,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ffi.cpp:70,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_ffi.cpp:74,1
    - Dst: ffi_test
      Src: /src/botan/src/tests/test_ffi.cpp:75,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_ffi.cpp:76,1
    - Dst: botan_rng_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: Botan_Tests::FFI_Test::run
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - ffi_test
    - Botan_Tests::FFI_Test::name
    - botan_rng_init
    - Test::Result::test_failure
    - botan_rng_destroy
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:91,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:96,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:96,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:99,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:103,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:104,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:104,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:108,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:108,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:109,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:110,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:117,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:122,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:124,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:124,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:126,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_ffi.cpp:128,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:128,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:132,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:132,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:132,1
    - Dst: botan_privkey_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:133,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:138,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:142,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:143,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:143,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:145,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:145,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:145,1
    - Dst: botan_privkey_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:146,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:153,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:157,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:158,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:160,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:162,1
    - Dst: botan_privkey_load
      Src: /src/botan/src/tests/test_ffi.cpp:165,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:165,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:165,1
    - Dst: botan_privkey_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:166,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:169,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:173,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:174,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:176,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:178,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:179,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:195,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:197,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:203,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:204,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:208,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:211,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:214,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:216,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:216,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:216,1
    - Dst: botan_privkey_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:217,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:222,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_ffi.cpp:223,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:226,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:230,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 4
    argNames:
    - ' result'
    - pub
    - priv
    - rng
    argTypes:
    - Test::Result
    - botan_pubkey_t
    - botan_privkey_t
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 231
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 231
    functionName: Botan_Tests::ffi_test_pubkey_export
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - test_gte
    - TEST_FFI_OK
    - std::string::c_str
    - botan_privkey_destroy
    - botan_privkey_load
    - test_eq
    - TEST_FFI_RC
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: void ffi_test_pubkey_export(Test::Result& result, botan_pubkey_t pub,
      botan_privkey_t priv, botan_rng_t rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: Botan_Tests::FFI_Utils_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:238,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:239,1
    - Dst: botan_ffi_api_version
      Src: /src/botan/src/tests/test_ffi.cpp:239,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:240,1
    - Dst: botan_version_major
      Src: /src/botan/src/tests/test_ffi.cpp:240,1
    - Dst: Botan::version_major
      Src: /src/botan/src/tests/test_ffi.cpp:240,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:241,1
    - Dst: botan_version_minor
      Src: /src/botan/src/tests/test_ffi.cpp:241,1
    - Dst: Botan::version_minor
      Src: /src/botan/src/tests/test_ffi.cpp:241,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:242,1
    - Dst: botan_version_patch
      Src: /src/botan/src/tests/test_ffi.cpp:242,1
    - Dst: Botan::version_patch
      Src: /src/botan/src/tests/test_ffi.cpp:242,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:243,1
    - Dst: botan_version_string
      Src: /src/botan/src/tests/test_ffi.cpp:243,1
    - Dst: Botan::version_cstr
      Src: /src/botan/src/tests/test_ffi.cpp:243,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:244,1
    - Dst: botan_version_datestamp
      Src: /src/botan/src/tests/test_ffi.cpp:244,1
    - Dst: Botan::version_datestamp
      Src: /src/botan/src/tests/test_ffi.cpp:244,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:245,1
    - Dst: botan_ffi_supports_api
      Src: /src/botan/src/tests/test_ffi.cpp:245,1
    - Dst: botan_ffi_api_version
      Src: /src/botan/src/tests/test_ffi.cpp:245,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:247,1
    - Dst: botan_ffi_api_version
      Src: /src/botan/src/tests/test_ffi.cpp:248,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:251,1
    - Dst: botan_ffi_supports_api
      Src: /src/botan/src/tests/test_ffi.cpp:251,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:252,1
    - Dst: botan_ffi_supports_api
      Src: /src/botan/src/tests/test_ffi.cpp:252,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:253,1
    - Dst: botan_ffi_supports_api
      Src: /src/botan/src/tests/test_ffi.cpp:253,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:254,1
    - Dst: botan_ffi_supports_api
      Src: /src/botan/src/tests/test_ffi.cpp:254,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:256,1
    - Dst: botan_ffi_supports_api
      Src: /src/botan/src/tests/test_ffi.cpp:256,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:261,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:261,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:261,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:261,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:262,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:262,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:262,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:262,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:265,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:265,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:265,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:266,1
    - Dst: std::string::resize
      Src: /src/botan/src/tests/test_ffi.cpp:273,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:273,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:274,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:274,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:274,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:275,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:277,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:277,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:277,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 279
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 279
    functionName: Botan_Tests::FFI_Utils_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan::version_cstr
    - botan_version_minor
    - test_eq
    - Botan::version_major
    - test_is_eq
    - botan_version_major
    - confirm
    - std::string::resize
    - std::vector::data
    - std::vector::size
    - botan_ffi_api_version
    - TEST_FFI_OK
    - Botan::version_datestamp
    - Botan::version_patch
    - Botan::version_minor
    - botan_version_patch
    - botan_version_datestamp
    - botan_ffi_supports_api
    - TEST_FFI_RC
    - botan_version_string
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: Botan_Tests::FFI_RNG_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:298,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:300,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:301,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:304,1
    - Dst: botan_rng_init
      Src: /src/botan/src/tests/test_ffi.cpp:308,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:309,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:312,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:313,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:317,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:317,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:317,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:318,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:320,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:322,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:324,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:324,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:324,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:326,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:329,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:330,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:330,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:330,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:331,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:333,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:336,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:340,1
    - Dst: static_cast<size_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:348,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_ffi.cpp:353,1
    - Dst: static_cast<size_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:354,1
    - Dst: static_cast<size_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:358,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:360,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/tests/test_ffi.cpp:363,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:363,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:363,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:364,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:364,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:364,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:365,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:366,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:367,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:369,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:370,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:372,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:373,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:376,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:377,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:379,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:380,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:385,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:387,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:387,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:387,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:388,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_ffi.cpp:392,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_ffi.cpp:393,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_ffi.cpp:394,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:395,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:400,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/tests/test_ffi.cpp:401,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:401,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:401,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:403,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:403,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:403,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:404,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:406,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:409,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:410,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:414,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:417,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/tests/test_ffi.cpp:418,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:418,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:418,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:420,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:420,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:420,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:421,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:423,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:426,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:427,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:430,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:434,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:434,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:434,1
    - Dst: botan_tpm2_supports_crypto_backend
      Src: /src/botan/src/tests/test_ffi.cpp:435,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:436,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:437,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:439,1
    - Dst: tpm2_test_rng
      Src: /src/botan/src/tests/test_ffi.cpp:442,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:443,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:450,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:450,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:450,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:451,1
    - Dst: botan_tpm2_supports_crypto_backend
      Src: /src/botan/src/tests/test_ffi.cpp:455,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:456,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:457,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:459,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:463,1
    - Dst: tpm2_test_rng
      Src: /src/botan/src/tests/test_ffi.cpp:464,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:465,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:469,1
    - Dst: Esys_Finalize
      Src: /src/botan/src/tests/test_ffi.cpp:472,1
    - Dst: Tss2_TctiLdr_Finalize
      Src: /src/botan/src/tests/test_ffi.cpp:474,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:479,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:480,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:481,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:482,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 115
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 483
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 483
    functionName: Botan_Tests::FFI_RNG_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - tpm2_test_rng
    - test_eq
    - test_note
    - TEST_FFI_INIT
    - botan_tpm2_supports_crypto_backend
    - static_cast<size_t*>
    - confirm
    - std::vector::data
    - std::vector::size
    - BOTAN_UNUSED
    - TEST_FFI_OK
    - Tss2_TctiLdr_Finalize
    - Botan::clear_mem
    - Esys_Finalize
    - auto::c_str
    - Botan_Tests::test_encoding_options
    - TEST_FFI_FAIL
    - auto::empty
    - botan_rng_init
    - TEST_FFI_RC
    - REQUIRE_FFI_OK
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: Botan_Tests::FFI_RSA_Cert_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:492,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:492,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:493,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:494,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:495,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:496,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:497,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:500,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:501,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:503,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 506
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 506
    functionName: Botan_Tests::FFI_RSA_Cert_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - TEST_FFI_RC
    - TEST_FFI_OK
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: Botan_Tests::FFI_ZFEC_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:558,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:558,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:567,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_ffi.cpp:567,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:571,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:572,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:572,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:572,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:577,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:588,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 594
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 594
    functionName: Botan_Tests::FFI_ZFEC_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - TEST_FFI_FAIL
    - std::to_string
    - test_note
    - TEST_FFI_RC
    - REQUIRE_FFI_OK
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 599
    functionName: Botan_Tests::FFI_CRL_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:622,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:622,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:627,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:627,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:630,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:630,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:631,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:632,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:635,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:635,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:636,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:637,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:638,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:640,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 642
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 642
    functionName: Botan_Tests::FFI_CRL_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - Botan_Tests::Test::data_file
    - TEST_FFI_RC
    - reinterpret_cast<const uint8_t*>
    - REQUIRE_FFI_OK
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 647
    functionName: Botan_Tests::FFI_Cert_Validation_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:653,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:653,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:659,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:659,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:660,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:660,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:662,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:663,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:664,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:664,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:666,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:667,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:668,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:669,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:673,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:673,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:674,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:674,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:677,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:678,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:679,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:680,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:683,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:684,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:685,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:685,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:687,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:690,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:691,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:692,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:696,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:696,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:697,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:699,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:700,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:700,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:705,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:705,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:706,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:706,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:707,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:707,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:709,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:711,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:712,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:713,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:715,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:716,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:717,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:718,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:719,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:720,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:721,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:722,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 724
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 724
    functionName: Botan_Tests::FFI_Cert_Validation_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - Botan_Tests::Test::data_file
    - botan_x509_cert_validation_status
    - test_eq
    - TEST_FFI_RC
    - confirm
    - REQUIRE_FFI_OK
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 729
    functionName: Botan_Tests::FFI_ECDSA_Certificate_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:733,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:733,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:735,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:739,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:743,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:744,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:747,1
    - Dst: std::string::resize
      Src: /src/botan/src/tests/test_ffi.cpp:750,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:751,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:752,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:755,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:756,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:759,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:760,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:763,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:768,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:768,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:769,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:769,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:770,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_ffi.cpp:770,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:773,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:778,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:778,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:779,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_ffi.cpp:781,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:781,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:785,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:789,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:792,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:797,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:797,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:798,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_ffi.cpp:799,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:799,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:799,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:803,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:808,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:808,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:812,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:813,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:814,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:819,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:824,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:824,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:825,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_ffi.cpp:825,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:825,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:828,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:832,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:833,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:833,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:834,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_ffi.cpp:834,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:834,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:837,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:841,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:843,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:844,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:845,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 849
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 849
    functionName: Botan_Tests::FFI_ECDSA_Certificate_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - std::vector::size
    - reinterpret_cast<const char*>
    - TEST_FFI_OK
    - Botan_Tests::Test::data_file
    - test_eq
    - TEST_FFI_RC
    - std::vector::resize
    - confirm
    - std::string::resize
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 854
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 854
    functionName: Botan_Tests::FFI_PKCS_Hashid_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:860,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:860,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:861,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:863,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:864,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:867,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 871
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 871
    functionName: Botan_Tests::FFI_PKCS_Hashid_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - test_eq
    - TEST_FFI_RC
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: Botan_Tests::FFI_CBC_Cipher_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:881,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:884,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:885,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:886,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:890,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:891,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:892,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:893,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:902,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:902,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:903,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:903,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:910,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:911,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:912,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:914,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:916,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:918,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:918,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:918,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:919,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:919,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:919,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:920,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:923,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:924,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:926,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:927,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:929,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:931,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:931,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:931,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:932,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:932,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:932,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:933,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:936,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:937,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:939,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:940,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:943,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:944,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:946,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:948,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:948,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:951,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:953,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:954,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:955,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:957,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:960,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:962,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:962,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:962,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:963,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:963,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:963,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:964,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:967,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:968,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:970,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:971,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:974,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:976,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:978,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 984
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 984
    functionName: Botan_Tests::FFI_CBC_Cipher_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - std::vector::data
    - TEST_FFI_OK
    - test_int_eq
    - test_eq
    - Botan::hex_decode
    - TEST_FFI_RC
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 989
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 989
    functionName: Botan_Tests::FFI_GCM_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:994,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:997,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:998,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1001,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1002,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1003,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:1003,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1013,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1014,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1016,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1019,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1020,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1021,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1023,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1024,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1026,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1027,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1029,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1031,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1033,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1034,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1035,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1038,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1041,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1042,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1043,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1045,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1047,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1054,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1054,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1054,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1057,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1057,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1057,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1058,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1060,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1060,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1060,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1061,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1064,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1065,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1067,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1068,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1070,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1072,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1072,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1072,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1073,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1073,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1073,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1074,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1074,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1074,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1075,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1078,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1079,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1081,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1082,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:1085,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1086,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1088,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1089,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1091,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1092,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1094,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1098,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1098,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1098,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1099,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1099,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1099,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1100,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1100,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1100,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1101,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1104,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1105,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1107,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1108,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1111,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1111,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1112,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1112,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1113,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1115,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1121
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1121
    functionName: Botan_Tests::FFI_GCM_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - std::vector::data
    - TEST_FFI_FAIL
    - TEST_FFI_OK
    - test_int_eq
    - test_eq
    - Botan::hex_decode
    - std::string
    - TEST_FFI_RC
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1126
    functionName: Botan_Tests::FFI_ChaCha20Poly1305_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1131,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1134,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_ffi.cpp:1134,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1135,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_ffi.cpp:1137,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1138,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_ffi.cpp:1138,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1139,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1140,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:1140,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_ffi.cpp:1140,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1150,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1151,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1153,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1156,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1157,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1158,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1160,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1161,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1163,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1164,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1166,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1169,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1172,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1173,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1174,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1176,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1178,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1185,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1185,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1185,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1188,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1188,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1188,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1189,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1191,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1191,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1191,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1192,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1195,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1196,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1198,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1199,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1201,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1203,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1203,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1203,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1204,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1204,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1204,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1205,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1205,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1205,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1206,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1209,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1210,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1212,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1213,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:1216,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1217,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1219,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1221,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1223,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1224,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1226,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1230,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1230,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1230,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1231,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1231,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1231,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1232,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1232,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1232,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1233,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1236,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1237,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1239,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1240,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1243,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1243,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1244,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1244,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1245,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1247,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1253
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1253
    functionName: Botan_Tests::FFI_ChaCha20Poly1305_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - std::vector::data
    - TEST_FFI_FAIL
    - std::array::data
    - TEST_FFI_OK
    - test_int_eq
    - test_eq
    - Botan::hex_decode
    - std::string
    - std::array::size
    - TEST_FFI_RC
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1258
    functionName: Botan_Tests::FFI_EAX_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1263,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1272,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1273,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1275,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1278,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1279,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1280,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1282,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1283,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1284,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1285,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1287,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1288,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1290,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1291,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1293,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1295,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1297,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1300,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1301,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1302,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1303,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1306,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1313,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1313,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1313,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1314,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1314,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1314,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1315,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1318,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1319,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1321,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1322,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1324,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1326,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1326,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1326,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1327,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1327,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1327,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1328,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1331,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1332,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1334,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1335,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:1338,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1339,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1341,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1342,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1344,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1345,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1347,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1351,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1351,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1351,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1352,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1352,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1352,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1353,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1356,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1357,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1359,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1360,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1363,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1363,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1364,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1364,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1365,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1367,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1373
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1373
    functionName: Botan_Tests::FFI_EAX_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - std::vector::data
    - TEST_FFI_OK
    - test_int_eq
    - test_eq
    - Botan::hex_decode
    - TEST_FFI_RC
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1378
    functionName: Botan_Tests::FFI_AEAD_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_ffi.cpp:1387,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1389,1
    - Dst: c_str
      Src: /src/botan/src/tests/test_ffi.cpp:1389,1
    - Dst: botan_cipher_is_authenticated
      Src: /src/botan/src/tests/test_ffi.cpp:1393,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ffi.cpp:1394,1
    - Dst: botan_cipher_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:1395,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1406,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1407,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1408,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1409,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1410,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1412,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1416,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1416,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1416,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1417,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1417,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1417,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1420,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1420,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1420,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1421,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1421,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1421,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1425,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1425,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1425,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1428,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1428,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1428,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1432,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_ffi.cpp:1445,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_ffi.cpp:1451,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1451,1
    - Dst: std::span
      Src: /src/botan/src/tests/test_ffi.cpp:1452,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_ffi.cpp:1453,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1455,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:1458,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1459,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:1461,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1462,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_ffi.cpp:1465,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_ffi.cpp:1466,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1466,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_ffi.cpp:1467,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1470,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1472,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_ffi.cpp:1473,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1482,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1486,1
    - Dst: std::span::data
      Src: /src/botan/src/tests/test_ffi.cpp:1489,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_ffi.cpp:1490,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1495,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_ffi.cpp:1495,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1496,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_ffi.cpp:1498,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1500,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:1503,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1504,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1510,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1511,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1512,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1514,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1518,1
    - Dst: c_str
      Src: /src/botan/src/tests/test_ffi.cpp:1518,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1520,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1521,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1523,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1527,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1527,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1527,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1528,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1528,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1528,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1530,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_ffi.cpp:1542,1
    - Dst: std::span
      Src: /src/botan/src/tests/test_ffi.cpp:1548,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_ffi.cpp:1549,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1551,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:1554,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1555,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:1557,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1558,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_ffi.cpp:1561,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_ffi.cpp:1562,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1562,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_ffi.cpp:1563,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1566,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1568,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_ffi.cpp:1569,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_ffi.cpp:1574,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1579,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:1582,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1583,1
    - Dst: std::span::data
      Src: /src/botan/src/tests/test_ffi.cpp:1585,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_ffi.cpp:1586,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1589,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_ffi.cpp:1589,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1590,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1591,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1593,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1595,1
    - Dst: merge
      Src: /src/botan/src/tests/test_ffi.cpp:1597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 69
    argCount: 2
    argNames:
    - ' merged_result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 1599
      start: 1380
    functionDepth: 2
    functionLinenumber: 1380
    functionLinenumberEnd: 1599
    functionName: Botan_Tests::FFI_AEAD_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - merge
    - std::span::size
    - std::span::subspan
    - BOTAN_ASSERT_NOMSG
    - TEST_FFI_INIT
    - std::span
    - Test::Result::test_eq
    - Test::Result::test_gt
    - Test::Result::test_failure
    - std::span::first
    - auto::size
    - std::span::data
    - std::vector::data
    - std::vector::size
    - TEST_FFI_OK
    - auto::data
    - botan_cipher_is_authenticated
    - c_str
    - TEST_FFI_RC
    - botan_cipher_destroy
    - Test::Result::test_lte
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& merged_result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1604
    functionName: Botan_Tests::FFI_StreamCipher_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1609,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1610,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1611,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1612,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1614,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1617,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1622,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1623,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1625,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1628,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1633,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1633,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1633,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1634,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1634,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1634,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1637,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1638,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1638,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1638,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1640,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1641,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1643,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1644,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1644,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1646,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1646,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1647,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1647,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1648,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1652
      start: 1606
    functionDepth: 1
    functionLinenumber: 1606
    functionLinenumberEnd: 1652
    functionName: Botan_Tests::FFI_StreamCipher_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - std::vector::data
    - TEST_FFI_OK
    - test_int_eq
    - test_eq
    - Botan::hex_decode
    - TEST_FFI_RC
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1657
    functionName: Botan_Tests::FFI_HashFunction_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1663,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1664,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1666,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1669,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1670,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1673,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1674,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1675,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:1675,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1679,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1680,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1684,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1685,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1691,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1691,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1692,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1694,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1695,1
    - Dst: std::strlen
      Src: /src/botan/src/tests/test_ffi.cpp:1695,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1696,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1696,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1698,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1705,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1706,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1706,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1708,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1709,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1710,1
    - Dst: std::strlen
      Src: /src/botan/src/tests/test_ffi.cpp:1710,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1712,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1713,1
    - Dst: std::strlen
      Src: /src/botan/src/tests/test_ffi.cpp:1713,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1714,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1714,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1715,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1717,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1718,1
    - Dst: std::strlen
      Src: /src/botan/src/tests/test_ffi.cpp:1718,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1719,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1719,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1720,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1722,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1726,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1728
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1728
    functionName: Botan_Tests::FFI_HashFunction_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::strlen
    - std::vector::data
    - TEST_FFI_FAIL
    - TEST_FFI_OK
    - test_eq
    - std::string
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1733
    functionName: Botan_Tests::FFI_MAC_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1740,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1741,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1743,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1746,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1747,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1750,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1751,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1752,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:1752,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1756,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1757,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1758,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1759,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1761,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1762,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1763,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1766,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1767,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1774,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1775,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1776,1
    - Dst: std::strlen
      Src: /src/botan/src/tests/test_ffi.cpp:1776,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1777,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1779,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1780,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1781,1
    - Dst: std::strlen
      Src: /src/botan/src/tests/test_ffi.cpp:1781,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1782,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1782,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1784,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1791
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1791
    functionName: Botan_Tests::FFI_MAC_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::strlen
    - std::vector::data
    - TEST_FFI_FAIL
    - TEST_FFI_OK
    - test_eq
    - std::string
    - TEST_FFI_RC
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1796
    functionName: Botan_Tests::FFI_Scrypt_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1803,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1803,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1803,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1804,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1807,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1808,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1808,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1810,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1812,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1812,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1812,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1815
      start: 1798
    functionDepth: 1
    functionLinenumber: 1798
    functionLinenumberEnd: 1815
    functionName: Botan_Tests::FFI_Scrypt_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - std::vector::size
    - TEST_FFI_OK
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1820
    functionName: Botan_Tests::FFI_KDF_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1827,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:1831,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1833,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1835,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1836,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:1837,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1838,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1839,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1841,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1845,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1847,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1848,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:1849,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1850,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1851,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1854,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1856,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1857,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:1858,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1859,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1860,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:1864,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_ffi.cpp:1864,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_ffi.cpp:1865,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1868,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1869,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:1871,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1873,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1875,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1876,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1877,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1878,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1879,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1880,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1883,1
    - Dst: std::string::resize
      Src: /src/botan/src/tests/test_ffi.cpp:1888,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1894,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1896,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:1896,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_ffi.cpp:1896,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1897,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_ffi.cpp:1897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 1899
      start: 1822
    functionDepth: 1
    functionLinenumber: 1822
    functionLinenumberEnd: 1899
    functionName: Botan_Tests::FFI_KDF_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - std::vector::size
    - TEST_FFI_FAIL
    - std::string::c_str
    - TEST_FFI_OK
    - std::to_string
    - test_eq
    - test_note
    - Botan::hex_decode
    - std::string::data
    - std::vector::resize
    - std::string::resize
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1904
    functionName: Botan_Tests::FFI_Blockcipher_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1909,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1912,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1913,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1916,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1917,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1918,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:1918,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1924,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1926,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1927,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1927,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1928,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1929,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1929,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1931,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1932,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1934,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1937,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1938,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1939,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1940,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1942,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1943,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1944,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1946,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1946,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1946,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1948,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1948,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1948,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1949,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1951,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1951,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1951,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1952,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1954,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1954,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1954,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1955,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1957,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1957,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1957,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1958,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1960,1
    - Dst: botan_block_cipher_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:1961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1963
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1963
    functionName: Botan_Tests::FFI_Blockcipher_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - std::vector::size
    - TEST_FFI_FAIL
    - botan_block_cipher_destroy
    - TEST_FFI_OK
    - test_eq
    - std::string
    - TEST_FFI_RC
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1968
    functionName: Botan_Tests::FFI_ErrorHandling_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1972,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:1977,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1978,1
    - Dst: reinterpret_cast<botan_hash_t>
      Src: /src/botan/src/tests/test_ffi.cpp:1978,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1979,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:1985,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:1991,1
    - Dst: std::set::contains
      Src: /src/botan/src/tests/test_ffi.cpp:1991,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_ffi.cpp:1992,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1996
      start: 1970
    functionDepth: 3
    functionLinenumber: 1970
    functionLinenumberEnd: 1996
    functionName: Botan_Tests::FFI_ErrorHandling_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<botan_hash_t>
    - std::set::contains
    - std::set::insert
    - TEST_FFI_RC
    - confirm
    - botan_mp_init
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2001
    functionName: Botan_Tests::FFI_Base64_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2008,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2010,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2013,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2020,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:2022,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2024,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2027,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:2027,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2029,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2030,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_ffi.cpp:2030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2031
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2031
    functionName: Botan_Tests::FFI_Base64_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - TEST_FFI_OK
    - strlen
    - test_eq
    - std::string
    - TEST_FFI_RC
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2036
    functionName: Botan_Tests::FFI_Hex_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2042,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2044,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2050,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:2051,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2054,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:2054,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2056,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2057,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_ffi.cpp:2057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2058
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2058
    functionName: Botan_Tests::FFI_Hex_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - TEST_FFI_OK
    - strlen
    - test_eq
    - std::string
    - TEST_FFI_RC
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2063
    functionName: Botan_Tests::FFI_MP_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2070,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2071,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2072,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2073,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2074,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2075,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2076,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2078,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2080,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2081,1
    - Dst: botan_mp_set_from_int
      Src: /src/botan/src/tests/test_ffi.cpp:2083,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2084,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2085,1
    - Dst: botan_mp_add_u32
      Src: /src/botan/src/tests/test_ffi.cpp:2087,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2088,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2089,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2092,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2093,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2093,1
    - Dst: botan_mp_sub_u32
      Src: /src/botan/src/tests/test_ffi.cpp:2095,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2096,1
    - Dst: botan_mp_add_u32
      Src: /src/botan/src/tests/test_ffi.cpp:2097,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2098,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2099,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2102,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2103,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2103,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2105,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2106,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2107,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2108,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2109,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2113,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2115,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2116,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2118,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2119,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2121,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2122,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2123,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2124,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2125,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2128,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2129,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2130,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2131,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2132,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2134,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2135,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2137,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2138,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2140,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2141,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2143,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2144,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2146,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2148,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2152,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2153,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2155,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2156,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2156,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2159,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2160,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2162,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2163,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2164,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2165,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2166,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2167,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2167,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2169,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2170,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2171,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2171,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2174,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2175,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2178,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2180,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2182,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2183,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2183,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2185,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2187,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2188,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2188,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2189,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2192,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2193,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2196,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2197,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2197,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2200,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2201,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2201,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2203,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2204,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2206,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2207,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2207,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2208,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2210,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2212,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2213,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2213,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2215,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2217,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2218,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2218,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2220,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2222,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2223,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2223,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2226,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2229,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2230,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2233,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2234,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2236,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2238,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2239,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2239,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2241,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2243,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2244,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2244,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2246,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2247,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2250,1
    - Dst: botan_mp_to_bin
      Src: /src/botan/src/tests/test_ffi.cpp:2251,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2251,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2252,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2254,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2255,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2257,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2258,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2258,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2261,1
    - Dst: botan_mp_rand_bits
      Src: /src/botan/src/tests/test_ffi.cpp:2264,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2265,1
    - Dst: test_lte
      Src: /src/botan/src/tests/test_ffi.cpp:2266,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2268,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2269,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2270,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_ffi.cpp:2270,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2272,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2273,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2274,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_ffi.cpp:2274,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2276,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2277,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2278,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2279,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 151
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 2281
      start: 2065
    functionDepth: 1
    functionLinenumber: 2065
    functionLinenumberEnd: 2281
    functionName: Botan_Tests::FFI_MP_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - botan_mp_rand_bits
    - test_lte
    - botan_mp_destroy
    - TEST_FFI_OK
    - static_cast<size_t>
    - test_eq
    - botan_mp_sub_u32
    - confirm
    - std::string
    - botan_mp_to_bin
    - TEST_FFI_RC
    - botan_mp_add_u32
    - std::vector::resize
    - botan_mp_set_from_int
    - botan_mp_init
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2286
    functionName: Botan_Tests::FFI_FPE_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2292,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:2293,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2296,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2297,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2302,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:2303,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2305,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2308,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2309,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2311,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2312,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2313,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2315,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2316,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2318,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2319,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2321
      start: 2288
    functionDepth: 1
    functionLinenumber: 2288
    functionLinenumberEnd: 2321
    functionName: Botan_Tests::FFI_FPE_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - botan_mp_destroy
    - TEST_FFI_OK
    - test_eq
    - botan_mp_set_from_str
    - botan_mp_init
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2326
    functionName: Botan_Tests::FFI_TOTP_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:2329,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2334,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2334,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2334,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2339,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2340,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2342,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2343,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2345,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2346,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2347,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2350
      start: 2328
    functionDepth: 1
    functionLinenumber: 2328
    functionLinenumberEnd: 2350
    functionName: Botan_Tests::FFI_TOTP_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - std::vector::data
    - TEST_FFI_OK
    - Botan::hex_decode
    - TEST_FFI_RC
    - confirm
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2355
    functionName: Botan_Tests::FFI_HOTP_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:2358,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2364,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2364,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2364,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2368,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2369,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2370,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2371,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2372,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2373,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2374,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2375,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2379,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2380,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2381,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2382,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2383,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2384,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2387
      start: 2357
    functionDepth: 1
    functionLinenumber: 2357
    functionLinenumberEnd: 2387
    functionName: Botan_Tests::FFI_HOTP_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - std::vector::data
    - TEST_FFI_OK
    - Botan::hex_decode
    - TEST_FFI_RC
    - confirm
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2392
    functionName: Botan_Tests::FFI_Keywrap_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2401,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2406,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2408,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2413,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2417
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2417
    functionName: Botan_Tests::FFI_Keywrap_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2422
    functionName: Botan_Tests::FFI_XMSS_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2426,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2427,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2429,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2430,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2433,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2434,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2437,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2438,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 2442
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2442
    functionName: Botan_Tests::FFI_XMSS_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - confirm
    - TEST_FFI_RC
    - TEST_FFI_OK
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: Botan_Tests::FFI_RSA_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2452,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2453,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2456,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2457,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:2460,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2463,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2464,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:2466,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2469,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2470,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2471,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2472,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2473,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2475,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2476,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2478,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2479,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2480,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2481,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2482,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2487,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2488,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2489,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2490,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2492,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2493,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2494,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2495,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2498,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2499,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2502,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2506,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2507,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2509,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2510,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2514,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2515,1
    - Dst: botan_privkey_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2516,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2518,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2519,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2522,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2523,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2525,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2526,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2527,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2528,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2529,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2532,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2537,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2538,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2541,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2541,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2542,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2545,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2548,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2549,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2550,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2554,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2555,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2555,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2559,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2560,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2560,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2564,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2566,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2566,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2566,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2569,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2569,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2572,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2573,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2573,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2573,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2574,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2577,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2579,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2579,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2581,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2582,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2582,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2582,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2583,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2585,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2588,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2591,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2594,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2595,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2596,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 84
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 2599
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2599
    functionName: Botan_Tests::FFI_RSA_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - ffi_test_pubkey_export
    - std::vector::data
    - TEST_FFI_FAIL
    - botan_mp_destroy
    - TEST_FFI_OK
    - std::vector::size
    - botan_privkey_destroy
    - test_eq
    - std::string
    - TEST_FFI_RC
    - std::vector::resize
    - confirm
    - botan_mp_init
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2604
    functionDepth: 0
    functionLinenumber: 2604
    functionLinenumberEnd: 2604
    functionName: Botan_Tests::FFI_DSA_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2609,1
    - Dst: Botan_Tests::FFI_DSA_Test::do_dsa_test
      Src: /src/botan/src/tests/test_ffi.cpp:2610,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2613,1
    - Dst: Botan_Tests::FFI_DSA_Test::do_dsa_test
      Src: /src/botan/src/tests/test_ffi.cpp:2614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 2616
      start: 2606
    functionDepth: 1
    functionLinenumber: 2606
    functionLinenumberEnd: 2616
    functionName: Botan_Tests::FFI_DSA_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - Botan_Tests::FFI_DSA_Test::do_dsa_test
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2620,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2623,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2624,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:2626,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2629,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2630,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2631,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2632,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2633,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2635,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2636,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2637,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2638,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2639,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2642,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2643,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2645,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2646,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2648,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2649,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2651,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2652,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2653,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2656,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2657,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2660,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2661,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2663,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2664,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2665,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2666,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2667,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2674,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2676,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2676,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2676,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2679,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2680,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2683,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2683,1
    - Dst: test_lte
      Src: /src/botan/src/tests/test_ffi.cpp:2684,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2685,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2687,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_ffi.cpp:2692,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2692,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2693,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2693,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2693,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2694,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2694,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2694,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2698,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2698,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2698,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2699,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2700,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2700,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2703,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2703,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2703,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2704,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2705,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2705,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2708,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2708,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2708,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2709,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2710,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2710,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2713,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2713,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2713,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2714,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2714,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2714,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2716,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2719,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2720,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2721,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 63
    argCount: 3
    argNames:
    - priv
    - rng
    - ' result'
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2723
      start: 2619
    functionDepth: 1
    functionLinenumber: 2619
    functionLinenumberEnd: 2723
    functionName: Botan_Tests::FFI_DSA_Test::do_dsa_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - ffi_test_pubkey_export
    - std::vector::size
    - test_lte
    - botan_mp_destroy
    - TEST_FFI_OK
    - std::vector::empty
    - TEST_FFI_RC
    - std::vector::resize
    - botan_mp_init
    linkageType: ''
    returnType: void
    signature: void do_dsa_test(botan_privkey_t priv, botan_rng_t rng, Test::Result&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2728
      start: 2728
    functionDepth: 0
    functionLinenumber: 2728
    functionLinenumberEnd: 2728
    functionName: Botan_Tests::FFI_ECDSA_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2735,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2739,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:2740,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2744,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2745,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2746,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2748,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2749,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2751,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2752,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2753,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2757,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2758,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2759,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2760,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2765,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2766,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2769,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2769,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2769,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2773,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2775,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2775,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2775,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2778,1
    - Dst: resize
      Src: /src/botan/src/tests/test_ffi.cpp:2780,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2783,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2783,1
    - Dst: resize
      Src: /src/botan/src/tests/test_ffi.cpp:2784,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2786,1
    - Dst: empty
      Src: /src/botan/src/tests/test_ffi.cpp:2791,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2791,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2792,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2792,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2792,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2793,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2793,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2793,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2797,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2797,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2797,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2798,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2800,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2800,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2803,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2803,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2803,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2804,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2806,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2806,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2809,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2809,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2809,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2810,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2812,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2812,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2815,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2815,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2815,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2816,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2816,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2816,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2818,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2822,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2823,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2824,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2825,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2826,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2827,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2828,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 55
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 2829
      start: 2730
    functionDepth: 1
    functionLinenumber: 2730
    functionLinenumberEnd: 2829
    functionName: Botan_Tests::FFI_ECDSA_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - ffi_test_pubkey_export
    - std::vector::data
    - std::vector::size
    - TEST_FFI_OK
    - data
    - empty
    - test_eq
    - TEST_FFI_RC
    - size
    - resize
    - botan_mp_init
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2834
    functionDepth: 0
    functionLinenumber: 2834
    functionLinenumberEnd: 2834
    functionName: Botan_Tests::FFI_SM2_Sig_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2844,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2848,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:2849,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2853,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2857,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2858,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2859,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2861,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2862,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2863,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2864,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2865,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2866,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2867,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2872,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2873,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2876,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2876,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2876,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2878,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:2878,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2880,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2880,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2880,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2883,1
    - Dst: resize
      Src: /src/botan/src/tests/test_ffi.cpp:2885,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2887,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2887,1
    - Dst: resize
      Src: /src/botan/src/tests/test_ffi.cpp:2888,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2890,1
    - Dst: empty
      Src: /src/botan/src/tests/test_ffi.cpp:2895,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2895,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:2895,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2896,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2896,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2896,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2897,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2897,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2897,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2901,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2901,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2901,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2902,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2903,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2903,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2906,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2906,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2906,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2907,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2908,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2908,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2911,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2911,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2911,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2912,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2913,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2913,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2916,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2916,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2916,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2917,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2917,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2917,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2919,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2922,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2923,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2924,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2925,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2926,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2927,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 2929
      start: 2836
    functionDepth: 1
    functionLinenumber: 2836
    functionLinenumberEnd: 2929
    functionName: Botan_Tests::FFI_SM2_Sig_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - ffi_test_pubkey_export
    - std::vector::data
    - std::vector::size
    - TEST_FFI_OK
    - std::string::c_str
    - data
    - empty
    - test_eq
    - TEST_FFI_RC
    - size
    - resize
    - REQUIRE_FFI_OK
    - botan_mp_init
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2934
      start: 2934
    functionDepth: 0
    functionLinenumber: 2934
    functionLinenumberEnd: 2934
    functionName: Botan_Tests::FFI_SM2_Enc_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2943,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2947,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:2948,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2952,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2956,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2957,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2958,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2960,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2961,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2962,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2963,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2964,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2965,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2966,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2971,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2972,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2977,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2977,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2977,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2980,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2982,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2982,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2984,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2985,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2985,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2985,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2985,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2986,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2989,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2991,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2994,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2995,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2995,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2995,1
    - Dst: botan_pk_op_decrypt_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2997,1
    - Dst: botan_pk_op_encrypt_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2999,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3001,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3002,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3003,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3004,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3005,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3006,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3008
      start: 2936
    functionDepth: 1
    functionLinenumber: 2936
    functionLinenumberEnd: 3008
    functionName: Botan_Tests::FFI_SM2_Enc_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - ffi_test_pubkey_export
    - std::vector::data
    - std::vector::size
    - TEST_FFI_OK
    - test_eq
    - botan_pk_op_decrypt_destroy
    - botan_pk_op_encrypt_destroy
    - std::vector::resize
    - REQUIRE_FFI_OK
    - botan_mp_init
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 3013
    functionDepth: 0
    functionLinenumber: 3013
    functionLinenumberEnd: 3013
    functionName: Botan_Tests::FFI_ECDH_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3017,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3022,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3025,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3028,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:3032,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:3033,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:3034,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3036,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3037,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3038,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3042,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3043,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3044,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3045,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:3047,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:3048,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3060,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3062,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:3065,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3069,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3069,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:3071,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3075,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3075,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3078,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3078,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3078,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3084,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3085,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3085,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3085,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3085,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3085,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3089,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3090,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3090,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3090,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3090,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3090,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3092,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3094,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3095,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3096,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3097,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3098,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3099,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3100,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3101,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3102,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3103,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3105
      start: 3015
    functionDepth: 1
    functionLinenumber: 3015
    functionLinenumberEnd: 3105
    functionName: Botan_Tests::FFI_ECDH_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - ffi_test_pubkey_export
    - std::vector::data
    - std::vector::size
    - TEST_FFI_OK
    - test_eq
    - TEST_FFI_RC
    - REQUIRE_FFI_OK
    - botan_mp_init
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3110
      start: 3110
    functionDepth: 0
    functionLinenumber: 3110
    functionLinenumberEnd: 3110
    functionName: Botan_Tests::FFI_McEliece_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3114,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3116,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:3118,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3122,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3123,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:3123,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3128,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3131
      start: 3112
    functionDepth: 0
    functionLinenumber: 3112
    functionLinenumberEnd: 3131
    functionName: Botan_Tests::FFI_McEliece_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - ffi_test_pubkey_export
    - TEST_FFI_OK
    - test_eq
    - std::string
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3136
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3136
    functionName: Botan_Tests::FFI_Ed25519_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3144,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3146,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3147,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3148,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3152,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3152,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3157,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3159,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3159,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3159,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3161,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3164,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3165,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3165,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3165,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3167,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3168,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3168,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3173,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3174,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3174,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3174,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3177,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3179,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3181,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3181,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3182,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3184,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3187,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3191,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3192,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3192,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3192,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3193,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3193,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3193,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3195,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3198,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3200
      start: 3138
    functionDepth: 1
    functionLinenumber: 3138
    functionLinenumberEnd: 3200
    functionName: Botan_Tests::FFI_Ed25519_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - std::vector::size
    - TEST_FFI_OK
    - test_eq
    - Botan::hex_decode
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3205
    functionDepth: 0
    functionLinenumber: 3205
    functionLinenumberEnd: 3205
    functionName: Botan_Tests::FFI_Ed448_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3212,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3214,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3216,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3217,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3220,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3220,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3225,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3225,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3226,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3228,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3231,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3231,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3232,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3234,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3235,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3235,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3240,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3241,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3241,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:3241,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3244,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3246,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3248,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3248,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3249,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3251,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3254,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3258,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3259,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3259,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:3259,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3260,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3260,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3260,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3262,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3265,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3267
      start: 3207
    functionDepth: 1
    functionLinenumber: 3207
    functionLinenumberEnd: 3267
    functionName: Botan_Tests::FFI_Ed448_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - std::vector::size
    - TEST_FFI_OK
    - test_eq
    - Botan::hex_decode
    - auto::data
    - auto::size
    - std::vector::resize
    - test_is_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3272
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3272
    functionName: Botan_Tests::FFI_X25519_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3278,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3280,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3282,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3284,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3287,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3287,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3292,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3292,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3293,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3298,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3299,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3299,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3300,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3303,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3303,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3304,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3304,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3305,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3308,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3312,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3313,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3313,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3313,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3315,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3317,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3318,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3319,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 3321
      start: 3274
    functionDepth: 1
    functionLinenumber: 3274
    functionLinenumberEnd: 3321
    functionName: Botan_Tests::FFI_X25519_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - std::vector::size
    - TEST_FFI_OK
    - test_eq
    - Botan::hex_decode
    - REQUIRE_FFI_OK
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3326
    functionDepth: 0
    functionLinenumber: 3326
    functionLinenumberEnd: 3326
    functionName: Botan_Tests::FFI_X448_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3330,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3332,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3334,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3336,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3340,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3340,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3345,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3345,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3346,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3351,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3352,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3352,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3353,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3356,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3356,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3357,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3357,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3358,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3361,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3365,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3366,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3366,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:3366,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3368,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3370,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3371,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3372,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 3374
      start: 3328
    functionDepth: 1
    functionLinenumber: 3328
    functionLinenumberEnd: 3374
    functionName: Botan_Tests::FFI_X448_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - TEST_FFI_OK
    - test_eq
    - Botan::hex_decode
    - auto::data
    - auto::size
    - REQUIRE_FFI_OK
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3389
    functionDepth: 0
    functionLinenumber: 3389
    functionLinenumberEnd: 3389
    functionName: Botan_Tests::ViewBytesSink::delegate
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * delegate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3391
      start: 3391
    functionDepth: 0
    functionLinenumber: 3391
    functionLinenumberEnd: 3391
    functionName: Botan_Tests::ViewBytesSink::callback
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: botan_view_bin_fn
    signature: botan_view_bin_fn callback()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3393
    functionDepth: 0
    functionLinenumber: 3393
    functionLinenumberEnd: 3393
    functionName: '& get()'
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ViewBytesSink*>
      Src: /src/botan/src/tests/test_ffi.cpp:3401,1
    - Dst: auto*::m_buf::assign
      Src: /src/botan/src/tests/test_ffi.cpp:3402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 3405
      start: 3396
    functionDepth: 0
    functionLinenumber: 3396
    functionLinenumberEnd: 3405
    functionName: Botan_Tests::ViewBytesSink::write_fn
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ViewBytesSink*>
    - auto*::m_buf::assign
    linkageType: ''
    returnType: int
    signature: int write_fn(void* ctx, const uint8_t buf[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3416
    functionDepth: 0
    functionLinenumber: 3416
    functionLinenumberEnd: 3416
    functionName: Botan_Tests::ViewStringSink::delegate
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * delegate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3418
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3418
    functionName: Botan_Tests::ViewStringSink::callback
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: botan_view_str_fn
    signature: botan_view_str_fn callback()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3420
    functionDepth: 0
    functionLinenumber: 3420
    functionLinenumberEnd: 3420
    functionName: Botan_Tests::ViewStringSink::get
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ViewStringSink*>
      Src: /src/botan/src/tests/test_ffi.cpp:3428,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:3430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - str
    - len
    argTypes:
    - void*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3433
      start: 3423
    functionDepth: 0
    functionLinenumber: 3423
    functionLinenumberEnd: 3433
    functionName: Botan_Tests::ViewStringSink::write_fn
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - static_cast<ViewStringSink*>
    linkageType: ''
    returnType: int
    signature: int write_fn(void* ctx, const char* str, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modes
      Src: /src/botan/src/tests/test_ffi.cpp:3455,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3459,1
    - Dst: algo
      Src: /src/botan/src/tests/test_ffi.cpp:3459,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3462,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3467,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3467,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3467,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3468,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3468,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3468,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3473,1
    - Dst: private_key_load_function
      Src: /src/botan/src/tests/test_ffi.cpp:3473,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3474,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3474,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3475,1
    - Dst: public_key_load_function
      Src: /src/botan/src/tests/test_ffi.cpp:3475,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3476,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3476,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3481,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3481,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3481,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3482,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3482,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3482,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3483,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3483,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3483,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3484,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3484,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3484,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3488,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3493,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3494,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:3499,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:3512,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3520,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3526,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3528,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3530,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3531,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3532,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3533,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3534,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3538,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3540,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3541,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:3545,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3550,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3551,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3555,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3560,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3564,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3565,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3567,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3569,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3570,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3571,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3574,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3576,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3577,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3578,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3581
      start: 3454
    functionDepth: 1
    functionLinenumber: 3454
    functionLinenumberEnd: 3581
    functionName: Botan_Tests::FFI_KEM_Roundtrip_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - std::vector::size
    - public_key_load_function
    - TEST_FFI_OK
    - algo
    - ViewBytesSink::delegate
    - ViewBytesSink::get
    - ViewBytesSink::callback
    - test_eq
    - private_key_load_function
    - TEST_FFI_RC
    - Botan::secure_vector::data
    - Botan::secure_vector::resize
    - std::vector::resize
    - confirm
    - modes
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modes
      Src: /src/botan/src/tests/test_ffi.cpp:3604,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3608,1
    - Dst: algo
      Src: /src/botan/src/tests/test_ffi.cpp:3608,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3611,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3616,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3616,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3616,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3617,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3617,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3617,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3622,1
    - Dst: private_key_load_function
      Src: /src/botan/src/tests/test_ffi.cpp:3622,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3623,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3623,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3624,1
    - Dst: public_key_load_function
      Src: /src/botan/src/tests/test_ffi.cpp:3624,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3625,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3625,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3630,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3630,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3630,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3631,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3631,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3631,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3632,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3632,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3632,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3633,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3633,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3633,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3637,1
    - Dst: hash_algo_or_padding
      Src: /src/botan/src/tests/test_ffi.cpp:3637,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3641,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3644,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3644,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3644,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3645,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3645,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3645,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:3649,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3652,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3655,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3656,1
    - Dst: hash_algo_or_padding
      Src: /src/botan/src/tests/test_ffi.cpp:3656,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3657,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3657,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3657,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3658,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3658,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3658,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3663,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3663,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3664,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3665,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3666,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3670,1
    - Dst: hash_algo_or_padding
      Src: /src/botan/src/tests/test_ffi.cpp:3670,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3671,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3671,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3671,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3672,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3672,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3672,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3675,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3675,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3675,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3676,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3679,1
    - Dst: hash_algo_or_padding
      Src: /src/botan/src/tests/test_ffi.cpp:3679,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3680,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3680,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3680,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:3681,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3682,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3682,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3683,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3686,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3687,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3688,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3691
      start: 3600
    functionDepth: 1
    functionLinenumber: 3600
    functionLinenumberEnd: 3691
    functionName: Botan_Tests::FFI_Signature_Roundtrip_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - std::vector::size
    - public_key_load_function
    - TEST_FFI_OK
    - algo
    - ViewBytesSink::delegate
    - ViewBytesSink::get
    - ViewBytesSink::callback
    - test_eq
    - private_key_load_function
    - TEST_FFI_RC
    - Botan::secure_vector::data
    - Botan::secure_vector::resize
    - Botan::secure_vector::size
    - hash_algo_or_padding
    - modes
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3696
      start: 3696
    functionDepth: 0
    functionLinenumber: 3696
    functionLinenumberEnd: 3696
    functionName: Botan_Tests::FFI_Kyber512_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3699,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3701,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3703,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3707,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3707,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3713,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3713,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3713,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3714,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3714,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3714,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3715,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3715,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3716,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3716,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3722,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3723,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3723,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3723,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3724,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3724,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3724,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3725,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3725,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3726,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3726,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3729,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3729,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3730,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3730,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3730,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3731,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3731,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3733,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3734,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 3736
      start: 3698
    functionDepth: 1
    functionLinenumber: 3698
    functionLinenumberEnd: 3736
    functionName: Botan_Tests::FFI_Kyber512_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - TEST_FFI_OK
    - ViewBytesSink::get
    - ViewBytesSink::delegate
    - ViewBytesSink::callback
    - test_eq
    - Botan::hex_decode
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3741
      start: 3741
    functionDepth: 0
    functionLinenumber: 3741
    functionLinenumberEnd: 3741
    functionName: Botan_Tests::FFI_Kyber768_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3744,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3746,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3748,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3752,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3752,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3758,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3758,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3758,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3759,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3759,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3759,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3760,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3760,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3761,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3761,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3767,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3768,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3768,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3768,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3769,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3769,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3769,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3770,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3770,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3771,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3771,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3774,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3774,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3775,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3775,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3775,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3776,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3776,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3778,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3779,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 3781
      start: 3743
    functionDepth: 1
    functionLinenumber: 3743
    functionLinenumberEnd: 3781
    functionName: Botan_Tests::FFI_Kyber768_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - TEST_FFI_OK
    - ViewBytesSink::get
    - ViewBytesSink::delegate
    - ViewBytesSink::callback
    - test_eq
    - Botan::hex_decode
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3786
      start: 3786
    functionDepth: 0
    functionLinenumber: 3786
    functionLinenumberEnd: 3786
    functionName: Botan_Tests::FFI_Kyber1024_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3789,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3791,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3793,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3797,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3797,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3803,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3803,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3803,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3804,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3804,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3804,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3805,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3805,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3806,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3806,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3812,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3813,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3813,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3813,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3814,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3814,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3814,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3815,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3815,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3816,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3816,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3819,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3819,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3820,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3820,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3820,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3821,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3821,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3823,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3824,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 3826
      start: 3788
    functionDepth: 1
    functionLinenumber: 3788
    functionLinenumberEnd: 3826
    functionName: Botan_Tests::FFI_Kyber1024_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - TEST_FFI_OK
    - ViewBytesSink::get
    - ViewBytesSink::delegate
    - ViewBytesSink::callback
    - test_eq
    - Botan::hex_decode
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3831
      start: 3831
    functionDepth: 0
    functionLinenumber: 3831
    functionLinenumberEnd: 3831
    functionName: Botan_Tests::FFI_ML_KEM_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3834
      start: 3834
    functionDepth: 0
    functionLinenumber: 3834
    functionLinenumberEnd: 3834
    functionName: Botan_Tests::FFI_ML_KEM_Test::algo
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3836
      start: 3836
    functionDepth: 0
    functionLinenumber: 3836
    functionLinenumberEnd: 3836
    functionName: Botan_Tests::FFI_ML_KEM_Test::private_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: privkey_loader_fn_t
    signature: privkey_loader_fn_t private_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3838
      start: 3838
    functionDepth: 0
    functionLinenumber: 3838
    functionLinenumberEnd: 3838
    functionName: Botan_Tests::FFI_ML_KEM_Test::public_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pubkey_loader_fn_t
    signature: pubkey_loader_fn_t public_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3840
    functionDepth: 0
    functionLinenumber: 3840
    functionLinenumberEnd: 3840
    functionName: Botan_Tests::FFI_ML_KEM_Test::modes
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const char*>
    signature: std::vector<const char*> modes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3845
      start: 3845
    functionDepth: 0
    functionLinenumber: 3845
    functionLinenumberEnd: 3845
    functionName: Botan_Tests::FFI_FrodoKEM_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3848
      start: 3848
    functionDepth: 0
    functionLinenumber: 3848
    functionLinenumberEnd: 3848
    functionName: Botan_Tests::FFI_FrodoKEM_Test::algo
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3850
      start: 3850
    functionDepth: 0
    functionLinenumber: 3850
    functionLinenumberEnd: 3850
    functionName: Botan_Tests::FFI_FrodoKEM_Test::private_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: privkey_loader_fn_t
    signature: privkey_loader_fn_t private_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3852
      start: 3852
    functionDepth: 0
    functionLinenumber: 3852
    functionLinenumberEnd: 3852
    functionName: Botan_Tests::FFI_FrodoKEM_Test::public_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pubkey_loader_fn_t
    signature: pubkey_loader_fn_t public_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3869
      start: 3854
    functionDepth: 0
    functionLinenumber: 3854
    functionLinenumberEnd: 3869
    functionName: Botan_Tests::FFI_FrodoKEM_Test::modes
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const char*>
    signature: std::vector<const char*> modes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3874
      start: 3874
    functionDepth: 0
    functionLinenumber: 3874
    functionLinenumberEnd: 3874
    functionName: Botan_Tests::FFI_ML_DSA_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3877
      start: 3877
    functionDepth: 0
    functionLinenumber: 3877
    functionLinenumberEnd: 3877
    functionName: Botan_Tests::FFI_ML_DSA_Test::algo
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3879
    functionDepth: 0
    functionLinenumber: 3879
    functionLinenumberEnd: 3879
    functionName: Botan_Tests::FFI_ML_DSA_Test::private_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: privkey_loader_fn_t
    signature: privkey_loader_fn_t private_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3881
      start: 3881
    functionDepth: 0
    functionLinenumber: 3881
    functionLinenumberEnd: 3881
    functionName: Botan_Tests::FFI_ML_DSA_Test::public_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pubkey_loader_fn_t
    signature: pubkey_loader_fn_t public_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3889
      start: 3883
    functionDepth: 0
    functionLinenumber: 3883
    functionLinenumberEnd: 3889
    functionName: Botan_Tests::FFI_ML_DSA_Test::modes
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const char*>
    signature: std::vector<const char*> modes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3891
    functionDepth: 0
    functionLinenumber: 3891
    functionLinenumberEnd: 3891
    functionName: Botan_Tests::FFI_ML_DSA_Test::hash_algo_or_padding
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * hash_algo_or_padding() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3896
      start: 3896
    functionDepth: 0
    functionLinenumber: 3896
    functionLinenumberEnd: 3896
    functionName: Botan_Tests::FFI_SLH_DSA_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3899
      start: 3899
    functionDepth: 0
    functionLinenumber: 3899
    functionLinenumberEnd: 3899
    functionName: Botan_Tests::FFI_SLH_DSA_Test::algo
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3901
      start: 3901
    functionDepth: 0
    functionLinenumber: 3901
    functionLinenumberEnd: 3901
    functionName: Botan_Tests::FFI_SLH_DSA_Test::private_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: privkey_loader_fn_t
    signature: privkey_loader_fn_t private_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3903
      start: 3903
    functionDepth: 0
    functionLinenumber: 3903
    functionLinenumberEnd: 3903
    functionName: Botan_Tests::FFI_SLH_DSA_Test::public_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pubkey_loader_fn_t
    signature: pubkey_loader_fn_t public_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_ffi.cpp:3915,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_ffi.cpp:3916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3928
      start: 3905
    functionDepth: 1
    functionLinenumber: 3905
    functionLinenumberEnd: 3928
    functionName: Botan_Tests::FFI_SLH_DSA_Test::modes
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat
    - Botan_Tests::Test::run_long_tests
    linkageType: ''
    returnType: std::vector<const char*>
    signature: std::vector<const char*> modes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3930
      start: 3930
    functionDepth: 0
    functionLinenumber: 3930
    functionLinenumberEnd: 3930
    functionName: Botan_Tests::FFI_SLH_DSA_Test::hash_algo_or_padding
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * hash_algo_or_padding() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3935
      start: 3935
    functionDepth: 0
    functionLinenumber: 3935
    functionLinenumberEnd: 3935
    functionName: Botan_Tests::FFI_Classic_McEliece_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3938
      start: 3938
    functionDepth: 0
    functionLinenumber: 3938
    functionLinenumberEnd: 3938
    functionName: Botan_Tests::FFI_Classic_McEliece_Test::algo
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3940
      start: 3940
    functionDepth: 0
    functionLinenumber: 3940
    functionLinenumberEnd: 3940
    functionName: Botan_Tests::FFI_Classic_McEliece_Test::private_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: privkey_loader_fn_t
    signature: privkey_loader_fn_t private_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3942
      start: 3942
    functionDepth: 0
    functionLinenumber: 3942
    functionLinenumberEnd: 3942
    functionName: Botan_Tests::FFI_Classic_McEliece_Test::public_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pubkey_loader_fn_t
    signature: pubkey_loader_fn_t public_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_ffi.cpp:3949,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_ffi.cpp:3950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3969
      start: 3944
    functionDepth: 1
    functionLinenumber: 3944
    functionLinenumberEnd: 3969
    functionName: Botan_Tests::FFI_Classic_McEliece_Test::modes
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat
    - Botan_Tests::Test::run_long_tests
    linkageType: ''
    returnType: std::vector<const char*>
    signature: std::vector<const char*> modes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3974
      start: 3974
    functionDepth: 0
    functionLinenumber: 3974
    functionLinenumberEnd: 3974
    functionName: Botan_Tests::FFI_ElGamal_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3979,1
    - Dst: Botan_Tests::FFI_ElGamal_Test::do_elgamal_test
      Src: /src/botan/src/tests/test_ffi.cpp:3980,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3983,1
    - Dst: Botan_Tests::FFI_ElGamal_Test::do_elgamal_test
      Src: /src/botan/src/tests/test_ffi.cpp:3984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3986
      start: 3976
    functionDepth: 1
    functionLinenumber: 3976
    functionLinenumberEnd: 3986
    functionName: Botan_Tests::FFI_ElGamal_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - Botan_Tests::FFI_ElGamal_Test::do_elgamal_test
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3990,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3993,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3994,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:3996,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:3998,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:3999,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4000,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4001,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4003,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4004,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4005,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4006,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4009,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4012,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4015,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4017,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4018,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4019,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4020,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4034,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:4034,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4036,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:4036,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:4037,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4038,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4039,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4039,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:4039,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:4040,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4041,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4046,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:4046,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4048,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:4048,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:4049,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4050,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4051,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4051,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:4051,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:4052,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4053,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:4056,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4058,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4059,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4060,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 3
    argNames:
    - priv
    - rng
    - ' result'
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - Test::Result
    constantsTouched: []
    func_position:
      end: 4062
      start: 3989
    functionDepth: 1
    functionLinenumber: 3989
    functionLinenumberEnd: 4062
    functionName: Botan_Tests::FFI_ElGamal_Test::do_elgamal_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - ffi_test_pubkey_export
    - std::vector::data
    - botan_mp_destroy
    - std::string::c_str
    - TEST_FFI_OK
    - test_eq
    - std::vector::resize
    - botan_mp_init
    linkageType: ''
    returnType: void
    signature: void do_elgamal_test(botan_privkey_t priv, botan_rng_t rng, Test::Result&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4067
      start: 4067
    functionDepth: 0
    functionLinenumber: 4067
    functionLinenumberEnd: 4067
    functionName: Botan_Tests::FFI_DH_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:4071,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4076,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4079,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4082,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4087,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4088,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4089,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4090,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4092,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4093,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4094,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4095,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4099,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4100,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4102,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4103,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4106,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4107,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4108,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4110,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4111,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4112,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4116,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4117,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4119,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4120,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4122,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4123,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4126,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4128,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4131,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4135,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4135,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4137,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4141,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4141,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4148,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4149,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4149,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:4149,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4154,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4155,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4155,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:4155,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:4157,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4159,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4160,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4161,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4162,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4164,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4165,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4166,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4168,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4169,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4170,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4171,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4172,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4173,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4174,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 55
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 4176
      start: 4069
    functionDepth: 1
    functionLinenumber: 4069
    functionLinenumberEnd: 4176
    functionName: Botan_Tests::FFI_DH_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::data
    - std::vector::size
    - TEST_FFI_OK
    - test_eq
    - TEST_FFI_RC
    - confirm
    - REQUIRE_FFI_OK
    - botan_mp_init
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4181
      start: 4181
    functionDepth: 0
    functionLinenumber: 4181
    functionLinenumberEnd: 4181
    functionName: Botan_Tests::FFI_OID_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:4191,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4192,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4194,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4195,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4196,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4199,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4200,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4202,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4203,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4205,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4206,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4207,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4209,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4210,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4214,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4215,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4217,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4218,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4220,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4221,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4223,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4224,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4225,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4226,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4227,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4228,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:4231,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4232,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4241,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4242,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4243,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:4243,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4244,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4246,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4249,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4251,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4252,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4255,1
    - Dst: ViewStringSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:4255,1
    - Dst: ViewStringSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:4255,1
    - Dst: ViewStringSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4256,1
    - Dst: ViewStringSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4256,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:4258,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4260,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4261,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4264,1
    - Dst: ViewStringSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:4264,1
    - Dst: ViewStringSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:4264,1
    - Dst: ViewStringSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4265,1
    - Dst: ViewStringSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4265,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:4266,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4268,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4269,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4270,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4271,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4273,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 4276
      start: 4183
    functionDepth: 0
    functionLinenumber: 4183
    functionLinenumberEnd: 4276
    functionName: Botan_Tests::FFI_OID_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - ViewStringSink::callback
    - TEST_FFI_FAIL
    - ViewStringSink::get
    - TEST_FFI_OK
    - std::string::c_str
    - test_eq
    - ViewStringSink::delegate
    - TEST_FFI_RC
    - confirm
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4281
      start: 4281
    functionDepth: 0
    functionLinenumber: 4281
    functionLinenumberEnd: 4281
    functionName: Botan_Tests::FFI_EC_Group_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4286,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4287,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4288,1
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_ffi.cpp:4290,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4291,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ffi.cpp:4292,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4304,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4306,1
    - Dst: Botan_Tests::FFI_EC_Group_Test::get_group_parameters
      Src: /src/botan/src/tests/test_ffi.cpp:4308,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4328,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4330,1
    - Dst: Botan_Tests::FFI_EC_Group_Test::get_group_parameters
      Src: /src/botan/src/tests/test_ffi.cpp:4332,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4342,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4343,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4363,1
    - Dst: botan_oid_register
      Src: /src/botan/src/tests/test_ffi.cpp:4364,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4365,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4366,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4367,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4368,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4369,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4370,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:4372,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:4373,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:4374,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:4375,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:4377,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:4379,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4382,1
    - Dst: Botan_Tests::FFI_EC_Group_Test::get_group_parameters
      Src: /src/botan/src/tests/test_ffi.cpp:4392,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4404,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4407,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4409,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4410,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4421,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4422,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4425,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4426,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4427,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4428,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4429,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4430,1
    - Dst: botan_oid_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4432,1
    - Dst: botan_oid_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4433,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4435,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4436,1
    - Dst: botan_oid_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4439,1
    - Dst: botan_oid_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4440,1
    - Dst: botan_oid_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4441,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4451,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4452,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4453,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4459,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4460,1
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_ffi.cpp:4461,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4465,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4466,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4467,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4468,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4469,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4471,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4472,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4475,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:4475,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:4475,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4477,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:4479,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4479,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4479,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4482,1
    - Dst: ViewStringSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:4482,1
    - Dst: ViewStringSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:4482,1
    - Dst: ViewStringSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4483,1
    - Dst: ViewStringSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4483,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4486,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:4486,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4488,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4489,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4492,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4496,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:4497,1
    - Dst: botan_privkey_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4499,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4501,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4502,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4503,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4504,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4505,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 82
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 4508
      start: 4283
    functionDepth: 2
    functionLinenumber: 4283
    functionLinenumberEnd: 4508
    functionName: Botan_Tests::FFI_EC_Group_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - ViewBytesSink::delegate
    - test_eq
    - ViewStringSink::delegate
    - reinterpret_cast<const uint8_t*>
    - botan_mp_set_from_str
    - std::string::c_str
    - ViewBytesSink::callback
    - Botan::EC_Group::supports_application_specific_group
    - Botan_Tests::Test::read_data_file
    - confirm
    - ViewStringSink::callback
    - ViewStringSink::get
    - TEST_FFI_OK
    - ViewBytesSink::get
    - botan_privkey_destroy
    - botan_oid_destroy
    - Botan_Tests::FFI_EC_Group_Test::get_group_parameters
    - Botan::EC_Group::supports_named_group
    - botan_mp_init
    - botan_mp_destroy
    - TEST_FFI_RC
    - botan_oid_register
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4520,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4521,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4522,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4523,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4524,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4525,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 9
    argNames:
    - ec_group
    - oid
    - p
    - a
    - b
    - g_x
    - g_y
    - order
    - ' result'
    argTypes:
    - botan_ec_group_t
    - botan_asn1_oid_t*
    - botan_mp_t*
    - botan_mp_t*
    - botan_mp_t*
    - botan_mp_t*
    - botan_mp_t*
    - botan_mp_t*
    - Test::Result
    constantsTouched: []
    func_position:
      end: 4527
      start: 4511
    functionDepth: 0
    functionLinenumber: 4511
    functionLinenumberEnd: 4527
    functionName: Botan_Tests::FFI_EC_Group_Test::get_group_parameters
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 1
    functionsReached:
    - TEST_FFI_OK
    linkageType: ''
    returnType: void
    signature: "void get_group_parameters(botan_ec_group_t ec_group,\n                                       botan_asn1_oid_t*
      oid,\n                                       botan_mp_t* p,\n                                       botan_mp_t*
      a,\n                                       botan_mp_t* b,\n                                       botan_mp_t*
      g_x,\n                                       botan_mp_t* g_y,\n                                       botan_mp_t*
      order,\n                                       Test::Result& result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:27,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:27,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:31,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:31,1
    - Dst: Botan::Sphincs_Address
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - address_buffer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Botan_Tests::SPHINCS_Plus_FORS_Test::read_address
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_fors.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Address
    - Botan::load_be<uint32_t>
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: Botan::Sphincs_Address
    signature: Botan::Sphincs_Address read_address(std::span<const uint8_t> address_buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan_Tests::SPHINCS_Plus_FORS_Test::SPHINCS_Plus_FORS_Test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_fors.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SPHINCS_Plus_FORS_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:43,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:43,1
    - Dst: auto::is_available
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Botan_Tests::SPHINCS_Plus_FORS_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_fors.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - auto::is_available
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:50,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:50,1
    - Dst: Botan::SphincsSecretSeed
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:52,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:52,1
    - Dst: Botan::SphincsPublicSeed
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:53,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:53,1
    - Dst: Botan::SphincsHashedMessage
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:55,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:55,1
    - Dst: auto::hash_type
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:61,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:67,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:70,1
    - Dst: Botan::Sphincs_Hash_Functions::create
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:74,1
    - Dst: Botan_Tests::SPHINCS_Plus_FORS_Test::read_address
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:75,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:75,1
    - Dst: auto::fors_signature_bytes
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:77,1
    - Dst: Botan::fors_sign_and_pkgen
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:79,1
    - Dst: Botan::SphincsTreeNode
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:81,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:81,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:82,1
    - Dst: Botan::ForsSignature
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:84,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:84,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:85,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:85,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:85,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:85,1
    - Dst: Botan::fors_public_key_from_signature
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:87,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 91
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 91
    functionName: Botan_Tests::SPHINCS_Plus_FORS_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_fors.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::fors_public_key_from_signature
    - Botan::Sphincs_Parameters::create
    - Botan::HashFunction::create
    - auto::hash_type
    - unlock
    - Botan::SphincsPublicSeed
    - Botan::Sphincs_Hash_Functions::create
    - auto::process
    - Test::Result::test_note
    - Test::Result::test_is_eq
    - get_req_bin
    - Botan_Tests::SPHINCS_Plus_FORS_Test::read_address
    - Botan::ForsSignature
    - Botan::SphincsHashedMessage
    - Botan::fors_sign_and_pkgen
    - auto::get
    - Botan::SphincsSecretSeed
    - Botan::SphincsTreeNode
    - auto::fors_signature_bytes
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:48,1
    - Dst: data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:48,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - ' bin'
    argTypes:
    - Fixed_Output_RNG
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan_Tests::add_entropy
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - data
    - Botan_Tests::add_entropy
    - size
    linkageType: ''
    returnType: void
    signature: void add_entropy(Fixed_Output_RNG& rng, const std::vector<uint8_t>&
      bin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:54,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: Botan_Tests::server_certificate
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate
    - Botan_Tests::Test::read_data_file
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: Botan::X509_Certificate server_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:64,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: Botan_Tests::alternative_server_certificate
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate
    - Botan_Tests::Test::read_data_file
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: Botan::X509_Certificate alternative_server_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:71,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: Botan_Tests::client_certificate
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate
    - Botan_Tests::Test::read_data_file
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: Botan::X509_Certificate client_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:77,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: Botan_Tests::client_raw_public_key_pair
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::load_key
    - Botan_Tests::Test::read_data_file
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> client_raw_public_key_pair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:83,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: Botan_Tests::server_raw_public_key_pair
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::load_key
    - Botan_Tests::Test::read_data_file
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> server_raw_public_key_pair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Extension_Code
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: Botan_Tests::Padding::static_type
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Extension_Code
    linkageType: ''
    returnType: Botan::TLS::Extension_Code
    signature: Botan::TLS::Extension_Code static_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Padding::static_type
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan_Tests::Padding::type
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Padding::static_type
    linkageType: ''
    returnType: Botan::TLS::Extension_Code
    signature: Botan::TLS::Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - padding_bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan_Tests::Padding::Padding
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Padding(const size_t padding_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Botan_Tests::Padding::serialize
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize(Botan::TLS::Connection_Side) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan_Tests::Padding::empty
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:119,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:119,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:120,1
    - Dst: static_cast<time_t>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:120,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msecs
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: Botan_Tests::from_milliseconds_since_epoch
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - static_cast<time_t>
    - cryptofuzz::mutator::ExpModGenerator::max
    - Botan_CLI::Timer::milliseconds
    - std::chrono::system_clock::from_time_t
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point from_milliseconds_since_epoch(uint64_t
      msecs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:150,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:151,1
    - Dst: from_milliseconds_since_epoch
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - modify_exts_cb
    - mock_signatures
    - timestamp
    argTypes:
    - Modify_Exts_Fn
    - std::vector<MockSignature>
    - uint64_t
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: Botan_Tests::Test_TLS_13_Callbacks::Test_TLS_13_Callbacks
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - from_milliseconds_since_epoch
    linkageType: ''
    returnType: void
    signature: "void Test_TLS_13_Callbacks(Modify_Exts_Fn modify_exts_cb,\n                            std::vector<MockSignature>
      mock_signatures,\n                            uint64_t timestamp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:155,1
    - Dst: insert
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:156,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:156,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:156,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:160,1
    - Dst: insert
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:162,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:162,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:162,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t seq_no, std::span<const uint8_t>
      data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:166,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_peer_closed_connection
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: bool
    signature: bool tls_peer_closed_connection() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psk_used
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:178,1
    - Dst: external_psk_identity
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:179,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' summary'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - external_psk_identity
    - psk_used
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& summary)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_session_activated
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_should_persist_resumption_information
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: bool
    signature: bool tls_should_persist_resumption_information(const Session&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' cert_chain'
    argTypes:
    - std::vector<Botan::X509_Certificate>
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_verify_cert_chain
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: void
    signature: "void tls_verify_cert_chain(const std::vector<Botan::X509_Certificate>&
      cert_chain,\n                                 const std::vector<std::optional<Botan::OCSP::Response>>&,\n
      \                                const std::vector<Botan::Certificate_Store*>&,\n
      \                                Botan::Usage_Type,\n                                 std::string_view,\n
      \                                const Botan::TLS::Policy&) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:208,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:210,1
    - Dst: subject_public_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' raw_pk'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_verify_raw_public_key
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - subject_public_key
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: void
    signature: "void tls_verify_raw_public_key(const Public_Key& raw_pk,\n                                     Usage_Type,\n
      \                                    std::string_view,\n                                     const
      TLS::Policy&) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:214,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_verify_cert_chain_ocsp_timeout
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::milliseconds
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: std::chrono::milliseconds
    signature: std::chrono::milliseconds tls_verify_cert_chain_ocsp_timeout() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:220,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::tls_provide_cert_status
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' chain'
    - ' csr'
    argTypes:
    - std::vector<X509_Certificate>
    - Certificate_Status_Request
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_provide_cert_status
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::tls_provide_cert_status
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> tls_provide_cert_status(const std::vector<X509_Certificate>&
      chain,\n                                                   const Certificate_Status_Request&
      csr) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:229,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:230,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:232,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:234,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:238,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:238,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:240,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:242,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:246,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:246,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:249,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:249,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:258,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:258,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 5
    argNames:
    - ' key'
    - ' rng'
    - padding
    - format
    - ' msg'
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - Signature_Format
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 259
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 259
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_sign_message
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    - std::string
    - Test_Error
    - algo_name
    - Botan::hex_encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> tls_sign_message(const Private_Key& key,\n                                            RandomNumberGenerator&
      rng,\n                                            std::string_view padding,\n
      \                                           Signature_Format format,\n                                            const
      std::vector<uint8_t>& msg) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:266,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::tls_verify_message
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' key'
    - padding
    - format
    - ' msg'
    - ' sig'
    argTypes:
    - Public_Key
    - std::string_view
    - Signature_Format
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_verify_message
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::tls_verify_message
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: bool
    signature: "bool tls_verify_message(const Public_Key& key,\n                              std::string_view
      padding,\n                              Signature_Format format,\n                              const
      std::vector<uint8_t>& msg,\n                              const std::vector<uint8_t>&
      sig) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:272,1
    - Dst: Callbacks::tls_generate_ephemeral_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_generate_ephemeral_key
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Callbacks::tls_generate_ephemeral_key
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: std::unique_ptr<PK_Key_Agreement_Key>
    signature: "std::unique_ptr<PK_Key_Agreement_Key> tls_generate_ephemeral_key(\n
      \        const std::variant<TLS::Group_Params, DL_Group>& group, RandomNumberGenerator&
      rng) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:281,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_ephemeral_key_agreement
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' group'
    - ' private_key'
    - ' public_value'
    - ' rng'
    - ' policy'
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    - PK_Key_Agreement_Key
    - std::vector<uint8_t>
    - RandomNumberGenerator
    - Policy
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_ephemeral_key_agreement
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    - Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_ephemeral_key_agreement
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> tls_ephemeral_key_agreement(const std::variant<TLS::Group_Params,
      DL_Group>& group,\n                                                         const
      PK_Key_Agreement_Key& private_key,\n                                                         const
      std::vector<uint8_t>& public_value,\n                                                         RandomNumberGenerator&
      rng,\n                                                         const Policy&
      policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:286,1
    - Dst: type_string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:286,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:289,1
    - Dst: try_emplace
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:291,1
    - Dst: type_string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:291,1
    - Dst: second::emplace_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:291,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:292,1
    - Dst: PeerCallbacks::tls_inspect_handshake_msg
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - Handshake_Message
    constantsTouched: []
    func_position:
      end: 300
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 300
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_inspect_handshake_msg
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - try_emplace
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    - type_string
    - second::emplace_back
    - PeerCallbacks::tls_inspect_handshake_msg
    - serialize
    linkageType: ''
    returnType: void
    signature: void tls_inspect_handshake_msg(const Handshake_Message& message) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:303,1
    - Dst: Fuzzer_TLS_Server_Callbacks::tls_server_choose_app_protocol
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' client_protos'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_server_choose_app_protocol
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Fuzzer_TLS_Server_Callbacks::tls_server_choose_app_protocol
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: std::string
    signature: std::string tls_server_choose_app_protocol(const std::vector<std::string>&
      client_protos) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:310,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:310,1
    - Dst: handshake_type_to_string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:310,1
    - Dst: m_modify_exts
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:311,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_modify_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' exts'
    - side
    - which_message
    argTypes:
    - Botan::TLS::Extensions
    - Botan::TLS::Connection_Side
    - Botan::TLS::Handshake_Type
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_modify_extensions
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    - std::string
    - m_modify_exts
    - handshake_type_to_string
    - Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_modify_extensions
    linkageType: ''
    returnType: void
    signature: "void tls_modify_extensions(Botan::TLS::Extensions& exts,\n                                 Botan::TLS::Connection_Side
      side,\n                                 Botan::TLS::Handshake_Type which_message)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:318,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:318,1
    - Dst: handshake_type_to_string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:318,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_examine_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' extn'
    - which_side
    - which_message
    argTypes:
    - Botan::TLS::Extensions
    - Connection_Side
    - Botan::TLS::Handshake_Type
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_examine_extensions
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - handshake_type_to_string
    - Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_examine_extensions
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: void
    signature: "void tls_examine_extensions(const Botan::TLS::Extensions& extn,\n
      \                                 Connection_Side which_side,\n                                  Botan::TLS::Handshake_Type
      which_message) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:323,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::tls_peer_network_identity
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_peer_network_identity
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::tls_peer_network_identity
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: std::string
    signature: std::string tls_peer_network_identity() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_current_timestamp
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point tls_current_timestamp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:332,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: Botan_Tests::Test_TLS_13_Callbacks::pull_send_buffer
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - std::exchange
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> pull_send_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:334,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: Botan_Tests::Test_TLS_13_Callbacks::pull_receive_buffer
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - std::exchange
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> pull_receive_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: Botan_Tests::Test_TLS_13_Callbacks::last_received_seq_no
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t last_received_seq_no() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: '& callback_invocations() const'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, unsigned int>
    signature: std::map<std::string, unsigned int> & callback_invocations() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: Botan_Tests::Test_TLS_13_Callbacks::reset_callback_invocation_counters
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset_callback_invocation_counters()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' callback_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 21
    functionsReached:
    - contains
    linkageType: ''
    returnType: void
    signature: void count_callback_invocation(const std::string& callback_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:374,1
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:375,1
    - Dst: reset
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:376,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:376,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:382,1
    - Dst: reset
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:383,1
    - Dst: create_private_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:383,1
    - Dst: reset
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:385,1
    - Dst: create_private_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - use_alternative_server_certificate
    - external_psk
    argTypes:
    - bool
    - std::optional<ExternalPSK>
    constantsTouched: []
    func_position:
      end: 386
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 386
    functionName: Botan_Tests::Test_Credentials::Test_Credentials
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - reset
    - Botan_Tests::Test::new_rng
    - Botan_Tests::Test::read_data_file
    - Botan::PKCS8::load_key
    - create_private_key
    linkageType: ''
    returnType: void
    signature: void Test_Credentials(bool use_alternative_server_certificate, std::optional<ExternalPSK>
      external_psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:392,1
    - Dst: client_certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:394,1
    - Dst: alternative_server_certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:396,1
    - Dst: server_certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' cert_key_types'
    - ' cert_signature_schemes'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::vector<AlgorithmIdentifier>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 400
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 400
    functionName: Botan_Tests::Test_Credentials::cert_chain
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - server_certificate
    - client_certificate
    - alternative_server_certificate
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> cert_chain(const std::vector<std::string>&
      cert_key_types,\n                                                      const
      std::vector<AlgorithmIdentifier>& cert_signature_schemes,\n                                                      const
      std::string& type,\n                                                      const
      std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:405,1
    - Dst: client_raw_public_key_pair
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:406,1
    - Dst: server_raw_public_key_pair
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' key_types'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: Botan_Tests::Test_Credentials::find_raw_public_key
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - server_raw_public_key_pair
    - client_raw_public_key_pair
    linkageType: ''
    returnType: std::shared_ptr<Public_Key>
    signature: "std::shared_ptr<Public_Key> find_raw_public_key(const std::vector<std::string>&
      key_types,\n                                                      const std::string&
      type,\n                                                      const std::string&
      context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' cert'
    - ' type'
    - ' context'
    argTypes:
    - Botan::X509_Certificate
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 424
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 424
    functionName: Botan_Tests::Test_Credentials::private_key_for
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Botan::X509_Certificate&
      cert,\n                                                          const std::string&
      type,\n                                                          const std::string&
      context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:429,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:431,1
    - Dst: client_raw_public_key_pair
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:431,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:432,1
    - Dst: server_raw_public_key_pair
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:432,1
    - Dst: fingerprint_public
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:434,1
    - Dst: fingerprint_public
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:434,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' raw_public_key'
    - ' type'
    - ' context'
    argTypes:
    - Public_Key
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: Botan_Tests::Test_Credentials::private_key_for
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - server_raw_public_key_pair
    - std::move
    - client_raw_public_key_pair
    - fingerprint_public
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Public_Key&
      raw_public_key,\n                                                          const
      std::string& type,\n                                                          const
      std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:445,1
    - Dst: value
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:449,1
    - Dst: find
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:450,1
    - Dst: begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:450,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:450,1
    - Dst: identity
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:450,1
    - Dst: empty
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:451,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:451,1
    - Dst: prf_algo
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:455,1
    - Dst: extract_master_secret
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:461,1
    - Dst: ExternalPSK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:462,1
    - Dst: identity
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:462,1
    - Dst: prf_algo
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:462,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:464,1
    - Dst: identity
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:464,1
    - Dst: prf_algo
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' identities'
    - ' prf'
    argTypes:
    - std::vector<std::string>
    - std::optional<std::string>
    constantsTouched: []
    func_position:
      end: 466
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 466
    functionName: Botan_Tests::Test_Credentials::find_preshared_keys
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - extract_master_secret
    - end
    - begin
    - ExternalPSK
    - empty
    - std::vector::emplace_back
    - has_value
    - identity
    - find
    - value
    - prf_algo
    linkageType: ''
    returnType: std::vector<TLS::ExternalPSK>
    signature: "std::vector<TLS::ExternalPSK> find_preshared_keys(std::string_view
      /* host */,\n                                                        TLS::Connection_Side
      /* whoami */,\n                                                        const
      std::vector<std::string>& identities,\n                                                        const
      std::optional<std::string>& prf) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:479,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:481,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:482,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:483,1
    - Dst: Botan_Tests::RFC8448_Text_Policy::RFC8448_Text_Policy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' policy_file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 487
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 487
    functionName: Botan_Tests::RFC8448_Text_Policy::read_policy
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - Botan_Tests::Test::data_file
    - Botan_Tests::RFC8448_Text_Policy::RFC8448_Text_Policy
    - Test_Error
    - std::ifstream::good
    linkageType: ''
    returnType: Botan::TLS::Text_Policy
    signature: Botan::TLS::Text_Policy read_policy(const std::string& policy_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RFC8448_Text_Policy::read_policy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' policy_file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 491
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 491
    functionName: Botan_Tests::RFC8448_Text_Policy::RFC8448_Text_Policy
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::RFC8448_Text_Policy::read_policy
    linkageType: ''
    returnType: void
    signature: void RFC8448_Text_Policy(const std::string& policy_file, bool rfc8448
      = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RFC8448_Text_Policy::allowed_signature_schemes
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:495,1
    - Dst: Botan::TLS::Signature_Scheme::Signature_Scheme
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:514,1
    - Dst: Botan::TLS::Signature_Scheme::Signature_Scheme
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:515,1
    - Dst: Botan::TLS::Signature_Scheme::Signature_Scheme
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:516,1
    - Dst: Botan::TLS::Signature_Scheme::Signature_Scheme
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 519
    functionName: Botan_Tests::RFC8448_Text_Policy::allowed_signature_schemes
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::RFC8448_Text_Policy::allowed_signature_schemes
    - Botan::TLS::Signature_Scheme::Signature_Scheme
    linkageType: ''
    returnType: std::vector<Botan::TLS::Signature_Scheme>
    signature: std::vector<Botan::TLS::Signature_Scheme> allowed_signature_schemes()
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:526,1
    - Dst: key_exchange_groups
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:528,1
    - Dst: std::find_if
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:530,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:530,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:530,1
    - Dst: value_exists
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:531,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' supported_by_peer'
    - ' offered_by_peer'
    argTypes:
    - std::vector<Group_Params>
    - std::vector<Group_Params>
    constantsTouched: []
    func_position:
      end: 535
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 535
    functionName: Botan_Tests::RFC8448_Text_Policy::choose_key_exchange_group
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - auto::begin
    - std::find_if
    - key_exchange_groups
    - auto::end
    - value_exists
    linkageType: ''
    returnType: Named_Group
    signature: "Named_Group choose_key_exchange_group(const std::vector<Group_Params>&
      supported_by_peer,\n                                            const std::vector<Group_Params>&
      offered_by_peer) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle::id
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:550,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:550,1
    - Dst: handle::id
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:551,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:551,1
    - Dst: handle::ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:554,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:554,1
    - Dst: handle::ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:555,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 560
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 560
    functionName: Botan_Tests::RFC8448_Session_Manager::find_by_handle
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - id
    - ticket
    - handle::ticket
    - handle::id
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) find_by_handle(const Session_Handle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Botan::Null_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: Botan_Tests::RFC8448_Session_Manager::RFC8448_Session_Manager
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Botan::Null_RNG>
    linkageType: ''
    returnType: void
    signature: void RFC8448_Session_Manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: '& all_sessions() const'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: std::vector<Session_with_Handle> & all_sessions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' session'
    - ' handle'
    argTypes:
    - Session
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: Botan_Tests::RFC8448_Session_Manager::store
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void store(const Session& session, const Session_Handle& handle) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:576,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:577,1
    - Dst: front
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:580,1
    - Dst: master_secret
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:581,1
    - Dst: master_secret
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:581,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Session
    constantsTouched: []
    func_position:
      end: 586
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 586
    functionName: Botan_Tests::RFC8448_Session_Manager::establish
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - front
    - Test_Error
    - master_secret
    - size
    linkageType: ''
    returnType: std::optional<Session_Handle>
    signature: std::optional<Session_Handle> establish(const Session& session, const
      std::optional<Session_ID>&, bool) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:589,1
    - Dst: begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:589,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:589,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::find_by_handle
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:589,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 595
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 595
    functionName: Botan_Tests::RFC8448_Session_Manager::retrieve_one
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::find_if
    - begin
    - Botan_Tests::RFC8448_Session_Manager::find_by_handle
    linkageType: ''
    returnType: std::optional<Session>
    signature: std::optional<Session> retrieve_one(const Session_Handle& handle) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_info
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:600,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - Server_Information
    constantsTouched: []
    func_position:
      end: 606
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 606
    functionName: Botan_Tests::RFC8448_Session_Manager::find_some
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - server_info
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: std::vector<Session_with_Handle> find_some(const Server_Information&
      info, const size_t) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::erase_if
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:608,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::find_by_handle
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 608
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 608
    functionName: Botan_Tests::RFC8448_Session_Manager::remove
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - std::erase_if
    - Botan_Tests::RFC8448_Session_Manager::find_by_handle
    linkageType: ''
    returnType: size_t
    signature: size_t remove(const Session_Handle& handle) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:611,1
    - Dst: clear
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 614
    functionName: Botan_Tests::RFC8448_Session_Manager::remove_all
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - clear
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t remove_all() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Test_TLS_13_Callbacks>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:636,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:637,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:637,1
    - Dst: std::make_shared<Test_Credentials>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:638,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:638,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:639,1
    - Dst: std::make_shared<RFC8448_Session_Manager>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:640,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:641,1
    - Dst: std::optional<std::pair<Session, Session_Ticket>>::has_value
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:642,1
    - Dst: store
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:643,1
    - Dst: std::get<Session>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:643,1
    - Dst: std::optional<std::pair<Session, Session_Ticket>>::value
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:643,1
    - Dst: std::get<Session_Ticket>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:644,1
    - Dst: std::optional<std::pair<Session, Session_Ticket>>::value
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - rng_in
    - policy
    - modify_exts_cb
    - mock_signatures
    - timestamp
    - session_and_ticket
    - external_psk
    - use_alternative_server_certificate
    argTypes:
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::shared_ptr<const RFC8448_Text_Policy>
    - Modify_Exts_Fn
    - std::vector<MockSignature>
    - uint64_t
    - std::optional<std::pair<Session, Session_Ticket>>
    - std::optional<ExternalPSK>
    - bool
    constantsTouched: []
    func_position:
      end: 646
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 646
    functionName: Botan_Tests::TLS_Context::TLS_Context
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<Test_Credentials>
    - std::get<Session_Ticket>
    - std::make_shared<Test_TLS_13_Callbacks>
    - std::make_shared<RFC8448_Session_Manager>
    - std::optional<std::pair<Session, Session_Ticket>>::value
    - std::get<Session>
    - std::optional<std::pair<Session, Session_Ticket>>::has_value
    - store
    linkageType: ''
    returnType: void
    signature: "void TLS_Context(std::shared_ptr<Botan::RandomNumberGenerator> rng_in,\n
      \                 std::shared_ptr<const RFC8448_Text_Policy> policy,\n                  Modify_Exts_Fn
      modify_exts_cb,\n                  std::vector<MockSignature> mock_signatures,\n
      \                 uint64_t timestamp,\n                  std::optional<std::pair<Session,
      Session_Ticket>> session_and_ticket,\n                  std::optional<ExternalPSK>
      external_psk,\n                  bool use_alternative_server_certificate)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 649
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 649
    functionName: ~TLS_Context()
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLS_Context()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 651
    functionName: Botan_Tests::TLS_Context::TLS_Context
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Context(TLS_Context&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 652
    functionName: '& operator=(const TLS_Context&)'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLS_Context
    signature: TLS_Context & operator=(const TLS_Context&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 654
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 654
    functionName: Botan_Tests::TLS_Context::TLS_Context
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Context(TLS_Context&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 655
    functionName: '& operator=(TLS_Context&&)'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLS_Context
    signature: TLS_Context & operator=(TLS_Context&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_Context::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 657
    functionName: Botan_Tests::TLS_Context::pull_send_buffer
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::TLS_Context::pull_send_buffer
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> pull_send_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_Context::pull_receive_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 659
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 659
    functionName: Botan_Tests::TLS_Context::pull_receive_buffer
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::TLS_Context::pull_receive_buffer
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> pull_receive_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_Context::last_received_seq_no
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 661
    functionName: Botan_Tests::TLS_Context::last_received_seq_no
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::TLS_Context::last_received_seq_no
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t last_received_seq_no() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:671,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:673,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:673,1
    - Dst: contains
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:674,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:674,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:681,1
    - Dst: find
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:683,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:683,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:683,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:683,1
    - Dst: reset_callback_invocation_counters
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:686,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ' result'
    - ' context'
    - ' callback_names'
    argTypes:
    - Test::Result
    - std::string
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 687
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 687
    functionName: Botan_Tests::TLS_Context::check_callback_invocations
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - contains
    - Botan::fmt
    - at
    - cend
    - reset_callback_invocation_counters
    - cbegin
    - confirm
    - find
    - callback_invocations
    linkageType: ''
    returnType: void
    signature: "void check_callback_invocations(Test::Result& result,\n                                      const
      std::string& context,\n                                      const std::vector<std::string>&
      callback_names)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: all_sessions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 689
    functionName: '& stored_sessions() const'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - all_sessions
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: std::vector<Session_with_Handle> & stored_sessions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 691
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 691
    functionName: '& certs_verified() const'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: std::vector<Botan::X509_Certificate> & certs_verified() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: '& psk_identity_negotiated() const'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & psk_identity_negotiated() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 695
    functionName: Botan_Tests::TLS_Context::observed_handshake_messages
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) observed_handshake_messages() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:720,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:721,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:722,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:723,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:725,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:726,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - rng_in
    - policy
    - timestamp
    - modify_exts_cb
    argTypes:
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::shared_ptr<const RFC8448_Text_Policy>
    - uint64_t
    - Modify_Exts_Fn
    constantsTouched: []
    func_position:
      end: 734
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 734
    functionName: Botan_Tests::Client_Context::Client_Context
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Server_Information
    linkageType: ''
    returnType: void
    signature: "void Client_Context(std::shared_ptr<Botan::RandomNumberGenerator>
      rng_in,\n                     std::shared_ptr<const RFC8448_Text_Policy> policy,\n
      \                    uint64_t timestamp,\n                     Modify_Exts_Fn
      modify_exts_cb,\n                     std::optional<std::pair<Session, Session_Ticket>>
      session_and_ticket = std::nullopt,\n                     std::optional<ExternalPSK>
      external_psk = std::nullopt,\n                     std::vector<MockSignature>
      mock_signatures = {})"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Client_Context::send
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:736,1
    - Dst: data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:736,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 736
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 736
    functionName: Botan_Tests::Client_Context::send
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - data
    - Botan_Tests::Client_Context::send
    - size
    linkageType: ''
    returnType: void
    signature: void send(const std::vector<uint8_t>& data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:751,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:752,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:753,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:754,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:756,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - rng
    - policy
    - timestamp
    - modify_exts_cb
    - mock_signatures
    argTypes:
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::shared_ptr<const RFC8448_Text_Policy>
    - uint64_t
    - Modify_Exts_Fn
    - std::vector<MockSignature>
    constantsTouched: []
    func_position:
      end: 759
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 759
    functionName: Botan_Tests::Server_Context::Server_Context
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Server_Context(std::shared_ptr<Botan::RandomNumberGenerator>
      rng,\n                     std::shared_ptr<const RFC8448_Text_Policy> policy,\n
      \                    uint64_t timestamp,\n                     Modify_Exts_Fn
      modify_exts_cb,\n                     std::vector<MockSignature> mock_signatures,\n
      \                    bool use_alternative_server_certificate = false,\n                     std::optional<std::pair<Session,
      Session_Ticket>> session_and_ticket = std::nullopt,\n                     std::optional<ExternalPSK>
      external_psk = std::nullopt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Server_Context::send
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:761,1
    - Dst: data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:761,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 761
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 761
    functionName: Botan_Tests::Server_Context::send
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - data
    - size
    - Botan_Tests::Server_Context::send
    linkageType: ''
    returnType: void
    signature: void send(const std::vector<uint8_t>& data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:768,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:770,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' exts'
    - ' expected_order'
    argTypes:
    - Botan::TLS::Extensions
    - std::vector<Botan::TLS::Extension_Code>
    constantsTouched: []
    func_position:
      end: 773
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 773
    functionName: Botan_Tests::sort_extensions
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - std::move
    - take
    linkageType: ''
    returnType: void
    signature: void sort_extensions(Botan::TLS::Extensions& exts, const std::vector<Botan::TLS::Extension_Code>&
      expected_order)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:783,1
    - Dst: Botan_Tests::Padding::static_type
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:796,1
    - Dst: Botan_Tests::sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' exts'
    - side
    argTypes:
    - Botan::TLS::Extensions
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 812
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 812
    functionName: Botan_Tests::sort_rfc8448_extensions
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Padding::static_type
    - Botan_Tests::sort_extensions
    linkageType: ''
    returnType: void
    signature: "void sort_rfc8448_extensions(Botan::TLS::Extensions& exts,\n                             Botan::TLS::Connection_Side
      side,\n                             Botan::TLS::Handshake_Type = Botan::TLS::Handshake_Type::ClientHello)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:817,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' exts'
    argTypes:
    - Botan::TLS::Extensions
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: Botan_Tests::add_renegotiation_extension
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - Renegotiation_Extension::Renegotiation_Extension
    linkageType: ''
    returnType: void
    signature: void add_renegotiation_extension(Botan::TLS::Extensions& exts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:821,1
    - Dst: Botan::TLS::EarlyDataIndication::EarlyDataIndication
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' exts'
    argTypes:
    - Botan::TLS::Extensions
    constantsTouched: []
    func_position:
      end: 822
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 822
    functionName: Botan_Tests::add_early_data_indication
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - Botan::TLS::EarlyDataIndication::EarlyDataIndication
    linkageType: ''
    returnType: void
    signature: void add_early_data_indication(Botan::TLS::Extensions& exts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:825,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:825,1
    - Dst: begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:826,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: Botan_Tests::strip_message_header
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> strip_message_header(const std::vector<uint8_t>&
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:833,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:833,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:834,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:834,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:834,1
    - Dst: mock
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:838,1
    - Dst: mock
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 842
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 842
    functionName: Botan_Tests::make_mock_signatures
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - mock
    - get_opt_bin
    - std::vector::push_back
    - has_key
    linkageType: ''
    returnType: std::vector<MockSignature>
    signature: std::vector<MockSignature> make_mock_signatures(const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 935
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 935
    functionName: Botan_Tests::Test_TLS_RFC8448::Test_TLS_RFC8448
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_TLS_RFC8448()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::checkZeroResult
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:939,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:939,1
    - Dst: simple_1_rtt
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:939,1
    - Dst: cryptofuzz::tests::checkZeroResult
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:941,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:941,1
    - Dst: resumed_handshake_with_0_rtt
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:941,1
    - Dst: cryptofuzz::tests::checkZeroResult
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:943,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:943,1
    - Dst: hello_retry_request
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:944,1
    - Dst: cryptofuzz::tests::checkZeroResult
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:946,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:946,1
    - Dst: client_authentication
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:946,1
    - Dst: cryptofuzz::tests::checkZeroResult
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:948,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:948,1
    - Dst: middlebox_compatibility
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:948,1
    - Dst: cryptofuzz::tests::checkZeroResult
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:950,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:950,1
    - Dst: externally_provided_psk_with_ephemeral_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:951,1
    - Dst: cryptofuzz::tests::checkZeroResult
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:953,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:953,1
    - Dst: raw_public_key_with_client_authentication
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:954,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:956,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 958
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 958
    functionName: Botan_Tests::Test_TLS_RFC8448::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - externally_provided_psk_with_ephemeral_key
    - simple_1_rtt
    - client_authentication
    - middlebox_compatibility
    - cryptofuzz::tests::checkZeroResult
    - Botan_Tests::Test::Result::Failure
    - raw_public_key_with_client_authentication
    - side
    - resumed_handshake_with_0_rtt
    - hello_retry_request
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 963
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 963
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::side
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string side() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:966,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:970,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:970,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:979,1
    - Dst: Botan::TLS::Session_Ticket_Extension::Session_Ticket_Extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:979,1
    - Dst: add_renegotiation_extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:981,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:982,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:989,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:991,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:992,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:993,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:996,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:996,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:997,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1007,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1008,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1008,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1011,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1013,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1014,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1016,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1016,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1017,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1017,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1019,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1020,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1022,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1023,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1029,1
    - Dst: std::unique_ptr::client::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1029,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1030,1
    - Dst: std::unique_ptr::client::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1030,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1033,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1035,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1036,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1036,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1038,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1052,1
    - Dst: std::unique_ptr::certs_verified
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1052,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1053,1
    - Dst: std::unique_ptr::certs_verified
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1053,1
    - Dst: server_certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1053,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1054,1
    - Dst: std::unique_ptr::client::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1054,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1055,1
    - Dst: std::unique_ptr::client::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1055,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1057,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1058,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1059,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1062,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1064,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1065,1
    - Dst: std::unique_ptr::stored_sessions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1065,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1066,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1066,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1068,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1073,1
    - Dst: std::unique_ptr::stored_sessions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1073,1
    - Dst: std::unique_ptr::stored_sessions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1074,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1075,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1075,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1076,1
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1077,1
    - Dst: DER_encode
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1077,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1078,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1082,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1084,1
    - Dst: std::unique_ptr::send
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1085,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1085,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1087,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1089,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1090,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1091,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1094,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1096,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1097,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1097,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1099,1
    - Dst: std::unique_ptr::pull_receive_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1101,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1102,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1102,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1103,1
    - Dst: std::unique_ptr::last_received_seq_no
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1103,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1106,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1108,1
    - Dst: std::unique_ptr::client::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1109,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1111,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1112,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1112,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1113,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1115,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1115,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1116,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1119,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 59
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1122
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 1122
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::simple_1_rtt
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - get_req_u64
    - std::unique_ptr::certs_verified
    - test_eq
    - ticket
    - auto::end
    - CHECK
    - std::unique_ptr::client::is_handshake_complete
    - test_is_eq
    - Botan::TLS::Session_Ticket_Extension::Session_Ticket_Extension
    - std::unique_ptr::client::close
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - std::unique_ptr::client::received_data
    - confirm
    - std::make_shared<Fixed_Output_RNG>
    - DER_encode
    - std::make_shared<RFC8448_Text_Policy>
    - add_renegotiation_extension
    - auto::begin
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::pull_receive_buffer
    - std::unique_ptr::last_received_seq_no
    - Botan::unlock
    - std::make_unique<Client_Context>
    - std::unique_ptr::stored_sessions
    - std::unique_ptr::client::is_active
    - std::unique_ptr::send
    - get_req_bin
    - require
    - server_certificate
    - sort_rfc8448_extensions
    - std::unique_ptr::client::is_closed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> simple_1_rtt(const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1125,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1129,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1129,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1135,1
    - Dst: Padding::Padding
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1135,1
    - Dst: add_renegotiation_extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1137,1
    - Dst: add_early_data_indication
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1143,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1144,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1151,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1153,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1154,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1155,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1156,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1158,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1158,1
    - Dst: Botan::TLS::Session_Ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1159,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1159,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1161,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1161,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1162,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1172,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1173,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1180
      start: 1124
    functionDepth: 3
    functionLinenumber: 1124
    functionLinenumberEnd: 1180
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::resumed_handshake_with_0_rtt
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - std::move
    - get_req_u64
    - test_eq
    - add_early_data_indication
    - CHECK
    - std::make_unique<Fixed_Output_RNG>
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - confirm
    - std::make_shared<RFC8448_Text_Policy>
    - add_renegotiation_extension
    - std::unique_ptr::pull_send_buffer
    - TestSession::TestSession
    - std::make_unique<Client_Context>
    - Botan::TLS::Session_Ticket
    - get_req_bin
    - sort_rfc8448_extensions
    - Padding::Padding
    - std::unique_ptr::client::is_closed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> resumed_handshake_with_0_rtt(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_renegotiation_extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1190,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1196,1
    - Dst: Padding::Padding
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1196,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1199,1
    - Dst: Botan_Tests::Test_TLS_RFC8448_Client::rng
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1204,1
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1205,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1210,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1210,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1215,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1217,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1217,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1218,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1219,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1221,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1221,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1223,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1233,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1234,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1234,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1237,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1239,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1240,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1240,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1242,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1253,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1254,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1254,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1257,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1259,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1260,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1260,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1262,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1271,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1273,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1274,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1274,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1276,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1291,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1292,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1292,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1295,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1297,1
    - Dst: std::unique_ptr::client::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1298,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1299,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1301,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1302,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1302,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1304,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1304,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1305,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1308,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1311
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1311
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::hello_retry_request
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - std::move
    - get_req_u64
    - test_eq
    - CHECK
    - std::make_unique<Fixed_Output_RNG>
    - std::unique_ptr::client::close
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - std::unique_ptr::client::received_data
    - confirm
    - std::make_shared<RFC8448_Text_Policy>
    - add_renegotiation_extension
    - std::unique_ptr::pull_send_buffer
    - std::make_unique<Client_Context>
    - Botan_Tests::Test_TLS_RFC8448_Client::rng
    - get_req_bin
    - require
    - sort_rfc8448_extensions
    - Padding::Padding
    - std::unique_ptr::client::is_closed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> hello_retry_request(const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1314,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1318,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1318,1
    - Dst: add_renegotiation_extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1324,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1325,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1332,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1334,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1334,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1335,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1336,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1340,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1342,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1352,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1352,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1352,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1355,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1357,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1358,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1358,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1360,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1369,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1371,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1372,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1372,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1374,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1397,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1398,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1398,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1401,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1403,1
    - Dst: std::unique_ptr::client::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1404,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1405,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1406,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1406,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1408,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1414,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1414,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1415,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1415,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1421
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1421
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::client_authentication
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - get_req_u64
    - test_eq
    - CHECK
    - std::make_unique<Fixed_Output_RNG>
    - std::unique_ptr::client::close
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - std::unique_ptr::client::received_data
    - confirm
    - std::make_shared<RFC8448_Text_Policy>
    - add_renegotiation_extension
    - std::unique_ptr::pull_send_buffer
    - std::make_unique<Client_Context>
    - get_req_bin
    - require
    - sort_rfc8448_extensions
    - make_mock_signatures
    - std::unique_ptr::client::is_closed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> client_authentication(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1424,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1429,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1429,1
    - Dst: add_renegotiation_extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1435,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1436,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1443,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1446,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1446,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1447,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1448,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1451,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1451,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1451,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1453,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1464,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1466,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1467,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1468,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1468,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1470,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1472,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1492,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1493,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1495,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1497,1
    - Dst: std::unique_ptr::client::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1497,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1498,1
    - Dst: std::unique_ptr::client::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1498,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1501,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1503,1
    - Dst: std::unique_ptr::client::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1504,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1506,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1507,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1507,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1509,1
    - Dst: std::unique_ptr::client::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1509,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1510,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1510,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1511,1
    - Dst: std::unique_ptr::client::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1511,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1513,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1513,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1515,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1518
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1518
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::middlebox_compatibility
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - get_req_u64
    - test_eq
    - std::unique_ptr::client::is_handshake_complete
    - CHECK
    - std::make_unique<Fixed_Output_RNG>
    - std::unique_ptr::client::close
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - std::unique_ptr::client::received_data
    - confirm
    - std::make_shared<RFC8448_Text_Policy>
    - add_renegotiation_extension
    - std::unique_ptr::pull_send_buffer
    - std::make_unique<Client_Context>
    - std::unique_ptr::client::is_active
    - get_req_bin
    - require
    - Botan::concat
    - sort_rfc8448_extensions
    - std::unique_ptr::client::is_closed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> middlebox_compatibility(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1521,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1525,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1525,1
    - Dst: sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1533,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1549,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1551,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1552,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1553,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1554,1
    - Dst: ExternalPSK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1557,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1557,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1558,1
    - Dst: lock
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1559,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1559,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1561,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1561,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1562,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1572,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1573,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1573,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1576,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1578,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1579,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1580,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1581,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1587,1
    - Dst: std::unique_ptr::client::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1587,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1588,1
    - Dst: std::unique_ptr::client::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1588,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1591,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1594,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1595,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1595,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1597,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1606,1
    - Dst: std::unique_ptr::psk_identity_negotiated
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1606,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1606,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1607,1
    - Dst: std::unique_ptr::client::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1607,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1608,1
    - Dst: std::unique_ptr::client::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1608,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1610,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1611,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1611,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1614,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1616,1
    - Dst: std::unique_ptr::send
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1617,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1617,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1619,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1621,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1622,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1623,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1626,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1628,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1629,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1629,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1631,1
    - Dst: std::unique_ptr::pull_receive_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1633,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1634,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1634,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1635,1
    - Dst: std::unique_ptr::last_received_seq_no
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1635,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1638,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1640,1
    - Dst: std::unique_ptr::client::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1641,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1643,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1644,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1644,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1645,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1647,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1647,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1648,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1651,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1654
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1654
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::externally_provided_psk_with_ephemeral_key
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::unique_ptr::psk_identity_negotiated
    - get_req_u64
    - get_req_str
    - test_eq
    - CHECK
    - std::unique_ptr::client::is_handshake_complete
    - test_is_eq
    - std::make_unique<Fixed_Output_RNG>
    - ExternalPSK
    - std::unique_ptr::client::close
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - std::unique_ptr::client::received_data
    - confirm
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::pull_receive_buffer
    - std::unique_ptr::last_received_seq_no
    - sort_extensions
    - std::make_unique<Client_Context>
    - std::unique_ptr::client::is_active
    - std::unique_ptr::send
    - get_req_bin
    - require
    - lock
    - std::unique_ptr::client::is_closed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> externally_provided_psk_with_ephemeral_key(const
      VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1657,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1661,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1661,1
    - Dst: sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1670,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1687,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1689,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1689,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1690,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1691,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1695,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1697,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1707,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1707,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1707,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1710,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1712,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1713,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1713,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1715,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1724,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1726,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1727,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1727,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1729,1
    - Dst: std::unique_ptr::client::peer_raw_public_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1750,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1751,1
    - Dst: auto::fingerprint_public
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1753,1
    - Dst: server_raw_public_key_pair
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1753,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1757,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1758,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1758,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1761,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1763,1
    - Dst: std::unique_ptr::client::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1764,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1765,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1766,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1766,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1768,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1774,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1774,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1775,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1775,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1781
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1781
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::raw_public_key_with_client_authentication
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - get_req_u64
    - test_eq
    - CHECK
    - std::make_unique<Fixed_Output_RNG>
    - std::unique_ptr::client::close
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - std::unique_ptr::client::received_data
    - confirm
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::pull_send_buffer
    - sort_extensions
    - std::make_unique<Client_Context>
    - get_req_bin
    - require
    - server_raw_public_key_pair
    - std::unique_ptr::client::peer_raw_public_key
    - make_mock_signatures
    - std::unique_ptr::client::is_closed
    - auto::fingerprint_public
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> raw_public_key_with_client_authentication(const
      VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1786
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::side
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string side() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1789,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1794,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1794,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1799,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1805,1
    - Dst: EarlyDataIndication::EarlyDataIndication
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1805,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1807,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1810,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1811,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1812,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1813,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1815,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1817,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1817,1
    - Dst: Botan::TLS::Session_Ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1818,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1818,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1819,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1819,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1821,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1821,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1823,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1841,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1843,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1844,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1846,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1847,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1848,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1848,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1849,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1850,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1851,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1851,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1852,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1853,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1854,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1854,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1855,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1856,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1857,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1857,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1859,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1860,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1861,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1861,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1862,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1869,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1869,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1870,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1870,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1873,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1875,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1876,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1876,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1878,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1886,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1888,1
    - Dst: std::unique_ptr::server::send_new_session_tickets
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1889,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1891,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1893,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1902,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1904,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1905,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1906,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1906,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1909,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1911,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1912,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1912,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1913,1
    - Dst: std::unique_ptr::pull_receive_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1915,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1916,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1916,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1917,1
    - Dst: std::unique_ptr::last_received_seq_no
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1917,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1920,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1922,1
    - Dst: std::unique_ptr::send
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1923,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1923,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1925,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1927,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1928,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1929,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1932,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1934,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1935,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1935,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1937,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1940,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1940,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1941,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1941,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1942,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1942,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1945,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1947,1
    - Dst: std::unique_ptr::server::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1948,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1950,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1950,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1951,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1951,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1952,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1952,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1953,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1954,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 58
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1958
      start: 1788
    functionDepth: 3
    functionLinenumber: 1788
    functionLinenumberEnd: 1958
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::simple_1_rtt
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - std::move
    - std::unique_ptr::server::is_active
    - get_req_u64
    - test_eq
    - concat
    - CHECK
    - test_is_eq
    - std::make_unique<Fixed_Output_RNG>
    - EarlyDataIndication::EarlyDataIndication
    - std::unique_ptr::server::is_handshake_complete
    - std::unique_ptr::server::close
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - strip_message_header
    - confirm
    - std::make_unique<Server_Context>
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::pull_send_buffer
    - at
    - std::unique_ptr::pull_receive_buffer
    - std::unique_ptr::last_received_seq_no
    - TestSession::TestSession
    - std::unique_ptr::server::send_new_session_tickets
    - Botan::TLS::Session_Ticket
    - std::unique_ptr::send
    - get_req_bin
    - require
    - get_opt_bin
    - std::unique_ptr::observed_handshake_messages
    - std::unique_ptr::server::received_data
    - sort_rfc8448_extensions
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> simple_1_rtt(const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1961,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1965,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1965,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1970,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1976,1
    - Dst: EarlyDataIndication::EarlyDataIndication
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1976,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1978,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1981,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1982,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1983,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1984,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1986,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1988,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1988,1
    - Dst: Botan::TLS::Session_Ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1989,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1989,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1990,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1990,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1992,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1992,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1994,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2011,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2013,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2014,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2016,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2017,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2018,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2018,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2019,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2020,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2021,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2021,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2023,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2024,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2025,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2025,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2026,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2033,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2033,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2034,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 2041
      start: 1960
    functionDepth: 3
    functionLinenumber: 1960
    functionLinenumberEnd: 2041
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::resumed_handshake_with_0_rtt
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - std::move
    - std::unique_ptr::server::is_active
    - get_req_u64
    - test_eq
    - concat
    - CHECK
    - std::make_unique<Fixed_Output_RNG>
    - EarlyDataIndication::EarlyDataIndication
    - std::unique_ptr::server::is_handshake_complete
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - strip_message_header
    - confirm
    - std::make_unique<Server_Context>
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::pull_send_buffer
    - at
    - TestSession::TestSession
    - Botan::TLS::Session_Ticket
    - get_req_bin
    - require
    - get_opt_bin
    - std::unique_ptr::observed_handshake_messages
    - std::unique_ptr::server::received_data
    - sort_rfc8448_extensions
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> resumed_handshake_with_0_rtt(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_RFC8448_Server::rng
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2045,1
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2046,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2050,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2050,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2055,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2062,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2062,1
    - Dst: Cookie::Cookie
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2062,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2064,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2067,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2067,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2068,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2069,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2071,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2072,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2072,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2074,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2074,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2076,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2085,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2087,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2088,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2089,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2090,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2091,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2091,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2092,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2092,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2095,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2097,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2098,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2098,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2100,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2118,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2120,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2121,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2123,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2124,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2125,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2125,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2126,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2127,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2128,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2128,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2129,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2130,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2131,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2131,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2132,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2133,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2134,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2134,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2135,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2136,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2137,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2137,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2139,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2140,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2141,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2141,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2142,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2143,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2143,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2144,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2145,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2148,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2150,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2151,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2151,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2153,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2160,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2160,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2161,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2161,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2164,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2166,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2167,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2167,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2169,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2172,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2172,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2173,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2173,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2174,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2174,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2177,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2179,1
    - Dst: std::unique_ptr::server::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2180,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2182,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2182,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2183,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2183,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2184,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2184,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2185,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2186,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 2191
      start: 2043
    functionDepth: 2
    functionLinenumber: 2043
    functionLinenumberEnd: 2191
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::hello_retry_request
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - Cookie::Cookie
    - std::move
    - std::unique_ptr::server::is_active
    - get_req_u64
    - test_eq
    - concat
    - CHECK
    - std::make_unique<Fixed_Output_RNG>
    - std::unique_ptr::server::is_handshake_complete
    - std::unique_ptr::server::close
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - strip_message_header
    - confirm
    - Botan_Tests::Test_TLS_RFC8448_Server::rng
    - std::make_unique<Server_Context>
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::pull_send_buffer
    - at
    - get_req_bin
    - require
    - get_opt_bin
    - std::unique_ptr::observed_handshake_messages
    - std::unique_ptr::server::received_data
    - sort_rfc8448_extensions
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> hello_retry_request(const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2194,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2198,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2198,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2203,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2205,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2206,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2207,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2208,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2210,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2212,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2212,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2214,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2214,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2216,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2236,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2238,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2239,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2241,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2242,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2243,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2243,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2244,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2245,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2246,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2246,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2247,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2248,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2249,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2249,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2250,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2251,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2252,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2252,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2253,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2254,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2255,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2255,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2256,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2257,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2258,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2258,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2260,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2261,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2262,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2262,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2263,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2265,1
    - Dst: std::unique_ptr::server::peer_cert_chain
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2265,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2266,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2266,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2267,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2268,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2271,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2273,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2278,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2278,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2280,1
    - Dst: std::unique_ptr::server::peer_cert_chain
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2292,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2293,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2294,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2294,1
    - Dst: client_certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2294,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2296,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2296,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2297,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2297,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2300,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2302,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2303,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2303,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2305,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2308,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2308,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2309,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2309,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2310,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2310,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2313,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2315,1
    - Dst: std::unique_ptr::server::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2316,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2318,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2318,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2319,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2319,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2320,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2320,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2321,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2322,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 2327
      start: 2193
    functionDepth: 2
    functionLinenumber: 2193
    functionLinenumberEnd: 2327
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::client_authentication
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - auto::front
    - std::unique_ptr::server::is_active
    - get_req_u64
    - client_certificate
    - test_eq
    - std::unique_ptr::server::peer_cert_chain
    - concat
    - CHECK
    - std::make_unique<Fixed_Output_RNG>
    - std::unique_ptr::server::is_handshake_complete
    - std::unique_ptr::server::close
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - strip_message_header
    - confirm
    - std::make_unique<Server_Context>
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::pull_send_buffer
    - at
    - get_req_bin
    - require
    - get_opt_bin
    - std::unique_ptr::observed_handshake_messages
    - std::unique_ptr::server::received_data
    - auto::empty
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> client_authentication(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2330,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2334,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2334,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2339,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2342,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2342,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2343,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2344,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2346,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2347,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2347,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2349,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2349,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2351,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2369,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2371,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2372,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2374,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2375,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2376,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2376,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2377,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2378,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2379,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2379,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2380,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2381,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2382,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2382,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2383,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2384,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2385,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2385,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2386,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2387,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2388,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2388,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2391,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2392,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2393,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2393,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2394,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2396,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2396,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2397,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2398,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2401,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2403,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2404,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2404,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2406,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2413,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2413,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2414,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2414,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2417,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2419,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2420,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2420,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2422,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2425,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2425,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2426,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2426,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2427,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2427,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2430,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2432,1
    - Dst: std::unique_ptr::server::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2433,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2435,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2435,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2436,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2436,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2437,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2437,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2438,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2439,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 2444
      start: 2329
    functionDepth: 2
    functionLinenumber: 2329
    functionLinenumberEnd: 2444
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::middlebox_compatibility
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::unique_ptr::server::is_active
    - get_req_u64
    - test_eq
    - concat
    - CHECK
    - std::make_unique<Fixed_Output_RNG>
    - std::unique_ptr::server::is_handshake_complete
    - std::unique_ptr::server::close
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - strip_message_header
    - confirm
    - std::make_unique<Server_Context>
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::pull_send_buffer
    - at
    - get_req_bin
    - require
    - get_opt_bin
    - std::unique_ptr::observed_handshake_messages
    - std::unique_ptr::server::received_data
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> middlebox_compatibility(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2447,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2451,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2451,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2456,1
    - Dst: sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2465,1
    - Dst: sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2472,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2481,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2482,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2483,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2484,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2486,1
    - Dst: ExternalPSK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2489,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2489,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2490,1
    - Dst: lock
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2491,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2491,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2492,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2492,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2494,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2494,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2496,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2510,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2512,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2513,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2515,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2516,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2517,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2517,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2518,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2519,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2520,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2520,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2521,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2522,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2523,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2523,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2525,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2526,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2527,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2527,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2528,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2530,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2530,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2531,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2532,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2535,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2537,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2538,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2538,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2539,1
    - Dst: std::unique_ptr::psk_identity_negotiated
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2540,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2540,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2542,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2550,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2552,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2553,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2553,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2554,1
    - Dst: std::unique_ptr::pull_receive_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2556,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2557,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2557,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2558,1
    - Dst: std::unique_ptr::last_received_seq_no
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2558,1
    - Dst: std::unique_ptr::send
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2560,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2560,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2561,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2562,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2563,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2564,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2567,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2569,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2570,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2570,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2572,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2575,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2575,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2576,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2576,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2577,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2577,1
    - Dst: std::unique_ptr::server::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2579,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2581,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2581,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2582,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2582,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2583,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2583,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2584,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2585,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 2589
      start: 2446
    functionDepth: 2
    functionLinenumber: 2446
    functionLinenumberEnd: 2589
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::externally_provided_psk_with_ephemeral_key
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::unique_ptr::psk_identity_negotiated
    - std::unique_ptr::server::is_active
    - get_req_u64
    - get_req_str
    - test_eq
    - concat
    - CHECK
    - test_is_eq
    - std::make_unique<Fixed_Output_RNG>
    - ExternalPSK
    - std::unique_ptr::server::is_handshake_complete
    - std::unique_ptr::server::close
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - strip_message_header
    - confirm
    - std::make_unique<Server_Context>
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::pull_send_buffer
    - at
    - std::unique_ptr::pull_receive_buffer
    - std::unique_ptr::last_received_seq_no
    - sort_extensions
    - std::unique_ptr::send
    - get_req_bin
    - require
    - lock
    - get_opt_bin
    - std::unique_ptr::observed_handshake_messages
    - std::unique_ptr::server::received_data
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> externally_provided_psk_with_ephemeral_key(const
      VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2592,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2596,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2596,1
    - Dst: sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2605,1
    - Dst: sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2614,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2625,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2627,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2627,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2628,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2629,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2631,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2632,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2632,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2634,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2634,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2636,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2656,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2658,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2659,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2661,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2662,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2663,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2663,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2664,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2665,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2666,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2666,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2667,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2668,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2669,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2669,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2670,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2671,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2672,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2672,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2673,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2674,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2675,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2675,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2676,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2677,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2678,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2678,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2680,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2681,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2682,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2682,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2683,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2685,1
    - Dst: std::unique_ptr::server::peer_cert_chain
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2685,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2686,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2686,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2687,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2688,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2691,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2693,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2698,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2698,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2700,1
    - Dst: std::unique_ptr::server::peer_raw_public_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2712,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2713,1
    - Dst: auto::fingerprint_public
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2715,1
    - Dst: client_raw_public_key_pair
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2715,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2717,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2717,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2718,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2718,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2721,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2723,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2724,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2724,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2726,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2729,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2729,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2730,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2730,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2731,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2731,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2734,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2736,1
    - Dst: std::unique_ptr::server::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2737,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2739,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2739,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2740,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2740,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2741,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2741,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2742,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2743,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 2747
      start: 2591
    functionDepth: 2
    functionLinenumber: 2591
    functionLinenumberEnd: 2747
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::raw_public_key_with_client_authentication
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::unique_ptr::server::is_active
    - get_req_u64
    - test_eq
    - std::unique_ptr::server::peer_cert_chain
    - concat
    - CHECK
    - std::make_unique<Fixed_Output_RNG>
    - client_raw_public_key_pair
    - std::unique_ptr::server::is_handshake_complete
    - std::unique_ptr::server::peer_raw_public_key
    - std::unique_ptr::server::close
    - std::unique_ptr::check_callback_invocations
    - add_entropy
    - strip_message_header
    - confirm
    - std::make_unique<Server_Context>
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::pull_send_buffer
    - at
    - sort_extensions
    - get_req_bin
    - require
    - get_opt_bin
    - std::unique_ptr::observed_handshake_messages
    - std::unique_ptr::server::received_data
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    - auto::fingerprint_public
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> raw_public_key_with_client_authentication(const
      VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::RFC6979_KAT_Tests::RFC6979_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_rfc6979.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RFC6979_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rfc6979.cpp:25,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rfc6979.cpp:26,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rfc6979.cpp:27,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rfc6979.cpp:28,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_rfc6979.cpp:32,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_rfc6979.cpp:35,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rfc6979.cpp:39,1
    - Dst: Botan::generate_rfc6979_nonce
      Src: /src/botan/src/tests/test_rfc6979.cpp:39,1
    - Dst: BigInt::bits
      Src: /src/botan/src/tests/test_rfc6979.cpp:41,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rfc6979.cpp:43,1
    - Dst: Botan::RFC6979_Nonce_Generator::nonce_for
      Src: /src/botan/src/tests/test_rfc6979.cpp:43,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_rfc6979.cpp:44,1
    - Dst: Botan::RFC6979_Nonce_Generator::nonce_for
      Src: /src/botan/src/tests/test_rfc6979.cpp:44,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rfc6979.cpp:45,1
    - Dst: Botan::RFC6979_Nonce_Generator::nonce_for
      Src: /src/botan/src/tests/test_rfc6979.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' hash'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 48
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 48
    functionName: Botan_Tests::RFC6979_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_rfc6979.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - get_req_bn
    - BigInt::bits
    - Test::Result::test_eq
    - Botan::generate_rfc6979_nonce
    - Test::Result::test_ne
    - Botan::RFC6979_Nonce_Generator::nonce_for
    - Botan::HashFunction::create
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& hash, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:18,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:18,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:19,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:19,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:20,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:20,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:22,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:22,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:23,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:23,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:24,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:24,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:26,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:26,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:27,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:27,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:28,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:28,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:30,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:30,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:31,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:31,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:32,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:32,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:34,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:34,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:35,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:35,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:36,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:36,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:38,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:38,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:39,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:39,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:40,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:40,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:41,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:41,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:42,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:42,1
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/tests/test_ct_utils.cpp:47,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_ct_utils.cpp:47,1
    - Dst: Botan_Tests::CT_Mask_Tests::rng
      Src: /src/botan/src/tests/test_ct_utils.cpp:50,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ct_utils.cpp:50,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ct_utils.cpp:50,1
    - Dst: Botan::CT::copy_output
      Src: /src/botan/src/tests/test_ct_utils.cpp:54,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:57,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_ct_utils.cpp:57,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:60,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_ct_utils.cpp:60,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:63,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ct_utils.cpp:63,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 75
    functionName: Botan_Tests::CT_Mask_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::bigint_ct_is_lt
    - Botan::CT::Choice::from_int
    - Test::Result::test_eq_sz
    - Test::Result::confirm
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan_Tests::CT_Mask_Tests::rng
    - Botan::CT::copy_output
    - auto::has_value
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:85,1
    - Dst: Botan::CT::Choice::yes
      Src: /src/botan/src/tests/test_ct_utils.cpp:85,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:86,1
    - Dst: Botan::CT::Choice::no
      Src: /src/botan/src/tests/test_ct_utils.cpp:86,1
    - Dst: Botan_Tests::CT_Choice_Tests::test_choice_from_int
      Src: /src/botan/src/tests/test_ct_utils.cpp:88,1
    - Dst: Botan_Tests::CT_Choice_Tests::test_choice_from_int
      Src: /src/botan/src/tests/test_ct_utils.cpp:89,1
    - Dst: Botan_Tests::CT_Choice_Tests::test_choice_from_int
      Src: /src/botan/src/tests/test_ct_utils.cpp:90,1
    - Dst: Botan_Tests::CT_Choice_Tests::test_choice_from_int
      Src: /src/botan/src/tests/test_ct_utils.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: Botan_Tests::CT_Choice_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Choice::no
    - Test::Result::test_eq
    - Botan::CT::Choice::yes
    - Botan_Tests::CT_Choice_Tests::test_choice_from_int
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_ct_utils.cpp:99,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:102,1
    - Dst: Botan::CT::Choice::from_int<T>
      Src: /src/botan/src/tests/test_ct_utils.cpp:102,1
    - Dst: Botan::CT::Choice::from_int<T>
      Src: /src/botan/src/tests/test_ct_utils.cpp:104,1
    - Dst: static_cast<T>
      Src: /src/botan/src/tests/test_ct_utils.cpp:104,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:105,1
    - Dst: auto::as_bool
      Src: /src/botan/src/tests/test_ct_utils.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - type_name
    - ' result'
    argTypes:
    - char*
    - Result
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: Botan_Tests::CT_Choice_Tests::test_choice_from_int
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::fmt
    - static_cast<T>
    - test_eq
    - Botan::CT::Choice::from_int<T>
    - auto::as_bool
    linkageType: ''
    returnType: void
    signature: void test_choice_from_int(const char* type_name, Result& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/tests/test_ct_utils.cpp:124,1
    - Dst: std::memcmp
      Src: /src/botan/src/tests/test_ct_utils.cpp:127,1
    - Dst: Botan_Tests::CT_Option_Tests::test_ct_option
      Src: /src/botan/src/tests/test_ct_utils.cpp:139,1
    - Dst: Val
      Src: /src/botan/src/tests/test_ct_utils.cpp:139,1
    - Dst: Val
      Src: /src/botan/src/tests/test_ct_utils.cpp:139,1
    - Dst: Botan_Tests::CT_Option_Tests::test_ct_option
      Src: /src/botan/src/tests/test_ct_utils.cpp:140,1
    - Dst: Botan_Tests::CT_Option_Tests::test_ct_option
      Src: /src/botan/src/tests/test_ct_utils.cpp:141,1
    - Dst: Botan_Tests::CT_Option_Tests::test_ct_option
      Src: /src/botan/src/tests/test_ct_utils.cpp:142,1
    - Dst: Botan_Tests::CT_Option_Tests::test_ct_option
      Src: /src/botan/src/tests/test_ct_utils.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 146
    functionName: Botan_Tests::CT_Option_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CT_Option_Tests::test_ct_option
    - Botan::CT::conditional_assign_mem
    - Val
    - std::memcmp
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Option<T>
      Src: /src/botan/src/tests/test_ct_utils.cpp:151,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:152,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_ct_utils.cpp:152,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_ct_utils.cpp:153,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_ct_utils.cpp:153,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:154,1
    - Dst: auto::value_or
      Src: /src/botan/src/tests/test_ct_utils.cpp:154,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:155,1
    - Dst: auto::value_or
      Src: /src/botan/src/tests/test_ct_utils.cpp:155,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:156,1
    - Dst: auto::as_optional_vartime
      Src: /src/botan/src/tests/test_ct_utils.cpp:157,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:165,1
    - Dst: auto::transform
      Src: /src/botan/src/tests/test_ct_utils.cpp:165,1
    - Dst: Botan::CT::Option<T>
      Src: /src/botan/src/tests/test_ct_utils.cpp:167,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:168,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_ct_utils.cpp:168,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:169,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_ct_utils.cpp:169,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:170,1
    - Dst: auto::value_or
      Src: /src/botan/src/tests/test_ct_utils.cpp:170,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:171,1
    - Dst: auto::as_optional_vartime
      Src: /src/botan/src/tests/test_ct_utils.cpp:172,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:174,1
    - Dst: auto::transform
      Src: /src/botan/src/tests/test_ct_utils.cpp:174,1
    - Dst: next
      Src: /src/botan/src/tests/test_ct_utils.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - ' result'
    - ' value'
    - ' value2'
    argTypes:
    - Test::Result
    - T
    - T
    constantsTouched: []
    func_position:
      end: 175
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 175
    functionName: Botan_Tests::CT_Option_Tests::test_ct_option
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 1
    functionsReached:
    - auto::value
    - test_eq
    - confirm
    - test_throws
    - auto::transform
    - next
    - auto::value_or
    - auto::has_value
    - Botan::CT::Option<T>
    - auto::as_optional_vartime
    linkageType: ''
    returnType: void
    signature: void test_ct_option(Test::Result& result, const T& value, const T&
      value2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Botan_Tests::_const_time_poison
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Botan_Tests::_const_time_unpoison
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_ct_utils.cpp:193,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:196,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/tests/test_ct_utils.cpp:197,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:198,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/tests/test_ct_utils.cpp:199,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:200,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_ct_utils.cpp:203,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:211,1
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/tests/test_ct_utils.cpp:212,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:213,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/tests/test_ct_utils.cpp:214,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:215,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_ct_utils.cpp:218,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:226,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/tests/test_ct_utils.cpp:229,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:230,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:233,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_ct_utils.cpp:236,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:241,1
    - Dst: std::none_of
      Src: /src/botan/src/tests/test_ct_utils.cpp:241,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_ct_utils.cpp:241,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_ct_utils.cpp:241,1
    - Dst: Botan::CT::poison_range
      Src: /src/botan/src/tests/test_ct_utils.cpp:243,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:244,1
    - Dst: std::all_of
      Src: /src/botan/src/tests/test_ct_utils.cpp:244,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_ct_utils.cpp:244,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_ct_utils.cpp:244,1
    - Dst: Botan::CT::unpoison_range
      Src: /src/botan/src/tests/test_ct_utils.cpp:246,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:247,1
    - Dst: std::none_of
      Src: /src/botan/src/tests/test_ct_utils.cpp:247,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_ct_utils.cpp:247,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_ct_utils.cpp:247,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_ct_utils.cpp:250,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:253,1
    - Dst: Botan::CT::driveby_poison
      Src: /src/botan/src/tests/test_ct_utils.cpp:255,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_ct_utils.cpp:255,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:256,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/tests/test_ct_utils.cpp:257,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_ct_utils.cpp:258,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 262
    functionName: Botan_Tests::test_higher_level_ct_poison
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CT::driveby_unpoison
    - std::all_of
    - Botan_Tests::CHECK
    - Botan::CT::poison_range
    - Botan::CT::unpoison_all
    - Botan::CT::poison
    - std::none_of
    - Botan::CT::driveby_poison
    - Botan::CT::unpoison_range
    - Botan::CT::scoped_poison
    - Botan::CT::poison_all
    - confirm
    - Botan::CT::unpoison
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_higher_level_ct_poison()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_compression.cpp:65,1
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/tests/test_compression.cpp:67,1
    - Dst: Botan::Decompression_Algorithm::create
      Src: /src/botan/src/tests/test_compression.cpp:68,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_compression.cpp:71,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_compression.cpp:75,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_compression.cpp:75,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_compression.cpp:75,1
    - Dst: Botan_Tests::Compression_Tests::rng
      Src: /src/botan/src/tests/test_compression.cpp:79,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:96,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:97,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:102,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:103,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:104,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:105,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:106,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_compression.cpp:108,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_compression.cpp:109,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_compression.cpp:111,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_compression.cpp:113,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_compression.cpp:115,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_compression.cpp:115,1
    - Dst: what
      Src: /src/botan/src/tests/test_compression.cpp:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 120
    functionName: Botan_Tests::Compression_Tests::run
    functionSourceFile: /src/botan/src/tests/test_compression.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_lt
    - Botan_Tests::Compression_Tests::rng
    - auto::name
    - what
    - Botan_Tests::Test::Result::Failure
    - Botan::Compression_Algorithm::create
    - Test::Result::test_ne
    - Test::Result::note_missing
    - Botan::Decompression_Algorithm::create
    - std::vector::emplace_back
    - Test::Result::test_gte
    - Test::Result::end_timer
    - Test::Result::start_timer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_compression.cpp:129,1
    - Dst: start
      Src: /src/botan/src/tests/test_compression.cpp:135,1
    - Dst: update
      Src: /src/botan/src/tests/test_compression.cpp:136,1
    - Dst: update
      Src: /src/botan/src/tests/test_compression.cpp:140,1
    - Dst: finish
      Src: /src/botan/src/tests/test_compression.cpp:145,1
    - Dst: start
      Src: /src/botan/src/tests/test_compression.cpp:149,1
    - Dst: update
      Src: /src/botan/src/tests/test_compression.cpp:150,1
    - Dst: finish
      Src: /src/botan/src/tests/test_compression.cpp:153,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_compression.cpp:157,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_compression.cpp:159,1
    - Dst: what
      Src: /src/botan/src/tests/test_compression.cpp:159,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_compression.cpp:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - ' result'
    - level
    - ' c'
    - ' d'
    - ' msg'
    argTypes:
    - Test::Result
    - size_t
    - Botan::Compression_Algorithm
    - Botan::Decompression_Algorithm
    - Botan::secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: Botan_Tests::Compression_Tests::run_compression
    functionSourceFile: /src/botan/src/tests/test_compression.cpp
    functionUses: 0
    functionsReached:
    - finish
    - start
    - update
    - what
    - test_eq
    - test_failure
    - Botan::secure_vector::size
    - size
    linkageType: ''
    returnType: size_t
    signature: "size_t run_compression(Test::Result& result,\n                             size_t
      level,\n                             Botan::Compression_Algorithm& c,\n                             Botan::Decompression_Algorithm&
      d,\n                             const Botan::secure_vector<uint8_t>& msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/tests/test_compression.cpp:178,1
    - Dst: Botan::Decompression_Algorithm::create
      Src: /src/botan/src/tests/test_compression.cpp:179,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_compression.cpp:182,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_compression.cpp:185,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_compression.cpp:185,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_compression.cpp:185,1
    - Dst: Botan::Compression_Algorithm::create_or_throw
      Src: /src/botan/src/tests/test_compression.cpp:187,1
    - Dst: Botan::Decompression_Algorithm::create_or_throw
      Src: /src/botan/src/tests/test_compression.cpp:188,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_compression.cpp:191,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_compression.cpp:194,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_compression.cpp:194,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_compression.cpp:194,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_compression.cpp:196,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_compression.cpp:198,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_compression.cpp:198,1
    - Dst: what
      Src: /src/botan/src/tests/test_compression.cpp:198,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_compression.cpp:204,1
    - Dst: Botan::Compression_Algorithm::create_or_throw
      Src: /src/botan/src/tests/test_compression.cpp:205,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_compression.cpp:207,1
    - Dst: Botan::Decompression_Algorithm::create_or_throw
      Src: /src/botan/src/tests/test_compression.cpp:208,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_compression.cpp:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 214
    functionName: Botan_Tests::CompressionCreate_Tests::run
    functionSourceFile: /src/botan/src/tests/test_compression.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - what
    - Botan_Tests::Test::Result::Failure
    - Botan::Compression_Algorithm::create
    - Botan::Compression_Algorithm::create_or_throw
    - Test::Result::test_throws
    - Test::Result::test_ne
    - Botan::Decompression_Algorithm::create_or_throw
    - Test::Result::note_missing
    - Botan::Decompression_Algorithm::create
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_Tests::Roughtime_Request_Tests::Roughtime_Request_Tests
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Roughtime_Request_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:32,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:33,1
    - Dst: Botan::Roughtime::encode_request
      Src: /src/botan/src/tests/test_roughtime.cpp:35,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_roughtime.cpp:36,1
    - Dst: Botan::typecast_copy<std::array<uint8_t, 1024>>
      Src: /src/botan/src/tests/test_roughtime.cpp:37,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_roughtime.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: Botan_Tests::Roughtime_Request_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::Roughtime::encode_request
    - Test::Result::test_eq
    - Botan::typecast_copy<std::array<uint8_t, 1024>>
    - auto::data
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan_Tests::Roughtime_Response_Tests::Roughtime_Response_Tests
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Roughtime_Response_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:55,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_roughtime.cpp:56,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:56,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_roughtime.cpp:56,1
    - Dst: Botan::Roughtime::Response::from_bits
      Src: /src/botan/src/tests/test_roughtime.cpp:60,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:62,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_roughtime.cpp:63,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_roughtime.cpp:64,1
    - Dst: auto::validate
      Src: /src/botan/src/tests/test_roughtime.cpp:67,1
    - Dst: Botan::Ed25519_PublicKey
      Src: /src/botan/src/tests/test_roughtime.cpp:67,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:68,1
    - Dst: Botan::Roughtime::Response::sys_microseconds64
      Src: /src/botan/src/tests/test_roughtime.cpp:70,1
    - Dst: Botan_CLI::Timer::microseconds
      Src: /src/botan/src/tests/test_roughtime.cpp:71,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_roughtime.cpp:71,1
    - Dst: Botan_CLI::Timer::microseconds
      Src: /src/botan/src/tests/test_roughtime.cpp:72,1
    - Dst: get_req_u32
      Src: /src/botan/src/tests/test_roughtime.cpp:72,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:74,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/tests/test_roughtime.cpp:74,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:75,1
    - Dst: auto::utc_radius
      Src: /src/botan/src/tests/test_roughtime.cpp:75,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:76,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:79,1
    - Dst: what
      Src: /src/botan/src/tests/test_roughtime.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 83
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 83
    functionName: Botan_Tests::Roughtime_Response_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - get_opt_bin
    - Botan::Ed25519_PublicKey
    - Botan::Roughtime::Response::from_bits
    - Botan::Roughtime::Response::sys_microseconds64
    - what
    - get_req_u64
    - std::vector<uint8_t>
    - auto::size
    - Test::Result::confirm
    - Botan_CLI::Timer::microseconds
    - Test_Error
    - get_req_u32
    - has_key
    - get_req_bin
    - auto::utc_midpoint
    - auto::utc_radius
    - auto::validate
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: Botan_Tests::Roughtime_nonce_from_blind_Tests::Roughtime_nonce_from_blind_Tests
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Roughtime_nonce_from_blind_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:96,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:97,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:98,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_roughtime.cpp:100,1
    - Dst: Botan::Roughtime::nonce_from_blind
      Src: /src/botan/src/tests/test_roughtime.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: Botan_Tests::Roughtime_nonce_from_blind_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - Test::Result::test_eq
    - Botan::Roughtime::nonce_from_blind
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_roughtime.cpp:114,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_roughtime.cpp:114,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:116,1
    - Dst: Botan::Roughtime::Nonce::get_nonce
      Src: /src/botan/src/tests/test_roughtime.cpp:117,1
    - Dst: Botan::typecast_copy<std::array<uint8_t, 64>>
      Src: /src/botan/src/tests/test_roughtime.cpp:117,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_roughtime.cpp:117,1
    - Dst: Botan::typecast_copy<std::array<uint8_t, 64>>
      Src: /src/botan/src/tests/test_roughtime.cpp:118,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_roughtime.cpp:118,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:119,1
    - Dst: Botan::Roughtime::Nonce::get_nonce
      Src: /src/botan/src/tests/test_roughtime.cpp:120,1
    - Dst: Botan::typecast_copy<std::array<uint8_t, 64>>
      Src: /src/botan/src/tests/test_roughtime.cpp:120,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_roughtime.cpp:120,1
    - Dst: auto::push_back
      Src: /src/botan/src/tests/test_roughtime.cpp:121,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:122,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_roughtime.cpp:123,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_roughtime.cpp:124,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: Botan_Tests::Roughtime::test_nonce
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan::typecast_copy<std::array<uint8_t, 64>>
    - Test::Result::confirm
    - random_vec
    - Botan::unlock
    - auto::data
    - auto::pop_back
    - Botan::Roughtime::Nonce::get_nonce
    - auto::push_back
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_nonce(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Roughtime::Chain::Chain
      Src: /src/botan/src/tests/test_roughtime.cpp:133,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:134,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:134,1
    - Dst: Botan::Roughtime::Chain::responses
      Src: /src/botan/src/tests/test_roughtime.cpp:134,1
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_roughtime.cpp:136,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_roughtime.cpp:136,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:138,1
    - Dst: Botan::Roughtime::Chain::next_nonce
      Src: /src/botan/src/tests/test_roughtime.cpp:140,1
    - Dst: Botan::typecast_copy<std::array<uint8_t, 64>>
      Src: /src/botan/src/tests/test_roughtime.cpp:140,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_roughtime.cpp:140,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:147,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:147,1
    - Dst: Botan::Roughtime::Chain::responses
      Src: /src/botan/src/tests/test_roughtime.cpp:147,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:148,1
    - Dst: Botan::Roughtime::Chain::to_string
      Src: /src/botan/src/tests/test_roughtime.cpp:148,1
    - Dst: Botan::Roughtime::Chain::append
      Src: /src/botan/src/tests/test_roughtime.cpp:150,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:150,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:151,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:151,1
    - Dst: Botan::Roughtime::Chain::responses
      Src: /src/botan/src/tests/test_roughtime.cpp:151,1
    - Dst: Botan::Roughtime::Chain::append
      Src: /src/botan/src/tests/test_roughtime.cpp:152,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:152,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:153,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:153,1
    - Dst: Botan::Roughtime::Chain::responses
      Src: /src/botan/src/tests/test_roughtime.cpp:153,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:155,1
    - Dst: Botan::Roughtime::Chain::append
      Src: /src/botan/src/tests/test_roughtime.cpp:155,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:155,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:156,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:157,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:159,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:163,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:167,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:171,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 181
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 181
    functionName: Botan_Tests::Roughtime::test_chain
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::Roughtime::Chain::links
    - Test::Result::test_throws
    - Test::Result::confirm
    - Botan::typecast_copy<std::array<uint8_t, 64>>
    - auto::data
    - Botan::unlock
    - Botan::Roughtime::Chain::Chain
    - random_vec
    - Botan::Roughtime::Chain::responses
    - Botan::Roughtime::Chain::next_nonce
    - Botan::Roughtime::Chain::to_string
    - Botan::Roughtime::Chain::append
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_chain(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:186,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:193,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_roughtime.cpp:193,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_roughtime.cpp:194,1
    - Dst: name
      Src: /src/botan/src/tests/test_roughtime.cpp:194,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_roughtime.cpp:195,1
    - Dst: name
      Src: /src/botan/src/tests/test_roughtime.cpp:195,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:196,1
    - Dst: public_key
      Src: /src/botan/src/tests/test_roughtime.cpp:198,1
    - Dst: Botan::Ed25519_PublicKey
      Src: /src/botan/src/tests/test_roughtime.cpp:199,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/tests/test_roughtime.cpp:199,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:201,1
    - Dst: addresses
      Src: /src/botan/src/tests/test_roughtime.cpp:201,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_roughtime.cpp:202,1
    - Dst: addresses
      Src: /src/botan/src/tests/test_roughtime.cpp:202,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:204,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:204,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:205,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:205,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:206,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:207,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:209,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:210,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:212,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:213,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:215,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:216,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:219,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:220,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:223,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 229
    functionName: Botan_Tests::Roughtime::test_server_information
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed25519_PublicKey
    - Botan::base64_decode
    - public_key
    - Test::Result::test_eq
    - Test::Result::test_throws
    - name
    - Test::Result::confirm
    - addresses
    - auto::size
    - Botan::Roughtime::servers_from_str
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_server_information()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Roughtime::online_request
      Src: /src/botan/src/tests/test_roughtime.cpp:237,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/tests/test_roughtime.cpp:237,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/test_roughtime.cpp:238,1
    - Dst: Botan::Roughtime::Response::from_bits
      Src: /src/botan/src/tests/test_roughtime.cpp:239,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/tests/test_roughtime.cpp:242,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/tests/test_roughtime.cpp:242,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/tests/test_roughtime.cpp:242,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:243,1
    - Dst: auto::utc_radius
      Src: /src/botan/src/tests/test_roughtime.cpp:243,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_roughtime.cpp:245,1
    - Dst: what
      Src: /src/botan/src/tests/test_roughtime.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: Botan_Tests::Roughtime::test_request_online
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::Roughtime::online_request
    - Botan::Roughtime::Response::from_bits
    - what
    - Botan_CLI::Timer::seconds
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan::TLS::detail::AsyncBase::complete_now
    - auto::utc_midpoint
    - auto::utc_radius
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_request_online(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Roughtime::rng
      Src: /src/botan/src/tests/test_roughtime.cpp:252,1
    - Dst: Botan_Tests::Roughtime::test_nonce
      Src: /src/botan/src/tests/test_roughtime.cpp:254,1
    - Dst: Botan_Tests::Roughtime::test_chain
      Src: /src/botan/src/tests/test_roughtime.cpp:254,1
    - Dst: Botan_Tests::Roughtime::test_server_information
      Src: /src/botan/src/tests/test_roughtime.cpp:254,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_roughtime.cpp:256,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_roughtime.cpp:257,1
    - Dst: Botan_Tests::Roughtime::test_request_online
      Src: /src/botan/src/tests/test_roughtime.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: Botan_Tests::Roughtime::run
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Roughtime::test_request_online
    - Botan_Tests::Roughtime::test_nonce
    - Botan_Tests::Roughtime::rng
    - Botan_Tests::Roughtime::test_chain
    - Botan_Tests::test_encoding_options
    - Botan_Tests::Roughtime::test_server_information
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan_Tests::Bcrypt_Tests::Bcrypt_Tests
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bcrypt_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_passhash.cpp:33,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_passhash.cpp:34,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_passhash.cpp:34,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_passhash.cpp:34,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_passhash.cpp:36,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:39,1
    - Dst: Botan::check_bcrypt
      Src: /src/botan/src/tests/test_passhash.cpp:39,1
    - Dst: Botan::generate_bcrypt
      Src: /src/botan/src/tests/test_passhash.cpp:43,1
    - Dst: Botan_Tests::Bcrypt_Tests::rng
      Src: /src/botan/src/tests/test_passhash.cpp:43,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:44,1
    - Dst: Botan::check_bcrypt
      Src: /src/botan/src/tests/test_passhash.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: Botan_Tests::Bcrypt_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<const char*>
    - std::vector::size
    - Botan::check_bcrypt
    - Botan::generate_bcrypt
    - Botan_Tests::Bcrypt_Tests::rng
    - Test::Result::test_eq
    - get_req_str
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Bcrypt_Tests::rng
      Src: /src/botan/src/tests/test_passhash.cpp:59,1
    - Dst: Botan::generate_bcrypt
      Src: /src/botan/src/tests/test_passhash.cpp:62,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:63,1
    - Dst: Botan::check_bcrypt
      Src: /src/botan/src/tests/test_passhash.cpp:63,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_passhash.cpp:66,1
    - Dst: Botan::generate_bcrypt
      Src: /src/botan/src/tests/test_passhash.cpp:67,1
    - Dst: Test::Result::set_ns_consumed
      Src: /src/botan/src/tests/test_passhash.cpp:70,1
    - Dst: Botan_Tests::Test::timestamp
      Src: /src/botan/src/tests/test_passhash.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: Botan_Tests::Bcrypt_Tests::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::generate_bcrypt
    - Botan::check_bcrypt
    - Botan_Tests::Bcrypt_Tests::rng
    - Botan_Tests::Test::timestamp
    - Test::Result::test_eq
    - Test::Result::test_throws
    - Test::Result::set_ns_consumed
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan_Tests::Argon2_Tests::Argon2_Tests
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Argon2_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_passhash.cpp:86,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_passhash.cpp:87,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:93,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_passhash.cpp:95,1
    - Dst: Botan::argon2_generate_pwhash
      Src: /src/botan/src/tests/test_passhash.cpp:105,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_passhash.cpp:105,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_passhash.cpp:105,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_passhash.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:107,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:109,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_passhash.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 115
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 115
    functionName: Botan_Tests::Argon2_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Test::Result::test_eq
    - Botan::argon2_generate_pwhash
    - get_req_str
    - std::string::data
    - Test_Error
    - get_req_bin
    - std::string::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan_Tests::Passhash9_Tests::Passhash9_Tests
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Passhash9_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_passhash.cpp:129,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_passhash.cpp:130,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_passhash.cpp:130,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_passhash.cpp:130,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_passhash.cpp:132,1
    - Dst: get_req_sz
      Src: /src/botan/src/tests/test_passhash.cpp:133,1
    - Dst: Botan::is_passhash9_alg_supported
      Src: /src/botan/src/tests/test_passhash.cpp:137,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:138,1
    - Dst: Botan::check_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:138,1
    - Dst: Botan::is_passhash9_alg_supported
      Src: /src/botan/src/tests/test_passhash.cpp:142,1
    - Dst: Botan::generate_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:143,1
    - Dst: Botan_Tests::Passhash9_Tests::rng
      Src: /src/botan/src/tests/test_passhash.cpp:143,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:145,1
    - Dst: Botan::check_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:145,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_passhash.cpp:146,1
    - Dst: Botan::is_passhash9_alg_supported
      Src: /src/botan/src/tests/test_passhash.cpp:155,1
    - Dst: Botan::generate_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:156,1
    - Dst: Botan_Tests::Passhash9_Tests::rng
      Src: /src/botan/src/tests/test_passhash.cpp:156,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:157,1
    - Dst: Botan::check_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:157,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_passhash.cpp:158,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 164
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 164
    functionName: Botan_Tests::Passhash9_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<const char*>
    - std::vector::size
    - Botan::is_passhash9_alg_supported
    - Test::Result::test_note
    - Test::Result::test_eq
    - get_req_str
    - Botan::check_passhash9
    - Botan::generate_passhash9
    - get_req_sz
    - get_req_bin
    - Botan_Tests::Passhash9_Tests::rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_passhash.cpp:169,1
    - Dst: Botan::is_passhash9_alg_supported
      Src: /src/botan/src/tests/test_passhash.cpp:169,1
    - Dst: Botan_Tests::Passhash9_Tests::rng
      Src: /src/botan/src/tests/test_passhash.cpp:171,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_passhash.cpp:173,1
    - Dst: Botan::generate_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:175,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_passhash.cpp:177,1
    - Dst: Botan::check_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: Botan_Tests::Passhash9_Tests::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Test::Result::confirm
    - Botan::check_passhash9
    - Botan::generate_passhash9
    - Botan::is_passhash9_alg_supported
    - Botan_Tests::Passhash9_Tests::rng
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::TSS_Recovery_Tests::TSS_Recovery_Tests
    functionSourceFile: /src/botan/src/tests/test_tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSS_Recovery_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tss.cpp:27,1
    - Dst: get_req_bin_list
      Src: /src/botan/src/tests/test_tss.cpp:30,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_tss.cpp:34,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:34,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tss.cpp:37,1
    - Dst: Botan::RTSS_Share::RTSS_Share
      Src: /src/botan/src/tests/test_tss.cpp:37,1
    - Dst: data
      Src: /src/botan/src/tests/test_tss.cpp:37,1
    - Dst: size
      Src: /src/botan/src/tests/test_tss.cpp:37,1
    - Dst: Botan::RTSS_Share::reconstruct
      Src: /src/botan/src/tests/test_tss.cpp:40,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tss.cpp:41,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tss.cpp:44,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:48,1
    - Dst: std::vector::erase
      Src: /src/botan/src/tests/test_tss.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tss.cpp:50,1
    - Dst: Botan::RTSS_Share::reconstruct
      Src: /src/botan/src/tests/test_tss.cpp:52,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tss.cpp:53,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tss.cpp:55,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_tss.cpp:55,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:55,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tss.cpp:62,1
    - Dst: what
      Src: /src/botan/src/tests/test_tss.cpp:62,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tss.cpp:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 69
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 69
    functionName: Botan_Tests::TSS_Recovery_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tss.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::erase
    - std::vector::reserve
    - Botan::RTSS_Share::reconstruct
    - data
    - Test::Result::test_eq
    - std::to_string
    - what
    - get_req_bin_list
    - Botan::RTSS_Share::RTSS_Share
    - Test::Result::test_failure
    - size
    - std::vector::begin
    - get_req_bin
    - Test::Result::test_success
    - std::vector::push_back
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan_Tests::TSS_Generation_Tests::TSS_Generation_Tests
    functionSourceFile: /src/botan/src/tests/test_tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSS_Generation_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tss.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: Botan_Tests::TSS_Generation_Tests::tss_hash_len
    functionSourceFile: /src/botan/src/tests/test_tss.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    linkageType: ''
    returnType: size_t
    signature: size_t tss_hash_len(const std::string& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tss.cpp:93,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tss.cpp:94,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tss.cpp:95,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tss.cpp:98,1
    - Dst: get_req_bin_list
      Src: /src/botan/src/tests/test_tss.cpp:99,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:101,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tss.cpp:102,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:105,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:105,1
    - Dst: Botan_Tests::TSS_Generation_Tests::tss_hash_len
      Src: /src/botan/src/tests/test_tss.cpp:105,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tss.cpp:106,1
    - Dst: Botan::RTSS_Share::split
      Src: /src/botan/src/tests/test_tss.cpp:112,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tss.cpp:112,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tss.cpp:112,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:112,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tss.cpp:114,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:114,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tss.cpp:117,1
    - Dst: data
      Src: /src/botan/src/tests/test_tss.cpp:117,1
    - Dst: Botan::RTSS_Share::reconstruct
      Src: /src/botan/src/tests/test_tss.cpp:120,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tss.cpp:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:124,1
    - Dst: std::vector::erase
      Src: /src/botan/src/tests/test_tss.cpp:126,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tss.cpp:126,1
    - Dst: Botan::RTSS_Share::reconstruct
      Src: /src/botan/src/tests/test_tss.cpp:129,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tss.cpp:130,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tss.cpp:132,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_tss.cpp:132,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 138
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 138
    functionName: Botan_Tests::TSS_Generation_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tss.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - Botan_Tests::TSS_Generation_Tests::tss_hash_len
    - std::vector::erase
    - Botan::RTSS_Share::reconstruct
    - std::to_string
    - data
    - Test::Result::test_eq
    - get_req_str
    - get_req_bin_list
    - Test_Error
    - Test::Result::test_failure
    - static_cast<uint16_t>
    - get_req_bin
    - Botan::RTSS_Share::split
    - std::vector::begin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/tests/test_utils_buffer.cpp:23,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils_buffer.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan_Tests::v
    functionSourceFile: /src/botan/src/tests/test_utils_buffer.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> v(const T& container)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:30,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:34,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:34,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:35,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:35,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:36,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:36,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:38,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:38,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:39,1
    - Dst: Botan::BufferSlicer::skip
      Src: /src/botan/src/tests/test_utils_buffer.cpp:39,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:40,1
    - Dst: Botan::BufferSlicer::copy_as_vector
      Src: /src/botan/src/tests/test_utils_buffer.cpp:40,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:43,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:48,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:48,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:48,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:49,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:49,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:51,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:52,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:52,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:53,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:54,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:55,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:56,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:57,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:59,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:59,1
    - Dst: Botan::BufferSlicer::skip
      Src: /src/botan/src/tests/test_utils_buffer.cpp:61,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:62,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:62,1
    - Dst: Botan::BufferSlicer::copy_as_vector
      Src: /src/botan/src/tests/test_utils_buffer.cpp:64,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:65,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:65,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:66,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:67,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:68,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:69,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:69,1
    - Dst: Botan::BufferSlicer::copy_into
      Src: /src/botan/src/tests/test_utils_buffer.cpp:72,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:73,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:74,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:75,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:75,1
    - Dst: Botan::BufferSlicer::skip
      Src: /src/botan/src/tests/test_utils_buffer.cpp:77,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:78,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:78,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:80,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:81,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:82,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:83,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:85,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:85,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:86,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:86,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:88,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:88,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:89,1
    - Dst: Botan::BufferSlicer::skip
      Src: /src/botan/src/tests/test_utils_buffer.cpp:89,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:90,1
    - Dst: Botan::BufferSlicer::copy_as_vector
      Src: /src/botan/src/tests/test_utils_buffer.cpp:90,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:93,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:98,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:99,1
    - Dst: Botan::BufferSlicer::copy
      Src: /src/botan/src/tests/test_utils_buffer.cpp:100,1
    - Dst: Botan::BufferSlicer::copy_as_vector
      Src: /src/botan/src/tests/test_utils_buffer.cpp:101,1
    - Dst: Botan::BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/tests/test_utils_buffer.cpp:102,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:103,1
    - Dst: Botan::BufferSlicer::copy_into
      Src: /src/botan/src/tests/test_utils_buffer.cpp:104,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:106,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 110
    functionName: Botan_Tests::test_buffer_slicer
    functionSourceFile: /src/botan/src/tests/test_utils_buffer.cpp
    functionUses: 0
    functionsReached:
    - Botan::BufferSlicer::skip
    - std::vector::size
    - require
    - Botan::BufferSlicer::copy_as_secure_vector
    - Botan_Tests::CHECK
    - Botan::BufferSlicer::copy_into
    - Botan::BufferSlicer::remaining
    - test_eq
    - Botan::concat<std::vector<uint8_t>>
    - test_throws
    - Botan::BufferSlicer::copy
    - Botan::BufferSlicer::take
    - auto::size
    - confirm
    - Botan::BufferSlicer::copy_as_vector
    - Botan::BufferSlicer::empty
    - test_is_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_buffer_slicer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:114,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:119,1
    - Dst: Botan::BufferStuffer::remaining_capacity
      Src: /src/botan/src/tests/test_utils_buffer.cpp:119,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:120,1
    - Dst: Botan::BufferStuffer::full
      Src: /src/botan/src/tests/test_utils_buffer.cpp:120,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:121,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/tests/test_utils_buffer.cpp:121,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:123,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/tests/test_utils_buffer.cpp:123,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:124,1
    - Dst: Botan::BufferStuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:126,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:130,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:135,1
    - Dst: Botan::BufferStuffer::remaining_capacity
      Src: /src/botan/src/tests/test_utils_buffer.cpp:135,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:135,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:136,1
    - Dst: Botan::BufferStuffer::full
      Src: /src/botan/src/tests/test_utils_buffer.cpp:136,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/tests/test_utils_buffer.cpp:138,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:139,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:139,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/tests/test_utils_buffer.cpp:146,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:147,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:147,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_utils_buffer.cpp:149,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_utils_buffer.cpp:150,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_utils_buffer.cpp:151,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:153,1
    - Dst: Botan::BufferStuffer::remaining_capacity
      Src: /src/botan/src/tests/test_utils_buffer.cpp:153,1
    - Dst: Botan::BufferStuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:156,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:158,1
    - Dst: Botan::BufferStuffer::remaining_capacity
      Src: /src/botan/src/tests/test_utils_buffer.cpp:158,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/tests/test_utils_buffer.cpp:160,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:161,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:161,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:162,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:163,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:168,1
    - Dst: Botan::BufferStuffer::full
      Src: /src/botan/src/tests/test_utils_buffer.cpp:168,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:170,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/tests/test_utils_buffer.cpp:170,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:171,1
    - Dst: Botan::BufferStuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:173,1
    - Dst: Botan::cast_uint8_ptr_to_char
      Src: /src/botan/src/tests/test_utils_buffer.cpp:176,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:176,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:176,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 180
    functionName: Botan_Tests::test_buffer_stuffer
    functionSourceFile: /src/botan/src/tests/test_utils_buffer.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - require
    - Botan::BufferStuffer::full
    - Botan::cast_uint8_ptr_to_char
    - std::vector::data
    - Botan::BufferStuffer::append
    - Botan_Tests::CHECK
    - auto::get
    - test_eq
    - Botan::BufferStuffer::next
    - test_throws
    - Botan::BufferStuffer::remaining_capacity
    - auto::size
    - confirm
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_buffer_stuffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:189,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:191,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:192,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:192,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:193,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:193,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:194,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:194,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:195,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:195,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:196,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:196,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:199,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:201,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:203,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:205,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:205,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:206,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:206,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:207,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:207,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:208,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:208,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:209,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:209,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:211,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:213,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:213,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:214,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:214,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:215,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:215,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:216,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:216,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:217,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:217,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:220,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:222,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:224,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:226,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:226,1
    - Dst: Botan::AlignmentBuffer::consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:227,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:229,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:229,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:230,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:230,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:231,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:231,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:232,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:232,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:233,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:233,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:235,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:235,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:235,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:238,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:240,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:242,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:242,1
    - Dst: Botan::AlignmentBuffer::consume_partial
      Src: /src/botan/src/tests/test_utils_buffer.cpp:243,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:244,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:244,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:245,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:245,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:247,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:248,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:248,1
    - Dst: Botan::AlignmentBuffer::consume_partial
      Src: /src/botan/src/tests/test_utils_buffer.cpp:249,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:250,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:250,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:251,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:251,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:251,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:253,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:254,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:254,1
    - Dst: Botan::AlignmentBuffer::consume_partial
      Src: /src/botan/src/tests/test_utils_buffer.cpp:255,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:256,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:256,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:257,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:257,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:257,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:260,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:262,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:264,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:266,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:266,1
    - Dst: Botan::AlignmentBuffer::clear
      Src: /src/botan/src/tests/test_utils_buffer.cpp:267,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:269,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:269,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:270,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:270,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:271,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:271,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:272,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:272,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:273,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:273,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:276,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:278,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:280,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:282,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:282,1
    - Dst: Botan::AlignmentBuffer::fill_up_with_zeros
      Src: /src/botan/src/tests/test_utils_buffer.cpp:283,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:285,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:285,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:286,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:286,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:287,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:287,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:288,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:288,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:289,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:289,1
    - Dst: Botan::AlignmentBuffer::consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:291,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:293,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:293,1
    - Dst: auto::first
      Src: /src/botan/src/tests/test_utils_buffer.cpp:293,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:293,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:294,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:294,1
    - Dst: auto::last
      Src: /src/botan/src/tests/test_utils_buffer.cpp:294,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:294,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:298,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:299,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:299,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:300,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:300,1
    - Dst: Botan::AlignmentBuffer::fill_up_with_zeros
      Src: /src/botan/src/tests/test_utils_buffer.cpp:302,1
    - Dst: Botan::AlignmentBuffer::consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:303,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:305,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:305,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:305,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:308,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:310,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:315,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:316,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:316,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:317,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:317,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:319,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:319,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:320,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:320,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:321,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:321,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:322,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:322,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:324,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:325,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:325,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:326,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:326,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:328,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:328,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:329,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:329,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:330,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:330,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:331,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:331,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:333,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:333,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:333,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:333,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:336,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:338,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:341,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:342,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:342,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:343,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:343,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:344,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:344,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:345,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:345,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:349,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:350,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:350,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:351,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:351,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:352,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:352,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:353,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:353,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:355,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:356,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:356,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:357,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:357,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:358,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:358,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:359,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:359,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:362,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:364,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:370,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:371,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:371,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:372,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:372,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:374,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:374,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:375,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:375,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:376,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:376,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:377,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:377,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:379,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:380,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:380,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:381,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:381,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:383,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:383,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:384,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:384,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:385,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:385,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:386,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:386,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:388,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:389,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:389,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:390,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:390,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:392,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:392,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:393,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:393,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:394,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:394,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:395,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:395,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:397,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:397,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:397,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:397,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:400,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:402,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:405,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:406,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:406,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:407,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:407,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:408,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:408,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:409,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:409,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:412,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:413,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:413,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:414,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:414,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:415,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:415,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:419,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:420,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:420,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:421,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:421,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:422,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:422,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:423,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:423,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:425,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:425,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:425,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:425,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:428,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:430,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:431,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:431,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:435,1
    - Dst: empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:435,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:436,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:437,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:437,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:439,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:442,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:442,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:443,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:444,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:444,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:444,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:445,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:445,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:447,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:450,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:450,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:451,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:452,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:452,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:453,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:453,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:456,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:458,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:459,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:459,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:462,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:463,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:463,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:464,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:464,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:466,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:468,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:469,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:469,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:470,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:470,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:471,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:471,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:471,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:471,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:472,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:472,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:474,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:476,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:477,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:477,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:478,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:478,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:479,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:479,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:479,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:479,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:480,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:480,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:482,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:483,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:483,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:484,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:484,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:485,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:485,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:485,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:485,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:486,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:486,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:489,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:491,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:492,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:492,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:496,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:496,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:497,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:498,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:498,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:500,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:503,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:503,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:504,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:505,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:505,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:505,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:506,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:506,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:508,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:511,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:511,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:512,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:513,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:513,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:513,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:514,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:514,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:517,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:519,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:520,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:520,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:523,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:524,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:524,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:525,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:525,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:527,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:529,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:530,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:530,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:531,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:531,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:532,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:532,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:532,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:532,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:533,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:533,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:535,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:537,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:538,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:538,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:539,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:539,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:540,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:540,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:540,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:540,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:541,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:541,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:543,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:544,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:544,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:545,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 183
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 548
    functionName: Botan_Tests::test_alignment_buffer
    functionSourceFile: /src/botan/src/tests/test_utils_buffer.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlignmentBuffer::handle_unaligned_data
    - auto::value
    - empty
    - test_eq
    - Botan::AlignmentBuffer::append
    - Botan::AlignmentBuffer::size
    - Botan::AlignmentBuffer::elements_in_buffer
    - Botan::AlignmentBuffer::in_alignment
    - auto::has_value
    - Botan::AlignmentBuffer::consume
    - Botan::BufferSlicer::empty
    - test_is_eq
    - auto::first
    - Botan_Tests::CHECK
    - std::vector<uint8_t>
    - Botan::AlignmentBuffer::elements_until_alignment
    - Botan::AlignmentBuffer::consume_partial
    - auto::size
    - confirm
    - Botan::AlignmentBuffer::AlignmentBuffer
    - Botan_Tests::v
    - Botan::concat<std::vector<uint8_t>>
    - Botan::AlignmentBuffer::fill_up_with_zeros
    - Botan::AlignmentBuffer::clear
    - Botan::AlignmentBuffer::next_aligned_block_to_process
    - require
    - Botan::AlignmentBuffer::ready_to_consume
    - Botan::BufferSlicer::remaining
    - auto::empty
    - auto::last
    - size
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_alignment_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:552,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:555,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:556,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:556,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:559,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:559,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:560,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:560,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:563,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:563,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:563,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:564,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:564,1
    - Dst: Botan::concat<std::array<uint8_t, 0>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:567,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:568,1
    - Dst: std::array<uint8_t, 0>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:568,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:568,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:569,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:569,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:572,1
    - Dst: Botan::concat<std::array<uint8_t, 0>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:576,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:577,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:580,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:581,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:584,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:584,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:585,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:588,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:588,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:588,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:589,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:593,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:593,1
    - Dst: std::array<uint8_t, 0>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:593,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:593,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:594,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:598,1
    - Dst: std::array<uint8_t, 1>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:598,1
    - Dst: std::array<uint8_t, 3>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:598,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:599,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:602,1
    - Dst: Botan::concat<Botan::secure_vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:608,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:609,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:612,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:613,1
    - Dst: Botan::concat<std::array<uint8_t, 10>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:616,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:617,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:620,1
    - Dst: std::span<const uint8_t, 5>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:620,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:621,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:622,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:626,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:627,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:628,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:632,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:637,1
    - Dst: Botan::concat<std::array<uint8_t, 4>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:638,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:639,1
    - Dst: Botan::concat<std::array<uint8_t, 20>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:640,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:643,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:656,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:657,1
    - Dst: Botan::concat<StrongV>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:660,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:661,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_utils_buffer.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 664
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 664
    functionName: Botan_Tests::test_concat
    functionSourceFile: /src/botan/src/tests/test_utils_buffer.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat<std::array<uint8_t, 20>>
    - std::array<uint8_t, 1>
    - test_is_eq
    - Botan_Tests::CHECK
    - std::vector<uint8_t>
    - std::array<uint8_t, 0>
    - Botan::concat<std::array<uint8_t, 10>>
    - Botan::concat<StrongV>
    - Botan::secure_vector<uint8_t>
    - confirm
    - Botan::concat<std::array<uint8_t, 4>>
    - Botan::concat<std::vector<uint8_t>>
    - Botan::concat<Botan::secure_vector<uint8_t>>
    - Botan::concat<std::array<uint8_t, 0>>
    - Botan::concat
    - auto::get
    - std::array<uint8_t, 3>
    - auto::empty
    - std::span<const uint8_t, 5>
    - test_throws
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_concat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_tls_messages.cpp:48,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_tls_messages.cpp:49,1
    - Dst: auto::update_be
      Src: /src/botan/src/tests/test_tls_messages.cpp:50,1
    - Dst: auto::update_be
      Src: /src/botan/src/tests/test_tls_messages.cpp:51,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_tls_messages.cpp:52,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_tls_messages.cpp:52,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:54,1
    - Dst: Botan::TLS::Hello_Verify_Request::cookie
      Src: /src/botan/src/tests/test_tls_messages.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: Botan_Tests::test_hello_verify_request
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - Test::Result::test_eq
    - unlock
    - auto::update_be
    - auto::final
    - Botan::MessageAuthenticationCode::create
    - Botan::TLS::Hello_Verify_Request::cookie
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_hello_verify_request()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan_Tests::Test_Callbacks::Test_Callbacks
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Callbacks(Test::Result& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_messages.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan_Tests::Test_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - test_failure
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_messages.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan_Tests::Test_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - test_failure
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t, std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_messages.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan_Tests::Test_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - test_failure
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_messages.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Botan_Tests::Test_Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - test_failure
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: Botan_Tests::TLS_Message_Parsing_Test::TLS_Message_Parsing_Test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Message_Parsing_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:87,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:88,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:89,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:90,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:91,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:101,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:104,1
    - Dst: Botan::TLS::Client_Hello_12::legacy_version
      Src: /src/botan/src/tests/test_tls_messages.cpp:104,1
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/tests/test_tls_messages.cpp:104,1
    - Dst: Botan::TLS::Client_Hello_12::extension_types
      Src: /src/botan/src/tests/test_tls_messages.cpp:106,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:108,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_tls_messages.cpp:108,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:109,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_tls_messages.cpp:109,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:111,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:111,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:119,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/tests/test_tls_messages.cpp:122,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/tests/test_tls_messages.cpp:122,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:124,1
    - Dst: Botan::TLS::Server_Hello_12::legacy_version
      Src: /src/botan/src/tests/test_tls_messages.cpp:124,1
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/tests/test_tls_messages.cpp:124,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:125,1
    - Dst: Botan::TLS::Server_Hello_12::ciphersuite
      Src: /src/botan/src/tests/test_tls_messages.cpp:125,1
    - Dst: Botan::TLS::Ciphersuite::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_messages.cpp:125,1
    - Dst: Botan::TLS::Server_Hello_12::extension_types
      Src: /src/botan/src/tests/test_tls_messages.cpp:127,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:129,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_tls_messages.cpp:129,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:130,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_tls_messages.cpp:130,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:132,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:132,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tls_messages.cpp:134,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_tls_messages.cpp:134,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_tls_messages.cpp:136,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/tests/test_tls_messages.cpp:137,1
    - Dst: Botan::TLS::Certificate_Status::response
      Src: /src/botan/src/tests/test_tls_messages.cpp:142,1
    - Dst: Botan::OCSP::Response::signer_name
      Src: /src/botan/src/tests/test_tls_messages.cpp:144,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:147,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:147,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:148,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_messages.cpp:151,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tls_messages.cpp:153,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tls_messages.cpp:155,1
    - Dst: what
      Src: /src/botan/src/tests/test_tls_messages.cpp:155,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:159,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:163,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:167,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:171,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:174,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:178,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:182,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:186,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tls_messages.cpp:187,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_tls_messages.cpp:187,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_messages.cpp:191,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 196
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 196
    functionName: Botan_Tests::TLS_Message_Parsing_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_lt
    - Botan::TLS::Server_Hello_12::extension_types
    - what
    - Botan::TLS::Server_Hello_12::legacy_version
    - get_req_str
    - Botan::TLS::Server_Hello_12::ciphersuite
    - Test_Error
    - Botan::TLS::Ciphersuite::by_id
    - Test::Result::test_eq
    - Botan::TLS::Certificate_Status::response
    - Test::Result::test_throws
    - Test::Result::confirm
    - Test::Result::test_failure
    - Test::Result::test_success
    - std::vector::begin
    - get_opt_str
    - std::vector::size
    - Botan::TLS::Protocol_Version::to_string
    - Botan::TLS::Alert::type_string
    - get_req_bin
    - Botan::OCSP::Response::signer_name
    - Botan::hex_encode
    - std::vector::push_back
    - std::vector::end
    - get_opt_bin
    - Botan::get_byte<1>
    - Botan::TLS::Ciphersuite::ciphersuite_code
    - Botan::TLS::Client_Hello_12::legacy_version
    - Botan::make_uint16
    - Botan::TLS::Client_Hello_12::extension_types
    - Botan::get_byte<0>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:201,1
    - Dst: test_hello_verify_request
      Src: /src/botan/src/tests/test_tls_messages.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: Botan_Tests::TLS_Message_Parsing_Test::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - test_hello_verify_request
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: Botan_Tests::TLS_Key_Share_CH_Generation_Test::TLS_Key_Share_CH_Generation_Test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Key_Share_CH_Generation_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:221,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:222,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:223,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:224,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_tls_messages.cpp:232,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_tls_messages.cpp:232,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:232,1
    - Dst: Botan::TLS::Key_Share::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:235,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' extension'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 240
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 240
    functionName: Botan_Tests::TLS_Key_Share_CH_Generation_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - Fixed_Output_RNG::add_entropy
    - Botan::TLS::Key_Share::serialize
    - auto::size
    - Test::Result::test_eq
    - get_req_str
    - auto::data
    - get_req_bin
    - get_opt_str
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& extension, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: Botan_Tests::TLS_Extension_Parsing_Test::TLS_Extension_Parsing_Test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Extension_Parsing_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:255,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:256,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:257,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:258,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:266,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:269,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:269,1
    - Dst: Botan::TLS::Supported_Versions::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:270,1
    - Dst: get_req_bin_list
      Src: /src/botan/src/tests/test_tls_messages.cpp:272,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:274,1
    - Dst: Botan::TLS::Supported_Versions::supports
      Src: /src/botan/src/tests/test_tls_messages.cpp:275,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_messages.cpp:276,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:279,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:279,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:282,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:282,1
    - Dst: Botan::TLS::Supported_Groups::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:284,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:285,1
    - Dst: Botan::TLS::Supported_Groups::dh_groups
      Src: /src/botan/src/tests/test_tls_messages.cpp:287,1
    - Dst: Botan::TLS::Supported_Groups::ec_groups
      Src: /src/botan/src/tests/test_tls_messages.cpp:288,1
    - Dst: std::merge
      Src: /src/botan/src/tests/test_tls_messages.cpp:291,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_messages.cpp:291,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_messages.cpp:292,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_messages.cpp:293,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_messages.cpp:294,1
    - Dst: std::back_inserter
      Src: /src/botan/src/tests/test_tls_messages.cpp:295,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:297,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:298,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:298,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:300,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/tests/test_tls_messages.cpp:302,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_tls_messages.cpp:302,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_tls_messages.cpp:302,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:304,1
    - Dst: std::any_of
      Src: /src/botan/src/tests/test_tls_messages.cpp:305,1
    - Dst: std::vector::cbegin
      Src: /src/botan/src/tests/test_tls_messages.cpp:305,1
    - Dst: std::vector::cend
      Src: /src/botan/src/tests/test_tls_messages.cpp:306,1
    - Dst: static_cast<Botan::TLS::Named_Group>
      Src: /src/botan/src/tests/test_tls_messages.cpp:308,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:313,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:317,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:317,1
    - Dst: Botan::TLS::Signature_Algorithms_Cert::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:319,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:320,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:322,1
    - Dst: Botan::TLS::Signature_Algorithms_Cert::supported_schemes
      Src: /src/botan/src/tests/test_tls_messages.cpp:323,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:323,1
    - Dst: Botan::TLS::Signature_Algorithms_Cert::supported_schemes
      Src: /src/botan/src/tests/test_tls_messages.cpp:326,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/tests/test_tls_messages.cpp:328,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_tls_messages.cpp:328,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_tls_messages.cpp:328,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:330,1
    - Dst: Botan::TLS::Signature_Scheme::Signature_Scheme
      Src: /src/botan/src/tests/test_tls_messages.cpp:331,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:336,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:339,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:339,1
    - Dst: Botan::TLS::Cookie::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:341,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:342,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:344,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:345,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:346,1
    - Dst: Botan::TLS::Cookie::get_cookie
      Src: /src/botan/src/tests/test_tls_messages.cpp:346,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:350,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:350,1
    - Dst: Botan::TLS::Key_Share::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:353,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:354,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:356,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:357,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:357,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:361,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:361,1
    - Dst: Botan::TLS::Key_Share::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:363,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:364,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:366,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:367,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:367,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:371,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:371,1
    - Dst: Botan::TLS::Key_Share::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:373,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:374,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:376,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:377,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:377,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_messages.cpp:379,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tls_messages.cpp:381,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tls_messages.cpp:383,1
    - Dst: what
      Src: /src/botan/src/tests/test_tls_messages.cpp:383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - ' extension'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 389
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 389
    functionName: Botan_Tests::TLS_Extension_Parsing_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - what
    - std::back_inserter
    - get_req_str
    - Botan::TLS::Protocol_Version
    - auto::end
    - std::vector::cend
    - Test_Error
    - Botan::TLS::Signature_Algorithms_Cert::supported_schemes
    - std::vector::cbegin
    - Botan::TLS::Supported_Groups::ec_groups
    - Test::Result::test_eq
    - Botan::TLS::Key_Share::serialize
    - get_req_bin_list
    - Test::Result::confirm
    - Botan::TLS::Supported_Versions::serialize
    - Test::Result::test_failure
    - Test::Result::test_success
    - auto::size
    - Botan::TLS::Signature_Algorithms_Cert::serialize
    - std::vector::size
    - auto::begin
    - std::any_of
    - Botan::TLS::Cookie::serialize
    - Botan::TLS::Signature_Scheme::Signature_Scheme
    - auto::at
    - Botan::TLS::Supported_Groups::serialize
    - std::merge
    - static_cast<Botan::TLS::Named_Group>
    - static_cast<uint16_t>
    - get_req_bin
    - Botan::hex_encode
    - get_opt_bin
    - Botan::TLS::Cookie::get_cookie
    - Botan::make_uint16
    - Botan::TLS::Supported_Versions::supports
    - Botan::TLS::Supported_Groups::dh_groups
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& extension, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:394,1
    - Dst: test_hello_verify_request
      Src: /src/botan/src/tests/test_tls_messages.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: Botan_Tests::TLS_Extension_Parsing_Test::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - test_hello_verify_request
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 405
    functionName: Botan_Tests::TLS_13_Message_Parsing_Test::TLS_13_Message_Parsing_Test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_13_Message_Parsing_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:408,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:409,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:410,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:411,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:412,1
    - Dst: std::visit
      Src: /src/botan/src/tests/test_tls_messages.cpp:419,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:422,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:425,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:428,1
    - Dst: extensions
      Src: /src/botan/src/tests/test_tls_messages.cpp:430,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:432,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_tls_messages.cpp:432,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:433,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_tls_messages.cpp:433,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:435,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:435,1
    - Dst: ciphersuites
      Src: /src/botan/src/tests/test_tls_messages.cpp:438,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:439,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_tls_messages.cpp:439,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:440,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_tls_messages.cpp:440,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:442,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:444,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_messages.cpp:446,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:448,1
    - Dst: what
      Src: /src/botan/src/tests/test_tls_messages.cpp:448,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:449,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:454,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/tests/test_tls_messages.cpp:456,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/tests/test_tls_messages.cpp:456,1
    - Dst: std::visit
      Src: /src/botan/src/tests/test_tls_messages.cpp:460,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:463,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:464,1
    - Dst: legacy_version
      Src: /src/botan/src/tests/test_tls_messages.cpp:464,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:466,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:468,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:471,1
    - Dst: ciphersuite
      Src: /src/botan/src/tests/test_tls_messages.cpp:471,1
    - Dst: Botan::TLS::Ciphersuite::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_messages.cpp:471,1
    - Dst: extensions
      Src: /src/botan/src/tests/test_tls_messages.cpp:474,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:476,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_tls_messages.cpp:476,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:477,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_tls_messages.cpp:477,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:479,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:479,1
    - Dst: Botan::TLS::Server_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_messages.cpp:481,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:483,1
    - Dst: what
      Src: /src/botan/src/tests/test_tls_messages.cpp:483,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:484,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 489
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 489
    functionName: Botan_Tests::TLS_13_Message_Parsing_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - what
    - get_req_str
    - legacy_version
    - Botan::TLS::Ciphersuite::by_id
    - Botan::TLS::Client_Hello_13::parse
    - Test::Result::test_eq
    - Test::Result::confirm
    - Botan::TLS::Server_Hello_13::parse
    - get_opt_str
    - std::visit
    - ciphersuite
    - get_req_bin
    - Botan::hex_encode
    - std::vector::push_back
    - get_opt_bin
    - Botan::get_byte<1>
    - Botan::TLS::Ciphersuite::ciphersuite_code
    - Botan::make_uint16
    - extensions
    - Botan::get_byte<0>
    - ciphersuites
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:39,1
    - Dst: Botan_Tests::Filter_Tests::test_secqueue
      Src: /src/botan/src/tests/test_filters.cpp:39,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:40,1
    - Dst: Botan_Tests::Filter_Tests::test_data_src_sink
      Src: /src/botan/src/tests/test_filters.cpp:40,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:41,1
    - Dst: Botan_Tests::Filter_Tests::test_data_src_sink_flush
      Src: /src/botan/src/tests/test_filters.cpp:41,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:42,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_io
      Src: /src/botan/src/tests/test_filters.cpp:42,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:43,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_fd_io
      Src: /src/botan/src/tests/test_filters.cpp:43,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:44,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_errors
      Src: /src/botan/src/tests/test_filters.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:45,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_hash
      Src: /src/botan/src/tests/test_filters.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:46,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_mac
      Src: /src/botan/src/tests/test_filters.cpp:46,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:47,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_stream
      Src: /src/botan/src/tests/test_filters.cpp:47,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:48,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_cbc
      Src: /src/botan/src/tests/test_filters.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:49,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_cfb
      Src: /src/botan/src/tests/test_filters.cpp:49,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:50,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_compress
      Src: /src/botan/src/tests/test_filters.cpp:50,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:51,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_compress_bzip2
      Src: /src/botan/src/tests/test_filters.cpp:51,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:52,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_codec
      Src: /src/botan/src/tests/test_filters.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:53,1
    - Dst: Botan_Tests::Filter_Tests::test_fork
      Src: /src/botan/src/tests/test_filters.cpp:53,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:54,1
    - Dst: Botan_Tests::Filter_Tests::test_chain
      Src: /src/botan/src/tests/test_filters.cpp:54,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:55,1
    - Dst: Botan_Tests::Filter_Tests::test_threaded_fork
      Src: /src/botan/src/tests/test_filters.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: Botan_Tests::Filter_Tests::run
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Filter_Tests::test_secqueue
    - Botan_Tests::Filter_Tests::test_pipe_compress_bzip2
    - Botan_Tests::Filter_Tests::test_pipe_compress
    - Botan_Tests::Filter_Tests::test_pipe_cbc
    - Botan_Tests::Filter_Tests::test_pipe_codec
    - Botan_Tests::Filter_Tests::test_chain
    - Botan_Tests::Filter_Tests::test_threaded_fork
    - Botan_Tests::Filter_Tests::test_pipe_cfb
    - Botan_Tests::Filter_Tests::test_fork
    - Botan_Tests::Filter_Tests::test_data_src_sink
    - Botan_Tests::Filter_Tests::test_pipe_mac
    - Botan_Tests::Filter_Tests::test_data_src_sink_flush
    - Botan_Tests::Filter_Tests::test_pipe_errors
    - Botan_Tests::Filter_Tests::test_pipe_io
    - Botan_Tests::Filter_Tests::test_pipe_stream
    - Botan_Tests::Filter_Tests::test_pipe_fd_io
    - std::vector::push_back
    - Botan_Tests::Filter_Tests::test_pipe_hash
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SecureQueue::SecureQueue
      Src: /src/botan/src/tests/test_filters.cpp:65,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:66,1
    - Dst: Botan::SecureQueue::attachable
      Src: /src/botan/src/tests/test_filters.cpp:66,1
    - Dst: Botan::SecureQueue::write
      Src: /src/botan/src/tests/test_filters.cpp:69,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_filters.cpp:69,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_filters.cpp:69,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:71,1
    - Dst: Botan::SecureQueue::size
      Src: /src/botan/src/tests/test_filters.cpp:71,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_filters.cpp:71,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:72,1
    - Dst: Botan::SecureQueue::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:72,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:75,1
    - Dst: Botan::SecureQueue::check_available
      Src: /src/botan/src/tests/test_filters.cpp:75,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:76,1
    - Dst: Botan::SecureQueue::check_available
      Src: /src/botan/src/tests/test_filters.cpp:76,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:78,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_filters.cpp:81,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:82,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:84,1
    - Dst: Botan::SecureQueue::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:84,1
    - Dst: Botan::SecureQueue::SecureQueue
      Src: /src/botan/src/tests/test_filters.cpp:86,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:88,1
    - Dst: Botan::SecureQueue::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:88,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_filters.cpp:90,1
    - Dst: what
      Src: /src/botan/src/tests/test_filters.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 94
    functionName: Botan_Tests::Filter_Tests::test_secqueue
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::vector::at
    - Botan::SecureQueue::attachable
    - what
    - Botan::SecureQueue::write
    - Test::Result::test_eq
    - Botan::SecureQueue::SecureQueue
    - Botan::SecureQueue::size
    - Botan::SecureQueue::check_available
    - Test::Result::test_failure
    - Botan::SecureQueue::get_bytes_read
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_secqueue()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:102,1
    - Dst: Botan::DataSink_Stream::DataSink_Stream
      Src: /src/botan/src/tests/test_filters.cpp:102,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_filters.cpp:107,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:110,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:112,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_filters.cpp:112,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:116,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:118,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_filters.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 121
    functionName: Botan_Tests::Filter_Tests::test_data_src_sink
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::process_msg
    - std::ostringstream::str
    - Test::Result::test_eq
    - Botan::DataSink_Stream::DataSink_Stream
    - Botan::Hex_Decoder::Hex_Decoder
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_data_src_sink()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_filters.cpp:128,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_filters.cpp:129,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_filters.cpp:130,1
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:136,1
    - Dst: Botan::DataSink_Stream::DataSink_Stream
      Src: /src/botan/src/tests/test_filters.cpp:136,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:139,1
    - Dst: std::ifstream::rdbuf
      Src: /src/botan/src/tests/test_filters.cpp:143,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:145,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/tests/test_filters.cpp:145,1
    - Dst: std::ofstream::close
      Src: /src/botan/src/tests/test_filters.cpp:148,1
    - Dst: std::ifstream::close
      Src: /src/botan/src/tests/test_filters.cpp:149,1
    - Dst: std::remove
      Src: /src/botan/src/tests/test_filters.cpp:151,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_filters.cpp:151,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_filters.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 156
    functionName: Botan_Tests::Filter_Tests::test_data_src_sink_flush
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::process_msg
    - std::ofstream::close
    - std::string::c_str
    - std::ifstream::close
    - Test::Result::test_eq
    - std::stringstream::str
    - Botan::DataSink_Stream::DataSink_Stream
    - Test::Result::test_failure
    - std::ifstream::rdbuf
    - Botan_Tests::Test::temp_file_name
    - std::remove
    - std::string::empty
    - Botan::Hex_Decoder::Hex_Decoder
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_data_src_sink_flush()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:162,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:164,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:168,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_filters.cpp:168,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:171,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:173,1
    - Dst: Botan::Pipe::set_default_msg
      Src: /src/botan/src/tests/test_filters.cpp:175,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:177,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_filters.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 181
    functionName: Botan_Tests::Filter_Tests::test_pipe_io
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::process_msg
    - std::ostringstream::str
    - Test::Result::test_eq
    - Botan::Hex_Encoder::Hex_Encoder
    - Botan::Pipe::set_default_msg
    - Botan::Pipe::end_msg
    - Botan::Pipe::start_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_io()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::Pipe
      Src: /src/botan/src/tests/test_filters.cpp:186,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:188,1
    - Dst: Botan::Pipe::append_filter
      Src: /src/botan/src/tests/test_filters.cpp:189,1
    - Dst: Botan::Pipe::prepend
      Src: /src/botan/src/tests/test_filters.cpp:190,1
    - Dst: Botan::Pipe::prepend_filter
      Src: /src/botan/src/tests/test_filters.cpp:191,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:192,1
    - Dst: std::make_shared<Botan::SecureQueue>
      Src: /src/botan/src/tests/test_filters.cpp:194,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:197,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:198,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:198,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:200,1
    - Dst: Botan::Pipe::prepend
      Src: /src/botan/src/tests/test_filters.cpp:201,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:201,1
    - Dst: Botan::Pipe::append_filter
      Src: /src/botan/src/tests/test_filters.cpp:203,1
    - Dst: Botan::BitBucket::BitBucket
      Src: /src/botan/src/tests/test_filters.cpp:203,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:204,1
    - Dst: Botan::Pipe::prepend_filter
      Src: /src/botan/src/tests/test_filters.cpp:206,1
    - Dst: Botan::BitBucket::BitBucket
      Src: /src/botan/src/tests/test_filters.cpp:206,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:207,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:209,1
    - Dst: std::make_unique<Botan::BitBucket>
      Src: /src/botan/src/tests/test_filters.cpp:211,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:215,1
    - Dst: Botan::Pipe::append_filter
      Src: /src/botan/src/tests/test_filters.cpp:216,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:216,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:219,1
    - Dst: Botan::Pipe::prepend_filter
      Src: /src/botan/src/tests/test_filters.cpp:220,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:220,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:223,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:224,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:224,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:226,1
    - Dst: Botan::Pipe::prepend
      Src: /src/botan/src/tests/test_filters.cpp:227,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:227,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:229,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:229,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:231,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:233,1
    - Dst: Botan::Pipe::append_filter
      Src: /src/botan/src/tests/test_filters.cpp:234,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:234,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:237,1
    - Dst: Botan::Pipe::prepend_filter
      Src: /src/botan/src/tests/test_filters.cpp:238,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:238,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:241,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_filters.cpp:244,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:247,1
    - Dst: Botan::Pipe::prepend
      Src: /src/botan/src/tests/test_filters.cpp:248,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 252
    functionName: Botan_Tests::Filter_Tests::test_pipe_errors
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - Botan::Pipe::append
    - Botan::Pipe::append_filter
    - auto::get
    - Botan::Pipe::prepend
    - std::make_shared<Botan::SecureQueue>
    - Test::Result::test_throws
    - Botan::BitBucket::BitBucket
    - std::make_unique<Botan::BitBucket>
    - Botan::Pipe::Pipe
    - Botan::Pipe::pop
    - Botan::Pipe::prepend_filter
    - Botan::Pipe::end_msg
    - Botan::Pipe::start_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_errors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MAC_Filter::MAC_Filter
      Src: /src/botan/src/tests/test_filters.cpp:260,1
    - Dst: Botan::Keyed_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:262,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_filters.cpp:262,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:264,1
    - Dst: Botan::Keyed_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:266,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_filters.cpp:266,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:270,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:271,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:272,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:274,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:274,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:275,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:275,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:276,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 279
    functionName: Botan_Tests::Filter_Tests::test_pipe_mac
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Keyed_Filter*::set_iv
    - Botan::Pipe::process_msg
    - Test::Result::test_eq
    - Botan::InitializationVector
    - Test::Result::test_throws
    - Botan::MAC_Filter::MAC_Filter
    - Botan::Pipe::read_all_as_string
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_mac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:286,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:286,1
    - Dst: Botan::Chain::Chain
      Src: /src/botan/src/tests/test_filters.cpp:286,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:287,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:289,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:289,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:291,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:291,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:293,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:295,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:296,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_filters.cpp:296,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:297,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:298,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:300,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:300,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:301,1
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/tests/test_filters.cpp:301,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:305,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:305,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:306,1
    - Dst: Botan::Pipe::end_of_data
      Src: /src/botan/src/tests/test_filters.cpp:306,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:307,1
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/tests/test_filters.cpp:307,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:308,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:308,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:309,1
    - Dst: Botan::Pipe::peek
      Src: /src/botan/src/tests/test_filters.cpp:309,1
    - Dst: data
      Src: /src/botan/src/tests/test_filters.cpp:309,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:310,1
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/tests/test_filters.cpp:310,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:311,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:311,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:312,1
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/tests/test_filters.cpp:312,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:313,1
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/tests/test_filters.cpp:313,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:314,1
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/tests/test_filters.cpp:314,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:315,1
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/tests/test_filters.cpp:315,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:316,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:316,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:317,1
    - Dst: Botan::Pipe::end_of_data
      Src: /src/botan/src/tests/test_filters.cpp:317,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:319,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:320,1
    - Dst: Botan::Pipe::reset
      Src: /src/botan/src/tests/test_filters.cpp:322,1
    - Dst: Botan::Pipe::prepend
      Src: /src/botan/src/tests/test_filters.cpp:325,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:325,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:326,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:326,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:327,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_filters.cpp:327,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:328,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 332
    functionName: Botan_Tests::Filter_Tests::test_pipe_hash
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::process_msg
    - Botan::Pipe::append
    - Botan::Pipe::prepend
    - Botan::Pipe::pop
    - Botan::Pipe::peek
    - Botan::Pipe::remaining
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - data
    - Botan::Hash_Filter::Hash_Filter
    - Botan::Pipe::get_bytes_read
    - Botan::Pipe::end_of_data
    - Botan::Pipe::read
    - Botan::Pipe::reset
    - Botan::Pipe::write
    - Botan::Chain::Chain
    - Botan::Pipe::start_msg
    - Botan::Pipe::message_count
    - Botan::Pipe::end_msg
    - Botan::Pipe::read_all
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher
      Src: /src/botan/src/tests/test_filters.cpp:364,1
    - Dst: get_cipher
      Src: /src/botan/src/tests/test_filters.cpp:367,1
    - Dst: Botan::Keyed_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:368,1
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:369,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:369,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:372,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:373,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:374,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:376,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:379,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:379,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:380,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:380,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:382,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:383,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:383,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:386,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:387,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:387,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_filters.cpp:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 392
    functionName: Botan_Tests::Filter_Tests::test_pipe_cfb
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - get_cipher
    - Botan::Keyed_Filter*::set_iv
    - Botan::Pipe::process_msg
    - Botan::hex_encode
    - Test::Result::test_eq
    - Botan::Pipe::message_count
    - Botan::Pipe::end_msg
    - Botan::Pipe::write
    - Botan::Hex_Encoder::Hex_Encoder
    - Botan::Pipe::read_all_as_string
    - Botan::Hex_Decoder::Hex_Decoder
    - Botan::Pipe::start_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_cfb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_filters.cpp:399,1
    - Dst: Botan::Cipher_Mode_Filter::Cipher_Mode_Filter
      Src: /src/botan/src/tests/test_filters.cpp:398,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:401,1
    - Dst: Botan::Cipher_Mode_Filter*::name
      Src: /src/botan/src/tests/test_filters.cpp:401,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:403,1
    - Dst: Botan::Cipher_Mode_Filter*::valid_iv_length
      Src: /src/botan/src/tests/test_filters.cpp:403,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:404,1
    - Dst: Botan::Cipher_Mode_Filter*::valid_iv_length
      Src: /src/botan/src/tests/test_filters.cpp:404,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:406,1
    - Dst: Botan::Cipher_Mode_Filter*::key_spec
      Src: /src/botan/src/tests/test_filters.cpp:406,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:407,1
    - Dst: Botan::Cipher_Mode_Filter*::key_spec
      Src: /src/botan/src/tests/test_filters.cpp:407,1
    - Dst: Botan::Cipher_Mode_Filter*::set_key
      Src: /src/botan/src/tests/test_filters.cpp:412,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/test_filters.cpp:412,1
    - Dst: Botan::Cipher_Mode_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:413,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_filters.cpp:413,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:415,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:417,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:417,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:418,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:418,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:419,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:420,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:420,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_filters.cpp:420,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:422,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:424,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:425,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:426,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:427,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:430,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:431,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_filters.cpp:434,1
    - Dst: Botan::Cipher_Mode_Filter::Cipher_Mode_Filter
      Src: /src/botan/src/tests/test_filters.cpp:433,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:435,1
    - Dst: Botan::Cipher_Mode_Filter*::set_key
      Src: /src/botan/src/tests/test_filters.cpp:436,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/test_filters.cpp:436,1
    - Dst: Botan::Cipher_Mode_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:437,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_filters.cpp:437,1
    - Dst: Botan::Cipher_Mode_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:440,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_filters.cpp:440,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:444,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:445,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:446,1
    - Dst: Botan::Pipe::set_default_msg
      Src: /src/botan/src/tests/test_filters.cpp:448,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:449,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:449,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:450,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:451,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:451,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_filters.cpp:451,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 456
    functionName: Botan_Tests::Filter_Tests::test_pipe_cbc
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::process_msg
    - Botan::Pipe::append
    - Botan::Cipher_Mode_Filter*::set_iv
    - Botan::secure_vector::size
    - Botan::Pipe::set_default_msg
    - Test::Result::test_eq
    - Botan::Pipe::get_bytes_read
    - Botan::Cipher_Mode::create
    - auto::size
    - Botan::SymmetricKey
    - Botan::Cipher_Mode_Filter::Cipher_Mode_Filter
    - Botan::Cipher_Mode_Filter*::valid_iv_length
    - Botan::InitializationVector
    - Botan::Pipe::write
    - Botan::Pipe::start_msg
    - Botan::Pipe::message_count
    - Botan::Cipher_Mode_Filter*::name
    - Botan::Cipher_Mode_Filter*::set_key
    - Botan::Cipher_Mode_Filter*::key_spec
    - Botan::Pipe::end_msg
    - Botan::Pipe::read_all
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_cbc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Compression_Filter>
      Src: /src/botan/src/tests/test_filters.cpp:463,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:465,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_filters.cpp:465,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_filters.cpp:466,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:470,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:471,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:472,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:474,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_filters.cpp:476,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_filters.cpp:476,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_filters.cpp:476,1
    - Dst: std::make_unique<Botan::Decompression_Filter>
      Src: /src/botan/src/tests/test_filters.cpp:478,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:479,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_filters.cpp:479,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:480,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_filters.cpp:480,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:481,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:483,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:485,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 490
    functionName: Botan_Tests::Filter_Tests::test_pipe_compress
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_lt
    - Botan::Pipe::process_msg
    - auto::name
    - Botan::Pipe::append
    - Test::Result::test_eq
    - std::make_unique<Botan::Decompression_Filter>
    - auto::release
    - Botan::Pipe::read_all
    - Botan::Pipe::pop
    - Botan::Pipe::write
    - auto::size
    - Botan::Pipe::read_all_as_string
    - std::string::size
    - std::make_unique<Botan::Compression_Filter>
    - Botan::Pipe::end_msg
    - Botan::Pipe::start_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_compress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Compression_Filter>
      Src: /src/botan/src/tests/test_filters.cpp:497,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:499,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_filters.cpp:499,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_filters.cpp:500,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:504,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:505,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:506,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:508,1
    - Dst: std::make_unique<Botan::Decompression_Filter>
      Src: /src/botan/src/tests/test_filters.cpp:511,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:512,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_filters.cpp:512,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:513,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_filters.cpp:513,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:514,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:516,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:518,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 523
    functionName: Botan_Tests::Filter_Tests::test_pipe_compress_bzip2
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::process_msg
    - auto::name
    - Botan::Pipe::append
    - Test::Result::test_eq
    - std::make_unique<Botan::Decompression_Filter>
    - auto::release
    - Botan::Pipe::read_all
    - Botan::Pipe::pop
    - Botan::Pipe::write
    - Botan::Pipe::read_all_as_string
    - std::make_unique<Botan::Compression_Filter>
    - Botan::Pipe::end_msg
    - Botan::Pipe::start_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_compress_bzip2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base64_Encoder::Base64_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:529,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:531,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:531,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:533,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:535,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:535,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:536,1
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/tests/test_filters.cpp:536,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:538,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:539,1
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/tests/test_filters.cpp:539,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:540,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:542,1
    - Dst: Botan::Base64_Decoder::Base64_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:542,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:543,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:545,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:545,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:547,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:548,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:551,1
    - Dst: Botan::Pipe::set_default_msg
      Src: /src/botan/src/tests/test_filters.cpp:553,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:554,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:554,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:556,1
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:556,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:558,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:559,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:560,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:562,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:562,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:563,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:564,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:564,1
    - Dst: Botan::Pipe::reset
      Src: /src/botan/src/tests/test_filters.cpp:568,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:569,1
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:569,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:570,1
    - Dst: Botan::Base64_Encoder::Base64_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:570,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:574,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:575,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:576,1
    - Dst: Botan::Pipe::reset
      Src: /src/botan/src/tests/test_filters.cpp:578,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:579,1
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:579,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:580,1
    - Dst: Botan::Base64_Encoder::Base64_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:580,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:581,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:582,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:582,1
    - Dst: Botan::Pipe::reset
      Src: /src/botan/src/tests/test_filters.cpp:584,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:585,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:585,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:586,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:587,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:588,1
    - Dst: Botan::Pipe::reset
      Src: /src/botan/src/tests/test_filters.cpp:591,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:592,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:592,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:593,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:594,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 600
    functionName: Botan_Tests::Filter_Tests::test_pipe_codec
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::process_msg
    - Botan::Pipe::reset
    - Botan::Pipe::append
    - Test::Result::test_eq
    - Botan::Pipe::message_count
    - Botan::Base64_Decoder::Base64_Decoder
    - Botan::Hex_Encoder::Hex_Encoder
    - Botan::Pipe::read_all
    - Botan::Pipe::pop
    - Botan::Pipe::set_default_msg
    - Botan::Pipe::read_all_as_string
    - Botan::Hex_Decoder::Hex_Decoder
    - Botan::Base64_Encoder::Base64_Encoder
    - Botan::Pipe::remaining
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher_Filter::StreamCipher_Filter
      Src: /src/botan/src/tests/test_filters.cpp:610,1
    - Dst: Botan::Keyed_Filter*::set_key
      Src: /src/botan/src/tests/test_filters.cpp:612,1
    - Dst: Botan::Keyed_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:613,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:615,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:617,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:617,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:618,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:618,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:620,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:621,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 624
    functionName: Botan_Tests::Filter_Tests::test_pipe_stream
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Keyed_Filter*::set_iv
    - Botan::Pipe::process_msg
    - Botan::Keyed_Filter*::set_key
    - Test::Result::test_eq
    - Botan::Pipe::message_count
    - Botan::StreamCipher_Filter::StreamCipher_Filter
    - Botan::Pipe::read_all
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:630,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:630,1
    - Dst: Botan::Fork::Fork
      Src: /src/botan/src/tests/test_filters.cpp:630,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:632,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:632,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:633,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:634,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:634,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:637,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:637,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:638,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 641
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 641
    functionName: Botan_Tests::Filter_Tests::test_fork
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 2
    functionsReached:
    - Botan::Pipe::process_msg
    - Botan::Fork::Fork
    - Test::Result::test_eq
    - Botan::Pipe::message_count
    - Botan::Hash_Filter::Hash_Filter
    - Botan::Pipe::read_all
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_fork()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:648,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:648,1
    - Dst: std::make_unique<Botan::Chain>
      Src: /src/botan/src/tests/test_filters.cpp:650,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:652,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_filters.cpp:652,1
    - Dst: std::make_unique<Botan::Fork>
      Src: /src/botan/src/tests/test_filters.cpp:654,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_filters.cpp:655,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:655,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:655,1
    - Dst: Botan::Chain::Chain
      Src: /src/botan/src/tests/test_filters.cpp:655,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:657,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_filters.cpp:657,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_filters.cpp:658,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:660,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:660,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:661,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:662,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:662,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:664,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:665,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:666,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 670
    functionName: Botan_Tests::Filter_Tests::test_chain
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Botan::Fork>
    - Botan::Pipe::process_msg
    - auto::name
    - Botan::Chain::Chain
    - Test::Result::test_eq
    - Botan::Pipe::message_count
    - Botan::Hash_Filter::Hash_Filter
    - auto::release
    - Botan::Hex_Encoder::Hex_Encoder
    - Botan::Pipe::read_all_as_string
    - std::make_unique<Botan::Chain>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::pipe
      Src: /src/botan/src/tests/test_filters.cpp:677,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:681,1
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:682,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:684,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/test_filters.cpp:686,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:688,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:690,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/test_filters.cpp:691,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:693,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 699
    functionName: Botan_Tests::Filter_Tests::test_pipe_fd_io
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::process_msg
    - ::pipe
    - Test::Result::test_eq
    - Botan::TLS::Channel_Impl::close
    - Botan::Pipe::end_msg
    - Botan::Hex_Encoder::Hex_Encoder
    - Botan::Pipe::read_all_as_string
    - Botan::Hex_Decoder::Hex_Decoder
    - Botan::Pipe::start_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_fd_io()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:705,1
    - Dst: Botan::Base64_Encoder::Base64_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:705,1
    - Dst: Botan::Threaded_Fork::Threaded_Fork
      Src: /src/botan/src/tests/test_filters.cpp:705,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:707,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:707,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:708,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:709,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:709,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:712,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:712,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:713,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:713,1
    - Dst: Botan::Pipe::reset
      Src: /src/botan/src/tests/test_filters.cpp:715,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:720,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:723,1
    - Dst: Botan::Threaded_Fork::Threaded_Fork
      Src: /src/botan/src/tests/test_filters.cpp:723,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:725,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:725,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:727,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_filters.cpp:729,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:730,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:732,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:734,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:734,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:736,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 741
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 741
    functionName: Botan_Tests::Filter_Tests::test_threaded_fork
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::process_msg
    - Botan::Base64_Encoder::Base64_Encoder
    - Botan::Pipe::reset
    - Botan::Pipe::append
    - Test::Result::test_eq
    - Botan::Pipe::message_count
    - Botan::Hash_Filter::Hash_Filter
    - static_cast<uint8_t>
    - Botan::Pipe::write
    - Botan::Pipe::read_all
    - Botan::Hex_Encoder::Hex_Encoder
    - Botan::Pipe::read_all_as_string
    - Botan::Pipe::end_msg
    - Botan::Threaded_Fork::Threaded_Fork
    - Botan::Pipe::start_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_threaded_fork()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan_Tests::Dilithium_KAT_Tests::Dilithium_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dilithium_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dilithium.cpp:39,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dilithium.cpp:40,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dilithium.cpp:41,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dilithium.cpp:42,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dilithium.cpp:43,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_dilithium.cpp:44,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_dilithium.cpp:46,1
    - Dst: std::make_unique<CTR_DRBG_AES256>
      Src: /src/botan/src/tests/test_dilithium.cpp:48,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:52,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_dilithium.cpp:53,1
    - Dst: Botan::Dilithium_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_dilithium.cpp:53,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:55,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_dilithium.cpp:56,1
    - Dst: Botan::Dilithium_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/test_dilithium.cpp:56,1
    - Dst: Botan::PK_Signer::PK_Signer
      Src: /src/botan/src/tests/test_dilithium.cpp:58,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_dilithium.cpp:59,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_dilithium.cpp:59,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_dilithium.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:61,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_dilithium.cpp:61,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_dilithium.cpp:62,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:63,1
    - Dst: Botan::Dilithium_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/test_dilithium.cpp:66,1
    - Dst: Botan::PK_Verifier::PK_Verifier
      Src: /src/botan/src/tests/test_dilithium.cpp:67,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_dilithium.cpp:68,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_dilithium.cpp:68,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_dilithium.cpp:68,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:69,1
    - Dst: auto::check_signature
      Src: /src/botan/src/tests/test_dilithium.cpp:69,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_dilithium.cpp:69,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_dilithium.cpp:69,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_dilithium.cpp:72,1
    - Dst: Botan_Tests::Dilithium_KAT_Tests::rng
      Src: /src/botan/src/tests/test_dilithium.cpp:72,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:73,1
    - Dst: auto::check_signature
      Src: /src/botan/src/tests/test_dilithium.cpp:74,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_dilithium.cpp:74,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_dilithium.cpp:74,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_dilithium.cpp:76,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_dilithium.cpp:76,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_dilithium.cpp:76,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:77,1
    - Dst: auto::check_signature
      Src: /src/botan/src/tests/test_dilithium.cpp:77,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_dilithium.cpp:77,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_dilithium.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' name'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 80
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 80
    functionName: Botan_Tests::Dilithium_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_PrivateKey::public_key_bits
    - auto::sign_message
    - Test::Result::test_eq
    - Botan::Dilithium_PrivateKey::private_key_bits
    - Test::Result::confirm
    - Botan_Tests::Test::mutate_vec
    - auto::check_signature
    - auto::size
    - auto::process
    - auto::data
    - auto::update
    - Botan::HashFunction::create_or_throw
    - get_req_bin
    - get_opt_bin
    - Botan::PK_Signer::PK_Signer
    - auto::empty
    - Botan_Tests::Dilithium_KAT_Tests::rng
    - std::make_unique<CTR_DRBG_AES256>
    - Botan::PK_Verifier::PK_Verifier
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& name, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMode::is_available
      Src: /src/botan/src/tests/test_dilithium.cpp:135,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_dilithium.cpp:136,1
    - Dst: Botan::DilithiumMode::to_string
      Src: /src/botan/src/tests/test_dilithium.cpp:136,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_dilithium.cpp:140,1
    - Dst: Botan::PK_Signer::PK_Signer
      Src: /src/botan/src/tests/test_dilithium.cpp:144,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_dilithium.cpp:145,1
    - Dst: Botan::PK_Verifier::PK_Verifier
      Src: /src/botan/src/tests/test_dilithium.cpp:149,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_dilithium.cpp:150,1
    - Dst: auto::check_signature
      Src: /src/botan/src/tests/test_dilithium.cpp:151,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_dilithium.cpp:155,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_dilithium.cpp:155,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_dilithium.cpp:155,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:160,1
    - Dst: Botan::Dilithium_PrivateKey::estimated_strength
      Src: /src/botan/src/tests/test_dilithium.cpp:160,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:161,1
    - Dst: Botan::Dilithium_PrivateKey::key_length
      Src: /src/botan/src/tests/test_dilithium.cpp:161,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:162,1
    - Dst: estimated_strength
      Src: /src/botan/src/tests/test_dilithium.cpp:162,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:163,1
    - Dst: key_length
      Src: /src/botan/src/tests/test_dilithium.cpp:163,1
    - Dst: sign
      Src: /src/botan/src/tests/test_dilithium.cpp:165,1
    - Dst: Botan::Dilithium_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_dilithium.cpp:167,1
    - Dst: Botan::Dilithium_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/test_dilithium.cpp:168,1
    - Dst: sign
      Src: /src/botan/src/tests/test_dilithium.cpp:173,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:175,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:175,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:176,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:176,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:177,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:177,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:178,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:178,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:179,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:179,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:180,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:180,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_dilithium.cpp:183,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:184,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:184,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:185,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:185,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:186,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:187,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:188,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:189,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:190,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:190,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:191,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:191,1
    - Dst: Botan::load_public_key
      Src: /src/botan/src/tests/test_dilithium.cpp:194,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/tests/test_dilithium.cpp:194,1
    - Dst: Botan::load_private_key
      Src: /src/botan/src/tests/test_dilithium.cpp:196,1
    - Dst: Botan::Dilithium_PrivateKey::algorithm_identifier
      Src: /src/botan/src/tests/test_dilithium.cpp:196,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/test_dilithium.cpp:198,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/test_dilithium.cpp:199,1
    - Dst: sign
      Src: /src/botan/src/tests/test_dilithium.cpp:201,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:203,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:204,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:205,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:206,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:207,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 5
    argNames:
    - test_name
    - mode
    - randomized
    - strength
    - psid
    argTypes:
    - char*
    - Botan::DilithiumMode
    - bool
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 211
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 211
    functionName: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - verify
    - Botan::Dilithium_PrivateKey::public_key_bits
    - Test::Result::note_missing
    - Botan::load_public_key
    - estimated_strength
    - Botan::DilithiumMode::is_available
    - auto::sign_message
    - Test::Result::test_not_null
    - Test::Result::test_eq
    - Botan::Dilithium_PrivateKey::private_key_bits
    - Test::Result::confirm
    - auto::check_signature
    - sign
    - std::string::data
    - auto::update
    - Botan::Dilithium_PrivateKey::estimated_strength
    - Botan::Dilithium_PrivateKey::algorithm_identifier
    - Botan_Tests::Test::new_rng
    - key_length
    - std::string::size
    - Botan::load_private_key
    - Botan::DilithiumMode::to_string
    - Botan::PK_Signer::PK_Signer
    - algorithm_identifier
    - Botan::Dilithium_PrivateKey::key_length
    - Botan::PK_Verifier::PK_Verifier
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result run_roundtrip(\n         const char* test_name, Botan::DilithiumMode
      mode, bool randomized, size_t strength, size_t psid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:215,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:216,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:217,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:218,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:219,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:220,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:221,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:222,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:223,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:224,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:225,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:226,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:227,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:228,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:229,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:230,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:231,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 234
    functionName: Botan_Tests::DilithiumRoundtripTests::run
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::DilithiumRoundtripTests::run_roundtrip
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::copy_if
      Src: /src/botan/src/tests/test_dilithium.cpp:254,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_dilithium.cpp:254,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_dilithium.cpp:255,1
    - Dst: std::back_inserter
      Src: /src/botan/src/tests/test_dilithium.cpp:256,1
    - Dst: Botan::DilithiumMode::DilithiumMode
      Src: /src/botan/src/tests/test_dilithium.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 259
    functionName: Botan_Tests::Dilithium_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::DilithiumMode::DilithiumMode
    - std::back_inserter
    - std::copy_if
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/tests/test_dilithium.cpp:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: Botan_Tests::Dilithium_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::starts_with
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name(std::string_view param) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_dilithium.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: Botan_Tests::Dilithium_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Dilithium_PublicKey>
      Src: /src/botan/src/tests/test_dilithium.cpp:274,1
    - Dst: Botan::DilithiumMode::DilithiumMode
      Src: /src/botan/src/tests/test_dilithium.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: Botan_Tests::Dilithium_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Dilithium_PublicKey>
    - Botan::DilithiumMode::DilithiumMode
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: Botan_Tests::ECGDSA_Signature_KAT_Tests::ECGDSA_Signature_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECGDSA_Signature_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_Tests::ECGDSA_Signature_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecgdsa.cpp:30,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecgdsa.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan_Tests::ECGDSA_Signature_KAT_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecgdsa.cpp:34,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecgdsa.cpp:35,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecgdsa.cpp:36,1
    - Dst: std::make_unique<Botan::ECGDSA_PrivateKey>
      Src: /src/botan/src/tests/test_ecgdsa.cpp:38,1
    - Dst: Botan_Tests::ECGDSA_Signature_KAT_Tests::rng
      Src: /src/botan/src/tests/test_ecgdsa.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: Botan_Tests::ECGDSA_Signature_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ECGDSA_PrivateKey>
    - get_req_bn
    - Botan_Tests::ECGDSA_Signature_KAT_Tests::rng
    - get_req_str
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecgdsa.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan_Tests::ECGDSA_Signature_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_Position_RNG>
      Src: /src/botan/src/tests/test_ecgdsa.cpp:46,1
    - Dst: Botan_Tests::ECGDSA_Signature_KAT_Tests::rng
      Src: /src/botan/src/tests/test_ecgdsa.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: Botan_Tests::ECGDSA_Signature_KAT_Tests::test_rng
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_Position_RNG>
    - Botan_Tests::ECGDSA_Signature_KAT_Tests::rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan_Tests::ECGDSA_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan_Tests::ECGDSA_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/tests/test_ecgdsa.cpp:59,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_ecgdsa.cpp:60,1
    - Dst: std::make_unique<Botan::ECGDSA_PublicKey>
      Src: /src/botan/src/tests/test_ecgdsa.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: Botan_Tests::ECGDSA_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ECGDSA_PublicKey>
    - Botan::EC_Group::EC_Group
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::is_available
      Src: /src/botan/src/tests/test_kyber.cpp:44,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_kyber.cpp:45,1
    - Dst: Botan::KyberMode::to_string
      Src: /src/botan/src/tests/test_kyber.cpp:45,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_kyber.cpp:49,1
    - Dst: Botan::Kyber_PrivateKey::public_key
      Src: /src/botan/src/tests/test_kyber.cpp:55,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:57,1
    - Dst: Botan::Kyber_PrivateKey::estimated_strength
      Src: /src/botan/src/tests/test_kyber.cpp:57,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:58,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_kyber.cpp:58,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:59,1
    - Dst: Botan::Kyber_PrivateKey::key_length
      Src: /src/botan/src/tests/test_kyber.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:60,1
    - Dst: auto::key_length
      Src: /src/botan/src/tests/test_kyber.cpp:60,1
    - Dst: Botan::Kyber_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_kyber.cpp:63,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_kyber.cpp:64,1
    - Dst: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
      Src: /src/botan/src/tests/test_kyber.cpp:68,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_kyber.cpp:69,1
    - Dst: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
      Src: /src/botan/src/tests/test_kyber.cpp:73,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_kyber.cpp:74,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:74,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:75,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:75,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_kyber.cpp:82,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:83,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_kyber.cpp:84,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_kyber.cpp:85,1
    - Dst: copy
      Src: /src/botan/src/tests/test_kyber.cpp:90,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:90,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:91,1
    - Dst: std::back_inserter
      Src: /src/botan/src/tests/test_kyber.cpp:92,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_kyber.cpp:93,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_kyber.cpp:94,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_kyber.cpp:97,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:97,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:98,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - test_name
    - mode
    - strength
    - psid
    argTypes:
    - char*
    - Botan::KyberMode
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 101
    functionName: KYBER_Tests::run_kyber_test
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - auto::key_length
    - std::back_inserter
    - Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    - Test::Result::note_missing
    - Test::Result::test_eq
    - copy
    - Test::Result::test_throws
    - Botan::Kyber_PrivateKey::private_key_bits
    - Test::Result::confirm
    - Botan::Kyber_PrivateKey::key_length
    - auto::pop_back
    - auto::decrypt
    - Botan::KyberMode::to_string
    - Botan::Kyber_PrivateKey::public_key
    - auto::shared_key
    - Botan_Tests::Test::new_rng
    - auto::encapsulated_shared_key
    - Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    - auto::estimated_strength
    - Botan::KyberMode::is_available
    - auto::encrypt
    - auto::public_key_bits
    - Botan::Kyber_PrivateKey::estimated_strength
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_kyber_test(const char* test_name, Botan::KyberMode
      mode, size_t strength, size_t psid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:105,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:106,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:107,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:108,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:109,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:110,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:111,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:112,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: KYBER_Tests::run
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - KYBER_Tests::run_kyber_test
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo_name'
    - ' kat_file'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: Kyber_KAT_Tests::Kyber_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Kyber_KAT_Tests(const std::string& algo_name,\n                      const
      std::string& kat_file,\n                      const std::string& further_optional_keys
      = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::KyberMode
      Src: /src/botan/src/tests/test_kyber.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Kyber_KAT_Tests::get_mode
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::KyberMode::KyberMode
    linkageType: ''
    returnType: Botan::KyberMode
    signature: Botan::KyberMode get_mode(const std::string& mode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Kyber_KAT_Tests::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Kyber_KAT_Tests::is_available
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Kyber_KAT_Tests::get_mode
    linkageType: ''
    returnType: bool
    signature: bool is_available(const std::string& mode) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_kyber.cpp:138,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_kyber.cpp:138,1
    - Dst: Kyber_KAT_Tests::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:143,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_kyber.cpp:145,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_kyber.cpp:146,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_kyber.cpp:147,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_kyber.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' mode'
    - value
    - var_type
    argTypes:
    - std::string
    - std::span<const uint8_t>
    - VarType
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: Kyber_KAT_Tests::map_value
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - Kyber_KAT_Tests::get_mode
    - Botan::HashFunction::create_or_throw
    - auto::process
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> map_value(const std::string& mode,\n                                     std::span<const
      uint8_t> value,\n                                     VarType var_type) const
      final"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Kyber_KAT_Tests::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:151,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_kyber.cpp:152,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_kyber.cpp:153,1
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_kyber.cpp:154,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_kyber.cpp:154,1
    - Dst: Kyber_KAT_Tests::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:155,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_kyber.cpp:156,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_kyber.cpp:157,1
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_kyber.cpp:158,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_kyber.cpp:158,1
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_kyber.cpp:160,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_kyber.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' mode'
    - ' rng'
    argTypes:
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: Kyber_KAT_Tests::rng_for_keygen
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat
    - Kyber_KAT_Tests::get_mode
    - Fixed_Output_RNG
    - random_vec
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_keygen(const std::string& mode, Botan::RandomNumberGenerator&
      rng) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_kyber.cpp:165,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_kyber.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Kyber_KAT_Tests::rng_for_encapsulation
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Fixed_Output_RNG
    - random_vec
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_encapsulation(const std::string&, Botan::RandomNumberGenerator&
      rng) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: KyberR3_KAT_Tests::KyberR3_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KyberR3_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: ML_KEM_KAT_Tests::ML_KEM_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ML_KEM_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: ML_KEM_ACVP_KAT_KeyGen_Tests::ML_KEM_ACVP_KAT_KeyGen_Tests
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ML_KEM_ACVP_KAT_KeyGen_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::KyberMode
      Src: /src/botan/src/tests/test_kyber.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: ML_KEM_ACVP_KAT_KeyGen_Tests::get_mode
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::KyberMode::KyberMode
    linkageType: ''
    returnType: Botan::KyberMode
    signature: Botan::KyberMode get_mode(const std::string& mode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ML_KEM_ACVP_KAT_KeyGen_Tests::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ML_KEM_ACVP_KAT_KeyGen_Tests::is_available
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - ML_KEM_ACVP_KAT_KeyGen_Tests::get_mode
    linkageType: ''
    returnType: bool
    signature: bool is_available(const std::string& mode) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kyber.cpp:190,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kyber.cpp:191,1
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_kyber.cpp:192,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_kyber.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: ML_KEM_ACVP_KAT_KeyGen_Tests::rng_for_keygen
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - Botan::concat
    - Fixed_Output_RNG
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_keygen(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::KyberMode
      Src: /src/botan/src/tests/test_kyber.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::get_mode
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::KyberMode::KyberMode
    linkageType: ''
    returnType: Botan::KyberMode
    signature: Botan::KyberMode get_mode(const std::string& mode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::is_available
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::get_mode
    linkageType: ''
    returnType: bool
    signature: bool is_available(const std::string& mode) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Kyber_PublicKey>
      Src: /src/botan/src/tests/test_kyber.cpp:206,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kyber.cpp:206,1
    - Dst: ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' vars'
    - ' mode'
    argTypes:
    - VarMap
    - std::string
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::load_public_key
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::get_mode
    - std::make_unique<Botan::Kyber_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars,
      const std::string& mode) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: Kyber_Encoding_Test::Kyber_Encoding_Test
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Kyber_Encoding_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::KyberMode
      Src: /src/botan/src/tests/test_kyber.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: Kyber_Encoding_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::KyberMode::KyberMode
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& algo_name, const VarMap& /*vars*/)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::KyberMode
      Src: /src/botan/src/tests/test_kyber.cpp:233,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_kyber.cpp:234,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_kyber.cpp:234,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_kyber.cpp:235,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_kyber.cpp:235,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_kyber.cpp:236,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_kyber.cpp:238,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_kyber.cpp:241,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_kyber.cpp:242,1
    - Dst: Botan::Kyber_PrivateKey::Kyber_PrivateKey
      Src: /src/botan/src/tests/test_kyber.cpp:243,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_kyber.cpp:245,1
    - Dst: Botan::Kyber_PublicKey::Kyber_PublicKey
      Src: /src/botan/src/tests/test_kyber.cpp:246,1
    - Dst: std::make_unique<Botan::Kyber_PrivateKey>
      Src: /src/botan/src/tests/test_kyber.cpp:252,1
    - Dst: std::make_unique<Botan::Kyber_PublicKey>
      Src: /src/botan/src/tests/test_kyber.cpp:253,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:255,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_kyber.cpp:255,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:256,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_kyber.cpp:256,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:257,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_kyber.cpp:257,1
    - Dst: auto::private_key_format
      Src: /src/botan/src/tests/test_kyber.cpp:260,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:261,1
    - Dst: auto::private_key_bits_with_format
      Src: /src/botan/src/tests/test_kyber.cpp:262,1
    - Dst: std::make_unique<Botan::Kyber_PrivateKey>
      Src: /src/botan/src/tests/test_kyber.cpp:264,1
    - Dst: auto::private_key_bits_with_format
      Src: /src/botan/src/tests/test_kyber.cpp:265,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:266,1
    - Dst: auto::private_key_bits_with_format
      Src: /src/botan/src/tests/test_kyber.cpp:267,1
    - Dst: auto::private_key_bits_with_format
      Src: /src/botan/src/tests/test_kyber.cpp:268,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_kyber.cpp:269,1
    - Dst: auto::private_key_bits_with_format
      Src: /src/botan/src/tests/test_kyber.cpp:270,1
    - Dst: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
      Src: /src/botan/src/tests/test_kyber.cpp:273,1
    - Dst: rng
      Src: /src/botan/src/tests/test_kyber.cpp:273,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:274,1
    - Dst: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
      Src: /src/botan/src/tests/test_kyber.cpp:276,1
    - Dst: rng
      Src: /src/botan/src/tests/test_kyber.cpp:276,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:276,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:277,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:280,1
    - Dst: auto::private_key_bits_with_format
      Src: /src/botan/src/tests/test_kyber.cpp:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - ' algo_name'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 287
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 287
    functionName: Kyber_Encoding_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - auto::private_key_bits_with_format
    - auto::private_key_format
    - Botan::KyberMode::KyberMode
    - std::make_unique<Botan::Kyber_PrivateKey>
    - get_req_str
    - Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    - Botan::Kyber_PublicKey::Kyber_PublicKey
    - Botan::hex_decode_locked
    - Test::Result::test_eq
    - Test::Result::test_throws
    - std::make_unique<Botan::Kyber_PublicKey>
    - get_opt_str
    - Botan::Kyber_PrivateKey::Kyber_PrivateKey
    - Botan::hex_decode
    - auto::shared_key
    - auto::encapsulated_shared_key
    - auto::private_key_bits
    - Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    - auto::empty
    - auto::public_key_bits
    - rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo_name, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algo_name
      Src: /src/botan/src/tests/test_kyber.cpp:308,1
    - Dst: starts_with
      Src: /src/botan/src/tests/test_kyber.cpp:309,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_kyber.cpp:316,1
    - Dst: std::make_unique<Botan::Kyber_PublicKey>
      Src: /src/botan/src/tests/test_kyber.cpp:321,1
    - Dst: Botan::KyberMode::KyberMode
      Src: /src/botan/src/tests/test_kyber.cpp:321,1
    - Dst: BOTAN_REGISTER_TEST
      Src: /src/botan/src/tests/test_kyber.cpp:325,1
    - Dst: start_timer
      Src: /src/botan/src/tests/test_kyber.cpp:334,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_kyber.cpp:342,1
    - Dst: fmt
      Src: /src/botan/src/tests/test_kyber.cpp:342,1
    - Dst: end_timer
      Src: /src/botan/src/tests/test_kyber.cpp:347,1
    - Dst: test_success
      Src: /src/botan/src/tests/test_kyber.cpp:348,1
    - Dst: start_timer
      Src: /src/botan/src/tests/test_kyber.cpp:356,1
    - Dst: static_cast<from_t>
      Src: /src/botan/src/tests/test_kyber.cpp:359,1
    - Dst: from_t
      Src: /src/botan/src/tests/test_kyber.cpp:359,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_kyber.cpp:366,1
    - Dst: fmt
      Src: /src/botan/src/tests/test_kyber.cpp:366,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_kyber.cpp:366,1
    - Dst: end_timer
      Src: /src/botan/src/tests/test_kyber.cpp:371,1
    - Dst: test_success
      Src: /src/botan/src/tests/test_kyber.cpp:372,1
    - Dst: start_timer
      Src: /src/botan/src/tests/test_kyber.cpp:380,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_kyber.cpp:385,1
    - Dst: fmt
      Src: /src/botan/src/tests/test_kyber.cpp:385,1
    - Dst: end_timer
      Src: /src/botan/src/tests/test_kyber.cpp:390,1
    - Dst: test_success
      Src: /src/botan/src/tests/test_kyber.cpp:391,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:396,1
    - Dst: test_compress<1>
      Src: /src/botan/src/tests/test_kyber.cpp:396,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:397,1
    - Dst: test_compress<4>
      Src: /src/botan/src/tests/test_kyber.cpp:397,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:398,1
    - Dst: test_compress<5>
      Src: /src/botan/src/tests/test_kyber.cpp:398,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:399,1
    - Dst: test_compress<10>
      Src: /src/botan/src/tests/test_kyber.cpp:399,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:400,1
    - Dst: test_compress<11>
      Src: /src/botan/src/tests/test_kyber.cpp:400,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:402,1
    - Dst: test_decompress<1>
      Src: /src/botan/src/tests/test_kyber.cpp:402,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:403,1
    - Dst: test_decompress<4>
      Src: /src/botan/src/tests/test_kyber.cpp:403,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:404,1
    - Dst: test_decompress<5>
      Src: /src/botan/src/tests/test_kyber.cpp:404,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:405,1
    - Dst: test_decompress<10>
      Src: /src/botan/src/tests/test_kyber.cpp:405,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:406,1
    - Dst: test_decompress<11>
      Src: /src/botan/src/tests/test_kyber.cpp:406,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:408,1
    - Dst: test_compress_roundtrip<1>
      Src: /src/botan/src/tests/test_kyber.cpp:408,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:409,1
    - Dst: test_compress_roundtrip<4>
      Src: /src/botan/src/tests/test_kyber.cpp:409,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:410,1
    - Dst: test_compress_roundtrip<5>
      Src: /src/botan/src/tests/test_kyber.cpp:410,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:411,1
    - Dst: test_compress_roundtrip<10>
      Src: /src/botan/src/tests/test_kyber.cpp:411,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:412,1
    - Dst: test_compress_roundtrip<11>
      Src: /src/botan/src/tests/test_kyber.cpp:412,1
    - Dst: BOTAN_REGISTER_TEST_FN
      Src: /src/botan/src/tests/test_kyber.cpp:418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 422
    functionName: keygen_params
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 1
    functionsReached:
    - Botan::KyberMode::KyberMode
    - test_decompress<11>
    - starts_with
    - test_compress<5>
    - Test_Error
    - fmt
    - test_decompress<4>
    - from_t
    - test_decompress<10>
    - Botan_Tests::CHECK
    - test_success
    - test_compress<4>
    - test_compress<1>
    - std::make_unique<Botan::Kyber_PublicKey>
    - static_cast<from_t>
    - test_compress_roundtrip<11>
    - test_decompress<5>
    - test_compress_roundtrip<1>
    - end_timer
    - BOTAN_REGISTER_TEST
    - test_compress_roundtrip<5>
    - start_timer
    - static_cast<uint16_t>
    - BOTAN_REGISTER_TEST_FN
    - test_compress<10>
    - test_failure
    - test_compress_roundtrip<4>
    - test_compress<11>
    - algo_name
    - test_decompress<1>
    - test_compress_roundtrip<10>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_Tests::Test_Buf_Comp::Test_Buf_Comp
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Buf_Comp(Test::Result& res)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_Tests::Test_Buf_Comp::output_length
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bufcomp.cpp:31,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_bufcomp.cpp:31,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_bufcomp.cpp:32,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_bufcomp.cpp:33,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_bufcomp.cpp:34,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_bufcomp.cpp:35,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_bufcomp.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: Botan_Tests::Test_Buf_Comp::add_data
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - test_eq
    - confirm
    linkageType: ''
    returnType: void
    signature: void add_data(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy
      Src: /src/botan/src/tests/test_bufcomp.cpp:44,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/tests/test_bufcomp.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Botan_Tests::Test_Buf_Comp::final_result
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::begin
    - copy
    linkageType: ''
    returnType: void
    signature: void final_result(std::span<uint8_t> out) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan_Tests::Test_Buf_Comp::counter
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t counter() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/botan/src/tests/test_bufcomp.cpp:56,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bufcomp.cpp:57,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/test_bufcomp.cpp:57,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_bufcomp.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' result'
    - produced
    - expected
    argTypes:
    - Test::Result
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: Botan_Tests::check
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - std::span<const uint8_t>::size
    - test_eq
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void check(Test::Result& result, std::span<const uint8_t> produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Buf_Comp::update
      Src: /src/botan/src/tests/test_bufcomp.cpp:82,1
    - Dst: Test_Buf_Comp::update
      Src: /src/botan/src/tests/test_bufcomp.cpp:83,1
    - Dst: Test_Buf_Comp::update
      Src: /src/botan/src/tests/test_bufcomp.cpp:84,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_bufcomp.cpp:84,1
    - Dst: Test_Buf_Comp::update
      Src: /src/botan/src/tests/test_bufcomp.cpp:87,1
    - Dst: Test_Buf_Comp::update
      Src: /src/botan/src/tests/test_bufcomp.cpp:88,1
    - Dst: Test_Buf_Comp::update
      Src: /src/botan/src/tests/test_bufcomp.cpp:89,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:92,1
    - Dst: Test_Buf_Comp::final_stdvec
      Src: /src/botan/src/tests/test_bufcomp.cpp:93,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:94,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:97,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:98,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:99,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/tests/test_bufcomp.cpp:101,1
    - Dst: std::vector::clear
      Src: /src/botan/src/tests/test_bufcomp.cpp:104,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:105,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_bufcomp.cpp:106,1
    - Dst: Test_Buf_Comp::output_length
      Src: /src/botan/src/tests/test_bufcomp.cpp:106,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:107,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_bufcomp.cpp:108,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bufcomp.cpp:108,1
    - Dst: Test_Buf_Comp::output_length
      Src: /src/botan/src/tests/test_bufcomp.cpp:108,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/tests/test_bufcomp.cpp:110,1
    - Dst: Test_Buf_Comp::process
      Src: /src/botan/src/tests/test_bufcomp.cpp:113,1
    - Dst: Test_Buf_Comp::process
      Src: /src/botan/src/tests/test_bufcomp.cpp:114,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_bufcomp.cpp:114,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/tests/test_bufcomp.cpp:116,1
    - Dst: Test_Buf_Comp::process
      Src: /src/botan/src/tests/test_bufcomp.cpp:119,1
    - Dst: Test_Buf_Comp::process
      Src: /src/botan/src/tests/test_bufcomp.cpp:120,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/tests/test_bufcomp.cpp:122,1
    - Dst: Test_Buf_Comp::process
      Src: /src/botan/src/tests/test_bufcomp.cpp:125,1
    - Dst: Test_Buf_Comp::process
      Src: /src/botan/src/tests/test_bufcomp.cpp:126,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/tests/test_bufcomp.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 131
    functionName: Botan_Tests::test_buffered_computation_convenience_api
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Test_Buf_Comp::process
    - Test_Buf_Comp::final
    - Botan_Tests::check
    - std::string
    - Test_Buf_Comp::output_length
    - Test_Buf_Comp::final_stdvec
    - Test::Result::test_int_eq
    - std::vector::clear
    - Test_Buf_Comp::update
    - std::vector::resize
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_buffered_computation_convenience_api()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_Tests::LMOTS_Test::LMOTS_Test
    functionSourceFile: /src/botan/src/tests/test_lmots.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LMOTS_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_lmots.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan_Tests::LMOTS_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_lmots.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_u32
      Src: /src/botan/src/tests/test_lmots.cpp:33,1
    - Dst: Botan::LMS_Seed
      Src: /src/botan/src/tests/test_lmots.cpp:34,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lmots.cpp:34,1
    - Dst: Botan::LMS_Identifier
      Src: /src/botan/src/tests/test_lmots.cpp:35,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lmots.cpp:35,1
    - Dst: Botan::LMS_Tree_Node_Idx
      Src: /src/botan/src/tests/test_lmots.cpp:36,1
    - Dst: get_req_u32
      Src: /src/botan/src/tests/test_lmots.cpp:36,1
    - Dst: Botan::LMS_Message
      Src: /src/botan/src/tests/test_lmots.cpp:37,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lmots.cpp:37,1
    - Dst: Botan::LMOTS_K
      Src: /src/botan/src/tests/test_lmots.cpp:38,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lmots.cpp:38,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lmots.cpp:40,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_lmots.cpp:42,1
    - Dst: static_cast<Botan::LMOTS_Algorithm_Type>
      Src: /src/botan/src/tests/test_lmots.cpp:44,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/tests/test_lmots.cpp:45,1
    - Dst: Botan::LMOTS_Private_Key
      Src: /src/botan/src/tests/test_lmots.cpp:48,1
    - Dst: Botan::LMOTS_Public_Key
      Src: /src/botan/src/tests/test_lmots.cpp:49,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_lmots.cpp:50,1
    - Dst: auto::K
      Src: /src/botan/src/tests/test_lmots.cpp:50,1
    - Dst: auto::sign
      Src: /src/botan/src/tests/test_lmots.cpp:54,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_lmots.cpp:55,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_lmots.cpp:55,1
    - Dst: Botan::BufferSlicer::BufferSlicer
      Src: /src/botan/src/tests/test_lmots.cpp:58,1
    - Dst: Botan::LMOTS_Signature::from_bytes_or_throw
      Src: /src/botan/src/tests/test_lmots.cpp:59,1
    - Dst: Botan::lmots_compute_pubkey_from_sig
      Src: /src/botan/src/tests/test_lmots.cpp:60,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_lmots.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: Botan_Tests::LMOTS_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_lmots.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Botan::LMOTS_Algorithm_Type>
    - Botan::LMOTS_Public_Key
    - Botan::LMS_Identifier
    - auto::K
    - Botan::LMOTS_Signature::from_bytes_or_throw
    - Botan::HashFunction::create
    - Botan::LMS_Message
    - Botan::lmots_compute_pubkey_from_sig
    - Botan::BufferSlicer::BufferSlicer
    - get_req_u32
    - auto::process
    - Botan::LMOTS_K
    - Botan::LMS_Seed
    - Botan::LMOTS_Params::create_or_throw
    - Test::Result::test_is_eq
    - Botan::LMS_Tree_Node_Idx
    - get_req_bin
    - auto::sign
    - Botan::LMOTS_Private_Key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:21,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:22,1
    - Dst: to_bytes
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:22,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:23,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:27,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:30,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:31,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:32,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:35,1
    - Dst: Botan::Sphincs_Address::set_layer_address
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:38,1
    - Dst: Botan::HypertreeLayerIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:38,1
    - Dst: Botan::XmssTreeIndexInLayer
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:39,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:40,1
    - Dst: Botan::WotsChainIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:41,1
    - Dst: Botan::WotsHashIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:42,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:44,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:45,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:46,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:49,1
    - Dst: Botan::Sphincs_Address::set_layer_address
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:52,1
    - Dst: Botan::HypertreeLayerIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:52,1
    - Dst: Botan::XmssTreeIndexInLayer
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:53,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:54,1
    - Dst: Botan::TreeLayerIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:55,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:56,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:57,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:58,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:59,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:62,1
    - Dst: Botan::Sphincs_Address::set_layer_address
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:65,1
    - Dst: Botan::HypertreeLayerIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:65,1
    - Dst: Botan::XmssTreeIndexInLayer
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:66,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:67,1
    - Dst: Botan::TreeLayerIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:68,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:69,1
    - Dst: Botan::Sphincs_Address::as_subtree_from
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:71,1
    - Dst: Botan::Sphincs_Address::copy_subtree_from
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:73,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:75,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:76,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:77,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:78,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:79,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:80,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:83,1
    - Dst: Botan::Sphincs_Address::set_layer_address
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:86,1
    - Dst: Botan::HypertreeLayerIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:86,1
    - Dst: Botan::XmssTreeIndexInLayer
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:87,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:88,1
    - Dst: Botan::WotsChainIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:89,1
    - Dst: Botan::WotsHashIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:90,1
    - Dst: Botan::Sphincs_Address::as_keypair_from
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:92,1
    - Dst: Botan::Sphincs_Address::copy_keypair_from
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:94,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:96,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:97,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:98,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:99,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:100,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 104
    functionName: Botan_Tests::test_sphincsplus_address
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Address::set_layer_address
    - auto::final_stdvec
    - Botan::XmssTreeIndexInLayer
    - Botan::TreeNodeIndex
    - test_is_eq
    - Botan_Tests::CHECK
    - Botan::WotsHashIndex
    - Botan::Sphincs_Address::as_keypair_from
    - Botan::Sphincs_Address::copy_keypair_from
    - Botan::hex_decode
    - auto::update
    - Botan::TreeLayerIndex
    - Botan::HashFunction::create_or_throw
    - sha256
    - Botan::HypertreeLayerIndex
    - Botan::WotsChainIndex
    - Botan::Sphincs_Address::copy_subtree_from
    - to_bytes
    - Botan::Sphincs_Address::as_subtree_from
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_sphincsplus_address()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::DLIES_KAT_Tests::DLIES_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_dlies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DLIES_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dlies.cpp:28,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dlies.cpp:29,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dlies.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dlies.cpp:32,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_dlies.cpp:34,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_dlies.cpp:35,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_dlies.cpp:37,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_dlies.cpp:39,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_dlies.cpp:39,1
    - Dst: Botan::KDF::create
      Src: /src/botan/src/tests/test_dlies.cpp:43,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_dlies.cpp:45,1
    - Dst: argon2_thread_create
      Src: /src/botan/src/tests/test_dlies.cpp:49,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_dlies.cpp:51,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_dlies.cpp:60,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_dlies.cpp:61,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_dlies.cpp:64,1
    - Dst: std::unique_ptr::key_spec
      Src: /src/botan/src/tests/test_dlies.cpp:68,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_dlies.cpp:71,1
    - Dst: Botan_Tests::DLIES_KAT_Tests::rng
      Src: /src/botan/src/tests/test_dlies.cpp:77,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_dlies.cpp:77,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_dlies.cpp:77,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_dlies.cpp:77,1
    - Dst: Botan_Tests::DLIES_KAT_Tests::rng
      Src: /src/botan/src/tests/test_dlies.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_dlies.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_dlies.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_dlies.cpp:79,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_dlies.cpp:81,1
    - Dst: Botan::DLIES_Encryptor::set_initialization_vector
      Src: /src/botan/src/tests/test_dlies.cpp:82,1
    - Dst: Botan::DLIES_Decryptor::set_initialization_vector
      Src: /src/botan/src/tests/test_dlies.cpp:83,1
    - Dst: Botan::DLIES_Encryptor::set_other_key
      Src: /src/botan/src/tests/test_dlies.cpp:86,1
    - Dst: Botan::DH_PrivateKey::public_value
      Src: /src/botan/src/tests/test_dlies.cpp:86,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dlies.cpp:88,1
    - Dst: Botan::DLIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_dlies.cpp:88,1
    - Dst: Botan_Tests::DLIES_KAT_Tests::rng
      Src: /src/botan/src/tests/test_dlies.cpp:88,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dlies.cpp:89,1
    - Dst: Botan::DLIES_Decryptor::decrypt
      Src: /src/botan/src/tests/test_dlies.cpp:89,1
    - Dst: check_invalid_ciphertexts
      Src: /src/botan/src/tests/test_dlies.cpp:91,1
    - Dst: Botan_Tests::DLIES_KAT_Tests::rng
      Src: /src/botan/src/tests/test_dlies.cpp:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - ' cipher_algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 94
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 94
    functionName: Botan_Tests::DLIES_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_dlies.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::key_spec
    - std::move
    - Botan::DLIES_Decryptor::decrypt
    - get_req_str
    - check_invalid_ciphertexts
    - Botan::DLIES_Decryptor::set_initialization_vector
    - Botan::DLIES_Encryptor::set_other_key
    - Botan::DL_Group::from_name
    - Test::Result::test_eq
    - auto::new_object
    - Botan::Cipher_Mode::create
    - Botan::DLIES_Encryptor::encrypt
    - Test::Result::test_note
    - Botan::DLIES_Encryptor::set_initialization_vector
    - Botan::InitializationVector
    - Botan::DH_PrivateKey::public_value
    - get_req_bin
    - Botan_Tests::DLIES_KAT_Tests::rng
    - get_opt_bin
    - argon2_thread_create
    - get_req_bn
    - auto::empty
    - Botan::KDF::create
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& cipher_algo, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_dlies.cpp:110,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_dlies.cpp:112,1
    - Dst: Botan::KDF::create
      Src: /src/botan/src/tests/test_dlies.cpp:118,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_dlies.cpp:121,1
    - Dst: argon2_thread_create
      Src: /src/botan/src/tests/test_dlies.cpp:126,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_dlies.cpp:129,1
    - Dst: std::unique_ptr::new_object
      Src: /src/botan/src/tests/test_dlies.cpp:133,1
    - Dst: std::unique_ptr::new_object
      Src: /src/botan/src/tests/test_dlies.cpp:133,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_dlies.cpp:136,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dlies.cpp:138,1
    - Dst: Botan::DLIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_dlies.cpp:139,1
    - Dst: Botan::DLIES_Encryptor::set_other_key
      Src: /src/botan/src/tests/test_dlies.cpp:141,1
    - Dst: Botan::DH_PrivateKey::public_value
      Src: /src/botan/src/tests/test_dlies.cpp:141,1
    - Dst: Botan::DLIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_dlies.cpp:142,1
    - Dst: std::unique_ptr::new_object
      Src: /src/botan/src/tests/test_dlies.cpp:144,1
    - Dst: std::unique_ptr::new_object
      Src: /src/botan/src/tests/test_dlies.cpp:144,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dlies.cpp:147,1
    - Dst: Botan::DLIES_Decryptor::decrypt
      Src: /src/botan/src/tests/test_dlies.cpp:147,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_dlies.cpp:147,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dlies.cpp:149,1
    - Dst: Botan::DLIES_Decryptor::decrypt
      Src: /src/botan/src/tests/test_dlies.cpp:149,1
    - Dst: Botan_Tests::check_invalid_ciphertexts
      Src: /src/botan/src/tests/test_dlies.cpp:151,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_dlies.cpp:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 156
    functionName: Botan_Tests::test_xor
    functionSourceFile: /src/botan/src/tests/test_dlies.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - argon2_thread_create
    - Test::Result::test_note
    - Botan_Tests::check_invalid_ciphertexts
    - auto::random_vec
    - Botan::DLIES_Decryptor::decrypt
    - std::vector<uint8_t>
    - Botan::DH_PrivateKey::public_value
    - Test::Result::test_throws
    - Test::Result::test_eq
    - std::unique_ptr::new_object
    - unlock
    - Botan_Tests::Test::new_rng
    - Botan::KDF::create
    - Botan::DLIES_Encryptor::encrypt
    - Botan::DLIES_Encryptor::set_other_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_xor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_dlies.cpp:165,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_dlies.cpp:167,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_dlies.cpp:169,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_dlies.cpp:169,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_dlies.cpp:169,1
    - Dst: what
      Src: /src/botan/src/tests/test_dlies.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: Botan_Tests::DLIES_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/test_dlies.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::to_string
    - what
    - Botan_Tests::Test::Result::Failure
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_certstor.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' cert'
    - key
    argTypes:
    - Botan::X509_Certificate
    - std::shared_ptr<Botan::Private_Key>
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: Botan_Tests::CertificateAndKey::CertificateAndKey
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CertificateAndKey(const Botan::X509_Certificate& cert, std::shared_ptr<Botan::Private_Key>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CertificateAndKey
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: operator!=(const CertificateAndKey& rhs) const
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CertificateAndKey& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& subject_dn() const'
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - certificate
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN & subject_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& certificate() const'
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: Botan::X509_Certificate & certificate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& private_key() const'
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Private_Key
    signature: Botan::Private_Key & private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_certstor.cpp:60,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_certstor.cpp:61,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_certstor.cpp:61,1
    - Dst: Botan::Certificate_Store_In_SQLite::insert_key
      Src: /src/botan/src/tests/test_certstor.cpp:66,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:66,1
    - Dst: private_key
      Src: /src/botan/src/tests/test_certstor.cpp:66,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:70,1
    - Dst: private_key
      Src: /src/botan/src/tests/test_certstor.cpp:71,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_cert
      Src: /src/botan/src/tests/test_certstor.cpp:72,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:72,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_cert
      Src: /src/botan/src/tests/test_certstor.cpp:73,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:73,1
    - Dst: subject_key_id
      Src: /src/botan/src/tests/test_certstor.cpp:73,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:76,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_key
      Src: /src/botan/src/tests/test_certstor.cpp:80,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:82,1
    - Dst: fingerprint
      Src: /src/botan/src/tests/test_certstor.cpp:82,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:86,1
    - Dst: fingerprint
      Src: /src/botan/src/tests/test_certstor.cpp:86,1
    - Dst: auto::fingerprint
      Src: /src/botan/src/tests/test_certstor.cpp:86,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:89,1
    - Dst: private_key_bits
      Src: /src/botan/src/tests/test_certstor.cpp:89,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_certstor.cpp:89,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_certs_for_key
      Src: /src/botan/src/tests/test_certstor.cpp:91,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor.cpp:93,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:94,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:101,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:106,1
    - Dst: fingerprint
      Src: /src/botan/src/tests/test_certstor.cpp:106,1
    - Dst: auto::fingerprint
      Src: /src/botan/src/tests/test_certstor.cpp:106,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:109,1
    - Dst: Botan::Certificate_Store_In_SQLite::remove_cert
      Src: /src/botan/src/tests/test_certstor.cpp:109,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:110,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_cert
      Src: /src/botan/src/tests/test_certstor.cpp:110,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:110,1
    - Dst: subject_key_id
      Src: /src/botan/src/tests/test_certstor.cpp:110,1
    - Dst: Botan::Certificate_Store_In_SQLite::remove_key
      Src: /src/botan/src/tests/test_certstor.cpp:113,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:116,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_key
      Src: /src/botan/src/tests/test_certstor.cpp:116,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:121,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor.cpp:121,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - ' certsandkeys'
    argTypes:
    - std::vector<CertificateAndKey>
    constantsTouched: []
    func_position:
      end: 124
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 124
    functionName: Botan_Tests::test_certstor_sqlite3_insert_find_remove_test
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - what
    - subject_key_id
    - auto::random_vec
    - fingerprint
    - Test::Result::test_eq
    - Botan::Certificate_Store_In_SQLite::find_cert
    - Test::Result::test_failure
    - Botan::Certificate_Store_In_SQLite::find_certs_for_key
    - subject_dn
    - Botan::Certificate_Store_In_SQLite::find_key
    - Botan::Certificate_Store_In_SQLite::remove_key
    - Botan_Tests::Test::new_rng
    - auto::fingerprint
    - reinterpret_cast<const char*>
    - auto::private_key_bits
    - private_key
    - private_key_bits
    - Botan::Certificate_Store_In_SQLite::remove_cert
    - auto::empty
    - certificate
    - Botan::Certificate_Store_In_SQLite::insert_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_certstor_sqlite3_insert_find_remove_test(const std::vector<CertificateAndKey>&
      certsandkeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_certstor.cpp:129,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_certstor.cpp:130,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_certstor.cpp:130,1
    - Dst: Botan::Certificate_Store_In_SQLite::insert_cert
      Src: /src/botan/src/tests/test_certstor.cpp:135,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:135,1
    - Dst: Botan::Certificate_Store_In_SQLite::revoke_cert
      Src: /src/botan/src/tests/test_certstor.cpp:138,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:138,1
    - Dst: Botan::Certificate_Store_In_SQLite::revoke_cert
      Src: /src/botan/src/tests/test_certstor.cpp:139,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:139,1
    - Dst: Botan::Certificate_Store_In_SQLite::revoke_cert
      Src: /src/botan/src/tests/test_certstor.cpp:140,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:140,1
    - Dst: Botan::Certificate_Store_In_SQLite::generate_crls
      Src: /src/botan/src/tests/test_certstor.cpp:143,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:145,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor.cpp:145,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:146,1
    - Dst: is_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:148,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:148,1
    - Dst: is_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:148,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:148,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:150,1
    - Dst: is_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:152,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:152,1
    - Dst: is_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:152,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:152,1
    - Dst: Botan::Certificate_Store_In_SQLite::affirm_cert
      Src: /src/botan/src/tests/test_certstor.cpp:156,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:156,1
    - Dst: Botan::Certificate_Store_In_SQLite::generate_crls
      Src: /src/botan/src/tests/test_certstor.cpp:159,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:161,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor.cpp:161,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:162,1
    - Dst: is_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:163,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:163,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_crl_for
      Src: /src/botan/src/tests/test_certstor.cpp:166,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:166,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:168,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:169,1
    - Dst: auto::get_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:169,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:170,1
    - Dst: auto::is_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:171,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:171,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_crl_for
      Src: /src/botan/src/tests/test_certstor.cpp:173,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:173,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:175,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:179,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - ' certsandkeys'
    argTypes:
    - std::vector<CertificateAndKey>
    constantsTouched: []
    func_position:
      end: 182
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 182
    functionName: Botan_Tests::test_certstor_sqlite3_crl_test
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - Botan::Certificate_Store_In_SQLite::affirm_cert
    - Botan::Certificate_Store_In_SQLite::revoke_cert
    - what
    - auto::random_vec
    - Test::Result::test_eq
    - auto::size
    - Botan::Certificate_Store_In_SQLite::find_crl_for
    - auto::get_revoked
    - auto::is_revoked
    - Test::Result::test_failure
    - Botan_Tests::Test::new_rng
    - Botan::Certificate_Store_In_SQLite::insert_cert
    - certificate
    - Botan::Certificate_Store_In_SQLite::generate_crls
    - is_revoked
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_certstor_sqlite3_crl_test(const std::vector<CertificateAndKey>&
      certsandkeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_certstor.cpp:187,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_certstor.cpp:188,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_certstor.cpp:188,1
    - Dst: Botan::Certificate_Store_In_SQLite::insert_cert
      Src: /src/botan/src/tests/test_certstor.cpp:193,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:193,1
    - Dst: Botan::Certificate_Store_In_SQLite::all_subjects
      Src: /src/botan/src/tests/test_certstor.cpp:196,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:198,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor.cpp:198,1
    - Dst: to_string
      Src: /src/botan/src/tests/test_certstor.cpp:201,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:203,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:204,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:204,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:205,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:205,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:206,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:206,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:211,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor.cpp:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - ' certsandkeys'
    argTypes:
    - std::vector<CertificateAndKey>
    constantsTouched: []
    func_position:
      end: 214
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 214
    functionName: Botan_Tests::test_certstor_sqlite3_all_subjects_test
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - Botan::Certificate_Store_In_SQLite::all_subjects
    - what
    - auto::random_vec
    - Test::Result::test_eq
    - auto::size
    - to_string
    - Test::Result::test_failure
    - Botan_Tests::Test::new_rng
    - Botan::Certificate_Store_In_SQLite::insert_cert
    - certificate
    - subject_dn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_certstor_sqlite3_all_subjects_test(const std::vector<CertificateAndKey>&
      certsandkeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_certstor.cpp:219,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_certstor.cpp:220,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_certstor.cpp:220,1
    - Dst: Botan::Certificate_Store_In_SQLite::insert_cert
      Src: /src/botan/src/tests/test_certstor.cpp:225,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:225,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_all_certs
      Src: /src/botan/src/tests/test_certstor.cpp:229,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:229,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:229,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor.cpp:230,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:231,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:234,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_certstor.cpp:235,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:236,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_certstor.cpp:241,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor.cpp:241,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_certstor.cpp:243,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor.cpp:243,1
    - Dst: Botan::Certificate_Store_In_SQLite::insert_cert
      Src: /src/botan/src/tests/test_certstor.cpp:245,1
    - Dst: Botan::Certificate_Store_In_SQLite::insert_cert
      Src: /src/botan/src/tests/test_certstor.cpp:246,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_all_certs
      Src: /src/botan/src/tests/test_certstor.cpp:247,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:247,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor.cpp:249,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:250,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_certstor.cpp:250,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor.cpp:250,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:253,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_certstor.cpp:254,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:256,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_certstor.cpp:258,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:259,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:262,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor.cpp:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' certsandkeys'
    argTypes:
    - std::vector<CertificateAndKey>
    constantsTouched: []
    func_position:
      end: 266
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 266
    functionName: Botan_Tests::test_certstor_sqlite3_find_all_certs_test
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - Botan_Tests::Test::data_file
    - auto::at
    - std::to_string
    - auto::random_vec
    - auto::size
    - Test::Result::test_eq
    - what
    - Botan::X509_Certificate
    - Botan::X509_Certificate::subject_dn
    - Botan::Certificate_Store_In_SQLite::find_all_certs
    - Test::Result::test_failure
    - Botan_Tests::Test::new_rng
    - Botan::Certificate_Store_In_SQLite::insert_cert
    - certificate
    - subject_dn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_certstor_sqlite3_find_all_certs_test(const std::vector<CertificateAndKey>&
      certsandkeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_certstor.cpp:274,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_certstor.cpp:277,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:277,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:281,1
    - Dst: raw_subject_dn_sha256
      Src: /src/botan/src/tests/test_certstor.cpp:282,1
    - Dst: Botan::Certificate_Store_In_Memory::find_cert_by_raw_subject_dn_sha256
      Src: /src/botan/src/tests/test_certstor.cpp:284,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:286,1
    - Dst: fingerprint
      Src: /src/botan/src/tests/test_certstor.cpp:286,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:290,1
    - Dst: auto::raw_subject_dn_sha256
      Src: /src/botan/src/tests/test_certstor.cpp:290,1
    - Dst: Botan::Certificate_Store_In_Memory::find_cert_by_raw_subject_dn_sha256
      Src: /src/botan/src/tests/test_certstor.cpp:293,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor.cpp:293,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:295,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:301,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor.cpp:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' certsandkeys'
    argTypes:
    - std::vector<CertificateAndKey>
    constantsTouched: []
    func_position:
      end: 304
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 304
    functionName: Botan_Tests::test_certstor_find_hash_subject
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - Botan::Certificate_Store_In_Memory::add_certificate
    - what
    - std::vector<uint8_t>
    - fingerprint
    - Botan::Certificate_Store_In_Memory::find_cert_by_raw_subject_dn_sha256
    - raw_subject_dn_sha256
    - Test::Result::test_eq
    - auto::raw_subject_dn_sha256
    - Test::Result::test_failure
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - certificate
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_certstor_find_hash_subject(const std::vector<CertificateAndKey>&
      certsandkeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_dir
      Src: /src/botan/src/tests/test_certstor.cpp:310,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_certstor.cpp:313,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor.cpp:318,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor.cpp:319,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor.cpp:321,1
    - Dst: Botan::Certificate_Store_In_Memory::find_cert
      Src: /src/botan/src/tests/test_certstor.cpp:321,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:321,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor.cpp:322,1
    - Dst: Botan::Certificate_Store_In_Memory::find_cert
      Src: /src/botan/src/tests/test_certstor.cpp:322,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:322,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:325,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 328
    functionName: Botan_Tests::test_certstor_load_allcert
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    - Test::Result::test_note
    - what
    - Botan::X509_Certificate::subject_dn
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan::Certificate_Store_In_Memory::find_cert
    - Botan_Tests::Test::data_dir
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_certstor_load_allcert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor.cpp:348,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor.cpp:351,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_certstor.cpp:353,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:357,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:361,1
    - Dst: CertificateAndKey
      Src: /src/botan/src/tests/test_certstor.cpp:361,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:366,1
    - Dst: test_certstor_find_hash_subject
      Src: /src/botan/src/tests/test_certstor.cpp:366,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:367,1
    - Dst: test_certstor_load_allcert
      Src: /src/botan/src/tests/test_certstor.cpp:367,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:369,1
    - Dst: test_certstor_sqlite3_insert_find_remove_test
      Src: /src/botan/src/tests/test_certstor.cpp:369,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:370,1
    - Dst: test_certstor_sqlite3_crl_test
      Src: /src/botan/src/tests/test_certstor.cpp:370,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:371,1
    - Dst: test_certstor_sqlite3_all_subjects_test
      Src: /src/botan/src/tests/test_certstor.cpp:371,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:372,1
    - Dst: test_certstor_sqlite3_find_all_certs_test
      Src: /src/botan/src/tests/test_certstor.cpp:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 375
    functionName: Botan_Tests::Certstor_Tests::run
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - test_certstor_sqlite3_find_all_certs_test
    - test_certstor_find_hash_subject
    - test_certstor_sqlite3_crl_test
    - test_certstor_sqlite3_all_subjects_test
    - Botan_Tests::Test::data_file
    - test_certstor_load_allcert
    - Test::Result::test_failure
    - Botan::PKCS8::load_key
    - test_certstor_sqlite3_insert_find_remove_test
    - std::vector::push_back
    - CertificateAndKey
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verbose
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' opts'
    - ' output_stream'
    argTypes:
    - Test_Options
    - std::ostream
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: Botan_Tests::StdoutReporter::StdoutReporter
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 0
    functionsReached:
    - verbose
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::StdoutReporter(const Test_Options& opts, std::ostream&
      output_stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: current_test_run
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:18,1
    - Dst: Botan_Tests::StdoutReporter::render_preamble
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:19,1
    - Dst: Botan_Tests::StdoutReporter::clear
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: Botan_Tests::StdoutReporter::next_run
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 0
    functionsReached:
    - current_test_run
    - Botan_Tests::StdoutReporter::clear
    - Botan_Tests::StdoutReporter::render_preamble
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::next_run()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan_Tests::StdoutReporter::next_testsuite
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::next_testsuite(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: result_string
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:29,1
    - Dst: tests_run
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:31,1
    - Dst: insert
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - ' result'
    argTypes:
    - std::string
    - Test::Result
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: Botan_Tests::StdoutReporter::record
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 0
    functionsReached:
    - tests_run
    - insert
    - result_string
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::record(const std::string& name, const Test::Result&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::StdoutReporter::render_summary
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan_Tests::StdoutReporter::render
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::StdoutReporter::render_summary
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::render() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::StdoutReporter::clear
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Botan_Tests::StdoutReporter::clear
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 2
    functionsReached:
    - Botan_Tests::StdoutReporter::clear
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_string
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:51,1
    - Dst: properties
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:53,1
    - Dst: properties
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: Botan_Tests::StdoutReporter::render_preamble
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 1
    functionsReached:
    - properties
    - Botan::version_string
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::render_preamble() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elapsed_time
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:63,1
    - Dst: total_test_runs
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:65,1
    - Dst: current_test_run
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:68,1
    - Dst: total_test_runs
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:68,1
    - Dst: Botan_Tests::Test::format_time
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 91
    functionName: Botan_Tests::StdoutReporter::render_summary
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 1
    functionsReached:
    - total_test_runs
    - elapsed_time
    - Botan_Tests::Test::format_time
    - current_test_run
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::render_summary() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/runner/test_reporter.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::TestSummary::passed
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool passed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/runner/test_reporter.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_Tests::TestSummary::failed
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool failed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/runner/test_reporter.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan_Tests::Testsuite::tests_run
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t tests_run() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '& name() const'
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '& results() const'
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TestSummary>
    signature: std::vector<TestSummary> & results() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ~Reporter()
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Reporter()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan_Tests::Reporter::Reporter
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reporter(const Reporter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& operator=(const Reporter&)'
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Reporter
    signature: Reporter & operator=(const Reporter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan_Tests::Reporter::Reporter
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reporter(Reporter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& operator=(Reporter&&)'
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Reporter
    signature: Reporter & operator=(Reporter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: Botan_Tests::Reporter::render
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void render() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/runner/test_reporter.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Botan_Tests::Reporter::next_testsuite
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void next_testsuite(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: '& properties() const'
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PropertyMap
    signature: PropertyMap & properties() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '& testsuites() const'
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestsuiteMap
    signature: TestsuiteMap & testsuites() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan_Tests::Reporter::current_test_run
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t current_test_run() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan_Tests::Reporter::total_test_runs
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t total_test_runs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/runner/test_reporter.cpp:19,1
    - Dst: has_value
      Src: /src/botan/src/tests/runner/test_reporter.cpp:19,1
    - Dst: value
      Src: /src/botan/src/tests/runner/test_reporter.cpp:23,1
    - Dst: value
      Src: /src/botan/src/tests/runner/test_reporter.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::optional<T>
    - std::optional<T>
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: operator+(const std::optional<T>& a, const std::optional<T>& b)
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - value
    - has_value
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> operator+(const std::optional<T>& a, const std::optional<T>&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: who
      Src: /src/botan/src/tests/runner/test_reporter.cpp:29,1
    - Dst: code_location
      Src: /src/botan/src/tests/runner/test_reporter.cpp:30,1
    - Dst: tests_run
      Src: /src/botan/src/tests/runner/test_reporter.cpp:31,1
    - Dst: notes
      Src: /src/botan/src/tests/runner/test_reporter.cpp:32,1
    - Dst: failures
      Src: /src/botan/src/tests/runner/test_reporter.cpp:33,1
    - Dst: timestamp
      Src: /src/botan/src/tests/runner/test_reporter.cpp:34,1
    - Dst: elapsed_time
      Src: /src/botan/src/tests/runner/test_reporter.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: Botan_Tests::TestSummary::TestSummary
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - code_location
    - tests_run
    - who
    - failures
    - timestamp
    - elapsed_time
    - notes
    linkageType: ''
    returnType: void
    signature: void TestSummary::TestSummary(const Test::Result& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/runner/test_reporter.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan_Tests::Testsuite::Testsuite
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Testsuite::Testsuite(std::string name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/botan/src/tests/runner/test_reporter.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan_Tests::Testsuite::record
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void Testsuite::record(const Test::Result& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::count_if
      Src: /src/botan/src/tests/runner/test_reporter.cpp:44,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:44,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:44,1
    - Dst: passed
      Src: /src/botan/src/tests/runner/test_reporter.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan_Tests::Testsuite::tests_passed
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - end
    - passed
    - begin
    - std::count_if
    linkageType: ''
    returnType: size_t
    signature: size_t Testsuite::tests_passed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::count_if
      Src: /src/botan/src/tests/runner/test_reporter.cpp:48,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:48,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:48,1
    - Dst: failed
      Src: /src/botan/src/tests/runner/test_reporter.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan_Tests::Testsuite::tests_failed
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - failed
    - end
    - begin
    - std::count_if
    linkageType: ''
    returnType: size_t
    signature: size_t Testsuite::tests_failed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform_reduce
      Src: /src/botan/src/tests/runner/test_reporter.cpp:52,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:53,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:54,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/tests/runner/test_reporter.cpp:55,1
    - Dst: std::min
      Src: /src/botan/src/tests/runner/test_reporter.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: Botan_Tests::Testsuite::timestamp
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - end
    - cryptofuzz::mutator::ExpModGenerator::max
    - std::transform_reduce
    - std::min
    - begin
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point Testsuite::timestamp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform_reduce
      Src: /src/botan/src/tests/runner/test_reporter.cpp:61,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:62,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:63,1
    - Dst: std::make_optional
      Src: /src/botan/src/tests/runner/test_reporter.cpp:64,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/tests/runner/test_reporter.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: Botan_Tests::Testsuite::elapsed_time
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::make_optional
    - end
    - cryptofuzz_secp256k1_scalar_is_zero
    - std::transform_reduce
    - begin
    linkageType: ''
    returnType: std::optional<std::chrono::nanoseconds>
    signature: std::optional<std::chrono::nanoseconds> Testsuite::elapsed_time() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_runs
      Src: /src/botan/src/tests/runner/test_reporter.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' opts'
    argTypes:
    - Test_Options
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan_Tests::Reporter::Reporter
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - test_runs
    linkageType: ''
    returnType: void
    signature: void Reporter::Reporter(const Test_Options& opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert_or_assign
      Src: /src/botan/src/tests/runner/test_reporter.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan_Tests::Reporter::set_property
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: void Reporter::set_property(const std::string& name, const std::string&
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/runner/test_reporter.cpp:76,1
    - Dst: clear
      Src: /src/botan/src/tests/runner/test_reporter.cpp:78,1
    - Dst: next_run
      Src: /src/botan/src/tests/runner/test_reporter.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: Botan_Tests::Reporter::next_test_run
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - clear
    - Botan::TLS::detail::AsyncBase::complete_now
    - next_run
    linkageType: ''
    returnType: void
    signature: void Reporter::next_test_run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/botan/src/tests/runner/test_reporter.cpp:84,1
    - Dst: Botan_Tests::Reporter::record
      Src: /src/botan/src/tests/runner/test_reporter.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - ' result'
    argTypes:
    - std::string
    - Test::Result
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: Botan_Tests::Reporter::record
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Reporter::record
    - try_emplace
    linkageType: ''
    returnType: void
    signature: void Reporter::record(const std::string& name, const Test::Result&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Reporter::next_testsuite
      Src: /src/botan/src/tests/runner/test_reporter.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' test_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan_Tests::Reporter::waiting_for_next_results
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Reporter::next_testsuite
    linkageType: ''
    returnType: void
    signature: void Reporter::waiting_for_next_results(const std::string& test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: who
      Src: /src/botan/src/tests/runner/test_reporter.cpp:95,1
    - Dst: std::map::find
      Src: /src/botan/src/tests/runner/test_reporter.cpp:96,1
    - Dst: std::map::end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:97,1
    - Dst: std::map::insert
      Src: /src/botan/src/tests/runner/test_reporter.cpp:98,1
    - Dst: std::make_pair
      Src: /src/botan/src/tests/runner/test_reporter.cpp:98,1
    - Dst: cryptofuzz::tests::checkZeroResult
      Src: /src/botan/src/tests/runner/test_reporter.cpp:98,1
    - Dst: std::map::find
      Src: /src/botan/src/tests/runner/test_reporter.cpp:99,1
    - Dst: auto::second::merge
      Src: /src/botan/src/tests/runner/test_reporter.cpp:102,1
    - Dst: Botan_Tests::Reporter::record
      Src: /src/botan/src/tests/runner/test_reporter.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' testsuite_name'
    - ' results'
    argTypes:
    - std::string
    - std::vector<Botan_Tests::Test::Result>
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: Botan_Tests::Reporter::record
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 2
    functionsReached:
    - std::map::end
    - std::map::find
    - Botan_Tests::Reporter::record
    - cryptofuzz::tests::checkZeroResult
    - who
    - auto::second::merge
    - std::make_pair
    - std::map::insert
    linkageType: ''
    returnType: void
    signature: void Reporter::record(const std::string& testsuite_name, const std::vector<Botan_Tests::Test::Result>&
      results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform_reduce
      Src: /src/botan/src/tests/runner/test_reporter.cpp:111,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:112,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:112,1
    - Dst: second::tests_run
      Src: /src/botan/src/tests/runner/test_reporter.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: Botan_Tests::Reporter::tests_run
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::transform_reduce
    - end
    - second::tests_run
    - begin
    linkageType: ''
    returnType: size_t
    signature: size_t Reporter::tests_run() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform_reduce
      Src: /src/botan/src/tests/runner/test_reporter.cpp:118,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:119,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:119,1
    - Dst: second::tests_passed
      Src: /src/botan/src/tests/runner/test_reporter.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Botan_Tests::Reporter::tests_passed
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::transform_reduce
    - end
    - begin
    - second::tests_passed
    linkageType: ''
    returnType: size_t
    signature: size_t Reporter::tests_passed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform_reduce
      Src: /src/botan/src/tests/runner/test_reporter.cpp:125,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:126,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:126,1
    - Dst: second::tests_failed
      Src: /src/botan/src/tests/runner/test_reporter.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Botan_Tests::Reporter::tests_failed
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::transform_reduce
    - end
    - begin
    - second::tests_failed
    linkageType: ''
    returnType: size_t
    signature: size_t Reporter::tests_failed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/runner/test_reporter.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Botan_Tests::Reporter::elapsed_time
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: std::chrono::nanoseconds
    signature: std::chrono::nanoseconds Reporter::elapsed_time() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::ostream
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan_Tests::Test_Runner::Test_Runner
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Runner::Test_Runner(std::ostream& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Test_Runner::~Test_Runner()
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Runner::~Test_Runner()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: no_stdout
      Src: /src/botan/src/tests/runner/test_runner.cpp:35,1
    - Dst: emplace_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:36,1
    - Dst: std::make_unique<StdoutReporter>
      Src: /src/botan/src/tests/runner/test_runner.cpp:36,1
    - Dst: output
      Src: /src/botan/src/tests/runner/test_runner.cpp:36,1
    - Dst: xml_results_dir
      Src: /src/botan/src/tests/runner/test_runner.cpp:38,1
    - Dst: emplace_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:40,1
    - Dst: std::make_unique<XmlReporter>
      Src: /src/botan/src/tests/runner/test_runner.cpp:40,1
    - Dst: xml_results_dir
      Src: /src/botan/src/tests/runner/test_runner.cpp:40,1
    - Dst: output
      Src: /src/botan/src/tests/runner/test_runner.cpp:42,1
    - Dst: Botan_Tests::Test::filter_registered_tests
      Src: /src/botan/src/tests/runner/test_runner.cpp:46,1
    - Dst: requested_tests
      Src: /src/botan/src/tests/runner/test_runner.cpp:46,1
    - Dst: skip_tests
      Src: /src/botan/src/tests/runner/test_runner.cpp:46,1
    - Dst: pkcs11_lib
      Src: /src/botan/src/tests/runner/test_runner.cpp:49,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/runner/test_runner.cpp:51,1
    - Dst: auto::end
      Src: /src/botan/src/tests/runner/test_runner.cpp:51,1
    - Dst: find
      Src: /src/botan/src/tests/runner/test_runner.cpp:52,1
    - Dst: auto::erase
      Src: /src/botan/src/tests/runner/test_runner.cpp:53,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/runner/test_runner.cpp:60,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/runner/test_runner.cpp:61,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/runner/test_runner.cpp:64,1
    - Dst: drbg_seed
      Src: /src/botan/src/tests/runner/test_runner.cpp:64,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/runner/test_runner.cpp:65,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/runner/test_runner.cpp:67,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/runner/test_runner.cpp:68,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/runner/test_runner.cpp:68,1
    - Dst: Botan::CPUID::to_string
      Src: /src/botan/src/tests/runner/test_runner.cpp:73,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/runner/test_runner.cpp:74,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_runner.cpp:75,1
    - Dst: pkcs11_lib
      Src: /src/botan/src/tests/runner/test_runner.cpp:79,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_runner.cpp:80,1
    - Dst: pkcs11_lib
      Src: /src/botan/src/tests/runner/test_runner.cpp:80,1
    - Dst: provider
      Src: /src/botan/src/tests/runner/test_runner.cpp:83,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_runner.cpp:84,1
    - Dst: provider
      Src: /src/botan/src/tests/runner/test_runner.cpp:84,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_runner.cpp:87,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/runner/test_runner.cpp:87,1
    - Dst: Botan_Tests::Test::set_test_options
      Src: /src/botan/src/tests/runner/test_runner.cpp:90,1
    - Dst: test_runs
      Src: /src/botan/src/tests/runner/test_runner.cpp:92,1
    - Dst: Botan_Tests::Test::set_test_rng_seed
      Src: /src/botan/src/tests/runner/test_runner.cpp:93,1
    - Dst: next_test_run
      Src: /src/botan/src/tests/runner/test_runner.cpp:96,1
    - Dst: render
      Src: /src/botan/src/tests/runner/test_runner.cpp:103,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 1
    argNames:
    - ' opts'
    argTypes:
    - Test_Options
    constantsTouched: []
    func_position:
      end: 112
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 112
    functionName: Botan_Tests::Test_Runner::run
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 1
    functionsReached:
    - Botan::store_be
    - next_test_run
    - output
    - Botan_Tests::Test::set_test_options
    - drbg_seed
    - auto::end
    - Botan_Tests::Test::filter_registered_tests
    - Test_Error
    - emplace_back
    - no_stdout
    - pkcs11_lib
    - std::vector::resize
    - std::make_unique<XmlReporter>
    - std::string::empty
    - Botan::CPUID::to_string
    - auto::begin
    - std::vector::data
    - provider
    - render
    - Botan::hex_decode
    - requested_tests
    - xml_results_dir
    - find
    - test_runs
    - Botan::hex_encode
    - std::vector::empty
    - skip_tests
    - auto::empty
    - Botan_Tests::Test::set_test_rng_seed
    - set_property
    - std::make_unique<StdoutReporter>
    - auto::erase
    linkageType: ''
    returnType: bool
    signature: bool Test_Runner::run(const Test_Options& opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/tests/runner/test_runner.cpp:121,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:122,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/runner/test_runner.cpp:122,1
    - Dst: Botan_Tests::Test::get_test
      Src: /src/botan/src/tests/runner/test_runner.cpp:127,1
    - Dst: std::unique_ptr::run
      Src: /src/botan/src/tests/runner/test_runner.cpp:128,1
    - Dst: code_location
      Src: /src/botan/src/tests/runner/test_runner.cpp:130,1
    - Dst: std::unique_ptr::registration_location
      Src: /src/botan/src/tests/runner/test_runner.cpp:130,1
    - Dst: set_code_location
      Src: /src/botan/src/tests/runner/test_runner.cpp:133,1
    - Dst: std::unique_ptr::registration_location
      Src: /src/botan/src/tests/runner/test_runner.cpp:133,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/runner/test_runner.cpp:136,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/runner/test_runner.cpp:136,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/runner/test_runner.cpp:136,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/runner/test_runner.cpp:136,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:138,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/runner/test_runner.cpp:138,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:141,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/runner/test_runner.cpp:141,1
    - Dst: what
      Src: /src/botan/src/tests/runner/test_runner.cpp:141,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:143,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/runner/test_runner.cpp:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ' test_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 147
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 147
    functionName: Botan_Tests::run_a_test
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan_Tests::Test::Result::Note
    - code_location
    - std::vector::insert
    - Botan_Tests::Test::Result::Failure
    - Botan_Tests::Test::get_test
    - std::vector::end
    - what
    - std::unique_ptr::registration_location
    - std::unique_ptr::run
    - std::vector::begin
    - std::vector::push_back
    - set_code_location
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_a_test(const std::string& test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/botan/src/tests/runner/test_runner.cpp:150,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_runner.cpp:150,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_runner.cpp:150,1
    - Dst: tests_failed
      Src: /src/botan/src/tests/runner/test_runner.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan_Tests::all_passed
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 0
    functionsReached:
    - std::all_of
    - end
    - begin
    - tests_failed
    linkageType: ''
    returnType: bool
    signature: bool all_passed(const std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/runner/test_runner.cpp:157,1
    - Dst: output
      Src: /src/botan/src/tests/runner/test_runner.cpp:160,1
    - Dst: Botan_Tests::Test_Runner::run_tests
      Src: /src/botan/src/tests/runner/test_runner.cpp:161,1
    - Dst: Botan::RWLock::RWLock
      Src: /src/botan/src/tests/runner/test_runner.cpp:165,1
    - Dst: run_a_test
      Src: /src/botan/src/tests/runner/test_runner.cpp:171,1
    - Dst: run_a_test
      Src: /src/botan/src/tests/runner/test_runner.cpp:176,1
    - Dst: Botan_Tests::Test::test_needs_serialization
      Src: /src/botan/src/tests/runner/test_runner.cpp:180,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:181,1
    - Dst: Botan::Thread_Pool::run
      Src: /src/botan/src/tests/runner/test_runner.cpp:181,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:183,1
    - Dst: Botan::Thread_Pool::run
      Src: /src/botan/src/tests/runner/test_runner.cpp:183,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/runner/test_runner.cpp:188,1
    - Dst: waiting_for_next_results
      Src: /src/botan/src/tests/runner/test_runner.cpp:190,1
    - Dst: get
      Src: /src/botan/src/tests/runner/test_runner.cpp:192,1
    - Dst: record
      Src: /src/botan/src/tests/runner/test_runner.cpp:194,1
    - Dst: all_passed
      Src: /src/botan/src/tests/runner/test_runner.cpp:196,1
    - Dst: Botan::Thread_Pool::shutdown
      Src: /src/botan/src/tests/runner/test_runner.cpp:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ' tests_to_run'
    - test_threads
    argTypes:
    - std::vector<std::string>
    - size_t
    constantsTouched: []
    func_position:
      end: 203
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 203
    functionName: Botan_Tests::Test_Runner::run_tests_multithreaded
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan_Tests::Test::test_needs_serialization
    - all_passed
    - Botan_Tests::Test_Runner::run_tests
    - waiting_for_next_results
    - Botan::Thread_Pool::shutdown
    - output
    - run_a_test
    - get
    - Botan::Thread_Pool::run
    - Botan::RWLock::RWLock
    - record
    - std::vector::push_back
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: bool Test_Runner::run_tests_multithreaded(const std::vector<std::string>&
      tests_to_run, size_t test_threads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: waiting_for_next_results
      Src: /src/botan/src/tests/runner/test_runner.cpp:209,1
    - Dst: run_a_test
      Src: /src/botan/src/tests/runner/test_runner.cpp:211,1
    - Dst: record
      Src: /src/botan/src/tests/runner/test_runner.cpp:214,1
    - Dst: all_passed
      Src: /src/botan/src/tests/runner/test_runner.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' tests_to_run'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: Botan_Tests::Test_Runner::run_tests
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 1
    functionsReached:
    - run_a_test
    - all_passed
    - record
    - waiting_for_next_results
    linkageType: ''
    returnType: bool
    signature: bool Test_Runner::run_tests(const std::vector<std::string>& tests_to_run)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:44,1
    - Dst: std::setw
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:44,1
    - Dst: std::setw
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:44,1
    - Dst: std::setw
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:44,1
    - Dst: std::setw
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:45,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: Botan_Tests::full_compiler_version_string
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - std::setw
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string full_compiler_version_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: Botan_Tests::full_compiler_name_string
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string full_compiler_name_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:69,1
    - Dst: Botan_Tests::Test::format_time
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:71,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' tp'
    argTypes:
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: Botan_Tests::format
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test::format_time
    - std::chrono::system_clock::to_time_t
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string format(const std::chrono::system_clock::time_point& tp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::precision
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:81,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' dur'
    argTypes:
    - std::chrono::nanoseconds
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: Botan_Tests::format
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - std::ostringstream::precision
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string format(const std::chrono::nanoseconds& dur)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:89,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:90,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:91,1
    - Dst: full_compiler_name_string
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:91,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:92,1
    - Dst: full_compiler_version_string
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:92,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:93,1
    - Dst: format
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:93,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:93,1
    - Dst: report_properties
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:94,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' opts'
    - output_dir
    argTypes:
    - Test_Options
    - std::string
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: Botan_Tests::XmlReporter::XmlReporter
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - format
    - set_property
    - full_compiler_version_string
    - Botan::TLS::detail::AsyncBase::complete_now
    - report_properties
    - full_compiler_name_string
    linkageType: ''
    returnType: void
    signature: void XmlReporter::XmlReporter(const Test_Options& opts, std::string
      output_dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:101,1
    - Dst: has_value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:101,1
    - Dst: good
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:101,1
    - Dst: Botan_Tests::XmlReporter::render_preamble
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:103,1
    - Dst: value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:103,1
    - Dst: Botan_Tests::XmlReporter::render_testsuites
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:104,1
    - Dst: value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: Botan_Tests::XmlReporter::render
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - good
    - Botan_Tests::XmlReporter::render_preamble
    - BOTAN_STATE_CHECK
    - Botan_Tests::XmlReporter::render_testsuites
    - has_value
    - value
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:110,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:110,1
    - Dst: Botan::short_version_string
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:114,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:114,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: Botan_Tests::XmlReporter::get_unique_output_filename
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - Botan::store_be
    - std::stringstream::str
    - Botan::short_version_string
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string XmlReporter::get_unique_output_filename() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:120,1
    - Dst: reset
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:121,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:124,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:124,1
    - Dst: current_test_run
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:124,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:125,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:125,1
    - Dst: total_test_runs
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:125,1
    - Dst: Botan_Tests::XmlReporter::get_unique_output_filename
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:126,1
    - Dst: std::ofstream
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:127,1
    - Dst: good
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:129,1
    - Dst: Botan::System_Error::System_Error
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:132,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: Botan_Tests::XmlReporter::next_run
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - good
    - std::to_string
    - std::ofstream
    - current_test_run
    - std::stringstream::str
    - reset
    - set_property
    - total_test_runs
    - Botan_Tests::XmlReporter::get_unique_output_filename
    - has_value
    - Botan::System_Error::System_Error
    linkageType: ''
    returnType: void
    signature: void XmlReporter::next_run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:143,1
    - Dst: find
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:147,1
    - Dst: size
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:147,1
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:148,1
    - Dst: size
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' str'
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: Botan_Tests::replace
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::replace
    - find
    - empty
    - size
    linkageType: ''
    returnType: void
    signature: void replace(std::string& str, const std::string& from, const std::string&
      to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:153,1
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:154,1
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:155,1
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:156,1
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: Botan_Tests::escape
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::replace
    linkageType: ''
    returnType: std::string
    signature: std::string escape(std::string str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:170,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 177
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 177
    functionName: Botan_Tests::format_cdata
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::replace
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string format_cdata(std::string str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::ostream
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: Botan_Tests::XmlReporter::render_preamble
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render_preamble(std::ostream& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: properties
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:186,1
    - Dst: properties
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:191,1
    - Dst: escape
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:193,1
    - Dst: escape
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::ostream
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: Botan_Tests::XmlReporter::render_properties
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - escape
    - properties
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render_properties(std::ostream& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tests_run
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:203,1
    - Dst: tests_failed
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:204,1
    - Dst: format
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:205,1
    - Dst: elapsed_time
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:205,1
    - Dst: Botan_Tests::XmlReporter::render_properties
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:210,1
    - Dst: testsuites
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:212,1
    - Dst: Botan_Tests::XmlReporter::render_testsuite
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::ostream
    constantsTouched: []
    func_position:
      end: 217
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: Botan_Tests::XmlReporter::render_testsuites
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - testsuites
    - tests_run
    - tests_failed
    - Botan_Tests::XmlReporter::render_properties
    - elapsed_time
    - format
    - Botan_Tests::XmlReporter::render_testsuite
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render_testsuites(std::ostream& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: escape
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:221,1
    - Dst: name
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:221,1
    - Dst: tests_run
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:222,1
    - Dst: tests_failed
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:223,1
    - Dst: format
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:224,1
    - Dst: timestamp
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:224,1
    - Dst: elapsed_time
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:226,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:227,1
    - Dst: format
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:228,1
    - Dst: auto::value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:228,1
    - Dst: results
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:231,1
    - Dst: results
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:236,1
    - Dst: Botan_Tests::XmlReporter::render_testcase
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - ' suite'
    argTypes:
    - std::ostream
    - Testsuite
    constantsTouched: []
    func_position:
      end: 242
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 242
    functionName: Botan_Tests::XmlReporter::render_testsuite
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::XmlReporter::render_testcase
    - tests_run
    - tests_failed
    - auto::value
    - escape
    - elapsed_time
    - format
    - timestamp
    - name
    - results
    - auto::has_value
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render_testsuite(std::ostream& out, const Testsuite&
      suite) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: escape
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:246,1
    - Dst: format
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:248,1
    - Dst: elapsed_time::has_value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:250,1
    - Dst: format
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:251,1
    - Dst: elapsed_time::value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:251,1
    - Dst: code_location::has_value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:254,1
    - Dst: escape
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:255,1
    - Dst: failures::empty
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:259,1
    - Dst: notes::empty
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:259,1
    - Dst: Botan_Tests::XmlReporter::render_failures_and_stdout
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' out'
    - ' test'
    argTypes:
    - std::ostream
    - TestSummary
    constantsTouched: []
    func_position:
      end: 266
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 266
    functionName: Botan_Tests::XmlReporter::render_testcase
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - escape
    - elapsed_time::value
    - format
    - Botan_Tests::XmlReporter::render_failures_and_stdout
    - elapsed_time::has_value
    - failures::empty
    - notes::empty
    - code_location::has_value
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render_testcase(std::ostream& out, const TestSummary&
      test) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format_cdata
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:271,1
    - Dst: notes::empty
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:277,1
    - Dst: format_cdata
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' out'
    - ' test'
    argTypes:
    - std::ostream
    - TestSummary
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: Botan_Tests::XmlReporter::render_failures_and_stdout
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - format_cdata
    - notes::empty
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render_failures_and_stdout(std::ostream& out, const
      TestSummary& test) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& output() const'
    functionSourceFile: /src/botan/src/tests/runner/test_runner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & output() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: test_conditional_jump_on_poisoned_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void test_conditional_jump_on_poisoned_data(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_array
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:39,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: test_array_access_on_poisoned_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - random_array
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void test_array_access_on_poisoned_data(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: test_conditional_jump_on_transitively_poisoned_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void test_conditional_jump_on_transitively_poisoned_data(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:63,1
    - Dst: random_array
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: test_array_access_on_transitively_poisoned_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - random_array
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void test_array_access_on_transitively_poisoned_data(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:76,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: test_unpoisen_transitively_poisoned_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void test_unpoisen_transitively_poisoned_data(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:89,1
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: test_poisoned_and_cleared_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    - next_byte
    linkageType: ''
    returnType: void
    signature: void test_poisoned_and_cleared_data(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:101,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:102,1
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: test_conditional_branch_on_unpoisoned_bit
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    - next_byte
    linkageType: ''
    returnType: void
    signature: void test_conditional_branch_on_unpoisoned_bit(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:117,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:118,1
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: test_conditional_branch_on_poisoned_bit
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    - next_byte
    linkageType: ''
    returnType: void
    signature: void test_conditional_branch_on_poisoned_bit(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:133,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:134,1
    - Dst: std::memset
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:137,1
    - Dst: std::array::data
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:137,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:156,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 158
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 158
    functionName: test_clang_conditional_jump_on_bare_metal_ct_mask
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - next_byte
    - Botan::CT::poison
    - std::memset
    - Botan::CT::unpoison
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void test_clang_conditional_jump_on_bare_metal_ct_mask(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_array
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:161,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:162,1
    - Dst: auto::back
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: test_poison_range
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - auto::back
    - random_array
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void test_poison_range(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_array
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:171,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:172,1
    - Dst: copy
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:176,1
    - Dst: auto::begin
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:176,1
    - Dst: auto::end
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:176,1
    - Dst: std::back_inserter
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:176,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:179,1
    - Dst: std::vector::back
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 185
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 185
    functionName: test_unpoison_range
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - Botan::CT::unpoison
    - copy
    - std::back_inserter
    - Botan::CT::poison
    - auto::end
    - std::vector::back
    - random_array
    linkageType: ''
    returnType: void
    signature: void test_unpoison_range(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:188,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: test_scoped_poison_inner
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::scoped_poison
    - next_byte
    linkageType: ''
    returnType: void
    signature: void test_scoped_poison_inner(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:199,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:202,1
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: test_scoped_poison_outer
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::scoped_poison
    - next_byte
    linkageType: ''
    returnType: void
    signature: void test_scoped_poison_outer(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:216,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:217,1
    - Dst: std::memset
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:220,1
    - Dst: std::array::data
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:220,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:225,1
    - Dst: auto::select
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:227,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:230,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: regression_test_conditional_jump_in_ct_mask
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    - std::array::data
    - next_byte
    - Botan::CT::poison
    - auto::select
    - std::memset
    - Botan::CT::unpoison
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void regression_test_conditional_jump_in_ct_mask(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_array
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:235,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: cond_jump_on_shifted_out_secret_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - random_array
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void cond_jump_on_shifted_out_secret_data(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: print_help
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void print_help(std::string_view path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:286,1
    - Dst: str
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:287,1
    - Dst: str
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' tests'
    argTypes:
    - std::map<std::string, Test>
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: list_tests
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - str
    linkageType: ''
    returnType: void
    signature: void list_tests(const std::map<std::string, Test>& tests)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:315,1
    - Dst: print_help
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:321,1
    - Dst: list_tests
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:326,1
    - Dst: std::map::find
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:330,1
    - Dst: std::map::end
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:331,1
    - Dst: Botan::CT::poison_has_effect
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:341,1
    - Dst: auto::second::test
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:347,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:347,1
    - Dst: what
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 355
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 355
    functionName: main
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 19
    functionsReached:
    - std::map::end
    - std::map::find
    - what
    - auto::second::test
    - Botan::CT::poison_has_effect
    - list_tests
    - Botan::system_rng
    - print_help
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::short_version_string
      Src: /src/botan/src/scripts/ci/cmake_tests/main.cpp:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: main
    functionSourceFile: /src/botan/src/scripts/ci/cmake_tests/main.cpp
    functionUses: 19
    functionsReached:
    - Botan::short_version_string
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::HMAC::HMAC
    functionSourceFile: /src/botan/src/cli/hmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HMAC()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_CLI::HMAC::group
    functionSourceFile: /src/botan/src/cli/hmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::HMAC::description
    functionSourceFile: /src/botan/src/cli/hmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/hmac.cpp:30,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/cli/hmac.cpp:32,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/hmac.cpp:35,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/cli/hmac.cpp:38,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/hmac.cpp:38,1
    - Dst: get_arg
      Src: /src/botan/src/cli/hmac.cpp:38,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/hmac.cpp:42,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/hmac.cpp:43,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/hmac.cpp:44,1
    - Dst: std::unique_ptr::update
      Src: /src/botan/src/cli/hmac.cpp:49,1
    - Dst: read_file
      Src: /src/botan/src/cli/hmac.cpp:50,1
    - Dst: output
      Src: /src/botan/src/cli/hmac.cpp:51,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/hmac.cpp:51,1
    - Dst: std::unique_ptr::final
      Src: /src/botan/src/cli/hmac.cpp:51,1
    - Dst: output
      Src: /src/botan/src/cli/hmac.cpp:54,1
    - Dst: output
      Src: /src/botan/src/cli/hmac.cpp:57,1
    - Dst: error_output
      Src: /src/botan/src/cli/hmac.cpp:59,1
    - Dst: what
      Src: /src/botan/src/cli/hmac.cpp:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: Botan_CLI::HMAC::go
    functionSourceFile: /src/botan/src/cli/hmac.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::unique_ptr::update
    - get_arg
    - read_file
    - slurp_file
    - what
    - Botan::hex_encode
    - CLI_Error_Unsupported
    - get_arg_list
    - output
    - std::unique_ptr::final
    - error_output
    - std::unique_ptr::set_key
    - Botan::MessageAuthenticationCode::create
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::PerfTest_PKEnc::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_PKEnc::algo
      Src: /src/botan/src/cli/perf_pk_enc.cpp:25,1
    - Dst: Botan_CLI::PerfTest_PKEnc::keygen_params
      Src: /src/botan/src/cli/perf_pk_enc.cpp:27,1
    - Dst: Botan_CLI::PerfTest_PKEnc::format_name
      Src: /src/botan/src/cli/perf_pk_enc.cpp:30,1
    - Dst: Botan_CLI::PerfTest_PKEnc::bench_pk_ka
      Src: /src/botan/src/cli/perf_pk_enc.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: Botan_CLI::PerfTest_PKEnc::go
    functionSourceFile: /src/botan/src/cli/perf_pk_enc.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_PKEnc::bench_pk_ka
    - Botan_CLI::PerfTest_PKEnc::algo
    - Botan_CLI::PerfTest_PKEnc::keygen_params
    - Botan_CLI::PerfTest_PKEnc::format_name
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_enc.cpp:40,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_enc.cpp:41,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_enc.cpp:45,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_enc.cpp:47,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_enc.cpp:47,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_enc.cpp:50,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_enc.cpp:51,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_enc.cpp:51,1
    - Dst: auto::public_key
      Src: /src/botan/src/cli/perf_pk_enc.cpp:54,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_enc.cpp:62,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_enc.cpp:63,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_enc.cpp:65,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_enc.cpp:65,1
    - Dst: empty
      Src: /src/botan/src/cli/perf_pk_enc.cpp:67,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_enc.cpp:67,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_pk_enc.cpp:68,1
    - Dst: Botan::PK_Encryptor_EME::maximum_input_size
      Src: /src/botan/src/cli/perf_pk_enc.cpp:68,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_enc.cpp:69,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/cli/perf_pk_enc.cpp:69,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_enc.cpp:72,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_enc.cpp:73,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/cli/perf_pk_enc.cpp:73,1
    - Dst: Botan::unlock
      Src: /src/botan/src/cli/perf_pk_enc.cpp:76,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_pk_enc.cpp:77,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_enc.cpp:82,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_enc.cpp:83,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_enc.cpp:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - ' config'
    - ' nm'
    - ' algo'
    - ' params'
    argTypes:
    - PerfConfig
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 86
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 86
    functionName: Botan_CLI::PerfTest_PKEnc::bench_pk_ka
    functionSourceFile: /src/botan/src/cli/perf_pk_enc.cpp
    functionUses: 1
    functionsReached:
    - auto::run
    - runtime
    - auto::public_key
    - auto::under
    - Botan::PK_Encryptor_EME::maximum_input_size
    - empty
    - make_timer
    - Botan::create_private_key
    - Botan::unlock
    - rng
    - random_vec
    - record_result
    - error_output
    - Botan::PK_Decryptor_EME::decrypt
    - Botan::PK_Encryptor_EME::encrypt
    linkageType: ''
    returnType: void
    signature: "void bench_pk_ka(const PerfConfig& config,\n                       const
      std::string& nm,\n                       const std::string& algo,\n                       const
      std::string& params,\n                       const std::string& provider = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan_CLI::PerfTest_ElGamal::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: Botan_CLI::PerfTest_ElGamal::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pk_enc.cpp:107,1
    - Dst: substr
      Src: /src/botan/src/cli/perf_pk_enc.cpp:107,1
    - Dst: find_last_of
      Src: /src/botan/src/cli/perf_pk_enc.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' alg'
    - ' param'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: Botan_CLI::PerfTest_ElGamal::format_name
    functionSourceFile: /src/botan/src/cli/perf_pk_enc.cpp
    functionUses: 0
    functionsReached:
    - find_last_of
    - Botan::fmt
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string format_name(const std::string& alg, const std::string&
      param) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan_CLI::Print_Help::Print_Help
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Print_Help()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::registered_cmds
      Src: /src/botan/src/cli/utils.cpp:41,1
    - Dst: Botan_CLI::Command::get_cmd
      Src: /src/botan/src/cli/utils.cpp:43,1
    - Dst: auto::group
      Src: /src/botan/src/cli/utils.cpp:45,1
    - Dst: push_back
      Src: /src/botan/src/cli/utils.cpp:45,1
    - Dst: std::move
      Src: /src/botan/src/cli/utils.cpp:45,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/utils.cpp:77,1
    - Dst: std::map::find
      Src: /src/botan/src/cli/utils.cpp:82,1
    - Dst: std::map::end
      Src: /src/botan/src/cli/utils.cpp:83,1
    - Dst: std::setw
      Src: /src/botan/src/cli/utils.cpp:90,1
    - Dst: auto::cmd_name
      Src: /src/botan/src/cli/utils.cpp:90,1
    - Dst: auto::description
      Src: /src/botan/src/cli/utils.cpp:90,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/utils.cpp:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 96
    functionName: Botan_CLI::Print_Help::help_text
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::map::find
    - std::map::end
    - std::ostringstream::str
    - auto::cmd_name
    - std::setw
    - Botan_CLI::Command::get_cmd
    - Botan_CLI::Command::registered_cmds
    - auto::group
    - std::string::empty
    - auto::description
    - push_back
    linkageType: ''
    returnType: std::string
    signature: std::string help_text() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan_CLI::Print_Help::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan_CLI::Print_Help::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Print_Help::set_return_code
      Src: /src/botan/src/cli/utils.cpp:103,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:104,1
    - Dst: Botan_CLI::Print_Help::help_text
      Src: /src/botan/src/cli/utils.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: Botan_CLI::Print_Help::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Print_Help::set_return_code
    - Botan_CLI::Print_Help::help_text
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan_CLI::Has_Command::Has_Command
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Has_Command()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan_CLI::Has_Command::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan_CLI::Has_Command::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/utils.cpp:119,1
    - Dst: Botan_CLI::Command::registered_cmds
      Src: /src/botan/src/cli/utils.cpp:122,1
    - Dst: verbose
      Src: /src/botan/src/cli/utils.cpp:129,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:130,1
    - Dst: Botan_CLI::Has_Command::set_return_code
      Src: /src/botan/src/cli/utils.cpp:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 136
    functionName: Botan_CLI::Has_Command::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - output
    - verbose
    - Botan_CLI::Has_Command::set_return_code
    - Botan_CLI::Command::registered_cmds
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan_CLI::Config_Info::Config_Info
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: Botan_CLI::Config_Info::help_text
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string help_text() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: Botan_CLI::Config_Info::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Botan_CLI::Config_Info::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/utils.cpp:158,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:161,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:163,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:166,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:168,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:170,1
    - Dst: Botan::version_major
      Src: /src/botan/src/cli/utils.cpp:170,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/utils.cpp:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: Botan_CLI::Config_Info::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - CLI_Usage_Error
    - get_arg
    - Botan::version_major
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: Botan_CLI::Version_Info::Version_Info
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: Botan_CLI::Version_Info::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: Botan_CLI::Version_Info::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/cli/utils.cpp:188,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:189,1
    - Dst: Botan::version_string
      Src: /src/botan/src/cli/utils.cpp:189,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:191,1
    - Dst: Botan::short_version_string
      Src: /src/botan/src/cli/utils.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: Botan_CLI::Version_Info::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::short_version_string
    - Botan::version_string
    - flag_set
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: Botan_CLI::Print_Cpuid::Print_Cpuid
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Print_Cpuid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: Botan_CLI::Print_Cpuid::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: Botan_CLI::Print_Cpuid::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:210,1
    - Dst: Botan::CPUID::to_string
      Src: /src/botan/src/cli/utils.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: Botan_CLI::Print_Cpuid::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::CPUID::to_string
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: Botan_CLI::Cycle_Counter::Cycle_Counter
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cycle_Counter()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: Botan_CLI::Cycle_Counter::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: Botan_CLI::Cycle_Counter::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::get_cpu_cycle_counter
      Src: /src/botan/src/cli/utils.cpp:228,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:229,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:236,1
    - Dst: Botan::OS::get_system_timestamp_ns
      Src: /src/botan/src/cli/utils.cpp:247,1
    - Dst: Botan::OS::get_cpu_cycle_counter
      Src: /src/botan/src/cli/utils.cpp:248,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:252,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:257,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:268,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/utils.cpp:268,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:271,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/cli/utils.cpp:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 273
    functionName: Botan_CLI::Cycle_Counter::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::OS::get_cpu_cycle_counter
    - static_cast<size_t>
    - std::setprecision
    - output
    - Botan::OS::get_system_timestamp_ns
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: Botan_CLI::Print_UUID::Print_UUID
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Print_UUID()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: Botan_CLI::Print_UUID::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: Botan_CLI::Print_UUID::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:292,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/cli/utils.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: Botan_CLI::Print_UUID::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::UUID::to_string
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: Botan_CLI::HTTP_Get::HTTP_Get
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTP_Get()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: Botan_CLI::HTTP_Get::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: Botan_CLI::HTTP_Get::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/utils.cpp:311,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/utils.cpp:312,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:315,1
    - Dst: Botan::HTTP::GET_sync
      Src: /src/botan/src/cli/utils.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: Botan_CLI::HTTP_Get::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - get_arg_sz
    - get_arg
    - Botan::HTTP::GET_sync
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/cli_rng.cpp:42,1
    - Dst: std::make_shared<Botan::System_RNG>
      Src: /src/botan/src/cli/cli_rng.cpp:43,1
    - Dst: std::make_shared<Botan::ESDM_RNG>
      Src: /src/botan/src/cli/cli_rng.cpp:49,1
    - Dst: std::make_shared<Botan::ESDM_RNG>
      Src: /src/botan/src/cli/cli_rng.cpp:52,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/cli_rng.cpp:56,1
    - Dst: empty
      Src: /src/botan/src/cli/cli_rng.cpp:59,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/cli/cli_rng.cpp:64,1
    - Dst: Botan::Entropy_Sources::global_sources
      Src: /src/botan/src/cli/cli_rng.cpp:64,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/cli_rng.cpp:66,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/cli/cli_rng.cpp:69,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/cli_rng.cpp:72,1
    - Dst: std::shared_ptr::add_entropy
      Src: /src/botan/src/cli/cli_rng.cpp:73,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/cli_rng.cpp:73,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/cli_rng.cpp:73,1
    - Dst: empty
      Src: /src/botan/src/cli/cli_rng.cpp:80,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/cli_rng.cpp:80,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/cli/cli_rng.cpp:81,1
    - Dst: std::make_shared<Botan::HMAC_DRBG>
      Src: /src/botan/src/cli/cli_rng.cpp:82,1
    - Dst: std::move
      Src: /src/botan/src/cli/cli_rng.cpp:82,1
    - Dst: auto::add_entropy
      Src: /src/botan/src/cli/cli_rng.cpp:83,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/cli_rng.cpp:83,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/cli_rng.cpp:83,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/cli/cli_rng.cpp:85,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/cli_rng.cpp:86,1
    - Dst: auto::name
      Src: /src/botan/src/cli/cli_rng.cpp:86,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/cli_rng.cpp:86,1
    - Dst: auto::security_level
      Src: /src/botan/src/cli/cli_rng.cpp:86,1
    - Dst: empty
      Src: /src/botan/src/cli/cli_rng.cpp:95,1
    - Dst: Botan::Processor_RNG::available
      Src: /src/botan/src/cli/cli_rng.cpp:96,1
    - Dst: std::make_shared<Botan::Processor_RNG>
      Src: /src/botan/src/cli/cli_rng.cpp:97,1
    - Dst: empty
      Src: /src/botan/src/cli/cli_rng.cpp:98,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/cli_rng.cpp:99,1
    - Dst: empty
      Src: /src/botan/src/cli/cli_rng.cpp:104,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/cli_rng.cpp:105,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/cli_rng.cpp:107,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 42
    argCount: 2
    argNames:
    - ' rng_type'
    - ' hex_drbg_seed'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 109
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 109
    functionName: Botan_CLI::cli_make_rng
    functionSourceFile: /src/botan/src/cli/cli_rng.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<Botan::System_RNG>
    - auto::security_level
    - std::make_shared<Botan::AutoSeeded_RNG>
    - std::to_string
    - Botan::MessageAuthenticationCode::create_or_throw
    - CLI_Error
    - Botan::Entropy_Sources::global_sources
    - CLI_Error_Unsupported
    - empty
    - auto::name
    - std::make_shared<Botan::HMAC_DRBG>
    - std::vector::data
    - std::vector::size
    - auto::add_entropy
    - Botan::hex_decode
    - std::vector::empty
    - Botan::Processor_RNG::available
    - std::make_shared<Botan::ESDM_RNG>
    - std::make_shared<Botan::Processor_RNG>
    - std::shared_ptr::add_entropy
    - auto::is_seeded
    linkageType: ''
    returnType: std::shared_ptr<Botan::RandomNumberGenerator>
    signature: "std::shared_ptr<Botan::RandomNumberGenerator> cli_make_rng(const std::string&
      rng_type,\n                                                           const
      std::string& hex_drbg_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Botan_CLI::RNG::RNG
    functionSourceFile: /src/botan/src/cli/cli_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan_CLI::RNG::group
    functionSourceFile: /src/botan/src/cli/cli_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: Botan_CLI::RNG::description
    functionSourceFile: /src/botan/src/cli/cli_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/cli_rng.cpp:123,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cli_rng.cpp:124,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/cli_rng.cpp:126,1
    - Dst: flag_set
      Src: /src/botan/src/cli/cli_rng.cpp:128,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cli_rng.cpp:135,1
    - Dst: cli_make_rng
      Src: /src/botan/src/cli/cli_rng.cpp:136,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/cli_rng.cpp:138,1
    - Dst: auto::random_vec
      Src: /src/botan/src/cli/cli_rng.cpp:140,1
    - Dst: write_output
      Src: /src/botan/src/cli/cli_rng.cpp:143,1
    - Dst: output
      Src: /src/botan/src/cli/cli_rng.cpp:145,1
    - Dst: format_blob
      Src: /src/botan/src/cli/cli_rng.cpp:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 148
    functionName: Botan_CLI::RNG::go
    functionSourceFile: /src/botan/src/cli/cli_rng.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - auto::random_vec
    - cli_make_rng
    - get_arg_list
    - output
    - write_output
    - format_blob
    - flag_set
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: invalid_socket
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socket_type
    signature: socket_type invalid_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::closesocket
      Src: /src/botan/src/cli/socket_utils.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: close_socket
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached:
    - ::closesocket
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/botan/src/cli/socket_utils.h:38,1
    - Dst: ::WSAStartup
      Src: /src/botan/src/cli/socket_utils.h:40,1
    - Dst: Botan_CLI::CLI_Error::CLI_Error
      Src: /src/botan/src/cli/socket_utils.h:41,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/socket_utils.h:41,1
    - Dst: WSAGetLastError
      Src: /src/botan/src/cli/socket_utils.h:41,1
    - Dst: LOBYTE
      Src: /src/botan/src/cli/socket_utils.h:44,1
    - Dst: HIBYTE
      Src: /src/botan/src/cli/socket_utils.h:44,1
    - Dst: ::WSACleanup
      Src: /src/botan/src/cli/socket_utils.h:45,1
    - Dst: Botan_CLI::CLI_Error::CLI_Error
      Src: /src/botan/src/cli/socket_utils.h:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: init_sockets
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached:
    - std::to_string
    - MAKEWORD
    - ::WSAStartup
    - WSAGetLastError
    - HIBYTE
    - ::WSACleanup
    - Botan_CLI::CLI_Error::CLI_Error
    - LOBYTE
    linkageType: ''
    returnType: void
    signature: void init_sockets()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::WSACleanup
      Src: /src/botan/src/cli/socket_utils.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: stop_sockets
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached:
    - ::WSACleanup
    linkageType: ''
    returnType: void
    signature: void stop_sockets()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/cli/socket_utils.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: err_to_string
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string err_to_string(int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::closesocket
      Src: /src/botan/src/cli/socket_utils.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: close
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 58
    functionsReached:
    - ::closesocket
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::recv
      Src: /src/botan/src/cli/socket_utils.h:64,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/cli/socket_utils.h:64,1
    - Dst: static_cast<int>
      Src: /src/botan/src/cli/socket_utils.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: read
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 33
    functionsReached:
    - static_cast<int>
    - reinterpret_cast<char*>
    - ::recv
    linkageType: ''
    returnType: int
    signature: int read(int s, void* buf, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/cli/socket_utils.h:68,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/socket_utils.h:68,1
    - Dst: static_cast<int>
      Src: /src/botan/src/cli/socket_utils.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - flags
    argTypes:
    - int
    - uint8_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: send
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<const char*>
    - static_cast<int>
    - Botan_Tests::MockChannel::send
    linkageType: ''
    returnType: int
    signature: int send(int s, const uint8_t* buf, size_t len, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: invalid_socket
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socket_type
    signature: socket_type invalid_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/cli/socket_utils.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: close_socket
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: init_sockets
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_sockets()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: stop_sockets
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop_sockets()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::strerror
      Src: /src/botan/src/cli/socket_utils.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: err_to_string
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached:
    - std::strerror
    linkageType: ''
    returnType: std::string
    signature: std::string err_to_string(int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_Rng::bench_rng
      Src: /src/botan/src/cli/perf_rng.cpp:44,1
    - Dst: Botan::HMAC_DRBG::name
      Src: /src/botan/src/cli/perf_rng.cpp:44,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/cli/perf_rng.cpp:50,1
    - Dst: Botan_CLI::PerfTest_Rng::bench_rng
      Src: /src/botan/src/cli/perf_rng.cpp:51,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/cli/perf_rng.cpp:55,1
    - Dst: Botan_CLI::PerfTest_Rng::bench_rng
      Src: /src/botan/src/cli/perf_rng.cpp:56,1
    - Dst: Botan_CLI::PerfTest_Rng::bench_rng
      Src: /src/botan/src/cli/perf_rng.cpp:60,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/cli/perf_rng.cpp:60,1
    - Dst: Botan::Processor_RNG::available
      Src: /src/botan/src/cli/perf_rng.cpp:64,1
    - Dst: Botan::Processor_RNG::Processor_RNG
      Src: /src/botan/src/cli/perf_rng.cpp:65,1
    - Dst: Botan_CLI::PerfTest_Rng::bench_rng
      Src: /src/botan/src/cli/perf_rng.cpp:66,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/perf_rng.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: Botan_CLI::PerfTest_Rng::go
    functionSourceFile: /src/botan/src/cli/perf_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan_CLI::PerfTest_Rng::bench_rng
    - Botan::HMAC_DRBG::name
    - Botan::Processor_RNG::available
    - Botan::Processor_RNG::Processor_RNG
    - Botan::secure_vector<uint8_t>
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::system_rng
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_rng.cpp:74,1
    - Dst: reseed_from_rng
      Src: /src/botan/src/cli/perf_rng.cpp:79,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/cli/perf_rng.cpp:79,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_rng.cpp:82,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_rng.cpp:82,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_rng.cpp:84,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_rng.cpp:86,1
    - Dst: randomize
      Src: /src/botan/src/cli/perf_rng.cpp:88,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/perf_rng.cpp:88,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_rng.cpp:88,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_rng.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' config'
    - ' rng'
    - ' rng_name'
    argTypes:
    - PerfConfig
    - Botan::RandomNumberGenerator
    - std::string
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: Botan_CLI::PerfTest_Rng::bench_rng
    functionSourceFile: /src/botan/src/cli/perf_rng.cpp
    functionUses: 1
    functionsReached:
    - runtime
    - randomize
    - make_timer
    - Botan::secure_vector::size
    - Botan::secure_vector::data
    - buffer_sizes
    - reseed_from_rng
    - record_result
    - auto::run_until_elapsed
    - Botan::system_rng
    linkageType: ''
    returnType: void
    signature: void bench_rng(const PerfConfig& config, Botan::RandomNumberGenerator&
      rng, const std::string& rng_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Botan_CLI::CLI_Error::CLI_Error
    functionSourceFile: /src/botan/src/cli/cli_exceptions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CLI_Error(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' op'
    - ' who'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::CLI_IO_Error::CLI_IO_Error
    functionSourceFile: /src/botan/src/cli/cli_exceptions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CLI_IO_Error(const std::string& op, const std::string& who)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_CLI::CLI_Usage_Error::CLI_Usage_Error
    functionSourceFile: /src/botan/src/cli/cli_exceptions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CLI_Usage_Error(const std::string& what)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan_CLI::CLI_Error_Unsupported::CLI_Error_Unsupported
    functionSourceFile: /src/botan/src/cli/cli_exceptions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CLI_Error_Unsupported(const std::string& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' what'
    - ' who'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: Botan_CLI::CLI_Error_Unsupported::CLI_Error_Unsupported
    functionSourceFile: /src/botan/src/cli/cli_exceptions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CLI_Error_Unsupported(const std::string& what, const std::string&
      who)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<boost::asio::io_context&>
      Src: /src/botan/src/cli/tls_proxy.cpp:51,1
    - Dst: get_executor
      Src: /src/botan/src/cli/tls_proxy.cpp:51,1
    - Dst: Botan_CLI::get_io_service
      Src: /src/botan/src/cli/tls_proxy.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: Botan_CLI::get_io_service
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 1
    functionsReached:
    - static_cast<boost::asio::io_context&>
    - Botan_CLI::get_io_service
    - get_executor
    linkageType: ''
    returnType: boost::asio::io_context
    signature: boost::asio::io_context & get_io_service(T& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan_CLI::log_info
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void log_info(const std::string& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: what
      Src: /src/botan/src/cli/tls_proxy.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - where
    - ' e'
    argTypes:
    - char*
    - std::exception
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan_CLI::log_exception
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - what
    linkageType: ''
    returnType: void
    signature: void log_exception(const char* where, const std::exception& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: message
      Src: /src/botan/src/cli/tls_proxy.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - where
    - ' error'
    argTypes:
    - char*
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan_CLI::log_error
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - message
    linkageType: ''
    returnType: void
    signature: void log_error(const char* where, const boost::system::error_code&
      error)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan_CLI::log_error
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void log_error(const char* msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/tls_proxy.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - where
    - buf
    - buf_len
    argTypes:
    - char*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: Botan_CLI::log_binary_message
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void log_binary_message(const char* where, const uint8_t buf[], size_t
      buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/tls_proxy.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - where
    - buf
    - buf_len
    argTypes:
    - char*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: Botan_CLI::log_text_message
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void log_text_message(const char* where, const uint8_t buf[], size_t
      buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_clients
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan_CLI::ServerStatus::ServerStatus
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServerStatus(size_t max_clients)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::ServerStatus::clients_serviced
      Src: /src/botan/src/cli/tls_proxy.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: Botan_CLI::ServerStatus::should_exit
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::ServerStatus::clients_serviced
    linkageType: ''
    returnType: bool
    signature: bool should_exit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan_CLI::ServerStatus::client_serviced
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void client_serviced()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/botan/src/cli/tls_proxy.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan_CLI::ServerStatus::clients_serviced
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t clients_serviced() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<tls_proxy_session>
      Src: /src/botan/src/cli/tls_proxy.cpp:117,1
    - Dst: auto::setup
      Src: /src/botan/src/cli/tls_proxy.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' io'
    - ' session_manager'
    - ' credentials'
    - ' policy'
    - ' endpoints'
    argTypes:
    - boost::asio::io_context
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::Credentials_Manager>
    - std::shared_ptr<Botan::TLS::Policy>
    - tcp::resolver::results_type
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: Botan_CLI::tls_proxy_session::create
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - auto::setup
    - std::make_shared<tls_proxy_session>
    linkageType: ''
    returnType: pointer
    signature: "pointer create(boost::asio::io_context& io,\n                            const
      std::shared_ptr<Botan::TLS::Session_Manager>& session_manager,\n                            const
      std::shared_ptr<Botan::Credentials_Manager>& credentials,\n                            const
      std::shared_ptr<Botan::TLS::Policy>& policy,\n                            const
      tcp::resolver::results_type& endpoints)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& client_socket()'
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tcp::socket
    signature: tcp::socket & client_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/cli/tls_proxy.cpp:129,1
    - Dst: Botan_CLI::tls_proxy_session::client_read
      Src: /src/botan/src/cli/tls_proxy.cpp:130,1
    - Dst: Botan::TLS::error_code
      Src: /src/botan/src/cli/tls_proxy.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: Botan_CLI::tls_proxy_session::start
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::error_code
    - Botan_CLI::tls_proxy_session::client_read
    - resize
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/botan/src/cli/tls_proxy.cpp:139,1
    - Dst: close
      Src: /src/botan/src/cli/tls_proxy.cpp:140,1
    - Dst: reset
      Src: /src/botan/src/cli/tls_proxy.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: Botan_CLI::tls_proxy_session::stop
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - reset
    - close
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/cli/tls_proxy.cpp:152,1
    - Dst: cli_make_rng
      Src: /src/botan/src/cli/tls_proxy.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' io'
    - endpoints
    argTypes:
    - boost::asio::io_context
    - tcp::resolver::results_type
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: Botan_CLI::tls_proxy_session::tls_proxy_session
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - cli_make_rng
    linkageType: ''
    returnType: void
    signature: void tls_proxy_session(boost::asio::io_context& io, tcp::resolver::results_type
      endpoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::TLS::Server>
      Src: /src/botan/src/cli/tls_proxy.cpp:161,1
    - Dst: shared_from_this
      Src: /src/botan/src/cli/tls_proxy.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' session_manager'
    - ' credentials'
    - ' policy'
    argTypes:
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::Credentials_Manager>
    - std::shared_ptr<Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: Botan_CLI::tls_proxy_session::setup
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::TLS::Server>
    - shared_from_this
    linkageType: ''
    returnType: void
    signature: "void setup(const std::shared_ptr<Botan::TLS::Session_Manager>& session_manager,\n
      \                const std::shared_ptr<Botan::Credentials_Manager>& credentials,\n
      \                const std::shared_ptr<Botan::TLS::Policy>& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:166,1
    - Dst: Botan_CLI::tls_proxy_session::stop
      Src: /src/botan/src/cli/tls_proxy.cpp:167,1
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:172,1
    - Dst: is_active
      Src: /src/botan/src/cli/tls_proxy.cpp:177,1
    - Dst: log_binary_message
      Src: /src/botan/src/cli/tls_proxy.cpp:178,1
    - Dst: received_data
      Src: /src/botan/src/cli/tls_proxy.cpp:180,1
    - Dst: log_exception
      Src: /src/botan/src/cli/tls_proxy.cpp:182,1
    - Dst: Botan_CLI::tls_proxy_session::stop
      Src: /src/botan/src/cli/tls_proxy.cpp:183,1
    - Dst: async_read_some
      Src: /src/botan/src/cli/tls_proxy.cpp:187,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/cli/tls_proxy.cpp:187,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:187,1
    - Dst: wrap
      Src: /src/botan/src/cli/tls_proxy.cpp:188,1
    - Dst: boost::bind
      Src: /src/botan/src/cli/tls_proxy.cpp:188,1
    - Dst: shared_from_this
      Src: /src/botan/src/cli/tls_proxy.cpp:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ' error'
    - bytes_transferred
    argTypes:
    - boost::system::error_code
    - size_t
    constantsTouched: []
    func_position:
      end: 192
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 192
    functionName: Botan_CLI::tls_proxy_session::client_read
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::fill_buffer
    - Botan_CLI::tls_proxy_session::stop
    - log_exception
    - shared_from_this
    - async_read_some
    - log_binary_message
    - is_active
    - boost::bind
    - size
    - wrap
    - received_data
    - log_error
    linkageType: ''
    returnType: void
    signature: void client_read(const boost::system::error_code& error, size_t bytes_transferred)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:196,1
    - Dst: Botan_CLI::tls_proxy_session::stop
      Src: /src/botan/src/cli/tls_proxy.cpp:197,1
    - Dst: clear
      Src: /src/botan/src/cli/tls_proxy.cpp:201,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_proxy.cpp:203,1
    - Dst: is_closed
      Src: /src/botan/src/cli/tls_proxy.cpp:203,1
    - Dst: close
      Src: /src/botan/src/cli/tls_proxy.cpp:204,1
    - Dst: Botan_CLI::tls_proxy_session::tls_emit_data
      Src: /src/botan/src/cli/tls_proxy.cpp:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: Botan_CLI::tls_proxy_session::handle_client_write_completion
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::tls_proxy_session::stop
    - clear
    - close
    - Botan_CLI::tls_proxy_session::tls_emit_data
    - is_closed
    - empty
    - log_error
    linkageType: ''
    returnType: void
    signature: void handle_client_write_completion(const boost::system::error_code&
      error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:211,1
    - Dst: Botan_CLI::tls_proxy_session::stop
      Src: /src/botan/src/cli/tls_proxy.cpp:212,1
    - Dst: clear
      Src: /src/botan/src/cli/tls_proxy.cpp:216,1
    - Dst: Botan_CLI::tls_proxy_session::proxy_write_to_server
      Src: /src/botan/src/cli/tls_proxy.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: Botan_CLI::tls_proxy_session::handle_server_write_completion
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::tls_proxy_session::proxy_write_to_server
    - Botan_CLI::tls_proxy_session::stop
    - clear
    - log_error
    linkageType: ''
    returnType: void
    signature: void handle_server_write_completion(const boost::system::error_code&
      error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::tls_proxy_session::proxy_write_to_server
      Src: /src/botan/src/cli/tls_proxy.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: Botan_CLI::tls_proxy_session::tls_record_received
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::tls_proxy_session::proxy_write_to_server
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t /*rec_no*/, std::span<const uint8_t>
      buf) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/cli/tls_proxy.cpp:226,1
    - Dst: insert
      Src: /src/botan/src/cli/tls_proxy.cpp:227,1
    - Dst: end
      Src: /src/botan/src/cli/tls_proxy.cpp:227,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/cli/tls_proxy.cpp:227,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/cli/tls_proxy.cpp:227,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_proxy.cpp:231,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_proxy.cpp:231,1
    - Dst: std::swap
      Src: /src/botan/src/cli/tls_proxy.cpp:232,1
    - Dst: log_binary_message
      Src: /src/botan/src/cli/tls_proxy.cpp:234,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:234,1
    - Dst: boost::asio::async_write
      Src: /src/botan/src/cli/tls_proxy.cpp:236,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/cli/tls_proxy.cpp:237,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:237,1
    - Dst: wrap
      Src: /src/botan/src/cli/tls_proxy.cpp:238,1
    - Dst: boost::bind
      Src: /src/botan/src/cli/tls_proxy.cpp:238,1
    - Dst: shared_from_this
      Src: /src/botan/src/cli/tls_proxy.cpp:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: Botan_CLI::tls_proxy_session::tls_emit_data
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 1
    functionsReached:
    - nlohmann::detail::fill_buffer
    - std::span<const uint8_t>::begin
    - shared_from_this
    - end
    - std::swap
    - std::span<const uint8_t>::end
    - empty
    - log_binary_message
    - insert
    - boost::bind
    - size
    - wrap
    - boost::asio::async_write
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> buf) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/cli/tls_proxy.cpp:245,1
    - Dst: insert
      Src: /src/botan/src/cli/tls_proxy.cpp:246,1
    - Dst: end
      Src: /src/botan/src/cli/tls_proxy.cpp:246,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/cli/tls_proxy.cpp:246,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/cli/tls_proxy.cpp:246,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_proxy.cpp:250,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_proxy.cpp:250,1
    - Dst: std::swap
      Src: /src/botan/src/cli/tls_proxy.cpp:251,1
    - Dst: log_text_message
      Src: /src/botan/src/cli/tls_proxy.cpp:253,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:253,1
    - Dst: boost::asio::async_write
      Src: /src/botan/src/cli/tls_proxy.cpp:255,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/cli/tls_proxy.cpp:256,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:256,1
    - Dst: wrap
      Src: /src/botan/src/cli/tls_proxy.cpp:257,1
    - Dst: boost::bind
      Src: /src/botan/src/cli/tls_proxy.cpp:257,1
    - Dst: shared_from_this
      Src: /src/botan/src/cli/tls_proxy.cpp:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: Botan_CLI::tls_proxy_session::proxy_write_to_server
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 2
    functionsReached:
    - nlohmann::detail::fill_buffer
    - std::span<const uint8_t>::begin
    - shared_from_this
    - log_text_message
    - end
    - std::swap
    - std::span<const uint8_t>::end
    - empty
    - insert
    - boost::bind
    - size
    - wrap
    - boost::asio::async_write
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void proxy_write_to_server(std::span<const uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:265,1
    - Dst: Botan_CLI::tls_proxy_session::stop
      Src: /src/botan/src/cli/tls_proxy.cpp:266,1
    - Dst: log_text_message
      Src: /src/botan/src/cli/tls_proxy.cpp:272,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:272,1
    - Dst: log_binary_message
      Src: /src/botan/src/cli/tls_proxy.cpp:273,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:273,1
    - Dst: send
      Src: /src/botan/src/cli/tls_proxy.cpp:274,1
    - Dst: log_exception
      Src: /src/botan/src/cli/tls_proxy.cpp:277,1
    - Dst: Botan_CLI::tls_proxy_session::stop
      Src: /src/botan/src/cli/tls_proxy.cpp:278,1
    - Dst: resize
      Src: /src/botan/src/cli/tls_proxy.cpp:282,1
    - Dst: async_read_some
      Src: /src/botan/src/cli/tls_proxy.cpp:284,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/cli/tls_proxy.cpp:284,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:284,1
    - Dst: wrap
      Src: /src/botan/src/cli/tls_proxy.cpp:285,1
    - Dst: boost::bind
      Src: /src/botan/src/cli/tls_proxy.cpp:285,1
    - Dst: shared_from_this
      Src: /src/botan/src/cli/tls_proxy.cpp:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ' error'
    - bytes_transferred
    argTypes:
    - boost::system::error_code
    - size_t
    constantsTouched: []
    func_position:
      end: 289
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 289
    functionName: Botan_CLI::tls_proxy_session::server_read
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    - Botan_CLI::tls_proxy_session::stop
    - log_exception
    - shared_from_this
    - log_text_message
    - async_read_some
    - wrap
    - log_binary_message
    - boost::bind
    - size
    - send
    - resize
    - log_error
    linkageType: ''
    returnType: void
    signature: void server_read(const boost::system::error_code& error, size_t bytes_transferred)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: weak_from_this
      Src: /src/botan/src/cli/tls_proxy.cpp:292,1
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:295,1
    - Dst: lock
      Src: /src/botan/src/cli/tls_proxy.cpp:299,1
    - Dst: auto::server_read
      Src: /src/botan/src/cli/tls_proxy.cpp:300,1
    - Dst: Botan::TLS::error_code
      Src: /src/botan/src/cli/tls_proxy.cpp:300,1
    - Dst: auto::proxy_write_to_server
      Src: /src/botan/src/cli/tls_proxy.cpp:301,1
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:303,1
    - Dst: async_connect
      Src: /src/botan/src/cli/tls_proxy.cpp:307,1
    - Dst: begin
      Src: /src/botan/src/cli/tls_proxy.cpp:307,1
    - Dst: end
      Src: /src/botan/src/cli/tls_proxy.cpp:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 308
    functionName: Botan_CLI::tls_proxy_session::tls_session_activated
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - lock
    - async_connect
    - auto::server_read
    - begin
    - end
    - auto::proxy_write_to_server
    - Botan::TLS::error_code
    - weak_from_this
    - log_error
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_info
      Src: /src/botan/src/cli/tls_proxy.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: Botan_CLI::tls_proxy_session::tls_session_established
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - server_info
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& session)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Alert::type
      Src: /src/botan/src/cli/tls_proxy.cpp:315,1
    - Dst: close
      Src: /src/botan/src/cli/tls_proxy.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: Botan_CLI::tls_proxy_session::tls_alert
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type
    - close
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tcp::endpoint
      Src: /src/botan/src/cli/tls_proxy.cpp:354,1
    - Dst: Botan::GeneralName::matches_ipv4
      Src: /src/botan/src/cli/tls_proxy.cpp:354,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_proxy.cpp:355,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_proxy.cpp:356,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_proxy.cpp:357,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_proxy.cpp:358,1
    - Dst: log_info
      Src: /src/botan/src/cli/tls_proxy.cpp:360,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/tls_proxy.cpp:360,1
    - Dst: Botan_CLI::tls_proxy_server::serve_one_session
      Src: /src/botan/src/cli/tls_proxy.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ' io'
    - port
    - endpoints
    - creds
    - policy
    - session_mgr
    - max_clients
    argTypes:
    - boost::asio::io_context
    - unsigned short
    - tcp::resolver::results_type
    - std::shared_ptr<Botan::Credentials_Manager>
    - std::shared_ptr<Botan::TLS::Policy>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - size_t
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: Botan_CLI::tls_proxy_server::tls_proxy_server
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::GeneralName::matches_ipv4
    - std::to_string
    - Botan_CLI::tls_proxy_server::serve_one_session
    - log_info
    - tcp::endpoint
    linkageType: ''
    returnType: void
    signature: "void tls_proxy_server(boost::asio::io_context& io,\n                       unsigned
      short port,\n                       tcp::resolver::results_type endpoints,\n
      \                      std::shared_ptr<Botan::Credentials_Manager> creds,\n
      \                      std::shared_ptr<Botan::TLS::Policy> policy,\n                       std::shared_ptr<Botan::TLS::Session_Manager>
      session_mgr,\n                       size_t max_clients)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::tls_proxy_session::create
      Src: /src/botan/src/cli/tls_proxy.cpp:366,1
    - Dst: get_io_service
      Src: /src/botan/src/cli/tls_proxy.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Botan_CLI::tls_proxy_server::make_session
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - get_io_service
    - Botan_CLI::tls_proxy_session::create
    linkageType: ''
    returnType: session::pointer
    signature: session::pointer make_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::tls_proxy_server::make_session
      Src: /src/botan/src/cli/tls_proxy.cpp:370,1
    - Dst: async_accept
      Src: /src/botan/src/cli/tls_proxy.cpp:372,1
    - Dst: session::pointer::client_socket
      Src: /src/botan/src/cli/tls_proxy.cpp:373,1
    - Dst: boost::bind
      Src: /src/botan/src/cli/tls_proxy.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: Botan_CLI::tls_proxy_server::serve_one_session
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 1
    functionsReached:
    - session::pointer::client_socket
    - async_accept
    - boost::bind
    - Botan_CLI::tls_proxy_server::make_session
    linkageType: ''
    returnType: void
    signature: void serve_one_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/botan/src/cli/tls_proxy.cpp:379,1
    - Dst: client_serviced
      Src: /src/botan/src/cli/tls_proxy.cpp:380,1
    - Dst: should_exit
      Src: /src/botan/src/cli/tls_proxy.cpp:382,1
    - Dst: Botan_CLI::tls_proxy_server::serve_one_session
      Src: /src/botan/src/cli/tls_proxy.cpp:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' new_session'
    - ' error'
    argTypes:
    - session::pointer
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: Botan_CLI::tls_proxy_server::handle_accept
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::tls_proxy_server::serve_one_session
    - start
    - client_serviced
    - should_exit
    linkageType: ''
    returnType: void
    signature: void handle_accept(const session::pointer& new_session, const boost::system::error_code&
      error)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: Botan_CLI::TLS_Proxy::TLS_Proxy
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Proxy()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: Botan_CLI::TLS_Proxy::group
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: Botan_CLI::TLS_Proxy::description
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 420
    functionName: Botan_CLI::TLS_Proxy::thread_count
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t thread_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:424,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:425,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:427,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:428,1
    - Dst: std::make_shared<Basic_Credentials_Manager>
      Src: /src/botan/src/cli/tls_proxy.cpp:433,1
    - Dst: load_tls_policy
      Src: /src/botan/src/cli/tls_proxy.cpp:435,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:435,1
    - Dst: tcp::resolver::resolve
      Src: /src/botan/src/cli/tls_proxy.cpp:440,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:445,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:446,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/tls_proxy.cpp:448,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/cli/tls_proxy.cpp:450,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_proxy.cpp:450,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/cli/tls_proxy.cpp:454,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_proxy.cpp:454,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/tls_proxy.cpp:463,1
    - Dst: std::make_shared<std::thread>
      Src: /src/botan/src/cli/tls_proxy.cpp:463,1
    - Dst: boost::asio::io_context::run
      Src: /src/botan/src/cli/tls_proxy.cpp:463,1
    - Dst: boost::asio::io_context::run
      Src: /src/botan/src/cli/tls_proxy.cpp:466,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tls_proxy.cpp:468,1
    - Dst: join
      Src: /src/botan/src/cli/tls_proxy.cpp:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 471
    functionName: Botan_CLI::TLS_Proxy::go
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - tcp::resolver::resolve
    - get_arg
    - get_passphrase_arg
    - std::make_shared<std::thread>
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - load_tls_policy
    - std::make_shared<Basic_Credentials_Manager>
    - std::make_shared<Botan::TLS::Session_Manager_SQLite>
    - join
    - rng_as_shared
    - std::string::empty
    - boost::asio::io_context::run
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::format_time
      Src: /src/botan/src/cli/tls_http_server.cpp:71,1
    - Dst: std::time
      Src: /src/botan/src/cli/tls_http_server.cpp:71,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/tls_http_server.cpp:73,1
    - Dst: std::time
      Src: /src/botan/src/cli/tls_http_server.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: Botan_CLI::Logger::timestamp
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - std::time
    - Botan_Tests::Test::format_time
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string timestamp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' out'
    - ' err'
    argTypes:
    - std::ostream
    - std::ostream
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan_CLI::Logger::Logger
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger(std::ostream& out, std::ostream& err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_http_server.cpp:82,1
    - Dst: Botan_CLI::Logger::timestamp
      Src: /src/botan/src/cli/tls_http_server.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Botan_CLI::Logger::log
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Logger::timestamp
    - Botan::fmt
    linkageType: ''
    returnType: void
    signature: void log(std::string_view out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_http_server.cpp:87,1
    - Dst: Botan_CLI::Logger::timestamp
      Src: /src/botan/src/cli/tls_http_server.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: Botan_CLI::Logger::error
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Logger::timestamp
    - Botan::fmt
    linkageType: ''
    returnType: void
    signature: void error(std::string_view err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Logger::flush
      Src: /src/botan/src/cli/tls_http_server.cpp:92,1
    - Dst: Botan_CLI::Logger::flush
      Src: /src/botan/src/cli/tls_http_server.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: Botan_CLI::Logger::flush
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 1
    functionsReached:
    - Botan_CLI::Logger::flush
    linkageType: ''
    returnType: void
    signature: void flush()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_string
      Src: /src/botan/src/cli/tls_http_server.cpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/tls_http_server.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: Botan_CLI::TlsHttpCallbacks::tls_session_activated
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - Botan::version_string
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: version
      Src: /src/botan/src/cli/tls_http_server.cpp:115,1
    - Dst: ciphersuite
      Src: /src/botan/src/cli/tls_http_server.cpp:116,1
    - Dst: session_id
      Src: /src/botan/src/cli/tls_http_server.cpp:117,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_http_server.cpp:117,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_http_server.cpp:118,1
    - Dst: get
      Src: /src/botan/src/cli/tls_http_server.cpp:118,1
    - Dst: server_info
      Src: /src/botan/src/cli/tls_http_server.cpp:120,1
    - Dst: server_info
      Src: /src/botan/src/cli/tls_http_server.cpp:121,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/tls_http_server.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: Botan_CLI::TlsHttpCallbacks::tls_session_established
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - server_info
    - session_id
    - std::ostringstream::str
    - version
    - ciphersuite
    - empty
    - get
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& session)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/botan/src/cli/tls_http_server.cpp:128,1
    - Dst: dynamic_cast<const Botan::TLS::Client_Hello&>
      Src: /src/botan/src/cli/tls_http_server.cpp:129,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_http_server.cpp:133,1
    - Dst: random
      Src: /src/botan/src/cli/tls_http_server.cpp:133,1
    - Dst: ciphersuites
      Src: /src/botan/src/cli/tls_http_server.cpp:136,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/cli/tls_http_server.cpp:137,1
    - Dst: std::setfill
      Src: /src/botan/src/cli/tls_http_server.cpp:139,1
    - Dst: std::setw
      Src: /src/botan/src/cli/tls_http_server.cpp:139,1
    - Dst: std::setfill
      Src: /src/botan/src/cli/tls_http_server.cpp:140,1
    - Dst: std::setw
      Src: /src/botan/src/cli/tls_http_server.cpp:140,1
    - Dst: auto::valid
      Src: /src/botan/src/cli/tls_http_server.cpp:142,1
    - Dst: auto::to_string
      Src: /src/botan/src/cli/tls_http_server.cpp:143,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/tls_http_server.cpp:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - Botan::TLS::Handshake_Message
    constantsTouched: []
    func_position:
      end: 153
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 153
    functionName: Botan_CLI::TlsHttpCallbacks::tls_inspect_handshake_msg
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - auto::valid
    - Botan::TLS::Ciphersuite::by_id
    - std::ostringstream::str
    - std::setw
    - type
    - dynamic_cast<const Botan::TLS::Client_Hello&>
    - ciphersuites
    - std::setfill
    - auto::to_string
    - Botan::hex_encode
    - random
    linkageType: ''
    returnType: void
    signature: void tls_inspect_handshake_msg(const Botan::TLS::Handshake_Message&
      message) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/cli/tls_http_server.cpp:156,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_http_server.cpp:156,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_http_server.cpp:156,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_http_server.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: Botan_CLI::TlsHttpCallbacks::summary
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: std::string
    signature: std::string summary() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_layer
      Src: /src/botan/src/cli/tls_http_server.cpp:170,1
    - Dst: address
      Src: /src/botan/src/cli/tls_http_server.cpp:172,1
    - Dst: method_string
      Src: /src/botan/src/cli/tls_http_server.cpp:172,1
    - Dst: target
      Src: /src/botan/src/cli/tls_http_server.cpp:172,1
    - Dst: std::distance
      Src: /src/botan/src/cli/tls_http_server.cpp:175,1
    - Dst: begin
      Src: /src/botan/src/cli/tls_http_server.cpp:175,1
    - Dst: end
      Src: /src/botan/src/cli/tls_http_server.cpp:175,1
    - Dst: name_string
      Src: /src/botan/src/cli/tls_http_server.cpp:178,1
    - Dst: value
      Src: /src/botan/src/cli/tls_http_server.cpp:178,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/tls_http_server.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' tls_stream'
    - ' req'
    argTypes:
    - Botan::TLS::Stream<tcp_stream>
    - http::request<http::string_body>
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: Botan_CLI::summarize_request
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - name_string
    - target
    - std::ostringstream::str
    - end
    - method_string
    - address
    - value
    - next_layer
    - begin
    - std::distance
    linkageType: ''
    returnType: std::string
    signature: "std::string summarize_request(const Botan::TLS::Stream<tcp_stream>&
      tls_stream,\n                              const http::request<http::string_body>&
      req)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::rethrow_exception
      Src: /src/botan/src/cli/tls_http_server.cpp:189,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_http_server.cpp:189,1
    - Dst: error
      Src: /src/botan/src/cli/tls_http_server.cpp:191,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_http_server.cpp:191,1
    - Dst: what
      Src: /src/botan/src/cli/tls_http_server.cpp:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' logger'
    - ' context'
    argTypes:
    - std::shared_ptr<Logger>
    - std::string
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: Botan_CLI::make_final_completion_handler
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - error
    - Botan::fmt
    - what
    - std::rethrow_exception
    linkageType: ''
    returnType: auto
    signature: auto make_final_completion_handler(const std::shared_ptr<Logger>& logger,
      const std::string& context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/botan/src/cli/tls_http_server.cpp:201,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_http_server.cpp:201,1
    - Dst: method_string
      Src: /src/botan/src/cli/tls_http_server.cpp:201,1
    - Dst: target
      Src: /src/botan/src/cli/tls_http_server.cpp:201,1
    - Dst: std::make_shared<http::response<http::string_body>>
      Src: /src/botan/src/cli/tls_http_server.cpp:213,1
    - Dst: version
      Src: /src/botan/src/cli/tls_http_server.cpp:213,1
    - Dst: auto::body
      Src: /src/botan/src/cli/tls_http_server.cpp:214,1
    - Dst: auto::set
      Src: /src/botan/src/cli/tls_http_server.cpp:215,1
    - Dst: auto::keep_alive
      Src: /src/botan/src/cli/tls_http_server.cpp:216,1
    - Dst: keep_alive
      Src: /src/botan/src/cli/tls_http_server.cpp:216,1
    - Dst: auto::prepare_payload
      Src: /src/botan/src/cli/tls_http_server.cpp:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ' req'
    - ' callbacks'
    - ' tls_stream'
    - ' logger'
    argTypes:
    - http::request<http::string_body>
    - std::shared_ptr<TlsHttpCallbacks>
    - Botan::TLS::Stream<tcp_stream>
    - std::shared_ptr<Logger>
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: Botan_CLI::handle_response
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - auto::set
    - target
    - Botan::fmt
    - auto::body
    - version
    - std::make_shared<http::response<http::string_body>>
    - log
    - method_string
    - auto::keep_alive
    - keep_alive
    - auto::prepare_payload
    linkageType: ''
    returnType: std::shared_ptr<http::response<http::string_body>>
    signature: "std::shared_ptr<http::response<http::string_body>> handle_response(const
      http::request<http::string_body>& req,\n                                                                   const
      std::shared_ptr<TlsHttpCallbacks>& callbacks,\n                                                                   const
      Botan::TLS::Stream<tcp_stream>& tls_stream,\n                                                                   const
      std::shared_ptr<Logger>& logger)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<TlsHttpCallbacks>
      Src: /src/botan/src/cli/tls_http_server.cpp:229,1
    - Dst: Botan::TLS::Stream<tcp_stream>::async_handshake
      Src: /src/botan/src/cli/tls_http_server.cpp:236,1
    - Dst: Botan::TLS::Stream<tcp_stream>::next_layer
      Src: /src/botan/src/cli/tls_http_server.cpp:240,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/tls_http_server.cpp:240,1
    - Dst: http::async_read
      Src: /src/botan/src/cli/tls_http_server.cpp:244,1
    - Dst: Botan_CLI::handle_response
      Src: /src/botan/src/cli/tls_http_server.cpp:247,1
    - Dst: http::async_write
      Src: /src/botan/src/cli/tls_http_server.cpp:250,1
    - Dst: auto::keep_alive
      Src: /src/botan/src/cli/tls_http_server.cpp:253,1
    - Dst: code
      Src: /src/botan/src/cli/tls_http_server.cpp:260,1
    - Dst: std::current_exception
      Src: /src/botan/src/cli/tls_http_server.cpp:264,1
    - Dst: Botan::TLS::Stream<tcp_stream>::async_shutdown
      Src: /src/botan/src/cli/tls_http_server.cpp:272,1
    - Dst: Botan::TLS::Stream<tcp_stream>::next_layer
      Src: /src/botan/src/cli/tls_http_server.cpp:273,1
    - Dst: std::rethrow_exception
      Src: /src/botan/src/cli/tls_http_server.cpp:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - stream
    - tls_ctx
    - logger
    argTypes:
    - tcp_stream
    - std::shared_ptr<Botan::TLS::Context>
    - std::shared_ptr<Logger>
    constantsTouched: []
    func_position:
      end: 290
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 290
    functionName: Botan_CLI::do_session
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Stream<tcp_stream>::next_layer
    - Botan::TLS::Stream<tcp_stream>::async_shutdown
    - http::async_read
    - Botan_CLI::Timer::seconds
    - std::rethrow_exception
    - std::current_exception
    - auto::keep_alive
    - http::async_write
    - code
    - std::make_shared<TlsHttpCallbacks>
    - Botan::TLS::Stream<tcp_stream>::async_handshake
    - Botan_CLI::handle_response
    linkageType: ''
    returnType: net::awaitable<void>
    signature: "net::awaitable<void> do_session(tcp_stream stream,\n                                std::shared_ptr<Botan::TLS::Context>
      tls_ctx,\n                                std::shared_ptr<Logger> logger)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_default_on
      Src: /src/botan/src/cli/tls_http_server.cpp:296,1
    - Dst: tcp::acceptor
      Src: /src/botan/src/cli/tls_http_server.cpp:296,1
    - Dst: auto::open
      Src: /src/botan/src/cli/tls_http_server.cpp:297,1
    - Dst: tcp::endpoint::protocol
      Src: /src/botan/src/cli/tls_http_server.cpp:297,1
    - Dst: auto::set_option
      Src: /src/botan/src/cli/tls_http_server.cpp:298,1
    - Dst: net::socket_base::reuse_address
      Src: /src/botan/src/cli/tls_http_server.cpp:298,1
    - Dst: auto::bind
      Src: /src/botan/src/cli/tls_http_server.cpp:299,1
    - Dst: auto::listen
      Src: /src/botan/src/cli/tls_http_server.cpp:300,1
    - Dst: std::shared_ptr<Logger>::log
      Src: /src/botan/src/cli/tls_http_server.cpp:307,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_http_server.cpp:307,1
    - Dst: tcp::endpoint::address
      Src: /src/botan/src/cli/tls_http_server.cpp:307,1
    - Dst: tcp::endpoint::port
      Src: /src/botan/src/cli/tls_http_server.cpp:307,1
    - Dst: std::shared_ptr<Logger>::flush
      Src: /src/botan/src/cli/tls_http_server.cpp:308,1
    - Dst: done
      Src: /src/botan/src/cli/tls_http_server.cpp:318,1
    - Dst: boost::asio::co_spawn
      Src: /src/botan/src/cli/tls_http_server.cpp:319,1
    - Dst: auto::get_executor
      Src: /src/botan/src/cli/tls_http_server.cpp:319,1
    - Dst: Botan_CLI::do_session
      Src: /src/botan/src/cli/tls_http_server.cpp:320,1
    - Dst: tcp_stream
      Src: /src/botan/src/cli/tls_http_server.cpp:320,1
    - Dst: auto::async_accept
      Src: /src/botan/src/cli/tls_http_server.cpp:320,1
    - Dst: Botan_CLI::make_final_completion_handler
      Src: /src/botan/src/cli/tls_http_server.cpp:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - endpoint
    - tls_ctx
    - max_clients
    - logger
    argTypes:
    - tcp::endpoint
    - std::shared_ptr<Botan::TLS::Context>
    - size_t
    - std::shared_ptr<Logger>
    constantsTouched: []
    func_position:
      end: 323
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 323
    functionName: Botan_CLI::do_listen
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - net::socket_base::reuse_address
    - auto::set_option
    - Botan::fmt
    - Botan_CLI::do_session
    - tcp_stream
    - as_default_on
    - auto::get_executor
    - tcp::endpoint::protocol
    - done
    - tcp::acceptor
    - auto::listen
    - tcp::endpoint::address
    - std::shared_ptr<Logger>::flush
    - auto::async_accept
    - auto::open
    - boost::asio::co_spawn
    - Botan_CLI::make_final_completion_handler
    - tcp::endpoint::port
    - std::shared_ptr<Logger>::log
    - auto::bind
    linkageType: ''
    returnType: net::awaitable<void>
    signature: "net::awaitable<void> do_listen(tcp::endpoint endpoint,\n                               std::shared_ptr<Botan::TLS::Context>
      tls_ctx,\n                               size_t max_clients,\n                               std::shared_ptr<Logger>
      logger)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: Botan_CLI::TLS_HTTP_Server::TLS_HTTP_Server
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_HTTP_Server()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: Botan_CLI::TLS_HTTP_Server::group
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: Botan_CLI::TLS_HTTP_Server::description
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: Botan_CLI::TLS_HTTP_Server::thread_count
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t thread_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_http_server.cpp:354,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_http_server.cpp:355,1
    - Dst: std::make_shared<Basic_Credentials_Manager>
      Src: /src/botan/src/cli/tls_http_server.cpp:360,1
    - Dst: load_tls_policy
      Src: /src/botan/src/cli/tls_http_server.cpp:362,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_http_server.cpp:362,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_http_server.cpp:366,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/tls_http_server.cpp:368,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/tls_http_server.cpp:370,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/cli/tls_http_server.cpp:372,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_http_server.cpp:372,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/tls_http_server.cpp:374,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/cli/tls_http_server.cpp:379,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_http_server.cpp:379,1
    - Dst: std::make_shared<Logger>
      Src: /src/botan/src/cli/tls_http_server.cpp:382,1
    - Dst: output
      Src: /src/botan/src/cli/tls_http_server.cpp:382,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_http_server.cpp:382,1
    - Dst: static_cast<int>
      Src: /src/botan/src/cli/tls_http_server.cpp:384,1
    - Dst: net::ip::make_address
      Src: /src/botan/src/cli/tls_http_server.cpp:385,1
    - Dst: boost::asio::co_spawn
      Src: /src/botan/src/cli/tls_http_server.cpp:386,1
    - Dst: do_listen
      Src: /src/botan/src/cli/tls_http_server.cpp:388,1
    - Dst: std::enable_shared_from_this<Context>
      Src: /src/botan/src/cli/tls_http_server.cpp:389,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_http_server.cpp:389,1
    - Dst: make_final_completion_handler
      Src: /src/botan/src/cli/tls_http_server.cpp:392,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/tls_http_server.cpp:398,1
    - Dst: std::make_shared<std::thread>
      Src: /src/botan/src/cli/tls_http_server.cpp:398,1
    - Dst: net::io_context::run
      Src: /src/botan/src/cli/tls_http_server.cpp:398,1
    - Dst: net::io_context::run
      Src: /src/botan/src/cli/tls_http_server.cpp:401,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tls_http_server.cpp:403,1
    - Dst: join
      Src: /src/botan/src/cli/tls_http_server.cpp:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 406
    functionName: Botan_CLI::TLS_HTTP_Server::go
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - CLI_Error_Unsupported
    - std::enable_shared_from_this<Context>
    - load_tls_policy
    - std::make_shared<Basic_Credentials_Manager>
    - std::make_shared<Botan::TLS::Session_Manager_SQLite>
    - output
    - error_output
    - get_passphrase_arg
    - std::make_shared<Logger>
    - static_cast<int>
    - std::string::empty
    - std::vector::size
    - net::ip::make_address
    - get_arg
    - std::make_shared<std::thread>
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - net::io_context::run
    - make_final_completion_handler
    - std::vector::push_back
    - join
    - boost::asio::co_spawn
    - do_listen
    - rng_as_shared
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_CLI::Generate_Bcrypt::Generate_Bcrypt
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Generate_Bcrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan_CLI::Generate_Bcrypt::group
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_CLI::Generate_Bcrypt::description
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/bcrypt.cpp:26,1
    - Dst: error_output
      Src: /src/botan/src/cli/bcrypt.cpp:30,1
    - Dst: output
      Src: /src/botan/src/cli/bcrypt.cpp:33,1
    - Dst: Botan::generate_bcrypt
      Src: /src/botan/src/cli/bcrypt.cpp:33,1
    - Dst: rng
      Src: /src/botan/src/cli/bcrypt.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: Botan_CLI::Generate_Bcrypt::go
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::generate_bcrypt
    - get_passphrase_arg
    - output
    - rng
    - error_output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_CLI::Check_Bcrypt::Check_Bcrypt
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Check_Bcrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan_CLI::Check_Bcrypt::group
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan_CLI::Check_Bcrypt::description
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/bcrypt.cpp:49,1
    - Dst: get_arg
      Src: /src/botan/src/cli/bcrypt.cpp:50,1
    - Dst: std::string::length
      Src: /src/botan/src/cli/bcrypt.cpp:52,1
    - Dst: error_output
      Src: /src/botan/src/cli/bcrypt.cpp:53,1
    - Dst: output
      Src: /src/botan/src/cli/bcrypt.cpp:58,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/bcrypt.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: Botan_CLI::Check_Bcrypt::go
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - get_passphrase_arg
    - set_return_code
    - output
    - error_output
    - std::string::length
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pwdhash.cpp:31,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pwdhash.cpp:31,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pwdhash.cpp:33,1
    - Dst: Botan::generate_bcrypt
      Src: /src/botan/src/cli/perf_pwdhash.cpp:33,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pwdhash.cpp:33,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/cli/perf_pwdhash.cpp:33,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pwdhash.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: Botan_CLI::PerfTest_Bcrypt::go
    functionSourceFile: /src/botan/src/cli/perf_pwdhash.cpp
    functionUses: 0
    functionsReached:
    - auto::run
    - Botan::generate_bcrypt
    - Botan::fmt
    - make_timer
    - rng
    - static_cast<uint16_t>
    - record_result
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_passhash9_alg_supported
      Src: /src/botan/src/cli/perf_pwdhash.cpp:52,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pwdhash.cpp:57,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pwdhash.cpp:57,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pwdhash.cpp:59,1
    - Dst: Botan::generate_passhash9
      Src: /src/botan/src/cli/perf_pwdhash.cpp:60,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pwdhash.cpp:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/perf_pwdhash.cpp:60,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pwdhash.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: Botan_CLI::PerfTest_Passhash9::go
    functionSourceFile: /src/botan/src/cli/perf_pwdhash.cpp
    functionUses: 0
    functionsReached:
    - auto::run
    - Botan::fmt
    - make_timer
    - static_cast<uint8_t>
    - Botan::generate_passhash9
    - rng
    - Botan::is_passhash9_alg_supported
    - record_result
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/cli/perf_pwdhash.cpp:77,1
    - Dst: auto::from_params
      Src: /src/botan/src/cli/perf_pwdhash.cpp:82,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pwdhash.cpp:85,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pwdhash.cpp:85,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pwdhash.cpp:89,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pwdhash.cpp:91,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pwdhash.cpp:93,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pwdhash.cpp:94,1
    - Dst: auto::derive_key
      Src: /src/botan/src/cli/perf_pwdhash.cpp:95,1
    - Dst: std::memcpy
      Src: /src/botan/src/cli/perf_pwdhash.cpp:96,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pwdhash.cpp:100,1
    - Dst: auto::events
      Src: /src/botan/src/cli/perf_pwdhash.cpp:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 108
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 108
    functionName: Botan_CLI::PerfTest_Scrypt::go
    functionSourceFile: /src/botan/src/cli/perf_pwdhash.cpp
    functionUses: 0
    functionsReached:
    - auto::run
    - auto::events
    - Botan::fmt
    - runtime
    - auto::under
    - Botan::PasswordHashFamily::create_or_throw
    - auto::derive_key
    - make_timer
    - rng
    - std::memcpy
    - record_result
    - auto::from_params
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/cli/perf_pwdhash.cpp:120,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pwdhash.cpp:122,1
    - Dst: auto::from_params
      Src: /src/botan/src/cli/perf_pwdhash.cpp:127,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pwdhash.cpp:128,1
    - Dst: auto::to_string
      Src: /src/botan/src/cli/perf_pwdhash.cpp:128,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pwdhash.cpp:132,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pwdhash.cpp:134,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pwdhash.cpp:135,1
    - Dst: auto::derive_key
      Src: /src/botan/src/cli/perf_pwdhash.cpp:135,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pwdhash.cpp:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 142
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 142
    functionName: Botan_CLI::PerfTest_Argon2::go
    functionSourceFile: /src/botan/src/cli/perf_pwdhash.cpp
    functionUses: 0
    functionsReached:
    - auto::run
    - runtime
    - auto::under
    - Botan::PasswordHashFamily::create_or_throw
    - auto::derive_key
    - make_timer
    - rng
    - record_result
    - auto::to_string
    - auto::from_params
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/x509.cpp:37,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/x509.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' key_file'
    - ' passphrase'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: Botan_CLI::load_private_key
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::load_key
    - CLI_Error
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const std::string&
      key_file, const std::string& passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stateful_operation
      Src: /src/botan/src/cli/x509.cpp:50,1
    - Dst: empty
      Src: /src/botan/src/cli/x509.cpp:55,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/cli/x509.cpp:56,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/cli/x509.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - ' key_file'
    - ' pass'
    argTypes:
    - Botan::Private_Key
    - Botan::RandomNumberGenerator
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: Botan_CLI::update_stateful_private_key
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::PEM_encode
    - stateful_operation
    - empty
    linkageType: ''
    returnType: void
    signature: "void update_stateful_private_key(const Botan::Private_Key& key,\n
      \                                Botan::RandomNumberGenerator& rng,\n                                 const
      std::string& key_file,\n                                 const std::string&
      pass)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan_CLI::Trust_Root_Info::Trust_Root_Info
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Trust_Root_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan_CLI::Trust_Root_Info::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan_CLI::Trust_Root_Info::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::System_Certificate_Store
      Src: /src/botan/src/cli/x509.cpp:75,1
    - Dst: Botan::System_Certificate_Store::all_subjects
      Src: /src/botan/src/cli/x509.cpp:77,1
    - Dst: flag_set
      Src: /src/botan/src/cli/x509.cpp:79,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:81,1
    - Dst: Botan::System_Certificate_Store::find_all_certs
      Src: /src/botan/src/cli/x509.cpp:86,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/cli/x509.cpp:86,1
    - Dst: flag_set
      Src: /src/botan/src/cli/x509.cpp:87,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:88,1
    - Dst: flag_set
      Src: /src/botan/src/cli/x509.cpp:91,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:92,1
    - Dst: to_string
      Src: /src/botan/src/cli/x509.cpp:92,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:95,1
    - Dst: PEM_encode
      Src: /src/botan/src/cli/x509.cpp:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 99
    functionName: Botan_CLI::Trust_Root_Info::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - PEM_encode
    - Botan::System_Certificate_Store::find_all_certs
    - Botan::System_Certificate_Store::System_Certificate_Store
    - std::vector<uint8_t>
    - output
    - to_string
    - flag_set
    - Botan::System_Certificate_Store::all_subjects
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: Botan_CLI::Sign_Cert::Sign_Cert
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sign_Cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Botan_CLI::Sign_Cert::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Botan_CLI::Sign_Cert::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:118,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:120,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/x509.cpp:121,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:122,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:123,1
    - Dst: load_private_key
      Src: /src/botan/src/cli/x509.cpp:125,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:127,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:129,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/x509.cpp:131,1
    - Dst: days
      Src: /src/botan/src/cli/x509.cpp:137,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/x509.cpp:137,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/cli/x509.cpp:139,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:139,1
    - Dst: update_stateful_private_key
      Src: /src/botan/src/cli/x509.cpp:140,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:140,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:142,1
    - Dst: Botan::X509_Certificate::PEM_encode
      Src: /src/botan/src/cli/x509.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 143
    functionName: Botan_CLI::Sign_Cert::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - get_passphrase_arg
    - load_private_key
    - days
    - output
    - update_stateful_private_key
    - rng
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::X509_Certificate::PEM_encode
    - get_arg_sz
    - Botan::X509_CA::sign_request
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan_CLI::Cert_Info::Cert_Info
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cert_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: Botan_CLI::Cert_Info::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Botan_CLI::Cert_Info::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slurp_file
      Src: /src/botan/src/cli/x509.cpp:157,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:157,1
    - Dst: Botan::DataSource_Memory::end_of_data
      Src: /src/botan/src/cli/x509.cpp:161,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:166,1
    - Dst: Botan::X509_Certificate::to_string
      Src: /src/botan/src/cli/x509.cpp:166,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:169,1
    - Dst: what
      Src: /src/botan/src/cli/x509.cpp:169,1
    - Dst: flag_set
      Src: /src/botan/src/cli/x509.cpp:172,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:173,1
    - Dst: Botan::X509_Certificate::fingerprint
      Src: /src/botan/src/cli/x509.cpp:173,1
    - Dst: Botan::DataSource_Memory::end_of_data
      Src: /src/botan/src/cli/x509.cpp:176,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:177,1
    - Dst: what
      Src: /src/botan/src/cli/x509.cpp:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 181
    functionName: Botan_CLI::Cert_Info::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - slurp_file
    - what
    - output
    - Botan::X509_Certificate::to_string
    - flag_set
    - Botan::X509_Certificate::fingerprint
    - Botan::DataSource_Memory::end_of_data
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan_CLI::OCSP_Check::OCSP_Check
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCSP_Check()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: Botan_CLI::OCSP_Check::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Botan_CLI::OCSP_Check::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:199,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:200,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/x509.cpp:201,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/cli/x509.cpp:203,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/cli/x509.cpp:204,1
    - Dst: Botan::OCSP::online_check
      Src: /src/botan/src/cli/x509.cpp:205,1
    - Dst: Botan::OCSP::Response::status_for
      Src: /src/botan/src/cli/x509.cpp:207,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/x509.cpp:207,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:210,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:212,1
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/cli/x509.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 214
    functionName: Botan_CLI::OCSP_Check::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - Botan::Path_Validation_Result::status_string
    - Botan::Certificate_Store_In_Memory::add_certificate
    - output
    - Botan::OCSP::online_check
    - Botan::OCSP::Response::status_for
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - get_arg_sz
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: Botan_CLI::Cert_Verify::Cert_Verify
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cert_Verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: Botan_CLI::Cert_Verify::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: Botan_CLI::Cert_Verify::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:232,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/cli/x509.cpp:233,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/x509.cpp:235,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/cli/x509.cpp:236,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/cli/x509.cpp:236,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/cli/x509.cpp:239,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/cli/x509.cpp:241,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/cli/x509.cpp:243,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:244,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:246,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/cli/x509.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: Botan_CLI::Cert_Verify::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - get_arg
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::X509_Certificate
    - get_arg_list
    - output
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Path_Validation_Result::successful_validation
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::Path_Validation_Result::result_string
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: Botan_CLI::Gen_Self_Signed::Gen_Self_Signed
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Gen_Self_Signed()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: Botan_CLI::Gen_Self_Signed::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: Botan_CLI::Gen_Self_Signed::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:265,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/x509.cpp:266,1
    - Dst: load_private_key
      Src: /src/botan/src/cli/x509.cpp:267,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:273,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:274,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:275,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:276,1
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/x509.cpp:277,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:277,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:280,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/x509.cpp:282,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/cli/x509.cpp:283,1
    - Dst: flag_set
      Src: /src/botan/src/cli/x509.cpp:286,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/cli/x509.cpp:287,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/x509.cpp:287,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/cli/x509.cpp:290,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:290,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:290,1
    - Dst: update_stateful_private_key
      Src: /src/botan/src/cli/x509.cpp:291,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:291,1
    - Dst: Botan::X509_Certificate::BER_encode
      Src: /src/botan/src/cli/x509.cpp:294,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:295,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/x509.cpp:295,1
    - Dst: auto::data
      Src: /src/botan/src/cli/x509.cpp:295,1
    - Dst: auto::size
      Src: /src/botan/src/cli/x509.cpp:295,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:297,1
    - Dst: Botan::X509_Certificate::PEM_encode
      Src: /src/botan/src/cli/x509.cpp:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 299
    functionName: Botan_CLI::Gen_Self_Signed::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - get_arg
    - get_passphrase_arg
    - Botan_CLI::Command::split_on
    - Botan::X509_Cert_Options::set_padding_scheme
    - auto::size
    - load_private_key
    - Botan::X509::create_self_signed_cert
    - output
    - auto::data
    - update_stateful_private_key
    - Botan::X509_Cert_Options::CA_key
    - flag_set
    - rng
    - Botan::X509_Certificate::BER_encode
    - Botan::X509_Certificate::PEM_encode
    - std::string::empty
    - get_arg_sz
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: Botan_CLI::Generate_PKCS10::Generate_PKCS10
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Generate_PKCS10()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: Botan_CLI::Generate_PKCS10::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: Botan_CLI::Generate_PKCS10::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:316,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/x509.cpp:317,1
    - Dst: load_private_key
      Src: /src/botan/src/cli/x509.cpp:319,1
    - Dst: Botan::X509_Cert_Options::X509_Cert_Options
      Src: /src/botan/src/cli/x509.cpp:321,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:323,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:324,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:325,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:326,1
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/x509.cpp:327,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:327,1
    - Dst: flag_set
      Src: /src/botan/src/cli/x509.cpp:329,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/cli/x509.cpp:330,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/x509.cpp:330,1
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/x509.cpp:333,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:333,1
    - Dst: Botan::X509_Cert_Options::add_ex_constraint
      Src: /src/botan/src/cli/x509.cpp:334,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:337,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/x509.cpp:339,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/cli/x509.cpp:340,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/cli/x509.cpp:343,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:343,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:343,1
    - Dst: update_stateful_private_key
      Src: /src/botan/src/cli/x509.cpp:344,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:344,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:346,1
    - Dst: Botan::PKCS10_Request::PEM_encode
      Src: /src/botan/src/cli/x509.cpp:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 347
    functionName: Botan_CLI::Generate_PKCS10::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Cert_Options::add_ex_constraint
    - get_arg
    - get_passphrase_arg
    - Botan_CLI::Command::split_on
    - Botan::X509_Cert_Options::set_padding_scheme
    - load_private_key
    - output
    - update_stateful_private_key
    - Botan::X509_Cert_Options::X509_Cert_Options
    - flag_set
    - Botan::X509_Cert_Options::CA_key
    - Botan::X509::create_cert_req
    - rng
    - get_arg_sz
    - Botan::PKCS10_Request::PEM_encode
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_CLI::Entropy::Entropy
    functionSourceFile: /src/botan/src/cli/entropy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entropy()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::Entropy::group
    functionSourceFile: /src/botan/src/cli/entropy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_CLI::Entropy::description
    functionSourceFile: /src/botan/src/cli/entropy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/entropy.cpp:31,1
    - Dst: Botan::Entropy_Sources::global_sources
      Src: /src/botan/src/cli/entropy.cpp:34,1
    - Dst: enabled_sources
      Src: /src/botan/src/cli/entropy.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/entropy.cpp:40,1
    - Dst: Botan_Tests::SeedCapturing_RNG::samples
      Src: /src/botan/src/cli/entropy.cpp:47,1
    - Dst: output
      Src: /src/botan/src/cli/entropy.cpp:48,1
    - Dst: Botan_Tests::SeedCapturing_RNG::seed_material
      Src: /src/botan/src/cli/entropy.cpp:52,1
    - Dst: output
      Src: /src/botan/src/cli/entropy.cpp:54,1
    - Dst: size
      Src: /src/botan/src/cli/entropy.cpp:54,1
    - Dst: Botan_Tests::SeedCapturing_RNG::samples
      Src: /src/botan/src/cli/entropy.cpp:54,1
    - Dst: empty
      Src: /src/botan/src/cli/entropy.cpp:58,1
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/cli/entropy.cpp:59,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/cli/entropy.cpp:63,1
    - Dst: begin
      Src: /src/botan/src/cli/entropy.cpp:63,1
    - Dst: end
      Src: /src/botan/src/cli/entropy.cpp:63,1
    - Dst: auto::start
      Src: /src/botan/src/cli/entropy.cpp:64,1
    - Dst: auto::finish
      Src: /src/botan/src/cli/entropy.cpp:65,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/entropy.cpp:67,1
    - Dst: size
      Src: /src/botan/src/cli/entropy.cpp:67,1
    - Dst: output
      Src: /src/botan/src/cli/entropy.cpp:68,1
    - Dst: size
      Src: /src/botan/src/cli/entropy.cpp:68,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/entropy.cpp:69,1
    - Dst: error_output
      Src: /src/botan/src/cli/entropy.cpp:72,1
    - Dst: what
      Src: /src/botan/src/cli/entropy.cpp:72,1
    - Dst: size
      Src: /src/botan/src/cli/entropy.cpp:78,1
    - Dst: output
      Src: /src/botan/src/cli/entropy.cpp:79,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/entropy.cpp:79,1
    - Dst: output
      Src: /src/botan/src/cli/entropy.cpp:81,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/entropy.cpp:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 84
    functionName: Botan_CLI::Entropy::go
    functionSourceFile: /src/botan/src/cli/entropy.cpp
    functionUses: 0
    functionsReached:
    - what
    - Botan::Compression_Algorithm::create
    - Botan::Entropy_Sources::global_sources
    - end
    - empty
    - output
    - Botan::secure_vector::size
    - error_output
    - Botan_Tests::SeedCapturing_RNG::samples
    - begin
    - enabled_sources
    - auto::finish
    - auto::start
    - get_arg
    - Botan_Tests::SeedCapturing_RNG::seed_material
    - Botan::hex_encode
    - std::vector::push_back
    - Botan::secure_vector::assign
    - size
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& cmd_spec() const'
    functionSourceFile: /src/botan/src/cli/cli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & cmd_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan_CLI::Command::set_return_code
    functionSourceFile: /src/botan/src/cli/cli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_return_code(int rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::flag_set
      Src: /src/botan/src/cli/cli.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan_CLI::Command::verbose
    functionSourceFile: /src/botan/src/cli/cli.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::flag_set
    linkageType: ''
    returnType: bool
    signature: bool verbose() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::format_blob
      Src: /src/botan/src/cli/cli.h:131,1
    - Dst: data
      Src: /src/botan/src/cli/cli.h:131,1
    - Dst: size
      Src: /src/botan/src/cli/cli.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' format'
    - ' vec'
    argTypes:
    - std::string
    - std::vector<uint8_t, Alloc>
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: Botan_CLI::Command::format_blob
    functionSourceFile: /src/botan/src/cli/cli.h
    functionUses: 1
    functionsReached:
    - data
    - Botan_CLI::Command::format_blob
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string format_blob(const std::string& format, const std::vector<uint8_t,
      Alloc>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_binary
      Src: /src/botan/src/cli/cli.h:188,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/cli.h:188,1
    - Dst: data
      Src: /src/botan/src/cli/cli.h:188,1
    - Dst: size
      Src: /src/botan/src/cli/cli.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t, Alloc>
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan_CLI::Command::write_output
    functionSourceFile: /src/botan/src/cli/cli.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - output_binary
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void write_output(const std::vector<uint8_t, Alloc>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_CLI::RoughtimeCheck::RoughtimeCheck
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RoughtimeCheck()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan_CLI::RoughtimeCheck::group
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan_CLI::RoughtimeCheck::description
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Roughtime::Chain::Chain
      Src: /src/botan/src/cli/roughtime.cpp:34,1
    - Dst: slurp_file_as_str
      Src: /src/botan/src/cli/roughtime.cpp:34,1
    - Dst: get_arg
      Src: /src/botan/src/cli/roughtime.cpp:34,1
    - Dst: auto::responses
      Src: /src/botan/src/cli/roughtime.cpp:36,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:37,1
    - Dst: std::setw
      Src: /src/botan/src/cli/roughtime.cpp:37,1
    - Dst: flag_set
      Src: /src/botan/src/cli/roughtime.cpp:38,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:39,1
    - Dst: Botan::Roughtime::Response::sys_microseconds64
      Src: /src/botan/src/cli/roughtime.cpp:40,1
    - Dst: utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:40,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:42,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/cli/roughtime.cpp:42,1
    - Dst: utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:42,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:44,1
    - Dst: Botan::Roughtime::Response::microseconds32
      Src: /src/botan/src/cli/roughtime.cpp:44,1
    - Dst: utc_radius
      Src: /src/botan/src/cli/roughtime.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: Botan_CLI::RoughtimeCheck::go
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - Botan::Roughtime::Response::sys_microseconds64
    - std::setw
    - utc_midpoint
    - slurp_file_as_str
    - output
    - utc_radius
    - Botan::Roughtime::Chain::Chain
    - Botan::Roughtime::Response::microseconds32
    - flag_set
    - auto::responses
    - Botan::calendar_point
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan_CLI::Roughtime::Roughtime
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Roughtime()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timing_Test_Command::help_text
      Src: /src/botan/src/cli/roughtime.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: Botan_CLI::Roughtime::help_text
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timing_Test_Command::help_text
    linkageType: ''
    returnType: std::string
    signature: std::string help_text() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan_CLI::Roughtime::group
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan_CLI::Roughtime::description
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Roughtime::Nonce::Nonce
      Src: /src/botan/src/cli/roughtime.cpp:89,1
    - Dst: Botan::Roughtime::Nonce::Nonce
      Src: /src/botan/src/cli/roughtime.cpp:90,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::UseRandomNonce
      Src: /src/botan/src/cli/roughtime.cpp:92,1
    - Dst: rng
      Src: /src/botan/src/cli/roughtime.cpp:92,1
    - Dst: next_nonce
      Src: /src/botan/src/cli/roughtime.cpp:93,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::UseRandomNonce
      Src: /src/botan/src/cli/roughtime.cpp:95,1
    - Dst: rng
      Src: /src/botan/src/cli/roughtime.cpp:95,1
    - Dst: Botan::Roughtime::online_request
      Src: /src/botan/src/cli/roughtime.cpp:97,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/roughtime.cpp:97,1
    - Dst: Botan::Roughtime::Response::from_bits
      Src: /src/botan/src/cli/roughtime.cpp:98,1
    - Dst: flag_set
      Src: /src/botan/src/cli/roughtime.cpp:99,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:100,1
    - Dst: Botan::Roughtime::Response::sys_microseconds64
      Src: /src/botan/src/cli/roughtime.cpp:102,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:102,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:104,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/cli/roughtime.cpp:104,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:104,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:106,1
    - Dst: Botan::Roughtime::Response::microseconds32
      Src: /src/botan/src/cli/roughtime.cpp:106,1
    - Dst: auto::utc_radius
      Src: /src/botan/src/cli/roughtime.cpp:106,1
    - Dst: auto::validate
      Src: /src/botan/src/cli/roughtime.cpp:107,1
    - Dst: error_output
      Src: /src/botan/src/cli/roughtime.cpp:108,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/roughtime.cpp:109,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/roughtime.cpp:112,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/roughtime.cpp:114,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:116,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:116,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:116,1
    - Dst: auto::utc_radius
      Src: /src/botan/src/cli/roughtime.cpp:117,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/roughtime.cpp:117,1
    - Dst: error_output
      Src: /src/botan/src/cli/roughtime.cpp:118,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/roughtime.cpp:119,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:122,1
    - Dst: append
      Src: /src/botan/src/cli/roughtime.cpp:125,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - ' chain'
    - max_chain_size
    - ' address'
    - ' public_key'
    argTypes:
    - std::unique_ptr<Botan::Roughtime::Chain>
    - size_t
    - std::string
    - Botan::Ed25519_PublicKey
    constantsTouched: []
    func_position:
      end: 128
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 128
    functionName: Botan_CLI::Roughtime::query
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::Roughtime::online_request
    - Botan::Roughtime::Response::from_bits
    - output
    - Botan::TLS::detail::AsyncBase::complete_now
    - error_output
    - next_nonce
    - append
    - Botan::Roughtime::Nonce::Nonce
    - Botan_CLI::Timer::seconds
    - flag_set
    - get_arg_sz
    - Botan::Roughtime::Response::sys_microseconds64
    - set_return_code
    - cryptofuzz::operation::ECDSA_Sign::UseRandomNonce
    - Botan::Roughtime::Response::microseconds32
    - rng
    - Botan::calendar_point
    - auto::utc_midpoint
    - auto::utc_radius
    - auto::validate
    linkageType: ''
    returnType: void
    signature: "void query(std::unique_ptr<Botan::Roughtime::Chain>& chain,\n                 const
      size_t max_chain_size,\n                 const std::string& address,\n                 const
      Botan::Ed25519_PublicKey& public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/roughtime.cpp:131,1
    - Dst: get_arg
      Src: /src/botan/src/cli/roughtime.cpp:132,1
    - Dst: get_arg_or
      Src: /src/botan/src/cli/roughtime.cpp:133,1
    - Dst: get_arg_or
      Src: /src/botan/src/cli/roughtime.cpp:134,1
    - Dst: get_arg_or
      Src: /src/botan/src/cli/roughtime.cpp:135,1
    - Dst: auto::empty
      Src: /src/botan/src/cli/roughtime.cpp:138,1
    - Dst: std::make_unique<Botan::Roughtime::Chain>
      Src: /src/botan/src/cli/roughtime.cpp:140,1
    - Dst: slurp_file_as_str
      Src: /src/botan/src/cli/roughtime.cpp:140,1
    - Dst: std::make_unique<Botan::Roughtime::Chain>
      Src: /src/botan/src/cli/roughtime.cpp:143,1
    - Dst: error_output
      Src: /src/botan/src/cli/roughtime.cpp:150,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/roughtime.cpp:151,1
    - Dst: auto::empty
      Src: /src/botan/src/cli/roughtime.cpp:155,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/cli/roughtime.cpp:156,1
    - Dst: slurp_file_as_str
      Src: /src/botan/src/cli/roughtime.cpp:156,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:159,1
    - Dst: std::setw
      Src: /src/botan/src/cli/roughtime.cpp:159,1
    - Dst: name
      Src: /src/botan/src/cli/roughtime.cpp:159,1
    - Dst: addresses
      Src: /src/botan/src/cli/roughtime.cpp:160,1
    - Dst: Botan_CLI::Roughtime::query
      Src: /src/botan/src/cli/roughtime.cpp:162,1
    - Dst: public_key
      Src: /src/botan/src/cli/roughtime.cpp:162,1
    - Dst: error_output
      Src: /src/botan/src/cli/roughtime.cpp:166,1
    - Dst: what
      Src: /src/botan/src/cli/roughtime.cpp:166,1
    - Dst: Botan_CLI::Roughtime::query
      Src: /src/botan/src/cli/roughtime.cpp:172,1
    - Dst: Botan::Ed25519_PublicKey
      Src: /src/botan/src/cli/roughtime.cpp:172,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/cli/roughtime.cpp:172,1
    - Dst: std::unique_ptr::to_string
      Src: /src/botan/src/cli/roughtime.cpp:177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 179
    functionName: Botan_CLI::Roughtime::go
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed25519_PublicKey
    - what
    - std::make_unique<Botan::Roughtime::Chain>
    - name
    - output
    - error_output
    - Botan::Roughtime::servers_from_str
    - Botan::base64_decode
    - public_key
    - get_arg_sz
    - get_arg
    - std::setw
    - set_return_code
    - std::unique_ptr::to_string
    - get_arg_or
    - slurp_file_as_str
    - auto::empty
    - addresses
    - Botan_CLI::Roughtime::query
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_CLI::Generate_Argon2::Generate_Argon2
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Generate_Argon2()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan_CLI::Generate_Argon2::group
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_CLI::Generate_Argon2::description
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/argon2.cpp:26,1
    - Dst: output
      Src: /src/botan/src/cli/argon2.cpp:31,1
    - Dst: Botan::argon2_generate_pwhash
      Src: /src/botan/src/cli/argon2.cpp:31,1
    - Dst: std::string::data
      Src: /src/botan/src/cli/argon2.cpp:31,1
    - Dst: std::string::size
      Src: /src/botan/src/cli/argon2.cpp:31,1
    - Dst: rng
      Src: /src/botan/src/cli/argon2.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: Botan_CLI::Generate_Argon2::go
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached:
    - get_passphrase_arg
    - Botan::argon2_generate_pwhash
    - std::string::data
    - output
    - rng
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan_CLI::Check_Argon2::Check_Argon2
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Check_Argon2()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan_CLI::Check_Argon2::group
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan_CLI::Check_Argon2::description
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/argon2.cpp:46,1
    - Dst: get_arg
      Src: /src/botan/src/cli/argon2.cpp:47,1
    - Dst: output
      Src: /src/botan/src/cli/argon2.cpp:51,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/argon2.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: Botan_CLI::Check_Argon2::go
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached:
    - set_return_code
    - get_arg
    - get_passphrase_arg
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Botan_CLI::PK_Keygen::PK_Keygen
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Keygen()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan_CLI::PK_Keygen::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan_CLI::PK_Keygen::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:51,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:52,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:53,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/pubkey.cpp:55,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:55,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/pubkey.cpp:58,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/pubkey.cpp:61,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pubkey.cpp:64,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:67,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:68,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/cli/pubkey.cpp:68,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:70,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:71,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/cli/pubkey.cpp:71,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:72,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:72,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:72,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:74,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/cli/pubkey.cpp:74,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:75,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pubkey.cpp:75,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:75,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:75,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:79,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:80,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:80,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:82,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:83,1
    - Dst: Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/cli/pubkey.cpp:83,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:84,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:84,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:84,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:86,1
    - Dst: Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/cli/pubkey.cpp:86,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:87,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pubkey.cpp:87,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:87,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 91
    functionName: Botan_CLI::PK_Keygen::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - get_passphrase_arg
    - Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
    - CLI_Error_Unsupported
    - Botan::PKCS8::BER_encode
    - Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
    - output
    - Botan::create_private_key
    - write_output
    - Botan::PKCS8::PEM_encode
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
    - rng
    - get_arg_sz
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/pubkey.cpp:103,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/pubkey.cpp:110,1
    - Dst: empty
      Src: /src/botan/src/cli/pubkey.cpp:111,1
    - Dst: empty
      Src: /src/botan/src/cli/pubkey.cpp:113,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/pubkey.cpp:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ' key'
    - ' padding'
    - ' hash'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: Botan_CLI::choose_sig_padding
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string choose_sig_padding(const std::string& key, const std::string&
      padding, const std::string& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: Botan_CLI::PK_Fingerprint::PK_Fingerprint
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Fingerprint()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: Botan_CLI::PK_Fingerprint::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan_CLI::PK_Fingerprint::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:133,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/pubkey.cpp:136,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/cli/pubkey.cpp:137,1
    - Dst: Botan_CLI::PK_Fingerprint::slurp_file
      Src: /src/botan/src/cli/pubkey.cpp:137,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/cli/pubkey.cpp:138,1
    - Dst: std::unique_ptr::fingerprint_public
      Src: /src/botan/src/cli/pubkey.cpp:140,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:143,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: Botan_CLI::PK_Fingerprint::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - get_arg
    - Botan_CLI::PK_Fingerprint::slurp_file
    - std::unique_ptr::fingerprint_public
    - get_arg_list
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/pubkey.cpp:160,1
    - Dst: what
      Src: /src/botan/src/cli/pubkey.cpp:162,1
    - Dst: empty
      Src: /src/botan/src/cli/pubkey.cpp:165,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/pubkey.cpp:168,1
    - Dst: what
      Src: /src/botan/src/cli/pubkey.cpp:170,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/pubkey.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' key_filename'
    - ' passphrase'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 175
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 175
    functionName: Botan_CLI::load_private_key
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::load_key
    - CLI_Error
    - empty
    - what
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const std::string&
      key_filename, const std::string& passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: Botan_CLI::PK_Sign::PK_Sign
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Sign()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: Botan_CLI::PK_Sign::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: Botan_CLI::PK_Sign::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:188,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/pubkey.cpp:189,1
    - Dst: load_private_key
      Src: /src/botan/src/cli/pubkey.cpp:191,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:193,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:195,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/cli/pubkey.cpp:195,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/pubkey.cpp:196,1
    - Dst: choose_sig_padding
      Src: /src/botan/src/cli/pubkey.cpp:199,1
    - Dst: auto::algo_name
      Src: /src/botan/src/cli/pubkey.cpp:199,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:199,1
    - Dst: flag_set
      Src: /src/botan/src/cli/pubkey.cpp:203,1
    - Dst: auto::_signature_element_size_for_DER_encoding
      Src: /src/botan/src/cli/pubkey.cpp:204,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:205,1
    - Dst: auto::algo_name
      Src: /src/botan/src/cli/pubkey.cpp:205,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:211,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:213,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/cli/pubkey.cpp:215,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/pubkey.cpp:216,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:216,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/cli/pubkey.cpp:218,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:218,1
    - Dst: auto::stateful_operation
      Src: /src/botan/src/cli/pubkey.cpp:220,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:222,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:223,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:225,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:225,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:229,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/cli/pubkey.cpp:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 230
    functionName: Botan_CLI::PK_Sign::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - CLI_Usage_Error
    - auto::_signature_element_size_for_DER_encoding
    - CLI_Error_Unsupported
    - output
    - Botan::HashFunction::create
    - Botan::base64_encode
    - get_passphrase_arg
    - load_private_key
    - flag_set
    - Botan_CLI::Command::read_file
    - auto::stateful_operation
    - std::string::empty
    - Botan::PK_Signer::signature
    - get_arg
    - choose_sig_padding
    - Botan::PKCS8::PEM_encode
    - rng
    - auto::algo_name
    - Botan::PK_Signer::update
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: Botan_CLI::PK_Verify::PK_Verify
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: Botan_CLI::PK_Verify::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: Botan_CLI::PK_Verify::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/cli/pubkey.cpp:246,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:246,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/pubkey.cpp:248,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:251,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:253,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/cli/pubkey.cpp:253,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/pubkey.cpp:254,1
    - Dst: choose_sig_padding
      Src: /src/botan/src/cli/pubkey.cpp:257,1
    - Dst: auto::algo_name
      Src: /src/botan/src/cli/pubkey.cpp:257,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:257,1
    - Dst: flag_set
      Src: /src/botan/src/cli/pubkey.cpp:260,1
    - Dst: auto::message_parts
      Src: /src/botan/src/cli/pubkey.cpp:261,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:262,1
    - Dst: auto::algo_name
      Src: /src/botan/src/cli/pubkey.cpp:262,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/cli/pubkey.cpp:269,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/pubkey.cpp:270,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:270,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/cli/pubkey.cpp:273,1
    - Dst: Botan_CLI::PK_Verify::slurp_file_as_str
      Src: /src/botan/src/cli/pubkey.cpp:273,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:273,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:277,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: Botan_CLI::PK_Verify::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - CLI_Usage_Error
    - Botan_CLI::PK_Verify::slurp_file_as_str
    - get_arg
    - CLI_Error
    - Botan::base64_decode
    - CLI_Error_Unsupported
    - Botan::PK_Verifier::update
    - output
    - choose_sig_padding
    - auto::message_parts
    - flag_set
    - Botan_CLI::Command::read_file
    - auto::algo_name
    - Botan::HashFunction::create
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: Botan_CLI::PKCS8_Tool::PKCS8_Tool
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS8_Tool()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: Botan_CLI::PKCS8_Tool::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: Botan_CLI::PKCS8_Tool::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:295,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/pubkey.cpp:296,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:301,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/pubkey.cpp:302,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/pubkey.cpp:304,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pubkey.cpp:307,1
    - Dst: flag_set
      Src: /src/botan/src/cli/pubkey.cpp:310,1
    - Dst: std::unique_ptr::public_key
      Src: /src/botan/src/cli/pubkey.cpp:311,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:313,1
    - Dst: Botan::X509::BER_encode
      Src: /src/botan/src/cli/pubkey.cpp:313,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:315,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:315,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/pubkey.cpp:318,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:321,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:322,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/cli/pubkey.cpp:322,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:324,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:325,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/cli/pubkey.cpp:325,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:326,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:326,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:326,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:328,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/cli/pubkey.cpp:328,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:329,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pubkey.cpp:329,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:329,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:329,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:333,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:334,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:334,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:336,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:337,1
    - Dst: Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/cli/pubkey.cpp:337,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:338,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:338,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:338,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:340,1
    - Dst: Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/cli/pubkey.cpp:340,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:341,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pubkey.cpp:341,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:341,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 346
    functionName: Botan_CLI::PKCS8_Tool::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - get_passphrase_arg
    - Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
    - Botan::PKCS8::BER_encode
    - std::unique_ptr::public_key
    - Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
    - output
    - Botan::X509::BER_encode
    - Botan::X509::PEM_encode
    - write_output
    - Botan::PKCS8::PEM_encode
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
    - flag_set
    - rng
    - Botan::PKCS8::load_key
    - get_arg_sz
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: Botan_CLI::EC_Group_Info::EC_Group_Info
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: Botan_CLI::EC_Group_Info::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: Botan_CLI::EC_Group_Info::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/cli/pubkey.cpp:366,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:366,1
    - Dst: flag_set
      Src: /src/botan/src/cli/pubkey.cpp:368,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:369,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:369,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:371,1
    - Dst: auto::get_p
      Src: /src/botan/src/cli/pubkey.cpp:371,1
    - Dst: auto::get_a
      Src: /src/botan/src/cli/pubkey.cpp:372,1
    - Dst: auto::get_b
      Src: /src/botan/src/cli/pubkey.cpp:373,1
    - Dst: auto::get_order
      Src: /src/botan/src/cli/pubkey.cpp:374,1
    - Dst: auto::get_g_x
      Src: /src/botan/src/cli/pubkey.cpp:375,1
    - Dst: auto::get_g_y
      Src: /src/botan/src/cli/pubkey.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: Botan_CLI::EC_Group_Info::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - auto::get_g_y
    - auto::get_a
    - auto::get_p
    - auto::get_order
    - auto::get_g_x
    - output
    - auto::PEM_encode
    - flag_set
    - auto::get_b
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: Botan_CLI::DL_Group_Info::DL_Group_Info
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DL_Group_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: Botan_CLI::DL_Group_Info::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: Botan_CLI::DL_Group_Info::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/cli/pubkey.cpp:397,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:397,1
    - Dst: flag_set
      Src: /src/botan/src/cli/pubkey.cpp:399,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:400,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:400,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:402,1
    - Dst: auto::get_p
      Src: /src/botan/src/cli/pubkey.cpp:402,1
    - Dst: auto::get_g
      Src: /src/botan/src/cli/pubkey.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 405
    functionName: Botan_CLI::DL_Group_Info::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - get_arg
    - auto::get_g
    - auto::get_p
    - output
    - auto::PEM_encode
    - flag_set
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: Botan_CLI::PK_Workfactor::PK_Workfactor
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Workfactor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: Botan_CLI::PK_Workfactor::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 416
    functionName: Botan_CLI::PK_Workfactor::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:420,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:423,1
    - Dst: Botan::if_work_factor
      Src: /src/botan/src/cli/pubkey.cpp:423,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:425,1
    - Dst: Botan::dl_work_factor
      Src: /src/botan/src/cli/pubkey.cpp:425,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:427,1
    - Dst: Botan::dl_exponent_size
      Src: /src/botan/src/cli/pubkey.cpp:427,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 431
    functionName: Botan_CLI::PK_Workfactor::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - CLI_Usage_Error
    - get_arg
    - Botan::dl_exponent_size
    - Botan::dl_work_factor
    - Botan::if_work_factor
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: Botan_CLI::Gen_DL_Group::Gen_DL_Group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Gen_DL_Group()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: Botan_CLI::Gen_DL_Group::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: Botan_CLI::Gen_DL_Group::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:448,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:449,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:452,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:453,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:456,1
    - Dst: Botan::DL_Group::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:456,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:458,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:459,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:462,1
    - Dst: Botan::DL_Group::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:462,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:471,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:475,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:477,1
    - Dst: Botan::DL_Group::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:477,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/pubkey.cpp:479,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:481,1
    - Dst: Botan::DL_Group::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:481,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:485,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 487
    functionName: Botan_CLI::Gen_DL_Group::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - CLI_Usage_Error
    - get_arg
    - output
    - Botan::hex_decode
    - Botan::DL_Group::PEM_encode
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan_CLI::Modular_Inverse::Modular_Inverse
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Modular_Inverse()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::Modular_Inverse::group
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_CLI::Modular_Inverse::description
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/math.cpp:27,1
    - Dst: get_arg
      Src: /src/botan/src/cli/math.cpp:28,1
    - Dst: Botan::inverse_mod_general
      Src: /src/botan/src/cli/math.cpp:30,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:31,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Botan_CLI::Modular_Inverse::go
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - Botan::inverse_mod_general
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_CLI::Gen_Prime::Gen_Prime
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Gen_Prime()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan_CLI::Gen_Prime::group
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan_CLI::Gen_Prime::description
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_prime
      Src: /src/botan/src/cli/math.cpp:54,1
    - Dst: rng
      Src: /src/botan/src/cli/math.cpp:54,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:57,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: Botan_CLI::Gen_Prime::go
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached:
    - output
    - rng
    - Botan::random_prime
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan_CLI::Is_Prime::Is_Prime
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Is_Prime()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan_CLI::Is_Prime::group
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan_CLI::Is_Prime::description
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/math.cpp:76,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: Botan_CLI::Is_Prime::go
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan_CLI::Factor::Factor
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Factor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan_CLI::Factor::group
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan_CLI::Factor::description
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/math.cpp:99,1
    - Dst: Botan_CLI::Factor::factorize
      Src: /src/botan/src/cli/math.cpp:101,1
    - Dst: rng
      Src: /src/botan/src/cli/math.cpp:101,1
    - Dst: std::sort
      Src: /src/botan/src/cli/math.cpp:102,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/math.cpp:102,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/math.cpp:102,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:104,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:106,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: Botan_CLI::Factor::go
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Factor::factorize
    - get_arg
    - std::sort
    - output
    - rng
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Factor::remove_small_factors
      Src: /src/botan/src/cli/math.cpp:114,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/cli/math.cpp:117,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/math.cpp:118,1
    - Dst: Botan_CLI::Factor::rho
      Src: /src/botan/src/cli/math.cpp:124,1
    - Dst: Botan_CLI::Factor::factorize
      Src: /src/botan/src/cli/math.cpp:127,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/math.cpp:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' n_in'
    - ' rng'
    argTypes:
    - Botan::BigInt
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: Botan_CLI::Factor::factorize
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 2
    functionsReached:
    - Botan_CLI::Factor::factorize
    - Botan_CLI::Factor::remove_small_factors
    - Botan::is_prime
    - std::vector::push_back
    - Botan_CLI::Factor::rho
    linkageType: ''
    returnType: std::vector<Botan::BigInt>
    signature: std::vector<Botan::BigInt> factorize(const Botan::BigInt& n_in, Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Botan::Montgomery_Params>
      Src: /src/botan/src/cli/math.cpp:143,1
    - Dst: auto::R1
      Src: /src/botan/src/cli/math.cpp:145,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/cli/math.cpp:147,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/cli/math.cpp:151,1
    - Dst: Botan::Montgomery_Int::square_this
      Src: /src/botan/src/cli/math.cpp:165,1
    - Dst: Botan::Montgomery_Int::add
      Src: /src/botan/src/cli/math.cpp:166,1
    - Dst: Botan::Montgomery_Int::sub
      Src: /src/botan/src/cli/math.cpp:169,1
    - Dst: Botan::Montgomery_Int::mul_by
      Src: /src/botan/src/cli/math.cpp:171,1
    - Dst: Botan::gcd
      Src: /src/botan/src/cli/math.cpp:174,1
    - Dst: Botan::Montgomery_Int::value
      Src: /src/botan/src/cli/math.cpp:174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - ' n'
    - ' rng'
    argTypes:
    - Botan::BigInt
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 195
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 195
    functionName: Botan_CLI::Factor::rho
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 1
    functionsReached:
    - Botan::gcd
    - auto::R1
    - Botan::BigInt::BigInt
    - Botan::Montgomery_Int::square_this
    - Botan::Montgomery_Int::sub
    - Botan::BigInt::random_integer
    - Botan::Montgomery_Int::value
    - Botan::Montgomery_Int::mul_by
    - Botan::Montgomery_Int::add
    - std::make_shared<Botan::Montgomery_Params>
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt rho(const Botan::BigInt& n, Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/cli/math.cpp:201,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/math.cpp:202,1
    - Dst: Botan::gcd
      Src: /src/botan/src/cli/math.cpp:212,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/math.cpp:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 225
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 225
    functionName: Botan_CLI::Factor::remove_small_factors
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 1
    functionsReached:
    - is_even
    - Botan::gcd
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Botan::BigInt>
    signature: std::vector<Botan::BigInt> remove_small_factors(Botan::BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_misc.cpp:39,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:44,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:44,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:44,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:46,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_misc.cpp:48,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:50,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:50,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_misc.cpp:51,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_misc.cpp:53,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/perf_misc.cpp:53,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_misc.cpp:55,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/perf_misc.cpp:55,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:55,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_misc.cpp:56,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:59,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: Botan_CLI::PerfTest_Hex::go
    functionSourceFile: /src/botan/src/cli/perf_misc.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - auto::run
    - std::vector::data
    - runtime
    - auto::under
    - make_timer
    - Botan::hex_decode
    - BOTAN_ASSERT
    - buffer_sizes
    - rng
    - record_result
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_misc.cpp:71,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:76,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:76,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:76,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:78,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_misc.cpp:80,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:82,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:82,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_misc.cpp:83,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_misc.cpp:85,1
    - Dst: Botan::base32_encode
      Src: /src/botan/src/cli/perf_misc.cpp:85,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_misc.cpp:87,1
    - Dst: Botan::base32_decode
      Src: /src/botan/src/cli/perf_misc.cpp:87,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:87,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_misc.cpp:88,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:91,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 94
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 94
    functionName: Botan_CLI::PerfTest_Base32::go
    functionSourceFile: /src/botan/src/cli/perf_misc.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - auto::run
    - std::vector::data
    - runtime
    - auto::under
    - make_timer
    - BOTAN_ASSERT
    - buffer_sizes
    - rng
    - record_result
    - Botan::base32_encode
    - Botan::base32_decode
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_misc.cpp:105,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:110,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:110,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:110,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:112,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_misc.cpp:114,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:116,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:116,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_misc.cpp:117,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_misc.cpp:119,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/cli/perf_misc.cpp:119,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_misc.cpp:121,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/cli/perf_misc.cpp:121,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:121,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_misc.cpp:122,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:125,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: Botan_CLI::PerfTest_Base64::go
    functionSourceFile: /src/botan/src/cli/perf_misc.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - auto::run
    - Botan::base64_encode
    - std::vector::data
    - runtime
    - auto::under
    - Botan::base64_decode
    - make_timer
    - BOTAN_ASSERT
    - buffer_sizes
    - rng
    - record_result
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/cli/perf_misc.cpp:140,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:142,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:143,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_misc.cpp:145,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/cli/perf_misc.cpp:148,1
    - Dst: Botan::FPE_FE1::set_key
      Src: /src/botan/src/cli/perf_misc.cpp:151,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_misc.cpp:153,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:155,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_misc.cpp:156,1
    - Dst: Botan::FPE_FE1::encrypt
      Src: /src/botan/src/cli/perf_misc.cpp:157,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:157,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:157,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_misc.cpp:158,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:160,1
    - Dst: auto::events
      Src: /src/botan/src/cli/perf_misc.cpp:162,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_misc.cpp:163,1
    - Dst: Botan::FPE_FE1::decrypt
      Src: /src/botan/src/cli/perf_misc.cpp:164,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:164,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:164,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_misc.cpp:165,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:167,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_misc.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 170
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 170
    functionName: Botan_CLI::PerfTest_FpeFe1::go
    functionSourceFile: /src/botan/src/cli/perf_misc.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - auto::events
    - runtime
    - Botan::BigInt::from_u64
    - auto::under
    - Botan::FPE_FE1::decrypt
    - Botan::FPE_FE1::set_key
    - make_timer
    - auto::start
    - BOTAN_ASSERT
    - cryptofuzz::crypto::impl::sha1_done
    - rng
    - Botan::FPE_FE1::encrypt
    - auto::stop
    - record_result
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:180,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:181,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_misc.cpp:183,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_misc.cpp:186,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:188,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_misc.cpp:189,1
    - Dst: Botan::rfc3394_keywrap
      Src: /src/botan/src/cli/perf_misc.cpp:190,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_misc.cpp:191,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_misc.cpp:193,1
    - Dst: Botan::rfc3394_keyunwrap
      Src: /src/botan/src/cli/perf_misc.cpp:194,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_misc.cpp:195,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:200,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 202
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 202
    functionName: Botan_CLI::PerfTest_Rfc3394::go
    functionSourceFile: /src/botan/src/cli/perf_misc.cpp
    functionUses: 0
    functionsReached:
    - runtime
    - auto::under
    - make_timer
    - Botan::rfc3394_keywrap
    - Botan::rfc3394_keyunwrap
    - auto::start
    - rng
    - auto::stop
    - record_result
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/botan/src/cli/perf_misc.cpp:222,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:222,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:222,1
    - Dst: std::memcpy
      Src: /src/botan/src/cli/perf_misc.cpp:227,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_misc.cpp:230,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_misc.cpp:232,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:234,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:234,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:234,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_misc.cpp:236,1
    - Dst: Botan::ZFEC::encode
      Src: /src/botan/src/cli/perf_misc.cpp:236,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:236,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:236,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:238,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:240,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:240,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:240,1
    - Dst: std::map::size
      Src: /src/botan/src/cli/perf_misc.cpp:248,1
    - Dst: std::map::erase
      Src: /src/botan/src/cli/perf_misc.cpp:249,1
    - Dst: std::map::begin
      Src: /src/botan/src/cli/perf_misc.cpp:249,1
    - Dst: std::memcpy
      Src: /src/botan/src/cli/perf_misc.cpp:255,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_misc.cpp:258,1
    - Dst: Botan::ZFEC::decode_shares
      Src: /src/botan/src/cli/perf_misc.cpp:258,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:260,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_misc.cpp:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 265
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 265
    functionName: Botan_CLI::PerfTest_Zfec::go
    functionSourceFile: /src/botan/src/cli/perf_misc.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::fmt
    - runtime
    - std::map::size
    - make_timer
    - Botan::ZFEC::decode_shares
    - record_result
    - rng
    - std::map::erase
    - std::memcpy
    - auto::run_until_elapsed
    - error_output
    - Botan::ZFEC::encode
    - std::map::begin
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_CLI::FEC_Share::FEC_Share
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FEC_Share()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - share
    - k
    - n
    - padding
    - bits
    - len
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: Botan_CLI::FEC_Share::FEC_Share
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FEC_Share(size_t share, size_t k, size_t n, size_t padding, const
      uint8_t bits[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan_CLI::FEC_Share::share_id
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t share_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan_CLI::FEC_Share::k
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t k() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan_CLI::FEC_Share::n
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan_CLI::FEC_Share::padding
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t padding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/cli/zfec.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan_CLI::FEC_Share::share_size
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t share_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/cli/zfec.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_CLI::FEC_Share::share_data
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * share_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:48,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/cli/zfec.cpp:51,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:52,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:58,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:68,1
    - Dst: update
      Src: /src/botan/src/cli/zfec.cpp:71,1
    - Dst: final
      Src: /src/botan/src/cli/zfec.cpp:72,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:77,1
    - Dst: Botan_CLI::FEC_Share::FEC_Share
      Src: /src/botan/src/cli/zfec.cpp:80,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - bits
    - len
    - ' hash'
    argTypes:
    - uint8_t[]
    - size_t
    - Botan::HashFunction
    constantsTouched: []
    func_position:
      end: 82
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 82
    functionName: Botan_CLI::FEC_Share::deserialize
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - update
    - Botan::load_be<uint32_t>
    - CLI_Error
    - Botan_CLI::FEC_Share::FEC_Share
    - final
    linkageType: ''
    returnType: FEC_Share
    signature: FEC_Share deserialize(const uint8_t bits[], size_t len, Botan::HashFunction&
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_be
      Src: /src/botan/src/cli/zfec.cpp:87,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/zfec.cpp:88,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/zfec.cpp:89,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/zfec.cpp:90,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/zfec.cpp:91,1
    - Dst: write
      Src: /src/botan/src/cli/zfec.cpp:94,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/zfec.cpp:94,1
    - Dst: write
      Src: /src/botan/src/cli/zfec.cpp:95,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/zfec.cpp:95,1
    - Dst: data
      Src: /src/botan/src/cli/zfec.cpp:95,1
    - Dst: size
      Src: /src/botan/src/cli/zfec.cpp:95,1
    - Dst: update
      Src: /src/botan/src/cli/zfec.cpp:97,1
    - Dst: update
      Src: /src/botan/src/cli/zfec.cpp:98,1
    - Dst: final
      Src: /src/botan/src/cli/zfec.cpp:99,1
    - Dst: write
      Src: /src/botan/src/cli/zfec.cpp:101,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/zfec.cpp:101,1
    - Dst: auto::data
      Src: /src/botan/src/cli/zfec.cpp:101,1
    - Dst: auto::size
      Src: /src/botan/src/cli/zfec.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ' hash'
    - ' out'
    argTypes:
    - Botan::HashFunction
    - std::ostream
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: Botan_CLI::FEC_Share::serialize_to
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - update
    - write
    - Botan::store_be
    - data
    - static_cast<uint8_t>
    - auto::data
    - size
    - auto::size
    - final
    linkageType: ''
    returnType: void
    signature: void serialize_to(Botan::HashFunction& hash, std::ostream& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan_CLI::FEC_Encode::FEC_Encode
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FEC_Encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan_CLI::FEC_Encode::group
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: Botan_CLI::FEC_Encode::description
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/zfec.cpp:126,1
    - Dst: get_arg
      Src: /src/botan/src/cli/zfec.cpp:127,1
    - Dst: get_arg
      Src: /src/botan/src/cli/zfec.cpp:128,1
    - Dst: get_arg
      Src: /src/botan/src/cli/zfec.cpp:129,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/cli/zfec.cpp:133,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/zfec.cpp:135,1
    - Dst: get_arg
      Src: /src/botan/src/cli/zfec.cpp:135,1
    - Dst: auto::update
      Src: /src/botan/src/cli/zfec.cpp:138,1
    - Dst: auto::final
      Src: /src/botan/src/cli/zfec.cpp:139,1
    - Dst: auto::insert
      Src: /src/botan/src/cli/zfec.cpp:140,1
    - Dst: auto::end
      Src: /src/botan/src/cli/zfec.cpp:140,1
    - Dst: auto::begin
      Src: /src/botan/src/cli/zfec.cpp:140,1
    - Dst: auto::end
      Src: /src/botan/src/cli/zfec.cpp:140,1
    - Dst: auto::size
      Src: /src/botan/src/cli/zfec.cpp:144,1
    - Dst: auto::push_back
      Src: /src/botan/src/cli/zfec.cpp:146,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/zfec.cpp:152,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/zfec.cpp:156,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/zfec.cpp:164,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/zfec.cpp:168,1
    - Dst: FEC_Share::serialize_to
      Src: /src/botan/src/cli/zfec.cpp:171,1
    - Dst: Botan::ZFEC::encode
      Src: /src/botan/src/cli/zfec.cpp:174,1
    - Dst: auto::data
      Src: /src/botan/src/cli/zfec.cpp:174,1
    - Dst: auto::size
      Src: /src/botan/src/cli/zfec.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 175
    functionName: Botan_CLI::FEC_Encode::go
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - get_arg
    - auto::insert
    - std::ostringstream::str
    - slurp_file
    - FEC_Share::serialize_to
    - Botan::ZFEC::encode
    - auto::update
    - auto::push_back
    - auto::end
    - auto::data
    - Botan::HashFunction::create_or_throw
    - auto::size
    - std::string::empty
    - auto::final
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: Botan_CLI::FEC_Decode::FEC_Decode
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FEC_Decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Botan_CLI::FEC_Decode::group
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Botan_CLI::FEC_Decode::description
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/cli/zfec.cpp:189,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/zfec.cpp:194,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/zfec.cpp:195,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/cli/zfec.cpp:198,1
    - Dst: auto::data
      Src: /src/botan/src/cli/zfec.cpp:198,1
    - Dst: auto::size
      Src: /src/botan/src/cli/zfec.cpp:198,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/zfec.cpp:199,1
    - Dst: error_output
      Src: /src/botan/src/cli/zfec.cpp:201,1
    - Dst: what
      Src: /src/botan/src/cli/zfec.cpp:201,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/zfec.cpp:205,1
    - Dst: error_output
      Src: /src/botan/src/cli/zfec.cpp:206,1
    - Dst: Botan_CLI::FEC_Decode::set_return_code
      Src: /src/botan/src/cli/zfec.cpp:207,1
    - Dst: auto::k
      Src: /src/botan/src/cli/zfec.cpp:218,1
    - Dst: auto::n
      Src: /src/botan/src/cli/zfec.cpp:219,1
    - Dst: auto::padding
      Src: /src/botan/src/cli/zfec.cpp:220,1
    - Dst: auto::share_size
      Src: /src/botan/src/cli/zfec.cpp:221,1
    - Dst: auto::k
      Src: /src/botan/src/cli/zfec.cpp:223,1
    - Dst: auto::n
      Src: /src/botan/src/cli/zfec.cpp:223,1
    - Dst: auto::padding
      Src: /src/botan/src/cli/zfec.cpp:223,1
    - Dst: auto::share_size
      Src: /src/botan/src/cli/zfec.cpp:223,1
    - Dst: error_output
      Src: /src/botan/src/cli/zfec.cpp:224,1
    - Dst: Botan_CLI::FEC_Decode::set_return_code
      Src: /src/botan/src/cli/zfec.cpp:225,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/zfec.cpp:231,1
    - Dst: error_output
      Src: /src/botan/src/cli/zfec.cpp:232,1
    - Dst: Botan_CLI::FEC_Decode::set_return_code
      Src: /src/botan/src/cli/zfec.cpp:233,1
    - Dst: std::memcpy
      Src: /src/botan/src/cli/zfec.cpp:242,1
    - Dst: auto::share_id
      Src: /src/botan/src/cli/zfec.cpp:248,1
    - Dst: auto::share_data
      Src: /src/botan/src/cli/zfec.cpp:248,1
    - Dst: Botan::ZFEC::decode_shares
      Src: /src/botan/src/cli/zfec.cpp:251,1
    - Dst: auto::process
      Src: /src/botan/src/cli/zfec.cpp:253,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/zfec.cpp:253,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/zfec.cpp:253,1
    - Dst: Botan::constant_time_compare
      Src: /src/botan/src/cli/zfec.cpp:255,1
    - Dst: auto::data
      Src: /src/botan/src/cli/zfec.cpp:256,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/zfec.cpp:256,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:257,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/zfec.cpp:261,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:262,1
    - Dst: output_binary
      Src: /src/botan/src/cli/zfec.cpp:266,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/zfec.cpp:266,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/zfec.cpp:266,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/zfec.cpp:266,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 267
    functionName: Botan_CLI::FEC_Decode::go
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - auto::share_size
    - slurp_file
    - what
    - CLI_Error
    - auto::padding
    - error_output
    - Botan_CLI::FEC_Share::deserialize
    - auto::k
    - auto::share_data
    - auto::size
    - auto::process
    - std::vector::size
    - std::vector::data
    - auto::share_id
    - auto::data
    - Botan::HashFunction::create_or_throw
    - std::memcpy
    - auto::n
    - std::vector::push_back
    - std::vector::empty
    - reinterpret_cast<const char*>
    - Botan_CLI::FEC_Decode::set_return_code
    - output_binary
    - get_arg_list
    - Botan::constant_time_compare
    - Botan::ZFEC::decode_shares
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: Botan_CLI::FEC_Info::FEC_Info
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FEC_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: Botan_CLI::FEC_Info::group
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: Botan_CLI::FEC_Info::description
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/cli/zfec.cpp:281,1
    - Dst: get_arg
      Src: /src/botan/src/cli/zfec.cpp:283,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/zfec.cpp:284,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/cli/zfec.cpp:287,1
    - Dst: auto::data
      Src: /src/botan/src/cli/zfec.cpp:287,1
    - Dst: auto::size
      Src: /src/botan/src/cli/zfec.cpp:287,1
    - Dst: output
      Src: /src/botan/src/cli/zfec.cpp:288,1
    - Dst: auto::share_id
      Src: /src/botan/src/cli/zfec.cpp:288,1
    - Dst: auto::n
      Src: /src/botan/src/cli/zfec.cpp:288,1
    - Dst: auto::k
      Src: /src/botan/src/cli/zfec.cpp:288,1
    - Dst: error_output
      Src: /src/botan/src/cli/zfec.cpp:291,1
    - Dst: what
      Src: /src/botan/src/cli/zfec.cpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 293
    functionName: Botan_CLI::FEC_Info::go
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - auto::share_id
    - get_arg
    - slurp_file
    - what
    - Botan_CLI::FEC_Share::deserialize
    - output
    - auto::data
    - auto::k
    - Botan::HashFunction::create_or_throw
    - auto::size
    - error_output
    - auto::n
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan_CLI::PerfTest_BlockCipher::PerfTest_BlockCipher
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerfTest_BlockCipher(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::providers
      Src: /src/botan/src/cli/perf_sym.cpp:46,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/cli/perf_sym.cpp:47,1
    - Dst: Botan_CLI::PerfTest_BlockCipher::bench_stream_cipher
      Src: /src/botan/src/cli/perf_sym.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: Botan_CLI::PerfTest_BlockCipher::go
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::providers
    - Botan_CLI::PerfTest_BlockCipher::bench_stream_cipher
    - Botan::BlockCipher::create
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::providers
      Src: /src/botan/src/cli/perf_sym.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan_CLI::PerfTest_BlockCipher::has_impl_for
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::providers
    linkageType: ''
    returnType: bool
    signature: bool has_impl_for(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:57,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_sym.cpp:58,1
    - Dst: provider
      Src: /src/botan/src/cli/perf_sym.cpp:59,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:61,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:61,1
    - Dst: maximum_keylength
      Src: /src/botan/src/cli/perf_sym.cpp:63,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_sym.cpp:64,1
    - Dst: set_key
      Src: /src/botan/src/cli/perf_sym.cpp:64,1
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_sym.cpp:68,1
    - Dst: std::set::insert
      Src: /src/botan/src/cli/perf_sym.cpp:70,1
    - Dst: std::set::insert
      Src: /src/botan/src/cli/perf_sym.cpp:72,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:81,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:81,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:81,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:82,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:82,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:82,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:84,1
    - Dst: encrypt_n
      Src: /src/botan/src/cli/perf_sym.cpp:86,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:89,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:91,1
    - Dst: decrypt_n
      Src: /src/botan/src/cli/perf_sym.cpp:93,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ' config'
    - ' cipher'
    argTypes:
    - PerfConfig
    - Botan::BlockCipher
    constantsTouched: []
    func_position:
      end: 98
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 98
    functionName: Botan_CLI::PerfTest_BlockCipher::bench_stream_cipher
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached:
    - auto::run
    - std::vector::size
    - set_key
    - runtime
    - provider
    - std::set::insert
    - make_timer
    - name
    - encrypt_n
    - record_result
    - buffer_sizes
    - rng
    - maximum_keylength
    - auto::run_until_elapsed
    - decrypt_n
    linkageType: ''
    returnType: void
    signature: void bench_stream_cipher(const PerfConfig& config, Botan::BlockCipher&
      cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan_CLI::PerfTest_CipherMode::PerfTest_CipherMode
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerfTest_CipherMode(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::providers
      Src: /src/botan/src/cli/perf_sym.cpp:110,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/cli/perf_sym.cpp:111,1
    - Dst: Botan::Cipher_Mode::create_or_throw
      Src: /src/botan/src/cli/perf_sym.cpp:112,1
    - Dst: Botan_CLI::PerfTest_CipherMode::bench_cipher_mode
      Src: /src/botan/src/cli/perf_sym.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: Botan_CLI::PerfTest_CipherMode::go
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_CipherMode::bench_cipher_mode
    - Botan::Cipher_Mode::providers
    - Botan::Cipher_Mode::create_or_throw
    - Botan::Cipher_Mode::create
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::providers
      Src: /src/botan/src/cli/perf_sym.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan_CLI::PerfTest_CipherMode::has_impl_for
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::Cipher_Mode::providers
    linkageType: ''
    returnType: bool
    signature: bool has_impl_for(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:122,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_sym.cpp:123,1
    - Dst: provider
      Src: /src/botan/src/cli/perf_sym.cpp:124,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:126,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:126,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:128,1
    - Dst: key_spec
      Src: /src/botan/src/cli/perf_sym.cpp:128,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_sym.cpp:130,1
    - Dst: set_key
      Src: /src/botan/src/cli/perf_sym.cpp:130,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_sym.cpp:131,1
    - Dst: set_key
      Src: /src/botan/src/cli/perf_sym.cpp:131,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:133,1
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_sym.cpp:135,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_sym.cpp:136,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:139,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:139,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:139,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:140,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:140,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:140,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_sym.cpp:142,1
    - Dst: default_nonce_length
      Src: /src/botan/src/cli/perf_sym.cpp:142,1
    - Dst: minimum_final_size
      Src: /src/botan/src/cli/perf_sym.cpp:144,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:145,1
    - Dst: start
      Src: /src/botan/src/cli/perf_sym.cpp:147,1
    - Dst: finish
      Src: /src/botan/src/cli/perf_sym.cpp:148,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/cli/perf_sym.cpp:149,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_sym.cpp:153,1
    - Dst: Botan::secure_vector::empty
      Src: /src/botan/src/cli/perf_sym.cpp:154,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:155,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/cli/perf_sym.cpp:159,1
    - Dst: start
      Src: /src/botan/src/cli/perf_sym.cpp:160,1
    - Dst: finish
      Src: /src/botan/src/cli/perf_sym.cpp:161,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_sym.cpp:165,1
    - Dst: start
      Src: /src/botan/src/cli/perf_sym.cpp:168,1
    - Dst: finish
      Src: /src/botan/src/cli/perf_sym.cpp:169,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:175,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - ' config'
    - ' enc'
    - ' dec'
    argTypes:
    - PerfConfig
    - Botan::Cipher_Mode
    - Botan::Cipher_Mode
    constantsTouched: []
    func_position:
      end: 178
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 178
    functionName: Botan_CLI::PerfTest_CipherMode::bench_cipher_mode
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached:
    - name
    - Botan::secure_vector::size
    - auto::run_until_elapsed
    - default_nonce_length
    - finish
    - start
    - auto::under
    - buffer_sizes
    - record_result
    - auto::run
    - set_key
    - runtime
    - provider
    - key_spec
    - make_timer
    - Botan::secure_vector::resize
    - rng
    - random_vec
    - minimum_final_size
    - Botan::secure_vector::empty
    linkageType: ''
    returnType: void
    signature: void bench_cipher_mode(const PerfConfig& config, Botan::Cipher_Mode&
      enc, Botan::Cipher_Mode& dec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: Botan_CLI::PerfTest_StreamCipher::PerfTest_StreamCipher
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerfTest_StreamCipher(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::providers
      Src: /src/botan/src/cli/perf_sym.cpp:190,1
    - Dst: Botan::StreamCipher::create
      Src: /src/botan/src/cli/perf_sym.cpp:191,1
    - Dst: Botan_CLI::PerfTest_StreamCipher::bench_stream_cipher
      Src: /src/botan/src/cli/perf_sym.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: Botan_CLI::PerfTest_StreamCipher::go
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::StreamCipher::create
    - Botan_CLI::PerfTest_StreamCipher::bench_stream_cipher
    - Botan::StreamCipher::providers
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::providers
      Src: /src/botan/src/cli/perf_sym.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: Botan_CLI::PerfTest_StreamCipher::has_impl_for
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::StreamCipher::providers
    linkageType: ''
    returnType: bool
    signature: bool has_impl_for(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:201,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_sym.cpp:202,1
    - Dst: provider
      Src: /src/botan/src/cli/perf_sym.cpp:203,1
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_sym.cpp:205,1
    - Dst: maximum_keylength
      Src: /src/botan/src/cli/perf_sym.cpp:206,1
    - Dst: set_key
      Src: /src/botan/src/cli/perf_sym.cpp:207,1
    - Dst: valid_iv_length
      Src: /src/botan/src/cli/perf_sym.cpp:209,1
    - Dst: set_iv
      Src: /src/botan/src/cli/perf_sym.cpp:211,1
    - Dst: Botan::InitializationVector::begin
      Src: /src/botan/src/cli/perf_sym.cpp:211,1
    - Dst: Botan::InitializationVector::size
      Src: /src/botan/src/cli/perf_sym.cpp:211,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_sym.cpp:214,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:218,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:218,1
    - Dst: auto::size
      Src: /src/botan/src/cli/perf_sym.cpp:218,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:220,1
    - Dst: encipher
      Src: /src/botan/src/cli/perf_sym.cpp:222,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:226,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:229,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:229,1
    - Dst: auto::size
      Src: /src/botan/src/cli/perf_sym.cpp:229,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_sym.cpp:231,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_sym.cpp:232,1
    - Dst: write_keystream
      Src: /src/botan/src/cli/perf_sym.cpp:234,1
    - Dst: auto::data
      Src: /src/botan/src/cli/perf_sym.cpp:234,1
    - Dst: auto::size
      Src: /src/botan/src/cli/perf_sym.cpp:234,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ' config'
    - ' cipher'
    argTypes:
    - PerfConfig
    - Botan::StreamCipher
    constantsTouched: []
    func_position:
      end: 241
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 241
    functionName: Botan_CLI::PerfTest_StreamCipher::bench_stream_cipher
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached:
    - Botan::InitializationVector::begin
    - name
    - set_iv
    - auto::run_until_elapsed
    - auto::under
    - buffer_sizes
    - maximum_keylength
    - auto::size
    - record_result
    - auto::run
    - set_key
    - runtime
    - encipher
    - valid_iv_length
    - provider
    - auto::data
    - Botan::InitializationVector::size
    - make_timer
    - write_keystream
    - rng
    - random_vec
    linkageType: ''
    returnType: void
    signature: void bench_stream_cipher(const PerfConfig& config, Botan::StreamCipher&
      cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: Botan_CLI::PerfTest_HashFunction::PerfTest_HashFunction
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerfTest_HashFunction(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::providers
      Src: /src/botan/src/cli/perf_sym.cpp:253,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/cli/perf_sym.cpp:254,1
    - Dst: Botan_CLI::PerfTest_HashFunction::bench_hash_fn
      Src: /src/botan/src/cli/perf_sym.cpp:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: Botan_CLI::PerfTest_HashFunction::go
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::providers
    - Botan::HashFunction::create
    - Botan_CLI::PerfTest_HashFunction::bench_hash_fn
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::providers
      Src: /src/botan/src/cli/perf_sym.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: Botan_CLI::PerfTest_HashFunction::has_impl_for
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::providers
    linkageType: ''
    returnType: bool
    signature: bool has_impl_for(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/cli/perf_sym.cpp:264,1
    - Dst: provider
      Src: /src/botan/src/cli/perf_sym.cpp:265,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_sym.cpp:266,1
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_sym.cpp:268,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:269,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:273,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:273,1
    - Dst: auto::size
      Src: /src/botan/src/cli/perf_sym.cpp:273,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:274,1
    - Dst: update
      Src: /src/botan/src/cli/perf_sym.cpp:276,1
    - Dst: final
      Src: /src/botan/src/cli/perf_sym.cpp:277,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_sym.cpp:277,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' config'
    - ' hash'
    argTypes:
    - PerfConfig
    - Botan::HashFunction
    constantsTouched: []
    func_position:
      end: 282
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 282
    functionName: Botan_CLI::PerfTest_HashFunction::bench_hash_fn
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - runtime
    - update
    - provider
    - make_timer
    - name
    - record_result
    - buffer_sizes
    - rng
    - output_length
    - auto::size
    - auto::run_until_elapsed
    - final
    linkageType: ''
    returnType: void
    signature: void bench_hash_fn(const PerfConfig& config, Botan::HashFunction& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan_CLI::PerfTest_MessageAuthenticationCode::PerfTest_MessageAuthenticationCode
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerfTest_MessageAuthenticationCode(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::providers
      Src: /src/botan/src/cli/perf_sym.cpp:294,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/cli/perf_sym.cpp:295,1
    - Dst: Botan_CLI::PerfTest_MessageAuthenticationCode::bench_mac_fn
      Src: /src/botan/src/cli/perf_sym.cpp:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: Botan_CLI::PerfTest_MessageAuthenticationCode::go
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::providers
    - Botan::MessageAuthenticationCode::create
    - Botan_CLI::PerfTest_MessageAuthenticationCode::bench_mac_fn
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::providers
      Src: /src/botan/src/cli/perf_sym.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: Botan_CLI::PerfTest_MessageAuthenticationCode::has_impl_for
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::providers
    linkageType: ''
    returnType: bool
    signature: bool has_impl_for(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/cli/perf_sym.cpp:307,1
    - Dst: provider
      Src: /src/botan/src/cli/perf_sym.cpp:308,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_sym.cpp:309,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:310,1
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_sym.cpp:312,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_sym.cpp:313,1
    - Dst: maximum_keylength
      Src: /src/botan/src/cli/perf_sym.cpp:316,1
    - Dst: set_key
      Src: /src/botan/src/cli/perf_sym.cpp:317,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:319,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:319,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:319,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:320,1
    - Dst: fresh_key_required_per_message
      Src: /src/botan/src/cli/perf_sym.cpp:322,1
    - Dst: set_key
      Src: /src/botan/src/cli/perf_sym.cpp:323,1
    - Dst: start
      Src: /src/botan/src/cli/perf_sym.cpp:325,1
    - Dst: update
      Src: /src/botan/src/cli/perf_sym.cpp:326,1
    - Dst: final
      Src: /src/botan/src/cli/perf_sym.cpp:327,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_sym.cpp:327,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' config'
    - ' mac'
    argTypes:
    - PerfConfig
    - Botan::MessageAuthenticationCode
    constantsTouched: []
    func_position:
      end: 333
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 333
    functionName: Botan_CLI::PerfTest_MessageAuthenticationCode::bench_mac_fn
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - set_key
    - runtime
    - start
    - update
    - provider
    - make_timer
    - name
    - random_vec
    - Botan::secure_vector::size
    - record_result
    - buffer_sizes
    - rng
    - output_length
    - maximum_keylength
    - auto::run_until_elapsed
    - fresh_key_required_per_message
    - final
    linkageType: ''
    returnType: void
    signature: void bench_mac_fn(const PerfConfig& config, Botan::MessageAuthenticationCode&
      mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: Botan_CLI::PerfTest_XOF::PerfTest_XOF
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerfTest_XOF(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XOF::providers
      Src: /src/botan/src/cli/perf_sym.cpp:345,1
    - Dst: Botan::XOF::create
      Src: /src/botan/src/cli/perf_sym.cpp:346,1
    - Dst: Botan_CLI::PerfTest_XOF::bench_xof_fn
      Src: /src/botan/src/cli/perf_sym.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: Botan_CLI::PerfTest_XOF::go
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::XOF::create
    - Botan_CLI::PerfTest_XOF::bench_xof_fn
    - Botan::XOF::providers
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XOF::providers
      Src: /src/botan/src/cli/perf_sym.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: Botan_CLI::PerfTest_XOF::has_impl_for
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::XOF::providers
    linkageType: ''
    returnType: bool
    signature: bool has_impl_for(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_sym.cpp:356,1
    - Dst: provider
      Src: /src/botan/src/cli/perf_sym.cpp:357,1
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_sym.cpp:359,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:360,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:363,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:363,1
    - Dst: auto::size
      Src: /src/botan/src/cli/perf_sym.cpp:363,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:364,1
    - Dst: update
      Src: /src/botan/src/cli/perf_sym.cpp:364,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:366,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:366,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:366,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:367,1
    - Dst: output
      Src: /src/botan/src/cli/perf_sym.cpp:367,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:369,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' config'
    - ' xof'
    argTypes:
    - PerfConfig
    - Botan::XOF
    constantsTouched: []
    func_position:
      end: 372
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 372
    functionName: Botan_CLI::PerfTest_XOF::bench_xof_fn
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached:
    - runtime
    - update
    - provider
    - make_timer
    - name
    - output
    - Botan::secure_vector::size
    - record_result
    - buffer_sizes
    - rng
    - auto::size
    - auto::run_until_elapsed
    linkageType: ''
    returnType: void
    signature: void bench_xof_fn(const PerfConfig& config, Botan::XOF& xof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_XOF::has_impl_for
      Src: /src/botan/src/cli/perf_sym.cpp:381,1
    - Dst: std::make_unique<PerfTest_XOF>
      Src: /src/botan/src/cli/perf_sym.cpp:382,1
    - Dst: Botan_CLI::PerfTest_StreamCipher::has_impl_for
      Src: /src/botan/src/cli/perf_sym.cpp:387,1
    - Dst: std::make_unique<PerfTest_StreamCipher>
      Src: /src/botan/src/cli/perf_sym.cpp:388,1
    - Dst: Botan_CLI::PerfTest_BlockCipher::has_impl_for
      Src: /src/botan/src/cli/perf_sym.cpp:393,1
    - Dst: std::make_unique<PerfTest_BlockCipher>
      Src: /src/botan/src/cli/perf_sym.cpp:394,1
    - Dst: Botan_CLI::PerfTest_CipherMode::has_impl_for
      Src: /src/botan/src/cli/perf_sym.cpp:399,1
    - Dst: std::make_unique<PerfTest_CipherMode>
      Src: /src/botan/src/cli/perf_sym.cpp:400,1
    - Dst: Botan_CLI::PerfTest_HashFunction::has_impl_for
      Src: /src/botan/src/cli/perf_sym.cpp:405,1
    - Dst: std::make_unique<PerfTest_HashFunction>
      Src: /src/botan/src/cli/perf_sym.cpp:406,1
    - Dst: Botan_CLI::PerfTest_MessageAuthenticationCode::has_impl_for
      Src: /src/botan/src/cli/perf_sym.cpp:411,1
    - Dst: std::make_unique<PerfTest_MessageAuthenticationCode>
      Src: /src/botan/src/cli/perf_sym.cpp:412,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/perf_sym.cpp:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' alg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 418
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 418
    functionName: Botan_CLI::PerfTest::get_sym
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan_CLI::PerfTest_CipherMode::has_impl_for
    - Botan_CLI::PerfTest_MessageAuthenticationCode::has_impl_for
    - std::make_unique<PerfTest_BlockCipher>
    - std::make_unique<PerfTest_StreamCipher>
    - std::make_unique<PerfTest_XOF>
    - std::make_unique<PerfTest_MessageAuthenticationCode>
    - Botan_CLI::PerfTest_XOF::has_impl_for
    - std::make_unique<PerfTest_CipherMode>
    - Botan_CLI::PerfTest_HashFunction::has_impl_for
    - std::make_unique<PerfTest_HashFunction>
    - Botan_CLI::PerfTest_BlockCipher::has_impl_for
    - Botan_CLI::PerfTest_StreamCipher::has_impl_for
    linkageType: ''
    returnType: std::unique_ptr<PerfTest>
    signature: std::unique_ptr<PerfTest> PerfTest::get_sym(const std::string& alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - cc_number
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: Botan_CLI::luhn_checksum
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t luhn_checksum(uint64_t cc_number)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::luhn_checksum
      Src: /src/botan/src/cli/cc_enc.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc_number
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan_CLI::luhn_check
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::luhn_checksum
    linkageType: ''
    returnType: bool
    signature: bool luhn_check(uint64_t cc_number)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc_number
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Botan_CLI::cc_rank
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t cc_rank(uint64_t cc_number)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::luhn_check
      Src: /src/botan/src/cli/cc_enc.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cc_number
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: Botan_CLI::cc_derank
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::luhn_check
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t cc_derank(uint64_t cc_number)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE::fe1_encrypt
      Src: /src/botan/src/cli/cc_enc.cpp:66,1
    - Dst: Botan::BigInt::bits
      Src: /src/botan/src/cli/cc_enc.cpp:68,1
    - Dst: Botan::Internal_Error::Internal_Error
      Src: /src/botan/src/cli/cc_enc.cpp:69,1
    - Dst: Botan::BigInt::byte_at
      Src: /src/botan/src/cli/cc_enc.cpp:74,1
    - Dst: Botan_CLI::cc_derank
      Src: /src/botan/src/cli/cc_enc.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cc_number
    - ' key'
    - ' tweak'
    argTypes:
    - uint64_t
    - Botan::SymmetricKey
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: Botan_CLI::encrypt_cc_number
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached:
    - Botan::Internal_Error::Internal_Error
    - Botan::BigInt::bits
    - Botan::FPE::fe1_encrypt
    - Botan_CLI::cc_derank
    - Botan::BigInt::byte_at
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t encrypt_cc_number(uint64_t cc_number, const Botan::SymmetricKey&
      key, const std::vector<uint8_t>& tweak)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE::fe1_decrypt
      Src: /src/botan/src/cli/cc_enc.cpp:84,1
    - Dst: Botan::BigInt::bits
      Src: /src/botan/src/cli/cc_enc.cpp:86,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/cc_enc.cpp:87,1
    - Dst: Botan::BigInt::byte_at
      Src: /src/botan/src/cli/cc_enc.cpp:92,1
    - Dst: Botan_CLI::cc_derank
      Src: /src/botan/src/cli/cc_enc.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - enc_cc
    - ' key'
    - ' tweak'
    argTypes:
    - uint64_t
    - Botan::SymmetricKey
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: Botan_CLI::decrypt_cc_number
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached:
    - CLI_Error
    - Botan::FPE::fe1_decrypt
    - Botan::BigInt::bits
    - Botan_CLI::cc_derank
    - Botan::BigInt::byte_at
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decrypt_cc_number(uint64_t enc_cc, const Botan::SymmetricKey&
      key, const std::vector<uint8_t>& tweak)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: Botan_CLI::CC_Encrypt::CC_Encrypt
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CC_Encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Botan_CLI::CC_Encrypt::group
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Botan_CLI::CC_Encrypt::description
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/cc_enc.cpp:111,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cc_enc.cpp:111,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cc_enc.cpp:112,1
    - Dst: Botan::PBKDF::create
      Src: /src/botan/src/cli/cc_enc.cpp:114,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/cc_enc.cpp:116,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/cli/cc_enc.cpp:119,1
    - Dst: auto::pbkdf_iterations
      Src: /src/botan/src/cli/cc_enc.cpp:119,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/cc_enc.cpp:119,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/cc_enc.cpp:119,1
    - Dst: output
      Src: /src/botan/src/cli/cc_enc.cpp:121,1
    - Dst: encrypt_cc_number
      Src: /src/botan/src/cli/cc_enc.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: Botan_CLI::CC_Encrypt::go
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - get_arg
    - Botan::SymmetricKey
    - CLI_Error_Unsupported
    - encrypt_cc_number
    - Botan::hex_decode
    - output
    - Botan::PBKDF::create
    - auto::pbkdf_iterations
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan_CLI::CC_Decrypt::CC_Decrypt
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CC_Decrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan_CLI::CC_Decrypt::group
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Botan_CLI::CC_Decrypt::description
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/cc_enc.cpp:139,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cc_enc.cpp:139,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cc_enc.cpp:140,1
    - Dst: Botan::PBKDF::create
      Src: /src/botan/src/cli/cc_enc.cpp:142,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/cc_enc.cpp:144,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/cli/cc_enc.cpp:147,1
    - Dst: auto::pbkdf_iterations
      Src: /src/botan/src/cli/cc_enc.cpp:147,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/cc_enc.cpp:147,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/cc_enc.cpp:147,1
    - Dst: output
      Src: /src/botan/src/cli/cc_enc.cpp:149,1
    - Dst: decrypt_cc_number
      Src: /src/botan/src/cli/cc_enc.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: Botan_CLI::CC_Decrypt::go
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - get_arg
    - Botan::SymmetricKey
    - CLI_Error_Unsupported
    - Botan::hex_decode
    - output
    - decrypt_cc_number
    - Botan::PBKDF::create
    - auto::pbkdf_iterations
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan_CLI::PerfTest_ASN1_Parsing::get_hash_function
    functionSourceFile: /src/botan/src/cli/perf_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view get_hash_function()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_x509.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan_CLI::PerfTest_ASN1_Parsing::create_private_key
    functionSourceFile: /src/botan/src/cli/perf_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> create_private_key(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::X509_Cert_Options
      Src: /src/botan/src/cli/perf_x509.cpp:43,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::create_private_key
      Src: /src/botan/src/cli/perf_x509.cpp:48,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/cli/perf_x509.cpp:49,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/cli/perf_x509.cpp:50,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::get_hash_function
      Src: /src/botan/src/cli/perf_x509.cpp:50,1
    - Dst: Botan::X509_CA::X509_CA
      Src: /src/botan/src/cli/perf_x509.cpp:51,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::get_hash_function
      Src: /src/botan/src/cli/perf_x509.cpp:51,1
    - Dst: std::move
      Src: /src/botan/src/cli/perf_x509.cpp:54,1
    - Dst: std::move
      Src: /src/botan/src/cli/perf_x509.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: Botan_CLI::PerfTest_ASN1_Parsing::create_ca
    functionSourceFile: /src/botan/src/cli/perf_x509.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan_CLI::PerfTest_ASN1_Parsing::get_hash_function
    - Botan::X509::create_self_signed_cert
    - BOTAN_ASSERT_NONNULL
    - Botan::X509_Cert_Options::X509_Cert_Options
    - Botan_CLI::PerfTest_ASN1_Parsing::create_private_key
    - Botan::X509_CA::X509_CA
    linkageType: ''
    returnType: CA
    signature: CA create_ca(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/cli/perf_x509.cpp:63,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/cli/perf_x509.cpp:64,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/cli/perf_x509.cpp:65,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/cli/perf_x509.cpp:66,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/cli/perf_x509.cpp:67,1
    - Dst: Botan::AlternativeName::AlternativeName
      Src: /src/botan/src/cli/perf_x509.cpp:69,1
    - Dst: Botan::AlternativeName::add_dns
      Src: /src/botan/src/cli/perf_x509.cpp:70,1
    - Dst: Botan::AlternativeName::add_email
      Src: /src/botan/src/cli/perf_x509.cpp:71,1
    - Dst: Botan::Extensions::add
      Src: /src/botan/src/cli/perf_x509.cpp:74,1
    - Dst: std::make_unique<Botan::Cert_Extension::Subject_Alternative_Name>
      Src: /src/botan/src/cli/perf_x509.cpp:74,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::create_private_key
      Src: /src/botan/src/cli/perf_x509.cpp:76,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/cli/perf_x509.cpp:77,1
    - Dst: Botan::PKCS10_Request::create
      Src: /src/botan/src/cli/perf_x509.cpp:78,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::get_hash_function
      Src: /src/botan/src/cli/perf_x509.cpp:78,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/perf_x509.cpp:80,1
    - Dst: ca::sign_request
      Src: /src/botan/src/cli/perf_x509.cpp:82,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/cli/perf_x509.cpp:82,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/cli/perf_x509.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - common_name
    - ' ca'
    - ' rng'
    argTypes:
    - std::string_view
    - CA
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 83
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 83
    functionName: Botan_CLI::PerfTest_ASN1_Parsing::make_certificate
    functionSourceFile: /src/botan/src/cli/perf_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::add_dns
    - Botan_CLI::PerfTest_ASN1_Parsing::get_hash_function
    - ca::sign_request
    - Botan_CLI::PerfTest_ASN1_Parsing::create_private_key
    - Botan::PKCS10_Request::create
    - std::make_unique<Botan::Cert_Extension::Subject_Alternative_Name>
    - BOTAN_ASSERT_NONNULL
    - Botan::X509_Time
    - Botan::AlternativeName::add_email
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::X509_DN::add_attribute
    - Botan::Extensions::add
    - Botan::AlternativeName::AlternativeName
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: "Botan::X509_Certificate make_certificate(std::string_view common_name,\n
      \                                                     CA& ca,\n                                                      Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ca::new_crl
      Src: /src/botan/src/cli/perf_x509.cpp:86,1
    - Dst: std::generate
      Src: /src/botan/src/cli/perf_x509.cpp:89,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/perf_x509.cpp:89,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/perf_x509.cpp:89,1
    - Dst: Botan::Extensions::add
      Src: /src/botan/src/cli/perf_x509.cpp:96,1
    - Dst: std::make_unique<Botan::Cert_Extension::CRL_ReasonCode>
      Src: /src/botan/src/cli/perf_x509.cpp:96,1
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/cli/perf_x509.cpp:97,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/cli/perf_x509.cpp:99,1
    - Dst: random_array
      Src: /src/botan/src/cli/perf_x509.cpp:99,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/cli/perf_x509.cpp:100,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/perf_x509.cpp:100,1
    - Dst: Botan::CRL_Entry::CRL_Entry
      Src: /src/botan/src/cli/perf_x509.cpp:108,1
    - Dst: Botan::CRL_Entry::decode_from
      Src: /src/botan/src/cli/perf_x509.cpp:109,1
    - Dst: ca::update_crl
      Src: /src/botan/src/cli/perf_x509.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - entries
    - ' ca'
    - ' rng'
    argTypes:
    - size_t
    - CA
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 114
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 114
    functionName: Botan_CLI::PerfTest_ASN1_Parsing::make_revocation_list
    functionSourceFile: /src/botan/src/cli/perf_x509.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Cert_Extension::CRL_ReasonCode>
    - Botan::BigInt::from_bytes
    - std::generate
    - Botan::CRL_Entry::decode_from
    - Botan::DER_Encoder::DER_Encoder
    - Botan::X509_Time
    - Botan::TLS::detail::AsyncBase::complete_now
    - std::vector::begin
    - ca::new_crl
    - Botan::CRL_Entry::CRL_Entry
    - ca::update_crl
    - random_array
    - Botan::Extensions::add
    - std::vector::end
    linkageType: ''
    returnType: Botan::X509_CRL
    signature: Botan::X509_CRL make_revocation_list(size_t entries, CA& ca, Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::create_ca
      Src: /src/botan/src/cli/perf_x509.cpp:118,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_x509.cpp:118,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::make_certificate
      Src: /src/botan/src/cli/perf_x509.cpp:119,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_x509.cpp:119,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::make_revocation_list
      Src: /src/botan/src/cli/perf_x509.cpp:120,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_x509.cpp:120,1
    - Dst: auto::BER_encode
      Src: /src/botan/src/cli/perf_x509.cpp:122,1
    - Dst: auto::BER_encode
      Src: /src/botan/src/cli/perf_x509.cpp:123,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_x509.cpp:125,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_x509.cpp:126,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_x509.cpp:128,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_x509.cpp:130,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_x509.cpp:131,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/cli/perf_x509.cpp:132,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_x509.cpp:133,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_x509.cpp:136,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_x509.cpp:137,1
    - Dst: Botan::X509_CRL::X509_CRL
      Src: /src/botan/src/cli/perf_x509.cpp:138,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_x509.cpp:139,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_x509.cpp:142,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_x509.cpp:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 144
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 144
    functionName: Botan_CLI::PerfTest_ASN1_Parsing::go
    functionSourceFile: /src/botan/src/cli/perf_x509.cpp
    functionUses: 0
    functionsReached:
    - runtime
    - auto::under
    - auto::BER_encode
    - Botan_CLI::PerfTest_ASN1_Parsing::make_certificate
    - make_timer
    - Botan::X509_Certificate
    - Botan_CLI::PerfTest_ASN1_Parsing::make_revocation_list
    - auto::start
    - Botan::X509_CRL::X509_CRL
    - rng
    - Botan_CLI::PerfTest_ASN1_Parsing::create_ca
    - auto::stop
    - record_result
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan_CLI::ASN1_Printer::ASN1_Printer
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Printer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::ASN1_Printer::group
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_CLI::ASN1_Printer::description
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/cli/asn1.cpp:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' data'
    - n
    - b
    argTypes:
    - std::vector<uint8_t>
    - size_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: Botan_CLI::ASN1_Printer::first_n
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool first_n(const std::vector<uint8_t>& data, size_t n, uint8_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/asn1.cpp:45,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/asn1.cpp:54,1
    - Dst: flag_set
      Src: /src/botan/src/cli/asn1.cpp:57,1
    - Dst: std::string::size
      Src: /src/botan/src/cli/asn1.cpp:57,1
    - Dst: std::string::substr
      Src: /src/botan/src/cli/asn1.cpp:57,1
    - Dst: std::string::size
      Src: /src/botan/src/cli/asn1.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/asn1.cpp:58,1
    - Dst: Botan_CLI::ASN1_Printer::first_n
      Src: /src/botan/src/cli/asn1.cpp:58,1
    - Dst: unlock
      Src: /src/botan/src/cli/asn1.cpp:62,1
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/cli/asn1.cpp:62,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/asn1.cpp:64,1
    - Dst: std::vector::swap
      Src: /src/botan/src/cli/asn1.cpp:67,1
    - Dst: Botan::ASN1_Pretty_Printer::print_to_stream
      Src: /src/botan/src/cli/asn1.cpp:73,1
    - Dst: output
      Src: /src/botan/src/cli/asn1.cpp:73,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/asn1.cpp:73,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/asn1.cpp:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: Botan_CLI::ASN1_Printer::go
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - get_arg
    - slurp_file
    - Botan::PEM_Code::decode
    - CLI_Error_Unsupported
    - std::vector::swap
    - output
    - unlock
    - Botan::ASN1_Pretty_Printer::print_to_stream
    - flag_set
    - std::string::size
    - std::string::substr
    - Botan_CLI::ASN1_Printer::first_n
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan_CLI::OID_Info::OID_Info
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OID_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan_CLI::OID_Info::group
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan_CLI::OID_Info::description
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/asn1.cpp:88,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/asn1.cpp:90,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/asn1.cpp:91,1
    - Dst: Botan::OID::human_name_or_empty
      Src: /src/botan/src/cli/asn1.cpp:97,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/asn1.cpp:98,1
    - Dst: output
      Src: /src/botan/src/cli/asn1.cpp:99,1
    - Dst: output
      Src: /src/botan/src/cli/asn1.cpp:101,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/cli/asn1.cpp:108,1
    - Dst: output
      Src: /src/botan/src/cli/asn1.cpp:109,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/cli/asn1.cpp:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: Botan_CLI::OID_Info::go
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached:
    - CLI_Usage_Error
    - get_arg
    - Botan::OID::human_name_or_empty
    - output
    - Botan::OID::from_string
    - Botan::OID::to_string
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' client_command'
    argTypes:
    - TLS_Client
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan_CLI::Callbacks::Callbacks
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Callbacks(TLS_Client& client_command)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan_CLI::Callbacks::peer_closed
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int peer_closed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/tls_client.cpp:60,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/cli/tls_client.cpp:61,1
    - Dst: require_cert_revocation_info
      Src: /src/botan/src/cli/tls_client.cpp:64,1
    - Dst: minimum_signature_strength
      Src: /src/botan/src/cli/tls_client.cpp:65,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/cli/tls_client.cpp:67,1
    - Dst: Botan_CLI::Callbacks::flag_set
      Src: /src/botan/src/cli/tls_client.cpp:69,1
    - Dst: std::string
      Src: /src/botan/src/cli/tls_client.cpp:69,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/cli/tls_client.cpp:71,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/cli/tls_client.cpp:72,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/cli/tls_client.cpp:74,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:75,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/cli/tls_client.cpp:75,1
    - Dst: Botan::Path_Validation_Result::all_statuses
      Src: /src/botan/src/cli/tls_client.cpp:76,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_client.cpp:78,1
    - Dst: contains
      Src: /src/botan/src/cli/tls_client.cpp:78,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:79,1
    - Dst: Botan_CLI::Callbacks::flag_set
      Src: /src/botan/src/cli/tls_client.cpp:82,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:83,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/cli/tls_client.cpp:83,1
    - Dst: TLS_Exception
      Src: /src/botan/src/cli/tls_client.cpp:85,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/cli/tls_client.cpp:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - ' cert_chain'
    - ' ocsp'
    - ' trusted_roots'
    - usage
    - hostname
    - ' policy'
    argTypes:
    - std::vector<Botan::X509_Certificate>
    - std::vector<std::optional<Botan::OCSP::Response>>
    - std::vector<Botan::Certificate_Store*>
    - Botan::Usage_Type
    - std::string_view
    - Botan::TLS::Policy
    constantsTouched: []
    func_position:
      end: 89
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 89
    functionName: Botan_CLI::Callbacks::tls_verify_cert_chain
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - contains
    - require_cert_revocation_info
    - empty
    - output
    - std::string
    - minimum_signature_strength
    - Botan::Path_Validation_Result::all_statuses
    - Invalid_Argument
    - Botan::Path_Validation_Result::successful_validation
    - Botan::x509_path_validate
    - Botan_CLI::Timer::milliseconds
    - Botan::Path_Validation_Result::result_string
    - tls_current_timestamp
    - Botan_CLI::Callbacks::flag_set
    linkageType: ''
    returnType: void
    signature: "void tls_verify_cert_chain(const std::vector<Botan::X509_Certificate>&
      cert_chain,\n                                 const std::vector<std::optional<Botan::OCSP::Response>>&
      ocsp,\n                                 const std::vector<Botan::Certificate_Store*>&
      trusted_roots,\n                                 Botan::Usage_Type usage,\n
      \                                std::string_view hostname,\n                                 const
      Botan::TLS::Policy& policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_public
      Src: /src/botan/src/cli/tls_client.cpp:95,1
    - Dst: Botan_CLI::Callbacks::get_arg
      Src: /src/botan/src/cli/tls_client.cpp:96,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' raw_public_key'
    argTypes:
    - Botan::Public_Key
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: Botan_CLI::Callbacks::tls_verify_raw_public_key
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - fingerprint_public
    - Botan_CLI::Callbacks::get_arg
    - output
    linkageType: ''
    returnType: void
    signature: "void tls_verify_raw_public_key(const Botan::Public_Key& raw_public_key,\n
      \                                    Botan::Usage_Type /* usage */,\n                                     std::string_view
      /* hostname */,\n                                     const Botan::TLS::Policy&
      /* policy */) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: Botan_CLI::Callbacks::tls_session_activated
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - output
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:104,1
    - Dst: version
      Src: /src/botan/src/cli/tls_client.cpp:104,1
    - Dst: external_psk_identity
      Src: /src/botan/src/cli/tls_client.cpp:106,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:107,1
    - Dst: maybe_hex_encode
      Src: /src/botan/src/cli/tls_client.cpp:107,1
    - Dst: value
      Src: /src/botan/src/cli/tls_client.cpp:107,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:110,1
    - Dst: ciphersuite
      Src: /src/botan/src/cli/tls_client.cpp:110,1
    - Dst: kex_parameters
      Src: /src/botan/src/cli/tls_client.cpp:112,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:113,1
    - Dst: session_id
      Src: /src/botan/src/cli/tls_client.cpp:116,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_client.cpp:116,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:117,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_client.cpp:117,1
    - Dst: get
      Src: /src/botan/src/cli/tls_client.cpp:117,1
    - Dst: session_ticket
      Src: /src/botan/src/cli/tls_client.cpp:120,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:121,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_client.cpp:121,1
    - Dst: get
      Src: /src/botan/src/cli/tls_client.cpp:121,1
    - Dst: Botan_CLI::Callbacks::flag_set
      Src: /src/botan/src/cli/tls_client.cpp:124,1
    - Dst: peer_certs
      Src: /src/botan/src/cli/tls_client.cpp:125,1
    - Dst: size
      Src: /src/botan/src/cli/tls_client.cpp:127,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:128,1
    - Dst: size
      Src: /src/botan/src/cli/tls_client.cpp:128,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:129,1
    - Dst: to_string
      Src: /src/botan/src/cli/tls_client.cpp:129,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:130,1
    - Dst: PEM_encode
      Src: /src/botan/src/cli/tls_client.cpp:130,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 134
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 134
    functionName: Botan_CLI::Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - session_id
    - version
    - ciphersuite
    - Botan::hex_encode
    - external_psk_identity
    - PEM_encode
    - kex_parameters
    - maybe_hex_encode
    - empty
    - output
    - to_string
    - get
    - size
    - session_ticket
    - peer_certs
    - value
    - Botan_CLI::Callbacks::flag_set
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& session)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::flag_set
      Src: /src/botan/src/cli/tls_client.cpp:137,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:138,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_client.cpp:138,1
    - Dst: Botan_CLI::Callbacks::send
      Src: /src/botan/src/cli/tls_client.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: Botan_CLI::Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Callbacks::send
    - Botan::hex_encode
    - Botan_CLI::Callbacks::flag_set
    - output
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> buf) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:144,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/cli/tls_client.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: Botan_CLI::Callbacks::tls_alert
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type_string
    - output
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:148,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: Botan_CLI::Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - output
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t /*seq_no*/, std::span<const uint8_t>
      buf) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:158,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::tls_sign_message
      Src: /src/botan/src/cli/tls_client.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' key'
    - ' rng'
    - padding
    - format
    - ' msg'
    argTypes:
    - Botan::Private_Key
    - Botan::RandomNumberGenerator
    - std::string_view
    - Botan::Signature_Format
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: Botan_CLI::Callbacks::tls_sign_message
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::tls_sign_message
    - output
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> tls_sign_message(const Botan::Private_Key& key,\n
      \                                           Botan::RandomNumberGenerator& rng,\n
      \                                           const std::string_view padding,\n
      \                                           Botan::Signature_Format format,\n
      \                                           const std::vector<uint8_t>& msg)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::tls_peer_closed_connection
      Src: /src/botan/src/cli/tls_client.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: Botan_CLI::Callbacks::tls_peer_closed_connection
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::tls_peer_closed_connection
    linkageType: ''
    returnType: bool
    signature: bool tls_peer_closed_connection() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_sockets
      Src: /src/botan/src/cli/tls_client.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: Botan_CLI::TLS_Client::TLS_Client
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - init_sockets
    linkageType: ''
    returnType: void
    signature: void TLS_Client()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stop_sockets
      Src: /src/botan/src/cli/tls_client.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~TLS_Client() override
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - stop_sockets
    linkageType: ''
    returnType: void
    signature: void ~TLS_Client() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Client
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Botan_CLI::TLS_Client::TLS_Client
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Client(const TLS_Client& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Client
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan_CLI::TLS_Client::TLS_Client
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Client(TLS_Client&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Client
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: '& operator=(const TLS_Client& other)'
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLS_Client
    signature: TLS_Client & operator=(const TLS_Client& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Client
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: '& operator=(TLS_Client&& other)'
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLS_Client
    signature: TLS_Client & operator=(TLS_Client&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan_CLI::TLS_Client::group
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: Botan_CLI::TLS_Client::description
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Callbacks>
      Src: /src/botan/src/cli/tls_client.cpp:201,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:203,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:204,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:206,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:207,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:209,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:210,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/tls_client.cpp:212,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/tls_client.cpp:214,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/cli/tls_client.cpp:216,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_client.cpp:216,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_client.cpp:218,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/cli/tls_client.cpp:223,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_client.cpp:223,1
    - Dst: load_tls_policy
      Src: /src/botan/src/cli/tls_client.cpp:226,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:226,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/tls_client.cpp:229,1
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/tls_client.cpp:232,1
    - Dst: std::make_shared<Botan::TLS::Policy>
      Src: /src/botan/src/cli/tls_client.cpp:235,1
    - Dst: auto::latest_supported_version
      Src: /src/botan/src/cli/tls_client.cpp:239,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_client.cpp:247,1
    - Dst: Botan_CLI::TLS_Client::connect_to_host
      Src: /src/botan/src/cli/tls_client.cpp:251,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_client.cpp:253,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_client.cpp:254,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_client.cpp:257,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/cli/tls_client.cpp:259,1
    - Dst: auto::value
      Src: /src/botan/src/cli/tls_client.cpp:259,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_client.cpp:264,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_client.cpp:265,1
    - Dst: std::make_shared<Basic_Credentials_Manager>
      Src: /src/botan/src/cli/tls_client.cpp:267,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_client.cpp:271,1
    - Dst: Botan::TLS::Client::is_closed
      Src: /src/botan/src/cli/tls_client.cpp:287,1
    - Dst: FD_ZERO
      Src: /src/botan/src/cli/tls_client.cpp:289,1
    - Dst: FD_SET
      Src: /src/botan/src/cli/tls_client.cpp:290,1
    - Dst: Botan::TLS::Client::is_active
      Src: /src/botan/src/cli/tls_client.cpp:292,1
    - Dst: FD_SET
      Src: /src/botan/src/cli/tls_client.cpp:293,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/tls_client.cpp:294,1
    - Dst: Botan::TLS::Client::application_protocol
      Src: /src/botan/src/cli/tls_client.cpp:295,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/tls_client.cpp:296,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:297,1
    - Dst: Botan::TLS::Client::application_protocol
      Src: /src/botan/src/cli/tls_client.cpp:297,1
    - Dst: Botan::select
      Src: /src/botan/src/cli/tls_client.cpp:305,1
    - Dst: static_cast<int>
      Src: /src/botan/src/cli/tls_client.cpp:305,1
    - Dst: FD_ISSET
      Src: /src/botan/src/cli/tls_client.cpp:307,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:313,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:316,1
    - Dst: err_to_string
      Src: /src/botan/src/cli/tls_client.cpp:316,1
    - Dst: flag_set
      Src: /src/botan/src/cli/tls_client.cpp:320,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:321,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_client.cpp:321,1
    - Dst: Botan::TLS::Client::received_data
      Src: /src/botan/src/cli/tls_client.cpp:324,1
    - Dst: FD_ISSET
      Src: /src/botan/src/cli/tls_client.cpp:327,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:332,1
    - Dst: Botan::TLS::Client::close
      Src: /src/botan/src/cli/tls_client.cpp:333,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:337,1
    - Dst: err_to_string
      Src: /src/botan/src/cli/tls_client.cpp:337,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:345,1
    - Dst: Botan::TLS::Client::renegotiate
      Src: /src/botan/src/cli/tls_client.cpp:346,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:348,1
    - Dst: Botan::TLS::Client::close
      Src: /src/botan/src/cli/tls_client.cpp:349,1
    - Dst: Botan::TLS::Client::send
      Src: /src/botan/src/cli/tls_client.cpp:353,1
    - Dst: Botan::TLS::Client::timeout_check
      Src: /src/botan/src/cli/tls_client.cpp:357,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:358,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/tls_client.cpp:362,1
    - Dst: auto::peer_closed
      Src: /src/botan/src/cli/tls_client.cpp:362,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/cli/tls_client.cpp:364,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 365
    functionName: Botan_CLI::TLS_Client::go
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - CLI_Usage_Error
    - Botan_CLI::Command::split_on
    - auto::value
    - Botan::TLS::Channel_Impl::close
    - load_tls_policy
    - std::make_shared<Botan::TLS::Session_Manager_SQLite>
    - std::make_shared<Basic_Credentials_Manager>
    - output
    - error_output
    - Botan::TLS::Client::application_protocol
    - FD_ZERO
    - get_arg_maybe
    - Botan::TLS::Client::is_active
    - get_passphrase_arg
    - Botan::hex_decode_locked
    - Botan::TLS::Client::is_closed
    - static_cast<int>
    - flag_set
    - err_to_string
    - std::string::empty
    - Botan::TLS::Client::close
    - auto::peer_closed
    - get_arg
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - set_return_code
    - std::make_shared<Callbacks>
    - FD_SET
    - FD_ISSET
    - Botan::TLS::Client::renegotiate
    - Botan::select
    - Botan::hex_encode
    - std::vector::empty
    - std::make_shared<Botan::TLS::Policy>
    - Botan::TLS::Client::send
    - Botan_CLI::TLS_Client::connect_to_host
    - Botan::TLS::Client::timeout_check
    - rng_as_shared
    - Botan::TLS::Client::received_data
    - auto::latest_supported_version
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/cli/tls_client.cpp:373,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_client.cpp:380,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/tls_client.cpp:380,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/cli/tls_client.cpp:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 386
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 386
    functionName: Botan_CLI::TLS_Client::send
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - CLI_Error
    - std::span<const uint8_t>::subspan
    - std::to_string
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void send(std::span<const uint8_t> buf) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/botan/src/cli/tls_client.cpp:391,1
    - Dst: ::getaddrinfo
      Src: /src/botan/src/cli/tls_client.cpp:396,1
    - Dst: c_str
      Src: /src/botan/src/cli/tls_client.cpp:396,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/tls_client.cpp:396,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_client.cpp:397,1
    - Dst: Client::close_socket
      Src: /src/botan/src/cli/tls_client.cpp:403,1
    - Dst: invalid_socket
      Src: /src/botan/src/cli/tls_client.cpp:405,1
    - Dst: client::handle_connect
      Src: /src/botan/src/cli/tls_client.cpp:409,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/cli/tls_client.cpp:410,1
    - Dst: ::freeaddrinfo
      Src: /src/botan/src/cli/tls_client.cpp:417,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_client.cpp:421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - ' host'
    - port
    - tcp
    argTypes:
    - std::string
    - uint16_t
    - bool
    constantsTouched: []
    func_position:
      end: 425
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 425
    functionName: Botan_CLI::TLS_Client::connect_to_host
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 1
    functionsReached:
    - ::getaddrinfo
    - c_str
    - std::to_string
    - CLI_Error
    - Client::close_socket
    - client::handle_connect
    - ::freeaddrinfo
    - Botan::TLS::Channel_Impl::close
    - invalid_socket
    - std::memset
    linkageType: ''
    returnType: socket_type
    signature: socket_type connect_to_host(const std::string& host, uint16_t port,
      bool tcp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/cli/tls_client.cpp:428,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_client.cpp:431,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/tls_client.cpp:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - sockfd
    - buf
    - length
    argTypes:
    - int
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: Botan_CLI::TLS_Client::dgram_socket_write
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Botan_Tests::MockChannel::send
    - CLI_Error
    linkageType: ''
    returnType: void
    signature: void dgram_socket_write(int sockfd, const uint8_t buf[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: '& Callbacks::output()'
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - output
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Callbacks::output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::flag_set
      Src: /src/botan/src/cli/tls_client.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flag_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: Botan_CLI::Callbacks::flag_set
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 4
    functionsReached:
    - Botan_CLI::Callbacks::flag_set
    linkageType: ''
    returnType: bool
    signature: bool Callbacks::flag_set(const std::string& flag_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::get_arg
      Src: /src/botan/src/cli/tls_client.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' arg_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: Botan_CLI::Callbacks::get_arg
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan_CLI::Callbacks::get_arg
    linkageType: ''
    returnType: std::string
    signature: std::string Callbacks::get_arg(const std::string& arg_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::send
      Src: /src/botan/src/cli/tls_client.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: Botan_CLI::Callbacks::send
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan_CLI::Callbacks::send
    linkageType: ''
    returnType: void
    signature: void Callbacks::send(std::span<const uint8_t> buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: '& name() const'
    functionSourceFile: /src/botan/src/cli/sandbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/cli/perf.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - record_result
    - clock_speed
    - clock_cycle_ratio
    - runtime
    - ' ecc_groups'
    - ' buffer_sizes'
    - ' error_output'
    - ' rng'
    argTypes:
    - std::function<void(const Timer&)>
    - size_t
    - double
    - std::chrono::milliseconds
    - std::vector<std::string>
    - std::vector<size_t>
    - std::ostream
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: Botan_CLI::PerfConfig::PerfConfig
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PerfConfig(std::function<void(const Timer&)> record_result,\n
      \                size_t clock_speed,\n                 double clock_cycle_ratio,\n
      \                std::chrono::milliseconds runtime,\n                 const
      std::vector<std::string>& ecc_groups,\n                 const std::vector<size_t>&
      buffer_sizes,\n                 std::ostream& error_output,\n                 Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& buffer_sizes() const'
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> & buffer_sizes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& ecc_groups() const'
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & ecc_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan_CLI::PerfConfig::runtime
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::milliseconds
    signature: std::chrono::milliseconds runtime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& error_output() const'
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & error_output() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& rng() const'
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::RandomNumberGenerator
    signature: Botan::RandomNumberGenerator & rng() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_record_result
      Src: /src/botan/src/cli/perf.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' timer'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan_CLI::PerfConfig::record_result
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached:
    - m_record_result
    linkageType: ''
    returnType: void
    signature: void record_result(const Timer& timer) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Timer>
      Src: /src/botan/src/cli/perf.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: Botan_CLI::PerfConfig::make_timer
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Timer>
    linkageType: ''
    returnType: std::unique_ptr<Timer>
    signature: "std::unique_ptr<Timer> make_timer(const std::string& alg,\n                                        uint64_t
      event_mult = 1,\n                                        const std::string&
      what = \"\",\n                                        const std::string& provider
      = \"\",\n                                        size_t buf_size = 0) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~PerfTest()
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PerfTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_CLI::PBKDF_Tune::PBKDF_Tune
    functionSourceFile: /src/botan/src/cli/pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PBKDF_Tune()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_CLI::PBKDF_Tune::group
    functionSourceFile: /src/botan/src/cli/pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_CLI::PBKDF_Tune::description
    functionSourceFile: /src/botan/src/cli/pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/cli/pbkdf.cpp:32,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pbkdf.cpp:32,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pbkdf.cpp:33,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/cli/pbkdf.cpp:36,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/pbkdf.cpp:39,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/pbkdf.cpp:42,1
    - Dst: auto::default_params
      Src: /src/botan/src/cli/pbkdf.cpp:46,1
    - Dst: std::stoul
      Src: /src/botan/src/cli/pbkdf.cpp:50,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pbkdf.cpp:52,1
    - Dst: auto::tune
      Src: /src/botan/src/cli/pbkdf.cpp:55,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/cli/pbkdf.cpp:55,1
    - Dst: output
      Src: /src/botan/src/cli/pbkdf.cpp:58,1
    - Dst: std::unique_ptr::to_string
      Src: /src/botan/src/cli/pbkdf.cpp:58,1
    - Dst: std::unique_ptr::total_memory_usage
      Src: /src/botan/src/cli/pbkdf.cpp:60,1
    - Dst: output
      Src: /src/botan/src/cli/pbkdf.cpp:61,1
    - Dst: std::unique_ptr::total_memory_usage
      Src: /src/botan/src/cli/pbkdf.cpp:61,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/botan/src/cli/pbkdf.cpp:70,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/pbkdf.cpp:70,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/pbkdf.cpp:70,1
    - Dst: output
      Src: /src/botan/src/cli/pbkdf.cpp:74,1
    - Dst: output
      Src: /src/botan/src/cli/pbkdf.cpp:76,1
    - Dst: output
      Src: /src/botan/src/cli/pbkdf.cpp:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: Botan_CLI::PBKDF_Tune::go
    functionSourceFile: /src/botan/src/cli/pbkdf.cpp
    functionUses: 0
    functionsReached:
    - auto::tune
    - CLI_Usage_Error
    - std::vector::data
    - get_arg
    - std::vector::size
    - std::unique_ptr::derive_key
    - CLI_Error_Unsupported
    - std::unique_ptr::to_string
    - get_arg_list
    - std::unique_ptr::total_memory_usage
    - output
    - Botan::PasswordHashFamily::create
    - std::stoul
    - Botan_CLI::Timer::milliseconds
    - auto::default_params
    - get_arg_sz
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_ec.cpp:21,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_ec.cpp:22,1
    - Dst: ecc_groups
      Src: /src/botan/src/cli/perf_ec.cpp:24,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:25,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_ec.cpp:27,1
    - Dst: Botan::EC_Group::clear_registered_curve_data
      Src: /src/botan/src/cli/perf_ec.cpp:28,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:29,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/cli/perf_ec.cpp:29,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:32,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/cli/perf_ec.cpp:34,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:36,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:37,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:38,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:39,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:40,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:41,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:42,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:43,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:44,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:45,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:46,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:47,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/cli/perf_ec.cpp:49,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_ec.cpp:60,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_ec.cpp:60,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/cli/perf_ec.cpp:61,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/cli/perf_ec.cpp:62,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:63,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/cli/perf_ec.cpp:63,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:64,1
    - Dst: auto::mul
      Src: /src/botan/src/cli/perf_ec.cpp:64,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/cli/perf_ec.cpp:66,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/cli/perf_ec.cpp:67,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_ec.cpp:68,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:70,1
    - Dst: auto::add
      Src: /src/botan/src/cli/perf_ec.cpp:70,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:72,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/cli/perf_ec.cpp:72,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/cli/perf_ec.cpp:74,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:75,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/cli/perf_ec.cpp:75,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:77,1
    - Dst: Botan::WindowedMul2Table::WindowedMul2Table
      Src: /src/botan/src/cli/perf_ec.cpp:77,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:79,1
    - Dst: auto::mul2_vartime
      Src: /src/botan/src/cli/perf_ec.cpp:79,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:81,1
    - Dst: Botan::EC_AffinePoint::mul_px_qy
      Src: /src/botan/src/cli/perf_ec.cpp:81,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:84,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_nu
      Src: /src/botan/src/cli/perf_ec.cpp:84,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:85,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_ro
      Src: /src/botan/src/cli/perf_ec.cpp:85,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_ec.cpp:89,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_ec.cpp:89,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/cli/perf_ec.cpp:90,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:91,1
    - Dst: auto::invert_vartime
      Src: /src/botan/src/cli/perf_ec.cpp:91,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:92,1
    - Dst: auto::invert
      Src: /src/botan/src/cli/perf_ec.cpp:92,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_ec.cpp:93,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:96,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:97,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:98,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:99,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:100,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:101,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:102,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:103,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:104,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:105,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:108,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 67
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 112
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 112
    functionName: Botan_CLI::PerfTest_EllipticCurve::go
    functionSourceFile: /src/botan/src/cli/perf_ec.cpp
    functionUses: 0
    functionsReached:
    - auto::mul2_vartime
    - auto::mul
    - auto::add
    - auto::under
    - BOTAN_ASSERT_EQUAL
    - Botan::EC_AffinePoint::hash_to_curve_ro
    - Botan::WindowedMul2Table::WindowedMul2Table
    - record_result
    - Botan::EC_Scalar::random
    - Botan::EC_AffinePoint::mul_px_qy
    - ecc_groups
    - auto::run
    - Botan::EC_AffinePoint::generator
    - runtime
    - Botan::EC_Group::clear_registered_curve_data
    - Botan::EC_AffinePoint::hash_to_curve_nu
    - Botan::EC_AffinePoint::g_mul
    - auto::serialize_uncompressed
    - auto::invert
    - auto::invert_vartime
    - make_timer
    - auto::serialize_compressed
    - Botan::EC_AffinePoint::deserialize
    - rng
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::TLS_Ciphersuites::TLS_Ciphersuites
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Ciphersuites()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_utils.cpp:35,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: Botan_CLI::TLS_Ciphersuites::tls_version_from_str
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached:
    - CLI_Error
    linkageType: ''
    returnType: Botan::TLS::Protocol_Version
    signature: Botan::TLS::Protocol_Version tls_version_from_str(const std::string&
      str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan_CLI::TLS_Ciphersuites::group
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan_CLI::TLS_Ciphersuites::description
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_utils.cpp:44,1
    - Dst: Botan_CLI::TLS_Ciphersuites::tls_version_from_str
      Src: /src/botan/src/cli/tls_utils.cpp:45,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_utils.cpp:45,1
    - Dst: load_tls_policy
      Src: /src/botan/src/cli/tls_utils.cpp:47,1
    - Dst: auto::acceptable_protocol_version
      Src: /src/botan/src/cli/tls_utils.cpp:49,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_utils.cpp:50,1
    - Dst: auto::ciphersuite_list
      Src: /src/botan/src/cli/tls_utils.cpp:54,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/cli/tls_utils.cpp:55,1
    - Dst: output
      Src: /src/botan/src/cli/tls_utils.cpp:56,1
    - Dst: auto::to_string
      Src: /src/botan/src/cli/tls_utils.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: Botan_CLI::TLS_Ciphersuites::go
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - Botan::TLS::Ciphersuite::by_id
    - auto::ciphersuite_list
    - load_tls_policy
    - auto::acceptable_protocol_version
    - output
    - Botan_CLI::TLS_Ciphersuites::tls_version_from_str
    - error_output
    - auto::to_string
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan_CLI::TLS_Client_Hello_Reader::TLS_Client_Hello_Reader
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Client_Hello_Reader()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan_CLI::TLS_Client_Hello_Reader::group
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan_CLI::TLS_Client_Hello_Reader::description
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_utils.cpp:74,1
    - Dst: flag_set
      Src: /src/botan/src/cli/tls_utils.cpp:77,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/tls_utils.cpp:78,1
    - Dst: slurp_file_as_str
      Src: /src/botan/src/cli/tls_utils.cpp:78,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/tls_utils.cpp:80,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tls_utils.cpp:83,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_utils.cpp:84,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tls_utils.cpp:92,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_utils.cpp:93,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/cli/tls_utils.cpp:97,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/tls_utils.cpp:97,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/tls_utils.cpp:97,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tls_utils.cpp:104,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_utils.cpp:105,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/cli/tls_utils.cpp:109,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/tls_utils.cpp:109,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/tls_utils.cpp:109,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/cli/tls_utils.cpp:113,1
    - Dst: output
      Src: /src/botan/src/cli/tls_utils.cpp:115,1
    - Dst: Botan_CLI::TLS_Client_Hello_Reader::format_hello
      Src: /src/botan/src/cli/tls_utils.cpp:115,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_utils.cpp:117,1
    - Dst: what
      Src: /src/botan/src/cli/tls_utils.cpp:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 119
    functionName: Botan_CLI::TLS_Client_Hello_Reader::go
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_arg
    - Botan::TLS::Client_Hello_13::parse
    - slurp_file
    - what
    - std::vector<uint8_t>
    - slurp_file_as_str
    - Botan::hex_decode
    - output
    - Botan_CLI::TLS_Client_Hello_Reader::format_hello
    - flag_set
    - error_output
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/cli/tls_utils.cpp:127,1
    - Dst: std::visit
      Src: /src/botan/src/cli/tls_utils.cpp:129,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_utils.cpp:136,1
    - Dst: auto*::random
      Src: /src/botan/src/cli/tls_utils.cpp:136,1
    - Dst: auto*::session_id
      Src: /src/botan/src/cli/tls_utils.cpp:138,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_utils.cpp:139,1
    - Dst: auto*::session_id
      Src: /src/botan/src/cli/tls_utils.cpp:139,1
    - Dst: auto*::ciphersuites
      Src: /src/botan/src/cli/tls_utils.cpp:141,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/cli/tls_utils.cpp:142,1
    - Dst: auto::valid
      Src: /src/botan/src/cli/tls_utils.cpp:143,1
    - Dst: auto::to_string
      Src: /src/botan/src/cli/tls_utils.cpp:144,1
    - Dst: auto*::signature_schemes
      Src: /src/botan/src/cli/tls_utils.cpp:154,1
    - Dst: auto*::signature_schemes
      Src: /src/botan/src/cli/tls_utils.cpp:157,1
    - Dst: to_string
      Src: /src/botan/src/cli/tls_utils.cpp:159,1
    - Dst: static_cast<unsigned int>
      Src: /src/botan/src/cli/tls_utils.cpp:162,1
    - Dst: wire_code
      Src: /src/botan/src/cli/tls_utils.cpp:162,1
    - Dst: auto*::extensions
      Src: /src/botan/src/cli/tls_utils.cpp:168,1
    - Dst: auto::groups
      Src: /src/botan/src/cli/tls_utils.cpp:170,1
    - Dst: to_string
      Src: /src/botan/src/cli/tls_utils.cpp:171,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_utils.cpp:171,1
    - Dst: wire_code
      Src: /src/botan/src/cli/tls_utils.cpp:171,1
    - Dst: auto*::supports_alpn
      Src: /src/botan/src/cli/tls_utils.cpp:177,1
    - Dst: std::visit
      Src: /src/botan/src/cli/tls_utils.cpp:179,1
    - Dst: supports_encrypt_then_mac
      Src: /src/botan/src/cli/tls_utils.cpp:181,1
    - Dst: supports_extended_master_secret
      Src: /src/botan/src/cli/tls_utils.cpp:182,1
    - Dst: supports_session_ticket
      Src: /src/botan/src/cli/tls_utils.cpp:183,1
    - Dst: extensions
      Src: /src/botan/src/cli/tls_utils.cpp:186,1
    - Dst: auto::offered_groups
      Src: /src/botan/src/cli/tls_utils.cpp:188,1
    - Dst: to_string
      Src: /src/botan/src/cli/tls_utils.cpp:189,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_utils.cpp:189,1
    - Dst: wire_code
      Src: /src/botan/src/cli/tls_utils.cpp:189,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/tls_utils.cpp:202,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 1
    argNames:
    - ' hello'
    argTypes:
    - std::variant<Botan::TLS::Client_Hello_13, Botan::TLS::Client_Hello_12>
    constantsTouched: []
    func_position:
      end: 203
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 203
    functionName: Botan_CLI::TLS_Client_Hello_Reader::format_hello
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 1
    functionsReached:
    - auto*::ciphersuites
    - Botan::fmt
    - std::ostringstream::str
    - auto*::session_id
    - auto::offered_groups
    - supports_session_ticket
    - auto*::extensions
    - supports_encrypt_then_mac
    - Botan::TLS::Ciphersuite::by_id
    - auto*::supports_alpn
    - auto*::random
    - auto::to_string
    - std::visit
    - supports_extended_master_secret
    - to_string
    - wire_code
    - auto::groups
    - static_cast<unsigned int>
    - Botan::hex_encode
    - auto::valid
    - auto*::signature_schemes
    - extensions
    linkageType: ''
    returnType: std::string
    signature: "std::string format_hello(\n         const std::variant<Botan::TLS::Client_Hello_13,
      Botan::TLS::Client_Hello_12>& hello)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::TimingTestTimer::get_high_resolution_clock
      Src: /src/botan/src/cli/timing_tests.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan_CLI::TimingTestTimer::TimingTestTimer
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::TimingTestTimer::get_high_resolution_clock
    linkageType: ''
    returnType: void
    signature: void TimingTestTimer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::TimingTestTimer::get_high_resolution_clock
      Src: /src/botan/src/cli/timing_tests.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan_CLI::TimingTestTimer::complete
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::TimingTestTimer::get_high_resolution_clock
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/timing_tests.cpp:96,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/botan/src/cli/timing_tests.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: Botan_CLI::TimingTestTimer::get_high_resolution_clock
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 2
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_high_resolution_clock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_make_rng
      Src: /src/botan/src/cli/timing_tests.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: Botan_CLI::Timing_Test::Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - cli_make_rng
    linkageType: ''
    returnType: void
    signature: void Timing_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: ~Timing_Test()
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Timing_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timing_Test
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan_CLI::Timing_Test::Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timing_Test(const Timing_Test& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timing_Test
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan_CLI::Timing_Test::Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timing_Test(Timing_Test&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timing_Test
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '& operator=(const Timing_Test& other)'
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Timing_Test
    signature: Timing_Test & operator=(const Timing_Test& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timing_Test
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '& operator=(Timing_Test&& other)'
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Timing_Test
    signature: Timing_Test & operator=(Timing_Test&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/timing_tests.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Botan_CLI::Timing_Test::prepare_input
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> prepare_input(const std::string& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: '& timing_test_rng()'
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::RandomNumberGenerator
    signature: Botan::RandomNumberGenerator & timing_test_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:143,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:145,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keysize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: Botan_CLI::Bleichenbacker_Timing_Test::Bleichenbacker_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - timing_test_rng
    linkageType: ''
    returnType: void
    signature: void Bleichenbacker_Timing_Test(size_t keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/timing_tests.cpp:149,1
    - Dst: encrypt
      Src: /src/botan/src/cli/timing_tests.cpp:150,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: Botan_CLI::Bleichenbacker_Timing_Test::prepare_input
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - encrypt
    - timing_test_rng
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> prepare_input(const std::string& input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_or_random
      Src: /src/botan/src/cli/timing_tests.cpp:155,1
    - Dst: data
      Src: /src/botan/src/cli/timing_tests.cpp:155,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:155,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: Botan_CLI::Bleichenbacker_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - data
    - decrypt_or_random
    - timing_test_rng
    - TimingTestTimer::complete
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t measure_critical_function(const std::vector<uint8_t>& input)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:182,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:184,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keysize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: Botan_CLI::Manger_Timing_Test::Manger_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - timing_test_rng
    linkageType: ''
    returnType: void
    signature: void Manger_Timing_Test(size_t keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/timing_tests.cpp:188,1
    - Dst: encrypt
      Src: /src/botan/src/cli/timing_tests.cpp:189,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: Botan_CLI::Manger_Timing_Test::prepare_input
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - encrypt
    - timing_test_rng
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> prepare_input(const std::string& input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt
      Src: /src/botan/src/cli/timing_tests.cpp:195,1
    - Dst: data
      Src: /src/botan/src/cli/timing_tests.cpp:195,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: Botan_CLI::Manger_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - data
    - TimingTestTimer::complete
    - decrypt
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t measure_critical_function(const std::vector<uint8_t>& input)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/cli/timing_tests.cpp:222,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/cli/timing_tests.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' mac_name'
    - mac_keylen
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: Botan_CLI::Lucky13_Timing_Test::Lucky13_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Lucky13_Timing_Test(const std::string& mac_name, size_t mac_keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/timing_tests.cpp:239,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/cli/timing_tests.cpp:243,1
    - Dst: auto::set_key
      Src: /src/botan/src/cli/timing_tests.cpp:244,1
    - Dst: auto::start
      Src: /src/botan/src/cli/timing_tests.cpp:245,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/timing_tests.cpp:246,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/timing_tests.cpp:246,1
    - Dst: auto::finish
      Src: /src/botan/src/cli/timing_tests.cpp:247,1
    - Dst: unlock
      Src: /src/botan/src/cli/timing_tests.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: Botan_CLI::Lucky13_Timing_Test::prepare_input
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - auto::finish
    - Botan::hex_decode
    - unlock
    - auto::start
    - Botan::Cipher_Mode::create
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Lucky13_Timing_Test::prepare_input(const std::string&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/cli/timing_tests.cpp:253,1
    - Dst: end
      Src: /src/botan/src/cli/timing_tests.cpp:253,1
    - Dst: set_key
      Src: /src/botan/src/cli/timing_tests.cpp:258,1
    - Dst: unlock
      Src: /src/botan/src/cli/timing_tests.cpp:258,1
    - Dst: set_associated_data
      Src: /src/botan/src/cli/timing_tests.cpp:259,1
    - Dst: start
      Src: /src/botan/src/cli/timing_tests.cpp:260,1
    - Dst: unlock
      Src: /src/botan/src/cli/timing_tests.cpp:260,1
    - Dst: finish
      Src: /src/botan/src/cli/timing_tests.cpp:264,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: Botan_CLI::Lucky13_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - start
    - finish
    - end
    - set_associated_data
    - unlock
    - TimingTestTimer::complete
    - begin
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Lucky13_Timing_Test::measure_critical_function(const std::vector<uint8_t>&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/cli/timing_tests.cpp:288,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:289,1
    - Dst: _private_key
      Src: /src/botan/src/cli/timing_tests.cpp:290,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/cli/timing_tests.cpp:291,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:291,1
    - Dst: invert
      Src: /src/botan/src/cli/timing_tests.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ecgroup'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: Botan_CLI::ECDSA_Timing_Test::ECDSA_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - _private_key
    - timing_test_rng
    - invert
    - Botan::EC_Scalar::random
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: void
    signature: void ECDSA_Timing_Test::ECDSA_Timing_Test(const std::string& ecgroup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/cli/timing_tests.cpp:295,1
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/cli/timing_tests.cpp:297,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/cli/timing_tests.cpp:302,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:302,1
    - Dst: auto::invert
      Src: /src/botan/src/cli/timing_tests.cpp:303,1
    - Dst: square_self
      Src: /src/botan/src/cli/timing_tests.cpp:304,1
    - Dst: square_self
      Src: /src/botan/src/cli/timing_tests.cpp:305,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/timing_tests.cpp:308,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: Botan_CLI::ECDSA_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - auto::invert
    - Botan::EC_Scalar::from_bytes_with_trunc
    - square_self
    - timing_test_rng
    - TimingTestTimer::complete
    - Botan::EC_Scalar::gk_x_mod_order
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ECDSA_Timing_Test::measure_critical_function(const std::vector<uint8_t>&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/cli/timing_tests.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ecgroup
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: Botan_CLI::ECC_Mul_Timing_Test::ECC_Mul_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: void
    signature: void ECC_Mul_Timing_Test(std::string_view ecgroup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/cli/timing_tests.cpp:328,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/cli/timing_tests.cpp:331,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:331,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: Botan_CLI::ECC_Mul_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::from_bytes_with_trunc
    - timing_test_rng
    - Botan::EC_AffinePoint::g_mul
    - TimingTestTimer::complete
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ECC_Mul_Timing_Test::measure_critical_function(const std::vector<uint8_t>&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/cli/timing_tests.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dl_group
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: Botan_CLI::Powmod_Timing_Test::Powmod_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    linkageType: ''
    returnType: void
    signature: void Powmod_Timing_Test(std::string_view dl_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/cli/timing_tests.cpp:350,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:350,1
    - Dst: power_g_p
      Src: /src/botan/src/cli/timing_tests.cpp:355,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: Botan_CLI::Powmod_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - data
    - power_g_p
    - size
    - TimingTestTimer::complete
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Powmod_Timing_Test::measure_critical_function(const std::vector<uint8_t>&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_prime
      Src: /src/botan/src/cli/timing_tests.cpp:366,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: Botan_CLI::Invmod_Timing_Test::Invmod_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - timing_test_rng
    - Botan::random_prime
    linkageType: ''
    returnType: void
    signature: void Invmod_Timing_Test(size_t p_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/cli/timing_tests.cpp:375,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:375,1
    - Dst: Botan::inverse_mod_secret_prime
      Src: /src/botan/src/cli/timing_tests.cpp:378,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: Botan_CLI::Invmod_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::inverse_mod_secret_prime
    - size
    - TimingTestTimer::complete
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Invmod_Timing_Test::measure_critical_function(const std::vector<uint8_t>&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:387,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:388,1
    - Dst: reserve
      Src: /src/botan/src/cli/timing_tests.cpp:391,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/timing_tests.cpp:394,1
    - Dst: Botan_CLI::Timing_Test::prepare_input
      Src: /src/botan/src/cli/timing_tests.cpp:395,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/timing_tests.cpp:400,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/timing_tests.cpp:404,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/timing_tests.cpp:407,1
    - Dst: measure_critical_function
      Src: /src/botan/src/cli/timing_tests.cpp:408,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/timing_tests.cpp:414,1
    - Dst: push_back
      Src: /src/botan/src/cli/timing_tests.cpp:415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - ' raw_inputs'
    - warmup_runs
    - measurement_runs
    argTypes:
    - std::vector<std::string>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 421
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 421
    functionName: Botan_CLI::Timing_Test::execute_evaluation
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - CLI_Error
    - Botan_CLI::Timing_Test::prepare_input
    - measure_critical_function
    - reserve
    - size
    - push_back
    linkageType: ''
    returnType: std::vector<std::vector<uint64_t>>
    signature: "std::vector<std::vector<uint64_t>> Timing_Test::execute_evaluation(const
      std::vector<std::string>& raw_inputs,\n                                                                   size_t
      warmup_runs,\n                                                                   size_t
      measurement_runs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: Botan_CLI::Timing_Test_Command::Timing_Test_Command
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timing_Test_Command()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: Botan_CLI::Timing_Test_Command::group
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: Botan_CLI::Timing_Test_Command::description
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/timing_tests.cpp:435,1
    - Dst: Botan_CLI::Timing_Test_Command::lookup_timing_test
      Src: /src/botan/src/cli/timing_tests.cpp:439,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/timing_tests.cpp:442,1
    - Dst: get_arg_or
      Src: /src/botan/src/cli/timing_tests.cpp:445,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/timing_tests.cpp:447,1
    - Dst: get_arg
      Src: /src/botan/src/cli/timing_tests.cpp:448,1
    - Dst: Botan_CLI::Timing_Test_Command::read_testdata
      Src: /src/botan/src/cli/timing_tests.cpp:452,1
    - Dst: std::unique_ptr::execute_evaluation
      Src: /src/botan/src/cli/timing_tests.cpp:454,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/timing_tests.cpp:458,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:459,1
    - Dst: output
      Src: /src/botan/src/cli/timing_tests.cpp:464,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/timing_tests.cpp:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 465
    functionName: Botan_CLI::Timing_Test_Command::go
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - get_arg_or
    - std::vector::size
    - get_arg
    - Botan_CLI::Timing_Test_Command::lookup_timing_test
    - std::ostringstream::str
    - CLI_Error
    - output
    - Botan_CLI::Timing_Test_Command::read_testdata
    - size
    - std::string::empty
    - std::unique_ptr::execute_evaluation
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/botan/src/cli/timing_tests.cpp:471,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/timing_tests.cpp:472,1
    - Dst: std::getline
      Src: /src/botan/src/cli/timing_tests.cpp:475,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/timing_tests.cpp:476,1
    - Dst: std::string::at
      Src: /src/botan/src/cli/timing_tests.cpp:476,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/timing_tests.cpp:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 481
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 481
    functionName: Botan_CLI::Timing_Test_Command::read_testdata
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 1
    functionsReached:
    - std::getline
    - CLI_Error
    - std::string::at
    - std::ifstream::good
    - std::string::empty
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> read_testdata(const std::string& filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timing_Test_Command::help_text
      Src: /src/botan/src/cli/timing_tests.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 499
    functionName: Botan_CLI::Timing_Test_Command::help_text
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 2
    functionsReached:
    - Botan_CLI::Timing_Test_Command::help_text
    linkageType: ''
    returnType: std::string
    signature: std::string help_text() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Bleichenbacker_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:505,1
    - Dst: std::make_unique<Manger_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:511,1
    - Dst: std::make_unique<ECDSA_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:517,1
    - Dst: std::make_unique<ECC_Mul_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:523,1
    - Dst: std::make_unique<Invmod_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:529,1
    - Dst: std::make_unique<Powmod_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:535,1
    - Dst: std::make_unique<Lucky13_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:541,1
    - Dst: std::make_unique<Lucky13_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:544,1
    - Dst: std::make_unique<Lucky13_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:547,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/timing_tests.cpp:551,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - test_type
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 554
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 554
    functionName: Botan_CLI::Timing_Test_Command::lookup_timing_test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - std::make_unique<Powmod_Timing_Test>
    - std::make_unique<Lucky13_Timing_Test>
    - std::make_unique<Invmod_Timing_Test>
    - std::make_unique<ECDSA_Timing_Test>
    - std::make_unique<Bleichenbacker_Timing_Test>
    - std::make_unique<Manger_Timing_Test>
    - std::make_unique<ECC_Mul_Timing_Test>
    linkageType: ''
    returnType: std::unique_ptr<Timing_Test>
    signature: std::unique_ptr<Timing_Test> Timing_Test_Command::lookup_timing_test(std::string_view
      test_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 564
    functionName: Botan_CLI::MARVIN_Test_Command::MARVIN_Test_Command
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MARVIN_Test_Command()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 566
    functionName: Botan_CLI::MARVIN_Test_Command::group
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 568
    functionName: Botan_CLI::MARVIN_Test_Command::description
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 573
    functionName: Botan_CLI::MARVIN_Test_Command::marvin_sigint_handler
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void marvin_sigint_handler(int /*signal*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/timing_tests.cpp:577,1
    - Dst: get_arg
      Src: /src/botan/src/cli/timing_tests.cpp:578,1
    - Dst: ::setenv
      Src: /src/botan/src/cli/timing_tests.cpp:585,1
    - Dst: sigemptyset
      Src: /src/botan/src/cli/timing_tests.cpp:590,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/timing_tests.cpp:595,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/timing_tests.cpp:600,1
    - Dst: auto::algo_name
      Src: /src/botan/src/cli/timing_tests.cpp:602,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/timing_tests.cpp:603,1
    - Dst: Botan::get_files_recursive
      Src: /src/botan/src/cli/timing_tests.cpp:611,1
    - Dst: Botan_CLI::MARVIN_Test_Command::slurp_file
      Src: /src/botan/src/cli/timing_tests.cpp:612,1
    - Dst: auto::size
      Src: /src/botan/src/cli/timing_tests.cpp:614,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/timing_tests.cpp:615,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/timing_tests.cpp:616,1
    - Dst: auto::size
      Src: /src/botan/src/cli/timing_tests.cpp:618,1
    - Dst: Botan::split_on
      Src: /src/botan/src/cli/timing_tests.cpp:622,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/timing_tests.cpp:624,1
    - Dst: auto::size
      Src: /src/botan/src/cli/timing_tests.cpp:624,1
    - Dst: std::vector::insert
      Src: /src/botan/src/cli/timing_tests.cpp:625,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/timing_tests.cpp:625,1
    - Dst: auto::begin
      Src: /src/botan/src/cli/timing_tests.cpp:625,1
    - Dst: auto::end
      Src: /src/botan/src/cli/timing_tests.cpp:625,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/timing_tests.cpp:628,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/timing_tests.cpp:629,1
    - Dst: output
      Src: /src/botan/src/cli/timing_tests.cpp:632,1
    - Dst: Botan::ChaCha_RNG::ChaCha_RNG
      Src: /src/botan/src/cli/timing_tests.cpp:637,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/cli/timing_tests.cpp:637,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/cli/timing_tests.cpp:639,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/timing_tests.cpp:646,1
    - Dst: reserve
      Src: /src/botan/src/cli/timing_tests.cpp:651,1
    - Dst: Botan_CLI::MARVIN_Test_Command::shuffle
      Src: /src/botan/src/cli/timing_tests.cpp:664,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/timing_tests.cpp:666,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/cli/timing_tests.cpp:671,1
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/cli/timing_tests.cpp:673,1
    - Dst: Botan::PK_Decryptor_EME::decrypt_or_random
      Src: /src/botan/src/cli/timing_tests.cpp:677,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/timing_tests.cpp:677,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/cli/timing_tests.cpp:679,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:679,1
    - Dst: push_back
      Src: /src/botan/src/cli/timing_tests.cpp:680,1
    - Dst: Botan_CLI::MARVIN_Test_Command::report_results
      Src: /src/botan/src/cli/timing_tests.cpp:693,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 694
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 694
    functionName: Botan_CLI::MARVIN_Test_Command::go
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - CLI_Usage_Error
    - Botan::fmt
    - CLI_Error
    - output
    - auto::end
    - Botan::system_rng
    - Botan_CLI::MARVIN_Test_Command::slurp_file
    - BOTAN_ASSERT_NOMSG
    - Botan::BigInt::is_equal
    - Botan::get_files_recursive
    - Botan::CT::conditional_assign_mem
    - ::setenv
    - auto::size
    - Botan::PK_Decryptor_EME::decrypt_or_random
    - auto::begin
    - std::vector::size
    - std::vector::data
    - get_arg
    - std::vector::insert
    - Botan::ChaCha_RNG::ChaCha_RNG
    - Botan::split_on
    - reserve
    - Botan::PKCS8::load_key
    - std::vector::push_back
    - std::vector::end
    - std::vector::empty
    - Botan_CLI::MARVIN_Test_Command::shuffle
    - Botan_CLI::MARVIN_Test_Command::report_results
    - sigemptyset
    - size
    - auto::algo_name
    - push_back
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const std::string>::size
      Src: /src/botan/src/cli/timing_tests.cpp:702,1
    - Dst: std::span<const std::string>::size
      Src: /src/botan/src/cli/timing_tests.cpp:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - ' output'
    - names
    - measurements
    - runs_completed
    - output_nsec
    argTypes:
    - std::ostream
    - std::span<const std::string>
    - std::span<const std::vector<uint64_t>>
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 726
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 726
    functionName: Botan_CLI::MARVIN_Test_Command::report_results
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 1
    functionsReached:
    - std::span<const std::string>::size
    linkageType: ''
    returnType: void
    signature: "void report_results(std::ostream& output,\n                                 std::span<const
      std::string> names,\n                                 std::span<const std::vector<uint64_t>>
      measurements,\n                                 size_t runs_completed,\n                                 bool
      output_nsec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/botan/src/cli/timing_tests.cpp:729,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/timing_tests.cpp:730,1
    - Dst: ends_with
      Src: /src/botan/src/cli/timing_tests.cpp:733,1
    - Dst: ends_with
      Src: /src/botan/src/cli/timing_tests.cpp:733,1
    - Dst: Botan_CLI::MARVIN_Test_Command::parse_runs_arg
      Src: /src/botan/src/cli/timing_tests.cpp:734,1
    - Dst: substr
      Src: /src/botan/src/cli/timing_tests.cpp:734,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:734,1
    - Dst: ends_with
      Src: /src/botan/src/cli/timing_tests.cpp:735,1
    - Dst: ends_with
      Src: /src/botan/src/cli/timing_tests.cpp:735,1
    - Dst: Botan_CLI::MARVIN_Test_Command::parse_runs_arg
      Src: /src/botan/src/cli/timing_tests.cpp:736,1
    - Dst: substr
      Src: /src/botan/src/cli/timing_tests.cpp:736,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:736,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/cli/timing_tests.cpp:739,1
    - Dst: std::stoul
      Src: /src/botan/src/cli/timing_tests.cpp:739,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/timing_tests.cpp:741,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ' param'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 744
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 744
    functionName: Botan_CLI::MARVIN_Test_Command::parse_runs_arg
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 1
    functionsReached:
    - CLI_Usage_Error
    - static_cast<size_t>
    - starts_with
    - substr
    - size
    - std::stoul
    - Botan_CLI::MARVIN_Test_Command::parse_runs_arg
    - ends_with
    linkageType: ''
    returnType: size_t
    signature: size_t parse_runs_arg(const std::string& param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/botan/src/cli/timing_tests.cpp:751,1
    - Dst: std::swap
      Src: /src/botan/src/cli/timing_tests.cpp:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' vec'
    - ' rng'
    argTypes:
    - std::vector<T>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 756
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 756
    functionName: Botan_CLI::MARVIN_Test_Command::shuffle
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 1
    functionsReached:
    - randomize
    - std::swap
    linkageType: ''
    returnType: void
    signature: void shuffle(std::vector<T>& vec, Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_CLI::TSS_Split::TSS_Split
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSS_Split()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::TSS_Split::group
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_CLI::TSS_Split::description
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/tss.cpp:31,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tss.cpp:32,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tss.cpp:33,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tss.cpp:34,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tss.cpp:35,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/tss.cpp:40,1
    - Dst: Botan_CLI::TSS_Split::slurp_file_lvec
      Src: /src/botan/src/cli/tss.cpp:43,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/tss.cpp:45,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/tss.cpp:46,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/tss.cpp:49,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/tss.cpp:51,1
    - Dst: std::vector::resize
      Src: /src/botan/src/cli/tss.cpp:52,1
    - Dst: rng
      Src: /src/botan/src/cli/tss.cpp:53,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/tss.cpp:53,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tss.cpp:53,1
    - Dst: Botan::RTSS_Share::split
      Src: /src/botan/src/cli/tss.cpp:56,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/tss.cpp:56,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/tss.cpp:57,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/tss.cpp:58,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/cli/tss.cpp:59,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/tss.cpp:59,1
    - Dst: rng
      Src: /src/botan/src/cli/tss.cpp:62,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tss.cpp:64,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tss.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/botan/src/cli/tss.cpp:66,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tss.cpp:68,1
    - Dst: std::ofstream::write
      Src: /src/botan/src/cli/tss.cpp:71,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/tss.cpp:71,1
    - Dst: data
      Src: /src/botan/src/cli/tss.cpp:71,1
    - Dst: data
      Src: /src/botan/src/cli/tss.cpp:71,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 73
    functionName: Botan_CLI::TSS_Split::go
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::write
    - CLI_Usage_Error
    - Botan::fmt
    - CLI_Error
    - Botan::secure_vector::size
    - Botan::RTSS_Share::split
    - std::string::c_str
    - data
    - std::vector::resize
    - std::vector::data
    - std::vector::size
    - get_arg
    - static_cast<uint8_t>
    - Botan::hex_decode
    - Botan::secure_vector::data
    - static_cast<uint16_t>
    - std::vector::empty
    - reinterpret_cast<const char*>
    - rng
    - Botan_CLI::TSS_Split::slurp_file_lvec
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/cli/tss.cpp:78,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/cli/tss.cpp:78,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/tss.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' input_file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: Botan_CLI::TSS_Split::slurp_file_lvec
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 1
    functionsReached:
    - Botan::secure_vector::insert
    - Botan::secure_vector::end
    - Botan_CLI::Command::read_file
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> slurp_file_lvec(const std::string& input_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan_CLI::TSS_Recover::TSS_Recover
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSS_Recover()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan_CLI::TSS_Recover::group
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan_CLI::TSS_Recover::description
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg_list
      Src: /src/botan/src/cli/tss.cpp:95,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/tss.cpp:97,1
    - Dst: output
      Src: /src/botan/src/cli/tss.cpp:98,1
    - Dst: help_text
      Src: /src/botan/src/cli/tss.cpp:98,1
    - Dst: Botan_CLI::TSS_Recover::set_return_code
      Src: /src/botan/src/cli/tss.cpp:99,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/tss.cpp:105,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/tss.cpp:106,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/tss.cpp:107,1
    - Dst: Botan::RTSS_Share::RTSS_Share
      Src: /src/botan/src/cli/tss.cpp:107,1
    - Dst: auto::data
      Src: /src/botan/src/cli/tss.cpp:107,1
    - Dst: auto::size
      Src: /src/botan/src/cli/tss.cpp:107,1
    - Dst: Botan::RTSS_Share::reconstruct
      Src: /src/botan/src/cli/tss.cpp:110,1
    - Dst: output
      Src: /src/botan/src/cli/tss.cpp:112,1
    - Dst: Botan::cast_uint8_ptr_to_char
      Src: /src/botan/src/cli/tss.cpp:112,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/tss.cpp:112,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/tss.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: Botan_CLI::TSS_Recover::go
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - help_text
    - Botan::cast_uint8_ptr_to_char
    - slurp_file
    - Botan::RTSS_Share::reconstruct
    - Botan_CLI::TSS_Recover::set_return_code
    - get_arg_list
    - output
    - Botan::RTSS_Share::RTSS_Share
    - auto::data
    - Botan::secure_vector::data
    - Botan::secure_vector::size
    - auto::size
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/cli/timer.cpp:22,1
    - Dst: std::string
      Src: /src/botan/src/cli/timer.cpp:23,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/timer.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: Botan_CLI::format_timer_name
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - std::ostringstream::str
    - std::string_view::empty
    linkageType: ''
    returnType: std::string
    signature: std::string format_timer_name(std::string_view name, std::string_view
      provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format_timer_name
      Src: /src/botan/src/cli/timer.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - name
    - provider
    - doing
    - event_mult
    - buf_size
    - clock_cycle_ratio
    - clock_speed
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - uint64_t
    - size_t
    - double
    - uint64_t
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: Botan_CLI::Timer::Timer
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 0
    functionsReached:
    - format_timer_name
    linkageType: ''
    returnType: void
    signature: "void Timer::Timer(std::string_view name,\n             std::string_view
      provider,\n             std::string_view doing,\n             uint64_t event_mult,\n
      \            size_t buf_size,\n             double clock_cycle_ratio,\n             uint64_t
      clock_speed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::stop
      Src: /src/botan/src/cli/timer.cpp:48,1
    - Dst: Botan_CLI::Timer::timestamp_ns
      Src: /src/botan/src/cli/timer.cpp:49,1
    - Dst: Botan_CLI::Timer::cycle_counter
      Src: /src/botan/src/cli/timer.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: Botan_CLI::Timer::start
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::cycle_counter
    - Botan_CLI::Timer::timestamp_ns
    - Botan_CLI::Timer::stop
    linkageType: ''
    returnType: void
    signature: void Timer::start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/timer.cpp:54,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/botan/src/cli/timer.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan_CLI::Timer::timestamp_ns
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 1
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Timer::timestamp_ns()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::get_cpu_cycle_counter
      Src: /src/botan/src/cli/timer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: Botan_CLI::Timer::cycle_counter
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 1
    functionsReached:
    - Botan::OS::get_cpu_cycle_counter
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Timer::cycle_counter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/cli/timer.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: Botan_CLI::Timer::stop
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void Timer::stop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Timer::doing
      Src: /src/botan/src/cli/timer.cpp:87,1
    - Dst: doing
      Src: /src/botan/src/cli/timer.cpp:87,1
    - Dst: Timer::doing
      Src: /src/botan/src/cli/timer.cpp:88,1
    - Dst: doing
      Src: /src/botan/src/cli/timer.cpp:88,1
    - Dst: Timer::get_name
      Src: /src/botan/src/cli/timer.cpp:91,1
    - Dst: get_name
      Src: /src/botan/src/cli/timer.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: Timer::operator<(const Timer& other) const
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 0
    functionsReached:
    - Timer::doing
    - get_name
    - Timer::get_name
    - doing
    linkageType: ''
    returnType: bool
    signature: bool Timer::operator<(const Timer& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_misc.cpp:29,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_misc.cpp:30,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:44,1
    - Dst: auto::public_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:50,1
    - Dst: empty
      Src: /src/botan/src/cli/perf_pk_misc.cpp:52,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pk_misc.cpp:52,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_misc.cpp:54,1
    - Dst: auto::subject_public_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:55,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_pk_misc.cpp:56,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:56,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_misc.cpp:57,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_misc.cpp:59,1
    - Dst: auto::private_key_info
      Src: /src/botan/src/cli/perf_pk_misc.cpp:60,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_pk_misc.cpp:61,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:61,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_misc.cpp:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 64
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 64
    functionName: Botan_CLI::PerfTest_PKKeyParsing::go
    functionSourceFile: /src/botan/src/cli/perf_pk_misc.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - auto::private_key_info
    - Botan::fmt
    - auto::public_key
    - runtime
    - empty
    - make_timer
    - Botan::create_private_key
    - record_result
    - rng
    - auto::subject_public_key
    - Botan::PKCS8::load_key
    - auto::run_until_elapsed
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_misc.cpp:76,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_misc.cpp:77,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pk_misc.cpp:80,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_misc.cpp:81,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_misc.cpp:83,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_misc.cpp:85,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:85,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_pk_misc.cpp:85,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_pk_misc.cpp:87,1
    - Dst: auto::check_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:87,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_misc.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: Botan_CLI::PerfTest_RSAKeyGen::go
    functionSourceFile: /src/botan/src/cli/perf_pk_misc.cpp
    functionUses: 0
    functionsReached:
    - auto::run
    - Botan::fmt
    - runtime
    - std::to_string
    - auto::under
    - auto::check_key
    - make_timer
    - Botan::create_private_key
    - BOTAN_ASSERT
    - rng
    - record_result
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_misc.cpp:104,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_misc.cpp:105,1
    - Dst: ecc_groups
      Src: /src/botan/src/cli/perf_pk_misc.cpp:107,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/cli/perf_pk_misc.cpp:108,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_misc.cpp:109,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_misc.cpp:111,1
    - Dst: auto::get_order_bits
      Src: /src/botan/src/cli/perf_pk_misc.cpp:114,1
    - Dst: randomize
      Src: /src/botan/src/cli/perf_pk_misc.cpp:115,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_pk_misc.cpp:115,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_pk_misc.cpp:115,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/cli/perf_pk_misc.cpp:118,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/cli/perf_pk_misc.cpp:119,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/cli/perf_pk_misc.cpp:122,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_pk_misc.cpp:123,1
    - Dst: Botan::PK_Verifier::check_signature
      Src: /src/botan/src/cli/perf_pk_misc.cpp:123,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_pk_misc.cpp:125,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_pk_misc.cpp:125,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_pk_misc.cpp:126,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_pk_misc.cpp:126,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_pk_misc.cpp:126,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_misc.cpp:130,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_pk_misc.cpp:132,1
    - Dst: Botan::ECDSA_PublicKey::public_key_bits
      Src: /src/botan/src/cli/perf_pk_misc.cpp:132,1
    - Dst: Botan::ECDSA_PrivateKey::public_key_bits
      Src: /src/botan/src/cli/perf_pk_misc.cpp:132,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_misc.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 139
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 139
    functionName: Botan_CLI::PerfTest_ECDSAKeyRec::go
    functionSourceFile: /src/botan/src/cli/perf_pk_misc.cpp
    functionUses: 0
    functionsReached:
    - auto::under
    - randomize
    - Botan::PK_Verifier::update
    - Botan::PK_Signer::update
    - record_result
    - Botan::PK_Signer::signature
    - ecc_groups
    - std::vector::data
    - std::vector::size
    - auto::run
    - runtime
    - auto::get_order_bits
    - Botan::ECDSA_PrivateKey::public_key_bits
    - make_timer
    - BOTAN_ASSERT
    - Botan::ECDSA_PublicKey::public_key_bits
    - rng
    - Botan::PK_Verifier::check_signature
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' cmd_spec'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: Botan_CLI::Command::Command
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Command::Command(const std::string& cmd_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Command::~Command()
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Command::~Command()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/botan/src/cli/cli.cpp:44,1
    - Dst: find
      Src: /src/botan/src/cli/cli.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan_CLI::Command::cmd_name
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - find
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string Command::cmd_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan_CLI::Command::help_text
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Command::help_text() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Argument_Parser::split_on
      Src: /src/botan/src/cli/cli.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - delim
    argTypes:
    - std::string
    - char
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan_CLI::Command::split_on
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 3
    functionsReached:
    - Botan_CLI::Argument_Parser::split_on
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Command::split_on(const std::string& str,
      char delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Argument_Parser>
      Src: /src/botan/src/cli/cli.cpp:61,1
    - Dst: parse_args
      Src: /src/botan/src/cli/cli.cpp:63,1
    - Dst: has_arg
      Src: /src/botan/src/cli/cli.cpp:65,1
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:66,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/cli.cpp:68,1
    - Dst: std::make_unique<std::ofstream>
      Src: /src/botan/src/cli/cli.cpp:69,1
    - Dst: good
      Src: /src/botan/src/cli/cli.cpp:70,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/cli.cpp:71,1
    - Dst: has_arg
      Src: /src/botan/src/cli/cli.cpp:76,1
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:77,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/cli.cpp:79,1
    - Dst: std::make_unique<std::ofstream>
      Src: /src/botan/src/cli/cli.cpp:80,1
    - Dst: good
      Src: /src/botan/src/cli/cli.cpp:81,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/cli.cpp:82,1
    - Dst: Botan_CLI::Command::flag_set
      Src: /src/botan/src/cli/cli.cpp:87,1
    - Dst: output
      Src: /src/botan/src/cli/cli.cpp:88,1
    - Dst: Botan_CLI::Command::help_text
      Src: /src/botan/src/cli/cli.cpp:88,1
    - Dst: Botan_CLI::Command::go
      Src: /src/botan/src/cli/cli.cpp:92,1
    - Dst: error_output
      Src: /src/botan/src/cli/cli.cpp:95,1
    - Dst: what
      Src: /src/botan/src/cli/cli.cpp:95,1
    - Dst: error_output
      Src: /src/botan/src/cli/cli.cpp:96,1
    - Dst: Botan_CLI::Command::help_text
      Src: /src/botan/src/cli/cli.cpp:96,1
    - Dst: error_output
      Src: /src/botan/src/cli/cli.cpp:99,1
    - Dst: what
      Src: /src/botan/src/cli/cli.cpp:99,1
    - Dst: error_output
      Src: /src/botan/src/cli/cli.cpp:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 105
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 105
    functionName: Botan_CLI::Command::run
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::help_text
    - error_output
    - good
    - Botan_CLI::Command::go
    - what
    - CLI_IO_Error
    - parse_args
    - has_arg
    - output
    - Botan_CLI::Command::flag_set
    - Botan_CLI::Command::get_arg
    - std::string::empty
    - std::make_unique<Argument_Parser>
    - std::make_unique<std::ofstream>
    linkageType: ''
    returnType: int
    signature: int Command::run(const std::vector<std::string>& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::flag_set
      Src: /src/botan/src/cli/cli.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flag_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan_CLI::Command::flag_set
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 3
    functionsReached:
    - Botan_CLI::Command::flag_set
    linkageType: ''
    returnType: bool
    signature: bool Command::flag_set(const std::string& flag_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: Botan_CLI::Command::get_arg
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 2
    functionsReached:
    - Botan_CLI::Command::get_arg
    linkageType: ''
    returnType: std::string
    signature: std::string Command::get_arg(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::get_arg_or
      Src: /src/botan/src/cli/cli.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' opt_name'
    - ' otherwise'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan_CLI::Command::get_arg_or
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - Botan_CLI::Command::get_arg_or
    linkageType: ''
    returnType: std::string
    signature: std::string Command::get_arg_or(const std::string& opt_name, const
      std::string& otherwise) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:123,1
    - Dst: auto::empty
      Src: /src/botan/src/cli/cli.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: Botan_CLI::Command::get_arg_maybe
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::get_arg
    - auto::empty
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Command::get_arg_maybe(const std::string&
      opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::get_arg_sz
      Src: /src/botan/src/cli/cli.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Botan_CLI::Command::get_arg_sz
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - Botan_CLI::Command::get_arg_sz
    linkageType: ''
    returnType: size_t
    signature: size_t Command::get_arg_sz(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/cli/cli.cpp:137,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/cli.cpp:138,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/cli/cli.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: Botan_CLI::Command::get_arg_u16
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - CLI_Usage_Error
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Command::get_arg_u16(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/cli/cli.cpp:145,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/cli.cpp:146,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/cli/cli.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: Botan_CLI::Command::get_arg_u32
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - CLI_Usage_Error
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Command::get_arg_u32(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::get_arg_list
      Src: /src/botan/src/cli/cli.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: Botan_CLI::Command::get_arg_list
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - Botan_CLI::Command::get_arg_list
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Command::get_arg_list(const std::string& what)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: '& Command::output()'
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Command::output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/botan/src/cli/cli.cpp:167,1
    - Dst: _fileno
      Src: /src/botan/src/cli/cli.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: '& Command::output_binary()'
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - _setmode
    - _fileno
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Command::output_binary()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: '& Command::error_output()'
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Command::error_output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::insert
      Src: /src/botan/src/cli/cli.cpp:181,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/cli.cpp:181,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/cli.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' input_file'
    - buf_size
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Botan_CLI::Command::slurp_file
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::read_file
    - std::vector::end
    - std::vector::insert
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Command::slurp_file(const std::string& input_file,
      size_t buf_size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/botan/src/cli/cli.cpp:188,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/cli.cpp:188,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/cli.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' input_file'
    - buf_size
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Botan_CLI::Command::slurp_file_as_str
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - std::string::append
    - Botan_CLI::Command::read_file
    linkageType: ''
    returnType: std::string
    signature: std::string Command::slurp_file_as_str(const std::string& input_file,
      size_t buf_size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/botan/src/cli/cli.cpp:198,1
    - Dst: _fileno
      Src: /src/botan/src/cli/cli.cpp:198,1
    - Dst: Botan_CLI::Command::do_read_file
      Src: /src/botan/src/cli/cli.cpp:200,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/cli.cpp:204,1
    - Dst: Botan_CLI::Command::do_read_file
      Src: /src/botan/src/cli/cli.cpp:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' input_file'
    - ' consumer_fn'
    - buf_size
    argTypes:
    - std::string
    - std::function<void(uint8_t[], size_t)>
    - size_t
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: Botan_CLI::Command::read_file
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 5
    functionsReached:
    - _setmode
    - _fileno
    - Botan_CLI::Command::do_read_file
    - CLI_IO_Error
    linkageType: ''
    returnType: void
    signature: "void Command::read_file(const std::string& input_file,\n                        const
      std::function<void(uint8_t[], size_t)>& consumer_fn,\n                        size_t
      buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/cli/cli.cpp:217,1
    - Dst: read
      Src: /src/botan/src/cli/cli.cpp:218,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/cli/cli.cpp:218,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/cli.cpp:218,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/cli.cpp:218,1
    - Dst: consumer_fn
      Src: /src/botan/src/cli/cli.cpp:220,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/cli.cpp:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' in'
    - ' consumer_fn'
    - buf_size
    argTypes:
    - std::istream
    - std::function<void(uint8_t[], size_t)>
    - size_t
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: Botan_CLI::Command::do_read_file
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - good
    - consumer_fn
    - read
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: "void Command::do_read_file(std::istream& in,\n                           const
      std::function<void(uint8_t[], size_t)>& consumer_fn,\n                           size_t
      buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/cli.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: '& Command::rng()'
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - rng_as_shared
    linkageType: ''
    returnType: Botan::RandomNumberGenerator
    signature: Botan::RandomNumberGenerator & Command::rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_make_rng
      Src: /src/botan/src/cli/cli.cpp:230,1
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:230,1
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: Botan_CLI::Command::rng_as_shared
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::get_arg
    - cli_make_rng
    linkageType: ''
    returnType: std::shared_ptr<Botan::RandomNumberGenerator>
    signature: std::shared_ptr<Botan::RandomNumberGenerator> Command::rng_as_shared()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:237,1
    - Dst: Botan_CLI::Command::get_passphrase
      Src: /src/botan/src/cli/cli.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' prompt'
    - ' opt_name'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: Botan_CLI::Command::get_passphrase_arg
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::get_passphrase
    - Botan_CLI::Command::get_arg
    linkageType: ''
    returnType: std::string
    signature: std::string Command::get_passphrase_arg(const std::string& prompt,
      const std::string& opt_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::suppress_echo_on_terminal
      Src: /src/botan/src/cli/cli.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: Botan_CLI::echo_suppression_supported
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - Botan::OS::suppress_echo_on_terminal
    linkageType: ''
    returnType: bool
    signature: bool echo_suppression_supported()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: echo_suppression_supported
      Src: /src/botan/src/cli/cli.cpp:258,1
    - Dst: error_output
      Src: /src/botan/src/cli/cli.cpp:259,1
    - Dst: error_output
      Src: /src/botan/src/cli/cli.cpp:262,1
    - Dst: Botan::OS::suppress_echo_on_terminal
      Src: /src/botan/src/cli/cli.cpp:266,1
    - Dst: std::getline
      Src: /src/botan/src/cli/cli.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' prompt'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: Botan_CLI::Command::get_passphrase
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - std::getline
    - error_output
    - echo_suppression_supported
    - Botan::OS::suppress_echo_on_terminal
    linkageType: ''
    returnType: std::string
    signature: std::string Command::get_passphrase(const std::string& prompt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/cli.cpp:278,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/cli/cli.cpp:284,1
    - Dst: Botan::base58_encode
      Src: /src/botan/src/cli/cli.cpp:290,1
    - Dst: Botan::base58_check_encode
      Src: /src/botan/src/cli/cli.cpp:293,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/cli.cpp:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' format'
    - bits
    - len
    argTypes:
    - std::string
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 299
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 299
    functionName: Botan_CLI::Command::format_blob
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - CLI_Usage_Error
    - Botan::base64_encode
    - Botan::base58_check_encode
    - Botan::base58_encode
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string Command::format_blob(const std::string& format, const uint8_t
      bits[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::global_registry
      Src: /src/botan/src/cli/cli.cpp:304,1
    - Dst: contains
      Src: /src/botan/src/cli/cli.cpp:306,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/cli.cpp:307,1
    - Dst: insert
      Src: /src/botan/src/cli/cli.cpp:310,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/cli.cpp:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' name'
    - ' maker_fn'
    argTypes:
    - std::string
    - Command::cmd_maker_fn
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: Command::Registration::Registration(const std::string& name, const
      Command::cmd_maker_fn& maker_fn)
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - contains
    - CLI_Error
    - insert
    - std::make_pair
    - Command::global_registry
    linkageType: ''
    returnType: void
    signature: void Command::Registration::Registration(const std::string& name, const
      Command::cmd_maker_fn& maker_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: '& Command::global_registry()'
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, Command::cmd_maker_fn>
    signature: std::map<std::string, Command::cmd_maker_fn> & Command::global_registry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::global_registry
      Src: /src/botan/src/cli/cli.cpp:322,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/cli.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: Botan_CLI::Command::registered_cmds
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 2
    functionsReached:
    - Command::global_registry
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Command::registered_cmds()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::global_registry
      Src: /src/botan/src/cli/cli.cpp:330,1
    - Dst: find
      Src: /src/botan/src/cli/cli.cpp:332,1
    - Dst: end
      Src: /src/botan/src/cli/cli.cpp:333,1
    - Dst: auto::second
      Src: /src/botan/src/cli/cli.cpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: Botan_CLI::Command::get_cmd
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - find
    - Command::global_registry
    - auto::second
    - end
    linkageType: ''
    returnType: std::unique_ptr<Command>
    signature: std::unique_ptr<Command> Command::get_cmd(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::PerfTest_PK_KEM::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_PK_KEM::algo
      Src: /src/botan/src/cli/perf_pk_kem.cpp:25,1
    - Dst: Botan_CLI::PerfTest_PK_KEM::keygen_params
      Src: /src/botan/src/cli/perf_pk_kem.cpp:27,1
    - Dst: Botan_CLI::PerfTest_PK_KEM::format_name
      Src: /src/botan/src/cli/perf_pk_kem.cpp:30,1
    - Dst: Botan_CLI::PerfTest_PK_KEM::bench_pk_kem
      Src: /src/botan/src/cli/perf_pk_kem.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: Botan_CLI::PerfTest_PK_KEM::go
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_PK_KEM::keygen_params
    - Botan_CLI::PerfTest_PK_KEM::algo
    - Botan_CLI::PerfTest_PK_KEM::bench_pk_kem
    - Botan_CLI::PerfTest_PK_KEM::format_name
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_kem.cpp:40,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_kem.cpp:41,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_kem.cpp:45,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_kem.cpp:47,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_kem.cpp:47,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_kem.cpp:50,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_kem.cpp:51,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_kem.cpp:51,1
    - Dst: auto::public_key
      Src: /src/botan/src/cli/perf_pk_kem.cpp:54,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_kem.cpp:59,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_kem.cpp:60,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_kem.cpp:62,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_kem.cpp:62,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_pk_kem.cpp:63,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_pk_kem.cpp:65,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/cli/perf_pk_kem.cpp:66,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_pk_kem.cpp:67,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_pk_kem.cpp:69,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/cli/perf_pk_kem.cpp:71,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/cli/perf_pk_kem.cpp:71,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_pk_kem.cpp:72,1
    - Dst: auto::shared_key
      Src: /src/botan/src/cli/perf_pk_kem.cpp:74,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_pk_kem.cpp:75,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_kem.cpp:78,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_kem.cpp:79,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_kem.cpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - ' config'
    - ' nm'
    - ' algo'
    - ' params'
    argTypes:
    - PerfConfig
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 82
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 82
    functionName: Botan_CLI::PerfTest_PK_KEM::bench_pk_kem
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 1
    functionsReached:
    - auto::run
    - Botan::PK_KEM_Encryptor::encrypt
    - runtime
    - auto::public_key
    - auto::under
    - Botan::PK_KEM_Decryptor::decrypt
    - make_timer
    - Botan::create_private_key
    - auto::start
    - auto::shared_key
    - rng
    - random_vec
    - auto::stop
    - record_result
    - error_output
    - auto::encapsulated_shared_key
    linkageType: ''
    returnType: void
    signature: "void bench_pk_kem(const PerfConfig& config,\n                        const
      std::string& nm,\n                        const std::string& algo,\n                        const
      std::string& params,\n                        const std::string& provider =
      \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan_CLI::PerfTest_Kyber::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: Botan_CLI::PerfTest_Kyber::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Botan_CLI::PerfTest_ML_KEM::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: Botan_CLI::PerfTest_ML_KEM::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Botan_CLI::PerfTest_FrodoKEM::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: Botan_CLI::PerfTest_FrodoKEM::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Botan_CLI::PerfTest_Classic_McEliece::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 181
    functionName: Botan_CLI::PerfTest_Classic_McEliece::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::runtime_version_check
      Src: /src/botan/src/cli/main.cpp:13,1
    - Dst: std::min
      Src: /src/botan/src/cli/main.cpp:34,1
    - Dst: std::unique_ptr::run
      Src: /src/botan/src/cli/main.cpp:35,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 36
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/botan/src/cli/main.cpp
    functionUses: 19
    functionsReached:
    - std::min
    - std::unique_ptr::run
    - Botan::runtime_version_check
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/argparse.h:56,1
    - Dst: begin
      Src: /src/botan/src/cli/argparse.h:61,1
    - Dst: end
      Src: /src/botan/src/cli/argparse.h:61,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/argparse.h:63,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/argparse.h:64,1
    - Dst: std::string::clear
      Src: /src/botan/src/cli/argparse.h:66,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/argparse.h:72,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/argparse.h:73,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/argparse.h:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' str'
    - delim
    argTypes:
    - std::string
    - char
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: Botan_CLI::Argument_Parser::split_on
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - std::string::clear
    - CLI_Error
    - end
    - begin
    - empty
    - std::string::empty
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Argument_Parser::split_on(const std::string&
      str, char delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flag_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan_CLI::Argument_Parser::flag_set
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Argument_Parser::flag_set(const std::string& flag_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan_CLI::Argument_Parser::has_arg
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Argument_Parser::has_arg(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/cli/argparse.h:89,1
    - Dst: end
      Src: /src/botan/src/cli/argparse.h:90,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/argparse.h:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: Botan_CLI::Argument_Parser::get_arg
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - end
    - find
    - CLI_Error
    linkageType: ''
    returnType: std::string
    signature: std::string Argument_Parser::get_arg(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/cli/argparse.h:98,1
    - Dst: end
      Src: /src/botan/src/cli/argparse.h:99,1
    - Dst: auto::second::empty
      Src: /src/botan/src/cli/argparse.h:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' opt_name'
    - ' otherwise'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: Botan_CLI::Argument_Parser::get_arg_or
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - end
    - find
    - auto::second::empty
    linkageType: ''
    returnType: std::string
    signature: std::string Argument_Parser::get_arg_or(const std::string& opt_name,
      const std::string& otherwise) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/cli/argparse.h:106,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/cli/argparse.h:109,1
    - Dst: std::stoul
      Src: /src/botan/src/cli/argparse.h:109,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: Botan_CLI::Argument_Parser::get_arg_sz
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - Botan_CLI::Argument_Parser::get_arg
    - static_cast<size_t>
    - CLI_Usage_Error
    - std::stoul
    linkageType: ''
    returnType: size_t
    signature: size_t Argument_Parser::get_arg_sz(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Argument_Parser::get_arg_or
      Src: /src/botan/src/cli/argparse.h:116,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/cli/argparse.h:119,1
    - Dst: std::stoul
      Src: /src/botan/src/cli/argparse.h:119,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' opt_name'
    - ' otherwise'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: Botan_CLI::Argument_Parser::get_arg_hex_sz_or
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - Botan_CLI::Argument_Parser::get_arg_or
    - CLI_Usage_Error
    - std::stoul
    linkageType: ''
    returnType: size_t
    signature: size_t Argument_Parser::get_arg_hex_sz_or(const std::string& opt_name,
      const std::string& otherwise) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Argument_Parser::split_on
      Src: /src/botan/src/cli/argparse.h:130,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/cli/argparse.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: Botan_CLI::Argument_Parser::get_arg_list
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - Botan_CLI::Argument_Parser::get_arg
    - Botan_CLI::Argument_Parser::split_on
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Argument_Parser::get_arg_list(const std::string&
      what) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/cli/argparse.h:136,1
    - Dst: find
      Src: /src/botan/src/cli/argparse.h:138,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:141,1
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:143,1
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:144,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:145,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:147,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:150,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:152,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:153,1
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:155,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:156,1
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:159,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:160,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:163,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/argparse.h:163,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/argparse.h:167,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/cli/argparse.h:171,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/argparse.h:175,1
    - Dst: size
      Src: /src/botan/src/cli/argparse.h:175,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:177,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/argparse.h:177,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/argparse.h:177,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/argparse.h:178,1
    - Dst: size
      Src: /src/botan/src/cli/argparse.h:178,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:184,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/argparse.h:184,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:188,1
    - Dst: empty
      Src: /src/botan/src/cli/argparse.h:196,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/argparse.h:197,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:198,1
    - Dst: assign
      Src: /src/botan/src/cli/argparse.h:201,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/argparse.h:201,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/argparse.h:201,1
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:206,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:207,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 210
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 210
    functionName: Botan_CLI::Argument_Parser::parse_args
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - std::vector::size
    - CLI_Usage_Error
    - contains
    - std::to_string
    - Botan_CLI::Argument_Parser::flag_set
    - std::vector::end
    - empty
    - insert
    - std::make_pair
    - substr
    - size
    - std::vector::begin
    - find
    - std::vector::push_back
    - assign
    linkageType: ''
    returnType: void
    signature: void Argument_Parser::parse_args(const std::vector<std::string>& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Argument_Parser::split_on
      Src: /src/botan/src/cli/argparse.h:221,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/argparse.h:223,1
    - Dst: CLI_Error_Invalid_Spec
      Src: /src/botan/src/cli/argparse.h:224,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/argparse.h:227,1
    - Dst: empty
      Src: /src/botan/src/cli/argparse.h:230,1
    - Dst: CLI_Error_Invalid_Spec
      Src: /src/botan/src/cli/argparse.h:232,1
    - Dst: size
      Src: /src/botan/src/cli/argparse.h:235,1
    - Dst: find
      Src: /src/botan/src/cli/argparse.h:238,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:241,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:241,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:243,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/argparse.h:243,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:243,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:243,1
    - Dst: empty
      Src: /src/botan/src/cli/argparse.h:247,1
    - Dst: size
      Src: /src/botan/src/cli/argparse.h:247,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:248,1
    - Dst: CLI_Error_Invalid_Spec
      Src: /src/botan/src/cli/argparse.h:250,1
    - Dst: empty
      Src: /src/botan/src/cli/argparse.h:254,1
    - Dst: CLI_Error_Invalid_Spec
      Src: /src/botan/src/cli/argparse.h:256,1
    - Dst: push_back
      Src: /src/botan/src/cli/argparse.h:259,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:264,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:267,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/argparse.h:267,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - ' spec'
    - ' extra_flags'
    - ' extra_opts'
    argTypes:
    - std::string
    - std::vector<std::string>
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 269
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 269
    functionName: Botan_CLI::Argument_Parser::Argument_Parser
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::vector::size
    - empty
    - insert
    - std::make_pair
    - Botan_CLI::Argument_Parser::split_on
    - size
    - substr
    - CLI_Error_Invalid_Spec
    - find
    - push_back
    linkageType: ''
    returnType: void
    signature: "void Argument_Parser::Argument_Parser(const std::string& spec,\n                                 const
      std::vector<std::string>& extra_flags,\n                                 const
      std::vector<std::string>& extra_opts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::PerfTest_PKSig::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_CLI::PerfTest_PKSig::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_PKSig::algo
      Src: /src/botan/src/cli/perf_pk_sig.cpp:27,1
    - Dst: Botan_CLI::PerfTest_PKSig::hash
      Src: /src/botan/src/cli/perf_pk_sig.cpp:28,1
    - Dst: Botan_CLI::PerfTest_PKSig::keygen_params
      Src: /src/botan/src/cli/perf_pk_sig.cpp:30,1
    - Dst: Botan_CLI::PerfTest_PKSig::format_name
      Src: /src/botan/src/cli/perf_pk_sig.cpp:33,1
    - Dst: Botan_CLI::PerfTest_PKSig::bench_pk_sig
      Src: /src/botan/src/cli/perf_pk_sig.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: Botan_CLI::PerfTest_PKSig::go
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_PKSig::algo
    - Botan_CLI::PerfTest_PKSig::hash
    - Botan_CLI::PerfTest_PKSig::format_name
    - Botan_CLI::PerfTest_PKSig::bench_pk_sig
    - Botan_CLI::PerfTest_PKSig::keygen_params
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_sig.cpp:44,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_sig.cpp:45,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_sig.cpp:47,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_sig.cpp:49,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_sig.cpp:49,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_sig.cpp:52,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_sig.cpp:53,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_sig.cpp:53,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_sig.cpp:56,1
    - Dst: auto::public_key
      Src: /src/botan/src/cli/perf_pk_sig.cpp:58,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_sig.cpp:65,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_sig.cpp:66,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_sig.cpp:70,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_sig.cpp:70,1
    - Dst: empty
      Src: /src/botan/src/cli/perf_pk_sig.cpp:71,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_sig.cpp:71,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_pk_sig.cpp:76,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_sig.cpp:78,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/cli/perf_pk_sig.cpp:78,1
    - Dst: next_byte
      Src: /src/botan/src/cli/perf_pk_sig.cpp:81,1
    - Dst: size
      Src: /src/botan/src/cli/perf_pk_sig.cpp:81,1
    - Dst: next_nonzero_byte
      Src: /src/botan/src/cli/perf_pk_sig.cpp:81,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_sig.cpp:84,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_pk_sig.cpp:94,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_pk_sig.cpp:100,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_sig.cpp:103,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_sig.cpp:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - ' config'
    - ' nm'
    - ' alg'
    - ' param'
    - ' padding'
    argTypes:
    - PerfConfig
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 106
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 106
    functionName: Botan_CLI::PerfTest_PKSig::bench_pk_sig
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 1
    functionsReached:
    - auto::run
    - runtime
    - auto::public_key
    - auto::under
    - next_byte
    - Botan::PK_Signer::sign_message
    - empty
    - make_timer
    - Botan::create_private_key
    - rng
    - random_vec
    - size
    - record_result
    - error_output
    - next_nonzero_byte
    linkageType: ''
    returnType: void
    signature: "void bench_pk_sig(const PerfConfig& config,\n                        const
      std::string& nm,\n                        const std::string& alg,\n                        const
      std::string& param,\n                        const std::string& padding,\n                        const
      std::string& provider = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Botan_CLI::PerfTest_DSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan_CLI::PerfTest_DSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pk_sig.cpp:122,1
    - Dst: substr
      Src: /src/botan/src/cli/perf_pk_sig.cpp:122,1
    - Dst: find_last_of
      Src: /src/botan/src/cli/perf_pk_sig.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' alg'
    - ' param'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: Botan_CLI::PerfTest_DSA::format_name
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached:
    - find_last_of
    - Botan::fmt
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string format_name(const std::string& alg, const std::string&
      param) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Botan_CLI::PerfTest_RSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: Botan_CLI::PerfTest_RSA::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: Botan_CLI::PerfTest_RSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Botan_CLI::PerfTest_ECDSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_groups
      Src: /src/botan/src/cli/perf_pk_sig.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: Botan_CLI::PerfTest_ECDSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached:
    - ecc_groups
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& config) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: Botan_CLI::PerfTest_ECKCDSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_groups
      Src: /src/botan/src/cli/perf_pk_sig.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: Botan_CLI::PerfTest_ECKCDSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached:
    - ecc_groups
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& config) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan_CLI::PerfTest_ECGDSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_groups
      Src: /src/botan/src/cli/perf_pk_sig.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan_CLI::PerfTest_ECGDSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached:
    - ecc_groups
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& config) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan_CLI::PerfTest_Gost3410::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: Botan_CLI::PerfTest_Gost3410::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan_CLI::PerfTest_Gost3410::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: Botan_CLI::PerfTest_SM2::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: Botan_CLI::PerfTest_SM2::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: Botan_CLI::PerfTest_SM2::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: Botan_CLI::PerfTest_Ed25519::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: Botan_CLI::PerfTest_Ed25519::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: Botan_CLI::PerfTest_Ed448::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: Botan_CLI::PerfTest_Ed448::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: Botan_CLI::PerfTest_XMSS::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: Botan_CLI::PerfTest_XMSS::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 262
    functionName: Botan_CLI::PerfTest_XMSS::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: Botan_CLI::PerfTest_HSS_LMS::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: Botan_CLI::PerfTest_HSS_LMS::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: Botan_CLI::PerfTest_HSS_LMS::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: Botan_CLI::PerfTest_SPHINCSp::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: Botan_CLI::PerfTest_SPHINCSp::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/botan/src/cli/perf_pk_sig.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' alg'
    - ' param'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: Botan_CLI::PerfTest_SPHINCSp::format_name
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached:
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string format_name(const std::string& alg, const std::string&
      param) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: Botan_CLI::PerfTest_SPHINCSp::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: Botan_CLI::PerfTest_SLH_DSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: Botan_CLI::PerfTest_SLH_DSA::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 348
    functionName: Botan_CLI::PerfTest_SLH_DSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: Botan_CLI::PerfTest_Dilithium::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: Botan_CLI::PerfTest_Dilithium::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: Botan_CLI::PerfTest_Dilithium::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: Botan_CLI::PerfTest_ML_DSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: Botan_CLI::PerfTest_ML_DSA::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: Botan_CLI::PerfTest_ML_DSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/cli/speed.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' timer'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_CLI::JSON_Output::add
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void add(const Timer& timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::short_version_cstr
      Src: /src/botan/src/cli/speed.cpp:51,1
    - Dst: Botan::version_vc_revision
      Src: /src/botan/src/cli/speed.cpp:53,1
    - Dst: size
      Src: /src/botan/src/cli/speed.cpp:60,1
    - Dst: get_name
      Src: /src/botan/src/cli/speed.cpp:64,1
    - Dst: doing
      Src: /src/botan/src/cli/speed.cpp:65,1
    - Dst: events
      Src: /src/botan/src/cli/speed.cpp:66,1
    - Dst: cycles_consumed
      Src: /src/botan/src/cli/speed.cpp:68,1
    - Dst: cycles_consumed
      Src: /src/botan/src/cli/speed.cpp:69,1
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:72,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/cli/speed.cpp:73,1
    - Dst: events
      Src: /src/botan/src/cli/speed.cpp:73,1
    - Dst: value
      Src: /src/botan/src/cli/speed.cpp:73,1
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:74,1
    - Dst: value
      Src: /src/botan/src/cli/speed.cpp:77,1
    - Dst: size
      Src: /src/botan/src/cli/speed.cpp:79,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/speed.cpp:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 88
    functionName: Botan_CLI::JSON_Output::print
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - events
    - std::ostringstream::str
    - static_cast<uint64_t>
    - cycles_consumed
    - doing
    - Botan::short_version_cstr
    - get_name
    - Botan::version_vc_revision
    - size
    - buf_size
    - value
    linkageType: ''
    returnType: std::string
    signature: std::string print() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan_CLI::Summary::Summary
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Summary()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:99,1
    - Dst: push_back
      Src: /src/botan/src/cli/speed.cpp:100,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/speed.cpp:102,1
    - Dst: doing
      Src: /src/botan/src/cli/speed.cpp:102,1
    - Dst: get_name
      Src: /src/botan/src/cli/speed.cpp:102,1
    - Dst: push_back
      Src: /src/botan/src/cli/speed.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Botan_CLI::Summary::add
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - doing
    - get_name
    - std::make_pair
    - buf_size
    - push_back
    linkageType: ''
    returnType: void
    signature: void add(const Timer& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/speed.cpp:114,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:118,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:118,1
    - Dst: begin
      Src: /src/botan/src/cli/speed.cpp:121,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:122,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/speed.cpp:122,1
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:122,1
    - Dst: second::empty
      Src: /src/botan/src/cli/speed.cpp:128,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:132,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:132,1
    - Dst: events
      Src: /src/botan/src/cli/speed.cpp:136,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:137,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:139,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:139,1
    - Dst: bytes_per_second
      Src: /src/botan/src/cli/speed.cpp:140,1
    - Dst: empty
      Src: /src/botan/src/cli/speed.cpp:150,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:151,1
    - Dst: std::sort
      Src: /src/botan/src/cli/speed.cpp:154,1
    - Dst: begin
      Src: /src/botan/src/cli/speed.cpp:154,1
    - Dst: end
      Src: /src/botan/src/cli/speed.cpp:154,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:157,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:157,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:158,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:158,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:164,1
    - Dst: get_name
      Src: /src/botan/src/cli/speed.cpp:164,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:164,1
    - Dst: doing
      Src: /src/botan/src/cli/speed.cpp:165,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:165,1
    - Dst: seconds_per_event
      Src: /src/botan/src/cli/speed.cpp:166,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:166,1
    - Dst: events_per_second
      Src: /src/botan/src/cli/speed.cpp:167,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/speed.cpp:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 172
    functionName: Botan_CLI::Summary::print
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - events
    - std::ostringstream::str
    - bytes_per_second
    - std::to_string
    - std::sort
    - seconds_per_event
    - end
    - std::setw
    - std::setprecision
    - empty
    - doing
    - get_name
    - second::empty
    - events_per_second
    - buf_size
    - begin
    linkageType: ''
    returnType: std::string
    signature: std::string print()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/speed.cpp:183,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/cli/speed.cpp:187,1
    - Dst: std::stoul
      Src: /src/botan/src/cli/speed.cpp:187,1
    - Dst: size
      Src: /src/botan/src/cli/speed.cpp:189,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:190,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:193,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:197,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:201,1
    - Dst: std::set::insert
      Src: /src/botan/src/cli/speed.cpp:204,1
    - Dst: std::vector<size_t>
      Src: /src/botan/src/cli/speed.cpp:207,1
    - Dst: std::set::begin
      Src: /src/botan/src/cli/speed.cpp:207,1
    - Dst: std::set::end
      Src: /src/botan/src/cli/speed.cpp:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ' cmdline_arg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: Botan_CLI::unique_buffer_sizes
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - CLI_Usage_Error
    - Botan_CLI::Command::split_on
    - std::set::end
    - std::set::insert
    - static_cast<size_t>
    - size
    - std::stoul
    - std::vector<size_t>
    - std::set::begin
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> unique_buffer_sizes(const std::string& cmdline_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_name
      Src: /src/botan/src/cli/speed.cpp:215,1
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:219,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/cli/speed.cpp:225,1
    - Dst: events_per_second
      Src: /src/botan/src/cli/speed.cpp:225,1
    - Dst: doing
      Src: /src/botan/src/cli/speed.cpp:225,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:228,1
    - Dst: milliseconds
      Src: /src/botan/src/cli/speed.cpp:228,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:230,1
    - Dst: microseconds
      Src: /src/botan/src/cli/speed.cpp:230,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:232,1
    - Dst: nanoseconds
      Src: /src/botan/src/cli/speed.cpp:232,1
    - Dst: cycles_consumed
      Src: /src/botan/src/cli/speed.cpp:235,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:238,1
    - Dst: milliseconds
      Src: /src/botan/src/cli/speed.cpp:241,1
    - Dst: doing
      Src: /src/botan/src/cli/speed.cpp:249,1
    - Dst: doing
      Src: /src/botan/src/cli/speed.cpp:250,1
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:253,1
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:254,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:260,1
    - Dst: cycles_consumed
      Src: /src/botan/src/cli/speed.cpp:263,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:265,1
    - Dst: milliseconds
      Src: /src/botan/src/cli/speed.cpp:268,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/speed.cpp:271,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - ' t'
    - time_unit
    argTypes:
    - Timer
    - size_t
    constantsTouched: []
    func_position:
      end: 272
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 272
    functionName: Botan_CLI::format_timer
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - microseconds
    - std::ostringstream::str
    - static_cast<uint64_t>
    - milliseconds
    - cycles_consumed
    - std::setprecision
    - doing
    - get_name
    - nanoseconds
    - events_per_second
    - buf_size
    linkageType: ''
    returnType: std::string
    signature: std::string format_timer(const Timer& t, size_t time_unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: Botan_CLI::Speed::Speed
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Speed()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 372
    functionName: Botan_CLI::Speed::default_benchmark_list
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> default_benchmark_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: Botan_CLI::Speed::group
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: Botan_CLI::Speed::description
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/speed.cpp:379,1
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/speed.cpp:380,1
    - Dst: get_arg
      Src: /src/botan/src/cli/speed.cpp:380,1
    - Dst: get_arg
      Src: /src/botan/src/cli/speed.cpp:381,1
    - Dst: get_arg
      Src: /src/botan/src/cli/speed.cpp:382,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:396,1
    - Dst: get_arg
      Src: /src/botan/src/cli/speed.cpp:398,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:407,1
    - Dst: Botan::OS::get_cpu_cycle_counter
      Src: /src/botan/src/cli/speed.cpp:413,1
    - Dst: error_output
      Src: /src/botan/src/cli/speed.cpp:414,1
    - Dst: std::make_unique<Summary>
      Src: /src/botan/src/cli/speed.cpp:421,1
    - Dst: std::make_unique<JSON_Output>
      Src: /src/botan/src/cli/speed.cpp:423,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:425,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/speed.cpp:429,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/speed.cpp:431,1
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/cli/speed.cpp:432,1
    - Dst: std::vector::assign
      Src: /src/botan/src/cli/speed.cpp:433,1
    - Dst: auto::begin
      Src: /src/botan/src/cli/speed.cpp:433,1
    - Dst: auto::end
      Src: /src/botan/src/cli/speed.cpp:433,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/speed.cpp:437,1
    - Dst: unique_buffer_sizes
      Src: /src/botan/src/cli/speed.cpp:439,1
    - Dst: get_arg
      Src: /src/botan/src/cli/speed.cpp:439,1
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/speed.cpp:442,1
    - Dst: get_arg
      Src: /src/botan/src/cli/speed.cpp:442,1
    - Dst: Botan::CPUID::bit_from_string
      Src: /src/botan/src/cli/speed.cpp:443,1
    - Dst: Botan::CPUID::clear_cpuid_bit
      Src: /src/botan/src/cli/speed.cpp:444,1
    - Dst: error_output
      Src: /src/botan/src/cli/speed.cpp:446,1
    - Dst: verbose
      Src: /src/botan/src/cli/speed.cpp:451,1
    - Dst: output
      Src: /src/botan/src/cli/speed.cpp:453,1
    - Dst: Botan::version_string
      Src: /src/botan/src/cli/speed.cpp:453,1
    - Dst: Botan::CPUID::to_string
      Src: /src/botan/src/cli/speed.cpp:454,1
    - Dst: output
      Src: /src/botan/src/cli/speed.cpp:456,1
    - Dst: Botan::version_string
      Src: /src/botan/src/cli/speed.cpp:456,1
    - Dst: Botan_CLI::Speed::default_benchmark_list
      Src: /src/botan/src/cli/speed.cpp:462,1
    - Dst: Botan_CLI::Speed::record_result
      Src: /src/botan/src/cli/speed.cpp:465,1
    - Dst: Botan_CLI::Speed::error_output
      Src: /src/botan/src/cli/speed.cpp:471,1
    - Dst: Botan_CLI::Speed::rng
      Src: /src/botan/src/cli/speed.cpp:472,1
    - Dst: Botan_CLI::PerfTest::get
      Src: /src/botan/src/cli/speed.cpp:475,1
    - Dst: auto::go
      Src: /src/botan/src/cli/speed.cpp:476,1
    - Dst: verbose
      Src: /src/botan/src/cli/speed.cpp:477,1
    - Dst: error_output
      Src: /src/botan/src/cli/speed.cpp:478,1
    - Dst: output
      Src: /src/botan/src/cli/speed.cpp:483,1
    - Dst: print
      Src: /src/botan/src/cli/speed.cpp:483,1
    - Dst: output
      Src: /src/botan/src/cli/speed.cpp:486,1
    - Dst: print
      Src: /src/botan/src/cli/speed.cpp:486,1
    - Dst: verbose
      Src: /src/botan/src/cli/speed.cpp:489,1
    - Dst: output
      Src: /src/botan/src/cli/speed.cpp:493,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 495
    functionName: Botan_CLI::Speed::go
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - CLI_Usage_Error
    - Botan_CLI::Command::split_on
    - output
    - auto::end
    - error_output
    - Botan::EC_Group::known_named_groups
    - print
    - std::make_unique<JSON_Output>
    - Botan_CLI::Speed::record_result
    - Botan_CLI::Speed::default_benchmark_list
    - get_arg_sz
    - Botan::CPUID::clear_cpuid_bit
    - Botan::CPUID::to_string
    - std::vector::size
    - auto::begin
    - get_arg
    - Botan::OS::get_cpu_cycle_counter
    - Botan::version_string
    - Botan_CLI::Speed::error_output
    - auto::go
    - verbose
    - Botan::CPUID::bit_from_string
    - std::vector::empty
    - std::make_unique<Summary>
    - get_arg_list
    - Botan_CLI::PerfTest::get
    - unique_buffer_sizes
    - Botan_CLI::Speed::rng
    - std::vector::assign
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/cli/speed.cpp:505,1
    - Dst: cycles_consumed
      Src: /src/botan/src/cli/speed.cpp:506,1
    - Dst: add
      Src: /src/botan/src/cli/speed.cpp:508,1
    - Dst: output
      Src: /src/botan/src/cli/speed.cpp:510,1
    - Dst: format_timer
      Src: /src/botan/src/cli/speed.cpp:510,1
    - Dst: add
      Src: /src/botan/src/cli/speed.cpp:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 516
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: Botan_CLI::Speed::record_result
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 1
    functionsReached:
    - add
    - cycles_consumed
    - output
    - format_timer
    - value
    linkageType: ''
    returnType: void
    signature: void record_result(const Timer& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:32,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:35,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:35,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:36,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:36,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:38,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:41,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:42,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_math.cpp:44,1
    - Dst: Botan::BigInt::square
      Src: /src/botan/src/cli/perf_math.cpp:45,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_math.cpp:46,1
    - Dst: Botan::BigInt::mask_bits
      Src: /src/botan/src/cli/perf_math.cpp:48,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_math.cpp:50,1
    - Dst: Botan::BigInt::mul
      Src: /src/botan/src/cli/perf_math.cpp:51,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_math.cpp:52,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:55,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: Botan_CLI::PerfTest_MpMul::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::mul
    - runtime
    - std::to_string
    - auto::under
    - Botan::BigInt::mask_bits
    - make_timer
    - auto::start
    - rng
    - auto::stop
    - record_result
    - Botan::BigInt::square
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:66,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:70,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:70,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:72,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:73,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/cli/perf_math.cpp:75,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/cli/perf_math.cpp:76,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/cli/perf_math.cpp:79,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:81,1
    - Dst: Botan::BigInt::randomize
      Src: /src/botan/src/cli/perf_math.cpp:82,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:82,1
    - Dst: Botan::BigInt::randomize
      Src: /src/botan/src/cli/perf_math.cpp:83,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:83,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_math.cpp:85,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/cli/perf_math.cpp:86,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_math.cpp:87,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_math.cpp:89,1
    - Dst: Botan::ct_divide
      Src: /src/botan/src/cli/perf_math.cpp:90,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_math.cpp:91,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_math.cpp:93,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_math.cpp:94,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:97,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 100
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 100
    functionName: Botan_CLI::PerfTest_MpDiv::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - Botan::ct_divide
    - Botan::BigInt::BigInt
    - runtime
    - std::to_string
    - auto::under
    - Botan::vartime_divide
    - make_timer
    - Botan::BigInt::randomize
    - BOTAN_ASSERT_EQUAL
    - auto::start
    - rng
    - auto::stop
    - record_result
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:108,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:111,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:113,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:114,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/cli/perf_math.cpp:116,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/cli/perf_math.cpp:119,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/cli/perf_math.cpp:120,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:123,1
    - Dst: Botan::BigInt::randomize
      Src: /src/botan/src/cli/perf_math.cpp:124,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:124,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_math.cpp:126,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/cli/perf_math.cpp:127,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_math.cpp:128,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_math.cpp:130,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/cli/perf_math.cpp:131,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_math.cpp:132,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_math.cpp:134,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_math.cpp:135,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:138,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 141
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 141
    functionName: Botan_CLI::PerfTest_MpDiv10::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_word
    - Botan::BigInt::BigInt
    - runtime
    - std::to_string
    - auto::under
    - Botan::ct_divide_word
    - Botan::vartime_divide
    - make_timer
    - Botan::BigInt::randomize
    - BOTAN_ASSERT_EQUAL
    - auto::start
    - rng
    - auto::stop
    - record_result
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:153,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:156,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:158,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:159,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:160,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:162,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:163,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/cli/perf_math.cpp:163,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:164,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/cli/perf_math.cpp:164,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:167,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:168,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/cli/perf_math.cpp:170,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:172,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:173,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:174,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:176,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:177,1
    - Dst: Botan::BigInt::bits
      Src: /src/botan/src/cli/perf_math.cpp:177,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:179,1
    - Dst: auto::reduce
      Src: /src/botan/src/cli/perf_math.cpp:179,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:180,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:181,1
    - Dst: Botan::ct_modulo
      Src: /src/botan/src/cli/perf_math.cpp:181,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_math.cpp:183,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_math.cpp:184,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:187,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:188,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 191
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 191
    functionName: Botan_CLI::PerfTest_BnRedc::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - auto::run
    - Botan::Barrett_Reduction::for_secret_modulus
    - auto::reduce
    - runtime
    - std::to_string
    - auto::under
    - make_timer
    - Botan::BigInt::bits
    - BOTAN_ASSERT
    - rng
    - Botan::Barrett_Reduction::for_public_modulus
    - record_result
    - Botan::ct_modulo
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:199,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:202,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:204,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:205,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:207,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:207,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:208,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:209,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:211,1
    - Dst: Botan::inverse_mod
      Src: /src/botan/src/cli/perf_math.cpp:211,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:213,1
    - Dst: gcd
      Src: /src/botan/src/cli/perf_math.cpp:213,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_math.cpp:216,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_math.cpp:218,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_math.cpp:220,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:224,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 227
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 227
    functionName: Botan_CLI::PerfTest_InvMod::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - auto::run
    - runtime
    - std::to_string
    - auto::under
    - gcd
    - make_timer
    - BOTAN_ASSERT_EQUAL
    - Botan::inverse_mod
    - BOTAN_ASSERT
    - rng
    - record_result
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:235,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:238,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:238,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:239,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:239,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:240,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:240,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/cli/perf_math.cpp:242,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:242,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:244,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/cli/perf_math.cpp:245,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:247,1
    - Dst: Botan::is_miller_rabin_probable_prime
      Src: /src/botan/src/cli/perf_math.cpp:247,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:247,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:249,1
    - Dst: Botan::is_bailie_psw_probable_prime
      Src: /src/botan/src/cli/perf_math.cpp:249,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:251,1
    - Dst: Botan::is_lucas_probable_prime
      Src: /src/botan/src/cli/perf_math.cpp:251,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:256,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:257,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 260
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 260
    functionName: Botan_CLI::PerfTest_IsPrime::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - auto::run
    - runtime
    - std::to_string
    - auto::under
    - make_timer
    - Botan::is_miller_rabin_probable_prime
    - Botan::is_bailie_psw_probable_prime
    - rng
    - Botan::Barrett_Reduction::for_public_modulus
    - record_result
    - Botan::is_lucas_probable_prime
    - Botan::random_prime
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/cli/perf_math.cpp:268,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:269,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:271,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:274,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:274,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:275,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:275,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:276,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:276,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:278,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:279,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/cli/perf_math.cpp:279,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:281,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/cli/perf_math.cpp:281,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_math.cpp:282,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:285,1
    - Dst: Botan::random_safe_prime
      Src: /src/botan/src/cli/perf_math.cpp:285,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:287,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/cli/perf_math.cpp:287,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_math.cpp:288,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:291,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/cli/perf_math.cpp:291,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_math.cpp:292,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:297,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/cli/perf_math.cpp:297,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:301,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:302,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 305
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 305
    functionName: Botan_CLI::PerfTest_RandomPrime::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - auto::run
    - Botan::BigInt::from_word
    - runtime
    - std::to_string
    - auto::under
    - Botan::random_safe_prime
    - make_timer
    - rng
    - Botan::is_prime
    - record_result
    - error_output
    - Botan::random_prime
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:318,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/cli/perf_math.cpp:319,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:324,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:325,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:327,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:328,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:330,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:330,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:331,1
    - Dst: auto::power_g_p
      Src: /src/botan/src/cli/perf_math.cpp:331,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:332,1
    - Dst: auto::power_g_p
      Src: /src/botan/src/cli/perf_math.cpp:332,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:335,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: Botan_CLI::PerfTest_ModExp::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - auto::run
    - runtime
    - auto::power_g_p
    - std::to_string
    - auto::under
    - make_timer
    - rng
    - record_result
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PerfTest::global_registry
      Src: /src/botan/src/cli/perf.cpp:14,1
    - Dst: contains
      Src: /src/botan/src/cli/perf.cpp:16,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/perf.cpp:17,1
    - Dst: insert
      Src: /src/botan/src/cli/perf.cpp:20,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/perf.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' name'
    - ' maker_fn'
    argTypes:
    - std::string
    - PerfTest::pt_maker_fn
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: PerfTest::Registration::Registration(const std::string& name, const
      PerfTest::pt_maker_fn& maker_fn)
    functionSourceFile: /src/botan/src/cli/perf.cpp
    functionUses: 0
    functionsReached:
    - contains
    - PerfTest::global_registry
    - CLI_Error
    - insert
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void PerfTest::Registration::Registration(const std::string& name,
      const PerfTest::pt_maker_fn& maker_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: '& PerfTest::global_registry()'
    functionSourceFile: /src/botan/src/cli/perf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, PerfTest::pt_maker_fn>
    signature: std::map<std::string, PerfTest::pt_maker_fn> & PerfTest::global_registry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PerfTest::global_registry
      Src: /src/botan/src/cli/perf.cpp:31,1
    - Dst: find
      Src: /src/botan/src/cli/perf.cpp:33,1
    - Dst: end
      Src: /src/botan/src/cli/perf.cpp:34,1
    - Dst: auto::second
      Src: /src/botan/src/cli/perf.cpp:35,1
    - Dst: Botan_CLI::PerfTest::get_sym
      Src: /src/botan/src/cli/perf.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: Botan_CLI::PerfTest::get
    functionSourceFile: /src/botan/src/cli/perf.cpp
    functionUses: 1
    functionsReached:
    - PerfTest::global_registry
    - Botan_CLI::PerfTest::get_sym
    - auto::second
    - end
    - find
    linkageType: ''
    returnType: std::unique_ptr<PerfTest>
    signature: std::unique_ptr<PerfTest> PerfTest::get(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/perf.cpp:42,1
    - Dst: starts_with
      Src: /src/botan/src/cli/perf.cpp:45,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' alg'
    - ' param'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: Botan_CLI::PerfTest::format_name
    functionSourceFile: /src/botan/src/cli/perf.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - empty
    - starts_with
    linkageType: ''
    returnType: std::string
    signature: std::string PerfTest::format_name(const std::string& alg, const std::string&
      param) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_CLI::Cipher::Cipher
    functionSourceFile: /src/botan/src/cli/cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cipher()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::Cipher::group
    functionSourceFile: /src/botan/src/cli/cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_CLI::Cipher::description
    functionSourceFile: /src/botan/src/cli/cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg_or
      Src: /src/botan/src/cli/cipher.cpp:31,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cipher.cpp:32,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cipher.cpp:33,1
    - Dst: get_arg_or
      Src: /src/botan/src/cli/cipher.cpp:34,1
    - Dst: get_arg_or
      Src: /src/botan/src/cli/cipher.cpp:35,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/cipher.cpp:40,1
    - Dst: flag_set
      Src: /src/botan/src/cli/cipher.cpp:42,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/cli/cipher.cpp:44,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/cipher.cpp:46,1
    - Dst: auto::set_key
      Src: /src/botan/src/cli/cipher.cpp:50,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/cipher.cpp:53,1
    - Dst: dynamic_cast<Botan::AEAD_Mode*>
      Src: /src/botan/src/cli/cipher.cpp:55,1
    - Dst: auto::get
      Src: /src/botan/src/cli/cipher.cpp:55,1
    - Dst: Botan::AEAD_Mode*::set_associated_data
      Src: /src/botan/src/cli/cipher.cpp:56,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/cipher.cpp:60,1
    - Dst: auto::start
      Src: /src/botan/src/cli/cipher.cpp:65,1
    - Dst: Botan::InitializationVector::bits_of
      Src: /src/botan/src/cli/cipher.cpp:65,1
    - Dst: Botan_CLI::Cipher::slurp_file
      Src: /src/botan/src/cli/cipher.cpp:67,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/cipher.cpp:69,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/cipher.cpp:69,1
    - Dst: auto::finish
      Src: /src/botan/src/cli/cipher.cpp:70,1
    - Dst: write_output
      Src: /src/botan/src/cli/cipher.cpp:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 73
    functionName: Botan_CLI::Cipher::go
    functionSourceFile: /src/botan/src/cli/cipher.cpp
    functionUses: 0
    functionsReached:
    - CLI_Usage_Error
    - CLI_Error_Unsupported
    - dynamic_cast<Botan::AEAD_Mode*>
    - auto::set_key
    - auto::finish
    - auto::start
    - Botan::Cipher_Mode::create
    - flag_set
    - std::vector::begin
    - Botan::AEAD_Mode*::set_associated_data
    - get_arg
    - Botan::hex_decode
    - write_output
    - std::vector::end
    - get_arg_or
    - std::vector::empty
    - Botan::InitializationVector::bits_of
    - Botan_CLI::Cipher::slurp_file
    - auto::get
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_CLI::Hash::Hash
    functionSourceFile: /src/botan/src/cli/hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan_CLI::Hash::group
    functionSourceFile: /src/botan/src/cli/hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_CLI::Hash::description
    functionSourceFile: /src/botan/src/cli/hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/hash.cpp:26,1
    - Dst: get_arg
      Src: /src/botan/src/cli/hash.cpp:27,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/cli/hash.cpp:31,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/hash.cpp:34,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/hash.cpp:37,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/hash.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/hash.cpp:39,1
    - Dst: auto::update
      Src: /src/botan/src/cli/hash.cpp:44,1
    - Dst: read_file
      Src: /src/botan/src/cli/hash.cpp:45,1
    - Dst: format_blob
      Src: /src/botan/src/cli/hash.cpp:47,1
    - Dst: auto::final
      Src: /src/botan/src/cli/hash.cpp:47,1
    - Dst: output
      Src: /src/botan/src/cli/hash.cpp:50,1
    - Dst: output
      Src: /src/botan/src/cli/hash.cpp:52,1
    - Dst: error_output
      Src: /src/botan/src/cli/hash.cpp:55,1
    - Dst: what
      Src: /src/botan/src/cli/hash.cpp:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 58
    functionName: Botan_CLI::Hash::go
    functionSourceFile: /src/botan/src/cli/hash.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - get_arg
    - read_file
    - what
    - CLI_Error_Unsupported
    - get_arg_list
    - output
    - auto::update
    - format_blob
    - Botan::HashFunction::create
    - error_output
    - auto::final
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan_CLI::Hex_Encode::Hex_Encode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hex_Encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan_CLI::Hex_Encode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan_CLI::Hex_Encode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/codec.cpp:38,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/codec.cpp:38,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/codec.cpp:39,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: Botan_CLI::Hex_Encode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::read_file
    - get_arg
    - Botan::hex_encode
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan_CLI::Hex_Decode::Hex_Decode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hex_Decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan_CLI::Hex_Decode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan_CLI::Hex_Decode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/codec.cpp:55,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/codec.cpp:55,1
    - Dst: write_output
      Src: /src/botan/src/cli/codec.cpp:56,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/codec.cpp:59,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: Botan_CLI::Hex_Decode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - get_arg
    - Botan::hex_decode
    - write_output
    - Botan_CLI::Command::read_file
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan_CLI::Base58_Encode::Base58_Encode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base58_Encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan_CLI::Base58_Encode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan_CLI::Base58_Encode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slurp_file
      Src: /src/botan/src/cli/codec.cpp:78,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:78,1
    - Dst: flag_set
      Src: /src/botan/src/cli/codec.cpp:80,1
    - Dst: output
      Src: /src/botan/src/cli/codec.cpp:81,1
    - Dst: Botan::base58_check_encode
      Src: /src/botan/src/cli/codec.cpp:81,1
    - Dst: output
      Src: /src/botan/src/cli/codec.cpp:83,1
    - Dst: Botan::base58_encode
      Src: /src/botan/src/cli/codec.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: Botan_CLI::Base58_Encode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - slurp_file
    - Botan::base58_check_encode
    - output
    - Botan::base58_encode
    - flag_set
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan_CLI::Base58_Decode::Base58_Decode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base58_Decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan_CLI::Base58_Decode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan_CLI::Base58_Decode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slurp_file_as_str
      Src: /src/botan/src/cli/codec.cpp:99,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:99,1
    - Dst: flag_set
      Src: /src/botan/src/cli/codec.cpp:103,1
    - Dst: Botan::base58_check_decode
      Src: /src/botan/src/cli/codec.cpp:104,1
    - Dst: Botan::base58_decode
      Src: /src/botan/src/cli/codec.cpp:106,1
    - Dst: write_output
      Src: /src/botan/src/cli/codec.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: Botan_CLI::Base58_Decode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - Botan::base58_check_decode
    - slurp_file_as_str
    - Botan::base58_decode
    - write_output
    - flag_set
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan_CLI::Base32_Encode::Base32_Encode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base32_Encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: Botan_CLI::Base32_Encode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan_CLI::Base32_Encode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/codec.cpp:128,1
    - Dst: Botan::base32_encode
      Src: /src/botan/src/cli/codec.cpp:128,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/codec.cpp:129,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: Botan_CLI::Base32_Encode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::read_file
    - get_arg
    - Botan::base32_encode
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan_CLI::Base32_Decode::Base32_Decode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base32_Decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Botan_CLI::Base32_Decode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan_CLI::Base32_Decode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base32_decode
      Src: /src/botan/src/cli/codec.cpp:145,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/codec.cpp:145,1
    - Dst: write_output
      Src: /src/botan/src/cli/codec.cpp:146,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/codec.cpp:149,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: Botan_CLI::Base32_Decode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - get_arg
    - write_output
    - Botan_CLI::Command::read_file
    - Botan::base32_decode
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan_CLI::Base64_Encode::Base64_Encode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64_Encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Botan_CLI::Base64_Encode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: Botan_CLI::Base64_Encode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/codec.cpp:168,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/cli/codec.cpp:168,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/codec.cpp:169,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: Botan_CLI::Base64_Encode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::read_file
    - Botan::base64_encode
    - get_arg
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan_CLI::Base64_Decode::Base64_Decode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64_Decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan_CLI::Base64_Decode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: Botan_CLI::Base64_Decode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base64_decode
      Src: /src/botan/src/cli/codec.cpp:185,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/codec.cpp:185,1
    - Dst: write_output
      Src: /src/botan/src/cli/codec.cpp:186,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/codec.cpp:189,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: Botan_CLI::Base64_Decode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - get_arg
    - Botan::base64_decode
    - write_output
    - Botan_CLI::Command::read_file
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' spec'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_CLI::PSK_Tool_Base::PSK_Tool_Base
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSK_Tool_Base(const std::string& spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan_CLI::PSK_Tool_Base::group
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/psk.cpp:24,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/cli/psk.cpp:26,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/psk.cpp:26,1
    - Dst: std::make_shared<Botan::Sqlite3_Database>
      Src: /src/botan/src/cli/psk.cpp:28,1
    - Dst: psk_operation
      Src: /src/botan/src/cli/psk.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: Botan_CLI::PSK_Tool_Base::go
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - Botan::hex_decode_locked
    - std::make_shared<Botan::Sqlite3_Database>
    - get_passphrase_arg
    - psk_operation
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan_CLI::PSK_Tool_Set::PSK_Tool_Set
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSK_Tool_Set()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_CLI::PSK_Tool_Set::description
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/psk.cpp:46,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/cli/psk.cpp:47,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/psk.cpp:47,1
    - Dst: set_vec
      Src: /src/botan/src/cli/psk.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' db'
    argTypes:
    - Botan::PSK_Database
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan_CLI::PSK_Tool_Set::psk_operation
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached:
    - set_vec
    - get_arg
    - Botan::hex_decode_locked
    - get_passphrase_arg
    linkageType: ''
    returnType: void
    signature: void psk_operation(Botan::PSK_Database& db) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan_CLI::PSK_Tool_Get::PSK_Tool_Get
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSK_Tool_Get()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan_CLI::PSK_Tool_Get::description
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/psk.cpp:60,1
    - Dst: get
      Src: /src/botan/src/cli/psk.cpp:61,1
    - Dst: output
      Src: /src/botan/src/cli/psk.cpp:62,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/psk.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' db'
    argTypes:
    - Botan::PSK_Database
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: Botan_CLI::PSK_Tool_Get::psk_operation
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - Botan::hex_encode
    - get
    - output
    linkageType: ''
    returnType: void
    signature: void psk_operation(Botan::PSK_Database& db) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan_CLI::PSK_Tool_List::PSK_Tool_List
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSK_Tool_List()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan_CLI::PSK_Tool_List::description
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_names
      Src: /src/botan/src/cli/psk.cpp:74,1
    - Dst: output
      Src: /src/botan/src/cli/psk.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' db'
    argTypes:
    - Botan::PSK_Database
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: Botan_CLI::PSK_Tool_List::psk_operation
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached:
    - list_names
    - output
    linkageType: ''
    returnType: void
    signature: void psk_operation(Botan::PSK_Database& db) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' server_command'
    argTypes:
    - TLS_Server
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan_CLI::Callbacks::Callbacks
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Callbacks(TLS_Server& server_command)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:61,1
    - Dst: version
      Src: /src/botan/src/cli/tls_server.cpp:61,1
    - Dst: ciphersuite
      Src: /src/botan/src/cli/tls_server.cpp:62,1
    - Dst: external_psk_identity
      Src: /src/botan/src/cli/tls_server.cpp:64,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:65,1
    - Dst: maybe_hex_encode
      Src: /src/botan/src/cli/tls_server.cpp:65,1
    - Dst: value
      Src: /src/botan/src/cli/tls_server.cpp:65,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:68,1
    - Dst: session_id
      Src: /src/botan/src/cli/tls_server.cpp:70,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_server.cpp:70,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:71,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_server.cpp:71,1
    - Dst: get
      Src: /src/botan/src/cli/tls_server.cpp:71,1
    - Dst: session_ticket
      Src: /src/botan/src/cli/tls_server.cpp:74,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:75,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_server.cpp:75,1
    - Dst: get
      Src: /src/botan/src/cli/tls_server.cpp:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: Botan_CLI::Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - session_id
    - version
    - ciphersuite
    - Botan::hex_encode
    - external_psk_identity
    - maybe_hex_encode
    - empty
    - output
    - get
    - session_ticket
    - value
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& session)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/cli/tls_server.cpp:80,1
    - Dst: Botan_CLI::Callbacks::push_pending_output
      Src: /src/botan/src/cli/tls_server.cpp:84,1
    - Dst: std::exchange
      Src: /src/botan/src/cli/tls_server.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: Botan_CLI::Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - std::exchange
    - Botan_CLI::Callbacks::push_pending_output
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t /*seq_no*/, std::span<const uint8_t>
      input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::send
      Src: /src/botan/src/cli/tls_server.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan_CLI::Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Callbacks::send
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> buf) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:91,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/cli/tls_server.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan_CLI::Callbacks::tls_alert
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type_string
    - output
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: Botan_CLI::Callbacks::tls_server_choose_app_protocol
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string tls_server_choose_app_protocol(const std::vector<std::string>&
      /*client_protos*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_public
      Src: /src/botan/src/cli/tls_server.cpp:102,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' raw_public_key'
    argTypes:
    - Botan::Public_Key
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Botan_CLI::Callbacks::tls_verify_raw_public_key
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - fingerprint_public
    - output
    linkageType: ''
    returnType: void
    signature: "void tls_verify_raw_public_key(const Botan::Public_Key& raw_public_key,\n
      \                                    Botan::Usage_Type /* usage */,\n                                     std::string_view
      /* hostname */,\n                                     const Botan::TLS::Policy&
      /* policy */) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_sockets
      Src: /src/botan/src/cli/tls_server.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: Botan_CLI::TLS_Server::TLS_Server
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - init_sockets
    linkageType: ''
    returnType: void
    signature: void TLS_Server()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stop_sockets
      Src: /src/botan/src/cli/tls_server.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: ~TLS_Server() override
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - stop_sockets
    linkageType: ''
    returnType: void
    signature: void ~TLS_Server() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Server
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan_CLI::TLS_Server::TLS_Server
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Server(const TLS_Server& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Server
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan_CLI::TLS_Server::TLS_Server
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Server(TLS_Server&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Server
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: '& operator=(const TLS_Server& other)'
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLS_Server
    signature: TLS_Server & operator=(const TLS_Server& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Server
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: '& operator=(TLS_Server&& other)'
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLS_Server
    signature: TLS_Server & operator=(TLS_Server&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan_CLI::TLS_Server::group
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan_CLI::TLS_Server::description
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_server.cpp:140,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_server.cpp:141,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_server.cpp:144,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_server.cpp:145,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_server.cpp:147,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/cli/tls_server.cpp:149,1
    - Dst: auto::value
      Src: /src/botan/src/cli/tls_server.cpp:149,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_server.cpp:154,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_server.cpp:155,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/cli/tls_server.cpp:158,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/tls_server.cpp:158,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/tls_server.cpp:162,1
    - Dst: load_tls_policy
      Src: /src/botan/src/cli/tls_server.cpp:167,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_server.cpp:167,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/cli/tls_server.cpp:169,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_server.cpp:169,1
    - Dst: std::make_shared<Basic_Credentials_Manager>
      Src: /src/botan/src/cli/tls_server.cpp:171,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_server.cpp:171,1
    - Dst: std::make_shared<Callbacks>
      Src: /src/botan/src/cli/tls_server.cpp:172,1
    - Dst: init
      Src: /src/botan/src/cli/tls_server.cpp:174,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:175,1
    - Dst: Botan_CLI::TLS_Server::make_server_socket
      Src: /src/botan/src/cli/tls_server.cpp:179,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:182,1
    - Dst: nlohmann::detail::parser::accept
      Src: /src/botan/src/cli/tls_server.cpp:190,1
    - Dst: ::recvfrom
      Src: /src/botan/src/cli/tls_server.cpp:206,1
    - Dst: static_cast<char*>
      Src: /src/botan/src/cli/tls_server.cpp:207,1
    - Dst: static_cast<sendrecv_len_type>
      Src: /src/botan/src/cli/tls_server.cpp:208,1
    - Dst: reinterpret_cast<struct sockaddr*>
      Src: /src/botan/src/cli/tls_server.cpp:210,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_server.cpp:212,1
    - Dst: client::handle_connect
      Src: /src/botan/src/cli/tls_server.cpp:215,1
    - Dst: reinterpret_cast<struct sockaddr*>
      Src: /src/botan/src/cli/tls_server.cpp:215,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_server.cpp:216,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_server.cpp:223,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/tls_server.cpp:227,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/tls_server.cpp:228,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/tls_server.cpp:230,1
    - Dst: std::make_unique<std::ofstream>
      Src: /src/botan/src/cli/tls_server.cpp:231,1
    - Dst: std::string::c_str
      Src: /src/botan/src/cli/tls_server.cpp:231,1
    - Dst: Botan::TLS::Server::is_closed
      Src: /src/botan/src/cli/tls_server.cpp:235,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:241,1
    - Dst: err_to_string
      Src: /src/botan/src/cli/tls_server.cpp:241,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:246,1
    - Dst: std::unique_ptr::write
      Src: /src/botan/src/cli/tls_server.cpp:251,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/tls_server.cpp:251,1
    - Dst: Botan::TLS::Server::received_data
      Src: /src/botan/src/cli/tls_server.cpp:254,1
    - Dst: Botan::TLS::Server::is_active
      Src: /src/botan/src/cli/tls_server.cpp:256,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_server.cpp:256,1
    - Dst: front
      Src: /src/botan/src/cli/tls_server.cpp:257,1
    - Dst: pop_front
      Src: /src/botan/src/cli/tls_server.cpp:258,1
    - Dst: Botan::TLS::Server::send
      Src: /src/botan/src/cli/tls_server.cpp:259,1
    - Dst: Botan::TLS::Server::close
      Src: /src/botan/src/cli/tls_server.cpp:262,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:266,1
    - Dst: what
      Src: /src/botan/src/cli/tls_server.cpp:266,1
    - Dst: close_socket
      Src: /src/botan/src/cli/tls_server.cpp:268,1
    - Dst: invalid_socket
      Src: /src/botan/src/cli/tls_server.cpp:269,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:274,1
    - Dst: what
      Src: /src/botan/src/cli/tls_server.cpp:274,1
    - Dst: close_socket
      Src: /src/botan/src/cli/tls_server.cpp:278,1
    - Dst: invalid_socket
      Src: /src/botan/src/cli/tls_server.cpp:279,1
    - Dst: close_socket
      Src: /src/botan/src/cli/tls_server.cpp:283,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 284
    functionName: Botan_CLI::TLS_Server::go
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - CLI_Usage_Error
    - std::to_string
    - CLI_Error
    - auto::value
    - what
    - empty
    - load_tls_policy
    - std::make_shared<Basic_Credentials_Manager>
    - output
    - Botan::TLS::detail::AsyncBase::complete_now
    - static_cast<char*>
    - error_output
    - reinterpret_cast<struct sockaddr*>
    - get_arg_maybe
    - Botan::hex_decode_locked
    - std::string::c_str
    - front
    - err_to_string
    - get_arg_sz
    - std::string::empty
    - static_cast<uint32_t>
    - Botan::TLS::Server::is_closed
    - pop_front
    - Botan::TLS::Server::received_data
    - get_arg
    - nlohmann::detail::parser::accept
    - static_cast<sendrecv_len_type>
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - Botan::TLS::Server::is_active
    - ::recvfrom
    - invalid_socket
    - std::make_shared<Callbacks>
    - std::make_unique<std::ofstream>
    - reinterpret_cast<const char*>
    - Botan::TLS::Server::close
    - Botan_CLI::TLS_Server::make_server_socket
    - client::handle_connect
    - init
    - std::unique_ptr::write
    - rng_as_shared
    - close_socket
    - Botan::TLS::Server::send
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:295,1
    - Dst: err_to_string
      Src: /src/botan/src/cli/tls_server.cpp:295,1
    - Dst: static_cast<ssize_t>
      Src: /src/botan/src/cli/tls_server.cpp:296,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/cli/tls_server.cpp:296,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:297,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/cli/tls_server.cpp:297,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/cli/tls_server.cpp:300,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_server.cpp:307,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/cli/tls_server.cpp:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 314
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 314
    functionName: Botan_CLI::TLS_Server::send
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - CLI_Error
    - std::span<const uint8_t>::subspan
    - static_cast<ssize_t>
    - std::span<const uint8_t>::size
    - err_to_string
    - error_output
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void send(std::span<const uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/botan/src/cli/tls_server.cpp:316,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_server.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: Botan_CLI::TLS_Server::push_pending_output
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void push_pending_output(std::string line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Client::close_socket
      Src: /src/botan/src/cli/tls_server.cpp:322,1
    - Dst: invalid_socket
      Src: /src/botan/src/cli/tls_server.cpp:323,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_server.cpp:324,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/cli/tls_server.cpp:328,1
    - Dst: htons
      Src: /src/botan/src/cli/tls_server.cpp:330,1
    - Dst: ::bind
      Src: /src/botan/src/cli/tls_server.cpp:335,1
    - Dst: reinterpret_cast<struct sockaddr*>
      Src: /src/botan/src/cli/tls_server.cpp:335,1
    - Dst: close_socket
      Src: /src/botan/src/cli/tls_server.cpp:336,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_server.cpp:337,1
    - Dst: Server::listen
      Src: /src/botan/src/cli/tls_server.cpp:342,1
    - Dst: close_socket
      Src: /src/botan/src/cli/tls_server.cpp:343,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_server.cpp:344,1
    - Dst: ::setsockopt
      Src: /src/botan/src/cli/tls_server.cpp:349,1
    - Dst: reinterpret_cast<const void*>
      Src: /src/botan/src/cli/tls_server.cpp:352,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:355,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 360
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 360
    functionName: Botan_CLI::TLS_Server::make_server_socket
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 1
    functionsReached:
    - ::setsockopt
    - Client::close_socket
    - CLI_Error
    - Botan::clear_mem
    - invalid_socket
    - output
    - ::bind
    - close_socket
    - htons
    - Server::listen
    - reinterpret_cast<const void*>
    - reinterpret_cast<struct sockaddr*>
    linkageType: ''
    returnType: socket_type
    signature: socket_type make_server_socket(uint16_t port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: '& Callbacks::output()'
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - output
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Callbacks::output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::send
      Src: /src/botan/src/cli/tls_server.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Botan_CLI::Callbacks::send
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 4
    functionsReached:
    - Botan_CLI::Callbacks::send
    linkageType: ''
    returnType: void
    signature: void Callbacks::send(std::span<const uint8_t> buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::push_pending_output
      Src: /src/botan/src/cli/tls_server.cpp:380,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_server.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: Botan_CLI::Callbacks::push_pending_output
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - Botan_CLI::Callbacks::push_pending_output
    linkageType: ''
    returnType: void
    signature: void Callbacks::push_pending_output(std::string line)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::Timer::Timer
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timer(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - buf_size
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_CLI::Timer::Timer
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timer(std::string_view name, size_t buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan_CLI::Timer::Timer
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timer(const Timer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const Timer& other)'
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Timer
    signature: Timer & operator=(const Timer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/cli/timer.h:37,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/botan/src/cli/timer.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msec
    argTypes:
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan_CLI::Timer::under
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::milliseconds
    - std::chrono::milliseconds::count
    linkageType: ''
    returnType: bool
    signature: bool under(std::chrono::milliseconds msec) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/botan/src/cli/timer.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' timer'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan_CLI::Timer::Timer_Scope::Timer_Scope
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void Timer_Scope(Timer& timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/botan/src/cli/timer.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: ~Timer_Scope()
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: void
    signature: void ~Timer_Scope()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/cli/timer.h:54,1
    - Dst: f
      Src: /src/botan/src/cli/timer.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: Botan_CLI::Timer::run
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: auto
    signature: auto run(F f) -> decltype(f())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::under
      Src: /src/botan/src/cli/timer.h:61,1
    - Dst: Botan_CLI::Timer::run
      Src: /src/botan/src/cli/timer.h:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msec
    - f
    argTypes:
    - std::chrono::milliseconds
    - F
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: Botan_CLI::Timer::run_until_elapsed
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::under
    - Botan_CLI::Timer::run
    linkageType: ''
    returnType: void
    signature: void run_until_elapsed(std::chrono::milliseconds msec, F f)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan_CLI::Timer::value
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::value
      Src: /src/botan/src/cli/timer.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan_CLI::Timer::seconds
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 6
    functionsReached:
    - Botan_CLI::Timer::value
    linkageType: ''
    returnType: double
    signature: double seconds() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::value
      Src: /src/botan/src/cli/timer.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan_CLI::Timer::milliseconds
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 22
    functionsReached:
    - Botan_CLI::Timer::value
    linkageType: ''
    returnType: double
    signature: double milliseconds() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::value
      Src: /src/botan/src/cli/timer.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan_CLI::Timer::microseconds
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 1
    functionsReached:
    - Botan_CLI::Timer::value
    linkageType: ''
    returnType: double
    signature: double microseconds() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/botan/src/cli/timer.h:74,1
    - Dst: Botan_CLI::Timer::value
      Src: /src/botan/src/cli/timer.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan_CLI::Timer::nanoseconds
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 1
    functionsReached:
    - Botan_CLI::Timer::value
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double nanoseconds() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/cli/timer.h:76,1
    - Dst: Botan_CLI::Timer::events
      Src: /src/botan/src/cli/timer.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan_CLI::Timer::ms_per_event
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::milliseconds
    - Botan_CLI::Timer::events
    linkageType: ''
    returnType: double
    signature: double ms_per_event() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/cli/timer.h:80,1
    - Dst: Botan_CLI::Timer::value
      Src: /src/botan/src/cli/timer.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: Botan_CLI::Timer::cycles_consumed
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::value
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t cycles_consumed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan_CLI::Timer::events
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t events() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '& get_name() const'
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '& doing() const'
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & doing() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan_CLI::Timer::buf_size
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t buf_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/timer.h:93,1
    - Dst: Botan_CLI::Timer::events
      Src: /src/botan/src/cli/timer.h:93,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/timer.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan_CLI::Timer::bytes_per_second
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::seconds
    - Botan_CLI::Timer::events
    linkageType: ''
    returnType: double
    signature: double bytes_per_second() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/timer.h:95,1
    - Dst: Botan_CLI::Timer::events
      Src: /src/botan/src/cli/timer.h:95,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/timer.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan_CLI::Timer::events_per_second
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::seconds
    - Botan_CLI::Timer::events
    linkageType: ''
    returnType: double
    signature: double events_per_second() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::events
      Src: /src/botan/src/cli/timer.h:97,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/timer.h:97,1
    - Dst: Botan_CLI::Timer::events
      Src: /src/botan/src/cli/timer.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan_CLI::Timer::seconds_per_event
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::seconds
    - Botan_CLI::Timer::events
    linkageType: ''
    returnType: double
    signature: double seconds_per_event() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::priv_emptyset
      Src: /src/botan/src/cli/sandbox.cpp:27,1
    - Dst: ::priv_freeset
      Src: /src/botan/src/cli/sandbox.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ps
    argTypes:
    - priv_set_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator()(priv_set_t* ps)
    functionSourceFile: /src/botan/src/cli/sandbox.cpp
    functionUses: 0
    functionsReached:
    - ::priv_emptyset
    - ::priv_freeset
    linkageType: ''
    returnType: void
    signature: void operator()(priv_set_t* ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: Botan_CLI::Sandbox::Sandbox
    functionSourceFile: /src/botan/src/cli/sandbox.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sandbox::Sandbox()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::initialize_allocator
      Src: /src/botan/src/cli/sandbox.cpp:46,1
    - Dst: ::cap_rights_init
      Src: /src/botan/src/cli/sandbox.cpp:51,1
    - Dst: ::cap_rights_init
      Src: /src/botan/src/cli/sandbox.cpp:55,1
    - Dst: ::cap_rights_limit
      Src: /src/botan/src/cli/sandbox.cpp:59,1
    - Dst: ::cap_rights_limit
      Src: /src/botan/src/cli/sandbox.cpp:63,1
    - Dst: ::cap_rights_limit
      Src: /src/botan/src/cli/sandbox.cpp:67,1
    - Dst: ::cap_enter
      Src: /src/botan/src/cli/sandbox.cpp:71,1
    - Dst: ::priv_allocset
      Src: /src/botan/src/cli/sandbox.cpp:82,1
    - Dst: std::unique_ptr<priv_set_t, SandboxPrivDelete>
      Src: /src/botan/src/cli/sandbox.cpp:86,1
    - Dst: ::priv_basicset
      Src: /src/botan/src/cli/sandbox.cpp:87,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/cli/sandbox.cpp:87,1
    - Dst: ::priv_delset
      Src: /src/botan/src/cli/sandbox.cpp:90,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/cli/sandbox.cpp:90,1
    - Dst: ::sandbox_init
      Src: /src/botan/src/cli/sandbox.cpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 109
    functionName: Botan_CLI::Sandbox::init
    functionSourceFile: /src/botan/src/cli/sandbox.cpp
    functionUses: 0
    functionsReached:
    - ::cap_rights_limit
    - ::priv_delset
    - ::priv_basicset
    - ::cap_enter
    - std::unique_ptr::get
    - ::sandbox_init
    - Botan::initialize_allocator
    - ::cap_rights_init
    - std::unique_ptr<priv_set_t, SandboxPrivDelete>
    - ::priv_allocset
    linkageType: ''
    returnType: bool
    signature: bool Sandbox::init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: Sandbox::~Sandbox()
    functionSourceFile: /src/botan/src/cli/sandbox.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sandbox::~Sandbox()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/cli/tls_helpers.h:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' vec'
    - ' val'
    argTypes:
    - std::vector<std::string>
    - std::string
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: value_exists
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 8
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool value_exists(const std::vector<std::string>& vec, const std::string&
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/botan/src/cli/tls_helpers.h:40,1
    - Dst: std::string_view::begin
      Src: /src/botan/src/cli/tls_helpers.h:40,1
    - Dst: std::string_view::end
      Src: /src/botan/src/cli/tls_helpers.h:40,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_helpers.h:41,1
    - Dst: std::span<const uint8_t>
      Src: /src/botan/src/cli/tls_helpers.h:41,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/cli/tls_helpers.h:41,1
    - Dst: std::string_view::data
      Src: /src/botan/src/cli/tls_helpers.h:41,1
    - Dst: std::string_view::size
      Src: /src/botan/src/cli/tls_helpers.h:41,1
    - Dst: std::string
      Src: /src/botan/src/cli/tls_helpers.h:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: maybe_hex_encode
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 2
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - std::all_of
    - std::string
    - std::span<const uint8_t>
    - reinterpret_cast<const uint8_t*>
    - std::string_view::end
    - std::string_view::begin
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string maybe_hex_encode(std::string_view v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/tls_helpers.h:50,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/cli/tls_helpers.h:54,1
    - Dst: std::exchange
      Src: /src/botan/src/cli/tls_helpers.h:55,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_helpers.h:55,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/cli/tls_helpers.h:60,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_helpers.h:62,1
    - Dst: Botan::DataSource_Stream::end_of_data
      Src: /src/botan/src/cli/tls_helpers.h:65,1
    - Dst: Certificate_Info::certs::push_back
      Src: /src/botan/src/cli/tls_helpers.h:67,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/cli/tls_helpers.h:67,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/cli/tls_helpers.h:71,1
    - Dst: Certificate_Info::certs::empty
      Src: /src/botan/src/cli/tls_helpers.h:71,1
    - Dst: push_back
      Src: /src/botan/src/cli/tls_helpers.h:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' cred'
    - ' key'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 76
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 76
    functionName: Basic_Credentials_Manager::load_credentials
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - std::move
    - Certificate_Info::certs::push_back
    - std::exchange
    - Botan::X509_Certificate
    - Certificate_Info::certs::empty
    - BOTAN_ASSERT_NONNULL
    - Botan::DataSource_Stream::end_of_data
    - Botan::PKCS8::load_key
    - BOTAN_ARG_CHECK
    - push_back
    linkageType: ''
    returnType: void
    signature: void load_credentials(const std::string& cred, const std::string& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/cli/tls_helpers.h:86,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_helpers.h:87,1
    - Dst: value_or
      Src: /src/botan/src/cli/tls_helpers.h:92,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_helpers.h:93,1
    - Dst: push_back
      Src: /src/botan/src/cli/tls_helpers.h:94,1
    - Dst: std::make_shared<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/cli/tls_helpers.h:94,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/cli/tls_helpers.h:97,1
    - Dst: has_value
      Src: /src/botan/src/cli/tls_helpers.h:97,1
    - Dst: has_value
      Src: /src/botan/src/cli/tls_helpers.h:97,1
    - Dst: has_value
      Src: /src/botan/src/cli/tls_helpers.h:100,1
    - Dst: has_value
      Src: /src/botan/src/cli/tls_helpers.h:100,1
    - Dst: Basic_Credentials_Manager::load_credentials
      Src: /src/botan/src/cli/tls_helpers.h:101,1
    - Dst: value
      Src: /src/botan/src/cli/tls_helpers.h:101,1
    - Dst: value
      Src: /src/botan/src/cli/tls_helpers.h:101,1
    - Dst: push_back
      Src: /src/botan/src/cli/tls_helpers.h:106,1
    - Dst: std::make_shared<Botan::System_Certificate_Store>
      Src: /src/botan/src/cli/tls_helpers.h:106,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/tls_helpers.h:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - use_system_store
    - ' ca_path'
    argTypes:
    - bool
    - std::string
    constantsTouched: []
    func_position:
      end: 111
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 111
    functionName: Basic_Credentials_Manager::Basic_Credentials_Manager
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - Basic_Credentials_Manager::load_credentials
    - empty
    - std::make_shared<Botan::System_Certificate_Store>
    - value
    - std::make_shared<Botan::Certificate_Store_In_Memory>
    - value_or
    - BOTAN_ARG_CHECK
    - has_value
    - push_back
    linkageType: ''
    returnType: void
    signature: "void Basic_Credentials_Manager(bool use_system_store,\n                                const
      std::string& ca_path,\n                                std::optional<std::string>
      client_cred = std::nullopt,\n                                std::optional<std::string>
      client_key = std::nullopt,\n                                std::optional<Botan::secure_vector<uint8_t>>
      psk = std::nullopt,\n                                std::optional<std::string>
      psk_identity = std::nullopt,\n                                const std::optional<std::string>&
      psk_prf = std::nullopt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/cli/tls_helpers.h:118,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_helpers.h:119,1
    - Dst: value_or
      Src: /src/botan/src/cli/tls_helpers.h:124,1
    - Dst: Basic_Credentials_Manager::load_credentials
      Src: /src/botan/src/cli/tls_helpers.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' server_cred'
    - ' server_key'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: Basic_Credentials_Manager::Basic_Credentials_Manager
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - std::move
    - value_or
    - Basic_Credentials_Manager::load_credentials
    linkageType: ''
    returnType: void
    signature: "void Basic_Credentials_Manager(const std::string& server_cred,\n                                const
      std::string& server_key,\n                                std::optional<Botan::secure_vector<uint8_t>>
      psk = std::nullopt,\n                                std::optional<std::string>
      psk_identity = std::nullopt,\n                                const std::optional<std::string>&
      psk_prf = std::nullopt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/tls_helpers.h:138,1
    - Dst: get
      Src: /src/botan/src/cli/tls_helpers.h:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' type'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: Basic_Credentials_Manager::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - get
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const
      std::string& type,\n                                                                             const
      std::string& /*hostname*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/tls_helpers.h:150,1
    - Dst: issuer_dn
      Src: /src/botan/src/cli/tls_helpers.h:155,1
    - Dst: find
      Src: /src/botan/src/cli/tls_helpers.h:162,1
    - Dst: begin
      Src: /src/botan/src/cli/tls_helpers.h:162,1
    - Dst: end
      Src: /src/botan/src/cli/tls_helpers.h:162,1
    - Dst: key::algo_name
      Src: /src/botan/src/cli/tls_helpers.h:162,1
    - Dst: end
      Src: /src/botan/src/cli/tls_helpers.h:162,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_helpers.h:166,1
    - Dst: matches_dns_name
      Src: /src/botan/src/cli/tls_helpers.h:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - ' algos'
    - ' cert_signature_schemes'
    - ' acceptable_cas'
    - ' type'
    - ' hostname'
    argTypes:
    - std::vector<std::string>
    - std::vector<Botan::AlgorithmIdentifier>
    - std::vector<Botan::X509_DN>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 175
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 175
    functionName: Basic_Credentials_Manager::find_cert_chain
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - end
    - key::algo_name
    - issuer_dn
    - empty
    - find
    - begin
    - matches_dns_name
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> find_cert_chain(\n         const
      std::vector<std::string>& algos,\n         const std::vector<Botan::AlgorithmIdentifier>&
      cert_signature_schemes,\n         const std::vector<Botan::X509_DN>& acceptable_cas,\n
      \        const std::string& type,\n         const std::string& hostname) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/tls_helpers.h:180,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_helpers.h:181,1
    - Dst: value_exists
      Src: /src/botan/src/cli/tls_helpers.h:181,1
    - Dst: public_key::algo_name
      Src: /src/botan/src/cli/tls_helpers.h:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' algos'
    - ' type'
    - ' hostname'
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: Basic_Credentials_Manager::find_raw_public_key
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - empty
    - public_key::algo_name
    - value_exists
    linkageType: ''
    returnType: std::shared_ptr<Botan::Public_Key>
    signature: "std::shared_ptr<Botan::Public_Key> find_raw_public_key(const std::vector<std::string>&
      algos,\n                                                             const std::string&
      type,\n                                                             const std::string&
      hostname) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - Botan::X509_Certificate
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: Basic_Credentials_Manager::private_key_for
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Botan::X509_Certificate&
      cert,\n                                                          const std::string&
      /*type*/,\n                                                          const std::string&
      /*context*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key::fingerprint_public
      Src: /src/botan/src/cli/tls_helpers.h:200,1
    - Dst: fingerprint_public
      Src: /src/botan/src/cli/tls_helpers.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' raw_public_key'
    argTypes:
    - Botan::Public_Key
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: Basic_Credentials_Manager::private_key_for
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - public_key::fingerprint_public
    - fingerprint_public
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Botan::Public_Key&
      raw_public_key,\n                                                          const
      std::string& /*type*/,\n                                                          const
      std::string& /*context*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/cli/tls_helpers.h:209,1
    - Dst: Botan::Credentials_Manager::psk_identity
      Src: /src/botan/src/cli/tls_helpers.h:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ' type'
    - ' context'
    - ' identity_hint'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: Basic_Credentials_Manager::psk_identity
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - Botan::Credentials_Manager::psk_identity
    - value
    linkageType: ''
    returnType: std::string
    signature: "std::string psk_identity(const std::string& type,\n                               const
      std::string& context,\n                               const std::string& identity_hint)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/cli/tls_helpers.h:218,1
    - Dst: has_value
      Src: /src/botan/src/cli/tls_helpers.h:218,1
    - Dst: Botan::Credentials_Manager::find_preshared_keys
      Src: /src/botan/src/cli/tls_helpers.h:219,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/cli/tls_helpers.h:228,1
    - Dst: value
      Src: /src/botan/src/cli/tls_helpers.h:228,1
    - Dst: value
      Src: /src/botan/src/cli/tls_helpers.h:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - host
    - peer_type
    argTypes:
    - std::string_view
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 232
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: Basic_Credentials_Manager::find_preshared_keys
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - value
    - std::vector::emplace_back
    - has_value
    - Botan::Credentials_Manager::find_preshared_keys
    linkageType: ''
    returnType: std::vector<Botan::TLS::ExternalPSK>
    signature: "std::vector<Botan::TLS::ExternalPSK> find_preshared_keys(\n         std::string_view
      host,\n         Botan::TLS::Connection_Side peer_type,\n         const std::vector<std::string>&
      ids = {},\n         const std::optional<std::string>& prf = std::nullopt) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 276
    functionName: TLS_All_Policy::allowed_ciphers
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> allowed_ciphers() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: TLS_All_Policy::allowed_key_exchange_methods
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> allowed_key_exchange_methods() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: TLS_All_Policy::allowed_signature_methods
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> allowed_signature_methods() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: TLS_All_Policy::allow_tls12
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_tls12() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/tls_helpers.h:290,1
    - Dst: std::make_shared<Botan::TLS::Policy>
      Src: /src/botan/src/cli/tls_helpers.h:291,1
    - Dst: std::make_shared<Botan::TLS::NSA_Suite_B_128>
      Src: /src/botan/src/cli/tls_helpers.h:293,1
    - Dst: std::make_shared<Botan::TLS::NSA_Suite_B_192>
      Src: /src/botan/src/cli/tls_helpers.h:295,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/cli/tls_helpers.h:297,1
    - Dst: std::make_shared<Botan::TLS::BSI_TR_02102_2>
      Src: /src/botan/src/cli/tls_helpers.h:299,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/cli/tls_helpers.h:301,1
    - Dst: std::make_shared<TLS_All_Policy>
      Src: /src/botan/src/cli/tls_helpers.h:303,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/cli/tls_helpers.h:308,1
    - Dst: Botan_CLI::CLI_Usage_Error::CLI_Usage_Error
      Src: /src/botan/src/cli/tls_helpers.h:309,1
    - Dst: std::make_shared<Botan::TLS::Text_Policy>
      Src: /src/botan/src/cli/tls_helpers.h:311,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - ' policy_type'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 312
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 312
    functionName: load_tls_policy
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 5
    functionsReached:
    - std::make_shared<Botan::TLS::Policy>
    - std::make_shared<Botan::TLS::Text_Policy>
    - std::make_shared<Botan::TLS::BSI_TR_02102_2>
    - empty
    - Botan_CLI::CLI_Usage_Error::CLI_Usage_Error
    - std::make_shared<Botan::TLS::Strict_Policy>
    - std::make_shared<TLS_All_Policy>
    - std::make_shared<Botan::TLS::NSA_Suite_B_128>
    - std::make_shared<Botan::TLS::NSA_Suite_B_192>
    - std::ifstream::good
    linkageType: ''
    returnType: std::shared_ptr<Botan::TLS::Policy>
    signature: std::shared_ptr<Botan::TLS::Policy> load_tls_policy(const std::string&
      policy_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan_CLI::Compress::Compress
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Compress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::map::find
      Src: /src/botan/src/cli/compress.cpp:30,1
    - Dst: std::map::contains
      Src: /src/botan/src/cli/compress.cpp:31,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/compress.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' input_fsname'
    - ' comp_type'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 36
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 36
    functionName: Botan_CLI::Compress::output_filename
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached:
    - std::map::find
    - CLI_Error_Unsupported
    - std::map::contains
    linkageType: ''
    returnType: std::string
    signature: std::string output_filename(const std::string& input_fsname, const
      std::string& comp_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan_CLI::Compress::group
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan_CLI::Compress::description
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/compress.cpp:43,1
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/cli/compress.cpp:47,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/compress.cpp:49,1
    - Dst: get_arg
      Src: /src/botan/src/cli/compress.cpp:52,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/cli/compress.cpp:55,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/compress.cpp:56,1
    - Dst: Botan_CLI::Compress::output_filename
      Src: /src/botan/src/cli/compress.cpp:59,1
    - Dst: std::ofstream::good
      Src: /src/botan/src/cli/compress.cpp:61,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/compress.cpp:62,1
    - Dst: auto::start
      Src: /src/botan/src/cli/compress.cpp:67,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/cli/compress.cpp:69,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/cli/compress.cpp:70,1
    - Dst: std::ifstream::read
      Src: /src/botan/src/cli/compress.cpp:71,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/cli/compress.cpp:71,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/compress.cpp:71,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/compress.cpp:71,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/cli/compress.cpp:72,1
    - Dst: std::ifstream::gcount
      Src: /src/botan/src/cli/compress.cpp:72,1
    - Dst: auto::update
      Src: /src/botan/src/cli/compress.cpp:74,1
    - Dst: std::ofstream::write
      Src: /src/botan/src/cli/compress.cpp:76,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/compress.cpp:76,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/compress.cpp:76,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/compress.cpp:76,1
    - Dst: Botan::secure_vector::clear
      Src: /src/botan/src/cli/compress.cpp:79,1
    - Dst: auto::finish
      Src: /src/botan/src/cli/compress.cpp:80,1
    - Dst: std::ofstream::write
      Src: /src/botan/src/cli/compress.cpp:81,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/compress.cpp:81,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/compress.cpp:81,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/compress.cpp:81,1
    - Dst: std::ofstream::close
      Src: /src/botan/src/cli/compress.cpp:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 83
    functionName: Botan_CLI::Compress::go
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::write
    - Botan::Compression_Algorithm::create
    - CLI_Error_Unsupported
    - Botan::secure_vector::size
    - std::ofstream::good
    - auto::finish
    - std::ifstream::read
    - Botan::secure_vector::clear
    - Botan_CLI::Compress::output_filename
    - auto::start
    - get_arg
    - std::ofstream::close
    - CLI_IO_Error
    - auto::update
    - std::ifstream::gcount
    - Botan::secure_vector::data
    - reinterpret_cast<const char*>
    - reinterpret_cast<char*>
    - Botan::secure_vector::resize
    - std::ifstream::good
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan_CLI::Decompress::Decompress
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decompress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/botan/src/cli/compress.cpp:93,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/compress.cpp:95,1
    - Dst: substr
      Src: /src/botan/src/cli/compress.cpp:98,1
    - Dst: substr
      Src: /src/botan/src/cli/compress.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' in_file'
    - ' out_file'
    - ' suffix'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: Botan_CLI::Decompress::parse_extension
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached:
    - find_last_of
    - substr
    - CLI_Error
    linkageType: ''
    returnType: void
    signature: void parse_extension(const std::string& in_file, std::string& out_file,
      std::string& suffix)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan_CLI::Decompress::group
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan_CLI::Decompress::description
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/compress.cpp:108,1
    - Dst: Botan_CLI::Decompress::parse_extension
      Src: /src/botan/src/cli/compress.cpp:110,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/cli/compress.cpp:114,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/compress.cpp:115,1
    - Dst: Botan::Decompression_Algorithm::create
      Src: /src/botan/src/cli/compress.cpp:118,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/compress.cpp:121,1
    - Dst: std::ofstream::good
      Src: /src/botan/src/cli/compress.cpp:125,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/compress.cpp:126,1
    - Dst: auto::start
      Src: /src/botan/src/cli/compress.cpp:131,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/cli/compress.cpp:133,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/cli/compress.cpp:134,1
    - Dst: std::ifstream::read
      Src: /src/botan/src/cli/compress.cpp:135,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/cli/compress.cpp:135,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/compress.cpp:135,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/compress.cpp:135,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/cli/compress.cpp:136,1
    - Dst: std::ifstream::gcount
      Src: /src/botan/src/cli/compress.cpp:136,1
    - Dst: auto::update
      Src: /src/botan/src/cli/compress.cpp:138,1
    - Dst: std::ofstream::write
      Src: /src/botan/src/cli/compress.cpp:140,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/compress.cpp:140,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/compress.cpp:140,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/compress.cpp:140,1
    - Dst: Botan::secure_vector::clear
      Src: /src/botan/src/cli/compress.cpp:143,1
    - Dst: auto::finish
      Src: /src/botan/src/cli/compress.cpp:144,1
    - Dst: std::ofstream::write
      Src: /src/botan/src/cli/compress.cpp:145,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/compress.cpp:145,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/compress.cpp:145,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/compress.cpp:145,1
    - Dst: std::ofstream::close
      Src: /src/botan/src/cli/compress.cpp:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 147
    functionName: Botan_CLI::Decompress::go
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::write
    - CLI_Error_Unsupported
    - Botan::secure_vector::size
    - std::ofstream::good
    - auto::finish
    - std::ifstream::read
    - Botan::secure_vector::clear
    - auto::start
    - get_arg
    - std::ofstream::close
    - CLI_IO_Error
    - auto::update
    - std::ifstream::gcount
    - Botan::secure_vector::data
    - Botan::Decompression_Algorithm::create
    - Botan_CLI::Decompress::parse_extension
    - reinterpret_cast<const char*>
    - reinterpret_cast<char*>
    - Botan::secure_vector::resize
    - std::ifstream::good
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::PerfTest_PKKa::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_PKKa::algo
      Src: /src/botan/src/cli/perf_pk_ka.cpp:25,1
    - Dst: Botan_CLI::PerfTest_PKKa::keygen_params
      Src: /src/botan/src/cli/perf_pk_ka.cpp:27,1
    - Dst: Botan_CLI::PerfTest_PKKa::format_name
      Src: /src/botan/src/cli/perf_pk_ka.cpp:30,1
    - Dst: Botan_CLI::PerfTest_PKKa::bench_pk_ka
      Src: /src/botan/src/cli/perf_pk_ka.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: Botan_CLI::PerfTest_PKKa::go
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_PKKa::algo
    - Botan_CLI::PerfTest_PKKa::format_name
    - Botan_CLI::PerfTest_PKKa::bench_pk_ka
    - Botan_CLI::PerfTest_PKKa::keygen_params
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_ka.cpp:40,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_ka.cpp:44,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_ka.cpp:46,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_ka.cpp:48,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_ka.cpp:48,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_ka.cpp:49,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_ka.cpp:49,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_ka.cpp:52,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_ka.cpp:53,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_ka.cpp:53,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_ka.cpp:56,1
    - Dst: dynamic_cast<const Botan::PK_Key_Agreement_Key&>
      Src: /src/botan/src/cli/perf_pk_ka.cpp:58,1
    - Dst: dynamic_cast<const Botan::PK_Key_Agreement_Key&>
      Src: /src/botan/src/cli/perf_pk_ka.cpp:59,1
    - Dst: public_value
      Src: /src/botan/src/cli/perf_pk_ka.cpp:64,1
    - Dst: public_value
      Src: /src/botan/src/cli/perf_pk_ka.cpp:65,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_ka.cpp:67,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_ka.cpp:69,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_ka.cpp:70,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/cli/perf_pk_ka.cpp:70,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_ka.cpp:71,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/cli/perf_pk_ka.cpp:71,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_pk_ka.cpp:74,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_ka.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - ' config'
    - ' nm'
    - ' algo'
    - ' params'
    argTypes:
    - PerfConfig
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 80
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 80
    functionName: Botan_CLI::PerfTest_PKKa::bench_pk_ka
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 1
    functionsReached:
    - auto::run
    - public_value
    - runtime
    - auto::under
    - Botan::PK_Key_Agreement::derive_key
    - make_timer
    - Botan::create_private_key
    - rng
    - dynamic_cast<const Botan::PK_Key_Agreement_Key&>
    - record_result
    - error_output
    linkageType: ''
    returnType: void
    signature: "void bench_pk_ka(const PerfConfig& config,\n                       const
      std::string& nm,\n                       const std::string& algo,\n                       const
      std::string& params,\n                       const std::string& provider = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan_CLI::PerfTest_DH::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: Botan_CLI::PerfTest_DH::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pk_ka.cpp:102,1
    - Dst: substr
      Src: /src/botan/src/cli/perf_pk_ka.cpp:102,1
    - Dst: find_last_of
      Src: /src/botan/src/cli/perf_pk_ka.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' alg'
    - ' param'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: Botan_CLI::PerfTest_DH::format_name
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached:
    - find_last_of
    - Botan::fmt
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string format_name(const std::string& alg, const std::string&
      param) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan_CLI::PerfTest_ECDH::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_groups
      Src: /src/botan/src/cli/perf_pk_ka.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan_CLI::PerfTest_ECDH::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached:
    - ecc_groups
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& config) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Botan_CLI::PerfTest_X25519::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: Botan_CLI::PerfTest_X448::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_CLI::PK_Encrypt::PK_Encrypt
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan_CLI::PK_Encrypt::group
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan_CLI::PK_Encrypt::description
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/cli/pk_crypt.cpp:34,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pk_crypt.cpp:34,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/pk_crypt.cpp:36,1
    - Dst: auto::algo_name
      Src: /src/botan/src/cli/pk_crypt.cpp:39,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pk_crypt.cpp:40,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pk_crypt.cpp:44,1
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/cli/pk_crypt.cpp:46,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pk_crypt.cpp:49,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/cli/pk_crypt.cpp:52,1
    - Dst: Botan::OID::empty
      Src: /src/botan/src/cli/pk_crypt.cpp:53,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pk_crypt.cpp:54,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/cli/pk_crypt.cpp:58,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/cli/pk_crypt.cpp:58,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/pk_crypt.cpp:59,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pk_crypt.cpp:59,1
    - Dst: Botan::AlgorithmIdentifier::BER_encode
      Src: /src/botan/src/cli/pk_crypt.cpp:62,1
    - Dst: rng
      Src: /src/botan/src/cli/pk_crypt.cpp:64,1
    - Dst: rng
      Src: /src/botan/src/cli/pk_crypt.cpp:66,1
    - Dst: std::unique_ptr::key_spec
      Src: /src/botan/src/cli/pk_crypt.cpp:66,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/cli/pk_crypt.cpp:68,1
    - Dst: rng
      Src: /src/botan/src/cli/pk_crypt.cpp:68,1
    - Dst: rng
      Src: /src/botan/src/cli/pk_crypt.cpp:70,1
    - Dst: std::unique_ptr::default_nonce_length
      Src: /src/botan/src/cli/pk_crypt.cpp:70,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/cli/pk_crypt.cpp:71,1
    - Dst: std::unique_ptr::set_associated_data
      Src: /src/botan/src/cli/pk_crypt.cpp:72,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/cli/pk_crypt.cpp:73,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/cli/pk_crypt.cpp:75,1
    - Dst: Botan::DER_Encoder::start_sequence
      Src: /src/botan/src/cli/pk_crypt.cpp:80,1
    - Dst: output
      Src: /src/botan/src/cli/pk_crypt.cpp:88,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/cli/pk_crypt.cpp:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: Botan_CLI::PK_Encrypt::go
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - CLI_Usage_Error
    - std::unique_ptr::key_spec
    - Botan::OID::empty
    - Botan::secure_vector::insert
    - CLI_Error
    - output
    - std::unique_ptr::finish
    - Botan::DER_Encoder::start_sequence
    - Botan::AlgorithmIdentifier::BER_encode
    - Botan::PEM_Code::encode
    - Botan::AEAD_Mode::create
    - Botan_CLI::Command::read_file
    - get_arg
    - std::unique_ptr::start
    - std::unique_ptr::default_nonce_length
    - std::unique_ptr::set_associated_data
    - Botan::OID::from_string
    - Botan::secure_vector::end
    - rng
    - auto::algo_name
    - std::unique_ptr::set_key
    - Botan::PK_Encryptor_EME::encrypt
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan_CLI::PK_Decrypt::PK_Decrypt
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Decrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan_CLI::PK_Decrypt::group
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan_CLI::PK_Decrypt::description
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pk_crypt.cpp:103,1
    - Dst: get_passphrase
      Src: /src/botan/src/cli/pk_crypt.cpp:104,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/pk_crypt.cpp:105,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/pk_crypt.cpp:108,1
    - Dst: std::unique_ptr::algo_name
      Src: /src/botan/src/cli/pk_crypt.cpp:111,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pk_crypt.cpp:112,1
    - Dst: Botan::AlgorithmIdentifier::AlgorithmIdentifier
      Src: /src/botan/src/cli/pk_crypt.cpp:118,1
    - Dst: Botan::OID::OID
      Src: /src/botan/src/cli/pk_crypt.cpp:119,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pk_crypt.cpp:122,1
    - Dst: Botan::BER_Decoder::BER_Decoder
      Src: /src/botan/src/cli/pk_crypt.cpp:124,1
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/cli/pk_crypt.cpp:124,1
    - Dst: error_output
      Src: /src/botan/src/cli/pk_crypt.cpp:133,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/pk_crypt.cpp:134,1
    - Dst: Botan::OID::human_name_or_empty
      Src: /src/botan/src/cli/pk_crypt.cpp:137,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pk_crypt.cpp:138,1
    - Dst: error_output
      Src: /src/botan/src/cli/pk_crypt.cpp:139,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/pk_crypt.cpp:140,1
    - Dst: Botan::AlgorithmIdentifier::oid
      Src: /src/botan/src/cli/pk_crypt.cpp:143,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/cli/pk_crypt.cpp:143,1
    - Dst: error_output
      Src: /src/botan/src/cli/pk_crypt.cpp:144,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/pk_crypt.cpp:145,1
    - Dst: Botan::AlgorithmIdentifier::AlgorithmIdentifier
      Src: /src/botan/src/cli/pk_crypt.cpp:148,1
    - Dst: Botan::BER_Decoder::BER_Decoder
      Src: /src/botan/src/cli/pk_crypt.cpp:149,1
    - Dst: Botan::AlgorithmIdentifier::parameters
      Src: /src/botan/src/cli/pk_crypt.cpp:149,1
    - Dst: Botan::AlgorithmIdentifier::oid
      Src: /src/botan/src/cli/pk_crypt.cpp:151,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pk_crypt.cpp:153,1
    - Dst: error_output
      Src: /src/botan/src/cli/pk_crypt.cpp:154,1
    - Dst: Botan::AlgorithmIdentifier::oid
      Src: /src/botan/src/cli/pk_crypt.cpp:154,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/pk_crypt.cpp:155,1
    - Dst: Botan::AlgorithmIdentifier::parameters
      Src: /src/botan/src/cli/pk_crypt.cpp:158,1
    - Dst: error_output
      Src: /src/botan/src/cli/pk_crypt.cpp:159,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/pk_crypt.cpp:160,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/cli/pk_crypt.cpp:164,1
    - Dst: rng
      Src: /src/botan/src/cli/pk_crypt.cpp:168,1
    - Dst: Botan::PK_Decryptor_EME::decrypt_or_random
      Src: /src/botan/src/cli/pk_crypt.cpp:171,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/pk_crypt.cpp:171,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/pk_crypt.cpp:171,1
    - Dst: rng
      Src: /src/botan/src/cli/pk_crypt.cpp:171,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/cli/pk_crypt.cpp:173,1
    - Dst: std::unique_ptr::set_associated_data
      Src: /src/botan/src/cli/pk_crypt.cpp:174,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/cli/pk_crypt.cpp:175,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/cli/pk_crypt.cpp:178,1
    - Dst: write_output
      Src: /src/botan/src/cli/pk_crypt.cpp:180,1
    - Dst: error_output
      Src: /src/botan/src/cli/pk_crypt.cpp:182,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/pk_crypt.cpp:183,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 185
    functionName: Botan_CLI::PK_Decrypt::go
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached:
    - CLI_Usage_Error
    - CLI_Error
    - error_output
    - Botan::BER_Decoder::BER_Decoder
    - std::unique_ptr::finish
    - Botan::PEM_Code::decode_check_label
    - Botan::OID::OID
    - Botan::PK_Decryptor_EME::decrypt_or_random
    - std::unique_ptr::algo_name
    - std::string::empty
    - std::vector::data
    - std::vector::size
    - get_arg
    - std::unique_ptr::start
    - Botan::OID::human_name_or_empty
    - Botan::AlgorithmIdentifier::AlgorithmIdentifier
    - set_return_code
    - std::unique_ptr::set_associated_data
    - write_output
    - Botan::OID::from_string
    - Botan::PKCS8::load_key
    - Botan::AlgorithmIdentifier::oid
    - get_passphrase
    - Botan::AlgorithmIdentifier::parameters
    - rng
    - std::unique_ptr::set_key
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: shim_output
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int shim_output(const std::string& s, int rc = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::getenv
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:61,1
    - Dst: std::fopen
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:70,1
    - Dst: ::gettimeofday
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:72,1
    - Dst: static_cast<void>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:73,1
    - Dst: std::fprintf
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:73,1
    - Dst: static_cast<unsigned long long>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:75,1
    - Dst: static_cast<unsigned long>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:76,1
    - Dst: c_str
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:77,1
    - Dst: static_cast<void>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:78,1
    - Dst: std::fflush
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 80
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionName: shim_log
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::fopen
    - c_str
    - std::fprintf
    - static_cast<void>
    - ::gettimeofday
    - static_cast<unsigned long>
    - static_cast<unsigned long long>
    - std::fflush
    - ::getenv
    linkageType: ''
    returnType: void
    signature: void shim_log(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:83,1
    - Dst: std::exit
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: shim_exit_with_error
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::exit
    - shim_log
    linkageType: ''
    returnType: void
    signature: void shim_exit_with_error(const std::string& s, int rc = 1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:89,1
    - Dst: std::unordered_map::find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:337,1
    - Dst: std::unordered_map::end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 343
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 343
    functionName: map_to_bogo_error
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_map::find
    - std::unordered_map::end
    - shim_log
    linkageType: ''
    returnType: std::string
    signature: std::string map_to_bogo_error(const std::string& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: Shim_Exception::Shim_Exception
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Shim_Exception(std::string_view msg, int rc = 1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: Shim_Exception::what
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: Shim_Exception::rc
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rc() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: Shim_Socket::close_socket
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::strerror
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: Shim_Socket::get_last_socket_error
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - ::strerror
    linkageType: ''
    returnType: std::string
    signature: std::string get_last_socket_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:374,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:379,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:388,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:391,1
    - Dst: unique_addrinfo_t::get
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:394,1
    - Dst: Client::close_socket
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:399,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:409,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:415,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - ' hostname'
    - port
    - ipv6
    argTypes:
    - std::string
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 417
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 417
    functionName: Shim_Socket::Shim_Socket
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Client::close_socket
    - unique_addrinfo_t::get
    - Botan::TLS::Channel_Impl::close
    - shim_log
    - Shim_Exception
    - std::memset
    linkageType: ''
    returnType: void
    signature: void Shim_Socket(const std::string& hostname, int port, const bool
      ipv6)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 419
    functionName: Shim_Socket::Shim_Socket
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Shim_Socket(const Shim_Socket&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: '& operator=(const Shim_Socket&)'
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Shim_Socket
    signature: Shim_Socket & operator=(const Shim_Socket&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 422
    functionName: Shim_Socket::Shim_Socket
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Shim_Socket(Shim_Socket&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: '& operator=(Shim_Socket&&)'
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Shim_Socket
    signature: Shim_Socket & operator=(Shim_Socket&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: ~Shim_Socket()
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void ~Shim_Socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:432,1
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:438,1
    - Dst: Botan::cast_uint8_ptr_to_char
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:438,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:443,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 449
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 449
    functionName: Shim_Socket::write
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - static_cast<size_t>
    - Botan::cast_uint8_ptr_to_char
    - Botan_Tests::MockChannel::send
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t buf[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:453,1
    - Dst: Shim_Socket::read
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:455,1
    - Dst: Botan::cast_uint8_ptr_to_char
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:455,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:461,1
    - Dst: std::string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:461,1
    - Dst: strerror
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:461,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 465
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 465
    functionName: Shim_Socket::read
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 2
    functionsReached:
    - strerror
    - Botan::cast_uint8_ptr_to_char
    - Shim_Socket::read
    - static_cast<size_t>
    - std::string
    - Shim_Exception
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t buf[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:469,1
    - Dst: Shim_Socket::read
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:473,1
    - Dst: Botan::cast_uint8_ptr_to_char
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:473,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:476,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:478,1
    - Dst: std::string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:478,1
    - Dst: strerror
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:478,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:481,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:482,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 484
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 484
    functionName: Shim_Socket::read_exactly
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - strerror
    - Botan::cast_uint8_ptr_to_char
    - Shim_Socket::read
    - static_cast<size_t>
    - std::string
    - Shim_Exception
    linkageType: ''
    returnType: void
    signature: void read_exactly(uint8_t buf[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:499,1
    - Dst: std::set::insert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:502,1
    - Dst: std::set::insert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:505,1
    - Dst: std::set::insert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    constantsTouched: []
    func_position:
      end: 512
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 512
    functionName: combine_options
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: "std::set<std::string> combine_options(const std::set<std::string>&
      a,\n                                      const std::set<std::string>& b,\n
      \                                     const std::set<std::string>& c,\n                                      const
      std::set<std::string>& d)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: combine_options
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' flags'
    - ' string_opts'
    - ' base64_opts'
    - ' int_opts'
    - ' int_vec_opts'
    argTypes:
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    constantsTouched: []
    func_position:
      end: 526
      start: 516
    functionDepth: 4
    functionLinenumber: 516
    functionLinenumberEnd: 526
    functionName: Shim_Arguments::Shim_Arguments
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - combine_options
    linkageType: ''
    returnType: void
    signature: "void Shim_Arguments(const std::set<std::string>& flags,\n                     const
      std::set<std::string>& string_opts,\n                     const std::set<std::string>&
      base64_opts,\n                     const std::set<std::string>& int_opts,\n
      \                    const std::set<std::string>& int_vec_opts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:531,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:532,1
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' flag'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: Shim_Arguments::flag_set
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - contains
    linkageType: ''
    returnType: bool
    signature: bool flag_set(const std::string& flag) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Arguments::get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 538
    functionName: Shim_Arguments::test_name
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Arguments::get_string_opt
    linkageType: ''
    returnType: std::string
    signature: std::string test_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:541,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:542,1
    - Dst: Shim_Arguments::get_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 545
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 545
    functionName: Shim_Arguments::get_string_opt
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 1
    functionsReached:
    - Shim_Exception
    - Shim_Arguments::get_opt
    - contains
    linkageType: ''
    returnType: std::string
    signature: std::string get_string_opt(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:548,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:549,1
    - Dst: Shim_Arguments::option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:551,1
    - Dst: Shim_Arguments::get_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' def'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: Shim_Arguments::get_string_opt_or_else
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - Shim_Arguments::get_opt
    - contains
    - Shim_Arguments::option_used
    linkageType: ''
    returnType: std::string
    signature: std::string get_string_opt_or_else(const std::string& key, const std::string&
      def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:558,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:559,1
    - Dst: Botan::unlock
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:561,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:561,1
    - Dst: Shim_Arguments::get_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 562
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 562
    functionName: Shim_Arguments::get_b64_opt
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - contains
    - Botan::base64_decode
    - Shim_Arguments::get_opt
    - Botan::unlock
    - Shim_Exception
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_b64_opt(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:565,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:566,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:568,1
    - Dst: Shim_Arguments::get_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 569
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 569
    functionName: Shim_Arguments::get_int_opt
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - Botan::to_u32bit
    - contains
    - Shim_Arguments::get_opt
    linkageType: ''
    returnType: size_t
    signature: size_t get_int_opt(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:572,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:573,1
    - Dst: Shim_Arguments::option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:575,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:579,1
    - Dst: Shim_Arguments::get_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - def
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 580
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 580
    functionName: Shim_Arguments::get_int_opt_or_else
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_u32bit
    - contains
    - Shim_Arguments::option_used
    - Shim_Arguments::get_opt
    - Shim_Exception
    linkageType: ''
    returnType: size_t
    signature: size_t get_int_opt_or_else(const std::string& key, size_t def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:583,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:584,1
    - Dst: find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:587,1
    - Dst: end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:588,1
    - Dst: std::vector<size_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 593
      start: 582
    functionDepth: 3
    functionLinenumber: 582
    functionLinenumberEnd: 593
    functionName: Shim_Arguments::get_int_vec_opt
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - contains
    - end
    - std::vector<size_t>
    - Shim_Exception
    - find
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> get_int_vec_opt(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Arguments::option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:599,1
    - Dst: Botan::split_on
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:600,1
    - Dst: Shim_Arguments::get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:600,1
    - Dst: std::vector<std::string>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 604
      start: 595
    functionDepth: 4
    functionLinenumber: 595
    functionLinenumberEnd: 604
    functionName: Shim_Arguments::get_alpn_string_vec_opt
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Arguments::get_string_opt
    - std::vector<std::string>
    - Botan::split_on
    - Shim_Arguments::option_used
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> get_alpn_string_vec_opt(const std::string&
      option) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:607,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:608,1
    - Dst: find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:610,1
    - Dst: end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:610,1
    - Dst: find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:613,1
    - Dst: end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 617
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 617
    functionName: Shim_Arguments::option_used
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 3
    functionsReached:
    - Shim_Exception
    - find
    - contains
    - end
    linkageType: ''
    returnType: bool
    signature: bool option_used(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:621,1
    - Dst: end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:622,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 626
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 626
    functionName: Shim_Arguments::get_opt
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 5
    functionsReached:
    - Shim_Exception
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string get_opt(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::starts_with
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:646,1
    - Dst: std::string::substr
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:647,1
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:649,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:650,1
    - Dst: insert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:651,1
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:653,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:655,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:658,1
    - Dst: Botan::fmt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:658,1
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:660,1
    - Dst: push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:662,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:668,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:669,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:672,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:673,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char*[]
    constantsTouched: []
    func_position:
      end: 676
      start: 640
    functionDepth: 3
    functionLinenumber: 640
    functionLinenumberEnd: 676
    functionName: Shim_Arguments::parse_args
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - contains
    - std::string::starts_with
    - Botan::fmt
    - shim_log
    - insert
    - Shim_Exception
    - std::string::substr
    - push_back
    linkageType: ''
    returnType: void
    signature: void Shim_Arguments::parse_args(char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Arguments::Shim_Arguments
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:855,1
    - Dst: std::unique_ptr::parse_args
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char*[]
    constantsTouched: []
    func_position:
      end: 862
      start: 678
    functionDepth: 5
    functionLinenumber: 678
    functionLinenumberEnd: 862
    functionName: parse_options
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::parse_args
    - Shim_Arguments::Shim_Arguments
    linkageType: ''
    returnType: std::unique_ptr<Shim_Arguments>
    signature: std::unique_ptr<Shim_Arguments> parse_options(char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - Shim_Arguments
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: Shim_Policy::Shim_Policy
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Shim_Policy(const Shim_Arguments& args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 868
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 868
    functionName: Shim_Policy::incr_session_established
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void incr_session_established()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_string_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:897,1
    - Dst: std::string::empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:904,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:907,1
    - Dst: Botan::concat
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 912
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 912
    functionName: Shim_Policy::allowed_ciphers
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat
    - std::string::empty
    - shim_exit_with_error
    - get_string_opt_or_else
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> allowed_ciphers() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:915,1
    - Dst: get_int_vec_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:917,1
    - Dst: Botan::TLS::Signature_Scheme::is_available
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:919,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:920,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:920,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:923,1
    - Dst: Botan::TLS::Signature_Scheme::hash_function_name
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:923,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:926,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 933
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 933
    functionName: Shim_Policy::allowed_signature_hashes
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_int_vec_opt
    - option_used
    - std::to_string
    - Botan::TLS::Signature_Scheme::hash_function_name
    - shim_log
    - flag_set
    - Botan::TLS::Signature_Scheme::is_available
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> allowed_signature_hashes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: Shim_Policy::allowed_signature_methods
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> allowed_signature_methods() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:946,1
    - Dst: get_int_vec_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:948,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:949,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:949,1
    - Dst: Shim_Policy::acceptable_signature_schemes
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 956
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 956
    functionName: Shim_Policy::acceptable_signature_schemes
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 1
    functionsReached:
    - get_int_vec_opt
    - option_used
    - Shim_Policy::acceptable_signature_schemes
    - static_cast<uint16_t>
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Botan::TLS::Signature_Scheme>
    signature: std::vector<Botan::TLS::Signature_Scheme> acceptable_signature_schemes()
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:959,1
    - Dst: get_int_vec_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:961,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:962,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:962,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:972,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:973,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:974,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:975,1
    - Dst: Botan_Tests::RFC8448_Text_Policy::allowed_signature_schemes
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 982
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 982
    functionName: Shim_Policy::allowed_signature_schemes
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_int_vec_opt
    - option_used
    - flag_set
    - static_cast<uint16_t>
    - std::vector::emplace_back
    - Botan_Tests::RFC8448_Text_Policy::allowed_signature_schemes
    linkageType: ''
    returnType: std::vector<Botan::TLS::Signature_Scheme>
    signature: std::vector<Botan::TLS::Signature_Scheme> allowed_signature_schemes()
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 986
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 986
    functionName: Shim_Policy::require_cert_revocation_info
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool require_cert_revocation_info() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:989,1
    - Dst: Shim_Policy::key_exchange_groups
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:994,1
    - Dst: get_int_vec_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:996,1
    - Dst: static_cast<Botan::TLS::Group_Params>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:997,1
    - Dst: find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:998,1
    - Dst: auto::cbegin
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:998,1
    - Dst: auto::cend
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:998,1
    - Dst: auto::end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:998,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:999,1
    - Dst: Shim_Policy::key_exchange_groups
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 1007
    functionName: Shim_Policy::key_exchange_groups
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 1
    functionsReached:
    - get_int_vec_opt
    - option_used
    - auto::cbegin
    - auto::cend
    - auto::end
    - static_cast<Botan::TLS::Group_Params>
    - find
    - Shim_Policy::key_exchange_groups
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Botan::TLS::Group_Params>
    signature: std::vector<Botan::TLS::Group_Params> key_exchange_groups() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1009
    functionName: Shim_Policy::use_ecc_point_compression
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool use_ecc_point_compression() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1014,1
    - Dst: Shim_Policy::key_exchange_groups
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1018,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' supported_by_peer'
    - ' offered_by_peer'
    argTypes:
    - std::vector<Botan::TLS::Group_Params>
    - std::vector<Botan::TLS::Group_Params>
    constantsTouched: []
    func_position:
      end: 1026
      start: 1011
    functionDepth: 3
    functionLinenumber: 1011
    functionLinenumberEnd: 1026
    functionName: Shim_Policy::choose_key_exchange_group
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Shim_Policy::key_exchange_groups
    - Botan::value_exists
    linkageType: ''
    returnType: Botan::TLS::Group_Params
    signature: "Botan::TLS::Group_Params choose_key_exchange_group(\n         const
      std::vector<Botan::TLS::Group_Params>& supported_by_peer,\n         const std::vector<Botan::TLS::Group_Params>&
      offered_by_peer) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1030
    functionName: Shim_Policy::require_client_certificate_authentication
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool require_client_certificate_authentication() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1033,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1033,1
    - Dst: Shim_Policy::require_client_certificate_authentication
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1035
    functionName: Shim_Policy::request_client_certificate_authentication
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::require_client_certificate_authentication
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool request_client_certificate_authentication() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1043
    functionName: Shim_Policy::allow_insecure_renegotiation
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool allow_insecure_renegotiation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1048,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1057
    functionName: Shim_Policy::allow_client_initiated_renegotiation
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool allow_client_initiated_renegotiation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Policy::allow_client_initiated_renegotiation
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1061
    functionName: Shim_Policy::allow_server_initiated_renegotiation
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::allow_client_initiated_renegotiation
    linkageType: ''
    returnType: bool
    signature: bool allow_server_initiated_renegotiation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1064,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1072,1
    - Dst: Botan::TLS::Protocol_Version::known_version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1080,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - version
    argTypes:
    - Botan::TLS::Protocol_Version
    constantsTouched: []
    func_position:
      end: 1081
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1081
    functionName: Shim_Policy::allow_version
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Protocol_Version::known_version
    - option_used
    linkageType: ''
    returnType: bool
    signature: bool allow_version(Botan::TLS::Protocol_Version version) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1084,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1084,1
    - Dst: Shim_Policy::allow_version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1086
    functionName: Shim_Policy::allow_tls12
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::allow_version
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool allow_tls12() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1089,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1089,1
    - Dst: Shim_Policy::allow_version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1088
    functionDepth: 2
    functionLinenumber: 1088
    functionLinenumberEnd: 1091
    functionName: Shim_Policy::allow_tls13
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::allow_version
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool allow_tls13() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1094,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1094,1
    - Dst: Shim_Policy::allow_version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1096
    functionName: Shim_Policy::allow_dtls12
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::allow_version
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool allow_dtls12() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1102
    functionName: Shim_Policy::minimum_ecdsa_group_size
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_ecdsa_group_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1104
    functionName: Shim_Policy::minimum_ecdh_group_size
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_ecdh_group_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1118
    functionName: Shim_Policy::new_session_tickets_upon_handshake_success
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    linkageType: ''
    returnType: size_t
    signature: size_t new_session_tickets_upon_handshake_success() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1121,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1122,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1134
    functionName: Shim_Policy::srtp_profiles
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - option_used
    - shim_exit_with_error
    - get_string_opt
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> srtp_profiles() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1136
    functionName: Shim_Policy::only_resume_with_exact_version
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool only_resume_with_exact_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1143,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1144,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1147,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1155
    functionName: Shim_Policy::support_cert_status_message
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - option_used
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool support_cert_status_message() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1159
    functionName: Shim_Policy::dtls_default_mtu
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_int_opt_or_else
    linkageType: ''
    returnType: size_t
    signature: size_t dtls_default_mtu() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1171
    functionName: Shim_Policy::abort_connection_on_undesired_renegotiation
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool abort_connection_on_undesired_renegotiation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1173
    functionName: Shim_Policy::maximum_certificate_chain_size
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_int_opt_or_else
    linkageType: ''
    returnType: size_t
    signature: size_t maximum_certificate_chain_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::value_exists
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1189,1
    - Dst: test_name
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1194
    functionName: Shim_Policy::tls_13_middlebox_compatibility_mode
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::value_exists
    - test_name
    linkageType: ''
    returnType: bool
    signature: bool tls_13_middlebox_compatibility_mode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_string_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1204,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1217,1
    - Dst: auto::valid
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1218,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1219,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1221,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1221,1
    - Dst: Botan::TLS::Ciphersuite::all_known_ciphersuites
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1225,1
    - Dst: auto::rbegin
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1226,1
    - Dst: auto::rend
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1226,1
    - Dst: auto::valid
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1230,1
    - Dst: auto::usable_in_version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1230,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1231,1
    - Dst: Shim_Policy::allowed_ciphers
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1231,1
    - Dst: auto::cipher_algo
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1231,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1235,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - version
    argTypes:
    - Botan::TLS::Protocol_Version
    constantsTouched: []
    func_position:
      end: 1240
      start: 1201
    functionDepth: 3
    functionLinenumber: 1201
    functionLinenumberEnd: 1240
    functionName: Shim_Policy::ciphersuite_list
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - auto::usable_in_version
    - auto::valid
    - auto::rbegin
    - auto::rend
    - get_string_opt_or_else
    - Shim_Policy::allowed_ciphers
    - auto::cipher_algo
    - shim_exit_with_error
    - Botan::TLS::Ciphersuite::from_name
    - Botan::TLS::Ciphersuite::all_known_ciphersuites
    - auto::ciphersuite_code
    - Botan::value_exists
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> Shim_Policy::ciphersuite_list(Botan::TLS::Protocol_Version
      version) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_string_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1245,1
    - Dst: get_string_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1246,1
    - Dst: auto::empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1248,1
    - Dst: auto::empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1248,1
    - Dst: auto::empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1254,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1255,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1255,1
    - Dst: auto::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1255,1
    - Dst: auto::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1255,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1258,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1258,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1259,1
    - Dst: reset
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1260,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1260,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1262,1
    - Dst: Botan::DataSource_Stream::end_of_data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1264,1
    - Dst: push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1266,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1266,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1271,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1271,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1272,1
    - Dst: add_certificate
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1274,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1274,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1276,1
    - Dst: std::string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1276,1
    - Dst: what
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - Shim_Arguments
    constantsTouched: []
    func_position:
      end: 1279
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1279
    functionName: Shim_Credentials::Shim_Credentials
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - option_used
    - Botan::SymmetricKey
    - get_string_opt_or_else
    - get_string_opt
    - Botan::PKCS8::load_key
    - what
    - Botan::X509_Certificate
    - auto::empty
    - auto::data
    - std::string
    - reset
    - reinterpret_cast<const uint8_t*>
    - Botan::DataSource_Stream::end_of_data
    - auto::size
    - add_certificate
    - push_back
    linkageType: ''
    returnType: void
    signature: void Shim_Credentials(const Shim_Arguments& args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1283,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1284,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1286,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1287,1
    - Dst: get_string_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1290,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1292,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - ' type'
    - ' context'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 1296
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1296
    functionName: Shim_Credentials::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - get_string_opt_or_else
    - flag_set
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const
      std::string& type,\n                                                                             const
      std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1302
    functionName: Shim_Credentials::psk_identity
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - value_or
    linkageType: ''
    returnType: std::string
    signature: "std::string psk_identity(const std::string& /*type*/,\n                               const
      std::string& /*context*/,\n                               const std::string&
      /*identity_hint*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1306
    functionName: Shim_Credentials::psk_identity_hint
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - value_or
    linkageType: ''
    returnType: std::string
    signature: std::string psk_identity_hint(const std::string& /*type*/, const std::string&
      /*context*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1310
    functionName: Shim_Credentials::session_ticket_key
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> session_ticket_key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1312
    functionDepth: 1
    functionLinenumber: 1312
    functionLinenumberEnd: 1314
    functionName: Shim_Credentials::dtls_cookie_secret
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> dtls_cookie_secret() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1321,1
    - Dst: Botan::Credentials_Manager::find_preshared_keys
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1322,1
    - Dst: empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1326,1
    - Dst: find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1326,1
    - Dst: begin
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1326,1
    - Dst: end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1326,1
    - Dst: end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1326,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1329,1
    - Dst: has_value
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1332,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1333,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1344,1
    - Dst: value
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1344,1
    - Dst: bits_of
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - host
    - whoami
    argTypes:
    - std::string_view
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 1346
      start: 1316
    functionDepth: 2
    functionLinenumber: 1316
    functionLinenumberEnd: 1346
    functionName: Shim_Credentials::find_preshared_keys
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - bits_of
    - Botan::Credentials_Manager::find_preshared_keys
    - end
    - empty
    - std::vector::emplace_back
    - has_value
    - value
    - Shim_Exception
    - find
    - begin
    linkageType: ''
    returnType: std::vector<Botan::TLS::ExternalPSK>
    signature: "std::vector<Botan::TLS::ExternalPSK> find_preshared_keys(\n         std::string_view
      host,\n         Botan::TLS::Connection_Side whoami,\n         const std::vector<std::string>&
      identities = {},\n         const std::optional<std::string>& prf = std::nullopt)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1353,1
    - Dst: std::runtime_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1354,1
    - Dst: empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1357,1
    - Dst: algo_name
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' cert_key_types'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 1366
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1366
    functionName: Shim_Credentials::cert_chain
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::runtime_error
    - empty
    - flag_set
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> cert_chain(\n         const std::vector<std::string>&
      cert_key_types,\n         const std::vector<Botan::AlgorithmIdentifier>& /*cert_signature_schemes*/,\n
      \        const std::string& /*type*/,\n         const std::string& /*context*/)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1373
    functionName: Shim_Credentials::private_key_for
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Botan::X509_Certificate&
      /*cert*/,\n                                                          const std::string&
      /*type*/,\n                                                          const std::string&
      /*context*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' args'
    - ' socket'
    - ' policy'
    argTypes:
    - Shim_Arguments
    - Shim_Socket
    - Shim_Policy
    constantsTouched: []
    func_position:
      end: 1397
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1397
    functionName: Shim_Callbacks::Shim_Callbacks
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    linkageType: ''
    returnType: void
    signature: void Shim_Callbacks(const Shim_Arguments& args, Shim_Socket& socket,
      Shim_Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1399
    functionName: Shim_Callbacks::sessions_established
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t sessions_established() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - channel
    argTypes:
    - Botan::TLS::Channel*
    constantsTouched: []
    func_position:
      end: 1401
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1401
    functionName: Shim_Callbacks::set_channel
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_channel(Botan::TLS::Channel* channel)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clock_skew
    argTypes:
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 1403
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1403
    functionName: Shim_Callbacks::set_clock_skew
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_clock_skew(std::chrono::seconds clock_skew)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1405
    functionName: Shim_Callbacks::saw_close_notify
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool saw_close_notify() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1408,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1408,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1408,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1410,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1412,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1416,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1420,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1420,1
    - Dst: std::memcpy
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1422,1
    - Dst: std::vector::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1422,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1422,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1422,1
    - Dst: write
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1424,1
    - Dst: std::vector::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1424,1
    - Dst: std::vector::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1424,1
    - Dst: write
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1426,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1426,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1428
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1428
    functionName: Shim_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - option_used
    - std::to_string
    - write
    - shim_log
    - static_cast<uint8_t>
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - std::memcpy
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1432,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1432,1
    - Dst: std::runtime_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1433,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1436,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1440,1
    - Dst: get_b64_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1445
    functionName: Shim_Callbacks::tls_provide_cert_status
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - get_b64_opt
    - flag_set
    - option_used
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> tls_provide_cert_status(const std::vector<Botan::X509_Certificate>&,\n
      \                                                  const Botan::TLS::Certificate_Status_Request&)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1448,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1451,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1457,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1457,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1457,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1459,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1459,1
    - Dst: send
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1465
      start: 1447
    functionDepth: 2
    functionLinenumber: 1447
    functionLinenumberEnd: 1465
    functionName: Shim_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - shim_log
    - std::span<const uint8_t>::size
    - shim_exit_with_error
    - send
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t /*seq_no*/, std::span<const uint8_t>
      data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1472,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1474,1
    - Dst: get_int_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1474,1
    - Dst: Botan::TLS::Signature_Scheme::is_available
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1476,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1477,1
    - Dst: std::string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1477,1
    - Dst: Botan::TLS::Signature_Scheme::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1478,1
    - Dst: Botan::TLS::Signature_Scheme::padding_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1481,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1483,1
    - Dst: Botan::fmt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1483,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::tls_verify_message
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - ' key'
    - padding
    - format
    - ' msg'
    - ' sig'
    argTypes:
    - Botan::Public_Key
    - std::string_view
    - Botan::Signature_Format
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1488
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1488
    functionName: Shim_Callbacks::tls_verify_message
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Signature_Scheme::to_string
    - option_used
    - Botan::fmt
    - std::string
    - Botan::TLS::Signature_Scheme::padding_string
    - shim_exit_with_error
    - Botan_Tests::Test_TLS_13_Callbacks::tls_verify_message
    - static_cast<uint16_t>
    - Botan::TLS::Signature_Scheme::is_available
    - get_int_opt
    linkageType: ''
    returnType: bool
    signature: "bool tls_verify_message(const Botan::Public_Key& key,\n                              std::string_view
      padding,\n                              Botan::Signature_Format format,\n                              const
      std::vector<uint8_t>& msg,\n                              const std::vector<uint8_t>&
      sig) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1496,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1496,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1497,1
    - Dst: TLS_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1498,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1502,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1504,1
    - Dst: TLS_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1508,1
    - Dst: empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1511,1
    - Dst: front
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1511,1
    - Dst: certificate_known
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1513,1
    - Dst: front
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1513,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1514,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1520,1
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1522,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - ' cert_chain'
    - ' ocsp_responses'
    - ' trusted_roots'
    - usage
    - ' policy'
    argTypes:
    - std::vector<Botan::X509_Certificate>
    - std::vector<std::optional<Botan::OCSP::Response>>
    - std::vector<Botan::Certificate_Store*>
    - Botan::Usage_Type
    - Botan::TLS::Policy
    constantsTouched: []
    func_position:
      end: 1524
      start: 1490
    functionDepth: 2
    functionLinenumber: 1490
    functionLinenumberEnd: 1524
    functionName: Shim_Callbacks::tls_verify_cert_chain
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
    - empty
    - shim_log
    - certificate_known
    - front
    - flag_set
    linkageType: ''
    returnType: void
    signature: "void tls_verify_cert_chain(const std::vector<Botan::X509_Certificate>&
      cert_chain,\n                                 const std::vector<std::optional<Botan::OCSP::Response>>&
      ocsp_responses,\n                                 const std::vector<Botan::Certificate_Store*>&
      trusted_roots,\n                                 Botan::Usage_Type usage,\n
      \                                std::string_view /* hostname */,\n                                 const
      Botan::TLS::Policy& policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1527,1
    - Dst: get_b64_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1527,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' raw_response'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1534
      start: 1526
    functionDepth: 2
    functionLinenumber: 1526
    functionLinenumberEnd: 1534
    functionName: Shim_Callbacks::tls_parse_ocsp_response
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - option_used
    - get_b64_opt
    - shim_exit_with_error
    linkageType: ''
    returnType: std::optional<Botan::OCSP::Response>
    signature: std::optional<Botan::OCSP::Response> tls_parse_ocsp_response(const
      std::vector<uint8_t>& raw_response) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1540,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1548,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1549,1
    - Dst: remove_extension
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' exts'
    - msg_type
    argTypes:
    - Botan::TLS::Extensions
    - Botan::TLS::Handshake_Type
    constantsTouched: []
    func_position:
      end: 1557
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1557
    functionName: Shim_Callbacks::tls_modify_extensions
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - option_used
    - remove_extension
    - get_string_opt
    linkageType: ''
    returnType: void
    signature: "void tls_modify_extensions(Botan::TLS::Extensions& exts,\n                                 Botan::TLS::Connection_Side
      /* side */,\n                                 Botan::TLS::Handshake_Type msg_type)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1560,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1564,1
    - Dst: TLS_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1565,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1569,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1573,1
    - Dst: get_alpn_string_vec_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1574,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1577,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1581,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1582,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' client_protos'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 1586
      start: 1559
    functionDepth: 2
    functionLinenumber: 1559
    functionLinenumberEnd: 1586
    functionName: Shim_Callbacks::tls_server_choose_app_protocol
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - option_used
    - get_string_opt
    - get_alpn_string_vec_opt
    - empty
    - shim_exit_with_error
    - flag_set
    linkageType: ''
    returnType: std::string
    signature: std::string tls_server_choose_app_protocol(const std::vector<std::string>&
      client_protos) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Alert::is_fatal
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1589,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1590,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1590,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1592,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1592,1
    - Dst: Botan::TLS::Alert::type
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1595,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1596,1
    - Dst: Botan::TLS::Alert::type
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1599,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1600,1
    - Dst: Botan::TLS::Alert::is_fatal
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1603,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1606,1
    - Dst: Botan::TLS::Alert::type
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1610,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1611,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1612,1
    - Dst: send_alert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1613,1
    - Dst: Botan::TLS::Alert::is_fatal
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1616,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1617,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 1619
      start: 1588
    functionDepth: 2
    functionLinenumber: 1588
    functionLinenumberEnd: 1619
    functionName: Shim_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type_string
    - Botan::TLS::Alert::type
    - Botan::TLS::Alert::is_fatal
    - send_alert
    - shim_log
    - shim_exit_with_error
    - flag_set
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1622,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1622,1
    - Dst: session_id
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1622,1
    - Dst: version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1623,1
    - Dst: ciphersuite
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1623,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1624,1
    - Dst: supports_extended_master_secret
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1624,1
    - Dst: incr_session_established
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1627,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1630,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1632,1
    - Dst: session_id
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1632,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1633,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1635,1
    - Dst: session_id
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1635,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1636,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1639,1
    - Dst: version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1640,1
    - Dst: get_int_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1640,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1641,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1645,1
    - Dst: secure_renegotiation_supported
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1646,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1647,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1649,1
    - Dst: secure_renegotiation_supported
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1650,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1651,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1655,1
    - Dst: supports_extended_master_secret
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1656,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1657,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 1660
      start: 1621
    functionDepth: 2
    functionLinenumber: 1621
    functionLinenumberEnd: 1660
    functionName: Shim_Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - incr_session_established
    - option_used
    - session_id
    - version
    - ciphersuite
    - std::to_string
    - supports_extended_master_secret
    - shim_log
    - shim_exit_with_error
    - flag_set
    - get_int_opt
    - Botan::hex_encode
    - secure_renegotiation_supported
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& session)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1663,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1664,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1669,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1670,1
    - Dst: key_material_export
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1671,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1672,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1672,1
    - Dst: send
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1673,1
    - Dst: auto::bits_of
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1673,1
    - Dst: application_protocol
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1676,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1678,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1679,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1680,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1684,1
    - Dst: TLS_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1685,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1688,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1689,1
    - Dst: close
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1690,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1693,1
    - Dst: send
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1699,1
    - Dst: std::vector::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1699,1
    - Dst: close
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1702,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1705,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1706,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1709,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1710,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1713,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1714,1
    - Dst: update_traffic_keys
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1715,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1662
    functionDepth: 2
    functionLinenumber: 1662
    functionLinenumberEnd: 1717
    functionName: Shim_Callbacks::tls_session_activated
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - auto::bits_of
    - TLS_Exception
    - std::vector::data
    - option_used
    - Shim_Exception
    - close
    - std::to_string
    - get_string_opt
    - send_fatal_alert
    - shim_log
    - key_material_export
    - application_protocol
    - shim_exit_with_error
    - flag_set
    - update_traffic_keys
    - send
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::floor<sec>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1724,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1726
    functionName: Shim_Callbacks::tls_current_timestamp
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::floor<sec>
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point tls_current_timestamp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Botan::TLS::Handshake_Message
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: Shim_Callbacks::tls_inspect_handshake_msg
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: void
    signature: void tls_inspect_handshake_msg(const Botan::TLS::Handshake_Message&
      msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_options
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1752,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1754,1
    - Dst: shim_output
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1755,1
    - Dst: std::make_shared<Botan::ChaCha_RNG>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1764,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1764,1
    - Dst: std::make_shared<Shim_Credentials>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1765,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1767,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1767,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1770,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Hybrid>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1775,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1776,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1780,1
    - Dst: sleep
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1781,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1786,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1788,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1788,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1788,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1793,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1793,1
    - Dst: std::unique_ptr::get_int_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1793,1
    - Dst: Botan::store_le
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1795,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1795,1
    - Dst: std::unique_ptr::get_int_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1795,1
    - Dst: std::array::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1795,1
    - Dst: Shim_Socket::write
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1796,1
    - Dst: std::array::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1796,1
    - Dst: std::array::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1796,1
    - Dst: std::make_shared<Shim_Policy>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1798,1
    - Dst: std::make_shared<Shim_Callbacks>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1799,1
    - Dst: std::unique_ptr::option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1801,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1802,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1802,1
    - Dst: std::unique_ptr::get_int_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1802,1
    - Dst: auto::set_clock_skew
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1803,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1803,1
    - Dst: std::unique_ptr::get_int_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1803,1
    - Dst: std::make_unique<Botan::TLS::Server>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1809,1
    - Dst: auto::latest_supported_version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1811,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1812,1
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1812,1
    - Dst: std::unique_ptr::get_string_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1814,1
    - Dst: std::unique_ptr::test_name
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1815,1
    - Dst: std::unique_ptr::get_alpn_string_vec_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1820,1
    - Dst: std::make_unique<Botan::TLS::Client>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1821,1
    - Dst: auto::set_channel
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1825,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1825,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1834,1
    - Dst: Shim_Socket::read_exactly
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1840,1
    - Dst: std::vector::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1844,1
    - Dst: std::vector::resize
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1845,1
    - Dst: Shim_Socket::read_exactly
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1847,1
    - Dst: std::vector::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1847,1
    - Dst: std::unique_ptr::received_data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1849,1
    - Dst: std::vector::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1849,1
    - Dst: Shim_Socket::read_exactly
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1854,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1858,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1858,1
    - Dst: Shim_Socket::write
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1862,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1864,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1864,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1869,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1873,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1873,1
    - Dst: std::unique_ptr::option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1875,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1878,1
    - Dst: std::vector::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1878,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1882,1
    - Dst: std::unique_ptr::is_active
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1882,1
    - Dst: std::unique_ptr::key_material_export
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1883,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1888,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1888,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1893,1
    - Dst: auto::saw_close_notify
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1894,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1895,1
    - Dst: std::unique_ptr::option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1899,1
    - Dst: auto::sessions_established
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1902,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1903,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1904,1
    - Dst: auto::sessions_established
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1904,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1905,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1908,1
    - Dst: execute_test
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1911,1
    - Dst: std::string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1913,1
    - Dst: what
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1913,1
    - Dst: execute_test
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1914,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1922,1
    - Dst: what
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1922,1
    - Dst: rc
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1922,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1924,1
    - Dst: map_to_bogo_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1924,1
    - Dst: what
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1924,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1926,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 101
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char*[]
    constantsTouched: []
    func_position:
      end: 1929
      start: 1750
    functionDepth: 6
    functionLinenumber: 1750
    functionLinenumberEnd: 1929
    functionName: main
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 19
    functionsReached:
    - std::to_string
    - what
    - std::string
    - auto::set_channel
    - std::make_shared<Shim_Callbacks>
    - auto::set_clock_skew
    - std::unique_ptr::key_material_export
    - sleep
    - std::make_shared<Shim_Policy>
    - Botan_CLI::Timer::seconds
    - std::make_shared<Shim_Credentials>
    - rc
    - Botan::secure_vector<uint8_t>
    - std::array::size
    - std::unique_ptr::flag_set
    - std::vector::resize
    - parse_options
    - std::make_unique<Botan::TLS::Session_Manager_In_Memory>
    - std::vector::size
    - std::vector::data
    - Botan::TLS::Protocol_Version::to_string
    - std::unique_ptr::get_int_opt
    - static_cast<uint64_t>
    - Botan::store_le
    - std::make_unique<Botan::TLS::Client>
    - Shim_Socket::write
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::unique_ptr::received_data
    - std::make_shared<Botan::TLS::Session_Manager_Hybrid>
    - shim_exit_with_error
    - std::unique_ptr::test_name
    - std::unique_ptr::is_active
    - Botan::hex_encode
    - std::make_unique<Botan::TLS::Server>
    - auto::sessions_established
    - std::unique_ptr::option_used
    - auto::saw_close_notify
    - map_to_bogo_error
    - std::array::data
    - Shim_Socket::read_exactly
    - execute_test
    - shim_log
    - std::make_shared<Botan::ChaCha_RNG>
    - std::unique_ptr::get_string_opt_or_else
    - shim_output
    - std::unique_ptr::get_alpn_string_vec_opt
    - std::unique_ptr::get
    - Shim_Exception
    - auto::latest_supported_version
    linkageType: ''
    returnType: int
    signature: int main(int /*argc*/, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_msg
      Src: /src/botan/src/lib/modes/cipher_mode.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: start
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 49
    functionsReached:
    - start_msg
    linkageType: ''
    returnType: void
    signature: void start(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_msg
      Src: /src/botan/src/lib/modes/cipher_mode.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: start
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 49
    functionsReached:
    - start_msg
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_msg
      Src: /src/botan/src/lib/modes/cipher_mode.h:132,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/modes/cipher_mode.h:132,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/modes/cipher_mode.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: process
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 29
    functionsReached:
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - process_msg
    linkageType: ''
    returnType: size_t
    signature: size_t process(std::span<uint8_t> msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_msg
      Src: /src/botan/src/lib/modes/cipher_mode.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: process
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 29
    functionsReached:
    - process_msg
    linkageType: ''
    returnType: size_t
    signature: size_t process(uint8_t msg[], size_t msg_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/modes/cipher_mode.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buffer'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: update
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 128
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void update(T& buffer, size_t offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish_msg
      Src: /src/botan/src/lib/modes/cipher_mode.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' final_block'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: finish
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 57
    functionsReached:
    - finish_msg
    linkageType: ''
    returnType: void
    signature: void finish(secure_vector<uint8_t>& final_block, size_t offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/modes/cipher_mode.h:193,1
    - Dst: end
      Src: /src/botan/src/lib/modes/cipher_mode.h:193,1
    - Dst: finish_msg
      Src: /src/botan/src/lib/modes/cipher_mode.h:194,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cipher_mode.h:195,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/lib/modes/cipher_mode.h:195,1
    - Dst: copy
      Src: /src/botan/src/lib/modes/cipher_mode.h:196,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/lib/modes/cipher_mode.h:196,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/lib/modes/cipher_mode.h:196,1
    - Dst: begin
      Src: /src/botan/src/lib/modes/cipher_mode.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' final_block'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: finish
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 57
    functionsReached:
    - end
    - copy
    - finish_msg
    - Botan::secure_vector::begin
    - Botan::secure_vector::size
    - Botan::secure_vector::end
    - resize
    - begin
    linkageType: ''
    returnType: void
    signature: void finish(T& final_block, size_t offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: requires_entire_message
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool requires_entire_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/cipher_mode.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: authenticated
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 3
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: bool
    signature: bool authenticated() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: tag_size
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tag_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: provider
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/modes/cipher_mode.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - algo_spec
    - direction
    argTypes:
    - std::string_view
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: get_cipher_mode
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 0
    functionsReached:
    - Botan::Cipher_Mode::create
    linkageType: ''
    returnType: Cipher_Mode
    signature: Cipher_Mode * get_cipher_mode(std::string_view algo_spec, Cipher_Dir
      direction, std::string_view provider = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:44,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - algo
    - direction
    - provider
    argTypes:
    - std::string_view
    - Cipher_Dir
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: Botan::Cipher_Mode::create_or_throw
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.cpp
    functionUses: 1
    functionsReached:
    - Lookup_Error
    - Botan::Cipher_Mode::create
    linkageType: ''
    returnType: std::unique_ptr<Cipher_Mode>
    signature: "std::unique_ptr<Cipher_Mode> Cipher_Mode::create_or_throw(std::string_view
      algo,\n                                                          Cipher_Dir
      direction,\n                                                          std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:55,1
    - Dst: make_commoncrypto_cipher_mode
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:56,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:59,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:64,1
    - Dst: Botan::StreamCipher::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:69,1
    - Dst: std::make_unique<Stream_Cipher_Mode>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:70,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:70,1
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:75,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:80,1
    - Dst: split_on
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:81,1
    - Dst: parse_algorithm_name
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:83,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:85,1
    - Dst: std::unique_ptr<Cipher_Mode>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:86,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:92,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:95,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:100,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:100,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:107,1
    - Dst: std::unique_ptr<Cipher_Mode>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:108,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:111,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:111,1
    - Dst: std::unique_ptr<Cipher_Mode>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:114,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:118,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:119,1
    - Dst: std::make_unique<CTS_Encryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:123,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:123,1
    - Dst: std::make_unique<CTS_Decryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:125,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:125,1
    - Dst: Botan::BlockCipherModePaddingMethod::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:128,1
    - Dst: std::make_unique<CBC_Encryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:132,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:132,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:132,1
    - Dst: std::make_unique<CBC_Decryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:134,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:134,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:134,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:142,1
    - Dst: std::make_unique<XTS_Encryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:144,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:144,1
    - Dst: std::make_unique<XTS_Decryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:146,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:146,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:152,1
    - Dst: std::make_unique<CFB_Encryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:155,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:155,1
    - Dst: std::make_unique<CFB_Decryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:157,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:157,1
    - Dst: std::unique_ptr<Cipher_Mode>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:164,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 3
    argNames:
    - algo
    - direction
    - provider
    argTypes:
    - std::string_view
    - Cipher_Dir
    - std::string_view
    constantsTouched: []
    func_position:
      end: 165
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 165
    functionName: Botan::Cipher_Mode::create
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.cpp
    functionUses: 13
    functionsReached:
    - std::move
    - std::ostringstream::str
    - std::make_unique<CFB_Encryption>
    - split_on
    - std::make_unique<CFB_Decryption>
    - SCAN_Name::arg
    - std::make_unique<XTS_Encryption>
    - Botan::StreamCipher::create
    - std::string_view::find
    - std::unique_ptr<Cipher_Mode>
    - std::make_unique<CTS_Decryption>
    - std::make_unique<CBC_Encryption>
    - std::string_view::empty
    - std::make_unique<CTS_Encryption>
    - Botan::AEAD_Mode::create
    - Botan::Cipher_Mode::create
    - SCAN_Name::algo_name
    - std::vector::size
    - SCAN_Name::arg_count
    - make_commoncrypto_cipher_mode
    - parse_algorithm_name
    - std::make_unique<XTS_Decryption>
    - std::make_unique<Stream_Cipher_Mode>
    - std::vector::empty
    - Botan::BlockCipherModePaddingMethod::create
    - Botan::BlockCipher::create
    - std::make_unique<CBC_Decryption>
    linkageType: ''
    returnType: std::unique_ptr<Cipher_Mode>
    signature: "std::unique_ptr<Cipher_Mode> Cipher_Mode::create(std::string_view
      algo,\n                                                 Cipher_Dir direction,\n
      \                                                std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:172,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: Botan::Cipher_Mode::providers
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.cpp
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - Botan::Cipher_Mode::create
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Cipher_Mode::providers(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/stream_mode.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<StreamCipher>
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::Stream_Cipher_Mode::Stream_Cipher_Mode
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Stream_Cipher_Mode(std::unique_ptr<StreamCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Stream_Cipher_Mode::output_length
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::Stream_Cipher_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t update_granularity() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/modes/stream_mode.h:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: Botan::Stream_Cipher_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t ideal_granularity() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::Stream_Cipher_Mode::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::Stream_Cipher_Mode::default_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t default_nonce_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_iv_length
      Src: /src/botan/src/lib/modes/stream_mode.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nonce_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::Stream_Cipher_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - valid_iv_length
    linkageType: ''
    returnType: bool
    signature: bool valid_nonce_length(size_t nonce_len) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stream_Cipher_Mode::key_spec
      Src: /src/botan/src/lib/modes/stream_mode.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::Stream_Cipher_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 1
    functionsReached:
    - Botan::Stream_Cipher_Mode::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stream_Cipher_Mode::name
      Src: /src/botan/src/lib/modes/stream_mode.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::Stream_Cipher_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 1
    functionsReached:
    - Botan::Stream_Cipher_Mode::name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stream_Cipher_Mode::clear
      Src: /src/botan/src/lib/modes/stream_mode.h:54,1
    - Dst: Botan::Stream_Cipher_Mode::reset
      Src: /src/botan/src/lib/modes/stream_mode.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan::Stream_Cipher_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 1
    functionsReached:
    - Botan::Stream_Cipher_Mode::reset
    - Botan::Stream_Cipher_Mode::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: Botan::Stream_Cipher_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stream_Cipher_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/stream_mode.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::Stream_Cipher_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 1
    functionsReached:
    - Botan::Stream_Cipher_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_iv
      Src: /src/botan/src/lib/modes/stream_mode.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Botan::Stream_Cipher_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - set_iv
    linkageType: ''
    returnType: void
    signature: void start_msg(const uint8_t nonce[], size_t nonce_len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher1
      Src: /src/botan/src/lib/modes/stream_mode.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: Botan::Stream_Cipher_Mode::process_msg
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - cipher1
    linkageType: ''
    returnType: size_t
    signature: size_t process_msg(uint8_t buf[], size_t sz) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/modes/stream_mode.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' buf'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::Stream_Cipher_Mode::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void finish_msg(secure_vector<uint8_t>& buf, size_t offset) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/stream_mode.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::Stream_Cipher_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void key_schedule(std::span<const uint8_t> key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::CFB_Mode::feedback
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t feedback() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& cipher() const'
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BlockCipher
    signature: BlockCipher & cipher() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::CFB_Mode::block_size
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cfb/cfb.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cipher
    - feedback_bits
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: Botan::CFB_Encryption::CFB_Encryption
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CFB_Encryption(std::unique_ptr<BlockCipher> cipher, size_t feedback_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cfb/cfb.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cipher
    - feedback_bits
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: Botan::CFB_Decryption::CFB_Decryption
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CFB_Decryption(std::unique_ptr<BlockCipher> cipher, size_t feedback_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:17,1
    - Dst: Botan::CFB_Mode::block_size
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:18,1
    - Dst: Botan::CFB_Mode::feedback
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:20,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:21,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:21,1
    - Dst: Botan::CFB_Mode::name
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - feedback_bits
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: Botan::CFB_Mode::CFB_Mode
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CFB_Mode::block_size
    - Invalid_Argument
    - Botan::CFB_Mode::feedback
    - fmt
    - Botan::CFB_Mode::name
    linkageType: ''
    returnType: void
    signature: void CFB_Mode::CFB_Mode(std::unique_ptr<BlockCipher> cipher, size_t
      feedback_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::clear
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:26,1
    - Dst: Botan::CFB_Mode::clear
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:27,1
    - Dst: Botan::CFB_Mode::reset
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: Botan::CFB_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 1
    functionsReached:
    - Botan::CFB_Mode::reset
    - Botan::CFB_Mode::clear
    linkageType: ''
    returnType: void
    signature: void CFB_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::clear
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:32,1
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Botan::CFB_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 1
    functionsReached:
    - Botan::CFB_Mode::clear
    - zeroise
    linkageType: ''
    returnType: void
    signature: void CFB_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::feedback
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:37,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:37,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:38,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:38,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:40,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:40,1
    - Dst: Botan::CFB_Mode::feedback
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Botan::CFB_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 1
    functionsReached:
    - cipher
    - fmt
    - Botan::CFB_Mode::feedback
    linkageType: ''
    returnType: std::string
    signature: std::string CFB_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::CFB_Mode::output_length
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Mode::output_length(size_t input_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::feedback
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::CFB_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - Botan::CFB_Mode::feedback
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::feedback
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan::CFB_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - Botan::CFB_Mode::feedback
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::CFB_Mode::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Mode::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::CFB_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - cipher
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification CFB_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::block_size
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::CFB_Mode::default_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - Botan::CFB_Mode::block_size
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Mode::default_nonce_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::block_size
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::CFB_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - Botan::CFB_Mode::block_size
    linkageType: ''
    returnType: bool
    signature: bool CFB_Mode::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Botan::CFB_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 1
    functionsReached:
    - Botan::CFB_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool CFB_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:78,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:79,1
    - Dst: Botan::CFB_Mode::block_size
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: Botan::CFB_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - resize
    - set_key
    - Botan::CFB_Mode::block_size
    linkageType: ''
    returnType: void
    signature: void CFB_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:83,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:84,1
    - Dst: Botan::CFB_Mode::name
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:84,1
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:87,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:90,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:91,1
    - Dst: assign
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:95,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: Botan::CFB_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Invalid_IV_Length
    - empty
    - Botan::CFB_Mode::valid_nonce_length
    - Invalid_State
    - cipher
    - Botan::CFB_Mode::name
    - assign
    linkageType: ''
    returnType: void
    signature: void CFB_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:106,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:106,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:108,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:108,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: Botan::CFB_Mode::shift_register
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    - cipher
    linkageType: ''
    returnType: void
    signature: void CFB_Mode::shift_register()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:114,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:115,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:115,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:124,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:124,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:125,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:125,1
    - Dst: shift_register
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:132,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:137,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:137,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:138,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:138,1
    - Dst: shift_register
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:142,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:146,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:146,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:147,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: Botan::CFB_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - shift_register
    - data
    - copy_mem
    - empty
    - xor_buf
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Encryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Botan::CFB_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void CFB_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - key_buf
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Botan::xor_copy
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xor_copy(uint8_t buf[], uint8_t key_buf[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:171,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:172,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:172,1
    - Dst: xor_copy
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:181,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:181,1
    - Dst: shift_register
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:188,1
    - Dst: xor_copy
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:193,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:193,1
    - Dst: shift_register
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:196,1
    - Dst: xor_copy
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:200,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 205
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 205
    functionName: Botan::CFB_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - shift_register
    - data
    - empty
    - xor_copy
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Decryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: Botan::CFB_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void CFB_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_associated_data_n
      Src: /src/botan/src/lib/modes/aead/aead.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ad
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::set_associated_data
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached:
    - set_associated_data_n
    linkageType: ''
    returnType: void
    signature: void set_associated_data(std::span<const uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::set_associated_data
      Src: /src/botan/src/lib/modes/aead/aead.h:61,1
    - Dst: std::span
      Src: /src/botan/src/lib/modes/aead/aead.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ad
    - ad_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::set_associated_data
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 1
    functionsReached:
    - std::span
    - Botan::set_associated_data
    linkageType: ''
    returnType: void
    signature: void set_associated_data(const uint8_t ad[], size_t ad_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::maximum_associated_data_inputs
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t maximum_associated_data_inputs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::associated_data_requires_key
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool associated_data_requires_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::set_associated_data
      Src: /src/botan/src/lib/modes/aead/aead.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ad'
    argTypes:
    - std::vector<uint8_t, Alloc>
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: Botan::set_associated_data_vec
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached:
    - Botan::set_associated_data
    linkageType: ''
    returnType: void
    signature: void set_associated_data_vec(const std::vector<uint8_t, Alloc>& ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::set_associated_data
      Src: /src/botan/src/lib/modes/aead/aead.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ad
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan::set_ad
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached:
    - Botan::set_associated_data
    linkageType: ''
    returnType: void
    signature: void set_ad(std::span<const uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::default_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t default_nonce_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~AEAD_Mode() override
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AEAD_Mode() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/lib/modes/aead/aead.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - direction
    argTypes:
    - std::string_view
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: get_aead
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached:
    - Botan::AEAD_Mode::create
    linkageType: ''
    returnType: AEAD_Mode
    signature: AEAD_Mode * get_aead(std::string_view name, Cipher_Dir direction)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/lib/modes/aead/aead.cpp:47,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/modes/aead/aead.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - algo
    - dir
    - provider
    argTypes:
    - std::string_view
    - Cipher_Dir
    - std::string_view
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: Botan::AEAD_Mode::create_or_throw
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.cpp
    functionUses: 1
    functionsReached:
    - Lookup_Error
    - Botan::AEAD_Mode::create
    linkageType: ''
    returnType: std::unique_ptr<AEAD_Mode>
    signature: "std::unique_ptr<AEAD_Mode> AEAD_Mode::create_or_throw(std::string_view
      algo,\n                                                      Cipher_Dir dir,\n
      \                                                     std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/modes/aead/aead.cpp:55,1
    - Dst: std::make_unique<ChaCha20Poly1305_Encryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:59,1
    - Dst: std::make_unique<ChaCha20Poly1305_Decryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:61,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/modes/aead/aead.cpp:66,1
    - Dst: split_on
      Src: /src/botan/src/lib/modes/aead/aead.cpp:67,1
    - Dst: parse_algorithm_name
      Src: /src/botan/src/lib/modes/aead/aead.cpp:69,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/modes/aead/aead.cpp:71,1
    - Dst: std::unique_ptr<AEAD_Mode>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:72,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/modes/aead/aead.cpp:78,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/modes/aead/aead.cpp:81,1
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/lib/modes/aead/aead.cpp:86,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/modes/aead/aead.cpp:86,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/modes/aead/aead.cpp:93,1
    - Dst: std::unique_ptr<AEAD_Mode>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:94,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/modes/aead/aead.cpp:97,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/modes/aead/aead.cpp:97,1
    - Dst: std::unique_ptr<AEAD_Mode>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:100,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/aead/aead.cpp:104,1
    - Dst: std::make_unique<CCM_Encryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:108,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:108,1
    - Dst: std::make_unique<CCM_Decryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:110,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:110,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/aead/aead.cpp:116,1
    - Dst: std::make_unique<GCM_Encryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:119,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:119,1
    - Dst: std::make_unique<GCM_Decryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:121,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:121,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/aead/aead.cpp:127,1
    - Dst: std::make_unique<OCB_Encryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:130,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:130,1
    - Dst: std::make_unique<OCB_Decryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:132,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:132,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/aead/aead.cpp:138,1
    - Dst: std::make_unique<EAX_Encryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:141,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:141,1
    - Dst: std::make_unique<EAX_Decryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:143,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:143,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/aead/aead.cpp:149,1
    - Dst: std::make_unique<SIV_Encryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:151,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:151,1
    - Dst: std::make_unique<SIV_Decryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:153,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:153,1
    - Dst: std::unique_ptr<AEAD_Mode>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:160,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 3
    argNames:
    - algo
    - dir
    - provider
    argTypes:
    - std::string_view
    - Cipher_Dir
    - std::string_view
    constantsTouched: []
    func_position:
      end: 161
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 161
    functionName: Botan::AEAD_Mode::create
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.cpp
    functionUses: 9
    functionsReached:
    - std::move
    - std::ostringstream::str
    - split_on
    - std::make_unique<GCM_Encryption>
    - std::make_unique<OCB_Encryption>
    - std::make_unique<SIV_Decryption>
    - SCAN_Name::arg
    - std::make_unique<SIV_Encryption>
    - std::make_unique<EAX_Encryption>
    - std::string_view::find
    - std::make_unique<EAX_Decryption>
    - std::unique_ptr<AEAD_Mode>
    - Botan::AEAD_Mode::create
    - std::make_unique<CCM_Encryption>
    - std::make_unique<ChaCha20Poly1305_Encryption>
    - SCAN_Name::algo_name
    - BOTAN_UNUSED
    - std::vector::size
    - SCAN_Name::arg_count
    - std::make_unique<GCM_Decryption>
    - parse_algorithm_name
    - std::make_unique<CCM_Decryption>
    - std::make_unique<ChaCha20Poly1305_Decryption>
    - std::vector::empty
    - std::make_unique<OCB_Decryption>
    - Botan::BlockCipher::create
    linkageType: ''
    returnType: std::unique_ptr<AEAD_Mode>
    signature: std::unique_ptr<AEAD_Mode> AEAD_Mode::create(std::string_view algo,
      Cipher_Dir dir, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::EAX_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_nonce_length(size_t) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::EAX_Mode::tag_size
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tag_size() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::block_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::EAX_Mode::block_size
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 1
    functionsReached:
    - Botan::EAX_Mode::block_size
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: Botan::EAX_Encryption::EAX_Encryption
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EAX_Encryption(std::unique_ptr<BlockCipher> cipher, size_t tag_size
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::EAX_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan::EAX_Encryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: Botan::EAX_Decryption::EAX_Decryption
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EAX_Decryption(std::unique_ptr<BlockCipher> cipher, size_t tag_size
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:106,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:106,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: Botan::EAX_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::EAX_Decryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:27,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:29,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:30,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - tag
    - block_size
    - ' mac'
    - in
    - length
    argTypes:
    - uint8_t
    - size_t
    - MessageAuthenticationCode
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: Botan::eax_prf
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - Botan::final
    - Botan::update
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> eax_prf(\n   uint8_t tag, size_t block_size,
      MessageAuthenticationCode& mac, const uint8_t in[], size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:41,1
    - Dst: std::make_unique<CTR_BE>
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:42,1
    - Dst: new_object
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:42,1
    - Dst: std::make_unique<CMAC>
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:43,1
    - Dst: new_object
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:43,1
    - Dst: output_length
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:44,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:45,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:45,1
    - Dst: Botan::EAX_Mode::name
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - tag_size
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: Botan::EAX_Mode::EAX_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<CTR_BE>
    - new_object
    - Invalid_Argument
    - output_length
    - fmt
    - std::make_unique<CMAC>
    - Botan::EAX_Mode::name
    linkageType: ''
    returnType: void
    signature: void EAX_Mode::EAX_Mode(std::unique_ptr<BlockCipher> cipher, size_t
      tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:50,1
    - Dst: Botan::EAX_Mode::clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:51,1
    - Dst: Botan::EAX_Mode::clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:52,1
    - Dst: Botan::EAX_Mode::reset
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: Botan::EAX_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 1
    functionsReached:
    - Botan::EAX_Mode::clear
    - Botan::EAX_Mode::reset
    linkageType: ''
    returnType: void
    signature: void EAX_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:57,1
    - Dst: Botan::EAX_Mode::clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:58,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: Botan::EAX_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 1
    functionsReached:
    - Botan::EAX_Mode::clear
    - final
    linkageType: ''
    returnType: void
    signature: void EAX_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::name
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Botan::EAX_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 2
    functionsReached:
    - Botan::EAX_Mode::name
    linkageType: ''
    returnType: std::string
    signature: std::string EAX_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan::EAX_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t EAX_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::EAX_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - parallel_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t EAX_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::key_spec
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Botan::EAX_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 1
    functionsReached:
    - Botan::EAX_Mode::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification EAX_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:83,1
    - Dst: Botan::EAX_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Botan::EAX_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 1
    functionsReached:
    - Botan::EAX_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool EAX_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:94,1
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: Botan::EAX_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void EAX_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:102,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:103,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:104,1
    - Dst: eax_prf
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:106,1
    - Dst: Botan::EAX_Mode::block_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:106,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:106,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: Botan::EAX_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - Botan::EAX_Mode::block_size
    - empty
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - Invalid_State
    - eax_prf
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void EAX_Mode::set_associated_data_n(size_t idx, std::span<const uint8_t>
      ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:110,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:111,1
    - Dst: Botan::EAX_Mode::name
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:111,1
    - Dst: eax_prf
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:114,1
    - Dst: Botan::EAX_Mode::block_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:114,1
    - Dst: set_iv
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:116,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:116,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:116,1
    - Dst: Botan::EAX_Mode::block_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:118,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:119,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: Botan::EAX_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - Invalid_IV_Length
    - Botan::EAX_Mode::block_size
    - update
    - data
    - set_iv
    - size
    - eax_prf
    - Botan::EAX_Mode::valid_nonce_length
    - Botan::EAX_Mode::name
    linkageType: ''
    returnType: void
    signature: void EAX_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:125,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:125,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:126,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Botan::EAX_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - update
    - empty
    - BOTAN_STATE_CHECK
    - cipher
    linkageType: ''
    returnType: size_t
    signature: size_t EAX_Encryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:132,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:132,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:133,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:135,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:136,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:136,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:138,1
    - Dst: eax_prf
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:139,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:139,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:142,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:142,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:144,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:144,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:144,1
    - Dst: clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: Botan::EAX_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - block_size
    - clear
    - update
    - secure_vector::data
    - empty
    - std::make_pair
    - tag_size
    - eax_prf
    - secure_vector::size
    - xor_buf
    - BOTAN_STATE_CHECK
    - final
    linkageType: ''
    returnType: void
    signature: void EAX_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:150,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:150,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:151,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: Botan::EAX_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - update
    - empty
    - BOTAN_STATE_CHECK
    - cipher
    linkageType: ''
    returnType: size_t
    signature: size_t EAX_Decryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:157,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:157,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:161,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:161,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:166,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:167,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:172,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:175,1
    - Dst: eax_prf
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:176,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:176,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:183,1
    - Dst: clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:185,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 190
    functionName: Botan::EAX_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - block_size
    - clear
    - update
    - cipher
    - empty
    - Invalid_Authentication_Tag
    - eax_prf
    - tag_size
    - size
    - BOTAN_ARG_CHECK
    - resize
    - final
    linkageType: ''
    returnType: void
    signature: void EAX_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<BlockCipher>::name
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:21,1
    - Dst: std::unique_ptr<BlockCipher>::block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:22,1
    - Dst: std::make_unique<CTR_BE>
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:23,1
    - Dst: std::unique_ptr<BlockCipher>::new_object
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:23,1
    - Dst: std::make_unique<CMAC>
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:24,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:24,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: Botan::SIV_Mode::SIV_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<CTR_BE>
    - std::unique_ptr<BlockCipher>::new_object
    - std::unique_ptr<BlockCipher>::block_size
    - std::unique_ptr<BlockCipher>::name
    - Invalid_Argument
    - std::make_unique<CMAC>
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::SIV_Mode(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: SIV_Mode::~SIV_Mode()
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::~SIV_Mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:34,1
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:35,1
    - Dst: Botan::SIV_Mode::reset
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Botan::SIV_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIV_Mode::reset
    - Botan::SIV_Mode::clear
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:40,1
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:41,1
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: Botan::SIV_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIV_Mode::clear
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::SIV_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SIV_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::SIV_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SIV_Mode::valid_nonce_length(size_t /*nonce_len*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::SIV_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SIV_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: Botan::SIV_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SIV_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Botan::SIV_Mode::requires_entire_message
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SIV_Mode::requires_entire_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIV_Mode::key_spec
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Botan::SIV_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIV_Mode::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification SIV_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIV_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:71,1
    - Dst: Botan::SIV_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan::SIV_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIV_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool SIV_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:76,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:76,1
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:77,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:77,1
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: Botan::SIV_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIV_Mode::clear
    - std::span<const uint8_t>::last
    - set_key
    - std::span<const uint8_t>::first
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Botan::SIV_Mode::maximum_associated_data_inputs
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t SIV_Mode::maximum_associated_data_inputs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:88,1
    - Dst: Botan::SIV_Mode::name
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:88,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:88,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:91,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:92,1
    - Dst: process
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - n
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: Botan::SIV_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Invalid_Argument
    - process
    - size
    - Botan::SIV_Mode::name
    - resize
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::set_associated_data_n(size_t n, std::span<const uint8_t>
      ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIV_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:99,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:100,1
    - Dst: Botan::SIV_Mode::name
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:100,1
    - Dst: process
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:104,1
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:106,1
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: Botan::SIV_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIV_Mode::valid_nonce_length
    - Invalid_IV_Length
    - Botan::SIV_Mode::clear
    - process
    - Botan::SIV_Mode::name
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:114,1
    - Dst: end
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: Botan::SIV_Mode::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    linkageType: ''
    returnType: size_t
    signature: size_t SIV_Mode::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:121,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:121,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:123,1
    - Dst: poly_double_n
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:124,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:124,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:124,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:128,1
    - Dst: poly_double_n
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:129,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:129,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:129,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:133,1
    - Dst: poly_double_n
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:134,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:134,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:134,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:135,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:135,1
    - Dst: process
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:137,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:140,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:140,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:141,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:141,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:141,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:141,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:142,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - text
    - text_len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 145
    functionName: Botan::SIV_Mode::S2V
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - block_size
    - update
    - empty
    - process
    - size
    - final
    - poly_double_n
    - secure_vector::size
    - xor_buf
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> SIV_Mode::S2V(const uint8_t* text, size_t text_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctr
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:151,1
    - Dst: secure_vector<uint8_t>::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:151,1
    - Dst: secure_vector<uint8_t>::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - V
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: Botan::SIV_Mode::set_ctr_iv
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - ctr
    - secure_vector<uint8_t>::data
    - secure_vector<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::set_ctr_iv(secure_vector<uint8_t> V)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:155,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:155,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:157,1
    - Dst: begin
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:157,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:157,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:157,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:158,1
    - Dst: S2V
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:160,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:160,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:160,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:162,1
    - Dst: begin
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:162,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:162,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:162,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:164,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:164,1
    - Dst: set_ctr_iv
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:165,1
    - Dst: ctr
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:166,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:166,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:166,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 168
    functionName: Botan::SIV_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - data
    - S2V
    - insert
    - ctr
    - size
    - msg_buf
    - BOTAN_ARG_CHECK
    - set_ctr_iv
    - secure_vector::size
    - begin
    - secure_vector::end
    - secure_vector::begin
    linkageType: ''
    returnType: void
    signature: void SIV_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:171,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:171,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:173,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:174,1
    - Dst: begin
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:174,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:174,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:174,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:175,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:180,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:180,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:182,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:182,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:182,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:184,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:184,1
    - Dst: set_ctr_iv
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:185,1
    - Dst: ctr
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:187,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:187,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:187,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:187,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:187,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:187,1
    - Dst: S2V
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:190,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:190,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:190,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:190,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:192,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:192,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:192,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:192,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:193,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:196,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:196,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: Botan::SIV_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - block_size
    - Botan::CT::is_equal
    - data
    - resize
    - S2V
    - Invalid_Authentication_Tag
    - insert
    - ctr
    - size
    - msg_buf
    - BOTAN_ARG_CHECK
    - tag_size
    - set_ctr_iv
    - secure_vector::size
    - begin
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void SIV_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: Botan::AEAD_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API AEAD_Mode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: Botan::SIV_Encryption
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API SIV_Encryption
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/siv/siv.h:115,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.h:115,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: SIV_Decryption
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    - tag_size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API SIV_Decryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.h
    functionUses: 5
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::GCM_Mode::tag_size
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tag_size() const override final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: Botan::GCM_Encryption::GCM_Encryption
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GCM_Encryption(std::unique_ptr<BlockCipher> cipher, size_t tag_size
      = 16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::GCM_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::GCM_Encryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: Botan::GCM_Decryption::GCM_Decryption
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GCM_Decryption(std::unique_ptr<BlockCipher> cipher, size_t tag_size
      = 16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:105,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:105,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: Botan::GCM_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan::GCM_Decryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<BlockCipher>::name
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:25,1
    - Dst: std::unique_ptr<BlockCipher>::block_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:26,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:27,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:33,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:33,1
    - Dst: Botan::GCM_Mode::name
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:33,1
    - Dst: std::make_unique<CTR_BE>
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:36,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:36,1
    - Dst: std::make_unique<GHASH>
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - cipher
    - tag_size
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: Botan::GCM_Mode::GCM_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<CTR_BE>
    - Botan::GCM_Mode::name
    - std::unique_ptr<BlockCipher>::block_size
    - Invalid_Argument
    - fmt
    - std::unique_ptr<BlockCipher>::name
    - std::make_unique<GHASH>
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::GCM_Mode(std::unique_ptr<BlockCipher> cipher, size_t
      tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: GCM_Mode::~GCM_Mode()
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::~GCM_Mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:43,1
    - Dst: Botan::GCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:44,1
    - Dst: Botan::GCM_Mode::reset
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Botan::GCM_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 1
    functionsReached:
    - Botan::GCM_Mode::clear
    - Botan::GCM_Mode::reset
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GCM_Mode::reset
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::GCM_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 2
    functionsReached:
    - Botan::GCM_Mode::reset
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:53,1
    - Dst: Botan::GCM_Mode::tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::GCM_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 1
    functionsReached:
    - Botan::GCM_Mode::tag_size
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string GCM_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GCM_Mode::provider
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::GCM_Mode::provider
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 1
    functionsReached:
    - Botan::GCM_Mode::provider
    linkageType: ''
    returnType: std::string
    signature: std::string GCM_Mode::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Botan::GCM_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GCM_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::GCM_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - std::max<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GCM_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Botan::GCM_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GCM_Mode::valid_nonce_length(size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GCM_Mode::key_spec
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Botan::GCM_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 1
    functionsReached:
    - Botan::GCM_Mode::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification GCM_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GCM_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: Botan::GCM_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 1
    functionsReached:
    - Botan::GCM_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool GCM_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:82,1
    - Dst: set_iv
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:85,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:85,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:85,1
    - Dst: encipher
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:88,1
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: Botan::GCM_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - set_key
    - encipher
    - set_iv
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:93,1
    - Dst: set_associated_data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: Botan::GCM_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - set_associated_data
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::set_associated_data_n(size_t idx, std::span<const uint8_t>
      ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GCM_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:98,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:99,1
    - Dst: Botan::GCM_Mode::name
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:99,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:102,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:103,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:106,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:106,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:106,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:109,1
    - Dst: nonce_hash
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:112,1
    - Dst: std::span<uint8_t, GCM_BS>
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:112,1
    - Dst: set_iv
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:115,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:115,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:115,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:117,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:117,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:117,1
    - Dst: encipher
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:118,1
    - Dst: start
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:120,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:121,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:121,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 122
    functionName: Botan::GCM_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - start
    - Invalid_IV_Length
    - encipher
    - Botan::GCM_Mode::name
    - data
    - copy_mem
    - set_iv
    - std::span<uint8_t, GCM_BS>
    - size
    - nonce_hash
    - Botan::GCM_Mode::valid_nonce_length
    - resize
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:125,1
    - Dst: update_granularity
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:125,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:126,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Botan::GCM_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - update_granularity
    - update
    - cipher
    linkageType: ''
    returnType: size_t
    signature: size_t GCM_Encryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:132,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:132,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:136,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:137,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:140,1
    - Dst: std::span
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:140,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:140,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:141,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:141,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: Botan::GCM_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - std::array::data
    - update
    - std::make_pair
    - size
    - cipher
    - BOTAN_ARG_CHECK
    - tag_size
    - final
    linkageType: ''
    returnType: void
    signature: void GCM_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:145,1
    - Dst: update_granularity
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:145,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:146,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: Botan::GCM_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - update_granularity
    - update
    - cipher
    linkageType: ''
    returnType: size_t
    signature: size_t GCM_Decryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:152,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:152,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:156,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:156,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:162,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:163,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:167,1
    - Dst: std::span
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:167,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:167,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:171,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:171,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:171,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:172,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 176
    functionName: Botan::GCM_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - Botan::CT::is_equal
    - std::array::data
    - update
    - cipher
    - Invalid_Authentication_Tag
    - tag_size
    - size
    - BOTAN_ARG_CHECK
    - resize
    - final
    linkageType: ''
    returnType: void
    signature: void GCM_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::ChaCha20Poly1305_Mode::associated_data_requires_key
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool associated_data_requires_key() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::ChaCha20Poly1305_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::ChaCha20Poly1305_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::ChaCha20Poly1305_Mode::tag_size
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tag_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::ChaCha20Poly1305_Mode::cfrg_version
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cfrg_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::ChaCha20Poly1305_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::ChaCha20Poly1305_Encryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h:91,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h:91,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: Botan::ChaCha20Poly1305_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::ChaCha20Poly1305_Decryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:17,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:17,1
    - Dst: Algorithm_Not_Found
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:19,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: Botan::ChaCha20Poly1305_Mode::ChaCha20Poly1305_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - Algorithm_Not_Found
    - Botan::StreamCipher::create
    - Botan::MessageAuthenticationCode::create
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::ChaCha20Poly1305_Mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::ChaCha20Poly1305_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ChaCha20Poly1305_Mode::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan::ChaCha20Poly1305_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha20Poly1305_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::ChaCha20Poly1305_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha20Poly1305_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ChaCha20Poly1305_Mode::clear
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:36,1
    - Dst: Botan::ChaCha20Poly1305_Mode::clear
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:37,1
    - Dst: Botan::ChaCha20Poly1305_Mode::reset
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::ChaCha20Poly1305_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 1
    functionsReached:
    - Botan::ChaCha20Poly1305_Mode::clear
    - Botan::ChaCha20Poly1305_Mode::reset
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ChaCha20Poly1305_Mode::clear
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: Botan::ChaCha20Poly1305_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 1
    functionsReached:
    - Botan::ChaCha20Poly1305_Mode::clear
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ChaCha20Poly1305_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::ChaCha20Poly1305_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 1
    functionsReached:
    - Botan::ChaCha20Poly1305_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool ChaCha20Poly1305_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::ChaCha20Poly1305_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:56,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:58,1
    - Dst: assign
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:60,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:60,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: Botan::ChaCha20Poly1305_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - Invalid_State
    - BOTAN_ARG_CHECK
    - assign
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::set_associated_data_n(size_t idx, std::span<const
      uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_le
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:65,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:65,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Botan::ChaCha20Poly1305_Mode::update_len
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - store_le
    - update
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::update_len(size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ChaCha20Poly1305_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:70,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:71,1
    - Dst: Botan::ChaCha20Poly1305_Mode::name
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:71,1
    - Dst: set_iv
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:77,1
    - Dst: write_keystream
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:80,1
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:82,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:84,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:86,1
    - Dst: Botan::ChaCha20Poly1305_Mode::cfrg_version
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:88,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:89,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:91,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:91,1
    - Dst: Botan::ChaCha20Poly1305_Mode::update_len
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:94,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: Botan::ChaCha20Poly1305_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - Botan::ChaCha20Poly1305_Mode::update_len
    - Botan::ChaCha20Poly1305_Mode::name
    - set_key
    - Botan::ChaCha20Poly1305_Mode::cfrg_version
    - Invalid_IV_Length
    - Botan::ChaCha20Poly1305_Mode::valid_nonce_length
    - update
    - secure_scrub_memory
    - set_iv
    - write_keystream
    - size
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::start_msg(const uint8_t nonce[], size_t
      nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher1
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:99,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: Botan::ChaCha20Poly1305_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - cipher1
    - update
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha20Poly1305_Encryption::process_msg(uint8_t buf[], size_t
      sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:106,1
    - Dst: cfrg_version
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:107,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:110,1
    - Dst: update_len
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:112,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:112,1
    - Dst: update_len
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:114,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:116,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:116,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:116,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:117,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:117,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: Botan::ChaCha20Poly1305_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - update
    - update_len
    - cfrg_version
    - size
    - tag_size
    - resize
    - final
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Encryption::finish_msg(secure_vector<uint8_t>&
      buffer, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:123,1
    - Dst: cipher1
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: Botan::ChaCha20Poly1305_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - cipher1
    - update
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha20Poly1305_Decryption::process_msg(uint8_t buf[], size_t
      sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:130,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:130,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:134,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:134,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:139,1
    - Dst: cipher1
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:140,1
    - Dst: cfrg_version
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:144,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:147,1
    - Dst: update_len
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:149,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:149,1
    - Dst: update_len
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:152,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:155,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:162,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:162,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:163,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 166
    functionName: Botan::ChaCha20Poly1305_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - update
    - update_len
    - Invalid_Authentication_Tag
    - cfrg_version
    - tag_size
    - size
    - BOTAN_ARG_CHECK
    - resize
    - cipher1
    - final
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Decryption::finish_msg(secure_vector<uint8_t>&
      buffer, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OCB_Mode
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:62,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 93
    functionName: Botan::AEAD_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.h
    functionUses: 0
    functionsReached:
    - OCB_Mode
    - Botan::size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API AEAD_Mode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Encryption
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:101,1
    - Dst: OCB_Mode
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:102,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:102,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: Botan::OCB_Encryption
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.h
    functionUses: 1
    functionsReached:
    - std::move
    - OCB_Mode
    - Botan::OCB_Encryption
    - tag_size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API OCB_Encryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Decryption
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:120,1
    - Dst: OCB_Mode
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:121,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:121,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:124,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:124,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:125,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: Botan::OCB_Decryption
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.h
    functionUses: 1
    functionsReached:
    - std::move
    - OCB_Mode
    - BOTAN_ASSERT
    - Botan::OCB_Decryption
    - tag_size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API OCB_Decryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:23,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:23,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:24,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:25,1
    - Dst: Botan::L_computer::poly_double
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:26,1
    - Dst: star
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:26,1
    - Dst: reserve
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:37,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:38,1
    - Dst: Botan::L_computer::poly_double
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:38,1
    - Dst: dollar
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:38,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:40,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:41,1
    - Dst: Botan::L_computer::poly_double
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:41,1
    - Dst: back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:41,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' cipher'
    argTypes:
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 45
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 45
    functionName: Botan::L_computer::L_computer
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - parallel_bytes
    - block_size
    - back
    - dollar
    - reserve
    - encrypt
    - Botan::L_computer::poly_double
    - size
    - resize
    - star
    - push_back
    linkageType: ''
    returnType: void
    signature: void L_computer(const BlockCipher& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' offset'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::L_computer::init
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(const secure_vector<uint8_t>& offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::L_computer::initialized
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool initialized() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& star() const'
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & star() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& dollar() const'
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & dollar() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& offset() const'
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & offset() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:58,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:59,1
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:59,1
    - Dst: back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: '& get(size_t i) const'
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::poly_double
    - back
    - Botan::size
    - push_back
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & get(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:66,1
    - Dst: get
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:71,1
    - Dst: get
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:72,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:81,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:81,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:81,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:84,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:84,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:87,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:87,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:87,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:88,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:88,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:91,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:91,1
    - Dst: get
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:91,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:92,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:92,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:101,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:101,1
    - Dst: get
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:101,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:102,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:102,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - block_index
    - blocks
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 107
    functionName: Botan::L_computer::compute_offsets
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    - BOTAN_ASSERT
    - get
    - xor_buf
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * compute_offsets(size_t block_index, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:111,1
    - Dst: poly_double_n
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:112,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:112,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:112,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: Botan::L_computer::poly_double
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 1
    functionsReached:
    - data
    - size
    - poly_double_n
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> poly_double(const secure_vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:140,1
    - Dst: Botan::var_ctz32
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:140,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:140,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:142,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:142,1
    - Dst: Botan::encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:143,1
    - Dst: star
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:148,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:150,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:150,1
    - Dst: Botan::encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - ' L'
    - ' cipher'
    - ad
    - ad_len
    argTypes:
    - L_computer
    - BlockCipher
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 157
    functionName: Botan::ocb_hash
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - star
    - Botan::var_ctz32
    - Botan::encrypt
    - Botan::get
    - Botan::xor_buf
    - static_cast<uint32_t>
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ocb_hash(const L_computer& L, const BlockCipher&
      cipher, const uint8_t ad[], size_t ad_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:162,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:163,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:164,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:166,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:167,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:175,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - cipher
    - tag_size
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: Botan::OCB_Mode::OCB_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - parallel_bytes
    - BOTAN_ARG_CHECK
    - block_size
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::OCB_Mode(std::unique_ptr<BlockCipher> cipher, size_t
      tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: OCB_Mode::~OCB_Mode()
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::~OCB_Mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:184,1
    - Dst: Botan::OCB_Mode::reset
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:185,1
    - Dst: Botan::OCB_Mode::reset
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: Botan::OCB_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 1
    functionsReached:
    - Botan::OCB_Mode::reset
    - Botan::OCB_Mode::clear
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:191,1
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:192,1
    - Dst: Botan::OCB_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:193,1
    - Dst: Botan::OCB_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: Botan::OCB_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 1
    functionsReached:
    - zeroise
    - Botan::OCB_Mode::clear
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:201,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: Botan::OCB_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: bool
    signature: bool OCB_Mode::valid_nonce_length(size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Mode::name
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Botan::OCB_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 1
    functionsReached:
    - Botan::OCB_Mode::name
    linkageType: ''
    returnType: std::string
    signature: std::string OCB_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: Botan::OCB_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t OCB_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: Botan::OCB_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t OCB_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Mode::key_spec
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: Botan::OCB_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 1
    functionsReached:
    - Botan::OCB_Mode::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification OCB_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: Botan::OCB_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 1
    functionsReached:
    - Botan::OCB_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool OCB_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:229,1
    - Dst: std::make_unique<L_computer>
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: Botan::OCB_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<L_computer>
    - set_key
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:234,1
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:235,1
    - Dst: ocb_hash
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:236,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:236,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: Botan::OCB_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - BOTAN_ARG_CHECK
    - ocb_hash
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::set_associated_data_n(size_t idx, std::span<const uint8_t>
      ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:242,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:249,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:250,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:250,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:252,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:253,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:253,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:265,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:289,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:293,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:297,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:301,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:312,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:312,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:314,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 321
    functionName: '& OCB_Mode::update_nonce(const uint8_t nonce[], size_t nonce_len)'
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - copy_mem
    - static_cast<uint8_t>
    - encrypt
    - BOTAN_ASSERT
    - size
    - tag_size
    - resize
    - push_back
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & OCB_Mode::update_nonce(const uint8_t nonce[],
      size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:324,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:325,1
    - Dst: Botan::OCB_Mode::name
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:325,1
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:328,1
    - Dst: init
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:330,1
    - Dst: update_nonce
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:330,1
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: Botan::OCB_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Invalid_IV_Length
    - init
    - zeroise
    - Botan::OCB_Mode::name
    - update_nonce
    - Botan::OCB_Mode::valid_nonce_length
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:336,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:337,1
    - Dst: initialized
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:337,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:347,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:347,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:349,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:350,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - blocks
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 357
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 357
    functionName: Botan::OCB_Encryption::encrypt
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - initialized
    - data
    - encrypt_n
    - xor_buf
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void OCB_Encryption::encrypt(uint8_t buffer[], size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:360,1
    - Dst: update_granularity
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:360,1
    - Dst: Botan::OCB_Encryption::encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:361,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: Botan::OCB_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - block_size
    - update_granularity
    - Botan::OCB_Encryption::encrypt
    linkageType: ''
    returnType: size_t
    signature: size_t OCB_Encryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:366,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:367,1
    - Dst: initialized
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:367,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:371,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:371,1
    - Dst: Botan::OCB_Encryption::encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:381,1
    - Dst: offset
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:382,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:385,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:388,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:388,1
    - Dst: star
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:392,1
    - Dst: Botan::OCB_Encryption::encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:395,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:396,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:396,1
    - Dst: offset
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:399,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:405,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:406,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:406,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:406,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:409,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:409,1
    - Dst: dollar
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:409,1
    - Dst: Botan::OCB_Encryption::encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:410,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:411,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:411,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:411,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:413,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:413,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:413,1
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 417
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 417
    functionName: Botan::OCB_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - initialized
    - data
    - secure_vector::data
    - Botan::OCB_Encryption::encrypt
    - zeroise
    - dollar
    - std::make_pair
    - BOTAN_ASSERT
    - size
    - tag_size
    - BOTAN_ARG_CHECK
    - offset
    - xor_buf
    - BOTAN_STATE_CHECK
    - star
    linkageType: ''
    returnType: void
    signature: void OCB_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:420,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:421,1
    - Dst: initialized
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:421,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:431,1
    - Dst: decrypt_n
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:432,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:433,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:435,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - blocks
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 441
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 441
    functionName: Botan::OCB_Decryption::decrypt
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - initialized
    - data
    - decrypt_n
    - xor_buf
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void OCB_Decryption::decrypt(uint8_t buffer[], size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:444,1
    - Dst: update_granularity
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:444,1
    - Dst: Botan::OCB_Decryption::decrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:445,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: Botan::OCB_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - update_granularity
    - block_size
    - Botan::OCB_Decryption::decrypt
    linkageType: ''
    returnType: size_t
    signature: size_t OCB_Decryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:450,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:451,1
    - Dst: initialized
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:451,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:455,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:455,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:459,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:459,1
    - Dst: Botan::OCB_Decryption::decrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:469,1
    - Dst: offset
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:470,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:473,1
    - Dst: star
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:477,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:479,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:480,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:480,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:482,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:482,1
    - Dst: offset
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:486,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:492,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:493,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:493,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:493,1
    - Dst: dollar
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:496,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:497,1
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:501,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:507,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:507,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:507,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:508,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 513
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 513
    functionName: Botan::OCB_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - initialized
    - Invalid_Authentication_Tag
    - offset
    - star
    - Botan::CT::is_equal
    - data
    - BOTAN_ARG_CHECK
    - assert_key_material_set
    - zeroise
    - dollar
    - tag_size
    - Botan::OCB_Decryption::decrypt
    - resize
    - xor_buf
    - BOTAN_STATE_CHECK
    - secure_vector::data
    - encrypt
    - BOTAN_ASSERT
    - size
    linkageType: ''
    returnType: void
    signature: void OCB_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:24,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:25,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:26,1
    - Dst: Botan::CCM_Mode::name
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:26,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:30,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:30,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:34,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:34,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - cipher
    - tag_size
    - L
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: Botan::CCM_Mode::CCM_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - block_size
    - Botan::CCM_Mode::name
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::CCM_Mode(std::unique_ptr<BlockCipher> cipher, size_t
      tag_size, size_t L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:39,1
    - Dst: Botan::CCM_Mode::reset
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: Botan::CCM_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 1
    functionsReached:
    - Botan::CCM_Mode::clear
    - Botan::CCM_Mode::reset
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:44,1
    - Dst: Botan::CCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:45,1
    - Dst: Botan::CCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: Botan::CCM_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 1
    functionsReached:
    - Botan::CCM_Mode::clear
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:50,1
    - Dst: Botan::CCM_Mode::name
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:50,1
    - Dst: Botan::CCM_Mode::tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:50,1
    - Dst: Botan::CCM_Mode::L
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::CCM_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::CCM_Mode::name
    - Botan::CCM_Mode::tag_size
    - Botan::CCM_Mode::L
    linkageType: ''
    returnType: std::string
    signature: std::string CCM_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::L
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::CCM_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - Botan::CCM_Mode::L
    linkageType: ''
    returnType: bool
    signature: bool CCM_Mode::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::L
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::CCM_Mode::default_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - Botan::CCM_Mode::L
    linkageType: ''
    returnType: size_t
    signature: size_t CCM_Mode::default_nonce_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::CCM_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CCM_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Botan::CCM_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - parallel_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t CCM_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan::CCM_Mode::requires_entire_message
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CCM_Mode::requires_entire_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::key_spec
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::CCM_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 1
    functionsReached:
    - Botan::CCM_Mode::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification CCM_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Botan::CCM_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 1
    functionsReached:
    - Botan::CCM_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool CCM_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Botan::CCM_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:87,1
    - Dst: Botan::CCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:89,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:91,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:93,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:93,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:95,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:95,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:95,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:95,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:96,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:96,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:96,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:96,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:97,1
    - Dst: end
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:97,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:97,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:97,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:98,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: Botan::CCM_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - Botan::CCM_Mode::clear
    - std::span<const uint8_t>::begin
    - end
    - get_byte<1>
    - std::span<const uint8_t>::empty
    - std::span<const uint8_t>::end
    - insert
    - std::span<const uint8_t>::size
    - size
    - static_cast<uint16_t>
    - BOTAN_ARG_CHECK
    - get_byte<0>
    - push_back
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::set_associated_data_n(size_t idx, std::span<const uint8_t>
      ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:105,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:106,1
    - Dst: Botan::CCM_Mode::name
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:106,1
    - Dst: assign
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:109,1
    - Dst: Botan::CCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: Botan::CCM_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - Invalid_IV_Length
    - Botan::CCM_Mode::name
    - Botan::CCM_Mode::valid_nonce_length
    - Botan::CCM_Mode::clear
    - assign
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:114,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:114,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:115,1
    - Dst: end
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: Botan::CCM_Mode::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t CCM_Mode::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:122,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:125,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - len
    - out
    argTypes:
    - uint64_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: Botan::CCM_Mode::encode_length
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - get_byte_var
    - Encoding_Error
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::encode_length(uint64_t len, uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:134,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' C'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: Botan::CCM_Mode::inc
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::inc(secure_vector<uint8_t>& C)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:142,1
    - Dst: Botan::CCM_Mode::L
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:142,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:143,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:151,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:151,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:151,1
    - Dst: Botan::CCM_Mode::encode_length
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:152,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: Botan::CCM_Mode::format_b0
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    - Botan::CCM_Mode::encode_length
    - Botan::CCM_Mode::L
    - Invalid_State
    - size
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> CCM_Mode::format_b0(size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:158,1
    - Dst: Botan::CCM_Mode::L
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:158,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:159,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:166,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:166,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: Botan::CCM_Mode::format_c0
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    - Botan::CCM_Mode::L
    - Invalid_State
    - size
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> CCM_Mode::format_c0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:172,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:172,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:174,1
    - Dst: begin
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:174,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:174,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:174,1
    - Dst: ad_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:179,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:180,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:180,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:182,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:185,1
    - Dst: format_b0
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:185,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:187,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:188,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:188,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:189,1
    - Dst: format_c0
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:192,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:194,1
    - Dst: inc
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:195,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:204,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:204,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:205,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:207,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:208,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:208,1
    - Dst: inc
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:209,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:216,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:216,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:216,1
    - Dst: reset
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 219
    functionName: Botan::CCM_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - ad_buf
    - cipher
    - insert
    - format_c0
    - encrypt
    - format_b0
    - std::make_pair
    - reset
    - size
    - msg_buf
    - BOTAN_ARG_CHECK
    - inc
    - tag_size
    - xor_buf
    - begin
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void CCM_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:222,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:222,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:224,1
    - Dst: begin
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:224,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:224,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:224,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:229,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:229,1
    - Dst: ad_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:231,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:232,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:232,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:234,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:237,1
    - Dst: format_b0
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:237,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:237,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:239,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:240,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:240,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:241,1
    - Dst: format_c0
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:244,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:247,1
    - Dst: inc
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:248,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:257,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:258,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:258,1
    - Dst: inc
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:259,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:261,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:261,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:262,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:269,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:269,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:269,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:270,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:273,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:273,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:273,1
    - Dst: reset
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 276
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 276
    functionName: Botan::CCM_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - ad_buf
    - Botan::CT::is_equal
    - cipher
    - Invalid_Authentication_Tag
    - insert
    - format_c0
    - encrypt
    - format_b0
    - reset
    - size
    - msg_buf
    - BOTAN_ARG_CHECK
    - tag_size
    - resize
    - xor_buf
    - begin
    - secure_vector::data
    - inc
    linkageType: ''
    returnType: void
    signature: void CCM_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::CCM_Mode::associated_data_requires_key
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool associated_data_requires_key() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::CCM_Mode::tag_size
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tag_size() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::CCM_Mode::L
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t L() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& cipher() const'
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BlockCipher
    signature: BlockCipher & cipher() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '& ad_buf() const'
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & ad_buf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& msg_buf()'
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & msg_buf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: Botan::CCM_Encryption::CCM_Encryption
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CCM_Encryption(std::unique_ptr<BlockCipher> cipher, size_t tag_size
      = 16, size_t L = 3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::CCM_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::CCM_Encryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: Botan::CCM_Decryption::CCM_Decryption
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CCM_Decryption(std::unique_ptr<BlockCipher> cipher, size_t tag_size
      = 16, size_t L = 3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:121,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:121,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: Botan::CCM_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan::CCM_Decryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 101
    functionName: Botan::BlockCipherModePaddingMethod
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API BlockCipherModePaddingMethod
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: Botan::BlockCipherModePaddingMethod
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_FUZZER_API
    signature: class BOTAN_FUZZER_API BlockCipherModePaddingMethod
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: Botan::BlockCipherModePaddingMethod
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_FUZZER_API
    signature: class BOTAN_FUZZER_API BlockCipherModePaddingMethod
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: Botan::BlockCipherModePaddingMethod
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_FUZZER_API
    signature: class BOTAN_FUZZER_API BlockCipherModePaddingMethod
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: Botan::BlockCipherModePaddingMethod
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_FUZZER_API
    signature: class BOTAN_FUZZER_API BlockCipherModePaddingMethod
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::Null_Padding::add_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_padding(std::span<uint8_t>, size_t, size_t) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - last_block
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: Botan::Null_Padding::remove_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: size_t
    signature: size_t remove_padding(std::span<const uint8_t> last_block) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Botan::Null_Padding::valid_blocksize
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_blocksize(size_t) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: Botan::Null_Padding::output_length
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length, size_t) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Botan::Null_Padding::name
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: Botan::Null_Padding::apply_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void apply_padding(std::span<uint8_t>, size_t) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Null_Padding>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:22,1
    - Dst: std::make_unique<PKCS7_Padding>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:26,1
    - Dst: std::make_unique<OneAndZeros_Padding>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:30,1
    - Dst: std::make_unique<ANSI_X923_Padding>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:34,1
    - Dst: std::make_unique<ESP_Padding>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: Botan::BlockCipherModePaddingMethod::create
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<Null_Padding>
    - std::make_unique<PKCS7_Padding>
    - std::make_unique<ANSI_X923_Padding>
    - std::make_unique<ESP_Padding>
    - std::make_unique<OneAndZeros_Padding>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipherModePaddingMethod>
    signature: std::unique_ptr<BlockCipherModePaddingMethod> BlockCipherModePaddingMethod::create(std::string_view
      algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:45,1
    - Dst: valid_blocksize
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:45,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:46,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:47,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:47,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:48,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:48,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:50,1
    - Dst: apply_padding
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:51,1
    - Dst: std::span<uint8_t>::last
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buffer
    - last_byte_pos
    - BS
    argTypes:
    - std::span<uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: Botan::BlockCipherModePaddingMethod::add_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::last
    - std::span<uint8_t>::size
    - apply_padding
    - valid_blocksize
    - Botan::CT::scoped_poison
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void BlockCipherModePaddingMethod::add_padding(std::span<uint8_t> buffer,
      size_t last_byte_pos, size_t BS) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_blocksize
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:55,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:55,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:56,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:59,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:60,1
    - Dst: remove_padding
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - last_block
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: Botan::BlockCipherModePaddingMethod::unpad
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::driveby_unpoison
    - valid_blocksize
    - std::span<const uint8_t>::size
    - Botan::CT::scoped_poison
    - remove_padding
    linkageType: ''
    returnType: size_t
    signature: size_t BlockCipherModePaddingMethod::unpad(std::span<const uint8_t>
      last_block) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:78,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - last_block
    - padding_start_pos
    argTypes:
    - std::span<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: Botan::PKCS7_Padding::apply_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::is_gte
    - auto::select
    linkageType: ''
    returnType: void
    signature: void PKCS7_Padding::apply_padding(std::span<uint8_t> last_block, size_t
      padding_start_pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:94,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:100,1
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:103,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: Botan::PKCS7_Padding::remove_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - auto::select
    - Botan::CT::Mask::is_gt
    - Botan::CT::Mask::is_gte
    linkageType: ''
    returnType: size_t
    signature: size_t PKCS7_Padding::remove_padding(std::span<const uint8_t> input)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:125,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:126,1
    - Dst: std::span<uint8_t>::back
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - last_block
    - padding_start_pos
    argTypes:
    - std::span<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: Botan::ANSI_X923_Padding::apply_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::back
    - Botan::CT::Mask::is_gte
    - auto::select
    linkageType: ''
    returnType: void
    signature: void ANSI_X923_Padding::apply_padding(std::span<uint8_t> last_block,
      size_t padding_start_pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:139,1
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:145,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:146,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: Botan::ANSI_X923_Padding::remove_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    - Botan::CT::Mask::is_gt
    - Botan::CT::Mask::is_gte
    - auto::select
    linkageType: ''
    returnType: size_t
    signature: size_t ANSI_X923_Padding::remove_padding(std::span<const uint8_t> input)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:164,1
    - Dst: CT::Mask<uint8_t>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:165,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:165,1
    - Dst: CT::Mask<uint8_t>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:166,1
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:166,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:167,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - last_block
    - padding_start_pos
    argTypes:
    - std::span<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: Botan::OneAndZeros_Padding::apply_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - std::span<uint8_t>::size
    - Botan::CT::Mask::is_gt
    - CT::Mask<uint8_t>
    - auto::select
    linkageType: ''
    returnType: void
    signature: void OneAndZeros_Padding::apply_padding(std::span<uint8_t> last_block,
      size_t padding_start_pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:176,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:177,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:182,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:183,1
    - Dst: auto::if_not_set_return
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:186,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 192
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionName: Botan::OneAndZeros_Padding::remove_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - auto::if_not_set_return
    - Botan::sha512_msg_expand
    - Botan::CT::Mask::cleared
    - cryptofuzz_secp256k1_scalar_is_zero
    linkageType: ''
    returnType: size_t
    signature: size_t OneAndZeros_Padding::remove_padding(std::span<const uint8_t>
      input) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:210,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:211,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - last_block
    - padding_start_pos
    argTypes:
    - std::span<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: Botan::ESP_Padding::apply_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::is_gte
    - auto::select
    linkageType: ''
    returnType: void
    signature: void ESP_Padding::apply_padding(std::span<uint8_t> last_block, size_t
      padding_start_pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:223,1
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:223,1
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:227,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:228,1
    - Dst: CT::Mask<size_t>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:230,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: Botan::ESP_Padding::remove_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - CT::Mask<size_t>
    - Botan::CT::Mask::is_gt
    - cryptofuzz_secp256k1_scalar_is_zero
    - auto::select
    linkageType: ''
    returnType: size_t
    signature: size_t ESP_Padding::remove_padding(std::span<const uint8_t> input)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/modes/xts/xts.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::XTS_Mode::tweak
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * tweak() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/modes/xts/xts.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::XTS_Mode::tweak_set
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool tweak_set() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::XTS_Mode::tweak_blocks
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tweak_blocks() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& cipher() const'
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BlockCipher
    signature: BlockCipher & cipher() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::XTS_Mode::cipher_block_size
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cipher_block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/xts/xts.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::XTS_Encryption::XTS_Encryption
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void XTS_Encryption(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/xts/xts.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::XTS_Decryption::XTS_Decryption
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void XTS_Decryption(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/xts/xts.cpp:18,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:19,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/modes/xts/xts.cpp:20,1
    - Dst: poly_double_supported_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:22,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/xts/xts.cpp:23,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/xts/xts.cpp:23,1
    - Dst: Botan::XTS_Mode::name
      Src: /src/botan/src/lib/modes/xts/xts.cpp:23,1
    - Dst: new_object
      Src: /src/botan/src/lib/modes/xts/xts.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: Botan::XTS_Mode::XTS_Mode
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - parallel_bytes
    - block_size
    - new_object
    - poly_double_supported_size
    - Invalid_Argument
    - fmt
    - Botan::XTS_Mode::name
    linkageType: ''
    returnType: void
    signature: void XTS_Mode::XTS_Mode(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::clear
      Src: /src/botan/src/lib/modes/xts/xts.cpp:30,1
    - Dst: Botan::XTS_Mode::clear
      Src: /src/botan/src/lib/modes/xts/xts.cpp:31,1
    - Dst: Botan::XTS_Mode::reset
      Src: /src/botan/src/lib/modes/xts/xts.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: Botan::XTS_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 1
    functionsReached:
    - Botan::XTS_Mode::clear
    - Botan::XTS_Mode::reset
    linkageType: ''
    returnType: void
    signature: void XTS_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::XTS_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::XTS_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::clear
      Src: /src/botan/src/lib/modes/xts/xts.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::XTS_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 1
    functionsReached:
    - Botan::XTS_Mode::clear
    linkageType: ''
    returnType: void
    signature: void XTS_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::XTS_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 1
    functionsReached:
    - cipher
    linkageType: ''
    returnType: std::string
    signature: std::string XTS_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::cipher_block_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::XTS_Mode::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - Botan::XTS_Mode::cipher_block_size
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Mode::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::XTS_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - cipher
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification XTS_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::cipher_block_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::XTS_Mode::default_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - Botan::XTS_Mode::cipher_block_size
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Mode::default_nonce_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::cipher_block_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::XTS_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - Botan::XTS_Mode::cipher_block_size
    linkageType: ''
    returnType: bool
    signature: bool XTS_Mode::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/xts/xts.cpp:68,1
    - Dst: Botan::XTS_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/xts/xts.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::XTS_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 1
    functionsReached:
    - Botan::XTS_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool XTS_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:74,1
    - Dst: valid_keylength
      Src: /src/botan/src/lib/modes/xts/xts.cpp:74,1
    - Dst: Invalid_Key_Length
      Src: /src/botan/src/lib/modes/xts/xts.cpp:75,1
    - Dst: Botan::XTS_Mode::name
      Src: /src/botan/src/lib/modes/xts/xts.cpp:75,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:75,1
    - Dst: set_key
      Src: /src/botan/src/lib/modes/xts/xts.cpp:78,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/modes/xts/xts.cpp:78,1
    - Dst: set_key
      Src: /src/botan/src/lib/modes/xts/xts.cpp:79,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/modes/xts/xts.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: Botan::XTS_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::last
    - valid_keylength
    - set_key
    - std::span<const uint8_t>::first
    - std::span<const uint8_t>::size
    - Invalid_Key_Length
    - Botan::XTS_Mode::name
    linkageType: ''
    returnType: void
    signature: void XTS_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/xts/xts.cpp:83,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/xts/xts.cpp:84,1
    - Dst: Botan::XTS_Mode::name
      Src: /src/botan/src/lib/modes/xts/xts.cpp:84,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/xts/xts.cpp:87,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/modes/xts/xts.cpp:88,1
    - Dst: data
      Src: /src/botan/src/lib/modes/xts/xts.cpp:88,1
    - Dst: size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:88,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/xts/xts.cpp:89,1
    - Dst: data
      Src: /src/botan/src/lib/modes/xts/xts.cpp:89,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/xts/xts.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/modes/xts/xts.cpp:90,1
    - Dst: Botan::XTS_Mode::update_tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: Botan::XTS_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - Botan::XTS_Mode::update_tweak
    - Invalid_IV_Length
    - data
    - copy_mem
    - encrypt
    - size
    - Botan::XTS_Mode::valid_nonce_length
    - resize
    - Botan::XTS_Mode::name
    linkageType: ''
    returnType: void
    signature: void XTS_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poly_double_n_le
      Src: /src/botan/src/lib/modes/xts/xts.cpp:99,1
    - Dst: data
      Src: /src/botan/src/lib/modes/xts/xts.cpp:99,1
    - Dst: xts_update_tweak_block
      Src: /src/botan/src/lib/modes/xts/xts.cpp:104,1
    - Dst: data
      Src: /src/botan/src/lib/modes/xts/xts.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - which
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: Botan::XTS_Mode::update_tweak
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 1
    functionsReached:
    - xts_update_tweak_block
    - data
    - poly_double_n_le
    linkageType: ''
    returnType: void
    signature: void XTS_Mode::update_tweak(size_t which)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan::XTS_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Encryption::output_length(size_t input_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:112,1
    - Dst: tweak_set
      Src: /src/botan/src/lib/modes/xts/xts.cpp:112,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:115,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:124,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:124,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:125,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:126,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:126,1
    - Dst: update_tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: Botan::XTS_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - tweak
    - update_tweak
    - cipher
    - tweak_set
    - BOTAN_ARG_CHECK
    - xor_buf
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Encryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:138,1
    - Dst: size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:138,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:142,1
    - Dst: minimum_final_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:142,1
    - Dst: update
      Src: /src/botan/src/lib/modes/xts/xts.cpp:147,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/xts/xts.cpp:152,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/xts/xts.cpp:155,1
    - Dst: update
      Src: /src/botan/src/lib/modes/xts/xts.cpp:156,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:158,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:158,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:159,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:160,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:160,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:168,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:168,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:169,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:170,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 174
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 174
    functionName: Botan::XTS_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - update
    - tweak
    - BOTAN_ASSERT
    - size
    - cipher
    - BOTAN_ARG_CHECK
    - resize
    - xor_buf
    - minimum_final_size
    linkageType: ''
    returnType: void
    signature: void XTS_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Botan::XTS_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Decryption::output_length(size_t input_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:181,1
    - Dst: tweak_set
      Src: /src/botan/src/lib/modes/xts/xts.cpp:181,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:184,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:193,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:193,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:194,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:195,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:195,1
    - Dst: update_tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 204
    functionName: Botan::XTS_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - tweak
    - update_tweak
    - cipher
    - tweak_set
    - BOTAN_ARG_CHECK
    - xor_buf
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Decryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:207,1
    - Dst: size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:207,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:211,1
    - Dst: minimum_final_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:211,1
    - Dst: update
      Src: /src/botan/src/lib/modes/xts/xts.cpp:216,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/xts/xts.cpp:221,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/xts/xts.cpp:224,1
    - Dst: update
      Src: /src/botan/src/lib/modes/xts/xts.cpp:225,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:227,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:227,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:228,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:229,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:229,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:237,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:237,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:238,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:239,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 243
    functionName: Botan::XTS_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - update
    - tweak
    - BOTAN_ASSERT
    - size
    - cipher
    - BOTAN_ARG_CHECK
    - resize
    - xor_buf
    - minimum_final_size
    linkageType: ''
    returnType: void
    signature: void XTS_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& cipher() const'
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BlockCipher
    signature: BlockCipher & cipher() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/modes/cbc/cbc.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '& padding() const'
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: BlockCipherModePaddingMethod
    signature: BlockCipherModePaddingMethod & padding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::CBC_Mode::block_size
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& state()'
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/modes/cbc/cbc.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::CBC_Mode::state_ptr
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * state_ptr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.h:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cipher
    - padding
    argTypes:
    - std::unique_ptr<BlockCipher>
    - std::unique_ptr<BlockCipherModePaddingMethod>
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: Botan::CBC_Encryption::CBC_Encryption
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CBC_Encryption(std::unique_ptr<BlockCipher> cipher, std::unique_ptr<BlockCipherModePaddingMethod>
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::CTS_Encryption::CTS_Encryption
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CTS_Encryption(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.h:120,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.h:120,1
    - Dst: ideal_granularity
      Src: /src/botan/src/lib/modes/cbc/cbc.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cipher
    - padding
    argTypes:
    - std::unique_ptr<BlockCipher>
    - std::unique_ptr<BlockCipherModePaddingMethod>
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: Botan::CBC_Decryption::CBC_Decryption
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached:
    - std::move
    - ideal_granularity
    linkageType: ''
    returnType: void
    signature: void CBC_Decryption(std::unique_ptr<BlockCipher> cipher, std::unique_ptr<BlockCipherModePaddingMethod>
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan::CTS_Decryption::CTS_Decryption
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CTS_Decryption(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:20,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:20,1
    - Dst: Botan::CBC_Mode::block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:20,1
    - Dst: valid_blocksize
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:21,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:22,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:22,1
    - Dst: Botan::CBC_Mode::name
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:22,1
    - Dst: Botan::CBC_Mode::name
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - padding
    argTypes:
    - std::unique_ptr<BlockCipher>
    - std::unique_ptr<BlockCipherModePaddingMethod>
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: Botan::CBC_Mode::CBC_Mode
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CBC_Mode::block_size
    - valid_blocksize
    - Invalid_Argument
    - Botan::CBC_Mode::name
    - fmt
    linkageType: ''
    returnType: void
    signature: void CBC_Mode::CBC_Mode(std::unique_ptr<BlockCipher> cipher, std::unique_ptr<BlockCipherModePaddingMethod>
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::clear
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:27,1
    - Dst: Botan::CBC_Mode::reset
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: Botan::CBC_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 1
    functionsReached:
    - Botan::CBC_Mode::reset
    - Botan::CBC_Mode::clear
    linkageType: ''
    returnType: void
    signature: void CBC_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::clear
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::CBC_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 1
    functionsReached:
    - Botan::CBC_Mode::clear
    linkageType: ''
    returnType: void
    signature: void CBC_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:37,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:37,1
    - Dst: padding
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:37,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:39,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: Botan::CBC_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - padding
    - cipher
    linkageType: ''
    returnType: std::string
    signature: std::string CBC_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::CBC_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - cipher
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::CBC_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - cipher
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::CBC_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - cipher
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification CBC_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::CBC_Mode::default_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - Botan::CBC_Mode::block_size
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Mode::default_nonce_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::CBC_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - Botan::CBC_Mode::block_size
    linkageType: ''
    returnType: bool
    signature: bool CBC_Mode::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::CBC_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 1
    functionsReached:
    - Botan::CBC_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool CBC_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:68,1
    - Dst: Botan::CBC_Mode::clear
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: Botan::CBC_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - Botan::CBC_Mode::clear
    linkageType: ''
    returnType: void
    signature: void CBC_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:73,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:74,1
    - Dst: Botan::CBC_Mode::name
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:74,1
    - Dst: assign
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:83,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:84,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:85,1
    - Dst: Botan::CBC_Mode::block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: Botan::CBC_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - Invalid_IV_Length
    - Botan::CBC_Mode::block_size
    - empty
    - Botan::CBC_Mode::valid_nonce_length
    - Botan::CBC_Mode::name
    - resize
    - assign
    linkageType: ''
    returnType: void
    signature: void CBC_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::CBC_Encryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Encryption::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: padding
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:95,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::CBC_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - padding
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Encryption::output_length(size_t input_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:99,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:99,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:102,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:106,1
    - Dst: state_ptr
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:106,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:107,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:110,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:111,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 118
    functionName: Botan::CBC_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - state
    - xor_buf
    - cipher
    - BOTAN_ARG_CHECK
    - state_ptr
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Encryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:121,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:121,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:122,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:122,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:128,1
    - Dst: padding
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:129,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:131,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:131,1
    - Dst: update
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: Botan::CBC_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - padding
    - update
    - BOTAN_ASSERT_EQUAL
    - state
    - size
    - BOTAN_ARG_CHECK
    - resize
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void CBC_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::CTS_Encryption::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: bool
    signature: bool CTS_Encryption::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Botan::CTS_Encryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t CTS_Encryption::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: Botan::CTS_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CTS_Encryption::output_length(size_t input_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:149,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:149,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:150,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:150,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:157,1
    - Dst: name
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:157,1
    - Dst: update
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:161,1
    - Dst: std::swap
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:165,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:165,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:165,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:170,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:173,1
    - Dst: update
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:174,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:176,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:176,1
    - Dst: state_ptr
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:176,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:177,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:177,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:184,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 188
    functionName: Botan::CTS_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - Encoding_Error
    - update
    - std::swap
    - state_ptr
    - name
    - state
    - BOTAN_ASSERT
    - size
    - cipher
    - BOTAN_ARG_CHECK
    - resize
    - xor_buf
    - BOTAN_STATE_CHECK
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void CTS_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: Botan::CBC_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Decryption::output_length(size_t input_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Botan::CBC_Decryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Decryption::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:199,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:199,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:203,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:209,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:209,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:211,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:211,1
    - Dst: state_ptr
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:211,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:212,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:213,1
    - Dst: state_ptr
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:213,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:215,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 222
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 222
    functionName: Botan::CBC_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    - state_ptr
    - state
    - cipher
    - BOTAN_ARG_CHECK
    - xor_buf
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Decryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:225,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:225,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:226,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:226,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:232,1
    - Dst: name
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:232,1
    - Dst: update
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:235,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:238,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:238,1
    - Dst: padding
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:239,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 242
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 242
    functionName: Botan::CBC_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - padding
    - update
    - name
    - state
    - size
    - BOTAN_ARG_CHECK
    - Decoding_Error
    - resize
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void CBC_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::reset
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:245,1
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: Botan::CBC_Decryption::reset
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - zeroise
    - Botan::CBC_Mode::reset
    linkageType: ''
    returnType: void
    signature: void CBC_Decryption::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: Botan::CTS_Decryption::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: bool
    signature: bool CTS_Decryption::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: Botan::CTS_Decryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t CTS_Decryption::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:258,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:258,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:259,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:259,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:266,1
    - Dst: name
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:266,1
    - Dst: std::swap
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:273,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:273,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:273,1
    - Dst: update
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:276,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:280,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:283,1
    - Dst: update
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:284,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:286,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:286,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:288,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:288,1
    - Dst: std::swap
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:291,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:294,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:294,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:295,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:295,1
    - Dst: state_ptr
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 299
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 299
    functionName: Botan::CTS_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - Encoding_Error
    - update
    - std::swap
    - state_ptr
    - name
    - state
    - BOTAN_ASSERT
    - size
    - cipher
    - BOTAN_ARG_CHECK
    - resize
    - xor_buf
    - BOTAN_STATE_CHECK
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void CTS_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::clone
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    linkageType: ''
    returnType: PBKDF
    signature: PBKDF * clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~PBKDF()
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PBKDF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OctetString
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:178,1
    - Dst: pbkdf_iterations
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out_len
    - passphrase
    - salt
    - salt_len
    - iterations
    argTypes:
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - pbkdf_iterations
    - Botan::OctetString
    linkageType: ''
    returnType: OctetString
    signature: "OctetString derive_key(\n         size_t out_len, std::string_view
      passphrase, const uint8_t salt[], size_t salt_len, size_t iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OctetString
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:193,1
    - Dst: pbkdf_iterations
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:193,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:193,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out_len
    - passphrase
    - ' salt'
    - iterations
    argTypes:
    - size_t
    - std::string_view
    - std::vector<uint8_t, Alloc>
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - pbkdf_iterations
    - Botan::size
    - data
    - Botan::OctetString
    linkageType: ''
    returnType: OctetString
    signature: "OctetString derive_key(size_t out_len,\n                             std::string_view
      passphrase,\n                             const std::vector<uint8_t, Alloc>&
      salt,\n                             size_t iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OctetString
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:211,1
    - Dst: pbkdf_timed
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - out_len
    - passphrase
    - salt
    - salt_len
    - msec
    - ' iterations'
    argTypes:
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - std::chrono::milliseconds
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - pbkdf_timed
    - Botan::OctetString
    linkageType: ''
    returnType: OctetString
    signature: "OctetString derive_key(size_t out_len,\n                             std::string_view
      passphrase,\n                             const uint8_t salt[],\n                             size_t
      salt_len,\n                             std::chrono::milliseconds msec,\n                             size_t&
      iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OctetString
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:228,1
    - Dst: pbkdf_timed
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:228,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:228,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out_len
    - passphrase
    - ' salt'
    - msec
    - ' iterations'
    argTypes:
    - size_t
    - std::string_view
    - std::vector<uint8_t, Alloc>
    - std::chrono::milliseconds
    - size_t
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - data
    - pbkdf_timed
    - Botan::size
    - Botan::OctetString
    linkageType: ''
    returnType: OctetString
    signature: "OctetString derive_key(size_t out_len,\n                             std::string_view
      passphrase,\n                             const std::vector<uint8_t, Alloc>&
      salt,\n                             std::chrono::milliseconds msec,\n                             size_t&
      iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: get_pbkdf
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: PBKDF
    signature: PBKDF * get_pbkdf(std::string_view algo_spec, std::string_view provider
      = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: get_s2k
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: PBKDF
    signature: PBKDF * get_s2k(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:28,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:29,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:30,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:30,1
    - Dst: std::make_unique<PKCS5_PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:31,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:31,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:34,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:34,1
    - Dst: std::make_unique<PKCS5_PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:35,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:35,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:44,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:44,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:45,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:45,1
    - Dst: std::make_unique<OpenPGP_S2K>
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:46,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:46,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 54
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 54
    functionName: Botan::PBKDF::create
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - SCAN_Name::arg_count
    - std::make_unique<OpenPGP_S2K>
    - BOTAN_UNUSED
    - std::string_view::empty
    - std::make_unique<PKCS5_PBKDF2>
    - SCAN_Name::arg
    - Botan::HashFunction::create
    - Botan::MessageAuthenticationCode::create
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: std::unique_ptr<PBKDF>
    signature: std::unique_ptr<PBKDF> PBKDF::create(std::string_view algo_spec, std::string_view
      provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:58,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: Botan::PBKDF::create_or_throw
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 2
    functionsReached:
    - Lookup_Error
    - Botan::PBKDF::create
    linkageType: ''
    returnType: std::unique_ptr<PBKDF>
    signature: std::unique_ptr<PBKDF> PBKDF::create_or_throw(std::string_view algo,
      std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<PBKDF>
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::PBKDF::providers
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 0
    functionsReached:
    - probe_providers_of<PBKDF>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PBKDF::providers(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pbkdf
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - out
    - out_len
    - passphrase
    - salt
    - salt_len
    - msec
    - ' iterations'
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - std::chrono::milliseconds
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: Botan::PBKDF::pbkdf_timed
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 0
    functionsReached:
    - pbkdf
    linkageType: ''
    returnType: void
    signature: "void PBKDF::pbkdf_timed(uint8_t out[],\n                        size_t
      out_len,\n                        std::string_view passphrase,\n                        const
      uint8_t salt[],\n                        size_t salt_len,\n                        std::chrono::milliseconds
      msec,\n                        size_t& iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:85,1
    - Dst: name
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:85,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - out
    - out_len
    - passphrase
    - salt
    - salt_len
    - iterations
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: Botan::PBKDF::pbkdf_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_EQUAL
    - Invalid_Argument
    - name
    linkageType: ''
    returnType: void
    signature: "void PBKDF::pbkdf_iterations(uint8_t out[],\n                             size_t
      out_len,\n                             std::string_view passphrase,\n                             const
      uint8_t salt[],\n                             size_t salt_len,\n                             size_t
      iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::pbkdf_iterations
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:96,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - out_len
    - passphrase
    - salt
    - salt_len
    - iterations
    argTypes:
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: Botan::PBKDF::pbkdf_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 1
    functionsReached:
    - Botan::PBKDF::pbkdf_iterations
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> PBKDF::pbkdf_iterations(\n   size_t out_len,
      std::string_view passphrase, const uint8_t salt[], size_t salt_len, size_t iterations)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::pbkdf_timed
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:107,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - out_len
    - passphrase
    - salt
    - salt_len
    - msec
    - ' iterations'
    argTypes:
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - std::chrono::milliseconds
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: Botan::PBKDF::pbkdf_timed
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 1
    functionsReached:
    - Botan::PBKDF::pbkdf_timed
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> PBKDF::pbkdf_timed(size_t out_len,\n                                          std::string_view
      passphrase,\n                                          const uint8_t salt[],\n
      \                                         size_t salt_len,\n                                          std::chrono::milliseconds
      msec,\n                                          size_t& iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::memory_param
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t memory_param() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::parallelism
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::total_memory_usage
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t total_memory_usage() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::supports_keyed_operation
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_keyed_operation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::supports_associated_data
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_associated_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - password
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::hash
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - std::string_view::size
    - std::string_view::data
    - Botan::derive_key
    - std::span<const uint8_t>::size
    - std::span<uint8_t>::data
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void hash(std::span<uint8_t> out, std::string_view password, std::span<const
      uint8_t> salt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:110,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:110,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:111,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:112,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:113,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:114,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:115,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:116,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:117,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:118,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - password
    - salt
    - associated_data
    - key
    argTypes:
    - std::span<uint8_t>
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: Botan::hash
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - std::string_view::size
    - std::string_view::data
    - Botan::derive_key
    - std::span<const uint8_t>::size
    - std::span<uint8_t>::data
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: "void hash(std::span<uint8_t> out,\n                std::string_view
      password,\n                std::span<const uint8_t> salt,\n                std::span<const
      uint8_t> associated_data,\n                std::span<const uint8_t> key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: ~PasswordHashFamily()
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PasswordHashFamily()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:45,1
    - Dst: Botan::PasswordHash::derive_key
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:48,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:50,1
    - Dst: Botan::PasswordHash::to_string
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 10
    argNames:
    - out
    - out_len
    - password
    - password_len
    - salt
    - salt_len
    - ad
    - ad_len
    - key
    - key_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: Botan::PasswordHash::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - Not_Implemented
    - Botan::PasswordHash::to_string
    - Botan::PasswordHash::derive_key
    linkageType: ''
    returnType: void
    signature: "void PasswordHash::derive_key(uint8_t out[],\n                              size_t
      out_len,\n                              const char* password,\n                              size_t
      password_len,\n                              const uint8_t salt[],\n                              size_t
      salt_len,\n                              const uint8_t ad[],\n                              size_t
      ad_len,\n                              const uint8_t key[],\n                              size_t
      key_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:58,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:59,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:60,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:60,1
    - Dst: std::make_unique<PBKDF2_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:61,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:61,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:64,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:64,1
    - Dst: std::make_unique<PBKDF2_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:65,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:65,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:74,1
    - Dst: std::make_unique<Scrypt_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:75,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:80,1
    - Dst: std::make_unique<Argon2_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:81,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:81,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:82,1
    - Dst: std::make_unique<Argon2_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:83,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:83,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:84,1
    - Dst: std::make_unique<Argon2_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:85,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:85,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:90,1
    - Dst: std::make_unique<Bcrypt_PBKDF_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:91,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:96,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:96,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:97,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:97,1
    - Dst: std::make_unique<RFC4880_S2K_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:98,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:98,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:103,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:104,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 107
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 107
    functionName: Botan::PasswordHashFamily::create
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.cpp
    functionUses: 10
    functionsReached:
    - std::move
    - SCAN_Name::arg_count
    - BOTAN_UNUSED
    - std::string_view::empty
    - static_cast<uint8_t>
    - std::make_unique<PBKDF2_Family>
    - SCAN_Name::arg
    - std::make_unique<Bcrypt_PBKDF_Family>
    - Botan::HashFunction::create
    - std::make_unique<Argon2_Family>
    - std::make_unique<Scrypt_Family>
    - Botan::MessageAuthenticationCode::create
    - std::make_unique<RFC4880_S2K_Family>
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: std::unique_ptr<PasswordHashFamily>
    signature: std::unique_ptr<PasswordHashFamily> PasswordHashFamily::create(std::string_view
      algo_spec, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:112,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: Botan::PasswordHashFamily::create_or_throw
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.cpp
    functionUses: 2
    functionsReached:
    - Lookup_Error
    - Botan::PasswordHashFamily::create
    linkageType: ''
    returnType: std::unique_ptr<PasswordHashFamily>
    signature: "std::unique_ptr<PasswordHashFamily> PasswordHashFamily::create_or_throw(std::string_view
      algo,\n                                                                        std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<PasswordHashFamily>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::PasswordHashFamily::providers
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.cpp
    functionUses: 0
    functionsReached:
    - probe_providers_of<PasswordHashFamily>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PasswordHashFamily::providers(std::string_view
      algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::name
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h
    functionUses: 1
    functionsReached:
    - Botan::name
    linkageType: ''
    returnType: OpenPGP_S2K
    signature: OpenPGP_S2K final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OpenPGP_S2K>
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:48,1
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::new_object
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h
    functionUses: 2
    functionsReached:
    - std::make_unique<OpenPGP_S2K>
    - Botan::new_object
    linkageType: ''
    returnType: std::unique_ptr<PBKDF>
    signature: std::unique_ptr<PBKDF> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RFC4880_encode_count
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterations
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::encode_count
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h
    functionUses: 0
    functionsReached:
    - Botan::RFC4880_encode_count
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t encode_count(size_t iterations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RFC4880_decode_count
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - encoded_iter
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::decode_count
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h
    functionUses: 0
    functionsReached:
    - Botan::RFC4880_decode_count
    linkageType: ''
    returnType: size_t
    signature: size_t decode_count(uint8_t encoded_iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RFC4880_S2K
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: PasswordHash
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h
    functionUses: 0
    functionsReached:
    - RFC4880_S2K
    linkageType: ''
    returnType: RFC4880_S2K
    signature: RFC4880_S2K PasswordHash
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RFC4880_S2K_Family
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: PasswordHashFamily
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h
    functionUses: 0
    functionsReached:
    - RFC4880_S2K_Family
    linkageType: ''
    returnType: RFC4880_S2K_Family
    signature: RFC4880_S2K_Family PasswordHashFamily
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RFC4880_decode_count
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/rfc4880.h:33,1
    - Dst: Botan::RFC4880_encode_count
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/rfc4880.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterations
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::RFC4880_round_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/rfc4880.h
    functionUses: 0
    functionsReached:
    - Botan::RFC4880_decode_count
    - Botan::RFC4880_encode_count
    linkageType: ''
    returnType: size_t
    signature: size_t RFC4880_round_iterations(size_t iterations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/rfc4880.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - desired_iterations
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: Botan::RFC4880_encode_count
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/rfc4880.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t RFC4880_encode_count(size_t desired_iterations)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::RFC4880_decode_count
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/rfc4880.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RFC4880_decode_count(uint8_t iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:30,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:35,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:38,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:38,1
    - Dst: output_length
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:41,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:51,1
    - Dst: secure_vector::empty
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:54,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:58,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:58,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:63,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:63,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:64,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 8
    argNames:
    - ' hash'
    - output_buf
    - output_len
    - password
    - password_size
    - salt
    - salt_len
    - iterations
    argTypes:
    - HashFunction
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 68
    functionName: Botan::pgp_s2k
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - Invalid_Argument
    - output_length
    - Botan::update
    - Botan::final
    - Botan::copy_mem
    - secure_vector::data
    - secure_vector::empty
    linkageType: ''
    returnType: void
    signature: "void pgp_s2k(HashFunction& hash,\n             uint8_t output_buf[],\n
      \            size_t output_len,\n             const char* password,\n             const
      size_t password_size,\n             const uint8_t salt[],\n             size_t
      salt_len,\n             size_t iterations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_object
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:82,1
    - Dst: RFC4880_S2K_Family::tune
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:83,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:83,1
    - Dst: pgp_s2k
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:86,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:86,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - output_buf
    - output_len
    - password
    - salt
    - salt_len
    - iterations
    - msec
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: Botan::OpenPGP_S2K::pbkdf
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - new_object
    - pgp_s2k
    - Botan_CLI::Timer::milliseconds
    - RFC4880_S2K_Family::tune
    linkageType: ''
    returnType: size_t
    signature: "size_t OpenPGP_S2K::pbkdf(uint8_t output_buf[],\n                          size_t
      output_len,\n                          std::string_view password,\n                          const
      uint8_t salt[],\n                          size_t salt_len,\n                          size_t
      iterations,\n                          std::chrono::milliseconds msec) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:92,1
    - Dst: Botan::RFC4880_S2K_Family::name
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: Botan::RFC4880_S2K_Family::name
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::RFC4880_S2K_Family::name
    linkageType: ''
    returnType: std::string
    signature: std::string RFC4880_S2K_Family::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RFC4880_S2K>
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:113,1
    - Dst: new_object
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - output_len
    - msec
    - tune_time
    argTypes:
    - size_t
    - std::chrono::milliseconds
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: Botan::RFC4880_S2K_Family::tune
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RFC4880_S2K>
    - new_object
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: "std::unique_ptr<PasswordHash> RFC4880_S2K_Family::tune(size_t output_len,\n
      \                                                      std::chrono::milliseconds
      msec,\n                                                       size_t /*max_memory_usage_mb*/,\n
      \                                                      std::chrono::milliseconds
      tune_time) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RFC4880_S2K>
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:117,1
    - Dst: new_object
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: Botan::RFC4880_S2K_Family::from_params
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RFC4880_S2K>
    - new_object
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> RFC4880_S2K_Family::from_params(size_t
      iter, size_t /*i2*/, size_t /*i3*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RFC4880_S2K>
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:121,1
    - Dst: new_object
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: Botan::RFC4880_S2K_Family::default_params
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RFC4880_S2K>
    - new_object
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> RFC4880_S2K_Family::default_params()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RFC4880_S2K>
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:125,1
    - Dst: new_object
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::RFC4880_S2K_Family::from_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RFC4880_S2K>
    - new_object
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> RFC4880_S2K_Family::from_iterations(size_t
      iter) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hash
    - iterations
    argTypes:
    - std::unique_ptr<HashFunction>
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: Botan::RFC4880_S2K::RFC4880_S2K
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void RFC4880_S2K::RFC4880_S2K(std::unique_ptr<HashFunction> hash, size_t
      iterations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:132,1
    - Dst: name
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Botan::RFC4880_S2K::to_string
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string RFC4880_S2K::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pgp_s2k
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - out
    - out_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: Botan::RFC4880_S2K::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - pgp_s2k
    linkageType: ''
    returnType: void
    signature: "void RFC4880_S2K::derive_key(uint8_t out[],\n                             size_t
      out_len,\n                             const char* password,\n                             const
      size_t password_len,\n                             const uint8_t salt[],\n                             size_t
      salt_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Argon2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:28,1
    - Dst: t
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:66,1
    - Dst: p
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:68,1
    - Dst: M
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:70,1
    - Dst: M
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 101
    functionName: Botan::PasswordHash
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.h
    functionUses: 0
    functionsReached:
    - M
    - t
    - Argon2
    - p
    linkageType: ''
    returnType: Argon2
    signature: Argon2 PasswordHash
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Argon2_Family
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: Botan::PasswordHashFamily
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.h
    functionUses: 0
    functionsReached:
    - Argon2_Family
    linkageType: ''
    returnType: Argon2_Family
    signature: Argon2_Family PasswordHashFamily
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:158,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:167,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:170,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 14
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    - key
    - key_len
    - ad
    - ad_len
    - y
    - p
    - M
    - t
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 172
    functionName: Botan::argon2
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.h
    functionUses: 0
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - Not_Implemented
    - auto::derive_key
    - auto::from_params
    linkageType: ''
    returnType: void
    signature: "void argon2(uint8_t output[],\n                   size_t output_len,\n
      \                  const char* password,\n                   size_t password_len,\n
      \                  const uint8_t salt[],\n                   size_t salt_len,\n
      \                  const uint8_t key[],\n                   size_t key_len,\n
      \                  const uint8_t ad[],\n                   size_t ad_len,\n
      \                  uint8_t y,\n                   size_t p,\n                   size_t
      M,\n                   size_t t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:48,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:48,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:49,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:49,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:50,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:50,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:51,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:51,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:52,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:52,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:53,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:53,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:55,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:55,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:56,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:56,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:58,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:58,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:59,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:61,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:61,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:62,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:64,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:64,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:65,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 15
    argNames:
    - H0
    - ' blake2b'
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    - key
    - key_len
    - ad
    - ad_len
    - y
    - p
    - M
    - t
    argTypes:
    - uint8_t[]
    - HashFunction
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 68
    functionName: Botan::argon2_H0
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - update_le
    - Botan::final
    - Botan::update
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: "void argon2_H0(uint8_t H0[64],\n               HashFunction& blake2b,\n
      \              size_t output_len,\n               const char* password,\n               size_t
      password_len,\n               const uint8_t salt[],\n               size_t salt_len,\n
      \              const uint8_t key[],\n               size_t key_len,\n               const
      uint8_t ad[],\n               size_t ad_len,\n               size_t y,\n               size_t
      p,\n               size_t M,\n               size_t t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:85,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:85,1
    - Dst: auto::update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:86,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:86,1
    - Dst: auto::update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:88,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:90,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:94,1
    - Dst: auto::update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:95,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:95,1
    - Dst: auto::update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:97,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:99,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:102,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:107,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:108,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:113,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:114,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:116,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:116,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:117,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - output
    - output_len
    - ' B'
    - memory
    - threads
    argTypes:
    - uint8_t[]
    - size_t
    - secure_vector<uint64_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 121
    functionName: Botan::extract_key
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - auto::update_le
    - auto::update
    - Botan::HashFunction::create_or_throw
    - Botan::copy_mem
    - auto::final
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void extract_key(uint8_t output[], size_t output_len, const secure_vector<uint64_t>&
      B, size_t memory, size_t threads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:125,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:125,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:130,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:130,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:135,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:135,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:136,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:137,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:137,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:138,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:138,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:139,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:142,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:143,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:144,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - ' B'
    - ' blake2b'
    - H0
    - memory
    - threads
    argTypes:
    - secure_vector<uint64_t>
    - HashFunction
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 150
    functionName: Botan::init_blocks
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    - update_le
    - Botan::update
    - Botan::final
    - BOTAN_ASSERT_NOMSG
    - static_cast<uint32_t>
    - Botan::size
    linkageType: ''
    returnType: void
    signature: "void init_blocks(\n   secure_vector<uint64_t>& B, HashFunction& blake2b,
      const uint8_t H0[64], size_t memory, size_t threads)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:153,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:153,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:153,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:154,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:156,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:156,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:156,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:157,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:159,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:159,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:159,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:160,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:162,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:162,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:162,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: Botan::blamka_G
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - static_cast<uint64_t>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE blamka_G(uint64_t& A, uint64_t& B, uint64_t& C,
      uint64_t& D)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:170,1
    - Dst: Botan::Argon2::blamka_avx2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:171,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:176,1
    - Dst: Botan::Argon2::blamka_ssse3
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:177,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:181,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:184,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:185,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:186,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:187,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:189,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:190,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:191,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:192,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:196,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:197,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:198,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:199,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:201,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:202,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:203,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - N
    - T
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 210
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 210
    functionName: Botan::Argon2::blamka
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::Argon2::blamka_avx2
    - copy_mem
    - blamka_G
    - Botan::Argon2::blamka_ssse3
    linkageType: ''
    returnType: void
    signature: void Argon2::blamka(uint64_t N[128], uint64_t T[128])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:223,1
    - Dst: Botan::Argon2::blamka
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 9
    argNames:
    - T
    - B
    - n
    - lane
    - slice
    - memory
    - time
    - mode
    - cnt
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: Botan::gen_2i_addresses
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - Botan::clear_mem
    - Botan::Argon2::blamka
    linkageType: ''
    returnType: void
    signature: "void gen_2i_addresses(uint64_t T[128],\n                      uint64_t
      B[128],\n                      size_t n,\n                      size_t lane,\n
      \                     size_t slice,\n                      size_t memory,\n
      \                     size_t time,\n                      size_t mode,\n                      size_t
      cnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 8
    argNames:
    - random
    - lanes
    - segments
    - threads
    - n
    - slice
    - lane
    - index
    argTypes:
    - uint64_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 270
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 270
    functionName: Botan::index_alpha
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t index_alpha(\n   uint64_t random, size_t lanes, size_t segments,
      size_t threads, size_t n, size_t slice, size_t lane, size_t index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::gen_2i_addresses
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:294,1
    - Dst: Botan::gen_2i_addresses
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:307,1
    - Dst: Botan::Argon2::blamka
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:318,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 10
    argNames:
    - ' B'
    - n
    - slice
    - lane
    - lanes
    - segments
    - threads
    - mode
    - memory
    - time
    argTypes:
    - secure_vector<uint64_t>
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - uint8_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 326
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 326
    functionName: Botan::process_block
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - Botan::gen_2i_addresses
    - Botan::Argon2::blamka
    linkageType: ''
    returnType: void
    signature: "void process_block(secure_vector<uint64_t>& B,\n                   size_t
      n,\n                   size_t slice,\n                   size_t lane,\n                   size_t
      lanes,\n                   size_t segments,\n                   size_t threads,\n
      \                  uint8_t mode,\n                   size_t memory,\n                   size_t
      time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread_Pool::global_instance
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:334,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:339,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:342,1
    - Dst: run
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:342,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:343,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:347,1
    - Dst: Botan::process_block
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - ' B'
    - t
    - memory
    - threads
    - mode
    argTypes:
    - secure_vector<uint64_t>
    - size_t
    - size_t
    - size_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 363
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 363
    functionName: Botan::process_blocks
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - Thread_Pool::global_instance
    - std::ref
    - run
    - Botan::get
    - Botan::process_block
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void process_blocks(secure_vector<uint64_t>& B, size_t t, size_t memory,
      size_t threads, uint8_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:377,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:377,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:379,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:379,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:380,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:380,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:381,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:381,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:382,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:382,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:384,1
    - Dst: argon2_H0
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:387,1
    - Dst: init_blocks
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:407,1
    - Dst: process_blocks
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:408,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:410,1
    - Dst: extract_key
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 10
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    - key
    - key_len
    - ad
    - ad_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 412
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 412
    functionName: Botan::Argon2::argon2
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - process_blocks
    - extract_key
    - argon2_H0
    - init_blocks
    - cryptofuzz::mutator::ExpModGenerator::max
    - Botan::HashFunction::create_or_throw
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void Argon2::argon2(uint8_t output[],\n                    size_t
      output_len,\n                    const char* password,\n                    size_t
      password_len,\n                    const uint8_t salt[],\n                    size_t
      salt_len,\n                    const uint8_t key[],\n                    size_t
      key_len,\n                    const uint8_t ad[],\n                    size_t
      ad_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:19,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:20,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:21,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - family
    - M
    - t
    - p
    argTypes:
    - uint8_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: Botan::Argon2::Argon2
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - cryptofuzz::mutator::ExpModGenerator::max
    linkageType: ''
    returnType: void
    signature: void Argon2::Argon2(uint8_t family, size_t M, size_t t, size_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Argon2::argon2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: Botan::Argon2::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Argon2::argon2
    linkageType: ''
    returnType: void
    signature: "void Argon2::derive_key(uint8_t output[],\n                        size_t
      output_len,\n                        const char* password,\n                        size_t
      password_len,\n                        const uint8_t salt[],\n                        size_t
      salt_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Argon2::argon2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    - ad
    - ad_len
    - key
    - key_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: Botan::Argon2::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Argon2::argon2
    linkageType: ''
    returnType: void
    signature: "void Argon2::derive_key(uint8_t output[],\n                        size_t
      output_len,\n                        const char* password,\n                        size_t
      password_len,\n                        const uint8_t salt[],\n                        size_t
      salt_len,\n                        const uint8_t ad[],\n                        size_t
      ad_len,\n                        const uint8_t key[],\n                        size_t
      key_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: Botan::argon2_family_name
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: std::string
    signature: std::string argon2_family_name(uint8_t f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:64,1
    - Dst: argon2_family_name
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::Argon2::to_string
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - argon2_family_name
    linkageType: ''
    returnType: std::string
    signature: std::string Argon2::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - family
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: Botan::Argon2_Family::Argon2_Family
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Argon2_Family::Argon2_Family(uint8_t family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_family_name
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Botan::Argon2_Family::name
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - argon2_family_name
    linkageType: ''
    returnType: std::string
    signature: std::string Argon2_Family::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Argon2_Family::from_params
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:91,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:95,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:123,1
    - Dst: Botan::Argon2_Family::from_params
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - msec
    - max_memory
    - tune_time
    argTypes:
    - std::chrono::milliseconds
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 127
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 127
    functionName: Botan::Argon2_Family::tune
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - Botan::Argon2_Family::from_params
    - auto::derive_key
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: "std::unique_ptr<PasswordHash> Argon2_Family::tune(size_t /*output_length*/,\n
      \                                                 std::chrono::milliseconds
      msec,\n                                                  size_t max_memory,\n
      \                                                 std::chrono::milliseconds
      tune_time) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Argon2_Family::from_params
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Botan::Argon2_Family::default_params
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Argon2_Family::from_params
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Argon2_Family::default_params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Argon2_Family::from_params
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: Botan::Argon2_Family::from_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Argon2_Family::from_params
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Argon2_Family::from_iterations(size_t
      iter) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Argon2>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - M
    - t
    - p
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Botan::Argon2_Family::from_params
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<Argon2>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Argon2_Family::from_params(size_t M,
      size_t t, size_t p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:24,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:25,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:28,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:29,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:31,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:32,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:35,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:36,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:38,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:39,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:42,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:43,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:45,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:46,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:49,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 8
    argNames:
    - ' A0'
    - ' A1'
    - ' B0'
    - ' B1'
    - ' C0'
    - ' C1'
    - ' D0'
    - ' D1'
    argTypes:
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 51
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 51
    functionName: Botan::blamka_G
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_2x64::mul2_32
    - Botan::rotr
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE blamka_G(SIMD_2x64& A0,\n                                 SIMD_2x64&
      A1,\n                                 SIMD_2x64& B0,\n                                 SIMD_2x64&
      B1,\n                                 SIMD_2x64& C0,\n                                 SIMD_2x64&
      C1,\n                                 SIMD_2x64& D0,\n                                 SIMD_2x64&
      D1)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:61,1
    - Dst: Botan::SIMD_2x64::twist
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:63,1
    - Dst: Botan::blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:64,1
    - Dst: Botan::SIMD_2x64::untwist
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 8
    argNames:
    - ' A0'
    - ' A1'
    - ' B0'
    - ' B1'
    - ' C0'
    - ' C1'
    - ' D0'
    - ' D1'
    argTypes:
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: Botan::blamka_R
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_2x64::untwist
    - Botan::SIMD_2x64::twist
    - Botan::blamka_G
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE blamka_R(SIMD_2x64& A0,\n                                 SIMD_2x64&
      A1,\n                                 SIMD_2x64& B0,\n                                 SIMD_2x64&
      B1,\n                                 SIMD_2x64& C0,\n                                 SIMD_2x64&
      C1,\n                                 SIMD_2x64& D0,\n                                 SIMD_2x64&
      D1)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:74,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:75,1
    - Dst: blamka_R
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:78,1
    - Dst: store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:81,1
    - Dst: store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:82,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:89,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:90,1
    - Dst: blamka_R
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:93,1
    - Dst: store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:96,1
    - Dst: store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:97,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:102,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:103,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:104,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:105,1
    - Dst: SIMD_2x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:109,1
    - Dst: SIMD_2x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - N
    - T
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: Botan::Argon2::blamka_ssse3
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp
    functionUses: 1
    functionsReached:
    - blamka_R
    - Botan::SIMD_2x64::load_le
    - store_le
    - SIMD_2x64::store_le
    linkageType: ''
    returnType: void
    signature: void Argon2::blamka_ssse3(uint64_t N[128], uint64_t T[128])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:18,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:20,1
    - Dst: Botan::SIMD_4x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:22,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:24,1
    - Dst: Botan::SIMD_4x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:26,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:28,1
    - Dst: Botan::SIMD_4x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:30,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - SIMD_4x64
    - SIMD_4x64
    - SIMD_4x64
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 33
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 33
    functionName: Botan::blamka_G
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x64::mul2_32
    - Botan::rotr
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE blamka_G(SIMD_4x64& A, SIMD_4x64& B, SIMD_4x64&
      C, SIMD_4x64& D)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:36,1
    - Dst: Botan::SIMD_4x64::twist
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:38,1
    - Dst: Botan::blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:39,1
    - Dst: Botan::SIMD_4x64::untwist
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - SIMD_4x64
    - SIMD_4x64
    - SIMD_4x64
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: Botan::blamka_R
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x64::twist
    - Botan::SIMD_4x64::untwist
    - Botan::blamka_G
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE blamka_R(SIMD_4x64& A, SIMD_4x64& B, SIMD_4x64&
      C, SIMD_4x64& D)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:47,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:48,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:49,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:50,1
    - Dst: blamka_R
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:52,1
    - Dst: SIMD_4x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:54,1
    - Dst: SIMD_4x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:55,1
    - Dst: SIMD_4x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:56,1
    - Dst: SIMD_4x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:57,1
    - Dst: Botan::SIMD_4x64::load_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:61,1
    - Dst: Botan::SIMD_4x64::load_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:62,1
    - Dst: Botan::SIMD_4x64::load_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:63,1
    - Dst: Botan::SIMD_4x64::load_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:64,1
    - Dst: blamka_R
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:66,1
    - Dst: SIMD_4x64::store_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:68,1
    - Dst: SIMD_4x64::store_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:69,1
    - Dst: SIMD_4x64::store_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:70,1
    - Dst: SIMD_4x64::store_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:71,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:75,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:76,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:77,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:78,1
    - Dst: SIMD_4x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:82,1
    - Dst: SIMD_4x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - N
    - T
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: Botan::Argon2::blamka_avx2
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp
    functionUses: 1
    functionsReached:
    - SIMD_4x64::store_le2
    - blamka_R
    - Botan::SIMD_4x64::load_le2
    - Botan::SIMD_4x64::load_le
    - SIMD_4x64::store_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 Argon2::blamka_avx2(uint64_t N[128], uint64_t T[128])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - N
    - r
    - p
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::scrypt_memory_usage
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t scrypt_memory_usage(size_t N, size_t r, size_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::Scrypt_Family::name
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Scrypt_Family::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Scrypt>
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::Scrypt_Family::default_params
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Scrypt>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Scrypt_Family::default_params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:40,1
    - Dst: Botan::Scrypt_Family::from_params
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:62,1
    - Dst: scrypt_memory_usage
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:78,1
    - Dst: scrypt_memory_usage
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:86,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:97,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:97,1
    - Dst: std::make_unique<Scrypt>
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - output_length
    - msec
    - max_memory_usage_mb
    - tune_time
    argTypes:
    - size_t
    - std::chrono::milliseconds
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 101
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 101
    functionName: Botan::Scrypt_Family::tune
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - static_cast<size_t>
    - std::make_unique<Scrypt>
    - std::min<size_t>
    - scrypt_memory_usage
    - Botan::Scrypt_Family::from_params
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: "std::unique_ptr<PasswordHash> Scrypt_Family::tune(size_t output_length,\n
      \                                                 std::chrono::milliseconds
      msec,\n                                                  size_t max_memory_usage_mb,\n
      \                                                 std::chrono::milliseconds
      tune_time) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Scrypt>
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - N
    - r
    - p
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::Scrypt_Family::from_params
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Scrypt>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Scrypt_Family::from_params(size_t N,
      size_t r, size_t p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Scrypt>
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: Botan::Scrypt_Family::from_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Scrypt>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Scrypt_Family::from_iterations(size_t
      iter) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:127,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:128,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:132,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:135,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - N
    - r
    - p
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: Botan::Scrypt::Scrypt
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - is_power_of_2
    linkageType: ''
    returnType: void
    signature: void Scrypt::Scrypt(size_t N, size_t r, size_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::Scrypt::to_string
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string Scrypt::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scrypt_memory_usage
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: Botan::Scrypt::total_memory_usage
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - scrypt_memory_usage
    linkageType: ''
    returnType: size_t
    signature: size_t Scrypt::total_memory_usage() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:159,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:159,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:162,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:162,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:163,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:163,1
    - Dst: Botan::Salsa20::salsa_core
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:164,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:164,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:165,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:165,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:169,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - B
    - Y
    argTypes:
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 175
    functionName: Botan::scryptBlockMix
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::Salsa20::salsa_core
    - Botan::load_le
    - Botan::xor_buf
    - Botan::copy_mem
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void scryptBlockMix(size_t r, uint8_t* B, uint8_t* Y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:181,1
    - Dst: Botan::scryptBlockMix
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:182,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:188,1
    - Dst: Botan::scryptBlockMix
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - r
    - N
    - B
    - ' V'
    argTypes:
    - size_t
    - size_t
    - uint8_t*
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: Botan::scryptROMmix
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    - Botan::scryptBlockMix
    - Botan::xor_buf
    linkageType: ''
    returnType: void
    signature: void scryptROMmix(size_t r, size_t N, uint8_t* B, secure_vector<uint8_t>&
      V)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:210,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:213,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:213,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:215,1
    - Dst: pbkdf2
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:218,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:218,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:218,1
    - Dst: scryptROMmix
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:222,1
    - Dst: pbkdf2
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:225,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:225,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 226
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 226
    functionName: Botan::Scrypt::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - Botan::MessageAuthenticationCode::create_or_throw
    - Invalid_Argument
    - pbkdf2
    - scryptROMmix
    - cast_char_ptr_to_uint8
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: "void Scrypt::derive_key(uint8_t output[],\n                        size_t
      output_len,\n                        const char* password,\n                        size_t
      password_len,\n                        const uint8_t salt[],\n                        size_t
      salt_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Scrypt
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 50
    functionName: Botan::PasswordHash
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.h
    functionUses: 0
    functionsReached:
    - Scrypt
    linkageType: ''
    returnType: Scrypt
    signature: Scrypt PasswordHash
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: Botan::PasswordHashFamily
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scrypt_Family
    signature: Scrypt_Family PasswordHashFamily
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:95,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:96,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    - N
    - r
    - p
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: Botan::scrypt
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.h
    functionUses: 0
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::derive_key
    - auto::from_params
    linkageType: ''
    returnType: void
    signature: "void scrypt(uint8_t output[],\n                   size_t output_len,\n
      \                  const char* password,\n                   size_t password_len,\n
      \                  const uint8_t salt[],\n                   size_t salt_len,\n
      \                  size_t N,\n                   size_t r,\n                   size_t
      p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:126,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:127,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:128,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:128,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - output
    - output_len
    - password
    - salt
    - salt_len
    - N
    - r
    - p
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: Botan::scrypt
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.h
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - Botan::PasswordHashFamily::create_or_throw
    - auto::derive_key
    - auto::from_params
    linkageType: ''
    returnType: void
    signature: "void scrypt(uint8_t output[],\n                   size_t output_len,\n
      \                  std::string_view password,\n                   const uint8_t
      salt[],\n                   size_t salt_len,\n                   size_t N,\n
      \                  size_t r,\n                   size_t p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bcrypt_PBKDF
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 49
    functionName: Botan::PasswordHash
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h
    functionUses: 0
    functionsReached:
    - Bcrypt_PBKDF
    linkageType: ''
    returnType: Bcrypt_PBKDF
    signature: Bcrypt_PBKDF PasswordHash
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bcrypt_PBKDF_Family
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: Botan::PasswordHashFamily
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h
    functionUses: 0
    functionsReached:
    - Bcrypt_PBKDF_Family
    linkageType: ''
    returnType: Bcrypt_PBKDF_Family
    signature: Bcrypt_PBKDF_Family PasswordHashFamily
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h:81,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h:82,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    - rounds
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: Botan::bcrypt_pbkdf
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h
    functionUses: 0
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::derive_key
    - auto::from_params
    linkageType: ''
    returnType: void
    signature: "void bcrypt_pbkdf(uint8_t output[],\n                         size_t
      output_len,\n                         const char* password,\n                         size_t
      password_len,\n                         const uint8_t salt[],\n                         size_t
      salt_len,\n                         size_t rounds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterations
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::Bcrypt_PBKDF::Bcrypt_PBKDF
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Bcrypt_PBKDF::Bcrypt_PBKDF(size_t iterations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::Bcrypt_PBKDF::to_string
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string Bcrypt_PBKDF::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::Bcrypt_PBKDF_Family::name
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Bcrypt_PBKDF_Family::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Bcrypt_PBKDF_Family::default_params
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:36,1
    - Dst: Botan::Bcrypt_PBKDF_Family::from_iterations
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:41,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:45,1
    - Dst: Botan::Bcrypt_PBKDF_Family::from_iterations
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:55,1
    - Dst: Botan::Bcrypt_PBKDF_Family::from_iterations
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:58,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - output_length
    - msec
    - tune_time
    argTypes:
    - size_t
    - std::chrono::milliseconds
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 59
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: Botan::Bcrypt_PBKDF_Family::tune
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - auto::derive_key
    - Botan::Bcrypt_PBKDF_Family::default_params
    - Botan::Bcrypt_PBKDF_Family::from_iterations
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: "std::unique_ptr<PasswordHash> Bcrypt_PBKDF_Family::tune(size_t output_length,\n
      \                                                       std::chrono::milliseconds
      msec,\n                                                        size_t /*max_memory*/,\n
      \                                                       std::chrono::milliseconds
      tune_time) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Bcrypt_PBKDF_Family::from_iterations
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::Bcrypt_PBKDF_Family::default_params
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 1
    functionsReached:
    - Botan::Bcrypt_PBKDF_Family::from_iterations
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Bcrypt_PBKDF_Family::default_params()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Bcrypt_PBKDF>
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::Bcrypt_PBKDF_Family::from_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<Bcrypt_PBKDF>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Bcrypt_PBKDF_Family::from_iterations(size_t
      iter) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Bcrypt_PBKDF_Family::from_iterations
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::Bcrypt_PBKDF_Family::from_params
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - Botan::Bcrypt_PBKDF_Family::from_iterations
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Bcrypt_PBKDF_Family::from_params(size_t
      iter, size_t /*t*/, size_t /*p*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: salted_set_key
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:91,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:91,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:91,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:91,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:93,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:93,1
    - Dst: Botan::encrypt
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:95,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:106,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ' blowfish'
    - ' pass_hash'
    - ' salt_hash'
    - ' out'
    - ' tmp'
    argTypes:
    - Blowfish
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 110
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 110
    functionName: Botan::bcrypt_round
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_be
    - data
    - Botan::encrypt
    - salted_set_key
    - Botan::xor_buf
    - Botan::copy_mem
    - Botan::size
    linkageType: ''
    returnType: void
    signature: "void bcrypt_round(Blowfish& blowfish,\n                  const secure_vector<uint8_t>&
      pass_hash,\n                  const secure_vector<uint8_t>& salt_hash,\n                  secure_vector<uint8_t>&
      out,\n                  secure_vector<uint8_t>& tmp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:125,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:130,1
    - Dst: auto::process
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:131,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:131,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:133,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:140,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:140,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:140,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:142,1
    - Dst: auto::update_be
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:143,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:143,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:144,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:144,1
    - Dst: bcrypt_round
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:146,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:150,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:151,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:151,1
    - Dst: bcrypt_round
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 163
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 163
    functionName: Botan::Bcrypt_PBKDF::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - auto::output_length
    - secure_vector::data
    - auto::update
    - auto::final
    - auto::update_be
    - reinterpret_cast<const uint8_t*>
    - Botan::HashFunction::create_or_throw
    - BOTAN_ARG_CHECK
    - bcrypt_round
    - secure_vector::size
    - static_cast<uint32_t>
    - auto::process
    linkageType: ''
    returnType: void
    signature: "void Bcrypt_PBKDF::derive_key(uint8_t output[],\n                              size_t
      output_len,\n                              const char* password,\n                              size_t
      password_len,\n                              const uint8_t salt[],\n                              size_t
      salt_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::set_key
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:22,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:22,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' prf'
    - password
    - password_len
    argTypes:
    - MessageAuthenticationCode
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: Botan::pbkdf2_set_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - Invalid_Argument
    - Botan::set_key
    linkageType: ''
    returnType: void
    signature: void pbkdf2_set_key(MessageAuthenticationCode& prf, const char* password,
      size_t password_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:31,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:37,1
    - Dst: Botan::set_key
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ' prf'
    - output_length
    - msec
    argTypes:
    - MessageAuthenticationCode
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 67
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 67
    functionName: Botan::tune_pbkdf2
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::milliseconds
    - Botan::set_key
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: "size_t tune_pbkdf2(MessageAuthenticationCode& prf,\n                   size_t
      output_length,\n                   std::chrono::milliseconds msec,\n                   std::chrono::milliseconds
      tune_time = std::chrono::milliseconds(10))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::tune_pbkdf2
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:80,1
    - Dst: PBKDF2::derive_key
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:85,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:85,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - ' prf'
    - out
    - out_len
    - password
    - salt
    - salt_len
    - iterations
    - msec
    argTypes:
    - MessageAuthenticationCode
    - uint8_t[]
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: Botan::pbkdf2
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - Botan::tune_pbkdf2
    - std::string_view::size
    - PBKDF2::derive_key
    - std::string_view::data
    linkageType: ''
    returnType: size_t
    signature: "size_t pbkdf2(MessageAuthenticationCode& prf,\n              uint8_t
      out[],\n              size_t out_len,\n              std::string_view password,\n
      \             const uint8_t salt[],\n              size_t salt_len,\n              size_t
      iterations,\n              std::chrono::milliseconds msec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:97,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:100,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:107,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:115,1
    - Dst: update_be
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:116,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:117,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:117,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:119,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:119,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:122,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:123,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:123,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:124,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - ' prf'
    - out
    - out_len
    - salt
    - salt_len
    - iterations
    argTypes:
    - MessageAuthenticationCode
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 130
    functionName: Botan::pbkdf2
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - Botan::clear_mem
    - update_be
    - Invalid_Argument
    - Botan::xor_buf
    - Botan::update
    - Botan::final
    - secure_vector::data
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void pbkdf2(MessageAuthenticationCode& prf,\n            uint8_t out[],\n
      \           size_t out_len,\n            const uint8_t salt[],\n            size_t
      salt_len,\n            size_t iterations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tune_pbkdf2
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:141,1
    - Dst: PBKDF2::derive_key
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:146,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:146,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - key
    - key_len
    - password
    - salt
    - salt_len
    - iterations
    - msec
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: Botan::PKCS5_PBKDF2::pbkdf
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - tune_pbkdf2
    - std::string_view::size
    - PBKDF2::derive_key
    - std::string_view::data
    linkageType: ''
    returnType: size_t
    signature: "size_t PKCS5_PBKDF2::pbkdf(uint8_t key[],\n                           size_t
      key_len,\n                           std::string_view password,\n                           const
      uint8_t salt[],\n                           size_t salt_len,\n                           size_t
      iterations,\n                           std::chrono::milliseconds msec) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:152,1
    - Dst: Botan::PKCS5_PBKDF2::name
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: Botan::PKCS5_PBKDF2::name
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::PKCS5_PBKDF2::name
    linkageType: ''
    returnType: std::string
    signature: std::string PKCS5_PBKDF2::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS5_PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:156,1
    - Dst: Botan::PKCS5_PBKDF2::new_object
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: Botan::PKCS5_PBKDF2::new_object
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<PKCS5_PBKDF2>
    - Botan::PKCS5_PBKDF2::new_object
    linkageType: ''
    returnType: std::unique_ptr<PBKDF>
    signature: std::unique_ptr<PBKDF> PKCS5_PBKDF2::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_object
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:162,1
    - Dst: tune_pbkdf2
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' prf'
    - olen
    - msec
    argTypes:
    - MessageAuthenticationCode
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: Botan::PBKDF2::PBKDF2
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - tune_pbkdf2
    - new_object
    linkageType: ''
    returnType: void
    signature: void PBKDF2::PBKDF2(const MessageAuthenticationCode& prf, size_t olen,
      std::chrono::milliseconds msec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:165,1
    - Dst: name
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::PBKDF2::to_string
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string PBKDF2::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pbkdf2_set_key
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:174,1
    - Dst: pbkdf2
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - out
    - out_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: Botan::PBKDF2::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - pbkdf2
    - pbkdf2_set_key
    linkageType: ''
    returnType: void
    signature: "void PBKDF2::derive_key(uint8_t out[],\n                        size_t
      out_len,\n                        const char* password,\n                        const
      size_t password_len,\n                        const uint8_t salt[],\n                        size_t
      salt_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:179,1
    - Dst: Botan::PBKDF2_Family::name
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: Botan::PBKDF2_Family::name
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::PBKDF2_Family::name
    linkageType: ''
    returnType: std::string
    signature: std::string PBKDF2_Family::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tune_pbkdf2
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:186,1
    - Dst: std::make_unique<PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output_len
    - msec
    - tune_time
    argTypes:
    - size_t
    - std::chrono::milliseconds
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: Botan::PBKDF2_Family::tune
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - tune_pbkdf2
    - std::make_unique<PBKDF2>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: "std::unique_ptr<PasswordHash> PBKDF2_Family::tune(size_t output_len,\n
      \                                                 std::chrono::milliseconds
      msec,\n                                                  size_t /*max_memory_usage_mb*/,\n
      \                                                 std::chrono::milliseconds
      tune_time) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: Botan::PBKDF2_Family::default_params
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PBKDF2>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> PBKDF2_Family::default_params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Botan::PBKDF2_Family::from_params
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PBKDF2>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> PBKDF2_Family::from_params(size_t iter,
      size_t /*i2*/, size_t /*i3*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: Botan::PBKDF2_Family::from_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PBKDF2>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> PBKDF2_Family::from_iterations(size_t
      iter) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PBKDF2
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:47,1
    - Dst: m_prf
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:47,1
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:47,1
    - Dst: m_iterations
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:47,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: Botan::PasswordHash
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEPRECATED
    - m_iterations
    - Botan::new_object
    - PBKDF2
    - m_prf
    linkageType: ''
    returnType: PBKDF2
    signature: PBKDF2 PasswordHash
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PBKDF2_Family
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: Botan::PasswordHashFamily
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h
    functionUses: 0
    functionsReached:
    - PBKDF2_Family
    linkageType: ''
    returnType: PBKDF2_Family
    signature: PBKDF2_Family PasswordHashFamily
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:118,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:125,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h
    functionUses: 5
    functionsReached:
    - std::move
    - BOTAN_DEPRECATED
    linkageType: ''
    returnType: PKCS5_PBKDF2
    signature: PKCS5_PBKDF2 final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - capacity
    - custom_padding
    - custom_padding_bit_len
    argTypes:
    - size_t
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: Botan::Keccak_Permutation::Keccak_Permutation
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::Keccak_Permutation(size_t capacity, uint64_t
      custom_padding, uint8_t custom_padding_bit_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: Botan::Keccak_Permutation::provider
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string Keccak_Permutation::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroise
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan::Keccak_Permutation::clear
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 0
    functionsReached:
    - zeroise
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:56,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:58,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:61,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:62,1
    - Dst: BufferSlicer::take_byte
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:62,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:66,1
    - Dst: load_le<uint64_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:67,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:67,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:71,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:72,1
    - Dst: BufferSlicer::take_byte
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:72,1
    - Dst: Botan::Keccak_Permutation::permute
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 81
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 81
    functionName: Botan::Keccak_Permutation::absorb
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - BufferSlicer::remaining
    - BufferSlicer::take
    - BufferSlicer::empty
    - BufferSlicer::take_byte
    - Botan::Keccak_Permutation::permute
    - load_le<uint64_t>
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::absorb(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:88,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:90,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:93,1
    - Dst: BufferStuffer::next_byte
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:94,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:94,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:98,1
    - Dst: store_le
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:99,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:99,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:103,1
    - Dst: BufferStuffer::next_byte
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:104,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:104,1
    - Dst: Botan::Keccak_Permutation::permute
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 113
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 113
    functionName: Botan::Keccak_Permutation::squeeze
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::next_byte
    - store_le
    - static_cast<uint8_t>
    - Botan::Keccak_Permutation::permute
    - BufferStuffer::next
    - BufferStuffer::full
    - BufferStuffer::remaining_capacity
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::squeeze(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:118,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:121,1
    - Dst: Botan::Keccak_Permutation::permute
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: Botan::Keccak_Permutation::finish
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 0
    functionsReached:
    - Botan::Keccak_Permutation::permute
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:128,1
    - Dst: Botan::Keccak_Permutation::permute_bmi2
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:129,1
    - Dst: Keccak_Permutation_round
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:143,1
    - Dst: data
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:143,1
    - Dst: Keccak_Permutation_round
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:144,1
    - Dst: data
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 146
    functionName: Botan::Keccak_Permutation::permute
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 3
    functionsReached:
    - Botan::Keccak_Permutation::permute_bmi2
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Keccak_Permutation_round
    - data
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::permute()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::keccak_max_int_encoding_size
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t keccak_max_int_encoding_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:92,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:101,1
    - Dst: insert
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:103,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:103,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:103,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:103,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:105,1
    - Dst: absorb
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:110,1
    - Dst: Botan::keccak_int_left_encode
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:110,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:110,1
    - Dst: absorb
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:111,1
    - Dst: absorb
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:118,1
    - Dst: absorb
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:124,1
    - Dst: Botan::keccak_int_left_encode
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:124,1
    - Dst: encode_string_and_absorb
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:125,1
    - Dst: absorb_padding
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - ' sink'
    - padding_mod
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: Botan::keccak_absorb_padded_strings_encoding
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h
    functionUses: 1
    functionsReached:
    - Botan::keccak_int_left_encode
    - absorb
    - absorb_padding
    - insert
    - Botan::update
    - Botan::end
    - encode_string_and_absorb
    - Botan::begin
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t keccak_absorb_padded_strings_encoding(T& sink, size_t padding_mod,
      Ts... byte_strings)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 3
    argNames:
    - T
    - A
    - RC
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t
    constantsTouched: []
    func_position:
      end: 82
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 82
    functionName: Botan::Keccak_Permutation_round
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm_round.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation_round(uint64_t T[25], const uint64_t A[25],
      uint64_t RC)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:21,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:21,1
    - Dst: Botan::ceil_tobytes
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:22,1
    - Dst: std::max
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:22,1
    - Dst: Botan::ceil_log2
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: Botan::int_encoding_size
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - Botan::ceil_tobytes
    - cryptofuzz::mutator::ExpModGenerator::max
    - std::max
    - BOTAN_ASSERT_NOMSG
    - Botan::ceil_log2
    linkageType: ''
    returnType: size_t
    signature: size_t int_encoding_size(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::int_encoding_size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:26,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:27,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:27,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:30,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:30,1
    - Dst: std::array::begin
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:32,1
    - Dst: std::advance
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:33,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:34,1
    - Dst: std::array::end
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:34,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:34,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - std::span<uint8_t>
    - uint64_t
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: Botan::encode
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - std::advance
    - Botan::copy
    - std::span<uint8_t>::begin
    - std::span<uint8_t>::size
    - std::array::data
    - Botan::store_be
    - static_cast<uint8_t>
    - std::array::end
    - Botan::int_encoding_size
    - std::array::begin
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t encode(std::span<uint8_t> out, uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:42,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:42,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:43,1
    - Dst: std::span<uint8_t>::last
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:43,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:43,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - std::span<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: Botan::keccak_int_left_encode
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp
    functionUses: 2
    functionsReached:
    - std::span<uint8_t>::last
    - std::span<uint8_t>::size
    - std::span<uint8_t>::first
    - std::span<uint8_t>::empty
    - Botan::encode
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> keccak_int_left_encode(std::span<uint8_t>
      out, size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::encode
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:48,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:49,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:49,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - std::span<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: Botan::keccak_int_right_encode
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp
    functionUses: 1
    functionsReached:
    - std::span<uint8_t>::size
    - std::span<uint8_t>::first
    - Botan::encode
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> keccak_int_right_encode(std::span<uint8_t>
      out, size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::int_encoding_size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::keccak_int_encoding_size
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp
    functionUses: 3
    functionsReached:
    - Botan::int_encoding_size
    linkageType: ''
    returnType: size_t
    signature: size_t keccak_int_encoding_size(size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::Keccak_Permutation::capacity
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t capacity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::Keccak_Permutation::bit_rate
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bit_rate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::Keccak_Permutation::byte_rate
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t byte_rate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Keccak_Permutation_round
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm_bmi2/keccak_perm_bmi2.cpp:25,1
    - Dst: data
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm_bmi2/keccak_perm_bmi2.cpp:25,1
    - Dst: Keccak_Permutation_round
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm_bmi2/keccak_perm_bmi2.cpp:26,1
    - Dst: data
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm_bmi2/keccak_perm_bmi2.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 28
    functionName: Botan::Keccak_Permutation::permute_bmi2
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm_bmi2/keccak_perm_bmi2.cpp
    functionUses: 1
    functionsReached:
    - data
    - Keccak_Permutation_round
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::permute_bmi2()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 131
    functionName: Botan::TLS::final
    functionSourceFile: /src/botan/src/lib/tls/tls_alert.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Alert
    signature: Alert final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session_Manager_Noop
      Src: /src/botan/src/lib/tls/tls_session_manager_noop.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 40
    functionName: Botan::TLS::Session_Manager
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_noop.h
    functionUses: 0
    functionsReached:
    - Session_Manager_Noop
    linkageType: ''
    returnType: Session_Manager_Noop
    signature: Session_Manager_Noop Session_Manager
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::TLS::find_some
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_noop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: std::vector<Session_with_Handle> find_some(const Server_Information&,
      const size_t) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ~Channel_Impl()
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Channel_Impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_alert
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:71,1
    - Dst: Alert
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Alert::Type
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::TLS::Channel_Impl::send_warning_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - Alert
    - send_alert
    linkageType: ''
    returnType: void
    signature: void send_warning_alert(Alert::Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_alert
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:76,1
    - Dst: Alert
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Alert::Type
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::TLS::Channel_Impl::send_fatal_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - Alert
    - send_alert
    linkageType: ''
    returnType: void
    signature: void send_fatal_alert(Alert::Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::send_warning_alert
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan::TLS::Channel_Impl::close
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 9
    functionsReached:
    - Botan::TLS::Channel_Impl::send_warning_alert
    linkageType: ''
    returnType: void
    signature: void close()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan::TLS::Channel_Impl::new_session_ticket_supported
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool new_session_ticket_supported() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::TLS::Channel_Impl::send_new_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t send_new_session_tickets(const size_t /* tickets */)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:228,1
    - Dst: peer_transcript::insert
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:229,1
    - Dst: peer_transcript::end
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:229,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:229,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: Botan::TLS::Channel_Impl::preserve_peer_transcript
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - peer_transcript::insert
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - peer_transcript::end
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void preserve_peer_transcript(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:233,1
    - Dst: client_hello_message::assign
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:234,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:234,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: Botan::TLS::Channel_Impl::preserve_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - client_hello_message::assign
    - std::span<const uint8_t>::end
    - BOTAN_STATE_CHECK
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void preserve_client_hello(std::span<const uint8_t> msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - io_buf_sz
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: Botan::TLS::Channel_Impl::set_io_buffer_size
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void set_io_buffer_size(size_t io_buf_sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: Botan::TLS::Channel_Impl::request_downgrade
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void request_downgrade()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:259,1
    - Dst: client_hello_message::empty
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:259,1
    - Dst: peer_transcript::empty
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:260,1
    - Dst: tls12_session::has_value
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:260,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:261,1
    - Dst: Session_with_Handle::session::version
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:261,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:262,1
    - Dst: Botan::TLS::Channel_Impl::request_downgrade
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - Session_with_Handle
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: Botan::TLS::Channel_Impl::request_downgrade_for_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - peer_transcript::empty
    - Botan::TLS::Channel_Impl::request_downgrade
    - Session_with_Handle::session::version
    - BOTAN_ASSERT_NOMSG
    - client_hello_message::empty
    - BOTAN_STATE_CHECK
    - tls12_session::has_value
    linkageType: ''
    returnType: void
    signature: void request_downgrade_for_resumption(Session_with_Handle session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: Botan::TLS::Channel_Impl::is_downgrading
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_downgrading() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: Botan::TLS::Channel_Impl::extract_downgrade_info
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: std::unique_ptr<Downgrade_Information>
    signature: std::unique_ptr<Downgrade_Information> extract_downgrade_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: Botan::TLS::Channel_Impl::expects_downgrade
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool expects_downgrade() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/tls_server_info.h:24,1
    - Dst: m_hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:24,1
    - Dst: m_service
      Src: /src/botan/src/lib/tls/tls_server_info.h:24,1
    - Dst: m_port
      Src: /src/botan/src/lib/tls/tls_server_info.h:24,1
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls_server_info.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 68
    functionName: Botan::TLS::final
    functionSourceFile: /src/botan/src/lib/tls/tls_server_info.h
    functionUses: 0
    functionsReached:
    - m_hostname
    - m_port
    - Server_Information
    - m_service
    - Botan::TLS::empty
    linkageType: ''
    returnType: Server_Information
    signature: Server_Information final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:71,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:71,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_server_info.h:71,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_server_info.h:71,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_server_info.h:71,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_server_info.h:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Server_Information
    - Server_Information
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: operator==(const Server_Information& a, const Server_Information&
      b)
    functionSourceFile: /src/botan/src/lib/tls/tls_server_info.h
    functionUses: 0
    functionsReached:
    - port
    - hostname
    - service
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Server_Information& a, const Server_Information&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Server_Information
    - Server_Information
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator!=(const Server_Information& a, const Server_Information&
      b)
    functionSourceFile: /src/botan/src/lib/tls/tls_server_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Server_Information& a, const Server_Information&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:79,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:79,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:80,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:80,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_server_info.h:82,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_server_info.h:82,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_server_info.h:83,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_server_info.h:83,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_server_info.h:85,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_server_info.h:85,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_server_info.h:86,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_server_info.h:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Server_Information
    - Server_Information
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: operator<(const Server_Information& a, const Server_Information&
      b)
    functionSourceFile: /src/botan/src/lib/tls/tls_server_info.h
    functionUses: 0
    functionsReached:
    - port
    - hostname
    - service
    linkageType: ''
    returnType: bool
    signature: bool operator<(const Server_Information& a, const Server_Information&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/tls/tls_exceptn.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::TLS::error_code
    functionSourceFile: /src/botan/src/lib/tls/tls_exceptn.h
    functionUses: 2
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int error_code() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::TLS::error_type
    functionSourceFile: /src/botan/src/lib/tls/tls_exceptn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: TLS_Exception
    functionSourceFile: /src/botan/src/lib/tls/tls_exceptn.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Unexpected_Message
    signature: Unexpected_Message TLS_Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:20,1
    - Dst: Policy::allow_ssl_key_log_file
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::TLS::Text_Policy::allow_ssl_key_log_file
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::allow_ssl_key_log_file
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_ssl_key_log_file() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:24,1
    - Dst: Policy::allowed_ciphers
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::TLS::Text_Policy::allowed_ciphers
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_list
    - Policy::allowed_ciphers
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Text_Policy::allowed_ciphers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:28,1
    - Dst: Policy::allowed_signature_hashes
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan::TLS::Text_Policy::allowed_signature_hashes
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_list
    - Policy::allowed_signature_hashes
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Text_Policy::allowed_signature_hashes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:32,1
    - Dst: Policy::allowed_macs
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::TLS::Text_Policy::allowed_macs
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_list
    - Policy::allowed_macs
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Text_Policy::allowed_macs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:36,1
    - Dst: Policy::allowed_key_exchange_methods
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::TLS::Text_Policy::allowed_key_exchange_methods
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_list
    - Policy::allowed_key_exchange_methods
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Text_Policy::allowed_key_exchange_methods()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:40,1
    - Dst: Policy::allowed_signature_methods
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::TLS::Text_Policy::allowed_signature_methods
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_list
    - Policy::allowed_signature_methods
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Text_Policy::allowed_signature_methods() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:44,1
    - Dst: Policy::use_ecc_point_compression
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::TLS::Text_Policy::use_ecc_point_compression
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::use_ecc_point_compression
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::use_ecc_point_compression() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:48,1
    - Dst: Policy::allow_tls12
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::TLS::Text_Policy::allow_tls12
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::allow_tls12
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_tls12() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:52,1
    - Dst: Policy::allow_tls13
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::TLS::Text_Policy::allow_tls13
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::allow_tls13
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_tls13() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:56,1
    - Dst: Policy::allow_dtls12
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::TLS::Text_Policy::allow_dtls12
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::allow_dtls12
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_dtls12() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:60,1
    - Dst: Policy::allow_insecure_renegotiation
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Text_Policy::allow_insecure_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::allow_insecure_renegotiation
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_insecure_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:64,1
    - Dst: Policy::include_time_in_hello_random
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Text_Policy::include_time_in_hello_random
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::include_time_in_hello_random
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::include_time_in_hello_random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:68,1
    - Dst: Policy::require_client_certificate_authentication
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::TLS::Text_Policy::require_client_certificate_authentication
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::require_client_certificate_authentication
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::require_client_certificate_authentication() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:72,1
    - Dst: Policy::allow_client_initiated_renegotiation
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan::TLS::Text_Policy::allow_client_initiated_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::allow_client_initiated_renegotiation
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_client_initiated_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:76,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:77,1
    - Dst: Policy::accepted_client_certificate_types
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:77,1
    - Dst: Botan::TLS::Text_Policy::read_cert_type_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: Botan::TLS::Text_Policy::accepted_client_certificate_types
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::read_cert_type_list
    - Policy::accepted_client_certificate_types
    - Botan::TLS::Text_Policy::get_str
    - auto::empty
    linkageType: ''
    returnType: std::vector<Certificate_Type>
    signature: std::vector<Certificate_Type> Text_Policy::accepted_client_certificate_types()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:81,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:82,1
    - Dst: Policy::accepted_server_certificate_types
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:82,1
    - Dst: Botan::TLS::Text_Policy::read_cert_type_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Botan::TLS::Text_Policy::accepted_server_certificate_types
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::accepted_server_certificate_types
    - Botan::TLS::Text_Policy::get_str
    - Botan::TLS::Text_Policy::read_cert_type_list
    - auto::empty
    linkageType: ''
    returnType: std::vector<Certificate_Type>
    signature: std::vector<Certificate_Type> Text_Policy::accepted_server_certificate_types()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:86,1
    - Dst: Policy::allow_server_initiated_renegotiation
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::TLS::Text_Policy::allow_server_initiated_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::allow_server_initiated_renegotiation
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_server_initiated_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:90,1
    - Dst: Policy::server_uses_own_ciphersuite_preferences
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: Botan::TLS::Text_Policy::server_uses_own_ciphersuite_preferences
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::server_uses_own_ciphersuite_preferences
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::server_uses_own_ciphersuite_preferences() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:94,1
    - Dst: Policy::negotiate_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan::TLS::Text_Policy::negotiate_encrypt_then_mac
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::negotiate_encrypt_then_mac
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::negotiate_encrypt_then_mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:98,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:101,1
    - Dst: std::make_optional
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:102,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: Botan::TLS::Text_Policy::record_size_limit
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::TLS::Text_Policy::get_len
    - std::make_optional
    - static_cast<uint16_t>
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> Text_Policy::record_size_limit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:106,1
    - Dst: Policy::support_cert_status_message
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Botan::TLS::Text_Policy::support_cert_status_message
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::support_cert_status_message
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::support_cert_status_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:110,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:112,1
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:114,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:117,1
    - Dst: Shim_Policy::key_exchange_groups
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:118,1
    - Dst: Botan::TLS::Text_Policy::read_group_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: Botan::TLS::Text_Policy::key_exchange_groups
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::key_exchange_groups
    - std::string::empty
    - Botan::TLS::Text_Policy::get_str
    - Botan::TLS::Text_Policy::read_group_list
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Text_Policy::key_exchange_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:125,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:127,1
    - Dst: Botan::TLS::Text_Policy::key_exchange_groups_to_offer
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:129,1
    - Dst: Botan::TLS::Text_Policy::read_group_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: Botan::TLS::Text_Policy::key_exchange_groups_to_offer
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 1
    functionsReached:
    - std::string::empty
    - Botan::TLS::Text_Policy::get_str
    - Botan::TLS::Text_Policy::read_group_list
    - Botan::TLS::Text_Policy::key_exchange_groups_to_offer
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Text_Policy::key_exchange_groups_to_offer()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:140,1
    - Dst: Policy::minimum_ecdh_group_size
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Botan::TLS::Text_Policy::minimum_ecdh_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_len
    - Policy::minimum_ecdh_group_size
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::minimum_ecdh_group_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:144,1
    - Dst: Policy::minimum_ecdsa_group_size
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Botan::TLS::Text_Policy::minimum_ecdsa_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_len
    - Policy::minimum_ecdsa_group_size
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::minimum_ecdsa_group_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:148,1
    - Dst: Policy::minimum_dh_group_size
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan::TLS::Text_Policy::minimum_dh_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::minimum_dh_group_size
    - Botan::TLS::Text_Policy::get_len
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::minimum_dh_group_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:152,1
    - Dst: Policy::minimum_rsa_bits
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: Botan::TLS::Text_Policy::minimum_rsa_bits
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_len
    - Policy::minimum_rsa_bits
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::minimum_rsa_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:156,1
    - Dst: Policy::minimum_signature_strength
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: Botan::TLS::Text_Policy::minimum_signature_strength
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_len
    - Policy::minimum_signature_strength
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::minimum_signature_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:160,1
    - Dst: Policy::dtls_default_mtu
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: Botan::TLS::Text_Policy::dtls_default_mtu
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_len
    - Policy::dtls_default_mtu
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::dtls_default_mtu() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:164,1
    - Dst: Policy::dtls_initial_timeout
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Botan::TLS::Text_Policy::dtls_initial_timeout
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_len
    - Policy::dtls_initial_timeout
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::dtls_initial_timeout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:168,1
    - Dst: Policy::dtls_maximum_timeout
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Botan::TLS::Text_Policy::dtls_maximum_timeout
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_len
    - Policy::dtls_maximum_timeout
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::dtls_maximum_timeout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:172,1
    - Dst: Policy::require_cert_revocation_info
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Botan::TLS::Text_Policy::require_cert_revocation_info
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::require_cert_revocation_info
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::require_cert_revocation_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:176,1
    - Dst: Policy::hide_unknown_users
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: Botan::TLS::Text_Policy::hide_unknown_users
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::hide_unknown_users
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::hide_unknown_users() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:180,1
    - Dst: Policy::maximum_session_tickets_per_client_hello
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: Botan::TLS::Text_Policy::maximum_session_tickets_per_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_len
    - Policy::maximum_session_tickets_per_client_hello
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::maximum_session_tickets_per_client_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_duration
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:184,1
    - Dst: Policy::session_ticket_lifetime
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: Botan::TLS::Text_Policy::session_ticket_lifetime
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::session_ticket_lifetime
    - Botan::TLS::Text_Policy::get_duration
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds Text_Policy::session_ticket_lifetime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:188,1
    - Dst: Policy::reuse_session_tickets
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan::TLS::Text_Policy::reuse_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::reuse_session_tickets
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::reuse_session_tickets() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:192,1
    - Dst: Policy::new_session_tickets_upon_handshake_success
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: Botan::TLS::Text_Policy::new_session_tickets_upon_handshake_success
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_len
    - Policy::new_session_tickets_upon_handshake_success
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::new_session_tickets_upon_handshake_success() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:197,1
    - Dst: std::vector<std::string>
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:197,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:198,1
    - Dst: to_uint16
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: Botan::TLS::Text_Policy::srtp_profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_list
    - std::vector<std::string>
    - std::vector::push_back
    - to_uint16
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> Text_Policy::srtp_profiles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:204,1
    - Dst: Policy::tls_13_middlebox_compatibility_mode
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: Botan::TLS::Text_Policy::tls_13_middlebox_compatibility_mode
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::tls_13_middlebox_compatibility_mode
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::tls_13_middlebox_compatibility_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:208,1
    - Dst: Policy::hash_hello_random
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: Botan::TLS::Text_Policy::hash_hello_random
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::hash_hello_random
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::hash_hello_random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: Botan::TLS::Text_Policy::set
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Text_Policy::set(const std::string& key, const std::string& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:216,1
    - Dst: read_cfg
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: Botan::TLS::Text_Policy::Text_Policy
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - read_cfg
    linkageType: ''
    returnType: void
    signature: void Text_Policy::Text_Policy(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_cfg
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::istream
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: Botan::TLS::Text_Policy::Text_Policy
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - read_cfg
    linkageType: ''
    returnType: void
    signature: void Text_Policy::Text_Policy(std::istream& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:223,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:225,1
    - Dst: split_on
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' def'
    argTypes:
    - std::string
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: Botan::TLS::Text_Policy::get_list
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 6
    functionsReached:
    - std::string::empty
    - split_on
    - Botan::TLS::Text_Policy::get_str
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Text_Policy::get_list(const std::string& key,
      const std::vector<std::string>& def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_on
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:234,1
    - Dst: Botan::TLS::Group_Params::from_string
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:235,1
    - Dst: Group_Params::is_available
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:237,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:245,1
    - Dst: static_cast<Group_Params>
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:255,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - group_str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 267
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 267
    functionName: Botan::TLS::Text_Policy::read_group_list
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 2
    functionsReached:
    - split_on
    - static_cast<Group_Params>
    - Group_Params::is_available
    - size
    - Botan::TLS::Group_Params::from_string
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Text_Policy::read_group_list(std::string_view
      group_str) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_on
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:271,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:272,1
    - Dst: certificate_type_from_string
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' cert_type_names'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: Botan::TLS::Text_Policy::read_cert_type_list
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 2
    functionsReached:
    - certificate_type_from_string
    - split_on
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Certificate_Type>
    signature: std::vector<Certificate_Type> Text_Policy::read_cert_type_list(const
      std::string& cert_type_names) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:279,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:281,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - def
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: Botan::TLS::Text_Policy::get_len
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 11
    functionsReached:
    - to_u32bit
    - std::string::empty
    - Botan::TLS::Text_Policy::get_str
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::get_len(const std::string& key, size_t def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:290,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:291,1
    - Dst: std::max
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:298,1
    - Dst: std::chrono::seconds::count
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:298,1
    - Dst: rep_t
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:298,1
    - Dst: static_cast<rep_t>
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:302,1
    - Dst: std::min<ull>
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:302,1
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:302,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - def
    argTypes:
    - std::string
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: Botan::TLS::Text_Policy::get_duration
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 1
    functionsReached:
    - rep_t
    - Botan_CLI::Timer::seconds
    - Botan::TLS::Text_Policy::get_len
    - static_cast<rep_t>
    - cryptofuzz::mutator::ExpModGenerator::max
    - std::max
    - std::min<ull>
    - std::chrono::seconds::count
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds Text_Policy::get_duration(const std::string& key,
      std::chrono::seconds def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:308,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:310,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - def
    argTypes:
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: Botan::TLS::Text_Policy::get_bool
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 18
    functionsReached:
    - Decoding_Error
    - std::string::empty
    - Botan::TLS::Text_Policy::get_str
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::get_bool(const std::string& key, bool def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:324,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' def'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: Botan::TLS::Text_Policy::get_str
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 7
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string Text_Policy::get_str(const std::string& key, const std::string&
      def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:333,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:335,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:339,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' key'
    - val
    - overwrite
    argTypes:
    - std::string
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: Botan::TLS::Text_Policy::set_value
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - find
    - std::make_pair
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::set_value(const std::string& key, std::string_view
      val, bool overwrite)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: Botan::Credentials_Manager::psk_identity_hint
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Credentials_Manager::psk_identity_hint(const std::string&
      /*unused*/, const std::string& /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: Botan::Credentials_Manager::psk_identity
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string Credentials_Manager::psk_identity(const std::string& /*unused*/,\n
      \                                             const std::string& /*unused*/,\n
      \                                             const std::string& /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:34,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:34,1
    - Dst: Botan::Credentials_Manager::session_ticket_key
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:44,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:44,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:45,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:45,1
    - Dst: Botan::Credentials_Manager::dtls_cookie_secret
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:48,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:48,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:49,1
    - Dst: Botan::Credentials_Manager::find_preshared_keys
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:54,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:54,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:55,1
    - Dst: auto::front
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:55,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:59,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:59,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - ' type'
    - ' context'
    - ' identity'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 60
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 60
    functionName: Botan::Credentials_Manager::psk
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - auto::front
    - Botan::Credentials_Manager::find_preshared_keys
    - Internal_Error
    - auto::empty
    - SymmetricKey
    - auto::size
    - fmt
    - Botan::Credentials_Manager::session_ticket_key
    - Botan::Credentials_Manager::dtls_cookie_secret
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey Credentials_Manager::psk(const std::string& type,\n                                      const
      std::string& context,\n                                      const std::string&
      identity)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: Botan::Credentials_Manager::find_preshared_keys
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TLS::ExternalPSK>
    signature: "std::vector<TLS::ExternalPSK> Credentials_Manager::find_preshared_keys(std::string_view
      /* host */,\n                                                                       TLS::Connection_Side
      /* whoami */,\n                                                                       const
      std::vector<std::string>& /* identities */,\n                                                                       const
      std::optional<std::string>& /* prf */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Credentials_Manager::find_preshared_keys
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:73,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:74,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:77,1
    - Dst: auto::front
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - host
    - whoami
    - ' identities'
    - ' prf'
    argTypes:
    - std::string_view
    - TLS::Connection_Side
    - std::vector<std::string>
    - std::optional<std::string>
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: Botan::Credentials_Manager::choose_preshared_key
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - auto::empty
    - auto::front
    - Botan::Credentials_Manager::find_preshared_keys
    linkageType: ''
    returnType: std::optional<TLS::ExternalPSK>
    signature: "std::optional<TLS::ExternalPSK> Credentials_Manager::choose_preshared_key(std::string_view
      host,\n                                                                          TLS::Connection_Side
      whoami,\n                                                                          const
      std::vector<std::string>& identities,\n                                                                          const
      std::optional<std::string>& prf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Credentials_Manager::cert_chain
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' key_types'
    - ' cert_signature_schemes'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::vector<AlgorithmIdentifier>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: Botan::Credentials_Manager::find_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan::Credentials_Manager::cert_chain
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Credentials_Manager::find_cert_chain(\n
      \  const std::vector<std::string>& key_types,\n   const std::vector<AlgorithmIdentifier>&
      cert_signature_schemes,\n   const std::vector<X509_DN>& /*unused*/,\n   const
      std::string& type,\n   const std::string& context)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: Botan::Credentials_Manager::find_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Public_Key>
    signature: "std::shared_ptr<Public_Key> Credentials_Manager::find_raw_public_key(const
      std::vector<std::string>& /* key_types */,\n                                                                     const
      std::string& /* type */,\n                                                                     const
      std::string& /* context */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<X509_Certificate>
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: Botan::Credentials_Manager::cert_chain
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 1
    functionsReached:
    - std::vector<X509_Certificate>
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Credentials_Manager::cert_chain(const
      std::vector<std::string>& /*unused*/,\n                                                              const
      std::vector<AlgorithmIdentifier>& /*unused*/,\n                                                              const
      std::string& /*unused*/,\n                                                              const
      std::string& /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Credentials_Manager::find_cert_chain
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:108,1
    - Dst: std::vector<X509_DN>
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' cert_key_type'
    - ' cert_signature_schemes'
    - ' type'
    - ' context'
    argTypes:
    - std::string
    - std::vector<AlgorithmIdentifier>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: Botan::Credentials_Manager::cert_chain_single_type
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan::Credentials_Manager::find_cert_chain
    - std::vector<X509_DN>
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Credentials_Manager::cert_chain_single_type(\n
      \  const std::string& cert_key_type,\n   const std::vector<AlgorithmIdentifier>&
      cert_signature_schemes,\n   const std::string& type,\n   const std::string&
      context)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: Botan::Credentials_Manager::private_key_for
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Private_Key>
    signature: "std::shared_ptr<Private_Key> Credentials_Manager::private_key_for(const
      X509_Certificate& /*unused*/,\n                                                                  const
      std::string& /*unused*/,\n                                                                  const
      std::string& /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: Botan::Credentials_Manager::private_key_for
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Private_Key>
    signature: "std::shared_ptr<Private_Key> Credentials_Manager::private_key_for(const
      Public_Key& /* raw_public_key */,\n                                                                  const
      std::string& /* type */,\n                                                                  const
      std::string& /* context */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Botan::Credentials_Manager::session_ticket_key
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Credentials_Manager::session_ticket_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Botan::Credentials_Manager::dtls_cookie_secret
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Credentials_Manager::dtls_cookie_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Certificate_Store*>
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: Botan::Credentials_Manager::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached:
    - std::vector<Certificate_Store*>
    linkageType: ''
    returnType: std::vector<Certificate_Store*>
    signature: "std::vector<Certificate_Store*> Credentials_Manager::trusted_certificate_authorities(const
      std::string& /*unused*/,\n                                                                                     const
      std::string& /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls_session.cpp:29,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:33,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_session.cpp:33,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:34,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session.cpp:34,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:37,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_session.cpp:37,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:38,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session.cpp:38,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/tls/tls_session.cpp:38,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:44,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_session.cpp:44,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:45,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session.cpp:45,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/tls/tls_session.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: Botan::TLS::Session_Handle::validate_constraints
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - std::visit
    - empty
    - cryptofuzz::mutator::ExpModGenerator::max
    - size
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Session_Handle::validate_constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Opaque_Session_Handle
      Src: /src/botan/src/lib/tls/tls_session.cpp:54,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls_session.cpp:54,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_session.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan::TLS::Session_Handle::opaque_handle
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - std::visit
    - get
    - Opaque_Session_Handle
    linkageType: ''
    returnType: Opaque_Session_Handle
    signature: Opaque_Session_Handle Session_Handle::opaque_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_id
      Src: /src/botan/src/lib/tls/tls_session.cpp:58,1
    - Dst: std::get<Session_ID>
      Src: /src/botan/src/lib/tls/tls_session.cpp:59,1
    - Dst: is_opaque_handle
      Src: /src/botan/src/lib/tls/tls_session.cpp:63,1
    - Dst: std::get<Opaque_Session_Handle>
      Src: /src/botan/src/lib/tls/tls_session.cpp:64,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session.cpp:65,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/tls_session.cpp:66,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_session.cpp:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: Botan::TLS::Session_Handle::id
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - Session_ID
    - std::get<Opaque_Session_Handle>
    - is_opaque_handle
    - std::get<Session_ID>
    - is_id
    - size
    - get
    linkageType: ''
    returnType: std::optional<Session_ID>
    signature: std::optional<Session_ID> Session_Handle::id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_ticket
      Src: /src/botan/src/lib/tls/tls_session.cpp:74,1
    - Dst: std::get<Session_Ticket>
      Src: /src/botan/src/lib/tls/tls_session.cpp:75,1
    - Dst: is_opaque_handle
      Src: /src/botan/src/lib/tls/tls_session.cpp:79,1
    - Dst: Session_Ticket
      Src: /src/botan/src/lib/tls/tls_session.cpp:80,1
    - Dst: std::get<Opaque_Session_Handle>
      Src: /src/botan/src/lib/tls/tls_session.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: Botan::TLS::Session_Handle::ticket
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - is_ticket
    - Session_Ticket
    - std::get<Opaque_Session_Handle>
    - is_opaque_handle
    - std::get<Session_Ticket>
    linkageType: ''
    returnType: std::optional<Session_Ticket>
    signature: std::optional<Session_Ticket> Session_Handle::ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls_session.cpp:87,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session.cpp:88,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_session.cpp:89,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:89,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: Botan::TLS::Session_Base::ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Ciphersuite::by_id
    - std::to_string
    - auto::value
    - Decoding_Error
    - auto::has_value
    linkageType: ''
    returnType: Ciphersuite
    signature: Ciphersuite Session_Base::ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:97,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:98,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls_session.cpp:98,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls_session.cpp:100,1
    - Dst: auto::kex_algo
      Src: /src/botan/src/lib/tls/tls_session.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' base'
    - was_resumption
    - psk_identity
    argTypes:
    - Session_Base
    - bool
    - std::optional<std::string>
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: Botan::TLS::Session_Summary::Session_Summary
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - version
    - auto::kex_algo
    - ciphersuite
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void Session_Summary::Session_Summary(const Session_Base& base,\n
      \                                bool was_resumption,\n                                 std::optional<std::string>
      psk_identity)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<Named_Group>::is_dh_named_group
      Src: /src/botan/src/lib/tls/tls_session.cpp:110,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:111,1
    - Dst: std::optional<Named_Group>::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls_session.cpp:112,1
    - Dst: std::optional<Named_Group>::is_x25519
      Src: /src/botan/src/lib/tls/tls_session.cpp:112,1
    - Dst: std::optional<Named_Group>::is_x448
      Src: /src/botan/src/lib/tls/tls_session.cpp:112,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:113,1
    - Dst: std::optional<Named_Group>::is_pure_ml_kem
      Src: /src/botan/src/lib/tls/tls_session.cpp:114,1
    - Dst: std::optional<Named_Group>::is_pure_frodokem
      Src: /src/botan/src/lib/tls/tls_session.cpp:114,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:115,1
    - Dst: std::optional<Named_Group>::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls_session.cpp:116,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:117,1
    - Dst: std::optional<Named_Group>::to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:118,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:122,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_session.cpp:124,1
    - Dst: std::optional<Named_Group>::has_value
      Src: /src/botan/src/lib/tls/tls_session.cpp:124,1
    - Dst: std::optional<Named_Group>::is_dh_named_group
      Src: /src/botan/src/lib/tls/tls_session.cpp:125,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:126,1
    - Dst: std::optional<Named_Group>::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls_session.cpp:127,1
    - Dst: std::optional<Named_Group>::is_x25519
      Src: /src/botan/src/lib/tls/tls_session.cpp:127,1
    - Dst: std::optional<Named_Group>::is_x448
      Src: /src/botan/src/lib/tls/tls_session.cpp:127,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:128,1
    - Dst: std::optional<Named_Group>::is_pure_ml_kem
      Src: /src/botan/src/lib/tls/tls_session.cpp:129,1
    - Dst: std::optional<Named_Group>::is_pure_frodokem
      Src: /src/botan/src/lib/tls/tls_session.cpp:129,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:130,1
    - Dst: std::optional<Named_Group>::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls_session.cpp:131,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:132,1
    - Dst: std::optional<Named_Group>::to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:133,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:138,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 2
    argNames:
    - psk
    - group
    argTypes:
    - bool
    - std::optional<Named_Group>
    constantsTouched: []
    func_position:
      end: 139
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 139
    functionName: Botan::TLS::tls13_kex_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - std::optional<Named_Group>::has_value
    - std::optional<Named_Group>::is_dh_named_group
    - std::optional<Named_Group>::to_string
    - std::optional<Named_Group>::is_pure_frodokem
    - Botan::TLS::kex_method_to_string
    - std::optional<Named_Group>::is_x448
    - std::optional<Named_Group>::is_pqc_hybrid
    - std::optional<Named_Group>::is_x25519
    - std::optional<Named_Group>::is_ecdh_named_curve
    - std::optional<Named_Group>::is_pure_ml_kem
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::string
    signature: std::string tls13_kex_to_string(bool psk, std::optional<Named_Group>
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: selected_version
      Src: /src/botan/src/lib/tls/tls_session.cpp:152,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls_session.cpp:153,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:168,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:169,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:170,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:171,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:173,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls_session.cpp:173,1
    - Dst: set_session_id
      Src: /src/botan/src/lib/tls/tls_session.cpp:174,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/tls_session.cpp:174,1
    - Dst: psk_used
      Src: /src/botan/src/lib/tls/tls_session.cpp:180,1
    - Dst: was_resumption
      Src: /src/botan/src/lib/tls/tls_session.cpp:180,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls_session.cpp:181,1
    - Dst: auto::selected_group
      Src: /src/botan/src/lib/tls/tls_session.cpp:182,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls_session.cpp:187,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_session.cpp:188,1
    - Dst: auto::selected_group
      Src: /src/botan/src/lib/tls/tls_session.cpp:189,1
    - Dst: std::optional::has_value
      Src: /src/botan/src/lib/tls/tls_session.cpp:193,1
    - Dst: std::optional::to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:194,1
    - Dst: tls13_kex_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:197,1
    - Dst: psk_used
      Src: /src/botan/src/lib/tls/tls_session.cpp:197,1
    - Dst: was_resumption
      Src: /src/botan/src/lib/tls/tls_session.cpp:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 8
    argNames:
    - ' server_hello'
    - side
    - peer_certs
    - peer_raw_public_key
    - psk_identity
    - session_was_resumed
    - server_info
    - current_timestamp
    argTypes:
    - Server_Hello_13
    - Connection_Side
    - std::vector<X509_Certificate>
    - std::shared_ptr<const Public_Key>
    - std::optional<std::string>
    - bool
    - Server_Information
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 198
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 198
    functionName: Botan::TLS::Session_Summary::Session_Summary
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - session_id
    - selected_version
    - version
    - ciphersuite
    - psk_used
    - std::optional::to_string
    - set_session_id
    - was_resumption
    - extensions
    - std::optional::has_value
    - BOTAN_ASSERT_NONNULL
    - auto::selected_group
    - BOTAN_ARG_CHECK
    - tls13_kex_to_string
    linkageType: ''
    returnType: void
    signature: "void Session_Summary::Session_Summary(const Server_Hello_13& server_hello,\n
      \                                Connection_Side side,\n                                 std::vector<X509_Certificate>
      peer_certs,\n                                 std::shared_ptr<const Public_Key>
      peer_raw_public_key,\n                                 std::optional<std::string>
      psk_identity,\n                                 bool session_was_resumed,\n
      \                                Server_Information server_info,\n                                 std::chrono::system_clock::time_point
      current_timestamp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:228,1
    - Dst: Protocol_Version::is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_session.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - ' master_secret'
    - version
    - ciphersuite
    - side
    - extended_master_secret
    - encrypt_then_mac
    - ' certs'
    - ' server_info'
    - srtp_profile
    - current_timestamp
    - lifetime_hint
    argTypes:
    - secure_vector<uint8_t>
    - Protocol_Version
    - uint16_t
    - Connection_Side
    - bool
    - bool
    - std::vector<X509_Certificate>
    - Server_Information
    - uint16_t
    - std::chrono::system_clock::time_point
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 229
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 229
    functionName: Botan::TLS::Session::Session
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Protocol_Version::is_pre_tls_13
    linkageType: ''
    returnType: void
    signature: "void Session::Session(const secure_vector<uint8_t>& master_secret,\n
      \                Protocol_Version version,\n                 uint16_t ciphersuite,\n
      \                Connection_Side side,\n                 bool extended_master_secret,\n
      \                bool encrypt_then_mac,\n                 const std::vector<X509_Certificate>&
      certs,\n                 const Server_Information& server_info,\n                 uint16_t
      srtp_profile,\n                 std::chrono::system_clock::time_point current_timestamp,\n
      \                std::chrono::seconds lifetime_hint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:262,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls_session.cpp:265,1
    - Dst: value_or
      Src: /src/botan/src/lib/tls/tls_session.cpp:266,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:269,1
    - Dst: Protocol_Version::is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_session.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - ' session_psk'
    - ' max_early_data_bytes'
    - ticket_age_add
    - lifetime_hint
    - version
    - ciphersuite
    - side
    - ' peer_certs'
    - peer_raw_public_key
    - ' server_info'
    - current_timestamp
    argTypes:
    - secure_vector<uint8_t>
    - std::optional<uint32_t>
    - uint32_t
    - std::chrono::seconds
    - Protocol_Version
    - uint16_t
    - Connection_Side
    - std::vector<X509_Certificate>
    - std::shared_ptr<const Public_Key>
    - Server_Information
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 270
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 270
    functionName: Botan::TLS::Session::Session
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Protocol_Version::is_pre_tls_13
    - value_or
    - BOTAN_ARG_CHECK
    - has_value
    linkageType: ''
    returnType: void
    signature: "void Session::Session(const secure_vector<uint8_t>& session_psk,\n
      \                const std::optional<uint32_t>& max_early_data_bytes,\n                 uint32_t
      ticket_age_add,\n                 std::chrono::seconds lifetime_hint,\n                 Protocol_Version
      version,\n                 uint16_t ciphersuite,\n                 Connection_Side
      side,\n                 const std::vector<X509_Certificate>& peer_certs,\n                 std::shared_ptr<const
      Public_Key> peer_raw_public_key,\n                 const Server_Information&
      server_info,\n                 std::chrono::system_clock::time_point current_timestamp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_current_timestamp
      Src: /src/botan/src/lib/tls/tls_session.cpp:281,1
    - Dst: selected_version
      Src: /src/botan/src/lib/tls/tls_session.cpp:282,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls_session.cpp:283,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:289,1
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/tls_session.cpp:290,1
    - Dst: sni_hostname
      Src: /src/botan/src/lib/tls/tls_session.cpp:290,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:291,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls_session.cpp:292,1
    - Dst: value_or
      Src: /src/botan/src/lib/tls/tls_session.cpp:293,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:294,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls_session.cpp:294,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:296,1
    - Dst: is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_session.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 9
    argNames:
    - ' session_psk'
    - ' max_early_data_bytes'
    - lifetime_hint
    - ' peer_certs'
    - peer_raw_public_key
    - ' client_hello'
    - ' server_hello'
    - ' callbacks'
    - ' rng'
    argTypes:
    - secure_vector<uint8_t>
    - std::optional<uint32_t>
    - std::chrono::seconds
    - std::vector<X509_Certificate>
    - std::shared_ptr<const Public_Key>
    - Client_Hello_13
    - Server_Hello_13
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 298
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 298
    functionName: Botan::TLS::Session::Session
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - selected_version
    - ciphersuite
    - sni_hostname
    - Server_Information
    - random_vec
    - value_or
    - load_be<uint32_t>
    - BOTAN_ARG_CHECK
    - is_pre_tls_13
    - tls_current_timestamp
    - has_value
    linkageType: ''
    returnType: void
    signature: "void Session::Session(secure_vector<uint8_t>&& session_psk,\n                 const
      std::optional<uint32_t>& max_early_data_bytes,\n                 std::chrono::seconds
      lifetime_hint,\n                 const std::vector<X509_Certificate>& peer_certs,\n
      \                std::shared_ptr<const Public_Key> peer_raw_public_key,\n                 const
      Client_Hello_13& client_hello,\n                 const Server_Hello_13& server_hello,\n
      \                Callbacks& callbacks,\n                 RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/lib/tls/tls_session.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pem
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: Botan::TLS::Session::Session
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - Botan::PEM_Code::decode_check_label
    linkageType: ''
    returnType: void
    signature: void Session::Session(std::string_view pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/tls/tls_session.cpp:320,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/tls_session.cpp:320,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls_session.cpp:320,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:322,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls_session.cpp:345,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_session.cpp:346,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:349,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls_session.cpp:353,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/botan/src/lib/tls/tls_session.cpp:354,1
    - Dst: static_cast<Connection_Side>
      Src: /src/botan/src/lib/tls/tls_session.cpp:355,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:356,1
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/tls_session.cpp:359,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/tls/tls_session.cpp:359,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/tls/tls_session.cpp:359,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:359,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls_session.cpp:361,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/tls/tls_session.cpp:362,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/tls/tls_session.cpp:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ber_data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 366
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 366
    functionName: Botan::TLS::Session::Session
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - Botan::X509::load_key
    - Botan::TLS::Ciphersuite::by_id
    - std::to_string
    - ASN1_String::value
    - static_cast<size_t>
    - Botan_CLI::Timer::seconds
    - static_cast<Connection_Side>
    - BER_Decoder
    - Protocol_Version
    - Server_Information
    - std::span<const uint8_t>::size
    - static_cast<uint16_t>
    - std::span<const uint8_t>::data
    - Decoding_Error
    - std::chrono::system_clock::from_time_t
    linkageType: ''
    returnType: void
    signature: void Session::Session(std::span<const uint8_t> ber_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_public_key
      Src: /src/botan/src/lib/tls/tls_session.cpp:370,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/tls/tls_session.cpp:372,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:374,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:375,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/botan/src/lib/tls/tls_session.cpp:375,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:376,1
    - Dst: major_version
      Src: /src/botan/src/lib/tls/tls_session.cpp:376,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:377,1
    - Dst: minor_version
      Src: /src/botan/src/lib/tls/tls_session.cpp:377,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:378,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:379,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/tls/tls_session.cpp:387,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_session.cpp:387,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/tls/tls_session.cpp:388,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_session.cpp:388,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:389,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_session.cpp:389,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:390,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:394,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:395,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:396,1
    - Dst: count
      Src: /src/botan/src/lib/tls/tls_session.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 399
    functionName: Botan::TLS::Session::DER_encode
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 1
    functionsReached:
    - subject_public_key
    - std::chrono::system_clock::to_time_t
    - static_cast<size_t>
    - minor_version
    - ASN1_String
    - hostname
    - DER_Encoder
    - port
    - count
    - service
    - major_version
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Session::DER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/tls/tls_session.cpp:402,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/lib/tls/tls_session.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: Botan::TLS::Session::PEM_encode
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 1
    functionsReached:
    - Botan::PEM_Code::encode
    - Botan::TLS::Session::DER_encode
    linkageType: ''
    returnType: std::string
    signature: std::string Session::PEM_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:406,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_session.cpp:406,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls_session.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: Botan::TLS::Session::extract_master_secret
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Session::extract_master_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/tls/tls_session.cpp:432,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls_session.cpp:433,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/tls/tls_session.cpp:436,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls_session.cpp:437,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/tls_session.cpp:438,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls_session.cpp:438,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/tls/tls_session.cpp:439,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls_session.cpp:444,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls_session.cpp:445,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls_session.cpp:447,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/tls_session.cpp:448,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/lib/tls/tls_session.cpp:450,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls_session.cpp:454,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/tls/tls_session.cpp:454,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/tls/tls_session.cpp:455,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls_session.cpp:456,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/tls/tls_session.cpp:461,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_session.cpp:462,1
    - Dst: auto::valid_nonce_length
      Src: /src/botan/src/lib/tls/tls_session.cpp:462,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_session.cpp:463,1
    - Dst: auto::tag_size
      Src: /src/botan/src/lib/tls/tls_session.cpp:463,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls_session.cpp:464,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/lib/tls/tls_session.cpp:465,1
    - Dst: auto::start
      Src: /src/botan/src/lib/tls/tls_session.cpp:466,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/tls/tls_session.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - ' key'
    - ' rng'
    argTypes:
    - SymmetricKey
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 472
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 472
    functionName: Botan::TLS::Session::encrypt
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 1
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::output_length
    - Botan::TLS::Session::DER_encode
    - auto::valid_nonce_length
    - auto::final
    - BOTAN_ASSERT_NOMSG
    - auto::set_key
    - auto::finish
    - auto::start
    - std::vector::resize
    - std::vector::data
    - std::vector::reserve
    - store_be
    - auto::set_associated_data
    - auto::update
    - auto::tag_size
    - random_vec
    - secure_vector::size
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Session::encrypt(const SymmetricKey& key, RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls_session.cpp:477,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_session.cpp:478,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/tls/tls_session.cpp:482,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/tls/tls_session.cpp:483,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/tls/tls_session.cpp:484,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/tls/tls_session.cpp:485,1
    - Dst: BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/lib/tls/tls_session.cpp:486,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/tls/tls_session.cpp:486,1
    - Dst: load_be<uint64_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:488,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_session.cpp:489,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/tls/tls_session.cpp:492,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls_session.cpp:493,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/tls/tls_session.cpp:496,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls_session.cpp:497,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/tls_session.cpp:498,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls_session.cpp:498,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/tls/tls_session.cpp:500,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls_session.cpp:500,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_session.cpp:501,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls_session.cpp:504,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/tls_session.cpp:505,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/tls/tls_session.cpp:507,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls_session.cpp:508,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/lib/tls/tls_session.cpp:509,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/tls_session.cpp:509,1
    - Dst: auto::start
      Src: /src/botan/src/lib/tls/tls_session.cpp:510,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/tls/tls_session.cpp:511,1
    - Dst: Botan::TLS::Session::Session
      Src: /src/botan/src/lib/tls/tls_session.cpp:512,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_session.cpp:514,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls_session.cpp:514,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls_session.cpp:514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - in
    - ' key'
    argTypes:
    - std::span<const uint8_t>
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 516
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 516
    functionName: Botan::TLS::Session::decrypt
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 1
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    - what
    - auto::output_length
    - std::string
    - Decoding_Error
    - auto::final
    - auto::set_key
    - auto::finish
    - Botan::CT::is_equal
    - BufferSlicer::remaining
    - auto::start
    - std::vector::data
    - auto::set_associated_data
    - BufferSlicer::take
    - load_be<uint64_t>
    - Botan::TLS::Session::Session
    - auto::update
    - std::span<const uint8_t>::data
    - BufferSlicer::copy_as_secure_vector
    - std::span<const uint8_t>::size
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: Session
    signature: Session Session::decrypt(std::span<const uint8_t> in, const SymmetricKey&
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:33,1
    - Dst: choose_sig_format
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:35,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:38,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:38,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:40,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' io'
    - ' state'
    - ' policy'
    - ' rng'
    - priv_key
    argTypes:
    - Handshake_IO
    - Handshake_State
    - Policy
    - RandomNumberGenerator
    - Private_Key*
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: Botan::TLS::Certificate_Verify_12::Certificate_Verify_12
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - choose_sig_format
    - hash
    - BOTAN_ASSERT_NONNULL
    - callbacks
    - send
    linkageType: ''
    returnType: void
    signature: "void Certificate_Verify_12::Certificate_Verify_12(Handshake_IO& io,\n
      \                                            Handshake_State& state,\n                                             const
      Policy& policy,\n                                             RandomNumberGenerator&
      rng,\n                                             const Private_Key* priv_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Signature_Scheme
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:49,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:49,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:50,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:51,1
    - Dst: is_set
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:53,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Certificate_Verify::Certificate_Verify
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - TLS_Data_Reader::get_uint16_t
    - is_set
    - TLS_Data_Reader::get_range
    - Decoding_Error
    - Signature_Scheme
    - TLS_Data_Reader::assert_done
    linkageType: ''
    returnType: void
    signature: void Certificate_Verify::Certificate_Verify(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:62,1
    - Dst: is_set
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:62,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:64,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:64,1
    - Dst: wire_code
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:66,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:67,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:67,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:68,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:68,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:70,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:71,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:75,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:76,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: Botan::TLS::Certificate_Verify::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - Encoding_Error
    - std::vector::reserve
    - get_byte<1>
    - is_set
    - wire_code
    - size
    - get_byte<0>
    - std::vector::push_back
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Verify::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_public_key
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:85,1
    - Dst: check_peer_key_acceptable
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:87,1
    - Dst: parse_sig_format
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:90,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:90,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' cert'
    - ' state'
    - ' policy'
    argTypes:
    - X509_Certificate
    - Handshake_State
    - Policy
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: Botan::TLS::Certificate_Verify_12::verify
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - subject_public_key
    - parse_sig_format
    - client_hello
    - check_peer_key_acceptable
    linkageType: ''
    returnType: bool
    signature: "bool Certificate_Verify_12::verify(const X509_Certificate& cert,\n
      \                                  const Handshake_State& state,\n                                   const
      Policy& policy) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:111,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:111,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:116,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:116,1
    - Dst: std::string::cbegin
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:116,1
    - Dst: std::string::cend
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:116,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:117,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:119,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:119,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:119,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - side
    - ' hash'
    argTypes:
    - Connection_Side
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: Botan::TLS::message
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - std::vector::reserve
    - std::string::cend
    - cend
    - cbegin
    - std::string::cbegin
    - size
    - std::vector::push_back
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> message(Connection_Side side, const Transcript_Hash&
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:127,1
    - Dst: is_suitable_for
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:127,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:127,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ' key'
    - ' allowed_schemes'
    - ' peer_allowed_schemes'
    argTypes:
    - Private_Key
    - std::vector<Signature_Scheme>
    - std::vector<Signature_Scheme>
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: Botan::TLS::choose_signature_scheme
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - is_suitable_for
    - TLS_Exception
    - is_available
    - value_exists
    linkageType: ''
    returnType: Signature_Scheme
    signature: "Signature_Scheme choose_signature_scheme(const Private_Key& key,\n
      \                                        const std::vector<Signature_Scheme>&
      allowed_schemes,\n                                         const std::vector<Signature_Scheme>&
      peer_allowed_schemes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:150,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:150,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:153,1
    - Dst: has_certificate_chain
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:155,1
    - Dst: private_key_for
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:156,1
    - Dst: leaf
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:156,1
    - Dst: private_key_for
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:157,1
    - Dst: public_key
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:157,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:159,1
    - Dst: choose_signature_scheme
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:162,1
    - Dst: allowed_signature_schemes
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:162,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:163,1
    - Dst: is_available
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:163,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:164,1
    - Dst: is_compatible_with
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:164,1
    - Dst: tls_sign_message
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:166,1
    - Dst: padding_string
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:167,1
    - Dst: format
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:167,1
    - Dst: message
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 9
    argNames:
    - ' certificate_msg'
    - ' peer_allowed_schemes'
    - hostname
    - ' hash'
    - whoami
    - ' creds_mgr'
    - ' policy'
    - ' callbacks'
    - ' rng'
    argTypes:
    - Certificate_13
    - std::vector<Signature_Scheme>
    - std::string_view
    - Transcript_Hash
    - Connection_Side
    - Credentials_Manager
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 168
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 168
    functionName: Botan::TLS::Certificate_Verify_13::Certificate_Verify_13
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - choose_signature_scheme
    - TLS_Exception
    - allowed_signature_schemes
    - public_key
    - message
    - tls_sign_message
    - empty
    - format
    - padding_string
    - std::string
    - is_compatible_with
    - leaf
    - private_key_for
    - is_available
    - has_certificate_chain
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void Certificate_Verify_13::Certificate_Verify_13(const Certificate_13&
      certificate_msg,\n                                             const std::vector<Signature_Scheme>&
      peer_allowed_schemes,\n                                             std::string_view
      hostname,\n                                             const Transcript_Hash&
      hash,\n                                             Connection_Side whoami,\n
      \                                            Credentials_Manager& creds_mgr,\n
      \                                            const Policy& policy,\n                                             Callbacks&
      callbacks,\n                                             RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:172,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:173,1
    - Dst: is_compatible_with
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:176,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' buf'
    - side
    argTypes:
    - std::vector<uint8_t>
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: Botan::TLS::Certificate_Verify_13::Certificate_Verify_13
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - is_compatible_with
    - is_available
    linkageType: ''
    returnType: void
    signature: void Certificate_Verify_13::Certificate_Verify_13(const std::vector<uint8_t>&
      buf, const Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:187,1
    - Dst: is_available
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:187,1
    - Dst: key_algorithm_identifier
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:192,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:192,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:193,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' public_key'
    - ' callbacks'
    - ' transcript_hash'
    argTypes:
    - Public_Key
    - Callbacks
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: Botan::TLS::Certificate_Verify_13::verify
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - TLS_Exception
    - algorithm_identifier
    - key_algorithm_identifier
    - is_available
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: "bool Certificate_Verify_13::verify(const Public_Key& public_key,\n
      \                                  Callbacks& callbacks,\n                                   const
      Transcript_Hash& transcript_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - type
    - buf_in
    argTypes:
    - char*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: Botan::TLS::TLS_Data_Reader::TLS_Data_Reader
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Data_Reader(const char* type, std::span<const uint8_t> buf_in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::has_remaining
      Src: /src/botan/src/lib/tls/tls_reader.h:30,1
    - Dst: Botan::TLS::TLS_Data_Reader::throw_decode_error
      Src: /src/botan/src/lib/tls/tls_reader.h:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: Botan::TLS::TLS_Data_Reader::assert_done
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::throw_decode_error
    - Botan::TLS::TLS_Data_Reader::has_remaining
    linkageType: ''
    returnType: void
    signature: void assert_done() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::TLS::TLS_Data_Reader::read_so_far
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t read_so_far() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_reader.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::TLS::TLS_Data_Reader::remaining_bytes
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t remaining_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::remaining_bytes
      Src: /src/botan/src/lib/tls/tls_reader.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::TLS::TLS_Data_Reader::has_remaining
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 2
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::remaining_bytes
    linkageType: ''
    returnType: bool
    signature: bool has_remaining() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_reader.h:41,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_reader.h:41,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_reader.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::TLS::TLS_Data_Reader::get_remaining
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - begin
    - end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_remaining()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_reader.h:44,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_reader.h:44,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_reader.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::TLS::TLS_Data_Reader::get_data_read_so_far
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_data_read_so_far()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::TLS::TLS_Data_Reader::discard_next
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: void
    signature: void discard_next(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: Botan::TLS::TLS_Data_Reader::get_uint32_t
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_uint32_t()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: Botan::TLS::TLS_Data_Reader::get_uint24_t
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_uint24_t()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: Botan::TLS::TLS_Data_Reader::get_uint16_t
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_uint16_t()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:74,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/tls/tls_reader.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: Botan::TLS::TLS_Data_Reader::peek_uint16_t
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    - make_uint16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t peek_uint16_t() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: Botan::TLS::TLS_Data_Reader::get_byte
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:87,1
    - Dst: load_be<T>
      Src: /src/botan/src/lib/tls/tls_reader.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - num_elems
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: Botan::TLS::TLS_Data_Reader::get_elem
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - load_be<T>
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: Container
    signature: Container get_elem(size_t num_elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::get_fixed
      Src: /src/botan/src/lib/tls/tls_reader.h:101,1
    - Dst: Botan::TLS::TLS_Data_Reader::get_length_field
      Src: /src/botan/src/lib/tls/tls_reader.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len_bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::TLS::TLS_Data_Reader::get_tls_length_value
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::get_fixed
    - Botan::TLS::TLS_Data_Reader::get_length_field
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_tls_length_value(size_t len_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::get_elem
      Src: /src/botan/src/lib/tls/tls_reader.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - len_bytes
    - min_elems
    - max_elems
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: Botan::TLS::TLS_Data_Reader::get_range
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::get_elem
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> get_range(size_t len_bytes, size_t min_elems, size_t
      max_elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::get_elem
      Src: /src/botan/src/lib/tls/tls_reader.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - len_bytes
    - min_elems
    - max_elems
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: Botan::TLS::TLS_Data_Reader::get_range_vector
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::get_elem
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> get_range_vector(size_t len_bytes, size_t min_elems,
      size_t max_elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::get_range_vector
      Src: /src/botan/src/lib/tls/tls_reader.h:119,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls_reader.h:121,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/tls/tls_reader.h:121,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls_reader.h:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_reader.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - len_bytes
    - min_bytes
    - max_bytes
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: Botan::TLS::TLS_Data_Reader::get_string
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::TLS::TLS_Data_Reader::get_range_vector
    - std::string
    - cast_uint8_ptr_to_char
    linkageType: ''
    returnType: std::string
    signature: std::string get_string(size_t len_bytes, size_t min_bytes, size_t max_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::get_elem
      Src: /src/botan/src/lib/tls/tls_reader.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::TLS::TLS_Data_Reader::get_fixed
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::get_elem
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> get_fixed(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:131,1
    - Dst: Botan::TLS::TLS_Data_Reader::get_byte
      Src: /src/botan/src/lib/tls/tls_reader.h:134,1
    - Dst: Botan::TLS::TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls_reader.h:136,1
    - Dst: Botan::TLS::TLS_Data_Reader::get_uint24_t
      Src: /src/botan/src/lib/tls/tls_reader.h:138,1
    - Dst: Botan::TLS::TLS_Data_Reader::throw_decode_error
      Src: /src/botan/src/lib/tls/tls_reader.h:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - len_bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: Botan::TLS::TLS_Data_Reader::get_length_field
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::get_byte
    - Botan::TLS::TLS_Data_Reader::get_uint24_t
    - Botan::TLS::TLS_Data_Reader::throw_decode_error
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    - Botan::TLS::TLS_Data_Reader::get_uint16_t
    linkageType: ''
    returnType: size_t
    signature: size_t get_length_field(size_t len_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::throw_decode_error
      Src: /src/botan/src/lib/tls/tls_reader.h:148,1
    - Dst: Botan::TLS::TLS_Data_Reader::throw_decode_error
      Src: /src/botan/src/lib/tls/tls_reader.h:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - len_bytes
    - T_size
    - min_elems
    - max_elems
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: Botan::TLS::TLS_Data_Reader::get_num_elems
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::throw_decode_error
    linkageType: ''
    returnType: size_t
    signature: size_t get_num_elems(size_t len_bytes, size_t T_size, size_t min_elems,
      size_t max_elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_reader.h:161,1
    - Dst: Botan::TLS::TLS_Data_Reader::throw_decode_error
      Src: /src/botan/src/lib/tls/tls_reader.h:162,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_reader.h:162,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_reader.h:163,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_reader.h:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: Botan::TLS::TLS_Data_Reader::assert_at_least
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 8
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::throw_decode_error
    - size
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void assert_at_least(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_reader.h:168,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls_reader.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - why
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Botan::TLS::TLS_Data_Reader::throw_decode_error
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 4
    functionsReached:
    - Decoding_Error
    - fmt
    linkageType: ''
    returnType: void
    signature: void throw_decode_error(std::string_view why) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_reader.h:185,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_reader.h:190,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_reader.h:194,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/tls/tls_reader.h:194,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_reader.h:199,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/tls/tls_reader.h:199,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 4
    argNames:
    - ' buf'
    - vals
    - vals_size
    - tag_size
    argTypes:
    - std::vector<uint8_t, Alloc>
    - T*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: Botan::TLS::append_tls_length_value
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 1
    functionsReached:
    - get_byte_var
    - Invalid_Argument
    - push_back
    linkageType: ''
    returnType: void
    signature: void append_tls_length_value(std::vector<uint8_t, Alloc>& buf, const
      T* vals, size_t vals_size, size_t tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_reader.h:206,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls_reader.h:206,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_reader.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' buf'
    - ' vals'
    - tag_size
    argTypes:
    - std::vector<uint8_t, Alloc>
    - std::vector<T, Alloc2>
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: Botan::TLS::append_tls_length_value
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 2
    functionsReached:
    - data
    - Botan::TLS::append_tls_length_value
    - size
    linkageType: ''
    returnType: void
    signature: void append_tls_length_value(std::vector<uint8_t, Alloc>& buf, const
      std::vector<T, Alloc2>& vals, size_t tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_reader.h:211,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/tls/tls_reader.h:211,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/tls/tls_reader.h:211,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/tls_reader.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' buf'
    - str
    - tag_size
    argTypes:
    - std::vector<uint8_t, Alloc>
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: Botan::TLS::append_tls_length_value
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 3
    functionsReached:
    - cast_char_ptr_to_uint8
    - std::string_view::size
    - Botan::TLS::append_tls_length_value
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void append_tls_length_value(std::vector<uint8_t, Alloc>& buf, std::string_view
      str, size_t tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:23,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 38
    functionName: Botan::TLS::Ciphersuite::nonce_bytes_from_handshake
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - cipher_algo
    linkageType: ''
    returnType: size_t
    signature: size_t Ciphersuite::nonce_bytes_from_handshake() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:41,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:44,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: Botan::TLS::Ciphersuite::nonce_bytes_from_record
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Invalid_State
    - cipher_algo
    linkageType: ''
    returnType: size_t
    signature: size_t Ciphersuite::nonce_bytes_from_record(Protocol_Version version)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - suite
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Botan::TLS::Ciphersuite::is_scsv
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::is_scsv(uint16_t suite)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:62,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::TLS::Ciphersuite::psk_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - kex_method
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::psk_ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:66,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:66,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::TLS::Ciphersuite::ecc_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - kex_method
    - auth_method
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::ecc_ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite_code
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:79,1
    - Dst: Protocol_Version::is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: Botan::TLS::Ciphersuite::usable_in_version
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - Protocol_Version::is_pre_tls_13
    - ciphersuite_code
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::usable_in_version(Protocol_Version version) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:84,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: Botan::TLS::Ciphersuite::cbc_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - mac_algo
    - cipher_algo
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::cbc_ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Botan::TLS::Ciphersuite::null_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - cipher_algo
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::null_ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: Botan::TLS::Ciphersuite::aead_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - mac_algo
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::aead_ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Botan::TLS::Ciphersuite::signature_used
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - auth_method
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::signature_used() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: all_known_ciphersuites
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:100,1
    - Dst: std::lower_bound
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:101,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:101,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:101,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:103,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - suite
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: Botan::TLS::Ciphersuite::by_id
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 8
    functionsReached:
    - std::lower_bound
    - end
    - auto::ciphersuite_code
    - begin
    - all_known_ciphersuites
    linkageType: ''
    returnType: std::optional<Ciphersuite>
    signature: std::optional<Ciphersuite> Ciphersuite::by_id(uint16_t suite)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: all_known_ciphersuites
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:111,1
    - Dst: to_string
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: Botan::TLS::Ciphersuite::from_name
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 6
    functionsReached:
    - to_string
    - all_known_ciphersuites
    linkageType: ''
    returnType: std::optional<Ciphersuite>
    signature: std::optional<Ciphersuite> Ciphersuite::from_name(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::providers
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prf
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::TLS::have_hash
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::providers
    linkageType: ''
    returnType: bool
    signature: bool have_hash(std::string_view prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::providers
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:129,1
    - Dst: Botan::StreamCipher::providers
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::TLS::have_cipher
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::providers
    - Botan::StreamCipher::providers
    linkageType: ''
    returnType: bool
    signature: bool have_cipher(std::string_view cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:135,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:136,1
    - Dst: have_hash
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:140,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:140,1
    - Dst: Botan::TLS::Ciphersuite::cbc_ciphersuite
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:145,1
    - Dst: Botan::TLS::Ciphersuite::null_ciphersuite
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:151,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:156,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:157,1
    - Dst: split_on
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:162,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:162,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:163,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:163,1
    - Dst: have_cipher
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:164,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:189,1
    - Dst: have_cipher
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:193,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:193,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:193,1
    - Dst: have_hash
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:196,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:196,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:201,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:201,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:205,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:211,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:215,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 222
    functionName: Botan::TLS::Ciphersuite::is_usable
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::TLS::Ciphersuite::null_ciphersuite
    - Botan::TLS::Ciphersuite::cbc_ciphersuite
    - have_hash
    - split_on
    - have_cipher
    - kex_method
    - mac_algo
    - cipher_algo
    - BOTAN_ASSERT
    - auto::size
    - auth_method
    - prf_algo
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::is_usable() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls_version.cpp:25,1
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls_version.cpp:29,1
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls_version.cpp:33,1
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls_version.cpp:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: Botan::TLS::Protocol_Version::to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Protocol_Version::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string Protocol_Version::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: major_version
      Src: /src/botan/src/lib/tls/tls_version.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::TLS::Protocol_Version::is_datagram_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 0
    functionsReached:
    - major_version
    linkageType: ''
    returnType: bool
    signature: bool Protocol_Version::is_datagram_protocol() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:41,1
    - Dst: Botan::TLS::Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Protocol_Version::is_pre_tls_13
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Protocol_Version::is_datagram_protocol
    linkageType: ''
    returnType: bool
    signature: bool Protocol_Version::is_pre_tls_13() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:46,1
    - Dst: Botan::TLS::Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: Botan::TLS::Protocol_Version::is_tls_13_or_later
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Protocol_Version::is_datagram_protocol
    linkageType: ''
    returnType: bool
    signature: bool Protocol_Version::is_tls_13_or_later() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:51,1
    - Dst: is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:51,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_version.cpp:52,1
    - Dst: to_string
      Src: /src/botan/src/lib/tls/tls_version.cpp:52,1
    - Dst: to_string
      Src: /src/botan/src/lib/tls/tls_version.cpp:52,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: Protocol_Version::operator>(const Protocol_Version& other) const
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 0
    functionsReached:
    - Protocol_Version::is_datagram_protocol
    - TLS_Exception
    - is_datagram_protocol
    - to_string
    linkageType: ''
    returnType: bool
    signature: bool Protocol_Version::operator>(const Protocol_Version& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: Botan::TLS::Protocol_Version::valid
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Protocol_Version::valid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_version.cpp:85,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_version.cpp:87,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_version.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: Botan::TLS::Protocol_Version::known_version
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: bool
    signature: bool Protocol_Version::known_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 564
    functionName: ~Policy()
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Policy()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 677
    functionName: Botan::allow_insecure_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_insecure_renegotiation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: Botan::allow_server_initiated_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_server_initiated_renegotiation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 681
    functionName: Botan::server_uses_own_ciphersuite_preferences
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool server_uses_own_ciphersuite_preferences() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 683
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 683
    functionName: Botan::negotiate_encrypt_then_mac
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool negotiate_encrypt_then_mac() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 685
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 685
    functionName: Botan::minimum_rsa_bits
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_rsa_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 687
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 687
    functionName: Botan::minimum_dh_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_dh_group_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 689
    functionName: Botan::minimum_ecdh_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_ecdh_group_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 691
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 691
    functionName: Botan::minimum_ecdsa_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_ecdsa_group_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: Botan::allow_tls12
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_tls12() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 695
    functionName: Botan::allow_tls13
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_tls13() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 697
    functionName: Botan::allow_dtls12
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_dtls12() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' creds'
    - ' rng'
    argTypes:
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: Botan::TLS::Session_Manager_Stateless::Session_Manager_Stateless
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Session_Manager_Stateless::Session_Manager_Stateless(const std::shared_ptr<Credentials_Manager>&
      creds,\n                                                     const std::shared_ptr<RandomNumberGenerator>&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:28,1
    - Dst: side
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:28,1
    - Dst: Botan::TLS::Session_Manager_Stateless::get_ticket_key
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:33,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:34,1
    - Dst: encrypt
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:38,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' session'
    - tls12_no_ticket
    argTypes:
    - Session
    - bool
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: Botan::TLS::Session_Manager_Stateless::establish
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp
    functionUses: 2
    functionsReached:
    - auto::value
    - encrypt
    - Botan::TLS::Session_Manager_Stateless::get_ticket_key
    - side
    - BOTAN_ASSERT
    - auto::has_value
    linkageType: ''
    returnType: std::optional<Session_Handle>
    signature: "std::optional<Session_Handle> Session_Manager_Stateless::establish(const
      Session& session,\n                                                                   const
      std::optional<Session_ID>&,\n                                                                   bool
      tls12_no_ticket)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Session_Manager_Stateless::store
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Session_Manager_Stateless::store(const Session&, const Session_Handle&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ticket
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:46,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:47,1
    - Dst: Botan::TLS::Session_Manager_Stateless::get_ticket_key
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:51,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:52,1
    - Dst: Botan::TLS::Session::decrypt
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:57,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:57,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: Botan::TLS::Session_Manager_Stateless::retrieve_one
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Session::decrypt
    - auto::value
    - ticket
    - Botan::TLS::Session_Manager_Stateless::get_ticket_key
    - auto::has_value
    linkageType: ''
    returnType: std::optional<Session>
    signature: std::optional<Session> Session_Manager_Stateless::retrieve_one(const
      Session_Handle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Session_Manager_Stateless::get_ticket_key
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Botan::TLS::Session_Manager_Stateless::emits_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Session_Manager_Stateless::get_ticket_key
    linkageType: ''
    returnType: bool
    signature: bool Session_Manager_Stateless::emits_session_tickets()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:72,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: Botan::TLS::Session_Manager_Stateless::get_ticket_key
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp
    functionUses: 3
    functionsReached:
    - psk
    - auto::empty
    linkageType: ''
    returnType: std::optional<SymmetricKey>
    signature: std::optional<SymmetricKey> Session_Manager_Stateless::get_ticket_key()
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan::TLS::tls_session_activated
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_session_activated()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Botan::TLS::tls_peer_closed_connection
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tls_peer_closed_connection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/tls/tls_callbacks.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: Botan::TLS::tls_verify_cert_chain_ocsp_timeout
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::milliseconds
    linkageType: ''
    returnType: std::chrono::milliseconds
    signature: std::chrono::milliseconds tls_verify_cert_chain_ocsp_timeout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: TLS::Callbacks::tls_inspect_handshake_msg(const Handshake_Message&
      /*unused*/)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS::Callbacks::tls_inspect_handshake_msg(const Handshake_Message&
      /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: TLS::Callbacks::tls_server_choose_app_protocol(const std::vector<std::string>&
      /*unused*/)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TLS::Callbacks::tls_server_choose_app_protocol(const std::vector<std::string>&
      /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: TLS::Callbacks::tls_peer_network_identity()
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TLS::Callbacks::tls_peer_network_identity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: TLS::Callbacks::tls_current_timestamp()
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point TLS::Callbacks::tls_current_timestamp()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: "TLS::Callbacks::tls_modify_extensions(Extensions& /*unused*/,\n
      \                                          Connection_Side /*unused*/,\n                                           Handshake_Type
      /*unused*/)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TLS::Callbacks::tls_modify_extensions(Extensions& /*unused*/,\n
      \                                          Connection_Side /*unused*/,\n                                           Handshake_Type
      /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: "TLS::Callbacks::tls_examine_extensions(const Extensions& /*unused*/,\n
      \                                           Connection_Side /*unused*/,\n                                            Handshake_Type
      /*unused*/)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TLS::Callbacks::tls_examine_extensions(const Extensions& /*unused*/,\n
      \                                           Connection_Side /*unused*/,\n                                            Handshake_Type
      /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lifetime_hint
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:83,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Session
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: TLS::Callbacks::tls_should_persist_resumption_information(const
      Session& session)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - lifetime_hint
    - version
    linkageType: ''
    returnType: bool
    signature: bool TLS::Callbacks::tls_should_persist_resumption_information(const
      Session& session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:92,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:93,1
    - Dst: require_cert_revocation_info
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:96,1
    - Dst: minimum_signature_strength
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:97,1
    - Dst: x509_path_validate
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:99,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:104,1
    - Dst: tls_verify_cert_chain_ocsp_timeout
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:105,1
    - Dst: Path_Validation_Result::successful_validation
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:108,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:109,1
    - Dst: Path_Validation_Result::result_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 6
    argNames:
    - ' cert_chain'
    - ' ocsp_responses'
    - ' trusted_roots'
    - usage
    - hostname
    - ' policy'
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<std::optional<OCSP::Response>>
    - std::vector<Certificate_Store*>
    - Usage_Type
    - std::string_view
    - TLS::Policy
    constantsTouched: []
    func_position:
      end: 111
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 111
    functionName: "TLS::Callbacks::tls_verify_cert_chain(const std::vector<X509_Certificate>&
      cert_chain,\n                                           const std::vector<std::optional<OCSP::Response>>&
      ocsp_responses,\n                                           const std::vector<Certificate_Store*>&
      trusted_roots,\n                                           Usage_Type usage,\n
      \                                          std::string_view hostname,\n                                           const
      TLS::Policy& policy)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - require_cert_revocation_info
    - x509_path_validate
    - Path_Validation_Result::successful_validation
    - empty
    - tls_verify_cert_chain_ocsp_timeout
    - minimum_signature_strength
    - Invalid_Argument
    - tls_current_timestamp
    - Path_Validation_Result::result_string
    linkageType: ''
    returnType: void
    signature: "void TLS::Callbacks::tls_verify_cert_chain(const std::vector<X509_Certificate>&
      cert_chain,\n                                           const std::vector<std::optional<OCSP::Response>>&
      ocsp_responses,\n                                           const std::vector<Certificate_Store*>&
      trusted_roots,\n                                           Usage_Type usage,\n
      \                                          std::string_view hostname,\n                                           const
      TLS::Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:117,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - ' raw_public_key'
    - usage
    - hostname
    - ' policy'
    argTypes:
    - Public_Key
    - Usage_Type
    - std::string_view
    - TLS::Policy
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: "TLS::Callbacks::tls_verify_raw_public_key(const Public_Key& raw_public_key,\n
      \                                              Usage_Type usage,\n                                               std::string_view
      hostname,\n                                               const TLS::Policy&
      policy)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - TLS_Exception
    linkageType: ''
    returnType: void
    signature: "void TLS::Callbacks::tls_verify_raw_public_key(const Public_Key& raw_public_key,\n
      \                                              Usage_Type usage,\n                                               std::string_view
      hostname,\n                                               const TLS::Policy&
      policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' raw_response'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: TLS::Callbacks::tls_parse_ocsp_response(const std::vector<uint8_t>&
      raw_response)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - Test_No_Shutdown_Response::Test_No_Shutdown_Response
    linkageType: ''
    returnType: std::optional<OCSP::Response>
    signature: std::optional<OCSP::Response> TLS::Callbacks::tls_parse_ocsp_response(const
      std::vector<uint8_t>& raw_response)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:134,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:135,1
    - Dst: tls_provide_cert_status
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' chain'
    - ' csr'
    argTypes:
    - std::vector<X509_Certificate>
    - Certificate_Status_Request
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: "TLS::Callbacks::tls_provide_cert_chain_status(\n   const std::vector<X509_Certificate>&
      chain, const Certificate_Status_Request& csr)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - tls_provide_cert_status
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> TLS::Callbacks::tls_provide_cert_chain_status(\n
      \  const std::vector<X509_Certificate>& chain, const Certificate_Status_Request&
      csr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Signer::sign_message
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' key'
    - ' rng'
    - padding
    - format
    - ' msg'
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - Signature_Format
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: "TLS::Callbacks::tls_sign_message(const Private_Key& key,\n                                                      RandomNumberGenerator&
      rng,\n                                                      std::string_view
      padding,\n                                                      Signature_Format
      format,\n                                                      const std::vector<uint8_t>&
      msg)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - PK_Signer::sign_message
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> TLS::Callbacks::tls_sign_message(const Private_Key&
      key,\n                                                      RandomNumberGenerator&
      rng,\n                                                      std::string_view
      padding,\n                                                      Signature_Format
      format,\n                                                      const std::vector<uint8_t>&
      msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Verifier::verify_message
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' key'
    - padding
    - format
    - ' msg'
    - ' sig'
    argTypes:
    - Public_Key
    - std::string_view
    - Signature_Format
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: "TLS::Callbacks::tls_verify_message(const Public_Key& key,\n                                        std::string_view
      padding,\n                                        Signature_Format format,\n
      \                                       const std::vector<uint8_t>& msg,\n                                        const
      std::vector<uint8_t>& sig)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - PK_Verifier::verify_message
    linkageType: ''
    returnType: bool
    signature: "bool TLS::Callbacks::tls_verify_message(const Public_Key& key,\n                                        std::string_view
      padding,\n                                        Signature_Format format,\n
      \                                       const std::vector<uint8_t>& msg,\n                                        const
      std::vector<uint8_t>& sig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<DL_Group>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:164,1
    - Dst: std::get<TLS::Group_Params>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Botan::is_dh_group
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - std::holds_alternative<DL_Group>
    - std::get<TLS::Group_Params>
    linkageType: ''
    returnType: bool
    signature: bool is_dh_group(const std::variant<TLS::Group_Params, DL_Group>& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:168,1
    - Dst: Botan::is_dh_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:168,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:173,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:175,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Botan::get_dl_group
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - std::visit
    - Botan::to_string
    - Botan::is_dh_group
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group get_dl_group(const std::variant<TLS::Group_Params, DL_Group>&
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_dh_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:183,1
    - Dst: get_dl_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:186,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:188,1
    - Dst: auto::get_p
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:196,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:197,1
    - Dst: std::make_unique<DH_PublicKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:200,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:205,1
    - Dst: std::holds_alternative<TLS::Group_Params>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:205,1
    - Dst: std::get<TLS::Group_Params>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:206,1
    - Dst: auto::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:208,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:209,1
    - Dst: auto::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:209,1
    - Dst: std::make_unique<ECDH_PublicKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:210,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:210,1
    - Dst: auto::is_x25519
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:214,1
    - Dst: std::make_unique<X25519_PublicKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:215,1
    - Dst: auto::is_x448
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:220,1
    - Dst: std::make_unique<X448_PublicKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:221,1
    - Dst: auto::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:226,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey::load_for_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:227,1
    - Dst: auto::is_pure_ml_kem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:232,1
    - Dst: std::make_unique<ML_KEM_PublicKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:233,1
    - Dst: ML_KEM_Mode
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:233,1
    - Dst: auto::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:233,1
    - Dst: auto::is_pure_frodokem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:238,1
    - Dst: std::make_unique<FrodoKEM_PublicKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:239,1
    - Dst: FrodoKEMMode
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:239,1
    - Dst: auto::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:239,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - ' group'
    - key_bits
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 244
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 244
    functionName: "TLS::Callbacks::tls_deserialize_peer_public_key(\n   const std::variant<TLS::Group_Params,
      DL_Group>& group, std::span<const uint8_t> key_bits)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<X25519_PublicKey>
    - auto::is_pure_ml_kem
    - auto::is_pqc_hybrid
    - Decoding_Error
    - get_dl_group
    - Botan::BigInt::from_bytes
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Hybrid_KEM_PublicKey::load_for_group
    - auto::is_ecdh_named_curve
    - auto::get_p
    - Botan::EC_Group::from_name
    - auto::is_x25519
    - auto::is_pure_frodokem
    - std::make_unique<FrodoKEM_PublicKey>
    - std::make_unique<DH_PublicKey>
    - auto::to_string
    - FrodoKEMMode
    - is_dh_group
    - std::make_unique<ML_KEM_PublicKey>
    - std::get<TLS::Group_Params>
    - ML_KEM_Mode
    - std::holds_alternative<TLS::Group_Params>
    - std::make_unique<ECDH_PublicKey>
    - auto::is_x448
    - std::make_unique<X448_PublicKey>
    - EC_AffinePoint
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: "std::unique_ptr<Public_Key> TLS::Callbacks::tls_deserialize_peer_public_key(\n
      \  const std::variant<TLS::Group_Params, DL_Group>& group, std::span<const uint8_t>
      key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS::Group_Params::is_pure_ml_kem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:248,1
    - Dst: std::make_unique<ML_KEM_PrivateKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:249,1
    - Dst: ML_KEM_Mode
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:249,1
    - Dst: TLS::Group_Params::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:249,1
    - Dst: TLS::Group_Params::is_pure_frodokem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:254,1
    - Dst: std::make_unique<FrodoKEM_PrivateKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:255,1
    - Dst: FrodoKEMMode
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:255,1
    - Dst: TLS::Group_Params::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:255,1
    - Dst: TLS::Group_Params::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:260,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::generate_from_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:261,1
    - Dst: tls_generate_ephemeral_key
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - group
    - ' rng'
    argTypes:
    - TLS::Group_Params
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: TLS::Callbacks::tls_kem_generate_key(TLS::Group_Params group, RandomNumberGenerator&
      rng)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - ML_KEM_Mode
    - std::make_unique<ML_KEM_PrivateKey>
    - std::make_unique<FrodoKEM_PrivateKey>
    - tls_generate_ephemeral_key
    - TLS::Group_Params::is_pure_ml_kem
    - TLS::Group_Params::to_string
    - Botan::TLS::Hybrid_KEM_PrivateKey::generate_from_group
    - TLS::Group_Params::is_pqc_hybrid
    - FrodoKEMMode
    - TLS::Group_Params::is_pure_frodokem
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> TLS::Callbacks::tls_kem_generate_key(TLS::Group_Params
      group, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS::Group_Params::is_kem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:272,1
    - Dst: tls_deserialize_peer_public_key
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:275,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:279,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:279,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:283,1
    - Dst: check_peer_key_acceptable
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:284,1
    - Dst: PK_KEM_Encryptor
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:287,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:289,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:289,1
    - Dst: tls_generate_ephemeral_key
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:295,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:296,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:297,1
    - Dst: tls_ephemeral_key_agreement
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - group
    - ' encoded_public_key'
    - ' rng'
    - ' policy'
    argTypes:
    - TLS::Group_Params
    - std::vector<uint8_t>
    - RandomNumberGenerator
    - Policy
    constantsTouched: []
    func_position:
      end: 300
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 300
    functionName: "TLS::Callbacks::tls_kem_encapsulate(TLS::Group_Params group,\n
      \                                                     const std::vector<uint8_t>&
      encoded_public_key,\n                                                      RandomNumberGenerator&
      rng,\n                                                      const Policy& policy)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - TLS::Group_Params::is_kem
    - PK_KEM_Encryptor
    - what
    - tls_generate_ephemeral_key
    - auto::public_value
    - BOTAN_ASSERT_NONNULL
    - check_peer_key_acceptable
    - tls_ephemeral_key_agreement
    - tls_deserialize_peer_public_key
    linkageType: ''
    returnType: KEM_Encapsulation
    signature: "KEM_Encapsulation TLS::Callbacks::tls_kem_encapsulate(TLS::Group_Params
      group,\n                                                      const std::vector<uint8_t>&
      encoded_public_key,\n                                                      RandomNumberGenerator&
      rng,\n                                                      const Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS::Group_Params::is_kem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:307,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:309,1
    - Dst: PK_KEM_Decryptor::encapsulated_key_length
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:309,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:310,1
    - Dst: PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:312,1
    - Dst: dynamic_cast<const PK_Key_Agreement_Key&>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:316,1
    - Dst: tls_ephemeral_key_agreement
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:317,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - group
    - ' private_key'
    - ' encapsulated_bytes'
    - ' rng'
    - ' policy'
    argTypes:
    - TLS::Group_Params
    - Private_Key
    - std::vector<uint8_t>
    - RandomNumberGenerator
    - Policy
    constantsTouched: []
    func_position:
      end: 321
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 321
    functionName: "TLS::Callbacks::tls_kem_decapsulate(TLS::Group_Params group,\n
      \                                                          const Private_Key&
      private_key,\n                                                           const
      std::vector<uint8_t>& encapsulated_bytes,\n                                                           RandomNumberGenerator&
      rng,\n                                                           const Policy&
      policy)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - TLS::Group_Params::is_kem
    - PK_KEM_Decryptor::encapsulated_key_length
    - dynamic_cast<const PK_Key_Agreement_Key&>
    - PK_KEM_Decryptor::decrypt
    - tls_ephemeral_key_agreement
    - Invalid_Argument
    - size
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> TLS::Callbacks::tls_kem_decapsulate(TLS::Group_Params
      group,\n                                                           const Private_Key&
      private_key,\n                                                           const
      std::vector<uint8_t>& encapsulated_bytes,\n                                                           RandomNumberGenerator&
      rng,\n                                                           const Policy&
      policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_dh_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:325,1
    - Dst: get_dl_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:326,1
    - Dst: std::make_unique<DH_PrivateKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:327,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:330,1
    - Dst: std::holds_alternative<TLS::Group_Params>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:330,1
    - Dst: std::get<TLS::Group_Params>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:331,1
    - Dst: auto::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:333,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:334,1
    - Dst: auto::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:334,1
    - Dst: std::make_unique<ECDH_PrivateKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:335,1
    - Dst: auto::is_x25519
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:339,1
    - Dst: std::make_unique<X25519_PrivateKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:340,1
    - Dst: auto::is_x448
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:345,1
    - Dst: std::make_unique<X448_PrivateKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:346,1
    - Dst: auto::is_kem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:350,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:351,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 355
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 355
    functionName: "TLS::Callbacks::tls_generate_ephemeral_key(\n   const std::variant<TLS::Group_Params,
      DL_Group>& group, RandomNumberGenerator& rng)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - std::make_unique<ECDH_PrivateKey>
    - auto::is_ecdh_named_curve
    - is_dh_group
    - std::make_unique<DH_PrivateKey>
    - auto::is_kem
    - auto::is_x25519
    - std::holds_alternative<TLS::Group_Params>
    - auto::to_string
    - std::make_unique<X25519_PrivateKey>
    - std::get<TLS::Group_Params>
    - std::make_unique<X448_PrivateKey>
    - auto::is_x448
    - get_dl_group
    - Botan::EC_Group::from_name
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::unique_ptr<PK_Key_Agreement_Key>
    signature: "std::unique_ptr<PK_Key_Agreement_Key> TLS::Callbacks::tls_generate_ephemeral_key(\n
      \  const std::variant<TLS::Group_Params, DL_Group>& group, RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_deserialize_peer_public_key
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:365,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:369,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:369,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:373,1
    - Dst: check_peer_key_acceptable
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:374,1
    - Dst: PK_Key_Agreement::derive_key
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:385,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:385,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:387,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ' group'
    - ' private_key'
    - ' public_value'
    - ' rng'
    - ' policy'
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    - PK_Key_Agreement_Key
    - std::vector<uint8_t>
    - RandomNumberGenerator
    - Policy
    constantsTouched: []
    func_position:
      end: 389
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 389
    functionName: "TLS::Callbacks::tls_ephemeral_key_agreement(\n   const std::variant<TLS::Group_Params,
      DL_Group>& group,\n   const PK_Key_Agreement_Key& private_key,\n   const std::vector<uint8_t>&
      public_value,\n   RandomNumberGenerator& rng,\n   const Policy& policy)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - what
    - PK_Key_Agreement::derive_key
    - check_peer_key_acceptable
    - BOTAN_ASSERT_NONNULL
    - auto::raw_public_key_bits
    - tls_deserialize_peer_public_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> TLS::Callbacks::tls_ephemeral_key_agreement(\n
      \  const std::variant<TLS::Group_Params, DL_Group>& group,\n   const PK_Key_Agreement_Key&
      private_key,\n   const std::vector<uint8_t>& public_value,\n   RandomNumberGenerator&
      rng,\n   const Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Session_Summary
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: TLS::Callbacks::tls_session_established(const Session_Summary& session)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void TLS::Callbacks::tls_session_established(const Session_Summary&
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:397,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' chain'
    - ' csr'
    argTypes:
    - std::vector<X509_Certificate>
    - Certificate_Status_Request
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: "TLS::Callbacks::tls_provide_cert_status(const std::vector<X509_Certificate>&
      chain,\n                                                             const Certificate_Status_Request&
      csr)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> TLS::Callbacks::tls_provide_cert_status(const
      std::vector<X509_Certificate>& chain,\n                                                             const
      Certificate_Status_Request& csr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: TLS::Callbacks::tls_log_error(const char* err)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void TLS::Callbacks::tls_log_error(const char* err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - what
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: TLS::Callbacks::tls_log_debug(const char* what)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void TLS::Callbacks::tls_log_debug(const char* what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - descr
    - val
    - val_len
    argTypes:
    - char*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: TLS::Callbacks::tls_log_debug_bin(const char* descr, const uint8_t
      val[], size_t val_len)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void TLS::Callbacks::tls_log_debug_bin(const char* descr, const uint8_t
      val[], size_t val_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - label
    - client_random
    - secret
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: "TLS::Callbacks::tls_ssl_key_log_data(std::string_view label,\n
      \                                         std::span<const uint8_t> client_random,\n
      \                                         std::span<const uint8_t> secret) const"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: "void TLS::Callbacks::tls_ssl_key_log_data(std::string_view label,\n
      \                                         std::span<const uint8_t> client_random,\n
      \                                         std::span<const uint8_t> secret) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:94,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:94,1
    - Dst: Botan::TLS::auth_method_to_string
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:101,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:101,1
    - Dst: Botan::TLS::kdf_algo_to_string
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:115,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:137,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:137,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:139,1
    - Dst: is_usable
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 187
    functionName: Botan::TLS::final
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::kdf_algo_to_string
    - ciphersuite_code
    - is_usable
    - kex_method
    - Botan::TLS::kex_method_to_string
    - Botan::TLS::auth_method_to_string
    - auth_method
    linkageType: ''
    returnType: Ciphersuite
    signature: Ciphersuite final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::TLS::remove
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t remove(const Session_Handle&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::TLS::remove_all
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t remove_all() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::TLS::find_some
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: std::vector<Session_with_Handle> find_some(const Server_Information&,
      const size_t) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Name_Indicator>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:38,1
    - Dst: std::make_unique<Supported_Groups>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:41,1
    - Dst: std::make_unique<Certificate_Status_Request>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:44,1
    - Dst: std::make_unique<Supported_Point_Formats>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:47,1
    - Dst: std::make_unique<Renegotiation_Extension>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:50,1
    - Dst: std::make_unique<Signature_Algorithms>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:53,1
    - Dst: std::make_unique<Signature_Algorithms_Cert>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:56,1
    - Dst: std::make_unique<SRTP_Protection_Profiles>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:59,1
    - Dst: std::make_unique<Application_Layer_Protocol_Notification>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:62,1
    - Dst: std::make_unique<Client_Certificate_Type>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:65,1
    - Dst: std::make_unique<Server_Certificate_Type>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:68,1
    - Dst: std::make_unique<Extended_Master_Secret>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:71,1
    - Dst: std::make_unique<Record_Size_Limit>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:74,1
    - Dst: std::make_unique<Encrypt_then_MAC>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:77,1
    - Dst: std::make_unique<Session_Ticket_Extension>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:80,1
    - Dst: std::make_unique<Supported_Versions>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:83,1
    - Dst: std::make_unique<PSK>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:87,1
    - Dst: std::make_unique<EarlyDataIndication>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:90,1
    - Dst: std::make_unique<Cookie>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:93,1
    - Dst: std::make_unique<PSK_Key_Exchange_Modes>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:96,1
    - Dst: std::make_unique<Certificate_Authorities>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:99,1
    - Dst: std::make_unique<Key_Share>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:102,1
    - Dst: std::make_unique<Unknown_Extension>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 4
    argNames:
    - ' reader'
    - code
    - from
    - message_type
    argTypes:
    - TLS_Data_Reader
    - Extension_Code
    - Connection_Side
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 107
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 107
    functionName: Botan::TLS::make_extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Supported_Point_Formats>
    - std::make_unique<Server_Certificate_Type>
    - std::make_unique<Client_Certificate_Type>
    - std::make_unique<Record_Size_Limit>
    - std::make_unique<Certificate_Status_Request>
    - std::make_unique<Key_Share>
    - std::make_unique<Signature_Algorithms_Cert>
    - std::make_unique<Signature_Algorithms>
    - std::make_unique<Session_Ticket_Extension>
    - std::make_unique<SRTP_Protection_Profiles>
    - std::make_unique<PSK>
    - std::make_unique<EarlyDataIndication>
    - std::make_unique<Renegotiation_Extension>
    - std::make_unique<Server_Name_Indicator>
    - std::make_unique<Cookie>
    - std::make_unique<Unknown_Extension>
    - std::make_unique<Supported_Versions>
    - std::make_unique<Encrypt_then_MAC>
    - std::make_unique<PSK_Key_Exchange_Modes>
    - std::make_unique<Application_Layer_Protocol_Notification>
    - std::make_unique<Supported_Groups>
    - std::make_unique<Certificate_Authorities>
    - std::make_unique<Extended_Master_Secret>
    linkageType: ''
    returnType: std::unique_ptr<Extension>
    signature: "std::unique_ptr<Extension> make_extension(TLS_Data_Reader& reader,\n
      \                                         Extension_Code code,\n                                          const
      Connection_Side from,\n                                          const Handshake_Type
      message_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:113,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:113,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:113,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:113,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:115,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - Extension_Code
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: Botan::TLS::Extensions::get
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - cend
    - end
    - auto::get
    - cbegin
    - type
    linkageType: ''
    returnType: Extension
    signature: Extension * Extensions::get(Extension_Code type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:119,1
    - Dst: std::unique_ptr<Extension>::type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:119,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:120,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:121,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:121,1
    - Dst: std::unique_ptr<Extension>::type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:121,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:124,1
    - Dst: std::unique_ptr<Extension>::release
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - extn
    argTypes:
    - std::unique_ptr<Extension>
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: Botan::TLS::Extensions::add
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Extension>::type
    - std::to_string
    - has
    - Invalid_Argument
    - static_cast<uint16_t>
    - emplace_back
    - std::unique_ptr<Extension>::release
    linkageType: ''
    returnType: void
    signature: void Extensions::add(std::unique_ptr<Extension> extn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_remaining
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:128,1
    - Dst: remaining_bytes
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:131,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:132,1
    - Dst: has_remaining
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:135,1
    - Dst: static_cast<Extension_Code>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:139,1
    - Dst: Botan::TLS::Extensions::has
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:141,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:142,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:147,1
    - Dst: Botan::TLS::Extensions::add
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:149,1
    - Dst: make_extension
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:149,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ' reader'
    - from
    - message_type
    argTypes:
    - TLS_Data_Reader
    - Connection_Side
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 153
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 153
    functionName: Botan::TLS::Extensions::deserialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_fixed
    - TLS_Exception
    - make_extension
    - static_cast<Extension_Code>
    - has_remaining
    - Botan::TLS::Extensions::add
    - Decoding_Error
    - remaining_bytes
    - TLS_Data_Reader::assert_done
    - Botan::TLS::Extensions::has
    linkageType: ''
    returnType: void
    signature: void Extensions::deserialize(TLS_Data_Reader& reader, const Connection_Side
      from, const Handshake_Type message_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Extensions::extension_types
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:157,1
    - Dst: std::set_difference
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:160,1
    - Dst: auto::cbegin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:161,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:161,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:161,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:161,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:161,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:166,1
    - Dst: std::vector::cbegin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:166,1
    - Dst: std::vector::cend
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:166,1
    - Dst: Botan::TLS::Extensions::get
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:167,1
    - Dst: auto::is_implemented
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:168,1
    - Dst: std::vector::cend
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:172,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' allowed_extensions'
    - allow_unknown_extensions
    argTypes:
    - std::set<Extension_Code>
    - bool
    constantsTouched: []
    func_position:
      end: 176
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 176
    functionName: Botan::TLS::Extensions::contains_other_than
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::find_if
    - auto::cbegin
    - cend
    - std::vector::cbegin
    - std::set_difference
    - std::back_inserter
    - cbegin
    - Botan::TLS::Extensions::extension_types
    - auto::end
    - std::vector::cend
    - Botan::TLS::Extensions::get
    - auto::is_implemented
    linkageType: ''
    returnType: bool
    signature: "bool Extensions::contains_other_than(const std::set<Extension_Code>&
      allowed_extensions,\n                                     const bool allow_unknown_extensions)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:180,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:180,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:180,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:180,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:183,1
    - Dst: std::swap
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:184,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - Extension_Code
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: Botan::TLS::Extensions::take
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - end
    - std::swap
    - type
    - begin
    - erase
    linkageType: ''
    returnType: std::unique_ptr<Extension>
    signature: std::unique_ptr<Extension> Extensions::take(Extension_Code type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:195,1
    - Dst: Botan::TLS::Extensions::serialize
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:201,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:203,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:203,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:204,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:206,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:206,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:206,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:207,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:207,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:207,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:207,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:214,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:215,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:218,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - whoami
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 223
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 223
    functionName: Botan::TLS::Extensions::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Extensions::serialize
    - std::vector::size
    - std::vector<uint8_t>
    - get_byte<1>
    - empty
    - static_cast<uint16_t>
    - get_byte<0>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Extensions::serialize(Connection_Side whoami)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:227,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:228,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:228,1
    - Dst: std::inserter
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:228,1
    - Dst: std::set::begin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:228,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: Botan::TLS::Extensions::extension_types
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - cend
    - cbegin
    - std::inserter
    - type
    - std::set::begin
    - std::transform
    linkageType: ''
    returnType: std::set<Extension_Code>
    signature: std::set<Extension_Code> Extensions::extension_types() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type
    - ' reader'
    - extension_size
    argTypes:
    - Extension_Code
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: Botan::TLS::Unknown_Extension::Unknown_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_fixed
    linkageType: ''
    returnType: void
    signature: void Unknown_Extension::Unknown_Extension(Extension_Code type, TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: Botan::TLS::Unknown_Extension::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Unknown_Extension::serialize(Connection_Side /*whoami*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:252,1
    - Dst: get_string
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:261,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:262,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:262,1
    - Dst: discard_next
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 269
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 269
    functionName: Botan::TLS::Server_Name_Indicator::Server_Name_Indicator
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_string
    - discard_next
    - size
    - static_cast<uint16_t>
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void Server_Name_Indicator::Server_Name_Indicator(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:284,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:284,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:284,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:285,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:285,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:285,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:286,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:288,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:288,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:288,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:289,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:289,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:289,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:291,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:291,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:291,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - whoami
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 294
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 294
    functionName: Botan::TLS::Server_Name_Indicator::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - data
    - get_byte<1>
    - std::make_pair
    - size
    - static_cast<uint16_t>
    - cast_char_ptr_to_uint8
    - get_byte<0>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Server_Name_Indicator::serialize(Connection_Side
      whoami) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_range
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:297,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:298,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: Botan::TLS::Renegotiation_Extension::Renegotiation_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - size
    - get_range
    linkageType: ''
    returnType: void
    signature: void Renegotiation_Extension::Renegotiation_Extension(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: Botan::TLS::Renegotiation_Extension::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - append_tls_length_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Renegotiation_Extension::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:321,1
    - Dst: get_string
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:325,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:327,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:328,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:331,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:332,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:335,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:337,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:344,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:345,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:347,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:347,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - from
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 349
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 349
    functionName: Botan::TLS::Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_string
    - TLS_Exception
    - std::to_string
    - size
    - std::string::size
    - Decoding_Error
    - std::string::empty
    - push_back
    linkageType: ''
    returnType: void
    signature: "void Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification(TLS_Data_Reader&
      reader,\n                                                                                 uint16_t
      extension_size,\n                                                                                 Connection_Side
      from)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:352,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:352,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: Botan::TLS::Application_Layer_Protocol_Notification::single_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - front
    - BOTAN_STATE_CHECK
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Application_Layer_Protocol_Notification::single_protocol()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:360,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:361,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:363,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:364,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:364,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:364,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:364,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:368,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:368,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:368,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:369,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:369,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 372
    functionName: Botan::TLS::Application_Layer_Protocol_Notification::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - TLS_Exception
    - data
    - length
    - empty
    - get_byte<1>
    - append_tls_length_value
    - get_byte<0>
    - size
    - static_cast<uint16_t>
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Application_Layer_Protocol_Notification::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: Botan::TLS::certificate_type_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string certificate_type_to_string(Certificate_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' type_str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: Botan::TLS::certificate_type_from_string
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    linkageType: ''
    returnType: Certificate_Type
    signature: Certificate_Type certificate_type_from_string(const std::string& type_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:396,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:397,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - supported_cert_types
    argTypes:
    - std::vector<Certificate_Type>
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: Botan::TLS::Certificate_Type_Base::Certificate_Type_Base
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ARG_CHECK
    - empty
    linkageType: ''
    returnType: void
    signature: void Certificate_Type_Base::Certificate_Type_Base(std::vector<Certificate_Type>
      supported_cert_types)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: accepted_client_certificate_types
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' cct'
    - ' policy'
    argTypes:
    - Client_Certificate_Type
    - Policy
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: Botan::TLS::Client_Certificate_Type::Client_Certificate_Type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - accepted_client_certificate_types
    linkageType: ''
    returnType: void
    signature: void Client_Certificate_Type::Client_Certificate_Type(const Client_Certificate_Type&
      cct, const Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: accepted_server_certificate_types
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' sct'
    - ' policy'
    argTypes:
    - Server_Certificate_Type
    - Policy
    constantsTouched: []
    func_position:
      end: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    functionName: Botan::TLS::Server_Certificate_Type::Server_Certificate_Type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - accepted_server_certificate_types
    linkageType: ''
    returnType: void
    signature: void Server_Certificate_Type::Server_Certificate_Type(const Server_Certificate_Type&
      sct, const Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:416,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:417,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' certificate_type_from_client'
    - ' server_preference'
    argTypes:
    - Certificate_Type_Base
    - std::vector<Certificate_Type>
    constantsTouched: []
    func_position:
      end: 428
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 428
    functionName: Botan::TLS::Certificate_Type_Base::Certificate_Type_Base
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - value_exists
    - push_back
    linkageType: ''
    returnType: void
    signature: "void Certificate_Type_Base::Certificate_Type_Base(const Certificate_Type_Base&
      certificate_type_from_client,\n                                             const
      std::vector<Certificate_Type>& server_preference)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:433,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:437,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:438,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:438,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:439,1
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:441,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:442,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:442,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:442,1
    - Dst: static_cast<Certificate_Type>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:443,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:450,1
    - Dst: get_byte
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:452,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:453,1
    - Dst: static_cast<Certificate_Type>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:453,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - from
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 455
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 455
    functionName: Botan::TLS::Certificate_Type_Base::Certificate_Type_Base
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - static_cast<size_t>
    - std::back_inserter
    - static_cast<Certificate_Type>
    - get_byte
    - get_tls_length_value
    - auto::end
    - push_back
    - auto::size
    - Decoding_Error
    - std::transform
    linkageType: ''
    returnType: void
    signature: void Certificate_Type_Base::Certificate_Type_Base(TLS_Data_Reader&
      reader, uint16_t extension_size, Connection_Side from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:461,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:462,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:462,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:462,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:463,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:465,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:467,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:467,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:468,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:468,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - whoami
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 471
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 471
    functionName: Botan::TLS::Certificate_Type_Base::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - end
    - std::back_inserter
    - static_cast<uint8_t>
    - append_tls_length_value
    - size
    - front
    - BOTAN_ASSERT_NOMSG
    - begin
    - std::transform
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Type_Base::serialize(Connection_Side
      whoami) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:474,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:475,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:481,1
    - Dst: Botan::TLS::Certificate_Type_Base::selected_certificate_type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:481,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:482,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:483,1
    - Dst: certificate_type_to_string
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:484,1
    - Dst: Botan::TLS::Certificate_Type_Base::selected_certificate_type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' from_server'
    argTypes:
    - Certificate_Type_Base
    constantsTouched: []
    func_position:
      end: 486
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 486
    functionName: Botan::TLS::Certificate_Type_Base::validate_selection
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - Botan::fmt
    - certificate_type_to_string
    - Botan::TLS::Certificate_Type_Base::selected_certificate_type
    - value_exists
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Certificate_Type_Base::validate_selection(const Certificate_Type_Base&
      from_server) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:489,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:490,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:490,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: Botan::TLS::Certificate_Type_Base::selected_certificate_type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - front
    - size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: Certificate_Type
    signature: Certificate_Type Certificate_Type_Base::selected_certificate_type()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' groups'
    argTypes:
    - std::vector<Group_Params>
    constantsTouched: []
    func_position:
      end: 494
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 494
    functionName: Botan::TLS::Supported_Groups::Supported_Groups
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Supported_Groups::Supported_Groups(const std::vector<Group_Params>&
      groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: '& Supported_Groups::groups() const'
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> & Supported_Groups::groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_pure_ecc_group
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:503,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 508
    functionName: Botan::TLS::Supported_Groups::ec_groups
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - is_pure_ecc_group
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Supported_Groups::ec_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_in_ffdhe_range
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:513,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 518
    functionName: Botan::TLS::Supported_Groups::dh_groups
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - is_in_ffdhe_range
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Supported_Groups::dh_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:527,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:527,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:528,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:528,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:532,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:532,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:532,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:533,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:533,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 536
    functionName: Botan::TLS::Supported_Groups::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - get_byte<1>
    - static_cast<uint16_t>
    - get_byte<0>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Supported_Groups::serialize(Connection_Side /*whoami*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:542,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:546,1
    - Dst: static_cast<Group_Params>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:552,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:552,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:554,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 558
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 558
    functionName: Botan::TLS::Supported_Groups::Supported_Groups
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Group_Params>
    - value_exists
    - Decoding_Error
    - get_uint16_t
    - push_back
    linkageType: ''
    returnType: void
    signature: void Supported_Groups::Supported_Groups(TLS_Data_Reader& reader, uint16_t
      extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: Botan::TLS::Supported_Point_Formats::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Supported_Point_Formats::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:573,1
    - Dst: static_cast<ECPointFormat>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:580,1
    - Dst: discard_next
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:582,1
    - Dst: static_cast<ECPointFormat>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:584,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:586,1
    - Dst: std::any_of
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:588,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:588,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:588,1
    - Dst: static_cast<ECPointFormat>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:589,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 607
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 607
    functionName: Botan::TLS::Supported_Point_Formats::Supported_Point_Formats
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_fixed
    - std::any_of
    - TLS_Exception
    - discard_next
    - static_cast<ECPointFormat>
    - end
    - Decoding_Error
    - begin
    linkageType: ''
    returnType: void
    signature: void Supported_Point_Formats::Supported_Point_Formats(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:612,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:612,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:618,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:618,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:619,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:619,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:622,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:622,1
    - Dst: Botan::TLS::wire_code
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:622,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:623,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:623,1
    - Dst: Botan::TLS::wire_code
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' schemes'
    argTypes:
    - std::vector<Signature_Scheme>
    constantsTouched: []
    func_position:
      end: 627
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 627
    functionName: Botan::TLS::serialize_signature_algorithms
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_byte<1>
    - BOTAN_ASSERT
    - size
    - Botan::TLS::wire_code
    - get_byte<0>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize_signature_algorithms(const std::vector<Signature_Scheme>&
      schemes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:633,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:637,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:639,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:639,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 644
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 644
    functionName: Botan::TLS::parse_signature_algorithms
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - std::vector::emplace_back
    - get_uint16_t
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> parse_signature_algorithms(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_signature_algorithms
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionName: Botan::TLS::Signature_Algorithms::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - serialize_signature_algorithms
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Signature_Algorithms::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_signature_algorithms
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: Botan::TLS::Signature_Algorithms::Signature_Algorithms
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - parse_signature_algorithms
    linkageType: ''
    returnType: void
    signature: void Signature_Algorithms::Signature_Algorithms(TLS_Data_Reader& reader,
      uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_signature_algorithms
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 657
    functionName: Botan::TLS::Signature_Algorithms_Cert::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - serialize_signature_algorithms
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Signature_Algorithms_Cert::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_signature_algorithms
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 660
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 660
    functionName: Botan::TLS::Signature_Algorithms_Cert::Signature_Algorithms_Cert
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - parse_signature_algorithms
    linkageType: ''
    returnType: void
    signature: void Signature_Algorithms_Cert::Signature_Algorithms_Cert(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session_Ticket
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:663,1
    - Dst: get_elem
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 663
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 663
    functionName: Botan::TLS::Session_Ticket_Extension::Session_Ticket_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - get_elem
    - Session_Ticket
    linkageType: ''
    returnType: void
    signature: void Session_Ticket_Extension::Session_Ticket_Extension(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_range
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:666,1
    - Dst: get_range
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:667,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:669,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:669,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:670,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:673,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 676
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 676
    functionName: Botan::TLS::SRTP_Protection_Profiles::SRTP_Protection_Profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::empty
    - get_range
    - size
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void SRTP_Protection_Profiles::SRTP_Protection_Profiles(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:682,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:682,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:683,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:683,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:686,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:686,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:687,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:687,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 693
    functionName: Botan::TLS::SRTP_Protection_Profiles::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> SRTP_Protection_Profiles::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - extension_size
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 699
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 699
    functionName: Botan::TLS::Extended_Master_Secret::Extended_Master_Secret
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void Extended_Master_Secret::Extended_Master_Secret(TLS_Data_Reader&
      /*unused*/, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 703
    functionName: Botan::TLS::Extended_Master_Secret::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Extended_Master_Secret::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - extension_size
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: Botan::TLS::Encrypt_then_MAC::Encrypt_then_MAC
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void Encrypt_then_MAC::Encrypt_then_MAC(TLS_Data_Reader& /*unused*/,
      uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 713
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 713
    functionName: Botan::TLS::Encrypt_then_MAC::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Encrypt_then_MAC::serialize(Connection_Side /*whoami*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:719,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:719,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:720,1
    - Dst: major_version
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:720,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:721,1
    - Dst: minor_version
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:721,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:723,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:723,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:726,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:729,1
    - Dst: major_version
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:729,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:730,1
    - Dst: minor_version
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - whoami
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: Botan::TLS::Supported_Versions::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - minor_version
    - empty
    - size
    - major_version
    - std::vector::push_back
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Supported_Versions::serialize(Connection_Side
      whoami) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:738,1
    - Dst: allow_dtls12
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:740,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:741,1
    - Dst: allow_tls13
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:746,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:747,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:751,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:752,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - offer
    - ' policy'
    argTypes:
    - Protocol_Version
    - Policy
    constantsTouched: []
    func_position:
      end: 756
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 756
    functionName: Botan::TLS::Supported_Versions::Supported_Versions
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Protocol_Version::is_datagram_protocol
    - allow_tls12
    - allow_tls13
    - allow_dtls12
    - push_back
    linkageType: ''
    returnType: void
    signature: void Supported_Versions::Supported_Versions(Protocol_Version offer,
      const Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:761,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:763,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:763,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:763,1
    - Dst: get_range
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:765,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:768,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:768,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:771,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - from
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 775
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 775
    functionName: Botan::TLS::Supported_Versions::Supported_Versions
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_range
    - Protocol_Version
    - auto::size
    - Decoding_Error
    - get_uint16_t
    - push_back
    linkageType: ''
    returnType: void
    signature: void Supported_Versions::Supported_Versions(TLS_Data_Reader& reader,
      uint16_t extension_size, Connection_Side from)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 784
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 784
    functionName: Botan::TLS::Supported_Versions::supports
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Supported_Versions::supports(Protocol_Version version) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:787,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 790
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 790
    functionName: Botan::TLS::Record_Size_Limit::Record_Size_Limit
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void Record_Size_Limit::Record_Size_Limit(const uint16_t limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:794,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:797,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:813,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:822,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - from
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 824
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 824
    functionName: Botan::TLS::Record_Size_Limit::Record_Size_Limit
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - get_uint16_t
    linkageType: ''
    returnType: void
    signature: void Record_Size_Limit::Record_Size_Limit(TLS_Data_Reader& reader,
      uint16_t extension_size, Connection_Side from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:829,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:829,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:830,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 833
    functionName: Botan::TLS::Record_Size_Limit::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Record_Size_Limit::serialize(Connection_Side)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' cookie'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 836
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 836
    functionName: Botan::TLS::Cookie::Cookie
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cookie::Cookie(const std::vector<uint8_t>& cookie)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:847,1
    - Dst: remaining_bytes
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:850,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:851,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:855,1
    - Dst: get_byte
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 857
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 857
    functionName: Botan::TLS::Cookie::Cookie
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - remaining_bytes
    - get_byte
    - push_back
    linkageType: ''
    returnType: void
    signature: void Cookie::Cookie(TLS_Data_Reader& reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:864,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:864,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:865,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:865,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 872
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 872
    functionName: Botan::TLS::Cookie::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Cookie::serialize(Connection_Side /*whoami*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:877,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:877,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:878,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:878,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:878,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:880,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 884
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 884
    functionName: Botan::TLS::PSK_Key_Exchange_Modes::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - std::vector::push_back
    - size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PSK_Key_Exchange_Modes::serialize(Connection_Side)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:888,1
    - Dst: get_byte
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:891,1
    - Dst: static_cast<PSK_Key_Exchange_Mode>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:893,1
    - Dst: get_byte
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:893,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 898
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 898
    functionName: Botan::TLS::PSK_Key_Exchange_Modes::PSK_Key_Exchange_Modes
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - get_byte
    - static_cast<PSK_Key_Exchange_Mode>
    - push_back
    linkageType: ''
    returnType: void
    signature: void PSK_Key_Exchange_Modes::PSK_Key_Exchange_Modes(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:906,1
    - Dst: encode_into
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:907,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:908,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 914
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 914
    functionName: Botan::TLS::Certificate_Authorities::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - encode_into
    - append_tls_length_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Authorities::serialize(Connection_Side)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:918,1
    - Dst: remaining_bytes
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:923,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:924,1
    - Dst: has_remaining
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:927,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:928,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:930,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:930,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:931,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:932,1
    - Dst: back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:932,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 934
      start: 916
    functionDepth: 2
    functionLinenumber: 916
    functionLinenumberEnd: 934
    functionName: Botan::TLS::Certificate_Authorities::Certificate_Authorities
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - BER_Decoder::decode
    - has_remaining
    - get_tls_length_value
    - emplace_back
    - Decoding_Error
    - remaining_bytes
    - back
    linkageType: ''
    returnType: void
    signature: void Certificate_Authorities::Certificate_Authorities(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - acceptable_DNs
    argTypes:
    - std::vector<X509_DN>
    constantsTouched: []
    func_position:
      end: 937
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 937
    functionName: Botan::TLS::Certificate_Authorities::Certificate_Authorities
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Certificate_Authorities::Certificate_Authorities(std::vector<X509_DN>
      acceptable_DNs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:941,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:942,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:943,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:943,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:944,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:944,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:945,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:945,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:946,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 949
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 949
    functionName: Botan::TLS::EarlyDataIndication::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_byte<3>
    - get_byte<2>
    - get_byte<1>
    - has_value
    - value
    - get_byte<0>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EarlyDataIndication::serialize(Connection_Side)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:956,1
    - Dst: get_uint32_t
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:961,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - message_type
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 967
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 967
    functionName: Botan::TLS::EarlyDataIndication::EarlyDataIndication
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - TLS_Exception
    - get_uint32_t
    linkageType: ''
    returnType: void
    signature: "void EarlyDataIndication::EarlyDataIndication(TLS_Data_Reader& reader,\n
      \                                        uint16_t extension_size,\n                                         Handshake_Type
      message_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 972
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 972
    functionName: Botan::TLS::EarlyDataIndication::empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EarlyDataIndication::empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - std::shared_ptr<RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::TLS::Session_Manager::Session_Manager
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Session_Manager::Session_Manager(const std::shared_ptr<RandomNumberGenerator>&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:30,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:31,1
    - Dst: side
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:31,1
    - Dst: value_or
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:33,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:33,1
    - Dst: store
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' session'
    - ' id'
    - tls12_no_ticket
    argTypes:
    - Session
    - std::optional<Session_ID>
    - bool
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: Botan::TLS::Session_Manager::establish
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - side
    - BOTAN_ASSERT
    - random_vec
    - value_or
    - store
    linkageType: ''
    returnType: std::optional<Session_Handle>
    signature: "std::optional<Session_Handle> Session_Manager::establish(const Session&
      session,\n                                                         const std::optional<Session_ID>&
      id,\n                                                         bool tls12_no_ticket)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: retrieve_one
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:45,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:46,1
    - Dst: session_ticket_lifetime
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:52,1
    - Dst: session_ticket_lifetime
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:52,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:52,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:73,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:73,1
    - Dst: auto::start_time
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:73,1
    - Dst: remove
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' handle'
    - ' callbacks'
    - ' policy'
    argTypes:
    - Session_Handle
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 82
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 82
    functionName: Botan::TLS::Session_Manager::retrieve
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::seconds>
    - auto::start_time
    - cryptofuzz::mutator::ExpModGenerator::max
    - session_ticket_lifetime
    - retrieve_one
    - auto::has_value
    - tls_current_timestamp
    - remove
    linkageType: ''
    returnType: std::optional<Session>
    signature: "std::optional<Session> Session_Manager::retrieve(const Session_Handle&
      handle,\n                                                 Callbacks& callbacks,\n
      \                                                const Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_ticket_lifetime
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:90,1
    - Dst: session_ticket_lifetime
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:90,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:90,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:93,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:102,1
    - Dst: find_some
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:103,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:106,1
    - Dst: std::erase_if
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:110,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:111,1
    - Dst: session::start_time
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:111,1
    - Dst: session::lifetime_hint
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:143,1
    - Dst: remove
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' info'
    - ' callbacks'
    - ' policy'
    argTypes:
    - Server_Information
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 155
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 155
    functionName: Botan::TLS::Session_Manager::find_and_filter
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - session::lifetime_hint
    - std::chrono::duration_cast<std::chrono::seconds>
    - find_some
    - cryptofuzz::mutator::ExpModGenerator::max
    - std::erase_if
    - session_ticket_lifetime
    - session::start_time
    - remove
    - tls_current_timestamp
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: "std::vector<Session_with_Handle> Session_Manager::find_and_filter(const
      Server_Information& info,\n                                                                  Callbacks&
      callbacks,\n                                                                  const
      Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reuse_session_tickets
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:160,1
    - Dst: std::optional::emplace
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:168,1
    - Dst: mutex
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:168,1
    - Dst: Botan::TLS::Session_Manager::find_and_filter
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:171,1
    - Dst: maximum_session_tickets_per_client_hello
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:175,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:176,1
    - Dst: auto::pop_back
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:177,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:189,1
    - Dst: std::optional::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:189,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:191,1
    - Dst: is_id
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:191,1
    - Dst: remove
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ' info'
    - ' callbacks'
    - ' policy'
    argTypes:
    - Server_Information
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 198
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 198
    functionName: Botan::TLS::Session_Manager::find
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - version
    - mutex
    - auto::size
    - is_id
    - std::optional::has_value
    - maximum_session_tickets_per_client_hello
    - auto::pop_back
    - Botan::TLS::Session_Manager::find_and_filter
    - remove
    - std::optional::emplace
    - reuse_session_tickets
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: "std::vector<Session_with_Handle> Session_Manager::find(const Server_Information&
      info,\n                                                       Callbacks& callbacks,\n
      \                                                      const Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Session_Manager::retrieve
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:211,1
    - Dst: Opaque_Session_Handle
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:211,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:211,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:212,1
    - Dst: auto::ciphersuite
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:212,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:213,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:214,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - ' tickets'
    - hash_function
    - ' callbacks'
    - ' policy'
    argTypes:
    - std::vector<PskIdentity>
    - std::string_view
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 233
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 233
    functionName: Botan::TLS::Session_Manager::choose_from_offered_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Opaque_Session_Handle
    - auto::value
    - Botan::TLS::Session_Manager::retrieve
    - auto::version
    - auto::ciphersuite
    - identity
    - auto::has_value
    linkageType: ''
    returnType: std::optional<std::pair<Session, uint16_t>>
    signature: "std::optional<std::pair<Session, uint16_t>> Session_Manager::choose_from_offered_tickets(\n
      \  const std::vector<PskIdentity>& tickets,\n   std::string_view hash_function,\n
      \  Callbacks& callbacks,\n   const Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::TLS::Certificate_Request_12::type
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_Type
    signature: Handshake_Type Certificate_Request_12::type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: Botan::TLS::cert_type_code_to_name
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string cert_type_code_to_name(uint8_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:46,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: Botan::TLS::cert_type_name_to_code
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Invalid_Argument
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t cert_type_name_to_code(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acceptable_signature_schemes
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:59,1
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:60,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' io'
    - ' hash'
    - ' policy'
    - ' ca_certs'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - Policy
    - std::vector<X509_DN>
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Certificate_Request_12::Certificate_Request_12
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached:
    - send
    - acceptable_signature_schemes
    - update
    linkageType: ''
    returnType: void
    signature: "void Certificate_Request_12::Certificate_Request_12(Handshake_IO&
      io,\n                                               Handshake_Hash& hash,\n
      \                                              const Policy& policy,\n                                               const
      std::vector<X509_DN>& ca_certs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:67,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:68,1
    - Dst: TLS_Data_Reader::get_range_vector
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:73,1
    - Dst: cert_type_code_to_name
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:76,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:78,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:82,1
    - Dst: TLS_Data_Reader::get_range_vector
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:85,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:87,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:88,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:91,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:92,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:92,1
    - Dst: TLS_Data_Reader::remaining_bytes
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:97,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:98,1
    - Dst: TLS_Data_Reader::has_remaining
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:101,1
    - Dst: TLS_Data_Reader::get_range_vector
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:102,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:104,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:104,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:106,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 109
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 109
    functionName: Botan::TLS::Certificate_Request_12::Certificate_Request_12
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - BER_Decoder::decode
    - TLS_Data_Reader::has_remaining
    - make_uint16
    - cert_type_code_to_name
    - size
    - TLS_Data_Reader::remaining_bytes
    - emplace_back
    - Decoding_Error
    - std::string::empty
    - TLS_Data_Reader::get_range_vector
    linkageType: ''
    returnType: void
    signature: void Certificate_Request_12::Certificate_Request_12(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '& Certificate_Request_12::acceptable_cert_types() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & Certificate_Request_12::acceptable_cert_types()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: '& Certificate_Request_12::acceptable_CAs() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> & Certificate_Request_12::acceptable_CAs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: '& Certificate_Request_12::signature_schemes() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> & Certificate_Request_12::signature_schemes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:131,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:131,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:133,1
    - Dst: cert_type_name_to_code
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:133,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:136,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:138,1
    - Dst: Signature_Algorithms
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:139,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:146,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:148,1
    - Dst: DER_Encoder::get_contents
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:148,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 154
    functionName: Botan::TLS::Certificate_Request_12::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached:
    - Signature_Algorithms
    - std::vector::reserve
    - cert_type_name_to_code
    - empty
    - append_tls_length_value
    - DER_Encoder::encode
    - size
    - std::vector::push_back
    - DER_Encoder::get_contents
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Request_12::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::lexicographical_compare
      Src: /src/botan/src/lib/tls/tls_session.h:44,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_session.h:44,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_session.h:44,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_session.h:44,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_session.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id1'
    - ' id2'
    argTypes:
    - Session_ID
    - Session_ID
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: operator<(const Session_ID& id1, const Session_ID& id2)
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - std::lexicographical_compare
    - begin
    - end
    linkageType: ''
    returnType: auto
    signature: auto operator<(const Session_ID& id1, const Session_ID& id2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.h:88,1
    - Dst: validate_constraints
      Src: /src/botan/src/lib/tls/tls_session.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ticket
    argTypes:
    - Opaque_Session_Handle
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan::TLS::Session_Handle
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - std::move
    - validate_constraints
    linkageType: ''
    returnType: void
    signature: void Session_Handle(Opaque_Session_Handle ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Session_ID>
      Src: /src/botan/src/lib/tls/tls_session.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan::TLS::is_id
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - std::holds_alternative<Session_ID>
    linkageType: ''
    returnType: bool
    signature: bool is_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Session_Ticket>
      Src: /src/botan/src/lib/tls/tls_session.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::TLS::is_ticket
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - std::holds_alternative<Session_Ticket>
    linkageType: ''
    returnType: bool
    signature: bool is_ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Opaque_Session_Handle>
      Src: /src/botan/src/lib/tls/tls_session.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::TLS::is_opaque_handle
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - std::holds_alternative<Opaque_Session_Handle>
    linkageType: ''
    returnType: bool
    signature: bool is_opaque_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::TLS::get
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: version
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: ciphersuite_code
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ciphersuite_code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: side
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Connection_Side
    signature: Connection_Side side() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: dtls_srtp_profile
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dtls_srtp_profile() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: supports_encrypt_then_mac
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_encrypt_then_mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: supports_extended_master_secret
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_extended_master_secret() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: peer_certs
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> & peer_certs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: peer_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> peer_raw_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: server_info
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Server_Information
    signature: Server_Information & server_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: was_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool was_resumption() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: kex_algo
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string kex_algo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: kex_parameters
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> kex_parameters() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls_session.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: cipher_algo
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 7
    functionsReached:
    - ciphersuite
    linkageType: ''
    returnType: std::string
    signature: std::string cipher_algo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls_session.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: mac_algo
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 4
    functionsReached:
    - ciphersuite
    linkageType: ''
    returnType: std::string
    signature: std::string mac_algo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls_session.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: prf_algo
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 4
    functionsReached:
    - ciphersuite
    linkageType: ''
    returnType: std::string
    signature: std::string prf_algo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - Session_ID
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: set_session_id
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_session_id(Session_ID id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ticket
    argTypes:
    - Session_Ticket
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: set_session_ticket
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_session_ticket(Session_Ticket ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session
      Src: /src/botan/src/lib/tls/tls_session.h:340,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/tls/tls_session.h:350,1
    - Dst: Botan::TLS::Session::decrypt
      Src: /src/botan/src/lib/tls/tls_session.h:416,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/tls_session.h:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 489
    functionName: Session_Base
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - std::span
    - Session
    - Botan::TLS::Session::decrypt
    - cryptofuzz::mutator::ExpModGenerator::max
    linkageType: ''
    returnType: Session
    signature: Session Session_Base
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_algos.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - algo
    argTypes:
    - KDF_Algo
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: Botan::TLS::kdf_algo_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 1
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string kdf_algo_to_string(KDF_Algo algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_algos.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - method
    argTypes:
    - Kex_Algo
    constantsTouched: []
    func_position:
      end: 55
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 55
    functionName: Botan::TLS::kex_method_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 3
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string kex_method_to_string(Kex_Algo method)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_algos.cpp:102,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls_algos.cpp:102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 103
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 103
    functionName: Botan::TLS::kex_method_from_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Invalid_Argument
    linkageType: ''
    returnType: Kex_Algo
    signature: Kex_Algo kex_method_from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_algos.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - method
    argTypes:
    - Auth_Method
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: Botan::TLS::auth_method_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 2
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string auth_method_to_string(Auth_Method method)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_algos.cpp:134,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls_algos.cpp:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: Botan::TLS::auth_method_from_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Invalid_Argument
    linkageType: ''
    returnType: Auth_Method
    signature: Auth_Method auth_method_from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_x25519
      Src: /src/botan/src/lib/tls/tls_algos.cpp:139,1
    - Dst: is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls_algos.cpp:142,1
    - Dst: Botan::TLS::Group_Params::pqc_hybrid_ecc
      Src: /src/botan/src/lib/tls/tls_algos.cpp:142,1
    - Dst: is_x448
      Src: /src/botan/src/lib/tls/tls_algos.cpp:148,1
    - Dst: is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls_algos.cpp:151,1
    - Dst: Botan::TLS::Group_Params::pqc_hybrid_ecc
      Src: /src/botan/src/lib/tls/tls_algos.cpp:151,1
    - Dst: is_in_ffdhe_range
      Src: /src/botan/src/lib/tls/tls_algos.cpp:157,1
    - Dst: is_pure_ml_kem
      Src: /src/botan/src/lib/tls/tls_algos.cpp:163,1
    - Dst: is_pqc_hybrid_ml_kem
      Src: /src/botan/src/lib/tls/tls_algos.cpp:163,1
    - Dst: is_pure_frodokem
      Src: /src/botan/src/lib/tls/tls_algos.cpp:169,1
    - Dst: is_pqc_hybrid_frodokem
      Src: /src/botan/src/lib/tls/tls_algos.cpp:169,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 175
    functionName: Botan::TLS::Group_Params::is_available
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 0
    functionsReached:
    - is_x448
    - Botan::TLS::Group_Params::pqc_hybrid_ecc
    - is_pure_ml_kem
    - is_in_ffdhe_range
    - is_pure_frodokem
    - is_pqc_hybrid_ml_kem
    - is_pqc_hybrid
    - is_x25519
    - is_pqc_hybrid_frodokem
    linkageType: ''
    returnType: bool
    signature: bool Group_Params::is_available() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 206
    functionName: Botan::TLS::Group_Params::pqc_hybrid_ecc
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Group_Params_Code>
    signature: std::optional<Group_Params_Code> Group_Params::pqc_hybrid_ecc() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 107
    argCount: 1
    argNames:
    - group_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 324
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 324
    functionName: Botan::TLS::Group_Params::from_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Group_Params>
    signature: std::optional<Group_Params> Group_Params::from_string(std::string_view
      group_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 407
    functionName: Botan::TLS::Group_Params::to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Group_Params::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_client.cpp:39,1
    - Dst: acceptable_protocol_version
      Src: /src/botan/src/lib/tls/tls_client.cpp:39,1
    - Dst: std::make_unique<Client_Impl_13>
      Src: /src/botan/src/lib/tls/tls_client.cpp:44,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_client.cpp:45,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls_client.cpp:47,1
    - Dst: set_io_buffer_size
      Src: /src/botan/src/lib/tls/tls_client.cpp:48,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls_client.cpp:51,1
    - Dst: Botan::TLS::Client::downgrade
      Src: /src/botan/src/lib/tls/tls_client.cpp:54,1
    - Dst: std::make_unique<Client_Impl_12>
      Src: /src/botan/src/lib/tls/tls_client.cpp:61,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_client.cpp:66,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_client.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 9
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' creds'
    - ' policy'
    - ' rng'
    - info
    - offer_version
    - ' next_protocols'
    - io_buf_sz
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<const Policy>
    - std::shared_ptr<RandomNumberGenerator>
    - Server_Information
    - Protocol_Version
    - std::vector<std::string>
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 70
    functionName: Botan::TLS::Client::Client
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<Client_Impl_13>
    - std::make_unique<Client_Impl_12>
    - Protocol_Version::is_datagram_protocol
    - acceptable_protocol_version
    - is_downgrading
    - expects_downgrade
    - set_io_buffer_size
    - BOTAN_ARG_CHECK
    - Botan::TLS::Client::downgrade
    linkageType: ''
    returnType: void
    signature: "void Client::Client(const std::shared_ptr<Callbacks>& callbacks,\n
      \              const std::shared_ptr<Session_Manager>& session_manager,\n               const
      std::shared_ptr<Credentials_Manager>& creds,\n               const std::shared_ptr<const
      Policy>& policy,\n               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n               Server_Information info,\n               Protocol_Version
      offer_version,\n               const std::vector<std::string>& next_protocols,\n
      \              size_t io_buf_sz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Client::~Client()
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Client::~Client()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_client.cpp:75,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls_client.cpp:75,1
    - Dst: extract_downgrade_info
      Src: /src/botan/src/lib/tls/tls_client.cpp:77,1
    - Dst: std::make_unique<Client_Impl_12>
      Src: /src/botan/src/lib/tls/tls_client.cpp:78,1
    - Dst: auto::peer_transcript::empty
      Src: /src/botan/src/lib/tls/tls_client.cpp:80,1
    - Dst: Botan::TLS::Client::from_peer
      Src: /src/botan/src/lib/tls/tls_client.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: Botan::TLS::Client::downgrade
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - auto::peer_transcript::empty
    - extract_downgrade_info
    - std::make_unique<Client_Impl_12>
    - is_downgrading
    - Botan::TLS::Client::from_peer
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t Client::downgrade()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::from_peer
      Src: /src/botan/src/lib/tls/tls_client.cpp:91,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls_client.cpp:93,1
    - Dst: Botan::TLS::Client::downgrade
      Src: /src/botan/src/lib/tls/tls_client.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: Botan::TLS::Client::from_peer
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 2
    functionsReached:
    - is_downgrading
    - Botan::TLS::Client::from_peer
    - Botan::TLS::Client::downgrade
    linkageType: ''
    returnType: size_t
    signature: size_t Client::from_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls_client.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::TLS::Client::is_handshake_complete
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::is_handshake_complete
    linkageType: ''
    returnType: bool
    signature: bool Client::is_handshake_complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::is_active
      Src: /src/botan/src/lib/tls/tls_client.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: Botan::TLS::Client::is_active
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Client::is_active
    linkageType: ''
    returnType: bool
    signature: bool Client::is_active() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::is_closed
      Src: /src/botan/src/lib/tls/tls_client.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::TLS::Client::is_closed
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Client::is_closed
    linkageType: ''
    returnType: bool
    signature: bool Client::is_closed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::is_closed_for_reading
      Src: /src/botan/src/lib/tls/tls_client.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: Botan::TLS::Client::is_closed_for_reading
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::is_closed_for_reading
    linkageType: ''
    returnType: bool
    signature: bool Client::is_closed_for_reading() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::is_closed_for_writing
      Src: /src/botan/src/lib/tls/tls_client.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: Botan::TLS::Client::is_closed_for_writing
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::is_closed_for_writing
    linkageType: ''
    returnType: bool
    signature: bool Client::is_closed_for_writing() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::peer_cert_chain
      Src: /src/botan/src/lib/tls/tls_client.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: Botan::TLS::Client::peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::peer_cert_chain
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Client::peer_cert_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls_client.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::TLS::Client::peer_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::peer_raw_public_key
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> Client::peer_raw_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::external_psk_identity
      Src: /src/botan/src/lib/tls/tls_client.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::TLS::Client::external_psk_identity
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::external_psk_identity
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Client::external_psk_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::key_material_export
      Src: /src/botan/src/lib/tls/tls_client.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - label
    - context
    - length
    argTypes:
    - std::string_view
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::TLS::Client::key_material_export
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::key_material_export
    linkageType: ''
    returnType: SymmetricKey
    signature: SymmetricKey Client::key_material_export(std::string_view label, std::string_view
      context, size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::renegotiate
      Src: /src/botan/src/lib/tls/tls_client.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - force_full_renegotiation
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::TLS::Client::renegotiate
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Client::renegotiate
    linkageType: ''
    returnType: void
    signature: void Client::renegotiate(bool force_full_renegotiation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::update_traffic_keys
      Src: /src/botan/src/lib/tls/tls_client.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request_peer_update
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Botan::TLS::Client::update_traffic_keys
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::update_traffic_keys
    linkageType: ''
    returnType: void
    signature: void Client::update_traffic_keys(bool request_peer_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::secure_renegotiation_supported
      Src: /src/botan/src/lib/tls/tls_client.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: Botan::TLS::Client::secure_renegotiation_supported
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::secure_renegotiation_supported
    linkageType: ''
    returnType: bool
    signature: bool Client::secure_renegotiation_supported() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::to_peer
      Src: /src/botan/src/lib/tls/tls_client.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: Botan::TLS::Client::to_peer
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::to_peer
    linkageType: ''
    returnType: void
    signature: void Client::to_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::send_alert
      Src: /src/botan/src/lib/tls/tls_client.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Alert
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: Botan::TLS::Client::send_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::send_alert
    linkageType: ''
    returnType: void
    signature: void Client::send_alert(const Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::send_warning_alert
      Src: /src/botan/src/lib/tls/tls_client.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Alert::Type
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: Botan::TLS::Client::send_warning_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::send_warning_alert
    linkageType: ''
    returnType: void
    signature: void Client::send_warning_alert(Alert::Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::send_fatal_alert
      Src: /src/botan/src/lib/tls/tls_client.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Alert::Type
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::TLS::Client::send_fatal_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::send_fatal_alert
    linkageType: ''
    returnType: void
    signature: void Client::send_fatal_alert(Alert::Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::close
      Src: /src/botan/src/lib/tls/tls_client.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::TLS::Client::close
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Client::close
    linkageType: ''
    returnType: void
    signature: void Client::close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::timeout_check
      Src: /src/botan/src/lib/tls/tls_client.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::TLS::Client::timeout_check
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Client::timeout_check
    linkageType: ''
    returnType: bool
    signature: bool Client::timeout_check()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::application_protocol
      Src: /src/botan/src/lib/tls/tls_client.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: Botan::TLS::Client::application_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Client::application_protocol
    linkageType: ''
    returnType: std::string
    signature: std::string Client::application_protocol() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::TLS::wire_code
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Signature_Scheme::Code
    signature: Signature_Scheme::Code wire_code() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Signature_Scheme
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: operator==(const Signature_Scheme& rhs) const
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Signature_Scheme& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Signature_Scheme
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: operator!=(const Signature_Scheme& rhs) const
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Signature_Scheme& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Client
      Src: /src/botan/src/lib/tls/tls_client.h:75,1
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/tls_client.h:80,1
    - Dst: Protocol_Version::latest_tls_version
      Src: /src/botan/src/lib/tls/tls_client.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 132
    functionName: Botan::TLS::Channel
    functionSourceFile: /src/botan/src/lib/tls/tls_client.h
    functionUses: 0
    functionsReached:
    - Client
    - Server_Information
    - Protocol_Version::latest_tls_version
    linkageType: ''
    returnType: Client
    signature: Client Channel
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Client_Hello
      Src: /src/botan/src/lib/tls/tls_messages.h:78,1
    - Dst: Client_Hello
      Src: /src/botan/src/lib/tls/tls_messages.h:80,1
    - Dst: Client_Hello
      Src: /src/botan/src/lib/tls/tls_messages.h:83,1
    - Dst: random
      Src: /src/botan/src/lib/tls/tls_messages.h:99,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/tls_messages.h:101,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/tls_messages.h:103,1
    - Dst: offered_suite
      Src: /src/botan/src/lib/tls/tls_messages.h:105,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls_messages.h:107,1
    - Dst: certificate_signature_schemes
      Src: /src/botan/src/lib/tls/tls_messages.h:108,1
    - Dst: supported_ecc_curves
      Src: /src/botan/src/lib/tls/tls_messages.h:110,1
    - Dst: supported_dh_groups
      Src: /src/botan/src/lib/tls/tls_messages.h:113,1
    - Dst: supported_versions
      Src: /src/botan/src/lib/tls/tls_messages.h:115,1
    - Dst: sni_hostname
      Src: /src/botan/src/lib/tls/tls_messages.h:117,1
    - Dst: supports_alpn
      Src: /src/botan/src/lib/tls/tls_messages.h:119,1
    - Dst: sent_signature_algorithms
      Src: /src/botan/src/lib/tls/tls_messages.h:121,1
    - Dst: next_protocols
      Src: /src/botan/src/lib/tls/tls_messages.h:123,1
    - Dst: srtp_profiles
      Src: /src/botan/src/lib/tls/tls_messages.h:125,1
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls_messages.h:127,1
    - Dst: cookie
      Src: /src/botan/src/lib/tls/tls_messages.h:129,1
    - Dst: cookie_input_data
      Src: /src/botan/src/lib/tls/tls_messages.h:131,1
    - Dst: extension_types
      Src: /src/botan/src/lib/tls/tls_messages.h:133,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls_messages.h:135,1
    - Dst: Client_Hello
      Src: /src/botan/src/lib/tls/tls_messages.h:138,1
    - Dst: compression_methods
      Src: /src/botan/src/lib/tls/tls_messages.h:141,1
    - Dst: Client_Hello_13
      Src: /src/botan/src/lib/tls/tls_messages.h:225,1
    - Dst: parse
      Src: /src/botan/src/lib/tls/tls_messages.h:233,1
    - Dst: retry
      Src: /src/botan/src/lib/tls/tls_messages.h:235,1
    - Dst: highest_supported_version
      Src: /src/botan/src/lib/tls/tls_messages.h:245,1
    - Dst: validate_updates
      Src: /src/botan/src/lib/tls/tls_messages.h:252,1
    - Dst: Server_Hello
      Src: /src/botan/src/lib/tls/tls_messages.h:276,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_messages.h:315,1
    - Dst: Hello_Retry_Request
      Src: /src/botan/src/lib/tls/tls_messages.h:456,1
    - Dst: Hello_Retry_Request
      Src: /src/botan/src/lib/tls/tls_messages.h:457,1
    - Dst: Botan::TLS::type
      Src: /src/botan/src/lib/tls/tls_messages.h:460,1
    - Dst: Botan::TLS::wire_type
      Src: /src/botan/src/lib/tls/tls_messages.h:462,1
    - Dst: Botan::TLS::type
      Src: /src/botan/src/lib/tls/tls_messages.h:524,1
    - Dst: cert_chain
      Src: /src/botan/src/lib/tls/tls_messages.h:526,1
    - Dst: count
      Src: /src/botan/src/lib/tls/tls_messages.h:528,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_messages.h:528,1
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls_messages.h:530,1
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls_messages.h:530,1
    - Dst: Certificate_12
      Src: /src/botan/src/lib/tls/tls_messages.h:532,1
    - Dst: Certificate_12
      Src: /src/botan/src/lib/tls/tls_messages.h:534,1
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls_messages.h:536,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_messages.h:582,1
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls_messages.h:584,1
    - Dst: Botan::TLS::type
      Src: /src/botan/src/lib/tls/tls_messages.h:700,1
    - Dst: acceptable_cert_types
      Src: /src/botan/src/lib/tls/tls_messages.h:702,1
    - Dst: acceptable_CAs
      Src: /src/botan/src/lib/tls/tls_messages.h:704,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls_messages.h:706,1
    - Dst: Certificate_Request_12
      Src: /src/botan/src/lib/tls/tls_messages.h:708,1
    - Dst: Certificate_Request_12
      Src: /src/botan/src/lib/tls/tls_messages.h:713,1
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls_messages.h:715,1
    - Dst: Certificate_Request_13
      Src: /src/botan/src/lib/tls/tls_messages.h:749,1
    - Dst: Certificate_Verify_13
      Src: /src/botan/src/lib/tls/tls_messages.h:808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 158
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 876
    functionName: Botan::TLS::Hello_Verify_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::wire_type
    - cookie_input_data
    - certificate_signature_schemes
    - next_protocols
    - Certificate_Verify_13
    - srtp_profiles
    - supports_alpn
    - supported_dh_groups
    - Client_Hello_13
    - Certificate_12
    - compression_methods
    - session_id
    - offered_suite
    - cert_chain
    - Certificate_Request_13
    - sent_signature_algorithms
    - Server_Hello
    - acceptable_CAs
    - random
    - Certificate_Request_12
    - validate_updates
    - Hello_Retry_Request
    - retry
    - highest_supported_version
    - Botan::TLS::empty
    - serialize
    - supported_ecc_curves
    - cookie
    - Client_Hello
    - Botan::TLS::type
    - extension_types
    - signature_schemes
    - acceptable_cert_types
    - extensions
    - supported_versions
    - count
    - size
    - ciphersuites
    - sni_hostname
    - parse
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Hello_Verify_Request
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 883
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 883
    functionName: Botan::TLS::Server_Key_Exchange
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Server_Key_Exchange
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 885
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 885
    functionName: Botan::TLS::params
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 896
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 896
    functionName: Botan::TLS::shared_group
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Group_Params>
    signature: std::optional<Group_Params> & shared_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 927
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 927
    functionName: Botan::Server_Hello_Done
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Server_Hello_Done
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 941
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 941
    functionName: New_Session_Ticket_12
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API New_Session_Ticket_12
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 943
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 943
    functionName: ticket_lifetime_hint
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds ticket_lifetime_hint() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 945
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 945
    functionName: ticket
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: Session_Ticket
    signature: Session_Ticket & ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 970
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 970
    functionName: New_Session_Ticket_13
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API New_Session_Ticket_13
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 981
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 981
    functionName: extensions
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: Extensions
    signature: Extensions & extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 983
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 983
    functionName: handle
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: Opaque_Session_Handle
    signature: Opaque_Session_Handle & handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 985
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 985
    functionName: nonce
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: Ticket_Nonce
    signature: Ticket_Nonce & nonce() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 987
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 987
    functionName: ticket_age_add
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ticket_age_add() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 989
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 989
    functionName: lifetime_hint
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds lifetime_hint() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1019
    functionName: Change_Cipher_Spec
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Change_Cipher_Spec
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_messages.h:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1021
    functionName: serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 26
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1028
    functionName: Handshake_Message
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Handshake_Message
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1035
    functionName: expects_reciprocation
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void expects_reciprocation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:83,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:84,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 1
    argNames:
    - type
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 85
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 85
    functionName: Botan::TLS::bitmask_for_handshake_type
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - static_cast<size_t>
    - std::to_string
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t bitmask_for_handshake_type(Handshake_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::bitmask_for_handshake_type
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:111,1
    - Dst: Botan::TLS::handshake_type_to_string
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:115,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - mask
    - combiner
    argTypes:
    - uint32_t
    - char
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: Botan::TLS::handshake_mask_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::bitmask_for_handshake_type
    - Botan::TLS::handshake_type_to_string
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string handshake_mask_to_string(uint32_t mask, char combiner)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg_type
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: Botan::TLS::Handshake_Transitions::received_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Handshake_Transitions::received_handshake_msg(Handshake_Type msg_type)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake_type_to_string
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:143,1
    - Dst: handshake_mask_to_string
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:148,1
    - Dst: handshake_mask_to_string
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:152,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:155,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - msg_type
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 163
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 163
    functionName: Botan::TLS::Handshake_Transitions::confirm_transition_to
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 1
    functionsReached:
    - handshake_mask_to_string
    - handshake_type_to_string
    - std::ostringstream::str
    - Unexpected_Message
    linkageType: ''
    returnType: void
    signature: void Handshake_Transitions::confirm_transition_to(Handshake_Type msg_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitmask_for_handshake_type
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg_type
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan::TLS::Handshake_Transitions::set_expected_next
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 1
    functionsReached:
    - bitmask_for_handshake_type
    linkageType: ''
    returnType: void
    signature: void Handshake_Transitions::set_expected_next(Handshake_Type msg_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_Transitions::set_expected_next
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' msg_types'
    argTypes:
    - std::vector<Handshake_Type>
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: Botan::TLS::Handshake_Transitions::set_expected_next
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Handshake_Transitions::set_expected_next
    linkageType: ''
    returnType: void
    signature: void Handshake_Transitions::set_expected_next(const std::vector<Handshake_Type>&
      msg_types)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitmask_for_handshake_type
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: Botan::TLS::Handshake_Transitions::change_cipher_spec_expected
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 1
    functionsReached:
    - bitmask_for_handshake_type
    linkageType: ''
    returnType: bool
    signature: bool Handshake_Transitions::change_cipher_spec_expected() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_alert.cpp:15,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_alert.cpp:16,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_alert.cpp:16,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_alert.cpp:16,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_alert.cpp:24,1
    - Dst: static_cast<Type>
      Src: /src/botan/src/lib/tls/tls_alert.cpp:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: Botan::TLS::Alert::Alert
    functionSourceFile: /src/botan/src/lib/tls/tls_alert.cpp
    functionUses: 1
    functionsReached:
    - TLS_Exception
    - std::to_string
    - static_cast<Type>
    - size
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void Alert::Alert(const secure_vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_alert.cpp:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_alert.cpp:33,1
    - Dst: is_fatal
      Src: /src/botan/src/lib/tls/tls_alert.cpp:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_alert.cpp:33,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls_alert.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::TLS::Alert::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_alert.cpp
    functionUses: 0
    functionsReached:
    - is_fatal
    - std::vector<uint8_t>
    - type
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Alert::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 74
    argCount: 1
    argNames:
    - type
    argTypes:
    - AlertType
    constantsTouched: []
    func_position:
      end: 114
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 114
    functionName: Botan::TLS::alert_type_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_alert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * alert_type_to_string(AlertType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls_alert.cpp:120,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_alert.cpp:123,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_alert.cpp:123,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls_alert.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: Botan::TLS::Alert::type_string
    functionSourceFile: /src/botan/src/lib/tls/tls_alert.cpp
    functionUses: 6
    functionsReached:
    - std::string
    - static_cast<size_t>
    - type
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string Alert::type_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ExternalPSK()
    functionSourceFile: /src/botan/src/lib/tls/tls_external_psk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ExternalPSK()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_external_psk.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - identity
    - prf_algo
    - psk
    argTypes:
    - std::string_view
    - std::string_view
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: Botan::TLS::ExternalPSK
    functionSourceFile: /src/botan/src/lib/tls/tls_external_psk.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ExternalPSK(std::string_view identity, std::string_view prf_algo,
      secure_vector<uint8_t> psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::TLS::identity
    functionSourceFile: /src/botan/src/lib/tls/tls_external_psk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::TLS::prf_algo
    functionSourceFile: /src/botan/src/lib/tls/tls_external_psk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & prf_algo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' rng'
    - max_sessions
    argTypes:
    - std::shared_ptr<RandomNumberGenerator>
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: Botan::TLS::Session_Manager_In_Memory::Session_Manager_In_Memory
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void Session_Manager_In_Memory::Session_Manager_In_Memory(const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                                                     size_t max_sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:32,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:33,1
    - Dst: capacity
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:33,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:34,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:34,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:34,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:35,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:35,1
    - Dst: pop_front
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:36,1
    - Dst: id
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:42,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:42,1
    - Dst: emplace
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:43,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:45,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:46,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' session'
    - ' handle'
    argTypes:
    - Session
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: Botan::TLS::Session_Manager_In_Memory::store
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - emplace
    - emplace_back
    - has_value
    - random_vec
    - capacity
    - size
    - front
    - id
    - erase
    - pop_front
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Session_Manager_In_Memory::store(const Session& session, const
      Session_Handle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: id
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:53,1
    - Dst: find
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:54,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:54,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Session_Manager_In_Memory::retrieve_one
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 0
    functionsReached:
    - id
    - end
    - find
    - auto::value
    linkageType: ''
    returnType: std::optional<Session>
    signature: std::optional<Session> Session_Manager_In_Memory::retrieve_one(const
      Session_Handle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:65,1
    - Dst: session::server_info
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:72,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' info'
    - max_sessions_hint
    argTypes:
    - Server_Information
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: Botan::TLS::Session_Manager_In_Memory::find_some
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::vector::emplace_back
    - session::server_info
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: "std::vector<Session_with_Handle> Session_Manager_In_Memory::find_some(const
      Server_Information& info,\n                                                                      const
      size_t max_sessions_hint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove_internal
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Botan::TLS::Session_Manager_In_Memory::remove
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Session_Manager_In_Memory::remove_internal
    linkageType: ''
    returnType: size_t
    signature: size_t Session_Manager_In_Memory::remove(const Session_Handle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:86,1
    - Dst: std::erase_if
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:94,1
    - Dst: is_ticket
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:97,1
    - Dst: ticket
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:97,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:100,1
    - Dst: id
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:102,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove_internal
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:103,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:103,1
    - Dst: ticket
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:109,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove_internal
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:110,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:110,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 117
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 117
    functionName: Botan::TLS::Session_Manager_In_Memory::remove_internal
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Session_Manager_In_Memory::remove_internal
    - std::visit
    - is_ticket
    - auto::value
    - ticket
    - std::erase_if
    - get
    - id
    - erase
    linkageType: ''
    returnType: size_t
    signature: size_t Session_Manager_In_Memory::remove_internal(const Session_Handle&
      handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:122,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:123,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:124,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: Botan::TLS::Session_Manager_In_Memory::remove_all
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 0
    functionsReached:
    - clear
    - has_value
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Session_Manager_In_Memory::remove_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_external_psk.cpp:17,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_external_psk.cpp:17,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls_external_psk.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: Botan::TLS::ExternalPSK::extract_master_secret
    functionSourceFile: /src/botan/src/lib/tls/tls_external_psk.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ExternalPSK::extract_master_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:20,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:21,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:22,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:23,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:24,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:25,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:26,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:27,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:28,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:29,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:30,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:31,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:32,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:33,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:34,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:35,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:36,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:37,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:38,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:39,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:40,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:41,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:42,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:43,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:44,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:45,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:46,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:47,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:48,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:49,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:50,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:51,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:52,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:53,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:54,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:55,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:56,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:57,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:58,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:59,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:60,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:61,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:62,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:63,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:64,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:65,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:66,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:67,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:68,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:69,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:70,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:71,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:72,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:73,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:74,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:75,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:76,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:77,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:78,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:79,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:80,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:81,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:82,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:83,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:84,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:85,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:86,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:87,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:88,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:89,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:90,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:91,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:92,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:93,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:94,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:95,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:96,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:97,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:98,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:99,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:100,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:101,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:102,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:103,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:104,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:105,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:106,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:107,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:108,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:109,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:110,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:111,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:112,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:113,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:114,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:115,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:116,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:117,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:118,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:119,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:120,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 127
    functionName: '& Ciphersuite::all_known_ciphersuites()'
    functionSourceFile: /src/botan/src/lib/tls/tls_suite_info.cpp
    functionUses: 0
    functionsReached:
    - Ciphersuite
    linkageType: ''
    returnType: std::vector<Ciphersuite>
    signature: std::vector<Ciphersuite> & Ciphersuite::all_known_ciphersuites()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Policy::allow_ssl_key_log_file
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_ssl_key_log_file() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Signature_Scheme::all_available_schemes
      Src: /src/botan/src/lib/tls/tls_policy.cpp:30,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_policy.cpp:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: Policy::allowed_signature_schemes
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - Signature_Scheme::all_available_schemes
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> Policy::allowed_signature_schemes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Policy::allowed_signature_schemes
      Src: /src/botan/src/lib/tls/tls_policy.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Policy::acceptable_signature_schemes
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached:
    - Policy::allowed_signature_schemes
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> Policy::acceptable_signature_schemes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Policy::acceptable_certificate_signature_schemes
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::vector<Signature_Scheme>>
    signature: std::optional<std::vector<Signature_Scheme>> Policy::acceptable_certificate_signature_schemes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: Policy::allowed_ciphers
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Policy::allowed_ciphers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: Policy::allowed_signature_hashes
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Policy::allowed_signature_hashes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: Policy::allowed_macs
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Policy::allowed_macs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: Policy::allowed_key_exchange_methods
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Policy::allowed_key_exchange_methods() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: Policy::allowed_signature_methods
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Policy::allowed_signature_methods() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:111,1
    - Dst: Policy::allowed_signature_methods
      Src: /src/botan/src/lib/tls/tls_policy.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig_method
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Policy::allowed_signature_method
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - Policy::allowed_signature_methods
    linkageType: ''
    returnType: bool
    signature: bool Policy::allowed_signature_method(std::string_view sig_method)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:115,1
    - Dst: Policy::allowed_signature_hashes
      Src: /src/botan/src/lib/tls/tls_policy.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig_hash
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: Policy::allowed_signature_hash
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::allowed_signature_hashes
    - value_exists
    linkageType: ''
    returnType: bool
    signature: bool Policy::allowed_signature_hash(std::string_view sig_hash) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Policy::use_ecc_point_compression
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::use_ecc_point_compression() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_policy.cpp:124,1
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/tls_policy.cpp:128,1
    - Dst: is_post_quantum
      Src: /src/botan/src/lib/tls/tls_policy.cpp:132,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:132,1
    - Dst: is_post_quantum
      Src: /src/botan/src/lib/tls/tls_policy.cpp:139,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:139,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:147,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:155,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - ' supported_by_peer'
    - ' offered_by_peer'
    argTypes:
    - std::vector<Group_Params>
    - std::vector<Group_Params>
    constantsTouched: []
    func_position:
      end: 161
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 161
    functionName: Policy::choose_key_exchange_group
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - key_exchange_groups
    - empty
    - value_exists
    - is_post_quantum
    linkageType: ''
    returnType: Group_Params
    signature: "Group_Params Policy::choose_key_exchange_group(const std::vector<Group_Params>&
      supported_by_peer,\n                                               const std::vector<Group_Params>&
      offered_by_peer) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/tls_policy.cpp:167,1
    - Dst: is_dh_named_group
      Src: /src/botan/src/lib/tls/tls_policy.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: Policy::default_dh_group
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - key_exchange_groups
    - is_dh_named_group
    linkageType: ''
    returnType: Group_Params
    signature: Group_Params Policy::default_dh_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: Policy::minimum_dh_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::minimum_dh_group_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: Policy::minimum_ecdsa_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::minimum_ecdsa_group_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: Policy::minimum_ecdh_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::minimum_ecdh_group_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: Policy::minimum_signature_strength
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::minimum_signature_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: Policy::require_cert_revocation_info
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::require_cert_revocation_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: Policy::minimum_rsa_bits
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::minimum_rsa_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algo_name
      Src: /src/botan/src/lib/tls/tls_policy.cpp:276,1
    - Dst: Policy::minimum_rsa_bits
      Src: /src/botan/src/lib/tls/tls_policy.cpp:282,1
    - Dst: Policy::minimum_dh_group_size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:284,1
    - Dst: Policy::minimum_ecdh_group_size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:286,1
    - Dst: Policy::minimum_ecdsa_group_size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:288,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_policy.cpp:293,1
    - Dst: Policy::to_string
      Src: /src/botan/src/lib/tls/tls_policy.cpp:294,1
    - Dst: Policy::to_string
      Src: /src/botan/src/lib/tls/tls_policy.cpp:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 299
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 299
    functionName: Policy::check_peer_key_acceptable
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 4
    functionsReached:
    - TLS_Exception
    - Policy::minimum_rsa_bits
    - Policy::minimum_dh_group_size
    - Policy::minimum_ecdsa_group_size
    - Policy::to_string
    - algo_name
    - Policy::minimum_ecdh_group_size
    linkageType: ''
    returnType: void
    signature: void Policy::check_peer_key_acceptable(const Public_Key& public_key)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: Policy::maximum_session_tickets_per_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::maximum_session_tickets_per_client_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::days
      Src: /src/botan/src/lib/tls/tls_policy.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: Policy::session_ticket_lifetime
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached:
    - std::chrono::days
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds Policy::session_ticket_lifetime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: Policy::reuse_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::reuse_session_tickets() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: Policy::new_session_tickets_upon_handshake_success
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::new_session_tickets_upon_handshake_success() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Policy::allow_tls13
      Src: /src/botan/src/lib/tls/tls_policy.cpp:319,1
    - Dst: Policy::allow_tls12
      Src: /src/botan/src/lib/tls/tls_policy.cpp:325,1
    - Dst: Policy::allow_dtls12
      Src: /src/botan/src/lib/tls/tls_policy.cpp:329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 335
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 335
    functionName: Policy::acceptable_protocol_version
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::allow_tls12
    - Policy::allow_dtls12
    - Policy::allow_tls13
    linkageType: ''
    returnType: bool
    signature: bool Policy::acceptable_protocol_version(Protocol_Version version)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Policy::acceptable_protocol_version
      Src: /src/botan/src/lib/tls/tls_policy.cpp:339,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_policy.cpp:342,1
    - Dst: Policy::acceptable_protocol_version
      Src: /src/botan/src/lib/tls/tls_policy.cpp:345,1
    - Dst: Policy::acceptable_protocol_version
      Src: /src/botan/src/lib/tls/tls_policy.cpp:349,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_policy.cpp:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - datagram
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 354
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 354
    functionName: Policy::latest_supported_version
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - Policy::acceptable_protocol_version
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Policy::latest_supported_version(bool datagram) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:357,1
    - Dst: Policy::allowed_ciphers
      Src: /src/botan/src/lib/tls/tls_policy.cpp:357,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:357,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:358,1
    - Dst: Policy::allowed_macs
      Src: /src/botan/src/lib/tls/tls_policy.cpp:358,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' ciphersuite'
    argTypes:
    - Ciphersuite
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: Policy::acceptable_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - mac_algo
    - cipher_algo
    - value_exists
    - Policy::allowed_ciphers
    - Policy::allowed_macs
    linkageType: ''
    returnType: bool
    signature: bool Policy::acceptable_ciphersuite(const Ciphersuite& ciphersuite)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: Policy::allow_client_initiated_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_client_initiated_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Policy::allow_server_initiated_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_server_initiated_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: Policy::allow_insecure_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_insecure_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: Policy::allow_tls12
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_tls12() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 387
    functionName: Policy::allow_tls13
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_tls13() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: Policy::allow_dtls12
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_dtls12() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: Policy::include_time_in_hello_random
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::include_time_in_hello_random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: Policy::hide_unknown_users
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::hide_unknown_users() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: Policy::server_uses_own_ciphersuite_preferences
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::server_uses_own_ciphersuite_preferences() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: Policy::negotiate_encrypt_then_mac
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::negotiate_encrypt_then_mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: Policy::record_size_limit
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> Policy::record_size_limit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: Policy::support_cert_status_message
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::support_cert_status_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: Policy::allow_resumption_for_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_resumption_for_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: Policy::tls_13_middlebox_compatibility_mode
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::tls_13_middlebox_compatibility_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: Policy::hash_hello_random
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::hash_hello_random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: Policy::only_resume_with_exact_version
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::only_resume_with_exact_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: Policy::require_client_certificate_authentication
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::require_client_certificate_authentication() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Policy::require_client_certificate_authentication
      Src: /src/botan/src/lib/tls/tls_policy.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: Policy::request_client_certificate_authentication
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::require_client_certificate_authentication
    linkageType: ''
    returnType: bool
    signature: bool Policy::request_client_certificate_authentication() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: Policy::abort_connection_on_undesired_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::abort_connection_on_undesired_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: Policy::accepted_client_certificate_types
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Certificate_Type>
    signature: std::vector<Certificate_Type> Policy::accepted_client_certificate_types()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: Policy::accepted_server_certificate_types
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Certificate_Type>
    signature: std::vector<Certificate_Type> Policy::accepted_server_certificate_types()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 459
    functionName: Policy::allow_dtls_epoch0_restart
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_dtls_epoch0_restart() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: Policy::maximum_certificate_chain_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::maximum_certificate_chain_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: Policy::dtls_initial_timeout
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::dtls_initial_timeout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: Policy::dtls_maximum_timeout
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::dtls_maximum_timeout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: Policy::dtls_default_mtu
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::dtls_default_mtu() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint16_t>
      Src: /src/botan/src/lib/tls/tls_policy.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: Policy::srtp_profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint16_t>
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> Policy::srtp_profiles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ciphers'
    - ' macs'
    - ' kex'
    - ' sigs'
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    - std::vector<std::string>
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: Ciphersuite_Preference_Ordering::Ciphersuite_Preference_Ordering
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ciphersuite_Preference_Ordering(const std::vector<std::string>&
      ciphers,\n                                      const std::vector<std::string>&
      macs,\n                                      const std::vector<std::string>&
      kex,\n                                      const std::vector<std::string>&
      sigs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_policy.cpp:494,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_policy.cpp:494,1
    - Dst: kex_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:496,1
    - Dst: kex_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:499,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:505,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:505,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:507,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:510,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls_policy.cpp:516,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls_policy.cpp:516,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls_policy.cpp:517,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls_policy.cpp:517,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls_policy.cpp:520,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls_policy.cpp:520,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_policy.cpp:525,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_policy.cpp:525,1
    - Dst: sig_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:527,1
    - Dst: sig_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:530,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:536,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:536,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:538,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:541,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Ciphersuite
    - Ciphersuite
    constantsTouched: []
    func_position:
      end: 548
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 548
    functionName: operator()(const Ciphersuite& a, const Ciphersuite& b) const
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - kex_method
    - mac_algo
    - cipher_algo
    - cipher_keylen
    - kex_algo
    - sig_algo
    - auth_method
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Ciphersuite& a, const Ciphersuite& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Policy::allowed_ciphers
      Src: /src/botan/src/lib/tls/tls_policy.cpp:557,1
    - Dst: Policy::allowed_macs
      Src: /src/botan/src/lib/tls/tls_policy.cpp:558,1
    - Dst: Policy::allowed_key_exchange_methods
      Src: /src/botan/src/lib/tls/tls_policy.cpp:559,1
    - Dst: Policy::allowed_signature_methods
      Src: /src/botan/src/lib/tls/tls_policy.cpp:560,1
    - Dst: Ciphersuite::all_known_ciphersuites
      Src: /src/botan/src/lib/tls/tls_policy.cpp:564,1
    - Dst: valid
      Src: /src/botan/src/lib/tls/tls_policy.cpp:566,1
    - Dst: usable_in_version
      Src: /src/botan/src/lib/tls/tls_policy.cpp:571,1
    - Dst: Policy::acceptable_ciphersuite
      Src: /src/botan/src/lib/tls/tls_policy.cpp:576,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:580,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:580,1
    - Dst: Protocol_Version::is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_policy.cpp:586,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:587,1
    - Dst: kex_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:587,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:591,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:591,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:595,1
    - Dst: sig_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:595,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_policy.cpp:597,1
    - Dst: psk_ciphersuite
      Src: /src/botan/src/lib/tls/tls_policy.cpp:597,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_policy.cpp:604,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls_policy.cpp:607,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_policy.cpp:608,1
    - Dst: std::sort
      Src: /src/botan/src/lib/tls/tls_policy.cpp:612,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/tls/tls_policy.cpp:612,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls_policy.cpp:612,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls_policy.cpp:615,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:615,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_policy.cpp:617,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/lib/tls/tls_policy.cpp:617,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 620
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 620
    functionName: Policy::ciphersuite_list
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - valid
    - usable_in_version
    - Policy::allowed_signature_methods
    - sig_algo
    - Policy::allowed_ciphers
    - ciphersuite_code
    - std::sort
    - Invalid_State
    - auth_method
    - std::vector::begin
    - std::vector::size
    - Ciphersuite::all_known_ciphersuites
    - std::vector::reserve
    - Policy::acceptable_ciphersuite
    - value_exists
    - std::vector::push_back
    - std::vector::end
    - std::vector::empty
    - Protocol_Version::is_pre_tls_13
    - Policy::allowed_key_exchange_methods
    - psk_ciphersuite
    - mac_algo
    - cipher_algo
    - kex_algo
    - Policy::allowed_macs
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> Policy::ciphersuite_list(Protocol_Version version)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:626,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' o'
    - key
    - ' v'
    argTypes:
    - std::ostream
    - char*
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 633
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 633
    functionName: print_vec
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void print_vec(std::ostream& o, const char* key, const std::vector<std::string>&
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/botan/src/lib/tls/tls_policy.cpp:639,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_policy.cpp:640,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_policy.cpp:640,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:646,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ' o'
    - key
    - ' params'
    argTypes:
    - std::ostream
    - char*
    - std::vector<Group_Params>
    constantsTouched: []
    func_position:
      end: 653
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 653
    functionName: print_vec
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - to_string
    - std::vector::push_back
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void print_vec(std::ostream& o, const char* key, const std::vector<Group_Params>&
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:657,1
    - Dst: certificate_type_to_string
      Src: /src/botan/src/lib/tls/tls_policy.cpp:658,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' o'
    - key
    - ' types'
    argTypes:
    - std::ostream
    - char*
    - std::vector<Certificate_Type>
    constantsTouched: []
    func_position:
      end: 664
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 664
    functionName: print_vec
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - certificate_type_to_string
    - size
    linkageType: ''
    returnType: void
    signature: void print_vec(std::ostream& o, const char* key, const std::vector<Certificate_Type>&
      types)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - key
    - b
    argTypes:
    - std::ostream
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 668
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 668
    functionName: print_bool
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void print_bool(std::ostream& o, const char* key, bool b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:673,1
    - Dst: Policy::allow_tls12
      Src: /src/botan/src/lib/tls/tls_policy.cpp:673,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:674,1
    - Dst: Policy::allow_tls13
      Src: /src/botan/src/lib/tls/tls_policy.cpp:674,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:675,1
    - Dst: Policy::allow_dtls12
      Src: /src/botan/src/lib/tls/tls_policy.cpp:675,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:676,1
    - Dst: Policy::allow_ssl_key_log_file
      Src: /src/botan/src/lib/tls/tls_policy.cpp:676,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:677,1
    - Dst: Policy::allowed_ciphers
      Src: /src/botan/src/lib/tls/tls_policy.cpp:677,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:678,1
    - Dst: Policy::allowed_macs
      Src: /src/botan/src/lib/tls/tls_policy.cpp:678,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:679,1
    - Dst: Policy::allowed_signature_hashes
      Src: /src/botan/src/lib/tls/tls_policy.cpp:679,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:680,1
    - Dst: Policy::allowed_signature_methods
      Src: /src/botan/src/lib/tls/tls_policy.cpp:680,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:681,1
    - Dst: Policy::allowed_key_exchange_methods
      Src: /src/botan/src/lib/tls/tls_policy.cpp:681,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:682,1
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/tls_policy.cpp:682,1
    - Dst: key_exchange_groups_to_offer
      Src: /src/botan/src/lib/tls/tls_policy.cpp:683,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls_policy.cpp:684,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:685,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls_policy.cpp:685,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:687,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:689,1
    - Dst: Policy::allow_insecure_renegotiation
      Src: /src/botan/src/lib/tls/tls_policy.cpp:689,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:690,1
    - Dst: Policy::include_time_in_hello_random
      Src: /src/botan/src/lib/tls/tls_policy.cpp:690,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:691,1
    - Dst: Policy::allow_server_initiated_renegotiation
      Src: /src/botan/src/lib/tls/tls_policy.cpp:691,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:692,1
    - Dst: Policy::hide_unknown_users
      Src: /src/botan/src/lib/tls/tls_policy.cpp:692,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:693,1
    - Dst: Policy::server_uses_own_ciphersuite_preferences
      Src: /src/botan/src/lib/tls/tls_policy.cpp:693,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:694,1
    - Dst: Policy::negotiate_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls_policy.cpp:694,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:695,1
    - Dst: Policy::support_cert_status_message
      Src: /src/botan/src/lib/tls/tls_policy.cpp:695,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:696,1
    - Dst: Policy::tls_13_middlebox_compatibility_mode
      Src: /src/botan/src/lib/tls/tls_policy.cpp:696,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:697,1
    - Dst: Policy::accepted_client_certificate_types
      Src: /src/botan/src/lib/tls/tls_policy.cpp:697,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:698,1
    - Dst: Policy::accepted_server_certificate_types
      Src: /src/botan/src/lib/tls/tls_policy.cpp:698,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:699,1
    - Dst: Policy::hash_hello_random
      Src: /src/botan/src/lib/tls/tls_policy.cpp:699,1
    - Dst: Policy::record_size_limit
      Src: /src/botan/src/lib/tls/tls_policy.cpp:700,1
    - Dst: Policy::record_size_limit
      Src: /src/botan/src/lib/tls/tls_policy.cpp:701,1
    - Dst: Policy::maximum_session_tickets_per_client_hello
      Src: /src/botan/src/lib/tls/tls_policy.cpp:703,1
    - Dst: Policy::session_ticket_lifetime
      Src: /src/botan/src/lib/tls/tls_policy.cpp:704,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:705,1
    - Dst: Policy::reuse_session_tickets
      Src: /src/botan/src/lib/tls/tls_policy.cpp:705,1
    - Dst: Policy::new_session_tickets_upon_handshake_success
      Src: /src/botan/src/lib/tls/tls_policy.cpp:706,1
    - Dst: Policy::minimum_dh_group_size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:707,1
    - Dst: Policy::minimum_ecdh_group_size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:708,1
    - Dst: Policy::minimum_rsa_bits
      Src: /src/botan/src/lib/tls/tls_policy.cpp:709,1
    - Dst: Policy::minimum_signature_strength
      Src: /src/botan/src/lib/tls/tls_policy.cpp:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - std::ostream
    constantsTouched: []
    func_position:
      end: 711
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 711
    functionName: Policy::print
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::server_uses_own_ciphersuite_preferences
    - Policy::minimum_rsa_bits
    - Policy::accepted_server_certificate_types
    - Policy::hide_unknown_users
    - key_exchange_groups_to_offer
    - Policy::allow_tls12
    - Policy::allow_tls13
    - Policy::allowed_signature_methods
    - Policy::allowed_signature_hashes
    - std::string
    - Policy::allowed_ciphers
    - Policy::session_ticket_lifetime
    - Policy::minimum_ecdh_group_size
    - Policy::allow_server_initiated_renegotiation
    - Policy::allow_ssl_key_log_file
    - Policy::maximum_session_tickets_per_client_hello
    - Policy::new_session_tickets_upon_handshake_success
    - Policy::minimum_dh_group_size
    - print_vec
    - Policy::include_time_in_hello_random
    - Policy::minimum_signature_strength
    - key_exchange_groups
    - Policy::allow_dtls12
    - Policy::tls_13_middlebox_compatibility_mode
    - Policy::hash_hello_random
    - Policy::accepted_client_certificate_types
    - print_bool
    - Policy::allowed_key_exchange_methods
    - auto::empty
    - Policy::record_size_limit
    - Policy::support_cert_status_message
    - Policy::reuse_session_tickets
    - Policy::negotiate_encrypt_then_mac
    - Policy::allowed_macs
    - Policy::allow_insecure_renegotiation
    linkageType: ''
    returnType: void
    signature: void Policy::print(std::ostream& o) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Policy::print
      Src: /src/botan/src/lib/tls/tls_policy.cpp:715,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/tls/tls_policy.cpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 3
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: Policy::to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached:
    - Policy::print
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Policy::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 721
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 721
    functionName: Strict_Policy::allowed_ciphers
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Strict_Policy::allowed_ciphers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: Strict_Policy::allowed_signature_hashes
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Strict_Policy::allowed_signature_hashes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 729
    functionName: Strict_Policy::allowed_macs
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Strict_Policy::allowed_macs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 733
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 733
    functionName: Strict_Policy::allowed_key_exchange_methods
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Strict_Policy::allowed_key_exchange_methods()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 118
    functionName: Botan::TLS::Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Botan::TLS::Server_Name_Indicator
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Server_Name_Indicator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Botan::TLS::type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - host_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan::TLS::Server_Name_Indicator
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Server_Name_Indicator(std::string_view host_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan::TLS::host_name
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string host_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::TLS::empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan::Renegotiation_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Renegotiation_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan::type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: Botan::Renegotiation_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Renegotiation_Extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bits'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Botan::Renegotiation_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Renegotiation_Extension(const std::vector<uint8_t>& bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::renegotiation_info
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & renegotiation_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: Botan::empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Application_Layer_Protocol_Notification
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Application_Layer_Protocol_Notification
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 82
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: protocols
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & protocols() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls_extensions.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: Application_Layer_Protocol_Notification
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void Application_Layer_Protocol_Notification(std::string_view protocol)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' protocols'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: Application_Layer_Protocol_Notification
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Application_Layer_Protocol_Notification(const std::vector<std::string>&
      protocols)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 300
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate_Type_Base
      Src: /src/botan/src/lib/tls/tls_extensions.h:218,1
    - Dst: Certificate_Type_Base
      Src: /src/botan/src/lib/tls/tls_extensions.h:224,1
    - Dst: Certificate_Type_Base
      Src: /src/botan/src/lib/tls/tls_extensions.h:228,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.h:240,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls_extensions.h:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 247
    functionName: Certificate_Type_Base
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached:
    - front
    - size
    - Certificate_Type_Base
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Certificate_Type_Base
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: Client_Certificate_Type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - static_type
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Client_Certificate_Type
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: Server_Certificate_Type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - static_type
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Server_Certificate_Type
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: Session_Ticket_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Session_Ticket_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 85
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: contents
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Session_Ticket
    signature: Session_Ticket & contents() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: Session_Ticket_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Session_Ticket_Extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - session_ticket
    argTypes:
    - Session_Ticket
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: Session_Ticket_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Session_Ticket_Extension(Session_Ticket session_ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_extensions.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 26
    functionsReached:
    - get
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize(Connection_Side) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 300
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: Supported_Groups
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Supported_Groups
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 86
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 301
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 373
    functionName: Supported_Point_Formats
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - static_type
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Supported_Point_Formats
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: Signature_Algorithms
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Signature_Algorithms
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 88
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 384
    functionName: supported_schemes
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> & supported_schemes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 302
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schemes
    argTypes:
    - std::vector<Signature_Scheme>
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: Signature_Algorithms
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Signature_Algorithms(std::vector<Signature_Scheme> schemes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: Signature_Algorithms_Cert
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Signature_Algorithms_Cert
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 89
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 417
    functionName: supported_schemes
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> & supported_schemes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 421
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 303
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schemes
    argTypes:
    - std::vector<Signature_Scheme>
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: Signature_Algorithms_Cert
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Signature_Algorithms_Cert(std::vector<Signature_Scheme> schemes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: SRTP_Protection_Profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API SRTP_Protection_Profiles
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 90
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> & profiles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 304
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pp'
    argTypes:
    - std::vector<uint16_t>
    constantsTouched: []
    func_position:
      end: 446
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 446
    functionName: SRTP_Protection_Profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SRTP_Protection_Profiles(const std::vector<uint16_t>& pp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pp
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: SRTP_Protection_Profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SRTP_Protection_Profiles(uint16_t pp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: Extended_Master_Secret
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Extended_Master_Secret
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 91
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 304
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: Extended_Master_Secret
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Extended_Master_Secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: Encrypt_then_MAC
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Encrypt_then_MAC
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 481
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 92
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 304
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: Encrypt_then_MAC
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Encrypt_then_MAC()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Certificate_Status_Request
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 93
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 304
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: Supported_Versions
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Supported_Versions
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 94
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 543
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 305
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 547
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 547
    functionName: Supported_Versions
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Supported_Versions(Protocol_Version version)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 553
    functionName: versions
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Protocol_Version>
    signature: std::vector<Protocol_Version> & versions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: Record_Size_Limit
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Record_Size_Limit
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 95
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: limit
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t limit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 580
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 305
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 594
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 594
    functionName: Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 596
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 96
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 600
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 306
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: get_cookie
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_cookie() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 617
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 617
    functionName: Cookie
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached:
    - static_type
    linkageType: ''
    returnType: void
    signature: void Cookie(TLS_Data_Reader& reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 619
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 98
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 307
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 625
    functionName: modes
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PSK_Key_Exchange_Mode>
    signature: std::vector<PSK_Key_Exchange_Mode> & modes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.h:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - modes
    argTypes:
    - std::vector<PSK_Key_Exchange_Mode>
    constantsTouched: []
    func_position:
      end: 627
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 627
    functionName: PSK_Key_Exchange_Modes
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSK_Key_Exchange_Modes(std::vector<PSK_Key_Exchange_Mode> modes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 640
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 640
    functionName: Certificate_Authorities
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Certificate_Authorities
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 99
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 646
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 308
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 648
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 648
    functionName: distinguished_names
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> & distinguished_names() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 662
    functionName: Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 100
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 762
    functionName: Key_Share
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Key_Share
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 764
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 101
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 856
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 856
    functionName: ~Key_Share() override
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - static_type
    linkageType: ''
    returnType: void
    signature: void ~Key_Share() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 858
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 103
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 864
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 864
    functionName: max_early_data_size
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> max_early_data_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.h:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 874
    functionName: EarlyDataIndication
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 3
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EarlyDataIndication(std::optional<uint32_t> max_early_data_size
      = std::nullopt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unknown_Extension
      Src: /src/botan/src/lib/tls/tls_extensions.h:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 902
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 902
    functionName: Unknown_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached:
    - Unknown_Extension
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Unknown_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<T*>
      Src: /src/botan/src/lib/tls/tls_extensions.h:915,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_extensions.h:915,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:915,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_extensions.h:920,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_extensions.h:923,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.h:925,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:927,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls_extensions.h:931,1
    - Dst: std::unique_ptr<Extension>
      Src: /src/botan/src/lib/tls/tls_extensions.h:931,1
    - Dst: contains_other_than
      Src: /src/botan/src/lib/tls/tls_extensions.h:953,1
    - Dst: take
      Src: /src/botan/src/lib/tls/tls_extensions.h:964,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:964,1
    - Dst: std::unique_ptr::reset
      Src: /src/botan/src/lib/tls/tls_extensions.h:966,1
    - Dst: dynamic_cast<T*>
      Src: /src/botan/src/lib/tls/tls_extensions.h:966,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/tls_extensions.h:966,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.h:967,1
    - Dst: auto::release
      Src: /src/botan/src/lib/tls/tls_extensions.h:968,1
    - Dst: take
      Src: /src/botan/src/lib/tls/tls_extensions.h:987,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/tls_extensions.h:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 1001
    functionName: Extensions
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - add
    - dynamic_cast<T*>
    - deserialize
    - std::unique_ptr::reset
    - empty
    - auto::get
    - std::unique_ptr<Extension>
    - auto::release
    - size
    - get
    - BOTAN_ASSERT_NOMSG
    - contains_other_than
    - take
    - Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Extensions
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Server
      Src: /src/botan/src/lib/tls/tls_server.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 123
    functionName: Botan::TLS::Channel
    functionSourceFile: /src/botan/src/lib/tls/tls_server.h
    functionUses: 0
    functionsReached:
    - Server
    linkageType: ''
    returnType: Server
    signature: Server Channel
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:39,1
    - Dst: hash_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:41,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:42,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:43,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:44,1
    - Dst: include_time_in_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:50,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:50,1
    - Dst: allow_dtls12
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:50,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:53,1
    - Dst: auto::data
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' rng'
    - ' cb'
    - ' policy'
    argTypes:
    - RandomNumberGenerator
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: Botan::TLS::make_hello_random
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - hash_hello_random
    - store_be
    - allow_tls12
    - allow_dtls12
    - auto::update
    - auto::data
    - Botan::HashFunction::create_or_throw
    - random_vec
    - auto::final
    - include_time_in_hello_random
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> make_hello_random(RandomNumberGenerator& rng,
      Callbacks& cb, const Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::TLS::Client_Hello_Internal::Client_Hello_Internal
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Client_Hello_Internal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:69,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:70,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:78,1
    - Dst: TLS_Data_Reader::get_fixed
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:79,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:80,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:80,1
    - Dst: is_datagram_protocol
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:82,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:83,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:84,1
    - Dst: TLS_Data_Reader::get_data_read_so_far
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:84,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:86,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:88,1
    - Dst: TLS_Data_Reader::get_remaining
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:88,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:89,1
    - Dst: TLS_Data_Reader::get_range_vector
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:92,1
    - Dst: TLS_Data_Reader::get_range_vector
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:93,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: Botan::TLS::Client_Hello_Internal::Client_Hello_Internal
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - TLS_Data_Reader::get_data_read_so_far
    - TLS_Data_Reader::get_remaining
    - Session_ID
    - auto::final_stdvec
    - deserialize
    - Protocol_Version
    - auto::update
    - TLS_Data_Reader::get_range
    - size
    - is_datagram_protocol
    - Botan::HashFunction::create_or_throw
    - Decoding_Error
    - TLS_Data_Reader::get_fixed
    - TLS_Data_Reader::get_range_vector
    linkageType: ''
    returnType: void
    signature: void Client_Hello_Internal(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:123,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:124,1
    - Dst: is_datagram_protocol
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 133
    functionName: Botan::TLS::Client_Hello_Internal::version
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - is_datagram_protocol
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::TLS::Client_Hello_Internal::legacy_version
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version legacy_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: '& session_id() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Session_ID
    signature: Session_ID & session_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: '& random() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: '& ciphersuites() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> & ciphersuites() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: '& comp_methods() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & comp_methods() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: '& hello_cookie() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & hello_cookie() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: '& hello_cookie_input_bits() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & hello_cookie_input_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: '& extensions() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Extensions
    signature: Extensions & extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: '& extensions()'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Extensions
    signature: Extensions & extensions()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: Botan::TLS::Client_Hello::Client_Hello
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Client_Hello::Client_Hello(Client_Hello&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: Client_Hello::~Client_Hello()
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Client_Hello::~Client_Hello()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Client_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan::TLS::Client_Hello::Client_Hello
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Client_Hello_Internal>
    linkageType: ''
    returnType: void
    signature: void Client_Hello::Client_Hello()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:176,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Client_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Botan::TLS::Client_Hello::Client_Hello
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Client_Hello::Client_Hello(std::unique_ptr<Client_Hello_Internal>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: Botan::TLS::Client_Hello::type
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_Type
    signature: Handshake_Type Client_Hello::type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: Botan::TLS::Client_Hello::legacy_version
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client_Hello::legacy_version
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Client_Hello::legacy_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& Client_Hello::random() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Client_Hello::random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: '& Client_Hello::session_id() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - session_id
    linkageType: ''
    returnType: Session_ID
    signature: Session_ID & Client_Hello::session_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: comp_methods
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: '& Client_Hello::compression_methods() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - comp_methods
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Client_Hello::compression_methods() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: '& Client_Hello::ciphersuites() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - ciphersuites
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> & Client_Hello::ciphersuites() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Botan::TLS::Client_Hello::extension_types
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: std::set<Extension_Code>
    signature: std::set<Extension_Code> Client_Hello::extension_types() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: '& Client_Hello::extensions() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: Extensions
    signature: Extensions & Client_Hello::extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:213,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:213,1
    - Dst: cookie
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hello_verify'
    argTypes:
    - Hello_Verify_Request
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: Botan::TLS::Client_Hello_12::update_hello_cookie
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - legacy_version
    - cookie
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void Client_Hello_12::update_hello_cookie(const Hello_Verify_Request&
      hello_verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:223,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:225,1
    - Dst: Botan::TLS::Client_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:225,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:226,1
    - Dst: Botan::TLS::Client_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:226,1
    - Dst: random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:227,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:229,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:229,1
    - Dst: Botan::TLS::Client_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:231,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:232,1
    - Dst: hello_cookie
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:232,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:235,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:235,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:236,1
    - Dst: comp_methods
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:236,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 247
    functionName: Botan::TLS::Client_Hello::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - session_id
    - comp_methods
    - std::vector::reserve
    - Botan::TLS::Client_Hello::legacy_version
    - extensions
    - append_tls_length_value
    - ciphersuites
    - random
    - hello_cookie
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Client_Hello::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:250,1
    - Dst: hello_cookie_input_bits
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:250,1
    - Dst: hello_cookie_input_bits
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: Botan::TLS::Client_Hello::cookie_input_data
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - hello_cookie_input_bits
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Client_Hello::cookie_input_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:259,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:259,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:259,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ciphersuite
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: Botan::TLS::Client_Hello::offered_suite
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - ciphersuites
    - find
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello::offered_suite(uint16_t ciphersuite) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:264,1
    - Dst: Signature_Algorithms*::supported_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: Botan::TLS::Client_Hello::signature_schemes
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Signature_Algorithms*::supported_schemes
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> Client_Hello::signature_schemes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:275,1
    - Dst: Signature_Algorithms_Cert*::supported_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:276,1
    - Dst: Botan::TLS::Client_Hello::signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: Botan::TLS::Client_Hello::certificate_signature_schemes
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Botan::TLS::Client_Hello::signature_schemes
    - Signature_Algorithms_Cert*::supported_schemes
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> Client_Hello::certificate_signature_schemes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:283,1
    - Dst: Supported_Groups*::ec_groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: Botan::TLS::Client_Hello::supported_ecc_curves
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Supported_Groups*::ec_groups
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Client_Hello::supported_ecc_curves() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:290,1
    - Dst: Supported_Groups*::dh_groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:291,1
    - Dst: std::vector<Group_Params>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: Botan::TLS::Client_Hello::supported_dh_groups
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Supported_Groups*::dh_groups
    - std::vector<Group_Params>
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Client_Hello::supported_dh_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:297,1
    - Dst: Supported_Point_Formats*::prefers_compressed
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: Botan::TLS::Client_Hello_12::prefers_compressed_ec_points
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Supported_Point_Formats*::prefers_compressed
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello_12::prefers_compressed_ec_points() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:304,1
    - Dst: Server_Name_Indicator*::host_name
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: Botan::TLS::Client_Hello::sni_hostname
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Server_Name_Indicator*::host_name
    linkageType: ''
    returnType: std::string
    signature: std::string Client_Hello::sni_hostname() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: Botan::TLS::Client_Hello_12::secure_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello_12::secure_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:315,1
    - Dst: Renegotiation_Extension*::renegotiation_info
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: Botan::TLS::Client_Hello_12::renegotiation_info
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Renegotiation_Extension*::renegotiation_info
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Client_Hello_12::renegotiation_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:322,1
    - Dst: Supported_Versions*::versions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: Botan::TLS::Client_Hello::supported_versions
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Supported_Versions*::versions
    linkageType: ''
    returnType: std::vector<Protocol_Version>
    signature: std::vector<Protocol_Version> Client_Hello::supported_versions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: Botan::TLS::Client_Hello_12::supports_session_ticket
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello_12::supports_session_ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:333,1
    - Dst: auto*::contents
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: Botan::TLS::Client_Hello_12::session_ticket
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - auto*::contents
    linkageType: ''
    returnType: Session_Ticket
    signature: Session_Ticket Client_Hello_12::session_ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client_Hello_12::session_ticket
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:344,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:344,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:346,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 351
    functionName: Botan::TLS::Client_Hello_12::session_handle
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - empty
    - Botan::TLS::Client_Hello_12::session_ticket
    - session_id
    - auto::empty
    linkageType: ''
    returnType: std::optional<Session_Handle>
    signature: std::optional<Session_Handle> Client_Hello_12::session_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: Botan::TLS::Client_Hello::supports_alpn
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello::supports_alpn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: Botan::TLS::Client_Hello_12::supports_extended_master_secret
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello_12::supports_extended_master_secret() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: Botan::TLS::Client_Hello_12::supports_cert_status_message
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello_12::supports_cert_status_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Botan::TLS::Client_Hello_12::supports_encrypt_then_mac
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello_12::supports_encrypt_then_mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: Botan::TLS::Client_Hello::sent_signature_algorithms
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello::sent_signature_algorithms() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:374,1
    - Dst: auto::protocols
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: Botan::TLS::Client_Hello::next_protocols
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - auto::protocols
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Client_Hello::next_protocols() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:381,1
    - Dst: SRTP_Protection_Profiles*::profiles
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: Botan::TLS::Client_Hello::srtp_profiles
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - SRTP_Protection_Profiles*::profiles
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> Client_Hello::srtp_profiles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hello_cookie
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: '& Client_Hello::cookie() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - hello_cookie
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Client_Hello::cookie() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' io'
    argTypes:
    - Handshake_IO
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: Botan::TLS::Hello_Request::Hello_Request
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - send
    linkageType: ''
    returnType: void
    signature: void Hello_Request::Hello_Request(Handshake_IO& io)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:402,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: Botan::TLS::Hello_Request::Hello_Request
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - empty
    linkageType: ''
    returnType: void
    signature: void Hello_Request::Hello_Request(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: Botan::TLS::Hello_Request::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Hello_Request::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:420,1
    - Dst: std::copy_if
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:422,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:422,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:422,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:422,1
    - Dst: is_post_quantum
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:423,1
    - Dst: std::make_unique<Supported_Groups>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:426,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:426,1
    - Dst: auto::ec_groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:428,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:429,1
    - Dst: use_ecc_point_compression
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:429,1
    - Dst: Supported_Point_Formats::Supported_Point_Formats
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:429,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:432,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' policy'
    argTypes:
    - Policy
    constantsTouched: []
    func_position:
      end: 433
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 433
    functionName: Botan::TLS::Client_Hello_12::add_tls12_supported_groups_extensions
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::back_inserter
    - Supported_Point_Formats::Supported_Point_Formats
    - is_post_quantum
    - extensions
    - key_exchange_groups
    - use_ecc_point_compression
    - std::make_unique<Supported_Groups>
    - std::copy_if
    - auto::ec_groups
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void Client_Hello_12::add_tls12_supported_groups_extensions(const Policy&
      policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:435,1
    - Dst: offered_suite
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:438,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:438,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:439,1
    - Dst: Renegotiation_Extension*::renegotiation_info
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:440,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:441,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:445,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Client_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 448
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 448
    functionName: Botan::TLS::Client_Hello_12::Client_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - TLS_Exception
    - offered_suite
    - extensions
    - Renegotiation_Extension*::renegotiation_info
    - static_cast<uint16_t>
    - Renegotiation_Extension::Renegotiation_Extension
    linkageType: ''
    returnType: void
    signature: void Client_Hello_12::Client_Hello_12(std::unique_ptr<Client_Hello_Internal>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:454,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:458,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 468
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 468
    functionName: Botan::TLS::hostname_acceptable_for_sni
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - string_to_ipv4
    - std::string_view::find
    - std::string_view::empty
    linkageType: ''
    returnType: bool
    signature: bool hostname_acceptable_for_sni(std::string_view hostname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Client_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 475
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 475
    functionName: Botan::TLS::Client_Hello_12::Client_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Client_Hello_Internal>
    linkageType: ''
    returnType: void
    signature: void Client_Hello_12::Client_Hello_12(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protocol_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:488,1
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:489,1
    - Dst: ciphersuite_list
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:490,1
    - Dst: protocol_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:490,1
    - Dst: acceptable_protocol_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:492,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:492,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:493,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:493,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:503,1
    - Dst: Extended_Master_Secret::Extended_Master_Secret
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:503,1
    - Dst: negotiate_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:505,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:506,1
    - Dst: Encrypt_then_MAC::Encrypt_then_MAC
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:506,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:509,1
    - Dst: Session_Ticket_Extension::Session_Ticket_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:509,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:511,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:511,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:513,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:513,1
    - Dst: Supported_Versions::Supported_Versions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:513,1
    - Dst: hostname_acceptable_for_sni
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:515,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:515,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:516,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:516,1
    - Dst: Server_Name_Indicator::Server_Name_Indicator
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:516,1
    - Dst: support_cert_status_message
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:519,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:520,1
    - Dst: Certificate_Status_Request::Certificate_Status_Request
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:520,1
    - Dst: Botan::TLS::Client_Hello_12::add_tls12_supported_groups_extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:523,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:525,1
    - Dst: acceptable_signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:525,1
    - Dst: Signature_Algorithms::Signature_Algorithms
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:525,1
    - Dst: acceptable_certificate_signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:526,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:531,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:531,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:531,1
    - Dst: Signature_Algorithms_Cert::Signature_Algorithms_Cert
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:531,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:534,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:534,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:535,1
    - Dst: Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:535,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:538,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:539,1
    - Dst: srtp_profiles
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:539,1
    - Dst: SRTP_Protection_Profiles::SRTP_Protection_Profiles
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:539,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:542,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:542,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:542,1
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:544,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:544,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 8
    argNames:
    - ' io'
    - ' hash'
    - ' policy'
    - ' cb'
    - ' rng'
    - ' reneg_info'
    - ' client_settings'
    - ' next_protocols'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - Policy
    - Callbacks
    - RandomNumberGenerator
    - std::vector<uint8_t>
    - Client_Hello_12::Settings
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 545
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 545
    functionName: Botan::TLS::Client_Hello_12::Client_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Signature_Algorithms::Signature_Algorithms
    - auto::value
    - make_hello_random
    - empty
    - Signature_Algorithms_Cert::Signature_Algorithms_Cert
    - ciphersuite_list
    - SRTP_Protection_Profiles::SRTP_Protection_Profiles
    - Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    - srtp_profiles
    - send
    - legacy_version
    - protocol_version
    - acceptable_protocol_version
    - Encrypt_then_MAC::Encrypt_then_MAC
    - Session_Ticket_Extension::Session_Ticket_Extension
    - Extended_Master_Secret::Extended_Master_Secret
    - acceptable_signature_schemes
    - Server_Name_Indicator::Server_Name_Indicator
    - update
    - Internal_Error
    - support_cert_status_message
    - tls_modify_extensions
    - Renegotiation_Extension::Renegotiation_Extension
    - negotiate_encrypt_then_mac
    - Supported_Versions::Supported_Versions
    - Certificate_Status_Request::Certificate_Status_Request
    - Botan::TLS::Client_Hello_12::add_tls12_supported_groups_extensions
    - hostname
    - hostname_acceptable_for_sni
    - extensions
    - type
    - acceptable_certificate_signature_schemes
    linkageType: ''
    returnType: void
    signature: "void Client_Hello_12::Client_Hello_12(Handshake_IO& io,\n                                 Handshake_Hash&
      hash,\n                                 const Policy& policy,\n                                 Callbacks&
      cb,\n                                 RandomNumberGenerator& rng,\n                                 const
      std::vector<uint8_t>& reneg_info,\n                                 const Client_Hello_12::Settings&
      client_settings,\n                                 const std::vector<std::string>&
      next_protocols)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session::version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:558,1
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:559,1
    - Dst: handle::id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:566,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:566,1
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:566,1
    - Dst: ciphersuite_list
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:567,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:567,1
    - Dst: acceptable_protocol_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:569,1
    - Dst: session::version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:569,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:570,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:570,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:574,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:574,1
    - Dst: session::ciphersuite_code
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:574,1
    - Dst: m_suites::push_back
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:575,1
    - Dst: session::ciphersuite_code
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:575,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:584,1
    - Dst: Extended_Master_Secret::Extended_Master_Secret
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:584,1
    - Dst: session::supports_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:586,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:587,1
    - Dst: Encrypt_then_MAC::Encrypt_then_MAC
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:587,1
    - Dst: handle::is_ticket
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:590,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:591,1
    - Dst: handle::ticket
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:591,1
    - Dst: Session_Ticket_Extension::Session_Ticket_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:591,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:594,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:594,1
    - Dst: session::server_info
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:596,1
    - Dst: hostname_acceptable_for_sni
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:598,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:599,1
    - Dst: Server_Name_Indicator::Server_Name_Indicator
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:599,1
    - Dst: support_cert_status_message
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:602,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:603,1
    - Dst: Certificate_Status_Request::Certificate_Status_Request
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:603,1
    - Dst: Botan::TLS::Client_Hello_12::add_tls12_supported_groups_extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:606,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:608,1
    - Dst: acceptable_signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:608,1
    - Dst: Signature_Algorithms::Signature_Algorithms
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:608,1
    - Dst: acceptable_certificate_signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:609,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:614,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:614,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:614,1
    - Dst: Signature_Algorithms_Cert::Signature_Algorithms_Cert
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:614,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:617,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:617,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:618,1
    - Dst: Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:618,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:621,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:621,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:621,1
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:623,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:623,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 8
    argNames:
    - ' io'
    - ' hash'
    - ' policy'
    - ' cb'
    - ' rng'
    - ' reneg_info'
    - ' session'
    - ' next_protocols'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - Policy
    - Callbacks
    - RandomNumberGenerator
    - std::vector<uint8_t>
    - Session_with_Handle
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 624
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 624
    functionName: Botan::TLS::Client_Hello_12::Client_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Signature_Algorithms::Signature_Algorithms
    - auto::value
    - session::version
    - make_hello_random
    - empty
    - handle::id
    - ciphersuite_list
    - Signature_Algorithms_Cert::Signature_Algorithms_Cert
    - Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    - send
    - legacy_version
    - acceptable_protocol_version
    - Encrypt_then_MAC::Encrypt_then_MAC
    - session::ciphersuite_code
    - Session_Ticket_Extension::Session_Ticket_Extension
    - handle::ticket
    - Extended_Master_Secret::Extended_Master_Secret
    - acceptable_signature_schemes
    - Server_Name_Indicator::Server_Name_Indicator
    - Session_ID
    - update
    - Internal_Error
    - session::supports_encrypt_then_mac
    - m_suites::push_back
    - support_cert_status_message
    - value_exists
    - tls_modify_extensions
    - Renegotiation_Extension::Renegotiation_Extension
    - handle::is_ticket
    - Certificate_Status_Request::Certificate_Status_Request
    - Botan::TLS::Client_Hello_12::add_tls12_supported_groups_extensions
    - hostname_acceptable_for_sni
    - extensions
    - type
    - ciphersuites
    - acceptable_certificate_signature_schemes
    - session::server_info
    linkageType: ''
    returnType: void
    signature: "void Client_Hello_12::Client_Hello_12(Handshake_IO& io,\n                                 Handshake_Hash&
      hash,\n                                 const Policy& policy,\n                                 Callbacks&
      cb,\n                                 RandomNumberGenerator& rng,\n                                 const
      std::vector<uint8_t>& reneg_info,\n                                 const Session_with_Handle&
      session,\n                                 const std::vector<std::string>& next_protocols)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:628,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:629,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:638,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:638,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:643,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:644,1
    - Dst: comp_methods
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:652,1
    - Dst: comp_methods
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:652,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:653,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:661,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:662,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:663,1
    - Dst: all
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:671,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:672,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:690,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:691,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:691,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:692,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:697,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:697,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:698,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:702,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:703,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:704,1
    - Dst: auto::groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:705,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:706,1
    - Dst: find
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:718,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:718,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:718,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:719,1
    - Dst: std::distance
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:723,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:723,1
    - Dst: static_cast<decltype(support_offset)>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:729,1
    - Dst: found_in_supported_groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:737,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:738,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Client_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 748
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 748
    functionName: Botan::TLS::Client_Hello_13::Client_Hello_13
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - legacy_version
    - TLS_Exception
    - auto::begin
    - comp_methods
    - std::distance
    - all
    - extensions
    - has
    - BOTAN_ASSERT_NONNULL
    - auto::groups
    - auto::end
    - get
    - found_in_supported_groups
    - find
    - static_cast<decltype(support_offset)>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Client_Hello_13::Client_Hello_13(std::unique_ptr<Client_Hello_Internal>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:766,1
    - Dst: ciphersuite_list
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:767,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:769,1
    - Dst: ciphersuite_list
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:771,1
    - Dst: m_suites::insert
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:772,1
    - Dst: m_suites::end
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:772,1
    - Dst: auto::cbegin
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:772,1
    - Dst: auto::cend
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:772,1
    - Dst: tls_13_middlebox_compatibility_mode
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:775,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:783,1
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:783,1
    - Dst: hostname_acceptable_for_sni
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:786,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:787,1
    - Dst: Server_Name_Indicator::Server_Name_Indicator
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:787,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:790,1
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:790,1
    - Dst: Supported_Groups::Supported_Groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:790,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:792,1
    - Dst: Key_Share::Key_Share
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:792,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:794,1
    - Dst: Supported_Versions::Supported_Versions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:794,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:796,1
    - Dst: acceptable_signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:796,1
    - Dst: Signature_Algorithms::Signature_Algorithms
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:796,1
    - Dst: acceptable_certificate_signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:797,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:801,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:801,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:801,1
    - Dst: Signature_Algorithms_Cert::Signature_Algorithms_Cert
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:801,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:807,1
    - Dst: PSK_Key_Exchange_Modes::PSK_Key_Exchange_Modes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:807,1
    - Dst: support_cert_status_message
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:809,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:810,1
    - Dst: Certificate_Status_Request::Certificate_Status_Request
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:810,1
    - Dst: record_size_limit
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:816,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:816,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:817,1
    - Dst: record_size_limit
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:817,1
    - Dst: Record_Size_Limit::Record_Size_Limit
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:817,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:820,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:821,1
    - Dst: Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:821,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:828,1
    - Dst: accepted_client_certificate_types
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:828,1
    - Dst: Client_Certificate_Type::Client_Certificate_Type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:828,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:829,1
    - Dst: accepted_server_certificate_types
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:829,1
    - Dst: Server_Certificate_Type::Server_Certificate_Type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:829,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:831,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:832,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:832,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:833,1
    - Dst: Session_Ticket_Extension::Session_Ticket_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:833,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:836,1
    - Dst: Extended_Master_Secret::Extended_Master_Secret
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:836,1
    - Dst: negotiate_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:838,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:839,1
    - Dst: Encrypt_then_MAC::Encrypt_then_MAC
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:839,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:842,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:843,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:844,1
    - Dst: use_ecc_point_compression
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:844,1
    - Dst: Supported_Point_Formats::Supported_Point_Formats
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:844,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:848,1
    - Dst: std::vector<ExternalPSK>::empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:848,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:849,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:849,1
    - Dst: PSK::PSK
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:849,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:852,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:852,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:852,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:854,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:858,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:859,1
    - Dst: Botan::TLS::Client_Hello_13::calculate_psk_binders
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:862,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 7
    argNames:
    - ' policy'
    - ' cb'
    - ' rng'
    - hostname
    - ' next_protocols'
    - ' session'
    - psks
    argTypes:
    - Policy
    - Callbacks
    - RandomNumberGenerator
    - std::string_view
    - std::vector<std::string>
    - std::optional<Session_with_Handle>
    - std::vector<ExternalPSK>
    constantsTouched: []
    func_position:
      end: 864
      start: 753
    functionDepth: 3
    functionLinenumber: 753
    functionLinenumberEnd: 864
    functionName: Botan::TLS::Client_Hello_13::Client_Hello_13
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - Supported_Groups::Supported_Groups
    - std::move
    - PSK_Key_Exchange_Modes::PSK_Key_Exchange_Modes
    - TLS_Exception
    - Signature_Algorithms::Signature_Algorithms
    - auto::value
    - accepted_client_certificate_types
    - make_hello_random
    - empty
    - Signature_Algorithms_Cert::Signature_Algorithms_Cert
    - ciphersuite_list
    - Record_Size_Limit::Record_Size_Limit
    - m_suites::insert
    - Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    - use_ecc_point_compression
    - Server_Certificate_Type::Server_Certificate_Type
    - auto::cbegin
    - Supported_Point_Formats::Supported_Point_Formats
    - Encrypt_then_MAC::Encrypt_then_MAC
    - Session_Ticket_Extension::Session_Ticket_Extension
    - Extended_Master_Secret::Extended_Master_Secret
    - acceptable_signature_schemes
    - has_value
    - Server_Name_Indicator::Server_Name_Indicator
    - Session_ID
    - auto::cend
    - allow_tls12
    - std::vector<ExternalPSK>::empty
    - accepted_server_certificate_types
    - tls_13_middlebox_compatibility_mode
    - key_exchange_groups
    - support_cert_status_message
    - tls_modify_extensions
    - Renegotiation_Extension::Renegotiation_Extension
    - Key_Share::Key_Share
    - negotiate_encrypt_then_mac
    - Supported_Versions::Supported_Versions
    - Certificate_Status_Request::Certificate_Status_Request
    - m_suites::end
    - Botan::TLS::Client_Hello_13::calculate_psk_binders
    - Client_Certificate_Type::Client_Certificate_Type
    - record_size_limit
    - hostname_acceptable_for_sni
    - extensions
    - PSK::PSK
    - type
    - acceptable_certificate_signature_schemes
    linkageType: ''
    returnType: void
    signature: "void Client_Hello_13::Client_Hello_13(const Policy& policy,\n                                 Callbacks&
      cb,\n                                 RandomNumberGenerator& rng,\n                                 std::string_view
      hostname,\n                                 const std::vector<std::string>&
      next_protocols,\n                                 std::optional<Session_with_Handle>&
      session,\n                                 std::vector<ExternalPSK> psks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Client_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:867,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:868,1
    - Dst: auto::is_pre_tls_13
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:870,1
    - Dst: Client_Hello_12
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:871,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:871,1
    - Dst: Botan::TLS::Client_Hello_13::Client_Hello_13
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:873,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 875
      start: 866
    functionDepth: 3
    functionLinenumber: 866
    functionLinenumberEnd: 875
    functionName: Botan::TLS::Client_Hello_13::parse
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - Botan::TLS::Client_Hello_13::Client_Hello_13
    - auto::is_pre_tls_13
    - std::make_unique<Client_Hello_Internal>
    - Client_Hello_12
    - auto::version
    linkageType: ''
    returnType: std::variant<Client_Hello_13, Client_Hello_12>
    signature: std::variant<Client_Hello_13, Client_Hello_12> Client_Hello_13::parse(const
      std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:881,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:881,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:882,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:882,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:884,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:885,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:887,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:888,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:899,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:900,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:900,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:901,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:901,1
    - Dst: Cookie::Cookie
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:901,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:908,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:908,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:908,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:910,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:913,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:913,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:914,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:914,1
    - Dst: auto::filter
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:920,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:920,1
    - Dst: Botan::TLS::Client_Hello_13::calculate_psk_binders
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:925,1
    - Dst: clone
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ' hrr'
    - ' transcript_hash_state'
    - ' cb'
    - ' rng'
    argTypes:
    - Hello_Retry_Request
    - Transcript_Hash_State
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 927
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 927
    functionName: Botan::TLS::Client_Hello_13::retry
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - Cookie::Cookie
    - Botan::TLS::Ciphersuite::by_id
    - ciphersuite
    - auto::value
    - Botan::TLS::Client_Hello_13::calculate_psk_binders
    - clone
    - auto::filter
    - extensions
    - type
    - tls_modify_extensions
    - auto::has_value
    - BOTAN_STATE_CHECK
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void Client_Hello_13::retry(const Hello_Retry_Request& hrr,\n                            const
      Transcript_Hash_State& transcript_hash_state,\n                            Callbacks&
      cb,\n                            RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:935,1
    - Dst: m_data::session_id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:935,1
    - Dst: random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:935,1
    - Dst: m_data::random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:935,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:936,1
    - Dst: m_data::ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:936,1
    - Dst: comp_methods
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:937,1
    - Dst: m_data::comp_methods
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:937,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:938,1
    - Dst: extension_types
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:941,1
    - Dst: extension_types
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:942,1
    - Dst: auto::contains
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:946,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:947,1
    - Dst: auto::is_implemented
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:950,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:957,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:969,1
    - Dst: auto::contains
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:975,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:976,1
    - Dst: auto::is_implemented
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:979,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:986,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:998,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1005,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1006,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 1
    argNames:
    - ' new_ch'
    argTypes:
    - Client_Hello_13
    constantsTouched: []
    func_position:
      end: 1023
      start: 929
    functionDepth: 3
    functionLinenumber: 929
    functionLinenumberEnd: 1023
    functionName: Botan::TLS::Client_Hello_13::validate_updates
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - m_data::random
    - session_id
    - comp_methods
    - m_data::session_id
    - extension_types
    - extensions
    - m_data::comp_methods
    - auto::contains
    - auto::is_implemented
    - ciphersuites
    - random
    - m_data::ciphersuites
    - Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
    linkageType: ''
    returnType: void
    signature: void Client_Hello_13::validate_updates(const Client_Hello_13& new_ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1026,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1027,1
    - Dst: Botan::TLS::Handshake_Layer::prepare_message
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1040,1
    - Dst: auto::calculate_binders
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ths
    argTypes:
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 1042
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1042
    functionName: Botan::TLS::Client_Hello_13::calculate_psk_binders
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 2
    functionsReached:
    - extensions
    - Botan::TLS::Handshake_Layer::prepare_message
    - auto::calculate_binders
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void Client_Hello_13::calculate_psk_binders(Transcript_Hash_State ths)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1050,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1051,1
    - Dst: auto::versions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1055,1
    - Dst: known_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1060,1
    - Dst: acceptable_protocol_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1060,1
    - Dst: std::optional::has_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1064,1
    - Dst: std::optional
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1064,1
    - Dst: std::max
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1064,1
    - Dst: std::optional::value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1064,1
    - Dst: std::optional
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' policy'
    argTypes:
    - Policy
    constantsTouched: []
    func_position:
      end: 1068
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1068
    functionName: Botan::TLS::Client_Hello_13::highest_supported_version
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::optional
    - acceptable_protocol_version
    - extensions
    - known_version
    - std::optional::has_value
    - BOTAN_ASSERT_NONNULL
    - std::max
    - std::optional::value
    - auto::versions
    linkageType: ''
    returnType: std::optional<Protocol_Version>
    signature: std::optional<Protocol_Version> Client_Hello_13::highest_supported_version(const
      Policy& policy) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Null_RNG>
      Src: /src/botan/src/lib/tls/tls_session_manager_noop.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: Botan::TLS::Session_Manager_Noop::Session_Manager_Noop
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_noop.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Null_RNG>
    linkageType: ''
    returnType: void
    signature: void Session_Manager_Noop::Session_Manager_Noop()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~Channel()
    functionSourceFile: /src/botan/src/lib/tls/tls_channel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Channel()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_peer
      Src: /src/botan/src/lib/tls/tls_channel.h:48,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/tls_channel.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_size
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: received_data
    functionSourceFile: /src/botan/src/lib/tls/tls_channel.h
    functionUses: 20
    functionsReached:
    - std::span
    - from_peer
    linkageType: ''
    returnType: size_t
    signature: size_t received_data(const uint8_t buf[], size_t buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_peer
      Src: /src/botan/src/lib/tls/tls_channel.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: send
    functionSourceFile: /src/botan/src/lib/tls/tls_channel.h
    functionUses: 26
    functionsReached:
    - to_peer
    linkageType: ''
    returnType: void
    signature: void send(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_peer
      Src: /src/botan/src/lib/tls/tls_channel.h:56,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/tls_channel.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_size
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: send
    functionSourceFile: /src/botan/src/lib/tls/tls_channel.h
    functionUses: 26
    functionsReached:
    - to_peer
    - std::span
    linkageType: ''
    returnType: void
    signature: void send(const uint8_t buf[], size_t buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/botan/src/lib/tls/tls_channel.h:62,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/tls/tls_channel.h:62,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/tls/tls_channel.h:62,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/tls_channel.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: send
    functionSourceFile: /src/botan/src/lib/tls/tls_channel.h
    functionUses: 27
    functionsReached:
    - send
    - std::string_view::size
    - reinterpret_cast<const uint8_t*>
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void send(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:41,1
    - Dst: data
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:41,1
    - Dst: data
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:41,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' random'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::TLS::random_signals_hello_retry_request
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::CT::is_equal
    - size
    linkageType: ''
    returnType: bool
    signature: bool random_signals_hello_retry_request(const std::vector<uint8_t>&
      random)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:48,1
    - Dst: Botan::TLS::make_hello_random
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:49,1
    - Dst: Protocol_Version::is_pre_tls_13
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:59,1
    - Dst: allow_tls13
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:59,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:61,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:61,1
    - Dst: auto::data
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:62,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:62,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' rng'
    - offered_version
    - ' cb'
    - ' policy'
    argTypes:
    - RandomNumberGenerator
    - Protocol_Version
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: Botan::TLS::make_server_hello_random
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::TLS::make_hello_random
    - Protocol_Version::is_pre_tls_13
    - store_be
    - allow_tls13
    - auto::data
    - auto::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> make_server_hello_random(RandomNumberGenerator&
      rng,\n                                              Protocol_Version offered_version,\n
      \                                             Callbacks& cb,\n                                              const
      Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:82,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:83,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:91,1
    - Dst: TLS_Data_Reader::get_fixed
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:97,1
    - Dst: random_signals_hello_retry_request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:98,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:100,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:100,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:101,1
    - Dst: TLS_Data_Reader::get_byte
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:102,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 113
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 113
    functionName: Botan::TLS::Server_Hello_Internal::Server_Hello_Internal
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - Session_ID
    - deserialize
    - TLS_Data_Reader::get_byte
    - random_signals_hello_retry_request
    - TLS_Data_Reader::get_uint16_t
    - Protocol_Version
    - TLS_Data_Reader::get_range
    - size
    - Decoding_Error
    - TLS_Data_Reader::get_fixed
    linkageType: ''
    returnType: void
    signature: void Server_Hello_Internal(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:122,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - lv
    - sid
    - r
    - cs
    - cm
    argTypes:
    - Protocol_Version
    - Session_ID
    - std::vector<uint8_t>
    - uint16_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: Botan::TLS::Server_Hello_Internal::Server_Hello_Internal
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Server_Hello_Internal(Protocol_Version lv,\n                            Session_ID
      sid,\n                            std::vector<uint8_t> r,\n                            const
      uint16_t cs,\n                            const uint8_t cm,\n                            bool
      is_hrr = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: Botan::TLS::Server_Hello_Internal::version
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan::TLS::Server_Hello_Internal::legacy_version
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version legacy_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: '& session_id() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Session_ID
    signature: Session_ID & session_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: '& random() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: Botan::TLS::Server_Hello_Internal::ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: Botan::TLS::Server_Hello_Internal::comp_method
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t comp_method() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Botan::TLS::Server_Hello_Internal::is_hello_retry_request
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_hello_retry_request() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: '& extensions() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Extensions
    signature: Extensions & extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: '& extensions()'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Extensions
    signature: Extensions & extensions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Server_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: Botan::TLS::Server_Hello::Server_Hello
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_Hello::Server_Hello(std::unique_ptr<Server_Hello_Internal>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Botan::TLS::Server_Hello::Server_Hello
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Server_Hello::Server_Hello(Server_Hello&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: Server_Hello::~Server_Hello()
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Server_Hello::~Server_Hello()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:180,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:182,1
    - Dst: Botan::TLS::Server_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:182,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:183,1
    - Dst: Botan::TLS::Server_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:183,1
    - Dst: random
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:184,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:186,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:186,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:188,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:188,1
    - Dst: Botan::TLS::Server_Hello::ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:188,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:189,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:189,1
    - Dst: Botan::TLS::Server_Hello::ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:189,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:191,1
    - Dst: comp_method
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:191,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: Botan::TLS::Server_Hello::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - session_id
    - std::vector::reserve
    - comp_method
    - get_byte<1>
    - extensions
    - append_tls_length_value
    - Botan::TLS::Server_Hello::legacy_version
    - Botan::TLS::Server_Hello::ciphersuite
    - get_byte<0>
    - std::vector::push_back
    - random
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Server_Hello::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: Botan::TLS::Server_Hello::type
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_Type
    signature: Handshake_Type Server_Hello::type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: Botan::TLS::Server_Hello::legacy_version
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Server_Hello::legacy_version
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Server_Hello::legacy_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '& Server_Hello::random() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Server_Hello::random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: comp_method
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: Botan::TLS::Server_Hello::compression_method
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - comp_method
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Server_Hello::compression_method() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '& Server_Hello::session_id() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - session_id
    linkageType: ''
    returnType: Session_ID
    signature: Session_ID & Server_Hello::session_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server_Hello::ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: Botan::TLS::Server_Hello::ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Server_Hello::ciphersuite
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Server_Hello::ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: Botan::TLS::Server_Hello::extension_types
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: std::set<Extension_Code>
    signature: std::set<Extension_Code> Server_Hello::extension_types() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: '& Server_Hello::extensions() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: Extensions
    signature: Extensions & Server_Hello::extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:240,1
    - Dst: protocol_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:241,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:242,1
    - Dst: make_server_hello_random
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:243,1
    - Dst: protocol_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:243,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:244,1
    - Dst: Botan::TLS::Server_Hello_12::supports_extended_master_secret
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:246,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:247,1
    - Dst: Extended_Master_Secret::Extended_Master_Secret
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:247,1
    - Dst: supports_cert_status_message
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:251,1
    - Dst: support_cert_status_message
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:251,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:252,1
    - Dst: Certificate_Status_Request::Certificate_Status_Request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:252,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:255,1
    - Dst: supports_alpn
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:255,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:256,1
    - Dst: Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:256,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:259,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:259,1
    - Dst: auto::cbc_ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:261,1
    - Dst: Botan::TLS::Server_Hello_12::supports_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:261,1
    - Dst: negotiate_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:261,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:262,1
    - Dst: Encrypt_then_MAC::Encrypt_then_MAC
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:262,1
    - Dst: auto::ecc_ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:265,1
    - Dst: extension_types
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:265,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:266,1
    - Dst: use_ecc_point_compression
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:266,1
    - Dst: Supported_Point_Formats::Supported_Point_Formats
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:266,1
    - Dst: Botan::TLS::Server_Hello_12::secure_renegotiation
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:269,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:270,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:270,1
    - Dst: Botan::TLS::Server_Hello_12::supports_session_ticket
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:273,1
    - Dst: offer_session_ticket
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:273,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:274,1
    - Dst: Session_Ticket_Extension::Session_Ticket_Extension
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:274,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:277,1
    - Dst: srtp_profiles
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:278,1
    - Dst: srtp_profiles
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:279,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:281,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:281,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:293,1
    - Dst: SRTP_Protection_Profiles::SRTP_Protection_Profiles
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:293,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:298,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:298,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:298,1
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:300,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:300,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 9
    argNames:
    - ' io'
    - ' hash'
    - ' policy'
    - ' cb'
    - ' rng'
    - ' reneg_info'
    - ' client_hello'
    - ' server_settings'
    - next_protocol
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - Policy
    - Callbacks
    - RandomNumberGenerator
    - std::vector<uint8_t>
    - Client_Hello_12
    - Server_Hello_12::Settings
    - std::string_view
    constantsTouched: []
    func_position:
      end: 301
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 301
    functionName: Botan::TLS::Server_Hello_12::Server_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - auto::cbc_ciphersuite
    - SRTP_Protection_Profiles::SRTP_Protection_Profiles
    - Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    - supports_alpn
    - srtp_profiles
    - send
    - use_ecc_point_compression
    - legacy_version
    - session_id
    - Botan::TLS::Ciphersuite::by_id
    - make_server_hello_random
    - std::string_view::empty
    - protocol_version
    - Supported_Point_Formats::Supported_Point_Formats
    - supports_cert_status_message
    - Encrypt_then_MAC::Encrypt_then_MAC
    - Session_Ticket_Extension::Session_Ticket_Extension
    - Extended_Master_Secret::Extended_Master_Secret
    - update
    - ciphersuite
    - Botan::TLS::Server_Hello_12::supports_encrypt_then_mac
    - support_cert_status_message
    - tls_modify_extensions
    - auto::ecc_ciphersuite
    - Renegotiation_Extension::Renegotiation_Extension
    - Botan::TLS::Server_Hello_12::supports_extended_master_secret
    - Botan::TLS::Server_Hello_12::supports_session_ticket
    - negotiate_encrypt_then_mac
    - offer_session_ticket
    - std::vector::empty
    - Certificate_Status_Request::Certificate_Status_Request
    - extension_types
    - extensions
    - type
    - Botan::TLS::Server_Hello_12::secure_renegotiation
    - std::make_unique<Server_Hello_Internal>
    linkageType: ''
    returnType: void
    signature: "void Server_Hello_12::Server_Hello_12(Handshake_IO& io,\n                                 Handshake_Hash&
      hash,\n                                 const Policy& policy,\n                                 Callbacks&
      cb,\n                                 RandomNumberGenerator& rng,\n                                 const
      std::vector<uint8_t>& reneg_info,\n                                 const Client_Hello_12&
      client_hello,\n                                 const Server_Hello_12::Settings&
      server_settings,\n                                 std::string_view next_protocol)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:314,1
    - Dst: version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:314,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:315,1
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:316,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:317,1
    - Dst: Botan::TLS::Server_Hello_12::supports_extended_master_secret
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:319,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:320,1
    - Dst: Extended_Master_Secret::Extended_Master_Secret
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:320,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:323,1
    - Dst: supports_alpn
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:323,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:324,1
    - Dst: Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:324,1
    - Dst: Botan::TLS::Server_Hello_12::supports_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:327,1
    - Dst: negotiate_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:327,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:328,1
    - Dst: Ciphersuite::cbc_ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:329,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:330,1
    - Dst: Encrypt_then_MAC::Encrypt_then_MAC
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:330,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:334,1
    - Dst: extension_types
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:335,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:336,1
    - Dst: use_ecc_point_compression
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:336,1
    - Dst: Supported_Point_Formats::Supported_Point_Formats
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:336,1
    - Dst: Botan::TLS::Server_Hello_12::secure_renegotiation
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:339,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:340,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:340,1
    - Dst: Botan::TLS::Server_Hello_12::supports_session_ticket
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:343,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:344,1
    - Dst: Session_Ticket_Extension::Session_Ticket_Extension
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:344,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:347,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:347,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:347,1
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:349,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:349,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 10
    argNames:
    - ' io'
    - ' hash'
    - ' policy'
    - ' cb'
    - ' rng'
    - ' reneg_info'
    - ' client_hello'
    - ' resumed_session'
    - offer_session_ticket
    - next_protocol
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - Policy
    - Callbacks
    - RandomNumberGenerator
    - std::vector<uint8_t>
    - Client_Hello_12
    - Session
    - bool
    - std::string_view
    constantsTouched: []
    func_position:
      end: 350
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 350
    functionName: Botan::TLS::Server_Hello_12::Server_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - make_hello_random
    - Ciphersuite::cbc_ciphersuite
    - Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    - supports_alpn
    - send
    - use_ecc_point_compression
    - session_id
    - ciphersuite_code
    - std::string_view::empty
    - Supported_Point_Formats::Supported_Point_Formats
    - Encrypt_then_MAC::Encrypt_then_MAC
    - Session_Ticket_Extension::Session_Ticket_Extension
    - Extended_Master_Secret::Extended_Master_Secret
    - update
    - ciphersuite
    - Botan::TLS::Server_Hello_12::supports_encrypt_then_mac
    - tls_modify_extensions
    - Renegotiation_Extension::Renegotiation_Extension
    - Botan::TLS::Server_Hello_12::supports_extended_master_secret
    - Botan::TLS::Server_Hello_12::supports_session_ticket
    - negotiate_encrypt_then_mac
    - version
    - extension_types
    - extensions
    - type
    - Botan::TLS::Server_Hello_12::secure_renegotiation
    - std::make_unique<Server_Hello_Internal>
    linkageType: ''
    returnType: void
    signature: "void Server_Hello_12::Server_Hello_12(Handshake_IO& io,\n                                 Handshake_Hash&
      hash,\n                                 const Policy& policy,\n                                 Callbacks&
      cb,\n                                 RandomNumberGenerator& rng,\n                                 const
      std::vector<uint8_t>& reneg_info,\n                                 const Client_Hello_12&
      client_hello,\n                                 const Session& resumed_session,\n
      \                                bool offer_session_ticket,\n                                 std::string_view
      next_protocol)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: Botan::TLS::Server_Hello_12::Server_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Server_Hello_Internal>
    linkageType: ''
    returnType: void
    signature: void Server_Hello_12::Server_Hello_12(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:355,1
    - Dst: version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:356,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Server_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: Botan::TLS::Server_Hello_12::Server_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - TLS_Exception
    - version
    linkageType: ''
    returnType: void
    signature: void Server_Hello_12::Server_Hello_12(std::unique_ptr<Server_Hello_Internal>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: Botan::TLS::Server_Hello_12::selected_version
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - legacy_version
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Server_Hello_12::selected_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Botan::TLS::Server_Hello_12::secure_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Server_Hello_12::secure_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:370,1
    - Dst: Renegotiation_Extension*::renegotiation_info
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:371,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: Botan::TLS::Server_Hello_12::renegotiation_info
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Renegotiation_Extension*::renegotiation_info
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Server_Hello_12::renegotiation_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: Botan::TLS::Server_Hello_12::supports_extended_master_secret
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Server_Hello_12::supports_extended_master_secret() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: Botan::TLS::Server_Hello_12::supports_encrypt_then_mac
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Server_Hello_12::supports_encrypt_then_mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: Botan::TLS::Server_Hello_12::supports_certificate_status_message
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Server_Hello_12::supports_certificate_status_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: Botan::TLS::Server_Hello_12::supports_session_ticket
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Server_Hello_12::supports_session_ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:393,1
    - Dst: auto::profiles
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:394,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:395,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 402
    functionName: Botan::TLS::Server_Hello_12::srtp_profile
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Decoding_Error
    - auto::size
    - auto::profiles
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Server_Hello_12::srtp_profile() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:405,1
    - Dst: auto::single_protocol
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: Botan::TLS::Server_Hello_12::next_protocol
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - auto::single_protocol
    linkageType: ''
    returnType: std::string
    signature: std::string Server_Hello_12::next_protocol() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:412,1
    - Dst: auto::prefers_compressed
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: Botan::TLS::Server_Hello_12::prefers_compressed_ec_points
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - auto::prefers_compressed
    linkageType: ''
    returnType: bool
    signature: bool Server_Hello_12::prefers_compressed_ec_points() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 428
    functionName: Botan::TLS::Server_Hello_12::random_signals_downgrade
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Protocol_Version>
    signature: std::optional<Protocol_Version> Server_Hello_12::random_signals_downgrade()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:434,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' io'
    - ' hash'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: Botan::TLS::Server_Hello_Done::Server_Hello_Done
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - send
    - update
    linkageType: ''
    returnType: void
    signature: void Server_Hello_Done::Server_Hello_Done(Handshake_IO& io, Handshake_Hash&
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:441,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: Botan::TLS::Server_Hello_Done::Server_Hello_Done
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - empty
    linkageType: ''
    returnType: void
    signature: void Server_Hello_Done::Server_Hello_Done(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: Botan::TLS::Server_Hello_Done::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Server_Hello_Done::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:466,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:474,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:474,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:474,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:475,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:476,1
    - Dst: choose_key_exchange_group
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:477,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:484,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:490,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:491,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:502,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:508,1
    - Dst: Hello_Retry_Request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:509,1
    - Dst: Botan::TLS::Server_Hello_13::Server_Hello_13
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 7
    argNames:
    - ' ch'
    - hello_retry_request_allowed
    - ' session_mgr'
    - ' credentials_mgr'
    - ' rng'
    - ' policy'
    - ' cb'
    argTypes:
    - Client_Hello_13
    - bool
    - Session_Manager
    - Credentials_Manager
    - RandomNumberGenerator
    - Policy
    - Callbacks
    constantsTouched: []
    func_position:
      end: 513
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 513
    functionName: Botan::TLS::Server_Hello_13::create
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - Botan::TLS::Server_Hello_13::Server_Hello_13
    - Hello_Retry_Request
    - extensions
    - choose_key_exchange_group
    - has
    - value_exists
    - get
    - BOTAN_STATE_CHECK
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::variant<Hello_Retry_Request, Server_Hello_13>
    signature: "std::variant<Hello_Retry_Request, Server_Hello_13> Server_Hello_13::create(const
      Client_Hello_13& ch,\n                                                                           bool
      hello_retry_request_allowed,\n                                                                           Session_Manager&
      session_mgr,\n                                                                           Credentials_Manager&
      credentials_mgr,\n                                                                           RandomNumberGenerator&
      rng,\n                                                                           const
      Policy& policy,\n                                                                           Callbacks&
      cb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:517,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:518,1
    - Dst: auto::is_pre_tls_13
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:521,1
    - Dst: Server_Hello_12
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:522,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:522,1
    - Dst: auto::is_hello_retry_request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:527,1
    - Dst: Hello_Retry_Request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:528,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:528,1
    - Dst: Botan::TLS::Server_Hello_13::Server_Hello_13
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:531,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:531,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:534,1
    - Dst: auto::to_string
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 535
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 535
    functionName: Botan::TLS::Server_Hello_13::parse
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - TLS_Exception
    - auto::is_pre_tls_13
    - Botan::TLS::Server_Hello_13::Server_Hello_13
    - Hello_Retry_Request
    - auto::version
    - Server_Hello_12
    - std::make_unique<Server_Hello_Internal>
    - auto::is_hello_retry_request
    - auto::to_string
    linkageType: ''
    returnType: std::variant<Hello_Retry_Request, Server_Hello_13, Server_Hello_12>
    signature: "std::variant<Hello_Retry_Request, Server_Hello_13, Server_Hello_12>
      Server_Hello_13::parse(\n   const std::vector<uint8_t>& buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:541,1
    - Dst: version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:541,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:559,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:560,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:561,1
    - Dst: compression_method
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:566,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:567,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:572,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:573,1
    - Dst: Botan::TLS::Server_Hello_13::selected_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:580,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 583
    functionName: Botan::TLS::Server_Hello_13::basic_validation
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - legacy_version
    - TLS_Exception
    - version
    - extensions
    - Botan::TLS::Server_Hello_13::selected_version
    - compression_method
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Server_Hello_13::basic_validation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:586,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:587,1
    - Dst: is_hello_retry_request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:587,1
    - Dst: Botan::TLS::Server_Hello_13::basic_validation
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:588,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:590,1
    - Dst: contains_other_than
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:609,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:610,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:617,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:617,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Server_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 620
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 620
    functionName: Botan::TLS::Server_Hello_13::Server_Hello_13
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - TLS_Exception
    - Botan::TLS::Server_Hello_13::basic_validation
    - is_hello_retry_request
    - extensions
    - has
    - contains_other_than
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Server_Hello_13::Server_Hello_13(std::unique_ptr<Server_Hello_Internal>
      data, Server_Hello_13::Server_Hello_Tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:624,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:625,1
    - Dst: is_hello_retry_request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:625,1
    - Dst: Botan::TLS::Server_Hello_13::basic_validation
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:626,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:628,1
    - Dst: contains_other_than
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:643,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:644,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:651,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:651,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Server_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 654
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 654
    functionName: Botan::TLS::Server_Hello_13::Server_Hello_13
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - TLS_Exception
    - Botan::TLS::Server_Hello_13::basic_validation
    - is_hello_retry_request
    - extensions
    - has
    - contains_other_than
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void Server_Hello_13::Server_Hello_13(std::unique_ptr<Server_Hello_Internal>
      data,\n                                 Server_Hello_13::Hello_Retry_Request_Tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Server_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: Botan::TLS::Server_Hello_13::Server_Hello_13
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_Hello_13::Server_Hello_13(std::unique_ptr<Server_Hello_Internal>
      data, Hello_Retry_Request_Creation_Tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:662,1
    - Dst: ciphersuite_list
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:664,1
    - Dst: server_uses_own_ciphersuite_preferences
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:666,1
    - Dst: std::swap
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:667,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:692,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' ch'
    - ' policy'
    argTypes:
    - Client_Hello_13
    - Policy
    constantsTouched: []
    func_position:
      end: 702
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 702
    functionName: Botan::TLS::choose_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - std::swap
    - ciphersuite_list
    - server_uses_own_ciphersuite_preferences
    - value_exists
    - ciphersuites
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t choose_ciphersuite(const Client_Hello_13& ch, const Policy&
      policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:712,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:714,1
    - Dst: make_server_hello_random
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:715,1
    - Dst: choose_ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:716,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:727,1
    - Dst: Supported_Versions::Supported_Versions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:727,1
    - Dst: std::optional<Named_Group>::has_value
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:729,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:730,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:730,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:731,1
    - Dst: Botan::TLS::Key_Share::create_as_encapsulation
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:731,1
    - Dst: std::optional<Named_Group>::value
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:732,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:732,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:735,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:737,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:738,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:738,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:739,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:746,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:747,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:751,1
    - Dst: auto::modes
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:751,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:752,1
    - Dst: sni_hostname
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:753,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:753,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:757,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:757,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:762,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:762,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - ' ch'
    - key_exchange_group
    - ' session_mgr'
    - ' credentials_mgr'
    - ' rng'
    - ' cb'
    - ' policy'
    argTypes:
    - Client_Hello_13
    - std::optional<Named_Group>
    - Session_Manager
    - Credentials_Manager
    - RandomNumberGenerator
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 763
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 763
    functionName: Botan::TLS::Server_Hello_13::Server_Hello_13
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - auto::value
    - std::optional<Named_Group>::value
    - BOTAN_ASSERT_NONNULL
    - BOTAN_ASSERT_NOMSG
    - session_id
    - choose_ciphersuite
    - make_server_hello_random
    - std::optional<Named_Group>::has_value
    - Botan::TLS::Key_Share::create_as_encapsulation
    - Botan::TLS::Ciphersuite::by_id
    - get
    - ciphersuite
    - has
    - value_exists
    - tls_modify_extensions
    - Supported_Versions::Supported_Versions
    - auto::modes
    - extensions
    - type
    - std::make_unique<Server_Hello_Internal>
    - sni_hostname
    linkageType: ''
    returnType: void
    signature: "void Server_Hello_13::Server_Hello_13(const Client_Hello_13& ch,\n
      \                                std::optional<Named_Group> key_exchange_group,\n
      \                                Session_Manager& session_mgr,\n                                 Credentials_Manager&
      credentials_mgr,\n                                 RandomNumberGenerator& rng,\n
      \                                Callbacks& cb,\n                                 const
      Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 775
    functionName: Botan::TLS::Server_Hello_13::random_signals_downgrade
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Protocol_Version>
    signature: std::optional<Protocol_Version> Server_Hello_13::random_signals_downgrade()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:778,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:779,1
    - Dst: auto::versions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:780,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:781,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:781,1
    - Dst: front
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 783
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 783
    functionName: Botan::TLS::Server_Hello_13::selected_version
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 1
    functionsReached:
    - extensions
    - size
    - front
    - BOTAN_ASSERT_NOMSG
    - auto::versions
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Server_Hello_13::selected_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Server_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 786
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 786
    functionName: Botan::TLS::Hello_Retry_Request::Hello_Retry_Request
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Hello_Retry_Request::Hello_Retry_Request(std::unique_ptr<Server_Hello_Internal>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:792,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:793,1
    - Dst: choose_ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:795,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:805,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:805,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:806,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:806,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:808,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:808,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:808,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:821,1
    - Dst: Supported_Versions::Supported_Versions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:821,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:823,1
    - Dst: Key_Share::Key_Share
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:823,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:825,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:825,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ch'
    - selected_group
    - ' policy'
    - ' cb'
    argTypes:
    - Client_Hello_13
    - Named_Group
    - Policy
    - Callbacks
    constantsTouched: []
    func_position:
      end: 826
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 826
    functionName: Botan::TLS::Hello_Retry_Request::Hello_Retry_Request
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - Supported_Versions::Supported_Versions
    - session_id
    - choose_ciphersuite
    - extensions
    - value_exists
    - tls_modify_extensions
    - type
    - std::make_unique<Server_Hello_Internal>
    - Key_Share::Key_Share
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: "void Hello_Retry_Request::Hello_Retry_Request(const Client_Hello_13&
      ch,\n                                         Named_Group selected_group,\n
      \                                        const Policy& policy,\n                                         Callbacks&
      cb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls_version.h:46,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls_version.h:48,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls_version.h:58,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_version.h:67,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_version.h:74,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_version.h:74,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_version.h:89,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_version.h:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 157
    functionName: Botan::TLS::final
    functionSourceFile: /src/botan/src/lib/tls/tls_version.h
    functionUses: 0
    functionsReached:
    - Protocol_Version
    - static_cast<uint8_t>
    - static_cast<uint16_t>
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Handshake_Transitions
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Handshake_Transitions
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Group_Params_Code>
      Src: /src/botan/src/lib/tls/tls_algos.h:148,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_algos.h:163,1
    - Dst: Botan::TLS::wire_code
      Src: /src/botan/src/lib/tls/tls_algos.h:182,1
    - Dst: Botan::TLS::wire_code
      Src: /src/botan/src/lib/tls/tls_algos.h:182,1
    - Dst: is_x25519
      Src: /src/botan/src/lib/tls/tls_algos.h:205,1
    - Dst: is_x448
      Src: /src/botan/src/lib/tls/tls_algos.h:205,1
    - Dst: is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls_algos.h:205,1
    - Dst: is_pqc_hybrid_ml_kem
      Src: /src/botan/src/lib/tls/tls_algos.h:235,1
    - Dst: is_pqc_hybrid_frodokem
      Src: /src/botan/src/lib/tls/tls_algos.h:235,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 254
    functionName: Botan::TLS::final
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.h
    functionUses: 0
    functionsReached:
    - is_x448
    - static_cast<uint16_t>
    - is_pqc_hybrid_ml_kem
    - static_cast<Group_Params_Code>
    - Botan::TLS::wire_code
    - is_x25519
    - is_pqc_hybrid_frodokem
    - is_ecdh_named_curve
    linkageType: ''
    returnType: Group_Params
    signature: Group_Params final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Kex_Algo
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: Botan::TLS::key_exchange_is_psk
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool key_exchange_is_psk(Kex_Algo m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: latest_supported_version
      Src: /src/botan/src/lib/tls/tls_server.cpp:35,1
    - Dst: auto::is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_server.cpp:37,1
    - Dst: std::make_unique<Server_Impl_13>
      Src: /src/botan/src/lib/tls/tls_server.cpp:39,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls_server.cpp:41,1
    - Dst: set_io_buffer_size
      Src: /src/botan/src/lib/tls/tls_server.cpp:42,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/tls/tls_server.cpp:45,1
    - Dst: std::make_unique<Server_Impl_12>
      Src: /src/botan/src/lib/tls/tls_server.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' creds'
    - ' policy'
    - ' rng'
    - is_datagram
    - io_buf_sz
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<const Policy>
    - std::shared_ptr<RandomNumberGenerator>
    - bool
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: Botan::TLS::Server::Server
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 0
    functionsReached:
    - auto::is_pre_tls_13
    - std::make_unique<Server_Impl_13>
    - Not_Implemented
    - expects_downgrade
    - set_io_buffer_size
    - std::make_unique<Server_Impl_12>
    - latest_supported_version
    linkageType: ''
    returnType: void
    signature: "void Server::Server(const std::shared_ptr<Callbacks>& callbacks,\n
      \              const std::shared_ptr<Session_Manager>& session_manager,\n               const
      std::shared_ptr<Credentials_Manager>& creds,\n               const std::shared_ptr<const
      Policy>& policy,\n               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n               bool is_datagram,\n               size_t io_buf_sz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Server::~Server()
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Server::~Server()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::from_peer
      Src: /src/botan/src/lib/tls/tls_server.cpp:55,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls_server.cpp:57,1
    - Dst: extract_downgrade_info
      Src: /src/botan/src/lib/tls/tls_server.cpp:58,1
    - Dst: std::make_unique<Server_Impl_12>
      Src: /src/botan/src/lib/tls/tls_server.cpp:59,1
    - Dst: Botan::TLS::Server::from_peer
      Src: /src/botan/src/lib/tls/tls_server.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: Botan::TLS::Server::from_peer
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - is_downgrading
    - std::make_unique<Server_Impl_12>
    - extract_downgrade_info
    - Botan::TLS::Server::from_peer
    linkageType: ''
    returnType: size_t
    signature: size_t Server::from_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls_server.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::TLS::Server::is_handshake_complete
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::is_handshake_complete
    linkageType: ''
    returnType: bool
    signature: bool Server::is_handshake_complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::is_active
      Src: /src/botan/src/lib/tls/tls_server.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::TLS::Server::is_active
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Server::is_active
    linkageType: ''
    returnType: bool
    signature: bool Server::is_active() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::is_closed
      Src: /src/botan/src/lib/tls/tls_server.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::TLS::Server::is_closed
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Server::is_closed
    linkageType: ''
    returnType: bool
    signature: bool Server::is_closed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::is_closed_for_reading
      Src: /src/botan/src/lib/tls/tls_server.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::TLS::Server::is_closed_for_reading
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::is_closed_for_reading
    linkageType: ''
    returnType: bool
    signature: bool Server::is_closed_for_reading() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::is_closed_for_writing
      Src: /src/botan/src/lib/tls/tls_server.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::TLS::Server::is_closed_for_writing
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::is_closed_for_writing
    linkageType: ''
    returnType: bool
    signature: bool Server::is_closed_for_writing() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::peer_cert_chain
      Src: /src/botan/src/lib/tls/tls_server.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::TLS::Server::peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::peer_cert_chain
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Server::peer_cert_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls_server.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan::TLS::Server::peer_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::peer_raw_public_key
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> Server::peer_raw_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::external_psk_identity
      Src: /src/botan/src/lib/tls/tls_server.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: Botan::TLS::Server::external_psk_identity
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::external_psk_identity
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Server::external_psk_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::key_material_export
      Src: /src/botan/src/lib/tls/tls_server.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - label
    - context
    - length
    argTypes:
    - std::string_view
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::TLS::Server::key_material_export
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::key_material_export
    linkageType: ''
    returnType: SymmetricKey
    signature: SymmetricKey Server::key_material_export(std::string_view label, std::string_view
      context, size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::renegotiate
      Src: /src/botan/src/lib/tls/tls_server.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - force_full_renegotiation
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: Botan::TLS::Server::renegotiate
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::renegotiate
    linkageType: ''
    returnType: void
    signature: void Server::renegotiate(bool force_full_renegotiation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::new_session_ticket_supported
      Src: /src/botan/src/lib/tls/tls_server.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::TLS::Server::new_session_ticket_supported
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::new_session_ticket_supported
    linkageType: ''
    returnType: bool
    signature: bool Server::new_session_ticket_supported() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::send_new_session_tickets
      Src: /src/botan/src/lib/tls/tls_server.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tickets
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: Botan::TLS::Server::send_new_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::send_new_session_tickets
    linkageType: ''
    returnType: size_t
    signature: size_t Server::send_new_session_tickets(const size_t tickets)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::update_traffic_keys
      Src: /src/botan/src/lib/tls/tls_server.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request_peer_update
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: Botan::TLS::Server::update_traffic_keys
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::update_traffic_keys
    linkageType: ''
    returnType: void
    signature: void Server::update_traffic_keys(bool request_peer_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::secure_renegotiation_supported
      Src: /src/botan/src/lib/tls/tls_server.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: Botan::TLS::Server::secure_renegotiation_supported
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::secure_renegotiation_supported
    linkageType: ''
    returnType: bool
    signature: bool Server::secure_renegotiation_supported() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::to_peer
      Src: /src/botan/src/lib/tls/tls_server.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::TLS::Server::to_peer
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::to_peer
    linkageType: ''
    returnType: void
    signature: void Server::to_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::send_alert
      Src: /src/botan/src/lib/tls/tls_server.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Alert
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::TLS::Server::send_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::send_alert
    linkageType: ''
    returnType: void
    signature: void Server::send_alert(const Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::send_warning_alert
      Src: /src/botan/src/lib/tls/tls_server.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Alert::Type
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::TLS::Server::send_warning_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::send_warning_alert
    linkageType: ''
    returnType: void
    signature: void Server::send_warning_alert(Alert::Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::send_fatal_alert
      Src: /src/botan/src/lib/tls/tls_server.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Alert::Type
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::TLS::Server::send_fatal_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::send_fatal_alert
    linkageType: ''
    returnType: void
    signature: void Server::send_fatal_alert(Alert::Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::close
      Src: /src/botan/src/lib/tls/tls_server.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Botan::TLS::Server::close
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Server::close
    linkageType: ''
    returnType: void
    signature: void Server::close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::timeout_check
      Src: /src/botan/src/lib/tls/tls_server.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: Botan::TLS::Server::timeout_check
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::timeout_check
    linkageType: ''
    returnType: bool
    signature: bool Server::timeout_check()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::application_protocol
      Src: /src/botan/src/lib/tls/tls_server.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: Botan::TLS::Server::application_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::application_protocol
    linkageType: ''
    returnType: std::string
    signature: std::string Server::application_protocol() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 49
    functionName: '& Signature_Scheme::all_available_schemes()'
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> & Signature_Scheme::all_available_schemes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::TLS::Signature_Scheme::Signature_Scheme
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Signature_Scheme::Signature_Scheme()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_MessageAuthenticationCode::PerfTest_MessageAuthenticationCode
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wire_code
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::TLS::Signature_Scheme::Signature_Scheme
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 2
    functionsReached:
    - Botan_CLI::PerfTest_MessageAuthenticationCode::PerfTest_MessageAuthenticationCode
    linkageType: ''
    returnType: void
    signature: void Signature_Scheme::Signature_Scheme(uint16_t wire_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wire_code
    argTypes:
    - Signature_Scheme::Code
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::TLS::Signature_Scheme::Signature_Scheme
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Signature_Scheme::Signature_Scheme(Signature_Scheme::Code wire_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:58,1
    - Dst: Signature_Scheme::all_available_schemes
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::TLS::Signature_Scheme::is_available
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 3
    functionsReached:
    - value_exists
    - Signature_Scheme::all_available_schemes
    linkageType: ''
    returnType: bool
    signature: bool Signature_Scheme::is_available() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::TLS::Signature_Scheme::is_set
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Signature_Scheme::is_set() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Signature_Scheme::to_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 100
    functionName: Botan::TLS::Signature_Scheme::to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Signature_Scheme::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string Signature_Scheme::to_string() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 130
    functionName: Botan::TLS::Signature_Scheme::hash_function_name
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Signature_Scheme::hash_function_name() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: Botan::TLS::Signature_Scheme::padding_string
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Signature_Scheme::padding_string() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 195
    functionName: Botan::TLS::Signature_Scheme::algorithm_name
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Signature_Scheme::algorithm_name() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:201,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:203,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:205,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 224
    functionName: Botan::TLS::Signature_Scheme::key_algorithm_identifier
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 1
    functionsReached:
    - AlgorithmIdentifier
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Signature_Scheme::key_algorithm_identifier() const
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:229,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:229,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:231,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:231,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:233,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:233,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:235,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:235,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:238,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:238,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:240,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:240,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:242,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:242,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:244,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:244,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:247,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:247,1
    - Dst: PSS_Params
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:247,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:249,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:249,1
    - Dst: PSS_Params
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:249,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:251,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:251,1
    - Dst: PSS_Params
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:251,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: Botan::TLS::Signature_Scheme::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 0
    functionsReached:
    - PSS_Params
    - AlgorithmIdentifier
    - Botan::OID::from_string
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Signature_Scheme::algorithm_identifier() const
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 281
    functionName: Botan::TLS::Signature_Scheme::format
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Signature_Format>
    signature: std::optional<Signature_Format> Signature_Scheme::format() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Signature_Scheme::hash_function_name
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:289,1
    - Dst: is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ' protocol_version'
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: Botan::TLS::Signature_Scheme::is_compatible_with
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 0
    functionsReached:
    - is_pre_tls_13
    - Botan::TLS::Signature_Scheme::hash_function_name
    linkageType: ''
    returnType: bool
    signature: bool Signature_Scheme::is_compatible_with(const Protocol_Version& protocol_version)
      const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Signature_Scheme::algorithm_name
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:307,1
    - Dst: algo_name
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:307,1
    - Dst: key_length
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:312,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - Private_Key
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: Botan::TLS::Signature_Scheme::is_suitable_for
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Botan::TLS::Signature_Scheme::algorithm_name
    - key_length
    linkageType: ''
    returnType: bool
    signature: bool Signature_Scheme::is_suitable_for(const Private_Key& private_key)
      const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:334,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:334,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:334,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:334,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' schemes'
    argTypes:
    - std::vector<Signature_Scheme>
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: Botan::TLS::to_algorithm_identifiers
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 0
    functionsReached:
    - algorithm_identifier
    - end
    - std::back_inserter
    - begin
    - std::transform
    linkageType: ''
    returnType: std::vector<AlgorithmIdentifier>
    signature: std::vector<AlgorithmIdentifier> to_algorithm_identifiers(const std::vector<Signature_Scheme>&
      schemes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protocol_specific_prf
      Src: /src/botan/src/lib/tls/msg_finished.cpp:36,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/msg_finished.cpp:40,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/msg_finished.cpp:41,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/msg_finished.cpp:43,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_finished.cpp:43,1
    - Dst: unlock
      Src: /src/botan/src/lib/tls/msg_finished.cpp:45,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/tls/msg_finished.cpp:45,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/msg_finished.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' state'
    - side
    argTypes:
    - Handshake_State
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: Botan::TLS::finished_compute_verify_12
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached:
    - protocol_specific_prf
    - ciphersuite
    - hash
    - auto::derive_key
    - unlock
    - std::make_pair
    - session_keys
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> finished_compute_verify_12(const Handshake_State&
      state, Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::TLS::Finished::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Finished::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::TLS::Finished::Finished
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Finished::Finished(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::TLS::Finished::verify_data
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Finished::verify_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finished_compute_verify_12
      Src: /src/botan/src/lib/tls/msg_finished.cpp:61,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/msg_finished.cpp:62,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_finished.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' io'
    - ' state'
    - side
    argTypes:
    - Handshake_IO
    - Handshake_State
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: Botan::TLS::Finished_12::Finished_12
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached:
    - hash
    - finished_compute_verify_12
    - send
    linkageType: ''
    returnType: void
    signature: void Finished_12::Finished_12(Handshake_IO& io, Handshake_State& state,
      Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finished_compute_verify_12
      Src: /src/botan/src/lib/tls/msg_finished.cpp:66,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_finished.cpp:72,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/msg_finished.cpp:72,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/tls/msg_finished.cpp:76,1
    - Dst: data
      Src: /src/botan/src/lib/tls/msg_finished.cpp:76,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/msg_finished.cpp:76,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/msg_finished.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' state'
    - side
    argTypes:
    - Handshake_State
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: Botan::TLS::Finished_12::verify
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - Botan::CT::is_equal
    - finished_compute_verify_12
    - data
    - size
    linkageType: ''
    returnType: bool
    signature: bool Finished_12::verify(const Handshake_State& state, Connection_Side
      side) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cipher_State*::finished_mac
      Src: /src/botan/src/lib/tls/msg_finished.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cipher_state
    - ' transcript_hash'
    argTypes:
    - Cipher_State*
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Botan::TLS::Finished_13::Finished_13
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached:
    - Cipher_State*::finished_mac
    linkageType: ''
    returnType: void
    signature: void Finished_13::Finished_13(Cipher_State* cipher_state, const Transcript_Hash&
      transcript_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cipher_State*::verify_peer_finished_mac
      Src: /src/botan/src/lib/tls/msg_finished.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cipher_state
    - ' transcript_hash'
    argTypes:
    - Cipher_State*
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::TLS::Finished_13::verify
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached:
    - Cipher_State*::verify_peer_finished_mac
    linkageType: ''
    returnType: bool
    signature: bool Finished_13::verify(Cipher_State* cipher_state, const Transcript_Hash&
      transcript_hash) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::TLS::capacity
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t capacity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::TLS::emits_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool emits_session_tickets() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session_Manager_Hybrid
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.h:52,1
    - Dst: find
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.h:68,1
    - Dst: store
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.h:71,1
    - Dst: Botan::TLS::remove
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.h:73,1
    - Dst: Botan::TLS::remove_all
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.h:75,1
    - Dst: Botan::TLS::get
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 94
    functionName: Botan::TLS::Session_Manager
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::remove_all
    - Botan::TLS::get
    - Session_Manager_Hybrid
    - find
    - Botan::TLS::remove
    - store
    linkageType: ''
    returnType: Session_Manager_Hybrid
    signature: Session_Manager_Hybrid Session_Manager
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::type
      Src: /src/botan/src/lib/tls/tls_handshake_msg.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: Botan::TLS::wire_type
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_msg.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::type
    linkageType: ''
    returnType: Handshake_Type
    signature: Handshake_Type wire_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ~Handshake_Message()
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_msg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handshake_Message()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::TLS::Handshake_Message
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_msg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_Message()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::TLS::Handshake_Message
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_msg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_Message(const Handshake_Message&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::TLS::Handshake_Message
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_msg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_Message(Handshake_Message&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:23,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - stateful
    - ' credentials_manager'
    - ' rng'
    - prefer_tickets
    argTypes:
    - std::unique_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<RandomNumberGenerator>
    - bool
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: Botan::TLS::Session_Manager_Hybrid::Session_Manager_Hybrid
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Session_Manager_Hybrid::Session_Manager_Hybrid(std::unique_ptr<Session_Manager>
      stateful,\n                                               const std::shared_ptr<Credentials_Manager>&
      credentials_manager,\n                                               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                                               bool prefer_tickets)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Session_Manager_Hybrid::establish
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:37,1
    - Dst: BOTAN_ASSERT_IMPLICATION
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:38,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:38,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:39,1
    - Dst: Botan::TLS::Session_Manager_Hybrid::establish
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:47,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:47,1
    - Dst: BOTAN_ASSERT_IMPLICATION
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:48,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:49,1
    - Dst: auto::is_id
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:49,1
    - Dst: std::swap
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:57,1
    - Dst: preferred
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:60,1
    - Dst: fallback
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ' session'
    - ' id'
    - tls12_no_ticket
    argTypes:
    - Session
    - std::optional<Session_ID>
    - bool
    constantsTouched: []
    func_position:
      end: 65
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Session_Manager_Hybrid::establish
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp
    functionUses: 1
    functionsReached:
    - fallback
    - auto::is_ticket
    - BOTAN_ASSERT_IMPLICATION
    - version
    - std::swap
    - preferred
    - Botan::TLS::Session_Manager_Hybrid::establish
    - auto::is_id
    - auto::has_value
    linkageType: ''
    returnType: std::optional<Session_Handle>
    signature: "std::optional<Session_Handle> Session_Manager_Hybrid::establish(const
      Session& session,\n                                                                const
      std::optional<Session_ID>& id,\n                                                                bool
      tls12_no_ticket)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:74,1
    - Dst: std::reference_wrapper::get
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:77,1
    - Dst: std::reference_wrapper::get
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' handle'
    - ' callbacks'
    - ' policy'
    argTypes:
    - Session_Handle
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: Botan::TLS::Session_Manager_Hybrid::retrieve
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    - std::reference_wrapper::get
    linkageType: ''
    returnType: std::optional<Session>
    signature: "std::optional<Session> Session_Manager_Hybrid::retrieve(const Session_Handle&
      handle,\n                                                        Callbacks&
      callbacks,\n                                                        const Policy&
      policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Session_Manager_Hybrid::emits_session_tickets
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:85,1
    - Dst: Botan::TLS::Session_Manager_Hybrid::emits_session_tickets
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::TLS::Session_Manager_Hybrid::emits_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Session_Manager_Hybrid::emits_session_tickets
    linkageType: ''
    returnType: bool
    signature: bool Session_Manager_Hybrid::emits_session_tickets()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::TLS::Session_Manager_Hybrid::retrieve_one
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: std::optional<Session>
    signature: std::optional<Session> Session_Manager_Hybrid::retrieve_one(const Session_Handle&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan::TLS::Session_Manager_Hybrid::find_some
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: std::vector<Session_with_Handle> Session_Manager_Hybrid::find_some(const
      Server_Information&, const size_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:29,1
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:30,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' io'
    - ' hash'
    - ticket
    - lifetime
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - Session_Ticket
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: Botan::TLS::New_Session_Ticket_12::New_Session_Ticket_12
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - send
    - update
    linkageType: ''
    returnType: void
    signature: "void New_Session_Ticket_12::New_Session_Ticket_12(Handshake_IO& io,\n
      \                                            Handshake_Hash& hash,\n                                             Session_Ticket
      ticket,\n                                             std::chrono::seconds lifetime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:34,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' io'
    - ' hash'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::TLS::New_Session_Ticket_12::New_Session_Ticket_12
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - send
    - update
    linkageType: ''
    returnType: void
    signature: void New_Session_Ticket_12::New_Session_Ticket_12(Handshake_IO& io,
      Handshake_Hash& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:38,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:39,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:44,1
    - Dst: TLS_Data_Reader::get_uint32_t
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:44,1
    - Dst: Session_Ticket
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:45,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:45,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: Botan::TLS::New_Session_Ticket_12::New_Session_Ticket_12
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - Session_Ticket
    - Botan_CLI::Timer::seconds
    - TLS_Data_Reader::get_range
    - size
    - Decoding_Error
    - TLS_Data_Reader::get_uint32_t
    - TLS_Data_Reader::assert_done
    linkageType: ''
    returnType: void
    signature: void New_Session_Ticket_12::New_Session_Ticket_12(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:53,1
    - Dst: std::chrono::seconds::count
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:53,1
    - Dst: std::chrono::seconds::count
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:53,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:53,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:55,1
    - Dst: static_cast<lifetime_t>
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:55,1
    - Dst: std::chrono::seconds::count
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:55,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sink
    - lifetime
    argTypes:
    - std::span<uint8_t>
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: Botan::TLS::store_lifetime
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - static_cast<lifetime_t>
    - cryptofuzz::mutator::ExpModGenerator::max
    - std::chrono::seconds::count
    - std::span<uint8_t>::data
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void store_lifetime(std::span<uint8_t> sink, std::chrono::seconds lifetime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:62,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:62,1
    - Dst: count
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:62,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:62,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:63,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: Botan::TLS::New_Session_Ticket_12::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - store_be
    - append_tls_length_value
    - count
    - get
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> New_Session_Ticket_12::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lifetime_hint
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:73,1
    - Dst: session_age_add
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:74,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:75,1
    - Dst: opaque_handle
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:76,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:77,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - nonce
    - ' session'
    - ' handle'
    - ' callbacks'
    argTypes:
    - Ticket_Nonce
    - Session
    - Session_Handle
    - Callbacks
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: Botan::TLS::New_Session_Ticket_13::New_Session_Ticket_13
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - lifetime_hint
    - opaque_handle
    - type
    - tls_modify_extensions
    - session_age_add
    linkageType: ''
    returnType: void
    signature: "void New_Session_Ticket_13::New_Session_Ticket_13(Ticket_Nonce nonce,\n
      \                                            const Session& session,\n                                             const
      Session_Handle& handle,\n                                             Callbacks&
      callbacks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:83,1
    - Dst: TLS_Data_Reader::get_uint32_t
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:83,1
    - Dst: std::chrono::days
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:88,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:89,1
    - Dst: TLS_Data_Reader::get_uint32_t
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:92,1
    - Dst: Ticket_Nonce
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:93,1
    - Dst: TLS_Data_Reader::get_tls_length_value
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:93,1
    - Dst: Opaque_Session_Handle
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:94,1
    - Dst: TLS_Data_Reader::get_tls_length_value
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:94,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:96,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:96,1
    - Dst: contains_implemented_extensions_other_than
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:102,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:103,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' buf'
    - from
    argTypes:
    - std::vector<uint8_t>
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 107
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 107
    functionName: Botan::TLS::New_Session_Ticket_13::New_Session_Ticket_13
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - contains_implemented_extensions_other_than
    - Opaque_Session_Handle
    - deserialize
    - Botan_CLI::Timer::seconds
    - TLS_Data_Reader::get_tls_length_value
    - std::chrono::days
    - type
    - Ticket_Nonce
    - TLS_Data_Reader::get_uint32_t
    - TLS_Data_Reader::assert_done
    linkageType: ''
    returnType: void
    signature: void New_Session_Ticket_13::New_Session_Ticket_13(const std::vector<uint8_t>&
      buf, Connection_Side from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:110,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:114,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:115,1
    - Dst: EarlyDataIndication*::max_early_data_size
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:115,1
    - Dst: EarlyDataIndication*::max_early_data_size
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: Botan::TLS::New_Session_Ticket_13::early_data_byte_limit
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - EarlyDataIndication*::max_early_data_size
    - has
    - get
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> New_Session_Ticket_13::early_data_byte_limit()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_lifetime
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:122,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:122,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:122,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:123,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:123,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:124,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:124,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:125,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:125,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:128,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:129,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:130,1
    - Dst: Botan::TLS::New_Session_Ticket_13::serialize
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: Botan::TLS::New_Session_Ticket_13::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 1
    functionsReached:
    - std::span
    - std::vector::data
    - store_be
    - empty
    - append_tls_length_value
    - Botan::TLS::New_Session_Ticket_13::serialize
    - store_lifetime
    - get
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> New_Session_Ticket_13::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::TLS::RFC6066_Empty_Certificate_Status_Request::RFC6066_Empty_Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RFC6066_Empty_Certificate_Status_Request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - extension_size
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: Botan::TLS::RFC6066_Empty_Certificate_Status_Request::RFC6066_Empty_Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void RFC6066_Empty_Certificate_Status_Request(uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::TLS::RFC6066_Empty_Certificate_Status_Request::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:36,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - names
    - keys
    argTypes:
    - std::vector<uint8_t>
    - std::vector<std::vector<uint8_t>>
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: Botan::TLS::RFC6066_Certificate_Status_Request::RFC6066_Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void RFC6066_Certificate_Status_Request(std::vector<uint8_t> names,
      std::vector<std::vector<uint8_t>> keys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:40,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:46,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:48,1
    - Dst: discard_next
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: Botan::TLS::RFC6066_Certificate_Status_Request::RFC6066_Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - get_fixed
    - Decoding_Error
    - discard_next
    linkageType: ''
    returnType: void
    signature: void RFC6066_Certificate_Status_Request(TLS_Data_Reader& reader, uint16_t
      extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: Botan::TLS::RFC6066_Certificate_Status_Request::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Contents
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan::TLS::Certificate_Status_Request_Internal::Certificate_Status_Request_Internal
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Certificate_Status_Request_Internal(Contents c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Certificate_Status_Request_Internal>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:109,1
    - Dst: RFC6066_Certificate_Status_Request
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:110,1
    - Dst: std::make_unique<Certificate_Status_Request_Internal>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:123,1
    - Dst: RFC6066_Empty_Certificate_Status_Request
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:124,1
    - Dst: std::make_unique<Certificate_Status_Request_Internal>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:139,1
    - Dst: Certificate_Status
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:140,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:140,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - ' reader'
    - extension_size
    - message_type
    - from
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Handshake_Type
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 148
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 148
    functionName: Botan::TLS::Certificate_Status_Request::Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - get_fixed
    - RFC6066_Certificate_Status_Request
    - TLS_Exception
    - RFC6066_Empty_Certificate_Status_Request
    - std::make_unique<Certificate_Status_Request_Internal>
    - Certificate_Status
    linkageType: ''
    returnType: void
    signature: "void Certificate_Status_Request::Certificate_Status_Request(TLS_Data_Reader&
      reader,\n                                                       uint16_t extension_size,\n
      \                                                      Handshake_Type message_type,\n
      \                                                      Connection_Side from)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Certificate_Status_Request_Internal>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:151,1
    - Dst: RFC6066_Empty_Certificate_Status_Request
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: Botan::TLS::Certificate_Status_Request::Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Certificate_Status_Request_Internal>
    - RFC6066_Empty_Certificate_Status_Request
    linkageType: ''
    returnType: void
    signature: void Certificate_Status_Request::Certificate_Status_Request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Certificate_Status_Request_Internal>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:155,1
    - Dst: RFC6066_Certificate_Status_Request
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:156,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:156,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ocsp_responder_ids
    - ocsp_key_ids
    argTypes:
    - std::vector<uint8_t>
    - std::vector<std::vector<uint8_t>>
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: Botan::TLS::Certificate_Status_Request::Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - RFC6066_Certificate_Status_Request
    - std::make_unique<Certificate_Status_Request_Internal>
    linkageType: ''
    returnType: void
    signature: "void Certificate_Status_Request::Certificate_Status_Request(std::vector<uint8_t>
      ocsp_responder_ids,\n                                                       std::vector<std::vector<uint8_t>>
      ocsp_key_ids)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Certificate_Status_Request_Internal>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:159,1
    - Dst: Certificate_Status
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:159,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - response
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: Botan::TLS::Certificate_Status_Request::Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<Certificate_Status_Request_Internal>
    - Certificate_Status
    linkageType: ''
    returnType: void
    signature: void Certificate_Status_Request::Certificate_Status_Request(std::vector<uint8_t>
      response)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Certificate_Status_Request::~Certificate_Status_Request()
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Certificate_Status_Request::~Certificate_Status_Request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:164,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:165,1
    - Dst: std::holds_alternative<Certificate_Status>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:165,1
    - Dst: std::get<Certificate_Status>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: '& Certificate_Status_Request::get_ocsp_response() const'
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    - BOTAN_STATE_CHECK
    - std::holds_alternative<Certificate_Status>
    - std::get<Certificate_Status>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Certificate_Status_Request::get_ocsp_response()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:170,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:171,1
    - Dst: Botan::TLS::Certificate_Status_Request::serialize
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: Botan::TLS::Certificate_Status_Request::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 1
    functionsReached:
    - std::visit
    - BOTAN_ASSERT_NONNULL
    - Botan::TLS::Certificate_Status_Request::serialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Status_Request::serialize(Connection_Side)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: Botan::TLS::emits_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool emits_session_tickets()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: ~Session_Manager()
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Session_Manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: Botan::TLS::mutex
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: recursive_mutex_type
    signature: recursive_mutex_type & mutex()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:27,1
    - Dst: Group_Params::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:27,1
    - Dst: Group_Params::code
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - group
    argTypes:
    - Group_Params
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: Botan::TLS::algorithm_specs_for_group
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Group_Params::is_pqc_hybrid
    - Group_Params::code
    linkageType: ''
    returnType: std::vector<std::pair<std::string, std::string>>
    signature: std::vector<std::pair<std::string, std::string>> algorithm_specs_for_group(Group_Params
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:78,1
    - Dst: Group_Params::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:78,1
    - Dst: Botan::TLS::algorithm_specs_for_group
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:80,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:82,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:93,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:93,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:95,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - group
    argTypes:
    - Group_Params
    constantsTouched: []
    func_position:
      end: 100
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 100
    functionName: Botan::TLS::algorithm_identifiers_for_group
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - Botan::TLS::algorithm_specs_for_group
    - Group_Params::is_pqc_hybrid
    - auto::size
    - AlgorithmIdentifier
    - std::vector::push_back
    - Botan::EC_Group::from_name
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<AlgorithmIdentifier>
    signature: std::vector<AlgorithmIdentifier> algorithm_identifiers_for_group(Group_Params
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:103,1
    - Dst: Group_Params::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:103,1
    - Dst: Group_Params::code
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - group
    argTypes:
    - Group_Params
    constantsTouched: []
    func_position:
      end: 144
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 144
    functionName: Botan::TLS::public_key_lengths_for_group
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - Group_Params::is_pqc_hybrid
    - Group_Params::code
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> public_key_lengths_for_group(Group_Params group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:148,1
    - Dst: std::vector<std::unique_ptr<Public_Key>>::begin
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:148,1
    - Dst: std::vector<std::unique_ptr<Public_Key>>::end
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:148,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:148,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:149,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:150,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:151,1
    - Dst: std::make_unique<KEX_to_KEM_Adapter_PublicKey>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:152,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:152,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pks
    argTypes:
    - std::vector<std::unique_ptr<Public_Key>>
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: Botan::TLS::convert_kex_to_kem_pks
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::vector<std::unique_ptr<Public_Key>>::begin
    - std::vector<std::unique_ptr<Public_Key>>::end
    - supports_operation
    - std::make_unique<KEX_to_KEM_Adapter_PublicKey>
    - std::back_inserter
    - BOTAN_ARG_CHECK
    - std::transform
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Public_Key>>
    signature: std::vector<std::unique_ptr<Public_Key>> convert_kex_to_kem_pks(std::vector<std::unique_ptr<Public_Key>>
      pks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:162,1
    - Dst: std::vector<std::unique_ptr<Private_Key>>::begin
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:162,1
    - Dst: std::vector<std::unique_ptr<Private_Key>>::end
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:162,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:162,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:163,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:164,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:165,1
    - Dst: dynamic_cast<PK_Key_Agreement_Key*>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:166,1
    - Dst: Botan::TLS::get
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:166,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:167,1
    - Dst: release
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:168,1
    - Dst: std::make_unique<KEX_to_KEM_Adapter_PrivateKey>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:169,1
    - Dst: std::unique_ptr<PK_Key_Agreement_Key>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:169,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - sks
    argTypes:
    - std::vector<std::unique_ptr<Private_Key>>
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: Botan::TLS::convert_kex_to_kem_sks
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::get
    - std::transform
    - supports_operation
    - std::back_inserter
    - std::make_unique<KEX_to_KEM_Adapter_PrivateKey>
    - release
    - BOTAN_ASSERT_NONNULL
    - std::vector<std::unique_ptr<Private_Key>>::end
    - BOTAN_ARG_CHECK
    - dynamic_cast<PK_Key_Agreement_Key*>
    - std::unique_ptr<PK_Key_Agreement_Key>
    - std::vector<std::unique_ptr<Private_Key>>::begin
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Private_Key>>
    signature: std::vector<std::unique_ptr<Private_Key>> convert_kex_to_kem_sks(std::vector<std::unique_ptr<Private_Key>>
      sks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:182,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:182,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:182,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:186,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:187,1
    - Dst: at
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:187,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:189,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' op'
    - out_shared_secret
    - ' shared_secrets'
    - desired_shared_key_len
    argTypes:
    - KEM_Operation
    - std::span<uint8_t>
    - std::vector<secure_vector<uint8_t>>
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: Botan::TLS::concat_secret_combiner
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - at
    - shared_key_length
    - BufferStuffer::append
    - size
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void concat_secret_combiner(KEM_Operation& op,\n                            std::span<uint8_t>
      out_shared_secret,\n                            const std::vector<secure_vector<uint8_t>>&
      shared_secrets,\n                            size_t desired_shared_key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:194,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::vector<KEM_Operation>
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: Botan::TLS::concat_shared_key_length
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - shared_key_length
    - reduce
    linkageType: ''
    returnType: size_t
    signature: size_t concat_shared_key_length(const std::vector<KEM_Operation>& operation)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' public_keys'
    - provider
    argTypes:
    - std::vector<std::unique_ptr<Public_Key>>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: Botan::TLS::Hybrid_TLS_KEM_Encryptor::Hybrid_TLS_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hybrid_TLS_KEM_Encryptor(const std::vector<std::unique_ptr<Public_Key>>&
      public_keys, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat_secret_combiner
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out_shared_secret
    - ' shared_secrets'
    - desired_shared_key_len
    argTypes:
    - std::span<uint8_t>
    - std::vector<secure_vector<uint8_t>>
    - size_t
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: Botan::TLS::Hybrid_TLS_KEM_Encryptor::combine_shared_secrets
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - concat_secret_combiner
    linkageType: ''
    returnType: void
    signature: "void combine_shared_secrets(std::span<uint8_t> out_shared_secret,\n
      \                                 const std::vector<secure_vector<uint8_t>>&
      shared_secrets,\n                                  const std::vector<std::vector<uint8_t>>&
      /*ciphertexts*/,\n                                  size_t desired_shared_key_len,\n
      \                                 std::span<const uint8_t> /*salt*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat_shared_key_length
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:213,1
    - Dst: encryptors
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: Botan::TLS::Hybrid_TLS_KEM_Encryptor::shared_key_length
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - concat_shared_key_length
    - encryptors
    linkageType: ''
    returnType: size_t
    signature: size_t shared_key_length(size_t /*desired_shared_key_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' private_keys'
    - ' rng'
    - provider
    argTypes:
    - std::vector<std::unique_ptr<Private_Key>>
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: Botan::TLS::Hybrid_TLS_KEM_Decryptor::Hybrid_TLS_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Hybrid_TLS_KEM_Decryptor(const std::vector<std::unique_ptr<Private_Key>>&
      private_keys,\n                               RandomNumberGenerator& rng,\n
      \                              const std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat_secret_combiner
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out_shared_secret
    - ' shared_secrets'
    - desired_shared_key_len
    argTypes:
    - std::span<uint8_t>
    - std::vector<secure_vector<uint8_t>>
    - size_t
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: Botan::TLS::Hybrid_TLS_KEM_Decryptor::combine_shared_secrets
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - concat_secret_combiner
    linkageType: ''
    returnType: void
    signature: "void combine_shared_secrets(std::span<uint8_t> out_shared_secret,\n
      \                                 const std::vector<secure_vector<uint8_t>>&
      shared_secrets,\n                                  const std::vector<std::vector<uint8_t>>&
      /*ciphertexts*/,\n                                  size_t desired_shared_key_len,\n
      \                                 std::span<const uint8_t> /*salt*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat_shared_key_length
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:234,1
    - Dst: decryptors
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: Botan::TLS::Hybrid_TLS_KEM_Decryptor::shared_key_length
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - concat_shared_key_length
    - decryptors
    linkageType: ''
    returnType: size_t
    signature: size_t shared_key_length(size_t /*desired_shared_key_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_lengths_for_group
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:242,1
    - Dst: algorithm_identifiers_for_group
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:243,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:244,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:244,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:244,1
    - Dst: reduce
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:247,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:248,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:249,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:254,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:254,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:255,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:256,1
    - Dst: load_public_key
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:256,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:256,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:258,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:258,1
    - Dst: std::make_unique<Hybrid_KEM_PublicKey>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:259,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - group
    - concatenated_public_keys
    argTypes:
    - Group_Params
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::load_for_group
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::vector::reserve
    - std::make_unique<Hybrid_KEM_PublicKey>
    - BufferSlicer::take
    - algorithm_identifiers_for_group
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    - reduce
    - public_key_lengths_for_group
    - auto::size
    - Decoding_Error
    - std::vector::emplace_back
    - load_public_key
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::unique_ptr<Hybrid_KEM_PublicKey>
    signature: "std::unique_ptr<Hybrid_KEM_PublicKey> Hybrid_KEM_PublicKey::load_for_group(\n
      \  Group_Params group, std::span<const uint8_t> concatenated_public_keys)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: convert_kex_to_kem_pks
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:263,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pks
    argTypes:
    - std::vector<std::unique_ptr<Public_Key>>
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::Hybrid_KEM_PublicKey
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - convert_kex_to_kem_pks
    linkageType: ''
    returnType: void
    signature: void Hybrid_KEM_PublicKey::Hybrid_KEM_PublicKey(std::vector<std::unique_ptr<Public_Key>>
      pks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: convert_kex_to_kem_pks
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:266,1
    - Dst: extract_public_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:266,1
    - Dst: convert_kex_to_kem_sks
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:267,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sks
    argTypes:
    - std::vector<std::unique_ptr<Private_Key>>
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - convert_kex_to_kem_pks
    - extract_public_keys
    - convert_kex_to_kem_sks
    linkageType: ''
    returnType: void
    signature: void Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey(std::vector<std::unique_ptr<Private_Key>>
      sks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:271,1
    - Dst: public_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:275,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - public_keys
    linkageType: ''
    returnType: std::string
    signature: std::string Hybrid_KEM_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Not_Implemented::Not_Implemented
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::Not_Implemented::Not_Implemented
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Hybrid_KEM_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Hybrid_KEM_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:297,1
    - Dst: public_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:297,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:297,1
    - Dst: concat
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:298,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 3
    functionsReached:
    - std::vector<uint8_t>
    - Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
    - reduce
    - concat
    - public_keys
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Hybrid_KEM_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Hybrid_KEM_PrivateKey>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:303,1
    - Dst: generate_other_sks_from_pks
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - generate_other_sks_from_pks
    - std::make_unique<Hybrid_KEM_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> Hybrid_KEM_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:308,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:309,1
    - Dst: std::make_unique<Hybrid_TLS_KEM_Encryptor>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:311,1
    - Dst: public_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - public_keys
    - Invalid_Argument
    - std::make_unique<Hybrid_TLS_KEM_Encryptor>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<Botan::PK_Ops::KEM_Encryption> Hybrid_KEM_PublicKey::create_kem_encryption_op(\n
      \  std::string_view params, std::string_view provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_specs_for_group
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:316,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:318,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:318,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:320,1
    - Dst: create_private_key
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:320,1
    - Dst: std::make_unique<Hybrid_KEM_PrivateKey>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:322,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - group
    - ' rng'
    argTypes:
    - Group_Params
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: Botan::TLS::Hybrid_KEM_PrivateKey::generate_from_group
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::make_unique<Hybrid_KEM_PrivateKey>
    - algorithm_specs_for_group
    - std::vector::reserve
    - auto::size
    - create_private_key
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<Hybrid_KEM_PrivateKey>
    signature: "std::unique_ptr<Hybrid_KEM_PrivateKey> Hybrid_KEM_PrivateKey::generate_from_group(Group_Params
      group,\n                                                                                  RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:327,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:328,1
    - Dst: std::make_unique<Hybrid_TLS_KEM_Decryptor>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:330,1
    - Dst: private_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: Botan::TLS::Hybrid_KEM_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Hybrid_TLS_KEM_Decryptor>
    - Invalid_Argument
    - private_keys
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<Botan::PK_Ops::KEM_Decryption> Hybrid_KEM_PrivateKey::create_kem_decryption_op(\n
      \  RandomNumberGenerator& rng, std::string_view params, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Hybrid_KEM_PublicKey
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h
    functionUses: 2
    functionsReached:
    - Botan::TLS::Hybrid_KEM_PublicKey
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Hybrid_KEM_PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Hybrid_KEM_PublicKey>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h:82,1
    - Dst: extract_public_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h:82,1
    - Dst: private_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Botan::TLS::public_key
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h
    functionUses: 0
    functionsReached:
    - extract_public_keys
    - private_keys
    - std::make_unique<Hybrid_KEM_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> public_key() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hybrid_PrivateKey::check_key
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::TLS::check_key
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h
    functionUses: 0
    functionsReached:
    - Botan::Hybrid_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool check_key(RandomNumberGenerator& rng, bool strong) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:21,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:22,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:26,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:32,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:33,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:36,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:36,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: Botan::TLS::Certificate_Status::Certificate_Status
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp
    functionUses: 0
    functionsReached:
    - end
    - size
    - Decoding_Error
    - begin
    - assign
    linkageType: ''
    returnType: void
    signature: void Certificate_Status::Certificate_Status(const std::vector<uint8_t>&
      buf, const Connection_Side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_bits
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:40,1
    - Dst: update
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:41,1
    - Dst: send
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' io'
    - ' hash'
    - ' ocsp'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - OCSP::Response
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: Botan::TLS::Certificate_Status::Certificate_Status
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp
    functionUses: 0
    functionsReached:
    - send
    - raw_bits
    - update
    linkageType: ''
    returnType: void
    signature: void Certificate_Status::Certificate_Status(Handshake_IO& io, Handshake_Hash&
      hash, const OCSP::Response& ocsp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:47,1
    - Dst: update
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:48,1
    - Dst: send
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' io'
    - ' hash'
    - raw_response_bytes
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: Botan::TLS::Certificate_Status::Certificate_Status
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - send
    - update
    linkageType: ''
    returnType: void
    signature: "void Certificate_Status::Certificate_Status(Handshake_IO& io,\n                                       Handshake_Hash&
      hash,\n                                       std::vector<uint8_t> raw_response_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - raw_response_bytes
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: Botan::TLS::Certificate_Status::Certificate_Status
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Certificate_Status::Certificate_Status(std::vector<uint8_t> raw_response_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:55,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:56,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:62,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:62,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:65,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: Botan::TLS::Certificate_Status::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp
    functionUses: 0
    functionsReached:
    - Encoding_Error
    - std::vector::reserve
    - size
    - get_byte_var
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Status::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Client_Impl_12::application_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string application_protocol() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::TLS::Handshake_IO::Handshake_IO
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_IO()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::TLS::Handshake_IO::Handshake_IO
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_IO(const Handshake_IO&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '& operator=(const Handshake_IO&)'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_IO
    signature: Handshake_IO & operator=(const Handshake_IO&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~Handshake_IO()
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handshake_IO()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - writer
    argTypes:
    - writer_fn
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::TLS::Stream_Handshake_IO::Stream_Handshake_IO
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream_Handshake_IO(writer_fn writer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::TLS::Stream_Handshake_IO::timeout_check
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool timeout_check() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::TLS::Stream_Handshake_IO::have_more_data
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool have_more_data() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - writer
    - ' seq'
    - mtu
    - initial_timeout_ms
    - max_timeout_ms
    argTypes:
    - writer_fn
    - class Connection_Sequence_Numbers
    - uint16_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: Botan::TLS::Datagram_Handshake_IO::Datagram_Handshake_IO
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Datagram_Handshake_IO(writer_fn writer,\n                            class
      Connection_Sequence_Numbers& seq,\n                            uint16_t mtu,\n
      \                           uint64_t initial_timeout_ms,\n                            uint64_t
      max_timeout_ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: Botan::TLS::Datagram_Handshake_IO::Handshake_Reassembly::epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t epoch() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - e
    - mt
    - ' msg'
    argTypes:
    - uint16_t
    - Handshake_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: Botan::TLS::Datagram_Handshake_IO::Message_Info
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message_Info(uint16_t e, Handshake_Type mt, const std::vector<uint8_t>&
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: Botan::TLS::Datagram_Handshake_IO::Message_Info
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Handshake_State*::ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:23,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:24,1
    - Dst: valid
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:24,1
    - Dst: Handshake_State*::protocol_specific_prf
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:41,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:50,1
    - Dst: Handshake_State*::hash
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:51,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:51,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:53,1
    - Dst: Handshake_State*::client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:54,1
    - Dst: Handshake_State*::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:55,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:58,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:63,1
    - Dst: Handshake_State*::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:64,1
    - Dst: Handshake_State*::client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:65,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:67,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:68,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:68,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:68,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:68,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:68,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:68,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:72,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:73,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:75,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:76,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:80,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:81,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:83,1
    - Dst: null_ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:83,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:89,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:92,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:94,1
    - Dst: null_ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - state
    - ' pre_master_secret'
    - resuming
    argTypes:
    - Handshake_State*
    - secure_vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 96
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 96
    functionName: Botan::TLS::Session_Keys::Session_Keys
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - valid
    - data
    - auto::derive_key
    - Handshake_State*::ciphersuite
    - copy_mem
    - Handshake_State*::client_hello
    - prf_algo
    - Handshake_State*::server_hello
    - null_ciphersuite
    - Handshake_State*::hash
    - Handshake_State*::protocol_specific_prf
    - size
    - resize
    - BOTAN_STATE_CHECK
    - assign
    - std::vector::assign
    linkageType: ''
    returnType: void
    signature: "void Session_Keys::Session_Keys(const Handshake_State* state,\n                           const
      secure_vector<uint8_t>& pre_master_secret,\n                           bool
      resuming)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:15,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:16,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:21,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:22,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:25,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:25,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:26,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:29,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:29,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:29,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: Botan::TLS::Hello_Verify_Request::Hello_Verify_Request
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp
    functionUses: 0
    functionsReached:
    - Protocol_Version::is_datagram_protocol
    - static_cast<size_t>
    - end
    - size
    - Decoding_Error
    - begin
    - assign
    linkageType: ''
    returnType: void
    signature: void Hello_Verify_Request::Hello_Verify_Request(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:35,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:36,1
    - Dst: auto::update_be
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:38,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:38,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:38,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:39,1
    - Dst: auto::update_be
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:40,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:40,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:40,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:41,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:43,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:43,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:44,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' client_hello_bits'
    - client_identity
    - ' secret_key'
    argTypes:
    - std::vector<uint8_t>
    - std::string_view
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: Botan::TLS::Hello_Verify_Request::Hello_Verify_Request
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - std::string_view::size
    - static_cast<uint64_t>
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::output_length
    - data
    - auto::update
    - auto::final
    - size
    - auto::update_be
    - resize
    linkageType: ''
    returnType: void
    signature: "void Hello_Verify_Request::Hello_Verify_Request(const std::vector<uint8_t>&
      client_hello_bits,\n                                           std::string_view
      client_identity,\n                                           const SymmetricKey&
      secret_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:56,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:56,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:57,1
    - Dst: Protocol_Version::minor_version
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:57,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:58,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:58,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Hello_Verify_Request::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - Protocol_Version::major_version
    - size
    - std::vector::push_back
    - Protocol_Version::minor_version
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Hello_Verify_Request::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_format
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:39,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:40,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:41,1
    - Dst: aead_key
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:43,1
    - Dst: nonce
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:44,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:46,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:46,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_format
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:48,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:51,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:51,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:51,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:52,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:52,1
    - Dst: std::make_unique<TLS_CBC_HMAC_AEAD_Encryption>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:55,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:55,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:56,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:57,1
    - Dst: mac_keylen
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:58,1
    - Dst: std::make_unique<TLS_CBC_HMAC_AEAD_Decryption>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:62,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:62,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:63,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:64,1
    - Dst: mac_keylen
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:65,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:71,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:72,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_format
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:74,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:76,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:76,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:76,1
    - Dst: std::make_unique<TLS_NULL_HMAC_AEAD_Encryption>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:79,1
    - Dst: mac_keylen
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:79,1
    - Dst: std::make_unique<TLS_NULL_HMAC_AEAD_Decryption>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:81,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:81,1
    - Dst: mac_keylen
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:81,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:84,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:88,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:88,1
    - Dst: set_key
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 6
    argNames:
    - version
    - side
    - our_side
    - ' suite'
    - ' keys'
    - uses_encrypt_then_mac
    argTypes:
    - Protocol_Version
    - Connection_Side
    - bool
    - Ciphersuite
    - Session_Keys
    - bool
    constantsTouched: []
    func_position:
      end: 92
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 92
    functionName: Botan::TLS::Connection_Cipher_State::Connection_Cipher_State
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::MessageAuthenticationCode::create_or_throw
    - std::make_unique<TLS_NULL_HMAC_AEAD_Decryption>
    - aead_key
    - std::make_unique<TLS_CBC_HMAC_AEAD_Encryption>
    - fmt
    - BOTAN_ASSERT_NOMSG
    - mac_keylen
    - cipher_keylen
    - std::make_unique<TLS_CBC_HMAC_AEAD_Decryption>
    - Botan::BlockCipher::create_or_throw
    - BOTAN_UNUSED
    - set_key
    - std::make_unique<TLS_NULL_HMAC_AEAD_Encryption>
    - Internal_Error
    - nonce
    - Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
    - Botan::TLS::Connection_Cipher_State::nonce_format
    - mac_algo
    - cipher_algo
    - size
    - Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: void
    signature: "void Connection_Cipher_State::Connection_Cipher_State(Protocol_Version
      version,\n                                                 Connection_Side side,\n
      \                                                bool our_side,\n                                                 const
      Ciphersuite& suite,\n                                                 const
      Session_Keys& keys,\n                                                 bool uses_encrypt_then_mac)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:100,1
    - Dst: std::vector::swap
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:102,1
    - Dst: randomize
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:106,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:106,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:106,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:111,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:111,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:112,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:112,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:112,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:116,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:116,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:118,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:118,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:119,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:119,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - seq
    - ' rng'
    argTypes:
    - uint64_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: Botan::TLS::Connection_Cipher_State::aead_nonce
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - store_be
    - randomize
    - data
    - copy_mem
    - empty
    - std::vector::swap
    - Invalid_State
    - size
    - Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
    - xor_buf
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Connection_Cipher_State::aead_nonce(uint64_t seq,
      RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:133,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:133,1
    - Dst: std::vector::swap
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:135,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:138,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:139,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:141,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:146,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:146,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:147,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:147,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:147,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:151,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:151,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:152,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:153,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:156,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:156,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:157,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:157,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:157,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - record
    - record_len
    - seq
    argTypes:
    - uint8_t[]
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 163
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 163
    functionName: Botan::TLS::Connection_Cipher_State::aead_nonce
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - store_be
    - data
    - copy_mem
    - empty
    - std::vector::swap
    - Invalid_State
    - size
    - Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
    - Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
    - Decoding_Error
    - xor_buf
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Connection_Cipher_State::aead_nonce(const uint8_t
      record[], size_t record_len, uint64_t seq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:171,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:172,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:173,1
    - Dst: Protocol_Version::minor_version
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:174,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:175,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - msg_sequence
    - msg_type
    - version
    - msg_length
    argTypes:
    - uint64_t
    - Record_Type
    - Protocol_Version
    - uint16_t
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: Botan::TLS::Connection_Cipher_State::format_ad
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - get_byte<1>
    - static_cast<uint8_t>
    - Protocol_Version::major_version
    - get_byte<0>
    - Protocol_Version::minor_version
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Connection_Cipher_State::format_ad(uint64_t msg_sequence,\n
      \                                                       Record_Type msg_type,\n
      \                                                       Protocol_Version version,\n
      \                                                       uint16_t msg_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:185,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:186,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:186,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:187,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' output'
    - len_field
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: Botan::TLS::append_u16_len
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_EQUAL
    - get_byte<0>
    - get_byte<1>
    - push_back
    linkageType: ''
    returnType: void
    signature: void append_u16_len(secure_vector<uint8_t>& output, size_t len_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:194,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:196,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:196,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:197,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:197,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:198,1
    - Dst: Protocol_Version::minor_version
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:198,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:200,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:202,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' output'
    - record_type
    - version
    - record_sequence
    argTypes:
    - secure_vector<uint8_t>
    - Record_Type
    - Protocol_Version
    - uint64_t
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: Botan::TLS::write_record_header
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - clear
    - Protocol_Version::is_datagram_protocol
    - static_cast<uint8_t>
    - Protocol_Version::major_version
    - get_byte_var
    - Protocol_Version::minor_version
    - push_back
    linkageType: ''
    returnType: void
    signature: "void write_record_header(secure_vector<uint8_t>& output,\n                         Record_Type
      record_type,\n                         Protocol_Version version,\n                         uint64_t
      record_sequence)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:216,1
    - Dst: Botan::TLS::write_record_header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:218,1
    - Dst: Botan::TLS::append_u16_len
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:219,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:220,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - ' output'
    - record_type
    - version
    - record_sequence
    - message
    - message_len
    argTypes:
    - secure_vector<uint8_t>
    - Record_Type
    - Protocol_Version
    - uint64_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: Botan::TLS::write_unencrypted_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::append_u16_len
    - Internal_Error
    - end
    - insert
    - Botan::TLS::write_record_header
    linkageType: ''
    returnType: void
    signature: "void write_unencrypted_record(secure_vector<uint8_t>& output,\n                              Record_Type
      record_type,\n                              Protocol_Version version,\n                              uint64_t
      record_sequence,\n                              const uint8_t* message,\n                              size_t
      message_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::write_record_header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:231,1
    - Dst: aead
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:233,1
    - Dst: format_ad
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:234,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:234,1
    - Dst: set_associated_data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:240,1
    - Dst: aead_nonce
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:242,1
    - Dst: Botan::TLS::append_u16_len
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:244,1
    - Dst: nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:246,1
    - Dst: nonce_format
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:247,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:250,1
    - Dst: nonce_bytes_from_handshake
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:250,1
    - Dst: nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:250,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:255,1
    - Dst: start
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:257,1
    - Dst: finish
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:258,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:260,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 8
    argNames:
    - ' output'
    - record_type
    - version
    - record_sequence
    - message
    - message_len
    - ' cs'
    - ' rng'
    argTypes:
    - secure_vector<uint8_t>
    - Record_Type
    - Protocol_Version
    - uint64_t
    - uint8_t*
    - size_t
    - Connection_Cipher_State
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: Botan::TLS::write_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - nonce_bytes_from_handshake
    - finish
    - start
    - aead
    - Botan::TLS::append_u16_len
    - set_associated_data
    - aead_nonce
    - std::make_pair
    - BOTAN_ASSERT
    - nonce_bytes_from_record
    - static_cast<uint16_t>
    - size
    - Botan::TLS::write_record_header
    - nonce_format
    - format_ad
    linkageType: ''
    returnType: void
    signature: "void write_record(secure_vector<uint8_t>& output,\n                  Record_Type
      record_type,\n                  Protocol_Version version,\n                  uint64_t
      record_sequence,\n                  const uint8_t* message,\n                  size_t
      message_len,\n                  Connection_Cipher_State& cs,\n                  RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:267,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:273,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:273,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - ' readbuf'
    - ' input'
    - ' input_size'
    - ' input_consumed'
    - desired
    argTypes:
    - secure_vector<uint8_t>
    - uint8_t*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: Botan::TLS::fill_buffer_to
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - size
    linkageType: ''
    returnType: size_t
    signature: "size_t fill_buffer_to(\n   secure_vector<uint8_t>& readbuf, const
      uint8_t*& input, size_t& input_size, size_t& input_consumed, size_t desired)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:288,1
    - Dst: aead_nonce
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:290,1
    - Dst: minimum_final_size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:301,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:302,1
    - Dst: set_associated_data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:307,1
    - Dst: format_ad
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:308,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:308,1
    - Dst: start
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:310,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:312,1
    - Dst: finish
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - ' output'
    - record_contents
    - record_len
    - record_sequence
    - record_version
    - record_type
    - ' cs'
    argTypes:
    - secure_vector<uint8_t>
    - uint8_t[]
    - size_t
    - uint64_t
    - Protocol_Version
    - Record_Type
    - Connection_Cipher_State
    constantsTouched: []
    func_position:
      end: 314
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 314
    functionName: Botan::TLS::decrypt_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - finish
    - start
    - aead
    - set_associated_data
    - assign
    - aead_nonce
    - static_cast<uint16_t>
    - format_ad
    - minimum_final_size
    linkageType: ''
    returnType: void
    signature: "void decrypt_record(secure_vector<uint8_t>& output,\n                    uint8_t
      record_contents[],\n                    size_t record_len,\n                    uint64_t
      record_sequence,\n                    Protocol_Version record_version,\n                    Record_Type
      record_type,\n                    Connection_Cipher_State& cs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:323,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:326,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:329,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:329,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:349,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:349,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:349,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:352,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:356,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:364,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:366,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:371,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:372,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:378,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:382,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:386,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:389,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:389,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:389,1
    - Dst: static_cast<Record_Type>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:391,1
    - Dst: Connection_Sequence_Numbers*::next_read_sequence
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:397,1
    - Dst: Connection_Sequence_Numbers*::current_read_epoch
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:398,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:406,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:406,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:406,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:407,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:408,1
    - Dst: get_cipherstate
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:412,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:414,1
    - Dst: Botan::TLS::decrypt_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:416,1
    - Dst: Connection_Sequence_Numbers*::read_accept
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:419,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:422,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:423,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    argCount: 7
    argNames:
    - ' readbuf'
    - input
    - input_len
    - ' consumed'
    - ' recbuf'
    - sequence_numbers
    - ' get_cipherstate'
    argTypes:
    - secure_vector<uint8_t>
    - uint8_t[]
    - size_t
    - size_t
    - secure_vector<uint8_t>
    - Connection_Sequence_Numbers*
    - get_cipherstate_fn
    constantsTouched: []
    func_position:
      end: 424
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 424
    functionName: Botan::TLS::read_tls_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - Connection_Sequence_Numbers*::current_read_epoch
    - clear
    - Connection_Sequence_Numbers*::read_accept
    - Protocol_Version::is_datagram_protocol
    - std::string
    - begin
    - get_cipherstate
    - Botan::TLS::decrypt_record
    - data
    - BOTAN_ASSERT_EQUAL
    - Record_Header
    - static_cast<Record_Type>
    - Connection_Sequence_Numbers*::next_read_sequence
    - assign
    - reinterpret_cast<const char*>
    - static_cast<size_t>
    - BOTAN_ASSERT
    - size
    linkageType: ''
    returnType: Record_Header
    signature: "Record_Header read_tls_record(secure_vector<uint8_t>& readbuf,\n                              const
      uint8_t input[],\n                              size_t input_len,\n                              size_t&
      consumed,\n                              secure_vector<uint8_t>& recbuf,\n                              Connection_Sequence_Numbers*
      sequence_numbers,\n                              const get_cipherstate_fn& get_cipherstate)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:434,1
    - Dst: Botan::TLS::fill_buffer_to
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:436,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:437,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:438,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:441,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:441,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:446,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:447,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:448,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:455,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:456,1
    - Dst: Botan::TLS::fill_buffer_to
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:459,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:461,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:462,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:465,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:465,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:465,1
    - Dst: static_cast<Record_Type>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:467,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:475,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:476,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:481,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:481,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:481,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:482,1
    - Dst: Connection_Sequence_Numbers*::read_accept
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:484,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:486,1
    - Dst: get_cipherstate
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:491,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:493,1
    - Dst: Botan::TLS::decrypt_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:495,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:497,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:498,1
    - Dst: Connection_Sequence_Numbers*::read_accept
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:502,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:505,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:506,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 8
    argNames:
    - ' readbuf'
    - input
    - input_len
    - ' consumed'
    - ' recbuf'
    - sequence_numbers
    - ' get_cipherstate'
    - allow_epoch0_restart
    argTypes:
    - secure_vector<uint8_t>
    - uint8_t[]
    - size_t
    - size_t
    - secure_vector<uint8_t>
    - Connection_Sequence_Numbers*
    - get_cipherstate_fn
    - bool
    constantsTouched: []
    func_position:
      end: 507
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 507
    functionName: Botan::TLS::read_dtls_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - get_cipherstate
    - clear
    - Botan::TLS::decrypt_record
    - Connection_Sequence_Numbers*::read_accept
    - static_cast<Record_Type>
    - Protocol_Version::is_datagram_protocol
    - static_cast<size_t>
    - begin
    - BOTAN_ASSERT_EQUAL
    - Botan::TLS::fill_buffer_to
    - BOTAN_ASSERT
    - size
    - Record_Header
    - assign
    linkageType: ''
    returnType: Record_Header
    signature: "Record_Header read_dtls_record(secure_vector<uint8_t>& readbuf,\n
      \                              const uint8_t input[],\n                               size_t
      input_len,\n                               size_t& consumed,\n                               secure_vector<uint8_t>&
      recbuf,\n                               Connection_Sequence_Numbers* sequence_numbers,\n
      \                              const get_cipherstate_fn& get_cipherstate,\n
      \                              bool allow_epoch0_restart)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::read_dtls_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:521,1
    - Dst: Botan::TLS::read_tls_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - is_datagram
    - ' readbuf'
    - input
    - input_len
    - ' consumed'
    - ' recbuf'
    - sequence_numbers
    - ' get_cipherstate'
    - allow_epoch0_restart
    argTypes:
    - bool
    - secure_vector<uint8_t>
    - uint8_t[]
    - size_t
    - size_t
    - secure_vector<uint8_t>
    - Connection_Sequence_Numbers*
    - get_cipherstate_fn
    - bool
    constantsTouched: []
    func_position:
      end: 526
      start: 511
    functionDepth: 5
    functionLinenumber: 511
    functionLinenumberEnd: 526
    functionName: Botan::TLS::read_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::read_dtls_record
    - Botan::TLS::read_tls_record
    linkageType: ''
    returnType: Record_Header
    signature: "Record_Header read_record(bool is_datagram,\n                          secure_vector<uint8_t>&
      readbuf,\n                          const uint8_t input[],\n                          size_t
      input_len,\n                          size_t& consumed,\n                          secure_vector<uint8_t>&
      recbuf,\n                          Connection_Sequence_Numbers* sequence_numbers,\n
      \                         const get_cipherstate_fn& get_cipherstate,\n                          bool
      allow_epoch0_restart)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:26,1
    - Dst: send
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' io'
    - ' hash'
    - ' cert_list'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - std::vector<X509_Certificate>
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: Botan::TLS::Certificate_12::Certificate_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp
    functionUses: 0
    functionsReached:
    - send
    - update
    linkageType: ''
    returnType: void
    signature: void Certificate_12::Certificate_12(Handshake_IO& io, Handshake_Hash&
      hash, const std::vector<X509_Certificate>& cert_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:33,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:34,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:39,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:40,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:45,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:52,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:58,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:62,1
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:62,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:74,1
    - Dst: x509_version
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:74,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:75,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - ' buf'
    - ' policy'
    argTypes:
    - std::vector<uint8_t>
    - Policy
    constantsTouched: []
    func_position:
      end: 77
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 77
    functionName: Botan::TLS::Certificate_12::Certificate_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - empty
    - x509_version
    - size
    - X509_Certificate
    - Decoding_Error
    - push_back
    linkageType: ''
    returnType: void
    signature: void Certificate_12::Certificate_12(const std::vector<uint8_t>& buf,
      const Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_encode
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:86,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:89,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:89,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:89,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:96,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: Botan::TLS::Certificate_12::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp
    functionUses: 0
    functionsReached:
    - BER_encode
    - get_byte_var
    - std::vector::push_back
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_12::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& client_aead_key() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & client_aead_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& server_aead_key() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & server_aead_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& client_nonce() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & client_nonce() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& server_nonce() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & server_nonce() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& master_secret() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & master_secret() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_aead_key
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.h:49,1
    - Dst: server_aead_key
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '& aead_key(Connection_Side side) const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached:
    - server_aead_key
    - client_aead_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & aead_key(Connection_Side side) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_nonce
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.h:53,1
    - Dst: server_nonce
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& nonce(Connection_Side side) const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached:
    - server_nonce
    - client_nonce
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & nonce(Connection_Side side) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Session_Keys::Session_Keys
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Session_Keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake_type_to_string
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:20,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::TLS::Handshake_Message::type_string
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - handshake_type_to_string
    - type
    linkageType: ''
    returnType: std::string
    signature: std::string Handshake_Message::type_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:86,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:87,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 1
    argNames:
    - type
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 88
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 88
    functionName: Botan::TLS::handshake_type_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 1
    functionsReached:
    - TLS_Exception
    - static_cast<size_t>
    - std::to_string
    linkageType: ''
    returnType: char
    signature: char * handshake_type_to_string(Handshake_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Handshake_State::~Handshake_State()
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_State::~Handshake_State()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:96,1
    - Dst: initial_record_version
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - io
    - ' cb'
    argTypes:
    - std::unique_ptr<Handshake_IO>
    - Callbacks
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: Botan::TLS::Handshake_State::Handshake_State
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - initial_record_version
    linkageType: ''
    returnType: void
    signature: void Handshake_State::Handshake_State(std::unique_ptr<Handshake_IO>
      io, Callbacks& cb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_inspect_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Handshake_Message
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::TLS::Handshake_State::note_message
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - tls_inspect_handshake_msg
    linkageType: ''
    returnType: void
    signature: void Handshake_State::note_message(const Handshake_Message& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:103,1
    - Dst: update_hello_cookie
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:105,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:106,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:107,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:107,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' hello_verify'
    argTypes:
    - Hello_Verify_Request
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: Botan::TLS::Handshake_State::hello_verify_request
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - hash
    - Botan::TLS::Handshake_State::note_message
    - update_hello_cookie
    - handshake_io
    linkageType: ''
    returnType: void
    signature: void Handshake_State::hello_verify_request(const Hello_Verify_Request&
      hello_verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:114,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:115,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:117,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - client_hello
    argTypes:
    - std::unique_ptr<Client_Hello_12>
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: Botan::TLS::Handshake_State::client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - hash
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - reset
    linkageType: ''
    returnType: void
    signature: void Handshake_State::client_hello(std::unique_ptr<Client_Hello_12>
      client_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:123,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:124,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:125,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:125,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - server_hello
    argTypes:
    - std::unique_ptr<Server_Hello_12>
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: Botan::TLS::Handshake_State::server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Ciphersuite::by_id
    - ciphersuite
    - BOTAN_ASSERT_NONNULL
    - Botan::TLS::Handshake_State::note_message
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_hello(std::unique_ptr<Server_Hello_12>
      server_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:130,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:131,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - server_certs
    argTypes:
    - std::unique_ptr<Certificate_12>
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: Botan::TLS::Handshake_State::server_certs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_certs(std::unique_ptr<Certificate_12>
      server_certs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:136,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:137,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - server_cert_status
    argTypes:
    - std::unique_ptr<Certificate_Status>
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Botan::TLS::Handshake_State::server_cert_status
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_cert_status(std::unique_ptr<Certificate_Status>
      server_cert_status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:142,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:143,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - server_kex
    argTypes:
    - std::unique_ptr<Server_Key_Exchange>
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: Botan::TLS::Handshake_State::server_kex
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_kex(std::unique_ptr<Server_Key_Exchange>
      server_kex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:148,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:149,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cert_req
    argTypes:
    - std::unique_ptr<Certificate_Request_12>
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: Botan::TLS::Handshake_State::cert_req
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::cert_req(std::unique_ptr<Certificate_Request_12>
      cert_req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:154,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:155,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - server_hello_done
    argTypes:
    - std::unique_ptr<Server_Hello_Done>
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: Botan::TLS::Handshake_State::server_hello_done
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_hello_done(std::unique_ptr<Server_Hello_Done>
      server_hello_done)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:160,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:161,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - client_certs
    argTypes:
    - std::unique_ptr<Certificate_12>
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Botan::TLS::Handshake_State::client_certs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::client_certs(std::unique_ptr<Certificate_12>
      client_certs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:166,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:167,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - client_kex
    argTypes:
    - std::unique_ptr<Client_Key_Exchange>
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: Botan::TLS::Handshake_State::client_kex
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::client_kex(std::unique_ptr<Client_Key_Exchange>
      client_kex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:172,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:173,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - client_verify
    argTypes:
    - std::unique_ptr<Certificate_Verify_12>
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: Botan::TLS::Handshake_State::client_verify
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::client_verify(std::unique_ptr<Certificate_Verify_12>
      client_verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:178,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:179,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - server_verify
    argTypes:
    - std::unique_ptr<Certificate_Verify_12>
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: Botan::TLS::Handshake_State::server_verify
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_verify(std::unique_ptr<Certificate_Verify_12>
      server_verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:184,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:185,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - new_session_ticket
    argTypes:
    - std::unique_ptr<New_Session_Ticket_12>
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: Botan::TLS::Handshake_State::new_session_ticket
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::new_session_ticket(std::unique_ptr<New_Session_Ticket_12>
      new_session_ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:190,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:191,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - server_finished
    argTypes:
    - std::unique_ptr<Finished_12>
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: Botan::TLS::Handshake_State::server_finished
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_finished(std::unique_ptr<Finished_12>
      server_finished)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:196,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:197,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - client_finished
    argTypes:
    - std::unique_ptr<Finished_12>
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: Botan::TLS::Handshake_State::client_finished
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::client_finished(std::unique_ptr<Finished_12>
      client_finished)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:202,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:203,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: '& Handshake_State::ciphersuite() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - value
    - Invalid_State
    - has_value
    linkageType: ''
    returnType: Ciphersuite
    signature: Ciphersuite & Handshake_State::ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_State::psk_identity
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: Botan::TLS::Handshake_State::psk_identity
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Handshake_State::psk_identity
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Handshake_State::psk_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' version'
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: Botan::TLS::Handshake_State::set_version
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_State::set_version(const Protocol_Version& version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session_Keys
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:220,1
    - Dst: Botan::TLS::Handshake_State::client_kex
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: Botan::TLS::Handshake_State::compute_session_keys
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::client_kex
    - Session_Keys
    linkageType: ''
    returnType: void
    signature: void Handshake_State::compute_session_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session_Keys
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' resume_master_secret'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: Botan::TLS::Handshake_State::compute_session_keys
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Session_Keys
    linkageType: ''
    returnType: void
    signature: void Handshake_State::compute_session_keys(const secure_vector<uint8_t>&
      resume_master_secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_State::confirm_transition_to
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handshake_msg
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: Botan::TLS::Handshake_State::confirm_transition_to
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Handshake_State::confirm_transition_to
    linkageType: ''
    returnType: void
    signature: void Handshake_State::confirm_transition_to(Handshake_Type handshake_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_State::set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handshake_msg
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: Botan::TLS::Handshake_State::set_expected_next
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Handshake_State::set_expected_next
    linkageType: ''
    returnType: void
    signature: void Handshake_State::set_expected_next(Handshake_Type handshake_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_State::received_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handshake_msg
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: Botan::TLS::Handshake_State::received_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Handshake_State::received_handshake_msg
    linkageType: ''
    returnType: bool
    signature: bool Handshake_State::received_handshake_msg(Handshake_Type handshake_msg)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_record
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:240,1
    - Dst: change_cipher_spec_expected
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: Botan::TLS::Handshake_State::get_next_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - get_next_record
    - change_cipher_spec_expected
    linkageType: ''
    returnType: std::pair<Handshake_Type, std::vector<uint8_t>>
    signature: std::pair<Handshake_Type, std::vector<uint8_t>> Handshake_State::get_next_handshake_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_State::new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:244,1
    - Dst: Botan::TLS::Handshake_State::new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:244,1
    - Dst: Botan::TLS::Handshake_State::new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:245,1
    - Dst: Botan::TLS::Handshake_State::client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: Botan::TLS::Handshake_State::session_ticket
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::new_session_ticket
    - Botan::TLS::Handshake_State::client_hello
    linkageType: ''
    returnType: Session_Ticket
    signature: Session_Ticket Handshake_State::session_ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:252,1
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:255,1
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: Botan::TLS::Handshake_State::protocol_specific_prf
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::PBKDF::create_or_throw
    - ciphersuite
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> Handshake_State::protocol_specific_prf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algo_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:265,1
    - Dst: allowed_signature_schemes
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:267,1
    - Dst: Botan::TLS::Handshake_State::cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:270,1
    - Dst: Botan::TLS::Handshake_State::client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:270,1
    - Dst: is_available
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:273,1
    - Dst: algorithm_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:277,1
    - Dst: find
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:278,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:278,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:278,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:278,1
    - Dst: hash_function_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:285,1
    - Dst: allowed_signature_hash
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:287,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:288,1
    - Dst: format
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:291,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:292,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:295,1
    - Dst: padding_string
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:295,1
    - Dst: format
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:295,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - ' key'
    - ' chosen_scheme'
    - for_client_auth
    - ' policy'
    argTypes:
    - Private_Key
    - Signature_Scheme
    - bool
    - Policy
    constantsTouched: []
    func_position:
      end: 296
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 296
    functionName: Botan::TLS::Handshake_State::choose_sig_format
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - allowed_signature_schemes
    - TLS_Exception
    - std::vector::end
    - format
    - algorithm_name
    - padding_string
    - hash_function_name
    - std::make_pair
    - Invalid_Argument
    - Botan::TLS::Handshake_State::cert_req
    - allowed_signature_hash
    - algo_name
    - find
    - is_available
    - std::vector::begin
    - Botan::TLS::Handshake_State::client_hello
    linkageType: ''
    returnType: std::pair<std::string, Signature_Format>
    signature: "std::pair<std::string, Signature_Format> Handshake_State::choose_sig_format(const
      Private_Key& key,\n                                                                            Signature_Scheme&
      chosen_scheme,\n                                                                            bool
      for_client_auth,\n                                                                            const
      Policy& policy) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:304,1
    - Dst: hash_function_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:304,1
    - Dst: algorithm_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ' schemes'
    - key_type
    - hash_type
    argTypes:
    - std::vector<Signature_Scheme>
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: Botan::TLS::supported_algos_include
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - hash_function_name
    - is_available
    - algorithm_name
    linkageType: ''
    returnType: bool
    signature: "bool supported_algos_include(const std::vector<Signature_Scheme>&
      schemes,\n                             std::string_view key_type,\n                             std::string_view
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algo_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:320,1
    - Dst: allowed_signature_method
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:322,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:323,1
    - Dst: Signature_Scheme::is_available
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:326,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:327,1
    - Dst: Signature_Scheme::algorithm_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:330,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:331,1
    - Dst: Botan::TLS::Handshake_State::cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:334,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:335,1
    - Dst: Botan::TLS::Handshake_State::cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:344,1
    - Dst: Signature_Scheme::hash_function_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:346,1
    - Dst: Signature_Scheme::is_compatible_with
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:348,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:349,1
    - Dst: supported_algos_include
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:352,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:353,1
    - Dst: Signature_Scheme::format
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:357,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:358,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:361,1
    - Dst: Signature_Scheme::padding_string
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:361,1
    - Dst: Signature_Scheme::format
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:361,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 5
    argNames:
    - ' key'
    - scheme
    - ' offered_schemes'
    - for_client_auth
    - ' policy'
    argTypes:
    - Public_Key
    - Signature_Scheme
    - std::vector<Signature_Scheme>
    - bool
    - Policy
    constantsTouched: []
    func_position:
      end: 362
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 362
    functionName: Botan::TLS::Handshake_State::parse_sig_format
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - Signature_Scheme::is_available
    - supported_algos_include
    - Signature_Scheme::format
    - Signature_Scheme::is_compatible_with
    - Signature_Scheme::algorithm_name
    - std::make_pair
    - Invalid_Argument
    - Botan::TLS::Handshake_State::cert_req
    - Signature_Scheme::padding_string
    - algo_name
    - Decoding_Error
    - Signature_Scheme::hash_function_name
    - allowed_signature_method
    linkageType: ''
    returnType: std::pair<std::string, Signature_Format>
    signature: "std::pair<std::string, Signature_Format> Handshake_State::parse_sig_format(\n
      \  const Public_Key& key,\n   Signature_Scheme scheme,\n   const std::vector<Signature_Scheme>&
      offered_schemes,\n   bool for_client_auth,\n   const Policy& policy) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ~Connection_Sequence_Numbers()
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Connection_Sequence_Numbers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream_Sequence_Numbers::reset
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::TLS::Stream_Sequence_Numbers::Stream_Sequence_Numbers
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Stream_Sequence_Numbers::reset
    linkageType: ''
    returnType: void
    signature: void Stream_Sequence_Numbers()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: Botan::TLS::Stream_Sequence_Numbers::reset
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Botan::TLS::Stream_Sequence_Numbers::new_read_cipher_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void new_read_cipher_state() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Botan::TLS::Stream_Sequence_Numbers::new_write_cipher_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void new_write_cipher_state() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Stream_Sequence_Numbers::current_read_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t current_read_epoch() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::TLS::Stream_Sequence_Numbers::current_write_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t current_write_epoch() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::TLS::Stream_Sequence_Numbers::next_write_sequence
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t next_write_sequence(uint16_t) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::TLS::Stream_Sequence_Numbers::next_read_sequence
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t next_read_sequence() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::TLS::Stream_Sequence_Numbers::already_seen
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool already_seen(uint64_t) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::TLS::Stream_Sequence_Numbers::read_accept
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void read_accept(uint64_t) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Datagram_Sequence_Numbers::reset
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::TLS::Datagram_Sequence_Numbers::Datagram_Sequence_Numbers
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Datagram_Sequence_Numbers::reset
    linkageType: ''
    returnType: void
    signature: void Datagram_Sequence_Numbers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: Botan::TLS::Datagram_Sequence_Numbers::reset
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan::TLS::Datagram_Sequence_Numbers::new_read_cipher_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void new_read_cipher_state() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: Botan::TLS::Datagram_Sequence_Numbers::new_write_cipher_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void new_write_cipher_state() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::TLS::Datagram_Sequence_Numbers::current_read_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t current_read_epoch() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::TLS::Datagram_Sequence_Numbers::current_write_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t current_write_epoch() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:100,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:101,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:101,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - epoch
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: Botan::TLS::Datagram_Sequence_Numbers::next_write_sequence
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached:
    - end
    - find
    - BOTAN_ASSERT
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t next_write_sequence(uint16_t epoch) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan::TLS::Datagram_Sequence_Numbers::next_read_sequence
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t next_read_sequence() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sequence
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: Botan::TLS::Datagram_Sequence_Numbers::already_seen
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool already_seen(uint64_t sequence) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - sequence
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 150
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 150
    functionName: Botan::TLS::Datagram_Sequence_Numbers::read_accept
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void read_accept(uint64_t sequence) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:42,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:43,1
    - Dst: psk_identity_hint
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:46,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:48,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:52,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:65,1
    - Dst: default_dh_group
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:66,1
    - Dst: choose_key_exchange_group
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:68,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:71,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:72,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:76,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:76,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:86,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:86,1
    - Dst: dynamic_cast<DH_PrivateKey*>
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:87,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:87,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:89,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:92,1
    - Dst: auto::get_int_field
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:92,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:93,1
    - Dst: auto::get_int_field
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:93,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:94,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:94,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:96,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:98,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:99,1
    - Dst: choose_key_exchange_group
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:102,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:104,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:105,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:110,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:110,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:111,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:111,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:113,1
    - Dst: public_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:115,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:117,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:117,1
    - Dst: dynamic_cast<ECDH_PrivateKey*>
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:118,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:118,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:120,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:125,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:125,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:130,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:131,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:131,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:132,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:132,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:134,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:136,1
    - Dst: kex_method_to_string
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:136,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:139,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:140,1
    - Dst: choose_sig_format
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:142,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:144,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:146,1
    - Dst: params
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:147,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:149,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:152,1
    - Dst: send
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:152,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 6
    argNames:
    - ' io'
    - ' state'
    - ' policy'
    - ' creds'
    - ' rng'
    - signing_key
    argTypes:
    - Handshake_IO
    - Handshake_State
    - Policy
    - Credentials_Manager
    - RandomNumberGenerator
    - Private_Key*
    constantsTouched: []
    func_position:
      end: 153
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 153
    functionName: Botan::TLS::Server_Key_Exchange::Server_Key_Exchange
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - dynamic_cast<DH_PrivateKey*>
    - kex_method_to_string
    - send
    - default_dh_group
    - hash
    - client_hello
    - append_tls_length_value
    - get
    - server_hello
    - public_value
    - psk_identity_hint
    - auto::get_int_field
    - ciphersuite
    - Internal_Error
    - get_byte<1>
    - params
    - callbacks
    - get_byte<0>
    - std::vector::empty
    - dynamic_cast<ECDH_PrivateKey*>
    - choose_sig_format
    - auto::public_value
    - choose_key_exchange_group
    - BOTAN_ASSERT
    - value
    - push_back
    linkageType: ''
    returnType: void
    signature: "void Server_Key_Exchange::Server_Key_Exchange(Handshake_IO& io,\n
      \                                        Handshake_State& state,\n                                         const
      Policy& policy,\n                                         Credentials_Manager&
      creds,\n                                         RandomNumberGenerator& rng,\n
      \                                        const Private_Key* signing_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:162,1
    - Dst: TLS_Data_Reader::get_string
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:172,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:179,1
    - Dst: TLS_Data_Reader::get_byte
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:182,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:183,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:184,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:186,1
    - Dst: kex_method_to_string
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:186,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:189,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:189,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:189,1
    - Dst: TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:189,1
    - Dst: Signature_Scheme
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:192,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:192,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:193,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - ' buf'
    - kex_algo
    - auth_method
    - version
    argTypes:
    - std::vector<uint8_t>
    - Kex_Algo
    - Auth_Method
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 197
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 197
    functionName: Botan::TLS::Server_Key_Exchange::Server_Key_Exchange
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - TLS_Data_Reader::get_byte
    - data
    - TLS_Data_Reader::get_uint16_t
    - TLS_Data_Reader::read_so_far
    - TLS_Data_Reader::get_range
    - kex_method_to_string
    - Decoding_Error
    - TLS_Data_Reader::get_string
    - Signature_Scheme
    - TLS_Data_Reader::assert_done
    - assign
    linkageType: ''
    returnType: void
    signature: "void Server_Key_Exchange::Server_Key_Exchange(const std::vector<uint8_t>&
      buf,\n                                         const Kex_Algo kex_algo,\n                                         const
      Auth_Method auth_method,\n                                         Protocol_Version
      version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:203,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:205,1
    - Dst: is_set
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:206,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:207,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:207,1
    - Dst: wire_code
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:207,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:208,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:208,1
    - Dst: wire_code
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:208,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: Botan::TLS::Server_Key_Exchange::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp
    functionUses: 0
    functionsReached:
    - empty
    - is_set
    - params
    - get_byte<1>
    - append_tls_length_value
    - wire_code
    - get_byte<0>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Server_Key_Exchange::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_peer_key_acceptable
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:223,1
    - Dst: parse_sig_format
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:226,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:226,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:228,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:230,1
    - Dst: params
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:231,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' server_key'
    - ' state'
    - ' policy'
    argTypes:
    - Public_Key
    - Handshake_State
    - Policy
    constantsTouched: []
    func_position:
      end: 242
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 242
    functionName: Botan::TLS::Server_Key_Exchange::verify
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - params
    - parse_sig_format
    - client_hello
    - check_peer_key_acceptable
    - server_hello
    linkageType: ''
    returnType: bool
    signature: "bool Server_Key_Exchange::verify(const Public_Key& server_key,\n                                 const
      Handshake_State& state,\n                                 const Policy& policy)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: '& Server_Key_Exchange::server_kex_key() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: PK_Key_Agreement_Key
    signature: PK_Key_Agreement_Key & Server_Key_Exchange::server_kex_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_hash.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan::TLS::Handshake_Hash::update
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_hash.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void update(const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::TLS::Handshake_Hash::update
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& get_contents() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_contents() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_hash.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::TLS::Handshake_Hash::reset
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_hash.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:45,1
    - Dst: Botan::TLS::get
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '& aead()'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::get
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: AEAD_Mode
    signature: AEAD_Mode & aead()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t nonce_bytes_from_handshake() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t nonce_bytes_from_record() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::TLS::Connection_Cipher_State::nonce_format
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Nonce_Format
    signature: Nonce_Format nonce_format() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sequence
    - version
    - type
    argTypes:
    - uint64_t
    - Protocol_Version
    - Record_Type
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: Botan::TLS::Record_Header::Record_Header
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Record_Header(uint64_t sequence, Protocol_Version version, Record_Type
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - needed
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: Botan::TLS::Record_Header::Record_Header
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached:
    - Protocol_Version
    linkageType: ''
    returnType: void
    signature: void Record_Header(size_t needed)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::TLS::Record_Header::needed
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t needed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Botan::TLS::Record_Header::version
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: Botan::TLS::Record_Header::sequence
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sequence() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:90,1
    - Dst: Botan::TLS::Record_Header::sequence
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan::TLS::Record_Header::epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Record_Header::sequence
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t epoch() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: Botan::TLS::Record_Header::type
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: Record_Type
    signature: Record_Type type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - io
    - ' cb'
    argTypes:
    - std::unique_ptr<Handshake_IO>
    - Callbacks
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: Botan::TLS::Client_Handshake_State_12::Client_Handshake_State_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Client_Handshake_State_12(std::unique_ptr<Handshake_IO> io, Callbacks&
      cb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '& server_public_key() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: Public_Key
    signature: Public_Key & server_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::TLS::Client_Handshake_State_12::maybe_server_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Public_Key
    signature: Public_Key * maybe_server_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:39,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - spk
    argTypes:
    - std::unique_ptr<Public_Key>
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: Botan::TLS::Client_Handshake_State_12::record_server_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void record_server_public_key(std::unique_ptr<Public_Key> spk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Client_Handshake_State_12::is_a_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool is_a_resumption() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::TLS::Client_Handshake_State_12::discard_resumption_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void discard_resumption_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:48,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:48,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session_info
    argTypes:
    - std::optional<Session>
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::TLS::Client_Handshake_State_12::record_resumption_info
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_STATE_CHECK
    - has_value
    linkageType: ''
    returnType: void
    signature: void record_resumption_info(std::optional<Session> session_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::TLS::Client_Handshake_State_12::is_a_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_a_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::TLS::Client_Handshake_State_12::mark_as_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mark_as_renegotiation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:57,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:57,1
    - Dst: master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '& resume_master_secret() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - is_a_resumption
    - BOTAN_STATE_CHECK
    - master_secret
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & resume_master_secret() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:62,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:62,1
    - Dst: peer_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '& resume_peer_certs() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - peer_certs
    - is_a_resumption
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> & resume_peer_certs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:67,1
    - Dst: Botan::TLS::Client_Handshake_State_12::is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:67,1
    - Dst: supports_extended_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan::TLS::Client_Handshake_State_12::resumed_session_supports_extended_master_secret
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - supports_extended_master_secret
    - Botan::TLS::Client_Handshake_State_12::is_a_resumption
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: bool
    signature: bool resumed_session_supports_extended_master_secret() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:95,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:96,1
    - Dst: create_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:98,1
    - Dst: Botan::TLS::Client_Impl_12::send_client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' creds'
    - ' policy'
    - ' rng'
    - info
    - datagram
    - ' next_protocols'
    - io_buf_sz
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<const Policy>
    - std::shared_ptr<RandomNumberGenerator>
    - Server_Information
    - bool
    - std::vector<std::string>
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: Botan::TLS::Client_Impl_12::Client_Impl_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    - create_handshake_state
    - Botan::TLS::Client_Impl_12::send_client_hello
    linkageType: ''
    returnType: void
    signature: "void Client_Impl_12::Client_Impl_12(const std::shared_ptr<Callbacks>&
      callbacks,\n                               const std::shared_ptr<Session_Manager>&
      session_manager,\n                               const std::shared_ptr<Credentials_Manager>&
      creds,\n                               const std::shared_ptr<const Policy>&
      policy,\n                               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                               Server_Information info,\n                               bool
      datagram,\n                               const std::vector<std::string>& next_protocols,\n
      \                              size_t io_buf_sz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:112,1
    - Dst: client_hello_message::empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:114,1
    - Dst: client_hello_message::begin
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:118,1
    - Dst: client_hello_message::end
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:119,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:121,1
    - Dst: std::make_unique<Client_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:121,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:122,1
    - Dst: secure_renegotiation_check
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:124,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:124,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:125,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:129,1
    - Dst: tls12_session::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:129,1
    - Dst: tls12_session::session::version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:130,1
    - Dst: Botan::TLS::Client_Impl_12::send_client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:131,1
    - Dst: tls12_session::session::version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' downgrade_info'
    argTypes:
    - Channel_Impl::Downgrade_Information
    constantsTouched: []
    func_position:
      end: 137
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: Botan::TLS::Client_Impl_12::Client_Impl_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Impl_12::send_client_hello
    - std::make_unique<Client_Hello_12>
    - hash
    - secure_renegotiation_check
    - set_expected_next
    - client_hello_message::end
    - client_hello
    - tls12_session::has_value
    - tls12_session::session::version
    - client_hello_message::begin
    - client_hello_message::empty
    - create_handshake_state
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Client_Impl_12::Client_Impl_12(const Channel_Impl::Downgrade_Information&
      downgrade_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Client_Handshake_State_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:140,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:140,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - io
    argTypes:
    - std::unique_ptr<Handshake_IO>
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Botan::TLS::Client_Impl_12::new_handshake_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<Client_Handshake_State_12>
    - callbacks
    linkageType: ''
    returnType: std::unique_ptr<Handshake_State>
    signature: std::unique_ptr<Handshake_State> Client_Impl_12::new_handshake_state(std::unique_ptr<Handshake_IO>
      io)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Client_Handshake_State_12&>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:144,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:146,1
    - Dst: resume_peer_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:147,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:150,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:151,1
    - Dst: std::vector<X509_Certificate>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - Handshake_State
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: Botan::TLS::Client_Impl_12::get_peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - resume_peer_certs
    - server_certs
    - std::vector<X509_Certificate>
    - is_a_resumption
    - dynamic_cast<const Client_Handshake_State_12&>
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Client_Impl_12::get_peer_cert_chain(const
      Handshake_State& state) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:161,1
    - Dst: Botan::TLS::Client_Impl_12::send_client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' state'
    - force_full_renegotiation
    argTypes:
    - Handshake_State
    - bool
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Botan::TLS::Client_Impl_12::initiate_handshake
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Impl_12::send_client_hello
    - version
    linkageType: ''
    returnType: void
    signature: void Client_Impl_12::initiate_handshake(Handshake_State& state, bool
      force_full_renegotiation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<Client_Handshake_State_12&>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:170,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:172,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:173,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:175,1
    - Dst: std::optional<Session_with_Handle>::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:179,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:179,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:180,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:180,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:180,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:180,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:181,1
    - Dst: auto::front
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:181,1
    - Dst: std::optional<Session_with_Handle>::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:185,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:197,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:197,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:198,1
    - Dst: std::make_unique<Client_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:198,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:198,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:199,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:200,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:201,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:202,1
    - Dst: secure_renegotiation_data_for_client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:203,1
    - Dst: std::optional<Session_with_Handle>::value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:204,1
    - Dst: record_resumption_info
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:207,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:207,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:212,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:214,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:215,1
    - Dst: std::make_unique<Client_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:215,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:215,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:216,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:217,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:218,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:219,1
    - Dst: secure_renegotiation_data_for_client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:220,1
    - Dst: secure_renegotiation_check
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:225,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:225,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - ' state_base'
    - force_full_renegotiation
    - version
    - session_and_handle
    - ' next_protocols'
    argTypes:
    - Handshake_State
    - bool
    - Protocol_Version
    - std::optional<Session_with_Handle>
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 226
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 226
    functionName: Botan::TLS::Client_Impl_12::send_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - auto::front
    - empty
    - session_manager
    - handshake_io
    - std::optional<Session_with_Handle>::value
    - hash
    - client_hello
    - secure_renegotiation_data_for_client_hello
    - ciphersuite
    - dynamic_cast<Client_Handshake_State_12&>
    - secure_renegotiation_check
    - callbacks
    - policy
    - version
    - std::make_unique<Client_Hello_12>
    - std::optional<Session_with_Handle>::has_value
    - set_expected_next
    - hostname
    - auto::empty
    - record_resumption_info
    - rng
    linkageType: ''
    returnType: void
    signature: "void Client_Impl_12::send_client_hello(Handshake_State& state_base,\n
      \                                      bool force_full_renegotiation,\n                                       Protocol_Version
      version,\n                                       std::optional<Session_with_Handle>
      session_and_handle,\n                                       const std::vector<std::string>&
      next_protocols)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:235,1
    - Dst: Key_Constraints::includes_any
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:236,1
    - Dst: Key_Constraints::includes_any
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - usage
    - ' suite'
    argTypes:
    - Key_Constraints
    - Ciphersuite
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: Botan::TLS::key_usage_matches_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Key_Constraints::includes_any
    - kex_method
    linkageType: ''
    returnType: bool
    signature: bool key_usage_matches_ciphersuite(Key_Constraints usage, const Ciphersuite&
      suite)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:252,1
    - Dst: dynamic_cast<Client_Handshake_State_12&>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:254,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:259,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:260,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:263,1
    - Dst: secure_renegotiation_supported
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:264,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:264,1
    - Dst: mark_as_renegotiation
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:265,1
    - Dst: Botan::TLS::Client_Impl_12::initiate_handshake
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:266,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:268,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:271,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:272,1
    - Dst: send_warning_alert
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:275,1
    - Dst: confirm_transition_to
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:282,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:286,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:286,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:290,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:291,1
    - Dst: hello_verify_request
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:294,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:296,1
    - Dst: std::make_unique<Server_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:296,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:298,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:299,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:302,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:302,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:303,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:306,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:306,1
    - Dst: auto::usable_in_version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:307,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:307,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:308,1
    - Dst: auto::aead_ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:317,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:317,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:318,1
    - Dst: Botan::TLS::Ciphersuite::is_scsv
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:322,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:322,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:323,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:326,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:327,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:330,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:330,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:340,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:341,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:341,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:342,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:346,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:347,1
    - Dst: std::set_difference
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:351,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:352,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:352,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:352,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:352,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:352,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:354,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:360,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:362,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:362,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:366,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:366,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:367,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:371,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:372,1
    - Dst: set_version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:374,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:374,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:375,1
    - Dst: secure_renegotiation_check
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:377,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:377,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:385,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:385,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:391,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:391,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:392,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:395,1
    - Dst: resumed_session_supports_extended_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:396,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:397,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:400,1
    - Dst: resumed_session_supports_extended_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:401,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:402,1
    - Dst: compute_session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:405,1
    - Dst: resume_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:405,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:406,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:411,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:412,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:412,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:415,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:416,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:418,1
    - Dst: Handshake_State*::version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:428,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:428,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:429,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:432,1
    - Dst: Handshake_State*::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:433,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:434,1
    - Dst: discard_resumption_state
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:438,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:440,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:441,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:442,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:445,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:445,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:446,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:449,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:449,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:450,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:453,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:453,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:454,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:455,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:458,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:458,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:459,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:460,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:469,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:470,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:471,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:472,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:474,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:475,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:479,1
    - Dst: std::make_unique<Certificate_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:479,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:479,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:481,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:483,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:484,1
    - Dst: Handshake_State*::server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:495,1
    - Dst: Handshake_State*::server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:496,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:499,1
    - Dst: X509_Certificate::subject_public_key
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:503,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:506,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:506,1
    - Dst: auto::algo_name
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:508,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:509,1
    - Dst: key_usage_matches_ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:512,1
    - Dst: X509_Certificate::constraints
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:512,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:512,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:513,1
    - Dst: record_server_public_key
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:516,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:516,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:518,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:519,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:521,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:522,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:525,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:526,1
    - Dst: trusted_certificate_authorities
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:529,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:529,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:531,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:532,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:532,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:536,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:536,1
    - Dst: server_cert_status
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:540,1
    - Dst: std::make_unique<Certificate_Status>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:540,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:542,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:543,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:545,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:546,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:549,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:550,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:552,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:554,1
    - Dst: std::make_unique<Server_Key_Exchange>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:554,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:555,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:555,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:555,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:557,1
    - Dst: server_public_key
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:558,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:560,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:560,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:561,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:565,1
    - Dst: cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:566,1
    - Dst: std::make_unique<Certificate_Request_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:566,1
    - Dst: server_hello_done
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:568,1
    - Dst: std::make_unique<Server_Hello_Done>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:568,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:570,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:571,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:574,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:574,1
    - Dst: trusted_certificate_authorities
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:576,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:576,1
    - Dst: server_cert_status
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:579,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:580,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:580,1
    - Dst: server_cert_status
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:580,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:583,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:583,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:587,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:588,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:592,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:592,1
    - Dst: received_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:596,1
    - Dst: cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:597,1
    - Dst: find_cert_chain
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:600,1
    - Dst: cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:600,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:600,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:602,1
    - Dst: std::make_unique<Certificate_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:602,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:602,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:602,1
    - Dst: client_kex
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:605,1
    - Dst: std::make_unique<Client_Key_Exchange>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:605,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:606,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:606,1
    - Dst: maybe_server_public_key
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:606,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:606,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:606,1
    - Dst: compute_session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:608,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:609,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:614,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:615,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:615,1
    - Dst: received_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:618,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:618,1
    - Dst: private_key_for
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:620,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:620,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:620,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:623,1
    - Dst: client_verify
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:626,1
    - Dst: std::make_unique<Certificate_Verify_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:627,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:627,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:627,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:627,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:627,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:630,1
    - Dst: Change_Cipher_Spec
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:630,1
    - Dst: change_cipher_spec_writer
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:632,1
    - Dst: client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:634,1
    - Dst: std::make_unique<Finished_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:634,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:634,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:636,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:637,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:639,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:642,1
    - Dst: std::make_unique<New_Session_Ticket_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:642,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:644,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:646,1
    - Dst: change_cipher_spec_reader
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:648,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:650,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:651,1
    - Dst: server_finished
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:654,1
    - Dst: std::make_unique<Finished_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:654,1
    - Dst: server_finished
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:656,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:657,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:660,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:660,1
    - Dst: client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:662,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:664,1
    - Dst: Change_Cipher_Spec
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:664,1
    - Dst: change_cipher_spec_writer
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:665,1
    - Dst: client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:666,1
    - Dst: std::make_unique<Finished_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:666,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:666,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:669,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:670,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:671,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:673,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:674,1
    - Dst: Botan::TLS::Client_Impl_12::get_peer_cert_chain
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:675,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:677,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:678,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:682,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:682,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:683,1
    - Dst: session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:689,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:689,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:691,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:691,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:700,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:701,1
    - Dst: external_psk_identity
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:701,1
    - Dst: Session_Summary::set_session_id
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:702,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:702,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:703,1
    - Dst: Session_Summary::set_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:704,1
    - Dst: auto::ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:704,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:709,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:719,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:719,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:719,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:723,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:723,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:724,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:724,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:727,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:729,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:729,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:731,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:731,1
    - Dst: activate_session
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:736,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:738,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 287
    argCount: 5
    argNames:
    - active_state
    - ' state_base'
    - type
    - ' contents'
    - epoch0_restart
    argTypes:
    - Handshake_State*
    - Handshake_State
    - Handshake_Type
    - std::vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 740
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 740
    functionName: Botan::TLS::Client_Impl_12::process_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - received_handshake_msg
    - X509_Certificate::subject_public_key
    - discard_resumption_state
    - session_manager
    - auto::has_value
    - auto::ticket
    - client_hello
    - Handshake_State*::server_hello
    - send_warning_alert
    - session_keys
    - server_certs
    - ciphersuite
    - std::set_difference
    - std::vector::empty
    - Session_Summary::set_session_ticket
    - set_expected_next
    - resume_master_secret
    - std::make_unique<Server_Hello_12>
    - cert_req
    - auto::value
    - std::back_inserter
    - empty
    - std::make_unique<Certificate_Verify_12>
    - std::make_unique<Certificate_12>
    - new_session_ticket
    - external_psk_identity
    - client_verify
    - Botan::TLS::Ciphersuite::is_scsv
    - session_ticket
    - set_version
    - auto::usable_in_version
    - mark_as_renegotiation
    - auto::begin
    - std::make_unique<Finished_12>
    - server_finished
    - is_a_resumption
    - callbacks
    - trusted_certificate_authorities
    - Handshake_State*::server_certs
    - server_cert_status
    - resumed_session_supports_extended_master_secret
    - std::move
    - std::ostringstream::str
    - handshake_io
    - activate_session
    - client_finished
    - Botan::TLS::Ciphersuite::by_id
    - compute_session_keys
    - hash
    - client_certs
    - std::vector::emplace_back
    - record_server_public_key
    - Change_Cipher_Spec
    - auto::is_ticket
    - server_kex
    - dynamic_cast<Client_Handshake_State_12&>
    - change_cipher_spec_reader
    - value_exists
    - policy
    - cryptofuzz::mutator::ExpModGenerator::max
    - Botan::TLS::Client_Impl_12::initiate_handshake
    - version
    - confirm_transition_to
    - server_public_key
    - rng
    - secure_renegotiation_supported
    - TLS_Exception
    - client_kex
    - what
    - auto::aead_ciphersuite
    - std::make_unique<New_Session_Ticket_12>
    - Unexpected_Message
    - find_cert_chain
    - auto::end
    - key_usage_matches_ciphersuite
    - BOTAN_ASSERT_NOMSG
    - Session_Summary::set_session_id
    - std::make_unique<Server_Hello_Done>
    - static_cast<int>
    - std::make_unique<Certificate_Request_12>
    - std::make_unique<Certificate_Status>
    - Botan::TLS::Client_Impl_12::get_peer_cert_chain
    - server_hello
    - secure_renegotiation_check
    - change_cipher_spec_writer
    - server_hello_done
    - X509_Certificate::constraints
    - private_key_for
    - Handshake_State*::version
    - maybe_server_public_key
    - hostname
    - auto::get
    - hello_verify_request
    - auto::algo_name
    - std::make_unique<Client_Key_Exchange>
    - std::make_unique<Server_Key_Exchange>
    linkageType: ''
    returnType: void
    signature: "void Client_Impl_12::process_handshake_msg(const Handshake_State*
      active_state,\n                                           Handshake_State& state_base,\n
      \                                          Handshake_Type type,\n                                           const
      std::vector<uint8_t>& contents,\n                                           bool
      epoch0_restart)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::TLS::Channel_Impl_12::Channel_Impl_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12(const Channel_Impl_12&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& operator=(const Channel_Impl_12&)'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Channel_Impl_12
    signature: Channel_Impl_12 & operator=(const Channel_Impl_12&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::is_closed
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: Botan::TLS::Channel_Impl_12::is_closed_for_reading
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::is_closed
    linkageType: ''
    returnType: bool
    signature: bool is_closed_for_reading() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::is_closed
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Botan::TLS::Channel_Impl_12::is_closed_for_writing
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::is_closed
    linkageType: ''
    returnType: bool
    signature: bool is_closed_for_writing() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::TLS::Channel_Impl_12::peer_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> peer_raw_public_key() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: '& rng()'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RandomNumberGenerator
    signature: RandomNumberGenerator & rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: '& session_manager()'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Session_Manager
    signature: Session_Manager & session_manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: '& policy() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Policy
    signature: Policy & policy() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: '& callbacks() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Callbacks
    signature: Callbacks & callbacks() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: Botan::TLS::Channel_Impl_12::active_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Handshake_State
    signature: Handshake_State * active_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: Botan::TLS::Channel_Impl_12::pending_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Handshake_State
    signature: Handshake_State * pending_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::TLS::Server_Impl_12::application_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string application_protocol() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_uint32
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::TLS::load_be24
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - make_uint32
    linkageType: ''
    returnType: size_t
    signature: size_t load_be24(const uint8_t q[3])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:26,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:26,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:27,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:27,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:28,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - val
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: Botan::TLS::store_be24
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - get_byte<2>
    - get_byte<3>
    - get_byte<1>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void store_be24(uint8_t out[3], size_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:32,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Botan::TLS::steady_clock_ms
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t steady_clock_ms()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::TLS::Stream_Handshake_IO::initial_record_version
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Stream_Handshake_IO::initial_record_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:47,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:47,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:50,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:55,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:55,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:57,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:57,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - record
    - record_len
    - record_type
    argTypes:
    - uint8_t[]
    - size_t
    - Record_Type
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: Botan::TLS::Stream_Handshake_IO::add_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - end
    - static_cast<size_t>
    - insert
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: "void Stream_Handshake_IO::add_record(const uint8_t record[],\n                                     size_t
      record_len,\n                                     Record_Type record_type,\n
      \                                    uint64_t /*sequence_number*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:63,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:66,1
    - Dst: static_cast<Handshake_Type>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:67,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:70,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:73,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:73,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:75,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:75,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:75,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:77,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:81,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: Botan::TLS::Stream_Handshake_IO::get_next_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - begin
    - static_cast<Handshake_Type>
    - std::make_pair
    - size
    - Decoding_Error
    - erase
    linkageType: ''
    returnType: std::pair<Handshake_Type, std::vector<uint8_t>>
    signature: std::pair<Handshake_Type, std::vector<uint8_t>> Stream_Handshake_IO::get_next_record(bool
      /*expecting_ccs*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:85,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:89,1
    - Dst: store_be24
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:91,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:93,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:94,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:94,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' msg'
    - type
    argTypes:
    - std::vector<uint8_t>
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: Botan::TLS::Stream_Handshake_IO::format
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - store_be24
    - data
    - copy_mem
    - empty
    - static_cast<uint8_t>
    - size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Stream_Handshake_IO::format(const std::vector<uint8_t>&
      msg, Handshake_Type type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::TLS::Stream_Handshake_IO::send_under_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Stream_Handshake_IO::send_under_epoch(const Handshake_Message&
      /*msg*/, uint16_t /*epoch*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:105,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:107,1
    - Dst: m_send_hs
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:108,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:109,1
    - Dst: Botan::TLS::Stream_Handshake_IO::format
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:112,1
    - Dst: wire_type
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:112,1
    - Dst: m_send_hs
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Handshake_Message
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: Botan::TLS::Stream_Handshake_IO::send
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - m_send_hs
    - std::vector<uint8_t>
    - Botan::TLS::Stream_Handshake_IO::format
    - type
    - wire_type
    - serialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Stream_Handshake_IO::send(const Handshake_Message&
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan::TLS::Datagram_Handshake_IO::initial_record_version
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Datagram_Handshake_IO::initial_record_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Datagram_Handshake_IO::retransmit_flight
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: Botan::TLS::Datagram_Handshake_IO::retransmit_last_flight
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Datagram_Handshake_IO::retransmit_flight
    linkageType: ''
    returnType: void
    signature: void Datagram_Handshake_IO::retransmit_last_flight()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:127,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:129,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:129,1
    - Dst: m_send_hs
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:139,1
    - Dst: Botan::TLS::Datagram_Handshake_IO::send_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - flight_idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: Botan::TLS::Datagram_Handshake_IO::retransmit_flight
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Datagram_Handshake_IO::send_message
    - m_send_hs
    - at
    - empty
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void Datagram_Handshake_IO::retransmit_flight(size_t flight_idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan::TLS::Datagram_Handshake_IO::have_more_data
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Datagram_Handshake_IO::have_more_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:152,1
    - Dst: rbegin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:152,1
    - Dst: Botan::TLS::Datagram_Handshake_IO::retransmit_last_flight
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:166,1
    - Dst: std::min
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: Botan::TLS::Datagram_Handshake_IO::timeout_check
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - rbegin
    - Botan::TLS::Datagram_Handshake_IO::retransmit_last_flight
    - std::min
    - size
    linkageType: ''
    returnType: bool
    signature: bool Datagram_Handshake_IO::timeout_check()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:180,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:184,1
    - Dst: static_cast<Handshake_Type>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:195,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:204,1
    - Dst: add_fragment
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - record
    - record_len
    - record_type
    - record_sequence
    argTypes:
    - uint8_t[]
    - size_t
    - Record_Type
    - uint64_t
    constantsTouched: []
    func_position:
      end: 217
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 217
    functionName: Botan::TLS::Datagram_Handshake_IO::add_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - insert
    - Decoding_Error
    - static_cast<Handshake_Type>
    - add_fragment
    linkageType: ''
    returnType: void
    signature: "void Datagram_Handshake_IO::add_record(const uint8_t record[],\n                                       size_t
      record_len,\n                                       Record_Type record_type,\n
      \                                      uint64_t record_sequence)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:221,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:222,1
    - Dst: std::vector<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:222,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:226,1
    - Dst: contains
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:229,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:230,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:230,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:233,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:233,1
    - Dst: find
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:236,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:238,1
    - Dst: auto::second::complete
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:238,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:239,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:239,1
    - Dst: auto::second::message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - expecting_ccs
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 245
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 245
    functionName: Botan::TLS::Datagram_Handshake_IO::get_next_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - contains
    - std::vector<uint16_t>
    - std::vector<uint8_t>
    - end
    - empty
    - rbegin
    - auto::second::complete
    - auto::second::message
    - std::make_pair
    - find
    - push_back
    linkageType: ''
    returnType: std::pair<Handshake_Type, std::vector<uint8_t>>
    signature: std::pair<Handshake_Type, std::vector<uint8_t>> Datagram_Handshake_IO::get_next_record(bool
      expecting_ccs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: complete
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:253,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:264,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:268,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:272,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:276,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:277,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:291,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:292,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:296,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 6
    argNames:
    - fragment
    - fragment_length
    - fragment_offset
    - epoch
    - msg_type
    - msg_length
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    - uint16_t
    - Handshake_Type
    - size_t
    constantsTouched: []
    func_position:
      end: 299
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 299
    functionName: "Datagram_Handshake_IO::Handshake_Reassembly::add_fragment(const
      uint8_t fragment[],\n                                                               size_t
      fragment_length,\n                                                               size_t
      fragment_offset,\n                                                               uint16_t
      epoch,\n                                                               Handshake_Type
      msg_type,\n                                                               size_t
      msg_length)"
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - clear
    - complete
    - size
    - Decoding_Error
    - resize
    - assign
    linkageType: ''
    returnType: void
    signature: "void Datagram_Handshake_IO::Handshake_Reassembly::add_fragment(const
      uint8_t fragment[],\n                                                               size_t
      fragment_length,\n                                                               size_t
      fragment_offset,\n                                                               uint16_t
      epoch,\n                                                               Handshake_Type
      msg_type,\n                                                               size_t
      msg_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: Datagram_Handshake_IO::Handshake_Reassembly::complete() const
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Datagram_Handshake_IO::Handshake_Reassembly::complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: complete
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:306,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:307,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: Datagram_Handshake_IO::Handshake_Reassembly::message() const
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    - complete
    - std::make_pair
    linkageType: ''
    returnType: std::pair<Handshake_Type, std::vector<uint8_t>>
    signature: std::pair<Handshake_Type, std::vector<uint8_t>> Datagram_Handshake_IO::Handshake_Reassembly::message()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:321,1
    - Dst: store_be24
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:323,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:325,1
    - Dst: store_be24
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:327,1
    - Dst: store_be24
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:328,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - fragment
    - frag_len
    - frag_offset
    - msg_len
    - type
    - msg_sequence
    argTypes:
    - uint8_t[]
    - size_t
    - uint16_t
    - uint16_t
    - Handshake_Type
    - uint16_t
    constantsTouched: []
    func_position:
      end: 335
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 335
    functionName: Botan::TLS::Datagram_Handshake_IO::format_fragment
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - copy_mem
    - store_be24
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Datagram_Handshake_IO::format_fragment(const
      uint8_t fragment[],\n                                                            size_t
      frag_len,\n                                                            uint16_t
      frag_offset,\n                                                            uint16_t
      msg_len,\n                                                            Handshake_Type
      type,\n                                                            uint16_t
      msg_sequence) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Datagram_Handshake_IO::format_fragment
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:340,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:340,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:340,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:340,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - type
    - msg_sequence
    argTypes:
    - std::vector<uint8_t>
    - Handshake_Type
    - uint16_t
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: Botan::TLS::Datagram_Handshake_IO::format_w_seq
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::TLS::Datagram_Handshake_IO::format_fragment
    - size
    - static_cast<uint16_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Datagram_Handshake_IO::format_w_seq(const std::vector<uint8_t>&
      msg,\n                                                         Handshake_Type
      type,\n                                                         uint16_t msg_sequence)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Datagram_Handshake_IO::format_w_seq
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' msg'
    - type
    argTypes:
    - std::vector<uint8_t>
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: Botan::TLS::Datagram_Handshake_IO::format
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Datagram_Handshake_IO::format_w_seq
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Datagram_Handshake_IO::format(const std::vector<uint8_t>&
      msg, Handshake_Type type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Datagram_Handshake_IO::send_under_epoch
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:348,1
    - Dst: current_write_epoch
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Handshake_Message
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: Botan::TLS::Datagram_Handshake_IO::send
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - current_write_epoch
    - Botan::TLS::Datagram_Handshake_IO::send_under_epoch
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Datagram_Handshake_IO::send(const Handshake_Message&
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:352,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:353,1
    - Dst: m_send_hs
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:356,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:357,1
    - Dst: Botan::TLS::Datagram_Handshake_IO::send_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:360,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:362,1
    - Dst: rbegin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:366,1
    - Dst: Botan::TLS::Datagram_Handshake_IO::Message_Info
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:367,1
    - Dst: steady_clock_ms
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:370,1
    - Dst: Botan::TLS::Datagram_Handshake_IO::send_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ' msg'
    - epoch
    argTypes:
    - Handshake_Message
    - uint16_t
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: Botan::TLS::Datagram_Handshake_IO::send_under_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Datagram_Handshake_IO::send_message
    - m_send_hs
    - std::vector<uint8_t>
    - rbegin
    - type
    - steady_clock_ms
    - Botan::TLS::Datagram_Handshake_IO::Message_Info
    - serialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Datagram_Handshake_IO::send_under_epoch(const
      Handshake_Message& msg, uint16_t epoch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Datagram_Handshake_IO::format_w_seq
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:382,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:384,1
    - Dst: m_send_hs
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:385,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:400,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:405,1
    - Dst: Botan::TLS::Datagram_Handshake_IO::format_fragment
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:408,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:410,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:411,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:411,1
    - Dst: m_send_hs
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - msg_seq
    - epoch
    - msg_type
    - ' msg_bits'
    argTypes:
    - uint16_t
    - uint16_t
    - Handshake_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 422
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 422
    functionName: Botan::TLS::Datagram_Handshake_IO::send_message
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 2
    functionsReached:
    - m_send_hs
    - Botan::TLS::Datagram_Handshake_IO::format_fragment
    - Invalid_Argument
    - Botan::TLS::Datagram_Handshake_IO::format_w_seq
    - size
    - static_cast<uint16_t>
    - auto::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Datagram_Handshake_IO::send_message(uint16_t
      msg_seq,\n                                                         uint16_t
      epoch,\n                                                         Handshake_Type
      msg_type,\n                                                         const std::vector<uint8_t>&
      msg_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::TLS::Handshake_State::Handshake_State
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_State(const Handshake_State&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '& operator=(const Handshake_State&)'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_State
    signature: Handshake_State & operator=(const Handshake_State&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& handshake_io()'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_IO
    signature: Handshake_IO & handshake_io()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan::TLS::Handshake_State::version
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan::TLS::Handshake_State::client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: Client_Hello_12
    signature: Client_Hello_12 * client_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::TLS::Handshake_State::server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Server_Hello_12
    signature: Server_Hello_12 * server_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan::TLS::Handshake_State::server_certs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Certificate_12
    signature: Certificate_12 * server_certs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::TLS::Handshake_State::server_kex
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Server_Key_Exchange
    signature: Server_Key_Exchange * server_kex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::TLS::Handshake_State::cert_req
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: Certificate_Request_12
    signature: Certificate_Request_12 * cert_req() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Botan::TLS::Handshake_State::server_hello_done
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Server_Hello_Done
    signature: Server_Hello_Done * server_hello_done() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan::TLS::Handshake_State::client_certs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Certificate_12
    signature: Certificate_12 * client_certs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan::TLS::Handshake_State::client_kex
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: Client_Key_Exchange
    signature: Client_Key_Exchange * client_kex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan::TLS::Handshake_State::client_verify
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Certificate_Verify_12
    signature: Certificate_Verify_12 * client_verify() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: Botan::TLS::Handshake_State::server_verify
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Certificate_Verify_12
    signature: Certificate_Verify_12 * server_verify() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: Botan::TLS::Handshake_State::server_cert_status
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Certificate_Status
    signature: Certificate_Status * server_cert_status() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Botan::TLS::Handshake_State::new_session_ticket
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: New_Session_Ticket_12
    signature: New_Session_Ticket_12 * new_session_ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: Botan::TLS::Handshake_State::server_finished
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Finished_12
    signature: Finished_12 * server_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Botan::TLS::Handshake_State::client_finished
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Finished_12
    signature: Finished_12 * client_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: '& session_keys() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Session_Keys
    signature: Session_Keys & session_keys() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: '& callbacks() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Callbacks
    signature: Callbacks & callbacks() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& hash()'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_Hash
    signature: Handshake_Hash & hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: '& hash() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_Hash
    signature: Handshake_Hash & hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - io
    - ' cb'
    argTypes:
    - std::unique_ptr<Handshake_IO>
    - Callbacks
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::TLS::Server_Handshake_State::Server_Handshake_State
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_Handshake_State(std::unique_ptr<Handshake_IO> io, Callbacks&
      cb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::TLS::Server_Handshake_State::server_rsa_kex_key
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Private_Key
    signature: Private_Key * server_rsa_kex_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::shared_ptr<Private_Key>
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::TLS::Server_Handshake_State::set_server_rsa_kex_key
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_server_rsa_kex_key(std::shared_ptr<Private_Key> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::TLS::Server_Handshake_State::allow_session_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_session_resumption() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - allow_session_resumption
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::TLS::Server_Handshake_State::set_allow_session_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_allow_session_resumption(bool allow_session_resumption)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& resume_peer_certs() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> & resume_peer_certs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' certs'
    argTypes:
    - std::vector<X509_Certificate>
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::TLS::Server_Handshake_State::set_resume_certs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_resume_certs(const std::vector<X509_Certificate>& certs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::TLS::Server_Handshake_State::mark_as_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mark_as_resumption()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::TLS::Server_Handshake_State::is_a_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_a_resumption() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: retrieve
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:65,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:66,1
    - Dst: Client_Hello_12*::legacy_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:71,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:71,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:76,1
    - Dst: Client_Hello_12*::ciphersuites
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:76,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:76,1
    - Dst: Client_Hello_12*::sni_hostname
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:81,1
    - Dst: Client_Hello_12*::sni_hostname
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:81,1
    - Dst: auto::server_info
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:81,1
    - Dst: Client_Hello_12*::supports_extended_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:86,1
    - Dst: auto::supports_extended_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:86,1
    - Dst: auto::supports_extended_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:87,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:94,1
    - Dst: Client_Hello_12*::supports_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:99,1
    - Dst: auto::supports_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:99,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - ' handle_to_resume'
    - ' session_manager'
    - ' cb'
    - ' policy'
    - client_hello
    argTypes:
    - Session_Handle
    - Session_Manager
    - Callbacks
    - Policy
    - Client_Hello_12*
    constantsTouched: []
    func_position:
      end: 108
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 108
    functionName: Botan::TLS::check_for_resume
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - Client_Hello_12*::sni_hostname
    - Client_Hello_12*::ciphersuites
    - auto::server_info
    - retrieve
    - auto::supports_extended_master_secret
    - Client_Hello_12*::supports_encrypt_then_mac
    - Client_Hello_12*::legacy_version
    - auto::version
    - value_exists
    - auto::has_value
    - auto::ciphersuite_code
    - Client_Hello_12*::supports_extended_master_secret
    - auto::supports_encrypt_then_mac
    linkageType: ''
    returnType: std::optional<Session>
    signature: "std::optional<Session> check_for_resume(const Session_Handle& handle_to_resume,\n
      \                                       Session_Manager& session_manager,\n
      \                                       Callbacks& cb,\n                                        const
      Policy& policy,\n                                        const Client_Hello_12*
      client_hello)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:118,1
    - Dst: ciphersuite_list
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:119,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:121,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:122,1
    - Dst: std::swap
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:140,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:144,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:148,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:150,1
    - Dst: auto::valid
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:150,1
    - Dst: auto::ecc_ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:154,1
    - Dst: auto::kex_method
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:158,1
    - Dst: auto::signature_used
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:163,1
    - Dst: auto::sig_algo
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:164,1
    - Dst: contains
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:167,1
    - Dst: allowed_signature_schemes
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:171,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:173,1
    - Dst: is_available
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:183,1
    - Dst: algorithm_name
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:187,1
    - Dst: auto::sig_algo
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:187,1
    - Dst: allowed_signature_hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:188,1
    - Dst: hash_function_name
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:188,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:194,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:209,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:212,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 40
    argCount: 4
    argNames:
    - ' policy'
    - version
    - ' cert_chains'
    - ' client_hello'
    argTypes:
    - Policy
    - Protocol_Version
    - std::map<std::string, std::vector<X509_Certificate>>
    - Client_Hello_12
    constantsTouched: []
    func_position:
      end: 213
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 213
    functionName: Botan::TLS::choose_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - ciphersuite_list
    - allowed_signature_hash
    - auto::has_value
    - Botan::TLS::Ciphersuite::by_id
    - auto::sig_algo
    - auto::kex_method
    - hash_function_name
    - allowed_signature_schemes
    - contains
    - std::swap
    - algorithm_name
    - value_exists
    - auto::ecc_ciphersuite
    - std::vector::empty
    - auto::valid
    - signature_schemes
    - ciphersuites
    - is_available
    - auto::signature_used
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t choose_ciphersuite(const Policy& policy,\n                            Protocol_Version
      version,\n                            const std::map<std::string, std::vector<X509_Certificate>>&
      cert_chains,\n                            const Client_Hello_12& client_hello)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cert_chain_single_type
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:222,1
    - Dst: Botan::TLS::to_algorithm_identifiers
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:223,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:223,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - hostname
    - ' cert_sig_schemes'
    - ' creds'
    argTypes:
    - std::string_view
    - std::vector<Signature_Scheme>
    - Credentials_Manager
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: Botan::TLS::get_server_certs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - cert_chain_single_type
    - Botan::TLS::to_algorithm_identifiers
    - std::string
    - std::vector::empty
    linkageType: ''
    returnType: std::map<std::string, std::vector<X509_Certificate>>
    signature: "std::map<std::string, std::vector<X509_Certificate>> get_server_certs(\n
      \  std::string_view hostname, const std::vector<Signature_Scheme>& cert_sig_schemes,
      Credentials_Manager& creds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' creds'
    - ' policy'
    - ' rng'
    - is_datagram
    - io_buf_sz
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<const Policy>
    - std::shared_ptr<RandomNumberGenerator>
    - bool
    - size_t
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: Botan::TLS::Server_Impl_12::Server_Impl_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::Server_Impl_12(const std::shared_ptr<Callbacks>&
      callbacks,\n                               const std::shared_ptr<Session_Manager>&
      session_manager,\n                               const std::shared_ptr<Credentials_Manager>&
      creds,\n                               const std::shared_ptr<const Policy>&
      policy,\n                               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                               bool is_datagram,\n                               size_t
      io_buf_sz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' downgrade_info'
    argTypes:
    - Channel_Impl::Downgrade_Information
    constantsTouched: []
    func_position:
      end: 254
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 254
    functionName: Botan::TLS::Server_Impl_12::Server_Impl_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Server_Impl_12::Server_Impl_12(const Channel_Impl::Downgrade_Information&
      downgrade_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Handshake_State>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:257,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:257,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:257,1
    - Dst: auto::set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - io
    argTypes:
    - std::unique_ptr<Handshake_IO>
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: Botan::TLS::Server_Impl_12::new_handshake_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Server_Handshake_State>
    - std::move
    - auto::set_expected_next
    - callbacks
    linkageType: ''
    returnType: std::unique_ptr<Handshake_State>
    signature: std::unique_ptr<Handshake_State> Server_Impl_12::new_handshake_state(std::unique_ptr<Handshake_IO>
      io)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Server_Handshake_State&>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:263,1
    - Dst: resume_peer_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:264,1
    - Dst: resume_peer_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:265,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:268,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:269,1
    - Dst: std::vector<X509_Certificate>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state_base'
    argTypes:
    - Handshake_State
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: Botan::TLS::Server_Impl_12::get_peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - client_certs
    - dynamic_cast<const Server_Handshake_State&>
    - resume_peer_certs
    - std::vector<X509_Certificate>
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Server_Impl_12::get_peer_cert_chain(const
      Handshake_State& state_base) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<Server_Handshake_State&>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:278,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' state'
    - force_full_renegotiation
    argTypes:
    - Handshake_State
    - bool
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: Botan::TLS::Server_Impl_12::initiate_handshake
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<Server_Handshake_State&>
    - handshake_io
    linkageType: ''
    returnType: void
    signature: void Server_Impl_12::initiate_handshake(Handshake_State& state, bool
      force_full_renegotiation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:292,1
    - Dst: allow_dtls12
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:294,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:294,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:294,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:297,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:299,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:299,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:299,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:302,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:315,1
    - Dst: Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:317,1
    - Dst: Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:317,1
    - Dst: allow_dtls12
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:324,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:328,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:333,1
    - Dst: Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:334,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 4
    argNames:
    - ' policy'
    - client_offer
    - active_version
    - ' supported_versions'
    argTypes:
    - TLS::Policy
    - Protocol_Version
    - Protocol_Version
    - std::vector<Protocol_Version>
    constantsTouched: []
    func_position:
      end: 335
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 335
    functionName: Botan::TLS::select_version
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - allow_tls12
    - Protocol_Version
    - value_exists
    - Botan::TLS::empty
    - Protocol_Version::to_string
    - allow_dtls12
    linkageType: ''
    returnType: Protocol_Version
    signature: "Protocol_Version select_version(const TLS::Policy& policy,\n                                Protocol_Version
      client_offer,\n                                Protocol_Version active_version,\n
      \                               const std::vector<Protocol_Version>& supported_versions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_IMPLICATION
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:345,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:349,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:350,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:351,1
    - Dst: send_warning_alert
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:353,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:358,1
    - Dst: secure_renegotiation_supported
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:358,1
    - Dst: send_warning_alert
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:359,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:363,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:364,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:367,1
    - Dst: std::make_unique<Client_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:367,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:368,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:372,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:373,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:376,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:377,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:379,1
    - Dst: Protocol_Version::minor_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:379,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:380,1
    - Dst: select_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:395,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:395,1
    - Dst: Handshake_State*::version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:397,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:397,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:398,1
    - Dst: set_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:400,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:402,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:403,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:404,1
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:411,1
    - Dst: SymmetricKey::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:414,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:415,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:416,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:418,1
    - Dst: Hello_Verify_Request::cookie
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:418,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:420,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:422,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:425,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:426,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:430,1
    - Dst: reset_active_association_state
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:436,1
    - Dst: secure_renegotiation_check
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:439,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:439,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:441,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:442,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:444,1
    - Dst: allow_session_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:447,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:447,1
    - Dst: check_for_resume
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:448,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:449,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:449,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:449,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:449,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:449,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:453,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:454,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:454,1
    - Dst: std::optional::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:457,1
    - Dst: Botan::TLS::Server_Impl_12::session_resume
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:458,1
    - Dst: std::optional::value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:458,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:458,1
    - Dst: Botan::TLS::Server_Impl_12::session_create
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:461,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 72
    argCount: 4
    argNames:
    - active_state
    - ' pending_state'
    - ' contents'
    - epoch0_restart
    argTypes:
    - Handshake_State*
    - Server_Handshake_State
    - std::vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 463
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 463
    functionName: Botan::TLS::Server_Impl_12::process_client_hello_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - select_version
    - auto::value
    - std::optional::has_value
    - Protocol_Version::major_version
    - session_manager
    - handshake_io
    - auto::has_value
    - psk
    - reset_active_association_state
    - BOTAN_ASSERT_IMPLICATION
    - client_hello
    - send_warning_alert
    - set_version
    - Protocol_Version::minor_version
    - check_for_resume
    - Botan::TLS::Server_Impl_12::session_create
    - Botan::TLS::Server_Impl_12::session_resume
    - secure_renegotiation_check
    - SymmetricKey::empty
    - Protocol_Version
    - Hello_Verify_Request::cookie
    - value_exists
    - policy
    - callbacks
    - Handshake_State*::version
    - std::optional::value
    - allow_session_resumption
    - std::make_unique<Client_Hello_12>
    - set_expected_next
    - secure_renegotiation_supported
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::process_client_hello_msg(const Handshake_State*
      active_state,\n                                              Server_Handshake_State&
      pending_state,\n                                              const std::vector<uint8_t>&
      contents,\n                                              bool epoch0_restart)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:467,1
    - Dst: std::make_unique<Certificate_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:467,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:467,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:470,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:470,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:471,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' pending_state'
    - ' contents'
    argTypes:
    - Server_Handshake_State
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 475
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 475
    functionName: Botan::TLS::Server_Impl_12::process_certificate_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - set_expected_next
    - std::make_unique<Certificate_12>
    - policy
    - client_certs
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::process_certificate_msg(Server_Handshake_State&
      pending_state,\n                                             const std::vector<uint8_t>&
      contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: received_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:479,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:479,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:480,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:482,1
    - Dst: client_kex
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:485,1
    - Dst: std::make_unique<Client_Key_Exchange>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:485,1
    - Dst: server_rsa_kex_key
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:486,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:486,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:486,1
    - Dst: compute_session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:488,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:489,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:494,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:495,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' pending_state'
    - ' contents'
    argTypes:
    - Server_Handshake_State
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 497
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 497
    functionName: Botan::TLS::Server_Impl_12::process_client_key_exchange_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - compute_session_keys
    - client_kex
    - received_handshake_msg
    - set_expected_next
    - client_hello
    - callbacks
    - policy
    - rng
    - client_certs
    - server_rsa_kex_key
    - std::make_unique<Client_Key_Exchange>
    - session_keys
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::process_client_key_exchange_msg(Server_Handshake_State&
      pending_state,\n                                                     const std::vector<uint8_t>&
      contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:500,1
    - Dst: change_cipher_spec_reader
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pending_state'
    argTypes:
    - Server_Handshake_State
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: Botan::TLS::Server_Impl_12::process_change_cipher_spec_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - change_cipher_spec_reader
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: void Server_Impl_12::process_change_cipher_spec_msg(Server_Handshake_State&
      pending_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_verify
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:507,1
    - Dst: std::make_unique<Certificate_Verify_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:507,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:509,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:511,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:512,1
    - Dst: allowed_usage
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:515,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:516,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:521,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:521,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:529,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:533,1
    - Dst: trusted_certificate_authorities
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:534,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:536,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:541,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:543,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:543,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - ' pending_state'
    - type
    - ' contents'
    argTypes:
    - Server_Handshake_State
    - Handshake_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 547
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 547
    functionName: Botan::TLS::Server_Impl_12::process_certificate_verify_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - what
    - hash
    - set_expected_next
    - empty
    - std::make_unique<Certificate_Verify_12>
    - client_hello
    - client_verify
    - callbacks
    - handshake_io
    - policy
    - client_certs
    - allowed_usage
    - trusted_certificate_authorities
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::process_certificate_verify_msg(Server_Handshake_State&
      pending_state,\n                                                    Handshake_Type
      type,\n                                                    const std::vector<uint8_t>&
      contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:552,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:554,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:555,1
    - Dst: client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:558,1
    - Dst: std::make_unique<Finished_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:558,1
    - Dst: client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:560,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:561,1
    - Dst: server_finished
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:564,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:567,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:567,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:569,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:570,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:571,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:573,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:574,1
    - Dst: Botan::TLS::Server_Impl_12::get_peer_cert_chain
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:575,1
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:576,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:576,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:577,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:578,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:582,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:583,1
    - Dst: external_psk_identity
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:583,1
    - Dst: Session_Summary::set_session_id
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:584,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:584,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:588,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:589,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:590,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:591,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:593,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:593,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:593,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:594,1
    - Dst: std::make_unique<New_Session_Ticket_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:595,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:595,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:596,1
    - Dst: auto::ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:597,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:598,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:602,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:602,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:603,1
    - Dst: std::make_unique<New_Session_Ticket_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:604,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:604,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:604,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:607,1
    - Dst: Change_Cipher_Spec
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:607,1
    - Dst: change_cipher_spec_writer
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:609,1
    - Dst: server_finished
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:611,1
    - Dst: std::make_unique<Finished_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:612,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:612,1
    - Dst: activate_session
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:615,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - ' pending_state'
    - type
    - ' contents'
    argTypes:
    - Server_Handshake_State
    - Handshake_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 616
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 616
    functionName: Botan::TLS::Server_Impl_12::process_finished_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - std::make_unique<New_Session_Ticket_12>
    - Botan::TLS::Server_Impl_12::get_peer_cert_chain
    - session_manager
    - handshake_io
    - new_session_ticket
    - activate_session
    - auto::has_value
    - client_finished
    - hash
    - external_psk_identity
    - Session_Summary::set_session_id
    - auto::ticket
    - client_hello
    - session_keys
    - server_hello
    - std::make_unique<Finished_12>
    - Change_Cipher_Spec
    - auto::is_ticket
    - change_cipher_spec_writer
    - Server_Information
    - is_a_resumption
    - callbacks
    - policy
    - set_expected_next
    - server_finished
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::process_finished_msg(Server_Handshake_State&
      pending_state,\n                                          Handshake_Type type,\n
      \                                         const std::vector<uint8_t>& contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<Server_Handshake_State&>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:626,1
    - Dst: confirm_transition_to
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:627,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:638,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:638,1
    - Dst: Botan::TLS::Server_Impl_12::process_client_hello_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:643,1
    - Dst: Botan::TLS::Server_Impl_12::process_certificate_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:646,1
    - Dst: Botan::TLS::Server_Impl_12::process_client_key_exchange_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:649,1
    - Dst: Botan::TLS::Server_Impl_12::process_certificate_verify_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:652,1
    - Dst: Botan::TLS::Server_Impl_12::process_change_cipher_spec_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:655,1
    - Dst: Botan::TLS::Server_Impl_12::process_finished_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:658,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:661,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - active_state
    - ' state_base'
    - type
    - ' contents'
    - epoch0_restart
    argTypes:
    - Handshake_State*
    - Handshake_State
    - Handshake_Type
    - std::vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 663
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 663
    functionName: Botan::TLS::Server_Impl_12::process_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Unexpected_Message
    - hash
    - confirm_transition_to
    - Botan::TLS::Server_Impl_12::process_client_hello_msg
    - Botan::TLS::Server_Impl_12::process_change_cipher_spec_msg
    - Botan::TLS::Server_Impl_12::process_certificate_msg
    - Botan::TLS::Server_Impl_12::process_finished_msg
    - dynamic_cast<Server_Handshake_State&>
    - handshake_io
    - Botan::TLS::Server_Impl_12::process_client_key_exchange_msg
    - Botan::TLS::Server_Impl_12::process_certificate_verify_msg
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::process_handshake_msg(const Handshake_State*
      active_state,\n                                           Handshake_State& state_base,\n
      \                                          Handshake_Type type,\n                                           const
      std::vector<uint8_t>& contents,\n                                           bool
      epoch0_restart)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:673,1
    - Dst: std::make_unique<Server_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:673,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:673,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:674,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:675,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:676,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:677,1
    - Dst: secure_renegotiation_data_for_server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:678,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:679,1
    - Dst: secure_renegotiation_check
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:684,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:684,1
    - Dst: mark_as_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:686,1
    - Dst: compute_session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:687,1
    - Dst: session::master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:687,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:688,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:693,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:694,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:694,1
    - Dst: set_resume_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:696,1
    - Dst: session::peer_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:696,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:700,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:701,1
    - Dst: external_psk_identity
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:701,1
    - Dst: Session_Summary::set_session_id
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:702,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:702,1
    - Dst: handle::ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:703,1
    - Dst: Session_Summary::set_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:704,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:704,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:704,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:710,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:711,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:714,1
    - Dst: handle::id
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:714,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:718,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:719,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:719,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:720,1
    - Dst: std::make_unique<New_Session_Ticket_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:720,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:720,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:721,1
    - Dst: auto::ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:722,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:723,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:725,1
    - Dst: std::make_unique<New_Session_Ticket_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:726,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:726,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:726,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:730,1
    - Dst: Change_Cipher_Spec
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:730,1
    - Dst: change_cipher_spec_writer
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:732,1
    - Dst: server_finished
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:734,1
    - Dst: std::make_unique<Finished_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:735,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:735,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:736,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - ' pending_state'
    - ' session'
    argTypes:
    - Server_Handshake_State
    - Session_with_Handle
    constantsTouched: []
    func_position:
      end: 737
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 737
    functionName: Botan::TLS::Server_Impl_12::session_resume
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::make_unique<New_Session_Ticket_12>
    - auto::value
    - handle::id
    - session_manager
    - handshake_io
    - new_session_ticket
    - auto::has_value
    - compute_session_keys
    - set_resume_certs
    - hash
    - session::master_secret
    - external_psk_identity
    - Session_Summary::set_session_id
    - auto::ticket
    - client_hello
    - handle::ticket
    - session_keys
    - server_hello
    - std::make_unique<Finished_12>
    - Change_Cipher_Spec
    - auto::is_ticket
    - secure_renegotiation_check
    - change_cipher_spec_writer
    - secure_renegotiation_data_for_server_hello
    - is_a_resumption
    - callbacks
    - policy
    - mark_as_resumption
    - Session_Summary::set_session_ticket
    - session::peer_certs
    - set_expected_next
    - rng
    - std::make_unique<Server_Hello_12>
    - server_finished
    linkageType: ''
    returnType: void
    signature: void Server_Impl_12::session_resume(Server_Handshake_State& pending_state,
      const Session_with_Handle& session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:742,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:750,1
    - Dst: get_server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:751,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:753,1
    - Dst: std::map::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:753,1
    - Dst: get_server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:754,1
    - Dst: std::map::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:763,1
    - Dst: send_warning_alert
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:764,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:771,1
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:771,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:771,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:771,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:771,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:772,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:774,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:776,1
    - Dst: std::make_unique<Server_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:776,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:776,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:777,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:778,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:779,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:780,1
    - Dst: secure_renegotiation_data_for_server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:781,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:782,1
    - Dst: secure_renegotiation_check
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:786,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:786,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:788,1
    - Dst: signature_used
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:792,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:792,1
    - Dst: signature_used
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:793,1
    - Dst: sig_algo
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:793,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:795,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:795,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:797,1
    - Dst: std::make_unique<Certificate_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:798,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:798,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:798,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:800,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:800,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:801,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:803,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:804,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:805,1
    - Dst: server_cert_status
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:806,1
    - Dst: std::make_unique<Certificate_Status>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:807,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:807,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:807,1
    - Dst: private_key_for
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:811,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:811,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:814,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:818,1
    - Dst: set_server_rsa_kex_key
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:819,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:821,1
    - Dst: std::make_unique<Server_Key_Exchange>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:821,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:822,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:822,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:822,1
    - Dst: std::shared_ptr::get
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:822,1
    - Dst: trusted_certificate_authorities
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:825,1
    - Dst: all_subjects
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:830,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:831,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:831,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:831,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:831,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:836,1
    - Dst: cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:837,1
    - Dst: std::make_unique<Certificate_Request_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:837,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:838,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:838,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:838,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:845,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:847,1
    - Dst: server_hello_done
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:850,1
    - Dst: std::make_unique<Server_Hello_Done>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:851,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:851,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:851,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - ' pending_state'
    argTypes:
    - Server_Handshake_State
    constantsTouched: []
    func_position:
      end: 852
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 852
    functionName: Botan::TLS::Server_Impl_12::session_create
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 1
    functionsReached:
    - set_server_rsa_kex_key
    - signature_used
    - make_hello_random
    - kex_method
    - empty
    - auto::end
    - std::make_unique<Certificate_12>
    - session_manager
    - handshake_io
    - sig_algo
    - get_server_certs
    - BOTAN_ASSERT_NOMSG
    - hash
    - std::shared_ptr::get
    - std::make_unique<Server_Hello_Done>
    - client_hello
    - std::make_unique<Certificate_Request_12>
    - send_warning_alert
    - std::make_unique<Certificate_Status>
    - std::string::empty
    - server_hello
    - auto::begin
    - server_certs
    - Session_ID
    - ciphersuite
    - server_kex
    - std::map::empty
    - secure_renegotiation_check
    - Internal_Error
    - std::vector::insert
    - secure_renegotiation_data_for_server_hello
    - server_hello_done
    - is_a_resumption
    - callbacks
    - policy
    - private_key_for
    - std::vector::end
    - trusted_certificate_authorities
    - version
    - all_subjects
    - set_expected_next
    - auto::empty
    - BOTAN_ASSERT
    - rng
    - server_cert_status
    - std::make_unique<Server_Hello_12>
    - cert_req
    - std::make_unique<Server_Key_Exchange>
    linkageType: ''
    returnType: void
    signature: void Server_Impl_12::session_create(Server_Handshake_State& pending_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_hash.cpp:23,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_hash.cpp:24,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_hash.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mac_algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: Botan::TLS::Handshake_Hash::final
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_hash.cpp
    functionUses: 0
    functionsReached:
    - auto::update
    - auto::final
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Handshake_Hash::final(std::string_view mac_algo)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:37,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:38,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:39,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:40,1
    - Dst: reserve
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:46,1
    - Dst: reserve
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' rng'
    - ' policy'
    - is_server
    - is_datagram
    - reserved_io_buffer_size
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<RandomNumberGenerator>
    - std::shared_ptr<const Policy>
    - bool
    - bool
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: Botan::TLS::Channel_Impl_12::Channel_Impl_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_12::Channel_Impl_12(const std::shared_ptr<Callbacks>&
      callbacks,\n                                 const std::shared_ptr<Session_Manager>&
      session_manager,\n                                 const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                                 const std::shared_ptr<const Policy>&
      policy,\n                                 bool is_server,\n                                 bool
      is_datagram,\n                                 size_t reserved_io_buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:51,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:52,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:53,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:54,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Channel_Impl_12::reset_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - clear
    - reset
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::reset_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:60,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:61,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:62,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:63,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: Botan::TLS::Channel_Impl_12::reset_active_association_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - clear
    - reset
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::reset_active_association_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Channel_Impl_12::~Channel_Impl_12()
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::~Channel_Impl_12()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '& Channel_Impl_12::sequence_numbers() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: Connection_Sequence_Numbers
    signature: Connection_Sequence_Numbers & Channel_Impl_12::sequence_numbers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:81,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:82,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:83,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - epoch
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: Botan::TLS::Channel_Impl_12::read_cipher_state_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    - end
    - find
    - std::to_string
    linkageType: ''
    returnType: std::shared_ptr<Connection_Cipher_State>
    signature: std::shared_ptr<Connection_Cipher_State> Channel_Impl_12::read_cipher_state_epoch(uint16_t
      epoch) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:89,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:90,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:91,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - epoch
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: Botan::TLS::Channel_Impl_12::write_cipher_state_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    - end
    - find
    - std::to_string
    linkageType: ''
    returnType: std::shared_ptr<Connection_Cipher_State>
    signature: std::shared_ptr<Connection_Cipher_State> Channel_Impl_12::write_cipher_state_epoch(uint16_t
      epoch) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:97,1
    - Dst: get_peer_cert_chain
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:98,1
    - Dst: std::vector<X509_Certificate>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: Botan::TLS::Channel_Impl_12::peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - get_peer_cert_chain
    - Botan::TLS::Channel_Impl_12::active_state
    - std::vector<X509_Certificate>
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Channel_Impl_12::peer_cert_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:104,1
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:104,1
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:104,1
    - Dst: auto*::psk_identity
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: Botan::TLS::Channel_Impl_12::external_psk_identity
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - auto*::psk_identity
    - Botan::TLS::Channel_Impl_12::pending_state
    - Botan::TLS::Channel_Impl_12::active_state
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Channel_Impl_12::external_psk_identity()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:113,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:114,1
    - Dst: active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:117,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:118,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:120,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:120,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:121,1
    - Dst: Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:122,1
    - Dst: Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:123,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:128,1
    - Dst: std::make_unique<Datagram_Sequence_Numbers>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:129,1
    - Dst: std::make_unique<Stream_Sequence_Numbers>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:131,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:138,1
    - Dst: std::make_unique<Datagram_Handshake_IO>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:140,1
    - Dst: std::bind
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:140,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:141,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:142,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:142,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:143,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:144,1
    - Dst: std::make_unique<Stream_Handshake_IO>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:146,1
    - Dst: std::bind
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:146,1
    - Dst: new_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:149,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:149,1
    - Dst: active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:151,1
    - Dst: set_version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:152,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:152,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 156
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 156
    functionName: '& Channel_Impl_12::create_handshake_state(Protocol_Version version)'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - TLS_Exception
    - std::make_unique<Datagram_Sequence_Numbers>
    - active_state
    - Protocol_Version::is_datagram_protocol
    - Internal_Error
    - std::make_unique<Datagram_Handshake_IO>
    - std::make_unique<Stream_Handshake_IO>
    - std::bind
    - set_version
    - auto::version
    - pending_state
    - policy
    - static_cast<uint16_t>
    - new_handshake_state
    - std::make_unique<Stream_Sequence_Numbers>
    - sequence_numbers
    - Protocol_Version::to_string
    linkageType: ''
    returnType: Handshake_State
    signature: Handshake_State & Channel_Impl_12::create_handshake_state(Protocol_Version
      version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: Botan::TLS::Channel_Impl_12::timeout_check
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - handshake_io
    linkageType: ''
    returnType: bool
    signature: bool Channel_Impl_12::timeout_check()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:168,1
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:172,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:174,1
    - Dst: initiate_handshake
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:177,1
    - Dst: create_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:177,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:177,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - force_full_renegotiation
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: Botan::TLS::Channel_Impl_12::renegotiate
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::active_state
    - Invalid_State
    - auto::version
    - policy
    - initiate_handshake
    - Botan::TLS::Channel_Impl_12::pending_state
    - create_handshake_state
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::renegotiate(bool force_full_renegotiation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: Botan::TLS::Channel_Impl_12::update_traffic_keys
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::update_traffic_keys(bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:188,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:190,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:190,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:192,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:193,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:196,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:200,1
    - Dst: contains
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:200,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:204,1
    - Dst: auto::ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:207,1
    - Dst: auto::session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:208,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:209,1
    - Dst: Connection_Cipher_State::Connection_Cipher_State
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 212
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 212
    functionName: Botan::TLS::Channel_Impl_12::change_cipher_spec_reader
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - auto::server_hello
    - contains
    - Internal_Error
    - Botan::TLS::Channel_Impl_12::pending_state
    - auto::session_keys
    - auto::version
    - BOTAN_ASSERT
    - auto::ciphersuite
    - Connection_Cipher_State::Connection_Cipher_State
    - sequence_numbers
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::change_cipher_spec_reader(Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:215,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:217,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:217,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:219,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:220,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:223,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:227,1
    - Dst: contains
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:227,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:230,1
    - Dst: auto::ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:233,1
    - Dst: auto::session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:234,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:235,1
    - Dst: Connection_Cipher_State::Connection_Cipher_State
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 238
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 238
    functionName: Botan::TLS::Channel_Impl_12::change_cipher_spec_writer
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - auto::server_hello
    - contains
    - Internal_Error
    - Botan::TLS::Channel_Impl_12::pending_state
    - auto::session_keys
    - auto::version
    - BOTAN_ASSERT
    - auto::ciphersuite
    - Connection_Cipher_State::Connection_Cipher_State
    - sequence_numbers
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::change_cipher_spec_writer(Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: Botan::TLS::Channel_Impl_12::is_handshake_complete
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::active_state
    linkageType: ''
    returnType: bool
    signature: bool Channel_Impl_12::is_handshake_complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::is_closed
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:245,1
    - Dst: Botan::TLS::Channel_Impl_12::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: Botan::TLS::Channel_Impl_12::is_active
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::is_closed
    - Botan::TLS::Channel_Impl_12::is_handshake_complete
    linkageType: ''
    returnType: bool
    signature: bool Channel_Impl_12::is_active() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: Botan::TLS::Channel_Impl_12::is_closed
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Channel_Impl_12::is_closed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:253,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:254,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:256,1
    - Dst: map_remove_if
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:262,1
    - Dst: map_remove_if
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:263,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: Botan::TLS::Channel_Impl_12::activate_session
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - version
    - std::swap
    - map_remove_if
    - reset
    - callbacks
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::activate_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:272,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:273,1
    - Dst: Botan::TLS::Channel_Impl_12::read_cipher_state_epoch
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:279,1
    - Dst: read_record
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:281,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:287,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:293,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:295,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:300,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:307,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:311,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:312,1
    - Dst: BOTAN_ASSERT_IMPLICATION
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:316,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:320,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:320,1
    - Dst: static_cast<Handshake_Type>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:321,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:325,1
    - Dst: Record_Header::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:328,1
    - Dst: Record_Header::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:328,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:329,1
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:331,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:332,1
    - Dst: Record_Header::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:333,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:333,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:334,1
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:336,1
    - Dst: Record_Header::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:337,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:337,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:338,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:343,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:343,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:345,1
    - Dst: Botan::TLS::Channel_Impl_12::process_handshake_ccs
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:347,1
    - Dst: Record_Header::sequence
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:347,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:347,1
    - Dst: Record_Header::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:347,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:348,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:350,1
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:352,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:353,1
    - Dst: Botan::TLS::Channel_Impl_12::process_application_data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:355,1
    - Dst: Record_Header::sequence
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:355,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:356,1
    - Dst: Botan::TLS::Channel_Impl_12::process_alert
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:357,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:358,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:359,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:359,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:359,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:359,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:366,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:366,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:369,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:372,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:375,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 76
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 378
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 378
    functionName: Botan::TLS::Channel_Impl_12::from_peer
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - auto::server_hello
    - Unexpected_Message
    - std::to_string
    - empty
    - Botan::TLS::Channel_Impl_12::process_application_data
    - Botan::TLS::Channel_Impl_12::pending_state
    - Botan::TLS::Channel_Impl_12::active_state
    - read_record
    - BOTAN_ASSERT_IMPLICATION
    - Botan::TLS::Channel_Impl_12::read_cipher_state_epoch
    - get
    - static_cast<Handshake_Type>
    - auto::version
    - Botan::TLS::Channel_Impl_12::process_alert
    - std::span<const uint8_t>::data
    - Record_Header::sequence
    - Record_Header::version
    - Record_Header::type
    - static_cast<size_t>
    - send_fatal_alert
    - std::span<const uint8_t>::size
    - BOTAN_ASSERT
    - type
    - size
    - Botan::TLS::Channel_Impl_12::process_handshake_ccs
    linkageType: ''
    returnType: size_t
    signature: size_t Channel_Impl_12::from_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:387,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:393,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:397,1
    - Dst: create_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:398,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:399,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:400,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:401,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:401,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:401,1
    - Dst: create_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:404,1
    - Dst: create_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:407,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:413,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:413,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:413,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:415,1
    - Dst: auto::get_next_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:416,1
    - Dst: process_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:422,1
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:422,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 5
    argNames:
    - ' record'
    - record_sequence
    - record_type
    - record_version
    - epoch0_restart
    argTypes:
    - secure_vector<uint8_t>
    - uint64_t
    - Record_Type
    - Protocol_Version
    - bool
    constantsTouched: []
    func_position:
      end: 429
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 429
    functionName: Botan::TLS::Channel_Impl_12::process_handshake_ccs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 1
    functionsReached:
    - process_handshake_msg
    - Protocol_Version::is_datagram_protocol
    - data
    - Botan::TLS::Channel_Impl_12::active_state
    - BOTAN_ASSERT
    - handshake_io
    - size
    - get
    - auto::get_next_handshake_msg
    - sequence_numbers
    - create_handshake_state
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_12::process_handshake_ccs(const secure_vector<uint8_t>&
      record,\n                                            uint64_t record_sequence,\n
      \                                           Record_Type record_type,\n                                            Protocol_Version
      record_version,\n                                            bool epoch0_restart)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:432,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:433,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - seq_no
    - ' record'
    argTypes:
    - uint64_t
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 437
    functionName: Botan::TLS::Channel_Impl_12::process_application_data
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 1
    functionsReached:
    - callbacks
    - Botan::TLS::Channel_Impl_12::active_state
    - Unexpected_Message
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::process_application_data(uint64_t seq_no, const
      secure_vector<uint8_t>& record)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Alert::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:442,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:443,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:446,1
    - Dst: Alert::is_fatal
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:448,1
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:449,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:450,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:451,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:452,1
    - Dst: Alert::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:457,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:460,1
    - Dst: send_warning_alert
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:461,1
    - Dst: Alert::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:464,1
    - Dst: Alert::is_fatal
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' record'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 467
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 467
    functionName: Botan::TLS::Channel_Impl_12::process_alert
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 1
    functionsReached:
    - auto::server_hello
    - Alert::is_fatal
    - empty
    - reset
    - callbacks
    - session_manager
    - send_warning_alert
    - Alert::type
    - Botan::TLS::Channel_Impl_12::active_state
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::process_alert(const secure_vector<uint8_t>& record)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:474,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:477,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:477,1
    - Dst: Botan::TLS::write_unencrypted_record
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:482,1
    - Dst: Botan::TLS::write_record
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:484,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:484,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - cipher_state
    - epoch
    - record_type
    - input
    - length
    argTypes:
    - Connection_Cipher_State*
    - uint16_t
    - Record_Type
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 488
      start: 469
    functionDepth: 4
    functionLinenumber: 469
    functionLinenumberEnd: 488
    functionName: Botan::TLS::Channel_Impl_12::write_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::write_unencrypted_record
    - version
    - BOTAN_ASSERT
    - callbacks
    - rng
    - Botan::TLS::write_record
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_12::write_record(Connection_Cipher_State* cipher_state,\n
      \                                  uint16_t epoch,\n                                   Record_Type
      record_type,\n                                   const uint8_t input[],\n                                   size_t
      length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::write_cipher_state_epoch
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:495,1
    - Dst: Botan::TLS::Channel_Impl_12::write_record
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:499,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - epoch
    - type
    - input
    - length
    argTypes:
    - uint16_t
    - Record_Type
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 504
      start: 490
    functionDepth: 5
    functionLinenumber: 490
    functionLinenumberEnd: 504
    functionName: Botan::TLS::Channel_Impl_12::send_record_array
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::write_cipher_state_epoch
    - auto::get
    - Botan::TLS::Channel_Impl_12::write_record
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::send_record_array(uint16_t epoch, Record_Type
      type, const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::send_record_array
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:507,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:507,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:507,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - record_type
    - ' record'
    argTypes:
    - Record_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 6
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: Botan::TLS::Channel_Impl_12::send_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - data
    - sequence_numbers
    - Botan::TLS::Channel_Impl_12::send_record_array
    - size
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::send_record(Record_Type record_type, const std::vector<uint8_t>&
      record)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::send_record_array
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:513,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:513,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - epoch
    - record_type
    - ' record'
    argTypes:
    - uint16_t
    - Record_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 6
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: Botan::TLS::Channel_Impl_12::send_record_under_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - Botan::TLS::Channel_Impl_12::send_record_array
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_12::send_record_under_epoch(uint16_t epoch,\n                                              Record_Type
      record_type,\n                                              const std::vector<uint8_t>&
      record)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::is_active
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:517,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:518,1
    - Dst: Botan::TLS::Channel_Impl_12::send_record_array
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:521,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:521,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:521,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 522
      start: 516
    functionDepth: 6
    functionLinenumber: 516
    functionLinenumberEnd: 522
    functionName: Botan::TLS::Channel_Impl_12::to_peer
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::is_active
    - std::span<const uint8_t>::size
    - Invalid_State
    - std::span<const uint8_t>::data
    - sequence_numbers
    - Botan::TLS::Channel_Impl_12::send_record_array
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::to_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:526,1
    - Dst: Botan::TLS::Channel_Impl_12::send_record
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:528,1
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:528,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:533,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:534,1
    - Dst: is_fatal
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:537,1
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:538,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:539,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:540,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:541,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:541,1
    - Dst: Botan::TLS::Channel_Impl_12::reset_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:544,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:547,1
    - Dst: is_fatal
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:547,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Alert
    constantsTouched: []
    func_position:
      end: 550
      start: 524
    functionDepth: 7
    functionLinenumber: 524
    functionLinenumberEnd: 550
    functionName: Botan::TLS::Channel_Impl_12::send_alert
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - auto::server_hello
    - Session_ID
    - Botan::TLS::Channel_Impl_12::reset_state
    - empty
    - is_fatal
    - Botan::TLS::Channel_Impl_12::active_state
    - reset
    - type
    - session_manager
    - is_valid
    - Botan::TLS::Channel_Impl_12::send_record
    - serialize
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::send_alert(const Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:555,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:559,1
    - Dst: Client_Hello_12*::renegotiation_info
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:564,1
    - Dst: Botan::TLS::Channel_Impl_12::secure_renegotiation_data_for_client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:566,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:567,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - client_hello
    argTypes:
    - Client_Hello_12*
    constantsTouched: []
    func_position:
      end: 570
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 570
    functionName: Botan::TLS::Channel_Impl_12::secure_renegotiation_check
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Client_Hello_12*::renegotiation_info
    - TLS_Exception
    - Botan::TLS::Channel_Impl_12::secure_renegotiation_data_for_client_hello
    - Botan::TLS::Channel_Impl_12::active_state
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::secure_renegotiation_check(const Client_Hello_12*
      client_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:575,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:579,1
    - Dst: Server_Hello_12*::renegotiation_info
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:584,1
    - Dst: Botan::TLS::Channel_Impl_12::secure_renegotiation_data_for_server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:586,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - server_hello
    argTypes:
    - Server_Hello_12*
    constantsTouched: []
    func_position:
      end: 590
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 590
    functionName: Botan::TLS::Channel_Impl_12::secure_renegotiation_check
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - Botan::TLS::Channel_Impl_12::active_state
    - Server_Hello_12*::renegotiation_info
    - Botan::TLS::Channel_Impl_12::secure_renegotiation_data_for_server_hello
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::secure_renegotiation_check(const Server_Hello_12*
      server_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:593,1
    - Dst: auto::client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:594,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 597
    functionName: Botan::TLS::Channel_Impl_12::secure_renegotiation_data_for_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 1
    functionsReached:
    - auto::client_finished
    - std::vector<uint8_t>
    - Botan::TLS::Channel_Impl_12::active_state
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Channel_Impl_12::secure_renegotiation_data_for_client_hello()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:600,1
    - Dst: auto::client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:601,1
    - Dst: auto::server_finished
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:602,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 607
    functionName: Botan::TLS::Channel_Impl_12::secure_renegotiation_data_for_server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 1
    functionsReached:
    - auto::client_finished
    - std::vector<uint8_t>
    - Botan::TLS::Channel_Impl_12::active_state
    - auto::server_finished
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Channel_Impl_12::secure_renegotiation_data_for_server_hello()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:610,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:611,1
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:614,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:615,1
    - Dst: auto::secure_renegotiation
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 621
    functionName: Botan::TLS::Channel_Impl_12::secure_renegotiation_supported
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - auto::server_hello
    - Botan::TLS::Channel_Impl_12::pending_state
    - Botan::TLS::Channel_Impl_12::active_state
    - auto::secure_renegotiation
    linkageType: ''
    returnType: bool
    signature: bool Channel_Impl_12::secure_renegotiation_supported() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:626,1
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:627,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:628,1
    - Dst: auto::protocol_specific_prf
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:631,1
    - Dst: auto::session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:633,1
    - Dst: auto::client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:636,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:637,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:639,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:642,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:644,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:644,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:644,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:645,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:645,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:645,1
    - Dst: to_byte_vector
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:646,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:649,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:649,1
    - Dst: to_byte_vector
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:649,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - label
    - context
    - length
    argTypes:
    - std::string_view
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 653
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 653
    functionName: Botan::TLS::Channel_Impl_12::key_material_export
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - auto::server_hello
    - std::string_view::empty
    - auto::client_hello
    - auto::derive_key
    - get_byte<1>
    - auto::protocol_specific_prf
    - auto::session_keys
    - Invalid_State
    - to_byte_vector
    - Invalid_Argument
    - get_byte<0>
    - SymmetricKey
    - static_cast<uint16_t>
    - Botan::TLS::Channel_Impl_12::pending_state
    - Botan::TLS::Channel_Impl_12::active_state
    - std::vector::push_back
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey Channel_Impl_12::key_material_export(std::string_view
      label,\n                                                  std::string_view context,\n
      \                                                 size_t length) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:37,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:42,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:43,1
    - Dst: TLS_Data_Reader::get_string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:44,1
    - Dst: psk_identity
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:47,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:47,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:49,1
    - Dst: to_byte_vector
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:49,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:49,1
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:51,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:51,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:51,1
    - Dst: SymmetricKey::length
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:53,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:55,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:56,1
    - Dst: SymmetricKey::bits_of
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:56,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:57,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:58,1
    - Dst: TLS_Data_Reader::get_string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:63,1
    - Dst: psk_identity
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:65,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:65,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:67,1
    - Dst: to_byte_vector
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:67,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:67,1
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:69,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:69,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:69,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:73,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:73,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:74,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:74,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:75,1
    - Dst: TLS_Data_Reader::remaining_bytes
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:77,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:78,1
    - Dst: DL_Group::verify_group
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:83,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:84,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:87,1
    - Dst: Botan::CT::strip_leading_zeros
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:88,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:89,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:90,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:90,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:94,1
    - Dst: static_cast<Group_Params>
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:97,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:97,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:98,1
    - Dst: Group_Params::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:100,1
    - Dst: Group_Params::is_x25519
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:100,1
    - Dst: Group_Params::is_x448
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:100,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:101,1
    - Dst: choose_key_exchange_group
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:105,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:106,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:109,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:111,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:114,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:116,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:117,1
    - Dst: SymmetricKey::bits_of
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:117,1
    - Dst: Group_Params::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:120,1
    - Dst: dynamic_cast<ECDH_PublicKey*>
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:121,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:121,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:123,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:125,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:126,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:126,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:131,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:131,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:134,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:137,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:142,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:146,1
    - Dst: dynamic_cast<const RSA_PublicKey*>
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:149,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:150,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:152,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:153,1
    - Dst: Protocol_Version::minor_version
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:154,1
    - Dst: PK_Encryptor_EME::encrypt
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:158,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:160,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:162,1
    - Dst: Public_Key*::algo_name
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:163,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:167,1
    - Dst: send
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:167,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 7
    argNames:
    - ' io'
    - ' state'
    - ' policy'
    - ' creds'
    - server_public_key
    - hostname
    - ' rng'
    argTypes:
    - Handshake_IO
    - Handshake_State
    - Policy
    - Credentials_Manager
    - Public_Key*
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 168
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 168
    functionName: Botan::TLS::Client_Key_Exchange::Client_Key_Exchange
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - TLS_Exception
    - Unexpected_Message
    - PK_Encryptor_EME::encrypt
    - std::string
    - Protocol_Version::major_version
    - psk_identity
    - Group_Params::is_x25519
    - Botan::CT::strip_leading_zeros
    - Decoding_Error
    - TLS_Data_Reader::get_string
    - TLS_Data_Reader::assert_done
    - Public_Key*::algo_name
    - Botan::BigInt::from_bytes
    - psk
    - send
    - SymmetricKey::bits_of
    - Group_Params::is_x448
    - DL_Group::verify_group
    - hash
    - TLS_Data_Reader::get_uint16_t
    - client_hello
    - append_tls_length_value
    - to_byte_vector
    - server_hello
    - Protocol_Version::minor_version
    - server_kex
    - ciphersuite
    - Internal_Error
    - callbacks
    - TLS_Data_Reader::get_range
    - TLS_Data_Reader::remaining_bytes
    - Group_Params::is_ecdh_named_curve
    - dynamic_cast<const RSA_PublicKey*>
    - dynamic_cast<ECDH_PublicKey*>
    - SymmetricKey::length
    - auto::public_value
    - auto::get
    - static_cast<Group_Params>
    - choose_key_exchange_group
    - random_vec
    - value
    linkageType: ''
    returnType: void
    signature: "void Client_Key_Exchange::Client_Key_Exchange(Handshake_IO& io,\n
      \                                        Handshake_State& state,\n                                         const
      Policy& policy,\n                                         Credentials_Manager&
      creds,\n                                         const Public_Key* server_public_key,\n
      \                                        std::string_view hostname,\n                                         RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:179,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:182,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:182,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:182,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:186,1
    - Dst: Private_Key*::algo_name
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:189,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:190,1
    - Dst: Private_Key*::algo_name
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:190,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:194,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:195,1
    - Dst: PK_Decryptor_EME::decrypt_or_random
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:213,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:213,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:214,1
    - Dst: key_exchange_is_psk
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:225,1
    - Dst: TLS_Data_Reader::get_string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:226,1
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:228,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:228,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:228,1
    - Dst: SymmetricKey::empty
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:230,1
    - Dst: hide_unknown_users
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:231,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:232,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:234,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:234,1
    - Dst: SymmetricKey::length
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:240,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:241,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:242,1
    - Dst: SymmetricKey::bits_of
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:242,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:244,1
    - Dst: algo_name
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:246,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:247,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:248,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:250,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:251,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:251,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:255,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:255,1
    - Dst: algo_name
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:257,1
    - Dst: Botan::CT::strip_leading_zeros
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:258,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:262,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:263,1
    - Dst: SymmetricKey::bits_of
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:263,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:268,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:268,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:279,1
    - Dst: public_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:279,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:282,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:284,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 6
    argNames:
    - ' contents'
    - ' state'
    - server_rsa_kex_key
    - ' creds'
    - ' policy'
    - ' rng'
    argTypes:
    - std::vector<uint8_t>
    - Handshake_State
    - Private_Key*
    - Credentials_Manager
    - Policy
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 287
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 287
    functionName: Botan::TLS::Client_Key_Exchange::Client_Key_Exchange
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - key_exchange_is_psk
    - what
    - auto::value
    - hide_unknown_users
    - Botan::CT::strip_leading_zeros
    - TLS_Data_Reader::get_string
    - TLS_Data_Reader::assert_done
    - psk
    - SymmetricKey::bits_of
    - client_hello
    - append_tls_length_value
    - SymmetricKey
    - std::vector::data
    - std::vector::size
    - server_certs
    - public_value
    - ciphersuite
    - server_kex
    - Internal_Error
    - SymmetricKey::empty
    - callbacks
    - TLS_Data_Reader::get_range
    - BOTAN_STATE_CHECK
    - SymmetricKey::length
    - BOTAN_ASSERT
    - Private_Key*::algo_name
    - PK_Decryptor_EME::decrypt_or_random
    - random_vec
    - algo_name
    - value
    linkageType: ''
    returnType: void
    signature: "void Client_Key_Exchange::Client_Key_Exchange(const std::vector<uint8_t>&
      contents,\n                                         const Handshake_State& state,\n
      \                                        const Private_Key* server_rsa_kex_key,\n
      \                                        Credentials_Manager& creds,\n                                         const
      Policy& policy,\n                                         RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 62
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API TLS_NULL_HMAC_AEAD_Mode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:69,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:70,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
    - std::move
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API TLS_NULL_HMAC_AEAD_Encryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:87,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:88,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:88,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
    - std::move
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption
    - tag_size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API TLS_NULL_HMAC_AEAD_Decryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MessageAuthenticationCode>::name
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:23,1
    - Dst: std::unique_ptr<MessageAuthenticationCode>::output_length
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:23,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mac
    - mac_keylen
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::TLS_NULL_HMAC_AEAD_Mode
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::unique_ptr<MessageAuthenticationCode>::output_length
    - std::unique_ptr<MessageAuthenticationCode>::name
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Mode::TLS_NULL_HMAC_AEAD_Mode(std::unique_ptr<MessageAuthenticationCode>
      mac, size_t mac_keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::clear
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:26,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::clear
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::clear
    - mac
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:31,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:31,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::reset
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    - mac
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::name
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string TLS_NULL_HMAC_AEAD_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_NULL_HMAC_AEAD_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_NULL_HMAC_AEAD_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nl
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TLS_NULL_HMAC_AEAD_Mode::valid_nonce_length(size_t nl) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification TLS_NULL_HMAC_AEAD_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - mac
    linkageType: ''
    returnType: bool
    signature: bool TLS_NULL_HMAC_AEAD_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::mac_keylen
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_NULL_HMAC_AEAD_Mode::mac_keylen() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '& TLS_NULL_HMAC_AEAD_Mode::mac() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: MessageAuthenticationCode
    signature: MessageAuthenticationCode & TLS_NULL_HMAC_AEAD_Mode::mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:69,1
    - Dst: Invalid_Key_Length
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:70,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::name
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:70,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:70,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:72,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:72,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:72,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::reset
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::reset
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    - Invalid_Key_Length
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::name
    - assign
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Mode::key_schedule(std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:77,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::valid_nonce_length
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:79,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:80,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::name
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::name
    - Invalid_IV_Length
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::valid_nonce_length
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Mode::start_msg(const uint8_t nonce[], size_t
      nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::process_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - mac
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_NULL_HMAC_AEAD_Mode::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:90,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:91,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:91,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    - mac
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Mode::set_associated_data_n(size_t idx, std::span<const
      uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::set_associated_data_n
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::set_associated_data_n
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Encryption::set_associated_data_n(size_t idx,
      std::span<const uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_NULL_HMAC_AEAD_Encryption::output_length(size_t input_length)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:105,1
    - Dst: subspan
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:105,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:106,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:106,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:106,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:107,1
    - Dst: last
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:107,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - subspan
    - process
    - tag_size
    - size
    - last
    - resize
    - mac
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Encryption::finish_msg(secure_vector<uint8_t>&
      buffer, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_NULL_HMAC_AEAD_Decryption::output_length(size_t input_length)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:115,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:115,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:115,1
    - Dst: subspan
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:118,1
    - Dst: auto::first
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:119,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:119,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:119,1
    - Dst: auto::subspan
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:120,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:120,1
    - Dst: process
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:122,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:123,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:124,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:127,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:127,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - subspan
    - auto::first
    - auto::subspan
    - TLS_Exception
    - auto::size
    - process
    - tag_size
    - size
    - BOTAN_ARG_CHECK
    - resize
    - mac
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Decryption::finish_msg(secure_vector<uint8_t>&
      buffer, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<BlockCipher>::name
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:33,1
    - Dst: std::unique_ptr<MessageAuthenticationCode>::name
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:34,1
    - Dst: std::unique_ptr<MessageAuthenticationCode>::output_length
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:38,1
    - Dst: std::unique_ptr<BlockCipher>::block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:39,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:43,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:45,1
    - Dst: std::make_unique<Null_Padding>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:47,1
    - Dst: std::make_unique<CBC_Encryption>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:49,1
    - Dst: std::make_unique<CBC_Decryption>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - dir
    - cipher
    - mac
    - cipher_keylen
    - mac_keylen
    - version
    - use_encrypt_then_mac
    argTypes:
    - Cipher_Dir
    - std::unique_ptr<BlockCipher>
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    - size_t
    - Protocol_Version
    - bool
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 53
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::TLS_CBC_HMAC_AEAD_Mode
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::unique_ptr<MessageAuthenticationCode>::output_length
    - std::unique_ptr<MessageAuthenticationCode>::name
    - std::make_unique<CBC_Encryption>
    - std::make_unique<Null_Padding>
    - Protocol_Version::is_datagram_protocol
    - std::unique_ptr<BlockCipher>::block_size
    - std::unique_ptr<BlockCipher>::name
    - std::make_unique<CBC_Decryption>
    linkageType: ''
    returnType: void
    signature: "void TLS_CBC_HMAC_AEAD_Mode::TLS_CBC_HMAC_AEAD_Mode(Cipher_Dir dir,\n
      \                                              std::unique_ptr<BlockCipher>
      cipher,\n                                               std::unique_ptr<MessageAuthenticationCode>
      mac,\n                                               size_t cipher_keylen,\n
      \                                              size_t mac_keylen,\n                                               Protocol_Version
      version,\n                                               bool use_encrypt_then_mac)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:56,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:57,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::reset
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::clear
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - cbc
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::reset
    - mac
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:62,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::clear
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:63,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::clear
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::reset
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 1
    functionsReached:
    - cbc_state
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::clear
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::name
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TLS_CBC_HMAC_AEAD_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_CBC_HMAC_AEAD_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_CBC_HMAC_AEAD_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:80,1
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:81,1
    - Dst: iv_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nl
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - block_size
    - empty
    - iv_size
    linkageType: ''
    returnType: bool
    signature: bool TLS_CBC_HMAC_AEAD_Mode::valid_nonce_length(size_t nl) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification TLS_CBC_HMAC_AEAD_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:91,1
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - cbc
    - mac
    linkageType: ''
    returnType: bool
    signature: bool TLS_CBC_HMAC_AEAD_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:97,1
    - Dst: Invalid_Key_Length
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:98,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::name
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:98,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:98,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:101,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:101,1
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:102,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::first
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::name
    - std::span<const uint8_t>::subspan
    - cbc
    - std::span<const uint8_t>::size
    - Invalid_Key_Length
    - mac
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Mode::key_schedule(std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::valid_nonce_length
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:106,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:107,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::name
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:107,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::clear
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:110,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - Invalid_IV_Length
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::name
    - assign
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::valid_nonce_length
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::clear
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Mode::start_msg(const uint8_t nonce[], size_t
      nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:118,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::process_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_CBC_HMAC_AEAD_Mode::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:124,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:124,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:125,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - len
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::assoc_data_with_len
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_byte<0>
    - get_byte<1>
    - BOTAN_ASSERT
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> TLS_CBC_HMAC_AEAD_Mode::assoc_data_with_len(uint16_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:131,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:132,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:133,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:135,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:135,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    - assign
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Mode::set_associated_data_n(size_t idx, std::span<const
      uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::set_associated_data_n
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:139,1
    - Dst: use_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:141,1
    - Dst: assoc_data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:146,1
    - Dst: get_byte<0, uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:146,1
    - Dst: assoc_data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:147,1
    - Dst: get_byte<1, uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - use_encrypt_then_mac
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::set_associated_data_n
    - get_byte<0, uint16_t>
    - assoc_data
    - get_byte<1, uint16_t>
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Encryption::set_associated_data_n(size_t idx,
      std::span<const uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:155,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:157,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:157,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:161,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:162,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:163,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:163,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:163,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:167,1
    - Dst: CT::Mask<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:168,1
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:168,1
    - Dst: auto::select
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:169,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:172,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:173,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:174,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:174,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:174,1
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:176,1
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:176,1
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:177,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:177,1
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:179,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:179,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:179,1
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:179,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:179,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ' buffer'
    - offset
    - padding_length
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::cbc_encrypt_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::is_gte
    - Botan::CT::unpoison
    - cbc_state
    - block_size
    - data
    - Botan::CT::poison
    - CT::Mask<uint8_t>
    - cbc
    - auto::select
    - size
    - resize
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void TLS_CBC_HMAC_AEAD_Encryption::cbc_encrypt_record(secure_vector<uint8_t>&
      buffer,\n                                                      size_t offset,\n
      \                                                     size_t padding_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:183,1
    - Dst: use_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:183,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:183,1
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:183,1
    - Dst: use_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:184,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - tag_size
    - use_encrypt_then_mac
    - block_size
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_CBC_HMAC_AEAD_Encryption::output_length(size_t input_length)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:188,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:194,1
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:194,1
    - Dst: reserve
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:199,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:199,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:200,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:202,1
    - Dst: msg
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:202,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:205,1
    - Dst: assoc_data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:205,1
    - Dst: use_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:207,1
    - Dst: iv_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:208,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:209,1
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:209,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::cbc_encrypt_record
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:212,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:213,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:214,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:214,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:214,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:215,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:215,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:215,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:218,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:220,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:220,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:220,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:221,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:221,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:221,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::cbc_encrypt_record
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 224
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 224
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - use_encrypt_then_mac
    - block_size
    - update
    - cbc_state
    - copy_mem
    - BOTAN_DEBUG_ASSERT
    - assoc_data
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::cbc_encrypt_record
    - reserve
    - tag_size
    - iv_size
    - size
    - msg
    - resize
    - mac
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Encryption::finish_msg(secure_vector<uint8_t>&
      buffer, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:253,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:257,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:258,1
    - Dst: auto::if_not_set_return
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - record
    - record_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 263
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 263
    functionName: Botan::TLS::check_tls_cbc_padding
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - auto::if_not_set_return
    - Botan::bigint_ct_is_lt
    - Botan::CT::Mask::is_lte
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t check_tls_cbc_padding(const uint8_t record[], size_t record_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:266,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:267,1
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:270,1
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:270,1
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:271,1
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:271,1
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - record_contents
    - record_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::cbc_decrypt_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - cbc
    - Decoding_Error
    - block_size
    - cbc_state
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Decryption::cbc_decrypt_record(uint8_t record_contents[],
      size_t record_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_CBC_HMAC_AEAD_Decryption::output_length(size_t /*input_length*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:328,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - plen
    - padlen
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 356
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 356
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::perform_additional_compressions
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - mac
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Decryption::perform_additional_compressions(size_t
      plen, size_t padlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:359,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:360,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:366,1
    - Dst: use_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:366,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:366,1
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:366,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:367,1
    - Dst: use_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:370,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:374,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:376,1
    - Dst: assoc_data_with_len
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:376,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:376,1
    - Dst: iv_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:377,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:378,1
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:378,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:380,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:383,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:383,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:387,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:387,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:387,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:389,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:390,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::cbc_decrypt_record
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:393,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:400,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:406,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:406,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::cbc_decrypt_record
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:408,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:410,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:425,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:425,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:425,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:425,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:427,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:429,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:435,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:440,1
    - Dst: assoc_data_with_len
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:440,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:441,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:444,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:444,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:448,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:448,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:448,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:450,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:450,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:452,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:454,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:455,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:455,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::perform_additional_compressions
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:457,1
    - Dst: is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:464,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:465,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:467,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 470
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 470
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - end
    - Botan::CT::unpoison
    - BOTAN_ASSERT_NOMSG
    - block_size
    - Botan::CT::is_equal
    - cbc_state
    - insert
    - iv_size
    - std::vector::data
    - use_encrypt_then_mac
    - Botan::sha512_msg_expand
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::cbc_decrypt_record
    - update
    - Botan::CT::poison
    - is_datagram_protocol
    - tag_size
    - static_cast<uint16_t>
    - resize
    - mac
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::perform_additional_compressions
    - auto::as_bool
    - Botan::CT::Mask::is_lte
    - auto::if_set_return
    - assoc_data_with_len
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Decryption::finish_msg(secure_vector<uint8_t>&
      buffer, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 102
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API TLS_CBC_HMAC_AEAD_Mode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:111,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:118,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 134
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API TLS_CBC_HMAC_AEAD_Encryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:143,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:150,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:151,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 167
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h
    functionUses: 1
    functionsReached:
    - std::move
    - tag_size
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API TLS_CBC_HMAC_AEAD_Decryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session_Manager_SQLite
      Src: /src/botan/src/lib/tls/sessions_sqlite3/tls_session_manager_sqlite.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: Botan::TLS::Session_Manager_SQL
    functionSourceFile: /src/botan/src/lib/tls/sessions_sqlite3/tls_session_manager_sqlite.h
    functionUses: 0
    functionsReached:
    - Session_Manager_SQLite
    linkageType: ''
    returnType: Session_Manager_SQLite
    signature: Session_Manager_SQLite Session_Manager_SQL
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Sqlite3_Database>
      Src: /src/botan/src/lib/tls/sessions_sqlite3/tls_session_manager_sqlite.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - passphrase
    - ' rng'
    - db_filename
    - max_sessions
    argTypes:
    - std::string_view
    - std::shared_ptr<RandomNumberGenerator>
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: Botan::TLS::Session_Manager_SQLite::Session_Manager_SQLite
    functionSourceFile: /src/botan/src/lib/tls/sessions_sqlite3/tls_session_manager_sqlite.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Sqlite3_Database>
    linkageType: ''
    returnType: void
    signature: "void Session_Manager_SQLite::Session_Manager_SQLite(std::string_view
      passphrase,\n                                               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                                               std::string_view db_filename,\n
      \                                              size_t max_sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:23,1
    - Dst: Botan::TLS::Session_Manager_SQL::create_or_migrate_and_open
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - db
    - passphrase
    - ' rng'
    - max_sessions
    argTypes:
    - std::shared_ptr<SQL_Database>
    - std::string_view
    - std::shared_ptr<RandomNumberGenerator>
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: Botan::TLS::Session_Manager_SQL::Session_Manager_SQL
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Session_Manager_SQL::create_or_migrate_and_open
    linkageType: ''
    returnType: void
    signature: "void Session_Manager_SQL::Session_Manager_SQL(std::shared_ptr<SQL_Database>
      db,\n                                         std::string_view passphrase,\n
      \                                        const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                                         size_t max_sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Session_Manager_SQL::detect_schema_revision
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:28,1
    - Dst: exec
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:34,1
    - Dst: exec
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:35,1
    - Dst: Botan::TLS::Session_Manager_SQL::create_with_latest_schema
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:36,1
    - Dst: Botan::TLS::Session_Manager_SQL::initialize_existing_database
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:39,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - passphrase
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: Botan::TLS::Session_Manager_SQL::create_or_migrate_and_open
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Session_Manager_SQL::detect_schema_revision
    - Internal_Error
    - Botan::TLS::Session_Manager_SQL::initialize_existing_database
    - Botan::TLS::Session_Manager_SQL::create_with_latest_schema
    - exec
    linkageType: ''
    returnType: void
    signature: void Session_Manager_SQL::create_or_migrate_and_open(std::string_view
      passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: row_count
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:48,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:57,1
    - Dst: auto::step
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:58,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:59,1
    - Dst: Schema_Revision
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:61,1
    - Dst: auto::get_size_t
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Session_Manager_SQL::detect_schema_revision
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 1
    functionsReached:
    - new_statement
    - auto::step
    - Internal_Error
    - auto::get_size_t
    - row_count
    - Schema_Revision
    linkageType: ''
    returnType: Session_Manager_SQL::Schema_Revision
    signature: Session_Manager_SQL::Schema_Revision Session_Manager_SQL::detect_schema_revision()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_table
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:68,1
    - Dst: create_table
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:79,1
    - Dst: create_table
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:90,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:92,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:97,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:99,1
    - Dst: auto::tune
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:100,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:100,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:102,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:103,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:103,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:103,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:103,1
    - Dst: auto::data
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:103,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:103,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:107,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:107,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:109,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:111,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:112,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:113,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:114,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:115,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - passphrase
    - rev
    argTypes:
    - std::string_view
    - Schema_Revision
    constantsTouched: []
    func_position:
      end: 118
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 118
    functionName: Botan::TLS::Session_Manager_SQL::create_with_latest_schema
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 1
    functionsReached:
    - auto::tune
    - std::span
    - new_statement
    - std::string_view::size
    - std::string_view::data
    - auto::bind
    - Botan::PasswordHashFamily::create_or_throw
    - auto::spin
    - auto::derive_key
    - auto::size
    - auto::data
    - SymmetricKey
    - random_vec
    - Botan_CLI::Timer::milliseconds
    - create_table
    - secure_vector::data
    - secure_vector::size
    linkageType: ''
    returnType: void
    signature: void Session_Manager_SQL::create_with_latest_schema(std::string_view
      passphrase, Schema_Revision rev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:121,1
    - Dst: auto::step
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:122,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:123,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:126,1
    - Dst: auto::get_str
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:129,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:133,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:134,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:136,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:137,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:137,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:137,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:137,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:142,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:145,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - passphrase
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 146
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 146
    functionName: Botan::TLS::Session_Manager_SQL::initialize_existing_database
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 1
    functionsReached:
    - new_statement
    - auto::step
    - std::span
    - std::string_view::size
    - std::string_view::data
    - Botan::PasswordHashFamily::create_or_throw
    - Internal_Error
    - auto::derive_key
    - auto::get_blob
    - Invalid_Argument
    - SymmetricKey
    - auto::get_str
    - secure_vector::size
    - secure_vector::data
    - auto::from_params
    linkageType: ''
    returnType: void
    signature: void Session_Manager_SQL::initialize_existing_database(std::string_view
      passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: database_is_threadsafe
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:150,1
    - Dst: std::optional::emplace
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:151,1
    - Dst: mutex
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:151,1
    - Dst: server_info
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:154,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:158,1
    - Dst: id
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:164,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:164,1
    - Dst: ticket
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:165,1
    - Dst: Session_Ticket
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:165,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:167,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:167,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:167,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:168,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:168,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:169,1
    - Dst: start_time
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:169,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:170,1
    - Dst: server_info
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:170,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:171,1
    - Dst: server_info
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:171,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:172,1
    - Dst: encrypt
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:172,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:174,1
    - Dst: Botan::TLS::Session_Manager_SQL::prune_session_cache
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' session'
    - ' handle'
    argTypes:
    - Session
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 177
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 177
    functionName: Botan::TLS::Session_Manager_SQL::store
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - database_is_threadsafe
    - server_info
    - Session_Ticket
    - auto::spin
    - mutex
    - auto::get
    - start_time
    - hex_encode
    - ticket
    - encrypt
    - random_vec
    - id
    - std::optional::emplace
    - auto::bind
    - Botan::TLS::Session_Manager_SQL::prune_session_cache
    linkageType: ''
    returnType: void
    signature: void Session_Manager_SQL::store(const Session& session, const Session_Handle&
      handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: database_is_threadsafe
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:181,1
    - Dst: std::optional::emplace
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:182,1
    - Dst: mutex
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:182,1
    - Dst: id
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:185,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:186,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:188,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:188,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:188,1
    - Dst: auto::step
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:190,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:191,1
    - Dst: Botan::TLS::Session::decrypt
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 200
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 200
    functionName: Botan::TLS::Session_Manager_SQL::retrieve_one
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - database_is_threadsafe
    - auto::step
    - Botan::TLS::Session::decrypt
    - mutex
    - auto::get
    - hex_encode
    - auto::get_blob
    - id
    - std::optional::emplace
    - auto::bind
    linkageType: ''
    returnType: std::optional<Session>
    signature: std::optional<Session> Session_Manager_SQL::retrieve_one(const Session_Handle&
      handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: database_is_threadsafe
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:205,1
    - Dst: std::optional::emplace
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:206,1
    - Dst: mutex
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:206,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:209,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:215,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:215,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:216,1
    - Dst: port
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:216,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:217,1
    - Dst: auto::step
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:220,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:222,1
    - Dst: Session_Ticket
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:224,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:224,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:226,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:226,1
    - Dst: auto::get_str
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:226,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:230,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:233,1
    - Dst: Botan::TLS::Session::decrypt
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:234,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ' info'
    - max_sessions_hint
    argTypes:
    - Server_Information
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 239
    functionName: Botan::TLS::Session_Manager_SQL::find_some
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - database_is_threadsafe
    - auto::step
    - std::span
    - Session_Ticket
    - Session_ID
    - Botan::TLS::Session::decrypt
    - std::move
    - mutex
    - hostname
    - Botan::hex_decode
    - port
    - auto::get_blob
    - auto::get_str
    - std::vector::emplace_back
    - std::optional::emplace
    - auto::bind
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: "std::vector<Session_with_Handle> Session_Manager_SQL::find_some(const
      Server_Information& info,\n                                                                const
      size_t max_sessions_hint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: id
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:246,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:247,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:248,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:248,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:248,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:249,1
    - Dst: ticket
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:250,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:251,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:252,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:252,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:253,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:256,1
    - Dst: rows_changed_by_last_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 260
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 260
    functionName: Botan::TLS::Session_Manager_SQL::remove
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - rows_changed_by_last_statement
    - auto::spin
    - auto::get
    - hex_encode
    - ticket
    - Invalid_Argument
    - id
    - auto::bind
    linkageType: ''
    returnType: size_t
    signature: size_t Session_Manager_SQL::remove(const Session_Handle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exec
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:267,1
    - Dst: rows_changed_by_last_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: Botan::TLS::Session_Manager_SQL::remove_all
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 0
    functionsReached:
    - exec
    - rows_changed_by_last_statement
    linkageType: ''
    returnType: size_t
    signature: size_t Session_Manager_SQL::remove_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:278,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:281,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: Botan::TLS::Session_Manager_SQL::prune_session_cache
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 1
    functionsReached:
    - new_statement
    - auto::bind
    - auto::spin
    linkageType: ''
    returnType: void
    signature: void Session_Manager_SQL::prune_session_cache()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::TLS::Session_Manager_SQL
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Session_Manager_SQL(const Session_Manager_SQL&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::TLS::emits_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool emits_session_tickets() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_threadsafe
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::TLS::database_is_threadsafe
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.h
    functionUses: 0
    functionsReached:
    - is_threadsafe
    linkageType: ''
    returnType: bool
    signature: bool database_is_threadsafe() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::get_associated_allocator
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::TLS::detail::AsyncBase::get_allocator
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - boost::asio::get_associated_allocator
    linkageType: ''
    returnType: allocator_type
    signature: allocator_type get_allocator() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::get_associated_executor
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:73,1
    - Dst: Botan::TLS::detail::AsyncBase::get_executor
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::TLS::detail::AsyncBase::get_executor
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 1
    functionsReached:
    - boost::asio::get_associated_executor
    - Botan::TLS::detail::AsyncBase::get_executor
    linkageType: ''
    returnType: executor_type
    signature: executor_type get_executor() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<HandlerT>
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' handler'
    - ' executor'
    argTypes:
    - HandlerT
    - Executor1
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: Botan::TLS::detail::AsyncBase::AsyncBase
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - std::forward<HandlerT>
    linkageType: ''
    returnType: void
    signature: void AsyncBase(HandlerT&& handler, const Executor1& executor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:90,1
    - Dst: m_handler
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:91,1
    - Dst: std::forward<Args>
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: Botan::TLS::detail::AsyncBase::complete_now
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 21
    functionsReached:
    - std::forward<Args>
    - reset
    - m_handler
    linkageType: ''
    returnType: void
    signature: void complete_now(Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<HandlerT>
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:114,1
    - Dst: get_executor
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:115,1
    - Dst: std::size_t
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' handler'
    - ' stream'
    - ' buffers'
    argTypes:
    - HandlerT
    - Stream
    - MutableBufferSequence
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: Botan::TLS::detail::AsyncReadOperation::AsyncReadOperation
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - get_executor
    - std::size_t
    - std::forward<HandlerT>
    linkageType: ''
    returnType: void
    signature: "void AsyncReadOperation(HandlerT&& handler,\n                         Stream&
      stream,\n                         const MutableBufferSequence& buffers,\n                         const
      boost::system::error_code& ec = {})"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Botan::TLS::detail::AsyncReadOperation::AsyncReadOperation
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncReadOperation(AsyncReadOperation&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown_received
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:142,1
    - Dst: input_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:151,1
    - Dst: process_encrypted_data
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:152,1
    - Dst: has_received_data
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:157,1
    - Dst: handle_tls_protocol_errors
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:160,1
    - Dst: Botan::TLS::Channel_Impl::set_io_buffer_size
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:162,1
    - Dst: next_layer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:164,1
    - Dst: input_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:164,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:164,1
    - Dst: has_received_data
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:172,1
    - Dst: copy_received_data
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:173,1
    - Dst: boost::asio::mutable_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:180,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:180,1
    - Dst: operator()(boost::system::error_code ec, std::complete_now
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:184,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ec
    - bytes_transferred
    argTypes:
    - boost::system::error_code
    - std::size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 186
    functionName: operator()(boost::system::error_code ec, std::size_t bytes_transferred,
      bool isContinuation = true)
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - std::move
    - input_buffer
    - shutdown_received
    - boost::asio::mutable_buffer
    - process_encrypted_data
    - handle_tls_protocol_errors
    - has_received_data
    - next_layer
    - operator()(boost::system::error_code ec, std::complete_now
    - Botan::TLS::Channel_Impl::set_io_buffer_size
    - copy_received_data
    linkageType: ''
    returnType: void
    signature: void operator()(boost::system::error_code ec, std::size_t bytes_transferred,
      bool isContinuation = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<HandlerT>
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:214,1
    - Dst: get_executor
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:215,1
    - Dst: std::size_t
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' handler'
    - ' stream'
    - plainBytesTransferred
    argTypes:
    - HandlerT
    - Stream
    - std::size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: Botan::TLS::detail::AsyncWriteOperation::AsyncWriteOperation
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - get_executor
    - std::size_t
    - std::forward<HandlerT>
    linkageType: ''
    returnType: void
    signature: "void AsyncWriteOperation(HandlerT&& handler,\n                          Stream&
      stream,\n                          std::size_t plainBytesTransferred,\n                          const
      boost::system::error_code& ec = {})"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: Botan::TLS::detail::AsyncWriteOperation::AsyncWriteOperation
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncWriteOperation(AsyncWriteOperation&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown_received
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:237,1
    - Dst: consume_send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:244,1
    - Dst: has_data_to_send
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:248,1
    - Dst: next_layer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:249,1
    - Dst: send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:249,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:249,1
    - Dst: boost::asio::const_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:257,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:257,1
    - Dst: operator()(boost::system::error_code ec, std::complete_now
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ec
    - bytes_transferred
    argTypes:
    - boost::system::error_code
    - std::size_t
    constantsTouched: []
    func_position:
      end: 265
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 265
    functionName: operator()(boost::system::error_code ec, std::size_t bytes_transferred,
      bool isContinuation = true)
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - std::move
    - shutdown_received
    - boost::asio::const_buffer
    - send_buffer
    - consume_send_buffer
    - next_layer
    - has_data_to_send
    - operator()(boost::system::error_code ec, std::complete_now
    linkageType: ''
    returnType: void
    signature: void operator()(boost::system::error_code ec, std::size_t bytes_transferred,
      bool isContinuation = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<HandlerT>
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:285,1
    - Dst: get_executor
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:286,1
    - Dst: std::size_t
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' handler'
    - ' stream'
    argTypes:
    - HandlerT
    - Stream
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: Botan::TLS::detail::AsyncHandshakeOperation::AsyncHandshakeOperation
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - get_executor
    - std::size_t
    - std::forward<HandlerT>
    linkageType: ''
    returnType: void
    signature: void AsyncHandshakeOperation(HandlerT&& handler, Stream& stream, const
      boost::system::error_code& ec = {})
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan::TLS::detail::AsyncHandshakeOperation::AsyncHandshakeOperation
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncHandshakeOperation(AsyncHandshakeOperation&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown_received
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:310,1
    - Dst: input_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:319,1
    - Dst: process_encrypted_data
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:320,1
    - Dst: has_data_to_send
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:326,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:334,1
    - Dst: native_handle
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:340,1
    - Dst: handle_tls_protocol_errors
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:343,1
    - Dst: next_layer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:348,1
    - Dst: input_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:348,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:348,1
    - Dst: boost::asio::mutable_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:357,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:357,1
    - Dst: operator()(boost::system::error_code ec, std::complete_now
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ec
    - bytesTransferred
    argTypes:
    - boost::system::error_code
    - std::size_t
    constantsTouched: []
    func_position:
      end: 363
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 363
    functionName: operator()(boost::system::error_code ec, std::size_t bytesTransferred,
      bool isContinuation = true)
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - std::move
    - input_buffer
    - shutdown_received
    - boost::asio::mutable_buffer
    - process_encrypted_data
    - handle_tls_protocol_errors
    - next_layer
    - has_data_to_send
    - native_handle
    - operator()(boost::system::error_code ec, std::complete_now
    linkageType: ''
    returnType: void
    signature: void operator()(boost::system::error_code ec, std::size_t bytesTransferred,
      bool isContinuation = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/asio/asio_context.h:67,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_context.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - credentials_manager
    - rng
    - session_manager
    - policy
    argTypes:
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<RandomNumberGenerator>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<const Policy>
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: Botan::TLS::Context
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached:
    - std::move
    - Server_Information
    linkageType: ''
    returnType: void
    signature: "void Context(std::shared_ptr<Credentials_Manager> credentials_manager,\n
      \             std::shared_ptr<RandomNumberGenerator> rng,\n              std::shared_ptr<Session_Manager>
      session_manager,\n              std::shared_ptr<const Policy> policy,\n              Server_Information
      server_info = Server_Information())"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ~Context()
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Context()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::TLS::Context
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context(Context&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::TLS::Context
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context(const Context&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_context.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - Verify_Callback
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan::TLS::set_verify_callback
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_verify_callback(Verify_Callback callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/botan/src/lib/tls/asio/asio_context.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::TLS::has_verify_callback
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: bool
    signature: bool has_verify_callback() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::TLS::get_verify_callback
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Verify_Callback
    signature: Verify_Callback & get_verify_callback() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_context.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - server_info
    argTypes:
    - Server_Information
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan::TLS::set_server_info
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_server_info(Server_Information server_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~StreamCategory()
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamCategory()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::TLS::name
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * name() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: Botan::TLS::message
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string message(int value) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::TLS::botan_stream_category
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamCategory
    signature: StreamCategory & botan_stream_category()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::error_code
      Src: /src/botan/src/lib/tls/asio/asio_error.h:54,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/tls/asio/asio_error.h:54,1
    - Dst: Botan::TLS::botan_stream_category
      Src: /src/botan/src/lib/tls/asio/asio_error.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Botan::TLS::StreamError
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::TLS::make_error_code
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::error_code
    - static_cast<int>
    - Botan::TLS::botan_stream_category
    linkageType: ''
    returnType: boost::system::error_code
    signature: boost::system::error_code make_error_code(Botan::TLS::StreamError e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ~BotanAlertCategory()
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BotanAlertCategory()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::TLS::name
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * name() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/lib/tls/asio/asio_error.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: Botan::TLS::message
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type_string
    linkageType: ''
    returnType: std::string
    signature: std::string message(int ev) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: Botan::TLS::botan_alert_category
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BotanAlertCategory
    signature: BotanAlertCategory & botan_alert_category() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::error_code
      Src: /src/botan/src/lib/tls/asio/asio_error.h:75,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/tls/asio/asio_error.h:75,1
    - Dst: Botan::TLS::botan_alert_category
      Src: /src/botan/src/lib/tls/asio/asio_error.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - Botan::TLS::Alert::Type
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::TLS::make_error_code
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::botan_alert_category
    - Botan::TLS::error_code
    - static_cast<int>
    linkageType: ''
    returnType: boost::system::error_code
    signature: boost::system::error_code make_error_code(Botan::TLS::Alert::Type c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~BotanErrorCategory()
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BotanErrorCategory()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::name
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * name() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/tls/asio/asio_error.h:86,1
    - Dst: static_cast<Botan::ErrorType>
      Src: /src/botan/src/lib/tls/asio/asio_error.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan::message
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached:
    - Botan::to_string
    - static_cast<Botan::ErrorType>
    linkageType: ''
    returnType: std::string
    signature: std::string message(int ev) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: Botan::botan_category
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BotanErrorCategory
    signature: BotanErrorCategory & botan_category() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::error_code
      Src: /src/botan/src/lib/tls/asio/asio_error.h:95,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/tls/asio/asio_error.h:95,1
    - Dst: Botan::botan_category
      Src: /src/botan/src/lib/tls/asio/asio_error.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Botan::ErrorType
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::make_error_code
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::error_code
    - static_cast<int>
    - Botan::botan_category
    linkageType: ''
    returnType: boost::system::error_code
    signature: boost::system::error_code make_error_code(Botan::ErrorType e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::TLS::StreamCallbacks::StreamCallbacks
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamCallbacks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: commit
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:62,1
    - Dst: boost::asio::buffer_copy
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:62,1
    - Dst: prepare
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:62,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:62,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:63,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:63,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: Botan::TLS::StreamCallbacks::tls_emit_data
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    - prepare
    - boost::asio::buffer_copy
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - commit
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> data) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: commit
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:67,1
    - Dst: boost::asio::buffer_copy
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:67,1
    - Dst: prepare
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:67,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:67,1
    - Dst: boost::asio::const_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:68,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:68,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan::TLS::StreamCallbacks::tls_record_received
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - boost::asio::const_buffer
    - prepare
    - boost::asio::buffer_copy
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - commit
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t, std::span<const uint8_t> data) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: Botan::TLS::StreamCallbacks::tls_peer_closed_connection
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tls_peer_closed_connection() final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS::Alert::is_fatal
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:86,1
    - Dst: TLS::Alert::type
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - alert
    argTypes:
    - TLS::Alert
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: Botan::TLS::StreamCallbacks::tls_alert
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - TLS::Alert::type
    - TLS::Alert::is_fatal
    linkageType: ''
    returnType: void
    signature: void tls_alert(TLS::Alert alert) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:101,1
    - Dst: auto::has_verify_callback
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:103,1
    - Dst: auto::get_verify_callback
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:104,1
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - ' cert_chain'
    - ' ocsp_responses'
    - ' trusted_roots'
    - usage
    - hostname
    - ' policy'
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<std::optional<OCSP::Response>>
    - std::vector<Certificate_Store*>
    - Usage_Type
    - std::string_view
    - TLS::Policy
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: Botan::TLS::StreamCallbacks::tls_verify_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - lock
    - Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
    - auto::get_verify_callback
    - auto::has_verify_callback
    linkageType: ''
    returnType: void
    signature: "void tls_verify_cert_chain(const std::vector<X509_Certificate>& cert_chain,\n
      \                                const std::vector<std::optional<OCSP::Response>>&
      ocsp_responses,\n                                 const std::vector<Certificate_Store*>&
      trusted_roots,\n                                 Usage_Type usage,\n                                 std::string_view
      hostname,\n                                 const TLS::Policy& policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - std::weak_ptr<Botan::TLS::Context>
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Botan::TLS::StreamCallbacks::set_context
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_context(std::weak_ptr<Botan::TLS::Context> context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: consume
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:117,1
    - Dst: size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Botan::TLS::StreamCallbacks::consume_send_buffer
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - consume
    - size
    linkageType: ''
    returnType: void
    signature: void consume_send_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '& send_buffer()'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::beast::flat_buffer
    signature: boost::beast::flat_buffer & send_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '& send_buffer() const'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::beast::flat_buffer
    signature: boost::beast::flat_buffer & send_buffer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: '& receive_buffer()'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::beast::flat_buffer
    signature: boost::beast::flat_buffer & receive_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '& receive_buffer() const'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::beast::flat_buffer
    signature: boost::beast::flat_buffer & receive_buffer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Botan::TLS::StreamCallbacks::shutdown_received
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: bool
    signature: bool shutdown_received() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::TLS::StreamCallbacks::alert_from_peer
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Alert>
    signature: std::optional<Alert> alert_from_peer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:181,1
    - Dst: std::forward<Args>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:182,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:183,1
    - Dst: data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:185,1
    - Dst: size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:185,1
    - Dst: set_context
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - context
    - callbacks
    argTypes:
    - std::shared_ptr<Context>
    - std::shared_ptr<StreamCallbacks>
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: Botan::TLS::Stream::Stream
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::forward<Args>
    - data
    - size
    - set_context
    linkageType: ''
    returnType: void
    signature: void Stream(std::shared_ptr<Context> context, std::shared_ptr<StreamCallbacks>
      callbacks, Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:197,1
    - Dst: std::make_shared<StreamCallbacks>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:197,1
    - Dst: std::forward<Args>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - std::shared_ptr<Context>
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: Botan::TLS::Stream::Stream
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<StreamCallbacks>
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void Stream(std::shared_ptr<Context> context, Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<StreamCallbacks>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:213,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:214,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:214,1
    - Dst: std::forward<Arg>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' arg'
    - context
    argTypes:
    - Arg
    - std::shared_ptr<Context>
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: Botan::TLS::Stream::Stream
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<StreamCallbacks>
    - std::forward<Arg>
    linkageType: ''
    returnType: void
    signature: "void Stream(Arg&& arg,\n                      std::shared_ptr<Context>
      context,\n                      std::shared_ptr<StreamCallbacks> callbacks =
      std::make_shared<StreamCallbacks>())"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Context>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:229,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:229,1
    - Dst: std::forward<Args>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - server_info
    argTypes:
    - Server_Information
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: Botan::TLS::Stream::Stream
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::forward<Args>
    - std::make_shared<Context>
    linkageType: ''
    returnType: void
    signature: void Stream(Server_Information server_info, Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: ~Stream()
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: Botan::TLS::Stream::Stream
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream(Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: '& operator=(Stream&& other)'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Stream
    signature: Stream & operator=(Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: Botan::TLS::Stream::Stream
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream(const Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: '& operator=(const Stream& other)'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Stream
    signature: Stream & operator=(const Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: '& next_layer() const'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: next_layer_type
    signature: next_layer_type & next_layer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: '& next_layer()'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: next_layer_type
    signature: next_layer_type & next_layer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::beast::get_lowest_layer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: '& lowest_layer()'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - boost::beast::get_lowest_layer
    linkageType: ''
    returnType: lowest_layer_type
    signature: lowest_layer_type & lowest_layer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::beast::get_lowest_layer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: '& lowest_layer() const'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - boost::beast::get_lowest_layer
    linkageType: ''
    returnType: lowest_layer_type
    signature: lowest_layer_type & lowest_layer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::get_executor
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: Botan::TLS::Stream::get_executor
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::get_executor
    linkageType: ''
    returnType: executor_type
    signature: executor_type get_executor() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:264,1
    - Dst: get
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: Botan::TLS::Stream::native_handle
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Invalid_State
    - get
    linkageType: ''
    returnType: native_handle_type
    signature: native_handle_type native_handle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::set_verify_callback
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:283,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - Context::Verify_Callback
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: Botan::TLS::Stream::set_verify_callback
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::TLS::Stream::set_verify_callback
    linkageType: ''
    returnType: void
    signature: void set_verify_callback(Context::Verify_Callback callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::set_verify_callback
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:293,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - callback
    - ' ec'
    argTypes:
    - Context::Verify_Callback
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: Botan::TLS::Stream::set_verify_callback
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 2
    functionsReached:
    - std::move
    - Botan::TLS::Stream::set_verify_callback
    linkageType: ''
    returnType: void
    signature: void set_verify_callback(Context::Verify_Callback callback, [[maybe_unused]]
      boost::system::error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: Botan::TLS::Stream::set_verify_depth
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void set_verify_depth([[maybe_unused]] int depth)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - depth
    - ' ec'
    argTypes:
    - int
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: Botan::TLS::Stream::set_verify_depth
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_verify_depth([[maybe_unused]] int depth, boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - verify_mode
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: Botan::TLS::Stream::set_verify_mode
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void set_verify_mode([[maybe_unused]] verify_mode v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - ' ec'
    argTypes:
    - verify_mode
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: Botan::TLS::Stream::set_verify_mode
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_verify_mode([[maybe_unused]] verify_mode v, boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::handshake
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:348,1
    - Dst: do_throw_error
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: Botan::TLS::Stream::handshake
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::handshake
    - do_throw_error
    linkageType: ''
    returnType: void
    signature: void handshake(Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::setup_native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:361,1
    - Dst: Botan::TLS::Stream::has_data_to_send
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:370,1
    - Dst: Botan::TLS::Stream::send_pending_encrypted_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:371,1
    - Dst: Botan::TLS::Stream::native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:376,1
    - Dst: Botan::TLS::Stream::handle_tls_protocol_errors
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:384,1
    - Dst: Botan::TLS::Stream::read_and_process_encrypted_data_from_peer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - side
    - ' ec'
    argTypes:
    - Connection_Side
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 392
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 392
    functionName: Botan::TLS::Stream::handshake
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::has_data_to_send
    - Botan::TLS::Stream::read_and_process_encrypted_data_from_peer
    - Botan::TLS::Stream::native_handle
    - Botan::TLS::Stream::handle_tls_protocol_errors
    - Botan::TLS::Stream::setup_native_handle
    - Botan::TLS::Stream::send_pending_encrypted_data
    linkageType: ''
    returnType: void
    signature: void handshake(Connection_Side side, boost::system::error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::async_initiate<CompletionToken, void(boost::system::error_code)>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:406,1
    - Dst: Botan::TLS::Stream::setup_native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:411,1
    - Dst: std::forward<completion_handler_t>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - side
    argTypes:
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: Botan::TLS::Stream::async_handshake
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Stream::setup_native_handle
    - boost::asio::async_initiate<CompletionToken, void(boost::system::error_code)>
    - std::forward<completion_handler_t>
    linkageType: ''
    returnType: auto
    signature: "auto async_handshake(Botan::TLS::Connection_Side side,\n                           CompletionToken&&
      completion_token = default_completion_token{})"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - side
    - ' buffers'
    - ' handler'
    argTypes:
    - Connection_Side
    - ConstBufferSequence
    - BufferedHandshakeHandler
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: Botan::TLS::Stream::async_handshake
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: auto
    signature: "auto async_handshake([[maybe_unused]] Connection_Side side,\n                           [[maybe_unused]]
      const ConstBufferSequence& buffers,\n                           [[maybe_unused]]
      BufferedHandshakeHandler&& handler)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::try_with_error_code
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:446,1
    - Dst: Botan::TLS::Stream::native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:446,1
    - Dst: Botan::TLS::Stream::send_pending_encrypted_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: Botan::TLS::Stream::shutdown
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Stream::try_with_error_code
    - Botan::TLS::Stream::send_pending_encrypted_data
    - Botan::TLS::Stream::native_handle
    linkageType: ''
    returnType: void
    signature: void shutdown(boost::system::error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::shutdown
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:463,1
    - Dst: do_throw_error
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: Botan::TLS::Stream::shutdown
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - do_throw_error
    - Botan::TLS::Stream::shutdown
    linkageType: ''
    returnType: void
    signature: void shutdown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handler
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: operator()(boost::system::error_code ec, std::size_t)
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - handler
    linkageType: ''
    returnType: void
    signature: void operator()(boost::system::error_code ec, std::size_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::get_associated_executor
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: Botan::TLS::Stream::get_executor
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - boost::asio::get_associated_executor
    linkageType: ''
    returnType: executor_type
    signature: executor_type get_executor() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::get_associated_allocator
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: Botan::TLS::Stream::get_allocator
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - boost::asio::get_associated_allocator
    linkageType: ''
    returnType: allocator_type
    signature: allocator_type get_allocator() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::async_initiate<CompletionToken, void(boost::system::error_code)>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:506,1
    - Dst: Botan::TLS::Stream::try_with_error_code
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:511,1
    - Dst: Botan::TLS::Stream::native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:511,1
    - Dst: std::forward<completion_handler_t>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:516,1
    - Dst: Botan::TLS::Stream::get_executor
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:516,1
    - Dst: Botan::TLS::Channel_Impl::set_io_buffer_size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:518,1
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 522
    functionName: Botan::TLS::Stream::async_shutdown
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Stream::get_executor
    - boost::asio::async_initiate<CompletionToken, void(boost::system::error_code)>
    - Botan::TLS::Stream::try_with_error_code
    - Botan::TLS::Stream::native_handle
    - std::forward<completion_handler_t>
    - Botan::TLS::Stream::send_buffer
    - Botan::TLS::Channel_Impl::set_io_buffer_size
    linkageType: ''
    returnType: auto
    signature: auto async_shutdown(CompletionToken&& completion_token = default_completion_token{})
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::has_received_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:546,1
    - Dst: Botan::TLS::Stream::copy_received_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:547,1
    - Dst: Botan::TLS::Stream::handle_tls_protocol_errors
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:556,1
    - Dst: Botan::TLS::Stream::read_and_process_encrypted_data_from_peer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' buffers'
    - ' ec'
    argTypes:
    - MutableBufferSequence
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 567
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 567
    functionName: Botan::TLS::Stream::read_some
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Stream::read_and_process_encrypted_data_from_peer
    - Botan::TLS::Stream::handle_tls_protocol_errors
    - Botan::TLS::Stream::has_received_data
    - Botan::TLS::Stream::copy_received_data
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t read_some(const MutableBufferSequence& buffers, boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::read_some
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:582,1
    - Dst: do_throw_error
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' buffers'
    argTypes:
    - MutableBufferSequence
    constantsTouched: []
    func_position:
      end: 585
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 585
    functionName: Botan::TLS::Stream::read_some
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - do_throw_error
    - Botan::TLS::Stream::read_some
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t read_some(const MutableBufferSequence& buffers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::tls_encrypt
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:599,1
    - Dst: Botan::TLS::Stream::send_pending_encrypted_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:600,1
    - Dst: Botan::TLS::Channel_Impl::set_io_buffer_size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' buffers'
    - ' ec'
    argTypes:
    - ConstBufferSequence
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: Botan::TLS::Stream::write_some
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::set_io_buffer_size
    - Botan::TLS::Stream::send_pending_encrypted_data
    - Botan::TLS::Stream::tls_encrypt
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t write_some(const ConstBufferSequence& buffers, boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::write_some
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:617,1
    - Dst: do_throw_error
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' buffers'
    argTypes:
    - ConstBufferSequence
    constantsTouched: []
    func_position:
      end: 620
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 620
    functionName: Botan::TLS::Stream::write_some
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::write_some
    - do_throw_error
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t write_some(const ConstBufferSequence& buffers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::async_initiate<CompletionToken, void(boost::system::error_code,
        std::size_t)>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:634,1
    - Dst: Botan::TLS::Stream::tls_encrypt
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:639,1
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:644,1
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:644,1
    - Dst: std::forward<completion_handler_t>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:648,1
    - Dst: Botan::TLS::Channel_Impl::set_io_buffer_size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' buffers'
    argTypes:
    - ConstBufferSequence
    constantsTouched: []
    func_position:
      end: 655
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 655
    functionName: Botan::TLS::Stream::async_write_some
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - std::forward<completion_handler_t>
    - boost::asio::async_initiate<CompletionToken, void(boost::system::error_code,
      std::size_t)>
    - Botan::TLS::Stream::send_buffer
    - Botan::TLS::Channel_Impl::set_io_buffer_size
    - Botan::TLS::Stream::tls_encrypt
    linkageType: ''
    returnType: auto
    signature: "auto async_write_some(const ConstBufferSequence& buffers,\n                            CompletionToken&&
      completion_token = default_completion_token{})"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::async_initiate<CompletionToken, void(boost::system::error_code,
        std::size_t)>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:670,1
    - Dst: std::forward<completion_handler_t>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' buffers'
    argTypes:
    - MutableBufferSequence
    constantsTouched: []
    func_position:
      end: 679
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 679
    functionName: Botan::TLS::Stream::async_read_some
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - boost::asio::async_initiate<CompletionToken, void(boost::system::error_code,
      std::size_t)>
    - std::forward<completion_handler_t>
    linkageType: ''
    returnType: auto
    signature: "auto async_read_some(const MutableBufferSequence& buffers,\n                           CompletionToken&&
      completion_token = default_completion_token{})"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::shutdown_received
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 687
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 687
    functionName: Botan::TLS::Stream::shutdown_received
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::shutdown_received
    linkageType: ''
    returnType: bool
    signature: bool shutdown_received() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 697
    functionName: '& input_buffer()'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::asio::mutable_buffer
    signature: boost::asio::mutable_buffer & input_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 699
    functionName: Botan::TLS::Stream::send_buffer
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 3
    functionsReached:
    - Botan::TLS::Stream::send_buffer
    linkageType: ''
    returnType: boost::asio::const_buffer
    signature: boost::asio::const_buffer send_buffer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: receive_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 702
    functionName: Botan::TLS::Stream::has_received_data
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - receive_buffer
    linkageType: ''
    returnType: bool
    signature: bool has_received_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::buffer_copy
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:711,1
    - Dst: receive_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:711,1
    - Dst: receive_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffers
    argTypes:
    - MutableBufferSequence
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: Botan::TLS::Stream::copy_received_data
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - boost::asio::buffer_copy
    - receive_buffer
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t copy_received_data(MutableBufferSequence buffers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: Botan::TLS::Stream::has_data_to_send
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::send_buffer
    linkageType: ''
    returnType: bool
    signature: bool has_data_to_send() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytesConsumed
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 720
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 720
    functionName: Botan::TLS::Stream::consume_send_buffer
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Stream::send_buffer
    linkageType: ''
    returnType: void
    signature: void consume_send_buffer(std::size_t bytesConsumed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:736,1
    - Dst: Botan::TLS::Stream::try_with_error_code
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:739,1
    - Dst: std::unique_ptr<Client>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:742,1
    - Dst: m_policy::latest_supported_version
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:749,1
    - Dst: Client::Client
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:743,1
    - Dst: std::unique_ptr<Server>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:751,1
    - Dst: Server::Server
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - side
    - ' ec'
    argTypes:
    - Connection_Side
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 761
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 761
    functionName: Botan::TLS::Stream::setup_native_handle
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 2
    functionsReached:
    - std::unique_ptr<Server>
    - Server::Server
    - Botan::TLS::Stream::try_with_error_code
    - Invalid_State
    - std::unique_ptr<Client>
    - Client::Client
    - m_policy::latest_supported_version
    linkageType: ''
    returnType: void
    signature: void setup_native_handle(Connection_Side side, boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::error_from_us
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:788,1
    - Dst: Botan::TLS::Stream::alert_from_peer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:800,1
    - Dst: auto::type
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:801,1
    - Dst: auto::type
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 807
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 807
    functionName: Botan::TLS::Stream::handle_tls_protocol_errors
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 2
    functionsReached:
    - Botan::TLS::Stream::error_from_us
    - auto::type
    - Botan::TLS::Stream::alert_from_peer
    linkageType: ''
    returnType: void
    signature: void handle_tls_protocol_errors(boost::system::error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::has_received_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:826,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:827,1
    - Dst: Botan::TLS::Stream::error_from_us
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:830,1
    - Dst: Botan::TLS::Stream::alert_from_peer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:830,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:831,1
    - Dst: input_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:838,1
    - Dst: Botan::TLS::Stream::read_some
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:838,1
    - Dst: input_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:838,1
    - Dst: Botan::TLS::Stream::process_encrypted_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:840,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 844
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 844
    functionName: Botan::TLS::Stream::read_and_process_encrypted_data_from_peer
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 2
    functionsReached:
    - input_buffer
    - Botan::TLS::Stream::process_encrypted_data
    - Botan::TLS::Stream::read_some
    - Botan::TLS::Stream::error_from_us
    - Botan::TLS::Stream::has_received_data
    - Botan::TLS::Stream::alert_from_peer
    - Invalid_State
    linkageType: ''
    returnType: void
    signature: void read_and_process_encrypted_data_from_peer(boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Botan_Importer::write
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:859,1
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:859,1
    - Dst: Botan::TLS::Stream::consume_send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:860,1
    - Dst: Botan::TLS::Stream::shutdown_received
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:862,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 868
      start: 854
    functionDepth: 3
    functionLinenumber: 854
    functionLinenumberEnd: 868
    functionName: Botan::TLS::Stream::send_pending_encrypted_data
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::Botan_Importer::write
    - Botan::TLS::Stream::consume_send_buffer
    - Botan::TLS::Stream::send_buffer
    - Botan::TLS::Stream::shutdown_received
    linkageType: ''
    returnType: size_t
    signature: size_t send_pending_encrypted_data(boost::system::error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:883,1
    - Dst: boost::asio::buffer_sequence_begin
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:883,1
    - Dst: boost::asio::buffer_sequence_end
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:883,1
    - Dst: boost::asio::buffer_sequence_begin
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:888,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:889,1
    - Dst: boost::asio::const_buffer::data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:889,1
    - Dst: boost::asio::const_buffer::size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:889,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:891,1
    - Dst: Botan::TLS::Channel_Impl::set_io_buffer_size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:891,1
    - Dst: boost::asio::buffer_copy
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:892,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:892,1
    - Dst: Botan::TLS::Stream::try_with_error_code
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:900,1
    - Dst: Botan::TLS::Stream::native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:900,1
    - Dst: unpack
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' buffers'
    - ' ec'
    argTypes:
    - ConstBufferSequence
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 901
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 901
    functionName: Botan::TLS::Stream::tls_encrypt
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 2
    functionsReached:
    - static_cast<const uint8_t*>
    - nlohmann::detail::fill_buffer
    - boost::asio::buffer_sequence_begin
    - Botan::TLS::Stream::try_with_error_code
    - Botan::TLS::Stream::native_handle
    - boost::asio::buffer_copy
    - boost::asio::buffer_sequence_end
    - unpack
    - std::vector::resize
    - boost::asio::const_buffer::data
    - boost::asio::const_buffer::size
    - Botan::TLS::Channel_Impl::set_io_buffer_size
    - std::distance
    linkageType: ''
    returnType: void
    signature: void tls_encrypt(const ConstBufferSequence& buffers, boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::alert_from_peer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:915,1
    - Dst: Botan::TLS::Stream::error_from_us
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:915,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:916,1
    - Dst: Botan::TLS::Stream::try_with_error_code
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:923,1
    - Dst: Botan::TLS::Stream::native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:925,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:925,1
    - Dst: data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:925,1
    - Dst: size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' read_buffer'
    argTypes:
    - boost::asio::const_buffer
    constantsTouched: []
    func_position:
      end: 928
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 928
    functionName: Botan::TLS::Stream::process_encrypted_data
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - static_cast<const uint8_t*>
    - Botan::TLS::Stream::error_from_us
    - data
    - Botan::TLS::Stream::try_with_error_code
    - Botan::TLS::Stream::native_handle
    - Botan::TLS::Stream::alert_from_peer
    - Invalid_State
    - size
    linkageType: ''
    returnType: void
    signature: void process_encrypted_data(const boost::asio::const_buffer& read_buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:934,1
    - Dst: type
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:936,1
    - Dst: error_type
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - f
    - ' ec'
    argTypes:
    - Fun
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: Botan::TLS::Stream::try_with_error_code
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 5
    functionsReached:
    - f
    - type
    - error_type
    linkageType: ''
    returnType: void
    signature: void try_with_error_code(Fun f, boost::system::error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::alert_from_peer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 950
    functionName: Botan::TLS::Stream::alert_from_peer
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 4
    functionsReached:
    - Botan::TLS::Stream::alert_from_peer
    linkageType: ''
    returnType: std::optional<Alert>
    signature: std::optional<Alert> alert_from_peer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 958
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 958
    functionName: Botan::TLS::Stream::error_from_us
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boost::system::error_code
    signature: boost::system::error_code error_from_us() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<System_Certificate_Store>
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: Botan::TLS::Default_Credentials_Manager::Default_Credentials_Manager
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<System_Certificate_Store>
    linkageType: ''
    returnType: void
    signature: void Default_Credentials_Manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Default_Credentials_Manager::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: std::vector<Certificate_Store*>
    signature: std::vector<Certificate_Store*> trusted_certificate_authorities(const
      std::string&, const std::string&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Default_Credentials_Manager>
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:52,1
    - Dst: std::make_shared<AutoSeeded_RNG>
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:53,1
    - Dst: std::make_shared<Session_Manager_In_Memory>
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:54,1
    - Dst: std::make_shared<Default_Policy>
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:55,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - server_info
    argTypes:
    - Server_Information
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Context::Context
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<Session_Manager_In_Memory>
    - std::make_shared<Default_Policy>
    - std::make_shared<Default_Credentials_Manager>
    - std::make_shared<AutoSeeded_RNG>
    linkageType: ''
    returnType: void
    signature: void Context::Context(Server_Information server_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:20,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:20,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:20,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data_from_peer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::TLS::Handshake_Layer::copy_data
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 1
    functionsReached:
    - insert
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void Handshake_Layer::copy_data(std::span<const uint8_t> data_from_peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Handshake_Type>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:29,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:43,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - byte_value
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 55
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 55
    functionName: Botan::TLS::handshake_type_from_byte
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - static_cast<Handshake_Type>
    linkageType: ''
    returnType: Handshake_Type
    signature: Handshake_Type handshake_type_from_byte(uint8_t byte_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remaining_bytes
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:63,1
    - Dst: Botan::TLS::handshake_type_from_byte
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:67,1
    - Dst: get_byte
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:67,1
    - Dst: remaining_bytes
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:71,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:76,1
    - Dst: generalize_to<Handshake_Message_13>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:83,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:83,1
    - Dst: generalize_to<Handshake_Message_13>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:87,1
    - Dst: Botan::TLS::Server_Hello_13::parse
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:87,1
    - Dst: Encrypted_Extensions
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:91,1
    - Dst: Certificate_13
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:93,1
    - Dst: Certificate_Request_13
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:95,1
    - Dst: Certificate_Verify_13
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:97,1
    - Dst: Finished_13
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:99,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:101,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:104,1
    - Dst: New_Session_Ticket_13
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:108,1
    - Dst: Key_Update
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:110,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 4
    argNames:
    - ' reader'
    - ' policy'
    - peer_side
    - cert_type
    argTypes:
    - TLS::TLS_Data_Reader
    - Policy
    - Connection_Side
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 115
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 115
    functionName: Botan::TLS::parse_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - get_fixed
    - BOTAN_UNUSED
    - Key_Update
    - Certificate_13
    - Botan::TLS::Client_Hello_13::parse
    - Certificate_Request_13
    - get_byte
    - Encrypted_Extensions
    - Botan::TLS::handshake_type_from_byte
    - Finished_13
    - Certificate_Verify_13
    - BOTAN_ASSERT
    - Botan::TLS::Server_Hello_13::parse
    - remaining_bytes
    - generalize_to<Handshake_Message_13>
    - New_Session_Ticket_13
    linkageType: ''
    returnType: std::optional<Msg_Type>
    signature: "std::optional<Msg_Type> parse_message(TLS::TLS_Data_Reader& reader,\n
      \                                     const Policy& policy,\n                                      const
      Connection_Side peer_side,\n                                      const Certificate_Type
      cert_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_message<Handshake_Message_13>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:123,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:124,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:125,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:125,1
    - Dst: TLS::TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:125,1
    - Dst: update
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:126,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:126,1
    - Dst: TLS::TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:126,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:127,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:127,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:127,1
    - Dst: TLS::TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' policy'
    - ' transcript_hash'
    argTypes:
    - Policy
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: Botan::TLS::Handshake_Layer::next_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - update
    - parse_message<Handshake_Message_13>
    - data
    - cbegin
    - size
    - auto::has_value
    - erase
    - TLS::TLS_Data_Reader::read_so_far
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::optional<Handshake_Message_13>
    signature: "std::optional<Handshake_Message_13> Handshake_Layer::next_message(const
      Policy& policy,\n                                                                  Transcript_Hash_State&
      transcript_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_message<Post_Handshake_Message_13>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:136,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:137,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:138,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:138,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:138,1
    - Dst: TLS::TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' policy'
    argTypes:
    - Policy
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: Botan::TLS::Handshake_Layer::next_post_handshake_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - cbegin
    - auto::has_value
    - erase
    - TLS::TLS_Data_Reader::read_so_far
    - parse_message<Post_Handshake_Message_13>
    linkageType: ''
    returnType: std::optional<Post_Handshake_Message_13>
    signature: std::optional<Post_Handshake_Message_13> Handshake_Layer::next_post_handshake_message(const
      Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::reference_wrapper<T>
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan::TLS::get
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 4
    functionsReached:
    - Botan::TLS::get
    linkageType: ''
    returnType: T
    signature: T & get(const std::reference_wrapper<T>& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: Botan::TLS::get
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get(const T& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:162,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:162,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:166,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:166,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:166,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:166,1
    - Dst: concat
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: Botan::TLS::marshall_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - get_byte<3>
    - get_byte<2>
    - get_byte<1>
    - static_cast<uint8_t>
    - size
    - concat
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> marshall_message(const T& message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: marshall_message
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:175,1
    - Dst: update
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - message
    - ' transcript_hash'
    argTypes:
    - Handshake_Message_13_Ref
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: Botan::TLS::Handshake_Layer::prepare_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 1
    functionsReached:
    - marshall_message
    - update
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Handshake_Layer::prepare_message(const Handshake_Message_13_Ref
      message,\n                                                      Transcript_Hash_State&
      transcript_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: marshall_message
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - Post_Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: Botan::TLS::Handshake_Layer::prepare_post_handshake_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - marshall_message
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Handshake_Layer::prepare_post_handshake_message(const
      Post_Handshake_Message_13& message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:33,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:36,1
    - Dst: expect_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:37,1
    - Dst: Botan::TLS::Client_Impl_13::find_session_for_resumption
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:41,1
    - Dst: auto::session::version
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:42,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:43,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:44,1
    - Dst: request_downgrade_for_resumption
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:47,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:47,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:47,1
    - Dst: send_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:52,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:52,1
    - Dst: Client_Hello_13
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:53,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:56,1
    - Dst: find_preshared_keys
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:59,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:59,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:61,1
    - Dst: preserve_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:62,1
    - Dst: tls_13_middlebox_compatibility_mode
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:71,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 7
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' creds'
    - ' policy'
    - ' rng'
    - info
    - ' next_protocols'
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<const Policy>
    - std::shared_ptr<RandomNumberGenerator>
    - Server_Information
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 76
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 76
    functionName: Botan::TLS::Client_Impl_13::Client_Impl_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - expect_downgrade
    - Botan::TLS::Client_Impl_13::find_session_for_resumption
    - sending
    - auto::value
    - allow_tls12
    - hostname
    - set_expected_next
    - tls_13_middlebox_compatibility_mode
    - preserve_client_hello
    - request_downgrade_for_resumption
    - expects_downgrade
    - auto::session::version
    - find_preshared_keys
    - Client_Hello_13
    - send_handshake_message
    linkageType: ''
    returnType: void
    signature: "void Client_Impl_13::Client_Impl_13(const std::shared_ptr<Callbacks>&
      callbacks,\n                               const std::shared_ptr<Session_Manager>&
      session_manager,\n                               const std::shared_ptr<Credentials_Manager>&
      creds,\n                               const std::shared_ptr<const Policy>&
      policy,\n                               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                               Server_Information info,\n                               const
      std::vector<std::string>& next_protocols)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:79,1
    - Dst: confirm_transition_to
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:82,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:82,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:85,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:85,1
    - Dst: Botan::TLS::Client_Impl_13::handle
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:88,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:88,1
    - Dst: received
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:90,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: Botan::TLS::Client_Impl_13::process_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::visit
    - confirm_transition_to
    - Botan::TLS::Client_Impl_13::handle
    - callbacks
    - received
    - get
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::process_handshake_msg(Handshake_Message_13 message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:94,1
    - Dst: Botan::TLS::Client_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:94,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:96,1
    - Dst: Botan::TLS::Client_Impl_13::handle
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:96,1
    - Dst: received
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:96,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - Post_Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: Botan::TLS::Client_Impl_13::process_post_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::visit
    - Botan::TLS::Client_Impl_13::is_handshake_complete
    - Botan::TLS::Client_Impl_13::handle
    - received
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::process_post_handshake_msg(Post_Handshake_Message_13
      message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:104,1
    - Dst: has_server_finished
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:104,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: Botan::TLS::Client_Impl_13::process_dummy_change_cipher_spec
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - has_server_finished
    - has_client_hello
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::process_dummy_change_cipher_spec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake_finished
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan::TLS::Client_Impl_13::is_handshake_complete
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 1
    functionsReached:
    - handshake_finished
    linkageType: ''
    returnType: bool
    signature: bool Client_Impl_13::is_handshake_complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:137,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:137,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:137,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:138,1
    - Dst: auto::front
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:145,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 148
    functionName: Botan::TLS::Client_Impl_13::find_session_for_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 1
    functionsReached:
    - auto::front
    - std::move
    - auto::empty
    - callbacks
    - session_manager
    - policy
    linkageType: ''
    returnType: std::optional<Session_with_Handle>
    signature: std::optional<Session_with_Handle> Client_Impl_13::find_session_for_resumption()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:151,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:152,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:159,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:160,1
    - Dst: random_signals_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:173,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:174,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:183,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:184,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:191,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:192,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:192,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:193,1
    - Dst: selected_version
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:193,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:194,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:197,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:198,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:198,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:203,1
    - Dst: request_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:206,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:210,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - ' server_hello_msg'
    argTypes:
    - Server_Hello_12
    constantsTouched: []
    func_position:
      end: 211
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 211
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - random_signals_downgrade
    - TLS_Exception
    - session_id
    - selected_version
    - request_downgrade
    - set_expected_next
    - has_hello_retry_request
    - extensions
    - client_hello
    - has
    - expects_downgrade
    - get
    - policy
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Server_Hello_12& server_hello_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_id
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:219,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:219,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:220,1
    - Dst: offered_suite
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:226,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:226,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:227,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:236,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:236,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:237,1
    - Dst: selected_version
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:237,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' ch'
    - ' sh'
    argTypes:
    - Client_Hello_13
    - Server_Hello_13
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: Botan::TLS::validate_server_hello_ish
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - session_id
    - offered_suite
    - selected_version
    - ciphersuite
    - extensions
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void validate_server_hello_ish(const Client_Hello_13& ch, const Server_Hello_13&
      sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:247,1
    - Dst: validate_server_hello_ish
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:249,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:256,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:256,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:257,1
    - Dst: has_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:260,1
    - Dst: hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:261,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:267,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:267,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:268,1
    - Dst: selected_version
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:275,1
    - Dst: selected_version
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:275,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:276,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:280,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:280,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:281,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:281,1
    - Dst: auto::usable_in_version
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:287,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:288,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:302,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:303,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:306,1
    - Dst: auto::decapsulate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:307,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:307,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:307,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:307,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:307,1
    - Dst: set_algorithm
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:309,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:309,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:311,1
    - Dst: std::tie
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:312,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:313,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:313,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:313,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:318,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:318,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:319,1
    - Dst: advance_with_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:325,1
    - Dst: previous
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:325,1
    - Dst: advance_with_server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:326,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:327,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:327,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:327,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:329,1
    - Dst: Botan::TLS::Cipher_State::init_with_server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:330,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:331,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:331,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:331,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:334,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:334,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:336,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - ' sh'
    argTypes:
    - Server_Hello_13
    constantsTouched: []
    func_position:
      end: 337
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 337
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - TLS_Exception
    - auto::value
    - has_hello_retry_request
    - reset
    - auto::has_value
    - BOTAN_ASSERT_NOMSG
    - advance_with_server_hello
    - Botan::TLS::Ciphersuite::by_id
    - advance_with_client_hello
    - client_hello
    - auto::decapsulate
    - has_value
    - auto::usable_in_version
    - current
    - selected_version
    - ciphersuite
    - set_algorithm
    - callbacks
    - policy
    - validate_server_hello_ish
    - Botan::TLS::Cipher_State::init_with_server_hello
    - set_expected_next
    - extensions
    - rng
    - hello_retry_request
    - std::tie
    - previous
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Server_Hello_13& sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:344,1
    - Dst: validate_server_hello_ish
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:346,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:352,1
    - Dst: auto::insert
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:353,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:354,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:355,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:358,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:358,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:359,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:359,1
    - Dst: Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:362,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:362,1
    - Dst: retry
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:364,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:364,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:364,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:366,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:366,1
    - Dst: send_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:368,1
    - Dst: std::reference_wrapper
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:368,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' hrr'
    argTypes:
    - Hello_Retry_Request
    constantsTouched: []
    func_position:
      end: 374
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 374
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - TLS_Exception
    - auto::insert
    - Botan::TLS::Ciphersuite::by_id
    - ciphersuite
    - auto::value
    - set_expected_next
    - client_hello
    - extensions
    - callbacks
    - retry
    - validate_server_hello_ish
    - Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
    - rng
    - auto::has_value
    - std::reference_wrapper
    - send_handshake_message
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Hello_Retry_Request& hrr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:377,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:384,1
    - Dst: contains_other_than
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:385,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:386,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:393,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:393,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:401,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:402,1
    - Dst: set_record_size_limits
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:403,1
    - Dst: auto::limit
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:403,1
    - Dst: auto::limit
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:403,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:406,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:407,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:408,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:409,1
    - Dst: auto*::validate_selection
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:410,1
    - Dst: set_selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:419,1
    - Dst: auto*::selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:419,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:422,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:424,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:428,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ' encrypted_extensions_msg'
    argTypes:
    - Encrypted_Extensions
    constantsTouched: []
    func_position:
      end: 432
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 432
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - auto*::selected_certificate_type
    - TLS_Exception
    - set_record_size_limits
    - auto::limit
    - set_expected_next
    - extensions
    - client_hello
    - has
    - set_selected_certificate_type
    - callbacks
    - get
    - contains_other_than
    - auto*::validate_selection
    - server_hello
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Encrypted_Extensions& encrypted_extensions_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:438,1
    - Dst: context
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:438,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:439,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:442,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:443,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' certificate_request_msg'
    argTypes:
    - Certificate_Request_13
    constantsTouched: []
    func_position:
      end: 445
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 445
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - TLS_Exception
    - Botan::TLS::Client_Impl_13::is_handshake_complete
    - context
    - set_expected_next
    - extensions
    - callbacks
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Certificate_Request_13& certificate_request_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: request_context
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:451,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:452,1
    - Dst: validate_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:458,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:458,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:458,1
    - Dst: verify
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:459,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:459,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:460,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:461,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:462,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:463,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' certificate_msg'
    argTypes:
    - Certificate_13
    constantsTouched: []
    func_position:
      end: 466
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 466
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - TLS_Exception
    - credentials_manager
    - verify
    - hostname
    - set_expected_next
    - client_hello
    - callbacks
    - policy
    - request_context
    - validate_extensions
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Certificate_13& certificate_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:477,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:478,1
    - Dst: signature_scheme
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:478,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:479,1
    - Dst: signature_scheme
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:480,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:488,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' certificate_verify_msg'
    argTypes:
    - Certificate_Verify_13
    constantsTouched: []
    func_position:
      end: 492
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 492
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - TLS_Exception
    - set_expected_next
    - client_hello
    - value_exists
    - signature_scheme
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Certificate_Verify_13& certificate_verify_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:495,1
    - Dst: has_certificate_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:495,1
    - Dst: certificate_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:496,1
    - Dst: encrypted_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:499,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:500,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:501,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:501,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:502,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:503,1
    - Dst: auto*::selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:512,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:526,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:526,1
    - Dst: Certificate_13
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:527,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:527,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:527,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:527,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:535,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:536,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:536,1
    - Dst: Certificate_Verify_13
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:536,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:536,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:537,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:538,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:539,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:541,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:542,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:543,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' flight'
    argTypes:
    - Channel_Impl_13::AggregatedHandshakeMessages
    constantsTouched: []
    func_position:
      end: 546
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 546
    functionName: Botan::TLS::Client_Impl_13::send_client_authentication
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - auto*::selected_certificate_type
    - add
    - sending
    - client_certificate
    - Certificate_Verify_13
    - certificate_request
    - BOTAN_ASSERT_NOMSG
    - Certificate_13
    - has_certificate_request
    - client_hello
    - get
    - current
    - encrypted_extensions
    - has
    - callbacks
    - policy
    - credentials_manager
    - hostname
    - signature_schemes
    - rng
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::send_client_authentication(Channel_Impl_13::AggregatedHandshakeMessages&
      flight)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:553,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:553,1
    - Dst: previous
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:553,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:554,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:559,1
    - Dst: Session_Summary
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:559,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:559,1
    - Dst: Botan::TLS::Client_Impl_13::peer_cert_chain
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:561,1
    - Dst: Botan::TLS::Client_Impl_13::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:562,1
    - Dst: Botan::TLS::Client_Impl_13::external_psk_identity
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:563,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:564,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:566,1
    - Dst: advance_with_server_finished
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:570,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:570,1
    - Dst: aggregate_handshake_messages
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:572,1
    - Dst: has_certificate_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:577,1
    - Dst: Botan::TLS::Client_Impl_13::send_client_authentication
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:578,1
    - Dst: auto::add
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:582,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:582,1
    - Dst: Finished_13
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:582,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:582,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:582,1
    - Dst: auto::send
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:584,1
    - Dst: advance_with_client_finished
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:587,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:587,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:594,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' finished_msg'
    argTypes:
    - Finished_13
    constantsTouched: []
    func_position:
      end: 597
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 597
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - TLS_Exception
    - sending
    - verify
    - auto::add
    - Botan::TLS::Client_Impl_13::send_client_authentication
    - Botan::TLS::Client_Impl_13::peer_raw_public_key
    - has_certificate_request
    - Botan::TLS::Client_Impl_13::peer_cert_chain
    - Finished_13
    - auto::send
    - get
    - aggregate_handshake_messages
    - has_value
    - server_hello
    - advance_with_client_finished
    - current
    - Session_Summary
    - callbacks
    - advance_with_server_finished
    - set_expected_next
    - Botan::TLS::Client_Impl_13::external_psk_identity
    - previous
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Finished_13& finished_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:600,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:601,1
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:603,1
    - Dst: nonce
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:603,1
    - Dst: early_data_byte_limit
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:604,1
    - Dst: ticket_age_add
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:605,1
    - Dst: lifetime_hint
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:606,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:607,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:608,1
    - Dst: peer_cert_chain
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:610,1
    - Dst: peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:611,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:613,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:615,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:616,1
    - Dst: handle
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' new_session_ticket'
    argTypes:
    - New_Session_Ticket_13
    constantsTouched: []
    func_position:
      end: 618
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 618
    functionName: TLS::Client_Impl_13::handle(const New_Session_Ticket_13& new_session_ticket)
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - server_hello
    - peer_raw_public_key
    - lifetime_hint
    - extensions
    - nonce
    - early_data_byte_limit
    - callbacks
    - peer_cert_chain
    - session_manager
    - ticket_age_add
    - psk
    - handle
    linkageType: ''
    returnType: void
    signature: void TLS::Client_Impl_13::handle(const New_Session_Ticket_13& new_session_ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_server_certificate_msg
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:621,1
    - Dst: server_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:622,1
    - Dst: server_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:623,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:626,1
    - Dst: session::peer_certs
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: Botan::TLS::Client_Impl_13::peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 1
    functionsReached:
    - server_certificate
    - has_server_certificate_msg
    - session::peer_certs
    - has_value
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Client_Impl_13::peer_cert_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_server_certificate_msg
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:634,1
    - Dst: server_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:634,1
    - Dst: server_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:635,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:638,1
    - Dst: session::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 643
    functionName: Botan::TLS::Client_Impl_13::peer_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 1
    functionsReached:
    - server_certificate
    - has_server_certificate_msg
    - has_value
    - session::peer_raw_public_key
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> Client_Impl_13::peer_raw_public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: Botan::TLS::Client_Impl_13::external_psk_identity
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Client_Impl_13::external_psk_identity()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 651
    functionName: Botan::TLS::Client_Impl_13::prepend_ccs
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: bool
    signature: bool Client_Impl_13::prepend_ccs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:654,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:655,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - label
    - secret
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 657
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 657
    functionName: Botan::TLS::Client_Impl_13::maybe_log_secret
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - client_hello
    - callbacks
    - policy
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::maybe_log_secret(std::string_view label, std::span<const
      uint8_t> secret) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:660,1
    - Dst: encrypted_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:661,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:662,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 668
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 668
    functionName: Botan::TLS::Client_Impl_13::application_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - has
    - encrypted_extensions
    - Botan::TLS::Client_Impl_13::is_handshake_complete
    - get
    linkageType: ''
    returnType: std::string
    signature: std::string Client_Impl_13::application_protocol() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::TLS::Transcript_Hash_State::Transcript_Hash_State
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Transcript_Hash_State::set_algorithm
    linkageType: ''
    returnType: void
    signature: void Transcript_Hash_State::Transcript_Hash_State(std::string_view
      algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_hash::copy_state
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: Botan::TLS::Transcript_Hash_State::Transcript_Hash_State
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - m_hash::copy_state
    linkageType: ''
    returnType: void
    signature: void Transcript_Hash_State::Transcript_Hash_State(const Transcript_Hash_State&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:34,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:35,1
    - Dst: m_unprocessed_transcript::size
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:35,1
    - Dst: m_unprocessed_transcript::front
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:39,1
    - Dst: m_unprocessed_transcript::back
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:40,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:43,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:50,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:51,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:53,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:54,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:54,1
    - Dst: Transcript_Hash_State::m_hash::process
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:55,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:57,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - algo_spec
    - ' prev_transcript_hash_state'
    argTypes:
    - std::string_view
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - std::vector::reserve
    - BOTAN_STATE_CHECK
    - m_unprocessed_transcript::back
    - static_cast<uint8_t>
    - Transcript_Hash_State::m_hash::process
    - Transcript_Hash_State::update
    - m_unprocessed_transcript::front
    - m_unprocessed_transcript::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: Transcript_Hash_State
    signature: "Transcript_Hash_State Transcript_Hash_State::recreate_after_hello_retry_request(\n
      \  std::string_view algo_spec, const Transcript_Hash_State& prev_transcript_hash_state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:80,1
    - Dst: TLS_Data_Reader::get_byte
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:80,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:80,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:83,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:86,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:89,1
    - Dst: TLS_Data_Reader::get_byte
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:92,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:93,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:99,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:100,1
    - Dst: TLS_Data_Reader::get_byte
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:103,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:104,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:107,1
    - Dst: TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:108,1
    - Dst: TLS_Data_Reader::has_remaining
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:109,1
    - Dst: TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:109,1
    - Dst: static_cast<Extension_Code>
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:110,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:110,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:111,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:115,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:120,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:121,1
    - Dst: TLS_Data_Reader::peek_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:124,1
    - Dst: TLS_Data_Reader::remaining_bytes
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:125,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:126,1
    - Dst: TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - client_hello
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 136
    functionName: Botan::TLS::find_client_hello_truncation_mark
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - TLS_Data_Reader::get_byte
    - TLS_Data_Reader::peek_uint16_t
    - TLS_Data_Reader::get_uint16_t
    - TLS_Data_Reader::has_remaining
    - static_cast<uint8_t>
    - TLS_Data_Reader::read_so_far
    - TLS_Data_Reader::remaining_bytes
    - static_cast<Extension_Code>
    - TLS_Data_Reader::discard_next
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t find_client_hello_truncation_mark(std::span<const uint8_t> client_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_state
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: Botan::TLS::read_hash_state
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - copy_state
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> read_hash_state(std::unique_ptr<HashFunction>&
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:148,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:149,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:155,1
    - Dst: find_client_hello_truncation_mark
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:156,1
    - Dst: Botan::TLS::Transcript_Hash_State::update
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:160,1
    - Dst: read_hash_state
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:161,1
    - Dst: Botan::TLS::Transcript_Hash_State::update
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:162,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:164,1
    - Dst: Botan::TLS::Transcript_Hash_State::update
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:165,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:168,1
    - Dst: read_hash_state
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:168,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:170,1
    - Dst: std::vector
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - serialized_message_s
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: Botan::TLS::Transcript_Hash_State::update
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 1
    functionsReached:
    - clear
    - Botan::TLS::Transcript_Hash_State::update
    - std::exchange
    - read_hash_state
    - static_cast<uint8_t>
    - std::vector
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - find_client_hello_truncation_mark
    - push_back
    linkageType: ''
    returnType: void
    signature: void Transcript_Hash_State::update(std::span<const uint8_t> serialized_message_s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:176,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: '& Transcript_Hash_State::current() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Transcript_Hash
    signature: Transcript_Hash & Transcript_Hash_State::current() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:181,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: '& Transcript_Hash_State::previous() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Transcript_Hash
    signature: Transcript_Hash & Transcript_Hash_State::previous() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:186,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: '& Transcript_Hash_State::truncated() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Transcript_Hash
    signature: Transcript_Hash & Transcript_Hash_State::truncated() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:191,1
    - Dst: name
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:191,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:196,1
    - Dst: Botan::TLS::Transcript_Hash_State::update
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:198,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: Botan::TLS::Transcript_Hash_State::set_algorithm
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 1
    functionsReached:
    - clear
    - Botan::TLS::Transcript_Hash_State::update
    - name
    - Botan::HashFunction::create_or_throw
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void Transcript_Hash_State::set_algorithm(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: Botan::TLS::Transcript_Hash_State::clone
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Transcript_Hash_State
    signature: Transcript_Hash_State Transcript_Hash_State::clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::TLS::Certificate_Request_13::type
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_Type
    signature: Handshake_Type Certificate_Request_13::type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:28,1
    - Dst: TLS_Data_Reader::get_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:31,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:32,1
    - Dst: Botan::TLS::Certificate_Request_13::type
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:32,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:39,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:40,1
    - Dst: contains_implemented_extensions_other_than
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:62,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' buf'
    - side
    argTypes:
    - std::vector<uint8_t>
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 65
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Certificate_Request_13::Certificate_Request_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - Botan::TLS::Certificate_Request_13::type
    - contains_implemented_extensions_other_than
    - deserialize
    - TLS_Data_Reader::get_tls_length_value
    - has
    linkageType: ''
    returnType: void
    signature: void Certificate_Request_13::Certificate_Request_13(const std::vector<uint8_t>&
      buf, const Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:87,1
    - Dst: std::make_unique<Signature_Algorithms>
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:87,1
    - Dst: acceptable_signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:87,1
    - Dst: acceptable_certificate_signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:88,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:92,1
    - Dst: std::make_unique<Signature_Algorithms_Cert>
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:92,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:92,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:92,1
    - Dst: std::vector<X509_DN>::empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:95,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:96,1
    - Dst: std::make_unique<Certificate_Authorities>
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:96,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:96,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:101,1
    - Dst: Botan::TLS::Certificate_Request_13::type
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - acceptable_CAs
    - ' policy'
    - ' callbacks'
    argTypes:
    - std::vector<X509_DN>
    - Policy
    - Callbacks
    constantsTouched: []
    func_position:
      end: 102
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 102
    functionName: Botan::TLS::Certificate_Request_13::Certificate_Request_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached:
    - add
    - std::move
    - Botan::TLS::Certificate_Request_13::type
    - std::make_unique<Signature_Algorithms_Cert>
    - auto::value
    - std::make_unique<Signature_Algorithms>
    - std::vector<X509_DN>::empty
    - tls_modify_extensions
    - std::make_unique<Certificate_Authorities>
    - acceptable_certificate_signature_schemes
    - acceptable_signature_schemes
    linkageType: ''
    returnType: void
    signature: "void Certificate_Request_13::Certificate_Request_13(std::vector<X509_DN>
      acceptable_CAs,\n                                               const Policy&
      policy,\n                                               Callbacks& callbacks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trusted_certificate_authorities
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:108,1
    - Dst: sni_hostname
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:108,1
    - Dst: all_subjects
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:112,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:113,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:113,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:113,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:113,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:116,1
    - Dst: request_client_certificate_authentication
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:116,1
    - Dst: Botan::TLS::Certificate_Request_13::Certificate_Request_13
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:120,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ' client_hello'
    - ' cred_mgr'
    - ' callbacks'
    - ' policy'
    argTypes:
    - Client_Hello_13
    - Credentials_Manager
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: Botan::TLS::Certificate_Request_13::maybe_create
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::vector::empty
    - request_client_certificate_authentication
    - std::move
    - std::vector::insert
    - all_subjects
    - auto::end
    - Botan::TLS::Certificate_Request_13::Certificate_Request_13
    - sni_hostname
    - std::vector::end
    - trusted_certificate_authorities
    linkageType: ''
    returnType: std::optional<Certificate_Request_13>
    signature: "std::optional<Certificate_Request_13> Certificate_Request_13::maybe_create(const
      Client_Hello_13& client_hello,\n                                                                           Credentials_Manager&
      cred_mgr,\n                                                                           Callbacks&
      callbacks,\n                                                                           const
      Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:124,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: Botan::TLS::Certificate_Request_13::acceptable_CAs
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached:
    - has
    - get
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> Certificate_Request_13::acceptable_CAs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:133,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:133,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: '& Certificate_Request_13::signature_schemes() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached:
    - has
    - get
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> & Certificate_Request_13::signature_schemes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:143,1
    - Dst: auto::supported_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:144,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: '& Certificate_Request_13::certificate_signature_schemes() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached:
    - auto::supported_schemes
    - signature_schemes
    - get
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> & Certificate_Request_13::certificate_signature_schemes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:152,1
    - Dst: Botan::TLS::Certificate_Request_13::serialize
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: Botan::TLS::Certificate_Request_13::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 1
    functionsReached:
    - append_tls_length_value
    - Botan::TLS::Certificate_Request_13::serialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Request_13::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_Layer
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.h:30,1
    - Dst: m_peer
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.h:31,1
    - Dst: m_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.h:41,1
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 118
    functionName: Botan::TLS::Handshake_Layer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.h
    functionUses: 1
    functionsReached:
    - m_peer
    - Botan::TLS::empty
    - Botan::TLS::Handshake_Layer
    - m_certificate_type
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Handshake_Layer
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - request_peer_update
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: Botan::TLS::Key_Update::Key_Update
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_key_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Update::Key_Update(const bool request_peer_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/msg_key_update.cpp:18,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_key_update.cpp:19,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_key_update.cpp:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: Botan::TLS::Key_Update::Key_Update
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_key_update.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - size
    linkageType: ''
    returnType: void
    signature: void Key_Update::Key_Update(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/msg_key_update.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::TLS::Key_Update::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_key_update.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Key_Update::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~Secret_Logger()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Secret_Logger()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::TLS::Channel_Impl_13::AggregatedMessages::AggregatedMessages
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregatedMessages(const AggregatedMessages&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& operator=(const AggregatedMessages&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AggregatedMessages
    signature: AggregatedMessages & operator=(const AggregatedMessages&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Channel_Impl_13::AggregatedMessages::AggregatedMessages
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregatedMessages(AggregatedMessages&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& operator=(AggregatedMessages&&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AggregatedMessages
    signature: AggregatedMessages & operator=(AggregatedMessages&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~AggregatedMessages()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AggregatedMessages()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::TLS::Channel_Impl_13::AggregatedMessages::contains_messages
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool contains_messages() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Botan::TLS::Channel_Impl_13::Channel_Impl_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13(const Channel_Impl_13&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: '& operator=(const Channel_Impl_13&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Channel_Impl_13
    signature: Channel_Impl_13 & operator=(const Channel_Impl_13&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::is_closed_for_reading
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:167,1
    - Dst: Botan::TLS::Channel_Impl_13::is_closed_for_writing
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: Botan::TLS::Channel_Impl_13::is_closed
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_13::is_closed_for_writing
    - Botan::TLS::Channel_Impl_13::is_closed_for_reading
    linkageType: ''
    returnType: bool
    signature: bool is_closed() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: Botan::TLS::Channel_Impl_13::is_closed_for_reading
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_closed_for_reading() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan::TLS::Channel_Impl_13::is_closed_for_writing
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_closed_for_writing() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: Botan::TLS::Channel_Impl_13::renegotiate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void renegotiate(bool /* unused */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: Botan::TLS::Channel_Impl_13::secure_renegotiation_supported
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool secure_renegotiation_supported() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: Botan::TLS::Channel_Impl_13::timeout_check
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool timeout_check() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: Botan::TLS::Channel_Impl_13::prepend_ccs
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool prepend_ccs()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: Botan::TLS::Channel_Impl_13::opportunistically_update_traffic_keys
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void opportunistically_update_traffic_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::aggregate_handshake_messages
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:242,1
    - Dst: generalize_to<Handshake_Message_13_Ref>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::variant<MsgTs...>
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: Botan::TLS::Channel_Impl_13::send_handshake_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached:
    - generalize_to<Handshake_Message_13_Ref>
    - Botan::TLS::Channel_Impl_13::aggregate_handshake_messages
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> send_handshake_message(const std::variant<MsgTs...>&
      message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::send_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:247,1
    - Dst: generalize_to<Handshake_Message_13_Ref>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::reference_wrapper<MsgT>
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: Botan::TLS::Channel_Impl_13::send_handshake_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 1
    functionsReached:
    - generalize_to<Handshake_Message_13_Ref>
    - Botan::TLS::Channel_Impl_13::send_handshake_message
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> send_handshake_message(std::reference_wrapper<MsgT>
      message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::aggregate_post_handshake_messages
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:251,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Post_Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: Botan::TLS::Channel_Impl_13::send_post_handshake_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Channel_Impl_13::aggregate_post_handshake_messages
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> send_post_handshake_message(Post_Handshake_Message_13
      message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AggregatedHandshakeMessages
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: Botan::TLS::Channel_Impl_13::aggregate_handshake_messages
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 1
    functionsReached:
    - AggregatedHandshakeMessages
    linkageType: ''
    returnType: AggregatedHandshakeMessages
    signature: AggregatedHandshakeMessages aggregate_handshake_messages()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AggregatedPostHandshakeMessages
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: Botan::TLS::Channel_Impl_13::aggregate_post_handshake_messages
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 1
    functionsReached:
    - AggregatedPostHandshakeMessages
    linkageType: ''
    returnType: AggregatedPostHandshakeMessages
    signature: AggregatedPostHandshakeMessages aggregate_post_handshake_messages()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: '& callbacks() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Callbacks
    signature: Callbacks & callbacks() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: '& session_manager()'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Session_Manager
    signature: Session_Manager & session_manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: '& credentials_manager()'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Credentials_Manager
    signature: Credentials_Manager & credentials_manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: '& rng()'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RandomNumberGenerator
    signature: RandomNumberGenerator & rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: '& policy() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Policy
    signature: Policy & policy() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:16,1
    - Dst: has_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:16,1
    - Dst: validate_updates
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:17,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:20,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - client_hello
    argTypes:
    - Client_Hello_13
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: '& Handshake_State_13_Base::store(Client_Hello_13 client_hello,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - validate_updates
    - BOTAN_STATE_CHECK
    - has_hello_retry_request
    - value
    linkageType: ''
    returnType: Client_Hello_13
    signature: Client_Hello_13 & Handshake_State_13_Base::store(Client_Hello_13 client_hello,
      const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:25,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - client_hello
    argTypes:
    - Client_Hello_12
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: '& Handshake_State_13_Base::store(Client_Hello_12 client_hello,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Client_Hello_12
    signature: Client_Hello_12 & Handshake_State_13_Base::store(Client_Hello_12 client_hello,
      const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:30,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - server_hello
    argTypes:
    - Server_Hello_13
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: '& Handshake_State_13_Base::store(Server_Hello_13 server_hello,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Server_Hello_13
    signature: Server_Hello_13 & Handshake_State_13_Base::store(Server_Hello_13 server_hello,
      const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:35,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - server_hello
    argTypes:
    - Server_Hello_12
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '& Handshake_State_13_Base::store(Server_Hello_12 server_hello,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Server_Hello_12
    signature: Server_Hello_12 & Handshake_State_13_Base::store(Server_Hello_12 server_hello,
      const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:40,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hello_retry_request
    argTypes:
    - Hello_Retry_Request
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '& Handshake_State_13_Base::store(Hello_Retry_Request hello_retry_request,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Hello_Retry_Request
    signature: Hello_Retry_Request & Handshake_State_13_Base::store(Hello_Retry_Request
      hello_retry_request, const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:45,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - encrypted_extensions
    argTypes:
    - Encrypted_Extensions
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '& Handshake_State_13_Base::store(Encrypted_Extensions encrypted_extensions,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Encrypted_Extensions
    signature: Encrypted_Extensions & Handshake_State_13_Base::store(Encrypted_Extensions
      encrypted_extensions, const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:50,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - certificate_request
    argTypes:
    - Certificate_Request_13
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '& Handshake_State_13_Base::store(Certificate_Request_13 certificate_request,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Certificate_Request_13
    signature: Certificate_Request_13 & Handshake_State_13_Base::store(Certificate_Request_13
      certificate_request, const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:56,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - certificate
    - from_peer
    argTypes:
    - Certificate_13
    - bool
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: '& Handshake_State_13_Base::store(Certificate_13 certificate, const
      bool from_peer)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Certificate_13
    signature: Certificate_13 & Handshake_State_13_Base::store(Certificate_13 certificate,
      const bool from_peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:63,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - certificate_verify
    - from_peer
    argTypes:
    - Certificate_Verify_13
    - bool
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: '& Handshake_State_13_Base::store(Certificate_Verify_13 certificate_verify,
      const bool from_peer)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Certificate_Verify_13
    signature: Certificate_Verify_13 & Handshake_State_13_Base::store(Certificate_Verify_13
      certificate_verify, const bool from_peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:69,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - finished
    - from_peer
    argTypes:
    - Finished_13
    - bool
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: '& Handshake_State_13_Base::store(Finished_13 finished, const bool
      from_peer)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Finished_13
    signature: Finished_13 & Handshake_State_13_Base::store(Finished_13 finished,
      const bool from_peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - record_type
    - frgmnt
    argTypes:
    - Record_Type
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: Botan::TLS::Record
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Record(Record_Type record_type, secure_vector<uint8_t> frgmnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Record_Layer
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.h:48,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 117
    functionName: Botan::TLS::Record_Layer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.h
    functionUses: 3
    functionsReached:
    - zap
    - Botan::TLS::Record_Layer
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Record_Layer
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - ticket_age_add
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: Botan::TLS::obfuscate_ticket_age
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t obfuscate_ticket_age(const uint64_t in, const uint64_t ticket_age_add)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:31,1
    - Dst: Opaque_Session_Handle::get
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:31,1
    - Dst: obfuscate_ticket_age
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:31,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - identity
    - age
    - ticket_age_add
    argTypes:
    - Opaque_Session_Handle
    - std::chrono::milliseconds
    - uint32_t
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: Botan::TLS::PskIdentity::PskIdentity
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::chrono::milliseconds::count
    - Opaque_Session_Handle::get
    - obfuscate_ticket_age
    linkageType: ''
    returnType: void
    signature: "void PskIdentity::PskIdentity(Opaque_Session_Handle identity,\n                         const
      std::chrono::milliseconds age,\n                         const uint32_t ticket_age_add)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_byte_vector
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:34,1
    - Dst: PresharedKeyID::get
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - identity
    argTypes:
    - PresharedKeyID
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: Botan::TLS::PskIdentity::PskIdentity
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp
    functionUses: 1
    functionsReached:
    - to_byte_vector
    - PresharedKeyID::get
    linkageType: ''
    returnType: void
    signature: void PskIdentity::PskIdentity(PresharedKeyID identity)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:42,1
    - Dst: obfuscate_ticket_age
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ticket_age_add
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::TLS::PskIdentity::age
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::milliseconds
    - obfuscate_ticket_age
    linkageType: ''
    returnType: std::chrono::milliseconds
    signature: std::chrono::milliseconds PskIdentity::age(const uint32_t ticket_age_add)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::TLS::PskIdentity::identity_as_string
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string PskIdentity::identity_as_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constraints
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:34,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:35,1
    - Dst: auto::includes_any
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: Botan::TLS::certificate_allows_signing
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - constraints
    - auto::includes_any
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool certificate_allows_signing(const X509_Certificate& cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:45,1
    - Dst: is_compatible_with
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:46,1
    - Dst: algorithm_name
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:46,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:50,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' peer_scheme_preference'
    argTypes:
    - std::vector<Signature_Scheme>
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: Botan::TLS::filter_signature_schemes
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - TLS_Exception
    - algorithm_name
    - is_compatible_with
    - is_available
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> filter_signature_schemes(const std::vector<Signature_Scheme>&
      peer_scheme_preference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:60,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Certificate_13::has_certificate_chain
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - empty
    - front
    linkageType: ''
    returnType: bool
    signature: bool Certificate_13::has_certificate_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:64,1
    - Dst: Botan::TLS::Certificate_13::has_certificate_chain
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Certificate_13::is_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Certificate_13::has_certificate_chain
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Certificate_13::is_raw_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:68,1
    - Dst: Botan::TLS::Certificate_13::has_certificate_chain
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:68,1
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:70,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:70,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:70,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:70,1
    - Dst: certificate
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: Botan::TLS::Certificate_13::cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - cend
    - std::back_inserter
    - cbegin
    - Botan::TLS::Certificate_13::has_certificate_chain
    - certificate
    - BOTAN_STATE_CHECK
    - std::transform
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Certificate_13::cert_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:83,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:84,1
    - Dst: tls_examine_extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:87,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:87,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' requested_extensions'
    - ' cb'
    argTypes:
    - std::set<Extension_Code>
    - Callbacks
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: Botan::TLS::Certificate_13::validate_extensions
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - TLS_Exception
    - tls_examine_extensions
    - type
    linkageType: ''
    returnType: void
    signature: void Certificate_13::validate_extensions(const std::set<Extension_Code>&
      requested_extensions, Callbacks& cb) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:92,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:92,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: Botan::TLS::Certificate_13::public_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    - front
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> Certificate_13::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:97,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:97,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '& Certificate_13::leaf() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    - front
    linkageType: ''
    returnType: X509_Certificate
    signature: X509_Certificate & Certificate_13::leaf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Certificate_13::is_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:108,1
    - Dst: tls_verify_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:109,1
    - Dst: Botan::TLS::Certificate_13::public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:109,1
    - Dst: Botan::TLS::Certificate_13::verify_certificate_chain
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' callbacks'
    - ' policy'
    - ' creds'
    - hostname
    - use_ocsp
    argTypes:
    - Callbacks
    - Policy
    - Credentials_Manager
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: Botan::TLS::Certificate_13::verify
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Certificate_13::verify_certificate_chain
    - Botan::TLS::Certificate_13::is_raw_public_key
    - Botan::TLS::Certificate_13::public_key
    - tls_verify_raw_public_key
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::verify(Callbacks& callbacks,\n                            const
      Policy& policy,\n                            Credentials_Manager& creds,\n                            std::string_view
      hostname,\n                            bool use_ocsp) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:124,1
    - Dst: certificate
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:124,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:126,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:127,1
    - Dst: tls_parse_ocsp_response
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:127,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:128,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:130,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:135,1
    - Dst: certificate_allows_signing
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:136,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:137,1
    - Dst: trusted_certificate_authorities
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:141,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:142,1
    - Dst: tls_verify_cert_chain
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - ' callbacks'
    - ' policy'
    - ' creds'
    - hostname
    - use_ocsp
    - usage_type
    argTypes:
    - Callbacks
    - Policy
    - Credentials_Manager
    - std::string_view
    - bool
    - Usage_Type
    constantsTouched: []
    func_position:
      end: 145
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 145
    functionName: Botan::TLS::Certificate_13::verify_certificate_chain
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 1
    functionsReached:
    - TLS_Exception
    - tls_verify_cert_chain
    - std::vector::emplace_back
    - extensions
    - std::string
    - certificate_allows_signing
    - tls_parse_ocsp_response
    - front
    - certificate
    - std::vector::push_back
    - trusted_certificate_authorities
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::verify_certificate_chain(Callbacks& callbacks,\n
      \                                             const Policy& policy,\n                                              Credentials_Manager&
      creds,\n                                              std::string_view hostname,\n
      \                                             bool use_ocsp,\n                                              Usage_Type
      usage_type) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_provide_cert_chain_status
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:154,1
    - Dst: std::vector<std::vector<uint8_t>>
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:155,1
    - Dst: std::vector<X509_Certificate>::size
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:155,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:157,1
    - Dst: std::vector<X509_Certificate>::size
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:157,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:158,1
    - Dst: std::vector<X509_Certificate>::size
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:161,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:162,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:163,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:164,1
    - Dst: Certificate_Status_Request::Certificate_Status_Request
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:164,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:175,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:175,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - cert_chain
    - csr
    - ' callbacks'
    argTypes:
    - std::vector<X509_Certificate>
    - Certificate_Status_Request*
    - Callbacks
    constantsTouched: []
    func_position:
      end: 177
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 177
    functionName: Botan::TLS::Certificate_13::setup_entries
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - tls_provide_cert_chain_status
    - Certificate_Status_Request::Certificate_Status_Request
    - emplace_back
    - std::vector<X509_Certificate>::size
    - empty
    - extensions
    - type
    - tls_modify_extensions
    - auto::size
    - std::vector<std::vector<uint8_t>>
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::setup_entries(std::vector<X509_Certificate> cert_chain,\n
      \                                  const Certificate_Status_Request* csr,\n
      \                                  Callbacks& callbacks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:180,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:181,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:181,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:182,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:182,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - raw_public_key
    - ' callbacks'
    argTypes:
    - std::shared_ptr<Public_Key>
    - Callbacks
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: Botan::TLS::Certificate_13::setup_entry
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - extensions
    - BOTAN_ASSERT_NONNULL
    - type
    - tls_modify_extensions
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void Certificate_13::setup_entry(std::shared_ptr<Public_Key> raw_public_key,
      Callbacks& callbacks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:193,1
    - Dst: filter_signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:194,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:194,1
    - Dst: Botan::TLS::Certificate_13::setup_entries
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:198,1
    - Dst: find_cert_chain
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:199,1
    - Dst: to_algorithm_identifiers
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:200,1
    - Dst: certificate_signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:200,1
    - Dst: acceptable_CAs
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:201,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:203,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:204,1
    - Dst: find_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:207,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:207,1
    - Dst: Botan::TLS::Certificate_13::setup_entry
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:217,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - ' cert_request'
    - hostname
    - ' credentials_manager'
    - ' callbacks'
    - cert_type
    argTypes:
    - Certificate_Request_13
    - std::string_view
    - Credentials_Manager
    - Callbacks
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 220
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 220
    functionName: Botan::TLS::Certificate_13::Certificate_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Certificate_13::setup_entries
    - context
    - find_raw_public_key
    - signature_schemes
    - Botan::TLS::Certificate_13::setup_entry
    - certificate_signature_schemes
    - std::string
    - find_cert_chain
    - extensions
    - to_algorithm_identifiers
    - filter_signature_schemes
    - acceptable_CAs
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::Certificate_13(const Certificate_Request_13&
      cert_request,\n                               std::string_view hostname,\n                               Credentials_Manager&
      credentials_manager,\n                               Callbacks& callbacks,\n
      \                              Certificate_Type cert_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:233,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:233,1
    - Dst: filter_signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:235,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:235,1
    - Dst: sni_hostname
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:237,1
    - Dst: find_cert_chain
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:240,1
    - Dst: to_algorithm_identifiers
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:241,1
    - Dst: certificate_signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:241,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:245,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:246,1
    - Dst: Botan::TLS::Certificate_13::setup_entries
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:249,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:249,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:249,1
    - Dst: find_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:251,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:259,1
    - Dst: Botan::TLS::Certificate_13::setup_entry
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:262,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' client_hello'
    - ' credentials_manager'
    - ' callbacks'
    - cert_type
    argTypes:
    - Client_Hello_13
    - Credentials_Manager
    - Callbacks
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 264
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 264
    functionName: Botan::TLS::Certificate_13::Certificate_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - TLS_Exception
    - Botan::TLS::Certificate_13::setup_entries
    - Botan::TLS::Certificate_13::setup_entry
    - find_raw_public_key
    - signature_schemes
    - certificate_signature_schemes
    - auto::empty
    - extensions
    - find_cert_chain
    - to_algorithm_identifiers
    - filter_signature_schemes
    - sni_hostname
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::Certificate_13(const Client_Hello_13& client_hello,\n
      \                              Credentials_Manager& credentials_manager,\n                               Callbacks&
      callbacks,\n                               Certificate_Type cert_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:274,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:274,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:275,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:282,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:282,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:285,1
    - Dst: peek_uint16_t
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:291,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:292,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:294,1
    - Dst: contains_implemented_extensions_other_than
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:307,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:311,1
    - Dst: contains_implemented_extensions_other_than
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:313,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - ' reader'
    - side
    - cert_type
    argTypes:
    - TLS_Data_Reader
    - Connection_Side
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 318
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 318
    functionName: "Certificate_13::Certificate_Entry::Certificate_Entry(TLS_Data_Reader&
      reader,\n                                                     const Connection_Side
      side,\n                                                     const Certificate_Type
      cert_type)"
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - subject_public_key
    - TLS_Exception
    - get_fixed
    - contains_implemented_extensions_other_than
    - deserialize
    - get_tls_length_value
    - X509_Certificate
    - peek_uint16_t
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::Certificate_Entry::Certificate_Entry(TLS_Data_Reader&
      reader,\n                                                     const Connection_Side
      side,\n                                                     const Certificate_Type
      cert_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:321,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: Certificate_13::Certificate_Entry::Certificate_Entry(X509_Certificate
      cert)
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - subject_public_key
    linkageType: ''
    returnType: void
    signature: void Certificate_13::Certificate_Entry::Certificate_Entry(X509_Certificate
      cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:324,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_public_key
    argTypes:
    - std::shared_ptr<Public_Key>
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: Certificate_13::Certificate_Entry::Certificate_Entry(std::shared_ptr<Public_Key>
      raw_public_key)
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Certificate_13::Certificate_Entry::Certificate_Entry(std::shared_ptr<Public_Key>
      raw_public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:329,1
    - Dst: has_certificate
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:329,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: '& Certificate_13::Certificate_Entry::certificate() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - value
    - BOTAN_STATE_CHECK
    - has_certificate
    linkageType: ''
    returnType: X509_Certificate
    signature: X509_Certificate & Certificate_13::Certificate_Entry::certificate()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: Certificate_13::Certificate_Entry::public_key() const
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> Certificate_13::Certificate_Entry::public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_certificate
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:339,1
    - Dst: BER_encode
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:339,1
    - Dst: Botan::X509::BER_encode
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: Certificate_13::Certificate_Entry::serialize() const
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - BER_encode
    - Botan::X509::BER_encode
    - has_certificate
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_13::Certificate_Entry::serialize()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:352,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:356,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:357,1
    - Dst: TLS_Data_Reader::get_uint24_t
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:360,1
    - Dst: TLS_Data_Reader::remaining_bytes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:362,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:363,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:368,1
    - Dst: TLS_Data_Reader::has_remaining
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:371,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:372,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:380,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:385,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:391,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:391,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:402,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:403,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:409,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:410,1
    - Dst: Botan::TLS::Certificate_13::public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:414,1
    - Dst: check_peer_key_acceptable
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:415,1
    - Dst: allowed_signature_method
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:417,1
    - Dst: auto::algo_name
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:417,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:418,1
    - Dst: auto::algo_name
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:418,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 4
    argNames:
    - ' buf'
    - ' policy'
    - side
    - cert_type
    argTypes:
    - std::vector<uint8_t>
    - Policy
    - Connection_Side
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 420
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 420
    functionName: Botan::TLS::Certificate_13::Certificate_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - auto::algo_name
    - allowed_signature_method
    - empty
    - TLS_Data_Reader::has_remaining
    - TLS_Data_Reader::get_uint24_t
    - check_peer_key_acceptable
    - TLS_Data_Reader::get_range
    - TLS_Data_Reader::remaining_bytes
    - front
    - emplace_back
    - Decoding_Error
    - size
    - Botan::TLS::Certificate_13::public_key
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::Certificate_13(const std::vector<uint8_t>& buf,\n
      \                              const Policy& policy,\n                               Connection_Side
      side,\n                               Certificate_Type cert_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:428,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:432,1
    - Dst: Botan::TLS::Certificate_13::serialize
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:432,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:441,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:442,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: Botan::TLS::Certificate_13::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 1
    functionsReached:
    - extensions
    - append_tls_length_value
    - Botan::TLS::Certificate_13::serialize
    - auto::empty
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_13::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Named_Group>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:44,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:44,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' reader'
    argTypes:
    - TLS_Data_Reader
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Botan::TLS::Key_Share_Entry::Key_Share_Entry
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - get_tls_length_value
    - get_uint16_t
    - static_cast<Named_Group>
    linkageType: ''
    returnType: void
    signature: void Key_Share_Entry(TLS_Data_Reader& reader)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - TLS::Group_Params
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::TLS::Key_Share_Entry::Key_Share_Entry
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_Entry(const TLS::Group_Params group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_kem_generate_key
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:53,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:55,1
    - Dst: TLS::Group_Params::is_kem
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:58,1
    - Dst: public_key_bits
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:59,1
    - Dst: TLS::Group_Params::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:60,1
    - Dst: dynamic_cast<ECDH_PublicKey*>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:61,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:61,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:63,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:74,1
    - Dst: dynamic_cast<PK_Key_Agreement_Key*>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:76,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:76,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:78,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - group
    - ' cb'
    - ' rng'
    argTypes:
    - TLS::Group_Params
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 83
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 83
    functionName: Botan::TLS::Key_Share_Entry::Key_Share_Entry
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - public_key_bits
    - tls_kem_generate_key
    - TLS_Exception
    - TLS::Group_Params::is_kem
    - dynamic_cast<ECDH_PublicKey*>
    - auto::public_value
    - get
    - dynamic_cast<PK_Key_Agreement_Key*>
    - TLS::Group_Params::is_ecdh_named_curve
    linkageType: ''
    returnType: void
    signature: void Key_Share_Entry(const TLS::Group_Params group, Callbacks& cb,
      RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Key_Share_Entry::empty
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::TLS::Key_Share_Entry::empty
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Key_Share_Entry::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:89,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:89,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:92,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:92,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:93,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:93,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: Botan::TLS::Key_Share_Entry::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - get_byte<1>
    - append_tls_length_value
    - size
    - get_byte<0>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::TLS::Key_Share_Entry::group
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Named_Group
    signature: Named_Group group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:107,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' client_share'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Key_Share_Entry
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: Botan::TLS::Key_Share_Entry::encapsulate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> encapsulate(const Key_Share_Entry& client_share,\n
      \                                        const Policy& policy,\n                                         Callbacks&
      cb,\n                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scoped_cleanup
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:121,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:121,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:122,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:123,1
    - Dst: tls_kem_decapsulate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' received'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Key_Share_Entry
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: Botan::TLS::Key_Share_Entry::decapsulate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - tls_kem_decapsulate
    - scoped_cleanup
    - reset
    - BOTAN_STATE_CHECK
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> decapsulate(const Key_Share_Entry& received,\n
      \                                        const Policy& policy,\n                                         Callbacks&
      cb,\n                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' reader'
    argTypes:
    - TLS_Data_Reader
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::TLS::Key_Share_ServerHello::Key_Share_ServerHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_ServerHello(TLS_Data_Reader& reader, uint16_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~Key_Share_ServerHello()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Key_Share_ServerHello()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: Botan::TLS::Key_Share_ServerHello::Key_Share_ServerHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_ServerHello(const Key_Share_ServerHello&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: '& operator=(const Key_Share_ServerHello&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_ServerHello
    signature: Key_Share_ServerHello & operator=(const Key_Share_ServerHello&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan::TLS::Key_Share_ServerHello::Key_Share_ServerHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_ServerHello(Key_Share_ServerHello&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: '& operator=(Key_Share_ServerHello&&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_ServerHello
    signature: Key_Share_ServerHello & operator=(Key_Share_ServerHello&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Key_Share_ServerHello::serialize
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: Botan::TLS::Key_Share_ServerHello::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Key_Share_ServerHello::serialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Key_Share_ServerHello::empty
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Botan::TLS::Key_Share_ServerHello::empty
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Key_Share_ServerHello::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: '& get_singleton_entry()'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_Entry
    signature: Key_Share_Entry & get_singleton_entry()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: '& get_singleton_entry() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_Entry
    signature: Key_Share_Entry & get_singleton_entry() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Key_Share_ServerHello::selected_group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan::TLS::Key_Share_ServerHello::offered_groups
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Key_Share_ServerHello::selected_group
    linkageType: ''
    returnType: std::vector<Named_Group>
    signature: std::vector<Named_Group> offered_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Botan::TLS::Key_Share_ServerHello::selected_group
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - group
    linkageType: ''
    returnType: Named_Group
    signature: Named_Group selected_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:166,1
    - Dst: Botan::TLS::Key_Share_ServerHello::empty
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:166,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: Botan::TLS::Key_Share_ServerHello::take_shared_secret
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    - BOTAN_STATE_CHECK
    - Botan::TLS::Key_Share_ServerHello::empty
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> take_shared_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:187,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:188,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:190,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:191,1
    - Dst: has_remaining
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:195,1
    - Dst: remaining
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:195,1
    - Dst: remaining
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:196,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:197,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:207,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:207,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:207,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:208,1
    - Dst: Key_Share_Entry::group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:208,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:209,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:210,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:213,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:213,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:216,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - ' reader'
    argTypes:
    - TLS_Data_Reader
    constantsTouched: []
    func_position:
      end: 219
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 219
    functionName: Botan::TLS::Key_Share_ClientHello::Key_Share_ClientHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - TLS_Exception
    - std::find_if
    - remaining
    - has_remaining
    - begin
    - end
    - Key_Share_Entry::group
    - read_so_far
    - emplace_back
    - Decoding_Error
    - get_uint16_t
    - BOTAN_STATE_CHECK
    - group
    linkageType: ''
    returnType: void
    signature: void Key_Share_ClientHello(TLS_Data_Reader& reader, uint16_t /* extension_size
      */)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:222,1
    - Dst: key_exchange_groups_to_offer
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:223,1
    - Dst: find
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:237,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:237,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:237,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:237,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 242
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 242
    functionName: Botan::TLS::Key_Share_ClientHello::Key_Share_ClientHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - key_exchange_groups_to_offer
    - key_exchange_groups
    - auto::end
    - emplace_back
    - find
    linkageType: ''
    returnType: void
    signature: void Key_Share_ClientHello(const Policy& policy, Callbacks& cb, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: ~Key_Share_ClientHello()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Key_Share_ClientHello()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: Botan::TLS::Key_Share_ClientHello::Key_Share_ClientHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_ClientHello(const Key_Share_ClientHello&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: '& operator=(const Key_Share_ClientHello&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_ClientHello
    signature: Key_Share_ClientHello & operator=(const Key_Share_ClientHello&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: Botan::TLS::Key_Share_ClientHello::Key_Share_ClientHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_ClientHello(Key_Share_ClientHello&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: '& operator=(Key_Share_ClientHello&&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_ClientHello
    signature: Key_Share_ClientHello & operator=(Key_Share_ClientHello&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:256,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:256,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:256,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:257,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:258,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:259,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:262,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - to_offer
    - ' cb'
    - ' rng'
    argTypes:
    - TLS::Group_Params
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: Botan::TLS::Key_Share_ClientHello::retry_offer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - std::find_if
    - clear
    - cend
    - cbegin
    - emplace_back
    - group
    linkageType: ''
    returnType: void
    signature: void retry_offer(const TLS::Group_Params to_offer, Callbacks& cb, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:268,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:268,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:270,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: Botan::TLS::Key_Share_ClientHello::offered_groups
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - group
    - std::vector::push_back
    - size
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<Named_Group>
    signature: std::vector<Named_Group> offered_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: Botan::TLS::Key_Share_ClientHello::selected_group
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: Named_Group
    signature: Named_Group selected_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Key_Share_ClientHello::serialize
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:280,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:281,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:281,1
    - Dst: auto::cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:281,1
    - Dst: auto::cend
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:281,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: Botan::TLS::Key_Share_ClientHello::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - auto::cbegin
    - auto::cend
    - std::vector::insert
    - Botan::TLS::Key_Share_ClientHello::serialize
    - append_tls_length_value
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: Botan::TLS::Key_Share_ClientHello::empty
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_singleton_entry
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:301,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:304,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:304,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:304,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:305,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:305,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:311,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:311,1
    - Dst: Botan::TLS::Key_Share_ClientHello::encapsulate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' server_share'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Key_Share_ServerHello
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 314
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 314
    functionName: Botan::TLS::Key_Share_ClientHello::encapsulate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - std::find_if
    - get_singleton_entry
    - end
    - BOTAN_STATE_CHECK
    - Botan::TLS::Key_Share_ClientHello::encapsulate
    - begin
    - group
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> encapsulate(Key_Share_ServerHello& server_share,\n
      \                                        const Policy& policy,\n                                         Callbacks&
      cb,\n                                         RandomNumberGenerator& rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_singleton_entry
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:320,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:323,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:323,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:323,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:324,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:324,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:331,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:332,1
    - Dst: auto::decapsulate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' server_share'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Key_Share_ServerHello
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 336
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 336
    functionName: Botan::TLS::Key_Share_ClientHello::decapsulate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - std::find_if
    - get_singleton_entry
    - end
    - auto::decapsulate
    - begin
    - group
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> decapsulate(const Key_Share_ServerHello& server_share,\n
      \                                        const Policy& policy,\n                                         Callbacks&
      cb,\n                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encapsulate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - ' client_keyshare'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Named_Group
    - Key_Share_ClientHello
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: Botan::TLS::Key_Share_ServerHello::Key_Share_ServerHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - encapsulate
    linkageType: ''
    returnType: void
    signature: "void Key_Share_ServerHello::Key_Share_ServerHello(Named_Group group,\n
      \                                            const Key_Share_ClientHello& client_keyshare,\n
      \                                            const Policy& policy,\n                                             Callbacks&
      cb,\n                                             RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:357,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:358,1
    - Dst: static_cast<Named_Group>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:361,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::Key_Share_HelloRetryRequest
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - get_uint16_t
    - static_cast<Named_Group>
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void Key_Share_HelloRetryRequest(TLS_Data_Reader& reader, uint16_t
      extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - selected_group
    argTypes:
    - Named_Group
    constantsTouched: []
    func_position:
      end: 364
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 364
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::Key_Share_HelloRetryRequest
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_HelloRetryRequest(Named_Group selected_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: ~Key_Share_HelloRetryRequest()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Key_Share_HelloRetryRequest()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::Key_Share_HelloRetryRequest
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_HelloRetryRequest(const Key_Share_HelloRetryRequest&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 369
    functionName: '& operator=(const Key_Share_HelloRetryRequest&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_HelloRetryRequest
    signature: Key_Share_HelloRetryRequest & operator=(const Key_Share_HelloRetryRequest&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 371
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::Key_Share_HelloRetryRequest
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_HelloRetryRequest(Key_Share_HelloRetryRequest&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 372
    functionName: '& operator=(Key_Share_HelloRetryRequest&&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_HelloRetryRequest
    signature: Key_Share_HelloRetryRequest & operator=(Key_Share_HelloRetryRequest&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_code
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:375,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:376,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - wire_code
    - get_byte<1>
    - get_byte<0>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 379
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::selected_group
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Named_Group
    signature: Named_Group selected_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::offered_groups
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: std::vector<Named_Group>
    signature: std::vector<Named_Group> offered_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::empty
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ks
    argTypes:
    - Key_Share_Type
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: Botan::TLS::Key_Share::Key_Share_Impl::Key_Share_Impl
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Key_Share_Impl(Key_Share_Type ks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Key_Share_Impl>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:405,1
    - Dst: Key_Share_ClientHello
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:405,1
    - Dst: std::make_unique<Key_Share_Impl>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:408,1
    - Dst: Key_Share_HelloRetryRequest
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:408,1
    - Dst: std::make_unique<Key_Share_Impl>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:411,1
    - Dst: Key_Share_ServerHello
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:411,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:413,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:413,1
    - Dst: handshake_type_to_string
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - message_type
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 416
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 416
    functionName: Botan::TLS::Key_Share::Key_Share
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Key_Share_ServerHello
    - Key_Share_HelloRetryRequest
    - Key_Share_ClientHello
    - std::string
    - handshake_type_to_string
    - Invalid_Argument
    - std::make_unique<Key_Share_Impl>
    linkageType: ''
    returnType: void
    signature: void Key_Share::Key_Share(TLS_Data_Reader& reader, uint16_t extension_size,
      Handshake_Type message_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Key_Share_Impl>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:420,1
    - Dst: Key_Share_ClientHello
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 420
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 420
    functionName: Botan::TLS::Key_Share::Key_Share
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Key_Share_Impl>
    - Key_Share_ClientHello
    linkageType: ''
    returnType: void
    signature: void Key_Share::Key_Share(const Policy& policy, Callbacks& cb, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Key_Share_Impl>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:424,1
    - Dst: Key_Share_HelloRetryRequest
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - selected_group
    argTypes:
    - Named_Group
    constantsTouched: []
    func_position:
      end: 424
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 424
    functionName: Botan::TLS::Key_Share::Key_Share
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Key_Share_Impl>
    - Key_Share_HelloRetryRequest
    linkageType: ''
    returnType: void
    signature: void Key_Share::Key_Share(Named_Group selected_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Key_Share_Impl>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:432,1
    - Dst: Key_Share_ServerHello
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:432,1
    - Dst: std::get<Key_Share_ClientHello>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - selected_group
    - ' client_keyshare'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Group_Params
    - Key_Share
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: Botan::TLS::Key_Share::Key_Share
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Key_Share_Impl>
    - std::get<Key_Share_ClientHello>
    - Key_Share_ServerHello
    linkageType: ''
    returnType: void
    signature: "void Key_Share::Key_Share(Group_Params selected_group,\n                     const
      Key_Share& client_keyshare,\n                     const Policy& policy,\n                     Callbacks&
      cb,\n                     RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: Key_Share::~Key_Share()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share::~Key_Share()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:438,1
    - Dst: Botan::TLS::Key_Share::serialize
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: Botan::TLS::Key_Share::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Key_Share::serialize
    - std::visit
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Key_Share::serialize(Connection_Side /*whoami*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:442,1
    - Dst: Botan::TLS::Key_Share::empty
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: Botan::TLS::Key_Share::empty
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - std::visit
    - Botan::TLS::Key_Share::empty
    linkageType: ''
    returnType: bool
    signature: bool Key_Share::empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Key_Share>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:450,1
    - Dst: Key_Share::Key_Share
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - selected_group
    - ' client_keyshare'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Group_Params
    - Key_Share
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: Botan::TLS::Key_Share::create_as_encapsulation
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Key_Share::Key_Share
    - std::unique_ptr<Key_Share>
    linkageType: ''
    returnType: std::unique_ptr<Key_Share>
    signature: "std::unique_ptr<Key_Share> Key_Share::create_as_encapsulation(Group_Params
      selected_group,\n                                                              const
      Key_Share& client_keyshare,\n                                                              const
      Policy& policy,\n                                                              Callbacks&
      cb,\n                                                              RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:457,1
    - Dst: Botan::TLS::Key_Share::decapsulate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:458,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' server_keyshare'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Key_Share
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 466
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 466
    functionName: Botan::TLS::Key_Share::decapsulate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - std::visit
    - Invalid_Argument
    - Botan::TLS::Key_Share::decapsulate
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> Key_Share::decapsulate(const Key_Share& server_keyshare,\n
      \                                             const Policy& policy,\n                                              Callbacks&
      cb,\n                                              RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:469,1
    - Dst: Botan::TLS::Key_Share::offered_groups
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: Botan::TLS::Key_Share::offered_groups
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - std::visit
    - Botan::TLS::Key_Share::offered_groups
    linkageType: ''
    returnType: std::vector<Named_Group>
    signature: std::vector<Named_Group> Key_Share::offered_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:473,1
    - Dst: Botan::TLS::Key_Share::selected_group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: Botan::TLS::Key_Share::selected_group
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - std::visit
    - Botan::TLS::Key_Share::selected_group
    linkageType: ''
    returnType: Named_Group
    signature: Named_Group Key_Share::selected_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:477,1
    - Dst: Botan::TLS::Key_Share::take_shared_secret
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:478,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: Botan::TLS::Key_Share::take_shared_secret
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Key_Share::take_shared_secret
    - std::visit
    - Invalid_Argument
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Key_Share::take_shared_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:489,1
    - Dst: Botan::TLS::Key_Share::selected_group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:490,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:494,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:495,1
    - Dst: Botan::TLS::Key_Share::retry_offer
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:498,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ' retry_request_keyshare'
    - ' supported_groups'
    - ' cb'
    - ' rng'
    argTypes:
    - Key_Share
    - std::vector<Named_Group>
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 505
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 505
    functionName: Botan::TLS::Key_Share::retry_offer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - TLS_Exception
    - std::visit
    - value_exists
    - Invalid_Argument
    - Botan::TLS::Key_Share::selected_group
    - Botan::TLS::Key_Share::retry_offer
    linkageType: ''
    returnType: void
    signature: "void Key_Share::retry_offer(const Key_Share& retry_request_keyshare,\n
      \                           const std::vector<Named_Group>& supported_groups,\n
      \                           Callbacks& cb,\n                            RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Cipher_State>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:126,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:126,1
    - Dst: Cipher_State::Cipher_State
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:126,1
    - Dst: auto::advance_without_psk
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:127,1
    - Dst: auto::advance_with_server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:128,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - side
    - ' shared_secret'
    - ' cipher'
    - ' transcript_hash'
    - ' loggger'
    argTypes:
    - Connection_Side
    - secure_vector<uint8_t>
    - Ciphersuite
    - Transcript_Hash
    - Secret_Logger
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: Botan::TLS::Cipher_State::init_with_server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - Cipher_State::Cipher_State
    - auto::advance_with_server_hello
    - std::unique_ptr<Cipher_State>
    - auto::advance_without_psk
    - prf_algo
    linkageType: ''
    returnType: std::unique_ptr<Cipher_State>
    signature: "std::unique_ptr<Cipher_State> Cipher_State::init_with_server_hello(const
      Connection_Side side,\n                                                                   secure_vector<uint8_t>&&
      shared_secret,\n                                                                   const
      Ciphersuite& cipher,\n                                                                   const
      Transcript_Hash& transcript_hash,\n                                                                   const
      Secret_Logger& loggger)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Cipher_State>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:136,1
    - Dst: Cipher_State::Cipher_State
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:136,1
    - Dst: auto::advance_with_psk
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:137,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - side
    - type
    - ' psk'
    - prf_algo
    argTypes:
    - Connection_Side
    - Cipher_State::PSK_Type
    - secure_vector<uint8_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: Botan::TLS::Cipher_State::init_with_psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Cipher_State::Cipher_State
    - auto::advance_with_psk
    - std::unique_ptr<Cipher_State>
    linkageType: ''
    returnType: std::unique_ptr<Cipher_State>
    signature: "std::unique_ptr<Cipher_State> Cipher_State::init_with_psk(const Connection_Side
      side,\n                                                          const Cipher_State::PSK_Type
      type,\n                                                          secure_vector<uint8_t>&&
      psk,\n                                                          std::string_view
      prf_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:142,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:144,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:152,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:158,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:160,1
    - Dst: Botan::TLS::Cipher_State::empty_hash
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:160,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' transcript_hash'
    - ' loggger'
    argTypes:
    - Transcript_Hash
    - Secret_Logger
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: Botan::TLS::Cipher_State::advance_with_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - maybe_log_secret
    - Botan::TLS::Cipher_State::derive_secret
    - zap
    - Botan::TLS::Cipher_State::empty_hash
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Cipher_State::advance_with_client_hello(const Transcript_Hash&
      transcript_hash, const Secret_Logger& loggger)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:167,1
    - Dst: Botan::TLS::Cipher_State::hkdf_extract
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:169,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:169,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:169,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:171,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:172,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:178,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:179,1
    - Dst: Botan::TLS::Cipher_State::derive_write_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:185,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:186,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:187,1
    - Dst: Botan::TLS::Cipher_State::derive_read_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:189,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:190,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:191,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:194,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ' transcript_hash'
    - ' loggger'
    argTypes:
    - Transcript_Hash
    - Secret_Logger
    constantsTouched: []
    func_position:
      end: 203
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 203
    functionName: Botan::TLS::Cipher_State::advance_with_server_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - secure_vector<uint8_t>
    - Botan::TLS::Cipher_State::derive_write_traffic_key
    - Botan::TLS::Cipher_State::derive_read_traffic_key
    - maybe_log_secret
    - output_length
    - Botan::TLS::Cipher_State::derive_secret
    - Botan::TLS::Cipher_State::hkdf_extract
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Cipher_State::advance_with_server_finished(const Transcript_Hash&
      transcript_hash, const Secret_Logger& loggger)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:206,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:208,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:209,1
    - Dst: Botan::TLS::Cipher_State::derive_read_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:214,1
    - Dst: Botan::TLS::Cipher_State::derive_write_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:216,1
    - Dst: Botan::TLS::Cipher_State::hkdf_extract
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:219,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:219,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:219,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:221,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' transcript_hash'
    argTypes:
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 227
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 227
    functionName: Botan::TLS::Cipher_State::advance_with_client_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - secure_vector<uint8_t>
    - Botan::TLS::Cipher_State::derive_write_traffic_key
    - Botan::TLS::Cipher_State::derive_read_traffic_key
    - output_length
    - Botan::TLS::Cipher_State::derive_secret
    - zap
    - Botan::TLS::Cipher_State::hkdf_extract
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Cipher_State::advance_with_client_finished(const Transcript_Hash&
      transcript_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:241,1
    - Dst: last
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:241,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - seq_no
    - iv
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 244
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 244
    functionName: Botan::TLS::current_nonce
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - xor_buf
    - last
    linkageType: ''
    returnType: auto
    signature: auto current_nonce(const uint64_t seq_no, std::span<const uint8_t>
      iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:249,1
    - Dst: set_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:251,1
    - Dst: set_associated_data
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:252,1
    - Dst: start
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:253,1
    - Dst: current_nonce
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:253,1
    - Dst: finish
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' header'
    - ' fragment'
    argTypes:
    - std::vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: Botan::TLS::Cipher_State::encrypt_record_fragment
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - current_nonce
    - set_key
    - start
    - finish
    - set_associated_data
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Cipher_State::encrypt_record_fragment(const std::vector<uint8_t>&
      header, secure_vector<uint8_t>& fragment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:261,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:262,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:262,1
    - Dst: minimum_final_size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:262,1
    - Dst: set_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:264,1
    - Dst: set_associated_data
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:265,1
    - Dst: start
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:266,1
    - Dst: current_nonce
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:266,1
    - Dst: finish
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' header'
    - ' encrypted_fragment'
    argTypes:
    - std::vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: Botan::TLS::Cipher_State::decrypt_record_fragment
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - current_nonce
    - set_key
    - start
    - finish
    - set_associated_data
    - BOTAN_ASSERT_NONNULL
    - size
    - BOTAN_ARG_CHECK
    - minimum_final_size
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t Cipher_State::decrypt_record_fragment(const std::vector<uint8_t>&
      header,\n                                               secure_vector<uint8_t>&
      encrypted_fragment)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:274,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: Botan::TLS::Cipher_State::encrypt_output_length
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    - output_length
    linkageType: ''
    returnType: size_t
    signature: size_t Cipher_State::encrypt_output_length(const size_t input_length)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:279,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: Botan::TLS::Cipher_State::decrypt_output_length
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    - output_length
    linkageType: ''
    returnType: size_t
    signature: size_t Cipher_State::decrypt_output_length(const size_t input_length)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:284,1
    - Dst: minimum_final_size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: Botan::TLS::Cipher_State::minimum_decryption_input_length
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    - minimum_final_size
    linkageType: ''
    returnType: size_t
    signature: size_t Cipher_State::minimum_decryption_input_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 311
    functionName: Botan::TLS::Cipher_State::must_expect_unprotected_alert_traffic
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Cipher_State::must_expect_unprotected_alert_traffic() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:326,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 327
    functionName: Botan::TLS::Cipher_State::can_encrypt_application_traffic
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Cipher_State::can_encrypt_application_traffic() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:342,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:342,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 343
    functionName: Botan::TLS::Cipher_State::can_decrypt_application_traffic
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Cipher_State::can_decrypt_application_traffic() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:346,1
    - Dst: name
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: Botan::TLS::Cipher_State::hash_algorithm
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string Cipher_State::hash_algorithm() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usable_in_version
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:351,1
    - Dst: Botan::TLS::Cipher_State::hash_algorithm
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:355,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:355,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:359,1
    - Dst: name
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:364,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:364,1
    - Dst: name
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:364,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' cipher'
    argTypes:
    - Ciphersuite
    constantsTouched: []
    func_position:
      end: 369
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 369
    functionName: Botan::TLS::Cipher_State::is_compatible_with
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - usable_in_version
    - name
    - prf_algo
    - cipher_algo
    - Botan::TLS::Cipher_State::hash_algorithm
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: bool Cipher_State::is_compatible_with(const Ciphersuite& cipher) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:373,1
    - Dst: HMAC
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:375,1
    - Dst: new_object
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:375,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:376,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:377,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' transcript_hash_with_truncated_client_hello'
    argTypes:
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: Botan::TLS::Cipher_State::psk_binder_mac
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - auto::final_stdvec
    - new_object
    - auto::update
    - HMAC
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Cipher_State::psk_binder_mac(\n   const Transcript_Hash&
      transcript_hash_with_truncated_client_hello) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:382,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:383,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:384,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:384,1
    - Dst: HMAC
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:386,1
    - Dst: new_object
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:386,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:387,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:388,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' transcript_hash'
    argTypes:
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: Botan::TLS::Cipher_State::finished_mac
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - auto::final_stdvec
    - empty
    - new_object
    - auto::update
    - HMAC
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Cipher_State::finished_mac(const Transcript_Hash&
      transcript_hash) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:394,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:395,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:396,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:396,1
    - Dst: HMAC
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:398,1
    - Dst: new_object
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:398,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:399,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:400,1
    - Dst: auto::verify_mac
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' transcript_hash'
    - ' peer_mac'
    argTypes:
    - Transcript_Hash
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 402
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 402
    functionName: Botan::TLS::Cipher_State::verify_peer_finished_mac
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - empty
    - new_object
    - auto::update
    - HMAC
    - auto::verify_mac
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: "bool Cipher_State::verify_peer_finished_mac(const Transcript_Hash&
      transcript_hash,\n                                            const std::vector<uint8_t>&
      peer_mac) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:405,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:407,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - Ticket_Nonce
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: Botan::TLS::Cipher_State::psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Cipher_State::derive_secret
    - get
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Cipher_State::psk(const Ticket_Nonce& nonce)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:411,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:412,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:413,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:417,1
    - Dst: Ticket_Nonce::data
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 420
    functionName: Botan::TLS::Cipher_State::next_ticket_nonce
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - Ticket_Nonce::data
    - store_be
    - Invalid_State
    - cryptofuzz::mutator::ExpModGenerator::max
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Ticket_Nonce
    signature: Ticket_Nonce Cipher_State::next_ticket_nonce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:423,1
    - Dst: can_export_keys
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:423,1
    - Dst: update
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:425,1
    - Dst: final_stdvec
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:426,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:427,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:428,1
    - Dst: Botan::TLS::Cipher_State::empty_hash
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - label
    - context
    - length
    argTypes:
    - std::string_view
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: Botan::TLS::Cipher_State::export_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - update
    - final_stdvec
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - can_export_keys
    - Botan::TLS::Cipher_State::derive_secret
    - Botan::TLS::Cipher_State::empty_hash
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Cipher_State::export_key(std::string_view label,
      std::string_view context, size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:434,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: Botan::TLS::create_hmac
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<HMAC>
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> create_hmac(std::string_view
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HKDF_Extract>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:442,1
    - Dst: create_hmac
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:442,1
    - Dst: std::make_unique<HKDF_Expand>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:443,1
    - Dst: create_hmac
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:443,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:444,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - whoami
    - hash_function
    argTypes:
    - Connection_Side
    - std::string_view
    constantsTouched: []
    func_position:
      end: 450
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 450
    functionName: Botan::TLS::Cipher_State::Cipher_State
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - create_hmac
    - std::make_unique<HKDF_Extract>
    - output_length
    - Botan::HashFunction::create_or_throw
    - std::make_unique<HKDF_Expand>
    linkageType: ''
    returnType: void
    signature: void Cipher_State::Cipher_State(Connection_Side whoami, std::string_view
      hash_function)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: Cipher_State::~Cipher_State()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cipher_State::~Cipher_State()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:455,1
    - Dst: Botan::TLS::Cipher_State::hkdf_extract
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:459,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:459,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:459,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:460,1
    - Dst: Botan::TLS::Cipher_State::empty_hash
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 464
    functionName: Botan::TLS::Cipher_State::advance_without_psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - secure_vector<uint8_t>
    - output_length
    - Botan::TLS::Cipher_State::derive_secret
    - Botan::TLS::Cipher_State::empty_hash
    - Botan::TLS::Cipher_State::hkdf_extract
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Cipher_State::advance_without_psk()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:467,1
    - Dst: Botan::TLS::Cipher_State::hkdf_extract
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:469,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:469,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:479,1
    - Dst: Botan::TLS::Cipher_State::empty_hash
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:479,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:480,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - type
    - ' psk'
    argTypes:
    - PSK_Type
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 483
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 483
    functionName: Botan::TLS::Cipher_State::advance_with_psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - output_length
    - Botan::TLS::Cipher_State::derive_secret
    - Botan::TLS::Cipher_State::empty_hash
    - Botan::TLS::Cipher_State::hkdf_extract
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Cipher_State::advance_with_psk(PSK_Type type, secure_vector<uint8_t>&&
      psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:489,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:490,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:491,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:492,1
    - Dst: Botan::TLS::Cipher_State::is_compatible_with
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:492,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:494,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:494,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:495,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:495,1
    - Dst: Botan::TLS::Cipher_State::hkdf_extract
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:497,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:497,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:499,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:500,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:506,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:507,1
    - Dst: Botan::TLS::Cipher_State::derive_read_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:510,1
    - Dst: Botan::TLS::Cipher_State::derive_write_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:511,1
    - Dst: Botan::TLS::Cipher_State::derive_read_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:513,1
    - Dst: Botan::TLS::Cipher_State::derive_write_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:514,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:517,1
    - Dst: Botan::TLS::Cipher_State::empty_hash
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - ' cipher'
    - ' shared_secret'
    - ' transcript_hash'
    - ' loggger'
    argTypes:
    - Ciphersuite
    - secure_vector<uint8_t>
    - Transcript_Hash
    - Secret_Logger
    constantsTouched: []
    func_position:
      end: 520
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 520
    functionName: Botan::TLS::Cipher_State::advance_with_server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Cipher_State::is_compatible_with
    - Botan::TLS::Cipher_State::derive_write_traffic_key
    - Botan::TLS::Cipher_State::derive_read_traffic_key
    - cipher_algo
    - maybe_log_secret
    - Botan::TLS::Cipher_State::hkdf_extract
    - Botan::TLS::Cipher_State::derive_secret
    - Botan::TLS::Cipher_State::empty_hash
    - BOTAN_STATE_CHECK
    - Botan::AEAD_Mode::create_or_throw
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void Cipher_State::advance_with_server_hello(const Ciphersuite& cipher,\n
      \                                            secure_vector<uint8_t>&& shared_secret,\n
      \                                            const Transcript_Hash& transcript_hash,\n
      \                                            const Secret_Logger& loggger)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:524,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:526,1
    - Dst: minimum_keylength
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:526,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:527,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:533,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' traffic_secret'
    - handshake_traffic_secret
    argTypes:
    - secure_vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 535
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 535
    functionName: Botan::TLS::Cipher_State::derive_write_traffic_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - BOTAN_ASSERT_NONNULL
    - minimum_keylength
    - output_length
    linkageType: ''
    returnType: void
    signature: "void Cipher_State::derive_write_traffic_key(const secure_vector<uint8_t>&
      traffic_secret,\n                                            const bool handshake_traffic_secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:539,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:541,1
    - Dst: minimum_keylength
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:541,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:542,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:548,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' traffic_secret'
    - handshake_traffic_secret
    argTypes:
    - secure_vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 550
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 550
    functionName: Botan::TLS::Cipher_State::derive_read_traffic_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - BOTAN_ASSERT_NONNULL
    - minimum_keylength
    - output_length
    linkageType: ''
    returnType: void
    signature: "void Cipher_State::derive_read_traffic_key(const secure_vector<uint8_t>&
      traffic_secret,\n                                           const bool handshake_traffic_secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: derive_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:553,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:553,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ikm
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 554
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 554
    functionName: Botan::TLS::Cipher_State::hkdf_extract
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 5
    functionsReached:
    - std::vector<uint8_t>
    - derive_key
    - output_length
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Cipher_State::hkdf_extract(std::span<const uint8_t>
      ikm) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:562,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:562,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:563,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:566,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:566,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:567,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:568,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:568,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:569,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:569,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:573,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:573,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:573,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:574,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:574,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:574,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:574,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:575,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:575,1
    - Dst: std::string::cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:575,1
    - Dst: std::string::cend
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:575,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:576,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:576,1
    - Dst: std::string_view::cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:576,1
    - Dst: std::string_view::cend
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:576,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:579,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:579,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:580,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:580,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:580,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:581,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:581,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:581,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:581,1
    - Dst: derive_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:584,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' secret'
    - label
    - ' context'
    - length
    argTypes:
    - secure_vector<uint8_t>
    - std::string_view
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 586
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 586
    functionName: Botan::TLS::Cipher_State::hkdf_expand_label
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 4
    functionsReached:
    - std::string_view::size
    - std::string::cbegin
    - std::string::cend
    - std::string_view::cend
    - std::vector<uint8_t>
    - std::string_view::cbegin
    - BOTAN_ARG_CHECK
    - secure_vector::end
    - secure_vector::push_back
    - cend
    - get_byte<1>
    - cbegin
    - static_cast<uint8_t>
    - derive_key
    - cryptofuzz::mutator::ExpModGenerator::max
    - static_cast<uint16_t>
    - std::string::size
    - secure_vector::insert
    - get_byte<0>
    - size
    - secure_vector::reserve
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> Cipher_State::hkdf_expand_label(const secure_vector<uint8_t>&
      secret,\n                                                       std::string_view
      label,\n                                                       const std::vector<uint8_t>&
      context,\n                                                       const size_t
      length) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:591,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' secret'
    - label
    - ' messages_hash'
    argTypes:
    - secure_vector<uint8_t>
    - std::string_view
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 4
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: Botan::TLS::Cipher_State::derive_secret
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 8
    functionsReached:
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - output_length
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> Cipher_State::derive_secret(const secure_vector<uint8_t>&
      secret,\n                                                   std::string_view
      label,\n                                                   const Transcript_Hash&
      messages_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:595,1
    - Dst: final_stdvec
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: Botan::TLS::Cipher_State::empty_hash
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 5
    functionsReached:
    - update
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Cipher_State::empty_hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:600,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:603,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:603,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:605,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:608,1
    - Dst: Botan::TLS::Cipher_State::derive_read_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' logger'
    argTypes:
    - Secret_Logger
    constantsTouched: []
    func_position:
      end: 611
      start: 599
    functionDepth: 4
    functionLinenumber: 599
    functionLinenumberEnd: 611
    functionName: Botan::TLS::Cipher_State::update_read_keys
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - Botan::TLS::Cipher_State::derive_read_traffic_key
    - maybe_log_secret
    - output_length
    - fmt
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Cipher_State::update_read_keys(const Secret_Logger& logger)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:614,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:616,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:616,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:618,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:621,1
    - Dst: Botan::TLS::Cipher_State::derive_write_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' logger'
    argTypes:
    - Secret_Logger
    constantsTouched: []
    func_position:
      end: 624
      start: 613
    functionDepth: 4
    functionLinenumber: 613
    functionLinenumberEnd: 624
    functionName: Botan::TLS::Cipher_State::update_write_keys
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - Botan::TLS::Cipher_State::derive_write_traffic_key
    - maybe_log_secret
    - output_length
    - fmt
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Cipher_State::update_write_keys(const Secret_Logger& logger)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:627,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:628,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: Botan::TLS::Cipher_State::clear_read_keys
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Cipher_State::clear_read_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:633,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:634,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: Botan::TLS::Cipher_State::clear_write_keys
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Cipher_State::clear_write_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Transcript_Hash_State
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.h:30,1
    - Dst: Botan::TLS::Transcript_Hash_State
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.h:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 94
    functionName: Botan::TLS::Transcript_Hash_State
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Transcript_Hash_State
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Transcript_Hash_State
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::TLS::identity
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::TLS::obfuscated_age
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t obfuscated_age() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - IteratorT
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: Botan::TLS::verify_change_cipher_spec
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool verify_change_cipher_spec(const IteratorT data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:39,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:40,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:41,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:42,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:43,1
    - Dst: static_cast<Record_Type>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - type_byte
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: Botan::TLS::read_record_type
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - static_cast<uint8_t>
    - static_cast<Record_Type>
    linkageType: ''
    returnType: Record_Type
    signature: Record_Type read_record_type(const uint8_t type_byte)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_record_type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:55,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:56,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:56,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:57,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:58,1
    - Dst: major_version
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:62,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:63,1
    - Dst: version_code
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:69,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:70,1
    - Dst: Botan::TLS::TLSPlaintext_Header::type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:79,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:80,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:94,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - hdr
    - check_tls13_version
    argTypes:
    - std::vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 110
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 110
    functionName: Botan::TLS::TLSPlaintext_Header::TLSPlaintext_Header
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - TLS_Exception
    - read_record_type
    - Protocol_Version
    - make_uint16
    - Botan::TLS::TLSPlaintext_Header::type
    - version_code
    - major_version
    linkageType: ''
    returnType: void
    signature: void TLSPlaintext_Header(std::vector<uint8_t> hdr, const bool check_tls13_version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:118,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:120,1
    - Dst: major_version
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:121,1
    - Dst: minor_version
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:122,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:123,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - record_type
    - frgmnt_length
    - use_compatibility_version
    argTypes:
    - Record_Type
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: Botan::TLS::TLSPlaintext_Header::TLSPlaintext_Header
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - minor_version
    - get_byte<1>
    - static_cast<uint8_t>
    - get_byte<0>
    - static_cast<uint16_t>
    - major_version
    linkageType: ''
    returnType: void
    signature: "void TLSPlaintext_Header(const Record_Type record_type,\n                          const
      size_t frgmnt_length,\n                          const bool use_compatibility_version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Botan::TLS::TLSPlaintext_Header::type
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Record_Type
    signature: Record_Type type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan::TLS::TLSPlaintext_Header::fragment_length
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t fragment_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::TLS::TLSPlaintext_Header::legacy_version
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version legacy_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: '& serialized() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & serialized() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: Botan::TLS::Record_Layer::Record_Layer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Record_Layer::Record_Layer(Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:172,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:172,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:172,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Botan::TLS::Record_Layer::copy_data
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void Record_Layer::copy_data(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:191,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:198,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:198,1
    - Dst: verify_change_cipher_spec
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:201,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:201,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:201,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:202,1
    - Dst: std::max
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:219,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:219,1
    - Dst: Cipher_State*::encrypt_output_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:224,1
    - Dst: Cipher_State*::encrypt_output_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:226,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:226,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:229,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:231,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:239,1
    - Dst: TLSPlaintext_Header
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:250,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:252,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:252,1
    - Dst: auto::cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:252,1
    - Dst: auto::cend
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:252,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:254,1
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:257,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:260,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:260,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:260,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:260,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:261,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:261,1
    - Dst: Cipher_State*::encrypt_record_fragment
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:264,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:265,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:265,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:267,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:267,1
    - Dst: secure_vector::cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:267,1
    - Dst: secure_vector::cend
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:267,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:269,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:269,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:269,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:269,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:276,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - type
    - data
    - cipher_state
    argTypes:
    - Record_Type
    - std::span<const uint8_t>
    - Cipher_State*
    constantsTouched: []
    func_position:
      end: 278
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 278
    functionName: Botan::TLS::Record_Layer::prepare_records
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::subspan
    - auto::end
    - verify_change_cipher_spec
    - Cipher_State*::encrypt_record_fragment
    - BOTAN_ASSERT_NOMSG
    - TLSPlaintext_Header
    - auto::cbegin
    - std::max
    - secure_vector::cend
    - secure_vector::cbegin
    - secure_vector::end
    - std::span<const uint8_t>::empty
    - auto::begin
    - std::vector::size
    - Cipher_State*::encrypt_output_length
    - std::span<const uint8_t>::begin
    - std::vector::reserve
    - std::vector::insert
    - auto::cend
    - secure_vector::push_back
    - static_cast<uint8_t>
    - secure_vector::insert
    - std::vector::end
    - std::span<const uint8_t>::size
    - BOTAN_ASSERT
    - Invalid_Argument
    - secure_vector::reserve
    - secure_vector::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Record_Layer::prepare_records(const Record_Type
      type,\n                                                   std::span<const uint8_t>
      data,\n                                                   Cipher_State* cipher_state)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:281,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:282,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:285,1
    - Dst: TLSPlaintext_Header::type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:302,1
    - Dst: TLSPlaintext_Header::type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:303,1
    - Dst: Cipher_State*::must_expect_unprotected_alert_traffic
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:304,1
    - Dst: TLSPlaintext_Header::type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:304,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:305,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:308,1
    - Dst: TLSPlaintext_Header::fragment_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:308,1
    - Dst: TLSPlaintext_Header::fragment_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:309,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:309,1
    - Dst: TLSPlaintext_Header::fragment_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:313,1
    - Dst: TLSPlaintext_Header::type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:315,1
    - Dst: verify_change_cipher_spec
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:316,1
    - Dst: TLSPlaintext_Header::fragment_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:316,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:317,1
    - Dst: TLSPlaintext_Header::type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:320,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:320,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:321,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:327,1
    - Dst: Record::fragment::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:330,1
    - Dst: Cipher_State*::minimum_decryption_input_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:330,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:331,1
    - Dst: Cipher_State*::decrypt_output_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:334,1
    - Dst: Record::fragment::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:334,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:335,1
    - Dst: Cipher_State*::decrypt_record_fragment
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:338,1
    - Dst: TLSPlaintext_Header::serialized
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:338,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:342,1
    - Dst: Record::fragment::crbegin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:342,1
    - Dst: Record::fragment::crend
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:342,1
    - Dst: Record::fragment::crend
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:344,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:349,1
    - Dst: read_record_type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:353,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:359,1
    - Dst: Record::fragment::erase
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:363,1
    - Dst: base
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:363,1
    - Dst: Record::fragment::cend
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:363,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 1
    argNames:
    - cipher_state
    argTypes:
    - Cipher_State*
    constantsTouched: []
    func_position:
      end: 367
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 367
    functionName: Botan::TLS::Record_Layer::next_record
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - TLSPlaintext_Header::type
    - verify_change_cipher_spec
    - Record::fragment::size
    - erase
    - TLSPlaintext_Header::fragment_length
    - secure_vector<uint8_t>
    - Record::fragment::crend
    - Record::fragment::crbegin
    - Cipher_State*::decrypt_record_fragment
    - std::find_if
    - cbegin
    - Cipher_State*::must_expect_unprotected_alert_traffic
    - Cipher_State*::decrypt_output_length
    - Cipher_State*::minimum_decryption_input_length
    - read_record_type
    - base
    - Record::fragment::cend
    - size
    - TLSPlaintext_Header::serialized
    - Record::fragment::erase
    linkageType: ''
    returnType: Record_Layer::ReadResult<Record>
    signature: Record_Layer::ReadResult<Record> Record_Layer::next_record(Cipher_State*
      cipher_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:370,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:371,1
    - Dst: std::min
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:378,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - outgoing_limit
    - incoming_limit
    argTypes:
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: Botan::TLS::Record_Layer::set_record_size_limits
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::min
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void Record_Layer::set_record_size_limits(const uint16_t outgoing_limit,
      const uint16_t incoming_limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - then
    - now
    argTypes:
    - std::chrono::system_clock::time_point
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: Botan::TLS::calculate_age
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) calculate_age(std::chrono::system_clock::time_point
      then, std::chrono::system_clock::time_point now)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PskIdentity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:41,1
    - Dst: handle::opaque_handle
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:41,1
    - Dst: calculate_age
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:42,1
    - Dst: session::start_time
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:42,1
    - Dst: session::session_age_add
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:43,1
    - Dst: session::ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:44,1
    - Dst: session::extract_master_secret
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session_to_resume'
    - timestamp
    argTypes:
    - Session_with_Handle
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: Botan::TLS::Client_PSK::Client_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - calculate_age
    - handle::opaque_handle
    - session::extract_master_secret
    - session::start_time
    - PskIdentity
    - session::session_age_add
    - session::ciphersuite
    linkageType: ''
    returnType: void
    signature: void Client_PSK(Session_with_Handle& session_to_resume, std::chrono::system_clock::time_point
      timestamp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PskIdentity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:50,1
    - Dst: PresharedKeyID
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:50,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:50,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:51,1
    - Dst: extract_master_secret
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' psk'
    argTypes:
    - ExternalPSK
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan::TLS::Client_PSK::Client_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - extract_master_secret
    - PresharedKeyID
    - PskIdentity
    - identity
    - prf_algo
    linkageType: ''
    returnType: void
    signature: void Client_PSK(ExternalPSK&& psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:56,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - bndr
    argTypes:
    - PskIdentity
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Client_PSK::Client_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Client_PSK(PskIdentity id, std::vector<uint8_t> bndr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:62,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:77,1
    - Dst: Botan::TLS::Cipher_State::init_with_psk
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:80,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - id
    - prf_algo
    - ' master_secret'
    - psk_type
    argTypes:
    - PskIdentity
    - std::string_view
    - secure_vector<uint8_t>
    - Cipher_State::PSK_Type
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: Botan::TLS::Client_PSK::Client_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Cipher_State::init_with_psk
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: "void Client_PSK(PskIdentity id,\n                 std::string_view
      prf_algo,\n                 secure_vector<uint8_t>&& master_secret,\n                 Cipher_State::PSK_Type
      psk_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& identity() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PskIdentity
    signature: PskIdentity & identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& binder() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & binder() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan::TLS::Client_PSK::is_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_resumption() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - binder
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan::TLS::Client_PSK::set_binder
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_binder(std::vector<uint8_t> binder)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '& cipher_state() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: Cipher_State
    signature: Cipher_State & cipher_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::TLS::Client_PSK::take_cipher_state
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: std::unique_ptr<Cipher_State>
    signature: std::unique_ptr<Cipher_State> take_cipher_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::monostate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan::TLS::Server_PSK::Server_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::monostate
    linkageType: ''
    returnType: void
    signature: void Server_PSK(uint16_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - session
    argTypes:
    - uint16_t
    - Session
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: Botan::TLS::Server_PSK::Server_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_PSK(uint16_t id, Session session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - psk
    argTypes:
    - uint16_t
    - ExternalPSK
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::TLS::Server_PSK::Server_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_PSK(uint16_t id, ExternalPSK psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::TLS::Server_PSK::selected_identity
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t selected_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:119,1
    - Dst: std::holds_alternative<std::monostate>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:119,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:120,1
    - Dst: std::monostate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: Botan::TLS::Server_PSK::take_session_to_resume_or_psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    - std::monostate
    - BOTAN_STATE_CHECK
    - std::holds_alternative<std::monostate>
    linkageType: ''
    returnType: std::variant<std::monostate, Session, ExternalPSK>
    signature: std::variant<std::monostate, Session, ExternalPSK> take_session_to_resume_or_psk()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - srv_psk
    argTypes:
    - Server_PSK
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Botan::TLS::PSK::PSK_Internal::PSK_Internal
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSK_Internal(Server_PSK srv_psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - clt_psks
    argTypes:
    - std::vector<Client_PSK>
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: Botan::TLS::PSK::PSK_Internal::PSK_Internal
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSK_Internal(std::vector<Client_PSK> clt_psks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:145,1
    - Dst: std::make_unique<PSK_Internal>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:149,1
    - Dst: Server_PSK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:149,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:151,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:152,1
    - Dst: has_remaining
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:155,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:155,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:156,1
    - Dst: get_uint32_t
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:157,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:158,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:158,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:161,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:162,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:165,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:166,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:169,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:170,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:173,1
    - Dst: has_remaining
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:178,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:178,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:179,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:182,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:182,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:182,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:185,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:186,1
    - Dst: std::make_unique<PSK_Internal>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:189,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:189,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:191,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - message_type
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 193
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 193
    functionName: Botan::TLS::PSK::PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - TLS_Exception
    - std::vector::empty
    - get_uint32_t
    - Server_PSK
    - has_remaining
    - read_so_far
    - get_tls_length_value
    - std::vector::emplace_back
    - get_uint16_t
    - std::make_unique<PSK_Internal>
    linkageType: ''
    returnType: void
    signature: void PSK::PSK(TLS_Data_Reader& reader, uint16_t extension_size, Handshake_Type
      message_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:198,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:199,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:199,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:199,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:203,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:203,1
    - Dst: std::make_unique<PSK_Internal>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:206,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' session_to_resume'
    - psks
    - ' callbacks'
    argTypes:
    - std::optional<Session_with_Handle>
    - std::vector<ExternalPSK>
    - Callbacks
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: Botan::TLS::PSK::PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - has_value
    - std::vector::emplace_back
    - tls_current_timestamp
    - value
    - std::make_unique<PSK_Internal>
    linkageType: ''
    returnType: void
    signature: void PSK::PSK(std::optional<Session_with_Handle>& session_to_resume,
      std::vector<ExternalPSK> psks, Callbacks& callbacks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PSK_Internal>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:210,1
    - Dst: Server_PSK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:210,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - session_to_resume
    - psk_index
    argTypes:
    - Session
    - uint16_t
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: Botan::TLS::PSK::PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Server_PSK
    - std::make_unique<PSK_Internal>
    linkageType: ''
    returnType: void
    signature: void PSK::PSK(Session session_to_resume, const uint16_t psk_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PSK_Internal>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:213,1
    - Dst: Server_PSK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:213,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - psk
    - psk_index
    argTypes:
    - ExternalPSK
    - uint16_t
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: Botan::TLS::PSK::PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Server_PSK
    - std::make_unique<PSK_Internal>
    linkageType: ''
    returnType: void
    signature: void PSK::PSK(ExternalPSK psk, const uint16_t psk_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: PSK::~PSK()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSK::~PSK()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Server_PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:218,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:222,1
    - Dst: std::holds_alternative<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:222,1
    - Dst: std::get<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: Botan::TLS::PSK::empty
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::holds_alternative<Server_PSK>
    - std::get<std::vector<Client_PSK>>
    - std::holds_alternative<std::vector<Client_PSK>>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: bool PSK::empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:228,1
    - Dst: std::holds_alternative<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:228,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:229,1
    - Dst: std::holds_alternative<Server_PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:229,1
    - Dst: std::get<Server_PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:231,1
    - Dst: std::get<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:232,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:239,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:240,1
    - Dst: at
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:243,1
    - Dst: take_cipher_state
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:244,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:246,1
    - Dst: is_resumption
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:249,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:252,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:256,1
    - Dst: auto::is_compatible_with
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:263,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:264,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:267,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' server_psk'
    - ' cipher'
    argTypes:
    - PSK
    - Ciphersuite
    constantsTouched: []
    func_position:
      end: 268
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 268
    functionName: Botan::TLS::PSK::take_selected_psk_info
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - take_cipher_state
    - TLS_Exception
    - std::move
    - clear
    - at
    - std::get<Server_PSK>
    - std::get<std::vector<Client_PSK>>
    - auto::is_compatible_with
    - BOTAN_ASSERT_NONNULL
    - is_resumption
    - size
    - identity
    - std::holds_alternative<Server_PSK>
    - BOTAN_STATE_CHECK
    - std::holds_alternative<std::vector<Client_PSK>>
    linkageType: ''
    returnType: std::pair<std::optional<std::string>, std::unique_ptr<Cipher_State>>
    signature: "std::pair<std::optional<std::string>, std::unique_ptr<Cipher_State>>
      PSK::take_selected_psk_info(\n   const PSK& server_psk, const Ciphersuite& cipher)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:276,1
    - Dst: std::holds_alternative<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:276,1
    - Dst: std::get<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:278,1
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:284,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:285,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:285,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:285,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:285,1
    - Dst: choose_from_offered_tickets
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:287,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:287,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:288,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:294,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:294,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:295,1
    - Dst: std::unique_ptr<PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:299,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:299,1
    - Dst: PSK::PSK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:299,1
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:306,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:306,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:306,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:306,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:307,1
    - Dst: choose_preshared_key
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:310,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:310,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:311,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:317,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:317,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:318,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:323,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:323,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:323,1
    - Dst: identity_as_string
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:324,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:324,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:326,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:327,1
    - Dst: std::unique_ptr<PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:342,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:343,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:343,1
    - Dst: std::distance
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:343,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:343,1
    - Dst: PSK::PSK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 6
    argNames:
    - host
    - ' cipher'
    - ' session_mgr'
    - ' credentials_mgr'
    - ' callbacks'
    - ' policy'
    argTypes:
    - std::string_view
    - Ciphersuite
    - Session_Manager
    - Credentials_Manager
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 347
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 347
    functionName: Botan::TLS::PSK::select_offered_psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - TLS_Exception
    - auto::value
    - end
    - std::back_inserter
    - identity
    - begin
    - std::holds_alternative<std::vector<Client_PSK>>
    - std::get<std::vector<Client_PSK>>
    - std::unique_ptr<PSK>
    - choose_preshared_key
    - std::vector::begin
    - prf_algo
    - std::transform
    - std::find_if
    - ciphersuite
    - static_cast<uint16_t>
    - BOTAN_STATE_CHECK
    - std::vector::end
    - identity_as_string
    - choose_from_offered_tickets
    - PSK::PSK
    - std::distance
    linkageType: ''
    returnType: std::unique_ptr<PSK>
    signature: "std::unique_ptr<PSK> PSK::select_offered_psk(std::string_view host,\n
      \                                            const Ciphersuite& cipher,\n                                             Session_Manager&
      session_mgr,\n                                             Credentials_Manager&
      credentials_mgr,\n                                             Callbacks& callbacks,\n
      \                                            const Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:350,1
    - Dst: std::holds_alternative<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:350,1
    - Dst: std::get<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:351,1
    - Dst: std::remove_if
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:353,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:353,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:353,1
    - Dst: cipher_state
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:354,1
    - Dst: is_compatible_with
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:355,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:357,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' cipher'
    argTypes:
    - Ciphersuite
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: Botan::TLS::PSK::filter
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::holds_alternative<std::vector<Client_PSK>>
    - BOTAN_STATE_CHECK
    - end
    - std::get<std::vector<Client_PSK>>
    - cipher_state
    - is_compatible_with
    - begin
    - erase
    - std::remove_if
    linkageType: ''
    returnType: void
    signature: void PSK::filter(const Ciphersuite& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:361,1
    - Dst: std::holds_alternative<Server_PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:361,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:363,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:366,1
    - Dst: std::get<Server_PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 372
    functionName: Botan::TLS::PSK::take_session_to_resume_or_psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - std::visit
    - std::get<Server_PSK>
    - std::holds_alternative<Server_PSK>
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: std::variant<Session, ExternalPSK>
    signature: std::variant<Session, ExternalPSK> PSK::take_session_to_resume_or_psk()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:377,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:379,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:380,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:382,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:382,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:383,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:383,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:386,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:391,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:392,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:392,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:395,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:395,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:396,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:396,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:397,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:397,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:398,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:398,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:400,1
    - Dst: binder
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:400,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:403,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 410
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 410
    functionName: Botan::TLS::PSK::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::visit
    - get_byte<3>
    - std::vector::reserve
    - BOTAN_STATE_CHECK
    - binder
    - get_byte<2>
    - get_byte<1>
    - append_tls_length_value
    - identity
    - get_byte<0>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PSK::serialize(Connection_Side side) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:414,1
    - Dst: std::holds_alternative<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:414,1
    - Dst: std::get<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:415,1
    - Dst: clone
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:416,1
    - Dst: cipher_state
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:417,1
    - Dst: auto::set_algorithm
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:418,1
    - Dst: hash_algorithm
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:418,1
    - Dst: set_binder
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:419,1
    - Dst: psk_binder_mac
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:419,1
    - Dst: auto::truncated
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' truncated_transcript_hash'
    argTypes:
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: Botan::TLS::PSK::calculate_binders
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - psk_binder_mac
    - auto::set_algorithm
    - std::get<std::vector<Client_PSK>>
    - clone
    - set_binder
    - cipher_state
    - hash_algorithm
    - BOTAN_ASSERT_NOMSG
    - auto::truncated
    - std::holds_alternative<std::vector<Client_PSK>>
    linkageType: ''
    returnType: void
    signature: void PSK::calculate_binders(const Transcript_Hash_State& truncated_transcript_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:424,1
    - Dst: std::holds_alternative<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:424,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:425,1
    - Dst: std::holds_alternative<Server_PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:425,1
    - Dst: std::get<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:428,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:430,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:430,1
    - Dst: binder
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' server_psk'
    - ' binder'
    argTypes:
    - PSK
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: Botan::TLS::PSK::validate_binder
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - binder
    - std::get<std::vector<Client_PSK>>
    - size
    - std::holds_alternative<Server_PSK>
    - BOTAN_STATE_CHECK
    - std::holds_alternative<std::vector<Client_PSK>>
    linkageType: ''
    returnType: bool
    signature: bool PSK::validate_binder(const PSK& server_psk, const std::vector<uint8_t>&
      binder) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::TLS::Internal::Handshake_State_13_Base
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Handshake_State_13_Base
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::TLS::Internal::has_server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_server_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::TLS::Internal::has_server_certificate_msg
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_server_certificate_msg() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::TLS::Internal::has_client_certificate_msg
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_client_certificate_msg() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::TLS::Internal::has_hello_retry_request
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_hello_retry_request() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::TLS::Internal::has_certificate_request
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_certificate_request() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::TLS::Internal::has_server_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_server_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::TLS::Internal::has_client_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_client_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::has_server_finished
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:43,1
    - Dst: Botan::TLS::Internal::has_client_finished
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Internal::handshake_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::has_server_finished
    - Botan::TLS::Internal::has_client_finished
    linkageType: ''
    returnType: bool
    signature: bool handshake_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan::TLS::Internal::client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Client_Hello_13
    signature: Client_Hello_13 & client_hello()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::TLS::Internal::client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Client_Hello_13
    signature: Client_Hello_13 & client_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::TLS::Internal::server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Server_Hello_13
    signature: Server_Hello_13 & server_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::TLS::Internal::hello_retry_request
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Hello_Retry_Request
    signature: Hello_Retry_Request & hello_retry_request() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::TLS::Internal::encrypted_extensions
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Encrypted_Extensions
    signature: Encrypted_Extensions & encrypted_extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Internal::certificate_request
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Certificate_Request_13
    signature: Certificate_Request_13 & certificate_request() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::TLS::Internal::server_certificate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Certificate_13
    signature: Certificate_13 & server_certificate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::TLS::Internal::client_certificate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Certificate_13
    signature: Certificate_13 & client_certificate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::TLS::Internal::server_certificate_verify
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Certificate_Verify_13
    signature: Certificate_Verify_13 & server_certificate_verify() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::TLS::Internal::client_certificate_verify
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Certificate_Verify_13
    signature: Certificate_Verify_13 & client_certificate_verify() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::TLS::Internal::server_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Finished_13
    signature: Finished_13 & server_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::TLS::Internal::client_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Finished_13
    signature: Finished_13 & client_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:87,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:88,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' opt'
    argTypes:
    - std::optional<MessageT>
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: Botan::TLS::Internal::get
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 12
    functionsReached:
    - value
    - Invalid_State
    - has_value
    linkageType: ''
    returnType: "private:\n      template <typename MessageT>"
    signature: "private:\n      template <typename MessageT> & get(const std::optional<MessageT>&
      opt) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:95,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:96,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' opt'
    argTypes:
    - std::optional<MessageT>
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: Botan::TLS::Internal::get
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 12
    functionsReached:
    - value
    - Invalid_State
    - has_value
    linkageType: ''
    returnType: MessageT
    signature: MessageT & get(std::optional<MessageT>& opt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Handshake_State_13
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:136,1
    - Dst: std::reference_wrapper<decltype(msg)>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:142,1
    - Dst: store
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:142,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:142,1
    - Dst: is_generalizable_to<Outbound_Message_T>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:147,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:149,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:150,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:150,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:151,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:155,1
    - Dst: std::reference_wrapper<decltype(msg)>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:158,1
    - Dst: store
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:158,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:158,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:160,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:163,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:167,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:172,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 177
    functionName: Internal::Handshake_State_13_Base
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - std::move
    - TLS_Exception
    - std::visit
    - sending
    - Handshake_State_13
    - is_generalizable_to<Outbound_Message_T>
    - std::reference_wrapper<decltype(msg)>
    - store
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Internal::Handshake_State_13_Base
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:18,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:25,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:26,1
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:26,1
    - Dst: Supported_Groups::Supported_Groups
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:26,1
    - Dst: record_size_limit
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:29,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:31,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:37,1
    - Dst: auto::value_or
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:37,1
    - Dst: Record_Size_Limit::Record_Size_Limit
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:37,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:38,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:38,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:43,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:55,1
    - Dst: request_client_certificate_authentication
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:56,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:57,1
    - Dst: Client_Certificate_Type::Client_Certificate_Type
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:57,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:66,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:67,1
    - Dst: Server_Certificate_Type::Server_Certificate_Type
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:67,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:75,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:76,1
    - Dst: Server_Name_Indicator::Server_Name_Indicator
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:76,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:79,1
    - Dst: tls_server_choose_app_protocol
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:80,1
    - Dst: auto::protocols
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:80,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:81,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:82,1
    - Dst: Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:82,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:89,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - ' client_hello'
    - ' policy'
    - ' cb'
    argTypes:
    - Client_Hello_13
    - Policy
    - Callbacks
    constantsTouched: []
    func_position:
      end: 90
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 90
    functionName: Botan::TLS::Encrypted_Extensions::Encrypted_Extensions
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp
    functionUses: 0
    functionsReached:
    - add
    - Supported_Groups::Supported_Groups
    - TLS_Exception
    - auto::value
    - Record_Size_Limit::Record_Size_Limit
    - tls_server_choose_app_protocol
    - Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    - auto::has_value
    - request_client_certificate_authentication
    - Server_Certificate_Type::Server_Certificate_Type
    - auto::value_or
    - get
    - Server_Name_Indicator::Server_Name_Indicator
    - key_exchange_groups
    - has
    - tls_modify_extensions
    - Client_Certificate_Type::Client_Certificate_Type
    - record_size_limit
    - auto::protocols
    - auto::empty
    - extensions
    - type
    linkageType: ''
    returnType: void
    signature: void Encrypted_Extensions::Encrypted_Extensions(const Client_Hello_13&
      client_hello, const Policy& policy, Callbacks& cb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:98,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:99,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:102,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:102,1
    - Dst: contains_implemented_extensions_other_than
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:127,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 130
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 130
    functionName: Botan::TLS::Encrypted_Extensions::Encrypted_Extensions
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - contains_implemented_extensions_other_than
    - deserialize
    - type
    - size
    linkageType: ''
    returnType: void
    signature: void Encrypted_Extensions::Encrypted_Extensions(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Encrypted_Extensions::serialize
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::TLS::Encrypted_Extensions::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Encrypted_Extensions::serialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Encrypted_Extensions::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: is_user_canceled_alert
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: bool
    signature: bool is_user_canceled_alert(const Botan::TLS::Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: is_close_notify_alert
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: bool
    signature: bool is_close_notify_alert(const Botan::TLS::Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_close_notify_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:34,1
    - Dst: is_user_canceled_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: is_error_alert
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - is_close_notify_alert
    - is_user_canceled_alert
    linkageType: ''
    returnType: bool
    signature: bool is_error_alert(const Botan::TLS::Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:59,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:60,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:61,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:62,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' credentials_manager'
    - ' rng'
    - ' policy'
    - is_server
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<RandomNumberGenerator>
    - std::shared_ptr<const Policy>
    - bool
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: Botan::TLS::Channel_Impl_13::Channel_Impl_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_13::Channel_Impl_13(const std::shared_ptr<Callbacks>&
      callbacks,\n                                 const std::shared_ptr<Session_Manager>&
      session_manager,\n                                 const std::shared_ptr<Credentials_Manager>&
      credentials_manager,\n                                 const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                                 const std::shared_ptr<const Policy>&
      policy,\n                                 bool is_server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Channel_Impl_13::~Channel_Impl_13()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::~Channel_Impl_13()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:69,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:69,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:78,1
    - Dst: preserve_peer_transcript
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:79,1
    - Dst: copy_data
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:82,1
    - Dst: next_record
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:93,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:93,1
    - Dst: std::holds_alternative<BytesNeeded>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:95,1
    - Dst: std::get<BytesNeeded>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:96,1
    - Dst: std::get<Record>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:99,1
    - Dst: has_pending_data
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:103,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:104,1
    - Dst: copy_data
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:108,1
    - Dst: is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:110,1
    - Dst: next_message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:111,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:111,1
    - Dst: "holds_any_of<Client_Hello_12,\n                                  Client_Hello_13
        /*, EndOfEarlyData,*/,\n                                  Server_Hello_13,\n
        \                                 Hello_Retry_Request,\n                                  Finished_13>"
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:127,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:131,1
    - Dst: has_pending_data
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:132,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:133,1
    - Dst: process_handshake_msg
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:136,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:136,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:136,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:138,1
    - Dst: Botan::TLS::Channel_Impl_13::shutdown
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:145,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:149,1
    - Dst: disable_receiving_compat_mode
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:156,1
    - Dst: next_post_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:161,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:161,1
    - Dst: process_post_handshake_msg
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:162,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:162,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:162,1
    - Dst: process_dummy_change_cipher_spec
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:166,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:168,1
    - Dst: seq_no::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:168,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:169,1
    - Dst: seq_no::value
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:169,1
    - Dst: Botan::TLS::Channel_Impl_13::process_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:171,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:173,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:173,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:173,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:178,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:178,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:184,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:187,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:190,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 193
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 193
    functionName: Botan::TLS::Channel_Impl_13::from_peer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Channel_Impl_13::process_alert
    - Unexpected_Message
    - process_handshake_msg
    - auto::value
    - seq_no::value
    - std::to_string
    - copy_data
    - reset
    - expects_downgrade
    - Botan::TLS::Channel_Impl_13::shutdown
    - std::holds_alternative<BytesNeeded>
    - std::get<Record>
    - "holds_any_of<Client_Hello_12,\n                                  Client_Hello_13
      /*, EndOfEarlyData,*/,\n                                  Server_Hello_13,\n
      \                                 Hello_Retry_Request,\n                                  Finished_13>"
    - get
    - disable_receiving_compat_mode
    - process_dummy_change_cipher_spec
    - is_handshake_complete
    - next_message
    - next_record
    - seq_no::has_value
    - callbacks
    - policy
    - process_post_handshake_msg
    - preserve_peer_transcript
    - BOTAN_STATE_CHECK
    - next_post_handshake_message
    - static_cast<size_t>
    - std::get<BytesNeeded>
    - has_pending_data
    - send_fatal_alert
    - is_downgrading
    - BOTAN_ASSERT
    - type
    linkageType: ''
    returnType: size_t
    signature: size_t Channel_Impl_13::from_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_pending_data
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:197,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:198,1
    - Dst: update_read_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:201,1
    - Dst: expects_reciprocation
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:211,1
    - Dst: Botan::TLS::Channel_Impl_13::opportunistically_update_traffic_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' key_update'
    argTypes:
    - Key_Update
    constantsTouched: []
    func_position:
      end: 218
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 218
    functionName: Botan::TLS::Channel_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - expects_reciprocation
    - Unexpected_Message
    - Botan::TLS::Channel_Impl_13::opportunistically_update_traffic_keys
    - has_pending_data
    - update_read_keys
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::handle(const Key_Update& key_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' channel'
    - ' handshake_layer'
    argTypes:
    - Channel_Impl_13
    - Handshake_Layer
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: Channel_Impl_13::AggregatedMessages::AggregatedMessages(Channel_Impl_13&
      channel, Handshake_Layer& handshake_layer)
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::AggregatedMessages::AggregatedMessages(Channel_Impl_13&
      channel, Handshake_Layer& handshake_layer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' channel'
    - ' handshake_layer'
    - ' transcript_hash'
    argTypes:
    - Channel_Impl_13
    - Handshake_Layer
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: "Channel_Impl_13::AggregatedHandshakeMessages::AggregatedHandshakeMessages(Channel_Impl_13&
      channel,\n                                                                          Handshake_Layer&
      handshake_layer,\n                                                                          Transcript_Hash_State&
      transcript_hash)"
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_13::AggregatedHandshakeMessages::AggregatedHandshakeMessages(Channel_Impl_13&
      channel,\n                                                                          Handshake_Layer&
      handshake_layer,\n                                                                          Transcript_Hash_State&
      transcript_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:230,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:230,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:230,1
    - Dst: prepare_message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - Handshake_Message_13_Ref
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: "& Channel_Impl_13::AggregatedHandshakeMessages::add(\n   const
      Handshake_Message_13_Ref message)"
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::visit
    - prepare_message
    - callbacks
    - get
    linkageType: ''
    returnType: Channel_Impl_13::AggregatedHandshakeMessages
    signature: "Channel_Impl_13::AggregatedHandshakeMessages & Channel_Impl_13::AggregatedHandshakeMessages::add(\n
      \  const Handshake_Message_13_Ref message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:237,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:237,1
    - Dst: prepare_post_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - Post_Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: "& Channel_Impl_13::AggregatedPostHandshakeMessages::add(\n   Post_Handshake_Message_13
      message)"
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - prepare_post_handshake_message
    - std::visit
    - callbacks
    linkageType: ''
    returnType: Channel_Impl_13::AggregatedPostHandshakeMessages
    signature: "Channel_Impl_13::AggregatedPostHandshakeMessages & Channel_Impl_13::AggregatedPostHandshakeMessages::add(\n
      \  Post_Handshake_Message_13 message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:243,1
    - Dst: contains_messages
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:243,1
    - Dst: send_record
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:244,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: Channel_Impl_13::AggregatedMessages::send()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    - send_record
    - BOTAN_STATE_CHECK
    - contains_messages
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Channel_Impl_13::AggregatedMessages::send()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::send_record
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: Botan::TLS::Channel_Impl_13::send_dummy_change_cipher_spec
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_13::send_record
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::send_dummy_change_cipher_spec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::is_active
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:259,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:260,1
    - Dst: Botan::TLS::Channel_Impl_13::update_traffic_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:272,1
    - Dst: Botan::TLS::Channel_Impl_13::send_record
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:276,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:276,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 277
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 277
    functionName: Botan::TLS::Channel_Impl_13::to_peer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - Botan::TLS::Channel_Impl_13::is_active
    - std::span<const uint8_t>::end
    - Invalid_State
    - Botan::TLS::Channel_Impl_13::update_traffic_keys
    - Botan::TLS::Channel_Impl_13::send_record
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::to_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:280,1
    - Dst: Botan::TLS::Channel_Impl_13::send_record
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:282,1
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:282,1
    - Dst: is_close_notify_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:292,1
    - Dst: clear_write_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:295,1
    - Dst: is_error_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:299,1
    - Dst: Botan::TLS::Channel_Impl_13::shutdown
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Alert
    constantsTouched: []
    func_position:
      end: 302
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 302
    functionName: Botan::TLS::Channel_Impl_13::send_alert
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - is_close_notify_alert
    - is_error_alert
    - is_valid
    - clear_write_keys
    - Botan::TLS::Channel_Impl_13::shutdown
    - serialize
    - Botan::TLS::Channel_Impl_13::send_record
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::send_alert(const Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: Botan::TLS::Channel_Impl_13::is_active
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 1
    functionsReached:
    - can_encrypt_application_traffic
    linkageType: ''
    returnType: bool
    signature: bool Channel_Impl_13::is_active() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:312,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:312,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:313,1
    - Dst: can_export_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:313,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:314,1
    - Dst: export_key
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - label
    - context
    - length
    argTypes:
    - std::string_view
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: Botan::TLS::Channel_Impl_13::key_material_export
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - can_export_keys
    - is_downgrading
    - SymmetricKey
    - BOTAN_STATE_CHECK
    - export_key
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey Channel_Impl_13::key_material_export(std::string_view
      label,\n                                                  std::string_view context,\n
      \                                                 size_t length) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:318,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:318,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:319,1
    - Dst: is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:319,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:320,1
    - Dst: Botan::TLS::Channel_Impl_13::send_post_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:321,1
    - Dst: Key_Update
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:321,1
    - Dst: update_write_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - request_peer_update
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: Botan::TLS::Channel_Impl_13::update_traffic_keys
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 1
    functionsReached:
    - Key_Update
    - is_handshake_complete
    - update_write_keys
    - is_downgrading
    - BOTAN_ASSERT_NONNULL
    - BOTAN_STATE_CHECK
    - Botan::TLS::Channel_Impl_13::send_post_handshake_message
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::update_traffic_keys(bool request_peer_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:326,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:326,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:327,1
    - Dst: prepare_records
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:329,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:329,1
    - Dst: disable_sending_compat_mode
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:336,1
    - Dst: Botan::TLS::Channel_Impl_13::prepend_ccs
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:342,1
    - Dst: prepare_records
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:344,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:344,1
    - Dst: concat
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:345,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - type
    - ' record'
    argTypes:
    - Record_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 349
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 349
    functionName: Botan::TLS::Channel_Impl_13::send_record
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 3
    functionsReached:
    - is_downgrading
    - Botan::TLS::Channel_Impl_13::prepend_ccs
    - callbacks
    - get
    - concat
    - disable_sending_compat_mode
    - prepare_records
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::send_record(Record_Type type, const std::vector<uint8_t>&
      record)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_close_notify_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:354,1
    - Dst: clear_read_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:357,1
    - Dst: clear_read_buffer
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:359,1
    - Dst: is_error_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:369,1
    - Dst: Alert::is_fatal
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:369,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:374,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:377,1
    - Dst: Alert::is_fatal
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:381,1
    - Dst: Botan::TLS::Channel_Impl_13::shutdown
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:382,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:385,1
    - Dst: is_close_notify_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:388,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:388,1
    - Dst: close
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:389,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - ' record'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 391
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 391
    functionName: Botan::TLS::Channel_Impl_13::process_alert
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 1
    functionsReached:
    - TLS_Exception
    - clear_read_buffer
    - is_close_notify_alert
    - close
    - Alert::is_fatal
    - clear_read_keys
    - callbacks
    - is_error_alert
    - expects_downgrade
    - Botan::TLS::Channel_Impl_13::shutdown
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::process_alert(const secure_vector<uint8_t>& record)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: Botan::TLS::Channel_Impl_13::shutdown
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 3
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::shutdown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Downgrade_Information>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:419,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' server_info'
    - ' next_protocols'
    argTypes:
    - Server_Information
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 420
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 420
    functionName: Botan::TLS::Channel_Impl_13::expect_downgrade
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<Downgrade_Information>
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_13::expect_downgrade(const Server_Information& server_info,\n
      \                                      const std::vector<std::string>& next_protocols)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::set_record_size_limits
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - outgoing_limit
    - incoming_limit
    argTypes:
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: Botan::TLS::Channel_Impl_13::set_record_size_limits
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Channel_Impl_13::set_record_size_limits
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::set_record_size_limits(const uint16_t outgoing_limit,
      const uint16_t incoming_limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::set_selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert_type
    argTypes:
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: Botan::TLS::Channel_Impl_13::set_selected_certificate_type
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Channel_Impl_13::set_selected_certificate_type
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::set_selected_certificate_type(const Certificate_Type
      cert_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Cipher_State
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.h:70,1
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.h:201,1
    - Dst: Botan::TLS::Cipher_State
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.h:266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 343
    functionName: Botan::TLS::Cipher_State
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::empty
    - Botan::TLS::Cipher_State
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Cipher_State
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:26,1
    - Dst: expect_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:27,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' credentials_manager'
    - ' policy'
    - ' rng'
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<const Policy>
    - std::shared_ptr<RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: Botan::TLS::Server_Impl_13::Server_Impl_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - expect_downgrade
    - allow_tls12
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_13::Server_Impl_13(const std::shared_ptr<Callbacks>&
      callbacks,\n                               const std::shared_ptr<Session_Manager>&
      session_manager,\n                               const std::shared_ptr<Credentials_Manager>&
      credentials_manager,\n                               const std::shared_ptr<const
      Policy>& policy,\n                               const std::shared_ptr<RandomNumberGenerator>&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:35,1
    - Dst: encrypted_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:36,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:37,1
    - Dst: auto::single_protocol
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Server_Impl_13::application_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - auto::single_protocol
    - encrypted_extensions
    - Botan::TLS::Server_Impl_13::is_handshake_complete
    - get
    linkageType: ''
    returnType: std::string
    signature: std::string Server_Impl_13::application_protocol() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_client_certificate_msg
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:46,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:47,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:48,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:51,1
    - Dst: peer_certs
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Server_Impl_13::peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - peer_certs
    - has_client_certificate_msg
    - client_certificate
    - has_value
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Server_Impl_13::peer_cert_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_client_certificate_msg
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:59,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:59,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:60,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:63,1
    - Dst: Botan::TLS::Server_Impl_13::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: Botan::TLS::Server_Impl_13::peer_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server_Impl_13::peer_raw_public_key
    - has_client_certificate_msg
    - client_certificate
    - has_value
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> Server_Impl_13::peer_raw_public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan::TLS::Server_Impl_13::external_psk_identity
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Server_Impl_13::external_psk_identity()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:85,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:85,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:86,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: Botan::TLS::Server_Impl_13::new_session_ticket_supported
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - client_hello
    - Botan::TLS::Server_Impl_13::is_handshake_complete
    - value_exists
    linkageType: ''
    returnType: bool
    signature: bool Server_Impl_13::new_session_ticket_supported() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:91,1
    - Dst: Botan::TLS::Server_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:91,1
    - Dst: aggregate_post_handshake_messages
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:97,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:101,1
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:102,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:104,1
    - Dst: Botan::TLS::Server_Impl_13::peer_cert_chain
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:105,1
    - Dst: Botan::TLS::Server_Impl_13::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:106,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:107,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:108,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:109,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:110,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:112,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:113,1
    - Dst: auto::add
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:114,1
    - Dst: New_Session_Ticket_13
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:114,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:114,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:114,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:114,1
    - Dst: auto::contains_messages
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:120,1
    - Dst: auto::send
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - tickets
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 125
    functionName: Botan::TLS::Server_Impl_13::send_new_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - next_ticket_nonce
    - auto::value
    - auto::add
    - session_manager
    - psk
    - New_Session_Ticket_13
    - Botan::TLS::Server_Impl_13::peer_cert_chain
    - client_hello
    - Botan::TLS::Server_Impl_13::peer_raw_public_key
    - auto::send
    - aggregate_post_handshake_messages
    - server_hello
    - callbacks
    - policy
    - auto::contains_messages
    - BOTAN_STATE_CHECK
    - rng
    - Botan::TLS::Server_Impl_13::is_handshake_complete
    linkageType: ''
    returnType: size_t
    signature: size_t Server_Impl_13::send_new_session_tickets(const size_t tickets)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:128,1
    - Dst: confirm_transition_to
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:131,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:131,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:134,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:134,1
    - Dst: Botan::TLS::Server_Impl_13::handle
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:137,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:137,1
    - Dst: received
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:139,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: Botan::TLS::Server_Impl_13::process_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::visit
    - confirm_transition_to
    - callbacks
    - received
    - get
    - Botan::TLS::Server_Impl_13::handle
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::process_handshake_msg(Handshake_Message_13 message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:143,1
    - Dst: Botan::TLS::Server_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:143,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:145,1
    - Dst: Botan::TLS::Server_Impl_13::handle
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:145,1
    - Dst: received
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:145,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - Post_Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: Botan::TLS::Server_Impl_13::process_post_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::visit
    - received
    - Botan::TLS::Server_Impl_13::handle
    - Botan::TLS::Server_Impl_13::is_handshake_complete
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::process_post_handshake_msg(Post_Handshake_Message_13
      message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:153,1
    - Dst: has_client_finished
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:153,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: Botan::TLS::Server_Impl_13::process_dummy_change_cipher_spec
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - has_client_hello
    - has_client_finished
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::process_dummy_change_cipher_spec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake_finished
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: Botan::TLS::Server_Impl_13::is_handshake_complete
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 4
    functionsReached:
    - handshake_finished
    linkageType: ''
    returnType: bool
    signature: bool Server_Impl_13::is_handshake_complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:171,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:172,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - label
    - secret
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: Botan::TLS::Server_Impl_13::maybe_log_secret
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - client_hello
    - callbacks
    - policy
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::maybe_log_secret(std::string_view label, std::span<const
      uint8_t> secret) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:177,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:177,1
    - Dst: request_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:179,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: Botan::TLS::Server_Impl_13::downgrade
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - request_downgrade
    - set_expected_next
    - expects_downgrade
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::downgrade()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:187,1
    - Dst: has_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:187,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:188,1
    - Dst: has_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:188,1
    - Dst: has_server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:188,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:215,1
    - Dst: send_dummy_change_cipher_spec
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 218
    functionName: Botan::TLS::Server_Impl_13::maybe_handle_compatibility_mode
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - has_client_hello
    - has_server_hello
    - has_hello_retry_request
    - policy
    - send_dummy_change_cipher_spec
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::maybe_handle_compatibility_mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:221,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:222,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:226,1
    - Dst: Server_Hello_13::ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:226,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:227,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:227,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:228,1
    - Dst: set_algorithm
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:229,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:229,1
    - Dst: Server_Hello_13::extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:233,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:236,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:237,1
    - Dst: Botan::TLS::Cipher_State::init_with_psk
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:238,1
    - Dst: extract_master_secret
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:240,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:241,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:244,1
    - Dst: Botan::TLS::Cipher_State::init_with_psk
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:245,1
    - Dst: extract_master_secret
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:247,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:248,1
    - Dst: auto::take_session_to_resume_or_psk
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:250,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:263,1
    - Dst: std::unique_ptr::psk_binder_mac
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:264,1
    - Dst: truncated
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:264,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:265,1
    - Dst: send_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:285,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:285,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:285,1
    - Dst: Botan::TLS::Server_Impl_13::maybe_handle_compatibility_mode
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:286,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:291,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:292,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:295,1
    - Dst: std::unique_ptr::advance_with_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:296,1
    - Dst: previous
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:296,1
    - Dst: std::unique_ptr::advance_with_server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:297,1
    - Dst: auto::take_shared_secret
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:298,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:298,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:300,1
    - Dst: Botan::TLS::Cipher_State::init_with_server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:302,1
    - Dst: auto::take_shared_secret
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:303,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:303,1
    - Dst: aggregate_handshake_messages
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:307,1
    - Dst: auto::add
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:308,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:308,1
    - Dst: Encrypted_Extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:308,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:308,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:308,1
    - Dst: Botan::TLS::Certificate_Request_13::maybe_create
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:316,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:316,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:316,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:316,1
    - Dst: auto::add
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:317,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:317,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:317,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:317,1
    - Dst: encrypted_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:320,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:329,1
    - Dst: set_selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:330,1
    - Dst: auto::selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:330,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:339,1
    - Dst: auto::selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:340,1
    - Dst: auto::add
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:346,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:346,1
    - Dst: Certificate_13
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:346,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:346,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:346,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:347,1
    - Dst: Certificate_Verify_13
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:347,1
    - Dst: server_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:347,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:348,1
    - Dst: sni_hostname
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:349,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:350,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:352,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:353,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:354,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:355,1
    - Dst: auto::add
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:358,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:358,1
    - Dst: Finished_13
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:358,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:358,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:358,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:360,1
    - Dst: encrypted_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:361,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:377,1
    - Dst: encrypted_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:378,1
    - Dst: set_record_size_limits
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:379,1
    - Dst: auto::limit
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:379,1
    - Dst: auto::limit
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:379,1
    - Dst: auto::send
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:382,1
    - Dst: advance_with_server_finished
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:384,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:384,1
    - Dst: has_certificate_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:386,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:393,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:395,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - server_hello
    argTypes:
    - Server_Hello_13
    constantsTouched: []
    func_position:
      end: 397
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 397
    functionName: Botan::TLS::Server_Impl_13::handle_reply_to_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - TLS_Exception
    - sending
    - extract_master_secret
    - auto::value
    - Encrypted_Extensions
    - Botan::TLS::Certificate_Request_13::maybe_create
    - BOTAN_ASSERT_NONNULL
    - auto::add
    - Certificate_Verify_13
    - identity
    - auto::has_value
    - auto::take_session_to_resume_or_psk
    - BOTAN_ASSERT_NOMSG
    - truncated
    - set_record_size_limits
    - Certificate_13
    - Botan::TLS::Ciphersuite::by_id
    - Server_Hello_13::extensions
    - has_certificate_request
    - client_hello
    - Finished_13
    - auto::send
    - get
    - aggregate_handshake_messages
    - Server_Hello_13::ciphersuite
    - server_hello
    - prf_algo
    - auto::take_shared_secret
    - std::visit
    - Botan::TLS::Server_Impl_13::maybe_handle_compatibility_mode
    - current
    - encrypted_extensions
    - Botan::TLS::Cipher_State::init_with_psk
    - std::unique_ptr::advance_with_client_hello
    - set_algorithm
    - set_selected_certificate_type
    - callbacks
    - policy
    - Botan::TLS::Cipher_State::init_with_server_hello
    - sni_hostname
    - std::unique_ptr::psk_binder_mac
    - advance_with_server_finished
    - credentials_manager
    - auto::selected_certificate_type
    - server_certificate
    - signature_schemes
    - auto::limit
    - set_expected_next
    - extensions
    - rng
    - std::unique_ptr::advance_with_server_hello
    - previous
    - send_handshake_message
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle_reply_to_client_hello(Server_Hello_13 server_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:400,1
    - Dst: Hello_Retry_Request::ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:400,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:401,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:401,1
    - Dst: send_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:403,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:403,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:403,1
    - Dst: Botan::TLS::Server_Impl_13::maybe_handle_compatibility_mode
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:404,1
    - Dst: Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:406,1
    - Dst: auto::prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:406,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hello_retry_request
    argTypes:
    - Hello_Retry_Request
    constantsTouched: []
    func_position:
      end: 409
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 409
    functionName: Botan::TLS::Server_Impl_13::handle_reply_to_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - sending
    - Botan::TLS::Ciphersuite::by_id
    - Botan::TLS::Server_Impl_13::maybe_handle_compatibility_mode
    - Hello_Retry_Request::ciphersuite
    - set_expected_next
    - auto::prf_algo
    - Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
    - auto::has_value
    - send_handshake_message
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle_reply_to_client_hello(Hello_Retry_Request
      hello_retry_request)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:414,1
    - Dst: has_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:417,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:418,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:427,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:428,1
    - Dst: Botan::TLS::Server_Impl_13::downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' ch'
    argTypes:
    - Client_Hello_12
    constantsTouched: []
    func_position:
      end: 432
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 432
    functionName: Botan::TLS::Server_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_UNUSED
    - TLS_Exception
    - Botan::TLS::Server_Impl_13::downgrade
    - has_hello_retry_request
    - expects_downgrade
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle(const Client_Hello_12& ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:435,1
    - Dst: highest_supported_version
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:440,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:440,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:442,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:448,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:449,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:455,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:456,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:464,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:464,1
    - Dst: hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:467,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:468,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:469,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:470,1
    - Dst: auto::at
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:470,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:471,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:475,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:475,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:476,1
    - Dst: Botan::TLS::Server_Impl_13::handle_reply_to_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:476,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:476,1
    - Dst: Botan::TLS::Server_Hello_13::create
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:477,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:479,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:480,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:481,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:482,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:483,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - ' client_hello'
    argTypes:
    - Client_Hello_13
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 5
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Botan::TLS::Server_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - TLS_Exception
    - session_manager
    - BOTAN_ASSERT_NOMSG
    - Not_Implemented
    - get
    - auto::size
    - Botan::TLS::Server_Hello_13::create
    - std::visit
    - auto::at
    - has
    - callbacks
    - policy
    - Botan::TLS::Server_Impl_13::handle_reply_to_client_hello
    - highest_supported_version
    - credentials_manager
    - extensions
    - type
    - rng
    - hello_retry_request
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle(const Client_Hello_13& client_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:490,1
    - Dst: request_context
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:490,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:491,1
    - Dst: validate_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:497,1
    - Dst: certificate_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:497,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:498,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:505,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:506,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:507,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:513,1
    - Dst: verify
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:524,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:524,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:525,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:526,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:527,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:528,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:535,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' certificate_msg'
    argTypes:
    - Certificate_13
    constantsTouched: []
    func_position:
      end: 537
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 537
    functionName: Botan::TLS::Server_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 2
    functionsReached:
    - TLS_Exception
    - credentials_manager
    - verify
    - set_expected_next
    - empty
    - client_hello
    - callbacks
    - request_context
    - policy
    - certificate_request
    - Botan::TLS::Server_Impl_13::is_handshake_complete
    - validate_extensions
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle(const Certificate_13& certificate_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: certificate_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:545,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:546,1
    - Dst: signature_scheme
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:546,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:547,1
    - Dst: signature_scheme
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:548,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:552,1
    - Dst: has_client_certificate_msg
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:552,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:553,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:561,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:564,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' certificate_verify_msg'
    argTypes:
    - Certificate_Verify_13
    constantsTouched: []
    func_position:
      end: 565
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 565
    functionName: Botan::TLS::Server_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 2
    functionsReached:
    - TLS_Exception
    - set_expected_next
    - client_certificate
    - value_exists
    - signature_scheme
    - certificate_request
    - has_client_certificate_msg
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle(const Certificate_Verify_13& certificate_verify_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:572,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:572,1
    - Dst: previous
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:572,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:573,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:578,1
    - Dst: Session_Summary
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:579,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:579,1
    - Dst: Botan::TLS::Server_Impl_13::peer_cert_chain
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:581,1
    - Dst: Botan::TLS::Server_Impl_13::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:582,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:584,1
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:585,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:585,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:586,1
    - Dst: advance_with_client_finished
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:588,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:588,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:591,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:593,1
    - Dst: Botan::TLS::Server_Impl_13::new_session_ticket_supported
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:595,1
    - Dst: Botan::TLS::Server_Impl_13::send_new_session_tickets
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:596,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' finished_msg'
    argTypes:
    - Finished_13
    constantsTouched: []
    func_position:
      end: 598
      start: 567
    functionDepth: 3
    functionLinenumber: 567
    functionLinenumberEnd: 598
    functionName: Botan::TLS::Server_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 2
    functionsReached:
    - TLS_Exception
    - Botan::TLS::Server_Impl_13::peer_cert_chain
    - current
    - Botan::TLS::Server_Impl_13::new_session_ticket_supported
    - verify
    - Botan::TLS::Server_Impl_13::send_new_session_tickets
    - set_expected_next
    - Server_Information
    - client_hello
    - Botan::TLS::Server_Impl_13::peer_raw_public_key
    - Session_Summary
    - callbacks
    - policy
    - get
    - previous
    - has_value
    - server_hello
    - advance_with_client_finished
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle(const Finished_13& finished_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::provider
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~HashFunction() override
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HashFunction() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::HashFunction
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HashFunction()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HashFunction
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::HashFunction
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HashFunction(const HashFunction& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HashFunction
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::HashFunction
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HashFunction(HashFunction&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/hash/hash.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan::clone
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction * clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/hash/hash.cpp:109,1
    - Dst: make_commoncrypto_hash
      Src: /src/botan/src/lib/hash/hash.cpp:110,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/hash/hash.cpp:113,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/hash/hash.cpp:118,1
    - Dst: std::make_unique<SHA_1>
      Src: /src/botan/src/lib/hash/hash.cpp:124,1
    - Dst: std::make_unique<SHA_224>
      Src: /src/botan/src/lib/hash/hash.cpp:130,1
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/hash/hash.cpp:134,1
    - Dst: std::make_unique<SHA_384>
      Src: /src/botan/src/lib/hash/hash.cpp:140,1
    - Dst: std::make_unique<SHA_512>
      Src: /src/botan/src/lib/hash/hash.cpp:144,1
    - Dst: std::make_unique<SHA_512_256>
      Src: /src/botan/src/lib/hash/hash.cpp:148,1
    - Dst: std::make_unique<RIPEMD_160>
      Src: /src/botan/src/lib/hash/hash.cpp:154,1
    - Dst: std::make_unique<Whirlpool>
      Src: /src/botan/src/lib/hash/hash.cpp:160,1
    - Dst: std::make_unique<MD5>
      Src: /src/botan/src/lib/hash/hash.cpp:166,1
    - Dst: std::make_unique<MD4>
      Src: /src/botan/src/lib/hash/hash.cpp:172,1
    - Dst: std::make_unique<GOST_34_11>
      Src: /src/botan/src/lib/hash/hash.cpp:178,1
    - Dst: std::make_unique<Adler32>
      Src: /src/botan/src/lib/hash/hash.cpp:184,1
    - Dst: std::make_unique<CRC24>
      Src: /src/botan/src/lib/hash/hash.cpp:190,1
    - Dst: std::make_unique<CRC32>
      Src: /src/botan/src/lib/hash/hash.cpp:196,1
    - Dst: std::make_unique<Streebog>
      Src: /src/botan/src/lib/hash/hash.cpp:202,1
    - Dst: std::make_unique<Streebog>
      Src: /src/botan/src/lib/hash/hash.cpp:205,1
    - Dst: std::make_unique<SM3>
      Src: /src/botan/src/lib/hash/hash.cpp:211,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:218,1
    - Dst: std::make_unique<Skein_512>
      Src: /src/botan/src/lib/hash/hash.cpp:219,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:219,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/hash/hash.cpp:219,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:224,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:224,1
    - Dst: std::make_unique<BLAKE2b>
      Src: /src/botan/src/lib/hash/hash.cpp:225,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:225,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:230,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:230,1
    - Dst: std::make_unique<BLAKE2s>
      Src: /src/botan/src/lib/hash/hash.cpp:231,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:231,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:236,1
    - Dst: std::make_unique<Keccak_1600>
      Src: /src/botan/src/lib/hash/hash.cpp:237,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:237,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:242,1
    - Dst: std::make_unique<SHA_3>
      Src: /src/botan/src/lib/hash/hash.cpp:243,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:243,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:248,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/hash/hash.cpp:248,1
    - Dst: std::make_unique<SHAKE_128>
      Src: /src/botan/src/lib/hash/hash.cpp:249,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:249,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:251,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/hash/hash.cpp:251,1
    - Dst: std::make_unique<SHAKE_256>
      Src: /src/botan/src/lib/hash/hash.cpp:252,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:252,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:257,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/hash/hash.cpp:260,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/hash/hash.cpp:261,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/hash/hash.cpp:261,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/hash/hash.cpp:265,1
    - Dst: std::move
      Src: /src/botan/src/lib/hash/hash.cpp:265,1
    - Dst: std::make_unique<Parallel>
      Src: /src/botan/src/lib/hash/hash.cpp:268,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:273,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/hash/hash.cpp:273,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/hash/hash.cpp:274,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/hash/hash.cpp:274,1
    - Dst: std::make_unique<Truncated_Hash>
      Src: /src/botan/src/lib/hash/hash.cpp:279,1
    - Dst: std::move
      Src: /src/botan/src/lib/hash/hash.cpp:279,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:279,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:284,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/hash/hash.cpp:284,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/hash/hash.cpp:285,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/hash/hash.cpp:285,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/hash/hash.cpp:286,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/hash/hash.cpp:286,1
    - Dst: std::make_unique<Comb4P>
      Src: /src/botan/src/lib/hash/hash.cpp:289,1
    - Dst: std::move
      Src: /src/botan/src/lib/hash/hash.cpp:289,1
    - Dst: std::move
      Src: /src/botan/src/lib/hash/hash.cpp:289,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 103
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 295
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 295
    functionName: Botan::HashFunction::create
    functionSourceFile: /src/botan/src/lib/hash/hash.cpp
    functionUses: 31
    functionsReached:
    - std::move
    - std::make_unique<SHA_1>
    - std::make_unique<Keccak_1600>
    - std::make_unique<SM3>
    - std::make_unique<MD5>
    - SCAN_Name::arg
    - std::make_unique<Truncated_Hash>
    - Botan::HashFunction::create
    - std::make_unique<SHA_256>
    - std::make_unique<SHA_3>
    - std::make_unique<SHAKE_256>
    - std::string_view::empty
    - std::make_unique<SHA_512_256>
    - std::make_unique<RIPEMD_160>
    - std::make_unique<GOST_34_11>
    - std::make_unique<Skein_512>
    - std::make_unique<SHA_384>
    - std::make_unique<SHA_512>
    - std::make_unique<BLAKE2b>
    - SCAN_Name::algo_name
    - SCAN_Name::arg_count
    - std::make_unique<MD4>
    - std::make_unique<BLAKE2s>
    - make_commoncrypto_hash
    - std::make_unique<CRC32>
    - std::make_unique<Comb4P>
    - std::make_unique<Parallel>
    - SCAN_Name::arg_as_integer
    - std::vector::push_back
    - std::make_unique<SHAKE_128>
    - std::make_unique<Whirlpool>
    - std::make_unique<CRC24>
    - std::make_unique<Streebog>
    - std::make_unique<Adler32>
    - std::make_unique<SHA_224>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> HashFunction::create(std::string_view
      algo_spec, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/hash/hash.cpp:299,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/hash/hash.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: Botan::HashFunction::create_or_throw
    functionSourceFile: /src/botan/src/lib/hash/hash.cpp
    functionUses: 22
    functionsReached:
    - Lookup_Error
    - Botan::HashFunction::create
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> HashFunction::create_or_throw(std::string_view
      algo, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<HashFunction>
      Src: /src/botan/src/lib/hash/hash.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: Botan::HashFunction::providers
    functionSourceFile: /src/botan/src/lib/hash/hash.cpp
    functionUses: 6
    functionsReached:
    - probe_providers_of<HashFunction>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> HashFunction::providers(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::BLAKE2s::output_length
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::BLAKE2s::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BLAKE2s>
      Src: /src/botan/src/lib/hash/blake2s/blake2s.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::BLAKE2s::new_object
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.h
    functionUses: 0
    functionsReached:
    - std::make_unique<BLAKE2s>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:30,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:32,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:34,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - a
    - b
    - c
    - d
    - x
    - y
    - v
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: Botan::B2S_G
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: void
    signature: void B2S_G(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint32_t x,
      uint32_t y, uint32_t* v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::BLAKE2s::name
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string BLAKE2s::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2s::add_data
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:63,1
    - Dst: std::span<const uint8_t>
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - outlen
    - key
    - keylen
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: Botan::BLAKE2s::state_init
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>
    - Botan::BLAKE2s::add_data
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::state_init(size_t outlen, const uint8_t* key, size_t
      keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:93,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:96,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:97,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:98,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:99,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:100,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:101,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:102,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - last
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 109
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 109
    functionName: Botan::BLAKE2s::compress
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - B2S_G
    - load_le<uint32_t>
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::compress(bool last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2s::state_init
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: Botan::BLAKE2s::clear
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - Botan::BLAKE2s::state_init
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:119,1
    - Dst: Botan::BLAKE2s::compress
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: Botan::BLAKE2s::add_data
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::size
    - Botan::BLAKE2s::compress
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::add_data(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2s::compress
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:141,1
    - Dst: copy_out_le
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:144,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:144,1
    - Dst: Botan::BLAKE2s::output_length
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:144,1
    - Dst: Botan::BLAKE2s::clear
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: Botan::BLAKE2s::final_result
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - Botan::BLAKE2s::clear
    - std::span<uint8_t>::first
    - copy_out_le
    - Botan::BLAKE2s::compress
    - Botan::BLAKE2s::output_length
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::final_result(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BLAKE2s>
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:150,1
    - Dst: memcpy
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:151,1
    - Dst: memcpy
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:152,1
    - Dst: memcpy
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: Botan::BLAKE2s::copy_state
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BLAKE2s>
    - memcpy
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> BLAKE2s::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:163,1
    - Dst: Botan::BLAKE2s::state_init
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: Botan::BLAKE2s::BLAKE2s
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - Botan::BLAKE2s::state_init
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::BLAKE2s(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:169,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:170,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: BLAKE2s::~BLAKE2s()
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::~BLAKE2s()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:24,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:25,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:27,1
    - Dst: data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:27,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:27,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:28,1
    - Dst: data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:28,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:28,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:30,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:31,1
    - Dst: data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:31,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:31,1
    - Dst: std::min
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:31,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:31,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:31,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:33,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:34,1
    - Dst: data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:34,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:34,1
    - Dst: std::min
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:34,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:34,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ' out'
    - ' in'
    - round_no
    - ' h1'
    - ' h2'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - uint8_t
    - HashFunction
    - HashFunction
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: Botan::comb4p_round
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 0
    functionsReached:
    - data
    - secure_vector::data
    - Botan::xor_buf
    - Botan::final
    - Botan::update
    - std::min
    - secure_vector::size
    - Botan::size
    linkageType: ''
    returnType: void
    signature: "void comb4p_round(secure_vector<uint8_t>& out,\n                  const
      secure_vector<uint8_t>& in,\n                  uint8_t round_no,\n                  HashFunction&
      h1,\n                  HashFunction& h2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:40,1
    - Dst: std::move
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:40,1
    - Dst: Botan::Comb4P::name
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:41,1
    - Dst: Botan::Comb4P::name
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:41,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:42,1
    - Dst: Botan::Comb4P::output_length
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:45,1
    - Dst: Botan::Comb4P::output_length
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:45,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:46,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:46,1
    - Dst: Botan::Comb4P::name
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:46,1
    - Dst: Botan::Comb4P::name
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:46,1
    - Dst: Botan::Comb4P::clear
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - h1
    - h2
    argTypes:
    - std::unique_ptr<HashFunction>
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: Botan::Comb4P::Comb4P
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::Comb4P::clear
    - Botan::Comb4P::output_length
    - Botan::Comb4P::name
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: void
    signature: void Comb4P::Comb4P(std::unique_ptr<HashFunction> h1, std::unique_ptr<HashFunction>
      h2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:53,1
    - Dst: Botan::Comb4P::name
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:53,1
    - Dst: Botan::Comb4P::name
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::Comb4P::name
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 2
    functionsReached:
    - Botan::Comb4P::name
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string Comb4P::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Comb4P>
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:57,1
    - Dst: Botan::Comb4P::new_object
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:57,1
    - Dst: Botan::Comb4P::new_object
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::Comb4P::new_object
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Comb4P>
    - Botan::Comb4P::new_object
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Comb4P::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Comb4P::hash_block_size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:61,1
    - Dst: Botan::Comb4P::hash_block_size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:61,1
    - Dst: Botan::Comb4P::hash_block_size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: Botan::Comb4P::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 1
    functionsReached:
    - Botan::Comb4P::hash_block_size
    linkageType: ''
    returnType: size_t
    signature: size_t Comb4P::hash_block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Comb4P::clear
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:73,1
    - Dst: Botan::Comb4P::clear
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:74,1
    - Dst: update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:77,1
    - Dst: update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: Botan::Comb4P::clear
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 2
    functionsReached:
    - Botan::Comb4P::clear
    - update
    linkageType: ''
    returnType: void
    signature: void Comb4P::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Comb4P::Comb4P
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:83,1
    - Dst: Botan::Comb4P::copy_state
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:84,1
    - Dst: Botan::Comb4P::copy_state
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: Botan::Comb4P::copy_state
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 1
    functionsReached:
    - Botan::Comb4P::copy_state
    - Comb4P::Comb4P
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Comb4P::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:90,1
    - Dst: update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: Botan::Comb4P::add_data
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void Comb4P::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:95,1
    - Dst: final
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:96,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:99,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:99,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:99,1
    - Dst: std::min
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:99,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:99,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:99,1
    - Dst: comb4p_round
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:102,1
    - Dst: comb4p_round
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:105,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:108,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:108,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:108,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:108,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:108,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:109,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:109,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:109,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:109,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:109,1
    - Dst: update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:112,1
    - Dst: update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: Botan::Comb4P::final_result
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 0
    functionsReached:
    - update
    - copy_mem
    - comb4p_round
    - final
    - BufferStuffer::next
    - std::min
    - secure_vector::size
    - xor_buf
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void Comb4P::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Comb4P::output_length
      Src: /src/botan/src/lib/hash/comb4p/comb4p.h:29,1
    - Dst: Botan::Comb4P::output_length
      Src: /src/botan/src/lib/hash/comb4p/comb4p.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Comb4P::output_length
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.h
    functionUses: 2
    functionsReached:
    - Botan::Comb4P::output_length
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::Comb4P::Comb4P
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Comb4P()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/shake/shake.cpp:17,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/shake/shake.cpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: Botan::SHAKE_128::SHAKE_128
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void SHAKE_128::SHAKE_128(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/shake/shake.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::SHAKE_128::name
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string SHAKE_128::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_128>
      Src: /src/botan/src/lib/hash/shake/shake.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::SHAKE_128::new_object
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_128>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHAKE_128::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_128>
      Src: /src/botan/src/lib/hash/shake/shake.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::SHAKE_128::copy_state
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_128>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHAKE_128::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absorb
      Src: /src/botan/src/lib/hash/shake/shake.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::SHAKE_128::add_data
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - absorb
    linkageType: ''
    returnType: void
    signature: void SHAKE_128::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/hash/shake/shake.cpp:38,1
    - Dst: squeeze
      Src: /src/botan/src/lib/hash/shake/shake.cpp:39,1
    - Dst: Botan::SHAKE_128::clear
      Src: /src/botan/src/lib/hash/shake/shake.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: Botan::SHAKE_128::final_result
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHAKE_128::clear
    - finish
    - squeeze
    linkageType: ''
    returnType: void
    signature: void SHAKE_128::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/shake/shake.cpp:45,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/shake/shake.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: Botan::SHAKE_256::SHAKE_256
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void SHAKE_256::SHAKE_256(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/shake/shake.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::SHAKE_256::name
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string SHAKE_256::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_256>
      Src: /src/botan/src/lib/hash/shake/shake.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::SHAKE_256::new_object
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_256>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHAKE_256::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_256>
      Src: /src/botan/src/lib/hash/shake/shake.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::SHAKE_256::copy_state
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_256>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHAKE_256::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absorb
      Src: /src/botan/src/lib/hash/shake/shake.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::SHAKE_256::add_data
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - absorb
    linkageType: ''
    returnType: void
    signature: void SHAKE_256::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/hash/shake/shake.cpp:66,1
    - Dst: squeeze
      Src: /src/botan/src/lib/hash/shake/shake.cpp:67,1
    - Dst: Botan::SHAKE_256::clear
      Src: /src/botan/src/lib/hash/shake/shake.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Botan::SHAKE_256::final_result
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - finish
    - Botan::SHAKE_256::clear
    - squeeze
    linkageType: ''
    returnType: void
    signature: void SHAKE_256::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/hash/shake/shake.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::SHAKE_128::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::SHAKE_128::output_length
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_128::clear
      Src: /src/botan/src/lib/hash/shake/shake.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::SHAKE_128::clear
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 2
    functionsReached:
    - Botan::SHAKE_128::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_128::provider
      Src: /src/botan/src/lib/hash/shake/shake.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::SHAKE_128::provider
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 1
    functionsReached:
    - Botan::SHAKE_128::provider
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/hash/shake/shake.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::SHAKE_256::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::SHAKE_256::output_length
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_256::clear
      Src: /src/botan/src/lib/hash/shake/shake.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::SHAKE_256::clear
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 2
    functionsReached:
    - Botan::SHAKE_256::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_256::provider
      Src: /src/botan/src/lib/hash/shake/shake.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::SHAKE_256::provider
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 1
    functionsReached:
    - Botan::SHAKE_256::provider
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: choose
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:22,1
    - Dst: rotl<5>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:22,1
    - Dst: rotl<30>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - A
    - ' B'
    - C
    - D
    - ' E'
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: Botan::SHA1_F::F1
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_f.h
    functionUses: 0
    functionsReached:
    - rotl<30>
    - choose
    - rotl<5>
    linkageType: ''
    returnType: void
    signature: void F1(uint32_t A, uint32_t& B, uint32_t C, uint32_t D, uint32_t&
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<5>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:27,1
    - Dst: rotl<30>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - A
    - ' B'
    - C
    - D
    - ' E'
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: Botan::SHA1_F::F2
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_f.h
    functionUses: 0
    functionsReached:
    - rotl<5>
    - rotl<30>
    linkageType: ''
    returnType: void
    signature: void F2(uint32_t A, uint32_t& B, uint32_t C, uint32_t D, uint32_t&
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: majority
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:32,1
    - Dst: rotl<5>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:32,1
    - Dst: rotl<30>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - A
    - ' B'
    - C
    - D
    - ' E'
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Botan::SHA1_F::F3
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_f.h
    functionUses: 0
    functionsReached:
    - rotl<30>
    - rotl<5>
    - majority
    linkageType: ''
    returnType: void
    signature: void F3(uint32_t A, uint32_t& B, uint32_t C, uint32_t D, uint32_t&
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<5>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:38,1
    - Dst: rotl<30>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - A
    - ' B'
    - C
    - D
    - ' E'
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: Botan::SHA1_F::F4
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_f.h
    functionUses: 0
    functionsReached:
    - rotl<5>
    - rotl<30>
    linkageType: ''
    returnType: void
    signature: void F4(uint32_t A, uint32_t& B, uint32_t C, uint32_t D, uint32_t&
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::SHA_1::name
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::SHA_1::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::SHA_1::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_1::clear
      Src: /src/botan/src/lib/hash/sha1/sha1.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::SHA_1::clear
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.h
    functionUses: 1
    functionsReached:
    - Botan::SHA_1::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:29,1
    - Dst: sha1_compress_x86
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:30,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:35,1
    - Dst: sha1_armv8_compress_n
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:36,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:41,1
    - Dst: avx2_compress_n
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:42,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:47,1
    - Dst: simd_compress_n
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:48,1
    - Dst: first
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:54,1
    - Dst: load_be
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:59,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:59,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:64,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:65,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:66,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:67,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:68,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:69,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:70,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:71,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:76,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:77,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:78,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:79,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:80,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:81,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:82,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:83,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:84,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:85,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:86,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:87,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:88,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:89,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:90,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:91,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:92,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:93,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:94,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:95,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:97,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:98,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:99,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:100,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:101,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:102,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:103,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:104,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:105,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:106,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:107,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:108,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:109,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:110,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:111,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:112,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:113,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:114,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:115,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:116,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:118,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:119,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:120,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:121,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:122,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:123,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:124,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:125,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:126,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:127,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:128,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:129,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:130,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:131,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:132,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:133,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:134,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:135,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:136,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:137,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:139,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:140,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:141,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:142,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:143,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:144,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:145,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:146,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:147,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:148,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:149,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:150,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:151,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:152,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:153,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:154,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:155,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:156,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:157,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 111
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 166
    functionName: Botan::SHA_1::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - load_be
    - sha1_compress_x86
    - F1
    - simd_compress_n
    - BufferSlicer::take
    - F2
    - F4
    - avx2_compress_n
    - F3
    - rotl<1>
    - sha1_armv8_compress_n
    - first
    linkageType: ''
    returnType: void
    signature: void SHA_1::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Botan::SHA_1::init
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SHA_1::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:177,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:183,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:189,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 201
    functionName: Botan::SHA_1::provider
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_1::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: Botan::SHA_1::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_1>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_1::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: Botan::SHA_1::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_1>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_1::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: Botan::SHA_1::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SHA_1::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: Botan::SHA_1::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SHA_1::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:32,1
    - Dst: _mm256_alignr_epi8
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:32,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:32,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:32,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:34,1
    - Dst: _mm256_srli_si256
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:34,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:34,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:39,1
    - Dst: _mm256_slli_si256
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:39,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:39,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:42,1
    - Dst: auto::rotl
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ' XW0'
    - XW1
    - XW2
    - XW3
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: Botan::sha1_avx2_next_w
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_alignr_epi8
    - _mm256_slli_si256
    - SIMD_8x32::raw
    - _mm256_srli_si256
    - SIMD_8x32::rotl
    - SIMD_8x32
    - auto::rotl
    - raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: "BOTAN_FN_ISA_AVX2_BMI2 sha1_avx2_next_w(SIMD_8x32& XW0,\n                                                                     SIMD_8x32
      XW1,\n                                                                     SIMD_8x32
      XW2,\n                                                                     SIMD_8x32
      XW3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:62,1
    - Dst: _mm256_setr_epi32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:63,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:72,1
    - Dst: _mm256_and_si256
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:72,1
    - Dst: _mm256_permutevar8x32_epi32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:72,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: Botan::permute_words
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp
    functionUses: 0
    functionsReached:
    - SIMD_8x32::raw
    - _mm256_and_si256
    - _mm256_setr_epi32
    - SIMD_8x32
    - _mm256_permutevar8x32_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 permute_words(SIMD_8x32 v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::permute_words
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:123,1
    - Dst: Botan::permute_words
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:126,1
    - Dst: Botan::permute_words
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:129,1
    - Dst: auto::rotl
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:130,1
    - Dst: Botan::permute_words
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' W0'
    - W2
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 139
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 139
    functionName: Botan::sha1_avx2_next_w2
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp
    functionUses: 0
    functionsReached:
    - Botan::permute_words
    - auto::rotl
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 sha1_avx2_next_w2(SIMD_8x32& W0, SIMD_8x32 W2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:150,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:151,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:152,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:153,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:163,1
    - Dst: Botan::SIMD_8x32::load_be128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:170,1
    - Dst: Botan::SIMD_8x32::load_be128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:171,1
    - Dst: Botan::SIMD_8x32::load_be128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:172,1
    - Dst: Botan::SIMD_8x32::load_be128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:173,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:175,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:176,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:177,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:178,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:180,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:181,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:181,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:182,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:183,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:184,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:185,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:187,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:188,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:188,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:189,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:190,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:191,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:192,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:194,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:195,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:195,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:196,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:197,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:198,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:199,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:201,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:202,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:202,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:203,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:204,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:205,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:206,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:208,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:209,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:209,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:210,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:211,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:212,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:213,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:215,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:216,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:216,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:217,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:218,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:219,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:220,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:222,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:223,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:223,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:224,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:225,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:226,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:227,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:229,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:230,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:230,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:231,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:232,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:233,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:234,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:236,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:237,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:237,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:238,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:239,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:240,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:241,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:243,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:244,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:244,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:245,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:246,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:247,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:248,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:250,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:251,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:251,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:252,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:253,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:254,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:255,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:257,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:258,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:258,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:259,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:260,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:261,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:262,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:264,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:265,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:265,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:266,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:267,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:268,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:269,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:271,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:272,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:272,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:273,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:274,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:275,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:276,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:278,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:279,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:279,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:280,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:281,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:282,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:283,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:285,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:286,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:286,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:287,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:288,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:289,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:290,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:292,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:293,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:294,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:295,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:296,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:298,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:299,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:300,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:301,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:302,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:304,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:305,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:306,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:307,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:308,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:310,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:311,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:312,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:313,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:314,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:323,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:324,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:325,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:326,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:327,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:328,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:329,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:330,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:331,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:332,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:333,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:334,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:335,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:336,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:337,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:338,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:339,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:340,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:341,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:342,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:343,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:344,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:345,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:346,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:347,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:348,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:349,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:350,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:351,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:352,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:353,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:354,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:355,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:356,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:357,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:358,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:359,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:360,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:361,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:362,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:363,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:364,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:365,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:366,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:367,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:368,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:369,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:370,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:371,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:372,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:373,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:374,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:375,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:376,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:377,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:378,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:379,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:380,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:381,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:382,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:383,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:384,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:385,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:386,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:387,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:388,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:389,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:390,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:391,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:392,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:393,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:394,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:395,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:396,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:397,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:398,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:399,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:400,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:401,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:402,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:414,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:416,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:417,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:422,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:423,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:425,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:426,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:427,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:428,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:429,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:430,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:431,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:432,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:434,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:435,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:437,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:438,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:439,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:440,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:441,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:442,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:443,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:444,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:446,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:447,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:449,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:450,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:451,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:452,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:453,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:454,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:455,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:456,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:458,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:459,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:461,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:462,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:463,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:464,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:465,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:466,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:467,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:468,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:470,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:471,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:473,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:474,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:475,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:476,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:477,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:478,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:479,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:480,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:482,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:483,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:485,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:486,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:487,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:488,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:489,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:490,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:491,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:492,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:494,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:495,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:497,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:498,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:499,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:500,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:501,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:502,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:503,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:504,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:506,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:507,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:509,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:510,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:511,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:512,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:513,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:514,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:515,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:516,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:518,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:520,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:521,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:522,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:523,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:524,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:525,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:526,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:527,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:529,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:531,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:532,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:533,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:534,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:535,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:536,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:537,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 315
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 546
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 546
    functionName: Botan::BOTAN_FN_ISA_AVX2_BMI2::avx2_compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha1_avx2_next_w
    - Botan::SIMD_8x32::splat
    - sha1_avx2_next_w2
    - SIMD_8x32::store_le128
    - BufferSlicer::take
    - F2
    - F4
    - SIMD_8x32::store_le
    - F3
    - F1
    - Botan::SIMD_8x32::load_be128
    - Botan::SIMD_8x32::load_be
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2_BMI2 SHA_1::avx2_compress_n(digest_type& digest,
      std::span<const uint8_t> input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:24,1
    - Dst: _mm_sha1nexte_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:24,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:24,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::sha1_x86_nexte
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
    functionUses: 0
    functionsReached:
    - raw
    - _mm_sha1nexte_epu32
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha1_x86_nexte(const SIMD_4x32& x, const SIMD_4x32&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:28,1
    - Dst: _mm_sha1msg1_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:28,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:28,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' W0'
    - ' W1'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan::sha1_x86_msg1
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
    functionUses: 0
    functionsReached:
    - raw
    - SIMD_4x32
    - _mm_sha1msg1_epu32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha1_x86_msg1(const SIMD_4x32& W0, const SIMD_4x32&
      W1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:35,1
    - Dst: _mm_sha1msg1_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:35,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:35,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:35,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:36,1
    - Dst: _mm_sha1msg2_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:36,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:36,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' W0'
    - ' W1'
    - ' W2'
    - ' W3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: Botan::sha1_x86_next_msg
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha1msg2_epu32
    - raw
    - SIMD_4x32
    - _mm_sha1msg1_epu32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sha1_x86_next_msg(const SIMD_4x32& W0,\n                                                             SIMD_4x32&
      W1,\n                                                             SIMD_4x32&
      W2,\n                                                             SIMD_4x32&
      W3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:46,1
    - Dst: _mm_sha1rnds4_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:46,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:46,1
    - Dst: Botan::sha1_x86_nexte
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:46,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:49,1
    - Dst: _mm_sha1rnds4_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:49,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:49,1
    - Dst: Botan::sha1_x86_nexte
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' ABCD'
    - ' E'
    - ' W0'
    - ' W1'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: Botan::sha1_x86_rnds8
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha1rnds4_epu32
    - raw
    - Botan::sha1_x86_nexte
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sha1_x86_rnds8(SIMD_4x32& ABCD,\n                                                          SIMD_4x32&
      E,\n                                                          const SIMD_4x32&
      W0,\n                                                          const SIMD_4x32&
      W1)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:53,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:53,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::rev_words
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm_shuffle_epi32
    - raw
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE rev_words(const SIMD_4x32& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rev_words
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:63,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:63,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:64,1
    - Dst: rev_words
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:71,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:71,1
    - Dst: rev_words
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:72,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:72,1
    - Dst: rev_words
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:73,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:73,1
    - Dst: rev_words
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:74,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:74,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:77,1
    - Dst: _mm_sha1rnds4_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:77,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:77,1
    - Dst: _mm_add_epi32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:77,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:77,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:77,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:80,1
    - Dst: _mm_sha1rnds4_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:80,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:80,1
    - Dst: _mm_sha1nexte_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:80,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:80,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:80,1
    - Dst: sha1_x86_rnds8<0>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:82,1
    - Dst: sha1_x86_msg1
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:84,1
    - Dst: sha1_x86_msg1
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:85,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:88,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:89,1
    - Dst: sha1_x86_rnds8<0, 1>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:90,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:92,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:93,1
    - Dst: sha1_x86_rnds8<1>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:94,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:96,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:97,1
    - Dst: sha1_x86_rnds8<1>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:98,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:100,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:101,1
    - Dst: sha1_x86_rnds8<2>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:102,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:104,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:105,1
    - Dst: sha1_x86_rnds8<2>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:106,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:108,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:109,1
    - Dst: sha1_x86_rnds8<2, 3>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:110,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:112,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:113,1
    - Dst: sha1_x86_rnds8<3>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:114,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:116,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:117,1
    - Dst: sha1_x86_rnds8<3>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:118,1
    - Dst: sha1_x86_nexte
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:121,1
    - Dst: rev_words
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:127,1
    - Dst: _mm_extract_epi32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:128,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 3
    argNames:
    - ' digest'
    - input_span
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 129
    functionName: Botan::BOTAN_FN_ISA_SHANI::sha1_compress_x86
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::raw
    - sha1_x86_rnds8<0, 1>
    - sha1_x86_rnds8<2, 3>
    - _mm_sha1rnds4_epu32
    - Botan::SIMD_4x32::load_le
    - sha1_x86_nexte
    - _mm_sha1nexte_epu32
    - sha1_x86_rnds8<0>
    - sha1_x86_rnds8<3>
    - _mm_add_epi32
    - sha1_x86_rnds8<1>
    - sha1_x86_next_msg
    - rev_words
    - SIMD_4x32
    - sha1_x86_msg1
    - sha1_x86_rnds8<2>
    - _mm_extract_epi32
    - auto::raw
    - Botan::SIMD_4x32::load_be
    linkageType: ''
    returnType: void
    signature: "void BOTAN_FN_ISA_SHANI SHA_1::sha1_compress_x86(digest_type& digest,\n
      \                                                std::span<const uint8_t> input_span,\n
      \                                                size_t blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:28,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:29,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:30,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:31,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:33,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:48,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:49,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:50,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:51,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:53,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:53,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:53,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:54,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:54,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:54,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:55,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:55,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:55,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:56,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:56,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:56,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:58,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:59,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:62,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:62,1
    - Dst: vsha1cq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:63,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:64,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:65,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:68,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:68,1
    - Dst: vsha1cq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:69,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:70,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:71,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:72,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:75,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:75,1
    - Dst: vsha1cq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:76,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:77,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:78,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:79,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:82,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:82,1
    - Dst: vsha1cq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:83,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:84,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:85,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:86,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:89,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:89,1
    - Dst: vsha1cq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:90,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:91,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:92,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:93,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:96,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:96,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:97,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:98,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:99,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:100,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:103,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:103,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:104,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:105,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:106,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:107,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:110,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:110,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:111,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:112,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:113,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:114,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:117,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:117,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:118,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:119,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:120,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:121,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:124,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:124,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:125,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:126,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:127,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:128,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:131,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:131,1
    - Dst: vsha1mq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:132,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:133,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:134,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:135,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:138,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:138,1
    - Dst: vsha1mq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:139,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:140,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:141,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:142,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:145,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:145,1
    - Dst: vsha1mq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:146,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:147,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:148,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:149,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:152,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:152,1
    - Dst: vsha1mq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:153,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:154,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:155,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:156,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:159,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:159,1
    - Dst: vsha1mq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:160,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:161,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:162,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:163,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:166,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:166,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:167,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:168,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:169,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:170,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:173,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:173,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:174,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:175,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:176,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:177,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:180,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:180,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:181,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:182,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:183,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:186,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:186,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:187,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:190,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:190,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:191,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:195,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 113
    argCount: 3
    argNames:
    - ' digest'
    - input8
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 204
    functionName: Botan::BOTAN_FN_ISA_SHA2::sha1_armv8_compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp
    functionUses: 0
    functionsReached:
    - vrev32q_u8
    - vst1q_u32
    - vsha1cq_u32
    - vsha1su1q_u32
    - vsha1su0q_u32
    - vreinterpretq_u8_u32
    - vsha1h_u32
    - vdupq_n_u32
    - vsha1mq_u32
    - vreinterpretq_u32_u8
    - vaddq_u32
    - vgetq_lane_u32
    - vld1q_u32
    - vsha1pq_u32
    linkageType: ''
    returnType: void
    signature: "void BOTAN_FN_ISA_SHA2 SHA_1::sha1_armv8_compress_n(digest_type& digest,\n
      \                                                   std::span<const uint8_t>
      input8,\n                                                    size_t blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::alignr8
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:50,1
    - Dst: SIMD_4x32::shift_elems_right
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:52,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:57,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:60,1
    - Dst: auto::rotl
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ' XW0'
    - XW1
    - XW2
    - XW3
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: Botan::sha1_simd_next_w
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shift_elems_left
    - SIMD_4x32::shift_elems_right
    - SIMD_4x32::rotl
    - auto::rotl
    - Botan::SIMD_4x32::alignr8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha1_simd_next_w(SIMD_4x32& XW0, SIMD_4x32 XW1,
      SIMD_4x32 XW2, SIMD_4x32 XW3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:81,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:82,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:83,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:84,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:93,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:95,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:96,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:97,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:98,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:105,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:106,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:107,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:108,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:109,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:110,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:112,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:113,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:114,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:115,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:116,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:117,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:119,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:120,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:121,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:122,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:123,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:124,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:126,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:127,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:128,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:129,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:130,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:131,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:133,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:134,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:135,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:136,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:137,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:138,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:140,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:141,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:142,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:143,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:144,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:145,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:147,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:148,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:149,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:150,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:151,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:152,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:154,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:155,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:156,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:157,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:158,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:159,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:161,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:162,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:163,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:164,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:165,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:166,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:168,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:169,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:170,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:171,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:172,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:173,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:175,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:176,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:177,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:178,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:179,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:180,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:182,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:183,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:184,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:185,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:186,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:187,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:189,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:190,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:191,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:192,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:193,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:194,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:196,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:197,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:198,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:199,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:200,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:201,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:203,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:204,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:205,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:206,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:207,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:208,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:210,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:211,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:212,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:213,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:214,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:215,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:217,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:218,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:219,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:220,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:221,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:223,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:224,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:225,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:226,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:227,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:229,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:230,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:231,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:232,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:233,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:235,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:236,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:237,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:238,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 124
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 247
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::simd_compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp
    functionUses: 0
    functionsReached:
    - sha1_simd_next_w
    - Botan::SIMD_4x32::splat
    - SIMD_4x32::store_le
    - BufferSlicer::take
    - F2
    - F4
    - F3
    - F1
    - Botan::SIMD_4x32::load_be
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SIMD_4X32 SHA_1::simd_compress_n(digest_type& digest,
      std::span<const uint8_t> input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Threefish_512>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:21,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:24,1
    - Dst: Botan::Skein_512::initial_block
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - arg_output_bits
    - arg_personalization
    argTypes:
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: Botan::Skein_512::Skein_512
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - Botan::Skein_512::initial_block
    - Invalid_Argument
    - std::make_unique<Threefish_512>
    linkageType: ''
    returnType: void
    signature: void Skein_512::Skein_512(size_t arg_output_bits, std::string_view
      arg_personalization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:31,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:32,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: Botan::Skein_512::name
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string Skein_512::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Skein_512>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::Skein_512::new_object
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Skein_512>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Skein_512::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Skein_512>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: Botan::Skein_512::copy_state
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Skein_512>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Skein_512::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Skein_512::clear
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:51,1
    - Dst: Botan::Skein_512::initial_block
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: Botan::Skein_512::clear
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 1
    functionsReached:
    - Botan::Skein_512::initial_block
    - Botan::Skein_512::clear
    linkageType: ''
    returnType: void
    signature: void Skein_512::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:60,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:60,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - is_final
    argTypes:
    - type_code
    - bool
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Botan::Skein_512::reset_tweak
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void Skein_512::reset_tweak(type_code type, bool is_final)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:66,1
    - Dst: store_le
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:70,1
    - Dst: Botan::Skein_512::reset_tweak
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:72,1
    - Dst: Botan::Skein_512::ubi_512
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:73,1
    - Dst: empty
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:75,1
    - Dst: length
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:81,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:82,1
    - Dst: Botan::Skein_512::reset_tweak
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:86,1
    - Dst: Botan::Skein_512::ubi_512
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:87,1
    - Dst: length
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:87,1
    - Dst: Botan::Skein_512::reset_tweak
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 91
    functionName: Botan::Skein_512::initial_block
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 2
    functionsReached:
    - Botan::Skein_512::ubi_512
    - set_key
    - store_le
    - length
    - empty
    - Botan::Skein_512::reset_tweak
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Skein_512::initial_block()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:100,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:104,1
    - Dst: skein_feedfwd
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:108,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: Botan::Skein_512::ubi_512
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 1
    functionsReached:
    - load_le
    - skein_feedfwd
    - static_cast<uint64_t>
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void Skein_512::ubi_512(const uint8_t msg[], size_t msg_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:121,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:122,1
    - Dst: Botan::Skein_512::ubi_512
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:123,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:123,1
    - Dst: auto::size
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:123,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:126,1
    - Dst: Botan::Skein_512::ubi_512
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:129,1
    - Dst: data
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:129,1
    - Dst: size
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: Botan::Skein_512::add_data
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - Botan::Skein_512::ubi_512
    - in_alignment
    - data
    - handle_unaligned_data
    - BufferSlicer::empty
    - auto::data
    - size
    - auto::size
    linkageType: ''
    returnType: void
    signature: void Skein_512::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:136,1
    - Dst: elements_in_buffer
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:138,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:139,1
    - Dst: Botan::Skein_512::ubi_512
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:140,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:140,1
    - Dst: Botan::Skein_512::reset_tweak
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:144,1
    - Dst: Botan::Skein_512::ubi_512
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:145,1
    - Dst: copy_out_le
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:147,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:147,1
    - Dst: Botan::Skein_512::initial_block
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: Botan::Skein_512::final_result
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - Botan::Skein_512::ubi_512
    - static_cast<uint64_t>
    - std::span<uint8_t>::first
    - Botan::Skein_512::initial_block
    - elements_in_buffer
    - Botan::Skein_512::reset_tweak
    - copy_out_le
    - fill_up_with_zeros
    - consume
    linkageType: ''
    returnType: void
    signature: void Skein_512::final_result(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::Skein_512::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::Skein_512::output_length
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Streebog>
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::Streebog::copy_state
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Streebog>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Streebog::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:29,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:29,1
    - Dst: Botan::Streebog::clear
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: Botan::Streebog::Streebog
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Invalid_Argument
    - Botan::Streebog::clear
    linkageType: ''
    returnType: void
    signature: void Streebog::Streebog(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::Streebog::name
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string Streebog::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Streebog::clear
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:44,1
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:45,1
    - Dst: std::fill
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:48,1
    - Dst: begin
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:48,1
    - Dst: end
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: Botan::Streebog::clear
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 2
    functionsReached:
    - end
    - zeroise
    - Botan::Streebog::clear
    - std::fill
    - begin
    linkageType: ''
    returnType: void
    signature: void Streebog::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:57,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:58,1
    - Dst: Botan::Streebog::compress
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:59,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:59,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:63,1
    - Dst: next_aligned_block_to_process
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:64,1
    - Dst: Botan::Streebog::compress
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:65,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: Botan::Streebog::add_data
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - in_alignment
    - handle_unaligned_data
    - BufferSlicer::empty
    - auto::data
    - next_aligned_block_to_process
    - Botan::Streebog::compress
    linkageType: ''
    returnType: void
    signature: void Streebog::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elements_in_buffer
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:76,1
    - Dst: append
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:79,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:80,1
    - Dst: Botan::Streebog::compress
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:82,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:82,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:85,1
    - Dst: store_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:86,1
    - Dst: directly_modify_first
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:86,1
    - Dst: Botan::Streebog::compress
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:87,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:87,1
    - Dst: Botan::Streebog::compress_64
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:89,1
    - Dst: data
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:89,1
    - Dst: std::memcpy
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:91,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:91,1
    - Dst: Botan::Streebog::output_length
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:91,1
    - Dst: Botan::Streebog::output_length
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:91,1
    - Dst: Botan::Streebog::clear
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: Botan::Streebog::final_result
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - Botan::Streebog::compress_64
    - directly_modify_first
    - append
    - data
    - store_le
    - std::memcpy
    - elements_in_buffer
    - Botan::Streebog::output_length
    - Botan::Streebog::clear
    - std::span<uint8_t>::data
    - fill_up_with_zeros
    - consume
    - Botan::Streebog::compress
    linkageType: ''
    returnType: void
    signature: void Streebog::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:101,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:103,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: Botan::force_le
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_le
    - Botan::reverse_bytes
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t force_le(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:111,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:114,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:114,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:115,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:115,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:116,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:116,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:117,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - block
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: Botan::lps
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - Botan::force_le
    linkageType: ''
    returnType: void
    signature: void lps(uint64_t block[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:125,1
    - Dst: Botan::Streebog::compress_64
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - last_block
    argTypes:
    - uint8_t[]
    - bool
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: Botan::Streebog::compress
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 2
    functionsReached:
    - std::memcpy
    - Botan::Streebog::compress_64
    linkageType: ''
    returnType: void
    signature: void Streebog::compress(const uint8_t input[], bool last_block)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:136,1
    - Dst: data
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:136,1
    - Dst: lps
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:138,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:140,1
    - Dst: force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:148,1
    - Dst: lps
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:150,1
    - Dst: lps
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:152,1
    - Dst: force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - M
    - last_block
    argTypes:
    - uint64_t[]
    - bool
    constantsTouched: []
    func_position:
      end: 175
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 175
    functionName: Botan::Streebog::compress_64
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 2
    functionsReached:
    - data
    - copy_mem
    - force_le
    - lps
    linkageType: ''
    returnType: void
    signature: void Streebog::compress_64(const uint64_t M[], bool last_block)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::Streebog::output_length
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Streebog>
      Src: /src/botan/src/lib/hash/streebog/streebog.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::Streebog::new_object
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Streebog>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Streebog::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::BLAKE2b::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::BLAKE2b::output_length
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::BLAKE2b::key_size
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t key_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:36,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:38,1
    - Dst: Botan::BLAKE2b::state_init
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Botan::BLAKE2b::BLAKE2b
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - Botan::BLAKE2b::state_init
    - Invalid_Argument
    - size
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::BLAKE2b(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:45,1
    - Dst: data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:45,1
    - Dst: data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:45,1
    - Dst: size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:45,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:46,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:46,1
    - Dst: Botan::BLAKE2b::output_length
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:46,1
    - Dst: Botan::BLAKE2b::clear
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:50,1
    - Dst: append
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: Botan::BLAKE2b::state_init
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 1
    functionsReached:
    - Botan::BLAKE2b::output_length
    - append
    - data
    - copy_mem
    - static_cast<uint8_t>
    - Botan::BLAKE2b::clear
    - size
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::state_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:60,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:62,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:64,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    - M0
    - M1
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: Botan::G
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE G(uint64_t& a, uint64_t& b, uint64_t& c, uint64_t&
      d, uint64_t M0, uint64_t M1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:86,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:87,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:88,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:89,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:90,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:91,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:92,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - v
    - M
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: Botan::ROUND
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - Botan::G
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE ROUND(uint64_t* v, const uint64_t* M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:107,1
    - Dst: ROUND<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:122,1
    - Dst: ROUND<14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:123,1
    - Dst: ROUND<11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:124,1
    - Dst: ROUND<7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:125,1
    - Dst: ROUND<9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:126,1
    - Dst: ROUND<2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:127,1
    - Dst: ROUND<12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:128,1
    - Dst: ROUND<13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:129,1
    - Dst: ROUND<6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:130,1
    - Dst: ROUND<10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:131,1
    - Dst: ROUND<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:132,1
    - Dst: ROUND<14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - input
    - blocks
    - increment
    argTypes:
    - uint8_t*
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 139
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 139
    functionName: Botan::BLAKE2b::compress
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - load_le
    - ROUND<2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9>
    - ROUND<6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5>
    - ROUND<14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3>
    - ROUND<7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8>
    - ROUND<13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10>
    - ROUND<9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13>
    - ROUND<10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0>
    - ROUND<11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4>
    - ROUND<12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11>
    - ROUND<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15>
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::compress(const uint8_t* input, size_t blocks, uint64_t
      increment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:144,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:145,1
    - Dst: Botan::BLAKE2b::compress
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:146,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:146,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:149,1
    - Dst: Botan::BLAKE2b::compress
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:152,1
    - Dst: data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: Botan::BLAKE2b::add_data
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - in_alignment
    - data
    - Botan::BLAKE2b::compress
    - handle_unaligned_data
    - BufferSlicer::empty
    - auto::data
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elements_in_buffer
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:159,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:160,1
    - Dst: Botan::BLAKE2b::compress
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:163,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:163,1
    - Dst: copy_out_le
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:164,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:164,1
    - Dst: Botan::BLAKE2b::output_length
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:164,1
    - Dst: Botan::BLAKE2b::state_init
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: Botan::BLAKE2b::final_result
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - Botan::BLAKE2b::output_length
    - Botan::BLAKE2b::state_init
    - std::span<uint8_t>::first
    - Botan::BLAKE2b::compress
    - elements_in_buffer
    - copy_out_le
    - fill_up_with_zeros
    - consume
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::BLAKE2b::key_spec
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification BLAKE2b::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: Botan::BLAKE2b::name
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string BLAKE2b::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BLAKE2b>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Botan::BLAKE2b::new_object
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BLAKE2b>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> BLAKE2b::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BLAKE2b>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: Botan::BLAKE2b::copy_state
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BLAKE2b>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> BLAKE2b::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: Botan::BLAKE2b::has_keying_material
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BLAKE2b::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:189,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:189,1
    - Dst: size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:189,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:191,1
    - Dst: resize
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:192,1
    - Dst: size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:192,1
    - Dst: size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:194,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:196,1
    - Dst: data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:196,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:199,1
    - Dst: data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:199,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:199,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:199,1
    - Dst: Botan::BLAKE2b::state_init
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: Botan::BLAKE2b::key_schedule
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - Botan::BLAKE2b::state_init
    - data
    - copy_mem
    - std::span<const uint8_t>::size
    - size
    - std::span<const uint8_t>::data
    - resize
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:204,1
    - Dst: Botan::BLAKE2b::clear
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:205,1
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:206,1
    - Dst: Botan::BLAKE2b::state_init
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: Botan::BLAKE2b::clear
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 2
    functionsReached:
    - Botan::BLAKE2b::clear
    - zeroise
    - Botan::BLAKE2b::state_init
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 4
    argNames:
    - input
    - length
    - ' S1'
    - ' S2'
    argTypes:
    - uint8_t[]
    - size_t
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 64
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 64
    functionName: Botan::adler32_update
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void adler32_update(const uint8_t input[], size_t length, uint16_t&
      S1, uint16_t& S2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:74,1
    - Dst: adler32_update
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:75,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:75,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:76,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:76,1
    - Dst: adler32_update
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:79,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:79,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: Botan::Adler32::add_data
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::last
    - adler32_update
    linkageType: ''
    returnType: void
    signature: void Adler32::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:86,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:86,1
    - Dst: Botan::Adler32::clear
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: Botan::Adler32::final_result
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - Botan::Adler32::clear
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void Adler32::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Adler32>
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::Adler32::copy_state
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Adler32>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Adler32::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan::Adler32::name
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::Adler32::output_length
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Adler32>
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::Adler32::new_object
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Adler32>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: Botan::Adler32::clear
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Adler32::clear
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::Adler32::Adler32
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.h
    functionUses: 0
    functionsReached:
    - Botan::Adler32::clear
    linkageType: ''
    returnType: void
    signature: void Adler32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~Adler32() override
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.h
    functionUses: 0
    functionsReached:
    - Botan::clear
    linkageType: ''
    returnType: void
    signature: void ~Adler32() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan::CRC32::name
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::CRC32::output_length
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRC32>
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::CRC32::new_object
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.h
    functionUses: 0
    functionsReached:
    - std::make_unique<CRC32>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::CRC32::clear
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRC32::clear
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::CRC32::CRC32
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.h
    functionUses: 0
    functionsReached:
    - Botan::CRC32::clear
    linkageType: ''
    returnType: void
    signature: void CRC32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~CRC32() override
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.h
    functionUses: 0
    functionsReached:
    - Botan::clear
    linkageType: ''
    returnType: void
    signature: void ~CRC32() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:54,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:54,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:54,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: Botan::CRC32::add_data
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void CRC32::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:85,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:85,1
    - Dst: Botan::CRC32::clear
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: Botan::CRC32::final_result
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - std::span<uint8_t>::data
    - Botan::CRC32::clear
    linkageType: ''
    returnType: void
    signature: void CRC32::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRC32>
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: Botan::CRC32::copy_state
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CRC32>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> CRC32::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::CRC24::name
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::CRC24::output_length
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRC24>
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::CRC24::new_object
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.h
    functionUses: 0
    functionsReached:
    - std::make_unique<CRC24>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::CRC24::clear
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRC24::clear
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::CRC24::CRC24
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.h
    functionUses: 0
    functionsReached:
    - Botan::CRC24::clear
    linkageType: ''
    returnType: void
    signature: void CRC24()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~CRC24() override
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.h
    functionUses: 0
    functionsReached:
    - Botan::clear
    linkageType: ''
    returnType: void
    signature: void ~CRC24() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crc
    - data
    argTypes:
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: Botan::process8
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp
    functionUses: 0
    functionsReached:
    - Botan::get_byte
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t process8(uint32_t crc, uint8_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:148,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:148,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:148,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crc
    - word
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: Botan::process32
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp
    functionUses: 0
    functionsReached:
    - Botan::get_byte
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t process32(uint32_t crc, uint32_t word)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRC24>
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Botan::CRC24::copy_state
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CRC24>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> CRC24::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:181,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:181,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:181,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:181,1
    - Dst: process8
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:182,1
    - Dst: std::span<const uint8_t>::front
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:182,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:185,1
    - Dst: load_le
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:187,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:187,1
    - Dst: process32
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:188,1
    - Dst: process32
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:189,1
    - Dst: process32
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:190,1
    - Dst: process32
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:191,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:193,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:193,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:196,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:196,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:196,1
    - Dst: process8
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:197,1
    - Dst: std::span<const uint8_t>::front
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 201
    functionName: Botan::CRC24::add_data
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::last
    - load_le
    - process32
    - std::span<const uint8_t>::size
    - reinterpret_cast<uintptr_t>
    - process8
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::front
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void CRC24::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:207,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:208,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:209,1
    - Dst: Botan::CRC24::clear
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: Botan::CRC24::final_result
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp
    functionUses: 0
    functionsReached:
    - get_byte<2>
    - get_byte<3>
    - get_byte<1>
    - Botan::CRC24::clear
    linkageType: ''
    returnType: void
    signature: void CRC24::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_f.h:36,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_f.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 13
    argNames:
    - A
    - B
    - C
    - ' D'
    - E
    - F
    - G
    - ' H'
    - ' M1'
    - M2
    - M3
    - M4
    - magic
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 40
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 40
    functionName: Botan::SHA2_32_F
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_f.h
    functionUses: 0
    functionsReached:
    - Botan::choose
    - Botan::majority
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SHA2_32_F(uint32_t A,\n                                  uint32_t
      B,\n                                  uint32_t C,\n                                  uint32_t&
      D,\n                                  uint32_t E,\n                                  uint32_t
      F,\n                                  uint32_t G,\n                                  uint32_t&
      H,\n                                  uint32_t& M1,\n                                  uint32_t
      M2,\n                                  uint32_t M3,\n                                  uint32_t
      M4,\n                                  uint32_t magic)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_f.h:49,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_f.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - A
    - B
    - C
    - ' D'
    - E
    - F
    - G
    - ' H'
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: Botan::SHA2_32_F
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_f.h
    functionUses: 0
    functionsReached:
    - Botan::choose
    - Botan::majority
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SHA2_32_F(\n   uint32_t A, uint32_t B, uint32_t
      C, uint32_t& D, uint32_t E, uint32_t F, uint32_t G, uint32_t& H, uint32_t M)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::SHA_224::name
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::SHA_224::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::SHA_224::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_224::clear
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::SHA_224::clear
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 1
    functionsReached:
    - Botan::SHA_224::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::SHA_256::name
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::SHA_256::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::SHA_256::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_256::clear
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::SHA_256::clear
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 1
    functionsReached:
    - Botan::SHA_256::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:28,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:34,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:40,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: Botan::sha256_provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string sha256_provider()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:63,1
    - Dst: Botan::BOTAN_FN_ISA_SHANI::compress_digest_x86
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:64,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:69,1
    - Dst: Botan::BOTAN_FN_ISA_SHA2::compress_digest_armv8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:70,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:75,1
    - Dst: Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest_x86_avx2
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:76,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:81,1
    - Dst: Botan::SHA_256::compress_digest_x86_simd
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:82,1
    - Dst: load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:94,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:94,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:98,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:99,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:100,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:101,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:102,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:103,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:104,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:105,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:106,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:107,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:108,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:109,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:110,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:111,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:112,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:113,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:115,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:116,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:117,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:118,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:119,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:120,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:121,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:122,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:123,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:124,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:125,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:126,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:127,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:128,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:129,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:130,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:132,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:133,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:134,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:135,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:136,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:137,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:138,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:139,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:140,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:141,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:142,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:143,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:144,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:145,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:146,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:147,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:149,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:150,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:151,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:152,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:153,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:154,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:155,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:156,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:157,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:158,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:159,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:160,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:161,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:162,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:163,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 88
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 177
    functionName: Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - SHA2_32_F
    - load_be
    - Botan::SHA_256::compress_digest_x86_simd
    - BufferSlicer::take
    - Botan::BOTAN_FN_ISA_SHA2::compress_digest_armv8
    - Botan::BOTAN_FN_ISA_SHANI::compress_digest_x86
    - Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest_x86_avx2
    linkageType: ''
    returnType: void
    signature: "void BOTAN_SCRUB_STACK_AFTER_RETURN SHA_256::compress_digest(digest_type&
      digest,\n                                                             std::span<const
      uint8_t> input,\n                                                             size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_provider
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: Botan::SHA_224::provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - sha256_provider
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_224::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: Botan::SHA_224::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest
    linkageType: ''
    returnType: void
    signature: void SHA_224::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan::SHA_224::init
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SHA_224::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_224>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: Botan::SHA_224::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_224>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_224::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_224>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: Botan::SHA_224::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_224>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_224::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Botan::SHA_224::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SHA_224::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: Botan::SHA_224::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SHA_224::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_provider
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: Botan::SHA_256::provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - sha256_provider
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_256::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: Botan::SHA_256::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest
    linkageType: ''
    returnType: void
    signature: void SHA_256::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: Botan::SHA_256::init
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SHA_256::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: Botan::SHA_256::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_256>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_256::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: Botan::SHA_256::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_256>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_256::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: Botan::SHA_256::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SHA_256::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: Botan::SHA_256::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SHA_256::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:24,1
    - Dst: _mm_alignr_epi8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:24,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:24,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::alignr4
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm_alignr_epi8
    - raw
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 alignr4(const SIMD_4x32& a, const SIMD_4x32&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:29,1
    - Dst: _mm_srli_epi64
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:29,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::shr64
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - raw
    - SIMD_4x32
    - _mm_srli_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 shr64(const SIMD_4x32& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:34,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:34,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::shuffle_32
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm_shuffle_epi32
    - raw
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 shuffle_32(const SIMD_4x32& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:38,1
    - Dst: _mm256_alignr_epi8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:38,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:38,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::alignr4
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_alignr_epi8
    - raw
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 alignr4(const SIMD_8x32& a, const SIMD_8x32&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:43,1
    - Dst: _mm256_srli_epi64
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:43,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::shr64
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - raw
    - _mm256_srli_epi64
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 shr64(const SIMD_8x32& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:48,1
    - Dst: _mm256_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:48,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::shuffle_32
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi32
    - raw
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 shuffle_32(const SIMD_8x32& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_T
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:60,1
    - Dst: SIMD_T
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:61,1
    - Dst: Botan::alignr4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:63,1
    - Dst: Botan::alignr4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:64,1
    - Dst: auto::template shl<32 - sigma0_1>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:66,1
    - Dst: auto::template shr<sigma0_0>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:67,1
    - Dst: auto::template shr<sigma0_2>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:68,1
    - Dst: Botan::shuffle_32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:71,1
    - Dst: auto::template shr<sigma0_1 - sigma0_0>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:72,1
    - Dst: auto::template shl<sigma0_1 - sigma0_0>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:74,1
    - Dst: auto::template shr<sigma1_2>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:75,1
    - Dst: Botan::shr64
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:76,1
    - Dst: Botan::shr64
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:80,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:81,1
    - Dst: Botan::shuffle_32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:83,1
    - Dst: auto::template shr<sigma1_2>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:84,1
    - Dst: Botan::shr64
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:85,1
    - Dst: Botan::shr64
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:87,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_T[]
    constantsTouched: []
    func_position:
      end: 97
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 97
    functionName: Botan::next_w
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - auto::template shr<sigma0_1 - sigma0_0>
    - auto::template shr<sigma0_0>
    - Botan::shr64
    - SIMD_T
    - auto::template shr<sigma0_2>
    - auto::template shl<sigma0_1 - sigma0_0>
    - Botan::alignr4
    - Botan::shuffle_32
    - Botan::SIMD_4x32::byte_shuffle
    - auto::template shr<sigma1_2>
    - auto::template shl<32 - sigma0_1>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 next_w(SIMD_T x[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be128
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:153,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:154,1
    - Dst: auto::store_le128
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:155,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:162,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:162,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:164,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:165,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:166,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:167,1
    - Dst: auto::store_le128
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:169,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:171,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:171,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:173,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:174,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:175,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:176,1
    - Dst: auto::store_le128
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:178,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:180,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:180,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:182,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:183,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:184,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:185,1
    - Dst: auto::store_le128
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:187,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:189,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:189,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:191,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:192,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:193,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:194,1
    - Dst: auto::store_le128
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:196,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:199,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:200,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:201,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:202,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:203,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:204,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:205,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:206,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:207,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:208,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:209,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:210,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:211,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:212,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:213,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:214,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:226,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:227,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:228,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:229,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:230,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:231,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:232,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:233,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:234,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:235,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:236,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:237,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:238,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:239,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:240,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:241,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:243,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:244,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:245,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:246,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:247,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:248,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:249,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:250,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:251,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:252,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:253,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:254,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:255,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:256,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:257,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:258,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:260,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:261,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:262,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:263,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:264,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:265,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:266,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:267,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:268,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:269,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:270,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:271,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:272,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:273,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:274,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:275,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:277,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:278,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:279,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:280,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:281,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:282,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:283,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:284,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:285,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:286,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:287,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:288,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:289,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:290,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:291,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:292,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:308,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:309,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:310,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:317,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:317,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:319,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:320,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:321,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:322,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:324,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:326,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:326,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:328,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:329,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:330,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:331,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:333,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:335,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:335,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:337,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:338,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:339,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:340,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:342,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:344,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:344,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:346,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:347,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:348,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:349,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:351,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:354,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:355,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:356,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:357,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:358,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:359,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:360,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:361,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:362,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:363,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:364,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:365,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:366,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:367,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:368,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 187
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 380
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 380
    functionName: Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest_x86_avx2
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 1
    functionsReached:
    - SHA2_32_F
    - Botan::SIMD_4x32::load_le
    - Botan::SIMD_8x32::load_le
    - auto::store_le
    - next_w
    - Botan::SIMD_8x32::load_be128
    - Botan::SIMD_4x32::load_be
    - auto::store_le128
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: "BOTAN_FN_ISA_AVX2_BMI2 BOTAN_SCRUB_STACK_AFTER_RETURN void SHA_256::compress_digest_x86_avx2(\n
      \  digest_type& digest, std::span<const uint8_t> input, size_t blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:20,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:21,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:23,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:24,1
    - Dst: Botan::SIMD_4x32::alignr4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:26,1
    - Dst: Botan::SIMD_4x32::alignr4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:27,1
    - Dst: auto::rotr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:29,1
    - Dst: auto::rotr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:29,1
    - Dst: auto::shr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:29,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:31,1
    - Dst: auto::rotr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:32,1
    - Dst: auto::rotr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:32,1
    - Dst: auto::shr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:32,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:35,1
    - Dst: auto::rotr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:36,1
    - Dst: auto::rotr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:36,1
    - Dst: auto::shr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_4x32[]
    constantsTouched: []
    func_position:
      end: 46
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 46
    functionName: Botan::sha256_simd_next_w
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp
    functionUses: 0
    functionsReached:
    - auto::rotr
    - Botan::SIMD_4x32::byte_shuffle
    - Botan::SIMD_4x32::alignr4
    - auto::shr
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X32
    signature: BOTAN_FN_ISA_SIMD_4X32 sha256_simd_next_w(SIMD_4x32 x[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:83,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:84,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:85,1
    - Dst: sha256_simd_next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:92,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:92,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:94,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:95,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:96,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:97,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:99,1
    - Dst: sha256_simd_next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:101,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:101,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:103,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:104,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:105,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:106,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:108,1
    - Dst: sha256_simd_next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:110,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:110,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:112,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:113,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:114,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:115,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:117,1
    - Dst: sha256_simd_next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:119,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:119,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:121,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:122,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:123,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:124,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:126,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:129,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:130,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:131,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:132,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:133,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:134,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:135,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:136,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:137,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:138,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:139,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:140,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:141,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:142,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:143,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 155
    functionName: Botan::SHA_256::compress_digest_x86_simd
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::load_le
    - SHA2_32_F
    - sha256_simd_next_w
    - auto::store_le
    - Botan::SIMD_4x32::load_be
    linkageType: ''
    returnType: void
    signature: void SHA_256::compress_digest_x86_simd(digest_type& digest, std::span<const
      uint8_t> input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:27,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:27,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:27,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:27,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:27,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:28,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:28,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:28,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:28,1
    - Dst: auto::shift_elems_right
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' S0'
    - ' S1'
    - ' msg'
    - ' k'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: Botan::sha256_rnds4
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha256rnds2_epu32
    - auto::raw
    - auto::shift_elems_right
    - raw
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sha256_rnds4(SIMD_4x32& S0,\n                                                        SIMD_4x32&
      S1,\n                                                        const SIMD_4x32&
      msg,\n                                                        const SIMD_4x32&
      k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:32,1
    - Dst: _mm_alignr_epi8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:32,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:32,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:32,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:33,1
    - Dst: _mm_sha256msg1_epu32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:33,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:33,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:33,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:34,1
    - Dst: _mm_sha256msg2_epu32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:34,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:34,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' m0'
    - ' m1'
    - ' m2'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: Botan::sha256_msg_exp
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm_alignr_epi8
    - _mm_sha256msg2_epu32
    - _mm_sha256msg1_epu32
    - raw
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha256_msg_exp(SIMD_4x32& m0, SIMD_4x32& m1, SIMD_4x32&
      m2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:38,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:38,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:38,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:39,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:39,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:39,1
    - Dst: _mm_alignr_epi8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:41,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:41,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:41,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:42,1
    - Dst: _mm_blend_epi16
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:42,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:42,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:42,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' S0'
    - ' S1'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: Botan::sha256_permute_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm_alignr_epi8
    - SIMD_4x32
    - _mm_blend_epi16
    - raw
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha256_permute_state(SIMD_4x32& S0, SIMD_4x32& S1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:64,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:65,1
    - Dst: sha256_permute_state
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:67,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:73,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:74,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:75,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:76,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:78,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:78,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:79,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:79,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:80,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:80,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:81,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:81,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:83,1
    - Dst: _mm_sha256msg1_epu32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:83,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:83,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:83,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:84,1
    - Dst: _mm_sha256msg1_epu32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:84,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:84,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:84,1
    - Dst: sha256_msg_exp
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:87,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:88,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:88,1
    - Dst: sha256_msg_exp
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:90,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:91,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:91,1
    - Dst: sha256_msg_exp
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:93,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:94,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:94,1
    - Dst: sha256_msg_exp
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:96,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:97,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:97,1
    - Dst: sha256_permute_state
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:108,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:110,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - ' digest'
    - input_span
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 112
    functionName: Botan::BOTAN_FN_ISA_SHANI::compress_digest_x86
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp
    functionUses: 1
    functionsReached:
    - sha256_msg_exp
    - Botan::SIMD_4x32::load_le
    - sha256_permute_state
    - SIMD_4x32::store_le
    - auto::raw
    - sha256_rnds4
    - _mm_sha256msg1_epu32
    - Botan::SIMD_4x32::load_be
    - SIMD_4x32
    linkageType: ''
    returnType: void
    signature: "void BOTAN_FN_ISA_SHANI BOTAN_SCRUB_STACK_AFTER_RETURN SHA_256::compress_digest_x86(digest_type&
      digest,\n                                                                                    std::span<const
      uint8_t> input_span,\n                                                                                    size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:39,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:40,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:50,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:51,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:52,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:53,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:55,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:55,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:55,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:56,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:56,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:56,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:57,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:57,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:57,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:58,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:58,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:58,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:63,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:63,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:64,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:65,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:67,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:67,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:70,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:70,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:71,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:72,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:74,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:74,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:77,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:77,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:78,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:79,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:81,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:81,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:84,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:84,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:85,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:86,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:88,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:88,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:91,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:91,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:92,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:93,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:95,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:95,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:98,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:98,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:99,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:100,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:102,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:102,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:105,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:105,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:106,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:107,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:109,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:109,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:112,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:112,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:113,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:114,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:116,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:116,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:119,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:119,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:120,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:121,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:123,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:123,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:126,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:126,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:127,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:128,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:130,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:130,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:133,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:133,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:134,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:135,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:137,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:137,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:140,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:140,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:141,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:142,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:144,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:144,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:147,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:147,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:148,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:149,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:153,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:153,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:154,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:155,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:159,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:159,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:160,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:161,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:165,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:165,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:166,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:167,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:171,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:172,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:179,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 89
    argCount: 3
    argNames:
    - ' digest'
    - input8
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 181
    functionName: Botan::BOTAN_FN_ISA_SHA2::compress_digest_armv8
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp
    functionUses: 1
    functionsReached:
    - vrev32q_u8
    - vsha256hq_u32
    - vsha256su0q_u32
    - vsha256h2q_u32
    - vreinterpretq_u8_u32
    - vsha256su1q_u32
    - vreinterpretq_u32_u8
    - vaddq_u32
    - vld1q_u32
    - vst1q_u32
    linkageType: ''
    returnType: void
    signature: "void BOTAN_FN_ISA_SHA2 BOTAN_SCRUB_STACK_AFTER_RETURN SHA_256::compress_digest_armv8(digest_type&
      digest,\n                                                                                     std::span<const
      uint8_t> input8,\n                                                                                     size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MerkleDamgard_Hash::clear
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::MerkleDamgard_Hash::MerkleDamgard_Hash
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 0
    functionsReached:
    - Botan::MerkleDamgard_Hash::clear
    linkageType: ''
    returnType: void
    signature: void MerkleDamgard_Hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:47,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:48,1
    - Dst: Botan::SHA_1::compress_n
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:49,1
    - Dst: auto::value
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:49,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:52,1
    - Dst: Botan::SHA_1::compress_n
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:55,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: Botan::MerkleDamgard_Hash::update
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 0
    functionsReached:
    - in_alignment
    - auto::value
    - handle_unaligned_data
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    - Botan::SHA_1::compress_n
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MerkleDamgard_Hash::append_padding_bit
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:64,1
    - Dst: Botan::MerkleDamgard_Hash::append_counter_and_finalize
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:65,1
    - Dst: Botan::MerkleDamgard_Hash::copy_output
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:66,1
    - Dst: Botan::MerkleDamgard_Hash::clear
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: Botan::MerkleDamgard_Hash::final
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 0
    functionsReached:
    - Botan::MerkleDamgard_Hash::copy_output
    - Botan::MerkleDamgard_Hash::append_counter_and_finalize
    - Botan::MerkleDamgard_Hash::clear
    - Botan::MerkleDamgard_Hash::append_padding_bit
    linkageType: ''
    returnType: void
    signature: void final(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha1_init
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:71,1
    - Dst: Botan::MerkleDamgard_Hash::clear
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: Botan::MerkleDamgard_Hash::clear
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::crypto::impl::sha1_init
    - Botan::MerkleDamgard_Hash::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:78,1
    - Dst: ready_to_consume
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:78,1
    - Dst: append
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:81,1
    - Dst: append
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: Botan::MerkleDamgard_Hash::append_padding_bit
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 1
    functionsReached:
    - append
    - ready_to_consume
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void append_padding_bit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elements_until_alignment
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:91,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:92,1
    - Dst: Botan::SHA_1::compress_n
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:93,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:93,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:97,1
    - Dst: elements_until_alignment
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:97,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:98,1
    - Dst: directly_modify_last
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:102,1
    - Dst: store_be
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:104,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:104,1
    - Dst: store_le
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:106,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:106,1
    - Dst: Botan::SHA_1::compress_n
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:110,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: Botan::MerkleDamgard_Hash::append_counter_and_finalize
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 1
    functionsReached:
    - elements_until_alignment
    - store_be
    - store_le
    - fill_up_with_zeros
    - directly_modify_last
    - auto::data
    - Botan::SHA_1::compress_n
    - consume
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void append_counter_and_finalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:114,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:114,1
    - Dst: copy_out_be
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:117,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:117,1
    - Dst: copy_out_le
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:119,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: Botan::MerkleDamgard_Hash::copy_output
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 1
    functionsReached:
    - copy_out_be
    - std::span<uint8_t>::size
    - std::span<uint8_t>::first
    - copy_out_le
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void copy_output(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::MD4::name
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::MD4::output_length
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::MD4::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MD4::clear
      Src: /src/botan/src/lib/hash/md4/md4.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::MD4::clear
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.h
    functionUses: 1
    functionsReached:
    - Botan::MD4::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/md4/md4.cpp:21,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:22,1
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/md4/md4.cpp:24,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:25,1
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/md4/md4.cpp:27,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:28,1
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/md4/md4.cpp:30,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - M0
    - M1
    - M2
    - M3
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: Botan::FF4
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - Botan::choose
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void FF4(uint32_t& A, uint32_t& B, uint32_t& C, uint32_t& D, uint32_t
      M0, uint32_t M1, uint32_t M2, uint32_t M3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:44,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:47,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:50,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - M0
    - M1
    - M2
    - M3
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: Botan::GG4
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void GG4(uint32_t& A, uint32_t& B, uint32_t& C, uint32_t& D, uint32_t
      M0, uint32_t M1, uint32_t M2, uint32_t M3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:60,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:63,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:66,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - M0
    - M1
    - M2
    - M3
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: Botan::HH4
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void HH4(uint32_t& A, uint32_t& B, uint32_t& C, uint32_t& D, uint32_t
      M0, uint32_t M1, uint32_t M2, uint32_t M3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le
      Src: /src/botan/src/lib/hash/md4/md4.cpp:85,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/md4/md4.cpp:85,1
    - Dst: FF4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:89,1
    - Dst: FF4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:90,1
    - Dst: FF4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:91,1
    - Dst: FF4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:92,1
    - Dst: GG4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:94,1
    - Dst: GG4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:95,1
    - Dst: GG4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:96,1
    - Dst: GG4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:97,1
    - Dst: HH4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:99,1
    - Dst: HH4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:100,1
    - Dst: HH4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:101,1
    - Dst: HH4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:102,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/hash/md4/md4.cpp:112,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/hash/md4/md4.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 113
    functionName: Botan::MD4::compress_n
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - HH4
    - load_le
    - BufferSlicer::take
    - BufferSlicer::empty
    - BOTAN_ASSERT_NOMSG
    - FF4
    - GG4
    linkageType: ''
    returnType: void
    signature: void MD4::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/md4/md4.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: Botan::MD4::init
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void MD4::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MD4>
      Src: /src/botan/src/lib/hash/md4/md4.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: Botan::MD4::new_object
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MD4>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> MD4::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MD4>
      Src: /src/botan/src/lib/hash/md4/md4.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Botan::MD4::copy_state
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MD4>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> MD4::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/md4/md4.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Botan::MD4::add_data
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void MD4::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/md4/md4.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Botan::MD4::final_result
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void MD4::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::Truncated_Hash::add_data
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void Truncated_Hash::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:23,1
    - Dst: Botan::Truncated_Hash::output_length
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:23,1
    - Dst: final
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:25,1
    - Dst: Botan::Truncated_Hash::output_length
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:28,1
    - Dst: std::copy_n
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:29,1
    - Dst: begin
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:29,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:29,1
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:30,1
    - Dst: std::span<uint8_t>::back
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: Botan::Truncated_Hash::final_result
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Truncated_Hash::output_length
    - zeroise
    - std::span<uint8_t>::back
    - std::span<uint8_t>::data
    - final
    - begin
    - std::copy_n
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Truncated_Hash::final_result(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::Truncated_Hash::output_length
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Truncated_Hash::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:44,1
    - Dst: Botan::Truncated_Hash::name
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::Truncated_Hash::name
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::Truncated_Hash::name
    linkageType: ''
    returnType: std::string
    signature: std::string Truncated_Hash::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Truncated_Hash>
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:48,1
    - Dst: Botan::Truncated_Hash::new_object
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::Truncated_Hash::new_object
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Truncated_Hash>
    - Botan::Truncated_Hash::new_object
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Truncated_Hash::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Truncated_Hash>
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:52,1
    - Dst: Botan::Truncated_Hash::copy_state
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::Truncated_Hash::copy_state
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 1
    functionsReached:
    - Botan::Truncated_Hash::copy_state
    - std::make_unique<Truncated_Hash>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Truncated_Hash::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Truncated_Hash::clear
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::Truncated_Hash::clear
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 1
    functionsReached:
    - Botan::Truncated_Hash::clear
    linkageType: ''
    returnType: void
    signature: void Truncated_Hash::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:60,1
    - Dst: Botan::Truncated_Hash::output_length
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:60,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:61,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:64,1
    - Dst: Botan::Truncated_Hash::output_length
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:67,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - hash
    - bits
    argTypes:
    - std::unique_ptr<HashFunction>
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: Botan::Truncated_Hash::Truncated_Hash
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::Truncated_Hash::output_length
    - BOTAN_ASSERT_NONNULL
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Truncated_Hash::Truncated_Hash(std::unique_ptr<HashFunction> hash,
      size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::MD5::name
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::MD5::output_length
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::MD5::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MD5::clear
      Src: /src/botan/src/lib/hash/md5/md5.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::MD5::clear
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.h
    functionUses: 1
    functionsReached:
    - Botan::MD5::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/md5/md5.cpp:25,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md5/md5.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' A'
    - B
    - C
    - D
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: Botan::FF
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - Botan::choose
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void FF(uint32_t& A, uint32_t B, uint32_t C, uint32_t D, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/md5/md5.cpp:34,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md5/md5.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' A'
    - B
    - C
    - D
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: Botan::GG
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - Botan::choose
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void GG(uint32_t& A, uint32_t B, uint32_t C, uint32_t D, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md5/md5.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' A'
    - B
    - C
    - D
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Botan::HH
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void HH(uint32_t& A, uint32_t B, uint32_t C, uint32_t D, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md5/md5.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' A'
    - B
    - C
    - D
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: Botan::II
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void II(uint32_t& A, uint32_t B, uint32_t C, uint32_t D, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le
      Src: /src/botan/src/lib/hash/md5/md5.cpp:69,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/md5/md5.cpp:69,1
    - Dst: FF< 7>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:73,1
    - Dst: FF<12>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:74,1
    - Dst: FF<17>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:75,1
    - Dst: FF<22>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:76,1
    - Dst: FF< 7>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:77,1
    - Dst: FF<12>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:78,1
    - Dst: FF<17>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:79,1
    - Dst: FF<22>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:80,1
    - Dst: FF< 7>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:81,1
    - Dst: FF<12>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:82,1
    - Dst: FF<17>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:83,1
    - Dst: FF<22>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:84,1
    - Dst: FF< 7>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:85,1
    - Dst: FF<12>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:86,1
    - Dst: FF<17>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:87,1
    - Dst: FF<22>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:88,1
    - Dst: GG< 5>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:90,1
    - Dst: GG< 9>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:91,1
    - Dst: GG<14>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:92,1
    - Dst: GG<20>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:93,1
    - Dst: GG< 5>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:94,1
    - Dst: GG< 9>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:95,1
    - Dst: GG<14>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:96,1
    - Dst: GG<20>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:97,1
    - Dst: GG< 5>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:98,1
    - Dst: GG< 9>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:99,1
    - Dst: GG<14>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:100,1
    - Dst: GG<20>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:101,1
    - Dst: GG< 5>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:102,1
    - Dst: GG< 9>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:103,1
    - Dst: GG<14>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:104,1
    - Dst: GG<20>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:105,1
    - Dst: HH< 4>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:107,1
    - Dst: HH<11>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:108,1
    - Dst: HH<16>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:109,1
    - Dst: HH<23>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:110,1
    - Dst: HH< 4>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:111,1
    - Dst: HH<11>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:112,1
    - Dst: HH<16>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:113,1
    - Dst: HH<23>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:114,1
    - Dst: HH< 4>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:115,1
    - Dst: HH<11>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:116,1
    - Dst: HH<16>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:117,1
    - Dst: HH<23>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:118,1
    - Dst: HH< 4>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:119,1
    - Dst: HH<11>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:120,1
    - Dst: HH<16>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:121,1
    - Dst: HH<23>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:122,1
    - Dst: II< 6>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:124,1
    - Dst: II<10>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:125,1
    - Dst: II<15>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:126,1
    - Dst: II<21>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:127,1
    - Dst: II< 6>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:128,1
    - Dst: II<10>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:129,1
    - Dst: II<15>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:130,1
    - Dst: II<21>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:131,1
    - Dst: II< 6>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:132,1
    - Dst: II<10>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:133,1
    - Dst: II<15>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:134,1
    - Dst: II<21>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:135,1
    - Dst: II< 6>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:136,1
    - Dst: II<10>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:137,1
    - Dst: II<15>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:138,1
    - Dst: II<21>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 72
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - MD5::digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 148
    functionName: Botan::MD5::compress_n
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - II< 6>
    - load_le
    - FF<17>
    - GG<20>
    - GG< 9>
    - HH< 4>
    - GG<14>
    - II<10>
    - BufferSlicer::take
    - II<15>
    - II<21>
    - FF<22>
    - HH<23>
    - FF<12>
    - GG< 5>
    - FF< 7>
    - HH<11>
    - HH<16>
    linkageType: ''
    returnType: void
    signature: void MD5::compress_n(MD5::digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/md5/md5.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: Botan::MD5::init
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void MD5::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MD5>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Botan::MD5::new_object
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MD5>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> MD5::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MD5>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Botan::MD5::copy_state
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MD5>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> MD5::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/md5/md5.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: Botan::MD5::add_data
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void MD5::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/md5/md5.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: Botan::MD5::final_result
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void MD5::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - x0
    - x1
    - x2
    - x3
    - x4
    - x5
    - x6
    - x7
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: Botan::whirl
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t whirl(uint64_t x0, uint64_t x1, uint64_t x2, uint64_t x3,
      uint64_t x4, uint64_t x5, uint64_t x6, uint64_t x7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:104,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:128,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:129,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:130,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:131,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:132,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:133,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:134,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:135,1
    - Dst: load_be
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:139,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 180
    functionName: Botan::Whirlpool::compress_n
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - whirl
    - BufferSlicer::take
    - load_be
    - auto::data
    linkageType: ''
    returnType: void
    signature: void Whirlpool::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:183,1
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: Botan::Whirlpool::init
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - resize
    - zeroise
    linkageType: ''
    returnType: void
    signature: void Whirlpool::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Whirlpool>
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan::Whirlpool::new_object
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Whirlpool>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Whirlpool::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Whirlpool>
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: Botan::Whirlpool::copy_state
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Whirlpool>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Whirlpool::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: Botan::Whirlpool::add_data
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void Whirlpool::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Botan::Whirlpool::final_result
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void Whirlpool::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::Whirlpool::name
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::Whirlpool::output_length
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::Whirlpool::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Whirlpool::clear
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::Whirlpool::clear
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.h
    functionUses: 1
    functionsReached:
    - Botan::Whirlpool::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: Botan::Parallel::add_data
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void Parallel::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:25,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:25,1
    - Dst: Botan::Parallel::output_length
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: Botan::Parallel::final_result
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::next
    - Botan::Parallel::output_length
    - final
    linkageType: ''
    returnType: void
    signature: void Parallel::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Parallel::output_length
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: Botan::Parallel::output_length
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 2
    functionsReached:
    - Botan::Parallel::output_length
    linkageType: ''
    returnType: size_t
    signature: size_t Parallel::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:43,1
    - Dst: Botan::Parallel::name
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:47,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: Botan::Parallel::name
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 1
    functionsReached:
    - Botan::Parallel::name
    - std::ostringstream::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Parallel::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:57,1
    - Dst: size
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:57,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:60,1
    - Dst: std::unique_ptr<HashFunction>
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:60,1
    - Dst: Botan::Parallel::new_object
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:60,1
    - Dst: std::make_unique<Parallel>
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: Botan::Parallel::new_object
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 1
    functionsReached:
    - Botan::Parallel::new_object
    - std::vector::reserve
    - std::unique_ptr<HashFunction>
    - size
    - std::make_unique<Parallel>
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Parallel::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:68,1
    - Dst: size
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:71,1
    - Dst: Botan::Parallel::copy_state
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:71,1
    - Dst: std::make_unique<Parallel>
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: Botan::Parallel::copy_state
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 1
    functionsReached:
    - Botan::Parallel::copy_state
    - std::vector::reserve
    - size
    - std::make_unique<Parallel>
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Parallel::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Parallel::clear
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: Botan::Parallel::clear
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 1
    functionsReached:
    - Botan::Parallel::clear
    linkageType: ''
    returnType: void
    signature: void Parallel::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:84,1
    - Dst: size
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:84,1
    - Dst: push_back
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:86,1
    - Dst: std::move
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' hashes'
    argTypes:
    - std::vector<std::unique_ptr<HashFunction>>
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: Botan::Parallel::Parallel
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - reserve
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void Parallel::Parallel(std::vector<std::unique_ptr<HashFunction>>&
      hashes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::Parallel::Parallel
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parallel(const Parallel&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const Parallel&)'
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parallel
    signature: Parallel & operator=(const Parallel&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_f.h:36,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_f.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 13
    argNames:
    - A
    - B
    - C
    - ' D'
    - E
    - F
    - G
    - ' H'
    - ' M1'
    - M2
    - M3
    - M4
    - magic
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 40
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 40
    functionName: Botan::SHA2_64_F
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_f.h
    functionUses: 0
    functionsReached:
    - Botan::choose
    - Botan::majority
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SHA2_64_F(uint64_t A,\n                                  uint64_t
      B,\n                                  uint64_t C,\n                                  uint64_t&
      D,\n                                  uint64_t E,\n                                  uint64_t
      F,\n                                  uint64_t G,\n                                  uint64_t&
      H,\n                                  uint64_t& M1,\n                                  uint64_t
      M2,\n                                  uint64_t M3,\n                                  uint64_t
      M4,\n                                  uint64_t magic)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_f.h:49,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_f.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - A
    - B
    - C
    - ' D'
    - E
    - F
    - G
    - ' H'
    - M
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: Botan::SHA2_64_F
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_f.h
    functionUses: 0
    functionsReached:
    - Botan::choose
    - Botan::majority
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SHA2_64_F(\n   uint64_t A, uint64_t B, uint64_t
      C, uint64_t& D, uint64_t E, uint64_t F, uint64_t G, uint64_t& H, uint64_t M)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::SHA_384::name
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::SHA_384::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::SHA_384::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_384::clear
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::SHA_384::clear
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 1
    functionsReached:
    - Botan::SHA_384::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan::SHA_512::name
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan::SHA_512::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::SHA_512::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_512::clear
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::SHA_512::clear
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 1
    functionsReached:
    - Botan::SHA_512::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::SHA_512_256::name
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan::SHA_512_256::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::SHA_512_256::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_512_256::clear
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan::SHA_512_256::clear
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 1
    functionsReached:
    - Botan::SHA_512_256::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:26,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:32,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:38,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 50
    functionName: Botan::sha512_provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string sha512_provider()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:60,1
    - Dst: Botan::SHA_512::compress_digest_x86
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:61,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:66,1
    - Dst: compress_digest_armv8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:67,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:72,1
    - Dst: Botan::SHA_512::compress_digest_x86_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:73,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:78,1
    - Dst: Botan::SHA_512::compress_digest_x86_avx2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:79,1
    - Dst: load_be
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:91,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:91,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:95,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:96,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:97,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:98,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:99,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:100,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:101,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:102,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:103,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:104,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:105,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:106,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:107,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:108,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:109,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:110,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:111,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:112,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:113,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:114,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:115,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:116,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:117,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:118,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:119,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:120,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:121,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:122,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:123,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:124,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:125,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:126,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:127,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:128,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:129,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:130,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:131,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:132,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:133,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:134,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:135,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:136,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:137,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:138,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:139,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:140,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:141,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:142,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:143,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:144,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:145,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:146,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:147,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:148,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:149,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:150,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:151,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:152,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:153,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:154,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:155,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:156,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:157,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:158,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:159,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:160,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:161,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:162,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:163,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:164,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:165,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:166,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:167,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:168,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:169,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:170,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:171,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:172,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:173,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 104
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 187
    functionName: Botan::SHA_512::compress_digest
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - SHA2_64_F
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::SHA_512::compress_digest_x86_avx512
    - Botan::SHA_512::compress_digest_x86
    - load_be
    - BufferSlicer::take
    - Botan::SHA_512::compress_digest_x86_avx2
    - compress_digest_armv8
    linkageType: ''
    returnType: void
    signature: void SHA_512::compress_digest(digest_type& digest, std::span<const
      uint8_t> input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_provider
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: Botan::SHA_512_256::provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - sha512_provider
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_512_256::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_provider
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: Botan::SHA_384::provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - sha512_provider
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_384::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_provider
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: Botan::SHA_512::provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - sha512_provider
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_512::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_512::compress_digest
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: Botan::SHA_512_256::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHA_512::compress_digest
    linkageType: ''
    returnType: void
    signature: void SHA_512_256::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_512::compress_digest
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: Botan::SHA_384::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHA_512::compress_digest
    linkageType: ''
    returnType: void
    signature: void SHA_384::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_512::compress_digest
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: Botan::SHA_512::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHA_512::compress_digest
    linkageType: ''
    returnType: void
    signature: void SHA_512::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: Botan::SHA_512_256::init
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SHA_512_256::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: Botan::SHA_384::init
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SHA_384::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: Botan::SHA_512::init
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SHA_512::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_384>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: Botan::SHA_384::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_384>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_384::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_512>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: Botan::SHA_512::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_512>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_512::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_512_256>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: Botan::SHA_512_256::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_512_256>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_512_256::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_384>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: Botan::SHA_384::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_384>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_384::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_512>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: Botan::SHA_512::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_512>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_512::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_512_256>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: Botan::SHA_512_256::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_512_256>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_512_256::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: Botan::SHA_384::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SHA_384::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: Botan::SHA_512::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SHA_512::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: Botan::SHA_512_256::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SHA_512_256::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: Botan::SHA_384::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SHA_384::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: Botan::SHA_512::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SHA_512::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: Botan::SHA_512_256::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SHA_512_256::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:41,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:42,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:43,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:44,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:55,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:56,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:57,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:58,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:59,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:60,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:61,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:62,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:64,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:64,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:64,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:65,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:65,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:65,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:66,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:66,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:66,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:67,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:67,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:67,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:68,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:68,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:68,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:69,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:69,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:69,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:70,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:70,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:70,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:71,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:71,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:71,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:76,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:76,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:77,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:77,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:78,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:78,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:78,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:79,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:80,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:81,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:81,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:81,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:84,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:84,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:85,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:85,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:86,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:86,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:86,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:87,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:88,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:89,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:89,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:89,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:92,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:92,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:93,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:93,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:94,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:94,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:94,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:95,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:96,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:97,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:97,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:97,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:100,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:100,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:101,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:101,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:102,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:102,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:102,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:103,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:104,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:105,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:105,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:105,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:108,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:108,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:109,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:109,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:110,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:110,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:110,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:111,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:112,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:113,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:113,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:113,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:116,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:116,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:117,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:117,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:118,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:118,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:118,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:119,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:120,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:121,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:121,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:121,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:124,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:124,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:125,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:125,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:126,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:126,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:126,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:127,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:128,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:129,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:129,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:129,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:132,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:132,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:133,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:133,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:134,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:134,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:134,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:135,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:136,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:137,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:137,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:137,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:140,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:140,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:141,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:141,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:142,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:142,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:142,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:143,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:144,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:145,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:145,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:145,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:148,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:148,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:149,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:149,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:150,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:150,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:150,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:151,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:152,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:153,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:153,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:153,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:156,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:156,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:157,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:157,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:158,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:158,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:158,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:159,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:160,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:161,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:161,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:161,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:164,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:164,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:165,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:165,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:166,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:166,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:166,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:167,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:168,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:169,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:169,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:169,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:172,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:172,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:173,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:173,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:174,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:174,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:174,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:175,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:176,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:177,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:177,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:177,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:180,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:180,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:181,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:181,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:182,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:182,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:182,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:183,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:184,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:185,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:185,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:185,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:188,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:188,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:189,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:189,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:190,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:190,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:190,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:191,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:192,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:193,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:193,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:193,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:196,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:196,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:197,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:197,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:198,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:198,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:198,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:199,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:200,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:201,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:201,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:201,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:204,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:204,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:205,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:205,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:206,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:206,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:206,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:207,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:208,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:209,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:209,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:209,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:212,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:212,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:213,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:213,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:214,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:214,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:214,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:215,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:216,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:217,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:217,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:217,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:220,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:220,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:221,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:221,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:222,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:222,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:222,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:223,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:224,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:225,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:225,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:225,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:228,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:228,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:229,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:229,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:230,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:230,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:230,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:231,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:232,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:233,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:233,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:233,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:236,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:236,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:237,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:237,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:238,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:238,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:238,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:239,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:240,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:241,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:241,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:241,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:244,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:244,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:245,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:245,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:246,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:246,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:246,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:247,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:248,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:249,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:249,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:249,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:252,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:252,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:253,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:253,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:254,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:254,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:254,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:255,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:256,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:257,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:257,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:257,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:260,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:260,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:261,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:261,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:262,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:262,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:262,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:263,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:264,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:265,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:265,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:265,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:268,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:268,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:269,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:269,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:270,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:270,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:270,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:271,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:272,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:273,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:273,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:273,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:276,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:276,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:277,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:277,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:278,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:278,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:278,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:279,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:280,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:281,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:281,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:281,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:284,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:284,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:285,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:285,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:286,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:286,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:286,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:287,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:288,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:289,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:289,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:289,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:292,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:292,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:293,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:293,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:294,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:294,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:294,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:295,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:296,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:297,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:297,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:297,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:300,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:300,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:301,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:301,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:302,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:302,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:302,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:303,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:304,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:305,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:305,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:305,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:308,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:308,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:309,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:309,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:310,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:310,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:310,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:311,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:312,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:313,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:313,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:313,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:316,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:316,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:317,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:317,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:318,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:318,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:318,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:319,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:320,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:321,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:321,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:321,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:324,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:324,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:325,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:325,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:326,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:326,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:326,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:327,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:328,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:329,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:329,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:329,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:332,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:332,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:333,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:333,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:334,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:334,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:334,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:335,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:336,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:339,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:339,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:340,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:340,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:341,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:341,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:341,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:342,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:343,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:346,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:346,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:347,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:347,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:348,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:348,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:348,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:349,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:350,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:353,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:353,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:354,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:354,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:355,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:355,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:355,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:356,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:357,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:360,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:360,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:361,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:361,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:362,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:362,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:362,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:363,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:364,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:367,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:367,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:368,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:368,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:369,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:369,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:369,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:370,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:371,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:374,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:374,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:375,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:375,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:376,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:376,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:376,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:377,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:378,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:381,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:381,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:382,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:382,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:383,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:383,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:383,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:384,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:385,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:388,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:389,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:390,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:391,1
    - Dst: vst1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:398,1
    - Dst: vst1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:399,1
    - Dst: vst1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:400,1
    - Dst: vst1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 253
    argCount: 3
    argNames:
    - ' digest'
    - input8
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 402
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 402
    functionName: Botan::BOTAN_FN_ISA_SHA512::compress_digest_armv8
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaddq_u64
    - vsha512su0q_u64
    - vsha512h2q_u64
    - vsha512hq_u64
    - vsha512su1q_u64
    - vst1q_u64
    - vreinterpretq_u64_u8
    - vld1q_u64
    - vrev64q_u8
    - vextq_u64
    - vreinterpretq_u8_u64
    linkageType: ''
    returnType: void
    signature: "void BOTAN_FN_ISA_SHA512 SHA_512::compress_digest_armv8(digest_type&
      digest,\n                                                        std::span<const
      uint8_t> input8,\n                                                        size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::alignr8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:22,1
    - Dst: Botan::SIMD_4x32::alignr8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:23,1
    - Dst: auto::template rotr<1>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:25,1
    - Dst: auto::template rotr<8>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:25,1
    - Dst: auto::template shr<7>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:25,1
    - Dst: template rotr<19>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:26,1
    - Dst: template rotr<61>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:26,1
    - Dst: template shr<6>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_T[]
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: Botan::sha512_next_w_avx512
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp
    functionUses: 0
    functionsReached:
    - template rotr<61>
    - auto::template rotr<8>
    - template shr<6>
    - auto::template shr<7>
    - auto::template rotr<1>
    - template rotr<19>
    - Botan::SIMD_4x32::alignr8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha512_next_w_avx512(SIMD_T x[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::load_be4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:175,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:177,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:178,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:186,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:186,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:187,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:188,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:189,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:191,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:191,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:192,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:193,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:194,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:196,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:196,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:197,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:198,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:199,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:201,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:201,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:202,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:203,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:204,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:206,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:206,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:207,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:208,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:209,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:211,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:211,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:212,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:213,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:214,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:216,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:216,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:217,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:218,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:219,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:221,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:221,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:222,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:223,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:224,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:228,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:229,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:230,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:231,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:232,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:233,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:234,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:235,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:236,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:237,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:238,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:239,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:240,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:241,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:242,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:243,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:257,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:258,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:259,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:260,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:261,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:262,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:263,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:264,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:265,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:266,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:267,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:268,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:269,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:270,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:271,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:272,1
    - Dst: Botan::SIMD_2x64::load_be
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:290,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:291,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:292,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:300,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:300,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:301,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:302,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:303,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:305,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:305,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:306,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:307,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:308,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:310,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:310,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:311,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:312,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:313,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:315,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:315,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:316,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:317,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:318,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:320,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:320,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:321,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:322,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:323,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:325,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:325,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:326,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:327,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:328,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:330,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:330,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:331,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:332,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:333,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:335,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:335,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:336,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:337,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:338,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:342,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:343,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:344,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:345,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:346,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:347,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:348,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:349,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:350,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:351,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:352,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:353,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:354,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:355,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:356,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 159
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 368
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 368
    functionName: Botan::SHA_512::compress_digest_x86_avx512
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp
    functionUses: 1
    functionsReached:
    - SHA2_64_F
    - auto::store_le
    - Botan::SIMD_2x64::load_be
    - Botan::SIMD_8x64::load_be4
    - Botan::SIMD_8x64::load_le
    - sha512_next_w_avx512
    - Botan::SIMD_2x64::load_le
    - auto::store_le4
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512_BMI2
    signature: "BOTAN_FN_ISA_AVX512_BMI2 SHA_512::compress_digest_x86_avx512(digest_type&
      digest,\n                                                                  std::span<const
      uint8_t> input,\n                                                                  size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_sha512msg1_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:17,1
    - Dst: _mm256_extracti128_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:17,1
    - Dst: _mm256_add_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:18,1
    - Dst: _mm256_permute4x64_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:18,1
    - Dst: _mm256_blend_epi32
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:18,1
    - Dst: _mm256_sha512msg2_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' m0'
    - ' m1'
    - ' m2'
    - ' m3'
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: Botan::sha512_msg_expand
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp
    functionUses: 4
    functionsReached:
    - _mm256_extracti128_si256
    - _mm256_permute4x64_epi64
    - _mm256_sha512msg1_epi64
    - _mm256_blend_epi32
    - _mm256_sha512msg2_epi64
    - _mm256_add_epi64
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha512_msg_expand(__m256i& m0, __m256i& m1, __m256i&
      m2, __m256i& m3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:26,1
    - Dst: _mm256_sha512rnds2_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:27,1
    - Dst: _mm256_extracti128_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:27,1
    - Dst: _mm256_sha512rnds2_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:28,1
    - Dst: _mm256_extracti128_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' state0'
    - ' state1'
    - msg
    - K
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: Botan::sha512_4rounds
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm256_extracti128_si256
    - _mm256_sha512rnds2_epi64
    - _mm256_add_epi64
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sha512_4rounds(__m256i& state0,\n                                                           __m256i&
      state1,\n                                                           const __m256i
      msg,\n                                                           const __m256i
      K)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:32,1
    - Dst: _mm256_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:33,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:35,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' state0'
    - ' state1'
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: Botan::permute_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi32
    - _mm256_permute2x128_si256
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE permute_state(__m256i& state0, __m256i& state1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:62,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:65,1
    - Dst: reinterpret_cast<__m256i*>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:67,1
    - Dst: data
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:67,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:68,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:68,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:70,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:71,1
    - Dst: permute_state
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:73,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:79,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:79,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:80,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:80,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:81,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:81,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:82,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:82,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:84,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:84,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:85,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:85,1
    - Dst: _mm256_sha512msg1_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:86,1
    - Dst: _mm256_extracti128_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:86,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:89,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:89,1
    - Dst: sha512_msg_expand
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:90,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:92,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:92,1
    - Dst: sha512_msg_expand
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:93,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:95,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:95,1
    - Dst: sha512_msg_expand
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:96,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:98,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:98,1
    - Dst: sha512_msg_expand
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:99,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:102,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:102,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:103,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:103,1
    - Dst: _mm256_add_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:105,1
    - Dst: _mm256_add_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:106,1
    - Dst: permute_state
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:111,1
    - Dst: _mm256_storeu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:113,1
    - Dst: _mm256_storeu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 115
    functionName: Botan::SHA_512::compress_digest_x86
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp
    functionUses: 1
    functionsReached:
    - _mm256_shuffle_epi8
    - _mm256_extracti128_si256
    - sha512_4rounds
    - _mm256_load_si256
    - data
    - _mm256_add_epi64
    - reinterpret_cast<__m256i*>
    - permute_state
    - sha512_msg_expand
    - _mm256_set_epi64x
    - _mm256_storeu_si256
    - std::span<const uint8_t>::data
    - _mm256_loadu_si256
    - reinterpret_cast<const __m256i*>
    - _mm256_sha512msg1_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SHA512
    signature: BOTAN_FN_ISA_SHA512 SHA_512::compress_digest_x86(digest_type& digest,
      std::span<const uint8_t> input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::alignr8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:22,1
    - Dst: Botan::SIMD_4x32::alignr8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:23,1
    - Dst: auto::template rotr<1>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:25,1
    - Dst: auto::template rotr<8>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:25,1
    - Dst: auto::template shr<7>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:25,1
    - Dst: template rotr<19>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:26,1
    - Dst: template rotr<61>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:26,1
    - Dst: template shr<6>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_T[]
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: Botan::sha512_next_w
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp
    functionUses: 0
    functionsReached:
    - template rotr<61>
    - auto::template rotr<8>
    - template shr<6>
    - auto::template shr<7>
    - auto::template rotr<1>
    - template rotr<19>
    - Botan::SIMD_4x32::alignr8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha512_next_w(SIMD_T x[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::load_be2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:135,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:136,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:137,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:145,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:145,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:146,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:147,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:148,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:150,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:150,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:151,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:152,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:153,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:155,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:155,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:156,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:157,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:158,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:160,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:160,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:161,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:162,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:163,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:165,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:165,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:166,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:167,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:168,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:170,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:170,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:171,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:172,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:173,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:175,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:175,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:176,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:177,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:178,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:180,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:180,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:181,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:182,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:183,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:187,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:188,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:189,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:190,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:191,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:192,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:193,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:194,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:195,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:196,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:197,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:198,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:199,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:200,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:201,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:202,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:214,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:215,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:216,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:217,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:218,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:219,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:220,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:221,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:222,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:223,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:224,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:225,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:226,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:227,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:228,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:229,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:231,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:232,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:233,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:234,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:235,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:236,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:237,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:238,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:239,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:240,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:241,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:242,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:243,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:244,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:245,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:246,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:248,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:249,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:250,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:251,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:252,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:253,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:254,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:255,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:256,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:257,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:258,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:259,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:260,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:261,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:262,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:263,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:265,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:266,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:267,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:268,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:269,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:270,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:271,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:272,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:273,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:274,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:275,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:276,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:277,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:278,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:279,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:280,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:282,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:283,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:284,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:285,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:286,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:287,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:288,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:289,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:290,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:291,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:292,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:293,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:294,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:295,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:296,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:297,1
    - Dst: Botan::SIMD_2x64::load_be
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:313,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:314,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:315,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:323,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:323,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:324,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:325,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:326,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:328,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:328,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:329,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:330,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:331,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:333,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:333,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:334,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:335,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:336,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:338,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:338,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:339,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:340,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:341,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:343,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:343,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:344,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:345,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:346,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:348,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:348,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:349,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:350,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:351,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:353,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:353,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:354,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:355,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:356,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:358,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:358,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:359,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:360,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:361,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:365,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:366,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:367,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:368,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:369,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:370,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:371,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:372,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:373,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:374,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:375,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:376,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:377,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:378,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:379,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 219
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 391
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 391
    functionName: Botan::SHA_512::compress_digest_x86_avx2
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp
    functionUses: 1
    functionsReached:
    - SHA2_64_F
    - auto::store_le
    - Botan::SIMD_2x64::load_be
    - auto::store_le2
    - Botan::SIMD_4x64::load_be2
    - Botan::SIMD_4x64::load_le
    - Botan::SIMD_2x64::load_le
    - sha512_next_w
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: "BOTAN_FN_ISA_AVX2_BMI2 SHA_512::compress_digest_x86_avx2(digest_type&
      digest,\n                                                              std::span<const
      uint8_t> input,\n                                                              size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:21,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::P0
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t P0(uint32_t X)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:40,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:42,1
    - Dst: Botan::P0
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 11
    argNames:
    - A
    - ' B'
    - C
    - ' D'
    - E
    - ' F'
    - G
    - ' H'
    - TJ
    - Wi
    - Wj
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: Botan::R1
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - Botan::P0
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: "void R1(uint32_t A,\n               uint32_t& B,\n               uint32_t
      C,\n               uint32_t& D,\n               uint32_t E,\n               uint32_t&
      F,\n               uint32_t G,\n               uint32_t& H,\n               uint32_t
      TJ,\n               uint32_t Wi,\n               uint32_t Wj)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:62,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:64,1
    - Dst: Botan::P0
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 11
    argNames:
    - A
    - ' B'
    - C
    - ' D'
    - E
    - ' F'
    - G
    - ' H'
    - TJ
    - Wi
    - Wj
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: Botan::R2
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - Botan::P0
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: "void R2(uint32_t A,\n               uint32_t& B,\n               uint32_t
      C,\n               uint32_t& D,\n               uint32_t E,\n               uint32_t&
      F,\n               uint32_t G,\n               uint32_t& H,\n               uint32_t
      TJ,\n               uint32_t Wi,\n               uint32_t Wj)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:69,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::P1
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t P1(uint32_t X)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::P1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:73,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:73,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - W0
    - W7
    - W13
    - W3
    - W10
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::SM3_E
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - Botan::P1
    - Botan::rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SM3_E(uint32_t W0, uint32_t W7, uint32_t W13, uint32_t W3,
      uint32_t W10)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_be
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:89,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:89,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:93,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:94,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:95,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:96,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:97,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:98,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:99,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:100,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:101,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:102,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:103,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:104,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:105,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:106,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:107,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:108,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:109,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:110,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:111,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:112,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:113,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:114,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:115,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:116,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:117,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:118,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:119,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:120,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:121,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:122,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:123,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:124,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:125,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:126,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:127,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:128,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:129,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:130,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:131,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:132,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:133,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:134,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:135,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:136,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:137,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:138,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:139,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:140,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:141,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:142,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:143,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:144,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:145,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:146,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:147,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:148,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:149,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:150,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:151,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:152,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:153,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:154,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:155,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:156,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:157,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:158,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:159,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:160,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:161,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:162,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:163,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:164,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:165,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:166,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:167,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:168,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:169,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:170,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:171,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:172,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:173,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:174,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:175,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:176,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:177,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:178,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:179,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:180,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:181,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:182,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:183,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:184,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:185,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:186,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:187,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:188,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:189,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:190,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:191,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:192,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:193,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:194,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:195,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:196,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:197,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:198,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:199,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:200,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:201,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:202,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:203,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:204,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:205,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:206,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:207,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 128
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 221
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 221
    functionName: Botan::SM3::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - load_be
    - BufferSlicer::take
    - R1
    - R2
    - SM3_E
    linkageType: ''
    returnType: void
    signature: void SM3::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: Botan::SM3::init
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SM3::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SM3>
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: Botan::SM3::new_object
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SM3>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SM3::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SM3>
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: Botan::SM3::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SM3>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SM3::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: Botan::SM3::add_data
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SM3::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: Botan::SM3::final_result
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SM3::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::SM3::name
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::SM3::output_length
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::SM3::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SM3::clear
      Src: /src/botan/src/lib/hash/sm3/sm3.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::SM3::clear
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.h
    functionUses: 1
    functionsReached:
    - Botan::SM3::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:27,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' A'
    - B
    - ' C'
    - D
    - E
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: Botan::F1
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void F1(uint32_t& A, uint32_t B, uint32_t& C, uint32_t D, uint32_t
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:36,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:37,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' A'
    - B
    - ' C'
    - D
    - E
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::F2
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - Botan::choose
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void F2(uint32_t& A, uint32_t B, uint32_t& C, uint32_t D, uint32_t
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:47,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' A'
    - B
    - ' C'
    - D
    - E
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan::F3
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void F3(uint32_t& A, uint32_t B, uint32_t& C, uint32_t D, uint32_t
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:56,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:57,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' A'
    - B
    - ' C'
    - D
    - E
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::F4
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - Botan::choose
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void F4(uint32_t& A, uint32_t B, uint32_t& C, uint32_t D, uint32_t
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:67,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' A'
    - B
    - ' C'
    - D
    - E
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Botan::F5
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void F5(uint32_t& A, uint32_t B, uint32_t& C, uint32_t D, uint32_t
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:84,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:84,1
    - Dst: F1<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:91,1
    - Dst: F5< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:92,1
    - Dst: F1<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:93,1
    - Dst: F5< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:94,1
    - Dst: F1<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:95,1
    - Dst: F5< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:96,1
    - Dst: F1<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:97,1
    - Dst: F5<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:98,1
    - Dst: F1< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:99,1
    - Dst: F5<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:100,1
    - Dst: F1< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:101,1
    - Dst: F5<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:102,1
    - Dst: F1< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:103,1
    - Dst: F5<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:104,1
    - Dst: F1< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:105,1
    - Dst: F5< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:106,1
    - Dst: F1<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:107,1
    - Dst: F5< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:108,1
    - Dst: F1<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:109,1
    - Dst: F5< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:110,1
    - Dst: F1<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:111,1
    - Dst: F5< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:112,1
    - Dst: F1<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:113,1
    - Dst: F5<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:114,1
    - Dst: F1< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:115,1
    - Dst: F5<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:116,1
    - Dst: F1< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:117,1
    - Dst: F5<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:118,1
    - Dst: F1< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:119,1
    - Dst: F5<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:120,1
    - Dst: F1< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:121,1
    - Dst: F5< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:122,1
    - Dst: F2< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:124,1
    - Dst: F4< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:125,1
    - Dst: F2< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:126,1
    - Dst: F4<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:127,1
    - Dst: F2< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:128,1
    - Dst: F4<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:129,1
    - Dst: F2<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:130,1
    - Dst: F4< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:131,1
    - Dst: F2<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:132,1
    - Dst: F4<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:133,1
    - Dst: F2< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:134,1
    - Dst: F4< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:135,1
    - Dst: F2< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:136,1
    - Dst: F4< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:137,1
    - Dst: F2<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:138,1
    - Dst: F4<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:139,1
    - Dst: F2< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:140,1
    - Dst: F4< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:141,1
    - Dst: F2<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:142,1
    - Dst: F4< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:143,1
    - Dst: F2<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:144,1
    - Dst: F4<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:145,1
    - Dst: F2< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:146,1
    - Dst: F4< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:147,1
    - Dst: F2<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:148,1
    - Dst: F4< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:149,1
    - Dst: F2< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:150,1
    - Dst: F4<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:151,1
    - Dst: F2<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:152,1
    - Dst: F4<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:153,1
    - Dst: F2<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:154,1
    - Dst: F4<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:155,1
    - Dst: F3<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:157,1
    - Dst: F3< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:158,1
    - Dst: F3<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:159,1
    - Dst: F3< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:160,1
    - Dst: F3< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:161,1
    - Dst: F3<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:162,1
    - Dst: F3< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:163,1
    - Dst: F3<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:164,1
    - Dst: F3<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:165,1
    - Dst: F3< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:166,1
    - Dst: F3< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:167,1
    - Dst: F3< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:168,1
    - Dst: F3<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:169,1
    - Dst: F3< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:170,1
    - Dst: F3<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:171,1
    - Dst: F3<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:172,1
    - Dst: F3<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:173,1
    - Dst: F3<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:174,1
    - Dst: F3< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:175,1
    - Dst: F3<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:176,1
    - Dst: F3<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:177,1
    - Dst: F3< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:178,1
    - Dst: F3< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:179,1
    - Dst: F3<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:180,1
    - Dst: F3< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:181,1
    - Dst: F3<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:182,1
    - Dst: F3<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:183,1
    - Dst: F3<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:184,1
    - Dst: F3< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:185,1
    - Dst: F3< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:186,1
    - Dst: F3< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:187,1
    - Dst: F3< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:188,1
    - Dst: F4<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:190,1
    - Dst: F2<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:191,1
    - Dst: F4<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:192,1
    - Dst: F2< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:193,1
    - Dst: F4<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:194,1
    - Dst: F2< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:195,1
    - Dst: F4<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:196,1
    - Dst: F2<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:197,1
    - Dst: F4<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:198,1
    - Dst: F2<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:199,1
    - Dst: F4<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:200,1
    - Dst: F2<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:201,1
    - Dst: F4< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:202,1
    - Dst: F2< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:203,1
    - Dst: F4< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:204,1
    - Dst: F2<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:205,1
    - Dst: F4< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:206,1
    - Dst: F2< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:207,1
    - Dst: F4<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:208,1
    - Dst: F2< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:209,1
    - Dst: F4< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:210,1
    - Dst: F2<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:211,1
    - Dst: F4< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:212,1
    - Dst: F2< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:213,1
    - Dst: F4< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:214,1
    - Dst: F2<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:215,1
    - Dst: F4< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:216,1
    - Dst: F2< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:217,1
    - Dst: F4< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:218,1
    - Dst: F2<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:219,1
    - Dst: F4<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:220,1
    - Dst: F2< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:221,1
    - Dst: F5< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:223,1
    - Dst: F1< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:224,1
    - Dst: F5<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:225,1
    - Dst: F1< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:226,1
    - Dst: F5< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:227,1
    - Dst: F1<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:228,1
    - Dst: F5<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:229,1
    - Dst: F1< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:230,1
    - Dst: F5< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:231,1
    - Dst: F1<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:232,1
    - Dst: F5< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:233,1
    - Dst: F1< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:234,1
    - Dst: F5<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:235,1
    - Dst: F1<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:236,1
    - Dst: F5<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:237,1
    - Dst: F1< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:238,1
    - Dst: F5< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:239,1
    - Dst: F1< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:240,1
    - Dst: F5<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:241,1
    - Dst: F1<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:242,1
    - Dst: F5<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:243,1
    - Dst: F1< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:244,1
    - Dst: F5<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:245,1
    - Dst: F1< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:246,1
    - Dst: F5<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:247,1
    - Dst: F1<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:248,1
    - Dst: F5< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:249,1
    - Dst: F1<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:250,1
    - Dst: F5< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:251,1
    - Dst: F1<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:252,1
    - Dst: F5< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:253,1
    - Dst: F1<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 170
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 265
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 265
    functionName: Botan::RIPEMD_160::compress_n
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - F3<13>
    - F3<14>
    - F2<15>
    - load_le
    - F3< 8>
    - F1<11>
    - F1<13>
    - F3< 9>
    - F1< 8>
    - F2<14>
    - F5< 6>
    - F1< 9>
    - F1< 6>
    - F2<11>
    - F1<12>
    - F1<14>
    - F4<15>
    - F5<11>
    - F5< 5>
    - F3<15>
    - F1< 7>
    - F5<14>
    - F5<13>
    - F5< 9>
    - F5< 8>
    - F4< 9>
    - F4< 5>
    - F3< 5>
    - F3<11>
    - F5<15>
    - BufferSlicer::take
    - F2< 8>
    - F2<13>
    - F2< 5>
    - F4<12>
    - F3< 7>
    - F5< 7>
    - F4< 6>
    - F2< 9>
    - F4<11>
    - F2<12>
    - F5<12>
    - F2< 7>
    - F3<12>
    - F1<15>
    - F2< 6>
    - F4<13>
    - F4< 7>
    - F3< 6>
    - F4<14>
    - F1< 5>
    - F4< 8>
    linkageType: ''
    returnType: void
    signature: void RIPEMD_160::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: Botan::RIPEMD_160::init
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void RIPEMD_160::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RIPEMD_160>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: Botan::RIPEMD_160::new_object
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RIPEMD_160>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> RIPEMD_160::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RIPEMD_160>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: Botan::RIPEMD_160::copy_state
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RIPEMD_160>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> RIPEMD_160::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: Botan::RIPEMD_160::add_data
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void RIPEMD_160::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: Botan::RIPEMD_160::final_result
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void RIPEMD_160::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::RIPEMD_160::name
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::RIPEMD_160::output_length
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::RIPEMD_160::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RIPEMD_160::clear
      Src: /src/botan/src/lib/hash/rmd160/rmd160.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::RIPEMD_160::clear
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.h
    functionUses: 1
    functionsReached:
    - Botan::RIPEMD_160::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::GOST_34_11::name
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::GOST_34_11::output_length
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::GOST_34_11::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GOST_34_11>
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::GOST_34_11::new_object
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.h
    functionUses: 0
    functionsReached:
    - std::make_unique<GOST_34_11>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GOST_28147_89_Params
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::GOST_34_11::GOST_34_11
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp
    functionUses: 0
    functionsReached:
    - GOST_28147_89_Params
    linkageType: ''
    returnType: void
    signature: void GOST_34_11::GOST_34_11()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GOST_34_11::clear
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:23,1
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:24,1
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:25,1
    - Dst: Botan::GOST_34_11::clear
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: Botan::GOST_34_11::clear
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp
    functionUses: 1
    functionsReached:
    - zeroise
    - Botan::GOST_34_11::clear
    linkageType: ''
    returnType: void
    signature: void GOST_34_11::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GOST_34_11>
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::GOST_34_11::copy_state
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GOST_34_11>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> GOST_34_11::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:40,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:41,1
    - Dst: Botan::GOST_34_11::compress_n
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:42,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:42,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:45,1
    - Dst: Botan::GOST_34_11::compress_n
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:48,1
    - Dst: data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:48,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: Botan::GOST_34_11::add_data
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp
    functionUses: 0
    functionsReached:
    - in_alignment
    - data
    - handle_unaligned_data
    - BufferSlicer::empty
    - auto::data
    - std::span<const uint8_t>::size
    - Botan::GOST_34_11::compress_n
    linkageType: ''
    returnType: void
    signature: void GOST_34_11::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:63,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:64,1
    - Dst: load_be
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:70,1
    - Dst: data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:70,1
    - Dst: load_be
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:71,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:80,1
    - Dst: set_key
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:84,1
    - Dst: encrypt
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:85,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:151,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:156,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:160,1
    - Dst: data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:160,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:196,1
    - Dst: data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 107
    argCount: 2
    argNames:
    - input
    - blocks
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 198
    functionName: Botan::GOST_34_11::compress_n
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp
    functionUses: 1
    functionsReached:
    - set_key
    - load_be
    - data
    - copy_mem
    - get_byte<1>
    - encrypt
    - xor_buf
    - get_byte<0>
    - get_byte_var
    linkageType: ''
    returnType: void
    signature: void GOST_34_11::compress_n(const uint8_t input[], size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: in_alignment
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:204,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:205,1
    - Dst: Botan::GOST_34_11::compress_n
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:206,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:206,1
    - Dst: store_le
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:211,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:211,1
    - Dst: Botan::GOST_34_11::compress_n
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:215,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:215,1
    - Dst: Botan::GOST_34_11::compress_n
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:216,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:216,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:218,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:218,1
    - Dst: data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:218,1
    - Dst: Botan::GOST_34_11::clear
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: Botan::GOST_34_11::final_result
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp
    functionUses: 0
    functionsReached:
    - in_alignment
    - data
    - store_le
    - copy_mem
    - std::span<uint8_t>::data
    - Botan::GOST_34_11::clear
    - fill_up_with_zeros
    - consume
    - Botan::GOST_34_11::compress_n
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void GOST_34_11::final_result(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Keccak_1600>
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::Keccak_1600::copy_state
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Keccak_1600>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Keccak_1600::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:24,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:24,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: Botan::Keccak_1600::Keccak_1600
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Keccak_1600::Keccak_1600(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::Keccak_1600::name
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string Keccak_1600::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Keccak_1600>
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::Keccak_1600::new_object
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Keccak_1600>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Keccak_1600::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Keccak_1600::clear
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::Keccak_1600::clear
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 1
    functionsReached:
    - Botan::Keccak_1600::clear
    linkageType: ''
    returnType: void
    signature: void Keccak_1600::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Keccak_1600::provider
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::Keccak_1600::provider
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 1
    functionsReached:
    - Botan::Keccak_1600::provider
    linkageType: ''
    returnType: std::string
    signature: std::string Keccak_1600::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absorb
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::Keccak_1600::add_data
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 0
    functionsReached:
    - absorb
    linkageType: ''
    returnType: void
    signature: void Keccak_1600::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:49,1
    - Dst: squeeze
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:50,1
    - Dst: Botan::Keccak_1600::clear
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: Botan::Keccak_1600::final_result
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 0
    functionsReached:
    - finish
    - Botan::Keccak_1600::clear
    - squeeze
    linkageType: ''
    returnType: void
    signature: void Keccak_1600::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/hash/keccak/keccak.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::Keccak_1600::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.h
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::Keccak_1600::output_length
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:21,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:21,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: Botan::SHA_3::SHA_3
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void SHA_3::SHA_3(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::SHA_3::name
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_3::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_3::provider
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::SHA_3::provider
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 1
    functionsReached:
    - Botan::SHA_3::provider
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_3::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_3>
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::SHA_3::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_3>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_3::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_3>
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::SHA_3::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_3>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_3::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_3::clear
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::SHA_3::clear
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 1
    functionsReached:
    - Botan::SHA_3::clear
    linkageType: ''
    returnType: void
    signature: void SHA_3::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absorb
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::SHA_3::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 0
    functionsReached:
    - absorb
    linkageType: ''
    returnType: void
    signature: void SHA_3::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:50,1
    - Dst: squeeze
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:51,1
    - Dst: Botan::SHA_3::clear
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan::SHA_3::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHA_3::clear
    - finish
    - squeeze
    linkageType: ''
    returnType: void
    signature: void SHA_3::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/hash/sha3/sha3.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::SHA_3::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.h
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::SHA_3::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::SHA_3_224::SHA_3_224
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA_3_224()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::SHA_3_256::SHA_3_256
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA_3_256()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::SHA_3_384::SHA_3_384
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA_3_384()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::SHA_3_512::SHA_3_512
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA_3_512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_hash_sha512
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:16,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:16,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:17,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:17,1
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519_base
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pk
    - sk
    - seed
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_seed_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_hash_sha512
    - copy_mem
    - Botan::Sodium::crypto_scalarmult_curve25519_base
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_box_curve25519xsalsa20poly1305_seed_keypair(uint8_t
      pk[32], uint8_t sk[32], const uint8_t seed[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:22,1
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519_base
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    - Botan::Sodium::crypto_scalarmult_curve25519_base
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_box_curve25519xsalsa20poly1305_keypair(uint8_t pk[32],
      uint8_t sk[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:30,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:30,1
    - Dst: Botan::Sodium::crypto_core_hsalsa20
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:34,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - Botan::Sodium::crypto_core_hsalsa20
    - Botan::Sodium::crypto_scalarmult_curve25519
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm(uint8_t
      key[], const uint8_t pk[32], const uint8_t sk[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:45,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:45,1
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:49,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_afternm
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_box_curve25519xsalsa20poly1305(uint8_t ctext[],\n
      \                                                 const uint8_t ptext[],\n                                                  size_t
      ptext_len,\n                                                  const uint8_t
      nonce[],\n                                                  const uint8_t pk[32],\n
      \                                                 const uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:60,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:60,1
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:64,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open_afternm
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_box_curve25519xsalsa20poly1305_open(uint8_t ptext[],\n
      \                                                      const uint8_t ctext[],\n
      \                                                      size_t ctext_len,\n                                                       const
      uint8_t nonce[],\n                                                       const
      uint8_t pk[32],\n                                                       const
      uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_beforenm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:76,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:76,1
    - Dst: Botan::Sodium::crypto_box_detached_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:80,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - ctext
    - mac
    - ptext
    - ptext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: Botan::Sodium::crypto_box_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_beforenm
    - Botan::Sodium::crypto_box_detached_afternm
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_box_detached(uint8_t ctext[],\n                                uint8_t
      mac[],\n                                const uint8_t ptext[],\n                                size_t
      ptext_len,\n                                const uint8_t nonce[],\n                                const
      uint8_t pk[32],\n                                const uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_beforenm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:92,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:92,1
    - Dst: Botan::Sodium::crypto_box_open_detached_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:96,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - ptext
    - ctext
    - mac
    - ctext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: Botan::Sodium::crypto_box_open_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_beforenm
    - Botan::Sodium::crypto_box_open_detached_afternm
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_box_open_detached(uint8_t ptext[],\n                                     const
      uint8_t ctext[],\n                                     const uint8_t mac[],\n
      \                                    size_t ctext_len,\n                                     const
      uint8_t nonce[],\n                                     const uint8_t pk[32],\n
      \                                    const uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: Botan::Sodium::sodium_version_string
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * sodium_version_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: Botan::Sodium::sodium_library_version_major
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sodium_library_version_major()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::Sodium::sodium_library_version_minor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sodium_library_version_minor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::Sodium::sodium_library_minimal
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sodium_library_minimal()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::Sodium::sodium_init
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sodium_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: Botan::Sodium::randombytes_seedbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t randombytes_seedbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: Botan::Sodium::randombytes_random
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t randombytes_random()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: Botan::Sodium::randombytes_stir
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void randombytes_stir()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: Botan::Sodium::randombytes_close
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int randombytes_close()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: Botan::Sodium::randombytes_implementation_name
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * randombytes_implementation_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: Botan::Sodium::randombytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void randombytes(uint8_t buf[], size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_xsalsa20poly1305_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_xsalsa20poly1305_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_macbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_xsalsa20poly1305_macbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_xsalsa20poly1305_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_secretbox_xsalsa20poly1305_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_boxzerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_xsalsa20poly1305_boxzerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_zerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_xsalsa20poly1305_zerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: Botan::Sodium::crypto_secretbox_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: Botan::Sodium::crypto_secretbox_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: Botan::Sodium::crypto_secretbox_macbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_macbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: Botan::Sodium::crypto_secretbox_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: Botan::Sodium::crypto_secretbox_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_secretbox_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: Botan::Sodium::crypto_secretbox_easy
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_secretbox_easy(\n   uint8_t ctext[], const uint8_t ptext[],
      size_t ptext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_open_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - out
    - ctext
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: Botan::Sodium::crypto_secretbox_open_easy
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_open_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_secretbox_open_easy(\n   uint8_t out[], const uint8_t ctext[],
      size_t ctext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: Botan::Sodium::crypto_secretbox_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_secretbox_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: Botan::Sodium::crypto_secretbox_zerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_zerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: Botan::Sodium::crypto_secretbox_boxzerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_boxzerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305
      Src: /src/botan/src/lib/compat/sodium/sodium.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: Botan::Sodium::crypto_secretbox
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305
    linkageType: ''
    returnType: int
    signature: "int crypto_secretbox(\n   uint8_t ctext[], const uint8_t ptext[],
      size_t ptext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
      Src: /src/botan/src/lib/compat/sodium/sodium.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: Botan::Sodium::crypto_secretbox_open
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
    linkageType: ''
    returnType: int
    signature: "int crypto_secretbox_open(\n   uint8_t ptext[], const uint8_t ctext[],
      size_t ctext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_ietf_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_nsecbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_ietf_nsecbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_ietf_npubbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_abytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_ietf_abytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_ietf_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_aead_chacha20poly1305_ietf_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_nsecbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_nsecbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_npubbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_abytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_abytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_aead_chacha20poly1305_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_xchacha20poly1305_ietf_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_nsecbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_xchacha20poly1305_ietf_npubbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_abytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_xchacha20poly1305_ietf_abytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_aead_xchacha20poly1305_ietf_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_seedbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_seedbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_publickeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_publickeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 584
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_secretkeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_secretkeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 588
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 588
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenmbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_beforenmbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 592
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 592
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 596
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_macbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_macbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_boxzerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_boxzerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_zerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_zerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305
      Src: /src/botan/src/lib/compat/sodium/sodium.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305
    linkageType: ''
    returnType: int
    signature: "int crypto_box_curve25519xsalsa20poly1305_afternm(\n   uint8_t ctext[],
      const uint8_t ptext[], size_t ptext_len, const uint8_t nonce[], const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
      Src: /src/botan/src/lib/compat/sodium/sodium.h:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
    linkageType: ''
    returnType: int
    signature: "int crypto_box_curve25519xsalsa20poly1305_open_afternm(\n   uint8_t
      ptext[], const uint8_t ctext[], size_t ctext_len, const uint8_t nonce[], const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 649
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 649
    functionName: Botan::Sodium::crypto_box_seedbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_seedbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 653
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 653
    functionName: Botan::Sodium::crypto_box_publickeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_publickeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 657
    functionName: Botan::Sodium::crypto_box_secretkeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_secretkeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 661
    functionName: Botan::Sodium::crypto_box_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 665
    functionName: Botan::Sodium::crypto_box_macbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_macbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 669
    functionName: Botan::Sodium::crypto_box_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 673
    functionName: Botan::Sodium::crypto_box_beforenmbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_beforenmbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 677
    functionName: Botan::Sodium::crypto_box_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_box_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_seed_keypair
      Src: /src/botan/src/lib/compat/sodium/sodium.h:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pk
    - sk
    - seed
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: Botan::Sodium::crypto_box_seed_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_seed_keypair
    linkageType: ''
    returnType: int
    signature: int crypto_box_seed_keypair(uint8_t pk[32], uint8_t sk[32], const uint8_t
      seed[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_keypair
      Src: /src/botan/src/lib/compat/sodium/sodium.h:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 685
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 685
    functionName: Botan::Sodium::crypto_box_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_keypair
    linkageType: ''
    returnType: int
    signature: int crypto_box_keypair(uint8_t pk[32], uint8_t sk[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: Botan::Sodium::crypto_box_easy
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_box_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_box_easy(uint8_t ctext[],\n                           const
      uint8_t ptext[],\n                           size_t ptext_len,\n                           const
      uint8_t nonce[],\n                           const uint8_t pk[32],\n                           const
      uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_open_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 726
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 726
    functionName: Botan::Sodium::crypto_box_open_easy
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_box_open_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_box_open_easy(uint8_t ptext[],\n                                const
      uint8_t ctext[],\n                                size_t ctext_len,\n                                const
      uint8_t nonce[],\n                                const uint8_t pk[32],\n                                const
      uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
      Src: /src/botan/src/lib/compat/sodium/sodium.h:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 730
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 730
    functionName: Botan::Sodium::crypto_box_beforenm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 2
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
    linkageType: ''
    returnType: int
    signature: int crypto_box_beforenm(uint8_t key[], const uint8_t pk[32], const
      uint8_t sk[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium.h:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: Botan::Sodium::crypto_box_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_afternm
    linkageType: ''
    returnType: int
    signature: "int crypto_box_afternm(\n   uint8_t ctext[], const uint8_t ptext[],
      size_t ptext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium.h:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: Botan::Sodium::crypto_box_open_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open_afternm
    linkageType: ''
    returnType: int
    signature: "int crypto_box_open_afternm(\n   uint8_t ptext[], const uint8_t ctext[],
      size_t ctext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_open_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ptext
    - ctext
    - mac
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 749
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 749
    functionName: Botan::Sodium::crypto_box_open_detached_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_secretbox_open_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_box_open_detached_afternm(uint8_t ptext[],\n                                            const
      uint8_t ctext[],\n                                            const uint8_t
      mac[],\n                                            size_t ctext_len,\n                                            const
      uint8_t nonce[],\n                                            const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_open_detached_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium.h:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 759
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 759
    functionName: Botan::Sodium::crypto_box_open_easy_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_open_detached_afternm
    linkageType: ''
    returnType: int
    signature: "int crypto_box_open_easy_afternm(\n   uint8_t ptext[], const uint8_t
      ctext[], size_t ctext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctext
    - mac
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 768
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 768
    functionName: Botan::Sodium::crypto_box_detached_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_secretbox_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_box_detached_afternm(uint8_t ctext[],\n                                       uint8_t
      mac[],\n                                       const uint8_t ptext[],\n                                       size_t
      ptext_len,\n                                       const uint8_t nonce[],\n
      \                                      const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_detached_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium.h:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 773
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 773
    functionName: Botan::Sodium::crypto_box_easy_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_detached_afternm
    linkageType: ''
    returnType: int
    signature: "int crypto_box_easy_afternm(\n   uint8_t ctext[], const uint8_t ptext[],
      size_t ptext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 777
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 777
    functionName: Botan::Sodium::crypto_box_zerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_zerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 781
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 781
    functionName: Botan::Sodium::crypto_box_boxzerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_boxzerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305
      Src: /src/botan/src/lib/compat/sodium/sodium.h:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 790
      start: 783
    functionDepth: 3
    functionLinenumber: 783
    functionLinenumberEnd: 790
    functionName: Botan::Sodium::crypto_box
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305
    linkageType: ''
    returnType: int
    signature: "int crypto_box(uint8_t ctext[],\n                      const uint8_t
      ptext[],\n                      size_t ptext_len,\n                      const
      uint8_t nonce[],\n                      const uint8_t pk[32],\n                      const
      uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open
      Src: /src/botan/src/lib/compat/sodium/sodium.h:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 799
      start: 792
    functionDepth: 3
    functionLinenumber: 792
    functionLinenumberEnd: 799
    functionName: Botan::Sodium::crypto_box_open
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open
    linkageType: ''
    returnType: int
    signature: "int crypto_box_open(uint8_t ptext[],\n                           const
      uint8_t ctext[],\n                           size_t ctext_len,\n                           const
      uint8_t nonce[],\n                           const uint8_t pk[32],\n                           const
      uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 805
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 805
    functionName: Botan::Sodium::crypto_hash_sha512_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_hash_sha512_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 814
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 814
    functionName: Botan::Sodium::crypto_auth_hmacsha512_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_hmacsha512_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: Botan::Sodium::crypto_auth_hmacsha512_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_hmacsha512_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 828
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 828
    functionName: Botan::Sodium::crypto_auth_hmacsha512_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_auth_hmacsha512_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 834
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 834
    functionName: Botan::Sodium::crypto_auth_hmacsha512256_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_hmacsha512256_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: Botan::Sodium::crypto_auth_hmacsha512256_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_hmacsha512256_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 848
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 848
    functionName: Botan::Sodium::crypto_auth_hmacsha512256_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_auth_hmacsha512256_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    functionName: Botan::Sodium::crypto_auth_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 858
    functionName: Botan::Sodium::crypto_auth_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 862
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 862
    functionName: Botan::Sodium::crypto_auth_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_auth_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_auth_hmacsha512256
      Src: /src/botan/src/lib/compat/sodium/sodium.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 866
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionName: Botan::Sodium::crypto_auth
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_auth_hmacsha512256
    linkageType: ''
    returnType: int
    signature: int crypto_auth(uint8_t out[], const uint8_t in[], size_t in_len, const
      uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_auth_hmacsha512256_verify
      Src: /src/botan/src/lib/compat/sodium/sodium.h:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mac
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 870
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 870
    functionName: Botan::Sodium::crypto_auth_verify
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_auth_hmacsha512256_verify
    linkageType: ''
    returnType: int
    signature: int crypto_auth_verify(const uint8_t mac[], const uint8_t in[], size_t
      in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 874
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 874
    functionName: Botan::Sodium::crypto_auth_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_auth_keygen(uint8_t k[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 880
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 880
    functionName: Botan::Sodium::crypto_hash_sha256_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_hash_sha256_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 889
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 889
    functionName: Botan::Sodium::crypto_auth_hmacsha256_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_hmacsha256_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 893
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 893
    functionName: Botan::Sodium::crypto_auth_hmacsha256_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_hmacsha256_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 903
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 903
    functionName: Botan::Sodium::crypto_auth_hmacsha256_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_auth_hmacsha256_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 909
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 909
    functionName: Botan::Sodium::crypto_stream_xsalsa20_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_xsalsa20_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: Botan::Sodium::crypto_stream_xsalsa20_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_xsalsa20_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 917
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 917
    functionName: Botan::Sodium::crypto_stream_xsalsa20_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_xsalsa20_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 932
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 932
    functionName: Botan::Sodium::crypto_stream_xsalsa20_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_stream_xsalsa20_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 938
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 938
    functionName: Botan::Sodium::crypto_core_hsalsa20_outputbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_core_hsalsa20_outputbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 942
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 942
    functionName: Botan::Sodium::crypto_core_hsalsa20_inputbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_core_hsalsa20_inputbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 946
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 946
    functionName: Botan::Sodium::crypto_core_hsalsa20_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_core_hsalsa20_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 950
    functionName: Botan::Sodium::crypto_core_hsalsa20_constbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_core_hsalsa20_constbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 959
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 959
    functionName: Botan::Sodium::crypto_hash_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_hash_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_hash_sha512
      Src: /src/botan/src/lib/compat/sodium/sodium.h:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - in
    - in_len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 963
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 963
    functionName: Botan::Sodium::crypto_hash
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_hash_sha512
    linkageType: ''
    returnType: int
    signature: int crypto_hash(uint8_t out[], const uint8_t in[], size_t in_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 967
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 967
    functionName: Botan::Sodium::crypto_hash_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_hash_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 973
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 973
    functionName: Botan::Sodium::crypto_onetimeauth_poly1305_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_onetimeauth_poly1305_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: Botan::Sodium::crypto_onetimeauth_poly1305_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_onetimeauth_poly1305_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 987
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 987
    functionName: Botan::Sodium::crypto_onetimeauth_poly1305_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_onetimeauth_poly1305_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 993
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 993
    functionName: Botan::Sodium::crypto_onetimeauth_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_onetimeauth_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 997
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 997
    functionName: Botan::Sodium::crypto_onetimeauth_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_onetimeauth_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1001
    functionName: Botan::Sodium::crypto_onetimeauth_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_onetimeauth_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1005
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1005
    functionName: Botan::Sodium::crypto_onetimeauth
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_onetimeauth_poly1305
    linkageType: ''
    returnType: int
    signature: int crypto_onetimeauth(uint8_t out[], const uint8_t in[], size_t in_len,
      const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305_verify
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - h
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1009
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1009
    functionName: Botan::Sodium::crypto_onetimeauth_verify
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_onetimeauth_poly1305_verify
    linkageType: ''
    returnType: int
    signature: int crypto_onetimeauth_verify(const uint8_t h[], const uint8_t in[],
      size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305_keygen
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1013
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1013
    functionName: Botan::Sodium::crypto_onetimeauth_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_onetimeauth_poly1305_keygen
    linkageType: ''
    returnType: void
    signature: void crypto_onetimeauth_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1019
    functionName: Botan::Sodium::crypto_scalarmult_curve25519_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_scalarmult_curve25519_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1023
    functionName: Botan::Sodium::crypto_scalarmult_curve25519_scalarbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_scalarmult_curve25519_scalarbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519_bytes
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1035
    functionName: Botan::Sodium::crypto_scalarmult_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_scalarmult_curve25519_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_scalarmult_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519_scalarbytes
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1039
    functionName: Botan::Sodium::crypto_scalarmult_scalarbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_scalarmult_curve25519_scalarbytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_scalarmult_scalarbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1043
    functionName: Botan::Sodium::crypto_scalarmult_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_scalarmult_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519_base
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1047
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1047
    functionName: Botan::Sodium::crypto_scalarmult_base
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_scalarmult_curve25519_base
    linkageType: ''
    returnType: int
    signature: int crypto_scalarmult_base(uint8_t out[], const uint8_t scalar[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - scalar
    - base
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1051
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1051
    functionName: Botan::Sodium::crypto_scalarmult
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_scalarmult_curve25519
    linkageType: ''
    returnType: int
    signature: int crypto_scalarmult(uint8_t out[], const uint8_t scalar[], const
      uint8_t base[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1057
    functionName: Botan::Sodium::crypto_stream_chacha20_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_chacha20_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1061
    functionName: Botan::Sodium::crypto_stream_chacha20_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_chacha20_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1065
    functionName: Botan::Sodium::crypto_stream_chacha20_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_chacha20_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1080
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1080
    functionName: Botan::Sodium::crypto_stream_chacha20_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_stream_chacha20_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1084
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_chacha20_ietf_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1088
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_chacha20_ietf_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1092
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_chacha20_ietf_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1107
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1107
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_stream_chacha20_ietf_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1113
    functionName: Botan::Sodium::crypto_stream_xchacha20_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_xchacha20_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1117
    functionName: Botan::Sodium::crypto_stream_xchacha20_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_xchacha20_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1121
    functionName: Botan::Sodium::crypto_stream_xchacha20_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_xchacha20_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1136
      start: 1134
    functionDepth: 1
    functionLinenumber: 1134
    functionLinenumberEnd: 1136
    functionName: Botan::Sodium::crypto_stream_xchacha20_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_stream_xchacha20_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1142
    functionName: Botan::Sodium::crypto_stream_salsa20_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_salsa20_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1146
    functionName: Botan::Sodium::crypto_stream_salsa20_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_salsa20_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1150
    functionName: Botan::Sodium::crypto_stream_salsa20_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_salsa20_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1165
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1165
    functionName: Botan::Sodium::crypto_stream_salsa20_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_stream_salsa20_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_xsalsa20_keybytes
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1171
    functionName: Botan::Sodium::crypto_stream_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_stream_xsalsa20_keybytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_xsalsa20_noncebytes
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1175
    functionName: Botan::Sodium::crypto_stream_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_stream_xsalsa20_noncebytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1179
    functionName: Botan::Sodium::crypto_stream_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1183
    functionName: Botan::Sodium::crypto_stream_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_stream_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_xsalsa20
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - out_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1187
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1187
    functionName: Botan::Sodium::crypto_stream
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_stream_xsalsa20
    linkageType: ''
    returnType: int
    signature: int crypto_stream(uint8_t out[], size_t out_len, const uint8_t nonce[24],
      const uint8_t key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_xsalsa20_xor
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - in_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1192
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1192
    functionName: Botan::Sodium::crypto_stream_xor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_stream_xsalsa20_xor
    linkageType: ''
    returnType: int
    signature: "int crypto_stream_xor(\n   uint8_t out[], const uint8_t in[], size_t
      in_len, const uint8_t nonce[24], const uint8_t key[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1196
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1196
    functionName: Botan::Sodium::crypto_stream_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_stream_keygen(uint8_t key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1202
    functionName: Botan::Sodium::crypto_shorthash_siphash24_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_shorthash_siphash24_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1206
    functionName: Botan::Sodium::crypto_shorthash_siphash24_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_shorthash_siphash24_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_shorthash_siphash24_bytes
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1215
    functionName: Botan::Sodium::crypto_shorthash_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_shorthash_siphash24_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_shorthash_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_shorthash_siphash24_keybytes
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1219
    functionName: Botan::Sodium::crypto_shorthash_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_shorthash_siphash24_keybytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_shorthash_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1223
    functionName: Botan::Sodium::crypto_shorthash_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_shorthash_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_shorthash_siphash24
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - k
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1227
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1227
    functionName: Botan::Sodium::crypto_shorthash
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_shorthash_siphash24
    linkageType: ''
    returnType: int
    signature: int crypto_shorthash(uint8_t out[], const uint8_t in[], size_t in_len,
      const uint8_t k[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1231
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1231
    functionName: Botan::Sodium::crypto_shorthash_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_shorthash_keygen(uint8_t k[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1237
    functionName: Botan::Sodium::crypto_sign_ed25519_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_ed25519_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1241
    functionName: Botan::Sodium::crypto_sign_ed25519_seedbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_ed25519_seedbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1245
    functionName: Botan::Sodium::crypto_sign_ed25519_publickeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_ed25519_publickeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1249
    functionName: Botan::Sodium::crypto_sign_ed25519_secretkeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_ed25519_secretkeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1253
    functionName: Botan::Sodium::crypto_sign_ed25519_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_ed25519_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1272
    functionName: Botan::Sodium::crypto_sign_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1276
    functionName: Botan::Sodium::crypto_sign_seedbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_seedbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1280
    functionName: Botan::Sodium::crypto_sign_publickeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_publickeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1284
    functionName: Botan::Sodium::crypto_sign_secretkeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_secretkeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1288
    functionName: Botan::Sodium::crypto_sign_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1292
    functionName: Botan::Sodium::crypto_sign_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_sign_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_sign_ed25519_seed_keypair
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pk
    - sk
    - seed
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1296
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1296
    functionName: Botan::Sodium::crypto_sign_seed_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_sign_ed25519_seed_keypair
    linkageType: ''
    returnType: int
    signature: int crypto_sign_seed_keypair(uint8_t pk[32], uint8_t sk[32], const
      uint8_t seed[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_sign_ed25519_keypair
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1300
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1300
    functionName: Botan::Sodium::crypto_sign_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_sign_ed25519_keypair
    linkageType: ''
    returnType: int
    signature: int crypto_sign_keypair(uint8_t pk[32], uint8_t sk[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_sign_ed25519_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - sig_len
    - msg
    - msg_len
    - sk
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1305
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1305
    functionName: Botan::Sodium::crypto_sign_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_sign_ed25519_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_sign_detached(\n   uint8_t sig[], unsigned long long* sig_len,
      const uint8_t msg[], size_t msg_len, const uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_sign_ed25519_verify_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sig
    - in
    - in_len
    - pk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1309
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1309
    functionName: Botan::Sodium::crypto_sign_verify_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_sign_ed25519_verify_detached
    linkageType: ''
    returnType: int
    signature: int crypto_sign_verify_detached(const uint8_t sig[], const uint8_t
      in[], size_t in_len, const uint8_t pk[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:25,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:26,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:27,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:28,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:31,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:32,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:33,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:34,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:36,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:37,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:38,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:39,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:41,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:42,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:43,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:44,1
    - Dst: Botan::Salsa20::hsalsa20
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:47,1
    - Dst: store_le
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:48,1
    - Dst: std::span<uint8_t, 32>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - out
    - in
    - key
    - c
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 50
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 50
    functionName: Botan::Sodium::crypto_core_hsalsa20
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::Salsa20::hsalsa20
    - store_le
    - load_le<uint32_t>
    - std::span<uint8_t, 32>
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_core_hsalsa20(uint8_t out[], const uint8_t in[],
      const uint8_t key[], const uint8_t c[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salsa20::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:54,1
    - Dst: Salsa20::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:55,1
    - Dst: Salsa20::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - out_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: Botan::Sodium::crypto_stream_salsa20
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 1
    functionsReached:
    - Salsa20::set_key
    - Salsa20::write_keystream
    - Salsa20::set_iv
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_stream_salsa20(uint8_t out[], size_t out_len, const
      uint8_t nonce[], const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_salsa20_xor_ic
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - in_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: Botan::Sodium::crypto_stream_salsa20_xor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_stream_salsa20_xor_ic
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_salsa20_xor(\n   uint8_t out[], const uint8_t
      in[], size_t in_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salsa20::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:72,1
    - Dst: Salsa20::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:73,1
    - Dst: Salsa20::seek
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:74,1
    - Dst: Salsa20::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - out
    - in
    - in_len
    - nonce
    - ic
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint64_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: Botan::Sodium::crypto_stream_salsa20_xor_ic
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 1
    functionsReached:
    - Salsa20::set_key
    - Salsa20::cipher
    - Salsa20::seek
    - Salsa20::set_iv
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_salsa20_xor_ic(\n   uint8_t out[], const
      uint8_t in[], size_t in_len, const uint8_t nonce[], uint64_t ic, const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salsa20::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:81,1
    - Dst: Salsa20::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:82,1
    - Dst: Salsa20::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - out_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: Botan::Sodium::crypto_stream_xsalsa20
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 2
    functionsReached:
    - Salsa20::set_key
    - Salsa20::write_keystream
    - Salsa20::set_iv
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_stream_xsalsa20(uint8_t out[], size_t out_len, const
      uint8_t nonce[], const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_xsalsa20_xor_ic
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - in_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: Botan::Sodium::crypto_stream_xsalsa20_xor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 2
    functionsReached:
    - Botan::Sodium::crypto_stream_xsalsa20_xor_ic
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_xsalsa20_xor(\n   uint8_t out[], const uint8_t
      in[], size_t in_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salsa20::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:99,1
    - Dst: Salsa20::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:100,1
    - Dst: Salsa20::seek
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:101,1
    - Dst: Salsa20::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - out
    - in
    - in_len
    - nonce
    - ic
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint64_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: Botan::Sodium::crypto_stream_xsalsa20_xor_ic
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 1
    functionsReached:
    - Salsa20::set_key
    - Salsa20::cipher
    - Salsa20::seek
    - Salsa20::set_iv
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_xsalsa20_xor_ic(\n   uint8_t out[], const
      uint8_t in[], size_t in_len, const uint8_t nonce[], uint64_t ic, const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:23,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:24,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:25,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:28,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:28,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:28,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:30,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:32,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:33,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:34,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:35,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 39
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 39
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp
    functionUses: 3
    functionsReached:
    - auto::set_key
    - clear_mem
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::StreamCipher::create_or_throw
    - auto::cipher
    - auto::update
    - secure_vector::size
    - auto::final
    - auto::set_iv
    - auto::write_keystream
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_secretbox_xsalsa20poly1305(\n   uint8_t ctext[],
      const uint8_t ptext[], size_t ptext_len, const uint8_t nonce[], const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:47,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:48,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:49,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:52,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:52,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:52,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:54,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:55,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:56,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:57,1
    - Dst: Botan::CT::is_not_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:59,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:59,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:63,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 67
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 67
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp
    functionUses: 3
    functionsReached:
    - auto::set_key
    - clear_mem
    - Botan::CT::is_not_equal
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::StreamCipher::create_or_throw
    - auto::cipher
    - auto::update
    - secure_vector::size
    - auto::final
    - auto::set_iv
    - auto::write_keystream
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_secretbox_xsalsa20poly1305_open(\n   uint8_t ptext[],
      const uint8_t ctext[], size_t ctext_len, const uint8_t nonce[], const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:75,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:76,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:77,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:80,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:80,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:80,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:82,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:84,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:85,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:86,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - ctext
    - mac
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: Botan::Sodium::crypto_secretbox_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp
    functionUses: 3
    functionsReached:
    - auto::set_key
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::StreamCipher::create_or_throw
    - auto::cipher
    - auto::update
    - secure_vector::size
    - auto::final
    - auto::set_iv
    - auto::write_keystream
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_secretbox_detached(uint8_t ctext[],\n                                      uint8_t
      mac[],\n                                      const uint8_t ptext[],\n                                      size_t
      ptext_len,\n                                      const uint8_t nonce[],\n                                      const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:98,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:99,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:100,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:103,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:103,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:103,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:105,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:106,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:107,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:108,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:110,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:110,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:110,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - ptext
    - ctext
    - mac
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 117
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 117
    functionName: Botan::Sodium::crypto_secretbox_open_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp
    functionUses: 3
    functionsReached:
    - auto::set_key
    - Botan::CT::is_equal
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::StreamCipher::create_or_throw
    - auto::cipher
    - auto::update
    - secure_vector::size
    - auto::final
    - auto::set_iv
    - auto::write_keystream
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_secretbox_open_detached(uint8_t ptext[],\n                                           const
      uint8_t ctext[],\n                                           const uint8_t mac[],\n
      \                                          size_t ctext_len,\n                                           const
      uint8_t nonce[],\n                                           const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: system_rng
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:23,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::Sodium::randombytes_buf
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 20
    functionsReached:
    - system_rng
    - static_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void Sodium::randombytes_buf(void* buf, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - upper_bound
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Botan::Sodium::randombytes_uniform
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sodium::randombytes_uniform(uint32_t upper_bound)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:41,1
    - Dst: ChaCha::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:42,1
    - Dst: ChaCha::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:43,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - size
    - seed
    argTypes:
    - void*
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: Botan::Sodium::randombytes_buf_deterministic
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached:
    - ChaCha::set_key
    - ChaCha::set_iv
    - ChaCha::write_keystream
    - static_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void Sodium::randombytes_buf_deterministic(void* buf, size_t size,
      const uint8_t seed[randombytes_SEEDBYTES])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:47,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::Sodium::crypto_verify_16
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Botan::CT::is_equal
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_verify_16(const uint8_t x[16], const uint8_t y[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:51,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::Sodium::crypto_verify_32
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Botan::CT::is_equal
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_verify_32(const uint8_t x[32], const uint8_t y[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:55,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::Sodium::crypto_verify_64
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Botan::CT::is_equal
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_verify_64(const uint8_t x[64], const uint8_t y[64])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan::Sodium::sodium_memzero
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void Sodium::sodium_memzero(void* ptr, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:63,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:63,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:63,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:65,1
    - Dst: auto::select
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: Botan::Sodium::sodium_memcmp
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached:
    - static_cast<const uint8_t*>
    - static_cast<int>
    - Botan::CT::is_equal
    - auto::select
    linkageType: ''
    returnType: int
    signature: int Sodium::sodium_memcmp(const void* x, const void* y, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:76,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:77,1
    - Dst: auto::select
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:78,1
    - Dst: auto::select
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:78,1
    - Dst: static_cast<int8_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: Botan::Sodium::sodium_compare
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::is_equal
    - static_cast<int8_t>
    - auto::select
    - Botan::bigint_ct_is_lt
    linkageType: ''
    returnType: int
    signature: int Sodium::sodium_compare(const uint8_t x[], const uint8_t y[], size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:89,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: Botan::Sodium::sodium_is_zero
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: int
    signature: int Sodium::sodium_is_zero(const uint8_t b[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: Botan::Sodium::sodium_increment
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sodium::sodium_increment(uint8_t b[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: Botan::Sodium::sodium_add
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sodium::sodium_add(uint8_t a[], const uint8_t b[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_le
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: Botan::Sodium::sodium_malloc
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - store_le
    linkageType: ''
    returnType: void
    signature: void * Sodium::sodium_malloc(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:128,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:128,1
    - Dst: std::free
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: Botan::Sodium::sodium_free
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - secure_scrub_memory
    - std::free
    linkageType: ''
    returnType: void
    signature: void Sodium::sodium_free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::sodium_malloc
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - count
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: Botan::Sodium::sodium_allocarray
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::sodium_malloc
    linkageType: ''
    returnType: void
    signature: void * Sodium::sodium_allocarray(size_t count, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::page_prohibit_access
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:143,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: Botan::Sodium::sodium_mprotect_noaccess
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - OS::page_prohibit_access
    linkageType: ''
    returnType: int
    signature: int Sodium::sodium_mprotect_noaccess(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::page_allow_access
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:153,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: Botan::Sodium::sodium_mprotect_readwrite
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - OS::page_allow_access
    linkageType: ''
    returnType: int
    signature: int Sodium::sodium_mprotect_readwrite(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:16,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:17,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - in_len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: Botan::Sodium::crypto_hash_sha512
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 3
    functionsReached:
    - auto::update
    - auto::final
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_hash_sha512(uint8_t out[64], const uint8_t in[],
      size_t in_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:23,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:24,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - in_len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: Botan::Sodium::crypto_hash_sha256
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 1
    functionsReached:
    - auto::update
    - auto::final
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_hash_sha256(uint8_t out[], const uint8_t in[], size_t
      in_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:30,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:31,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:32,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: Botan::Sodium::crypto_shorthash_siphash24
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 2
    functionsReached:
    - auto::update
    - auto::set_key
    - auto::final
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_shorthash_siphash24(uint8_t out[8], const uint8_t
      in[], size_t in_len, const uint8_t key[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:38,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:39,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:40,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Botan::Sodium::crypto_onetimeauth_poly1305
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 2
    functionsReached:
    - auto::update
    - auto::set_key
    - auto::final
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_onetimeauth_poly1305(uint8_t out[], const uint8_t
      in[], size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:50,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:50,1
    - Dst: Botan::Sodium::crypto_verify_16
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:51,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mac
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: Botan::Sodium::crypto_onetimeauth_poly1305_verify
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 2
    functionsReached:
    - Botan::Sodium::crypto_verify_16
    - Botan::Sodium::crypto_onetimeauth_poly1305
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_onetimeauth_poly1305_verify(const uint8_t mac[],\n
      \                                              const uint8_t in[],\n                                               size_t
      in_len,\n                                               const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:55,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:56,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:57,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: Botan::Sodium::crypto_auth_hmacsha512
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 1
    functionsReached:
    - auto::update
    - auto::set_key
    - auto::final
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_auth_hmacsha512(uint8_t out[], const uint8_t in[],
      size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_auth_hmacsha512
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:64,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:64,1
    - Dst: Botan::Sodium::crypto_verify_64
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:65,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mac
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: Botan::Sodium::crypto_auth_hmacsha512_verify
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_verify_64
    - Botan::Sodium::crypto_auth_hmacsha512
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_auth_hmacsha512_verify(const uint8_t mac[], const
      uint8_t in[], size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:69,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:70,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:71,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:74,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:76,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: Botan::Sodium::crypto_auth_hmacsha512256
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 2
    functionsReached:
    - auto::set_key
    - Botan::MessageAuthenticationCode::create_or_throw
    - copy_mem
    - auto::update
    - auto::final
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_auth_hmacsha512256(uint8_t out[], const uint8_t
      in[], size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_auth_hmacsha512256
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:85,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:85,1
    - Dst: Botan::Sodium::crypto_verify_32
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:86,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mac
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: Botan::Sodium::crypto_auth_hmacsha512256_verify
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 2
    functionsReached:
    - Botan::Sodium::crypto_auth_hmacsha512256
    - Botan::Sodium::crypto_verify_32
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_auth_hmacsha512256_verify(const uint8_t mac[],\n
      \                                            const uint8_t in[],\n                                             size_t
      in_len,\n                                             const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:90,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:91,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:92,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: Botan::Sodium::crypto_auth_hmacsha256
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 1
    functionsReached:
    - auto::update
    - auto::set_key
    - auto::final
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_auth_hmacsha256(uint8_t out[], const uint8_t in[],
      size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_auth_hmacsha256
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:99,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:99,1
    - Dst: Botan::Sodium::crypto_verify_32
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:100,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mac
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: Botan::Sodium::crypto_auth_hmacsha256_verify
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_auth_hmacsha256
    - Botan::Sodium::crypto_verify_32
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_auth_hmacsha256_verify(const uint8_t mac[], const
      uint8_t in[], size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:14,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:15,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:16,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - out_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: Botan::Sodium::crypto_stream_chacha20
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - Botan::StreamCipher::create_or_throw
    - auto::set_key
    - auto::set_iv
    - auto::write_keystream
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_stream_chacha20(uint8_t out[], size_t out_len, const
      uint8_t nonce[], const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_chacha20_xor_ic
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - in_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: Botan::Sodium::crypto_stream_chacha20_xor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_stream_chacha20_xor_ic
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_chacha20_xor(\n   uint8_t out[], const uint8_t
      in[], size_t in_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:32,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:33,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:34,1
    - Dst: auto::seek
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:35,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - out
    - in
    - in_len
    - nonce
    - ic
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint64_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: Botan::Sodium::crypto_stream_chacha20_xor_ic
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - auto::set_key
    - Botan::StreamCipher::create_or_throw
    - auto::cipher
    - auto::seek
    - auto::set_iv
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_chacha20_xor_ic(\n   uint8_t out[], const
      uint8_t in[], size_t in_len, const uint8_t nonce[], uint64_t ic, const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:41,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:42,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:43,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - out_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - Botan::StreamCipher::create_or_throw
    - auto::set_key
    - auto::set_iv
    - auto::write_keystream
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_stream_chacha20_ietf(uint8_t out[], size_t out_len,
      const uint8_t nonce[], const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_chacha20_ietf_xor_ic
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - in_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf_xor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_stream_chacha20_ietf_xor_ic
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_chacha20_ietf_xor(\n   uint8_t out[], const
      uint8_t in[], size_t in_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:55,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:56,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:57,1
    - Dst: auto::seek
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:58,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:58,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - out
    - in
    - in_len
    - nonce
    - ic
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint32_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf_xor_ic
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - auto::set_key
    - static_cast<uint64_t>
    - Botan::StreamCipher::create_or_throw
    - auto::cipher
    - auto::seek
    - auto::set_iv
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_chacha20_ietf_xor_ic(\n   uint8_t out[],
      const uint8_t in[], size_t in_len, const uint8_t nonce[], uint32_t ic, const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:64,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:65,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:66,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - out_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: Botan::Sodium::crypto_stream_xchacha20
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - Botan::StreamCipher::create_or_throw
    - auto::set_key
    - auto::set_iv
    - auto::write_keystream
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_stream_xchacha20(uint8_t out[], size_t out_len,
      const uint8_t nonce[], const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_xchacha20_xor_ic
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - in_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: Botan::Sodium::crypto_stream_xchacha20_xor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_stream_xchacha20_xor_ic
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_xchacha20_xor(\n   uint8_t out[], const
      uint8_t in[], size_t in_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:82,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:83,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:84,1
    - Dst: auto::seek
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:85,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - out
    - in
    - in_len
    - nonce
    - ic
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint64_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: Botan::Sodium::crypto_stream_xchacha20_xor_ic
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - auto::set_key
    - Botan::StreamCipher::create_or_throw
    - auto::cipher
    - auto::seek
    - auto::set_iv
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_xchacha20_xor_ic(\n   uint8_t out[], const
      uint8_t in[], size_t in_len, const uint8_t nonce[], uint64_t ic, const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curve25519_donna
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - scalar
    - point
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: Botan::Sodium::crypto_scalarmult_curve25519
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_25519.cpp
    functionUses: 2
    functionsReached:
    - curve25519_donna
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_scalarmult_curve25519(uint8_t out[32], const uint8_t
      scalar[32], const uint8_t point[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curve25519_basepoint
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: Botan::Sodium::crypto_scalarmult_curve25519_base
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_25519.cpp
    functionUses: 3
    functionsReached:
    - curve25519_basepoint
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_scalarmult_curve25519_base(uint8_t out[32], const
      uint8_t scalar[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed25519_sign
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - sig
    - sig_len
    - msg
    - msg_len
    - sk
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: Botan::Sodium::crypto_sign_ed25519_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_25519.cpp
    functionUses: 2
    functionsReached:
    - ed25519_sign
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_sign_ed25519_detached(\n   uint8_t sig[], unsigned
      long long* sig_len, const uint8_t msg[], size_t msg_len, const uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sig
    - msg
    - msg_len
    - pk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: Botan::Sodium::crypto_sign_ed25519_verify_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_25519.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_sign_ed25519_verify_detached(const uint8_t sig[],\n
      \                                               const uint8_t msg[],\n                                                size_t
      msg_len,\n                                                const uint8_t pk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:44,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:44,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:44,1
    - Dst: Botan::Sodium::crypto_sign_ed25519_seed_keypair
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:45,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Botan::Sodium::crypto_sign_ed25519_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_25519.cpp
    functionUses: 1
    functionsReached:
    - secure_vector::size
    - Botan::Sodium::crypto_sign_ed25519_seed_keypair
    - Botan::Sodium::randombytes_buf
    - secure_vector::data
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_sign_ed25519_keypair(uint8_t pk[32], uint8_t sk[64])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed25519_gen_keypair
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pk
    - sk
    - seed
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::Sodium::crypto_sign_ed25519_seed_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_25519.cpp
    functionUses: 3
    functionsReached:
    - ed25519_gen_keypair
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_sign_ed25519_seed_keypair(uint8_t pk[], uint8_t
      sk[], const uint8_t seed[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:25,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:27,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:28,1
    - Dst: auto::start
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:29,1
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:33,1
    - Dst: secure_vector::assign
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:34,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:36,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:38,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:38,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:38,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 9
    argNames:
    - ctext
    - ctext_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - nonce
    - nonce_len
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 43
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 43
    functionName: Botan::sodium_aead_chacha20poly1305_encrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - auto::finish
    - secure_vector::data
    - auto::set_associated_data
    - secure_vector::assign
    - auto::start
    - secure_vector::reserve
    - Botan::copy_mem
    - secure_vector::size
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int sodium_aead_chacha20poly1305_encrypt(uint8_t ctext[],\n                                         unsigned
      long long* ctext_len,\n                                         const uint8_t
      ptext[],\n                                         size_t ptext_len,\n                                         const
      uint8_t ad[],\n                                         size_t ad_len,\n                                         const
      uint8_t nonce[],\n                                         size_t nonce_len,\n
      \                                        const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:60,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:62,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:63,1
    - Dst: auto::start
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:64,1
    - Dst: secure_vector::assign
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:68,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:71,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:78,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:78,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 9
    argNames:
    - ptext
    - ptext_len
    - ctext
    - ctext_len
    - ad
    - ad_len
    - nonce
    - nonce_len
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: Botan::sodium_aead_chacha20poly1305_decrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - auto::finish
    - secure_vector::data
    - auto::set_associated_data
    - secure_vector::assign
    - auto::start
    - Botan::copy_mem
    - secure_vector::size
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int sodium_aead_chacha20poly1305_decrypt(uint8_t ptext[],\n                                         unsigned
      long long* ptext_len,\n                                         const uint8_t
      ctext[],\n                                         size_t ctext_len,\n                                         const
      uint8_t ad[],\n                                         size_t ad_len,\n                                         const
      uint8_t nonce[],\n                                         size_t nonce_len,\n
      \                                        const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:91,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:93,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:94,1
    - Dst: auto::start
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:95,1
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:99,1
    - Dst: secure_vector::assign
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:100,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:102,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:104,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:104,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:105,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 9
    argNames:
    - ctext
    - mac
    - ptext
    - ptext_len
    - ad
    - ad_len
    - nonce
    - nonce_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 107
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 107
    functionName: Botan::sodium_aead_chacha20poly1305_encrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - auto::finish
    - secure_vector::data
    - auto::set_associated_data
    - secure_vector::assign
    - auto::start
    - secure_vector::reserve
    - Botan::copy_mem
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int sodium_aead_chacha20poly1305_encrypt_detached(uint8_t ctext[],\n
      \                                                 uint8_t mac[],\n                                                  const
      uint8_t ptext[],\n                                                  size_t ptext_len,\n
      \                                                 const uint8_t ad[],\n                                                  size_t
      ad_len,\n                                                  const uint8_t nonce[],\n
      \                                                 size_t nonce_len,\n                                                  const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:118,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:120,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:121,1
    - Dst: auto::start
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:122,1
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:126,1
    - Dst: secure_vector::assign
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:127,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:128,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:128,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:131,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:136,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:136,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 9
    argNames:
    - ptext
    - ctext
    - ctext_len
    - mac
    - ad
    - ad_len
    - nonce
    - nonce_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 138
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 138
    functionName: Botan::sodium_aead_chacha20poly1305_decrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    - auto::set_key
    - auto::finish
    - secure_vector::data
    - auto::set_associated_data
    - secure_vector::assign
    - auto::start
    - secure_vector::reserve
    - secure_vector::end
    - secure_vector::insert
    - secure_vector::size
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int sodium_aead_chacha20poly1305_decrypt_detached(uint8_t ptext[],\n
      \                                                 const uint8_t ctext[],\n                                                  size_t
      ctext_len,\n                                                  const uint8_t
      mac[],\n                                                  const uint8_t ad[],\n
      \                                                 size_t ad_len,\n                                                  const
      uint8_t nonce[],\n                                                  size_t nonce_len,\n
      \                                                 const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:151,1
    - Dst: sodium_aead_chacha20poly1305_encrypt
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:153,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ctext
    - ctext_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - unused_secret_nonce
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_encrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_encrypt
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_ietf_encrypt(uint8_t ctext[],\n
      \                                                     unsigned long long* ctext_len,\n
      \                                                     const uint8_t ptext[],\n
      \                                                     size_t ptext_len,\n                                                      const
      uint8_t ad[],\n                                                      size_t
      ad_len,\n                                                      const uint8_t
      unused_secret_nonce[],\n                                                      const
      uint8_t nonce[],\n                                                      const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:166,1
    - Dst: sodium_aead_chacha20poly1305_decrypt
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:168,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ptext
    - ptext_len
    - unused_secret_nonce
    - ctext
    - ctext_len
    - ad
    - ad_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_decrypt
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_ietf_decrypt(uint8_t ptext[],\n
      \                                                     unsigned long long* ptext_len,\n
      \                                                     uint8_t unused_secret_nonce[],\n
      \                                                     const uint8_t ctext[],\n
      \                                                     size_t ctext_len,\n                                                      const
      uint8_t ad[],\n                                                      size_t
      ad_len,\n                                                      const uint8_t
      nonce[],\n                                                      const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:182,1
    - Dst: sodium_aead_chacha20poly1305_encrypt_detached
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:188,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 10
    argNames:
    - ctext
    - mac
    - mac_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - unused_secret_nonce
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_encrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_encrypt_detached
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_ietf_encrypt_detached(uint8_t
      ctext[],\n                                                               uint8_t
      mac[],\n                                                               unsigned
      long long* mac_len,\n                                                               const
      uint8_t ptext[],\n                                                               size_t
      ptext_len,\n                                                               const
      uint8_t ad[],\n                                                               size_t
      ad_len,\n                                                               const
      uint8_t unused_secret_nonce[],\n                                                               const
      uint8_t nonce[],\n                                                               const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:201,1
    - Dst: sodium_aead_chacha20poly1305_decrypt_detached
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:203,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ptext
    - unused_secret_nonce
    - ctext
    - ctext_len
    - mac
    - ad
    - ad_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_decrypt_detached
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_ietf_decrypt_detached(uint8_t
      ptext[],\n                                                               uint8_t
      unused_secret_nonce[],\n                                                               const
      uint8_t ctext[],\n                                                               size_t
      ctext_len,\n                                                               const
      uint8_t mac[],\n                                                               const
      uint8_t ad[],\n                                                               size_t
      ad_len,\n                                                               const
      uint8_t nonce[],\n                                                               const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:216,1
    - Dst: sodium_aead_chacha20poly1305_encrypt
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:217,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ctext
    - ctext_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - unused_secret_nonce
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_encrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_encrypt
    - Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_encrypt(uint8_t ctext[],\n
      \                                                unsigned long long* ctext_len,\n
      \                                                const uint8_t ptext[],\n                                                 size_t
      ptext_len,\n                                                 const uint8_t ad[],\n
      \                                                size_t ad_len,\n                                                 const
      uint8_t unused_secret_nonce[],\n                                                 const
      uint8_t nonce[],\n                                                 const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:230,1
    - Dst: sodium_aead_chacha20poly1305_decrypt
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:231,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ptext
    - ptext_len
    - unused_secret_nonce
    - ctext
    - ctext_len
    - ad
    - ad_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_decrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
    - sodium_aead_chacha20poly1305_decrypt
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_decrypt(uint8_t ptext[],\n
      \                                                unsigned long long* ptext_len,\n
      \                                                uint8_t unused_secret_nonce[],\n
      \                                                const uint8_t ctext[],\n                                                 size_t
      ctext_len,\n                                                 const uint8_t ad[],\n
      \                                                size_t ad_len,\n                                                 const
      uint8_t nonce[],\n                                                 const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:245,1
    - Dst: sodium_aead_chacha20poly1305_encrypt_detached
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:250,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 10
    argNames:
    - ctext
    - mac
    - mac_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - unused_secret_nonce
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_encrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
    - sodium_aead_chacha20poly1305_encrypt_detached
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_encrypt_detached(uint8_t
      ctext[],\n                                                          uint8_t
      mac[],\n                                                          unsigned long
      long* mac_len,\n                                                          const
      uint8_t ptext[],\n                                                          size_t
      ptext_len,\n                                                          const
      uint8_t ad[],\n                                                          size_t
      ad_len,\n                                                          const uint8_t
      unused_secret_nonce[],\n                                                          const
      uint8_t nonce[],\n                                                          const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:263,1
    - Dst: sodium_aead_chacha20poly1305_decrypt_detached
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:265,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ptext
    - unused_secret_nonce
    - ctext
    - ctext_len
    - mac
    - ad
    - ad_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_decrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_decrypt_detached
    - Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_decrypt_detached(uint8_t
      ptext[],\n                                                          uint8_t
      unused_secret_nonce[],\n                                                          const
      uint8_t ctext[],\n                                                          size_t
      ctext_len,\n                                                          const
      uint8_t mac[],\n                                                          const
      uint8_t ad[],\n                                                          size_t
      ad_len,\n                                                          const uint8_t
      nonce[],\n                                                          const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:278,1
    - Dst: sodium_aead_chacha20poly1305_encrypt
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:280,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ctext
    - ctext_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - unused_secret_nonce
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_encrypt
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt(uint8_t ctext[],\n
      \                                                      unsigned long long* ctext_len,\n
      \                                                      const uint8_t ptext[],\n
      \                                                      size_t ptext_len,\n                                                       const
      uint8_t ad[],\n                                                       size_t
      ad_len,\n                                                       const uint8_t
      unused_secret_nonce[],\n                                                       const
      uint8_t nonce[],\n                                                       const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:293,1
    - Dst: sodium_aead_chacha20poly1305_decrypt
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:295,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ptext
    - ptext_len
    - unused_secret_nonce
    - ctext
    - ctext_len
    - ad
    - ad_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 297
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_decrypt
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt(uint8_t ptext[],\n
      \                                                      unsigned long long* ptext_len,\n
      \                                                      uint8_t unused_secret_nonce[],\n
      \                                                      const uint8_t ctext[],\n
      \                                                      size_t ctext_len,\n                                                       const
      uint8_t ad[],\n                                                       size_t
      ad_len,\n                                                       const uint8_t
      nonce[],\n                                                       const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:309,1
    - Dst: sodium_aead_chacha20poly1305_encrypt_detached
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:314,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 10
    argNames:
    - ctext
    - mac
    - mac_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - unused_secret_nonce
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 316
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 316
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_encrypt_detached
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt_detached(uint8_t
      ctext[],\n                                                                uint8_t
      mac[],\n                                                                unsigned
      long long* mac_len,\n                                                                const
      uint8_t ptext[],\n                                                                size_t
      ptext_len,\n                                                                const
      uint8_t ad[],\n                                                                size_t
      ad_len,\n                                                                const
      uint8_t unused_secret_nonce[],\n                                                                const
      uint8_t nonce[],\n                                                                const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:327,1
    - Dst: sodium_aead_chacha20poly1305_decrypt_detached
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:328,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ptext
    - unused_secret_nonce
    - ctext
    - ctext_len
    - mac
    - ad
    - ad_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_decrypt_detached
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt_detached(uint8_t
      ptext[],\n                                                                uint8_t
      unused_secret_nonce[],\n                                                                const
      uint8_t ctext[],\n                                                                size_t
      ctext_len,\n                                                                const
      uint8_t mac[],\n                                                                const
      uint8_t ad[],\n                                                                size_t
      ad_len,\n                                                                const
      uint8_t nonce[],\n                                                                const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:126,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:127,1
    - Dst: std::make_unique<RSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:132,1
    - Dst: std::make_unique<X25519_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:138,1
    - Dst: std::make_unique<X448_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:144,1
    - Dst: std::make_unique<McEliece_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:150,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:155,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:155,1
    - Dst: std::make_unique<FrodoKEM_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:156,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:161,1
    - Dst: std::make_unique<Kyber_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:162,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:167,1
    - Dst: std::make_unique<ML_KEM_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:168,1
    - Dst: std::make_unique<ECDSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:174,1
    - Dst: std::make_unique<ECDH_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:180,1
    - Dst: std::make_unique<DH_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:186,1
    - Dst: std::make_unique<DSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:192,1
    - Dst: std::make_unique<ElGamal_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:198,1
    - Dst: std::make_unique<ECGDSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:204,1
    - Dst: std::make_unique<ECKCDSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:210,1
    - Dst: std::make_unique<Ed25519_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:216,1
    - Dst: std::make_unique<Ed448_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:222,1
    - Dst: std::make_unique<GOST_3410_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:228,1
    - Dst: std::make_unique<SM2_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:234,1
    - Dst: std::make_unique<XMSS_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:240,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:245,1
    - Dst: std::make_unique<Dilithium_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:246,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:251,1
    - Dst: std::make_unique<ML_DSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:252,1
    - Dst: std::make_unique<HSS_LMS_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:258,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:263,1
    - Dst: std::make_unique<SphincsPlus_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:264,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:269,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:269,1
    - Dst: std::make_unique<SLH_DSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:270,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:275,1
    - Dst: std::make_unique<Classic_McEliece_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:276,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:280,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:280,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 77
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 281
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 281
    functionName: Botan::load_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/pk_algs.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<X25519_PublicKey>
    - Botan::fmt
    - std::make_unique<Ed25519_PublicKey>
    - std::make_unique<SLH_DSA_PublicKey>
    - Botan::oid
    - std::string_view::starts_with
    - std::make_unique<Kyber_PublicKey>
    - std::make_unique<ECDSA_PublicKey>
    - std::make_unique<SM2_PublicKey>
    - std::make_unique<SphincsPlus_PublicKey>
    - std::make_unique<FrodoKEM_PublicKey>
    - std::make_unique<DH_PublicKey>
    - std::make_unique<DSA_PublicKey>
    - std::make_unique<ECKCDSA_PublicKey>
    - std::make_unique<ECGDSA_PublicKey>
    - Botan::Decoding_Error
    - std::make_unique<Ed448_PublicKey>
    - Botan::split_on
    - std::make_unique<ML_KEM_PublicKey>
    - std::make_unique<Dilithium_PublicKey>
    - std::make_unique<RSA_PublicKey>
    - std::make_unique<McEliece_PublicKey>
    - std::make_unique<ElGamal_PublicKey>
    - std::make_unique<Classic_McEliece_PublicKey>
    - std::make_unique<HSS_LMS_PublicKey>
    - std::make_unique<ML_DSA_PublicKey>
    - std::make_unique<GOST_3410_PublicKey>
    - std::make_unique<ECDH_PublicKey>
    - std::make_unique<XMSS_PublicKey>
    - std::make_unique<X448_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: "std::unique_ptr<Public_Key> load_public_key(const AlgorithmIdentifier&
      alg_id,\n                                            [[maybe_unused]] std::span<const
      uint8_t> key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:285,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:286,1
    - Dst: std::make_unique<RSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:291,1
    - Dst: std::make_unique<X25519_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:297,1
    - Dst: std::make_unique<X448_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:303,1
    - Dst: std::make_unique<ECDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:309,1
    - Dst: std::make_unique<ECDH_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:315,1
    - Dst: std::make_unique<DH_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:321,1
    - Dst: std::make_unique<DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:327,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:332,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:332,1
    - Dst: std::make_unique<FrodoKEM_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:333,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:338,1
    - Dst: std::make_unique<Kyber_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:339,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:344,1
    - Dst: std::make_unique<ML_KEM_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:345,1
    - Dst: std::make_unique<McEliece_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:351,1
    - Dst: std::make_unique<ECGDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:357,1
    - Dst: std::make_unique<ECKCDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:363,1
    - Dst: std::make_unique<Ed25519_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:369,1
    - Dst: std::make_unique<Ed448_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:375,1
    - Dst: std::make_unique<GOST_3410_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:381,1
    - Dst: std::make_unique<SM2_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:387,1
    - Dst: std::make_unique<ElGamal_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:393,1
    - Dst: std::make_unique<XMSS_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:399,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:404,1
    - Dst: std::make_unique<Dilithium_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:405,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:410,1
    - Dst: std::make_unique<ML_DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:411,1
    - Dst: std::make_unique<HSS_LMS_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:417,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:422,1
    - Dst: std::make_unique<SphincsPlus_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:423,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:428,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:428,1
    - Dst: std::make_unique<SLH_DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:429,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:434,1
    - Dst: std::make_unique<Classic_McEliece_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:435,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:439,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:439,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 77
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 440
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 440
    functionName: Botan::load_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/pk_algs.cpp
    functionUses: 6
    functionsReached:
    - std::make_unique<Classic_McEliece_PrivateKey>
    - Botan::fmt
    - std::make_unique<ECKCDSA_PrivateKey>
    - std::make_unique<DH_PrivateKey>
    - std::make_unique<SLH_DSA_PrivateKey>
    - std::make_unique<Ed448_PrivateKey>
    - std::make_unique<McEliece_PrivateKey>
    - std::make_unique<XMSS_PrivateKey>
    - std::make_unique<SM2_PrivateKey>
    - Botan::oid
    - std::make_unique<HSS_LMS_PrivateKey>
    - std::string_view::starts_with
    - std::make_unique<ECDH_PrivateKey>
    - std::make_unique<Ed25519_PrivateKey>
    - std::make_unique<ElGamal_PrivateKey>
    - std::make_unique<ML_DSA_PrivateKey>
    - std::make_unique<ECGDSA_PrivateKey>
    - std::make_unique<SphincsPlus_PrivateKey>
    - Botan::Decoding_Error
    - std::make_unique<GOST_3410_PrivateKey>
    - std::make_unique<FrodoKEM_PrivateKey>
    - Botan::split_on
    - std::make_unique<X25519_PrivateKey>
    - std::make_unique<X448_PrivateKey>
    - std::make_unique<Kyber_PrivateKey>
    - std::make_unique<ECDSA_PrivateKey>
    - std::make_unique<ML_KEM_PrivateKey>
    - std::make_unique<Dilithium_PrivateKey>
    - std::make_unique<RSA_PrivateKey>
    - std::make_unique<DSA_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: "std::unique_ptr<Private_Key> load_private_key(const AlgorithmIdentifier&
      alg_id,\n                                              [[maybe_unused]] std::span<const
      uint8_t> key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:446,1
    - Dst: std::make_unique<ECDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:450,1
    - Dst: std::make_unique<ECDH_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:456,1
    - Dst: std::make_unique<ECKCDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:462,1
    - Dst: std::make_unique<GOST_3410_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:468,1
    - Dst: std::make_unique<SM2_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:474,1
    - Dst: std::make_unique<ECGDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:480,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - alg_name
    - ' ec_group'
    - ' rng'
    argTypes:
    - std::string_view
    - EC_Group
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 485
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 485
    functionName: Botan::create_ec_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/pk_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::make_unique<ECDH_PrivateKey>
    - std::make_unique<GOST_3410_PrivateKey>
    - std::make_unique<ECKCDSA_PrivateKey>
    - std::make_unique<ECGDSA_PrivateKey>
    - std::make_unique<ECDSA_PrivateKey>
    - std::make_unique<SM2_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: "std::unique_ptr<Private_Key> create_ec_private_key(std::string_view
      alg_name,\n                                                   const EC_Group&
      ec_group,\n                                                   RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X25519_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:497,1
    - Dst: std::make_unique<X448_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:503,1
    - Dst: std::make_unique<RSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:510,1
    - Dst: std::make_unique<McEliece_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:532,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:537,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:538,1
    - Dst: std::make_unique<Classic_McEliece_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:539,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:545,1
    - Dst: FrodoKEMMode
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:545,1
    - Dst: std::make_unique<FrodoKEM_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:546,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:553,1
    - Dst: KyberMode
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:556,1
    - Dst: std::make_unique<Kyber_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:559,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:566,1
    - Dst: ML_KEM_Mode
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:569,1
    - Dst: std::make_unique<ML_KEM_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:572,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:577,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:579,1
    - Dst: DilithiumMode
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:582,1
    - Dst: std::make_unique<Dilithium_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:585,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:592,1
    - Dst: ML_DSA_Mode
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:595,1
    - Dst: std::make_unique<ML_DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:598,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:605,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:608,1
    - Dst: std::make_unique<HSS_LMS_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:611,1
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:617,1
    - Dst: std::make_unique<SphincsPlus_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:619,1
    - Dst: argon2_thread_create
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:625,1
    - Dst: std::make_unique<SLH_DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:627,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:634,1
    - Dst: XMSS_Parameters
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:637,1
    - Dst: std::make_unique<XMSS_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:640,1
    - Dst: std::make_unique<Ed25519_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:646,1
    - Dst: std::make_unique<Ed448_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:652,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:663,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:664,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:681,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:682,1
    - Dst: Botan::create_ec_private_key
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:683,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:694,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:695,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:703,1
    - Dst: std::make_unique<DH_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:707,1
    - Dst: std::make_unique<DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:713,1
    - Dst: std::make_unique<ElGamal_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:719,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:725,1
    - Dst: std::unique_ptr<Private_Key>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:727,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 133
    argCount: 4
    argNames:
    - alg_name
    - ' rng'
    - params
    - provider
    argTypes:
    - std::string_view
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 728
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 728
    functionName: Botan::create_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/pk_algs.cpp
    functionUses: 27
    functionsReached:
    - std::make_unique<Classic_McEliece_PrivateKey>
    - std::make_unique<DH_PrivateKey>
    - Botan::Sphincs_Parameters::create
    - std::string
    - std::make_unique<SLH_DSA_PrivateKey>
    - std::make_unique<HSS_LMS_PrivateKey>
    - std::make_unique<McEliece_PrivateKey>
    - std::make_unique<XMSS_PrivateKey>
    - std::make_unique<Ed448_PrivateKey>
    - Botan::DL_Group::from_name
    - std::string_view::starts_with
    - std::make_unique<Ed25519_PrivateKey>
    - std::string_view::empty
    - DilithiumMode
    - std::make_unique<ElGamal_PrivateKey>
    - std::make_unique<ML_DSA_PrivateKey>
    - XMSS_Parameters
    - std::make_unique<SphincsPlus_PrivateKey>
    - FrodoKEMMode
    - BOTAN_UNUSED
    - std::make_unique<FrodoKEM_PrivateKey>
    - Botan::Classic_McEliece_Parameter_Set::from_string
    - ML_DSA_Mode
    - Botan::create_ec_private_key
    - std::make_unique<X25519_PrivateKey>
    - std::make_unique<X448_PrivateKey>
    - std::make_unique<Kyber_PrivateKey>
    - Botan::EC_Group::supports_named_group
    - argon2_thread_create
    - ML_KEM_Mode
    - std::make_unique<ML_KEM_PrivateKey>
    - std::make_unique<Dilithium_PrivateKey>
    - std::unique_ptr<Private_Key>
    - std::make_unique<RSA_PrivateKey>
    - KyberMode
    - std::make_unique<DSA_PrivateKey>
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: "std::unique_ptr<Private_Key> create_private_key(std::string_view alg_name,\n
      \                                               RandomNumberGenerator& rng,\n
      \                                               std::string_view params,\n                                                std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:736,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - alg_name
    - ' possible'
    argTypes:
    - std::string_view
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 743
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 743
    functionName: Botan::probe_provider_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/pk_algs.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_UNUSED
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> probe_provider_private_key(std::string_view
      alg_name,\n                                                    const std::vector<std::string>&
      possible)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unknown_PK_Field_Name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:19,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: '& Asymmetric_Key::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Unknown_PK_Field_Name
    linkageType: ''
    returnType: BigInt
    signature: BigInt & Asymmetric_Key::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:24,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:24,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:26,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:26,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: Botan::Asymmetric_Key::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - fmt
    - Botan::OID::from_string
    - Lookup_Error
    linkageType: ''
    returnType: OID
    signature: OID Asymmetric_Key::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _signature_element_size_for_DER_encoding
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: Botan::Asymmetric_Key::_default_x509_signature_format
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - _signature_element_size_for_DER_encoding
    linkageType: ''
    returnType: Signature_Format
    signature: Signature_Format Asymmetric_Key::_default_x509_signature_format() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:39,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:40,1
    - Dst: auto::process
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:40,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:44,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:46,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:49,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bits
    - bits_len
    - hash_name
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: Botan::create_hex_fingerprint
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_encode
    - Botan::HashFunction::create_or_throw
    - std::string::size
    - std::string::push_back
    - auto::process
    linkageType: ''
    returnType: std::string
    signature: std::string create_hex_fingerprint(const uint8_t bits[], size_t bits_len,
      std::string_view hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:59,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:61,1
    - Dst: public_key_bits
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: Botan::Public_Key::subject_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - public_key_bits
    - DER_Encoder
    - algorithm_identifier
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Public_Key::subject_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:71,1
    - Dst: pkcs8_algorithm_identifier
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:74,1
    - Dst: private_key_bits
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: Botan::Private_Key::private_key_info
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - pkcs8_algorithm_identifier
    - private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Private_Key::private_key_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:81,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::Private_Key::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    - algo_name
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Private_Key::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_hex_fingerprint
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:88,1
    - Dst: Botan::Public_Key::subject_public_key
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash_algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Botan::Public_Key::fingerprint_public
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - Botan::Public_Key::subject_public_key
    - create_hex_fingerprint
    linkageType: ''
    returnType: std::string
    signature: std::string Public_Key::fingerprint_public(std::string_view hash_algo)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_hex_fingerprint
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:95,1
    - Dst: private_key_bits
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash_algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::Private_Key::fingerprint_private
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - create_hex_fingerprint
    - private_key_bits
    linkageType: ''
    returnType: std::string
    signature: std::string Private_Key::fingerprint_private(std::string_view hash_algo)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:101,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:101,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: Botan::Public_Key::create_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - Lookup_Error
    - fmt
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Encryption>
    signature: "std::unique_ptr<PK_Ops::Encryption> Public_Key::create_encryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                     std::string_view
      /*params*/,\n                                                                     std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:106,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:106,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: Botan::Public_Key::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - Lookup_Error
    - fmt
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> Public_Key::create_kem_encryption_op(std::string_view
      /*params*/,\n                                                                             std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:111,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:111,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Botan::Public_Key::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - Lookup_Error
    - fmt
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Public_Key::create_verification_op(std::string_view
      /*params*/,\n                                                                         std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:116,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:116,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: Botan::Public_Key::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - Lookup_Error
    - fmt
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Public_Key::create_x509_verification_op(const
      AlgorithmIdentifier& /*params*/,\n                                                                              std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:122,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:122,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: Botan::Private_Key::create_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - Lookup_Error
    - fmt
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Decryption>
    signature: "std::unique_ptr<PK_Ops::Decryption> Private_Key::create_decryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                      std::string_view
      /*params*/,\n                                                                      std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:128,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:128,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: Botan::Private_Key::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - Lookup_Error
    - fmt
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> Private_Key::create_kem_decryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                              std::string_view
      /*params*/,\n                                                                              std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:134,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:134,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: Botan::Private_Key::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - Lookup_Error
    - fmt
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> Private_Key::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                    std::string_view
      /*params*/,\n                                                                    std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:140,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:140,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: Botan::Private_Key::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - Lookup_Error
    - fmt
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> Private_Key::create_key_agreement_op(RandomNumberGenerator&
      /*rng*/,\n                                                                            std::string_view
      /*params*/,\n                                                                            std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:22,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::X509::PEM_encode
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.cpp
    functionUses: 3
    functionsReached:
    - Botan::PEM_Code::encode
    - subject_public_key
    linkageType: ''
    returnType: std::string
    signature: std::string PEM_encode(const Public_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1::maybe_BER
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:33,1
    - Dst: Botan::PEM_Code::matches
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:33,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:34,1
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:36,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:38,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:41,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:42,1
    - Dst: load_public_key
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:45,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: Botan::X509::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.cpp
    functionUses: 14
    functionsReached:
    - std::vector::empty
    - Botan::PEM_Code::decode_check_label
    - Botan::PEM_Code::matches
    - BER_Decoder
    - Botan::ASN1::maybe_BER
    - Decoding_Error
    - load_public_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> load_key(DataSource& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_decrypt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:26,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: Botan::PK_Decryptor::decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - do_decrypt
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PK_Decryptor::decrypt(const uint8_t in[], size_t
      length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:43,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:55,1
    - Dst: do_decrypt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:63,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:65,1
    - Dst: CT::Mask<uint8_t>
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:66,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:66,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:66,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:68,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:76,1
    - Dst: auto::select_n
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:82,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:82,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:82,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - in
    - length
    - expected_pt_len
    - ' rng'
    - required_content_bytes
    - required_content_offsets
    - required_contents_length
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    - RandomNumberGenerator
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 85
    functionName: Botan::PK_Decryptor::decrypt_or_random
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - do_decrypt
    - CT::Mask<uint8_t>
    - auto::select_n
    - BOTAN_ASSERT
    - random_vec
    - secure_vector::resize
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> PK_Decryptor::decrypt_or_random(const uint8_t
      in[],\n                                                       size_t length,\n
      \                                                      size_t expected_pt_len,\n
      \                                                      RandomNumberGenerator&
      rng,\n                                                       const uint8_t required_content_bytes[],\n
      \                                                      const uint8_t required_content_offsets[],\n
      \                                                      size_t required_contents_length)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Decryptor::decrypt_or_random
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - in
    - length
    - expected_pt_len
    - ' rng'
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: Botan::PK_Decryptor::decrypt_or_random
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 1
    functionsReached:
    - Botan::PK_Decryptor::decrypt_or_random
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> PK_Decryptor::decrypt_or_random(const uint8_t
      in[],\n                                                       size_t length,\n
      \                                                      size_t expected_pt_len,\n
      \                                                      RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_encryption_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:98,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:100,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:100,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - padding
    - provider
    argTypes:
    - Public_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: Botan::PK_Encryptor_EME::PK_Encryptor_EME
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - fmt
    - create_encryption_op
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: "void PK_Encryptor_EME::PK_Encryptor_EME(const Public_Key& key,\n                                   RandomNumberGenerator&
      rng,\n                                   std::string_view padding,\n                                   std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: PK_Encryptor_EME::~PK_Encryptor_EME()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Encryptor_EME::~PK_Encryptor_EME()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::PK_Encryptor_EME::PK_Encryptor_EME
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Encryptor_EME::PK_Encryptor_EME(PK_Encryptor_EME&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Encryptor_EME::ciphertext_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: Botan::PK_Encryptor_EME::ciphertext_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 1
    functionsReached:
    - Botan::PK_Encryptor_EME::ciphertext_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Encryptor_EME::ciphertext_length(size_t ptext_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - length
    - ' rng'
    argTypes:
    - uint8_t[]
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Botan::PK_Encryptor_EME::enc
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - encrypt
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PK_Encryptor_EME::enc(const uint8_t in[], size_t
      length, RandomNumberGenerator& rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: max_input_bits
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan::PK_Encryptor_EME::maximum_input_size
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 1
    functionsReached:
    - max_input_bits
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Encryptor_EME::maximum_input_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_decryption_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:125,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:127,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:127,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - padding
    - provider
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: Botan::PK_Decryptor_EME::PK_Decryptor_EME
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - create_decryption_op
    - fmt
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: "void PK_Decryptor_EME::PK_Decryptor_EME(const Private_Key& key,\n
      \                                  RandomNumberGenerator& rng,\n                                   std::string_view
      padding,\n                                   std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: PK_Decryptor_EME::~PK_Decryptor_EME()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Decryptor_EME::~PK_Decryptor_EME()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan::PK_Decryptor_EME::PK_Decryptor_EME
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Decryptor_EME::PK_Decryptor_EME(PK_Decryptor_EME&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Decryptor_EME::plaintext_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::PK_Decryptor_EME::plaintext_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 1
    functionsReached:
    - Botan::PK_Decryptor_EME::plaintext_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Decryptor_EME::plaintext_length(size_t ctext_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' valid_mask'
    - in
    - in_len
    argTypes:
    - uint8_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Botan::PK_Decryptor_EME::do_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - decrypt
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PK_Decryptor_EME::do_decrypt(uint8_t& valid_mask,
      const uint8_t in[], size_t in_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_kem_encryption_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:145,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:147,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:147,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' key'
    - param
    - provider
    argTypes:
    - Public_Key
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - algo_name
    - fmt
    - create_kem_encryption_op
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void PK_KEM_Encryptor::PK_KEM_Encryptor(const Public_Key& key, std::string_view
      param, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - kem_param
    - provider
    argTypes:
    - Public_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: "void PK_KEM_Encryptor::PK_KEM_Encryptor(const Public_Key& key,\n                                   RandomNumberGenerator&
      rng,\n                                   std::string_view kem_param,\n                                   std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: PK_KEM_Encryptor::~PK_KEM_Encryptor()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_KEM_Encryptor::~PK_KEM_Encryptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_KEM_Encryptor::PK_KEM_Encryptor(PK_KEM_Encryptor&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_KEM_Encryptor::shared_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired_shared_key_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::PK_KEM_Encryptor::shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - Botan::PK_KEM_Encryptor::shared_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_KEM_Encryptor::shared_key_length(size_t desired_shared_key_len)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_KEM_Encryptor::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::PK_KEM_Encryptor::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - Botan::PK_KEM_Encryptor::encapsulated_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_KEM_Encryptor::encapsulated_key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:177,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:177,1
    - Dst: Botan::PK_KEM_Encryptor::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:177,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:178,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:178,1
    - Dst: Botan::PK_KEM_Encryptor::shared_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:178,1
    - Dst: kem_encrypt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    - desired_shared_key_len
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: Botan::PK_KEM_Encryptor::encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 6
    functionsReached:
    - std::span<uint8_t>::size
    - Botan::PK_KEM_Encryptor::shared_key_length
    - kem_encrypt
    - Botan::PK_KEM_Encryptor::encapsulated_key_length
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void PK_KEM_Encryptor::encrypt(std::span<uint8_t> out_encapsulated_key,\n
      \                              std::span<uint8_t> out_shared_key,\n                               RandomNumberGenerator&
      rng,\n                               size_t desired_shared_key_len,\n                               std::span<const
      uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_KEM_Decryptor::shared_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired_shared_key_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: Botan::PK_KEM_Decryptor::shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 4
    functionsReached:
    - Botan::PK_KEM_Decryptor::shared_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_KEM_Decryptor::shared_key_length(size_t desired_shared_key_len)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_KEM_Decryptor::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan::PK_KEM_Decryptor::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 2
    functionsReached:
    - Botan::PK_KEM_Decryptor::encapsulated_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_KEM_Decryptor::encapsulated_key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_kem_decryption_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:195,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:197,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:197,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - param
    - provider
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - create_kem_decryption_op
    - fmt
    - Invalid_Argument
    - algo_name
    linkageType: ''
    returnType: void
    signature: "void PK_KEM_Decryptor::PK_KEM_Decryptor(const Private_Key& key,\n
      \                                  RandomNumberGenerator& rng,\n                                   std::string_view
      param,\n                                   std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: PK_KEM_Decryptor::~PK_KEM_Decryptor()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_KEM_Decryptor::~PK_KEM_Decryptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_KEM_Decryptor::PK_KEM_Decryptor(PK_KEM_Decryptor&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:210,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:210,1
    - Dst: Botan::PK_KEM_Decryptor::shared_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:210,1
    - Dst: kem_decrypt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - out_shared_key
    - encap_key
    - desired_shared_key_len
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: Botan::PK_KEM_Decryptor::decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 6
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<uint8_t>::size
    - Botan::PK_KEM_Decryptor::shared_key_length
    - kem_decrypt
    linkageType: ''
    returnType: void
    signature: "void PK_KEM_Decryptor::decrypt(std::span<uint8_t> out_shared_key,\n
      \                              std::span<const uint8_t> encap_key,\n                               size_t
      desired_shared_key_len,\n                               std::span<const uint8_t>
      salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_key_agreement_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:219,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:221,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:221,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - kdf
    - provider
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: Botan::PK_Key_Agreement::PK_Key_Agreement
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 1
    functionsReached:
    - algo_name
    - fmt
    - Invalid_Argument
    - create_key_agreement_op
    linkageType: ''
    returnType: void
    signature: "void PK_Key_Agreement::PK_Key_Agreement(const Private_Key& key,\n
      \                                  RandomNumberGenerator& rng,\n                                   std::string_view
      kdf,\n                                   std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: PK_Key_Agreement::~PK_Key_Agreement()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Key_Agreement::~PK_Key_Agreement()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: Botan::PK_Key_Agreement::PK_Key_Agreement
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Key_Agreement::PK_Key_Agreement(PK_Key_Agreement&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Key_Agreement::agreed_value_size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: Botan::PK_Key_Agreement::agreed_value_size
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 2
    functionsReached:
    - Botan::PK_Key_Agreement::agreed_value_size
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Key_Agreement::agreed_value_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:238,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:238,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:238,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key_len
    - peer_key
    - peer_key_len
    - salt
    argTypes:
    - size_t
    - uint8_t[]
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: Botan::PK_Key_Agreement::derive_key
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 6
    functionsReached:
    - Botan::PK_Key_Agreement::derive_key
    - cast_char_ptr_to_uint8
    - std::string_view::data
    - std::string_view::length
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey PK_Key_Agreement::derive_key(size_t key_len,\n                                          const
      uint8_t peer_key[],\n                                          size_t peer_key_len,\n
      \                                         std::string_view salt) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:244,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:245,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:245,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:245,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:245,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key_len
    - peer_key
    - salt
    argTypes:
    - size_t
    - std::span<const uint8_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: Botan::PK_Key_Agreement::derive_key
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 7
    functionsReached:
    - std::string_view::data
    - Botan::PK_Key_Agreement::derive_key
    - std::span<const uint8_t>::size
    - std::string_view::length
    - std::span<const uint8_t>::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey PK_Key_Agreement::derive_key(size_t key_len,\n                                          const
      std::span<const uint8_t> peer_key,\n                                          std::string_view
      salt) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:250,1
    - Dst: agree
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_len
    - peer_key
    - peer_key_len
    - salt
    - salt_len
    argTypes:
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: Botan::PK_Key_Agreement::derive_key
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 7
    functionsReached:
    - agree
    - SymmetricKey
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey PK_Key_Agreement::derive_key(\n   size_t key_len, const
      uint8_t peer_key[], size_t peer_key_len, const uint8_t salt[], size_t salt_len)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _signature_element_size_for_DER_encoding
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:258,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:260,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:260,1
    - Dst: create_signature_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:263,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:265,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:265,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - ' key'
    - ' rng'
    - emsa
    - format
    - provider
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - Signature_Format
    - std::string_view
    constantsTouched: []
    func_position:
      end: 267
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 267
    functionName: Botan::PK_Signer::PK_Signer
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - create_signature_op
    - algo_name
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    - fmt
    - _signature_element_size_for_DER_encoding
    - has_value
    linkageType: ''
    returnType: void
    signature: "void PK_Signer::PK_Signer(const Private_Key& key,\n                     RandomNumberGenerator&
      rng,\n                     std::string_view emsa,\n                     Signature_Format
      format,\n                     std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Signer::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: Botan::PK_Signer::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 2
    functionsReached:
    - Botan::PK_Signer::algorithm_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier PK_Signer::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Signer::hash_function
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: Botan::PK_Signer::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 2
    functionsReached:
    - Botan::PK_Signer::hash_function
    linkageType: ''
    returnType: std::string
    signature: std::string PK_Signer::hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: PK_Signer::~PK_Signer()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Signer::~PK_Signer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: Botan::PK_Signer::PK_Signer
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Signer::PK_Signer(PK_Signer&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:283,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:283,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:283,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: Botan::PK_Signer::update
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 8
    functionsReached:
    - Botan::PK_Signer::update
    - cast_char_ptr_to_uint8
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void PK_Signer::update(std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: Botan::PK_Signer::update
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 9
    functionsReached:
    - Botan::PK_Signer::update
    linkageType: ''
    returnType: void
    signature: void PK_Signer::update(const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:293,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:293,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:294,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:299,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:301,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:301,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:301,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sig
    - parts
    - part_size
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 307
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 307
    functionName: Botan::der_encode_signature
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - Encoding_Error
    - std::vector::reserve
    - BufferSlicer::take
    - std::span<const uint8_t>::size
    - DER_Encoder
    - std::vector::emplace_back
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> der_encode_signature(std::span<const uint8_t>
      sig, size_t parts, size_t part_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Signer::signature_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:313,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 353
    functionName: Botan::PK_Signer::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 1
    functionsReached:
    - Internal_Error
    - Botan::PK_Signer::signature_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Signer::signature_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sign
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:356,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:361,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:361,1
    - Dst: der_encode_signature
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:362,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:362,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 366
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 366
    functionName: Botan::PK_Signer::signature
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 6
    functionsReached:
    - sign
    - Internal_Error
    - has_value
    - der_encode_signature
    - value
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PK_Signer::signature(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_verification_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:372,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:374,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:374,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:374,1
    - Dst: _signature_element_size_for_DER_encoding
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:378,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:381,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ' key'
    - emsa
    - format
    - provider
    argTypes:
    - Public_Key
    - std::string_view
    - Signature_Format
    - std::string_view
    constantsTouched: []
    func_position:
      end: 383
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 383
    functionName: Botan::PK_Verifier::PK_Verifier
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - create_verification_op
    - Invalid_Argument
    - algo_name
    - fmt
    - BOTAN_ARG_CHECK
    - _signature_element_size_for_DER_encoding
    - has_value
    linkageType: ''
    returnType: void
    signature: "void PK_Verifier::PK_Verifier(const Public_Key& key,\n                         std::string_view
      emsa,\n                         Signature_Format format,\n                         std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_x509_verification_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:388,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:390,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:390,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:390,1
    - Dst: _default_x509_signature_format
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:393,1
    - Dst: _signature_element_size_for_DER_encoding
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' key'
    - ' signature_algorithm'
    - provider
    argTypes:
    - Public_Key
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: Botan::PK_Verifier::PK_Verifier
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - Invalid_Argument
    - _default_x509_signature_format
    - algo_name
    - fmt
    - create_x509_verification_op
    - _signature_element_size_for_DER_encoding
    linkageType: ''
    returnType: void
    signature: "void PK_Verifier::PK_Verifier(const Public_Key& key,\n                         const
      AlgorithmIdentifier& signature_algorithm,\n                         std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: PK_Verifier::~PK_Verifier()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Verifier::~PK_Verifier()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: Botan::PK_Verifier::PK_Verifier
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Verifier::PK_Verifier(PK_Verifier&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Verifier::hash_function
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: Botan::PK_Verifier::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 2
    functionsReached:
    - Botan::PK_Verifier::hash_function
    linkageType: ''
    returnType: std::string
    signature: std::string PK_Verifier::hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:408,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - Signature_Format
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: Botan::PK_Verifier::set_input_format
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - has_value
    linkageType: ''
    returnType: void
    signature: void PK_Verifier::set_input_format(Signature_Format format)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:414,1
    - Dst: Botan::PK_Verifier::check_signature
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - msg_length
    - sig
    - sig_length
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: Botan::PK_Verifier::verify_message
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 8
    functionsReached:
    - Botan::PK_Verifier::check_signature
    - Botan::PK_Verifier::update
    linkageType: ''
    returnType: bool
    signature: bool PK_Verifier::verify_message(const uint8_t msg[], size_t msg_length,
      const uint8_t sig[], size_t sig_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:419,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:419,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:419,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: Botan::PK_Verifier::update
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 8
    functionsReached:
    - cast_char_ptr_to_uint8
    - Botan::PK_Verifier::update
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void PK_Verifier::update(std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: Botan::PK_Verifier::update
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 9
    functionsReached:
    - Botan::PK_Verifier::update
    linkageType: ''
    returnType: void
    signature: void PK_Verifier::update(const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:431,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:433,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:437,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:439,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:440,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:445,1
    - Dst: Botan::der_encode_signature
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:448,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:450,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:450,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:450,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:450,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - sig
    - length
    - sig_parts
    - sig_part_size
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 454
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 454
    functionName: Botan::decode_der_signature
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::decode
    - std::vector::size
    - std::vector::data
    - BER_Decoder::more_items
    - BER_Decoder::start_sequence
    - Botan::Decoding_Error
    - Botan::CT::is_equal
    - Botan::der_encode_signature
    - BigInt::serialize
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> decode_der_signature(const uint8_t sig[], size_t
      length, size_t sig_parts, size_t sig_part_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_signature
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:461,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:466,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:466,1
    - Dst: decode_der_signature
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:469,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:469,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - sig
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 486
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 486
    functionName: Botan::PK_Verifier::check_signature
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - Internal_Error
    - has_value
    - is_valid_signature
    - decode_der_signature
    - value
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: bool PK_Verifier::check_signature(const uint8_t sig[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> _signature_element_size_for_DER_encoding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/pk_keys.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: get_oid
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 0
    functionsReached:
    - object_identifier
    linkageType: ''
    returnType: OID
    signature: OID get_oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _signature_element_size_for_DER_encoding
      Src: /src/botan/src/lib/pubkey/pk_keys.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: message_parts
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 1
    functionsReached:
    - _signature_element_size_for_DER_encoding
    linkageType: ''
    returnType: size_t
    signature: size_t message_parts() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _signature_element_size_for_DER_encoding
      Src: /src/botan/src/lib/pubkey/pk_keys.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: message_part_size
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 0
    functionsReached:
    - _signature_element_size_for_DER_encoding
    linkageType: ''
    returnType: size_t
    signature: size_t message_part_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _default_x509_signature_format
      Src: /src/botan/src/lib/pubkey/pk_keys.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: default_x509_signature_format
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 2
    functionsReached:
    - _default_x509_signature_format
    linkageType: ''
    returnType: Signature_Format
    signature: Signature_Format default_x509_signature_format() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/pubkey/pk_keys.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: pkcs8_algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 1
    functionsReached:
    - algorithm_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier pkcs8_algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: stateful_operation
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stateful_operation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: remaining_operations
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> remaining_operations() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_hex_fingerprint
      Src: /src/botan/src/lib/pubkey/pk_keys.h:426,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/pk_keys.h:426,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_keys.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vec
    - hash_name
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: create_hex_fingerprint
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 3
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - create_hex_fingerprint
    linkageType: ''
    returnType: std::string
    signature: std::string create_hex_fingerprint(std::span<const uint8_t> vec, std::string_view
      hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_public_key
      Src: /src/botan/src/lib/pubkey/x509_key.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::X509::BER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.h
    functionUses: 4
    functionsReached:
    - subject_public_key
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> BER_encode(const Public_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/pubkey/x509_key.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::X509::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.h
    functionUses: 15
    functionsReached:
    - Botan::X509::load_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> load_key(std::string_view filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/pubkey/x509_key.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' enc'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Botan::X509::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.h
    functionUses: 16
    functionsReached:
    - Botan::X509::load_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> load_key(const std::vector<uint8_t>& enc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/pubkey/x509_key.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enc
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: Botan::X509::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.h
    functionUses: 17
    functionsReached:
    - Botan::X509::load_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> load_key(std::span<const uint8_t> enc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/pubkey/x509_key.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: Botan::X509::copy_key
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.h
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> copy_key(const Public_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: PK_Ops::Signature::algorithm_identifier() const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier PK_Ops::Signature::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EME::create
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - eme
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: PK_Ops::Encryption_with_EME::Encryption_with_EME(std::string_view
      eme)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::EME::create
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Encryption_with_EME::Encryption_with_EME(std::string_view
      eme)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: PK_Ops::Encryption_with_EME::~Encryption_with_EME()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Encryption_with_EME::~Encryption_with_EME()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: maximum_input_size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:34,1
    - Dst: max_ptext_input_bits
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: PK_Ops::Encryption_with_EME::max_input_bits() const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - maximum_input_size
    - max_ptext_input_bits
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Ops::Encryption_with_EME::max_input_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:40,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:40,1
    - Dst: raw_encrypt
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:44,1
    - Dst: first
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: PK_Ops::Encryption_with_EME::encrypt(std::span<const uint8_t> msg,
      RandomNumberGenerator& rng)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    - raw_encrypt
    - first
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PK_Ops::Encryption_with_EME::encrypt(std::span<const
      uint8_t> msg, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EME::create
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - eme
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: PK_Ops::Decryption_with_EME::Decryption_with_EME(std::string_view
      eme)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::EME::create
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Decryption_with_EME::Decryption_with_EME(std::string_view
      eme)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: PK_Ops::Decryption_with_EME::~Decryption_with_EME()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Decryption_with_EME::~Decryption_with_EME()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_decrypt
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:52,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:54,1
    - Dst: unpad
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:55,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:57,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:57,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:69,1
    - Dst: auto::value_or
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' valid_mask'
    - ctext
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: PK_Ops::Decryption_with_EME::decrypt(uint8_t& valid_mask, std::span<const
      uint8_t> ctext)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::from_choice
    - unpad
    - raw_decrypt
    - auto::value_or
    - secure_vector::resize
    - auto::has_value
    - secure_vector::size
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PK_Ops::Decryption_with_EME::decrypt(uint8_t&
      valid_mask, std::span<const uint8_t> ctext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: PK_Ops::Key_Agreement_with_KDF::Key_Agreement_with_KDF(std::string_view
      kdf)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Key_Agreement_with_KDF::Key_Agreement_with_KDF(std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: PK_Ops::Key_Agreement_with_KDF::~Key_Agreement_with_KDF()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Key_Agreement_with_KDF::~Key_Agreement_with_KDF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:84,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:85,1
    - Dst: raw_agree
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:88,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:88,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:88,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:90,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:90,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - key_len
    - other_key
    - salt
    argTypes:
    - size_t
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: "PK_Ops::Key_Agreement_with_KDF::agree(size_t key_len,\n                                                             std::span<const
      uint8_t> other_key,\n                                                             std::span<const
      uint8_t> salt)"
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - raw_agree
    - std::span<const uint8_t>::size
    - derive_key
    - Invalid_Argument
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> PK_Ops::Key_Agreement_with_KDF::agree(size_t
      key_len,\n                                                             std::span<const
      uint8_t> other_key,\n                                                             std::span<const
      uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:98,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:104,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:104,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:105,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:105,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:111,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:112,1
    - Dst: std::make_unique<RawHashFunction>
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:113,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:116,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:117,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:117,1
    - Dst: std::make_unique<RawHashFunction>
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:118,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:118,1
    - Dst: Algorithm_Not_Found
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: Botan::create_signature_hash
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - SCAN_Name::arg_count
    - Algorithm_Not_Found
    - SCAN_Name::arg
    - Botan::HashFunction::create
    - std::make_unique<RawHashFunction>
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> create_signature_hash(std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_signature_hash
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: PK_Ops::Signature_with_Hash::Signature_with_Hash(std::string_view
      hash)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - create_signature_hash
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Signature_with_Hash::Signature_with_Hash(std::string_view
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: PK_Ops::Signature_with_Hash::~Signature_with_Hash()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Signature_with_Hash::~Signature_with_Hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: PK_Ops::Signature_with_Hash::rfc6979_hash_function() const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string PK_Ops::Signature_with_Hash::rfc6979_hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: PK_Ops::Signature_with_Hash::hash_function() const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string PK_Ops::Signature_with_Hash::hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: PK_Ops::Signature_with_Hash::update(std::span<const uint8_t> msg)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Signature_with_Hash::update(std::span<const uint8_t> msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:153,1
    - Dst: raw_sign
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: PK_Ops::Signature_with_Hash::sign(RandomNumberGenerator& rng)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - raw_sign
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PK_Ops::Signature_with_Hash::sign(RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_signature_hash
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: PK_Ops::Verification_with_Hash::Verification_with_Hash(std::string_view
      padding)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - create_signature_hash
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Verification_with_Hash::Verification_with_Hash(std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: PK_Ops::Verification_with_Hash::~Verification_with_Hash()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Verification_with_Hash::~Verification_with_Hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: PK_Ops::Verification_with_Hash::hash_function() const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string PK_Ops::Verification_with_Hash::hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_on
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:169,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:169,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:171,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:172,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:173,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:173,1
    - Dst: parameters_are_empty
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:176,1
    - Dst: parameters_are_null
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:177,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:179,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:179,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:182,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:182,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - ' alg_id'
    - pk_algo
    - allow_null_parameters
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 187
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 187
    functionName: "PK_Ops::Verification_with_Hash::Verification_with_Hash(const AlgorithmIdentifier&
      alg_id,\n                                                       std::string_view
      pk_algo,\n                                                       bool allow_null_parameters)"
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - split_on
    - parameters_are_empty
    - parameters_are_null
    - fmt
    - Botan::HashFunction::create_or_throw
    - oid
    - auto::size
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: "void PK_Ops::Verification_with_Hash::Verification_with_Hash(const
      AlgorithmIdentifier& alg_id,\n                                                       std::string_view
      pk_algo,\n                                                       bool allow_null_parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: PK_Ops::Verification_with_Hash::update(std::span<const uint8_t>
      msg)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Verification_with_Hash::update(std::span<const uint8_t>
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:194,1
    - Dst: verify
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: PK_Ops::Verification_with_Hash::is_valid_signature(std::span<const
      uint8_t> sig)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - verify
    - final_stdvec
    linkageType: ''
    returnType: bool
    signature: bool PK_Ops::Verification_with_Hash::is_valid_signature(std::span<const
      uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Ops::KEM_Encryption_with_KDF::raw_kem_shared_key_length
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - desired_shared_key_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: PK_Ops::KEM_Encryption_with_KDF::shared_key_length(size_t desired_shared_key_len)
      const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - PK_Ops::KEM_Encryption_with_KDF::raw_kem_shared_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Ops::KEM_Encryption_with_KDF::shared_key_length(size_t desired_shared_key_len)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:211,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:211,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:212,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:212,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:212,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:215,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:216,1
    - Dst: "PK_Ops::KEM_Encryption_with_KDF::kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n
        \                                                 std::span<uint8_t> out_shared_key,\n
        \                                                 RandomNumberGenerator& rng,\n
        \                                                 size_t desired_shared_key_len,\n
        \                                                 std::raw_kem_encrypt"
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:219,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:220,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:222,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:222,1
    - Dst: raw_kem_shared_key_length
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:222,1
    - Dst: "PK_Ops::KEM_Encryption_with_KDF::kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n
        \                                                 std::span<uint8_t> out_shared_key,\n
        \                                                 RandomNumberGenerator& rng,\n
        \                                                 size_t desired_shared_key_len,\n
        \                                                 std::raw_kem_encrypt"
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    - desired_shared_key_len
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 225
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 225
    functionName: "PK_Ops::KEM_Encryption_with_KDF::kem_encrypt(std::span<uint8_t>
      out_encapsulated_key,\n                                                  std::span<uint8_t>
      out_shared_key,\n                                                  RandomNumberGenerator&
      rng,\n                                                  size_t desired_shared_key_len,\n
      \                                                 std::span<const uint8_t> salt)"
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - raw_kem_shared_key_length
    - encapsulated_key_length
    - "PK_Ops::KEM_Encryption_with_KDF::kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n
      \                                                 std::span<uint8_t> out_shared_key,\n
      \                                                 RandomNumberGenerator& rng,\n
      \                                                 size_t desired_shared_key_len,\n
      \                                                 std::raw_kem_encrypt"
    - std::span<const uint8_t>::empty
    - BOTAN_ASSERT_EQUAL
    - derive_key
    - BOTAN_ARG_CHECK
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void PK_Ops::KEM_Encryption_with_KDF::kem_encrypt(std::span<uint8_t>
      out_encapsulated_key,\n                                                  std::span<uint8_t>
      out_shared_key,\n                                                  RandomNumberGenerator&
      rng,\n                                                  size_t desired_shared_key_len,\n
      \                                                 std::span<const uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: PK_Ops::KEM_Encryption_with_KDF::KEM_Encryption_with_KDF(std::string_view
      kdf)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: void
    signature: void PK_Ops::KEM_Encryption_with_KDF::KEM_Encryption_with_KDF(std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: PK_Ops::KEM_Encryption_with_KDF::~KEM_Encryption_with_KDF()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::KEM_Encryption_with_KDF::~KEM_Encryption_with_KDF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Ops::KEM_Decryption_with_KDF::raw_kem_shared_key_length
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - desired_shared_key_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: PK_Ops::KEM_Decryption_with_KDF::shared_key_length(size_t desired_shared_key_len)
      const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - PK_Ops::KEM_Decryption_with_KDF::raw_kem_shared_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Ops::KEM_Decryption_with_KDF::shared_key_length(size_t desired_shared_key_len)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:247,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:247,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:250,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:251,1
    - Dst: "PK_Ops::KEM_Decryption_with_KDF::kem_decrypt(std::span<uint8_t> out_shared_key,\n
        \                                                 std::span<const uint8_t>
        encapsulated_key,\n                                                  size_t
        desired_shared_key_len,\n                                                  std::raw_kem_decrypt"
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:254,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:255,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:257,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:257,1
    - Dst: raw_kem_shared_key_length
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:257,1
    - Dst: "PK_Ops::KEM_Decryption_with_KDF::kem_decrypt(std::span<uint8_t> out_shared_key,\n
        \                                                 std::span<const uint8_t>
        encapsulated_key,\n                                                  size_t
        desired_shared_key_len,\n                                                  std::raw_kem_decrypt"
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - out_shared_key
    - encapsulated_key
    - desired_shared_key_len
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: "PK_Ops::KEM_Decryption_with_KDF::kem_decrypt(std::span<uint8_t>
      out_shared_key,\n                                                  std::span<const
      uint8_t> encapsulated_key,\n                                                  size_t
      desired_shared_key_len,\n                                                  std::span<const
      uint8_t> salt)"
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - raw_kem_shared_key_length
    - BOTAN_ASSERT_EQUAL
    - derive_key
    - BOTAN_ARG_CHECK
    - "PK_Ops::KEM_Decryption_with_KDF::kem_decrypt(std::span<uint8_t> out_shared_key,\n
      \                                                 std::span<const uint8_t> encapsulated_key,\n
      \                                                 size_t desired_shared_key_len,\n
      \                                                 std::raw_kem_decrypt"
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: "void PK_Ops::KEM_Decryption_with_KDF::kem_decrypt(std::span<uint8_t>
      out_shared_key,\n                                                  std::span<const
      uint8_t> encapsulated_key,\n                                                  size_t
      desired_shared_key_len,\n                                                  std::span<const
      uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: PK_Ops::KEM_Decryption_with_KDF::KEM_Decryption_with_KDF(std::string_view
      kdf)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: void
    signature: void PK_Ops::KEM_Decryption_with_KDF::KEM_Decryption_with_KDF(std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: PK_Ops::KEM_Decryption_with_KDF::~KEM_Decryption_with_KDF()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::KEM_Decryption_with_KDF::~KEM_Decryption_with_KDF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' source'
    - ' pbe_alg_id'
    argTypes:
    - DataSource
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: Botan::PKCS8::PKCS8_extract
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PKCS8_extract(DataSource& source, AlgorithmIdentifier&
      pbe_alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1::maybe_BER
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:50,1
    - Dst: Botan::PEM_Code::matches
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:50,1
    - Dst: Botan::PKCS8::PKCS8_extract
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:52,1
    - Dst: end_of_data
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:55,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:59,1
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:65,1
    - Dst: Botan::PKCS8::PKCS8_extract
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:72,1
    - Dst: PKCS8_Exception
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:74,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:74,1
    - Dst: secure_vector::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:78,1
    - Dst: PKCS8_Exception
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:79,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:82,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:87,1
    - Dst: PKCS8_Exception
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:88,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:88,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:88,1
    - Dst: pbes2_decrypt
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:92,1
    - Dst: get_passphrase
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:92,1
    - Dst: AlgorithmIdentifier::parameters
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:92,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:94,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:95,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:101,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:109,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 4
    argNames:
    - ' source'
    - ' get_passphrase'
    - ' pk_alg_id'
    - is_encrypted
    argTypes:
    - DataSource
    - std::function<std::string()>
    - AlgorithmIdentifier
    - bool
    constantsTouched: []
    func_position:
      end: 112
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 112
    functionName: Botan::PKCS8::PKCS8_decode
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - pbes2_decrypt
    - AlgorithmIdentifier::parameters
    - Botan::PEM_Code::decode
    - secure_vector::push_back
    - Botan::PEM_Code::matches
    - BER_Decoder
    - Botan::PKCS8::PKCS8_extract
    - Decoding_Error
    - PKCS8_Exception
    - get_passphrase
    - Botan::ASN1::maybe_BER
    - fmt
    - AlgorithmIdentifier::oid
    - end_of_data
    - secure_vector::empty
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> PKCS8_decode(DataSource& source,\n                                    const
      std::function<std::string()>& get_passphrase,\n                                    AlgorithmIdentifier&
      pk_alg_id,\n                                    bool is_encrypted)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:120,1
    - Dst: private_key_info
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Private_Key
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: Botan::PKCS8::PEM_encode
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 6
    functionsReached:
    - Botan::PEM_Code::encode
    - private_key_info
    linkageType: ''
    returnType: std::string
    signature: std::string PEM_encode(const Private_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:128,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:138,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:140,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:145,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:150,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:150,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:150,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:151,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:151,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:154,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:154,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - pbe_algo
    - key_algo
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 155
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 155
    functionName: Botan::PKCS8::choose_pbe_params
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 0
    functionsReached:
    - SCAN_Name::arg_count
    - std::string_view::empty
    - std::make_pair
    - Invalid_Argument
    - SCAN_Name::arg
    - fmt
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: std::pair<std::string, std::string>
    signature: std::pair<std::string, std::string> choose_pbe_params(std::string_view
      pbe_algo, std::string_view key_algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::choose_pbe_params
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:170,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:170,1
    - Dst: pbes2_encrypt_msec
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:173,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:173,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:177,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:181,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' key'
    - ' rng'
    - pass
    - msec
    - pbe_algo
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::chrono::milliseconds
    - std::string_view
    constantsTouched: []
    func_position:
      end: 184
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: Botan::PKCS8::BER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 4
    functionsReached:
    - BOTAN_UNUSED
    - Encoding_Error
    - pbes2_encrypt_msec
    - Botan::PKCS8::BER_encode
    - Botan::PKCS8::choose_pbe_params
    - DER_Encoder::start_sequence
    - algo_name
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> BER_encode(const Private_Key& key,\n                                RandomNumberGenerator&
      rng,\n                                std::string_view pass,\n                                std::chrono::milliseconds
      msec,\n                                std::string_view pbe_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:194,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:195,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:198,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' key'
    - ' rng'
    - pass
    - msec
    - pbe_algo
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::chrono::milliseconds
    - std::string_view
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: Botan::PKCS8::PEM_encode
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 7
    functionsReached:
    - Botan::PEM_Code::encode
    - Botan::PKCS8::BER_encode
    - Botan::PKCS8::PEM_encode
    - std::string_view::empty
    linkageType: ''
    returnType: std::string
    signature: "std::string PEM_encode(const Private_Key& key,\n                       RandomNumberGenerator&
      rng,\n                       std::string_view pass,\n                       std::chrono::milliseconds
      msec,\n                       std::string_view pbe_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pbes2_encrypt_iter
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:212,1
    - Dst: private_key_info
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:212,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:215,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:216,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:221,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:226,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ' key'
    - ' rng'
    - pass
    - pbkdf_iterations
    - cipher
    - pbkdf_hash
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - size_t
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 229
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 229
    functionName: Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_UNUSED
    - pbes2_encrypt_iter
    - Encoding_Error
    - std::string_view::empty
    - private_key_info
    - DER_Encoder::start_sequence
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> BER_encode_encrypted_pbkdf_iter(const Private_Key&
      key,\n                                                     RandomNumberGenerator&
      rng,\n                                                     std::string_view
      pass,\n                                                     size_t pbkdf_iterations,\n
      \                                                    std::string_view cipher,\n
      \                                                    std::string_view pbkdf_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:240,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' key'
    - ' rng'
    - pass
    - pbkdf_iterations
    - cipher
    - pbkdf_hash
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - size_t
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 2
    functionsReached:
    - Botan::PEM_Code::encode
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
    linkageType: ''
    returnType: std::string
    signature: "std::string PEM_encode_encrypted_pbkdf_iter(const Private_Key& key,\n
      \                                           RandomNumberGenerator& rng,\n                                            std::string_view
      pass,\n                                            size_t pbkdf_iterations,\n
      \                                           std::string_view cipher,\n                                            std::string_view
      pbkdf_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pbes2_encrypt_msec
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:256,1
    - Dst: private_key_info
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:256,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:260,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:261,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:265,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:273,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - ' key'
    - ' rng'
    - pass
    - pbkdf_msec
    - pbkdf_iterations
    - cipher
    - pbkdf_hash
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::chrono::milliseconds
    - size_t*
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 276
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 276
    functionName: Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_UNUSED
    - Encoding_Error
    - pbes2_encrypt_msec
    - std::string_view::empty
    - private_key_info
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> BER_encode_encrypted_pbkdf_msec(const Private_Key&
      key,\n                                                     RandomNumberGenerator&
      rng,\n                                                     std::string_view
      pass,\n                                                     std::chrono::milliseconds
      pbkdf_msec,\n                                                     size_t* pbkdf_iterations,\n
      \                                                    std::string_view cipher,\n
      \                                                    std::string_view pbkdf_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:288,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' key'
    - ' rng'
    - pass
    - pbkdf_msec
    - pbkdf_iterations
    - cipher
    - pbkdf_hash
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::chrono::milliseconds
    - size_t*
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 2
    functionsReached:
    - Botan::PEM_Code::encode
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
    linkageType: ''
    returnType: std::string
    signature: "std::string PEM_encode_encrypted_pbkdf_msec(const Private_Key& key,\n
      \                                           RandomNumberGenerator& rng,\n                                            std::string_view
      pass,\n                                            std::chrono::milliseconds
      pbkdf_msec,\n                                            size_t* pbkdf_iterations,\n
      \                                           std::string_view cipher,\n                                            std::string_view
      pbkdf_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::PKCS8_decode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:302,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:304,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:305,1
    - Dst: PKCS8_Exception
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:306,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:306,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:306,1
    - Dst: load_private_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' source'
    - ' get_pass'
    - is_encrypted
    argTypes:
    - DataSource
    - std::function<std::string()>
    - bool
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 24
    functionsReached:
    - load_private_key
    - PKCS8_Exception
    - fmt
    - std::string::empty
    - AlgorithmIdentifier::oid
    - Botan::PKCS8::PKCS8_decode
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: "std::unique_ptr<Private_Key> load_key(DataSource& source,\n                                      const
      std::function<std::string()>& get_pass,\n                                      bool
      is_encrypted)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' source'
    - ' get_pass'
    argTypes:
    - DataSource
    - std::function<std::string()>
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 25
    functionsReached:
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> load_key(DataSource& source, const std::function<std::string()>&
      get_pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - ' get_passphrase'
    argTypes:
    - std::span<const uint8_t>
    - std::function<std::string()>
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 26
    functionsReached:
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: "std::unique_ptr<Private_Key> load_key(std::span<const uint8_t> source,\n
      \                                     const std::function<std::string()>& get_passphrase)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - pass
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 27
    functionsReached:
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> load_key(std::span<const uint8_t> source,
      std::string_view pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 28
    functionsReached:
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> load_key(std::span<const uint8_t> source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:341,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' source'
    - pass
    argTypes:
    - DataSource
    - std::string_view
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 29
    functionsReached:
    - Botan::PKCS8::load_key
    - std::string
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> load_key(DataSource& source, std::string_view
      pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_Exception
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:350,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 30
    functionsReached:
    - Botan::PKCS8::load_key
    - PKCS8_Exception
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> load_key(DataSource& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::PK_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Encryptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~PK_Encryptor()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PK_Encryptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::PK_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Encryptor(const PK_Encryptor&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::PK_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Encryptor(PK_Encryptor&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: ~PK_Decryptor()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PK_Decryptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: PK_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Decryptor(const PK_Decryptor&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: PK_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Decryptor(PK_Decryptor&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Signer
      Src: /src/botan/src/lib/pubkey/pubkey.h:165,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pubkey.h:187,1
    - Dst: signature
      Src: /src/botan/src/lib/pubkey/pubkey.h:188,1
    - Dst: sign_message
      Src: /src/botan/src/lib/pubkey/pubkey.h:198,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:198,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:198,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pubkey.h:205,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pubkey.h:218,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:218,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 265
    functionName: final
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 92
    functionsReached:
    - update
    - data
    - PK_Signer
    - signature
    - size
    - sign_message
    linkageType: ''
    returnType: PK_Signer
    signature: PK_Signer final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Verifier
      Src: /src/botan/src/lib/pubkey/pubkey.h:281,1
    - Dst: verify_message
      Src: /src/botan/src/lib/pubkey/pubkey.h:326,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:326,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:326,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:326,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:326,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pubkey.h:334,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pubkey.h:349,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:349,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:349,1
    - Dst: check_signature
      Src: /src/botan/src/lib/pubkey/pubkey.h:372,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:372,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:372,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/pubkey.h:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 392
    functionName: final
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 92
    functionsReached:
    - BOTAN_DEPRECATED
    - update
    - PK_Verifier
    - data
    - size
    - check_signature
    - verify_message
    linkageType: ''
    returnType: PK_Verifier
    signature: PK_Verifier final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Key_Agreement
      Src: /src/botan/src/lib/pubkey/pubkey.h:406,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/pubkey.h:441,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:441,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 473
    functionName: final
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 92
    functionsReached:
    - data
    - derive_key
    - PK_Key_Agreement
    - size
    linkageType: ''
    returnType: PK_Key_Agreement
    signature: PK_Key_Agreement final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 513
    functionName: PK_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PK_Encryptor_EME
    signature: PK_Encryptor_EME PK_Encryptor
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Decryptor_EME
      Src: /src/botan/src/lib/pubkey/pubkey.h:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 546
    functionName: PK_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached:
    - PK_Decryptor_EME
    linkageType: ''
    returnType: PK_Decryptor_EME
    signature: PK_Decryptor_EME PK_Decryptor
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pubkey.h:554,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pubkey.h:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - encapsulated_shared_key
    - shared_key
    argTypes:
    - std::vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 554
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 554
    functionName: KEM_Encapsulation::KEM_Encapsulation
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KEM_Encapsulation(std::vector<uint8_t> encapsulated_shared_key,
      secure_vector<uint8_t> shared_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 559
    functionName: '& encapsulated_shared_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & encapsulated_shared_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 564
    functionName: '& shared_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & shared_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/pubkey.h:570,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/pubkey.h:570,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/pubkey.h:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' kem'
    argTypes:
    - KEM_Encapsulation
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: KEM_Encapsulation::destructure
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::exchange
    linkageType: ''
    returnType: std::pair<std::vector<uint8_t>, secure_vector<uint8_t>>
    signature: std::pair<std::vector<uint8_t>, secure_vector<uint8_t>> destructure(KEM_Encapsulation&&
      kem)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - encapsulated_size
    - shared_key_size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    functionName: KEM_Encapsulation::KEM_Encapsulation
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KEM_Encapsulation(size_t encapsulated_size, size_t shared_key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_KEM_Encryptor
      Src: /src/botan/src/lib/pubkey/pubkey.h:595,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/pubkey.h:604,1
    - Dst: encrypt
      Src: /src/botan/src/lib/pubkey/pubkey.h:656,1
    - Dst: KEM_Encapsulation
      Src: /src/botan/src/lib/pubkey/pubkey.h:657,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pubkey.h:657,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pubkey.h:657,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/pubkey.h:675,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.h:675,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/pubkey.h:676,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.h:676,1
    - Dst: encrypt
      Src: /src/botan/src/lib/pubkey/pubkey.h:677,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/pubkey.h:696,1
    - Dst: encrypt
      Src: /src/botan/src/lib/pubkey/pubkey.h:703,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/pubkey.h:706,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/pubkey.h:712,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.h:712,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/pubkey.h:713,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.h:713,1
    - Dst: encrypt
      Src: /src/botan/src/lib/pubkey/pubkey.h:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 719
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 719
    functionName: final
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 92
    functionsReached:
    - std::move
    - PK_KEM_Encryptor
    - BOTAN_DEPRECATED
    - encapsulated_key_length
    - shared_key_length
    - KEM_Encapsulation
    - encrypt
    - resize
    linkageType: ''
    returnType: PK_KEM_Encryptor
    signature: PK_KEM_Encryptor final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_KEM_Decryptor
      Src: /src/botan/src/lib/pubkey/pubkey.h:733,1
    - Dst: decrypt
      Src: /src/botan/src/lib/pubkey/pubkey.h:801,1
    - Dst: decrypt
      Src: /src/botan/src/lib/pubkey/pubkey.h:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 826
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 826
    functionName: final
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 92
    functionsReached:
    - PK_KEM_Decryptor
    - decrypt
    linkageType: ''
    returnType: PK_KEM_Decryptor
    signature: PK_KEM_Decryptor final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: Botan::Decoding_Error
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: PKCS8_Exception
    signature: PKCS8_Exception Decoding_Error
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: private_key_info
      Src: /src/botan/src/lib/pubkey/pkcs8.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Private_Key
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::PKCS8::BER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.h
    functionUses: 5
    functionsReached:
    - private_key_info
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> BER_encode(const Private_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: private_key_info
      Src: /src/botan/src/lib/pubkey/pkcs8.h:237,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Private_Key
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: Botan::PKCS8::copy_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.h
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::load_key
    - private_key_info
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> copy_key(const Private_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Botan::ecp_work_factor
    functionSourceFile: /src/botan/src/lib/pubkey/workfactor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ecp_work_factor(size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/workfactor.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bits
    - log2_k
    argTypes:
    - size_t
    - double
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: Botan::nfs_workfactor
    functionSourceFile: /src/botan/src/lib/pubkey/workfactor.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t nfs_workfactor(size_t bits, double log2_k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::nfs_workfactor
      Src: /src/botan/src/lib/pubkey/workfactor.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: Botan::if_work_factor
    functionSourceFile: /src/botan/src/lib/pubkey/workfactor.cpp
    functionUses: 2
    functionsReached:
    - Botan::nfs_workfactor
    linkageType: ''
    returnType: size_t
    signature: size_t if_work_factor(size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::if_work_factor
      Src: /src/botan/src/lib/pubkey/workfactor.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Botan::dl_work_factor
    functionSourceFile: /src/botan/src/lib/pubkey/workfactor.cpp
    functionUses: 1
    functionsReached:
    - Botan::if_work_factor
    linkageType: ''
    returnType: size_t
    signature: size_t dl_work_factor(size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: Botan::dl_exponent_size
    functionSourceFile: /src/botan/src/lib/pubkey/workfactor.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dl_exponent_size(size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: Botan::PK_Ops::Encryption
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Encryption
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: Botan::PK_Ops::Decryption
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Decryption
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: Botan::PK_Ops::Verification
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Verification
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 137
    functionName: Botan::PK_Ops::Signature
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Signature
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: Botan::PK_Ops::Key_Agreement
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Key_Agreement
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: Botan::PK_Ops::KEM_Encryption
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API KEM_Encryption
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: Botan::PK_Ops::KEM_Decryption
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API KEM_Decryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:39,1
    - Dst: is_slh_dsa
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:39,1
    - Dst: StrongSpan<const SphincsContext>::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:39,1
    - Dst: is_slh_dsa
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:41,1
    - Dst: Botan::concat
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:45,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:46,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:46,1
    - Dst: Botan::checked_cast_to
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:46,1
    - Dst: StrongSpan<const SphincsContext>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:46,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:47,1
    - Dst: is_slh_dsa
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:52,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:56,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - ' params'
    - context
    argTypes:
    - SphincsInputMessage
    - Sphincs_Parameters
    - StrongSpan<const SphincsContext>
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: Botan::prepare_message
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::concat
    - StrongSpan<const SphincsContext>::empty
    - Botan::store_be
    - Internal_Error
    - StrongSpan<const SphincsContext>::size
    - is_slh_dsa
    - BOTAN_ARG_CHECK
    - Botan::checked_cast_to
    linkageType: ''
    returnType: SphincsMessageInternal
    signature: "SphincsMessageInternal prepare_message(SphincsInputMessage msg,\n
      \                                      const Sphincs_Parameters& params,\n                                       StrongSpan<const
      SphincsContext> context)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:69,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - params
    - public_seed
    - sphincs_root
    argTypes:
    - Sphincs_Parameters
    - SphincsPublicSeed
    - SphincsTreeNode
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan::SphincsPlus_PublicKeyInternal::SphincsPlus_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SphincsPlus_PublicKeyInternal(Sphincs_Parameters params,\n                                    SphincsPublicSeed
      public_seed,\n                                    SphincsTreeNode sphincs_root)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:72,1
    - Dst: public_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:72,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:73,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:77,1
    - Dst: Sphincs_Parameters::n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:77,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:78,1
    - Dst: Sphincs_Parameters::n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:78,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:80,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - params
    - key_bits
    argTypes:
    - Sphincs_Parameters
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: Botan::SphincsPlus_PublicKeyInternal::SphincsPlus_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::empty
    - BufferSlicer::copy
    - std::span<const uint8_t>::size
    - Sphincs_Parameters::n
    - public_key_bytes
    - Decoding_Error
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PublicKeyInternal(Sphincs_Parameters params, std::span<const
      uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::SphincsPlus_PublicKeyInternal::key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - concat
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: '& seed() const'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsPublicSeed
    signature: SphincsPublicSeed & seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '& root() const'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsTreeNode
    signature: SphincsTreeNode & root() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '& parameters() const'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Sphincs_Parameters
    signature: Sphincs_Parameters & parameters() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:100,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - secret_seed
    - prf
    argTypes:
    - SphincsSecretSeed
    - SphincsSecretPRF
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: Botan::SphincsPlus_PrivateKeyInternal::SphincsPlus_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PrivateKeyInternal(SphincsSecretSeed secret_seed,
      SphincsSecretPRF prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:103,1
    - Dst: private_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:103,1
    - Dst: public_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:103,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:104,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:108,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:108,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:109,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:109,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:111,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' params'
    - key_bits
    argTypes:
    - Sphincs_Parameters
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: Botan::SphincsPlus_PrivateKeyInternal::SphincsPlus_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::empty
    - BufferSlicer::copy
    - std::span<const uint8_t>::size
    - public_key_bytes
    - Decoding_Error
    - n
    - private_key_bytes
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PrivateKeyInternal(const Sphincs_Parameters& params,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: '& seed() const'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsSecretSeed
    signature: SphincsSecretSeed & seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '& prf() const'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsSecretPRF
    signature: SphincsSecretPRF & prf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::SphincsPlus_PrivateKeyInternal::key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - concat
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pub_key
    - type
    - hash
    argTypes:
    - std::span<const uint8_t>
    - Sphincs_Parameter_Set
    - Sphincs_Hash_Type
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: Botan::SphincsPlus_PublicKey::SphincsPlus_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: void
    signature: "void SphincsPlus_PublicKey::SphincsPlus_PublicKey(std::span<const
      uint8_t> pub_key,\n                                             Sphincs_Parameter_Set
      type,\n                                             Sphincs_Hash_Type hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SphincsPlus_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:131,1
    - Dst: Sphincs_Parameters::is_available
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:132,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pub_key
    - params
    argTypes:
    - std::span<const uint8_t>
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: Botan::SphincsPlus_PublicKey::SphincsPlus_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Sphincs_Parameters::is_available
    - Not_Implemented
    - std::make_shared<SphincsPlus_PublicKeyInternal>
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PublicKey::SphincsPlus_PublicKey(std::span<const uint8_t>
      pub_key, Sphincs_Parameters params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:138,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: Botan::SphincsPlus_PublicKey::SphincsPlus_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - oid
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PublicKey::SphincsPlus_PublicKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: SphincsPlus_PublicKey::~SphincsPlus_PublicKey()
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PublicKey::~SphincsPlus_PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::SphincsPlus_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: size_t
    signature: size_t SphincsPlus_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan::SphincsPlus_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: std::string
    signature: std::string SphincsPlus_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: Botan::SphincsPlus_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: size_t
    signature: size_t SphincsPlus_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Botan::SphincsPlus_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier SphincsPlus_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Botan::SphincsPlus_PublicKey::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: OID
    signature: OID SphincsPlus_PublicKey::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: Botan::SphincsPlus_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SphincsPlus_PublicKey::check_key(RandomNumberGenerator&, bool)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_bits
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Botan::SphincsPlus_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> SphincsPlus_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SphincsPlus_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: Botan::SphincsPlus_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::SphincsPlus_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> SphincsPlus_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SphincsPlus_PrivateKey>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:178,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: Botan::SphincsPlus_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SphincsPlus_PrivateKey>
    - parameters
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> SphincsPlus_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:184,1
    - Dst: Botan::Sphincs_Hash_Functions::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:185,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:185,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:185,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:187,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:187,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:189,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pub_key
    argTypes:
    - std::shared_ptr<SphincsPlus_PublicKeyInternal>
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: Botan::SphincsPlus_Verification_Operation::SphincsPlus_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - parameters
    - Not_Implemented
    - size
    - BOTAN_ARG_CHECK
    - seed
    - Botan::Sphincs_Hash_Functions::create
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_Verification_Operation(std::shared_ptr<SphincsPlus_PublicKeyInternal>
      pub_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:200,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:200,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:200,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: Botan::SphincsPlus_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    - get
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prepare_message
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:207,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:207,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:207,1
    - Dst: Botan::SphincsPlus_Verification_Operation::slh_verify_internal
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: Botan::SphincsPlus_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::SphincsPlus_Verification_Operation::slh_verify_internal
    - prepare_message
    - parameters
    - std::exchange
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: msg_hash_function_name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: Botan::SphincsPlus_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - msg_hash_function_name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:216,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:217,1
    - Dst: sphincs_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:217,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:223,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:223,1
    - Dst: Sphincs_Address::set_tree_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:228,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:229,1
    - Dst: fors_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:229,1
    - Dst: fors_public_key_from_signature
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:230,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:233,1
    - Dst: ht_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:233,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:234,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:234,1
    - Dst: ht_verify
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:235,1
    - Dst: root
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' msg'
    - sig
    argTypes:
    - SphincsMessageInternal
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 236
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 236
    functionName: Botan::SphincsPlus_Verification_Operation::slh_verify_internal
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 1
    functionsReached:
    - ht_verify
    - fors_public_key_from_signature
    - BufferSlicer::take
    - fors_signature_bytes
    - parameters
    - BufferSlicer::empty
    - root
    - std::span<const uint8_t>::size
    - Sphincs_Address::set_tree_address
    - BOTAN_ASSERT_NOMSG
    - n
    - sphincs_signature_bytes
    - ht_signature_bytes
    linkageType: ''
    returnType: bool
    signature: bool slh_verify_internal(const SphincsMessageInternal& msg, std::span<const
      uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:246,1
    - Dst: std::make_unique<SphincsPlus_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:247,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:249,1
    - Dst: Botan::SphincsPlus_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - provider
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: Botan::SphincsPlus_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SphincsPlus_Verification_Operation>
    - Provider_Not_Found
    - Botan::SphincsPlus_PublicKey::algo_name
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> SphincsPlus_PublicKey::create_verification_op(std::string_view
      /*params*/,\n                                                                                    std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:254,1
    - Dst: Botan::SphincsPlus_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:255,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:256,1
    - Dst: std::make_unique<SphincsPlus_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:258,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:260,1
    - Dst: Botan::SphincsPlus_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: Botan::SphincsPlus_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::SphincsPlus_PublicKey::algo_name
    - std::string_view::empty
    - std::make_unique<SphincsPlus_Verification_Operation>
    - Provider_Not_Found
    - Decoding_Error
    - Botan::SphincsPlus_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> SphincsPlus_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: Botan::SphincsPlus_PublicKey::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SphincsPlus_PublicKey::supports_operation(PublicKeyOperation op)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:270,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:276,1
    - Dst: auto::private_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:276,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:277,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:280,1
    - Dst: auto::private_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:280,1
    - Dst: auto::public_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' oid'
    - key_bits
    argTypes:
    - OID
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: Botan::slice_off_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Decoding_Error
    - std::span<const uint8_t>::subspan
    - Botan::Sphincs_Parameters::create
    - std::span<const uint8_t>::size
    - auto::private_key_bytes
    - auto::public_key_bytes
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> slice_off_public_key(const OID& oid, std::span<const
      uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - private_key
    - type
    - hash
    argTypes:
    - std::span<const uint8_t>
    - Sphincs_Parameter_Set
    - Sphincs_Hash_Type
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: Botan::SphincsPlus_PrivateKey::SphincsPlus_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: void
    signature: "void SphincsPlus_PrivateKey::SphincsPlus_PrivateKey(std::span<const
      uint8_t> private_key,\n                                               Sphincs_Parameter_Set
      type,\n                                               Sphincs_Hash_Type hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:291,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: Botan::SphincsPlus_PrivateKey::SphincsPlus_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - oid
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PrivateKey::SphincsPlus_PrivateKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_off_public_key
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:294,1
    - Dst: Sphincs_Parameters::object_identifier
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:294,1
    - Dst: Sphincs_Parameters::is_available
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:295,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:296,1
    - Dst: Sphincs_Parameters::private_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:299,1
    - Dst: Sphincs_Parameters::public_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:299,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:300,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:300,1
    - Dst: std::make_shared<SphincsPlus_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:302,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - private_key
    - params
    argTypes:
    - std::span<const uint8_t>
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: Botan::SphincsPlus_PrivateKey::SphincsPlus_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::first
    - slice_off_public_key
    - std::make_shared<SphincsPlus_PrivateKeyInternal>
    - Sphincs_Parameters::object_identifier
    - Not_Implemented
    - std::span<const uint8_t>::size
    - Sphincs_Parameters::is_available
    - Sphincs_Parameters::private_key_bytes
    - Sphincs_Parameters::public_key_bytes
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PrivateKey::SphincsPlus_PrivateKey(std::span<const
      uint8_t> private_key, Sphincs_Parameters params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - type
    - hash
    argTypes:
    - RandomNumberGenerator
    - Sphincs_Parameter_Set
    - Sphincs_Hash_Type
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: Botan::SphincsPlus_PrivateKey::SphincsPlus_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: void
    signature: "void SphincsPlus_PrivateKey::SphincsPlus_PrivateKey(RandomNumberGenerator&
      rng,\n                                               Sphincs_Parameter_Set type,\n
      \                                              Sphincs_Hash_Type hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sphincs_Parameters::is_available
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:312,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:313,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:315,1
    - Dst: Sphincs_Parameters::n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:315,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:316,1
    - Dst: Sphincs_Parameters::n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:316,1
    - Dst: std::make_shared<SphincsPlus_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:318,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:318,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:318,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:320,1
    - Dst: Sphincs_Parameters::n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:320,1
    - Dst: Botan::Sphincs_Hash_Functions::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:321,1
    - Dst: xmss_gen_root
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:322,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:322,1
    - Dst: std::make_shared<SphincsPlus_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:324,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:324,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' rng'
    - params
    argTypes:
    - RandomNumberGenerator
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 325
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 325
    functionName: Botan::SphincsPlus_PrivateKey::SphincsPlus_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - xmss_gen_root
    - std::make_shared<SphincsPlus_PrivateKeyInternal>
    - Not_Implemented
    - Sphincs_Parameters::n
    - random_vec
    - Sphincs_Parameters::is_available
    - seed
    - Botan::Sphincs_Hash_Functions::create
    - std::make_shared<SphincsPlus_PublicKeyInternal>
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PrivateKey::SphincsPlus_PrivateKey(RandomNumberGenerator&
      rng, Sphincs_Parameters params)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: SphincsPlus_PrivateKey::~SphincsPlus_PrivateKey()
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PrivateKey::~SphincsPlus_PrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:330,1
    - Dst: key_bits
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:330,1
    - Dst: key_bits
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: Botan::SphincsPlus_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 1
    functionsReached:
    - key_bits
    - concat
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> SphincsPlus_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SphincsPlus_PrivateKey::private_key_bits
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: Botan::SphincsPlus_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::SphincsPlus_PrivateKey::private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> SphincsPlus_PrivateKey::raw_private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SphincsPlus_PublicKey>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: Botan::SphincsPlus_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<SphincsPlus_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> SphincsPlus_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:346,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:347,1
    - Dst: Botan::Sphincs_Hash_Functions::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:348,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:348,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:348,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:351,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:351,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:352,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - private_key
    - public_key
    - randomized
    argTypes:
    - std::shared_ptr<SphincsPlus_PrivateKeyInternal>
    - std::shared_ptr<SphincsPlus_PublicKeyInternal>
    - bool
    constantsTouched: []
    func_position:
      end: 354
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 354
    functionName: Botan::SphincsPlus_Signature_Operation::SphincsPlus_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - parameters
    - size
    - BOTAN_ARG_CHECK
    - seed
    - Botan::Sphincs_Hash_Functions::create
    linkageType: ''
    returnType: void
    signature: "void SphincsPlus_Signature_Operation(std::shared_ptr<SphincsPlus_PrivateKeyInternal>
      private_key,\n                                      std::shared_ptr<SphincsPlus_PublicKeyInternal>
      public_key,\n                                      bool randomized)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:358,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:358,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:358,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: Botan::SphincsPlus_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    - get
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:364,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:364,1
    - Dst: prepare_message
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:366,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:366,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:366,1
    - Dst: Botan::SphincsPlus_Signature_Operation::slh_sign_internal
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: Botan::SphincsPlus_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    - parameters
    - prepare_message
    - Botan::SphincsPlus_Signature_Operation::slh_sign_internal
    - random_vec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 371
    functionName: Botan::SphincsPlus_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: Botan::SphincsPlus_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: msg_hash_function_name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: Botan::SphincsPlus_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - msg_hash_function_name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:383,1
    - Dst: sphincs_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:385,1
    - Dst: std::optional<StrongSpan<const SphincsOptionalRandomness>>::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:391,1
    - Dst: std::optional<StrongSpan<const SphincsOptionalRandomness>>::value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:391,1
    - Dst: StrongSpan<const SphincsOptionalRandomness>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:391,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:391,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:393,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:393,1
    - Dst: PRF_msg
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:394,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:394,1
    - Dst: Sphincs_Address::set_tree_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:401,1
    - Dst: fors_sign_and_pkgen
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:402,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:402,1
    - Dst: fors_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:402,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:404,1
    - Dst: ht_sign
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:410,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:410,1
    - Dst: ht_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:410,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:412,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:418,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' message'
    - addrnd
    argTypes:
    - SphincsMessageInternal
    - std::optional<StrongSpan<const SphincsOptionalRandomness>>
    constantsTouched: []
    func_position:
      end: 420
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 420
    functionName: Botan::SphincsPlus_Signature_Operation::slh_sign_internal
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 1
    functionsReached:
    - std::optional<StrongSpan<const SphincsOptionalRandomness>>::value
    - StrongSpan<const SphincsOptionalRandomness>
    - prf
    - ht_sign
    - fors_signature_bytes
    - parameters
    - fors_sign_and_pkgen
    - n
    - BufferStuffer::full
    - PRF_msg
    - Sphincs_Address::set_tree_address
    - ht_signature_bytes
    - BufferStuffer::next
    - seed
    - sphincs_signature_bytes
    - BOTAN_ASSERT_NOMSG
    - std::optional<StrongSpan<const SphincsOptionalRandomness>>::has_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> slh_sign_internal(const SphincsMessageInternal&
      message,\n                                             std::optional<StrongSpan<const
      SphincsOptionalRandomness>> addrnd)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:433,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:434,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:434,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:441,1
    - Dst: std::make_unique<SphincsPlus_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:442,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:444,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:444,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 445
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 445
    functionName: Botan::SphincsPlus_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::string_view::empty
    - algo_name
    - Provider_Not_Found
    - BOTAN_ARG_CHECK
    - std::make_unique<SphincsPlus_Signature_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> SphincsPlus_PrivateKey::create_signature_op(RandomNumberGenerator&
      rng,\n                                                                               std::string_view
      params,\n                                                                               std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:50,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:51,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:54,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:54,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:54,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:54,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:59,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:65,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:65,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:66,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:66,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:75,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:80,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:85,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:90,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:95,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:100,1
    - Dst: Botan::Sphincs_Address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:116,1
    - Dst: auto::copy_subtree_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:117,1
    - Dst: Sphincs_Address::copy_keypair_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:133,1
    - Dst: Sphincs_Address_Type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:137,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:141,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:142,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:150,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:151,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:152,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:153,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:154,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:155,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 163
    functionName: Botan::Sphincs_Address
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h
    functionUses: 3
    functionsReached:
    - Botan::copy
    - Sphincs_Address::copy_keypair_from
    - Botan::Sphincs_Address
    - std::array::data
    - Botan::store_be
    - static_cast<uint8_t>
    - fill
    - Botan::get
    - Sphincs_Address_Type
    - auto::copy_subtree_from
    - Botan::end
    - set_type
    - Botan::begin
    - static_cast<uint32_t>
    - Botan::size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Sphincs_Address
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' sphincs_params'
    - ' pub_seed'
    argTypes:
    - Sphincs_Parameters
    - SphincsPublicSeed
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::Sphincs_Hash_Functions::Sphincs_Hash_Functions
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Sphincs_Hash_Functions::Sphincs_Hash_Functions(const Sphincs_Parameters&
      sphincs_params,\n                                               const SphincsPublicSeed&
      pub_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:36,1
    - Dst: std::make_unique<Sphincs_Hash_Functions_Sha2>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:39,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:41,1
    - Dst: std::make_unique<Sphincs_Hash_Functions_Shake>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:46,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:48,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:52,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' sphincs_params'
    - ' pub_seed'
    argTypes:
    - Sphincs_Parameters
    - SphincsPublicSeed
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: Botan::Sphincs_Hash_Functions::create
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp
    functionUses: 5
    functionsReached:
    - hash_type
    - std::make_unique<Sphincs_Hash_Functions_Sha2>
    - Not_Implemented
    - BOTAN_ASSERT_UNREACHABLE
    - std::make_unique<Sphincs_Hash_Functions_Shake>
    linkageType: ''
    returnType: std::unique_ptr<Sphincs_Hash_Functions>
    signature: "std::unique_ptr<Sphincs_Hash_Functions> Sphincs_Hash_Functions::create(const
      Sphincs_Parameters& sphincs_params,\n                                                                       const
      SphincsPublicSeed& pub_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:64,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:64,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:65,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:65,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:70,1
    - Dst: std::span<const uint8_t>::rbegin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:70,1
    - Dst: std::span<const uint8_t>::rend
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:70,1
    - Dst: std::array::rbegin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:70,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:71,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:71,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:73,1
    - Dst: wrapped_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - nbits
    - bytes
    argTypes:
    - uint32_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: Botan::from_first_n_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy
    - std::array::data
    - std::span<const uint8_t>::size
    - T
    - BOTAN_ASSERT_NOMSG
    - wrapped_type
    - std::array::rbegin
    - std::span<const uint8_t>::rbegin
    - Botan::load_be
    - std::span<const uint8_t>::rend
    linkageType: ''
    returnType: T
    signature: T from_first_n_bits(const uint32_t nbits, std::span<const uint8_t>
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H_msg_digest
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:80,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:86,1
    - Dst: fors_message_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:86,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:87,1
    - Dst: tree_digest_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:87,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:88,1
    - Dst: leaf_digest_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:88,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:89,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:89,1
    - Dst: from_first_n_bits<XmssTreeIndexInLayer>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:91,1
    - Dst: h
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:91,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:91,1
    - Dst: from_first_n_bits<TreeNodeIndex>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:92,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:92,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - ' root'
    - ' message'
    argTypes:
    - StrongSpan<const SphincsMessageRandomness>
    - SphincsTreeNode
    - SphincsMessageInternal
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: Botan::Sphincs_Hash_Functions::H_msg
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - tree_digest_bytes
    - from_first_n_bits<XmssTreeIndexInLayer>
    - from_first_n_bits<TreeNodeIndex>
    - fors_message_bytes
    - BufferSlicer::take
    - xmss_tree_height
    - BufferSlicer::empty
    - BufferSlicer::copy
    - H_msg_digest
    - h
    - BOTAN_ASSERT_NOMSG
    - leaf_digest_bytes
    linkageType: ''
    returnType: std::tuple<SphincsHashedMessage, XmssTreeIndexInLayer, TreeNodeIndex>
    signature: "std::tuple<SphincsHashedMessage, XmssTreeIndexInLayer, TreeNodeIndex>
      Sphincs_Hash_Functions::H_msg(\n   StrongSpan<const SphincsMessageRandomness>
      r, const SphincsTreeNode& root, const SphincsMessageInternal& message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:31,1
    - Dst: StrongSpan<const WotsNode>::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:31,1
    - Dst: StrongSpan<const WotsNode>::end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:31,1
    - Dst: StrongSpan<WotsPublicKeyNode>::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:31,1
    - Dst: w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:34,1
    - Dst: set_hash_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:35,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - out
    - wots_chain_key
    - start
    - steps
    - ' addr'
    - ' hashes'
    - ' params'
    argTypes:
    - StrongSpan<WotsPublicKeyNode>
    - StrongSpan<const WotsNode>
    - WotsHashIndex
    - uint8_t
    - Sphincs_Address
    - Sphincs_Hash_Functions
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 38
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 38
    functionName: Botan::chain
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy
    - w
    - StrongSpan<WotsPublicKeyNode>::begin
    - set_hash_address
    - T
    - StrongSpan<const WotsNode>::begin
    - StrongSpan<const WotsNode>::end
    linkageType: ''
    returnType: void
    signature: "void chain(StrongSpan<WotsPublicKeyNode> out,\n           StrongSpan<const
      WotsNode> wots_chain_key,\n           WotsHashIndex start,\n           uint8_t
      steps,\n           Sphincs_Address& addr,\n           Sphincs_Hash_Functions&
      hashes,\n           const Sphincs_Parameters& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:47,1
    - Dst: std::span<WotsHashIndex>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:47,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:47,1
    - Dst: log_w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:47,1
    - Dst: log_w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:59,1
    - Dst: WotsHashIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:60,1
    - Dst: w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - output
    - input
    - ' params'
    argTypes:
    - std::span<WotsHashIndex>
    - std::span<const uint8_t>
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: Botan::base_2_b
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp
    functionUses: 0
    functionsReached:
    - std::span<WotsHashIndex>::size
    - w
    - std::span<const uint8_t>::size
    - WotsHashIndex
    - log_w
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void base_2_b(std::span<WotsHashIndex> output, std::span<const uint8_t>
      input, const Sphincs_Parameters& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:75,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:75,1
    - Dst: wots_len_2
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:79,1
    - Dst: log_w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:79,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:82,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:82,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:85,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:85,1
    - Dst: Botan::base_2_b
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:86,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - output
    - msg_base_w
    - ' params'
    argTypes:
    - std::span<WotsHashIndex>
    - std::span<const WotsHashIndex>
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: Botan::wots_checksum
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - std::array::data
    - w
    - Botan::store_be
    - Botan::get
    - std::array::size
    - wots_len_2
    - Botan::base_2_b
    - log_w
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void wots_checksum(std::span<WotsHashIndex> output,\n                   std::span<const
      WotsHashIndex> msg_base_w,\n                   const Sphincs_Parameters& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wots_len_1
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:92,1
    - Dst: wots_len_2
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:92,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:94,1
    - Dst: wots_len_1
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:94,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:95,1
    - Dst: wots_len_2
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:95,1
    - Dst: Botan::base_2_b
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:97,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:97,1
    - Dst: Botan::wots_checksum
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' msg'
    - ' params'
    argTypes:
    - SphincsTreeNode
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: Botan::chain_lengths
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp
    functionUses: 1
    functionsReached:
    - std::span
    - Botan::wots_checksum
    - Botan::get
    - wots_len_1
    - wots_len_2
    - Botan::base_2_b
    linkageType: ''
    returnType: std::vector<WotsHashIndex>
    signature: std::vector<WotsHashIndex> chain_lengths(const SphincsTreeNode& msg,
      const Sphincs_Parameters& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::chain_lengths
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:108,1
    - Dst: wots_len
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:109,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:109,1
    - Dst: wots_len
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:113,1
    - Dst: set_chain_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:114,1
    - Dst: WotsChainIndex::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:117,1
    - Dst: Botan::chain
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:120,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:120,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:120,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:121,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' hashed_message'
    - signature
    - ' address'
    - ' params'
    - ' hashes'
    argTypes:
    - SphincsTreeNode
    - StrongSpan<const WotsSignature>
    - Sphincs_Address
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 130
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 130
    functionName: Botan::wots_public_key_from_signature
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp
    functionUses: 1
    functionsReached:
    - set_chain_address
    - BufferSlicer::take
    - Botan::chain
    - Botan::chain_lengths
    - wots_len
    - BufferStuffer::next
    - n
    - WotsChainIndex::get
    linkageType: ''
    returnType: WotsPublicKey
    signature: "WotsPublicKey wots_public_key_from_signature(const SphincsTreeNode&
      hashed_message,\n                                             StrongSpan<const
      WotsSignature> signature,\n                                             Sphincs_Address&
      address,\n                                             const Sphincs_Parameters&
      params,\n                                             Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:143,1
    - Dst: std::optional<TreeNodeIndex>::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:143,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:143,1
    - Dst: wots_len
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:143,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:144,1
    - Dst: get_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:144,1
    - Dst: wots_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:147,1
    - Dst: set_keypair_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:152,1
    - Dst: set_keypair_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:153,1
    - Dst: wots_len
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:155,1
    - Dst: std::optional<TreeNodeIndex>::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:159,1
    - Dst: std::optional<TreeNodeIndex>::value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:159,1
    - Dst: WotsChainIndex::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:160,1
    - Dst: set_chain_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:167,1
    - Dst: set_hash_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:168,1
    - Dst: WotsHashIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:168,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:169,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:171,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:171,1
    - Dst: PRF
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:173,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:175,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:180,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:180,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:181,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:181,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:181,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:181,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:181,1
    - Dst: w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:185,1
    - Dst: set_hash_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:190,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:192,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:197,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 10
    argNames:
    - sig_out
    - leaf_out
    - ' secret_seed'
    - leaf_idx
    - sign_leaf_idx
    - ' wots_steps'
    - ' leaf_addr'
    - ' pk_addr'
    - ' params'
    - ' hashes'
    argTypes:
    - StrongSpan<WotsSignature>
    - StrongSpan<SphincsTreeNode>
    - SphincsSecretSeed
    - TreeNodeIndex
    - std::optional<TreeNodeIndex>
    - std::vector<WotsHashIndex>
    - Sphincs_Address
    - Sphincs_Address
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 198
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 198
    functionName: Botan::wots_sign_and_pkgen
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy
    - auto::value
    - std::optional<TreeNodeIndex>::value
    - auto::end
    - T
    - auto::has_value
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    - set_keypair_address
    - BufferStuffer::next
    - set_type
    - get_type
    - auto::begin
    - PRF
    - w
    - set_hash_address
    - n
    - WotsHashIndex
    - WotsChainIndex::get
    - std::optional<TreeNodeIndex>::has_value
    - wots_bytes
    - set_chain_address
    - wots_len
    linkageType: ''
    returnType: void
    signature: "void wots_sign_and_pkgen(StrongSpan<WotsSignature> sig_out,\n                         StrongSpan<SphincsTreeNode>
      leaf_out,\n                         const SphincsSecretSeed& secret_seed,\n
      \                        TreeNodeIndex leaf_idx,\n                         std::optional<TreeNodeIndex>
      sign_leaf_idx,\n                         const std::vector<WotsHashIndex>& wots_steps,\n
      \                        Sphincs_Address& leaf_addr,\n                         Sphincs_Address&
      pk_addr,\n                         const Sphincs_Parameters& params,\n                         Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:28,1
    - Dst: StrongSpan<SphincsHypertreeSignature>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:28,1
    - Dst: ht_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:28,1
    - Dst: Sphincs_Address::set_tree_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:32,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:37,1
    - Dst: Sphincs_Address::set_layer_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:41,1
    - Dst: Sphincs_Address::copy_subtree_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:42,1
    - Dst: Botan::xmss_sign_and_pkgen
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:44,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:44,1
    - Dst: xmss_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:44,1
    - Dst: TreeNodeIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:54,1
    - Dst: XmssTreeIndexInLayer::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:54,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:54,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:55,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:58,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - out_sig
    - ' message_to_sign'
    - ' secret_seed'
    - tree_index_in_layer
    - idx_leaf
    - ' params'
    - ' hashes'
    argTypes:
    - StrongSpan<SphincsHypertreeSignature>
    - SphincsTreeNode
    - SphincsSecretSeed
    - XmssTreeIndexInLayer
    - TreeNodeIndex
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 59
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 59
    functionName: Botan::ht_sign
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp
    functionUses: 0
    functionsReached:
    - Sphincs_Address::copy_subtree_from
    - Botan::xmss_sign_and_pkgen
    - xmss_signature_bytes
    - xmss_tree_height
    - BufferStuffer::next
    - BufferStuffer::full
    - TreeNodeIndex
    - Sphincs_Address::set_tree_address
    - StrongSpan<SphincsHypertreeSignature>::size
    - d
    - Sphincs_Address::set_layer_address
    - ht_signature_bytes
    - XmssTreeIndexInLayer::get
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void ht_sign(StrongSpan<SphincsHypertreeSignature> out_sig,\n             const
      SphincsTreeNode& message_to_sign,\n             const SphincsSecretSeed& secret_seed,\n
      \            XmssTreeIndexInLayer tree_index_in_layer,\n             TreeNodeIndex
      idx_leaf,\n             const Sphincs_Parameters& params,\n             Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:68,1
    - Dst: StrongSpan<const SphincsHypertreeSignature>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:68,1
    - Dst: ht_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:68,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:75,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:78,1
    - Dst: Sphincs_Address::set_layer_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:82,1
    - Dst: Sphincs_Address::set_tree_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:83,1
    - Dst: Sphincs_Address::copy_subtree_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:85,1
    - Dst: Sphincs_Address::set_keypair_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:86,1
    - Dst: Sphincs_Address::copy_keypair_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:88,1
    - Dst: Botan::wots_public_key_from_signature
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:90,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:91,1
    - Dst: wots_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:91,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:94,1
    - Dst: Botan::compute_root
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:97,1
    - Dst: StrongSpan<SphincsTreeNode>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:97,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:103,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:103,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:103,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:104,1
    - Dst: TreeNodeIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:108,1
    - Dst: XmssTreeIndexInLayer::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:108,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:108,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:109,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:112,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 7
    argNames:
    - ' signed_msg'
    - ht_sig
    - ' pk_root'
    - tree_index_in_layer
    - idx_leaf
    - ' params'
    - ' hashes'
    argTypes:
    - SphincsTreeNode
    - StrongSpan<const SphincsHypertreeSignature>
    - SphincsTreeNode
    - XmssTreeIndexInLayer
    - TreeNodeIndex
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 116
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 116
    functionName: Botan::ht_verify
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp
    functionUses: 0
    functionsReached:
    - StrongSpan<SphincsTreeNode>
    - T
    - Sphincs_Address::set_keypair_address
    - ht_signature_bytes
    - BOTAN_ASSERT_NOMSG
    - StrongSpan<const SphincsHypertreeSignature>::size
    - Sphincs_Address::copy_subtree_from
    - Sphincs_Address::copy_keypair_from
    - BufferSlicer::take
    - BufferSlicer::empty
    - Sphincs_Address::set_layer_address
    - n
    - XmssTreeIndexInLayer::get
    - Botan::compute_root
    - Botan::wots_public_key_from_signature
    - wots_bytes
    - xmss_tree_height
    - Sphincs_Address::set_tree_address
    - d
    - TreeNodeIndex
    linkageType: ''
    returnType: bool
    signature: "bool ht_verify(const SphincsTreeNode& signed_msg,\n               StrongSpan<const
      SphincsHypertreeSignature> ht_sig,\n               const SphincsTreeNode& pk_root,\n
      \              XmssTreeIndexInLayer tree_index_in_layer,\n               TreeNodeIndex
      idx_leaf,\n               const Sphincs_Parameters& params,\n               Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:26,1
    - Dst: StrongSpan<SphincsTreeNode>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:26,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:26,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:27,1
    - Dst: StrongSpan<SphincsAuthenticationPath>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:27,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:27,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:31,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:32,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:45,1
    - Dst: TreeLayerIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:45,1
    - Dst: gen_leaf
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:46,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:56,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:57,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:64,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:64,1
    - Dst: StrongSpan<SphincsAuthenticationPath>::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:65,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:65,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:65,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:65,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:66,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:71,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:71,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:71,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:71,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:80,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:89,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:90,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:92,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:95,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:96,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 9
    argNames:
    - out_root
    - out_auth_path
    - ' params'
    - ' hashes'
    - leaf_idx
    - idx_offset
    - total_tree_height
    - ' gen_leaf'
    - ' tree_address'
    argTypes:
    - StrongSpan<SphincsTreeNode>
    - StrongSpan<SphincsAuthenticationPath>
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    - std::optional<TreeNodeIndex>
    - uint32_t
    - uint32_t
    - GenerateLeafFunction
    - Sphincs_Address
    constantsTouched: []
    func_position:
      end: 100
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 100
    functionName: Botan::treehash
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - TreeLayerIndex
    - StrongSpan<SphincsTreeNode>::size
    - auto::value
    - gen_leaf
    - auto::has_value
    - StrongSpan<SphincsAuthenticationPath>::get
    - T
    - set_tree_height
    - TreeLayerIndex::get
    - StrongSpan<SphincsAuthenticationPath>::size
    - Botan::copy_mem
    - n
    - set_tree_index
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void treehash(StrongSpan<SphincsTreeNode> out_root,\n              StrongSpan<SphincsAuthenticationPath>
      out_auth_path,\n              const Sphincs_Parameters& params,\n              Sphincs_Hash_Functions&
      hashes,\n              std::optional<TreeNodeIndex> leaf_idx,\n              uint32_t
      idx_offset,\n              uint32_t total_tree_height,\n              const
      GenerateLeafFunction& gen_leaf,\n              Sphincs_Address& tree_address)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:111,1
    - Dst: StrongSpan<SphincsTreeNode>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:111,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:111,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:112,1
    - Dst: StrongSpan<const SphincsAuthenticationPath>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:112,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:112,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:113,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:113,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:113,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:117,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:134,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:134,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:137,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:142,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:144,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:147,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 9
    argNames:
    - out
    - ' params'
    - ' hashes'
    - ' leaf'
    - leaf_idx
    - idx_offset
    - authentication_path
    - total_tree_height
    - ' tree_address'
    argTypes:
    - StrongSpan<SphincsTreeNode>
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    - SphincsTreeNode
    - TreeNodeIndex
    - uint32_t
    - StrongSpan<const SphincsAuthenticationPath>
    - uint32_t
    - Sphincs_Address
    constantsTouched: []
    func_position:
      end: 148
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 148
    functionName: Botan::compute_root
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp
    functionUses: 1
    functionsReached:
    - StrongSpan<const SphincsAuthenticationPath>::size
    - StrongSpan<SphincsTreeNode>::size
    - BufferSlicer::take
    - std::swap
    - BufferSlicer::empty
    - T
    - set_tree_height
    - Botan::copy_mem
    - n
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void compute_root(StrongSpan<SphincsTreeNode> out,\n                  const
      Sphincs_Parameters& params,\n                  Sphincs_Hash_Functions& hashes,\n
      \                 const SphincsTreeNode& leaf,\n                  TreeNodeIndex
      leaf_idx,\n                  uint32_t idx_offset,\n                  StrongSpan<const
      SphincsAuthenticationPath> authentication_path,\n                  uint32_t
      total_tree_height,\n                  Sphincs_Address& tree_address)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Hash_Functions
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:25,1
    - Dst: tweak_hash
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:58,1
    - Dst: std::forward<BufferTs>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:58,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:59,1
    - Dst: std::forward<BufferTs>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:59,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:60,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:65,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:66,1
    - Dst: std::forward<BufferTs>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:66,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:71,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:75,1
    - Dst: Botan::Sphincs_Hash_Functions
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 104
    functionName: Botan::Sphincs_Hash_Functions
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h
    functionUses: 1
    functionsReached:
    - Botan::Sphincs_Hash_Functions
    - tweak_hash
    - std::forward<BufferTs>
    - T
    - Botan::update
    - Botan::final
    - n
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Sphincs_Hash_Functions
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.h:200,1
    - Dst: Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 255
    functionName: final
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.h
    functionUses: 93
    functionsReached:
    - Sphincs_Parameters
    - public_key_bytes
    linkageType: ''
    returnType: Sphincs_Parameters
    signature: Sphincs_Parameters final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:160,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:160,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 128
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 161
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 161
    functionName: Botan::set_and_hash_from_name
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - Lookup_Error
    - Botan::fmt
    linkageType: ''
    returnType: std::pair<Sphincs_Parameter_Set, Sphincs_Hash_Type>
    signature: std::pair<Sphincs_Parameter_Set, Sphincs_Hash_Type> set_and_hash_from_name(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:245,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 81
    argCount: 2
    argNames:
    - set
    - hash
    argTypes:
    - Sphincs_Parameter_Set
    - Sphincs_Hash_Type
    constantsTouched: []
    func_position:
      end: 249
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 249
    functionName: Botan::name_from_set_and_hash
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: std::string
    signature: std::string name_from_set_and_hash(Sphincs_Parameter_Set set, Sphincs_Hash_Type
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - set
    argTypes:
    - Sphincs_Parameter_Set
    constantsTouched: []
    func_position:
      end: 269
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 269
    functionName: Botan::is_slh_dsa_set
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: bool
    signature: bool is_slh_dsa_set(Sphincs_Parameter_Set set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:283,1
    - Dst: is_slh_dsa_set
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:283,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:285,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:286,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:287,1
    - Dst: ceil_log2
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:290,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:294,1
    - Dst: ceil_log2
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:300,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:309,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:314,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:320,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 9
    argNames:
    - set
    - hash_type
    - n
    - h
    - d
    - a
    - k
    - w
    - bitsec
    argTypes:
    - Sphincs_Parameter_Set
    - Sphincs_Hash_Type
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 323
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 323
    functionName: Botan::Sphincs_Parameters::Sphincs_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - is_slh_dsa_set
    - ceil_tobytes
    - ceil_log2
    - BOTAN_ARG_CHECK
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void Sphincs_Parameters::Sphincs_Parameters(Sphincs_Parameter_Set
      set,\n                                       Sphincs_Hash_Type hash_type,\n
      \                                      uint32_t n,\n                                       uint32_t
      h,\n                                       uint32_t d,\n                                       uint32_t
      a,\n                                       uint32_t k,\n                                       uint32_t
      w,\n                                       uint32_t bitsec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 348
    functionName: Botan::Sphincs_Parameters::is_available
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Sphincs_Parameters::is_available() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:356,1
    - Dst: Botan::Sphincs_Parameters::Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:359,1
    - Dst: Botan::Sphincs_Parameters::Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:363,1
    - Dst: Botan::Sphincs_Parameters::Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:366,1
    - Dst: Botan::Sphincs_Parameters::Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:370,1
    - Dst: Botan::Sphincs_Parameters::Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:373,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - set
    - hash
    argTypes:
    - Sphincs_Parameter_Set
    - Sphincs_Hash_Type
    constantsTouched: []
    func_position:
      end: 376
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 376
    functionName: Botan::Sphincs_Parameters::create
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 19
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Sphincs_Parameters::Sphincs_Parameters
    linkageType: ''
    returnType: Sphincs_Parameters
    signature: "Sphincs_Parameters Sphincs_Parameters::create(\n   Sphincs_Parameter_Set
      set, Sphincs_Hash_Type hash /*, SlhDsaInputMode input_mode [TODO: prehash mode]*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: Botan::Sphincs_Parameters::create
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 20
    functionsReached:
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: Sphincs_Parameters
    signature: Sphincs_Parameters Sphincs_Parameters::create(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_slh_dsa_set
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: Botan::Sphincs_Parameters::is_slh_dsa
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - is_slh_dsa_set
    linkageType: ''
    returnType: bool
    signature: bool Sphincs_Parameters::is_slh_dsa() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:392,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:392,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: Botan::Sphincs_Parameters::hash_name
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - n
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string Sphincs_Parameters::hash_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name_from_set_and_hash
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:400,1
    - Dst: parameter_set
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:400,1
    - Dst: hash_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: Botan::Sphincs_Parameters::to_string
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - name_from_set_and_hash
    - hash_type
    - parameter_set
    linkageType: ''
    returnType: std::string
    signature: std::string Sphincs_Parameters::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:404,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: Botan::Sphincs_Parameters::create
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 21
    functionsReached:
    - to_formatted_string
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: Sphincs_Parameters
    signature: Sphincs_Parameters Sphincs_Parameters::create(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:408,1
    - Dst: Botan::Sphincs_Parameters::to_string
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: Botan::Sphincs_Parameters::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - Botan::Sphincs_Parameters::to_string
    linkageType: ''
    returnType: OID
    signature: OID Sphincs_Parameters::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:412,1
    - Dst: Botan::Sphincs_Parameters::object_identifier
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: Botan::Sphincs_Parameters::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::object_identifier
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Sphincs_Parameters::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:28,1
    - Dst: wots_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:28,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:29,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:29,1
    - Dst: std::optional<TreeNodeIndex>::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:34,1
    - Dst: Botan::chain_lengths
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:35,1
    - Dst: Sphincs_Address::as_subtree_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:41,1
    - Dst: Sphincs_Address::as_subtree_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:42,1
    - Dst: Sphincs_Address::set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:44,1
    - Dst: Botan::wots_sign_and_pkgen
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:47,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:51,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:52,1
    - Dst: get_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:52,1
    - Dst: Botan::treehash
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:53,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 8
    argNames:
    - out_sig
    - ' message'
    - ' secret_seed'
    - ' wots_addr'
    - ' tree_addr'
    - idx_leaf
    - ' params'
    - ' hashes'
    argTypes:
    - StrongSpan<SphincsXmssSignature>
    - SphincsTreeNode
    - SphincsSecretSeed
    - Sphincs_Address
    - Sphincs_Address
    - std::optional<TreeNodeIndex>
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 56
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 56
    functionName: Botan::xmss_sign_and_pkgen
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp
    functionUses: 1
    functionsReached:
    - Sphincs_Address::as_subtree_from
    - wots_bytes
    - xmss_tree_height
    - std::optional<TreeNodeIndex>::has_value
    - Botan::treehash
    - Sphincs_Address::set_type
    - Botan::wots_sign_and_pkgen
    - BufferStuffer::next
    - n
    - get_type
    - Botan::chain_lengths
    - BOTAN_ASSERT_NOMSG
    - BufferStuffer::remaining_capacity
    linkageType: ''
    returnType: SphincsTreeNode
    signature: "SphincsTreeNode xmss_sign_and_pkgen(StrongSpan<SphincsXmssSignature>
      out_sig,\n                                    const SphincsTreeNode& message,\n
      \                                   const SphincsSecretSeed& secret_seed,\n
      \                                   Sphincs_Address& wots_addr,\n                                    Sphincs_Address&
      tree_addr,\n                                    std::optional<TreeNodeIndex>
      idx_leaf,\n                                    const Sphincs_Parameters& params,\n
      \                                   Sphincs_Hash_Functions& hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:64,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:64,1
    - Dst: wots_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:64,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:65,1
    - Dst: Sphincs_Address::set_layer_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:70,1
    - Dst: HypertreeLayerIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:70,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:70,1
    - Dst: Sphincs_Address::set_layer_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:71,1
    - Dst: HypertreeLayerIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:71,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:71,1
    - Dst: Botan::xmss_sign_and_pkgen
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' params'
    - ' secret_seed'
    - ' hashes'
    argTypes:
    - Sphincs_Parameters
    - SphincsSecretSeed
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: Botan::xmss_gen_root
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp
    functionUses: 0
    functionsReached:
    - Botan::xmss_sign_and_pkgen
    - wots_bytes
    - xmss_tree_height
    - HypertreeLayerIndex
    - Sphincs_Address::set_layer_address
    - d
    - n
    linkageType: ''
    returnType: SphincsTreeNode
    signature: "SphincsTreeNode xmss_gen_root(const Sphincs_Parameters& params,\n
      \                             const SphincsSecretSeed& secret_seed,\n                              Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:29,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:29,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:29,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:29,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:31,1
    - Dst: is_slh_dsa
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:38,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:40,1
    - Dst: is_slh_dsa
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:45,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:49,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:53,1
    - Dst: update_idx
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - message
    - ' params'
    argTypes:
    - std::span<const uint8_t>
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 59
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 59
    functionName: Botan::fors_message_to_indices
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp
    functionUses: 0
    functionsReached:
    - k
    - a
    - update_idx
    - Internal_Error
    - std::span<const uint8_t>::size
    - is_slh_dsa
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<TreeNodeIndex>
    signature: std::vector<TreeNodeIndex> fors_message_to_indices(std::span<const
      uint8_t> message, const Sphincs_Parameters& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:69,1
    - Dst: StrongSpan<ForsSignature>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:69,1
    - Dst: fors_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:69,1
    - Dst: Botan::fors_message_to_indices
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:71,1
    - Dst: Sphincs_Address::as_keypair_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:73,1
    - Dst: Sphincs_Address::as_keypair_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:75,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:77,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:77,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:83,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:87,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:87,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:87,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:88,1
    - Dst: auto::set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:92,1
    - Dst: TreeLayerIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:93,1
    - Dst: PRF
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:96,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:96,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:96,1
    - Dst: auto::set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:99,1
    - Dst: auto::set_tree_index
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:102,1
    - Dst: auto::set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:103,1
    - Dst: PRF
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:105,1
    - Dst: auto::set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:107,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:108,1
    - Dst: Botan::treehash
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:111,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:111,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:111,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:112,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:112,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:112,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:117,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:122,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:122,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:123,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:123,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 6
    argNames:
    - sig_out
    - ' hashed_message'
    - ' secret_seed'
    - ' address'
    - ' params'
    - ' hashes'
    argTypes:
    - StrongSpan<ForsSignature>
    - SphincsHashedMessage
    - SphincsSecretSeed
    - Sphincs_Address
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 127
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 127
    functionName: Botan::fors_sign_and_pkgen
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp
    functionUses: 1
    functionsReached:
    - k
    - PRF
    - a
    - TreeLayerIndex
    - Sphincs_Address::as_keypair_from
    - Botan::fors_message_to_indices
    - fors_signature_bytes
    - auto::set_type
    - BufferStuffer::next
    - BufferStuffer::full
    - T
    - auto::size
    - n
    - auto::set_tree_index
    - StrongSpan<ForsSignature>::size
    - Botan::treehash
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: SphincsTreeNode
    signature: "SphincsTreeNode fors_sign_and_pkgen(StrongSpan<ForsSignature> sig_out,\n
      \                                   const SphincsHashedMessage& hashed_message,\n
      \                                   const SphincsSecretSeed& secret_seed,\n
      \                                   const Sphincs_Address& address,\n                                    const
      Sphincs_Parameters& params,\n                                    Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fors_message_to_indices
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:134,1
    - Dst: Sphincs_Address::as_keypair_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:136,1
    - Dst: Sphincs_Address::as_keypair_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:138,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:141,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:141,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:146,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:146,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:146,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:147,1
    - Dst: auto::set_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:151,1
    - Dst: TreeLayerIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:151,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:152,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:152,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:153,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:153,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:153,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:154,1
    - Dst: Botan::compute_root
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:157,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:157,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:157,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:164,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:168,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:168,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ' hashed_message'
    - signature
    - ' address'
    - ' params'
    - ' hashes'
    argTypes:
    - SphincsHashedMessage
    - StrongSpan<const ForsSignature>
    - Sphincs_Address
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 173
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 173
    functionName: Botan::fors_public_key_from_signature
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp
    functionUses: 1
    functionsReached:
    - k
    - a
    - TreeLayerIndex
    - Sphincs_Address::as_keypair_from
    - Botan::fors_message_to_indices
    - BufferSlicer::take
    - BufferStuffer::next
    - auto::set_tree_height
    - BufferStuffer::full
    - T
    - auto::size
    - n
    - Botan::compute_root
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: SphincsTreeNode
    signature: "SphincsTreeNode fors_public_key_from_signature(const SphincsHashedMessage&
      hashed_message,\n                                               StrongSpan<const
      ForsSignature> signature,\n                                               const
      Sphincs_Address& address,\n                                               const
      Sphincs_Parameters& params,\n                                               Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:24,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:25,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:26,1
    - Dst: to_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' address'
    - input_length
    argTypes:
    - Sphincs_Address
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: '& tweak_hash(const Sphincs_Address& address, size_t input_length)
      override'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - to_bytes
    - Botan::update
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & tweak_hash(const Sphincs_Address& address, size_t input_length)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:33,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:34,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:35,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:36,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:37,1
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - r
    - ' root'
    - ' message'
    argTypes:
    - StrongSpan<const SphincsMessageRandomness>
    - SphincsTreeNode
    - SphincsMessageInternal
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: Botan::Sphincs_Hash_Functions_Shake::H_msg_digest
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h
    functionUses: 0
    functionsReached:
    - update
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> H_msg_digest(StrongSpan<const SphincsMessageRandomness>
      r,\n                                        const SphincsTreeNode& root,\n                                        const
      SphincsMessageInternal& message) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:45,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:46,1
    - Dst: h_msg_digest_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:47,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sphincs_params'
    - ' pub_seed'
    argTypes:
    - Sphincs_Parameters
    - SphincsPublicSeed
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: Botan::Sphincs_Hash_Functions_Shake::Sphincs_Hash_Functions_Shake
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h
    functionUses: 0
    functionsReached:
    - n
    - update
    - h_msg_digest_bytes
    linkageType: ''
    returnType: void
    signature: void Sphincs_Hash_Functions_Shake(const Sphincs_Parameters& sphincs_params,
      const SphincsPublicSeed& pub_seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:55,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:56,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:57,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:58,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - out
    - sk_prf
    - opt_rand
    - ' msg'
    argTypes:
    - StrongSpan<SphincsMessageRandomness>
    - StrongSpan<const SphincsSecretPRF>
    - StrongSpan<const SphincsOptionalRandomness>
    - SphincsMessageInternal
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: Botan::Sphincs_Hash_Functions_Shake::PRF_msg
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h
    functionUses: 0
    functionsReached:
    - update
    - final
    linkageType: ''
    returnType: void
    signature: "void PRF_msg(StrongSpan<SphincsMessageRandomness> out,\n                   StrongSpan<const
      SphincsSecretPRF> sk_prf,\n                   StrongSpan<const SphincsOptionalRandomness>
      opt_rand,\n                   const SphincsMessageInternal& msg) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::Sphincs_Hash_Functions_Shake::msg_hash_function_name
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string msg_hash_function_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:37,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:39,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:40,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:41,1
    - Dst: to_bytes_compressed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' address'
    - input_length
    argTypes:
    - Sphincs_Address
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: '& tweak_hash(const Sphincs_Address& address, size_t input_length)
      override'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h
    functionUses: 0
    functionsReached:
    - n
    - to_bytes_compressed
    - Botan::update
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & tweak_hash(const Sphincs_Address& address, size_t input_length)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:48,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:49,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:50,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:51,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:52,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:54,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:55,1
    - Dst: h_msg_digest_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:57,1
    - Dst: mgf1_mask
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:58,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:58,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:58,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:58,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - r
    - ' root'
    - ' message'
    argTypes:
    - StrongSpan<const SphincsMessageRandomness>
    - SphincsTreeNode
    - SphincsMessageInternal
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: Botan::Sphincs_Hash_Functions_Sha2::H_msg_digest
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - h_msg_digest_bytes
    - update
    - concat
    - final
    - mgf1_mask
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> H_msg_digest(StrongSpan<const SphincsMessageRandomness>
      r,\n                                        const SphincsTreeNode& root,\n                                        const
      SphincsMessageInternal& message) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:66,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:67,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:67,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:67,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:68,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:68,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:68,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:68,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:70,1
    - Dst: std::make_unique<Truncated_Hash>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:71,1
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:71,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:71,1
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:72,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:75,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:75,1
    - Dst: std::make_unique<Truncated_Hash>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:76,1
    - Dst: std::make_unique<SHA_512>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:76,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:76,1
    - Dst: std::make_unique<SHA_512>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:77,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:79,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:80,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:80,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:80,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:81,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:81,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:81,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:81,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:84,1
    - Dst: std::make_unique<Truncated_Hash>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:85,1
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:85,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:85,1
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - ' sphincs_params'
    - ' pub_seed'
    argTypes:
    - Sphincs_Parameters
    - SphincsPublicSeed
    constantsTouched: []
    func_position:
      end: 89
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 89
    functionName: Botan::Sphincs_Hash_Functions_Sha2::Sphincs_Hash_Functions_Sha2
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - copy
    - end
    - std::make_unique<SHA_512>
    - std::make_unique<Truncated_Hash>
    - size
    - std::make_unique<SHA_256>
    - n
    - begin
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Sphincs_Hash_Functions_Sha2(const Sphincs_Parameters& sphincs_params,
      const SphincsPublicSeed& pub_seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_object
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:95,1
    - Dst: HMAC::set_key
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:96,1
    - Dst: HMAC::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:97,1
    - Dst: HMAC::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:98,1
    - Dst: HMAC::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:99,1
    - Dst: HMAC::final
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:101,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:102,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:102,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:102,1
    - Dst: StrongSpan<SphincsMessageRandomness>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:102,1
    - Dst: StrongSpan<SphincsMessageRandomness>::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - out
    - sk_prf
    - opt_rand
    - ' msg'
    argTypes:
    - StrongSpan<SphincsMessageRandomness>
    - StrongSpan<const SphincsSecretPRF>
    - StrongSpan<const SphincsOptionalRandomness>
    - SphincsMessageInternal
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: Botan::Sphincs_Hash_Functions_Sha2::PRF_msg
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h
    functionUses: 0
    functionsReached:
    - auto::begin
    - StrongSpan<SphincsMessageRandomness>::size
    - HMAC::update
    - HMAC::set_key
    - copy
    - new_object
    - StrongSpan<SphincsMessageRandomness>::begin
    - HMAC::final
    linkageType: ''
    returnType: void
    signature: "void PRF_msg(StrongSpan<SphincsMessageRandomness> out,\n                   StrongSpan<const
      SphincsSecretPRF> sk_prf,\n                   StrongSpan<const SphincsOptionalRandomness>
      opt_rand,\n                   const SphincsMessageInternal& msg) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan::Sphincs_Hash_Functions_Sha2::msg_hash_function_name
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string msg_hash_function_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~EC_Scalar_Data()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EC_Scalar_Data()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~EC_AffinePoint_Data()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EC_AffinePoint_Data()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ~EC_Mul2Table_Data()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EC_Mul2Table_Data()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: '& oid() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OID
    signature: OID & oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: '& der_named_curve() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & der_named_curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: '& p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: '& a() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & a() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: '& b() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & b() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: '& order() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & order() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: '& cofactor() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & cofactor() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: '& curve() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CurveGFp
    signature: CurveGFp & curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: '& base_point() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & base_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '& monty() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Montgomery_Params
    signature: Montgomery_Params & monty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: '& monty_a() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & monty_a() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: '& monty_b() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & monty_b() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: '& mod_order() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction & mod_order() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan::EC_Group_Data::order_is_less_than_p
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool order_is_less_than_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: Botan::EC_Group_Data::has_cofactor
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_cofactor() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: '& g_x() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & g_x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: '& g_y() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & g_y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: Botan::EC_Group_Data::p_words
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t p_words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Botan::EC_Group_Data::p_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t p_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: Botan::EC_Group_Data::p_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t p_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: Botan::EC_Group_Data::order_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t order_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: Botan::EC_Group_Data::order_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t order_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: Botan::EC_Group_Data::a_is_minus_3
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool a_is_minus_3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: Botan::EC_Group_Data::a_is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool a_is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: Botan::EC_Group_Data::source
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group_Source
    signature: EC_Group_Source source() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: Botan::EC_Group_Data::engine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group_Engine
    signature: EC_Group_Engine engine() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: '& pcurve() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: PCurve::PrimeOrderCurve
    signature: PCurve::PrimeOrderCurve & pcurve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.h:19,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.h:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - group
    - v
    argTypes:
    - std::shared_ptr<const EC_Group_Data>
    - PCurve::PrimeOrderCurve::Scalar
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: Botan::EC_Scalar_Data_PC::EC_Scalar_Data_PC
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_PC(std::shared_ptr<const EC_Group_Data> group,
      PCurve::PrimeOrderCurve::Scalar v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCurve::PrimeOrderCurve::AffinePoint
    signature: PCurve::PrimeOrderCurve::AffinePoint & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:15,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inner
    argTypes:
    - std::unique_ptr<EC_Scalar_Data>
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Botan::EC_Scalar::_from_inner
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::_from_inner(std::unique_ptr<EC_Scalar_Data> inner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:18,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scalar
    argTypes:
    - std::unique_ptr<EC_Scalar_Data>
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::EC_Scalar::EC_Scalar
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::EC_Scalar(std::unique_ptr<EC_Scalar_Data> scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::EC_Scalar::EC_Scalar
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 2
    functionsReached:
    - inner
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::EC_Scalar(const EC_Scalar& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::EC_Scalar::EC_Scalar
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::EC_Scalar(EC_Scalar&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& EC_Scalar::assign'
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: '& EC_Scalar::operator=(const EC_Scalar& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - '& EC_Scalar::assign'
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar & EC_Scalar::operator=(const EC_Scalar& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:34,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:34,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:34,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: '& EC_Scalar::operator=(EC_Scalar&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::swap
    - _inner
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar & EC_Scalar::operator=(EC_Scalar&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: EC_Scalar::~EC_Scalar()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::~EC_Scalar()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::EC_Scalar::bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Scalar::bytes
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Scalar::bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:46,1
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::EC_Scalar::from_bytes_with_trunc
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 2
    functionsReached:
    - _data
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::from_bytes_with_trunc(const EC_Group& group, std::span<const
      uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:50,1
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:51,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: Botan::EC_Scalar::from_bytes_mod_order
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - Decoding_Error
    - Botan::EC_Scalar::EC_Scalar
    - _data
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::from_bytes_mod_order(const EC_Group& group, std::span<const
      uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:58,1
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - EC_Group
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::EC_Scalar::random
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 7
    functionsReached:
    - _data
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::random(const EC_Group& group, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:62,1
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - EC_Group
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::EC_Scalar::one
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 3
    functionsReached:
    - _data
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::one(const EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:66,1
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:67,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:67,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - ' bn'
    argTypes:
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: Botan::EC_Scalar::from_bigint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - Invalid_Argument
    - Botan::EC_Scalar::EC_Scalar
    - _data
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::from_bigint(const EC_Group& group, const BigInt&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:74,1
    - Dst: Botan::EC_Scalar::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:75,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: Botan::EC_Scalar::to_bigint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::serialize_to
    - Botan::BigInt::from_bytes
    - Botan::EC_Scalar::bytes
    linkageType: ''
    returnType: BigInt
    signature: BigInt EC_Scalar::to_bigint() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:80,1
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:81,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:81,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: Botan::EC_Scalar::gk_x_mod_order
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 2
    functionsReached:
    - _inner
    - inner
    - Botan::EC_Scalar::EC_Scalar
    - Botan::EC_Scalar::gk_x_mod_order
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::gk_x_mod_order(const EC_Scalar& scalar, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::EC_Scalar::serialize_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 1
    functionsReached:
    - inner
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::serialize_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:89,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:89,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:89,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:91,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:91,1
    - Dst: Botan::EC_Scalar::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:92,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:92,1
    - Dst: Botan::EC_Scalar::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:93,1
    - Dst: std::span<uint8_t>::last
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - bytes
    - ' r'
    - ' s'
    argTypes:
    - std::span<uint8_t>
    - EC_Scalar
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: Botan::EC_Scalar::serialize_pair_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::last
    - Botan::EC_Scalar::serialize_to
    - std::span<uint8_t>::size
    - std::span<uint8_t>::first
    - BOTAN_ARG_CHECK
    - _inner
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::serialize_pair_to(std::span<uint8_t> bytes, const EC_Scalar&
      r, const EC_Scalar& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:98,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:104,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:104,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:105,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:105,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:108,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:108,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: Botan::EC_Scalar::deserialize_pair
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::first
    - auto::value
    - std::span<const uint8_t>::size
    - std::make_pair
    - Botan::EC_Scalar::deserialize
    linkageType: ''
    returnType: std::optional<std::pair<EC_Scalar, EC_Scalar>>
    signature: "std::optional<std::pair<EC_Scalar, EC_Scalar>> EC_Scalar::deserialize_pair(const
      EC_Group& group,\n                                                                           std::span<const
      uint8_t> bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:115,1
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:116,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: Botan::EC_Scalar::deserialize
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - Botan::EC_Scalar::EC_Scalar
    - _data
    linkageType: ''
    returnType: std::optional<EC_Scalar>
    signature: std::optional<EC_Scalar> EC_Scalar::deserialize(const EC_Group& group,
      std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:123,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: Botan::EC_Scalar::EC_Scalar
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 9
    functionsReached:
    - Decoding_Error
    - _data
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::EC_Scalar(const EC_Group& group, std::span<const uint8_t>
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Botan::EC_Scalar::is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: bool
    signature: bool EC_Scalar::is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:134,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Botan::EC_Scalar::invert
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::invert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:138,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: Botan::EC_Scalar::invert_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::invert_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:142,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: Botan::EC_Scalar::negate
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::square_self
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Botan::EC_Scalar::square_self
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Scalar::square_self
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::square_self()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:150,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:150,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan::EC_Scalar::add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::add(const EC_Scalar& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:154,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:154,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Botan::EC_Scalar::sub
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::sub(const EC_Scalar& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:158,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:158,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: Botan::EC_Scalar::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::mul(const EC_Scalar& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::assign
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:162,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Botan::EC_Scalar::assign
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Scalar::assign
    - inner
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::assign(const EC_Scalar& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:166,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan::EC_Scalar::is_eq
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: bool
    signature: bool EC_Scalar::is_eq(const EC_Scalar& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:63,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:98,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:100,1
    - Dst: Botan::bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:120,1
    - Dst: Botan::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:121,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:137,1
    - Dst: T::bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:137,1
    - Dst: serialize_pair_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:138,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:150,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:210,1
    - Dst: sub
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:212,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:214,1
    - Dst: is_eq
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:216,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:226,1
    - Dst: EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 238
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h
    functionUses: 7
    functionsReached:
    - Botan::is_zero
    - BOTAN_DEPRECATED
    - is_eq
    - Botan::add
    - sub
    - Botan::serialize_to
    - bytes
    - T::bytes
    - serialize_pair_to
    - inner
    - Botan::EC_Scalar::gk_x_mod_order
    - EC_Scalar
    - Botan::bytes
    - Botan::mul
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::EC_Group_Data_Map::EC_Group_Data_Map
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group_Data_Map()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data_Map::clear
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: Botan::EC_Group_Data_Map::clear
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group_Data_Map::clear
    linkageType: ''
    returnType: size_t
    signature: size_t clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:42,1
    - Dst: Botan::EC_Group::EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:48,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:51,1
    - Dst: std::shared_ptr<EC_Group_Data>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: Botan::EC_Group_Data_Map::lookup
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<EC_Group_Data>
    - push_back
    - Botan::EC_Group::EC_group_info
    - oid
    linkageType: ''
    returnType: std::shared_ptr<EC_Group_Data>
    signature: std::shared_ptr<EC_Group_Data> lookup(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:68,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:68,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:73,1
    - Dst: params_match
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:82,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:83,1
    - Dst: to_string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:83,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:97,1
    - Dst: params_match
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:97,1
    - Dst: set_oid
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:98,1
    - Dst: Botan::EC_Group::EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:107,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:112,1
    - Dst: auto::params_match
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:112,1
    - Dst: Botan::EC_Group_Data::create
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:120,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 9
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' g_x'
    - ' g_y'
    - ' order'
    - ' cofactor'
    - ' oid'
    - source
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - OID
    - EC_Group_Source
    constantsTouched: []
    func_position:
      end: 126
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 126
    functionName: Botan::EC_Group_Data_Map::lookup_or_create
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - to_string
    - Invalid_Argument
    - params_match
    - set_oid
    - oid
    - Botan::EC_Group::EC_group_info
    - auto::params_match
    - BOTAN_ARG_CHECK
    - Botan::EC_Group_Data::create
    - has_value
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::shared_ptr<EC_Group_Data>
    signature: "std::shared_ptr<EC_Group_Data> lookup_or_create(const BigInt& p,\n
      \                                                     const BigInt& a,\n                                                      const
      BigInt& b,\n                                                      const BigInt&
      g_x,\n                                                      const BigInt& g_y,\n
      \                                                     const BigInt& order,\n
      \                                                     const BigInt& cofactor,\n
      \                                                     const OID& oid,\n                                                      EC_Group_Source
      source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_match
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:139,1
    - Dst: Botan::EC_Group::EC_group_identity_from_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:145,1
    - Dst: OID::has_value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:146,1
    - Dst: Botan::EC_Group::EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:147,1
    - Dst: auto::params_match
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:150,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:151,1
    - Dst: Botan::EC_Group_Data::create
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:163,1
    - Dst: OID
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:163,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 8
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' g_x'
    - ' g_y'
    - ' order'
    - ' cofactor'
    - source
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - EC_Group_Source
    constantsTouched: []
    func_position:
      end: 166
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 166
    functionName: Botan::EC_Group_Data_Map::lookup_or_create_without_oid
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::EC_group_identity_from_order
    - OID::has_value
    - auto::params_match
    - params_match
    - Botan::EC_Group::EC_group_info
    - Botan::EC_Group_Data::create
    - OID
    - push_back
    linkageType: ''
    returnType: std::shared_ptr<EC_Group_Data>
    signature: "std::shared_ptr<EC_Group_Data> lookup_or_create_without_oid(const
      BigInt& p,\n                                                                  const
      BigInt& a,\n                                                                  const
      BigInt& b,\n                                                                  const
      BigInt& g_x,\n                                                                  const
      BigInt& g_y,\n                                                                  const
      BigInt& order,\n                                                                  const
      BigInt& cofactor,\n                                                                  EC_Group_Source
      source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: '& EC_Group::ec_group_data()'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group_Data_Map
    signature: EC_Group_Data_Map & EC_Group::ec_group_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan::EC_Group::clear_registered_curve_data
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 6
    functionsReached:
    - ec_group_data
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Group::clear_registered_curve_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:199,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:199,1
    - Dst: Botan::EC_Group_Data::create
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - p_str
    - a_str
    - b_str
    - g_x_str
    - g_y_str
    - order_str
    - ' oid'
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - OID
    constantsTouched: []
    func_position:
      end: 210
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 210
    functionName: Botan::EC_Group::load_EC_group_info
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::EC_Group_Data::create
    - has_value
    linkageType: ''
    returnType: std::shared_ptr<EC_Group_Data>
    signature: "std::shared_ptr<EC_Group_Data> EC_Group::load_EC_group_info(const
      char* p_str,\n                                                            const
      char* a_str,\n                                                            const
      char* b_str,\n                                                            const
      char* g_x_str,\n                                                            const
      char* g_y_str,\n                                                            const
      char* order_str,\n                                                            const
      OID& oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::peek_next_object
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:217,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:221,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:223,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:225,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:225,1
    - Dst: OID::to_string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:225,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:228,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:234,1
    - Dst: OID
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:237,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:251,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:251,1
    - Dst: BigInt::is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:251,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:252,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:256,1
    - Dst: is_bailie_psw_probable_prime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:257,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:258,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:261,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:262,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:266,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:269,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:269,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:270,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:274,1
    - Dst: is_bailie_psw_probable_prime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:275,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:276,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:281,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:285,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:285,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:286,1
    - Dst: auto::square
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:318,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:319,1
    - Dst: auto::cube
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:319,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:319,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:321,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:324,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:325,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:327,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:329,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:330,1
    - Dst: asn1_tag_to_string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:330,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 59
    argCount: 2
    argNames:
    - bits
    - source
    argTypes:
    - std::span<const uint8_t>
    - EC_Group_Source
    constantsTouched: []
    func_position:
      end: 332
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 332
    functionName: Botan::EC_Group::BER_decode_EC_group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::start_sequence
    - auto::cube
    - BigInt::is_negative
    - auto::square
    - Decoding_Error
    - fmt
    - BER_Decoder::decode
    - is_bailie_psw_probable_prime
    - BigInt::bits
    - ec_group_data
    - OID::to_string
    - Botan::Barrett_Reduction::for_public_modulus
    - OID
    - std::vector::size
    - is_negative
    - auto::reduce
    - is_zero
    - BER_Decoder::peek_next_object
    - std::make_pair
    - asn1_tag_to_string
    - auto::multiply
    linkageType: ''
    returnType: std::pair<std::shared_ptr<EC_Group_Data>, bool>
    signature: "std::pair<std::shared_ptr<EC_Group_Data>, bool> EC_Group::BER_decode_EC_group(std::span<const
      uint8_t> bits,\n                                                                              EC_Group_Source
      source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group::EC_Group()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: EC_Group::~EC_Group()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group::~EC_Group()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group::EC_Group(const EC_Group&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::shared_ptr<EC_Group_Data>
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 6
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EC_Group::EC_Group(std::shared_ptr<EC_Group_Data>&& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Group::known_named_groups
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:347,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: Botan::EC_Group::supports_named_group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 29
    functionsReached:
    - std::string
    - EC_Group::known_named_groups
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::supports_named_group(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: Botan::EC_Group::supports_application_specific_group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::supports_application_specific_group()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: Botan::EC_Group::supports_application_specific_group_with_cofactor
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::supports_application_specific_group_with_cofactor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:370,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:373,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:373,1
    - Dst: to_string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:373,1
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:376,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 377
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 377
    functionName: Botan::EC_Group::from_OID
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - Botan::EC_Group::EC_Group
    - to_string
    - ec_group_data
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group EC_Group::from_OID(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:383,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:384,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:384,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:388,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:388,1
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:391,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Botan::EC_Group::from_name
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 62
    functionsReached:
    - std::move
    - auto::value
    - Botan::EC_Group::EC_Group
    - ec_group_data
    - Invalid_Argument
    - fmt
    - Botan::OID::from_name
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group EC_Group::from_name(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:395,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:400,1
    - Dst: OID::has_value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:401,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:402,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:407,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:407,1
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:409,1
    - Dst: Botan::EC_Group::BER_decode_EC_group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:411,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:418,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:418,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 420
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 420
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 8
    functionsReached:
    - std::string_view::size
    - std::string_view::empty
    - Botan::PEM_Code::decode_check_label
    - Botan::EC_Group::BER_decode_EC_group
    - ec_group_data
    - OID::has_value
    - Botan::OID::from_string
    - Invalid_Argument
    - std::string_view::substr
    - fmt
    linkageType: ''
    returnType: void
    signature: void EC_Group::EC_Group(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:424,1
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pem
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: Botan::EC_Group::from_PEM
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group::EC_Group
    - Botan::PEM_Code::decode_check_label
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group EC_Group::from_PEM(std::string_view pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:436,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:437,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' base_x'
    - ' base_y'
    - ' order'
    - ' cofactor'
    - ' oid'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - OID
    constantsTouched: []
    func_position:
      end: 443
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 443
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 9
    functionsReached:
    - ec_group_data
    - has_value
    linkageType: ''
    returnType: void
    signature: "void EC_Group::EC_Group(const BigInt& p,\n                   const
      BigInt& a,\n                   const BigInt& b,\n                   const BigInt&
      base_x,\n                   const BigInt& base_y,\n                   const
      BigInt& order,\n                   const BigInt& cofactor,\n                   const
      OID& oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:452,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:452,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:461,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:461,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:462,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:462,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:464,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:465,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:466,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:467,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:472,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:478,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:480,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:480,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:483,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:485,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:486,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:487,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:488,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:489,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:489,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:489,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:491,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:492,1
    - Dst: is_bailie_psw_probable_prime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:492,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:494,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:495,1
    - Dst: is_bailie_psw_probable_prime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:495,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:499,1
    - Dst: abs
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:499,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:499,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:502,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:502,1
    - Dst: auto::cube
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:502,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:502,1
    - Dst: auto::square
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:502,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:503,1
    - Dst: auto::square
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:506,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:507,1
    - Dst: auto::cube
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:507,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:507,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:508,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:513,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 7
    argNames:
    - ' oid'
    - ' p'
    - ' a'
    - ' b'
    - ' base_x'
    - ' base_y'
    - ' order'
    argTypes:
    - OID
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 514
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 514
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 9
    functionsReached:
    - is_bailie_psw_probable_prime
    - auto::reduce
    - auto::cube
    - abs
    - has_value
    - ec_group_data
    - bits
    - BigInt::set_bit
    - Botan::Barrett_Reduction::for_public_modulus
    - BOTAN_ARG_CHECK
    - auto::square
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - auto::multiply
    linkageType: ''
    returnType: void
    signature: "void EC_Group::EC_Group(const OID& oid,\n                   const
      BigInt& p,\n                   const BigInt& a,\n                   const BigInt&
      b,\n                   const BigInt& base_x,\n                   const BigInt&
      base_y,\n                   const BigInt& order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::BER_decode_EC_group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ber
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 9
    functionsReached:
    - Botan::EC_Group::BER_decode_EC_group
    linkageType: ''
    returnType: void
    signature: void EC_Group::EC_Group(std::span<const uint8_t> ber)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 527
    functionName: '& EC_Group::data() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: EC_Group_Data
    signature: EC_Group_Data & EC_Group::data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 531
    functionName: Botan::EC_Group::get_p_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Group::get_p_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: Botan::EC_Group::get_p_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Group::get_p_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 539
    functionName: Botan::EC_Group::get_order_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Group::get_order_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: Botan::EC_Group::get_order_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Group::get_order_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 547
    functionName: '& EC_Group::get_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 551
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 551
    functionName: '& EC_Group::get_a() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_a() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: '& EC_Group::get_b() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_b() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: '& EC_Group::get_base_point() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & EC_Group::get_base_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: '& EC_Group::generator() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & EC_Group::generator() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:568,1
    - Dst: on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:573,1
    - Dst: get_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:578,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:578,1
    - Dst: Botan::EC_Group::has_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:582,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:583,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' point'
    argTypes:
    - EC_Point
    constantsTouched: []
    func_position:
      end: 589
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 589
    functionName: Botan::EC_Group::verify_public_element
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - get_order
    - get_cofactor
    - is_zero
    - on_the_curve
    - Botan::EC_Group::has_cofactor
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::verify_public_element(const EC_Point& point) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: '& EC_Group::get_order() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_order() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: '& EC_Group::get_g_x() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_g_x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 603
    functionName: '& EC_Group::get_g_y() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_g_y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 607
    functionName: '& EC_Group::get_cofactor() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_cofactor() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: Botan::EC_Group::has_cofactor
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 1
    functionsReached:
    - data
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::has_cofactor() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 615
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 615
    functionName: '& EC_Group::get_curve_oid() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: OID
    signature: OID & EC_Group::get_curve_oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 619
    functionName: Botan::EC_Group::source
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: EC_Group_Source
    signature: EC_Group_Source EC_Group::source() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 623
    functionName: Botan::EC_Group::engine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 1
    functionsReached:
    - data
    linkageType: ''
    returnType: EC_Group_Engine
    signature: EC_Group_Engine EC_Group::engine() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:626,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:628,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: Botan::EC_Group::DER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    - empty
    - Encoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_Group::DER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:644,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:646,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:650,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:653,1
    - Dst: get_b
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:654,1
    - Dst: get_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:657,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:658,1
    - Dst: Botan::EC_Group::DER_encode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:662,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - form
    argTypes:
    - EC_Group_Encoding
    constantsTouched: []
    func_position:
      end: 668
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 668
    functionName: Botan::EC_Group::DER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 1
    functionsReached:
    - get_order
    - get_p
    - Botan::EC_AffinePoint::generator
    - get_cofactor
    - Internal_Error
    - get_a
    - DER_Encoder::start_sequence
    - Botan::EC_Group::DER_encode
    - get_b
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_Group::DER_encode(EC_Group_Encoding form) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::DER_encode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:671,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - form
    argTypes:
    - EC_Group_Encoding
    constantsTouched: []
    func_position:
      end: 673
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 673
    functionName: Botan::EC_Group::PEM_encode
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::PEM_Code::encode
    - Botan::EC_Group::DER_encode
    linkageType: ''
    returnType: std::string
    signature: std::string EC_Group::PEM_encode(EC_Group_Encoding form) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:680,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:680,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:680,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:680,1
    - Dst: get_b
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:680,1
    - Dst: get_b
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:680,1
    - Dst: get_g_x
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:681,1
    - Dst: get_g_x
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:681,1
    - Dst: get_g_y
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:681,1
    - Dst: get_g_y
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:681,1
    - Dst: get_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:681,1
    - Dst: get_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:681,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:682,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:682,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Group
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 683
    functionName: EC_Group::operator==(const EC_Group& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - get_order
    - get_g_x
    - get_p
    - get_cofactor
    - get_a
    - get_b
    - get_g_y
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::operator==(const EC_Group& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:696,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:697,1
    - Dst: get_b
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:698,1
    - Dst: get_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:699,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:715,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:720,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:725,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:727,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:727,1
    - Dst: auto::cube
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:727,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:727,1
    - Dst: auto::square
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:727,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:734,1
    - Dst: get_base_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:739,1
    - Dst: on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:741,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:744,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:744,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:748,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:754,1
    - Dst: abs
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:754,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:754,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 759
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 759
    functionName: Botan::EC_Group::verify_group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - get_order
    - auto::reduce
    - get_p
    - auto::cube
    - get_cofactor
    - abs
    - is_zero
    - get_a
    - get_base_point
    - is_prime
    - Botan::Barrett_Reduction::for_public_modulus
    - auto::square
    - get_b
    - on_the_curve
    - bits
    - auto::multiply
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::verify_group(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:761,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' h'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 761
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 761
    functionName: EC_Group::Mul2Table::Mul2Table(const EC_AffinePoint& h)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - _inner
    - _group
    linkageType: ''
    returnType: void
    signature: void EC_Group::Mul2Table::Mul2Table(const EC_AffinePoint& h)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 763
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 763
    functionName: EC_Group::Mul2Table::~Mul2Table()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group::Mul2Table::~Mul2Table()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2_vartime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:766,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:766,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:766,1
    - Dst: Botan::EC_AffinePoint::_from_inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:768,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - EC_Scalar
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: EC_Group::Mul2Table::mul2_vartime(const EC_Scalar& x, const EC_Scalar&
      y) const
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - mul2_vartime
    - std::move
    - Botan::EC_AffinePoint::_from_inner
    - _inner
    linkageType: ''
    returnType: std::optional<EC_AffinePoint>
    signature: std::optional<EC_AffinePoint> EC_Group::Mul2Table::mul2_vartime(const
      EC_Scalar& x, const EC_Scalar& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2_vartime_x_mod_order_eq
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:777,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:777,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:777,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' v'
    - ' x'
    - ' y'
    argTypes:
    - EC_Scalar
    - EC_Scalar
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 778
    functionName: "EC_Group::Mul2Table::mul2_vartime_x_mod_order_eq(const EC_Scalar&
      v,\n                                                      const EC_Scalar& x,\n
      \                                                     const EC_Scalar& y) const"
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - _inner
    - mul2_vartime_x_mod_order_eq
    linkageType: ''
    returnType: bool
    signature: "bool EC_Group::Mul2Table::mul2_vartime_x_mod_order_eq(const EC_Scalar&
      v,\n                                                      const EC_Scalar& x,\n
      \                                                     const EC_Scalar& y) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Group::Mul2Table::mul2_vartime_x_mod_order_eq
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' v'
    - ' c'
    - ' x'
    - ' y'
    argTypes:
    - EC_Scalar
    - EC_Scalar
    - EC_Scalar
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 785
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 785
    functionName: "EC_Group::Mul2Table::mul2_vartime_x_mod_order_eq(const EC_Scalar&
      v,\n                                                      const EC_Scalar& c,\n
      \                                                     const EC_Scalar& x,\n
      \                                                     const EC_Scalar& y) const"
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - EC_Group::Mul2Table::mul2_vartime_x_mod_order_eq
    linkageType: ''
    returnType: bool
    signature: "bool EC_Group::Mul2Table::mul2_vartime_x_mod_order_eq(const EC_Scalar&
      v,\n                                                      const EC_Scalar& c,\n
      \                                                     const EC_Scalar& x,\n
      \                                                     const EC_Scalar& y) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:18,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:30,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:42,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:54,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:66,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:78,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:90,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:102,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:114,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:126,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:138,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:150,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:162,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:174,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:186,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:198,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:210,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:222,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:234,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:246,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:258,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:270,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:282,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:294,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:306,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:318,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:330,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:342,1
    - Dst: std::shared_ptr<EC_Group_Data>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:352,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 353
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 353
    functionName: Botan::EC_Group::EC_group_info
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp
    functionUses: 3
    functionsReached:
    - std::shared_ptr<EC_Group_Data>
    - Botan::EC_Group::load_EC_group_info
    linkageType: ''
    returnType: std::shared_ptr<EC_Group_Data>
    signature: std::shared_ptr<EC_Group_Data> EC_Group::EC_group_info(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:360,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:364,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:368,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:372,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:376,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:380,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:384,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:388,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:392,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:396,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:400,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:404,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:408,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:412,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:416,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:420,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:424,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:428,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:432,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:436,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:440,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:444,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:448,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:452,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:456,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:460,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:464,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:468,1
    - Dst: OID
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:472,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 86
    argCount: 1
    argNames:
    - ' order'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 473
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 473
    functionName: Botan::EC_Group::EC_group_identity_from_order
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp
    functionUses: 2
    functionsReached:
    - BigInt
    - OID
    linkageType: ''
    returnType: OID
    signature: OID EC_Group::EC_group_identity_from_order(const BigInt& order)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:478,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:478,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:482,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:482,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:486,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:486,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:490,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:490,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:494,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:494,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:498,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:498,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:502,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:507,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:507,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:511,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:511,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:515,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:515,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:519,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:519,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:523,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:523,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:527,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 551
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 551
    functionName: '& EC_Group::known_named_groups()'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp
    functionUses: 0
    functionsReached:
    - defined
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> & EC_Group::known_named_groups()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: EC_Group_Data::~EC_Group_Data()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group_Data::~EC_Group_Data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:45,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:46,1
    - Dst: sig_words
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:50,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:51,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:52,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:55,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:60,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:62,1
    - Dst: human_name_or_empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:64,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:65,1
    - Dst: Botan::PCurve::PrimeOrderCurve::for_named_curve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:67,1
    - Dst: Botan::PCurve::PrimeOrderCurve::from_params
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:76,1
    - Dst: mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:86,1
    - Dst: R2
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:86,1
    - Dst: mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:87,1
    - Dst: R2
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:87,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:93,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:94,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:96,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:97,1
    - Dst: to_string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:97,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 9
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' g_x'
    - ' g_y'
    - ' order'
    - ' cofactor'
    - ' oid'
    - source
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - OID
    - EC_Group_Source
    constantsTouched: []
    func_position:
      end: 101
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 101
    functionName: Botan::EC_Group_Data::EC_Group_Data
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - human_name_or_empty
    - Botan::PCurve::PrimeOrderCurve::for_named_curve
    - Botan::PCurve::PrimeOrderCurve::from_params
    - mul
    - empty
    - is_zero
    - sig_words
    - Not_Implemented
    - to_string
    - DER_Encoder::encode
    - bits
    - Botan::Barrett_Reduction::for_public_modulus
    - R2
    - fmt
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: "void EC_Group_Data::EC_Group_Data(const BigInt& p,\n                             const
      BigInt& a,\n                             const BigInt& b,\n                             const
      BigInt& g_x,\n                             const BigInt& g_y,\n                             const
      BigInt& order,\n                             const BigInt& cofactor,\n                             const
      OID& oid,\n                             EC_Group_Source source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<EC_Group_Data>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:112,1
    - Dst: CurveGFp
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:115,1
    - Dst: auto::get
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:115,1
    - Dst: EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:116,1
    - Dst: std::make_unique<EC_Point_Base_Point_Precompute>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 9
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' g_x'
    - ' g_y'
    - ' order'
    - ' cofactor'
    - ' oid'
    - source
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - OID
    - EC_Group_Source
    constantsTouched: []
    func_position:
      end: 123
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 123
    functionName: Botan::EC_Group_Data::create
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 3
    functionsReached:
    - auto::get
    - EC_Point
    - std::make_unique<EC_Point_Base_Point_Precompute>
    - std::make_shared<EC_Group_Data>
    - CurveGFp
    linkageType: ''
    returnType: std::shared_ptr<EC_Group_Data>
    signature: "std::shared_ptr<EC_Group_Data> EC_Group_Data::create(const BigInt&
      p,\n                                                     const BigInt& a,\n
      \                                                    const BigInt& b,\n                                                     const
      BigInt& g_x,\n                                                     const BigInt&
      g_y,\n                                                     const BigInt& order,\n
      \                                                    const BigInt& cofactor,\n
      \                                                    const OID& oid,\n                                                     EC_Group_Source
      source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:132,1
    - Dst: Botan::EC_Group_Data::a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:132,1
    - Dst: Botan::EC_Group_Data::b
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:132,1
    - Dst: Botan::EC_Group_Data::order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:132,1
    - Dst: Botan::EC_Group_Data::cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:133,1
    - Dst: Botan::EC_Group_Data::g_x
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:133,1
    - Dst: Botan::EC_Group_Data::g_y
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' g_x'
    - ' g_y'
    - ' order'
    - ' cofactor'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: Botan::EC_Group_Data::params_match
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::cofactor
    - Botan::EC_Group_Data::g_y
    - Botan::EC_Group_Data::order
    - Botan::EC_Group_Data::g_x
    - Botan::EC_Group_Data::a
    - Botan::EC_Group_Data::b
    - Botan::EC_Group_Data::p
    linkageType: ''
    returnType: bool
    signature: "bool EC_Group_Data::params_match(const BigInt& p,\n                                 const
      BigInt& a,\n                                 const BigInt& b,\n                                 const
      BigInt& g_x,\n                                 const BigInt& g_y,\n                                 const
      BigInt& order,\n                                 const BigInt& cofactor) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::params_match
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: g_x
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: g_y
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Group_Data
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::EC_Group_Data::params_match
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 1
    functionsReached:
    - a
    - cofactor
    - g_y
    - b
    - g_x
    - Botan::EC_Group_Data::params_match
    - order
    - p
    linkageType: ''
    returnType: bool
    signature: bool EC_Group_Data::params_match(const EC_Group_Data& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:141,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:141,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:142,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:142,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:142,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: Botan::EC_Group_Data::set_oid
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - empty
    - BOTAN_STATE_CHECK
    - DER_Encoder::encode
    linkageType: ''
    returnType: void
    signature: void EC_Group_Data::set_oid(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::order_bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:152,1
    - Dst: Botan::EC_Group_Data::scalar_from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:154,1
    - Dst: Botan::EC_Group_Data::scalar_from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:163,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:163,1
    - Dst: Botan::EC_Group_Data::scalar_from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 177
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 177
    functionName: Botan::EC_Group_Data::scalar_from_bytes_with_trunc
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::first
    - Botan::EC_Group_Data::scalar_from_bytes_mod_order
    - Botan::EC_Group_Data::order_bits
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Group_Data::scalar_from_bytes_with_trunc(std::span<const
      uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:180,1
    - Dst: Botan::EC_Group_Data::order_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:180,1
    - Dst: scalar_from_wide_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:185,1
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:186,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:186,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:186,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:192,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:192,1
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:192,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:192,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 197
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 197
    functionName: Botan::EC_Group_Data::scalar_from_bytes_mod_order
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - shared_from_this
    - std::make_unique<EC_Scalar_Data_PC>
    - BigInt
    - Not_Implemented
    - std::span<const uint8_t>::size
    - reduce
    - scalar_from_wide_bytes
    - std::make_unique<EC_Scalar_Data_BN>
    - Botan::EC_Group_Data::order_bytes
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Group_Data::scalar_from_bytes_mod_order(std::span<const
      uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:201,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:201,1
    - Dst: random_scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:201,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:204,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:204,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:205,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:205,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: Botan::EC_Group_Data::scalar_random
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    - std::make_unique<EC_Scalar_Data_PC>
    - random_scalar
    - Botan::BigInt::random_integer
    - Not_Implemented
    - cryptofuzz::crypto::impl::sha1_done
    - std::make_unique<EC_Scalar_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Group_Data::scalar_random(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:214,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:214,1
    - Dst: Botan::EC_Group_Data::scalar_one
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:214,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:217,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:217,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:217,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: Botan::EC_Group_Data::scalar_one
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 1
    functionsReached:
    - shared_from_this
    - std::make_unique<EC_Scalar_Data_PC>
    - Botan::EC_Group_Data::scalar_one
    - Not_Implemented
    - cryptofuzz::crypto::impl::sha1_done
    - std::make_unique<EC_Scalar_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Group_Data::scalar_one() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::scalar_deserialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:230,1
    - Dst: serialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:230,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:233,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:233,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: Botan::EC_Group_Data::scalar_from_bigint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    - Not_Implemented
    - std::make_unique<EC_Scalar_Data_BN>
    - serialize
    - Botan::EC_Group_Data::scalar_deserialize
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Group_Data::scalar_from_bigint(const
      BigInt& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:243,1
    - Dst: base_point_mul_x_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:244,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:244,1
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:245,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:245,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:248,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:249,1
    - Dst: mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:251,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:251,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:253,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:254,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:254,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:254,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:256,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:256,1
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:256,1
    - Dst: auto::get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:256,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 262
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 262
    functionName: Botan::EC_Group_Data::gk_x_mod_order
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - EC_Scalar_Data_PC::checked_ref
    - shared_from_this
    - std::make_unique<EC_Scalar_Data_PC>
    - BOTAN_STATE_CHECK
    - mul
    - EC_Scalar_Data_BN::checked_ref
    - auto::get_affine_x
    - Not_Implemented
    - cryptofuzz_secp256k1_scalar_is_zero
    - reduce
    - auto::is_zero
    - base_point_mul_x_mod_order
    - std::make_unique<EC_Scalar_Data_BN>
    - value
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: "std::unique_ptr<EC_Scalar_Data> EC_Group_Data::gk_x_mod_order(const
      EC_Scalar_Data& scalar,\n                                                              RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:265,1
    - Dst: deserialize_scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:270,1
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:271,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:271,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:279,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:283,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:283,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:283,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 288
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 288
    functionName: Botan::EC_Group_Data::scalar_deserialize
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 1
    functionsReached:
    - deserialize_scalar
    - std::move
    - shared_from_this
    - std::make_unique<EC_Scalar_Data_PC>
    - Not_Implemented
    - std::span<const uint8_t>::size
    - BigInt::is_zero
    - std::make_unique<EC_Scalar_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Group_Data::scalar_deserialize(std::span<const
      uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:293,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:298,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:298,1
    - Dst: Botan::EC_Group_Data::point_deserialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:300,1
    - Dst: deserialize_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:306,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:307,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:307,1
    - Dst: Botan::OS2ECP
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:313,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:314,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:314,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:314,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 322
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 322
    functionName: Botan::EC_Group_Data::point_deserialize
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::make_unique<EC_AffinePoint_Data_BN>
    - Botan::EC_Group_Data::point_deserialize
    - deserialize_point
    - std::span<const uint8_t>::begin
    - shared_from_this
    - std::span<const uint8_t>::end
    - std::make_unique<EC_AffinePoint_Data_PC>
    - Not_Implemented
    - std::span<const uint8_t>::size
    - Botan::OS2ECP
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::point_deserialize(std::span<const
      uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:333,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:334,1
    - Dst: Botan::expand_message_xmd
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:339,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:341,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - hash_fn
    - input
    - domain_sep
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: Botan::h2c_expand_message
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    - Botan::expand_message_xmd
    - std::string_view::starts_with
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::function<void(std::span<uint8_t>)>
    signature: "std::function<void(std::span<uint8_t>)> h2c_expand_message(std::string_view
      hash_fn,\n                                                           std::span<const
      uint8_t> input,\n                                                           std::span<const
      uint8_t> domain_sep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_to_curve_ro
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:353,1
    - Dst: h2c_expand_message
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:353,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:354,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:354,1
    - Dst: point_to_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:354,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hash_fn
    - input
    - domain_sep
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: Botan::EC_Group_Data::point_hash_to_curve_ro
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - h2c_expand_message
    - point_to_affine
    - shared_from_this
    - std::make_unique<EC_AffinePoint_Data_PC>
    - Not_Implemented
    - hash_to_curve_ro
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::point_hash_to_curve_ro(std::string_view
      hash_fn,\n                                                                           std::span<const
      uint8_t> input,\n                                                                           std::span<const
      uint8_t> domain_sep) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_to_curve_nu
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:364,1
    - Dst: h2c_expand_message
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:364,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:365,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:365,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hash_fn
    - input
    - domain_sep
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 369
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 369
    functionName: Botan::EC_Group_Data::point_hash_to_curve_nu
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - h2c_expand_message
    - shared_from_this
    - std::make_unique<EC_AffinePoint_Data_PC>
    - Not_Implemented
    - hash_to_curve_nu
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::point_hash_to_curve_nu(std::string_view
      hash_fn,\n                                                                           std::span<const
      uint8_t> input,\n                                                                           std::span<const
      uint8_t> domain_sep) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:374,1
    - Dst: point_to_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:375,1
    - Dst: mul_by_g
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:375,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:375,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:376,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:376,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:376,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:379,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:380,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:382,1
    - Dst: m_base_mult::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:384,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:384,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:385,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:385,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:385,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 390
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 390
    functionName: Botan::EC_Group_Data::point_g_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<EC_AffinePoint_Data_BN>
    - point_to_affine
    - mul_by_g
    - EC_Scalar_Data_PC::checked_ref
    - shared_from_this
    - BOTAN_STATE_CHECK
    - EC_Scalar_Data_BN::checked_ref
    - std::make_unique<EC_AffinePoint_Data_PC>
    - Not_Implemented
    - m_base_mult::mul
    - value
    - group
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::point_g_mul(const
      EC_Scalar_Data& scalar,\n                                                                RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::mul_px_qy
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:398,1
    - Dst: EC_AffinePoint_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:398,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:399,1
    - Dst: EC_AffinePoint_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:400,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:401,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:405,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:405,1
    - Dst: point_to_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:405,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:412,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:415,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:416,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:418,1
    - Dst: cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:418,1
    - Dst: EC_Point_Var_Point_Precompute::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:420,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:420,1
    - Dst: EC_Point_Var_Point_Precompute::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:421,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:421,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:425,1
    - Dst: auto::force_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:426,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:427,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:427,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:427,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - ' p'
    - ' x'
    - ' q'
    - ' y'
    - ' rng'
    argTypes:
    - EC_AffinePoint_Data
    - EC_Scalar_Data
    - EC_AffinePoint_Data
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 435
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 435
    functionName: Botan::EC_Group_Data::mul_px_qy
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<EC_AffinePoint_Data_BN>
    - std::move
    - point_to_affine
    - EC_AffinePoint_Data_PC::checked_ref
    - cofactor
    - EC_Scalar_Data_PC::checked_ref
    - shared_from_this
    - EC_Point_Var_Point_Precompute::mul
    - EC_Scalar_Data_BN::checked_ref
    - std::make_unique<EC_AffinePoint_Data_PC>
    - Botan::EC_Group_Data::mul_px_qy
    - Not_Implemented
    - auto::force_affine
    - auto::is_zero
    - to_legacy_point
    - order
    - group
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::mul_px_qy(const
      EC_AffinePoint_Data& p,\n                                                              const
      EC_Scalar_Data& x,\n                                                              const
      EC_AffinePoint_Data& q,\n                                                              const
      EC_Scalar_Data& y,\n                                                              RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_add
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:440,1
    - Dst: EC_AffinePoint_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:440,1
    - Dst: EC_AffinePoint_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:441,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:443,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:443,1
    - Dst: point_to_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:443,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:446,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:446,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:447,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:447,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:447,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - EC_AffinePoint_Data
    - EC_AffinePoint_Data
    constantsTouched: []
    func_position:
      end: 452
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 452
    functionName: Botan::EC_Group_Data::affine_add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_AffinePoint_Data_BN>
    - std::move
    - point_to_affine
    - EC_AffinePoint_Data_PC::checked_ref
    - shared_from_this
    - std::make_unique<EC_AffinePoint_Data_PC>
    - Not_Implemented
    - point_add
    - to_legacy_point
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::affine_add(const
      EC_AffinePoint_Data& p,\n                                                               const
      EC_AffinePoint_Data& q) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_negate
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:456,1
    - Dst: EC_AffinePoint_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:456,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:457,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:457,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:460,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:461,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:462,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:462,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:462,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - EC_AffinePoint_Data
    constantsTouched: []
    func_position:
      end: 467
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 467
    functionName: Botan::EC_Group_Data::affine_neg
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_AffinePoint_Data_BN>
    - point_negate
    - std::move
    - EC_AffinePoint_Data_PC::checked_ref
    - shared_from_this
    - auto::negate
    - std::make_unique<EC_AffinePoint_Data_PC>
    - Not_Implemented
    - to_legacy_point
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::affine_neg(const
      EC_AffinePoint_Data& p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Mul2Table_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:471,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:474,1
    - Dst: Botan::EC_Group_Data::base_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:474,1
    - Dst: std::make_unique<EC_Mul2Table_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:475,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' h'
    argTypes:
    - EC_AffinePoint_Data
    constantsTouched: []
    func_position:
      end: 480
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 480
    functionName: Botan::EC_Group_Data::make_mul2_table
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Mul2Table_Data_BN>
    - shared_from_this
    - std::make_unique<EC_Mul2Table_Data_PC>
    - Botan::EC_Group_Data::base_point
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<EC_Mul2Table_Data>
    signature: std::unique_ptr<EC_Mul2Table_Data> EC_Group_Data::make_mul2_table(const
      EC_AffinePoint_Data& h) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:118,1
    - Dst: OID
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:126,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:183,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:190,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:190,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:200,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:217,1
    - Dst: Botan::EC_Group::from_PEM
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:218,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:224,1
    - Dst: EC_Group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:224,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:293,1
    - Dst: Mul2Table
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:339,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:474,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:475,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:478,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:480,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:487,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:495,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:501,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:503,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:504,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:505,1
    - Dst: Mul2Table::mul2_vartime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:509,1
    - Dst: auto::to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:510,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:512,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:522,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:524,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:525,1
    - Dst: auto::to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:526,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:537,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:539,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:540,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:540,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:550,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:555,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:556,1
    - Dst: auto::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:557,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:563,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:564,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:580,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_ro
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:591,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_nu
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:593,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:609,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:616,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:616,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:616,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_ro
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:619,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_nu
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:621,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:628,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:629,1
    - Dst: auto::to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:630,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:632,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:639,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:640,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:647,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:647,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:647,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:652,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:652,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:657,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:658,1
    - Dst: auto::serialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:658,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:664,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:665,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:671,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:672,1
    - Dst: auto::square_self
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:673,1
    - Dst: auto::to_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:674,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:680,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:681,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:682,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:683,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:689,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:691,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:692,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:693,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:694,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:700,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:701,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:702,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:705,1
    - Dst: get_p_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:708,1
    - Dst: get_p_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:710,1
    - Dst: EC_Group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:717,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 735
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 735
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.h
    functionUses: 7
    functionsReached:
    - auto::square_self
    - get_p
    - get_p_bytes
    - Botan::EC_Scalar::from_bytes_mod_order
    - auto::mul
    - Botan::EC_AffinePoint::from_bigint_xy
    - reinterpret_cast<const uint8_t*>
    - EC_AffinePoint
    - auto::to_bigint
    - Botan::EC_AffinePoint::identity
    - Botan::size
    - BOTAN_DEPRECATED
    - Botan::EC_Group::from_OID
    - Botan::EC_Scalar::from_bigint
    - data
    - EC_Group
    - Mul2Table::mul2_vartime
    - Botan::EC_AffinePoint::hash_to_curve_ro
    - to_bigint
    - OID
    - Botan::EC_Scalar::random
    - Botan::Decoding_Error
    - get_a
    - Botan::EC_AffinePoint::hash_to_curve_nu
    - Botan::EC_AffinePoint::g_mul
    - auto::serialize
    - BigInt
    - Botan::EC_Group::from_PEM
    - Mul2Table
    - auto::to_legacy_point
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - EC_Group
    - EC_Group
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: operator!=(const EC_Group& lhs, const EC_Group& rhs)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EC_Group& lhs, const EC_Group& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:15,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - std::unique_ptr<EC_AffinePoint_Data>
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: Botan::EC_AffinePoint::EC_AffinePoint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 9
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::EC_AffinePoint(std::unique_ptr<EC_AffinePoint_Data>
      point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan::EC_AffinePoint::EC_AffinePoint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 9
    functionsReached:
    - inner
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::EC_AffinePoint(const EC_AffinePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan::EC_AffinePoint::EC_AffinePoint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 9
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::EC_AffinePoint(EC_AffinePoint&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: '& EC_AffinePoint::operator=(const EC_AffinePoint& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint & EC_AffinePoint::operator=(const EC_AffinePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '& EC_AffinePoint::operator=(EC_AffinePoint&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint & EC_AffinePoint::operator=(EC_AffinePoint&& other)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:36,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: Botan::EC_AffinePoint::EC_AffinePoint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 9
    functionsReached:
    - Decoding_Error
    - _data
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::EC_AffinePoint(const EC_Group& group, std::span<const
      uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::EC_AffinePoint::to_legacy_point
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::to_legacy_point
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point EC_AffinePoint::to_legacy_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' pt'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: Botan::EC_AffinePoint::EC_AffinePoint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 9
    functionsReached:
    - encode
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::EC_AffinePoint(const EC_Group& group, const EC_Point&
      pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_AffinePoint::_group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:60,1
    - Dst: _group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:60,1
    - Dst: EC_AffinePoint::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:64,1
    - Dst: is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:65,1
    - Dst: EC_AffinePoint::serialize_uncompressed
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:71,1
    - Dst: serialize_uncompressed
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:72,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:73,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:73,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:73,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:75,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:75,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:75,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: EC_AffinePoint::operator==(const EC_AffinePoint& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - _group
    - Botan::CT::is_equal
    - EC_AffinePoint::serialize_uncompressed
    - is_identity
    - EC_AffinePoint::_group
    - auto::data
    - EC_AffinePoint::is_identity
    - auto::size
    - serialize_uncompressed
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: bool EC_AffinePoint::operator==(const EC_AffinePoint& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - EC_Group
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: Botan::EC_AffinePoint::identity
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 4
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::identity(const EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:86,1
    - Dst: get_g_x
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:86,1
    - Dst: get_g_y
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:86,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - EC_Group
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: Botan::EC_AffinePoint::generator
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 8
    functionsReached:
    - Internal_Error
    - get_g_x
    - Botan::EC_AffinePoint::from_bigint_xy
    - get_g_y
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::generator(const EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:93,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:93,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:96,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:96,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:103,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:103,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:104,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:104,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' group'
    - ' x'
    - ' y'
    argTypes:
    - EC_Group
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: Botan::EC_AffinePoint::from_bigint_xy
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 7
    functionsReached:
    - subspan
    - is_negative
    - get_p
    - serialize_to
    - Botan::EC_AffinePoint::deserialize
    - last
    linkageType: ''
    returnType: std::optional<EC_AffinePoint>
    signature: std::optional<EC_AffinePoint> EC_AffinePoint::from_bigint_xy(const
      EC_Group& group, const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: Botan::EC_AffinePoint::field_element_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: size_t
    signature: size_t EC_AffinePoint::field_element_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Botan::EC_AffinePoint::is_identity
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: bool
    signature: bool EC_AffinePoint::is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:121,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:122,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' group'
    - hash_fn
    - input
    - domain_sep
    argTypes:
    - EC_Group
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: Botan::EC_AffinePoint::hash_to_curve_ro
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 3
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::move
    - _data
    linkageType: ''
    returnType: EC_AffinePoint
    signature: "EC_AffinePoint EC_AffinePoint::hash_to_curve_ro(const EC_Group& group,\n
      \                                               std::string_view hash_fn,\n
      \                                               std::span<const uint8_t> input,\n
      \                                               std::span<const uint8_t> domain_sep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:129,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:130,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' group'
    - hash_fn
    - input
    - domain_sep
    argTypes:
    - EC_Group
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: Botan::EC_AffinePoint::hash_to_curve_nu
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 3
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::move
    - _data
    linkageType: ''
    returnType: EC_AffinePoint
    signature: "EC_AffinePoint EC_AffinePoint::hash_to_curve_nu(const EC_Group& group,\n
      \                                               std::string_view hash_fn,\n
      \                                               std::span<const uint8_t> input,\n
      \                                               std::span<const uint8_t> domain_sep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: EC_AffinePoint::~EC_AffinePoint()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::~EC_AffinePoint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:136,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:137,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: Botan::EC_AffinePoint::deserialize
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 5
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::move
    - _data
    linkageType: ''
    returnType: std::optional<EC_AffinePoint>
    signature: std::optional<EC_AffinePoint> EC_AffinePoint::deserialize(const EC_Group&
      group, std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:144,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:144,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:145,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: Botan::EC_AffinePoint::g_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 7
    functionsReached:
    - _inner
    - std::move
    - inner
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::g_mul(const EC_Scalar& scalar, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:149,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:149,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: Botan::EC_AffinePoint::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - _inner
    - inner
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::mul(const EC_Scalar& scalar, RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:153,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: Botan::EC_AffinePoint::mul_x_only
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - _inner
    - inner
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> EC_AffinePoint::mul_x_only(const EC_Scalar&
      scalar, RandomNumberGenerator& rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:161,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:161,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:161,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:161,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:161,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:163,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' p'
    - ' x'
    - ' q'
    - ' y'
    - ' rng'
    argTypes:
    - EC_AffinePoint
    - EC_Scalar
    - EC_AffinePoint
    - EC_Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: Botan::EC_AffinePoint::mul_px_qy
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 3
    functionsReached:
    - _inner
    - std::move
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: std::optional<EC_AffinePoint>
    signature: "std::optional<EC_AffinePoint> EC_AffinePoint::mul_px_qy(const EC_AffinePoint&
      p,\n                                                        const EC_Scalar&
      x,\n                                                        const EC_AffinePoint&
      q,\n                                                        const EC_Scalar&
      y,\n                                                        RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:170,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:170,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:170,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:171,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' q'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: Botan::EC_AffinePoint::add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - _inner
    - std::move
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::add(const EC_AffinePoint& q) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::_inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:175,1
    - Dst: Botan::EC_AffinePoint::_inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:175,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:176,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: Botan::EC_AffinePoint::negate
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::EC_AffinePoint::_inner
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::serialize_compressed
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:181,1
    - Dst: Botan::EC_AffinePoint::serialize_uncompressed
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:183,1
    - Dst: Botan::EC_AffinePoint::serialize_uncompressed
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:187,1
    - Dst: auto::front
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - EC_Point_Format
    constantsTouched: []
    func_position:
      end: 192
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 192
    functionName: Botan::EC_AffinePoint::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::serialize_uncompressed
    - auto::front
    - Botan::EC_AffinePoint::serialize_compressed
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_AffinePoint::serialize(EC_Point_Format format)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:195,1
    - Dst: Botan::EC_AffinePoint::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:195,1
    - Dst: Botan::EC_AffinePoint::serialize_x_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: Botan::EC_AffinePoint::serialize_x_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::is_identity
    - BOTAN_STATE_CHECK
    - Botan::EC_AffinePoint::serialize_x_to
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::serialize_x_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:200,1
    - Dst: Botan::EC_AffinePoint::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:200,1
    - Dst: Botan::EC_AffinePoint::serialize_y_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: Botan::EC_AffinePoint::serialize_y_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::serialize_y_to
    - Botan::EC_AffinePoint::is_identity
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::serialize_y_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:205,1
    - Dst: Botan::EC_AffinePoint::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:205,1
    - Dst: Botan::EC_AffinePoint::serialize_xy_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: Botan::EC_AffinePoint::serialize_xy_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::serialize_xy_to
    - Botan::EC_AffinePoint::is_identity
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::serialize_xy_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:210,1
    - Dst: Botan::EC_AffinePoint::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:210,1
    - Dst: Botan::EC_AffinePoint::serialize_compressed_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: Botan::EC_AffinePoint::serialize_compressed_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::serialize_compressed_to
    - Botan::EC_AffinePoint::is_identity
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::serialize_compressed_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:215,1
    - Dst: Botan::EC_AffinePoint::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:215,1
    - Dst: Botan::EC_AffinePoint::serialize_uncompressed_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: Botan::EC_AffinePoint::serialize_uncompressed_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::is_identity
    - BOTAN_STATE_CHECK
    - Botan::EC_AffinePoint::serialize_uncompressed_to
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::serialize_uncompressed_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:220,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inner
    argTypes:
    - std::unique_ptr<EC_AffinePoint_Data>
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: Botan::EC_AffinePoint::_from_inner
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::_from_inner(std::unique_ptr<EC_AffinePoint_Data>
      inner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: '& EC_AffinePoint::_group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: std::shared_ptr<const EC_Group_Data>
    signature: std::shared_ptr<const EC_Group_Data> & EC_AffinePoint::_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EC_Scalar_Data_PC*>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:14,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: '& EC_Scalar_Data_PC::checked_ref(const EC_Scalar_Data& data)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - dynamic_cast<const EC_Scalar_Data_PC*>
    linkageType: ''
    returnType: EC_Scalar_Data_PC
    signature: EC_Scalar_Data_PC & EC_Scalar_Data_PC::checked_ref(const EC_Scalar_Data&
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: '& EC_Scalar_Data_PC::group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const EC_Group_Data>
    signature: std::shared_ptr<const EC_Group_Data> & EC_Scalar_Data_PC::group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar_Data_PC::group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::EC_Scalar_Data_PC::bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar_Data_PC::group
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Scalar_Data_PC::bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:30,1
    - Dst: Botan::EC_Scalar_Data_PC::group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:30,1
    - Dst: Botan::EC_Scalar_Data_PC::value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::EC_Scalar_Data_PC::clone
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Scalar_Data_PC>
    - Botan::EC_Scalar_Data_PC::group
    - Botan::EC_Scalar_Data_PC::value
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar_Data_PC::group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:34,1
    - Dst: scalar_is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: Botan::EC_Scalar_Data_PC::is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - scalar_is_zero
    - Botan::EC_Scalar_Data_PC::group
    linkageType: ''
    returnType: bool
    signature: bool EC_Scalar_Data_PC::is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:39,1
    - Dst: scalar_equal
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:40,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: Botan::EC_Scalar_Data_PC::is_eq
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    - scalar_equal
    - group
    linkageType: ''
    returnType: bool
    signature: bool EC_Scalar_Data_PC::is_eq(const EC_Scalar_Data& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::EC_Scalar_Data_PC::assign
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_PC::assign(const EC_Scalar_Data& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::EC_Scalar_Data_PC::square_self
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - pcurve
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_PC::square_self()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:53,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::EC_Scalar_Data_PC::negate
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Scalar_Data_PC>
    - pcurve
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:57,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::EC_Scalar_Data_PC::invert
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Scalar_Data_PC>
    - pcurve
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::invert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:61,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Botan::EC_Scalar_Data_PC::invert_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Scalar_Data_PC>
    - pcurve
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::invert_vartime()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:65,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:65,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::EC_Scalar_Data_PC::add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Scalar_Data_PC>
    - checked_ref
    - group
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::add(const EC_Scalar_Data&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:69,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:69,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::EC_Scalar_Data_PC::sub
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Scalar_Data_PC>
    - checked_ref
    - group
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::sub(const EC_Scalar_Data&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:73,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:73,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::EC_Scalar_Data_PC::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Scalar_Data_PC>
    - checked_ref
    - group
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::mul(const EC_Scalar_Data&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:77,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:77,1
    - Dst: order_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:77,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: Botan::EC_Scalar_Data_PC::serialize_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<uint8_t>::size
    - pcurve
    - order_bytes
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_PC::serialize_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:83,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:83,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:84,1
    - Dst: affine_point_is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:86,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:87,1
    - Dst: Botan::EC_AffinePoint_Data_PC::field_element_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:87,1
    - Dst: serialize_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - group
    - pt
    argTypes:
    - std::shared_ptr<const EC_Group_Data>
    - PCurve::PrimeOrderCurve::AffinePoint
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: Botan::EC_AffinePoint_Data_PC::EC_AffinePoint_Data_PC
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::EC_AffinePoint_Data_PC::field_element_bytes
    - pcurve
    - affine_point_is_identity
    - serialize_point
    - resize
    linkageType: ''
    returnType: void
    signature: "void EC_AffinePoint_Data_PC::EC_AffinePoint_Data_PC(std::shared_ptr<const
      EC_Group_Data> group,\n                                               PCurve::PrimeOrderCurve::AffinePoint
      pt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EC_AffinePoint_Data_PC*>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:93,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - EC_AffinePoint_Data
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: '& EC_AffinePoint_Data_PC::checked_ref(const EC_AffinePoint_Data&
      data)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - dynamic_cast<const EC_AffinePoint_Data_PC*>
    linkageType: ''
    returnType: EC_AffinePoint_Data_PC
    signature: EC_AffinePoint_Data_PC & EC_AffinePoint_Data_PC::checked_ref(const
      EC_AffinePoint_Data& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::EC_AffinePoint_Data_PC::clone
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_AffinePoint_Data_PC>
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: std::unique_ptr<EC_AffinePoint_Data> EC_AffinePoint_Data_PC::clone()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '& EC_AffinePoint_Data_PC::group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const EC_Group_Data>
    signature: std::shared_ptr<const EC_Group_Data> & EC_AffinePoint_Data_PC::group()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:110,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:110,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:111,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:112,1
    - Dst: point_to_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:113,1
    - Dst: Botan::EC_AffinePoint_Data_PC::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:113,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:114,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: Botan::EC_AffinePoint_Data_PC::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - point_to_affine
    - EC_Scalar_Data_PC::checked_ref
    - pcurve
    - std::make_unique<EC_AffinePoint_Data_PC>
    - Botan::EC_AffinePoint_Data_PC::mul
    - BOTAN_ARG_CHECK
    - group
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_AffinePoint_Data_PC::mul(const
      EC_Scalar_Data& scalar,\n                                                                 RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:119,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:119,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:120,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Botan::EC_AffinePoint_Data_PC::mul_x_only
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - EC_Scalar_Data_PC::checked_ref
    - pcurve
    - group
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> EC_AffinePoint_Data_PC::mul_x_only(const EC_Scalar_Data&
      scalar,\n                                                          RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::EC_AffinePoint_Data_PC::field_element_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 1
    functionsReached:
    - pcurve
    linkageType: ''
    returnType: size_t
    signature: size_t EC_AffinePoint_Data_PC::field_element_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::EC_AffinePoint_Data_PC::is_identity
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EC_AffinePoint_Data_PC::is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:133,1
    - Dst: Botan::EC_AffinePoint_Data_PC::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:133,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:135,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:135,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:136,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: Botan::EC_AffinePoint_Data_PC::serialize_x_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - subspan
    - std::span<uint8_t>::size
    - BOTAN_STATE_CHECK
    - copy_mem
    - BOTAN_ARG_CHECK
    - Botan::EC_AffinePoint_Data_PC::is_identity
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_PC::serialize_x_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:140,1
    - Dst: Botan::EC_AffinePoint_Data_PC::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:140,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:142,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:142,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:143,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: Botan::EC_AffinePoint_Data_PC::serialize_y_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - subspan
    - std::span<uint8_t>::size
    - BOTAN_STATE_CHECK
    - copy_mem
    - BOTAN_ARG_CHECK
    - Botan::EC_AffinePoint_Data_PC::is_identity
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_PC::serialize_y_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:147,1
    - Dst: Botan::EC_AffinePoint_Data_PC::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:147,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:149,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:149,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:150,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: Botan::EC_AffinePoint_Data_PC::serialize_xy_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - BOTAN_STATE_CHECK
    - copy_mem
    - BOTAN_ARG_CHECK
    - last
    - Botan::EC_AffinePoint_Data_PC::is_identity
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_PC::serialize_xy_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:154,1
    - Dst: Botan::EC_AffinePoint_Data_PC::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:154,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:156,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:156,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:160,1
    - Dst: Botan::EC_AffinePoint_Data_PC::serialize_x_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:161,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: Botan::EC_AffinePoint_Data_PC::serialize_compressed_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - BOTAN_STATE_CHECK
    - BufferStuffer::append
    - BufferStuffer::next
    - Botan::EC_AffinePoint_Data_PC::serialize_x_to
    - BOTAN_ARG_CHECK
    - Botan::EC_AffinePoint_Data_PC::is_identity
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_PC::serialize_compressed_to(std::span<uint8_t>
      bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:165,1
    - Dst: Botan::EC_AffinePoint_Data_PC::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:165,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:167,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:167,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: Botan::EC_AffinePoint_Data_PC::serialize_uncompressed_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - BOTAN_STATE_CHECK
    - copy_mem
    - BOTAN_ARG_CHECK
    - Botan::EC_AffinePoint_Data_PC::is_identity
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_PC::serialize_uncompressed_to(std::span<uint8_t>
      bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint_Data_PC::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:173,1
    - Dst: EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:174,1
    - Dst: curve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:174,1
    - Dst: EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:177,1
    - Dst: curve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:177,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:178,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:178,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:179,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: Botan::EC_AffinePoint_Data_PC::to_legacy_point
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint_Data_PC::is_identity
    - subspan
    - EC_Point
    - curve
    - last
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point EC_AffinePoint_Data_PC::to_legacy_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:184,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:185,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:185,1
    - Dst: EC_AffinePoint_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:187,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:189,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' q'
    argTypes:
    - EC_AffinePoint_Data
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: Botan::EC_Mul2Table_Data_PC::EC_Mul2Table_Data_PC
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - EC_AffinePoint_Data_PC::checked_ref
    - pcurve
    - BOTAN_ARG_CHECK
    - value
    - group
    linkageType: ''
    returnType: void
    signature: void EC_Mul2Table_Data_PC::EC_Mul2Table_Data_PC(const EC_AffinePoint_Data&
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:194,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:194,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:194,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:196,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:197,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:199,1
    - Dst: Botan::EC_Mul2Table_Data_PC::mul2_vartime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:201,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:201,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:201,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:202,1
    - Dst: point_to_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' xd'
    - ' yd'
    argTypes:
    - EC_Scalar_Data
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: Botan::EC_Mul2Table_Data_PC::mul2_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 1
    functionsReached:
    - point_to_affine
    - EC_Scalar_Data_PC::checked_ref
    - pcurve
    - std::make_unique<EC_AffinePoint_Data_PC>
    - BOTAN_ARG_CHECK
    - Botan::EC_Mul2Table_Data_PC::mul2_vartime
    - value
    - group
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Mul2Table_Data_PC::mul2_vartime(const
      EC_Scalar_Data& xd,\n                                                                        const
      EC_Scalar_Data& yd) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:211,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:211,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:211,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:213,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:214,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:215,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:217,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:217,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:217,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' vd'
    - ' xd'
    - ' yd'
    argTypes:
    - EC_Scalar_Data
    - EC_Scalar_Data
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: Botan::EC_Mul2Table_Data_PC::mul2_vartime_x_mod_order_eq
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - EC_Scalar_Data_PC::checked_ref
    - pcurve
    - BOTAN_ARG_CHECK
    - value
    - group
    linkageType: ''
    returnType: bool
    signature: "bool EC_Mul2Table_Data_PC::mul2_vartime_x_mod_order_eq(const EC_Scalar_Data&
      vd,\n                                                       const EC_Scalar_Data&
      xd,\n                                                       const EC_Scalar_Data&
      yd) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:41,1
    - Dst: Botan::field_element_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:158,1
    - Dst: Botan::serialize_x_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:159,1
    - Dst: Botan::field_element_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:168,1
    - Dst: Botan::serialize_y_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:169,1
    - Dst: Botan::field_element_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:178,1
    - Dst: Botan::serialize_xy_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:179,1
    - Dst: Botan::field_element_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:188,1
    - Dst: Botan::serialize_uncompressed_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:189,1
    - Dst: Botan::field_element_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:198,1
    - Dst: Botan::serialize_compressed_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:199,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:228,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:230,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:233,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:235,1
    - Dst: Botan::mul_x_only
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:242,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:247,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 261
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h
    functionUses: 7
    functionsReached:
    - BOTAN_DEPRECATED
    - Botan::serialize_y_to
    - Botan::field_element_bytes
    - Botan::mul
    - Botan::serialize_uncompressed_to
    - Botan::mul_x_only
    - Botan::EC_AffinePoint::g_mul
    - Botan::serialize_compressed_to
    - inner
    - EC_AffinePoint
    - Botan::serialize_x_to
    - Botan::serialize_xy_to
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::blinding_size
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t blinding_size(size_t order_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_seeded
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:24,1
    - Dst: Botan::blinding_size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:25,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:25,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' group_order'
    - ' rng'
    argTypes:
    - BigInt
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: Botan::blinding_mask
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_seeded
    - bits
    - Botan::blinding_size
    - BigInt::set_bit
    linkageType: ''
    returnType: BigInt
    signature: BigInt blinding_mask(const BigInt& group_order, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Point_Multi_Point_Precompute::multi_exp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x'
    - ' z1'
    - ' y'
    - ' z2'
    argTypes:
    - EC_Point
    - BigInt
    - EC_Point
    - BigInt
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Botan::multi_exponentiate
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - EC_Point_Multi_Point_Precompute::multi_exp
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point multi_exponentiate(const EC_Point& x, const BigInt& z1, const
      EC_Point& y, const BigInt& z2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:42,1
    - Dst: EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:56,1
    - Dst: mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:58,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:61,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:62,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:64,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:65,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:66,1
    - Dst: EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:68,1
    - Dst: EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:69,1
    - Dst: Botan::EC_Point::force_all_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:72,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:72,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:74,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:74,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:77,1
    - Dst: get_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:78,1
    - Dst: get_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - ' base'
    - ' mod_order'
    argTypes:
    - EC_Point
    - Barrett_Reduction
    constantsTouched: []
    func_position:
      end: 83
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 83
    functionName: Botan::EC_Point_Base_Point_Precompute::EC_Point_Base_Point_Precompute
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::vector::size
    - get_curve
    - get_y
    - get_x
    - EC_Point::mult2
    - EC_Point::swap
    - get_word_vector
    - mult2
    - resize
    - Botan::EC_Point::force_all_affine
    - plus
    linkageType: ''
    returnType: void
    signature: "void EC_Point_Base_Point_Precompute::EC_Point_Base_Point_Precompute(const
      EC_Point& base,\n                                                               const
      Barrett_Reduction& mod_order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:89,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:90,1
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:94,1
    - Dst: is_seeded
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:96,1
    - Dst: blinding_mask
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:98,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:107,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:107,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:110,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:110,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:110,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:117,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:117,1
    - Dst: zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:119,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:121,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:122,1
    - Dst: BigInt::get_substring
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:132,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:134,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:135,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:136,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:137,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:138,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:139,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:140,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:143,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:144,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:145,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:146,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:147,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:148,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:149,1
    - Dst: EC_Point::add_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:154,1
    - Dst: is_seeded
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:156,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:162,1
    - Dst: EC_Point::randomize_repr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:163,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:163,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:167,1
    - Dst: EC_Point::on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - ' k'
    - ' rng'
    - ' group_order'
    - ' ws'
    argTypes:
    - BigInt
    - RandomNumberGenerator
    - BigInt
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 170
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 170
    functionName: Botan::EC_Point_Base_Point_Precompute::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - EC_Point::add_affine
    - get_word_vector
    - blinding_mask
    - EC_Point::on_the_curve
    - EC_Point::randomize_repr
    - Botan::BigInt::is_equal
    - BigInt::bits
    - zero
    - reduce
    - bits
    - is_seeded
    - is_negative
    - BOTAN_DEBUG_ASSERT
    - BigInt::get_substring
    - resize
    - Invalid_Argument
    - BOTAN_ASSERT
    - size
    - auto::if_set_return
    linkageType: ''
    returnType: EC_Point
    signature: "EC_Point EC_Point_Base_Point_Precompute::mul(const BigInt& k,\n                                             RandomNumberGenerator&
      rng,\n                                             const BigInt& group_order,\n
      \                                            std::vector<BigInt>& ws) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:175,1
    - Dst: get_p_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:175,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:176,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:177,1
    - Dst: auto::randomize_repr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:181,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:183,1
    - Dst: auto::zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:184,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:187,1
    - Dst: double_of
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:188,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:189,1
    - Dst: is_seeded
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:193,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:195,1
    - Dst: randomize_repr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:196,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:200,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:200,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:203,1
    - Dst: get_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:204,1
    - Dst: get_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:205,1
    - Dst: get_z
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ' ipoint'
    - ' rng'
    - ' ws'
    argTypes:
    - EC_Point
    - RandomNumberGenerator
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 209
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 209
    functionName: Botan::EC_Point_Var_Point_Precompute::EC_Point_Var_Point_Precompute
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_curve
    - is_seeded
    - get_x
    - static_cast<size_t>
    - get_z
    - double_of
    - get_p_words
    - auto::randomize_repr
    - size
    - randomize_repr
    - get_y
    - resize
    - plus
    - auto::zero
    linkageType: ''
    returnType: void
    signature: "void EC_Point_Var_Point_Precompute::EC_Point_Var_Point_Precompute(const
      EC_Point& ipoint,\n                                                             RandomNumberGenerator&
      rng,\n                                                             std::vector<BigInt>&
      ws)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:215,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:216,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:218,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:219,1
    - Dst: blinding_mask
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:223,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:237,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:237,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:237,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:239,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:242,1
    - Dst: EC_Point::add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:246,1
    - Dst: EC_Point::randomize_repr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:253,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:253,1
    - Dst: EC_Point::mult2i
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:257,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:261,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:261,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:261,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:263,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:266,1
    - Dst: EC_Point::add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:270,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:275,1
    - Dst: EC_Point::on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - ' k'
    - ' rng'
    - ' group_order'
    - ' ws'
    argTypes:
    - BigInt
    - RandomNumberGenerator
    - BigInt
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 278
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 278
    functionName: Botan::EC_Point_Var_Point_Precompute::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - clear_mem
    - is_negative
    - EC_Point::randomize_repr
    - EC_Point::mult2i
    - get_word_vector
    - EC_Point::on_the_curve
    - blinding_mask
    - Invalid_Argument
    - size
    - secure_vector::size
    - auto::if_set_return
    - EC_Point::add
    - resize
    - secure_vector::data
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: EC_Point
    signature: "EC_Point EC_Point_Var_Point_Precompute::mul(const BigInt& k,\n                                            RandomNumberGenerator&
      rng,\n                                            const BigInt& group_order,\n
      \                                           std::vector<BigInt>& ws) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:281,1
    - Dst: on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:281,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:282,1
    - Dst: zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:282,1
    - Dst: EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:289,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:291,1
    - Dst: EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:294,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:296,1
    - Dst: reserve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:298,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:300,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:301,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:302,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:304,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:305,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:305,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:306,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:306,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:307,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:307,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:309,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:310,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:310,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:311,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:311,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:312,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:312,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:314,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:315,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:315,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:316,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:316,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:317,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:317,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:321,1
    - Dst: Botan::EC_Point::force_all_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:327,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - EC_Point
    - EC_Point
    constantsTouched: []
    func_position:
      end: 331
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 331
    functionName: Botan::EC_Point_Multi_Point_Precompute::EC_Point_Multi_Point_Precompute
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - zero
    - EC_Point::mult2
    - is_zero
    - get_word_vector
    - reserve
    - on_the_curve
    - Botan::EC_Point::force_all_affine
    - EC_Point::plus
    - plus
    - push_back
    linkageType: ''
    returnType: void
    signature: void EC_Point_Multi_Point_Precompute::EC_Point_Multi_Point_Precompute(const
      EC_Point& x, const EC_Point& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:334,1
    - Dst: zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:342,1
    - Dst: EC_Point::mult2i
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:346,1
    - Dst: EC_Point::add_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:357,1
    - Dst: EC_Point::add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:359,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:364,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:364,1
    - Dst: EC_Point::negate
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' z1'
    - ' z2'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 369
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 369
    functionName: Botan::EC_Point_Multi_Point_Precompute::multi_exp
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - is_negative
    - zero
    - EC_Point::mult2i
    - EC_Point::add_affine
    - EC_Point::negate
    - size
    - EC_Point::add
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point EC_Point_Multi_Point_Precompute::multi_exp(const BigInt& z1,
      const BigInt& z2) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.h:18,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.h:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - group
    - v
    argTypes:
    - std::shared_ptr<const EC_Group_Data>
    - BigInt
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: Botan::EC_Scalar_Data_BN::EC_Scalar_Data_BN
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_BN(std::shared_ptr<const EC_Group_Data> group,
      BigInt v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::EC_AffinePoint_Data_BN::to_legacy_point
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point to_legacy_point() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:53,1
    - Dst: Botan::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:63,1
    - Dst: Botan::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:75,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:99,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:133,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:134,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:162,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:237,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:244,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:251,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:253,1
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:256,1
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:257,1
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:258,1
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:261,1
    - Dst: EC_Point::add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:339,1
    - Dst: EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:350,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 365
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h
    functionUses: 7
    functionsReached:
    - Botan::is_zero
    - get_p
    - BOTAN_DEPRECATED
    - swap
    - Botan::swap
    - EC_Point::mult2
    - EC_Point::add
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' lhs'
    argTypes:
    - EC_Point
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: operator-(const EC_Point& lhs)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h
    functionUses: 0
    functionsReached:
    - EC_Point
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point operator-(const EC_Point& lhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - EC_Point
    - EC_Point
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: operator+(const EC_Point& lhs, const EC_Point& rhs)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point operator+(const EC_Point& lhs, const EC_Point& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - EC_Point
    - EC_Point
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: operator-(const EC_Point& lhs, const EC_Point& rhs)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point operator-(const EC_Point& lhs, const EC_Point& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' point'
    - ' scalar'
    argTypes:
    - EC_Point
    - BigInt
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: operator*(const EC_Point& point, const BigInt& scalar)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h
    functionUses: 0
    functionsReached:
    - Botan::mul
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point operator*(const EC_Point& point, const BigInt& scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - ' point'
    argTypes:
    - BigInt
    - EC_Point
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: operator*(const BigInt& scalar, const EC_Point& point)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h
    functionUses: 0
    functionsReached:
    - Botan::mul
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point operator*(const BigInt& scalar, const EC_Point& point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_Group_Data*
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::CurveGFp::CurveGFp
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void CurveGFp::CurveGFp(const EC_Group_Data* group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '& CurveGFp::group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: EC_Group_Data
    signature: EC_Group_Data & CurveGFp::group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& CurveGFp::group'
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '& CurveGFp::get_a() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - '& CurveGFp::group'
    linkageType: ''
    returnType: BigInt
    signature: BigInt & CurveGFp::get_a() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& CurveGFp::group'
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '& CurveGFp::get_b() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - '& CurveGFp::group'
    linkageType: ''
    returnType: BigInt
    signature: BigInt & CurveGFp::get_b() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& CurveGFp::group'
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '& CurveGFp::get_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - '& CurveGFp::group'
    linkageType: ''
    returnType: BigInt
    signature: BigInt & CurveGFp::get_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CurveGFp::group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::CurveGFp::get_p_words
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - Botan::CurveGFp::group
    linkageType: ''
    returnType: size_t
    signature: size_t CurveGFp::get_p_words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:56,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' group'
    - ' x'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::to_rep
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: void
    signature: void to_rep(const EC_Group_Data& group, BigInt& x, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' group'
    - ' z'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::from_rep
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: void
    signature: void from_rep(const EC_Group_Data& group, BigInt& z, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' group'
    - ' x'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::from_rep_to_tmp
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: BigInt
    signature: BigInt from_rep_to_tmp(const EC_Group_Data& group, const BigInt& x,
      secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' group'
    - ' z'
    - ' x'
    - ' y'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::fe_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: void
    signature: void fe_mul(const EC_Group_Data& group, BigInt& z, const BigInt& x,
      const BigInt& y, secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' group'
    - ' z'
    - x_w
    - x_size
    - ' y'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - word[]
    - size_t
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: Botan::fe_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: void
    signature: "void fe_mul(\n   const EC_Group_Data& group, BigInt& z, const word
      x_w[], size_t x_size, const BigInt& y, secure_vector<word>& ws)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' group'
    - ' x'
    - ' y'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::fe_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: BigInt
    signature: BigInt fe_mul(const EC_Group_Data& group, const BigInt& x, const BigInt&
      y, secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' group'
    - ' z'
    - ' x'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::fe_sqr
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: void
    signature: void fe_sqr(const EC_Group_Data& group, BigInt& z, const BigInt& x,
      secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' group'
    - ' z'
    - x_w
    - x_size
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - word[]
    - size_t
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::fe_sqr
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: void
    signature: void fe_sqr(const EC_Group_Data& group, BigInt& z, const word x_w[],
      size_t x_size, secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' group'
    - ' x'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::fe_sqr
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: BigInt
    signature: BigInt fe_sqr(const EC_Group_Data& group, const BigInt& x, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:93,1
    - Dst: Botan::inverse_mod_public_prime
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:93,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:93,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' group'
    - ' x'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan::invert_element
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - Botan::inverse_mod_public_prime
    - monty
    - p
    linkageType: ''
    returnType: BigInt
    signature: BigInt invert_element(const EC_Group_Data& group, const BigInt& x,
      secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - EC_Group_Data
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: Botan::monty_ws_size
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - p_words
    linkageType: ''
    returnType: size_t
    signature: size_t monty_ws_size(const EC_Group_Data& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' curve'
    argTypes:
    - CurveGFp
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::EC_Point::EC_Point
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: void
    signature: void EC_Point::EC_Point(const CurveGFp& curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Point::EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: Botan::EC_Point::zero
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Point::EC_Point
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point EC_Point::zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:109,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:109,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:109,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:110,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:112,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:113,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:115,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:116,1
    - Dst: to_rep
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:121,1
    - Dst: to_rep
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - ' curve'
    - x
    - y
    argTypes:
    - CurveGFp
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: Botan::EC_Point::EC_Point
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - group
    - Invalid_Argument
    - to_rep
    - p
    linkageType: ''
    returnType: void
    signature: void EC_Point::EC_Point(const CurveGFp& curve, BigInt x, BigInt y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:126,1
    - Dst: Botan::EC_Point::randomize_repr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: Botan::EC_Point::randomize_repr
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - Botan::EC_Point::randomize_repr
    - group
    linkageType: ''
    returnType: void
    signature: void EC_Point::randomize_repr(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_seeded
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:132,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:136,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:138,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:138,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:147,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:148,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:150,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:151,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' rng'
    - ' ws'
    argTypes:
    - RandomNumberGenerator
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 153
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 153
    functionName: Botan::EC_Point::randomize_repr
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - fe_sqr
    - group
    - Botan::BigInt::random_integer
    - fe_mul
    - is_seeded
    - p
    linkageType: ''
    returnType: void
    signature: void EC_Point::randomize_repr(RandomNumberGenerator& rng, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:158,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:158,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:161,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ws_bn'
    - cap_size
    argTypes:
    - std::vector<BigInt>
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: Botan::resize_ws
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    - Botan::size
    - get_word_vector
    linkageType: ''
    returnType: void
    signature: void resize_ws(std::vector<BigInt>& ws_bn, size_t cap_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:170,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:171,1
    - Dst: Botan::EC_Point::is_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:171,1
    - Dst: Botan::EC_Point::add_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:174,1
    - Dst: m_x::_data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:174,1
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:175,1
    - Dst: m_x::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:175,1
    - Dst: m_y::_data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:176,1
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:177,1
    - Dst: m_y::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' other'
    - ' workspace'
    argTypes:
    - EC_Point
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: Botan::EC_Point::add_affine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Point::add_affine
    - m_x::size
    - BOTAN_DEBUG_ASSERT
    - m_y::size
    - m_y::_data
    - Botan::EC_Point::is_affine
    - m_x::_data
    - std::min
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void EC_Point::add_affine(const EC_Point& other, std::vector<BigInt>&
      workspace)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:183,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:183,1
    - Dst: as_bool
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:183,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:187,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:189,1
    - Dst: set_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:190,1
    - Dst: set_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:191,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:192,1
    - Dst: resize_ws
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:196,1
    - Dst: monty_ws_size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:196,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:198,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:199,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:212,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:214,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:215,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:217,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:218,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:220,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:222,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:224,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:225,1
    - Dst: Botan::EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:226,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:231,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:232,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:233,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:237,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:239,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:241,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:243,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:244,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:246,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:247,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:249,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:251,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:252,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:253,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:254,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:256,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 5
    argNames:
    - x_words
    - x_size
    - y_words
    - y_size
    - ' ws_bn'
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 258
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 258
    functionName: Botan::EC_Point::add_affine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 1
    functionsReached:
    - resize_ws
    - fe_sqr
    - clear
    - set_words
    - mod_sub
    - is_zero
    - get_word_vector
    - fe_mul
    - Botan::EC_Point::mult2
    - Botan::EC_Point::swap
    - Botan::CT::all_zeros
    - monty_ws_size
    - p
    - as_bool
    - monty
    - group
    linkageType: ''
    returnType: void
    signature: "void EC_Point::add_affine(\n   const word x_words[], size_t x_size,
      const word y_words[], size_t y_size, std::vector<BigInt>& ws_bn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:261,1
    - Dst: Botan::EC_Point::add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:265,1
    - Dst: m_x::_data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:265,1
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:266,1
    - Dst: m_x::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:266,1
    - Dst: m_y::_data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:267,1
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:268,1
    - Dst: m_y::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:268,1
    - Dst: m_z::_data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:269,1
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:270,1
    - Dst: m_z::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' other'
    - ' workspace'
    argTypes:
    - EC_Point
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: Botan::EC_Point::add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 1
    functionsReached:
    - m_z::_data
    - m_z::size
    - m_x::size
    - m_y::size
    - m_x::_data
    - BOTAN_ARG_CHECK
    - std::min
    - Botan::EC_Point::add
    - m_y::_data
    linkageType: ''
    returnType: void
    signature: void EC_Point::add(const EC_Point& other, std::vector<BigInt>& workspace)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:281,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:281,1
    - Dst: as_bool
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:281,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:285,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:287,1
    - Dst: set_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:288,1
    - Dst: set_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:289,1
    - Dst: set_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:290,1
    - Dst: resize_ws
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:294,1
    - Dst: monty_ws_size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:294,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:296,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:297,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:310,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:312,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:313,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:314,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:315,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:317,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:318,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:320,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:321,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:323,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:325,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:327,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:328,1
    - Dst: Botan::EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:329,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:334,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:335,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:336,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:340,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:342,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:344,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:346,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:347,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:348,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:349,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:351,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:353,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:354,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:356,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:358,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 7
    argNames:
    - x_words
    - x_size
    - y_words
    - y_size
    - z_words
    - z_size
    - ' ws_bn'
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    - word[]
    - size_t
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 360
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 360
    functionName: Botan::EC_Point::add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 1
    functionsReached:
    - resize_ws
    - fe_sqr
    - clear
    - set_words
    - mod_sub
    - is_zero
    - get_word_vector
    - fe_mul
    - Botan::EC_Point::mult2
    - Botan::CT::all_zeros
    - monty_ws_size
    - p
    - as_bool
    - monty
    - group
    linkageType: ''
    returnType: void
    signature: "void EC_Point::add(const word x_words[],\n                   size_t
      x_size,\n                   const word y_words[],\n                   size_t
      y_size,\n                   const word z_words[],\n                   size_t
      z_size,\n                   std::vector<BigInt>& ws_bn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:367,1
    - Dst: Botan::EC_Point::EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:368,1
    - Dst: Botan::EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - iterations
    - ' ws_bn'
    argTypes:
    - size_t
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 379
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 379
    functionName: Botan::EC_Point::mult2i
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Point::EC_Point
    - is_zero
    - Botan::EC_Point::mult2
    linkageType: ''
    returnType: void
    signature: void EC_Point::mult2i(size_t iterations, std::vector<BigInt>& ws_bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:383,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:387,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:389,1
    - Dst: Botan::EC_Point::EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:390,1
    - Dst: resize_ws
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:394,1
    - Dst: monty_ws_size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:394,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:396,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:397,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:408,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:410,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:412,1
    - Dst: mod_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:413,1
    - Dst: a_is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:415,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:417,1
    - Dst: mod_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:418,1
    - Dst: a_is_minus_3
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:419,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:424,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:428,1
    - Dst: mod_add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:431,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:433,1
    - Dst: mod_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:435,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:437,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:438,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:439,1
    - Dst: monty_a
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:439,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:441,1
    - Dst: mod_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:442,1
    - Dst: mod_add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:443,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:446,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:447,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:448,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:450,1
    - Dst: mod_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:451,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:453,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:455,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:456,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:458,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:460,1
    - Dst: mod_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:461,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:463,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - ' ws_bn'
    argTypes:
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 465
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 465
    functionName: Botan::EC_Point::mult2
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 3
    functionsReached:
    - a_is_minus_3
    - resize_ws
    - fe_sqr
    - mod_sub
    - is_zero
    - get_word_vector
    - fe_mul
    - monty_a
    - Botan::EC_Point::swap
    - Botan::EC_Point::EC_Point
    - mod_mul
    - mod_add
    - monty_ws_size
    - a_is_zero
    - p
    - group
    linkageType: ''
    returnType: void
    signature: void EC_Point::mult2(std::vector<BigInt>& ws_bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - EC_Point
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: '& EC_Point::operator+=(const EC_Point& rhs)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - add
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & EC_Point::operator+=(const EC_Point& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:475,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - EC_Point
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 484
    functionName: '& EC_Point::operator-=(const EC_Point& rhs)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - is_zero
    - EC_Point
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & EC_Point::operator-=(const EC_Point& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: '& EC_Point::operator*=(const BigInt& scalar)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & EC_Point::operator*=(const BigInt& scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Point::zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:496,1
    - Dst: Botan::EC_Point::add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:500,1
    - Dst: Botan::EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:501,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:504,1
    - Dst: negate
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:505,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:508,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 511
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 511
    functionName: Botan::EC_Point::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Point::add
    - is_negative
    - BOTAN_DEBUG_ASSERT
    - Botan::EC_Point::zero
    - Botan::EC_Point::mult2
    - negate
    - Botan::EC_Point::on_the_curve
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point EC_Point::mul(const BigInt& scalar) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<EC_Point>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:515,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:517,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:523,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:524,1
    - Dst: m_curve::group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:537,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:538,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:540,1
    - Dst: monty_ws_size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:540,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:541,1
    - Dst: monty_ws_size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:541,1
    - Dst: std::span<EC_Point>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:544,1
    - Dst: std::span<EC_Point>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:547,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:548,1
    - Dst: invert_element
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:551,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:551,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:558,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:560,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:562,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:563,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:564,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:565,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:569,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:570,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:571,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:572,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - points
    - ' ws'
    argTypes:
    - std::span<EC_Point>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 574
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 574
    functionName: Botan::EC_Point::force_all_affine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - std::vector::size
    - fe_sqr
    - Botan::EC_Point::force_affine
    - is_zero
    - fe_mul
    - Invalid_State
    - size
    - monty_ws_size
    - std::span<EC_Point>::size
    - resize
    - m_curve::group
    - monty
    - invert_element
    linkageType: ''
    returnType: void
    signature: void EC_Point::force_all_affine(std::span<EC_Point> points, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:577,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:578,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:583,1
    - Dst: invert_element
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:585,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:586,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:587,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:588,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:589,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 591
    functionName: Botan::EC_Point::force_affine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 3
    functionsReached:
    - fe_sqr
    - is_zero
    - fe_mul
    - Invalid_State
    - monty
    - invert_element
    - group
    linkageType: ''
    returnType: void
    signature: void EC_Point::force_affine()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:594,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: Botan::EC_Point::is_affine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 1
    functionsReached:
    - monty
    - group
    linkageType: ''
    returnType: bool
    signature: bool EC_Point::is_affine() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:599,1
    - Dst: BigInt::encode_1363
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:602,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:602,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:602,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: Botan::EC_Point::x_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - BigInt::encode_1363
    - secure_vector::size
    - Botan::EC_Point::get_affine_x
    - secure_vector::data
    - group
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> EC_Point::x_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:607,1
    - Dst: BigInt::encode_1363
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:610,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:610,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:610,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 612
    functionName: Botan::EC_Point::y_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - BigInt::encode_1363
    - Botan::EC_Point::get_affine_y
    - secure_vector::size
    - secure_vector::data
    - group
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> EC_Point::y_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:615,1
    - Dst: BigInt::encode_1363
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:618,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:618,1
    - Dst: BigInt::encode_1363
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:619,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: Botan::EC_Point::xy_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - BigInt::encode_1363
    - Botan::EC_Point::get_affine_x
    - Botan::EC_Point::get_affine_y
    - group
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> EC_Point::xy_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:624,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:625,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:630,1
    - Dst: Botan::EC_Point::is_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:632,1
    - Dst: from_rep_to_tmp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:633,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:636,1
    - Dst: invert_element
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:637,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:640,1
    - Dst: from_rep
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 643
    functionName: Botan::EC_Point::get_affine_x
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 4
    functionsReached:
    - fe_sqr
    - from_rep_to_tmp
    - is_zero
    - fe_mul
    - Invalid_State
    - Botan::EC_Point::is_affine
    - from_rep
    - invert_element
    - group
    linkageType: ''
    returnType: BigInt
    signature: BigInt EC_Point::get_affine_x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:646,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:647,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:650,1
    - Dst: Botan::EC_Point::is_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:653,1
    - Dst: from_rep_to_tmp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:654,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:657,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:658,1
    - Dst: invert_element
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:659,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:662,1
    - Dst: from_rep
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 665
    functionName: Botan::EC_Point::get_affine_y
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 4
    functionsReached:
    - fe_sqr
    - from_rep_to_tmp
    - is_zero
    - fe_mul
    - Invalid_State
    - Botan::EC_Point::is_affine
    - from_rep
    - invert_element
    - group
    linkageType: ''
    returnType: BigInt
    signature: BigInt EC_Point::get_affine_y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:674,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:678,1
    - Dst: from_rep_to_tmp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:681,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:681,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:682,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:682,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:683,1
    - Dst: monty_a
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:683,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:684,1
    - Dst: monty_b
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:686,1
    - Dst: from_rep_to_tmp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:690,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:695,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:696,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:696,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:697,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:697,1
    - Dst: from_rep_to_tmp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 704
    functionName: Botan::EC_Point::on_the_curve
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 4
    functionsReached:
    - fe_sqr
    - from_rep_to_tmp
    - fe_mul
    - is_zero
    - monty_a
    - monty_b
    - group
    linkageType: ''
    returnType: bool
    signature: bool EC_Point::on_the_curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Point::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:707,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:711,1
    - Dst: has_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:716,1
    - Dst: mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:717,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:717,1
    - Dst: to_rep
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:737,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:739,1
    - Dst: Botan::EC_Point::get_z
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:739,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:740,1
    - Dst: Botan::EC_Point::get_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:751,1
    - Dst: order_is_less_than_p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:755,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:756,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:757,1
    - Dst: to_rep
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:758,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:759,1
    - Dst: Botan::EC_Point::get_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 769
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 769
    functionName: Botan::EC_Point::_is_x_eq_to_v_mod_order
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - fe_sqr
    - order_is_less_than_p
    - Botan::EC_Point::get_z
    - Botan::EC_Point::is_zero
    - mod_order
    - fe_mul
    - has_cofactor
    - Botan::EC_Point::get_x
    - to_rep
    - p
    - Botan::EC_Point::get_affine_x
    - order
    - group
    linkageType: ''
    returnType: bool
    signature: bool EC_Point::_is_x_eq_to_v_mod_order(const BigInt& v) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:773,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:774,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:775,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Point
    constantsTouched: []
    func_position:
      end: 777
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 777
    functionName: Botan::EC_Point::swap
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 4
    functionsReached:
    - Botan::EC_Point::swap
    linkageType: ''
    returnType: void
    signature: void EC_Point::swap(EC_Point& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:785,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:786,1
    - Dst: get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:789,1
    - Dst: get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:789,1
    - Dst: get_affine_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:789,1
    - Dst: get_affine_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Point
    constantsTouched: []
    func_position:
      end: 790
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 790
    functionName: EC_Point::operator==(const EC_Point& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - get_affine_y
    - is_zero
    - get_affine_x
    linkageType: ''
    returnType: bool
    signature: bool EC_Point::operator==(const EC_Point& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:794,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:795,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:800,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:801,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:809,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:810,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:810,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:811,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:811,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:813,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:813,1
    - Dst: BigInt::get_bit
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:813,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:814,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:814,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:816,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:816,1
    - Dst: BigInt::get_bit
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:816,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:817,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:817,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:818,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:818,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - format
    argTypes:
    - EC_Point_Format
    constantsTouched: []
    func_position:
      end: 824
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 824
    functionName: Botan::EC_Point::encode
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 4
    functionsReached:
    - BigInt::get_bit
    - BigInt::serialize_to
    - std::vector<uint8_t>
    - BufferStuffer::append
    - is_zero
    - static_cast<uint8_t>
    - Invalid_Argument
    - Botan::EC_Point::get_affine_y
    - BufferStuffer::next
    - Botan::EC_Point::get_affine_x
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_Point::encode(EC_Point_Format format) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sqrt_modulo_prime
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:831,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:834,1
    - Dst: BigInt::get_bit
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - y_mod_2
    - ' x'
    - ' p'
    - ' a'
    - ' b'
    argTypes:
    - bool
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 842
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 842
    functionName: Botan::decompress_point
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - BigInt::get_bit
    - Botan::Decoding_Error
    - Botan::sqrt_modulo_prime
    linkageType: ''
    returnType: BigInt
    signature: BigInt decompress_point(bool y_mod_2, const BigInt& x, const BigInt&
      p, const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS2ECP
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:847,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:847,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ' curve'
    argTypes:
    - std::span<const uint8_t>
    - CurveGFp
    constantsTouched: []
    func_position:
      end: 848
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 848
    functionName: Botan::OS2ECP
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - Botan::OS2ECP
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point OS2ECP(std::span<const uint8_t> data, const CurveGFp& curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:853,1
    - Dst: EC_Point::on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:860,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - data
    - data_len
    - ' curve'
    argTypes:
    - uint8_t[]
    - size_t
    - CurveGFp
    constantsTouched: []
    func_position:
      end: 865
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 865
    functionName: Botan::OS2ECP
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - EC_Point::on_the_curve
    - Botan::Decoding_Error
    - EC_Point
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point OS2ECP(const uint8_t data[], size_t data_len, const CurveGFp&
      curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:869,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:879,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:881,1
    - Dst: Botan::decompress_point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:884,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:887,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:890,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:891,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:894,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:897,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:898,1
    - Dst: Botan::decompress_point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:902,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:903,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:906,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:906,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:906,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:910,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:913,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 5
    argNames:
    - pt
    - pt_len
    - ' p'
    - ' a'
    - ' b'
    argTypes:
    - uint8_t[]
    - size_t
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 914
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 914
    functionName: Botan::OS2ECP
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - Botan::Decoding_Error
    - Botan::to_string
    - Botan::BigInt::decode
    - Botan::decompress_point
    - static_cast<int>
    - std::make_pair
    linkageType: ''
    returnType: std::pair<BigInt, BigInt>
    signature: std::pair<BigInt, BigInt> OS2ECP(const uint8_t pt[], size_t pt_len,
      const BigInt& p, const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EC_Scalar_Data_BN*>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:15,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: '& EC_Scalar_Data_BN::checked_ref(const EC_Scalar_Data& data)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - dynamic_cast<const EC_Scalar_Data_BN*>
    linkageType: ''
    returnType: EC_Scalar_Data_BN
    signature: EC_Scalar_Data_BN & EC_Scalar_Data_BN::checked_ref(const EC_Scalar_Data&
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: '& EC_Scalar_Data_BN::group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const EC_Group_Data>
    signature: std::shared_ptr<const EC_Group_Data> & EC_Scalar_Data_BN::group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar_Data_BN::group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan::EC_Scalar_Data_BN::bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar_Data_BN::group
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Scalar_Data_BN::bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:31,1
    - Dst: Botan::EC_Scalar_Data_BN::group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:31,1
    - Dst: Botan::EC_Scalar_Data_BN::value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::EC_Scalar_Data_BN::clone
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar_Data_BN::value
    - Botan::EC_Scalar_Data_BN::group
    - std::make_unique<EC_Scalar_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar_Data_BN::value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::EC_Scalar_Data_BN::is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar_Data_BN::value
    linkageType: ''
    returnType: bool
    signature: bool EC_Scalar_Data_BN::is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:39,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::EC_Scalar_Data_BN::is_eq
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    - value
    linkageType: ''
    returnType: bool
    signature: bool EC_Scalar_Data_BN::is_eq(const EC_Scalar_Data& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::EC_Scalar_Data_BN::assign
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_BN::assign(const EC_Scalar_Data& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::EC_Scalar_Data_BN::square_self
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - mod_order
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_BN::square_self()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:51,1
    - Dst: mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:51,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::EC_Scalar_Data_BN::negate
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Scalar_Data_BN>
    - order
    - mod_order
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:55,1
    - Dst: inverse_mod_public_prime
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:55,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::EC_Scalar_Data_BN::invert
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - inverse_mod_public_prime
    - std::make_unique<EC_Scalar_Data_BN>
    - order
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::invert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:59,1
    - Dst: inverse_mod_public_prime
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:59,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan::EC_Scalar_Data_BN::invert_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - inverse_mod_public_prime
    - std::make_unique<EC_Scalar_Data_BN>
    - order
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::invert_vartime()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:63,1
    - Dst: mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:63,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Botan::EC_Scalar_Data_BN::add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    - std::make_unique<EC_Scalar_Data_BN>
    - mod_order
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::add(const EC_Scalar_Data&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:67,1
    - Dst: mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:68,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:68,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan::EC_Scalar_Data_BN::sub
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    - std::make_unique<EC_Scalar_Data_BN>
    - order
    - mod_order
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::sub(const EC_Scalar_Data&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:72,1
    - Dst: mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:72,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan::EC_Scalar_Data_BN::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    - std::make_unique<EC_Scalar_Data_BN>
    - mod_order
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::mul(const EC_Scalar_Data&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:76,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:76,1
    - Dst: order_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:76,1
    - Dst: Botan::EC_Scalar_Data_BN::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: Botan::EC_Scalar_Data_BN::serialize_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<uint8_t>::size
    - Botan::EC_Scalar_Data_BN::serialize_to
    - order_bytes
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_BN::serialize_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:81,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:81,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:82,1
    - Dst: force_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:83,1
    - Dst: xy_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - group
    - pt
    argTypes:
    - std::shared_ptr<const EC_Group_Data>
    - EC_Point
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: Botan::EC_AffinePoint_Data_BN::EC_AffinePoint_Data_BN
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - xy_bytes
    - force_affine
    - is_zero
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_BN::EC_AffinePoint_Data_BN(std::shared_ptr<const
      EC_Group_Data> group, EC_Point pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::EC_AffinePoint_Data_BN::clone
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_AffinePoint_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: std::unique_ptr<EC_AffinePoint_Data> EC_AffinePoint_Data_BN::clone()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '& EC_AffinePoint_Data_BN::group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const EC_Group_Data>
    signature: std::shared_ptr<const EC_Group_Data> & EC_AffinePoint_Data_BN::group()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:98,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:98,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:99,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:109,1
    - Dst: cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:109,1
    - Dst: EC_Point_Var_Point_Precompute::mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:110,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:110,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:111,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: Botan::EC_AffinePoint_Data_BN::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_AffinePoint_Data_BN>
    - std::move
    - cofactor
    - EC_Point_Var_Point_Precompute::mul
    - EC_Scalar_Data_BN::checked_ref
    - value
    - BOTAN_ARG_CHECK
    - order
    - group
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_AffinePoint_Data_BN::mul(const
      EC_Scalar_Data& scalar,\n                                                                 RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:116,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:116,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:117,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:127,1
    - Dst: cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:127,1
    - Dst: EC_Point_Var_Point_Precompute::mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:128,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:128,1
    - Dst: auto::x_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: Botan::EC_AffinePoint_Data_BN::mul_x_only
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - cofactor
    - EC_Point_Var_Point_Precompute::mul
    - EC_Scalar_Data_BN::checked_ref
    - value
    - BOTAN_ARG_CHECK
    - auto::x_bytes
    - order
    - group
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> EC_AffinePoint_Data_BN::mul_x_only(const EC_Scalar_Data&
      scalar,\n                                                          RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::EC_AffinePoint_Data_BN::field_element_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - p_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t EC_AffinePoint_Data_BN::field_element_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::EC_AffinePoint_Data_BN::is_identity
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EC_AffinePoint_Data_BN::is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:141,1
    - Dst: Botan::EC_AffinePoint_Data_BN::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:141,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:143,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:143,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:144,1
    - Dst: first
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: Botan::EC_AffinePoint_Data_BN::serialize_x_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - copy_mem
    - Botan::EC_AffinePoint_Data_BN::is_identity
    - BOTAN_ARG_CHECK
    - BOTAN_STATE_CHECK
    - first
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_BN::serialize_x_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:148,1
    - Dst: Botan::EC_AffinePoint_Data_BN::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:148,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:150,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:150,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:151,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: Botan::EC_AffinePoint_Data_BN::serialize_y_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - copy_mem
    - Botan::EC_AffinePoint_Data_BN::is_identity
    - BOTAN_ARG_CHECK
    - last
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_BN::serialize_y_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:155,1
    - Dst: Botan::EC_AffinePoint_Data_BN::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:155,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:157,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:157,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: Botan::EC_AffinePoint_Data_BN::serialize_xy_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - copy_mem
    - Botan::EC_AffinePoint_Data_BN::is_identity
    - BOTAN_ARG_CHECK
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_BN::serialize_xy_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:162,1
    - Dst: Botan::EC_AffinePoint_Data_BN::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:162,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:164,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:164,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:168,1
    - Dst: Botan::EC_AffinePoint_Data_BN::serialize_x_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:169,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: Botan::EC_AffinePoint_Data_BN::serialize_compressed_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - BufferStuffer::append
    - BufferStuffer::next
    - Botan::EC_AffinePoint_Data_BN::is_identity
    - Botan::EC_AffinePoint_Data_BN::serialize_x_to
    - BOTAN_ARG_CHECK
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_BN::serialize_compressed_to(std::span<uint8_t>
      bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:173,1
    - Dst: Botan::EC_AffinePoint_Data_BN::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:173,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:175,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:175,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:177,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: Botan::EC_AffinePoint_Data_BN::serialize_uncompressed_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - BufferStuffer::append
    - Botan::EC_AffinePoint_Data_BN::is_identity
    - BOTAN_ARG_CHECK
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_BN::serialize_uncompressed_to(std::span<uint8_t>
      bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:182,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:182,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:182,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:183,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' h'
    argTypes:
    - EC_AffinePoint_Data
    - EC_AffinePoint_Data
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: Botan::EC_Mul2Table_Data_BN::EC_Mul2Table_Data_BN
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - to_legacy_point
    - group
    linkageType: ''
    returnType: void
    signature: void EC_Mul2Table_Data_BN::EC_Mul2Table_Data_BN(const EC_AffinePoint_Data&
      g, const EC_AffinePoint_Data& h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:188,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:188,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:188,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:190,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:191,1
    - Dst: multi_exp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:192,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:192,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:192,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:194,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:197,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - EC_Scalar_Data
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: Botan::EC_Mul2Table_Data_BN::mul2_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_AffinePoint_Data_BN>
    - std::move
    - EC_Scalar_Data_BN::checked_ref
    - BOTAN_ARG_CHECK
    - auto::is_zero
    - multi_exp
    - value
    - group
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Mul2Table_Data_BN::mul2_vartime(const
      EC_Scalar_Data& x,\n                                                                        const
      EC_Scalar_Data& y) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:203,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:203,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:203,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:203,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:205,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:206,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:207,1
    - Dst: multi_exp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:208,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:208,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:208,1
    - Dst: auto::_is_x_eq_to_v_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:210,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ' v'
    - ' x'
    - ' y'
    argTypes:
    - EC_Scalar_Data
    - EC_Scalar_Data
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: Botan::EC_Mul2Table_Data_BN::mul2_vartime_x_mod_order_eq
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - EC_Scalar_Data_BN::checked_ref
    - BOTAN_ARG_CHECK
    - multi_exp
    - auto::_is_x_eq_to_v_mod_order
    - value
    - group
    linkageType: ''
    returnType: bool
    signature: "bool EC_Mul2Table_Data_BN::mul2_vartime_x_mod_order_eq(const EC_Scalar_Data&
      v,\n                                                       const EC_Scalar_Data&
      x,\n                                                       const EC_Scalar_Data&
      y) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/curve_gfp.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 80
    functionName: Botan::CurveGFp
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/curve_gfp.h
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API CurveGFp
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:26,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:26,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:27,1
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:28,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - kdf_hash
    argTypes:
    - SM2_Encryption_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: Botan::SM2_Encryption_Operation::SM2_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    - Botan::HashFunction::create_or_throw
    - fmt
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: void
    signature: void SM2_Encryption_Operation(const SM2_Encryption_PublicKey& key,
      std::string_view kdf_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Botan::SM2_Encryption_Operation::max_input_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t max_input_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: Botan::SM2_Encryption_Operation::ciphertext_length
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - output_length
    linkageType: ''
    returnType: size_t
    signature: size_t ciphertext_length(size_t ptext_len) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:44,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:46,1
    - Dst: mul
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:48,1
    - Dst: EC_AffinePoint::x_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:50,1
    - Dst: EC_AffinePoint::y_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:51,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:57,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:57,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:59,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:60,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:62,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:63,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:64,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:65,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:68,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:70,1
    - Dst: EC_AffinePoint::x_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:70,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:71,1
    - Dst: EC_AffinePoint::y_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 77
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 77
    functionName: Botan::SM2_Encryption_Operation::encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - update
    - BigInt
    - mul
    - EC_AffinePoint::x_bytes
    - std::span<const uint8_t>::size
    - derive_key
    - xor_buf
    - final
    - DER_Encoder
    - EC_AffinePoint::y_bytes
    - Botan::EC_Scalar::random
    - Botan::EC_AffinePoint::g_mul
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encrypt(std::span<const uint8_t> msg, RandomNumberGenerator&
      rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:91,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:91,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:92,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:94,1
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' key'
    - ' rng'
    - kdf_hash
    argTypes:
    - SM2_Encryption_PrivateKey
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: Botan::SM2_Decryption_Operation::SM2_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - _private_key
    - domain
    - Botan::HashFunction::create_or_throw
    - fmt
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: void
    signature: "void SM2_Decryption_Operation(const SM2_Encryption_PrivateKey& key,\n
      \                              RandomNumberGenerator& rng,\n                               std::string_view
      kdf_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:105,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: Botan::SM2_Decryption_Operation::plaintext_length
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - output_length
    linkageType: ''
    returnType: size_t
    signature: size_t plaintext_length(size_t ptext_len) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:118,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:118,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:119,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:125,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:135,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:143,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:143,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:144,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:147,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:147,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:147,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:147,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:148,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:151,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:155,1
    - Dst: auto::mul
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:158,1
    - Dst: auto::x_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:159,1
    - Dst: auto::y_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:160,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:162,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:162,1
    - Dst: auto::xy_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:162,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:164,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:164,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:164,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:164,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:166,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:167,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:168,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:169,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:171,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:171,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:171,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:171,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - ' valid_mask'
    - ctext
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 177
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 177
    functionName: Botan::SM2_Decryption_Operation::decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - auto::mul
    - DER_Encoder
    - Botan::EC_AffinePoint::from_bigint_xy
    - final
    - Botan::CT::is_equal
    - secure_vector<uint8_t>
    - data
    - output_length
    - auto::size
    - auto::x_bytes
    - auto::y_bytes
    - std::vector::size
    - std::vector::data
    - update
    - auto::data
    - derive_key
    - std::span<const uint8_t>::data
    - xor_buf
    - auto::xy_bytes
    - secure_vector::data
    - BER_Decoder
    - std::span<const uint8_t>::size
    - size
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decrypt(uint8_t& valid_mask, std::span<const
      uint8_t> ctext) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:192,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:194,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:195,1
    - Dst: std::make_unique<SM2_Encryption_Operation>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:196,1
    - Dst: std::make_unique<SM2_Encryption_Operation>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:198,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:202,1
    - Dst: Botan::SM2_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 203
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 203
    functionName: Botan::SM2_PublicKey::create_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::string_view::empty
    - std::make_unique<SM2_Encryption_Operation>
    - Provider_Not_Found
    - Botan::SM2_PublicKey::algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Encryption>
    signature: "std::unique_ptr<PK_Ops::Encryption> SM2_PublicKey::create_encryption_op(RandomNumberGenerator&
      rng,\n                                                                        std::string_view
      params,\n                                                                        std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:208,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:209,1
    - Dst: std::make_unique<SM2_Decryption_Operation>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:210,1
    - Dst: std::make_unique<SM2_Decryption_Operation>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:212,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:216,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: Botan::SM2_PrivateKey::create_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SM2_Decryption_Operation>
    - Provider_Not_Found
    - algo_name
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Decryption>
    signature: "std::unique_ptr<PK_Ops::Decryption> SM2_PrivateKey::create_decryption_op(RandomNumberGenerator&
      rng,\n                                                                         std::string_view
      params,\n                                                                         std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::SM2_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SM2_PublicKey(const EC_Group& group, const EC_Point& public_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: Botan::SM2_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SM2_PublicKey(const AlgorithmIdentifier& alg_id, std::span<const
      uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 0
    functionsReached:
    - Botan::domain
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> _signature_element_size_for_DER_encoding() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: get_da_inv
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_da_inv() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: _get_da_inv
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar & _get_da_inv() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/sm2/sm2.h:156,1
    - Dst: sm2_compute_za
      Src: /src/botan/src/lib/pubkey/sm2/sm2.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' hash'
    - user_id
    - ' group'
    - ' pubkey'
    argTypes:
    - HashFunction
    - std::string_view
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: sm2_compute_za
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 1
    functionsReached:
    - sm2_compute_za
    - EC_AffinePoint
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> sm2_compute_za(HashFunction& hash,\n                                           std::string_view
      user_id,\n                                           const EC_Group& group,\n
      \                                          const EC_Point& pubkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::SM2_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SM2_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SM2_Signature_PublicKey>
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:24,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:24,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::SM2_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    - std::make_unique<SM2_Signature_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> SM2_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:28,1
    - Dst: private_value
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:37,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:37,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: Botan::SM2_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - private_value
    - Botan::KeyPair::signature_consistency_check
    - domain
    - Botan::EC_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool SM2_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SM2_PrivateKey::_private_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:50,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:50,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:50,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:50,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::SM2_PrivateKey::SM2_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - domain
    - Botan::EC_Scalar::one
    - to_bigint
    - invert
    - Botan::SM2_PrivateKey::_private_key
    linkageType: ''
    returnType: void
    signature: void SM2_PrivateKey::SM2_PrivateKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:54,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:54,1
    - Dst: Botan::SM2_PrivateKey::_private_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:55,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:55,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:55,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:55,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - group
    - x
    argTypes:
    - EC_Group
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan::SM2_PrivateKey::SM2_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - domain
    - Botan::EC_Scalar::one
    - to_bigint
    - invert
    - Botan::SM2_PrivateKey::_private_key
    linkageType: ''
    returnType: void
    signature: void SM2_PrivateKey::SM2_PrivateKey(EC_Group group, EC_Scalar x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:59,1
    - Dst: Botan::SM2_PrivateKey::_private_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:60,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:60,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:60,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:60,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - group
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Botan::SM2_PrivateKey::SM2_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - domain
    - Botan::EC_Scalar::one
    - to_bigint
    - invert
    - Botan::SM2_PrivateKey::_private_key
    linkageType: ''
    returnType: void
    signature: void SM2_PrivateKey::SM2_PrivateKey(RandomNumberGenerator& rng, EC_Group
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:64,1
    - Dst: Botan::SM2_PrivateKey::_private_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:65,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:65,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:65,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:65,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - group
    - ' x'
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: Botan::SM2_PrivateKey::SM2_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - domain
    - Botan::EC_Scalar::one
    - to_bigint
    - invert
    - Botan::SM2_PrivateKey::_private_key
    linkageType: ''
    returnType: void
    signature: void SM2_PrivateKey::SM2_PrivateKey(RandomNumberGenerator& rng, EC_Group
      group, const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:72,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:73,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:78,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:78,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:79,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:79,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:80,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:84,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:84,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:85,1
    - Dst: get_b
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:85,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:86,1
    - Dst: get_g_x
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:86,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:87,1
    - Dst: get_g_y
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:87,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:88,1
    - Dst: xy_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:88,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' hash'
    - user_id
    - ' group'
    - ' pubkey'
    argTypes:
    - HashFunction
    - std::string_view
    - EC_Group
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: Botan::sm2_compute_za
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - get_g_x
    - std::string_view::size
    - Botan::get_byte
    - xy_bytes
    - get_a
    - Invalid_Argument
    - Botan::update
    - Botan::final
    - get_b
    - get_g_y
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> sm2_compute_za(HashFunction& hash,\n                                    std::string_view
      user_id,\n                                    const EC_Group& group,\n                                    const
      EC_AffinePoint& pubkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:101,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:101,1
    - Dst: _get_da_inv
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:101,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:105,1
    - Dst: sm2_compute_za
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:107,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:107,1
    - Dst: Botan::SM2_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' sm2'
    - ident
    - hash
    argTypes:
    - SM2_PrivateKey
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: Botan::SM2_Signature_Operation::SM2_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - _private_key
    - domain
    - sm2_compute_za
    - _public_ec_point
    - Botan::SM2_Signature_Operation::update
    - _get_da_inv
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void SM2_Signature_Operation(const SM2_PrivateKey& sm2, std::string_view
      ident, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan::SM2_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - get_order_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SM2_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:116,1
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:118,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:118,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:118,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: Botan::SM2_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 2
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - Botan::SM2_Signature_Operation::update
    - insert
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan::SM2_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:139,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:139,1
    - Dst: Botan::SM2_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:141,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:144,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:145,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:150,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:152,1
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: Botan::SM2_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - clear
    - Botan::EC_Scalar::from_bytes_mod_order
    - Botan::SM2_Signature_Operation::update
    - Botan::EC_Scalar::gk_x_mod_order
    - Botan::EC_Scalar::random
    - Botan::EC_Scalar::deserialize_pair
    - final
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> SM2_Signature_Operation::sign(RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:164,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:164,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:168,1
    - Dst: sm2_compute_za
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:170,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:170,1
    - Dst: Botan::SM2_Verification_Operation::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' sm2'
    - ident
    - hash
    argTypes:
    - SM2_PublicKey
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: Botan::SM2_Verification_Operation::SM2_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - domain
    - sm2_compute_za
    - _public_ec_point
    - Botan::SM2_Verification_Operation::update
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void SM2_Verification_Operation(const SM2_PublicKey& sm2, std::string_view
      ident, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SM2_Verification_Operation::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:177,1
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:179,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:179,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:179,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: Botan::SM2_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 2
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    - Botan::SM2_Verification_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: Botan::SM2_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:198,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:198,1
    - Dst: Botan::SM2_Verification_Operation::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:200,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:203,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:204,1
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:209,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:210,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:212,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:212,1
    - Dst: auto::is_nonzero
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:214,1
    - Dst: mul2_vartime_x_mod_order_eq
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 221
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 221
    functionName: Botan::SM2_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - mul2_vartime_x_mod_order_eq
    - clear
    - auto::is_nonzero
    - auto::value
    - Botan::EC_Scalar::from_bytes_mod_order
    - is_nonzero
    - Botan::SM2_Verification_Operation::update
    - Botan::EC_Scalar::deserialize_pair
    - final
    linkageType: ''
    returnType: bool
    signature: bool SM2_Verification_Operation::is_valid_signature(std::span<const
      uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:237,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:241,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - params
    - ' userid'
    - ' hash'
    argTypes:
    - std::string_view
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: Botan::parse_sm2_param_string
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::substr
    - std::string_view::find
    linkageType: ''
    returnType: void
    signature: void parse_sm2_param_string(std::string_view params, std::string& userid,
      std::string& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SM2_PrivateKey>
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:249,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: Botan::SM2_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<SM2_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> SM2_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:254,1
    - Dst: parse_sm2_param_string
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:256,1
    - Dst: std::make_unique<SM2_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:257,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:260,1
    - Dst: Botan::SM2_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: Botan::SM2_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - parse_sm2_param_string
    - Provider_Not_Found
    - std::make_unique<SM2_Verification_Operation>
    - Botan::SM2_PublicKey::algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> SM2_PublicKey::create_verification_op(std::string_view
      params,\n                                                                            std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:266,1
    - Dst: parse_sm2_param_string
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:268,1
    - Dst: std::make_unique<SM2_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:269,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:272,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: Botan::SM2_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - Provider_Not_Found
    - parse_sm2_param_string
    - std::make_unique<SM2_Signature_Operation>
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> SM2_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                       std::string_view
      params,\n                                                                       std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:15,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:15,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:17,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:22,1
    - Dst: is_identity
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - group
    - pt
    argTypes:
    - EC_Group
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: Botan::EC_PublicKey_Data::EC_PublicKey_Data
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_identity
    - BOTAN_ARG_CHECK
    - to_legacy_point
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey_Data::EC_PublicKey_Data(EC_Group group, EC_AffinePoint
      pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:26,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:26,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:26,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:29,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - group
    - x
    argTypes:
    - EC_Group
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: Botan::EC_PrivateKey_Data::EC_PrivateKey_Data
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - to_bigint
    - is_nonzero
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_PrivateKey_Data::EC_PrivateKey_Data(EC_Group group, EC_Scalar
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:37,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:48,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:48,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:48,1
    - Dst: Botan::decode_ec_secret_key_scalar
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:49,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:52,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:53,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: Botan::decode_ec_secret_key_scalar
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 1
    functionsReached:
    - Botan::Decoding_Error
    - auto::value
    - std::span<const uint8_t>::size
    - Botan::EC_Scalar::deserialize
    - Botan::decode_ec_secret_key_scalar
    - Botan::copy_mem
    - last
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar decode_ec_secret_key_scalar(const EC_Group& group, std::span<const
      uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_ec_secret_key_scalar
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: Botan::EC_PrivateKey_Data::EC_PrivateKey_Data
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 0
    functionsReached:
    - decode_ec_secret_key_scalar
    linkageType: ''
    returnType: void
    signature: void EC_PrivateKey_Data::EC_PrivateKey_Data(const EC_Group& group,
      std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:68,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:68,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:70,1
    - Dst: std::make_shared<EC_PublicKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:74,1
    - Dst: public_point
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' rng'
    - with_modular_inverse
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: Botan::EC_PrivateKey_Data::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 0
    functionsReached:
    - public_point
    - invert
    - std::make_shared<EC_PublicKey_Data>
    - Botan::EC_AffinePoint::g_mul
    linkageType: ''
    returnType: std::shared_ptr<EC_PublicKey_Data>
    signature: "std::shared_ptr<EC_PublicKey_Data> EC_PrivateKey_Data::public_key(RandomNumberGenerator&
      rng,\n                                                                  bool
      with_modular_inverse) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey_Data::public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - with_modular_inverse
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: Botan::EC_PrivateKey_Data::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_PrivateKey_Data::public_key
    linkageType: ''
    returnType: std::shared_ptr<EC_PublicKey_Data>
    signature: std::shared_ptr<EC_PublicKey_Data> EC_PrivateKey_Data::public_key(bool
      with_modular_inverse) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey_Data::serialize_to
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Botan::EC_PrivateKey_Data::serialize_to
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_PrivateKey_Data::serialize_to
    linkageType: ''
    returnType: void
    signature: void EC_PrivateKey_Data::serialize_to(std::span<uint8_t> output) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_PublicKey
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey(EC_PublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~EC_PublicKey() override
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EC_PublicKey() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::domain_format
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group_Encoding
    signature: EC_Group_Encoding domain_format() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::point_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point_Format
    signature: EC_Point_Format point_encoding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_PrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: Botan::EC_PublicKey_Data::EC_PublicKey_Data
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached:
    - EC_AffinePoint
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey_Data(const EC_Group& group, std::span<const uint8_t>
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group & group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& public_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint & public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& legacy_point() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & legacy_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey_Data::group
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h:61,1
    - Dst: Botan::EC_PrivateKey_Data::serialize_to
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: Botan::EC_PrivateKey_Data::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached:
    - Botan::EC_PrivateKey_Data::serialize_to
    - Botan::EC_PrivateKey_Data::group
    linkageType: ''
    returnType: T
    signature: T serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group & group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: '& private_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar & private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& legacy_bigint() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & legacy_bigint() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan::EC_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - domain
    linkageType: ''
    returnType: size_t
    signature: size_t EC_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecp_work_factor
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:31,1
    - Dst: Botan::EC_PublicKey::key_length
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::EC_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_PublicKey::key_length
    - ecp_work_factor
    linkageType: ''
    returnType: size_t
    signature: size_t EC_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_curve_oid
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - EC_Group
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Botan::default_encoding_for
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - get_curve_oid
    linkageType: ''
    returnType: EC_Group_Encoding
    signature: EC_Group_Encoding default_encoding_for(const EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:48,1
    - Dst: std::make_shared<const EC_PublicKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:49,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:50,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - group
    - ' pub_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: Botan::EC_PublicKey::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - default_encoding_for
    - domain
    - std::make_shared<const EC_PublicKey_Data>
    - EC_AffinePoint
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::EC_PublicKey(EC_Group group, const EC_Point& pub_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const EC_PublicKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:55,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:55,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:55,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:56,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - group
    - pub_point
    argTypes:
    - EC_Group
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: Botan::EC_PublicKey::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - default_encoding_for
    - std::make_shared<const EC_PublicKey_Data>
    - domain
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::EC_PublicKey(EC_Group group, EC_AffinePoint pub_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const EC_PublicKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:60,1
    - Dst: EC_Group
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:60,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:60,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:61,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Botan::EC_PublicKey::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - default_encoding_for
    - domain
    - std::make_shared<const EC_PublicKey_Data>
    - EC_Group
    - parameters
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::EC_PublicKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:65,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '& EC_PublicKey::domain() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - group
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group & EC_PublicKey::domain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:71,1
    - Dst: legacy_point
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '& EC_PublicKey::public_point() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - legacy_point
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & EC_PublicKey::public_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:77,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '& EC_PublicKey::_public_ec_point() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - public_key
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint & EC_PublicKey::_public_ec_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:83,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: Botan::EC_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: bool
    signature: bool EC_PublicKey::check_key(RandomNumberGenerator& rng, bool /*strong*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:87,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:87,1
    - Dst: Botan::EC_PublicKey::DER_domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::EC_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    - Botan::EC_PublicKey::DER_domain
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier EC_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:91,1
    - Dst: point_encoding
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::EC_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - _public_ec_point
    - point_encoding
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::EC_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:99,1
    - Dst: domain_format
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::EC_PublicKey::DER_domain
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 1
    functionsReached:
    - domain
    - domain_format
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PublicKey::DER_domain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - enc
    argTypes:
    - EC_Point_Format
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: Botan::EC_PublicKey::set_point_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::set_point_encoding(EC_Point_Format enc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:111,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - form
    argTypes:
    - EC_Group_Encoding
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: Botan::EC_PublicKey::set_parameter_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - domain
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::set_parameter_encoding(EC_Group_Encoding form)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:119,1
    - Dst: legacy_bigint
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '& EC_PrivateKey::private_value() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - legacy_bigint
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_PrivateKey::private_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:124,1
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '& EC_PrivateKey::_private_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - private_key
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar & EC_PrivateKey::_private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:135,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:135,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:135,1
    - Dst: std::make_shared<EC_PrivateKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:136,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:136,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:136,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:137,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:138,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' rng'
    - ec_group
    - ' x'
    - with_modular_inverse
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    - bool
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: Botan::EC_PrivateKey::EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - default_encoding_for
    - domain
    - Botan::EC_Scalar::from_bigint
    - public_key
    - is_zero
    - Botan::EC_Scalar::random
    - std::make_shared<EC_PrivateKey_Data>
    linkageType: ''
    returnType: void
    signature: "void EC_PrivateKey::EC_PrivateKey(RandomNumberGenerator& rng,\n                             EC_Group
      ec_group,\n                             const BigInt& x,\n                             bool
      with_modular_inverse)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:142,1
    - Dst: std::make_shared<EC_PrivateKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:143,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:143,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:143,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:144,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:145,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' rng'
    - ec_group
    - with_modular_inverse
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - bool
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: Botan::EC_PrivateKey::EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - default_encoding_for
    - domain
    - public_key
    - Botan::EC_Scalar::random
    - std::make_shared<EC_PrivateKey_Data>
    linkageType: ''
    returnType: void
    signature: void EC_PrivateKey::EC_PrivateKey(RandomNumberGenerator& rng, EC_Group
      ec_group, bool with_modular_inverse)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<EC_PrivateKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:149,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:149,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:149,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:150,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:151,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ec_group
    - x
    - with_modular_inverse
    argTypes:
    - EC_Group
    - EC_Scalar
    - bool
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: Botan::EC_PrivateKey::EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - default_encoding_for
    - domain
    - public_key
    - std::make_shared<EC_PrivateKey_Data>
    linkageType: ''
    returnType: void
    signature: void EC_PrivateKey::EC_PrivateKey(EC_Group ec_group, EC_Scalar x, bool
      with_modular_inverse)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:155,1
    - Dst: serialize
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: Botan::EC_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - serialize
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> EC_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:160,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:162,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:164,1
    - Dst: Botan::EC_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:165,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: Botan::EC_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - public_key
    - static_cast<size_t>
    - DER_Encoder
    - Botan::EC_PrivateKey::raw_private_key_bits
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> EC_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:176,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:182,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:186,1
    - Dst: std::make_shared<EC_PrivateKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:190,1
    - Dst: secure_vector::empty
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:192,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:193,1
    - Dst: std::make_shared<EC_PublicKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:195,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:198,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' alg_id'
    - key_bits
    - with_modular_inverse
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 199
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 199
    functionName: Botan::EC_PrivateKey::EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - default_encoding_for
    - domain
    - public_key
    - BER_Decoder
    - parameters
    - ASN1_Type
    - std::make_shared<EC_PublicKey_Data>
    - std::make_shared<EC_PrivateKey_Data>
    - secure_vector::empty
    linkageType: ''
    returnType: void
    signature: "void EC_PrivateKey::EC_PrivateKey(const AlgorithmIdentifier& alg_id,\n
      \                            std::span<const uint8_t> key_bits,\n                             bool
      with_modular_inverse)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: Botan::EC_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool EC_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:211,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:211,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:213,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:215,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:217,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:219,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:221,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:223,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:225,1
    - Dst: Public_Key::get_int_field
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:227,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 229
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 229
    functionName: '& EC_PublicKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    - fmt
    - Public_Key::get_int_field
    - '& EC_PublicKey::get_int_field(std::domain'
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_PublicKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& EC_PrivateKey::get_int_field(std::private_value'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:233,1
    - Dst: EC_PublicKey::get_int_field
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: '& EC_PrivateKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - EC_PublicKey::get_int_field
    - '& EC_PrivateKey::get_int_field(std::private_value'
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_PrivateKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::curve25519_donna
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mypublic
    - secret
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: Botan::curve25519_basepoint
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::curve25519_donna
    linkageType: ''
    returnType: void
    signature: void curve25519_basepoint(uint8_t mypublic[32], const uint8_t secret[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:28,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - size
    - thing
    argTypes:
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: Botan::size_check
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::Decoding_Error
    linkageType: ''
    returnType: void
    signature: void size_check(size_t size, const char* thing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::curve25519_donna
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:34,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:34,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' secret'
    - pubval
    argTypes:
    - secure_vector<uint8_t>
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: Botan::curve25519
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::curve25519_donna
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> curve25519(const secure_vector<uint8_t>& secret,
      const uint8_t pubval[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:41,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::X25519_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier X25519_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::X25519_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool X25519_PublicKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: Botan::X25519_PublicKey::X25519_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X25519_PublicKey::X25519_PublicKey(const AlgorithmIdentifier&
      /*unused*/, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:52,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:52,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:52,1
    - Dst: size_check
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:54,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: Botan::X25519_PublicKey::X25519_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - assign
    - std::span<const uint8_t>::end
    - size
    - size_check
    linkageType: ''
    returnType: void
    signature: void X25519_PublicKey::X25519_PublicKey(std::span<const uint8_t> pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::X25519_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X25519_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X25519_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::X25519_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::X25519_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X25519_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X25519_PrivateKey>
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::X25519_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<X25519_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> X25519_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:70,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:71,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:74,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:75,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:75,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:75,1
    - Dst: curve25519_basepoint
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:76,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:76,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - secret_key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: Botan::X25519_PrivateKey::X25519_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::begin
    - data
    - std::span<const uint8_t>::end
    - curve25519_basepoint
    - std::span<const uint8_t>::size
    - Decoding_Error
    - resize
    - assign
    linkageType: ''
    returnType: void
    signature: void X25519_PrivateKey::X25519_PrivateKey(std::span<const uint8_t>
      secret_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:80,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:81,1
    - Dst: curve25519_basepoint
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:82,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:82,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: Botan::X25519_PrivateKey::X25519_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 1
    functionsReached:
    - data
    - resize
    - curve25519_basepoint
    - random_vec
    linkageType: ''
    returnType: void
    signature: void X25519_PrivateKey::X25519_PrivateKey(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:86,1
    - Dst: size_check
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:88,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:88,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:89,1
    - Dst: curve25519_basepoint
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: Botan::X25519_PrivateKey::X25519_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 1
    functionsReached:
    - data
    - BER_Decoder
    - curve25519_basepoint
    - size
    - resize
    - size_check
    linkageType: ''
    returnType: void
    signature: void X25519_PrivateKey::X25519_PrivateKey(const AlgorithmIdentifier&
      /*unused*/, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X25519_PublicKey>
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:94,1
    - Dst: public_value
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan::X25519_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<X25519_PublicKey>
    - public_value
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> X25519_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan::X25519_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> X25519_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curve25519_basepoint
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:103,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:103,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: Botan::X25519_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - data
    - curve25519_basepoint
    linkageType: ''
    returnType: bool
    signature: bool X25519_PrivateKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_check
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:108,1
    - Dst: curve25519
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - w
    - w_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: Botan::X25519_PrivateKey::agree
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - curve25519
    - size_check
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> X25519_PrivateKey::agree(const uint8_t w[],
      size_t w_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - kdf
    argTypes:
    - X25519_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: Botan::X25519_KA_Operation::X25519_KA_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X25519_KA_Operation(const X25519_PrivateKey& key, std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Botan::X25519_KA_Operation::agreed_value_size
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t agreed_value_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: agree
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:125,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:136,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:136,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:136,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - w
    - w_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: Botan::X25519_KA_Operation::raw_agree
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - agree
    - auto::data
    - Invalid_Argument
    - Botan::CT::all_zeros
    - auto::size
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_agree(const uint8_t w[], size_t w_len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:152,1
    - Dst: std::make_unique<X25519_KA_Operation>
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:153,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:155,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: Botan::X25519_PrivateKey::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<X25519_KA_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> X25519_PrivateKey::create_key_agreement_op(RandomNumberGenerator&
      /*rng*/,\n                                                                                  std::string_view
      params,\n                                                                                  std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/x25519/x25519.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.h
    functionUses: 0
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/x25519/x25519.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: public_value
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.h
    functionUses: 20
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_private_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: get_x
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & get_x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: Botan::fsum
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fsum(uint64_t out[5], const uint64_t in[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: Botan::fdifference_backwards
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fdifference_backwards(uint64_t out[5], const uint64_t in[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:80,1
    - Dst: Botan::fsum
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:81,1
    - Dst: Botan::fdifference_backwards
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: Botan::fadd_sub
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::fsum
    - Botan::copy_mem
    - Botan::fdifference_backwards
    linkageType: ''
    returnType: void
    signature: void fadd_sub(uint64_t x[5], uint64_t y[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:89,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:92,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:92,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:95,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:95,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:98,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:98,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:101,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:101,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - out
    - in
    - scalar
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: Botan::fscalar_product
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::carry_shift
    - uint128_t
    linkageType: ''
    returnType: void
    signature: void fscalar_product(uint64_t out[5], const uint64_t in[5], const uint64_t
      scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:145,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:147,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:149,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 3
    argNames:
    - out
    - in
    - in2
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 168
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 168
    functionName: Botan::fmul
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::carry_shift
    linkageType: ''
    returnType: void
    signature: void fmul(uint64_t out[5], const uint64_t in[5], const uint64_t in2[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:184,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:184,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:184,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:185,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:185,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:185,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:186,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:186,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:186,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:187,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:187,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:187,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:188,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:188,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:188,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:191,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:193,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:195,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 215
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 215
    functionName: Botan::fsquare
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 1
    functionsReached:
    - Botan::carry_shift
    - uint128_t
    linkageType: ''
    returnType: void
    signature: void fsquare(uint64_t out[5], const uint64_t in[5], size_t count =
      1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:219,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:220,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:221,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:222,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint64_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: Botan::fexpand
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    linkageType: ''
    returnType: void
    signature: void fexpand(uint64_t* out, const uint8_t* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:285,1
    - Dst: Botan::combine_lower
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:286,1
    - Dst: Botan::combine_lower
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:287,1
    - Dst: Botan::combine_lower
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:288,1
    - Dst: Botan::combine_lower
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 2
    argNames:
    - out
    - input
    argTypes:
    - uint8_t*
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 290
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 290
    functionName: Botan::fcontract
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::combine_lower
    - Botan::store_le
    linkageType: ''
    returnType: void
    signature: void fcontract(uint8_t* out, const uint64_t input[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fadd_sub
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:317,1
    - Dst: Botan::fadd_sub
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:318,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:320,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:321,1
    - Dst: Botan::fadd_sub
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:323,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:325,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:326,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:327,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:329,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:330,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:331,1
    - Dst: Botan::fdifference_backwards
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:333,1
    - Dst: Botan::fscalar_product
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:334,1
    - Dst: Botan::fsum
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:335,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 9
    argNames:
    - result_two_q_x
    - result_two_q_z
    - result_q_plus_q_dash_x
    - result_q_plus_q_dash_z
    - in_q_x
    - in_q_z
    - in_q_dash_x
    - in_q_dash_z
    - q_minus_q_dash
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 338
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 338
    functionName: Botan::fmonty
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::fsquare
    - Botan::fmul
    - Botan::fdifference_backwards
    - Botan::fsum
    - Botan::fscalar_product
    - Botan::fadd_sub
    linkageType: ''
    returnType: void
    signature: "void fmonty(uint64_t result_two_q_x[5],\n            uint64_t result_two_q_z[5],\n
      \           uint64_t result_q_plus_q_dash_x[5],\n            uint64_t result_q_plus_q_dash_z[5],\n
      \           uint64_t in_q_x[5],\n            uint64_t in_q_z[5],\n            uint64_t
      in_q_dash_x[5],\n            uint64_t in_q_dash_z[5],\n            const uint64_t
      q_minus_q_dash[5])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - a
    - b
    - c
    - d
    - swap
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - CT::Mask<uint64_t>
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: Botan::swap_conditional
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_conditional(uint64_t a[5], uint64_t b[5], uint64_t c[5],
      uint64_t d[5], CT::Mask<uint64_t> swap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:375,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:379,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:380,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:381,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:382,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:383,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:384,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:385,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:386,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:388,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:389,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:391,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:392,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:394,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:395,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:397,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:398,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:400,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:401,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:403,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:404,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:406,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:407,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:409,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:410,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:412,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:415,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - resultx
    - resultz
    - n
    - q
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint8_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 417
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 417
    functionName: Botan::cmult
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    - Botan::fmonty
    - Botan::swap_conditional
    - Botan::CT::Mask::expand_bit
    linkageType: ''
    returnType: void
    signature: void cmult(uint64_t resultx[5], uint64_t resultz[5], const uint8_t
      n[32], const uint64_t q[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:428,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:429,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:430,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:431,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:432,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:433,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:434,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:435,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:436,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:437,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:438,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:439,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:440,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:441,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:442,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:443,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:444,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:445,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:446,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:447,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:448,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 450
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 450
    functionName: Botan::crecip
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::fsquare
    - Botan::fmul
    linkageType: ''
    returnType: void
    signature: void crecip(uint64_t out[5], const uint64_t z[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:455,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:456,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:461,1
    - Dst: Botan::fexpand
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:466,1
    - Dst: Botan::cmult
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:467,1
    - Dst: Botan::crecip
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:468,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:469,1
    - Dst: Botan::fcontract
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:470,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:472,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:473,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - mypublic
    - secret
    - basepoint
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 475
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 475
    functionName: Botan::curve25519_donna
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 2
    functionsReached:
    - Botan::cmult
    - Botan::fcontract
    - Botan::fexpand
    - Botan::CT::poison
    - Botan::fmul
    - Botan::crecip
    - Botan::copy_mem
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void curve25519_donna(uint8_t mypublic[32], const uint8_t secret[32],
      const uint8_t basepoint[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:80,1
    - Dst: std::span<const T>::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:80,1
    - Dst: std::span<const T>::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - polyvec
    argTypes:
    - std::span<const T>
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: Botan::CRYSTALS::Trait_Base::polys_in_polyvec
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::span<const T>::size
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t polys_in_polyvec(std::span<const T> polyvec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:88,1
    - Dst: std::span<U>::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:88,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:89,1
    - Dst: std::span<U>::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:89,1
    - Dst: std::span<U>::subspan
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:90,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:91,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - polyvec
    - index
    argTypes:
    - std::span<U>
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: Botan::CRYSTALS::Trait_Base::poly_in_polyvec
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::span<U>::size
    - BOTAN_DEBUG_ASSERT
    - std::span<U>::subspan
    - auto::data
    - auto::size
    linkageType: ''
    returnType: std::span<U, N>
    signature: std::span<U, N> poly_in_polyvec(std::span<U> polyvec, size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Mock_Trait::montgomery_reduce_coefficient
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:94,1
    - Dst: static_cast<T2>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::CRYSTALS::Trait_Base::fqmul
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - static_cast<T2>
    - Botan_Tests::Mock_Trait::montgomery_reduce_coefficient
    linkageType: ''
    returnType: T
    signature: T fqmul(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - result
    - lhs
    - rhs
    argTypes:
    - std::span<T, N>
    - std::span<const T, N>
    - std::span<const T, N>
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: Botan::CRYSTALS::Trait_Base::poly_add
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_add(std::span<T, N> result, std::span<const T, N> lhs, std::span<const
      T, N> rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - result
    - lhs
    - rhs
    argTypes:
    - std::span<T, N>
    - std::span<const T, N>
    - std::span<const T, N>
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: Botan::CRYSTALS::Trait_Base::poly_sub
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_sub(std::span<T, N> result, std::span<const T, N> lhs, std::span<const
      T, N> rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:113,1
    - Dst: static_cast<unsigned_T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:113,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - coeffs
    argTypes:
    - std::span<T, N>
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: Botan::CRYSTALS::Trait_Base::poly_cadd_q
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned_T>
    - auto::if_set_return
    - Botan::CT::Mask::expand_top_bit
    linkageType: ''
    returnType: void
    signature: void poly_cadd_q(std::span<T, N> coeffs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::fqmul
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::CRYSTALS::Trait_Base::to_montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::fqmul
    linkageType: ''
    returnType: T
    signature: T to_montgomery(T a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Mock_Trait::barrett_reduce_coefficient
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - poly
    argTypes:
    - std::span<T, N>
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: Botan::CRYSTALS::Trait_Base::barrett_reduce
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Mock_Trait::barrett_reduce_coefficient
    linkageType: ''
    returnType: void
    signature: void barrett_reduce(std::span<T, N> poly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:130,1
    - Dst: Botan::CRYSTALS::Trait_Base::polys_in_polyvec
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:132,1
    - Dst: Botan_Tests::Mock_Trait::poly_pointwise_montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:133,1
    - Dst: Botan::CRYSTALS::Trait_Base::poly_in_polyvec
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:133,1
    - Dst: Botan::CRYSTALS::Trait_Base::poly_in_polyvec
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:133,1
    - Dst: Botan::CRYSTALS::Trait_Base::poly_add
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:134,1
    - Dst: Botan::CRYSTALS::Trait_Base::barrett_reduce
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - std::span<T, N>
    - std::span<const T>
    - std::span<const T>
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: Botan::CRYSTALS::Trait_Base::polyvec_pointwise_acc_montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - clear_mem
    - Botan::CRYSTALS::Trait_Base::poly_add
    - Botan::CRYSTALS::Trait_Base::barrett_reduce
    - Botan_Tests::Mock_Trait::poly_pointwise_montgomery
    - Botan::CRYSTALS::Trait_Base::poly_in_polyvec
    - Botan::CRYSTALS::Trait_Base::polys_in_polyvec
    linkageType: ''
    returnType: void
    signature: "void polyvec_pointwise_acc_montgomery(std::span<T, N> w,\n                                                             std::span<const
      T> u,\n                                                             std::span<const
      T> v)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::from_domain_cast
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:165,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - StructureT<Trait, From>
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: Botan::CRYSTALS::detail::domain_cast
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CRYSTALS::Polynomial::from_domain_cast
    linkageType: ''
    returnType: StructureT<Trait, To>
    signature: StructureT<Trait, To> domain_cast(StructureT<Trait, From>&& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:178,1
    - Dst: static_cast<unsigned_T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:184,1
    - Dst: static_cast<int64_t>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:184,1
    - Dst: map
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:190,1
    - Dst: map
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:191,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:193,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:195,1
    - Dst: map
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:195,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - range
    - min
    - max
    argTypes:
    - std::span<const T, N>
    - T
    - T
    constantsTouched: []
    func_position:
      end: 198
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 198
    functionName: Botan::CRYSTALS::detail::ct_all_within_range
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - map
    - Botan::CT::Mask::is_within_range
    - BOTAN_DEBUG_ASSERT
    - cryptofuzz::module::EC_POINT_Copier::set
    - static_cast<unsigned_T>
    - static_cast<int64_t>
    - auto::as_bool
    linkageType: ''
    returnType: bool
    signature: "bool ct_all_within_range(std::span<const T, N> range, T min, T max)\n
      \  requires(sizeof(T) <= 4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:236,1
    - Dst: Botan::CRYSTALS::Polynomial::owns_storage
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:237,1
    - Dst: std::span<T, Trait::N>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Polynomial<Trait, OtherD>
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: Botan::CRYSTALS::Polynomial::Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CRYSTALS::Polynomial::owns_storage
    - std::span<T, Trait::N>
    linkageType: ''
    returnType: void
    signature: void Polynomial(Polynomial<Trait, OtherD>&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::Polynomial
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:248,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Polynomial<Trait, OtherD>
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: Botan::CRYSTALS::Polynomial::from_domain_cast
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::CRYSTALS::Polynomial::Polynomial
    linkageType: ''
    returnType: Polynomial<Trait, D>
    signature: Polynomial<Trait, D> from_domain_cast(Polynomial<Trait, OtherD>&& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:252,1
    - Dst: Botan::CRYSTALS::Polynomial::owns_storage
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: Botan::CRYSTALS::Polynomial::Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::Polynomial::owns_storage
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: void
    signature: void Polynomial()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:254,1
    - Dst: Botan::CRYSTALS::Polynomial::owns_storage
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coeffs
    argTypes:
    - std::span<T, Trait::N>
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: Botan::CRYSTALS::Polynomial::Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::Polynomial::owns_storage
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: void
    signature: void Polynomial(std::span<T, Trait::N> coeffs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomial
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: Botan::CRYSTALS::Polynomial::Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polynomial(const ThisPolynomial& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomial
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: Botan::CRYSTALS::Polynomial::Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Polynomial(ThisPolynomial&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomial
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: '& operator=(const ThisPolynomial& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThisPolynomial
    signature: ThisPolynomial & operator=(const ThisPolynomial& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:265,1
    - Dst: owns_storage
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:265,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:266,1
    - Dst: std::span<T, Trait::N>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomial
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: '& operator=(ThisPolynomial&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - owns_storage
    - std::move
    - std::span<T, Trait::N>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: ThisPolynomial
    signature: ThisPolynomial & operator=(ThisPolynomial&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: ~Polynomial()
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Polynomial()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: Botan::CRYSTALS::Polynomial::size
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::Polynomial::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: Botan::CRYSTALS::Polynomial::domain
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Domain
    signature: Domain domain() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:280,1
    - Dst: std::span<T, Trait::N>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:281,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:282,1
    - Dst: ThisPolynomial::owns_storage
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: Botan::CRYSTALS::Polynomial::clone
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - copy_mem
    - BOTAN_DEBUG_ASSERT
    - std::span<T, Trait::N>
    - ThisPolynomial::owns_storage
    linkageType: ''
    returnType: ThisPolynomial
    signature: ThisPolynomial clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::detail::ct_all_within_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:288,1
    - Dst: Botan::CRYSTALS::Polynomial::coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: Botan::CRYSTALS::Polynomial::ct_validate_value_range
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::detail::ct_all_within_range
    - Botan::CRYSTALS::Polynomial::coefficients
    linkageType: ''
    returnType: bool
    signature: bool ct_validate_value_range(T min, T max) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: Botan::CRYSTALS::Polynomial::hamming_weight
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hamming_weight() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: Botan::CRYSTALS::Polynomial::coefficients
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::span<T, Trait::N>
    signature: std::span<T, Trait::N> coefficients()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: Botan::CRYSTALS::Polynomial::coefficients
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::span<const T, Trait::N>
    signature: std::span<const T, Trait::N> coefficients() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: operator[](size_t i) const
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::begin
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: Botan::CRYSTALS::Polynomial::begin
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::Polynomial::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::begin
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: Botan::CRYSTALS::Polynomial::begin
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::Polynomial::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::end
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: Botan::CRYSTALS::Polynomial::end
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::Polynomial::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::end
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: Botan::CRYSTALS::Polynomial::end
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::Polynomial::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: Botan::CRYSTALS::Polynomial::owns_storage
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 3
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool owns_storage() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::barrett_reduce
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: '& reduce()'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::barrett_reduce
    linkageType: ''
    returnType: ThisPolynomial
    signature: ThisPolynomial & reduce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::poly_cadd_q
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: '& conditional_add_q()'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::poly_cadd_q
    linkageType: ''
    returnType: ThisPolynomial
    signature: ThisPolynomial & conditional_add_q()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: Botan::CRYSTALS::Polynomial::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: Botan::CRYSTALS::Polynomial::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::poly_add
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomial
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: operator+=(const ThisPolynomial& other)
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::poly_add
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator+=(const ThisPolynomial& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::poly_sub
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomial
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: operator-=(const ThisPolynomial& other)
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::poly_sub
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator-=(const ThisPolynomial& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:376,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:377,1
    - Dst: Botan::CRYSTALS::PolynomialVector::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:377,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:380,1
    - Dst: Polynomial<Trait, D>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:381,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PolynomialVector<Trait, OtherD>
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: Botan::CRYSTALS::PolynomialVector::PolynomialVector
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::move
    - Polynomial<Trait, D>
    - subspan
    - BOTAN_DEBUG_ASSERT
    - emplace_back
    - Botan::CRYSTALS::PolynomialVector::size
    linkageType: ''
    returnType: void
    signature: void PolynomialVector(PolynomialVector<Trait, OtherD>&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialVector::PolynomialVector
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:394,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PolynomialVector<Trait, OtherD>
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: Botan::CRYSTALS::PolynomialVector::from_domain_cast
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CRYSTALS::PolynomialVector::PolynomialVector
    linkageType: ''
    returnType: PolynomialVector<Trait, D>
    signature: PolynomialVector<Trait, D> from_domain_cast(PolynomialVector<Trait,
      OtherD>&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:400,1
    - Dst: Polynomial<Trait, D>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:401,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vecsize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: Botan::CRYSTALS::PolynomialVector::PolynomialVector
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - emplace_back
    - subspan
    - Polynomial<Trait, D>
    linkageType: ''
    returnType: void
    signature: void PolynomialVector(size_t vecsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialVector
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: Botan::CRYSTALS::PolynomialVector::PolynomialVector
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolynomialVector(const ThisPolynomialVector& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialVector
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: Botan::CRYSTALS::PolynomialVector::PolynomialVector
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolynomialVector(ThisPolynomialVector&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialVector
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: '& operator=(const ThisPolynomialVector& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector & operator=(const ThisPolynomialVector& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialVector
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: '& operator=(ThisPolynomialVector&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector & operator=(ThisPolynomialVector&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    functionName: ~PolynomialVector()
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PolynomialVector()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialVector::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: Botan::CRYSTALS::PolynomialVector::size
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::PolynomialVector::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: Botan::CRYSTALS::PolynomialVector::domain
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Domain
    signature: Domain domain() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: Botan::CRYSTALS::PolynomialVector::clone
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - copy_mem
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: Botan::CRYSTALS::PolynomialVector::hamming_weight
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hamming_weight() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::detail::ct_all_within_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:437,1
    - Dst: Botan::CRYSTALS::PolynomialVector::coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: Botan::CRYSTALS::PolynomialVector::ct_validate_value_range
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::detail::ct_all_within_range
    - Botan::CRYSTALS::PolynomialVector::coefficients
    linkageType: ''
    returnType: bool
    signature: bool ct_validate_value_range(T min, T max) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: Botan::CRYSTALS::PolynomialVector::coefficients
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::span<T>
    signature: std::span<T> coefficients()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: Botan::CRYSTALS::PolynomialVector::coefficients
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::span<const T>
    signature: std::span<const T> coefficients() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:445,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:445,1
    - Dst: m_vec::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:445,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:446,1
    - Dst: Botan::CRYSTALS::Trait_Base::poly_add
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:447,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:447,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:447,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialVector
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: '& operator+=(const ThisPolynomialVector& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - m_vec::size
    - Botan::CRYSTALS::Trait_Base::poly_add
    - coefficients
    - BOTAN_ASSERT
    - size
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector & operator+=(const ThisPolynomialVector& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:453,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:453,1
    - Dst: m_vec::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:453,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:454,1
    - Dst: Botan::CRYSTALS::Trait_Base::poly_sub
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:455,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:455,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:455,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialVector
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: '& operator-=(const ThisPolynomialVector& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::poly_sub
    - m_vec::size
    - coefficients
    - BOTAN_ASSERT
    - size
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector & operator-=(const ThisPolynomialVector& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::barrett_reduce
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:462,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: '& reduce()'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - coefficients
    - Botan::CRYSTALS::Trait_Base::barrett_reduce
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector & reduce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::poly_cadd_q
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:469,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: '& conditional_add_q()'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - coefficients
    - Botan::CRYSTALS::Trait_Base::poly_cadd_q
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector & conditional_add_q()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Polynomial<Trait, D>
    signature: Polynomial<Trait, D> & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: '& operator[](size_t i) const'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Polynomial<Trait, D>
    signature: Polynomial<Trait, D> & operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialVector::begin
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: Botan::CRYSTALS::PolynomialVector::begin
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::PolynomialVector::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialVector::begin
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 480
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 480
    functionName: Botan::CRYSTALS::PolynomialVector::begin
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::PolynomialVector::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialVector::end
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 482
    functionName: Botan::CRYSTALS::PolynomialVector::end
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::PolynomialVector::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialVector::end
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: Botan::CRYSTALS::PolynomialVector::end
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::PolynomialVector::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: Botan::CRYSTALS::PolynomialVector::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_range
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: Botan::CRYSTALS::PolynomialVector::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_range
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mat
    argTypes:
    - std::vector<PolynomialVector<Trait>>
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: Botan::CRYSTALS::PolynomialMatrix::PolynomialMatrix
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PolynomialMatrix(std::vector<PolynomialVector<Trait>> mat)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialMatrix
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: Botan::CRYSTALS::PolynomialMatrix::PolynomialMatrix
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolynomialMatrix(const ThisPolynomialMatrix& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialMatrix
    constantsTouched: []
    func_position:
      end: 503
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 503
    functionName: Botan::CRYSTALS::PolynomialMatrix::PolynomialMatrix
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolynomialMatrix(ThisPolynomialMatrix&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialMatrix
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: '& operator=(const ThisPolynomialMatrix& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThisPolynomialMatrix
    signature: ThisPolynomialMatrix & operator=(const ThisPolynomialMatrix& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialMatrix
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: '& operator=(ThisPolynomialMatrix&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThisPolynomialMatrix
    signature: ThisPolynomialMatrix & operator=(ThisPolynomialMatrix&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: ~PolynomialMatrix()
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PolynomialMatrix()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialMatrix::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: Botan::CRYSTALS::PolynomialMatrix::size
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::PolynomialMatrix::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:511,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rows
    - cols
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: Botan::CRYSTALS::PolynomialMatrix::PolynomialMatrix
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - reserve
    linkageType: ''
    returnType: void
    signature: void PolynomialMatrix(size_t rows, size_t cols)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::NTT>
    signature: PolynomialVector<Trait, Domain::NTT> & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 519
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 519
    functionName: '& operator[](size_t i) const'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::NTT>
    signature: PolynomialVector<Trait, Domain::NTT> & operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialMatrix::begin
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 521
    functionName: Botan::CRYSTALS::PolynomialMatrix::begin
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::PolynomialMatrix::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialMatrix::begin
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 523
    functionName: Botan::CRYSTALS::PolynomialMatrix::begin
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::PolynomialMatrix::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialMatrix::end
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: Botan::CRYSTALS::PolynomialMatrix::end
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::PolynomialMatrix::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialMatrix::end
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: Botan::CRYSTALS::PolynomialMatrix::end
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::PolynomialMatrix::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 529
    functionName: Botan::CRYSTALS::PolynomialMatrix::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_range
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 531
    functionName: Botan::CRYSTALS::PolynomialMatrix::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_range
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::to_montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Polynomial<Trait, D>
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 4
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: Botan::CRYSTALS::detail::montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::to_montgomery
    linkageType: ''
    returnType: void
    signature: void montgomery(Polynomial<Trait, D>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:547,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:547,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:547,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:548,1
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' out'
    - ' a'
    - ' b'
    argTypes:
    - Polynomial<Trait, Domain::NTT>
    - PolynomialVector<Trait, Domain::NTT>
    - PolynomialVector<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: Botan::CRYSTALS::detail::dot_product
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - reduce
    - BOTAN_ASSERT
    - size
    linkageType: ''
    returnType: void
    signature: "void dot_product(Polynomial<Trait, Domain::NTT>& out,\n                 const
      PolynomialVector<Trait, Domain::NTT>& a,\n                 const PolynomialVector<Trait,
      Domain::NTT>& b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::domain_cast<Domain::NTT>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:558,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:558,1
    - Dst: Botan_Tests::Mock_Trait::ntt
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:559,1
    - Dst: auto::coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polynomial<Trait, Domain::Normal>
    constantsTouched: []
    func_position:
      end: 561
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 561
    functionName: Botan::CRYSTALS::ntt
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::move
    - auto::coefficients
    - detail::domain_cast<Domain::NTT>
    - Botan_Tests::Mock_Trait::ntt
    linkageType: ''
    returnType: Polynomial<Trait, Domain::NTT>
    signature: Polynomial<Trait, Domain::NTT> ntt(Polynomial<Trait, Domain::Normal>
      p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::domain_cast<Domain::Normal>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:565,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:565,1
    - Dst: Botan_Tests::Mock_Trait::inverse_ntt
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:566,1
    - Dst: auto::coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_ntt
    argTypes:
    - Polynomial<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: Botan::CRYSTALS::inverse_ntt
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - detail::domain_cast<Domain::Normal>
    - std::move
    - auto::coefficients
    - Botan_Tests::Mock_Trait::inverse_ntt
    linkageType: ''
    returnType: Polynomial<Trait, Domain::Normal>
    signature: Polynomial<Trait, Domain::Normal> inverse_ntt(Polynomial<Trait, Domain::NTT>
      p_ntt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::domain_cast<Domain::NTT>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:572,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:572,1
    - Dst: Botan_Tests::Mock_Trait::ntt
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:574,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polyvec
    argTypes:
    - PolynomialVector<Trait, Domain::Normal>
    constantsTouched: []
    func_position:
      end: 577
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 577
    functionName: Botan::CRYSTALS::ntt
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::move
    - coefficients
    - detail::domain_cast<Domain::NTT>
    - Botan_Tests::Mock_Trait::ntt
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::NTT>
    signature: PolynomialVector<Trait, Domain::NTT> ntt(PolynomialVector<Trait, Domain::Normal>
      polyvec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::domain_cast<Domain::Normal>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:581,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:581,1
    - Dst: Botan_Tests::Mock_Trait::inverse_ntt
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:583,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polyvec_ntt
    argTypes:
    - PolynomialVector<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 586
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 586
    functionName: Botan::CRYSTALS::inverse_ntt
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - detail::domain_cast<Domain::Normal>
    - std::move
    - coefficients
    - Botan_Tests::Mock_Trait::inverse_ntt
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::Normal>
    signature: PolynomialVector<Trait, Domain::Normal> inverse_ntt(PolynomialVector<Trait,
      Domain::NTT> polyvec_ntt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::detail::montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polynomial<Trait, D>
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 5
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: Botan::CRYSTALS::montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::detail::montgomery
    linkageType: ''
    returnType: Polynomial<Trait, D>
    signature: Polynomial<Trait, D> montgomery(Polynomial<Trait, D> p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::detail::montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polyvec
    argTypes:
    - PolynomialVector<Trait, D>
    constantsTouched: []
    func_position:
      end: 600
      start: 595
    functionDepth: 5
    functionLinenumber: 595
    functionLinenumberEnd: 600
    functionName: Botan::CRYSTALS::montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::detail::montgomery
    linkageType: ''
    returnType: PolynomialVector<Trait, D>
    signature: PolynomialVector<Trait, D> montgomery(PolynomialVector<Trait, D> polyvec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:605,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:605,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:605,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:606,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:607,1
    - Dst: Botan::CRYSTALS::Trait_Base::poly_add
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:608,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:608,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:608,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PolynomialVector<Trait, Domain::Normal>
    - PolynomialVector<Trait, Domain::Normal>
    constantsTouched: []
    func_position:
      end: 611
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 611
    functionName: "operator+(const PolynomialVector<Trait, Domain::Normal>& a,\n                                                  const
      PolynomialVector<Trait, Domain::Normal>& b)"
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::poly_add
    - coefficients
    - BOTAN_DEBUG_ASSERT
    - size
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::Normal>
    signature: "PolynomialVector<Trait, Domain::Normal> operator+(const PolynomialVector<Trait,
      Domain::Normal>& a,\n                                                  const
      PolynomialVector<Trait, Domain::Normal>& b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:616,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:617,1
    - Dst: Botan::CRYSTALS::Trait_Base::polyvec_pointwise_acc_montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:618,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:618,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:618,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' mat'
    - ' vec'
    argTypes:
    - PolynomialMatrix<Trait>
    - PolynomialVector<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 4
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: "operator*(const PolynomialMatrix<Trait>& mat,\n                                               const
      PolynomialVector<Trait, Domain::NTT>& vec)"
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - coefficients
    - Botan::CRYSTALS::Trait_Base::polyvec_pointwise_acc_montgomery
    - size
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::NTT>
    signature: "PolynomialVector<Trait, Domain::NTT> operator*(const PolynomialMatrix<Trait>&
      mat,\n                                               const PolynomialVector<Trait,
      Domain::NTT>& vec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::detail::dot_product
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PolynomialVector<Trait, Domain::NTT>
    - PolynomialVector<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: "operator*(const PolynomialVector<Trait, Domain::NTT>& a,\n                                         const
      PolynomialVector<Trait, Domain::NTT>& b)"
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::detail::dot_product
    linkageType: ''
    returnType: Polynomial<Trait, Domain::NTT>
    signature: "Polynomial<Trait, Domain::NTT> operator*(const PolynomialVector<Trait,
      Domain::NTT>& a,\n                                         const PolynomialVector<Trait,
      Domain::NTT>& b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:634,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:635,1
    - Dst: Botan_Tests::Mock_Trait::poly_pointwise_montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:636,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:636,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:636,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' pv'
    argTypes:
    - Polynomial<Trait, Domain::NTT>
    - PolynomialVector<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 639
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 639
    functionName: "operator*(const Polynomial<Trait, Domain::NTT>& p,\n                                               const
      PolynomialVector<Trait, Domain::NTT>& pv)"
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - coefficients
    - Botan_Tests::Mock_Trait::poly_pointwise_montgomery
    - size
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::NTT>
    signature: "PolynomialVector<Trait, Domain::NTT> operator*(const Polynomial<Trait,
      Domain::NTT>& p,\n                                               const PolynomialVector<Trait,
      Domain::NTT>& pv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Mock_Trait::poly_pointwise_montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:645,1
    - Dst: Polynomial::coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:645,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:645,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Polynomial<Trait, Domain::NTT>
    - Polynomial<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 647
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 647
    functionName: "operator*(const Polynomial<Trait, Domain::NTT>& a,\n                                         const
      Polynomial<Trait, Domain::NTT>& b)"
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - coefficients
    - Botan_Tests::Mock_Trait::poly_pointwise_montgomery
    - Polynomial::coefficients
    linkageType: ''
    returnType: Polynomial<Trait, Domain::NTT>
    signature: "Polynomial<Trait, Domain::NTT> operator*(const Polynomial<Trait, Domain::NTT>&
      a,\n                                         const Polynomial<Trait, Domain::NTT>&
      b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:651,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:652,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' pv'
    - shift
    argTypes:
    - PolynomialVector<Trait, Domain::Normal>
    - size_t
    constantsTouched: []
    func_position:
      end: 659
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 659
    functionName: operator<<(const PolynomialVector<Trait, Domain::Normal>& pv, size_t
      shift)
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::Normal>
    signature: PolynomialVector<Trait, Domain::Normal> operator<<(const PolynomialVector<Trait,
      Domain::Normal>& pv, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_into
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::CRYSTALS::detail::as_byte_source
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h
    functionUses: 0
    functionsReached:
    - copy_into
    linkageType: ''
    returnType: auto
    signature: auto as_byte_source(BufferSlicer& slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' xof'
    argTypes:
    - Botan::XOF
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::CRYSTALS::detail::as_byte_source
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h
    functionUses: 0
    functionsReached:
    - output
    linkageType: ''
    returnType: auto
    signature: auto as_byte_source(Botan::XOF& xof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:119,1
    - Dst: remaining_capacity
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:119,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:119,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:133,1
    - Dst: map
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:140,1
    - Dst: static_cast<typename trait::sink_t>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:141,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:145,1
    - Dst: store_le
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:165,1
    - Dst: append
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:166,1
    - Dst: template first<trait::bytes_per_pack>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ' p'
    - ' stuffer'
    - map
    argTypes:
    - Polynomial<PolyTrait, D>
    - BufferStuffer
    - MapFnT
    constantsTouched: []
    func_position:
      end: 168
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 168
    functionName: Botan::CRYSTALS::pack
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h
    functionUses: 0
    functionsReached:
    - map
    - append
    - store_le
    - BOTAN_DEBUG_ASSERT
    - template first<trait::bytes_per_pack>
    - static_cast<typename trait::sink_t>
    - size
    - remaining_capacity
    linkageType: ''
    returnType: void
    signature: void pack(const Polynomial<PolyTrait, D>& p, BufferStuffer& stuffer,
      MapFnT map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::detail::as_byte_source
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:193,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:198,1
    - Dst: get_bytes
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:199,1
    - Dst: template first<trait::bytes_per_pack>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:199,1
    - Dst: load_le<typename trait::collector_array>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:200,1
    - Dst: unmap
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:215,1
    - Dst: static_cast<typename trait::unsigned_T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' p'
    - ' byte_source'
    - unmap
    argTypes:
    - Polynomial<PolyTrait, D>
    - ByteSourceT
    - UnmapFnT
    constantsTouched: []
    func_position:
      end: 218
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 218
    functionName: Botan::CRYSTALS::unpack
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h
    functionUses: 0
    functionsReached:
    - load_le<typename trait::collector_array>
    - template first<trait::bytes_per_pack>
    - static_cast<typename trait::unsigned_T>
    - size
    - Botan::CRYSTALS::detail::as_byte_source
    - get_bytes
    - unmap
    linkageType: ''
    returnType: void
    signature: void unpack(Polynomial<PolyTrait, D>& p, ByteSourceT& byte_source,
      UnmapFnT unmap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::pack
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:224,1
    - Dst: static_cast<unsigned_T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' stuffer'
    argTypes:
    - Polynomial<PolyTrait, D>
    - BufferStuffer
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: Botan::CRYSTALS::pack
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned_T>
    - Botan::CRYSTALS::pack
    linkageType: ''
    returnType: void
    signature: void pack(const Polynomial<PolyTrait, D>& p, BufferStuffer& stuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::unpack
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:231,1
    - Dst: requires std::is_integral_v<T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' byte_source'
    argTypes:
    - Polynomial<PolyTrait, D>
    - ByteSourceT
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: Botan::CRYSTALS::unpack
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::unpack
    - requires std::is_integral_v<T>
    linkageType: ''
    returnType: void
    signature: void unpack(Polynomial<PolyTrait, D>& p, ByteSourceT& byte_source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T2
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Botan::montgomery_R
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - T2
    linkageType: ''
    returnType: T
    signature: T montgomery_R(T q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T2>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:54,1
    - Dst: Botan::montgomery_R
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:54,1
    - Dst: static_cast<T2>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:54,1
    - Dst: Botan::montgomery_R
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan::montgomery_R2
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - static_cast<T2>
    - Botan::montgomery_R
    linkageType: ''
    returnType: T
    signature: T montgomery_R2(T q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:71,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:79,1
    - Dst: std::make_tuple
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:79,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:79,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:80,1
    - Dst: std::make_tuple
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:80,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:80,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: Botan::extended_euclidean_algorithm
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - std::tie
    - std::swap
    - static_cast<T>
    - std::make_tuple
    linkageType: ''
    returnType: eea_result<T>
    signature: eea_result<T> extended_euclidean_algorithm(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T2
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:94,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:95,1
    - Dst: Botan::extended_euclidean_algorithm
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::modular_inverse
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - Botan::extended_euclidean_algorithm
    - static_cast<T>
    - T2
    linkageType: ''
    returnType: T
    signature: T modular_inverse(T q, T2 m = T2(1) << sizeof(T) * 8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ceil_log2
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::bitlen
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - Botan::ceil_log2
    linkageType: ''
    returnType: auto
    signature: auto bitlen(size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ceil_log2
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:114,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:131,1
    - Dst: csubq
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:132,1
    - Dst: pow
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:132,1
    - Dst: bitreverse
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - q
    - monty
    - root_of_unity
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 136
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 136
    functionName: Botan::precompute_zetas
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - bitreverse
    - pow
    - csubq
    - std::array::size
    - Botan::ceil_log2
    linkageType: ''
    returnType: auto
    signature: auto precompute_zetas(T q, T monty, T root_of_unity)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::array<uint8_t, bytes>
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: Botan::detail::Bounded_XOF::default_transformer
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto default_transformer(std::array<uint8_t, bytes> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Botan::detail::Bounded_XOF::default_predicate
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool default_predicate(T)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: Botan::detail::Bounded_XOF::Bounded_XOF
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Bounded_XOF()\n         requires std::default_initializable<XofT>"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - xof
    argTypes:
    - XofT
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Botan::detail::Bounded_XOF::Bounded_XOF
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bounded_XOF(XofT xof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Bounded_XOF::next
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:178,1
    - Dst: std::forward<PredicateFnT>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: Botan::detail::Bounded_XOF::next_byte
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Bounded_XOF::next
    - std::forward<PredicateFnT>
    linkageType: ''
    returnType: auto
    signature: auto next_byte(PredicateFnT&& predicate = default_predicate<1, uint8_t>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: transformer
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:194,1
    - Dst: Botan::detail::Bounded_XOF::take
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:194,1
    - Dst: predicate
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: Botan::detail::Bounded_XOF::next
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 1
    functionsReached:
    - transformer
    - predicate
    - Botan::detail::Bounded_XOF::take
    linkageType: ''
    returnType: auto
    signature: "auto next(MapFnT&& transformer = default_transformer<bytes>,\n                          PredicateFnT&&
      predicate = default_predicate<bytes, MappedValueT<bytes, MapFnT>>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:206,1
    - Dst: template output<bytes>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: Botan::detail::Bounded_XOF::take
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 1
    functionsReached:
    - Internal_Error
    - template output<bytes>
    linkageType: ''
    returnType: std::array<uint8_t, bytes>
    signature: std::array<uint8_t, bytes> take()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/pem/pem.h:39,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pem/pem.h:39,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pem/pem.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' data'
    - label
    argTypes:
    - std::vector<uint8_t, Alloc>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::PEM_Code::encode
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.h
    functionUses: 11
    functionsReached:
    - Botan::PEM_Code::encode
    - data
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string encode(const std::vector<uint8_t, Alloc>& data, std::string_view
      label, size_t line_width = 64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:21,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:23,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:25,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:27,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:27,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - width
    - in
    argTypes:
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: Botan::PEM_Code::linewrap
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::empty
    - std::string_view::size
    - std::string::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string linewrap(size_t width, std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:40,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:41,1
    - Dst: Botan::PEM_Code::linewrap
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:43,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - der
    - length
    - label
    - width
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: Botan::PEM_Code::encode
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 11
    functionsReached:
    - fmt
    - Botan::PEM_Code::linewrap
    - base64_encode
    linkageType: ''
    returnType: std::string
    signature: std::string encode(const uint8_t der[], size_t length, std::string_view
      label, size_t width)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:51,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:53,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' source'
    - label_want
    argTypes:
    - DataSource
    - std::string_view
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: Botan::PEM_Code::decode_check_label
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 6
    functionsReached:
    - Decoding_Error
    - fmt
    - Botan::PEM_Code::decode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decode_check_label(DataSource& source, std::string_view
      label_want)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:65,1
    - Dst: std::string::length
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:71,1
    - Dst: read_byte
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:73,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:74,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:76,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:79,1
    - Dst: std::string::length
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:85,1
    - Dst: read_byte
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:87,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:88,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:90,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:93,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:97,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:103,1
    - Dst: std::string::length
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:105,1
    - Dst: read_byte
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:107,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:108,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:110,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:113,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:117,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:121,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:121,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 2
    argNames:
    - ' source'
    - ' label'
    argTypes:
    - DataSource
    - std::string
    constantsTouched: []
    func_position:
      end: 122
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 122
    functionName: Botan::PEM_Code::decode
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 4
    functionsReached:
    - std::vector::data
    - std::vector::size
    - clear
    - fmt
    - base64_decode
    - Decoding_Error
    - read_byte
    - static_cast<char>
    - std::vector::push_back
    - std::string::length
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decode(DataSource& source, std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pem
    - label_want
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: Botan::PEM_Code::decode_check_label
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 7
    functionsReached:
    - Botan::PEM_Code::decode_check_label
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decode_check_label(std::string_view pem, std::string_view
      label_want)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pem
    - ' label'
    argTypes:
    - std::string_view
    - std::string
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: Botan::PEM_Code::decode
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 5
    functionsReached:
    - Botan::PEM_Code::decode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decode(std::string_view pem, std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:138,1
    - Dst: std::string::length
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:143,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:150,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ' source'
    - extra
    - search_range
    argTypes:
    - DataSource
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: Botan::PEM_Code::matches
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 2
    functionsReached:
    - std::string::size
    - fmt
    - static_cast<char>
    - std::string::length
    linkageType: ''
    returnType: bool
    signature: bool matches(DataSource& source, std::string_view extra, size_t search_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::ECKCDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_PublicKey(const EC_Group& group, const EC_Point& public_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: Botan::ECKCDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_PublicKey(const AlgorithmIdentifier& alg_id, std::span<const
      uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::domain
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached:
    - Botan::domain
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> _signature_element_size_for_DER_encoding() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - group
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ECKCDSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_PrivateKey(RandomNumberGenerator& rng, EC_Group group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - ' group'
    - ' x'
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: ECKCDSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_PrivateKey(RandomNumberGenerator& rng, const EC_Group&
      group, const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECKCDSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:25,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:25,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::ECKCDSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    - std::make_unique<ECKCDSA_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> ECKCDSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:29,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: Botan::ECKCDSA_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::KeyPair::signature_consistency_check
    - Botan::EC_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool ECKCDSA_PrivateKey::check_key(RandomNumberGenerator& rng, bool
      strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:43,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:49,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:49,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:50,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:50,1
    - Dst: Algorithm_Not_Found
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: Botan::eckcdsa_signature_hash
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - SCAN_Name::arg_count
    - Algorithm_Not_Found
    - SCAN_Name::arg
    - Botan::HashFunction::create
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> eckcdsa_signature_hash(std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:62,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:62,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:64,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:65,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:65,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:65,1
    - Dst: parameters_are_empty
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:68,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:69,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' alg_id'
    argTypes:
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: Botan::eckcdsa_signature_hash
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::Decoding_Error
    - Botan::split_on
    - parameters_are_empty
    - Botan::HashFunction::create_or_throw
    - auto::size
    - Botan::oid
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> eckcdsa_signature_hash(const AlgorithmIdentifier&
      alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xy_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:76,1
    - Dst: auto::resize
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' point'
    - hash_block_size
    argTypes:
    - EC_AffinePoint
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: Botan::eckcdsa_prefix
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - xy_bytes
    - auto::resize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> eckcdsa_prefix(const EC_AffinePoint& point, size_t
      hash_block_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:108,1
    - Dst: erase
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:110,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:110,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' digest'
    - group_order_bytes
    argTypes:
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: Botan::truncate_hash_if_needed
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::begin
    - erase
    - Botan::size
    linkageType: ''
    returnType: void
    signature: void truncate_hash_if_needed(std::vector<uint8_t>& digest, size_t group_order_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:120,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:121,1
    - Dst: eckcdsa_signature_hash
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:122,1
    - Dst: eckcdsa_prefix
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:123,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:123,1
    - Dst: hash_block_size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' eckcdsa'
    - padding
    argTypes:
    - ECKCDSA_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: Botan::ECKCDSA_Signature_Operation::ECKCDSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - _private_key
    - domain
    - eckcdsa_signature_hash
    - _public_ec_point
    - hash_block_size
    - eckcdsa_prefix
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_Signature_Operation(const ECKCDSA_PrivateKey& eckcdsa,
      std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ECKCDSA_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:128,1
    - Dst: Botan::ECKCDSA_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: Botan::ECKCDSA_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::ECKCDSA_Signature_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:136,1
    - Dst: truncate_hash_if_needed
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:137,1
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:137,1
    - Dst: Botan::ECKCDSA_Signature_Operation::raw_sign
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: Botan::ECKCDSA_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - get_order_bytes
    - truncate_hash_if_needed
    - Botan::ECKCDSA_Signature_Operation::raw_sign
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan::ECKCDSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - get_order_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan::ECKCDSA_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:158,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:159,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: Botan::ECKCDSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::OID::from_string
    - name
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier ECKCDSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:164,1
    - Dst: Botan::ECKCDSA_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:168,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:168,1
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:169,1
    - Dst: truncate_hash_if_needed
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:170,1
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:170,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:174,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:175,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:178,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:179,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:182,1
    - Dst: auto::serialize
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: Botan::ECKCDSA_Signature_Operation::raw_sign
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 1
    functionsReached:
    - final_stdvec
    - get_order_bytes
    - Internal_Error
    - auto::serialize
    - Botan::EC_Scalar::from_bytes_mod_order
    - Botan::ECKCDSA_Signature_Operation::update
    - xor_buf
    - concat
    - auto::is_zero
    - truncate_hash_if_needed
    - Botan::EC_Scalar::random
    - Botan::EC_AffinePoint::g_mul
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ECKCDSA_Signature_Operation::raw_sign(std::span<const
      uint8_t> msg, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:191,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:192,1
    - Dst: eckcdsa_signature_hash
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:193,1
    - Dst: eckcdsa_prefix
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:194,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:194,1
    - Dst: hash_block_size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' eckcdsa'
    - padding
    argTypes:
    - ECKCDSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: Botan::ECKCDSA_Verification_Operation::ECKCDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - eckcdsa_signature_hash
    - _public_ec_point
    - hash_block_size
    - eckcdsa_prefix
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_Verification_Operation(const ECKCDSA_PublicKey& eckcdsa,
      std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:198,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:199,1
    - Dst: eckcdsa_signature_hash
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:200,1
    - Dst: eckcdsa_prefix
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:201,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:201,1
    - Dst: hash_block_size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' eckcdsa'
    - ' alg_id'
    argTypes:
    - ECKCDSA_PublicKey
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: Botan::ECKCDSA_Verification_Operation::ECKCDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - eckcdsa_signature_hash
    - _public_ec_point
    - hash_block_size
    - eckcdsa_prefix
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_Verification_Operation(const ECKCDSA_PublicKey& eckcdsa,
      const AlgorithmIdentifier& alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: Botan::ECKCDSA_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ECKCDSA_Verification_Operation::update
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:223,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:223,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:223,1
    - Dst: Botan::ECKCDSA_Verification_Operation::update
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: Botan::ECKCDSA_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 1
    functionsReached:
    - data
    - Botan::ECKCDSA_Verification_Operation::update
    - size
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_Verification_Operation::update(std::span<const uint8_t>
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:230,1
    - Dst: truncate_hash_if_needed
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:231,1
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:231,1
    - Dst: Botan::ECKCDSA_Verification_Operation::verify
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: Botan::ECKCDSA_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - get_order_bytes
    - truncate_hash_if_needed
    - Botan::ECKCDSA_Verification_Operation::verify
    - final_stdvec
    linkageType: ''
    returnType: bool
    signature: bool ECKCDSA_Verification_Operation::is_valid_signature(std::span<const
      uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:239,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:243,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:245,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:245,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:246,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:247,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:247,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:249,1
    - Dst: mul2_vartime
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:251,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:251,1
    - Dst: process
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:252,1
    - Dst: auto::x_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:252,1
    - Dst: truncate_hash_if_needed
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:253,1
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:253,1
    - Dst: constant_time_compare
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - sig
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: Botan::ECKCDSA_Verification_Operation::verify
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::first
    - constant_time_compare
    - mul2_vartime
    - auto::value
    - truncate_hash_if_needed
    - Botan::EC_Scalar::from_bytes_mod_order
    - get_order_bytes
    - std::span<const uint8_t>::size
    - process
    - Botan::EC_Scalar::deserialize
    - auto::size
    - auto::x_bytes
    - xor_buf
    linkageType: ''
    returnType: bool
    signature: bool ECKCDSA_Verification_Operation::verify(std::span<const uint8_t>
      msg, std::span<const uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECKCDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:264,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: Botan::ECKCDSA_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<ECKCDSA_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> ECKCDSA_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:269,1
    - Dst: std::make_unique<ECKCDSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:270,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:272,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: Botan::ECKCDSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<ECKCDSA_Verification_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> ECKCDSA_PublicKey::create_verification_op(std::string_view
      params,\n                                                                                std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:277,1
    - Dst: std::make_unique<ECKCDSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:278,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:281,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: Botan::ECKCDSA_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<ECKCDSA_Verification_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> ECKCDSA_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:287,1
    - Dst: std::make_unique<ECKCDSA_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:288,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:290,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: Botan::ECKCDSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECKCDSA_Signature_Operation>
    - Provider_Not_Found
    - algo_name
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> ECKCDSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                           std::string_view
      params,\n                                                                           std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' group'
    - ' y'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::ElGamal_PublicKey::ElGamal_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PublicKey>
    linkageType: ''
    returnType: void
    signature: void ElGamal_PublicKey::ElGamal_PublicKey(const DL_Group& group, const
      BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::ElGamal_PublicKey::ElGamal_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PublicKey>
    linkageType: ''
    returnType: void
    signature: void ElGamal_PublicKey::ElGamal_PublicKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ElGamal_PublicKey::estimated_strength
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan::ElGamal_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 1
    functionsReached:
    - Botan::ElGamal_PublicKey::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t ElGamal_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_bits
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::ElGamal_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - p_bits
    linkageType: ''
    returnType: size_t
    signature: size_t ElGamal_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:35,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:35,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::ElGamal_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    - group
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier ElGamal_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_as_bytes
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::ElGamal_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - public_key_as_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ElGamal_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_encode
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::ElGamal_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ElGamal_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_field
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:47,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '& ElGamal_PublicKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - get_int_field
    linkageType: ''
    returnType: BigInt
    signature: BigInt & ElGamal_PublicKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ElGamal_PrivateKey>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:51,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::ElGamal_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ElGamal_PrivateKey>
    - group
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> ElGamal_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ElGamal_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::ElGamal_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 1
    functionsReached:
    - Botan::ElGamal_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool ElGamal_PublicKey::check_key(RandomNumberGenerator& rng, bool
      strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:59,1
    - Dst: Botan::ElGamal_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rng'
    - ' group'
    argTypes:
    - RandomNumberGenerator
    - DL_Group
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Botan::ElGamal_PrivateKey::ElGamal_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - Botan::ElGamal_PrivateKey::public_key
    - std::make_shared<DL_PrivateKey>
    linkageType: ''
    returnType: void
    signature: void ElGamal_PrivateKey::ElGamal_PrivateKey(RandomNumberGenerator&
      rng, const DL_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:64,1
    - Dst: Botan::ElGamal_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' group'
    - ' x'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: Botan::ElGamal_PrivateKey::ElGamal_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - Botan::ElGamal_PrivateKey::public_key
    - std::make_shared<DL_PrivateKey>
    linkageType: ''
    returnType: void
    signature: void ElGamal_PrivateKey::ElGamal_PrivateKey(const DL_Group& group,
      const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:69,1
    - Dst: Botan::ElGamal_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Botan::ElGamal_PrivateKey::ElGamal_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - Botan::ElGamal_PrivateKey::public_key
    - std::make_shared<DL_PrivateKey>
    linkageType: ''
    returnType: void
    signature: void ElGamal_PrivateKey::ElGamal_PrivateKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Public_Key>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:74,1
    - Dst: ElGamal_PublicKey::ElGamal_PublicKey
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Botan::ElGamal_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr<Public_Key>
    - ElGamal_PublicKey::ElGamal_PublicKey
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> ElGamal_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_field
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:78,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '& ElGamal_PrivateKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - get_int_field
    linkageType: ''
    returnType: BigInt
    signature: BigInt & ElGamal_PrivateKey::get_int_field(std::string_view field)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_encode
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Botan::ElGamal_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ElGamal_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ElGamal_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::ElGamal_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 1
    functionsReached:
    - Botan::ElGamal_PrivateKey::raw_private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ElGamal_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ElGamal_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:90,1
    - Dst: Botan::KeyPair::encryption_consistency_check
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: Botan::ElGamal_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 1
    functionsReached:
    - Botan::ElGamal_PrivateKey::check_key
    - Botan::KeyPair::encryption_consistency_check
    linkageType: ''
    returnType: bool
    signature: bool ElGamal_PrivateKey::check_key(RandomNumberGenerator& rng, bool
      strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_precompute
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:113,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:113,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - eme
    argTypes:
    - std::shared_ptr<const DL_PublicKey>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: Botan::ElGamal_Encryption_Operation::ElGamal_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - public_key
    - monty_precompute
    - group
    linkageType: ''
    returnType: void
    signature: void ElGamal_Encryption_Operation(const std::shared_ptr<const DL_PublicKey>&
      key, std::string_view eme)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::ElGamal_Encryption_Operation::ciphertext_length
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: size_t
    signature: size_t ciphertext_length(size_t /*ptext_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::ElGamal_Encryption_Operation::max_ptext_input_bits
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: size_t
    signature: size_t max_ptext_input_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:131,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:133,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:134,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:148,1
    - Dst: multiply_mod_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:149,1
    - Dst: monty_execute
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:149,1
    - Dst: unlock
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:151,1
    - Dst: Botan::BigInt::encode_fixed_length_int_pair
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:151,1
    - Dst: p_bytes
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ptext
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 152
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 152
    functionName: Botan::ElGamal_Encryption_Operation::raw_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - p_bytes
    - get_p
    - power_g_p
    - unlock
    - Botan::BigInt::encode_fixed_length_int_pair
    - Invalid_Argument
    - monty_execute
    - multiply_mod_p
    - group
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ElGamal_Encryption_Operation::raw_encrypt(std::span<const
      uint8_t> ptext,\n                                                               RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:165,1
    - Dst: Botan::ElGamal_Decryption_Operation::powermod_x_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' key'
    - eme
    - ' rng'
    argTypes:
    - std::shared_ptr<const DL_PrivateKey>
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: Botan::ElGamal_Decryption_Operation::ElGamal_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - Botan::ElGamal_Decryption_Operation::powermod_x_p
    - group
    linkageType: ''
    returnType: void
    signature: "void ElGamal_Decryption_Operation(const std::shared_ptr<const DL_PrivateKey>&
      key,\n                                   std::string_view eme,\n                                   RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Botan::ElGamal_Decryption_Operation::plaintext_length
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: size_t
    signature: size_t plaintext_length(size_t /*ctext_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:175,1
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Botan::ElGamal_Decryption_Operation::powermod_x_p
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 1
    functionsReached:
    - private_key
    - group
    linkageType: ''
    returnType: BigInt
    signature: BigInt powermod_x_p(const BigInt& v) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:182,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:186,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:187,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:190,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:191,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:193,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:193,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:194,1
    - Dst: blind
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:197,1
    - Dst: multiply_mod_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:199,1
    - Dst: inverse_mod_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:199,1
    - Dst: Botan::ElGamal_Decryption_Operation::powermod_x_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:199,1
    - Dst: unblind
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctext
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 202
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 202
    functionName: Botan::ElGamal_Decryption_Operation::raw_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::first
    - get_p
    - blind
    - std::span<const uint8_t>::size
    - Invalid_Argument
    - Botan::ElGamal_Decryption_Operation::powermod_x_p
    - unblind
    - multiply_mod_p
    - inverse_mod_p
    - group
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ElGamal_Decryption_Operation::raw_decrypt(std::span<const
      uint8_t> ctext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:209,1
    - Dst: std::make_unique<ElGamal_Encryption_Operation>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:210,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:212,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: Botan::ElGamal_PublicKey::create_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<ElGamal_Encryption_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Encryption>
    signature: "std::unique_ptr<PK_Ops::Encryption> ElGamal_PublicKey::create_encryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                            std::string_view
      params,\n                                                                            std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:218,1
    - Dst: std::make_unique<ElGamal_Decryption_Operation>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:219,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:221,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: Botan::ElGamal_PrivateKey::create_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<ElGamal_Decryption_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Decryption>
    signature: "std::unique_ptr<PK_Ops::Decryption> ElGamal_PrivateKey::create_decryption_op(RandomNumberGenerator&
      rng,\n                                                                             std::string_view
      params,\n                                                                             std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::ElGamal_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ElGamal_PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::shared_ptr<const DL_PublicKey>
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::ElGamal_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ElGamal_PublicKey(std::shared_ptr<const DL_PublicKey> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& encryptors()'
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PK_KEM_Encryptor>
    signature: std::vector<PK_KEM_Encryptor> & encryptors()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& encryptors() const'
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PK_KEM_Encryptor>
    signature: std::vector<PK_KEM_Encryptor> & encryptors() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& decryptors()'
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PK_KEM_Decryptor>
    signature: std::vector<PK_KEM_Decryptor> & decryptors()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: '& decryptors() const'
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PK_KEM_Decryptor>
    signature: std::vector<PK_KEM_Decryptor> & decryptors() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:20,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:21,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:21,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:23,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:24,1
    - Dst: Botan::Hybrid_PublicKey::supports_operation
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:24,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:25,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:25,1
    - Dst: std::max
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:26,1
    - Dst: key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:26,1
    - Dst: std::max
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:27,1
    - Dst: estimated_strength
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pks
    argTypes:
    - std::vector<std::unique_ptr<Public_Key>>
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: Botan::Hybrid_PublicKey::Hybrid_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - estimated_strength
    - algo_name
    - std::max
    - size
    - key_length
    - BOTAN_ARG_CHECK
    - fmt
    - Botan::Hybrid_PublicKey::supports_operation
    linkageType: ''
    returnType: void
    signature: void Hybrid_PublicKey::Hybrid_PublicKey(std::vector<std::unique_ptr<Public_Key>>
      pks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:32,1
    - Dst: public_keys
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:32,1
    - Dst: Botan::Hybrid_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::Hybrid_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 1
    functionsReached:
    - Botan::Hybrid_PublicKey::check_key
    - reduce
    - public_keys
    linkageType: ''
    returnType: bool
    signature: bool Hybrid_PublicKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:36,1
    - Dst: public_keys
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:36,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:36,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:37,1
    - Dst: Botan::Hybrid_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::Hybrid_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 1
    functionsReached:
    - Botan::Hybrid_PublicKey::raw_public_key_bits
    - std::vector<uint8_t>
    - reduce
    - concat
    - public_keys
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Hybrid_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::Hybrid_PublicKey::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Hybrid_PublicKey::supports_operation(PublicKeyOperation op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:48,1
    - Dst: public_keys
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:48,1
    - Dst: public_keys
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:49,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:50,1
    - Dst: generate_another
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: Botan::Hybrid_PublicKey::generate_other_sks_from_pks
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 0
    functionsReached:
    - generate_another
    - std::vector::push_back
    - public_keys
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Private_Key>>
    signature: "std::vector<std::unique_ptr<Private_Key>> Hybrid_PublicKey::generate_other_sks_from_pks(\n
      \  RandomNumberGenerator& rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:56,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:57,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:57,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:59,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:60,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - private_keys
    argTypes:
    - std::vector<std::unique_ptr<Private_Key>>
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: Botan::Hybrid_PrivateKey::Hybrid_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ARG_CHECK
    - supports_operation
    - size
    linkageType: ''
    returnType: void
    signature: void Hybrid_PrivateKey::Hybrid_PrivateKey(std::vector<std::unique_ptr<Private_Key>>
      private_keys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::Hybrid_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Hybrid_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:70,1
    - Dst: private_keys
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:70,1
    - Dst: Botan::Hybrid_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::Hybrid_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 2
    functionsReached:
    - reduce
    - private_keys
    - Botan::Hybrid_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool Hybrid_PrivateKey::check_key(RandomNumberGenerator& rng, bool
      strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:76,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:76,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:78,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:79,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' private_keys'
    argTypes:
    - std::vector<std::unique_ptr<Private_Key>>
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: Botan::Hybrid_PrivateKey::extract_public_keys
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - public_key
    - size
    - BOTAN_ARG_CHECK
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Public_Key>>
    signature: "std::vector<std::unique_ptr<Public_Key>> Hybrid_PrivateKey::extract_public_keys(\n
      \  const std::vector<std::unique_ptr<Private_Key>>& private_keys)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:18,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:18,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:20,1
    - Dst: Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' public_keys'
    - provider
    argTypes:
    - std::vector<std::unique_ptr<Public_Key>>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: Botan::KEM_Encryption_with_Combiner::KEM_Encryption_with_Combiner
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - reserve
    - Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
    - size
    linkageType: ''
    returnType: void
    signature: "void KEM_Encryption_with_Combiner::KEM_Encryption_with_Combiner(const
      std::vector<std::unique_ptr<Public_Key>>& public_keys,\n                                                           std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:30,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:30,1
    - Dst: Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:30,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:32,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:32,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:32,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:36,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:36,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:39,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:39,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:43,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:43,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:44,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:44,1
    - Dst: Botan::KEM_Encryption_with_Combiner::combine_ciphertexts
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:46,1
    - Dst: combine_shared_secrets
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    - desired_shared_key_len
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 48
    functionName: Botan::KEM_Encryption_with_Combiner::kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
    - std::span<uint8_t>::size
    - Botan::KEM_Encryption_with_Combiner::combine_ciphertexts
    - std::vector::reserve
    - shared_key_length
    - combine_shared_secrets
    - size
    - BOTAN_ARG_CHECK
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void KEM_Encryption_with_Combiner::kem_encrypt(std::span<uint8_t>
      out_encapsulated_key,\n                                               std::span<uint8_t>
      out_shared_key,\n                                               RandomNumberGenerator&
      rng,\n                                               size_t desired_shared_key_len,\n
      \                                              std::span<const uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:53,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:53,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:54,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:54,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:54,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:55,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:55,1
    - Dst: Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:55,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:57,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:58,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:58,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:58,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:60,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:60,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:62,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out_ciphertext
    - ' ciphertexts'
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::vector<std::vector<uint8_t>>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: Botan::KEM_Encryption_with_Combiner::combine_ciphertexts
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
    - std::span<uint8_t>::size
    - at
    - BufferStuffer::append
    - size
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: "void KEM_Encryption_with_Combiner::combine_ciphertexts(std::span<uint8_t>
      out_ciphertext,\n                                                       const
      std::vector<std::vector<uint8_t>>& ciphertexts,\n                                                       std::span<const
      uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:70,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:70,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:72,1
    - Dst: Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' private_keys'
    - ' rng'
    - provider
    argTypes:
    - std::vector<std::unique_ptr<Private_Key>>
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: Botan::KEM_Decryption_with_Combiner::KEM_Decryption_with_Combiner
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - reserve
    - Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
    - size
    linkageType: ''
    returnType: void
    signature: "void KEM_Decryption_with_Combiner::KEM_Decryption_with_Combiner(\n
      \  const std::vector<std::unique_ptr<Private_Key>>& private_keys,\n   RandomNumberGenerator&
      rng,\n   std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:81,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:81,1
    - Dst: Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:81,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:82,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:82,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:82,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:85,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:85,1
    - Dst: Botan::KEM_Decryption_with_Combiner::split_ciphertexts
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:86,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:87,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:87,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:87,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:89,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:90,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:90,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:90,1
    - Dst: combine_shared_secrets
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - out_shared_key
    - encapsulated_key
    - desired_shared_key_len
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: Botan::KEM_Decryption_with_Combiner::kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - at
    - std::vector::reserve
    - auto::at
    - shared_key_length
    - auto::size
    - combine_shared_secrets
    - std::span<const uint8_t>::size
    - BOTAN_ASSERT
    - Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
    - size
    - BOTAN_ARG_CHECK
    - std::vector::push_back
    - Botan::KEM_Decryption_with_Combiner::split_ciphertexts
    linkageType: ''
    returnType: void
    signature: "void KEM_Decryption_with_Combiner::kem_decrypt(std::span<uint8_t>
      out_shared_key,\n                                               std::span<const
      uint8_t> encapsulated_key,\n                                               size_t
      desired_shared_key_len,\n                                               std::span<const
      uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:98,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:98,1
    - Dst: Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:98,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:100,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:100,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:103,1
    - Dst: BufferSlicer::copy_as_vector
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:103,1
    - Dst: Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:103,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:105,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - concat_ciphertext
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: Botan::KEM_Decryption_with_Combiner::split_ciphertexts
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp
    functionUses: 1
    functionsReached:
    - std::vector::reserve
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    - Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
    - size
    - BufferSlicer::copy_as_vector
    - BOTAN_ARG_CHECK
    - std::vector::push_back
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> KEM_Decryption_with_Combiner::split_ciphertexts(\n
      \  std::span<const uint8_t> concat_ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.h:61,1
    - Dst: Botan::Hybrid_PublicKey
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.h:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 84
    functionName: Botan::Hybrid_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.h
    functionUses: 1
    functionsReached:
    - raw_public_key_bits
    - Botan::Hybrid_PublicKey
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Hybrid_PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hybrid_PrivateKey
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.h:99,1
    - Dst: Hybrid_PrivateKey
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.h:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: Botan::BOTAN_DIAGNOSTIC_IGNORE_INHERITED_VIA_DOMINANCE
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.h
    functionUses: 0
    functionsReached:
    - Hybrid_PrivateKey
    linkageType: ''
    returnType: BOTAN_DIAGNOSTIC_PUSH
    signature: BOTAN_DIAGNOSTIC_PUSH BOTAN_DIAGNOSTIC_IGNORE_INHERITED_VIA_DOMINANCE
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_hash::new_object
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:20,1
    - Dst: m_msg_hash::new_object
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: Botan::XMSS_Hash::XMSS_Hash
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp
    functionUses: 0
    functionsReached:
    - m_msg_hash::new_object
    - m_hash::new_object
    linkageType: ''
    returnType: void
    signature: void XMSS_Hash::XMSS_Hash(const XMSS_Hash& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:25,1
    - Dst: hash_function_name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:25,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:26,1
    - Dst: hash_function_name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:26,1
    - Dst: hash_id_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:27,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:29,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:29,1
    - Dst: hash_function_name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:29,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:32,1
    - Dst: Botan::XMSS_Hash::output_length
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - XMSS_Parameters
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: Botan::XMSS_Hash::XMSS_Hash
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Hash::output_length
    - hash_id_size
    - hash_function_name
    - fmt
    - BOTAN_ASSERT
    - Lookup_Error
    - Botan::HashFunction::create
    linkageType: ''
    returnType: void
    signature: void XMSS_Hash::XMSS_Hash(const XMSS_Parameters& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:38,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:39,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:40,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:41,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:41,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:41,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:42,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:42,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:42,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:43,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:43,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - randomness
    - root
    - index_bytes
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: Botan::XMSS_Hash::h_msg_init
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - clear
    - update
    linkageType: ''
    returnType: void
    signature: "void XMSS_Hash::h_msg_init(std::span<const uint8_t> randomness,\n
      \                          std::span<const uint8_t> root,\n                           std::span<const
      uint8_t> index_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:47,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:47,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::XMSS_Hash::h_msg_update
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - update
    linkageType: ''
    returnType: void
    signature: void XMSS_Hash::h_msg_update(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::XMSS_Hash::h_msg_final
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> XMSS_Hash::h_msg_final()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::Atomic::Atomic
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Atomic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_data::load
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Atomic
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::Atomic::Atomic
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached:
    - m_data::load
    linkageType: ''
    returnType: void
    signature: void Atomic(const Atomic& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::atomic<T>
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Atomic::Atomic
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void Atomic(const std::atomic<T>& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~Atomic()
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Atomic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:36,1
    - Dst: m_data::load
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Atomic
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '& operator=(const Atomic& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached:
    - m_data::load
    - store
    linkageType: ''
    returnType: Atomic
    signature: Atomic & operator=(const Atomic& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:42,1
    - Dst: load
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - std::atomic<T>
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '& operator=(const std::atomic<T>& a)'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached:
    - store
    - load
    linkageType: ''
    returnType: Atomic
    signature: Atomic & operator=(const std::atomic<T>& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: operator std::atomic<T>&()
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator std::atomic<T>&()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: operator T()
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void operator T()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::XMSS_Index_Registry::XMSS_Index_Registry
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Index_Registry(const XMSS_Index_Registry&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(const XMSS_Index_Registry&)'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Index_Registry
    signature: XMSS_Index_Registry & operator=(const XMSS_Index_Registry&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '& get_instance()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Index_Registry
    signature: XMSS_Index_Registry & get_instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::XMSS_Index_Registry::XMSS_Index_Registry
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Index_Registry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp:86,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp:86,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 1
    argNames:
    - param_set
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 87
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 87
    functionName: Botan::XMSS_Parameters::xmss_id_from_string
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp
    functionUses: 1
    functionsReached:
    - Lookup_Error
    - fmt
    linkageType: ''
    returnType: XMSS_Parameters::xmss_algorithm_t
    signature: XMSS_Parameters::xmss_algorithm_t XMSS_Parameters::xmss_id_from_string(std::string_view
      param_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Parameters::xmss_id_from_string
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - param_set
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: Botan::XMSS_Parameters::XMSS_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp
    functionUses: 2
    functionsReached:
    - Botan::XMSS_Parameters::xmss_id_from_string
    linkageType: ''
    returnType: void
    signature: void XMSS_Parameters::XMSS_Parameters(std::string_view param_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp:327,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp:327,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 236
    argCount: 1
    argNames:
    - oid
    argTypes:
    - xmss_algorithm_t
    constantsTouched: []
    func_position:
      end: 329
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 329
    functionName: Botan::XMSS_Parameters::XMSS_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp
    functionUses: 2
    functionsReached:
    - Not_Implemented
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void XMSS_Parameters::XMSS_Parameters(xmss_algorithm_t oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:52,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:52,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:52,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:53,1
    - Dst: Botan::wots_parameter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:53,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:54,1
    - Dst: Botan::wots_parameter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:61,1
    - Dst: set_hash_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:62,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:62,1
    - Dst: set_key_mask_mode
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:65,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:66,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:66,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:67,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:67,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:67,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:67,1
    - Dst: set_key_mask_mode
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:70,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:73,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:73,1
    - Dst: f
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - ' params'
    - ' result'
    - start_idx
    - steps
    - ' adrs'
    - seed
    - ' hash'
    argTypes:
    - XMSS_WOTS_Parameters
    - secure_vector<uint8_t>
    - size_t
    - size_t
    - XMSS_Address
    - std::span<const uint8_t>
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 76
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 76
    functionName: Botan::chain
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp
    functionUses: 1
    functionsReached:
    - prf
    - data
    - secure_vector::data
    - f
    - set_key_mask_mode
    - set_hash_address
    - Botan::xor_buf
    - output_length
    - bytes
    - Botan::wots_parameter
    - static_cast<uint32_t>
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void chain(const XMSS_WOTS_Parameters& params,\n           secure_vector<uint8_t>&
      result,\n           size_t start_idx,\n           size_t steps,\n           XMSS_Address&
      adrs,\n           std::span<const uint8_t> seed,\n           XMSS_Hash& hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:85,1
    - Dst: key_data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:85,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:86,1
    - Dst: set_chain_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:87,1
    - Dst: chain
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:88,1
    - Dst: wots_parameter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - params
    - public_seed
    - ' private_key'
    - ' adrs'
    - ' hash'
    argTypes:
    - XMSS_WOTS_Parameters
    - std::span<const uint8_t>
    - XMSS_WOTS_PrivateKey
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: Botan::XMSS_WOTS_PublicKey::XMSS_WOTS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - wots_parameter
    - key_data
    - set_chain_address
    - len
    - chain
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: "void XMSS_WOTS_PublicKey::XMSS_WOTS_PublicKey(XMSS_WOTS_Parameters
      params,\n                                         std::span<const uint8_t> public_seed,\n
      \                                        const XMSS_WOTS_PrivateKey& private_key,\n
      \                                        XMSS_Address& adrs,\n                                         XMSS_Hash&
      hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:98,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:98,1
    - Dst: base_w
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:99,1
    - Dst: len_1
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:99,1
    - Dst: append_checksum
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:101,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:103,1
    - Dst: set_chain_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:104,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:104,1
    - Dst: chain
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:105,1
    - Dst: wots_parameter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - params
    - public_seed
    - signature
    - ' msg'
    - ' adrs'
    - ' hash'
    argTypes:
    - XMSS_WOTS_Parameters
    - std::span<const uint8_t>
    - wots_keysig_t
    - secure_vector<uint8_t>
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 113
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 113
    functionName: Botan::XMSS_WOTS_PublicKey::XMSS_WOTS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - wots_parameter
    - set_chain_address
    - len_1
    - base_w
    - len
    - append_checksum
    - chain
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: "void XMSS_WOTS_PublicKey::XMSS_WOTS_PublicKey(XMSS_WOTS_Parameters
      params,\n                                         std::span<const uint8_t> public_seed,\n
      \                                        wots_keysig_t signature,\n                                         const
      secure_vector<uint8_t>& msg,\n                                         XMSS_Address&
      adrs,\n                                         XMSS_Hash& hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_w
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:119,1
    - Dst: len_1
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:119,1
    - Dst: append_checksum
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:121,1
    - Dst: Botan::XMSS_WOTS_PrivateKey::key_data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:122,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:124,1
    - Dst: set_chain_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:125,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:125,1
    - Dst: chain
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' msg'
    - public_seed
    - ' adrs'
    - ' hash'
    argTypes:
    - secure_vector<uint8_t>
    - std::span<const uint8_t>
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: Botan::XMSS_WOTS_PrivateKey::sign
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_WOTS_PrivateKey::key_data
    - set_chain_address
    - len_1
    - base_w
    - len
    - append_checksum
    - chain
    - static_cast<uint32_t>
    linkageType: ''
    returnType: wots_keysig_t
    signature: "wots_keysig_t XMSS_WOTS_PrivateKey::sign(const secure_vector<uint8_t>&
      msg,\n                                         std::span<const uint8_t> public_seed,\n
      \                                        XMSS_Address& adrs,\n                                         XMSS_Hash&
      hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:137,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:138,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:138,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:139,1
    - Dst: XMSS_Address::set_chain_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:140,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:140,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:141,1
    - Dst: XMSS_Address::bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:141,1
    - Dst: prf_keygen
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - params
    - public_seed
    - private_seed
    - adrs
    - ' hash'
    argTypes:
    - XMSS_WOTS_Parameters
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: Botan::XMSS_WOTS_PrivateKey::XMSS_WOTS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - XMSS_Address::set_chain_address
    - prf_keygen
    - len
    - XMSS_Address::bytes
    - concat
    - resize
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: "void XMSS_WOTS_PrivateKey::XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters
      params,\n                                           std::span<const uint8_t>
      public_seed,\n                                           std::span<const uint8_t>
      private_seed,\n                                           XMSS_Address adrs,\n
      \                                          XMSS_Hash& hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:151,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:152,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:152,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:155,1
    - Dst: XMSS_Address::bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:155,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:157,1
    - Dst: XMSS_Tools::concat<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:158,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - params
    - private_seed
    - adrs
    - ' hash'
    argTypes:
    - XMSS_WOTS_Parameters
    - std::span<const uint8_t>
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 161
    functionName: Botan::XMSS_WOTS_PrivateKey::XMSS_WOTS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - XMSS_Tools::concat<size_t>
    - prf
    - len
    - XMSS_Address::bytes
    - resize
    linkageType: ''
    returnType: void
    signature: "void XMSS_WOTS_PrivateKey::XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters
      params,\n                                           std::span<const uint8_t>
      private_seed,\n                                           XMSS_Address adrs,\n
      \                                          XMSS_Hash& hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - params
    argTypes:
    - XMSS_WOTS_Parameters
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::XMSS_WOTS_Base::XMSS_WOTS_Base
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void XMSS_WOTS_Base(XMSS_WOTS_Parameters params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.h:36,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - params
    - key_data
    argTypes:
    - XMSS_WOTS_Parameters
    - wots_keysig_t
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: Botan::XMSS_WOTS_Base::XMSS_WOTS_Base
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void XMSS_WOTS_Base(XMSS_WOTS_Parameters params, wots_keysig_t key_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& key_data() const'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wots_keysig_t
    signature: wots_keysig_t & key_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::XMSS_Address::get_layer_addr
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_layer_addr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::XMSS_Address::set_layer_addr
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_layer_addr()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::XMSS_Address::get_tree_addr
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_tree_addr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::XMSS_Address::set_tree_addr
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_tree_addr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: Botan::XMSS_Address::get_type
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    linkageType: ''
    returnType: Type
    signature: Type get_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:92,1
    - Dst: std::fill
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:93,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:93,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:93,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: Botan::XMSS_Address::set_type
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - end
    - std::fill
    - begin
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void set_type(Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Mask
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::XMSS_Address::get_key_mask_mode
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Key_Mask
    linkageType: ''
    returnType: Key_Mask
    signature: Key_Mask get_key_mask_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:111,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:111,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - Key_Mask
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: Botan::XMSS_Address::set_key_mask_mode
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - BOTAN_ASSERT
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void set_key_mask_mode(Key_Mask value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:124,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:124,1
    - Dst: Botan::XMSS_Address::get_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: Botan::XMSS_Address::get_ots_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::get_hi32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_ots_address() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:138,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:138,1
    - Dst: Botan::XMSS_Address::set_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: Botan::XMSS_Address::set_ots_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - BOTAN_ASSERT
    - Botan::XMSS_Address::set_hi32
    linkageType: ''
    returnType: void
    signature: void set_ots_address(uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:152,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:152,1
    - Dst: Botan::XMSS_Address::get_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: Botan::XMSS_Address::get_ltree_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::get_hi32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_ltree_address() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:166,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:166,1
    - Dst: Botan::XMSS_Address::set_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: Botan::XMSS_Address::set_ltree_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - BOTAN_ASSERT
    - Botan::XMSS_Address::set_hi32
    linkageType: ''
    returnType: void
    signature: void set_ltree_address(uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:179,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:179,1
    - Dst: Botan::XMSS_Address::get_lo32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: Botan::XMSS_Address::get_chain_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_lo32
    - Botan::XMSS_Address::get_type
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_chain_address() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:190,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:190,1
    - Dst: Botan::XMSS_Address::set_lo32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: Botan::XMSS_Address::set_chain_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::set_lo32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_chain_address(uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:204,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:204,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:204,1
    - Dst: Botan::XMSS_Address::get_lo32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: Botan::XMSS_Address::get_tree_height
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_lo32
    - Botan::XMSS_Address::get_type
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_tree_height() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:218,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:218,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:218,1
    - Dst: Botan::XMSS_Address::set_lo32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: Botan::XMSS_Address::set_tree_height
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::set_lo32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_tree_height(uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:232,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:232,1
    - Dst: Botan::XMSS_Address::get_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: Botan::XMSS_Address::get_hash_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::get_hi32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_hash_address() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:246,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:246,1
    - Dst: Botan::XMSS_Address::set_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: Botan::XMSS_Address::set_hash_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - BOTAN_ASSERT
    - Botan::XMSS_Address::set_hi32
    linkageType: ''
    returnType: void
    signature: void set_hash_address(uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:260,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:260,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:260,1
    - Dst: Botan::XMSS_Address::get_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: Botan::XMSS_Address::get_tree_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::get_hi32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_tree_index() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:274,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:274,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:274,1
    - Dst: Botan::XMSS_Address::set_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: Botan::XMSS_Address::set_tree_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - BOTAN_ASSERT
    - Botan::XMSS_Address::set_hi32
    linkageType: ''
    returnType: void
    signature: void set_tree_index(uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: '& bytes() const'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: '& bytes()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Address::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: Botan::XMSS_Address::size
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 1
    functionsReached:
    - Botan::XMSS_Address::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Address::set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: Botan::XMSS_Address::XMSS_Address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::set_type
    linkageType: ''
    returnType: void
    signature: void XMSS_Address()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Address::set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan::XMSS_Address::XMSS_Address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::set_type
    linkageType: ''
    returnType: void
    signature: void XMSS_Address(Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:293,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:294,1
    - Dst: Botan::XMSS_Address::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: Botan::XMSS_Address::XMSS_Address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT
    - Botan::XMSS_Address::size
    linkageType: ''
    returnType: void
    signature: void XMSS_Address(secure_vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: Botan::XMSS_Address::get_hi32
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_hi32(size_t offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - offset
    - value
    argTypes:
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: Botan::XMSS_Address::set_hi32
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_hi32(size_t offset, uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: Botan::XMSS_Address::get_lo32
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_lo32(size_t offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - offset
    - value
    argTypes:
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: Botan::XMSS_Address::set_lo32
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_lo32(size_t offset, uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:17,1
    - Dst: XMSS_Parameters::len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:18,1
    - Dst: XMSS_Parameters::tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:18,1
    - Dst: XMSS_Parameters::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:18,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:19,1
    - Dst: XMSS_Parameters::total_number_of_signatures
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:26,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:27,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:30,1
    - Dst: XMSS_Parameters::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:31,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:32,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:32,1
    - Dst: XMSS_Parameters::len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:34,1
    - Dst: XMSS_Parameters::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:36,1
    - Dst: ots_signature::push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:37,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:37,1
    - Dst: ots_signature::back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:38,1
    - Dst: XMSS_Parameters::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:38,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:39,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:39,1
    - Dst: ots_signature::back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:39,1
    - Dst: XMSS_Parameters::tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:42,1
    - Dst: XMSS_Parameters::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:44,1
    - Dst: authentication_path::push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:45,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:45,1
    - Dst: authentication_path::back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:46,1
    - Dst: XMSS_Parameters::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:46,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:47,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:47,1
    - Dst: authentication_path::back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - oid
    - raw_sig
    argTypes:
    - XMSS_Parameters::xmss_algorithm_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 49
    functionName: Botan::XMSS_Signature::XMSS_Signature
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp
    functionUses: 0
    functionsReached:
    - secure_vector<uint8_t>
    - std::span<const uint8_t>::begin
    - XMSS_Parameters::tree_height
    - XMSS_Parameters::total_number_of_signatures
    - ots_signature::back
    - copy
    - XMSS_Parameters::len
    - std::back_inserter
    - authentication_path::push_back
    - ots_signature::push_back
    - std::span<const uint8_t>::size
    - XMSS_Parameters::element_size
    - authentication_path::back
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature::XMSS_Signature(XMSS_Parameters::xmss_algorithm_t
      oid, std::span<const uint8_t> raw_sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:52,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:53,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:54,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:55,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:57,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:57,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:57,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:57,1
    - Dst: tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:59,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:60,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:60,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:60,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:60,1
    - Dst: tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:63,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:64,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:64,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:64,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: Botan::XMSS_Signature::bytes
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp
    functionUses: 0
    functionsReached:
    - tree
    - end
    - copy
    - std::back_inserter
    - static_cast<uint8_t>
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> XMSS_Signature::bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:23,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:24,1
    - Dst: std::unique_ptr::update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:25,1
    - Dst: std::unique_ptr::update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:26,1
    - Dst: std::unique_ptr::final
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' private_seed'
    - ' prf'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: Botan::XMSS_Index_Registry::make_key_id
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::update
    - Botan::HashFunction::create
    - std::unique_ptr::final
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t XMSS_Index_Registry::make_key_id(const secure_vector<uint8_t>&
      private_seed,\n                                          const secure_vector<uint8_t>&
      prf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:40,1
    - Dst: Botan::XMSS_Index_Registry::add
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:43,1
    - Dst: Botan::XMSS_Index_Registry::make_key_id
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' private_seed'
    - ' prf'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: Botan::XMSS_Index_Registry::get
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max
    - Botan::XMSS_Index_Registry::make_key_id
    - Botan::XMSS_Index_Registry::add
    linkageType: ''
    returnType: std::shared_ptr<Atomic<size_t>>
    signature: "std::shared_ptr<Atomic<size_t>> XMSS_Index_Registry::get(const secure_vector<uint8_t>&
      private_seed,\n                                                         const
      secure_vector<uint8_t>& prf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:48,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: Botan::XMSS_Index_Registry::get
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t XMSS_Index_Registry::get(uint64_t id) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:60,1
    - Dst: std::make_shared<Atomic<size_t>>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:62,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:67,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:68,1
    - Dst: std::make_shared<Atomic<size_t>>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:68,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - id
    - last_unused
    argTypes:
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: Botan::XMSS_Index_Registry::add
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - size
    - std::make_shared<Atomic<size_t>>
    linkageType: ''
    returnType: size_t
    signature: size_t XMSS_Index_Registry::add(uint64_t id, size_t last_unused)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - XMSS_PublicKey
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: Botan::XMSS_Verification_Operation::XMSS_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp
    functionUses: 0
    functionsReached:
    - xmss_parameters
    linkageType: ''
    returnType: void
    signature: void XMSS_Verification_Operation::XMSS_Verification_Operation(const
      XMSS_PublicKey& public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:26,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:29,1
    - Dst: set_ots_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:30,1
    - Dst: ots_oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:32,1
    - Dst: tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:32,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:34,1
    - Dst: set_ltree_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:35,1
    - Dst: Botan::XMSS_Common_Ops::create_l_tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:38,1
    - Dst: XMSS_WOTS_PublicKey::key_data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:38,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:40,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:41,1
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:43,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:44,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:44,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:45,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:46,1
    - Dst: get_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:46,1
    - Dst: Botan::XMSS_Common_Ops::randomize_tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:47,1
    - Dst: tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:48,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:50,1
    - Dst: get_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:50,1
    - Dst: Botan::XMSS_Common_Ops::randomize_tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:51,1
    - Dst: tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - ' sig'
    - ' msg'
    - ' adrs'
    - ' seed'
    argTypes:
    - XMSS_Signature
    - secure_vector<uint8_t>
    - XMSS_Address
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 57
    functionName: Botan::XMSS_Verification_Operation::root_from_signature
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp
    functionUses: 0
    functionsReached:
    - ots_oid
    - get_tree_index
    - tree
    - set_ots_address
    - Botan::XMSS_Common_Ops::create_l_tree
    - static_cast<size_t>
    - static_cast<uint32_t>
    - XMSS_WOTS_PublicKey::key_data
    - tree_height
    - set_tree_height
    - Botan::XMSS_Common_Ops::randomize_tree_hash
    - set_type
    - xmss_parameters
    - set_ltree_address
    - set_tree_index
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> XMSS_Verification_Operation::root_from_signature(const
      XMSS_Signature& sig,\n                                                                        const
      secure_vector<uint8_t>& msg,\n                                                                        XMSS_Address&
      adrs,\n                                                                        const
      secure_vector<uint8_t>& seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Tools::concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:64,1
    - Dst: unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:64,1
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:64,1
    - Dst: h_msg
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:65,1
    - Dst: randomness
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:65,1
    - Dst: root
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:65,1
    - Dst: Botan::XMSS_Verification_Operation::root_from_signature
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:67,1
    - Dst: public_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:67,1
    - Dst: root
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' sig'
    - ' msg'
    - ' public_key'
    argTypes:
    - XMSS_Signature
    - secure_vector<uint8_t>
    - XMSS_PublicKey
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: Botan::XMSS_Verification_Operation::verify
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp
    functionUses: 0
    functionsReached:
    - randomness
    - unused_leaf_index
    - Botan::XMSS_Verification_Operation::root_from_signature
    - h_msg
    - public_seed
    - xmss_parameters
    - Botan::XMSS_Tools::concat
    - root
    linkageType: ''
    returnType: bool
    signature: "bool XMSS_Verification_Operation::verify(const XMSS_Signature& sig,\n
      \                                        const secure_vector<uint8_t>& msg,\n
      \                                        const XMSS_PublicKey& public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:80,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:80,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:80,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::XMSS_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void XMSS_Verification_Operation::update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:85,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:87,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: Botan::XMSS_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp
    functionUses: 0
    functionsReached:
    - clear
    - xmss_parameters
    linkageType: ''
    returnType: bool
    signature: bool XMSS_Verification_Operation::is_valid_signature(std::span<const
      uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - XMSS_PrivateKey
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: Botan::XMSS_Signature_Operation::XMSS_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 0
    functionsReached:
    - xmss_parameters
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature_Operation::XMSS_Signature_Operation(const XMSS_PrivateKey&
      private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Signature_Operation::build_auth_path
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:34,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:35,1
    - Dst: set_ots_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:36,1
    - Dst: wots_private_key_for
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:39,1
    - Dst: public_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' msg'
    - ' xmss_priv_key'
    - ' adrs'
    argTypes:
    - secure_vector<uint8_t>
    - XMSS_PrivateKey
    - XMSS_Address
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: Botan::XMSS_Signature_Operation::generate_tree_signature
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 0
    functionsReached:
    - wots_private_key_for
    - set_ots_address
    - public_seed
    - Botan::XMSS_Signature_Operation::build_auth_path
    - set_type
    linkageType: ''
    returnType: XMSS_Signature::TreeSignature
    signature: "XMSS_Signature::TreeSignature XMSS_Signature_Operation::generate_tree_signature(const
      secure_vector<uint8_t>& msg,\n                                                                                XMSS_PrivateKey&
      xmss_priv_key,\n                                                                                XMSS_Address&
      adrs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' msg_hash'
    - ' xmss_priv_key'
    argTypes:
    - secure_vector<uint8_t>
    - XMSS_PrivateKey
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Botan::XMSS_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Signature
    signature: XMSS_Signature XMSS_Signature_Operation::sign(const secure_vector<uint8_t>&
      msg_hash, XMSS_PrivateKey& xmss_priv_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:51,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:53,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:53,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:53,1
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:53,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: Botan::XMSS_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 0
    functionsReached:
    - len
    - tree_height
    - xmss_parameters
    - element_size
    linkageType: ''
    returnType: size_t
    signature: size_t XMSS_Signature_Operation::signature_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:57,1
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:58,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:59,1
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:61,1
    - Dst: tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:63,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' priv_key'
    - ' adrs'
    argTypes:
    - XMSS_PrivateKey
    - XMSS_Address
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: Botan::XMSS_Signature_Operation::build_auth_path
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - tree_height
    - set_type
    - xmss_parameters
    - tree_hash
    linkageType: ''
    returnType: wots_keysig_t
    signature: wots_keysig_t XMSS_Signature_Operation::build_auth_path(XMSS_PrivateKey&
      priv_key, XMSS_Address& adrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Signature_Operation::initialize
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:70,1
    - Dst: h_msg_update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: Botan::XMSS_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 0
    functionsReached:
    - h_msg_update
    - Botan::XMSS_Signature_Operation::initialize
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature_Operation::update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Signature_Operation::initialize
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:75,1
    - Dst: Botan::XMSS_Signature_Operation::sign
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:76,1
    - Dst: h_msg_final
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: Botan::XMSS_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 1
    functionsReached:
    - h_msg_final
    - Botan::XMSS_Signature_Operation::sign
    - Botan::XMSS_Signature_Operation::initialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> XMSS_Signature_Operation::sign(RandomNumberGenerator&
      /*rng*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:90,1
    - Dst: reserve_unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:90,1
    - Dst: Botan::XMSS_Tools::concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:93,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:94,1
    - Dst: prf_value
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:94,1
    - Dst: secure_vector::clear
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:95,1
    - Dst: Botan::XMSS_Tools::concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:96,1
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:96,1
    - Dst: h_msg_init
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:97,1
    - Dst: root
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: Botan::XMSS_Signature_Operation::initialize
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 2
    functionsReached:
    - h_msg_init
    - reserve_unused_leaf_index
    - secure_vector::clear
    - prf
    - xmss_parameters
    - static_cast<uint32_t>
    - Botan::XMSS_Tools::concat
    - prf_value
    - root
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature_Operation::initialize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:102,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: Botan::XMSS_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::OID::from_string
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier XMSS_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Signature_Operation::hash_function
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan::XMSS_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.h
    functionUses: 1
    functionsReached:
    - Botan::XMSS_Signature_Operation::hash_function
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Verification_Operation::hash_function
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::XMSS_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.h
    functionUses: 1
    functionsReached:
    - Botan::XMSS_Verification_Operation::hash_function
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.h:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - leaf_idx
    - randomness
    - tree_sig
    argTypes:
    - size_t
    - secure_vector<uint8_t>
    - XMSS_Signature::TreeSignature
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: Botan::XMSS_Signature::XMSS_Signature
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature(size_t leaf_idx, secure_vector<uint8_t> randomness,
      XMSS_Signature::TreeSignature tree_sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::XMSS_Signature::unused_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t unused_leaf_index() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& randomness() const'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & randomness() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& tree() const'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Signature::TreeSignature
    signature: XMSS_Signature::TreeSignature & tree() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::XMSS_Signature::set_unused_leaf_idx
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_unused_leaf_idx(size_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '& randomness()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & randomness()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - randomness
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::XMSS_Signature::set_randomness
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_randomness(secure_vector<uint8_t> randomness)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& tree()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Signature::TreeSignature
    signature: XMSS_Signature::TreeSignature & tree()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree_sig
    argTypes:
    - XMSS_Signature::TreeSignature
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::XMSS_Signature::set_tree
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_tree(XMSS_Signature::TreeSignature tree_sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:44,1
    - Dst: Botan::raw_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:44,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:45,1
    - Dst: Botan::raw_legacy_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:45,1
    - Dst: secure_vector::assign
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:46,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:46,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:46,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key_bits
    - ' xmss_params'
    argTypes:
    - std::span<const uint8_t>
    - XMSS_Parameters
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: Botan::extract_raw_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - Botan::raw_legacy_private_key_size
    - std::span<const uint8_t>::end
    - secure_vector::assign
    - BER_Decoder
    - Botan::raw_private_key_size
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> extract_raw_private_key(std::span<const uint8_t>
      key_bits, const XMSS_Parameters& xmss_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:67,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:67,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:68,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:68,1
    - Dst: XMSS_Index_Registry::get_instance
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' xmss_params'
    - ' wots_params'
    - wots_derivation_method
    - ' rng'
    argTypes:
    - XMSS_Parameters
    - XMSS_WOTS_Parameters
    - WOTS_Derivation_Method
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: Botan::XMSS_PrivateKey_Internal::XMSS_PrivateKey_Internal
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - XMSS_Index_Registry::get_instance
    - element_size
    - random_vec
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey_Internal(const XMSS_Parameters& xmss_params,\n
      \                              const XMSS_WOTS_Parameters& wots_params,\n                               WOTS_Derivation_Method
      wots_derivation_method,\n                               RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:80,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:81,1
    - Dst: XMSS_Index_Registry::get_instance
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' xmss_params'
    - ' wots_params'
    - wots_derivation_method
    - private_seed
    - prf
    argTypes:
    - XMSS_Parameters
    - XMSS_WOTS_Parameters
    - WOTS_Derivation_Method
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: Botan::XMSS_PrivateKey_Internal::XMSS_PrivateKey_Internal
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - XMSS_Index_Registry::get_instance
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey_Internal(const XMSS_Parameters& xmss_params,\n
      \                              const XMSS_WOTS_Parameters& wots_params,\n                               WOTS_Derivation_Method
      wots_derivation_method,\n                               secure_vector<uint8_t>
      private_seed,\n                               secure_vector<uint8_t> prf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XMSS_Index_Registry::get_instance
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:90,1
    - Dst: extract_raw_private_key
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:101,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:103,1
    - Dst: raw_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:103,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:104,1
    - Dst: raw_legacy_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:104,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:105,1
    - Dst: BufferSlicer::skip
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:111,1
    - Dst: raw_public_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:111,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:113,1
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:115,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:116,1
    - Dst: BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:119,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:119,1
    - Dst: BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:120,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:120,1
    - Dst: Botan::XMSS_PrivateKey_Internal::set_unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:121,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:126,1
    - Dst: static_cast<WOTS_Derivation_Method>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:126,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:126,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:128,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ' xmss_params'
    - ' wots_params'
    - key_bits
    argTypes:
    - XMSS_Parameters
    - XMSS_WOTS_Parameters
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 129
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 129
    functionName: Botan::XMSS_PrivateKey_Internal::XMSS_PrivateKey_Internal
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - raw_legacy_private_key_size
    - raw_public_key_size
    - BufferSlicer::skip
    - BufferSlicer::take
    - raw_private_key_size
    - BufferSlicer::empty
    - static_cast<WOTS_Derivation_Method>
    - extract_raw_private_key
    - tree_height
    - element_size
    - XMSS_Index_Registry::get_instance
    - BOTAN_ASSERT_NOMSG
    - Decoding_Error
    - secure_vector::size
    - BufferSlicer::copy_as_secure_vector
    - Botan::XMSS_PrivateKey_Internal::set_unused_leaf_index
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey_Internal(const XMSS_Parameters& xmss_params,\n
      \                              const XMSS_WOTS_Parameters& wots_params,\n                               std::span<const
      uint8_t> key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:133,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:133,1
    - Dst: Botan::XMSS_PrivateKey_Internal::unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:133,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:133,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:136,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:136,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - raw_public_key
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: Botan::XMSS_PrivateKey_Internal::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - store_be
    - static_cast<uint8_t>
    - Botan::XMSS_PrivateKey_Internal::unused_leaf_index
    - concat
    - std::vector::push_back
    - static_cast<uint32_t>
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> serialize(std::vector<uint8_t> raw_public_key)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '& hash()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Hash
    signature: XMSS_Hash & hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: '& prf_value() const'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & prf_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: '& private_seed()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & private_seed()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: '& wots_parameters()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_WOTS_Parameters
    signature: XMSS_WOTS_Parameters & wots_parameters()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan::XMSS_PrivateKey_Internal::wots_derivation_method
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WOTS_Derivation_Method
    signature: WOTS_Derivation_Method wots_derivation_method() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: '& index_registry()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Index_Registry
    signature: XMSS_Index_Registry & index_registry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:155,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:156,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:156,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:156,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:156,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - get
    - BOTAN_ASSERT
    - size
    - element_size
    linkageType: ''
    returnType: std::shared_ptr<Atomic<size_t>>
    signature: std::shared_ptr<Atomic<size_t>> recover_global_leaf_index() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:162,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:163,1
    - Dst: static_cast<std::atomic<size_t>&>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:165,1
    - Dst: Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:165,1
    - Dst: load
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:169,1
    - Dst: compare_exchange_strong
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: Botan::XMSS_PrivateKey_Internal::set_unused_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - compare_exchange_strong
    - static_cast<std::atomic<size_t>&>
    - tree_height
    - Decoding_Error
    - Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
    - load
    linkageType: ''
    returnType: void
    signature: void set_unused_leaf_index(size_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: total_number_of_signatures
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:179,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: Botan::XMSS_PrivateKey_Internal::reserve_unused_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - total_number_of_signatures
    linkageType: ''
    returnType: size_t
    signature: size_t reserve_unused_leaf_index()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: Botan::XMSS_PrivateKey_Internal::unused_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
    linkageType: ''
    returnType: size_t
    signature: size_t unused_leaf_index() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: total_number_of_signatures
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:188,1
    - Dst: Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan::XMSS_PrivateKey_Internal::remaining_signatures
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - total_number_of_signatures
    - Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
    linkageType: ''
    returnType: size_t
    signature: size_t remaining_signatures() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<XMSS_PrivateKey_Internal>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: Botan::XMSS_PrivateKey::XMSS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<XMSS_PrivateKey_Internal>
    linkageType: ''
    returnType: void
    signature: void XMSS_PrivateKey::XMSS_PrivateKey(std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<XMSS_PrivateKey_Internal>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:210,1
    - Dst: Botan::XMSS_PrivateKey::tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:212,1
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - xmss_algo_id
    - ' rng'
    - wots_derivation_method
    argTypes:
    - XMSS_Parameters::xmss_algorithm_t
    - RandomNumberGenerator
    - WOTS_Derivation_Method
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: Botan::XMSS_PrivateKey::XMSS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey::tree_hash
    - tree_height
    - std::make_shared<XMSS_PrivateKey_Internal>
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey::XMSS_PrivateKey(XMSS_Parameters::xmss_algorithm_t
      xmss_algo_id,\n                                 RandomNumberGenerator& rng,\n
      \                                WOTS_Derivation_Method wots_derivation_method)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:222,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:222,1
    - Dst: std::make_shared<XMSS_PrivateKey_Internal>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:223,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:224,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:224,1
    - Dst: set_unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:225,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:226,1
    - Dst: prf_value
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:226,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:226,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:228,1
    - Dst: private_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:228,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - xmss_algo_id
    - idx_leaf
    - wots_priv_seed
    - prf
    - root
    - public_seed
    - wots_derivation_method
    argTypes:
    - XMSS_Parameters::xmss_algorithm_t
    - size_t
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - WOTS_Derivation_Method
    constantsTouched: []
    func_position:
      end: 230
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 230
    functionName: Botan::XMSS_PrivateKey::XMSS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - private_seed
    - std::make_shared<XMSS_PrivateKey_Internal>
    - element_size
    - BOTAN_ARG_CHECK
    - prf_value
    - set_unused_leaf_index
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey::XMSS_PrivateKey(XMSS_Parameters::xmss_algorithm_t
      xmss_algo_id,\n                                 size_t idx_leaf,\n                                 secure_vector<uint8_t>
      wots_priv_seed,\n                                 secure_vector<uint8_t> prf,\n
      \                                secure_vector<uint8_t> root,\n                                 secure_vector<uint8_t>
      public_seed,\n                                 WOTS_Derivation_Method wots_derivation_method)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:233,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:234,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:234,1
    - Dst: Thread_Pool::global_instance
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:240,1
    - Dst: Botan::XMSS_PrivateKey::tree_hash_subtree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:247,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:257,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:262,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:262,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:264,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:274,1
    - Dst: run
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:274,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:276,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:279,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:280,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:284,1
    - Dst: std::vector::clear
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:286,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:290,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:291,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:291,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:293,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:294,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:294,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:296,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:296,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:297,1
    - Dst: get_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:297,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:299,1
    - Dst: run
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:299,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:300,1
    - Dst: std::cref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:301,1
    - Dst: std::cref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:302,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:303,1
    - Dst: std::cref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:304,1
    - Dst: Botan::XMSS_PrivateKey::public_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:304,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:305,1
    - Dst: std::cref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:306,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:310,1
    - Dst: std::vector::clear
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:312,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:316,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:316,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:317,1
    - Dst: get_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:317,1
    - Dst: Botan::XMSS_Common_Ops::randomize_tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:318,1
    - Dst: Botan::XMSS_PrivateKey::public_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:319,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:319,1
    - Dst: Botan::XMSS_PrivateKey::tree_hash_subtree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:323,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - start_idx
    - target_node_height
    - ' adrs'
    argTypes:
    - size_t
    - size_t
    - XMSS_Address
    constantsTouched: []
    func_position:
      end: 326
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 326
    functionName: Botan::XMSS_PrivateKey::tree_hash
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Thread_Pool::global_instance
    - std::ref
    - run
    - BOTAN_ASSERT_NOMSG
    - std::cref
    - secure_vector<uint8_t>
    - hash
    - Botan::XMSS_PrivateKey::public_seed
    - get
    - std::vector::clear
    - Botan::XMSS_Common_Ops::randomize_tree_hash
    - get_tree_index
    - std::vector::begin
    - static_cast<uint32_t>
    - std::vector::size
    - std::vector::push_back
    - static_cast<size_t>
    - Botan::XMSS_PrivateKey::tree_hash_subtree
    - BOTAN_ASSERT
    - set_tree_height
    - element_size
    - set_tree_index
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> XMSS_PrivateKey::tree_hash(size_t start_idx,
      size_t target_node_height, XMSS_Address& adrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::tree_hash_subtree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:332,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' result'
    - start_idx
    - target_node_height
    - ' adrs'
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    - size_t
    - XMSS_Address
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: Botan::XMSS_PrivateKey::tree_hash_subtree
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 2
    functionsReached:
    - hash
    - Botan::XMSS_PrivateKey::tree_hash_subtree
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey::tree_hash_subtree(secure_vector<uint8_t>& result,\n
      \                                       size_t start_idx,\n                                        size_t
      target_node_height,\n                                        XMSS_Address& adrs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::public_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:337,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:340,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:340,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:352,1
    - Dst: set_ots_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:353,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:353,1
    - Dst: Botan::XMSS_PrivateKey::wots_public_key_for
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:355,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:357,1
    - Dst: set_ltree_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:358,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:358,1
    - Dst: Botan::XMSS_Common_Ops::create_l_tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:359,1
    - Dst: XMSS_WOTS_PublicKey::key_data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:359,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:362,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:363,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:364,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:364,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:367,1
    - Dst: get_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:367,1
    - Dst: Botan::XMSS_Common_Ops::randomize_tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:368,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:372,1
    - Dst: get_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - ' result'
    - start_idx
    - target_node_height
    - ' adrs'
    - ' hash'
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    - size_t
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 377
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 377
    functionName: Botan::XMSS_PrivateKey::tree_hash_subtree
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 2
    functionsReached:
    - secure_vector<uint8_t>
    - set_ots_address
    - Botan::XMSS_Common_Ops::create_l_tree
    - Botan::XMSS_PrivateKey::wots_public_key_for
    - Botan::XMSS_PrivateKey::public_seed
    - XMSS_WOTS_PublicKey::key_data
    - get_tree_height
    - set_tree_height
    - element_size
    - set_tree_index
    - Botan::XMSS_Common_Ops::randomize_tree_hash
    - set_type
    - get_tree_index
    - set_ltree_address
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey::tree_hash_subtree(\n   secure_vector<uint8_t>&
      result, size_t start_idx, size_t target_node_height, XMSS_Address& adrs, XMSS_Hash&
      hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::wots_private_key_for
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:380,1
    - Dst: XMSS_WOTS_PublicKey
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:381,1
    - Dst: wots_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' adrs'
    - ' hash'
    argTypes:
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: Botan::XMSS_PrivateKey::wots_public_key_for
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - wots_parameters
    - XMSS_WOTS_PublicKey
    - Botan::XMSS_PrivateKey::wots_private_key_for
    linkageType: ''
    returnType: XMSS_WOTS_PublicKey
    signature: XMSS_WOTS_PublicKey XMSS_PrivateKey::wots_public_key_for(XMSS_Address&
      adrs, XMSS_Hash& hash) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::wots_derivation_method
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:385,1
    - Dst: XMSS_WOTS_PrivateKey
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:387,1
    - Dst: wots_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:388,1
    - Dst: private_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:388,1
    - Dst: XMSS_WOTS_PrivateKey
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:390,1
    - Dst: wots_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:390,1
    - Dst: private_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:390,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' adrs'
    - ' hash'
    argTypes:
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 394
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 394
    functionName: Botan::XMSS_PrivateKey::wots_private_key_for
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - private_seed
    - Invalid_State
    - Botan::XMSS_PrivateKey::wots_derivation_method
    - XMSS_WOTS_PrivateKey
    - wots_parameters
    linkageType: ''
    returnType: XMSS_WOTS_PrivateKey
    signature: XMSS_WOTS_PrivateKey XMSS_PrivateKey::wots_private_key_for(XMSS_Address&
      adrs, XMSS_Hash& hash) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:397,1
    - Dst: Botan::XMSS_PrivateKey::raw_private_key
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: Botan::XMSS_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - Botan::XMSS_PrivateKey::raw_private_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> XMSS_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::reserve_unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: Botan::XMSS_PrivateKey::reserve_unused_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey::reserve_unused_leaf_index
    linkageType: ''
    returnType: size_t
    signature: size_t XMSS_PrivateKey::reserve_unused_leaf_index()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: Botan::XMSS_PrivateKey::unused_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey::unused_leaf_index
    linkageType: ''
    returnType: size_t
    signature: size_t XMSS_PrivateKey::unused_leaf_index() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::remaining_signatures
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 410
    functionName: Botan::XMSS_PrivateKey::remaining_signatures
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey::remaining_signatures
    linkageType: ''
    returnType: size_t
    signature: size_t XMSS_PrivateKey::remaining_signatures() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::remaining_signatures
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: Botan::XMSS_PrivateKey::remaining_operations
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey::remaining_signatures
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> XMSS_PrivateKey::remaining_operations() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prf_value
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: '& XMSS_PrivateKey::prf_value() const'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - prf_value
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & XMSS_PrivateKey::prf_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:421,1
    - Dst: raw_public_key
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: Botan::XMSS_PrivateKey::raw_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 2
    functionsReached:
    - raw_public_key
    - serialize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> XMSS_PrivateKey::raw_private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::wots_derivation_method
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: Botan::XMSS_PrivateKey::wots_derivation_method
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 2
    functionsReached:
    - Botan::XMSS_PrivateKey::wots_derivation_method
    linkageType: ''
    returnType: WOTS_Derivation_Method
    signature: WOTS_Derivation_Method XMSS_PrivateKey::wots_derivation_method() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<XMSS_PublicKey>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:429,1
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:429,1
    - Dst: root
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:429,1
    - Dst: public_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: Botan::XMSS_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - root
    - public_seed
    - xmss_parameters
    - std::make_unique<XMSS_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> XMSS_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:435,1
    - Dst: std::make_unique<XMSS_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:436,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:439,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - provider
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 440
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 440
    functionName: Botan::XMSS_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<XMSS_Signature_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> XMSS_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                        std::string_view
      /*params*/,\n                                                                        std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:48,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - param_set
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: Botan::XMSS_WOTS_Parameters::xmss_wots_id_from_string
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp
    functionUses: 0
    functionsReached:
    - Lookup_Error
    - fmt
    linkageType: ''
    returnType: XMSS_WOTS_Parameters::ots_algorithm_t
    signature: XMSS_WOTS_Parameters::ots_algorithm_t XMSS_WOTS_Parameters::xmss_wots_id_from_string(std::string_view
      param_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_WOTS_Parameters::xmss_wots_id_from_string
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - param_set
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: Botan::XMSS_WOTS_Parameters::XMSS_WOTS_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_WOTS_Parameters::xmss_wots_id_from_string
    linkageType: ''
    returnType: void
    signature: void XMSS_WOTS_Parameters::XMSS_WOTS_Parameters(std::string_view param_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:113,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:117,1
    - Dst: std::ceil
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:117,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:118,1
    - Dst: floor
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:118,1
    - Dst: log2
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:118,1
    - Dst: wots_parameter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:118,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 1
    argNames:
    - oid
    argTypes:
    - ots_algorithm_t
    constantsTouched: []
    func_position:
      end: 122
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 122
    functionName: Botan::XMSS_WOTS_Parameters::XMSS_WOTS_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp
    functionUses: 0
    functionsReached:
    - wots_parameter
    - static_cast<size_t>
    - std::ceil
    - Not_Implemented
    - floor
    - BOTAN_ASSERT
    - element_size
    - log2
    linkageType: ''
    returnType: void
    signature: void XMSS_WOTS_Parameters::XMSS_WOTS_Parameters(ots_algorithm_t oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:126,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:139,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' msg'
    - out_size
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: Botan::XMSS_WOTS_Parameters::base_w
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - secure_vector::reserve
    - secure_vector::push_back
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> XMSS_WOTS_Parameters::base_w(const secure_vector<uint8_t>&
      msg, size_t out_size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Tools::concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:148,1
    - Dst: Botan::XMSS_WOTS_Parameters::base_w
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: Botan::XMSS_WOTS_Parameters::base_w
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_Tools::concat
    - Botan::XMSS_WOTS_Parameters::base_w
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> XMSS_WOTS_Parameters::base_w(size_t value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:155,1
    - Dst: wots_parameter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:156,1
    - Dst: Botan::XMSS_WOTS_Parameters::base_w
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:159,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:160,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:160,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:160,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: Botan::XMSS_WOTS_Parameters::append_checksum
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - wots_parameter
    - std::back_inserter
    - size
    - Botan::XMSS_WOTS_Parameters::base_w
    - secure_vector::end
    - secure_vector::begin
    linkageType: ''
    returnType: void
    signature: void XMSS_WOTS_Parameters::append_checksum(secure_vector<uint8_t>&
      data) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:32,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:33,1
    - Dst: static_cast<XMSS_Parameters::xmss_algorithm_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - raw_key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: Botan::deserialize_xmss_oid
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - Botan::Decoding_Error
    - static_cast<XMSS_Parameters::xmss_algorithm_t>
    linkageType: ''
    returnType: XMSS_Parameters::xmss_algorithm_t
    signature: XMSS_Parameters::xmss_algorithm_t deserialize_xmss_oid(std::span<const
      uint8_t> raw_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:50,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:56,1
    - Dst: XMSS_Parameters::raw_public_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:56,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:56,1
    - Dst: XMSS_Parameters::raw_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:56,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:57,1
    - Dst: XMSS_Parameters::raw_legacy_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:57,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:58,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:61,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:61,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:61,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:63,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:63,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: Botan::extract_raw_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - XMSS_Parameters::raw_legacy_private_key_size
    - Botan::Decoding_Error
    - std::span<const uint8_t>::begin
    - BER_Decoder
    - std::span<const uint8_t>::end
    - XMSS_Parameters::raw_private_key_size
    - XMSS_Parameters::raw_public_key_size
    - std::vector::assign
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> extract_raw_public_key(std::span<const uint8_t>
      key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ots_oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:73,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:74,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:75,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - xmss_oid
    - ' rng'
    argTypes:
    - XMSS_Parameters::xmss_algorithm_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: Botan::XMSS_PublicKey::XMSS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 1
    functionsReached:
    - ots_oid
    - element_size
    - random_vec
    linkageType: ''
    returnType: void
    signature: void XMSS_PublicKey::XMSS_PublicKey(XMSS_Parameters::xmss_algorithm_t
      xmss_oid, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extract_raw_public_key
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:78,1
    - Dst: deserialize_xmss_oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:79,1
    - Dst: ots_oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:80,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:81,1
    - Dst: raw_public_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:81,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:82,1
    - Dst: BufferSlicer::skip
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:86,1
    - Dst: BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:88,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:88,1
    - Dst: BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:89,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: Botan::XMSS_PublicKey::XMSS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 1
    functionsReached:
    - ots_oid
    - raw_public_key_size
    - BufferSlicer::skip
    - extract_raw_public_key
    - deserialize_xmss_oid
    - size
    - element_size
    - Decoding_Error
    - BufferSlicer::copy_as_secure_vector
    linkageType: ''
    returnType: void
    signature: void XMSS_PublicKey::XMSS_PublicKey(std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ots_oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:96,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:97,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:98,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:99,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:99,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:99,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:100,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:100,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - xmss_oid
    - root
    - public_seed
    argTypes:
    - XMSS_Parameters::xmss_algorithm_t
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: Botan::XMSS_PublicKey::XMSS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 1
    functionsReached:
    - ots_oid
    - std::move
    - size
    - element_size
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void XMSS_PublicKey::XMSS_PublicKey(XMSS_Parameters::xmss_algorithm_t
      xmss_oid,\n                               secure_vector<uint8_t> root,\n                               secure_vector<uint8_t>
      public_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:105,1
    - Dst: std::make_unique<XMSS_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:106,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:108,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - provider
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: Botan::XMSS_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<XMSS_Verification_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> XMSS_PublicKey::create_verification_op(std::string_view
      /*params*/,\n                                                                             std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:113,1
    - Dst: Botan::XMSS_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:114,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:115,1
    - Dst: std::make_unique<XMSS_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:117,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:119,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' alg_id'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: Botan::XMSS_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - std::make_unique<XMSS_Verification_Operation>
    - Provider_Not_Found
    - algo_name
    - Decoding_Error
    - Botan::XMSS_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> XMSS_PublicKey::create_x509_verification_op(const
      AlgorithmIdentifier& alg_id,\n                                                                                  std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:123,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:123,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:123,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: Botan::XMSS_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - static_cast<uint32_t>
    - concat
    - oid
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> XMSS_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:128,1
    - Dst: Botan::XMSS_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: Botan::XMSS_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - Botan::XMSS_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> XMSS_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::XMSS_PublicKey::raw_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> XMSS_PublicKey::raw_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<XMSS_PrivateKey>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:140,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: Botan::XMSS_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<XMSS_PrivateKey>
    - oid
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> XMSS_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::XMSS_Hash::XMSS_Hash
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Hash(XMSS_Hash&& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~XMSS_Hash()
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~XMSS_Hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const XMSS_Hash&)'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Hash
    signature: XMSS_Hash & operator=(const XMSS_Hash&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '& operator=(XMSS_Hash&&)'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Hash
    signature: XMSS_Hash & operator=(XMSS_Hash&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::XMSS_Hash::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:41,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:42,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:43,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:43,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:43,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:44,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:44,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:44,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - hash_id
    - ' result'
    - key
    - data
    argTypes:
    - uint8_t
    - secure_vector<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: Botan::XMSS_Hash::calculate_hash
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - update
    - final
    linkageType: ''
    returnType: void
    signature: "void calculate_hash(const uint8_t hash_id,\n                                 secure_vector<uint8_t>&
      result,\n                                 std::span<const uint8_t> key,\n                                 std::span<const
      uint8_t> data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Hash::calculate_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - key
    - data
    argTypes:
    - secure_vector<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::XMSS_Hash::prf
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Hash::calculate_hash
    linkageType: ''
    returnType: void
    signature: void prf(secure_vector<uint8_t>& result, std::span<const uint8_t> key,
      std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Hash::calculate_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - key
    - data
    argTypes:
    - secure_vector<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: Botan::XMSS_Hash::prf_keygen
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Hash::calculate_hash
    linkageType: ''
    returnType: void
    signature: "void prf_keygen(secure_vector<uint8_t>& result,\n                             std::span<const
      uint8_t> key,\n                             std::span<const uint8_t> data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Hash::calculate_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - key
    - data
    argTypes:
    - secure_vector<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::XMSS_Hash::f
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Hash::calculate_hash
    linkageType: ''
    returnType: void
    signature: void f(secure_vector<uint8_t>& result, std::span<const uint8_t> key,
      std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Hash::calculate_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - key
    - data
    argTypes:
    - secure_vector<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan::XMSS_Hash::h
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Hash::calculate_hash
    linkageType: ''
    returnType: void
    signature: void h(secure_vector<uint8_t>& result, std::span<const uint8_t> key,
      std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Hash::h_msg_init
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:116,1
    - Dst: Botan::XMSS_Hash::h_msg_update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:117,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - randomness
    - root
    - index_bytes
    - data
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: Botan::XMSS_Hash::h_msg
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Hash::h_msg_update
    - Botan::XMSS_Hash::h_msg_init
    - final
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> h_msg(std::span<const uint8_t> randomness,\n
      \                                  std::span<const uint8_t> root,\n                                   std::span<const
      uint8_t> index_bytes,\n                                   std::span<const uint8_t>
      data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Hash::output_length
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: Botan::XMSS_Hash::output_length
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 2
    functionsReached:
    - Botan::XMSS_Hash::output_length
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::XMSS_Tools::XMSS_Tools
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Tools()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::XMSS_Tools::XMSS_Tools
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Tools(const XMSS_Tools&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: operator=(const XMSS_Tools&)
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const XMSS_Tools&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse_copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:58,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:58,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:60,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' target'
    - ' src'
    argTypes:
    - secure_vector<uint8_t>
    - T
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: Botan::XMSS_Tools::concat
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_tools.h
    functionUses: 3
    functionsReached:
    - std::back_inserter
    - std::reverse_copy
    - copy
    linkageType: ''
    returnType: void
    signature: void XMSS_Tools::concat(secure_vector<uint8_t>& target, const T& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:68,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:68,1
    - Dst: std::reverse_copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:73,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:73,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:75,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' target'
    - ' src'
    - len
    argTypes:
    - secure_vector<uint8_t>
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: Botan::XMSS_Tools::concat
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_tools.h
    functionUses: 3
    functionsReached:
    - copy
    - std::back_inserter
    - size
    - resize
    - std::reverse_copy
    linkageType: ''
    returnType: void
    signature: void XMSS_Tools::concat(secure_vector<uint8_t>& target, const T& src,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/xmss/xmss.h:75,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/xmss/xmss.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_key(RandomNumberGenerator&, bool) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::estimated_strength
      Src: /src/botan/src/lib/pubkey/xmss/xmss.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Botan::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 1
    functionsReached:
    - Botan::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t estimated_strength() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::estimated_strength
      Src: /src/botan/src/lib/pubkey/xmss/xmss.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached:
    - Botan::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::public_seed
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & public_seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::root
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & root() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: Botan::xmss_parameters
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Parameters
    signature: XMSS_Parameters & xmss_parameters() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: stateful_operation
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stateful_operation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 116
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: XMSS_WOTS_Parameters
    signature: XMSS_WOTS_Parameters final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: Botan::std::name
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void std::string& name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan::hash_function_name
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & hash_function_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: Botan::element_size
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t element_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan::hash_id_size
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_id_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: Botan::tree_height
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tree_height() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: Botan::total_number_of_signatures
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached:
    - Botan::tree_height
    linkageType: ''
    returnType: size_t
    signature: size_t total_number_of_signatures() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: Botan::wots_parameter
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t wots_parameter() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: Botan::len
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t len() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: Botan::oid
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: xmss_algorithm_t
    signature: xmss_algorithm_t oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: Botan::ots_oid
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_WOTS_Parameters::ots_algorithm_t
    signature: XMSS_WOTS_Parameters::ots_algorithm_t ots_oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: Botan::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: Botan::raw_public_key_size
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached:
    - Botan::element_size
    linkageType: ''
    returnType: size_t
    signature: size_t raw_public_key_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::raw_public_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h:225,1
    - Dst: Botan::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: Botan::raw_legacy_private_key_size
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 1
    functionsReached:
    - Botan::element_size
    - Botan::raw_public_key_size
    linkageType: ''
    returnType: size_t
    signature: size_t raw_legacy_private_key_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::raw_legacy_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: Botan::raw_private_key_size
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 1
    functionsReached:
    - Botan::raw_legacy_private_key_size
    linkageType: ''
    returnType: size_t
    signature: size_t raw_private_key_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - XMSS_Parameters
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: operator==(const XMSS_Parameters& p) const
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const XMSS_Parameters& p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key_mask_mode
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:22,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:24,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:24,1
    - Dst: set_key_mask_mode
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:26,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:28,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:28,1
    - Dst: set_key_mask_mode
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:30,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:32,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:32,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:34,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:34,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:34,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:34,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:34,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:37,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:38,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:40,1
    - Dst: h
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 7
    argNames:
    - ' result'
    - ' left'
    - ' right'
    - ' adrs'
    - ' seed'
    - ' hash'
    - ' params'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - XMSS_Address
    - secure_vector<uint8_t>
    - XMSS_Hash
    - XMSS_Parameters
    constantsTouched: []
    func_position:
      end: 44
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 44
    functionName: Botan::XMSS_Common_Ops::randomize_tree_hash
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp
    functionUses: 3
    functionsReached:
    - prf
    - set_key_mask_mode
    - BOTAN_ASSERT
    - h
    - size
    - element_size
    - bytes
    - secure_vector::size
    linkageType: ''
    returnType: void
    signature: "void XMSS_Common_Ops::randomize_tree_hash(secure_vector<uint8_t>&
      result,\n                                          const secure_vector<uint8_t>&
      left,\n                                          const secure_vector<uint8_t>&
      right,\n                                          XMSS_Address& adrs,\n                                          const
      secure_vector<uint8_t>& seed,\n                                          XMSS_Hash&
      hash,\n                                          const XMSS_Parameters& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:53,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:57,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:57,1
    - Dst: Botan::XMSS_Common_Ops::randomize_tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:58,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:64,1
    - Dst: get_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - ' result'
    - pk
    - ' adrs'
    - ' seed'
    - ' hash'
    - ' params'
    argTypes:
    - secure_vector<uint8_t>
    - wots_keysig_t
    - XMSS_Address
    - secure_vector<uint8_t>
    - XMSS_Hash
    - XMSS_Parameters
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: Botan::XMSS_Common_Ops::create_l_tree
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp
    functionUses: 2
    functionsReached:
    - get_tree_height
    - set_tree_height
    - Botan::XMSS_Common_Ops::randomize_tree_hash
    - set_tree_index
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: "void XMSS_Common_Ops::create_l_tree(secure_vector<uint8_t>& result,\n
      \                                   wots_keysig_t pk,\n                                    XMSS_Address&
      adrs,\n                                    const secure_vector<uint8_t>& seed,\n
      \                                   XMSS_Hash& hash,\n                                    const
      XMSS_Parameters& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::GOST_3410_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GOST_3410_PublicKey(const EC_Group& group, const EC_Point& public_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h
    functionUses: 0
    functionsReached:
    - Botan::domain
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> _signature_element_size_for_DER_encoding() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::_default_x509_signature_format
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Signature_Format
    signature: Signature_Format _default_x509_signature_format() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: pkcs8_algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h
    functionUses: 1
    functionsReached:
    - Botan::EC_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier pkcs8_algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:25,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - domain
    argTypes:
    - EC_Group
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: Botan::check_domain
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::Decoding_Error
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group check_domain(EC_Group domain)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:33,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:39,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:40,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: Botan::GOST_3410_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - std::swap
    - _public_ec_point
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> GOST_3410_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:52,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: Botan::GOST_3410_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Encoding_Error
    linkageType: ''
    returnType: std::string
    signature: std::string GOST_3410_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:61,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:62,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:64,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: Botan::GOST_3410_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    - domain
    - DER_Encoder
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier GOST_3410_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:73,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:73,1
    - Dst: check_domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:75,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:75,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:78,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:80,1
    - Dst: auto::get_p_bits
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:80,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:81,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:88,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:88,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:89,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:90,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:90,1
    - Dst: std::vector::rbegin
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:90,1
    - Dst: std::vector::rend
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:90,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:91,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:91,1
    - Dst: std::vector::rbegin
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:91,1
    - Dst: std::vector::rend
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:91,1
    - Dst: std::make_shared<EC_PublicKey_Data>
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:93,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: Botan::GOST_3410_PublicKey::GOST_3410_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::move
    - Botan::EC_Group::from_OID
    - std::make_shared<EC_PublicKey_Data>
    - std::vector::reserve
    - auto::get_p_bits
    - std::vector::insert
    - BER_Decoder
    - parameters
    - std::vector::rend
    - std::vector::rbegin
    - Decoding_Error
    - check_domain
    - std::vector::push_back
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void GOST_3410_PublicKey::GOST_3410_PublicKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:97,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' domain'
    - ' x'
    argTypes:
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: Botan::GOST_3410_PrivateKey::GOST_3410_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::from_bigint
    - check_domain
    linkageType: ''
    returnType: void
    signature: void GOST_3410_PrivateKey::GOST_3410_PrivateKey(const EC_Group& domain,
      const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:100,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - domain
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: Botan::GOST_3410_PrivateKey::GOST_3410_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - check_domain
    linkageType: ''
    returnType: void
    signature: void GOST_3410_PrivateKey::GOST_3410_PrivateKey(RandomNumberGenerator&
      rng, EC_Group domain)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - ' domain'
    - ' x'
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: Botan::GOST_3410_PrivateKey::GOST_3410_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - check_domain
    linkageType: ''
    returnType: void
    signature: void GOST_3410_PrivateKey::GOST_3410_PrivateKey(RandomNumberGenerator&
      rng, const EC_Group& domain, const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GOST_3410_PublicKey>
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:106,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:106,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Botan::GOST_3410_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<GOST_3410_PublicKey>
    - _public_ec_point
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> GOST_3410_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::rbegin
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:112,1
    - Dst: std::span<const uint8_t>::rend
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:112,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:114,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:115,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - msg
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: Botan::gost_msg_to_scalar
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::from_bytes_mod_order
    - Botan::EC_Scalar::one
    - auto::is_zero
    - std::span<const uint8_t>::rbegin
    - std::span<const uint8_t>::rend
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar gost_msg_to_scalar(const EC_Group& group, std::span<const
      uint8_t> msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:128,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' gost_3410'
    - emsa
    argTypes:
    - GOST_3410_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: Botan::GOST_3410_Signature_Operation::GOST_3410_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - _private_key
    - domain
    linkageType: ''
    returnType: void
    signature: void GOST_3410_Signature_Operation(const GOST_3410_PrivateKey& gost_3410,
      std::string_view emsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::GOST_3410_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - get_order_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:142,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:157,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:158,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: Botan::GOST_3410_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    - std::string::empty
    - AlgorithmIdentifier
    - hash_function
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier GOST_3410_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost_msg_to_scalar
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:165,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:167,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:168,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:171,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:171,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:172,1
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: Botan::GOST_3410_Signature_Operation::raw_sign
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    - gost_msg_to_scalar
    - Botan::EC_Scalar::gk_x_mod_order
    - auto::is_zero
    - Botan::EC_Scalar::random
    - Botan::EC_Scalar::deserialize_pair
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> GOST_3410_Signature_Operation::raw_sign(std::span<const
      uint8_t> msg, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters_are_empty
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:179,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:180,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:183,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:197,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:197,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ' alg_id'
    argTypes:
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: Botan::gost_hash_from_algid
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::Decoding_Error
    - parameters_are_empty
    - Botan::oid
    linkageType: ''
    returnType: std::string
    signature: std::string gost_hash_from_algid(const AlgorithmIdentifier& alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:206,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' gost'
    - padding
    argTypes:
    - GOST_3410_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: Botan::GOST_3410_Verification_Operation::GOST_3410_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: void
    signature: void GOST_3410_Verification_Operation(const GOST_3410_PublicKey& gost,
      std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost_hash_from_algid
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:209,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:210,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' gost'
    - ' alg_id'
    argTypes:
    - GOST_3410_PublicKey
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: Botan::GOST_3410_Verification_Operation::GOST_3410_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - gost_hash_from_algid
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: void
    signature: void GOST_3410_Verification_Operation(const GOST_3410_PublicKey& gost,
      const AlgorithmIdentifier& alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:221,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:222,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:224,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:224,1
    - Dst: gost_msg_to_scalar
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:225,1
    - Dst: auto::invert_vartime
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:227,1
    - Dst: mul2_vartime_x_mod_order_eq
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:230,1
    - Dst: negate
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - sig
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: Botan::GOST_3410_Verification_Operation::verify
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - mul2_vartime_x_mod_order_eq
    - auto::value
    - auto::invert_vartime
    - is_nonzero
    - gost_msg_to_scalar
    - negate
    - Botan::EC_Scalar::deserialize_pair
    linkageType: ''
    returnType: bool
    signature: bool GOST_3410_Verification_Operation::verify(std::span<const uint8_t>
      msg, std::span<const uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GOST_3410_PrivateKey>
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:240,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: Botan::GOST_3410_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<GOST_3410_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> GOST_3410_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:245,1
    - Dst: std::make_unique<GOST_3410_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:246,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:248,1
    - Dst: Botan::GOST_3410_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: Botan::GOST_3410_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Provider_Not_Found
    - Botan::GOST_3410_PublicKey::algo_name
    - std::make_unique<GOST_3410_Verification_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> GOST_3410_PublicKey::create_verification_op(std::string_view
      params,\n                                                                                  std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:253,1
    - Dst: std::make_unique<GOST_3410_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:254,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:257,1
    - Dst: Botan::GOST_3410_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: Botan::GOST_3410_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Provider_Not_Found
    - Botan::GOST_3410_PublicKey::algo_name
    - std::make_unique<GOST_3410_Verification_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> GOST_3410_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:263,1
    - Dst: std::make_unique<GOST_3410_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:264,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:266,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: Botan::GOST_3410_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<GOST_3410_Signature_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> GOST_3410_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                             std::string_view
      params,\n                                                                             std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:24,1
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:24,1
    - Dst: SHAKE_128_XOF
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:26,1
    - Dst: FrodoSeedA
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:26,1
    - Dst: Botan::clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:27,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:28,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:28,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:29,1
    - Dst: Botan::output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' constants'
    - seed_a
    argTypes:
    - FrodoKEMConstants
    - StrongSpan<const FrodoSeedA>
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: Botan::create_shake_row_generator
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h
    functionUses: 0
    functionsReached:
    - SHAKE_128_XOF
    - Botan::store_le
    - Botan::output
    - Botan::update
    - FrodoSeedA
    - Botan::mode
    - Botan::clear
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: auto
    signature: auto create_shake_row_generator(const FrodoKEMConstants& constants,
      StrongSpan<const FrodoSeedA> seed_a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:26,1
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:26,1
    - Dst: AES_128::set_key
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:30,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:34,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:34,1
    - Dst: setup_aes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:34,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:37,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:37,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:43,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:43,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:44,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:44,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:47,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:47,1
    - Dst: AES_128::encrypt
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ' constants'
    - seed_a
    argTypes:
    - FrodoKEMConstants
    - StrongSpan<const FrodoSeedA>
    constantsTouched: []
    func_position:
      end: 51
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 51
    functionName: Botan::create_aes_row_generator
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h
    functionUses: 0
    functionsReached:
    - setup_aes
    - BufferStuffer::remaining_capacity
    - Botan::store_le
    - BufferStuffer::append
    - Botan::clear_mem
    - BOTAN_DEBUG_ASSERT
    - AES_128::set_key
    - BufferStuffer::full
    - static_cast<uint16_t>
    - BufferStuffer::next
    - n
    - Botan::mode
    - AES_128::encrypt
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: auto
    signature: auto create_aes_row_generator(const FrodoKEMConstants& constants, StrongSpan<const
      FrodoSeedA> seed_a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FrodoKEMConstants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.h:27,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.h:39,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.h:41,1
    - Dst: FrodoDomainSeparator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.h:75,1
    - Dst: FrodoDomainSeparator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.h:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 99
    functionName: Botan::FrodoKEMConstants
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.h
    functionUses: 1
    functionsReached:
    - at
    - FrodoDomainSeparator
    - Botan::FrodoKEMConstants
    - Botan::size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API FrodoKEMConstants
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:64,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:64,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 65
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 65
    functionName: Botan::FrodoKEM_mode_from_string
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Invalid_Argument
    linkageType: ''
    returnType: FrodoKEMMode::Mode
    signature: FrodoKEMMode::Mode FrodoKEM_mode_from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mode
    argTypes:
    - Mode
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::FrodoKEMMode::FrodoKEMMode
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FrodoKEMMode::FrodoKEMMode(Mode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrodoKEM_mode_from_string
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:71,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::FrodoKEMMode::FrodoKEMMode
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp
    functionUses: 2
    functionsReached:
    - FrodoKEM_mode_from_string
    - to_formatted_string
    linkageType: ''
    returnType: void
    signature: void FrodoKEMMode::FrodoKEMMode(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrodoKEM_mode_from_string
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::FrodoKEMMode::FrodoKEMMode
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp
    functionUses: 2
    functionsReached:
    - FrodoKEM_mode_from_string
    linkageType: ''
    returnType: void
    signature: void FrodoKEMMode::FrodoKEMMode(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:76,1
    - Dst: Botan::FrodoKEMMode::to_string
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Botan::FrodoKEMMode::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEMMode::to_string
    - Botan::OID::from_string
    linkageType: ''
    returnType: OID
    signature: OID FrodoKEMMode::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 109
    functionName: Botan::FrodoKEMMode::to_string
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string FrodoKEMMode::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:37,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:37,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:37,1
    - Dst: SHAKE_XOF
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:38,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:39,1
    - Dst: Botan::FrodoKEM_PublicKeyInternal::serialize
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:39,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:40,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - constants
    - seed_a
    - b
    argTypes:
    - FrodoKEMConstants
    - FrodoSeedA
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: Botan::FrodoKEM_PublicKeyInternal::FrodoKEM_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - update
    - len_sec_bytes
    - output
    - SHAKE_XOF
    - Botan::FrodoKEM_PublicKeyInternal::serialize
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PublicKeyInternal(FrodoKEMConstants constants, FrodoSeedA
      seed_a, FrodoMatrix b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& constants() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrodoKEMConstants
    signature: FrodoKEMConstants & constants() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& seed_a() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrodoSeedA
    signature: FrodoSeedA & seed_a() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& b() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix & b() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& hash() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrodoPublicKeyHash
    signature: FrodoPublicKeyHash & hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:51,1
    - Dst: seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:51,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::FrodoKEM_PublicKeyInternal::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 1
    functionsReached:
    - b
    - seed_a
    - concat
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:63,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - s_trans
    argTypes:
    - FrodoSeedS
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: Botan::FrodoKEM_PrivateKeyInternal::FrodoKEM_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PrivateKeyInternal(FrodoSeedS s, FrodoMatrix s_trans)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '& s() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrodoSeedS
    signature: FrodoSeedS & s() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& s_trans() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix & s_trans() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::FrodoKEM_PrivateKeyInternal::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::FrodoKEM_PrivateKeyInternal::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - kdf
    argTypes:
    - std::shared_ptr<FrodoKEM_PublicKeyInternal>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: Botan::Frodo_KEM_Encryptor::Frodo_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Frodo_KEM_Encryptor(std::shared_ptr<FrodoKEM_PublicKeyInternal>
      key, std::string_view kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan::Frodo_KEM_Encryptor::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::Frodo_KEM_Encryptor::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:94,1
    - Dst: SHAKE_XOF
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:95,1
    - Dst: Botan::FrodoMatrix::make_sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:96,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:100,1
    - Dst: len_packed_b_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:100,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:101,1
    - Dst: len_packed_c_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:101,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:102,1
    - Dst: len_salt_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:102,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:104,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:104,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:106,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:106,1
    - Dst: randomize
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:107,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:109,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:111,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:111,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:112,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:113,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:114,1
    - Dst: len_se_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:114,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:115,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:115,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:116,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:118,1
    - Dst: encapsulation_domain_separator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:118,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:119,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:121,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:121,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:121,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:121,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:123,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:123,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:123,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:123,1
    - Dst: Botan::FrodoMatrix::mul_add_sa_plus_e
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:125,1
    - Dst: seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:125,1
    - Dst: auto::pack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:127,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:129,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:129,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:129,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:129,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:130,1
    - Dst: Botan::FrodoMatrix::mul_add_sb_plus_e
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:132,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:132,1
    - Dst: Botan::FrodoMatrix::encode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:134,1
    - Dst: Botan::FrodoMatrix::add
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:136,1
    - Dst: auto::pack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:138,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:140,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:141,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:142,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 145
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 145
    functionName: Botan::Frodo_KEM_Encryptor::raw_kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - clear
    - auto::pack
    - Botan::CT::unpoison_all
    - output
    - Botan::FrodoMatrix::add
    - BOTAN_ASSERT_NOMSG
    - Botan::FrodoMatrix::mul_add_sb_plus_e
    - hash
    - randomize
    - b
    - sample_generator
    - len_packed_c_bytes
    - BufferStuffer::next
    - len_packed_b_bytes
    - update
    - std::tuple
    - seed_a
    - Botan::CT::poison
    - len_salt_bytes
    - n
    - Botan::FrodoMatrix::mul_add_sa_plus_e
    - SHAKE_XOF
    - encapsulation_domain_separator
    - len_se_bytes
    - len_sec_bytes
    - Botan::FrodoMatrix::make_sample_generator
    - Botan::FrodoMatrix::encode
    - constants
    - n_bar
    - random_vec
    - BufferStuffer::full
    linkageType: ''
    returnType: void
    signature: "void raw_kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n                           std::span<uint8_t>
      out_shared_key,\n                           RandomNumberGenerator& rng) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:156,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - public_key
    - private_key
    - kdf
    argTypes:
    - std::shared_ptr<FrodoKEM_PublicKeyInternal>
    - std::shared_ptr<FrodoKEM_PrivateKeyInternal>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: Botan::Frodo_KEM_Decryptor::Frodo_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Frodo_KEM_Decryptor(std::shared_ptr<FrodoKEM_PublicKeyInternal>
      public_key,\n                          std::shared_ptr<FrodoKEM_PrivateKeyInternal>
      private_key,\n                          std::string_view kdf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::Frodo_KEM_Decryptor::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Botan::Frodo_KEM_Decryptor::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:163,1
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:165,1
    - Dst: SHAKE_XOF
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:166,1
    - Dst: Botan::FrodoMatrix::make_sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:167,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:169,1
    - Dst: len_ct_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:169,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:170,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:174,1
    - Dst: len_packed_b_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:174,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:175,1
    - Dst: len_packed_c_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:175,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:176,1
    - Dst: len_salt_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:176,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:177,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:177,1
    - Dst: Botan::FrodoMatrix::unpack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:179,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:179,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:179,1
    - Dst: Botan::FrodoMatrix::unpack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:180,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:180,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:180,1
    - Dst: Botan::FrodoMatrix::mul_bs
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:182,1
    - Dst: s_trans
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:182,1
    - Dst: Botan::FrodoMatrix::sub
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:183,1
    - Dst: auto::decode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:185,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:187,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:187,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:188,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:189,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:191,1
    - Dst: len_se_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:191,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:192,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:192,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:193,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:195,1
    - Dst: encapsulation_domain_separator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:195,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:196,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:197,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:197,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:197,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:197,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:199,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:199,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:199,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:199,1
    - Dst: Botan::FrodoMatrix::mul_add_sa_plus_e
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:201,1
    - Dst: seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:201,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:203,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:203,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:203,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:203,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:204,1
    - Dst: Botan::FrodoMatrix::mul_add_sb_plus_e
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:206,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:206,1
    - Dst: Botan::FrodoMatrix::encode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:208,1
    - Dst: Botan::FrodoMatrix::add
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:209,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:214,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:215,1
    - Dst: auto::constant_time_compare
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:220,1
    - Dst: auto::constant_time_compare
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:220,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:222,1
    - Dst: Botan::CT::conditional_copy_mem
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:223,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:223,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:223,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:223,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:223,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:225,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:226,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:227,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - out_shared_key
    - encapsulated_key
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 230
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 230
    functionName: Botan::Frodo_KEM_Decryptor::raw_kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - clear
    - auto::constant_time_compare
    - s_trans
    - output
    - Botan::CT::scoped_poison
    - Botan::FrodoMatrix::add
    - Botan::CT::unpoison
    - Botan::FrodoMatrix::sub
    - BOTAN_ASSERT_NOMSG
    - Botan::FrodoMatrix::mul_add_sb_plus_e
    - auto::decode
    - Botan::CT::conditional_copy_mem
    - len_ct_bytes
    - hash
    - b
    - sample_generator
    - len_packed_c_bytes
    - Botan::FrodoMatrix::unpack
    - std::vector::data
    - auto::reduce
    - len_packed_b_bytes
    - update
    - BufferSlicer::take
    - std::tuple
    - seed_a
    - len_salt_bytes
    - BufferSlicer::empty
    - auto::data
    - s
    - n
    - Botan::FrodoMatrix::mul_add_sa_plus_e
    - SHAKE_XOF
    - Botan::FrodoMatrix::mul_bs
    - encapsulation_domain_separator
    - len_se_bytes
    - len_sec_bytes
    - Botan::FrodoMatrix::make_sample_generator
    - Botan::FrodoMatrix::encode
    - n_bar
    - std::span<const uint8_t>::size
    - Invalid_Argument
    - constants
    linkageType: ''
    returnType: void
    signature: void raw_kem_decrypt(std::span<uint8_t> out_shared_key, std::span<const
      uint8_t> encapsulated_key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:243,1
    - Dst: FrodoKEMConstants::len_public_key_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:243,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:244,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:248,1
    - Dst: FrodoKEMConstants::len_a_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:248,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:249,1
    - Dst: FrodoKEMConstants::d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:249,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:249,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:249,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:250,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:250,1
    - Dst: Botan::FrodoMatrix::unpack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:252,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:252,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:252,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:252,1
    - Dst: std::make_shared<FrodoKEM_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:254,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:254,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:254,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pub_key
    - mode
    argTypes:
    - std::span<const uint8_t>
    - FrodoKEMMode
    constantsTouched: []
    func_position:
      end: 255
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: Botan::FrodoKEM_PublicKey::FrodoKEM_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - FrodoKEMConstants::d
    - BufferSlicer::take
    - std::tuple
    - std::make_shared<FrodoKEM_PublicKeyInternal>
    - FrodoKEMConstants::len_a_bytes
    - FrodoKEMConstants::n
    - BufferSlicer::copy
    - std::span<const uint8_t>::size
    - BufferSlicer::empty
    - Invalid_Argument
    - Botan::FrodoMatrix::unpack
    - FrodoKEMConstants::n_bar
    - FrodoKEMConstants::len_public_key_bytes
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PublicKey::FrodoKEM_PublicKey(std::span<const uint8_t>
      pub_key, FrodoKEMMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrodoKEMMode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:258,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: Botan::FrodoKEM_PublicKey::FrodoKEM_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - FrodoKEMMode
    - oid
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PublicKey::FrodoKEM_PublicKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FrodoKEM_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:261,1
    - Dst: m_public::constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:262,1
    - Dst: m_public::seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:262,1
    - Dst: m_public::b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FrodoKEM_PublicKey
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: Botan::FrodoKEM_PublicKey::FrodoKEM_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - m_public::constants
    - m_public::b
    - std::make_shared<FrodoKEM_PublicKeyInternal>
    - m_public::seed_a
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PublicKey::FrodoKEM_PublicKey(const FrodoKEM_PublicKey&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FrodoKEM_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:267,1
    - Dst: m_public::constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:268,1
    - Dst: m_public::seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:268,1
    - Dst: m_public::b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FrodoKEM_PublicKey
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: '& FrodoKEM_PublicKey::operator=(const FrodoKEM_PublicKey& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - m_public::constants
    - m_public::b
    - std::make_shared<FrodoKEM_PublicKeyInternal>
    - m_public::seed_a
    linkageType: ''
    returnType: FrodoKEM_PublicKey
    signature: FrodoKEM_PublicKey & FrodoKEM_PublicKey::operator=(const FrodoKEM_PublicKey&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:274,1
    - Dst: Botan::FrodoKEM_PublicKey::object_identifier
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: Botan::FrodoKEM_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEM_PublicKey::object_identifier
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier FrodoKEM_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: Botan::FrodoKEM_PublicKey::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 1
    functionsReached:
    - constants
    linkageType: ''
    returnType: OID
    signature: OID FrodoKEM_PublicKey::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: Botan::FrodoKEM_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    linkageType: ''
    returnType: size_t
    signature: size_t FrodoKEM_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: Botan::FrodoKEM_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    linkageType: ''
    returnType: size_t
    signature: size_t FrodoKEM_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:290,1
    - Dst: seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:290,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:290,1
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: Botan::FrodoKEM_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - b
    - seed_a
    - concat
    - constants
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> FrodoKEM_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FrodoKEM_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: Botan::FrodoKEM_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEM_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> FrodoKEM_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: Botan::FrodoKEM_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FrodoKEM_PublicKey::check_key(RandomNumberGenerator&, bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FrodoKEM_PrivateKey>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:304,1
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: Botan::FrodoKEM_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    - std::make_unique<FrodoKEM_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> FrodoKEM_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:309,1
    - Dst: std::make_unique<Frodo_KEM_Encryptor>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:310,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:312,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: Botan::FrodoKEM_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<Frodo_KEM_Encryptor>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> FrodoKEM_PublicKey::create_kem_encryption_op(std::string_view
      params,\n                                                                                     std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrodoKEMConstants::SHAKE_XOF
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:321,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:323,1
    - Dst: FrodoKEMConstants::len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:323,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:324,1
    - Dst: FrodoKEMConstants::len_se_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:324,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:325,1
    - Dst: FrodoKEMConstants::len_a_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:325,1
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:327,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:329,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:330,1
    - Dst: FrodoKEMConstants::len_a_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:330,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:331,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:333,1
    - Dst: FrodoKEMConstants::keygen_domain_separator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:333,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:334,1
    - Dst: Botan::FrodoMatrix::make_sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:336,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:337,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:337,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:337,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:337,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:338,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:338,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:338,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:338,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:339,1
    - Dst: Botan::FrodoMatrix::mul_add_as_plus_e
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:341,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:343,1
    - Dst: std::make_shared<FrodoKEM_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:345,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:345,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:345,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:345,1
    - Dst: std::make_shared<FrodoKEM_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:346,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:346,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ' rng'
    - mode
    argTypes:
    - RandomNumberGenerator
    - FrodoKEMMode
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: Botan::FrodoKEM_PrivateKey::FrodoKEM_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - FrodoKEMConstants::len_se_bytes
    - clear
    - Botan::CT::unpoison_all
    - output
    - FrodoKEMConstants::n
    - std::make_shared<FrodoKEM_PublicKeyInternal>
    - std::make_shared<FrodoKEM_PrivateKeyInternal>
    - sample_generator
    - FrodoKEMConstants::n_bar
    - update
    - std::tuple
    - FrodoKEMConstants::len_sec_bytes
    - FrodoKEMConstants::keygen_domain_separator
    - FrodoKEMConstants::SHAKE_XOF
    - Botan::CT::poison_all
    - Botan::FrodoMatrix::mul_add_as_plus_e
    - Botan::FrodoMatrix::make_sample_generator
    - FrodoKEMConstants::len_a_bytes
    - random_vec
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PrivateKey::FrodoKEM_PrivateKey(RandomNumberGenerator&
      rng, FrodoKEMMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:352,1
    - Dst: FrodoKEMConstants::len_private_key_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:352,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:353,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:357,1
    - Dst: FrodoKEMConstants::len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:357,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:358,1
    - Dst: FrodoKEMConstants::len_a_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:358,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:359,1
    - Dst: FrodoKEMConstants::d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:359,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:359,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:359,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:360,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:360,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:360,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:361,1
    - Dst: FrodoKEMConstants::len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:361,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:362,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:362,1
    - Dst: Botan::FrodoMatrix::unpack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:364,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:364,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:364,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:364,1
    - Dst: Botan::FrodoMatrix::deserialize
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:365,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:365,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:365,1
    - Dst: std::make_shared<FrodoKEM_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:367,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:367,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:367,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:367,1
    - Dst: std::make_shared<FrodoKEM_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:368,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:368,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:368,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:370,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sk
    - mode
    argTypes:
    - std::span<const uint8_t>
    - FrodoKEMMode
    constantsTouched: []
    func_position:
      end: 371
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 371
    functionName: Botan::FrodoKEM_PrivateKey::FrodoKEM_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - FrodoKEMConstants::n
    - Botan::FrodoMatrix::deserialize
    - BOTAN_ASSERT_NOMSG
    - hash
    - std::make_shared<FrodoKEM_PublicKeyInternal>
    - std::make_shared<FrodoKEM_PrivateKeyInternal>
    - Botan::FrodoMatrix::unpack
    - FrodoKEMConstants::n_bar
    - FrodoKEMConstants::len_private_key_bytes
    - FrodoKEMConstants::d
    - BufferSlicer::take
    - std::tuple
    - FrodoKEMConstants::len_sec_bytes
    - BufferSlicer::empty
    - BOTAN_STATE_CHECK
    - FrodoKEMConstants::len_a_bytes
    - BufferSlicer::copy
    - std::span<const uint8_t>::size
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PrivateKey::FrodoKEM_PrivateKey(std::span<const uint8_t>
      sk, FrodoKEMMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrodoKEMMode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:374,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: Botan::FrodoKEM_PrivateKey::FrodoKEM_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - FrodoKEMMode
    - oid
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PrivateKey::FrodoKEM_PrivateKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FrodoKEM_PublicKey>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: Botan::FrodoKEM_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<FrodoKEM_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> FrodoKEM_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FrodoKEM_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: Botan::FrodoKEM_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEM_PrivateKey::raw_private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> FrodoKEM_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:385,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:385,1
    - Dst: seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:386,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:387,1
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:387,1
    - Dst: s_trans
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:388,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: Botan::FrodoKEM_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 1
    functionsReached:
    - hash
    - seed_a
    - b
    - s_trans
    - concat
    - constants
    - s
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> FrodoKEM_PrivateKey::raw_private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:395,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:396,1
    - Dst: std::make_unique<Frodo_KEM_Decryptor>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:397,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:399,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 400
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 400
    functionName: Botan::FrodoKEM_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::string_view::empty
    - std::make_unique<Frodo_KEM_Decryptor>
    - Provider_Not_Found
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> FrodoKEM_PrivateKey::create_kem_decryption_op(RandomNumberGenerator&
      rng,\n                                                                                      std::string_view
      params,\n                                                                                      std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::FrodoMatrix::elements_at
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t elements_at(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' constants'
    argTypes:
    - FrodoKEMConstants
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: Botan::FrodoMatrix::packed_size
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t packed_size(const FrodoKEMConstants& constants) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FrodoMatrix::pack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' constants'
    argTypes:
    - FrodoKEMConstants
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Botan::FrodoMatrix::pack
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 1
    functionsReached:
    - Botan::FrodoMatrix::pack
    linkageType: ''
    returnType: FrodoPackedMatrix
    signature: FrodoPackedMatrix pack(const FrodoKEMConstants& constants) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Botan::FrodoMatrix::dimensions
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimensions
    signature: Dimensions dimensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: Botan::FrodoMatrix::element_count
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t element_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::FrodoMatrix::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Botan::FrodoMatrix::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:136,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:136,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' dimensions'
    - elements
    argTypes:
    - Dimensions
    - secure_vector<uint16_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: Botan::FrodoMatrix::FrodoMatrix
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::get<1>
    - std::get<0>
    linkageType: ''
    returnType: void
    signature: void FrodoMatrix(const Dimensions& dimensions, secure_vector<uint16_t>
      elements)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrodoKEMMode::is_available
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:19,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:20,1
    - Dst: FrodoKEMMode::to_string
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:20,1
    - Dst: FrodoKEMMode::is_ephemeral
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:23,1
    - Dst: FrodoKEMMode::mode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:27,1
    - Dst: FrodoKEMMode::is_static
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:36,1
    - Dst: FrodoKEMMode::is_ephemeral
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:39,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:42,1
    - Dst: FrodoKEMMode::is_static
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:58,1
    - Dst: FrodoKEMMode::is_ephemeral
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:61,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:64,1
    - Dst: FrodoKEMMode::is_static
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:80,1
    - Dst: FrodoKEMMode::is_ephemeral
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:83,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:86,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:95,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 1
    argNames:
    - mode
    argTypes:
    - FrodoKEMMode
    constantsTouched: []
    func_position:
      end: 96
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 96
    functionName: Botan::FrodoKEMConstants::FrodoKEMConstants
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp
    functionUses: 0
    functionsReached:
    - FrodoKEMMode::is_available
    - FrodoKEMMode::to_string
    - Not_Implemented
    - FrodoKEMMode::mode
    - FrodoKEMMode::is_ephemeral
    - BOTAN_ASSERT_UNREACHABLE
    - FrodoKEMMode::is_static
    - Botan::XOF::create_or_throw
    linkageType: ''
    returnType: void
    signature: void FrodoKEMConstants::FrodoKEMConstants(FrodoKEMMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: FrodoKEMConstants::~FrodoKEMConstants()
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FrodoKEMConstants::~FrodoKEMConstants()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '& FrodoKEMConstants::SHAKE_XOF() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: XOF
    signature: XOF & FrodoKEMConstants::SHAKE_XOF() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::mode
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Mode
    signature: Mode mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Botan::is_ephemeral
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_ephemeral() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Botan::is_static
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_static() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Botan::is_shake
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_shake() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: Botan::is_aes
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_aes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_aes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h:69,1
    - Dst: Botan::is_shake
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: Botan::is_available
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached:
    - Botan::is_aes
    - Botan::is_shake
    linkageType: ''
    returnType: bool
    signature: bool is_available() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FrodoKEMMode
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: operator==(const FrodoKEMMode& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const FrodoKEMMode& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FrodoKEMMode
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: operator!=(const FrodoKEMMode& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const FrodoKEMMode& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::FrodoKEM_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PublicKey(FrodoKEM_PublicKey&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~FrodoKEM_PublicKey() override
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FrodoKEM_PublicKey() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:46,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:46,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:46,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dimensions'
    argTypes:
    - FrodoMatrix::Dimensions
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::make_elements_vector
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - secure_vector<uint16_t>
    - std::get<1>
    - std::get<0>
    linkageType: ''
    returnType: secure_vector<uint16_t>
    signature: secure_vector<uint16_t> make_elements_vector(const FrodoMatrix::Dimensions&
      dimensions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:52,1
    - Dst: Botan::create_aes_row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:53,1
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:58,1
    - Dst: Botan::create_shake_row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:59,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' constants'
    - seed_a
    argTypes:
    - FrodoKEMConstants
    - StrongSpan<const FrodoSeedA>
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: Botan::make_row_generator
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_shake_row_generator
    - Botan::mode
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::create_aes_row_generator
    linkageType: ''
    returnType: std::function<void(std::span<uint8_t> out, uint16_t i)>
    signature: "std::function<void(std::span<uint8_t> out, uint16_t i)> make_row_generator(const
      FrodoKEMConstants& constants,\n                                                                           StrongSpan<const
      FrodoSeedA> seed_a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:73,1
    - Dst: StrongSpan<const FrodoSampleR>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:73,1
    - Dst: StrongSpan<const FrodoSampleR>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:74,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:76,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:77,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:77,1
    - Dst: load_le<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:79,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:79,1
    - Dst: StrongSpan<const FrodoSampleR>::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:79,1
    - Dst: Botan::CT::value_barrier
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:82,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:82,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:83,1
    - Dst: cdf_table_len
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:88,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:90,1
    - Dst: cdf_table_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:90,1
    - Dst: auto::select
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:95,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:98,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' constants'
    - ' dimensions'
    - r
    argTypes:
    - FrodoKEMConstants
    - Dimensions
    - StrongSpan<const FrodoSampleR>
    constantsTouched: []
    func_position:
      end: 99
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 99
    functionName: Botan::FrodoMatrix::sample
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - cdf_table_at
    - Botan::bigint_ct_is_lt
    - Botan::CT::Mask::expand_bit
    - load_le<uint16_t>
    - Botan::FrodoMatrix::FrodoMatrix
    - make_elements_vector
    - auto::data
    - Botan::CT::value_barrier
    - cdf_table_len
    - StrongSpan<const FrodoSampleR>::data
    - auto::select
    - static_cast<uint16_t>
    - auto::size
    - StrongSpan<const FrodoSampleR>::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: FrodoMatrix
    signature: "FrodoMatrix FrodoMatrix::sample(const FrodoKEMConstants& constants,\n
      \                               const Dimensions& dimensions,\n                                StrongSpan<const
      FrodoSampleR> r)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FrodoMatrix::sample
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:104,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:106,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:106,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' constants'
    - ' shake'
    argTypes:
    - FrodoKEMConstants
    - Botan::XOF
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: Botan::FrodoMatrix::make_sample_generator
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 3
    functionsReached:
    - Botan::FrodoMatrix::sample
    - std::get<1>
    - std::get<0>
    - output
    linkageType: ''
    returnType: std::function<FrodoMatrix(const FrodoMatrix::Dimensions& dimensions)>
    signature: "std::function<FrodoMatrix(const FrodoMatrix::Dimensions& dimensions)>
      FrodoMatrix::make_sample_generator(\n   const FrodoKEMConstants& constants,
      Botan::XOF& shake)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:111,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:111,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dims
    argTypes:
    - Dimensions
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: Botan::FrodoMatrix::FrodoMatrix
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 1
    functionsReached:
    - std::get<1>
    - make_elements_vector
    - std::get<0>
    linkageType: ''
    returnType: void
    signature: void FrodoMatrix::FrodoMatrix(Dimensions dims)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:117,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:117,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:117,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:117,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:117,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:118,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:118,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:118,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:118,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:123,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:123,1
    - Dst: make_row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:124,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:130,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:133,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:133,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:134,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:136,1
    - Dst: BufferStuffer
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:137,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:140,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:140,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:140,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:140,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:141,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:141,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:141,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:141,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:142,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:142,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:142,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:142,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:143,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:143,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:143,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:143,1
    - Dst: load_le<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:146,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:146,1
    - Dst: std::span::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:146,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:146,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:148,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:150,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:158,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:158,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:158,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:158,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:159,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:159,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:159,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:159,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:160,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:160,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:160,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:160,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:161,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:161,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:161,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:161,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:163,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:163,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:163,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:163,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:163,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:164,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:164,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:164,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:164,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:164,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:165,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:165,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:165,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:165,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:165,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:166,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:166,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:166,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:166,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:166,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:170,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:170,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - ' constants'
    - ' s'
    - ' e'
    - seed_a
    argTypes:
    - FrodoKEMConstants
    - FrodoMatrix
    - FrodoMatrix
    - StrongSpan<const FrodoSeedA>
    constantsTouched: []
    func_position:
      end: 171
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 171
    functionName: Botan::FrodoMatrix::mul_add_as_plus_e
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::FrodoMatrix::dimensions
    - std::get<1>
    - make_row_generator
    - Botan::FrodoMatrix::elements_at
    - Botan::FrodoMatrix::FrodoMatrix
    - make_elements_vector
    - std::span::data
    - reinterpret_cast<uint8_t*>
    - std::vector::data
    - std::vector::size
    - std::vector::at
    - std::get<0>
    - auto::at
    - auto::next
    - std::array::at
    - static_cast<uint16_t>
    - BufferStuffer
    - row_generator
    - n
    - load_le<uint16_t>
    - n_bar
    - BOTAN_ASSERT
    linkageType: ''
    returnType: FrodoMatrix
    signature: "FrodoMatrix FrodoMatrix::mul_add_as_plus_e(const FrodoKEMConstants&
      constants,\n                                           const FrodoMatrix& s,\n
      \                                          const FrodoMatrix& e,\n                                           StrongSpan<const
      FrodoSeedA> seed_a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:177,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:177,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:177,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:177,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:177,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:178,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:178,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:178,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:178,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: make_row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:184,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:190,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:192,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:192,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:193,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:196,1
    - Dst: BufferStuffer
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:197,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:200,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:200,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:200,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:200,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:201,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:201,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:201,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:201,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:202,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:202,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:202,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:202,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:203,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:203,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:203,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:203,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:204,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:204,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:204,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:204,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:205,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:205,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:205,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:205,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:206,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:206,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:206,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:207,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:207,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:207,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:207,1
    - Dst: load_le<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:210,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:210,1
    - Dst: std::span::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:210,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:210,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:212,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:216,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:216,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:218,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:219,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:219,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:221,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:221,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:221,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:223,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:223,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:228,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:228,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - ' constants'
    - ' s'
    - ' e'
    - seed_a
    argTypes:
    - FrodoKEMConstants
    - FrodoMatrix
    - FrodoMatrix
    - StrongSpan<const FrodoSeedA>
    constantsTouched: []
    func_position:
      end: 229
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 229
    functionName: Botan::FrodoMatrix::mul_add_sa_plus_e
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - Botan::FrodoMatrix::dimensions
    - std::get<1>
    - make_row_generator
    - Botan::FrodoMatrix::elements_at
    - Botan::FrodoMatrix::FrodoMatrix
    - std::span::data
    - reinterpret_cast<uint8_t*>
    - std::vector::data
    - std::vector::size
    - std::vector::at
    - std::get<0>
    - auto::at
    - auto::next
    - static_cast<uint16_t>
    - BufferStuffer
    - row_generator
    - n
    - load_le<uint16_t>
    - n_bar
    - BOTAN_ASSERT
    linkageType: ''
    returnType: FrodoMatrix
    signature: "FrodoMatrix FrodoMatrix::mul_add_sa_plus_e(const FrodoKEMConstants&
      constants,\n                                           const FrodoMatrix& s,\n
      \                                          const FrodoMatrix& e,\n                                           StrongSpan<const
      FrodoSeedA> seed_a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:235,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:235,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:235,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:235,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:235,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:236,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:236,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:236,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:236,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:243,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:243,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:245,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:246,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:247,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:247,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:247,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:247,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:248,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:249,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:249,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:249,1
    - Dst: static_cast<uint32_t /* to avoid integral promotion */>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:250,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:250,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:250,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:251,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:251,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:256,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - ' constants'
    - ' b'
    - ' s'
    - ' e'
    argTypes:
    - FrodoKEMConstants
    - FrodoMatrix
    - FrodoMatrix
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 257
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 257
    functionName: Botan::FrodoMatrix::mul_add_sb_plus_e
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - Botan::FrodoMatrix::elements_at
    - std::get<0>
    - auto::at
    - Botan::FrodoMatrix::FrodoMatrix
    - make_elements_vector
    - n_bar
    - BOTAN_ASSERT
    - Botan::FrodoMatrix::dimensions
    - std::get<1>
    - static_cast<uint16_t>
    - n
    - static_cast<uint32_t /* to avoid integral promotion */>
    linkageType: ''
    returnType: FrodoMatrix
    signature: "FrodoMatrix FrodoMatrix::mul_add_sb_plus_e(const FrodoKEMConstants&
      constants,\n                                           const FrodoMatrix& b,\n
      \                                          const FrodoMatrix& s,\n                                           const
      FrodoMatrix& e)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple<size_t, size_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:262,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:262,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:262,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:263,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:265,1
    - Dst: StrongSpan<const FrodoPlaintext>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:265,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:265,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:265,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:265,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:268,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:268,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:270,1
    - Dst: static_cast<uint64_t /* avoiding integral promotion */>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:271,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:271,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:274,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:274,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:274,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:274,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:275,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:279,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' constants'
    - in
    argTypes:
    - FrodoKEMConstants
    - StrongSpan<const FrodoPlaintext>
    constantsTouched: []
    func_position:
      end: 280
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 280
    functionName: Botan::FrodoMatrix::encode
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - StrongSpan<const FrodoPlaintext>::size
    - static_cast<uint64_t /* avoiding integral promotion */>
    - auto::at
    - d
    - b
    - Botan::FrodoMatrix::FrodoMatrix
    - make_elements_vector
    - n_bar
    - std::make_tuple<size_t, size_t>
    - static_cast<uint16_t>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix FrodoMatrix::encode(const FrodoKEMConstants& constants,
      StrongSpan<const FrodoPlaintext> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:284,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:284,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:284,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:285,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:285,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:285,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:285,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:286,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:286,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:286,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:288,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:288,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:290,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:290,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:291,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:291,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:291,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:294,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:294,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' constants'
    - ' a'
    - ' b'
    argTypes:
    - FrodoKEMConstants
    - FrodoMatrix
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 295
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 295
    functionName: Botan::FrodoMatrix::add
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - Botan::FrodoMatrix::elements_at
    - std::get<0>
    - auto::at
    - Botan::FrodoMatrix::FrodoMatrix
    - make_elements_vector
    - n_bar
    - Botan::FrodoMatrix::dimensions
    - std::get<1>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix FrodoMatrix::add(const FrodoKEMConstants& constants, const
      FrodoMatrix& a, const FrodoMatrix& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:299,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:299,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:299,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:300,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:300,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:300,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:300,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:301,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:301,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:301,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:303,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:303,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:305,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:305,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:306,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:306,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:306,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:309,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:309,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' constants'
    - ' a'
    - ' b'
    argTypes:
    - FrodoKEMConstants
    - FrodoMatrix
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 310
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 310
    functionName: Botan::FrodoMatrix::sub
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::FrodoMatrix::elements_at
    - std::get<0>
    - auto::at
    - Botan::FrodoMatrix::FrodoMatrix
    - make_elements_vector
    - n_bar
    - Botan::FrodoMatrix::dimensions
    - std::get<1>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix FrodoMatrix::sub(const FrodoKEMConstants& constants, const
      FrodoMatrix& a, const FrodoMatrix& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:313,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:313,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:313,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:315,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:315,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:315,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:316,1
    - Dst: m_elements::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:316,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: Botan::FrodoMatrix::constant_time_compare
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - m_elements::data
    - Botan::CT::is_equal
    - data
    - Botan::FrodoMatrix::dimensions
    - reinterpret_cast<const uint8_t*>
    - size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: CT::Mask<uint8_t>
    signature: CT::Mask<uint8_t> FrodoMatrix::constant_time_compare(const FrodoMatrix&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:321,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:321,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:322,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:324,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:325,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:326,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:326,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:328,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:335,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:340,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' constants'
    - ' b'
    - ' s'
    argTypes:
    - FrodoKEMConstants
    - FrodoMatrix
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 341
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 341
    functionName: Botan::FrodoMatrix::mul_bs
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - auto::at
    - Botan::FrodoMatrix::FrodoMatrix
    - make_elements_vector
    - n_bar
    - static_cast<uint16_t>
    - n
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix FrodoMatrix::mul_bs(const FrodoKEMConstants& constants,
      const FrodoMatrix& b, const FrodoMatrix& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:345,1
    - Dst: StrongSpan<FrodoPackedMatrix>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:345,1
    - Dst: Botan::FrodoMatrix::element_count
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:352,1
    - Dst: Botan::FrodoMatrix::element_count
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:352,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:368,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:369,1
    - Dst: Botan::FrodoMatrix::element_count
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:374,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:375,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:376,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - ' constants'
    - out
    argTypes:
    - FrodoKEMConstants
    - StrongSpan<FrodoPackedMatrix>
    constantsTouched: []
    func_position:
      end: 387
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 387
    functionName: Botan::FrodoMatrix::pack
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 1
    functionsReached:
    - at
    - static_cast<uint8_t>
    - d
    - Botan::FrodoMatrix::element_count
    - StrongSpan<FrodoPackedMatrix>::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void FrodoMatrix::pack(const FrodoKEMConstants& constants, StrongSpan<FrodoPackedMatrix>
      out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:390,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:392,1
    - Dst: store_le
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:393,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:393,1
    - Dst: FrodoSerializedMatrix::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 397
    functionName: Botan::FrodoMatrix::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - at
    - store_le
    - FrodoSerializedMatrix::data
    - size
    linkageType: ''
    returnType: FrodoSerializedMatrix
    signature: FrodoSerializedMatrix FrodoMatrix::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:404,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:411,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:411,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:411,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:411,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:412,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:412,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:413,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:413,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:416,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' constants'
    argTypes:
    - FrodoKEMConstants
    constantsTouched: []
    func_position:
      end: 422
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 422
    functionName: Botan::FrodoMatrix::decode
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - static_cast<uint64_t>
    - at
    - b
    - d
    linkageType: ''
    returnType: FrodoPlaintext
    signature: FrodoPlaintext FrodoMatrix::decode(const FrodoKEMConstants& constants)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:431,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:431,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:433,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:458,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:458,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:458,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:461,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:478,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:478,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - ' constants'
    - ' dimensions'
    - packed_bytes
    argTypes:
    - FrodoKEMConstants
    - Dimensions
    - StrongSpan<const FrodoPackedMatrix>
    constantsTouched: []
    func_position:
      end: 479
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 479
    functionName: Botan::FrodoMatrix::unpack
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - auto::at
    - ceil_tobytes
    - Botan::FrodoMatrix::FrodoMatrix
    - make_elements_vector
    - static_cast<uint8_t>
    - static_cast<uint16_t>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: FrodoMatrix
    signature: "FrodoMatrix FrodoMatrix::unpack(const FrodoKEMConstants& constants,\n
      \                               const Dimensions& dimensions,\n                                StrongSpan<const
      FrodoPackedMatrix> packed_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:482,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:483,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:483,1
    - Dst: StrongSpan<const FrodoSerializedMatrix>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:483,1
    - Dst: load_le<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:484,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:484,1
    - Dst: StrongSpan<const FrodoSerializedMatrix>::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:484,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:484,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:485,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' dimensions'
    - bytes
    argTypes:
    - Dimensions
    - StrongSpan<const FrodoSerializedMatrix>
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: Botan::FrodoMatrix::deserialize
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - load_le<uint16_t>
    - Botan::FrodoMatrix::FrodoMatrix
    - make_elements_vector
    - StrongSpan<const FrodoSerializedMatrix>::size
    - auto::data
    - StrongSpan<const FrodoSerializedMatrix>::data
    - auto::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix FrodoMatrix::deserialize(const Dimensions& dimensions,
      StrongSpan<const FrodoSerializedMatrix> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' constants'
    argTypes:
    - FrodoKEMConstants
    constantsTouched: []
    func_position:
      end: 496
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 496
    functionName: Botan::FrodoMatrix::reduce
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void FrodoMatrix::reduce(const FrodoKEMConstants& constants)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::Blinder::Blinder
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Blinder(const Blinder&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(const Blinder&)'
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Blinder
    signature: Blinder & operator=(const Blinder&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '& rng() const'
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RandomNumberGenerator
    signature: RandomNumberGenerator & rng() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:18,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:19,1
    - Dst: modulus_bits
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:20,1
    - Dst: Botan::Blinder::blinding_nonce
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:24,1
    - Dst: m_fwd_fn
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:25,1
    - Dst: m_inv_fn
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' reducer'
    - ' rng'
    - fwd
    - inv
    argTypes:
    - Barrett_Reduction
    - RandomNumberGenerator
    - std::function<BigInt(const BigInt&)>
    - std::function<BigInt(const BigInt&)>
    constantsTouched: []
    func_position:
      end: 27
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 27
    functionName: Botan::Blinder::Blinder
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - m_inv_fn
    - modulus_bits
    - m_fwd_fn
    - Botan::Blinder::blinding_nonce
    linkageType: ''
    returnType: void
    signature: "void Blinder::Blinder(const Barrett_Reduction& reducer,\n                 RandomNumberGenerator&
      rng,\n                 std::function<BigInt(const BigInt&)> fwd,\n                 std::function<BigInt(const
      BigInt&)> inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::Blinder::blinding_nonce
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.cpp
    functionUses: 1
    functionsReached:
    - BigInt
    linkageType: ''
    returnType: BigInt
    signature: BigInt Blinder::blinding_nonce() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Blinder::blinding_nonce
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:37,1
    - Dst: m_fwd_fn
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:38,1
    - Dst: m_inv_fn
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:39,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:42,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:43,1
    - Dst: multiply
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: Botan::Blinder::blind
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.cpp
    functionUses: 0
    functionsReached:
    - m_inv_fn
    - m_fwd_fn
    - Botan::Blinder::blinding_nonce
    - square
    - multiply
    linkageType: ''
    returnType: BigInt
    signature: BigInt Blinder::blind(const BigInt& i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: multiply
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::Blinder::unblind
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.cpp
    functionUses: 0
    functionsReached:
    - multiply
    linkageType: ''
    returnType: BigInt
    signature: BigInt Blinder::unblind(const BigInt& i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RFC6979_Nonce_Generator
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: Botan::RFC6979_Nonce_Generator
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.h
    functionUses: 1
    functionsReached:
    - Botan::RFC6979_Nonce_Generator
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API RFC6979_Nonce_Generator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.h:53,1
    - Dst: RFC6979_Nonce_Generator::nonce_for
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x'
    - ' q'
    - ' h'
    - hash
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - std::string_view
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan::generate_rfc6979_nonce
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.h
    functionUses: 1
    functionsReached:
    - bits
    - RFC6979_Nonce_Generator::nonce_for
    linkageType: ''
    returnType: BigInt
    signature: BigInt generate_rfc6979_nonce(const BigInt& x, const BigInt& q, const
      BigInt& h, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: RFC6979_Nonce_Generator::~RFC6979_Nonce_Generator()
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RFC6979_Nonce_Generator::~RFC6979_Nonce_Generator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:21,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:21,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:21,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:23,1
    - Dst: first
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hash
    - order_bits
    - ' x'
    argTypes:
    - std::string_view
    - size_t
    - BigInt
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: Botan::RFC6979_Nonce_Generator::RFC6979_Nonce_Generator
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp
    functionUses: 0
    functionsReached:
    - serialize_to
    - Botan::MessageAuthenticationCode::create_or_throw
    - std::make_unique<HMAC_DRBG>
    - fmt
    - first
    linkageType: ''
    returnType: void
    signature: void RFC6979_Nonce_Generator::RFC6979_Nonce_Generator(std::string_view
      hash, size_t order_bits, const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:27,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:27,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:29,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:29,1
    - Dst: initialize_with
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:31,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:34,1
    - Dst: randomize
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:39,1
    - Dst: BigInt::_assign_from_bytes
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' order'
    - ' m'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: Botan::RFC6979_Nonce_Generator::nonce_for
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp
    functionUses: 1
    functionsReached:
    - BigInt::_assign_from_bytes
    - serialize_to
    - randomize
    - BOTAN_DEBUG_ASSERT
    - initialize_with
    - bits
    - last
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: BigInt
    signature: BigInt RFC6979_Nonce_Generator::nonce_for(const BigInt& order, const
      BigInt& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:53,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:53,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:53,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:55,1
    - Dst: first
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hash
    - order_bits
    - ' scalar'
    argTypes:
    - std::string_view
    - size_t
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: Botan::RFC6979_Nonce_Generator::RFC6979_Nonce_Generator
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp
    functionUses: 0
    functionsReached:
    - serialize_to
    - Botan::MessageAuthenticationCode::create_or_throw
    - std::make_unique<HMAC_DRBG>
    - fmt
    - first
    linkageType: ''
    returnType: void
    signature: void RFC6979_Nonce_Generator::RFC6979_Nonce_Generator(std::string_view
      hash, size_t order_bits, const EC_Scalar& scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_to
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:59,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:59,1
    - Dst: initialize_with
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:61,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:64,1
    - Dst: randomize
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:67,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' group'
    - ' m'
    argTypes:
    - EC_Group
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: Botan::RFC6979_Nonce_Generator::nonce_for
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp
    functionUses: 1
    functionsReached:
    - serialize_to
    - randomize
    - initialize_with
    - Botan::EC_Scalar::deserialize
    - last
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar RFC6979_Nonce_Generator::nonce_for(const EC_Group& group,
      const EC_Scalar& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::public_value
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - Botan::public_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::public_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - Botan::public_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> public_key() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::generate_another
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - Botan::generate_another
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> generate_another(RandomNumberGenerator&
      rng) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECIES_ECDH_KA_Operation
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:66,1
    - Dst: Botan::PK_Ops::Key_Agreement_with_KDF
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:67,1
    - Dst: m_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:67,1
    - Dst: m_rng
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:67,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:69,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:72,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:73,1
    - Dst: auto::mul
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:74,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:74,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 83
    functionName: Botan::PK_Ops::Key_Agreement_with_KDF
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - _private_key
    - domain
    - m_key
    - Botan::PK_Ops::Key_Agreement_with_KDF
    - auto::mul
    - Botan::EC_AffinePoint::deserialize
    - m_rng
    - Decoding_Error
    - ECIES_ECDH_KA_Operation
    linkageType: ''
    returnType: BOTAN_DIAGNOSTIC_POP
    signature: BOTAN_DIAGNOSTIC_POP PK_Ops::Key_Agreement_with_KDF
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECIES_ECDH_KA_Operation>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: Botan::ECIES_PrivateKey::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECIES_ECDH_KA_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> ECIES_PrivateKey::create_key_agreement_op(RandomNumberGenerator&
      rng,\n                                                                                 std::string_view
      /*params*/,\n                                                                                 std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ECDH_PrivateKey*>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:106,1
    - Dst: Botan::cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:109,1
    - Dst: Botan::old_cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:109,1
    - Dst: Botan::check_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:109,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:114,1
    - Dst: Botan::cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:117,1
    - Dst: PK_Key_Agreement
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:119,1
    - Dst: ECIES_PrivateKey
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:119,1
    - Dst: PK_Key_Agreement
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - ' private_key'
    - ' ecies_params'
    - for_encryption
    - ' rng'
    argTypes:
    - PK_Key_Agreement_Key
    - ECIES_KA_Params
    - bool
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: Botan::create_key_agreement
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::old_cofactor_mode
    - ECIES_PrivateKey
    - PK_Key_Agreement
    - Invalid_Argument
    - dynamic_cast<const ECDH_PrivateKey*>
    - Botan::check_mode
    - Botan::cofactor_mode
    linkageType: ''
    returnType: PK_Key_Agreement
    signature: "PK_Key_Agreement create_key_agreement(const PK_Key_Agreement_Key&
      private_key,\n                                      const ECIES_KA_Params& ecies_params,\n
      \                                     bool for_encryption,\n                                      RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_key_agreement
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' private_key'
    - ' ecies_params'
    - for_encryption
    - ' rng'
    argTypes:
    - PK_Key_Agreement_Key
    - ECIES_KA_Params
    - bool
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: ECIES_KA_Operation::ECIES_KA_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - create_key_agreement
    linkageType: ''
    returnType: void
    signature: "void ECIES_KA_Operation::ECIES_KA_Operation(const PK_Key_Agreement_Key&
      private_key,\n                                       const ECIES_KA_Params&
      ecies_params,\n                                       bool for_encryption,\n
      \                                      RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:138,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:139,1
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:142,1
    - Dst: kdf
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:142,1
    - Dst: old_cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:148,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:148,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:149,1
    - Dst: single_hash_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:155,1
    - Dst: EC_Point::encode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:160,1
    - Dst: point_format
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:160,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:164,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:164,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:164,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:164,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:165,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:165,1
    - Dst: SymmetricKey::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:165,1
    - Dst: SymmetricKey::end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:165,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:168,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:168,1
    - Dst: secret_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' eph_public_key_bin'
    - ' other_public_key_point'
    argTypes:
    - std::vector<uint8_t>
    - EC_Point
    constantsTouched: []
    func_position:
      end: 169
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 169
    functionName: ECIES_KA_Operation::derive_secret
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - old_cofactor_mode
    - auto::derive_key
    - EC_Point::encode
    - secret_length
    - SymmetricKey
    - secure_vector::end
    - std::vector::data
    - std::vector::size
    - SymmetricKey::end
    - is_zero
    - derive_key
    - kdf
    - secure_vector::insert
    - group
    - SymmetricKey::begin
    - point_format
    - single_hash_mode
    - Invalid_Argument
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey ECIES_KA_Operation::derive_secret(const std::vector<uint8_t>&
      eph_public_key_bin,\n                                               const EC_Point&
      other_public_key_point) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:177,1
    - Dst: is_identity
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:177,1
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:179,1
    - Dst: kdf
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:179,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:183,1
    - Dst: old_cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:187,1
    - Dst: has_cofactor
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:187,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:189,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:189,1
    - Dst: auto::mul
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:190,1
    - Dst: single_hash_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:196,1
    - Dst: secure_vector::assign
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:197,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:197,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:197,1
    - Dst: auto::serialize
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:201,1
    - Dst: point_format
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:201,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:205,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:205,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:205,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:205,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:206,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:206,1
    - Dst: SymmetricKey::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:206,1
    - Dst: SymmetricKey::end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:206,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:209,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:209,1
    - Dst: secret_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - eph_public_key_bin
    - ' other_public_key_point'
    argTypes:
    - std::span<const uint8_t>
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 210
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 210
    functionName: ECIES_KA_Operation::derive_secret
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - secure_vector::assign
    - auto::mul
    - old_cofactor_mode
    - Botan::EC_Scalar::from_bigint
    - is_identity
    - auto::derive_key
    - std::span<const uint8_t>::end
    - secret_length
    - SymmetricKey
    - BOTAN_ARG_CHECK
    - secure_vector::end
    - std::vector::data
    - std::vector::size
    - std::span<const uint8_t>::begin
    - SymmetricKey::end
    - derive_key
    - kdf
    - secure_vector::insert
    - auto::serialize
    - group
    - get_cofactor
    - SymmetricKey::begin
    - point_format
    - has_cofactor
    - single_hash_mode
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey ECIES_KA_Operation::derive_secret(std::span<const uint8_t>
      eph_public_key_bin,\n                                               const EC_AffinePoint&
      other_public_key_point) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' group'
    - kdf
    - length
    - point_format
    - flags
    argTypes:
    - EC_Group
    - std::string_view
    - size_t
    - EC_Point_Format
    - ECIES_Flags
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: ECIES_KA_Params::ECIES_KA_Params
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ECIES_KA_Params::ECIES_KA_Params(\n   const EC_Group& group,
      std::string_view kdf, size_t length, EC_Point_Format point_format, ECIES_Flags
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' group'
    - kdf
    - length
    - point_format
    - single_hash_mode
    argTypes:
    - EC_Group
    - std::string_view
    - size_t
    - EC_Point_Format
    - bool
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: ECIES_KA_Params::ECIES_KA_Params
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ECIES_KA_Params::ECIES_KA_Params(\n   const EC_Group& group,
      std::string_view kdf, size_t length, EC_Point_Format point_format, bool single_hash_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:248,1
    - Dst: old_cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:248,1
    - Dst: check_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:248,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 8
    argNames:
    - ' group'
    - kdf
    - dem_algo_spec
    - dem_key_len
    - mac_spec
    - mac_key_len
    - point_format
    - flags
    argTypes:
    - EC_Group
    - std::string_view
    - std::string_view
    - size_t
    - std::string_view
    - size_t
    - EC_Point_Format
    - ECIES_Flags
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: ECIES_System_Params::ECIES_System_Params
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - cofactor_mode
    - old_cofactor_mode
    - check_mode
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: "void ECIES_System_Params::ECIES_System_Params(const EC_Group& group,\n
      \                                        std::string_view kdf,\n                                         std::string_view
      dem_algo_spec,\n                                         size_t dem_key_len,\n
      \                                        std::string_view mac_spec,\n                                         size_t
      mac_key_len,\n                                         EC_Point_Format point_format,\n
      \                                        ECIES_Flags flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - ' group'
    - kdf
    - dem_algo_spec
    - dem_key_len
    - mac_spec
    - mac_key_len
    - point_format
    - single_hash_mode
    argTypes:
    - EC_Group
    - std::string_view
    - std::string_view
    - size_t
    - std::string_view
    - size_t
    - EC_Point_Format
    - bool
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: ECIES_System_Params::ECIES_System_Params
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ECIES_System_Params::ECIES_System_Params(const EC_Group& group,\n
      \                                        std::string_view kdf,\n                                         std::string_view
      dem_algo_spec,\n                                         size_t dem_key_len,\n
      \                                        std::string_view mac_spec,\n                                         size_t
      mac_key_len,\n                                         EC_Point_Format point_format,\n
      \                                        bool single_hash_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: ECIES_System_Params::create_mac
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> ECIES_System_Params::create_mac()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create_or_throw
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - direction
    argTypes:
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: ECIES_System_Params::create_cipher
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::Cipher_Mode::create_or_throw
    linkageType: ''
    returnType: std::unique_ptr<Cipher_Mode>
    signature: std::unique_ptr<Cipher_Mode> ECIES_System_Params::create_cipher(Cipher_Dir
      direction) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_value
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:283,1
    - Dst: point_format
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:287,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:291,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:291,1
    - Dst: point_format
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:291,1
    - Dst: create_mac
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:293,1
    - Dst: create_cipher
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' private_key'
    - ' ecies_params'
    - ' rng'
    argTypes:
    - PK_Key_Agreement_Key
    - ECIES_System_Params
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: ECIES_Encryptor::ECIES_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - public_value
    - point_format
    - create_cipher
    - create_mac
    - EC_AffinePoint
    - group
    linkageType: ''
    returnType: void
    signature: "void ECIES_Encryptor::ECIES_Encryptor(const PK_Key_Agreement_Key&
      private_key,\n                                 const ECIES_System_Params& ecies_params,\n
      \                                RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECDH_PrivateKey
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:301,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - ' ecies_params'
    argTypes:
    - RandomNumberGenerator
    - ECIES_System_Params
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: ECIES_Encryptor::ECIES_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - ECDH_PrivateKey
    - group
    linkageType: ''
    returnType: void
    signature: void ECIES_Encryptor::ECIES_Encryptor(RandomNumberGenerator& rng, const
      ECIES_System_Params& ecies_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: ECIES_Encryptor::maximum_input_size
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ECIES_Encryptor::maximum_input_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:312,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:312,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: ECIES_Encryptor::ciphertext_length
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t ECIES_Encryptor::ciphertext_length(size_t ptext_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:321,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:322,1
    - Dst: derive_secret
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:325,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:325,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:329,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:329,1
    - Dst: SymmetricKey::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:329,1
    - Dst: dem_keylen
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:329,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:330,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:330,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:330,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:331,1
    - Dst: name
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:331,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:334,1
    - Dst: bits_of
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:334,1
    - Dst: finish
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:337,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:340,1
    - Dst: SymmetricKey::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:340,1
    - Dst: dem_keylen
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:340,1
    - Dst: mac_keylen
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:340,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:341,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:342,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:343,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:345,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 349
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 349
    functionName: ECIES_Encryptor::enc
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - empty
    - name
    - concat
    - derive_secret
    - final
    - finish
    - start
    - valid_nonce_length
    - Invalid_State
    - SymmetricKey
    - mac_keylen
    - has_value
    - set_key
    - bits_of
    - dem_keylen
    - update
    - SymmetricKey::begin
    - Invalid_Argument
    - size
    - value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ECIES_Encryptor::enc(const uint8_t data[],\n
      \                                         size_t length,\n                                          RandomNumberGenerator&
      /*unused*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_mac
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:368,1
    - Dst: create_cipher
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' key'
    - ' ecies_params'
    - ' rng'
    argTypes:
    - PK_Key_Agreement_Key
    - ECIES_System_Params
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 370
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 370
    functionName: ECIES_Decryptor::ECIES_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - create_mac
    - create_cipher
    linkageType: ''
    returnType: void
    signature: "void ECIES_Decryptor::ECIES_Decryptor(const PK_Key_Agreement_Key&
      key,\n                                 const ECIES_System_Params& ecies_params,\n
      \                                RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - format
    argTypes:
    - EC_Group
    - EC_Point_Format
    constantsTouched: []
    func_position:
      end: 381
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 381
    functionName: compute_point_size
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t compute_point_size(const EC_Group& group, EC_Point_Format format)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 394
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 394
    functionName: ECIES_Decryptor::plaintext_length
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - output_length
    linkageType: ''
    returnType: size_t
    signature: size_t ECIES_Decryptor::plaintext_length(size_t ctext_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:402,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:403,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:408,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:409,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:412,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:412,1
    - Dst: derive_secret
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:419,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:422,1
    - Dst: SymmetricKey::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:422,1
    - Dst: dem_keylen
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:422,1
    - Dst: mac_keylen
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:422,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:423,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:424,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:425,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:427,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:428,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:428,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:428,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:428,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:433,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:433,1
    - Dst: SymmetricKey::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:433,1
    - Dst: dem_keylen
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:433,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:434,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:434,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:434,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:435,1
    - Dst: name
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:435,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:437,1
    - Dst: bits_of
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:437,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:442,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:442,1
    - Dst: finish
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:443,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:449,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - ' valid_mask'
    - in
    - in_len
    argTypes:
    - uint8_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 450
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 450
    functionName: ECIES_Decryptor::do_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - empty
    - name
    - Decoding_Error
    - derive_secret
    - final
    - Botan::CT::is_equal
    - start
    - finish
    - secure_vector<uint8_t>
    - valid_nonce_length
    - mac_keylen
    - SymmetricKey
    - output_length
    - std::vector::begin
    - std::vector::data
    - std::vector::size
    - set_key
    - bits_of
    - dem_keylen
    - update
    - secure_vector::data
    - group
    - std::vector::end
    - SymmetricKey::begin
    - Invalid_Argument
    - size
    - EC_AffinePoint
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ECIES_Decryptor::do_decrypt(uint8_t& valid_mask,
      const uint8_t in[], size_t in_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ECIES_Flags>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:67,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:67,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ECIES_Flags
    - ECIES_Flags
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: operator|(ECIES_Flags a, ECIES_Flags b)
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - static_cast<ECIES_Flags>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: ECIES_Flags
    signature: ECIES_Flags operator|(ECIES_Flags a, ECIES_Flags b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ECIES_Flags>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ECIES_Flags
    - ECIES_Flags
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: operator&(ECIES_Flags a, ECIES_Flags b)
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - static_cast<ECIES_Flags>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: ECIES_Flags
    signature: ECIES_Flags operator&(ECIES_Flags a, ECIES_Flags b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan::ECIES_KA_Params
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECIES_KA_Params(const ECIES_KA_Params&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~ECIES_KA_Params()
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ECIES_KA_Params()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Botan::group
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group & group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::secret_length
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t secret_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan::single_hash_mode
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool single_hash_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan::cofactor_mode
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cofactor_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Botan::old_cofactor_mode
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool old_cofactor_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::check_mode
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Botan::point_format
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point_Format
    signature: EC_Point_Format point_format() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Botan::kdf
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & kdf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::kdf
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: Botan::kdf_spec
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - Botan::kdf
    linkageType: ''
    returnType: std::string
    signature: std::string & kdf_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: Botan::domain
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 3
    functionsReached:
    - Botan::group
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group & domain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::point_format
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Botan::compression_type
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - Botan::point_format
    linkageType: ''
    returnType: EC_Point_Format
    signature: EC_Point_Format compression_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECIES_System_Params
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:163,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 219
    functionName: ECIES_KA_Params
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - ECIES_System_Params
    - BOTAN_DEPRECATED
    linkageType: ''
    returnType: ECIES_System_Params
    signature: ECIES_System_Params ECIES_KA_Params
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECIES_Encryptor
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:271,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:285,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:285,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:296,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:296,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:296,1
    - Dst: ECIES_KA_Operation::ECIES_KA_Operation
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:305,1
    - Dst: ECIES_System_Params::ECIES_System_Params
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 313
    functionName: PK_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - ECIES_Encryptor
    - ECIES_System_Params::ECIES_System_Params
    - end
    - ECIES_KA_Operation::ECIES_KA_Operation
    - EC_AffinePoint
    - begin
    - assign
    - group
    linkageType: ''
    returnType: ECIES_Encryptor
    signature: ECIES_Encryptor PK_Encryptor
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECIES_Decryptor
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:325,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:333,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:333,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:333,1
    - Dst: ECIES_KA_Operation::ECIES_KA_Operation
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:340,1
    - Dst: ECIES_System_Params::ECIES_System_Params
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 346
    functionName: PK_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - ECIES_System_Params::ECIES_System_Params
    - std::vector<uint8_t>
    - end
    - ECIES_KA_Operation::ECIES_KA_Operation
    - ECIES_Decryptor
    - begin
    linkageType: ''
    returnType: ECIES_Decryptor
    signature: ECIES_Decryptor PK_Decryptor
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:25,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:27,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:28,1
    - Dst: H
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:30,1
    - Dst: indcpa_encrypt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:32,1
    - Dst: precomputed_matrix_At
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:32,1
    - Dst: KDF
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:34,1
    - Dst: H
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:34,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    argTypes:
    - StrongSpan<KyberCompressedCiphertext>
    - StrongSpan<KyberSharedSecret>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 36
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 36
    functionName: Botan::Kyber_KEM_Encryptor::encapsulate
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp
    functionUses: 0
    functionsReached:
    - KDF
    - mode
    - Botan::CT::unpoison_all
    - Botan::CT::poison
    - indcpa_encrypt
    - random_vec
    - H
    - precomputed_matrix_At
    linkageType: ''
    returnType: void
    signature: "void Kyber_KEM_Encryptor::encapsulate(StrongSpan<KyberCompressedCiphertext>
      out_encapsulated_key,\n                                      StrongSpan<KyberSharedSecret>
      out_shared_key,\n                                      RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:43,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:45,1
    - Dst: H_public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:47,1
    - Dst: z
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:48,1
    - Dst: indcpa_decrypt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:50,1
    - Dst: indcpa_encrypt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:53,1
    - Dst: precomputed_matrix_At
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:53,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:56,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:56,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:56,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:57,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:57,1
    - Dst: KyberSharedSecret::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:57,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:58,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>::data
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:58,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:58,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:58,1
    - Dst: Botan::CT::conditional_copy_mem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:59,1
    - Dst: KyberSharedSecret::data
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:59,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:59,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:59,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:59,1
    - Dst: KDF
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:61,1
    - Dst: H
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:61,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out_shared_key
    - encapsulated_key
    argTypes:
    - StrongSpan<KyberSharedSecret>
    - StrongSpan<const KyberCompressedCiphertext>
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: Botan::Kyber_KEM_Decryptor::decapsulate
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp
    functionUses: 0
    functionsReached:
    - KDF
    - mode
    - Botan::CT::scoped_poison
    - StrongSpan<const KyberCompressedCiphertext>::size
    - Botan::CT::unpoison
    - KyberSharedSecret::size
    - BOTAN_ASSERT_NOMSG
    - H_public_key_bits_raw
    - Botan::CT::is_equal
    - indcpa_decrypt
    - Botan::CT::conditional_copy_mem
    - data
    - StrongSpan<const KyberCompressedCiphertext>::data
    - auto::size
    - precomputed_matrix_At
    - KyberSharedSecret::data
    - auto::data
    - indcpa_encrypt
    - H
    - z
    - size
    linkageType: ''
    returnType: void
    signature: "void Kyber_KEM_Decryptor::decapsulate(StrongSpan<KyberSharedSecret>
      out_shared_key,\n                                      StrongSpan<const KyberCompressedCiphertext>
      encapsulated_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - kdf
    argTypes:
    - std::shared_ptr<const Kyber_PublicKeyInternal>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: Botan::Kyber_KEM_Encryptor::Kyber_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Kyber_KEM_Encryptor(std::shared_ptr<const Kyber_PublicKeyInternal>
      key, std::string_view kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& mode() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h
    functionUses: 0
    functionsReached:
    - Botan::mode
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & mode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h:42,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - private_key
    - public_key
    - kdf
    argTypes:
    - std::shared_ptr<const Kyber_PrivateKeyInternal>
    - std::shared_ptr<const Kyber_PublicKeyInternal>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: Botan::Kyber_KEM_Decryptor::Kyber_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Kyber_KEM_Decryptor(std::shared_ptr<const Kyber_PrivateKeyInternal>
      private_key,\n                          std::shared_ptr<const Kyber_PublicKeyInternal>
      public_key,\n                          std::string_view kdf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& mode() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h
    functionUses: 0
    functionsReached:
    - Botan::mode
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & mode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:26,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:27,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:28,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:29,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: Botan::Kyber_Modern_Symmetric_Primitives::Kyber_Modern_Symmetric_Primitives
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached:
    - Botan::XOF::create_or_throw
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Kyber_Modern_Symmetric_Primitives()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::Kyber_Modern_Symmetric_Primitives::seed_expansion_domain_separator
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, 1>>
    signature: std::optional<std::array<uint8_t, 1>> seed_expansion_domain_separator(const
      KyberConstants&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& get_G() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_G() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& get_H() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_H() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& get_J() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_J() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& get_KDF() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_KDF() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:46,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:47,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:48,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint8_t
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: '& get_PRF(std::span<const uint8_t> seed, const uint8_t nonce) const
      override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached:
    - store_be
    - clear
    - update
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & get_PRF(std::span<const uint8_t> seed, const uint8_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:53,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:54,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:55,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:55,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:55,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:55,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seed
    - matrix_position
    argTypes:
    - std::span<const uint8_t>
    - std::tuple<uint8_t, uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: '& get_XOF(std::span<const uint8_t> seed, std::tuple<uint8_t, uint8_t>
      matrix_position) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached:
    - clear
    - update
    - std::get<0>
    - store_be
    - make_uint16
    - std::get<1>
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & get_XOF(std::span<const uint8_t> seed, std::tuple<uint8_t,
      uint8_t> matrix_position) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:26,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:27,1
    - Dst: std::make_unique<AES_256_CTR_XOF>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::Kyber_90s_Symmetric_Primitives::Kyber_90s_Symmetric_Primitives
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached:
    - std::make_unique<AES_256_CTR_XOF>
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Kyber_90s_Symmetric_Primitives()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::Kyber_90s_Symmetric_Primitives::seed_expansion_domain_separator
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, 1>>
    signature: std::optional<std::array<uint8_t, 1>> seed_expansion_domain_separator(const
      KyberConstants&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& get_G() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_G() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& get_H() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_H() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& get_J() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_J() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& get_KDF() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_KDF() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:44,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint8_t
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: '& get_PRF(std::span<const uint8_t> seed, const uint8_t nonce) const
      override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached:
    - clear
    - start
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & get_PRF(std::span<const uint8_t> seed, const uint8_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:51,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:52,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:52,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - seed
    - mpos
    argTypes:
    - std::span<const uint8_t>
    - std::tuple<uint8_t, uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: '& get_XOF(std::span<const uint8_t> seed, std::tuple<uint8_t, uint8_t>
      mpos) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached:
    - clear
    - start
    - std::get<1>
    - std::get<0>
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & get_XOF(std::span<const uint8_t> seed, std::tuple<uint8_t,
      uint8_t> mpos) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - kdf
    argTypes:
    - std::shared_ptr<const Kyber_PublicKeyInternal>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: Botan::ML_KEM_Encryptor::ML_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ML_KEM_Encryptor(std::shared_ptr<const Kyber_PublicKeyInternal>
      key, std::string_view kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& mode() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - Botan::mode
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & mode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:46,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - private_key
    - public_key
    - kdf
    argTypes:
    - std::shared_ptr<const Kyber_PrivateKeyInternal>
    - std::shared_ptr<const Kyber_PublicKeyInternal>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: Botan::ML_KEM_Decryptor::ML_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ML_KEM_Decryptor(std::shared_ptr<const Kyber_PrivateKeyInternal>
      private_key,\n                       std::shared_ptr<const Kyber_PublicKeyInternal>
      public_key,\n                       std::string_view kdf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& mode() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - Botan::mode
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & mode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:63,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:64,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:65,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:66,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: Botan::ML_KEM_Symmetric_Primitives::ML_KEM_Symmetric_Primitives
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - Botan::XOF::create_or_throw
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void ML_KEM_Symmetric_Primitives()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: Botan::ML_KEM_Symmetric_Primitives::seed_expansion_domain_separator
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - k
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, 1>>
    signature: std::optional<std::array<uint8_t, 1>> seed_expansion_domain_separator(const
      KyberConstants& mode) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& get_G() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_G() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '& get_H() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_H() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& get_J() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_J() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& get_KDF() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_KDF() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:87,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:88,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:89,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint8_t
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: '& get_PRF(std::span<const uint8_t> seed, const uint8_t nonce) const
      override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - store_be
    - clear
    - update
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & get_PRF(std::span<const uint8_t> seed, const uint8_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:94,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:95,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:96,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:96,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:96,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:96,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seed
    - matrix_position
    argTypes:
    - std::span<const uint8_t>
    - std::tuple<uint8_t, uint8_t>
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: '& get_XOF(std::span<const uint8_t> seed, std::tuple<uint8_t, uint8_t>
      matrix_position) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - clear
    - update
    - std::get<0>
    - store_be
    - make_uint16
    - std::get<1>
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & get_XOF(std::span<const uint8_t> seed, std::tuple<uint8_t,
      uint8_t> matrix_position) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:28,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:30,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:31,1
    - Dst: indcpa_encrypt
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:34,1
    - Dst: precomputed_matrix_At
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:34,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:37,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    argTypes:
    - StrongSpan<KyberCompressedCiphertext>
    - StrongSpan<KyberSharedSecret>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: Botan::ML_KEM_Encryptor::encapsulate
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp
    functionUses: 0
    functionsReached:
    - mode
    - copy_mem
    - Botan::CT::unpoison_all
    - indcpa_encrypt
    - Botan::CT::scoped_poison
    - random_vec
    - precomputed_matrix_At
    linkageType: ''
    returnType: void
    signature: "void ML_KEM_Encryptor::encapsulate(StrongSpan<KyberCompressedCiphertext>
      out_encapsulated_key,\n                                   StrongSpan<KyberSharedSecret>
      out_shared_key,\n                                   RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:50,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:52,1
    - Dst: H_public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:54,1
    - Dst: z
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:55,1
    - Dst: indcpa_decrypt
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:57,1
    - Dst: J
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:60,1
    - Dst: indcpa_encrypt
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:61,1
    - Dst: precomputed_matrix_At
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:61,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:63,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>::size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:63,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:63,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:64,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:64,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:64,1
    - Dst: StrongSpan<KyberSharedSecret>::size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:64,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:64,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:65,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>::data
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:65,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:65,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>::size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:65,1
    - Dst: Botan::CT::conditional_copy_mem
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:66,1
    - Dst: StrongSpan<KyberSharedSecret>::data
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:66,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:66,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:66,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:66,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out_shared_key
    - c
    argTypes:
    - StrongSpan<KyberSharedSecret>
    - StrongSpan<const KyberCompressedCiphertext>
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: Botan::ML_KEM_Decryptor::decapsulate
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp
    functionUses: 0
    functionsReached:
    - mode
    - StrongSpan<KyberSharedSecret>::data
    - Botan::CT::scoped_poison
    - StrongSpan<const KyberCompressedCiphertext>::size
    - Botan::CT::unpoison
    - J
    - BOTAN_ASSERT_NOMSG
    - H_public_key_bits_raw
    - Botan::CT::is_equal
    - indcpa_decrypt
    - Botan::CT::conditional_copy_mem
    - data
    - StrongSpan<const KyberCompressedCiphertext>::data
    - StrongSpan<KyberSharedSecret>::size
    - auto::size
    - precomputed_matrix_At
    - auto::data
    - indcpa_encrypt
    - z
    - size
    linkageType: ''
    returnType: void
    signature: "void ML_KEM_Decryptor::decapsulate(StrongSpan<KyberSharedSecret> out_shared_key,\n
      \                                  StrongSpan<const KyberCompressedCiphertext>
      c)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:84,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:84,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: Botan::kyber_mode_from_string
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Invalid_Argument
    linkageType: ''
    returnType: KyberMode::Mode
    signature: KyberMode::Mode kyber_mode_from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mode
    argTypes:
    - Mode
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::KyberMode::KyberMode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KyberMode::KyberMode(Mode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kyber_mode_from_string
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:91,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::KyberMode::KyberMode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 6
    functionsReached:
    - to_formatted_string
    - kyber_mode_from_string
    linkageType: ''
    returnType: void
    signature: void KyberMode::KyberMode(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kyber_mode_from_string
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan::KyberMode::KyberMode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 6
    functionsReached:
    - kyber_mode_from_string
    linkageType: ''
    returnType: void
    signature: void KyberMode::KyberMode(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:96,1
    - Dst: Botan::KyberMode::to_string
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Botan::KyberMode::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - Botan::KyberMode::to_string
    linkageType: ''
    returnType: OID
    signature: OID KyberMode::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 122
    functionName: Botan::KyberMode::to_string
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string KyberMode::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::KyberMode::is_90s
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KyberMode::is_90s() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::is_90s
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::KyberMode::is_modern
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::KyberMode::is_90s
    linkageType: ''
    returnType: bool
    signature: bool KyberMode::is_modern() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::KyberMode::is_ml_kem
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KyberMode::is_ml_kem() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: Botan::KyberMode::is_kyber_round3
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KyberMode::is_kyber_round3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::is_kyber_round3
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:143,1
    - Dst: Botan::KyberMode::is_modern
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:143,1
    - Dst: Botan::KyberMode::is_kyber_round3
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:149,1
    - Dst: Botan::KyberMode::is_90s
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:149,1
    - Dst: Botan::KyberMode::is_ml_kem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 161
    functionName: Botan::KyberMode::is_available
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - Botan::KyberMode::is_kyber_round3
    - Botan::KyberMode::is_modern
    - Botan::KyberMode::is_90s
    - Botan::KyberMode::is_ml_kem
    linkageType: ''
    returnType: bool
    signature: bool KyberMode::is_available() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Botan::Kyber_PublicKey::mode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    linkageType: ''
    returnType: KyberMode
    signature: KyberMode Kyber_PublicKey::mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Botan::Kyber_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    linkageType: ''
    returnType: std::string
    signature: std::string Kyber_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:176,1
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: Botan::Kyber_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::Kyber_PublicKey::mode
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Kyber_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: Botan::Kyber_PublicKey::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    linkageType: ''
    returnType: OID
    signature: OID Kyber_PublicKey::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: Botan::Kyber_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    linkageType: ''
    returnType: size_t
    signature: size_t Kyber_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KyberMode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:188,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: Botan::Kyber_PublicKey::Kyber_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - KyberMode
    - oid
    linkageType: ''
    returnType: void
    signature: void Kyber_PublicKey::Kyber_PublicKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Kyber_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:191,1
    - Dst: KyberSerializedPublicKey
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pub_key
    - mode
    argTypes:
    - std::span<const uint8_t>
    - KyberMode
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: Botan::Kyber_PublicKey::Kyber_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - KyberSerializedPublicKey
    - std::make_shared<Kyber_PublicKeyInternal>
    linkageType: ''
    returnType: void
    signature: void Kyber_PublicKey::Kyber_PublicKey(std::span<const uint8_t> pub_key,
      KyberMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Kyber_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:195,1
    - Dst: m_public::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:196,1
    - Dst: m_public::t
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:196,1
    - Dst: m_public::rho
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Kyber_PublicKey
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Botan::Kyber_PublicKey::Kyber_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - m_public::rho
    - m_public::t
    - std::make_shared<Kyber_PublicKeyInternal>
    - m_public::mode
    linkageType: ''
    returnType: void
    signature: void Kyber_PublicKey::Kyber_PublicKey(const Kyber_PublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: Botan::Kyber_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - public_key_bits_raw
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Kyber_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: Botan::Kyber_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Kyber_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Botan::Kyber_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    linkageType: ''
    returnType: size_t
    signature: size_t Kyber_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:218,1
    - Dst: Botan::Kyber_Algos::encode_polynomial_vector
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:219,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:219,1
    - Dst: public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:221,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:222,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:222,1
    - Dst: std::equal
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:222,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:222,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:222,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: Botan::Kyber_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::Kyber_PublicKey::mode
    - Botan::Kyber_Algos::encode_polynomial_vector
    - std::vector::end
    - begin
    - public_key_bits_raw
    - size
    - t
    - std::vector::begin
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool Kyber_PublicKey::check_key(RandomNumberGenerator&, bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Kyber_PrivateKey>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:226,1
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: Botan::Kyber_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    - std::make_unique<Kyber_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> Kyber_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:233,1
    - Dst: Botan::Kyber_Algos::expand_keypair
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:234,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:234,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - mode
    argTypes:
    - RandomNumberGenerator
    - KyberMode
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: Botan::Kyber_PrivateKey::Kyber_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - std::tie
    - Botan::Kyber_Algos::expand_keypair
    - random_vec
    linkageType: ''
    returnType: void
    signature: void Kyber_PrivateKey::Kyber_PrivateKey(RandomNumberGenerator& rng,
      KyberMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KyberMode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:240,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: Botan::Kyber_PrivateKey::Kyber_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - KyberMode
    - oid
    linkageType: ''
    returnType: void
    signature: void Kyber_PrivateKey::Kyber_PrivateKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KyberConstants::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:245,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:245,1
    - Dst: KyberConstants::seed_private_key_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:245,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:246,1
    - Dst: Seed_Expanding_Keypair_Codec
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:246,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:246,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:247,1
    - Dst: KyberConstants::expanded_private_key_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:247,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:248,1
    - Dst: Expanded_Keypair_Codec
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:248,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:248,1
    - Dst: KyberConstants::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:249,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:249,1
    - Dst: KyberConstants::seed_private_key_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:249,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:250,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - sk
    - m
    argTypes:
    - std::span<const uint8_t>
    - KyberMode
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: Botan::Kyber_PrivateKey::Kyber_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - KyberConstants::seed_private_key_bytes
    - Expanded_Keypair_Codec
    - KyberConstants::expanded_private_key_bytes
    - std::span<const uint8_t>::size
    - KyberConstants::mode
    - Invalid_Argument
    - std::tie
    - Seed_Expanding_Keypair_Codec
    linkageType: ''
    returnType: void
    signature: void Kyber_PrivateKey::Kyber_PrivateKey(std::span<const uint8_t> sk,
      KyberMode m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Kyber_PublicKey>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: Botan::Kyber_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Kyber_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> Kyber_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PrivateKey::private_key_bits
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: Botan::Kyber_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PrivateKey::private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Kyber_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PrivateKey::private_key_bits_with_format
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:265,1
    - Dst: Botan::Kyber_PrivateKey::private_key_format
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: Botan::Kyber_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 2
    functionsReached:
    - Botan::Kyber_PrivateKey::private_key_format
    - Botan::Kyber_PrivateKey::private_key_bits_with_format
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Kyber_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:276,1
    - Dst: PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 287
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 287
    functionName: Botan::Kyber_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - PK_KEM_Decryptor::decrypt
    - Botan::Kyber_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool Kyber_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:291,1
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:293,1
    - Dst: std::make_unique<Kyber_KEM_Encryptor>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:294,1
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:299,1
    - Dst: std::make_unique<ML_KEM_Encryptor>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:300,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:304,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:306,1
    - Dst: Botan::Kyber_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 307
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 307
    functionName: Botan::Kyber_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    - std::make_unique<Kyber_KEM_Encryptor>
    - std::string_view::empty
    - std::make_unique<ML_KEM_Encryptor>
    - BOTAN_ASSERT_UNREACHABLE
    - Provider_Not_Found
    - Botan::Kyber_PublicKey::algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> Kyber_PublicKey::create_kem_encryption_op(std::string_view
      params,\n                                                                                  std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:312,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:313,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:315,1
    - Dst: std::make_unique<Kyber_KEM_Decryptor>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:316,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:321,1
    - Dst: std::make_unique<ML_KEM_Decryptor>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:322,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:326,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:328,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 329
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 329
    functionName: Botan::Kyber_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::make_unique<Kyber_KEM_Decryptor>
    - mode
    - std::string_view::empty
    - Provider_Not_Found
    - BOTAN_ASSERT_UNREACHABLE
    - std::make_unique<ML_KEM_Decryptor>
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> Kyber_PrivateKey::create_kem_decryption_op(RandomNumberGenerator&
      rng,\n                                                                                   std::string_view
      params,\n                                                                                   std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:332,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:332,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: Botan::Kyber_PrivateKey::private_key_format
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - seed
    - has_value
    - mode
    linkageType: ''
    returnType: MlPrivateKeyFormat
    signature: MlPrivateKeyFormat Kyber_PrivateKey::private_key_format() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PrivateKey::private_key_format
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:339,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:340,1
    - Dst: std::make_unique<Seed_Expanding_Keypair_Codec>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:345,1
    - Dst: std::make_unique<Expanded_Keypair_Codec>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:347,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:349,1
    - Dst: auto::encode_keypair
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - format
    argTypes:
    - MlPrivateKeyFormat
    constantsTouched: []
    func_position:
      end: 352
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 352
    functionName: Botan::Kyber_PrivateKey::private_key_bits_with_format
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - Encoding_Error
    - auto::encode_keypair
    - Botan::Kyber_PrivateKey::private_key_format
    - std::make_unique<Expanded_Keypair_Codec>
    - std::make_unique<Seed_Expanding_Keypair_Codec>
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Kyber_PrivateKey::private_key_bits_with_format(MlPrivateKeyFormat
      format) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: ~Kyber_Keypair_Codec()
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Kyber_Keypair_Codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:56,1
    - Dst: Botan::Kyber_PublicKeyInternal::indcpa_encrypt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' m'
    - ' r'
    - ' At'
    argTypes:
    - KyberMessage
    - KyberEncryptionRandomness
    - KyberPolyMat
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: Botan::Kyber_PublicKeyInternal::indcpa_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 1
    functionsReached:
    - ciphertext_bytes
    - Botan::Kyber_PublicKeyInternal::indcpa_encrypt
    linkageType: ''
    returnType: KyberCompressedCiphertext
    signature: "KyberCompressedCiphertext indcpa_encrypt(const KyberMessage& m,\n
      \                                              const KyberEncryptionRandomness&
      r,\n                                               const KyberPolyMat& At) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& t() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberPolyVecNTT
    signature: KyberPolyVecNTT & t() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '& rho() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberSeedRho
    signature: KyberSeedRho & rho() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '& mode() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& public_key_bits_raw() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberSerializedPublicKey
    signature: KyberSerializedPublicKey & public_key_bits_raw() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& H_public_key_bits_raw() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberHashedPublicKey
    signature: KyberHashedPublicKey & H_public_key_bits_raw() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::Kyber_PublicKeyInternal::Kyber_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Kyber_PublicKeyInternal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:84,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:84,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mode
    - s
    - seed
    argTypes:
    - KyberConstants
    - KyberPolyVecNTT
    - KyberPrivateKeySeed
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: Botan::Kyber_PrivateKeyInternal::Kyber_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Kyber_PrivateKeyInternal(KyberConstants mode, KyberPolyVecNTT
      s, KyberPrivateKeySeed seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '& s()'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberPolyVecNTT
    signature: KyberPolyVecNTT & s()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: '& s() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberPolyVecNTT
    signature: KyberPolyVecNTT & s() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: '& seed() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberPrivateKeySeed
    signature: KyberPrivateKeySeed & seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& z() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberImplicitRejectionValue
    signature: KyberImplicitRejectionValue & z() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '& mode() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::Kyber_PrivateKeyInternal::Kyber_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Kyber_PrivateKeyInternal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan::Kyber_PrivateKeyInternal::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::Kyber_PrivateKeyInternal::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~Kyber_Symmetric_Primitives()
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Kyber_Symmetric_Primitives()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_H
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - StrongSpan<const KyberMessage>
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::Kyber_Symmetric_Primitives::H
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - get_H
    linkageType: ''
    returnType: KyberMessage
    signature: KyberMessage H(StrongSpan<const KyberMessage> m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_H
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - StrongSpan<const KyberCompressedCiphertext>
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::Kyber_Symmetric_Primitives::H
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - get_H
    linkageType: ''
    returnType: KyberHashedCiphertext
    signature: KyberHashedCiphertext H(StrongSpan<const KyberCompressedCiphertext>
      r) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_H
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pk
    argTypes:
    - StrongSpan<const KyberSerializedPublicKey>
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::Kyber_Symmetric_Primitives::H
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - get_H
    linkageType: ''
    returnType: KyberHashedPublicKey
    signature: KyberHashedPublicKey H(StrongSpan<const KyberSerializedPublicKey> pk)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seed_expansion_domain_separator
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:48,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:49,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - seed
    - ' mode'
    argTypes:
    - StrongSpan<const KyberSeedRandomness>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: Botan::Kyber_Symmetric_Primitives::G
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Symmetric_Primitives::G_split
    - seed_expansion_domain_separator
    linkageType: ''
    returnType: std::pair<KyberSeedRho, KyberSeedSigma>
    signature: "std::pair<KyberSeedRho, KyberSeedSigma> G(StrongSpan<const KyberSeedRandomness>
      seed,\n                                                const KyberConstants&
      mode) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - pubkey_hash
    argTypes:
    - StrongSpan<const KyberMessage>
    - StrongSpan<const KyberHashedPublicKey>
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: Botan::Kyber_Symmetric_Primitives::G
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Symmetric_Primitives::G_split
    linkageType: ''
    returnType: std::pair<KyberSharedSecret, KyberEncryptionRandomness>
    signature: "std::pair<KyberSharedSecret, KyberEncryptionRandomness> G(\n         StrongSpan<const
      KyberMessage> msg, StrongSpan<const KyberHashedPublicKey> pubkey_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_J
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:62,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:63,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:64,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rejection_value
    - ciphertext
    argTypes:
    - StrongSpan<const KyberImplicitRejectionValue>
    - StrongSpan<const KyberCompressedCiphertext>
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: Botan::Kyber_Symmetric_Primitives::J
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - get_J
    - update
    - final
    linkageType: ''
    returnType: KyberSharedSecret
    signature: "KyberSharedSecret J(StrongSpan<const KyberImplicitRejectionValue>
      rejection_value,\n                          StrongSpan<const KyberCompressedCiphertext>
      ciphertext) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_KDF
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:72,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:73,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:74,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - shared_secret
    - hashed_ciphertext
    argTypes:
    - StrongSpan<KyberSharedSecret>
    - StrongSpan<const KyberSharedSecret>
    - StrongSpan<const KyberHashedCiphertext>
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: Botan::Kyber_Symmetric_Primitives::KDF
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - update
    - final
    - get_KDF
    linkageType: ''
    returnType: void
    signature: "void KDF(StrongSpan<KyberSharedSecret> out,\n               StrongSpan<const
      KyberSharedSecret> shared_secret,\n               StrongSpan<const KyberHashedCiphertext>
      hashed_ciphertext) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:81,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:81,1
    - Dst: get_PRF
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - seed
    - nonce
    - outlen
    argTypes:
    - KyberSigmaOrEncryptionRandomness
    - uint8_t
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: Botan::Kyber_Symmetric_Primitives::PRF
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - std::visit
    - get_PRF
    - get
    linkageType: ''
    returnType: KyberSamplingRandomness
    signature: "KyberSamplingRandomness PRF(KyberSigmaOrEncryptionRandomness seed,\n
      \                                 const uint8_t nonce,\n                                  const
      size_t outlen) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_XOF
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - matrix_position
    argTypes:
    - StrongSpan<const KyberSeedRho>
    - std::tuple<uint8_t, uint8_t>
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: '& XOF(StrongSpan<const KyberSeedRho> seed, std::tuple<uint8_t,
      uint8_t> matrix_position) const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - get_XOF
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF(StrongSpan<const KyberSeedRho> seed, std::tuple<uint8_t,
      uint8_t> matrix_position) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_G
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:94,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:95,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:96,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:100,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:101,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:102,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: Botan::Kyber_Symmetric_Primitives::G_split
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 2
    functionsReached:
    - update
    - get_G
    - BufferSlicer::empty
    - BufferSlicer::copy
    - final
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::pair<T1, T2>
    signature: std::pair<T1, T2> G_split(InputTs&&... inputs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: polynomial_vector_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:52,1
    - Dst: Botan::Kyber_Algos::encode_polynomial_vector
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' vec'
    - ' mode'
    argTypes:
    - KyberPolyVecNTT
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: Botan::Kyber_Algos::encode_polynomial_vector
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 2
    functionsReached:
    - polynomial_vector_bytes
    - Botan::Kyber_Algos::encode_polynomial_vector
    linkageType: ''
    returnType: T
    signature: T encode_polynomial_vector(const KyberPolyVecNTT& vec, const KyberConstants&
      mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seed
    - ' mode'
    argTypes:
    - StrongSpan<const SeedT>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: Botan::Kyber_Algos::PolynomialSampler::PolynomialSampler
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolynomialSampler(StrongSpan<const SeedT> seed, const KyberConstants&
      mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:71,1
    - Dst: Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:73,1
    - Dst: eta1
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: Botan::Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta1
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 0
    functionsReached:
    - k
    - Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
    - eta1
    linkageType: ''
    returnType: KyberPolyVec
    signature: KyberPolyVec sample_polynomial_vector_cbd_eta1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:82,1
    - Dst: eta2
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: Botan::Kyber_Algos::PolynomialSampler::sample_polynomial_cbd_eta2
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
    - eta2
    linkageType: ''
    returnType: KyberPoly
    signature: "KyberPoly sample_polynomial_cbd_eta2()\n         requires std::same_as<KyberEncryptionRandomness,
      SeedT>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:89,1
    - Dst: Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:91,1
    - Dst: eta2
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: Botan::Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta2
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 0
    functionsReached:
    - k
    - Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
    - eta2
    linkageType: ''
    returnType: KyberPolyVec
    signature: "KyberPolyVec sample_polynomial_vector_cbd_eta2()\n         requires
      std::same_as<KyberEncryptionRandomness, SeedT>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::Kyber_Algos::PolynomialSampler::prf
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 0
    functionsReached:
    - symmetric_primitives
    linkageType: ''
    returnType: KyberSamplingRandomness
    signature: KyberSamplingRandomness prf(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::PolynomialSampler::prf
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:103,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:103,1
    - Dst: Botan::Kyber_Algos::PolynomialSampler::prf
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:105,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:105,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:108,1
    - Dst: sample_polynomial_from_cbd
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' poly'
    - eta
    argTypes:
    - KyberPoly
    - KyberConstants::KyberEta
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 3
    functionsReached:
    - sample_polynomial_from_cbd
    - Botan::Kyber_Algos::PolynomialSampler::prf
    - BOTAN_ASSERT_UNREACHABLE
    - size
    linkageType: ''
    returnType: void
    signature: void sample_poly_cbd(KyberPoly& poly, KyberConstants::KyberEta eta)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t, 3>
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::Kyber_Algos::load_le3
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h
    functionUses: 0
    functionsReached:
    - Botan::load_le
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t load_le3(std::span<const uint8_t, 3> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:34,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:49,1
    - Dst: static_cast<unsigned_T>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - KyberConstants::T
    constantsTouched: []
    func_position:
      end: 57
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 57
    functionName: Botan::Kyber_Algos::compress
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned_T>
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: std::make_unsigned_t<KyberConstants::T>
    signature: std::make_unsigned_t<KyberConstants::T> compress(KyberConstants::T
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:65,1
    - Dst: requires std::is_integral_v<T>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:69,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::make_unsigned_t<KyberConstants::T>
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: Botan::Kyber_Algos::decompress
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h
    functionUses: 0
    functionsReached:
    - requires std::is_integral_v<T>
    - BOTAN_DEBUG_ASSERT
    - static_cast<uint32_t>
    linkageType: ''
    returnType: KyberConstants::T
    signature: KyberConstants::T decompress(std::make_unsigned_t<KyberConstants::T>
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:30,1
    - Dst: static_cast<T2>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:31,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - T2
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: Botan::KyberPolyTraits::montgomery_reduce_coefficient
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h
    functionUses: 0
    functionsReached:
    - static_cast<T2>
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T montgomery_reduce_coefficient(T2 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: Botan::KyberPolyTraits::barrett_reduce_coefficient
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T barrett_reduce_coefficient(T a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:56,1
    - Dst: barrett_reduce
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::span<T, N>
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: Botan::KyberPolyTraits::ntt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h
    functionUses: 0
    functionsReached:
    - barrett_reduce
    - fqmul
    linkageType: ''
    returnType: void
    signature: void ntt(std::span<T, N> p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberPolyTraits::barrett_reduce_coefficient
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:83,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:84,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::span<T, N>
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: Botan::KyberPolyTraits::inverse_ntt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h
    functionUses: 0
    functionsReached:
    - Botan::KyberPolyTraits::barrett_reduce_coefficient
    - fqmul
    linkageType: ''
    returnType: void
    signature: void inverse_ntt(std::span<T, N> p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:107,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:107,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:107,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:107,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:108,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:108,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:108,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:111,1
    - Dst: Tq_elem_count
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:121,1
    - Dst: Tq_elem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:123,1
    - Dst: basemul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:123,1
    - Dst: Tq_elem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:123,1
    - Dst: Tq_elem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:123,1
    - Dst: Tq_elem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:124,1
    - Dst: basemul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:124,1
    - Dst: Tq_elem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:124,1
    - Dst: Tq_elem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - result
    - lhs
    - rhs
    argTypes:
    - std::span<T, N>
    - std::span<const T, N>
    - std::span<const T, N>
    constantsTouched: []
    func_position:
      end: 126
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 126
    functionName: Botan::KyberPolyTraits::poly_pointwise_montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - basemul
    - Tq_elem_count
    - size
    - Tq_elem
    - fqmul
    linkageType: ''
    returnType: void
    signature: "void poly_pointwise_montgomery(std::span<T, N> result,\n                                                      std::span<const
      T, N> lhs,\n                                                      std::span<const
      T, N> rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYSTALS::pack<(1 << d) - 1>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bs'
    - ' p'
    argTypes:
    - BufferStuffer
    - KyberPoly
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::Kyber_Algos::poly_compress_and_encode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - CRYSTALS::pack<(1 << d) - 1>
    linkageType: ''
    returnType: void
    signature: void poly_compress_and_encode(BufferStuffer& bs, const KyberPoly& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYSTALS::pack<KyberConstants::Q - 1>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bs'
    - ' p'
    argTypes:
    - BufferStuffer
    - KyberPolyNTT
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::Kyber_Algos::byte_encode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - CRYSTALS::pack<KyberConstants::Q - 1>
    linkageType: ''
    returnType: void
    signature: void byte_encode(BufferStuffer& bs, const KyberPolyNTT& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYSTALS::unpack<(1 << d) - 1>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' bs'
    argTypes:
    - KyberPoly
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::Kyber_Algos::poly_decode_and_decompress
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - CRYSTALS::unpack<(1 << d) - 1>
    linkageType: ''
    returnType: void
    signature: void poly_decode_and_decompress(KyberPoly& p, BufferSlicer& bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYSTALS::unpack<KyberConstants::Q - 1>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:60,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:62,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' bs'
    argTypes:
    - KyberPolyNTT
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: Botan::Kyber_Algos::byte_decode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - ct_validate_value_range
    - Decoding_Error
    - CRYSTALS::unpack<KyberConstants::Q - 1>
    linkageType: ''
    returnType: void
    signature: void byte_decode(KyberPolyNTT& p, BufferSlicer& bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bounded_XOF<KyberConstants::SAMPLE_NTT_POLY_FROM_XOF_BOUND>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:80,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:83,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:89,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:99,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:102,1
    - Dst: sample
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - ' p'
    - ' xof'
    argTypes:
    - KyberPolyNTT
    - XOF
    constantsTouched: []
    func_position:
      end: 112
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 112
    functionName: Botan::Kyber_Algos::sample_ntt_uniform
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    - sample
    - Bounded_XOF<KyberConstants::SAMPLE_NTT_POLY_FROM_XOF_BOUND>
    - static_cast<uint16_t>
    - has_value
    linkageType: ''
    returnType: void
    signature: void sample_ntt_uniform(KyberPolyNTT& p, XOF& xof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:131,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:149,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' poly'
    - randomness
    argTypes:
    - KyberPoly
    - StrongSpan<const KyberSamplingRandomness>
    constantsTouched: []
    func_position:
      end: 150
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 150
    functionName: Botan::Kyber_Algos::sample_poly_cbd
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::empty
    - size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void sample_poly_cbd<KyberConstants::KyberEta::_2>(KyberPoly& poly,\n
      \                                                  StrongSpan<const KyberSamplingRandomness>
      randomness)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:160,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:179,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' poly'
    - randomness
    argTypes:
    - KyberPoly
    - StrongSpan<const KyberSamplingRandomness>
    constantsTouched: []
    func_position:
      end: 180
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 180
    functionName: Botan::Kyber_Algos::sample_poly_cbd
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::empty
    - size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void sample_poly_cbd<KyberConstants::KyberEta::_3>(KyberPoly& poly,\n
      \                                                  StrongSpan<const KyberSamplingRandomness>
      randomness)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::byte_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:187,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:189,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - ' vec'
    argTypes:
    - std::span<uint8_t>
    - KyberPolyVecNTT
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: Botan::Kyber_Algos::encode_polynomial_vector
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 2
    functionsReached:
    - BufferStuffer::full
    - Botan::Kyber_Algos::byte_encode
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void encode_polynomial_vector(std::span<uint8_t> out, const KyberPolyVecNTT&
      vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:193,1
    - Dst: Botan::Kyber_Algos::byte_decode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:197,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:199,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - ' mode'
    argTypes:
    - std::span<const uint8_t>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: Botan::Kyber_Algos::decode_polynomial_vector
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - k
    - Botan::Kyber_Algos::byte_decode
    - BufferSlicer::empty
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: KyberPolyVecNTT
    signature: KyberPolyVecNTT decode_polynomial_vector(std::span<const uint8_t> a,
      const KyberConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:205,1
    - Dst: StrongSpan<const KyberMessage>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:205,1
    - Dst: Botan::Kyber_Algos::poly_decode_and_decompress
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - StrongSpan<const KyberMessage>
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: Botan::Kyber_Algos::polynomial_from_message
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::poly_decode_and_decompress
    - StrongSpan<const KyberMessage>::size
    - BOTAN_ASSERT
    linkageType: ''
    returnType: KyberPoly
    signature: KyberPoly polynomial_from_message(StrongSpan<const KyberMessage> msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:213,1
    - Dst: Botan::Kyber_Algos::poly_compress_and_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - KyberPoly
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: Botan::Kyber_Algos::polynomial_to_message
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::poly_compress_and_encode
    - size
    linkageType: ''
    returnType: KyberMessage
    signature: KyberMessage polynomial_to_message(const KyberPoly& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::poly_compress_and_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' sink'
    - ' polyvec'
    argTypes:
    - BufferStuffer
    - KyberPolyVec
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: Botan::Kyber_Algos::polyvec_compress_and_encode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::poly_compress_and_encode
    linkageType: ''
    returnType: void
    signature: void polyvec_compress_and_encode(BufferStuffer& sink, const KyberPolyVec&
      polyvec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: d_u
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:231,1
    - Dst: Botan::Kyber_Algos::polyvec_compress_and_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:233,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:234,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:234,1
    - Dst: Botan::Kyber_Algos::polyvec_compress_and_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:237,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:238,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:238,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - out
    - ' pv'
    - ' mode'
    argTypes:
    - std::span<uint8_t>
    - KyberPolyVec
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: Botan::Kyber_Algos::compress_polyvec
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::polyvec_compress_and_encode
    - d_u
    - BOTAN_ASSERT_UNREACHABLE
    - BufferStuffer::full
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void compress_polyvec(std::span<uint8_t> out, const KyberPolyVec& pv,
      const KyberConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: d_v
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:248,1
    - Dst: Botan::Kyber_Algos::poly_compress_and_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:250,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:251,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:251,1
    - Dst: Botan::Kyber_Algos::poly_compress_and_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:254,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:255,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:255,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - out
    - ' p'
    - ' mode'
    argTypes:
    - std::span<uint8_t>
    - KyberPoly
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: Botan::Kyber_Algos::compress_poly
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Kyber_Algos::poly_compress_and_encode
    - BufferStuffer::full
    - d_v
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void compress_poly(std::span<uint8_t> out, const KyberPoly& p, const
      KyberConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::poly_decode_and_decompress
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' polyvec'
    - ' source'
    argTypes:
    - KyberPolyVec
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: Botan::Kyber_Algos::polyvec_decode_and_decompress
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::poly_decode_and_decompress
    linkageType: ''
    returnType: void
    signature: void polyvec_decode_and_decompress(KyberPolyVec& polyvec, BufferSlicer&
      source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:270,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:270,1
    - Dst: polynomial_vector_compressed_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:270,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:273,1
    - Dst: d_u
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:276,1
    - Dst: Botan::Kyber_Algos::polyvec_decode_and_decompress
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:278,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:279,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:279,1
    - Dst: Botan::Kyber_Algos::polyvec_decode_and_decompress
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:282,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:283,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:283,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - ' mode'
    argTypes:
    - std::span<const uint8_t>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 288
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 288
    functionName: Botan::Kyber_Algos::decompress_polynomial_vector
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - k
    - d_u
    - polynomial_vector_compressed_bytes
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    - BOTAN_ASSERT
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Kyber_Algos::polyvec_decode_and_decompress
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: KyberPolyVec
    signature: KyberPolyVec decompress_polynomial_vector(std::span<const uint8_t>
      buffer, const KyberConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:291,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:291,1
    - Dst: polynomial_compressed_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:291,1
    - Dst: d_v
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:296,1
    - Dst: Botan::Kyber_Algos::poly_decode_and_decompress
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:298,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:299,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:299,1
    - Dst: Botan::Kyber_Algos::poly_decode_and_decompress
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:302,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:303,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:303,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - ' mode'
    argTypes:
    - std::span<const uint8_t>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 308
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 308
    functionName: Botan::Kyber_Algos::decompress_polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::poly_decode_and_decompress
    - polynomial_compressed_bytes
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    - BOTAN_ASSERT
    - BOTAN_ASSERT_UNREACHABLE
    - BOTAN_ASSERT_NOMSG
    - d_v
    linkageType: ''
    returnType: KyberPoly
    signature: KyberPoly decompress_polynomial(std::span<const uint8_t> buffer, const
      KyberConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:322,1
    - Dst: KyberPrivateKeySeed::d::has_value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:322,1
    - Dst: KyberPrivateKeySeed::d::value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:323,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:325,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:327,1
    - Dst: Botan::Kyber_Algos::sample_matrix
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:331,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:335,1
    - Dst: Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta1
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:335,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:336,1
    - Dst: Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta1
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:336,1
    - Dst: montgomery
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:338,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:340,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:344,1
    - Dst: std::make_shared<Kyber_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:347,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:347,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:347,1
    - Dst: std::make_shared<Kyber_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:348,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:348,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:348,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - seed
    - mode
    argTypes:
    - KyberPrivateKeySeed
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 350
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 350
    functionName: Botan::Kyber_Algos::expand_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - auto::reduce
    - Botan::CT::unpoison_all
    - Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta1
    - Botan::CT::poison
    - KyberPrivateKeySeed::d::value
    - std::make_shared<Kyber_PrivateKeyInternal>
    - KyberPrivateKeySeed::d::has_value
    - Botan::Kyber_Algos::sample_matrix
    - std::make_shared<Kyber_PublicKeyInternal>
    - BOTAN_ARG_CHECK
    - ntt
    - Botan::CT::unpoison
    - montgomery
    linkageType: ''
    returnType: KyberInternalKeypair
    signature: KyberInternalKeypair expand_keypair(KyberPrivateKeySeed seed, KyberConstants
      mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::compress_polyvec
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:357,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:357,1
    - Dst: polynomial_vector_compressed_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:357,1
    - Dst: Botan::Kyber_Algos::compress_poly
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:358,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:358,1
    - Dst: polynomial_compressed_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:358,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:359,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - out
    - ' u'
    - ' v'
    - ' m_mode'
    argTypes:
    - StrongSpan<KyberCompressedCiphertext>
    - KyberPolyVec
    - KyberPoly
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: Botan::Kyber_Algos::compress_ciphertext
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::compress_polyvec
    - polynomial_compressed_bytes
    - polynomial_vector_compressed_bytes
    - Botan::Kyber_Algos::compress_poly
    - BufferStuffer::next
    - BufferStuffer::full
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void compress_ciphertext(StrongSpan<KyberCompressedCiphertext> out,\n
      \                        const KyberPolyVec& u,\n                         const
      KyberPoly& v,\n                         const KyberConstants& m_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StrongSpan<const KyberCompressedCiphertext>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:368,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:369,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:373,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:374,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:375,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:375,1
    - Dst: Botan::Kyber_Algos::decompress_polynomial_vector
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:377,1
    - Dst: Botan::Kyber_Algos::decompress_polynomial
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ct
    - ' mode'
    argTypes:
    - StrongSpan<const KyberCompressedCiphertext>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 378
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 378
    functionName: Botan::Kyber_Algos::decompress_ciphertext
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::take
    - BufferSlicer::empty
    - Decoding_Error
    - Botan::Kyber_Algos::decompress_polynomial_vector
    - StrongSpan<const KyberCompressedCiphertext>::size
    - Botan::Kyber_Algos::decompress_polynomial
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::pair<KyberPolyVec, KyberPoly>
    signature: "std::pair<KyberPolyVec, KyberPoly> decompress_ciphertext(StrongSpan<const
      KyberCompressedCiphertext> ct,\n                                                         const
      KyberConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:381,1
    - Dst: StrongSpan<const KyberSeedRho>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:381,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:383,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:383,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:385,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:386,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:387,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:387,1
    - Dst: Botan::Kyber_Algos::sample_ntt_uniform
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:388,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - seed
    - transposed
    - ' mode'
    argTypes:
    - StrongSpan<const KyberSeedRho>
    - bool
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 393
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 393
    functionName: Botan::Kyber_Algos::sample_matrix
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 1
    functionsReached:
    - k
    - std::tuple
    - Botan::Kyber_Algos::sample_ntt_uniform
    - symmetric_primitives
    - BOTAN_ASSERT
    - StrongSpan<const KyberSeedRho>::size
    linkageType: ''
    returnType: KyberPolyMat
    signature: KyberPolyMat sample_matrix(StrongSpan<const KyberSeedRho> seed, bool
      transposed, const KyberConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::sample_poly_cbd
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:406,1
    - Dst: Botan::Kyber_Algos::sample_poly_cbd
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:408,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' poly'
    - eta
    - ' randomness'
    argTypes:
    - KyberPoly
    - KyberConstants::KyberEta
    - KyberSamplingRandomness
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: Botan::Kyber_Algos::sample_polynomial_from_cbd
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::sample_poly_cbd
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: "void sample_polynomial_from_cbd(KyberPoly& poly,\n                                KyberConstants::KyberEta
      eta,\n                                const KyberSamplingRandomness& randomness)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KyberMode::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:35,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:67,1
    - Dst: KyberMode::is_kyber_round3
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:71,1
    - Dst: KyberMode::is_90s
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:71,1
    - Dst: std::make_unique<Kyber_90s_Symmetric_Primitives>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:72,1
    - Dst: KyberMode::is_kyber_round3
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:77,1
    - Dst: KyberMode::is_modern
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:77,1
    - Dst: std::make_unique<Kyber_Modern_Symmetric_Primitives>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:78,1
    - Dst: KyberMode::is_ml_kem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:83,1
    - Dst: std::make_unique<ML_KEM_Symmetric_Primitives>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:84,1
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:89,1
    - Dst: Botan::KyberConstants::k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:89,1
    - Dst: Botan::KyberConstants::d_u
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:90,1
    - Dst: Botan::KyberConstants::k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:90,1
    - Dst: Botan::KyberConstants::d_v
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:93,1
    - Dst: Botan::KyberConstants::public_key_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:93,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:97,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - mode
    argTypes:
    - KyberMode
    constantsTouched: []
    func_position:
      end: 99
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 99
    functionName: Botan::KyberConstants::KyberConstants
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp
    functionUses: 0
    functionsReached:
    - KyberMode::is_kyber_round3
    - Botan::KyberConstants::k
    - std::make_unique<ML_KEM_Symmetric_Primitives>
    - Botan::KyberConstants::d_u
    - KyberMode::is_ml_kem
    - Not_Implemented
    - KyberMode::is_90s
    - std::make_unique<Kyber_90s_Symmetric_Primitives>
    - BOTAN_ASSERT_UNREACHABLE
    - bitlen
    - std::make_unique<Kyber_Modern_Symmetric_Primitives>
    - Botan::KyberConstants::public_key_bytes
    - KyberMode::mode
    - KyberMode::is_modern
    - static_cast<uint32_t>
    - Botan::KyberConstants::d_v
    linkageType: ''
    returnType: void
    signature: void KyberConstants::KyberConstants(KyberMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: KyberConstants::~KyberConstants()
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KyberConstants::~KyberConstants()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::mode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Mode
    signature: Mode mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KyberMode
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator==(const KyberMode& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KyberMode& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KyberMode
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: operator!=(const KyberMode& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const KyberMode& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: ~Kyber_PublicKey() override
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Kyber_PublicKey() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::KyberConstants::KyberConstants
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KyberConstants(const KyberConstants& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::KyberConstants::KyberConstants
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KyberConstants(KyberConstants&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& operator=(const KyberConstants& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & operator=(const KyberConstants& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: '& operator=(KyberConstants&& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & operator=(KyberConstants&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::KyberConstants::mode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberMode
    signature: KyberMode mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberConstants::k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::KyberConstants::canonical_parameter_set_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached:
    - Botan::KyberConstants::k
    linkageType: ''
    returnType: size_t
    signature: size_t canonical_parameter_set_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::KyberConstants::k
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t k() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Botan::KyberConstants::eta1
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberEta
    signature: KyberEta eta1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan::KyberConstants::eta2
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberEta
    signature: KyberEta eta2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::KyberConstants::d_u
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: KyberDu
    signature: KyberDu d_u() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan::KyberConstants::d_v
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: KyberDv
    signature: KyberDv d_v() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan::KyberConstants::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberStrength
    signature: KyberStrength estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan::KyberConstants::polynomial_vector_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t polynomial_vector_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::KyberConstants::polynomial_vector_compressed_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t polynomial_vector_compressed_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::KyberConstants::polynomial_compressed_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t polynomial_compressed_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberConstants::polynomial_vector_compressed_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h:105,1
    - Dst: Botan::KyberConstants::polynomial_compressed_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan::KyberConstants::ciphertext_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached:
    - Botan::KyberConstants::polynomial_vector_compressed_bytes
    - Botan::KyberConstants::polynomial_compressed_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t ciphertext_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Botan::KyberConstants::shared_key_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t shared_key_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberConstants::polynomial_vector_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: Botan::KyberConstants::public_key_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 1
    functionsReached:
    - Botan::KyberConstants::polynomial_vector_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t public_key_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Botan::KyberConstants::expanded_private_key_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t expanded_private_key_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::KyberConstants::seed_private_key_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t seed_private_key_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: '& symmetric_primitives() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Kyber_Symmetric_Primitives
    signature: Kyber_Symmetric_Primitives & symmetric_primitives() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::sample_matrix
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:21,1
    - Dst: rho
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:21,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pk'
    argTypes:
    - Kyber_PublicKeyInternal
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: Botan::Kyber_KEM_Operation_Base::Kyber_KEM_Operation_Base
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - rho
    - Botan::Kyber_Algos::sample_matrix
    - mode
    linkageType: ''
    returnType: void
    signature: void Kyber_KEM_Operation_Base(const Kyber_PublicKeyInternal& pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& precomputed_matrix_At() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberPolyMat
    signature: KyberPolyMat & precomputed_matrix_At() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::Kyber_KEM_Encryptor_Base::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - mode
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::Kyber_KEM_Encryptor_Base::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - mode
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encapsulate
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:42,1
    - Dst: StrongSpan<KyberCompressedCiphertext>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:42,1
    - Dst: StrongSpan<KyberSharedSecret>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: Botan::Kyber_KEM_Encryptor_Base::raw_kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - StrongSpan<KyberCompressedCiphertext>
    - StrongSpan<KyberSharedSecret>
    - encapsulate
    linkageType: ''
    returnType: void
    signature: "void raw_kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n                           std::span<uint8_t>
      out_shared_key,\n                           RandomNumberGenerator& rng) final"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - kdf
    - ' pk'
    argTypes:
    - std::string_view
    - Kyber_PublicKeyInternal
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: Botan::Kyber_KEM_Encryptor_Base::Kyber_KEM_Encryptor_Base
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Kyber_KEM_Encryptor_Base(std::string_view kdf, const Kyber_PublicKeyInternal&
      pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::Kyber_KEM_Decryptor_Base::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - mode
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::Kyber_KEM_Decryptor_Base::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - mode
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decapsulate
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:66,1
    - Dst: StrongSpan<KyberSharedSecret>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:66,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out_shared_key
    - encapsulated_key
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Botan::Kyber_KEM_Decryptor_Base::raw_kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - StrongSpan<KyberSharedSecret>
    - StrongSpan<const KyberCompressedCiphertext>
    - decapsulate
    linkageType: ''
    returnType: void
    signature: void raw_kem_decrypt(std::span<uint8_t> out_shared_key, std::span<const
      uint8_t> encapsulated_key) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - kdf
    - ' pk'
    argTypes:
    - std::string_view
    - Kyber_PublicKeyInternal
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: Botan::Kyber_KEM_Decryptor_Base::Kyber_KEM_Decryptor_Base
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Kyber_KEM_Decryptor_Base(std::string_view kdf, const Kyber_PublicKeyInternal&
      pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KyberSerializedPublicKey::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:22,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - public_key
    - expected_length
    argTypes:
    - KyberSerializedPublicKey
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: Botan::validate_public_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - KyberSerializedPublicKey::size
    linkageType: ''
    returnType: KyberSerializedPublicKey
    signature: KyberSerializedPublicKey validate_public_key_length(KyberSerializedPublicKey
      public_key, size_t expected_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:40,1
    - Dst: Botan::Kyber_Algos::decode_polynomial_vector
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:43,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:43,1
    - Dst: KyberConstants::polynomial_vector_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:43,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:44,1
    - Dst: KyberConstants::public_key_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:44,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:45,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:46,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:48,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:48,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:50,1
    - Dst: std::make_shared<Kyber_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:53,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:53,1
    - Dst: std::make_shared<Kyber_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:54,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:55,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:56,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:60,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:63,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:64,1
    - Dst: KyberInternalKeypair::first::H_public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:64,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:64,1
    - Dst: std::equal
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:65,1
    - Dst: KyberInternalKeypair::first::H_public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:65,1
    - Dst: KyberInternalKeypair::first::H_public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:66,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sk
    - mode
    argTypes:
    - std::span<const uint8_t>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: Botan::Expanded_Keypair_Codec::decode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - auto::begin
    - Botan::Kyber_Algos::decode_polynomial_vector
    - KyberInternalKeypair::first::H_public_key_bits_raw
    - auto::size
    - BufferSlicer::take
    - Botan::CT::unpoison_all
    - std::make_shared<Kyber_PrivateKeyInternal>
    - BufferSlicer::empty
    - KyberConstants::public_key_bytes
    - BufferSlicer::copy
    - Botan::CT::scoped_poison
    - std::make_shared<Kyber_PublicKeyInternal>
    - BOTAN_ASSERT
    - BOTAN_ARG_CHECK
    - KyberConstants::polynomial_vector_bytes
    - std::equal
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: KyberInternalKeypair
    signature: KyberInternalKeypair Expanded_Keypair_Codec::decode_keypair(std::span<const
      uint8_t> sk, KyberConstants mode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:74,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:75,1
    - Dst: KyberInternalKeypair::first::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:76,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:77,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:78,1
    - Dst: Botan::Kyber_Algos::encode_polynomial_vector
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:78,1
    - Dst: KyberInternalKeypair::second::s
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:78,1
    - Dst: KyberInternalKeypair::first::public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:79,1
    - Dst: KyberInternalKeypair::first::H_public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:80,1
    - Dst: KyberInternalKeypair::second::z
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:81,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - keypair
    argTypes:
    - KyberInternalKeypair
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: Botan::Expanded_Keypair_Codec::encode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - KyberInternalKeypair::first::mode
    - KyberInternalKeypair::first::H_public_key_bits_raw
    - Botan::Kyber_Algos::encode_polynomial_vector
    - KyberInternalKeypair::second::s
    - KyberInternalKeypair::first::public_key_bits_raw
    - BOTAN_ASSERT_NONNULL
    - Botan::CT::scoped_poison
    - concat
    - KyberInternalKeypair::second::z
    - Botan::CT::unpoison
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Expanded_Keypair_Codec::encode_keypair(KyberInternalKeypair
      keypair) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:90,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:91,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:93,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:93,1
    - Dst: Botan::Kyber_Algos::expand_keypair
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:94,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:94,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - private_key
    - mode
    argTypes:
    - std::span<const uint8_t>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: Botan::Seed_Expanding_Keypair_Codec::decode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::Kyber_Algos::expand_keypair
    - BufferSlicer::empty
    - BufferSlicer::copy
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: KyberInternalKeypair
    signature: "KyberInternalKeypair Seed_Expanding_Keypair_Codec::decode_keypair(std::span<const
      uint8_t> private_key,\n                                                                  KyberConstants
      mode) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:98,1
    - Dst: KyberInternalKeypair::second::seed
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:99,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:100,1
    - Dst: d::has_value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:100,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:101,1
    - Dst: d::value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - keypair
    argTypes:
    - KyberInternalKeypair
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: Botan::Seed_Expanding_Keypair_Codec::encode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - d::value
    - KyberInternalKeypair::second::seed
    - BOTAN_ASSERT_NONNULL
    - concat
    - BOTAN_ARG_CHECK
    - d::has_value
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Seed_Expanding_Keypair_Codec::encode_keypair(KyberInternalKeypair
      keypair) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:105,1
    - Dst: validate_public_key_length
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:106,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:106,1
    - Dst: public_key_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:106,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:107,1
    - Dst: Botan::Kyber_Algos::decode_polynomial_vector
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:108,1
    - Dst: first
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:109,1
    - Dst: polynomial_vector_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:109,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mode
    - public_key
    argTypes:
    - KyberConstants
    - KyberSerializedPublicKey
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: Botan::Kyber_PublicKeyInternal::Kyber_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::Kyber_Algos::decode_polynomial_vector
    - validate_public_key_length
    - symmetric_primitives
    - public_key_bytes
    - polynomial_vector_bytes
    - last
    - first
    linkageType: ''
    returnType: void
    signature: void Kyber_PublicKeyInternal::Kyber_PublicKeyInternal(KyberConstants
      mode, KyberSerializedPublicKey public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:113,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:114,1
    - Dst: Kyber_Algos::encode_polynomial_vector<std::vector<uint8_t>>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:114,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:115,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:116,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mode
    - t
    - rho
    argTypes:
    - KyberConstants
    - KyberPolyVecNTT
    - KyberSeedRho
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: Botan::Kyber_PublicKeyInternal::Kyber_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - symmetric_primitives
    - Kyber_Algos::encode_polynomial_vector<std::vector<uint8_t>>
    - concat
    linkageType: ''
    returnType: void
    signature: void Kyber_PublicKeyInternal::Kyber_PublicKeyInternal(KyberConstants
      mode, KyberPolyVecNTT t, KyberSeedRho rho)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:135,1
    - Dst: Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta1
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:135,1
    - Dst: Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta2
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:136,1
    - Dst: Kyber_Algos::PolynomialSampler::sample_polynomial_cbd_eta2
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:137,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:139,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:141,1
    - Dst: Botan::Kyber_Algos::polynomial_from_message
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:143,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:144,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:147,1
    - Dst: Botan::Kyber_Algos::compress_ciphertext
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - out_ct
    - m
    - r
    - ' At'
    argTypes:
    - StrongSpan<KyberCompressedCiphertext>
    - StrongSpan<const KyberMessage>
    - StrongSpan<const KyberEncryptionRandomness>
    - KyberPolyMat
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: Botan::Kyber_PublicKeyInternal::indcpa_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 1
    functionsReached:
    - auto::reduce
    - Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta2
    - Kyber_Algos::PolynomialSampler::sample_polynomial_cbd_eta2
    - Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta1
    - Botan::Kyber_Algos::polynomial_from_message
    - ntt
    - inverse_ntt
    - Botan::Kyber_Algos::compress_ciphertext
    linkageType: ''
    returnType: void
    signature: "void Kyber_PublicKeyInternal::indcpa_encrypt(StrongSpan<KyberCompressedCiphertext>
      out_ct,\n                                             StrongSpan<const KyberMessage>
      m,\n                                             StrongSpan<const KyberEncryptionRandomness>
      r,\n                                             const KyberPolyMat& At) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:160,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:160,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:160,1
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:161,1
    - Dst: Botan::Kyber_Algos::polynomial_to_message
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ct
    argTypes:
    - StrongSpan<const KyberCompressedCiphertext>
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: Botan::Kyber_PrivateKeyInternal::indcpa_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - reduce
    - ntt
    - inverse_ntt
    - Botan::Kyber_Algos::polynomial_to_message
    linkageType: ''
    returnType: KyberMessage
    signature: KyberMessage Kyber_PrivateKeyInternal::indcpa_decrypt(StrongSpan<const
      KyberCompressedCiphertext> ct) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::Gf448Elem::Gf448Elem
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.h
    functionUses: 0
    functionsReached:
    - copy_mem
    linkageType: ''
    returnType: void
    signature: void Gf448Elem(std::span<const uint64_t, WORDS_448> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: operator!=(const Gf448Elem& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Gf448Elem& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan::Gf448Elem::words
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<uint64_t, WORDS_448>
    signature: std::span<uint64_t, WORDS_448> words()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Botan::Gf448Elem::words
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<const uint64_t, WORDS_448>
    signature: std::span<const uint64_t, WORDS_448> words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: Botan::words_for_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t words_for_bits(size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.h:48,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.h:48,1
    - Dst: Botan::Scalar448
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.h:65,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: Botan::Scalar448
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.h
    functionUses: 2
    functionsReached:
    - std::span
    - Botan::copy_mem
    - Botan::Scalar448
    - Botan::store_le
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Scalar448
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - carry
    argTypes:
    - uint64_t
    - uint64_t
    - bool*
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: Botan::u64_add
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t u64_add(uint64_t a, uint64_t b, bool* carry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:40,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:41,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:41,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - carry
    argTypes:
    - uint64_t
    - uint64_t
    - bool*
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: Botan::u64_add_with_carry
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t u64_add_with_carry(uint64_t a, uint64_t b, bool* carry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:55,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - borrow
    argTypes:
    - uint64_t
    - uint64_t
    - bool*
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: Botan::u64_sub_with_borrow
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t u64_sub_with_borrow(uint64_t a, uint64_t b, bool* borrow)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:72,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:74,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:75,1
    - Dst: Botan::u64_add_with_carry
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:78,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:81,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:82,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:83,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:87,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:88,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - h_3
    - h_1
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, 8>
    constantsTouched: []
    func_position:
      end: 97
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 97
    functionName: Botan::reduce_after_add
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::u64_add_with_carry
    - Botan::u64_add
    linkageType: ''
    returnType: void
    signature: void reduce_after_add(std::span<uint64_t, WORDS_448> h_3, std::span<const
      uint64_t, 8> h_1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:113,1
    - Dst: Botan::u64_add_with_carry
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:117,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:124,1
    - Dst: Botan::u64_add_with_carry
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:127,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:141,1
    - Dst: Botan::u64_add_with_carry
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:144,1
    - Dst: Botan::reduce_after_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, 14>
    constantsTouched: []
    func_position:
      end: 149
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 149
    functionName: Botan::reduce_after_mul
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::reduce_after_add
    - Botan::u64_add_with_carry
    - Botan::u64_add
    linkageType: ''
    returnType: void
    signature: void reduce_after_mul(std::span<uint64_t, WORDS_448> out, std::span<const
      uint64_t, 14> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::comba_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:155,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:155,1
    - Dst: std::span<const uint64_t, WORDS_448>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:155,1
    - Dst: std::span<const uint64_t, WORDS_448>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:155,1
    - Dst: Botan::reduce_after_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: Botan::gf_mul
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::reduce_after_mul
    - std::array::data
    - Botan::comba_mul
    - std::span<const uint64_t, WORDS_448>::data
    linkageType: ''
    returnType: void
    signature: "void gf_mul(std::span<uint64_t, WORDS_448> out,\n            std::span<const
      uint64_t, WORDS_448> a,\n            std::span<const uint64_t, WORDS_448> b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::comba_sqr
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:161,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:161,1
    - Dst: std::span<const uint64_t, WORDS_448>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:161,1
    - Dst: Botan::reduce_after_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Botan::gf_square
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::reduce_after_mul
    - std::array::data
    - std::span<const uint64_t, WORDS_448>::data
    - Botan::comba_sqr
    linkageType: ''
    returnType: void
    signature: void gf_square(std::span<uint64_t, WORDS_448> out, std::span<const
      uint64_t, WORDS_448> a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:169,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:169,1
    - Dst: Botan::u64_add_with_carry
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:174,1
    - Dst: Botan::reduce_after_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: Botan::gf_add
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - Botan::copy_mem
    - Botan::u64_add_with_carry
    - Botan::reduce_after_add
    linkageType: ''
    returnType: void
    signature: "void gf_add(std::span<uint64_t, WORDS_448> out,\n            std::span<const
      uint64_t, WORDS_448> a,\n            std::span<const uint64_t, WORDS_448> b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:194,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:200,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:201,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:202,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:203,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:204,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:205,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:206,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:212,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:213,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:214,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 219
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 219
    functionName: Botan::gf_sub
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::u64_sub_with_borrow
    linkageType: ''
    returnType: void
    signature: "void gf_sub(std::span<uint64_t, WORDS_448> out,\n            std::span<const
      uint64_t, WORDS_448> a,\n            std::span<const uint64_t, WORDS_448> b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:226,1
    - Dst: Botan::gf_square
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:230,1
    - Dst: Botan::gf_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: Botan::gf_inv
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::gf_mul
    - Botan::clear_mem
    - Botan::gf_square
    linkageType: ''
    returnType: void
    signature: void gf_inv(std::span<uint64_t, WORDS_448> out, std::span<const uint64_t,
      WORDS_448> a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:256,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:259,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:259,1
    - Dst: std::span<const uint64_t, WORDS_448>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:259,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: Botan::to_canonical
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    - std::array::data
    - Botan::u64_sub_with_borrow
    - std::span<const uint64_t, WORDS_448>::data
    linkageType: ''
    returnType: std::array<uint64_t, WORDS_448>
    signature: std::array<uint64_t, WORDS_448> to_canonical(std::span<const uint64_t,
      WORDS_448> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<const uint8_t, BYTES_448>
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: Botan::Gf448Elem::Gf448Elem
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - load_le
    linkageType: ''
    returnType: void
    signature: void Gf448Elem::Gf448Elem(std::span<const uint8_t, BYTES_448> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - least_sig_word
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: Botan::Gf448Elem::Gf448Elem
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    linkageType: ''
    returnType: void
    signature: void Gf448Elem::Gf448Elem(uint64_t least_sig_word)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_le
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:275,1
    - Dst: to_canonical
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t, BYTES_448>
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: Botan::Gf448Elem::to_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - to_canonical
    - store_le
    linkageType: ''
    returnType: void
    signature: void Gf448Elem::to_bytes(std::span<uint8_t, BYTES_448> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Gf448Elem::to_bytes
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: Botan::Gf448Elem::to_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 1
    functionsReached:
    - Botan::Gf448Elem::to_bytes
    linkageType: ''
    returnType: std::array<uint8_t, BYTES_448>
    signature: std::array<uint8_t, BYTES_448> Gf448Elem::to_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::conditional_swap
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - ' other'
    argTypes:
    - bool
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: Botan::Gf448Elem::ct_cond_swap
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::conditional_swap
    linkageType: ''
    returnType: void
    signature: void Gf448Elem::ct_cond_swap(bool b, Gf448Elem& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:291,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:291,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:291,1
    - Dst: m_x::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - ' other'
    argTypes:
    - bool
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: Botan::Gf448Elem::ct_cond_assign
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::CT::conditional_assign_mem
    - static_cast<uint64_t>
    - m_x::data
    linkageType: ''
    returnType: void
    signature: void Gf448Elem::ct_cond_assign(bool b, const Gf448Elem& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: Gf448Elem::operator+(const Gf448Elem& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - gf_add
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem Gf448Elem::operator+(const Gf448Elem& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: Gf448Elem::operator-(const Gf448Elem& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - gf_sub
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem Gf448Elem::operator-(const Gf448Elem& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: Gf448Elem::operator-() const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - gf_sub
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem Gf448Elem::operator-() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: Gf448Elem::operator*(const Gf448Elem& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - gf_mul
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem Gf448Elem::operator*(const Gf448Elem& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_inv
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:320,1
    - Dst: gf_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: Gf448Elem::operator/(const Gf448Elem& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - gf_mul
    - gf_inv
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem Gf448Elem::operator/(const Gf448Elem& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_canonical
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:326,1
    - Dst: to_canonical
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:327,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:328,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:328,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: Gf448Elem::operator==(const Gf448Elem& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - to_canonical
    - Botan::CT::is_equal
    linkageType: ''
    returnType: bool
    signature: bool Gf448Elem::operator==(const Gf448Elem& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_canonical
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:332,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:334,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: Botan::Gf448Elem::is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - to_canonical
    - Botan::CT::all_zeros
    linkageType: ''
    returnType: bool
    signature: bool Gf448Elem::is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_canonical
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: Botan::Gf448Elem::is_odd
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - to_canonical
    linkageType: ''
    returnType: bool
    signature: bool Gf448Elem::is_odd() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le<std::array<uint64_t, WORDS_448>>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:343,1
    - Dst: to_canonical
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:344,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:345,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:345,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<const uint8_t, BYTES_448>
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: Botan::Gf448Elem::bytes_are_canonical_representation
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - to_canonical
    - load_le<std::array<uint64_t, WORDS_448>>
    - Botan::CT::is_equal
    linkageType: ''
    returnType: bool
    signature: bool Gf448Elem::bytes_are_canonical_representation(std::span<const
      uint8_t, BYTES_448> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::gf_square
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:350,1
    - Dst: Gf448Elem::words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:350,1
    - Dst: words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' elem'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 352
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 352
    functionName: Botan::square
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 3
    functionsReached:
    - Gf448Elem::words
    - Botan::gf_square
    - words
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem square(const Gf448Elem& elem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::gf_square
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:359,1
    - Dst: Gf448Elem::words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:359,1
    - Dst: Gf448Elem::words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:359,1
    - Dst: Botan::gf_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:361,1
    - Dst: Gf448Elem::words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:361,1
    - Dst: Gf448Elem::words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:361,1
    - Dst: words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' elem'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 366
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 366
    functionName: Botan::root
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Gf448Elem::words
    - Botan::gf_square
    - Botan::gf_mul
    - words
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem root(const Gf448Elem& elem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:24,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:24,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:25,1
    - Dst: std::array<word, 1>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:25,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:28,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:28,1
    - Dst: word
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:30,1
    - Dst: Botan::bigint_shr2
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:33,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:33,1
    - Dst: std::span<const word, S>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:33,1
    - Dst: std::span<const word, S>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:33,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<const word, S>
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: Botan::div_mod_2_446
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - std::array::data
    - std::array<word, 1>
    - std::span<const word, S>::size
    - word
    - std::make_pair
    - std::span<const word, S>::data
    - Botan::copy_mem
    - Botan::bigint_shr2
    linkageType: ''
    returnType: auto
    signature: auto div_mod_2_446(std::span<const word, S> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: Botan::c_words
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    linkageType: ''
    returnType: std::array<word, WORDS_C>
    signature: std::array<word, WORDS_C> c_words()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: Botan::big_l_words
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    linkageType: ''
    returnType: std::array<word, Scalar448::WORDS>
    signature: std::array<word, Scalar448::WORDS> big_l_words()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::c_words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:61,1
    - Dst: Botan::bigint_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::span<const word, S>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::span<const word, S>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::span<const word, S>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<const word, S>
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: Botan::mul_c
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - Botan::c_words
    - std::span<const word, S>::size
    - std::array::size
    - std::span<const word, S>::data
    - Botan::bigint_mul
    linkageType: ''
    returnType: std::array<word, S + WORDS_C>
    signature: std::array<word, S + WORDS_C> mul_c(std::span<const word, S> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:73,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:74,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:74,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:74,1
    - Dst: std::span<const word, Scalar448::WORDS>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:74,1
    - Dst: std::span<const word, Scalar448::WORDS>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:74,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:75,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - std::span<const word, Scalar448::WORDS>
    - std::span<const word, Scalar448::WORDS>
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: Botan::add
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 1
    functionsReached:
    - std::array::data
    - std::span<const word, Scalar448::WORDS>::data
    - std::span<const word, Scalar448::WORDS>::size
    - std::array::size
    - BOTAN_ASSERT
    - Botan::copy_mem
    - Botan::bigint_add2_nc
    - Botan::CT::unpoison
    linkageType: ''
    returnType: std::array<word, Scalar448::WORDS>
    signature: "std::array<word, Scalar448::WORDS> add(std::span<const word, Scalar448::WORDS>
      x,\n                                       std::span<const word, Scalar448::WORDS>
      y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:87,1
    - Dst: Botan::big_l_words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:88,1
    - Dst: Botan::bigint_sub2
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:90,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:90,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:90,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:90,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:90,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:91,1
    - Dst: auto::select_n
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:92,1
    - Dst: std::span<word, Scalar448::WORDS>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:92,1
    - Dst: std::span<word, Scalar448::WORDS>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:92,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:92,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<word, Scalar448::WORDS>
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: Botan::ct_subtract_L_if_bigger
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::span<word, Scalar448::WORDS>::data
    - Botan::sha512_msg_expand
    - std::array::data
    - Botan::bigint_sub2
    - auto::select_n
    - auto::data
    - std::array::size
    - auto::size
    - Botan::copy_mem
    - Botan::big_l_words
    - auto::as_bool
    linkageType: ''
    returnType: bool
    signature: bool ct_subtract_L_if_bigger(std::span<word, Scalar448::WORDS> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::words_for_bits
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:98,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:101,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:101,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<const uint8_t, S>
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: Botan::bytes_to_words
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - Botan::words_for_bits
    - Botan::copy_mem
    - std::span
    - Botan::load_le
    linkageType: ''
    returnType: std::array<word, words_for_bits(S * 8)>
    signature: std::array<word, words_for_bits(S * 8)> bytes_to_words(std::span<const
      uint8_t, S> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mul_c
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:119,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:119,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:121,1
    - Dst: Botan::mul_c
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:124,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:124,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:126,1
    - Dst: Botan::mul_c
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:129,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:129,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:131,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:133,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:133,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:133,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:133,1
    - Dst: Botan::ct_subtract_L_if_bigger
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::array<word, WORDS_REDUCE_SZ>
    constantsTouched: []
    func_position:
      end: 143
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 143
    functionName: Botan::ct_reduce_mod_L
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - Botan::ct_subtract_L_if_bigger
    - Botan::add
    - data
    - Botan::mul_c
    - Botan::CT::all_zeros
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::array<word, Scalar448::WORDS>
    signature: std::array<word, Scalar448::WORDS> ct_reduce_mod_L(const std::array<word,
      WORDS_REDUCE_SZ> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:148,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:148,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:150,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:150,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:150,1
    - Dst: bytes_to_words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:152,1
    - Dst: std::span<const uint8_t, 114>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:152,1
    - Dst: ct_reduce_mod_L
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - in_bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: Botan::Scalar448::Scalar448
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - std::span<const uint8_t, 114>
    - copy_mem
    - bytes_to_words
    - std::span<const uint8_t>::size
    - ct_reduce_mod_L
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Scalar448::Scalar448(std::span<const uint8_t> in_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bit_pos
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: Botan::Scalar448::get_bit
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: bool
    signature: bool Scalar448::get_bit(size_t bit_pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:163,1
    - Dst: ct_subtract_L_if_bigger
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:164,1
    - Dst: Scalar448
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scalar448
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: Scalar448::operator+(const Scalar448& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - add
    - Scalar448
    - ct_subtract_L_if_bigger
    linkageType: ''
    returnType: Scalar448
    signature: Scalar448 Scalar448::operator+(const Scalar448& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bigint_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:171,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:171,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:172,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:173,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:174,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:175,1
    - Dst: m_scalar_words::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:176,1
    - Dst: m_scalar_words::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:177,1
    - Dst: m_scalar_words::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:178,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:179,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:180,1
    - Dst: Scalar448
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:182,1
    - Dst: ct_reduce_mod_L
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scalar448
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: Scalar448::operator*(const Scalar448& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - m_scalar_words::size
    - data
    - std::array::size
    - size
    - m_scalar_words::data
    - bigint_mul
    - ct_reduce_mod_L
    - Scalar448
    linkageType: ''
    returnType: Scalar448
    signature: Scalar448 Scalar448::operator*(const Scalar448& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:186,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:186,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:188,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:189,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:189,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:189,1
    - Dst: bytes_to_words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:190,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:190,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:191,1
    - Dst: ct_subtract_L_if_bigger
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:191,1
    - Dst: as_bool
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: Botan::Scalar448::bytes_are_reduced
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::first
    - Botan::sha512_msg_expand
    - ct_subtract_L_if_bigger
    - auto::size
    - std::span<const uint8_t>::subspan
    - bytes_to_words
    - auto::data
    - std::span<const uint8_t>::size
    - Botan::CT::all_zeros
    - BOTAN_ARG_CHECK
    - as_bool
    linkageType: ''
    returnType: bool
    signature: bool Scalar448::bytes_are_reduced(std::span<const uint8_t> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::x448_basepoint
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:23,1
    - Dst: Botan::decode_scalar
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:23,1
    - Dst: Botan::encode_point
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:24,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mypublic
    - secret
    argTypes:
    - std::span<uint8_t, X448_LEN>
    - std::span<const uint8_t, X448_LEN>
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Botan::x448_basepoint_from_data
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - Botan::decode_scalar
    - Botan::copy_mem
    - Botan::x448_basepoint
    - Botan::encode_point
    linkageType: ''
    returnType: void
    signature: void x448_basepoint_from_data(std::span<uint8_t, X448_LEN> mypublic,
      std::span<const uint8_t, X448_LEN> secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:30,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:31,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: Botan::ber_decode_sk
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::size
    - BER_Decoder
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ber_decode_sk(std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:38,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::X448_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier X448_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::X448_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool X448_PublicKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:46,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::X448_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X448_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X448_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::X448_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - Botan::X448_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X448_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X448_PrivateKey>
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::X448_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<X448_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> X448_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: Botan::X448_PublicKey::X448_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X448_PublicKey::X448_PublicKey(const AlgorithmIdentifier& /*alg_id*/,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:61,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:61,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: Botan::X448_PublicKey::X448_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    - copy_mem
    linkageType: ''
    returnType: void
    signature: void X448_PublicKey::X448_PublicKey(std::span<const uint8_t> pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ber_decode_sk
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: Botan::X448_PrivateKey::X448_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - ber_decode_sk
    linkageType: ''
    returnType: void
    signature: void X448_PrivateKey::X448_PrivateKey(const AlgorithmIdentifier& /*alg_id*/,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:69,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:69,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:70,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:70,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:70,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:71,1
    - Dst: x448_basepoint_from_data
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:72,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:72,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - secret_key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: Botan::X448_PrivateKey::X448_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    - Botan::CT::scoped_poison
    - BOTAN_ARG_CHECK
    - x448_basepoint_from_data
    - Botan::CT::unpoison
    - assign
    linkageType: ''
    returnType: void
    signature: void X448_PrivateKey::X448_PrivateKey(std::span<const uint8_t> secret_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::X448_PrivateKey::X448_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    linkageType: ''
    returnType: void
    signature: void X448_PrivateKey::X448_PrivateKey(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X448_PublicKey>
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:79,1
    - Dst: public_value
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Botan::X448_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - public_value
    - std::make_unique<X448_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> X448_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Botan::X448_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> X448_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:88,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:88,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:89,1
    - Dst: x448_basepoint_from_data
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:90,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:90,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:91,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:91,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:91,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: Botan::X448_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - Botan::CT::is_equal
    - std::array::data
    - data
    - Botan::CT::scoped_poison
    - size
    - x448_basepoint_from_data
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: bool X448_PrivateKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:102,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:102,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:103,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sk
    - kdf
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: Botan::X448_KA_Operation::X448_KA_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void X448_KA_Operation(std::span<const uint8_t> sk, std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::X448_KA_Operation::agreed_value_size
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t agreed_value_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:109,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:112,1
    - Dst: std::span::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:112,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:113,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:113,1
    - Dst: decode_scalar
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:114,1
    - Dst: decode_point
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:115,1
    - Dst: encode_point
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:117,1
    - Dst: x448
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:117,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:118,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:130,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:130,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:130,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - w_data
    - w_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 135
    functionName: Botan::X448_KA_Operation::raw_agree
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - auto::size
    - decode_scalar
    - auto::data
    - x448
    - Botan::CT::scoped_poison
    - std::span::size
    - size
    - Botan::CT::all_zeros
    - BOTAN_ARG_CHECK
    - Invalid_Argument
    - decode_point
    - encode_point
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_agree(const uint8_t w_data[], size_t w_len)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:146,1
    - Dst: std::make_unique<X448_KA_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:147,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:149,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: Botan::X448_PrivateKey::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<X448_KA_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> X448_PrivateKey::create_key_agreement_op(RandomNumberGenerator&
      /*rng*/,\n                                                                                std::string_view
      params,\n                                                                                std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - bit
    argTypes:
    - ScalarX448
    - size_t
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::get_bit
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_bit(const ScalarX448& scalar, size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::begin
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:22,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Point448
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::encode_point
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp
    functionUses: 1
    functionsReached:
    - Botan::end
    - Botan::begin
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> encode_point(const Point448& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:26,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:26,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::decode_point
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    - Botan::typecast_copy
    linkageType: ''
    returnType: Point448
    signature: Point448 decode_point(std::span<const uint8_t> p_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:31,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:31,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - scalar_bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: Botan::decode_scalar
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    - Botan::typecast_copy
    linkageType: ''
    returnType: ScalarX448
    signature: ScalarX448 decode_scalar(std::span<const uint8_t> scalar_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::x448
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - ScalarX448
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Botan::x448_basepoint
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp
    functionUses: 1
    functionsReached:
    - Botan::x448
    linkageType: ''
    returnType: Point448
    signature: Point448 x448_basepoint(const ScalarX448& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:51,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:51,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:54,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:54,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:56,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:59,1
    - Dst: Botan::get_bit
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:59,1
    - Dst: Gf448Elem::ct_cond_swap
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:62,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:62,1
    - Dst: Gf448Elem::ct_cond_swap
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:63,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:63,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:67,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:69,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:75,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:76,1
    - Dst: Gf448Elem::ct_cond_swap
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:81,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:81,1
    - Dst: Gf448Elem::ct_cond_swap
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:82,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:82,1
    - Dst: Point448
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:86,1
    - Dst: auto::to_bytes
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ' k'
    - ' u'
    argTypes:
    - ScalarX448
    - Point448
    constantsTouched: []
    func_position:
      end: 87
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 87
    functionName: Botan::x448
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp
    functionUses: 1
    functionsReached:
    - Botan::get_bit
    - Point448
    - Botan::sha512_msg_expand
    - Botan::square
    - Gf448Elem::ct_cond_swap
    - Botan::CT::Mask::cleared
    - Botan::get
    - Gf448Elem
    - auto::to_bytes
    - auto::as_bool
    linkageType: ''
    returnType: Point448
    signature: Point448 x448(const ScalarX448& k, const Point448& u)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t estimated_strength() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 1
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: public_value
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 23
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.h:92,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 9
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_private_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.h:107,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.h
    functionUses: 9
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_private_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 76
    functionName: Botan::Ed448Point
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Ed448Point
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:24,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::Ed448_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Ed448_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed448Point::decode
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: Botan::Ed448_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed448Point::decode
    linkageType: ''
    returnType: bool
    signature: bool Ed448_PublicKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: Botan::Ed448_PublicKey::Ed448_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_PublicKey::Ed448_PublicKey(const AlgorithmIdentifier& /*
      unused */, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:40,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:41,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:43,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: Botan::Ed448_PublicKey::Ed448_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - copy_mem
    - Decoding_Error
    - std::span<const uint8_t>::first
    linkageType: ''
    returnType: void
    signature: void Ed448_PublicKey::Ed448_PublicKey(std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:47,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::Ed448_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Ed448_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed448_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::Ed448_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed448_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Ed448_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Ed448_PrivateKey>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::Ed448_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Ed448_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> Ed448_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:60,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:62,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:63,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:65,1
    - Dst: create_pk_from_sk
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:66,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: Botan::Ed448_PrivateKey::Ed448_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::span
    - BER_Decoder
    - create_pk_from_sk
    - Decoding_Error
    - secure_vector::size
    linkageType: ''
    returnType: void
    signature: void Ed448_PrivateKey::Ed448_PrivateKey(const AlgorithmIdentifier&
      /*unused*/, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::Ed448_PrivateKey::Ed448_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    linkageType: ''
    returnType: void
    signature: void Ed448_PrivateKey::Ed448_PrivateKey(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:72,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:73,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:75,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:75,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:75,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:76,1
    - Dst: create_pk_from_sk
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:77,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:77,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: Botan::Ed448_PrivateKey::Ed448_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    - Botan::CT::scoped_poison
    - create_pk_from_sk
    - Decoding_Error
    - Botan::CT::unpoison
    - assign
    linkageType: ''
    returnType: void
    signature: void Ed448_PrivateKey::Ed448_PrivateKey(std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Ed448_PublicKey>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Botan::Ed448_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Ed448_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> Ed448_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:86,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:86,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: Botan::Ed448_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Ed448_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::Ed448_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ed448_PrivateKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::Ed448_Message::Ed448_Message
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_Message()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ~Ed448_Message()
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Ed448_Message()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan::Ed448_Message::Ed448_Message
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_Message(const Ed448_Message&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& operator=(const Ed448_Message&)'
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ed448_Message
    signature: Ed448_Message & operator=(const Ed448_Message&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::Ed448_Message::Ed448_Message
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_Message(Ed448_Message&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '& operator=(Ed448_Message&&)'
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ed448_Message
    signature: Ed448_Message & operator=(Ed448_Message&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Prehashed_Ed448_Message::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan::Prehashed_Ed448_Message::update
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 1
    functionsReached:
    - Botan::Prehashed_Ed448_Message::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::Prehashed_Ed448_Message::get_and_clear
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_and_clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::Prehashed_Ed448_Message::Prehashed_Ed448_Message
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Prehashed_Ed448_Message(std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:124,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:124,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:124,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan::Pure_Ed448_Message::update
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: Botan::Pure_Ed448_Message::get_and_clear
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_and_clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:139,1
    - Dst: public_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:140,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:141,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:141,1
    - Dst: std::make_unique<Prehashed_Ed448_Message>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:143,1
    - Dst: std::make_unique<Pure_Ed448_Message>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Ed448_PublicKey
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: Botan::Ed448_Verify_Operation::Ed448_Verify_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::span
    - public_key_bits
    - copy_mem
    - std::make_unique<Prehashed_Ed448_Message>
    - std::make_unique<Pure_Ed448_Message>
    linkageType: ''
    returnType: void
    signature: "void Ed448_Verify_Operation(const Ed448_PublicKey& key,\n                                      std::optional<std::string>
      prehash_function = std::nullopt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed448_Verify_Operation::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: Botan::Ed448_Verify_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 1
    functionsReached:
    - Botan::Ed448_Verify_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_and_clear
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:152,1
    - Dst: verify_signature
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:154,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: Botan::Ed448_Verify_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - get_and_clear
    - verify_signature
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Botan::Ed448_Verify_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - value_or
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:175,1
    - Dst: public_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:176,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:177,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:177,1
    - Dst: raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:178,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:179,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:179,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:180,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:180,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:180,1
    - Dst: std::make_unique<Prehashed_Ed448_Message>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:182,1
    - Dst: std::make_unique<Pure_Ed448_Message>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Ed448_PrivateKey
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: Botan::Ed448_Sign_Operation::Ed448_Sign_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::span
    - public_key_bits
    - auto::begin
    - raw_private_key_bits
    - copy_mem
    - std::make_unique<Prehashed_Ed448_Message>
    - auto::end
    - std::make_unique<Pure_Ed448_Message>
    - auto::size
    - assign
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void Ed448_Sign_Operation(const Ed448_PrivateKey& key,\n                                    std::optional<std::string>
      prehash_function = std::nullopt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed448_Sign_Operation::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Botan::Ed448_Sign_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 1
    functionsReached:
    - Botan::Ed448_Sign_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:191,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:191,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:192,1
    - Dst: sign_message
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:193,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:194,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:194,1
    - Dst: get_and_clear
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:194,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:195,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:196,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: Botan::Ed448_Sign_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - auto::begin
    - get_and_clear
    - auto::end
    - Botan::CT::scoped_poison
    - size
    - sign_message
    - Botan::CT::unpoison
    - has_value
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: Botan::Ed448_Sign_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: Botan::Ed448_Sign_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - value_or
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:213,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: Botan::Ed448_Sign_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::OID::from_string
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Ed448_Sign_Operation::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:220,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:221,1
    - Dst: std::make_unique<Ed448_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:222,1
    - Dst: std::make_unique<Ed448_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:224,1
    - Dst: std::make_unique<Ed448_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:226,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:226,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:229,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: Botan::Ed448_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - std::string
    - Provider_Not_Found
    - algo_name
    - std::make_unique<Ed448_Verify_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Ed448_PublicKey::create_verification_op(std::string_view
      params,\n                                                                              std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:234,1
    - Dst: Botan::Ed448_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:235,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:236,1
    - Dst: std::make_unique<Ed448_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:239,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:241,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' alg_id'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: Botan::Ed448_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed448_PublicKey::algorithm_identifier
    - std::string_view::empty
    - std::make_unique<Ed448_Verify_Operation>
    - Provider_Not_Found
    - algo_name
    - Decoding_Error
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Ed448_PublicKey::create_x509_verification_op(const
      AlgorithmIdentifier& alg_id,\n                                                                                   std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:247,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:248,1
    - Dst: std::make_unique<Ed448_Sign_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:249,1
    - Dst: std::make_unique<Ed448_Sign_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:251,1
    - Dst: std::make_unique<Ed448_Sign_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:253,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:253,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:256,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: Botan::Ed448_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Ed448_Sign_Operation>
    - std::string_view::empty
    - std::string
    - Provider_Not_Found
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> Ed448_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                         std::string_view
      params,\n                                                                         std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:29,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:29,1
    - Dst: Botan::concat
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:30,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:31,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:32,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:32,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: Botan::dom4
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat
    - Botan::store_le
    - static_cast<uint8_t>
    - std::span<const uint8_t>::size
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> dom4(uint8_t x, std::span<const uint8_t> y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHAKE_256_XOF
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:38,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:39,1
    - Dst: Botan::dom4
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:39,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:39,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:40,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:40,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - f
    - context
    argTypes:
    - bool
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: Botan::shake
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - Botan::dom4
    - SHAKE_256_XOF
    - static_cast<uint8_t>
    - auto::update
    - auto::output
    linkageType: ''
    returnType: std::array<uint8_t, 2 * ED448_LEN>
    signature: std::array<uint8_t, 2 * ED448_LEN> shake(bool f, std::span<const uint8_t>
      context, Ts... xs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:48,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - std::span<const uint8_t, 114>
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: Botan::split
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::take
    linkageType: ''
    returnType: std::pair<std::span<const uint8_t, 57>, std::span<const uint8_t, 57>>
    signature: std::pair<std::span<const uint8_t, 57>, std::span<const uint8_t, 57>>
      split(std::span<const uint8_t, 114> arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::output
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:60,1
    - Dst: Botan::Scalar448
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' shake_xof'
    argTypes:
    - XOF
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: Botan::scalar_from_xof
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Botan::Scalar448
    - Botan::output
    linkageType: ''
    returnType: Scalar448
    signature: Scalar448 scalar_from_xof(XOF& shake_xof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t, ED448_LEN>::back
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:80,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:81,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:84,1
    - Dst: Botan::Gf448Elem::bytes_are_canonical_representation
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:85,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:86,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:88,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:99,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:100,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:100,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:101,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:101,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:102,1
    - Dst: root
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:102,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:102,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:102,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:102,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:106,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:107,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:112,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:113,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:117,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:118,1
    - Dst: auto::words
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:118,1
    - Dst: words
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:118,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - enc
    argTypes:
    - std::span<const uint8_t, ED448_LEN>
    constantsTouched: []
    func_position:
      end: 121
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 121
    functionName: Botan::Ed448Point::decode
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 2
    functionsReached:
    - std::span
    - auto::words
    - Botan::sha512_msg_expand
    - std::array::data
    - words
    - Gf448Elem
    - Botan::Gf448Elem::bytes_are_canonical_representation
    - square
    - auto::is_zero
    - Decoding_Error
    - std::span<const uint8_t, ED448_LEN>::back
    - root
    linkageType: ''
    returnType: Ed448Point
    signature: Ed448Point Ed448Point::decode(std::span<const uint8_t, ED448_LEN> enc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed448Point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:138,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:138,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: Botan::Ed448Point::base_point
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Gf448Elem
    - Ed448Point
    linkageType: ''
    returnType: Ed448Point
    signature: Ed448Point Ed448Point::base_point()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: y
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:149,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:149,1
    - Dst: std::array::back
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:153,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:153,1
    - Dst: x
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: Botan::Ed448Point::encode
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - y
    - std::array::back
    - static_cast<uint8_t>
    - x
    linkageType: ''
    returnType: std::array<uint8_t, ED448_LEN>
    signature: std::array<uint8_t, ED448_LEN> Ed448Point::encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:161,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:164,1
    - Dst: Ed448Point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed448Point
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: Ed448Point::operator+(const Ed448Point& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Gf448Elem
    - Ed448Point
    - square
    linkageType: ''
    returnType: Ed448Point
    signature: Ed448Point Ed448Point::operator+(const Ed448Point& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:177,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:178,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:179,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:181,1
    - Dst: Ed448Point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: Botan::Ed448Point::double_point
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Ed448Point
    - square
    linkageType: ''
    returnType: Ed448Point
    signature: Ed448Point Ed448Point::double_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed448Point::double_point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:198,1
    - Dst: Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:201,1
    - Dst: get_bit
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar448
    constantsTouched: []
    func_position:
      end: 204
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: Botan::Ed448Point::scalar_mul
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Ed448Point::ct_conditional_assign
    - get_bit
    - Ed448Point::double_point
    linkageType: ''
    returnType: Ed448Point
    signature: Ed448Point Ed448Point::scalar_mul(const Scalar448& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:208,1
    - Dst: x
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:208,1
    - Dst: x
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:208,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:209,1
    - Dst: y
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:209,1
    - Dst: y
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:209,1
    - Dst: as_bool
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed448Point
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: Ed448Point::operator==(const Ed448Point& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - y
    - Botan::sha512_msg_expand
    - x
    - as_bool
    linkageType: ''
    returnType: bool
    signature: bool Ed448Point::operator==(const Ed448Point& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ct_cond_assign
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:215,1
    - Dst: ct_cond_assign
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:216,1
    - Dst: ct_cond_assign
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cond
    - ' other'
    argTypes:
    - bool
    - Ed448Point
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: Botan::Ed448Point::ct_conditional_assign
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - ct_cond_assign
    linkageType: ''
    returnType: void
    signature: void Ed448Point::ct_conditional_assign(bool cond, const Ed448Point&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_mul
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - Scalar448
    - Ed448Point
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: operator*(const Scalar448& lhs, const Ed448Point& rhs)
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - scalar_mul
    linkageType: ''
    returnType: Ed448Point
    signature: Ed448Point operator*(const Scalar448& lhs, const Ed448Point& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHAKE_256_XOF
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:227,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:228,1
    - Dst: Botan::scalar_from_xof
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:230,1
    - Dst: Botan::Ed448Point::base_point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:234,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sk
    argTypes:
    - std::span<const uint8_t, ED448_LEN>
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: Botan::create_pk_from_sk
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 1
    functionsReached:
    - SHAKE_256_XOF
    - auto::update
    - Botan::Ed448Point::base_point
    - Botan::encode
    - Botan::scalar_from_xof
    linkageType: ''
    returnType: std::array<uint8_t, ED448_LEN>
    signature: std::array<uint8_t, ED448_LEN> create_pk_from_sk(std::span<const uint8_t,
      ED448_LEN> sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHAKE_256_XOF
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:251,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:252,1
    - Dst: Botan::scalar_from_xof
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:253,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:255,1
    - Dst: Botan::Ed448Point::base_point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:264,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:264,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:276,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:277,1
    - Dst: auto::to_bytes
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:277,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:278,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - sk
    - pk
    - pgflag
    - context
    - msg
    argTypes:
    - std::span<const uint8_t, ED448_LEN>
    - std::span<const uint8_t, ED448_LEN>
    - bool
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 281
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 281
    functionName: Botan::sign_message
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::append
    - SHAKE_256_XOF
    - auto::update
    - auto::output
    - Botan::Ed448Point::base_point
    - BOTAN_ASSERT
    - Botan::encode
    - auto::to_bytes
    - BufferStuffer::full
    - Botan::scalar_from_xof
    linkageType: ''
    returnType: std::array<uint8_t, 2 * ED448_LEN>
    signature: "std::array<uint8_t, 2 * ED448_LEN> sign_message(std::span<const uint8_t,
      ED448_LEN> sk,\n                                                std::span<const
      uint8_t, ED448_LEN> pk,\n                                                bool
      pgflag,\n                                                std::span<const uint8_t>
      context,\n                                                std::span<const uint8_t>
      msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:296,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:298,1
    - Dst: Botan::Ed448Point::decode
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:301,1
    - Dst: Botan::Scalar448::bytes_are_reduced
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:302,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:304,1
    - Dst: Botan::Ed448Point::base_point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:312,1
    - Dst: Botan::Ed448Point::decode
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - pk
    - phflag
    - context
    - sig
    - msg
    argTypes:
    - std::span<const uint8_t, ED448_LEN>
    - bool
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 313
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 313
    functionName: Botan::verify_signature
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Botan::Decoding_Error
    - Botan::Scalar448::bytes_are_reduced
    - Botan::Ed448Point::decode
    - std::span<const uint8_t>::size
    - Botan::Ed448Point::base_point
    linkageType: ''
    returnType: bool
    signature: "bool verify_signature(std::span<const uint8_t, ED448_LEN> pk,\n                      bool
      phflag,\n                      std::span<const uint8_t> context,\n                      std::span<const
      uint8_t> sig,\n                      std::span<const uint8_t> msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::DH_PublicKey::DH_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PublicKey>
    linkageType: ''
    returnType: void
    signature: void DH_PublicKey::DH_PublicKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' group'
    - ' y'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::DH_PublicKey::DH_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PublicKey>
    linkageType: ''
    returnType: void
    signature: void DH_PublicKey::DH_PublicKey(const DL_Group& group, const BigInt&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DH_PublicKey::estimated_strength
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::DH_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 1
    functionsReached:
    - Botan::DH_PublicKey::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t DH_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_bits
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::DH_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - p_bits
    linkageType: ''
    returnType: size_t
    signature: size_t DH_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_field
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:33,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '& DH_PublicKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - get_int_field
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DH_PublicKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '& DH_PublicKey::group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group & DH_PublicKey::group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:41,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:41,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::DH_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    - group
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier DH_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_as_bytes
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::DH_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - public_key_as_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DH_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_encode
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::DH_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DH_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DH_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::DH_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 1
    functionsReached:
    - Botan::DH_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool DH_PublicKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DH_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:57,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::DH_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<DH_PrivateKey>
    - group
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> DH_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:61,1
    - Dst: Botan::DH_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rng'
    - ' group'
    argTypes:
    - RandomNumberGenerator
    - DL_Group
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: Botan::DH_PrivateKey::DH_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<DL_PrivateKey>
    - Botan::DH_PrivateKey::public_key
    linkageType: ''
    returnType: void
    signature: void DH_PrivateKey::DH_PrivateKey(RandomNumberGenerator& rng, const
      DL_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:66,1
    - Dst: Botan::DH_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' group'
    - ' x'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Botan::DH_PrivateKey::DH_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<DL_PrivateKey>
    - Botan::DH_PrivateKey::public_key
    linkageType: ''
    returnType: void
    signature: void DH_PrivateKey::DH_PrivateKey(const DL_Group& group, const BigInt&
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:71,1
    - Dst: Botan::DH_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: Botan::DH_PrivateKey::DH_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<DL_PrivateKey>
    - Botan::DH_PrivateKey::public_key
    linkageType: ''
    returnType: void
    signature: void DH_PrivateKey::DH_PrivateKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<DH_PublicKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:76,1
    - Dst: DH_PublicKey::DH_PublicKey
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Botan::DH_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr<DH_PublicKey>
    - DH_PublicKey::DH_PublicKey
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> DH_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::DH_PrivateKey::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 2
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DH_PrivateKey::public_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_encode
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: Botan::DH_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DH_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DH_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Botan::DH_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 1
    functionsReached:
    - Botan::DH_PrivateKey::raw_private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DH_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_field
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:92,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '& DH_PrivateKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - get_int_field
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DH_PrivateKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:107,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:109,1
    - Dst: Botan::DH_KA_Operation::powermod_x_p
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:112,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' key'
    - kdf
    - ' rng'
    argTypes:
    - std::shared_ptr<const DL_PrivateKey>
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: Botan::DH_KA_Operation::DH_KA_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - private_key
    - Botan::DH_KA_Operation::powermod_x_p
    - group
    linkageType: ''
    returnType: void
    signature: "void DH_KA_Operation(const std::shared_ptr<const DL_PrivateKey>& key,\n
      \                     std::string_view kdf,\n                      RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::DH_KA_Operation::agreed_value_size
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: size_t
    signature: size_t agreed_value_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '& group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - Botan::group
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group & group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:121,1
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan::DH_KA_Operation::powermod_x_p
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 1
    functionsReached:
    - private_key
    - group
    linkageType: ''
    returnType: BigInt
    signature: BigInt powermod_x_p(const BigInt& v) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:129,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:131,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:132,1
    - Dst: blind
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:135,1
    - Dst: Botan::DH_KA_Operation::powermod_x_p
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:136,1
    - Dst: unblind
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:137,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:139,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - w
    - w_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: Botan::DH_KA_Operation::raw_agree
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - Botan::DH_KA_Operation::powermod_x_p
    - blind
    - Invalid_Argument
    - unblind
    - BigInt::serialize
    - Botan::BigInt::from_bytes
    - group
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DH_KA_Operation::raw_agree(const uint8_t w[],
      size_t w_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:147,1
    - Dst: std::make_unique<DH_KA_Operation>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:148,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:150,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: Botan::DH_PrivateKey::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<DH_KA_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> DH_PrivateKey::create_key_agreement_op(RandomNumberGenerator&
      rng,\n                                                                              std::string_view
      params,\n                                                                              std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/dh/dh.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.h
    functionUses: 1
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::DH_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DH_PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dh/dh.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::shared_ptr<const DL_PublicKey>
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::DH_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DH_PublicKey(std::shared_ptr<const DL_PublicKey> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bit_size_to_byte_size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:27,1
    - Dst: Botan::bit_size_to_byte_size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:27,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:33,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:33,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:34,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:34,1
    - Dst: Botan::bit_size_to_byte_size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:34,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:36,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:36,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:38,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:41,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:43,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - dimension
    - codimension
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 49
    functionName: Botan::concat_vectors
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.cpp
    functionUses: 0
    functionsReached:
    - Botan::bit_size_to_byte_size
    - Botan::copy_mem
    - static_cast<uint8_t>
    - data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> concat_vectors(const secure_vector<uint8_t>&
      a,\n                                      const secure_vector<uint8_t>& b,\n
      \                                     size_t dimension,\n                                      size_t
      codimension)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bit_size_to_32bit_size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:58,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:65,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:65,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:65,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:67,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:73,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:73,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:73,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:75,1
    - Dst: Botan::concat_vectors
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:78,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' cleartext'
    - ' public_matrix'
    - code_length
    - t
    argTypes:
    - secure_vector<uint8_t>
    - std::vector<uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 81
    functionName: Botan::mult_by_pubkey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat_vectors
    - Botan::bit_size_to_32bit_size
    - Botan::xor_buf
    - secure_vector::resize
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> mult_by_pubkey(const secure_vector<uint8_t>&
      cleartext,\n                                      const std::vector<uint8_t>&
      public_matrix,\n                                      size_t code_length,\n
      \                                     size_t t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_code_element
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:89,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - code_length
    - error_weight
    - ' rng'
    argTypes:
    - size_t
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: Botan::create_random_error_vector
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - Botan::random_code_element
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> create_random_error_vector(size_t code_length,
      size_t error_weight, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_random_error_vector
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:116,1
    - Dst: Botan::get_t
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:116,1
    - Dst: Botan::mult_by_pubkey
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:119,1
    - Dst: Botan::get_public_matrix
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:119,1
    - Dst: Botan::get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:119,1
    - Dst: Botan::get_t
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:119,1
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:123,1
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' ciphertext_out'
    - ' error_mask_out'
    - ' plaintext'
    - ' key'
    - ' rng'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - McEliece_PublicKey
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: Botan::mceliece_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.cpp
    functionUses: 0
    functionsReached:
    - Botan::mult_by_pubkey
    - Botan::create_random_error_vector
    - swap
    - Botan::get_public_matrix
    - Botan::get_code_length
    - Botan::get_t
    linkageType: ''
    returnType: void
    signature: "void mceliece_encrypt(secure_vector<uint8_t>& ciphertext_out,\n                      secure_vector<uint8_t>&
      error_mask_out,\n                      const secure_vector<uint8_t>& plaintext,\n
      \                     const McEliece_PublicKey& key,\n                      RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - matrix
    - numo_rows
    - words_per_row
    - input_vec
    - output_vec
    - output_vec_len
    argTypes:
    - std::vector<uint32_t>
    - size_t
    - size_t
    - uint8_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: Botan::matrix_arr_mul
    functionSourceFile: /src/botan/src/lib/pubkey/mce/goppa_code.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void matrix_arr_mul(std::vector<uint32_t> matrix,\n                    size_t
      numo_rows,\n                    size_t words_per_row,\n                    const
      uint8_t input_vec[],\n                    uint32_t output_vec[],\n                    size_t
      output_vec_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:47,1
    - Dst: Botan::polyn_gf2m::eea_with_coefficients
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:49,1
    - Dst: std::shared_ptr::gf_inv
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:52,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:52,1
    - Dst: std::shared_ptr::gf_log
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:53,1
    - Dst: get_degree
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:54,1
    - Dst: set_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:55,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:55,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:55,1
    - Dst: add_to_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:59,1
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:61,1
    - Dst: std::shared_ptr::gf_sqrt
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:64,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:64,1
    - Dst: polyn_gf2m::add_to_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:68,1
    - Dst: std::shared_ptr::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:68,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:68,1
    - Dst: polyn_gf2m::add_to_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:71,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:75,1
    - Dst: Botan::polyn_gf2m::eea_with_coefficients
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:77,1
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:82,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:85,1
    - Dst: polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:87,1
    - Dst: std::shared_ptr::gf_square
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:87,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:87,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:91,1
    - Dst: polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:93,1
    - Dst: std::shared_ptr::gf_square
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:93,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:93,1
    - Dst: Botan::find_roots_gf2m_decomp
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:96,1
    - Dst: Botan::gray_to_lex
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:104,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - ' syndrom_polyn'
    - ' g'
    - ' sqrtmod'
    - ' Linv'
    argTypes:
    - polyn_gf2m
    - polyn_gf2m
    - std::vector<polyn_gf2m>
    - std::vector<gf2m>
    constantsTouched: []
    func_position:
      end: 114
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 114
    functionName: Botan::goppa_decode
    functionSourceFile: /src/botan/src/lib/pubkey/mce/goppa_code.cpp
    functionUses: 0
    functionsReached:
    - Botan::find_roots_gf2m_decomp
    - std::shared_ptr::gf_log
    - get_sp_field
    - Botan::gray_to_lex
    - add_to_coef
    - static_cast<gf2m>
    - std::shared_ptr::gf_mul_zrz
    - set_coef
    - std::shared_ptr::gf_mul
    - polyn_gf2m::get_degree
    - std::shared_ptr::gf_square
    - Botan::polyn_gf2m::eea_with_coefficients
    - get_degree
    - polyn_gf2m::add_to_coef
    - std::shared_ptr::gf_inv
    - get_coef
    - polyn_gf2m::set_coef
    - BOTAN_ASSERT
    - std::shared_ptr::gf_sqrt
    linkageType: ''
    returnType: secure_vector<gf2m>
    signature: "secure_vector<gf2m> goppa_decode(const polyn_gf2m& syndrom_polyn,\n
      \                                const polyn_gf2m& g,\n                                 const
      std::vector<polyn_gf2m>& sqrtmod,\n                                 const std::vector<gf2m>&
      Linv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mceliece_decrypt
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:121,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:121,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' plaintext_out'
    - ' error_mask_out'
    - ' ciphertext'
    - ' key'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - McEliece_PrivateKey
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Botan::mceliece_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/mce/goppa_code.cpp
    functionUses: 1
    functionsReached:
    - data
    - Botan::size
    - Botan::mceliece_decrypt
    linkageType: ''
    returnType: void
    signature: "void mceliece_decrypt(secure_vector<uint8_t>& plaintext_out,\n                      secure_vector<uint8_t>&
      error_mask_out,\n                      const secure_vector<uint8_t>& ciphertext,\n
      \                     const McEliece_PrivateKey& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mceliece_decrypt
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:130,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - ' plaintext'
    - ' error_mask'
    - ciphertext
    - ciphertext_len
    - ' key'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - uint8_t[]
    - size_t
    - McEliece_PrivateKey
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: Botan::mceliece_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/mce/goppa_code.cpp
    functionUses: 2
    functionsReached:
    - Invalid_Argument
    - Botan::mceliece_decrypt
    linkageType: ''
    returnType: void
    signature: "void mceliece_decrypt(secure_vector<uint8_t>& plaintext,\n                      secure_vector<uint8_t>&
      error_mask,\n                      const uint8_t ciphertext[],\n                      size_t
      ciphertext_len,\n                      const McEliece_PrivateKey& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_goppa_polyn
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:155,1
    - Dst: Botan::get_code_length
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:159,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:160,1
    - Dst: Botan::bit_size_to_byte_size
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:164,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:165,1
    - Dst: Botan::matrix_arr_mul
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:169,1
    - Dst: get_H_coeffs
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:169,1
    - Dst: Botan::get_code_length
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:170,1
    - Dst: Botan::bit_size_to_32bit_size
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:171,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:173,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:174,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:179,1
    - Dst: polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:182,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:183,1
    - Dst: Botan::bit_size_to_byte_size
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:183,1
    - Dst: get_goppa_polyn
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:183,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:185,1
    - Dst: Botan::goppa_decode
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:186,1
    - Dst: get_goppa_polyn
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:186,1
    - Dst: get_sqrtmod
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:186,1
    - Dst: get_Linv
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:186,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:191,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - ' error_pos'
    - ciphertext
    - ciphertext_len
    - ' key'
    argTypes:
    - secure_vector<gf2m>
    - uint8_t*
    - size_t
    - McEliece_PrivateKey
    constantsTouched: []
    func_position:
      end: 208
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 208
    functionName: Botan::mceliece_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/mce/goppa_code.cpp
    functionUses: 2
    functionsReached:
    - get_goppa_polyn
    - get_H_coeffs
    - get_sqrtmod
    - polyn_gf2m
    - polyn_gf2m::get_degree
    - Botan::bit_size_to_32bit_size
    - get_Linv
    - Botan::goppa_decode
    - static_cast<uint8_t>
    - Botan::bit_size_to_byte_size
    - Botan::get_code_length
    - Invalid_Argument
    - Botan::copy_mem
    - Botan::matrix_arr_mul
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> mceliece_decrypt(secure_vector<gf2m>& error_pos,\n
      \                                       const uint8_t* ciphertext,\n                                        size_t
      ciphertext_len,\n                                        const McEliece_PrivateKey&
      key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_mul_fast
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:29,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:31,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:31,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:31,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:33,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:35,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:35,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:35,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:35,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:47,1
    - Dst: gf_mul_lll
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:47,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:49,1
    - Dst: gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:49,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:51,1
    - Dst: gf_mul_lll
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:51,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:51,1
    - Dst: gf_mul_rrn
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:53,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:55,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:55,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:57,1
    - Dst: gf_mul_lnn
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:57,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:59,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:59,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:59,1
    - Dst: gf_mul_nrn
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:64,1
    - Dst: gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:66,1
    - Dst: gf_mul_nrn
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:71,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:73,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:73,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:73,1
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:73,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:75,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:75,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:75,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:77,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:77,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:79,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:79,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:81,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:81,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:81,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:83,1
    - Dst: gf_ord
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:83,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:83,1
    - Dst: gf_ord
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:85,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:85,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:87,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:91,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:95,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:97,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:103,1
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:103,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:112,1
    - Dst: gf_ord
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:112,1
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 113
    functionName: Botan::GF2m_Field
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h
    functionUses: 0
    functionsReached:
    - gf_mul_lnn
    - gf_mul_rrr
    - gf_ord
    - at
    - gf_mul_fast
    - gf_exp
    - gf_mul_nrn
    - static_cast<gf2m>
    - gf_mul_lll
    - gf_log
    - get_extension_degree
    - gf_mul_rrn
    - _gf_modq_1
    - gf_mul_zrz
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API GF2m_Field
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tst
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::expand_mask_16bit
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t expand_mask_16bit(T tst)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - gray
    argTypes:
    - gf2m
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: Botan::gray_to_lex
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m gray_to_lex(gf2m gray)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lex
    argTypes:
    - gf2m
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::lex_to_gray
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m lex_to_gray(gf2m lex)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bit_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::bit_size_to_byte_size
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bit_size_to_byte_size(size_t bit_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bit_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::bit_size_to_32bit_size
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bit_size_to_32bit_size(size_t bit_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(const polyn_gf2m&)'
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: polyn_gf2m
    signature: polyn_gf2m & operator=(const polyn_gf2m&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: operator!=(const polyn_gf2m& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const polyn_gf2m& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::swap
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::swap
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m(polyn_gf2m&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::swap
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: '& operator=(polyn_gf2m&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached:
    - Botan::swap
    linkageType: ''
    returnType: polyn_gf2m
    signature: polyn_gf2m & operator=(polyn_gf2m&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::polyn_gf2m::get_sp_field
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<GF2m_Field>
    signature: std::shared_ptr<GF2m_Field> get_sp_field() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: operator[](size_t i) const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::polyn_gf2m::get_lead_coef
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m get_lead_coef() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::polyn_gf2m::get_coef
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m get_coef(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - v
    argTypes:
    - size_t
    - gf2m
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan::polyn_gf2m::set_coef
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_coef(size_t i, gf2m v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - v
    argTypes:
    - size_t
    - gf2m
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::polyn_gf2m::add_to_coef
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_to_coef(size_t i, gf2m v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::polyn_gf2m::set_degree
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_degree(int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:44,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - deg
    - prime_poly
    argTypes:
    - size_t
    - gf2m
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: Botan::gf_exp_table
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - static_cast<size_t>
    linkageType: ''
    returnType: std::vector<gf2m>
    signature: std::vector<gf2m> gf_exp_table(size_t deg, gf2m prime_poly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:59,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:59,1
    - Dst: Botan::empty
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:62,1
    - Dst: Botan::gf_exp_table
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - deg
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: Botan::exp_table
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    - Invalid_Argument
    - Botan::gf_exp_table
    - Botan::empty
    linkageType: ''
    returnType: std::vector<gf2m>
    signature: std::vector<gf2m> & exp_table(size_t deg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:70,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:72,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:72,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:73,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - deg
    - ' exp'
    argTypes:
    - size_t
    - std::vector<gf2m>
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: Botan::gf_log_table
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - static_cast<size_t>
    - static_cast<gf2m>
    linkageType: ''
    returnType: std::vector<gf2m>
    signature: std::vector<gf2m> gf_log_table(size_t deg, const std::vector<gf2m>&
      exp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:83,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:83,1
    - Dst: Botan::empty
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:86,1
    - Dst: Botan::gf_log_table
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:87,1
    - Dst: Botan::exp_table
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - deg
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: Botan::log_table
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    - Botan::exp_table
    - Invalid_Argument
    - Botan::gf_log_table
    - Botan::empty
    linkageType: ''
    returnType: std::vector<gf2m>
    signature: std::vector<gf2m> & log_table(size_t deg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - to_enc
    - mem
    argTypes:
    - gf2m
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: Botan::encode_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t encode_gf2m(gf2m to_enc, uint8_t* mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: Botan::decode_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m decode_gf2m(const uint8_t* mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_table
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:111,1
    - Dst: exp_table
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - extdeg
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: Botan::GF2m_Field::GF2m_Field
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached:
    - exp_table
    - log_table
    linkageType: ''
    returnType: void
    signature: void GF2m_Field::GF2m_Field(size_t extdeg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:116,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - gf2m
    - gf2m
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: Botan::GF2m_Field::gf_div
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached:
    - _gf_modq_1
    - static_cast<gf2m>
    linkageType: ''
    returnType: gf2m
    signature: gf2m GF2m_Field::gf_div(gf2m x, gf2m y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - j
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::binary_matrix::coef
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t coef(size_t i, size_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - j
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::binary_matrix::set_coef_to_one
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void set_coef_to_one(size_t i, size_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - j
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::binary_matrix::toggle_coeff
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void toggle_coeff(size_t i, size_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::binary_matrix::rows
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t rows() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan::binary_matrix::columns
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t columns() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& elem() const'
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint32_t>
    signature: std::vector<uint32_t> & elem() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint32_t>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rown
    - coln
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: Botan::binary_matrix::binary_matrix
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint32_t>
    linkageType: ''
    returnType: void
    signature: void binary_matrix::binary_matrix(size_t rown, size_t coln)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Botan::binary_matrix::row_xor
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_matrix::row_xor(size_t a, size_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::binary_matrix::coef
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:84,1
    - Dst: Botan::binary_matrix::row_xor
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:87,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:96,1
    - Dst: secure_vector::clear
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:99,1
    - Dst: Botan::binary_matrix::coef
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:106,1
    - Dst: Botan::binary_matrix::row_xor
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:107,1
    - Dst: Botan::binary_matrix::coef
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:113,1
    - Dst: Botan::binary_matrix::row_xor
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 120
    functionName: Botan::binary_matrix::row_reduced_echelon_form
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Botan::binary_matrix::row_xor
    - secure_vector::clear
    - Botan::binary_matrix::coef
    linkageType: ''
    returnType: secure_vector<size_t>
    signature: secure_vector<size_t> binary_matrix::row_reduced_echelon_form()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:123,1
    - Dst: Botan::random_gf2m
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:124,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:127,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' L'
    - ' rng'
    argTypes:
    - std::vector<gf2m>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: Botan::randomize_support
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    - Botan::random_gf2m
    - Botan::size
    linkageType: ''
    returnType: void
    signature: void randomize_support(std::vector<gf2m>& L, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: polyn_gf2m*::eval
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:144,1
    - Dst: Botan::lex_to_gray
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:144,1
    - Dst: Botan::gf_inv
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:145,1
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:148,1
    - Dst: binary_matrix::set_coef_to_one
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:151,1
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:151,1
    - Dst: Botan::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:154,1
    - Dst: Botan::lex_to_gray
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:154,1
    - Dst: binary_matrix::row_reduced_echelon_form
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:158,1
    - Dst: secure_vector::empty
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:159,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:160,1
    - Dst: std::make_unique<binary_matrix>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:163,1
    - Dst: auto::rows
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:164,1
    - Dst: auto::columns
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:165,1
    - Dst: binary_matrix::coef
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:166,1
    - Dst: auto::toggle_coeff
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 5
    argNames:
    - ' L'
    - g
    - ' sp_field'
    - code_length
    - t
    argTypes:
    - std::vector<gf2m>
    - polyn_gf2m*
    - GF2m_Field
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 181
    functionName: Botan::generate_R
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - auto::rows
    - Botan::lex_to_gray
    - Botan::gf_inv
    - std::make_unique<binary_matrix>
    - auto::columns
    - polyn_gf2m*::eval
    - binary_matrix::coef
    - auto::toggle_coeff
    - binary_matrix::row_reduced_echelon_form
    - Invalid_State
    - get_extension_degree
    - binary_matrix::set_coef_to_one
    - Botan::gf_mul
    - secure_vector::empty
    linkageType: ''
    returnType: std::unique_ptr<binary_matrix>
    signature: "std::unique_ptr<binary_matrix> generate_R(\n   std::vector<gf2m>&
      L, polyn_gf2m* g, const GF2m_Field& sp_field, size_t code_length, size_t t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:188,1
    - Dst: std::make_shared<GF2m_Field>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:191,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:196,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:197,1
    - Dst: Botan::randomize_support
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:199,1
    - Dst: polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:207,1
    - Dst: Botan::generate_R
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:210,1
    - Dst: Botan::polyn_gf2m::sqrt_mod_init
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:215,1
    - Dst: Botan::syndrome_init
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:216,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:216,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:231,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:231,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:234,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:245,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:246,1
    - Dst: std::unique_ptr::elem
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:248,1
    - Dst: std::unique_ptr::elem
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:249,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:250,1
    - Dst: std::unique_ptr::elem
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:250,1
    - Dst: McEliece_PrivateKey
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:253,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - ' rng'
    - ext_deg
    - code_length
    - t
    argTypes:
    - RandomNumberGenerator
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 254
      start: 184
    functionDepth: 6
    functionLinenumber: 184
    functionLinenumberEnd: 254
    functionName: Botan::generate_mceliece_key
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::polyn_gf2m::sqrt_mod_init
    - get_coef
    - polyn_gf2m
    - Botan::store_le
    - Botan::randomize_support
    - Botan::syndrome_init
    - McEliece_PrivateKey
    - static_cast<gf2m>
    - static_cast<int>
    - Invalid_Argument
    - Botan::generate_R
    - std::make_shared<GF2m_Field>
    - static_cast<uint32_t>
    - std::unique_ptr::elem
    linkageType: ''
    returnType: McEliece_PrivateKey
    signature: McEliece_PrivateKey generate_mceliece_key(RandomNumberGenerator& rng,
      size_t ext_deg, size_t code_length, size_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::expand_mask_16bit
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - res_root_arr
    - res_root_arr_len
    - root_pos
    argTypes:
    - gf2m[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: Botan::patch_root_array
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - Botan::expand_mask_16bit
    linkageType: ''
    returnType: void
    signature: void patch_root_array(gf2m res_root_arr[], size_t res_root_arr_len,
      size_t root_pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: Botan::brootf_decomp_calc_sum_limit
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t brootf_decomp_calc_sum_limit(uint32_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:72,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:75,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:78,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:79,1
    - Dst: std::shared_ptr::gf_l_from_n
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:81,1
    - Dst: std::shared_ptr::gf_l_from_n
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:85,1
    - Dst: brootf_decomp_calc_sum_limit
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:89,1
    - Dst: Botan::gf2m_decomp_rootfind_state::m_Lik::resize
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:90,1
    - Dst: std::shared_ptr::get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:90,1
    - Dst: Botan::gf2m_decomp_rootfind_state::m_Aij::resize
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' polyn'
    - code_length
    argTypes:
    - polyn_gf2m
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 92
    functionName: Botan::gf2m_decomp_rootfind_state::gf2m_decomp_rootfind_state
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - brootf_decomp_calc_sum_limit
    - get_coef
    - Botan::gf2m_decomp_rootfind_state::m_Aij::resize
    - std::shared_ptr::get_extension_degree
    - Internal_Error
    - std::shared_ptr::gf_l_from_n
    - Botan::gf2m_decomp_rootfind_state::m_Lik::resize
    - get_sp_field
    linkageType: ''
    returnType: void
    signature: void gf2m_decomp_rootfind_state::gf2m_decomp_rootfind_state(const polyn_gf2m&
      polyn, size_t code_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sigma'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: Botan::gf2m_decomp_rootfind_state::calc_Ai_zero
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - get_coef
    linkageType: ''
    returnType: void
    signature: void gf2m_decomp_rootfind_state::calc_Ai_zero(const polyn_gf2m& sigma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lex_to_gray
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:118,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 149
    functionName: Botan::gf2m_decomp_rootfind_state::calc_next_Aij
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - static_cast<gf2m>
    - lex_to_gray
    linkageType: ''
    returnType: void
    signature: void gf2m_decomp_rootfind_state::calc_next_Aij()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:152,1
    - Dst: get_degree
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:154,1
    - Dst: std::shared_ptr::get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:155,1
    - Dst: std::shared_ptr::gf_l_from_n
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:158,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:158,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:159,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:160,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:162,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:174,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' sigma'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 181
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 181
    functionName: Botan::gf2m_decomp_rootfind_state::calc_LiK
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - get_coef
    - std::shared_ptr::get_extension_degree
    - std::shared_ptr::gf_l_from_n
    - get_degree
    - get_sp_field
    - static_cast<gf2m>
    - std::shared_ptr::gf_mul_zrz
    - std::shared_ptr::gf_mul_rrr
    linkageType: ''
    returnType: void
    signature: void gf2m_decomp_rootfind_state::calc_LiK(const polyn_gf2m& sigma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:187,1
    - Dst: std::shared_ptr::gf_l_from_n
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:188,1
    - Dst: std::shared_ptr::gf_square_rr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:189,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:190,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:191,1
    - Dst: std::shared_ptr::gf_mul_nrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:193,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:204,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:212,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' sigma'
    - j_gray
    argTypes:
    - polyn_gf2m
    - gf2m
    constantsTouched: []
    func_position:
      end: 218
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 218
    functionName: Botan::gf2m_decomp_rootfind_state::calc_Fxj_j_neq_0
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::gf_l_from_n
    - get_sp_field
    - std::shared_ptr::gf_mul_zrz
    - std::shared_ptr::gf_square_rr
    - std::shared_ptr::gf_mul_rrr
    - std::shared_ptr::gf_mul_nrr
    linkageType: ''
    returnType: gf2m
    signature: gf2m gf2m_decomp_rootfind_state::calc_Fxj_j_neq_0(const polyn_gf2m&
      sigma, gf2m j_gray)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:222,1
    - Dst: Botan::gf2m_decomp_rootfind_state::calc_Ai_zero
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:226,1
    - Dst: Botan::gf2m_decomp_rootfind_state::calc_LiK
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:227,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:232,1
    - Dst: Botan::gf2m_decomp_rootfind_state::calc_Fxj_j_neq_0
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:234,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:242,1
    - Dst: Botan::gf2m_decomp_rootfind_state::calc_next_Aij
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:245,1
    - Dst: patch_root_array
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:249,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:249,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' sigma'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 251
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 251
    functionName: Botan::gf2m_decomp_rootfind_state::find_roots
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - Botan::gf2m_decomp_rootfind_state::calc_Ai_zero
    - Botan::gf2m_decomp_rootfind_state::calc_next_Aij
    - get_coef
    - patch_root_array
    - secure_vector::data
    - Botan::gf2m_decomp_rootfind_state::calc_LiK
    - Botan::gf2m_decomp_rootfind_state::calc_Fxj_j_neq_0
    - BOTAN_ASSERT
    - secure_vector::size
    - static_cast<uint32_t>
    linkageType: ''
    returnType: secure_vector<gf2m>
    signature: secure_vector<gf2m> gf2m_decomp_rootfind_state::find_roots(const polyn_gf2m&
      sigma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf2m_decomp_rootfind_state::find_roots
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' polyn'
    - code_length
    argTypes:
    - polyn_gf2m
    - size_t
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: Botan::find_roots_gf2m_decomp
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 1
    functionsReached:
    - gf2m_decomp_rootfind_state::find_roots
    linkageType: ''
    returnType: secure_vector<gf2m>
    signature: secure_vector<gf2m> find_roots_gf2m_decomp(const polyn_gf2m& polyn,
      size_t code_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - n
    - k
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: Botan::binomial
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double binomial(size_t n, size_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:35,1
    - Dst: std::log
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - n
    - k
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: Botan::log_binomial
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached:
    - std::log
    linkageType: ''
    returnType: double
    signature: double log_binomial(size_t n, size_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::log_binomial
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:44,1
    - Dst: Botan::log_binomial
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - n
    - k
    - w
    - p
    - l
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: Botan::nb_iter
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached:
    - Botan::log_binomial
    linkageType: ''
    returnType: double
    signature: double nb_iter(size_t n, size_t k, size_t w, size_t p, size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - n
    - k
    - p
    - l
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: Botan::cout_iter
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached:
    - std::log
    linkageType: ''
    returnType: double
    signature: double cout_iter(size_t n, size_t k, size_t p, size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::nb_iter
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:66,1
    - Dst: Botan::cout_iter
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - n
    - k
    - w
    - p
    - l
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::cout_total
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached:
    - Botan::nb_iter
    - Botan::cout_iter
    linkageType: ''
    returnType: double
    signature: double cout_total(size_t n, size_t k, size_t w, size_t p, size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - n
    - k
    - w
    - p
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: Botan::best_wf
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double best_wf(size_t n, size_t k, size_t w, size_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:100,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - n
    - t
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: Botan::mceliece_work_factor
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::min
    linkageType: ''
    returnType: size_t
    signature: size_t mceliece_work_factor(size_t n, size_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' pub_matrix'
    - t
    - the_code_length
    argTypes:
    - std::vector<uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: Botan::McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void McEliece_PublicKey(const std::vector<uint8_t>& pub_matrix, size_t
      t, size_t the_code_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - McEliece_PublicKey
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void McEliece_PublicKey(const McEliece_PublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~McEliece_PublicKey() override
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~McEliece_PublicKey() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_key(RandomNumberGenerator&, bool) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::get_t
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_t() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::get_code_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_code_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::get_public_matrix
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_public_matrix() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - McEliece_PublicKey
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: operator!=(const McEliece_PublicKey& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const McEliece_PublicKey& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionName: get_H_coeffs
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void get_H_coeffs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: get_Linv
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<gf2m>
    signature: std::vector<gf2m> & get_Linv() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: get_sqrtmod
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<polyn_gf2m>
    signature: std::vector<polyn_gf2m> & get_sqrtmod() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: get_dimension
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_dimension() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: get_codimension
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_codimension() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - McEliece_PrivateKey
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: operator!=(const McEliece_PrivateKey& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const McEliece_PrivateKey& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::McEliece_PrivateKey::McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void McEliece_PrivateKey::McEliece_PrivateKey(const McEliece_PrivateKey&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::McEliece_PrivateKey::McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void McEliece_PrivateKey::McEliece_PrivateKey(McEliece_PrivateKey&&)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: McEliece_PrivateKey::~McEliece_PrivateKey()
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void McEliece_PrivateKey::~McEliece_PrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_degree
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:39,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:39,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:44,1
    - Dst: ceil_log2
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:44,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:44,1
    - Dst: get_degree
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:44,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' goppa_polyn'
    - ' parity_check_matrix_coeffs'
    - ' square_root_matrix'
    - ' inverse_support'
    - ' public_matrix'
    argTypes:
    - polyn_gf2m
    - std::vector<uint32_t>
    - std::vector<polyn_gf2m>
    - std::vector<gf2m>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: Botan::McEliece_PrivateKey::McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - size
    - ceil_log2
    - get_degree
    linkageType: ''
    returnType: void
    signature: "void McEliece_PrivateKey::McEliece_PrivateKey(const polyn_gf2m& goppa_polyn,\n
      \                                        const std::vector<uint32_t>& parity_check_matrix_coeffs,\n
      \                                        const std::vector<polyn_gf2m>& square_root_matrix,\n
      \                                        const std::vector<gf2m>& inverse_support,\n
      \                                        const std::vector<uint8_t>& public_matrix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_mceliece_key
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rng'
    - code_length
    - t
    argTypes:
    - RandomNumberGenerator
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::McEliece_PrivateKey::McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - generate_mceliece_key
    linkageType: ''
    returnType: void
    signature: void McEliece_PrivateKey::McEliece_PrivateKey(RandomNumberGenerator&
      rng, size_t code_length, size_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& McEliece_PrivateKey::get_goppa_polyn() const'
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: polyn_gf2m
    signature: polyn_gf2m & McEliece_PrivateKey::get_goppa_polyn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Botan::McEliece_PublicKey::get_message_word_bit_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t McEliece_PublicKey::get_message_word_bit_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:65,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:65,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:65,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: Botan::McEliece_PublicKey::random_plaintext_element
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - randomize
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> McEliece_PublicKey::random_plaintext_element(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:77,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::McEliece_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier McEliece_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::McEliece_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> McEliece_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:86,1
    - Dst: get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:89,1
    - Dst: get_t
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: Botan::McEliece_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - get_code_length
    - get_t
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> McEliece_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan::McEliece_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t McEliece_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mceliece_work_factor
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: Botan::McEliece_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - mceliece_work_factor
    linkageType: ''
    returnType: size_t
    signature: size_t McEliece_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: Botan::McEliece_PublicKey::McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::start_sequence
    linkageType: ''
    returnType: void
    signature: void McEliece_PublicKey::McEliece_PublicKey(std::span<const uint8_t>
      key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:122,1
    - Dst: get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:124,1
    - Dst: get_t
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:125,1
    - Dst: encode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:128,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:129,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:130,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:131,1
    - Dst: encode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:131,1
    - Dst: DER_Encoder::end_cons
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:133,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:137,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:137,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:138,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:138,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:140,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:143,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:143,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:144,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:144,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:145,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:145,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:146,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:146,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:148,1
    - Dst: DER_Encoder::end_cons
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:149,1
    - Dst: DER_Encoder::get_contents
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 151
    functionName: Botan::McEliece_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 2
    functionsReached:
    - get_byte<3>
    - secure_vector::push_back
    - get_code_length
    - get_byte<2>
    - get_byte<1>
    - encode
    - DER_Encoder::encode
    - DER_Encoder::get_contents
    - DER_Encoder::start_sequence
    - size
    - get_byte<0>
    - DER_Encoder::end_cons
    - get_t
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> McEliece_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::McEliece_PrivateKey::random_plaintext_element
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:154,1
    - Dst: mceliece_encrypt
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:158,1
    - Dst: mceliece_decrypt
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: Botan::McEliece_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 1
    functionsReached:
    - mceliece_encrypt
    - mceliece_decrypt
    - Botan::McEliece_PrivateKey::random_plaintext_element
    linkageType: ''
    returnType: bool
    signature: bool McEliece_PrivateKey::check_key(RandomNumberGenerator& rng, bool
      /*unused*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:175,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:184,1
    - Dst: std::make_shared<GF2m_Field>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:193,1
    - Dst: polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:194,1
    - Dst: get_degree
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:195,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:195,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:196,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:198,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:201,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:202,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:204,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:205,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:207,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:208,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:210,1
    - Dst: polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:210,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:213,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:214,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:215,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:217,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:218,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:222,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:225,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:226,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:227,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:229,1
    - Dst: bit_size_to_32bit_size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:229,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:230,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:233,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:235,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 237
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 237
    functionName: Botan::McEliece_PrivateKey::McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::decode
    - BER_Decoder::start_sequence
    - polyn_gf2m
    - secure_vector::push_back
    - BER_Decoder::end_cons
    - get_degree
    - bit_size_to_32bit_size
    - static_cast<int>
    - std::make_shared<GF2m_Field>
    - Decoding_Error
    - secure_vector::size
    - push_back
    linkageType: ''
    returnType: void
    signature: void McEliece_PrivateKey::McEliece_PrivateKey(std::span<const uint8_t>
      key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const McEliece_PublicKey*>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:240,1
    - Dst: static_cast<const McEliece_PublicKey*>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - McEliece_PrivateKey
    constantsTouched: []
    func_position:
      end: 262
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 262
    functionName: McEliece_PrivateKey::operator==(const McEliece_PrivateKey& other)
      const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const McEliece_PublicKey*>
    linkageType: ''
    returnType: bool
    signature: bool McEliece_PrivateKey::operator==(const McEliece_PrivateKey& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<McEliece_PublicKey>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:265,1
    - Dst: get_public_matrix
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:265,1
    - Dst: get_t
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:265,1
    - Dst: get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: Botan::McEliece_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<McEliece_PublicKey>
    - get_public_matrix
    - get_code_length
    - get_t
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> McEliece_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - McEliece_PublicKey
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: McEliece_PublicKey::operator==(const McEliece_PublicKey& other)
      const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool McEliece_PublicKey::operator==(const McEliece_PublicKey& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - kdf
    argTypes:
    - McEliece_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: Botan::MCE_KEM_Encryptor::MCE_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MCE_KEM_Encryptor(const McEliece_PublicKey& key, std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: Botan::MCE_KEM_Encryptor::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: Botan::MCE_KEM_Encryptor::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - get_code_length
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_plaintext_element
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:300,1
    - Dst: mceliece_encrypt
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:303,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:306,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:306,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:306,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:307,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:307,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:307,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:307,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:309,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:309,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:309,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:309,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:311,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - out_encapsulated_key
    - raw_shared_key
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 313
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 313
    functionName: Botan::MCE_KEM_Encryptor::raw_kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::begin
    - random_plaintext_element
    - std::span<uint8_t>::size
    - copy
    - BufferStuffer::append
    - secure_vector::begin
    - mceliece_encrypt
    - size
    - secure_vector::size
    - secure_vector::end
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void raw_kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n                           std::span<uint8_t>
      raw_shared_key,\n                           RandomNumberGenerator& rng) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - kdf
    argTypes:
    - McEliece_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: Botan::MCE_KEM_Decryptor::MCE_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MCE_KEM_Decryptor(const McEliece_PrivateKey& key, std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: Botan::MCE_KEM_Decryptor::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: Botan::MCE_KEM_Decryptor::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - get_code_length
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mceliece_decrypt
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:334,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:334,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:334,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:337,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:337,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:337,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:337,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:339,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out_shared_key
    - encapsulated_key
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: Botan::MCE_KEM_Decryptor::raw_kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - BufferStuffer::append
    - std::span<const uint8_t>::size
    - mceliece_decrypt
    - size
    - std::span<const uint8_t>::data
    - secure_vector::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void raw_kem_decrypt(std::span<uint8_t> out_shared_key, std::span<const
      uint8_t> encapsulated_key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<McEliece_PrivateKey>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:349,1
    - Dst: get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:349,1
    - Dst: get_t
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: Botan::McEliece_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - get_code_length
    - std::make_unique<McEliece_PrivateKey>
    - get_t
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> McEliece_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:354,1
    - Dst: std::make_unique<MCE_KEM_Encryptor>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:355,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:357,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: Botan::McEliece_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<MCE_KEM_Encryptor>
    - Provider_Not_Found
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> McEliece_PublicKey::create_kem_encryption_op(std::string_view
      params,\n                                                                                     std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:363,1
    - Dst: std::make_unique<MCE_KEM_Decryptor>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:364,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:366,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: Botan::McEliece_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<MCE_KEM_Decryptor>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> McEliece_PrivateKey::create_kem_decryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                                      std::string_view
      params,\n                                                                                      std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf2m
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::generate_gf2m_mask
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m generate_gf2m_mask(gf2m a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: Botan::nlz_16bit
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned nlz_16bit(uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_mask_16bit
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:64,1
    - Dst: const_cast<polyn_gf2m*>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: Botan::polyn_gf2m::calc_degree_secure
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - expand_mask_16bit
    - const_cast<polyn_gf2m*>
    linkageType: ''
    returnType: int
    signature: int polyn_gf2m::calc_degree_secure() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:76,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: Botan::random_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - Botan::make_uint16
    - Botan::randomize
    linkageType: ''
    returnType: gf2m
    signature: gf2m random_gf2m(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:82,1
    - Dst: Botan::random_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - code_length
    - ' rng'
    argTypes:
    - uint16_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: Botan::random_code_element
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    - Botan::random_gf2m
    linkageType: ''
    returnType: gf2m
    signature: gf2m random_code_element(uint16_t code_length, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::polyn_gf2m(const polyn_gf2m& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - d
    - ' sp_field'
    argTypes:
    - int
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::polyn_gf2m(int d, const std::shared_ptr<GF2m_Field>&
      sp_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Botan::polyn_gf2m::realloc
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - secure_vector<gf2m>
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::realloc(uint32_t new_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:112,1
    - Dst: secure_vector<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:116,1
    - Dst: decode_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:119,1
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:123,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:124,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - mem
    - mem_len
    - ' sp_field'
    argTypes:
    - uint8_t*
    - uint32_t
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 128
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 128
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::get_degree
    - decode_gf2m
    - secure_vector<gf2m>
    - get_extension_degree
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::polyn_gf2m(const uint8_t* mem, uint32_t mem_len, const
      std::shared_ptr<GF2m_Field>& sp_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' sp_field'
    argTypes:
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::polyn_gf2m(const std::shared_ptr<GF2m_Field>& sp_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:141,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:142,1
    - Dst: secure_vector<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:144,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:145,1
    - Dst: Botan::polyn_gf2m::m_sp_field::get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:145,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:158,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - degree
    - mem
    - mem_byte_len
    - ' sp_field'
    argTypes:
    - int
    - uint8_t*
    - size_t
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 162
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 162
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::m_sp_field::get_extension_degree
    - Botan::polyn_gf2m::get_degree
    - static_cast<gf2m>
    - secure_vector<gf2m>
    - Botan::polyn_gf2m::set_coef
    - get_extension_degree
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: "void polyn_gf2m::polyn_gf2m(int degree,\n                       const
      uint8_t* mem,\n                       size_t mem_byte_len,\n                       const
      std::shared_ptr<GF2m_Field>& sp_field)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:165,1
    - Dst: Botan::polyn_gf2m::m_coeff::size
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: Botan::polyn_gf2m::set_to_zero
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - Botan::polyn_gf2m::m_coeff::size
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::set_to_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<polyn_gf2m*>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: Botan::polyn_gf2m::get_degree
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 2
    functionsReached:
    - const_cast<polyn_gf2m*>
    linkageType: ''
    returnType: int
    signature: int polyn_gf2m::get_degree() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - coeff
    - a
    - d
    - ' sp_field'
    argTypes:
    - gf2m*
    - gf2m
    - int
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: Botan::eval_aux
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::gf_mul
    linkageType: ''
    returnType: gf2m
    signature: gf2m eval_aux(const gf2m* /*restrict*/ coeff, gf2m a, int d, const
      std::shared_ptr<GF2m_Field>& sp_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eval_aux
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf2m
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: Botan::polyn_gf2m::eval
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - eval_aux
    linkageType: ''
    returnType: gf2m
    signature: gf2m polyn_gf2m::eval(gf2m a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:203,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:203,1
    - Dst: std::shared_ptr::gf_inv_rn
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:205,1
    - Dst: Botan::polyn_gf2m::get_lead_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:205,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:209,1
    - Dst: std::shared_ptr::gf_mul_rrn
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:213,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:214,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:215,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:217,1
    - Dst: Botan::polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:220,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:220,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:221,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:221,1
    - Dst: Botan::polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:222,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ' p'
    - ' g'
    argTypes:
    - polyn_gf2m
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 225
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 225
    functionName: Botan::polyn_gf2m::remainder
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::get_lead_coef
    - Botan::polyn_gf2m::get_degree
    - Botan::polyn_gf2m::set_degree
    - std::shared_ptr::gf_inv_rn
    - BOTAN_ASSERT
    - Botan::polyn_gf2m::set_coef
    - std::shared_ptr::gf_mul_zrz
    - std::shared_ptr::gf_mul_rrn
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::remainder(polyn_gf2m& p, const polyn_gf2m& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:231,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:239,1
    - Dst: Botan::polyn_gf2m::polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:239,1
    - Dst: Botan::polyn_gf2m::get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:239,1
    - Dst: Botan::polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:242,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:243,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:247,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:248,1
    - Dst: Botan::polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:249,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:249,1
    - Dst: Botan::polyn_gf2m::remainder
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 253
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 253
    functionName: Botan::polyn_gf2m::sqmod_init
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - Botan::polyn_gf2m::get_degree
    - Botan::polyn_gf2m::set_degree
    - Botan::polyn_gf2m::get_sp_field
    - copy_mem
    - Invalid_Argument
    - Botan::polyn_gf2m::set_coef
    - Botan::polyn_gf2m::polyn_gf2m
    - std::vector::push_back
    - Botan::polyn_gf2m::remainder
    linkageType: ''
    returnType: std::vector<polyn_gf2m>
    signature: std::vector<polyn_gf2m> polyn_gf2m::sqmod_init(const polyn_gf2m& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:266,1
    - Dst: std::shared_ptr::gf_square
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:266,1
    - Dst: std::shared_ptr::gf_log
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:273,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:274,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:276,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:282,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:283,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:283,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:284,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' sq'
    - d
    argTypes:
    - std::vector<polyn_gf2m>
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 287
    functionName: Botan::polyn_gf2m::sqmod
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::gf_log
    - std::shared_ptr::gf_square
    - polyn_gf2m::get_degree
    - Botan::polyn_gf2m::set_coef
    - std::shared_ptr::gf_mul_zrz
    - polyn_gf2m::set_degree
    - std::shared_ptr::gf_mul_rrr
    linkageType: ''
    returnType: polyn_gf2m
    signature: polyn_gf2m polyn_gf2m::sqmod(const std::vector<polyn_gf2m>& sq, int
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:291,1
    - Dst: Botan::polyn_gf2m::remainder
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:294,1
    - Dst: Botan::polyn_gf2m::gcd_aux
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - polyn_gf2m
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: Botan::polyn_gf2m::gcd_aux
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - Botan::polyn_gf2m::gcd_aux
    - Botan::polyn_gf2m::remainder
    - Botan::polyn_gf2m::get_degree
    linkageType: ''
    returnType: polyn_gf2m
    signature: polyn_gf2m polyn_gf2m::gcd_aux(polyn_gf2m& p1, polyn_gf2m& p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:302,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:302,1
    - Dst: Botan::polyn_gf2m::polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:303,1
    - Dst: Botan::polyn_gf2m::gcd_aux
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:303,1
    - Dst: Botan::polyn_gf2m::polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:305,1
    - Dst: Botan::polyn_gf2m::gcd_aux
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - polyn_gf2m
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: Botan::polyn_gf2m::gcd
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::polyn_gf2m
    - polyn_gf2m::get_degree
    - Botan::polyn_gf2m::gcd_aux
    linkageType: ''
    returnType: polyn_gf2m
    signature: polyn_gf2m polyn_gf2m::gcd(const polyn_gf2m& p1, const polyn_gf2m&
      p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:311,1
    - Dst: Botan::polyn_gf2m::sqmod_init
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:315,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:319,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:320,1
    - Dst: polyn_gf2m::sqmod
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:323,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:326,1
    - Dst: Botan::polyn_gf2m::gcd
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:327,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:329,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 343
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 343
    functionName: Botan::polyn_gf2m::degppf
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - polyn_gf2m::get_degree
    - Botan::polyn_gf2m::get_sp_field
    - polyn_gf2m::sqmod
    - Botan::polyn_gf2m::gcd
    - Botan::polyn_gf2m::sqmod_init
    - Botan::polyn_gf2m::set_coef
    - polyn_gf2m::set_degree
    linkageType: ''
    returnType: size_t
    signature: size_t polyn_gf2m::degppf(const polyn_gf2m& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::m_coeff::size
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:347,1
    - Dst: Botan::polyn_gf2m::m_coeff::size
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:350,1
    - Dst: expand_mask_16bit
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:354,1
    - Dst: Botan::polyn_gf2m::calc_degree_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - trgt_deg
    - patch_elem
    argTypes:
    - uint32_t
    - gf2m
    constantsTouched: []
    func_position:
      end: 358
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 358
    functionName: Botan::polyn_gf2m::patchup_deg_secure
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::m_coeff::size
    - expand_mask_16bit
    - Botan::polyn_gf2m::calc_degree_secure
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::patchup_deg_secure(uint32_t trgt_deg, gf2m patch_elem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:372,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:374,1
    - Dst: polyn_gf2m::set_to_zero
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:383,1
    - Dst: polyn_gf2m::set_to_zero
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:384,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:385,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:386,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:395,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:396,1
    - Dst: std::shared_ptr::gf_div
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:400,1
    - Dst: std::shared_ptr::gf_log
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:402,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:405,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:409,1
    - Dst: polyn_gf2m::calc_degree_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:423,1
    - Dst: polyn_gf2m::calc_degree_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:424,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:425,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:427,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:430,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:431,1
    - Dst: generate_gf2m_mask
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:435,1
    - Dst: polyn_gf2m::patchup_deg_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:437,1
    - Dst: polyn_gf2m::calc_degree_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:443,1
    - Dst: polyn_gf2m::calc_degree_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:444,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:460,1
    - Dst: expand_mask_16bit
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:483,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:486,1
    - Dst: expand_mask_16bit
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:495,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:498,1
    - Dst: expand_mask_16bit
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:509,1
    - Dst: polyn_gf2m::patchup_deg_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:513,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:532,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:533,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:535,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 76
    argCount: 3
    argNames:
    - ' p'
    - ' g'
    - break_deg
    argTypes:
    - polyn_gf2m
    - polyn_gf2m
    - int
    constantsTouched: []
    func_position:
      end: 536
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 536
    functionName: Botan::polyn_gf2m::eea_with_coefficients
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - Botan::polyn_gf2m::get_degree
    - std::shared_ptr::gf_log
    - polyn_gf2m::get_degree
    - polyn_gf2m::patchup_deg_secure
    - expand_mask_16bit
    - polyn_gf2m::set_to_zero
    - BOTAN_ASSERT
    - Botan::polyn_gf2m::set_coef
    - polyn_gf2m::calc_degree_secure
    - std::shared_ptr::gf_mul_zrz
    - std::make_pair
    - generate_gf2m_mask
    - std::shared_ptr::gf_div
    - polyn_gf2m::set_degree
    linkageType: ''
    returnType: std::pair<polyn_gf2m, polyn_gf2m>
    signature: "std::pair<polyn_gf2m, polyn_gf2m> polyn_gf2m::eea_with_coefficients(const
      polyn_gf2m& p,\n                                                                    const
      polyn_gf2m& g,\n                                                                    int
      break_deg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:539,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:540,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:543,1
    - Dst: random_code_element
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:543,1
    - Dst: get_cardinality
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - t
    - ' rng'
    - ' sp_field'
    argTypes:
    - size_t
    - RandomNumberGenerator
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 552
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 552
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - Botan::polyn_gf2m::set_coef
    - get_cardinality
    - random_code_element
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::polyn_gf2m(size_t t, RandomNumberGenerator& rng, const
      std::shared_ptr<GF2m_Field>& sp_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:555,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:556,1
    - Dst: std::shared_ptr::gf_div
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:561,1
    - Dst: Botan::polyn_gf2m::m_sp_field::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:563,1
    - Dst: std::shared_ptr::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 566
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 566
    functionName: Botan::polyn_gf2m::poly_shiftmod
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::gf_mul
    - Botan::polyn_gf2m::m_sp_field::gf_mul
    - Botan::polyn_gf2m::get_degree
    - Invalid_Argument
    - std::shared_ptr::gf_div
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::poly_shiftmod(const polyn_gf2m& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:573,1
    - Dst: Botan::polyn_gf2m::sqmod_init
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:576,1
    - Dst: Botan::polyn_gf2m::get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:578,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:579,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:581,1
    - Dst: std::shared_ptr::get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:583,1
    - Dst: polyn_gf2m::sqmod
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:585,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:594,1
    - Dst: Botan::polyn_gf2m::polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:594,1
    - Dst: Botan::polyn_gf2m::get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:594,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:598,1
    - Dst: Botan::polyn_gf2m::poly_shiftmod
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:601,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 606
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 606
    functionName: Botan::polyn_gf2m::sqrt_mod_init
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - Botan::polyn_gf2m::get_degree
    - std::shared_ptr::get_extension_degree
    - Botan::polyn_gf2m::poly_shiftmod
    - Botan::polyn_gf2m::get_sp_field
    - polyn_gf2m::sqmod
    - Botan::polyn_gf2m::sqmod_init
    - Botan::polyn_gf2m::set_coef
    - Botan::polyn_gf2m::polyn_gf2m
    - polyn_gf2m::set_degree
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<polyn_gf2m>
    signature: std::vector<polyn_gf2m> polyn_gf2m::sqrt_mod_init(const polyn_gf2m&
      g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:612,1
    - Dst: get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:615,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:621,1
    - Dst: polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:621,1
    - Dst: set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:623,1
    - Dst: set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:625,1
    - Dst: std::shared_ptr::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:625,1
    - Dst: Botan::lex_to_gray
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:625,1
    - Dst: std::shared_ptr::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:627,1
    - Dst: Botan::lex_to_gray
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:627,1
    - Dst: set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:629,1
    - Dst: std::shared_ptr::gf_div
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ' generator'
    - ' support'
    - n
    argTypes:
    - polyn_gf2m
    - std::vector<gf2m>
    - int
    constantsTouched: []
    func_position:
      end: 633
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 633
    functionName: Botan::syndrome_init
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - std::shared_ptr::gf_mul
    - Botan::lex_to_gray
    - polyn_gf2m
    - get_degree
    - get_sp_field
    - std::shared_ptr::gf_div
    - std::vector::push_back
    - set_coef
    linkageType: ''
    returnType: std::vector<polyn_gf2m>
    signature: std::vector<polyn_gf2m> syndrome_init(const polyn_gf2m& generator,
      const std::vector<gf2m>& support, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:637,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:638,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:640,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:642,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' encoded'
    - ' sp_field'
    argTypes:
    - secure_vector<uint8_t>
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 645
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 645
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 3
    functionsReached:
    - Botan::polyn_gf2m::get_degree
    - Decoding_Error
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::polyn_gf2m(const secure_vector<uint8_t>& encoded,
      const std::shared_ptr<GF2m_Field>& sp_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:651,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:652,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:659,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:659,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:660,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 663
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 663
    functionName: Botan::polyn_gf2m::encode
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - secure_vector::push_back
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> polyn_gf2m::encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:666,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:667,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: Botan::polyn_gf2m::swap
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::swap(polyn_gf2m& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 676
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 676
    functionName: polyn_gf2m::operator==(const polyn_gf2m& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool polyn_gf2m::operator==(const polyn_gf2m& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::ECDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_PublicKey(const EC_Group& group, const EC_Point& public_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: Botan::ECDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_PublicKey(const AlgorithmIdentifier& alg_id, std::span<const
      uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 0
    functionsReached:
    - Botan::domain
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> _signature_element_size_for_DER_encoding() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - group
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: ECDSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECDSA_PrivateKey(RandomNumberGenerator& rng, EC_Group group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - ' group'
    - ' x'
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: ECDSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_PrivateKey(RandomNumberGenerator& rng, const EC_Group& group,
      const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_cofactor
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:26,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:27,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:31,1
    - Dst: get_order
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:34,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:37,1
    - Dst: BigInt::bytes
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:50,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:54,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:54,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:56,1
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:58,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:59,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:61,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:63,1
    - Dst: EC_Group::Mul2Table::mul2_vartime
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:64,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:65,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:70,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 5
    argNames:
    - ' group'
    - ' msg'
    - ' r'
    - ' s'
    - v
    argTypes:
    - EC_Group
    - std::vector<uint8_t>
    - BigInt
    - BigInt
    - uint8_t
    constantsTouched: []
    func_position:
      end: 71
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 71
    functionName: Botan::recover_ecdsa_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_order
    - subspan
    - BigInt::bytes
    - Botan::Decoding_Error
    - BigInt::serialize_to
    - Botan::EC_Scalar::from_bigint
    - auto::value
    - Botan::EC_Scalar::from_bytes_with_trunc
    - has_cofactor
    - Invalid_Argument
    - Botan::EC_AffinePoint::deserialize
    - EC_Group::Mul2Table::mul2_vartime
    linkageType: ''
    returnType: EC_AffinePoint
    signature: "EC_AffinePoint recover_ecdsa_public_key(\n   const EC_Group& group,
      const std::vector<uint8_t>& msg, const BigInt& r, const BigInt& s, uint8_t v)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recover_ecdsa_public_key
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' group'
    - ' msg'
    - ' r'
    - ' s'
    - v
    argTypes:
    - EC_Group
    - std::vector<uint8_t>
    - BigInt
    - BigInt
    - uint8_t
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Botan::ECDSA_PublicKey::ECDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - recover_ecdsa_public_key
    linkageType: ''
    returnType: void
    signature: "void ECDSA_PublicKey::ECDSA_PublicKey(\n   const EC_Group& group,
      const std::vector<uint8_t>& msg, const BigInt& r, const BigInt& s, uint8_t v)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:80,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::ECDSA_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<ECDSA_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> ECDSA_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ECDSA_PublicKey::_public_ec_point
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:84,1
    - Dst: recover_ecdsa_public_key
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:88,1
    - Dst: Botan::ECDSA_PublicKey::domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:88,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:90,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' msg'
    - ' r'
    - ' s'
    argTypes:
    - std::vector<uint8_t>
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: Botan::ECDSA_PublicKey::recovery_param
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - recover_ecdsa_public_key
    - Botan::ECDSA_PublicKey::domain
    - Internal_Error
    - auto::serialize_compressed
    - Botan::ECDSA_PublicKey::_public_ec_point
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ECDSA_PublicKey::recovery_param(const std::vector<uint8_t>&
      msg, const BigInt& r, const BigInt& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECDSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:102,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:102,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: Botan::ECDSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 2
    functionsReached:
    - domain
    - _public_ec_point
    - std::make_unique<ECDSA_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> ECDSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:106,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: Botan::ECDSA_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::KeyPair::signature_consistency_check
    - Botan::EC_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool ECDSA_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:126,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:127,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:128,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:129,1
    - Dst: std::make_unique<RFC6979_Nonce_Generator>
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:131,1
    - Dst: Botan::ECDSA_Signature_Operation::rfc6979_hash_function
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:132,1
    - Dst: get_order_bits
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:132,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ecdsa'
    - padding
    - ' rng'
    argTypes:
    - ECDSA_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: Botan::ECDSA_Signature_Operation::ECDSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - _private_key
    - domain
    - get_order_bits
    - invert
    - Botan::ECDSA_Signature_Operation::rfc6979_hash_function
    - std::make_unique<RFC6979_Nonce_Generator>
    - Botan::EC_Scalar::random
    linkageType: ''
    returnType: void
    signature: void ECDSA_Signature_Operation(const ECDSA_PrivateKey& ecdsa, std::string_view
      padding, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: Botan::ECDSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_order_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:155,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:156,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: Botan::ECDSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::OID::from_string
    - hash_function
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier ECDSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:161,1
    - Dst: nonce_for
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:164,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:166,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:169,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:172,1
    - Dst: square_self
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:177,1
    - Dst: square_self
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:178,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:185,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:185,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:186,1
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 190
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 190
    functionName: Botan::ECDSA_Signature_Operation::raw_sign
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    - Botan::EC_Scalar::from_bytes_with_trunc
    - square_self
    - invert
    - Botan::EC_Scalar::gk_x_mod_order
    - auto::is_zero
    - Botan::EC_Scalar::random
    - Botan::EC_Scalar::deserialize_pair
    - nonce_for
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ECDSA_Signature_Operation::raw_sign(std::span<const
      uint8_t> msg, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:198,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ecdsa'
    - padding
    argTypes:
    - ECDSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: Botan::ECDSA_Verification_Operation::ECDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: void
    signature: void ECDSA_Verification_Operation(const ECDSA_PublicKey& ecdsa, std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:202,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ecdsa'
    - ' alg_id'
    argTypes:
    - ECDSA_PublicKey
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: Botan::ECDSA_Verification_Operation::ECDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: void
    signature: void ECDSA_Verification_Operation(const ECDSA_PublicKey& ecdsa, const
      AlgorithmIdentifier& alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:213,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:214,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:216,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:216,1
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:217,1
    - Dst: invert_vartime
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:219,1
    - Dst: mul2_vartime_x_mod_order_eq
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - sig
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 227
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 227
    functionName: Botan::ECDSA_Verification_Operation::verify
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - mul2_vartime_x_mod_order_eq
    - auto::value
    - Botan::EC_Scalar::from_bytes_with_trunc
    - is_nonzero
    - invert_vartime
    - Botan::EC_Scalar::deserialize_pair
    linkageType: ''
    returnType: bool
    signature: bool ECDSA_Verification_Operation::verify(std::span<const uint8_t>
      msg, std::span<const uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:233,1
    - Dst: std::make_unique<ECDSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:234,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:237,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: Botan::ECDSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<ECDSA_Verification_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> ECDSA_PublicKey::create_verification_op(std::string_view
      params,\n                                                                              std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:242,1
    - Dst: std::make_unique<ECDSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:243,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:246,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: Botan::ECDSA_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<ECDSA_Verification_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> ECDSA_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:252,1
    - Dst: std::make_unique<ECDSA_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:253,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:256,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: Botan::ECDSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<ECDSA_Signature_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> ECDSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      rng,\n                                                                         std::string_view
      params,\n                                                                         std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::DSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dsa/dsa.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::shared_ptr<const DL_PublicKey>
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::DSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DSA_PublicKey(std::shared_ptr<const DL_PublicKey> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::DSA_PublicKey::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> DSA_PublicKey::_signature_element_size_for_DER_encoding()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DSA_PublicKey::estimated_strength
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan::DSA_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::DSA_PublicKey::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t DSA_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::DSA_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - p_bits
    linkageType: ''
    returnType: size_t
    signature: size_t DSA_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_field
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:36,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '& DSA_PublicKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - get_int_field
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DSA_PublicKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:40,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:40,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::DSA_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    - group
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier DSA_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_as_bytes
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::DSA_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - public_key_as_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DSA_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_encode
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::DSA_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DSA_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DSA_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::DSA_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::DSA_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool DSA_PublicKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:56,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::DSA_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - group
    - std::make_unique<DSA_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> DSA_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:60,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:62,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: Botan::DSA_PublicKey::DSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::make_shared<DL_PublicKey>
    - group
    linkageType: ''
    returnType: void
    signature: void DSA_PublicKey::DSA_PublicKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:66,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:68,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' group'
    - ' y'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Botan::DSA_PublicKey::DSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::make_shared<DL_PublicKey>
    - group
    linkageType: ''
    returnType: void
    signature: void DSA_PublicKey::DSA_PublicKey(const DL_Group& group, const BigInt&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:72,1
    - Dst: has_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:72,1
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:74,1
    - Dst: Botan::DSA_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' rng'
    - ' group'
    argTypes:
    - RandomNumberGenerator
    - DL_Group
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: Botan::DSA_PrivateKey::DSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::DSA_PrivateKey::public_key
    - std::make_shared<DL_PrivateKey>
    - has_q
    linkageType: ''
    returnType: void
    signature: void DSA_PrivateKey::DSA_PrivateKey(RandomNumberGenerator& rng, const
      DL_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:79,1
    - Dst: has_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:79,1
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:81,1
    - Dst: Botan::DSA_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' group'
    - ' x'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: Botan::DSA_PrivateKey::DSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::DSA_PrivateKey::public_key
    - std::make_shared<DL_PrivateKey>
    - has_q
    linkageType: ''
    returnType: void
    signature: void DSA_PrivateKey::DSA_PrivateKey(const DL_Group& group, const BigInt&
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:86,1
    - Dst: Botan::DSA_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:87,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:89,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: Botan::DSA_PrivateKey::DSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::DSA_PrivateKey::public_key
    - std::make_shared<DL_PrivateKey>
    - group
    linkageType: ''
    returnType: void
    signature: void DSA_PrivateKey::DSA_PrivateKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DSA_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:93,1
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:97,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:97,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: Botan::DSA_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::DSA_PrivateKey::check_key
    - Botan::KeyPair::signature_consistency_check
    - private_key
    - group
    linkageType: ''
    returnType: bool
    signature: bool DSA_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_encode
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: Botan::DSA_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DSA_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DSA_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::DSA_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::DSA_PrivateKey::raw_private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DSA_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_field
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:113,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '& DSA_PrivateKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - get_int_field
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DSA_PrivateKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<DSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:118,1
    - Dst: DSA_PublicKey::DSA_PublicKey
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: Botan::DSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr<DSA_PublicKey>
    - DSA_PublicKey::DSA_PublicKey
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> DSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:132,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:132,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' key'
    - emsa
    - ' rng'
    argTypes:
    - std::shared_ptr<const DL_PrivateKey>
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: Botan::DSA_Signature_Operation::DSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::random_integer
    - group
    linkageType: ''
    returnType: void
    signature: "void DSA_Signature_Operation(const std::shared_ptr<const DL_PrivateKey>&
      key,\n                              std::string_view emsa,\n                              RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: Botan::DSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:148,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:149,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: Botan::DSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::OID::from_string
    - hash_function
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier DSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:154,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:155,1
    - Dst: Botan::BigInt::from_bytes_with_max_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:157,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:157,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:157,1
    - Dst: q_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:157,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:164,1
    - Dst: generate_rfc6979_nonce
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:165,1
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:165,1
    - Dst: Botan::DSA_Signature_Operation::rfc6979_hash_function
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:165,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:167,1
    - Dst: multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:170,1
    - Dst: inverse_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:170,1
    - Dst: mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:170,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:181,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:181,1
    - Dst: q_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:181,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:181,1
    - Dst: square_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:186,1
    - Dst: square_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:187,1
    - Dst: multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:189,1
    - Dst: multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:190,1
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:190,1
    - Dst: multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:192,1
    - Dst: mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:192,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:195,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:195,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:196,1
    - Dst: unlock
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:199,1
    - Dst: Botan::BigInt::encode_fixed_length_int_pair
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:199,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 200
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 200
    functionName: Botan::DSA_Signature_Operation::raw_sign
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - get_q
    - Botan::BigInt::from_bytes_with_max_bits
    - Botan::BigInt::encode_fixed_length_int_pair
    - ct_modulo
    - bytes
    - mod_q
    - generate_rfc6979_nonce
    - multiply_mod_q
    - unlock
    - BOTAN_UNUSED
    - Internal_Error
    - std::span<const uint8_t>::data
    - group
    - private_key
    - square_mod_q
    - power_g_p
    - inverse_mod_q
    - Botan::BigInt::random_integer
    - std::span<const uint8_t>::size
    - BigInt::is_zero
    - Botan::DSA_Signature_Operation::rfc6979_hash_function
    - q_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DSA_Signature_Operation::raw_sign(std::span<const
      uint8_t> msg, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - emsa
    argTypes:
    - std::shared_ptr<const DL_PublicKey>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: Botan::DSA_Verification_Operation::DSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Verification_Operation(const std::shared_ptr<const DL_PublicKey>&
      key, std::string_view emsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - ' alg_id'
    argTypes:
    - std::shared_ptr<const DL_PublicKey>
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: Botan::DSA_Verification_Operation::DSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Verification_Operation(const std::shared_ptr<const DL_PublicKey>&
      key, const AlgorithmIdentifier& alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:220,1
    - Dst: auto::get_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:222,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:225,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:229,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:230,1
    - Dst: Botan::BigInt::from_bytes_with_max_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:236,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:236,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:236,1
    - Dst: auto::q_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:236,1
    - Dst: auto::inverse_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:241,1
    - Dst: auto::multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:243,1
    - Dst: auto::multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:244,1
    - Dst: auto::multi_exponentiate
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:246,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:246,1
    - Dst: auto::get_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - input
    - sig
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 250
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 250
    functionName: Botan::DSA_Verification_Operation::verify
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::first
    - auto::multi_exponentiate
    - auto::multiply_mod_q
    - Botan::BigInt::from_bytes_with_max_bits
    - public_key
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - auto::q_bits
    - auto::inverse_mod_q
    - auto::get_q
    - group
    linkageType: ''
    returnType: bool
    signature: bool DSA_Verification_Operation::verify(std::span<const uint8_t> input,
      std::span<const uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:256,1
    - Dst: std::make_unique<DSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:257,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:259,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: Botan::DSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<DSA_Verification_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> DSA_PublicKey::create_verification_op(std::string_view
      params,\n                                                                            std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:264,1
    - Dst: std::make_unique<DSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:265,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:268,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: Botan::DSA_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<DSA_Verification_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> DSA_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:274,1
    - Dst: std::make_unique<DSA_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:275,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:277,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: Botan::DSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<DSA_Signature_Operation>
    - Provider_Not_Found
    - algo_name
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> DSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      rng,\n                                                                       std::string_view
      params,\n                                                                       std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: Botan::decode_single_bigint
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: BigInt
    signature: BigInt decode_single_bigint(std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_q
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:24,1
    - Dst: q_bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:24,1
    - Dst: q_bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:24,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:25,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:25,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:27,1
    - Dst: exponent_bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - DL_Group
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: Botan::generate_private_dl_key
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - get_q
    - exponent_bits
    - BigInt
    - Botan::BigInt::random_integer
    - has_q
    - q_bits
    linkageType: ''
    returnType: BigInt
    signature: BigInt generate_private_dl_key(const DL_Group& group, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:32,1
    - Dst: verify_private_element
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' group'
    argTypes:
    - BigInt
    - DL_Group
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Botan::check_dl_private_key_input
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - verify_private_element
    linkageType: ''
    returnType: BigInt
    signature: BigInt check_dl_private_key_input(const BigInt& x, const DL_Group&
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_key'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: Botan::DL_PublicKey::DL_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DL_PublicKey::DL_PublicKey(const DL_Group& group, const BigInt&
      public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:44,1
    - Dst: decode_single_bigint
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' alg_id'
    - key_bits
    - format
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    - DL_Group_Format
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Botan::DL_PublicKey::DL_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - decode_single_bigint
    - parameters
    linkageType: ''
    returnType: void
    signature: "void DL_PublicKey::DL_PublicKey(const AlgorithmIdentifier& alg_id,\n
      \                          std::span<const uint8_t> key_bits,\n                           DL_Group_Format
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:47,1
    - Dst: p_bytes
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::DL_PublicKey::public_key_as_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - p_bytes
    - serialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DL_PublicKey::public_key_as_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: Botan::DL_PublicKey::DER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DL_PublicKey::DER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_group
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:57,1
    - Dst: verify_public_element
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::DL_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - verify_public_element
    - verify_group
    linkageType: ''
    returnType: bool
    signature: bool DL_PublicKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_PublicKey::estimated_strength
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Botan::DL_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 1
    functionsReached:
    - Botan::DL_PublicKey::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t DL_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_PublicKey::p_bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::DL_PublicKey::p_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 1
    functionsReached:
    - Botan::DL_PublicKey::p_bits
    linkageType: ''
    returnType: size_t
    signature: size_t DL_PublicKey::p_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_dl_private_key_input
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:70,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:71,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' private_key'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Botan::DL_PrivateKey::DL_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - power_g_p
    - check_dl_private_key_input
    - bits
    linkageType: ''
    returnType: void
    signature: void DL_PrivateKey::DL_PrivateKey(const DL_Group& group, const BigInt&
      private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_private_dl_key
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:75,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:76,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - DL_Group
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: Botan::DL_PrivateKey::DL_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - power_g_p
    - bits
    - generate_private_dl_key
    linkageType: ''
    returnType: void
    signature: void DL_PrivateKey::DL_PrivateKey(const DL_Group& group, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:81,1
    - Dst: check_dl_private_key_input
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:82,1
    - Dst: decode_single_bigint
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:82,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:83,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' alg_id'
    - key_bits
    - format
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    - DL_Group_Format
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: Botan::DL_PrivateKey::DL_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - power_g_p
    - parameters
    - check_dl_private_key_input
    - bits
    - decode_single_bigint
    linkageType: ''
    returnType: void
    signature: "void DL_PrivateKey::DL_PrivateKey(const AlgorithmIdentifier& alg_id,\n
      \                            std::span<const uint8_t> key_bits,\n                             DL_Group_Format
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::DL_PrivateKey::DER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DL_PrivateKey::DER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: Botan::DL_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - serialize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DL_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_group
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:94,1
    - Dst: verify_private_element
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan::DL_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - verify_group
    - verify_private_element
    linkageType: ''
    returnType: bool
    signature: bool DL_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan::DL_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PublicKey>
    linkageType: ''
    returnType: std::shared_ptr<DL_PublicKey>
    signature: std::shared_ptr<DL_PublicKey> DL_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:103,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:105,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:107,1
    - Dst: Unknown_PK_Field_Name
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - algo
    - field
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: '& DL_PublicKey::get_int_field(std::string_view algo, std::string_view
      field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - get_p
    - get_g
    - get_q
    - Unknown_PK_Field_Name
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DL_PublicKey::get_int_field(std::string_view algo, std::string_view
      field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:117,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:119,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:121,1
    - Dst: Unknown_PK_Field_Name
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - algo
    - field
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: '& DL_PrivateKey::get_int_field(std::string_view algo, std::string_view
      field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - get_p
    - get_g
    - get_q
    - Unknown_PK_Field_Name
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DL_PrivateKey::get_int_field(std::string_view algo, std::string_view
      field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group & group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& public_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group & group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& private_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:24,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:25,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:26,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:27,1
    - Dst: fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:28,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:29,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:30,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:31,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:32,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:33,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:34,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:35,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:36,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:37,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:38,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:39,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:40,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:41,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:42,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:43,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:44,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 48
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 48
    functionName: Botan::FE_25519::invert
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - fe_sq_iter
    - fe_sq
    - fe_mul
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 FE_25519::invert(const FE_25519& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:55,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:56,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:57,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:58,1
    - Dst: fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:59,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:60,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:61,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:62,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:63,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:64,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:65,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:66,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:67,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:68,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:69,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:70,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:71,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:72,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:73,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:74,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:75,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 79
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 79
    functionName: Botan::FE_25519::pow_22523
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - fe_sq_iter
    - fe_sq
    - fe_mul
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 FE_25519::pow_22523(const FE_25519& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:270,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:271,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:278,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:279,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:286,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:287,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:293,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:294,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:300,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:301,1
    - Dst: carry<25, 19>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:307,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:312,1
    - Dst: Botan::FE_25519::FE_25519
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ' f'
    - ' g'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 317
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 317
    functionName: Botan::FE_25519::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - carry<25, 19>
    - Botan::FE_25519::FE_25519
    - carry<25>
    - carry<26>
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 FE_25519::mul(const FE_25519& f, const FE_25519& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:429,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:430,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:431,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:432,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:433,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:434,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:436,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:437,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:439,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:440,1
    - Dst: carry<25, 19>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:441,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:442,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:444,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:445,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:446,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:447,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:448,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:449,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:450,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:451,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:452,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:453,1
    - Dst: Botan::FE_25519::FE_25519
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - ' f'
    - iter
    argTypes:
    - FE_25519
    - size_t
    constantsTouched: []
    func_position:
      end: 457
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 457
    functionName: Botan::FE_25519::sqr_iter
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - carry<25, 19>
    - static_cast<int32_t>
    - carry<26>
    - carry<25>
    - Botan::FE_25519::FE_25519
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 FE_25519::sqr_iter(const FE_25519& f, size_t iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:577,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:578,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:580,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:581,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:583,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:584,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:586,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:587,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:588,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:589,1
    - Dst: carry<25, 19>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:590,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:591,1
    - Dst: Botan::FE_25519::FE_25519
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 594
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 594
    functionName: Botan::FE_25519::sqr2
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - carry<25, 19>
    - Botan::FE_25519::FE_25519
    - carry<25>
    - carry<26>
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 FE_25519::sqr2(const FE_25519& f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: carry<25, 19>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:612,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:613,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:614,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:615,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:616,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:618,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:619,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:620,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:621,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:622,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:624,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:625,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:626,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:627,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:628,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:629,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:630,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:631,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:632,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 634
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 634
    functionName: Botan::FE_25519::from_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - carry<25, 19>
    - carry<25>
    - static_cast<int32_t>
    - carry<26>
    linkageType: ''
    returnType: void
    signature: void FE_25519::from_bytes(const uint8_t s[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:676,1
    - Dst: carry0<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:692,1
    - Dst: carry0<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:693,1
    - Dst: carry0<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:694,1
    - Dst: carry0<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:695,1
    - Dst: carry0<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:696,1
    - Dst: carry0<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:697,1
    - Dst: carry0<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:698,1
    - Dst: carry0<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:699,1
    - Dst: carry0<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:700,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:713,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:714,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:715,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:716,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:717,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:718,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:719,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:720,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:721,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:722,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:723,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:724,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:725,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:726,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:727,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:728,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:729,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:730,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:731,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:732,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:733,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:734,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:735,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:736,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:737,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:738,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:739,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:740,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:741,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:742,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:743,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 745
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 745
    functionName: Botan::FE_25519::to_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - carry0<25>
    - carry0<26>
    - static_cast<int32_t>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void FE_25519::to_bytes(uint8_t s[32]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::get_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.h:48,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::Ed25519_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.h
    functionUses: 3
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void Ed25519_PublicKey(std::span<const uint8_t> pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: get_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & get_private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_private_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:59,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:64,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:69,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:74,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:79,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:84,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:89,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:94,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:99,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:104,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_cached*
    constantsTouched: []
    func_position:
      end: 110
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 110
    functionName: Botan::ge_add
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_add
    - Botan::fe_sub
    - Botan::fe_mul
    linkageType: ''
    returnType: void
    signature: void ge_add(ge_p1p1* r, const ge_p3* p, const ge_cached* q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:119,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:122,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:125,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:128,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:131,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:134,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:137,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:140,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:143,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_precomp*
    constantsTouched: []
    func_position:
      end: 147
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 147
    functionName: Botan::ge_madd
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_add
    - Botan::fe_sub
    - Botan::fe_mul
    linkageType: ''
    returnType: void
    signature: void ge_madd(ge_p1p1* r, const ge_p3* p, const ge_precomp* q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:159,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:164,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:169,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:174,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:179,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:184,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:189,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:194,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:199,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_precomp*
    constantsTouched: []
    func_position:
      end: 205
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 205
    functionName: Botan::ge_msub
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_add
    - Botan::fe_sub
    - Botan::fe_mul
    linkageType: ''
    returnType: void
    signature: void ge_msub(ge_p1p1* r, const ge_p3* p, const ge_precomp* q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:212,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:213,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p2*
    - ge_p1p1*
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: Botan::ge_p1p1_to_p2
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_mul
    linkageType: ''
    returnType: void
    signature: void ge_p1p1_to_p2(ge_p2* r, const ge_p1p1* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:222,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:223,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:224,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p3*
    - ge_p1p1*
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: Botan::ge_p1p1_to_p3
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_mul
    linkageType: ''
    returnType: void
    signature: void ge_p1p1_to_p3(ge_p3* r, const ge_p1p1* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:237,1
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:242,1
    - Dst: Botan::fe_sq2
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:247,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:252,1
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:257,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:262,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:267,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:272,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p1p1*
    - ge_p2*
    constantsTouched: []
    func_position:
      end: 278
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 278
    functionName: Botan::ge_p2_dbl
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_sq
    - Botan::fe_sq2
    - Botan::fe_add
    - Botan::fe_sub
    linkageType: ''
    returnType: void
    signature: void ge_p2_dbl(ge_p1p1* r, const ge_p2* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:281,1
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:282,1
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:283,1
    - Dst: Botan::fe_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: Botan::ge_p3_0
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_0
    - Botan::fe_1
    linkageType: ''
    returnType: void
    signature: void ge_p3_0(ge_p3* h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_p2_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p1p1*
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: Botan::ge_p3_dbl
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::ge_p2_dbl
    linkageType: ''
    returnType: void
    signature: void ge_p3_dbl(ge_p1p1* r, const ge_p3* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:307,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:308,1
    - Dst: Botan::fe_copy
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:309,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_cached*
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: Botan::ge_p3_to_cached
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_add
    - Botan::fe_sub
    - Botan::fe_mul
    - Botan::fe_copy
    linkageType: ''
    returnType: void
    signature: void ge_p3_to_cached(ge_cached* r, const ge_p3* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:322,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:327,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:332,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:337,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:342,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:347,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:352,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:357,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:362,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:367,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_cached*
    constantsTouched: []
    func_position:
      end: 373
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 373
    functionName: Botan::ge_sub
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_add
    - Botan::fe_sub
    - Botan::fe_mul
    linkageType: ''
    returnType: void
    signature: void ge_sub(ge_p1p1* r, const ge_p3* p, const ge_cached* q)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - int8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 403
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 403
    functionName: Botan::slide
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void slide(int8_t* r, const uint8_t* a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_invert
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:410,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:411,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:412,1
    - Dst: Botan::fe_tobytes
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:413,1
    - Dst: Botan::fe_isnegative
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - ge_p2*
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: Botan::ge_tobytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_invert
    - Botan::fe_isnegative
    - Botan::fe_mul
    - Botan::fe_tobytes
    linkageType: ''
    returnType: void
    signature: void ge_tobytes(uint8_t* s, const ge_p2* h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:418,1
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:419,1
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_p2*
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: Botan::ge_p2_0
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_0
    - Botan::fe_1
    linkageType: ''
    returnType: void
    signature: void ge_p2_0(ge_p2* h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_frombytes
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:437,1
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:438,1
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:439,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:440,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:441,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:442,1
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:444,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:445,1
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:446,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:447,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:448,1
    - Dst: Botan::fe_pow22523
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:450,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:451,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:452,1
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:454,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:455,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:456,1
    - Dst: Botan::fe_isnonzero
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:457,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:458,1
    - Dst: Botan::fe_isnonzero
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:459,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:462,1
    - Dst: Botan::fe_isnegative
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:465,1
    - Dst: Botan::fe_neg
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:466,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - ge_p3*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 471
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 471
    functionName: Botan::ge_frombytes_negate_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_frombytes
    - Botan::fe_mul
    - Botan::fe_isnegative
    - Botan::fe_isnonzero
    - Botan::fe_add
    - Botan::fe_neg
    - Botan::fe_1
    - Botan::fe_sq
    - Botan::fe_sub
    - Botan::fe_pow22523
    linkageType: ''
    returnType: int
    signature: int ge_frombytes_negate_vartime(ge_p3* h, const uint8_t* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::slide
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:533,1
    - Dst: Botan::slide
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:534,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:536,1
    - Dst: Botan::ge_p3_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:537,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:538,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:539,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:540,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:541,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:542,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:543,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:544,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:545,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:546,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:547,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:548,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:549,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:550,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:551,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:552,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:553,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:554,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:555,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:556,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:557,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:558,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:559,1
    - Dst: Botan::ge_p2_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:561,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:570,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:573,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:574,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:576,1
    - Dst: Botan::ge_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:577,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:581,1
    - Dst: Botan::ge_madd
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:582,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:584,1
    - Dst: Botan::ge_msub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:585,1
    - Dst: Botan::ge_p1p1_to_p2
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:588,1
    - Dst: Botan::ge_tobytes
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 4
    argNames:
    - out
    - a
    - A
    - b
    argTypes:
    - uint8_t[]
    - uint8_t*
    - ge_p3*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 592
      start: 480
    functionDepth: 3
    functionLinenumber: 480
    functionLinenumberEnd: 592
    functionName: Botan::ge_double_scalarmult_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::ge_tobytes
    - Botan::ge_madd
    - Botan::ge_p1p1_to_p3
    - Botan::ge_p3_dbl
    - Botan::ge_add
    - Botan::ge_p2_dbl
    - Botan::ge_p1p1_to_p2
    - Botan::ge_sub
    - Botan::ge_p3_to_cached
    - Botan::ge_p2_0
    - Botan::ge_msub
    - Botan::slide
    linkageType: ''
    returnType: void
    signature: void ge_double_scalarmult_vartime(uint8_t out[32], const uint8_t* a,
      const ge_p3* A, const uint8_t* b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 1952
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1952
    functionName: Botan::equal
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t equal(int8_t b, int8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1955,1
    - Dst: Botan::equal
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 1956
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1956
    functionName: Botan::equal32
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::equal
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t equal32(int8_t b, int8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 1963
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1963
    functionName: Botan::negative
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t negative(int8_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1966,1
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1967,1
    - Dst: Botan::fe_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_precomp*
    constantsTouched: []
    func_position:
      end: 1969
      start: 1965
    functionDepth: 1
    functionLinenumber: 1965
    functionLinenumberEnd: 1969
    functionName: Botan::ge_precomp_0
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_0
    - Botan::fe_1
    linkageType: ''
    returnType: void
    signature: void ge_precomp_0(ge_precomp* h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_precomp_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1985,1
    - Dst: Botan::fe_neg
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - t
    - base
    - b
    argTypes:
    - ge_precomp*
    - ge_precomp*
    - int8_t
    constantsTouched: []
    func_position:
      end: 2018
      start: 1971
    functionDepth: 2
    functionLinenumber: 1971
    functionLinenumberEnd: 2018
    functionName: Botan::select
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 1
    functionsReached:
    - Botan::fe_neg
    - Botan::ge_precomp_0
    linkageType: ''
    returnType: void
    signature: void select(ge_precomp* t, const ge_precomp* base, int8_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_invert
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2025,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2026,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2027,1
    - Dst: Botan::fe_tobytes
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2028,1
    - Dst: Botan::fe_isnegative
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 2030
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2030
    functionName: Botan::ge_p3_tobytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_invert
    - Botan::fe_isnegative
    - Botan::fe_mul
    - Botan::fe_tobytes
    linkageType: ''
    returnType: void
    signature: void ge_p3_tobytes(uint8_t* s, const ge_p3* h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_p3_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2069,1
    - Dst: Botan::select
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2071,1
    - Dst: Botan::ge_madd
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2072,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2073,1
    - Dst: Botan::ge_p3_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2076,1
    - Dst: Botan::ge_p1p1_to_p2
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2077,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2078,1
    - Dst: Botan::ge_p1p1_to_p2
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2079,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2080,1
    - Dst: Botan::ge_p1p1_to_p2
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2081,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2082,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2083,1
    - Dst: Botan::select
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2086,1
    - Dst: Botan::ge_madd
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2087,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2088,1
    - Dst: Botan::ge_p3_tobytes
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 2092
      start: 2043
    functionDepth: 3
    functionLinenumber: 2043
    functionLinenumberEnd: 2092
    functionName: Botan::ge_scalarmult_base
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::ge_p3_tobytes
    - Botan::ge_madd
    - Botan::ge_p1p1_to_p3
    - Botan::ge_p3_dbl
    - Botan::ge_p2_dbl
    - Botan::ge_p1p1_to_p2
    - Botan::ge_p3_0
    - Botan::select
    linkageType: ''
    returnType: void
    signature: void ge_scalarmult_base(uint8_t out[32], const uint8_t a[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_scrub_memory
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: ~FE_25519()
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached:
    - Botan::secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void ~FE_25519()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:31,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: Botan::FE_25519::FE_25519
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached:
    - clear_mem
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void FE_25519(int init = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::initializer_list<int32_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:38,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:39,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:41,1
    - Dst: std::initializer_list<int32_t>::begin
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::initializer_list<int32_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: Botan::FE_25519::FE_25519
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached:
    - std::initializer_list<int32_t>::begin
    - copy_mem
    - Invalid_Argument
    - std::initializer_list<int32_t>::size
    linkageType: ''
    returnType: void
    signature: void FE_25519(std::initializer_list<int32_t> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:54,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:55,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:56,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:57,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:58,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:59,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:60,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:61,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:62,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 10
    argNames:
    - h0
    - h1
    - h2
    - h3
    - h4
    - h5
    - h6
    - h7
    - h8
    - h9
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: Botan::FE_25519::FE_25519
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void FE_25519(int64_t h0,\n               int64_t h1,\n               int64_t
      h2,\n               int64_t h3,\n               int64_t h4,\n               int64_t
      h5,\n               int64_t h6,\n               int64_t h7,\n               int64_t
      h8,\n               int64_t h9)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::FE_25519::FE_25519
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FE_25519(const FE_25519& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& operator=(const FE_25519& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 & operator=(const FE_25519& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::FE_25519::FE_25519
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FE_25519(FE_25519&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(FE_25519&& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 & operator=(FE_25519&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::to_bytes
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: Botan::FE_25519::is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached:
    - Botan::FE_25519::to_bytes
    linkageType: ''
    returnType: bool
    signature: bool is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::to_bytes
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: Botan::FE_25519::is_negative
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached:
    - Botan::FE_25519::to_bytes
    linkageType: ''
    returnType: bool
    signature: bool is_negative() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Botan::FE_25519::add
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 add(const FE_25519& a, const FE_25519& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: Botan::FE_25519::sub
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 sub(const FE_25519& a, const FE_25519& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: Botan::FE_25519::negate
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 negate(const FE_25519& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::sqr_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan::FE_25519::sqr
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached:
    - Botan::FE_25519::sqr_iter
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 sqr(const FE_25519& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: operator[](size_t i) const
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_bytes
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - b
    argTypes:
    - FE_25519
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: Botan::fe_frombytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 1
    functionsReached:
    - from_bytes
    linkageType: ''
    returnType: void
    signature: void fe_frombytes(FE_25519& x, const uint8_t* b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_bytes
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - ' x'
    argTypes:
    - uint8_t*
    - FE_25519
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: Botan::fe_tobytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 2
    functionsReached:
    - to_bytes
    linkageType: ''
    returnType: void
    signature: void fe_tobytes(uint8_t* b, const FE_25519& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: Botan::fe_copy
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe_copy(FE_25519& a, const FE_25519& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::fe_isnonzero
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 1
    functionsReached:
    - Botan::is_zero
    linkageType: ''
    returnType: int
    signature: int fe_isnonzero(const FE_25519& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::fe_isnegative
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached:
    - is_negative
    linkageType: ''
    returnType: int
    signature: int fe_isnegative(const FE_25519& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FE_25519
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::fe_0
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached:
    - FE_25519
    linkageType: ''
    returnType: void
    signature: void fe_0(FE_25519& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FE_25519
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: Botan::fe_1
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 4
    functionsReached:
    - FE_25519
    linkageType: ''
    returnType: void
    signature: void fe_1(FE_25519& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::add
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' a'
    - ' b'
    argTypes:
    - FE_25519
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Botan::fe_add
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 7
    functionsReached:
    - Botan::FE_25519::add
    linkageType: ''
    returnType: void
    signature: void fe_add(FE_25519& x, const FE_25519& a, const FE_25519& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::sub
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' a'
    - ' b'
    argTypes:
    - FE_25519
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: Botan::fe_sub
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 7
    functionsReached:
    - Botan::FE_25519::sub
    linkageType: ''
    returnType: void
    signature: void fe_sub(FE_25519& x, const FE_25519& a, const FE_25519& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::negate
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' z'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: Botan::fe_neg
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 2
    functionsReached:
    - Botan::FE_25519::negate
    linkageType: ''
    returnType: void
    signature: void fe_neg(FE_25519& x, const FE_25519& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' a'
    - ' b'
    argTypes:
    - FE_25519
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: Botan::fe_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 10
    functionsReached:
    - Botan::FE_25519::mul
    linkageType: ''
    returnType: void
    signature: void fe_mul(FE_25519& x, const FE_25519& a, const FE_25519& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::sqr
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' z'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: Botan::fe_sq
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 2
    functionsReached:
    - Botan::FE_25519::sqr
    linkageType: ''
    returnType: void
    signature: void fe_sq(FE_25519& x, const FE_25519& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::sqr_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' z'
    - iter
    argTypes:
    - FE_25519
    - FE_25519
    - size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: Botan::fe_sq_iter
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached:
    - Botan::FE_25519::sqr_iter
    linkageType: ''
    returnType: void
    signature: void fe_sq_iter(FE_25519& x, const FE_25519& z, size_t iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::sqr2
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' z'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: Botan::fe_sq2
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 1
    functionsReached:
    - Botan::FE_25519::sqr2
    linkageType: ''
    returnType: void
    signature: void fe_sq2(FE_25519& x, const FE_25519& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::invert
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' z'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Botan::fe_invert
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 2
    functionsReached:
    - Botan::FE_25519::invert
    linkageType: ''
    returnType: void
    signature: void fe_invert(FE_25519& x, const FE_25519& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::pow_22523
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Botan::fe_pow22523
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 1
    functionsReached:
    - Botan::FE_25519::pow_22523
    linkageType: ''
    returnType: void
    signature: void fe_pow22523(FE_25519& x, const FE_25519& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h:20,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h:20,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::load_3
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t load_3(const uint8_t in[3])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::load_4
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h
    functionUses: 0
    functionsReached:
    - Botan::load_le
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t load_4(const uint8_t* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' h0'
    - ' h1'
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: Botan::carry
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void carry(int64_t& h0, int64_t& h1)\n   requires(S > 0 && S < 64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' h0'
    - ' h1'
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: Botan::carry0
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void carry0(int64_t& h0, int64_t& h1)\n   requires(S > 0 && S < 64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' h0'
    - ' h1'
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: Botan::carry0
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void carry0(int32_t& h0, int32_t& h1)\n   requires(S > 0 && S < 32)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - ' s1'
    - ' s2'
    - ' s3'
    - ' s4'
    - ' s5'
    - ' s6'
    - ' X'
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: Botan::redc_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void redc_mul(int64_t& s1, int64_t& s2, int64_t& s3, int64_t& s4, int64_t&
      s5, int64_t& s6, int64_t& X)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:24,1
    - Dst: SHA_512::final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:25,1
    - Dst: Botan::ge_scalarmult_base
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:30,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:33,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pk
    - sk
    - seed
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: Botan::ed25519_gen_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    - SHA_512::final
    - SHA_512::update
    - Botan::ge_scalarmult_base
    linkageType: ''
    returnType: void
    signature: void ed25519_gen_keypair(uint8_t* pk, uint8_t* sk, const uint8_t seed[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:49,1
    - Dst: SHA_512::final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:50,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:55,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:56,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:57,1
    - Dst: SHA_512::final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:58,1
    - Dst: Botan::sc_reduce
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:60,1
    - Dst: Botan::ge_scalarmult_base
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:61,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:63,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:64,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:65,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:66,1
    - Dst: SHA_512::final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:67,1
    - Dst: Botan::sc_reduce
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:69,1
    - Dst: Botan::sc_muladd
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - sig
    - m
    - mlen
    - sk
    - domain_sep
    - domain_sep_len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 71
    functionName: Botan::ed25519_sign
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::sc_reduce
    - Botan::ge_scalarmult_base
    - Botan::sc_muladd
    - SHA_512::update
    - SHA_512::final
    linkageType: ''
    returnType: void
    signature: "void ed25519_sign(uint8_t sig[64],\n                  const uint8_t
      m[],\n                  size_t mlen,\n                  const uint8_t sk[64],\n
      \                 const uint8_t domain_sep[],\n                  size_t domain_sep_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_frombytes_negate_vartime
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:87,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:117,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:118,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:119,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:120,1
    - Dst: SHA_512::final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:121,1
    - Dst: Botan::sc_reduce
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:122,1
    - Dst: Botan::ge_double_scalarmult_vartime
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:124,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 6
    argNames:
    - m
    - mlen
    - sig
    - pk
    - domain_sep
    - domain_sep_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t[]
    - uint8_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 127
    functionName: Botan::ed25519_verify
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::ge_frombytes_negate_vartime
    - Botan::CT::is_equal
    - Botan::sc_reduce
    - Botan::ge_double_scalarmult_vartime
    - SHA_512::update
    - SHA_512::final
    linkageType: ''
    returnType: bool
    signature: "bool ed25519_verify(const uint8_t* m,\n                    size_t
      mlen,\n                    const uint8_t sig[64],\n                    const
      uint8_t* pk,\n                    const uint8_t domain_sep[],\n                    size_t
      domain_sep_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:53,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:54,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:55,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:56,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:57,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:58,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:60,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:61,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:62,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:63,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:64,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:65,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:67,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:68,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:69,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:70,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:71,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:73,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:74,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:75,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:76,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:77,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:78,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:80,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:81,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:82,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:83,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:84,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:85,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:87,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:88,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:89,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:90,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:91,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:92,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:94,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:96,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:97,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:98,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:99,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:100,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:101,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:102,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:103,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:104,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:105,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:106,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:107,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:109,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:111,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:112,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:113,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:114,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:115,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:116,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:117,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:118,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:119,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:120,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:121,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:122,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:124,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:125,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:126,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:127,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:128,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:129,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:130,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:131,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:132,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:133,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:134,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:135,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:136,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:137,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:138,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:139,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:140,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:141,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:143,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:144,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:145,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:146,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:147,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:149,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:151,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:152,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:153,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:154,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 94
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 156
    functionName: Botan::sc_reduce
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp
    functionUses: 2
    functionsReached:
    - Botan::redc_mul
    - Botan::carry
    - static_cast<uint8_t>
    - Botan::carry0
    linkageType: ''
    returnType: void
    signature: void sc_reduce(uint8_t* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:94,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:95,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:96,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:97,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:98,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:99,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:100,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:101,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:102,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:103,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:104,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:105,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:107,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:108,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:109,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:110,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:111,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:112,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:113,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:114,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:115,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:116,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:117,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:119,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:120,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:121,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:122,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:123,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:124,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:126,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:127,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:128,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:129,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:130,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:131,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:133,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:134,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:135,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:136,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:137,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:139,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:140,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:141,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:142,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:143,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:144,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:146,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:147,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:148,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:149,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:150,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:151,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:153,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:154,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:155,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:156,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:157,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:158,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:160,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:162,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:163,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:164,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:165,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:166,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:167,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:168,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:169,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:170,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:171,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:172,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:173,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:175,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:177,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:178,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:179,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:180,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:181,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:182,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:183,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:184,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:185,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:186,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:187,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:189,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:190,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:191,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:192,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:193,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:194,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:195,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:196,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:197,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:198,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:199,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:200,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:201,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:202,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:203,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:204,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:205,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:206,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:207,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:208,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:209,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:210,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:211,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:212,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:213,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:214,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:215,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:216,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:217,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:218,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:219,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 116
    argCount: 4
    argNames:
    - s
    - a
    - b
    - c
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 221
    functionName: Botan::sc_muladd
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp
    functionUses: 1
    functionsReached:
    - Botan::carry
    - Botan::redc_mul
    - static_cast<uint8_t>
    - Botan::carry0
    linkageType: ''
    returnType: void
    signature: void sc_muladd(uint8_t* s, const uint8_t* a, const uint8_t* b, const
      uint8_t* c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:22,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::Ed25519_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Ed25519_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:26,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:35,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:35,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:48,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:48,1
    - Dst: ge_frombytes_negate_vartime
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:51,1
    - Dst: ge_double_scalarmult_vartime
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:56,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 63
    functionName: Botan::Ed25519_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - ge_double_scalarmult_vartime
    - data
    - copy_mem
    - ge_frombytes_negate_vartime
    - size
    linkageType: ''
    returnType: bool
    signature: bool Ed25519_PublicKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:67,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pub_key
    - pub_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: Botan::Ed25519_PublicKey::Ed25519_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - assign
    linkageType: ''
    returnType: void
    signature: void Ed25519_PublicKey::Ed25519_PublicKey(const uint8_t pub_key[],
      size_t pub_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:73,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:73,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:73,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:75,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: Botan::Ed25519_PublicKey::Ed25519_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - size
    - Decoding_Error
    - assign
    linkageType: ''
    returnType: void
    signature: void Ed25519_PublicKey::Ed25519_PublicKey(const AlgorithmIdentifier&
      /*unused*/, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::Ed25519_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Ed25519_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed25519_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::Ed25519_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed25519_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Ed25519_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Ed25519_PrivateKey>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::Ed25519_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Ed25519_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> Ed25519_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:93,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:94,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:94,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:94,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:95,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:95,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:95,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:96,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:97,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:98,1
    - Dst: ed25519_gen_keypair
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:99,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:99,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:99,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:99,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - secret_key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - data
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    - ed25519_gen_keypair
    - std::span<const uint8_t>::data
    - Decoding_Error
    - resize
    - begin
    - assign
    linkageType: ''
    returnType: void
    signature: void Ed25519_PrivateKey::Ed25519_PrivateKey(std::span<const uint8_t>
      secret_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:107,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:107,1
    - Dst: Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seed
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: Botan::Ed25519_PrivateKey::from_seed
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    - Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
    linkageType: ''
    returnType: Ed25519_PrivateKey
    signature: Ed25519_PrivateKey Ed25519_PrivateKey::from_seed(std::span<const uint8_t>
      seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:113,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:113,1
    - Dst: Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: Botan::Ed25519_PrivateKey::from_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    - Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
    linkageType: ''
    returnType: Ed25519_PrivateKey
    signature: Ed25519_PrivateKey Ed25519_PrivateKey::from_bytes(std::span<const uint8_t>
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:118,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:119,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:120,1
    - Dst: ed25519_gen_keypair
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:121,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:121,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:121,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 2
    functionsReached:
    - data
    - ed25519_gen_keypair
    - random_vec
    - resize
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void Ed25519_PrivateKey::Ed25519_PrivateKey(RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:126,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:128,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:129,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:131,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:132,1
    - Dst: ed25519_gen_keypair
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:133,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:133,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:133,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 2
    functionsReached:
    - data
    - BER_Decoder
    - ed25519_gen_keypair
    - secure_vector::size
    - Decoding_Error
    - resize
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void Ed25519_PrivateKey::Ed25519_PrivateKey(const AlgorithmIdentifier&
      /*unused*/, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Ed25519_PublicKey>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:137,1
    - Dst: get_public_key
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::Ed25519_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - get_public_key
    - std::make_unique<Ed25519_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> Ed25519_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: Botan::Ed25519_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Ed25519_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Botan::Ed25519_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ed25519_PrivateKey::check_key(RandomNumberGenerator& /*rng*/,
      bool /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_public_key
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Ed25519_PublicKey
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: Botan::Ed25519_Pure_Verify_Operation::Ed25519_Pure_Verify_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - get_public_key
    linkageType: ''
    returnType: void
    signature: void Ed25519_Pure_Verify_Operation(const Ed25519_PublicKey& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:158,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:158,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:158,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::Ed25519_Pure_Verify_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:161,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:165,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:165,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: Botan::Ed25519_Pure_Verify_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_EQUAL
    - std::span<const uint8_t>::size
    - clear
    - size
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan::Ed25519_Pure_Verify_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_public_key
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:184,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' key'
    - hash
    - rfc8032
    argTypes:
    - Ed25519_PublicKey
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: Botan::Ed25519_Hashed_Verify_Operation::Ed25519_Hashed_Verify_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - get_public_key
    linkageType: ''
    returnType: void
    signature: void Ed25519_Hashed_Verify_Operation(const Ed25519_PublicKey& key,
      std::string_view hash, bool rfc8032)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed25519_Hashed_Verify_Operation::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan::Ed25519_Hashed_Verify_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 1
    functionsReached:
    - Botan::Ed25519_Hashed_Verify_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:197,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:200,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:201,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:201,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:203,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:203,1
    - Dst: ed25519_verify
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:204,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:205,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:205,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:205,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:205,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:205,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: Botan::Ed25519_Hashed_Verify_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - data
    - BOTAN_ASSERT_EQUAL
    - std::span<const uint8_t>::size
    - output_length
    - size
    - std::span<const uint8_t>::data
    - ed25519_verify
    - final
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: Botan::Ed25519_Hashed_Verify_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Ed25519_PrivateKey
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: Botan::Ed25519_Pure_Sign_Operation::Ed25519_Pure_Sign_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - raw_private_key_bits
    linkageType: ''
    returnType: void
    signature: void Ed25519_Pure_Sign_Operation(const Ed25519_PrivateKey& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:223,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:223,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:223,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: Botan::Ed25519_Pure_Sign_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed25519_sign
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:227,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:227,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:227,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:227,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:227,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: Botan::Ed25519_Pure_Sign_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - clear
    - data
    - ed25519_sign
    - size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: Botan::Ed25519_Pure_Sign_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: Botan::Ed25519_Pure_Sign_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:244,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: Botan::Ed25519_Pure_Sign_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::OID::from_string
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Ed25519_Pure_Sign_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:253,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' key'
    - hash
    - rfc8032
    argTypes:
    - Ed25519_PrivateKey
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: Botan::Ed25519_Hashed_Sign_Operation::Ed25519_Hashed_Sign_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - raw_private_key_bits
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Ed25519_Hashed_Sign_Operation(const Ed25519_PrivateKey& key, std::string_view
      hash, bool rfc8032)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: Botan::Ed25519_Hashed_Sign_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed25519_Hashed_Sign_Operation::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: Botan::Ed25519_Hashed_Sign_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 1
    functionsReached:
    - Botan::Ed25519_Hashed_Sign_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:269,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:270,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:270,1
    - Dst: ed25519_sign
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:271,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:272,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:272,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:272,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:272,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:272,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: Botan::Ed25519_Hashed_Sign_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - data
    - ed25519_sign
    - output_length
    - size
    - final
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: Botan::Ed25519_Hashed_Sign_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:288,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:289,1
    - Dst: std::make_unique<Ed25519_Pure_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:290,1
    - Dst: std::make_unique<Ed25519_Hashed_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:292,1
    - Dst: std::make_unique<Ed25519_Hashed_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:294,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:297,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: Botan::Ed25519_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - std::make_unique<Ed25519_Pure_Verify_Operation>
    - std::make_unique<Ed25519_Hashed_Verify_Operation>
    - Provider_Not_Found
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Ed25519_PublicKey::create_verification_op(std::string_view
      params,\n                                                                                std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:302,1
    - Dst: Botan::Ed25519_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:303,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:304,1
    - Dst: std::make_unique<Ed25519_Pure_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:307,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:309,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' alg_id'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: Botan::Ed25519_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - std::make_unique<Ed25519_Pure_Verify_Operation>
    - Provider_Not_Found
    - algo_name
    - Decoding_Error
    - Botan::Ed25519_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Ed25519_PublicKey::create_x509_verification_op(const
      AlgorithmIdentifier& alg_id,\n                                                                                     std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:315,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:316,1
    - Dst: std::make_unique<Ed25519_Pure_Sign_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:317,1
    - Dst: std::make_unique<Ed25519_Hashed_Sign_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:319,1
    - Dst: std::make_unique<Ed25519_Hashed_Sign_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:321,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:324,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 325
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 325
    functionName: Botan::Ed25519_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - std::make_unique<Ed25519_Hashed_Sign_Operation>
    - std::make_unique<Ed25519_Pure_Sign_Operation>
    - Provider_Not_Found
    - algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> Ed25519_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                           std::string_view
      params,\n                                                                           std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Encryptor_EME::maximum_input_size
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:29,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:34,1
    - Dst: PK_Encryptor_EME::maximum_input_size
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:34,1
    - Dst: PK_Encryptor_EME::encrypt
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:36,1
    - Dst: unlock
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:41,1
    - Dst: PK_Decryptor_EME::decrypt
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' rng'
    - ' private_key'
    - ' public_key'
    - padding
    argTypes:
    - RandomNumberGenerator
    - Private_Key
    - Public_Key
    - std::string_view
    constantsTouched: []
    func_position:
      end: 44
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 44
    functionName: Botan::KeyPair::encryption_consistency_check
    functionSourceFile: /src/botan/src/lib/pubkey/keypair/keypair.cpp
    functionUses: 1
    functionsReached:
    - PK_Decryptor_EME::decrypt
    - PK_Encryptor_EME::encrypt
    - unlock
    - random_vec
    - PK_Encryptor_EME::maximum_input_size
    linkageType: ''
    returnType: bool
    signature: "bool encryption_consistency_check(RandomNumberGenerator& rng,\n                                  const
      Private_Key& private_key,\n                                  const Public_Key&
      public_key,\n                                  std::string_view padding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:57,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:57,1
    - Dst: PK_Signer::sign_message
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:62,1
    - Dst: PK_Verifier::verify_message
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:67,1
    - Dst: PK_Verifier::verify_message
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' rng'
    - ' private_key'
    - ' public_key'
    - padding
    argTypes:
    - RandomNumberGenerator
    - Private_Key
    - Public_Key
    - std::string_view
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: Botan::KeyPair::signature_consistency_check
    functionSourceFile: /src/botan/src/lib/pubkey/keypair/keypair.cpp
    functionUses: 4
    functionsReached:
    - std::vector::data
    - std::vector::size
    - randomize
    - PK_Signer::sign_message
    - PK_Verifier::verify_message
    linkageType: ''
    returnType: bool
    signature: "bool signature_consistency_check(RandomNumberGenerator& rng,\n                                 const
      Private_Key& private_key,\n                                 const Public_Key&
      public_key,\n                                 std::string_view padding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/keypair/keypair.h:52,1
    - Dst: Botan::KeyPair::encryption_consistency_check
      Src: /src/botan/src/lib/pubkey/keypair/keypair.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rng'
    - ' sk'
    - padding
    argTypes:
    - RandomNumberGenerator
    - Private_Key
    - std::string_view
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Botan::KeyPair::encryption_consistency_check
    functionSourceFile: /src/botan/src/lib/pubkey/keypair/keypair.h
    functionUses: 2
    functionsReached:
    - public_key
    - Botan::KeyPair::encryption_consistency_check
    linkageType: ''
    returnType: bool
    signature: bool encryption_consistency_check(RandomNumberGenerator& rng, const
      Private_Key& sk, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/keypair/keypair.h:65,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/keypair/keypair.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rng'
    - ' sk'
    - padding
    argTypes:
    - RandomNumberGenerator
    - Private_Key
    - std::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: Botan::KeyPair::signature_consistency_check
    functionSourceFile: /src/botan/src/lib/pubkey/keypair/keypair.h
    functionUses: 5
    functionsReached:
    - public_key
    - Botan::KeyPair::signature_consistency_check
    linkageType: ''
    returnType: bool
    signature: bool signature_consistency_check(RandomNumberGenerator& rng, const
      Private_Key& sk, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:29,1
    - Dst: LMS_Tree_Node_Idx::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' identifier'
    - q
    argTypes:
    - LMS_Identifier
    - LMS_Tree_Node_Idx
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::Chain_Generator::Chain_Generator
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - set_q
    - LMS_Tree_Node_Idx::get
    linkageType: ''
    returnType: void
    signature: void Chain_Generator(const LMS_Identifier& identifier, LMS_Tree_Node_Idx
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:38,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:40,1
    - Dst: set_i
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:41,1
    - Dst: set_j
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:44,1
    - Dst: gen
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - ' hash'
    - chain_idx
    - start
    - end
    - in
    - out
    argTypes:
    - HashFunction
    - uint16_t
    - uint8_t
    - uint8_t
    - std::span<const uint8_t>
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: Botan::Chain_Generator::process
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - gen
    - set_i
    - set_j
    - copy_mem
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void process(HashFunction& hash,\n                   uint16_t chain_idx,\n
      \                  uint8_t start,\n                   uint8_t end,\n                   std::span<const
      uint8_t> in,\n                   std::span<uint8_t> out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:55,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - S
    - i
    argTypes:
    - std::span<const uint8_t>
    - uint32_t
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: Botan::byte
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t byte(std::span<const uint8_t> S, uint32_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - S
    - i
    - ' params'
    argTypes:
    - std::span<const uint8_t>
    - uint32_t
    - LMOTS_Params
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: Botan::coef
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t coef(std::span<const uint8_t> S, uint32_t i, const LMOTS_Params&
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:71,1
    - Dst: w
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:71,1
    - Dst: coef_max
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:72,1
    - Dst: Botan::coef
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:72,1
    - Dst: Botan::checked_cast_to
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:74,1
    - Dst: ls
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' params'
    - S
    argTypes:
    - LMOTS_Params
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: Botan::checksum
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - Botan::coef
    - w
    - ls
    - n
    - Botan::checked_cast_to
    - coef_max
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t checksum(const LMOTS_Params& params, std::span<const uint8_t>
      S)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:82,1
    - Dst: Botan::hash
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:84,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:85,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:86,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:86,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:87,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:87,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:88,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:89,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:90,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:90,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:91,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:93,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:93,1
    - Dst: Botan::checksum
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ' params'
    - ' identifier'
    - ' q'
    - C
    - ' msg'
    argTypes:
    - LMOTS_Params
    - LMS_Identifier
    - LMS_Tree_Node_Idx
    - std::span<const uint8_t>
    - LMS_Message
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: Botan::gen_Q_with_cksm
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_be
    - BufferStuffer::append
    - auto::update
    - Botan::hash
    - BufferStuffer::next
    - n
    - auto::final
    - Botan::checksum
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> gen_Q_with_cksm(const LMOTS_Params& params,\n
      \                                    const LMS_Identifier& identifier,\n                                     const
      LMS_Tree_Node_Idx& q,\n                                     std::span<const
      uint8_t> C,\n                                     const LMS_Message& msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMOTS_Params::LMOTS_Params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - type
    argTypes:
    - LMOTS_Algorithm_Type
    constantsTouched: []
    func_position:
      end: 142
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 142
    functionName: Botan::LMOTS_Params::create_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 1
    functionsReached:
    - Botan::LMOTS_Params::LMOTS_Params
    linkageType: ''
    returnType: LMOTS_Params
    signature: LMOTS_Params LMOTS_Params::create_or_throw(LMOTS_Algorithm_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:146,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:160,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:174,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:188,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:202,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:205,1
    - Dst: Botan::LMOTS_Params::LMOTS_Params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:208,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 2
    argNames:
    - hash_name
    - w
    argTypes:
    - std::string_view
    - uint8_t
    constantsTouched: []
    func_position:
      end: 209
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 209
    functionName: Botan::LMOTS_Params::create_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 1
    functionsReached:
    - Decoding_Error
    - Botan::LMOTS_Params::LMOTS_Params
    linkageType: ''
    returnType: LMOTS_Params
    signature: LMOTS_Params LMOTS_Params::create_or_throw(std::string_view hash_name,
      uint8_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:213,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:214,1
    - Dst: ceil_division<size_t>
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:216,1
    - Dst: ceil_division<size_t>
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:217,1
    - Dst: high_bit
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:217,1
    - Dst: checked_cast_to<uint8_t>
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:218,1
    - Dst: checked_cast_to<uint16_t>
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - algorithm_type
    - hash_name
    - w
    argTypes:
    - LMOTS_Algorithm_Type
    - std::string_view
    - uint8_t
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: Botan::LMOTS_Params::LMOTS_Params
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 2
    functionsReached:
    - checked_cast_to<uint8_t>
    - high_bit
    - auto::output_length
    - checked_cast_to<uint16_t>
    - Botan::HashFunction::create_or_throw
    - ceil_division<size_t>
    linkageType: ''
    returnType: void
    signature: void LMOTS_Params::LMOTS_Params(LMOTS_Algorithm_Type algorithm_type,
      std::string_view hash_name, uint8_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:225,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:225,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:226,1
    - Dst: LMOTS_Params::p
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:229,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:230,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:230,1
    - Dst: LMOTS_Params::n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:230,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:232,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - lmots_type
    - C
    - y_buffer
    argTypes:
    - LMOTS_Algorithm_Type
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: Botan::LMOTS_Signature::LMOTS_Signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - LMOTS_Params::p
    - Botan::LMOTS_Params::create_or_throw
    - BufferSlicer::take
    - BufferSlicer::empty
    - BOTAN_ASSERT_NOMSG
    - LMOTS_Params::n
    - push_back
    linkageType: ''
    returnType: void
    signature: "void LMOTS_Signature::LMOTS_Signature(LMOTS_Algorithm_Type lmots_type,\n
      \                                std::vector<uint8_t> C,\n                                 std::vector<uint8_t>
      y_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:239,1
    - Dst: load_be<LMOTS_Algorithm_Type>
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:242,1
    - Dst: take
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:242,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:245,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:247,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:248,1
    - Dst: copy_as_vector
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:252,1
    - Dst: LMOTS_Params::n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:252,1
    - Dst: copy_as_vector
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:254,1
    - Dst: LMOTS_Params::p
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:254,1
    - Dst: LMOTS_Params::n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:254,1
    - Dst: Botan::LMOTS_Signature::LMOTS_Signature
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 257
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 257
    functionName: Botan::LMOTS_Signature::from_bytes_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 1
    functionsReached:
    - LMOTS_Params::p
    - std::move
    - copy_as_vector
    - Botan::LMOTS_Signature::LMOTS_Signature
    - Botan::LMOTS_Params::create_or_throw
    - load_be<LMOTS_Algorithm_Type>
    - size
    - Decoding_Error
    - LMOTS_Params::n
    - take
    linkageType: ''
    returnType: LMOTS_Signature
    signature: LMOTS_Signature LMOTS_Signature::from_bytes_or_throw(BufferSlicer&
      slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:265,1
    - Dst: PseudorandomKeyGeneration::set_q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:267,1
    - Dst: LMS_Tree_Node_Idx::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:267,1
    - Dst: PseudorandomKeyGeneration::set_j
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:268,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:270,1
    - Dst: PseudorandomKeyGeneration::set_i
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:271,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:272,1
    - Dst: PseudorandomKeyGeneration::gen
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' params'
    - ' identifier'
    - q
    - ' seed'
    argTypes:
    - LMOTS_Params
    - LMS_Identifier
    - LMS_Tree_Node_Idx
    - LMS_Seed
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: Botan::LMOTS_Private_Key::LMOTS_Private_Key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - PseudorandomKeyGeneration::set_q
    - PseudorandomKeyGeneration::gen
    - hash
    - LMS_Tree_Node_Idx::get
    - push_back
    - PseudorandomKeyGeneration::set_i
    - PseudorandomKeyGeneration::set_j
    - p
    linkageType: ''
    returnType: void
    signature: "void LMOTS_Private_Key::LMOTS_Private_Key(const LMOTS_Params& params,\n
      \                                    const LMS_Identifier& identifier,\n                                     LMS_Tree_Node_Idx
      q,\n                                     const LMS_Seed& seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:277,1
    - Dst: StrongSpan<LMOTS_Signature_Bytes>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:277,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:277,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:277,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:279,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:280,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:280,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:280,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:281,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:281,1
    - Dst: Botan::LMOTS_Private_Key::derive_random_C
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:286,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:287,1
    - Dst: gen_Q_with_cksm
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:289,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:289,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:289,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:289,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:292,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:293,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:293,1
    - Dst: Chain_Generator::process
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:295,1
    - Dst: chain_input
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:295,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:297,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - out_sig
    - ' msg'
    argTypes:
    - StrongSpan<LMOTS_Signature_Bytes>
    - LMS_Message
    constantsTouched: []
    func_position:
      end: 298
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 298
    functionName: Botan::LMOTS_Private_Key::sign
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - Chain_Generator::process
    - identifier
    - store_be
    - BufferStuffer::append
    - cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
    - q
    - params
    - BufferStuffer::next
    - chain_input
    - StrongSpan<LMOTS_Signature_Bytes>::size
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    - Botan::CT::unpoison
    - Botan::LMOTS_Private_Key::derive_random_C
    - gen_Q_with_cksm
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void LMOTS_Private_Key::sign(StrongSpan<LMOTS_Signature_Bytes> out_sig,
      const LMS_Message& msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PseudorandomKeyGeneration::set_q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:303,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:303,1
    - Dst: PseudorandomKeyGeneration::set_i
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:304,1
    - Dst: PseudorandomKeyGeneration::set_j
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:305,1
    - Dst: PseudorandomKeyGeneration::gen
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - ' hash'
    argTypes:
    - std::span<uint8_t>
    - HashFunction
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: Botan::LMOTS_Private_Key::derive_random_C
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 1
    functionsReached:
    - PseudorandomKeyGeneration::gen
    - PseudorandomKeyGeneration::set_q
    - q
    - PseudorandomKeyGeneration::set_i
    - PseudorandomKeyGeneration::set_j
    linkageType: ''
    returnType: void
    signature: void LMOTS_Private_Key::derive_random_C(std::span<uint8_t> out, HashFunction&
      hash) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:311,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:312,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:312,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:313,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:313,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:313,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:314,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:314,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:316,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:316,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:317,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:318,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:319,1
    - Dst: Chain_Generator::process
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:320,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:320,1
    - Dst: chain_input
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:320,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:321,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' lmots_sk'
    argTypes:
    - LMOTS_Private_Key
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: Botan::LMOTS_Public_Key::LMOTS_Public_Key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - identifier
    - store_be
    - q
    - params
    - chain_input
    - auto::update
    - auto::final
    - Chain_Generator::process
    linkageType: ''
    returnType: void
    signature: void LMOTS_Public_Key::LMOTS_Public_Key(const LMOTS_Private_Key& lmots_sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:331,1
    - Dst: algorithm_type
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:331,1
    - Dst: Botan::gen_Q_with_cksm
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:335,1
    - Dst: C
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:335,1
    - Dst: auto::hash
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:338,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:339,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:340,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:340,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:341,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:341,1
    - Dst: auto::hash
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:344,1
    - Dst: auto::n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:345,1
    - Dst: auto::p
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:346,1
    - Dst: Chain_Generator::process
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:348,1
    - Dst: auto::coef_max
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:348,1
    - Dst: y
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:348,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:349,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' sig'
    - ' msg'
    - ' identifier'
    - q
    argTypes:
    - LMOTS_Signature
    - LMS_Message
    - LMS_Identifier
    - LMS_Tree_Node_Idx
    constantsTouched: []
    func_position:
      end: 353
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 353
    functionName: Botan::lmots_compute_pubkey_from_sig
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 1
    functionsReached:
    - y
    - Chain_Generator::process
    - C
    - Botan::LMOTS_Params::create_or_throw
    - Botan::store_be
    - algorithm_type
    - auto::hash
    - auto::coef_max
    - auto::update
    - auto::p
    - auto::final
    - Botan::gen_Q_with_cksm
    - auto::n
    linkageType: ''
    returnType: LMOTS_K
    signature: "LMOTS_K lmots_compute_pubkey_from_sig(const LMOTS_Signature& sig,\n
      \                                     const LMS_Message& msg,\n                                      const
      LMS_Identifier& identifier,\n                                      LMS_Tree_Node_Idx
      q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:19,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:20,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:21,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:22,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:23,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:23,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: Botan::PseudorandomKeyGeneration::PseudorandomKeyGeneration
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - std::span<const uint8_t>::size
    - copy_mem
    linkageType: ''
    returnType: void
    signature: void PseudorandomKeyGeneration::PseudorandomKeyGeneration(std::span<const
      uint8_t> identifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:27,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:28,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - ' hash'
    - seed
    argTypes:
    - std::span<uint8_t>
    - HashFunction
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: Botan::PseudorandomKeyGeneration::gen
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp
    functionUses: 0
    functionsReached:
    - update
    - final
    linkageType: ''
    returnType: void
    signature: void PseudorandomKeyGeneration::gen(std::span<uint8_t> out, HashFunction&
      hash, std::span<const uint8_t> seed) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:98,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:98,1
    - Dst: Botan::checked_cast_to
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:103,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 118
    functionName: Botan::HSS_LMS_Params
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Botan::checked_cast_to
    - at
    - Botan::size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API HSS_LMS_Params
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: '& hss_params() const'
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HSS_LMS_Params
    signature: HSS_LMS_Params & hss_params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::HSS_LMS_PrivateKeyInternal::get_idx
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HSS_Sig_Idx
    signature: HSS_Sig_Idx get_idx() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: Botan::HSS_LMS_PrivateKeyInternal::signature_size
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t signature_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: Botan::HSS_LMS_PrivateKeyInternal::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: Botan::HSS_LMS_PrivateKeyInternal::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - L
    - top_lms_pub_key
    argTypes:
    - HSS_Level
    - LMS_PublicKey
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: Botan::HSS_LMS_PublicKeyInternal::HSS_LMS_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PublicKeyInternal(HSS_Level L, LMS_PublicKey top_lms_pub_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: '& lms_pub_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LMS_PublicKey
    signature: LMS_PublicKey & lms_pub_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: Botan::HSS_LMS_PublicKeyInternal::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: Botan::HSS_LMS_PublicKeyInternal::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:371,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:371,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:371,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:379,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:379,1
    - Dst: Botan::HSS_Signature
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 395
    functionName: Botan::HSS_Signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 1
    functionsReached:
    - HSS_Level
    - at
    - Botan::HSS_Signature
    - Botan::get
    - static_cast<uint32_t>
    - Botan::size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API HSS_Signature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - total_tree_height
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::TreeAddress::TreeAddress
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void TreeAddress(uint32_t total_tree_height)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:38,1
    - Dst: LMS_Tree_Node_Idx::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:38,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:39,1
    - Dst: LMS_TreeLayerIndex::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:39,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:40,1
    - Dst: LMS_Tree_Node_Idx::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tree_layer
    - tree_index
    argTypes:
    - LMS_TreeLayerIndex
    - LMS_Tree_Node_Idx
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: '& set_address(LMS_TreeLayerIndex tree_layer, LMS_Tree_Node_Idx
      tree_index)'
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::get
    - LMS_TreeLayerIndex::get
    - LMS_Tree_Node_Idx::get
    linkageType: ''
    returnType: TreeAddress
    signature: TreeAddress & set_address(LMS_TreeLayerIndex tree_layer, LMS_Tree_Node_Idx
      tree_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::TreeAddress::r
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t r() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan::TreeAddress::is_leaf
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_leaf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:49,1
    - Dst: Botan::TreeAddress::is_leaf
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:49,1
    - Dst: LMS_Tree_Node_Idx
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:50,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::TreeAddress::q
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - LMS_Tree_Node_Idx
    - BOTAN_STATE_CHECK
    - get
    - Botan::TreeAddress::is_leaf
    linkageType: ''
    returnType: LMS_Tree_Node_Idx
    signature: LMS_Tree_Node_Idx q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hash
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:59,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:63,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:64,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:64,1
    - Dst: r
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:64,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:65,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:65,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:66,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:67,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' lms_params'
    - identifier
    argTypes:
    - LMS_Params
    - LMS_Identifier
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: Botan::get_hash_pair_func_for_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::store_be
    - Botan::update
    - Botan::hash
    - Botan::final
    - r
    linkageType: ''
    returnType: auto
    signature: auto get_hash_pair_func_for_identifier(const LMS_Params& lms_params,
      LMS_Identifier identifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:76,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:76,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:77,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:77,1
    - Dst: r
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:77,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:78,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:78,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:79,1
    - Dst: K
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:79,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - out
    - ' lmots_pk'
    - ' tree_address'
    - ' hash'
    argTypes:
    - StrongSpan<LMS_Tree_Node>
    - LMOTS_Public_Key
    - TreeAddress
    - HashFunction
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: Botan::lms_gen_leaf
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - identifier
    - Botan::store_be
    - K
    - Botan::update
    - Botan::final
    - r
    linkageType: ''
    returnType: void
    signature: "void lms_gen_leaf(StrongSpan<LMS_Tree_Node> out,\n                  const
      LMOTS_Public_Key& lmots_pk,\n                  const TreeAddress& tree_address,\n
      \                 HashFunction& hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:84,1
    - Dst: Botan::LMOTS_Private_Key
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:85,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:85,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:85,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:85,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:85,1
    - Dst: Botan::LMOTS_Public_Key
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:86,1
    - Dst: Botan::lms_gen_leaf
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' lms_sk'
    argTypes:
    - LMS_PrivateKey
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: Botan::lms_gen_leaf_func
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - identifier
    - lms_params
    - Botan::LMOTS_Public_Key
    - q
    - Botan::LMOTS_Private_Key
    - seed
    - Botan::lms_gen_leaf
    - lmots_params
    linkageType: ''
    returnType: auto
    signature: auto lms_gen_leaf_func(const LMS_PrivateKey& lms_sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_hash_pair_func_for_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:95,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:95,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:95,1
    - Dst: Botan::lms_gen_leaf_func
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:96,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:97,1
    - Dst: Botan::treehash
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:99,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:102,1
    - Dst: LMS_TreeLayerIndex
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:103,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:103,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:105,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out_root
    - out_auth_path
    - leaf_idx
    - ' lms_sk'
    argTypes:
    - StrongSpan<LMS_Tree_Node>
    - std::optional<StrongSpan<LMS_AuthenticationPath>>
    - std::optional<LMS_Tree_Node_Idx>
    - LMS_PrivateKey
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: Botan::lms_treehash
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - identifier
    - Botan::get_hash_pair_func_for_identifier
    - lms_params
    - Botan::lms_gen_leaf_func
    - Botan::treehash
    - LMS_TreeLayerIndex
    linkageType: ''
    returnType: void
    signature: "void lms_treehash(StrongSpan<LMS_Tree_Node> out_root,\n                  std::optional<StrongSpan<LMS_AuthenticationPath>>
      out_auth_path,\n                  std::optional<LMS_Tree_Node_Idx> leaf_idx,\n
      \                 const LMS_PrivateKey& lms_sk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_Params::LMS_Params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 1
    argNames:
    - type
    argTypes:
    - LMS_Algorithm_Type
    constantsTouched: []
    func_position:
      end: 161
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 161
    functionName: Botan::LMS_Params::create_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::LMS_Params::LMS_Params
    linkageType: ''
    returnType: LMS_Params
    signature: LMS_Params LMS_Params::create_or_throw(LMS_Algorithm_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:178,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:194,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:210,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:226,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:229,1
    - Dst: Botan::LMS_Params::LMS_Params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:232,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 2
    argNames:
    - hash_name
    - height
    argTypes:
    - std::string_view
    - uint8_t
    constantsTouched: []
    func_position:
      end: 233
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 233
    functionName: Botan::LMS_Params::create_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - Botan::LMS_Params::LMS_Params
    linkageType: ''
    returnType: LMS_Params
    signature: LMS_Params LMS_Params::create_or_throw(std::string_view hash_name,
      uint8_t height)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:237,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - algorithm_type
    - hash_name
    - h
    argTypes:
    - LMS_Algorithm_Type
    - std::string_view
    - uint8_t
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: Botan::LMS_Params::LMS_Params
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 2
    functionsReached:
    - auto::output_length
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void LMS_Params::LMS_Params(LMS_Algorithm_Type algorithm_type, std::string_view
      hash_name, uint8_t h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:245,1
    - Dst: StrongSpan<LMS_Signature_Bytes>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:245,1
    - Dst: Botan::LMS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:245,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:245,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:245,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:248,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:248,1
    - Dst: LMOTS_Private_Key::sign
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:250,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:250,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:250,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:250,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:251,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:251,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:251,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:252,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:252,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:252,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:254,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:254,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:256,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:257,1
    - Dst: lms_treehash
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:258,1
    - Dst: StrongSpan<LMS_Tree_Node>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:258,1
    - Dst: LMS_Tree_Node::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:258,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:260,1
    - Dst: LMS_PublicKey
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:261,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:261,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:261,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:261,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - out_sig
    - q
    - ' msg'
    argTypes:
    - StrongSpan<LMS_Signature_Bytes>
    - LMS_Tree_Node_Idx
    - LMS_Message
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 262
    functionName: Botan::LMS_PrivateKey::sign_and_get_pk
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - StrongSpan<LMS_Signature_Bytes>::size
    - LMS_Tree_Node::get
    - Botan::CT::unpoison
    - BOTAN_ASSERT_NOMSG
    - LMOTS_Private_Key::sign
    - LMS_PublicKey
    - lms_treehash
    - BufferStuffer::next
    - BOTAN_ARG_CHECK
    - Botan::LMS_Signature::size
    - lms_params
    - store_be
    - StrongSpan<LMS_Tree_Node>
    - lmots_params
    - identifier
    - BufferStuffer::append
    - cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
    - BufferStuffer::full
    linkageType: ''
    returnType: LMS_PublicKey
    signature: "LMS_PublicKey LMS_PrivateKey::sign_and_get_pk(StrongSpan<LMS_Signature_Bytes>
      out_sig,\n                                              LMS_Tree_Node_Idx q,\n
      \                                             const LMS_Message& msg) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:268,1
    - Dst: load_be<LMS_Algorithm_Type>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:271,1
    - Dst: take
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:271,1
    - Dst: Botan::LMS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:273,1
    - Dst: Botan::LMS_PublicKey::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:275,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:276,1
    - Dst: load_be<LMOTS_Algorithm_Type>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:279,1
    - Dst: take
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:279,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:280,1
    - Dst: auto::hash_name
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:282,1
    - Dst: auto::hash_name
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:282,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:283,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:287,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:289,1
    - Dst: auto::m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:289,1
    - Dst: Botan::LMS_PublicKey::LMS_PublicKey
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:291,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:291,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:291,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:291,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 292
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 292
    functionName: Botan::LMS_PublicKey::from_bytes_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::LMOTS_Params::create_or_throw
    - load_be<LMOTS_Algorithm_Type>
    - auto::hash_name
    - copy
    - Botan::LMS_PublicKey::LMS_PublicKey
    - load_be<LMS_Algorithm_Type>
    - auto::m
    - Decoding_Error
    - Botan::LMS_Params::create_or_throw
    - Botan::LMS_PublicKey::size
    - take
    linkageType: ''
    returnType: LMS_PublicKey
    signature: LMS_PublicKey LMS_PublicKey::from_bytes_or_throw(BufferSlicer& slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:296,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:297,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:297,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:298,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:298,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: Botan::LMS_PublicKey::to_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - identifier
    - store_be
    - lms_params
    - concat
    - lmots_params
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> LMS_PublicKey::to_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:308,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:308,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:308,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:308,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:309,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:309,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:310,1
    - Dst: Botan::LMS_PublicKey::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:310,1
    - Dst: Botan::LMS_PublicKey::lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - lms_params
    - lmots_params
    - I
    - lms_root
    argTypes:
    - LMS_Params
    - LMOTS_Params
    - LMS_Identifier
    - LMS_Tree_Node
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: Botan::LMS_PublicKey::LMS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::LMS_PublicKey::lms_params
    - identifier
    - BOTAN_ARG_CHECK
    - Botan::LMS_PublicKey::size
    linkageType: ''
    returnType: void
    signature: "void LMS_PublicKey::LMS_PublicKey(LMS_Params lms_params,\n                             LMOTS_Params
      lmots_params,\n                             LMS_Identifier I,\n                             LMS_Tree_Node
      lms_root)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' lms_params'
    argTypes:
    - LMS_Params
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: Botan::LMS_PublicKey::size
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 2
    functionsReached:
    - m
    linkageType: ''
    returnType: size_t
    signature: size_t LMS_PublicKey::size(const LMS_Params& lms_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:321,1
    - Dst: load_be<LMS_Tree_Node_Idx>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:324,1
    - Dst: take
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:324,1
    - Dst: Botan::LMOTS_Signature::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:327,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:328,1
    - Dst: auto::algorithm_type
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:328,1
    - Dst: remaining
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:330,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:331,1
    - Dst: load_be<LMS_Algorithm_Type>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:334,1
    - Dst: take
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:334,1
    - Dst: Botan::LMS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:336,1
    - Dst: Botan::LMS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:338,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:339,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:343,1
    - Dst: LMS_Params::m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:343,1
    - Dst: LMS_Params::h
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:343,1
    - Dst: LMS_Signature
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:345,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:345,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 346
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 346
    functionName: Botan::LMS_Signature::from_bytes_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - load_be<LMS_Tree_Node_Idx>
    - auto::algorithm_type
    - Botan::LMS_Signature::size
    - remaining
    - Botan::LMOTS_Params::create_or_throw
    - copy
    - LMS_Params::m
    - load_be<LMS_Algorithm_Type>
    - LMS_Params::h
    - Botan::LMOTS_Signature::from_bytes_or_throw
    - LMS_Signature
    - Decoding_Error
    - Botan::LMS_Params::create_or_throw
    - take
    linkageType: ''
    returnType: LMS_Signature
    signature: LMS_Signature LMS_Signature::from_bytes_or_throw(BufferSlicer& slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:348,1
    - Dst: lms_treehash
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:349,1
    - Dst: StrongSpan<LMS_Tree_Node>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sk'
    argTypes:
    - LMS_PrivateKey
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: Botan::LMS_PublicKey::LMS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 1
    functionsReached:
    - lms_params
    - lms_treehash
    - StrongSpan<LMS_Tree_Node>
    linkageType: ''
    returnType: void
    signature: void LMS_PublicKey::LMS_PublicKey(const LMS_PrivateKey& sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_root
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:353,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:353,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:357,1
    - Dst: lms_type
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:357,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:362,1
    - Dst: lmots_sig
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:362,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:367,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:367,1
    - Dst: Botan::LMS_PublicKey::lms_compute_root_from_sig
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:371,1
    - Dst: std::optional::has_value
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:372,1
    - Dst: std::optional::value
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:376,1
    - Dst: lms_root
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' msg'
    - ' sig'
    argTypes:
    - LMS_Message
    - LMS_Signature
    constantsTouched: []
    func_position:
      end: 377
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 377
    functionName: Botan::LMS_PublicKey::verify_signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - lms_root
    - Botan::LMS_PublicKey::lms_compute_root_from_sig
    - lms_type
    - lms_params
    - q
    - std::optional::has_value
    - lmots_sig
    - std::optional::value
    - lmots_params
    linkageType: ''
    returnType: bool
    signature: bool LMS_PublicKey::verify_signature(const LMS_Message& msg, const
      LMS_Signature& sig) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:382,1
    - Dst: lms_type
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:382,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:383,1
    - Dst: lmots_sig
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:383,1
    - Dst: Botan::LMS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:387,1
    - Dst: lms_type
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:387,1
    - Dst: lmots_sig
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:388,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:389,1
    - Dst: algorithm_type
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:389,1
    - Dst: lmots_compute_pubkey_from_sig
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:390,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:390,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:390,1
    - Dst: LMS_Params::hash
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:391,1
    - Dst: get_hash_pair_func_for_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:393,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:393,1
    - Dst: TreeAddress
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:395,1
    - Dst: LMS_Params::h
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:395,1
    - Dst: auto::set_address
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:396,1
    - Dst: LMS_TreeLayerIndex
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:396,1
    - Dst: LMS_Tree_Node_Idx
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:396,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:396,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:398,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:398,1
    - Dst: LMS_Params::m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:399,1
    - Dst: lms_gen_leaf
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:400,1
    - Dst: LMS_Params::m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:402,1
    - Dst: compute_root
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:404,1
    - Dst: StrongSpan<LMS_Tree_Node>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:404,1
    - Dst: auth_path
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:405,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:406,1
    - Dst: StrongSpan<const LMS_Tree_Node>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:407,1
    - Dst: LMS_Params::m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:408,1
    - Dst: LMS_TreeLayerIndex
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:409,1
    - Dst: LMS_Params::h
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:409,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:411,1
    - Dst: LMS_Tree_Node
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' msg'
    - ' sig'
    argTypes:
    - LMS_Message
    - LMS_Signature
    constantsTouched: []
    func_position:
      end: 417
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 417
    functionName: Botan::LMS_PublicKey::lms_compute_root_from_sig
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - LMS_Params::hash
    - auth_path
    - algorithm_type
    - q
    - LMS_Tree_Node_Idx
    - lmots_compute_pubkey_from_sig
    - get_hash_pair_func_for_identifier
    - LMS_TreeLayerIndex
    - Botan::LMOTS_Params::create_or_throw
    - lms_params
    - LMS_Params::m
    - auto::set_address
    - StrongSpan<LMS_Tree_Node>
    - LMS_Params::h
    - StrongSpan<const LMS_Tree_Node>
    - lmots_params
    - LMS_Tree_Node
    - lms_type
    - identifier
    - TreeAddress
    - lms_gen_leaf
    - compute_root
    - lmots_sig
    - Botan::LMS_Params::create_or_throw
    linkageType: ''
    returnType: std::optional<LMS_Tree_Node>
    signature: "std::optional<LMS_Tree_Node> LMS_PublicKey::lms_compute_root_from_sig(const
      LMS_Message& msg,\n                                                                      const
      LMS_Signature& sig) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:420,1
    - Dst: h
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:420,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lms_params'
    - ' lmots_params'
    argTypes:
    - LMS_Params
    - LMOTS_Params
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: Botan::LMS_Signature::size
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 3
    functionsReached:
    - m
    - cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
    - h
    linkageType: ''
    returnType: size_t
    signature: size_t LMS_Signature::size(const LMS_Params& lms_params, const LMOTS_Params&
      lmots_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::PseudorandomKeyGeneration::set_q
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h
    functionUses: 0
    functionsReached:
    - store_be
    linkageType: ''
    returnType: void
    signature: void set_q(uint32_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::PseudorandomKeyGeneration::set_i
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h
    functionUses: 0
    functionsReached:
    - store_be
    linkageType: ''
    returnType: void
    signature: void set_i(uint16_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::PseudorandomKeyGeneration::set_j
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h
    functionUses: 0
    functionsReached:
    - store_be
    linkageType: ''
    returnType: void
    signature: void set_j(uint8_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h:55,1
    - Dst: Botan::PseudorandomKeyGeneration::gen
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hash'
    - seed
    argTypes:
    - HashFunction
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: Botan::PseudorandomKeyGeneration::gen
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h
    functionUses: 1
    functionsReached:
    - Botan::PseudorandomKeyGeneration::gen
    - output_length
    linkageType: ''
    returnType: T
    signature: T gen(HashFunction& hash, std::span<const uint8_t> seed) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - hash_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: Botan::is_supported_hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_supported_hash_function(std::string_view hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:61,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:64,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:66,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:66,1
    - Dst: Botan::checked_cast_to
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:67,1
    - Dst: HSS_Sig_Idx::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:67,1
    - Dst: Botan::checked_cast_to
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:67,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:70,1
    - Dst: HSS_Sig_Idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hss_idx
    - ' hss_params'
    argTypes:
    - HSS_Sig_Idx
    - HSS_LMS_Params
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: Botan::derive_lms_leaf_indices_from_hss_index
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - HSS_Level::get
    - HSS_Sig_Idx
    - HSS_Sig_Idx::get
    - L
    - BOTAN_ARG_CHECK
    - params_at_level
    - Botan::checked_cast_to
    linkageType: ''
    returnType: std::vector<LMS_Tree_Node_Idx>
    signature: "std::vector<LMS_Tree_Node_Idx> derive_lms_leaf_indices_from_hss_index(HSS_Sig_Idx
      hss_idx,\n                                                                      const
      HSS_LMS_Params& hss_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:78,1
    - Dst: Botan::HSS_LMS_Params::calc_max_sig_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:78,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:79,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:79,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - lm_lmots_params
    argTypes:
    - std::vector<LMS_LMOTS_Params_Pair>
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: Botan::HSS_LMS_Params::HSS_LMS_Params
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::HSS_LMS_Params::calc_max_sig_count
    - empty
    - size
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_Params::HSS_LMS_Params(std::vector<LMS_LMOTS_Params_Pair>
      lm_lmots_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:85,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:86,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:88,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:93,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:93,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:93,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:94,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:95,1
    - Dst: is_supported_hash_function
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:95,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:97,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:98,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:99,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:99,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:100,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:100,1
    - Dst: checked_cast_to_or_throw<uint8_t, Invalid_Argument>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:102,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:102,1
    - Dst: checked_cast_to_or_throw<uint8_t, Invalid_Argument>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:103,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:103,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:105,1
    - Dst: Botan::LMS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:105,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:105,1
    - Dst: Botan::HSS_LMS_Params::calc_max_sig_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - algo_params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 108
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 108
    functionName: Botan::HSS_LMS_Params::HSS_LMS_Params
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - SCAN_Name::arg_count
    - std::string_view::starts_with
    - Botan::HSS_LMS_Params::calc_max_sig_count
    - SCAN_Name::arg_as_integer
    - Botan::LMOTS_Params::create_or_throw
    - std::string
    - SCAN_Name::arg
    - checked_cast_to_or_throw<uint8_t, Invalid_Argument>
    - push_back
    - BOTAN_ARG_CHECK
    - fmt
    - Botan::LMS_Params::create_or_throw
    - is_supported_hash_function
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_Params::HSS_LMS_Params(std::string_view algo_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:112,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:113,1
    - Dst: HSS_Sig_Idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:116,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:116,1
    - Dst: HSS_Sig_Idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: Botan::HSS_LMS_Params::calc_max_sig_count
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max
    - params_at_level
    - HSS_Sig_Idx
    - L
    linkageType: ''
    returnType: HSS_Sig_Idx
    signature: HSS_Sig_Idx HSS_LMS_Params::calc_max_sig_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:122,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:123,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:123,1
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:123,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hss_params'
    - ' rng'
    argTypes:
    - HSS_LMS_Params
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: Botan::HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_Signature::size
    - params_at_level
    - HSS_Level
    - random_vec
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal(const HSS_LMS_Params&
      hss_params, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:129,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:130,1
    - Dst: load_be<HSS_Level>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:134,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:134,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:136,1
    - Dst: load_be<HSS_Sig_Idx>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:139,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:139,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:143,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:144,1
    - Dst: load_be<LMS_Algorithm_Type>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:146,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:146,1
    - Dst: load_be<LMOTS_Algorithm_Type>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:147,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:147,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:148,1
    - Dst: Botan::LMS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:148,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:148,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:150,1
    - Dst: std::any_of
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:151,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:151,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:151,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:156,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:159,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:159,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:160,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:162,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:162,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:163,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:165,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:166,1
    - Dst: std::shared_ptr<HSS_LMS_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:168,1
    - Dst: HSS_LMS_Params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:169,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:169,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:169,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:169,1
    - Dst: HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:169,1
    - Dst: auto::set_idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:171,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 173
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 173
    functionName: Botan::HSS_LMS_PrivateKeyInternal::from_bytes_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal
    - Decoding_Error
    - HSS_LMS_Params
    - BufferSlicer::remaining
    - std::vector::begin
    - std::any_of
    - load_be<HSS_Level>
    - std::vector::at
    - Botan::LMOTS_Params::create_or_throw
    - load_be<LMOTS_Algorithm_Type>
    - BufferSlicer::take
    - BufferSlicer::empty
    - auto::set_idx
    - load_be<HSS_Sig_Idx>
    - std::vector::push_back
    - std::vector::end
    - load_be<LMS_Algorithm_Type>
    - BufferSlicer::copy
    - std::span<const uint8_t>::size
    - Botan::LMS_Params::create_or_throw
    - std::shared_ptr<HSS_LMS_PrivateKeyInternal>
    linkageType: ''
    returnType: std::shared_ptr<HSS_LMS_PrivateKeyInternal>
    signature: "std::shared_ptr<HSS_LMS_PrivateKeyInternal> HSS_LMS_PrivateKeyInternal::from_bytes_or_throw(\n
      \  std::span<const uint8_t> key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:179,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:179,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:179,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:180,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:180,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::get_idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:180,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:182,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:183,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:184,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:184,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:184,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:185,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:185,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:185,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:187,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:188,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:189,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 192
    functionName: Botan::HSS_LMS_PrivateKeyInternal::to_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_LMS_PrivateKeyInternal::get_idx
    - store_be
    - lms_params
    - BufferStuffer::append
    - hss_params
    - BufferStuffer::full
    - lmots_params
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> HSS_LMS_PrivateKeyInternal::to_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - HSS_Sig_Idx
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Botan::HSS_LMS_PrivateKeyInternal::set_idx
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PrivateKeyInternal::set_idx(HSS_Sig_Idx idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: max_sig_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:200,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:201,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::set_idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: Botan::HSS_LMS_PrivateKeyInternal::reserve_next_idx
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - max_sig_count
    - Decoding_Error
    - Botan::HSS_LMS_PrivateKeyInternal::set_idx
    linkageType: ''
    returnType: HSS_Sig_Idx
    signature: HSS_Sig_Idx HSS_LMS_PrivateKeyInternal::reserve_next_idx()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:210,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:211,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: Botan::HSS_LMS_PrivateKeyInternal::size
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 1
    functionsReached:
    - hss_params
    - Botan::HSS_LMS_PrivateKeyInternal::size
    linkageType: ''
    returnType: size_t
    signature: size_t HSS_LMS_PrivateKeyInternal::size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:218,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:219,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:220,1
    - Dst: Botan::HSS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:222,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:223,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:223,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:223,1
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:223,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:225,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hss_params
    - hss_seed
    - identifier
    argTypes:
    - HSS_LMS_Params
    - LMS_Seed
    - LMS_Identifier
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: Botan::HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - HSS_Level
    - Botan::HSS_Signature::size
    - BOTAN_ARG_CHECK
    - params_at_level
    - Botan::HSS_LMS_PrivateKeyInternal::size
    linkageType: ''
    returnType: void
    signature: "void HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal(HSS_LMS_Params
      hss_params,\n                                                       LMS_Seed
      hss_seed,\n                                                       LMS_Identifier
      identifier)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:231,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:231,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:231,1
    - Dst: derive_lms_leaf_indices_from_hss_index
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:233,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::reserve_next_idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:233,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:233,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:239,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:241,1
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:242,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:243,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::hss_derive_root_lms_private_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:243,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:245,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::hss_derive_child_lms_private_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:246,1
    - Dst: std::vector::back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:246,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:246,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:246,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:247,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:247,1
    - Dst: Botan::LMS_PublicKey::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:247,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:247,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:249,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:249,1
    - Dst: Botan::LMS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:250,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:250,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:250,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:252,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:252,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:258,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:260,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:260,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:261,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:261,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:261,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:261,1
    - Dst: LMS_Message
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:261,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:264,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:264,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:264,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:266,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:266,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:267,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:267,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:267,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:267,1
    - Dst: LMS_Message
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 273
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 273
    functionName: Botan::HSS_LMS_PrivateKeyInternal::sign
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - LMS_Message
    - HSS_Level::get
    - HSS_Level
    - Botan::HSS_LMS_PrivateKeyInternal::hss_derive_root_lms_private_key
    - BOTAN_ASSERT_NOMSG
    - hss_params
    - BufferStuffer::next
    - Botan::HSS_LMS_PrivateKeyInternal::hss_derive_child_lms_private_key
    - std::vector::at
    - Botan::LMS_Signature::size
    - store_be
    - lms_params
    - copy_mem
    - Botan::LMS_PublicKey::size
    - std::vector::push_back
    - lmots_params
    - Botan::HSS_LMS_PrivateKeyInternal::reserve_next_idx
    - BufferStuffer::append
    - derive_lms_leaf_indices_from_hss_index
    - std::vector::back
    - BufferStuffer::full
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> HSS_LMS_PrivateKeyInternal::sign(std::span<const
      uint8_t> msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:276,1
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:276,1
    - Dst: LMS_PrivateKey
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:277,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:277,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: Botan::HSS_LMS_PrivateKeyInternal::hss_derive_root_lms_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 1
    functionsReached:
    - HSS_Level
    - LMS_PrivateKey
    - lms_params
    - hss_params
    - lmots_params
    linkageType: ''
    returnType: LMS_PrivateKey
    signature: LMS_PrivateKey HSS_LMS_PrivateKeyInternal::hss_derive_root_lms_private_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:284,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:284,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:287,1
    - Dst: PseudorandomKeyGeneration::set_q
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:288,1
    - Dst: LMS_Tree_Node_Idx::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:288,1
    - Dst: PseudorandomKeyGeneration::set_i
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:289,1
    - Dst: PseudorandomKeyGeneration::set_j
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:290,1
    - Dst: PseudorandomKeyGeneration::gen
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:291,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:291,1
    - Dst: PseudorandomKeyGeneration::set_i
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:294,1
    - Dst: PseudorandomKeyGeneration::gen
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:295,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:295,1
    - Dst: auto::resize
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:296,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:297,1
    - Dst: LMS_PrivateKey
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:299,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:299,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:300,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:301,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' child_lms_lmots_params'
    - ' parent_sk'
    - parent_q
    argTypes:
    - HSS_LMS_Params::LMS_LMOTS_Params_Pair
    - LMS_PrivateKey
    - LMS_Tree_Node_Idx
    constantsTouched: []
    func_position:
      end: 303
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 303
    functionName: Botan::HSS_LMS_PrivateKeyInternal::hss_derive_child_lms_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - PseudorandomKeyGeneration::set_q
    - PseudorandomKeyGeneration::gen
    - LMS_PrivateKey
    - identifier
    - lms_params
    - seed
    - LMS_Tree_Node_Idx::get
    - Botan::HashFunction::create_or_throw
    - auto::resize
    - PseudorandomKeyGeneration::set_i
    - Botan::CT::unpoison
    - PseudorandomKeyGeneration::set_j
    - lmots_params
    linkageType: ''
    returnType: LMS_PrivateKey
    signature: "LMS_PrivateKey HSS_LMS_PrivateKeyInternal::hss_derive_child_lms_private_key(\n
      \  const HSS_LMS_Params::LMS_LMOTS_Params_Pair& child_lms_lmots_params,\n   const
      LMS_PrivateKey& parent_sk,\n   LMS_Tree_Node_Idx parent_q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:306,1
    - Dst: hss_derive_root_lms_private_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:308,1
    - Dst: LMS_PublicKey
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:309,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::HSS_LMS_PublicKeyInternal
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:311,1
    - Dst: L
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:311,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hss_sk'
    argTypes:
    - HSS_LMS_PrivateKeyInternal
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: Botan::HSS_LMS_PublicKeyInternal::create
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::HSS_LMS_PublicKeyInternal::HSS_LMS_PublicKeyInternal
    - LMS_PublicKey
    - hss_derive_root_lms_private_key
    - hss_params
    - L
    linkageType: ''
    returnType: HSS_LMS_PublicKeyInternal
    signature: HSS_LMS_PublicKeyInternal HSS_LMS_PublicKeyInternal::create(const HSS_LMS_PrivateKeyInternal&
      hss_sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:316,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:317,1
    - Dst: load_be<HSS_Level>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:321,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:321,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:323,1
    - Dst: Botan::LMS_PublicKey::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:326,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:328,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:329,1
    - Dst: std::make_shared<HSS_LMS_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:331,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 332
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 332
    functionName: Botan::HSS_LMS_PublicKeyInternal::from_bytes_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - load_be<HSS_Level>
    - BufferSlicer::take
    - BufferSlicer::empty
    - std::make_shared<HSS_LMS_PublicKeyInternal>
    - Botan::LMS_PublicKey::from_bytes_or_throw
    - std::span<const uint8_t>::size
    - Decoding_Error
    linkageType: ''
    returnType: std::shared_ptr<HSS_LMS_PublicKeyInternal>
    signature: "std::shared_ptr<HSS_LMS_PublicKeyInternal> HSS_LMS_PublicKeyInternal::from_bytes_or_throw(\n
      \  std::span<const uint8_t> key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:335,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:335,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::to_bytes
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: Botan::HSS_LMS_PublicKeyInternal::to_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 1
    functionsReached:
    - store_be
    - Botan::HSS_LMS_PublicKeyInternal::to_bytes
    - concat
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> HSS_LMS_PublicKeyInternal::to_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:339,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::object_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: Botan::HSS_LMS_PublicKeyInternal::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::HSS_LMS_PublicKeyInternal::object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier HSS_LMS_PublicKeyInternal::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:343,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::algo_name
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: Botan::HSS_LMS_PublicKeyInternal::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 1
    functionsReached:
    - Botan::HSS_LMS_PublicKeyInternal::algo_name
    - Botan::OID::from_string
    linkageType: ''
    returnType: OID
    signature: OID HSS_LMS_PublicKeyInternal::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_PublicKey::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:347,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: Botan::HSS_LMS_PublicKeyInternal::size
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - lms_params
    - Botan::LMS_PublicKey::size
    linkageType: ''
    returnType: size_t
    signature: size_t HSS_LMS_PublicKeyInternal::size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_cast_to<HSS_Level>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:351,1
    - Dst: Nspk
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:351,1
    - Dst: lms_pub_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:356,1
    - Dst: LMS_PublicKey*::lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:357,1
    - Dst: Nspk
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:360,1
    - Dst: signed_pub_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:361,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:362,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:363,1
    - Dst: LMS_PublicKey*::verify_signature
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:367,1
    - Dst: LMS_Message
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:367,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:367,1
    - Dst: signature
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:367,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:370,1
    - Dst: LMS_PublicKey*::verify_signature
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:374,1
    - Dst: LMS_Message
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:374,1
    - Dst: bottom_sig
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - ' sig'
    argTypes:
    - std::span<const uint8_t>
    - HSS_Signature
    constantsTouched: []
    func_position:
      end: 375
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 375
    functionName: Botan::HSS_LMS_PublicKeyInternal::verify_signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - LMS_Message
    - public_key
    - bottom_sig
    - lms_pub_key
    - LMS_PublicKey*::verify_signature
    - checked_cast_to<HSS_Level>
    - signature
    - signed_pub_key
    - LMS_PublicKey*::lms_params
    - Nspk
    linkageType: ''
    returnType: bool
    signature: bool HSS_LMS_PublicKeyInternal::verify_signature(std::span<const uint8_t>
      msg, const HSS_Signature& sig) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:378,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sig
    - pub
    argTypes:
    - LMS_Signature
    - LMS_PublicKey
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: HSS_Signature::Signed_Pub_Key::Signed_Pub_Key(LMS_Signature sig,
      LMS_PublicKey pub)
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HSS_Signature::Signed_Pub_Key::Signed_Pub_Key(LMS_Signature sig,
      LMS_PublicKey pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:381,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:382,1
    - Dst: load_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:386,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:386,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:388,1
    - Dst: Botan::LMS_Signature::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:393,1
    - Dst: Botan::LMS_PublicKey::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:394,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:395,1
    - Dst: Signed_Pub_Key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:395,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:395,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:395,1
    - Dst: Botan::LMS_Signature::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:398,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:400,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:401,1
    - Dst: HSS_Signature
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:403,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:403,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - sig_bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 404
      start: 380
    functionDepth: 5
    functionLinenumber: 380
    functionLinenumberEnd: 404
    functionName: Botan::HSS_Signature::from_bytes_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::LMS_Signature::from_bytes_or_throw
    - load_be
    - BufferSlicer::take
    - BufferSlicer::empty
    - Botan::LMS_PublicKey::from_bytes_or_throw
    - std::span<const uint8_t>::size
    - HSS_Signature
    - Signed_Pub_Key
    - Decoding_Error
    - std::vector::push_back
    linkageType: ''
    returnType: HSS_Signature
    signature: HSS_Signature HSS_Signature::from_bytes_or_throw(std::span<const uint8_t>
      sig_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:408,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:408,1
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:408,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:409,1
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:409,1
    - Dst: L
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:410,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:411,1
    - Dst: Botan::LMS_PublicKey::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:412,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:412,1
    - Dst: Botan::LMS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:413,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:413,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - HSS_LMS_Params
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: Botan::HSS_Signature::size
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 2
    functionsReached:
    - Botan::LMS_Signature::size
    - HSS_Level
    - lms_params
    - L
    - params_at_level
    - Botan::LMS_PublicKey::size
    - lmots_params
    linkageType: ''
    returnType: size_t
    signature: size_t HSS_Signature::size(const HSS_LMS_Params& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan::LMS_Params::algorithm_type
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LMS_Algorithm_Type
    signature: LMS_Algorithm_Type algorithm_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::LMS_Params::h
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t h() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::LMS_Params::m
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t m() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: '& hash_name() const'
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & hash_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:129,1
    - Dst: hash_name
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan::LMS_Params::hash
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 0
    functionsReached:
    - hash_name
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_Instance
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: Botan::LMS_Instance
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 1
    functionsReached:
    - Botan::LMS_Instance
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMS_Instance
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_PrivateKey
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:195,1
    - Dst: Botan::LMS_Instance
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:196,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:196,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:196,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:196,1
    - Dst: m_seed
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:196,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 215
    functionName: Botan::LMS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 2
    functionsReached:
    - std::move
    - Botan::LMS_Instance
    - m_seed
    - Botan::LMS_PrivateKey
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMS_PrivateKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 286
    functionName: Botan::LMS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 1
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMS_PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_Signature
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 346
    functionName: Botan::LMS_Signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 1
    functionsReached:
    - Botan::LMS_Signature
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMS_Signature
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: stateful_operation
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stateful_operation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:155,1
    - Dst: hash_name
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:155,1
    - Dst: Botan::LMOTS_Params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 173
    functionName: Botan::LMOTS_Params
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h
    functionUses: 1
    functionsReached:
    - Botan::LMOTS_Params
    - hash_name
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMOTS_Params
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:202,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:207,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:207,1
    - Dst: Botan::LMOTS_Signature
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 216
    functionName: Botan::LMOTS_Signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h
    functionUses: 1
    functionsReached:
    - n
    - Botan::LMOTS_Signature
    - at
    - p
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMOTS_Signature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OTS_Instance
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: Botan::OTS_Instance
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h
    functionUses: 1
    functionsReached:
    - Botan::OTS_Instance
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API OTS_Instance
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMOTS_Private_Key
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:264,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 296
    functionName: Botan::LMOTS_Private_Key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h
    functionUses: 3
    functionsReached:
    - Botan::LMOTS_Private_Key
    - at
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMOTS_Private_Key
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMOTS_Public_Key
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:312,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 332
    functionName: Botan::LMOTS_Public_Key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h
    functionUses: 3
    functionsReached:
    - std::move
    - Botan::LMOTS_Public_Key
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMOTS_Public_Key
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PublicKeyInternal::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub_key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: Botan::HSS_LMS_PublicKey::HSS_LMS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_LMS_PublicKeyInternal::from_bytes_or_throw
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PublicKey::HSS_LMS_PublicKey(std::span<const uint8_t>
      pub_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: HSS_LMS_PublicKey::~HSS_LMS_PublicKey()
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PublicKey::~HSS_LMS_PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::HSS_LMS_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t HSS_LMS_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_pub_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: Botan::HSS_LMS_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - lms_pub_key
    linkageType: ''
    returnType: size_t
    signature: size_t HSS_LMS_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::HSS_LMS_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::HSS_LMS_PublicKey::algo_name
    linkageType: ''
    returnType: std::string
    signature: std::string HSS_LMS_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::HSS_LMS_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::HSS_LMS_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier HSS_LMS_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PublicKey::object_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::HSS_LMS_PublicKey::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::HSS_LMS_PublicKey::object_identifier
    linkageType: ''
    returnType: OID
    signature: OID HSS_LMS_PublicKey::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Botan::HSS_LMS_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HSS_LMS_PublicKey::check_key(RandomNumberGenerator&, bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_bytes
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::HSS_LMS_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - to_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> HSS_LMS_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::HSS_LMS_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_LMS_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> HSS_LMS_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub_key
    argTypes:
    - std::shared_ptr<HSS_LMS_PublicKeyInternal>
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: Botan::HSS_LMS_Verification_Operation::HSS_LMS_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_Verification_Operation(std::shared_ptr<HSS_LMS_PublicKeyInternal>
      pub_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:67,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:67,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:67,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Botan::HSS_LMS_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:71,1
    - Dst: Botan::HSS_Signature::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:73,1
    - Dst: verify_signature
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 6
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: Botan::HSS_LMS_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    - verify_signature
    - Botan::HSS_Signature::from_bytes_or_throw
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_pub_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan::HSS_LMS_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - lms_pub_key
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:90,1
    - Dst: std::make_unique<HSS_LMS_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:91,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:93,1
    - Dst: Botan::HSS_LMS_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - provider
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: Botan::HSS_LMS_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Provider_Not_Found
    - std::make_unique<HSS_LMS_Verification_Operation>
    - Botan::HSS_LMS_PublicKey::algo_name
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> HSS_LMS_PublicKey::create_verification_op(std::string_view
      /*params*/,\n                                                                                std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:98,1
    - Dst: Botan::HSS_LMS_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:99,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:100,1
    - Dst: std::make_unique<HSS_LMS_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:102,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:104,1
    - Dst: Botan::HSS_LMS_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: Botan::HSS_LMS_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_LMS_PublicKey::algorithm_identifier
    - std::string_view::empty
    - std::make_unique<HSS_LMS_Verification_Operation>
    - Provider_Not_Found
    - Decoding_Error
    - Botan::HSS_LMS_PublicKey::algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> HSS_LMS_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan::HSS_LMS_PublicKey::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HSS_LMS_PublicKey::supports_operation(PublicKeyOperation op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: Botan::HSS_LMS_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> HSS_LMS_PublicKey::generate_another(RandomNumberGenerator&)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:118,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:119,1
    - Dst: std::make_shared<HSS_LMS_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:120,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::create
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:120,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 2
    functionsReached:
    - Botan::HSS_LMS_PrivateKeyInternal::from_bytes_or_throw
    - Botan::HSS_LMS_PublicKeyInternal::create
    - std::make_shared<HSS_LMS_PublicKeyInternal>
    - Botan::CT::scoped_poison
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PrivateKey::HSS_LMS_PrivateKey(std::span<const uint8_t>
      private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<HSS_LMS_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:126,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:127,1
    - Dst: std::make_shared<HSS_LMS_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:128,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::create
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:128,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' rng'
    - algo_params
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 2
    functionsReached:
    - Botan::HSS_LMS_PublicKeyInternal::create
    - std::make_shared<HSS_LMS_PublicKeyInternal>
    - std::make_shared<HSS_LMS_PrivateKeyInternal>
    - Botan::CT::scoped_poison
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PrivateKey::HSS_LMS_PrivateKey(RandomNumberGenerator&
      rng, std::string_view algo_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:132,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:133,1
    - Dst: std::make_shared<HSS_LMS_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:134,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::create
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:134,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sk
    argTypes:
    - std::shared_ptr<HSS_LMS_PrivateKeyInternal>
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - Botan::HSS_LMS_PublicKeyInternal::create
    - std::make_shared<HSS_LMS_PublicKeyInternal>
    - Botan::CT::scoped_poison
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PrivateKey::HSS_LMS_PrivateKey(std::shared_ptr<HSS_LMS_PrivateKeyInternal>
      sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: HSS_LMS_PrivateKey::~HSS_LMS_PrivateKey()
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PrivateKey::~HSS_LMS_PrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:141,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:142,1
    - Dst: to_bytes
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: Botan::HSS_LMS_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::driveby_unpoison
    - to_bytes
    - Botan::CT::scoped_poison
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> HSS_LMS_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PrivateKey::private_key_bits
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Botan::HSS_LMS_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_LMS_PrivateKey::private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> HSS_LMS_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HSS_LMS_PublicKey>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan::HSS_LMS_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<HSS_LMS_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> HSS_LMS_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:157,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: Botan::HSS_LMS_PrivateKey::pkcs8_algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::OID::from_string
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier HSS_LMS_PrivateKey::pkcs8_algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:161,1
    - Dst: get_idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:161,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::HSS_LMS_PrivateKey::remaining_operations
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - get_idx
    - hss_params
    - get
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> HSS_LMS_PrivateKey::remaining_operations()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HSS_LMS_PrivateKey>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:166,1
    - Dst: std::make_shared<HSS_LMS_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:167,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:167,1
    - Dst: HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: Botan::HSS_LMS_PrivateKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<HSS_LMS_PrivateKeyInternal>
    - std::unique_ptr<HSS_LMS_PrivateKey>
    - hss_params
    - HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> HSS_LMS_PrivateKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:174,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - private_key
    - public_key
    argTypes:
    - std::shared_ptr<HSS_LMS_PrivateKeyInternal>
    - std::shared_ptr<HSS_LMS_PublicKeyInternal>
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: Botan::HSS_LMS_Signature_Operation::HSS_LMS_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HSS_LMS_Signature_Operation(std::shared_ptr<HSS_LMS_PrivateKeyInternal>
      private_key,\n                                  std::shared_ptr<HSS_LMS_PublicKeyInternal>
      public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:177,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:177,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:177,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Botan::HSS_LMS_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:181,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:182,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:183,1
    - Dst: Botan::HSS_LMS_Signature_Operation::sign
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: Botan::HSS_LMS_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::CT::driveby_unpoison
    - std::exchange
    - Botan::CT::scoped_poison
    - Botan::HSS_LMS_Signature_Operation::sign
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature_size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Botan::HSS_LMS_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - signature_size
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_Signature_Operation::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Botan::HSS_LMS_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::HSS_LMS_Signature_Operation::algorithm_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_pub_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan::HSS_LMS_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - lms_pub_key
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:201,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:202,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:202,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:204,1
    - Dst: std::make_unique<HSS_LMS_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:205,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:207,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: Botan::HSS_LMS_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::string_view::empty
    - algo_name
    - std::make_unique<HSS_LMS_Signature_Operation>
    - Provider_Not_Found
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> HSS_LMS_PrivateKey::create_signature_op(RandomNumberGenerator&
      rng,\n                                                                           std::string_view
      params,\n                                                                           std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_oid
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:26,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::Classic_McEliece_PublicKey::Classic_McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Parameter_Set::from_oid
    - oid
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_PublicKey::Classic_McEliece_PublicKey(const
      AlgorithmIdentifier& alg_id,\n                                                       std::span<const
      uint8_t> key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:30,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:31,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:31,1
    - Dst: auto::pk_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:31,1
    - Dst: std::make_shared<Classic_McEliece_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:32,1
    - Dst: Classic_McEliece_Matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:33,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:33,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key_bits
    - param_set
    argTypes:
    - std::span<const uint8_t>
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: Botan::Classic_McEliece_PublicKey::Classic_McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - Classic_McEliece_Matrix
    - std::span<const uint8_t>::end
    - Botan::Classic_McEliece_Parameters::create
    - std::span<const uint8_t>::size
    - BOTAN_ARG_CHECK
    - std::make_shared<Classic_McEliece_PublicKeyInternal>
    - auto::pk_size_bytes
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_PublicKey::Classic_McEliece_PublicKey(std::span<const
      uint8_t> key_bits,\n                                                       Classic_McEliece_Parameter_Set
      param_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Classic_McEliece_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Classic_McEliece_PublicKey
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::Classic_McEliece_PublicKey::Classic_McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Classic_McEliece_PublicKeyInternal>
    linkageType: ''
    returnType: void
    signature: void Classic_McEliece_PublicKey::Classic_McEliece_PublicKey(const Classic_McEliece_PublicKey&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Classic_McEliece_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Classic_McEliece_PublicKey
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: '& Classic_McEliece_PublicKey::operator=(const Classic_McEliece_PublicKey&
      other)'
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Classic_McEliece_PublicKeyInternal>
    linkageType: ''
    returnType: Classic_McEliece_PublicKey
    signature: Classic_McEliece_PublicKey & Classic_McEliece_PublicKey::operator=(const
      Classic_McEliece_PublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:48,1
    - Dst: Botan::Classic_McEliece_PublicKey::object_identifier
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::Classic_McEliece_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::Classic_McEliece_PublicKey::object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Classic_McEliece_PublicKey::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::Classic_McEliece_PublicKey::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 1
    functionsReached:
    - params
    linkageType: ''
    returnType: OID
    signature: OID Classic_McEliece_PublicKey::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: Botan::Classic_McEliece_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - params
    linkageType: ''
    returnType: size_t
    signature: size_t Classic_McEliece_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Botan::Classic_McEliece_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - params
    linkageType: ''
    returnType: size_t
    signature: size_t Classic_McEliece_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::Classic_McEliece_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Classic_McEliece_PublicKey::public_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::Classic_McEliece_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 1
    functionsReached:
    - matrix
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Classic_McEliece_PublicKey::raw_public_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::Classic_McEliece_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Classic_McEliece_PublicKey::check_key(RandomNumberGenerator&,
      bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Classic_McEliece_PrivateKey>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:77,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::Classic_McEliece_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Classic_McEliece_PrivateKey>
    - params
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> Classic_McEliece_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:82,1
    - Dst: std::make_unique<Classic_McEliece_Encryptor>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:83,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:85,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: Botan::Classic_McEliece_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<Classic_McEliece_Encryptor>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> Classic_McEliece_PublicKey::create_kem_encryption_op(\n
      \  std::string_view params, std::string_view provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:90,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:91,1
    - Dst: auto::seed_len
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:91,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:92,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:93,1
    - Dst: Botan::Classic_McEliece_KeyPair_Internal::generate
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:93,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:95,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:96,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' rng'
    - param_set
    argTypes:
    - RandomNumberGenerator
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: Botan::Classic_McEliece_PrivateKey::Classic_McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - auto::seed_len
    - Botan::CT::unpoison_all
    - Botan::CT::poison
    - Botan::Classic_McEliece_Parameters::create
    - BOTAN_ASSERT_NONNULL
    - random_vec
    - std::tie
    - Botan::Classic_McEliece_KeyPair_Internal::generate
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_PrivateKey::Classic_McEliece_PrivateKey(RandomNumberGenerator&
      rng,\n                                                         Classic_McEliece_Parameter_Set
      param_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:102,1
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:103,1
    - Dst: Botan::Classic_McEliece_PrivateKeyInternal::from_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:104,1
    - Dst: std::make_shared<Classic_McEliece_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:105,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:105,1
    - Dst: Botan::Classic_McEliece_PublicKeyInternal::create_from_private_key
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:109,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sk
    - param_set
    argTypes:
    - std::span<const uint8_t>
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: Botan::Classic_McEliece_PrivateKey::Classic_McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<Classic_McEliece_PrivateKeyInternal>
    - Botan::CT::unpoison_all
    - Botan::Classic_McEliece_Parameters::create
    - Botan::Classic_McEliece_PublicKeyInternal::create_from_private_key
    - Botan::CT::scoped_poison
    - Botan::Classic_McEliece_PrivateKeyInternal::from_bytes
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_PrivateKey::Classic_McEliece_PrivateKey(std::span<const
      uint8_t> sk,\n                                                         Classic_McEliece_Parameter_Set
      param_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_oid
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:115,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Botan::Classic_McEliece_PrivateKey::Classic_McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Parameter_Set::from_oid
    - oid
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_PrivateKey::Classic_McEliece_PrivateKey(const
      AlgorithmIdentifier& alg_id,\n                                                         std::span<const
      uint8_t> key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Classic_McEliece_PublicKey>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan::Classic_McEliece_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Classic_McEliece_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> Classic_McEliece_PrivateKey::public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: Botan::Classic_McEliece_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_PrivateKey::raw_private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Classic_McEliece_PrivateKey::private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::Classic_McEliece_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 1
    functionsReached:
    - serialize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Classic_McEliece_PrivateKey::raw_private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Botan::Classic_McEliece_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 1
    functionsReached:
    - Botan::Classic_McEliece_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool Classic_McEliece_PrivateKey::check_key(RandomNumberGenerator&,
      bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:135,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:136,1
    - Dst: std::make_unique<Classic_McEliece_Decryptor>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:137,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:139,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: Botan::Classic_McEliece_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::string_view::empty
    - algo_name
    - Provider_Not_Found
    - std::make_unique<Classic_McEliece_Decryptor>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> Classic_McEliece_PrivateKey::create_kem_decryption_op(\n
      \  RandomNumberGenerator& rng, std::string_view params, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' params'
    - ' e'
    - ' mat'
    argTypes:
    - Classic_McEliece_Parameters
    - CmceErrorVector
    - Classic_McEliece_Matrix
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: Botan::Classic_McEliece_Encryptor::encode
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp
    functionUses: 0
    functionsReached:
    - mul
    linkageType: ''
    returnType: CmceCodeWord
    signature: "CmceCodeWord Classic_McEliece_Encryptor::encode(const Classic_McEliece_Parameters&
      params,\n                                                const CmceErrorVector&
      e,\n                                                const Classic_McEliece_Matrix&
      mat) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:25,1
    - Dst: sigma1
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:25,1
    - Dst: tau
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:25,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:26,1
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:29,1
    - Dst: tau
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:29,1
    - Dst: tau
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:34,1
    - Dst: load_le<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:35,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:35,1
    - Dst: sigma1
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:35,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:41,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:42,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:42,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:43,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:46,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:46,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:52,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:55,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:62,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:63,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:63,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:68,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:72,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:73,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:76,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:76,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:76,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:77,1
    - Dst: CmceErrorVector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:81,1
    - Dst: secure_bitvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:81,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - ' params'
    - ' rng'
    argTypes:
    - Classic_McEliece_Parameters
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 82
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 82
    functionName: Botan::Classic_McEliece_Encryptor::fixed_weight_vector_gen
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp
    functionUses: 0
    functionsReached:
    - sigma1
    - Botan::BigInt::is_equal
    - static_cast<uint16_t>
    - secure_bitvector
    - secure_vector::push_back
    - ceil_tobytes
    - BufferSlicer::take
    - load_le<uint16_t>
    - Botan::CT::poison
    - tau
    - t
    - secure_vector::reserve
    - random_vec
    - CmceErrorVector
    - auto::if_set_return
    - n
    - Botan::CT::unpoison
    - secure_vector::size
    linkageType: ''
    returnType: std::optional<CmceErrorVector>
    signature: "std::optional<CmceErrorVector> Classic_McEliece_Encryptor::fixed_weight_vector_gen(\n
      \  const Classic_McEliece_Parameters& params, RandomNumberGenerator& rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:87,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:87,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:87,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:89,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:89,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:89,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:91,1
    - Dst: Botan::Classic_McEliece_Encryptor::fixed_weight_vector_gen
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:101,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:102,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:105,1
    - Dst: hash_func
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:108,1
    - Dst: CmceErrorVector::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:111,1
    - Dst: Botan::Classic_McEliece_Encryptor::encode
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:113,1
    - Dst: matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:113,1
    - Dst: auto::to_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:114,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:114,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:114,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:114,1
    - Dst: is_pc
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:115,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:117,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:118,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:119,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:119,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:119,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:121,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:121,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:124,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:125,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:126,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:127,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 129
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 129
    functionName: Botan::Classic_McEliece_Encryptor::raw_kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - auto::output_length
    - Botan::CT::unpoison_all
    - auto::final
    - BOTAN_ASSERT_NOMSG
    - is_pc
    - CmceErrorVector::get
    - ceil_tobytes
    - BufferStuffer::next
    - auto::size
    - BOTAN_ARG_CHECK
    - std::span<uint8_t>::size
    - Internal_Error
    - Botan::Classic_McEliece_Encryptor::fixed_weight_vector_gen
    - params
    - auto::update
    - Botan::Classic_McEliece_Encryptor::encode
    - hash_func
    - matrix
    - auto::to_bytes
    - BufferStuffer::full
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_Encryptor::raw_kem_encrypt(std::span<uint8_t>
      out_encapsulated_key,\n                                                 std::span<uint8_t>
      out_shared_key,\n                                                 RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:39,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:49,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:54,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:66,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:68,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 74
    functionName: Botan::Classic_McEliece_Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h
    functionUses: 2
    functionsReached:
    - Botan::Classic_McEliece_Polynomial
    - at
    - Botan::CT::poison
    - Botan::CT::unpoison
    - Botan::size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_Polynomial
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Minimal_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: Botan::Classic_McEliece_Minimal_Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h
    functionUses: 1
    functionsReached:
    - Botan::Classic_McEliece_Minimal_Polynomial
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_Minimal_Polynomial
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: Botan::Classic_McEliece_Polynomial_Ring
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_Polynomial_Ring
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - poly_big_f_coef
    - poly_f
    - t
    argTypes:
    - std::vector<Big_F_Coefficient>
    - CmceGfMod
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: Botan::Classic_McEliece_Polynomial_Ring
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Classic_McEliece_Polynomial_Ring(std::vector<Big_F_Coefficient>
      poly_big_f_coef, CmceGfMod poly_f, size_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::poly_f
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CmceGfMod
    signature: CmceGfMod poly_f() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::degree
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t degree() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Classic_McEliece_Decryptor
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.h:33,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.h:36,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 81
    functionName: Botan::Classic_McEliece_Decryptor::KEM_Decryption_with_KDF
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.h
    functionUses: 0
    functionsReached:
    - Classic_McEliece_Decryptor
    - params
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: 'class BOTAN_TEST_API Classic_McEliece_Decryptor final : public PK_Ops::KEM_Decryption_with_KDF'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:21,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:21,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:21,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:22,1
    - Dst: gf
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:22,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:22,1
    - Dst: alphas
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:24,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:24,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:26,1
    - Dst: goppa_poly
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:27,1
    - Dst: inv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:28,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:30,1
    - Dst: static_cast<bool>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:30,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:30,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:32,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:33,1
    - Dst: Classic_McEliece_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' params'
    - ' goppa_poly'
    - ' ordering'
    - ' code_word'
    argTypes:
    - Classic_McEliece_Parameters
    - Classic_McEliece_Minimal_Polynomial
    - Classic_McEliece_Field_Ordering
    - secure_bitvector
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: Botan::Classic_McEliece_Decryptor::compute_goppa_syndrome
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp
    functionUses: 0
    functionsReached:
    - inv
    - Botan::sha512_msg_expand
    - at
    - Classic_McEliece_Polynomial
    - gf
    - CmceGfElem
    - BOTAN_ASSERT
    - alphas
    - size
    - goppa_poly
    - static_cast<bool>
    - auto::if_set_return
    - n
    - t
    linkageType: ''
    returnType: Classic_McEliece_Polynomial
    signature: "Classic_McEliece_Polynomial Classic_McEliece_Decryptor::compute_goppa_syndrome(\n
      \  const Classic_McEliece_Parameters& params,\n   const Classic_McEliece_Minimal_Polynomial&
      goppa_poly,\n   const Classic_McEliece_Field_Ordering& ordering,\n   const secure_bitvector&
      code_word) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:44,1
    - Dst: gf
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:44,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:44,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:45,1
    - Dst: gf
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:45,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:45,1
    - Dst: gf
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:47,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:47,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:50,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:50,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:51,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:51,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:53,1
    - Dst: gf
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:54,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:54,1
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:55,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:55,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:56,1
    - Dst: coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:56,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:60,1
    - Dst: GF_Mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:63,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:63,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:69,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:71,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:71,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:71,1
    - Dst: auto::select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:74,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:76,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:77,1
    - Dst: auto::select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:77,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:77,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:77,1
    - Dst: auto::select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:80,1
    - Dst: std::rotate
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:83,1
    - Dst: std::vector::rbegin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:83,1
    - Dst: std::vector::rbegin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:83,1
    - Dst: std::vector::rend
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:83,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:86,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:86,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:86,1
    - Dst: Classic_McEliece_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ' params'
    - ' syndrome'
    argTypes:
    - Classic_McEliece_Parameters
    - Classic_McEliece_Polynomial
    constantsTouched: []
    func_position:
      end: 89
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 89
    functionName: Botan::Classic_McEliece_Decryptor::berlekamp_massey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp
    functionUses: 0
    functionsReached:
    - GF_Mask
    - auto::if_set_return
    - Classic_McEliece_Polynomial
    - std::min
    - t
    - std::vector::begin
    - coef_at
    - std::vector::at
    - Botan::sha512_msg_expand
    - std::reverse
    - auto::at
    - std::rotate
    - std::vector::rbegin
    - std::vector::end
    - gf
    - CmceGfElem
    - auto::select
    - Botan::CT::Mask::is_lte
    - std::vector::rend
    linkageType: ''
    returnType: Classic_McEliece_Polynomial
    signature: "Classic_McEliece_Polynomial Classic_McEliece_Decryptor::berlekamp_massey(\n
      \  const Classic_McEliece_Parameters& params, const Classic_McEliece_Polynomial&
      syndrome) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:92,1
    - Dst: CmceCodeWord::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:92,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:92,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:92,1
    - Dst: CmceCodeWord::resize
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:93,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:93,1
    - Dst: Botan::Classic_McEliece_Decryptor::compute_goppa_syndrome
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:96,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:96,1
    - Dst: g
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:96,1
    - Dst: field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:96,1
    - Dst: CmceCodeWord::as
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:96,1
    - Dst: Botan::Classic_McEliece_Decryptor::berlekamp_massey
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:97,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:97,1
    - Dst: field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:100,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:100,1
    - Dst: std::transform
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:101,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:102,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:102,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:102,1
    - Dst: locator
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:102,1
    - Dst: CmceErrorVector::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:106,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:106,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:107,1
    - Dst: CmceErrorVector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:109,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:109,1
    - Dst: CT::Mask<uint8_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:111,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:111,1
    - Dst: CmceErrorVector::hamming_weight
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:111,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:111,1
    - Dst: Botan::Classic_McEliece_Decryptor::compute_goppa_syndrome
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:114,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:114,1
    - Dst: g
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:114,1
    - Dst: field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:114,1
    - Dst: CmceErrorVector::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:114,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:115,1
    - Dst: auto::degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:116,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:117,1
    - Dst: auto::coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:117,1
    - Dst: auto::coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:117,1
    - Dst: auto::elem_mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:120,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - big_c
    argTypes:
    - CmceCodeWord
    constantsTouched: []
    func_position:
      end: 123
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 123
    functionName: Botan::Classic_McEliece_Decryptor::decode
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::back_inserter
    - locator
    - auto::end
    - cryptofuzz_secp256k1_scalar_is_zero
    - auto::degree
    - CmceErrorVector::push_back
    - Botan::BigInt::is_equal
    - CmceCodeWord::as
    - CmceCodeWord::resize
    - CmceErrorVector::get
    - CT::Mask<uint8_t>
    - auto::elem_mask
    - auto::coef_at
    - CmceCodeWord::size
    - std::transform
    - auto::begin
    - Botan::Classic_McEliece_Decryptor::compute_goppa_syndrome
    - params
    - CmceErrorVector::hamming_weight
    - Botan::Classic_McEliece_Decryptor::berlekamp_massey
    - cryptofuzz::module::EC_POINT_Copier::set
    - BOTAN_ASSERT
    - g
    - field_ordering
    linkageType: ''
    returnType: std::pair<CT::Mask<uint8_t>, CmceErrorVector>
    signature: std::pair<CT::Mask<uint8_t>, CmceErrorVector> Classic_McEliece_Decryptor::decode(CmceCodeWord
      big_c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:127,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:127,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:127,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:128,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:128,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:128,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:130,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:146,1
    - Dst: select_n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:147,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:147,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:147,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:147,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:147,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:150,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:152,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:153,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:154,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:155,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:156,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:156,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:156,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:156,1
    - Dst: CT::Mask::select_n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:157,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:157,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:157,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:157,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:157,1
    - Dst: CT::Mask::select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:158,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:161,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:162,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:163,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:164,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - out_shared_key
    - encapsulated_key
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 166
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 166
    functionName: Botan::Classic_McEliece_Decryptor::raw_kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp
    functionUses: 0
    functionsReached:
    - auto::final_stdvec
    - Botan::CT::scoped_poison
    - Botan::CT::unpoison
    - auto::final
    - Botan::CT::is_equal
    - data
    - get
    - CT::Mask::select_n
    - BOTAN_ARG_CHECK
    - std::span<uint8_t>::size
    - CT::Mask::select
    - params
    - auto::update
    - auto::data
    - select_n
    - s
    - secure_vector::data
    - std::span<const uint8_t>::size
    - size
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_Decryptor::raw_kem_decrypt(std::span<uint8_t>
      out_shared_key,\n                                                 std::span<const
      uint8_t> encapsulated_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:26,1
    - Dst: CmceKeyGenSeed::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:26,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:27,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:27,1
    - Dst: prg
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:29,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:31,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:31,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:32,1
    - Dst: sigma2
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:32,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:32,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:33,1
    - Dst: sigma1
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:33,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:33,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:34,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::create_field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:37,1
    - Dst: poly_ring
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:43,1
    - Dst: Botan::Classic_McEliece_Matrix::create_matrix_and_apply_pivots
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:50,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:50,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:50,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:54,1
    - Dst: std::make_shared<Classic_McEliece_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:58,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:59,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:59,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:59,1
    - Dst: std::make_shared<Classic_McEliece_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:60,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - out_next_seed
    - ' params'
    - seed
    argTypes:
    - std::span<uint8_t>
    - Classic_McEliece_Parameters
    - CmceKeyGenSeed
    constantsTouched: []
    func_position:
      end: 61
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 61
    functionName: Botan::try_generate_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp
    functionUses: 0
    functionsReached:
    - sigma1
    - std::make_shared<Classic_McEliece_PrivateKeyInternal>
    - std::move
    - std::span<uint8_t>::size
    - prg
    - Botan::Classic_McEliece_Matrix::create_matrix_and_apply_pivots
    - auto::value
    - std::make_shared<Classic_McEliece_PublicKeyInternal>
    - q
    - Botan::Classic_McEliece_Field_Ordering::create_field_ordering
    - BOTAN_ASSERT_EQUAL
    - auto::output
    - t
    - sigma2
    - n
    - CmceKeyGenSeed::size
    - poly_ring
    linkageType: ''
    returnType: std::optional<Classic_McEliece_KeyPair_Internal>
    signature: "std::optional<Classic_McEliece_KeyPair_Internal> try_generate_keypair(std::span<uint8_t>
      out_next_seed,\n                                                                      const
      Classic_McEliece_Parameters& params,\n                                                                      CmceKeyGenSeed
      seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:67,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:67,1
    - Dst: sk_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:67,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:70,1
    - Dst: seed_len
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:70,1
    - Dst: CmceColumnSelection
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:71,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:71,1
    - Dst: sk_c_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:71,1
    - Dst: Botan::Classic_McEliece_Minimal_Polynomial::from_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:72,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:72,1
    - Dst: sk_poly_g_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:72,1
    - Dst: poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:72,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::create_from_control_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:73,1
    - Dst: secure_bitvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:74,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:74,1
    - Dst: sk_alpha_control_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:74,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:75,1
    - Dst: sk_s_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:75,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:76,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:76,1
    - Dst: Classic_McEliece_PrivateKeyInternal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:78,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' params'
    - sk_bytes
    argTypes:
    - Classic_McEliece_Parameters
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: Botan::Classic_McEliece_PrivateKeyInternal::from_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Classic_McEliece_PrivateKeyInternal
    - BOTAN_ASSERT_NOMSG
    - secure_bitvector
    - Botan::Classic_McEliece_Minimal_Polynomial::from_bytes
    - CmceColumnSelection
    - BufferSlicer::take
    - BufferSlicer::empty
    - sk_s_bytes
    - sk_alpha_control_bytes
    - seed_len
    - sk_c_bytes
    - sk_size_bytes
    - Botan::Classic_McEliece_Field_Ordering::create_from_control_bits
    - BufferSlicer::copy
    - std::span<const uint8_t>::size
    - poly_f
    - BOTAN_ASSERT
    - sk_poly_g_bytes
    linkageType: ''
    returnType: Classic_McEliece_PrivateKeyInternal
    signature: "Classic_McEliece_PrivateKeyInternal Classic_McEliece_PrivateKeyInternal::from_bytes(\n
      \  const Classic_McEliece_Parameters& params, std::span<const uint8_t> sk_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alphas_control_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:83,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:92,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::create_from_control_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:92,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:97,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:97,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:97,1
    - Dst: Botan::Classic_McEliece_PrivateKeyInternal::serialize
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:97,1
    - Dst: auto::to_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: Botan::Classic_McEliece_PrivateKeyInternal::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp
    functionUses: 1
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::create_from_control_bits
    - auto::to_bytes
    - BOTAN_ASSERT
    - get
    - concat
    - alphas_control_bits
    - Botan::Classic_McEliece_PrivateKeyInternal::serialize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Classic_McEliece_PrivateKeyInternal::serialize()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prg
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:101,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:103,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:103,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:104,1
    - Dst: sigma2
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:104,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:104,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:105,1
    - Dst: sigma1
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:105,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:105,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:108,1
    - Dst: CT::is_equal<uint8_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:108,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:108,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:108,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:108,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:111,1
    - Dst: c
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:111,1
    - Dst: poly_ring
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:113,1
    - Dst: auto::degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:114,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:115,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:115,1
    - Dst: auto::coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:115,1
    - Dst: coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:115,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:118,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::create_field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:122,1
    - Dst: auto::permute_with_pivots
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:123,1
    - Dst: c
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:123,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:124,1
    - Dst: auto::ct_is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:124,1
    - Dst: field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:124,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:126,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: Botan::Classic_McEliece_PrivateKeyInternal::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp
    functionUses: 0
    functionsReached:
    - sigma1
    - auto::ct_is_equal
    - auto::permute_with_pivots
    - auto::output
    - c
    - auto::degree
    - poly_ring
    - Botan::BigInt::is_equal
    - data
    - q
    - auto::coef_at
    - t
    - coef_at
    - Botan::sha512_msg_expand
    - prg
    - Botan::CT::Mask::cleared
    - Botan::Classic_McEliece_Field_Ordering::create_field_ordering
    - auto::data
    - n
    - CT::is_equal<uint8_t>
    - auto::as_bool
    - sigma2
    - field_ordering
    linkageType: ''
    returnType: bool
    signature: bool Classic_McEliece_PrivateKeyInternal::check_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Matrix::create_matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:134,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:134,1
    - Dst: field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:134,1
    - Dst: g
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:134,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:135,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:136,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:138,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:142,1
    - Dst: equals
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:142,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:143,1
    - Dst: std::make_shared<Classic_McEliece_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:146,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:146,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' sk'
    argTypes:
    - Classic_McEliece_PrivateKeyInternal
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: Botan::Classic_McEliece_PublicKeyInternal::create_from_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp
    functionUses: 1
    functionsReached:
    - Botan::CT::driveby_unpoison
    - std::move
    - auto::value
    - params
    - Decoding_Error
    - g
    - auto::has_value
    - std::make_shared<Classic_McEliece_PublicKeyInternal>
    - Botan::Classic_McEliece_Matrix::create_matrix
    - equals
    - field_ordering
    linkageType: ''
    returnType: std::shared_ptr<Classic_McEliece_PublicKeyInternal>
    signature: "std::shared_ptr<Classic_McEliece_PublicKeyInternal> Classic_McEliece_PublicKeyInternal::create_from_private_key(\n
      \  const Classic_McEliece_PrivateKeyInternal& sk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:151,1
    - Dst: StrongSpan<const CmceInitialSeed>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:151,1
    - Dst: seed_len
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:151,1
    - Dst: StrongSpan<const CmceInitialSeed>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:153,1
    - Dst: StrongSpan<const CmceInitialSeed>::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:154,1
    - Dst: StrongSpan<const CmceInitialSeed>::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:154,1
    - Dst: try_generate_keypair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:157,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:157,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' params'
    - seed
    argTypes:
    - Classic_McEliece_Parameters
    - StrongSpan<const CmceInitialSeed>
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: Botan::Classic_McEliece_KeyPair_Internal::generate
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - try_generate_keypair
    - auto::value
    - StrongSpan<const CmceInitialSeed>::begin
    - StrongSpan<const CmceInitialSeed>::end
    - StrongSpan<const CmceInitialSeed>::size
    - BOTAN_ASSERT_EQUAL
    - seed_len
    linkageType: ''
    returnType: Classic_McEliece_KeyPair_Internal
    signature: "Classic_McEliece_KeyPair_Internal Classic_McEliece_KeyPair_Internal::generate(const
      Classic_McEliece_Parameters& params,\n                                                                              StrongSpan<const
      CmceInitialSeed> seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:85,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:86,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:86,1
    - Dst: pk_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:86,1
    - Dst: pk_no_cols
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:87,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:91,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:91,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:91,1
    - Dst: pk_row_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:91,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:92,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:94,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:95,1
    - Dst: pk_no_cols
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:95,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 113
    functionName: Botan::Classic_McEliece_Matrix
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h
    functionUses: 0
    functionsReached:
    - std::move
    - pk_no_cols
    - pk_no_rows
    - pk_row_size_bytes
    - BOTAN_ARG_CHECK
    - pk_size_bytes
    - Botan::CT::unpoison
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_Matrix
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Classic_McEliece_Encryptor
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.h:30,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.h:33,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: Botan::Classic_McEliece_Encryptor::KEM_Encryption_with_KDF
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.h
    functionUses: 0
    functionsReached:
    - Classic_McEliece_Encryptor
    - params
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: 'class BOTAN_TEST_API Classic_McEliece_Encryptor final : public PK_Ops::KEM_Encryption_with_KDF'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::Classic_McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Classic_McEliece_PublicKey(Classic_McEliece_PublicKey&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ~Classic_McEliece_PublicKey() override
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Classic_McEliece_PublicKey() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:84,1
    - Dst: pi_ref
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:84,1
    - Dst: pi_ref
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:84,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:85,1
    - Dst: pi_ref
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:85,1
    - Dst: pi_ref
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:85,1
    - Dst: pi_ref
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:85,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:102,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:104,1
    - Dst: Botan::Classic_McEliece_Field_Ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 112
    functionName: Botan::Classic_McEliece_Field_Ordering
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h
    functionUses: 1
    functionsReached:
    - Botan::CT::is_equal
    - Botan::Classic_McEliece_Field_Ordering
    - Botan::CT::poison
    - pi_ref
    - BOTAN_ARG_CHECK
    - Botan::CT::unpoison
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_Field_Ordering
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CT::Mask<uint64_t>::conditional_swap
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:30,1
    - Dst: CT::Mask<uint64_t>::conditional_swap
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cond_mask
    - ' a'
    - ' b'
    argTypes:
    - CT::Mask<uint64_t>
    - std::pair<T1, T2>
    - std::pair<T1, T2>
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: Botan::CMCE_CT::cond_swap_pair
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - CT::Mask<uint64_t>::conditional_swap
    linkageType: ''
    returnType: void
    signature: void cond_swap_pair(CT::Mask<uint64_t> cond_mask, std::pair<T1, T2>&
      a, std::pair<T1, T2>& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:39,1
    - Dst: Botan::CMCE_CT::cond_swap_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:40,1
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:42,1
    - Dst: Botan::CMCE_CT::cond_swap_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - a
    - i
    - k
    - l
    argTypes:
    - std::span<std::pair<T1, T2>>
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: Botan::CMCE_CT::compare_and_swap_pair
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - Botan::CMCE_CT::cond_swap_pair
    - Botan::CT::Mask::is_gt
    - Botan::bigint_ct_is_lt
    linkageType: ''
    returnType: void
    signature: void compare_and_swap_pair(std::span<std::pair<T1, T2>> a, size_t i,
      size_t k, size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:51,1
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:51,1
    - Dst: Botan::CMCE_CT::compare_and_swap_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - std::span<std::pair<T1, T2>>
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: Botan::CMCE_CT::bitonic_sort_pair
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::CMCE_CT::compare_and_swap_pair
    - is_power_of_2
    linkageType: ''
    returnType: void
    signature: void bitonic_sort_pair(std::span<std::pair<T1, T2>> a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:67,1
    - Dst: auto::select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan::CMCE_CT::min
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - Botan::bigint_ct_is_lt
    linkageType: ''
    returnType: T
    signature: T min(const T& a, const T& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:78,1
    - Dst: std::span<const T1>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:78,1
    - Dst: std::span<const T2>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:78,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:80,1
    - Dst: std::span<const T1>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:80,1
    - Dst: std::span<const T1>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:82,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - vec_1
    - vec_2
    argTypes:
    - std::span<const T1>
    - std::span<const T2>
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: Botan::zip
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::span<const T1>::size
    - std::span<const T2>::size
    - std::make_pair
    - BOTAN_ARG_CHECK
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::pair<T1, T2>>
    signature: std::vector<std::pair<T1, T2>> zip(std::span<const T1> vec_1, std::span<const
      T2> vec_2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::pair::first::reserve
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:91,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:91,1
    - Dst: std::pair::second::reserve
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:92,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:92,1
    - Dst: std::pair::first::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:95,1
    - Dst: std::pair::second::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' vec_zipped'
    argTypes:
    - std::span<std::pair<T1, T2>>
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: Botan::unzip
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - std::pair::first::push_back
    - std::pair::first::reserve
    - std::pair::second::reserve
    - Botan::size
    - std::pair::second::push_back
    linkageType: ''
    returnType: std::pair<secure_vector<T1>, secure_vector<T2>>
    signature: std::pair<secure_vector<T1>, secure_vector<T2>> unzip(const std::span<std::pair<T1,
      T2>>& vec_zipped)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:103,1
    - Dst: std::span<const uint32_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:103,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:103,1
    - Dst: std::transform
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:107,1
    - Dst: std::span<const uint32_t>::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:107,1
    - Dst: std::span<const uint32_t>::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:107,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:107,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: Botan::enumerate
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint32_t>::begin
    - std::back_inserter
    - BOTAN_DEBUG_ASSERT
    - std::span<const uint32_t>::end
    - cryptofuzz::mutator::ExpModGenerator::max
    - std::make_pair
    - std::span<const uint32_t>::size
    - std::transform
    linkageType: ''
    returnType: std::vector<std::pair<uint32_t, uint16_t>>
    signature: std::vector<std::pair<uint32_t, uint16_t>> enumerate(std::span<const
      uint32_t> vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::enumerate
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:122,1
    - Dst: Botan::CMCE_CT::bitonic_sort_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:123,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:123,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:126,1
    - Dst: CmcePermutation::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:126,1
    - Dst: Botan::unzip
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:126,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:126,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: Botan::create_pi
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - Botan::CMCE_CT::bitonic_sort_pair
    - std::span
    - Botan::unzip
    - CmcePermutation::get
    - Botan::enumerate
    - std::make_pair
    - std::tie
    linkageType: ''
    returnType: std::pair<secure_vector<uint32_t>, CmcePermutation>
    signature: std::pair<secure_vector<uint32_t>, CmcePermutation> create_pi(secure_vector<uint32_t>
      a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ct_reverse_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:136,1
    - Dst: CmcePermutationElement::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:136,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:138,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pi_elem
    - modulus
    - m
    argTypes:
    - CmcePermutationElement
    - CmceGfMod
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Botan::from_pi
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_GF
    - CmcePermutationElement::get
    - CmceGfElem
    - Botan::ct_reverse_bits
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF from_pi(CmcePermutationElement pi_elem, CmceGfMod
      modulus, size_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::zip
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:145,1
    - Dst: Botan::CMCE_CT::bitonic_sort_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:146,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:146,1
    - Dst: std::transform
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:149,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:149,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:149,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - c
    - pi
    argTypes:
    - std::span<const uint16_t>
    - std::span<const uint16_t>
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: Botan::composeinv
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - Botan::CMCE_CT::bitonic_sort_pair
    - std::span
    - auto::begin
    - std::back_inserter
    - auto::end
    - Botan::zip
    - std::transform
    linkageType: ''
    returnType: secure_vector<uint16_t>
    signature: secure_vector<uint16_t> composeinv(std::span<const uint16_t> c, std::span<const
      uint16_t> pi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:158,1
    - Dst: Botan::composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:159,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - secure_vector<uint16_t>
    - secure_vector<uint16_t>
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: Botan::simultaneous_composeinv
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::composeinv
    linkageType: ''
    returnType: void
    signature: void simultaneous_composeinv(secure_vector<uint16_t>& p, secure_vector<uint16_t>&
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:169,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:170,1
    - Dst: Botan::is_power_of_2
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:170,1
    - Dst: secure_vector<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:174,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:174,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:178,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:178,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:182,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:182,1
    - Dst: std::iota
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:186,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:186,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:186,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:186,1
    - Dst: Botan::composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:187,1
    - Dst: Botan::simultaneous_composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:189,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:192,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:193,1
    - Dst: Botan::CMCE_CT::min
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:193,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:193,1
    - Dst: Botan::simultaneous_composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:196,1
    - Dst: Botan::composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:199,1
    - Dst: Botan::simultaneous_composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:200,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:202,1
    - Dst: Botan::CMCE_CT::min
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:202,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:202,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:202,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:208,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:208,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:213,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:213,1
    - Dst: Botan::composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:216,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:220,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:220,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:225,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:225,1
    - Dst: Botan::composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:228,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:233,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:233,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:234,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:234,1
    - Dst: Botan::generate_control_bits_internal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:237,1
    - Dst: Botan::generate_control_bits_internal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:238,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:240,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:240,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:241,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:242,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:242,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:243,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:243,1
    - Dst: Botan::concat
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:246,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - ' pi'
    argTypes:
    - secure_vector<uint16_t>
    constantsTouched: []
    func_position:
      end: 247
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 247
    functionName: Botan::generate_control_bits_internal
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 1
    functionsReached:
    - Botan::simultaneous_composeinv
    - Botan::concat
    - secure_vector::at
    - Botan::generate_control_bits_internal
    - at
    - auto::at
    - static_cast<size_t>
    - auto::size
    - secure_vector::begin
    - secure_vector<uint16_t>
    - Botan::CMCE_CT::min
    - static_cast<uint16_t>
    - secure_vector::end
    - Botan::is_power_of_2
    - std::iota
    - Botan::composeinv
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: secure_vector<uint16_t>
    signature: secure_vector<uint16_t> generate_control_bits_internal(const secure_vector<uint16_t>&
      pi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:250,1
    - Dst: std::span<const uint32_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:251,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:252,1
    - Dst: CT::Mask::as_choice
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: Botan::ct_has_adjacent_duplicates
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::CT::Mask::cleared
    - std::span<const uint32_t>::size
    - CT::Mask::as_choice
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice ct_has_adjacent_duplicates(std::span<const uint32_t> vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:261,1
    - Dst: StrongSpan<const CmceOrderingBits>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:261,1
    - Dst: sigma2
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:261,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:261,1
    - Dst: load_le<secure_vector<uint32_t>>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:263,1
    - Dst: ct_has_adjacent_duplicates
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:265,1
    - Dst: Classic_McEliece_Field_Ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:269,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:269,1
    - Dst: poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' params'
    - random_bits
    argTypes:
    - Classic_McEliece_Parameters
    - StrongSpan<const CmceOrderingBits>
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: Botan::Classic_McEliece_Field_Ordering::create_field_ordering
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - StrongSpan<const CmceOrderingBits>::size
    - q
    - sigma2
    - ct_has_adjacent_duplicates
    - Classic_McEliece_Field_Ordering
    - load_le<secure_vector<uint32_t>>
    - poly_f
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::optional<Classic_McEliece_Field_Ordering>
    signature: "std::optional<Classic_McEliece_Field_Ordering> Classic_McEliece_Field_Ordering::create_field_ordering(\n
      \  const Classic_McEliece_Parameters& params, StrongSpan<const CmceOrderingBits>
      random_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:273,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:273,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:274,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:274,1
    - Dst: std::transform
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:278,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:278,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:278,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:278,1
    - Dst: from_pi
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:279,1
    - Dst: CmcePermutationElement
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:279,1
    - Dst: Botan::log_q_from_mod
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: Botan::Classic_McEliece_Field_Ordering::alphas
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 9
    functionsReached:
    - CmcePermutationElement
    - Botan::log_q_from_mod
    - std::back_inserter
    - size
    - get
    - BOTAN_ASSERT_NOMSG
    - from_pi
    - begin
    - std::transform
    linkageType: ''
    returnType: std::vector<Classic_McEliece_GF>
    signature: std::vector<Classic_McEliece_GF> Classic_McEliece_Field_Ordering::alphas(size_t
      n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_control_bits_internal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:287,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:287,1
    - Dst: secure_bitvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:288,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:288,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:289,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:290,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: Botan::Classic_McEliece_Field_Ordering::alphas_control_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - secure_bitvector
    - auto::at
    - generate_control_bits_internal
    - get
    - auto::size
    linkageType: ''
    returnType: secure_bitvector
    signature: secure_bitvector Classic_McEliece_Field_Ordering::alphas_control_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:300,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:300,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:300,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:300,1
    - Dst: std::iota
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:303,1
    - Dst: CmcePermutation::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:303,1
    - Dst: CmcePermutation::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:303,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:303,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:304,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:308,1
    - Dst: auto::conditional_swap
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:309,1
    - Dst: Classic_McEliece_Field_Ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:313,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:313,1
    - Dst: poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' params'
    - ' control_bits'
    argTypes:
    - Classic_McEliece_Parameters
    - secure_bitvector
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: Botan::Classic_McEliece_Field_Ordering::create_from_control_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - Botan::sha512_msg_expand
    - CmcePermutation::begin
    - Classic_McEliece_Field_Ordering
    - m
    - poly_f
    - CmcePermutation::end
    - size
    - static_cast<uint16_t>
    - std::iota
    - auto::conditional_swap
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: Classic_McEliece_Field_Ordering
    signature: "Classic_McEliece_Field_Ordering Classic_McEliece_Field_Ordering::create_from_control_bits(\n
      \  const Classic_McEliece_Parameters& params, const secure_bitvector& control_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:318,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:318,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:320,1
    - Dst: Botan::EC_Group_Data::point_hash_to_curve_nu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:322,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:323,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:323,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:324,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:324,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:325,1
    - Dst: conditional_swap
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:326,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:327,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' params'
    - ' pivots'
    argTypes:
    - Classic_McEliece_Parameters
    - CmceColumnSelection
    constantsTouched: []
    func_position:
      end: 330
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 330
    functionName: Botan::Classic_McEliece_Field_Ordering::permute_with_pivots
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::sha512_msg_expand
    - at
    - pk_no_rows
    - Botan::EC_Group_Data::point_hash_to_curve_nu
    - Classic_McEliece_Parameters::mu
    - get
    - conditional_swap
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_Field_Ordering::permute_with_pivots(const Classic_McEliece_Parameters&
      params,\n                                                          const CmceColumnSelection&
      pivots)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:30,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - pos
    argTypes:
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::bit_at_mask
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    - static_cast<uint64_t>
    linkageType: ''
    returnType: CT::Mask<uint64_t>
    signature: CT::Mask<uint64_t> bit_at_mask(uint64_t val, size_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' val'
    - i
    - j
    argTypes:
    - uint64_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: Botan::swap_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_bits(uint64_t& val, size_t i, size_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:44,1
    - Dst: Botan::bit_at_mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:46,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:48,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: Botan::count_lsb_zeros
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::set
    - static_cast<size_t>
    - Botan::bit_at_mask
    - auto::if_set_return
    linkageType: ''
    returnType: size_t
    signature: size_t count_lsb_zeros(uint64_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alphas
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:57,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:57,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:59,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:61,1
    - Dst: g
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:61,1
    - Dst: std::vector<CmceMatrixRow>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:63,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:63,1
    - Dst: CmceMatrixRow
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:63,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:63,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:65,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:66,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:67,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:68,1
    - Dst: Botan::elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:68,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:73,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:74,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ' params'
    - ' field_ordering'
    - ' g'
    argTypes:
    - Classic_McEliece_Parameters
    - Classic_McEliece_Field_Ordering
    - Classic_McEliece_Minimal_Polynomial
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: Botan::init_matrix_with_alphas
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - std::vector<CmceMatrixRow>
    - pk_no_rows
    - std::vector::reserve
    - auto::at
    - Botan::elem
    - m
    - g
    - alphas
    - CmceMatrixRow
    - n
    - t
    - std::vector::push_back
    linkageType: ''
    returnType: CmceMatrix
    signature: "CmceMatrix init_matrix_with_alphas(const Classic_McEliece_Parameters&
      params,\n                                   const Classic_McEliece_Field_Ordering&
      field_ordering,\n                                   const Classic_McEliece_Minimal_Polynomial&
      g)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:82,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:82,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:82,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:83,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:83,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:83,1
    - Dst: Botan::EC_Group_Data::point_hash_to_curve_nu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:84,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:93,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:93,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:94,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:95,1
    - Dst: subvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:95,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:103,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:112,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:114,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:115,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:116,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:119,1
    - Dst: auto::as_choice
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:120,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:130,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:134,1
    - Dst: Botan::bit_at_mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:136,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:136,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:137,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:137,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:137,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:146,1
    - Dst: Botan::bit_at_mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:148,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:148,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:149,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:149,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:149,1
    - Dst: Botan::EC_Group_Data::point_hash_to_curve_nu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:156,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:157,1
    - Dst: CmceColumnSelection::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:158,1
    - Dst: auto::select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:158,1
    - Dst: CmceColumnSelection::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:158,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:163,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:164,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:165,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:165,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:165,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:170,1
    - Dst: subvector_replace
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - ' mat'
    - ' params'
    argTypes:
    - CmceMatrix
    - Classic_McEliece_Parameters
    constantsTouched: []
    func_position:
      end: 175
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 175
    functionName: Botan::move_columns
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_scalar_is_zero
    - subvector_replace
    - Botan::size
    - Botan::BigInt::is_equal
    - subvector
    - CmceColumnSelection::at
    - Classic_McEliece_Parameters::mu
    - auto::as_choice
    - std::vector::at
    - pk_no_rows
    - std::vector::reserve
    - Botan::bit_at_mask
    - Botan::get
    - std::array::at
    - n
    - std::vector::push_back
    - Botan::EC_Group_Data::point_hash_to_curve_nu
    - Botan::swap_bits
    - BOTAN_ASSERT
    - auto::select
    - auto::if_set_return
    linkageType: ''
    returnType: std::optional<CmceColumnSelection>
    signature: std::optional<CmceColumnSelection> move_columns(CmceMatrix& mat, const
      Classic_McEliece_Parameters& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:178,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:178,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:178,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:179,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:179,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:179,1
    - Dst: CmceColumnSelection
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:182,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:185,1
    - Dst: is_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:186,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:186,1
    - Dst: mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:186,1
    - Dst: Botan::move_columns
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:187,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:189,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:193,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:193,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:201,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:202,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:202,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:202,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:208,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:216,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:218,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:218,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:218,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' params'
    - ' mat'
    argTypes:
    - Classic_McEliece_Parameters
    - CmceMatrix
    constantsTouched: []
    func_position:
      end: 224
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 224
    functionName: Botan::apply_gauss
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - is_f
    - std::move
    - mu
    - pk_no_rows
    - at
    - auto::value
    - Botan::get
    - BOTAN_ASSERT
    - Botan::move_columns
    - CmceColumnSelection
    - n
    - Botan::CT::unpoison
    - Botan::size
    linkageType: ''
    returnType: std::optional<CmceColumnSelection>
    signature: std::optional<CmceColumnSelection> apply_gauss(const Classic_McEliece_Parameters&
      params, CmceMatrix& mat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pk_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:229,1
    - Dst: BufferStuffer
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:230,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:232,1
    - Dst: subvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:233,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:233,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:233,1
    - Dst: pk_row_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:233,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:236,1
    - Dst: auto::full
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' params'
    - ' mat'
    argTypes:
    - Classic_McEliece_Parameters
    - CmceMatrix
    constantsTouched: []
    func_position:
      end: 239
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 239
    functionName: Botan::extract_pk_bytes_from_matrix
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - subvector
    - pk_no_rows
    - pk_row_size_bytes
    - auto::full
    - auto::next
    - BufferStuffer
    - pk_size_bytes
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> extract_pk_bytes_from_matrix(const Classic_McEliece_Parameters&
      params, const CmceMatrix& mat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_matrix_with_alphas
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:247,1
    - Dst: apply_gauss
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:248,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:250,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:251,1
    - Dst: extract_pk_bytes_from_matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:256,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:257,1
    - Dst: Classic_McEliece_Matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:257,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:257,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' params'
    - ' field_ordering'
    - ' g'
    argTypes:
    - Classic_McEliece_Parameters
    - Classic_McEliece_Field_Ordering
    - Classic_McEliece_Minimal_Polynomial
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: Botan::Classic_McEliece_Matrix::create_matrix
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - extract_pk_bytes_from_matrix
    - auto::value
    - Classic_McEliece_Matrix
    - apply_gauss
    - std::make_pair
    - auto::has_value
    - Botan::CT::unpoison
    - init_matrix_with_alphas
    linkageType: ''
    returnType: std::optional<std::pair<Classic_McEliece_Matrix, CmceColumnSelection>>
    signature: "std::optional<std::pair<Classic_McEliece_Matrix, CmceColumnSelection>>
      Classic_McEliece_Matrix::create_matrix(\n   const Classic_McEliece_Parameters&
      params,\n   const Classic_McEliece_Field_Ordering& field_ordering,\n   const
      Classic_McEliece_Minimal_Polynomial& g)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Matrix::create_matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:264,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:267,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:272,1
    - Dst: is_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:274,1
    - Dst: permute_with_pivots
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' params'
    - ' field_ordering'
    - ' g'
    argTypes:
    - Classic_McEliece_Parameters
    - Classic_McEliece_Field_Ordering
    - Classic_McEliece_Minimal_Polynomial
    constantsTouched: []
    func_position:
      end: 279
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 279
    functionName: Botan::Classic_McEliece_Matrix::create_matrix_and_apply_pivots
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 1
    functionsReached:
    - is_f
    - Botan::CT::unpoison
    - auto::value
    - permute_with_pivots
    - Botan::Classic_McEliece_Matrix::create_matrix
    linkageType: ''
    returnType: std::optional<std::pair<Classic_McEliece_Matrix, CmceColumnSelection>>
    signature: "std::optional<std::pair<Classic_McEliece_Matrix, CmceColumnSelection>>
      Classic_McEliece_Matrix::create_matrix_and_apply_pivots(const Classic_McEliece_Parameters&
      params,\n                                                        Classic_McEliece_Field_Ordering&
      field_ordering,\n                                                        const
      Classic_McEliece_Minimal_Polynomial& g)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:282,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:282,1
    - Dst: subvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:283,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:283,1
    - Dst: BufferSlicer
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:284,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:286,1
    - Dst: auto::take
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:287,1
    - Dst: pk_row_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:287,1
    - Dst: secure_bitvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:288,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:288,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:288,1
    - Dst: auto::has_odd_hamming_weight
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:290,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:293,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' params'
    - ' e'
    argTypes:
    - Classic_McEliece_Parameters
    - CmceErrorVector
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: Botan::Classic_McEliece_Matrix::mul
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer
    - secure_bitvector
    - subvector
    - pk_no_rows
    - pk_row_size_bytes
    - auto::empty
    - auto::has_odd_hamming_weight
    - n
    - auto::take
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: CmceCodeWord
    signature: CmceCodeWord Classic_McEliece_Matrix::mul(const Classic_McEliece_Parameters&
      params, const CmceErrorVector& e) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: Botan::Classic_McEliece_GF
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 3
    functionsReached:
    - Botan::Classic_McEliece_GF
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_GF
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::floor_log2
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:54,1
    - Dst: CmceGfMod::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - modulus
    argTypes:
    - CmceGfMod
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::log_q_from_mod
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 1
    functionsReached:
    - Botan::floor_log2
    - CmceGfMod::get
    linkageType: ''
    returnType: size_t
    signature: size_t log_q_from_mod(CmceGfMod modulus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::log_q_from_mod
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::log_q
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - Botan::log_q_from_mod
    linkageType: ''
    returnType: size_t
    signature: size_t log_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::elem
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CmceGfElem
    signature: CmceGfElem elem() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::modulus
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CmceGfMod
    signature: CmceGfMod modulus() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:81,1
    - Dst: Botan::log_q
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elem
    argTypes:
    - CmceGfElem
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '& operator=(const CmceGfElem elem)'
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - Botan::log_q
    - CmceGfElem
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF & operator=(const CmceGfElem elem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:89,1
    - Dst: Classic_McEliece_GF::inv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator/(Classic_McEliece_GF other) const
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Classic_McEliece_GF::inv
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF operator/(Classic_McEliece_GF other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:97,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: operator+(Classic_McEliece_GF other) const
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_GF
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF operator+(Classic_McEliece_GF other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: '& operator+=(Classic_McEliece_GF other)'
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF & operator+=(Classic_McEliece_GF other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: '& operator*=(Classic_McEliece_GF other)'
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF & operator*=(Classic_McEliece_GF other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:127,1
    - Dst: Classic_McEliece_GF::elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: operator==(Classic_McEliece_GF other) const
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - Classic_McEliece_GF::elem
    - Botan::elem
    linkageType: ''
    returnType: bool
    signature: bool operator==(Classic_McEliece_GF other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Botan::square
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF square() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: Botan::is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 3
    functionsReached:
    - Botan::elem
    linkageType: ''
    returnType: bool
    signature: bool is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GF_Mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:157,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:157,1
    - Dst: expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:160,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:160,1
    - Dst: GF_Mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:162,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:162,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:162,1
    - Dst: GF_Mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:165,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:165,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:165,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:165,1
    - Dst: GF_Mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:169,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:169,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:169,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:169,1
    - Dst: GF_Mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:172,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:172,1
    - Dst: Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:177,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:177,1
    - Dst: if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:177,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:177,1
    - Dst: modulus
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:177,1
    - Dst: Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:181,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:181,1
    - Dst: select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:181,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:181,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:181,1
    - Dst: modulus
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:181,1
    - Dst: Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:185,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:185,1
    - Dst: select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:185,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:185,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:185,1
    - Dst: modulus
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:185,1
    - Dst: select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:188,1
    - Dst: as_bool
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 201
    functionName: GF_Mask
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 2
    functionsReached:
    - Botan::BigInt::is_equal
    - Classic_McEliece_GF
    - Botan::sha512_msg_expand
    - GF_Mask
    - elem
    - CmceGfElem
    - if_set_return
    - cryptofuzz::module::EC_POINT_Copier::set
    - modulus
    - select
    - cryptofuzz_secp256k1_scalar_is_zero
    - get
    - Botan::CT::Mask::is_lte
    - as_bool
    - expand
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API GF_Mask
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Classic_McEliece_Parameter_Set::code
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:17,1
    - Dst: CmceGfMod
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:21,1
    - Dst: CmceGfMod
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:37,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - param_set
    argTypes:
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 40
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 40
    functionName: Botan::determine_poly_f
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 0
    functionsReached:
    - CmceGfMod
    - BOTAN_ASSERT_UNREACHABLE
    - Classic_McEliece_Parameter_Set::code
    linkageType: ''
    returnType: CmceGfMod
    signature: CmceGfMod determine_poly_f(Classic_McEliece_Parameter_Set param_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::determine_poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:43,1
    - Dst: Classic_McEliece_Parameter_Set::code
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:45,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:49,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:49,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:50,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:50,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:51,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:51,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:57,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:57,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:58,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:58,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:59,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:59,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:60,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:60,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:69,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:69,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:70,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:70,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:83,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:83,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:84,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:84,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:85,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:85,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:86,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:86,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - param_set
    argTypes:
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 91
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 91
    functionName: Botan::determine_poly_ring
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_GF
    - Classic_McEliece_Parameter_Set::code
    - CmceGfElem
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::determine_poly_f
    linkageType: ''
    returnType: Classic_McEliece_Polynomial_Ring
    signature: Classic_McEliece_Polynomial_Ring determine_poly_ring(Classic_McEliece_Parameter_Set
      param_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: determine_poly_ring
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:96,1
    - Dst: Classic_McEliece_Parameter_Set::code
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:98,1
    - Dst: Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:101,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:101,1
    - Dst: Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:105,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:105,1
    - Dst: Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:111,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:111,1
    - Dst: Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:117,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:117,1
    - Dst: Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:123,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:123,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - set
    argTypes:
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 126
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 126
    functionName: Botan::Classic_McEliece_Parameters::create
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 10
    functionsReached:
    - std::move
    - Classic_McEliece_Parameter_Set::code
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
    - determine_poly_ring
    linkageType: ''
    returnType: Classic_McEliece_Parameters
    signature: Classic_McEliece_Parameters Classic_McEliece_Parameters::create(Classic_McEliece_Parameter_Set
      set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:129,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::Classic_McEliece_Parameters::create
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 11
    functionsReached:
    - Botan::Classic_McEliece_Parameter_Set::from_string
    - Botan::Classic_McEliece_Parameters::create
    linkageType: ''
    returnType: Classic_McEliece_Parameters
    signature: Classic_McEliece_Parameters Classic_McEliece_Parameters::create(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:133,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_oid
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::Classic_McEliece_Parameters::create
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 12
    functionsReached:
    - Botan::Classic_McEliece_Parameter_Set::from_oid
    - Botan::Classic_McEliece_Parameters::create
    linkageType: ''
    returnType: Classic_McEliece_Parameters
    signature: Classic_McEliece_Parameters Classic_McEliece_Parameters::create(const
      OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:137,1
    - Dst: to_string
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::Classic_McEliece_Parameters::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 0
    functionsReached:
    - to_string
    - Botan::OID::from_string
    linkageType: ''
    returnType: OID
    signature: OID Classic_McEliece_Parameters::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:144,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - param_set
    - m
    - n
    - poly_ring
    argTypes:
    - Classic_McEliece_Parameter_Set
    - size_t
    - size_t
    - Classic_McEliece_Polynomial_Ring
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_Parameters::Classic_McEliece_Parameters(Classic_McEliece_Parameter_Set
      param_set,\n                                                         size_t
      m,\n                                                         size_t n,\n                                                         Classic_McEliece_Polynomial_Ring
      poly_ring)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: code
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:153,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 177
    functionName: Botan::Classic_McEliece_Parameters::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 0
    functionsReached:
    - code
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: size_t
    signature: size_t Classic_McEliece_Parameters::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:180,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:180,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:181,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:183,1
    - Dst: std::array<uint8_t, 1>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:183,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: Botan::Classic_McEliece_Parameters::prg
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_EQUAL
    - std::span<const uint8_t>::size
    - auto::update
    - std::array<uint8_t, 1>
    - Botan::XOF::create_or_throw
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> Classic_McEliece_Parameters::prg(std::span<const
      uint8_t> seed) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:19,1
    - Dst: Classic_McEliece_GF::modulus
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:19,1
    - Dst: coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:19,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:21,1
    - Dst: Classic_McEliece_GF::modulus
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:21,1
    - Dst: rbegin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:22,1
    - Dst: rend
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: Classic_McEliece_Polynomial::operator()(Classic_McEliece_GF a) const
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - CmceGfElem
    - rbegin
    - rend
    - Classic_McEliece_GF::modulus
    - coef_at
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF Classic_McEliece_Polynomial::operator()(Classic_McEliece_GF
      a) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:32,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:36,1
    - Dst: coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:36,1
    - Dst: coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:36,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:42,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:42,1
    - Dst: std::vector::erase
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:46,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:46,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:46,1
    - Dst: Classic_McEliece_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:48,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Classic_McEliece_Polynomial
    - Classic_McEliece_Polynomial
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: Botan::Classic_McEliece_Polynomial_Ring::multiply
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::vector::at
    - std::vector::erase
    - CmceGfElem
    - Classic_McEliece_Polynomial
    - std::vector::begin
    - std::vector::end
    - coef_at
    linkageType: ''
    returnType: Classic_McEliece_Polynomial
    signature: "Classic_McEliece_Polynomial Classic_McEliece_Polynomial_Ring::multiply(const
      Classic_McEliece_Polynomial& a,\n                                                                       const
      Classic_McEliece_Polynomial& b) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:53,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:53,1
    - Dst: Botan::Classic_McEliece_Polynomial_Ring::create_element_from_coef
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:54,1
    - Dst: load_le<std::vector<CmceGfElem>>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: Botan::Classic_McEliece_Polynomial_Ring::create_element_from_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    - Botan::Classic_McEliece_Polynomial_Ring::create_element_from_coef
    - load_le<std::vector<CmceGfElem>>
    linkageType: ''
    returnType: Classic_McEliece_Polynomial
    signature: "Classic_McEliece_Polynomial Classic_McEliece_Polynomial_Ring::create_element_from_bytes(\n
      \  std::span<const uint8_t> bytes) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:60,1
    - Dst: Botan::log_q_from_mod
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:60,1
    - Dst: std::transform
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:61,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:61,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:61,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:61,1
    - Dst: Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:62,1
    - Dst: Classic_McEliece_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' coeff_vec'
    argTypes:
    - std::vector<CmceGfElem>
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: Botan::Classic_McEliece_Polynomial_Ring::create_element_from_coef
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 1
    functionsReached:
    - Classic_McEliece_GF
    - Botan::log_q_from_mod
    - end
    - std::back_inserter
    - CmceGfElem
    - Classic_McEliece_Polynomial
    - begin
    - std::transform
    linkageType: ''
    returnType: Classic_McEliece_Polynomial
    signature: "Classic_McEliece_Polynomial Classic_McEliece_Polynomial_Ring::create_element_from_coef(\n
      \  const std::vector<CmceGfElem>& coeff_vec) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - Classic_McEliece_Polynomial_Ring::Big_F_Coefficient
    - Classic_McEliece_Polynomial_Ring::Big_F_Coefficient
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: "operator==(const Classic_McEliece_Polynomial_Ring::Big_F_Coefficient&
      lhs,\n                const Classic_McEliece_Polynomial_Ring::Big_F_Coefficient&
      rhs)"
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const Classic_McEliece_Polynomial_Ring::Big_F_Coefficient&
      lhs,\n                const Classic_McEliece_Polynomial_Ring::Big_F_Coefficient&
      rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Polynomial_Ring::create_element_from_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:74,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:77,1
    - Dst: Botan::Classic_McEliece_Polynomial_Ring::create_element_from_coef
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:77,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:77,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:78,1
    - Dst: std::vector<CmceGfElem>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:78,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:78,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:78,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:80,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:83,1
    - Dst: Botan::Classic_McEliece_Polynomial_Ring::multiply
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:83,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:83,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:87,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:88,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:89,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:89,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:91,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:92,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:92,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:92,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:97,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:103,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:105,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:106,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:109,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:111,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:113,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:114,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:114,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:120,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:120,1
    - Dst: auto::emplace_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:122,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:122,1
    - Dst: poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:122,1
    - Dst: Classic_McEliece_Minimal_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:124,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - seed
    argTypes:
    - StrongSpan<const CmceIrreducibleBits>
    constantsTouched: []
    func_position:
      end: 125
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 125
    functionName: Botan::Classic_McEliece_Polynomial_Ring::compute_minimal_polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - auto::emplace_back
    - std::vector::at
    - Classic_McEliece_Minimal_Polynomial
    - std::vector<CmceGfElem>
    - Botan::Classic_McEliece_Polynomial_Ring::create_element_from_bytes
    - CmceGfElem
    - poly_f
    - degree
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::Classic_McEliece_Polynomial_Ring::create_element_from_coef
    - concat
    - auto::if_set_return
    - Botan::CT::unpoison
    - std::vector::push_back
    - Botan::Classic_McEliece_Polynomial_Ring::multiply
    linkageType: ''
    returnType: std::optional<Classic_McEliece_Minimal_Polynomial>
    signature: "std::optional<Classic_McEliece_Minimal_Polynomial> Classic_McEliece_Polynomial_Ring::compute_minimal_polynomial(\n
      \  StrongSpan<const CmceIrreducibleBits> seed) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:128,1
    - Dst: coef
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:128,1
    - Dst: coef
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:129,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:131,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:131,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:132,1
    - Dst: store_le
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:135,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:135,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:135,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:137,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: Botan::Classic_McEliece_Minimal_Polynomial::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - store_le
    - elem
    - BufferStuffer::next
    - BufferStuffer::full
    - size
    - auto::size
    - coef
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Classic_McEliece_Minimal_Polynomial::serialize()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:143,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:143,1
    - Dst: load_le<std::vector<CmceGfElem>>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:144,1
    - Dst: std::transform
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:146,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:146,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:146,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:146,1
    - Dst: Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:147,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:150,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:150,1
    - Dst: Classic_McEliece_Minimal_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - bytes
    - poly_f
    argTypes:
    - std::span<const uint8_t>
    - CmceGfMod
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: Botan::Classic_McEliece_Minimal_Polynomial::from_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 2
    functionsReached:
    - auto::begin
    - Classic_McEliece_GF
    - Classic_McEliece_Minimal_Polynomial
    - std::back_inserter
    - CmceGfElem
    - std::span<const uint8_t>::size
    - auto::end
    - load_le<std::vector<CmceGfElem>>
    - BOTAN_ASSERT_NOMSG
    - std::vector::emplace_back
    - std::transform
    linkageType: ''
    returnType: Classic_McEliece_Minimal_Polynomial
    signature: "Classic_McEliece_Minimal_Polynomial Classic_McEliece_Minimal_Polynomial::from_bytes(std::span<const
      uint8_t> bytes,\n                                                                                    CmceGfMod
      poly_f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp:67,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp:67,1
    - Dst: Classic_McEliece_Parameter_Set
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp:69,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 52
    argCount: 1
    argNames:
    - nm
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 70
    functionName: Botan::Classic_McEliece_Parameter_Set::from_string
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp
    functionUses: 4
    functionsReached:
    - fmt
    - Invalid_Argument
    - Classic_McEliece_Parameter_Set
    linkageType: ''
    returnType: Classic_McEliece_Parameter_Set
    signature: Classic_McEliece_Parameter_Set Classic_McEliece_Parameter_Set::from_string(std::string_view
      nm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 108
    functionName: Botan::Classic_McEliece_Parameter_Set::to_string
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string Classic_McEliece_Parameter_Set::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp:111,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Botan::Classic_McEliece_Parameter_Set::from_oid
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp
    functionUses: 3
    functionsReached:
    - to_formatted_string
    - Botan::Classic_McEliece_Parameter_Set::from_string
    linkageType: ''
    returnType: Classic_McEliece_Parameter_Set
    signature: Classic_McEliece_Parameter_Set Classic_McEliece_Parameter_Set::from_oid(const
      OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - code
    argTypes:
    - Code
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::Classic_McEliece_Parameter_Set
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Classic_McEliece_Parameter_Set(Code code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::code
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Code
    signature: Code code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: operator==(const Classic_McEliece_Parameter_Set& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Classic_McEliece_Parameter_Set& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:105,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:139,1
    - Dst: Botan::poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:146,1
    - Dst: ell
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:158,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:168,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:173,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:173,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:178,1
    - Dst: seed_len
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:185,1
    - Dst: sk_c_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:185,1
    - Dst: sk_poly_g_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:185,1
    - Dst: sk_alpha_control_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:185,1
    - Dst: sk_s_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:185,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:191,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:191,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:200,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:200,1
    - Dst: pk_no_cols
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:205,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:212,1
    - Dst: pk_row_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:212,1
    - Dst: Botan::ceil_division
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:217,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:217,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:217,1
    - Dst: ell
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:224,1
    - Dst: is_pc
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:230,1
    - Dst: encode_out_size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:232,1
    - Dst: hash_out_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:232,1
    - Dst: encode_out_size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:234,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:257,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:265,1
    - Dst: Botan::poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:265,1
    - Dst: Botan::Classic_McEliece_Parameters
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:268,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 277
    functionName: Botan::Classic_McEliece_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h
    functionUses: 1
    functionsReached:
    - m
    - Botan::Classic_McEliece_Parameters
    - hash_out_bytes
    - encode_out_size
    - is_pc
    - pk_row_size_bytes
    - t
    - ell
    - pk_no_cols
    - Botan::poly_f
    - pk_no_rows
    - Botan::degree
    - sk_s_bytes
    - Botan::HashFunction::create_or_throw
    - sk_alpha_control_bytes
    - n
    - seed_len
    - sk_c_bytes
    - Botan::Classic_McEliece_GF
    - Botan::ceil_division
    - sk_poly_g_bytes
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_Parameters
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:28,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:40,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:40,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - x
    - mod
    argTypes:
    - uint32_t
    - CmceGfMod
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: Botan::internal_reduce
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    - CmceGfElem
    - static_cast<uint16_t>
    linkageType: ''
    returnType: CmceGfElem
    signature: CmceGfElem internal_reduce(uint32_t x, CmceGfMod mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:48,1
    - Dst: log_q
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:55,1
    - Dst: Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:59,1
    - Dst: internal_reduce
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: Classic_McEliece_GF::operator*(Classic_McEliece_GF other) const
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp
    functionUses: 0
    functionsReached:
    - Classic_McEliece_GF
    - internal_reduce
    - log_q
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF Classic_McEliece_GF::operator*(Classic_McEliece_GF
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:70,1
    - Dst: Classic_McEliece_GF::square
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: Botan::Classic_McEliece_GF::inv
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp
    functionUses: 0
    functionsReached:
    - Classic_McEliece_GF::square
    - CmceGfElem
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF Classic_McEliece_GF::inv() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_PublicKeyInternal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: Botan::Classic_McEliece_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 1
    functionsReached:
    - Botan::Classic_McEliece_PublicKeyInternal
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_PublicKeyInternal
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached:
    - bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::matrix
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Classic_McEliece_Matrix
    signature: Classic_McEliece_Matrix & matrix() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::params
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Classic_McEliece_Parameters
    signature: Classic_McEliece_Parameters & params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: delta
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CmceKeyGenSeed
    signature: CmceKeyGenSeed & delta() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: c
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 595
    functionsReached: []
    linkageType: ''
    returnType: CmceColumnSelection
    signature: CmceColumnSelection & c() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: g
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 1778
    functionsReached: []
    linkageType: ''
    returnType: Classic_McEliece_Minimal_Polynomial
    signature: Classic_McEliece_Minimal_Polynomial & g() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: field_ordering
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Classic_McEliece_Field_Ordering
    signature: Classic_McEliece_Field_Ordering & field_ordering() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: s
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 2147
    functionsReached: []
    linkageType: ''
    returnType: CmceRejectionSeed
    signature: CmceRejectionSeed & s() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: params
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: Classic_McEliece_Parameters
    signature: Classic_McEliece_Parameters & params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: _const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: _const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:206,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 208
    functionName: Classic_McEliece_KeyPair_Internal
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: struct BOTAN_TEST_API
    signature: struct BOTAN_TEST_API Classic_McEliece_KeyPair_Internal
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECDH_PublicKey>
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:18,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:18,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::ECDH_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    - std::make_unique<ECDH_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> ECDH_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:30,1
    - Dst: Botan::ECDH_KA_Operation::mul_cofactor_inv
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:31,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' key'
    - kdf
    - ' rng'
    argTypes:
    - ECDH_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: Botan::ECDH_KA_Operation::ECDH_KA_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 0
    functionsReached:
    - _private_key
    - Botan::ECDH_KA_Operation::mul_cofactor_inv
    - domain
    linkageType: ''
    returnType: void
    signature: void ECDH_KA_Operation(const ECDH_PrivateKey& key, std::string_view
      kdf, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p_bytes
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::ECDH_KA_Operation::agreed_value_size
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 0
    functionsReached:
    - get_p_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t agreed_value_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_cofactor
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:38,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:40,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:40,1
    - Dst: OS2ECP
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:40,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:42,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:46,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:49,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:59,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:60,1
    - Dst: auto::mul_x_only
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - w
    - w_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: Botan::ECDH_KA_Operation::raw_agree
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 0
    functionsReached:
    - auto::mul_x_only
    - get_cofactor
    - OS2ECP
    - Not_Implemented
    - has_cofactor
    - Botan::EC_AffinePoint::deserialize
    - auto::is_identity
    - Decoding_Error
    - EC_AffinePoint
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_agree(const uint8_t w[], size_t w_len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_cofactor
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:71,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:73,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - ' x'
    argTypes:
    - EC_Group
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: Botan::ECDH_KA_Operation::mul_cofactor_inv
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Scalar::from_bigint
    - has_cofactor
    - get_cofactor
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar mul_cofactor_inv(const EC_Group& group, const EC_Scalar&
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECDH_PrivateKey>
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:87,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::ECDH_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<ECDH_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> ECDH_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - format
    argTypes:
    - EC_Point_Format
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::ECDH_PublicKey::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 1
    functionsReached:
    - _public_ec_point
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ECDH_PublicKey::public_value(EC_Point_Format format)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:97,1
    - Dst: std::make_unique<ECDH_KA_Operation>
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:98,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:101,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: Botan::ECDH_PrivateKey::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<ECDH_KA_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> ECDH_PrivateKey::create_key_agreement_op(RandomNumberGenerator&
      rng,\n                                                                                std::string_view
      params,\n                                                                                std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::ECDH_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDH_PublicKey(const EC_Group& group, const EC_Point& public_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_key'
    argTypes:
    - EC_Group
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::ECDH_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDH_PublicKey(const EC_Group& group, const EC_AffinePoint& public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::public_value
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 2
    functionsReached:
    - Botan::public_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - group
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ECDH_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECDH_PrivateKey(RandomNumberGenerator& rng, EC_Group group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - ' group'
    - ' x'
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: ECDH_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDH_PrivateKey(RandomNumberGenerator& rng, const EC_Group& group,
      const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ECDH_PublicKey::public_value
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: public_value
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 25
    functionsReached:
    - Botan::ECDH_PublicKey::public_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ECDH_PublicKey::public_value
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - EC_Point_Format
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: public_value
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 26
    functionsReached:
    - Botan::ECDH_PublicKey::public_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value(EC_Point_Format type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:16,1
    - Dst: DilithiumInternalKeypair::second::seed
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:17,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:18,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:18,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - keypair
    argTypes:
    - DilithiumInternalKeypair
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: Botan::ML_DSA_Expanding_Keypair_Codec::encode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - BOTAN_ASSERT_NONNULL
    - BOTAN_ARG_CHECK
    - value
    - DilithiumInternalKeypair::second::seed
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ML_DSA_Expanding_Keypair_Codec::encode_keypair(DilithiumInternalKeypair
      keypair) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Algos::expand_keypair
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:24,1
    - Dst: DilithiumSeedRandomness
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:24,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - private_key_seed
    - mode
    argTypes:
    - std::span<const uint8_t>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: Botan::ML_DSA_Expanding_Keypair_Codec::decode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::Dilithium_Algos::expand_keypair
    - DilithiumSeedRandomness
    linkageType: ''
    returnType: DilithiumInternalKeypair
    signature: "DilithiumInternalKeypair ML_DSA_Expanding_Keypair_Codec::decode_keypair(std::span<const
      uint8_t> private_key_seed,\n                                                                        DilithiumConstants
      mode) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - user_context
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::ML_DSA_MessageHash::is_valid_user_context
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: bool
    signature: bool is_valid_user_context(std::span<const uint8_t> user_context) const
      final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMessageHash::start
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:46,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:49,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - user_context
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: Botan::ML_DSA_MessageHash::start
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached:
    - update
    - Botan::DilithiumMessageHash::start
    linkageType: ''
    returnType: void
    signature: void start(std::span<const uint8_t> user_context) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H_256<DilithiumSeedRhoPrime>
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - k
    - rnd
    - mu
    argTypes:
    - StrongSpan<const DilithiumSigningSeedK>
    - StrongSpan<const DilithiumOptionalRandomness>
    - StrongSpan<const DilithiumMessageRepresentative>
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: Botan::ML_DSA_Symmetric_Primitives::H
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached:
    - H_256<DilithiumSeedRhoPrime>
    linkageType: ''
    returnType: DilithiumSeedRhoPrime
    signature: "DilithiumSeedRhoPrime H(StrongSpan<const DilithiumSigningSeedK> k,\n
      \                             StrongSpan<const DilithiumOptionalRandomness>
      rnd,\n                              StrongSpan<const DilithiumMessageRepresentative>
      mu) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DilithiumShakeXOF>
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:65,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:66,1
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::ML_DSA_Symmetric_Primitives::ML_DSA_Symmetric_Primitives
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached:
    - k
    - l
    - std::make_unique<DilithiumShakeXOF>
    linkageType: ''
    returnType: void
    signature: void ML_DSA_Symmetric_Primitives(const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<std::reference_wrapper<RandomNumberGenerator>>::has_value
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:75,1
    - Dst: std::optional<std::reference_wrapper<RandomNumberGenerator>>::get
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:76,1
    - Dst: Botan::ML_DSA_Symmetric_Primitives::H
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - k
    - mu
    - rng
    argTypes:
    - StrongSpan<const DilithiumSigningSeedK>
    - StrongSpan<const DilithiumMessageRepresentative>
    - std::optional<std::reference_wrapper<RandomNumberGenerator>>
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: Botan::ML_DSA_Symmetric_Primitives::H_maybe_randomized
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached:
    - Botan::ML_DSA_Symmetric_Primitives::H
    - std::optional<std::reference_wrapper<RandomNumberGenerator>>::has_value
    - std::optional<std::reference_wrapper<RandomNumberGenerator>>::get
    linkageType: ''
    returnType: DilithiumSeedRhoPrime
    signature: "DilithiumSeedRhoPrime H_maybe_randomized(\n         StrongSpan<const
      DilithiumSigningSeedK> k,\n         StrongSpan<const DilithiumMessageRepresentative>
      mu,\n         std::optional<std::reference_wrapper<RandomNumberGenerator>> rng)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - StrongSpan<const DilithiumCommitmentHash>
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: Botan::ML_DSA_Symmetric_Primitives::truncate_commitment_hash
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StrongSpan<const DilithiumCommitmentHash>
    signature: "StrongSpan<const DilithiumCommitmentHash> truncate_commitment_hash(\n
      \        StrongSpan<const DilithiumCommitmentHash> seed) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ML_DSA_MessageHash>
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:89,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tr
    argTypes:
    - DilithiumHashedPublicKey
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::ML_DSA_Symmetric_Primitives::get_message_hash
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ML_DSA_MessageHash>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<DilithiumMessageHash>
    signature: std::unique_ptr<DilithiumMessageHash> get_message_hash(DilithiumHashedPublicKey
      tr) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan::ML_DSA_Symmetric_Primitives::seed_expansion_domain_separator
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, 2>>
    signature: std::optional<std::array<uint8_t, 2>> seed_expansion_domain_separator()
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Algos::encode_keypair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keypair
    argTypes:
    - DilithiumInternalKeypair
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::Dilithium_Expanded_Keypair_Codec::encode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::encode_keypair
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Dilithium_Expanded_Keypair_Codec::encode_keypair(DilithiumInternalKeypair
      keypair) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:24,1
    - Dst: DilithiumConstants::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:24,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:25,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:25,1
    - Dst: DilithiumConstants::private_key_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:25,1
    - Dst: Botan::Dilithium_Algos::decode_keypair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:27,1
    - Dst: StrongSpan<const DilithiumSerializedPrivateKey>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:27,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - private_key
    - mode
    argTypes:
    - std::span<const uint8_t>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: Botan::Dilithium_Expanded_Keypair_Codec::decode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - DilithiumConstants::private_key_bytes
    - Botan::Dilithium_Algos::decode_keypair
    - DilithiumConstants::mode
    - std::span<const uint8_t>::size
    - BOTAN_ARG_CHECK
    - StrongSpan<const DilithiumSerializedPrivateKey>
    linkageType: ''
    returnType: DilithiumInternalKeypair
    signature: "DilithiumInternalKeypair Dilithium_Expanded_Keypair_Codec::decode_keypair(std::span<const
      uint8_t> private_key,\n                                                                          DilithiumConstants
      mode) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H_256<DilithiumSeedRhoPrime>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - mu
    argTypes:
    - StrongSpan<const DilithiumSigningSeedK>
    - StrongSpan<const DilithiumMessageRepresentative>
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: Botan::Dilithium_Round3_Symmetric_Primitives::H
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - H_256<DilithiumSeedRhoPrime>
    linkageType: ''
    returnType: DilithiumSeedRhoPrime
    signature: "DilithiumSeedRhoPrime H(StrongSpan<const DilithiumSigningSeedK> k,\n
      \                             StrongSpan<const DilithiumMessageRepresentative>
      mu) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<std::reference_wrapper<RandomNumberGenerator>>::has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h:44,1
    - Dst: std::optional<std::reference_wrapper<RandomNumberGenerator>>::get
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h:45,1
    - Dst: Botan::Dilithium_Round3_Symmetric_Primitives::H
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - k
    - mu
    - rng
    argTypes:
    - StrongSpan<const DilithiumSigningSeedK>
    - StrongSpan<const DilithiumMessageRepresentative>
    - std::optional<std::reference_wrapper<RandomNumberGenerator>>
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: Botan::Dilithium_Round3_Symmetric_Primitives::H_maybe_randomized
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Round3_Symmetric_Primitives::H
    - std::optional<std::reference_wrapper<RandomNumberGenerator>>::has_value
    - std::optional<std::reference_wrapper<RandomNumberGenerator>>::get
    linkageType: ''
    returnType: DilithiumSeedRhoPrime
    signature: "DilithiumSeedRhoPrime H_maybe_randomized(\n         StrongSpan<const
      DilithiumSigningSeedK> k,\n         StrongSpan<const DilithiumMessageRepresentative>
      mu,\n         std::optional<std::reference_wrapper<RandomNumberGenerator>> rng)
      const final"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StrongSpan<const DilithiumCommitmentHash>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h:51,1
    - Dst: StrongSpan<const DilithiumCommitmentHash>::get
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - StrongSpan<const DilithiumCommitmentHash>
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan::Dilithium_Round3_Symmetric_Primitives::truncate_commitment_hash
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - StrongSpan<const DilithiumCommitmentHash>
    - StrongSpan<const DilithiumCommitmentHash>::get
    linkageType: ''
    returnType: StrongSpan<const DilithiumCommitmentHash>
    signature: "StrongSpan<const DilithiumCommitmentHash> truncate_commitment_hash(\n
      \        StrongSpan<const DilithiumCommitmentHash> seed) const final"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::Dilithium_Round3_Symmetric_Primitives::seed_expansion_domain_separator
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, 2>>
    signature: std::optional<std::array<uint8_t, 2>> seed_expansion_domain_separator()
      const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DilithiumShakeXOF>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium/dilithium_round3.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: Botan::Dilithium_Symmetric_Primitives::Dilithium_Symmetric_Primitives
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium/dilithium_round3.h
    functionUses: 0
    functionsReached:
    - std::make_unique<DilithiumShakeXOF>
    linkageType: ''
    returnType: void
    signature: void Dilithium_Symmetric_Primitives(const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XOF
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: '& XOF128(std::span<const uint8_t> seed, uint16_t nonce) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp
    functionUses: 0
    functionsReached:
    - XOF
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF128(std::span<const uint8_t> seed, uint16_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XOF
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: '& XOF256(std::span<const uint8_t> seed, uint16_t nonce) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp
    functionUses: 0
    functionsReached:
    - XOF
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF256(std::span<const uint8_t> seed, uint16_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:39,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:39,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:41,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:41,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:42,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:44,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' xof'
    - seed
    - nonce
    argTypes:
    - Botan::XOF
    - std::span<const uint8_t>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: '& XOF(Botan::XOF& xof, std::span<const uint8_t> seed, uint16_t
      nonce)'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::first
    - clear
    - start
    - get_byte<1>
    - std::span<const uint8_t>::size
    - get_byte<0>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF(Botan::XOF& xof, std::span<const uint8_t> seed, uint16_t
      nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AES_XOF>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: Botan::Dilithium_AES_Symmetric_Primitives::Dilithium_AES_Symmetric_Primitives
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AES_XOF>
    linkageType: ''
    returnType: void
    signature: void Dilithium_AES_Symmetric_Primitives::Dilithium_AES_Symmetric_Primitives(const
      DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::is_dilithium_round3
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.h
    functionUses: 0
    functionsReached:
    - is_ml_dsa
    linkageType: ''
    returnType: bool
    signature: bool is_dilithium_round3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::mode
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Mode
    signature: Mode mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~Dilithium_PublicKey() override
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Dilithium_PublicKey() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:27,1
    - Dst: static_cast<T2>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:27,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:27,1
    - Dst: static_cast<T2>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - T2
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: Botan::DilithiumPolyTraits::montgomery_reduce_coefficient
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h
    functionUses: 0
    functionsReached:
    - static_cast<T2>
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T montgomery_reduce_coefficient(T2 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: Botan::DilithiumPolyTraits::barrett_reduce_coefficient
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T barrett_reduce_coefficient(T a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - coeffs
    argTypes:
    - std::span<T, N>
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: Botan::DilithiumPolyTraits::ntt
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h
    functionUses: 0
    functionsReached:
    - fqmul
    linkageType: ''
    returnType: void
    signature: void ntt(std::span<T, N> coeffs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:89,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - coeffs
    argTypes:
    - std::span<T, N>
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: Botan::DilithiumPolyTraits::inverse_ntt
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h
    functionUses: 0
    functionsReached:
    - fqmul
    linkageType: ''
    returnType: void
    signature: void inverse_ntt(std::span<T, N> coeffs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - result
    - lhs
    - rhs
    argTypes:
    - std::span<T, N>
    - std::span<const T, N>
    - std::span<const T, N>
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: Botan::DilithiumPolyTraits::poly_pointwise_montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h
    functionUses: 0
    functionsReached:
    - fqmul
    linkageType: ''
    returnType: void
    signature: "void poly_pointwise_montgomery(std::span<T, N> result,\n                                                      std::span<const
      T, N> lhs,\n                                                      std::span<const
      T, N> rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~Dilithium_Keypair_Codec()
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Dilithium_Keypair_Codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Dilithium_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:38,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:38,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:38,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mode
    - raw_pk
    argTypes:
    - DilithiumConstants
    - StrongSpan<const DilithiumSerializedPublicKey>
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::Dilithium_PublicKeyInternal::decode
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<Dilithium_PublicKeyInternal>
    linkageType: ''
    returnType: std::shared_ptr<Dilithium_PublicKeyInternal>
    signature: "std::shared_ptr<Dilithium_PublicKeyInternal> decode(\n         DilithiumConstants
      mode, StrongSpan<const DilithiumSerializedPublicKey> raw_pk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:42,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:43,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:44,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:45,1
    - Dst: Botan::Dilithium_PublicKeyInternal::raw_pk
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:45,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:46,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:46,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:47,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mode
    - rho
    - t1
    argTypes:
    - DilithiumConstants
    - DilithiumSeedRho
    - DilithiumPolyVec
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: Botan::Dilithium_PublicKeyInternal::Dilithium_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached:
    - std::move
    - empty
    - Botan::Dilithium_PublicKeyInternal::raw_pk
    - symmetric_primitives
    - size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Dilithium_PublicKeyInternal(DilithiumConstants mode, DilithiumSeedRho
      rho, DilithiumPolyVec t1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Algos::encode_public_key
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::Dilithium_PublicKeyInternal::raw_pk
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 1
    functionsReached:
    - Botan::Dilithium_Algos::encode_public_key
    linkageType: ''
    returnType: DilithiumSerializedPublicKey
    signature: DilithiumSerializedPublicKey raw_pk() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& tr() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumHashedPublicKey
    signature: DilithiumHashedPublicKey & tr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& t1() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumPolyVec
    signature: DilithiumPolyVec & t1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& rho() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumSeedRho
    signature: DilithiumSeedRho & rho() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& mode() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumConstants
    signature: DilithiumConstants & mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:76,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:77,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:78,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:80,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - mode
    - seed
    - signing_seed
    - s1
    - s2
    - t0
    argTypes:
    - DilithiumConstants
    - std::optional<DilithiumSeedRandomness>
    - DilithiumSigningSeedK
    - DilithiumPolyVec
    - DilithiumPolyVec
    - DilithiumPolyVec
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: Botan::Dilithium_PrivateKeyInternal::Dilithium_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Dilithium_PrivateKeyInternal(DilithiumConstants mode,\n                                   std::optional<DilithiumSeedRandomness>
      seed,\n                                   DilithiumSigningSeedK signing_seed,\n
      \                                  DilithiumPolyVec s1,\n                                   DilithiumPolyVec
      s2,\n                                   DilithiumPolyVec t0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& mode() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumConstants
    signature: DilithiumConstants & mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& seed() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<DilithiumSeedRandomness>
    signature: std::optional<DilithiumSeedRandomness> & seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '& signing_seed() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumSigningSeedK
    signature: DilithiumSigningSeedK & signing_seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: '& s1() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumPolyVec
    signature: DilithiumPolyVec & s1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: '& s2() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumPolyVec
    signature: DilithiumPolyVec & s2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& t0() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumPolyVec
    signature: DilithiumPolyVec & t0() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:98,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:99,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:100,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: Botan::Dilithium_PrivateKeyInternal::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached:
    - value
    - Botan::CT::poison
    - has_value
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:105,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:106,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:107,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: Botan::Dilithium_PrivateKeyInternal::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached:
    - value
    - Botan::CT::unpoison_all
    - Botan::CT::unpoison
    - has_value
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan::DilithiumConstants::DilithiumConstants
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DilithiumConstants(const DilithiumConstants& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::DilithiumConstants::DilithiumConstants
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DilithiumConstants(DilithiumConstants&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '& operator=(const DilithiumConstants& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumConstants
    signature: DilithiumConstants & operator=(const DilithiumConstants& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(DilithiumConstants&& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumConstants
    signature: DilithiumConstants & operator=(DilithiumConstants&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumConstants::is_modern
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan::DilithiumConstants::is_modern
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 1
    functionsReached:
    - Botan::DilithiumConstants::is_modern
    linkageType: ''
    returnType: bool
    signature: bool is_modern() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumConstants::is_aes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::DilithiumConstants::is_aes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 1
    functionsReached:
    - Botan::DilithiumConstants::is_aes
    linkageType: ''
    returnType: bool
    signature: bool is_aes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumConstants::is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan::DilithiumConstants::is_ml_dsa
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 1
    functionsReached:
    - Botan::DilithiumConstants::is_ml_dsa
    linkageType: ''
    returnType: bool
    signature: bool is_ml_dsa() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan::DilithiumConstants::tau
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumTau
    signature: DilithiumTau tau() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::DilithiumConstants::lambda
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumLambda
    signature: DilithiumLambda lambda() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Botan::DilithiumConstants::gamma1
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumGamma1
    signature: DilithiumGamma1 gamma1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::DilithiumConstants::gamma2
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumGamma2
    signature: DilithiumGamma2 gamma2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::DilithiumConstants::k
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t k() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Botan::DilithiumConstants::l
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t l() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan::DilithiumConstants::eta
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumEta
    signature: DilithiumEta eta() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: Botan::DilithiumConstants::beta
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumBeta
    signature: DilithiumBeta beta() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::DilithiumConstants::omega
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumOmega
    signature: DilithiumOmega omega() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Botan::DilithiumConstants::public_key_hash_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t public_key_hash_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::DilithiumConstants::commitment_hash_full_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t commitment_hash_full_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan::DilithiumConstants::signature_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t signature_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Botan::DilithiumConstants::public_key_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t public_key_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Botan::DilithiumConstants::private_key_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t private_key_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Botan::DilithiumConstants::serialized_commitment_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t serialized_commitment_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::DilithiumConstants::mode
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumMode
    signature: DilithiumMode mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumConstants::k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h:161,1
    - Dst: Botan::DilithiumConstants::l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan::DilithiumConstants::canonical_parameter_set_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached:
    - Botan::DilithiumConstants::l
    - Botan::DilithiumConstants::k
    linkageType: ''
    returnType: size_t
    signature: size_t canonical_parameter_set_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: '& symmetric_primitives() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dilithium_Symmetric_Primitives_Base
    signature: Dilithium_Symmetric_Primitives_Base & symmetric_primitives() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: '& keypair_codec() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dilithium_Keypair_Codec
    signature: Dilithium_Keypair_Codec & keypair_codec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:33,1
    - Dst: Botan::DilithiumMessageHash::clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tr
    argTypes:
    - DilithiumHashedPublicKey
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::DilithiumMessageHash::DilithiumMessageHash
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::DilithiumMessageHash::clear
    linkageType: ''
    returnType: void
    signature: void DilithiumMessageHash(DilithiumHashedPublicKey tr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~DilithiumMessageHash()
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DilithiumMessageHash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:38,1
    - Dst: Botan::DilithiumMessageHash::name
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::DilithiumMessageHash::name
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 1
    functionsReached:
    - Botan::fmt
    - Botan::DilithiumMessageHash::name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - user_context
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Botan::DilithiumMessageHash::is_valid_user_context
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: bool
    signature: bool is_valid_user_context(std::span<const uint8_t> user_context) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:47,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:48,1
    - Dst: Botan::DilithiumMessageHash::is_valid_user_context
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:48,1
    - Dst: Botan::DilithiumMessageHash::update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - user_context
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: Botan::DilithiumMessageHash::start
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 1
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::DilithiumMessageHash::update
    - BOTAN_STATE_CHECK
    - Botan::DilithiumMessageHash::is_valid_user_context
    linkageType: ''
    returnType: void
    signature: void start(std::span<const uint8_t> user_context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMessageHash::ensure_started
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:54,1
    - Dst: Botan::DilithiumMessageHash::update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan::DilithiumMessageHash::update
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 2
    functionsReached:
    - Botan::DilithiumMessageHash::update
    - Botan::DilithiumMessageHash::ensure_started
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMessageHash::ensure_started
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:59,1
    - Dst: Botan::DilithiumMessageHash::clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:60,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: Botan::DilithiumMessageHash::final
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - output
    - Botan::DilithiumMessageHash::ensure_started
    - Botan::DilithiumMessageHash::clear
    linkageType: ''
    returnType: DilithiumMessageRepresentative
    signature: DilithiumMessageRepresentative final()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMessageHash::clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Botan::DilithiumMessageHash::clear
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 3
    functionsReached:
    - Botan::DilithiumMessageHash::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMessageHash::start
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: Botan::DilithiumMessageHash::ensure_started
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 2
    functionsReached:
    - Botan::DilithiumMessageHash::start
    linkageType: ''
    returnType: void
    signature: void ensure_started()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: ~DilithiumXOF()
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DilithiumXOF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: commitment_hash_full_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:104,1
    - Dst: public_key_hash_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:105,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:106,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' mode'
    - xof_adapter
    argTypes:
    - DilithiumConstants
    - std::unique_ptr<DilithiumXOF>
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::Dilithium_Symmetric_Primitives_Base
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - std::move
    - public_key_hash_bytes
    - commitment_hash_full_bytes
    - mode
    linkageType: ''
    returnType: void
    signature: void Dilithium_Symmetric_Primitives_Base(const DilithiumConstants&
      mode, std::unique_ptr<DilithiumXOF> xof_adapter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~Dilithium_Symmetric_Primitives_Base()
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Dilithium_Symmetric_Primitives_Base()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::Dilithium_Symmetric_Primitives_Base
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dilithium_Symmetric_Primitives_Base(const Dilithium_Symmetric_Primitives_Base&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: '& operator=(const Dilithium_Symmetric_Primitives_Base&)'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dilithium_Symmetric_Primitives_Base
    signature: Dilithium_Symmetric_Primitives_Base & operator=(const Dilithium_Symmetric_Primitives_Base&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::Dilithium_Symmetric_Primitives_Base
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dilithium_Symmetric_Primitives_Base(Dilithium_Symmetric_Primitives_Base&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '& operator=(Dilithium_Symmetric_Primitives_Base&&)'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dilithium_Symmetric_Primitives_Base
    signature: Dilithium_Symmetric_Primitives_Base & operator=(Dilithium_Symmetric_Primitives_Base&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DilithiumMessageHash>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:119,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tr
    argTypes:
    - DilithiumHashedPublicKey
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::get_message_hash
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - std::make_unique<DilithiumMessageHash>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<DilithiumMessageHash>
    signature: std::unique_ptr<DilithiumMessageHash> get_message_hash(DilithiumHashedPublicKey
      tr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Symmetric_Primitives_Base::H_256
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pk
    argTypes:
    - StrongSpan<const DilithiumSerializedPublicKey>
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::H
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Symmetric_Primitives_Base::H_256
    linkageType: ''
    returnType: DilithiumHashedPublicKey
    signature: DilithiumHashedPublicKey H(StrongSpan<const DilithiumSerializedPublicKey>
      pk) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:135,1
    - Dst: seed_expansion_domain_separator
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:136,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:137,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:137,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:143,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:144,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:145,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:146,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:148,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:148,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - seed
    argTypes:
    - StrongSpan<const DilithiumSeedRandomness>
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::H
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - std::move
    - clear
    - update
    - auto::value
    - seed_expansion_domain_separator
    - output
    linkageType: ''
    returnType: std::tuple<DilithiumSeedRho, DilithiumSeedRhoPrime, DilithiumSigningSeedK>
    signature: "std::tuple<DilithiumSeedRho, DilithiumSeedRhoPrime, DilithiumSigningSeedK>
      H(\n         StrongSpan<const DilithiumSeedRandomness> seed) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Symmetric_Primitives_Base::H_256
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mu
    - w1
    argTypes:
    - StrongSpan<const DilithiumMessageRepresentative>
    - StrongSpan<const DilithiumSerializedCommitment>
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::H
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Symmetric_Primitives_Base::H_256
    linkageType: ''
    returnType: DilithiumCommitmentHash
    signature: "DilithiumCommitmentHash H(StrongSpan<const DilithiumMessageRepresentative>
      mu,\n                                StrongSpan<const DilithiumSerializedCommitment>
      w1) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:157,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:158,1
    - Dst: truncate_commitment_hash
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seed
    argTypes:
    - StrongSpan<const DilithiumCommitmentHash>
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: '& H(StrongSpan<const DilithiumCommitmentHash> seed) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - Botan::clear
    - Botan::update
    - truncate_commitment_hash
    linkageType: ''
    returnType: SHAKE_256_XOF
    signature: SHAKE_256_XOF & H(StrongSpan<const DilithiumCommitmentHash> seed) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XOF128
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - StrongSpan<const DilithiumSeedRho>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: '& H(StrongSpan<const DilithiumSeedRho> seed, uint16_t nonce) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - XOF128
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & H(StrongSpan<const DilithiumSeedRho> seed, uint16_t nonce)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XOF256
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - StrongSpan<const DilithiumSeedRhoPrime>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '& H(StrongSpan<const DilithiumSeedRhoPrime> seed, uint16_t nonce)
      const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - XOF256
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & H(StrongSpan<const DilithiumSeedRhoPrime> seed, uint16_t
      nonce) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:192,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:193,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - outbytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::H_256
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 2
    functionsReached:
    - clear
    - update
    - output
    linkageType: ''
    returnType: OutT
    signature: OutT H_256(size_t outbytes, InTs&&... ins) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:42,1
    - Dst: static_cast<unsigned_T>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: Botan::Dilithium_Algos::is_negative_mask
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned_T>
    - Botan::CT::Mask::expand_top_bit
    linkageType: ''
    returnType: auto
    signature: auto is_negative_mask(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - DilithiumConstants::T
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: Botan::Dilithium_Algos::map_range
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: std::make_unsigned_t<DilithiumConstants::T>
    signature: std::make_unsigned_t<DilithiumConstants::T> map_range(DilithiumConstants::T
      c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: requires std::is_integral_v<T>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - std::make_unsigned_t<DilithiumConstants::T>
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: Botan::Dilithium_Algos::unmap_range
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - requires std::is_integral_v<T>
    linkageType: ''
    returnType: DilithiumConstants::T
    signature: DilithiumConstants::T unmap_range(std::make_unsigned_t<DilithiumConstants::T>
      c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYSTALS::pack<b>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:65,1
    - Dst: CRYSTALS::pack<a + b>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' stuffer'
    argTypes:
    - CRYSTALS::Polynomial<PolyTrait, D>
    - BufferStuffer
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: Botan::Dilithium_Algos::poly_pack
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - CRYSTALS::pack<b>
    - CRYSTALS::pack<a + b>
    linkageType: ''
    returnType: void
    signature: void poly_pack(const CRYSTALS::Polynomial<PolyTrait, D>& p, BufferStuffer&
      stuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYSTALS::unpack<b>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:82,1
    - Dst: CRYSTALS::unpack<a + b>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:86,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:91,1
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:92,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:92,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:92,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:94,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' get_bytes'
    argTypes:
    - CRYSTALS::Polynomial<PolyTrait, D>
    - ByteSourceT
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: Botan::Dilithium_Algos::poly_unpack
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - CRYSTALS::unpack<a + b>
    - CRYSTALS::unpack<b>
    - BOTAN_DEBUG_ASSERT
    - is_power_of_2
    - Decoding_Error
    - ct_validate_value_range
    linkageType: ''
    returnType: void
    signature: void poly_unpack(CRYSTALS::Polynomial<PolyTrait, D>& p, ByteSourceT&
      get_bytes, bool check_range = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:104,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' stuffer'
    argTypes:
    - DilithiumPoly
    - BufferStuffer
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: Botan::Dilithium_Algos::poly_pack_t1
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::poly_pack
    - bitlen
    linkageType: ''
    returnType: void
    signature: void poly_pack_t1(const DilithiumPoly& p, BufferStuffer& stuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:115,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:117,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:119,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' p'
    - ' stuffer'
    - ' mode'
    argTypes:
    - DilithiumPoly
    - BufferStuffer
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: Botan::Dilithium_Algos::poly_pack_w1
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - gamma2
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Dilithium_Algos::poly_pack
    linkageType: ''
    returnType: void
    signature: void poly_pack_w1(const DilithiumPoly& p, BufferStuffer& stuffer, const
      DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:131,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:133,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:135,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' p'
    - ' stuffer'
    - ' mode'
    argTypes:
    - DilithiumPoly
    - BufferStuffer
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: Botan::Dilithium_Algos::poly_pack_gamma1
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - gamma1
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Dilithium_Algos::poly_pack
    linkageType: ''
    returnType: void
    signature: void poly_pack_gamma1(const DilithiumPoly& p, BufferStuffer& stuffer,
      const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:149,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:151,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:153,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' p'
    - ' stuffer'
    - ' mode'
    argTypes:
    - DilithiumPoly
    - BufferStuffer
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: Botan::Dilithium_Algos::poly_pack_eta
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - eta
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Dilithium_Algos::poly_pack
    linkageType: ''
    returnType: void
    signature: void poly_pack_eta(const DilithiumPoly& p, BufferStuffer& stuffer,
      const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' stuffer'
    argTypes:
    - DilithiumPoly
    - BufferStuffer
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: Botan::Dilithium_Algos::poly_pack_t0
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::poly_pack
    linkageType: ''
    returnType: void
    signature: void poly_pack_t0(const DilithiumPoly& p, BufferStuffer& stuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:175,1
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:179,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:179,1
    - Dst: Botan::Dilithium_Algos::poly_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' slicer'
    argTypes:
    - DilithiumPoly
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: Botan::Dilithium_Algos::poly_unpack_t1
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::poly_unpack
    - static_cast<uint32_t>
    - bitlen
    - is_power_of_2
    linkageType: ''
    returnType: void
    signature: void poly_unpack_t1(DilithiumPoly& p, BufferSlicer& slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:190,1
    - Dst: Botan::Dilithium_Algos::poly_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:192,1
    - Dst: Botan::Dilithium_Algos::poly_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:194,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' p'
    - ' byte_source'
    - ' mode'
    argTypes:
    - DilithiumPoly
    - ByteSourceT
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: Botan::Dilithium_Algos::poly_unpack_gamma1
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - gamma1
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Dilithium_Algos::poly_unpack
    linkageType: ''
    returnType: void
    signature: void poly_unpack_gamma1(DilithiumPoly& p, ByteSourceT& byte_source,
      const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:208,1
    - Dst: Botan::Dilithium_Algos::poly_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:210,1
    - Dst: Botan::Dilithium_Algos::poly_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:212,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' p'
    - ' slicer'
    - ' mode'
    argTypes:
    - DilithiumPoly
    - BufferSlicer
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: Botan::Dilithium_Algos::poly_unpack_eta
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - eta
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Dilithium_Algos::poly_unpack
    linkageType: ''
    returnType: void
    signature: void poly_unpack_eta(DilithiumPoly& p, BufferSlicer& slicer, const
      DilithiumConstants& mode, bool check_range = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Algos::poly_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' slicer'
    argTypes:
    - DilithiumPoly
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: Botan::Dilithium_Algos::poly_unpack_t0
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::poly_unpack
    linkageType: ''
    returnType: void
    signature: void poly_unpack_t0(DilithiumPoly& p, BufferSlicer& slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:233,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:233,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:233,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:234,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:234,1
    - Dst: next
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:236,1
    - Dst: omega
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:236,1
    - Dst: next
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:237,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:237,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:241,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:243,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:243,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:247,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:251,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' h'
    - ' stuffer'
    - ' mode'
    argTypes:
    - DilithiumPolyVec
    - BufferStuffer
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 252
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 252
    functionName: Botan::Dilithium_Algos::hint_pack
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - k
    - BufferStuffer::remaining_capacity
    - BufferStuffer::append
    - BOTAN_DEBUG_ASSERT
    - static_cast<uint8_t>
    - next
    - omega
    - size
    - ct_validate_value_range
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void hint_pack(const DilithiumPolyVec& h, BufferStuffer& stuffer, const
      DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:258,1
    - Dst: omega
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:258,1
    - Dst: take
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:259,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:259,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:261,1
    - Dst: BufferSlicer::take_byte
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:264,1
    - Dst: omega
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:267,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:271,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:275,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:290,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:290,1
    - Dst: std::all_of
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:291,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:291,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:291,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:295,1
    - Dst: DilithiumPolyVec::ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' slicer'
    - ' mode'
    argTypes:
    - BufferSlicer
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 297
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 297
    functionName: Botan::Dilithium_Algos::hint_unpack
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - k
    - auto::begin
    - BufferSlicer::remaining
    - std::all_of
    - BufferSlicer::take
    - BOTAN_DEBUG_ASSERT
    - omega
    - DilithiumPolyVec::ct_validate_value_range
    - BufferSlicer::take_byte
    - auto::end
    - auto::size
    - take
    linkageType: ''
    returnType: std::optional<DilithiumPolyVec>
    signature: std::optional<DilithiumPolyVec> hint_unpack(BufferSlicer& slicer, const
      DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:313,1
    - Dst: clone
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:313,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:314,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:315,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:315,1
    - Dst: auto::conditional_add_q
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:317,1
    - Dst: Botan::Dilithium_Algos::power2round
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' A'
    - ' s1'
    - ' s2'
    argTypes:
    - DilithiumPolyMatNTT
    - DilithiumPolyVec
    - DilithiumPolyVec
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: Botan::Dilithium_Algos::compute_t1_and_t0
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - auto::reduce
    - auto::conditional_add_q
    - clone
    - Botan::Dilithium_Algos::power2round
    - ntt
    - inverse_ntt
    linkageType: ''
    returnType: std::pair<DilithiumPolyVec, DilithiumPolyVec>
    signature: "std::pair<DilithiumPolyVec, DilithiumPolyVec> compute_t1_and_t0(const
      DilithiumPolyMatNTT& A,\n                                                                const
      DilithiumPolyVec& s1,\n                                                                const
      DilithiumPolyVec& s2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:330,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:333,1
    - Dst: Botan::Dilithium_Algos::poly_pack_t1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:335,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:338,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rho
    - ' t1'
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSeedRho>
    - DilithiumPolyVec
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: Botan::Dilithium_Algos::encode_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - Botan::Dilithium_Algos::poly_pack_t1
    - BufferStuffer::append
    - public_key_bytes
    - BufferStuffer::full
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: DilithiumSerializedPublicKey
    signature: "DilithiumSerializedPublicKey encode_public_key(StrongSpan<const DilithiumSeedRho>
      rho,\n                                               const DilithiumPolyVec&
      t1,\n                                               const DilithiumConstants&
      mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StrongSpan<const DilithiumSerializedPublicKey>::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:347,1
    - Dst: public_key_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:347,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:348,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:352,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:354,1
    - Dst: Botan::Dilithium_Algos::poly_unpack_t1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:356,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:358,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:358,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:360,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pk
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSerializedPublicKey>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 361
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 361
    functionName: Botan::Dilithium_Algos::decode_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - k
    - std::move
    - Botan::Dilithium_Algos::poly_unpack_t1
    - BufferSlicer::empty
    - BufferSlicer::copy
    - StrongSpan<const DilithiumSerializedPublicKey>::size
    - public_key_bytes
    - Decoding_Error
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::pair<DilithiumSeedRho, DilithiumPolyVec>
    signature: "std::pair<DilithiumSeedRho, DilithiumPolyVec> decode_public_key(StrongSpan<const
      DilithiumSerializedPublicKey> pk,\n                                                                const
      DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:370,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:371,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:372,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:373,1
    - Dst: private_key_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:375,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:378,1
    - Dst: rho
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:378,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:379,1
    - Dst: signing_seed
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:379,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:380,1
    - Dst: tr
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:380,1
    - Dst: s1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:382,1
    - Dst: Botan::Dilithium_Algos::poly_pack_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:383,1
    - Dst: s2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:386,1
    - Dst: Botan::Dilithium_Algos::poly_pack_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:387,1
    - Dst: t0
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:390,1
    - Dst: Botan::Dilithium_Algos::poly_pack_t0
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:391,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:394,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:394,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' keypair'
    argTypes:
    - DilithiumInternalKeypair
    constantsTouched: []
    func_position:
      end: 398
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 398
    functionName: Botan::Dilithium_Algos::encode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - Botan::Dilithium_Algos::poly_pack_eta
    - mode
    - BufferStuffer::append
    - rho
    - tr
    - Botan::Dilithium_Algos::poly_pack_t0
    - BOTAN_ASSERT_NONNULL
    - Botan::CT::scoped_poison
    - signing_seed
    - s2
    - t0
    - s1
    - BufferStuffer::full
    - Botan::CT::unpoison
    - private_key_bytes
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: DilithiumSerializedPrivateKey
    signature: DilithiumSerializedPrivateKey encode_keypair(const DilithiumInternalKeypair&
      keypair)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:410,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:412,1
    - Dst: StrongSpan<const DilithiumSerializedPrivateKey>::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:412,1
    - Dst: DilithiumConstants::private_key_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:412,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:416,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:417,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:418,1
    - Dst: DilithiumConstants::public_key_hash_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:418,1
    - Dst: DilithiumConstants::l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:420,1
    - Dst: Botan::Dilithium_Algos::poly_unpack_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:422,1
    - Dst: DilithiumConstants::k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:425,1
    - Dst: Botan::Dilithium_Algos::poly_unpack_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:427,1
    - Dst: DilithiumConstants::k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:430,1
    - Dst: Botan::Dilithium_Algos::poly_unpack_t0
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:432,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:435,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:435,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:441,1
    - Dst: Botan::Dilithium_Algos::expand_A
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:443,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:446,1
    - Dst: std::make_shared<Dilithium_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:449,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:449,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:449,1
    - Dst: std::make_shared<Dilithium_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:450,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:450,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:452,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:453,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:454,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:455,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:458,1
    - Dst: DilithiumInternalKeypair::first::tr
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:460,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:461,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - sk
    - mode
    argTypes:
    - StrongSpan<const DilithiumSerializedPrivateKey>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 467
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 467
    functionName: Botan::Dilithium_Algos::decode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - DilithiumConstants::private_key_bytes
    - std::make_shared<Dilithium_PrivateKeyInternal>
    - StrongSpan<const DilithiumSerializedPrivateKey>::size
    - DilithiumInternalKeypair::first::tr
    - Botan::Dilithium_Algos::poly_unpack_eta
    - BufferSlicer::empty
    - std::make_shared<Dilithium_PublicKeyInternal>
    - BufferSlicer::copy
    - Decoding_Error
    - Botan::CT::scoped_poison
    - DilithiumConstants::k
    - Botan::Dilithium_Algos::expand_A
    - Botan::Dilithium_Algos::poly_unpack_t0
    - Botan::CT::unpoison
    - DilithiumConstants::l
    - DilithiumConstants::public_key_hash_bytes
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: DilithiumInternalKeypair
    signature: DilithiumInternalKeypair decode_keypair(StrongSpan<const DilithiumSerializedPrivateKey>
      sk, DilithiumConstants mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:478,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:481,1
    - Dst: Botan::Dilithium_Algos::poly_pack_gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:483,1
    - Dst: Botan::Dilithium_Algos::hint_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - c
    - ' response'
    - ' hint'
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumCommitmentHash>
    - DilithiumPolyVec
    - DilithiumPolyVec
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 488
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 488
    functionName: Botan::Dilithium_Algos::encode_signature
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::append
    - Botan::Dilithium_Algos::poly_pack_gamma1
    - Botan::Dilithium_Algos::hint_pack
    - signature_bytes
    linkageType: ''
    returnType: DilithiumSerializedSignature
    signature: "DilithiumSerializedSignature encode_signature(StrongSpan<const DilithiumCommitmentHash>
      c,\n                                              const DilithiumPolyVec& response,\n
      \                                             const DilithiumPolyVec& hint,\n
      \                                             const DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:496,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:496,1
    - Dst: signature_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:496,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:498,1
    - Dst: commitment_hash_full_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:498,1
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:500,1
    - Dst: Botan::Dilithium_Algos::poly_unpack_gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:502,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:504,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:504,1
    - Dst: omega
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:504,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:504,1
    - Dst: Botan::Dilithium_Algos::hint_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:506,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:507,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:507,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:508,1
    - Dst: std::make_tuple
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:512,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:512,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:512,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:512,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sig
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSerializedSignature>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 513
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 513
    functionName: Botan::Dilithium_Algos::decode_signature
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - k
    - std::move
    - Botan::Dilithium_Algos::poly_unpack_gamma1
    - BufferSlicer::remaining
    - auto::value
    - commitment_hash_full_bytes
    - BufferSlicer::empty
    - BufferSlicer::copy
    - std::make_tuple
    - l
    - Botan::Dilithium_Algos::hint_unpack
    - signature_bytes
    - auto::has_value
    - omega
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::optional<std::tuple<DilithiumCommitmentHash, DilithiumPolyVec,
      DilithiumPolyVec>>
    signature: "std::optional<std::tuple<DilithiumCommitmentHash, DilithiumPolyVec,
      DilithiumPolyVec>> decode_signature(\n   StrongSpan<const DilithiumSerializedSignature>
      sig, const DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialized_commitment_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:519,1
    - Dst: Botan::Dilithium_Algos::poly_pack_w1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' w1'
    - ' mode'
    argTypes:
    - DilithiumPolyVec
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 527
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 527
    functionName: Botan::Dilithium_Algos::encode_commitment
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::poly_pack_w1
    - serialized_commitment_bytes
    linkageType: ''
    returnType: DilithiumSerializedCommitment
    signature: DilithiumSerializedCommitment encode_commitment(const DilithiumPolyVec&
      w1, const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:534,1
    - Dst: Bounded_XOF<DilithiumConstants::SAMPLE_IN_BALL_XOF_BOUND + 8>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:535,1
    - Dst: DilithiumPoly::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:539,1
    - Dst: auto::next_byte
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:540,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:546,1
    - Dst: DilithiumPoly::ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:546,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:547,1
    - Dst: DilithiumPoly::hamming_weight
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:547,1
    - Dst: tau
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - seed
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumCommitmentHash>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: Botan::Dilithium_Algos::sample_in_ball
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - DilithiumPoly::size
    - BOTAN_DEBUG_ASSERT
    - DilithiumPoly::ct_validate_value_range
    - symmetric_primitives
    - auto::next_byte
    - tau
    - DilithiumPoly::hamming_weight
    - Bounded_XOF<DilithiumConstants::SAMPLE_IN_BALL_XOF_BOUND + 8>
    linkageType: ''
    returnType: DilithiumPoly
    signature: DilithiumPoly sample_in_ball(StrongSpan<const DilithiumCommitmentHash>
      seed, const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:565,1
    - Dst: Bounded_XOF<DilithiumConstants::SAMPLE_NTT_POLY_FROM_XOF_BOUND>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:566,1
    - Dst: make_uint32
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:570,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:574,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rho
    - ' p'
    - nonce
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSeedRho>
    - DilithiumPolyNTT
    - uint16_t
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 575
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 575
    functionName: Botan::Dilithium_Algos::sample_ntt_uniform
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Bounded_XOF<DilithiumConstants::SAMPLE_NTT_POLY_FROM_XOF_BOUND>
    - BOTAN_DEBUG_ASSERT
    - symmetric_primitives
    - make_uint32
    - ct_validate_value_range
    linkageType: ''
    returnType: void
    signature: "void sample_ntt_uniform(StrongSpan<const DilithiumSeedRho> rho,\n
      \                       DilithiumPolyNTT& p,\n                        uint16_t
      nonce,\n                        const DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:584,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:587,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 598
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 598
    functionName: Botan::Dilithium_Algos::coeff_from_halfbyte
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::driveby_unpoison
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: std::optional<int32_t>
    signature: std::optional<int32_t> coeff_from_halfbyte(uint8_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bounded_XOF<DilithiumConstants::SAMPLE_POLY_FROM_XOF_BOUND>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:605,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:607,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:611,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:611,1
    - Dst: next_byte
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:613,1
    - Dst: Botan::Dilithium_Algos::coeff_from_halfbyte
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:614,1
    - Dst: Botan::Dilithium_Algos::coeff_from_halfbyte
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:615,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:617,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:620,1
    - Dst: next_coeff
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' p'
    - ' xof'
    argTypes:
    - DilithiumPoly
    - Botan::XOF
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: Botan::Dilithium_Algos::sample_uniform_eta
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::coeff_from_halfbyte
    - next_coeff
    - next_byte
    - std::exchange
    - BOTAN_DEBUG_ASSERT
    - auto::has_value
    - Bounded_XOF<DilithiumConstants::SAMPLE_POLY_FROM_XOF_BOUND>
    - has_value
    linkageType: ''
    returnType: void
    signature: void sample_uniform_eta(DilithiumPoly& p, Botan::XOF& xof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:641,1
    - Dst: eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:642,1
    - Dst: Botan::Dilithium_Algos::sample_uniform_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:644,1
    - Dst: Botan::Dilithium_Algos::sample_uniform_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:647,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:652,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:654,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:654,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:654,1
    - Dst: eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:654,1
    - Dst: eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - rhoprime
    - ' p'
    - nonce
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSeedRhoPrime>
    - DilithiumPoly
    - uint16_t
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 655
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 655
    functionName: Botan::Dilithium_Algos::sample_uniform_eta
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - static_cast<int32_t>
    - Botan::Dilithium_Algos::sample_uniform_eta
    - Botan::CT::poison
    - BOTAN_DEBUG_ASSERT
    - symmetric_primitives
    - eta
    - ct_validate_value_range
    linkageType: ''
    returnType: void
    signature: "void sample_uniform_eta(StrongSpan<const DilithiumSeedRhoPrime> rhoprime,\n
      \                       DilithiumPoly& p,\n                        uint16_t
      nonce,\n                        const DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumConstants::symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:666,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:667,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:670,1
    - Dst: Botan::Dilithium_Algos::expand_A
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:672,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:676,1
    - Dst: std::make_shared<Dilithium_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:679,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:679,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:679,1
    - Dst: std::make_shared<Dilithium_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:680,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:681,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:681,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:681,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:681,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:681,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:681,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - xi
    - mode
    argTypes:
    - DilithiumSeedRandomness
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 687
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 687
    functionName: Botan::Dilithium_Algos::expand_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::make_shared<Dilithium_PrivateKeyInternal>
    - DilithiumConstants::symmetric_primitives
    - Botan::CT::poison
    - std::make_shared<Dilithium_PublicKeyInternal>
    - Botan::Dilithium_Algos::expand_A
    - Botan::CT::unpoison
    linkageType: ''
    returnType: DilithiumInternalKeypair
    signature: DilithiumInternalKeypair expand_keypair(DilithiumSeedRandomness xi,
      DilithiumConstants mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:696,1
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:696,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:697,1
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:698,1
    - Dst: Botan::Dilithium_Algos::sample_ntt_uniform
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:699,1
    - Dst: load_le
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rho
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSeedRho>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 703
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 703
    functionName: Botan::Dilithium_Algos::expand_A
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 2
    functionsReached:
    - k
    - Botan::Dilithium_Algos::sample_ntt_uniform
    - load_le
    - l
    linkageType: ''
    returnType: DilithiumPolyMatNTT
    signature: DilithiumPolyMatNTT expand_A(StrongSpan<const DilithiumSeedRho> rho,
      const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:710,1
    - Dst: DilithiumPolyVec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:710,1
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:710,1
    - Dst: DilithiumPolyVec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:710,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:710,1
    - Dst: Botan::Dilithium_Algos::sample_uniform_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:715,1
    - Dst: Botan::Dilithium_Algos::sample_uniform_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rhoprime
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSeedRhoPrime>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 723
      start: 708
    functionDepth: 3
    functionLinenumber: 708
    functionLinenumberEnd: 723
    functionName: Botan::Dilithium_Algos::expand_s
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - k
    - Botan::Dilithium_Algos::sample_uniform_eta
    - std::make_pair
    - l
    - DilithiumPolyVec
    linkageType: ''
    returnType: std::pair<DilithiumPolyVec, DilithiumPolyVec>
    signature: "std::pair<DilithiumPolyVec, DilithiumPolyVec> expand_s(StrongSpan<const
      DilithiumSeedRhoPrime> rhoprime,\n                                                       const
      DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:731,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:733,1
    - Dst: Botan::Dilithium_Algos::poly_unpack_gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rhoprime
    - nonce
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSeedRhoPrime>
    - uint16_t
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 737
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 737
    functionName: Botan::Dilithium_Algos::expand_mask
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - symmetric_primitives
    - l
    - Botan::Dilithium_Algos::poly_unpack_gamma1
    linkageType: ''
    returnType: DilithiumPolyVec
    signature: "DilithiumPolyVec expand_mask(StrongSpan<const DilithiumSeedRhoPrime>
      rhoprime,\n                             uint16_t nonce,\n                             const
      DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:754,1
    - Dst: DilithiumPolyVec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:754,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:754,1
    - Dst: DilithiumPolyVec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:754,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:754,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:756,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:757,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:758,1
    - Dst: Botan::Dilithium_Algos::power2round
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - DilithiumPolyVec
    constantsTouched: []
    func_position:
      end: 763
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 763
    functionName: Botan::Dilithium_Algos::power2round
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 2
    functionsReached:
    - std::make_pair
    - size
    - Botan::Dilithium_Algos::power2round
    - std::tie
    - DilithiumPolyVec
    linkageType: ''
    returnType: std::pair<DilithiumPolyVec, DilithiumPolyVec>
    signature: std::pair<DilithiumPolyVec, DilithiumPolyVec> power2round(const DilithiumPolyVec&
      vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Algos::is_negative_mask
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:783,1
    - Dst: Botan::Dilithium_Algos::is_negative_mask
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 792
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 792
    functionName: Botan::Dilithium_Algos::decompose
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::is_negative_mask
    linkageType: ''
    returnType: std::pair<int32_t, int32_t>
    signature: std::pair<int32_t, int32_t> decompose(int32_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:800,1
    - Dst: DilithiumPolyVec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:800,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:800,1
    - Dst: DilithiumPolyVec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:800,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:800,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:802,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:803,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:804,1
    - Dst: Botan::Dilithium_Algos::decompose
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - DilithiumPolyVec
    constantsTouched: []
    func_position:
      end: 809
      start: 799
    functionDepth: 3
    functionLinenumber: 799
    functionLinenumberEnd: 809
    functionName: Botan::Dilithium_Algos::decompose_all_coefficents
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::decompose
    - std::make_pair
    - size
    - std::tie
    - DilithiumPolyVec
    linkageType: ''
    returnType: std::pair<DilithiumPolyVec, DilithiumPolyVec>
    signature: std::pair<DilithiumPolyVec, DilithiumPolyVec> decompose_all_coefficents(const
      DilithiumPolyVec& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:821,1
    - Dst: Botan::Dilithium_Algos::decompose_all_coefficents
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:823,1
    - Dst: Botan::Dilithium_Algos::decompose_all_coefficents
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:826,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' vec'
    - ' mode'
    argTypes:
    - DilithiumPolyVec
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 831
      start: 819
    functionDepth: 4
    functionLinenumber: 819
    functionLinenumberEnd: 831
    functionName: Botan::Dilithium_Algos::decompose
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - gamma2
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Dilithium_Algos::decompose_all_coefficents
    linkageType: ''
    returnType: std::pair<DilithiumPolyVec, DilithiumPolyVec>
    signature: std::pair<DilithiumPolyVec, DilithiumPolyVec> decompose(const DilithiumPolyVec&
      vec, const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:844,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:844,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:844,1
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:846,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:847,1
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:847,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:849,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:850,1
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:855,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:855,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:856,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:856,1
    - Dst: as_choice
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:855,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:860,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:862,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:863,1
    - Dst: Botan::Dilithium_Algos::make_hint
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:864,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:868,1
    - Dst: DilithiumPolyVec::ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ' z'
    - ' r'
    - ' mode'
    argTypes:
    - DilithiumPolyVec
    - DilithiumPolyVec
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 871
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 871
    functionName: Botan::Dilithium_Algos::make_hint
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::Dilithium_Algos::make_hint
    - Botan::CT::Mask::is_gt
    - BOTAN_DEBUG_ASSERT
    - DilithiumPolyVec::ct_validate_value_range
    - gamma2
    - cryptofuzz_secp256k1_scalar_is_zero
    - size
    - Botan::CT::Mask::is_lte
    - static_cast<uint32_t>
    - as_choice
    linkageType: ''
    returnType: DilithiumPolyVec
    signature: DilithiumPolyVec make_hint(const DilithiumPolyVec& z, const DilithiumPolyVec&
      r, const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:884,1
    - Dst: static_cast<decltype(r1)>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:884,1
    - Dst: static_cast<decltype(r1)>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:884,1
    - Dst: modulo_m
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:896,1
    - Dst: modulo_m
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:898,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:902,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:903,1
    - Dst: Botan::Dilithium_Algos::use_hint
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ' hints'
    - ' vec'
    argTypes:
    - DilithiumPolyVec
    - DilithiumPolyVec
    constantsTouched: []
    func_position:
      end: 907
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 907
    functionName: Botan::Dilithium_Algos::use_hint_on_coefficients
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::Dilithium_Algos::use_hint
    - size
    - modulo_m
    - static_cast<decltype(r1)>
    linkageType: ''
    returnType: void
    signature: void use_hint_on_coefficients(const DilithiumPolyVec& hints, DilithiumPolyVec&
      vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:919,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:919,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:919,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:920,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:920,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:921,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:921,1
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:924,1
    - Dst: Botan::Dilithium_Algos::use_hint_on_coefficients
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:926,1
    - Dst: Botan::Dilithium_Algos::use_hint_on_coefficients
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:929,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:933,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:933,1
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' vec'
    - ' hints'
    - ' mode'
    argTypes:
    - DilithiumPolyVec
    - DilithiumPolyVec
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 934
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 934
    functionName: Botan::Dilithium_Algos::use_hint
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::Dilithium_Algos::use_hint_on_coefficients
    - gamma2
    - size
    - ct_validate_value_range
    linkageType: ''
    returnType: void
    signature: void use_hint(DilithiumPolyVec& vec, const DilithiumPolyVec& hints,
      const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:937,1
    - Dst: Botan::Dilithium_Algos::is_negative_mask
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:944,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' vec'
    - bound
    argTypes:
    - DilithiumPolyVec
    - size_t
    constantsTouched: []
    func_position:
      end: 952
      start: 936
    functionDepth: 2
    functionLinenumber: 936
    functionLinenumberEnd: 952
    functionName: Botan::Dilithium_Algos::infinity_norm_within_bound
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::driveby_unpoison
    - Botan::Dilithium_Algos::is_negative_mask
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool infinity_norm_within_bound(const DilithiumPolyVec& vec, size_t
      bound)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_modern
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:31,1
    - Dst: is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:31,1
    - Dst: std::make_unique<Dilithium_Symmetric_Primitives>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:32,1
    - Dst: is_aes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:37,1
    - Dst: std::make_unique<Dilithium_AES_Symmetric_Primitives>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:38,1
    - Dst: is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:43,1
    - Dst: std::make_unique<ML_DSA_Symmetric_Primitives>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:44,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::create
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp
    functionUses: 0
    functionsReached:
    - is_modern
    - is_ml_dsa
    - std::make_unique<ML_DSA_Symmetric_Primitives>
    - std::make_unique<Dilithium_Symmetric_Primitives>
    - Not_Implemented
    - std::make_unique<Dilithium_AES_Symmetric_Primitives>
    - is_aes
    linkageType: ''
    returnType: std::unique_ptr<Dilithium_Symmetric_Primitives_Base>
    signature: "std::unique_ptr<Dilithium_Symmetric_Primitives_Base> Dilithium_Symmetric_Primitives_Base::create(\n
      \  const DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumMode::is_dilithium_round3
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.cpp:24,1
    - Dst: std::make_unique<Dilithium_Expanded_Keypair_Codec>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.cpp:25,1
    - Dst: DilithiumMode::is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.cpp:30,1
    - Dst: std::make_unique<ML_DSA_Expanding_Keypair_Codec>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.cpp:31,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mode
    argTypes:
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 36
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 36
    functionName: Botan::Dilithium_Keypair_Codec::create
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.cpp
    functionUses: 0
    functionsReached:
    - DilithiumMode::is_ml_dsa
    - DilithiumMode::is_dilithium_round3
    - std::make_unique<ML_DSA_Expanding_Keypair_Codec>
    - Not_Implemented
    - std::make_unique<Dilithium_Expanded_Keypair_Codec>
    linkageType: ''
    returnType: std::unique_ptr<Dilithium_Keypair_Codec>
    signature: std::unique_ptr<Dilithium_Keypair_Codec> Dilithium_Keypair_Codec::create(DilithiumMode
      mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:60,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:60,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 61
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 61
    functionName: Botan::dilithium_mode_from_string
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Invalid_Argument
    linkageType: ''
    returnType: DilithiumMode::Mode
    signature: DilithiumMode::Mode dilithium_mode_from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dilithium_mode_from_string
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:65,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::DilithiumMode::DilithiumMode
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 2
    functionsReached:
    - dilithium_mode_from_string
    - to_formatted_string
    linkageType: ''
    returnType: void
    signature: void DilithiumMode::DilithiumMode(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dilithium_mode_from_string
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::DilithiumMode::DilithiumMode
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 2
    functionsReached:
    - dilithium_mode_from_string
    linkageType: ''
    returnType: void
    signature: void DilithiumMode::DilithiumMode(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:70,1
    - Dst: Botan::DilithiumMode::to_string
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::DilithiumMode::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::DilithiumMode::to_string
    - Botan::OID::from_string
    linkageType: ''
    returnType: OID
    signature: OID DilithiumMode::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: Botan::DilithiumMode::to_string
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string DilithiumMode::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::DilithiumMode::is_aes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DilithiumMode::is_aes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMode::is_aes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Botan::DilithiumMode::is_modern
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::DilithiumMode::is_aes
    linkageType: ''
    returnType: bool
    signature: bool DilithiumMode::is_modern() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: Botan::DilithiumMode::is_ml_dsa
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DilithiumMode::is_ml_dsa() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_dilithium_round3
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:112,1
    - Dst: Botan::DilithiumMode::is_aes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:112,1
    - Dst: is_dilithium_round3
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:117,1
    - Dst: Botan::DilithiumMode::is_modern
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:117,1
    - Dst: Botan::DilithiumMode::is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: Botan::DilithiumMode::is_available
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 1
    functionsReached:
    - Botan::DilithiumMode::is_aes
    - is_dilithium_round3
    - Botan::DilithiumMode::is_modern
    - Botan::DilithiumMode::is_ml_dsa
    linkageType: ''
    returnType: bool
    signature: bool DilithiumMode::is_available() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:132,1
    - Dst: second::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:134,1
    - Dst: first::tr
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:134,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:135,1
    - Dst: second::s1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:135,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:136,1
    - Dst: second::s2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:136,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:137,1
    - Dst: second::t0
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:137,1
    - Dst: Botan::Dilithium_Algos::expand_A
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:138,1
    - Dst: first::rho
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:138,1
    - Dst: second::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - keypair
    - randomized
    argTypes:
    - DilithiumInternalKeypair
    - bool
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: Botan::Dilithium_Signature_Operation::Dilithium_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - second::t0
    - second::mode
    - first::rho
    - second::s1
    - second::s2
    - ntt
    - Botan::Dilithium_Algos::expand_A
    - first::tr
    linkageType: ''
    returnType: void
    signature: void Dilithium_Signature_Operation(DilithiumInternalKeypair keypair,
      bool randomized)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Botan::Dilithium_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 1
    functionsReached:
    - Botan::Dilithium_Signature_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:154,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:156,1
    - Dst: second::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:157,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:158,1
    - Dst: H_maybe_randomized
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:160,1
    - Dst: second::signing_seed
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:160,1
    - Dst: Botan::Dilithium_Signature_Operation::maybe
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:160,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:161,1
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:163,1
    - Dst: Botan::Dilithium_Algos::expand_mask
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:164,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:166,1
    - Dst: auto::clone
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:166,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:167,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:168,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:168,1
    - Dst: auto::conditional_add_q
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:169,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:172,1
    - Dst: H
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:172,1
    - Dst: Botan::Dilithium_Algos::encode_commitment
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:172,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:174,1
    - Dst: Botan::Dilithium_Algos::sample_in_ball
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:174,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:175,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:177,1
    - Dst: Botan::Dilithium_Algos::infinity_norm_within_bound
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:180,1
    - Dst: to_underlying
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:180,1
    - Dst: gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:180,1
    - Dst: beta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:180,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:183,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:185,1
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:191,1
    - Dst: Botan::Dilithium_Algos::infinity_norm_within_bound
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:193,1
    - Dst: to_underlying
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:193,1
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:193,1
    - Dst: beta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:193,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:197,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:198,1
    - Dst: Botan::Dilithium_Algos::infinity_norm_within_bound
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:200,1
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:200,1
    - Dst: conditional_add_q
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:205,1
    - Dst: Botan::Dilithium_Algos::make_hint
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:208,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:209,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:209,1
    - Dst: omega
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:209,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:212,1
    - Dst: Botan::Dilithium_Algos::encode_signature
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:214,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 218
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 218
    functionName: Botan::Dilithium_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - second::mode
    - Botan::Dilithium_Algos::sample_in_ball
    - Botan::CT::scoped_poison
    - inverse_ntt
    - Botan::CT::unpoison
    - final
    - auto::conditional_add_q
    - to_underlying
    - symmetric_primitives
    - gamma2
    - Botan::Dilithium_Algos::encode_signature
    - reduce
    - Botan::Dilithium_Algos::expand_mask
    - auto::clone
    - second::signing_seed
    - auto::hamming_weight
    - auto::reduce
    - conditional_add_q
    - Internal_Error
    - gamma1
    - Botan::CT::poison
    - l
    - Botan::Dilithium_Algos::infinity_norm_within_bound
    - H
    - Botan::Dilithium_Signature_Operation::maybe
    - beta
    - Botan::CT::driveby_unpoison
    - Botan::Dilithium_Algos::encode_commitment
    - Botan::Dilithium_Algos::make_hint
    - H_maybe_randomized
    - ntt
    - omega
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: second::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: Botan::Dilithium_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - second::mode
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:223,1
    - Dst: second::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: Botan::Dilithium_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - second::mode
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: Botan::Dilithium_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: Botan::Dilithium_Signature_Operation::maybe
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::reference_wrapper<RandomNumberGenerator>>
    signature: std::optional<std::reference_wrapper<RandomNumberGenerator>> maybe(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:252,1
    - Dst: Botan::Dilithium_Algos::expand_A
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:253,1
    - Dst: rho
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:253,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:253,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:254,1
    - Dst: t1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:254,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:255,1
    - Dst: tr
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pubkey
    argTypes:
    - std::shared_ptr<Dilithium_PublicKeyInternal>
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: Botan::Dilithium_Verification_Operation::Dilithium_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - mode
    - rho
    - t1
    - tr
    - ntt
    - Botan::Dilithium_Algos::expand_A
    linkageType: ''
    returnType: void
    signature: void Dilithium_Verification_Operation(std::shared_ptr<Dilithium_PublicKeyInternal>
      pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Verification_Operation::update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: Botan::Dilithium_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 1
    functionsReached:
    - Botan::Dilithium_Verification_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:270,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:271,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:274,1
    - Dst: StrongSpan::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:276,1
    - Dst: signature_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:276,1
    - Dst: Botan::Dilithium_Algos::decode_signature
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:280,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:281,1
    - Dst: is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:287,1
    - Dst: hamming_weight
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:287,1
    - Dst: omega
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:287,1
    - Dst: Botan::Dilithium_Algos::infinity_norm_within_bound
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:291,1
    - Dst: to_underlying
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:291,1
    - Dst: gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:291,1
    - Dst: beta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:291,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:295,1
    - Dst: Botan::Dilithium_Algos::sample_in_ball
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:295,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:296,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:296,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:298,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:299,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:299,1
    - Dst: auto::conditional_add_q
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:300,1
    - Dst: Botan::Dilithium_Algos::use_hint
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:301,1
    - Dst: H
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:303,1
    - Dst: Botan::Dilithium_Algos::encode_commitment
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:303,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:305,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:305,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:305,1
    - Dst: std::equal
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:306,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:306,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:306,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 307
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 307
    functionName: Botan::Dilithium_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - mode
    - Botan::Dilithium_Algos::sample_in_ball
    - std::equal
    - end
    - auto::has_value
    - Botan::Dilithium_Algos::decode_signature
    - inverse_ntt
    - begin
    - final
    - BOTAN_ASSERT_NOMSG
    - to_underlying
    - auto::conditional_add_q
    - symmetric_primitives
    - auto::size
    - auto::begin
    - auto::reduce
    - is_ml_dsa
    - StrongSpan::size
    - hamming_weight
    - gamma1
    - Botan::Dilithium_Algos::use_hint
    - Botan::Dilithium_Algos::infinity_norm_within_bound
    - H
    - beta
    - Botan::Dilithium_Algos::encode_commitment
    - size
    - signature_bytes
    - ntt
    - omega
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: Botan::Dilithium_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumMode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:319,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - pk
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: Botan::Dilithium_PublicKey::Dilithium_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - DilithiumMode
    - oid
    linkageType: ''
    returnType: void
    signature: void Dilithium_PublicKey::Dilithium_PublicKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:323,1
    - Dst: DilithiumConstants::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:323,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:324,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:324,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:324,1
    - Dst: DilithiumConstants::public_key_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:324,1
    - Dst: Botan::Dilithium_PublicKeyInternal::decode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:327,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:327,1
    - Dst: StrongSpan<const DilithiumSerializedPublicKey>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pk
    - m
    argTypes:
    - std::span<const uint8_t>
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: Botan::Dilithium_PublicKey::Dilithium_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - DilithiumConstants::public_key_bytes
    - StrongSpan<const DilithiumSerializedPublicKey>
    - DilithiumConstants::mode
    - std::span<const uint8_t>::size
    - BOTAN_ARG_CHECK
    - Botan::Dilithium_PublicKeyInternal::decode
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void Dilithium_PublicKey::Dilithium_PublicKey(std::span<const uint8_t>
      pk, DilithiumMode m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:339,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:339,1
    - Dst: Botan::Dilithium_PublicKey::object_identifier
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: Botan::Dilithium_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - Botan::Dilithium_PublicKey::object_identifier
    - mode
    linkageType: ''
    returnType: std::string
    signature: std::string Dilithium_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:343,1
    - Dst: Botan::Dilithium_PublicKey::object_identifier
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: Botan::Dilithium_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::Dilithium_PublicKey::object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Dilithium_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: Botan::Dilithium_PublicKey::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 2
    functionsReached:
    - mode
    linkageType: ''
    returnType: OID
    signature: OID Dilithium_PublicKey::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: Botan::Dilithium_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - mode
    linkageType: ''
    returnType: size_t
    signature: size_t Dilithium_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: Botan::Dilithium_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - mode
    linkageType: ''
    returnType: size_t
    signature: size_t Dilithium_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_pk
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: Botan::Dilithium_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - raw_pk
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Dilithium_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: Botan::Dilithium_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Dilithium_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: Botan::Dilithium_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Dilithium_PublicKey::check_key(RandomNumberGenerator&, bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Dilithium_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:373,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: Botan::Dilithium_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Dilithium_PrivateKey>
    - mode
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> Dilithium_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:378,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:378,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:379,1
    - Dst: std::make_unique<Dilithium_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:380,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:382,1
    - Dst: Botan::Dilithium_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: Botan::Dilithium_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - Provider_Not_Found
    - BOTAN_ARG_CHECK
    - Botan::Dilithium_PublicKey::algo_name
    - std::make_unique<Dilithium_Verification_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Dilithium_PublicKey::create_verification_op(std::string_view
      params,\n                                                                                  std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:387,1
    - Dst: Botan::Dilithium_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:388,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:389,1
    - Dst: std::make_unique<Dilithium_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:391,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:393,1
    - Dst: Botan::Dilithium_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' alg_id'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 394
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 394
    functionName: Botan::Dilithium_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - Provider_Not_Found
    - Decoding_Error
    - Botan::Dilithium_PublicKey::algo_name
    - std::make_unique<Dilithium_Verification_Operation>
    - Botan::Dilithium_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Dilithium_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& alg_id, std::string_view provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:408,1
    - Dst: DilithiumConstants::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:408,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:409,1
    - Dst: Botan::Dilithium_Algos::expand_keypair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:409,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:410,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rng'
    - m
    argTypes:
    - RandomNumberGenerator
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: Botan::Dilithium_PrivateKey::Dilithium_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::tie
    - DilithiumConstants::mode
    - random_vec
    - BOTAN_ARG_CHECK
    - Botan::Dilithium_Algos::expand_keypair
    linkageType: ''
    returnType: void
    signature: void Dilithium_PrivateKey::Dilithium_PrivateKey(RandomNumberGenerator&
      rng, DilithiumMode m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumMode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:414,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - sk
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 414
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 414
    functionName: Botan::Dilithium_PrivateKey::Dilithium_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - DilithiumMode
    - oid
    linkageType: ''
    returnType: void
    signature: void Dilithium_PrivateKey::Dilithium_PrivateKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumConstants::keypair_codec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:418,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:419,1
    - Dst: decode_keypair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:419,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sk
    - m
    argTypes:
    - std::span<const uint8_t>
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: Botan::Dilithium_PrivateKey::Dilithium_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::tie
    - decode_keypair
    - DilithiumConstants::keypair_codec
    linkageType: ''
    returnType: void
    signature: void Dilithium_PrivateKey::Dilithium_PrivateKey(std::span<const uint8_t>
      sk, DilithiumMode m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_PrivateKey::private_key_bits
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: Botan::Dilithium_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_PrivateKey::private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Dilithium_PrivateKey::raw_private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: Botan::Dilithium_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 3
    functionsReached:
    - mode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Dilithium_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:433,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:435,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:435,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:443,1
    - Dst: std::make_unique<Dilithium_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:444,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:446,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 447
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 447
    functionName: Botan::Dilithium_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::make_unique<Dilithium_Signature_Operation>
    - std::string_view::empty
    - algo_name
    - Provider_Not_Found
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> Dilithium_PrivateKey::create_signature_op(RandomNumberGenerator&
      rng,\n                                                                             std::string_view
      params,\n                                                                             std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Dilithium_PublicKey>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: Botan::Dilithium_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Dilithium_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> Dilithium_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumMode::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:21,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - mode
    argTypes:
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: Botan::public_key_hash_size
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp
    functionUses: 0
    functionsReached:
    - DilithiumMode::mode
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t public_key_hash_size(DilithiumMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumMode::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:38,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - mode
    argTypes:
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: Botan::commitment_hash_full_size
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp
    functionUses: 0
    functionsReached:
    - DilithiumMode::mode
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t commitment_hash_full_size(DilithiumMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: DilithiumConstants::~DilithiumConstants()
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DilithiumConstants::~DilithiumConstants()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_hash_size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:61,1
    - Dst: commitment_hash_full_size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:62,1
    - Dst: Botan::DilithiumConstants::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:63,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:104,1
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:107,1
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:108,1
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:110,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:110,1
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:111,1
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:118,1
    - Dst: Botan::Dilithium_Symmetric_Primitives_Base::create
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:120,1
    - Dst: Botan::Dilithium_Keypair_Codec::create
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 1
    argNames:
    - mode
    argTypes:
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 122
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 122
    functionName: Botan::DilithiumConstants::DilithiumConstants
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp
    functionUses: 0
    functionsReached:
    - public_key_hash_size
    - Botan::Dilithium_Keypair_Codec::create
    - BOTAN_ASSERT_UNREACHABLE
    - bitlen
    - commitment_hash_full_size
    - Botan::Dilithium_Symmetric_Primitives_Base::create
    - Botan::DilithiumConstants::mode
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void DilithiumConstants::DilithiumConstants(DilithiumMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XOF
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: '& XOF128(std::span<const uint8_t> seed, uint16_t nonce) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h
    functionUses: 0
    functionsReached:
    - XOF
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF128(std::span<const uint8_t> seed, uint16_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XOF
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: '& XOF256(std::span<const uint8_t> seed, uint16_t nonce) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h
    functionUses: 0
    functionsReached:
    - XOF
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF256(std::span<const uint8_t> seed, uint16_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h:31,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h:32,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h:33,1
    - Dst: store_le
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' xof'
    - seed
    - nonce
    argTypes:
    - Botan::XOF
    - std::span<const uint8_t>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: '& XOF(Botan::XOF& xof, std::span<const uint8_t> seed, uint16_t
      nonce)'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h
    functionUses: 0
    functionsReached:
    - store_le
    - clear
    - update
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF(Botan::XOF& xof, std::span<const uint8_t> seed, uint16_t
      nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:17,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:23,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:29,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:35,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:41,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:48,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:54,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:60,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:66,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:72,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:78,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:84,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:98,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:105,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:112,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:119,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:126,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:133,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:140,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:147,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:154,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:161,1
    - Dst: std::shared_ptr<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:164,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 165
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 165
    functionName: Botan::DL_Group::DL_group_info
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<DL_Group_Data>
    - Botan::DL_Group::load_DL_group_info
    linkageType: ''
    returnType: std::shared_ptr<DL_Group_Data>
    signature: std::shared_ptr<DL_Group_Data> DL_Group::DL_group_info(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:32,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:33,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:34,1
    - Dst: monty_precompute
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:35,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:36,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:37,1
    - Dst: dl_work_factor
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:38,1
    - Dst: dl_exponent_size
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' p'
    - ' q'
    - ' g'
    - source
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - DL_Group_Source
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: Botan::DL_Group_Data::DL_Group_Data
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - dl_exponent_size
    - dl_work_factor
    - monty_precompute
    - std::make_shared<Montgomery_Params>
    - Botan::Barrett_Reduction::for_public_modulus
    - bits
    linkageType: ''
    returnType: void
    signature: void DL_Group_Data(const BigInt& p, const BigInt& q, const BigInt&
      g, DL_Group_Source source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:45,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:46,1
    - Dst: monty_precompute
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:47,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:48,1
    - Dst: dl_work_factor
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:50,1
    - Dst: dl_exponent_size
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' p'
    - ' g'
    - source
    argTypes:
    - BigInt
    - BigInt
    - DL_Group_Source
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: Botan::DL_Group_Data::DL_Group_Data
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - dl_exponent_size
    - dl_work_factor
    - monty_precompute
    - std::make_shared<Montgomery_Params>
    - Botan::Barrett_Reduction::for_public_modulus
    - bits
    linkageType: ''
    returnType: void
    signature: void DL_Group_Data(const BigInt& p, const BigInt& g, DL_Group_Source
      source)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~DL_Group_Data()
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DL_Group_Data()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DL_Group_Data
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::DL_Group_Data::DL_Group_Data
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DL_Group_Data(const DL_Group_Data& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DL_Group_Data
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::DL_Group_Data::DL_Group_Data
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DL_Group_Data(DL_Group_Data&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DL_Group_Data
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '& operator=(const DL_Group_Data& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DL_Group_Data
    signature: DL_Group_Data & operator=(const DL_Group_Data& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DL_Group_Data
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& operator=(DL_Group_Data&& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DL_Group_Data
    signature: DL_Group_Data & operator=(DL_Group_Data&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '& q() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '& g() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & g() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& reducer_mod_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction & reducer_mod_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '& reducer_mod_q() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction & reducer_mod_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan::DL_Group_Data::monty_params_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Params>
    signature: std::shared_ptr<const Montgomery_Params> monty_params_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::DL_Group_Data::p_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t p_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::DL_Group_Data::q_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t q_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Botan::DL_Group_Data::p_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t p_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan::DL_Group_Data::q_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t q_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::DL_Group_Data::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan::DL_Group_Data::exponent_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t exponent_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_execute
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - max_k_bits
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::DL_Group_Data::power_g_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - monty_execute
    linkageType: ''
    returnType: BigInt
    signature: BigInt power_g_p(const BigInt& k, size_t max_k_bits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_execute_vartime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::DL_Group_Data::power_g_p_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - monty_execute_vartime
    linkageType: ''
    returnType: BigInt
    signature: BigInt power_g_p_vartime(const BigInt& k) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_exp
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' b'
    - ' k'
    - max_k_bits
    argTypes:
    - BigInt
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::DL_Group_Data::power_b_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - monty_exp
    linkageType: ''
    returnType: BigInt
    signature: BigInt power_b_p(const BigInt& b, const BigInt& k, size_t max_k_bits)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_exp_vartime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' b'
    - ' k'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::DL_Group_Data::power_b_p_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - monty_exp_vartime
    linkageType: ''
    returnType: BigInt
    signature: BigInt power_b_p_vartime(const BigInt& b, const BigInt& k) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::DL_Group_Data::q_is_set
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool q_is_set() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group_Data::q_is_set
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:105,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:106,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - function
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: Botan::DL_Group_Data::assert_q_is_set
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Invalid_State
    - Botan::DL_Group_Data::q_is_set
    linkageType: ''
    returnType: void
    signature: void assert_q_is_set(std::string_view function) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::DL_Group_Data::source
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DL_Group_Source
    signature: DL_Group_Source source() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:133,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:137,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:138,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:141,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:142,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:145,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:146,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - data
    - data_len
    - format
    - source
    argTypes:
    - uint8_t[]
    - size_t
    - DL_Group_Format
    - DL_Group_Source
    constantsTouched: []
    func_position:
      end: 150
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 150
    functionName: Botan::DL_Group::BER_decode_DL_group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::decode
    - BER_Decoder::start_sequence
    - Invalid_Argument
    - std::make_shared<DL_Group_Data>
    linkageType: ''
    returnType: std::shared_ptr<DL_Group_Data>
    signature: "std::shared_ptr<DL_Group_Data> DL_Group::BER_decode_DL_group(const
      uint8_t data[],\n                                                             size_t
      data_len,\n                                                             DL_Group_Format
      format,\n                                                             DL_Group_Source
      source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:158,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:159,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_str
    - q_str
    - g_str
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: Botan::DL_Group::load_DL_group_info
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<DL_Group_Data>
    - BigInt::is_zero
    linkageType: ''
    returnType: std::shared_ptr<DL_Group_Data>
    signature: std::shared_ptr<DL_Group_Data> DL_Group::load_DL_group_info(const char*
      p_str, const char* q_str, const char* g_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_str
    - g_str
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Botan::DL_Group::load_DL_group_info
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<DL_Group_Data>
    linkageType: ''
    returnType: std::shared_ptr<DL_Group_Data>
    signature: std::shared_ptr<DL_Group_Data> DL_Group::load_DL_group_info(const char*
      p_str, const char* g_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:184,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: Botan::pem_label_to_dl_format
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::Decoding_Error
    linkageType: ''
    returnType: DL_Group_Format
    signature: DL_Group_Format pem_label_to_dl_format(std::string_view label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:195,1
    - Dst: unlock
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:200,1
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:200,1
    - Dst: pem_label_to_dl_format
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:201,1
    - Dst: Botan::DL_Group::BER_decode_DL_group
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:203,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:203,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:203,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:208,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: Botan::DL_Group::DL_Group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::DL_Group::BER_decode_DL_group
    - Botan::PEM_Code::decode
    - unlock
    - Invalid_Argument
    - pem_label_to_dl_format
    - fmt
    - Botan::DL_Group::DL_group_info
    linkageType: ''
    returnType: void
    signature: void DL_Group::DL_Group(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:213,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:216,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:216,1
    - Dst: Botan::DL_Group::DL_Group
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: Botan::DL_Group::from_name
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 14
    functionsReached:
    - fmt
    - Botan::DL_Group::DL_group_info
    - Invalid_Argument
    - Botan::DL_Group::DL_Group
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group DL_Group::from_name(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:225,1
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:225,1
    - Dst: pem_label_to_dl_format
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:226,1
    - Dst: Botan::DL_Group::DL_Group
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pem
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: Botan::DL_Group::from_PEM
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - unlock
    - pem_label_to_dl_format
    - Botan::PEM_Code::decode
    - Botan::DL_Group::DL_Group
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group DL_Group::from_PEM(std::string_view pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:237,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:240,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:244,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:245,1
    - Dst: Botan::monty_exp_vartime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:248,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:248,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 255
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 255
    functionName: Botan::make_dsa_generator
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_word
    - Internal_Error
    - Botan::vartime_divide
    - Botan::monty_exp_vartime
    - Invalid_Argument
    - std::make_shared<Montgomery_Params>
    - Botan::Barrett_Reduction::for_public_modulus
    linkageType: ''
    returnType: BigInt
    signature: BigInt make_dsa_generator(const BigInt& p, const BigInt& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:264,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:264,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:268,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:268,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:273,1
    - Dst: random_safe_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:276,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:286,1
    - Dst: jacobi
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:287,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:288,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:291,1
    - Dst: dl_exponent_size
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:294,1
    - Dst: random_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:297,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:301,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:301,1
    - Dst: BigInt::randomize
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:302,1
    - Dst: make_dsa_generator
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:307,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:308,1
    - Dst: generate_dsa_primes
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:315,1
    - Dst: make_dsa_generator
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:316,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:317,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:319,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 4
    argNames:
    - ' rng'
    - type
    - pbits
    - qbits
    argTypes:
    - RandomNumberGenerator
    - PrimeType
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 321
    functionName: Botan::DL_Group::DL_Group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 3
    functionsReached:
    - Botan::BigInt::from_word
    - random_prime
    - generate_dsa_primes
    - make_dsa_generator
    - BigInt::bits
    - random_safe_prime
    - dl_exponent_size
    - BigInt::randomize
    - jacobi
    - std::make_shared<DL_Group_Data>
    - Invalid_Argument
    - is_prime
    - fmt
    linkageType: ''
    returnType: void
    signature: void DL_Group::DL_Group(RandomNumberGenerator& rng, PrimeType type,
      size_t pbits, size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_dsa_primes
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:329,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:330,1
    - Dst: make_dsa_generator
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:333,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' rng'
    - ' seed'
    - pbits
    - qbits
    argTypes:
    - RandomNumberGenerator
    - std::vector<uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: Botan::DL_Group::DL_Group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 3
    functionsReached:
    - generate_dsa_primes
    - make_dsa_generator
    - Invalid_Argument
    - std::make_shared<DL_Group_Data>
    linkageType: ''
    returnType: void
    signature: void DL_Group::DL_Group(RandomNumberGenerator& rng, const std::vector<uint8_t>&
      seed, size_t pbits, size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' g'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: Botan::DL_Group::DL_Group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 3
    functionsReached:
    - std::make_shared<DL_Group_Data>
    linkageType: ''
    returnType: void
    signature: void DL_Group::DL_Group(const BigInt& p, const BigInt& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:349,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:350,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' q'
    - ' g'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: Botan::DL_Group::DL_Group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 3
    functionsReached:
    - std::make_shared<DL_Group_Data>
    - is_zero
    linkageType: ''
    returnType: void
    signature: void DL_Group::DL_Group(const BigInt& p, const BigInt& q, const BigInt&
      g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: '& DL_Group::data() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: DL_Group_Data
    signature: DL_Group_Data & DL_Group::data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:365,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:366,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:372,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' y'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 379
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 379
    functionName: Botan::DL_Group::verify_public_element
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    - get_p
    - is_zero
    - get_q
    linkageType: ''
    returnType: bool
    signature: bool DL_Group::verify_public_element(const BigInt& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:382,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 394
    functionName: Botan::DL_Group::verify_private_element
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - get_p
    - get_q
    linkageType: ''
    returnType: bool
    signature: bool DL_Group::verify_private_element(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:397,1
    - Dst: Botan::DL_Group::power_g_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:403,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: Botan::DL_Group::verify_element_pair
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::power_g_p
    - get_p
    - bits
    linkageType: ''
    returnType: bool
    signature: bool DL_Group::verify_element_pair(const BigInt& y, const BigInt& x)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:420,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:421,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:422,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:431,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:439,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:442,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:453,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:453,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 461
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 461
    functionName: Botan::DL_Group::verify_group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 2
    functionsReached:
    - Botan::BigInt::from_word
    - get_p
    - get_q
    - data
    - is_prime
    - get_g
    linkageType: ''
    returnType: bool
    signature: bool DL_Group::verify_group(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: '& DL_Group::get_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DL_Group::get_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: '& DL_Group::get_g() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DL_Group::get_g() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 482
    functionName: '& DL_Group::get_q() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DL_Group::get_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: Botan::DL_Group::monty_params_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Params>
    signature: std::shared_ptr<const Montgomery_Params> DL_Group::monty_params_p()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: Botan::DL_Group::has_q
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: bool
    signature: bool DL_Group::has_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 494
    functionName: Botan::DL_Group::p_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DL_Group::p_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: Botan::DL_Group::p_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DL_Group::p_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:501,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: Botan::DL_Group::q_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DL_Group::q_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:506,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: Botan::DL_Group::q_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DL_Group::q_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 512
    functionName: Botan::DL_Group::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DL_Group::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: Botan::DL_Group::exponent_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DL_Group::exponent_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inverse_mod_public_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:520,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 521
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 521
    functionName: Botan::DL_Group::inverse_mod_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - inverse_mod_public_prime
    - get_p
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::inverse_mod_p(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: Botan::DL_Group::mod_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::mod_p(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: Botan::DL_Group::multiply_mod_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::multiply_mod_p(const BigInt& x, const BigInt& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionName: '& DL_Group::_reducer_mod_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction & DL_Group::_reducer_mod_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:536,1
    - Dst: inverse_mod_public_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:538,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: Botan::DL_Group::inverse_mod_q
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - inverse_mod_public_prime
    - data
    - get_q
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::inverse_mod_q(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:542,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: Botan::DL_Group::mod_q
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::mod_q(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:547,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: Botan::DL_Group::multiply_mod_q
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::multiply_mod_q(const BigInt& x, const BigInt& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:552,1
    - Dst: Botan::DL_Group::multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:553,1
    - Dst: Botan::DL_Group::multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: Botan::DL_Group::multiply_mod_q
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - data
    - Botan::DL_Group::multiply_mod_q
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::multiply_mod_q(const BigInt& x, const BigInt& y, const
      BigInt& z) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:557,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: Botan::DL_Group::square_mod_q
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::square_mod_q(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_multi_exp
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:562,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:562,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 563
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 563
    functionName: Botan::DL_Group::multi_exponentiate
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - monty_multi_exp
    - data
    - get_g
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::multi_exponentiate(const BigInt& x, const BigInt&
      y, const BigInt& z) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - max_x_bits
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 567
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 567
    functionName: Botan::DL_Group::power_g_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::power_g_p(const BigInt& x, size_t max_x_bits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::power_b_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:570,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' b'
    - ' x'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: Botan::DL_Group::power_b_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - data
    - Botan::DL_Group::power_b_p
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::power_b_p(const BigInt& b, const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' b'
    - ' x'
    - max_x_bits
    argTypes:
    - BigInt
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 575
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 575
    functionName: Botan::DL_Group::power_b_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::power_b_p(const BigInt& b, const BigInt& x, size_t
      max_x_bits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 579
    functionName: Botan::DL_Group::source
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: DL_Group_Source
    signature: DL_Group_Source DL_Group::source() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:585,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:586,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:593,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:593,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:593,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:593,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:595,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:595,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:595,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:595,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:597,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:597,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:597,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - format
    argTypes:
    - DL_Group_Format
    constantsTouched: []
    func_position:
      end: 603
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 603
    functionName: Botan::DL_Group::DER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - get_p
    - Encoding_Error
    - get_q
    - Invalid_Argument
    - DER_Encoder::start_sequence
    - get_g
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DL_Group::DER_encode(DL_Group_Format format) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::DER_encode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:609,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:612,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:614,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:616,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - format
    argTypes:
    - DL_Group_Format
    constantsTouched: []
    func_position:
      end: 620
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 620
    functionName: Botan::DL_Group::PEM_encode
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::PEM_Code::encode
    - Botan::DL_Group::DER_encode
    - Invalid_Argument
    linkageType: ''
    returnType: std::string
    signature: std::string DL_Group::PEM_encode(DL_Group_Format format) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::BER_decode_DL_group
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ber
    - ber_len
    - format
    argTypes:
    - uint8_t[]
    - size_t
    - DL_Group_Format
    constantsTouched: []
    func_position:
      end: 624
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 624
    functionName: Botan::DL_Group::DL_Group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 3
    functionsReached:
    - Botan::DL_Group::BER_decode_DL_group
    linkageType: ''
    returnType: void
    signature: void DL_Group::DL_Group(const uint8_t ber[], size_t ber_len, DL_Group_Format
      format)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:58,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:68,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:85,1
    - Dst: Botan::DL_Group::from_PEM
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:86,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:138,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:138,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:187,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:263,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:264,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:264,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:364,1
    - Dst: DL_Group
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:366,1
    - Dst: DL_Group
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 46
    functionDepth: 5
    functionLinenumber: 46
    functionLinenumberEnd: 396
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.h
    functionUses: 10
    functionsReached:
    - Botan::DL_Group::from_PEM
    - BOTAN_DEPRECATED
    - power_g_p
    - data
    - DL_Group
    - bits
    - Botan::size
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::known_pbes_cipher_mode
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool known_pbes_cipher_mode(std::string_view mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:31,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:31,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:36,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:36,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:44,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:47,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:48,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:55,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:56,1
    - Dst: std::string::starts_with
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:56,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:57,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:57,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:57,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:60,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:60,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:61,1
    - Dst: auto::hash
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:64,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:66,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:66,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:72,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:72,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:87,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:88,1
    - Dst: auto::hash
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:89,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:93,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:93,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:93,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - passphrase
    - ' kdf_algo'
    - default_key_size
    argTypes:
    - std::string_view
    - AlgorithmIdentifier
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 95
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 2
    functionsReached:
    - std::string::starts_with
    - Botan::Decoding_Error
    - Botan::fmt
    - Botan::PasswordHashFamily::create_or_throw
    - BER_Decoder
    - parameters
    - auto::hash
    - Botan::OID::from_string
    - secure_vector::size
    - std::string::empty
    - AlgorithmIdentifier
    - AlgorithmIdentifier::oid
    - Botan::oid
    - auto::from_params
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> derive_key(std::string_view passphrase,\n                                  const
      AlgorithmIdentifier& kdf_algo,\n                                  size_t default_key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:106,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:109,1
    - Dst: auto::tune
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:115,1
    - Dst: auto::from_iterations
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:117,1
    - Dst: std::unique_ptr::hash
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:121,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:132,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:141,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:141,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:144,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:145,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:147,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:149,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:149,1
    - Dst: auto::tune
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:156,1
    - Dst: auto::from_iterations
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:158,1
    - Dst: std::unique_ptr::hash
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:162,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:172,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:177,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:180,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 8
    argNames:
    - passphrase
    - digest
    - ' rng'
    - msec_in_iterations_out
    - iterations_if_msec_null
    - key_length
    - include_key_length_in_struct
    - ' kdf_algo'
    argTypes:
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    - size_t*
    - size_t
    - size_t
    - bool
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 183
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 183
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 2
    functionsReached:
    - auto::tune
    - Botan::fmt
    - std::unique_ptr::hash
    - Botan::PasswordHashFamily::create_or_throw
    - auto::from_iterations
    - Botan::random_vec
    - DER_Encoder
    - Botan::PasswordHashFamily::create
    - Botan::OID::from_string
    - Invalid_Argument
    - AlgorithmIdentifier
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> derive_key(std::string_view passphrase,\n                                  std::string_view
      digest,\n                                  RandomNumberGenerator& rng,\n                                  size_t*
      msec_in_iterations_out,\n                                  size_t iterations_if_msec_null,\n
      \                                 size_t key_length,\n                                  bool
      include_key_length_in_struct,\n                                  AlgorithmIdentifier&
      kdf_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:195,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:197,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:199,1
    - Dst: Botan::known_pbes_cipher_mode
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:199,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:200,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:200,1
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:205,1
    - Dst: auto::default_nonce_length
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:205,1
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:211,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:220,1
    - Dst: auto::start
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:221,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:222,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:222,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:223,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:226,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:229,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:232,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:235,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:237,1
    - Dst: Botan::unlock
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - key_bits
    - passphrase
    - msec_in_iterations_out
    - iterations_if_msec_null
    - cipher
    - prf
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    - size_t*
    - size_t
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 238
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 238
    functionName: Botan::pbes2_encrypt_shared
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 0
    functionsReached:
    - auto::default_nonce_length
    - Botan::fmt
    - Botan::random_vec
    - DER_Encoder
    - auto::set_key
    - auto::finish
    - Encoding_Error
    - std::span<const uint8_t>::end
    - auto::start
    - Botan::Cipher_Mode::create
    - auto::size
    - std::span<const uint8_t>::begin
    - Botan::split_on
    - Botan::unlock
    - Botan::OID::from_string
    - Botan::known_pbes_cipher_mode
    - Botan::derive_key
    - std::make_pair
    - AlgorithmIdentifier
    linkageType: ''
    returnType: std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
    signature: "std::pair<AlgorithmIdentifier, std::vector<uint8_t>> pbes2_encrypt_shared(std::span<const
      uint8_t> key_bits,\n                                                                          std::string_view
      passphrase,\n                                                                          size_t*
      msec_in_iterations_out,\n                                                                          size_t
      iterations_if_msec_null,\n                                                                          std::string_view
      cipher,\n                                                                          std::string_view
      prf,\n                                                                          RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::pbes2_encrypt_shared
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key_bits
    - passphrase
    - msec
    - cipher
    - digest
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    - std::chrono::milliseconds
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: Botan::pbes2_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 0
    functionsReached:
    - Botan::pbes2_encrypt_shared
    linkageType: ''
    returnType: std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
    signature: "std::pair<AlgorithmIdentifier, std::vector<uint8_t>> pbes2_encrypt(std::span<const
      uint8_t> key_bits,\n                                                                   std::string_view
      passphrase,\n                                                                   std::chrono::milliseconds
      msec,\n                                                                   std::string_view
      cipher,\n                                                                   std::string_view
      digest,\n                                                                   RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::pbes2_encrypt_shared
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - key_bits
    - passphrase
    - msec
    - out_iterations_if_nonnull
    - cipher
    - digest
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    - std::chrono::milliseconds
    - size_t*
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: Botan::pbes2_encrypt_msec
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 0
    functionsReached:
    - Botan::pbes2_encrypt_shared
    linkageType: ''
    returnType: std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
    signature: "std::pair<AlgorithmIdentifier, std::vector<uint8_t>> pbes2_encrypt_msec(std::span<const
      uint8_t> key_bits,\n                                                                        std::string_view
      passphrase,\n                                                                        std::chrono::milliseconds
      msec,\n                                                                        size_t*
      out_iterations_if_nonnull,\n                                                                        std::string_view
      cipher,\n                                                                        std::string_view
      digest,\n                                                                        RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::pbes2_encrypt_shared
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key_bits
    - passphrase
    - pbkdf_iter
    - cipher
    - digest
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    - size_t
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: Botan::pbes2_encrypt_iter
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 0
    functionsReached:
    - Botan::pbes2_encrypt_shared
    linkageType: ''
    returnType: std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
    signature: "std::pair<AlgorithmIdentifier, std::vector<uint8_t>> pbes2_encrypt_iter(std::span<const
      uint8_t> key_bits,\n                                                                        std::string_view
      passphrase,\n                                                                        size_t
      pbkdf_iter,\n                                                                        std::string_view
      cipher,\n                                                                        std::string_view
      digest,\n                                                                        RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:285,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:287,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:288,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:289,1
    - Dst: Botan::known_pbes_cipher_mode
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:289,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:290,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:290,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:290,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:294,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:294,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:296,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:298,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:298,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:301,1
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:301,1
    - Dst: auto::key_spec
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:301,1
    - Dst: auto::start
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:303,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:305,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:305,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - key_bits
    - passphrase
    - ' params'
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 309
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 309
    functionName: Botan::pbes2_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - auto::key_spec
    - Botan::fmt
    - Botan::Decoding_Error
    - auto::finish
    - std::span<const uint8_t>::begin
    - BER_Decoder
    - Botan::split_on
    - parameters
    - std::span<const uint8_t>::end
    - Botan::derive_key
    - auto::start
    - Botan::known_pbes_cipher_mode
    - Botan::Cipher_Mode::create
    - auto::size
    - Botan::oid
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> pbes2_decrypt(std::span<const uint8_t> key_bits,\n
      \                                    std::string_view passphrase,\n                                     const
      std::vector<uint8_t>& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DLIES_Encryptor
      Src: /src/botan/src/lib/pubkey/dlies/dlies.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 87
    functionName: Botan::PK_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.h
    functionUses: 0
    functionsReached:
    - DLIES_Encryptor
    linkageType: ''
    returnType: DLIES_Encryptor
    signature: DLIES_Encryptor PK_Encryptor
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DLIES_Decryptor
      Src: /src/botan/src/lib/pubkey/dlies/dlies.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 148
    functionName: Botan::PK_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.h
    functionUses: 0
    functionsReached:
    - DLIES_Decryptor
    linkageType: ''
    returnType: DLIES_Decryptor
    signature: DLIES_Decryptor PK_Decryptor
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:22,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' own_priv_key'
    - ' rng'
    - kdf
    - mac
    - mac_key_length
    argTypes:
    - DH_PrivateKey
    - RandomNumberGenerator
    - std::unique_ptr<KDF>
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: Botan::DLIES_Encryptor::DLIES_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DLIES_Encryptor::DLIES_Encryptor(const DH_PrivateKey& own_priv_key,\n
      \                                RandomNumberGenerator& rng,\n                                 std::unique_ptr<KDF>
      kdf,\n                                 std::unique_ptr<MessageAuthenticationCode>
      mac,\n                                 size_t mac_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_value
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:32,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:34,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:35,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:37,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:40,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ' own_priv_key'
    - ' rng'
    - kdf
    - cipher
    - cipher_key_len
    - mac
    - mac_key_length
    argTypes:
    - DH_PrivateKey
    - RandomNumberGenerator
    - std::unique_ptr<KDF>
    - std::unique_ptr<Cipher_Mode>
    - size_t
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: Botan::DLIES_Encryptor::DLIES_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - public_value
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void DLIES_Encryptor::DLIES_Encryptor(const DH_PrivateKey& own_priv_key,\n
      \                                RandomNumberGenerator& rng,\n                                 std::unique_ptr<KDF>
      kdf,\n                                 std::unique_ptr<Cipher_Mode> cipher,\n
      \                                size_t cipher_key_len,\n                                 std::unique_ptr<MessageAuthenticationCode>
      mac,\n                                 size_t mac_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:45,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:46,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:50,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:54,1
    - Dst: SymmetricKey::bits_of
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:54,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:56,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:57,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:64,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:65,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:67,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:67,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:67,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:68,1
    - Dst: name
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:68,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:70,1
    - Dst: bits_of
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:70,1
    - Dst: finish
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:71,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:73,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:77,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:77,1
    - Dst: process
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:78,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 82
    functionName: Botan::DLIES_Encryptor::enc
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - SymmetricKey::bits_of
    - set_key
    - Encoding_Error
    - start
    - bits_of
    - finish
    - valid_nonce_length
    - empty
    - name
    - Invalid_State
    - derive_key
    - Invalid_Argument
    - process
    - size
    - concat
    - secure_vector::size
    - xor_buf
    - secure_vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DLIES_Encryptor::enc(const uint8_t in[], size_t
      length, RandomNumberGenerator& /*unused*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: Botan::DLIES_Encryptor::maximum_input_size
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DLIES_Encryptor::maximum_input_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:94,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:94,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan::DLIES_Encryptor::ciphertext_length
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DLIES_Encryptor::ciphertext_length(size_t ptext_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_value
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:104,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:106,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:107,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:109,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:112,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ' own_priv_key'
    - ' rng'
    - kdf
    - cipher
    - cipher_key_len
    - mac
    - mac_key_length
    argTypes:
    - DH_PrivateKey
    - RandomNumberGenerator
    - std::unique_ptr<KDF>
    - std::unique_ptr<Cipher_Mode>
    - size_t
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: Botan::DLIES_Decryptor::DLIES_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - public_value
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void DLIES_Decryptor::DLIES_Decryptor(const DH_PrivateKey& own_priv_key,\n
      \                                RandomNumberGenerator& rng,\n                                 std::unique_ptr<KDF>
      kdf,\n                                 std::unique_ptr<Cipher_Mode> cipher,\n
      \                                size_t cipher_key_len,\n                                 std::unique_ptr<MessageAuthenticationCode>
      mac,\n                                 size_t mac_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:121,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' own_priv_key'
    - ' rng'
    - kdf
    - mac
    - mac_key_length
    argTypes:
    - DH_PrivateKey
    - RandomNumberGenerator
    - std::unique_ptr<KDF>
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: Botan::DLIES_Decryptor::DLIES_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DLIES_Decryptor::DLIES_Decryptor(const DH_PrivateKey& own_priv_key,\n
      \                                RandomNumberGenerator& rng,\n                                 std::unique_ptr<KDF>
      kdf,\n                                 std::unique_ptr<MessageAuthenticationCode>
      mac,\n                                 size_t mac_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:124,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: Botan::DLIES_Decryptor::plaintext_length
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - output_length
    linkageType: ''
    returnType: size_t
    signature: size_t DLIES_Decryptor::plaintext_length(size_t ctext_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:132,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:133,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:138,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:145,1
    - Dst: SymmetricKey::bits_of
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:145,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:147,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:148,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:154,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:154,1
    - Dst: process
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:155,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:159,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:161,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:161,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:161,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:161,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:166,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:167,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:173,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:173,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:173,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:174,1
    - Dst: name
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:174,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:176,1
    - Dst: bits_of
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:176,1
    - Dst: finish
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:177,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:183,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:186,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - ' valid_mask'
    - msg
    - length
    argTypes:
    - uint8_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 190
    functionName: Botan::DLIES_Decryptor::do_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - empty
    - name
    - process
    - Decoding_Error
    - SymmetricKey::bits_of
    - Botan::CT::is_equal
    - Encoding_Error
    - start
    - finish
    - secure_vector<uint8_t>
    - valid_nonce_length
    - output_length
    - set_key
    - bits_of
    - derive_key
    - xor_buf
    - secure_vector::data
    - Invalid_Argument
    - size
    - secure_vector::size
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DLIES_Decryptor::do_decrypt(uint8_t& valid_mask,
      const uint8_t msg[], size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECGDSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:17,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:17,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::ECGDSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECGDSA_PublicKey>
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> ECGDSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:21,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: Botan::ECGDSA_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::KeyPair::signature_consistency_check
    - Botan::EC_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool ECGDSA_PrivateKey::check_key(RandomNumberGenerator& rng, bool
      strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:40,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ecgdsa'
    - emsa
    argTypes:
    - ECGDSA_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: Botan::ECGDSA_Signature_Operation::ECGDSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - _private_key
    - domain
    linkageType: ''
    returnType: void
    signature: void ECGDSA_Signature_Operation(const ECGDSA_PrivateKey& ecgdsa, std::string_view
      emsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::ECGDSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - get_order_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:54,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:55,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: Botan::ECGDSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::OID::from_string
    - hash_function
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier ECGDSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:60,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:62,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:64,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:69,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:69,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:70,1
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: Botan::ECGDSA_Signature_Operation::raw_sign
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    - Botan::EC_Scalar::from_bytes_with_trunc
    - Botan::EC_Scalar::gk_x_mod_order
    - auto::is_zero
    - Botan::EC_Scalar::random
    - Botan::EC_Scalar::deserialize_pair
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ECGDSA_Signature_Operation::raw_sign(std::span<const
      uint8_t> msg, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:82,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ecgdsa'
    - padding
    argTypes:
    - ECGDSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: Botan::ECGDSA_Verification_Operation::ECGDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: void
    signature: void ECGDSA_Verification_Operation(const ECGDSA_PublicKey& ecgdsa,
      std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:86,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ecgdsa'
    - ' alg_id'
    argTypes:
    - ECGDSA_PublicKey
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: Botan::ECGDSA_Verification_Operation::ECGDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: void
    signature: void ECGDSA_Verification_Operation(const ECGDSA_PublicKey& ecgdsa,
      const AlgorithmIdentifier& alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:97,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:98,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:100,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:100,1
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:101,1
    - Dst: invert_vartime
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:103,1
    - Dst: mul2_vartime_x_mod_order_eq
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - sig
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Botan::ECGDSA_Verification_Operation::verify
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - mul2_vartime_x_mod_order_eq
    - auto::value
    - Botan::EC_Scalar::from_bytes_with_trunc
    - is_nonzero
    - invert_vartime
    - Botan::EC_Scalar::deserialize_pair
    linkageType: ''
    returnType: bool
    signature: bool ECGDSA_Verification_Operation::verify(std::span<const uint8_t>
      msg, std::span<const uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECGDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:116,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: Botan::ECGDSA_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<ECGDSA_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> ECGDSA_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:121,1
    - Dst: std::make_unique<ECGDSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:122,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:124,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: Botan::ECGDSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<ECGDSA_Verification_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> ECGDSA_PublicKey::create_verification_op(std::string_view
      params,\n                                                                               std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:129,1
    - Dst: std::make_unique<ECGDSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:130,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:133,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: Botan::ECGDSA_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<ECGDSA_Verification_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> ECGDSA_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:139,1
    - Dst: std::make_unique<ECGDSA_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:140,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:142,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: Botan::ECGDSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<ECGDSA_Signature_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> ECGDSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                          std::string_view
      params,\n                                                                          std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::ECGDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECGDSA_PublicKey(const EC_Group& group, const EC_Point& public_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: Botan::ECGDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECGDSA_PublicKey(const AlgorithmIdentifier& alg_id, std::span<const
      uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::domain
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached:
    - Botan::domain
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> _signature_element_size_for_DER_encoding() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - group
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ECGDSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECGDSA_PrivateKey(RandomNumberGenerator& rng, EC_Group group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - ' group'
    - ' x'
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: ECGDSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECGDSA_PrivateKey(RandomNumberGenerator& rng, const EC_Group&
      group, const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.h
    functionUses: 2
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API KEX_to_KEM_Adapter_PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:49,1
    - Dst: Botan::supports_operation
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:49,1
    - Dst: dynamic_cast<const ECDH_PublicKey*>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:52,1
    - Dst: auto*::domain
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:53,1
    - Dst: dynamic_cast<const DH_PublicKey*>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:58,1
    - Dst: auto*::group
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:59,1
    - Dst: dynamic_cast<const X25519_PublicKey*>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:64,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:65,1
    - Dst: dynamic_cast<const X448_PublicKey*>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:71,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:72,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:77,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:78,1
    - Dst: Botan::algo_name
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' kex_public_key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 80
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 80
    functionName: Botan::kex_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - auto*::group
    - BOTAN_UNUSED
    - auto*::domain
    - dynamic_cast<const ECDH_PublicKey*>
    - Botan::fmt
    - Botan::algo_name
    - Botan::supports_operation
    - dynamic_cast<const X25519_PublicKey*>
    - Not_Implemented
    - dynamic_cast<const X448_PublicKey*>
    - dynamic_cast<const DH_PublicKey*>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t kex_shared_key_length(const Public_Key& kex_public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:88,1
    - Dst: Botan::supports_operation
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:88,1
    - Dst: Botan::generate_another
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:91,1
    - Dst: dynamic_cast<PK_Key_Agreement_Key*>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:92,1
    - Dst: auto::get
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:92,1
    - Dst: auto::release
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:97,1
    - Dst: std::unique_ptr<PK_Key_Agreement_Key>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:99,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' kex_public_key'
    - ' rng'
    argTypes:
    - Public_Key
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: Botan::generate_key_agreement_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - Botan::supports_operation
    - auto::get
    - auto::release
    - Botan::generate_another
    - BOTAN_ASSERT
    - dynamic_cast<PK_Key_Agreement_Key*>
    - std::unique_ptr<PK_Key_Agreement_Key>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::unique_ptr<PK_Key_Agreement_Key>
    signature: "std::unique_ptr<PK_Key_Agreement_Key> generate_key_agreement_private_key(const
      Public_Key& kex_public_key,\n                                                                         RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:107,1
    - Dst: Botan::public_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - std::unique_ptr<Private_Key>
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: Botan::maybe_get_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::public_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> maybe_get_public_key(const std::unique_ptr<Private_Key>&
      private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' key'
    - kdf
    - provider
    argTypes:
    - Public_Key
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: Botan::KEX_to_KEM_Adapter_Encryption_Operation::KEX_to_KEM_Adapter_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KEX_to_KEM_Adapter_Encryption_Operation(const Public_Key& key,
      std::string_view kdf, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_shared_key_length
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::KEX_to_KEM_Adapter_Encryption_Operation::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - kex_shared_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: Botan::KEX_to_KEM_Adapter_Encryption_Operation::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_key_agreement_private_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:130,1
    - Dst: PK_Key_Agreement
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:131,1
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:132,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:135,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:140,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:140,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:141,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:143,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:144,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:144,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:145,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:145,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:145,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:145,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:146,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:146,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:146,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - out_encapsulated_key
    - raw_shared_key
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: Botan::KEX_to_KEM_Adapter_Encryption_Operation::raw_kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - generate_key_agreement_private_key
    - raw_public_key_bits
    - auto::begin
    - std::span<uint8_t>::size
    - std::span<uint8_t>::begin
    - auto::public_value
    - copy
    - BOTAN_ASSERT_EQUAL
    - auto::end
    - PK_Key_Agreement
    - auto::size
    linkageType: ''
    returnType: void
    signature: "void raw_kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n                           std::span<uint8_t>
      raw_shared_key,\n                           Botan::RandomNumberGenerator& rng)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_value
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - kdf
    - provider
    argTypes:
    - PK_Key_Agreement_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: Botan::KEX_to_KEM_Decryption_Operation::KEX_to_KEM_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - public_value
    linkageType: ''
    returnType: void
    signature: "void KEX_to_KEM_Decryption_Operation(const PK_Key_Agreement_Key& key,\n
      \                                     RandomNumberGenerator& rng,\n                                      const
      std::string_view kdf,\n                                      const std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:165,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:166,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:167,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:167,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:168,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:168,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:168,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out_shared_key
    - encap_key
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: Botan::KEX_to_KEM_Decryption_Operation::raw_kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::begin
    - std::span<uint8_t>::size
    - copy
    - BOTAN_ASSERT_EQUAL
    - derive_key
    - secure_vector::size
    - secure_vector::end
    - secure_vector::begin
    linkageType: ''
    returnType: void
    signature: void raw_kem_decrypt(std::span<uint8_t> out_shared_key, std::span<const
      uint8_t> encap_key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan::KEX_to_KEM_Decryption_Operation::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: agreed_value_size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: Botan::KEX_to_KEM_Decryption_Operation::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - agreed_value_size
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:183,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:184,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:185,1
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::supports_operation
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - std::unique_ptr<Public_Key>
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::KEX_to_KEM_Adapter_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ARG_CHECK
    - Botan::KEX_to_KEM_Adapter_PublicKey::supports_operation
    linkageType: ''
    returnType: void
    signature: void KEX_to_KEM_Adapter_PublicKey::KEX_to_KEM_Adapter_PublicKey(std::unique_ptr<Public_Key>
      public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:189,1
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::KEX_to_KEM_Adapter_PublicKey::algo_name
    linkageType: ''
    returnType: std::string
    signature: std::string KEX_to_KEM_Adapter_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::estimated_strength
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t KEX_to_KEM_Adapter_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::key_length
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::key_length
    linkageType: ''
    returnType: size_t
    signature: size_t KEX_to_KEM_Adapter_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool KEX_to_KEM_Adapter_PublicKey::check_key(RandomNumberGenerator&
      rng, bool strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier KEX_to_KEM_Adapter_PublicKey::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> KEX_to_KEM_Adapter_PublicKey::raw_public_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::public_key_bits
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> KEX_to_KEM_Adapter_PublicKey::public_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KEX_to_KEM_Adapter_PrivateKey>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:217,1
    - Dst: generate_key_agreement_private_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - generate_key_agreement_private_key
    - std::make_unique<KEX_to_KEM_Adapter_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> KEX_to_KEM_Adapter_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KEX_to_KEM_Adapter_PublicKey::supports_operation(PublicKeyOperation
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: maybe_get_public_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:225,1
    - Dst: dynamic_cast<PK_Key_Agreement_Key*>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:226,1
    - Dst: std::unique_ptr<Private_Key>::release
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:226,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:227,1
    - Dst: std::unique_ptr<PK_Key_Agreement_Key>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - std::unique_ptr<Private_Key>
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: Botan::KEX_to_KEM_Adapter_PrivateKey::KEX_to_KEM_Adapter_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - maybe_get_public_key
    - std::unique_ptr<PK_Key_Agreement_Key>
    - std::unique_ptr<Private_Key>::release
    - dynamic_cast<PK_Key_Agreement_Key*>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void KEX_to_KEM_Adapter_PrivateKey::KEX_to_KEM_Adapter_PrivateKey(std::unique_ptr<Private_Key>
      private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PrivateKey::private_key_bits
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: Botan::KEX_to_KEM_Adapter_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PrivateKey::private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> KEX_to_KEM_Adapter_PrivateKey::private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: Botan::KEX_to_KEM_Adapter_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PrivateKey::raw_private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> KEX_to_KEM_Adapter_PrivateKey::raw_private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KEX_to_KEM_Adapter_PublicKey>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:240,1
    - Dst: Botan::KEX_to_KEM_Adapter_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: Botan::KEX_to_KEM_Adapter_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<KEX_to_KEM_Adapter_PublicKey>
    - Botan::KEX_to_KEM_Adapter_PrivateKey::public_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> KEX_to_KEM_Adapter_PrivateKey::public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: Botan::KEX_to_KEM_Adapter_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool KEX_to_KEM_Adapter_PrivateKey::check_key(RandomNumberGenerator&
      rng, bool strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KEX_to_KEM_Adapter_Encryption_Operation>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - kdf
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KEX_to_KEM_Adapter_Encryption_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> KEX_to_KEM_Adapter_PublicKey::create_kem_encryption_op(\n
      \  std::string_view kdf, std::string_view provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KEX_to_KEM_Decryption_Operation>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rng'
    - kdf
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: Botan::KEX_to_KEM_Adapter_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KEX_to_KEM_Decryption_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> KEX_to_KEM_Adapter_PrivateKey::create_kem_decryption_op(\n
      \  RandomNumberGenerator& rng, std::string_view kdf, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:37,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:38,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:39,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:40,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:41,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ' n'
    - ' e'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Botan::RSA_Public_Data::RSA_Public_Data
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<Montgomery_Params>
    - Botan::Barrett_Reduction::for_public_modulus
    - bits
    - bytes
    linkageType: ''
    returnType: void
    signature: void RSA_Public_Data(BigInt&& n, BigInt&& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_precompute
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:46,1
    - Dst: monty_execute_vartime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Botan::RSA_Public_Data::public_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - monty_precompute
    - monty_execute_vartime
    linkageType: ''
    returnType: BigInt
    signature: BigInt public_op(const BigInt& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& get_n() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& get_e() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_e() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::RSA_Public_Data::public_modulus_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t public_modulus_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::RSA_Public_Data::public_modulus_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t public_modulus_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '& monty_n() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Params>
    signature: std::shared_ptr<const Montgomery_Params> & monty_n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '& reducer_mod_n() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction & reducer_mod_n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:74,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:75,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:76,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:77,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:78,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:79,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:80,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:81,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:83,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 6
    argNames:
    - ' d'
    - ' p'
    - ' q'
    - ' d1'
    - ' d2'
    - ' c'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: Botan::RSA_Private_Data::RSA_Private_Data
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<Montgomery_Params>
    - bits
    linkageType: ''
    returnType: void
    signature: void RSA_Private_Data(BigInt&& d, BigInt&& p, BigInt&& q, BigInt&&
      d1, BigInt&& d2, BigInt&& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& get_d() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_d() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '& get_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: '& get_q() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: '& get_d1() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_d1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& get_d2() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_d2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '& get_c() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_c() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& get_c_monty() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & get_c_monty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& monty_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Params>
    signature: std::shared_ptr<const Montgomery_Params> & monty_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: '& monty_q() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Params>
    signature: std::shared_ptr<const Montgomery_Params> & monty_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan::RSA_Private_Data::p_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t p_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::RSA_Private_Data::q_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t q_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Private_Data::p_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:108,1
    - Dst: Botan::RSA_Private_Data::q_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Botan::RSA_Private_Data::primes_imbalanced
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::RSA_Private_Data::q_bits
    - Botan::RSA_Private_Data::p_bits
    linkageType: ''
    returnType: bool
    signature: bool primes_imbalanced() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::RSA_PublicKey::public_data
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const RSA_Public_Data>
    signature: std::shared_ptr<const RSA_Public_Data> RSA_PublicKey::public_data()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:131,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:133,1
    - Dst: Public_Key::get_int_field
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: '& RSA_PublicKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Public_Key::get_int_field
    - get_e
    - get_n
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PublicKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:140,1
    - Dst: public_modulus_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:140,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Botan::RSA_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bits
    - std::make_unique<RSA_PrivateKey>
    - get_e
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> RSA_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: '& RSA_PublicKey::get_n() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PublicKey::get_n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: '& RSA_PublicKey::get_e() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_e
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PublicKey::get_e() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:152,1
    - Dst: is_even
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:152,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:152,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:152,1
    - Dst: is_even
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:152,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:153,1
    - Dst: std::make_shared<RSA_Public_Data>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:155,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:155,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:155,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 2
    argNames:
    - ' n'
    - ' e'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: Botan::RSA_PublicKey::init
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_negative
    - is_even
    - bits
    - Decoding_Error
    - std::make_shared<RSA_Public_Data>
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKey::init(BigInt&& n, BigInt&& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:160,1
    - Dst: Botan::RSA_PublicKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:162,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:162,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: Botan::RSA_PublicKey::RSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_PublicKey::init
    - std::move
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKey::RSA_PublicKey(const AlgorithmIdentifier& /*unused*/,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: Botan::RSA_PublicKey::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RSA_PublicKey::supports_operation(PublicKeyOperation op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_PublicKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:173,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:173,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' modulus'
    - ' exponent'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: Botan::RSA_PublicKey::RSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_PublicKey::init
    - std::move
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKey::RSA_PublicKey(const BigInt& modulus, const BigInt&
      exponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Botan::RSA_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bits
    linkageType: ''
    returnType: size_t
    signature: size_t RSA_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if_work_factor
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:181,1
    - Dst: Botan::RSA_PublicKey::key_length
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: Botan::RSA_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - if_work_factor
    - Botan::RSA_PublicKey::key_length
    linkageType: ''
    returnType: size_t
    signature: size_t RSA_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:185,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: Botan::RSA_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier RSA_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: Botan::RSA_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> RSA_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:195,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:195,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: Botan::RSA_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_e
    - get_n
    - DER_Encoder::start_sequence
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> RSA_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:204,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:204,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:204,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: Botan::RSA_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_e
    - get_n
    linkageType: ''
    returnType: bool
    signature: bool RSA_PublicKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: Botan::RSA_PrivateKey::private_data
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const RSA_Private_Data>
    signature: std::shared_ptr<const RSA_Private_Data> RSA_PrivateKey::private_data()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:215,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:217,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:218,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:219,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:220,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:221,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:222,1
    - Dst: get_d1
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:223,1
    - Dst: get_d2
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:224,1
    - Dst: get_c
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 228
    functionName: Botan::RSA_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_c
    - get_e
    - get_p
    - get_q
    - static_cast<size_t>
    - get_d1
    - DER_Encoder
    - get_d
    - get_n
    - get_d2
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> RSA_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: '& RSA_PrivateKey::get_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_p
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: '& RSA_PrivateKey::get_q() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_q
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: '& RSA_PrivateKey::get_d() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_d
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_d() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_c
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '& RSA_PrivateKey::get_c() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_c
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_c() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_d1
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: '& RSA_PrivateKey::get_d1() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_d1
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_d1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_d2
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: '& RSA_PrivateKey::get_d2() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_d2
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_d2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<RSA_Private_Data>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:255,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - ' d'
    - ' p'
    - ' q'
    - ' d1'
    - ' d2'
    - ' c'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: Botan::RSA_PrivateKey::init
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<RSA_Private_Data>
    linkageType: ''
    returnType: void
    signature: void RSA_PrivateKey::init(BigInt&& d, BigInt&& p, BigInt&& q, BigInt&&
      d1, BigInt&& d2, BigInt&& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:262,1
    - Dst: Botan::RSA_PublicKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:275,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:275,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:275,1
    - Dst: Botan::RSA_PrivateKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 278
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 278
    functionName: Botan::RSA_PrivateKey::RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_PublicKey::init
    - std::move
    - Botan::RSA_PrivateKey::init
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void RSA_PrivateKey::RSA_PrivateKey(const AlgorithmIdentifier& /*unused*/,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:285,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:296,1
    - Dst: lcm
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:297,1
    - Dst: compute_rsa_secret_exponent
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:298,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:301,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:302,1
    - Dst: inverse_mod_secret_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:303,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:303,1
    - Dst: Botan::RSA_PublicKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:305,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:305,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:305,1
    - Dst: Botan::RSA_PrivateKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' prime1'
    - ' prime2'
    - ' exp'
    - ' d_exp'
    - ' mod'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 308
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 308
    functionName: Botan::RSA_PrivateKey::RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::RSA_PublicKey::init
    - lcm
    - Botan::RSA_PrivateKey::init
    - compute_rsa_secret_exponent
    - ct_modulo
    - BigInt::is_zero
    - inverse_mod_secret_prime
    linkageType: ''
    returnType: void
    signature: "void RSA_PrivateKey::RSA_PrivateKey(\n   const BigInt& prime1, const
      BigInt& prime2, const BigInt& exp, const BigInt& d_exp, const BigInt& mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:315,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:315,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:319,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:326,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:330,1
    - Dst: generate_rsa_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:334,1
    - Dst: generate_rsa_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:335,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:338,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:344,1
    - Dst: lcm
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:354,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:356,1
    - Dst: low_zero_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:356,1
    - Dst: compute_rsa_secret_exponent
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:358,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:359,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:360,1
    - Dst: inverse_mod_secret_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:361,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:361,1
    - Dst: Botan::RSA_PublicKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:363,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:363,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:363,1
    - Dst: Botan::RSA_PrivateKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - ' rng'
    - bits
    - exp
    argTypes:
    - RandomNumberGenerator
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 366
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 366
    functionName: Botan::RSA_PrivateKey::RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::BigInt::from_u64
    - BigInt::bits
    - Botan::RSA_PublicKey::init
    - Internal_Error
    - generate_rsa_prime
    - lcm
    - BOTAN_DEBUG_ASSERT
    - inverse_mod_secret_prime
    - Botan::RSA_PrivateKey::init
    - compute_rsa_secret_exponent
    - Invalid_Argument
    - bits
    - ct_modulo
    - fmt
    - low_zero_bits
    linkageType: ''
    returnType: void
    signature: void RSA_PrivateKey::RSA_PrivateKey(RandomNumberGenerator& rng, size_t
      bits, size_t exp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:370,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:372,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:374,1
    - Dst: get_c
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:376,1
    - Dst: get_d1
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:378,1
    - Dst: get_d2
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:380,1
    - Dst: RSA_PublicKey::get_int_field
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 384
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 384
    functionName: '& RSA_PrivateKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_c
    - get_p
    - get_q
    - get_d1
    - RSA_PublicKey::get_int_field
    - get_d
    - get_d2
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:387,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:387,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: Botan::RSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RSA_PublicKey>
    - get_e
    - get_n
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> RSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:394,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:394,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:394,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:394,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:398,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:398,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:398,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:402,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:402,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:402,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:406,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:406,1
    - Dst: get_d1
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:410,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:410,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:410,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:410,1
    - Dst: get_d2
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:413,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:413,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:413,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:413,1
    - Dst: get_c
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:416,1
    - Dst: inverse_mod_secret_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:416,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:416,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:416,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:416,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:416,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:422,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:422,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:425,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:425,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:430,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:430,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:430,1
    - Dst: lcm
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:430,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:430,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:430,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:440,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 444
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 444
    functionName: Botan::RSA_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_c
    - Botan::KeyPair::signature_consistency_check
    - get_p
    - get_e
    - get_q
    - lcm
    - get_d1
    - get_d
    - ct_modulo
    - is_prime
    - inverse_mod_secret_prime
    - get_n
    - get_d2
    linkageType: ''
    returnType: bool
    signature: bool RSA_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Private_Operation::public_modulus_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: Botan::RSA_Private_Operation::public_modulus_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Private_Operation::public_modulus_bits
    linkageType: ''
    returnType: size_t
    signature: size_t public_modulus_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Private_Operation::public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: Botan::RSA_Private_Operation::public_modulus_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Private_Operation::public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t public_modulus_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:458,1
    - Dst: private_data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:459,1
    - Dst: reducer_mod_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:461,1
    - Dst: public_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:463,1
    - Dst: inverse_mod_rsa_public_modulus
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:464,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:464,1
    - Dst: p_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:466,1
    - Dst: q_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' rsa'
    - ' rng'
    argTypes:
    - RSA_PrivateKey
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 467
    functionName: Botan::RSA_Private_Operation::RSA_Private_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - q_bits
    - p_bits
    - reducer_mod_n
    - private_data
    - inverse_mod_rsa_public_modulus
    - public_op
    - public_data
    - get_n
    linkageType: ''
    returnType: void
    signature: void RSA_Private_Operation(const RSA_PrivateKey& rsa, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:470,1
    - Dst: Botan::RSA_Private_Operation::public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:470,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:471,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:473,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:473,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:474,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:475,1
    - Dst: unblind
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:480,1
    - Dst: Botan::RSA_Private_Operation::rsa_private_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:480,1
    - Dst: blind
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:480,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:481,1
    - Dst: public_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:481,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:482,1
    - Dst: Botan::RSA_Private_Operation::public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:482,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:482,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - out
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 484
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 484
    functionName: Botan::RSA_Private_Operation::raw_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - BigInt::serialize_to
    - Botan::RSA_Private_Operation::public_modulus_bytes
    - blind
    - std::span<const uint8_t>::size
    - public_op
    - unblind
    - BOTAN_ASSERT
    - Botan::RSA_Private_Operation::rsa_private_op
    - std::span<const uint8_t>::data
    - Decoding_Error
    - get_n
    linkageType: ''
    returnType: void
    signature: void raw_op(std::span<uint8_t> out, std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: primes_imbalanced
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:492,1
    - Dst: monty_exp
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:493,1
    - Dst: monty_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:493,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:493,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:493,1
    - Dst: rng
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:499,1
    - Dst: sig_words
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:511,1
    - Dst: Thread_Pool::global_instance
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:513,1
    - Dst: get_d1
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:515,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:515,1
    - Dst: monty_precompute
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:516,1
    - Dst: Botan::Montgomery_Int::from_wide_int
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:516,1
    - Dst: monty_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:516,1
    - Dst: monty_execute
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:517,1
    - Dst: rng
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:524,1
    - Dst: get_d2
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:525,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:525,1
    - Dst: monty_precompute
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:526,1
    - Dst: Botan::Montgomery_Int::from_wide_int
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:526,1
    - Dst: monty_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:526,1
    - Dst: monty_execute
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:527,1
    - Dst: auto::get
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:530,1
    - Dst: Botan::Montgomery_Int::from_wide_int
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:541,1
    - Dst: monty_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:541,1
    - Dst: get_c_monty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:548,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:549,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 550
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 550
    functionName: Botan::RSA_Private_Operation::rsa_private_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - primes_imbalanced
    - get_p
    - get_q
    - Botan::Montgomery_Int::from_wide_int
    - auto::value
    - Thread_Pool::global_instance
    - get_c_monty
    - get_d2
    - monty_exp
    - sig_words
    - monty_q
    - get_n
    - monty_p
    - get_d1
    - auto::get
    - monty_n
    - monty_precompute
    - get_d
    - rng
    - monty_execute
    linkageType: ''
    returnType: BigInt
    signature: BigInt rsa_private_op(const BigInt& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:565,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:565,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: Botan::RSA_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - Botan::RSA_Signature_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:569,1
    - Dst: encoding_of
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:570,1
    - Dst: raw_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 575
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 575
    functionName: Botan::RSA_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - encoding_of
    - raw_data
    - raw_op
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 577
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 577
    functionName: Botan::RSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Signature_Operation::hash_function
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 581
    functionName: Botan::RSA_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Signature_Operation::hash_function
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA::create_or_throw
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rsa'
    - padding
    - ' rng'
    argTypes:
    - RSA_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 584
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 584
    functionName: Botan::RSA_Signature_Operation::RSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EMSA::create_or_throw
    linkageType: ''
    returnType: void
    signature: void RSA_Signature_Operation(const RSA_PrivateKey& rsa, std::string_view
      padding, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:591,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:595,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:596,1
    - Dst: std::string::starts_with
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:599,1
    - Dst: Botan::PSS_Params::from_emsa_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:600,1
    - Dst: name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:600,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:601,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:604,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 605
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 605
    functionName: Botan::RSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PSS_Params::from_emsa_name
    - std::string::starts_with
    - name
    - Botan::OID::from_string
    - Invalid_Argument
    - fmt
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier RSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rsa'
    - eme
    - ' rng'
    argTypes:
    - RSA_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 611
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 611
    functionName: Botan::RSA_Decryption_Operation::RSA_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Decryption_Operation(const RSA_PrivateKey& rsa, std::string_view
      eme, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 613
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 613
    functionName: Botan::RSA_Decryption_Operation::plaintext_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t plaintext_length(size_t /*ctext_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: Botan::RSA_Decryption_Operation::raw_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - raw_op
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_decrypt(std::span<const uint8_t> input)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' key'
    - kdf
    - ' rng'
    argTypes:
    - RSA_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: Botan::RSA_KEM_Decryption_Operation::RSA_KEM_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_KEM_Decryption_Operation(const RSA_PrivateKey& key, std::string_view
      kdf, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: Botan::RSA_KEM_Decryption_Operation::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 630
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 630
    functionName: Botan::RSA_KEM_Decryption_Operation::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out_shared_key
    - encapsulated_key
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: Botan::RSA_KEM_Decryption_Operation::raw_kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - raw_op
    linkageType: ''
    returnType: void
    signature: void raw_kem_decrypt(std::span<uint8_t> out_shared_key, std::span<const
      uint8_t> encapsulated_key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rsa'
    argTypes:
    - RSA_PublicKey
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: Botan::RSA_Public_Operation::RSA_Public_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_data
    linkageType: ''
    returnType: void
    signature: void RSA_Public_Operation(const RSA_PublicKey& rsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Public_Operation::public_modulus_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: Botan::RSA_Public_Operation::public_modulus_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Public_Operation::public_modulus_bits
    linkageType: ''
    returnType: size_t
    signature: size_t public_modulus_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:648,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:649,1
    - Dst: Botan::RSA_Public_Operation::public_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 653
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 653
    functionName: Botan::RSA_Public_Operation::public_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Decoding_Error
    - get_n
    - Botan::RSA_Public_Operation::public_op
    linkageType: ''
    returnType: BigInt
    signature: BigInt public_op(const BigInt& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Public_Operation::public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 655
    functionName: Botan::RSA_Public_Operation::public_modulus_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Public_Operation::public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t public_modulus_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 657
    functionName: '& get_n() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rsa'
    - eme
    argTypes:
    - RSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 667
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 667
    functionName: Botan::RSA_Encryption_Operation::RSA_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Encryption_Operation(const RSA_PublicKey& rsa, std::string_view
      eme)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: Botan::RSA_Encryption_Operation::ciphertext_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t ciphertext_length(size_t /*ptext_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: Botan::RSA_Encryption_Operation::max_ptext_input_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bits
    linkageType: ''
    returnType: size_t
    signature: size_t max_ptext_input_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:675,1
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: Botan::RSA_Encryption_Operation::raw_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_op
    - public_modulus_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> raw_encrypt(std::span<const uint8_t> input, RandomNumberGenerator&
      /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Verify_Operation::update
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:682,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:682,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 682
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 682
    functionName: Botan::RSA_Verify_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Verify_Operation::update
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:685,1
    - Dst: Botan::RSA_Verify_Operation::recover_message_repr
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:686,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:686,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:686,1
    - Dst: verify
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:687,1
    - Dst: public_modulus_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: Botan::RSA_Verify_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - raw_data
    - verify
    - public_modulus_bits
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan::RSA_Verify_Operation::recover_message_repr
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA::create_or_throw
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rsa'
    - padding
    argTypes:
    - RSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 691
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 691
    functionName: Botan::RSA_Verify_Operation::RSA_Verify_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EMSA::create_or_throw
    linkageType: ''
    returnType: void
    signature: void RSA_Verify_Operation(const RSA_PublicKey& rsa, std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Verify_Operation::hash_function
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: Botan::RSA_Verify_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Verify_Operation::hash_function
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:697,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:698,1
    - Dst: public_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - input
    - input_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 702
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 702
    functionName: Botan::RSA_Verify_Operation::recover_message_repr
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Decoding_Error
    - public_op
    - public_modulus_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> recover_message_repr(const uint8_t input[], size_t
      input_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - kdf
    argTypes:
    - RSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 711
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 711
    functionName: Botan::RSA_KEM_Encryption_Operation::RSA_KEM_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_KEM_Encryption_Operation(const RSA_PublicKey& key, std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: Botan::RSA_KEM_Encryption_Operation::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 716
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 716
    functionName: Botan::RSA_KEM_Encryption_Operation::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:721,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:721,1
    - Dst: public_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:722,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:724,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out_encapsulated_key
    - raw_shared_key
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 726
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 726
    functionName: Botan::RSA_KEM_Encryption_Operation::raw_kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_op
    - BigInt::serialize_to
    - get_n
    - Botan::BigInt::random_integer
    linkageType: ''
    returnType: void
    signature: "void raw_kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n                           std::span<uint8_t>
      raw_shared_key,\n                           RandomNumberGenerator& rng) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:734,1
    - Dst: std::make_unique<RSA_Encryption_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:735,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:737,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 738
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 738
    functionName: Botan::RSA_PublicKey::create_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<RSA_Encryption_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Encryption>
    signature: "std::unique_ptr<PK_Ops::Encryption> RSA_PublicKey::create_encryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                        std::string_view
      params,\n                                                                        std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:742,1
    - Dst: std::make_unique<RSA_KEM_Encryption_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:743,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:745,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 746
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 746
    functionName: Botan::RSA_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<RSA_KEM_Encryption_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> RSA_PublicKey::create_kem_encryption_op(std::string_view
      params,\n                                                                                std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:750,1
    - Dst: std::make_unique<RSA_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:751,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:754,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 755
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 755
    functionName: Botan::RSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<RSA_Verify_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> RSA_PublicKey::create_verification_op(std::string_view
      params,\n                                                                            std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:760,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:760,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:762,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:762,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:763,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:770,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:771,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:774,1
    - Dst: PSS_Params::hash_function
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:778,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:782,1
    - Dst: PSS_Params::mgf_function
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:785,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:786,1
    - Dst: PSS_Params::hash_algid
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:791,1
    - Dst: PSS_Params::mgf_hash_algid
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:791,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:792,1
    - Dst: PSS_Params::trailer_field
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:795,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:796,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:799,1
    - Dst: PSS_Params::salt_length
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:799,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 23
    argCount: 1
    argNames:
    - ' alg_id'
    argTypes:
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 803
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 803
    functionName: Botan::parse_rsa_signature_algorithm
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - PSS_Params::hash_function
    - PSS_Params::salt_length
    - Botan::fmt
    - Botan::Decoding_Error
    - Botan::split_on
    - parameters
    - auto::empty
    - PSS_Params::mgf_hash_algid
    - PSS_Params::mgf_function
    - auto::size
    - PSS_Params::trailer_field
    - PSS_Params::hash_algid
    - Botan::oid
    linkageType: ''
    returnType: std::string
    signature: std::string parse_rsa_signature_algorithm(const AlgorithmIdentifier&
      alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:809,1
    - Dst: std::make_unique<RSA_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:810,1
    - Dst: parse_rsa_signature_algorithm
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:810,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:813,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:813,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' alg_id'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 814
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 814
    functionName: Botan::RSA_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - Provider_Not_Found
    - algo_name
    - std::make_unique<RSA_Verify_Operation>
    - parse_rsa_signature_algorithm
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> RSA_PublicKey::create_x509_verification_op(const
      AlgorithmIdentifier& alg_id,\n                                                                                 std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:819,1
    - Dst: std::make_unique<RSA_Decryption_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:820,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:823,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 824
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 824
    functionName: Botan::RSA_PrivateKey::create_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<RSA_Decryption_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Decryption>
    signature: "std::unique_ptr<PK_Ops::Decryption> RSA_PrivateKey::create_decryption_op(RandomNumberGenerator&
      rng,\n                                                                         std::string_view
      params,\n                                                                         std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:829,1
    - Dst: std::make_unique<RSA_KEM_Decryption_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:830,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:833,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 834
    functionName: Botan::RSA_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<RSA_KEM_Decryption_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> RSA_PrivateKey::create_kem_decryption_op(RandomNumberGenerator&
      rng,\n                                                                                 std::string_view
      params,\n                                                                                 std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:839,1
    - Dst: std::make_unique<RSA_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:840,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:843,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 844
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 844
    functionName: Botan::RSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<RSA_Signature_Operation>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> RSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      rng,\n                                                                       std::string_view
      params,\n                                                                       std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/botan/src/lib/psk_db/psk_db.h:69,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/psk_db/psk_db.h:69,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/psk_db/psk_db.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - psk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::set_vec
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - set
    linkageType: ''
    returnType: void
    signature: void set_vec(std::string_view name, std::span<const uint8_t> psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PSK_Database()
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PSK_Database()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: is_encrypted
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_encrypted() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PSK_Database::get
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:19,1
    - Dst: std::string
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:20,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:20,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:20,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: Botan::PSK_Database::get_str
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - Botan::PSK_Database::get
    - std::string
    - secure_vector::size
    - cast_uint8_ptr_to_char
    - secure_vector::data
    linkageType: ''
    returnType: std::string
    signature: std::string PSK_Database::get_str(std::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PSK_Database::set
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:24,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:24,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:24,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - psk
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::PSK_Database::set_str
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - cast_char_ptr_to_uint8
    - Botan::PSK_Database::set
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void PSK_Database::set_str(std::string_view name, std::string_view
      psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:28,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:29,1
    - Dst: set_key
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:30,1
    - Dst: set_key
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:32,1
    - Dst: process
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:32,1
    - Dst: set_key
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:33,1
    - Dst: process
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' master_key'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: Botan::Encrypted_PSK_Database::Encrypted_PSK_Database
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - set_key
    - process
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database::Encrypted_PSK_Database(const secure_vector<uint8_t>&
      master_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Encrypted_PSK_Database::~Encrypted_PSK_Database()
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database::~Encrypted_PSK_Database()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kv_get_all
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:39,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:45,1
    - Dst: nist_key_unwrap_padded
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:46,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:46,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:46,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:48,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:48,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:48,1
    - Dst: std::set::insert
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: Botan::Encrypted_PSK_Database::list_names
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - cast_uint8_ptr_to_char
    - std::set::insert
    - nist_key_unwrap_padded
    - kv_get_all
    - base64_decode
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> Encrypted_PSK_Database::list_names() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nist_key_wrap_padded
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:58,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:58,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:58,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:58,1
    - Dst: Botan::Encrypted_PSK_Database::kv_del
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:60,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Botan::Encrypted_PSK_Database::remove
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - base64_encode
    - nist_key_wrap_padded
    - Botan::Encrypted_PSK_Database::kv_del
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database::remove(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nist_key_wrap_padded
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:65,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:65,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:65,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:65,1
    - Dst: kv_get
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:67,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:67,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:69,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:70,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:73,1
    - Dst: new_object
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:75,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:76,1
    - Dst: process
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:76,1
    - Dst: nist_key_unwrap_padded
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:78,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:78,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: Botan::Encrypted_PSK_Database::get
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - kv_get
    - auto::set_key
    - std::string_view::size
    - std::string_view::data
    - base64_encode
    - nist_key_unwrap_padded
    - new_object
    - nist_key_wrap_padded
    - Invalid_Argument
    - process
    - base64_decode
    - cast_char_ptr_to_uint8
    - secure_vector::size
    - std::string::empty
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Encrypted_PSK_Database::get(std::string_view
      name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nist_key_wrap_padded
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:88,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:88,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:88,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:88,1
    - Dst: new_object
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:90,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:91,1
    - Dst: process
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:91,1
    - Dst: nist_key_wrap_padded
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:92,1
    - Dst: Botan::Encrypted_PSK_Database::kv_set
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:94,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:94,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - name
    - val
    - len
    argTypes:
    - std::string_view
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: Botan::Encrypted_PSK_Database::set
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - std::string_view::size
    - Botan::Encrypted_PSK_Database::kv_set
    - std::string_view::data
    - base64_encode
    - new_object
    - nist_key_wrap_padded
    - process
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database::set(std::string_view name, const uint8_t
      val[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:16,1
    - Dst: create_table
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' master_key'
    - db
    - table_name
    argTypes:
    - secure_vector<uint8_t>
    - std::shared_ptr<SQL_Database>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: Botan::Encrypted_PSK_Database_SQL::Encrypted_PSK_Database_SQL
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db_sql.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - create_table
    linkageType: ''
    returnType: void
    signature: "void Encrypted_PSK_Database_SQL::Encrypted_PSK_Database_SQL(const
      secure_vector<uint8_t>& master_key,\n                                                       std::shared_ptr<SQL_Database>
      db,\n                                                       std::string_view
      table_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Encrypted_PSK_Database_SQL::~Encrypted_PSK_Database_SQL()
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db_sql.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database_SQL::~Encrypted_PSK_Database_SQL()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:23,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:24,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Botan::Encrypted_PSK_Database_SQL::kv_del
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - auto::bind
    - auto::spin
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database_SQL::kv_del(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:29,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:31,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:32,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: Botan::Encrypted_PSK_Database_SQL::kv_set
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - auto::bind
    - auto::spin
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database_SQL::kv_set(std::string_view name, std::string_view
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:38,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:40,1
    - Dst: auto::step
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:42,1
    - Dst: auto::get_str
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: Botan::Encrypted_PSK_Database_SQL::kv_get
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - auto::step
    - auto::get_str
    - auto::bind
    linkageType: ''
    returnType: std::string
    signature: std::string Encrypted_PSK_Database_SQL::kv_get(std::string_view name)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:51,1
    - Dst: auto::step
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:53,1
    - Dst: std::set::insert
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:54,1
    - Dst: auto::get_str
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: Botan::Encrypted_PSK_Database_SQL::kv_get_all
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - auto::step
    - auto::get_str
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> Encrypted_PSK_Database_SQL::kv_get_all() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:31,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:33,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:35,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:37,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - alg_id
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: Botan::get_pbkdf_prf
    functionSourceFile: /src/botan/src/lib/passhash/passhash9/passhash9.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::create
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> get_pbkdf_prf(uint8_t alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:50,1
    - Dst: Botan::get_pbkdf_prf
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:52,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:55,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:55,1
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:61,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:61,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:61,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:66,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:67,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:67,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:68,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:68,1
    - Dst: PKCS5_PBKDF2::derive_key
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:70,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:70,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:70,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pass
    - ' rng'
    - work_factor
    - alg_id
    argTypes:
    - std::string_view
    - RandomNumberGenerator
    - uint16_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 73
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 73
    functionName: Botan::generate_passhash9
    functionSourceFile: /src/botan/src/lib/passhash/passhash9/passhash9.cpp
    functionUses: 3
    functionsReached:
    - Botan::base64_encode
    - Botan::randomize
    - Botan::to_string
    - secure_vector::push_back
    - Botan::get_byte
    - Invalid_Argument
    - PKCS5_PBKDF2::derive_key
    - BOTAN_ARG_CHECK
    - Botan::get_pbkdf_prf
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: std::string
    signature: "std::string generate_passhash9(std::string_view pass,\n                               RandomNumberGenerator&
      rng,\n                               uint16_t work_factor,\n                               uint8_t
      alg_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:80,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:84,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:90,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:90,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:90,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:92,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:106,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:106,1
    - Dst: Botan::get_pbkdf_prf
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:111,1
    - Dst: PKCS5_PBKDF2::derive_key
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:120,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:125,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pass
    - hash
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 126
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 126
    functionName: Botan::check_passhash9
    functionSourceFile: /src/botan/src/lib/passhash/passhash9/passhash9.cpp
    functionUses: 2
    functionsReached:
    - std::string_view::size
    - Botan::CT::is_equal
    - std::string_view::data
    - Botan::base64_decode
    - Botan::to_string
    - secure_vector::data
    - Invalid_Argument
    - PKCS5_PBKDF2::derive_key
    - Botan::get_pbkdf_prf
    - secure_vector::size
    - Botan::size
    linkageType: ''
    returnType: bool
    signature: bool check_passhash9(std::string_view pass, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_pbkdf_prf
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - alg_id
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: Botan::is_passhash9_alg_supported
    functionSourceFile: /src/botan/src/lib/passhash/passhash9/passhash9.cpp
    functionUses: 3
    functionsReached:
    - Botan::get_pbkdf_prf
    linkageType: ''
    returnType: bool
    signature: bool is_passhash9_alg_supported(uint8_t alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:24,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:25,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:26,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:28,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:29,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:31,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:32,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:33,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:34,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:37,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:38,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:39,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:40,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:41,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:42,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:43,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:44,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: Botan::base64_to_bcrypt_encoding
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::CT::Mask::is_within_range
    - auto::select
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t base64_to_bcrypt_encoding(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:51,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:52,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:54,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:55,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:56,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:58,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:59,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:60,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:61,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:64,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:65,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:66,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:67,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:68,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:69,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:70,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:71,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: Botan::bcrypt_encoding_to_base64
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::CT::Mask::is_within_range
    - auto::select
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t bcrypt_encoding_to_base64(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:78,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:80,1
    - Dst: std::string::back
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:80,1
    - Dst: std::string::pop_back
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:81,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:84,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:85,1
    - Dst: Botan::base64_to_bcrypt_encoding
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:85,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: Botan::bcrypt_base64_encode
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::base64_encode
    - std::string::back
    - static_cast<char>
    - static_cast<uint8_t>
    - Botan::base64_to_bcrypt_encoding
    - std::string::size
    - std::string::pop_back
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string bcrypt_base64_encode(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:93,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:95,1
    - Dst: Botan::unlock
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:98,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: Botan::bcrypt_base64_decode
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::unlock
    - std::string_view::size
    - std::string::push_back
    - Botan::base64_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> bcrypt_base64_decode(std::string_view input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:108,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:116,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:117,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:117,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:117,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:117,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:117,1
    - Dst: Blowfish::salted_set_key
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:120,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:121,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:121,1
    - Dst: data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:121,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:121,1
    - Dst: Blowfish::encrypt_n
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:126,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:126,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:126,1
    - Dst: Botan::bcrypt_base64_encode
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:129,1
    - Dst: data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:129,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:129,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:131,1
    - Dst: std::string::length
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:132,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:136,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:139,1
    - Dst: Botan::bcrypt_base64_encode
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:140,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:140,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pass
    - ' salt'
    - work_factor
    - version
    argTypes:
    - std::string_view
    - std::vector<uint8_t>
    - uint16_t
    - char
    constantsTouched: []
    func_position:
      end: 141
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 141
    functionName: Botan::make_bcrypt
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::bcrypt_base64_encode
    - std::string_view::size
    - Botan::fmt
    - std::string_view::data
    - Botan::to_string
    - Botan::size
    - data
    - Blowfish::encrypt_n
    - Blowfish::salted_set_key
    - BOTAN_ARG_CHECK
    - std::string::substr
    - std::vector::data
    - Botan::cast_char_ptr_to_uint8
    - std::vector::size
    - Botan::copy_mem
    - secure_vector::data
    - std::string::length
    - std::string_view::length
    - secure_vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string make_bcrypt(std::string_view pass, const std::vector<uint8_t>&
      salt, uint16_t work_factor, char version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:152,1
    - Dst: std::string
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:152,1
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:156,1
    - Dst: Botan::make_bcrypt
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pass
    - ' rng'
    - work_factor
    - version
    argTypes:
    - std::string_view
    - RandomNumberGenerator
    - uint16_t
    - char
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: Botan::generate_bcrypt
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 4
    functionsReached:
    - std::string
    - Invalid_Argument
    - Botan::make_bcrypt
    - Botan::random_vec
    linkageType: ''
    returnType: std::string
    signature: std::string generate_bcrypt(std::string_view pass, RandomNumberGenerator&
      rng, uint16_t work_factor, char version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:161,1
    - Dst: Botan::bcrypt_base64_decode
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:173,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:173,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:174,1
    - Dst: Botan::make_bcrypt
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:178,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:180,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:180,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:180,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:180,1
    - Dst: std::string::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:180,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - pass
    - hash
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 182
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 182
    functionName: Botan::check_bcrypt
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 2
    functionsReached:
    - std::vector::size
    - Botan::cast_char_ptr_to_uint8
    - std::string_view::size
    - Botan::CT::is_equal
    - std::string_view::data
    - std::string::size
    - std::string::data
    - std::string_view::substr
    - Botan::bcrypt_base64_decode
    - Botan::make_bcrypt
    linkageType: ''
    returnType: bool
    signature: bool check_bcrypt(std::string_view pass, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:22,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:22,1
    - Dst: std::string::resize
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:23,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: Botan::strip_padding
    functionSourceFile: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::empty
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: std::string strip_padding(std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - y
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: Botan::argon2_family
    functionSourceFile: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::string
    signature: std::string argon2_family(uint8_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:52,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:52,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:52,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:56,1
    - Dst: Botan::argon2_family
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:56,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:57,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:59,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:59,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:59,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:59,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:59,1
    - Dst: Botan::strip_padding
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:61,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:61,1
    - Dst: Botan::strip_padding
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:62,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:62,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 9
    argNames:
    - password
    - password_len
    - ' rng'
    - p
    - M
    - t
    - y
    - salt_len
    - output_len
    argTypes:
    - char*
    - size_t
    - RandomNumberGenerator
    - size_t
    - size_t
    - size_t
    - uint8_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 75
    functionName: Botan::argon2_generate_pwhash
    functionSourceFile: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp
    functionUses: 2
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::base64_encode
    - Botan::fmt
    - Botan::argon2_family
    - Botan::randomize
    - Botan::PasswordHashFamily::create_or_throw
    - auto::derive_key
    - Botan::strip_padding
    - auto::from_params
    linkageType: ''
    returnType: std::string
    signature: "std::string argon2_generate_pwhash(const char* password,\n                                   size_t
      password_len,\n                                   RandomNumberGenerator& rng,\n
      \                                  size_t p,\n                                   size_t
      M,\n                                   size_t t,\n                                   uint8_t
      y,\n                                   size_t salt_len,\n                                   size_t
      output_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:78,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:80,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:100,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:102,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:109,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:111,1
    - Dst: Botan::base64_decode_max_output
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:128,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:128,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:129,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:129,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:129,1
    - Dst: Botan::base64_decode_max_output
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:131,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:131,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:132,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:132,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:132,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:134,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:138,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:139,1
    - Dst: Botan::argon2_family
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:139,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:140,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:142,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:142,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:142,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:142,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:142,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:144,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:144,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:144,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:144,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - password
    - password_len
    - input_hash
    argTypes:
    - char*
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 145
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 145
    functionName: Botan::argon2_check_pwhash
    functionSourceFile: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - Botan::CT::is_equal
    - Botan::argon2_family
    - Botan::base64_decode
    - Botan::PasswordHashFamily::create_or_throw
    - auto::derive_key
    - Botan::base64_decode_max_output
    - Botan::split_on
    - std::vector::resize
    - Botan::size
    - auto::from_params
    linkageType: ''
    returnType: bool
    signature: bool argon2_check_pwhash(const char* password, size_t password_len,
      std::string_view input_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/x509/x509_ext.cpp:33,1
    - Dst: Botan::Cert_Extension::static_oid
      Src: /src/botan/src/lib/x509/x509_ext.cpp:33,1
    - Dst: std::make_unique<T>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: Botan::make_extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Botan::Cert_Extension::static_oid
    - BOTAN_DEBUG_ASSERT
    - std::make_unique<T>
    linkageType: ''
    returnType: auto
    signature: auto make_extension([[maybe_unused]] const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_sub_element_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:38,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:42,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:44,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:46,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:48,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:50,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:52,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:54,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:56,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:58,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:60,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:62,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:64,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:66,1
    - Dst: Botan::is_sub_element_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:70,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:74,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:76,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:78,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 85
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 85
    functionName: Botan::extension_from_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_sub_element_of
    - Botan::make_extension
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> extension_from_oid(const OID&
      oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:91,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:91,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' tn'
    argTypes:
    - ASN1_String
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: Botan::is_valid_telephone_number
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - value
    - Botan::size
    - Botan::empty
    linkageType: ''
    returnType: bool
    signature: bool is_valid_telephone_number(const ASN1_String& tn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extension_from_oid
      Src: /src/botan/src/lib/x509/x509_ext.cpp:110,1
    - Dst: std::make_unique<Cert_Extension::Unknown_Extension>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:114,1
    - Dst: auto::decode_inner
      Src: /src/botan/src/lib/x509/x509_ext.cpp:118,1
    - Dst: std::make_unique<Cert_Extension::Unknown_Extension>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:120,1
    - Dst: auto::decode_inner
      Src: /src/botan/src/lib/x509/x509_ext.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' oid'
    - critical
    - ' body'
    argTypes:
    - OID
    - bool
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: Botan::Extensions::create_extn_obj
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - auto::decode_inner
    - std::make_unique<Cert_Extension::Unknown_Extension>
    - extension_from_oid
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: "std::unique_ptr<Certificate_Extension> Extensions::create_extn_obj(const
      OID& oid,\n                                                                   bool
      critical,\n                                                                   const
      std::vector<uint8_t>& body)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/x509/x509_ext.cpp:127,1
    - Dst: get
      Src: /src/botan/src/lib/x509/x509_ext.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: '& Extensions::Extensions_Info::obj() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    - get
    linkageType: ''
    returnType: Certificate_Extension
    signature: Certificate_Extension & Extensions::Extensions_Info::obj() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: Botan::Certificate_Extension::validate
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Certificate_Extension::validate(const X509_Certificate& /*unused*/,\n
      \                                    const X509_Certificate& /*unused*/,\n                                     const
      std::vector<X509_Certificate>& /*unused*/,\n                                     std::vector<std::set<Certificate_Status_Code>>&
      /*unused*/,\n                                     size_t /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/lib/x509/x509_ext.cpp:145,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:145,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_name
      Src: /src/botan/src/lib/x509/x509_ext.cpp:146,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_ext.cpp:147,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:150,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:152,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/x509_ext.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - extn
    - critical
    argTypes:
    - std::unique_ptr<Certificate_Extension>
    - bool
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: Botan::Extensions::add
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 4
    functionsReached:
    - contains
    - emplace
    - std::unique_ptr<Certificate_Extension>::oid_name
    - Invalid_Argument
    - std::unique_ptr<Certificate_Extension>::oid_of
    - push_back
    linkageType: ''
    returnType: void
    signature: void Extensions::add(std::unique_ptr<Certificate_Extension> extn, bool
      critical)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/lib/x509/x509_ext.cpp:157,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:157,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:161,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:163,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/x509_ext.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - extn
    - critical
    argTypes:
    - std::unique_ptr<Certificate_Extension>
    - bool
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: Botan::Extensions::add_new
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<Certificate_Extension>::oid_of
    - contains
    - emplace
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool Extensions::add_new(std::unique_ptr<Certificate_Extension> extn,
      bool critical)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/botan/src/lib/x509/x509_ext.cpp:172,1
    - Dst: find
      Src: /src/botan/src/lib/x509/x509_ext.cpp:172,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:172,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: Botan::Extensions::remove
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - erase
    - begin
    linkageType: ''
    returnType: bool
    signature: bool Extensions::remove(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Extensions::remove
      Src: /src/botan/src/lib/x509/x509_ext.cpp:180,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:180,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:182,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:184,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/x509_ext.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - extn
    - critical
    argTypes:
    - std::unique_ptr<Certificate_Extension>
    - bool
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: Botan::Extensions::replace
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<Certificate_Extension>::oid_of
    - Botan::Extensions::remove
    - emplace
    - push_back
    linkageType: ''
    returnType: void
    signature: void Extensions::replace(std::unique_ptr<Certificate_Extension> extn,
      bool critical)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/x509/x509_ext.cpp:189,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: Botan::Extensions::extension_set
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool Extensions::extension_set(const OID& oid) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/x509/x509_ext.cpp:193,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:194,1
    - Dst: auto::second::is_critical
      Src: /src/botan/src/lib/x509/x509_ext.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: Botan::Extensions::critical_extension_set
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - auto::second::is_critical
    linkageType: ''
    returnType: bool
    signature: bool Extensions::critical_extension_set(const OID& oid) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/x509/x509_ext.cpp:201,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:202,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_ext.cpp:203,1
    - Dst: auto::second::bits
      Src: /src/botan/src/lib/x509/x509_ext.cpp:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: Botan::Extensions::get_extension_bits
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - auto::second::bits
    - Invalid_Argument
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Extensions::get_extension_bits(const OID& oid)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/x509/x509_ext.cpp:210,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:211,1
    - Dst: auto::second::obj
      Src: /src/botan/src/lib/x509/x509_ext.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: Botan::Extensions::get_extension_object
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - auto::second::obj
    linkageType: ''
    returnType: Certificate_Extension
    signature: Certificate_Extension * Extensions::get_extension_object(const OID&
      oid) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Extensions::get_extension_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:219,1
    - Dst: Certificate_Extension*::copy
      Src: /src/botan/src/lib/x509/x509_ext.cpp:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: Botan::Extensions::get
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Botan::Extensions::get_extension_object
    - Certificate_Extension*::copy
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> Extensions::get(const OID& oid)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/x509/x509_ext.cpp:227,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:227,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:229,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_ext.cpp:229,1
    - Dst: second::obj
      Src: /src/botan/src/lib/x509/x509_ext.cpp:229,1
    - Dst: second::is_critical
      Src: /src/botan/src/lib/x509/x509_ext.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: Botan::Extensions::extensions
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - second::obj
    - std::vector::reserve
    - std::make_pair
    - size
    - second::is_critical
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::pair<std::unique_ptr<Certificate_Extension>, bool>>
    signature: std::vector<std::pair<std::unique_ptr<Certificate_Extension>, bool>>
      Extensions::extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::map::emplace
      Src: /src/botan/src/lib/x509/x509_ext.cpp:237,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_ext.cpp:237,1
    - Dst: second::bits
      Src: /src/botan/src/lib/x509/x509_ext.cpp:237,1
    - Dst: second::is_critical
      Src: /src/botan/src/lib/x509/x509_ext.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: Botan::Extensions::extensions_raw
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - second::bits
    - std::map::emplace
    - second::is_critical
    - std::make_pair
    linkageType: ''
    returnType: std::map<OID, std::pair<std::vector<uint8_t>, bool>>
    signature: std::map<OID, std::pair<std::vector<uint8_t>, bool>> Extensions::extensions_raw()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: second::bits
      Src: /src/botan/src/lib/x509/x509_ext.cpp:252,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' to_object'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 261
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 261
    functionName: Botan::Extensions::encode_into
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - second::bits
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void Extensions::encode_into(DER_Encoder& to_object) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/x509/x509_ext.cpp:267,1
    - Dst: clear
      Src: /src/botan/src/lib/x509/x509_ext.cpp:268,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:270,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/x509_ext.cpp:272,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:277,1
    - Dst: Botan::Extensions::create_extn_obj
      Src: /src/botan/src/lib/x509/x509_ext.cpp:283,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:286,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/x509_ext.cpp:287,1
    - Dst: BER_Decoder::verify_end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' from_source'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 290
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 290
    functionName: Botan::Extensions::decode_from
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - clear
    - BER_Decoder::start_sequence
    - BER_Decoder::more_items
    - emplace
    - BER_Decoder::verify_end
    - Botan::Extensions::create_extn_obj
    - push_back
    linkageType: ''
    returnType: void
    signature: void Extensions::decode_from(BER_Decoder& from_source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509_ext.cpp:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: Botan::Cert_Extension::Basic_Constraints::get_path_limit
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: size_t
    signature: size_t Basic_Constraints::get_path_limit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:309,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: Botan::Cert_Extension::Basic_Constraints::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Basic_Constraints::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 329
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 329
    functionName: Botan::Cert_Extension::Basic_Constraints::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void Basic_Constraints::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:335,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:336,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:343,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:343,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:344,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:345,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:346,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 352
    functionName: Botan::Cert_Extension::Key_Usage::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - empty
    - std::vector::push_back
    - Encoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Key_Usage::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:360,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/x509/x509_ext.cpp:362,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/x509_ext.cpp:364,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/x509_ext.cpp:364,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:370,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/x509_ext.cpp:375,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/x509/x509_ext.cpp:376,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/x509_ext.cpp:377,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/x509/x509_ext.cpp:378,1
    - Dst: Key_Constraints
      Src: /src/botan/src/lib/x509/x509_ext.cpp:381,1
    - Dst: Key_Constraints
      Src: /src/botan/src/lib/x509/x509_ext.cpp:383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 385
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 385
    functionName: Botan::Cert_Extension::Key_Usage::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Key_Constraints
    - BER_Decoding_Error
    - BER_Object::length
    - make_uint16
    - BER_Object::assert_is_a
    - BER_Decoder::get_next_object
    linkageType: ''
    returnType: void
    signature: void Key_Usage::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: Botan::Cert_Extension::Subject_Key_ID::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Subject_Key_ID::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: Botan::Cert_Extension::Subject_Key_ID::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void Subject_Key_ID::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/x509/x509_ext.cpp:407,1
    - Dst: resize
      Src: /src/botan/src/lib/x509/x509_ext.cpp:409,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/x509/x509_ext.cpp:409,1
    - Dst: auto::update
      Src: /src/botan/src/lib/x509/x509_ext.cpp:411,1
    - Dst: auto::final
      Src: /src/botan/src/lib/x509/x509_ext.cpp:412,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_ext.cpp:412,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:416,1
    - Dst: resize
      Src: /src/botan/src/lib/x509/x509_ext.cpp:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' pub_key'
    - hash_name
    argTypes:
    - std::vector<uint8_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 4
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: Botan::Cert_Extension::Subject_Key_ID::Subject_Key_ID
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - auto::output_length
    - data
    - auto::update
    - Botan::HashFunction::create_or_throw
    - size
    - auto::final
    - resize
    linkageType: ''
    returnType: void
    signature: void Subject_Key_ID::Subject_Key_ID(const std::vector<uint8_t>& pub_key,
      std::string_view hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:426,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: Botan::Cert_Extension::Authority_Key_ID::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - ASN1_Type
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Authority_Key_ID::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: Botan::Cert_Extension::Authority_Key_ID::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void Authority_Key_ID::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: Botan::Cert_Extension::Subject_Alternative_Name::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Subject_Alternative_Name::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: Botan::Cert_Extension::Issuer_Alternative_Name::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Issuer_Alternative_Name::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: Botan::Cert_Extension::Subject_Alternative_Name::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void Subject_Alternative_Name::decode_inner(const std::vector<uint8_t>&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: Botan::Cert_Extension::Issuer_Alternative_Name::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void Issuer_Alternative_Name::decode_inner(const std::vector<uint8_t>&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: Botan::Cert_Extension::Extended_Key_Usage::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Extended_Key_Usage::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: Botan::Cert_Extension::Extended_Key_Usage::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void Extended_Key_Usage::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/x509_ext.cpp:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: Botan::Cert_Extension::Name_Constraints::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Name_Constraints::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:500,1
    - Dst: BER_Decoder::decode_optional_list
      Src: /src/botan/src/lib/x509/x509_ext.cpp:503,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:503,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:504,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:505,1
    - Dst: BER_Decoder::decode_optional_list
      Src: /src/botan/src/lib/x509/x509_ext.cpp:510,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:510,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:511,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:512,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:516,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:518,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:518,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:519,1
    - Dst: NameConstraints
      Src: /src/botan/src/lib/x509/x509_ext.cpp:522,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509_ext.cpp:522,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509_ext.cpp:522,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 523
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 523
    functionName: Botan::Cert_Extension::Name_Constraints::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::move
    - BER_Decoder::start_sequence
    - Decoding_Error
    - BER_Decoder::decode_optional_list
    - NameConstraints
    - ASN1_Type
    - BER_Decoder::end_cons
    linkageType: ''
    returnType: void
    signature: void Name_Constraints::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: permitted
      Src: /src/botan/src/lib/x509/x509_ext.cpp:530,1
    - Dst: excluded
      Src: /src/botan/src/lib/x509/x509_ext.cpp:530,1
    - Dst: is_CA_cert
      Src: /src/botan/src/lib/x509/x509_ext.cpp:531,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:532,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:539,1
    - Dst: is_permitted
      Src: /src/botan/src/lib/x509/x509_ext.cpp:541,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:542,1
    - Dst: is_excluded
      Src: /src/botan/src/lib/x509/x509_ext.cpp:546,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:547,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - ' subject'
    - ' cert_path'
    - ' cert_status'
    - pos
    argTypes:
    - X509_Certificate
    - std::vector<X509_Certificate>
    - std::vector<std::set<Certificate_Status_Code>>
    - size_t
    constantsTouched: []
    func_position:
      end: 552
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 552
    functionName: Botan::Cert_Extension::Name_Constraints::validate
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - is_excluded
    - at
    - is_CA_cert
    - permitted
    - excluded
    - is_permitted
    linkageType: ''
    returnType: void
    signature: "void Name_Constraints::validate(const X509_Certificate& subject,\n
      \                               const X509_Certificate& /*issuer*/,\n                                const
      std::vector<X509_Certificate>& cert_path,\n                                std::vector<std::set<Certificate_Status_Code>>&
      cert_status,\n                                size_t pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 561
    functionName: Botan::Cert_Extension::Policy_Information::Policy_Information
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Policy_Information()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: Botan::Cert_Extension::Policy_Information::Policy_Information
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Policy_Information(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: '& oid() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OID
    signature: OID & oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' codec'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: Botan::Cert_Extension::Policy_Information::encode_into
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void encode_into(DER_Encoder& codec) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' codec'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: Botan::Cert_Extension::Policy_Information::decode_from
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void decode_from(BER_Decoder& codec) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/x509/x509_ext.cpp:585,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:585,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:587,1
    - Dst: Policy_Information
      Src: /src/botan/src/lib/x509/x509_ext.cpp:587,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 593
    functionName: Botan::Cert_Extension::Certificate_Policies::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Policy_Information
    - std::vector::reserve
    - DER_Encoder
    - size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Policies::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:601,1
    - Dst: clear
      Src: /src/botan/src/lib/x509/x509_ext.cpp:602,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:604,1
    - Dst: oid
      Src: /src/botan/src/lib/x509/x509_ext.cpp:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 606
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 606
    functionName: Botan::Cert_Extension::Certificate_Policies::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - oid
    - clear
    - BER_Decoder
    - push_back
    linkageType: ''
    returnType: void
    signature: void Certificate_Policies::decode_inner(const std::vector<uint8_t>&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:613,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:613,1
    - Dst: std::set::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:614,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:614,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' cert_status'
    - pos
    argTypes:
    - std::vector<std::set<Certificate_Status_Code>>
    - size_t
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: Botan::Cert_Extension::Certificate_Policies::validate
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - at
    - end
    - std::set::size
    - size
    - begin
    linkageType: ''
    returnType: void
    signature: "void Certificate_Policies::validate(const X509_Certificate& /*subject*/,\n
      \                                   const X509_Certificate& /*issuer*/,\n                                    const
      std::vector<X509_Certificate>& /*cert_path*/,\n                                    std::vector<std::set<Certificate_Status_Code>>&
      cert_status,\n                                    size_t pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:623,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:625,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:627,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_ext.cpp:628,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:629,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:629,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:636,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_ext.cpp:637,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:638,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:638,1
    - Dst: DER_Encoder::end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 644
    functionName: Botan::Cert_Extension::Authority_Information_Access::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - ASN1_String::value
    - empty
    - Botan::OID::from_string
    - DER_Encoder::start_sequence
    - ASN1_Type
    - DER_Encoder::end_cons
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Authority_Information_Access::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:647,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/x509_ext.cpp:649,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:652,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:654,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_ext.cpp:656,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:657,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/x509_ext.cpp:659,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/x509_ext.cpp:660,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_ext.cpp:663,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:664,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/x509_ext.cpp:666,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:667,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/x509_ext.cpp:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 671
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 671
    functionName: Botan::Cert_Extension::Authority_Information_Access::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::decode
    - BER_Decoder::start_sequence
    - BER_Decoder::more_items
    - BER_Object::is_a
    - Botan::ASN1::to_string
    - BER_Decoder
    - Botan::OID::from_string
    - BER_Decoder::get_next_object
    - push_back
    linkageType: ''
    returnType: void
    signature: void Authority_Information_Access::decode_inner(const std::vector<uint8_t>&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509_ext.cpp:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: Botan::Cert_Extension::CRL_Number::get_crl_number
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: size_t
    signature: size_t CRL_Number::get_crl_number() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509_ext.cpp:688,1
    - Dst: std::make_unique<CRL_Number>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 691
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 691
    functionName: Botan::Cert_Extension::CRL_Number::copy
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - std::make_unique<CRL_Number>
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> CRL_Number::copy() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 700
    functionName: Botan::Cert_Extension::CRL_Number::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> CRL_Number::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: Botan::Cert_Extension::CRL_Number::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void CRL_Number::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:715,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: Botan::Cert_Extension::CRL_ReasonCode::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - static_cast<size_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> CRL_ReasonCode::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:724,1
    - Dst: static_cast<CRL_Code>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: Botan::Cert_Extension::CRL_ReasonCode::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    - static_cast<CRL_Code>
    linkageType: ''
    returnType: void
    signature: void CRL_ReasonCode::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 732
    functionName: Botan::Cert_Extension::CRL_Distribution_Points::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> CRL_Distribution_Points::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:735,1
    - Dst: point
      Src: /src/botan/src/lib/x509/x509_ext.cpp:740,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:747,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/lib/x509/x509_ext.cpp:747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 748
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 748
    functionName: Botan::Cert_Extension::CRL_Distribution_Points::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - point
    - BER_Decoder
    - std::stringstream::str
    - push_back
    linkageType: ''
    returnType: void
    signature: void CRL_Distribution_Points::decode_inner(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uris
      Src: /src/botan/src/lib/x509/x509_ext.cpp:751,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:753,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/x509_ext.cpp:754,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:758,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:759,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:760,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 766
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 766
    functionName: CRL_Distribution_Points::Distribution_Point::encode_into(DER_Encoder&
      der) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - auto::empty
    - Not_Implemented
    - ASN1_Type
    - uris
    linkageType: ''
    returnType: void
    signature: void CRL_Distribution_Points::Distribution_Point::encode_into(DER_Encoder&
      der) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:769,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ber'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 778
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 778
    functionName: CRL_Distribution_Points::Distribution_Point::decode_from(BER_Decoder&
      ber)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - ASN1_Type
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void CRL_Distribution_Points::Distribution_Point::decode_from(BER_Decoder&
      ber)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/x509_ext.cpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 782
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 782
    functionName: Botan::Cert_Extension::CRL_Issuing_Distribution_Point::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> CRL_Issuing_Distribution_Point::encode_inner()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 786
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 786
    functionName: Botan::Cert_Extension::CRL_Issuing_Distribution_Point::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void CRL_Issuing_Distribution_Point::decode_inner(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/x509_ext.cpp:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 790
    functionName: TNAuthList::Entry::encode_into(DER_Encoder&) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void TNAuthList::Entry::encode_into(DER_Encoder&) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:793,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:800,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509_ext.cpp:801,1
    - Dst: RangeContainer
      Src: /src/botan/src/lib/x509/x509_ext.cpp:804,1
    - Dst: std::get<RangeContainer>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:805,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:806,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/x509_ext.cpp:807,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:810,1
    - Dst: is_valid_telephone_number
      Src: /src/botan/src/lib/x509/x509_ext.cpp:811,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:812,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:812,1
    - Dst: TelephoneNumberRangeData::start::value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:812,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:815,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:817,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:817,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:820,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509_ext.cpp:820,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:822,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:824,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:825,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:830,1
    - Dst: is_valid_telephone_number
      Src: /src/botan/src/lib/x509/x509_ext.cpp:831,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:832,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:832,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:832,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509_ext.cpp:834,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:836,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:836,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - ' ber'
    argTypes:
    - class BER_Decoder
    constantsTouched: []
    func_position:
      end: 838
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 838
    functionName: TNAuthList::Entry::decode_from(class BER_Decoder& ber)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BER_Decoder::decode
    - BER_Decoder::more_items
    - is_valid_telephone_number
    - BER_Decoder::end_cons
    - ASN1_String::value
    - RangeContainer
    - get_next_object
    - BER_Decoder
    - empty
    - fmt
    - emplace_back
    - Decoding_Error
    - TelephoneNumberRangeData::start::value
    - std::get<RangeContainer>
    linkageType: ''
    returnType: void
    signature: void TNAuthList::Entry::decode_from(class BER_Decoder& ber)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/x509_ext.cpp:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 842
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 842
    functionName: Botan::Cert_Extension::TNAuthList::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> TNAuthList::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:845,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:846,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 849
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 849
    functionName: Botan::Cert_Extension::TNAuthList::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BER_Decoder
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void TNAuthList::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/x509/x509_ext.cpp:852,1
    - Dst: type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:852,1
    - Dst: std::get<ASN1_String>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 854
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 854
    functionName: '& TNAuthList::Entry::service_provider_code() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::get<ASN1_String>
    - type
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: std::string
    signature: std::string & TNAuthList::Entry::service_provider_code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/x509/x509_ext.cpp:857,1
    - Dst: type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:857,1
    - Dst: std::get<RangeContainer>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: '& TNAuthList::Entry::telephone_number_range() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - type
    - BOTAN_STATE_CHECK
    - std::get<RangeContainer>
    linkageType: ''
    returnType: TNAuthList::Entry::RangeContainer
    signature: TNAuthList::Entry::RangeContainer & TNAuthList::Entry::telephone_number_range()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/x509/x509_ext.cpp:862,1
    - Dst: type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:862,1
    - Dst: std::get<ASN1_String>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 864
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 864
    functionName: '& TNAuthList::Entry::telephone_number() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::get<ASN1_String>
    - type
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: std::string
    signature: std::string & TNAuthList::Entry::telephone_number() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 870
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 870
    functionName: Botan::Cert_Extension::IPAddressBlocks::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> IPAddressBlocks::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 874
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 874
    functionName: Botan::Cert_Extension::IPAddressBlocks::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:877,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:879,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:879,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:881,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:882,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:882,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:885,1
    - Dst: std::holds_alternative<IPAddressChoice<Version::IPv4>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:887,1
    - Dst: encode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:888,1
    - Dst: std::get<IPAddressChoice<Version::IPv4>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:888,1
    - Dst: encode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:890,1
    - Dst: std::get<IPAddressChoice<Version::IPv6>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:890,1
    - Dst: end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' into'
    argTypes:
    - Botan::DER_Encoder
    constantsTouched: []
    func_position:
      end: 893
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 893
    functionName: IPAddressBlocks::IPAddressFamily::encode_into(Botan::DER_Encoder&
      into) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - std::get<IPAddressChoice<Version::IPv6>>
    - std::get<IPAddressChoice<Version::IPv4>>
    - get_byte<1>
    - has_value
    - value
    - std::holds_alternative<IPAddressChoice<Version::IPv4>>
    - encode
    - add_object
    - get_byte<0>
    - std::vector::push_back
    - end_cons
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddressFamily::encode_into(Botan::DER_Encoder&
      into) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:896,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:898,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:898,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:898,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:901,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:904,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:908,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:919,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:923,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:926,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:929,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - Botan::BER_Decoder
    constantsTouched: []
    func_position:
      end: 930
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 930
    functionName: IPAddressBlocks::IPAddressFamily::decode_from(Botan::BER_Decoder&
      from)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::decode
    - peek_next_object
    - start_sequence
    - Decoding_Error
    - fmt
    - static_cast<uint32_t>
    - BER_Decoder::end_cons
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddressFamily::decode_from(Botan::BER_Decoder&
      from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: safi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:946,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:947,1
    - Dst: safi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:947,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:950,1
    - Dst: std::map::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:954,1
    - Dst: std::map::end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:954,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_ext.cpp:959,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:959,1
    - Dst: std::holds_alternative<IPAddressChoice<Version::IPv4>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:962,1
    - Dst: addr_choice
      Src: /src/botan/src/lib/x509/x509_ext.cpp:962,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:963,1
    - Dst: Botan::Cert_Extension::IPAddressBlocks::merge
      Src: /src/botan/src/lib/x509/x509_ext.cpp:963,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:965,1
    - Dst: Botan::Cert_Extension::IPAddressBlocks::merge
      Src: /src/botan/src/lib/x509/x509_ext.cpp:965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 969
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 969
    functionName: Botan::Cert_Extension::IPAddressBlocks::sort_and_merge
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::map::end
    - addr_choice
    - Botan::Cert_Extension::IPAddressBlocks::merge
    - empty
    - safi
    - push_back
    - BOTAN_ASSERT_NOMSG
    - std::holds_alternative<IPAddressChoice<Version::IPv4>>
    - std::vector::push_back
    - static_cast<uint32_t>
    - std::map::begin
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::sort_and_merge()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/x509/x509_ext.cpp:977,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:977,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:980,1
    - Dst: std::get<IPAddressChoice<V>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:987,1
    - Dst: addr_choice
      Src: /src/botan/src/lib/x509/x509_ext.cpp:987,1
    - Dst: IPAddressChoice::ranges
      Src: /src/botan/src/lib/x509/x509_ext.cpp:988,1
    - Dst: IPAddressChoice::ranges
      Src: /src/botan/src/lib/x509/x509_ext.cpp:989,1
    - Dst: IPAddressFamily
      Src: /src/botan/src/lib/x509/x509_ext.cpp:994,1
    - Dst: IPAddressChoice<V>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:994,1
    - Dst: safi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:994,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:999,1
    - Dst: std::get<IPAddressChoice<V>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1005,1
    - Dst: addr_choice
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1005,1
    - Dst: IPAddressChoice::ranges
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1006,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1008,1
    - Dst: safi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1014,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - ' blocks'
    argTypes:
    - std::vector<IPAddressFamily>
    constantsTouched: []
    func_position:
      end: 1016
      start: 972
    functionDepth: 2
    functionLinenumber: 972
    functionLinenumberEnd: 1016
    functionName: Botan::Cert_Extension::IPAddressBlocks::merge
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - addr_choice
    - IPAddressFamily
    - empty
    - safi
    - std::get<IPAddressChoice<V>>
    - BOTAN_ASSERT
    - IPAddressChoice<V>
    - size
    - Decoding_Error
    - std::vector::push_back
    - IPAddressChoice::ranges
    linkageType: ''
    returnType: IPAddressBlocks::IPAddressFamily
    signature: IPAddressBlocks::IPAddressFamily IPAddressBlocks::merge(std::vector<IPAddressFamily>&
      blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<std::span<const T>>::has_value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1041,1
    - Dst: std::optional<std::span<const T>>::value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1045,1
    - Dst: std::optional<std::span<const T>>::value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1045,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1047,1
    - Dst: std::sort
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1051,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1051,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1051,1
    - Dst: min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1051,1
    - Dst: min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1051,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1052,1
    - Dst: T::min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1056,1
    - Dst: T::max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1056,1
    - Dst: T::min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1056,1
    - Dst: T::max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1056,1
    - Dst: std::vector::erase
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1058,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1058,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1058,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    - Dst: T
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    - Dst: T::min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    - Dst: std::max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    - Dst: T::max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    - Dst: T::max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - std::optional<std::span<const T>>
    constantsTouched: []
    func_position:
      end: 1065
      start: 1032
    functionDepth: 3
    functionLinenumber: 1032
    functionLinenumberEnd: 1065
    functionName: Botan::Cert_Extension::sort_and_merge_ranges
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::vector::size
    - T::min
    - T::max
    - std::vector::erase
    - std::sort
    - std::vector::insert
    - std::optional<std::span<const T>>::has_value
    - T
    - std::max
    - std::vector::begin
    - min
    - std::optional<std::span<const T>>::value
    - std::vector::end
    linkageType: ''
    returnType: std::optional<std::vector<T>>
    signature: std::optional<std::vector<T>> sort_and_merge_ranges(std::optional<std::span<const
      T>> ranges)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const T>::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1073,1
    - Dst: std::span<const T>::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1074,1
    - Dst: std::span<const T>::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1076,1
    - Dst: std::span<const T>::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1076,1
    - Dst: std::span<const T>::end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1076,1
    - Dst: auto::min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1078,1
    - Dst: max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1078,1
    - Dst: std::span<const T>::end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1081,1
    - Dst: std::span<const T>::end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1081,1
    - Dst: auto::min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1086,1
    - Dst: min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1086,1
    - Dst: auto::max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1090,1
    - Dst: max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - subject
    - issuer
    argTypes:
    - std::span<const T>
    - std::span<const T>
    constantsTouched: []
    func_position:
      end: 1098
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1098
    functionName: Botan::Cert_Extension::validate_subject_in_issuer
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - max
    - std::span<const T>::end
    - auto::min
    - std::span<const T>::empty
    - min
    - auto::max
    - std::span<const T>::begin
    linkageType: ''
    returnType: bool
    signature: bool validate_subject_in_issuer(std::span<const T> subject, std::span<const
      T> issuer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<V>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1104,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1106,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1107,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1107,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - afam
    - ' choice'
    - ' map'
    argTypes:
    - uint32_t
    - IPAddressBlocks::IPAddressFamily::AddrChoice
    - IPValidationMap<V>
    constantsTouched: []
    func_position:
      end: 1108
      start: 1101
    functionDepth: 2
    functionLinenumber: 1101
    functionLinenumberEnd: 1108
    functionName: Botan::Cert_Extension::populate_validation_map
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    - std::make_pair
    - std::get<IPAddressBlocks::IPAddressChoice<V>>
    - value
    linkageType: ''
    returnType: void
    signature: "void populate_validation_map(uint32_t afam,\n                             const
      IPAddressBlocks::IPAddressFamily::AddrChoice& choice,\n                             IPValidationMap<V>&
      map)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: safi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1117,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1118,1
    - Dst: safi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1118,1
    - Dst: addr_choice
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1121,1
    - Dst: std::holds_alternative<IPAddressBlocks::IPAddressChoice<IPv4>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1122,1
    - Dst: Botan::Cert_Extension::populate_validation_map
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1123,1
    - Dst: Botan::Cert_Extension::populate_validation_map
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1125,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' addr_blocks'
    argTypes:
    - std::vector<IPAddressBlocks::IPAddressFamily>
    constantsTouched: []
    func_position:
      end: 1130
      start: 1110
    functionDepth: 3
    functionLinenumber: 1110
    functionLinenumberEnd: 1130
    functionName: Botan::Cert_Extension::create_validation_map
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - addr_choice
    - Botan::Cert_Extension::populate_validation_map
    - safi
    - std::make_pair
    - static_cast<uint32_t>
    - std::holds_alternative<IPAddressBlocks::IPAddressChoice<IPv4>>
    linkageType: ''
    returnType: std::pair<IPValidationMap<IPv4>, IPValidationMap<IPv6>>
    signature: "std::pair<IPValidationMap<IPv4>, IPValidationMap<IPv6>> create_validation_map(\n
      \  const std::vector<IPAddressBlocks::IPAddressFamily>& addr_blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sort_and_merge_ranges<IPAddressOrRange<V>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - std::optional<std::span<const IPAddressBlocks::IPAddressOrRange<V>>>
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: "IPAddressBlocks::IPAddressChoice<V>::IPAddressChoice(\n   std::optional<std::span<const
      IPAddressBlocks::IPAddressOrRange<V>>> ranges)"
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - sort_and_merge_ranges<IPAddressOrRange<V>>
    linkageType: ''
    returnType: void
    signature: "void IPAddressBlocks::IPAddressChoice<V>::IPAddressChoice(\n   std::optional<std::span<const
      IPAddressBlocks::IPAddressOrRange<V>>> ranges)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1142,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1143,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1143,1
    - Dst: encode_null
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' into'
    argTypes:
    - Botan::DER_Encoder
    constantsTouched: []
    func_position:
      end: 1147
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1147
    functionName: IPAddressBlocks::IPAddressChoice<V>::encode_into(Botan::DER_Encoder&
      into) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - value
    - start_sequence
    - has_value
    - encode_null
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddressChoice<V>::encode_into(Botan::DER_Encoder&
      into) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1151,1
    - Dst: decode_null
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1154,1
    - Dst: decode_list
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1158,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1161,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1161,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - Botan::BER_Decoder
    constantsTouched: []
    func_position:
      end: 1163
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1163
    functionName: IPAddressBlocks::IPAddressChoice<V>::decode_from(Botan::BER_Decoder&
      from)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - peek_next_object
    - decode_null
    - decode_list
    - Decoding_Error
    - fmt
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddressChoice<V>::decode_from(Botan::BER_Decoder&
      from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1183,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1184,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1220,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1232,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1243,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1244,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1245,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1248,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1258,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1267,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1268,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1269,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1272,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1273,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1274,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1277,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - ' into'
    argTypes:
    - Botan::DER_Encoder
    constantsTouched: []
    func_position:
      end: 1282
      start: 1166
    functionDepth: 2
    functionLinenumber: 1166
    functionLinenumberEnd: 1282
    functionName: IPAddressBlocks::IPAddressOrRange<V>::encode_into(Botan::DER_Encoder&
      into) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - static_cast<uint8_t>
    - value
    - add_object
    - std::vector::push_back
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddressOrRange<V>::encode_into(Botan::DER_Encoder&
      into) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1288,1
    - Dst: decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1295,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1298,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1298,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1299,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1300,1
    - Dst: std::vector::erase
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1306,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1306,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1308,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1309,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1313,1
    - Dst: IPAddress<V>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1316,1
    - Dst: IPAddress<V>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1327,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1334,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1342,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1342,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1343,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1344,1
    - Dst: std::vector::erase
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1349,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1349,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1351,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1352,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1358,1
    - Dst: IPAddress<V>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1361,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1365,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1365,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1366,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1367,1
    - Dst: std::vector::erase
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1372,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1372,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1375,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1376,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1382,1
    - Dst: IPAddress<V>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1390,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1393,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1396,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1396,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1396,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - Botan::BER_Decoder
    constantsTouched: []
    func_position:
      end: 1398
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1398
    functionName: IPAddressBlocks::IPAddressOrRange<V>::decode_from(Botan::BER_Decoder&
      from)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - peek_next_object
    - std::vector::size
    - std::vector::push_back
    - start_sequence
    - std::vector::erase
    - decode
    - fmt
    - Decoding_Error
    - std::vector::begin
    - static_cast<uint32_t>
    - IPAddress<V>
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddressOrRange<V>::decode_from(Botan::BER_Decoder&
      from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1402,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 1409
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1409
    functionName: IPAddressBlocks::IPAddress<V>::IPAddress(std::span<uint8_t> v)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - std::span<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddress<V>::IPAddress(std::span<uint8_t> v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1419,1
    - Dst: std::any_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1423,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1423,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1423,1
    - Dst: validate_root_cert_ext
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1429,1
    - Dst: validate_root_cert_ext
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1429,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1430,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1436,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1436,1
    - Dst: auto::v3_extensions
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1437,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1440,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1446,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1446,1
    - Dst: count
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1450,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1451,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1456,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1457,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1458,1
    - Dst: validate_subject_in_issuer
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1462,1
    - Dst: std::span
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1462,1
    - Dst: std::span
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1462,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1463,1
    - Dst: validate_against_issuer
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1472,1
    - Dst: validate_against_issuer
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1472,1
    - Dst: std::all_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1479,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1479,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1479,1
    - Dst: validate_no_checks_left
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1486,1
    - Dst: validate_no_checks_left
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1486,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - ' cert_path'
    - ' cert_status'
    - pos
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<std::set<Certificate_Status_Code>>
    - size_t
    constantsTouched: []
    func_position:
      end: 1491
      start: 1411
    functionDepth: 2
    functionLinenumber: 1411
    functionLinenumberEnd: 1491
    functionName: Botan::Cert_Extension::IPAddressBlocks::validate
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - std::any_of
    - validate_against_issuer
    - at
    - std::all_of
    - end
    - auto::v3_extensions
    - count
    - validate_root_cert_ext
    - size
    - validate_no_checks_left
    - validate_subject_in_issuer
    - begin
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void IPAddressBlocks::validate(const X509_Certificate& /* unused */,\n
      \                              const X509_Certificate& /* unused */,\n                               const
      std::vector<X509_Certificate>& cert_path,\n                               std::vector<std::set<Certificate_Status_Code>>&
      cert_status,\n                               size_t pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1504
    functionName: Botan::Cert_Extension::ASBlocks::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ASBlocks::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1508
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1508
    functionName: Botan::Cert_Extension::ASBlocks::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void ASBlocks::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1511,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1513,1
    - Dst: start_explicit
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1514,1
    - Dst: encode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1515,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1515,1
    - Dst: end_explicit
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1516,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1519,1
    - Dst: start_explicit
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1520,1
    - Dst: encode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1521,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1521,1
    - Dst: end_explicit
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1522,1
    - Dst: end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' into'
    argTypes:
    - Botan::DER_Encoder
    constantsTouched: []
    func_position:
      end: 1526
      start: 1510
    functionDepth: 2
    functionLinenumber: 1510
    functionLinenumberEnd: 1526
    functionName: ASBlocks::ASIdentifiers::encode_into(Botan::DER_Encoder& into) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - start_explicit
    - value
    - encode
    - end_explicit
    - has_value
    - end_cons
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdentifiers::encode_into(Botan::DER_Encoder& into)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1529,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1531,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1531,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1531,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1534,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1536,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1541,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1543,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1546,1
    - Dst: BER_Object::type_tag
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1547,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1548,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1549,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1551,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1554,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1554,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1554,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1560,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1562,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1564,1
    - Dst: BER_Object::type_tag
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1565,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1567,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1568,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1568,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1572,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - Botan::BER_Decoder
    constantsTouched: []
    func_position:
      end: 1573
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1573
    functionName: ASBlocks::ASIdentifiers::decode_from(Botan::BER_Decoder& from)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::decode
    - peek_next_object
    - start_sequence
    - BER_Object::type_tag
    - BER_Decoder
    - BER_Decoder::get_next_object
    - Decoding_Error
    - fmt
    - static_cast<uint32_t>
    - BER_Decoder::end_cons
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdentifiers::decode_from(Botan::BER_Decoder& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1576,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1577,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1577,1
    - Dst: encode_null
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' into'
    argTypes:
    - Botan::DER_Encoder
    constantsTouched: []
    func_position:
      end: 1581
      start: 1575
    functionDepth: 2
    functionLinenumber: 1575
    functionLinenumberEnd: 1581
    functionName: ASBlocks::ASIdentifierChoice::encode_into(Botan::DER_Encoder& into)
      const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - value
    - start_sequence
    - has_value
    - encode_null
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdentifierChoice::encode_into(Botan::DER_Encoder&
      into) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sort_and_merge_ranges<ASIdOrRange>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ranges'
    argTypes:
    - std::optional<std::vector<ASIdOrRange>>
    constantsTouched: []
    func_position:
      end: 1585
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1585
    functionName: ASBlocks::ASIdentifierChoice::ASIdentifierChoice(const std::optional<std::vector<ASIdOrRange>>&
      ranges)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - sort_and_merge_ranges<ASIdOrRange>
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdentifierChoice::ASIdentifierChoice(const std::optional<std::vector<ASIdOrRange>>&
      ranges)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1588,1
    - Dst: decode_list
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1594,1
    - Dst: sort_and_merge_ranges<ASIdOrRange>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1596,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1598,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1598,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - Botan::BER_Decoder
    constantsTouched: []
    func_position:
      end: 1600
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1600
    functionName: ASBlocks::ASIdentifierChoice::decode_from(Botan::BER_Decoder& from)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - peek_next_object
    - sort_and_merge_ranges<ASIdOrRange>
    - decode_list
    - Decoding_Error
    - fmt
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdentifierChoice::decode_from(Botan::BER_Decoder&
      from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1604,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1604,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1607,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1609,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1609,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' into'
    argTypes:
    - Botan::DER_Encoder
    constantsTouched: []
    func_position:
      end: 1611
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1611
    functionName: ASBlocks::ASIdOrRange::encode_into(Botan::DER_Encoder& into) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - encode
    - start_sequence
    - Encoding_Error
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdOrRange::encode_into(Botan::DER_Encoder& into) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1614,1
    - Dst: decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1620,1
    - Dst: checked_cast_to<asnum_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1621,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1624,1
    - Dst: checked_cast_to<asnum_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1625,1
    - Dst: checked_cast_to<asnum_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1626,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1628,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1628,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 1630
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1630
    functionName: ASBlocks::ASIdOrRange::decode_from(BER_Decoder& from)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - peek_next_object
    - start_sequence
    - decode
    - checked_cast_to<asnum_t>
    - fmt
    - Decoding_Error
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdOrRange::decode_from(BER_Decoder& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1642,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1645,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1648,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1654,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1654,1
    - Dst: auto::v3_extensions
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1655,1
    - Dst: ASBlocks*::as_identifiers
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1657,1
    - Dst: ASBlocks*::as_identifiers
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1658,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1659,1
    - Dst: ASBlocks*::as_identifiers
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1662,1
    - Dst: auto::asnum
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1665,1
    - Dst: asnum
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1666,1
    - Dst: auto::asnum
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1667,1
    - Dst: validate_subject_in_issuer<ASBlocks::ASIdOrRange>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1669,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1670,1
    - Dst: auto::rdi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1677,1
    - Dst: rdi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1678,1
    - Dst: auto::rdi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1679,1
    - Dst: validate_subject_in_issuer<ASBlocks::ASIdOrRange>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1681,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1682,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 3
    argNames:
    - ' cert_path'
    - ' cert_status'
    - pos
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<std::set<Certificate_Status_Code>>
    - size_t
    constantsTouched: []
    func_position:
      end: 1694
      start: 1632
    functionDepth: 2
    functionLinenumber: 1632
    functionLinenumberEnd: 1694
    functionName: Botan::Cert_Extension::ASBlocks::validate
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - asnum
    - at
    - auto::rdi
    - end
    - validate_subject_in_issuer<ASBlocks::ASIdOrRange>
    - rdi
    - ASBlocks*::as_identifiers
    - auto::v3_extensions
    - size
    - auto::asnum
    - begin
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void ASBlocks::validate(const X509_Certificate& /* unused */,\n                        const
      X509_Certificate& /* unused */,\n                        const std::vector<X509_Certificate>&
      cert_path,\n                        std::vector<std::set<Certificate_Status_Code>>&
      cert_status,\n                        size_t pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1698
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1698
    functionName: Botan::Cert_Extension::OCSP_NoCheck::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void OCSP_NoCheck::decode_inner(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1702
    functionName: Botan::Cert_Extension::Unknown_Extension::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Unknown_Extension::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bytes'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1707
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1707
    functionName: Botan::Cert_Extension::Unknown_Extension::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unknown_Extension::decode_inner(const std::vector<uint8_t>& bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 143
    functionName: Botan::X509_Object
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PKCS10_Request
    signature: PKCS10_Request X509_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::X509_Object
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_Object(const X509_Object&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/botan/src/lib/x509/x509_obj.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan::alternate_PEM_labels
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> alternate_PEM_labels() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: ~X509_Object() override
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~X509_Object() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_CA_cert
      Src: /src/botan/src/lib/x509/x509_ca.cpp:28,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_ca.cpp:29,1
    - Dst: Botan::X509_Object::choose_sig_format
      Src: /src/botan/src/lib/x509/x509_ca.cpp:32,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/x509/x509_ca.cpp:33,1
    - Dst: hash_function
      Src: /src/botan/src/lib/x509/x509_ca.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ' cert'
    - ' key'
    - hash_fn
    - padding_method
    - ' rng'
    argTypes:
    - X509_Certificate
    - Private_Key
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: Botan::X509_CA::X509_CA
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 1
    functionsReached:
    - algorithm_identifier
    - Botan::X509_Object::choose_sig_format
    - is_CA_cert
    - Invalid_Argument
    - hash_function
    linkageType: ''
    returnType: void
    signature: "void X509_CA::X509_CA(const X509_Certificate& cert,\n                 const
      Private_Key& key,\n                 std::string_view hash_fn,\n                 std::string_view
      padding_method,\n                 RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::X509_CA::X509_CA
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_CA::X509_CA(X509_CA&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: X509_CA::~X509_CA()
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_CA::~X509_CA()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_CA
      Src: /src/botan/src/lib/x509/x509_ca.cpp:45,1
    - Dst: Key_Constraints::ca_constraints
      Src: /src/botan/src/lib/x509/x509_ca.cpp:45,1
    - Dst: constraints
      Src: /src/botan/src/lib/x509/x509_ca.cpp:45,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/x509/x509_ca.cpp:47,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/lib/x509/x509_ca.cpp:48,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_ca.cpp:49,1
    - Dst: extensions
      Src: /src/botan/src/lib/x509/x509_ca.cpp:52,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509_ca.cpp:54,1
    - Dst: std::make_unique<Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:54,1
    - Dst: is_CA
      Src: /src/botan/src/lib/x509/x509_ca.cpp:54,1
    - Dst: path_limit
      Src: /src/botan/src/lib/x509/x509_ca.cpp:54,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/x509_ca.cpp:56,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509_ca.cpp:57,1
    - Dst: std::make_unique<Cert_Extension::Key_Usage>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:57,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509_ca.cpp:60,1
    - Dst: std::make_unique<Cert_Extension::Authority_Key_ID>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:60,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/x509_ca.cpp:60,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509_ca.cpp:61,1
    - Dst: std::make_unique<Cert_Extension::Subject_Key_ID>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:61,1
    - Dst: raw_public_key
      Src: /src/botan/src/lib/x509/x509_ca.cpp:61,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509_ca.cpp:63,1
    - Dst: std::make_unique<Cert_Extension::Subject_Alternative_Name>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:63,1
    - Dst: subject_alt_name
      Src: /src/botan/src/lib/x509/x509_ca.cpp:63,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509_ca.cpp:65,1
    - Dst: std::make_unique<Cert_Extension::Extended_Key_Usage>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:65,1
    - Dst: ex_constraints
      Src: /src/botan/src/lib/x509/x509_ca.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' req'
    - ' ca_cert'
    - hash_fn
    argTypes:
    - PKCS10_Request
    - X509_Certificate
    - std::string_view
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: Botan::X509_CA::choose_extensions
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 0
    functionsReached:
    - path_limit
    - std::make_unique<Cert_Extension::Subject_Key_ID>
    - subject_key_id
    - std::make_unique<Cert_Extension::Key_Usage>
    - subject_alt_name
    - ex_constraints
    - constraints
    - std::make_unique<Cert_Extension::Extended_Key_Usage>
    - auto::compatible_with
    - Key_Constraints::ca_constraints
    - raw_public_key
    - std::make_unique<Cert_Extension::Authority_Key_ID>
    - std::make_unique<Cert_Extension::Subject_Alternative_Name>
    - is_CA
    - subject_public_key
    - std::make_unique<Cert_Extension::Basic_Constraints>
    - auto::empty
    - extensions
    - Invalid_Argument
    - Extensions::replace
    linkageType: ''
    returnType: Extensions
    signature: "Extensions X509_CA::choose_extensions(const PKCS10_Request& req,\n
      \                                     const X509_Certificate& ca_cert,\n                                      std::string_view
      hash_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_CA::choose_extensions
      Src: /src/botan/src/lib/x509/x509_ca.cpp:75,1
    - Dst: Botan::X509_CA::make_cert
      Src: /src/botan/src/lib/x509/x509_ca.cpp:77,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/x509/x509_ca.cpp:80,1
    - Dst: raw_public_key
      Src: /src/botan/src/lib/x509/x509_ca.cpp:81,1
    - Dst: ca_certificate
      Src: /src/botan/src/lib/x509/x509_ca.cpp:84,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509_ca.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' req'
    - ' rng'
    - ' serial_number'
    - ' not_before'
    - ' not_after'
    argTypes:
    - PKCS10_Request
    - RandomNumberGenerator
    - BigInt
    - X509_Time
    - X509_Time
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: Botan::X509_CA::sign_request
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 10
    functionsReached:
    - raw_public_key
    - algorithm_identifier
    - ca_certificate
    - Botan::X509_CA::choose_extensions
    - Botan::X509_CA::make_cert
    - subject_dn
    linkageType: ''
    returnType: X509_Certificate
    signature: "X509_Certificate X509_CA::sign_request(const PKCS10_Request& req,\n
      \                                      RandomNumberGenerator& rng,\n                                       const
      BigInt& serial_number,\n                                       const X509_Time&
      not_before,\n                                       const X509_Time& not_after)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_CA::choose_extensions
      Src: /src/botan/src/lib/x509/x509_ca.cpp:96,1
    - Dst: Botan::X509_CA::make_cert
      Src: /src/botan/src/lib/x509/x509_ca.cpp:98,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/x509/x509_ca.cpp:100,1
    - Dst: raw_public_key
      Src: /src/botan/src/lib/x509/x509_ca.cpp:101,1
    - Dst: ca_certificate
      Src: /src/botan/src/lib/x509/x509_ca.cpp:104,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509_ca.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' req'
    - ' rng'
    - ' not_before'
    - ' not_after'
    argTypes:
    - PKCS10_Request
    - RandomNumberGenerator
    - X509_Time
    - X509_Time
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: Botan::X509_CA::sign_request
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 10
    functionsReached:
    - raw_public_key
    - algorithm_identifier
    - ca_certificate
    - Botan::X509_CA::choose_extensions
    - Botan::X509_CA::make_cert
    - subject_dn
    linkageType: ''
    returnType: X509_Certificate
    signature: "X509_Certificate X509_CA::sign_request(const PKCS10_Request& req,\n
      \                                      RandomNumberGenerator& rng,\n                                       const
      X509_Time& not_before,\n                                       const X509_Time&
      not_after) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_CA::make_cert
      Src: /src/botan/src/lib/x509/x509_ca.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ' signer'
    - ' rng'
    - ' sig_algo'
    - ' pub_key'
    - ' not_before'
    - ' not_after'
    - ' issuer_dn'
    - ' subject_dn'
    - ' extensions'
    argTypes:
    - PK_Signer
    - RandomNumberGenerator
    - AlgorithmIdentifier
    - std::vector<uint8_t>
    - X509_Time
    - X509_Time
    - X509_DN
    - X509_DN
    - Extensions
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: Botan::X509_CA::make_cert
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 3
    functionsReached:
    - Botan::X509_CA::make_cert
    linkageType: ''
    returnType: X509_Certificate
    signature: "X509_Certificate X509_CA::make_cert(PK_Signer& signer,\n                                    RandomNumberGenerator&
      rng,\n                                    const AlgorithmIdentifier& sig_algo,\n
      \                                   const std::vector<uint8_t>& pub_key,\n                                    const
      X509_Time& not_before,\n                                    const X509_Time&
      not_after,\n                                    const X509_DN& issuer_dn,\n
      \                                   const X509_DN& subject_dn,\n                                    const
      Extensions& extensions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/x509/x509_ca.cpp:141,1
    - Dst: Botan::X509_Object::make_signed
      Src: /src/botan/src/lib/x509/x509_ca.cpp:141,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ca.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - ' signer'
    - ' rng'
    - ' serial_no'
    - ' sig_algo'
    - ' pub_key'
    - ' not_before'
    - ' not_after'
    - ' issuer_dn'
    - ' subject_dn'
    - ' extensions'
    argTypes:
    - PK_Signer
    - RandomNumberGenerator
    - BigInt
    - AlgorithmIdentifier
    - std::vector<uint8_t>
    - X509_Time
    - X509_Time
    - X509_DN
    - X509_DN
    - Extensions
    constantsTouched: []
    func_position:
      end: 170
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 170
    functionName: Botan::X509_CA::make_cert
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 3
    functionsReached:
    - X509_Certificate
    - DER_Encoder
    - Botan::X509_Object::make_signed
    linkageType: ''
    returnType: X509_Certificate
    signature: "X509_Certificate X509_CA::make_cert(PK_Signer& signer,\n                                    RandomNumberGenerator&
      rng,\n                                    const BigInt& serial_no,\n                                    const
      AlgorithmIdentifier& sig_algo,\n                                    const std::vector<uint8_t>&
      pub_key,\n                                    const X509_Time& not_before,\n
      \                                   const X509_Time& not_after,\n                                    const
      X509_DN& issuer_dn,\n                                    const X509_DN& subject_dn,\n
      \                                   const Extensions& extensions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_CA::new_crl
      Src: /src/botan/src/lib/x509/x509_ca.cpp:176,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/x509/x509_ca.cpp:176,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/x509/x509_ca.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - next_update
    argTypes:
    - RandomNumberGenerator
    - uint32_t
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: Botan::X509_CA::new_crl
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 5
    functionsReached:
    - Botan_CLI::Timer::seconds
    - Botan::X509_CA::new_crl
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL X509_CA::new_crl(RandomNumberGenerator& rng, uint32_t next_update)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_CA::update_crl
      Src: /src/botan/src/lib/x509/x509_ca.cpp:186,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/x509/x509_ca.cpp:186,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/x509/x509_ca.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' crl'
    - ' new_revoked'
    - ' rng'
    - next_update
    argTypes:
    - X509_CRL
    - std::vector<CRL_Entry>
    - RandomNumberGenerator
    - uint32_t
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: Botan::X509_CA::update_crl
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 2
    functionsReached:
    - Botan::X509_CA::update_crl
    - Botan_CLI::Timer::seconds
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: X509_CRL
    signature: "X509_CRL X509_CA::update_crl(const X509_CRL& crl,\n                             const
      std::vector<CRL_Entry>& new_revoked,\n                             RandomNumberGenerator&
      rng,\n                             uint32_t next_update) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_CA::make_crl
      Src: /src/botan/src/lib/x509/x509_ca.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rng'
    - issue_time
    - next_update
    argTypes:
    - RandomNumberGenerator
    - std::chrono::system_clock::time_point
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: Botan::X509_CA::new_crl
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 5
    functionsReached:
    - Botan::X509_CA::make_crl
    linkageType: ''
    returnType: X509_CRL
    signature: "X509_CRL X509_CA::new_crl(RandomNumberGenerator& rng,\n                          std::chrono::system_clock::time_point
      issue_time,\n                          std::chrono::seconds next_update) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_revoked
      Src: /src/botan/src/lib/x509/x509_ca.cpp:201,1
    - Dst: copy
      Src: /src/botan/src/lib/x509/x509_ca.cpp:203,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ca.cpp:203,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ca.cpp:203,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/x509/x509_ca.cpp:203,1
    - Dst: Botan::X509_CA::make_crl
      Src: /src/botan/src/lib/x509/x509_ca.cpp:205,1
    - Dst: crl_number
      Src: /src/botan/src/lib/x509/x509_ca.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' last_crl'
    - ' new_revoked'
    - ' rng'
    - issue_time
    - next_update
    argTypes:
    - X509_CRL
    - std::vector<CRL_Entry>
    - RandomNumberGenerator
    - std::chrono::system_clock::time_point
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: Botan::X509_CA::update_crl
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 2
    functionsReached:
    - crl_number
    - Botan::X509_CA::make_crl
    - end
    - copy
    - std::back_inserter
    - get_revoked
    - begin
    linkageType: ''
    returnType: X509_CRL
    signature: "X509_CRL X509_CA::update_crl(const X509_CRL& last_crl,\n                             const
      std::vector<CRL_Entry>& new_revoked,\n                             RandomNumberGenerator&
      rng,\n                             std::chrono::system_clock::time_point issue_time,\n
      \                            std::chrono::seconds next_update) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Extensions::add
      Src: /src/botan/src/lib/x509/x509_ca.cpp:221,1
    - Dst: std::make_unique<Cert_Extension::Authority_Key_ID>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:221,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/x509_ca.cpp:221,1
    - Dst: Extensions::add
      Src: /src/botan/src/lib/x509/x509_ca.cpp:222,1
    - Dst: std::make_unique<Cert_Extension::CRL_Number>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:222,1
    - Dst: Botan::X509_Object::make_signed
      Src: /src/botan/src/lib/x509/x509_ca.cpp:225,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ca.cpp:227,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509_ca.cpp:230,1
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/x509_ca.cpp:231,1
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/x509_ca.cpp:232,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ca.cpp:233,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ca.cpp:234,1
    - Dst: X509_CRL
      Src: /src/botan/src/lib/x509/x509_ca.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' revoked'
    - crl_number
    - ' rng'
    - issue_time
    - next_update
    argTypes:
    - std::vector<CRL_Entry>
    - uint32_t
    - RandomNumberGenerator
    - std::chrono::system_clock::time_point
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 249
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 249
    functionName: Botan::X509_CA::make_crl
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<Cert_Extension::Authority_Key_ID>
    - empty
    - std::make_unique<Cert_Extension::CRL_Number>
    - DER_Encoder
    - Botan::X509_Object::make_signed
    - X509_CRL
    - X509_Time
    - subject_key_id
    - subject_dn
    - Extensions::add
    linkageType: ''
    returnType: X509_CRL
    signature: "X509_CRL X509_CA::make_crl(const std::vector<CRL_Entry>& revoked,\n
      \                          uint32_t crl_number,\n                           RandomNumberGenerator&
      rng,\n                           std::chrono::system_clock::time_point issue_time,\n
      \                          std::chrono::seconds next_update) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan::X509_Certificate::PEM_label
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509_Certificate::PEM_label() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Botan::X509_Certificate::alternate_PEM_labels
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_Certificate::alternate_PEM_labels() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509cert.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::X509_Certificate::X509_Certificate
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void X509_Certificate::X509_Certificate(DataSource& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:84,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509cert.cpp:84,1
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509cert.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: Botan::X509_Certificate::X509_Certificate
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - data
    - load_data
    - size
    linkageType: ''
    returnType: void
    signature: void X509_Certificate::X509_Certificate(const std::vector<uint8_t>&
      vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509cert.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: Botan::X509_Certificate::X509_Certificate
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void X509_Certificate::X509_Certificate(const uint8_t data[], size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509cert.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fsname
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: Botan::X509_Certificate::X509_Certificate
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void X509_Certificate::X509_Certificate(std::string_view fsname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X509_Certificate_Data>
      Src: /src/botan/src/lib/x509/x509cert.cpp:103,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509cert.cpp:109,1
    - Dst: signed_body
      Src: /src/botan/src/lib/x509/x509cert.cpp:109,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509cert.cpp:110,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:126,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:126,1
    - Dst: signature_algorithm
      Src: /src/botan/src/lib/x509/x509cert.cpp:128,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:129,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/x509/x509cert.cpp:132,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/x509/x509cert.cpp:137,1
    - Dst: BigInt::is_negative
      Src: /src/botan/src/lib/x509/x509cert.cpp:139,1
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/x509/x509cert.cpp:140,1
    - Dst: auto::m_subject_dn::get_bits
      Src: /src/botan/src/lib/x509/x509cert.cpp:140,1
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/x509/x509cert.cpp:141,1
    - Dst: auto::m_issuer_dn::get_bits
      Src: /src/botan/src/lib/x509/x509cert.cpp:141,1
    - Dst: auto::m_subject_public_key_bits::assign
      Src: /src/botan/src/lib/x509/x509cert.cpp:143,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/x509/x509cert.cpp:143,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/x509/x509cert.cpp:143,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/x509cert.cpp:143,1
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/x509/x509cert.cpp:145,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509cert.cpp:147,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/x509cert.cpp:151,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509cert.cpp:153,1
    - Dst: BER_Object::is_set
      Src: /src/botan/src/lib/x509/x509cert.cpp:154,1
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/x509/x509cert.cpp:155,1
    - Dst: BER_Object::tagging
      Src: /src/botan/src/lib/x509/x509cert.cpp:155,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:159,1
    - Dst: auto::get_constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:160,1
    - Dst: auto::m_key_constraints::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:165,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:166,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:170,1
    - Dst: auto::get_key_id
      Src: /src/botan/src/lib/x509/x509cert.cpp:171,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:174,1
    - Dst: auto::get_key_id
      Src: /src/botan/src/lib/x509/x509cert.cpp:175,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:178,1
    - Dst: auto::get_name_constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:179,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:182,1
    - Dst: auto::object_identifiers
      Src: /src/botan/src/lib/x509/x509cert.cpp:183,1
    - Dst: auto::m_extended_key_usage::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:195,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:196,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:200,1
    - Dst: auto::get_is_ca
      Src: /src/botan/src/lib/x509/x509cert.cpp:201,1
    - Dst: auto::get_path_limit
      Src: /src/botan/src/lib/x509/x509cert.cpp:240,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:245,1
    - Dst: auto::get_alt_name
      Src: /src/botan/src/lib/x509/x509cert.cpp:246,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:249,1
    - Dst: auto::get_alt_name
      Src: /src/botan/src/lib/x509/x509cert.cpp:250,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:256,1
    - Dst: auto::m_v3_extensions::extension_set
      Src: /src/botan/src/lib/x509/x509cert.cpp:257,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:259,1
    - Dst: auto::get_policy_oids
      Src: /src/botan/src/lib/x509/x509cert.cpp:260,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:263,1
    - Dst: auto::ocsp_responder
      Src: /src/botan/src/lib/x509/x509cert.cpp:264,1
    - Dst: auto::ca_issuers
      Src: /src/botan/src/lib/x509/x509cert.cpp:265,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:268,1
    - Dst: auto::crl_distribution_urls
      Src: /src/botan/src/lib/x509/x509cert.cpp:269,1
    - Dst: auto::m_subject_key_id::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:274,1
    - Dst: auto::m_authority_key_id::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:274,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/x509/x509cert.cpp:285,1
    - Dst: Botan::verify_signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:287,1
    - Dst: BER_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:301,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/x509/x509cert.cpp:303,1
    - Dst: auto::update
      Src: /src/botan/src/lib/x509/x509cert.cpp:304,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/x509/x509cert.cpp:305,1
    - Dst: Botan::create_hex_fingerprint
      Src: /src/botan/src/lib/x509/x509cert.cpp:308,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/x509/x509cert.cpp:311,1
    - Dst: auto::update
      Src: /src/botan/src/lib/x509/x509cert.cpp:312,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/x509/x509cert.cpp:313,1
    - Dst: auto::update
      Src: /src/botan/src/lib/x509/x509cert.cpp:315,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/x509/x509cert.cpp:316,1
    - Dst: Botan::create_hex_fingerprint
      Src: /src/botan/src/lib/x509/x509cert.cpp:318,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 106
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - X509_Object
    constantsTouched: []
    func_position:
      end: 322
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 322
    functionName: Botan::parse_x509_cert_body
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    - auto::final_stdvec
    - auto::m_extended_key_usage::empty
    - Botan::to_string
    - auto::ca_issuers
    - auto::m_subject_dn::get_bits
    - Botan::verify_signature
    - std::make_unique<X509_Certificate_Data>
    - BigInt::is_negative
    - Botan::create_hex_fingerprint
    - Botan::HashFunction::create
    - auto::m_authority_key_id::empty
    - auto::m_v3_extensions::get_extension_object_as
    - signature_algorithm
    - BER_Object::is_a
    - auto::get_is_ca
    - signed_body
    - auto::m_subject_public_key_bits::assign
    - BER_Object::length
    - auto::m_subject_key_id::empty
    - Botan::ASN1::put_in_sequence
    - BER_Object::assert_is_a
    - auto::object_identifiers
    - BER_encode
    - BigInt::serialize
    - auto::m_v3_extensions::extension_set
    - auto::ocsp_responder
    - auto::get_alt_name
    - Botan::Decoding_Error
    - BER_Bad_Tag
    - auto::get_constraints
    - BER_Object::tagging
    - auto::update
    - Botan::OID::from_string
    - auto::get_path_limit
    - auto::m_key_constraints::empty
    - auto::get_policy_oids
    - auto::get_key_id
    - BER_Decoder
    - auto::crl_distribution_urls
    - BER_Object::bits
    - auto::m_issuer_dn::get_bits
    - BER_Object::is_set
    - ASN1_Type
    - auto::get_name_constraints
    linkageType: ''
    returnType: std::unique_ptr<X509_Certificate_Data>
    signature: std::unique_ptr<X509_Certificate_Data> parse_x509_cert_body(const X509_Object&
      obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/x509/x509cert.cpp:330,1
    - Dst: parse_x509_cert_body
      Src: /src/botan/src/lib/x509/x509cert.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: Botan::X509_Certificate::force_decode
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - parse_x509_cert_body
    - reset
    linkageType: ''
    returnType: void
    signature: void X509_Certificate::force_decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509cert.cpp:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: '& X509_Certificate::data() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: X509_Certificate_Data
    signature: X509_Certificate_Data & X509_Certificate::data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509cert.cpp:342,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: Botan::X509_Certificate::x509_version
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 2
    functionsReached:
    - data
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t X509_Certificate::x509_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: Botan::X509_Certificate::is_self_signed
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::is_self_signed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: '& X509_Certificate::not_before() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_Time
    signature: X509_Time & X509_Certificate::not_before() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: '& X509_Certificate::not_after() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_Time
    signature: X509_Time & X509_Certificate::not_after() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: '& X509_Certificate::subject_public_key_algo() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier & X509_Certificate::subject_public_key_algo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: '& X509_Certificate::v2_issuer_key_id() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::v2_issuer_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: '& X509_Certificate::v2_subject_key_id() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::v2_subject_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: '& X509_Certificate::subject_public_key_bits() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::subject_public_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: '& X509_Certificate::subject_public_key_info() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::subject_public_key_info()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: '& X509_Certificate::subject_public_key_bitstring() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::subject_public_key_bitstring()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:382,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:382,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:383,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 387
    functionName: '& X509_Certificate::subject_public_key_bitstring_sha1() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    - empty
    - Encoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::subject_public_key_bitstring_sha1()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: '& X509_Certificate::authority_key_id() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::authority_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: '& X509_Certificate::subject_key_id() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::subject_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: '& X509_Certificate::serial_number() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::serial_number() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: Botan::X509_Certificate::is_serial_negative
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::is_serial_negative() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: '& X509_Certificate::issuer_dn() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN & X509_Certificate::issuer_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: '& X509_Certificate::subject_dn() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN & X509_Certificate::subject_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: '& X509_Certificate::raw_issuer_dn() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::raw_issuer_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: '& X509_Certificate::raw_subject_dn() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::raw_subject_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:422,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:422,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: Botan::X509_Certificate::is_CA_cert
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::is_CA_cert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:430,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:430,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509cert.cpp:434,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: Botan::X509_Certificate::path_limit
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t X509_Certificate::path_limit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: Botan::X509_Certificate::constraints
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - data
    linkageType: ''
    returnType: Key_Constraints
    signature: Key_Constraints X509_Certificate::constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: '& X509_Certificate::extended_key_usage() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<OID>
    signature: std::vector<OID> & X509_Certificate::extended_key_usage() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: '& X509_Certificate::certificate_policy_oids() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<OID>
    signature: std::vector<OID> & X509_Certificate::certificate_policy_oids() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: '& X509_Certificate::name_constraints() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: NameConstraints
    signature: NameConstraints & X509_Certificate::name_constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: '& X509_Certificate::v3_extensions() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: Extensions
    signature: Extensions & X509_Certificate::v3_extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - usage
    argTypes:
    - Key_Constraints
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: Botan::X509_Certificate::has_constraints
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::constraints
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::has_constraints(Key_Constraints usage) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:463,1
    - Dst: Botan::X509_Certificate::constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - usage
    argTypes:
    - Key_Constraints
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: Botan::X509_Certificate::allowed_usage
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - Botan::X509_Certificate::constraints
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::allowed_usage(Key_Constraints usage) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::allowed_extended_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:470,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - usage
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 471
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 471
    functionName: Botan::X509_Certificate::allowed_extended_usage
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - Botan::OID::from_string
    - Botan::X509_Certificate::allowed_extended_usage
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::allowed_extended_usage(std::string_view usage)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extended_key_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:474,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:475,1
    - Dst: find
      Src: /src/botan/src/lib/x509/x509cert.cpp:479,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509cert.cpp:479,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509cert.cpp:479,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509cert.cpp:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' usage'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 484
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 484
    functionName: Botan::X509_Certificate::allowed_extended_usage
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - extended_key_usage
    - end
    - empty
    - find
    - begin
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::allowed_extended_usage(const OID& usage) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:494,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:494,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:495,1
    - Dst: Botan::X509_Certificate::allowed_extended_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:496,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:499,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:499,1
    - Dst: Botan::X509_Certificate::allowed_extended_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:500,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:503,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:503,1
    - Dst: Botan::X509_Certificate::has_ex_constraint
      Src: /src/botan/src/lib/x509/x509cert.cpp:504,1
    - Dst: Botan::X509_Certificate::is_CA_cert
      Src: /src/botan/src/lib/x509/x509cert.cpp:507,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:510,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:510,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - usage
    argTypes:
    - Usage_Type
    constantsTouched: []
    func_position:
      end: 514
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 514
    functionName: Botan::X509_Certificate::allowed_usage
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 2
    functionsReached:
    - Botan::X509_Certificate::allowed_usage
    - Botan::X509_Certificate::has_ex_constraint
    - Botan::X509_Certificate::is_CA_cert
    - Botan::X509_Certificate::allowed_extended_usage
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::allowed_usage(Usage_Type usage) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::has_ex_constraint
      Src: /src/botan/src/lib/x509/x509cert.cpp:517,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_constraint
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: Botan::X509_Certificate::has_ex_constraint
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 3
    functionsReached:
    - Botan::X509_Certificate::has_ex_constraint
    - Botan::OID::from_string
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::has_ex_constraint(std::string_view ex_constraint)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extended_key_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:521,1
    - Dst: find
      Src: /src/botan/src/lib/x509/x509cert.cpp:522,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509cert.cpp:522,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509cert.cpp:522,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509cert.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' usage'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: Botan::X509_Certificate::has_ex_constraint
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 3
    functionsReached:
    - extended_key_usage
    - find
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::has_ex_constraint(const OID& usage) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v3_extensions
      Src: /src/botan/src/lib/x509/x509cert.cpp:529,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: Botan::X509_Certificate::is_critical
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - v3_extensions
    - Botan::OID::from_string
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::is_critical(std::string_view ex_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: Botan::X509_Certificate::ocsp_responder
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 2
    functionsReached:
    - data
    linkageType: ''
    returnType: std::string
    signature: std::string X509_Certificate::ocsp_responder() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: Botan::X509_Certificate::ca_issuers
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 2
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_Certificate::ca_issuers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: Botan::X509_Certificate::crl_distribution_points
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_Certificate::crl_distribution_points()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:546,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:546,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: Botan::X509_Certificate::crl_distribution_point
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string X509_Certificate::crl_distribution_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 554
    functionName: '& X509_Certificate::subject_alt_name() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: AlternativeName
    signature: AlternativeName & X509_Certificate::subject_alt_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 558
    functionName: '& X509_Certificate::issuer_alt_name() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: AlternativeName
    signature: AlternativeName & X509_Certificate::issuer_alt_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::begin
      Src: /src/botan/src/lib/x509/x509cert.cpp:563,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/x509/x509cert.cpp:563,1
    - Dst: has_field
      Src: /src/botan/src/lib/x509/x509cert.cpp:565,1
    - Dst: get_attribute
      Src: /src/botan/src/lib/x509/x509cert.cpp:566,1
    - Dst: set_to_vector
      Src: /src/botan/src/lib/x509/x509cert.cpp:568,1
    - Dst: email
      Src: /src/botan/src/lib/x509/x509cert.cpp:568,1
    - Dst: set_to_vector
      Src: /src/botan/src/lib/x509/x509cert.cpp:570,1
    - Dst: dns
      Src: /src/botan/src/lib/x509/x509cert.cpp:570,1
    - Dst: set_to_vector
      Src: /src/botan/src/lib/x509/x509cert.cpp:572,1
    - Dst: uris
      Src: /src/botan/src/lib/x509/x509cert.cpp:572,1
    - Dst: ipv4_address
      Src: /src/botan/src/lib/x509/x509cert.cpp:575,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509cert.cpp:576,1
    - Dst: Botan::ipv4_to_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:576,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - req
    - ' dn'
    - ' alt_name'
    argTypes:
    - std::string_view
    - X509_DN
    - AlternativeName
    constantsTouched: []
    func_position:
      end: 582
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 582
    functionName: Botan::get_cert_user_info
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - email
    - get_attribute
    - dns
    - set_to_vector
    - has_field
    - ipv4_address
    - Botan::ipv4_to_string
    - Botan::end
    - Botan::begin
    - uris
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> get_cert_user_info(std::string_view req, const
      X509_DN& dn, const AlternativeName& alt_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_user_info
      Src: /src/botan/src/lib/x509/x509cert.cpp:590,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509cert.cpp:590,1
    - Dst: subject_alt_name
      Src: /src/botan/src/lib/x509/x509cert.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 591
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 591
    functionName: Botan::X509_Certificate::subject_info
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - subject_dn
    - subject_alt_name
    - get_cert_user_info
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_Certificate::subject_info(std::string_view
      req) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_user_info
      Src: /src/botan/src/lib/x509/x509cert.cpp:597,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509cert.cpp:597,1
    - Dst: issuer_alt_name
      Src: /src/botan/src/lib/x509/x509cert.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 598
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 598
    functionName: Botan::X509_Certificate::issuer_info
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - issuer_dn
    - issuer_alt_name
    - get_cert_user_info
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_Certificate::issuer_info(std::string_view
      req) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Public_Key>
      Src: /src/botan/src/lib/x509/x509cert.cpp:605,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/x509/x509cert.cpp:605,1
    - Dst: subject_public_key_info
      Src: /src/botan/src/lib/x509/x509cert.cpp:605,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 609
    functionName: Botan::X509_Certificate::subject_public_key
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 4
    functionsReached:
    - Botan::X509::load_key
    - Decoding_Error
    - subject_public_key_info
    - std::unique_ptr<Public_Key>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> X509_Certificate::subject_public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/lib/x509/x509cert.cpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 613
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 613
    functionName: Botan::X509_Certificate::load_subject_public_key
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::subject_public_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> X509_Certificate::load_subject_public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:616,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:616,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:617,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 620
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 620
    functionName: Botan::X509_Certificate::raw_issuer_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - data
    - empty
    - Encoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509_Certificate::raw_issuer_dn_sha256() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:623,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:623,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:624,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 627
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 627
    functionName: Botan::X509_Certificate::raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - data
    - empty
    - Encoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509_Certificate::raw_subject_dn_sha256() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:639,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:639,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:640,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:641,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:641,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:642,1
    - Dst: create_hex_fingerprint
      Src: /src/botan/src/lib/x509/x509cert.cpp:644,1
    - Dst: Botan::X509_Certificate::BER_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - hash_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 646
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 646
    functionName: Botan::X509_Certificate::fingerprint
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 2
    functionsReached:
    - Botan::X509_Certificate::BER_encode
    - data
    - empty
    - create_hex_fingerprint
    linkageType: ''
    returnType: std::string
    signature: std::string X509_Certificate::fingerprint(std::string_view hash_name)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:649,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/x509cert.cpp:653,1
    - Dst: subject_alt_name
      Src: /src/botan/src/lib/x509/x509cert.cpp:654,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/x509cert.cpp:655,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/x509cert.cpp:655,1
    - Dst: Botan::X509_Certificate::subject_info
      Src: /src/botan/src/lib/x509/x509cert.cpp:657,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:660,1
    - Dst: Botan::X509_Certificate::subject_info
      Src: /src/botan/src/lib/x509/x509cert.cpp:661,1
    - Dst: host_wildcard_match
      Src: /src/botan/src/lib/x509/x509cert.cpp:665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 672
      start: 648
    functionDepth: 3
    functionLinenumber: 648
    functionLinenumberEnd: 672
    functionName: Botan::X509_Certificate::matches_dns_name
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - contains
    - string_to_ipv4
    - subject_alt_name
    - std::string_view::empty
    - auto::value
    - data
    - host_wildcard_match
    - Botan::X509_Certificate::subject_info
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::matches_dns_name(std::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_Certificate::signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:678,1
    - Dst: signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:678,1
    - Dst: X509_Certificate::signature_algorithm
      Src: /src/botan/src/lib/x509/x509cert.cpp:678,1
    - Dst: signature_algorithm
      Src: /src/botan/src/lib/x509/x509cert.cpp:678,1
    - Dst: X509_Certificate::signed_body
      Src: /src/botan/src/lib/x509/x509cert.cpp:679,1
    - Dst: signed_body
      Src: /src/botan/src/lib/x509/x509cert.cpp:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 680
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 680
    functionName: X509_Certificate::operator==(const X509_Certificate& other) const
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - signature_algorithm
    - X509_Certificate::signature_algorithm
    - signed_body
    - X509_Certificate::signed_body
    - X509_Certificate::signature
    - signature
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::operator==(const X509_Certificate& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_Certificate::signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:684,1
    - Dst: signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:684,1
    - Dst: X509_Certificate::signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:685,1
    - Dst: signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:685,1
    - Dst: X509_Certificate::signed_body
      Src: /src/botan/src/lib/x509/x509cert.cpp:689,1
    - Dst: signed_body
      Src: /src/botan/src/lib/x509/x509cert.cpp:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 690
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 690
    functionName: X509_Certificate::operator<(const X509_Certificate& other) const
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - X509_Certificate::signed_body
    - signature
    - X509_Certificate::signature
    - signed_body
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::operator<(const X509_Certificate& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cert1'
    - ' cert2'
    argTypes:
    - X509_Certificate
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 697
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 697
    functionName: operator!=(const X509_Certificate& cert1, const X509_Certificate&
      cert2)
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const X509_Certificate& cert1, const X509_Certificate&
      cert2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::x509_version
      Src: /src/botan/src/lib/x509/x509cert.cpp:702,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509cert.cpp:703,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509cert.cpp:704,1
    - Dst: Botan::X509_Certificate::not_before
      Src: /src/botan/src/lib/x509/x509cert.cpp:705,1
    - Dst: Botan::X509_Certificate::not_after
      Src: /src/botan/src/lib/x509/x509cert.cpp:706,1
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/lib/x509/x509cert.cpp:709,1
    - Dst: auto::algo_name
      Src: /src/botan/src/lib/x509/x509cert.cpp:710,1
    - Dst: auto::key_length
      Src: /src/botan/src/lib/x509/x509cert.cpp:710,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:711,1
    - Dst: Botan::X509_Certificate::subject_public_key_algo
      Src: /src/botan/src/lib/x509/x509cert.cpp:713,1
    - Dst: oid
      Src: /src/botan/src/lib/x509/x509cert.cpp:715,1
    - Dst: what
      Src: /src/botan/src/lib/x509/x509cert.cpp:716,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:717,1
    - Dst: Botan::X509_Certificate::subject_public_key_bitstring
      Src: /src/botan/src/lib/x509/x509cert.cpp:717,1
    - Dst: Botan::X509_Certificate::constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:721,1
    - Dst: Key_Constraints::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:722,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:725,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:728,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:731,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:734,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:737,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:740,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:743,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:746,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:749,1
    - Dst: Botan::X509_Certificate::certificate_policy_oids
      Src: /src/botan/src/lib/x509/x509cert.cpp:754,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:755,1
    - Dst: Botan::X509_Certificate::to_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:759,1
    - Dst: Botan::X509_Certificate::extended_key_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:763,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:764,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:767,1
    - Dst: Botan::X509_Certificate::name_constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:771,1
    - Dst: permitted
      Src: /src/botan/src/lib/x509/x509cert.cpp:773,1
    - Dst: excluded
      Src: /src/botan/src/lib/x509/x509cert.cpp:773,1
    - Dst: permitted
      Src: /src/botan/src/lib/x509/x509cert.cpp:776,1
    - Dst: permitted
      Src: /src/botan/src/lib/x509/x509cert.cpp:778,1
    - Dst: base
      Src: /src/botan/src/lib/x509/x509cert.cpp:779,1
    - Dst: excluded
      Src: /src/botan/src/lib/x509/x509cert.cpp:784,1
    - Dst: excluded
      Src: /src/botan/src/lib/x509/x509cert.cpp:786,1
    - Dst: base
      Src: /src/botan/src/lib/x509/x509cert.cpp:787,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/lib/x509/x509cert.cpp:793,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/lib/x509/x509cert.cpp:794,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/lib/x509/x509cert.cpp:797,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:798,1
    - Dst: Botan::X509_Certificate::crl_distribution_points
      Src: /src/botan/src/lib/x509/x509cert.cpp:805,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/lib/x509/x509cert.cpp:809,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:811,1
    - Dst: Botan::X509_Certificate::serial_number
      Src: /src/botan/src/lib/x509/x509cert.cpp:811,1
    - Dst: Botan::X509_Certificate::authority_key_id
      Src: /src/botan/src/lib/x509/x509cert.cpp:813,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:814,1
    - Dst: Botan::X509_Certificate::authority_key_id
      Src: /src/botan/src/lib/x509/x509cert.cpp:814,1
    - Dst: Botan::X509_Certificate::subject_key_id
      Src: /src/botan/src/lib/x509/x509cert.cpp:817,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:818,1
    - Dst: Botan::X509_Certificate::subject_key_id
      Src: /src/botan/src/lib/x509/x509cert.cpp:818,1
    - Dst: Botan::X509_Certificate::is_self_signed
      Src: /src/botan/src/lib/x509/x509cert.cpp:821,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/x509/x509cert.cpp:825,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 826
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 826
    functionName: Botan::X509_Certificate::to_string
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 2
    functionsReached:
    - std::ostringstream::str
    - what
    - Botan::X509_Certificate::ocsp_responder
    - auto::key_length
    - Key_Constraints::includes
    - issuer_dn
    - empty
    - Botan::X509_Certificate::subject_key_id
    - Botan::X509_Certificate::serial_number
    - Botan::X509::PEM_encode
    - Key_Constraints::empty
    - Botan::X509_Certificate::authority_key_id
    - Botan::X509_Certificate::name_constraints
    - Botan::X509_Certificate::extended_key_usage
    - Botan::X509_Certificate::not_after
    - Botan::X509_Certificate::x509_version
    - hex_encode
    - Botan::X509_Certificate::certificate_policy_oids
    - permitted
    - excluded
    - subject_dn
    - Botan::X509_Certificate::signature_algorithm
    - Botan::X509_Certificate::subject_public_key
    - Botan::X509_Certificate::ca_issuers
    - oid
    - Botan::X509_Certificate::subject_public_key_bitstring
    - Botan::X509_Certificate::subject_public_key_algo
    - std::vector::empty
    - Botan::X509_Certificate::constraints
    - base
    - Botan::X509_Certificate::to_string
    - auto::algo_name
    - Botan::X509_Certificate::crl_distribution_points
    - Botan::X509_Certificate::is_self_signed
    - to_formatted_string
    - Botan::X509_Certificate::not_before
    linkageType: ''
    returnType: std::string
    signature: std::string X509_Certificate::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/x509/name_constraint.cpp:27,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/x509/name_constraint.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: Botan::GeneralName::type
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - Encoding_Error
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string GeneralName::type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<RFC822_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:49,1
    - Dst: std::get<DNS_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:51,1
    - Dst: std::get<URI_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:53,1
    - Dst: std::get<DN_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:55,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/name_constraint.cpp:58,1
    - Dst: ipv4_to_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:58,1
    - Dst: ipv4_to_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:58,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/x509/name_constraint.cpp:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: Botan::GeneralName::name
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - std::get<DNS_IDX>
    - std::get<DN_IDX>
    - std::get<RFC822_IDX>
    - BOTAN_ASSERT_UNREACHABLE
    - ipv4_to_string
    - fmt
    - std::get<URI_IDX>
    linkageType: ''
    returnType: std::string
    signature: std::string GeneralName::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/name_constraint.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::GeneralName::encode_into
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void GeneralName::encode_into(DER_Encoder& /*to*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/x509/name_constraint.cpp:69,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/name_constraint.cpp:71,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/name_constraint.cpp:73,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/name_constraint.cpp:75,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:75,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/name_constraint.cpp:76,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/name_constraint.cpp:80,1
    - Dst: tolower_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:80,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:80,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/name_constraint.cpp:81,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/name_constraint.cpp:83,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:83,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/name_constraint.cpp:84,1
    - Dst: X509_DN::decode_from
      Src: /src/botan/src/lib/x509/name_constraint.cpp:87,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/name_constraint.cpp:89,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/name_constraint.cpp:90,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/name_constraint.cpp:91,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/name_constraint.cpp:96,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/name_constraint.cpp:96,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/name_constraint.cpp:97,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/name_constraint.cpp:101,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:101,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/name_constraint.cpp:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - ' ber'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 106
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 106
    functionName: Botan::GeneralName::decode_from
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - BER_Object::is_a
    - emplace
    - std::to_string
    - Botan::ASN1::to_string
    - get_next_object
    - BER_Object::length
    - X509_DN::decode_from
    - std::make_pair
    - Decoding_Error
    - tolower_string
    linkageType: ''
    returnType: void
    signature: void GeneralName::decode_from(BER_Decoder& ber)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<DNS_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:110,1
    - Dst: Botan::GeneralName::matches_dns
      Src: /src/botan/src/lib/x509/name_constraint.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dns_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: Botan::GeneralName::matches_dns
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 1
    functionsReached:
    - Botan::GeneralName::matches_dns
    - std::get<DNS_IDX>
    linkageType: ''
    returnType: bool
    signature: bool GeneralName::matches_dns(const std::string& dns_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ip
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: Botan::GeneralName::matches_ipv4
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeneralName::matches_ipv4(uint32_t ip) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<DN_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:126,1
    - Dst: Botan::GeneralName::matches_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dn'
    argTypes:
    - X509_DN
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: Botan::GeneralName::matches_dn
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 1
    functionsReached:
    - std::get<DN_IDX>
    - Botan::GeneralName::matches_dn
    linkageType: ''
    returnType: bool
    signature: bool GeneralName::matches_dn(const X509_DN& dn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:161,1
    - Dst: subject_alt_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:162,1
    - Dst: std::get<DNS_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:167,1
    - Dst: dns
      Src: /src/botan/src/lib/x509/name_constraint.cpp:169,1
    - Dst: MatchScore::add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:172,1
    - Dst: Botan::GeneralName::matches_dns
      Src: /src/botan/src/lib/x509/name_constraint.cpp:172,1
    - Dst: count
      Src: /src/botan/src/lib/x509/name_constraint.cpp:175,1
    - Dst: get_attribute
      Src: /src/botan/src/lib/x509/name_constraint.cpp:177,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:178,1
    - Dst: MatchScore::add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:179,1
    - Dst: Botan::GeneralName::matches_dns
      Src: /src/botan/src/lib/x509/name_constraint.cpp:179,1
    - Dst: std::get<DN_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:184,1
    - Dst: MatchScore::add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:185,1
    - Dst: Botan::GeneralName::matches_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:185,1
    - Dst: directory_names
      Src: /src/botan/src/lib/x509/name_constraint.cpp:187,1
    - Dst: MatchScore::add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:188,1
    - Dst: Botan::GeneralName::matches_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:188,1
    - Dst: count
      Src: /src/botan/src/lib/x509/name_constraint.cpp:193,1
    - Dst: get_attribute
      Src: /src/botan/src/lib/x509/name_constraint.cpp:195,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:196,1
    - Dst: MatchScore::add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:198,1
    - Dst: ipv4_address
      Src: /src/botan/src/lib/x509/name_constraint.cpp:202,1
    - Dst: MatchScore::add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:204,1
    - Dst: MatchScore::result
      Src: /src/botan/src/lib/x509/name_constraint.cpp:212,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 213
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 213
    functionName: Botan::GeneralName::matches
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - string_to_ipv4
    - subject_alt_name
    - Botan::GeneralName::matches_dns
    - std::get<DNS_IDX>
    - MatchScore::add
    - dns
    - get_attribute
    - std::get<DN_IDX>
    - MatchScore::result
    - ipv4_address
    - count
    - Botan::GeneralName::matches_dn
    - directory_names
    - subject_dn
    linkageType: ''
    returnType: GeneralName::MatchResult
    signature: GeneralName::MatchResult GeneralName::matches(const X509_Certificate&
      cert) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:218,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:218,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:220,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:220,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/name_constraint.cpp:224,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:224,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:224,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/name_constraint.cpp:226,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/x509/name_constraint.cpp:230,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:230,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:230,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:230,1
    - Dst: std::string_view::front
      Src: /src/botan/src/lib/x509/name_constraint.cpp:232,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/x509/name_constraint.cpp:235,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:237,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - name
    - constraint
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 240
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 240
    functionName: Botan::GeneralName::matches_dns
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 2
    functionsReached:
    - std::string_view::size
    - std::string_view::empty
    - std::string_view::substr
    - std::string_view::front
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: bool GeneralName::matches_dns(std::string_view name, std::string_view
      constraint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attributes
      Src: /src/botan/src/lib/x509/name_constraint.cpp:244,1
    - Dst: dn_info
      Src: /src/botan/src/lib/x509/name_constraint.cpp:248,1
    - Dst: auto::equal_range
      Src: /src/botan/src/lib/x509/name_constraint.cpp:249,1
    - Dst: second::value
      Src: /src/botan/src/lib/x509/name_constraint.cpp:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' name'
    - ' constraint'
    argTypes:
    - X509_DN
    - X509_DN
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: Botan::GeneralName::matches_dn
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 2
    functionsReached:
    - second::value
    - get_attributes
    - auto::equal_range
    - dn_info
    linkageType: ''
    returnType: bool
    signature: bool GeneralName::matches_dn(const X509_DN& name, const X509_DN& constraint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/botan/src/lib/x509/name_constraint.cpp:261,1
    - Dst: name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' gn'
    argTypes:
    - std::ostream
    - GeneralName
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: '& operator<<(std::ostream& os, const GeneralName& gn)'
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - type
    - name
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const GeneralName& gn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: Botan::GeneralSubtree::GeneralSubtree
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeneralSubtree::GeneralSubtree()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/name_constraint.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: Botan::GeneralSubtree::encode_into
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void GeneralSubtree::encode_into(DER_Encoder& /*to*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/name_constraint.cpp:274,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/name_constraint.cpp:276,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/name_constraint.cpp:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' ber'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: Botan::GeneralSubtree::decode_from
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - ASN1_Type
    - start_sequence
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void GeneralSubtree::decode_from(BER_Decoder& ber)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' gs'
    argTypes:
    - std::ostream
    - GeneralSubtree
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: '& operator<<(std::ostream& os, const GeneralSubtree& gs)'
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const GeneralSubtree& gs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/x509/name_constraint.cpp:291,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/name_constraint.cpp:291,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/name_constraint.cpp:293,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:293,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/name_constraint.cpp:296,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' permitted_subtrees'
    - ' excluded_subtrees'
    argTypes:
    - std::vector<GeneralSubtree>
    - std::vector<GeneralSubtree>
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: Botan::NameConstraints::NameConstraints
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - base
    - insert
    linkageType: ''
    returnType: void
    signature: "void NameConstraints::NameConstraints(std::vector<GeneralSubtree>&&
      permitted_subtrees,\n                                 std::vector<GeneralSubtree>&&
      excluded_subtrees)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::checked_add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:309,1
    - Dst: Botan::checked_mul
      Src: /src/botan/src/lib/x509/name_constraint.cpp:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - dn_count
    - alt_count
    - constraint_count
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 317
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 317
    functionName: Botan::exceeds_limit
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - Botan::checked_add
    - Botan::checked_mul
    linkageType: ''
    returnType: bool
    signature: bool exceeds_limit(size_t dn_count, size_t alt_count, size_t constraint_count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: permitted
      Src: /src/botan/src/lib/x509/name_constraint.cpp:322,1
    - Dst: subject_alt_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:326,1
    - Dst: exceeds_limit
      Src: /src/botan/src/lib/x509/name_constraint.cpp:328,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:328,1
    - Dst: count
      Src: /src/botan/src/lib/x509/name_constraint.cpp:328,1
    - Dst: permitted
      Src: /src/botan/src/lib/x509/name_constraint.cpp:328,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:333,1
    - Dst: other_names
      Src: /src/botan/src/lib/x509/name_constraint.cpp:333,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:336,1
    - Dst: uris
      Src: /src/botan/src/lib/x509/name_constraint.cpp:336,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:339,1
    - Dst: email
      Src: /src/botan/src/lib/x509/name_constraint.cpp:339,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:346,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:351,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/name_constraint.cpp:361,1
    - Dst: starts_with
      Src: /src/botan/src/lib/x509/name_constraint.cpp:361,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:366,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:371,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:382,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:387,1
    - Dst: is_permitted_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:396,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:396,1
    - Dst: directory_names
      Src: /src/botan/src/lib/x509/name_constraint.cpp:400,1
    - Dst: is_permitted_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:401,1
    - Dst: dns
      Src: /src/botan/src/lib/x509/name_constraint.cpp:406,1
    - Dst: is_permitted_dns_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:407,1
    - Dst: ipv4_address
      Src: /src/botan/src/lib/x509/name_constraint.cpp:412,1
    - Dst: is_permitted_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:413,1
    - Dst: count
      Src: /src/botan/src/lib/x509/name_constraint.cpp:418,1
    - Dst: subject_info
      Src: /src/botan/src/lib/x509/name_constraint.cpp:419,1
    - Dst: find
      Src: /src/botan/src/lib/x509/name_constraint.cpp:420,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:421,1
    - Dst: is_permitted_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:422,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/name_constraint.cpp:422,1
    - Dst: is_permitted_dns_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:426,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 2
    argNames:
    - ' cert'
    - reject_unknown
    argTypes:
    - X509_Certificate
    - bool
    constantsTouched: []
    func_position:
      end: 436
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 436
    functionName: Botan::NameConstraints::is_permitted
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - empty
    - starts_with
    - is_permitted_dns_name
    - exceeds_limit
    - subject_alt_name
    - permitted
    - subject_dn
    - contains
    - string_to_ipv4
    - dns
    - is_permitted_dn
    - ipv4_address
    - is_permitted_ipv4
    - other_names
    - find
    - email
    - subject_info
    - base
    - count
    - directory_names
    - uris
    linkageType: ''
    returnType: bool
    signature: bool NameConstraints::is_permitted(const X509_Certificate& cert, bool
      reject_unknown) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: excluded
      Src: /src/botan/src/lib/x509/name_constraint.cpp:439,1
    - Dst: subject_alt_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:443,1
    - Dst: exceeds_limit
      Src: /src/botan/src/lib/x509/name_constraint.cpp:445,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:445,1
    - Dst: count
      Src: /src/botan/src/lib/x509/name_constraint.cpp:445,1
    - Dst: excluded
      Src: /src/botan/src/lib/x509/name_constraint.cpp:445,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:452,1
    - Dst: other_names
      Src: /src/botan/src/lib/x509/name_constraint.cpp:452,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:455,1
    - Dst: uris
      Src: /src/botan/src/lib/x509/name_constraint.cpp:455,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:458,1
    - Dst: email
      Src: /src/botan/src/lib/x509/name_constraint.cpp:458,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:465,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:470,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/name_constraint.cpp:480,1
    - Dst: starts_with
      Src: /src/botan/src/lib/x509/name_constraint.cpp:480,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:485,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:490,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:501,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:506,1
    - Dst: is_excluded_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:515,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:515,1
    - Dst: directory_names
      Src: /src/botan/src/lib/x509/name_constraint.cpp:519,1
    - Dst: is_excluded_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:520,1
    - Dst: dns
      Src: /src/botan/src/lib/x509/name_constraint.cpp:525,1
    - Dst: is_excluded_dns_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:526,1
    - Dst: ipv4_address
      Src: /src/botan/src/lib/x509/name_constraint.cpp:531,1
    - Dst: is_excluded_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:532,1
    - Dst: count
      Src: /src/botan/src/lib/x509/name_constraint.cpp:537,1
    - Dst: subject_info
      Src: /src/botan/src/lib/x509/name_constraint.cpp:538,1
    - Dst: find
      Src: /src/botan/src/lib/x509/name_constraint.cpp:539,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:540,1
    - Dst: is_excluded_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:541,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/name_constraint.cpp:541,1
    - Dst: is_excluded_dns_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:545,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 2
    argNames:
    - ' cert'
    - reject_unknown
    argTypes:
    - X509_Certificate
    - bool
    constantsTouched: []
    func_position:
      end: 555
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 555
    functionName: Botan::NameConstraints::is_excluded
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - is_excluded_dns_name
    - auto::value
    - empty
    - starts_with
    - is_excluded_ipv4
    - exceeds_limit
    - subject_alt_name
    - is_excluded_dn
    - excluded
    - subject_dn
    - contains
    - string_to_ipv4
    - dns
    - ipv4_address
    - other_names
    - find
    - email
    - subject_info
    - base
    - count
    - directory_names
    - uris
    linkageType: ''
    returnType: bool
    signature: bool NameConstraints::is_excluded(const X509_Certificate& cert, bool
      reject_unknown) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: Certificate_Store::~Certificate_Store()
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Certificate_Store::~Certificate_Store()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_all_certs
      Src: /src/botan/src/lib/x509/certstor.cpp:22,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/certstor.cpp:24,1
    - Dst: auto::front
      Src: /src/botan/src/lib/x509/certstor.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: Botan::Certificate_Store::find_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - find_all_certs
    - auto::empty
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store::find_cert(const
      X509_DN& subject_dn,\n                                                             const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::Certificate_Store::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> Certificate_Store::find_crl_for(const X509_Certificate&
      /*unused*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/x509/certstor.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: Botan::Certificate_Store_In_Memory::add_certificate
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 39
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_Memory::add_certificate(const X509_Certificate&
      cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/x509/certstor.cpp:48,1
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor.cpp:50,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: Botan::Certificate_Store_In_Memory::all_subjects
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached:
    - subject_dn
    - std::vector::push_back
    - size
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> Certificate_Store_In_Memory::all_subjects() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor.cpp:59,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/certstor.cpp:60,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor.cpp:62,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 73
    functionName: Botan::Certificate_Store_In_Memory::find_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 1
    functionsReached:
    - subject_key_id
    - subject_dn
    - empty
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_In_Memory::find_cert(const
      X509_DN& subject_dn,\n                                                                       const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor.cpp:80,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/certstor.cpp:81,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor.cpp:83,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:88,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor.cpp:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: Botan::Certificate_Store_In_Memory::find_all_certs
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached:
    - subject_key_id
    - subject_dn
    - empty
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Certificate_Store_In_Memory::find_all_certs(const
      X509_DN& subject_dn,\n                                                                          const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor.cpp:98,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor.cpp:99,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/x509/certstor.cpp:102,1
    - Dst: auto::update
      Src: /src/botan/src/lib/x509/certstor.cpp:105,1
    - Dst: subject_public_key_bitstring
      Src: /src/botan/src/lib/x509/certstor.cpp:105,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/x509/certstor.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: Botan::Certificate_Store_In_Memory::find_cert_by_pubkey_sha1
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached:
    - auto::final_stdvec
    - auto::update
    - Invalid_Argument
    - size
    - subject_public_key_bitstring
    - Botan::HashFunction::create
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_In_Memory::find_cert_by_pubkey_sha1(\n
      \  const std::vector<uint8_t>& key_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor.cpp:116,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor.cpp:117,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/x509/certstor.cpp:120,1
    - Dst: auto::update
      Src: /src/botan/src/lib/x509/certstor.cpp:123,1
    - Dst: raw_subject_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:123,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/x509/certstor.cpp:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' subject_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: Botan::Certificate_Store_In_Memory::find_cert_by_raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 1
    functionsReached:
    - auto::final_stdvec
    - auto::update
    - Invalid_Argument
    - size
    - Botan::HashFunction::create
    - raw_subject_dn
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_In_Memory::find_cert_by_raw_subject_dn_sha256(\n
      \  const std::vector<uint8_t>& subject_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:133,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:137,1
    - Dst: this_update
      Src: /src/botan/src/lib/x509/certstor.cpp:138,1
    - Dst: this_update
      Src: /src/botan/src/lib/x509/certstor.cpp:138,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/certstor.cpp:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' crl'
    argTypes:
    - X509_CRL
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: Botan::Certificate_Store_In_Memory::add_crl
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 4
    functionsReached:
    - push_back
    - issuer_dn
    - this_update
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_Memory::add_crl(const X509_CRL& crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: authority_key_id
      Src: /src/botan/src/lib/x509/certstor.cpp:150,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor.cpp:154,1
    - Dst: authority_key_id
      Src: /src/botan/src/lib/x509/certstor.cpp:155,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor.cpp:157,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:162,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: Botan::Certificate_Store_In_Memory::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached:
    - authority_key_id
    - issuer_dn
    - empty
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> Certificate_Store_In_Memory::find_crl_for(const
      X509_Certificate& subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/lib/x509/certstor.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 40
    functionsReached:
    - Botan::Certificate_Store_In_Memory::add_certificate
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_Memory::Certificate_Store_In_Memory(const
      X509_Certificate& cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/certstor.cpp:176,1
    - Dst: get_files_recursive
      Src: /src/botan/src/lib/x509/certstor.cpp:180,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/certstor.cpp:182,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor.cpp:183,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor.cpp:183,1
    - Dst: DataSource_Stream::end_of_data
      Src: /src/botan/src/lib/x509/certstor.cpp:189,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/certstor.cpp:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - dir
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 200
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 200
    functionName: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 40
    functionsReached:
    - std::vector::empty
    - get_files_recursive
    - std::string_view::empty
    - DataSource_Stream::end_of_data
    - std::string
    - std::vector::push_back
    - push_back
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_Memory::Certificate_Store_In_Memory(std::string_view
      dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<CRL_Entry_Data>
      Src: /src/botan/src/lib/x509/crl_ent.cpp:29,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/crl_ent.cpp:30,1
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/crl_ent.cpp:31,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/x509/crl_ent.cpp:31,1
    - Dst: m_extensions::add
      Src: /src/botan/src/lib/x509/crl_ent.cpp:35,1
    - Dst: std::make_unique<Cert_Extension::CRL_ReasonCode>
      Src: /src/botan/src/lib/x509/crl_ent.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' cert'
    - why
    argTypes:
    - X509_Certificate
    - CRL_Code
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: Botan::CRL_Entry::CRL_Entry
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 2
    functionsReached:
    - serial_number
    - std::make_shared<CRL_Entry_Data>
    - Botan::TLS::detail::AsyncBase::complete_now
    - X509_Time
    - m_extensions::add
    - std::make_unique<Cert_Extension::CRL_ReasonCode>
    linkageType: ''
    returnType: void
    signature: void CRL_Entry::CRL_Entry(const X509_Certificate& cert, CRL_Code why)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/crl_ent.cpp:43,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/crl_ent.cpp:43,1
    - Dst: expire_time
      Src: /src/botan/src/lib/x509/crl_ent.cpp:46,1
    - Dst: expire_time
      Src: /src/botan/src/lib/x509/crl_ent.cpp:46,1
    - Dst: reason_code
      Src: /src/botan/src/lib/x509/crl_ent.cpp:49,1
    - Dst: reason_code
      Src: /src/botan/src/lib/x509/crl_ent.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' a1'
    - ' a2'
    argTypes:
    - CRL_Entry
    - CRL_Entry
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: operator==(const CRL_Entry& a1, const CRL_Entry& a2)
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - reason_code
    - expire_time
    - serial_number
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CRL_Entry& a1, const CRL_Entry& a2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a1'
    - ' a2'
    argTypes:
    - CRL_Entry
    - CRL_Entry
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: operator!=(const CRL_Entry& a1, const CRL_Entry& a2)
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CRL_Entry& a1, const CRL_Entry& a2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/crl_ent.cpp:66,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/x509/crl_ent.cpp:67,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/crl_ent.cpp:67,1
    - Dst: expire_time
      Src: /src/botan/src/lib/x509/crl_ent.cpp:68,1
    - Dst: extensions
      Src: /src/botan/src/lib/x509/crl_ent.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: Botan::CRL_Entry::encode_into
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - expire_time
    - serial_number
    - extensions
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void CRL_Entry::encode_into(DER_Encoder& der) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_is_a
      Src: /src/botan/src/lib/x509/crl_ent.cpp:78,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:80,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:80,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/x509/crl_ent.cpp:81,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:81,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:81,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:82,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:82,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:83,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:83,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/x509/crl_ent.cpp:95,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:95,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - BER_Object
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: Botan::decode_serial_number
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - data
    - std::vector<uint8_t>
    - assert_is_a
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> decode_serial_number(const BER_Object& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRL_Entry_Data>
      Src: /src/botan/src/lib/x509/crl_ent.cpp:105,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/crl_ent.cpp:107,1
    - Dst: decode_serial_number
      Src: /src/botan/src/lib/x509/crl_ent.cpp:109,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/crl_ent.cpp:109,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/crl_ent.cpp:111,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/crl_ent.cpp:113,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/crl_ent.cpp:114,1
    - Dst: auto::m_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/crl_ent.cpp:115,1
    - Dst: auto::get_reason
      Src: /src/botan/src/lib/x509/crl_ent.cpp:116,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/x509/crl_ent.cpp:122,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/crl_ent.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: Botan::CRL_Entry::decode_from
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 1
    functionsReached:
    - BER_Decoder::decode
    - std::move
    - start_sequence
    - BER_Decoder::more_items
    - std::make_unique<CRL_Entry_Data>
    - auto::m_extensions::get_extension_object_as
    - decode_serial_number
    - auto::get_reason
    - BER_Decoder::get_next_object
    - BER_Decoder::end_cons
    linkageType: ''
    returnType: void
    signature: void CRL_Entry::decode_from(BER_Decoder& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/crl_ent.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: '& CRL_Entry::data() const'
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: CRL_Entry_Data
    signature: CRL_Entry_Data & CRL_Entry::data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: '& CRL_Entry::serial_number() const'
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & CRL_Entry::serial_number() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '& CRL_Entry::expire_time() const'
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_Time
    signature: X509_Time & CRL_Entry::expire_time() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Botan::CRL_Entry::reason_code
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: CRL_Code
    signature: CRL_Code CRL_Entry::reason_code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: '& CRL_Entry::extensions() const'
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: Extensions
    signature: Extensions & CRL_Entry::extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1::maybe_BER
      Src: /src/botan/src/lib/x509/x509_obj.cpp:26,1
    - Dst: Botan::PEM_Code::matches
      Src: /src/botan/src/lib/x509/x509_obj.cpp:26,1
    - Dst: Botan::X509_Object::decode_from
      Src: /src/botan/src/lib/x509/x509_obj.cpp:28,1
    - Dst: PEM_label
      Src: /src/botan/src/lib/x509/x509_obj.cpp:33,1
    - Dst: alternate_PEM_labels
      Src: /src/botan/src/lib/x509/x509_obj.cpp:35,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_obj.cpp:43,1
    - Dst: PEM_label
      Src: /src/botan/src/lib/x509/x509_obj.cpp:43,1
    - Dst: Botan::X509_Object::decode_from
      Src: /src/botan/src/lib/x509/x509_obj.cpp:48,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_obj.cpp:51,1
    - Dst: PEM_label
      Src: /src/botan/src/lib/x509/x509_obj.cpp:51,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: Botan::X509_Object::load_data
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - PEM_label
    - Botan::X509_Object::decode_from
    - Botan::PEM_Code::matches
    - Botan::ASN1::maybe_BER
    - Decoding_Error
    - alternate_PEM_labels
    linkageType: ''
    returnType: void
    signature: void X509_Object::load_data(DataSource& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_obj.cpp:56,1
    - Dst: signed_body
      Src: /src/botan/src/lib/x509/x509_obj.cpp:58,1
    - Dst: signature_algorithm
      Src: /src/botan/src/lib/x509/x509_obj.cpp:60,1
    - Dst: signature
      Src: /src/botan/src/lib/x509/x509_obj.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' to'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: Botan::X509_Object::encode_into
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - signature_algorithm
    - start_sequence
    - signature
    - signed_body
    linkageType: ''
    returnType: void
    signature: void X509_Object::encode_into(DER_Encoder& to) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_obj.cpp:69,1
    - Dst: force_decode
      Src: /src/botan/src/lib/x509/x509_obj.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: Botan::X509_Object::decode_from
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 1
    functionsReached:
    - start_sequence
    - force_decode
    linkageType: ''
    returnType: void
    signature: void X509_Object::decode_from(BER_Decoder& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/x509/x509_obj.cpp:84,1
    - Dst: BER_encode
      Src: /src/botan/src/lib/x509/x509_obj.cpp:84,1
    - Dst: PEM_label
      Src: /src/botan/src/lib/x509/x509_obj.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: Botan::X509_Object::PEM_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::PEM_Code::encode
    - PEM_label
    - BER_encode
    linkageType: ''
    returnType: std::string
    signature: std::string X509_Object::PEM_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/x509/x509_obj.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::X509_Object::tbs_data
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1::put_in_sequence
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509_Object::tbs_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Object::verify_signature
      Src: /src/botan/src/lib/x509/x509_obj.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pub_key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: Botan::X509_Object::check_signature
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Object::verify_signature
    linkageType: ''
    returnType: bool
    signature: bool X509_Object::check_signature(const Public_Key& pub_key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_obj.cpp:108,1
    - Dst: PK_Verifier::hash_function
      Src: /src/botan/src/lib/x509/x509_obj.cpp:108,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_obj.cpp:110,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_obj.cpp:113,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_obj.cpp:115,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_obj.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' pub_key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: Botan::X509_Object::verify_signature
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 1
    functionsReached:
    - PK_Verifier::hash_function
    - std::make_pair
    linkageType: ''
    returnType: std::pair<Certificate_Status_Code, std::string>
    signature: std::pair<Certificate_Status_Code, std::string> X509_Object::verify_signature(const
      Public_Key& pub_key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sign_message
      Src: /src/botan/src/lib/x509/x509_obj.cpp:129,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_obj.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' signer'
    - ' rng'
    - ' algo'
    - ' tbs_bits'
    argTypes:
    - PK_Signer
    - RandomNumberGenerator
    - AlgorithmIdentifier
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: Botan::X509_Object::make_signed
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 2
    functionsReached:
    - sign_message
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> X509_Object::make_signed(PK_Signer& signer,\n
      \                                             RandomNumberGenerator& rng,\n
      \                                             const AlgorithmIdentifier& algo,\n
      \                                             const secure_vector<uint8_t>&
      tbs_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/x509/x509_obj.cpp:149,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:149,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:152,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/x509_obj.cpp:152,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:156,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:157,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/x509/x509_obj.cpp:160,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:163,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/x509/x509_obj.cpp:164,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/x509/x509_obj.cpp:166,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:170,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/x509_obj.cpp:170,1
    - Dst: starts_with
      Src: /src/botan/src/lib/x509/x509_obj.cpp:171,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:172,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/x509_obj.cpp:172,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/x509_obj.cpp:175,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_obj.cpp:177,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 3
    argNames:
    - ' algo_name'
    - hash_fn
    - user_specified_padding
    argTypes:
    - std::string
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 179
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 179
    functionName: Botan::x509_signature_padding_for
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - std::string_view::empty
    - starts_with
    - std::string
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::string
    signature: "std::string x509_signature_padding_for(const std::string& algo_name,\n
      \                                      std::string_view hash_fn,\n                                       std::string_view
      user_specified_padding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:190,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:194,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:197,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/x509/x509_obj.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - key_name
    - signer_hash_fn
    - user_hash_fn
    - chosen_padding
    - user_specified_padding
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 202
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 202
    functionName: Botan::format_padding_error_message
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::string_view::empty
    linkageType: ''
    returnType: std::string
    signature: "std::string format_padding_error_message(std::string_view key_name,\n
      \                                        std::string_view signer_hash_fn,\n
      \                                        std::string_view user_hash_fn,\n                                         std::string_view
      chosen_padding,\n                                         std::string_view user_specified_padding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _default_x509_signature_format
      Src: /src/botan/src/lib/x509/x509_obj.cpp:213,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:215,1
    - Dst: std::make_unique<PK_Signer>
      Src: /src/botan/src/lib/x509/x509_obj.cpp:217,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:218,1
    - Dst: auto::hash_function
      Src: /src/botan/src/lib/x509/x509_obj.cpp:218,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_obj.cpp:219,1
    - Dst: format_padding_error_message
      Src: /src/botan/src/lib/x509/x509_obj.cpp:219,1
    - Dst: algo_name
      Src: /src/botan/src/lib/x509/x509_obj.cpp:220,1
    - Dst: auto::hash_function
      Src: /src/botan/src/lib/x509/x509_obj.cpp:220,1
    - Dst: x509_signature_padding_for
      Src: /src/botan/src/lib/x509/x509_obj.cpp:226,1
    - Dst: algo_name
      Src: /src/botan/src/lib/x509/x509_obj.cpp:226,1
    - Dst: std::make_unique<PK_Signer>
      Src: /src/botan/src/lib/x509/x509_obj.cpp:229,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:230,1
    - Dst: auto::hash_function
      Src: /src/botan/src/lib/x509/x509_obj.cpp:230,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_obj.cpp:231,1
    - Dst: format_padding_error_message
      Src: /src/botan/src/lib/x509/x509_obj.cpp:231,1
    - Dst: algo_name
      Src: /src/botan/src/lib/x509/x509_obj.cpp:232,1
    - Dst: auto::hash_function
      Src: /src/botan/src/lib/x509/x509_obj.cpp:232,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_obj.cpp:236,1
    - Dst: algo_name
      Src: /src/botan/src/lib/x509/x509_obj.cpp:236,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - hash_fn
    - user_specified_padding
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: Botan::X509_Object::choose_sig_format
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 1
    functionsReached:
    - _default_x509_signature_format
    - std::string_view::empty
    - x509_signature_padding_for
    - auto::hash_function
    - Invalid_Argument
    - std::make_unique<PK_Signer>
    - algo_name
    - format_padding_error_message
    linkageType: ''
    returnType: std::unique_ptr<PK_Signer>
    signature: "std::unique_ptr<PK_Signer> X509_Object::choose_sig_format(const Private_Key&
      key,\n                                                          RandomNumberGenerator&
      rng,\n                                                          std::string_view
      hash_fn,\n                                                          std::string_view
      user_specified_padding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 75
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CRL_Entry
    signature: CRL_Entry ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/x509_crl.h:154,1
    - Dst: X509_CRL
      Src: /src/botan/src/lib/x509/x509_crl.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 211
    functionName: Botan::X509_Object
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEPRECATED
    - X509_CRL
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL X509_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:22,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:24,1
    - Dst: auto::name
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:24,1
    - Dst: unlock
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:25,1
    - Dst: auto::process
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:25,1
    - Dst: subject_public_key_bitstring
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:25,1
    - Dst: unlock
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:26,1
    - Dst: auto::process
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:26,1
    - Dst: raw_subject_dn
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' issuer'
    - ' subject_serial'
    argTypes:
    - X509_Certificate
    - BigInt
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: Botan::OCSP::CertID::CertID
    functionSourceFile: /src/botan/src/lib/x509/ocsp_types.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - unlock
    - Botan::HashFunction::create_or_throw
    - subject_public_key_bitstring
    - AlgorithmIdentifier
    - auto::process
    - raw_subject_dn
    linkageType: ''
    returnType: void
    signature: void CertID::CertID(const X509_Certificate& issuer, const BigInt& subject_serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:32,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:32,1
    - Dst: oid
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:36,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:37,1
    - Dst: unlock
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:39,1
    - Dst: auto::process
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:39,1
    - Dst: raw_issuer_dn
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:39,1
    - Dst: unlock
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:43,1
    - Dst: auto::process
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:43,1
    - Dst: subject_public_key_bitstring
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' issuer'
    - ' subject'
    argTypes:
    - X509_Certificate
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: Botan::OCSP::CertID::is_id_for
    functionSourceFile: /src/botan/src/lib/x509/ocsp_types.cpp
    functionUses: 0
    functionsReached:
    - subject_public_key_bitstring
    - serial_number
    - unlock
    - Botan::HashFunction::create_or_throw
    - oid
    - raw_issuer_dn
    - Botan::BigInt::from_bytes
    - auto::process
    linkageType: ''
    returnType: bool
    signature: bool CertID::is_id_for(const X509_Certificate& issuer, const X509_Certificate&
      subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' to'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: Botan::OCSP::CertID::encode_into
    functionSourceFile: /src/botan/src/lib/x509/ocsp_types.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void CertID::encode_into(DER_Encoder& to) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: Botan::OCSP::CertID::decode_from
    functionSourceFile: /src/botan/src/lib/x509/ocsp_types.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void CertID::decode_from(BER_Decoder& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan::OCSP::SingleResponse::encode_into
    functionSourceFile: /src/botan/src/lib/x509/ocsp_types.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void SingleResponse::encode_into(DER_Encoder& /*to*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:79,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:83,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:84,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:100,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 101
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 101
    functionName: Botan::OCSP::SingleResponse::decode_from
    functionSourceFile: /src/botan/src/lib/x509/ocsp_types.cpp
    functionUses: 0
    functionsReached:
    - ASN1_Type
    - start_sequence
    - BER_Object::type
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void SingleResponse::decode_from(BER_Decoder& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:24,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:28,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:32,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:40,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:56,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/key_constraint.cpp:60,1
    - Dst: string_join
      Src: /src/botan/src/lib/x509/key_constraint.cpp:64,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 65
    functionName: Botan::Key_Constraints::to_string
    functionSourceFile: /src/botan/src/lib/x509/key_constraint.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::vector::push_back
    - string_join
    linkageType: ''
    returnType: std::string
    signature: std::string Key_Constraints::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: supports_operation
      Src: /src/botan/src/lib/x509/key_constraint.cpp:73,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/x509/key_constraint.cpp:77,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/x509/key_constraint.cpp:81,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/x509/key_constraint.cpp:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' pub_key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: Botan::Key_Constraints::compatible_with
    functionSourceFile: /src/botan/src/lib/x509/key_constraint.cpp
    functionUses: 0
    functionsReached:
    - supports_operation
    linkageType: ''
    returnType: bool
    signature: bool Key_Constraints::compatible_with(const Public_Key& pub_key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CertID
      Src: /src/botan/src/lib/x509/ocsp.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: Botan::OCSP::ASN1_Object
    functionSourceFile: /src/botan/src/lib/x509/ocsp.h
    functionUses: 0
    functionsReached:
    - CertID
    linkageType: ''
    returnType: CertID
    signature: CertID ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: Botan::OCSP::ASN1_Object
    functionSourceFile: /src/botan/src/lib/x509/ocsp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SingleResponse
    signature: SingleResponse ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Request
      Src: /src/botan/src/lib/x509/ocsp.h:77,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/ocsp.h:99,1
    - Dst: issuer_key_hash
      Src: /src/botan/src/lib/x509/ocsp.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 106
    functionName: Botan::OCSP::final
    functionSourceFile: /src/botan/src/lib/x509/ocsp.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    - Request
    - issuer_key_hash
    linkageType: ''
    returnType: Request
    signature: Request final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Response
      Src: /src/botan/src/lib/x509/ocsp.h:133,1
    - Dst: data
      Src: /src/botan/src/lib/x509/ocsp.h:139,1
    - Dst: size
      Src: /src/botan/src/lib/x509/ocsp.h:139,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/x509/ocsp.h:215,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/x509/ocsp.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 245
    functionName: Botan::OCSP::final
    functionSourceFile: /src/botan/src/lib/x509/ocsp.h
    functionUses: 0
    functionsReached:
    - data
    - Response
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::TLS::detail::AsyncBase::complete_now
    - size
    linkageType: ''
    returnType: Response
    signature: Response final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/x509/ocsp.cpp:30,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/ocsp.cpp:32,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/ocsp.cpp:33,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/x509/ocsp.cpp:38,1
    - Dst: auto::more_items
      Src: /src/botan/src/lib/x509/ocsp.cpp:39,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/ocsp.cpp:40,1
    - Dst: X509_Certificate::decode_from
      Src: /src/botan/src/lib/x509/ocsp.cpp:42,1
    - Dst: auto::end_cons
      Src: /src/botan/src/lib/x509/ocsp.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' ber'
    - tag
    - ' output'
    argTypes:
    - BER_Decoder
    - ASN1_Type
    - std::vector<X509_Certificate>
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: Botan::OCSP::decode_optional_list
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - BER_Object::is_a
    - BER_Decoder::start_sequence
    - auto::end_cons
    - get_next_object
    - auto::more_items
    - X509_Certificate::decode_from
    - push_back
    linkageType: ''
    returnType: void
    signature: void decode_optional_list(BER_Decoder& ber, ASN1_Type tag, std::vector<X509_Certificate>&
      output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/x509/ocsp.cpp:52,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/ocsp.cpp:52,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/ocsp.cpp:53,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/ocsp.cpp:53,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/ocsp.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' issuer_cert'
    - ' subject_cert'
    argTypes:
    - X509_Certificate
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: Botan::OCSP::Request::Request
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - issuer_dn
    - serial_number
    - Invalid_Argument
    - subject_dn
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void Request::Request(const X509_Certificate& issuer_cert, const X509_Certificate&
      subject_cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' issuer_cert'
    - ' subject_serial'
    argTypes:
    - X509_Certificate
    - BigInt
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: Botan::OCSP::Request::Request
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request::Request(const X509_Certificate& issuer_cert, const BigInt&
      subject_serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/ocsp.cpp:63,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/x509/ocsp.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: Botan::OCSP::Request::BER_encode
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - static_cast<size_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Request::BER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/x509/ocsp.cpp:81,1
    - Dst: Botan::OCSP::Request::BER_encode
      Src: /src/botan/src/lib/x509/ocsp.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::OCSP::Request::base64_encode
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 1
    functionsReached:
    - Botan::base64_encode
    - Botan::OCSP::Request::BER_encode
    linkageType: ''
    returnType: std::string
    signature: std::string Request::base64_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - status
    argTypes:
    - Certificate_Status_Code
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: Botan::OCSP::Response::Response
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response::Response(Certificate_Status_Code status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/ocsp.cpp:89,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/ocsp.cpp:93,1
    - Dst: static_cast<Response_Status_Code>
      Src: /src/botan/src/lib/x509/ocsp.cpp:95,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/ocsp.cpp:101,1
    - Dst: BER_Decoder::start_context_specific
      Src: /src/botan/src/lib/x509/ocsp.cpp:102,1
    - Dst: BER_Decoder::decode_and_check
      Src: /src/botan/src/lib/x509/ocsp.cpp:104,1
    - Dst: OID
      Src: /src/botan/src/lib/x509/ocsp.cpp:104,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/ocsp.cpp:106,1
    - Dst: BER_Decoder::get_next_octet_string
      Src: /src/botan/src/lib/x509/ocsp.cpp:106,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/x509/ocsp.cpp:108,1
    - Dst: decode_optional_list
      Src: /src/botan/src/lib/x509/ocsp.cpp:113,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/ocsp.cpp:113,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/ocsp.cpp:118,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/ocsp.cpp:119,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/ocsp.cpp:121,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/ocsp.cpp:130,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/ocsp.cpp:136,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/ocsp.cpp:139,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/x509/ocsp.cpp:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - response_bits
    - response_bits_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 144
    functionName: Botan::OCSP::Response::Response
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::decode
    - ASN1_Type
    - BER_Decoder::more_items
    - BER_Decoder::start_sequence
    - BER_Decoder::decode_and_check
    - decode_optional_list
    - BER_Decoder::end_cons
    - BER_Decoder
    - BER_Decoder::get_next_octet_string
    - Decoding_Error
    - static_cast<Response_Status_Code>
    - OID
    - BER_Decoder::start_context_specific
    linkageType: ''
    returnType: void
    signature: void Response::Response(const uint8_t response_bits[], size_t response_bits_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:147,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/ocsp.cpp:148,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:151,1
    - Dst: subject_public_key_bitstring_sha1
      Src: /src/botan/src/lib/x509/ocsp.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' candidate'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: Botan::OCSP::Response::is_issued_by
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - subject_dn
    - empty
    - subject_public_key_bitstring_sha1
    linkageType: ''
    returnType: bool
    signature: bool Response::is_issued_by(const X509_Certificate& candidate) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/x509/ocsp.cpp:160,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:163,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:163,1
    - Dst: Botan::OCSP::Response::is_issued_by
      Src: /src/botan/src/lib/x509/ocsp.cpp:167,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/x509/ocsp.cpp:172,1
    - Dst: PK_Verifier::verify_message
      Src: /src/botan/src/lib/x509/ocsp.cpp:176,1
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/x509/ocsp.cpp:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' issuer'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 184
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 184
    functionName: Botan::OCSP::Response::verify_signature
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - subject_public_key
    - empty
    - PK_Verifier::verify_message
    - Botan::OCSP::Response::is_issued_by
    - Botan::ASN1::put_in_sequence
    - value
    linkageType: ''
    returnType: Certificate_Status_Code
    signature: Certificate_Status_Code Response::verify_signature(const X509_Certificate&
      issuer) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCSP::Response::is_issued_by
      Src: /src/botan/src/lib/x509/ocsp.cpp:191,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/x509/ocsp.cpp:196,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/ocsp.cpp:196,1
    - Dst: end
      Src: /src/botan/src/lib/x509/ocsp.cpp:196,1
    - Dst: std::bind
      Src: /src/botan/src/lib/x509/ocsp.cpp:196,1
    - Dst: end
      Src: /src/botan/src/lib/x509/ocsp.cpp:197,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:203,1
    - Dst: Certificate_Store*::find_cert_by_pubkey_sha1
      Src: /src/botan/src/lib/x509/ocsp.cpp:204,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:210,1
    - Dst: Certificate_Store*::find_cert
      Src: /src/botan/src/lib/x509/ocsp.cpp:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' issuer_certificate'
    - trusted_ocsp_responders
    argTypes:
    - X509_Certificate
    - Certificate_Store*
    constantsTouched: []
    func_position:
      end: 219
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 219
    functionName: Botan::OCSP::Response::find_signing_certificate
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - end
    - Certificate_Store*::find_cert
    - std::bind
    - empty
    - Botan::OCSP::Response::is_issued_by
    - begin
    - Certificate_Store*::find_cert_by_pubkey_sha1
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Response::find_signing_certificate(\n
      \  const X509_Certificate& issuer_certificate, const Certificate_Store* trusted_ocsp_responders)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/x509/ocsp.cpp:226,1
    - Dst: certid
      Src: /src/botan/src/lib/x509/ocsp.cpp:230,1
    - Dst: cert_status
      Src: /src/botan/src/lib/x509/ocsp.cpp:233,1
    - Dst: this_update
      Src: /src/botan/src/lib/x509/ocsp.cpp:237,1
    - Dst: next_update
      Src: /src/botan/src/lib/x509/ocsp.cpp:241,1
    - Dst: next_update
      Src: /src/botan/src/lib/x509/ocsp.cpp:242,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/x509/ocsp.cpp:245,1
    - Dst: this_update
      Src: /src/botan/src/lib/x509/ocsp.cpp:246,1
    - Dst: cert_status
      Src: /src/botan/src/lib/x509/ocsp.cpp:250,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - ' issuer'
    - ' subject'
    - ref_time
    - max_age
    argTypes:
    - X509_Certificate
    - X509_Certificate
    - std::chrono::system_clock::time_point
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 259
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 259
    functionName: Botan::OCSP::Response::status_for
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 1
    functionsReached:
    - cert_status
    - next_update
    - cryptofuzz_secp256k1_scalar_is_zero
    - certid
    - value
    - this_update
    linkageType: ''
    returnType: Certificate_Status_Code
    signature: "Certificate_Status_Code Response::status_for(const X509_Certificate&
      issuer,\n                                             const X509_Certificate&
      subject,\n                                             std::chrono::system_clock::time_point
      ref_time,\n                                             std::chrono::seconds
      max_age) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:267,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/ocsp.cpp:268,1
    - Dst: Botan::HTTP::POST_sync
      Src: /src/botan/src/lib/x509/ocsp.cpp:273,1
    - Dst: OCSP::Request::BER_encode
      Src: /src/botan/src/lib/x509/ocsp.cpp:273,1
    - Dst: auto::throw_unless_ok
      Src: /src/botan/src/lib/x509/ocsp.cpp:275,1
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/lib/x509/ocsp.cpp:279,1
    - Dst: auto::body
      Src: /src/botan/src/lib/x509/ocsp.cpp:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' issuer'
    - ' subject_serial'
    - ocsp_responder
    - timeout
    argTypes:
    - X509_Certificate
    - BigInt
    - std::string_view
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 280
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 280
    functionName: Botan::OCSP::online_check
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 1
    functionsReached:
    - auto::body
    - std::string_view::empty
    - Test_No_Shutdown_Response::Test_No_Shutdown_Response
    - auto::throw_unless_ok
    - Invalid_Argument
    - OCSP::Request::BER_encode
    - Botan::HTTP::POST_sync
    linkageType: ''
    returnType: Response
    signature: "Response online_check(const X509_Certificate& issuer,\n                      const
      BigInt& subject_serial,\n                      std::string_view ocsp_responder,\n
      \                     std::chrono::milliseconds timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/ocsp.cpp:285,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/ocsp.cpp:285,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/ocsp.cpp:286,1
    - Dst: Botan::OCSP::online_check
      Src: /src/botan/src/lib/x509/ocsp.cpp:289,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/x509/ocsp.cpp:289,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/ocsp.cpp:289,1
    - Dst: ocsp_responder
      Src: /src/botan/src/lib/x509/ocsp.cpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' issuer'
    - ' subject'
    - timeout
    argTypes:
    - X509_Certificate
    - X509_Certificate
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: Botan::OCSP::online_check
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 2
    functionsReached:
    - issuer_dn
    - serial_number
    - ocsp_responder
    - Botan::OCSP::online_check
    - Invalid_Argument
    - subject_dn
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: Response
    signature: "Response online_check(const X509_Certificate& issuer,\n                      const
      X509_Certificate& subject,\n                      std::chrono::milliseconds
      timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_sub_element_of
      Src: /src/botan/src/lib/x509/x509_dn_ub.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 73
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 73
    functionName: Botan::X509_DN::lookup_ub
    functionSourceFile: /src/botan/src/lib/x509/x509_dn_ub.cpp
    functionUses: 0
    functionsReached:
    - is_sub_element_of
    linkageType: ''
    returnType: size_t
    signature: size_t X509_DN::lookup_ub(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:41,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:42,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:49,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:52,1
    - Dst: CertificatePathStatusCodes::at
      Src: /src/botan/src/lib/x509/x509path.cpp:53,1
    - Dst: signature_algorithm
      Src: /src/botan/src/lib/x509/x509path.cpp:61,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:62,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/x509/x509path.cpp:66,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:68,1
    - Dst: std::unique_ptr::estimated_strength
      Src: /src/botan/src/lib/x509/x509path.cpp:72,1
    - Dst: minimum_key_strength
      Src: /src/botan/src/lib/x509/x509path.cpp:72,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:73,1
    - Dst: verify_signature
      Src: /src/botan/src/lib/x509/x509path.cpp:76,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:79,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509path.cpp:83,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:83,1
    - Dst: trusted_hashes
      Src: /src/botan/src/lib/x509/x509path.cpp:84,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:87,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/x509path.cpp:88,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:89,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:103,1
    - Dst: CertificatePathStatusCodes::at
      Src: /src/botan/src/lib/x509/x509path.cpp:104,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509path.cpp:107,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:113,1
    - Dst: matches_dns_name
      Src: /src/botan/src/lib/x509/x509path.cpp:113,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:114,1
    - Dst: allowed_usage
      Src: /src/botan/src/lib/x509/x509path.cpp:117,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:119,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:121,1
    - Dst: has_constraints
      Src: /src/botan/src/lib/x509/x509path.cpp:124,1
    - Dst: is_CA_cert
      Src: /src/botan/src/lib/x509/x509path.cpp:124,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:133,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:136,1
    - Dst: CertificatePathStatusCodes::at
      Src: /src/botan/src/lib/x509/x509path.cpp:137,1
    - Dst: is_self_signed
      Src: /src/botan/src/lib/x509/x509path.cpp:144,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:145,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:149,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:149,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:150,1
    - Dst: is_serial_negative
      Src: /src/botan/src/lib/x509/x509path.cpp:154,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:155,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:160,1
    - Dst: second::size
      Src: /src/botan/src/lib/x509/x509path.cpp:163,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:164,1
    - Dst: not_before
      Src: /src/botan/src/lib/x509/x509path.cpp:172,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:174,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:176,1
    - Dst: not_after
      Src: /src/botan/src/lib/x509/x509path.cpp:180,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:182,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:184,1
    - Dst: is_CA_cert
      Src: /src/botan/src/lib/x509/x509path.cpp:189,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:190,1
    - Dst: x509_version
      Src: /src/botan/src/lib/x509/x509path.cpp:195,1
    - Dst: v2_issuer_key_id
      Src: /src/botan/src/lib/x509/x509path.cpp:196,1
    - Dst: v2_subject_key_id
      Src: /src/botan/src/lib/x509/x509path.cpp:196,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:197,1
    - Dst: v3_extensions
      Src: /src/botan/src/lib/x509/x509path.cpp:201,1
    - Dst: extensions
      Src: /src/botan/src/lib/x509/x509path.cpp:202,1
    - Dst: x509_version
      Src: /src/botan/src/lib/x509/x509path.cpp:203,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:203,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:204,1
    - Dst: first::validate
      Src: /src/botan/src/lib/x509/x509path.cpp:207,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:209,1
    - Dst: get_extension_oids
      Src: /src/botan/src/lib/x509/x509path.cpp:209,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:210,1
    - Dst: CertificatePathStatusCodes::at
      Src: /src/botan/src/lib/x509/x509path.cpp:217,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:224,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:224,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:228,1
    - Dst: path_limit
      Src: /src/botan/src/lib/x509/x509path.cpp:236,1
    - Dst: path_limit
      Src: /src/botan/src/lib/x509/x509path.cpp:236,1
    - Dst: path_limit
      Src: /src/botan/src/lib/x509/x509path.cpp:237,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 106
    argCount: 5
    argNames:
    - ' cert_path'
    - ref_time
    - hostname
    - usage
    - ' restrictions'
    argTypes:
    - std::vector<X509_Certificate>
    - std::chrono::system_clock::time_point
    - std::string_view
    - Usage_Type
    - Path_Validation_Restrictions
    constantsTouched: []
    func_position:
      end: 242
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 242
    functionName: Botan::PKIX::check_chain
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 1
    functionsReached:
    - path_limit
    - v2_issuer_key_id
    - issuer_dn
    - empty
    - std::unique_ptr::estimated_strength
    - is_CA_cert
    - has_constraints
    - BOTAN_ASSERT_NOMSG
    - signature_algorithm
    - std::string_view::empty
    - minimum_key_strength
    - insert
    - v2_subject_key_id
    - std::string::empty
    - subject_dn
    - is_serial_negative
    - matches_dns_name
    - static_cast<uint32_t>
    - contains
    - verify_signature
    - not_before
    - trusted_hashes
    - is_self_signed
    - not_after
    - CertificatePathStatusCodes::at
    - get_extension_oids
    - subject_public_key
    - extensions
    - Invalid_Argument
    - x509_version
    - size
    - first::validate
    - second::size
    - v3_extensions
    - allowed_usage
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: "CertificatePathStatusCodes PKIX::check_chain(const std::vector<X509_Certificate>&
      cert_path,\n                                             std::chrono::system_clock::time_point
      ref_time,\n                                             std::string_view hostname,\n
      \                                            Usage_Type usage,\n                                             const
      Path_Validation_Restrictions& restrictions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trusted_ocsp_responders
      Src: /src/botan/src/lib/x509/x509path.cpp:259,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/x509/x509path.cpp:287,1
    - Dst: Path_Validation_Restrictions
      Src: /src/botan/src/lib/x509/x509path.cpp:289,1
    - Dst: minimum_key_strength
      Src: /src/botan/src/lib/x509/x509path.cpp:290,1
    - Dst: trusted_hashes
      Src: /src/botan/src/lib/x509/x509path.cpp:292,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/lib/x509/x509path.cpp:294,1
    - Dst: Botan::concat
      Src: /src/botan/src/lib/x509/x509path.cpp:294,1
    - Dst: auto::result
      Src: /src/botan/src/lib/x509/x509path.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - ' signing_cert'
    - ' ca'
    - ' extra_certs'
    - ' certstores'
    - ref_time
    - ' restrictions'
    argTypes:
    - X509_Certificate
    - X509_Certificate
    - std::vector<X509_Certificate>
    - std::vector<Certificate_Store*>
    - std::chrono::system_clock::time_point
    - Path_Validation_Restrictions
    constantsTouched: []
    func_position:
      end: 303
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 303
    functionName: Botan::verify_ocsp_signing_cert
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat
    - trusted_ocsp_responders
    - minimum_key_strength
    - Path_Validation_Restrictions
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::x509_path_validate
    - auto::result
    - trusted_hashes
    linkageType: ''
    returnType: Certificate_Status_Code
    signature: "Certificate_Status_Code verify_ocsp_signing_cert(const X509_Certificate&
      signing_cert,\n                                                 const X509_Certificate&
      ca,\n                                                 const std::vector<X509_Certificate>&
      extra_certs,\n                                                 const std::vector<Certificate_Store*>&
      certstores,\n                                                 std::chrono::system_clock::time_point
      ref_time,\n                                                 const Path_Validation_Restrictions&
      restrictions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:312,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:313,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:316,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:318,1
    - Dst: CertificatePathStatusCodes::at
      Src: /src/botan/src/lib/x509/x509path.cpp:319,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:321,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:322,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:324,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:324,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:325,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:327,1
    - Dst: dummy_status
      Src: /src/botan/src/lib/x509/x509path.cpp:329,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:331,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/x509path.cpp:331,1
    - Dst: find_signing_certificate
      Src: /src/botan/src/lib/x509/x509path.cpp:333,1
    - Dst: trusted_ocsp_responders
      Src: /src/botan/src/lib/x509/x509path.cpp:333,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:335,1
    - Dst: verify_ocsp_signing_cert
      Src: /src/botan/src/lib/x509/x509path.cpp:337,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/x509path.cpp:337,1
    - Dst: concat
      Src: /src/botan/src/lib/x509/x509path.cpp:339,1
    - Dst: certificates
      Src: /src/botan/src/lib/x509/x509path.cpp:339,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:344,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:345,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:347,1
    - Dst: status_for
      Src: /src/botan/src/lib/x509/x509path.cpp:347,1
    - Dst: max_ocsp_age
      Src: /src/botan/src/lib/x509/x509path.cpp:347,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:350,1
    - Dst: CertificatePathStatusCodes::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:355,1
    - Dst: CertificatePathStatusCodes::back
      Src: /src/botan/src/lib/x509/x509path.cpp:355,1
    - Dst: CertificatePathStatusCodes::pop_back
      Src: /src/botan/src/lib/x509/x509path.cpp:356,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - ' cert_path'
    - ' ocsp_responses'
    - ' certstores'
    - ref_time
    - ' restrictions'
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<std::optional<OCSP::Response>>
    - std::vector<Certificate_Store*>
    - std::chrono::system_clock::time_point
    - Path_Validation_Restrictions
    constantsTouched: []
    func_position:
      end: 360
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 360
    functionName: Botan::PKIX::check_ocsp
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 5
    functionsReached:
    - CertificatePathStatusCodes::pop_back
    - certificates
    - at
    - find_signing_certificate
    - auto::value
    - trusted_ocsp_responders
    - empty
    - insert
    - max_ocsp_age
    - Invalid_Argument
    - CertificatePathStatusCodes::back
    - CertificatePathStatusCodes::at
    - size
    - concat
    - dummy_status
    - status_for
    - verify_ocsp_signing_cert
    - CertificatePathStatusCodes::empty
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: "CertificatePathStatusCodes PKIX::check_ocsp(const std::vector<X509_Certificate>&
      cert_path,\n                                            const std::vector<std::optional<OCSP::Response>>&
      ocsp_responses,\n                                            const std::vector<Certificate_Store*>&
      certstores,\n                                            std::chrono::system_clock::time_point
      ref_time,\n                                            const Path_Validation_Restrictions&
      restrictions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:365,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:366,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:369,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:372,1
    - Dst: CertificatePathStatusCodes::at
      Src: /src/botan/src/lib/x509/x509path.cpp:373,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:375,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509path.cpp:375,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:376,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:377,1
    - Dst: allowed_usage
      Src: /src/botan/src/lib/x509/x509path.cpp:379,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:380,1
    - Dst: this_update
      Src: /src/botan/src/lib/x509/x509path.cpp:383,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:384,1
    - Dst: next_update
      Src: /src/botan/src/lib/x509/x509path.cpp:387,1
    - Dst: next_update
      Src: /src/botan/src/lib/x509/x509path.cpp:387,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:388,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/x509/x509path.cpp:391,1
    - Dst: check_signature
      Src: /src/botan/src/lib/x509/x509path.cpp:392,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:393,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:396,1
    - Dst: is_revoked
      Src: /src/botan/src/lib/x509/x509path.cpp:398,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:399,1
    - Dst: crl_distribution_points
      Src: /src/botan/src/lib/x509/x509path.cpp:402,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:403,1
    - Dst: crl_issuing_distribution_point
      Src: /src/botan/src/lib/x509/x509path.cpp:404,1
    - Dst: find
      Src: /src/botan/src/lib/x509/x509path.cpp:406,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509path.cpp:406,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509path.cpp:406,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509path.cpp:406,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:407,1
    - Dst: extensions
      Src: /src/botan/src/lib/x509/x509path.cpp:411,1
    - Dst: first::oid_of
      Src: /src/botan/src/lib/x509/x509path.cpp:416,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:420,1
    - Dst: CertificatePathStatusCodes::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:426,1
    - Dst: CertificatePathStatusCodes::back
      Src: /src/botan/src/lib/x509/x509path.cpp:426,1
    - Dst: CertificatePathStatusCodes::pop_back
      Src: /src/botan/src/lib/x509/x509path.cpp:427,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 3
    argNames:
    - ' cert_path'
    - ' crls'
    - ref_time
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<std::optional<X509_CRL>>
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 431
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 431
    functionName: Botan::PKIX::check_crl
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 1
    functionsReached:
    - CertificatePathStatusCodes::pop_back
    - empty
    - auto::end
    - CertificatePathStatusCodes::back
    - this_update
    - first::oid_of
    - insert
    - is_revoked
    - has_value
    - CertificatePathStatusCodes::empty
    - auto::begin
    - crl_distribution_points
    - at
    - CertificatePathStatusCodes::at
    - find
    - subject_public_key
    - auto::empty
    - extensions
    - next_update
    - Invalid_Argument
    - crl_issuing_distribution_point
    - size
    - check_signature
    - allowed_usage
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: "CertificatePathStatusCodes PKIX::check_crl(const std::vector<X509_Certificate>&
      cert_path,\n                                           const std::vector<std::optional<X509_CRL>>&
      crls,\n                                           std::chrono::system_clock::time_point
      ref_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:436,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:437,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:440,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:441,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:444,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:446,1
    - Dst: find_crl_for
      Src: /src/botan/src/lib/x509/x509path.cpp:448,1
    - Dst: Botan::PKIX::check_crl
      Src: /src/botan/src/lib/x509/x509path.cpp:455,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - ' cert_path'
    - ' certstores'
    - ref_time
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<Certificate_Store*>
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 456
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 456
    functionName: Botan::PKIX::check_crl
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 2
    functionsReached:
    - empty
    - Invalid_Argument
    - find_crl_for
    - size
    - Botan::PKIX::check_crl
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: "CertificatePathStatusCodes PKIX::check_crl(const std::vector<X509_Certificate>&
      cert_path,\n                                           const std::vector<Certificate_Store*>&
      certstores,\n                                           std::chrono::system_clock::time_point
      ref_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:465,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:466,1
    - Dst: ocsp_all_intermediates
      Src: /src/botan/src/lib/x509/x509path.cpp:473,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:474,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:476,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:481,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:482,1
    - Dst: ocsp_responder
      Src: /src/botan/src/lib/x509/x509path.cpp:484,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/x509path.cpp:485,1
    - Dst: std::async
      Src: /src/botan/src/lib/x509/x509path.cpp:485,1
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/lib/x509/x509path.cpp:486,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/x509path.cpp:489,1
    - Dst: std::async
      Src: /src/botan/src/lib/x509/x509path.cpp:489,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/x509/x509path.cpp:490,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/x509path.cpp:490,1
    - Dst: Botan::HTTP::POST_sync
      Src: /src/botan/src/lib/x509/x509path.cpp:494,1
    - Dst: ocsp_responder
      Src: /src/botan/src/lib/x509/x509path.cpp:494,1
    - Dst: OCSP::Request::BER_encode
      Src: /src/botan/src/lib/x509/x509path.cpp:496,1
    - Dst: HTTP::Response::status_code
      Src: /src/botan/src/lib/x509/x509path.cpp:502,1
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/lib/x509/x509path.cpp:503,1
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/lib/x509/x509path.cpp:507,1
    - Dst: HTTP::Response::body
      Src: /src/botan/src/lib/x509/x509path.cpp:507,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/x509/x509path.cpp:513,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509path.cpp:513,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:516,1
    - Dst: get
      Src: /src/botan/src/lib/x509/x509path.cpp:516,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/lib/x509/x509path.cpp:519,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - ' cert_path'
    - ' trusted_certstores'
    - ref_time
    - timeout
    - ' restrictions'
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<Certificate_Store*>
    - std::chrono::system_clock::time_point
    - std::chrono::milliseconds
    - Path_Validation_Restrictions
    constantsTouched: []
    func_position:
      end: 520
      start: 460
    functionDepth: 4
    functionLinenumber: 460
    functionLinenumberEnd: 520
    functionName: Botan::PKIX::check_ocsp_online
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 1
    functionsReached:
    - Test_No_Shutdown_Response::Test_No_Shutdown_Response
    - HTTP::Response::body
    - empty
    - ocsp_all_intermediates
    - ocsp_responder
    - Botan::BigInt::from_bytes
    - serial_number
    - Botan::PKIX::check_ocsp
    - get
    - std::vector::emplace_back
    - OCSP::Request::BER_encode
    - Botan::HTTP::POST_sync
    - std::vector::size
    - at
    - HTTP::Response::status_code
    - std::vector::reserve
    - std::async
    - std::vector::push_back
    - Invalid_Argument
    - size
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: "CertificatePathStatusCodes PKIX::check_ocsp_online(const std::vector<X509_Certificate>&
      cert_path,\n                                                   const std::vector<Certificate_Store*>&
      trusted_certstores,\n                                                   std::chrono::system_clock::time_point
      ref_time,\n                                                   std::chrono::milliseconds
      timeout,\n                                                   const Path_Validation_Restrictions&
      restrictions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:527,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:528,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:530,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:531,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:535,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:537,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:538,1
    - Dst: find_crl_for
      Src: /src/botan/src/lib/x509/x509path.cpp:540,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509path.cpp:541,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/x509path.cpp:554,1
    - Dst: std::future<std::optional<X509_CRL>>
      Src: /src/botan/src/lib/x509/x509path.cpp:554,1
    - Dst: crl_distribution_point
      Src: /src/botan/src/lib/x509/x509path.cpp:555,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/x509path.cpp:557,1
    - Dst: std::async
      Src: /src/botan/src/lib/x509/x509path.cpp:557,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/x509path.cpp:558,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/x509path.cpp:561,1
    - Dst: std::async
      Src: /src/botan/src/lib/x509/x509path.cpp:561,1
    - Dst: Botan::HTTP::GET_sync
      Src: /src/botan/src/lib/x509/x509path.cpp:562,1
    - Dst: crl_distribution_point
      Src: /src/botan/src/lib/x509/x509path.cpp:562,1
    - Dst: auto::throw_unless_ok
      Src: /src/botan/src/lib/x509/x509path.cpp:566,1
    - Dst: X509_CRL
      Src: /src/botan/src/lib/x509/x509path.cpp:568,1
    - Dst: auto::body
      Src: /src/botan/src/lib/x509/x509path.cpp:568,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509path.cpp:573,1
    - Dst: valid
      Src: /src/botan/src/lib/x509/x509path.cpp:574,1
    - Dst: get
      Src: /src/botan/src/lib/x509/x509path.cpp:576,1
    - Dst: Botan::PKIX::check_crl
      Src: /src/botan/src/lib/x509/x509path.cpp:584,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509path.cpp:587,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/x509path.cpp:588,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509path.cpp:590,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509path.cpp:590,1
    - Dst: Certificate_Store_In_Memory*::add_crl
      Src: /src/botan/src/lib/x509/x509path.cpp:591,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 5
    argNames:
    - ' cert_path'
    - ' certstores'
    - crl_store
    - ref_time
    - timeout
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<Certificate_Store*>
    - Certificate_Store_In_Memory*
    - std::chrono::system_clock::time_point
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 597
      start: 522
    functionDepth: 4
    functionLinenumber: 522
    functionLinenumberEnd: 597
    functionName: Botan::PKIX::check_crl_online
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - valid
    - Botan::HTTP::GET_sync
    - empty
    - auto::throw_unless_ok
    - BOTAN_ASSERT_NOMSG
    - Not_Implemented
    - get
    - auto::size
    - std::vector::emplace_back
    - has_value
    - Botan::PKIX::check_crl
    - std::vector::size
    - contains
    - auto::body
    - at
    - std::async
    - crl_distribution_point
    - find_crl_for
    - Certificate_Store_In_Memory*::add_crl
    - std::future<std::optional<X509_CRL>>
    - Invalid_Argument
    - size
    - X509_CRL
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: "CertificatePathStatusCodes PKIX::check_crl_online(const std::vector<X509_Certificate>&
      cert_path,\n                                                  const std::vector<Certificate_Store*>&
      certstores,\n                                                  Certificate_Store_In_Memory*
      crl_store,\n                                                  std::chrono::system_clock::time_point
      ref_time,\n                                                  std::chrono::milliseconds
      timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_self_signed
      Src: /src/botan/src/lib/x509/x509path.cpp:605,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:617,1
    - Dst: std::set::insert
      Src: /src/botan/src/lib/x509/x509path.cpp:618,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/x509path.cpp:618,1
    - Dst: Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/lib/x509/x509path.cpp:622,1
    - Dst: back
      Src: /src/botan/src/lib/x509/x509path.cpp:627,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:628,1
    - Dst: authority_key_id
      Src: /src/botan/src/lib/x509/x509path.cpp:629,1
    - Dst: find_cert
      Src: /src/botan/src/lib/x509/x509path.cpp:635,1
    - Dst: Certificate_Store_In_Memory::find_cert
      Src: /src/botan/src/lib/x509/x509path.cpp:644,1
    - Dst: std::optional::fingerprint
      Src: /src/botan/src/lib/x509/x509path.cpp:651,1
    - Dst: std::set::contains
      Src: /src/botan/src/lib/x509/x509path.cpp:653,1
    - Dst: std::set::insert
      Src: /src/botan/src/lib/x509/x509path.cpp:658,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:659,1
    - Dst: std::optional::is_self_signed
      Src: /src/botan/src/lib/x509/x509path.cpp:661,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - ' cert_path'
    - ' trusted_certstores'
    - ' end_entity'
    - ' end_entity_extra'
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<Certificate_Store*>
    - X509_Certificate
    - std::vector<X509_Certificate>
    constantsTouched: []
    func_position:
      end: 669
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 669
    functionName: Botan::PKIX::build_certificate_path
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - std::set::contains
    - fingerprint
    - issuer_dn
    - find_cert
    - is_self_signed
    - std::optional::is_self_signed
    - std::optional::fingerprint
    - Certificate_Store_In_Memory::find_cert
    - push_back
    - authority_key_id
    - back
    - Certificate_Store_In_Memory::add_certificate
    linkageType: ''
    returnType: Certificate_Status_Code
    signature: "Certificate_Status_Code PKIX::build_certificate_path(std::vector<X509_Certificate>&
      cert_path,\n                                                     const std::vector<Certificate_Store*>&
      trusted_certstores,\n                                                     const
      X509_Certificate& end_entity,\n                                                     const
      std::vector<X509_Certificate>& end_entity_extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:700,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:701,1
    - Dst: is_self_signed
      Src: /src/botan/src/lib/x509/x509path.cpp:704,1
    - Dst: Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/lib/x509/x509path.cpp:715,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:733,1
    - Dst: std::vector::back
      Src: /src/botan/src/lib/x509/x509path.cpp:734,1
    - Dst: std::vector::pop_back
      Src: /src/botan/src/lib/x509/x509path.cpp:737,1
    - Dst: std::vector::back
      Src: /src/botan/src/lib/x509/x509path.cpp:738,1
    - Dst: std::set::erase
      Src: /src/botan/src/lib/x509/x509path.cpp:739,1
    - Dst: std::vector::pop_back
      Src: /src/botan/src/lib/x509/x509path.cpp:740,1
    - Dst: std::vector::pop_back
      Src: /src/botan/src/lib/x509/x509path.cpp:745,1
    - Dst: std::optional::fingerprint
      Src: /src/botan/src/lib/x509/x509path.cpp:748,1
    - Dst: std::set::count
      Src: /src/botan/src/lib/x509/x509path.cpp:749,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:750,1
    - Dst: std::optional::is_self_signed
      Src: /src/botan/src/lib/x509/x509path.cpp:756,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:759,1
    - Dst: back
      Src: /src/botan/src/lib/x509/x509path.cpp:760,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:766,1
    - Dst: std::optional::issuer_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:771,1
    - Dst: std::optional::authority_key_id
      Src: /src/botan/src/lib/x509/x509path.cpp:772,1
    - Dst: find_all_certs
      Src: /src/botan/src/lib/x509/x509path.cpp:777,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/x509/x509path.cpp:778,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/x509/x509path.cpp:778,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509path.cpp:778,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509path.cpp:778,1
    - Dst: Certificate_Store_In_Memory::find_all_certs
      Src: /src/botan/src/lib/x509/x509path.cpp:782,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:785,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:785,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:786,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:791,1
    - Dst: std::set::emplace
      Src: /src/botan/src/lib/x509/x509path.cpp:792,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:795,1
    - Dst: std::optional<X509_Certificate>
      Src: /src/botan/src/lib/x509/x509path.cpp:795,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:798,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:802,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:808,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:809,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/x509/x509path.cpp:810,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 4
    argNames:
    - ' cert_paths_out'
    - ' trusted_certstores'
    - ' end_entity'
    - ' end_entity_extra'
    argTypes:
    - std::vector<std::vector<X509_Certificate>>
    - std::vector<Certificate_Store*>
    - std::optional<X509_Certificate>
    - std::vector<X509_Certificate>
    constantsTouched: []
    func_position:
      end: 818
      start: 696
    functionDepth: 3
    functionLinenumber: 696
    functionLinenumberEnd: 818
    functionName: Botan::PKIX::build_all_certificate_paths
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - empty
    - auto::end
    - std::optional::issuer_dn
    - std::vector::pop_back
    - back
    - auto::begin
    - std::set::emplace
    - std::optional::authority_key_id
    - std::vector::insert
    - Internal_Error
    - is_self_signed
    - std::set::erase
    - std::optional::is_self_signed
    - std::optional::fingerprint
    - find_all_certs
    - std::vector::push_back
    - std::vector::end
    - std::vector::empty
    - Certificate_Store_In_Memory::find_all_certs
    - std::set::count
    - Invalid_Argument
    - std::vector::back
    - Certificate_Store_In_Memory::add_certificate
    - std::optional<X509_Certificate>
    - push_back
    linkageType: ''
    returnType: Certificate_Status_Code
    signature: "Certificate_Status_Code PKIX::build_all_certificate_paths(std::vector<std::vector<X509_Certificate>>&
      cert_paths_out,\n                                                          const
      std::vector<Certificate_Store*>& trusted_certstores,\n                                                          const
      std::optional<X509_Certificate>& end_entity,\n                                                          const
      std::vector<X509_Certificate>& end_entity_extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:824,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:825,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:828,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:831,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:831,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:836,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:840,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:840,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:849,1
    - Dst: require_revocation_information
      Src: /src/botan/src/lib/x509/x509path.cpp:854,1
    - Dst: ocsp_all_intermediates
      Src: /src/botan/src/lib/x509/x509path.cpp:855,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:856,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 25
    argCount: 4
    argNames:
    - ' chain_status'
    - ' crl'
    - ' ocsp'
    - ' restrictions'
    argTypes:
    - CertificatePathStatusCodes
    - CertificatePathStatusCodes
    - CertificatePathStatusCodes
    - Path_Validation_Restrictions
    constantsTouched: []
    func_position:
      end: 860
      start: 820
    functionDepth: 3
    functionLinenumber: 820
    functionLinenumberEnd: 860
    functionName: Botan::PKIX::merge_revocation_status
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - empty
    - insert
    - ocsp_all_intermediates
    - Invalid_Argument
    - size
    - require_revocation_information
    linkageType: ''
    returnType: void
    signature: "void PKIX::merge_revocation_status(CertificatePathStatusCodes& chain_status,\n
      \                                  const CertificatePathStatusCodes& crl,\n
      \                                  const CertificatePathStatusCodes& ocsp,\n
      \                                  const Path_Validation_Restrictions& restrictions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:863,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:864,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:871,1
    - Dst: rbegin
      Src: /src/botan/src/lib/x509/x509path.cpp:872,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' cert_status'
    argTypes:
    - CertificatePathStatusCodes
    constantsTouched: []
    func_position:
      end: 880
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 880
    functionName: Botan::PKIX::overall_status
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 2
    functionsReached:
    - rbegin
    - empty
    - Invalid_Argument
    linkageType: ''
    returnType: Certificate_Status_Code
    signature: Certificate_Status_Code PKIX::overall_status(const CertificatePathStatusCodes&
      cert_status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:890,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:891,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/x509/x509path.cpp:896,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:897,1
    - Dst: Botan::PKIX::build_all_certificate_paths
      Src: /src/botan/src/lib/x509/x509path.cpp:902,1
    - Dst: Path_Validation_Result
      Src: /src/botan/src/lib/x509/x509path.cpp:906,1
    - Dst: Botan::PKIX::check_chain
      Src: /src/botan/src/lib/x509/x509path.cpp:912,1
    - Dst: Botan::PKIX::check_crl
      Src: /src/botan/src/lib/x509/x509path.cpp:914,1
    - Dst: Botan::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:918,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/lib/x509/x509path.cpp:919,1
    - Dst: CertificatePathStatusCodes::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:922,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/x509/x509path.cpp:922,1
    - Dst: Botan::PKIX::check_ocsp_online
      Src: /src/botan/src/lib/x509/x509path.cpp:924,1
    - Dst: CertificatePathStatusCodes::resize
      Src: /src/botan/src/lib/x509/x509path.cpp:926,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:927,1
    - Dst: Botan::PKIX::merge_revocation_status
      Src: /src/botan/src/lib/x509/x509path.cpp:931,1
    - Dst: Path_Validation_Result::successful_validation
      Src: /src/botan/src/lib/x509/x509path.cpp:934,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:937,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509path.cpp:937,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 8
    argNames:
    - ' end_certs'
    - ' restrictions'
    - ' trusted_roots'
    - hostname
    - usage
    - ref_time
    - ocsp_timeout
    - ' ocsp_resp'
    argTypes:
    - std::vector<X509_Certificate>
    - Path_Validation_Restrictions
    - std::vector<Certificate_Store*>
    - std::string_view
    - Usage_Type
    - std::chrono::system_clock::time_point
    - std::chrono::milliseconds
    - std::vector<std::optional<OCSP::Response>>
    constantsTouched: []
    func_position:
      end: 941
      start: 882
    functionDepth: 5
    functionLinenumber: 882
    functionLinenumberEnd: 941
    functionName: Botan::x509_path_validate
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 34
    functionsReached:
    - std::vector::push_back
    - std::move
    - Botan::PKIX::check_chain
    - Path_Validation_Result::successful_validation
    - Path_Validation_Result
    - Botan::PKIX::check_ocsp_online
    - Botan::PKIX::check_ocsp
    - CertificatePathStatusCodes::resize
    - Invalid_Argument
    - insert
    - Botan::PKIX::merge_revocation_status
    - Botan::empty
    - Botan_CLI::Timer::milliseconds
    - CertificatePathStatusCodes::empty
    - Botan::PKIX::build_all_certificate_paths
    - Botan::size
    - Botan::PKIX::check_crl
    linkageType: ''
    returnType: Path_Validation_Result
    signature: "Path_Validation_Result x509_path_validate(const std::vector<X509_Certificate>&
      end_certs,\n                                          const Path_Validation_Restrictions&
      restrictions,\n                                          const std::vector<Certificate_Store*>&
      trusted_roots,\n                                          std::string_view hostname,\n
      \                                         Usage_Type usage,\n                                          std::chrono::system_clock::time_point
      ref_time,\n                                          std::chrono::milliseconds
      ocsp_timeout,\n                                          const std::vector<std::optional<OCSP::Response>>&
      ocsp_resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:952,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/lib/x509/x509path.cpp:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - ' end_cert'
    - ' restrictions'
    - ' trusted_roots'
    - hostname
    - usage
    - when
    - ocsp_timeout
    - ' ocsp_resp'
    argTypes:
    - X509_Certificate
    - Path_Validation_Restrictions
    - std::vector<Certificate_Store*>
    - std::string_view
    - Usage_Type
    - std::chrono::system_clock::time_point
    - std::chrono::milliseconds
    - std::vector<std::optional<OCSP::Response>>
    constantsTouched: []
    func_position:
      end: 954
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 954
    functionName: Botan::x509_path_validate
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 35
    functionsReached:
    - std::vector::push_back
    - Botan::x509_path_validate
    linkageType: ''
    returnType: Path_Validation_Result
    signature: "Path_Validation_Result x509_path_validate(const X509_Certificate&
      end_cert,\n                                          const Path_Validation_Restrictions&
      restrictions,\n                                          const std::vector<Certificate_Store*>&
      trusted_roots,\n                                          std::string_view hostname,\n
      \                                         Usage_Type usage,\n                                          std::chrono::system_clock::time_point
      when,\n                                          std::chrono::milliseconds ocsp_timeout,\n
      \                                         const std::vector<std::optional<OCSP::Response>>&
      ocsp_resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:965,1
    - Dst: const_cast<Certificate_Store*>
      Src: /src/botan/src/lib/x509/x509path.cpp:965,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/lib/x509/x509path.cpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - ' end_certs'
    - ' restrictions'
    - ' store'
    - hostname
    - usage
    - when
    - ocsp_timeout
    - ' ocsp_resp'
    argTypes:
    - std::vector<X509_Certificate>
    - Path_Validation_Restrictions
    - Certificate_Store
    - std::string_view
    - Usage_Type
    - std::chrono::system_clock::time_point
    - std::chrono::milliseconds
    - std::vector<std::optional<OCSP::Response>>
    constantsTouched: []
    func_position:
      end: 968
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 968
    functionName: Botan::x509_path_validate
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 36
    functionsReached:
    - const_cast<Certificate_Store*>
    - std::vector::push_back
    - Botan::x509_path_validate
    linkageType: ''
    returnType: Path_Validation_Result
    signature: "Path_Validation_Result x509_path_validate(const std::vector<X509_Certificate>&
      end_certs,\n                                          const Path_Validation_Restrictions&
      restrictions,\n                                          const Certificate_Store&
      store,\n                                          std::string_view hostname,\n
      \                                         Usage_Type usage,\n                                          std::chrono::system_clock::time_point
      when,\n                                          std::chrono::milliseconds ocsp_timeout,\n
      \                                         const std::vector<std::optional<OCSP::Response>>&
      ocsp_resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:979,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:982,1
    - Dst: const_cast<Certificate_Store*>
      Src: /src/botan/src/lib/x509/x509path.cpp:982,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/lib/x509/x509path.cpp:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - ' end_cert'
    - ' restrictions'
    - ' store'
    - hostname
    - usage
    - when
    - ocsp_timeout
    - ' ocsp_resp'
    argTypes:
    - X509_Certificate
    - Path_Validation_Restrictions
    - Certificate_Store
    - std::string_view
    - Usage_Type
    - std::chrono::system_clock::time_point
    - std::chrono::milliseconds
    - std::vector<std::optional<OCSP::Response>>
    constantsTouched: []
    func_position:
      end: 985
      start: 970
    functionDepth: 2
    functionLinenumber: 970
    functionLinenumberEnd: 985
    functionName: Botan::x509_path_validate
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 37
    functionsReached:
    - const_cast<Certificate_Store*>
    - std::vector::push_back
    - Botan::x509_path_validate
    linkageType: ''
    returnType: Path_Validation_Result
    signature: "Path_Validation_Result x509_path_validate(const X509_Certificate&
      end_cert,\n                                          const Path_Validation_Restrictions&
      restrictions,\n                                          const Certificate_Store&
      store,\n                                          std::string_view hostname,\n
      \                                         Usage_Type usage,\n                                          std::chrono::system_clock::time_point
      when,\n                                          std::chrono::milliseconds ocsp_timeout,\n
      \                                         const std::vector<std::optional<OCSP::Response>>&
      ocsp_resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509path.cpp:997,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1000,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1003,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1004,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1005,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1006,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1007,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - require_rev
    - key_strength
    - ocsp_intermediates
    - max_ocsp_age
    - trusted_ocsp_responders
    - ignore_trusted_root_time_range
    argTypes:
    - bool
    - size_t
    - bool
    - std::chrono::seconds
    - std::unique_ptr<Certificate_Store>
    - bool
    constantsTouched: []
    func_position:
      end: 1009
      start: 987
    functionDepth: 3
    functionLinenumber: 987
    functionLinenumberEnd: 1009
    functionName: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 22
    functionsReached:
    - std::move
    - insert
    linkageType: ''
    returnType: void
    signature: "void Path_Validation_Restrictions::Path_Validation_Restrictions(bool
      require_rev,\n                                                           size_t
      key_strength,\n                                                           bool
      ocsp_intermediates,\n                                                           std::chrono::seconds
      max_ocsp_age,\n                                                           std::unique_ptr<Certificate_Store>
      trusted_ocsp_responders,\n                                                           bool
      ignore_trusted_root_time_range)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1019,1
    - Dst: CertificatePathStatusCodes::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:1022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' all_statuses'
    argTypes:
    - CertificatePathStatusCodes
    constantsTouched: []
    func_position:
      end: 1025
      start: 1012
    functionDepth: 3
    functionLinenumber: 1012
    functionLinenumberEnd: 1025
    functionName: Botan::find_warnings
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - CertificatePathStatusCodes::push_back
    - std::set::insert
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: CertificatePathStatusCodes find_warnings(const CertificatePathStatusCodes&
      all_statuses)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509path.cpp:1030,1
    - Dst: find_warnings
      Src: /src/botan/src/lib/x509/x509path.cpp:1031,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509path.cpp:1032,1
    - Dst: Botan::PKIX::overall_status
      Src: /src/botan/src/lib/x509/x509path.cpp:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - status
    - ' cert_chain'
    argTypes:
    - CertificatePathStatusCodes
    - std::vector<X509_Certificate>
    constantsTouched: []
    func_position:
      end: 1033
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1033
    functionName: Botan::Path_Validation_Result::Path_Validation_Result
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - find_warnings
    - Botan::PKIX::overall_status
    linkageType: ''
    returnType: void
    signature: "void Path_Validation_Result::Path_Validation_Result(CertificatePathStatusCodes
      status,\n                                               std::vector<X509_Certificate>&&
      cert_chain)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:1036,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509path.cpp:1037,1
    - Dst: result
      Src: /src/botan/src/lib/x509/x509path.cpp:1039,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509path.cpp:1040,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:1043,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1044
    functionName: '& Path_Validation_Result::trust_root() const'
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - empty
    - result
    - size
    linkageType: ''
    returnType: X509_Certificate
    signature: X509_Certificate & Path_Validation_Result::trust_root() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: result
      Src: /src/botan/src/lib/x509/x509path.cpp:1047,1
    - Dst: result
      Src: /src/botan/src/lib/x509/x509path.cpp:1047,1
    - Dst: result
      Src: /src/botan/src/lib/x509/x509path.cpp:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    functionName: Botan::Path_Validation_Result::successful_validation
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 17
    functionsReached:
    - result
    linkageType: ''
    returnType: bool
    signature: bool Path_Validation_Result::successful_validation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1058
    functionName: Botan::Path_Validation_Result::no_warnings
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 1
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Path_Validation_Result::no_warnings() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    functionName: Botan::Path_Validation_Result::warnings
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: CertificatePathStatusCodes Path_Validation_Result::warnings() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/lib/x509/x509path.cpp:1065,1
    - Dst: result
      Src: /src/botan/src/lib/x509/x509path.cpp:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1066
    functionName: Botan::Path_Validation_Result::result_string
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 12
    functionsReached:
    - Botan::Path_Validation_Result::status_string
    - result
    linkageType: ''
    returnType: std::string
    signature: std::string Path_Validation_Result::result_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - Certificate_Status_Code
    constantsTouched: []
    func_position:
      end: 1074
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1074
    functionName: Botan::Path_Validation_Result::status_string
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Path_Validation_Result::status_string(Certificate_Status_Code
      code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:1079,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/x509/x509path.cpp:1081,1
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/lib/x509/x509path.cpp:1081,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/x509/x509path.cpp:1085,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/x509/x509path.cpp:1087,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/x509/x509path.cpp:1087,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/x509/x509path.cpp:1088,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/x509/x509path.cpp:1088,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/x509/x509path.cpp:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1091
    functionName: Botan::Path_Validation_Result::warnings_string
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 1
    functionsReached:
    - Botan::Path_Validation_Result::status_string
    - std::ostringstream::str
    - std::to_string
    - size
    - std::string::size
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string Path_Validation_Result::warnings_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/x509_ca.h:224,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ca.h:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 252
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.h
    functionUses: 10
    functionsReached:
    - BOTAN_DEPRECATED
    - at
    linkageType: ''
    returnType: X509_CA
    signature: X509_CA final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tolower
      Src: /src/botan/src/lib/x509/x509_dn.cpp:24,1
    - Dst: static_cast<unsigned char>
      Src: /src/botan/src/lib/x509/x509_dn.cpp:24,1
    - Dst: std::tolower
      Src: /src/botan/src/lib/x509/x509_dn.cpp:24,1
    - Dst: static_cast<unsigned char>
      Src: /src/botan/src/lib/x509/x509_dn.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char
    - char
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::caseless_cmp
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - std::tolower
    linkageType: ''
    returnType: bool
    signature: bool caseless_cmp(char a, char b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::isspace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:28,1
    - Dst: static_cast<unsigned char>
      Src: /src/botan/src/lib/x509/x509_dn.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan::is_space
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - std::isspace
    linkageType: ''
    returnType: bool
    signature: bool is_space(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:37,1
    - Dst: std::string_view::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:38,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:40,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:40,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:43,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:43,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:47,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:47,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:48,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:49,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:53,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:53,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:56,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:56,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:60,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:60,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:63,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:63,1
    - Dst: Botan::caseless_cmp
      Src: /src/botan/src/lib/x509/x509_dn.cpp:68,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:75,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:75,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:78,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:78,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:82,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:82,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 86
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 86
    functionName: Botan::x500_name_cmp
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::end
    - std::string_view::begin
    - Botan::caseless_cmp
    - Botan::is_space
    linkageType: ''
    returnType: bool
    signature: bool x500_name_cmp(std::string_view name1, std::string_view name2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509_dn.cpp:94,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - str
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan::X509_DN::add_attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 5
    functionsReached:
    - Botan::X509_DN::add_attribute
    - Botan::OID::from_string
    linkageType: ''
    returnType: void
    signature: void X509_DN::add_attribute(std::string_view type, std::string_view
      str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_dn.cpp:101,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:105,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_dn.cpp:105,1
    - Dst: clear
      Src: /src/botan/src/lib/x509/x509_dn.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' oid'
    - ' str'
    argTypes:
    - OID
    - ASN1_String
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: Botan::X509_DN::add_attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 5
    functionsReached:
    - clear
    - std::make_pair
    - empty
    - push_back
    linkageType: ''
    returnType: void
    signature: void X509_DN::add_attribute(const OID& oid, const ASN1_String& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:116,1
    - Dst: second::value
      Src: /src/botan/src/lib/x509/x509_dn.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: Botan::X509_DN::get_attributes
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - second::value
    - std::multimap::emplace
    linkageType: ''
    returnType: std::multimap<OID, std::string>
    signature: std::multimap<OID, std::string> X509_DN::get_attributes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:128,1
    - Dst: first::to_formatted_string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:128,1
    - Dst: second::value
      Src: /src/botan/src/lib/x509/x509_dn.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: Botan::X509_DN::contents
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - second::value
    - std::multimap::emplace
    - first::to_formatted_string
    linkageType: ''
    returnType: std::multimap<std::string, std::string>
    signature: std::multimap<std::string, std::string> X509_DN::contents() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:135,1
    - Dst: Botan::X509_DN::deref_info_field
      Src: /src/botan/src/lib/x509/x509_dn.cpp:135,1
    - Dst: OID::has_value
      Src: /src/botan/src/lib/x509/x509_dn.cpp:136,1
    - Dst: Botan::X509_DN::has_field
      Src: /src/botan/src/lib/x509/x509_dn.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - attr
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: Botan::X509_DN::has_field
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 1
    functionsReached:
    - Botan::X509_DN::deref_info_field
    - OID::has_value
    - Botan::OID::from_string
    - Botan::X509_DN::has_field
    linkageType: ''
    returnType: bool
    signature: bool X509_DN::has_field(std::string_view attr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: Botan::X509_DN::has_field
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool X509_DN::has_field(const OID& oid) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:155,1
    - Dst: Botan::X509_DN::deref_info_field
      Src: /src/botan/src/lib/x509/x509_dn.cpp:155,1
    - Dst: Botan::X509_DN::get_first_attribute
      Src: /src/botan/src/lib/x509/x509_dn.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: Botan::X509_DN::get_first_attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 1
    functionsReached:
    - Botan::X509_DN::deref_info_field
    - Botan::X509_DN::get_first_attribute
    - Botan::OID::from_string
    linkageType: ''
    returnType: std::string
    signature: std::string X509_DN::get_first_attribute(std::string_view attr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_String
      Src: /src/botan/src/lib/x509/x509_dn.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: Botan::X509_DN::get_first_attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 1
    functionsReached:
    - ASN1_String
    linkageType: ''
    returnType: ASN1_String
    signature: ASN1_String X509_DN::get_first_attribute(const OID& oid) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:173,1
    - Dst: Botan::X509_DN::deref_info_field
      Src: /src/botan/src/lib/x509/x509_dn.cpp:173,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:179,1
    - Dst: second::value
      Src: /src/botan/src/lib/x509/x509_dn.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - attr
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: Botan::X509_DN::get_attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_DN::deref_info_field
    - Botan::OID::from_string
    - std::vector::push_back
    - second::value
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_DN::get_attribute(std::string_view attr)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:214,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 1
    argNames:
    - info
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 215
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 215
    functionName: Botan::X509_DN::deref_info_field
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 3
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string X509_DN::deref_info_field(std::string_view info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attributes
      Src: /src/botan/src/lib/x509/x509_dn.cpp:221,1
    - Dst: get_attributes
      Src: /src/botan/src/lib/x509/x509_dn.cpp:222,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:224,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:224,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:228,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:229,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:232,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:232,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:235,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:238,1
    - Dst: Botan::x500_name_cmp
      Src: /src/botan/src/lib/x509/x509_dn.cpp:244,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - ' dn1'
    - ' dn2'
    argTypes:
    - X509_DN
    - X509_DN
    constantsTouched: []
    func_position:
      end: 251
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 251
    functionName: operator==(const X509_DN& dn1, const X509_DN& dn2)
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - get_attributes
    - auto::end
    - auto::size
    - Botan::x500_name_cmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const X509_DN& dn1, const X509_DN& dn2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dn1'
    - ' dn2'
    argTypes:
    - X509_DN
    - X509_DN
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: operator!=(const X509_DN& dn1, const X509_DN& dn2)
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const X509_DN& dn1, const X509_DN& dn2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attributes
      Src: /src/botan/src/lib/x509/x509_dn.cpp:264,1
    - Dst: get_attributes
      Src: /src/botan/src/lib/x509/x509_dn.cpp:265,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:268,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:268,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:271,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:271,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:276,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:277,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:279,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:279,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_dn.cpp:289,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:289,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_dn.cpp:290,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:290,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:295,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:296,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:297,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:297,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/x509/x509_dn.cpp:298,1
    - Dst: Botan::x500_name_cmp
      Src: /src/botan/src/lib/x509/x509_dn.cpp:301,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/x509/x509_dn.cpp:312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - ' dn1'
    - ' dn2'
    argTypes:
    - X509_DN
    - X509_DN
    constantsTouched: []
    func_position:
      end: 314
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 314
    functionName: operator<(const X509_DN& dn1, const X509_DN& dn2)
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - get_attributes
    - Botan::x500_name_cmp
    - BOTAN_DEBUG_ASSERT
    - auto::end
    - auto::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: bool operator<(const X509_DN& dn1, const X509_DN& dn2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_DN::encode_into
      Src: /src/botan/src/lib/x509/x509_dn.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: Botan::X509_DN::DER_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_DN::encode_into
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509_DN::DER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_dn.cpp:327,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_dn.cpp:329,1
    - Dst: raw_bytes
      Src: /src/botan/src/lib/x509/x509_dn.cpp:334,1
    - Dst: start_set
      Src: /src/botan/src/lib/x509/x509_dn.cpp:337,1
    - Dst: end_cons
      Src: /src/botan/src/lib/x509/x509_dn.cpp:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 342
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 342
    functionName: Botan::X509_DN::encode_into
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 1
    functionsReached:
    - start_sequence
    - empty
    - start_set
    - raw_bytes
    - end_cons
    linkageType: ''
    returnType: void
    signature: void X509_DN::encode_into(DER_Encoder& der) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_dn.cpp:350,1
    - Dst: clear
      Src: /src/botan/src/lib/x509/x509_dn.cpp:354,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/x509_dn.cpp:356,1
    - Dst: BER_Decoder::start_set
      Src: /src/botan/src/lib/x509/x509_dn.cpp:357,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/x509_dn.cpp:359,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_dn.cpp:363,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509_dn.cpp:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 374
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 374
    functionName: Botan::X509_DN::decode_from
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 3
    functionsReached:
    - start_sequence
    - clear
    - BER_Decoder::start_sequence
    - BER_Decoder::more_items
    - Botan::X509_DN::add_attribute
    - BER_Decoder::start_set
    linkageType: ''
    returnType: void
    signature: void X509_DN::decode_from(BER_Decoder& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 398
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 398
    functionName: Botan::to_short_form
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - to_formatted_string
    linkageType: ''
    returnType: std::string
    signature: std::string to_short_form(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/x509/x509_dn.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: Botan::X509_DN::to_string
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string X509_DN::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dn_info
      Src: /src/botan/src/lib/x509/x509_dn.cpp:409,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:411,1
    - Dst: to_short_form
      Src: /src/botan/src/lib/x509/x509_dn.cpp:412,1
    - Dst: second::value
      Src: /src/botan/src/lib/x509/x509_dn.cpp:413,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' out'
    - ' dn'
    argTypes:
    - std::ostream
    - X509_DN
    constantsTouched: []
    func_position:
      end: 426
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 426
    functionName: '& operator<<(std::ostream& out, const X509_DN& dn)'
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - second::value
    - dn_info
    - size
    - to_short_form
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& out, const X509_DN& dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/lib/x509/x509_dn.cpp:435,1
    - Dst: std::isspace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:438,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/x509/x509_dn.cpp:438,1
    - Dst: std::isspace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:440,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:441,1
    - Dst: good
      Src: /src/botan/src/lib/x509/x509_dn.cpp:448,1
    - Dst: std::isspace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:451,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:452,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_dn.cpp:456,1
    - Dst: good
      Src: /src/botan/src/lib/x509/x509_dn.cpp:461,1
    - Dst: std::isspace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:464,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/x509/x509_dn.cpp:465,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:468,1
    - Dst: good
      Src: /src/botan/src/lib/x509/x509_dn.cpp:473,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:476,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:480,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/x509/x509_dn.cpp:484,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/x509/x509_dn.cpp:484,1
    - Dst: add_attribute
      Src: /src/botan/src/lib/x509/x509_dn.cpp:485,1
    - Dst: Botan::X509_DN::deref_info_field
      Src: /src/botan/src/lib/x509/x509_dn.cpp:485,1
    - Dst: good
      Src: /src/botan/src/lib/x509/x509_dn.cpp:489,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 58
    argCount: 2
    argNames:
    - ' in'
    - ' dn'
    argTypes:
    - std::istream
    - X509_DN
    constantsTouched: []
    func_position:
      end: 491
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 491
    functionName: '& operator>>(std::istream& in, X509_DN& dn)'
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - std::isspace
    - good
    - add_attribute
    - Botan::X509_DN::deref_info_field
    - Invalid_Argument
    - std::string::empty
    - std::string::push_back
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& in, X509_DN& dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/x509opt.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time_string
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::X509_Cert_Options::not_before
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 2
    functionsReached:
    - X509_Time
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::not_before(std::string_view time_string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/x509opt.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time_string
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::X509_Cert_Options::not_after
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 2
    functionsReached:
    - X509_Time
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::not_after(std::string_view time_string)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - usage
    argTypes:
    - Key_Constraints
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::X509_Cert_Options::add_constraints
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::add_constraints(Key_Constraints usage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509opt.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::X509_Cert_Options::add_ex_constraint
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 2
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::add_ex_constraint(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509opt.cpp:47,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509opt.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oid_str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::X509_Cert_Options::add_ex_constraint
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 2
    functionsReached:
    - Botan::OID::from_string
    - push_back
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::add_ex_constraint(std::string_view oid_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan::X509_Cert_Options::CA_key
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::CA_key(size_t limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan::X509_Cert_Options::set_padding_scheme
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::set_padding_scheme(std::string_view scheme)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/x509/x509opt.cpp:71,1
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/x509opt.cpp:73,1
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/x509opt.cpp:74,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/x509/x509opt.cpp:74,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509opt.cpp:76,1
    - Dst: split_on
      Src: /src/botan/src/lib/x509/x509opt.cpp:80,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509opt.cpp:82,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509opt.cpp:83,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509opt.cpp:86,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509opt.cpp:89,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509opt.cpp:92,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509opt.cpp:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - initial_opts
    - expiration_time
    argTypes:
    - std::string_view
    - uint32_t
    constantsTouched: []
    func_position:
      end: 98
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 98
    functionName: Botan::X509_Cert_Options::X509_Cert_Options
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 4
    functionsReached:
    - std::vector::size
    - std::vector::empty
    - std::string_view::empty
    - Botan_CLI::Timer::seconds
    - split_on
    - Invalid_Argument
    - Botan::TLS::detail::AsyncBase::complete_now
    - X509_Time
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::X509_Cert_Options(std::string_view initial_opts,
      uint32_t expiration_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_cert
      Src: /src/botan/src/lib/x509/certstor.h:71,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor.h:71,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/certstor.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan::certificate_known
    functionSourceFile: /src/botan/src/lib/x509/certstor.h
    functionUses: 0
    functionsReached:
    - subject_key_id
    - subject_dn
    - find_cert
    linkageType: ''
    returnType: bool
    signature: bool certificate_known(const X509_Certificate& cert) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 146
    functionName: Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Certificate_Store_In_Memory
    signature: Certificate_Store_In_Memory Certificate_Store
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/alt_name.cpp:19,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:20,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/alt_name.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: Botan::AlternativeName::add_uri
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 2
    functionsReached:
    - insert
    - std::string
    - std::string_view::empty
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_uri(std::string_view uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/alt_name.cpp:25,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:26,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/alt_name.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: Botan::AlternativeName::add_email
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 2
    functionsReached:
    - insert
    - std::string
    - std::string_view::empty
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_email(std::string_view addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/alt_name.cpp:31,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:32,1
    - Dst: tolower_string
      Src: /src/botan/src/lib/x509/alt_name.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dns
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: Botan::AlternativeName::add_dns
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 2
    functionsReached:
    - insert
    - tolower_string
    - std::string_view::empty
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_dns(std::string_view dns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:37,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/alt_name.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oid'
    - ' value'
    argTypes:
    - OID
    - ASN1_String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::AlternativeName::add_other_name
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 1
    functionsReached:
    - insert
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_other_name(const OID& oid, const ASN1_String&
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dn'
    argTypes:
    - X509_DN
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::AlternativeName::add_dn
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 2
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_dn(const X509_DN& dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::AlternativeName::add_ipv4_address
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 1
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_ipv4_address(uint32_t ip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/botan/src/lib/x509/alt_name.cpp:49,1
    - Dst: size
      Src: /src/botan/src/lib/x509/alt_name.cpp:50,1
    - Dst: size
      Src: /src/botan/src/lib/x509/alt_name.cpp:50,1
    - Dst: size
      Src: /src/botan/src/lib/x509/alt_name.cpp:50,1
    - Dst: size
      Src: /src/botan/src/lib/x509/alt_name.cpp:50,1
    - Dst: size
      Src: /src/botan/src/lib/x509/alt_name.cpp:50,1
    - Dst: size
      Src: /src/botan/src/lib/x509/alt_name.cpp:50,1
    - Dst: BOTAN_ASSERT_IS_SOME
      Src: /src/botan/src/lib/x509/alt_name.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: Botan::AlternativeName::count
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 0
    functionsReached:
    - checked_add
    - BOTAN_ASSERT_IS_SOME
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AlternativeName::count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::count
      Src: /src/botan/src/lib/x509/alt_name.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::AlternativeName::has_items
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::count
    linkageType: ''
    returnType: bool
    signature: bool AlternativeName::has_items() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/alt_name.cpp:60,1
    - Dst: start_explicit
      Src: /src/botan/src/lib/x509/alt_name.cpp:76,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:86,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/alt_name.cpp:86,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/alt_name.cpp:86,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:91,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/alt_name.cpp:91,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/alt_name.cpp:91,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:95,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/alt_name.cpp:95,1
    - Dst: DER_encode
      Src: /src/botan/src/lib/x509/alt_name.cpp:95,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:100,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/alt_name.cpp:100,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/alt_name.cpp:100,1
    - Dst: store_be
      Src: /src/botan/src/lib/x509/alt_name.cpp:104,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:106,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/alt_name.cpp:106,1
    - Dst: auto::data
      Src: /src/botan/src/lib/x509/alt_name.cpp:106,1
    - Dst: end_cons
      Src: /src/botan/src/lib/x509/alt_name.cpp:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 110
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 110
    functionName: Botan::AlternativeName::encode_into
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - ASN1_String::value
    - store_be
    - start_explicit
    - auto::data
    - add_object
    - ASN1_Type
    - DER_encode
    - end_cons
    linkageType: ''
    returnType: void
    signature: void AlternativeName::encode_into(DER_Encoder& der) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/alt_name.cpp:113,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/alt_name.cpp:115,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:116,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:118,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/alt_name.cpp:122,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/alt_name.cpp:123,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:124,1
    - Dst: BER_Decoder::verify_end
      Src: /src/botan/src/lib/x509/alt_name.cpp:125,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:127,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/alt_name.cpp:128,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:133,1
    - Dst: BER_Decoder::verify_end
      Src: /src/botan/src/lib/x509/alt_name.cpp:134,1
    - Dst: Botan::ASN1_String::is_string_type
      Src: /src/botan/src/lib/x509/alt_name.cpp:136,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/x509/alt_name.cpp:136,1
    - Dst: BER_Object::get_class
      Src: /src/botan/src/lib/x509/alt_name.cpp:136,1
    - Dst: Botan::AlternativeName::add_othername
      Src: /src/botan/src/lib/x509/alt_name.cpp:137,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/alt_name.cpp:137,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/x509/alt_name.cpp:137,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:140,1
    - Dst: Botan::AlternativeName::add_email
      Src: /src/botan/src/lib/x509/alt_name.cpp:141,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/alt_name.cpp:141,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:142,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:143,1
    - Dst: check_and_canonicalize_dns_name
      Src: /src/botan/src/lib/x509/alt_name.cpp:143,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/alt_name.cpp:143,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:144,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/alt_name.cpp:147,1
    - Dst: Botan::AlternativeName::add_dn
      Src: /src/botan/src/lib/x509/alt_name.cpp:148,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:149,1
    - Dst: Botan::AlternativeName::add_uri
      Src: /src/botan/src/lib/x509/alt_name.cpp:150,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/alt_name.cpp:150,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:151,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/alt_name.cpp:152,1
    - Dst: Botan::AlternativeName::add_ipv4_address
      Src: /src/botan/src/lib/x509/alt_name.cpp:154,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/alt_name.cpp:155,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/alt_name.cpp:156,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 160
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 160
    functionName: Botan::AlternativeName::decode_from
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::add_dn
    - BER_Object::get_class
    - Botan::AlternativeName::add_email
    - Decoding_Error
    - BER_Decoder::decode
    - Botan::AlternativeName::add_othername
    - BER_Object::is_a
    - BER_Object::length
    - insert
    - BER_Decoder::verify_end
    - BER_Object::type
    - Botan::ASN1_String::is_string_type
    - start_sequence
    - BER_Decoder::more_items
    - Botan::ASN1::to_string
    - check_and_canonicalize_dns_name
    - BER_Decoder::get_next_object
    - Botan::AlternativeName::add_uri
    - Botan::AlternativeName::add_ipv4_address
    linkageType: ''
    returnType: void
    signature: void AlternativeName::decode_from(BER_Decoder& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Path_Validation_Restrictions
      Src: /src/botan/src/lib/x509/x509path.h:56,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/x509/x509path.h:60,1
    - Dst: std::make_unique<Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/x509/x509path.h:61,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/x509/x509path.h:86,1
    - Dst: std::make_unique<Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/x509/x509path.h:87,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509path.h:94,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/x509/x509path.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 152
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/x509/x509path.h
    functionUses: 10
    functionsReached:
    - std::move
    - Botan::get
    - Path_Validation_Restrictions
    - cryptofuzz_secp256k1_scalar_is_zero
    - std::make_unique<Certificate_Store_In_Memory>
    linkageType: ''
    returnType: Path_Validation_Restrictions
    signature: Path_Validation_Restrictions final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 232
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/x509/x509path.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: Path_Validation_Result
    signature: Path_Validation_Result final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::X509_CRL::PEM_label
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509_CRL::PEM_label() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::X509_CRL::alternate_PEM_labels
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_CRL::alternate_PEM_labels() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::X509_CRL::X509_CRL
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 5
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void X509_CRL::X509_CRL(DataSource& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:45,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_crl.cpp:45,1
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Botan::X509_CRL::X509_CRL
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 5
    functionsReached:
    - data
    - load_data
    - size
    linkageType: ''
    returnType: void
    signature: void X509_CRL::X509_CRL(const std::vector<uint8_t>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fsname
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: Botan::X509_CRL::X509_CRL
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 5
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void X509_CRL::X509_CRL(std::string_view fsname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<CRL_Data>
      Src: /src/botan/src/lib/x509/x509_crl.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' issuer'
    - ' this_update'
    - ' next_update'
    - ' revoked'
    argTypes:
    - X509_DN
    - X509_Time
    - X509_Time
    - std::vector<CRL_Entry>
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: Botan::X509_CRL::X509_CRL
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 5
    functionsReached:
    - std::make_shared<CRL_Data>
    linkageType: ''
    returnType: void
    signature: "void X509_CRL::X509_CRL(const X509_DN& issuer,\n                   const
      X509_Time& this_update,\n                   const X509_Time& next_update,\n
      \                  const std::vector<CRL_Entry>& revoked)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509_crl.cpp:76,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509_crl.cpp:76,1
    - Dst: authority_key_id
      Src: /src/botan/src/lib/x509/x509_crl.cpp:80,1
    - Dst: authority_key_id
      Src: /src/botan/src/lib/x509/x509_crl.cpp:81,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_crl.cpp:83,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_crl.cpp:83,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/x509_crl.cpp:89,1
    - Dst: get_revoked
      Src: /src/botan/src/lib/x509/x509_crl.cpp:94,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/x509_crl.cpp:95,1
    - Dst: reason_code
      Src: /src/botan/src/lib/x509/x509_crl.cpp:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 105
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 105
    functionName: Botan::X509_CRL::is_revoked
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - reason_code
    - issuer_dn
    - empty
    - serial_number
    - get_revoked
    - authority_key_id
    linkageType: ''
    returnType: bool
    signature: bool X509_CRL::is_revoked(const X509_Certificate& cert) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRL_Data>
      Src: /src/botan/src/lib/x509/x509_crl.cpp:113,1
    - Dst: BER_Decoder::decode_optional
      Src: /src/botan/src/lib/x509/x509_crl.cpp:117,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509_crl.cpp:121,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/x509/x509_crl.cpp:121,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_crl.cpp:125,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509_crl.cpp:128,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_crl.cpp:131,1
    - Dst: BER_Decoder::decode_optional
      Src: /src/botan/src/lib/x509/x509_crl.cpp:139,1
    - Dst: auto::m_next_update::time_is_set
      Src: /src/botan/src/lib/x509/x509_crl.cpp:140,1
    - Dst: BER_Decoder::decode_optional
      Src: /src/botan/src/lib/x509/x509_crl.cpp:141,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_crl.cpp:144,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/x509_crl.cpp:146,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/x509_crl.cpp:149,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_crl.cpp:151,1
    - Dst: auto::m_entries::push_back
      Src: /src/botan/src/lib/x509/x509_crl.cpp:152,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_crl.cpp:154,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/x509_crl.cpp:157,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_crl.cpp:159,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_crl.cpp:160,1
    - Dst: BER_Object::is_set
      Src: /src/botan/src/lib/x509/x509_crl.cpp:163,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509_crl.cpp:164,1
    - Dst: BER_Decoder::verify_end
      Src: /src/botan/src/lib/x509/x509_crl.cpp:167,1
    - Dst: auto::m_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509_crl.cpp:170,1
    - Dst: auto::get_crl_number
      Src: /src/botan/src/lib/x509/x509_crl.cpp:171,1
    - Dst: auto::m_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509_crl.cpp:173,1
    - Dst: auto::get_key_id
      Src: /src/botan/src/lib/x509/x509_crl.cpp:174,1
    - Dst: auto::m_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509_crl.cpp:176,1
    - Dst: auto::get_point
      Src: /src/botan/src/lib/x509/x509_crl.cpp:177,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - ' body'
    - ' sig_algo'
    argTypes:
    - std::vector<uint8_t>
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 181
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 181
    functionName: Botan::decode_crl_body
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::decode
    - BER_Object::is_a
    - Botan::Decoding_Error
    - BER_Decoder::more_items
    - std::make_unique<CRL_Data>
    - Botan::to_string
    - BER_Decoder::decode_optional
    - auto::m_next_update::time_is_set
    - auto::get_key_id
    - auto::m_entries::push_back
    - auto::m_extensions::get_extension_object_as
    - BER_Object::is_set
    - BER_Decoder::verify_end
    - auto::get_crl_number
    - auto::get_point
    - BER_Decoder::get_next_object
    linkageType: ''
    returnType: std::unique_ptr<CRL_Data>
    signature: std::unique_ptr<CRL_Data> decode_crl_body(const std::vector<uint8_t>&
      body, const AlgorithmIdentifier& sig_algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/x509/x509_crl.cpp:186,1
    - Dst: decode_crl_body
      Src: /src/botan/src/lib/x509/x509_crl.cpp:186,1
    - Dst: signed_body
      Src: /src/botan/src/lib/x509/x509_crl.cpp:186,1
    - Dst: signature_algorithm
      Src: /src/botan/src/lib/x509/x509_crl.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: Botan::X509_CRL::force_decode
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - signature_algorithm
    - reset
    - decode_crl_body
    - signed_body
    linkageType: ''
    returnType: void
    signature: void X509_CRL::force_decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509_crl.cpp:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: '& X509_CRL::data() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: CRL_Data
    signature: CRL_Data & X509_CRL::data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: '& X509_CRL::extensions() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: Extensions
    signature: Extensions & X509_CRL::extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: '& X509_CRL::get_revoked() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<CRL_Entry>
    signature: std::vector<CRL_Entry> & X509_CRL::get_revoked() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_crl.cpp:208,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: Botan::X509_CRL::x509_version
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t X509_CRL::x509_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '& X509_CRL::issuer_dn() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN & X509_CRL::issuer_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: '& X509_CRL::authority_key_id() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_CRL::authority_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_crl.cpp:229,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: Botan::X509_CRL::crl_number
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 1
    functionsReached:
    - data
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t X509_CRL::crl_number() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: '& X509_CRL::this_update() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_Time
    signature: X509_Time & X509_CRL::this_update() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '& X509_CRL::next_update() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_Time
    signature: X509_Time & X509_CRL::next_update() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:250,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_crl.cpp:250,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: Botan::X509_CRL::crl_issuing_distribution_point
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string X509_CRL::crl_issuing_distribution_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: Botan::X509_CRL::issuing_distribution_points
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_CRL::issuing_distribution_points() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:24,1
    - Dst: Botan::AlternativeName::add_email
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:25,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:27,1
    - Dst: Botan::AlternativeName::add_dns
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:28,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:30,1
    - Dst: Botan::AlternativeName::add_uri
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:31,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:33,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:34,1
    - Dst: Botan::AlternativeName::add_ipv4_address
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:35,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:37,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - email_addr
    - uri
    - dns
    - ip
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: Botan::AlternativeName::AlternativeName
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 4
    functionsReached:
    - string_to_ipv4
    - Botan::AlternativeName::add_dns
    - std::string_view::empty
    - Botan::AlternativeName::add_uri
    - Botan::AlternativeName::add_ipv4_address
    - Invalid_Argument
    - Botan::AlternativeName::add_email
    - fmt
    linkageType: ''
    returnType: void
    signature: "void AlternativeName::AlternativeName(std::string_view email_addr,\n
      \                                std::string_view uri,\n                                 std::string_view
      dns,\n                                 std::string_view ip)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:46,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:46,1
    - Dst: Botan::AlternativeName::add_dns
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:51,1
    - Dst: Botan::AlternativeName::add_email
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:53,1
    - Dst: Botan::AlternativeName::add_uri
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:55,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:58,1
    - Dst: Botan::AlternativeName::add_dn
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:60,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:62,1
    - Dst: Botan::AlternativeName::add_ipv4_address
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:63,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:65,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:65,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:68,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:68,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: Botan::AlternativeName::add_attribute
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 1
    functionsReached:
    - Botan::AlternativeName::add_dn
    - Botan::AlternativeName::add_dns
    - string_to_ipv4
    - std::string_view::empty
    - Botan::AlternativeName::add_uri
    - std::string
    - Not_Implemented
    - Botan::AlternativeName::add_ipv4_address
    - Invalid_Argument
    - Botan::AlternativeName::add_email
    - fmt
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_attribute(std::string_view type, std::string_view
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:76,1
    - Dst: Botan::AlternativeName::add_other_name
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:79,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' oid'
    - value
    - type
    argTypes:
    - OID
    - std::string_view
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: Botan::AlternativeName::add_othername
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 1
    functionsReached:
    - ASN1_String
    - Botan::AlternativeName::add_other_name
    - std::string_view::empty
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_othername(const OID& oid, std::string_view
      value, ASN1_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::dns
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:88,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:89,1
    - Dst: Botan::AlternativeName::email
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:92,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:93,1
    - Dst: Botan::AlternativeName::uris
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:96,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:97,1
    - Dst: Botan::AlternativeName::ipv4_address
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:100,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:101,1
    - Dst: ipv4_to_string
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:101,1
    - Dst: Botan::AlternativeName::directory_names
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:104,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:105,1
    - Dst: to_string
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:105,1
    - Dst: Botan::AlternativeName::other_names
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:108,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:109,1
    - Dst: first::to_formatted_string
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:109,1
    - Dst: second::value
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 113
    functionName: Botan::AlternativeName::contents
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 0
    functionsReached:
    - std::multimap::emplace
    - Botan::AlternativeName::uris
    - Botan::AlternativeName::dns
    - Botan::AlternativeName::directory_names
    - second::value
    - first::to_formatted_string
    - to_string
    - Botan::AlternativeName::ipv4_address
    - ipv4_to_string
    - Botan::AlternativeName::email
    - Botan::AlternativeName::other_names
    linkageType: ''
    returnType: std::multimap<std::string, std::string>
    signature: std::multimap<std::string, std::string> AlternativeName::contents()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::contents
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:118,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: Botan::AlternativeName::get_attributes
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::contents
    - std::multimap::emplace
    linkageType: ''
    returnType: std::multimap<std::string, std::string, std::less<>>
    signature: std::multimap<std::string, std::string, std::less<>> AlternativeName::get_attributes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::get_attribute
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::AlternativeName::has_field
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::get_attribute
    linkageType: ''
    returnType: bool
    signature: bool AlternativeName::has_field(std::string_view attr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::get_attribute
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:130,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: Botan::AlternativeName::get_first_attribute
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::get_attribute
    - auto::empty
    linkageType: ''
    returnType: std::string
    signature: std::string AlternativeName::get_first_attribute(std::string_view type)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:140,1
    - Dst: end
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:140,1
    - Dst: set_to_vector
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:143,1
    - Dst: Botan::AlternativeName::dns
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:143,1
    - Dst: set_to_vector
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:145,1
    - Dst: Botan::AlternativeName::email
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:145,1
    - Dst: set_to_vector
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:147,1
    - Dst: Botan::AlternativeName::uris
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:147,1
    - Dst: Botan::AlternativeName::directory_names
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:151,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:152,1
    - Dst: to_string
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:152,1
    - Dst: Botan::AlternativeName::ipv4_address
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:158,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:159,1
    - Dst: ipv4_to_string
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - attr
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 165
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 165
    functionName: Botan::AlternativeName::get_attribute
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - Botan::AlternativeName::uris
    - Botan::AlternativeName::dns
    - Botan::AlternativeName::directory_names
    - end
    - set_to_vector
    - to_string
    - Botan::AlternativeName::ipv4_address
    - ipv4_to_string
    - Botan::AlternativeName::email
    - begin
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> AlternativeName::get_attribute(std::string_view
      attr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::directory_names
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:173,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: Botan::AlternativeName::dn
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::directory_names
    - std::ostringstream::str
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN AlternativeName::dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Constraints
      Src: /src/botan/src/lib/x509/pkix_enums.h:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 192
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/x509/pkix_enums.h
    functionUses: 10
    functionsReached:
    - Key_Constraints
    linkageType: ''
    returnType: Key_Constraints
    signature: Key_Constraints final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: Botan::X509_Certificate
    functionSourceFile: /src/botan/src/lib/x509/x509cert.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_Certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: Botan::X509_Certificate
    functionSourceFile: /src/botan/src/lib/x509/x509cert.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_Certificate(const X509_Certificate& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Basic_Constraints>
      Src: /src/botan/src/lib/x509/x509_ext.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: Botan::Cert_Extension::Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Basic_Constraints>
    linkageType: ''
    returnType: Basic_Constraints
    signature: Basic_Constraints Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::Cert_Extension::Basic_Constraints
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Basic_Constraints(bool ca = false, size_t limit = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::Cert_Extension::get_is_ca
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_is_ca() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::Cert_Extension::static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cert_Extension::static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::Cert_Extension::oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - Botan::Cert_Extension::static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Key_Usage>
      Src: /src/botan/src/lib/x509/x509_ext.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Key_Usage>
    linkageType: ''
    returnType: Key_Usage
    signature: Key_Usage Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Key_Constraints
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Key_Usage
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Usage(Key_Constraints c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Key_Usage
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Usage()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: get_constraints
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Key_Constraints
    signature: Key_Constraints get_constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 2
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Subject_Key_ID
      Src: /src/botan/src/lib/x509/x509_ext.h:89,1
    - Dst: std::make_unique<Subject_Key_ID>
      Src: /src/botan/src/lib/x509/x509_ext.h:96,1
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:101,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - Subject_Key_ID
    - OID
    - std::make_unique<Subject_Key_ID>
    - static_oid
    linkageType: ''
    returnType: Subject_Key_ID
    signature: Subject_Key_ID Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Authority_Key_ID>
      Src: /src/botan/src/lib/x509/x509_ext.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Authority_Key_ID>
    linkageType: ''
    returnType: Authority_Key_ID
    signature: Authority_Key_ID Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Authority_Key_ID
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Authority_Key_ID()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Authority_Key_ID
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Authority_Key_ID(const std::vector<uint8_t>& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: get_key_id
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:153,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:155,1
    - Dst: std::make_unique<Subject_Alternative_Name>
      Src: /src/botan/src/lib/x509/x509_ext.h:158,1
    - Dst: get_alt_name
      Src: /src/botan/src/lib/x509/x509_ext.h:158,1
    - Dst: AlternativeName
      Src: /src/botan/src/lib/x509/x509_ext.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - get_alt_name
    - AlternativeName
    - static_oid
    - OID
    - std::make_unique<Subject_Alternative_Name>
    linkageType: ''
    returnType: Subject_Alternative_Name
    signature: Subject_Alternative_Name Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_items
      Src: /src/botan/src/lib/x509/x509_ext.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - has_items
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:181,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:183,1
    - Dst: std::make_unique<Issuer_Alternative_Name>
      Src: /src/botan/src/lib/x509/x509_ext.h:186,1
    - Dst: get_alt_name
      Src: /src/botan/src/lib/x509/x509_ext.h:186,1
    - Dst: AlternativeName
      Src: /src/botan/src/lib/x509/x509_ext.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Issuer_Alternative_Name>
    - get_alt_name
    - AlternativeName
    - static_oid
    - OID
    linkageType: ''
    returnType: Issuer_Alternative_Name
    signature: Issuer_Alternative_Name Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_items
      Src: /src/botan/src/lib/x509/x509_ext.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - has_items
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Extended_Key_Usage>
      Src: /src/botan/src/lib/x509/x509_ext.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Extended_Key_Usage>
    linkageType: ''
    returnType: Extended_Key_Usage
    signature: Extended_Key_Usage Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: Extended_Key_Usage
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Extended_Key_Usage()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - std::vector<OID>
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: Extended_Key_Usage
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Extended_Key_Usage(const std::vector<OID>& o)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: object_identifiers
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<OID>
    signature: std::vector<OID> & object_identifiers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 7
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Name_Constraints>
      Src: /src/botan/src/lib/x509/x509_ext.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Name_Constraints>
    linkageType: ''
    returnType: Name_Constraints
    signature: Name_Constraints Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: Name_Constraints
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Name_Constraints()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nc'
    argTypes:
    - NameConstraints
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: Name_Constraints
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Name_Constraints(const NameConstraints& nc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: get_name_constraints
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NameConstraints
    signature: NameConstraints & get_name_constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 8
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Certificate_Policies>
      Src: /src/botan/src/lib/x509/x509_ext.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Certificate_Policies>
    linkageType: ''
    returnType: Certificate_Policies
    signature: Certificate_Policies Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: Certificate_Policies
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Certificate_Policies()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - std::vector<OID>
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: Certificate_Policies
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Certificate_Policies(const std::vector<OID>& o)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: get_policy_oids
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<OID>
    signature: std::vector<OID> & get_policy_oids() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 9
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Authority_Information_Access>
      Src: /src/botan/src/lib/x509/x509_ext.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Authority_Information_Access>
    linkageType: ''
    returnType: Authority_Information_Access
    signature: Authority_Information_Access Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: Authority_Information_Access
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Authority_Information_Access()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/botan/src/lib/x509/x509_ext.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: Authority_Information_Access
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    linkageType: ''
    returnType: void
    signature: "void Authority_Information_Access(std::string_view ocsp,\n                                            const
      std::vector<std::string>& ca_issuers = std::vector<std::string>())"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: ocsp_responder
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ocsp_responder() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 10
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: ca_issuers
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & ca_issuers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:330,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:352,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - OID
    - static_oid
    linkageType: ''
    returnType: CRL_Number
    signature: CRL_Number Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<CRL_ReasonCode>
      Src: /src/botan/src/lib/x509/x509_ext.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<CRL_ReasonCode>
    linkageType: ''
    returnType: CRL_ReasonCode
    signature: CRL_ReasonCode Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: CRL_ReasonCode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CRL_ReasonCode(CRL_Code r = CRL_Code::Unspecified)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 379
    functionName: get_reason
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CRL_Code
    signature: CRL_Code get_reason() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 12
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_into
      Src: /src/botan/src/lib/x509/x509_ext.h:404,1
    - Dst: Distribution_Point
      Src: /src/botan/src/lib/x509/x509_ext.h:407,1
    - Dst: AlternativeName
      Src: /src/botan/src/lib/x509/x509_ext.h:407,1
    - Dst: m_point
      Src: /src/botan/src/lib/x509/x509_ext.h:407,1
    - Dst: point
      Src: /src/botan/src/lib/x509/x509_ext.h:409,1
    - Dst: copy
      Src: /src/botan/src/lib/x509/x509_ext.h:415,1
    - Dst: std::make_unique<CRL_Distribution_Points>
      Src: /src/botan/src/lib/x509/x509_ext.h:416,1
    - Dst: CRL_Distribution_Points
      Src: /src/botan/src/lib/x509/x509_ext.h:419,1
    - Dst: CRL_Distribution_Points
      Src: /src/botan/src/lib/x509/x509_ext.h:421,1
    - Dst: m_distribution_points
      Src: /src/botan/src/lib/x509/x509_ext.h:421,1
    - Dst: distribution_points
      Src: /src/botan/src/lib/x509/x509_ext.h:423,1
    - Dst: crl_distribution_urls
      Src: /src/botan/src/lib/x509/x509_ext.h:425,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:427,1
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:427,1
    - Dst: oid_of
      Src: /src/botan/src/lib/x509/x509_ext.h:429,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:429,1
    - Dst: oid_name
      Src: /src/botan/src/lib/x509/x509_ext.h:432,1
    - Dst: should_encode
      Src: /src/botan/src/lib/x509/x509_ext.h:434,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:434,1
    - Dst: encode_inner
      Src: /src/botan/src/lib/x509/x509_ext.h:436,1
    - Dst: CRL_Issuing_Distribution_Point
      Src: /src/botan/src/lib/x509/x509_ext.h:449,1
    - Dst: CRL_Issuing_Distribution_Point
      Src: /src/botan/src/lib/x509/x509_ext.h:451,1
    - Dst: m_distribution_point
      Src: /src/botan/src/lib/x509/x509_ext.h:452,1
    - Dst: copy
      Src: /src/botan/src/lib/x509/x509_ext.h:454,1
    - Dst: return std::make_unique<CRL_Issuing_Distribution_Point>
      Src: /src/botan/src/lib/x509/x509_ext.h:455,1
    - Dst: get_point
      Src: /src/botan/src/lib/x509/x509_ext.h:458,1
    - Dst: point
      Src: /src/botan/src/lib/x509/x509_ext.h:458,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:460,1
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 465
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - Distribution_Point
    - empty
    - distribution_points
    - point
    - m_distribution_points
    - should_encode
    - get_point
    - copy
    - m_point
    - static_oid
    - oid_of
    - OID
    - std::make_unique<CRL_Distribution_Points>
    - oid_name
    - return std::make_unique<CRL_Issuing_Distribution_Point>
    - CRL_Issuing_Distribution_Point
    - crl_distribution_urls
    - m_distribution_point
    - AlternativeName
    - encode_into
    - CRL_Distribution_Points
    - encode_inner
    linkageType: ''
    returnType: CRL_Distribution_Points
    signature: CRL_Distribution_Points Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: OCSP_NoCheck::OCSP_NoCheck
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCSP_NoCheck()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OCSP_NoCheck>
      Src: /src/botan/src/lib/x509/x509_ext.h:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: OCSP_NoCheck::copy
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - std::make_unique<OCSP_NoCheck>
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> copy() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: OCSP_NoCheck::static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_NoCheck::static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 494
    functionName: OCSP_NoCheck::oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - OCSP_NoCheck::static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 497
    functionName: OCSP_NoCheck::oid_name
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string oid_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: OCSP_NoCheck::should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: OCSP_NoCheck::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encode_inner() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 542
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TNAuthList
    signature: TNAuthList Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 544
    functionName: TNAuthList
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TNAuthList()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TNAuthList>
      Src: /src/botan/src/lib/x509/x509_ext.h:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 546
    functionName: copy
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 122
    functionsReached:
    - std::make_unique<TNAuthList>
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> copy() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 548
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 15
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 550
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 5
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 552
    functionName: entries
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Entry>
    signature: std::vector<Entry> & entries() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IPAddress
      Src: /src/botan/src/lib/x509/x509_ext.h:583,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:589,1
    - Dst: std::array::rbegin
      Src: /src/botan/src/lib/x509/x509_ext.h:590,1
    - Dst: std::array::rend
      Src: /src/botan/src/lib/x509/x509_ext.h:590,1
    - Dst: IPAddress<V>
      Src: /src/botan/src/lib/x509/x509_ext.h:598,1
    - Dst: IPAddress<V>
      Src: /src/botan/src/lib/x509/x509_ext.h:606,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:611,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:611,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:613,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:613,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:621,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:621,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 626
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - IPAddress
    - std::array::rend
    - std::array::rbegin
    - value
    - IPAddress<V>
    linkageType: ''
    returnType: IPAddressBlocks
    signature: IPAddressBlocks Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.h:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 651
    functionName: '(3, 9) IPAddressOrRange final : public ASN1_Object'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - Decoding_Error
    linkageType: ''
    returnType: class BOTAN_PUBLIC_API
    signature: 'class BOTAN_PUBLIC_API (3, 9) IPAddressOrRange final : public ASN1_Object'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IPAddressChoice
      Src: /src/botan/src/lib/x509/x509_ext.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 667
    functionName: '(3, 9) IPAddressChoice final : public ASN1_Object'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - IPAddressChoice
    linkageType: ''
    returnType: class BOTAN_PUBLIC_API
    signature: 'class BOTAN_PUBLIC_API (3, 9) IPAddressChoice final : public ASN1_Object'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<IPAddressChoice<Version::IPv4>>
      Src: /src/botan/src/lib/x509/x509_ext.h:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 697
    functionName: ASN1_Object
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - std::holds_alternative<IPAddressChoice<Version::IPv4>>
    linkageType: ''
    returnType: IPAddressFamily
    signature: IPAddressFamily ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 699
    functionName: IPAddressBlocks
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sort_and_merge
      Src: /src/botan/src/lib/x509/x509_ext.h:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' blocks'
    argTypes:
    - std::vector<IPAddressFamily>
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: IPAddressBlocks
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - sort_and_merge
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks(const std::vector<IPAddressFamily>& blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/lib/x509/x509_ext.h:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: copy
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 122
    functionsReached:
    - std::make_unique<IPAddressBlocks>
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> copy() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 705
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 705
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 16
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 707
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 707
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 5
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 715
    functionName: addr_blocks
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::vector<IPAddressFamily>
    signature: std::vector<IPAddressFamily> & addr_blocks() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 720
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 720
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.h:757,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.h:791,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.h:791,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.h:792,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/lib/x509/x509_ext.h:809,1
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:811,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 832
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 832
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ASBlocks>
    - static_oid
    - Decoding_Error
    - OID
    - has_value
    linkageType: ''
    returnType: ASBlocks
    signature: ASBlocks Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unknown_Extension
      Src: /src/botan/src/lib/x509/x509_ext.h:840,1
    - Dst: std::make_unique<Unknown_Extension>
      Src: /src/botan/src/lib/x509/x509_ext.h:843,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.h:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 874
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - Unknown_Extension
    - std::make_unique<Unknown_Extension>
    - at
    linkageType: ''
    returnType: Unknown_Extension
    signature: Unknown_Extension Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 112
    argCount: 1
    argNames:
    - code
    argTypes:
    - Certificate_Status_Code
    constantsTouched: []
    func_position:
      end: 131
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 131
    functionName: Botan::to_string
    functionSourceFile: /src/botan/src/lib/x509/cert_status.cpp
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * to_string(Certificate_Status_Code code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_components
      Src: /src/botan/src/lib/x509/x509_utils.h:17,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/x509/x509_utils.h:19,1
    - Dst: std::initializer_list<uint32_t>::size
      Src: /src/botan/src/lib/x509/x509_utils.h:19,1
    - Dst: Botan::equal
      Src: /src/botan/src/lib/x509/x509_utils.h:23,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/x509/x509_utils.h:23,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/x509/x509_utils.h:23,1
    - Dst: std::initializer_list<uint32_t>::begin
      Src: /src/botan/src/lib/x509/x509_utils.h:23,1
    - Dst: std::initializer_list<uint32_t>::end
      Src: /src/botan/src/lib/x509/x509_utils.h:23,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/x509/x509_utils.h:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' oid'
    - prefix
    argTypes:
    - OID
    - std::initializer_list<uint32_t>
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: Botan::is_sub_element_of
    functionSourceFile: /src/botan/src/lib/x509/x509_utils.h
    functionUses: 1
    functionsReached:
    - std::initializer_list<uint32_t>::end
    - std::initializer_list<uint32_t>::size
    - std::initializer_list<uint32_t>::begin
    - Botan::equal
    - Botan::begin
    - Botan::end
    - get_components
    - Botan::size
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> is_sub_element_of(const OID& oid, std::initializer_list<uint32_t>
      prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 184
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/x509/x509self.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: X509_Cert_Options
    signature: X509_Cert_Options final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Constraints::to_string
      Src: /src/botan/src/lib/x509/pkix_types.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - Key_Constraints
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::key_constraints_to_string
    functionSourceFile: /src/botan/src/lib/x509/pkix_types.h
    functionUses: 0
    functionsReached:
    - Key_Constraints::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string key_constraints_to_string(Key_Constraints c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_DN
      Src: /src/botan/src/lib/x509/pkix_types.h:43,1
    - Dst: add_attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:47,1
    - Dst: add_attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:53,1
    - Dst: add_attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:59,1
    - Dst: Botan::empty
      Src: /src/botan/src/lib/x509/pkix_types.h:76,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/x509/pkix_types.h:78,1
    - Dst: add_attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:93,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/x509/pkix_types.h:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 111
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/x509/pkix_types.h
    functionUses: 0
    functionsReached:
    - ASN1_String
    - X509_DN
    - add_attribute
    - Botan::empty
    - Botan::size
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:167,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:185,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:188,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:191,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:194,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:197,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:200,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:203,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:206,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:208,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:210,1
    - Dst: encode_into
      Src: /src/botan/src/lib/x509/pkix_types.h:230,1
    - Dst: decode_from
      Src: /src/botan/src/lib/x509/pkix_types.h:231,1
    - Dst: Attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:233,1
    - Dst: Attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:234,1
    - Dst: Attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:235,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/x509/pkix_types.h:237,1
    - Dst: parameters
      Src: /src/botan/src/lib/x509/pkix_types.h:239,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/x509/pkix_types.h:241,1
    - Dst: get_parameters
      Src: /src/botan/src/lib/x509/pkix_types.h:243,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:280,1
    - Dst: GeneralName
      Src: /src/botan/src/lib/x509/pkix_types.h:280,1
    - Dst: encode_into
      Src: /src/botan/src/lib/x509/pkix_types.h:283,1
    - Dst: decode_from
      Src: /src/botan/src/lib/x509/pkix_types.h:285,1
    - Dst: type_code
      Src: /src/botan/src/lib/x509/pkix_types.h:290,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:295,1
    - Dst: Botan::type
      Src: /src/botan/src/lib/x509/pkix_types.h:295,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:300,1
    - Dst: Botan::name
      Src: /src/botan/src/lib/x509/pkix_types.h:300,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:307,1
    - Dst: matches
      Src: /src/botan/src/lib/x509/pkix_types.h:307,1
    - Dst: matches_dns
      Src: /src/botan/src/lib/x509/pkix_types.h:309,1
    - Dst: matches_ipv4
      Src: /src/botan/src/lib/x509/pkix_types.h:310,1
    - Dst: matches_dn
      Src: /src/botan/src/lib/x509/pkix_types.h:311,1
    - Dst: matches_dns
      Src: /src/botan/src/lib/x509/pkix_types.h:323,1
    - Dst: matches_dn
      Src: /src/botan/src/lib/x509/pkix_types.h:325,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:328,1
    - Dst: BOTAN_PUBLIC_API
      Src: /src/botan/src/lib/x509/pkix_types.h:340,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:345,1
    - Dst: GeneralSubtree
      Src: /src/botan/src/lib/x509/pkix_types.h:345,1
    - Dst: encode_into
      Src: /src/botan/src/lib/x509/pkix_types.h:347,1
    - Dst: decode_from
      Src: /src/botan/src/lib/x509/pkix_types.h:349,1
    - Dst: base
      Src: /src/botan/src/lib/x509/pkix_types.h:354,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:360,1
    - Dst: BOTAN_PUBLIC_API
      Src: /src/botan/src/lib/x509/pkix_types.h:367,1
    - Dst: NameConstraints
      Src: /src/botan/src/lib/x509/pkix_types.h:372,1
    - Dst: m_permitted_subtrees
      Src: /src/botan/src/lib/x509/pkix_types.h:372,1
    - Dst: m_excluded_subtrees
      Src: /src/botan/src/lib/x509/pkix_types.h:372,1
    - Dst: NameConstraints
      Src: /src/botan/src/lib/x509/pkix_types.h:379,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:385,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:392,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/x509/pkix_types.h:437,1
    - Dst: Certificate_Extension
      Src: /src/botan/src/lib/x509/pkix_types.h:460,1
    - Dst: should_encode
      Src: /src/botan/src/lib/x509/pkix_types.h:465,1
    - Dst: encode_inner
      Src: /src/botan/src/lib/x509/pkix_types.h:467,1
    - Dst: decode_inner
      Src: /src/botan/src/lib/x509/pkix_types.h:468,1
    - Dst: get_extension_object
      Src: /src/botan/src/lib/x509/pkix_types.h:483,1
    - Dst: get_extension_object_as
      Src: /src/botan/src/lib/x509/pkix_types.h:486,1
    - Dst: Botan::Cert_Extension::static_oid
      Src: /src/botan/src/lib/x509/pkix_types.h:486,1
    - Dst: if
      Src: /src/botan/src/lib/x509/pkix_types.h:487,1
    - Dst: get_extension_object
      Src: /src/botan/src/lib/x509/pkix_types.h:487,1
    - Dst: if
      Src: /src/botan/src/lib/x509/pkix_types.h:489,1
    - Dst: oid_name
      Src: /src/botan/src/lib/x509/pkix_types.h:489,1
    - Dst: dynamic_cast<const T*>
      Src: /src/botan/src/lib/x509/pkix_types.h:491,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/pkix_types.h:494,1
    - Dst: get_extension_oids
      Src: /src/botan/src/lib/x509/pkix_types.h:505,1
    - Dst: extension_set
      Src: /src/botan/src/lib/x509/pkix_types.h:510,1
    - Dst: critical_extension_set
      Src: /src/botan/src/lib/x509/pkix_types.h:515,1
    - Dst: get_extension_bits
      Src: /src/botan/src/lib/x509/pkix_types.h:521,1
    - Dst: encode_into
      Src: /src/botan/src/lib/x509/pkix_types.h:523,1
    - Dst: decode_from
      Src: /src/botan/src/lib/x509/pkix_types.h:524,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/x509/pkix_types.h:532,1
    - Dst: add_new
      Src: /src/botan/src/lib/x509/pkix_types.h:542,1
    - Dst: replace
      Src: /src/botan/src/lib/x509/pkix_types.h:549,1
    - Dst: remove
      Src: /src/botan/src/lib/x509/pkix_types.h:555,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/x509/pkix_types.h:564,1
    - Dst: "template <typename T>\n      std::unique_ptr<T> get_raw"
      Src: /src/botan/src/lib/x509/pkix_types.h:576,1
    - Dst: find
      Src: /src/botan/src/lib/x509/pkix_types.h:578,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/x509/pkix_types.h:580,1
    - Dst: if
      Src: /src/botan/src/lib/x509/pkix_types.h:582,1
    - Dst: second::obj
      Src: /src/botan/src/lib/x509/pkix_types.h:582,1
    - Dst: std::make_unique<T>
      Src: /src/botan/src/lib/x509/pkix_types.h:583,1
    - Dst: decode_inner
      Src: /src/botan/src/lib/x509/pkix_types.h:584,1
    - Dst: second::bits
      Src: /src/botan/src/lib/x509/pkix_types.h:584,1
    - Dst: extensions
      Src: /src/botan/src/lib/x509/pkix_types.h:597,1
    - Dst: extensions_raw
      Src: /src/botan/src/lib/x509/pkix_types.h:604,1
    - Dst: Extensions
      Src: /src/botan/src/lib/x509/pkix_types.h:606,1
    - Dst: Extensions
      Src: /src/botan/src/lib/x509/pkix_types.h:611,1
    - Dst: create_extn_obj
      Src: /src/botan/src/lib/x509/pkix_types.h:615,1
    - Dst: m_bits
      Src: /src/botan/src/lib/x509/pkix_types.h:622,1
    - Dst: encode_inner
      Src: /src/botan/src/lib/x509/pkix_types.h:622,1
    - Dst: m_critical
      Src: /src/botan/src/lib/x509/pkix_types.h:622,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/pkix_types.h:627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 639
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/x509/pkix_types.h
    functionUses: 0
    functionsReached:
    - Botan::copy
    - std::move
    - Attribute
    - type_code
    - Botan::name
    - critical_extension_set
    - replace
    - std::make_unique<T>
    - second::bits
    - create_extn_obj
    - if
    - parameters
    - extensions_raw
    - matches
    - should_encode
    - add_new
    - BOTAN_PUBLIC_API
    - m_excluded_subtrees
    - matches_dn
    - extension_set
    - m_critical
    - Botan::oid
    - matches_dns
    - m_bits
    - BOTAN_DEPRECATED
    - matches_ipv4
    - Botan::add
    - Extensions
    - decode_inner
    - Botan::type
    - GeneralSubtree
    - Botan::end
    - remove
    - GeneralName
    - Certificate_Extension
    - Botan::Decoding_Error
    - second::obj
    - "template <typename T>\n      std::unique_ptr<T> get_raw"
    - oid_name
    - object_identifier
    - decode_from
    - get_extension_object
    - Botan::Cert_Extension::static_oid
    - Botan::get
    - get_extension_oids
    - find
    - get_parameters
    - get_extension_object_as
    - dynamic_cast<const T*>
    - base
    - extensions
    - m_permitted_subtrees
    - encode_into
    - encode_inner
    - NameConstraints
    - get_extension_bits
    linkageType: ''
    returnType: AlternativeName
    signature: AlternativeName ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::PKCS10_Request::PEM_label
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string PKCS10_Request::PEM_label() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::PKCS10_Request::alternate_PEM_labels
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PKCS10_Request::alternate_PEM_labels() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::PKCS10_Request::PKCS10_Request
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 1
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void PKCS10_Request::PKCS10_Request(DataSource& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:41,1
    - Dst: size
      Src: /src/botan/src/lib/x509/pkcs10.cpp:41,1
    - Dst: load_data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: Botan::PKCS10_Request::PKCS10_Request
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 1
    functionsReached:
    - data
    - load_data
    - size
    linkageType: ''
    returnType: void
    signature: void PKCS10_Request::PKCS10_Request(const std::vector<uint8_t>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fsname
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Botan::PKCS10_Request::PKCS10_Request
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 1
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void PKCS10_Request::PKCS10_Request(std::string_view fsname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: choose_sig_format
      Src: /src/botan/src/lib/x509/pkcs10.cpp:60,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/lib/x509/pkcs10.cpp:61,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/x509/pkcs10.cpp:67,1
    - Dst: Botan::PKCS10_Request::subject_public_key
      Src: /src/botan/src/lib/x509/pkcs10.cpp:70,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/pkcs10.cpp:73,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/pkcs10.cpp:75,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/x509/pkcs10.cpp:75,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:76,1
    - Dst: Attribute
      Src: /src/botan/src/lib/x509/pkcs10.cpp:76,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/pkcs10.cpp:80,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:81,1
    - Dst: Attribute
      Src: /src/botan/src/lib/x509/pkcs10.cpp:81,1
    - Dst: DER_Encoder::end_explicit
      Src: /src/botan/src/lib/x509/pkcs10.cpp:84,1
    - Dst: Botan::X509_Object::make_signed
      Src: /src/botan/src/lib/x509/pkcs10.cpp:86,1
    - Dst: DER_Encoder::get_contents
      Src: /src/botan/src/lib/x509/pkcs10.cpp:86,1
    - Dst: Botan::PKCS10_Request::PKCS10_Request
      Src: /src/botan/src/lib/x509/pkcs10.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - ' key'
    - ' subject_dn'
    - ' extensions'
    - hash_fn
    - ' rng'
    - padding_scheme
    - challenge
    argTypes:
    - Private_Key
    - X509_DN
    - Extensions
    - std::string_view
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 89
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 89
    functionName: Botan::PKCS10_Request::create
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 2
    functionsReached:
    - choose_sig_format
    - Attribute
    - std::string_view::empty
    - DER_Encoder::end_explicit
    - ASN1_String
    - Botan::PKCS10_Request::PKCS10_Request
    - DER_Encoder
    - Botan::X509_Object::make_signed
    - DER_Encoder::encode
    - DER_Encoder::start_sequence
    - auto::algorithm_identifier
    - Botan::PKCS10_Request::subject_public_key
    - DER_Encoder::get_contents
    linkageType: ''
    returnType: PKCS10_Request
    signature: "PKCS10_Request PKCS10_Request::create(const Private_Key& key,\n                                      const
      X509_DN& subject_dn,\n                                      const Extensions&
      extensions,\n                                      std::string_view hash_fn,\n
      \                                     RandomNumberGenerator& rng,\n                                      std::string_view
      padding_scheme,\n                                      std::string_view challenge)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS10_Data>
      Src: /src/botan/src/lib/x509/pkcs10.cpp:97,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:102,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/pkcs10.cpp:104,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:104,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:107,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/pkcs10.cpp:109,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/pkcs10.cpp:110,1
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/x509/pkcs10.cpp:111,1
    - Dst: BER_Object::tagging
      Src: /src/botan/src/lib/x509/pkcs10.cpp:111,1
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/x509/pkcs10.cpp:114,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/x509/pkcs10.cpp:114,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/pkcs10.cpp:114,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/pkcs10.cpp:116,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/pkcs10.cpp:120,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/pkcs10.cpp:122,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:124,1
    - Dst: Attribute::object_identifier
      Src: /src/botan/src/lib/x509/pkcs10.cpp:126,1
    - Dst: Attribute::get_parameters
      Src: /src/botan/src/lib/x509/pkcs10.cpp:127,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:129,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:131,1
    - Dst: std::set::insert
      Src: /src/botan/src/lib/x509/pkcs10.cpp:132,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/pkcs10.cpp:132,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:133,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:135,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/pkcs10.cpp:136,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:137,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:138,1
    - Dst: BER_Decoder::verify_end
      Src: /src/botan/src/lib/x509/pkcs10.cpp:141,1
    - Dst: BER_Object::is_set
      Src: /src/botan/src/lib/x509/pkcs10.cpp:142,1
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/x509/pkcs10.cpp:143,1
    - Dst: BER_Object::tagging
      Src: /src/botan/src/lib/x509/pkcs10.cpp:143,1
    - Dst: BER_Decoder::verify_end
      Src: /src/botan/src/lib/x509/pkcs10.cpp:146,1
    - Dst: auto::m_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/pkcs10.cpp:148,1
    - Dst: auto::get_alt_name
      Src: /src/botan/src/lib/x509/pkcs10.cpp:149,1
    - Dst: auto::m_alt_name::add_email
      Src: /src/botan/src/lib/x509/pkcs10.cpp:153,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 157
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 157
    functionName: Botan::decode_pkcs10
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    - std::make_unique<PKCS10_Data>
    - Attribute::object_identifier
    - BER_Decoder::decode
    - BER_Object::is_a
    - ASN1_String::value
    - auto::m_alt_name::add_email
    - BER_Object::length
    - Botan::ASN1::put_in_sequence
    - BER_Decoder::verify_end
    - BER_Decoder::more_items
    - Botan::Decoding_Error
    - auto::get_alt_name
    - BER_Bad_Tag
    - auto::m_extensions::get_extension_object_as
    - BER_Object::tagging
    - Botan::OID::from_string
    - BER_Decoder::get_next_object
    - std::set::insert
    - BER_Object::bits
    - BER_Object::is_set
    - Attribute::get_parameters
    linkageType: ''
    returnType: std::unique_ptr<PKCS10_Data>
    signature: std::unique_ptr<PKCS10_Data> decode_pkcs10(const std::vector<uint8_t>&
      body)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/x509/pkcs10.cpp:162,1
    - Dst: decode_pkcs10
      Src: /src/botan/src/lib/x509/pkcs10.cpp:164,1
    - Dst: signed_body
      Src: /src/botan/src/lib/x509/pkcs10.cpp:164,1
    - Dst: Botan::PKCS10_Request::subject_public_key
      Src: /src/botan/src/lib/x509/pkcs10.cpp:166,1
    - Dst: Botan::PKCS10_Request::check_signature
      Src: /src/botan/src/lib/x509/pkcs10.cpp:167,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/pkcs10.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: Botan::PKCS10_Request::force_decode
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - decode_pkcs10
    - Botan::PKCS10_Request::check_signature
    - signed_body
    - reset
    - Decoding_Error
    - Botan::PKCS10_Request::subject_public_key
    linkageType: ''
    returnType: void
    signature: void PKCS10_Request::force_decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/pkcs10.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: '& PKCS10_Request::data() const'
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    linkageType: ''
    returnType: PKCS10_Data
    signature: PKCS10_Data & PKCS10_Request::data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: Botan::PKCS10_Request::challenge_password
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 1
    functionsReached:
    - data
    linkageType: ''
    returnType: std::string
    signature: std::string PKCS10_Request::challenge_password() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: '& PKCS10_Request::subject_dn() const'
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN & PKCS10_Request::subject_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: '& PKCS10_Request::raw_public_key() const'
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & PKCS10_Request::raw_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/x509/pkcs10.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: Botan::PKCS10_Request::subject_public_key
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 2
    functionsReached:
    - Botan::X509::load_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> PKCS10_Request::subject_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: '& PKCS10_Request::subject_alt_name() const'
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: AlternativeName
    signature: AlternativeName & PKCS10_Request::subject_alt_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: '& PKCS10_Request::extensions() const'
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: Extensions
    signature: Extensions & PKCS10_Request::extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/x509/pkcs10.cpp:226,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:226,1
    - Dst: dynamic_cast<Cert_Extension::Key_Usage&>
      Src: /src/botan/src/lib/x509/pkcs10.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: Botan::PKCS10_Request::constraints
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Botan::OID::from_string
    - dynamic_cast<Cert_Extension::Key_Usage&>
    linkageType: ''
    returnType: Key_Constraints
    signature: Key_Constraints PKCS10_Request::constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/x509/pkcs10.cpp:237,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:237,1
    - Dst: dynamic_cast<Cert_Extension::Extended_Key_Usage&>
      Src: /src/botan/src/lib/x509/pkcs10.cpp:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: Botan::PKCS10_Request::ex_constraints
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - dynamic_cast<Cert_Extension::Extended_Key_Usage&>
    - Botan::OID::from_string
    linkageType: ''
    returnType: std::vector<OID>
    signature: std::vector<OID> PKCS10_Request::ex_constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/x509/pkcs10.cpp:248,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:248,1
    - Dst: dynamic_cast<Cert_Extension::Basic_Constraints&>
      Src: /src/botan/src/lib/x509/pkcs10.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: Botan::PKCS10_Request::is_CA
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - dynamic_cast<Cert_Extension::Basic_Constraints&>
    - Botan::OID::from_string
    linkageType: ''
    returnType: bool
    signature: bool PKCS10_Request::is_CA() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/x509/pkcs10.cpp:259,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:259,1
    - Dst: dynamic_cast<Cert_Extension::Basic_Constraints&>
      Src: /src/botan/src/lib/x509/pkcs10.cpp:260,1
    - Dst: get_is_ca
      Src: /src/botan/src/lib/x509/pkcs10.cpp:261,1
    - Dst: get_path_limit
      Src: /src/botan/src/lib/x509/pkcs10.cpp:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 267
    functionName: Botan::PKCS10_Request::path_limit
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - get_path_limit
    - dynamic_cast<Cert_Extension::Basic_Constraints&>
    - extensions
    - get_is_ca
    - Botan::OID::from_string
    linkageType: ''
    returnType: size_t
    signature: size_t PKCS10_Request::path_limit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' attr_oid'
    - ' attr_value'
    argTypes:
    - OID
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: Botan::Attribute::Attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_attribute.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Attribute::Attribute(const OID& attr_oid, const std::vector<uint8_t>&
      attr_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_attribute.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - attr_oid
    - ' attr_value'
    argTypes:
    - std::string_view
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: Botan::Attribute::Attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_attribute.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    linkageType: ''
    returnType: void
    signature: void Attribute::Attribute(std::string_view attr_oid, const std::vector<uint8_t>&
      attr_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_attribute.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' codec'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::Attribute::encode_into
    functionSourceFile: /src/botan/src/lib/x509/x509_attribute.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void Attribute::encode_into(DER_Encoder& codec) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_attribute.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' codec'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::Attribute::decode_from
    functionSourceFile: /src/botan/src/lib/x509/x509_attribute.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void Attribute::decode_from(BER_Decoder& codec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:30,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:31,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:32,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:33,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:34,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:35,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:36,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' opts'
    argTypes:
    - X509_Cert_Options
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: Botan::load_dn_info
    functionSourceFile: /src/botan/src/lib/x509/x509self.cpp
    functionUses: 0
    functionsReached:
    - X509_DN::add_attribute
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN load_dn_info(const X509_Cert_Options& opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_extension_object_as
      Src: /src/botan/src/lib/x509/x509self.cpp:52,1
    - Dst: auto::get_alt_name
      Src: /src/botan/src/lib/x509/x509self.cpp:53,1
    - Dst: AlternativeName::add_dns
      Src: /src/botan/src/lib/x509/x509self.cpp:56,1
    - Dst: AlternativeName::add_dns
      Src: /src/botan/src/lib/x509/x509self.cpp:58,1
    - Dst: AlternativeName::add_uri
      Src: /src/botan/src/lib/x509/x509self.cpp:60,1
    - Dst: AlternativeName::add_email
      Src: /src/botan/src/lib/x509/x509self.cpp:61,1
    - Dst: ip::empty
      Src: /src/botan/src/lib/x509/x509self.cpp:62,1
    - Dst: Botan::string_to_ipv4
      Src: /src/botan/src/lib/x509/x509self.cpp:63,1
    - Dst: AlternativeName::add_ipv4_address
      Src: /src/botan/src/lib/x509/x509self.cpp:64,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509self.cpp:66,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/x509/x509self.cpp:66,1
    - Dst: xmpp::empty
      Src: /src/botan/src/lib/x509/x509self.cpp:70,1
    - Dst: AlternativeName::add_other_name
      Src: /src/botan/src/lib/x509/x509self.cpp:71,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509self.cpp:71,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/x509/x509self.cpp:71,1
    - Dst: std::make_unique<Cert_Extension::Subject_Alternative_Name>
      Src: /src/botan/src/lib/x509/x509self.cpp:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' opts'
    - ' extensions'
    argTypes:
    - X509_Cert_Options
    - Extensions
    constantsTouched: []
    func_position:
      end: 75
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 75
    functionName: Botan::create_alt_name_ext
    functionSourceFile: /src/botan/src/lib/x509/x509self.cpp
    functionUses: 0
    functionsReached:
    - Botan::string_to_ipv4
    - auto::get_alt_name
    - Botan::fmt
    - get_extension_object_as
    - std::make_unique<Cert_Extension::Subject_Alternative_Name>
    - AlternativeName::add_other_name
    - ASN1_String
    - AlternativeName::add_ipv4_address
    - AlternativeName::add_dns
    - Invalid_Argument
    - Botan::OID::from_string
    - AlternativeName::add_email
    - ip::empty
    - xmpp::empty
    - AlternativeName::add_uri
    linkageType: ''
    returnType: auto
    signature: auto create_alt_name_ext(const X509_Cert_Options& opts, const Extensions&
      extensions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::BER_encode
      Src: /src/botan/src/lib/x509/x509self.cpp:88,1
    - Dst: Botan::X509_Object::choose_sig_format
      Src: /src/botan/src/lib/x509/x509self.cpp:89,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/lib/x509/x509self.cpp:90,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509self.cpp:91,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/x509/x509self.cpp:91,1
    - Dst: load_dn_info
      Src: /src/botan/src/lib/x509/x509self.cpp:93,1
    - Dst: Key_Constraints::ca_constraints
      Src: /src/botan/src/lib/x509/x509self.cpp:97,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/lib/x509/x509self.cpp:99,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509self.cpp:100,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:103,1
    - Dst: std::make_unique<Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/lib/x509/x509self.cpp:103,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/x509self.cpp:105,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:106,1
    - Dst: std::make_unique<Cert_Extension::Key_Usage>
      Src: /src/botan/src/lib/x509/x509self.cpp:106,1
    - Dst: std::make_unique<Cert_Extension::Subject_Key_ID>
      Src: /src/botan/src/lib/x509/x509self.cpp:109,1
    - Dst: auto::hash_function
      Src: /src/botan/src/lib/x509/x509self.cpp:109,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:111,1
    - Dst: std::make_unique<Cert_Extension::Authority_Key_ID>
      Src: /src/botan/src/lib/x509/x509self.cpp:111,1
    - Dst: auto::get_key_id
      Src: /src/botan/src/lib/x509/x509self.cpp:111,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:112,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509self.cpp:112,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509self.cpp:114,1
    - Dst: create_alt_name_ext
      Src: /src/botan/src/lib/x509/x509self.cpp:114,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:116,1
    - Dst: std::make_unique<Cert_Extension::Extended_Key_Usage>
      Src: /src/botan/src/lib/x509/x509self.cpp:116,1
    - Dst: Botan::X509_CA::make_cert
      Src: /src/botan/src/lib/x509/x509self.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' opts'
    - ' key'
    - hash_fn
    - ' rng'
    argTypes:
    - X509_Cert_Options
    - Private_Key
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 119
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 119
    functionName: Botan::X509::create_self_signed_cert
    functionSourceFile: /src/botan/src/lib/x509/x509self.cpp
    functionUses: 12
    functionsReached:
    - std::move
    - Extensions::add_new
    - Botan::X509_Object::choose_sig_format
    - std::make_unique<Cert_Extension::Subject_Key_ID>
    - auto::algorithm_identifier
    - BOTAN_ASSERT_NOMSG
    - load_dn_info
    - std::make_unique<Cert_Extension::Key_Usage>
    - std::make_unique<Cert_Extension::Extended_Key_Usage>
    - auto::compatible_with
    - Botan::X509_CA::make_cert
    - Key_Constraints::ca_constraints
    - std::make_unique<Cert_Extension::Authority_Key_ID>
    - Botan::X509::BER_encode
    - AlgorithmIdentifier::oid
    - std::make_unique<Cert_Extension::Basic_Constraints>
    - auto::get_key_id
    - create_alt_name_ext
    - auto::hash_function
    - auto::empty
    - Invalid_Argument
    - Extensions::replace
    linkageType: ''
    returnType: X509_Certificate
    signature: "X509_Certificate create_self_signed_cert(const X509_Cert_Options&
      opts,\n                                         const Private_Key& key,\n                                         std::string_view
      hash_fn,\n                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_dn_info
      Src: /src/botan/src/lib/x509/x509self.cpp:128,1
    - Dst: Key_Constraints::ca_constraints
      Src: /src/botan/src/lib/x509/x509self.cpp:130,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/lib/x509/x509self.cpp:132,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509self.cpp:133,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:138,1
    - Dst: std::make_unique<Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/lib/x509/x509self.cpp:138,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/x509self.cpp:140,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:141,1
    - Dst: std::make_unique<Cert_Extension::Key_Usage>
      Src: /src/botan/src/lib/x509/x509self.cpp:141,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509self.cpp:144,1
    - Dst: create_alt_name_ext
      Src: /src/botan/src/lib/x509/x509self.cpp:144,1
    - Dst: ex_constraints::empty
      Src: /src/botan/src/lib/x509/x509self.cpp:146,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:147,1
    - Dst: std::make_unique<Cert_Extension::Extended_Key_Usage>
      Src: /src/botan/src/lib/x509/x509self.cpp:147,1
    - Dst: Botan::PKCS10_Request::create
      Src: /src/botan/src/lib/x509/x509self.cpp:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ' opts'
    - ' key'
    - hash_fn
    - ' rng'
    argTypes:
    - X509_Cert_Options
    - Private_Key
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 151
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 151
    functionName: Botan::X509::create_cert_req
    functionSourceFile: /src/botan/src/lib/x509/x509self.cpp
    functionUses: 22
    functionsReached:
    - std::make_unique<Cert_Extension::Basic_Constraints>
    - load_dn_info
    - std::make_unique<Cert_Extension::Key_Usage>
    - Extensions::add_new
    - Botan::PKCS10_Request::create
    - create_alt_name_ext
    - std::make_unique<Cert_Extension::Extended_Key_Usage>
    - auto::empty
    - auto::compatible_with
    - Invalid_Argument
    - Key_Constraints::ca_constraints
    - Extensions::replace
    - ex_constraints::empty
    linkageType: ''
    returnType: PKCS10_Request
    signature: "PKCS10_Request create_cert_req(const X509_Cert_Options& opts,\n                               const
      Private_Key& key,\n                               std::string_view hash_fn,\n
      \                              RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:23,1
    - Dst: create_table
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:24,1
    - Dst: create_table
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:32,1
    - Dst: create_table
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - db
    - passwd
    - ' rng'
    - table_prefix
    argTypes:
    - std::shared_ptr<SQL_Database>
    - std::string_view
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 43
    functionName: Botan::Certificate_Store_In_SQL::Certificate_Store_In_SQL
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - create_table
    linkageType: ''
    returnType: void
    signature: "void Certificate_Store_In_SQL::Certificate_Store_In_SQL(std::shared_ptr<SQL_Database>
      db,\n                                                   std::string_view passwd,\n
      \                                                  RandomNumberGenerator& rng,\n
      \                                                  std::string_view table_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_encode
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:50,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:52,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:53,1
    - Dst: std::shared_ptr::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:55,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:57,1
    - Dst: std::shared_ptr::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:60,1
    - Dst: std::shared_ptr::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:61,1
    - Dst: std::shared_ptr::step
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:64,1
    - Dst: std::shared_ptr::get_blob
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:65,1
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:66,1
    - Dst: std::optional<X509_Certificate>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: Botan::Certificate_Store_In_SQL::find_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - std::optional<X509_Certificate>
    - empty
    - std::shared_ptr::bind
    - std::shared_ptr::get_blob
    - X509_Certificate
    - BER_encode
    - std::shared_ptr::step
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_In_SQL::find_cert(const
      X509_DN& subject_dn,\n                                                                    const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_encode
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:78,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:80,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:81,1
    - Dst: std::shared_ptr::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:82,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:84,1
    - Dst: std::shared_ptr::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:87,1
    - Dst: std::shared_ptr::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:88,1
    - Dst: std::shared_ptr::step
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:92,1
    - Dst: std::shared_ptr::get_blob
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:94,1
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: Botan::Certificate_Store_In_SQL::find_all_certs
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - std::vector::push_back
    - empty
    - std::shared_ptr::bind
    - std::shared_ptr::get_blob
    - X509_Certificate
    - BER_encode
    - std::shared_ptr::step
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Certificate_Store_In_SQL::find_all_certs(const
      X509_DN& subject_dn,\n                                                                       const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: Botan::Certificate_Store_In_SQL::find_cert_by_pubkey_sha1
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_In_SQL::find_cert_by_pubkey_sha1(\n
      \  const std::vector<uint8_t>& /*key_hash*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: Botan::Certificate_Store_In_SQL::find_cert_by_raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_In_SQL::find_cert_by_raw_subject_dn_sha256(\n
      \  const std::vector<uint8_t>& /*subject_hash*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_SQL::generate_crls
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:111,1
    - Dst: get_revoked
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:114,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:114,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:114,1
    - Dst: std::optional<X509_CRL>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: Botan::Certificate_Store_In_SQL::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - get_revoked
    - Botan::Certificate_Store_In_SQL::generate_crls
    - issuer_dn
    - std::optional<X509_CRL>
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> Certificate_Store_In_SQL::find_crl_for(const
      X509_Certificate& subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:124,1
    - Dst: auto::step
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:126,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:127,1
    - Dst: X509_DN::decode_from
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:131,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 137
    functionName: Botan::Certificate_Store_In_SQL::all_subjects
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - auto::step
    - X509_DN::decode_from
    - auto::get_blob
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> Certificate_Store_In_SQL::all_subjects() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:140,1
    - Dst: BER_encode
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:141,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:143,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:152,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:152,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:153,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:154,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:154,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:155,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:155,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:156,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 160
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 160
    functionName: Botan::Certificate_Store_In_SQL::insert_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - auto::spin
    - std::vector<uint8_t>
    - fingerprint
    - BER_encode
    - subject_key_id
    - subject_dn
    - auto::bind
    linkageType: ''
    returnType: bool
    signature: bool Certificate_Store_In_SQL::insert_cert(const X509_Certificate&
      cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_SQL::find_cert
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:163,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:163,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:163,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:167,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:169,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:169,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: Botan::Certificate_Store_In_SQL::remove_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - auto::spin
    - fingerprint
    - Botan::Certificate_Store_In_SQL::find_cert
    - subject_key_id
    - subject_dn
    - auto::bind
    linkageType: ''
    returnType: bool
    signature: bool Certificate_Store_In_SQL::remove_cert(const X509_Certificate&
      cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:177,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:184,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:184,1
    - Dst: auto::step
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:187,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:188,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: Botan::Certificate_Store_In_SQL::find_key
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - auto::step
    - fingerprint
    - auto::get_blob
    - Botan::PKCS8::load_key
    - auto::bind
    linkageType: ''
    returnType: std::shared_ptr<const Private_Key>
    signature: std::shared_ptr<const Private_Key> Certificate_Store_In_SQL::find_key(const
      X509_Certificate& cert) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_private
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:197,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:199,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:201,1
    - Dst: auto::step
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:204,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:205,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:206,1
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Private_Key
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: Botan::Certificate_Store_In_SQL::find_certs_for_key
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - auto::step
    - auto::get_blob
    - X509_Certificate
    - fingerprint_private
    - std::vector::push_back
    - auto::bind
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Certificate_Store_In_SQL::find_certs_for_key(const
      Private_Key& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_SQL::insert_cert
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:213,1
    - Dst: Botan::Certificate_Store_In_SQL::find_key
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:215,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:219,1
    - Dst: fingerprint_private
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:220,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:223,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:225,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:226,1
    - Dst: auto::data
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:226,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:226,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:227,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:229,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:232,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:233,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:233,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' cert'
    - ' key'
    argTypes:
    - X509_Certificate
    - Private_Key
    constantsTouched: []
    func_position:
      end: 237
      start: 212
    functionDepth: 5
    functionLinenumber: 212
    functionLinenumberEnd: 237
    functionName: Botan::Certificate_Store_In_SQL::insert_key
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - Botan::Certificate_Store_In_SQL::insert_cert
    - auto::spin
    - Botan::PKCS8::BER_encode
    - fingerprint
    - Botan::Certificate_Store_In_SQL::find_key
    - auto::data
    - auto::size
    - fingerprint_private
    - auto::bind
    linkageType: ''
    returnType: bool
    signature: bool Certificate_Store_In_SQL::insert_key(const X509_Certificate& cert,
      const Private_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_private
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:240,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:241,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:243,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Private_Key
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: Botan::Certificate_Store_In_SQL::remove_key
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - fingerprint_private
    - auto::bind
    - auto::spin
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_SQL::remove_key(const Private_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_SQL::insert_cert
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:249,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:251,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:254,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:254,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:255,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:255,1
    - Dst: time_is_set
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:257,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:258,1
    - Dst: BER_encode
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:258,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:260,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:260,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' cert'
    - code
    - ' time'
    argTypes:
    - X509_Certificate
    - CRL_Code
    - X509_Time
    constantsTouched: []
    func_position:
      end: 264
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 264
    functionName: Botan::Certificate_Store_In_SQL::revoke_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - Botan::Certificate_Store_In_SQL::insert_cert
    - auto::bind
    - auto::spin
    - static_cast<size_t>
    - fingerprint
    - time_is_set
    - BER_encode
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_SQL::revoke_cert(const X509_Certificate&
      cert, CRL_Code code, const X509_Time& time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:267,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:269,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:269,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: Botan::Certificate_Store_In_SQL::affirm_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - fingerprint
    - auto::bind
    - auto::spin
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_SQL::affirm_cert(const X509_Certificate&
      cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:274,1
    - Dst: auto::step
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:281,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:282,1
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:283,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:283,1
    - Dst: static_cast<CRL_Code>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:284,1
    - Dst: auto::get_size_t
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:284,1
    - Dst: CRL_Entry
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:285,1
    - Dst: std::map::find
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:287,1
    - Dst: auto::issuer_dn
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:287,1
    - Dst: std::map::end
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:288,1
    - Dst: std::map::insert
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:289,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:289,1
    - Dst: auto::issuer_dn
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:289,1
    - Dst: std::vector<CRL_Entry>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:289,1
    - Dst: auto::second::push_back
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:291,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:298,1
    - Dst: std::map::size
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:298,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:301,1
    - Dst: X509_CRL
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 305
    functionName: Botan::Certificate_Store_In_SQL::generate_crls
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 1
    functionsReached:
    - auto::step
    - std::map::insert
    - std::map::find
    - std::vector<uint8_t>
    - std::map::size
    - auto::second::push_back
    - std::map::end
    - std::vector<CRL_Entry>
    - std::vector::reserve
    - auto::issuer_dn
    - auto::get_size_t
    - X509_Certificate
    - CRL_Entry
    - std::vector::push_back
    - static_cast<CRL_Code>
    - new_statement
    - auto::get_blob
    - std::make_pair
    - X509_CRL
    linkageType: ''
    returnType: std::vector<X509_CRL>
    signature: std::vector<X509_CRL> Certificate_Store_In_SQL::generate_crls() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate_Store_MacOS
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.h:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 74
    functionName: Botan::Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.h
    functionUses: 0
    functionsReached:
    - Certificate_Store_MacOS
    linkageType: ''
    returnType: Certificate_Store_MacOS
    signature: Certificate_Store_MacOS Certificate_Store
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::scoped_CFType::scoped_CFType
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scoped_CFType(T value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - scoped_CFType<T>
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::scoped_CFType::scoped_CFType
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scoped_CFType(const scoped_CFType<T>& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - scoped_CFType<T>
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::scoped_CFType::scoped_CFType
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void scoped_CFType(scoped_CFType<T>&& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CFRelease
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: ~scoped_CFType()
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - CFRelease
    linkageType: ''
    returnType: void
    signature: void ~scoped_CFType()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: operator bool() const
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: Botan::scoped_CFType::assign
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void assign(T value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& get()'
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& get() const'
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dn_info
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:70,1
    - Dst: auto::tagging
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:75,1
    - Dst: std::string::reserve
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:77,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:77,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:78,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:81,1
    - Dst: ::toupper
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:81,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:82,1
    - Dst: std::string::back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:82,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:84,1
    - Dst: std::string::back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:88,1
    - Dst: std::string::erase
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:90,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:90,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:93,1
    - Dst: auto::tagging
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:93,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' dn'
    argTypes:
    - X509_DN
    constantsTouched: []
    func_position:
      end: 100
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 100
    functionName: Botan::normalize
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - X509_DN::add_attribute
    - ::toupper
    - std::string::back
    - auto::value
    - ASN1_String
    - std::string::reserve
    - dn_info
    - auto::tagging
    - std::string::end
    - std::string::empty
    - std::string::push_back
    - std::string::erase
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN normalize(const X509_DN& dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::normalize
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dn'
    argTypes:
    - X509_DN
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Botan::normalizeAndSerialize
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - Botan::normalize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> normalizeAndSerialize(const X509_DN& dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:110,1
    - Dst: CFStringGetLength
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:113,1
    - Dst: CFStringGetMaximumSizeForEncoding
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:114,1
    - Dst: CFStringGetCString
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:117,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:117,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:117,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:119,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:119,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cfstring
    argTypes:
    - CFStringRef
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: Botan::to_string
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 26
    functionsReached:
    - std::vector::data
    - std::vector::size
    - CFStringGetLength
    - std::string
    - CFStringGetMaximumSizeForEncoding
    - CFStringGetCString
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(const CFStringRef cfstring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:124,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - OSStatus
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: Botan::to_string
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 27
    functionsReached:
    - Botan::to_string
    - scoped_CFType::get
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(const OSStatus status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Internal_Error
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:132,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:132,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - status
    - context
    argTypes:
    - OSStatus
    - std::string
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: Botan::check_success
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - Internal_Error
    - Botan::to_string
    linkageType: ''
    returnType: void
    signature: void check_success(const OSStatus status, const std::string context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Internal_Error
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:141,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' value'
    - context
    argTypes:
    - T
    - std::string
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: Botan::check_notnull
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - Internal_Error
    linkageType: ''
    returnType: void
    signature: void check_notnull(const T& value, const std::string context)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: Botan::Certificate_Store_MacOS_Impl::Query::Query
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Query()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ~Query()
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Query()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Query
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: Botan::Certificate_Store_MacOS_Impl::Query::Query
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Query(Query&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Query
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: '& operator=(Query&& other)'
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Query
    signature: Query & operator=(Query&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Query
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: Botan::Certificate_Store_MacOS_Impl::Query::Query
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Query(const Query& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Query
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '& operator=(const Query& other)'
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Query
    signature: Query & operator=(const Query& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:174,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - CFStringRef
    - CFTypeRef
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void addParameter(CFStringRef key, CFTypeRef value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:179,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:179,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:181,1
    - Dst: CFDataCreateWithBytesNoCopy
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:182,1
    - Dst: data
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:182,1
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:182,1
    - Dst: check_notnull
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:183,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:185,1
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - CFStringRef
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - CFDataCreateWithBytesNoCopy
    - check_notnull
    - data
    - Botan::Certificate_Store_MacOS_Impl::Query::addParameter
    - size
    - get
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void addParameter(CFStringRef key, std::vector<uint8_t> value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:194,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:195,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:196,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:197,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:198,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:199,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:201,1
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:201,1
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:201,1
    - Dst: scoped_CFType<CFDictionaryRef>
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:203,1
    - Dst: CFDictionaryCreate
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:203,1
    - Dst: data
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:204,1
    - Dst: data
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:205,1
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:206,1
    - Dst: check_notnull
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ' keychains'
    - ' policy'
    argTypes:
    - CFArrayRef
    - SecPolicyRef
    constantsTouched: []
    func_position:
      end: 212
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 212
    functionName: Botan::Certificate_Store_MacOS_Impl::Query::prepare
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - check_notnull
    - data
    - CFDictionaryCreate
    - BOTAN_ASSERT_EQUAL
    - size
    - Botan::Certificate_Store_MacOS_Impl::Query::addParameter
    - scoped_CFType<CFDictionaryRef>
    linkageType: ''
    returnType: scoped_CFType<CFDictionaryRef>
    signature: scoped_CFType<CFDictionaryRef> prepare(const CFArrayRef& keychains,
      const SecPolicyRef& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecPolicyCreateBasicX509
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:228,1
    - Dst: SecKeychainOpen
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:237,1
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:237,1
    - Dst: check_success
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:238,1
    - Dst: SecKeychainOpen
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:238,1
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:238,1
    - Dst: check_notnull
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:241,1
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:245,1
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:245,1
    - Dst: assign
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:247,1
    - Dst: CFArrayCreate
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:248,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:248,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:248,1
    - Dst: check_notnull
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 250
    functionName: Botan::Certificate_Store_MacOS_Impl::Certificate_Store_MacOS_Impl
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - check_notnull
    - check_success
    - SecKeychainOpen
    - std::array::size
    - get
    - SecPolicyCreateBasicX509
    - CFArrayCreate
    - assign
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_MacOS_Impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:253,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::search
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:256,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:256,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::readCertificate
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:259,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - query
    argTypes:
    - Query
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 262
    functionName: Botan::Certificate_Store_MacOS_Impl::findOne
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Query::addParameter
    - scoped_CFType::get
    - Botan::Certificate_Store_MacOS_Impl::readCertificate
    - Botan::Certificate_Store_MacOS_Impl::search
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: std::optional<X509_Certificate> findOne(Query query) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:265,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::search
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:268,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:268,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:268,1
    - Dst: CFArrayGetCount
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:273,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:273,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:274,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:277,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:277,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:278,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::readCertificate
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - query
    argTypes:
    - Query
    constantsTouched: []
    func_position:
      end: 283
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 283
    functionName: Botan::Certificate_Store_MacOS_Impl::findAll
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Query::addParameter
    - scoped_CFType::get
    - CFArrayGetValueAtIndex
    - Botan::Certificate_Store_MacOS_Impl::readCertificate
    - CFArrayGetCount
    - BOTAN_ASSERT
    - Botan::Certificate_Store_MacOS_Impl::search
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> findAll(Query query) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Query::prepare
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:287,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::keychains
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:287,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::policy
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:287,1
    - Dst: SecItemCopyMatching
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:289,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:289,1
    - Dst: check_success
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:295,1
    - Dst: check_notnull
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - query
    - result
    argTypes:
    - Query
    - CFTypeRef*
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: Botan::Certificate_Store_MacOS_Impl::search
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 2
    functionsReached:
    - SecItemCopyMatching
    - check_notnull
    - scoped_CFType::get
    - check_success
    - Query::prepare
    - Botan::Certificate_Store_MacOS_Impl::policy
    - Botan::Certificate_Store_MacOS_Impl::keychains
    linkageType: ''
    returnType: void
    signature: void search(Query query, CFTypeRef* result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CFGetTypeID
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:303,1
    - Dst: SecCertificateGetTypeID
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:303,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:304,1
    - Dst: static_cast<SecCertificateRef>
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:307,1
    - Dst: const_cast<void*>
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:307,1
    - Dst: check_notnull
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:310,1
    - Dst: CFDataGetBytePtr
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:312,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:312,1
    - Dst: CFDataGetLength
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:313,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:313,1
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - CFTypeRef
    constantsTouched: []
    func_position:
      end: 317
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 317
    functionName: Botan::Certificate_Store_MacOS_Impl::readCertificate
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 2
    functionsReached:
    - const_cast<void*>
    - CFGetTypeID
    - check_notnull
    - scoped_CFType::get
    - Internal_Error
    - CFDataGetBytePtr
    - CFDataGetLength
    - X509_Certificate
    - SecCertificateGetTypeID
    - static_cast<SecCertificateRef>
    linkageType: ''
    returnType: X509_Certificate
    signature: X509_Certificate readCertificate(CFTypeRef object) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: Botan::Certificate_Store_MacOS_Impl::keychains
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: CFArrayRef
    signature: CFArrayRef keychains() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: Botan::Certificate_Store_MacOS_Impl::policy
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: SecPolicyRef
    signature: SecPolicyRef policy() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Certificate_Store_MacOS_Impl>
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: Botan::Certificate_Store_MacOS::Certificate_Store_MacOS
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Certificate_Store_MacOS_Impl>
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_MacOS::Certificate_Store_MacOS()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: findAll
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:346,1
    - Dst: std::transform
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:349,1
    - Dst: auto::cbegin
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:349,1
    - Dst: auto::cend
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:350,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:351,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 355
    functionName: Botan::Certificate_Store_MacOS::all_subjects
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - findAll
    - auto::cbegin
    - auto::cend
    - std::back_inserter
    - subject_dn
    - std::transform
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> Certificate_Store_MacOS::all_subjects() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:360,1
    - Dst: normalizeAndSerialize
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:360,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:362,1
    - Dst: Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:363,1
    - Dst: findOne
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:366,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: Botan::Certificate_Store_MacOS::find_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Certificate_Store_MacOS_Impl::Query::addParameter
    - normalizeAndSerialize
    - findOne
    - empty
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_MacOS::find_cert(const
      X509_DN& subject_dn,\n                                                                   const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:372,1
    - Dst: normalizeAndSerialize
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:372,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:374,1
    - Dst: Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:375,1
    - Dst: findAll
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:378,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: Botan::Certificate_Store_MacOS::find_all_certs
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Certificate_Store_MacOS_Impl::Query::addParameter
    - findAll
    - normalizeAndSerialize
    - empty
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Certificate_Store_MacOS::find_all_certs(const
      X509_DN& subject_dn,\n                                                                      const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:383,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:384,1
    - Dst: Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:388,1
    - Dst: findOne
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:390,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: Botan::Certificate_Store_MacOS::find_cert_by_pubkey_sha1
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Certificate_Store_MacOS_Impl::Query::addParameter
    - findOne
    - Invalid_Argument
    - size
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_MacOS::find_cert_by_pubkey_sha1(\n
      \  const std::vector<uint8_t>& key_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:395,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' subject_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: Botan::Certificate_Store_MacOS::find_cert_by_raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Not_Implemented
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_MacOS::find_cert_by_raw_subject_dn_sha256(\n
      \  const std::vector<uint8_t>& subject_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: Botan::Certificate_Store_MacOS::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> Certificate_Store_MacOS::find_crl_for(const
      X509_Certificate& subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::Handle_Guard::Handle_Guard
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handle_Guard(T context)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Handle_Guard<T>
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::Handle_Guard::Handle_Guard
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handle_Guard(const Handle_Guard<T>& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Handle_Guard<T>
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::Handle_Guard::Handle_Guard
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Handle_Guard(Handle_Guard<T>&& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~Handle_Guard()
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~Handle_Guard()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: operator bool() const
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: Botan::Handle_Guard::assign
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool assign(T context)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '& get()'
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '& get() const'
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: operator->()
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T operator->()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CertFreeCertificateContext
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Botan::Handle_Guard::close
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - CertFreeCertificateContext
    linkageType: ''
    returnType: typename std::enable_if<std::is_same<T2, PCCERT_CONTEXT>::value>::type
    signature: typename std::enable_if<std::is_same<T2, PCCERT_CONTEXT>::value>::type
      close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CertCloseStore
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: Botan::Handle_Guard::close
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - CertCloseStore
    linkageType: ''
    returnType: typename std::enable_if<std::is_same<T2, HCERTSTORE>::value>::type
    signature: typename std::enable_if<std::is_same<T2, HCERTSTORE>::value>::type
      close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CertOpenSystemStoreA
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:88,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:90,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:90,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:91,1
    - Dst: ::GetLastError
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cert_store_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: Botan::open_cert_store
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - CertOpenSystemStoreA
    - Botan::to_string
    - Internal_Error
    - std::string
    - ::GetLastError
    linkageType: ''
    returnType: HCERTSTORE
    signature: HCERTSTORE open_cert_store(const char* cert_store_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::open_cert_store
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:103,1
    - Dst: Handle_Guard::assign
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:105,1
    - Dst: CertFindCertificateInStore
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:105,1
    - Dst: Handle_Guard::get
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:105,1
    - Dst: Handle_Guard::get
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:110,1
    - Dst: filter
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:112,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ' blob'
    - ' find_type'
    - filter
    - return_on_first_found
    argTypes:
    - _CRYPTOAPI_BLOB
    - DWORD
    - std::function<bool(const std::vector<X509_Certificate>& certs, const X509_Certificate&
      cert)>
    - bool
    constantsTouched: []
    func_position:
      end: 122
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 122
    functionName: Botan::search_cert_stores
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Handle_Guard::get
    - Botan::open_cert_store
    - Handle_Guard::assign
    - filter
    - CertFindCertificateInStore
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> search_cert_stores(\n   const _CRYPTOAPI_BLOB&
      blob,\n   const DWORD& find_type,\n   std::function<bool(const std::vector<X509_Certificate>&
      certs, const X509_Certificate& cert)> filter,\n   bool return_on_first_found)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:125,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:125,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' certs'
    - cert
    argTypes:
    - std::vector<X509_Certificate>
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::already_contains_certificate
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - Botan::end
    - std::any_of
    - Botan::begin
    linkageType: ''
    returnType: bool
    signature: bool already_contains_certificate(const std::vector<X509_Certificate>&
      certs, X509_Certificate cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::empty
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:136,1
    - Dst: DER_encode
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:138,1
    - Dst: static_cast<DWORD>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:139,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:139,1
    - Dst: reinterpret_cast<BYTE*>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:140,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:140,1
    - Dst: static_cast<DWORD>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:143,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:143,1
    - Dst: const_cast<BYTE*>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:144,1
    - Dst: data
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:144,1
    - Dst: Botan::already_contains_certificate
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:148,1
    - Dst: Botan::empty
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:148,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:148,1
    - Dst: Botan::search_cert_stores
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ' subject_dn'
    - ' key_id'
    - return_on_first_found
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 152
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 152
    functionName: Botan::find_cert_by_dn_and_key_id
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DWORD>
    - std::vector::size
    - std::vector::data
    - data
    - Botan::empty
    - Botan::already_contains_certificate
    - Botan::search_cert_stores
    - reinterpret_cast<BYTE*>
    - subject_dn
    - DER_encode
    - Botan::size
    - const_cast<BYTE*>
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> find_cert_by_dn_and_key_id(const X509_DN&
      subject_dn,\n                                                         const
      std::vector<uint8_t>& key_id,\n                                                         bool
      return_on_first_found)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: Botan::Certificate_Store_Windows::Certificate_Store_Windows
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_Windows::Certificate_Store_Windows()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_cert_store
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:161,1
    - Dst: Handle_Guard::assign
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:166,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:166,1
    - Dst: Handle_Guard::get
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:166,1
    - Dst: Handle_Guard::get
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:166,1
    - Dst: X509_DN::decode_from
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:170,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:171,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 176
    functionName: Botan::Certificate_Store_Windows::all_subjects
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Handle_Guard::get
    - X509_DN::decode_from
    - open_cert_store
    - Handle_Guard::assign
    - std::vector::emplace_back
    - CertEnumCertificatesInStore
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> Certificate_Store_Windows::all_subjects() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_cert_by_dn_and_key_id
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:180,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:181,1
    - Dst: auto::front
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: Botan::Certificate_Store_Windows::find_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - find_cert_by_dn_and_key_id
    - auto::empty
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_Windows::find_cert(const
      X509_DN& subject_dn,\n                                                                     const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_cert_by_dn_and_key_id
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: Botan::Certificate_Store_Windows::find_all_certs
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - find_cert_by_dn_and_key_id
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Certificate_Store_Windows::find_all_certs(const
      X509_DN& subject_dn,\n                                                                        const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:194,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:195,1
    - Dst: static_cast<DWORD>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:199,1
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:199,1
    - Dst: const_cast<BYTE*>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:200,1
    - Dst: data
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:200,1
    - Dst: search_cert_stores
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:207,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:208,1
    - Dst: auto::front
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:209,1
    - Dst: Botan::Certificate_Store_Windows::find_cert_by_pubkey_sha1_via_exhaustive_search
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 214
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 214
    functionName: Botan::Certificate_Store_Windows::find_cert_by_pubkey_sha1
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DWORD>
    - auto::front
    - Botan::Certificate_Store_Windows::find_cert_by_pubkey_sha1_via_exhaustive_search
    - data
    - search_cert_stores
    - auto::empty
    - Invalid_Argument
    - size
    - const_cast<BYTE*>
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_Windows::find_cert_by_pubkey_sha1(\n
      \  const std::vector<uint8_t>& key_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:218,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' subject_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: Botan::Certificate_Store_Windows::find_cert_by_raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Not_Implemented
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_Windows::find_cert_by_raw_subject_dn_sha256(\n
      \  const std::vector<uint8_t>& subject_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: Botan::Certificate_Store_Windows::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> Certificate_Store_Windows::find_crl_for(const
      X509_Certificate& subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:230,1
    - Dst: end
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:230,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:234,1
    - Dst: open_cert_store
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:236,1
    - Dst: Handle_Guard::assign
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:241,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:241,1
    - Dst: Handle_Guard::get
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:241,1
    - Dst: Handle_Guard::get
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:241,1
    - Dst: auto::process
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:243,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:243,1
    - Dst: std::equal
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:245,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:245,1
    - Dst: end
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:245,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 256
      start: 228
    functionDepth: 4
    functionLinenumber: 228
    functionLinenumberEnd: 256
    functionName: Botan::Certificate_Store_Windows::find_cert_by_pubkey_sha1_via_exhaustive_search
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 1
    functionsReached:
    - auto::begin
    - Handle_Guard::get
    - end
    - std::equal
    - begin
    - open_cert_store
    - Handle_Guard::assign
    - static_cast<uint8_t*>
    - Botan::HashFunction::create_or_throw
    - find
    - CertEnumCertificatesInStore
    - auto::process
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_Windows::find_cert_by_pubkey_sha1_via_exhaustive_search(\n
      \  const std::vector<uint8_t>& key_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate_Store_Windows
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.h:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 83
    functionName: Botan::Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.h
    functionUses: 0
    functionsReached:
    - Certificate_Store_Windows
    linkageType: ''
    returnType: Certificate_Store_Windows
    signature: Certificate_Store_Windows Certificate_Store
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate_Store_In_SQLite
      Src: /src/botan/src/lib/x509/certstor_sqlite3/certstor_sqlite.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: Botan::Certificate_Store_In_SQL
    functionSourceFile: /src/botan/src/lib/x509/certstor_sqlite3/certstor_sqlite.h
    functionUses: 0
    functionsReached:
    - Certificate_Store_In_SQLite
    linkageType: ''
    returnType: Certificate_Store_In_SQLite
    signature: Certificate_Store_In_SQLite Certificate_Store_In_SQL
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Sqlite3_Database>
      Src: /src/botan/src/lib/x509/certstor_sqlite3/certstor_sqlite.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - db_path
    - passwd
    - ' rng'
    - table_prefix
    argTypes:
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: Botan::Certificate_Store_In_SQLite::Certificate_Store_In_SQLite
    functionSourceFile: /src/botan/src/lib/x509/certstor_sqlite3/certstor_sqlite.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Sqlite3_Database>
    linkageType: ''
    returnType: void
    signature: "void Certificate_Store_In_SQLite::Certificate_Store_In_SQLite(std::string_view
      db_path,\n                                                         std::string_view
      passwd,\n                                                         RandomNumberGenerator&
      rng,\n                                                         std::string_view
      table_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end_of_data
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:22,1
    - Dst: Botan::unlock
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:26,1
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:26,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: Botan::decode_all_certificates
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan::unlock
    - Botan::PEM_Code::decode
    - std::vector::push_back
    - end_of_data
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: std::vector<std::vector<uint8_t>> decode_all_certificates(DataSource&
      source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:39,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:40,1
    - Dst: decode_all_certificates
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:45,1
    - Dst: X509_Certificate::is_self_signed
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:54,1
    - Dst: X509_Certificate::is_CA_cert
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:54,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:55,1
    - Dst: X509_Certificate::subject_dn
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:55,1
    - Dst: X509_Certificate::subject_dn
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:56,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:56,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:57,1
    - Dst: X509_Certificate::subject_public_key_bitstring_sha1
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:57,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:58,1
    - Dst: X509_Certificate::raw_subject_dn_sha256
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:58,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:60,1
    - Dst: X509_Certificate::subject_dn
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:60,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:64,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - file
    - ignore_non_ca
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: Botan::Flatfile_Certificate_Store::Flatfile_Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - X509_Certificate::raw_subject_dn_sha256
    - emplace
    - std::string_view::empty
    - X509_Certificate::is_self_signed
    - decode_all_certificates
    - X509_Certificate::subject_dn
    - empty
    - X509_Certificate::subject_public_key_bitstring_sha1
    - Invalid_Argument
    - X509_Certificate::is_CA_cert
    - push_back
    linkageType: ''
    returnType: void
    signature: void Flatfile_Certificate_Store::Flatfile_Certificate_Store(std::string_view
      file, bool ignore_non_ca)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::Flatfile_Certificate_Store::all_subjects
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> Flatfile_Certificate_Store::all_subjects() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:77,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:80,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:80,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: Botan::Flatfile_Certificate_Store::find_all_certs
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 2
    functionsReached:
    - subject_key_id
    - empty
    - std::vector::push_back
    - at
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Flatfile_Certificate_Store::find_all_certs(const
      X509_DN& subject_dn,\n                                                                         const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:93,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:94,1
    - Dst: find
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:97,1
    - Dst: end
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: Botan::Flatfile_Certificate_Store::find_cert_by_pubkey_sha1
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 2
    functionsReached:
    - end
    - find
    - Invalid_Argument
    - size
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Flatfile_Certificate_Store::find_cert_by_pubkey_sha1(\n
      \  const std::vector<uint8_t>& key_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:108,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:109,1
    - Dst: find
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:112,1
    - Dst: end
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' subject_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: Botan::Flatfile_Certificate_Store::find_cert_by_raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - Invalid_Argument
    - size
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Flatfile_Certificate_Store::find_cert_by_raw_subject_dn_sha256(\n
      \  const std::vector<uint8_t>& subject_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: Botan::Flatfile_Certificate_Store::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> Flatfile_Certificate_Store::find_crl_for(const
      X509_Certificate& subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Flatfile_Certificate_Store
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.h:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 72
    functionName: Botan::Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.h
    functionUses: 0
    functionsReached:
    - Flatfile_Certificate_Store
    linkageType: ''
    returnType: Flatfile_Certificate_Store
    signature: Flatfile_Certificate_Store Certificate_Store
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Certificate_Store_MacOS>
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:25,1
    - Dst: std::make_shared<Certificate_Store_Windows>
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:27,1
    - Dst: std::make_shared<Flatfile_Certificate_Store>
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:29,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: Botan::System_Certificate_Store::System_Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<Flatfile_Certificate_Store>
    - std::make_shared<Certificate_Store_MacOS>
    - std::make_shared<Certificate_Store_Windows>
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void System_Certificate_Store::System_Certificate_Store()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::find_cert
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Botan::System_Certificate_Store::find_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 1
    functionsReached:
    - Botan::System_Certificate_Store::find_cert
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> System_Certificate_Store::find_cert(const
      X509_DN& subject_dn,\n                                                                    const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::find_all_certs
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: Botan::System_Certificate_Store::find_all_certs
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 2
    functionsReached:
    - Botan::System_Certificate_Store::find_all_certs
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> System_Certificate_Store::find_all_certs(const
      X509_DN& subject_dn,\n                                                                       const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::find_cert_by_pubkey_sha1
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: Botan::System_Certificate_Store::find_cert_by_pubkey_sha1
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 1
    functionsReached:
    - Botan::System_Certificate_Store::find_cert_by_pubkey_sha1
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> System_Certificate_Store::find_cert_by_pubkey_sha1(\n
      \  const std::vector<uint8_t>& key_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::find_cert_by_raw_subject_dn_sha256
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' subject_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: Botan::System_Certificate_Store::find_cert_by_raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 1
    functionsReached:
    - Botan::System_Certificate_Store::find_cert_by_raw_subject_dn_sha256
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> System_Certificate_Store::find_cert_by_raw_subject_dn_sha256(\n
      \  const std::vector<uint8_t>& subject_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::find_crl_for
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::System_Certificate_Store::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 1
    functionsReached:
    - Botan::System_Certificate_Store::find_crl_for
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> System_Certificate_Store::find_crl_for(const
      X509_Certificate& subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::all_subjects
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::System_Certificate_Store::all_subjects
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 2
    functionsReached:
    - Botan::System_Certificate_Store::all_subjects
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> System_Certificate_Store::all_subjects() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System_Certificate_Store
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.h:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: Botan::Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.h
    functionUses: 0
    functionsReached:
    - System_Certificate_Store
    linkageType: ''
    returnType: System_Certificate_Store
    signature: System_Certificate_Store Certificate_Store
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:43,1
    - Dst: std::make_unique<SHAKE_128_Cipher>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:44,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:49,1
    - Dst: std::make_unique<SHAKE_256_Cipher>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:50,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:57,1
    - Dst: std::make_unique<ChaCha>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:58,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:65,1
    - Dst: std::make_unique<Salsa20>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:66,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:74,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:74,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:74,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:75,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:76,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:76,1
    - Dst: std::make_unique<CTR_BE>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:79,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:86,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:87,1
    - Dst: std::make_unique<ChaCha>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:88,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:88,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:94,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:94,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:95,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:96,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:96,1
    - Dst: std::make_unique<OFB>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:97,1
    - Dst: std::move
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:97,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:105,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:105,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:105,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:108,1
    - Dst: std::make_unique<RC4>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:109,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:115,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:116,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 48
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 119
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 119
    functionName: Botan::StreamCipher::create
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - SCAN_Name::arg_count
    - std::make_unique<ChaCha>
    - BOTAN_UNUSED
    - std::make_unique<CTR_BE>
    - std::string_view::empty
    - std::make_unique<SHAKE_256_Cipher>
    - SCAN_Name::arg_count_between
    - std::make_unique<SHAKE_128_Cipher>
    - std::make_unique<OFB>
    - SCAN_Name::arg
    - std::make_unique<RC4>
    - std::make_unique<Salsa20>
    - SCAN_Name::arg_as_integer
    - Botan::BlockCipher::create
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> StreamCipher::create(std::string_view
      algo_spec, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:123,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: Botan::StreamCipher::create_or_throw
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.cpp
    functionUses: 10
    functionsReached:
    - Lookup_Error
    - Botan::StreamCipher::create
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> StreamCipher::create_or_throw(std::string_view
      algo, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<StreamCipher>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Botan::StreamCipher::providers
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.cpp
    functionUses: 4
    functionsReached:
    - probe_providers_of<StreamCipher>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> StreamCipher::providers(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:134,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:134,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:134,1
    - Dst: cipher_bytes
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:135,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:135,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:135,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - std::span<const uint8_t>
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: Botan::StreamCipher::cipher
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - cipher_bytes
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - std::span<uint8_t>::data
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void StreamCipher::cipher(std::span<const uint8_t> in, std::span<uint8_t>
      out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: Botan::StreamCipher::default_iv_length
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t StreamCipher::default_iv_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:143,1
    - Dst: cipher1
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: Botan::StreamCipher::generate_keystream
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - cipher1
    linkageType: ''
    returnType: void
    signature: void StreamCipher::generate_keystream(uint8_t out[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_bytes
      Src: /src/botan/src/lib/stream/stream_cipher.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::cipher
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - cipher_bytes
    linkageType: ''
    returnType: void
    signature: void cipher(const uint8_t in[], uint8_t out[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_keystream
      Src: /src/botan/src/lib/stream/stream_cipher.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: Botan::write_keystream
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - generate_keystream
    linkageType: ''
    returnType: void
    signature: void write_keystream(uint8_t out[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_keystream
      Src: /src/botan/src/lib/stream/stream_cipher.h:88,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:88,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan::write_keystream
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - generate_keystream
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void write_keystream(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::write_keystream
      Src: /src/botan/src/lib/stream/stream_cipher.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: Botan::keystream_bytes
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::write_keystream
    linkageType: ''
    returnType: T
    signature: T keystream_bytes(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cipher
      Src: /src/botan/src/lib/stream/stream_cipher.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::cipher1
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::cipher
    linkageType: ''
    returnType: void
    signature: void cipher1(uint8_t buf[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cipher
      Src: /src/botan/src/lib/stream/stream_cipher.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Botan::cipher1
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::cipher
    linkageType: ''
    returnType: void
    signature: void cipher1(std::span<uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cipher
      Src: /src/botan/src/lib/stream/stream_cipher.h:124,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:124,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:124,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inout
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan::encipher
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::cipher
    - std::span<uint8_t>::data
    - std::span<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void encipher(std::span<uint8_t> inout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cipher
      Src: /src/botan/src/lib/stream/stream_cipher.h:131,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:131,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:131,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inout
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::encrypt
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 2
    functionsReached:
    - Botan::cipher
    - std::span<uint8_t>::data
    - std::span<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void encrypt(std::span<uint8_t> inout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cipher
      Src: /src/botan/src/lib/stream/stream_cipher.h:138,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:138,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:138,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inout
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: Botan::decrypt
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::cipher
    - std::span<uint8_t>::data
    - std::span<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void decrypt(std::span<uint8_t> inout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_iv_bytes
      Src: /src/botan/src/lib/stream/stream_cipher.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iv
    - iv_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: Botan::set_iv
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - set_iv_bytes
    linkageType: ''
    returnType: void
    signature: void set_iv(const uint8_t iv[], size_t iv_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_iv_bytes
      Src: /src/botan/src/lib/stream/stream_cipher.h:175,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:175,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iv
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Botan::set_iv
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - set_iv_bytes
    linkageType: ''
    returnType: void
    signature: void set_iv(std::span<const uint8_t> iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iv_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: Botan::valid_iv_length
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_iv_length(size_t iv_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/stream/stream_cipher.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: Botan::clone
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    linkageType: ''
    returnType: StreamCipher
    signature: StreamCipher * clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: Botan::provider
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:19,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:21,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:22,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:22,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:23,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:24,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:25,1
    - Dst: Botan::RC4::generate
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:26,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - in
    - out
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: Botan::RC4::cipher_bytes
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::RC4::generate
    - xor_buf
    - size
    linkageType: ''
    returnType: void
    signature: void RC4::cipher_bytes(const uint8_t in[], uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RC4>
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::RC4::new_object
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RC4>
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> RC4::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::RC4::buffer_size
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RC4::buffer_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::RC4::key_spec
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification RC4::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Botan::RC4::set_iv_bytes
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - Invalid_IV_Length
    linkageType: ''
    returnType: void
    signature: void RC4::set_iv_bytes(const uint8_t* /*iv*/, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 86
    functionName: Botan::RC4::generate
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void RC4::generate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::RC4::has_keying_material
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool RC4::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:96,1
    - Dst: resize
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:97,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:102,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:106,1
    - Dst: std::swap
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:107,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:110,1
    - Dst: Botan::RC4::generate
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:111,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: Botan::RC4::key_schedule
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - Botan::RC4::generate
    - std::swap
    - static_cast<uint8_t>
    - std::span<const uint8_t>::size
    - size
    - resize
    linkageType: ''
    returnType: void
    signature: void RC4::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: Botan::RC4::name
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string RC4::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:134,1
    - Dst: zap
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: Botan::RC4::clear
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void RC4::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: Botan::RC4::RC4
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RC4::RC4(size_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: Botan::RC4::seek
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void RC4::seek(uint64_t /*offset*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear
      Src: /src/botan/src/lib/stream/rc4/rc4.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~RC4() override
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.h
    functionUses: 0
    functionsReached:
    - Botan::clear
    linkageType: ''
    returnType: void
    signature: void ~RC4() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:19,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:20,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:21,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' x3'
    - ' x4'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: Botan::salsa20_quarter_round
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void salsa20_quarter_round(uint32_t& x1, uint32_t& x2, uint32_t& x3,
      uint32_t& x4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:37,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:38,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:39,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:40,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:42,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:43,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:44,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint32_t[]
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 56
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 56
    functionName: Botan::Salsa20::hsalsa20
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 1
    functionsReached:
    - salsa20_quarter_round
    linkageType: ''
    returnType: void
    signature: void Salsa20::hsalsa20(uint32_t output[8], const uint32_t input[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:63,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:70,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:71,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:72,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:73,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:75,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:76,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:77,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:78,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:81,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:82,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:83,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:84,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:85,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:86,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:87,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:88,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:89,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:90,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:91,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:92,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:93,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:94,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:95,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 3
    argNames:
    - output
    - input
    - rounds
    argTypes:
    - uint8_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 97
    functionName: Botan::Salsa20::salsa_core
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 1
    functionsReached:
    - store_le
    - salsa20_quarter_round
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Salsa20::salsa_core(uint8_t output[64], const uint32_t input[16],
      size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:103,1
    - Dst: size
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:105,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:108,1
    - Dst: Botan::Salsa20::salsa_core
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:109,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - in
    - out
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: Botan::Salsa20::cipher_bytes
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - Botan::Salsa20::salsa_core
    - assert_key_material_set
    - data
    - size
    - xor_buf
    linkageType: ''
    returnType: void
    signature: void Salsa20::cipher_bytes(const uint8_t in[], uint8_t out[], size_t
      length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 162
    functionName: Botan::Salsa20::initialize_state
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Salsa20::initialize_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::Salsa20::has_keying_material
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Salsa20::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::Salsa20::buffer_size
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Salsa20::buffer_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:176,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:176,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:177,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:177,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:177,1
    - Dst: size
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:177,1
    - Dst: resize
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:179,1
    - Dst: resize
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:180,1
    - Dst: set_iv
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: Botan::Salsa20::key_schedule
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - data
    - set_iv
    - std::span<const uint8_t>::size
    - size
    - std::span<const uint8_t>::data
    - resize
    - load_le<uint32_t>
    linkageType: ''
    returnType: void
    signature: void Salsa20::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:189,1
    - Dst: Botan::Salsa20::valid_iv_length
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:191,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:192,1
    - Dst: Botan::Salsa20::name
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:192,1
    - Dst: Botan::Salsa20::initialize_state
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:195,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:203,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:204,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:207,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:208,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:209,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:210,1
    - Dst: Botan::Salsa20::hsalsa20
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:213,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:213,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:213,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:219,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:220,1
    - Dst: Botan::Salsa20::salsa_core
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:230,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:230,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - iv
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 235
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 235
    functionName: Botan::Salsa20::set_iv_bytes
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - Botan::Salsa20::salsa_core
    - assert_key_material_set
    - Botan::Salsa20::name
    - Invalid_IV_Length
    - Botan::Salsa20::hsalsa20
    - data
    - Botan::Salsa20::valid_iv_length
    - Botan::Salsa20::initialize_state
    - load_le<uint32_t>
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void Salsa20::set_iv_bytes(const uint8_t iv[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iv_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: Botan::Salsa20::valid_iv_length
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Salsa20::valid_iv_length(size_t iv_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: Botan::Salsa20::default_iv_length
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Salsa20::default_iv_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: Botan::Salsa20::key_spec
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification Salsa20::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Salsa20>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: Botan::Salsa20::new_object
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Salsa20>
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> Salsa20::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: Botan::Salsa20::name
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Salsa20::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:261,1
    - Dst: zap
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:262,1
    - Dst: zap
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: Botan::Salsa20::clear
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Salsa20::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:268,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:273,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:275,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:276,1
    - Dst: Botan::Salsa20::salsa_core
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:278,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:278,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 284
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 284
    functionName: Botan::Salsa20::seek
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - Botan::Salsa20::salsa_core
    - assert_key_material_set
    - data
    - store_le
    - load_le<uint32_t>
    linkageType: ''
    returnType: void
    signature: void Salsa20::seek(uint64_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:26,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:29,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:32,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: Botan::chacha_quarter_round
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void chacha_quarter_round(uint32_t& a, uint32_t& b, uint32_t& c, uint32_t&
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:42,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:49,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:50,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:51,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:52,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:54,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:55,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:56,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - output
    - input
    - rounds
    argTypes:
    - uint32_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: Botan::hchacha
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    - Botan::chacha_quarter_round
    linkageType: ''
    returnType: void
    signature: void hchacha(uint32_t output[8], const uint32_t input[16], size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rounds
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::ChaCha::ChaCha
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void ChaCha::ChaCha(size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:78,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: Botan::ChaCha::parallelism
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha::parallelism()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:94,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:100,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: Botan::ChaCha::provider
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string ChaCha::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:115,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:118,1
    - Dst: Botan::BOTAN_FN_ISA_AVX512::chacha_avx512_x16
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:120,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:128,1
    - Dst: Botan::BOTAN_FN_ISA_AVX2::chacha_avx2_x8
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:130,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:138,1
    - Dst: Botan::ChaCha::chacha_simd32_x4
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:140,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:154,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:155,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:156,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:157,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:159,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:160,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:161,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:162,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:182,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:183,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:184,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:185,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:186,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:187,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:188,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:189,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:190,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:191,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:192,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:193,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:194,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:195,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:196,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 69
    argCount: 4
    argNames:
    - output
    - output_blocks
    - state
    - rounds
    argTypes:
    - uint8_t[]
    - size_t
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 202
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 202
    functionName: Botan::ChaCha::chacha
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::BOTAN_FN_ISA_AVX2::chacha_avx2_x8
    - Botan::ChaCha::chacha_simd32_x4
    - Botan::BOTAN_FN_ISA_AVX512::chacha_avx512_x16
    - store_le
    - BOTAN_ASSERT
    - chacha_quarter_round
    linkageType: ''
    returnType: void
    signature: void ChaCha::chacha(uint8_t output[], size_t output_blocks, uint32_t
      state[16], size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:208,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:210,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:213,1
    - Dst: Botan::ChaCha::chacha
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:214,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:214,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:214,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:214,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 225
    functionName: Botan::ChaCha::cipher_bytes
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::ChaCha::chacha
    - data
    - size
    - xor_buf
    linkageType: ''
    returnType: void
    signature: void ChaCha::cipher_bytes(const uint8_t in[], uint8_t out[], size_t
      length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:228,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:230,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:235,1
    - Dst: Botan::ChaCha::chacha
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:236,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:236,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:236,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:236,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 246
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 246
    functionName: Botan::ChaCha::generate_keystream
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::ChaCha::chacha
    - data
    - copy_mem
    - size
    linkageType: ''
    returnType: void
    signature: void ChaCha::generate_keystream(uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 286
    functionName: Botan::ChaCha::initialize_state
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void ChaCha::initialize_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: Botan::ChaCha::has_keying_material
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ChaCha::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: Botan::ChaCha::buffer_size
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha::buffer_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:300,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:300,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:301,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:301,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:301,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:301,1
    - Dst: resize
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:303,1
    - Dst: resize
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:306,1
    - Dst: Botan::ChaCha::parallelism
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:306,1
    - Dst: set_iv
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 309
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 309
    functionName: Botan::ChaCha::key_schedule
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Botan::ChaCha::parallelism
    - data
    - set_iv
    - std::span<const uint8_t>::size
    - size
    - std::span<const uint8_t>::data
    - resize
    - load_le<uint32_t>
    linkageType: ''
    returnType: void
    signature: void ChaCha::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: Botan::ChaCha::default_iv_length
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha::default_iv_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: Botan::ChaCha::key_spec
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification ChaCha::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ChaCha>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: Botan::ChaCha::new_object
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ChaCha>
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> ChaCha::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - iv_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: Botan::ChaCha::valid_iv_length
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ChaCha::valid_iv_length(size_t iv_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:328,1
    - Dst: Botan::ChaCha::valid_iv_length
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:330,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:331,1
    - Dst: Botan::ChaCha::name
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:331,1
    - Dst: Botan::ChaCha::initialize_state
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:334,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:341,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:342,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:344,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:345,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:346,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:348,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:349,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:350,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:351,1
    - Dst: hchacha
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:354,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:354,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:354,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:366,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:367,1
    - Dst: Botan::ChaCha::chacha
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:370,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:370,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:370,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:370,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 2
    argNames:
    - iv
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 372
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 372
    functionName: Botan::ChaCha::set_iv_bytes
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::ChaCha::chacha
    - Botan::ChaCha::initialize_state
    - Invalid_IV_Length
    - hchacha
    - data
    - Botan::ChaCha::valid_iv_length
    - Botan::ChaCha::name
    - size
    - load_le<uint32_t>
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void ChaCha::set_iv_bytes(const uint8_t iv[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:375,1
    - Dst: zap
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:376,1
    - Dst: zap
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: Botan::ChaCha::clear
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void ChaCha::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: Botan::ChaCha::name
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 1
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string ChaCha::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:386,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:393,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:395,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:396,1
    - Dst: Botan::ChaCha::chacha
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:398,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:398,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:398,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: Botan::ChaCha::seek
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::ChaCha::chacha
    - data
    - store_le
    - size
    - load_le<uint32_t>
    linkageType: ''
    returnType: void
    signature: void ChaCha::seek(uint64_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::reset_registers
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:16,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:18,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:19,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:22,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:24,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:25,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:26,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:27,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:28,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:29,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:30,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:31,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:32,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:33,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:34,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:35,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:36,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:37,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:38,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:39,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:52,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:53,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:54,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:55,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:67,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:68,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:69,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:70,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:82,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:83,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:84,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:85,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:97,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:98,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:99,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:100,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:112,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:113,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:114,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:115,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:127,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:128,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:129,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:130,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:142,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:143,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:144,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:145,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:157,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:158,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:159,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:160,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:163,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:164,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:165,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:166,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:167,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:168,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:169,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:170,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:171,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:172,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:173,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:174,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:175,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:176,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:177,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:178,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:180,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:181,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:183,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:184,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:185,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:186,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:187,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:188,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:189,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:190,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:191,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:192,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:193,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:194,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:195,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:196,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:197,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:198,1
    - Dst: Botan::SIMD_8x32::zero_registers
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 140
    argCount: 3
    argNames:
    - output
    - state
    - rounds
    argTypes:
    - uint8_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 206
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 206
    functionName: Botan::BOTAN_FN_ISA_AVX2::chacha_avx2_x8
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_8x32::splat
    - Botan::SIMD_8x32::zero_registers
    - SIMD_8x32::store_le
    - SIMD_8x32::rotl
    - Botan::SIMD_8x32::transpose
    - BOTAN_ASSERT
    - SIMD_8x32
    - Botan::SIMD_8x32::reset_registers
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2 ChaCha::chacha_avx2_x8(uint8_t output[64 * 8],
      uint32_t state[16], size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:16,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:17,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:20,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:22,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:23,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:24,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:25,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:26,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:27,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:28,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:29,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:30,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:31,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:32,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:33,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:34,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:35,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:36,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:37,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:50,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:51,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:52,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:53,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:65,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:66,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:67,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:68,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:80,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:81,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:82,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:83,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:95,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:96,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:97,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:98,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:110,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:111,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:112,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:113,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:125,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:126,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:127,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:128,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:140,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:141,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:142,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:143,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:155,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:156,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:157,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:158,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:161,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:162,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:163,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:164,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:165,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:166,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:167,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:168,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:169,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:170,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:171,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:172,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:173,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:174,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:175,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:176,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:178,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:179,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:180,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:181,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:183,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:184,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:185,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:186,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:187,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:188,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:189,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:190,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:191,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:192,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:193,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:194,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:195,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:196,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:197,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 140
    argCount: 3
    argNames:
    - output
    - state
    - rounds
    argTypes:
    - uint8_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 204
    functionName: Botan::ChaCha::chacha_simd32_x4
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::splat
    - SIMD_4x32::store_le
    - SIMD_4x32::rotl
    - BOTAN_ASSERT
    - Botan::SIMD_4x32::transpose
    - SIMD_4x32
    linkageType: ''
    returnType: void
    signature: void ChaCha::chacha_simd32_x4(uint8_t output[64 * 4], uint32_t state[16],
      size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:16,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:17,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:20,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:23,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:24,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:25,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:26,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:27,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:28,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:29,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:30,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:31,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:32,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:33,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:34,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:35,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:36,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:37,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:38,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:51,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:52,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:53,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:54,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:66,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:67,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:68,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:69,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:81,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:82,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:83,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:84,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:96,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:97,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:98,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:99,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:111,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:112,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:113,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:114,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:126,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:127,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:128,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:129,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:141,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:142,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:143,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:144,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:156,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:157,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:158,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:159,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:162,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:163,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:164,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:165,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:166,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:167,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:168,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:169,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:170,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:171,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:172,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:173,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:174,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:175,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:176,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:177,1
    - Dst: Botan::SIMD_16x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:179,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:181,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:182,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:183,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:184,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:185,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:186,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:187,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:188,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:189,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:190,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:191,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:192,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:193,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:194,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:195,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:196,1
    - Dst: Botan::SIMD_16x32::zero_registers
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 138
    argCount: 3
    argNames:
    - output
    - state
    - rounds
    argTypes:
    - uint8_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 204
    functionName: Botan::BOTAN_FN_ISA_AVX512::chacha_avx512_x16
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_16x32::splat
    - SIMD_16x32::rotl
    - SIMD_16x32
    - SIMD_16x32::store_le
    - BOTAN_ASSERT
    - Botan::SIMD_16x32::zero_registers
    - Botan::SIMD_16x32::transpose
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX512 ChaCha::chacha_avx512_x16(uint8_t output[64
      * 16], uint32_t state[16], size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:18,1
    - Dst: block_size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:19,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:21,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:22,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: Botan::CTR_BE::CTR_BE
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - parallel_bytes
    - block_size
    - size
    linkageType: ''
    returnType: void
    signature: void CTR_BE::CTR_BE(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:27,1
    - Dst: block_size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:28,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:30,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:31,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:32,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cipher
    - ctr_size
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Botan::CTR_BE::CTR_BE
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - parallel_bytes
    - block_size
    - size
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void CTR_BE::CTR_BE(std::unique_ptr<BlockCipher> cipher, size_t ctr_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CTR_BE::clear
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:38,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:39,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:40,1
    - Dst: zap
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Botan::CTR_BE::clear
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 1
    functionsReached:
    - zap
    - zeroise
    - Botan::CTR_BE::clear
    linkageType: ''
    returnType: void
    signature: void CTR_BE::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::CTR_BE::default_iv_length
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CTR_BE::default_iv_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iv_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::CTR_BE::valid_iv_length
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CTR_BE::valid_iv_length(size_t iv_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::CTR_BE::buffer_size
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t CTR_BE::buffer_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CTR_BE::key_spec
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::CTR_BE::key_spec
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 1
    functionsReached:
    - Botan::CTR_BE::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification CTR_BE::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CTR_BE>
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:62,1
    - Dst: Botan::CTR_BE::new_object
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::CTR_BE::new_object
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<CTR_BE>
    - Botan::CTR_BE::new_object
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> CTR_BE::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CTR_BE::has_keying_material
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::CTR_BE::has_keying_material
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 1
    functionsReached:
    - Botan::CTR_BE::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool CTR_BE::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:70,1
    - Dst: set_iv
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: Botan::CTR_BE::key_schedule
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - set_iv
    - set_key
    linkageType: ''
    returnType: void
    signature: void CTR_BE::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:78,1
    - Dst: Botan::CTR_BE::name
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:78,1
    - Dst: fmt
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:80,1
    - Dst: Botan::CTR_BE::name
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: Botan::CTR_BE::name
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::CTR_BE::name
    linkageType: ''
    returnType: std::string
    signature: std::string CTR_BE::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:85,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:93,1
    - Dst: Botan::CTR_BE::add_counter
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:100,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:101,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:101,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:101,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:107,1
    - Dst: Botan::CTR_BE::add_counter
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:112,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:113,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:113,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:113,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - in
    - out
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 118
    functionName: Botan::CTR_BE::cipher_bytes
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - data
    - encrypt_n
    - xor_buf
    - Botan::CTR_BE::add_counter
    linkageType: ''
    returnType: void
    signature: void CTR_BE::cipher_bytes(const uint8_t in[], uint8_t out[], size_t
      length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:121,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:125,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:130,1
    - Dst: Botan::CTR_BE::add_counter
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:131,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:132,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:132,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:134,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:135,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:138,1
    - Dst: Botan::CTR_BE::add_counter
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:139,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:140,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:140,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:140,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:144,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:146,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 147
    functionName: Botan::CTR_BE::generate_keystream
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - data
    - copy_mem
    - encrypt_n
    - size
    - Botan::CTR_BE::add_counter
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void CTR_BE::generate_keystream(uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CTR_BE::valid_iv_length
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:150,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:151,1
    - Dst: Botan::CTR_BE::name
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:151,1
    - Dst: resize
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:154,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:155,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:156,1
    - Dst: Botan::CTR_BE::seek
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - iv
    - iv_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: Botan::CTR_BE::set_iv_bytes
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - Botan::CTR_BE::name
    - Invalid_IV_Length
    - Botan::CTR_BE::valid_iv_length
    - copy_mem
    - zeroise
    - Botan::CTR_BE::seek
    - resize
    linkageType: ''
    returnType: void
    signature: void CTR_BE::set_iv_bytes(const uint8_t iv[], size_t iv_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:171,1
    - Dst: store_be
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:178,1
    - Dst: store_be
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:188,1
    - Dst: store_be
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:189,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:200,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - counter
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 206
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 206
    functionName: Botan::CTR_BE::add_counter
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 2
    functionsReached:
    - store_be
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void CTR_BE::add_counter(const uint64_t counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:209,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:213,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:214,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:214,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:214,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:215,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:215,1
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:224,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:227,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:232,1
    - Dst: store_be
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:238,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:243,1
    - Dst: Botan::CTR_BE::add_counter
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:254,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:257,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:257,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:257,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 259
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 259
    functionName: Botan::CTR_BE::seek
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 1
    functionsReached:
    - assert_key_material_set
    - store_be
    - data
    - copy_mem
    - zeroise
    - encrypt_n
    - is_power_of_2
    - size
    - Botan::CTR_BE::add_counter
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void CTR_BE::seek(uint64_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:17,1
    - Dst: block_size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: Botan::OFB::OFB
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - block_size
    linkageType: ''
    returnType: void
    signature: void OFB::OFB(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OFB::clear
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:20,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: Botan::OFB::clear
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 1
    functionsReached:
    - zeroise
    - Botan::OFB::clear
    linkageType: ''
    returnType: void
    signature: void OFB::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OFB::has_keying_material
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::OFB::has_keying_material
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 1
    functionsReached:
    - Botan::OFB::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool OFB::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::OFB::buffer_size
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t OFB::buffer_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:34,1
    - Dst: set_iv
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: Botan::OFB::key_schedule
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - set_iv
    - set_key
    linkageType: ''
    returnType: void
    signature: void OFB::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:41,1
    - Dst: Botan::OFB::name
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::OFB::name
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::OFB::name
    linkageType: ''
    returnType: std::string
    signature: std::string OFB::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::OFB::default_iv_length
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t OFB::default_iv_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iv_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::OFB::valid_iv_length
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: bool
    signature: bool OFB::valid_iv_length(size_t iv_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OFB::key_spec
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::OFB::key_spec
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 1
    functionsReached:
    - Botan::OFB::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification OFB::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OFB>
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:57,1
    - Dst: Botan::OFB::new_object
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::OFB::new_object
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<OFB>
    - Botan::OFB::new_object
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> OFB::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:61,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:62,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:62,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:63,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:64,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:65,1
    - Dst: encrypt
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:66,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - in
    - out
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: Botan::OFB::cipher_bytes
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - encrypt
    - xor_buf
    - size
    linkageType: ''
    returnType: void
    signature: void OFB::cipher_bytes(const uint8_t in[], uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OFB::valid_iv_length
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:74,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:75,1
    - Dst: Botan::OFB::name
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:75,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:78,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:79,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:79,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:80,1
    - Dst: encrypt
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - iv
    - iv_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: Botan::OFB::set_iv_bytes
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - Invalid_IV_Length
    - copy_mem
    - zeroise
    - Botan::OFB::name
    - Botan::OFB::valid_iv_length
    - encrypt
    - size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void OFB::set_iv_bytes(const uint8_t iv[], size_t iv_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::OFB::seek
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void OFB::seek(uint64_t /*offset*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::SHAKE_Cipher::has_keying_material
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::SHAKE_Cipher::buffer_size
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t buffer_size() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::SHAKE_128_Cipher::name
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_128_Cipher>
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::SHAKE_128_Cipher::new_object
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_128_Cipher>
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::SHAKE_256_Cipher::name
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_256_Cipher>
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::SHAKE_256_Cipher::new_object
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_256_Cipher>
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_Cipher::buffer_size
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keccak_capacity
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: Botan::SHAKE_Cipher::SHAKE_Cipher
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHAKE_Cipher::buffer_size
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::SHAKE_Cipher(size_t keccak_capacity)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:28,1
    - Dst: name
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: Botan::SHAKE_Cipher::set_iv_bytes
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - Invalid_IV_Length
    - name
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::set_iv_bytes(const uint8_t /*iv*/[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::SHAKE_Cipher::seek
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::seek(uint64_t /*offset*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_Cipher::clear
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:37,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: Botan::SHAKE_Cipher::clear
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 1
    functionsReached:
    - zeroise
    - Botan::SHAKE_Cipher::clear
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:44,1
    - Dst: size
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:46,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:50,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:51,1
    - Dst: Botan::SHAKE_Cipher::generate_keystream_internal
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:52,1
    - Dst: std::span
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:52,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:53,1
    - Dst: data
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:53,1
    - Dst: cipher_some
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:63,1
    - Dst: cipher_some
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:68,1
    - Dst: cipher_some
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - in
    - out
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 73
    functionName: Botan::SHAKE_Cipher::cipher_bytes
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - assert_key_material_set
    - Botan::SHAKE_Cipher::generate_keystream_internal
    - data
    - size
    - cipher_some
    - xor_buf
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::cipher_bytes(const uint8_t in[], uint8_t out[],
      size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:76,1
    - Dst: Botan::SHAKE_Cipher::generate_keystream_internal
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: Botan::SHAKE_Cipher::generate_keystream
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::SHAKE_Cipher::generate_keystream_internal
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::generate_keystream(uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: squeeze
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:81,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Botan::SHAKE_Cipher::generate_keystream_internal
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 2
    functionsReached:
    - std::span<uint8_t>::size
    - squeeze
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::generate_keystream_internal(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_Cipher::clear
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:86,1
    - Dst: absorb
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:87,1
    - Dst: finish
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: Botan::SHAKE_Cipher::key_schedule
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - finish
    - Botan::SHAKE_Cipher::clear
    - absorb
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan::SHAKE_Cipher::key_spec
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification SHAKE_Cipher::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan::SHAKE_128_Cipher::SHAKE_128_Cipher
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHAKE_128_Cipher::SHAKE_128_Cipher()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::SHAKE_256_Cipher::SHAKE_256_Cipher
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHAKE_256_Cipher::SHAKE_256_Cipher()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:21,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:21,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:22,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:22,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:23,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:24,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:24,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:46,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:56,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:56,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:56,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:58,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:58,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:58,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:58,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:59,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:59,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:59,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:59,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:65,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:65,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:65,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:65,1
    - Dst: Botan::bigint_shr1
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:66,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:67,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:68,1
    - Dst: Botan::bigint_cnd_sub
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:77,1
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:80,1
    - Dst: Botan::bigint_cnd_abs
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:81,1
    - Dst: Botan::bigint_cnd_swap
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:82,1
    - Dst: Botan::bigint_shr1
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:85,1
    - Dst: Botan::bigint_cnd_sub
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:88,1
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:91,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:91,1
    - Dst: Botan::bigint_shr1
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:96,1
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:99,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:102,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:104,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:106,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:109,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:109,1
    - Dst: if_set_zero_out
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:113,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:120,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:122,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:122,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:122,1
    - Dst: BigInt::swap_reg
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 2
    argNames:
    - ' n'
    - ' mod'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 127
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 127
    functionName: Botan::inverse_mod_odd_modulus
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 0
    functionsReached:
    - Botan::bigint_cnd_abs
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::bigint_shr1
    - Botan::bigint_cnd_sub
    - Botan::CT::unpoison
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    - Botan::BigInt::is_equal
    - _data
    - is_odd
    - Botan::CT::all_zeros
    - Botan::bigint_cnd_swap
    - BigInt::swap_reg
    - std::min
    - is_positive
    - Botan::clear_mem
    - Botan::CT::poison
    - Botan::bigint_cnd_add
    - Botan::copy_mem
    - secure_vector::data
    - auto::as_bool
    - if_set_zero_out
    - BOTAN_ASSERT
    - Botan::bigint_add2_nc
    - secure_vector::size
    linkageType: ''
    returnType: BigInt
    signature: BigInt inverse_mod_odd_modulus(const BigInt& n, const BigInt& mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:135,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:136,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:139,1
    - Dst: BigInt::mask_bits
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:143,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:145,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:146,1
    - Dst: BigInt::grow_to
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:151,1
    - Dst: Botan::round_up
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:151,1
    - Dst: BigInt::grow_to
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:152,1
    - Dst: BigInt::conditionally_set_bit
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:163,1
    - Dst: BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:165,1
    - Dst: BigInt::mask_bits
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:169,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' a1'
    - k
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 173
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 173
    functionName: Botan::inverse_mod_pow2
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 0
    functionsReached:
    - BigInt::grow_to
    - is_even
    - Botan::round_up
    - BigInt::ct_cond_assign
    - BigInt::mask_bits
    - cryptofuzz_secp256k1_scalar_is_zero
    - cryptofuzz::crypto::impl::sha1_done
    - BigInt::conditionally_set_bit
    - Botan::CT::unpoison
    linkageType: ''
    returnType: BigInt
    signature: BigInt inverse_mod_pow2(const BigInt& a1, size_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:178,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:179,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:180,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:183,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:183,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:187,1
    - Dst: Botan::inverse_mod_odd_modulus
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:188,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:189,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:198,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:198,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:201,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:203,1
    - Dst: Botan::inverse_mod_pow2
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:207,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:208,1
    - Dst: Botan::inverse_mod_odd_modulus
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:231,1
    - Dst: Botan::ct_modulo
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:231,1
    - Dst: BigInt::ct_cond_add
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:239,1
    - Dst: BigInt::get_bit
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:239,1
    - Dst: Botan::inverse_mod_odd_modulus
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:251,1
    - Dst: Botan::ct_modulo
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:251,1
    - Dst: Botan::inverse_mod_pow2
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:252,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:259,1
    - Dst: Botan::inverse_mod_pow2
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:261,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:264,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:264,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:269,1
    - Dst: BigInt::mask_bits
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:270,1
    - Dst: BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:272,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - ' x'
    - ' mod'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 278
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 278
    functionName: Botan::inverse_mod_general
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 2
    functionsReached:
    - BigInt::get_bit
    - BigInt::set_sign
    - Botan::inverse_mod_pow2
    - is_even
    - BigInt::ct_cond_assign
    - Botan::inverse_mod_odd_modulus
    - BigInt::ct_cond_add
    - BigInt::mask_bits
    - is_odd
    - BigInt::is_zero
    - BOTAN_ARG_CHECK
    - auto::is_zero
    - Botan::ct_modulo
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::optional<BigInt>
    signature: std::optional<BigInt> inverse_mod_general(const BigInt& x, const BigInt&
      mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:281,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:281,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:281,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:282,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:283,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:283,1
    - Dst: Botan::inverse_mod_odd_modulus
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' x'
    - ' p'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: Botan::inverse_mod_secret_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::inverse_mod_odd_modulus
    - is_odd
    - is_positive
    linkageType: ''
    returnType: BigInt
    signature: BigInt inverse_mod_secret_prime(const BigInt& x, const BigInt& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::inverse_mod_secret_prime
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' p'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: Botan::inverse_mod_public_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 2
    functionsReached:
    - Botan::inverse_mod_secret_prime
    linkageType: ''
    returnType: BigInt
    signature: BigInt inverse_mod_public_prime(const BigInt& x, const BigInt& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:296,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:296,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:296,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:297,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:297,1
    - Dst: Botan::inverse_mod_odd_modulus
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:298,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:299,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' x'
    - ' n'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: Botan::inverse_mod_rsa_public_modulus
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 0
    functionsReached:
    - is_positive
    - Botan::inverse_mod_odd_modulus
    - is_odd
    - BOTAN_ASSERT
    - BigInt::is_zero
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: BigInt
    signature: BigInt inverse_mod_rsa_public_modulus(const BigInt& x, const BigInt&
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:313,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 315
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 315
    functionName: Botan::barrett_mod_65537
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 0
    functionsReached:
    - auto::if_set_return
    - Botan::CT::Mask::is_gte
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t barrett_mod_65537(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::barrett_mod_65537
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:322,1
    - Dst: Botan::barrett_mod_65537
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:323,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - word
    constantsTouched: []
    func_position:
      end: 326
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 326
    functionName: Botan::inverse_mod_65537
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 0
    functionsReached:
    - Botan::barrett_mod_65537
    - static_cast<word>
    linkageType: ''
    returnType: word
    signature: word inverse_mod_65537(word x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:336,1
    - Dst: Botan::gcd
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:336,1
    - Dst: Botan::ct_mod_word
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:352,1
    - Dst: Botan::inverse_mod_65537
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:353,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:354,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:356,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:360,1
    - Dst: Botan::inverse_mod_general
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:361,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' e'
    - ' phi_n'
    - ' p'
    - ' q'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 367
      start: 330
    functionDepth: 4
    functionLinenumber: 330
    functionLinenumberEnd: 367
    functionName: Botan::compute_rsa_secret_exponent
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - Botan::inverse_mod_general
    - Botan::inverse_mod_65537
    - Botan::ct_divide_word
    - Botan::ct_mod_word
    - Internal_Error
    - BOTAN_DEBUG_ASSERT
    - Botan::gcd
    linkageType: ''
    returnType: BigInt
    signature: BigInt compute_rsa_secret_exponent(const BigInt& e, const BigInt& phi_n,
      const BigInt& p, const BigInt& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:370,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:370,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:371,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:371,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:372,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:372,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:374,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:374,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:374,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:375,1
    - Dst: Botan::inverse_mod
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:379,1
    - Dst: Botan::ct_modulo
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:379,1
    - Dst: Botan::inverse_mod_general
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:382,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' n'
    - ' mod'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 4
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: Botan::inverse_mod
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 5
    functionsReached:
    - is_negative
    - Botan::is_zero
    - Botan::inverse_mod_general
    - is_even
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::inverse_mod
    - BOTAN_ARG_CHECK
    - Botan::ct_modulo
    linkageType: ''
    returnType: BigInt
    signature: BigInt inverse_mod(const BigInt& n, const BigInt& mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::multiply
      Src: /src/botan/src/lib/math/numbertheory/barrett.h:66,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/numbertheory/barrett.h:66,1
    - Dst: Botan::Barrett_Reduction
      Src: /src/botan/src/lib/math/numbertheory/barrett.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 80
    functionName: Botan::Barrett_Reduction
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.h
    functionUses: 1
    functionsReached:
    - Botan::square
    - Botan::Barrett_Reduction
    - Botan::multiply
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Barrett_Reduction
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pbits
    - qbits
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: Botan::fips186_3_valid_size
    functionSourceFile: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fips186_3_valid_size(size_t pbits, size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qbits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: Botan::hash_function_for
    functionSourceFile: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function_for(size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fips186_3_valid_size
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:61,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:62,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:62,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:65,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:66,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:67,1
    - Dst: Botan::hash_function_for
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:70,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:71,1
    - Dst: _assign_from_bytes
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:96,1
    - Dst: auto::process
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:96,1
    - Dst: Seed::value
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:96,1
    - Dst: set_bit
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:97,1
    - Dst: set_bit
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:98,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:100,1
    - Dst: auto::update
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:114,1
    - Dst: Seed::value
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:114,1
    - Dst: auto::final
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:115,1
    - Dst: BigInt::_assign_from_bytes
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:119,1
    - Dst: subspan
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:119,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:120,1
    - Dst: bits
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:125,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:125,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 7
    argNames:
    - ' rng'
    - ' p'
    - ' q'
    - pbits
    - qbits
    - ' seed_c'
    - offset
    argTypes:
    - RandomNumberGenerator
    - BigInt
    - BigInt
    - size_t
    - size_t
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 131
    functionName: Botan::generate_dsa_primes
    functionSourceFile: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp
    functionUses: 1
    functionsReached:
    - BigInt::_assign_from_bytes
    - subspan
    - Seed::value
    - Botan::fmt
    - auto::process
    - _assign_from_bytes
    - set_bit
    - Botan::hash_function_for
    - auto::update
    - Invalid_Argument
    - bits
    - Botan::HashFunction::create_or_throw
    - Botan::is_prime
    - auto::final
    - BigInt::set_bit
    - Botan::size
    - Botan::fips186_3_valid_size
    linkageType: ''
    returnType: bool
    signature: "bool generate_dsa_primes(RandomNumberGenerator& rng,\n                         BigInt&
      p,\n                         BigInt& q,\n                         size_t pbits,\n
      \                        size_t qbits,\n                         const std::vector<uint8_t>&
      seed_c,\n                         size_t offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:139,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:139,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:139,1
    - Dst: Botan::generate_dsa_primes
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ' rng'
    - ' p'
    - ' q'
    - pbits
    - qbits
    argTypes:
    - RandomNumberGenerator
    - BigInt
    - BigInt
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: Botan::generate_dsa_primes
    functionSourceFile: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp
    functionUses: 2
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::generate_dsa_primes
    - Botan::randomize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> generate_dsa_primes(RandomNumberGenerator& rng,
      BigInt& p, BigInt& q, size_t pbits, size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:27,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:28,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:29,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:36,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:36,1
    - Dst: Botan::jacobi
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:38,1
    - Dst: Botan::BigInt::from_s32
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:39,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:42,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:43,1
    - Dst: Botan::monty_exp_vartime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:47,1
    - Dst: Botan::monty_exp_vartime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:57,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:58,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:58,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:59,1
    - Dst: Botan::jacobi
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:68,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:68,1
    - Dst: Botan::BigInt::from_s32
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:80,1
    - Dst: Botan::monty_exp_vartime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:84,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:84,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:91,1
    - Dst: Botan::BigInt::from_s32
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:95,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:99,1
    - Dst: Botan::monty_exp_vartime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:100,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:100,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:101,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:102,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:103,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:106,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - ' a'
    - ' p'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 111
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 111
    functionName: Botan::sqrt_modulo_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 5
    functionsReached:
    - Botan::BigInt::from_word
    - Botan::jacobi
    - is_odd
    - Botan::BigInt::from_s32
    - std::make_shared<Montgomery_Params>
    - Botan::Barrett_Reduction::for_public_modulus
    - Botan::monty_exp_vartime
    - BOTAN_ARG_CHECK
    - auto::square
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - auto::multiply
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: BigInt
    signature: BigInt sqrt_modulo_prime(const BigInt& a, const BigInt& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:117,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:118,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:133,1
    - Dst: std::swap
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - ' a'
    - ' n'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 152
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 152
    functionName: Botan::jacobi
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 2
    functionsReached:
    - is_even
    - std::swap
    - Invalid_Argument
    - BigInt::is_zero
    linkageType: ''
    returnType: int32_t
    signature: int32_t jacobi(const BigInt& a, const BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::square
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: Botan::square
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 5
    functionsReached:
    - BigInt::square
    linkageType: ''
    returnType: BigInt
    signature: BigInt square(const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:170,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:172,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:173,1
    - Dst: auto::if_not_set_return
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:180,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:182,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:187,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 188
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 188
    functionName: Botan::low_zero_bits
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 1
    functionsReached:
    - Botan::sha512_msg_expand
    - auto::if_not_set_return
    - static_cast<size_t>
    - Botan::CT::Mask::cleared
    - word_at
    - auto::if_set_return
    - Botan::size
    linkageType: ''
    returnType: size_t
    signature: size_t low_zero_bits(const BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:194,1
    - Dst: Botan::abs
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:195,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:197,1
    - Dst: Botan::abs
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:198,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:202,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:203,1
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:207,1
    - Dst: auto::set_sign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:209,1
    - Dst: auto::set_sign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:210,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:222,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:225,1
    - Dst: auto::is_odd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:225,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:225,1
    - Dst: auto::is_odd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:225,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:228,1
    - Dst: Botan::bigint_cmp
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:228,1
    - Dst: auto::_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:228,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:228,1
    - Dst: auto::_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:228,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:228,1
    - Dst: Botan::bigint_sub_abs
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:229,1
    - Dst: auto::mutable_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:229,1
    - Dst: auto::_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:229,1
    - Dst: auto::_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:229,1
    - Dst: auto::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:230,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:230,1
    - Dst: auto::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:231,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:231,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:233,1
    - Dst: auto::is_even
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:233,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:234,1
    - Dst: auto::is_even
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:234,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:235,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:235,1
    - Dst: if_set_return
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:239,1
    - Dst: Botan::bigint_shr2
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:242,1
    - Dst: auto::mutable_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:242,1
    - Dst: auto::_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:242,1
    - Dst: auto::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:243,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:243,1
    - Dst: Botan::bigint_shr2
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:246,1
    - Dst: auto::mutable_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:246,1
    - Dst: auto::_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:246,1
    - Dst: auto::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:247,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:247,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:253,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:253,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:253,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:254,1
    - Dst: auto::is_odd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:254,1
    - Dst: auto::is_odd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:254,1
    - Dst: auto::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:257,1
    - Dst: auto::is_even
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:257,1
    - Dst: auto::ct_shift_left
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:260,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 265
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 265
    functionName: Botan::gcd
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 6
    functionsReached:
    - Botan::CT::unpoison_all
    - Botan::bigint_sub_abs
    - auto::mutable_data
    - Botan::bigint_cmp
    - auto::ct_shift_left
    - auto::size
    - Botan::bigint_shr2
    - Botan::sha512_msg_expand
    - auto::is_even
    - BOTAN_DEBUG_ASSERT
    - Botan::abs
    - Botan::CT::poison_all
    - auto::is_zero
    - as_bool
    - auto::as_bool
    - auto::set_sign
    - auto::_data
    - Botan::is_zero
    - if_set_return
    - auto::is_odd
    - auto::ct_cond_assign
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: BigInt
    signature: BigInt gcd(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::set_sign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:276,1
    - Dst: Botan::gcd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:277,1
    - Dst: Botan::ct_divide
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: Botan::lcm
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 1
    functionsReached:
    - auto::set_sign
    - Botan::ct_divide
    - Botan::gcd
    linkageType: ''
    returnType: BigInt
    signature: BigInt lcm(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:285,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:286,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:289,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:289,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:290,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:291,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:293,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:296,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:300,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:301,1
    - Dst: Botan::monty_exp
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:302,1
    - Dst: Botan::ct_modulo
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:302,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:309,1
    - Dst: Botan::ct_modulo
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:310,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:314,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:315,1
    - Dst: BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:316,1
    - Dst: Botan::get_bit
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - ' base'
    - ' exp'
    - ' mod'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 319
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 319
    functionName: Botan::power_mod
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 4
    functionsReached:
    - Botan::get_bit
    - is_negative
    - Botan::Barrett_Reduction::for_secret_modulus
    - Botan::is_zero
    - auto::square
    - BigInt::ct_cond_assign
    - cryptofuzz_secp256k1_scalar_is_zero
    - is_odd
    - cryptofuzz::crypto::impl::sha1_done
    - std::make_shared<Montgomery_Params>
    - Botan::monty_exp
    - Botan::ct_modulo
    - auto::multiply
    linkageType: ''
    returnType: BigInt
    signature: BigInt power_mod(const BigInt& base, const BigInt& exp, const BigInt&
      mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:323,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:326,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:331,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:333,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' C'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 350
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 350
    functionName: Botan::is_perfect_square
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 3
    functionsReached:
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - cryptofuzz_secp256k1_scalar_is_zero
    - Invalid_Argument
    - cryptofuzz::crypto::impl::sha1_done
    linkageType: ''
    returnType: BigInt
    signature: BigInt is_perfect_square(const BigInt& C)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:359,1
    - Dst: std::binary_search
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:369,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:372,1
    - Dst: Botan::is_seeded
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:374,1
    - Dst: Botan::is_miller_rabin_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:377,1
    - Dst: Botan::is_lucas_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:384,1
    - Dst: Botan::is_bailie_psw_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - ' n'
    - ' rng'
    - prob
    - is_random
    argTypes:
    - BigInt
    - RandomNumberGenerator
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 389
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 389
    functionName: Botan::is_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 6
    functionsReached:
    - Botan::Barrett_Reduction::for_secret_modulus
    - is_even
    - std::binary_search
    - Botan::is_miller_rabin_probable_prime
    - Botan::is_seeded
    - Botan::is_bailie_psw_probable_prime
    - Botan::is_lucas_probable_prime
    linkageType: ''
    returnType: bool
    signature: bool is_prime(const BigInt& n, RandomNumberGenerator& rng, size_t prob,
      bool is_random)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::monty_precompute
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.h:52,1
    - Dst: Botan::monty_execute
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' params_p'
    - ' g'
    - ' k'
    - max_k_bits
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - BigInt
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: Botan::monty_exp
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.h
    functionUses: 1
    functionsReached:
    - Botan::monty_precompute
    - Botan::monty_execute
    linkageType: ''
    returnType: Montgomery_Int
    signature: "Montgomery_Int monty_exp(const std::shared_ptr<const Montgomery_Params>&
      params_p,\n                                const BigInt& g,\n                                const
      BigInt& k,\n                                size_t max_k_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::monty_precompute
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.h:59,1
    - Dst: Botan::monty_execute_vartime
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' params_p'
    - ' g'
    - ' k'
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Botan::monty_exp_vartime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.h
    functionUses: 2
    functionsReached:
    - Botan::monty_execute_vartime
    - Botan::monty_precompute
    linkageType: ''
    returnType: Montgomery_Int
    signature: "Montgomery_Int monty_exp_vartime(const std::shared_ptr<const Montgomery_Params>&
      params_p,\n                                        const BigInt& g,\n                                        const
      BigInt& k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::abs
      Src: /src/botan/src/lib/math/numbertheory/numthry.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::abs
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.h
    functionUses: 3
    functionsReached:
    - Botan::abs
    linkageType: ''
    returnType: BigInt
    signature: BigInt abs(const BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:25,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' init_value'
    - sieve_size
    - step
    - check_2p1
    argTypes:
    - BigInt
    - size_t
    - word
    - bool
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: Botan::Prime_Sieve::Prime_Sieve
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - size
    linkageType: ''
    returnType: void
    signature: void Prime_Sieve(const BigInt& init_value, size_t sieve_size, word
      step, bool check_2p1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::Prime_Sieve::sieve_size
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t sieve_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::Prime_Sieve::check_2p1
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_2p1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:36,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:37,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:41,1
    - Dst: Botan::Prime_Sieve::check_2p1
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:43,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:53,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: Botan::Prime_Sieve::next
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::sha512_msg_expand
    - cryptofuzz::module::EC_POINT_Copier::set
    - size
    - Botan::Prime_Sieve::check_2p1
    - auto::as_bool
    linkageType: ''
    returnType: bool
    signature: bool next()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' v'
    - ' sieve'
    argTypes:
    - BigInt
    - Prime_Sieve
    constantsTouched: []
    func_position:
      end: 88
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 88
    functionName: Botan::no_small_multiples
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 0
    functionsReached:
    - is_even
    linkageType: ''
    returnType: bool
    signature: bool no_small_multiples(const BigInt& v, const Prime_Sieve& sieve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:100,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:100,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:102,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:102,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:102,1
    - Dst: bits
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:102,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:103,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:106,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:112,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:119,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:123,1
    - Dst: Botan::next_byte
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:123,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:125,1
    - Dst: Botan::next_byte
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:125,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:127,1
    - Dst: Botan::next_byte
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:127,1
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:132,1
    - Dst: Botan::high_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:136,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:137,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:151,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:152,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:153,1
    - Dst: Prime_Sieve::next
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:163,1
    - Dst: BigInt::is_even
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:168,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:172,1
    - Dst: Botan::no_small_multiples
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:172,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:174,1
    - Dst: Botan::is_miller_rabin_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:181,1
    - Dst: Botan::gcd
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:189,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:194,1
    - Dst: Botan::is_miller_rabin_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:198,1
    - Dst: Botan::is_lucas_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:202,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 69
    argCount: 6
    argNames:
    - ' rng'
    - bits
    - ' coprime'
    - equiv
    - modulo
    - prob
    argTypes:
    - RandomNumberGenerator
    - size_t
    - BigInt
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 209
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 209
    functionName: Botan::random_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 7
    functionsReached:
    - Botan::to_string
    - Botan::gcd
    - Botan::BigInt::from_word
    - BigInt::bits
    - Botan::randomize
    - Not_Implemented
    - Botan::is_miller_rabin_probable_prime
    - Botan::is_lucas_probable_prime
    - bits
    - Botan::next_byte
    - is_negative
    - is_even
    - BOTAN_DEBUG_ASSERT
    - Botan::high_bit
    - Botan::is_zero
    - Botan::Barrett_Reduction::for_secret_modulus
    - Prime_Sieve::next
    - Invalid_Argument
    - Botan::no_small_multiples
    - BigInt::is_even
    - BigInt::set_bit
    linkageType: ''
    returnType: BigInt
    signature: "BigInt random_prime(\n   RandomNumberGenerator& rng, size_t bits,
      const BigInt& coprime, size_t equiv, size_t modulo, size_t prob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:217,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:225,1
    - Dst: bits
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:225,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:226,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:244,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:245,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:246,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:247,1
    - Dst: Prime_Sieve::next
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:256,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:260,1
    - Dst: Botan::no_small_multiples
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:260,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:262,1
    - Dst: Botan::is_miller_rabin_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:269,1
    - Dst: Botan::gcd
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:276,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:280,1
    - Dst: Botan::is_miller_rabin_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:284,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 5
    argNames:
    - ' keygen_rng'
    - ' prime_test_rng'
    - bits
    - ' coprime'
    - prob
    argTypes:
    - RandomNumberGenerator
    - RandomNumberGenerator
    - size_t
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 289
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 289
    functionName: Botan::generate_rsa_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 0
    functionsReached:
    - Botan::Barrett_Reduction::for_secret_modulus
    - Prime_Sieve::next
    - BigInt::bits
    - is_even
    - BOTAN_DEBUG_ASSERT
    - Botan::is_miller_rabin_probable_prime
    - Invalid_Argument
    - bits
    - Botan::no_small_multiples
    - Botan::gcd
    - BigInt::set_bit
    linkageType: ''
    returnType: BigInt
    signature: "BigInt generate_rsa_prime(RandomNumberGenerator& keygen_rng,\n                          RandomNumberGenerator&
      prime_test_rng,\n                          size_t bits,\n                          const
      BigInt& coprime,\n                          size_t prob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:296,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:296,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:307,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:307,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' rng'
    - bits
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 314
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 314
    functionName: Botan::random_safe_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 2
    functionsReached:
    - Botan::to_string
    - cryptofuzz_secp256k1_scalar_is_zero
    - Invalid_Argument
    - Botan::is_prime
    - Botan::random_prime
    linkageType: ''
    returnType: BigInt
    signature: BigInt random_safe_prime(RandomNumberGenerator& rng, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:34,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:40,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:40,1
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:47,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:54,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:54,1
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:65,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:69,1
    - Dst: Modular_Reducer
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:79,1
    - Dst: Modular_Reducer
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:84,1
    - Dst: Modular_Reducer
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 91
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/math/numbertheory/reducer.h
    functionUses: 10
    functionsReached:
    - Modular_Reducer
    - BOTAN_DEPRECATED
    - Botan::square
    - Botan::reduce
    - multiply
    linkageType: ''
    returnType: Modular_Reducer
    signature: Modular_Reducer final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:18,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:19,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:23,1
    - Dst: monty_inverse
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:24,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:24,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:26,1
    - Dst: reduce
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:28,1
    - Dst: square
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:29,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' mod_p'
    argTypes:
    - BigInt
    - Barrett_Reduction
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: Botan::Montgomery_Params::Montgomery_Params
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - monty_inverse
    - is_even
    - sig_words
    - word_at
    - Invalid_Argument
    - reduce
    - square
    - multiply
    - Botan_Tests::BitOps_Tests::test_power_of_2
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::Montgomery_Params(const BigInt& p, const Barrett_Reduction&
      mod_p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:34,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:35,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:39,1
    - Dst: monty_inverse
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:40,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:40,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:42,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:44,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:46,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:47,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: Botan::Montgomery_Params::Montgomery_Params
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - Botan::Barrett_Reduction::for_secret_modulus
    - auto::reduce
    - monty_inverse
    - is_even
    - sig_words
    - word_at
    - Invalid_Argument
    - auto::square
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - auto::multiply
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::Montgomery_Params(const BigInt& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:54,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:55,1
    - Dst: BigInt::grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:59,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:61,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:61,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:61,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:61,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' x'
    - ' ws'
    argTypes:
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: Botan::Montgomery_Params::redc
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - BigInt::grow_to
    - data
    - bigint_monty_redc_inplace
    - _data
    - size
    - BigInt::mutable_data
    - resize
    linkageType: ''
    returnType: BigInt
    signature: BigInt Montgomery_Params::redc(const BigInt& x, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:67,1
    - Dst: Botan::Montgomery_Params::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: Botan::Montgomery_Params::mul
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 1
    functionsReached:
    - Botan::Montgomery_Params::mul
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: BigInt
    signature: BigInt Montgomery_Params::mul(const BigInt& x, const BigInt& y, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:75,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:76,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:79,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:79,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:80,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:80,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:82,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:83,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:86,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:86,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:87,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:88,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:89,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:90,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:90,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:91,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:92,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:93,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:93,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:94,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:95,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:97,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:97,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:97,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:97,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - ' y'
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: Botan::Montgomery_Params::mul
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 1
    functionsReached:
    - data
    - bigint_monty_redc_inplace
    - grow_to
    - BOTAN_DEBUG_ASSERT
    - _data
    - sig_words
    - size
    - bigint_mul
    - std::min
    - resize
    - mutable_data
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::mul(BigInt& z, const BigInt& x, const BigInt&
      y, secure_vector<word>& ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:101,1
    - Dst: Botan::Montgomery_Params::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - ' ws'
    argTypes:
    - BigInt
    - std::span<const word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: Botan::Montgomery_Params::mul
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - Botan::Montgomery_Params::mul
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: BigInt
    signature: BigInt Montgomery_Params::mul(const BigInt& x, std::span<const word>
      y, secure_vector<word>& ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:108,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:109,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:111,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:112,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:115,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:115,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:117,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:117,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:118,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:119,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:120,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:121,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:121,1
    - Dst: std::span<const word>::data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:122,1
    - Dst: std::span<const word>::size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:123,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:124,1
    - Dst: std::span<const word>::size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:124,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:125,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:126,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:128,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:128,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:128,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:128,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - std::span<const word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: Botan::Montgomery_Params::mul
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - data
    - bigint_monty_redc_inplace
    - grow_to
    - BOTAN_DEBUG_ASSERT
    - _data
    - sig_words
    - std::span<const word>::data
    - size
    - std::span<const word>::size
    - bigint_mul
    - std::min
    - resize
    - mutable_data
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::mul(BigInt& z, const BigInt& x, std::span<const
      word> y, secure_vector<word>& ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:134,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:135,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:141,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:141,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:143,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:145,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:146,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:147,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:147,1
    - Dst: std::span<const word>::data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:148,1
    - Dst: std::span<const word>::size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:149,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:150,1
    - Dst: std::span<const word>::size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:150,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:154,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:154,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:156,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:157,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:159,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' x'
    - y
    - ' ws'
    argTypes:
    - BigInt
    - std::span<const word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 160
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 160
    functionName: Botan::Montgomery_Params::mul_by
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - bigint_monty_redc_inplace
    - BOTAN_DEBUG_ASSERT
    - std::span<const word>::data
    - _data
    - sig_words
    - grow_to
    - copy_mem
    - size
    - std::span<const word>::size
    - bigint_mul
    - std::min
    - resize
    - mutable_data
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::mul_by(BigInt& x, std::span<const word> y,
      secure_vector<word>& ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:165,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:166,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:172,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:172,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:174,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:176,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:177,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:178,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:178,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:179,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:180,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:181,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:181,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:185,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:185,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:187,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:188,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:190,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 191
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 191
    functionName: Botan::Montgomery_Params::mul_by
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - bigint_monty_redc_inplace
    - BOTAN_DEBUG_ASSERT
    - grow_to
    - _data
    - sig_words
    - copy_mem
    - size
    - bigint_mul
    - std::min
    - resize
    - mutable_data
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::mul_by(BigInt& x, const BigInt& y, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:194,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:194,1
    - Dst: Botan::Montgomery_Params::sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:195,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:195,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' ws'
    argTypes:
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: Botan::Montgomery_Params::sqr
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 1
    functionsReached:
    - Botan::Montgomery_Params::sqr
    - BOTAN_DEBUG_ASSERT
    - _data
    - sig_words
    - size
    linkageType: ''
    returnType: BigInt
    signature: BigInt Montgomery_Params::sqr(const BigInt& x, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:199,1
    - Dst: Botan::Montgomery_Params::sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - ' ws'
    argTypes:
    - std::span<const word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: Botan::Montgomery_Params::sqr
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - Botan::BigInt::with_capacity
    - Botan::Montgomery_Params::sqr
    linkageType: ''
    returnType: BigInt
    signature: BigInt Montgomery_Params::sqr(std::span<const word> x, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Params::sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:205,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:205,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Botan::Montgomery_Params::sqr
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 3
    functionsReached:
    - size
    - Botan::Montgomery_Params::sqr
    - _data
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::sqr(BigInt& z, const BigInt& x, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:211,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:212,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:215,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:216,1
    - Dst: bigint_sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: std::span<const word>::data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: std::span<const word>::size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: std::span<const word>::size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:221,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:221,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:221,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:221,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' z'
    - x
    - ' ws'
    argTypes:
    - BigInt
    - std::span<const word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: Botan::Montgomery_Params::sqr
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 3
    functionsReached:
    - data
    - bigint_monty_redc_inplace
    - grow_to
    - std::span<const word>::data
    - std::min
    - _data
    - size
    - std::span<const word>::size
    - resize
    - bigint_sqr
    - mutable_data
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::sqr(BigInt& z, std::span<const word> x, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:227,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:228,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:234,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:234,1
    - Dst: bigint_sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:236,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:236,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:236,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:236,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:236,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:238,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:238,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:240,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:241,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:243,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' x'
    - ' ws'
    argTypes:
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: Botan::Montgomery_Params::square_this
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - bigint_monty_redc_inplace
    - BOTAN_DEBUG_ASSERT
    - std::min
    - _data
    - sig_words
    - grow_to
    - copy_mem
    - size
    - resize
    - bigint_sqr
    - mutable_data
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::square_this(BigInt& x, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:247,1
    - Dst: R1
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: Botan::Montgomery_Int::one
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - R1
    - Botan::Montgomery_Int::Montgomery_Int
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::one(const std::shared_ptr<const Montgomery_Params>&
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:254,1
    - Dst: redc
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:254,1
    - Dst: R3
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:254,1
    - Dst: Botan::Montgomery_Int::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' params'
    - ' x'
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - BigInt
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: Botan::Montgomery_Int::from_wide_int
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 1
    functionsReached:
    - Botan::Montgomery_Int::mul
    - R3
    - Botan::Montgomery_Int::Montgomery_Int
    - redc
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::from_wide_int(const std::shared_ptr<const
      Montgomery_Params>& params, const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:265,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:265,1
    - Dst: Botan::Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:267,1
    - Dst: R2
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' params'
    - ' v'
    - redc_needed
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - BigInt
    - bool
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: Botan::Montgomery_Int::Montgomery_Int
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - Botan::Montgomery_Int::mul
    - p
    - R2
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void Montgomery_Int::Montgomery_Int(const std::shared_ptr<const Montgomery_Params>&
      params,\n                               const BigInt& v,\n                               bool
      redc_needed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:277,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:277,1
    - Dst: Botan::Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:279,1
    - Dst: R2
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' params'
    - bits
    - len
    - redc_needed
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - uint8_t[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: Botan::Montgomery_Int::Montgomery_Int
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - Botan::Montgomery_Int::mul
    - p
    - R2
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void Montgomery_Int::Montgomery_Int(const std::shared_ptr<const Montgomery_Params>&
      params,\n                               const uint8_t bits[],\n                               size_t
      len,\n                               bool redc_needed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:287,1
    - Dst: set_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:288,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:291,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:291,1
    - Dst: Botan::Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:293,1
    - Dst: R2
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - params
    - words
    - len
    - redc_needed
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - word[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: Botan::Montgomery_Int::Montgomery_Int
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - Botan::Montgomery_Int::mul
    - set_words
    - R2
    - BOTAN_ASSERT_NOMSG
    - p
    linkageType: ''
    returnType: void
    signature: "void Montgomery_Int::Montgomery_Int(std::shared_ptr<const Montgomery_Params>
      params,\n                               const word words[],\n                               size_t
      len,\n                               bool redc_needed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:299,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:299,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: Botan::Montgomery_Int::fix_size
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - grow_to
    - BOTAN_DEBUG_ASSERT
    - sig_words
    linkageType: ''
    returnType: void
    signature: void Montgomery_Int::fix_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:304,1
    - Dst: m_params::p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: Montgomery_Int::operator==(const Montgomery_Int& other) const
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - m_params::p
    - p
    linkageType: ''
    returnType: bool
    signature: bool Montgomery_Int::operator==(const Montgomery_Int& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::value
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: Botan::Montgomery_Int::serialize
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - Botan::Montgomery_Int::value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Montgomery_Int::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: Botan::Montgomery_Int::size
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - p
    linkageType: ''
    returnType: size_t
    signature: size_t Montgomery_Int::size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: R1
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: Botan::Montgomery_Int::is_one
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - R1
    linkageType: ''
    returnType: bool
    signature: bool Montgomery_Int::is_one() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::is_zero
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: Botan::Montgomery_Int::is_zero
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 1
    functionsReached:
    - Botan::Montgomery_Int::is_zero
    linkageType: ''
    returnType: bool
    signature: bool Montgomery_Int::is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: redc
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: Botan::Montgomery_Int::value
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - redc
    linkageType: ''
    returnType: BigInt
    signature: BigInt Montgomery_Int::value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:329,1
    - Dst: BigInt::mod_add
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:332,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:332,1
    - Dst: Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: Montgomery_Int::operator+(const Montgomery_Int& other) const
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - Montgomery_Int
    - BigInt::mod_add
    - BOTAN_STATE_CHECK
    - p
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::operator+(const Montgomery_Int& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:337,1
    - Dst: BigInt::mod_sub
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:340,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:340,1
    - Dst: Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: Montgomery_Int::operator-(const Montgomery_Int& other) const
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - Montgomery_Int
    - BigInt::mod_sub
    - BOTAN_STATE_CHECK
    - p
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::operator-(const Montgomery_Int& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:345,1
    - Dst: '& Montgomery_Int::add'
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: '& Montgomery_Int::operator+=(const Montgomery_Int& other)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - '& Montgomery_Int::add'
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::operator+=(const Montgomery_Int& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:351,1
    - Dst: mod_add
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:352,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' other'
    - ' ws'
    argTypes:
    - Montgomery_Int
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: '& Montgomery_Int::add(const Montgomery_Int& other, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - mod_add
    - p
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::add(const Montgomery_Int& other, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:357,1
    - Dst: '& Montgomery_Int::sub'
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: '& Montgomery_Int::operator-=(const Montgomery_Int& other)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - '& Montgomery_Int::sub'
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::operator-=(const Montgomery_Int& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:363,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:364,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' other'
    - ' ws'
    argTypes:
    - Montgomery_Int
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: '& Montgomery_Int::sub(const Montgomery_Int& other, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - mod_sub
    - BOTAN_STATE_CHECK
    - p
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::sub(const Montgomery_Int& other, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:369,1
    - Dst: Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:371,1
    - Dst: mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: Montgomery_Int::operator*(const Montgomery_Int& other) const
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - Montgomery_Int
    - mul
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::operator*(const Montgomery_Int& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:375,1
    - Dst: Botan::Montgomery_Int::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:376,1
    - Dst: Botan::Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' other'
    - ' ws'
    argTypes:
    - Montgomery_Int
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: Botan::Montgomery_Int::mul
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 5
    functionsReached:
    - Botan::Montgomery_Int::mul
    - Botan::Montgomery_Int::Montgomery_Int
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::mul(const Montgomery_Int& other, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:380,1
    - Dst: mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' other'
    - ' ws'
    argTypes:
    - Montgomery_Int
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: '& Montgomery_Int::mul_by(const Montgomery_Int& other, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - mul_by
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::mul_by(const Montgomery_Int& other,
      secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' other'
    - ' ws'
    argTypes:
    - secure_vector<word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: '& Montgomery_Int::mul_by(const secure_vector<word>& other, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - mul_by
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::mul_by(const secure_vector<word>&
      other, secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:391,1
    - Dst: mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: '& Montgomery_Int::operator*=(const Montgomery_Int& other)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - mul_by
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::operator*=(const Montgomery_Int& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: '& Montgomery_Int::operator*=(const secure_vector<word>& other)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - mul_by
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::operator*=(const secure_vector<word>&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square_this
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' ws'
    - n
    argTypes:
    - secure_vector<word>
    - size_t
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: '& Montgomery_Int::square_this_n_times(secure_vector<word>& ws,
      size_t n)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - square_this
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::square_this_n_times(secure_vector<word>&
      ws, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square_this
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: '& Montgomery_Int::square_this(secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - square_this
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::square_this(secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:414,1
    - Dst: sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: Botan::Montgomery_Int::square
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - sqr
    - Botan::Montgomery_Int::Montgomery_Int
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::square(secure_vector<word>& ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:418,1
    - Dst: sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: Botan::Montgomery_Int::cube
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - sqr
    - Botan::Montgomery_Int::Montgomery_Int
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::cube(secure_vector<word>& ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:422,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: Botan::Montgomery_Int::additive_inverse
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - Botan::Montgomery_Int::Montgomery_Int
    - p
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::additive_inverse() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mod_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:426,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: '& Montgomery_Int::mul_by_2(secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - mod_mul
    - p
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::mul_by_2(secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mod_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:431,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: '& Montgomery_Int::mul_by_3(secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - mod_mul
    - p
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::mul_by_3(secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mod_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:436,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: '& Montgomery_Int::mul_by_4(secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - mod_mul
    - p
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::mul_by_4(secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mod_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:441,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: '& Montgomery_Int::mul_by_8(secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - mod_mul
    - p
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::mul_by_8(secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:20,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:20,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:26,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:30,1
    - Dst: BigInt::is_negative
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:43,1
    - Dst: BigInt::flip_sign
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:44,1
    - Dst: BigInt::flip_sign
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:48,1
    - Dst: Botan::is_perfect_square
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:51,1
    - Dst: BigInt::is_negative
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:56,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:63,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:64,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:71,1
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:73,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:73,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:73,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:73,1
    - Dst: ct_cond_add
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:74,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:74,1
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:76,1
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:81,1
    - Dst: ct_cond_add
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:82,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:82,1
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:85,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:85,1
    - Dst: ct_cond_add
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:86,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:86,1
    - Dst: BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:89,1
    - Dst: BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:90,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - ' C'
    - ' mod_C'
    argTypes:
    - BigInt
    - Barrett_Reduction
    constantsTouched: []
    func_position:
      end: 94
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 94
    functionName: Botan::is_lucas_probable_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/primality.cpp
    functionUses: 3
    functionsReached:
    - is_positive
    - Botan::BigInt::from_word
    - Botan::square
    - is_even
    - Botan::reduce
    - BigInt::flip_sign
    - BigInt::ct_cond_assign
    - Botan::is_perfect_square
    - BigInt::is_negative
    - is_odd
    - cryptofuzz::crypto::impl::sha1_done
    - BOTAN_ARG_CHECK
    - multiply
    - ct_cond_add
    linkageType: ''
    returnType: bool
    signature: bool is_lucas_probable_prime(const BigInt& C, const Barrett_Reduction&
      mod_C)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:99,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:103,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:104,1
    - Dst: Botan::passes_miller_rabin_test
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:105,1
    - Dst: Botan::is_lucas_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' n'
    - ' mod_n'
    argTypes:
    - BigInt
    - Barrett_Reduction
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: Botan::is_bailie_psw_probable_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/primality.cpp
    functionUses: 3
    functionsReached:
    - Botan::BigInt::from_word
    - Botan::passes_miller_rabin_test
    - is_even
    - std::make_shared<Montgomery_Params>
    - Botan::is_lucas_probable_prime
    linkageType: ''
    returnType: bool
    signature: bool is_bailie_psw_probable_prime(const BigInt& n, const Barrett_Reduction&
      mod_n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:112,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:116,1
    - Dst: Botan::monty_precompute
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:125,1
    - Dst: Botan::monty_execute
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:127,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - ' n'
    - ' mod_n'
    - ' monty_n'
    - ' a'
    argTypes:
    - BigInt
    - Barrett_Reduction
    - std::shared_ptr<Montgomery_Params>
    - BigInt
    constantsTouched: []
    func_position:
      end: 150
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 150
    functionName: Botan::passes_miller_rabin_test
    functionSourceFile: /src/botan/src/lib/math/numbertheory/primality.cpp
    functionUses: 1
    functionsReached:
    - Botan::square
    - is_even
    - BOTAN_ASSERT_NOMSG
    - Botan::monty_precompute
    - Botan::monty_execute
    linkageType: ''
    returnType: bool
    signature: "bool passes_miller_rabin_test(const BigInt& n,\n                              const
      Barrett_Reduction& mod_n,\n                              const std::shared_ptr<Montgomery_Params>&
      monty_n,\n                              const BigInt& a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:156,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:160,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:163,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:163,1
    - Dst: Botan::passes_miller_rabin_test
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' n'
    - ' mod_n'
    - ' rng'
    - test_iterations
    argTypes:
    - BigInt
    - Barrett_Reduction
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: Botan::is_miller_rabin_probable_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/primality.cpp
    functionUses: 4
    functionsReached:
    - Botan::BigInt::from_word
    - Botan::passes_miller_rabin_test
    - is_even
    - Botan::BigInt::random_integer
    - std::make_shared<Montgomery_Params>
    linkageType: ''
    returnType: bool
    signature: "bool is_miller_rabin_probable_prime(const BigInt& n,\n                                    const
      Barrett_Reduction& mod_n,\n                                    RandomNumberGenerator&
      rng,\n                                    size_t test_iterations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - n_bits
    - prob
    - random
    argTypes:
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 213
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 213
    functionName: Botan::miller_rabin_test_iterations
    functionSourceFile: /src/botan/src/lib/math/numbertheory/primality.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t miller_rabin_test_iterations(size_t n_bits, size_t prob, bool
      random)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:16,1
    - Dst: bits
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:16,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:18,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' m'
    - mu
    - mw
    argTypes:
    - BigInt
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: Botan::Barrett_Reduction::Barrett_Reduction
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - grow_to
    - bits
    linkageType: ''
    returnType: void
    signature: void Barrett_Reduction::Barrett_Reduction(const BigInt& m, BigInt mu,
      size_t mw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:23,1
    - Dst: is_zero
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:23,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:24,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:24,1
    - Dst: Botan::Barrett_Reduction::Barrett_Reduction
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:30,1
    - Dst: ct_divide_pow2k
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' mod'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: Botan::Barrett_Reduction::for_secret_modulus
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 7
    functionsReached:
    - is_negative
    - ct_divide_pow2k
    - Botan::Barrett_Reduction::Barrett_Reduction
    - is_zero
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction Barrett_Reduction::for_secret_modulus(const BigInt&
      mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:34,1
    - Dst: is_zero
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:34,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:35,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:35,1
    - Dst: Botan::Barrett_Reduction::Barrett_Reduction
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:41,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' mod'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: Botan::Barrett_Reduction::for_public_modulus
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 18
    functionsReached:
    - is_negative
    - Botan::Barrett_Reduction::Barrett_Reduction
    - is_zero
    - BOTAN_ARG_CHECK
    - Botan_Tests::BitOps_Tests::test_power_of_2
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction Barrett_Reduction::for_public_modulus(const BigInt&
      mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:56,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:56,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:59,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:61,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:62,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:65,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:83,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:83,1
    - Dst: std::span<const word>::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:83,1
    - Dst: Botan::bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:94,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: Botan::bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:99,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:99,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:100,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:102,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:104,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:105,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:107,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:108,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:112,1
    - Dst: subspan
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:112,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:116,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:116,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:116,1
    - Dst: secure_vector::swap
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:121,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:130,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:130,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:132,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:132,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:135,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:135,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:135,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:135,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:142,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:142,1
    - Dst: Botan::bigint_sub3
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:144,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:144,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:144,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:144,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:145,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:145,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:145,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:145,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:148,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:149,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:150,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:151,1
    - Dst: BigInt::_from_words
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 5
    argNames:
    - mod_words
    - ' modulus'
    - ' mu'
    - x_words
    - ' ws'
    argTypes:
    - size_t
    - BigInt
    - BigInt
    - std::span<const word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 154
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 154
    functionName: Botan::barrett_reduce
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 0
    functionsReached:
    - Botan::bigint_sub3
    - BigInt::_from_words
    - static_cast<word>
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::CT::unpoison
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    - subspan
    - data
    - std::span<const word>::data
    - _data
    - secure_vector::swap
    - Botan::word_sub
    - Botan::sha512_msg_expand
    - Botan::clear_mem
    - Botan::CT::poison
    - sig_words
    - Botan::copy_mem
    - resize
    - secure_vector::data
    - Botan::bigint_mul
    - secure_vector::size
    linkageType: ''
    returnType: BigInt
    signature: "BigInt barrett_reduce(\n   size_t mod_words, const BigInt& modulus,
      const BigInt& mu, std::span<const word> x_words, secure_vector<word>& ws)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:157,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:157,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:157,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:158,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:158,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:158,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:158,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' modulus'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: Botan::acceptable_barrett_input
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 0
    functionsReached:
    - is_positive
    - Botan::bigint_ct_is_lt
    - Botan::CT::Choice::from_int
    - _data
    - sig_words
    - static_cast<uint32_t>
    - Botan::size
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice acceptable_barrett_input(const BigInt& x, const BigInt&
      modulus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:165,1
    - Dst: acceptable_barrett_input
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:165,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:166,1
    - Dst: acceptable_barrett_input
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:166,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:171,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:171,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:172,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:173,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:174,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:175,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:175,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:176,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:177,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:178,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:178,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:179,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:180,1
    - Dst: barrett_reduce
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 183
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 183
    functionName: Botan::Barrett_Reduction::multiply
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 0
    functionsReached:
    - barrett_reduce
    - bigint_mul
    - acceptable_barrett_input
    - _data
    - size
    - BOTAN_ARG_CHECK
    - std::min
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: BigInt
    signature: BigInt Barrett_Reduction::multiply(const BigInt& x, const BigInt& y)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:186,1
    - Dst: acceptable_barrett_input
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:186,1
    - Dst: bigint_sqr
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: barrett_reduce
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: Botan::Barrett_Reduction::square
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 0
    functionsReached:
    - barrett_reduce
    - acceptable_barrett_input
    - _data
    - bigint_sqr
    - size
    - BOTAN_ARG_CHECK
    - std::min
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: BigInt
    signature: BigInt Barrett_Reduction::square(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:197,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:197,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:200,1
    - Dst: barrett_reduce
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:203,1
    - Dst: _as_span
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: Botan::Barrett_Reduction::reduce
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - barrett_reduce
    - _as_span
    - is_positive
    linkageType: ''
    returnType: BigInt
    signature: BigInt Barrett_Reduction::reduce(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.h:29,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/numbertheory/monty.h:123,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/monty.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 132
    functionName: Botan::Montgomery_Int
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.h
    functionUses: 1
    functionsReached:
    - Botan::CT::unpoison
    - Botan::CT::poison
    - Botan::Montgomery_Int
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Montgomery_Int
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Params
      Src: /src/botan/src/lib/math/numbertheory/monty.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 194
    functionName: Botan::Montgomery_Params
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.h
    functionUses: 1
    functionsReached:
    - Botan::Montgomery_Params
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Montgomery_Params
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/reducer.cpp:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' mod'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: Botan::Modular_Reducer::Modular_Reducer
    functionSourceFile: /src/botan/src/lib/math/numbertheory/reducer.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Modular_Reducer::Modular_Reducer(const BigInt& mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ct_modulo
      Src: /src/botan/src/lib/math/numbertheory/reducer.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::Modular_Reducer::reduce
    functionSourceFile: /src/botan/src/lib/math/numbertheory/reducer.cpp
    functionUses: 1
    functionsReached:
    - ct_modulo
    linkageType: ''
    returnType: BigInt
    signature: BigInt Modular_Reducer::reduce(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:35,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:37,1
    - Dst: reserve
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:42,1
    - Dst: push_back
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:44,1
    - Dst: Botan::Montgomery_Int::one
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:44,1
    - Dst: push_back
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:46,1
    - Dst: push_back
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:49,1
    - Dst: fix_size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:54,1
    - Dst: Botan::CT::poison_range
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - ' g'
    - window_bits
    - const_time
    argTypes:
    - Montgomery_Int
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: Botan::Montgomery_Exponentation_State::Montgomery_Exponentation_State
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 0
    functionsReached:
    - Botan::Montgomery_Int::one
    - _params
    - Botan::CT::poison_range
    - reserve
    - Invalid_Argument
    - fix_size
    - push_back
    linkageType: ''
    returnType: void
    signature: "void Montgomery_Exponentation_State::Montgomery_Exponentation_State(const
      Montgomery_Int& g,\n                                                               size_t
      window_bits,\n                                                               bool
      const_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:65,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:65,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:69,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:69,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:69,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:71,1
    - Dst: repr
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:72,1
    - Dst: repr
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:73,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:75,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:75,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:75,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:77,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:78,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:81,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' output'
    - ' g'
    - nibble
    argTypes:
    - secure_vector<word>
    - std::vector<Montgomery_Int>
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: Botan::const_time_lookup
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - data
    - Botan::clear_mem
    - repr
    - auto::if_set_return
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void const_time_lookup(secure_vector<word>& output, const std::vector<Montgomery_Int>&
      g, size_t nibble)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:90,1
    - Dst: bits
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:90,1
    - Dst: Botan::Montgomery_Int::one
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:96,1
    - Dst: p_words
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:99,1
    - Dst: const_time_lookup
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:102,1
    - Dst: get_substring
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:102,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:103,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:103,1
    - Dst: Montgomery_Int::square_this_n_times
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:106,1
    - Dst: const_time_lookup
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:107,1
    - Dst: get_substring
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:107,1
    - Dst: Montgomery_Int::mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:108,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' scalar'
    - max_k_bits
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 113
    functionName: Botan::Montgomery_Exponentation_State::exponentiation
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 0
    functionsReached:
    - Botan::Montgomery_Int::one
    - Botan::CT::unpoison
    - Montgomery_Int::square_this_n_times
    - p_words
    - get_substring
    - Montgomery_Int::mul_by
    - BOTAN_DEBUG_ASSERT
    - bits
    - const_time_lookup
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Exponentation_State::exponentiation(const
      BigInt& scalar, size_t max_k_bits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::one
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:121,1
    - Dst: get_substring
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:124,1
    - Dst: Montgomery_Int::square_this_n_times
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:127,1
    - Dst: Montgomery_Int::mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:131,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 137
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 137
    functionName: Botan::Montgomery_Exponentation_State::exponentiation_vartime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 0
    functionsReached:
    - Botan::Montgomery_Int::one
    - Montgomery_Int::square_this_n_times
    - get_substring
    - Montgomery_Int::mul_by
    - Botan::CT::unpoison
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Exponentation_State::exponentiation_vartime(const
      BigInt& scalar) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const Montgomery_Exponentation_State>
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' g'
    - window_bits
    - const_time
    argTypes:
    - Montgomery_Int
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: Botan::monty_precompute
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 3
    functionsReached:
    - std::make_shared<const Montgomery_Exponentation_State>
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Exponentation_State>
    signature: "std::shared_ptr<const Montgomery_Exponentation_State> monty_precompute(const
      Montgomery_Int& g,\n                                                                       size_t
      window_bits,\n                                                                       bool
      const_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:147,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:147,1
    - Dst: Botan::monty_precompute
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' params'
    - ' g'
    - window_bits
    - const_time
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - BigInt
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: Botan::monty_precompute
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 4
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::monty_precompute
    - p
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Exponentation_State>
    signature: "std::shared_ptr<const Montgomery_Exponentation_State> monty_precompute(\n
      \  const std::shared_ptr<const Montgomery_Params>& params, const BigInt& g,
      size_t window_bits, bool const_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exponentiation
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' precomputed_state'
    - ' k'
    - max_k_bits
    argTypes:
    - Montgomery_Exponentation_State
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: Botan::monty_execute
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 2
    functionsReached:
    - exponentiation
    linkageType: ''
    returnType: Montgomery_Int
    signature: "Montgomery_Int monty_execute(const Montgomery_Exponentation_State&
      precomputed_state,\n                             const BigInt& k,\n                             size_t
      max_k_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exponentiation_vartime
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' precomputed_state'
    - ' k'
    argTypes:
    - Montgomery_Exponentation_State
    - BigInt
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Botan::monty_execute_vartime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 1
    functionsReached:
    - exponentiation_vartime
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int monty_execute_vartime(const Montgomery_Exponentation_State&
      precomputed_state, const BigInt& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:167,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:167,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:168,1
    - Dst: Botan::R1
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:175,1
    - Dst: Montgomery_Int::square
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:179,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:180,1
    - Dst: Montgomery_Int::square
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:183,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:184,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:186,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:187,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:188,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:190,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:191,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:192,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:194,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:195,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:196,1
    - Dst: Montgomery_Int::square_this
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:219,1
    - Dst: Montgomery_Int::square_this
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:220,1
    - Dst: Montgomery_Int::mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - ' params_p'
    - ' x_bn'
    - ' z1'
    - ' y_bn'
    - ' z2'
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 232
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 232
    functionName: Botan::monty_multi_exp
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 0
    functionsReached:
    - is_negative
    - Montgomery_Int::square
    - Montgomery_Int::square_this
    - Botan::R1
    - Montgomery_Int::mul_by
    - Invalid_Argument
    - Montgomery_Int::mul
    linkageType: ''
    returnType: Montgomery_Int
    signature: "Montgomery_Int monty_multi_exp(const std::shared_ptr<const Montgomery_Params>&
      params_p,\n                               const BigInt& x_bn,\n                               const
      BigInt& z1,\n                               const BigInt& y_bn,\n                               const
      BigInt& z2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::numsp512d1::Curve::fe_invert2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:36,1
    - Dst: invert
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fe'
    argTypes:
    - typename C::FieldElement
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: Botan::invert_field_element
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - invert
    - Botan::PCurve::numsp512d1::Curve::fe_invert2
    linkageType: ''
    returnType: auto
    signature: auto invert_field_element(const typename C::FieldElement& fe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::numsp512d1::Curve::fe_invert2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:51,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:51,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:52,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:52,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:53,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:53,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:53,1
    - Dst: Botan::invert_field_element
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:55,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:55,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:56,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:58,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:58,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - typename C::ProjectivePoint
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: Botan::to_affine
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - y
    - z
    - Botan::EC_AffinePoint::EC_AffinePoint
    - Botan::PCurve::numsp512d1::Curve::fe_invert2
    - x
    - auto::square
    - Botan::invert_field_element
    linkageType: ''
    returnType: auto
    signature: auto to_affine(const typename C::ProjectivePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:68,1
    - Dst: Botan::PCurve::numsp512d1::Curve::fe_invert2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:68,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:68,1
    - Dst: Botan::invert_field_element
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:70,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:70,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:71,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - typename C::ProjectivePoint
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: Botan::to_affine_x
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - z
    - Botan::PCurve::numsp512d1::Curve::fe_invert2
    - x
    - auto::square
    - Botan::invert_field_element
    linkageType: ''
    returnType: auto
    signature: auto to_affine_x(const typename C::ProjectivePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:82,1
    - Dst: Botan::CT::Choice::no
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:84,1
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:87,1
    - Dst: CT::Choice::as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:90,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:95,1
    - Dst: Botan::to_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:95,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:99,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:108,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:108,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:110,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:110,1
    - Dst: Botan::invert_field_element
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:113,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:119,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:122,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:124,1
    - Dst: AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:124,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:124,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:124,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:127,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:129,1
    - Dst: AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:129,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:129,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:129,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:130,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:130,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - projective
    argTypes:
    - std::span<const typename C::ProjectivePoint>
    constantsTouched: []
    func_position:
      end: 135
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 135
    functionName: Botan::to_affine_batch
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - AffinePoint
    - y
    - std::reverse
    - CT::Choice::as_bool
    - Botan::to_affine
    - std::vector::reserve
    - Botan::CT::Choice::no
    - is_identity
    - z
    - x
    - std::vector::begin
    - auto::square
    - Botan::invert_field_element
    - std::vector::push_back
    - std::vector::end
    linkageType: ''
    returnType: auto
    signature: auto to_affine_batch(std::span<const typename C::ProjectivePoint> projective)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:146,1
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:147,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:149,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:153,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:154,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:155,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:156,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:157,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:157,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:158,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:158,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:165,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:165,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:165,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:166,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:169,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:172,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:180,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:181,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:184,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:184,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:184,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:184,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:187,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:187,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:187,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:187,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ProjectivePoint
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 190
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 190
    functionName: Botan::point_add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - y
    - ProjectivePoint
    - dbl
    - is_identity
    - z
    - Botan::Ed448Point::ct_conditional_assign
    - x
    - auto::square
    - auto::is_zero
    - as_bool
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint point_add(const ProjectivePoint& a, const ProjectivePoint&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:196,1
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:197,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:198,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:208,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:209,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:210,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:210,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:211,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:212,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:217,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:217,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:217,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:218,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:221,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:223,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:224,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:229,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:232,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:235,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:235,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:235,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:238,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:238,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:238,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:238,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' one'
    argTypes:
    - ProjectivePoint
    - AffinePoint
    - FieldElement
    constantsTouched: []
    func_position:
      end: 241
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 241
    functionName: Botan::point_add_mixed
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - y
    - ProjectivePoint
    - dbl
    - is_identity
    - z
    - Botan::Ed448Point::ct_conditional_assign
    - x
    - auto::square
    - auto::is_zero
    - as_bool
    linkageType: ''
    returnType: ProjectivePoint
    signature: "ProjectivePoint point_add_mixed(const ProjectivePoint& a,\n                                                 const
      AffinePoint& b,\n                                                 const FieldElement&
      one)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:248,1
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:249,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:250,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:260,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:261,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:261,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:263,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:264,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:265,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:266,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:267,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:272,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:272,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:272,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:273,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:276,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:278,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:279,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:284,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:287,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:290,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:290,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:293,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:293,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:293,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:293,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - sub
    - ' one'
    argTypes:
    - ProjectivePoint
    - AffinePoint
    - CT::Choice
    - FieldElement
    constantsTouched: []
    func_position:
      end: 296
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 296
    functionName: Botan::point_add_or_sub_mixed
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - y
    - ProjectivePoint
    - dbl
    - auto::negate
    - is_identity
    - z
    - Botan::Ed448Point::ct_conditional_assign
    - auto::conditional_assign
    - x
    - auto::square
    - auto::is_zero
    - as_bool
    linkageType: ''
    returnType: ProjectivePoint
    signature: "ProjectivePoint point_add_or_sub_mixed(const ProjectivePoint& a,\n
      \                                                       const AffinePoint& b,\n
      \                                                       CT::Choice sub,\n                                                        const
      FieldElement& one)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:314,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:315,1
    - Dst: mul3
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:315,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:315,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:318,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:319,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:320,1
    - Dst: auto::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:320,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:321,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:322,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:322,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 325
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 325
    functionName: Botan::dbl_a_minus_3
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - mul3
    - y
    - auto::mul2
    - z
    - x
    - auto::square
    - ProjectivePoint
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint dbl_a_minus_3(const ProjectivePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:331,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:334,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:335,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:336,1
    - Dst: auto::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:336,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:337,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:338,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:338,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 341
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 341
    functionName: Botan::dbl_a_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - y
    - auto::mul2
    - z
    - x
    - auto::square
    - ProjectivePoint
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint dbl_a_zero(const ProjectivePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:346,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:347,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:347,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:350,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:351,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:352,1
    - Dst: auto::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:352,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:353,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:354,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:354,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' A'
    argTypes:
    - ProjectivePoint
    - FieldElement
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: Botan::dbl_generic
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - y
    - auto::mul2
    - z
    - x
    - auto::square
    - ProjectivePoint
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint dbl_generic(const ProjectivePoint& pt, const FieldElement&
      A)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:378,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:379,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:380,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:381,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:384,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:385,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:386,1
    - Dst: mul3
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:386,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:388,1
    - Dst: auto::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:388,1
    - Dst: mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:390,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:396,1
    - Dst: auto::div2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' pt'
    - n
    argTypes:
    - ProjectivePoint
    - size_t
    constantsTouched: []
    func_position:
      end: 397
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 397
    functionName: Botan::dbl_n_a_minus_3
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - mul3
    - y
    - auto::mul2
    - mul2
    - z
    - auto::div2
    - x
    - auto::square
    - ProjectivePoint
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint dbl_n_a_minus_3(const ProjectivePoint& pt, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:401,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:402,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:403,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:406,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:407,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:408,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:410,1
    - Dst: auto::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:410,1
    - Dst: mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:412,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:415,1
    - Dst: auto::div2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' pt'
    - n
    argTypes:
    - ProjectivePoint
    - size_t
    constantsTouched: []
    func_position:
      end: 416
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 416
    functionName: Botan::dbl_n_a_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - y
    - auto::mul2
    - mul2
    - z
    - auto::div2
    - x
    - auto::square
    - ProjectivePoint
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint dbl_n_a_zero(const ProjectivePoint& pt, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:420,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:421,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:422,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:423,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:426,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:427,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:428,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:430,1
    - Dst: auto::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:430,1
    - Dst: mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:432,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:438,1
    - Dst: auto::div2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' pt'
    - ' A'
    - n
    argTypes:
    - ProjectivePoint
    - FieldElement
    - size_t
    constantsTouched: []
    func_position:
      end: 439
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 439
    functionName: Botan::dbl_n_generic
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - y
    - auto::mul2
    - mul2
    - z
    - auto::div2
    - x
    - auto::square
    - ProjectivePoint
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint dbl_n_generic(const ProjectivePoint& pt, const FieldElement&
      A, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::PCurve::PrimeOrderCurve::Scalar::Scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scalar(const Scalar& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::PCurve::PrimeOrderCurve::Scalar::Scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scalar(Scalar&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(const Scalar& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scalar
    signature: Scalar & operator=(const Scalar& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(Scalar&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scalar
    signature: Scalar & operator=(Scalar&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~Scalar()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Scalar()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& _curve() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& _value() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::Scalar::Scalar
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:78,1
    - Dst: std::move
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - curve
    - v
    argTypes:
    - CurvePtr
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::PCurve::PrimeOrderCurve::Scalar::_create
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::PCurve::PrimeOrderCurve::Scalar::Scalar
    linkageType: ''
    returnType: Scalar
    signature: Scalar _create(CurvePtr curve, StorageUnit v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - curve
    - v
    argTypes:
    - CurvePtr
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan::PCurve::PrimeOrderCurve::Scalar::Scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Scalar(CurvePtr curve, StorageUnit v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::PCurve::PrimeOrderCurve::AffinePoint::AffinePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AffinePoint(const AffinePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::PCurve::PrimeOrderCurve::AffinePoint::AffinePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AffinePoint(AffinePoint&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '& operator=(const AffinePoint& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint & operator=(const AffinePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '& operator=(AffinePoint&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint & operator=(AffinePoint&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~AffinePoint()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AffinePoint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::AffinePoint::generator
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' curve'
    argTypes:
    - CurvePtr
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan::PCurve::PrimeOrderCurve::AffinePoint::generator
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurve::AffinePoint::generator
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint generator(const CurvePtr& curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: '& _curve() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& _x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: '& _y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::AffinePoint::AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:109,1
    - Dst: std::move
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - curve
    - x
    - y
    argTypes:
    - CurvePtr
    - StorageUnit
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::PCurve::PrimeOrderCurve::AffinePoint::AffinePoint
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint _create(CurvePtr curve, StorageUnit x, StorageUnit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - curve
    - x
    - y
    argTypes:
    - CurvePtr
    - StorageUnit
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Botan::PCurve::PrimeOrderCurve::AffinePoint::AffinePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AffinePoint(CurvePtr curve, StorageUnit x, StorageUnit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProjectivePoint(const ProjectivePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProjectivePoint(ProjectivePoint&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& operator=(const ProjectivePoint& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint & operator=(const ProjectivePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '& operator=(ProjectivePoint&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint & operator=(ProjectivePoint&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~ProjectivePoint()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProjectivePoint()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: '& _curve() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: '& _x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: '& _y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: '& _z() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _z() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:143,1
    - Dst: std::move
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - curve
    - x
    - y
    - z
    argTypes:
    - CurvePtr
    - StorageUnit
    - StorageUnit
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::_create
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint _create(CurvePtr curve, StorageUnit x, StorageUnit
      y, StorageUnit z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - curve
    - x
    - y
    - z
    argTypes:
    - CurvePtr
    - StorageUnit
    - StorageUnit
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ProjectivePoint(CurvePtr curve, StorageUnit x, StorageUnit y,
      StorageUnit z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: ~PrecomputedMul2Table()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrecomputedMul2Table()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: ~PrimeOrderCurve()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrimeOrderCurve()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:47,1
    - Dst: std::span<const ProjectivePoint>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:47,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:50,1
    - Dst: std::span<const ProjectivePoint>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:50,1
    - Dst: to_affine_batch<C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pts
    argTypes:
    - std::span<const ProjectivePoint>
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: Botan::AffinePointTable::AffinePointTable
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - to_affine_batch<C>
    - std::span<const ProjectivePoint>::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void AffinePointTable(std::span<const ProjectivePoint> pts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:63,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:63,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:65,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:69,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:70,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: Botan::AffinePointTable::ct_select
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - BOTAN_DEBUG_ASSERT
    - auto::conditional_assign
    - size
    - Botan::EC_AffinePoint::identity
    linkageType: ''
    returnType: AffinePoint
    signature: "AffinePoint ct_select(size_t idx) const\n         requires(WholeRangeSearch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:84,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:85,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:85,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:87,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:92,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - idx
    - iter
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: Botan::AffinePointTable::ct_select
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - BOTAN_DEBUG_ASSERT
    - auto::conditional_assign
    - size
    - Botan::EC_AffinePoint::identity
    linkageType: ''
    returnType: AffinePoint
    signature: "AffinePoint ct_select(size_t idx, size_t iter) const\n         requires(!WholeRangeSearch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:152,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:154,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:157,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:161,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:161,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:163,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:167,1
    - Dst: Botan::to_affine_batch
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p'
    - max_scalar_bits
    argTypes:
    - typename C::AffinePoint
    - size_t
    constantsTouched: []
    func_position:
      end: 171
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 171
    functionName: Botan::basemul_setup
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - dbl
    - Botan::to_affine_batch
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - std::vector::emplace_back
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<typename C::AffinePoint>
    signature: std::vector<typename C::AffinePoint> basemul_setup(const typename C::AffinePoint&
      p, size_t max_scalar_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const typename C::AffinePoint>::first
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:184,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:185,1
    - Dst: Botan::PCurve::GenericAffinePoint::ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:185,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:186,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:187,1
    - Dst: std::span<const typename C::AffinePoint>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:195,1
    - Dst: Botan::PCurve::GenericAffinePoint::ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:202,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:205,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - table
    - ' scalar'
    - ' rng'
    argTypes:
    - std::span<const typename C::AffinePoint>
    - BlindedScalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 211
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 211
    functionName: Botan::basemul_exec
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::ct_select
    - std::span<const typename C::AffinePoint>::subspan
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - Botan::CT::poison
    - std::span<const typename C::AffinePoint>::first
    - auto::randomize_rep
    - Botan::CT::unpoison
    linkageType: ''
    returnType: typename C::ProjectivePoint
    signature: "typename C::ProjectivePoint basemul_exec(std::span<const typename
      C::AffinePoint> table,\n                                         const BlindedScalar&
      scalar,\n                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:221,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:222,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:222,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:226,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:226,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:228,1
    - Dst: AffinePointTable<C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - typename C::AffinePoint
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: Botan::varpoint_setup
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - dbl
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - AffinePointTable<C>
    - std::vector::push_back
    linkageType: ''
    returnType: AffinePointTable<C>
    signature: AffinePointTable<C> varpoint_setup(const typename C::AffinePoint& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:243,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:243,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:244,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:245,1
    - Dst: auto::dbl_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:250,1
    - Dst: get_window
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:251,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:279,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:282,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ' table'
    - ' scalar'
    - ' rng'
    argTypes:
    - AffinePointTable<C>
    - BlindedScalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 288
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 288
    functionName: Botan::varpoint_exec
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - auto::dbl_n
    - get_window
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - Botan::CT::poison
    - auto::randomize_rep
    - ct_select
    - Botan::CT::unpoison
    linkageType: ''
    returnType: typename C::ProjectivePoint
    signature: "typename C::ProjectivePoint varpoint_exec(const AffinePointTable<C>&
      table,\n                                          const BlindedScalar& scalar,\n
      \                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:321,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:333,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:347,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:355,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:361,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:365,1
    - Dst: next_tbl_e
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:365,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - typename C::AffinePoint
    - typename C::AffinePoint
    constantsTouched: []
    func_position:
      end: 369
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 369
    functionName: Botan::mul2_setup
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - next_tbl_e
    - std::vector::reserve
    - dbl
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - BOTAN_ASSERT_UNREACHABLE
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<typename C::ProjectivePoint>
    signature: "std::vector<typename C::ProjectivePoint> mul2_setup(const typename
      C::AffinePoint& p,\n                                                    const
      typename C::AffinePoint& q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:382,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:382,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:383,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:384,1
    - Dst: auto::dbl_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:389,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:394,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:397,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ' table'
    - ' x'
    - ' y'
    - ' rng'
    argTypes:
    - AffinePointTable<C>
    - BlindedScalar
    - BlindedScalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 403
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 403
    functionName: Botan::mul2_exec
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - auto::dbl_n
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - Botan::CT::poison
    - auto::randomize_rep
    - ct_select
    - Botan::CT::unpoison
    linkageType: ''
    returnType: typename C::ProjectivePoint
    signature: "typename C::ProjectivePoint mul2_exec(const AffinePointTable<C>& table,\n
      \                                     const BlindedScalar& x,\n                                      const
      BlindedScalar& y,\n                                      RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PCurveInstance::from_params
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:18,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' base_x'
    - ' base_y'
    - ' order'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: Botan::PCurve::PrimeOrderCurve::from_params
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - Botan::PCurve::PCurveInstance::from_params
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: "std::shared_ptr<const PrimeOrderCurve> PrimeOrderCurve::from_params(\n
      \  const BigInt& p, const BigInt& a, const BigInt& b, const BigInt& base_x,
      const BigInt& base_y, const BigInt& order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PCurveInstance::secp256r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:29,1
    - Dst: Botan::PCurve::PCurveInstance::secp384r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:35,1
    - Dst: Botan::PCurve::PCurveInstance::secp521r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:41,1
    - Dst: Botan::PCurve::PCurveInstance::brainpool256r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:47,1
    - Dst: Botan::PCurve::PCurveInstance::brainpool384r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:53,1
    - Dst: Botan::PCurve::PCurveInstance::brainpool512r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:59,1
    - Dst: Botan::PCurve::PCurveInstance::frp256v1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:65,1
    - Dst: Botan::PCurve::PCurveInstance::secp192r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:71,1
    - Dst: Botan::PCurve::PCurveInstance::secp224r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:77,1
    - Dst: Botan::PCurve::PCurveInstance::secp256k1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:83,1
    - Dst: Botan::PCurve::PCurveInstance::sm2p256v1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:89,1
    - Dst: Botan::PCurve::PCurveInstance::numsp512d1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:95,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:99,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 101
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 101
    functionName: Botan::PCurve::PrimeOrderCurve::for_named_curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PCurveInstance::secp521r1
    - BOTAN_UNUSED
    - Botan::PCurve::PCurveInstance::secp256k1
    - Botan::PCurve::PCurveInstance::brainpool384r1
    - Botan::PCurve::PCurveInstance::secp224r1
    - Botan::PCurve::PCurveInstance::brainpool512r1
    - Botan::PCurve::PCurveInstance::secp384r1
    - Botan::PCurve::PCurveInstance::sm2p256v1
    - Botan::PCurve::PCurveInstance::numsp512d1
    - Botan::PCurve::PCurveInstance::secp256r1
    - Botan::PCurve::PCurveInstance::frp256v1
    - Botan::PCurve::PCurveInstance::brainpool256r1
    - Botan::PCurve::PCurveInstance::secp192r1
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PrimeOrderCurve::for_named_curve(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_brainpool384r1/pcurves_brainpool384r1.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::PCurve::PCurveInstance::brainpool384r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_brainpool384r1/pcurves_brainpool384r1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::brainpool384r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_brainpool512r1/pcurves_brainpool512r1.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::PCurve::PCurveInstance::brainpool512r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_brainpool512r1/pcurves_brainpool512r1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::brainpool512r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::PCurve::numsp512d1::Numsp512d1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: redc_crandall<W, N, C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 0
    functionsReached:
    - redc_crandall<W, N, C>
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::PCurve::numsp512d1::Numsp512d1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::PCurve::numsp512d1::Numsp512d1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:55,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:57,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:60,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:62,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:65,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:67,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:70,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:73,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:76,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:79,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:82,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:84,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:86,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:88,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:90,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 94
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 94
    functionName: Botan::PCurve::numsp512d1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 3
    functionsReached:
    - auto::square
    - auto::square_n
    - square
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: Botan::PCurve::PCurveInstance::numsp512d1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::numsp512d1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:60,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:61,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:62,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:63,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:64,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:65,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:66,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:67,1
    - Dst: SolinasAccum::final_carry
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:68,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:70,1
    - Dst: bigint_correct_redc<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:72,1
    - Dst: Botan::PCurve::Secp256r1Rep::p256_mul_mod_256
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 75
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 75
    functionName: Botan::PCurve::Secp256r1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached:
    - SolinasAccum::accum
    - SolinasAccum::final_carry
    - BOTAN_DEBUG_ASSERT
    - bigint_correct_redc<N>
    - Botan::PCurve::Secp256r1Rep::p256_mul_mod_256
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::PCurve::Secp256r1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: Botan::PCurve::Secp256r1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::Secp256r1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan::PCurve::Secp256r1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::Secp256r1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::PCurve::Secp256r1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - i
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 109
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 109
    functionName: Botan::PCurve::Secp256r1Rep::p256_mul_mod_256
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p256_mul_mod_256(W i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:133,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:135,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:138,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:141,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:143,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:145,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:148,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:150,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:152,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:154,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:156,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 161
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 161
    functionName: Botan::PCurve::secp256r1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - auto::square_n
    - square
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:164,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:165,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:170,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:190,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:193,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:195,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:197,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:199,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:201,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:203,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:205,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:207,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:209,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:211,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:213,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:215,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:217,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:219,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:221,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:223,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:225,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:227,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:229,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 235
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 235
    functionName: Botan::PCurve::secp256r1::Curve::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - auto::square_n
    - square
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert(const Scalar& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: Botan::PCurve::PCurveInstance::secp256r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 2
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::secp256r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_frp256v1/pcurves_frp256v1.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::PCurve::PCurveInstance::frp256v1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_frp256v1/pcurves_frp256v1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::frp256v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:67,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:68,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:69,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:70,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:71,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:72,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:73,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:74,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:75,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:76,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:77,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:78,1
    - Dst: SolinasAccum::final_carry
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:79,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:81,1
    - Dst: bigint_correct_redc<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:83,1
    - Dst: Botan::PCurve::Secp384r1Rep::p384_mul_mod_384
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 86
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 86
    functionName: Botan::PCurve::Secp384r1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached:
    - SolinasAccum::accum
    - Botan::PCurve::Secp384r1Rep::p384_mul_mod_384
    - SolinasAccum::final_carry
    - BOTAN_DEBUG_ASSERT
    - bigint_correct_redc<N>
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan::PCurve::Secp384r1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan::PCurve::Secp384r1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::Secp384r1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::PCurve::Secp384r1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::Secp384r1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::PCurve::Secp384r1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - i
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: Botan::PCurve::Secp384r1Rep::p384_mul_mod_384
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p384_mul_mod_384(W i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:144,1
    - Dst: FieldElement::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:147,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:150,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:153,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:155,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:158,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:161,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:164,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:167,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:169,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:171,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:173,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:175,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 180
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 180
    functionName: Botan::PCurve::secp384r1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached:
    - FieldElement::square
    - FieldElement::square_n
    - square
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:185,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:193,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:196,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:197,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:198,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:200,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:203,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:206,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:208,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:211,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:213,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:216,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:219,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:221,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:223,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:225,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:227,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:229,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:231,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:233,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:235,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:237,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:239,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:241,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:243,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:245,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:247,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:249,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:251,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:253,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:255,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:257,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:259,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:261,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:263,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:265,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:267,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:269,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:271,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:273,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:275,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:277,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:279,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:281,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:283,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:285,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:287,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:289,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 98
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 295
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 295
    functionName: Botan::PCurve::secp384r1::Curve::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - auto::square_n
    - square
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert(const Scalar& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: Botan::PCurve::PCurveInstance::secp384r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 2
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::secp384r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::PCurve::secp521r1::P521Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:28,1
    - Dst: word_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:46,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:65,1
    - Dst: word_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:69,1
    - Dst: word_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 74
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 74
    functionName: Botan::PCurve::secp521r1::P521Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached:
    - word_add
    - static_cast<W>
    - cryptofuzz_secp256k1_scalar_is_zero
    - word_sub
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::PCurve::secp521r1::P521Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::secp521r1::P521Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::PCurve::secp521r1::P521Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::secp521r1::P521Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Botan::PCurve::secp521r1::P521Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:102,1
    - Dst: FieldElement::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:104,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:107,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:109,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:112,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:115,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:118,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:121,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:124,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:127,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:130,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:132,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 137
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 137
    functionName: Botan::PCurve::secp521r1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached:
    - FieldElement::square
    - FieldElement::square_n
    - square
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:142,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:166,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:168,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:170,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:172,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:175,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:177,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:180,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:183,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:185,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:188,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:190,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:192,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:194,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:196,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:198,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:200,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:202,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:204,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:206,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:208,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:210,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:212,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:214,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:216,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:218,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:220,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:222,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:224,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:226,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:228,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:230,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:232,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:234,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:236,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:238,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:240,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:242,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:244,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:246,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:248,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:250,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:252,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:254,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:256,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 98
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 262
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 262
    functionName: Botan::PCurve::secp521r1::Curve::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - auto::square_n
    - square
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert(const Scalar& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: Botan::PCurve::PCurveInstance::secp521r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 2
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::secp521r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::PCurve::secp256k1::Secp256k1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: redc_crandall<W, N, C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::PCurve::secp256k1::Secp256k1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached:
    - redc_crandall<W, N, C>
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::PCurve::secp256k1::Secp256k1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::secp256k1::Secp256k1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::PCurve::secp256k1::Secp256k1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::secp256k1::Secp256k1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::PCurve::secp256k1::Secp256k1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:59,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:62,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:64,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:67,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:70,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:73,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:76,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:79,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:82,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:85,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:87,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:89,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:91,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:93,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 97
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 97
    functionName: Botan::PCurve::secp256k1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - auto::square_n
    - square
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:100,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:108,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:110,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:112,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:115,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:117,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:118,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:119,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:121,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:123,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:126,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:128,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:131,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:133,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:136,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:138,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:140,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:142,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:144,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:146,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:148,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:150,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:152,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:154,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:156,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:158,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:160,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:162,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:164,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:166,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:168,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:170,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:172,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:174,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:176,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:178,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:180,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 72
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 185
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 185
    functionName: Botan::PCurve::secp256k1::Curve::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - auto::square_n
    - square
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert(const Scalar& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: Botan::PCurve::PCurveInstance::secp256k1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::secp256k1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:27,1
    - Dst: load_be<word>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:37,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:37,1
    - Dst: bigint_shl1
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:42,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:42,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:42,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 51
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 51
    functionName: Botan::PCurve::bytes_to_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - bigint_shl1
    - std::array::data
    - load_be<word>
    - std::span<const uint8_t>::size
    - std::array::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: std::optional<std::array<word, N>>
    signature: std::optional<std::array<word, N>> bytes_to_words(std::span<const uint8_t>
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:61,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:67,1
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:67,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:69,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - ' elem'
    - ' one'
    - bits
    - exp
    argTypes:
    - T
    - T
    - size_t
    - std::span<const word>
    constantsTouched: []
    func_position:
      end: 93
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 93
    functionName: Botan::PCurve::impl_pow_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - square
    - auto::square
    - std::vector::push_back
    - std::vector::reserve
    linkageType: ''
    returnType: T
    signature: T impl_pow_vartime(const T& elem, const T& one, size_t bits, std::span<const
      word> exp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sig_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:108,1
    - Dst: bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:109,1
    - Dst: bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:110,1
    - Dst: bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:111,1
    - Dst: bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:112,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:115,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed_rev
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:116,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:117,1
    - Dst: R1
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:117,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:118,1
    - Dst: R2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:118,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed_rev
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:119,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:120,1
    - Dst: p_dash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:121,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:123,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed_rev
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:124,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:125,1
    - Dst: R1
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:125,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:126,1
    - Dst: R2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:126,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:127,1
    - Dst: R3
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:127,1
    - Dst: p_dash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:128,1
    - Dst: is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:131,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:134,1
    - Dst: Botan::PCurve::GenericCurveParams::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:134,1
    - Dst: R2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:134,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:135,1
    - Dst: Botan::PCurve::GenericCurveParams::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:135,1
    - Dst: R2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:135,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:137,1
    - Dst: Botan::PCurve::GenericCurveParams::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:137,1
    - Dst: R2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:137,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:138,1
    - Dst: Botan::PCurve::GenericCurveParams::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:138,1
    - Dst: R2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' base_x'
    - ' base_y'
    - ' order'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 139
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 139
    functionName: Botan::PCurve::GenericCurveParams::GenericCurveParams
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericCurveParams::mul
    - is_zero
    - sig_words
    - R1
    - Botan::PCurve::GenericCurveParams::bn_to_fixed_rev
    - p_dash
    - bits
    - R2
    - bytes
    - R3
    - Botan::PCurve::GenericCurveParams::bn_to_fixed
    linkageType: ''
    returnType: void
    signature: "void GenericCurveParams(const BigInt& p,\n                         const
      BigInt& a,\n                         const BigInt& b,\n                         const
      BigInt& base_x,\n                         const BigInt& base_y,\n                         const
      BigInt& order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan::PCurve::GenericCurveParams::words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan::PCurve::GenericCurveParams::order_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t order_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan::PCurve::GenericCurveParams::order_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t order_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: Botan::PCurve::GenericCurveParams::field_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t field_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: Botan::PCurve::GenericCurveParams::field_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t field_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: '& monty_order() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Montgomery_Params
    signature: Montgomery_Params & monty_order() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: '& monty_field() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Montgomery_Params
    signature: Montgomery_Params & monty_field() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: '& field() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & field() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: '& field_minus_2() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & field_minus_2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: '& field_monty_r1() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & field_monty_r1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: '& field_monty_r2() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & field_monty_r2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: '& field_p_plus_1_over_4() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & field_p_plus_1_over_4() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: '& field_p_over_2_plus_1() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & field_p_over_2_plus_1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: Botan::PCurve::GenericCurveParams::field_p_dash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: word
    signature: word field_p_dash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& order() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & order() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: '& order_minus_2() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & order_minus_2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: '& order_monty_r1() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & order_monty_r1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '& order_monty_r2() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & order_monty_r2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: '& order_monty_r3() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & order_monty_r3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan::PCurve::GenericCurveParams::order_p_dash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: word
    signature: word order_p_dash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: '& monty_curve_a() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & monty_curve_a() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: '& monty_curve_b() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & monty_curve_b() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: '& base_x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & base_x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: '& base_y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & base_y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Botan::PCurve::GenericCurveParams::a_is_minus_3
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool a_is_minus_3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: Botan::PCurve::GenericCurveParams::a_is_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool a_is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: Botan::PCurve::GenericCurveParams::order_is_less_than_field
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool order_is_less_than_field() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:196,1
    - Dst: bigint_comba_mul4
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:199,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:199,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:199,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:199,1
    - Dst: bigint_comba_mul6
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:201,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:201,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:201,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:201,1
    - Dst: bigint_comba_mul8
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:203,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:203,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:203,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:203,1
    - Dst: bigint_comba_mul9
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:205,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:205,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:205,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:205,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:207,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:207,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:207,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:207,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - std::array<word, 2 * N>
    - std::array<word, N>
    - std::array<word, N>
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: Botan::PCurve::GenericCurveParams::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - bigint_comba_mul4
    - clear_mem
    - data
    - bigint_comba_mul9
    - size
    - bigint_comba_mul6
    - bigint_mul
    - bigint_comba_mul8
    linkageType: ''
    returnType: void
    signature: void mul(std::array<word, 2 * N>& z, const std::array<word, N>& x,
      const std::array<word, N>& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:212,1
    - Dst: bigint_comba_sqr4
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:215,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:215,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:215,1
    - Dst: bigint_comba_sqr6
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:217,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:217,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:217,1
    - Dst: bigint_comba_sqr8
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:219,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:219,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:219,1
    - Dst: bigint_comba_sqr9
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:221,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:221,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:221,1
    - Dst: bigint_sqr
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:223,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:223,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:223,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - std::array<word, 2 * N>
    - std::array<word, N>
    constantsTouched: []
    func_position:
      end: 225
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 225
    functionName: Botan::PCurve::GenericCurveParams::sqr
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - data
    - bigint_comba_sqr6
    - bigint_comba_sqr8
    - size
    - bigint_comba_sqr9
    - bigint_comba_sqr4
    - bigint_sqr
    linkageType: ''
    returnType: void
    signature: void sqr(std::array<word, 2 * N>& z, const std::array<word, N>& x)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:230,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:233,1
    - Dst: first
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:233,1
    - Dst: _as_span
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: Botan::PCurve::GenericCurveParams::bn_to_fixed
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - _as_span
    - copy_mem
    - first
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::array<word, PrimeOrderCurve::StorageWords>
    signature: std::array<word, PrimeOrderCurve::StorageWords> bn_to_fixed(const BigInt&
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:238,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:239,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:239,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: Botan::PCurve::GenericCurveParams::bn_to_fixed_rev
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - auto::begin
    - std::reverse
    - Botan::PCurve::GenericCurveParams::bn_to_fixed
    - auto::end
    linkageType: ''
    returnType: std::array<word, PrimeOrderCurve::StorageWords>
    signature: std::array<word, PrimeOrderCurve::StorageWords> bn_to_fixed_rev(const
      BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:289,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:294,1
    - Dst: last
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:294,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:294,1
    - Dst: bytes_to_words<2 * N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:296,1
    - Dst: Botan::PCurve::GenericScalar::wide_to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:298,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:298,1
    - Dst: Botan::PCurve::GenericScalar::GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - curve
    - bytes
    argTypes:
    - GenericPrimeOrderCurve*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 303
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 303
    functionName: Botan::PCurve::GenericScalar::from_wide_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - bytes_to_words<2 * N>
    - auto::value
    - copy_mem
    - std::span<const uint8_t>::size
    - Botan::PCurve::GenericScalar::wide_to_rep
    - Botan::PCurve::GenericScalar::GenericScalar
    - last
    linkageType: ''
    returnType: std::optional<GenericScalar>
    signature: "std::optional<GenericScalar> from_wide_bytes(const GenericPrimeOrderCurve*
      curve,\n                                                          std::span<const
      uint8_t> bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:309,1
    - Dst: bytes_to_words<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:313,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:316,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:316,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:316,1
    - Dst: Botan::PCurve::GenericScalar::GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:321,1
    - Dst: Botan::PCurve::GenericScalar::to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - curve
    - bytes
    argTypes:
    - GenericPrimeOrderCurve*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 325
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 325
    functionName: Botan::PCurve::GenericScalar::deserialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - bytes_to_words<N>
    - GenericPrimeOrderCurve*::_params
    - bigint_ct_is_lt
    - auto::data
    - std::span<const uint8_t>::size
    - Botan::PCurve::GenericScalar::GenericScalar
    - Botan::PCurve::GenericScalar::to_rep
    linkageType: ''
    returnType: std::optional<GenericScalar>
    signature: "std::optional<GenericScalar> deserialize(const GenericPrimeOrderCurve*
      curve,\n                                                      std::span<const
      uint8_t> bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: Botan::PCurve::GenericScalar::zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::GenericScalar
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar zero(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:333,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: Botan::PCurve::GenericScalar::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::GenericScalar
    - GenericPrimeOrderCurve*::_params
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar one(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:341,1
    - Dst: randomize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:344,1
    - Dst: Botan::PCurve::GenericScalar::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:353,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:354,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:355,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - curve
    - ' rng'
    argTypes:
    - GenericPrimeOrderCurve*
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 361
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 361
    functionName: Botan::PCurve::GenericScalar::random
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - randomize
    - GenericPrimeOrderCurve*::_params
    - Internal_Error
    - Botan::PCurve::GenericScalar::deserialize
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar random(const GenericPrimeOrderCurve* curve, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:364,1
    - Dst: bigint_add3_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:368,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:368,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:368,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:368,1
    - Dst: bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:371,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:371,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:371,1
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:371,1
    - Dst: GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericScalar
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 373
    functionName: operator+(const GenericScalar& a, const GenericScalar& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - StorageUnit::data
    - bigint_add3_nc
    - bigint_monty_maybe_sub
    - data
    - auto::_params
    - check_curve
    - GenericScalar
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar operator+(const GenericScalar& a, const GenericScalar&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericScalar
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: operator-(const GenericScalar& a, const GenericScalar& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - negate
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar operator-(const GenericScalar& a, const GenericScalar&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:378,1
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:381,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:381,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:381,1
    - Dst: GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:382,1
    - Dst: redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericScalar
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 383
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 383
    functionName: operator*(const GenericScalar& a, const GenericScalar& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - auto::_params
    - GenericScalar
    - redc
    - check_curve
    - value
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar operator*(const GenericScalar& a, const GenericScalar&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:386,1
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:389,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:389,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:389,1
    - Dst: redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 392
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 392
    functionName: '& operator*=(const GenericScalar& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - value
    - check_curve
    - redc
    - auto::_params
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar & operator*=(const GenericScalar& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:398,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:398,1
    - Dst: Botan::PCurve::GenericScalar::GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:399,1
    - Dst: Botan::PCurve::GenericScalar::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: Botan::PCurve::GenericScalar::square
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::GenericScalar
    - value
    - auto::_params
    - Botan::PCurve::GenericScalar::redc
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar square() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:403,1
    - Dst: Botan::PCurve::GenericScalar::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:403,1
    - Dst: Botan::PCurve::GenericScalar::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:404,1
    - Dst: Botan::PCurve::GenericScalar::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:405,1
    - Dst: impl_pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:406,1
    - Dst: last
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' exp'
    argTypes:
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: Botan::PCurve::GenericScalar::pow_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::curve
    - impl_pow_vartime
    - Botan::PCurve::GenericScalar::one
    - last
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar pow_vartime(const StorageUnit& exp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:410,1
    - Dst: Botan::PCurve::GenericScalar::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:410,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:413,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:413,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:413,1
    - Dst: Botan::PCurve::GenericScalar::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:413,1
    - Dst: auto::if_set_zero_out
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:414,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:414,1
    - Dst: Botan::PCurve::GenericScalar::GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: Botan::PCurve::GenericScalar::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - StorageUnit::data
    - Botan::PCurve::GenericScalar::data
    - _params
    - auto::if_set_zero_out
    - bigint_sub3
    - Botan::CT::all_zeros
    - Botan::PCurve::GenericScalar::GenericScalar
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:418,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 418
    functionName: Botan::PCurve::GenericScalar::invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - _params
    - Botan::PCurve::GenericScalar::pow_vartime
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar invert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:422,1
    - Dst: Botan::PCurve::GenericScalar::serialize_to
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: Botan::PCurve::GenericScalar::serialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - _params
    - Botan::PCurve::GenericScalar::serialize_to
    linkageType: ''
    returnType: T
    signature: T serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:428,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:429,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:429,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:429,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:432,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:432,1
    - Dst: store_be
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:435,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:437,1
    - Dst: subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 438
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 438
    functionName: Botan::PCurve::GenericScalar::serialize_to
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericScalar::from_rep
    - auto::begin
    - std::reverse
    - std::span<uint8_t>::size
    - subspan
    - store_be
    - copy_mem
    - auto::end
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void serialize_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:440,1
    - Dst: Botan::PCurve::GenericScalar::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:440,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: Botan::PCurve::GenericScalar::is_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - _params
    - Botan::PCurve::GenericScalar::data
    - Botan::CT::all_zeros
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: Botan::PCurve::GenericScalar::is_nonzero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::is_zero
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_nonzero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::no
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:446,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:449,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:449,1
    - Dst: m_val::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:449,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: operator==(const GenericScalar& other) const
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - _params
    - Botan::CT::Choice::no
    - data
    - m_val::data
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice operator==(const GenericScalar& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: Botan::PCurve::GenericScalar::to_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::from_rep
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit to_words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 457
    functionName: '& stash_value() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & stash_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: Botan::PCurve::GenericScalar::curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: GenericPrimeOrderCurve
    signature: GenericPrimeOrderCurve * curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - curve
    - val
    argTypes:
    - GenericPrimeOrderCurve*
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: Botan::PCurve::GenericScalar::GenericScalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericScalar(const GenericPrimeOrderCurve* curve, StorageUnit
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 464
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 466
    functionName: Botan::PCurve::GenericScalar::data
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 3
    functionsReached:
    - Botan::PCurve::GenericScalar::data
    linkageType: ''
    returnType: W
    signature: W * data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericScalar
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: Botan::PCurve::GenericScalar::check_curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: GenericPrimeOrderCurve
    signature: GenericPrimeOrderCurve * check_curve(const GenericScalar& a, const
      GenericScalar& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:474,1
    - Dst: bigint_monty_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:478,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:479,1
    - Dst: std::array<W, 2 * N>::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:479,1
    - Dst: Botan::PCurve::GenericScalar::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:479,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:479,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:479,1
    - Dst: StorageUnit::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - z
    argTypes:
    - GenericPrimeOrderCurve*
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: Botan::PCurve::GenericScalar::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - StorageUnit::data
    - Botan::PCurve::GenericScalar::data
    - GenericPrimeOrderCurve*::_params
    - StorageUnit::size
    - std::array<W, 2 * N>::data
    - bigint_monty_redc
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit redc(const GenericPrimeOrderCurve* curve, std::array<W,
      2 * N> z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:485,1
    - Dst: template first<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:485,1
    - Dst: Botan::PCurve::GenericScalar::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - z
    argTypes:
    - GenericPrimeOrderCurve*
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 487
    functionName: Botan::PCurve::GenericScalar::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 2
    functionsReached:
    - template first<N>
    - copy_mem
    - Botan::PCurve::GenericScalar::redc
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit from_rep(const GenericPrimeOrderCurve* curve, StorageUnit
      z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:491,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:491,1
    - Dst: Botan::PCurve::GenericScalar::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - x
    argTypes:
    - GenericPrimeOrderCurve*
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: Botan::PCurve::GenericScalar::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - GenericPrimeOrderCurve*::_params
    - Botan::PCurve::GenericScalar::redc
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit to_rep(const GenericPrimeOrderCurve* curve, StorageUnit
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:496,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:498,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:498,1
    - Dst: Botan::PCurve::GenericScalar::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - x
    argTypes:
    - GenericPrimeOrderCurve*
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: Botan::PCurve::GenericScalar::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - GenericPrimeOrderCurve*::_params
    - Botan::PCurve::GenericScalar::redc
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit wide_to_rep(const GenericPrimeOrderCurve* curve, std::array<W,
      2 * N> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:516,1
    - Dst: bytes_to_words<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:520,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:523,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:523,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:523,1
    - Dst: Botan::PCurve::GenericField::from_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - curve
    - bytes
    argTypes:
    - GenericPrimeOrderCurve*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 532
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 532
    functionName: Botan::PCurve::GenericField::deserialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - bytes_to_words<N>
    - GenericPrimeOrderCurve*::_params
    - Botan::PCurve::GenericField::from_words
    - bigint_ct_is_lt
    - auto::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::optional<GenericField>
    signature: "std::optional<GenericField> deserialize(const GenericPrimeOrderCurve*
      curve,\n                                                     std::span<const
      uint8_t> bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:535,1
    - Dst: Botan::PCurve::GenericField::to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - curve
    - ' words'
    argTypes:
    - GenericPrimeOrderCurve*
    - std::array<word, N>
    constantsTouched: []
    func_position:
      end: 536
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 536
    functionName: Botan::PCurve::GenericField::from_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericField::GenericField
    - Botan::PCurve::GenericField::to_rep
    linkageType: ''
    returnType: GenericField
    signature: GenericField from_words(const GenericPrimeOrderCurve* curve, const
      std::array<word, N>& words)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: Botan::PCurve::GenericField::zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::GenericField
    linkageType: ''
    returnType: GenericField
    signature: GenericField zero(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:544,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 545
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 545
    functionName: Botan::PCurve::GenericField::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - GenericPrimeOrderCurve*::_params
    - Botan::PCurve::GenericField::GenericField
    linkageType: ''
    returnType: GenericField
    signature: GenericField one(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:548,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: Botan::PCurve::GenericField::curve_a
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - GenericPrimeOrderCurve*::_params
    - Botan::PCurve::GenericField::GenericField
    linkageType: ''
    returnType: GenericField
    signature: GenericField curve_a(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:552,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: Botan::PCurve::GenericField::curve_b
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - GenericPrimeOrderCurve*::_params
    - Botan::PCurve::GenericField::GenericField
    linkageType: ''
    returnType: GenericField
    signature: GenericField curve_b(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:560,1
    - Dst: randomize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:563,1
    - Dst: Botan::PCurve::GenericField::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:572,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:573,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:574,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - curve
    - ' rng'
    argTypes:
    - GenericPrimeOrderCurve*
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 580
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 580
    functionName: Botan::PCurve::GenericField::random
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::deserialize
    - auto::value
    - randomize
    - GenericPrimeOrderCurve*::_params
    - Internal_Error
    linkageType: ''
    returnType: GenericField
    signature: GenericField random(const GenericPrimeOrderCurve* curve, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:586,1
    - Dst: shift_right<1>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:587,1
    - Dst: bigint_cnd_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:590,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:590,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:590,1
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 593
    functionName: Botan::PCurve::GenericField::div2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - StorageUnit::data
    - _params
    - Botan::PCurve::GenericField::GenericField
    - bigint_cnd_add
    - shift_right<1>
    - value
    linkageType: ''
    returnType: GenericField
    signature: GenericField div2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:597,1
    - Dst: shift_left<1>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:598,1
    - Dst: bigint_monty_maybe_sub<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:601,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:601,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:601,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:601,1
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 603
    functionName: Botan::PCurve::GenericField::mul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 2
    functionsReached:
    - StorageUnit::data
    - _params
    - Botan::PCurve::GenericField::GenericField
    - bigint_monty_maybe_sub<N>
    - shift_left<1>
    - value
    linkageType: ''
    returnType: GenericField
    signature: GenericField mul2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 606
    functionName: Botan::PCurve::GenericField::mul3
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::mul2
    linkageType: ''
    returnType: GenericField
    signature: GenericField mul3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 609
    functionName: Botan::PCurve::GenericField::mul4
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::mul2
    linkageType: ''
    returnType: GenericField
    signature: GenericField mul4() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 612
    functionDepth: 3
    functionLinenumber: 612
    functionLinenumberEnd: 612
    functionName: Botan::PCurve::GenericField::mul8
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::mul2
    linkageType: ''
    returnType: GenericField
    signature: GenericField mul8() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:615,1
    - Dst: bigint_add3_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:619,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:619,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:619,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:619,1
    - Dst: bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:622,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:622,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:622,1
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:622,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 624
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 624
    functionName: operator+(const GenericField& a, const GenericField& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - StorageUnit::data
    - bigint_add3_nc
    - bigint_monty_maybe_sub
    - data
    - auto::_params
    - check_curve
    - GenericField
    linkageType: ''
    returnType: GenericField
    signature: GenericField operator+(const GenericField& a, const GenericField& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 626
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 626
    functionName: operator-(const GenericField& a, const GenericField& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - negate
    linkageType: ''
    returnType: GenericField
    signature: GenericField operator-(const GenericField& a, const GenericField& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:629,1
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:632,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:632,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:632,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:633,1
    - Dst: redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 634
    functionName: operator*(const GenericField& a, const GenericField& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - auto::_params
    - redc
    - check_curve
    - GenericField
    - value
    linkageType: ''
    returnType: GenericField
    signature: GenericField operator*(const GenericField& a, const GenericField& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:637,1
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:640,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:640,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:640,1
    - Dst: redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericField
    constantsTouched: []
    func_position:
      end: 643
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 643
    functionName: '& operator*=(const GenericField& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - value
    - check_curve
    - redc
    - auto::_params
    linkageType: ''
    returnType: GenericField
    signature: GenericField & operator*=(const GenericField& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:647,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:647,1
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:648,1
    - Dst: Botan::PCurve::GenericField::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: Botan::PCurve::GenericField::square
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::redc
    - value
    - _params
    - Botan::PCurve::GenericField::GenericField
    linkageType: ''
    returnType: GenericField
    signature: GenericField square() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:652,1
    - Dst: Botan::PCurve::GenericField::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:652,1
    - Dst: Botan::PCurve::GenericField::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:653,1
    - Dst: Botan::PCurve::GenericField::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:654,1
    - Dst: impl_pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:655,1
    - Dst: last
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' exp'
    argTypes:
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: Botan::PCurve::GenericField::pow_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - impl_pow_vartime
    - last
    - Botan::PCurve::GenericField::curve
    - Botan::PCurve::GenericField::one
    linkageType: ''
    returnType: GenericField
    signature: GenericField pow_vartime(const StorageUnit& exp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:659,1
    - Dst: Botan::PCurve::GenericField::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:659,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:662,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:662,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:662,1
    - Dst: Botan::PCurve::GenericField::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:662,1
    - Dst: auto::if_set_zero_out
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:663,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:663,1
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 665
    functionName: Botan::PCurve::GenericField::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - StorageUnit::data
    - Botan::PCurve::GenericField::data
    - _params
    - Botan::PCurve::GenericField::GenericField
    - auto::if_set_zero_out
    - bigint_sub3
    - Botan::CT::all_zeros
    linkageType: ''
    returnType: GenericField
    signature: GenericField negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:667,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: Botan::PCurve::GenericField::invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::pow_vartime
    - _params
    linkageType: ''
    returnType: GenericField
    signature: GenericField invert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:671,1
    - Dst: Botan::PCurve::GenericField::serialize_to
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: Botan::PCurve::GenericField::serialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::serialize_to
    - _params
    linkageType: ''
    returnType: T
    signature: T serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:677,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:678,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:678,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:678,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:681,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:681,1
    - Dst: store_be
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:684,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:686,1
    - Dst: subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 687
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 687
    functionName: Botan::PCurve::GenericField::serialize_to
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - auto::begin
    - subspan
    - std::reverse
    - std::span<uint8_t>::size
    - store_be
    - copy_mem
    - auto::end
    - BOTAN_ARG_CHECK
    - Botan::PCurve::GenericField::from_rep
    linkageType: ''
    returnType: void
    signature: void serialize_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:689,1
    - Dst: Botan::PCurve::GenericField::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:689,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 689
    functionName: Botan::PCurve::GenericField::is_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - _params
    - Botan::PCurve::GenericField::data
    - Botan::CT::all_zeros
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 691
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 691
    functionName: Botan::PCurve::GenericField::is_nonzero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::is_zero
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_nonzero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::no
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:695,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:698,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:698,1
    - Dst: m_val::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:698,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericField
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: operator==(const GenericField& other) const
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - _params
    - Botan::CT::Choice::no
    - data
    - m_val::data
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice operator==(const GenericField& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: '& stash_value() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & stash_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: Botan::PCurve::GenericField::curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: GenericPrimeOrderCurve
    signature: GenericPrimeOrderCurve * curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:706,1
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: Botan::PCurve::GenericField::is_even
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::from_rep
    - Botan::CT::Choice::from_int
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_even() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 713
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 713
    functionName: Botan::PCurve::GenericField::to_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::from_rep
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit to_words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 715
    functionName: Botan::PCurve::GenericField::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: Botan::PCurve::GenericField::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:720,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cond
    - ' nx'
    argTypes:
    - CT::Choice
    - GenericField
    constantsTouched: []
    func_position:
      end: 725
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 725
    functionName: Botan::PCurve::GenericField::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - choose
    - Botan::CT::Mask::from_choice
    linkageType: ''
    returnType: void
    signature: void conditional_assign(CT::Choice cond, const GenericField& nx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:734,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:737,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' x'
    - ' y'
    - cond
    - ' nx'
    - ' ny'
    argTypes:
    - GenericField
    - GenericField
    - CT::Choice
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 740
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 740
    functionName: Botan::PCurve::GenericField::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - choose
    - Botan::CT::Mask::from_choice
    linkageType: ''
    returnType: void
    signature: "void conditional_assign(\n         GenericField& x, GenericField&
      y, CT::Choice cond, const GenericField& nx, const GenericField& ny)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:754,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:757,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:758,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - ' x'
    - ' y'
    - ' z'
    - cond
    - ' nx'
    - ' ny'
    - ' nz'
    argTypes:
    - GenericField
    - GenericField
    - GenericField
    - CT::Choice
    - GenericField
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 761
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 761
    functionName: Botan::PCurve::GenericField::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - choose
    - Botan::CT::Mask::from_choice
    linkageType: ''
    returnType: void
    signature: "void conditional_assign(GenericField& x,\n                                     GenericField&
      y,\n                                     GenericField& z,\n                                     CT::Choice
      cond,\n                                     const GenericField& nx,\n                                     const
      GenericField& ny,\n                                     const GenericField&
      nz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:764,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:764,1
    - Dst: Botan::PCurve::GenericField::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:766,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:766,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:767,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:769,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 771
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 771
    functionName: Botan::PCurve::GenericField::sqrt
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::pow_vartime
    - Botan::PCurve::GenericField::zero
    - _params
    - auto::conditional_assign
    - auto::square
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: std::pair<GenericField, CT::Choice>
    signature: std::pair<GenericField, CT::Choice> sqrt() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - curve
    - val
    argTypes:
    - GenericPrimeOrderCurve*
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 773
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 773
    functionName: Botan::PCurve::GenericField::GenericField
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericField(const GenericPrimeOrderCurve* curve, StorageUnit
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 776
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 776
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 778
    functionName: Botan::PCurve::GenericField::data
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 3
    functionsReached:
    - Botan::PCurve::GenericField::data
    linkageType: ''
    returnType: W
    signature: W * data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 783
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 783
    functionName: Botan::PCurve::GenericField::check_curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: GenericPrimeOrderCurve
    signature: GenericPrimeOrderCurve * check_curve(const GenericField& a, const GenericField&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:786,1
    - Dst: bigint_monty_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:790,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:791,1
    - Dst: std::array<W, 2 * N>::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:791,1
    - Dst: Botan::PCurve::GenericField::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:791,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:791,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:791,1
    - Dst: StorageUnit::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - z
    argTypes:
    - GenericPrimeOrderCurve*
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: Botan::PCurve::GenericField::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - StorageUnit::data
    - Botan::PCurve::GenericField::data
    - GenericPrimeOrderCurve*::_params
    - StorageUnit::size
    - std::array<W, 2 * N>::data
    - bigint_monty_redc
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit redc(const GenericPrimeOrderCurve* curve, std::array<W,
      2 * N> z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:797,1
    - Dst: template first<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:797,1
    - Dst: Botan::PCurve::GenericField::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - z
    argTypes:
    - GenericPrimeOrderCurve*
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: Botan::PCurve::GenericField::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 3
    functionsReached:
    - template first<N>
    - copy_mem
    - Botan::PCurve::GenericField::redc
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit from_rep(const GenericPrimeOrderCurve* curve, StorageUnit
      z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:803,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:803,1
    - Dst: Botan::PCurve::GenericField::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - x
    argTypes:
    - GenericPrimeOrderCurve*
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 805
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 805
    functionName: Botan::PCurve::GenericField::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - GenericPrimeOrderCurve*::_params
    - Botan::PCurve::GenericField::redc
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit to_rep(const GenericPrimeOrderCurve* curve, StorageUnit
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 818
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 818
    functionName: Botan::PCurve::GenericAffinePoint::GenericAffinePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericAffinePoint(const GenericField& x, const GenericField&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:821,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 821
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 821
    functionName: Botan::PCurve::GenericAffinePoint::GenericAffinePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::zero
    linkageType: ''
    returnType: void
    signature: void GenericAffinePoint(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericAffinePoint::GenericAffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:824,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:824,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 825
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 825
    functionName: Botan::PCurve::GenericAffinePoint::identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::zero
    - Botan::PCurve::GenericAffinePoint::GenericAffinePoint
    linkageType: ''
    returnType: GenericAffinePoint
    signature: GenericAffinePoint identity(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericAffinePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:827,1
    - Dst: Botan::PCurve::GenericAffinePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 827
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 827
    functionName: Botan::PCurve::GenericAffinePoint::identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::identity
    - Botan::PCurve::GenericAffinePoint::curve
    linkageType: ''
    returnType: GenericAffinePoint
    signature: GenericAffinePoint identity(const GenericAffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:829,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 829
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 829
    functionName: Botan::PCurve::GenericAffinePoint::is_identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - y
    - x
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericAffinePoint::GenericAffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:831,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:831,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 831
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 831
    functionName: Botan::PCurve::GenericAffinePoint::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - y
    - Botan::PCurve::GenericAffinePoint::GenericAffinePoint
    - x
    linkageType: ''
    returnType: GenericAffinePoint
    signature: GenericAffinePoint negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:838,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:838,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:839,1
    - Dst: Botan::PCurve::GenericAffinePoint::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:839,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:841,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:842,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:842,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:843,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:843,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:844,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 845
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 845
    functionName: Botan::PCurve::GenericAffinePoint::serialize_to
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::is_identity
    - std::span<uint8_t>::size
    - y
    - BufferStuffer::append
    - BOTAN_DEBUG_ASSERT
    - BufferStuffer::next
    - x
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void serialize_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:853,1
    - Dst: std::span<const GenericAffinePoint>::empty
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:853,1
    - Dst: Botan::PCurve::GenericAffinePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:854,1
    - Dst: Botan::PCurve::GenericAffinePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:854,1
    - Dst: std::span<const GenericAffinePoint>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:858,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:859,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pts
    - idx
    argTypes:
    - std::span<const GenericAffinePoint>
    - size_t
    constantsTouched: []
    func_position:
      end: 864
      start: 852
    functionDepth: 3
    functionLinenumber: 852
    functionLinenumberEnd: 864
    functionName: Botan::PCurve::GenericAffinePoint::ct_select
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::PCurve::GenericAffinePoint::identity
    - Botan::PCurve::GenericAffinePoint::curve
    - std::span<const GenericAffinePoint>::empty
    - auto::conditional_assign
    - std::span<const GenericAffinePoint>::size
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: auto
    signature: auto ct_select(std::span<const GenericAffinePoint> pts, size_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:870,1
    - Dst: Botan::PCurve::GenericField::curve_a
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:870,1
    - Dst: Botan::PCurve::GenericAffinePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:870,1
    - Dst: Botan::PCurve::GenericField::curve_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:870,1
    - Dst: Botan::PCurve::GenericAffinePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - GenericField
    constantsTouched: []
    func_position:
      end: 871
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 871
    functionName: Botan::PCurve::GenericAffinePoint::x3_ax_b
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::curve
    - Botan::PCurve::GenericField::curve_b
    - Botan::PCurve::GenericField::curve_a
    - square
    linkageType: ''
    returnType: GenericField
    signature: GenericField x3_ax_b(const GenericField& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:882,1
    - Dst: Botan::PCurve::GenericField::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:883,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:883,1
    - Dst: Botan::PCurve::GenericField::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:884,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:884,1
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:887,1
    - Dst: Botan::PCurve::GenericAffinePoint::x3_ax_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:888,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:889,1
    - Dst: Botan::PCurve::GenericAffinePoint::GenericAffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:890,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:893,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:894,1
    - Dst: Botan::PCurve::GenericField::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:896,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:896,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:899,1
    - Dst: auto::is_even
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:900,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:901,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:901,1
    - Dst: Botan::PCurve::GenericAffinePoint::GenericAffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:902,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:905,1
    - Dst: Botan::PCurve::GenericAffinePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:907,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - curve
    - bytes
    argTypes:
    - GenericPrimeOrderCurve*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 911
      start: 878
    functionDepth: 3
    functionLinenumber: 878
    functionLinenumberEnd: 911
    functionName: Botan::PCurve::GenericAffinePoint::deserialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::deserialize
    - Botan::BigInt::is_equal
    - Botan::PCurve::GenericAffinePoint::identity
    - Botan::PCurve::GenericAffinePoint::GenericAffinePoint
    - Botan::PCurve::GenericAffinePoint::x3_ax_b
    - auto::negate
    - auto::is_even
    - std::span<const uint8_t>::subspan
    - std::span<const uint8_t>::size
    - auto::conditional_assign
    - square
    - as_bool
    linkageType: ''
    returnType: std::optional<GenericAffinePoint>
    signature: "std::optional<GenericAffinePoint> deserialize(const GenericPrimeOrderCurve*
      curve,\n                                                           std::span<const
      uint8_t> bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 916
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 916
    functionName: '& x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericField
    signature: GenericField & x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 921
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 921
    functionName: '& y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericField
    signature: GenericField & y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:927,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:927,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - ' pt'
    argTypes:
    - CT::Choice
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 928
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 928
    functionName: Botan::PCurve::GenericAffinePoint::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - y
    - x
    - Botan::PCurve::GenericField::conditional_assign
    linkageType: ''
    returnType: void
    signature: void conditional_assign(CT::Choice cond, const GenericAffinePoint&
      pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericAffinePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 930
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 930
    functionName: Botan::PCurve::GenericAffinePoint::curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 4
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::curve
    linkageType: ''
    returnType: GenericPrimeOrderCurve
    signature: GenericPrimeOrderCurve * curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 932
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 932
    functionName: Botan::PCurve::GenericAffinePoint::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 934
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 934
    functionName: Botan::PCurve::GenericAffinePoint::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:951,1
    - Dst: Fuzzer_TLS_Client_Creds::psk_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:952,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:952,1
    - Dst: Botan::PCurve::GenericProjectivePoint::GenericProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:954,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:954,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 956
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 956
    functionName: Botan::PCurve::GenericProjectivePoint::from_affine
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 6
    functionsReached:
    - y
    - Botan::PCurve::GenericProjectivePoint::is_identity
    - Botan::PCurve::GenericProjectivePoint::curve
    - Fuzzer_TLS_Client_Creds::psk_identity
    - x
    - Botan::PCurve::GenericProjectivePoint::GenericProjectivePoint
    linkageType: ''
    returnType: Self
    signature: Self from_affine(const GenericAffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:962,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:962,1
    - Dst: Botan::PCurve::GenericField::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:962,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 963
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 963
    functionName: Botan::PCurve::GenericProjectivePoint::identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Self
    - Botan::PCurve::GenericField::zero
    - Botan::PCurve::GenericField::one
    linkageType: ''
    returnType: Self
    signature: Self identity(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:969,1
    - Dst: Botan::PCurve::GenericField::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:969,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 969
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 969
    functionName: Botan::PCurve::GenericProjectivePoint::GenericProjectivePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericField::zero
    - Botan::PCurve::GenericField::one
    linkageType: ''
    returnType: void
    signature: void GenericProjectivePoint(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:975,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 975
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 975
    functionName: Botan::PCurve::GenericProjectivePoint::GenericProjectivePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericProjectivePoint::curve
    - Botan::PCurve::GenericField::one
    linkageType: ''
    returnType: void
    signature: void GenericProjectivePoint(const GenericField& x, const GenericField&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - GenericField
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 981
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 981
    functionName: Botan::PCurve::GenericProjectivePoint::GenericProjectivePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericProjectivePoint(const GenericField& x, const GenericField&
      y, const GenericField& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_secp256k1_scalar_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 983
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 983
    functionName: operator+(const Self& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_scalar_add
    linkageType: ''
    returnType: Self
    signature: Self operator+(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::point_add_mixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 985
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 985
    functionName: operator+(const Self& a, const GenericAffinePoint& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::point_add_mixed
    linkageType: ''
    returnType: Self
    signature: Self operator+(const Self& a, const GenericAffinePoint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::point_add_mixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericAffinePoint
    - Self
    constantsTouched: []
    func_position:
      end: 987
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 987
    functionName: operator+(const GenericAffinePoint& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::point_add_mixed
    linkageType: ''
    returnType: Self
    signature: Self operator+(const GenericAffinePoint& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 992
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 992
    functionName: '& operator+=(const Self& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: Self & operator+=(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 997
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 997
    functionName: '& operator+=(const GenericAffinePoint& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: Self & operator+=(const GenericAffinePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 999
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 999
    functionName: Botan::PCurve::GenericProjectivePoint::is_identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - z
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_add_mixed<Self, GenericAffinePoint, GenericField>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1005,1
    - Dst: Botan::PCurve::GenericField::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1005,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 1006
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1006
    functionName: Botan::PCurve::GenericProjectivePoint::add_mixed
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - point_add_mixed<Self, GenericAffinePoint, GenericField>
    - Botan::PCurve::GenericProjectivePoint::curve
    - Botan::PCurve::GenericField::one
    linkageType: ''
    returnType: Self
    signature: Self add_mixed(const Self& a, const GenericAffinePoint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_add<Self, GenericField>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 1011
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1011
    functionName: Botan::PCurve::GenericProjectivePoint::add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - point_add<Self, GenericField>
    linkageType: ''
    returnType: Self
    signature: Self add(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1017,1
    - Dst: dbl_n_a_minus_3
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1018,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1019,1
    - Dst: dbl_n_a_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1020,1
    - Dst: Botan::PCurve::GenericField::curve_a
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1022,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1022,1
    - Dst: dbl_n_generic
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1025
      start: 1016
    functionDepth: 2
    functionLinenumber: 1016
    functionLinenumberEnd: 1025
    functionName: Botan::PCurve::GenericProjectivePoint::dbl_n
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - dbl_n_a_minus_3
    - dbl_n_generic
    - dbl_n_a_zero
    - Botan::PCurve::GenericProjectivePoint::curve
    - Botan::PCurve::GenericField::curve_a
    linkageType: ''
    returnType: Self
    signature: Self dbl_n(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1031,1
    - Dst: dbl_a_minus_3
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1032,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1033,1
    - Dst: dbl_a_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1034,1
    - Dst: Botan::PCurve::GenericField::curve_a
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1036,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1036,1
    - Dst: dbl_generic
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1039
    functionName: Botan::PCurve::GenericProjectivePoint::dbl
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - dbl_a_minus_3
    - dbl_generic
    - Botan::PCurve::GenericProjectivePoint::curve
    - dbl_a_zero
    - Botan::PCurve::GenericField::curve_a
    linkageType: ''
    returnType: Self
    signature: Self dbl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1044,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1044,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1044,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1044
    functionName: Botan::PCurve::GenericProjectivePoint::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Self
    - y
    - z
    - x
    linkageType: ''
    returnType: Self
    signature: Self negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_seeded
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1056,1
    - Dst: Botan::PCurve::GenericField::random
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1057,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1057,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1066
      start: 1052
    functionDepth: 3
    functionLinenumber: 1052
    functionLinenumberEnd: 1066
    functionName: Botan::PCurve::GenericProjectivePoint::randomize_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::random
    - Botan::PCurve::GenericProjectivePoint::curve
    - is_seeded
    - auto::square
    linkageType: ''
    returnType: void
    signature: void randomize_rep(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1071
    functionName: '& x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericField
    signature: GenericField & x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1076
    functionName: '& y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericField
    signature: GenericField & y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1081
    functionName: '& z() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericField
    signature: GenericField & z() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: Botan::PCurve::GenericProjectivePoint::curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 7
    functionsReached:
    - Botan::PCurve::GenericProjectivePoint::curve
    linkageType: ''
    returnType: GenericPrimeOrderCurve
    signature: GenericPrimeOrderCurve * curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: Botan::PCurve::GenericProjectivePoint::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1087
    functionName: Botan::PCurve::GenericProjectivePoint::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1110,1
    - Dst: curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1112,1
    - Dst: is_seeded
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1123,1
    - Dst: randomize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1124,1
    - Dst: serialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1126,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1127,1
    - Dst: load_le
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1133,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1133,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1133,1
    - Dst: to_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1139,1
    - Dst: mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1142,1
    - Dst: order
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1142,1
    - Dst: bigint_add2_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1143,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1143,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1143,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1145,1
    - Dst: std::array::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1145,1
    - Dst: std::array::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1145,1
    - Dst: store_be<std::vector<uint8_t>>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ' scalar'
    - ' rng'
    - wb
    argTypes:
    - GenericScalar
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 1150
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1150
    functionName: Botan::PCurve::GenericBlindedScalarBits::GenericBlindedScalarBits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - load_le
    - std::array::data
    - randomize
    - secure_vector::data
    - mul
    - std::array::begin
    - auto::data
    - std::array::end
    - to_words
    - bigint_add2_nc
    - store_be<std::vector<uint8_t>>
    - auto::size
    - curve
    - serialize
    - order
    - is_seeded
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void GenericBlindedScalarBits(const GenericScalar& scalar, RandomNumberGenerator&
      rng, size_t wb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1152
    functionName: Botan::PCurve::GenericBlindedScalarBits::windows
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t windows() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1154
    functionName: Botan::PCurve::GenericBlindedScalarBits::bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_window_bits<3>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1158,1
    - Dst: read_window_bits<4>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1160,1
    - Dst: read_window_bits<5>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1162,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1166
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1166
    functionName: Botan::PCurve::GenericBlindedScalarBits::get_window
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - read_window_bits<5>
    - read_window_bits<4>
    - BOTAN_ASSERT_UNREACHABLE
    - read_window_bits<3>
    linkageType: ''
    returnType: size_t
    signature: size_t get_window(size_t offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericBlindedScalarBits::blinding_bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - order_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1175
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1175
    functionName: Botan::PCurve::GenericBlindedScalarBits::blinding_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericBlindedScalarBits::blinding_bits
    linkageType: ''
    returnType: size_t
    signature: size_t blinding_bits(size_t order_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varpoint_setup<GenericCurve, TableSize>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 1189
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1189
    functionName: Botan::PCurve::GenericWindowedMul::GenericWindowedMul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - varpoint_setup<GenericCurve, TableSize>
    linkageType: ''
    returnType: void
    signature: void GenericWindowedMul(const GenericAffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varpoint_exec<GenericCurve, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' rng'
    argTypes:
    - GenericScalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1195
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1195
    functionName: Botan::PCurve::GenericWindowedMul::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - varpoint_exec<GenericCurve, WindowBits>
    linkageType: ''
    returnType: GenericProjectivePoint
    signature: GenericProjectivePoint mul(const GenericScalar& s, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basemul_setup<GenericCurve, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1208,1
    - Dst: Botan::PCurve::GenericBaseMulTable::blinded_scalar_bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1208,1
    - Dst: curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 1208
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1208
    functionName: Botan::PCurve::GenericBaseMulTable::GenericBaseMulTable
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - curve
    - Botan::PCurve::GenericBaseMulTable::blinded_scalar_bits
    - basemul_setup<GenericCurve, WindowBits>
    linkageType: ''
    returnType: void
    signature: void GenericBaseMulTable(const GenericAffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basemul_exec<GenericCurve, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' rng'
    argTypes:
    - GenericScalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1213
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1213
    functionName: Botan::PCurve::GenericBaseMulTable::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - basemul_exec<GenericCurve, WindowBits>
    linkageType: ''
    returnType: GenericProjectivePoint
    signature: GenericProjectivePoint mul(const GenericScalar& s, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericBlindedScalarBits::blinding_bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' curve'
    argTypes:
    - GenericPrimeOrderCurve
    constantsTouched: []
    func_position:
      end: 1219
      start: 1216
    functionDepth: 2
    functionLinenumber: 1216
    functionLinenumberEnd: 1219
    functionName: Botan::PCurve::GenericBaseMulTable::blinded_scalar_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericBlindedScalarBits::blinding_bits
    linkageType: ''
    returnType: size_t
    signature: size_t blinded_scalar_bits(const GenericPrimeOrderCurve& curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericWindowedMul2
    constantsTouched: []
    func_position:
      end: 1228
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1228
    functionName: Botan::PCurve::GenericWindowedMul2::GenericWindowedMul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericWindowedMul2(const GenericWindowedMul2& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericWindowedMul2
    constantsTouched: []
    func_position:
      end: 1229
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1229
    functionName: Botan::PCurve::GenericWindowedMul2::GenericWindowedMul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericWindowedMul2(GenericWindowedMul2&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericWindowedMul2
    constantsTouched: []
    func_position:
      end: 1230
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1230
    functionName: '& operator=(const GenericWindowedMul2& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericWindowedMul2
    signature: GenericWindowedMul2 & operator=(const GenericWindowedMul2& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericWindowedMul2
    constantsTouched: []
    func_position:
      end: 1231
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1231
    functionName: '& operator=(GenericWindowedMul2&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericWindowedMul2
    signature: GenericWindowedMul2 & operator=(GenericWindowedMul2&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1233
    functionName: ~GenericWindowedMul2()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GenericWindowedMul2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2_setup<GenericCurve, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - GenericAffinePoint
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 1236
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1236
    functionName: Botan::PCurve::GenericWindowedMul2::GenericWindowedMul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - mul2_setup<GenericCurve, WindowBits>
    linkageType: ''
    returnType: void
    signature: void GenericWindowedMul2(const GenericAffinePoint& p, const GenericAffinePoint&
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2_exec<GenericCurve, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' rng'
    argTypes:
    - GenericScalar
    - GenericScalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1242
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1242
    functionName: Botan::PCurve::GenericWindowedMul2::mul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - mul2_exec<GenericCurve, WindowBits>
    linkageType: ''
    returnType: GenericProjectivePoint
    signature: GenericProjectivePoint mul2(const GenericScalar& x, const GenericScalar&
      y, RandomNumberGenerator& rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericVartimeWindowedMul2
    constantsTouched: []
    func_position:
      end: 1252
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1252
    functionName: Botan::PCurve::GenericVartimeWindowedMul2::GenericVartimeWindowedMul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericVartimeWindowedMul2(const GenericVartimeWindowedMul2& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericVartimeWindowedMul2
    constantsTouched: []
    func_position:
      end: 1253
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1253
    functionName: Botan::PCurve::GenericVartimeWindowedMul2::GenericVartimeWindowedMul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericVartimeWindowedMul2(GenericVartimeWindowedMul2&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericVartimeWindowedMul2
    constantsTouched: []
    func_position:
      end: 1254
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1254
    functionName: '& operator=(const GenericVartimeWindowedMul2& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericVartimeWindowedMul2
    signature: GenericVartimeWindowedMul2 & operator=(const GenericVartimeWindowedMul2&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericVartimeWindowedMul2
    constantsTouched: []
    func_position:
      end: 1255
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1255
    functionName: '& operator=(GenericVartimeWindowedMul2&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericVartimeWindowedMul2
    signature: GenericVartimeWindowedMul2 & operator=(GenericVartimeWindowedMul2&&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1257
    functionName: ~GenericVartimeWindowedMul2() override
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GenericVartimeWindowedMul2() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_affine_batch<GenericCurve>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1260,1
    - Dst: mul2_setup<GenericCurve, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - GenericAffinePoint
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 1260
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1260
    functionName: Botan::PCurve::GenericVartimeWindowedMul2::GenericVartimeWindowedMul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - mul2_setup<GenericCurve, WindowBits>
    - to_affine_batch<GenericCurve>
    linkageType: ''
    returnType: void
    signature: void GenericVartimeWindowedMul2(const GenericAffinePoint& p, const
      GenericAffinePoint& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1263,1
    - Dst: serialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1264,1
    - Dst: curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1266,1
    - Dst: GenericProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1267,1
    - Dst: read_window_bits<WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1274,1
    - Dst: read_window_bits<WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1275,1
    - Dst: auto::dbl_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - GenericScalar
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 1289
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1289
    functionName: Botan::PCurve::GenericVartimeWindowedMul2::mul2_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - auto::dbl_n
    - GenericProjectivePoint
    - read_window_bits<WindowBits>
    - curve
    - serialize
    linkageType: ''
    returnType: GenericProjectivePoint
    signature: GenericProjectivePoint mul2_vartime(const GenericScalar& x, const GenericScalar&
      y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GenericCurveParams>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' base_x'
    - ' base_y'
    - ' order'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1297
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1297
    functionName: Botan::PCurve::GenericPrimeOrderCurve::GenericPrimeOrderCurve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GenericCurveParams>
    linkageType: ''
    returnType: void
    signature: "void GenericPrimeOrderCurve::GenericPrimeOrderCurve(\n   const BigInt&
      p, const BigInt& a, const BigInt& b, const BigInt& base_x, const BigInt& base_y,
      const BigInt& order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1300,1
    - Dst: std::make_unique<GenericBaseMulTable>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1301,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1301,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::generator
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: Botan::PCurve::GenericPrimeOrderCurve::_precompute_base_mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - std::make_unique<GenericBaseMulTable>
    - Botan::PCurve::GenericPrimeOrderCurve::generator
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void GenericPrimeOrderCurve::_precompute_base_mul()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1306
    functionName: Botan::PCurve::GenericPrimeOrderCurve::order_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - _params
    linkageType: ''
    returnType: size_t
    signature: size_t GenericPrimeOrderCurve::order_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1310
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - _params
    linkageType: ''
    returnType: size_t
    signature: size_t GenericPrimeOrderCurve::scalar_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1314
    functionName: Botan::PCurve::GenericPrimeOrderCurve::field_element_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - _params
    linkageType: ''
    returnType: size_t
    signature: size_t GenericPrimeOrderCurve::field_element_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1318,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1319,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1319,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1320
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1320
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul_by_g
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::mul
    - BOTAN_STATE_CHECK
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::ProjectivePoint
    signature: "PrimeOrderCurve::ProjectivePoint GenericPrimeOrderCurve::mul_by_g(const
      Scalar& scalar,\n                                                                  RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1324,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1325,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1325,1
    - Dst: to_affine_x<GenericCurve>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1326,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1327,1
    - Dst: Botan::PCurve::GenericScalar::from_wide_bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1328
      start: 1322
    functionDepth: 3
    functionLinenumber: 1322
    functionLinenumberEnd: 1328
    functionName: Botan::PCurve::GenericPrimeOrderCurve::base_point_mul_x_mod_order
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    - Botan::PCurve::GenericPrimeOrderCurve::mul
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericScalar::from_wide_bytes
    - BOTAN_STATE_CHECK
    - to_affine_x<GenericCurve>
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: "PrimeOrderCurve::Scalar GenericPrimeOrderCurve::base_point_mul_x_mod_order(const
      Scalar& scalar,\n                                                                           RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1334,1
    - Dst: GenericWindowedMul::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1334,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt'
    - ' scalar'
    - ' rng'
    argTypes:
    - AffinePoint
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1335
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1335
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 2
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - GenericWindowedMul::mul
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::ProjectivePoint
    signature: "PrimeOrderCurve::ProjectivePoint GenericPrimeOrderCurve::mul(const
      AffinePoint& pt,\n                                                             const
      Scalar& scalar,\n                                                             RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindowedMul::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1341,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1341,1
    - Dst: to_affine_x<GenericCurve>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt'
    - ' scalar'
    - ' rng'
    argTypes:
    - AffinePoint
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1343
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1343
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul_x_only
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - GenericWindowedMul::mul
    - to_affine_x<GenericCurve>
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> GenericPrimeOrderCurve::mul_x_only(const AffinePoint&
      pt,\n                                                          const Scalar&
      scalar,\n                                                          RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GenericVartimeWindowedMul2>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1347,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1347,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::generator
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1347,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' q'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1348
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1348
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul2_setup_g
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - std::make_unique<GenericVartimeWindowedMul2>
    - Botan::PCurve::GenericPrimeOrderCurve::generator
    linkageType: ''
    returnType: std::unique_ptr<const PrimeOrderCurve::PrecomputedMul2Table>
    signature: "std::unique_ptr<const PrimeOrderCurve::PrecomputedMul2Table> GenericPrimeOrderCurve::mul2_setup_g(\n
      \  const AffinePoint& q) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GenericVartimeWindowedMul2&>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1353,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::mul2_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1354,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1354,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1354,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1355,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' tableb'
    - ' s1'
    - ' s2'
    argTypes:
    - PrecomputedMul2Table
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1360
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1360
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul2_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::mul2_vartime
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - dynamic_cast<const GenericVartimeWindowedMul2&>
    - auto::is_identity
    linkageType: ''
    returnType: std::optional<PrimeOrderCurve::ProjectivePoint>
    signature: "std::optional<PrimeOrderCurve::ProjectivePoint> GenericPrimeOrderCurve::mul2_vartime(const
      PrecomputedMul2Table& tableb,\n                                                                                     const
      Scalar& s1,\n                                                                                     const
      Scalar& s2) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindowedMul2::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1365,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1365,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1365,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1366,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' p'
    - ' x'
    - ' q'
    - ' y'
    - ' rng'
    argTypes:
    - AffinePoint
    - Scalar
    - AffinePoint
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1371
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1371
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul_px_qy
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    - GenericWindowedMul2::mul2
    - auto::is_identity
    linkageType: ''
    returnType: std::optional<PrimeOrderCurve::ProjectivePoint>
    signature: "std::optional<PrimeOrderCurve::ProjectivePoint> GenericPrimeOrderCurve::mul_px_qy(\n
      \  const AffinePoint& p, const Scalar& x, const AffinePoint& q, const Scalar&
      y, RandomNumberGenerator& rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GenericVartimeWindowedMul2&>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1377,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::mul2_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1378,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1378,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1378,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1380,1
    - Dst: auto::z
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1381,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1383,1
    - Dst: Botan::PCurve::GenericField::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1385,1
    - Dst: auto::x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1386,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1386,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1390,1
    - Dst: Botan::PCurve::GenericField::from_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1391,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1391,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1392,1
    - Dst: auto::to_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1394,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1395,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1395,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1395,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1395,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1395,1
    - Dst: auto::x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1396,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ' tableb'
    - ' v'
    - ' s1'
    - ' s2'
    argTypes:
    - PrecomputedMul2Table
    - Scalar
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1403
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1403
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul2_vartime_x_mod_order_eq
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::deserialize
    - _params
    - Botan::PCurve::GenericPrimeOrderCurve::mul2_vartime
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericField::from_words
    - auto::negate
    - bigint_ct_is_lt
    - auto::z
    - auto::size
    - auto::data
    - auto::to_words
    - dynamic_cast<const GenericVartimeWindowedMul2&>
    - auto::is_identity
    - auto::x
    - as_bool
    linkageType: ''
    returnType: bool
    signature: "bool GenericPrimeOrderCurve::mul2_vartime_x_mod_order_eq(const PrecomputedMul2Table&
      tableb,\n                                                         const Scalar&
      v,\n                                                         const Scalar& s1,\n
      \                                                        const Scalar& s2) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1406,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1406,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1406,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1405
    functionDepth: 2
    functionLinenumber: 1405
    functionLinenumberEnd: 1407
    functionName: Botan::PCurve::GenericPrimeOrderCurve::generator
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 2
    functionsReached:
    - _params
    - shared_from_this
    - Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
    linkageType: ''
    returnType: PrimeOrderCurve::AffinePoint
    signature: PrimeOrderCurve::AffinePoint GenericPrimeOrderCurve::generator() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_affine<GenericCurve>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1410,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1410,1
    - Dst: auto::y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1412,1
    - Dst: Botan::PCurve::GenericAffinePoint::x3_ax_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1413,1
    - Dst: auto::x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1413,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1414,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1416,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1416,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 1419
      start: 1409
    functionDepth: 3
    functionLinenumber: 1409
    functionLinenumberEnd: 1419
    functionName: Botan::PCurve::GenericPrimeOrderCurve::point_to_affine
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::x3_ax_b
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - auto::y
    - to_affine<GenericCurve>
    - BOTAN_ASSERT
    - auto::is_identity
    - auto::x
    - auto::as_bool
    linkageType: ''
    returnType: PrimeOrderCurve::AffinePoint
    signature: PrimeOrderCurve::AffinePoint GenericPrimeOrderCurve::point_to_affine(const
      ProjectivePoint& pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1422,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1422,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1422,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - AffinePoint
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1423
      start: 1421
    functionDepth: 2
    functionLinenumber: 1421
    functionLinenumberEnd: 1423
    functionName: Botan::PCurve::GenericPrimeOrderCurve::point_add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::ProjectivePoint
    signature: PrimeOrderCurve::ProjectivePoint GenericPrimeOrderCurve::point_add(const
      AffinePoint& a, const AffinePoint& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1426,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1427
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1427
    functionName: Botan::PCurve::GenericPrimeOrderCurve::point_negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::AffinePoint
    signature: PrimeOrderCurve::AffinePoint GenericPrimeOrderCurve::point_negate(const
      AffinePoint& pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1431
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1431
    functionName: Botan::PCurve::GenericPrimeOrderCurve::affine_point_is_identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    linkageType: ''
    returnType: bool
    signature: bool GenericPrimeOrderCurve::affine_point_is_identity(const AffinePoint&
      pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - ' pt'
    argTypes:
    - std::span<uint8_t>
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1435
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1435
    functionName: Botan::PCurve::GenericPrimeOrderCurve::serialize_point
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    linkageType: ''
    returnType: void
    signature: void GenericPrimeOrderCurve::serialize_point(std::span<uint8_t> bytes,
      const AffinePoint& pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1438,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1438,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1438,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - ' scalar'
    argTypes:
    - std::span<uint8_t>
    - Scalar
    constantsTouched: []
    func_position:
      end: 1440
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1440
    functionName: Botan::PCurve::GenericPrimeOrderCurve::serialize_scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - std::span<uint8_t>::size
    - _params
    linkageType: ''
    returnType: void
    signature: void GenericPrimeOrderCurve::serialize_scalar(std::span<uint8_t> bytes,
      const Scalar& scalar) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1444,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1445,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1449
      start: 1442
    functionDepth: 2
    functionLinenumber: 1442
    functionLinenumberEnd: 1449
    functionName: Botan::PCurve::GenericPrimeOrderCurve::deserialize_scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - Botan::PCurve::GenericScalar::deserialize
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: std::optional<PrimeOrderCurve::Scalar>
    signature: "std::optional<PrimeOrderCurve::Scalar> GenericPrimeOrderCurve::deserialize_scalar(\n
      \  std::span<const uint8_t> bytes) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::from_wide_bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1453,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1454,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1458
      start: 1451
    functionDepth: 3
    functionLinenumber: 1451
    functionLinenumberEnd: 1458
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_from_wide_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - Botan::PCurve::GenericScalar::from_wide_bytes
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: std::optional<PrimeOrderCurve::Scalar>
    signature: "std::optional<PrimeOrderCurve::Scalar> GenericPrimeOrderCurve::scalar_from_wide_bytes(\n
      \  std::span<const uint8_t> bytes) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericAffinePoint::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1462,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1463,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1467
      start: 1460
    functionDepth: 4
    functionLinenumber: 1460
    functionLinenumberEnd: 1467
    functionName: Botan::PCurve::GenericPrimeOrderCurve::deserialize_point
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    - Botan::PCurve::GenericAffinePoint::deserialize
    linkageType: ''
    returnType: std::optional<PrimeOrderCurve::AffinePoint>
    signature: "std::optional<PrimeOrderCurve::AffinePoint> GenericPrimeOrderCurve::deserialize_point(\n
      \  std::span<const uint8_t> bytes) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1470,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1470,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1471
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1471
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_add(const Scalar&
      a, const Scalar& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1474,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1474,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1475
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1475
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_sub
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_sub(const Scalar&
      a, const Scalar& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1478,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1478,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1479
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1479
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_mul(const Scalar&
      a, const Scalar& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1482,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 1483
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1483
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_square
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_square(const
      Scalar& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1486,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 1487
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1487
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_invert(const
      Scalar& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1491,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 1492
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1492
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_invert_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_invert_vartime(const
      Scalar& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1495,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 1496
      start: 1494
    functionDepth: 1
    functionLinenumber: 1494
    functionLinenumberEnd: 1496
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_negate(const
      Scalar& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 1500
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1500
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_is_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    linkageType: ''
    returnType: bool
    signature: bool GenericPrimeOrderCurve::scalar_is_zero(const Scalar& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1503,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1503,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1504
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1504
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_equal
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - as_bool
    linkageType: ''
    returnType: bool
    signature: bool GenericPrimeOrderCurve::scalar_equal(const Scalar& a, const Scalar&
      b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1507,1
    - Dst: Botan::PCurve::GenericScalar::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1506
    functionDepth: 2
    functionLinenumber: 1506
    functionLinenumberEnd: 1508
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::one
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_one() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1511,1
    - Dst: Botan::PCurve::GenericScalar::random
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1512
      start: 1510
    functionDepth: 3
    functionLinenumber: 1510
    functionLinenumberEnd: 1512
    functionName: Botan::PCurve::GenericPrimeOrderCurve::random_scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::random
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::random_scalar(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::Scalar::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1515,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1515,1
    - Dst: stash_value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 1516
      start: 1514
    functionDepth: 2
    functionLinenumber: 1514
    functionLinenumberEnd: 1516
    functionName: Botan::PCurve::GenericPrimeOrderCurve::stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 20
    functionsReached:
    - Botan::PCurve::PrimeOrderCurve::Scalar::_create
    - stash_value
    - shared_from_this
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::stash(const GenericScalar&
      s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1519,1
    - Dst: _curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1519,1
    - Dst: GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1520,1
    - Dst: _value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - PrimeOrderCurve::Scalar
    constantsTouched: []
    func_position:
      end: 1521
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1521
    functionName: Botan::PCurve::GenericPrimeOrderCurve::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 24
    functionsReached:
    - BOTAN_ARG_CHECK
    - _value
    - _curve
    - GenericScalar
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar GenericPrimeOrderCurve::from_stash(const PrimeOrderCurve::Scalar&
      s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1524,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1525,1
    - Dst: Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1526,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 1527
      start: 1523
    functionDepth: 2
    functionLinenumber: 1523
    functionLinenumberEnd: 1527
    functionName: Botan::PCurve::GenericPrimeOrderCurve::stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 20
    functionsReached:
    - y
    - x
    - shared_from_this
    - Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
    linkageType: ''
    returnType: PrimeOrderCurve::AffinePoint
    signature: PrimeOrderCurve::AffinePoint GenericPrimeOrderCurve::stash(const GenericAffinePoint&
      pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1530,1
    - Dst: _curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1530,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1531,1
    - Dst: _x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1531,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1532,1
    - Dst: _y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1532,1
    - Dst: GenericAffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - PrimeOrderCurve::AffinePoint
    constantsTouched: []
    func_position:
      end: 1534
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1534
    functionName: Botan::PCurve::GenericPrimeOrderCurve::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 24
    functionsReached:
    - _curve
    - _y
    - GenericAffinePoint
    - _x
    - BOTAN_ARG_CHECK
    - GenericField
    linkageType: ''
    returnType: GenericAffinePoint
    signature: GenericAffinePoint GenericPrimeOrderCurve::from_stash(const PrimeOrderCurve::AffinePoint&
      pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1537,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1538,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1539,1
    - Dst: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1540,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - GenericProjectivePoint
    constantsTouched: []
    func_position:
      end: 1541
      start: 1536
    functionDepth: 2
    functionLinenumber: 1536
    functionLinenumberEnd: 1541
    functionName: Botan::PCurve::GenericPrimeOrderCurve::stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 20
    functionsReached:
    - y
    - Botan::PCurve::PrimeOrderCurve::ProjectivePoint::_create
    - shared_from_this
    - z
    - x
    linkageType: ''
    returnType: PrimeOrderCurve::ProjectivePoint
    signature: PrimeOrderCurve::ProjectivePoint GenericPrimeOrderCurve::stash(const
      GenericProjectivePoint& pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1544,1
    - Dst: _curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1544,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1545,1
    - Dst: _x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1545,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1546,1
    - Dst: _y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1546,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1547,1
    - Dst: _z
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1547,1
    - Dst: GenericProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - PrimeOrderCurve::ProjectivePoint
    constantsTouched: []
    func_position:
      end: 1549
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1549
    functionName: Botan::PCurve::GenericPrimeOrderCurve::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 24
    functionsReached:
    - _curve
    - GenericProjectivePoint
    - _y
    - _x
    - BOTAN_ARG_CHECK
    - GenericField
    - _z
    linkageType: ''
    returnType: GenericProjectivePoint
    signature: GenericProjectivePoint GenericPrimeOrderCurve::from_stash(const PrimeOrderCurve::ProjectivePoint&
      pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1553,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - expand_message
    argTypes:
    - std::function<void(std::span<uint8_t>)>
    constantsTouched: []
    func_position:
      end: 1555
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1555
    functionName: Botan::PCurve::GenericPrimeOrderCurve::hash_to_curve_nu
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Not_Implemented
    linkageType: ''
    returnType: PrimeOrderCurve::AffinePoint
    signature: "PrimeOrderCurve::AffinePoint GenericPrimeOrderCurve::hash_to_curve_nu(\n
      \  std::function<void(std::span<uint8_t>)> expand_message) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1559,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - expand_message
    argTypes:
    - std::function<void(std::span<uint8_t>)>
    constantsTouched: []
    func_position:
      end: 1561
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1561
    functionName: Botan::PCurve::GenericPrimeOrderCurve::hash_to_curve_ro
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Not_Implemented
    linkageType: ''
    returnType: PrimeOrderCurve::ProjectivePoint
    signature: "PrimeOrderCurve::ProjectivePoint GenericPrimeOrderCurve::hash_to_curve_ro(\n
      \  std::function<void(std::span<uint8_t>)> expand_message) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1568,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1569,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1570,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1571,1
    - Dst: bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1590,1
    - Dst: std::make_shared<GenericPrimeOrderCurve>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1594,1
    - Dst: auto::_precompute_base_mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1604,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 6
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' base_x'
    - ' base_y'
    - ' order'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1606
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1606
    functionName: Botan::PCurve::PCurveInstance::from_params
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ARG_CHECK
    - auto::_precompute_base_mul
    - bits
    - std::make_shared<GenericPrimeOrderCurve>
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: "std::shared_ptr<const PrimeOrderCurve> PCurveInstance::from_params(\n
      \  const BigInt& p, const BigInt& a, const BigInt& b, const BigInt& base_x,
      const BigInt& base_y, const BigInt& order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: '& _params() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericCurveParams
    signature: GenericCurveParams & _params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_brainpool256r1/pcurves_brainpool256r1.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::PCurve::PCurveInstance::brainpool256r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_brainpool256r1/pcurves_brainpool256r1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::brainpool256r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:56,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:57,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:58,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:59,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:60,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:61,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:62,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:63,1
    - Dst: SolinasAccum::final_carry
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:64,1
    - Dst: bigint_correct_redc<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:66,1
    - Dst: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::sm2_mul_mod_256
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 69
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 69
    functionName: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 0
    functionsReached:
    - bigint_correct_redc<N>
    - Botan::PCurve::sm2p256v1::Sm2p256v1Rep::sm2_mul_mod_256
    - SolinasAccum::accum
    - SolinasAccum::final_carry
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::sm2p256v1::Sm2p256v1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - i
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::sm2_mul_mod_256
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> sm2_mul_mod_256(W i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:124,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:126,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:129,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:131,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:133,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:136,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:138,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:141,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:143,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:145,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:148,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:150,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:152,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 156
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 156
    functionName: Botan::PCurve::sm2p256v1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - auto::square_n
    - square
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Botan::PCurve::PCurveInstance::sm2p256v1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 2
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::sm2p256v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:50,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:51,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:52,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:53,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:54,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:55,1
    - Dst: SolinasAccum::final_carry
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:56,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:58,1
    - Dst: bigint_correct_redc<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:60,1
    - Dst: Botan::PCurve::secp192r1::Secp192r1Rep::p192_mul_mod_192
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 63
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 63
    functionName: Botan::PCurve::secp192r1::Secp192r1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::secp192r1::Secp192r1Rep::p192_mul_mod_192
    - SolinasAccum::accum
    - SolinasAccum::final_carry
    - BOTAN_DEBUG_ASSERT
    - bigint_correct_redc<N>
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::PCurve::secp192r1::Secp192r1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::PCurve::secp192r1::Secp192r1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::secp192r1::Secp192r1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::PCurve::secp192r1::Secp192r1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::secp192r1::Secp192r1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::PCurve::secp192r1::Secp192r1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - i
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: Botan::PCurve::secp192r1::Secp192r1Rep::p192_mul_mod_192
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p192_mul_mod_192(W i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:113,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:115,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:117,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:118,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:120,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:123,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:125,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:128,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:131,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:135,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:137,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:140,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 144
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 144
    functionName: Botan::PCurve::secp192r1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - auto::square_n
    - square
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: Botan::PCurve::PCurveInstance::secp192r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 2
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::secp192r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:53,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:54,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:55,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:56,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:57,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:58,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:59,1
    - Dst: SolinasAccum::final_carry
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:60,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:62,1
    - Dst: bigint_correct_redc<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:64,1
    - Dst: Botan::PCurve::secp224r1::Secp224r1Rep::p224_mul_mod_224
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 67
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 67
    functionName: Botan::PCurve::secp224r1::Secp224r1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached:
    - SolinasAccum::accum
    - SolinasAccum::final_carry
    - BOTAN_DEBUG_ASSERT
    - bigint_correct_redc<N>
    - Botan::PCurve::secp224r1::Secp224r1Rep::p224_mul_mod_224
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::PCurve::secp224r1::Secp224r1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::PCurve::secp224r1::Secp224r1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::secp224r1::Secp224r1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::PCurve::secp224r1::Secp224r1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::secp224r1::Secp224r1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::PCurve::secp224r1::Secp224r1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - i
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: Botan::PCurve::secp224r1::Secp224r1Rep::p224_mul_mod_224
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p224_mul_mod_224(W i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:117,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:119,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:122,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:125,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:127,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:129,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:132,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:135,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:138,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:140,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:143,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:145,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 148
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 148
    functionName: Botan::PCurve::secp224r1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - auto::square_n
    - square
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:152,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:153,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:164,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:166,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:168,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:171,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:174,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:176,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:178,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:180,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:182,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:184,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:186,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:188,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:190,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:192,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:194,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:196,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:198,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:200,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:202,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:204,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:206,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:208,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:210,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 215
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 215
    functionName: Botan::PCurve::secp224r1::Curve::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - auto::square_n
    - square
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert(const Scalar& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: Botan::PCurve::PCurveInstance::secp224r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 2
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::secp224r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::MontgomeryRep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_redc_pdash1
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:84,1
    - Dst: monty_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: Botan::MontgomeryRep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - monty_redc
    - monty_redc_pdash1
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: comba_mul<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:95,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:95,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:95,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:95,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: Botan::MontgomeryRep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - fuzz_mp_redc
    - data
    - std::array::data
    - comba_mul<N>
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:106,1
    - Dst: comba_mul<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:108,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:108,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:108,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:108,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: Botan::MontgomeryRep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - fuzz_mp_redc
    - std::array::data
    - data
    - auto::data
    - comba_mul<N>
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:117,1
    - Dst: template first<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:117,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: Botan::MontgomeryRep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - template first<N>
    - fuzz_mp_redc
    - copy_mem
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::IntMod::IntMod
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntMod()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Botan::IntMod::IntMod
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntMod(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan::IntMod::IntMod
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntMod(Self&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: '& operator=(const Self& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntMod
    signature: IntMod & operator=(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: '& operator=(Self&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntMod
    signature: IntMod & operator=(Self&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: Botan::IntMod::zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: Self zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:177,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan::IntMod::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Self
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::one
    linkageType: ''
    returnType: Self
    signature: Self one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:190,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:190,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:194,1
    - Dst: template first<L>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:194,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:195,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - w
    argTypes:
    - std::array<W, L>
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: Botan::IntMod::from_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Self
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::to_rep
    - copy_mem
    - template first<L>
    linkageType: ''
    returnType: Self
    signature: Self from_words(std::array<W, L> w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:202,1
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:202,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: Botan::IntMod::is_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::data
    - Botan::CT::all_zeros
    - size
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: Botan::IntMod::is_nonzero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::is_zero
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_nonzero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: Botan::IntMod::is_one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::crypto::impl::sha1_done
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_one() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:218,1
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: Botan::IntMod::is_even
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Choice::from_int
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_even() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:230,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:234,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:234,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:234,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:234,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: operator+(const Self& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - Botan::word_add
    - Self
    - data
    - Botan::bigint_monty_maybe_sub
    linkageType: ''
    returnType: Self
    signature: Self operator+(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:245,1
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:248,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:248,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:248,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: operator-(const Self& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - Self
    - data
    - Botan::bigint_cnd_add
    - Botan::word_sub
    linkageType: ''
    returnType: Self
    signature: Self operator-(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_div_2_plus_1
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:258,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:262,1
    - Dst: shift_right<1>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:263,1
    - Dst: bigint_cnd_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:266,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:266,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:266,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: Botan::IntMod::div2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - Self
    - auto::data
    - p_div_2_plus_1
    - bigint_cnd_add
    - shift_right<1>
    - value
    linkageType: ''
    returnType: Self
    signature: Self div2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:273,1
    - Dst: shift_left<1>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:274,1
    - Dst: bigint_monty_maybe_sub<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:277,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:277,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:277,1
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:277,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: Botan::IntMod::mul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - Self
    - bigint_monty_maybe_sub<N>
    - shift_left<1>
    - Botan::IntMod::data
    - value
    linkageType: ''
    returnType: Self
    signature: Self mul2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: Botan::IntMod::mul3
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::mul2
    linkageType: ''
    returnType: Self
    signature: Self mul3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: Botan::IntMod::mul4
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::mul2
    linkageType: ''
    returnType: Self
    signature: Self mul4() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: Botan::IntMod::mul8
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::mul2
    linkageType: ''
    returnType: Self
    signature: Self mul8() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::comba_mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:295,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:295,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:295,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:295,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:296,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: operator*(const Self& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - Self
    - data
    - Botan::comba_mul
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
    linkageType: ''
    returnType: Self
    signature: Self operator*(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::comba_mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:304,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:304,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:304,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:304,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: '& operator*=(const Self& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - data
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
    - std::array::data
    - Botan::comba_mul
    linkageType: ''
    returnType: Self
    signature: Self & operator*=(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:315,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cond
    - ' nx'
    argTypes:
    - CT::Choice
    - Self
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: Botan::IntMod::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - choose
    - Botan::CT::Mask::from_choice
    linkageType: ''
    returnType: void
    signature: void conditional_assign(CT::Choice cond, const Self& nx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:328,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:331,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' x'
    - ' y'
    - cond
    - ' nx'
    - ' ny'
    argTypes:
    - Self
    - Self
    - CT::Choice
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: Botan::IntMod::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - choose
    - Botan::CT::Mask::from_choice
    linkageType: ''
    returnType: void
    signature: void conditional_assign(Self& x, Self& y, CT::Choice cond, const Self&
      nx, const Self& ny)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:343,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:346,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:347,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - ' x'
    - ' y'
    - ' z'
    - cond
    - ' nx'
    - ' ny'
    - ' nz'
    argTypes:
    - Self
    - Self
    - Self
    - CT::Choice
    - Self
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 350
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 350
    functionName: Botan::IntMod::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - choose
    - Botan::CT::Mask::from_choice
    linkageType: ''
    returnType: void
    signature: "void conditional_assign(\n         Self& x, Self& y, Self& z, CT::Choice
      cond, const Self& nx, const Self& ny, const Self& nz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: comba_sqr<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:359,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:359,1
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:359,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:360,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: Botan::IntMod::square
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - Self
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
    - comba_sqr<N>
    - Botan::IntMod::data
    linkageType: ''
    returnType: Self
    signature: Self square() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: comba_sqr<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:373,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:373,1
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:373,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: Botan::IntMod::square_n
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
    - Botan::IntMod::data
    - std::array::data
    - comba_sqr<N>
    linkageType: ''
    returnType: void
    signature: void square_n(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:384,1
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:384,1
    - Dst: word_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:389,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 393
    functionName: Botan::IntMod::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Self
    - Botan::IntMod::data
    - word_sub
    - Botan::CT::all_zeros
    linkageType: ''
    returnType: Self
    signature: Self negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:426,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:432,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' exp'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 451
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 451
    functionName: Botan::IntMod::pow_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - auto::square_n
    - Botan::IntMod::square
    - cryptofuzz::crypto::impl::sha1_done
    linkageType: ''
    returnType: Self
    signature: Self pow_vartime(const std::array<W, N>& exp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 466
    functionName: Botan::IntMod::invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::pow_vartime
    linkageType: ''
    returnType: Self
    signature: Self invert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_div_2_plus_1
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:476,1
    - Dst: shift_right<1>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:479,1
    - Dst: shift_right<1>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:481,1
    - Dst: bigint_add2_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:484,1
    - Dst: m_val::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:484,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' a'
    - ' x'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 487
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 487
    functionName: Botan::IntMod::_invert_vartime_div2_helper
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - auto::data
    - p_div_2_plus_1
    - bigint_add2_nc
    - shift_right<1>
    - m_val::data
    linkageType: ''
    returnType: void
    signature: void _invert_vartime_div2_helper(Self& a, Self& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:525,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:526,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:529,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:530,1
    - Dst: Botan::IntMod::to_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:530,1
    - Dst: Botan::IntMod::_invert_vartime_div2_helper
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:533,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:535,1
    - Dst: Botan::IntMod::_invert_vartime_div2_helper
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:540,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:545,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:548,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:564,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:564,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:564,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:564,1
    - Dst: Botan::IntMod::_invert_vartime_div2_helper
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:570,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:573,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:573,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:573,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:573,1
    - Dst: Botan::IntMod::_invert_vartime_div2_helper
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 579
    functionName: Botan::IntMod::invert_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::is_zero
    - Botan::IntMod::to_words
    - std::array::data
    - Self
    - auto::negate
    - Botan::IntMod::_invert_vartime_div2_helper
    - auto::data
    - cryptofuzz_secp256k1_scalar_is_zero
    - bigint_sub3
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::to_rep
    linkageType: ''
    returnType: Self
    signature: Self invert_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_plus_1_over_4
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:590,1
    - Dst: Botan::IntMod::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:591,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:594,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:595,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:595,1
    - Dst: shanks_tonelli_c1c2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:608,1
    - Dst: shanks_tonelli_c3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:609,1
    - Dst: p_minus_1_over_2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:610,1
    - Dst: shanks_tonelli_c4<Self>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:611,1
    - Dst: Self::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:612,1
    - Dst: Botan::IntMod::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:616,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:617,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:624,1
    - Dst: auto::is_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:625,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:626,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:627,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:628,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:633,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:634,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 637
      start: 586
    functionDepth: 3
    functionLinenumber: 586
    functionLinenumberEnd: 637
    functionName: Botan::IntMod::sqrt
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - shanks_tonelli_c3
    - p_minus_1_over_2
    - Botan::IntMod::pow_vartime
    - auto::is_one
    - p_plus_1_over_4
    - Self::pow_vartime
    - cryptofuzz_secp256k1_scalar_is_zero
    - auto::conditional_assign
    - shanks_tonelli_c4<Self>
    - auto::square_n
    - auto::square
    - shanks_tonelli_c1c2
    linkageType: ''
    returnType: std::pair<Self, CT::Choice>
    signature: std::pair<Self, CT::Choice> sqrt() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:646,1
    - Dst: Botan::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:646,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: operator==(const Self& other) const
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - data
    - Botan::data
    - Botan::CT::is_equal
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice operator==(const Self& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 652
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 652
    functionName: operator!=(const Self& other) const
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice operator!=(const Self& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 657
    functionName: Botan::IntMod::to_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached:
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
    linkageType: ''
    returnType: std::array<W, Self::N>
    signature: std::array<W, Self::N> to_words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:663,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:664,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:664,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:664,1
    - Dst: store_be
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:667,1
    - Dst: store_be
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:670,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:672,1
    - Dst: template subspan<extra, Self::BYTES>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t, Self::BYTES>
    constantsTouched: []
    func_position:
      end: 674
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 674
    functionName: Botan::IntMod::serialize_to
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::reverse
    - store_be
    - copy_mem
    - auto::end
    - template subspan<extra, Self::BYTES>
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
    linkageType: ''
    returnType: void
    signature: void serialize_to(std::span<uint8_t, Self::BYTES> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 689
    functionName: Botan::IntMod::stash_value
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, L>
    signature: std::array<W, L> stash_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' stash'
    argTypes:
    - std::array<W, L>
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: Botan::IntMod::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: Self from_stash(const std::array<W, L>& stash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:716,1
    - Dst: bytes_to_words<W, N, BYTES>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:720,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:720,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:722,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:722,1
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:722,1
    - Dst: Botan::PCurve::GenericField::from_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 728
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 728
    functionName: Botan::IntMod::deserialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::first
    - bytes_to_words<W, N, BYTES>
    - Botan::PCurve::GenericField::from_words
    - bigint_ct_is_lt
    - auto::data
    - std::span<const uint8_t>::size
    - Botan::IntMod::data
    linkageType: ''
    returnType: std::optional<Self>
    signature: std::optional<Self> deserialize(std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:740,1
    - Dst: template last<L>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:740,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:741,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::wide_to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:741,1
    - Dst: bytes_to_words<W, 2 * N, 2 * BYTES>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t, L>
    constantsTouched: []
    func_position:
      end: 742
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 742
    functionName: Botan::IntMod::from_wide_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::wide_to_rep
    - Self
    - bytes_to_words<W, 2 * N, 2 * BYTES>
    - copy_mem
    - template last<L>
    linkageType: ''
    returnType: Self
    signature: Self from_wide_bytes(std::span<const uint8_t, L> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:751,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:756,1
    - Dst: last
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:756,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:756,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:757,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::wide_to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:757,1
    - Dst: bytes_to_words<W, 2 * N, 2 * BYTES>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 758
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 758
    functionName: Botan::IntMod::from_wide_bytes_varlen
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::wide_to_rep
    - Self
    - copy_mem
    - bytes_to_words<W, 2 * N, 2 * BYTES>
    - std::span<const uint8_t>::size
    - last
    linkageType: ''
    returnType: std::optional<Self>
    signature: std::optional<Self> from_wide_bytes_varlen(std::span<const uint8_t>
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:777,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:786,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:787,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:788,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 794
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 794
    functionName: Botan::IntMod::random
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - auto::value
    - randomize
    - Botan_CLI::FEC_Share::deserialize
    - Internal_Error
    linkageType: ''
    returnType: Self
    signature: Self random(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::from_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:804,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 806
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 806
    functionName: Botan::IntMod::constant
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - auto::negate
    - Botan::PCurve::GenericField::from_words
    linkageType: ''
    returnType: Self
    signature: Self constant(int8_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 808
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 808
    functionName: Botan::IntMod::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 810
    functionName: Botan::IntMod::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: Botan::IntMod::data
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 7
    functionsReached:
    - Botan::IntMod::data
    linkageType: ''
    returnType: W
    signature: W * data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 817
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 817
    functionName: Botan::IntMod::IntMod
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntMod(std::array<W, N> v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - FieldElement
    - FieldElement
    constantsTouched: []
    func_position:
      end: 841
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 841
    functionName: Botan::AffineCurvePoint::AffineCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AffineCurvePoint(const FieldElement& x, const FieldElement& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:843,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 843
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 843
    functionName: Botan::AffineCurvePoint::AffineCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_scalar_is_zero
    linkageType: ''
    returnType: void
    signature: void AffineCurvePoint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:845,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:845,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 845
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 845
    functionName: Botan::AffineCurvePoint::identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Self
    - cryptofuzz_secp256k1_scalar_is_zero
    linkageType: ''
    returnType: Self
    signature: Self identity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:848,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:848,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 848
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 848
    functionName: Botan::AffineCurvePoint::identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Self
    - cryptofuzz_secp256k1_scalar_is_zero
    linkageType: ''
    returnType: Self
    signature: Self identity(const Self&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:850,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 850
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 850
    functionName: Botan::AffineCurvePoint::is_identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - y
    - x
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 852
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 852
    functionName: Botan::AffineCurvePoint::AffineCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AffineCurvePoint(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 853
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 853
    functionName: Botan::AffineCurvePoint::AffineCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AffineCurvePoint(Self&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 854
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 854
    functionName: '& operator=(const Self& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AffineCurvePoint
    signature: AffineCurvePoint & operator=(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 855
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 855
    functionName: '& operator=(Self&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AffineCurvePoint
    signature: AffineCurvePoint & operator=(Self&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:857,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:857,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 857
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 857
    functionName: Botan::AffineCurvePoint::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Self
    - y
    - x
    linkageType: ''
    returnType: Self
    signature: Self negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:863,1
    - Dst: Botan::AffineCurvePoint::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:863,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:865,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:866,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:866,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:867,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:867,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:868,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t, Self::BYTES>
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 869
    functionName: Botan::AffineCurvePoint::serialize_to
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - y
    - Botan::AffineCurvePoint::is_identity
    - BufferStuffer::append
    - BOTAN_DEBUG_ASSERT
    - x
    - BufferStuffer::next
    - BufferStuffer::full
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void serialize_to(std::span<uint8_t, Self::BYTES> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fuzzer_TLS_Client_Creds::psk_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:877,1
    - Dst: std::span<const Self>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:881,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:882,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pts
    - idx
    argTypes:
    - std::span<const Self>
    - size_t
    constantsTouched: []
    func_position:
      end: 887
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 887
    functionName: Botan::AffineCurvePoint::ct_select
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::span<const Self>::size
    - Fuzzer_TLS_Client_Creds::psk_identity
    - auto::conditional_assign
    - Botan::BigInt::is_equal
    linkageType: ''
    returnType: auto
    signature: auto ct_select(std::span<const Self> pts, size_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 892
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 892
    functionName: Botan::AffineCurvePoint::x3_ax_b
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - square
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement x3_ax_b(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:900,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:901,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:901,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:902,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:902,1
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:905,1
    - Dst: Botan::PCurve::GenericAffinePoint::x3_ax_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:906,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:907,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:908,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:911,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:912,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:914,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:914,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:917,1
    - Dst: auto::is_even
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:918,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:919,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:919,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:920,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:923,1
    - Dst: Fuzzer_TLS_Client_Creds::psk_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:925,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 929
      start: 899
    functionDepth: 3
    functionLinenumber: 899
    functionLinenumberEnd: 929
    functionName: Botan::AffineCurvePoint::deserialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::PCurve::GenericAffinePoint::x3_ax_b
    - Self
    - auto::negate
    - Botan_CLI::FEC_Share::deserialize
    - auto::is_even
    - std::span<const uint8_t>::subspan
    - std::span<const uint8_t>::size
    - Fuzzer_TLS_Client_Creds::psk_identity
    - auto::conditional_assign
    - square
    - as_bool
    linkageType: ''
    returnType: std::optional<Self>
    signature: std::optional<Self> deserialize(std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 934
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 934
    functionName: '& x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement & x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 939
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 939
    functionName: '& y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement & y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:945,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:945,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - ' pt'
    argTypes:
    - CT::Choice
    - Self
    constantsTouched: []
    func_position:
      end: 946
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 946
    functionName: Botan::AffineCurvePoint::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - y
    - Botan::Ed448Point::ct_conditional_assign
    - x
    linkageType: ''
    returnType: void
    signature: void conditional_assign(CT::Choice cond, const Self& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 948
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 948
    functionName: Botan::AffineCurvePoint::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 950
    functionName: Botan::AffineCurvePoint::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ProjectiveCurvePoint::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:980,1
    - Dst: Fuzzer_TLS_Client_Creds::psk_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:981,1
    - Dst: Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:983,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:983,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 985
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 985
    functionName: Botan::ProjectiveCurvePoint::from_affine
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - y
    - Fuzzer_TLS_Client_Creds::psk_identity
    - x
    - Botan::ProjectiveCurvePoint::is_identity
    - Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
    linkageType: ''
    returnType: Self
    signature: Self from_affine(const AffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:990,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:990,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:990,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: Botan::ProjectiveCurvePoint::identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Self
    - cryptofuzz_secp256k1_scalar_is_zero
    - cryptofuzz::crypto::impl::sha1_done
    linkageType: ''
    returnType: Self
    signature: Self identity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:996,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:996,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 996
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 996
    functionName: Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached:
    - cryptofuzz_secp256k1_scalar_is_zero
    - cryptofuzz::crypto::impl::sha1_done
    linkageType: ''
    returnType: void
    signature: void ProjectiveCurvePoint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - FieldElement
    - FieldElement
    constantsTouched: []
    func_position:
      end: 1002
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1002
    functionName: Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached:
    - cryptofuzz::crypto::impl::sha1_done
    linkageType: ''
    returnType: void
    signature: void ProjectiveCurvePoint(const FieldElement& x, const FieldElement&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - FieldElement
    - FieldElement
    - FieldElement
    constantsTouched: []
    func_position:
      end: 1008
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1008
    functionName: Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProjectiveCurvePoint(const FieldElement& x, const FieldElement&
      y, const FieldElement& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 1010
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1010
    functionName: Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProjectiveCurvePoint(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 1011
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1011
    functionName: Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProjectiveCurvePoint(Self&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 1012
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1012
    functionName: '& operator=(const Self& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProjectiveCurvePoint
    signature: ProjectiveCurvePoint & operator=(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 1013
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1013
    functionName: '& operator=(Self&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProjectiveCurvePoint
    signature: ProjectiveCurvePoint & operator=(Self&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_secp256k1_scalar_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 1015
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1015
    functionName: operator+(const Self& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_scalar_add
    linkageType: ''
    returnType: Self
    signature: Self operator+(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::point_add_mixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1017
      start: 1017
    functionDepth: 2
    functionLinenumber: 1017
    functionLinenumberEnd: 1017
    functionName: operator+(const Self& a, const AffinePoint& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::point_add_mixed
    linkageType: ''
    returnType: Self
    signature: Self operator+(const Self& a, const AffinePoint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::point_add_mixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - AffinePoint
    - Self
    constantsTouched: []
    func_position:
      end: 1019
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1019
    functionName: operator+(const AffinePoint& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::point_add_mixed
    linkageType: ''
    returnType: Self
    signature: Self operator+(const AffinePoint& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 1024
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1024
    functionName: '& operator+=(const Self& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: Self & operator+=(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1029
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1029
    functionName: '& operator+=(const AffinePoint& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: Self & operator+=(const AffinePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 1031
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1031
    functionName: operator-(const Self& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - negate
    linkageType: ''
    returnType: Self
    signature: Self operator-(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1033
    functionName: Botan::ProjectiveCurvePoint::is_identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached:
    - z
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1036,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1036,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1036,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - ' pt'
    argTypes:
    - CT::Choice
    - Self
    constantsTouched: []
    func_position:
      end: 1037
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1037
    functionName: Botan::ProjectiveCurvePoint::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - y
    - Botan::Ed448Point::ct_conditional_assign
    - x
    - z
    linkageType: ''
    returnType: void
    signature: void conditional_assign(CT::Choice cond, const Self& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_add_mixed<Self, AffinePoint, FieldElement>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1043,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1044
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1044
    functionName: Botan::ProjectiveCurvePoint::add_mixed
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::crypto::impl::sha1_done
    - point_add_mixed<Self, AffinePoint, FieldElement>
    linkageType: ''
    returnType: Self
    signature: Self add_mixed(const Self& a, const AffinePoint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_add_or_sub_mixed<Self, AffinePoint, FieldElement>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1048,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - sub
    argTypes:
    - Self
    - AffinePoint
    - CT::Choice
    constantsTouched: []
    func_position:
      end: 1049
      start: 1047
    functionDepth: 2
    functionLinenumber: 1047
    functionLinenumberEnd: 1049
    functionName: Botan::ProjectiveCurvePoint::add_or_sub
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::crypto::impl::sha1_done
    - point_add_or_sub_mixed<Self, AffinePoint, FieldElement>
    linkageType: ''
    returnType: Self
    signature: Self add_or_sub(const Self& a, const AffinePoint& b, CT::Choice sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_add<Self, FieldElement>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 1054
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1054
    functionName: Botan::ProjectiveCurvePoint::add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - point_add<Self, FieldElement>
    linkageType: ''
    returnType: Self
    signature: Self add(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbl_n_a_minus_3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1061,1
    - Dst: dbl_n_a_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1063,1
    - Dst: dbl_n_generic
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1067
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1067
    functionName: Botan::ProjectiveCurvePoint::dbl_n
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - dbl_n_a_minus_3
    - dbl_n_generic
    - dbl_n_a_zero
    linkageType: ''
    returnType: Self
    signature: Self dbl_n(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbl_a_minus_3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1074,1
    - Dst: dbl_a_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1076,1
    - Dst: dbl_generic
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1080
    functionName: Botan::ProjectiveCurvePoint::dbl
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - dbl_a_zero
    - dbl_a_minus_3
    - dbl_generic
    linkageType: ''
    returnType: Self
    signature: Self dbl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1085,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1085,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1085,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: Botan::ProjectiveCurvePoint::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Self
    - y
    - z
    - x
    linkageType: ''
    returnType: Self
    signature: Self negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_seeded
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1097,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1098,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1107
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1107
    functionName: Botan::ProjectiveCurvePoint::randomize_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - auto::square
    - is_seeded
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    linkageType: ''
    returnType: void
    signature: void randomize_rep(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1112
    functionName: '& x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement & x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1117
    functionName: '& y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement & y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1122
    functionName: '& z() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement & z() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1124
    functionName: Botan::ProjectiveCurvePoint::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1126
    functionName: Botan::ProjectiveCurvePoint::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlindedScalarBits::blinding_bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sb
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1264
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1264
    functionName: Botan::BlindedScalarBits::blinding_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached:
    - Botan::BlindedScalarBits::blinding_bits
    linkageType: ''
    returnType: size_t
    signature: size_t blinding_bits(size_t sb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1275
    functionName: Botan::BlindedScalarBits::bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_seeded
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1285,1
    - Dst: randomize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1286,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1296,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1297,1
    - Dst: load_le
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1303,1
    - Dst: to_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1309,1
    - Dst: comba_mul<n_words>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1312,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1312,1
    - Dst: bigint_add2_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1313,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1313,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1313,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1315,1
    - Dst: store_be<std::vector<uint8_t>>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1316,1
    - Dst: resize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1319,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1320,1
    - Dst: template first<Bytes>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1320,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1323,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1323,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - typename C::Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1324
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1324
    functionName: Botan::BlindedScalarBits::BlindedScalarBits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - serialize_to
    - load_le
    - std::reverse
    - comba_mul<n_words>
    - randomize
    - data
    - template first<Bytes>
    - Botan::CT::poison
    - auto::data
    - std::array::size
    - to_words
    - bigint_add2_nc
    - store_be<std::vector<uint8_t>>
    - auto::size
    - size
    - resize
    - is_seeded
    linkageType: ''
    returnType: void
    signature: void BlindedScalarBits(const typename C::Scalar& scalar, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_window_bits<WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1329
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1329
    functionName: Botan::BlindedScalarBits::get_window
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - read_window_bits<WindowBits>
    linkageType: ''
    returnType: size_t
    signature: size_t get_window(size_t offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_scrub_memory
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1332,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1332,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1332,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1333,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1333,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1334
    functionName: ~BlindedScalarBits()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - data
    - Botan::CT::unpoison
    - Botan::secure_scrub_memory
    - Botan::size
    linkageType: ''
    returnType: void
    signature: void ~BlindedScalarBits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_to
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - typename C::Scalar
    constantsTouched: []
    func_position:
      end: 1346
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1346
    functionName: Botan::UnblindedScalarBits::UnblindedScalarBits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - serialize_to
    linkageType: ''
    returnType: void
    signature: void UnblindedScalarBits(const typename C::Scalar& scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_window_bits<WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1351
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1351
    functionName: Botan::UnblindedScalarBits::get_window
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - read_window_bits<WindowBits>
    linkageType: ''
    returnType: size_t
    signature: size_t get_window(size_t offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basemul_setup<C, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1371
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1371
    functionName: Botan::PrecomputedBaseMulTable::PrecomputedBaseMulTable
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - basemul_setup<C, WindowBits>
    linkageType: ''
    returnType: void
    signature: void PrecomputedBaseMulTable(const AffinePoint& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basemul_exec<C, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: Botan::PrecomputedBaseMulTable::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - basemul_exec<C, WindowBits>
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul(const Scalar& s, RandomNumberGenerator& rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varpoint_setup<C, TableSize>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1406
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1406
    functionName: Botan::WindowedMulTable::WindowedMulTable
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - varpoint_setup<C, TableSize>
    linkageType: ''
    returnType: void
    signature: void WindowedMulTable(const AffinePoint& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varpoint_exec<C, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1411
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1411
    functionName: Botan::WindowedMulTable::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - varpoint_exec<C, WindowBits>
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul(const Scalar& s, RandomNumberGenerator& rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sb
    - wb
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1440
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1440
    functionName: Botan::WindowedBoothMulTable::compute_full_windows
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t compute_full_windows(size_t sb, size_t wb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sb
    - wb
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1450
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1450
    functionName: Botan::WindowedBoothMulTable::compute_initial_shift
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t compute_initial_shift(size_t sb, size_t wb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varpoint_setup<C, TableSize>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1460
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1460
    functionName: Botan::WindowedBoothMulTable::WindowedBoothMulTable
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - varpoint_setup<C, TableSize>
    linkageType: ''
    returnType: void
    signature: void WindowedBoothMulTable(const AffinePoint& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1465,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1466,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1475,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1475,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1476,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1476,1
    - Dst: Botan::ProjectiveCurvePoint::add_or_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1478,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1478,1
    - Dst: auto::dbl_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1481,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1484,1
    - Dst: Botan::ProjectiveCurvePoint::add_or_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1491,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1491,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' s'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1495
      start: 1462
    functionDepth: 3
    functionLinenumber: 1462
    functionLinenumberEnd: 1495
    functionName: Botan::WindowedBoothMulTable::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - auto::dbl_n
    - Botan::ProjectiveCurvePoint::add_or_sub
    - auto::negate
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - Botan::CT::poison
    - auto::conditional_assign
    - auto::randomize_rep
    - ct_select
    - Botan::PCurve::GenericProjectivePoint::identity
    - Botan::CT::unpoison
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul(const Scalar& s, RandomNumberGenerator& rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1502,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1504,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1507,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1507,1
    - Dst: auto::as_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 1508
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1508
    functionName: Botan::WindowedBoothMulTable::booth_recode
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    - static_cast<size_t>
    - auto::as_choice
    - std::make_pair
    - auto::select
    linkageType: ''
    returnType: std::pair<size_t, CT::Choice>
    signature: std::pair<size_t, CT::Choice> booth_recode(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2_setup<C, W>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - AffinePoint
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1523
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1523
    functionName: Botan::WindowedMul2Table::WindowedMul2Table
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached:
    - mul2_setup<C, W>
    linkageType: ''
    returnType: void
    signature: void WindowedMul2Table(const AffinePoint& p, const AffinePoint& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2_exec<C, W>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' s1'
    - ' s2'
    - ' rng'
    argTypes:
    - Scalar
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1534
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1534
    functionName: Botan::WindowedMul2Table::mul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - mul2_exec<C, W>
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul2(const Scalar& s1, const Scalar& s2, RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_affine_batch<C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1553,1
    - Dst: mul2_setup<C, W>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - AffinePoint
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1553
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1553
    functionName: Botan::VartimeMul2Table::VartimeMul2Table
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - mul2_setup<C, W>
    - to_affine_batch<C>
    linkageType: ''
    returnType: void
    signature: void VartimeMul2Table(const AffinePoint& p, const AffinePoint& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1574,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1590,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1591,1
    - Dst: auto::dbl_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1607
      start: 1564
    functionDepth: 3
    functionLinenumber: 1564
    functionLinenumberEnd: 1607
    functionName: Botan::VartimeMul2Table::mul2_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - auto::dbl_n
    - Botan::PCurve::GenericProjectivePoint::identity
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul2_vartime(const Scalar& s1, const Scalar& s2) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::invert_field_element
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1619
    functionDepth: 2
    functionLinenumber: 1619
    functionLinenumberEnd: 1625
    functionName: Botan::SSWU_C2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::invert_field_element
    linkageType: ''
    returnType: auto
    signature: "auto & SSWU_C2()\n   requires C::ValidForSswuHash"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SSWU_C2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1638,1
    - Dst: negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1633
    functionDepth: 3
    functionLinenumber: 1633
    functionLinenumberEnd: 1640
    functionName: Botan::SSWU_C1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::SSWU_C2
    - negate
    linkageType: ''
    returnType: auto
    signature: "auto & SSWU_C1()\n   requires C::ValidForSswuHash"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1649,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1650,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1651,1
    - Dst: Botan::invert_field_element
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1652,1
    - Dst: Botan::SSWU_C1
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1653,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1653,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1654,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1654,1
    - Dst: Botan::SSWU_C2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1654,1
    - Dst: Botan::PCurve::GenericAffinePoint::x3_ax_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1655,1
    - Dst: Botan::PCurve::GenericAffinePoint::x3_ax_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1658,1
    - Dst: auto::sqrt
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1665,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1667,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1669,1
    - Dst: auto::is_even
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1669,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1669,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1669,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1671,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - typename C::FieldElement
    constantsTouched: []
    func_position:
      end: 1675
      start: 1648
    functionDepth: 4
    functionLinenumber: 1648
    functionLinenumberEnd: 1675
    functionName: Botan::map_to_curve_sswu
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::square
    - Botan::PCurve::GenericAffinePoint::x3_ax_b
    - is_even
    - auto::negate
    - Botan::Ed448Point::ct_conditional_assign
    - auto::is_even
    - Botan::CT::poison
    - auto::sqrt
    - Botan::EC_AffinePoint::EC_AffinePoint
    - auto::conditional_assign
    - cryptofuzz::crypto::impl::sha1_done
    - Botan::SSWU_C1
    - Botan::SSWU_C2
    - auto::is_zero
    - Botan::invert_field_element
    - Botan::CT::unpoison
    - auto::square
    linkageType: ''
    returnType: auto
    signature: auto map_to_curve_sswu(const typename C::FieldElement& u) -> typename
      C::AffinePoint
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_message
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1697,1
    - Dst: Botan::PCurve::GenericScalar::from_wide_bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1700,1
    - Dst: std::span<const uint8_t, L>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1700,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1700,1
    - Dst: Botan::PCurve::GenericScalar::from_wide_bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1701,1
    - Dst: std::span<const uint8_t, L>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1701,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1701,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1703,1
    - Dst: Botan::map_to_curve_sswu
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1703,1
    - Dst: Botan::map_to_curve_sswu
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1704,1
    - Dst: Botan::PCurve::GenericScalar::from_wide_bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1707,1
    - Dst: std::span<const uint8_t, L>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1707,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1707,1
    - Dst: Botan::map_to_curve_sswu
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' expand_message'
    argTypes:
    - ExpandMsg
    constantsTouched: []
    func_position:
      end: 1710
      start: 1690
    functionDepth: 5
    functionLinenumber: 1690
    functionLinenumberEnd: 1710
    functionName: Botan::hash_to_curve_sswu
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - expand_message
    - std::array::data
    - std::span<const uint8_t, L>
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - Botan::map_to_curve_sswu
    - Botan::PCurve::GenericScalar::from_wide_bytes
    linkageType: ''
    returnType: auto
    signature: "auto hash_to_curve_sswu(const ExpandMsg& expand_message)\n   -> std::conditional_t<RO,
      typename C::ProjectivePoint, typename C::AffinePoint>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::shift_left
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:31,1
    - Dst: Botan::bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:36,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:36,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:36,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:36,1
    - Dst: std::swap
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:39,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:44,1
    - Dst: template first<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' x'
    - ' p'
    argTypes:
    - std::array<W, XN>
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 46
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 46
    functionName: Botan::reduce_mod
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_sub3
    - std::array::data
    - data
    - std::swap
    - Botan::shift_left
    - template first<N>
    - Botan::copy_mem
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> reduce_mod(const std::array<W, XN>& x, const std::array<W,
      N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::reduce_mod
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan::montygomery_r
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - Botan::reduce_mod
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> montygomery_r(const std::array<W, N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::comba_mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:60,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:60,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:60,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:60,1
    - Dst: Botan::reduce_mod
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' p'
    argTypes:
    - std::array<W, N>
    - std::array<W, N>
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: Botan::mul_mod
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - data
    - std::array::data
    - Botan::comba_mul
    - Botan::reduce_mod
    linkageType: ''
    returnType: std::array<W, N>
    signature: "std::array<W, N> mul_mod(const std::array<W, N>& x,\n                                          const
      std::array<W, N>& y,\n                                          const std::array<W,
      N>& p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:73,1
    - Dst: word3::monty_step_pdash1
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:75,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:79,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:82,1
    - Dst: word3::monty_step_pdash1
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:84,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:89,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:92,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:94,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:97,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:99,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:101,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:103,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:103,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:103,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ' z'
    - ' p'
    argTypes:
    - std::array<W, 2 * N>
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 106
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 106
    functionName: Botan::monty_redc_pdash1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - word3::extract
    - std::array::data
    - data
    - Botan::bigint_monty_maybe_sub
    - word3::mul
    - word3::add
    - word3::monty_step_pdash1
    linkageType: ''
    returnType: auto
    signature: auto monty_redc_pdash1(const std::array<W, 2 * N>& z, const std::array<W,
      N>& p) -> std::array<W, N>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:116,1
    - Dst: Botan::bigint_monty_redc_4
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:119,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:119,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:119,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:119,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:119,1
    - Dst: Botan::bigint_monty_redc_6
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:122,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:122,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:122,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:122,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:122,1
    - Dst: Botan::bigint_monty_redc_8
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:125,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:125,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:125,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:125,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:125,1
    - Dst: Botan::bigint_monty_redc_12
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:128,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:128,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:128,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:128,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:128,1
    - Dst: Botan::bigint_monty_redc_16
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:131,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:131,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:131,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:131,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:131,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:138,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:140,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:144,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:147,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:149,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:154,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:157,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:159,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:162,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:164,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:166,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:168,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:168,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:168,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - ' z'
    - ' p'
    - p_dash
    argTypes:
    - std::array<W, 2 * N>
    - std::array<W, N>
    - W
    constantsTouched: []
    func_position:
      end: 171
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 171
    functionName: Botan::monty_redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - word3::monty_step
    - word3::extract
    - std::array::data
    - std::is_constant_evaluated
    - data
    - Botan::bigint_monty_redc_6
    - Botan::bigint_monty_redc_16
    - word3::add
    - word3::mul
    - Botan::bigint_monty_maybe_sub
    - Botan::bigint_monty_redc_12
    - Botan::bigint_monty_redc_4
    - Botan::bigint_monty_redc_8
    linkageType: ''
    returnType: auto
    signature: "auto monty_redc(const std::array<W, 2 * N>& z, const std::array<W,
      N>& p, W p_dash)\n   -> std::array<W, N>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:179,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:179,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:179,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:180,1
    - Dst: std::array::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:180,1
    - Dst: std::array::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: Botan::p_minus
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - std::reverse
    - Botan::bigint_sub3
    - std::array::data
    - data
    - std::array::end
    - std::array::begin
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p_minus(const std::array<W, N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_add3_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:188,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:188,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:188,1
    - Dst: Botan::shift_right
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:189,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:190,1
    - Dst: std::array::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:190,1
    - Dst: std::array::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: Botan::p_plus_1_over_4
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - std::reverse
    - std::array::data
    - data
    - std::array::end
    - Botan::bigint_add3_nc
    - Botan::shift_right
    - std::array::begin
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p_plus_1_over_4(const std::array<W, N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:198,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:198,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:198,1
    - Dst: Botan::shift_right
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:199,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:200,1
    - Dst: std::array::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:200,1
    - Dst: std::array::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: Botan::p_minus_1_over_2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - std::reverse
    - Botan::bigint_sub3
    - std::array::data
    - data
    - std::array::end
    - Botan::shift_right
    - std::array::begin
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p_minus_1_over_2(const std::array<W, N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::shift_right
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:208,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:209,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: Botan::p_div_2_plus_1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_add2_nc
    - std::array::data
    - Botan::shift_right
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p_div_2_plus_1(const std::array<W, N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::shift_right
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:219,1
    - Dst: Botan::shift_right
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:227,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:231,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:231,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: Botan::shanks_tonelli_c1c2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::reverse
    - Botan::shift_right
    - auto::end
    linkageType: ''
    returnType: std::pair<size_t, std::array<W, N>>
    signature: std::pair<size_t, std::array<W, N>> shanks_tonelli_c1c2(const std::array<W,
      N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:238,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:238,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:238,1
    - Dst: Botan::shift_right
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:239,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:240,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:240,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' c2'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: Botan::shanks_tonelli_c3
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - auto::begin
    - std::reverse
    - Botan::shift_right
    - auto::end
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> shanks_tonelli_c3(const std::array<W, N>& c2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:246,1
    - Dst: Botan::IntMod::constant
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:250,1
    - Dst: auto::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:253,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:255,1
    - Dst: auto::is_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:255,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' p_minus_1_over_2'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 263
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 263
    functionName: Botan::shanks_tonelli_c4
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - auto::is_one
    - cryptofuzz::crypto::impl::sha1_done
    - Botan::IntMod::constant
    - auto::is_zero
    - auto::pow_vartime
    - auto::as_bool
    linkageType: ''
    returnType: auto
    signature: auto shanks_tonelli_c4(const std::array<W, N>& p_minus_1_over_2) ->
      Z
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:270,1
    - Dst: Botan::get_bit
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 280
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 280
    functionName: Botan::count_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - Botan::get_bit
    - static_cast<uint8_t>
    linkageType: ''
    returnType: size_t
    signature: size_t count_bits(const std::array<W, N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:294,1
    - Dst: std::span<const uint8_t, L>::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:294,1
    - Dst: Botan::shift_left
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t, L>
    constantsTouched: []
    func_position:
      end: 308
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 308
    functionName: Botan::bytes_to_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - Botan::shift_left
    - Botan::load_be
    - std::span<const uint8_t, L>::data
    linkageType: ''
    returnType: auto
    signature: auto bytes_to_words(std::span<const uint8_t, L> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - xw
    - i
    argTypes:
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: Botan::get_uint32
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_uint32(const W xw[], size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::SolinasAccum::SolinasAccum
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SolinasAccum(std::array<W, N>& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h:53,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: Botan::SolinasAccum::accum
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void accum(int64_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h:70,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - C
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Botan::SolinasAccum::final_carry
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h
    functionUses: 0
    functionsReached:
    - static_cast<W>
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: W
    signature: W final_carry(int64_t C)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::PCurve::PrimeOrderCurveImpl::order_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t order_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t scalar_bytes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::PCurve::PrimeOrderCurveImpl::field_element_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t field_element_bytes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:39,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:39,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul_by_g
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - Botan::PCurve::PrimeOrderCurveImpl::mul
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul_by_g(const Scalar& scalar, RandomNumberGenerator&
      rng) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WindowedBoothMulTable<C, VarPointWindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:43,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:43,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:44,1
    - Dst: auto::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:44,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt'
    - ' scalar'
    - ' rng'
    argTypes:
    - AffinePoint
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 1
    functionsReached:
    - WindowedBoothMulTable<C, VarPointWindowBits>
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - auto::mul
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul(const AffinePoint& pt, const Scalar& scalar, RandomNumberGenerator&
      rng) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WindowedBoothMulTable<C, VarPointWindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:50,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:50,1
    - Dst: to_affine_x<C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:51,1
    - Dst: auto::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:51,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:51,1
    - Dst: auto::serialize_to
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' pt'
    - ' scalar'
    - ' rng'
    argTypes:
    - AffinePoint
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul_x_only
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - WindowedBoothMulTable<C, VarPointWindowBits>
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - auto::serialize_to
    - to_affine_x<C>
    - auto::mul
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> mul_x_only(const AffinePoint& pt,\n                                        const
      Scalar& scalar,\n                                        RandomNumberGenerator&
      rng) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& table() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & table() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - typename C::AffinePoint
    - typename C::AffinePoint
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: Botan::PCurve::PrimeOrderCurveImpl::PrecomputedMul2TableC::PrecomputedMul2TableC
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrecomputedMul2TableC(const typename C::AffinePoint& x, const
      typename C::AffinePoint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PrecomputedMul2TableC>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:69,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' q'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul2_setup_g
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - std::make_unique<PrecomputedMul2TableC>
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: std::unique_ptr<const PrecomputedMul2Table>
    signature: std::unique_ptr<const PrecomputedMul2Table> mul2_setup_g(const AffinePoint&
      q) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const PrecomputedMul2TableC&>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:76,1
    - Dst: table
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:77,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:77,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:77,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:78,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:81,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' tableb'
    - ' x'
    - ' y'
    argTypes:
    - PrecomputedMul2Table
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul2_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - dynamic_cast<const PrecomputedMul2TableC&>
    - Invalid_Argument
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - auto::is_identity
    - table
    linkageType: ''
    returnType: std::optional<ProjectivePoint>
    signature: "std::optional<ProjectivePoint> mul2_vartime(const PrecomputedMul2Table&
      tableb,\n                                                  const Scalar& x,\n
      \                                                 const Scalar& y) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WindowedMul2Table::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:94,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:94,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:94,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:95,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' p'
    - ' x'
    - ' q'
    - ' y'
    - ' rng'
    argTypes:
    - AffinePoint
    - Scalar
    - AffinePoint
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul_px_qy
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - WindowedMul2Table::mul2
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - auto::is_identity
    linkageType: ''
    returnType: std::optional<ProjectivePoint>
    signature: "std::optional<ProjectivePoint> mul_px_qy(const AffinePoint& p,\n                                               const
      Scalar& x,\n                                               const AffinePoint&
      q,\n                                               const Scalar& y,\n                                               RandomNumberGenerator&
      rng) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const PrecomputedMul2TableC&>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:107,1
    - Dst: table
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:108,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:108,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:108,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:110,1
    - Dst: auto::z
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:127,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:130,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:132,1
    - Dst: auto::x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:133,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:133,1
    - Dst: Botan::PCurve::GenericField::from_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:163,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:164,1
    - Dst: auto::to_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:166,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:167,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:167,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:167,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:167,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:167,1
    - Dst: auto::x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:168,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:168,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - ' tableb'
    - ' v'
    - ' x'
    - ' y'
    argTypes:
    - PrecomputedMul2Table
    - Scalar
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 177
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 177
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul2_vartime_x_mod_order_eq
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - auto::negate
    - Botan::PCurve::GenericField::from_words
    - dynamic_cast<const PrecomputedMul2TableC&>
    - Botan_CLI::FEC_Share::deserialize
    - auto::z
    - bigint_ct_is_lt
    - auto::size
    - auto::data
    - auto::to_words
    - Invalid_Argument
    - auto::is_identity
    - auto::x
    - table
    - as_bool
    linkageType: ''
    returnType: bool
    signature: "bool mul2_vartime_x_mod_order_eq(const PrecomputedMul2Table& tableb,\n
      \                                      const Scalar& v,\n                                       const
      Scalar& x,\n                                       const Scalar& y) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:180,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:180,1
    - Dst: to_affine_x<C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:182,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:184,1
    - Dst: Botan::PCurve::GenericScalar::from_wide_bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: Botan::PCurve::PrimeOrderCurveImpl::base_point_mul_x_mod_order
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::mul
    - to_affine_x<C>
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - Botan::PCurve::GenericScalar::from_wide_bytes
    linkageType: ''
    returnType: Scalar
    signature: Scalar base_point_mul_x_mod_order(const Scalar& scalar, RandomNumberGenerator&
      rng) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: Botan::PCurve::PrimeOrderCurveImpl::generator
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint generator() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_affine<C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:190,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:190,1
    - Dst: auto::y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:192,1
    - Dst: Botan::PCurve::GenericAffinePoint::x3_ax_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:193,1
    - Dst: auto::x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:193,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:194,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:196,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:196,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: Botan::PCurve::PrimeOrderCurveImpl::point_to_affine
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - to_affine<C>
    - Botan::PCurve::GenericAffinePoint::x3_ax_b
    - auto::y
    - BOTAN_ASSERT
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - auto::is_identity
    - auto::x
    - auto::as_bool
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint point_to_affine(const ProjectivePoint& pt) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:202,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:202,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:202,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - AffinePoint
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: Botan::PCurve::PrimeOrderCurveImpl::point_add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint point_add(const AffinePoint& a, const AffinePoint&
      b) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:205,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: Botan::PCurve::PrimeOrderCurveImpl::point_negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint point_negate(const AffinePoint& pt) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: Botan::PCurve::PrimeOrderCurveImpl::affine_point_is_identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: bool
    signature: bool affine_point_is_identity(const AffinePoint& pt) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:212,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:212,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:213,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - ' pt'
    argTypes:
    - std::span<uint8_t>
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: Botan::PCurve::PrimeOrderCurveImpl::serialize_point
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<uint8_t>::subspan
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - std::span<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void serialize_point(std::span<uint8_t> bytes, const AffinePoint& pt)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:217,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:217,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:218,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - ' scalar'
    argTypes:
    - std::span<uint8_t>
    - Scalar
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: Botan::PCurve::PrimeOrderCurveImpl::serialize_scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<uint8_t>::subspan
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - std::span<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void serialize_scalar(std::span<uint8_t> bytes, const Scalar& scalar)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:222,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:223,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: Botan::PCurve::PrimeOrderCurveImpl::deserialize_scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - auto::is_zero
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - Botan::EC_Scalar::deserialize
    linkageType: ''
    returnType: std::optional<Scalar>
    signature: std::optional<Scalar> deserialize_scalar(std::span<const uint8_t> bytes)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::from_wide_bytes_varlen
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:232,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_from_wide_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - Botan::IntMod::from_wide_bytes_varlen
    linkageType: ''
    returnType: std::optional<Scalar>
    signature: std::optional<Scalar> scalar_from_wide_bytes(std::span<const uint8_t>
      bytes) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:240,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: Botan::PCurve::PrimeOrderCurveImpl::deserialize_point
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - Botan::EC_AffinePoint::deserialize
    linkageType: ''
    returnType: std::optional<AffinePoint>
    signature: std::optional<AffinePoint> deserialize_point(std::span<const uint8_t>
      bytes) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:249,1
    - Dst: hash_to_curve_sswu<C, false>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:249,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - expand_message
    argTypes:
    - std::function<void(std::span<uint8_t>)>
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: Botan::PCurve::PrimeOrderCurveImpl::hash_to_curve_nu
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - hash_to_curve_sswu<C, false>
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint hash_to_curve_nu(std::function<void(std::span<uint8_t>)>
      expand_message) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:257,1
    - Dst: hash_to_curve_sswu<C, true>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:257,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - expand_message
    argTypes:
    - std::function<void(std::span<uint8_t>)>
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: Botan::PCurve::PrimeOrderCurveImpl::hash_to_curve_ro
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    - hash_to_curve_sswu<C, true>
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint hash_to_curve_ro(std::function<void(std::span<uint8_t>)>
      expand_message) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:264,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:264,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_add(const Scalar& a, const Scalar& b) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:268,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:268,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_sub
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_sub(const Scalar& a, const Scalar& b) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:272,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:272,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_mul(const Scalar& a, const Scalar& b) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:275,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_square
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_square(const Scalar& s) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:278,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:280,1
    - Dst: Botan::PCurve::secp256r1::Curve::scalar_invert
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:280,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:282,1
    - Dst: auto::invert
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ss'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::secp256r1::Curve::scalar_invert
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - auto::invert
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert(const Scalar& ss) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:287,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:288,1
    - Dst: auto::invert_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ss'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_invert_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - auto::invert_vartime
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert_vartime(const Scalar& ss) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:291,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_negate(const Scalar& s) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_is_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: bool
    signature: bool scalar_is_zero(const Scalar& s) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:296,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:296,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_equal
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - as_bool
    linkageType: ''
    returnType: bool
    signature: bool scalar_equal(const Scalar& a, const Scalar& b) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:299,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::one
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_one() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:301,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: Botan::PCurve::PrimeOrderCurveImpl::random_scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::random
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar random_scalar(RandomNumberGenerator& rng) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: Botan::PCurve::PrimeOrderCurveImpl::PrimeOrderCurveImpl
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrimeOrderCurveImpl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const PrimeOrderCurveImpl<C>>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: Botan::PCurve::PrimeOrderCurveImpl::instance
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 19
    functionsReached:
    - std::make_shared<const PrimeOrderCurveImpl<C>>
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::Scalar::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:312,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:312,1
    - Dst: template stash_value<StorageWords>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - typename C::Scalar
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: Botan::PCurve::PrimeOrderCurveImpl::stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 23
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - Botan::PCurve::PrimeOrderCurve::Scalar::_create
    - template stash_value<StorageWords>
    linkageType: ''
    returnType: Scalar
    signature: Scalar stash(const typename C::Scalar& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:316,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:316,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:317,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:319,1
    - Dst: _value
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: Botan::PCurve::PrimeOrderCurveImpl::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 23
    functionsReached:
    - _curve
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Invalid_Argument
    - _value
    linkageType: ''
    returnType: typename C::Scalar
    signature: typename C::Scalar from_stash(const Scalar& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:323,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:324,1
    - Dst: Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:325,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - typename C::AffinePoint
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: Botan::PCurve::PrimeOrderCurveImpl::stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 23
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - y
    - x
    - Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint stash(const typename C::AffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:329,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:329,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:330,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:332,1
    - Dst: _x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:332,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:333,1
    - Dst: _y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:333,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: Botan::PCurve::PrimeOrderCurveImpl::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 23
    functionsReached:
    - _curve
    - _y
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::EC_AffinePoint::EC_AffinePoint
    - Invalid_Argument
    - _x
    linkageType: ''
    returnType: typename C::AffinePoint
    signature: typename C::AffinePoint from_stash(const AffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:338,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:339,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:340,1
    - Dst: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:341,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - typename C::ProjectivePoint
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: Botan::PCurve::PrimeOrderCurveImpl::stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 23
    functionsReached:
    - y
    - Botan::PCurve::PrimeOrderCurve::ProjectivePoint::_create
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - z
    - x
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint stash(const typename C::ProjectivePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:345,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:345,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:346,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:348,1
    - Dst: _x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:348,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:349,1
    - Dst: _y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:349,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:350,1
    - Dst: _z
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:350,1
    - Dst: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: Botan::PCurve::PrimeOrderCurveImpl::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 23
    functionsReached:
    - _curve
    - _y
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
    - Invalid_Argument
    - _x
    - _z
    linkageType: ''
    returnType: typename C::ProjectivePoint
    signature: typename C::ProjectivePoint from_stash(const ProjectivePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:19,1
    - Dst: std::max
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:19,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:21,1
    - Dst: bigint_add2
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:22,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:22,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:22,1
    - Dst: bigint_sub2
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:28,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:28,1
    - Dst: bigint_sub2_rev
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:31,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:31,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:36,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - y
    - y_words
    - y_sign
    argTypes:
    - word[]
    - size_t
    - Sign
    constantsTouched: []
    func_position:
      end: 43
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 43
    functionName: '& BigInt::add(const word y[], size_t y_words, Sign y_sign)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - sign
    - bigint_sub2
    - bigint_add2
    - grow_to
    - bigint_sub2_rev
    - set_sign
    - std::max
    - size
    - mutable_data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::add(const word y[], size_t y_words, Sign y_sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& BigInt::is_negative'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:46,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:46,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:46,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:47,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:50,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:51,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:64,1
    - Dst: '& BigInt::grow_to'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:66,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:67,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:70,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:71,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:74,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:74,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:74,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:75,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:76,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:79,1
    - Dst: '& BigInt::_data'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:79,1
    - Dst: bigint_add3_nc
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:82,1
    - Dst: '& BigInt::_data'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:82,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:82,1
    - Dst: Botan::CT::conditional_copy_mem
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:84,1
    - Dst: set_words
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' s'
    - ' mod'
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 88
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 88
    functionName: '& BigInt::mod_add(const BigInt& s, const BigInt& mod, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - is_negative
    - bigint_add3_nc
    - set_words
    - '& BigInt::_data'
    - '& BigInt::is_negative'
    - Botan::CT::conditional_copy_mem
    - '& BigInt::grow_to'
    - BOTAN_DEBUG_ASSERT
    - grow_to
    - _data
    - Invalid_Argument
    - size
    - bigint_sub3
    - BOTAN_ARG_CHECK
    - resize
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::mod_add(const BigInt& s, const BigInt& mod, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& BigInt::is_negative'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:91,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:91,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:91,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:92,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:96,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:97,1
    - Dst: '& BigInt::grow_to'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:101,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:102,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:104,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:105,1
    - Dst: bigint_mod_sub
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:108,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:108,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:108,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:108,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ' s'
    - ' mod'
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: '& BigInt::mod_sub(const BigInt& s, const BigInt& mod, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - is_negative
    - bigint_mod_sub
    - '& BigInt::is_negative'
    - data
    - '& BigInt::grow_to'
    - BOTAN_DEBUG_ASSERT
    - grow_to
    - _data
    - Invalid_Argument
    - size
    - resize
    - mutable_data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::mod_sub(const BigInt& s, const BigInt& mod, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:114,1
    - Dst: '& BigInt::is_negative'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:114,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:115,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:117,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:119,1
    - Dst: '& BigInt::reduce_below'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - y
    - ' mod'
    - ' ws'
    argTypes:
    - uint8_t
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: '& BigInt::mod_mul(uint8_t y, const BigInt& mod, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - '& BigInt::reduce_below'
    - '& BigInt::is_negative'
    - BOTAN_DEBUG_ASSERT
    - static_cast<word>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::mod_mul(uint8_t y, const BigInt& mod, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& BigInt::sign'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:125,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:126,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:131,1
    - Dst: std::max
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:131,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:132,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:132,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:132,1
    - Dst: '& BigInt::cond_flip_sign'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:136,1
    - Dst: '& BigInt::swap_reg'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - y
    - y_sw
    - ' ws'
    argTypes:
    - word[]
    - size_t
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: '& BigInt::rev_sub(const word y[], size_t y_sw, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - '& BigInt::swap_reg'
    - '& BigInt::sign'
    - data
    - Invalid_State
    - std::max
    - size
    - '& BigInt::cond_flip_sign'
    - resize
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::rev_sub(const word y[], size_t y_sw, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& BigInt::mul'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' y'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '& BigInt::operator*=(const BigInt& y)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - '& BigInt::mul'
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::operator*=(const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:153,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:153,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:153,1
    - Dst: clear
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:156,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:157,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:159,1
    - Dst: bigint_linmul3
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:160,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:160,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:160,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:160,1
    - Dst: bigint_linmul2
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:162,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:162,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:162,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:163,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:166,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:167,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: '& BigInt::swap_reg'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' y'
    - ' ws'
    argTypes:
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: '& BigInt::mul(const BigInt& y, secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - sign
    - clear
    - '& BigInt::swap_reg'
    - secure_vector::data
    - bigint_linmul3
    - data
    - grow_to
    - _data
    - set_sign
    - word_at
    - bigint_linmul2
    - set_word_at
    - size
    - secure_vector::size
    - bigint_mul
    - resize
    - mutable_data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::mul(const BigInt& y, secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:183,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:183,1
    - Dst: bigint_sqr
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: swap_reg
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:187,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: '& BigInt::square(secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - data
    - _data
    - set_sign
    - swap_reg
    - size
    - secure_vector::size
    - resize
    - bigint_sqr
    - secure_vector::data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::square(secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:195,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:196,1
    - Dst: bigint_linmul2
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:199,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:199,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:199,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:200,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - y
    argTypes:
    - word
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: '& BigInt::operator*=(word y)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - clear
    - set_sign
    - bigint_linmul2
    - set_word_at
    - size
    - mutable_data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::operator*=(word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:209,1
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:209,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:209,1
    - Dst: bits
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' y'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: '& BigInt::operator/=(const BigInt& y)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - word_at
    - bits
    - is_power_of_2
    - sig_words
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::operator/=(const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mod'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: '& BigInt::operator%=(const BigInt& mod)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::operator%=(const BigInt& mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:229,1
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:234,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:235,1
    - Dst: bigint_modop_vartime
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:239,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:239,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:243,1
    - Dst: set_to_zero
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:247,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:248,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - mod
    argTypes:
    - word
    constantsTouched: []
    func_position:
      end: 251
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 251
    functionName: BigInt::operator%=(word mod)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - sign
    - bigint_modop_vartime
    - is_power_of_2
    - word_at
    - set_word_at
    - set_to_zero
    - Invalid_Argument
    - set_sign
    linkageType: ''
    returnType: word
    signature: word BigInt::operator%=(word mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:260,1
    - Dst: bigint_shl1
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:262,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: '& BigInt::operator<<=(size_t shift)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - bigint_shl1
    - grow_to
    - mutable_data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::operator<<=(size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bigint_shr1
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:271,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:271,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:271,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:273,1
    - Dst: is_zero
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:273,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: '& BigInt::operator>>=(size_t shift)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - is_negative
    - bigint_shr1
    - is_zero
    - set_sign
    - size
    - mutable_data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::operator>>=(size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:20,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:20,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:22,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:22,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:23,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: Botan::BigInt::BigInt
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 10
    functionsReached:
    - set_word_at
    - static_cast<word>
    linkageType: ''
    returnType: void
    signature: void BigInt::BigInt(uint64_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::BigInt::from_u64
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 6
    functionsReached:
    - Botan::BigInt::BigInt
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::from_u64(uint64_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - word
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Botan::BigInt::from_word
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 12
    functionsReached:
    - BigInt::set_word_at
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::from_word(word n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:42,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:42,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:44,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: Botan::BigInt::from_s32
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint64_t>
    - Botan::BigInt::from_u64
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::from_s32(int32_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan::BigInt::with_capacity
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 5
    functionsReached:
    - BigInt::grow_to
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::with_capacity(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:63,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:68,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:73,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:73,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:73,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:73,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:76,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: Botan::BigInt::BigInt
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 11
    functionsReached:
    - std::string_view::data
    - std::string_view::empty
    - Botan::BigInt::decode
    - set_sign
    - std::string_view::length
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void BigInt::BigInt(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Botan::BigInt::from_string
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::BigInt
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: Botan::BigInt::from_bytes
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 24
    functionsReached:
    - BigInt::assign_from_bytes
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::from_bytes(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - length
    - base
    argTypes:
    - uint8_t[]
    - size_t
    - Base
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Botan::BigInt::BigInt
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 12
    functionsReached:
    - Botan::BigInt::decode
    linkageType: ''
    returnType: void
    signature: void BigInt::BigInt(const uint8_t input[], size_t length, Base base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - input
    - length
    - max_bits
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: Botan::BigInt::from_bytes_with_max_bits
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 2
    functionsReached:
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::from_bytes_with_max_bits(const uint8_t input[], size_t
      length, size_t max_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::randomize
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rng'
    - bits
    - set_high_bit
    argTypes:
    - RandomNumberGenerator
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan::BigInt::BigInt
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 12
    functionsReached:
    - Botan::BigInt::randomize
    linkageType: ''
    returnType: void
    signature: void BigInt::BigInt(RandomNumberGenerator& rng, size_t bits, bool set_high_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte_var
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:122,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: Botan::BigInt::byte_at
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 2
    functionsReached:
    - word_at
    - get_byte_var
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BigInt::byte_at(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:126,1
    - Dst: bigint_cmp
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:135,1
    - Dst: Botan::BigInt::_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - word
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: Botan::BigInt::cmp_word
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - is_negative
    - Botan::BigInt::_data
    - bigint_cmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t BigInt::cmp_word(word other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_positive
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:143,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:143,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:147,1
    - Dst: Botan::BigInt::is_positive
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:147,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:151,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:151,1
    - Dst: bigint_cmp
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:152,1
    - Dst: Botan::BigInt::_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:152,1
    - Dst: Botan::BigInt::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:152,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:152,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:152,1
    - Dst: bigint_cmp
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:156,1
    - Dst: Botan::BigInt::_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:156,1
    - Dst: Botan::BigInt::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:156,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:156,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ' other'
    - check_signs
    argTypes:
    - BigInt
    - bool
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: Botan::BigInt::cmp
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 1
    functionsReached:
    - is_positive
    - is_negative
    - Botan::BigInt::_data
    - bigint_cmp
    - _data
    - Botan::BigInt::size
    - Botan::BigInt::is_positive
    - size
    - Botan::BigInt::is_negative
    linkageType: ''
    returnType: int32_t
    signature: int32_t BigInt::cmp(const BigInt& other, bool check_signs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:160,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:160,1
    - Dst: bigint_ct_is_eq
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:164,1
    - Dst: Botan::BigInt::_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:164,1
    - Dst: Botan::BigInt::sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:164,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:164,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: Botan::BigInt::is_equal
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 29
    functionsReached:
    - sign
    - Botan::BigInt::_data
    - Botan::BigInt::sig_words
    - _data
    - sig_words
    - bigint_ct_is_eq
    - Botan::BigInt::sign
    linkageType: ''
    returnType: bool
    signature: bool BigInt::is_equal(const BigInt& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:168,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:168,1
    - Dst: Botan::BigInt::is_positive
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:172,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:172,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:176,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:176,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:177,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:177,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:177,1
    - Dst: Botan::BigInt::_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:177,1
    - Dst: Botan::BigInt::sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:177,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:180,1
    - Dst: Botan::BigInt::_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:180,1
    - Dst: Botan::BigInt::sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:180,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:180,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: Botan::BigInt::is_less_than
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - is_positive
    - is_negative
    - Botan::BigInt::_data
    - Botan::BigInt::sig_words
    - bigint_ct_is_lt
    - _data
    - sig_words
    - Botan::BigInt::is_positive
    - Botan::BigInt::is_negative
    linkageType: ''
    returnType: bool
    signature: bool BigInt::is_less_than(const BigInt& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:187,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:190,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:191,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - out
    - size
    argTypes:
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: Botan::BigInt::encode_words
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - copy_mem
    - Encoding_Error
    - _data
    linkageType: ''
    returnType: void
    signature: void BigInt::encode_words(word out[], size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:195,1
    - Dst: capacity
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:195,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:196,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:196,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: BigInt::Data::set_to_zero()
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - data
    - capacity
    - size
    - resize
    linkageType: ''
    returnType: void
    signature: void BigInt::Data::set_to_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_to_zero
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:202,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:207,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:208,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:211,1
    - Dst: invalidate_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: BigInt::Data::mask_bits(size_t n)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - invalidate_sig_words
    - static_cast<word>
    - set_to_zero
    - size
    linkageType: ''
    returnType: void
    signature: void BigInt::Data::mask_bits(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ct_is_zero
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:226,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 237
    functionName: BigInt::Data::calc_sig_words() const
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - ct_is_zero
    - Botan::CT::unpoison
    linkageType: ''
    returnType: size_t
    signature: size_t BigInt::Data::calc_sig_words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:244,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:257,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:260,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:262,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - offset
    - length
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 265
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 265
    functionName: Botan::BigInt::get_substring
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - word_at
    - Invalid_Argument
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t BigInt::get_substring(size_t offset, size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:271,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:272,1
    - Dst: Botan::BigInt::bits
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:274,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:275,1
    - Dst: Botan::BigInt::byte_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: Botan::BigInt::to_u32bit
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - is_negative
    - Botan::BigInt::bits
    - Encoding_Error
    - Botan::BigInt::byte_at
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t BigInt::to_u32bit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:291,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:292,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:293,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: Botan::BigInt::clear_bit
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 1
    functionsReached:
    - set_word_at
    - word_at
    - size
    - static_cast<word>
    linkageType: ''
    returnType: void
    signature: void BigInt::clear_bit(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:298,1
    - Dst: Botan::BigInt::bits
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: Botan::BigInt::bytes
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 2
    functionsReached:
    - Botan::BigInt::bits
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t BigInt::bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:304,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: Botan::BigInt::top_bits_free
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - word_at
    - Botan::CT::unpoison
    linkageType: ''
    returnType: size_t
    signature: size_t BigInt::top_bits_free() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: Botan::BigInt::bits
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t BigInt::bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::flip_sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: BigInt::operator-() const
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - BigInt::flip_sign
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::operator-() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:333,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:333,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:334,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:339,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:340,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:343,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:344,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:347,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:347,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:347,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:352,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:352,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:352,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:352,1
    - Dst: swap_reg
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ' p'
    - ' ws'
    argTypes:
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 362
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 362
    functionName: Botan::BigInt::reduce_below
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - is_negative
    - data
    - grow_to
    - _data
    - Invalid_Argument
    - swap_reg
    - size
    - bigint_sub3
    - Botan::BigInt::is_negative
    - resize
    linkageType: ''
    returnType: size_t
    signature: size_t BigInt::reduce_below(const BigInt& p, secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:365,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:365,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:366,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:371,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:375,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:377,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:377,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:380,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:380,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:380,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:380,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:382,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:382,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:382,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' mod'
    - ' ws'
    - bound
    argTypes:
    - BigInt
    - secure_vector<word>
    - size_t
    constantsTouched: []
    func_position:
      end: 384
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 384
    functionName: Botan::BigInt::ct_reduce_below
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - is_negative
    - data
    - grow_to
    - _data
    - cryptofuzz_secp256k1_scalar_is_zero
    - Invalid_Argument
    - bigint_sub3
    - Botan::BigInt::is_negative
    - resize
    - mutable_data
    linkageType: ''
    returnType: void
    signature: void BigInt::ct_reduce_below(const BigInt& mod, secure_vector<word>&
      ws, size_t bound)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: Botan::BigInt::abs
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - BigInt::set_sign
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::abs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:399,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:399,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:399,1
    - Dst: Botan::BigInt::binary_encode
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:401,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:401,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: Botan::BigInt::serialize_to
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::bytes
    - std::span<uint8_t>::size
    - Botan::BigInt::binary_encode
    - std::span<uint8_t>::data
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void BigInt::serialize_to(std::span<uint8_t> output) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:412,1
    - Dst: store_be
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:413,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:417,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - output
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 423
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 423
    functionName: Botan::BigInt::binary_encode
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 3
    functionsReached:
    - store_be
    - word_at
    - get_byte_var
    linkageType: ''
    returnType: void
    signature: void BigInt::binary_encode(uint8_t output[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:429,1
    - Dst: round_up
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:435,1
    - Dst: load_be<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:438,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:438,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:439,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:439,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:442,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:443,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:443,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:445,1
    - Dst: last
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:445,1
    - Dst: load_be<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:446,1
    - Dst: swap
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 450
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 450
    functionName: Botan::BigInt::assign_from_bytes
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::last
    - clear
    - std::span<const uint8_t>::first
    - swap
    - load_be<word>
    - copy_mem
    - std::span<const uint8_t>::size
    - BOTAN_ASSERT_NOMSG
    - last
    - round_up
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void BigInt::assign_from_bytes(std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:453,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:453,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:454,1
    - Dst: Botan::BigInt::grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:456,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:456,1
    - Dst: bigint_cnd_add
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:458,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:458,1
    - Dst: Botan::BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:458,1
    - Dst: Botan::BigInt::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:458,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:458,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - predicate
    - ' value'
    argTypes:
    - bool
    - BigInt
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: Botan::BigInt::ct_cond_add
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - is_negative
    - Botan::BigInt::grow_to
    - static_cast<word>
    - sig_words
    - Botan::BigInt::size
    - _data
    - Invalid_Argument
    - bigint_cnd_add
    - Botan::BigInt::is_negative
    - Botan::BigInt::mutable_data
    linkageType: ''
    returnType: void
    signature: void BigInt::ct_cond_add(bool predicate, const BigInt& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:463,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:463,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:463,1
    - Dst: bigint_shl2
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:464,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:464,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:464,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:464,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:466,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:466,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:466,1
    - Dst: bigint_shl2
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:471,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:471,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:471,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:471,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:473,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:473,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:476,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:476,1
    - Dst: BigInt::resize
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:486,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:486,1
    - Dst: shl_bit
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:488,1
    - Dst: Botan::BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:489,1
    - Dst: shl_word
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:490,1
    - Dst: Botan::BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 493
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 493
    functionName: Botan::BigInt::ct_shift_left
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - BigInt::resize
    - shl_bit
    - shl_word
    - BOTAN_DEBUG_ASSERT
    - bigint_shl2
    - _data
    - size
    - Botan::BigInt::ct_cond_assign
    - mutable_data
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void BigInt::ct_shift_left(size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:497,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:498,1
    - Dst: bigint_cnd_swap
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:500,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:500,1
    - Dst: Botan::BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:500,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - predicate
    - ' other'
    argTypes:
    - bool
    - BigInt
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: Botan::BigInt::ct_cond_swap
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - grow_to
    - static_cast<word>
    - Botan::BigInt::mutable_data
    - bigint_cnd_swap
    - mutable_data
    linkageType: ''
    returnType: void
    signature: void BigInt::ct_cond_swap(bool predicate, BigInt& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:506,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:512,1
    - Dst: static_cast<Sign>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - predicate
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: Botan::BigInt::cond_flip_sign
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - set_sign
    - Botan::sha512_msg_expand
    - static_cast<Sign>
    linkageType: ''
    returnType: void
    signature: void BigInt::cond_flip_sign(bool predicate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:520,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:525,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:528,1
    - Dst: Botan::BigInt::word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:529,1
    - Dst: Botan::BigInt::set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:530,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:530,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:533,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:533,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:533,1
    - Dst: Botan::BigInt::cond_flip_sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:534,1
    - Dst: auto::as_choice
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:534,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - predicate
    - ' other'
    argTypes:
    - bool
    - BigInt
    constantsTouched: []
    func_position:
      end: 535
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 535
    functionName: Botan::BigInt::ct_cond_assign
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::is_equal
    - sign
    - Botan::BigInt::set_word_at
    - Botan::sha512_msg_expand
    - grow_to
    - word_at
    - auto::as_choice
    - auto::select
    - Botan::BigInt::cond_flip_sign
    - as_bool
    - Botan::BigInt::word_at
    linkageType: ''
    returnType: void
    signature: void BigInt::ct_cond_assign(bool predicate, const BigInt& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:538,1
    - Dst: const_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:538,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 539
    functionName: Botan::BigInt::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    - size
    - const_data
    linkageType: ''
    returnType: void
    signature: void BigInt::_const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:542,1
    - Dst: const_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:542,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: Botan::BigInt::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - size
    - const_data
    linkageType: ''
    returnType: void
    signature: void BigInt::_const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: Botan::decimal_conversion_radix
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: word
    signature: word decimal_conversion_radix()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: Botan::decimal_conversion_radix_digits
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t decimal_conversion_radix_digits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decimal_conversion_radix
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:38,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:49,1
    - Dst: ct_divide_word
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:56,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:60,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:71,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:76,1
    - Dst: std::vector::back
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:76,1
    - Dst: std::vector::pop_back
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:77,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:80,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:80,1
    - Dst: std::string::reserve
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:84,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:84,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:86,1
    - Dst: std::vector::rbegin
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:91,1
    - Dst: std::vector::rend
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:91,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:92,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 100
    functionName: Botan::BigInt::to_dec_string
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 1
    functionsReached:
    - std::vector::empty
    - std::vector::size
    - BigInt::set_sign
    - ct_divide_word
    - is_negative
    - decimal_conversion_radix
    - static_cast<uint8_t>
    - std::string::reserve
    - std::vector::rbegin
    - std::vector::pop_back
    - BigInt::is_zero
    - std::vector::back
    - std::vector::rend
    - std::string::empty
    - std::string::push_back
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::string
    signature: std::string BigInt::to_dec_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:104,1
    - Dst: Botan::BigInt::serialize_to
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:107,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:111,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: Botan::BigInt::to_hex_string
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 5
    functionsReached:
    - is_negative
    - Botan::BigInt::serialize_to
    - std::max<size_t>
    - hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string BigInt::to_hex_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:123,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:123,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:124,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:126,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:126,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:127,1
    - Dst: Botan::BigInt::serialize_to
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:131,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:131,1
    - Dst: Botan::BigInt::serialize_to
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:132,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ' n1'
    - ' n2'
    - bytes
    argTypes:
    - BigInt
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: Botan::BigInt::encode_fixed_length_int_pair
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 6
    functionsReached:
    - Botan::BigInt::bytes
    - is_negative
    - Encoding_Error
    - Botan::BigInt::serialize_to
    - BufferStuffer::next
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> BigInt::encode_fixed_length_int_pair(const BigInt&
      n1, const BigInt& n2, size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:138,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:140,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:140,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - base
    argTypes:
    - std::span<const uint8_t>
    - Base
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: Botan::BigInt::decode
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 4
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - Botan::BigInt::decode
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::decode(std::span<const uint8_t> buf, Base base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:148,1
    - Dst: hex_decode_locked
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:157,1
    - Dst: hex_decode_locked
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:160,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:160,1
    - Dst: hex_decode_locked
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:163,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:163,1
    - Dst: BigInt::assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:166,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:175,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:179,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - length
    - base
    argTypes:
    - uint8_t[]
    - size_t
    - Base
    constantsTouched: []
    func_position:
      end: 188
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 188
    functionName: Botan::BigInt::decode
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 4
    functionsReached:
    - Invalid_Argument
    - hex_decode_locked
    - BigInt::assign_from_bytes
    - cast_uint8_ptr_to_char
    - Botan::BigInt::from_bytes
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::decode(const uint8_t buf[], size_t length, Base base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hexadecimal BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:32,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:33,1
    - Dst: BigInt
      Src: /src/botan/src/lib/math/bigint/bigint.h:49,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/lib/math/bigint/bigint.h:54,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:73,1
    - Dst: assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:117,1
    - Dst: assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:123,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:131,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:144,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:162,1
    - Dst: Botan::swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:167,1
    - Dst: Botan::_const_time_unpoison
      Src: /src/botan/src/lib/math/bigint/bigint.h:169,1
    - Dst: Botan::swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:176,1
    - Dst: swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:192,1
    - Dst: std::swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:193,1
    - Dst: swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:196,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:198,1
    - Dst: swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:199,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/math/bigint/bigint.h:207,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.h:207,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:207,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:207,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/math/bigint/bigint.h:213,1
    - Dst: sub
      Src: /src/botan/src/lib/math/bigint/bigint.h:219,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.h:219,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:219,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:219,1
    - Dst: sub
      Src: /src/botan/src/lib/math/bigint/bigint.h:225,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/math/bigint/bigint.h:307,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/math/bigint/bigint.h:317,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:325,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:331,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/bigint/bigint.h:331,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:339,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:349,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:359,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:370,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:380,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:392,1
    - Dst: set_to_zero
      Src: /src/botan/src/lib/math/bigint/bigint.h:400,1
    - Dst: Botan::get_bit
      Src: /src/botan/src/lib/math/bigint/bigint.h:439,1
    - Dst: Botan::get_bit
      Src: /src/botan/src/lib/math/bigint/bigint.h:445,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/bigint.h:451,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:457,1
    - Dst: conditionally_set_bit
      Src: /src/botan/src/lib/math/bigint/bigint.h:463,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.h:475,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.h:476,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.h:476,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:489,1
    - Dst: mask_bits
      Src: /src/botan/src/lib/math/bigint/bigint.h:489,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.h:496,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:505,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:512,1
    - Dst: get_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.h:547,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:549,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.h:549,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:551,1
    - Dst: set_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:552,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:559,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:565,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:577,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:586,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:586,1
    - Dst: reverse_sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:586,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/bigint.h:593,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/bigint.h:609,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:615,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:634,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:640,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.h:640,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:646,1
    - Dst: const_data
      Src: /src/botan/src/lib/math/bigint/bigint.h:646,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:651,1
    - Dst: mutable_vector
      Src: /src/botan/src/lib/math/bigint/bigint.h:652,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:658,1
    - Dst: const_vector
      Src: /src/botan/src/lib/math/bigint/bigint.h:659,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:666,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.h:666,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:668,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.h:668,1
    - Dst: Botan::serialize_to
      Src: /src/botan/src/lib/math/bigint/bigint.h:716,1
    - Dst: Botan::serialize
      Src: /src/botan/src/lib/math/bigint/bigint.h:725,1
    - Dst: Botan::bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:725,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:732,1
    - Dst: Botan::serialize_to
      Src: /src/botan/src/lib/math/bigint/bigint.h:733,1
    - Dst: Botan::bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:733,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:750,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:757,1
    - Dst: Botan::assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:758,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:765,1
    - Dst: Botan::assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:766,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:773,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:779,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:785,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:790,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:796,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:803,1
    - Dst: _const_time_poison
      Src: /src/botan/src/lib/math/bigint/bigint.h:803,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:805,1
    - Dst: Botan::_const_time_unpoison
      Src: /src/botan/src/lib/math/bigint/bigint.h:805,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/bigint/bigint.h:822,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:831,1
    - Dst: Botan::serialize
      Src: /src/botan/src/lib/math/bigint/bigint.h:832,1
    - Dst: bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:832,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:840,1
    - Dst: Botan::serialize
      Src: /src/botan/src/lib/math/bigint/bigint.h:841,1
    - Dst: bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:841,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:857,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:858,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:866,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:867,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:877,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:886,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:894,1
    - Dst: Botan::serialize
      Src: /src/botan/src/lib/math/bigint/bigint.h:896,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:899,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/math/bigint/bigint.h:900,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:903,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/math/bigint/bigint.h:905,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:915,1
    - Dst: const_span
      Src: /src/botan/src/lib/math/bigint/bigint.h:926,1
    - Dst: const_data
      Src: /src/botan/src/lib/math/bigint/bigint.h:936,1
    - Dst: assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:947,1
    - Dst: BigInt::m_data::swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:957,1
    - Dst: invalidate_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:987,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.h:988,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.h:991,1
    - Dst: invalidate_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:996,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/bigint.h:1003,1
    - Dst: invalidate_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:1010,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/bigint.h:1011,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.h:1015,1
    - Dst: invalidate_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:1021,1
    - Dst: assign
      Src: /src/botan/src/lib/math/bigint/bigint.h:1022,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/bigint.h:1030,1
    - Dst: capacity
      Src: /src/botan/src/lib/math/bigint/bigint.h:1031,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.h:1032,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.h:1034,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/bigint.h:1039,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.h:1043,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.h:1046,1
    - Dst: swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:1049,1
    - Dst: std::swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:1050,1
    - Dst: swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:1054,1
    - Dst: invalidate_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:1055,1
    - Dst: calc_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:1062,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/math/bigint/bigint.h:1068,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 259
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 1078
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 10
    functionsReached:
    - Botan::square
    - swap
    - mask_bits
    - const_span
    - Botan::serialize_to
    - static_cast<word>
    - bytes
    - calc_sig_words
    - Botan::BigInt::from_bytes
    - Botan::size
    - Botan::get_bit
    - BOTAN_DEPRECATED
    - Botan::add
    - set_words
    - sub
    - data
    - reverse_sign
    - invalidate_sig_words
    - _data
    - set_word_at
    - word_at
    - sign
    - mutable_vector
    - Hexadecimal BOTAN_DEPRECATED
    - assign_from_bytes
    - _const_time_poison
    - serialize_to
    - BigInt::m_data::swap
    - conditionally_set_bit
    - Botan::swap
    - std::swap
    - Botan::assign_from_bytes
    - sig_words
    - set_to_zero
    - Botan::_const_time_unpoison
    - const_vector
    - resize
    - mutable_data
    - assign
    - Botan::is_zero
    - Botan::BigInt::from_u64
    - BigInt
    - static_cast<size_t>
    - is_nonzero
    - grow_to
    - set_sign
    - capacity
    - const_data
    - get_word_at
    - Botan::serialize
    - Botan::bytes
    - BigInt::set_bit
    linkageType: ''
    returnType: BigInt
    signature: BigInt final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::add2
      Src: /src/botan/src/lib/math/bigint/bigint.h:1084,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.h:1084,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:1084,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1085
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1085
    functionName: operator+(const BigInt& x, const BigInt& y)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - sign
    - sig_words
    - _data
    - Botan::BigInt::add2
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator+(const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::add2
      Src: /src/botan/src/lib/math/bigint/bigint.h:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1089
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1089
    functionName: operator+(const BigInt& x, word y)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - Botan::BigInt::add2
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator+(const BigInt& x, word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - ' y'
    argTypes:
    - word
    - BigInt
    constantsTouched: []
    func_position:
      end: 1093
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1093
    functionName: operator+(word x, const BigInt& y)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator+(word x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::add2
      Src: /src/botan/src/lib/math/bigint/bigint.h:1096,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.h:1096,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:1096,1
    - Dst: reverse_sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1097
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1097
    functionName: operator-(const BigInt& x, const BigInt& y)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - reverse_sign
    - sig_words
    - _data
    - Botan::BigInt::add2
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator-(const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::add2
      Src: /src/botan/src/lib/math/bigint/bigint.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1101
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1101
    functionName: operator-(const BigInt& x, word y)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - Botan::BigInt::add2
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator-(const BigInt& x, word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - ' y'
    argTypes:
    - word
    - BigInt
    constantsTouched: []
    func_position:
      end: 1108
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1108
    functionName: operator*(word x, const BigInt& y)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator*(word x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_equal
      Src: /src/botan/src/lib/math/bigint/bigint.h:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1122
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1122
    functionName: operator==(const BigInt& a, const BigInt& b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - is_equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_equal
      Src: /src/botan/src/lib/math/bigint/bigint.h:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1126
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1126
    functionName: operator!=(const BigInt& a, const BigInt& b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - is_equal
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/math/bigint/bigint.h:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1130
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1130
    functionName: operator<=(const BigInt& a, const BigInt& b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/math/bigint/bigint.h:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1134
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1134
    functionName: operator>=(const BigInt& a, const BigInt& b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_less_than
      Src: /src/botan/src/lib/math/bigint/bigint.h:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1138
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1138
    functionName: operator<(const BigInt& a, const BigInt& b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - is_less_than
    linkageType: ''
    returnType: bool
    signature: bool operator<(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_less_than
      Src: /src/botan/src/lib/math/bigint/bigint.h:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1142
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1142
    functionName: operator>(const BigInt& a, const BigInt& b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - is_less_than
    linkageType: ''
    returnType: bool
    signature: bool operator>(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp_word
      Src: /src/botan/src/lib/math/bigint/bigint.h:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1146
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1146
    functionName: operator==(const BigInt& a, word b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp_word
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BigInt& a, word b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp_word
      Src: /src/botan/src/lib/math/bigint/bigint.h:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1150
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1150
    functionName: operator!=(const BigInt& a, word b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp_word
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const BigInt& a, word b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp_word
      Src: /src/botan/src/lib/math/bigint/bigint.h:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1154
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1154
    functionName: operator<=(const BigInt& a, word b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp_word
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const BigInt& a, word b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp_word
      Src: /src/botan/src/lib/math/bigint/bigint.h:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1158
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1158
    functionName: operator>=(const BigInt& a, word b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp_word
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const BigInt& a, word b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp_word
      Src: /src/botan/src/lib/math/bigint/bigint.h:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1162
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1162
    functionName: operator<(const BigInt& a, word b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp_word
    linkageType: ''
    returnType: bool
    signature: bool operator<(const BigInt& a, word b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp_word
      Src: /src/botan/src/lib/math/bigint/bigint.h:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1166
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1166
    functionName: operator>(const BigInt& a, word b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp_word
    linkageType: ''
    returnType: bool
    signature: bool operator>(const BigInt& a, word b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cond_flip_sign
      Src: /src/botan/src/lib/math/bigint/divide.cpp:22,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/divide.cpp:22,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/divide.cpp:22,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/divide.cpp:24,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:24,1
    - Dst: Botan::abs
      Src: /src/botan/src/lib/math/bigint/divide.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' x'
    - ' y'
    - ' q'
    - ' r'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: Botan::sign_fixup
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 0
    functionsReached:
    - sign
    - is_negative
    - cond_flip_sign
    - is_nonzero
    - Botan::abs
    linkageType: ''
    returnType: void
    signature: void sign_fixup(const BigInt& x, const BigInt& y, BigInt& q, BigInt&
      r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/bigint/divide.cpp:37,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/bigint/divide.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - q
    - y2
    - y1
    - x3
    - x2
    - x1
    argTypes:
    - word
    - word
    - word
    - word
    - word
    - word
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: Botan::division_check_vartime
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 0
    functionsReached:
    - Botan::word_madd2
    linkageType: ''
    returnType: bool
    signature: bool division_check_vartime(word q, word y2, word y1, word x3, word
      x2, word x1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:52,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/divide.cpp:53,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:61,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:62,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:63,1
    - Dst: BigInt::conditionally_set_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:70,1
    - Dst: BigInt::conditionally_set_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:74,1
    - Dst: BigInt::ct_cond_swap
      Src: /src/botan/src/lib/math/bigint/divide.cpp:75,1
    - Dst: Botan::sign_fixup
      Src: /src/botan/src/lib/math/bigint/divide.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' x'
    - ' y'
    - ' q_out'
    - ' r_out'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 81
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 81
    functionName: Botan::ct_divide
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 6
    functionsReached:
    - Botan::is_zero
    - Botan::sign_fixup
    - BigInt::ct_cond_swap
    - Invalid_Argument
    - BigInt::conditionally_set_bit
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: void
    signature: void ct_divide(const BigInt& x, const BigInt& y, BigInt& q_out, BigInt&
      r_out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/divide.cpp:84,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:84,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/divide.cpp:85,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/divide.cpp:85,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/divide.cpp:86,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:92,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/divide.cpp:95,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:99,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:100,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:101,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:103,1
    - Dst: Botan::bigint_shl1
      Src: /src/botan/src/lib/math/bigint/divide.cpp:108,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/divide.cpp:108,1
    - Dst: BigInt::size
      Src: /src/botan/src/lib/math/bigint/divide.cpp:108,1
    - Dst: BigInt::size
      Src: /src/botan/src/lib/math/bigint/divide.cpp:108,1
    - Dst: BigInt::conditionally_set_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:113,1
    - Dst: Botan::bigint_cnd_swap
      Src: /src/botan/src/lib/math/bigint/divide.cpp:115,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/divide.cpp:115,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/divide.cpp:115,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/divide.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - k
    - ' y'
    argTypes:
    - size_t
    - BigInt
    constantsTouched: []
    func_position:
      end: 121
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 121
    functionName: Botan::ct_divide_pow2k
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 1
    functionsReached:
    - is_negative
    - Botan::is_zero
    - Botan::bigint_cnd_swap
    - BigInt::mutable_data
    - BigInt::size
    - static_cast<word>
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::bigint_shl1
    - BOTAN_ARG_CHECK
    - Botan::BigInt::with_capacity
    - BigInt::conditionally_set_bit
    - BigInt::set_bit
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: BigInt
    signature: BigInt ct_divide_pow2k(size_t k, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/divide.cpp:125,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:131,1
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:138,1
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/math/bigint/divide.cpp:143,1
    - Dst: BigInt::conditionally_set_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:144,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/bigint/divide.cpp:144,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/bigint/divide.cpp:145,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/divide.cpp:148,1
    - Dst: BigInt::flip_sign
      Src: /src/botan/src/lib/math/bigint/divide.cpp:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ' x'
    - y
    - ' q_out'
    - ' r_out'
    argTypes:
    - BigInt
    - word
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 158
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 158
    functionName: Botan::ct_divide_word
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 6
    functionsReached:
    - is_negative
    - Botan::CT::Mask::is_gte
    - BigInt::flip_sign
    - Botan::CT::Mask::expand_top_bit
    - Invalid_Argument
    - auto::select
    - BigInt::conditionally_set_bit
    - Botan::BigInt::with_capacity
    - auto::as_bool
    linkageType: ''
    returnType: void
    signature: void ct_divide_word(const BigInt& x, word y, BigInt& q_out, word& r_out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/lib/math/bigint/divide.cpp:163,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/bigint/divide.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Botan::ct_divide_word
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 7
    functionsReached:
    - BOTAN_UNUSED
    - Botan::ct_divide_word
    linkageType: ''
    returnType: BigInt
    signature: BigInt ct_divide_word(const BigInt& x, word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/divide.cpp:169,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/bigint/divide.cpp:169,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/divide.cpp:170,1
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:180,1
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/math/bigint/divide.cpp:185,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/bigint/divide.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 190
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 190
    functionName: Botan::ct_mod_word
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 1
    functionsReached:
    - is_positive
    - Botan::CT::Mask::is_gte
    - Botan::CT::Mask::expand_top_bit
    - auto::select
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: word
    signature: word ct_mod_word(const BigInt& x, word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/divide.cpp:193,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:193,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/divide.cpp:194,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:201,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:202,1
    - Dst: BigInt::conditionally_set_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:209,1
    - Dst: BigInt::ct_cond_swap
      Src: /src/botan/src/lib/math/bigint/divide.cpp:213,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/divide.cpp:216,1
    - Dst: BigInt::is_nonzero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 223
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 223
    functionName: Botan::ct_modulo
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 4
    functionsReached:
    - is_negative
    - Botan::is_zero
    - BigInt::ct_cond_swap
    - BigInt::is_nonzero
    - Invalid_Argument
    - BigInt::conditionally_set_bit
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: BigInt
    signature: BigInt ct_modulo(const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:231,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/divide.cpp:232,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/divide.cpp:237,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:242,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/divide.cpp:245,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/divide.cpp:246,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/divide.cpp:260,1
    - Dst: BigInt::grow_to
      Src: /src/botan/src/lib/math/bigint/divide.cpp:262,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/divide.cpp:264,1
    - Dst: BigInt::reduce_below
      Src: /src/botan/src/lib/math/bigint/divide.cpp:269,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/lib/math/bigint/divide.cpp:271,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/lib/math/bigint/divide.cpp:272,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/divide.cpp:273,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/lib/math/bigint/divide.cpp:276,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/lib/math/bigint/divide.cpp:277,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/lib/math/bigint/divide.cpp:278,1
    - Dst: Botan::bigint_divop_vartime
      Src: /src/botan/src/lib/math/bigint/divide.cpp:280,1
    - Dst: Botan::division_check_vartime
      Src: /src/botan/src/lib/math/bigint/divide.cpp:284,1
    - Dst: BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/divide.cpp:296,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/divide.cpp:299,1
    - Dst: BigInt::is_positive
      Src: /src/botan/src/lib/math/bigint/divide.cpp:299,1
    - Dst: Botan::sign_fixup
      Src: /src/botan/src/lib/math/bigint/divide.cpp:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 4
    argNames:
    - ' x'
    - ' y_arg'
    - ' q_out'
    - ' r_out'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 313
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 313
    functionName: Botan::vartime_divide
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 5
    functionsReached:
    - Botan::is_zero
    - BigInt::set_sign
    - BigInt::grow_to
    - Botan::sign_fixup
    - BigInt::is_positive
    - BigInt::word_at
    - Botan::bigint_divop_vartime
    - BOTAN_DEBUG_ASSERT
    - Botan::division_check_vartime
    - BigInt::is_negative
    - cryptofuzz_secp256k1_scalar_is_zero
    - Invalid_Argument
    - BigInt::reduce_below
    - BigInt::mutable_data
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void vartime_divide(const BigInt& x, const BigInt& y_arg, BigInt& q_out,
      BigInt& r_out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:19,1
    - Dst: clear
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:22,1
    - Dst: random_vec
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:24,1
    - Dst: round_up
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:24,1
    - Dst: Botan::BigInt::assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' rng'
    - bitsize
    - set_high_bit
    argTypes:
    - RandomNumberGenerator
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 38
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 38
    functionName: Botan::BigInt::randomize
    functionSourceFile: /src/botan/src/lib/math/bigint/big_rand.cpp
    functionUses: 4
    functionsReached:
    - clear
    - Botan::BigInt::assign_from_bytes
    - set_sign
    - random_vec
    - round_up
    linkageType: ''
    returnType: void
    signature: void BigInt::randomize(RandomNumberGenerator& rng, size_t bitsize,
      bool set_high_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:44,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:44,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:45,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:59,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:59,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:62,1
    - Dst: BigInt::randomize
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ' rng'
    - ' min'
    - ' max'
    argTypes:
    - RandomNumberGenerator
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 73
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 73
    functionName: Botan::BigInt::random_integer
    functionSourceFile: /src/botan/src/lib/math/bigint/big_rand.cpp
    functionUses: 13
    functionsReached:
    - is_negative
    - BigInt::randomize
    - BOTAN_DEBUG_ASSERT
    - Botan::BigInt::random_integer
    - cryptofuzz_secp256k1_scalar_is_zero
    - Invalid_Argument
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::random_integer(RandomNumberGenerator& rng, const BigInt&
      min, const BigInt& max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ct_divide
      Src: /src/botan/src/lib/math/bigint/divide.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Botan::ct_divide
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.h
    functionUses: 7
    functionsReached:
    - Botan::ct_divide
    linkageType: ''
    returnType: BigInt
    signature: BigInt ct_divide(const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:22,1
    - Dst: std::max
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:22,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:24,1
    - Dst: bigint_add3
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:25,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:25,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:25,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:26,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:26,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:32,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:34,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:36,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' x'
    - y
    - y_words
    - y_sign
    argTypes:
    - BigInt
    - word[]
    - size_t
    - BigInt::Sign
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: Botan::BigInt::add2
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 4
    functionsReached:
    - sign
    - BigInt::set_sign
    - _data
    - std::max
    - BigInt::mutable_data
    - bigint_add3
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::add2(const BigInt& x, const word y[], size_t y_words,
      BigInt::Sign y_sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:50,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:50,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:50,1
    - Dst: Botan::bigint_linmul3
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:53,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:53,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:53,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:53,1
    - Dst: Botan::bigint_linmul3
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:55,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:55,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:55,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:55,1
    - Dst: BigInt::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:57,1
    - Dst: Botan::bigint_mul
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:59,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:59,1
    - Dst: BigInt::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:60,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:61,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:62,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:64,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:65,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:67,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:68,1
    - Dst: BigInt::cond_flip_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:71,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:71,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 74
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 74
    functionName: operator*(const BigInt& x, const BigInt& y)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - sign
    - secure_vector::data
    - BigInt::cond_flip_sign
    - _data
    - BigInt::size
    - Botan::bigint_mul
    - word_at
    - BigInt::mutable_data
    - Botan::BigInt::with_capacity
    - secure_vector::size
    - Botan::bigint_linmul3
    - Botan::size
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator*(const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:82,1
    - Dst: Botan::bigint_linmul3
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:85,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:85,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:85,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:86,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: operator*(const BigInt& x, word y)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - sign
    - BigInt::set_sign
    - _data
    - BigInt::mutable_data
    - Botan::BigInt::with_capacity
    - Botan::bigint_linmul3
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator*(const BigInt& x, word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:96,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:97,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: operator/(const BigInt& x, const BigInt& y)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - word_at
    - Botan::vartime_divide
    - sig_words
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator/(const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:110,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: operator/(const BigInt& x, word y)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::ct_divide_word
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator/(const BigInt& x, word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:123,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:124,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:126,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:127,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:129,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:129,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:133,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:134,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:134,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - ' n'
    - ' mod'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: operator%(const BigInt& n, const BigInt& mod)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - is_positive
    - Botan::BigInt::from_word
    - is_negative
    - Botan::is_zero
    - Botan::vartime_divide
    - sig_words
    - word_at
    - Invalid_Argument
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator%(const BigInt& n, const BigInt& mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:147,1
    - Dst: Botan::is_power_of_2
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:156,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:157,1
    - Dst: Botan::bigint_modop_vartime
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:161,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:161,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' n'
    - mod
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: operator%(const BigInt& n, word mod)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - sign
    - Botan::bigint_modop_vartime
    - word_at
    - Invalid_Argument
    - Botan::is_power_of_2
    linkageType: ''
    returnType: word
    signature: word operator%(const BigInt& n, word mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:178,1
    - Dst: Botan::bigint_shl2
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:179,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:179,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:179,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:180,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: operator<<(const BigInt& x, size_t shift)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - sign
    - BigInt::set_sign
    - Botan::bigint_shl2
    - _data
    - BigInt::mutable_data
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator<<(const BigInt& x, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:192,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:195,1
    - Dst: Botan::bigint_shr2
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:196,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:196,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:196,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:198,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:198,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:199,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:201,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: operator>>(const BigInt& x, size_t shift)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - sign
    - is_negative
    - BigInt::set_sign
    - BigInt::is_zero
    - _data
    - cryptofuzz_secp256k1_scalar_is_zero
    - BigInt::mutable_data
    - Botan::BigInt::with_capacity
    - Botan::bigint_shr2
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator>>(const BigInt& x, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flags
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:18,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:21,1
    - Dst: to_dec_string
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:28,1
    - Dst: to_hex_string
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:30,1
    - Dst: good
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:33,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:34,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' stream'
    - ' n'
    argTypes:
    - std::ostream
    - BigInt
    constantsTouched: []
    func_position:
      end: 37
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 37
    functionName: '& operator<<(std::ostream& stream, const BigInt& n)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_io.cpp
    functionUses: 0
    functionsReached:
    - good
    - to_dec_string
    - flags
    - Invalid_Argument
    - Stream_IO_Error
    - to_hex_string
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& stream, const BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:44,1
    - Dst: bad
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:45,1
    - Dst: fail
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:45,1
    - Dst: eof
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:45,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:46,1
    - Dst: BigInt
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' stream'
    - ' n'
    argTypes:
    - std::istream
    - BigInt
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: '& operator>>(std::istream& stream, BigInt& n)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_io.cpp
    functionUses: 0
    functionsReached:
    - std::getline
    - BigInt
    - fail
    - bad
    - Stream_IO_Error
    - eof
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& stream, BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:16,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:17,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:18,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:19,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:20,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:21,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:22,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:23,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:24,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:25,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:26,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:27,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:28,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:29,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:30,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:31,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:32,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:33,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:34,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:35,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:36,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:37,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:38,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:39,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:40,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:41,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:42,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:43,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:44,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 46
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 46
    functionName: Botan::bigint_monty_redc_4
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 2
    functionsReached:
    - word3::monty_step
    - word3::extract
    - Botan::bigint_monty_maybe_sub
    - word3::mul
    - word3::add
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_4(word r[4], const word z[8], const word p[4],
      word p_dash, word ws[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:50,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:51,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:52,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:53,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:54,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:55,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:56,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:57,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:58,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:59,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:60,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:61,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:62,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:63,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:64,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:65,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:66,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:67,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:68,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:69,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:70,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:71,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:72,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:73,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:74,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:75,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:76,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:77,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:78,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:79,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:80,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:81,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:82,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:83,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:84,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:85,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:86,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:87,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:88,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:89,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:90,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:91,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:92,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:93,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:94,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:95,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:96,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:97,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:98,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:99,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:100,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:101,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:102,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:103,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:104,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 106
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 106
    functionName: Botan::bigint_monty_redc_6
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 2
    functionsReached:
    - word3::monty_step
    - word3::extract
    - Botan::bigint_monty_maybe_sub
    - word3::mul
    - word3::add
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_6(word r[6], const word z[12], const word p[6],
      word p_dash, word ws[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:110,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:111,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:112,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:113,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:114,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:115,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:116,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:117,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:118,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:119,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:120,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:121,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:122,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:123,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:124,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:125,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:126,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:127,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:128,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:129,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:130,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:131,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:132,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:133,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:134,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:135,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:136,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:137,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:138,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:139,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:140,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:141,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:142,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:143,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:144,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:145,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:146,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:147,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:148,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:149,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:150,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:151,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:152,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:153,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:154,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:155,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:156,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:157,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:158,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:159,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:160,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:161,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:162,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:163,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:164,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:165,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:166,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:167,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:168,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:169,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:170,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:171,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:172,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:173,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:174,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:175,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:176,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:177,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:178,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:179,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:180,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:181,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:182,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:183,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:184,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:185,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:186,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:187,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:188,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:189,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:190,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:191,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:192,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:193,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:194,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:195,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:196,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:197,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:198,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 90
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 200
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 200
    functionName: Botan::bigint_monty_redc_8
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 2
    functionsReached:
    - word3::monty_step
    - word3::extract
    - Botan::bigint_monty_maybe_sub
    - word3::mul
    - word3::add
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_8(word r[8], const word z[16], const word p[8],
      word p_dash, word ws[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:204,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:205,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:206,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:207,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:208,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:209,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:210,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:211,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:212,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:213,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:214,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:215,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:216,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:217,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:218,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:219,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:220,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:221,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:222,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:223,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:224,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:225,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:226,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:227,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:228,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:229,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:230,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:231,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:232,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:233,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:234,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:235,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:236,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:237,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:238,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:239,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:240,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:241,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:242,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:243,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:244,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:245,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:246,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:247,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:248,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:249,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:250,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:251,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:252,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:253,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:254,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:255,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:256,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:257,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:258,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:259,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:260,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:261,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:262,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:263,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:264,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:265,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:266,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:267,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:268,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:269,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:270,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:271,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:272,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:273,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:274,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:275,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:276,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:277,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:278,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:279,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:280,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:281,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:282,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:283,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:284,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:285,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:286,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:287,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:288,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:289,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:290,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:291,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:292,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:293,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:294,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:295,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:296,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:297,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:298,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:299,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:300,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:301,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:302,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:303,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:304,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:305,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:306,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:307,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:308,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:309,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:310,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:311,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:312,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:313,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:314,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:315,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:316,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:317,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:318,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:319,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:320,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:321,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:322,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:323,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:324,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:325,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:326,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:327,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:328,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:329,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:330,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:331,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:332,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:333,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:334,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:335,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:336,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:337,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:338,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:339,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:340,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:341,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:342,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:343,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:344,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:345,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:346,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:347,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:348,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:349,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:350,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:351,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:352,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:353,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:354,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:355,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:356,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:357,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:358,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:359,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:360,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:361,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:362,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:363,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:364,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:365,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:366,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:367,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:368,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:369,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:370,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:371,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:372,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:373,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:374,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:375,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:376,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:377,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:378,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:379,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:380,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:381,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:382,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:383,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:384,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 182
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 386
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 386
    functionName: Botan::bigint_monty_redc_12
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 1
    functionsReached:
    - word3::monty_step
    - word3::extract
    - Botan::bigint_monty_maybe_sub
    - word3::mul
    - word3::add
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_12(word r[12], const word z[24], const word
      p[12], word p_dash, word ws[12])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:390,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:391,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:392,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:393,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:394,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:395,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:396,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:397,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:398,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:399,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:400,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:401,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:402,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:403,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:404,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:405,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:406,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:407,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:408,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:409,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:410,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:411,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:412,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:413,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:414,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:415,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:416,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:417,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:418,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:419,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:420,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:421,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:422,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:423,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:424,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:425,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:426,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:427,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:428,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:429,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:430,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:431,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:432,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:433,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:434,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:435,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:436,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:437,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:438,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:439,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:440,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:441,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:442,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:443,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:444,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:445,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:446,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:447,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:448,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:449,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:450,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:451,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:452,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:453,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:454,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:455,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:456,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:457,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:458,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:459,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:460,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:461,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:462,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:463,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:464,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:465,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:466,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:467,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:468,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:469,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:470,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:471,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:472,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:473,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:474,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:475,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:476,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:477,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:478,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:479,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:480,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:481,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:482,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:483,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:484,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:485,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:486,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:487,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:488,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:489,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:490,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:491,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:492,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:493,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:494,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:495,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:496,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:497,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:498,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:499,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:500,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:501,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:502,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:503,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:504,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:505,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:506,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:507,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:508,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:509,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:510,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:511,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:512,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:513,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:514,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:515,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:516,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:517,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:518,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:519,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:520,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:521,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:522,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:523,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:524,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:525,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:526,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:527,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:528,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:529,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:530,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:531,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:532,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:533,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:534,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:535,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:536,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:537,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:538,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:539,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:540,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:541,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:542,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:543,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:544,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:545,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:546,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:547,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:548,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:549,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:550,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:551,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:552,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:553,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:554,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:555,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:556,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:557,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:558,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:559,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:560,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:561,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:562,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:563,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:564,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:565,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:566,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:567,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:568,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:569,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:570,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:571,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:572,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:573,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:574,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:575,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:576,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:577,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:578,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:579,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:580,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:581,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:582,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:583,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:584,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:585,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:586,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:587,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:588,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:589,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:590,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:591,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:592,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:593,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:594,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:595,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:596,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:597,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:598,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:599,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:600,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:601,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:602,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:603,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:604,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:605,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:606,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:607,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:608,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:609,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:610,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:611,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:612,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:613,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:614,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:615,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:616,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:617,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:618,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:619,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:620,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:621,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:622,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:623,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:624,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:625,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:626,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:627,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:628,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:629,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:630,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:631,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:632,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:633,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:634,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:635,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:636,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:637,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:638,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:639,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:640,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:641,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:642,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:643,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:644,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:645,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:646,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:647,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:648,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:649,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:650,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:651,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:652,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:653,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:654,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:655,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:656,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:657,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:658,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:659,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:660,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:661,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:662,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:663,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:664,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:665,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:666,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:667,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:668,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:669,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:670,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:671,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:672,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:673,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:674,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:675,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:676,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:677,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:678,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:679,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:680,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:681,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:682,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:683,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:684,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:685,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:686,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:687,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:688,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:689,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:690,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:691,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:692,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:693,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:694,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 306
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 696
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 696
    functionName: Botan::bigint_monty_redc_16
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 2
    functionsReached:
    - word3::monty_step
    - word3::extract
    - Botan::bigint_monty_maybe_sub
    - word3::mul
    - word3::add
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_16(word r[16], const word z[32], const word
      p[16], word p_dash, word ws[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:700,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:701,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:702,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:703,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:704,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:705,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:706,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:707,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:708,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:709,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:710,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:711,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:712,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:713,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:714,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:715,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:716,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:717,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:718,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:719,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:720,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:721,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:722,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:723,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:724,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:725,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:726,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:727,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:728,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:729,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:730,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:731,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:732,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:733,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:734,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:735,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:736,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:737,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:738,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:739,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:740,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:741,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:742,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:743,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:744,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:745,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:746,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:747,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:748,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:749,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:750,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:751,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:752,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:753,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:754,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:755,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:756,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:757,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:758,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:759,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:760,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:761,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:762,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:763,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:764,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:765,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:766,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:767,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:768,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:769,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:770,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:771,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:772,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:773,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:774,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:775,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:776,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:777,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:778,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:779,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:780,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:781,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:782,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:783,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:784,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:785,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:786,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:787,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:788,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:789,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:790,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:791,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:792,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:793,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:794,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:795,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:796,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:797,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:798,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:799,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:800,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:801,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:802,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:803,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:804,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:805,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:806,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:807,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:808,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:809,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:810,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:811,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:812,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:813,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:814,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:815,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:816,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:817,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:818,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:819,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:820,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:821,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:822,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:823,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:824,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:825,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:826,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:827,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:828,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:829,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:830,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:831,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:832,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:833,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:834,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:835,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:836,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:837,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:838,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:839,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:840,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:841,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:842,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:843,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:844,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:845,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:846,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:847,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:848,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:849,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:850,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:851,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:852,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:853,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:854,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:855,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:856,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:857,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:858,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:859,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:860,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:861,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:862,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:863,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:864,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:865,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:866,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:867,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:868,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:869,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:870,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:871,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:872,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:873,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:874,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:875,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:876,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:877,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:878,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:879,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:880,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:881,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:882,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:883,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:884,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:885,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:886,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:887,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:888,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:889,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:890,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:891,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:892,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:893,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:894,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:895,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:896,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:897,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:898,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:899,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:900,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:901,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:902,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:903,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:904,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:905,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:906,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:907,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:908,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:909,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:910,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:911,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:912,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:913,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:914,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:915,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:916,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:917,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:918,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:919,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:920,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:921,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:922,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:923,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:924,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:925,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:926,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:927,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:928,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:929,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:930,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:931,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:932,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:933,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:934,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:935,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:936,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:937,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:938,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:939,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:940,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:941,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:942,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:943,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:944,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:945,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:946,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:947,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:948,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:949,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:950,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:951,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:952,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:953,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:954,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:955,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:956,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:957,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:958,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:959,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:960,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:961,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:962,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:963,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:964,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:965,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:966,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:967,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:968,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:969,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:970,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:971,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:972,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:973,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:974,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:975,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:976,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:977,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:978,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:979,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:980,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:981,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:982,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:983,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:984,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:985,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:986,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:987,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:988,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:989,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:990,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:991,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:992,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:993,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:994,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:995,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:996,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:997,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:998,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:999,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1000,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1001,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1002,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1003,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1004,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1005,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1006,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1007,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1008,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1009,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1010,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1011,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1012,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1013,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1014,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1015,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1016,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1017,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1018,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1019,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1020,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1021,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1022,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1023,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1024,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1025,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1026,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1027,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1028,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1029,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1030,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1031,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1032,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1033,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1034,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1035,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1036,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1037,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1038,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1039,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1040,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1041,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1042,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1043,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1044,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1045,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1046,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1047,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1048,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1049,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1050,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1051,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1052,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1053,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1054,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1055,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1056,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1057,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1058,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1059,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1060,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1061,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1062,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1063,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1064,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1065,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1066,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1067,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1068,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1069,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1070,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1071,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1072,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1073,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1074,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1075,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1076,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1077,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1078,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1079,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1080,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1081,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1082,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1083,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1084,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1085,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1086,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1087,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1088,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1089,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1090,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1091,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1092,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1093,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1094,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1095,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1096,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1097,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1098,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1099,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1100,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1101,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1102,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1103,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1104,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1105,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1106,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1107,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1108,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1109,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1110,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1111,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1112,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1113,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1114,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1115,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1116,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1117,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1118,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1119,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1120,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1121,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1122,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1123,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1124,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1125,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1126,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1127,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1128,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1129,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1130,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1131,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1132,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1133,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1134,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1135,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1136,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1137,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1138,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1139,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1140,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1141,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1142,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1143,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1144,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1145,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1146,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1147,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1148,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1149,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1150,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1151,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1152,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1153,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1154,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1155,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1156,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1157,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1158,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1159,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1160,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1161,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1162,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1163,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1164,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1165,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1166,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1167,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1168,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1169,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1170,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1171,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1172,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1173,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1174,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1175,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1176,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1177,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1178,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1179,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1180,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1181,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1182,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1183,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1184,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1185,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1186,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1187,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1188,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1189,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1190,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1191,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1192,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1193,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1194,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1195,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1196,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1197,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1198,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1199,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1200,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1201,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1202,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1203,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1204,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1205,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1206,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1207,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1208,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1209,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1210,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1211,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1212,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1213,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1214,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1215,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1216,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1217,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1218,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1219,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1220,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1221,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1222,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1223,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1224,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1225,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1226,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1227,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1228,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1229,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1230,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1231,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1232,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1233,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1234,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1235,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1236,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1237,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1238,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1239,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1240,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1241,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1242,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1243,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1244,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1245,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1246,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1247,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1248,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1249,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1250,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1251,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1252,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1253,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1254,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1255,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1256,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1257,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1258,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1259,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1260,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1261,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1262,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1263,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1264,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1265,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1266,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1267,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1268,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1269,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1270,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1271,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1272,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1273,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1274,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1275,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1276,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1277,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1278,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1279,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1280,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1281,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1282,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1283,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1284,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1285,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1286,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1287,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1288,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1289,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1290,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1291,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1292,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1293,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1294,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1295,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1296,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1297,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1298,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1299,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1300,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1301,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1302,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1303,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1304,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1305,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1306,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1307,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1308,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1309,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1310,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1311,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1312,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1313,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1314,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1315,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1316,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1317,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1318,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1319,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1320,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1321,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1322,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1323,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1324,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1325,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1326,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1327,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1328,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1329,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1330,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1331,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1332,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1333,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1334,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1335,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1336,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1337,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1338,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1339,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1340,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1341,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1342,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1343,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1344,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1345,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1346,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1347,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1348,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 650
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 1350
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 1350
    functionName: Botan::bigint_monty_redc_24
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 1
    functionsReached:
    - word3::monty_step
    - word3::extract
    - Botan::bigint_monty_maybe_sub
    - word3::mul
    - word3::add
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_24(word r[24], const word z[48], const word
      p[24], word p_dash, word ws[24])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1354,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1355,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1356,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1357,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1358,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1359,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1360,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1361,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1362,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1363,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1364,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1365,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1366,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1367,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1368,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1369,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1370,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1371,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1372,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1373,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1374,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1375,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1376,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1377,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1378,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1379,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1380,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1381,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1382,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1383,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1384,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1385,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1386,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1387,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1388,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1389,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1390,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1391,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1392,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1393,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1394,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1395,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1396,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1397,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1398,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1399,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1400,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1401,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1402,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1403,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1404,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1405,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1406,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1407,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1408,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1409,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1410,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1411,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1412,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1413,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1414,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1415,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1416,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1417,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1418,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1419,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1420,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1421,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1422,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1423,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1424,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1425,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1426,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1427,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1428,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1429,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1430,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1431,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1432,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1433,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1434,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1435,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1436,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1437,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1438,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1439,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1440,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1441,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1442,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1443,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1444,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1445,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1446,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1447,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1448,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1449,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1450,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1451,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1452,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1453,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1454,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1455,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1456,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1457,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1458,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1459,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1460,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1461,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1462,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1463,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1464,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1465,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1466,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1467,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1468,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1469,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1470,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1471,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1472,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1473,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1474,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1475,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1476,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1477,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1478,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1479,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1480,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1481,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1482,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1483,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1484,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1485,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1486,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1487,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1488,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1489,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1490,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1491,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1492,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1493,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1494,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1495,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1496,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1497,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1498,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1499,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1500,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1501,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1502,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1503,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1504,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1505,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1506,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1507,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1508,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1509,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1510,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1511,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1512,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1513,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1514,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1515,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1516,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1517,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1518,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1519,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1520,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1521,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1522,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1523,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1524,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1525,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1526,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1527,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1528,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1529,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1530,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1531,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1532,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1533,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1534,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1535,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1536,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1537,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1538,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1539,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1540,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1541,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1542,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1543,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1544,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1545,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1546,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1547,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1548,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1549,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1550,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1551,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1552,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1553,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1554,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1555,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1556,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1557,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1558,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1559,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1560,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1561,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1562,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1563,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1564,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1565,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1566,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1567,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1568,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1569,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1570,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1571,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1572,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1573,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1574,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1575,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1576,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1577,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1578,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1579,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1580,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1581,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1582,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1583,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1584,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1585,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1586,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1587,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1588,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1589,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1590,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1591,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1592,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1593,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1594,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1595,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1596,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1597,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1598,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1599,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1600,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1601,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1602,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1603,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1604,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1605,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1606,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1607,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1608,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1609,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1610,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1611,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1612,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1613,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1614,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1615,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1616,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1617,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1618,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1619,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1620,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1621,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1622,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1623,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1624,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1625,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1626,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1627,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1628,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1629,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1630,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1631,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1632,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1633,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1634,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1635,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1636,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1637,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1638,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1639,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1640,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1641,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1642,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1643,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1644,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1645,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1646,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1647,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1648,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1649,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1650,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1651,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1652,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1653,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1654,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1655,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1656,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1657,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1658,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1659,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1660,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1661,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1662,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1663,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1664,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1665,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1666,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1667,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1668,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1669,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1670,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1671,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1672,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1673,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1674,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1675,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1676,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1677,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1678,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1679,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1680,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1681,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1682,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1683,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1684,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1685,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1686,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1687,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1688,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1689,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1690,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1691,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1692,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1693,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1694,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1695,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1696,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1697,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1698,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1699,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1700,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1701,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1702,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1703,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1704,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1705,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1706,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1707,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1708,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1709,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1710,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1711,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1712,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1713,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1714,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1715,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1716,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1717,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1718,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1719,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1720,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1721,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1722,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1723,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1724,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1725,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1726,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1727,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1728,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1729,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1730,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1731,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1732,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1733,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1734,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1735,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1736,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1737,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1738,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1739,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1740,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1741,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1742,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1743,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1744,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1745,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1746,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1747,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1748,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1749,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1750,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1751,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1752,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1753,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1754,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1755,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1756,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1757,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1758,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1759,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1760,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1761,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1762,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1763,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1764,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1765,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1766,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1767,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1768,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1769,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1770,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1771,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1772,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1773,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1774,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1775,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1776,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1777,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1778,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1779,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1780,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1781,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1782,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1783,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1784,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1785,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1786,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1787,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1788,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1789,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1790,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1791,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1792,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1793,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1794,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1795,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1796,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1797,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1798,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1799,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1800,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1801,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1802,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1803,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1804,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1805,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1806,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1807,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1808,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1809,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1810,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1811,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1812,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1813,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1814,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1815,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1816,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1817,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1818,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1819,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1820,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1821,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1822,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1823,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1824,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1825,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1826,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1827,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1828,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1829,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1830,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1831,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1832,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1833,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1834,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1835,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1836,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1837,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1838,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1839,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1840,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1841,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1842,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1843,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1844,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1845,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1846,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1847,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1848,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1849,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1850,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1851,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1852,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1853,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1854,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1855,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1856,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1857,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1858,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1859,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1860,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1861,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1862,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1863,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1864,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1865,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1866,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1867,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1868,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1869,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1870,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1871,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1872,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1873,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1874,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1875,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1876,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1877,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1878,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1879,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1880,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1881,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1882,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1883,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1884,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1885,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1886,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1887,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1888,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1889,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1890,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1891,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1892,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1893,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1894,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1895,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1896,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1897,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1898,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1899,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1900,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1901,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1902,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1903,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1904,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1905,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1906,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1907,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1908,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1909,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1910,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1911,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1912,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1913,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1914,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1915,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1916,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1917,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1918,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1919,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1920,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1921,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1922,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1923,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1924,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1925,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1926,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1927,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1928,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1929,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1930,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1931,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1932,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1933,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1934,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1935,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1936,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1937,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1938,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1939,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1940,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1941,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1942,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1943,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1944,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1945,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1946,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1947,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1948,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1949,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1950,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1951,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1952,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1953,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1954,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1955,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1956,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1957,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1958,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1959,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1960,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1961,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1962,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1963,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1964,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1965,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1966,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1967,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1968,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1969,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1970,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1971,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1972,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1973,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1974,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1975,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1976,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1977,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1978,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1979,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1980,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1981,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1982,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1983,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1984,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1985,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1986,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1987,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1988,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1989,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1990,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1991,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1992,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1993,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1994,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1995,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1996,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1997,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1998,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1999,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2000,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2001,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2002,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2003,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2004,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2005,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2006,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2007,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2008,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2009,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2010,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2011,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2012,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2013,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2014,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2015,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2016,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2017,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2018,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2019,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2020,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2021,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2022,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2023,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2024,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2025,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2026,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2027,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2028,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2029,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2030,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2031,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2032,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2033,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2034,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2035,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2036,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2037,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2038,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2039,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2040,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2041,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2042,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2043,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2044,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2045,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2046,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2047,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2048,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2049,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2050,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2051,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2052,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2053,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2054,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2055,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2056,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2057,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2058,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2059,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2060,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2061,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2062,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2063,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2064,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2065,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2066,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2067,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2068,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2069,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2070,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2071,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2072,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2073,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2074,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2075,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2076,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2077,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2078,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2079,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2080,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2081,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2082,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2083,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2084,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2085,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2086,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2087,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2088,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2089,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2090,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2091,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2092,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2093,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2094,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2095,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2096,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2097,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2098,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2099,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2100,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2101,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2102,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2103,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2104,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2105,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2106,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2107,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2108,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2109,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2110,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2111,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2112,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2113,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2114,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2115,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2116,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2117,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2118,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2119,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2120,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2121,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2122,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2123,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2124,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2125,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2126,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2127,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2128,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2129,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2130,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2131,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2132,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2133,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2134,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2135,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2136,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2137,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2138,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2139,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2140,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2141,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2142,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2143,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2144,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2145,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2146,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2147,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2148,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2149,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2150,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2151,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2152,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2153,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2154,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2155,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2156,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2157,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2158,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2159,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2160,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2161,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2162,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2163,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2164,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2165,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2166,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2167,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2168,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2169,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2170,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2171,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2172,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2173,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2174,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2175,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2176,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2177,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2178,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2179,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2180,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2181,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2182,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2183,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2184,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2185,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2186,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2187,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2188,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2189,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2190,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2191,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2192,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2193,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2194,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2195,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2196,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2197,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2198,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2199,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2200,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2201,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2202,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2203,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2204,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2205,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2206,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2207,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2208,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2209,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2210,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2211,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2212,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2213,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2214,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2215,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2216,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2217,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2218,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2219,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2220,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2221,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2222,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2223,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2224,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2225,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2226,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2227,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2228,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2229,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2230,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2231,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2232,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2233,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2234,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2235,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2236,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2237,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2238,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2239,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2240,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2241,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2242,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2243,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2244,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2245,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2246,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2247,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2248,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2249,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2250,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2251,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2252,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2253,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2254,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2255,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2256,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2257,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2258,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2259,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2260,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2261,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2262,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2263,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2264,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2265,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2266,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2267,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2268,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2269,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2270,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2271,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2272,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2273,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2274,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2275,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2276,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2277,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2278,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2279,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2280,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2281,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2282,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2283,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2284,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2285,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2286,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2287,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2288,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2289,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2290,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2291,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2292,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2293,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2294,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2295,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2296,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2297,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2298,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2299,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2300,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2301,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2302,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2303,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2304,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2305,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2306,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2307,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2308,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2309,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2310,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2311,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2312,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2313,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2314,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2315,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2316,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2317,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2318,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2319,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2320,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2321,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2322,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2323,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2324,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2325,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2326,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2327,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2328,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2329,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2330,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2331,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2332,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2333,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2334,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2335,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2336,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2337,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2338,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2339,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2340,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2341,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2342,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2343,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2344,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2345,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2346,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2347,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2348,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2349,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2350,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2351,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2352,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2353,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2354,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2355,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2356,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2357,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2358,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2359,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2360,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2361,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2362,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2363,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2364,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2365,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2366,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2367,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2368,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2369,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2370,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2371,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2372,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2373,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2374,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2375,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2376,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2377,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2378,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2379,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2380,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2381,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2382,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2383,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2384,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2385,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2386,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2387,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2388,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2389,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2390,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2391,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2392,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2393,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2394,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2395,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2396,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2397,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2398,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2399,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2400,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2401,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2402,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2403,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2404,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2405,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2406,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2407,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2408,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2409,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2410,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2411,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2412,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2413,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2414,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2415,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2416,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2417,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2418,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2419,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2420,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2421,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2422,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2423,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2424,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2425,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2426,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2427,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2428,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2429,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2430,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2431,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2432,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2433,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2434,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2435,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2436,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2437,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2438,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2439,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2440,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2441,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2442,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2443,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2444,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2445,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2446,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2447,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2448,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2449,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2450,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2451,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2452,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2453,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2454,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2455,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2456,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2457,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2458,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2459,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2460,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2461,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2462,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2463,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2464,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2465,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2466,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2467,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2468,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2469,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2470,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2471,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2472,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2473,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2474,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1122
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 2476
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 2476
    functionName: Botan::bigint_monty_redc_32
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 1
    functionsReached:
    - word3::monty_step
    - word3::extract
    - Botan::bigint_monty_maybe_sub
    - word3::mul
    - word3::add
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_32(word r[32], const word z[64], const word
      p[32], word p_dash, word ws[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:22,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:27,1
    - Dst: Botan::word8_madd3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:35,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - z
    - z_size
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 44
    functionName: Botan::basecase_mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 1
    functionsReached:
    - Botan::word_madd3
    - Botan::word8_madd3
    - Botan::clear_mem
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void basecase_mul(word z[], size_t z_size, const word x[], size_t x_size,
      const word y[], size_t y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:48,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:53,1
    - Dst: Botan::word8_madd3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:61,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - z
    - z_size
    - x
    - x_size
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: Botan::basecase_sqr
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 1
    functionsReached:
    - Botan::word_madd3
    - Botan::word8_madd3
    - Botan::clear_mem
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void basecase_sqr(word z[], size_t z_size, const word x[], size_t x_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_comba_mul6
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:84,1
    - Dst: Botan::bigint_comba_mul8
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:86,1
    - Dst: Botan::bigint_comba_mul9
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:88,1
    - Dst: Botan::bigint_comba_mul16
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:90,1
    - Dst: Botan::bigint_comba_mul24
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:92,1
    - Dst: Botan::basecase_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:94,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:110,1
    - Dst: Botan::bigint_sub_abs
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:122,1
    - Dst: Botan::bigint_sub_abs
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:123,1
    - Dst: Botan::karatsuba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:126,1
    - Dst: Botan::karatsuba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:129,1
    - Dst: Botan::karatsuba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:132,1
    - Dst: Botan::bigint_add3_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:134,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:135,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:137,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:138,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:140,1
    - Dst: Botan::bigint_cnd_add_or_sub
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 5
    argNames:
    - z
    - x
    - y
    - N
    - workspace
    argTypes:
    - word[]
    - word[]
    - word[]
    - size_t
    - word[]
    constantsTouched: []
    func_position:
      end: 143
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 143
    functionName: Botan::karatsuba_mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 1
    functionsReached:
    - Botan::bigint_comba_mul8
    - Botan::basecase_mul
    - Botan::bigint_cnd_add_or_sub
    - Botan::bigint_comba_mul6
    - Botan::bigint_comba_mul9
    - Botan::clear_mem
    - Botan::karatsuba_mul
    - Botan::bigint_sub_abs
    - Botan::bigint_comba_mul16
    - Botan::bigint_add3_nc
    - Botan::bigint_comba_mul24
    - Botan::bigint_add2_nc
    linkageType: ''
    returnType: void
    signature: void karatsuba_mul(word z[], const word x[], const word y[], size_t
      N, word workspace[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_comba_sqr6
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:152,1
    - Dst: Botan::bigint_comba_sqr8
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:154,1
    - Dst: Botan::bigint_comba_sqr9
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:156,1
    - Dst: Botan::bigint_comba_sqr16
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:158,1
    - Dst: Botan::bigint_comba_sqr24
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:160,1
    - Dst: Botan::basecase_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:162,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:176,1
    - Dst: Botan::bigint_sub_abs
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:179,1
    - Dst: Botan::karatsuba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:180,1
    - Dst: Botan::karatsuba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:182,1
    - Dst: Botan::karatsuba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:183,1
    - Dst: Botan::bigint_add3_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:185,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:186,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:188,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:189,1
    - Dst: Botan::bigint_sub2
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - z
    - x
    - N
    - workspace
    argTypes:
    - word[]
    - word[]
    - size_t
    - word[]
    constantsTouched: []
    func_position:
      end: 197
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 197
    functionName: Botan::karatsuba_sqr
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 1
    functionsReached:
    - Botan::bigint_comba_sqr24
    - Botan::bigint_comba_sqr9
    - Botan::bigint_sub2
    - Botan::clear_mem
    - Botan::bigint_sub_abs
    - Botan::bigint_comba_sqr6
    - Botan::karatsuba_sqr
    - Botan::bigint_add3_nc
    - Botan::basecase_sqr
    - Botan::bigint_comba_sqr8
    - Botan::bigint_add2_nc
    - Botan::bigint_comba_sqr16
    linkageType: ''
    returnType: void
    signature: void karatsuba_sqr(word z[], const word x[], size_t N, word workspace[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 28
    argCount: 5
    argNames:
    - z_size
    - x_size
    - x_sw
    - y_size
    - y_sw
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 239
    functionName: Botan::karatsuba_size
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t karatsuba_size(size_t z_size, size_t x_size, size_t x_sw, size_t
      y_size, size_t y_sw)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - z_size
    - x_size
    - x_sw
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 268
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 268
    functionName: Botan::karatsuba_size
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t karatsuba_size(size_t z_size, size_t x_size, size_t x_sw)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - x_sw
    - x_size
    - y_sw
    - y_size
    - z_size
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: Botan::sized_for_comba_mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sized_for_comba_mul(size_t x_sw, size_t x_size, size_t y_sw, size_t
      y_size, size_t z_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x_sw
    - x_size
    - z_size
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: Botan::sized_for_comba_sqr
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sized_for_comba_sqr(size_t x_sw, size_t x_size, size_t z_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:292,1
    - Dst: Botan::bigint_linmul3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:295,1
    - Dst: Botan::bigint_linmul3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:297,1
    - Dst: Botan::sized_for_comba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:298,1
    - Dst: Botan::bigint_comba_mul4
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:299,1
    - Dst: Botan::sized_for_comba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:300,1
    - Dst: Botan::bigint_comba_mul6
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:301,1
    - Dst: Botan::sized_for_comba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:302,1
    - Dst: Botan::bigint_comba_mul8
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:303,1
    - Dst: Botan::sized_for_comba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:304,1
    - Dst: Botan::bigint_comba_mul9
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:305,1
    - Dst: Botan::sized_for_comba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:306,1
    - Dst: Botan::bigint_comba_mul16
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:307,1
    - Dst: Botan::sized_for_comba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:308,1
    - Dst: Botan::bigint_comba_mul24
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:309,1
    - Dst: Botan::basecase_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:311,1
    - Dst: Botan::karatsuba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:316,1
    - Dst: Botan::basecase_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:318,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 10
    argNames:
    - z
    - z_size
    - x
    - x_size
    - x_sw
    - y
    - y_size
    - y_sw
    - workspace
    - ws_size
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    - size_t
    - word[]
    - size_t
    - size_t
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 321
    functionName: Botan::bigint_mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 3
    functionsReached:
    - Botan::sized_for_comba_mul
    - Botan::bigint_comba_mul8
    - Botan::basecase_mul
    - Botan::bigint_comba_mul6
    - Botan::bigint_comba_mul9
    - Botan::clear_mem
    - Botan::karatsuba_mul
    - Botan::bigint_comba_mul16
    - Botan::bigint_comba_mul24
    - Botan::bigint_comba_mul4
    - Botan::bigint_linmul3
    linkageType: ''
    returnType: void
    signature: "void bigint_mul(word z[],\n                size_t z_size,\n                const
      word x[],\n                size_t x_size,\n                size_t x_sw,\n                const
      word y[],\n                size_t y_size,\n                size_t y_sw,\n                word
      workspace[],\n                size_t ws_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:327,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:329,1
    - Dst: Botan::bigint_linmul3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:332,1
    - Dst: Botan::sized_for_comba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:333,1
    - Dst: Botan::bigint_comba_sqr4
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:334,1
    - Dst: Botan::sized_for_comba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:335,1
    - Dst: Botan::bigint_comba_sqr6
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:336,1
    - Dst: Botan::sized_for_comba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:337,1
    - Dst: Botan::bigint_comba_sqr8
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:338,1
    - Dst: Botan::sized_for_comba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:339,1
    - Dst: Botan::bigint_comba_sqr9
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:340,1
    - Dst: Botan::sized_for_comba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:341,1
    - Dst: Botan::bigint_comba_sqr16
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:342,1
    - Dst: Botan::sized_for_comba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:343,1
    - Dst: Botan::bigint_comba_sqr24
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:344,1
    - Dst: Botan::basecase_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:346,1
    - Dst: Botan::karatsuba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:351,1
    - Dst: Botan::basecase_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:353,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 7
    argNames:
    - z
    - z_size
    - x
    - x_size
    - x_sw
    - workspace
    - ws_size
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    - size_t
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 356
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 356
    functionName: Botan::bigint_sqr
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 0
    functionsReached:
    - Botan::bigint_comba_sqr24
    - Botan::bigint_comba_sqr9
    - Botan::clear_mem
    - Botan::bigint_comba_sqr6
    - Botan::karatsuba_sqr
    - BOTAN_ASSERT
    - Botan::bigint_comba_sqr4
    - Botan::basecase_sqr
    - Botan::bigint_comba_sqr8
    - Botan::sized_for_comba_sqr
    - Botan::bigint_linmul3
    - Botan::bigint_comba_sqr16
    linkageType: ''
    returnType: void
    signature: void bigint_sqr(word z[], size_t z_size, const word x[], size_t x_size,
      size_t x_sw, word workspace[], size_t ws_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:88,1
    - Dst: dword
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:103,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:104,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - W
    - W
    - W*
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: Botan::word_madd2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 1
    functionsReached:
    - std::is_constant_evaluated
    - static_cast<W>
    - dword
    linkageType: ''
    returnType: auto
    signature: auto word_madd2(W a, W b, W* c) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:114,1
    - Dst: dword
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:133,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:134,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - W
    - W
    - W
    - W*
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: Botan::word_madd3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 2
    functionsReached:
    - std::is_constant_evaluated
    - static_cast<W>
    - dword
    linkageType: ''
    returnType: auto
    signature: auto word_madd3(W a, W b, W c, W* d) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:192,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:193,1
    - Dst: __builtin_addc
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:195,1
    - Dst: __builtin_addcl
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:197,1
    - Dst: __builtin_addcll
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:199,1
    - Dst: hi_dword
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:211,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:212,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - x
    - y
    - carry
    argTypes:
    - W
    - W
    - W*
    constantsTouched: []
    func_position:
      end: 222
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 222
    functionName: Botan::word_add
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 1
    functionsReached:
    - __builtin_addcl
    - std::is_constant_evaluated
    - static_cast<W>
    - hi_dword
    - BOTAN_COMPILER_HAS_BUILTIN
    - __builtin_addc
    - __builtin_addcll
    linkageType: ''
    returnType: auto
    signature: auto word_add(W x, W y, W* carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:230,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:239,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:240,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:241,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:242,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:243,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:244,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:245,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W
    constantsTouched: []
    func_position:
      end: 248
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 248
    functionName: Botan::word8_add2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - std::is_constant_evaluated
    - Botan::word_add
    linkageType: ''
    returnType: auto
    signature: auto word8_add2(W x[8], const W y[8], W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:256,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:265,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:266,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:267,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:268,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:269,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:270,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:271,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - z
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W[]
    - W
    constantsTouched: []
    func_position:
      end: 274
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 274
    functionName: Botan::word8_add3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - std::is_constant_evaluated
    - Botan::word_add
    linkageType: ''
    returnType: auto
    signature: auto word8_add3(W z[8], const W x[8], const W y[8], W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:281,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:282,1
    - Dst: __builtin_subc
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:284,1
    - Dst: __builtin_subcl
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:286,1
    - Dst: __builtin_subcll
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - x
    - y
    - carry
    argTypes:
    - W
    - W
    - W*
    constantsTouched: []
    func_position:
      end: 299
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 299
    functionName: Botan::word_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 2
    functionsReached:
    - __builtin_subcl
    - __builtin_subc
    - std::is_constant_evaluated
    - __builtin_subcll
    - BOTAN_COMPILER_HAS_BUILTIN
    linkageType: ''
    returnType: auto
    signature: auto word_sub(W x, W y, W* carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:307,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:316,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:317,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:318,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:319,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:320,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:321,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:322,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W
    constantsTouched: []
    func_position:
      end: 325
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 325
    functionName: Botan::word8_sub2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - std::is_constant_evaluated
    - Botan::word_sub
    linkageType: ''
    returnType: auto
    signature: auto word8_sub2(W x[8], const W y[8], W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:333,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:342,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:343,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:344,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:345,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:346,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:347,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:348,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: Botan::word8_sub2_rev
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - std::is_constant_evaluated
    - Botan::word_sub
    linkageType: ''
    returnType: auto
    signature: auto word8_sub2_rev(W x[8], const W y[8], W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:359,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:368,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:369,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:370,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:371,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:372,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:373,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:374,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - z
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W[]
    - W
    constantsTouched: []
    func_position:
      end: 377
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 377
    functionName: Botan::word8_sub3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - std::is_constant_evaluated
    - Botan::word_sub
    linkageType: ''
    returnType: auto
    signature: auto word8_sub3(W z[8], const W x[8], const W y[8], W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:385,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:394,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:395,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:396,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:397,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:398,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:399,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:400,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W
    - W
    constantsTouched: []
    func_position:
      end: 403
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 403
    functionName: Botan::word8_linmul2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - std::is_constant_evaluated
    - Botan::word_madd2
    linkageType: ''
    returnType: auto
    signature: auto word8_linmul2(W x[8], W y, W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:411,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:420,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:421,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:422,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:423,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:424,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:425,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:426,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - z
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W
    - W
    constantsTouched: []
    func_position:
      end: 429
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 429
    functionName: Botan::word8_linmul3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - std::is_constant_evaluated
    - Botan::word_madd2
    linkageType: ''
    returnType: auto
    signature: auto word8_linmul3(W z[8], const W x[8], W y, W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:437,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:446,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:447,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:448,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:449,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:450,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:451,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:452,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - z
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W
    - W
    constantsTouched: []
    func_position:
      end: 455
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 455
    functionName: Botan::word8_madd3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 2
    functionsReached:
    - Botan::word_madd3
    - std::is_constant_evaluated
    linkageType: ''
    returnType: auto
    signature: auto word8_madd3(W z[8], const W x[8], W y, W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: Botan::word3::word3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void word3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W3>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - W
    - W
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: Botan::word3::mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - static_cast<W3>
    linkageType: ''
    returnType: void
    signature: void mul(W x, W y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W3>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - W
    - W
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: Botan::word3::mul_x2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - static_cast<W3>
    linkageType: ''
    returnType: void
    signature: void mul_x2(W x, W y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: Botan::word3::add
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add(W x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: Botan::word3::extract
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - static_cast<W>
    linkageType: ''
    returnType: W
    signature: W extract()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:485,1
    - Dst: Botan::word3::mul
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p0
    - p_dash
    argTypes:
    - W
    - W
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: Botan::word3::monty_step
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - static_cast<W>
    - Botan::word3::mul
    linkageType: ''
    returnType: W
    signature: W monty_step(W p0, W p_dash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:493,1
    - Dst: static_cast<W3>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 497
    functionName: Botan::word3::monty_step_pdash1
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - static_cast<W>
    - static_cast<W3>
    linkageType: ''
    returnType: W
    signature: W monty_step_pdash1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: Botan::word3::word3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void word3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:513,1
    - Dst: dword
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:531,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:532,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - W
    - W
    constantsTouched: []
    func_position:
      end: 536
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 536
    functionName: Botan::word3::mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 1
    functionsReached:
    - std::is_constant_evaluated
    - static_cast<W>
    - dword
    linkageType: ''
    returnType: void
    signature: void mul(W x, W y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:540,1
    - Dst: word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:562,1
    - Dst: word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:566,1
    - Dst: word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:567,1
    - Dst: word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:571,1
    - Dst: word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - W
    - W
    constantsTouched: []
    func_position:
      end: 574
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 574
    functionName: Botan::word3::mul_x2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - std::is_constant_evaluated
    - word_madd2
    - word_add
    linkageType: ''
    returnType: void
    signature: void mul_x2(W x, W y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:580,1
    - Dst: word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 583
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 583
    functionName: Botan::word3::add
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - word_add
    linkageType: ''
    returnType: void
    signature: void add(W x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: Botan::word3::extract
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: W
    signature: W extract()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word3::mul
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p0
    - p_dash
    argTypes:
    - W
    - W
    constantsTouched: []
    func_position:
      end: 600
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 600
    functionName: Botan::word3::monty_step
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - Botan::word3::mul
    linkageType: ''
    returnType: W
    signature: W monty_step(W p0, W p_dash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: Botan::word3::monty_step_pdash1
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: W
    signature: W monty_step_pdash1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:33,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:37,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:39,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:43,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:46,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:47,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:52,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:55,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:56,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:59,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:61,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:63,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 7
    argNames:
    - r
    - z
    - z_size
    - p
    - p_size
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - size_t
    - word[]
    - size_t
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 84
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 84
    functionName: Botan::bigint_monty_redc_generic
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty.cpp
    functionUses: 1
    functionsReached:
    - word3::monty_step
    - word3::extract
    - word3::add
    - word3::mul
    - Botan::bigint_monty_maybe_sub
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void bigint_monty_redc_generic(\n   word r[], const word z[], size_t
      z_size, const word p[], size_t p_size, word p_dash, word ws[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:19,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:20,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:21,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:22,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:23,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:24,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:25,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:26,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:27,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:28,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:29,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:30,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:31,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:32,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:33,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:34,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:35,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 37
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 37
    functionName: Botan::bigint_comba_sqr4
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 2
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr4(word z[8], const word x[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:45,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:46,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:47,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:48,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:49,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:50,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:51,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:52,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:53,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:54,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:55,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:56,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:57,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:58,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:59,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:60,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:61,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:62,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:63,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:64,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:65,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:66,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:67,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: Botan::bigint_comba_mul4
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 3
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul4(word z[8], const word x[4], const word y[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:77,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:78,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:79,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:80,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:81,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:82,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:83,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:84,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:85,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:86,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:87,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:88,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:89,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:90,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:91,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:92,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:93,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:94,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:95,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:96,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:97,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:98,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:99,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:100,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:101,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:102,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:103,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:104,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:105,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:106,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:107,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:108,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 110
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 110
    functionName: Botan::bigint_comba_sqr6
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 3
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr6(word z[12], const word x[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:118,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:119,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:120,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:121,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:122,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:123,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:124,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:125,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:126,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:127,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:128,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:129,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:130,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:131,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:132,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:133,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:134,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:135,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:136,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:137,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:138,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:139,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:140,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:141,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:142,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:143,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:144,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:145,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:146,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:147,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:148,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:149,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:150,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:151,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:152,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:153,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:154,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:155,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:156,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:157,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:158,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:159,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:160,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:161,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:162,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:163,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:164,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 166
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 166
    functionName: Botan::bigint_comba_mul6
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 4
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul6(word z[12], const word x[6], const word y[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:174,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:175,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:176,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:177,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:178,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:179,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:180,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:181,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:182,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:183,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:184,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:185,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:186,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:187,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:188,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:189,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:190,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:191,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:192,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:193,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:194,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:195,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:196,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:197,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:198,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:199,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:200,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:201,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:202,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:203,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:204,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:205,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:206,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:207,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:208,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:209,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:210,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:211,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:212,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:213,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:214,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 216
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 216
    functionName: Botan::bigint_comba_sqr7
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 0
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr7(word z[14], const word x[7])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:224,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:225,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:226,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:227,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:228,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:229,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:230,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:231,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:232,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:233,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:234,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:235,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:236,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:237,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:238,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:239,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:240,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:241,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:242,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:243,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:244,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:245,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:246,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:247,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:248,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:249,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:250,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:251,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:252,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:253,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:254,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:255,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:256,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:257,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:258,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:259,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:260,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:261,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:262,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:263,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:264,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:265,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:266,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:267,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:268,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:269,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:270,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:271,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:272,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:273,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:274,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:275,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:276,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:277,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:278,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:279,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:280,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:281,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:282,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:283,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:284,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:285,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 287
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 287
    functionName: Botan::bigint_comba_mul7
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 0
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul7(word z[14], const word x[7], const word y[7])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:295,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:296,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:297,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:298,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:299,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:300,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:301,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:302,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:303,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:304,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:305,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:306,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:307,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:308,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:309,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:310,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:311,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:312,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:313,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:314,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:315,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:316,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:317,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:318,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:319,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:320,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:321,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:322,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:323,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:324,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:325,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:326,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:327,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:328,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:329,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:330,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:331,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:332,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:333,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:334,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:335,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:336,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:337,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:338,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:339,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:340,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:341,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:342,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:343,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:344,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:345,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 347
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 347
    functionName: Botan::bigint_comba_sqr8
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 3
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr8(word z[16], const word x[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:355,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:356,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:357,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:358,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:359,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:360,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:361,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:362,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:363,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:364,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:365,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:366,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:367,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:368,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:369,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:370,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:371,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:372,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:373,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:374,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:375,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:376,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:377,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:378,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:379,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:380,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:381,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:382,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:383,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:384,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:385,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:386,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:387,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:388,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:389,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:390,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:391,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:392,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:393,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:394,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:395,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:396,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:397,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:398,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:399,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:400,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:401,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:402,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:403,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:404,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:405,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:406,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:407,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:408,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:409,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:410,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:411,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:412,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:413,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:414,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:415,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:416,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:417,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:418,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:419,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:420,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:421,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:422,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:423,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:424,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:425,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:426,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:427,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:428,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:429,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:430,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:431,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:432,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:433,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 81
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 435
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 435
    functionName: Botan::bigint_comba_mul8
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 4
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul8(word z[16], const word x[8], const word y[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:443,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:444,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:445,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:446,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:447,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:448,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:449,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:450,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:451,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:452,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:453,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:454,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:455,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:456,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:457,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:458,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:459,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:460,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:461,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:462,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:463,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:464,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:465,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:466,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:467,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:468,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:469,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:470,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:471,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:472,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:473,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:474,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:475,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:476,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:477,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:478,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:479,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:480,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:481,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:482,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:483,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:484,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:485,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:486,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:487,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:488,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:489,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:490,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:491,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:492,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:493,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:494,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:495,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:496,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:497,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:498,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:499,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:500,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:501,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:502,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:503,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:504,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 506
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 506
    functionName: Botan::bigint_comba_sqr9
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 3
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr9(word z[18], const word x[9])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:514,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:515,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:516,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:517,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:518,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:519,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:520,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:521,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:522,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:523,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:524,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:525,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:526,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:527,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:528,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:529,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:530,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:531,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:532,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:533,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:534,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:535,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:536,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:537,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:538,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:539,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:540,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:541,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:542,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:543,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:544,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:545,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:546,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:547,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:548,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:549,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:550,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:551,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:552,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:553,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:554,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:555,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:556,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:557,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:558,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:559,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:560,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:561,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:562,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:563,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:564,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:565,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:566,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:567,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:568,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:569,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:570,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:571,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:572,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:573,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:574,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:575,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:576,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:577,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:578,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:579,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:580,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:581,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:582,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:583,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:584,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:585,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:586,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:587,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:588,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:589,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:590,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:591,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:592,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:593,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:594,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:595,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:596,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:597,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:598,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:599,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:600,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:601,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:602,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:603,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:604,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:605,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:606,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:607,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:608,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:609,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:610,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:611,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 100
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 613
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 613
    functionName: Botan::bigint_comba_mul9
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 4
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul9(word z[18], const word x[9], const word y[9])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:621,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:622,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:623,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:624,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:625,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:626,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:627,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:628,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:629,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:630,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:631,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:632,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:633,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:634,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:635,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:636,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:637,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:638,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:639,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:640,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:641,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:642,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:643,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:644,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:645,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:646,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:647,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:648,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:649,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:650,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:651,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:652,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:653,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:654,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:655,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:656,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:657,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:658,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:659,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:660,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:661,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:662,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:663,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:664,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:665,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:666,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:667,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:668,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:669,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:670,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:671,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:672,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:673,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:674,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:675,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:676,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:677,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:678,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:679,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:680,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:681,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:682,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:683,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:684,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:685,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:686,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:687,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:688,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:689,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:690,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:691,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:692,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:693,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:694,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:695,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:696,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:697,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:698,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:699,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:700,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:701,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:702,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:703,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:704,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:705,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:706,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:707,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:708,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:709,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:710,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:711,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:712,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:713,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:714,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:715,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:716,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:717,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:718,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:719,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:720,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:721,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:722,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:723,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:724,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:725,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:726,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:727,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:728,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:729,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:730,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:731,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:732,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:733,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:734,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:735,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:736,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:737,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:738,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:739,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:740,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:741,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:742,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:743,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:744,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:745,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:746,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:747,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:748,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:749,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:750,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:751,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:752,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:753,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:754,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:755,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:756,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:757,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:758,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:759,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:760,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:761,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:762,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:763,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:764,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:765,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:766,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:767,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:768,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:769,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:770,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:771,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:772,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:773,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:774,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:775,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:776,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:777,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:778,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:779,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:780,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:781,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:782,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:783,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:784,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:785,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:786,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:787,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 169
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 789
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 789
    functionName: Botan::bigint_comba_sqr16
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 3
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr16(word z[32], const word x[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:797,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:798,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:799,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:800,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:801,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:802,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:803,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:804,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:805,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:806,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:807,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:808,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:809,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:810,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:811,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:812,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:813,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:814,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:815,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:816,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:817,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:818,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:819,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:820,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:821,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:822,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:823,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:824,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:825,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:826,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:827,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:828,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:829,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:830,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:831,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:832,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:833,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:834,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:835,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:836,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:837,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:838,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:839,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:840,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:841,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:842,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:843,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:844,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:845,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:846,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:847,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:848,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:849,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:850,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:851,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:852,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:853,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:854,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:855,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:856,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:857,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:858,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:859,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:860,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:861,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:862,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:863,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:864,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:865,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:866,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:867,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:868,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:869,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:870,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:871,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:872,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:873,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:874,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:875,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:876,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:877,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:878,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:879,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:880,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:881,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:882,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:883,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:884,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:885,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:886,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:887,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:888,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:889,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:890,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:891,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:892,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:893,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:894,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:895,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:896,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:897,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:898,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:899,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:900,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:901,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:902,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:903,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:904,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:905,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:906,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:907,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:908,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:909,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:910,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:911,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:912,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:913,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:914,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:915,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:916,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:917,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:918,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:919,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:920,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:921,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:922,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:923,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:924,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:925,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:926,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:927,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:928,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:929,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:930,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:931,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:932,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:933,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:934,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:935,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:936,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:937,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:938,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:939,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:940,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:941,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:942,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:943,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:944,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:945,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:946,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:947,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:948,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:949,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:950,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:951,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:952,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:953,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:954,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:955,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:956,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:957,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:958,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:959,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:960,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:961,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:962,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:963,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:964,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:965,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:966,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:967,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:968,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:969,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:970,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:971,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:972,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:973,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:974,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:975,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:976,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:977,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:978,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:979,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:980,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:981,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:982,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:983,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:984,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:985,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:986,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:987,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:988,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:989,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:990,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:991,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:992,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:993,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:994,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:995,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:996,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:997,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:998,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:999,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1000,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1001,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1002,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1003,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1004,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1005,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1006,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1007,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1008,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1009,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1010,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1011,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1012,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1013,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1014,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1015,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1016,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1017,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1018,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1019,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1020,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1021,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1022,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1023,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1024,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1025,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1026,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1027,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1028,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1029,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1030,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1031,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1032,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1033,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1034,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1035,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1036,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1037,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1038,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1039,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1040,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1041,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1042,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1043,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1044,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1045,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1046,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1047,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1048,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1049,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1050,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1051,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1052,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1053,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1054,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1055,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1056,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1057,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1058,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1059,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1060,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1061,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1062,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1063,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1064,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1065,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1066,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1067,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1068,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1069,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1070,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1071,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1072,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1073,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1074,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1075,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1076,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1077,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1078,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1079,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1080,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1081,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1082,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1083,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 289
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 1085
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 1085
    functionName: Botan::bigint_comba_mul16
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 4
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul16(word z[32], const word x[16], const word y[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1093,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1094,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1095,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1096,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1097,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1098,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1099,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1100,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1101,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1102,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1103,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1104,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1105,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1106,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1107,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1108,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1109,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1110,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1111,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1112,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1113,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1114,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1115,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1116,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1117,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1118,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1119,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1120,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1121,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1122,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1123,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1124,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1125,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1126,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1127,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1128,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1129,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1130,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1131,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1132,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1133,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1134,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1135,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1136,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1137,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1138,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1139,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1140,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1141,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1142,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1143,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1144,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1145,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1146,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1147,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1148,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1149,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1150,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1151,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1152,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1153,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1154,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1155,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1156,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1157,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1158,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1159,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1160,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1161,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1162,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1163,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1164,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1165,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1166,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1167,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1168,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1169,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1170,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1171,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1172,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1173,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1174,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1175,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1176,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1177,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1178,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1179,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1180,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1181,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1182,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1183,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1184,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1185,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1186,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1187,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1188,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1189,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1190,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1191,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1192,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1193,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1194,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1195,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1196,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1197,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1198,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1199,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1200,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1201,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1202,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1203,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1204,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1205,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1206,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1207,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1208,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1209,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1210,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1211,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1212,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1213,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1214,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1215,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1216,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1217,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1218,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1219,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1220,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1221,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1222,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1223,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1224,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1225,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1226,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1227,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1228,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1229,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1230,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1231,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1232,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1233,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1234,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1235,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1236,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1237,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1238,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1239,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1240,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1241,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1242,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1243,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1244,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1245,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1246,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1247,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1248,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1249,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1250,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1251,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1252,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1253,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1254,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1255,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1256,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1257,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1258,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1259,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1260,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1261,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1262,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1263,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1264,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1265,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1266,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1267,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1268,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1269,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1270,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1271,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1272,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1273,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1274,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1275,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1276,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1277,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1278,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1279,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1280,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1281,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1282,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1283,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1284,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1285,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1286,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1287,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1288,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1289,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1290,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1291,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1292,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1293,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1294,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1295,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1296,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1297,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1298,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1299,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1300,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1301,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1302,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1303,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1304,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1305,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1306,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1307,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1308,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1309,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1310,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1311,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1312,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1313,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1314,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1315,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1316,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1317,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1318,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1319,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1320,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1321,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1322,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1323,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1324,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1325,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1326,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1327,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1328,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1329,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1330,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1331,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1332,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1333,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1334,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1335,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1336,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1337,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1338,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1339,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1340,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1341,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1342,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1343,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1344,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1345,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1346,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1347,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1348,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1349,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1350,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1351,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1352,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1353,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1354,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1355,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1356,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1357,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1358,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1359,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1360,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1361,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1362,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1363,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1364,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1365,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1366,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1367,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1368,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1369,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1370,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1371,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1372,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1373,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1374,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1375,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1376,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1377,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1378,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1379,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1380,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1381,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1382,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1383,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1384,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1385,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1386,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1387,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1388,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1389,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1390,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1391,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1392,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1393,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1394,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1395,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1396,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1397,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1398,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1399,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1400,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1401,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1402,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1403,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1404,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1405,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1406,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1407,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1408,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1409,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1410,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1411,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1412,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1413,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1414,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1415,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1416,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1417,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1418,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1419,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1420,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1421,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1422,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1423,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1424,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1425,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1426,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1427,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1428,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1429,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1430,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1431,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1432,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1433,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1434,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1435,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1436,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1437,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1438,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1439,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 349
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 1441
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1441
    functionName: Botan::bigint_comba_sqr24
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 3
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr24(word z[48], const word x[24])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1449,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1450,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1451,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1452,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1453,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1454,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1455,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1456,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1457,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1458,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1459,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1460,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1461,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1462,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1463,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1464,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1465,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1466,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1467,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1468,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1469,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1470,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1471,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1472,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1473,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1474,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1475,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1476,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1477,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1478,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1479,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1480,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1481,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1482,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1483,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1484,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1485,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1486,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1487,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1488,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1489,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1490,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1491,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1492,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1493,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1494,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1495,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1496,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1497,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1498,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1499,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1500,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1501,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1502,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1503,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1504,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1505,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1506,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1507,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1508,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1509,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1510,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1511,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1512,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1513,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1514,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1515,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1516,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1517,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1518,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1519,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1520,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1521,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1522,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1523,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1524,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1525,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1526,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1527,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1528,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1529,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1530,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1531,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1532,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1533,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1534,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1535,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1536,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1537,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1538,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1539,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1540,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1541,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1542,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1543,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1544,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1545,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1546,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1547,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1548,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1549,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1550,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1551,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1552,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1553,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1554,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1555,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1556,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1557,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1558,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1559,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1560,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1561,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1562,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1563,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1564,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1565,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1566,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1567,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1568,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1569,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1570,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1571,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1572,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1573,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1574,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1575,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1576,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1577,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1578,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1579,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1580,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1581,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1582,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1583,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1584,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1585,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1586,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1587,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1588,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1589,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1590,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1591,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1592,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1593,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1594,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1595,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1596,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1597,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1598,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1599,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1600,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1601,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1602,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1603,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1604,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1605,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1606,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1607,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1608,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1609,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1610,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1611,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1612,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1613,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1614,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1615,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1616,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1617,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1618,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1619,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1620,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1621,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1622,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1623,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1624,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1625,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1626,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1627,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1628,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1629,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1630,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1631,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1632,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1633,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1634,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1635,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1636,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1637,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1638,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1639,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1640,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1641,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1642,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1643,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1644,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1645,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1646,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1647,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1648,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1649,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1650,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1651,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1652,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1653,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1654,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1655,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1656,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1657,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1658,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1659,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1660,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1661,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1662,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1663,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1664,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1665,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1666,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1667,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1668,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1669,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1670,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1671,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1672,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1673,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1674,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1675,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1676,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1677,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1678,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1679,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1680,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1681,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1682,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1683,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1684,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1685,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1686,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1687,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1688,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1689,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1690,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1691,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1692,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1693,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1694,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1695,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1696,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1697,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1698,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1699,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1700,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1701,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1702,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1703,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1704,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1705,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1706,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1707,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1708,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1709,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1710,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1711,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1712,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1713,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1714,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1715,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1716,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1717,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1718,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1719,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1720,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1721,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1722,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1723,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1724,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1725,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1726,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1727,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1728,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1729,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1730,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1731,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1732,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1733,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1734,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1735,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1736,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1737,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1738,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1739,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1740,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1741,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1742,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1743,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1744,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1745,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1746,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1747,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1748,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1749,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1750,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1751,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1752,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1753,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1754,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1755,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1756,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1757,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1758,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1759,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1760,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1761,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1762,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1763,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1764,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1765,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1766,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1767,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1768,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1769,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1770,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1771,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1772,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1773,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1774,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1775,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1776,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1777,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1778,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1779,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1780,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1781,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1782,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1783,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1784,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1785,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1786,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1787,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1788,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1789,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1790,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1791,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1792,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1793,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1794,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1795,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1796,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1797,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1798,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1799,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1800,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1801,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1802,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1803,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1804,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1805,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1806,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1807,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1808,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1809,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1810,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1811,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1812,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1813,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1814,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1815,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1816,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1817,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1818,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1819,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1820,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1821,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1822,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1823,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1824,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1825,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1826,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1827,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1828,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1829,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1830,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1831,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1832,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1833,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1834,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1835,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1836,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1837,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1838,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1839,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1840,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1841,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1842,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1843,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1844,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1845,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1846,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1847,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1848,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1849,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1850,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1851,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1852,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1853,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1854,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1855,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1856,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1857,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1858,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1859,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1860,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1861,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1862,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1863,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1864,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1865,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1866,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1867,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1868,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1869,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1870,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1871,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1872,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1873,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1874,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1875,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1876,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1877,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1878,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1879,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1880,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1881,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1882,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1883,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1884,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1885,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1886,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1887,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1888,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1889,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1890,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1891,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1892,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1893,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1894,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1895,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1896,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1897,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1898,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1899,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1900,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1901,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1902,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1903,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1904,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1905,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1906,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1907,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1908,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1909,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1910,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1911,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1912,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1913,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1914,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1915,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1916,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1917,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1918,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1919,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1920,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1921,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1922,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1923,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1924,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1925,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1926,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1927,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1928,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1929,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1930,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1931,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1932,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1933,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1934,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1935,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1936,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1937,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1938,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1939,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1940,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1941,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1942,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1943,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1944,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1945,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1946,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1947,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1948,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1949,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1950,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1951,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1952,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1953,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1954,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1955,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1956,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1957,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1958,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1959,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1960,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1961,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1962,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1963,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1964,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1965,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1966,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1967,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1968,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1969,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1970,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1971,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1972,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1973,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1974,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1975,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1976,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1977,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1978,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1979,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1980,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1981,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1982,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1983,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1984,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1985,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1986,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1987,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1988,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1989,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1990,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1991,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1992,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1993,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1994,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1995,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1996,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1997,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1998,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1999,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2000,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2001,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2002,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2003,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2004,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2005,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2006,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2007,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2008,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2009,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2010,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2011,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2012,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2013,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2014,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2015,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2016,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2017,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2018,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2019,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2020,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2021,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2022,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2023,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2024,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2025,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2026,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2027,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2028,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2029,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2030,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2031,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2032,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2033,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2034,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2035,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2036,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2037,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2038,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2039,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2040,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2041,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2042,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2043,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2044,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2045,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2046,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2047,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2048,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2049,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2050,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2051,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2052,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2053,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2054,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2055,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2056,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2057,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2058,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2059,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2060,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2061,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2062,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2063,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2064,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2065,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2066,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2067,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2068,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2069,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2070,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2071,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 625
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 2073
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 2073
    functionName: Botan::bigint_comba_mul24
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 4
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul24(word z[48], const word x[24], const word y[24])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:32,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:37,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cnd
    - x
    - y
    - size
    argTypes:
    - W
    - W[]
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: Botan::bigint_cnd_swap
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 2
    functionsReached:
    - Botan::sha512_msg_expand
    - auto::select
    linkageType: ''
    returnType: void
    signature: void bigint_cnd_swap(W cnd, W x[], W y[], size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:44,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:46,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:51,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:55,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - cnd
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: Botan::bigint_cnd_add
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 2
    functionsReached:
    - Botan::word_add
    - Botan::sha512_msg_expand
    - BOTAN_ASSERT
    - static_cast<W>
    linkageType: ''
    returnType: W
    signature: W bigint_cnd_add(W cnd, W x[], size_t x_size, const W y[], size_t y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cnd
    - x
    - y
    - size
    argTypes:
    - W
    - W[]
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Botan::bigint_cnd_add
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 3
    functionsReached:
    - Botan::bigint_cnd_add
    linkageType: ''
    returnType: W
    signature: W bigint_cnd_add(W cnd, W x[], const W y[], size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:76,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:78,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:83,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:87,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - cnd
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: Botan::bigint_cnd_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - static_cast<W>
    - Botan::sha512_msg_expand
    - BOTAN_ASSERT
    - Botan::word_sub
    linkageType: ''
    returnType: auto
    signature: auto bigint_cnd_sub(W cnd, W x[], size_t x_size, const W y[], size_t
      y_size) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_cnd_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cnd
    - x
    - y
    - size
    argTypes:
    - W
    - W[]
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::bigint_cnd_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 2
    functionsReached:
    - Botan::bigint_cnd_sub
    linkageType: ''
    returnType: auto
    signature: auto bigint_cnd_sub(W cnd, W x[], const W y[], size_t size) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_add3
      Src: /src/botan/src/lib/math/mp/mp_core.h:120,1
    - Dst: Botan::word8_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:121,1
    - Dst: CT::Mask<W>::select_n
      Src: /src/botan/src/lib/math/mp/mp_core.h:122,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:126,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:127,1
    - Dst: CT::Mask<W>::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - mask
    - x
    - y
    - size
    argTypes:
    - CT::Mask<W>
    - W[]
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 131
    functionName: Botan::bigint_cnd_add_or_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - CT::Mask<W>::select
    - Botan::word_add
    - Botan::word8_add3
    - Botan::word8_sub3
    - Botan::word_sub
    - CT::Mask<W>::select_n
    linkageType: ''
    returnType: void
    signature: void bigint_cnd_add_or_sub(CT::Mask<W> mask, W x[], const W y[], size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_add3
      Src: /src/botan/src/lib/math/mp/mp_core.h:153,1
    - Dst: Botan::word8_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:154,1
    - Dst: CT::Mask<W>::select_n
      Src: /src/botan/src/lib/math/mp/mp_core.h:155,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:159,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:160,1
    - Dst: CT::Mask<W>::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:161,1
    - Dst: CT::Mask<W>::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - mask
    - x
    - y
    - z
    - size
    argTypes:
    - CT::Mask<W>
    - W[]
    - W[]
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: Botan::bigint_cnd_addsub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - CT::Mask<W>::select
    - Botan::word_add
    - Botan::word8_add3
    - Botan::word8_sub3
    - Botan::word_sub
    - CT::Mask<W>::select_n
    linkageType: ''
    returnType: auto
    signature: auto bigint_cnd_addsub(CT::Mask<W> mask, W x[], const W y[], const
      W z[], size_t size) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:174,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:176,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:178,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:178,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cnd
    - x
    - size
    argTypes:
    - W
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: Botan::bigint_cnd_abs
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - Botan::sha512_msg_expand
    - Botan::word_add
    - static_cast<W>
    - auto::select
    - auto::if_set_return
    linkageType: ''
    returnType: void
    signature: void bigint_cnd_abs(W cnd, W x[], size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:190,1
    - Dst: Botan::word8_add2
      Src: /src/botan/src/lib/math/mp/mp_core.h:195,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:199,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:203,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 207
    functionName: Botan::bigint_add2_nc
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 5
    functionsReached:
    - Botan::word8_add2
    - Botan::word_add
    - BOTAN_ASSERT
    - static_cast<W>
    linkageType: ''
    returnType: auto
    signature: auto bigint_add2_nc(W x[], size_t x_size, const W y[], size_t y_size)
      -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_add3_nc
      Src: /src/botan/src/lib/math/mp/mp_core.h:215,1
    - Dst: Botan::word8_add3
      Src: /src/botan/src/lib/math/mp/mp_core.h:223,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:227,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:231,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - z
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: Botan::bigint_add3_nc
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 4
    functionsReached:
    - Botan::word_add
    - Botan::bigint_add3_nc
    - Botan::word8_add3
    - static_cast<W>
    linkageType: ''
    returnType: auto
    signature: auto bigint_add3_nc(W z[], const W x[], size_t x_size, const W y[],
      size_t y_size) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_core.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: Botan::bigint_add2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_add2_nc
    linkageType: ''
    returnType: void
    signature: void bigint_add2(W x[], size_t x_size, const W y[], size_t y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_add3_nc
      Src: /src/botan/src/lib/math/mp/mp_core.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - z
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: Botan::bigint_add3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_add3_nc
    linkageType: ''
    returnType: void
    signature: void bigint_add3(W z[], const W x[], size_t x_size, const W y[], size_t
      y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:264,1
    - Dst: Botan::word8_sub2
      Src: /src/botan/src/lib/math/mp/mp_core.h:269,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:273,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:277,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 281
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 281
    functionName: Botan::bigint_sub2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 2
    functionsReached:
    - static_cast<W>
    - BOTAN_ASSERT
    - Botan::word_sub
    - Botan::word8_sub2
    linkageType: ''
    returnType: auto
    signature: auto bigint_sub2(W x[], size_t x_size, const W y[], size_t y_size)
      -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_sub2_rev
      Src: /src/botan/src/lib/math/mp/mp_core.h:293,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:297,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - x
    - y
    - y_size
    argTypes:
    - W[]
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 301
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 301
    functionName: Botan::bigint_sub2_rev
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::word8_sub2_rev
    - BOTAN_ASSERT
    - Botan::word_sub
    linkageType: ''
    returnType: void
    signature: void bigint_sub2_rev(W x[], const W y[], size_t y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:314,1
    - Dst: Botan::word8_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:319,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:323,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:327,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - z
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 331
    functionName: Botan::bigint_sub3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 4
    functionsReached:
    - static_cast<W>
    - BOTAN_ASSERT
    - Botan::word8_sub3
    - Botan::word_sub
    linkageType: ''
    returnType: auto
    signature: auto bigint_sub3(W z[], const W x[], size_t x_size, const W y[], size_t
      y_size) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:350,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:354,1
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - N
    - z
    - x0
    - x
    - p
    argTypes:
    - size_t
    - W[]
    - W
    - W[]
    - W[]
    constantsTouched: []
    func_position:
      end: 360
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 360
    functionName: Botan::bigint_monty_maybe_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 11
    functionsReached:
    - Botan::CT::conditional_assign_mem
    - Botan::word8_sub3
    - Botan::word_sub
    linkageType: ''
    returnType: void
    signature: void bigint_monty_maybe_sub(size_t N, W z[], W x0, const W x[], const
      W p[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:377,1
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - z
    - x0
    - x
    - y
    argTypes:
    - W[]
    - W
    - W[]
    - W[]
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: Botan::bigint_monty_maybe_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 11
    functionsReached:
    - Botan::CT::conditional_assign_mem
    - Botan::word_sub
    linkageType: ''
    returnType: void
    signature: void bigint_monty_maybe_sub(W z[N], W x0, const W x[N], const W y[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:410,1
    - Dst: Botan::word8_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:411,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:415,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:416,1
    - Dst: Botan::CT::conditional_copy_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - z
    - x
    - y
    - N
    - ws
    argTypes:
    - W[]
    - W[]
    - W[]
    - size_t
    - W[]
    constantsTouched: []
    func_position:
      end: 420
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 420
    functionName: Botan::bigint_sub_abs
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 3
    functionsReached:
    - Botan::word8_sub3
    - Botan::word_sub
    - Botan::CT::conditional_copy_mem
    linkageType: ''
    returnType: auto
    signature: auto bigint_sub_abs(W z[], const W x[], const W y[], size_t N, W ws[])
      -> CT::Mask<W>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:430,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:431,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:433,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:434,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - x
    - x_size
    - x_words
    - shift
    argTypes:
    - W[]
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 442
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 442
    functionName: Botan::bigint_shl1
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - Botan::copy_mem
    - Botan::sha512_msg_expand
    - Botan::clear_mem
    - auto::if_set_return
    linkageType: ''
    returnType: void
    signature: void bigint_shl1(W x[], size_t x_size, size_t x_words, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:452,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:454,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/mp/mp_core.h:454,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:456,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:457,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - x
    - x_size
    - shift
    argTypes:
    - W[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 466
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 466
    functionName: Botan::bigint_shr1
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - Botan::sha512_msg_expand
    - Botan::clear_mem
    - auto::if_set_return
    - Botan::copy_mem
    - std::min
    linkageType: ''
    returnType: void
    signature: void bigint_shr1(W x[], size_t x_size, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:473,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:475,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:476,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - y
    - x
    - x_size
    - shift
    argTypes:
    - W[]
    - W[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 484
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 484
    functionName: Botan::bigint_shl2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - Botan::copy_mem
    - Botan::sha512_msg_expand
    - auto::if_set_return
    linkageType: ''
    returnType: void
    signature: void bigint_shl2(W y[], const W x[], size_t x_size, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:493,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:496,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:497,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - y
    - x
    - x_size
    - shift
    argTypes:
    - W[]
    - W[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 505
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 505
    functionName: Botan::bigint_shr2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 3
    functionsReached:
    - Botan::copy_mem
    - Botan::sha512_msg_expand
    - auto::if_set_return
    linkageType: ''
    returnType: void
    signature: void bigint_shr2(W y[], const W x[], size_t x_size, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_linmul2
      Src: /src/botan/src/lib/math/mp/mp_core.h:517,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_core.h:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - x
    - x_size
    - y
    argTypes:
    - W[]
    - size_t
    - W
    constantsTouched: []
    func_position:
      end: 525
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 525
    functionName: Botan::bigint_linmul2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::word_madd2
    - Botan::word8_linmul2
    linkageType: ''
    returnType: auto
    signature: auto bigint_linmul2(W x[], size_t x_size, W y) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_linmul3
      Src: /src/botan/src/lib/math/mp/mp_core.h:534,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_core.h:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - z
    - x
    - x_size
    - y
    argTypes:
    - W[]
    - W[]
    - size_t
    - W
    constantsTouched: []
    func_position:
      end: 542
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 542
    functionName: Botan::bigint_linmul3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 4
    functionsReached:
    - Botan::word8_linmul3
    - Botan::word_madd2
    linkageType: ''
    returnType: void
    signature: void bigint_linmul3(W z[], const W x[], size_t x_size, W y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:554,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/mp/mp_core.h:563,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/math/mp/mp_core.h:564,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:566,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:566,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/mp/mp_core.h:576,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/mp/mp_core.h:584,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/mp/mp_core.h:587,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:588,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/math/mp/mp_core.h:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 590
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 590
    functionName: Botan::bigint_cmp
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - Botan::BigInt::is_equal
    - static_cast<int32_t>
    - Botan::bigint_ct_is_lt
    - static_cast<W>
    - BOTAN_DEBUG_ASSERT
    - cryptofuzz_secp256k1_scalar_is_zero
    - auto::select
    - Botan::CT::unpoison
    linkageType: ''
    returnType: int32_t
    signature: int32_t bigint_cmp(const W x[], size_t x_size, const W y[], size_t
      y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:602,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/mp/mp_core.h:605,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/math/mp/mp_core.h:606,1
    - Dst: auto::select_mask
      Src: /src/botan/src/lib/math/mp/mp_core.h:607,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:616,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/mp/mp_core.h:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 628
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 628
    functionName: Botan::bigint_ct_is_lt
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 9
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::sha512_msg_expand
    - Botan::bigint_ct_is_lt
    - auto::select_mask
    - cryptofuzz_secp256k1_scalar_is_zero
    linkageType: ''
    returnType: auto
    signature: "auto bigint_ct_is_lt(const W x[], size_t x_size, const W y[], size_t
      y_size, bool lt_or_equal = false)\n   -> CT::Mask<W>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/math/mp/mp_core.h:651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 652
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 652
    functionName: Botan::bigint_ct_is_eq
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_scalar_is_zero
    linkageType: ''
    returnType: auto
    signature: auto bigint_ct_is_eq(const W x[], size_t x_size, const W y[], size_t
      y_size) -> CT::Mask<W>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::conditional_swap_ptr
      Src: /src/botan/src/lib/math/mp/mp_core.h:673,1
    - Dst: Botan::CT::conditional_swap
      Src: /src/botan/src/lib/math/mp/mp_core.h:674,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/mp/mp_core.h:681,1
    - Dst: Botan::bigint_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - z
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 686
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 686
    functionName: Botan::bigint_sub_abs
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 3
    functionsReached:
    - Botan::CT::conditional_swap
    - std::min
    - Botan::bigint_sub3
    - Botan::CT::conditional_swap_ptr
    linkageType: ''
    returnType: int32_t
    signature: int32_t bigint_sub_abs(W z[], const W x[], size_t x_size, const W y[],
      size_t y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:700,1
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:703,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - t
    - s
    - mod
    - mod_sw
    - ws
    argTypes:
    - W[]
    - W[]
    - W[]
    - size_t
    - W[]
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: Botan::bigint_mod_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    - Botan::bigint_sub3
    - Botan::bigint_cnd_add
    linkageType: ''
    returnType: void
    signature: void bigint_mod_sub(W t[], const W s[], const W mod[], size_t mod_sw,
      W ws[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/mp/mp_core.h:714,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:721,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - n1
    - n0
    - d
    argTypes:
    - W
    - W
    - W
    constantsTouched: []
    func_position:
      end: 741
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 741
    functionName: Botan::bigint_divop_vartime
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - static_cast<W>
    - Invalid_Argument
    linkageType: ''
    returnType: auto
    signature: auto bigint_divop_vartime(W n1, W n0, W d) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/mp/mp_core.h:749,1
    - Dst: Botan::bigint_divop_vartime
      Src: /src/botan/src/lib/math/mp/mp_core.h:752,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_core.h:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - n1
    - n0
    - d
    argTypes:
    - W
    - W
    - W
    constantsTouched: []
    func_position:
      end: 756
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 756
    functionName: Botan::bigint_modop_vartime
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - Botan::bigint_divop_vartime
    - Botan::word_madd2
    - Invalid_Argument
    linkageType: ''
    returnType: auto
    signature: auto bigint_modop_vartime(W n1, W n0, W d) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/mp/mp_core.h:768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 792
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 792
    functionName: Botan::monty_inverse
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: auto
    signature: auto monty_inverse(W a) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 806
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 806
    functionName: Botan::shift_left
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: W
    signature: W shift_left(std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 820
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 820
    functionName: Botan::shift_right
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: W
    signature: W shift_right(std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int8_t>
      Src: /src/botan/src/lib/math/mp/mp_core.h:836,1
    - Dst: static_cast<int8_t>
      Src: /src/botan/src/lib/math/mp/mp_core.h:838,1
    - Dst: static_cast<int8_t>
      Src: /src/botan/src/lib/math/mp/mp_core.h:840,1
    - Dst: Botan::shift_left
      Src: /src/botan/src/lib/math/mp/mp_core.h:851,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - (s)
    argTypes:
    - char[]
    constantsTouched: []
    func_position:
      end: 857
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 857
    functionName: Botan::hex_to_words
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::shift_left
    - static_cast<int8_t>
    linkageType: ''
    returnType: auto
    signature: auto hex_to_words(const char (&s)[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_core.h:883,1
    - Dst: Botan::bigint_comba_mul4
      Src: /src/botan/src/lib/math/mp/mp_core.h:885,1
    - Dst: Botan::bigint_comba_mul6
      Src: /src/botan/src/lib/math/mp/mp_core.h:888,1
    - Dst: Botan::bigint_comba_mul7
      Src: /src/botan/src/lib/math/mp/mp_core.h:891,1
    - Dst: Botan::bigint_comba_mul8
      Src: /src/botan/src/lib/math/mp/mp_core.h:894,1
    - Dst: Botan::bigint_comba_mul9
      Src: /src/botan/src/lib/math/mp/mp_core.h:897,1
    - Dst: Botan::bigint_comba_mul16
      Src: /src/botan/src/lib/math/mp/mp_core.h:900,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_core.h:911,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_core.h:913,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - W[]
    - W[]
    - W[]
    constantsTouched: []
    func_position:
      end: 915
      start: 882
    functionDepth: 2
    functionLinenumber: 882
    functionLinenumberEnd: 915
    functionName: Botan::comba_mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 4
    functionsReached:
    - Botan::bigint_comba_mul8
    - word3::extract
    - Botan::bigint_comba_mul6
    - Botan::bigint_comba_mul9
    - std::is_constant_evaluated
    - Botan::bigint_comba_mul7
    - Botan::bigint_comba_mul16
    - word3::mul
    - Botan::bigint_comba_mul4
    linkageType: ''
    returnType: void
    signature: void comba_mul(W z[2 * N], const W x[N], const W y[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_core.h:919,1
    - Dst: Botan::bigint_comba_sqr4
      Src: /src/botan/src/lib/math/mp/mp_core.h:921,1
    - Dst: Botan::bigint_comba_sqr6
      Src: /src/botan/src/lib/math/mp/mp_core.h:924,1
    - Dst: Botan::bigint_comba_sqr7
      Src: /src/botan/src/lib/math/mp/mp_core.h:927,1
    - Dst: Botan::bigint_comba_sqr8
      Src: /src/botan/src/lib/math/mp/mp_core.h:930,1
    - Dst: Botan::bigint_comba_sqr9
      Src: /src/botan/src/lib/math/mp/mp_core.h:933,1
    - Dst: Botan::bigint_comba_sqr16
      Src: /src/botan/src/lib/math/mp/mp_core.h:936,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_core.h:947,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_core.h:949,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - W[]
    - W[]
    constantsTouched: []
    func_position:
      end: 951
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 951
    functionName: Botan::comba_sqr
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - Botan::bigint_comba_sqr8
    - Botan::bigint_comba_sqr9
    - word3::extract
    - std::is_constant_evaluated
    - Botan::bigint_comba_sqr6
    - word3::mul
    - Botan::bigint_comba_sqr4
    - Botan::bigint_comba_sqr7
    - Botan::bigint_comba_sqr16
    linkageType: ''
    returnType: void
    signature: void comba_sqr(W z[2 * N], const W x[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/mp/mp_core.h:991,1
    - Dst: Botan::bigint_monty_redc_4
      Src: /src/botan/src/lib/math/mp/mp_core.h:994,1
    - Dst: Botan::bigint_monty_redc_6
      Src: /src/botan/src/lib/math/mp/mp_core.h:996,1
    - Dst: Botan::bigint_monty_redc_8
      Src: /src/botan/src/lib/math/mp/mp_core.h:998,1
    - Dst: Botan::bigint_monty_redc_12
      Src: /src/botan/src/lib/math/mp/mp_core.h:1000,1
    - Dst: Botan::bigint_monty_redc_16
      Src: /src/botan/src/lib/math/mp/mp_core.h:1002,1
    - Dst: Botan::bigint_monty_redc_24
      Src: /src/botan/src/lib/math/mp/mp_core.h:1004,1
    - Dst: Botan::bigint_monty_redc_32
      Src: /src/botan/src/lib/math/mp/mp_core.h:1006,1
    - Dst: Botan::bigint_monty_redc_generic
      Src: /src/botan/src/lib/math/mp/mp_core.h:1008,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 7
    argNames:
    - r
    - z
    - p
    - p_size
    - p_dash
    - ws
    - ws_size
    argTypes:
    - word[]
    - word[]
    - word[]
    - size_t
    - word
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1010
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 1010
    functionName: Botan::bigint_monty_redc
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_monty_redc_24
    - Botan::bigint_monty_redc_8
    - Botan::bigint_monty_redc_32
    - Botan::bigint_monty_redc_generic
    - Botan::bigint_monty_redc_6
    - Botan::bigint_monty_redc_16
    - BOTAN_ARG_CHECK
    - Botan::bigint_monty_redc_4
    - Botan::bigint_monty_redc_12
    linkageType: ''
    returnType: void
    signature: "void bigint_monty_redc(\n   word r[], const word z[], const word p[],
      size_t p_size, word p_dash, word ws[], size_t ws_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_monty_redc
      Src: /src/botan/src/lib/math/mp/mp_core.h:1013,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - z
    - p
    - p_size
    - p_dash
    - ws
    - ws_size
    argTypes:
    - word[]
    - word[]
    - size_t
    - word
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 3
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: Botan::bigint_monty_redc_inplace
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_monty_redc
    - Botan::clear_mem
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_inplace(word z[], const word p[], size_t p_size,
      word p_dash, word ws[], size_t ws_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_core.h:1065,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_core.h:1070,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_core.h:1072,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1072,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_core.h:1093,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1111,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1111,1
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:1116,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1116,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1116,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:1121,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:1123,1
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:1128,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1128,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - z
    argTypes:
    - std::span<const W, 2 * N>
    constantsTouched: []
    func_position:
      end: 1131
      start: 1056
    functionDepth: 4
    functionLinenumber: 1056
    functionLinenumberEnd: 1131
    functionName: Botan::redc_crandall
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - std::is_constant_evaluated
    - Botan::CT::conditional_assign_mem
    - Botan::word_madd2
    - Botan::word_sub
    - Botan::word_madd3
    - Botan::bigint_add2_nc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc_crandall(std::span<const W, 2 * N> z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_sub2
      Src: /src/botan/src/lib/math/mp/mp_core.h:1139,1
    - Dst: data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1139,1
    - Dst: data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1139,1
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:1140,1
    - Dst: data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1140,1
    - Dst: data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r'
    - ' P'
    - ' C'
    argTypes:
    - std::array<W, N>
    - std::array<W, N>
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 1141
      start: 1137
    functionDepth: 3
    functionLinenumber: 1137
    functionLinenumberEnd: 1141
    functionName: Botan::bigint_correct_redc
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - data
    - Botan::bigint_cnd_add
    - Botan::bigint_sub2
    linkageType: ''
    returnType: void
    signature: void bigint_correct_redc(std::array<W, N>& r, const std::array<W, N>&
      P, const std::array<W, N>& C)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const W, N>::size
      Src: /src/botan/src/lib/math/mp/mp_core.h:1152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - words
    - offset
    argTypes:
    - std::span<const W, N>
    - size_t
    constantsTouched: []
    func_position:
      end: 1166
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1166
    functionName: Botan::read_window_bits
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - std::span<const W, N>::size
    linkageType: ''
    returnType: size_t
    signature: size_t read_window_bits(std::span<const W, N> words, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~RandomNumberGenerator()
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RandomNumberGenerator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomNumberGenerator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomNumberGenerator(const RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fill_bytes_with_input
      Src: /src/botan/src/lib/rng/rng.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::randomize
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 5
    functionsReached:
    - Botan::fill_bytes_with_input
    linkageType: ''
    returnType: void
    signature: void randomize(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/rng/rng.h:70,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/rng.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - output
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::randomize
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 6
    functionsReached:
    - std::span
    - Botan::randomize
    linkageType: ''
    returnType: void
    signature: void randomize(uint8_t output[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fill_bytes_with_input
      Src: /src/botan/src/lib/rng/rng.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::add_entropy
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 0
    functionsReached:
    - Botan::fill_bytes_with_input
    linkageType: ''
    returnType: void
    signature: void add_entropy(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::add_entropy
      Src: /src/botan/src/lib/rng/rng.h:93,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/rng.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan::add_entropy
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 1
    functionsReached:
    - std::span
    - Botan::add_entropy
    linkageType: ''
    returnType: void
    signature: void add_entropy(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::add_entropy
      Src: /src/botan/src/lib/rng/rng.h:101,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/rng/rng.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::add_entropy_T
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 0
    functionsReached:
    - Botan::add_entropy
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: void
    signature: void add_entropy_T(const T& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fill_bytes_with_input
      Src: /src/botan/src/lib/rng/rng.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: Botan::randomize_with_input
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 0
    functionsReached:
    - Botan::fill_bytes_with_input
    linkageType: ''
    returnType: void
    signature: void randomize_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize_with_input
      Src: /src/botan/src/lib/rng/rng.h:125,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/rng.h:125,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/rng.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - output
    - output_len
    - input
    - input_len
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::randomize_with_input
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 1
    functionsReached:
    - std::span
    - Botan::randomize_with_input
    linkageType: ''
    returnType: void
    signature: void randomize_with_input(uint8_t output[], size_t output_len, const
      uint8_t input[], size_t input_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize_with_ts_input
      Src: /src/botan/src/lib/rng/rng.h:145,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/rng.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - output
    - output_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: Botan::randomize_with_ts_input
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 1
    functionsReached:
    - std::span
    - Botan::randomize_with_ts_input
    linkageType: ''
    returnType: void
    signature: void randomize_with_ts_input(uint8_t output[], size_t output_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/rng/rng.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: Botan::random_vec
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 3
    functionsReached:
    - Botan::randomize
    linkageType: ''
    returnType: void
    signature: void random_vec(std::span<uint8_t> v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/rng/rng.h:208,1
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/rng/rng.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' v'
    - bytes
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: Botan::random_vec
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 4
    functionsReached:
    - resize
    - Botan::random_vec
    linkageType: ''
    returnType: void
    signature: void random_vec(T& v, size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/rng/rng.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: Botan::random_vec
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 5
    functionsReached:
    - Botan::random_vec
    linkageType: ''
    returnType: T
    signature: T random_vec(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/rng/rng.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: Botan::random_array
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 0
    functionsReached:
    - Botan::random_vec
    linkageType: ''
    returnType: std::array<uint8_t, bytes>
    signature: std::array<uint8_t, bytes> random_array()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fill_bytes_with_input
      Src: /src/botan/src/lib/rng/rng.h:246,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/rng.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: Botan::next_byte
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 1
    functionsReached:
    - std::span
    - Botan::fill_bytes_with_input
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t next_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::next_byte
      Src: /src/botan/src/lib/rng/rng.h:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: Botan::next_nonzero_byte
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 0
    functionsReached:
    - Botan::next_byte
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t next_nonzero_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 312
    functionName: RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Null_RNG
    signature: Null_RNG RandomNumberGenerator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RandomNumberGenerator::accepts_input
      Src: /src/botan/src/lib/rng/rng.cpp:28,1
    - Dst: store_le
      Src: /src/botan/src/lib/rng/rng.cpp:32,1
    - Dst: subspan
      Src: /src/botan/src/lib/rng/rng.cpp:32,1
    - Dst: Botan::OS::get_high_resolution_clock
      Src: /src/botan/src/lib/rng/rng.cpp:32,1
    - Dst: store_le
      Src: /src/botan/src/lib/rng/rng.cpp:33,1
    - Dst: subspan
      Src: /src/botan/src/lib/rng/rng.cpp:33,1
    - Dst: Botan::OS::get_process_id
      Src: /src/botan/src/lib/rng/rng.cpp:33,1
    - Dst: system_rng
      Src: /src/botan/src/lib/rng/rng.cpp:40,1
    - Dst: subspan
      Src: /src/botan/src/lib/rng/rng.cpp:40,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/rng/rng.cpp:42,1
    - Dst: Botan::RandomNumberGenerator::fill_bytes_with_input
      Src: /src/botan/src/lib/rng/rng.cpp:45,1
    - Dst: Botan::RandomNumberGenerator::fill_bytes_with_input
      Src: /src/botan/src/lib/rng/rng.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: Botan::RandomNumberGenerator::randomize_with_ts_input
    functionSourceFile: /src/botan/src/lib/rng/rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - subspan
    - Botan::OS::get_high_resolution_clock
    - Botan::OS::get_process_id
    - store_le
    - Botan::RandomNumberGenerator::fill_bytes_with_input
    - Botan::RandomNumberGenerator::accepts_input
    - system_rng
    linkageType: ''
    returnType: void
    signature: void RandomNumberGenerator::randomize_with_ts_input(std::span<uint8_t>
      output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RandomNumberGenerator::accepts_input
      Src: /src/botan/src/lib/rng/rng.cpp:52,1
    - Dst: poll
      Src: /src/botan/src/lib/rng/rng.cpp:54,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/rng/rng.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' srcs'
    - poll_bits
    - poll_timeout
    argTypes:
    - Entropy_Sources
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: Botan::RandomNumberGenerator::reseed
    functionSourceFile: /src/botan/src/lib/rng/rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::RandomNumberGenerator::accepts_input
    - poll
    linkageType: ''
    returnType: size_t
    signature: size_t RandomNumberGenerator::reseed(Entropy_Sources& srcs, size_t
      poll_bits, std::chrono::milliseconds poll_timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RandomNumberGenerator::accepts_input
      Src: /src/botan/src/lib/rng/rng.cpp:64,1
    - Dst: Botan::RandomNumberGenerator::add_entropy
      Src: /src/botan/src/lib/rng/rng.cpp:65,1
    - Dst: random_vec
      Src: /src/botan/src/lib/rng/rng.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' rng'
    - poll_bits
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Botan::RandomNumberGenerator::reseed_from_rng
    functionSourceFile: /src/botan/src/lib/rng/rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::RandomNumberGenerator::add_entropy
    - Botan::RandomNumberGenerator::accepts_input
    - random_vec
    linkageType: ''
    returnType: void
    signature: void RandomNumberGenerator::reseed_from_rng(RandomNumberGenerator&
      rng, size_t poll_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/rng.cpp:71,1
    - Dst: PRNG_Unseeded
      Src: /src/botan/src/lib/rng/rng.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: Botan::Null_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/rng.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::empty
    - PRNG_Unseeded
    linkageType: ''
    returnType: void
    signature: void Null_RNG::fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Processor_RNG
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 44
    functionName: Botan::Hardware_RNG
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.h
    functionUses: 0
    functionsReached:
    - Processor_RNG
    linkageType: ''
    returnType: Processor_RNG
    signature: Processor_RNG Hardware_RNG
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _rdrand32_step
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:61,1
    - Dst: _rdrand64_step
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:63,1
    - Dst: reinterpret_cast<unsigned long long*>
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' success'
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 91
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 91
    functionName: Botan::read_hwrng
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 0
    functionsReached:
    - _rdrand64_step
    - _rdrand32_step
    - reinterpret_cast<unsigned long long*>
    linkageType: ''
    returnType: hwrng_output
    signature: hwrng_output read_hwrng(bool& success)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::read_hwrng
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:96,1
    - Dst: PRNG_Unseeded
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: Botan::read_hwrng
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 1
    functionsReached:
    - Botan::read_hwrng
    - PRNG_Unseeded
    linkageType: ''
    returnType: hwrng_output
    signature: hwrng_output read_hwrng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:111,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: Botan::Processor_RNG::available
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 3
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: bool
    signature: bool Processor_RNG::available()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: Botan::Processor_RNG::name
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Processor_RNG::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:131,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:133,1
    - Dst: read_hwrng
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:134,1
    - Dst: store_le
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:135,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:135,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:136,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:139,1
    - Dst: read_hwrng
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:141,1
    - Dst: store_le
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:143,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: Botan::Processor_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::span<uint8_t>::subspan
    - std::span<uint8_t>::size
    - store_le
    - read_hwrng
    - std::span<uint8_t>::empty
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void Processor_RNG::fill_bytes_with_input(std::span<uint8_t> out, std::span<const
      uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Processor_RNG::available
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:152,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: Botan::Processor_RNG::Processor_RNG
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 2
    functionsReached:
    - Invalid_State
    - Botan::Processor_RNG::available
    linkageType: ''
    returnType: void
    signature: void Processor_RNG::Processor_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: Botan::Processor_RNG::reseed
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t Processor_RNG::reseed(Entropy_Sources& /*srcs*/,\n                             size_t
      /*poll_bits*/,\n                             std::chrono::milliseconds /*poll_timeout*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ESDM_RNG
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 107
    functionName: Botan::Botan::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.h
    functionUses: 0
    functionsReached:
    - ESDM_RNG
    linkageType: ''
    returnType: ESDM_RNG
    signature: ESDM_RNG Botan::RandomNumberGenerator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ESDM_Context::acquire
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: Botan::ESDM_Context::instance
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 0
    functionsReached:
    - ESDM_Context::acquire
    linkageType: ''
    returnType: std::shared_ptr<void>
    signature: std::shared_ptr<void> instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::ESDM_Context::ESDM_Context
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ESDM_Context()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: esdm_rpcc_init_unpriv_service
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:35,1
    - Dst: Botan::System_Error::System_Error
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:36,1
    - Dst: Botan::ESDM_Context::release
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: Botan::ESDM_Context::acquire
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::ESDM_Context::release
    - Botan::System_Error::System_Error
    - esdm_rpcc_init_unpriv_service
    linkageType: ''
    returnType: std::shared_ptr<void>
    signature: std::shared_ptr<void> acquire()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: esdm_rpcc_fini_unpriv_service
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: Botan::ESDM_Context::release
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 1
    functionsReached:
    - esdm_rpcc_fini_unpriv_service
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ESDM_Context::instance
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prediction_resistance
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: Botan::ESDM_RNG::ESDM_RNG
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::ESDM_Context::instance
    linkageType: ''
    returnType: void
    signature: void ESDM_RNG::ESDM_RNG(bool prediction_resistance)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:66,1
    - Dst: esdm_invoke
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:73,1
    - Dst: esdm_rpcc_write_data
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:73,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:73,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:73,1
    - Dst: Botan::System_Error::System_Error
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:78,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:82,1
    - Dst: esdm_invoke
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:86,1
    - Dst: esdm_rpcc_get_random_bytes_pr
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:86,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:86,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:86,1
    - Dst: esdm_invoke
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:88,1
    - Dst: esdm_rpcc_get_random_bytes_full
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:88,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:88,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:88,1
    - Dst: static_cast<ssize_t>
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:93,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:93,1
    - Dst: Botan::System_Error::System_Error
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 97
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 97
    functionName: Botan::ESDM_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 0
    functionsReached:
    - esdm_invoke
    - std::span<uint8_t>::size
    - esdm_rpcc_write_data
    - esdm_rpcc_get_random_bytes_pr
    - esdm_rpcc_get_random_bytes_full
    - std::span<const uint8_t>::size
    - std::span<uint8_t>::empty
    - static_cast<ssize_t>
    - std::span<uint8_t>::data
    - std::span<const uint8_t>::data
    - Botan::System_Error::System_Error
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void ESDM_RNG::fill_bytes_with_input(std::span<uint8_t> out, std::span<const
      uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: Botan::esdm_rng
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RandomNumberGenerator
    signature: RandomNumberGenerator & esdm_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:15,1
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:16,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 3
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: Botan::ChaCha_RNG::ChaCha_RNG
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 3
    functionsReached:
    - Botan::StreamCipher::create_or_throw
    - clear
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::ChaCha_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:21,1
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:22,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:23,1
    - Dst: add_entropy
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: Botan::ChaCha_RNG::ChaCha_RNG
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 3
    functionsReached:
    - Botan::StreamCipher::create_or_throw
    - clear
    - add_entropy
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::ChaCha_RNG(std::span<const uint8_t> seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:29,1
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:30,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' underlying_rng'
    - reseed_interval
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: Botan::ChaCha_RNG::ChaCha_RNG
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 3
    functionsReached:
    - Botan::StreamCipher::create_or_throw
    - clear
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::ChaCha_RNG(RandomNumberGenerator& underlying_rng,
      size_t reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:38,1
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:39,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' underlying_rng'
    - ' entropy_sources'
    - reseed_interval
    argTypes:
    - RandomNumberGenerator
    - Entropy_Sources
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: Botan::ChaCha_RNG::ChaCha_RNG
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 3
    functionsReached:
    - Botan::StreamCipher::create_or_throw
    - clear
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: void
    signature: "void ChaCha_RNG::ChaCha_RNG(RandomNumberGenerator& underlying_rng,\n
      \                      Entropy_Sources& entropy_sources,\n                       size_t
      reseed_interval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:45,1
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:46,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' entropy_sources'
    - reseed_interval
    argTypes:
    - Entropy_Sources
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: Botan::ChaCha_RNG::ChaCha_RNG
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 3
    functionsReached:
    - Botan::StreamCipher::create_or_throw
    - clear
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::ChaCha_RNG(Entropy_Sources& entropy_sources, size_t
      reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:51,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:51,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:51,1
    - Dst: set_key
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:52,1
    - Dst: final
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: Botan::ChaCha_RNG::clear_state
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - set_key
    - output_length
    - final
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::clear_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:56,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:56,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:58,1
    - Dst: Botan::ChaCha_RNG::update
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:59,1
    - Dst: write_keystream
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: Botan::ChaCha_RNG::generate_output
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::empty
    - write_keystream
    - Botan::ChaCha_RNG::update
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::generate_output(std::span<uint8_t> output, std::span<const
      uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ChaCha_RNG::update
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:66,1
    - Dst: set_key
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:67,1
    - Dst: final
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:67,1
    - Dst: keystream_bytes
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:68,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:68,1
    - Dst: set_key
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: Botan::ChaCha_RNG::update
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 2
    functionsReached:
    - set_key
    - keystream_bytes
    - Botan::ChaCha_RNG::update
    - output_length
    - final
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::ChaCha_RNG::security_level
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha_RNG::security_level() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha_RNG
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 119
    functionName: Botan::Stateful_RNG
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.h
    functionUses: 0
    functionsReached:
    - ChaCha_RNG
    linkageType: ''
    returnType: ChaCha_RNG
    signature: ChaCha_RNG Stateful_RNG
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mac_output_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: Botan::hmac_drbg_security_level
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hmac_drbg_security_level(size_t mac_output_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:36,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:37,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - reseed_interval
    - max_number_of_bytes_per_request
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: Botan::check_limits
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void check_limits(size_t reseed_interval, size_t max_number_of_bytes_per_request)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:52,1
    - Dst: hmac_drbg_security_level
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:54,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:54,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:55,1
    - Dst: check_limits
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:57,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - prf
    - ' underlying_rng'
    - reseed_interval
    - max_number_of_bytes_per_request
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - RandomNumberGenerator
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: Botan::HMAC_DRBG::HMAC_DRBG
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - clear
    - hmac_drbg_security_level
    - BOTAN_ASSERT_NONNULL
    - output_length
    - check_limits
    linkageType: ''
    returnType: void
    signature: "void HMAC_DRBG::HMAC_DRBG(std::unique_ptr<MessageAuthenticationCode>
      prf,\n                     RandomNumberGenerator& underlying_rng,\n                     size_t
      reseed_interval,\n                     size_t max_number_of_bytes_per_request)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:68,1
    - Dst: hmac_drbg_security_level
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:70,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:70,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:71,1
    - Dst: check_limits
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:73,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - prf
    - ' underlying_rng'
    - ' entropy_sources'
    - reseed_interval
    - max_number_of_bytes_per_request
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - RandomNumberGenerator
    - Entropy_Sources
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: Botan::HMAC_DRBG::HMAC_DRBG
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - clear
    - hmac_drbg_security_level
    - BOTAN_ASSERT_NONNULL
    - output_length
    - check_limits
    linkageType: ''
    returnType: void
    signature: "void HMAC_DRBG::HMAC_DRBG(std::unique_ptr<MessageAuthenticationCode>
      prf,\n                     RandomNumberGenerator& underlying_rng,\n                     Entropy_Sources&
      entropy_sources,\n                     size_t reseed_interval,\n                     size_t
      max_number_of_bytes_per_request)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:83,1
    - Dst: hmac_drbg_security_level
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:85,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:85,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:86,1
    - Dst: check_limits
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:88,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - prf
    - ' entropy_sources'
    - reseed_interval
    - max_number_of_bytes_per_request
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - Entropy_Sources
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: Botan::HMAC_DRBG::HMAC_DRBG
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - clear
    - hmac_drbg_security_level
    - BOTAN_ASSERT_NONNULL
    - output_length
    - check_limits
    linkageType: ''
    returnType: void
    signature: "void HMAC_DRBG::HMAC_DRBG(std::unique_ptr<MessageAuthenticationCode>
      prf,\n                     Entropy_Sources& entropy_sources,\n                     size_t
      reseed_interval,\n                     size_t max_number_of_bytes_per_request)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:95,1
    - Dst: hmac_drbg_security_level
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:97,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:97,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:98,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prf
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: Botan::HMAC_DRBG::HMAC_DRBG
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - clear
    - hmac_drbg_security_level
    - BOTAN_ASSERT_NONNULL
    - output_length
    linkageType: ''
    returnType: void
    signature: void HMAC_DRBG::HMAC_DRBG(std::unique_ptr<MessageAuthenticationCode>
      prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:104,1
    - Dst: fmt
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:104,1
    - Dst: hmac_drbg_security_level
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:106,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:106,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hmac_hash
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: Botan::HMAC_DRBG::HMAC_DRBG
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - clear
    - Botan::MessageAuthenticationCode::create_or_throw
    - hmac_drbg_security_level
    - output_length
    - fmt
    linkageType: ''
    returnType: void
    signature: void HMAC_DRBG::HMAC_DRBG(std::string_view hmac_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:111,1
    - Dst: resize
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:113,1
    - Dst: resize
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:114,1
    - Dst: size
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:117,1
    - Dst: set_key
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:120,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:120,1
    - Dst: size
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: Botan::HMAC_DRBG::clear_state
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - std::vector<uint8_t>
    - empty
    - size
    - resize
    linkageType: ''
    returnType: void
    signature: void HMAC_DRBG::clear_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:124,1
    - Dst: Botan::HMAC_DRBG::name
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Botan::HMAC_DRBG::name
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::HMAC_DRBG::name
    linkageType: ''
    returnType: std::string
    signature: std::string HMAC_DRBG::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:132,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:132,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:134,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:135,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:138,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:140,1
    - Dst: final
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:141,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:142,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:142,1
    - Dst: data
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:142,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:144,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: Botan::HMAC_DRBG::generate_output
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::subspan
    - data
    - Botan::HMAC_DRBG::update
    - copy_mem
    - std::span<uint8_t>::empty
    - std::span<uint8_t>::data
    - BOTAN_ASSERT_NOMSG
    - final
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void HMAC_DRBG::generate_output(std::span<uint8_t> output, std::span<const
      uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:155,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:156,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:157,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:158,1
    - Dst: final
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:160,1
    - Dst: set_key
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:161,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:163,1
    - Dst: final
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:164,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:166,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:167,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:168,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:169,1
    - Dst: final
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:170,1
    - Dst: set_key
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:171,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:173,1
    - Dst: final
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: Botan::HMAC_DRBG::update
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 2
    functionsReached:
    - Botan::HMAC_DRBG::update
    - set_key
    - final
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void HMAC_DRBG::update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: Botan::HMAC_DRBG::security_level
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HMAC_DRBG::security_level() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 144
    functionName: Botan::Stateful_RNG
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HMAC_DRBG
    signature: HMAC_DRBG Stateful_RNG
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resolve
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - resolve
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl(const System_RNG_Impl& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl(System_RNG_Impl&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& operator=(const System_RNG_Impl& other)'
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: System_RNG_Impl
    signature: System_RNG_Impl & operator=(const System_RNG_Impl& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& operator=(System_RNG_Impl&& other)'
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: System_RNG_Impl
    signature: System_RNG_Impl & operator=(System_RNG_Impl&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::System_RNG_Impl::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::System_RNG_Impl::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: Botan::System_RNG_Impl::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::System_RNG_Impl::name
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ULONG>
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:74,1
    - Dst: std::min
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:74,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:78,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: Botan::System_RNG_Impl::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - System_Error
    - BOTAN_ASSERT
    - static_cast<ULONG>
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::BCryptOpenAlgorithmProvider
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:99,1
    - Dst: BCRYPT_SUCCESS
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:100,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - ::BCryptOpenAlgorithmProvider
    - System_Error
    - BCRYPT_SUCCESS
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl(const System_RNG_Impl& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl(System_RNG_Impl&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '& operator=(const System_RNG_Impl& other)'
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: System_RNG_Impl
    signature: System_RNG_Impl & operator=(const System_RNG_Impl& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '& operator=(System_RNG_Impl&& other)'
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: System_RNG_Impl
    signature: System_RNG_Impl & operator=(System_RNG_Impl&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::BCryptCloseAlgorithmProvider
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~System_RNG_Impl() override
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - ::BCryptCloseAlgorithmProvider
    linkageType: ''
    returnType: void
    signature: void ~System_RNG_Impl() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan::System_RNG_Impl::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::System_RNG_Impl::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: Botan::System_RNG_Impl::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::System_RNG_Impl::name
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ULONG>
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:133,1
    - Dst: std::min
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:133,1
    - Dst: BCryptGenRandom
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:135,1
    - Dst: static_cast<PUCHAR>
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:135,1
    - Dst: BCRYPT_SUCCESS
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:136,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:137,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 144
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 144
    functionName: Botan::System_RNG_Impl::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    - BCryptGenRandom
    - BCRYPT_SUCCESS
    - BOTAN_ASSERT
    - static_cast<PUCHAR>
    - std::min
    - static_cast<ULONG>
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Botan::System_RNG_Impl::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: Botan::System_RNG_Impl::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: Botan::System_RNG_Impl::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan::System_RNG_Impl::name
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::CCRandomGenerateBytes
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:165,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:165,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:165,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: Botan::System_RNG_Impl::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    - ::CCRandomGenerateBytes
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan::System_RNG_Impl::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan::System_RNG_Impl::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: Botan::System_RNG_Impl::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Botan::System_RNG_Impl::name
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:191,1
    - Dst: ::arc4random_buf
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:192,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:192,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: Botan::System_RNG_Impl::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::empty
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - ::arc4random_buf
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: Botan::System_RNG_Impl::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: Botan::System_RNG_Impl::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: Botan::System_RNG_Impl::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: Botan::System_RNG_Impl::name
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: Botan::System_RNG_Impl::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::DigestHandle::open
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:253,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:255,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:259,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:262,1
    - Dst: cryptofuzz::module::libgcrypt_detail::DigestHandle::open
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:264,1
    - Dst: cryptofuzz::module::libgcrypt_detail::DigestHandle::open
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:273,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 279
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::DigestHandle::open
    - System_Error
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl(const System_RNG_Impl& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl(System_RNG_Impl&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: '& operator=(const System_RNG_Impl& other)'
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: System_RNG_Impl
    signature: System_RNG_Impl & operator=(const System_RNG_Impl& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: '& operator=(System_RNG_Impl&& other)'
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: System_RNG_Impl
    signature: System_RNG_Impl & operator=(System_RNG_Impl&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: ~System_RNG_Impl() override
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void ~System_RNG_Impl() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan::System_RNG_Impl::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: Botan::System_RNG_Impl::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: Botan::System_RNG_Impl::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: Botan::System_RNG_Impl::name
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_RNG_Impl::maybe_write_entropy
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:310,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:320,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 328
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 328
    functionName: Botan::System_RNG_Impl::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::System_RNG_Impl::maybe_write_entropy
    - System_Error
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl::fill_bytes_with_input(std::span<uint8_t> output,
      std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:331,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:359,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - entropy_input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 365
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 365
    functionName: Botan::System_RNG_Impl::maybe_write_entropy
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 1
    functionsReached:
    - System_Error
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl::maybe_write_entropy(std::span<const uint8_t>
      entropy_input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: Botan::system_rng
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: RandomNumberGenerator
    signature: RandomNumberGenerator & system_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/rng/system_rng/system_rng.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.h
    functionUses: 2
    functionsReached:
    - Botan::system_rng
    linkageType: ''
    returnType: System_RNG
    signature: System_RNG RandomNumberGenerator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/rng/system_rng/system_rng.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.h
    functionUses: 2
    functionsReached:
    - Botan::system_rng
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/rng/system_rng/system_rng.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.h
    functionUses: 0
    functionsReached:
    - Botan::system_rng
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/rng/system_rng/system_rng.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.h
    functionUses: 6
    functionsReached:
    - Botan::system_rng
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:29,1
    - Dst: jent_entropy_collector_alloc
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:34,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: Botan::Jitter_RNG_Internal::Jitter_RNG_Internal
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    - BOTAN_ASSERT
    - jent_entropy_collector_alloc
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG_Internal::Jitter_RNG_Internal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jent_entropy_collector_free
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: Jitter_RNG_Internal::~Jitter_RNG_Internal()
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 0
    functionsReached:
    - jent_entropy_collector_free
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG_Internal::~Jitter_RNG_Internal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:46,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:50,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:76,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:82,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:82,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: Botan::Jitter_RNG_Internal::collect_into_buffer
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - Internal_Error
    - static_cast<size_t>
    - std::span<uint8_t>::empty
    - BOTAN_ASSERT
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG_Internal::collect_into_buffer(std::span<uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Jitter_RNG_Internal>
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::Jitter_RNG::Jitter_RNG
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Jitter_RNG_Internal>
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG::Jitter_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Jitter_RNG::~Jitter_RNG()
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG::~Jitter_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Jitter_RNG_Internal>
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: Botan::Jitter_RNG::clear
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Jitter_RNG_Internal>
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:94,1
    - Dst: collect_into_buffer
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: Botan::Jitter_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - collect_into_buffer
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG::fill_bytes_with_input(std::span<uint8_t> out, std::span<const
      uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Jitter_RNG
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 39
    functionName: Botan::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.h
    functionUses: 2
    functionsReached:
    - Jitter_RNG
    linkageType: ''
    returnType: Jitter_RNG
    signature: Jitter_RNG RandomNumberGenerator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_state
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: Botan::Stateful_RNG::clear
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached:
    - clear_state
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: Botan::Stateful_RNG::force_reseed
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::force_reseed()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: Botan::Stateful_RNG::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Stateful_RNG::is_seeded() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stateful_RNG::clear
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:34,1
    - Dst: add_entropy
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: Botan::Stateful_RNG::initialize_with
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::Stateful_RNG::clear
    - add_entropy
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::initialize_with(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:39,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:39,1
    - Dst: Botan::Stateful_RNG::reseed_check
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:45,1
    - Dst: Botan::Stateful_RNG::generate_output
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:46,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:48,1
    - Dst: Botan::Stateful_RNG::reseed_check
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:51,1
    - Dst: Botan::Stateful_RNG::generate_output
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:52,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:52,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: Botan::Stateful_RNG::generate_batched_output
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::subspan
    - Botan::Stateful_RNG::generate_output
    - std::span<uint8_t>::empty
    - Botan::Stateful_RNG::reseed_check
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::generate_batched_output(std::span<uint8_t> output,
      std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:65,1
    - Dst: Botan::Stateful_RNG::update
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:67,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:69,1
    - Dst: security_level
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:69,1
    - Dst: Botan::Stateful_RNG::reset_reseed_counter
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:70,1
    - Dst: Botan::Stateful_RNG::generate_batched_output
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: Botan::Stateful_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::Stateful_RNG::reset_reseed_counter
    - security_level
    - Botan::Stateful_RNG::update
    - std::span<uint8_t>::empty
    - std::span<const uint8_t>::size
    - Botan::Stateful_RNG::generate_batched_output
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::fill_bytes_with_input(std::span<uint8_t> output,
      std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: security_level
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:82,1
    - Dst: Botan::Stateful_RNG::reset_reseed_counter
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' srcs'
    - poll_bits
    - poll_timeout
    argTypes:
    - Entropy_Sources
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: Botan::Stateful_RNG::reseed
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::Stateful_RNG::reset_reseed_counter
    - security_level
    linkageType: ''
    returnType: size_t
    signature: size_t Stateful_RNG::reseed(Entropy_Sources& srcs, size_t poll_bits,
      std::chrono::milliseconds poll_timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RandomNumberGenerator::reseed_from_rng
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:92,1
    - Dst: security_level
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:94,1
    - Dst: Botan::Stateful_RNG::reset_reseed_counter
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' rng'
    - poll_bits
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: Botan::Stateful_RNG::reseed_from_rng
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::RandomNumberGenerator::reseed_from_rng
    - security_level
    - Botan::Stateful_RNG::reset_reseed_counter
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::reseed_from_rng(RandomNumberGenerator& rng, size_t
      poll_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: Botan::Stateful_RNG::reset_reseed_counter
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::reset_reseed_counter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stateful_RNG::is_seeded
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:111,1
    - Dst: Botan::Stateful_RNG::reseed_from_rng
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:116,1
    - Dst: security_level
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:116,1
    - Dst: Botan::Stateful_RNG::reseed
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:120,1
    - Dst: security_level
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:120,1
    - Dst: Botan::Stateful_RNG::is_seeded
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:123,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:125,1
    - Dst: PRNG_Unseeded
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:127,1
    - Dst: name
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:127,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:131,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 134
    functionName: Botan::Stateful_RNG::reseed_check
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 1
    functionsReached:
    - Botan::Stateful_RNG::reseed_from_rng
    - Botan::Stateful_RNG::is_seeded
    - PRNG_Unseeded
    - security_level
    - name
    - Invalid_State
    - BOTAN_ASSERT
    - Botan::Stateful_RNG::reseed
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::reseed_check()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - reseed_interval
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: Botan::Stateful_RNG
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG(RandomNumberGenerator& rng, size_t reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' entropy_sources'
    - reseed_interval
    argTypes:
    - Entropy_Sources
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: Botan::Stateful_RNG
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG(Entropy_Sources& entropy_sources, size_t reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::Stateful_RNG
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::initialize_with
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h:67,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::initialize_with
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h
    functionUses: 1
    functionsReached:
    - std::span
    - Botan::initialize_with
    linkageType: ''
    returnType: void
    signature: void initialize_with(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::reseed_interval
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t reseed_interval() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 95
    functionName: Botan::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: AutoSeeded_RNG
    signature: AutoSeeded_RNG RandomNumberGenerator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:31,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: Botan::auto_rng_hmac
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    - Botan::MessageAuthenticationCode::create
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> auto_rng_hmac()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: AutoSeeded_RNG::~AutoSeeded_RNG()
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::~AutoSeeded_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:45,1
    - Dst: auto_rng_hmac
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:45,1
    - Dst: Botan::AutoSeeded_RNG::force_reseed
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' underlying_rng'
    - reseed_interval
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Botan::AutoSeeded_RNG::AutoSeeded_RNG
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 2
    functionsReached:
    - Botan::AutoSeeded_RNG::force_reseed
    - auto_rng_hmac
    - std::make_unique<HMAC_DRBG>
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::AutoSeeded_RNG(RandomNumberGenerator& underlying_rng,
      size_t reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:51,1
    - Dst: auto_rng_hmac
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:51,1
    - Dst: Botan::AutoSeeded_RNG::force_reseed
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' entropy_sources'
    - reseed_interval
    argTypes:
    - Entropy_Sources
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: Botan::AutoSeeded_RNG::AutoSeeded_RNG
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 2
    functionsReached:
    - Botan::AutoSeeded_RNG::force_reseed
    - auto_rng_hmac
    - std::make_unique<HMAC_DRBG>
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::AutoSeeded_RNG(Entropy_Sources& entropy_sources,
      size_t reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:59,1
    - Dst: auto_rng_hmac
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:59,1
    - Dst: Botan::AutoSeeded_RNG::force_reseed
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' underlying_rng'
    - ' entropy_sources'
    - reseed_interval
    argTypes:
    - RandomNumberGenerator
    - Entropy_Sources
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: Botan::AutoSeeded_RNG::AutoSeeded_RNG
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 2
    functionsReached:
    - Botan::AutoSeeded_RNG::force_reseed
    - auto_rng_hmac
    - std::make_unique<HMAC_DRBG>
    linkageType: ''
    returnType: void
    signature: "void AutoSeeded_RNG::AutoSeeded_RNG(RandomNumberGenerator& underlying_rng,\n
      \                              Entropy_Sources& entropy_sources,\n                               size_t
      reseed_interval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:66,1
    - Dst: auto_rng_hmac
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:66,1
    - Dst: system_rng
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:66,1
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:68,1
    - Dst: auto_rng_hmac
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:68,1
    - Dst: Entropy_Sources::global_sources
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:68,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:70,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:71,1
    - Dst: Botan::AutoSeeded_RNG::force_reseed
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - reseed_interval
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: Botan::AutoSeeded_RNG::AutoSeeded_RNG
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_UNUSED
    - auto_rng_hmac
    - std::make_unique<HMAC_DRBG>
    - Not_Implemented
    - Botan::AutoSeeded_RNG::force_reseed
    - system_rng
    - Entropy_Sources::global_sources
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::AutoSeeded_RNG(size_t reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::force_reseed
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:78,1
    - Dst: next_byte
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:79,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:81,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: Botan::AutoSeeded_RNG::force_reseed
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 5
    functionsReached:
    - Botan::AutoSeeded_RNG::force_reseed
    - Internal_Error
    - Botan::AutoSeeded_RNG::is_seeded
    - next_byte
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::force_reseed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::AutoSeeded_RNG::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 3
    functionsReached:
    - Botan::AutoSeeded_RNG::is_seeded
    linkageType: ''
    returnType: bool
    signature: bool AutoSeeded_RNG::is_seeded() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::clear
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::AutoSeeded_RNG::clear
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 2
    functionsReached:
    - Botan::AutoSeeded_RNG::clear
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::name
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::AutoSeeded_RNG::name
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 2
    functionsReached:
    - Botan::AutoSeeded_RNG::name
    linkageType: ''
    returnType: std::string
    signature: std::string AutoSeeded_RNG::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::reseed
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' srcs'
    - poll_bits
    - poll_timeout
    argTypes:
    - Entropy_Sources
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::AutoSeeded_RNG::reseed
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 1
    functionsReached:
    - Botan::AutoSeeded_RNG::reseed
    linkageType: ''
    returnType: size_t
    signature: size_t AutoSeeded_RNG::reseed(Entropy_Sources& srcs, size_t poll_bits,
      std::chrono::milliseconds poll_timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:103,1
    - Dst: randomize_with_ts_input
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:104,1
    - Dst: randomize_with_input
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: Botan::AutoSeeded_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 0
    functionsReached:
    - randomize_with_ts_input
    - randomize_with_input
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::fill_bytes_with_input(std::span<uint8_t> out,
      std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reseed_from_rng
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:48,1
    - Dst: system_rng
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: Botan::System_RNG_EntropySource::poll
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached:
    - system_rng
    - reseed_from_rng
    linkageType: ''
    returnType: size_t
    signature: size_t poll(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::System_RNG_EntropySource::name
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reseed_from_rng
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: Botan::Processor_RNG_EntropySource::poll
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached:
    - reseed_from_rng
    linkageType: ''
    returnType: size_t
    signature: size_t poll(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Processor_RNG_EntropySource::name
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::Processor_RNG_EntropySource::name
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 1
    functionsReached:
    - Botan::Processor_RNG_EntropySource::name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reseed_from_rng
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: Botan::Jitter_RNG_EntropySource::poll
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached:
    - reseed_from_rng
    linkageType: ''
    returnType: size_t
    signature: size_t poll(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Jitter_RNG_EntropySource::name
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: Botan::Jitter_RNG_EntropySource::name
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 1
    functionsReached:
    - Botan::Jitter_RNG_EntropySource::name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<System_RNG_EntropySource>
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:114,1
    - Dst: Botan::Processor_RNG::available
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:120,1
    - Dst: std::make_unique<Processor_RNG_EntropySource>
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:121,1
    - Dst: std::make_unique<Intel_Rdseed>
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:128,1
    - Dst: std::make_unique<Getentropy>
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:134,1
    - Dst: std::make_unique<Win32_EntropySource>
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:140,1
    - Dst: std::make_unique<Jitter_RNG_EntropySource>
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:146,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 152
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 152
    functionName: Botan::Entropy_Source::create
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - std::make_unique<Jitter_RNG_EntropySource>
    - Botan::Processor_RNG::available
    - std::make_unique<Intel_Rdseed>
    - std::make_unique<Processor_RNG_EntropySource>
    - std::make_unique<Win32_EntropySource>
    - std::make_unique<Getentropy>
    - std::make_unique<System_RNG_EntropySource>
    linkageType: ''
    returnType: std::unique_ptr<Entropy_Source>
    signature: std::unique_ptr<Entropy_Source> Entropy_Source::create(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:156,1
    - Dst: std::move
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::unique_ptr<Entropy_Source>
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: Botan::Entropy_Sources::add_source
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - push_back
    linkageType: ''
    returnType: void
    signature: void Entropy_Sources::add_source(std::unique_ptr<Entropy_Source> src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:162,1
    - Dst: size
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:162,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:164,1
    - Dst: name
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: Botan::Entropy_Sources::enabled_sources
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached:
    - name
    - std::vector::push_back
    - size
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Entropy_Sources::enabled_sources() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:172,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:172,1
    - Dst: Botan::Entropy_Sources::poll
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:180,1
    - Dst: timeout_expired
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' rng'
    - poll_bits
    - timeout
    argTypes:
    - RandomNumberGenerator
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 188
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 188
    functionName: Botan::Entropy_Sources::poll
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 1
    functionsReached:
    - timeout_expired
    - Botan::Entropy_Sources::poll
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: size_t
    signature: size_t Entropy_Sources::poll(RandomNumberGenerator& rng, size_t poll_bits,
      std::chrono::milliseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:192,1
    - Dst: Botan::Entropy_Sources::poll
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' rng'
    - the_src
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: Botan::Entropy_Sources::poll_just
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached:
    - Botan::Entropy_Sources::poll
    - name
    linkageType: ''
    returnType: size_t
    signature: size_t Entropy_Sources::poll_just(RandomNumberGenerator& rng, std::string_view
      the_src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:202,1
    - Dst: Botan::Entropy_Source::create
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' sources'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: Botan::Entropy_Sources::Entropy_Sources
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 3
    functionsReached:
    - Botan::Entropy_Source::create
    - Botan::Entropy_Sources::add_source
    linkageType: ''
    returnType: void
    signature: void Entropy_Sources::Entropy_Sources(const std::vector<std::string>&
      sources)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: '& Entropy_Sources::global_sources()'
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Entropy_Sources
    signature: Entropy_Sources & Entropy_Sources::global_sources()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::Entropy_Source
    functionSourceFile: /src/botan/src/lib/entropy/entropy_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entropy_Source()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Entropy_Source
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::Entropy_Source
    functionSourceFile: /src/botan/src/lib/entropy/entropy_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entropy_Source(const Entropy_Source& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Entropy_Source
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::Entropy_Source
    functionSourceFile: /src/botan/src/lib/entropy/entropy_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entropy_Source(Entropy_Source&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~Entropy_Source()
    functionSourceFile: /src/botan/src/lib/entropy/entropy_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Entropy_Source()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 90
    functionName: final
    functionSourceFile: /src/botan/src/lib/entropy/entropy_src.h
    functionUses: 132
    functionsReached: []
    linkageType: ''
    returnType: Entropy_Sources
    signature: Entropy_Sources final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _rdseed32_step
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:46,1
    - Dst: push_back
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:50,1
    - Dst: _mm_pause
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' seed'
    argTypes:
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 63
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 63
    functionName: Botan::read_rdseed
    functionSourceFile: /src/botan/src/lib/entropy/rdseed/rdseed.cpp
    functionUses: 0
    functionsReached:
    - _mm_pause
    - _rdseed32_step
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool read_rdseed(secure_vector<uint32_t>& seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:71,1
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:73,1
    - Dst: read_rdseed
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:84,1
    - Dst: secure_vector::empty
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:89,1
    - Dst: add_entropy
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:90,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:90,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:90,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: Botan::Intel_Rdseed::poll
    functionSourceFile: /src/botan/src/lib/entropy/rdseed/rdseed.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - read_rdseed
    - add_entropy
    - secure_vector::reserve
    - reinterpret_cast<const uint8_t*>
    - secure_vector::size
    - secure_vector::data
    - secure_vector::empty
    linkageType: ''
    returnType: size_t
    signature: size_t Intel_Rdseed::poll(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan::Intel_Rdseed::name
    functionSourceFile: /src/botan/src/lib/entropy/rdseed/rdseed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan::Win32_EntropySource::name
    functionSourceFile: /src/botan/src/lib/entropy/win32_stats/es_win32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:18,1
    - Dst: ::GetTickCount
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:18,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:19,1
    - Dst: ::GetMessagePos
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:19,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:20,1
    - Dst: ::GetMessageTime
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:20,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:21,1
    - Dst: ::GetInputState
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:21,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:23,1
    - Dst: ::GetCurrentProcessId
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:23,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:24,1
    - Dst: ::GetCurrentThreadId
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:24,1
    - Dst: ::GetSystemInfo
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:27,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:28,1
    - Dst: ::GlobalMemoryStatusEx
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:31,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:32,1
    - Dst: ::GetCursorPos
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:35,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:36,1
    - Dst: ::GetCaretPos
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:38,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 58
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 58
    functionName: Botan::Win32_EntropySource::poll
    functionSourceFile: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp
    functionUses: 0
    functionsReached:
    - ::GlobalMemoryStatusEx
    - ::GetSystemInfo
    - ::GetCaretPos
    - ::GetMessageTime
    - ::GetCurrentProcessId
    - ::GetMessagePos
    - add_entropy_T
    - ::GetInputState
    - ::GetCursorPos
    - ::GetTickCount
    - ::GetCurrentThreadId
    linkageType: ''
    returnType: size_t
    signature: size_t Win32_EntropySource::poll(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::getentropy
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:28,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:28,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:28,1
    - Dst: add_entropy
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:29,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:29,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:29,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: Botan::Getentropy::poll
    functionSourceFile: /src/botan/src/lib/entropy/getentropy/getentropy.cpp
    functionUses: 0
    functionsReached:
    - add_entropy
    - secure_vector::size
    - ::getentropy
    - secure_vector::data
    linkageType: ''
    returnType: size_t
    signature: size_t Getentropy::poll(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan::Getentropy::name
    functionSourceFile: /src/botan/src/lib/entropy/getentropy/getentropy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:17,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:17,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:17,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:17,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:19,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:19,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:20,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:21,1
    - Dst: Botan::nist_key_wrap
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:23,1
    - Dst: data
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:23,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:23,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:24,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:24,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' key'
    - ' kek'
    argTypes:
    - secure_vector<uint8_t>
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: Botan::rfc3394_keywrap
    functionSourceFile: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp
    functionUses: 2
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - auto::set_key
    - secure_vector<uint8_t>
    - Botan::to_string
    - data
    - std::vector::end
    - BOTAN_ARG_CHECK
    - Botan::nist_key_wrap
    - std::vector::begin
    - Botan::size
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> rfc3394_keywrap(const secure_vector<uint8_t>&
      key, const SymmetricKey& kek)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:28,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:28,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:28,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:28,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:30,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:30,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:30,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:32,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:32,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:33,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:34,1
    - Dst: Botan::nist_key_unwrap
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:36,1
    - Dst: data
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:36,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' kek'
    argTypes:
    - secure_vector<uint8_t>
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: Botan::rfc3394_keyunwrap
    functionSourceFile: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp
    functionUses: 2
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - auto::set_key
    - Botan::to_string
    - data
    - Botan::nist_key_unwrap
    - BOTAN_ARG_CHECK
    - Botan::size
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> rfc3394_keyunwrap(const secure_vector<uint8_t>&
      key, const SymmetricKey& kek)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:51,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:51,1
    - Dst: randomize
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:52,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:55,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:60,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:61,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:65,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:65,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:66,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:67,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:68,1
    - Dst: Botan::Cipher_Mode::create_or_throw
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:78,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:79,1
    - Dst: auto::start
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:80,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:81,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:83,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:84,1
    - Dst: std::unique_ptr::update
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:86,1
    - Dst: std::unique_ptr::final
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:90,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:91,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:91,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - input
    - input_len
    - passphrase
    - ' rng'
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 94
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 94
    functionName: Botan::CryptoBox::encrypt
    functionSourceFile: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp
    functionUses: 1
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::set_key
    - auto::finish
    - Botan::Cipher_Mode::create_or_throw
    - Botan::PasswordHashFamily::create_or_throw
    - randomize
    - auto::derive_key
    - Botan::PEM_Code::encode
    - auto::start
    - auto::from_params
    - store_be
    - copy_mem
    - secure_vector::size
    - std::unique_ptr::final
    - secure_vector::data
    - std::unique_ptr::update
    - std::unique_ptr::set_key
    linkageType: ''
    returnType: std::string
    signature: std::string encrypt(const uint8_t input[], size_t input_len, std::string_view
      passphrase, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:98,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:100,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:101,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:107,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:114,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:115,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:119,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:120,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:120,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:120,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:120,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:128,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:129,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:131,1
    - Dst: std::unique_ptr::update
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:132,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:132,1
    - Dst: std::unique_ptr::final
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:134,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:136,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:136,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:137,1
    - Dst: Botan::Cipher_Mode::create_or_throw
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:140,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:141,1
    - Dst: auto::start
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:142,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:143,1
    - Dst: secure_vector::erase
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:145,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:145,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - input
    - input_len
    - passphrase
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 147
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 147
    functionName: Botan::CryptoBox::decrypt_bin
    functionSourceFile: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp
    functionUses: 1
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - Botan::MessageAuthenticationCode::create_or_throw
    - Decoding_Error
    - auto::set_key
    - auto::finish
    - Botan::CT::is_equal
    - Botan::Cipher_Mode::create_or_throw
    - Botan::PEM_Code::decode_check_label
    - Botan::PasswordHashFamily::create_or_throw
    - auto::derive_key
    - auto::start
    - auto::from_params
    - secure_vector::begin
    - secure_vector::size
    - secure_vector::erase
    - std::unique_ptr::final
    - secure_vector::data
    - std::unique_ptr::update
    - std::unique_ptr::set_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decrypt_bin(const uint8_t input[], size_t input_len,
      std::string_view passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_bin
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:153,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:153,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:153,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - passphrase
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: 'BOTAN_DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS


      secure_vector<uint8_t> decrypt_bin(std::string_view input, std::string_view
      passphrase)'
    functionSourceFile: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp
    functionUses: 0
    functionsReached:
    - cast_char_ptr_to_uint8
    - std::string_view::size
    - decrypt_bin
    - std::string_view::data
    linkageType: ''
    returnType: BOTAN_DIAGNOSTIC_PUSH
    signature: 'BOTAN_DIAGNOSTIC_PUSH BOTAN_DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS


      secure_vector<uint8_t> decrypt_bin(std::string_view input, std::string_view
      passphrase)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CryptoBox::decrypt_bin
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:157,1
    - Dst: std::string
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:159,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:159,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - input_len
    - passphrase
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: Botan::CryptoBox::decrypt
    functionSourceFile: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp
    functionUses: 1
    functionsReached:
    - Botan::CryptoBox::decrypt_bin
    - cast_uint8_ptr_to_char
    - std::string
    - secure_vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string decrypt(const uint8_t input[], size_t input_len, std::string_view
      passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CryptoBox::decrypt
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:163,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:163,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:163,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - passphrase
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: Botan::CryptoBox::decrypt
    functionSourceFile: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp
    functionUses: 2
    functionsReached:
    - cast_char_ptr_to_uint8
    - std::string_view::size
    - Botan::CryptoBox::decrypt
    - std::string_view::data
    linkageType: ''
    returnType: std::string
    signature: std::string decrypt(std::string_view input, std::string_view passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:38,1
    - Dst: static_cast<int64_t>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:38,1
    - Dst: T
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:38,1
    - Dst: Botan::impl_from_little_endian
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - i
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::impl_from_little_endian
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - T
    - Botan::impl_from_little_endian
    - static_cast<int64_t>
    linkageType: ''
    returnType: T
    signature: "T impl_from_little_endian(const uint8_t* t, const size_t i)\n   requires(sizeof(T)
      <= sizeof(int64_t))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::impl_from_little_endian
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::from_little_endian
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::impl_from_little_endian
    linkageType: ''
    returnType: T
    signature: T from_little_endian(const uint8_t* t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: Botan::copy
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 6
    functionsReached:
    - Botan::typecast_copy
    linkageType: ''
    returnType: T
    signature: "T copy(const uint8_t* t)\n   requires(is_array<T>::value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::from_little_endian
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: Botan::copy
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 6
    functionsReached:
    - Botan::from_little_endian
    linkageType: ''
    returnType: T
    signature: "T copy(const uint8_t* t)\n   requires(!is_array<T>::value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:63,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:64,1
    - Dst: T::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:66,1
    - Dst: T::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:69,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:70,1
    - Dst: T::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:77,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:78,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:81,1
    - Dst: std::map::emplace
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:85,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:85,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:87,1
    - Dst: std::string
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 92
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 92
    functionName: Botan::unpack_roughtime_packet
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - T::size
    - std::vector<uint8_t>
    - Roughtime::Roughtime_Error
    - T::data
    - std::map::emplace
    - std::string
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::map<std::string, std::vector<uint8_t>>
    signature: std::map<std::string, std::vector<uint8_t>> unpack_roughtime_packet(T
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:96,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:97,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:98,1
    - Dst: second::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:100,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:101,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:103,1
    - Dst: second::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' map'
    - ' label'
    argTypes:
    - std::map<std::string, std::vector<uint8_t>>
    - std::string
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: Botan::get
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 13
    functionsReached:
    - Botan::copy
    - Roughtime::Roughtime_Error
    - second::data
    - second::size
    - Botan::end
    - find
    linkageType: ''
    returnType: T
    signature: T get(const std::map<std::string, std::vector<uint8_t>>& map, const
      std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:107,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:108,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' map'
    - ' label'
    argTypes:
    - std::map<std::string, std::vector<uint8_t>>
    - std::string
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: Botan::get_v
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::end
    - find
    - Roughtime::Roughtime_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_v(const std::map<std::string, std::vector<uint8_t>>&
      map, const std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:118,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:118,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:118,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:118,1
    - Dst: PK_Verifier::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:120,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:120,1
    - Dst: PK_Verifier::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:121,1
    - Dst: PK_Verifier::check_signature
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:122,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:122,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' pk'
    - ' payload'
    - ' signature'
    argTypes:
    - std::array<uint8_t, 32>
    - std::vector<uint8_t>
    - std::array<uint8_t, 64>
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: Botan::verify_signature
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - PK_Verifier::update
    - Botan::cast_char_ptr_to_uint8
    - PK_Verifier::check_signature
    - std::vector<uint8_t>
    - data
    - Botan::size
    linkageType: ''
    returnType: bool
    signature: "bool verify_signature(const std::array<uint8_t, 32>& pk,\n                      const
      std::vector<uint8_t>& payload,\n                      const std::array<uint8_t,
      64>& signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:127,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:128,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:129,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:129,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:129,1
    - Dst: auto::final
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:130,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' leaf'
    argTypes:
    - std::array<uint8_t, 64>
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: Botan::hashLeaf
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - data
    - auto::update
    - Botan::HashFunction::create_or_throw
    - auto::final
    - Botan::size
    linkageType: ''
    returnType: std::array<uint8_t, 64>
    signature: std::array<uint8_t, 64> hashLeaf(const std::array<uint8_t, 64>& leaf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:135,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:136,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:138,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:138,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:138,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:139,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:139,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:139,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:141,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:141,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:141,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:142,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:142,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:142,1
    - Dst: auto::final
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:144,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' hash'
    - ' node'
    - reverse
    argTypes:
    - std::array<uint8_t, 64>
    - std::array<uint8_t, 64>
    - bool
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: Botan::hashNode
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - data
    - auto::update
    - Botan::HashFunction::create_or_throw
    - auto::final
    - Botan::size
    linkageType: ''
    returnType: void
    signature: void hashNode(std::array<uint8_t, 64>& hash, const std::array<uint8_t,
      64>& node, bool reverse)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t, T>::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:149,1
    - Dst: std::logic_error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:150,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:152,1
    - Dst: std::vector<uint8_t, T>::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::vector<uint8_t, T>
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: Botan::vector_to_array
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - std::logic_error
    - Botan::typecast_copy
    - std::vector<uint8_t, T>::data
    - std::vector<uint8_t, T>::size
    linkageType: ''
    returnType: std::array<uint8_t, N>
    signature: std::array<uint8_t, N> vector_to_array(std::vector<uint8_t, T> vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:159,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:160,1
    - Dst: typecast_copy<std::array<uint8_t, 64>>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:162,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: Botan::Roughtime::Nonce::Nonce
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - data
    - Invalid_Argument
    - typecast_copy<std::array<uint8_t, 64>>
    - size
    linkageType: ''
    returnType: void
    signature: void Nonce::Nonce(const std::vector<uint8_t>& nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:166,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:166,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan::Roughtime::Nonce::Nonce
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - randomize
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void Nonce::Nonce(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:171,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:171,1
    - Dst: get_nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:171,1
    - Dst: get_nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:171,1
    - Dst: std::memset
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:172,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:172,1
    - Dst: get_nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:172,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:172,1
    - Dst: get_nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - Nonce
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: Botan::Roughtime::encode_request
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - std::array::data
    - get_nonce
    - std::array::size
    - std::memcpy
    - std::memset
    linkageType: ''
    returnType: std::array<uint8_t, request_min_size>
    signature: std::array<uint8_t, request_min_size> encode_request(const Nonce& nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unpack_roughtime_packet
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:177,1
    - Dst: unpack_roughtime_packet
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:178,1
    - Dst: get_v
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:178,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:179,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:180,1
    - Dst: unpack_roughtime_packet
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:181,1
    - Dst: get_v
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:182,1
    - Dst: unpack_roughtime_packet
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:183,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:185,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:186,1
    - Dst: verify_signature
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:187,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:188,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:191,1
    - Dst: get_v
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:192,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:193,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:198,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:201,1
    - Dst: hashLeaf
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:204,1
    - Dst: get_nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:204,1
    - Dst: hashNode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:208,1
    - Dst: typecast_copy<std::array<uint8_t, 64>>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:208,1
    - Dst: auto::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:208,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:214,1
    - Dst: sys_microseconds64
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:217,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:217,1
    - Dst: sys_microseconds64
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:218,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:218,1
    - Dst: sys_microseconds64
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:219,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:219,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:220,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:222,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - ' response'
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    - Nonce
    constantsTouched: []
    func_position:
      end: 228
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 228
    functionName: Botan::Roughtime::Response::from_bits
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 3
    functionsReached:
    - hashLeaf
    - get_v
    - verify_signature
    - Roughtime_Error
    - get_nonce
    - typecast_copy<std::array<uint8_t, 64>>
    - unpack_roughtime_packet
    - hashNode
    - auto::data
    - sys_microseconds64
    - get
    linkageType: ''
    returnType: Response
    signature: Response Response::from_bits(const std::vector<uint8_t>& response,
      const Nonce& nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Verifier::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:233,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:233,1
    - Dst: PK_Verifier::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:234,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:234,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:234,1
    - Dst: PK_Verifier::check_signature
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:235,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:235,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' pk'
    argTypes:
    - Ed25519_PublicKey
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: Botan::Roughtime::Response::validate
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - PK_Verifier::update
    - PK_Verifier::check_signature
    - data
    - size
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: bool
    signature: bool Response::validate(const Ed25519_PublicKey& pk) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:240,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:241,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:242,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:243,1
    - Dst: auto::final
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:243,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:244,1
    - Dst: auto::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:244,1
    - Dst: auto::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:244,1
    - Dst: auto::final
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:245,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' previous_response'
    - ' blind'
    argTypes:
    - std::vector<uint8_t>
    - Nonce
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 248
    functionName: Botan::Roughtime::nonce_from_blind
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - std::array::data
    - get_nonce
    - auto::update
    - auto::data
    - Botan::HashFunction::create_or_throw
    - auto::size
    - auto::final
    linkageType: ''
    returnType: Nonce
    signature: Nonce nonce_from_blind(const std::vector<uint8_t>& previous_response,
      const Nonce& blind)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:251,1
    - Dst: std::getline
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:253,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:255,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:257,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:259,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:261,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:265,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:267,1
    - Dst: Ed25519_PublicKey
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:269,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:269,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:269,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:272,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:274,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:277,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:279,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:279,1
    - Dst: Nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:280,1
    - Dst: vector_to_array<64>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:280,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:280,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:280,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:283,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:285,1
    - Dst: unlock
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:287,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:287,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:287,1
    - Dst: push_back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:289,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 291
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 291
    functionName: Botan::Roughtime::Chain::Chain
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 2
    functionsReached:
    - std::getline
    - Nonce
    - Ed25519_PublicKey
    - std::string::find
    - std::string
    - Not_Implemented
    - unlock
    - base64_decode
    - Decoding_Error
    - vector_to_array<64>
    - std::string::substr
    - push_back
    linkageType: ''
    returnType: void
    signature: void Chain::Chain(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:295,1
    - Dst: nonce_from_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:297,1
    - Dst: response
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:297,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:297,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:297,1
    - Dst: Botan::Roughtime::Response::from_bits
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:298,1
    - Dst: response
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:298,1
    - Dst: auto::validate
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:299,1
    - Dst: public_key
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:299,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:300,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: Botan::Roughtime::Chain::responses
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - Roughtime_Error
    - Botan::Roughtime::Response::from_bits
    - response
    - nonce_or_blind
    - public_key
    - nonce_from_blind
    - size
    - std::vector::push_back
    - auto::validate
    linkageType: ''
    returnType: std::vector<Response>
    signature: std::vector<Response> Chain::responses() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:308,1
    - Dst: nonce_from_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:308,1
    - Dst: back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' blind'
    argTypes:
    - Nonce
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: Botan::Roughtime::Chain::next_nonce
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - nonce_from_blind
    - back
    - empty
    linkageType: ''
    returnType: Nonce
    signature: Nonce Chain::next_nonce(const Nonce& blind) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:313,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:316,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:317,1
    - Dst: auto::nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:319,1
    - Dst: nonce_from_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:320,1
    - Dst: response
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:320,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:320,1
    - Dst: clear
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:321,1
    - Dst: push_back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:322,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:325,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:326,1
    - Dst: nonce_from_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:327,1
    - Dst: response
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:327,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:327,1
    - Dst: erase
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:329,1
    - Dst: begin
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:329,1
    - Dst: push_back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' new_link'
    - max_chain_size
    argTypes:
    - Link
    - size_t
    constantsTouched: []
    func_position:
      end: 332
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 332
    functionName: Botan::Roughtime::Chain::append
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - clear
    - response
    - nonce_or_blind
    - nonce_from_blind
    - begin
    - Invalid_Argument
    - auto::nonce_or_blind
    - size
    - erase
    - push_back
    linkageType: ''
    returnType: void
    signature: void Chain::append(const Link& new_link, size_t max_chain_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:336,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:336,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:340,1
    - Dst: public_key
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:340,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:342,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:342,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:342,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:344,1
    - Dst: response
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 348
    functionName: Botan::Roughtime::Chain::to_string
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - response
    - base64_encode
    - public_key
    - nonce_or_blind
    - std::string::reserve
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Chain::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:351,1
    - Dst: Botan::OS::open_socket_udp
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:352,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:354,1
    - Dst: Botan::Roughtime::encode_request
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:357,1
    - Dst: auto::write
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:358,1
    - Dst: auto::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:358,1
    - Dst: auto::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:358,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:360,1
    - Dst: System_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:361,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:365,1
    - Dst: auto::read
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:367,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:367,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:367,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:369,1
    - Dst: System_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:370,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:373,1
    - Dst: System_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:374,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - uri
    - ' nonce'
    - timeout
    argTypes:
    - std::string_view
    - Nonce
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 379
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 379
    functionName: Botan::Roughtime::online_request
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 2
    functionsReached:
    - std::vector::data
    - std::vector::size
    - System_Error
    - Botan::Roughtime::encode_request
    - auto::read
    - Botan::OS::open_socket_udp
    - Not_Implemented
    - auto::data
    - std::vector::resize
    - Botan::TLS::detail::AsyncBase::complete_now
    - auto::size
    - auto::write
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> online_request(std::string_view uri, const Nonce&
      nonce, std::chrono::milliseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:383,1
    - Dst: std::getline
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:386,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:388,1
    - Dst: Botan::Roughtime::Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:390,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:392,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:395,1
    - Dst: Botan::Roughtime::Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:397,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:399,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:401,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:405,1
    - Dst: Botan::Roughtime::Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:408,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:410,1
    - Dst: Ed25519_PublicKey
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:411,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:411,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:414,1
    - Dst: Botan::Roughtime::Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:416,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:418,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:420,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:427,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:428,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:429,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:432,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:438,1
    - Dst: Botan::Roughtime::Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:439,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:442,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 445
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 445
    functionName: Botan::Roughtime::servers_from_str
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 2
    functionsReached:
    - std::getline
    - Ed25519_PublicKey
    - std::string::find
    - auto::empty
    - std::string
    - Not_Implemented
    - base64_decode
    - Botan::Roughtime::Decoding_Error
    - std::vector::push_back
    - std::string::substr
    linkageType: ''
    returnType: std::vector<Server_Information>
    signature: std::vector<Server_Information> servers_from_str(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: Botan::Roughtime::Decoding_Error
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Roughtime_Error
    signature: Roughtime_Error Decoding_Error
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:34,1
    - Dst: Nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: Botan::Roughtime::final
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.h
    functionUses: 0
    functionsReached:
    - Nonce
    linkageType: ''
    returnType: Nonce
    signature: Nonce final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Response
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:72,1
    - Dst: m_cert_dele
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:76,1
    - Dst: m_cert_sig
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: Botan::Roughtime::final
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.h
    functionUses: 0
    functionsReached:
    - m_cert_sig
    - m_cert_dele
    - Response
    linkageType: ''
    returnType: Response
    signature: Response final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Link
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: Botan::Roughtime::final
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.h
    functionUses: 0
    functionsReached:
    - Link
    linkageType: ''
    returnType: Link
    signature: Link final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Chain
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: Botan::Roughtime::final
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.h
    functionUses: 0
    functionsReached:
    - Chain
    linkageType: ''
    returnType: Chain
    signature: Chain final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Server_Information
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: Botan::Roughtime::final
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.h
    functionUses: 0
    functionsReached:
    - Server_Information
    linkageType: ''
    returnType: Server_Information
    signature: Server_Information final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FPE_FE1
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 82
    functionName: Botan::SymmetricAlgorithm
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.h
    functionUses: 0
    functionsReached:
    - FPE_FE1
    linkageType: ''
    returnType: FPE_FE1
    signature: FPE_FE1 SymmetricAlgorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:29,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:31,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:32,1
    - Dst: std::swap
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:53,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:55,1
    - Dst: std::swap
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:60,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - n
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 67
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 67
    functionName: Botan::factor
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_word
    - Internal_Error
    - std::swap
    - cryptofuzz::crypto::impl::sha1_done
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void factor(BigInt n, BigInt& a, BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:73,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:76,1
    - Dst: serialize
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:78,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:80,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:81,1
    - Dst: factor
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:84,1
    - Dst: std::swap
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:88,1
    - Dst: std::swap
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - ' n'
    - rounds
    - compat_mode
    - mac_algo
    argTypes:
    - BigInt
    - size_t
    - bool
    - std::string_view
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: Botan::FPE_FE1::FPE_FE1
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    - std::swap
    - Invalid_Argument
    - size
    - factor
    - serialize
    linkageType: ''
    returnType: void
    signature: void FPE_FE1::FPE_FE1(const BigInt& n, size_t rounds, bool compat_mode,
      std::string_view mac_algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: FPE_FE1::~FPE_FE1()
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FPE_FE1::~FPE_FE1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE_FE1::clear
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Botan::FPE_FE1::clear
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 1
    functionsReached:
    - Botan::FPE_FE1::clear
    linkageType: ''
    returnType: void
    signature: void FPE_FE1::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:104,1
    - Dst: Botan::FPE_FE1::name
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::FPE_FE1::name
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::FPE_FE1::name
    linkageType: ''
    returnType: std::string
    signature: std::string FPE_FE1::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE_FE1::key_spec
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan::FPE_FE1::key_spec
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 1
    functionsReached:
    - Botan::FPE_FE1::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification FPE_FE1::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE_FE1::has_keying_material
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: Botan::FPE_FE1::has_keying_material
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 1
    functionsReached:
    - Botan::FPE_FE1::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool FPE_FE1::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: Botan::FPE_FE1::key_schedule
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void FPE_FE1::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:123,1
    - Dst: update
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:125,1
    - Dst: update_be
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:126,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:126,1
    - Dst: update_be
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:128,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:128,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:128,1
    - Dst: update
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:129,1
    - Dst: data
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:129,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:129,1
    - Dst: final
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:131,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' R'
    - round
    - ' tweak_mac'
    - ' tmp'
    argTypes:
    - BigInt
    - size_t
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: Botan::FPE_FE1::F
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 0
    functionsReached:
    - update
    - data
    - update_be
    - size
    - final
    - serialize
    - Botan::BigInt::from_bytes
    - static_cast<uint32_t>
    linkageType: ''
    returnType: BigInt
    signature: "BigInt FPE_FE1::F(const BigInt& R,\n                  size_t round,\n
      \                 const secure_vector<uint8_t>& tweak_mac,\n                  secure_vector<uint8_t>&
      tmp) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_be
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:136,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:136,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:136,1
    - Dst: update
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:137,1
    - Dst: data
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:137,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:137,1
    - Dst: update_be
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:139,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:139,1
    - Dst: update
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:141,1
    - Dst: final
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tweak
    - tweak_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: Botan::FPE_FE1::compute_tweak_mac
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 0
    functionsReached:
    - update
    - data
    - update_be
    - size
    - final
    - static_cast<uint32_t>
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> FPE_FE1::compute_tweak_mac(const uint8_t tweak[],
      size_t tweak_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE_FE1::compute_tweak_mac
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:148,1
    - Dst: ct_divide
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:156,1
    - Dst: Botan::FPE_FE1::F
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:157,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' input'
    - tweak
    - tweak_len
    argTypes:
    - BigInt
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 162
    functionName: Botan::FPE_FE1::encrypt
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 1
    functionsReached:
    - ct_divide
    - Botan::FPE_FE1::compute_tweak_mac
    - Botan::FPE_FE1::F
    - ct_modulo
    linkageType: ''
    returnType: BigInt
    signature: BigInt FPE_FE1::encrypt(const BigInt& input, const uint8_t tweak[],
      size_t tweak_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE_FE1::compute_tweak_mac
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:165,1
    - Dst: ct_divide
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:172,1
    - Dst: Botan::FPE_FE1::F
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:174,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' input'
    - tweak
    - tweak_len
    argTypes:
    - BigInt
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: Botan::FPE_FE1::decrypt
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 1
    functionsReached:
    - ct_divide
    - Botan::FPE_FE1::compute_tweak_mac
    - Botan::FPE_FE1::F
    - ct_modulo
    linkageType: ''
    returnType: BigInt
    signature: BigInt FPE_FE1::decrypt(const BigInt& input, const uint8_t tweak[],
      size_t tweak_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:183,1
    - Dst: Botan::FPE_FE1::encrypt
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - tweak
    argTypes:
    - BigInt
    - uint64_t
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: Botan::FPE_FE1::encrypt
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 2
    functionsReached:
    - store_be
    - Botan::FPE_FE1::encrypt
    linkageType: ''
    returnType: BigInt
    signature: BigInt FPE_FE1::encrypt(const BigInt& x, uint64_t tweak) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:189,1
    - Dst: Botan::FPE_FE1::decrypt
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - tweak
    argTypes:
    - BigInt
    - uint64_t
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: Botan::FPE_FE1::decrypt
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 2
    functionsReached:
    - store_be
    - Botan::FPE_FE1::decrypt
    linkageType: ''
    returnType: BigInt
    signature: BigInt FPE_FE1::decrypt(const BigInt& x, uint64_t tweak) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FPE_FE1::set_key
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:197,1
    - Dst: FPE_FE1::encrypt
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:198,1
    - Dst: data
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:198,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' n'
    - ' X'
    - ' key'
    - ' tweak'
    argTypes:
    - BigInt
    - BigInt
    - SymmetricKey
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: Botan::FPE::fe1_encrypt
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 2
    functionsReached:
    - FPE_FE1::set_key
    - size
    - FPE_FE1::encrypt
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt fe1_encrypt(const BigInt& n, const BigInt& X, const SymmetricKey&
      key, const std::vector<uint8_t>& tweak)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FPE_FE1::set_key
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:203,1
    - Dst: FPE_FE1::decrypt
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:204,1
    - Dst: data
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:204,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' n'
    - ' X'
    - ' key'
    - ' tweak'
    argTypes:
    - BigInt
    - BigInt
    - SymmetricKey
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: Botan::FPE::fe1_decrypt
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 2
    functionsReached:
    - FPE_FE1::set_key
    - size
    - FPE_FE1::decrypt
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt fe1_decrypt(const BigInt& n, const BigInt& X, const SymmetricKey&
      key, const std::vector<uint8_t>& tweak)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:23,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:23,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:25,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:31,1
    - Dst: Botan::encrypt
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:33,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:33,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:34,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:37,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:38,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:42,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:42,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:42,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:44,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:44,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - input
    - input_len
    - ' bc'
    - ICV
    argTypes:
    - uint8_t[]
    - size_t
    - BlockCipher
    - uint64_t
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: Botan::raw_nist_key_wrap
    functionSourceFile: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_be
    - std::vector<uint8_t>
    - Botan::encrypt
    - Botan::xor_buf
    - secure_vector::end
    - Botan::copy_mem
    - secure_vector::data
    - secure_vector::begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> raw_nist_key_wrap(const uint8_t input[], size_t
      input_len, const BlockCipher& bc, uint64_t ICV)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:52,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:64,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:64,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:71,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:73,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:75,1
    - Dst: Botan::decrypt
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:77,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:77,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:79,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:83,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - input
    - input_len
    - ' bc'
    - ' ICV_out'
    argTypes:
    - uint8_t[]
    - size_t
    - BlockCipher
    - uint64_t
    constantsTouched: []
    func_position:
      end: 86
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 86
    functionName: Botan::raw_nist_key_unwrap
    functionSourceFile: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_be
    - Botan::decrypt
    - Invalid_Argument
    - Botan::xor_buf
    - Botan::copy_mem
    - Botan::load_be
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> raw_nist_key_unwrap(const uint8_t input[],\n
      \                                          size_t input_len,\n                                           const
      BlockCipher& bc,\n                                           uint64_t& ICV_out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:91,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:92,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:96,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:107,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:107,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:108,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:108,1
    - Dst: Botan::encrypt
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:109,1
    - Dst: Botan::raw_nist_key_wrap
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - input
    - input_len
    - ' bc'
    argTypes:
    - uint8_t[]
    - size_t
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: Botan::nist_key_wrap
    functionSourceFile: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - Botan::raw_nist_key_wrap
    - block_size
    - Botan::store_be
    - Botan::encrypt
    - Invalid_Argument
    - Botan::copy_mem
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> nist_key_wrap(const uint8_t input[], size_t input_len,
      const BlockCipher& bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:117,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:118,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:122,1
    - Dst: Botan::decrypt
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:132,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:134,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:134,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:135,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:136,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:136,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:136,1
    - Dst: Botan::raw_nist_key_unwrap
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:138,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - input
    - input_len
    - ' bc'
    argTypes:
    - uint8_t[]
    - size_t
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 146
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 146
    functionName: Botan::nist_key_unwrap
    functionSourceFile: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp
    functionUses: 1
    functionsReached:
    - block_size
    - Botan::decrypt
    - Botan::raw_nist_key_unwrap
    - Invalid_Authentication_Tag
    - Invalid_Argument
    - secure_vector::resize
    - Botan::copy_mem
    - Botan::load_be
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> nist_key_unwrap(const uint8_t input[], size_t
      input_len, const BlockCipher& bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:149,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:150,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:160,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:160,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:161,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:161,1
    - Dst: Botan::encrypt
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:162,1
    - Dst: Botan::raw_nist_key_wrap
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - input
    - input_len
    - ' bc'
    argTypes:
    - uint8_t[]
    - size_t
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: Botan::nist_key_wrap_padded
    functionSourceFile: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - Botan::raw_nist_key_wrap
    - block_size
    - Botan::store_be
    - Botan::encrypt
    - Invalid_Argument
    - Botan::copy_mem
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> nist_key_wrap_padded(const uint8_t input[], size_t
      input_len, const BlockCipher& bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:170,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:171,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:175,1
    - Dst: Botan::decrypt
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:183,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:185,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:185,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:186,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:187,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:187,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:187,1
    - Dst: Botan::raw_nist_key_unwrap
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:189,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:193,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:198,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:198,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:198,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:199,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:205,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:206,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:210,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:210,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 3
    argNames:
    - input
    - input_len
    - ' bc'
    argTypes:
    - uint8_t[]
    - size_t
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 213
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 213
    functionName: Botan::nist_key_unwrap_padded
    functionSourceFile: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp
    functionUses: 0
    functionsReached:
    - block_size
    - Botan::decrypt
    - Botan::raw_nist_key_unwrap
    - Invalid_Authentication_Tag
    - Invalid_Argument
    - secure_vector::resize
    - Botan::copy_mem
    - secure_vector::size
    - Botan::load_be
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> nist_key_unwrap_padded(const uint8_t input[],
      size_t input_len, const BlockCipher& bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:20,1
    - Dst: Botan::serialize
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:20,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:21,1
    - Dst: Botan::serialize
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:21,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:23,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' hash_fn'
    - p_bytes
    - ' in1'
    - ' in2'
    argTypes:
    - HashFunction
    - size_t
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: Botan::hash_seq
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 0
    functionsReached:
    - Botan::serialize
    - Botan::final
    - Botan::BigInt::from_bytes
    - Botan::update
    linkageType: ''
    returnType: BigInt
    signature: BigInt hash_seq(HashFunction& hash_fn, size_t p_bytes, const BigInt&
      in1, const BigInt& in2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:30,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:31,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:32,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:34,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:36,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:37,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:39,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' hash_fn'
    - identifier
    - password
    - ' salt'
    argTypes:
    - HashFunction
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: Botan::compute_x
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - Botan::final
    - Botan::update
    linkageType: ''
    returnType: BigInt
    signature: "BigInt compute_x(HashFunction& hash_fn,\n                 std::string_view
      identifier,\n                 std::string_view password,\n                 const
      std::vector<uint8_t>& salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:52,1
    - Dst: bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:52,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:54,1
    - Dst: auto::get_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:56,1
    - Dst: auto::get_g
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:56,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' N'
    - ' g'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 5
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: Botan::srp6_group_identifier
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 1
    functionsReached:
    - Botan::DL_Group::from_name
    - auto::get_g
    - Botan::to_string
    - auto::get_p
    - Invalid_Argument
    - bits
    linkageType: ''
    returnType: std::string
    signature: std::string srp6_group_identifier(const BigInt& N, const BigInt& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:72,1
    - Dst: Botan::srp6_client_agree
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - identifier
    - password
    - group_id
    - hash_id
    - ' salt'
    - ' B'
    - ' rng'
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    - BigInt
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: Botan::srp6_client_agree
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 2
    functionsReached:
    - Botan::DL_Group::from_name
    - Botan::srp6_client_agree
    linkageType: ''
    returnType: std::pair<BigInt, SymmetricKey>
    signature: "std::pair<BigInt, SymmetricKey> srp6_client_agree(std::string_view
      identifier,\n                                                  std::string_view
      password,\n                                                  std::string_view
      group_id,\n                                                  std::string_view
      hash_id,\n                                                  const std::vector<uint8_t>&
      salt,\n                                                  const BigInt& B,\n
      \                                                 RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:86,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:86,1
    - Dst: get_g
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:88,1
    - Dst: get_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:89,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:94,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:97,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:98,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:98,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:99,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:99,1
    - Dst: auto::name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:99,1
    - Dst: Botan::hash_seq
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:102,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:106,1
    - Dst: Botan::hash_seq
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:108,1
    - Dst: Botan::compute_x
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:110,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:112,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:112,1
    - Dst: mod_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:114,1
    - Dst: mod_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:114,1
    - Dst: multiply_mod_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:114,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:119,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:119,1
    - Dst: power_b_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:121,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:123,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 8
    argNames:
    - identifier
    - password
    - ' group'
    - hash_id
    - ' salt'
    - ' B'
    - a_bits
    - ' rng'
    argTypes:
    - std::string_view
    - std::string_view
    - DL_Group
    - std::string_view
    - std::vector<uint8_t>
    - BigInt
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 126
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 126
    functionName: Botan::srp6_client_agree
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 2
    functionsReached:
    - get_p
    - Botan::fmt
    - auto::output_length
    - mod_p
    - BOTAN_ASSERT_NOMSG
    - auto::name
    - BigInt::bits
    - multiply_mod_p
    - BOTAN_ARG_CHECK
    - Botan::compute_x
    - BigInt::serialize
    - get_g
    - Botan::Decoding_Error
    - power_b_p
    - Botan::HashFunction::create_or_throw
    - Botan::hash_seq
    - p_bits
    - power_g_p
    - std::make_pair
    - Invalid_Argument
    linkageType: ''
    returnType: std::pair<BigInt, SymmetricKey>
    signature: "std::pair<BigInt, SymmetricKey> srp6_client_agree(std::string_view
      identifier,\n                                                  std::string_view
      password,\n                                                  const DL_Group&
      group,\n                                                  std::string_view hash_id,\n
      \                                                 const std::vector<uint8_t>&
      salt,\n                                                  const BigInt& B,\n
      \                                                 const size_t a_bits,\n                                                  RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:133,1
    - Dst: Botan::srp6_generate_verifier
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - identifier
    - password
    - ' salt'
    - group_id
    - hash_id
    argTypes:
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 5
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: Botan::srp6_generate_verifier
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 3
    functionsReached:
    - Botan::DL_Group::from_name
    - Botan::srp6_generate_verifier
    linkageType: ''
    returnType: BigInt
    signature: "BigInt srp6_generate_verifier(std::string_view identifier,\n                              std::string_view
      password,\n                              const std::vector<uint8_t>& salt,\n
      \                             std::string_view group_id,\n                              std::string_view
      hash_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:142,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:143,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:143,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:144,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:144,1
    - Dst: auto::name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:144,1
    - Dst: Botan::compute_x
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:147,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:148,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - identifier
    - password
    - ' salt'
    - ' group'
    - hash_id
    argTypes:
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    - DL_Group
    - std::string_view
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: Botan::srp6_generate_verifier
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 3
    functionsReached:
    - Botan::fmt
    - auto::name
    - p_bits
    - auto::output_length
    - power_g_p
    - Invalid_Argument
    - Botan::HashFunction::create_or_throw
    - Botan::compute_x
    linkageType: ''
    returnType: BigInt
    signature: "BigInt srp6_generate_verifier(std::string_view identifier,\n                              std::string_view
      password,\n                              const std::vector<uint8_t>& salt,\n
      \                             const DL_Group& group,\n                              std::string_view
      hash_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:155,1
    - Dst: Botan::SRP6_Server_Session::step1
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' v'
    - group_id
    - hash_id
    - ' rng'
    argTypes:
    - BigInt
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: Botan::SRP6_Server_Session::step1
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 3
    functionsReached:
    - Botan::DL_Group::from_name
    - Botan::SRP6_Server_Session::step1
    linkageType: ''
    returnType: BigInt
    signature: "BigInt SRP6_Server_Session::step1(const BigInt& v,\n                                  std::string_view
      group_id,\n                                  std::string_view hash_id,\n                                  RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:162,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:162,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:164,1
    - Dst: std::make_unique<DL_Group>
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:165,1
    - Dst: get_g
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:167,1
    - Dst: get_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:168,1
    - Dst: BigInt
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:171,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:174,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:175,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:175,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:176,1
    - Dst: fmt
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:176,1
    - Dst: auto::name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:176,1
    - Dst: hash_seq
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:179,1
    - Dst: p_bytes
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:179,1
    - Dst: mod_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:180,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' v'
    - ' group'
    - hash_id
    - b_bits
    - ' rng'
    argTypes:
    - BigInt
    - DL_Group
    - std::string_view
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 183
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 183
    functionName: Botan::SRP6_Server_Session::step1
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 3
    functionsReached:
    - p_bytes
    - get_p
    - auto::name
    - std::make_unique<DL_Group>
    - p_bits
    - BigInt
    - auto::output_length
    - power_g_p
    - hash_seq
    - Invalid_Argument
    - Botan::HashFunction::create_or_throw
    - BOTAN_ARG_CHECK
    - fmt
    - get_g
    - mod_p
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: BigInt
    signature: "BigInt SRP6_Server_Session::step1(\n   const BigInt& v, const DL_Group&
      group, std::string_view hash_id, size_t b_bits, RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:186,1
    - Dst: get_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:188,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:189,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:192,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:193,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:193,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:194,1
    - Dst: fmt
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:194,1
    - Dst: auto::name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:194,1
    - Dst: hash_seq
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:197,1
    - Dst: p_bytes
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:197,1
    - Dst: power_b_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:199,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:199,1
    - Dst: power_b_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:200,1
    - Dst: multiply_mod_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:200,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:200,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:202,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:202,1
    - Dst: p_bytes
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' A'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 203
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 203
    functionName: Botan::SRP6_Server_Session::step2
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 2
    functionsReached:
    - p_bytes
    - get_p
    - auto::name
    - p_bits
    - auto::output_length
    - power_b_p
    - hash_seq
    - fmt
    - SymmetricKey
    - Invalid_Argument
    - Botan::HashFunction::create_or_throw
    - multiply_mod_p
    - Decoding_Error
    - BigInt::serialize
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: SymmetricKey
    signature: SymmetricKey SRP6_Server_Session::step2(const BigInt& A)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 139
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: SRP6_Server_Session
    signature: SRP6_Server_Session final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 85
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: ZFEC
    signature: ZFEC final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:89,1
    - Dst: GF_Table::ptr
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - y
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 107
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 107
    functionName: Botan::GF_MUL_TABLE
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 0
    functionsReached:
    - GF_Table::ptr
    - resize
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GF_MUL_TABLE(uint8_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:128,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:139,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:144,1
    - Dst: pivot_search
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:157,1
    - Dst: std::swap
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:169,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:180,1
    - Dst: std::swap
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 2
    argNames:
    - matrix
    - K
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 216
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 216
    functionName: Botan::invert_matrix
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    - std::make_pair
    - Invalid_Argument
    - pivot_search
    linkageType: ''
    returnType: void
    signature: void invert_matrix(uint8_t matrix[], size_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - vdm
    - K
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 280
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 280
    functionName: Botan::create_inverted_vdm
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void create_inverted_vdm(uint8_t vdm[], size_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:295,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:303,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 4
    argNames:
    - z
    - x
    - y
    - size
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t
    - size_t
    constantsTouched: []
    func_position:
      end: 347
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 347
    functionName: Botan::ZFEC::addmul
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: void
    signature: void ZFEC::addmul(uint8_t z[], const uint8_t x[], uint8_t y, size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:360,1
    - Dst: create_inverted_vdm
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:370,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:372,1
    - Dst: GF_MUL_TABLE
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:392,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - K
    - N
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 397
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 397
    functionName: Botan::ZFEC::ZFEC
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - create_inverted_vdm
    - Invalid_Argument
    - GF_MUL_TABLE
    linkageType: ''
    returnType: void
    signature: void ZFEC::ZFEC(size_t K, size_t N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:404,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:411,1
    - Dst: Botan::ZFEC::encode_shares
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - input
    - size
    - ' output_cb'
    argTypes:
    - uint8_t[]
    - size_t
    - output_cb_t
    constantsTouched: []
    func_position:
      end: 415
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: Botan::ZFEC::encode
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 3
    functionsReached:
    - Botan::ZFEC::encode_shares
    - Invalid_Argument
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void ZFEC::encode(const uint8_t input[], size_t size, const output_cb_t&
      output_cb) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:420,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:421,1
    - Dst: output_cb
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:426,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:432,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:432,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:432,1
    - Dst: Botan::ZFEC::addmul
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:435,1
    - Dst: output_cb
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:438,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' shares'
    - share_size
    - ' output_cb'
    argTypes:
    - std::vector<const uint8_t*>
    - size_t
    - output_cb_t
    constantsTouched: []
    func_position:
      end: 440
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 440
    functionName: Botan::ZFEC::encode_shares
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - clear_mem
    - std::vector::size
    - Botan::ZFEC::addmul
    - Invalid_Argument
    - output_cb
    - size
    linkageType: ''
    returnType: void
    signature: "void ZFEC::encode_shares(const std::vector<const uint8_t*>& shares,\n
      \                        size_t share_size,\n                         const
      output_cb_t& output_cb) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:457,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:458,1
    - Dst: begin
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:465,1
    - Dst: rbegin
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:466,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:487,1
    - Dst: output_cb
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:499,1
    - Dst: std::memcpy
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:502,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:512,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:513,1
    - Dst: invert_matrix
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:518,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:520,1
    - Dst: Botan::ZFEC::addmul
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:524,1
    - Dst: output_cb
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:526,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ' shares'
    - share_size
    - ' output_cb'
    argTypes:
    - std::map<size_t, const uint8_t*>
    - size_t
    - output_cb_t
    constantsTouched: []
    func_position:
      end: 529
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 529
    functionName: Botan::ZFEC::decode_shares
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 3
    functionsReached:
    - std::vector::size
    - Botan::ZFEC::addmul
    - rbegin
    - output_cb
    - size
    - std::memcpy
    - Decoding_Error
    - invert_matrix
    - begin
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void ZFEC::decode_shares(const std::map<size_t, const uint8_t*>& shares,\n
      \                        size_t share_size,\n                         const
      output_cb_t& output_cb) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:533,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: Botan::ZFEC::provider
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string ZFEC::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:18,1
    - Dst: _mm_add_epi8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:18,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:18,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::rshift_1_u8
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp
    functionUses: 0
    functionsReached:
    - _mm_add_epi8
    - SIMD_4x32::raw
    - SIMD_4x32
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 rshift_1_u8(SIMD_4x32 v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:22,1
    - Dst: _mm_cmpgt_epi8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:22,1
    - Dst: _mm_setzero_si128
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:22,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::high_bit_set_u8
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp
    functionUses: 0
    functionsReached:
    - _mm_setzero_si128
    - SIMD_4x32::raw
    - _mm_cmpgt_epi8
    - SIMD_4x32
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 high_bit_set_u8(SIMD_4x32 v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat_u8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:28,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:34,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:35,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:36,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:37,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:39,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:40,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:41,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:42,1
    - Dst: rshift_1_u8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:63,1
    - Dst: rshift_1_u8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:64,1
    - Dst: rshift_1_u8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:65,1
    - Dst: rshift_1_u8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:66,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:81,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:82,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:83,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 4
    argNames:
    - z
    - x
    - y
    - size
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 92
    functionName: Botan::size_t::addmul_sse2
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::store_le
    - Botan::SIMD_4x32::load_le
    - rshift_1_u8
    - Botan::SIMD_4x32::splat_u8
    linkageType: ''
    returnType: BOTAN_FN_ISA_SSE2
    signature: BOTAN_FN_ISA_SSE2 size_t ZFEC::addmul_sse2(uint8_t z[], const uint8_t
      x[], uint8_t y, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat_u8
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:462,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:465,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:466,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:471,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:472,1
    - Dst: auto::shr
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:477,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:480,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:481,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - z
    - x
    - y
    - size
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t
    - size_t
    constantsTouched: []
    func_position:
      end: 495
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 495
    functionName: Botan::size_t::addmul_vperm
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x32::load_le
    - auto::store_le
    - Botan::SIMD_4x32::byte_shuffle
    - auto::shr
    - Botan::SIMD_4x32::splat_u8
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X32
    signature: BOTAN_FN_ISA_SIMD_4X32 size_t ZFEC::addmul_vperm(uint8_t z[], const
      uint8_t x[], uint8_t y, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HOTP
      Src: /src/botan/src/lib/misc/hotp/otp.h:27,1
    - Dst: HOTP
      Src: /src/botan/src/lib/misc/hotp/otp.h:28,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/misc/hotp/otp.h:28,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/hotp/otp.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 59
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/misc/hotp/otp.h
    functionUses: 12
    functionsReached:
    - HOTP
    - Botan::size
    - Botan::begin
    linkageType: ''
    returnType: HOTP
    signature: HOTP final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TOTP
      Src: /src/botan/src/lib/misc/hotp/otp.h:72,1
    - Dst: TOTP
      Src: /src/botan/src/lib/misc/hotp/otp.h:73,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/misc/hotp/otp.h:73,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/hotp/otp.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 107
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/misc/hotp/otp.h
    functionUses: 12
    functionsReached:
    - TOTP
    - Botan::size
    - Botan::begin
    linkageType: ''
    returnType: TOTP
    signature: TOTP final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:16,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:31,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:33,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:35,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:37,1
    - Dst: set_key
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:40,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - key
    - key_len
    - hash_algo
    - digits
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 41
    functionName: Botan::HOTP::HOTP
    functionSourceFile: /src/botan/src/lib/misc/hotp/hotp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - set_key
    - Invalid_Argument
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: void
    signature: void HOTP::HOTP(const uint8_t key[], size_t key_len, std::string_view
      hash_algo, size_t digits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_be
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:44,1
    - Dst: final
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - counter
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: Botan::HOTP::generate_hotp
    functionSourceFile: /src/botan/src/lib/misc/hotp/hotp.cpp
    functionUses: 1
    functionsReached:
    - update_be
    - final
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HOTP::generate_hotp(uint64_t counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HOTP::generate_hotp
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:54,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:55,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - otp
    - starting_counter
    - resync_range
    argTypes:
    - uint32_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: Botan::HOTP::verify_hotp
    functionSourceFile: /src/botan/src/lib/misc/hotp/hotp.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - Botan::HOTP::generate_hotp
    linkageType: ''
    returnType: std::pair<bool, uint64_t>
    signature: std::pair<bool, uint64_t> HOTP::verify_hotp(uint32_t otp, uint64_t
      starting_counter, size_t resync_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calendar_point
      Src: /src/botan/src/lib/misc/hotp/totp.cpp:18,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/hotp/totp.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - hash_algo
    - digits
    - time_step
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: Botan::TOTP::TOTP
    functionSourceFile: /src/botan/src/lib/misc/hotp/totp.cpp
    functionUses: 0
    functionsReached:
    - calendar_point
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void TOTP::TOTP(const uint8_t key[], size_t key_len, std::string_view
      hash_algo, size_t digits, size_t time_step)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TOTP::generate_totp
      Src: /src/botan/src/lib/misc/hotp/totp.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - current_time
    argTypes:
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: Botan::TOTP::generate_totp
    functionSourceFile: /src/botan/src/lib/misc/hotp/totp.cpp
    functionUses: 2
    functionsReached:
    - Botan::TOTP::generate_totp
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TOTP::generate_totp(std::chrono::system_clock::time_point
      current_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_hotp
      Src: /src/botan/src/lib/misc/hotp/totp.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unix_time
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::TOTP::generate_totp
    functionSourceFile: /src/botan/src/lib/misc/hotp/totp.cpp
    functionUses: 2
    functionsReached:
    - generate_hotp
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TOTP::generate_totp(uint64_t unix_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TOTP::verify_totp
      Src: /src/botan/src/lib/misc/hotp/totp.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - otp
    - current_time
    - clock_drift_accepted
    argTypes:
    - uint32_t
    - std::chrono::system_clock::time_point
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Botan::TOTP::verify_totp
    functionSourceFile: /src/botan/src/lib/misc/hotp/totp.cpp
    functionUses: 2
    functionsReached:
    - Botan::TOTP::verify_totp
    linkageType: ''
    returnType: bool
    signature: bool TOTP::verify_totp(uint32_t otp, std::chrono::system_clock::time_point
      current_time, size_t clock_drift_accepted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_hotp
      Src: /src/botan/src/lib/misc/hotp/totp.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - otp
    - unix_time
    - clock_drift_accepted
    argTypes:
    - uint32_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: Botan::TOTP::verify_totp
    functionSourceFile: /src/botan/src/lib/misc/hotp/totp.cpp
    functionUses: 2
    functionsReached:
    - generate_hotp
    linkageType: ''
    returnType: bool
    signature: bool TOTP::verify_totp(uint32_t otp, uint64_t unix_time, size_t clock_drift_accepted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/tss/tss.h:92,1
    - Dst: Botan::empty
      Src: /src/botan/src/lib/misc/tss/tss.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 101
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.h
    functionUses: 12
    functionsReached:
    - Botan::size
    - Botan::empty
    linkageType: ''
    returnType: RTSS_Share
    signature: RTSS_Share final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: Botan::gfp_mul
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t gfp_mul(uint8_t x, uint8_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/tss/tss.cpp:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - hash_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: Botan::rtss_hash_id
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t rtss_hash_id(std::string_view hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HashFunction>
      Src: /src/botan/src/lib/misc/tss/tss.cpp:81,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/tss/tss.cpp:84,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/tss/tss.cpp:86,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: Botan::get_rtss_hash_by_id
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<HashFunction>
    - Botan::Decoding_Error
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> get_rtss_hash_by_id(uint8_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex_decode_locked
      Src: /src/botan/src/lib/misc/tss/tss.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hex_input
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::RTSS_Share::RTSS_Share
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 2
    functionsReached:
    - hex_decode_locked
    linkageType: ''
    returnType: void
    signature: void RTSS_Share::RTSS_Share(std::string_view hex_input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/misc/tss/tss.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bin
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::RTSS_Share::RTSS_Share
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 2
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void RTSS_Share::RTSS_Share(const uint8_t bin[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialized
      Src: /src/botan/src/lib/misc/tss/tss.cpp:103,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/misc/tss/tss.cpp:104,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:107,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: Botan::RTSS_Share::share_id
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - Invalid_State
    - size
    - initialized
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t RTSS_Share::share_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex_encode
      Src: /src/botan/src/lib/misc/tss/tss.cpp:115,1
    - Dst: data
      Src: /src/botan/src/lib/misc/tss/tss.cpp:115,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: Botan::RTSS_Share::to_string
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 0
    functionsReached:
    - data
    - hex_encode
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string RTSS_Share::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RTSS_Share::split
      Src: /src/botan/src/lib/misc/tss/tss.cpp:120,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/misc/tss/tss.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - M
    - N
    - S
    - S_len
    - identifier
    - ' rng'
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t[]
    - uint16_t
    - uint8_t[]
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: Botan::RTSS_Share::split
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 3
    functionsReached:
    - std::vector<uint8_t>
    - Botan::RTSS_Share::split
    linkageType: ''
    returnType: std::vector<RTSS_Share>
    signature: "std::vector<RTSS_Share> RTSS_Share::split(\n   uint8_t M, uint8_t
      N, const uint8_t S[], uint16_t S_len, const uint8_t identifier[16], RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/tss/tss.cpp:131,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:134,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/tss/tss.cpp:135,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/tss/tss.cpp:142,1
    - Dst: std::unique_ptr::process
      Src: /src/botan/src/lib/misc/tss/tss.cpp:148,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:151,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:152,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/misc/tss/tss.cpp:159,1
    - Dst: data
      Src: /src/botan/src/lib/misc/tss/tss.cpp:159,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:159,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/misc/tss/tss.cpp:162,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/misc/tss/tss.cpp:163,1
    - Dst: m_contents::reserve
      Src: /src/botan/src/lib/misc/tss/tss.cpp:169,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:169,1
    - Dst: m_contents::push_back
      Src: /src/botan/src/lib/misc/tss/tss.cpp:175,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:178,1
    - Dst: randomize
      Src: /src/botan/src/lib/misc/tss/tss.cpp:180,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/tss/tss.cpp:180,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:180,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:188,1
    - Dst: gfp_mul
      Src: /src/botan/src/lib/misc/tss/tss.cpp:189,1
    - Dst: gfp_mul
      Src: /src/botan/src/lib/misc/tss/tss.cpp:190,1
    - Dst: m_contents::push_back
      Src: /src/botan/src/lib/misc/tss/tss.cpp:193,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 7
    argNames:
    - M
    - N
    - S
    - S_len
    - ' identifier'
    - hash_fn
    - ' rng'
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t[]
    - uint16_t
    - std::vector<uint8_t>
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 198
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 198
    functionName: Botan::RTSS_Share::split
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 3
    functionsReached:
    - std::vector::data
    - std::vector::size
    - gfp_mul
    - Encoding_Error
    - data
    - randomize
    - copy_mem
    - get_byte<1>
    - m_contents::reserve
    - m_contents::push_back
    - Invalid_Argument
    - std::unique_ptr::process
    - Botan::HashFunction::create_or_throw
    - size
    - get_byte<0>
    - secure_vector::size
    linkageType: ''
    returnType: std::vector<RTSS_Share>
    signature: "std::vector<RTSS_Share> RTSS_Share::split(uint8_t M,\n                                          uint8_t
      N,\n                                          const uint8_t S[],\n                                          uint16_t
      S_len,\n                                          const std::vector<uint8_t>&
      identifier,\n                                          std::string_view hash_fn,\n
      \                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:201,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:202,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:205,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:206,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:207,1
    - Dst: Botan::RTSS_Share::share_id
      Src: /src/botan/src/lib/misc/tss/tss.cpp:210,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:211,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:215,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:215,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:216,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/misc/tss/tss.cpp:219,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:220,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:227,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:228,1
    - Dst: get_rtss_hash_by_id
      Src: /src/botan/src/lib/misc/tss/tss.cpp:234,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:237,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:244,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:245,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:249,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:252,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:253,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:258,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:261,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:270,1
    - Dst: gfp_mul
      Src: /src/botan/src/lib/misc/tss/tss.cpp:275,1
    - Dst: gfp_mul
      Src: /src/botan/src/lib/misc/tss/tss.cpp:278,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/misc/tss/tss.cpp:280,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:284,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/tss/tss.cpp:284,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:285,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/tss/tss.cpp:290,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/tss/tss.cpp:290,1
    - Dst: auto::final
      Src: /src/botan/src/lib/misc/tss/tss.cpp:291,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/misc/tss/tss.cpp:293,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/tss/tss.cpp:293,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/tss/tss.cpp:293,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:294,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/misc/tss/tss.cpp:298,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 57
    argCount: 1
    argNames:
    - ' shares'
    argTypes:
    - std::vector<RTSS_Share>
    constantsTouched: []
    func_position:
      end: 302
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 302
    functionName: Botan::RTSS_Share::reconstruct
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 3
    functionsReached:
    - Botan::RTSS_Share::share_id
    - std::vector::size
    - get_rtss_hash_by_id
    - Botan::CT::is_equal
    - gfp_mul
    - secure_vector::push_back
    - auto::output_length
    - secure_vector::resize
    - auto::update
    - size
    - auto::final
    - Decoding_Error
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> RTSS_Share::reconstruct(const std::vector<RTSS_Share>&
      shares)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::secure_allocator::secure_allocator
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secure_allocator() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::secure_allocator::secure_allocator
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secure_allocator(const secure_allocator&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(const secure_allocator&) noexcept'
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_allocator
    signature: secure_allocator & operator=(const secure_allocator&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::secure_allocator::secure_allocator
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secure_allocator(secure_allocator&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& operator=(secure_allocator&&) noexcept'
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_allocator
    signature: secure_allocator & operator=(secure_allocator&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~secure_allocator() noexcept
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~secure_allocator() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::secure_allocator::secure_allocator
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secure_allocator(const secure_allocator<U>&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/botan/src/lib/base/secmem.h:52,1
    - Dst: allocate_memory
      Src: /src/botan/src/lib/base/secmem.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::secure_allocator::allocate
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 1
    functionsReached:
    - allocate_memory
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * allocate(std::size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deallocate_memory
      Src: /src/botan/src/lib/base/secmem.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::secure_allocator::deallocate
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 3
    functionsReached:
    - deallocate_memory
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, std::size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: operator==(const secure_allocator<T>&, const secure_allocator<U>&)
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const secure_allocator<T>&, const secure_allocator<U>&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: operator!=(const secure_allocator<T>&, const secure_allocator<U>&)
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const secure_allocator<T>&, const secure_allocator<U>&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector<T>
      Src: /src/botan/src/lib/base/secmem.h:81,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/base/secmem.h:81,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/base/secmem.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<T>
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::lock
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 5
    functionsReached:
    - secure_vector<T>
    - Botan::begin
    - Botan::end
    linkageType: ''
    returnType: secure_vector<T>
    signature: secure_vector<T> lock(const std::vector<T>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<T>
      Src: /src/botan/src/lib/base/secmem.h:86,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/base/secmem.h:86,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/base/secmem.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - secure_vector<T>
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::unlock
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 12
    functionsReached:
    - Botan::end
    - std::vector<T>
    - Botan::begin
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> unlock(const secure_vector<T>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/base/secmem.h:91,1
    - Dst: end
      Src: /src/botan/src/lib/base/secmem.h:91,1
    - Dst: begin
      Src: /src/botan/src/lib/base/secmem.h:91,1
    - Dst: end
      Src: /src/botan/src/lib/base/secmem.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - std::vector<T, Alloc>
    - std::vector<T, Alloc2>
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '& operator+=(std::vector<T, Alloc>& out, const std::vector<T, Alloc2>&
      in)'
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - insert
    - end
    - begin
    linkageType: ''
    returnType: std::vector<T, Alloc>
    signature: std::vector<T, Alloc> & operator+=(std::vector<T, Alloc>& out, const
      std::vector<T, Alloc2>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/base/secmem.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - in
    argTypes:
    - std::vector<T, Alloc>
    - T
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '& operator+=(std::vector<T, Alloc>& out, T in)'
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: std::vector<T, Alloc>
    signature: std::vector<T, Alloc> & operator+=(std::vector<T, Alloc>& out, T in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/base/secmem.h:103,1
    - Dst: end
      Src: /src/botan/src/lib/base/secmem.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - std::vector<T, Alloc>
    - std::pair<const T*, L>
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '& operator+=(std::vector<T, Alloc>& out, const std::pair<const
      T*, L>& in)'
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - insert
    - end
    linkageType: ''
    returnType: std::vector<T, Alloc>
    signature: std::vector<T, Alloc> & operator+=(std::vector<T, Alloc>& out, const
      std::pair<const T*, L>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/base/secmem.h:109,1
    - Dst: end
      Src: /src/botan/src/lib/base/secmem.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - std::vector<T, Alloc>
    - std::pair<T*, L>
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '& operator+=(std::vector<T, Alloc>& out, const std::pair<T*, L>&
      in)'
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - insert
    - end
    linkageType: ''
    returnType: std::vector<T, Alloc>
    signature: std::vector<T, Alloc> & operator+=(std::vector<T, Alloc>& out, const
      std::pair<T*, L>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/botan/src/lib/base/secmem.h:119,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/base/secmem.h:119,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/base/secmem.h:119,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/base/secmem.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<T, Alloc>
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::zeroise
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - Botan::end
    - Botan::begin
    - std::fill
    - static_cast<T>
    linkageType: ''
    returnType: void
    signature: void zeroise(std::vector<T, Alloc>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::zeroise
      Src: /src/botan/src/lib/base/secmem.h:128,1
    - Dst: Botan::clear
      Src: /src/botan/src/lib/base/secmem.h:129,1
    - Dst: shrink_to_fit
      Src: /src/botan/src/lib/base/secmem.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<T, Alloc>
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: Botan::zap
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - Botan::clear
    - shrink_to_fit
    - Botan::zeroise
    linkageType: ''
    returnType: void
    signature: void zap(std::vector<T, Alloc>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:14,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/base/buf_comp.cpp:14,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/base/buf_comp.cpp:14,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/base/buf_comp.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: Botan::Buffered_Computation::update
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - cast_char_ptr_to_uint8
    - std::string_view::size
    - add_data
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/base/buf_comp.cpp:19,1
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: Botan::Buffered_Computation::update_be
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - add_data
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update_be(uint16_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/base/buf_comp.cpp:25,1
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: Botan::Buffered_Computation::update_be
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - add_data
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update_be(uint32_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/base/buf_comp.cpp:31,1
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: Botan::Buffered_Computation::update_be
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - add_data
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update_be(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_le
      Src: /src/botan/src/lib/base/buf_comp.cpp:37,1
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::Buffered_Computation::update_le
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - store_le
    - add_data
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update_le(uint16_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_le
      Src: /src/botan/src/lib/base/buf_comp.cpp:43,1
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: Botan::Buffered_Computation::update_le
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - store_le
    - add_data
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update_le(uint32_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_le
      Src: /src/botan/src/lib/base/buf_comp.cpp:49,1
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: Botan::Buffered_Computation::update_le
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - store_le
    - add_data
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update_le(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/base/buf_comp.cpp:54,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/base/buf_comp.cpp:54,1
    - Dst: output_length
      Src: /src/botan/src/lib/base/buf_comp.cpp:54,1
    - Dst: final_result
      Src: /src/botan/src/lib/base/buf_comp.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan::Buffered_Computation::final
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<uint8_t>::size
    - output_length
    - final_result
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::final(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: OctetString
    signature: OctetString final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/base/symkey.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::size
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 54
    functionsReached:
    - Botan::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::empty
      Src: /src/botan/src/lib/base/symkey.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::empty
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 8
    functionsReached:
    - Botan::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::bits_of
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> bits_of() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/base/symkey.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::begin
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 12
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * begin() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::begin
      Src: /src/botan/src/lib/base/symkey.h:46,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/base/symkey.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan::end
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 12
    functionsReached:
    - Botan::begin
    - Botan::size
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * end() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/base/symkey.h:93,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/base/symkey.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan::OctetString
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 4
    functionsReached:
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void OctetString(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/base/symkey.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::OctetString
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 4
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void OctetString(secure_vector<uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::update
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 17
    functionsReached:
    - add_data
    linkageType: ''
    returnType: void
    signature: void update(const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::update
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 17
    functionsReached:
    - add_data
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::update
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 17
    functionsReached:
    - add_data
    linkageType: ''
    returnType: void
    signature: void update(uint8_t in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_result
      Src: /src/botan/src/lib/base/buf_comp.h:69,1
    - Dst: output_length
      Src: /src/botan/src/lib/base/buf_comp.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 12
    functionsReached:
    - output_length
    - final_result
    linkageType: ''
    returnType: void
    signature: void final(uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_result
      Src: /src/botan/src/lib/base/buf_comp.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 12
    functionsReached:
    - final_result
    linkageType: ''
    returnType: T
    signature: T final()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::final
      Src: /src/botan/src/lib/base/buf_comp.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::final_stdvec
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 0
    functionsReached:
    - Botan::final
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> final_stdvec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/base/buf_comp.h:89,1
    - Dst: output_length
      Src: /src/botan/src/lib/base/buf_comp.h:89,1
    - Dst: final_result
      Src: /src/botan/src/lib/base/buf_comp.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 13
    functionsReached:
    - resize
    - output_length
    - final_result
    linkageType: ''
    returnType: void
    signature: void final(T& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/base/buf_comp.h:102,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/base/buf_comp.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: Botan::process
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 0
    functionsReached:
    - Botan::final
    - Botan::update
    linkageType: ''
    returnType: T
    signature: T process(const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/base/buf_comp.h:114,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/base/buf_comp.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Botan::process
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 0
    functionsReached:
    - Botan::final
    - Botan::update
    linkageType: ''
    returnType: T
    signature: T process(std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/base/buf_comp.h:126,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/base/buf_comp.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: Botan::process
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 0
    functionsReached:
    - Botan::final
    - Botan::update
    linkageType: ''
    returnType: T
    signature: T process(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~Buffered_Computation()
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Buffered_Computation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/base/sym_algo.h:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 74
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 16
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~SymmetricAlgorithm()
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SymmetricAlgorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SymmetricAlgorithm
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::SymmetricAlgorithm
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SymmetricAlgorithm(const SymmetricAlgorithm& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SymmetricAlgorithm
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::SymmetricAlgorithm
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SymmetricAlgorithm(SymmetricAlgorithm&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::key_spec
      Src: /src/botan/src/lib/base/sym_algo.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::maximum_keylength
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 0
    functionsReached:
    - Botan::key_spec
    linkageType: ''
    returnType: size_t
    signature: size_t maximum_keylength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::key_spec
      Src: /src/botan/src/lib/base/sym_algo.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan::minimum_keylength
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 0
    functionsReached:
    - Botan::key_spec
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_keylength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::key_spec
      Src: /src/botan/src/lib/base/sym_algo.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::valid_keylength
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 0
    functionsReached:
    - Botan::key_spec
    linkageType: ''
    returnType: bool
    signature: bool valid_keylength(size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::set_key
      Src: /src/botan/src/lib/base/sym_algo.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan::set_key
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 3
    functionsReached:
    - Botan::set_key
    linkageType: ''
    returnType: void
    signature: void set_key(const uint8_t key[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: throw_key_not_set_error
      Src: /src/botan/src/lib/base/sym_algo.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - predicate
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: assert_key_material_set
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 22
    functionsReached:
    - throw_key_not_set_error
    linkageType: ''
    returnType: void
    signature: void assert_key_material_set(bool predicate) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/base/symkey.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - len
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::OctetString::OctetString
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    linkageType: ''
    returnType: void
    signature: void OctetString::OctetString(RandomNumberGenerator& rng, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/base/symkey.cpp:28,1
    - Dst: resize
      Src: /src/botan/src/lib/base/symkey.cpp:29,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/base/symkey.cpp:29,1
    - Dst: resize
      Src: /src/botan/src/lib/base/symkey.cpp:30,1
    - Dst: hex_decode
      Src: /src/botan/src/lib/base/symkey.cpp:30,1
    - Dst: data
      Src: /src/botan/src/lib/base/symkey.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hex_string
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: Botan::OctetString::OctetString
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - hex_decode
    - std::string_view::empty
    - data
    - std::string_view::length
    - resize
    linkageType: ''
    returnType: void
    signature: void OctetString::OctetString(std::string_view hex_string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/base/symkey.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - n
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::OctetString::OctetString
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void OctetString::OctetString(const uint8_t in[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: Botan::odd_parity_of
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t odd_parity_of(uint8_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/base/symkey.cpp:58,1
    - Dst: odd_parity_of
      Src: /src/botan/src/lib/base/symkey.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: Botan::OctetString::set_odd_parity
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 1
    functionsReached:
    - odd_parity_of
    - size
    linkageType: ''
    returnType: void
    signature: void OctetString::set_odd_parity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex_encode
      Src: /src/botan/src/lib/base/symkey.cpp:67,1
    - Dst: data
      Src: /src/botan/src/lib/base/symkey.cpp:67,1
    - Dst: size
      Src: /src/botan/src/lib/base/symkey.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Botan::OctetString::to_string
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 1
    functionsReached:
    - data
    - hex_encode
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string OctetString::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroise
      Src: /src/botan/src/lib/base/symkey.cpp:75,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/base/symkey.cpp:78,1
    - Dst: data
      Src: /src/botan/src/lib/base/symkey.cpp:78,1
    - Dst: begin
      Src: /src/botan/src/lib/base/symkey.cpp:78,1
    - Dst: std::min
      Src: /src/botan/src/lib/base/symkey.cpp:78,1
    - Dst: length
      Src: /src/botan/src/lib/base/symkey.cpp:78,1
    - Dst: length
      Src: /src/botan/src/lib/base/symkey.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - OctetString
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: '& OctetString::operator^=(const OctetString& k)'
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - data
    - length
    - zeroise
    - std::min
    - xor_buf
    - begin
    linkageType: ''
    returnType: OctetString
    signature: OctetString & OctetString::operator^=(const OctetString& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bits_of
      Src: /src/botan/src/lib/base/symkey.cpp:86,1
    - Dst: Botan::bits_of
      Src: /src/botan/src/lib/base/symkey.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - OctetString
    - OctetString
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: operator==(const OctetString& s1, const OctetString& s2)
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::bits_of
    linkageType: ''
    returnType: bool
    signature: bool operator==(const OctetString& s1, const OctetString& s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - OctetString
    - OctetString
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: operator!=(const OctetString& s1, const OctetString& s2)
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const OctetString& s1, const OctetString& s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bits_of
      Src: /src/botan/src/lib/base/symkey.cpp:101,1
    - Dst: Botan::bits_of
      Src: /src/botan/src/lib/base/symkey.cpp:102,1
    - Dst: Botan::OctetString
      Src: /src/botan/src/lib/base/symkey.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' k1'
    - ' k2'
    argTypes:
    - OctetString
    - OctetString
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: operator+(const OctetString& k1, const OctetString& k2)
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::bits_of
    - Botan::OctetString
    linkageType: ''
    returnType: OctetString
    signature: OctetString operator+(const OctetString& k1, const OctetString& k2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/botan/src/lib/base/symkey.cpp:110,1
    - Dst: length
      Src: /src/botan/src/lib/base/symkey.cpp:110,1
    - Dst: length
      Src: /src/botan/src/lib/base/symkey.cpp:110,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/base/symkey.cpp:112,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/base/symkey.cpp:112,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/base/symkey.cpp:112,1
    - Dst: length
      Src: /src/botan/src/lib/base/symkey.cpp:112,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/base/symkey.cpp:113,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/base/symkey.cpp:113,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/base/symkey.cpp:113,1
    - Dst: length
      Src: /src/botan/src/lib/base/symkey.cpp:113,1
    - Dst: Botan::OctetString
      Src: /src/botan/src/lib/base/symkey.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' k1'
    - ' k2'
    argTypes:
    - OctetString
    - OctetString
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: operator^(const OctetString& k1, const OctetString& k2)
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - length
    - std::max
    - Botan::xor_buf
    - Botan::copy_mem
    - Botan::begin
    - secure_vector::data
    - Botan::OctetString
    linkageType: ''
    returnType: OctetString
    signature: OctetString operator^(const OctetString& k1, const OctetString& k2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SymmetricAlgorithm::set_key
      Src: /src/botan/src/lib/base/sym_algo.cpp:15,1
    - Dst: begin
      Src: /src/botan/src/lib/base/sym_algo.cpp:15,1
    - Dst: length
      Src: /src/botan/src/lib/base/sym_algo.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - OctetString
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Botan::SymmetricAlgorithm::set_key
    functionSourceFile: /src/botan/src/lib/base/sym_algo.cpp
    functionUses: 1
    functionsReached:
    - begin
    - length
    - Botan::SymmetricAlgorithm::set_key
    linkageType: ''
    returnType: void
    signature: void SymmetricAlgorithm::set_key(const OctetString& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Not_Set
      Src: /src/botan/src/lib/base/sym_algo.cpp:19,1
    - Dst: name
      Src: /src/botan/src/lib/base/sym_algo.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::SymmetricAlgorithm::throw_key_not_set_error
    functionSourceFile: /src/botan/src/lib/base/sym_algo.cpp
    functionUses: 0
    functionsReached:
    - Key_Not_Set
    - name
    linkageType: ''
    returnType: void
    signature: void SymmetricAlgorithm::throw_key_not_set_error() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_keylength
      Src: /src/botan/src/lib/base/sym_algo.cpp:23,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/base/sym_algo.cpp:23,1
    - Dst: Invalid_Key_Length
      Src: /src/botan/src/lib/base/sym_algo.cpp:24,1
    - Dst: name
      Src: /src/botan/src/lib/base/sym_algo.cpp:24,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/base/sym_algo.cpp:24,1
    - Dst: key_schedule
      Src: /src/botan/src/lib/base/sym_algo.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: Botan::SymmetricAlgorithm::set_key
    functionSourceFile: /src/botan/src/lib/base/sym_algo.cpp
    functionUses: 1
    functionsReached:
    - name
    - key_schedule
    - std::span<const uint8_t>::size
    - Invalid_Key_Length
    - valid_keylength
    linkageType: ''
    returnType: void
    signature: void SymmetricAlgorithm::set_key(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Compression_Alloc_Info*>
      Src: /src/botan/src/lib/compression/compress_utils.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - n
    - size
    argTypes:
    - void*
    - T
    - T
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::Compression_Alloc_Info::malloc
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<Compression_Alloc_Info*>
    linkageType: ''
    returnType: void
    signature: void * malloc(void* self, T n, T size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Compression_Alloc_Info*>
      Src: /src/botan/src/lib/compression/compress_utils.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - self
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Compression_Alloc_Info::free
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<Compression_Alloc_Info*>
    linkageType: ''
    returnType: void
    signature: void free(void* self, void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ByteType*>
      Src: /src/botan/src/lib/compression/compress_utils.h:45,1
    - Dst: static_cast<StreamLenType>
      Src: /src/botan/src/lib/compression/compress_utils.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Botan::Zlib_Style_Stream::next_in
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<StreamLenType>
    - reinterpret_cast<ByteType*>
    linkageType: ''
    returnType: void
    signature: void next_in(uint8_t* b, size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ByteType*>
      Src: /src/botan/src/lib/compression/compress_utils.h:50,1
    - Dst: static_cast<StreamLenType>
      Src: /src/botan/src/lib/compression/compress_utils.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: Botan::Zlib_Style_Stream::next_out
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<StreamLenType>
    - reinterpret_cast<ByteType*>
    linkageType: ''
    returnType: void
    signature: void next_out(uint8_t* b, size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::Zlib_Style_Stream::avail_in
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t avail_in() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::Zlib_Style_Stream::avail_out
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t avail_out() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Compression_Alloc_Info>
      Src: /src/botan/src/lib/compression/compress_utils.h:58,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/compression/compress_utils.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::Zlib_Style_Stream::Zlib_Style_Stream
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - clear_mem
    - std::make_unique<Compression_Alloc_Info>
    linkageType: ''
    returnType: void
    signature: void Zlib_Style_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Style_Stream
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::Zlib_Style_Stream::Zlib_Style_Stream
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zlib_Style_Stream(const Zlib_Style_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Style_Stream
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::Zlib_Style_Stream::Zlib_Style_Stream
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zlib_Style_Stream(Zlib_Style_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Style_Stream
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '& operator=(const Zlib_Style_Stream& other)'
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Style_Stream
    signature: Zlib_Style_Stream & operator=(const Zlib_Style_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Style_Stream
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '& operator=(Zlib_Style_Stream&& other)'
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Style_Stream
    signature: Zlib_Style_Stream & operator=(Zlib_Style_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/compression/compress_utils.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: ~Zlib_Style_Stream() override
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - Botan::clear_mem
    linkageType: ''
    returnType: void
    signature: void ~Zlib_Style_Stream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::Zlib_Style_Stream::streamp
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stream_t
    signature: stream_t * streamp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/compression/compress_utils.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan::Zlib_Style_Stream::alloc
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Compression_Alloc_Info
    signature: Compression_Alloc_Info * alloc()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: ~Compression_Algorithm()
    functionSourceFile: /src/botan/src/lib/compression/compression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Compression_Algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~Decompression_Algorithm()
    functionSourceFile: /src/botan/src/lib/compression/compression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Decompression_Algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/lib/compression/compression.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: make_compressor
    functionSourceFile: /src/botan/src/lib/compression/compression.h
    functionUses: 0
    functionsReached:
    - Botan::Compression_Algorithm::create
    linkageType: ''
    returnType: Compression_Algorithm
    signature: Compression_Algorithm * make_compressor(std::string_view type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decompression_Algorithm::create
      Src: /src/botan/src/lib/compression/compression.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: make_decompressor
    functionSourceFile: /src/botan/src/lib/compression/compression.h
    functionUses: 0
    functionsReached:
    - Botan::Decompression_Algorithm::create
    linkageType: ''
    returnType: Decompression_Algorithm
    signature: Decompression_Algorithm * make_decompressor(std::string_view type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/compression.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: Exception
    functionSourceFile: /src/botan/src/lib/compression/compression.h
    functionUses: 131
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: Compression_Error
    signature: Compression_Error Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: ~Compression_Stream()
    functionSourceFile: /src/botan/src/lib/compression/compression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Compression_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Zlib_Compression>
      Src: /src/botan/src/lib/compression/compression.cpp:32,1
    - Dst: std::make_unique<Gzip_Compression>
      Src: /src/botan/src/lib/compression/compression.cpp:35,1
    - Dst: std::make_unique<Deflate_Compression>
      Src: /src/botan/src/lib/compression/compression.cpp:38,1
    - Dst: std::make_unique<Bzip2_Compression>
      Src: /src/botan/src/lib/compression/compression.cpp:44,1
    - Dst: std::make_unique<LZMA_Compression>
      Src: /src/botan/src/lib/compression/compression.cpp:50,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compression/compression.cpp:54,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 56
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 56
    functionName: Botan::Compression_Algorithm::create
    functionSourceFile: /src/botan/src/lib/compression/compression.cpp
    functionUses: 6
    functionsReached:
    - BOTAN_UNUSED
    - std::make_unique<LZMA_Compression>
    - std::make_unique<Zlib_Compression>
    - std::make_unique<Gzip_Compression>
    - std::make_unique<Bzip2_Compression>
    - std::make_unique<Deflate_Compression>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Algorithm>
    signature: std::unique_ptr<Compression_Algorithm> Compression_Algorithm::create(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/lib/compression/compression.cpp:60,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/compression/compression.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: Botan::Compression_Algorithm::create_or_throw
    functionSourceFile: /src/botan/src/lib/compression/compression.cpp
    functionUses: 1
    functionsReached:
    - Lookup_Error
    - Botan::Compression_Algorithm::create
    linkageType: ''
    returnType: std::unique_ptr<Compression_Algorithm>
    signature: std::unique_ptr<Compression_Algorithm> Compression_Algorithm::create_or_throw(std::string_view
      algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Zlib_Decompression>
      Src: /src/botan/src/lib/compression/compression.cpp:70,1
    - Dst: std::make_unique<Gzip_Decompression>
      Src: /src/botan/src/lib/compression/compression.cpp:73,1
    - Dst: std::make_unique<Deflate_Decompression>
      Src: /src/botan/src/lib/compression/compression.cpp:76,1
    - Dst: std::make_unique<Bzip2_Decompression>
      Src: /src/botan/src/lib/compression/compression.cpp:82,1
    - Dst: std::make_unique<LZMA_Decompression>
      Src: /src/botan/src/lib/compression/compression.cpp:88,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compression/compression.cpp:92,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 94
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 94
    functionName: Botan::Decompression_Algorithm::create
    functionSourceFile: /src/botan/src/lib/compression/compression.cpp
    functionUses: 4
    functionsReached:
    - BOTAN_UNUSED
    - std::make_unique<Gzip_Decompression>
    - std::make_unique<Bzip2_Decompression>
    - std::make_unique<Deflate_Decompression>
    - std::make_unique<LZMA_Decompression>
    - std::make_unique<Zlib_Decompression>
    linkageType: ''
    returnType: std::unique_ptr<Decompression_Algorithm>
    signature: std::unique_ptr<Decompression_Algorithm> Decompression_Algorithm::create(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decompression_Algorithm::create
      Src: /src/botan/src/lib/compression/compression.cpp:98,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/compression/compression.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: Botan::Decompression_Algorithm::create_or_throw
    functionSourceFile: /src/botan/src/lib/compression/compression.cpp
    functionUses: 1
    functionsReached:
    - Botan::Decompression_Algorithm::create
    - Lookup_Error
    linkageType: ''
    returnType: std::unique_ptr<Decompression_Algorithm>
    signature: std::unique_ptr<Decompression_Algorithm> Decompression_Algorithm::create_or_throw(std::string_view
      algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/compression/compress_utils.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - func_name
    - type
    - rc
    argTypes:
    - char*
    - ErrorType
    - int
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: Botan::Compression_Error::Compression_Error
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Compression_Error::Compression_Error(const char* func_name, ErrorType
      type, int rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_mul
      Src: /src/botan/src/lib/compression/compress_utils.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - n
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: Botan::Compression_Alloc_Info::do_malloc
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - checked_mul
    linkageType: ''
    returnType: void
    signature: void * Compression_Alloc_Info::do_malloc(size_t n, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/compression/compress_utils.cpp:47,1
    - Dst: end
      Src: /src/botan/src/lib/compression/compress_utils.cpp:49,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/compression/compress_utils.cpp:50,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/compression/compress_utils.cpp:53,1
    - Dst: Botan::Compression_Alloc_Info::free
      Src: /src/botan/src/lib/compression/compress_utils.cpp:54,1
    - Dst: erase
      Src: /src/botan/src/lib/compression/compress_utils.cpp:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: Botan::Compression_Alloc_Info::do_free
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    - end
    - secure_scrub_memory
    - Botan::Compression_Alloc_Info::free
    - find
    - erase
    linkageType: ''
    returnType: void
    signature: void Compression_Alloc_Info::do_free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/compression/compress_utils.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::Stream_Compression::clear
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stream_Compression::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_stream
      Src: /src/botan/src/lib/compression/compress_utils.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::Stream_Compression::start
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - make_stream
    linkageType: ''
    returnType: void
    signature: void Stream_Compression::start(size_t level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:68,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:69,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:69,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:72,1
    - Dst: run_flag
      Src: /src/botan/src/lib/compression/compress_utils.cpp:72,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:76,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:76,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:77,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:77,1
    - Dst: empty
      Src: /src/botan/src/lib/compression/compress_utils.cpp:85,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:86,1
    - Dst: next_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:89,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:89,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:89,1
    - Dst: next_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:90,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:90,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:96,1
    - Dst: avail_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:96,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:97,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:97,1
    - Dst: avail_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:97,1
    - Dst: avail_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:99,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:101,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:101,1
    - Dst: next_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:102,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:102,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:102,1
    - Dst: avail_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:103,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:104,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:104,1
    - Dst: avail_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:104,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/compression/compress_utils.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:109,1
    - Dst: swap
      Src: /src/botan/src/lib/compression/compress_utils.cpp:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - ' buf'
    - offset
    - flags
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 111
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 111
    functionName: Botan::Stream_Compression::process
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - swap
    - data
    - copy_mem
    - empty
    - next_out
    - run_flag
    - avail_in
    - BOTAN_ASSERT
    - size
    - resize
    - next_in
    - avail_out
    linkageType: ''
    returnType: void
    signature: void Stream_Compression::process(secure_vector<uint8_t>& buf, size_t
      offset, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:114,1
    - Dst: Botan::Stream_Compression::process
      Src: /src/botan/src/lib/compression/compress_utils.cpp:115,1
    - Dst: flush_flag
      Src: /src/botan/src/lib/compression/compress_utils.cpp:115,1
    - Dst: run_flag
      Src: /src/botan/src/lib/compression/compress_utils.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' buf'
    - offset
    - flush
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Botan::Stream_Compression::update
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - run_flag
    - flush_flag
    - BOTAN_ASSERT
    - Botan::Stream_Compression::process
    linkageType: ''
    returnType: void
    signature: void Stream_Compression::update(secure_vector<uint8_t>& buf, size_t
      offset, bool flush)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:119,1
    - Dst: Botan::Stream_Compression::process
      Src: /src/botan/src/lib/compression/compress_utils.cpp:120,1
    - Dst: finish_flag
      Src: /src/botan/src/lib/compression/compress_utils.cpp:120,1
    - Dst: Botan::Stream_Compression::clear
      Src: /src/botan/src/lib/compression/compress_utils.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' buf'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: Botan::Stream_Compression::finish
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - finish_flag
    - BOTAN_ASSERT
    - Botan::Stream_Compression::clear
    - Botan::Stream_Compression::process
    linkageType: ''
    returnType: void
    signature: void Stream_Compression::finish(secure_vector<uint8_t>& buf, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/compression/compress_utils.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::Stream_Decompression::clear
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stream_Decompression::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_stream
      Src: /src/botan/src/lib/compression/compress_utils.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::Stream_Decompression::start
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - make_stream
    linkageType: ''
    returnType: void
    signature: void Stream_Decompression::start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:133,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:134,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:134,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:136,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:136,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:137,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:137,1
    - Dst: next_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:140,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:140,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:140,1
    - Dst: next_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:141,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:141,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:141,1
    - Dst: avail_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:147,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:149,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:149,1
    - Dst: avail_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:149,1
    - Dst: Botan::Stream_Decompression::clear
      Src: /src/botan/src/lib/compression/compress_utils.cpp:150,1
    - Dst: Botan::Stream_Decompression::start
      Src: /src/botan/src/lib/compression/compress_utils.cpp:156,1
    - Dst: next_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:157,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:157,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:157,1
    - Dst: avail_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:160,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:162,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:162,1
    - Dst: next_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:163,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:163,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:163,1
    - Dst: avail_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:164,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:165,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:165,1
    - Dst: avail_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:165,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/compression/compress_utils.cpp:170,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:170,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:170,1
    - Dst: swap
      Src: /src/botan/src/lib/compression/compress_utils.cpp:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ' buf'
    - offset
    - flags
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 172
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 172
    functionName: Botan::Stream_Decompression::process
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::Stream_Decompression::start
    - swap
    - data
    - copy_mem
    - next_out
    - avail_in
    - BOTAN_ASSERT
    - size
    - resize
    - Botan::Stream_Decompression::clear
    - next_in
    - avail_out
    linkageType: ''
    returnType: void
    signature: void Stream_Decompression::process(secure_vector<uint8_t>& buf, size_t
      offset, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stream_Decompression::process
      Src: /src/botan/src/lib/compression/compress_utils.cpp:175,1
    - Dst: run_flag
      Src: /src/botan/src/lib/compression/compress_utils.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' buf'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: Botan::Stream_Decompression::update
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - run_flag
    - Botan::Stream_Decompression::process
    linkageType: ''
    returnType: void
    signature: void Stream_Decompression::update(secure_vector<uint8_t>& buf, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:179,1
    - Dst: get
      Src: /src/botan/src/lib/compression/compress_utils.cpp:179,1
    - Dst: Botan::Stream_Decompression::process
      Src: /src/botan/src/lib/compression/compress_utils.cpp:180,1
    - Dst: finish_flag
      Src: /src/botan/src/lib/compression/compress_utils.cpp:180,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/compression/compress_utils.cpp:184,1
    - Dst: fmt
      Src: /src/botan/src/lib/compression/compress_utils.cpp:184,1
    - Dst: name
      Src: /src/botan/src/lib/compression/compress_utils.cpp:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' buf'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: Botan::Stream_Decompression::finish
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - finish_flag
    - name
    - Invalid_State
    - Botan::Stream_Decompression::process
    - get
    - size
    - fmt
    linkageType: ''
    returnType: void
    signature: void Stream_Decompression::finish(secure_vector<uint8_t>& buf, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::Stream_Compression
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Compression
    signature: Zlib_Compression Stream_Compression
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Stream_Decompression
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Decompression
    signature: Zlib_Decompression Stream_Decompression
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Stream_Compression
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Deflate_Compression
    signature: Deflate_Compression Stream_Compression
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Stream_Decompression
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Deflate_Decompression
    signature: Deflate_Decompression Stream_Decompression
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: Stream_Compression
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Gzip_Compression
    signature: Gzip_Compression Stream_Compression
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Stream_Decompression
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Gzip_Decompression
    signature: Gzip_Decompression Stream_Decompression
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streamp
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:23,1
    - Dst: alloc
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:23,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:24,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Botan::Zlib_Stream::Zlib_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - alloc
    - streamp
    linkageType: ''
    returnType: void
    signature: void Zlib_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::Zlib_Stream::run_flag
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t run_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Zlib_Stream::flush_flag
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t flush_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::Zlib_Stream::finish_flag
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t finish_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wbits
    - wbits_offset
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: Botan::Zlib_Stream::compute_window_bits
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compute_window_bits(int wbits, int wbits_offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_window_bits
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:46,1
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - level
    - wbits
    argTypes:
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: Botan::Zlib_Compression_Stream::Zlib_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - compute_window_bits
    - Compression_Error
    linkageType: ''
    returnType: void
    signature: void Zlib_Compression_Stream(size_t level, int wbits, int wbits_offset
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::deflateEnd
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:61,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ~Zlib_Compression_Stream() override
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - ::deflateEnd
    - streamp
    linkageType: ''
    returnType: void
    signature: void ~Zlib_Compression_Stream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Compression_Stream
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::Zlib_Compression_Stream::Zlib_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zlib_Compression_Stream(const Zlib_Compression_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Compression_Stream
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::Zlib_Compression_Stream::Zlib_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zlib_Compression_Stream(Zlib_Compression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Compression_Stream
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '& operator=(const Zlib_Compression_Stream& other)'
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Compression_Stream
    signature: Zlib_Compression_Stream & operator=(const Zlib_Compression_Stream&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Compression_Stream
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& operator=(Zlib_Compression_Stream&& other)'
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Compression_Stream
    signature: Zlib_Compression_Stream & operator=(Zlib_Compression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: Botan::Zlib_Compression_Stream::run
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t flags) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - wbits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: Botan::Zlib_Decompression_Stream::Zlib_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: void
    signature: void Zlib_Decompression_Stream(int wbits, int wbits_offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::inflateEnd
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:89,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~Zlib_Decompression_Stream() override
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - ::inflateEnd
    - streamp
    linkageType: ''
    returnType: void
    signature: void ~Zlib_Decompression_Stream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::Zlib_Decompression_Stream::Zlib_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zlib_Decompression_Stream(const Zlib_Decompression_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::Zlib_Decompression_Stream::Zlib_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zlib_Decompression_Stream(Zlib_Decompression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '& operator=(const Zlib_Decompression_Stream& other)'
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Decompression_Stream
    signature: Zlib_Decompression_Stream & operator=(const Zlib_Decompression_Stream&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(Zlib_Decompression_Stream&& other)'
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Decompression_Stream
    signature: Zlib_Decompression_Stream & operator=(Zlib_Decompression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: Botan::Zlib_Decompression_Stream::run
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t flags) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - level
    - wbits
    argTypes:
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan::Deflate_Compression_Stream::Deflate_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Deflate_Compression_Stream(size_t level, int wbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wbits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::Deflate_Decompression_Stream::Deflate_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Deflate_Decompression_Stream(int wbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:121,1
    - Dst: static_cast<uLong>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:123,1
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - level
    - wbits
    - os_code
    - hdr_time
    argTypes:
    - size_t
    - int
    - uint8_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: Botan::Gzip_Compression_Stream::Gzip_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - static_cast<uLong>
    - Compression_Error
    linkageType: ''
    returnType: void
    signature: void Gzip_Compression_Stream(size_t level, int wbits, uint8_t os_code,
      uint64_t hdr_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wbits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::Gzip_Decompression_Stream::Gzip_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Gzip_Decompression_Stream(int wbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Zlib_Compression_Stream>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::Zlib_Compression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Zlib_Compression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Zlib_Compression::make_stream(size_t
      level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Zlib_Decompression_Stream>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan::Zlib_Decompression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Zlib_Decompression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Zlib_Decompression::make_stream()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Deflate_Compression_Stream>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: Botan::Deflate_Compression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Deflate_Compression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Deflate_Compression::make_stream(size_t
      level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Deflate_Decompression_Stream>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Botan::Deflate_Decompression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Deflate_Decompression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Deflate_Decompression::make_stream()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Gzip_Compression_Stream>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Botan::Gzip_Compression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Gzip_Compression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Gzip_Compression::make_stream(size_t
      level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Gzip_Decompression_Stream>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: Botan::Gzip_Decompression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Gzip_Decompression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Gzip_Decompression::make_stream()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streamp
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:25,1
    - Dst: alloc
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:25,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:26,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: Botan::Bzip2_Stream::Bzip2_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - alloc
    - streamp
    linkageType: ''
    returnType: void
    signature: void Bzip2_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Bzip2_Stream::run_flag
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t run_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::Bzip2_Stream::flush_flag
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t flush_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::Bzip2_Stream::finish_flag
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t finish_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - block_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: Botan::Bzip2_Compression_Stream::Bzip2_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: void
    signature: void Bzip2_Compression_Stream(size_t block_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Compression_Stream
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::Bzip2_Compression_Stream::Bzip2_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bzip2_Compression_Stream(const Bzip2_Compression_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Compression_Stream
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::Bzip2_Compression_Stream::Bzip2_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bzip2_Compression_Stream(Bzip2_Compression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Compression_Stream
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '& operator=(const Bzip2_Compression_Stream& other)'
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bzip2_Compression_Stream
    signature: Bzip2_Compression_Stream & operator=(const Bzip2_Compression_Stream&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Compression_Stream
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& operator=(Bzip2_Compression_Stream&& other)'
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bzip2_Compression_Stream
    signature: Bzip2_Compression_Stream & operator=(Bzip2_Compression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BZ2_bzCompressEnd
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:61,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ~Bzip2_Compression_Stream() override
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - BZ2_bzCompressEnd
    - streamp
    linkageType: ''
    returnType: void
    signature: void ~Bzip2_Compression_Stream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: Botan::Bzip2_Compression_Stream::run
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t flags) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: Botan::Bzip2_Decompression_Stream::Bzip2_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: void
    signature: void Bzip2_Decompression_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::Bzip2_Decompression_Stream::Bzip2_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bzip2_Decompression_Stream(const Bzip2_Decompression_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::Bzip2_Decompression_Stream::Bzip2_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bzip2_Decompression_Stream(Bzip2_Decompression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(const Bzip2_Decompression_Stream& other)'
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bzip2_Decompression_Stream
    signature: Bzip2_Decompression_Stream & operator=(const Bzip2_Decompression_Stream&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '& operator=(Bzip2_Decompression_Stream&& other)'
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bzip2_Decompression_Stream
    signature: Bzip2_Decompression_Stream & operator=(Bzip2_Decompression_Stream&&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BZ2_bzDecompressEnd
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:89,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~Bzip2_Decompression_Stream() override
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - BZ2_bzDecompressEnd
    - streamp
    linkageType: ''
    returnType: void
    signature: void ~Bzip2_Decompression_Stream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: Botan::Bzip2_Decompression_Stream::run
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Bzip2_Compression_Stream>
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp_level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: Botan::Bzip2_Compression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Bzip2_Compression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Bzip2_Compression::make_stream(size_t
      comp_level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Bzip2_Decompression_Stream>
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::Bzip2_Decompression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Bzip2_Decompression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Bzip2_Decompression::make_stream()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::Stream_Compression
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bzip2_Compression
    signature: Bzip2_Compression Stream_Compression
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Stream_Decompression
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bzip2_Decompression
    signature: Bzip2_Decompression Stream_Decompression
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:24,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: Botan::LZMA_Stream::LZMA_Stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - alloc
    - streamp
    linkageType: ''
    returnType: void
    signature: void LZMA_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::lzma_end
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:30,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~LZMA_Stream() override
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - ::lzma_end
    - streamp
    linkageType: ''
    returnType: void
    signature: void ~LZMA_Stream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LZMA_Stream
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::LZMA_Stream::LZMA_Stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZMA_Stream(const LZMA_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LZMA_Stream
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::LZMA_Stream::LZMA_Stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZMA_Stream(LZMA_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LZMA_Stream
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(const LZMA_Stream& other)'
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LZMA_Stream
    signature: LZMA_Stream & operator=(const LZMA_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LZMA_Stream
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(LZMA_Stream&& other)'
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LZMA_Stream
    signature: LZMA_Stream & operator=(LZMA_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::lzma_code
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:38,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:38,1
    - Dst: static_cast<lzma_action>
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:38,1
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: Botan::LZMA_Stream::run
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    - static_cast<lzma_action>
    - streamp
    - ::lzma_code
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t flags) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::LZMA_Stream::run_flag
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t run_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::LZMA_Stream::flush_flag
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t flush_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::LZMA_Stream::finish_flag
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t finish_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::lzma_easy_encoder
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:66,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:66,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:66,1
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: Botan::LZMA_Compression_Stream::LZMA_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    - ::lzma_easy_encoder
    - static_cast<uint32_t>
    - streamp
    linkageType: ''
    returnType: void
    signature: void LZMA_Compression_Stream(size_t level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::lzma_stream_decoder
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:77,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:77,1
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: Botan::LZMA_Decompression_Stream::LZMA_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    - ::lzma_stream_decoder
    - streamp
    linkageType: ''
    returnType: void
    signature: void LZMA_Decompression_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<LZMA_Compression_Stream>
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Botan::LZMA_Compression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<LZMA_Compression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> LZMA_Compression::make_stream(size_t
      level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<LZMA_Decompression_Stream>
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: Botan::LZMA_Decompression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<LZMA_Decompression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> LZMA_Decompression::make_stream()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::Stream_Compression
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LZMA_Compression
    signature: LZMA_Compression Stream_Compression
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Stream_Decompression
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LZMA_Decompression
    signature: LZMA_Decompression Stream_Decompression
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::parallelism
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::parallelism
      Src: /src/botan/src/lib/block/block_cipher.h:67,1
    - Dst: block_size
      Src: /src/botan/src/lib/block/block_cipher.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::parallel_bytes
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached:
    - block_size
    - Botan::parallelism
    linkageType: ''
    returnType: size_t
    signature: size_t parallel_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::provider
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan::encrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 5
    functionsReached:
    - encrypt_n
    linkageType: ''
    returnType: void
    signature: void encrypt(const uint8_t in[], uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::decrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 3
    functionsReached:
    - decrypt_n
    linkageType: ''
    returnType: void
    signature: void decrypt(const uint8_t in[], uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::encrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 5
    functionsReached:
    - encrypt_n
    linkageType: ''
    returnType: void
    signature: void encrypt(uint8_t block[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan::decrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 3
    functionsReached:
    - decrypt_n
    linkageType: ''
    returnType: void
    signature: void decrypt(uint8_t block[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:114,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:114,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:114,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/block/block_cipher.h:114,1
    - Dst: block_size
      Src: /src/botan/src/lib/block/block_cipher.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Botan::encrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 5
    functionsReached:
    - block_size
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - encrypt_n
    linkageType: ''
    returnType: void
    signature: void encrypt(std::span<uint8_t> block) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:122,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:122,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:122,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/block/block_cipher.h:122,1
    - Dst: block_size
      Src: /src/botan/src/lib/block/block_cipher.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: Botan::decrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 3
    functionsReached:
    - block_size
    - decrypt_n
    - std::span<uint8_t>::data
    - std::span<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void decrypt(std::span<uint8_t> block) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:131,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:131,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:131,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/block_cipher.h:131,1
    - Dst: block_size
      Src: /src/botan/src/lib/block/block_cipher.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - std::span<const uint8_t>
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: Botan::encrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 5
    functionsReached:
    - block_size
    - encrypt_n
    - std::span<const uint8_t>::size
    - std::span<uint8_t>::data
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void encrypt(std::span<const uint8_t> in, std::span<uint8_t> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:140,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:140,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:140,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/block_cipher.h:140,1
    - Dst: block_size
      Src: /src/botan/src/lib/block/block_cipher.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - std::span<const uint8_t>
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Botan::decrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 3
    functionsReached:
    - block_size
    - std::span<const uint8_t>::size
    - std::span<uint8_t>::data
    - std::span<const uint8_t>::data
    - decrypt_n
    linkageType: ''
    returnType: void
    signature: void decrypt(std::span<const uint8_t> in, std::span<uint8_t> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - mask
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: Botan::encrypt_n_xex
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached:
    - encrypt_n
    linkageType: ''
    returnType: void
    signature: void encrypt_n_xex(uint8_t data[], const uint8_t mask[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - mask
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: Botan::decrypt_n_xex
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached:
    - decrypt_n
    linkageType: ''
    returnType: void
    signature: void decrypt_n_xex(uint8_t data[], const uint8_t mask[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/block/block_cipher.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Botan::clone
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    linkageType: ''
    returnType: BlockCipher
    signature: BlockCipher * clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: ~BlockCipher() override
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BlockCipher() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: Botan::BlockCipher
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockCipher()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: Botan::BlockCipher
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockCipher(const BlockCipher& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan::BlockCipher
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockCipher(BlockCipher&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: Block_Cipher_Fixed_Params::block_size
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/block/block_cipher.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: Block_Cipher_Fixed_Params::key_spec
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/block/block_cipher.cpp:94,1
    - Dst: make_commoncrypto_block_cipher
      Src: /src/botan/src/lib/block/block_cipher.cpp:95,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/block/block_cipher.cpp:98,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/block/block_cipher.cpp:107,1
    - Dst: std::make_unique<AES_128>
      Src: /src/botan/src/lib/block/block_cipher.cpp:113,1
    - Dst: std::make_unique<AES_192>
      Src: /src/botan/src/lib/block/block_cipher.cpp:117,1
    - Dst: std::make_unique<AES_256>
      Src: /src/botan/src/lib/block/block_cipher.cpp:121,1
    - Dst: std::make_unique<ARIA_128>
      Src: /src/botan/src/lib/block/block_cipher.cpp:127,1
    - Dst: std::make_unique<ARIA_192>
      Src: /src/botan/src/lib/block/block_cipher.cpp:131,1
    - Dst: std::make_unique<ARIA_256>
      Src: /src/botan/src/lib/block/block_cipher.cpp:135,1
    - Dst: std::make_unique<Serpent>
      Src: /src/botan/src/lib/block/block_cipher.cpp:141,1
    - Dst: std::make_unique<SHACAL2>
      Src: /src/botan/src/lib/block/block_cipher.cpp:147,1
    - Dst: std::make_unique<Twofish>
      Src: /src/botan/src/lib/block/block_cipher.cpp:153,1
    - Dst: std::make_unique<Threefish_512>
      Src: /src/botan/src/lib/block/block_cipher.cpp:159,1
    - Dst: std::make_unique<Blowfish>
      Src: /src/botan/src/lib/block/block_cipher.cpp:165,1
    - Dst: std::make_unique<Camellia_128>
      Src: /src/botan/src/lib/block/block_cipher.cpp:171,1
    - Dst: std::make_unique<Camellia_192>
      Src: /src/botan/src/lib/block/block_cipher.cpp:175,1
    - Dst: std::make_unique<Camellia_256>
      Src: /src/botan/src/lib/block/block_cipher.cpp:179,1
    - Dst: std::make_unique<DES>
      Src: /src/botan/src/lib/block/block_cipher.cpp:185,1
    - Dst: std::make_unique<TripleDES>
      Src: /src/botan/src/lib/block/block_cipher.cpp:189,1
    - Dst: std::make_unique<Noekeon>
      Src: /src/botan/src/lib/block/block_cipher.cpp:195,1
    - Dst: std::make_unique<CAST_128>
      Src: /src/botan/src/lib/block/block_cipher.cpp:201,1
    - Dst: std::make_unique<IDEA>
      Src: /src/botan/src/lib/block/block_cipher.cpp:207,1
    - Dst: std::make_unique<Kuznyechik>
      Src: /src/botan/src/lib/block/block_cipher.cpp:213,1
    - Dst: std::make_unique<SEED>
      Src: /src/botan/src/lib/block/block_cipher.cpp:219,1
    - Dst: std::make_unique<SM4>
      Src: /src/botan/src/lib/block/block_cipher.cpp:225,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/block/block_cipher.cpp:232,1
    - Dst: std::make_unique<GOST_28147_89>
      Src: /src/botan/src/lib/block/block_cipher.cpp:233,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/block/block_cipher.cpp:233,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/block/block_cipher.cpp:238,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/block/block_cipher.cpp:238,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/block/block_cipher.cpp:239,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/block/block_cipher.cpp:239,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/block/block_cipher.cpp:240,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/block/block_cipher.cpp:240,1
    - Dst: std::make_unique<Cascade_Cipher>
      Src: /src/botan/src/lib/block/block_cipher.cpp:243,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/block_cipher.cpp:243,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/block_cipher.cpp:243,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/block/block_cipher.cpp:249,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/block/block_cipher.cpp:249,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/block/block_cipher.cpp:250,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/block/block_cipher.cpp:250,1
    - Dst: Botan::StreamCipher::create
      Src: /src/botan/src/lib/block/block_cipher.cpp:251,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/block/block_cipher.cpp:251,1
    - Dst: std::make_unique<Lion>
      Src: /src/botan/src/lib/block/block_cipher.cpp:255,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/block_cipher.cpp:255,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/block_cipher.cpp:255,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/block/block_cipher.cpp:260,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/block/block_cipher.cpp:261,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 92
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 264
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 264
    functionName: Botan::BlockCipher::create
    functionSourceFile: /src/botan/src/lib/block/block_cipher.cpp
    functionUses: 6
    functionsReached:
    - std::make_unique<IDEA>
    - std::move
    - std::make_unique<Cascade_Cipher>
    - std::make_unique<Camellia_192>
    - std::make_unique<Serpent>
    - std::make_unique<Camellia_256>
    - std::make_unique<AES_192>
    - std::make_unique<ARIA_192>
    - std::make_unique<SM4>
    - std::make_unique<Twofish>
    - SCAN_Name::arg
    - Botan::HashFunction::create
    - Botan::StreamCipher::create
    - make_commoncrypto_block_cipher
    - std::make_unique<AES_128>
    - std::string_view::empty
    - std::make_unique<Camellia_128>
    - std::make_unique<DES>
    - std::make_unique<SEED>
    - std::make_unique<TripleDES>
    - SCAN_Name::algo_name
    - BOTAN_UNUSED
    - std::make_unique<GOST_28147_89>
    - SCAN_Name::arg_count
    - std::make_unique<Kuznyechik>
    - std::make_unique<Blowfish>
    - SCAN_Name::arg_count_between
    - std::make_unique<Lion>
    - std::make_unique<CAST_128>
    - std::make_unique<Noekeon>
    - std::make_unique<ARIA_256>
    - std::make_unique<AES_256>
    - std::make_unique<SHACAL2>
    - std::make_unique<ARIA_128>
    - Botan::BlockCipher::create
    - std::make_unique<Threefish_512>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> BlockCipher::create(std::string_view algo,
      std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/block/block_cipher.cpp:268,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/block/block_cipher.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: Botan::BlockCipher::create_or_throw
    functionSourceFile: /src/botan/src/lib/block/block_cipher.cpp
    functionUses: 11
    functionsReached:
    - Lookup_Error
    - Botan::BlockCipher::create
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> BlockCipher::create_or_throw(std::string_view
      algo, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<BlockCipher>
      Src: /src/botan/src/lib/block/block_cipher.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: Botan::BlockCipher::providers
    functionSourceFile: /src/botan/src/lib/block/block_cipher.cpp
    functionUses: 4
    functionsReached:
    - probe_providers_of<BlockCipher>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> BlockCipher::providers(std::string_view algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: Botan::Serpent_F::SBoxE0
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE0(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: Botan::Serpent_F::SBoxE1
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE1(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: Botan::Serpent_F::SBoxE2
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE2(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: Botan::Serpent_F::SBoxE3
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE3(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 143
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 143
    functionName: Botan::Serpent_F::SBoxE4
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE4(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: Botan::Serpent_F::SBoxE5
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE5(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 193
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 193
    functionName: Botan::Serpent_F::SBoxE6
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE6(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: Botan::Serpent_F::SBoxE7
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE7(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 246
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 246
    functionName: Botan::Serpent_F::SBoxD0
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD0(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 274
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 274
    functionName: Botan::Serpent_F::SBoxD1
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD1(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 299
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 299
    functionName: Botan::Serpent_F::SBoxD2
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD2(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 325
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 325
    functionName: Botan::Serpent_F::SBoxD3
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD3(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: Botan::Serpent_F::SBoxD4
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD4(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 379
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 379
    functionName: Botan::Serpent_F::SBoxD5
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD5(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 403
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 403
    functionName: Botan::Serpent_F::SBoxD6
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD6(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 430
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 430
    functionName: Botan::Serpent_F::SBoxD7
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD7(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::Serpent::name
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Serpent>
      Src: /src/botan/src/lib/block/serpent/serpent.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Serpent::new_object
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Serpent>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::Serpent::parallelism
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t parallelism() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:26,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:29,1
    - Dst: avx512_encrypt_16
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:31,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:40,1
    - Dst: avx2_encrypt_8
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:42,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:51,1
    - Dst: Botan::Serpent::simd_encrypt_4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:53,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:61,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:65,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:67,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:68,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:69,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:70,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:71,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:72,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:73,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:74,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:75,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:76,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:77,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:78,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:79,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:80,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:81,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:82,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:83,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:84,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:85,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:86,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:87,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:88,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:89,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:90,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:91,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:92,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:93,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:94,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:95,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:96,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:97,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:98,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:99,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:100,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:101,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:102,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:103,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:104,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:105,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:106,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:107,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:108,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:109,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:110,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:111,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:112,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:113,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:114,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:115,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:116,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:117,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:118,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:119,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:120,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:121,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:122,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:123,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:124,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:125,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:126,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:127,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:128,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:129,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:130,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:131,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:132,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:133,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:134,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:135,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:136,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:137,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:138,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:139,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:140,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:141,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:142,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:143,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:144,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:145,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:146,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:147,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:148,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:149,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:150,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:151,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:152,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:153,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:154,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:155,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:156,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:157,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:158,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:159,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:160,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:161,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:162,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 126
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 166
    functionName: Botan::Serpent::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - key_xor
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::Serpent::simd_encrypt_4
    - load_le
    - SBoxE0
    - SBoxE2
    - SBoxE1
    - avx2_encrypt_8
    - data
    - SBoxE5
    - SBoxE7
    - SBoxE6
    - store_le
    - transform
    - SBoxE4
    - avx512_encrypt_16
    - SBoxE3
    linkageType: ''
    returnType: void
    signature: void Serpent::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:174,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:177,1
    - Dst: avx512_decrypt_16
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:179,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:188,1
    - Dst: avx2_decrypt_8
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:190,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:199,1
    - Dst: Botan::Serpent::simd_decrypt_4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:201,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:209,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:213,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:215,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:216,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:217,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:218,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:219,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:220,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:221,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:222,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:223,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:224,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:225,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:226,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:227,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:228,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:229,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:230,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:231,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:232,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:233,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:234,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:235,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:236,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:237,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:238,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:239,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:240,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:241,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:242,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:243,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:244,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:245,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:246,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:247,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:248,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:249,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:250,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:251,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:252,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:253,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:254,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:255,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:256,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:257,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:258,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:259,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:260,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:261,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:262,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:263,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:264,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:265,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:266,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:267,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:268,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:269,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:270,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:271,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:272,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:273,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:274,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:275,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:276,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:277,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:278,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:279,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:280,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:281,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:282,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:283,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:284,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:285,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:286,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:287,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:288,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:289,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:290,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:291,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:292,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:293,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:294,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:295,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:296,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:297,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:298,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:299,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:300,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:301,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:302,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:303,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:304,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:305,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:306,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:307,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:308,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:309,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:310,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 126
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 314
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 314
    functionName: Botan::Serpent::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - key_xor
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - load_le
    - SBoxD7
    - SBoxD4
    - SBoxD0
    - SBoxD5
    - Botan::Serpent::simd_decrypt_4
    - data
    - SBoxD6
    - SBoxD2
    - store_le
    - SBoxD1
    - SBoxD3
    - i_transform
    - avx2_decrypt_8
    - avx512_decrypt_16
    linkageType: ''
    returnType: void
    signature: void Serpent::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: Botan::Serpent::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Serpent::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:329,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:330,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:330,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:333,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:333,1
    - Dst: rotl<11>
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:337,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:340,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:341,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:342,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:343,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:345,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:346,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:347,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:348,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:350,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:351,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:352,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:353,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:355,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:356,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:357,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:358,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:359,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:361,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:362,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:363,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:364,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:366,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:367,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:368,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:369,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:371,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:372,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:373,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:374,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:376,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:377,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:378,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:379,1
    - Dst: assign
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:381,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:381,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 382
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 382
    functionName: Botan::Serpent::key_schedule
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.cpp
    functionUses: 0
    functionsReached:
    - rotl<11>
    - SBoxE0
    - SBoxE2
    - SBoxE7
    - SBoxE1
    - secure_vector::end
    - SBoxE5
    - SBoxE6
    - std::span<const uint8_t>::size
    - SBoxE4
    - SBoxE3
    - std::span<const uint8_t>::data
    - load_le<uint32_t>
    - assign
    - secure_vector::begin
    linkageType: ''
    returnType: void
    signature: void Serpent::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: Botan::Serpent::clear
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Serpent::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:390,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:396,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 408
    functionName: Botan::Serpent::provider
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string Serpent::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::Serpent_F::shl
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_fn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE shl(uint32_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<13>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:26,1
    - Dst: rotl<3>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:27,1
    - Dst: Botan::Serpent_F::shl
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:29,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:30,1
    - Dst: rotl<7>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:31,1
    - Dst: Botan::Serpent_F::shl
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:33,1
    - Dst: rotl<5>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:34,1
    - Dst: rotl<22>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: Botan::Serpent_F::transform
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_fn.h
    functionUses: 0
    functionsReached:
    - rotl<13>
    - rotl<22>
    - Botan::Serpent_F::shl
    - rotl<3>
    - rotl<1>
    - rotl<7>
    - rotl<5>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE transform(T& B0, T& B1, T& B2, T& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotr<22>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:43,1
    - Dst: rotr<5>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:44,1
    - Dst: Botan::Serpent_F::shl
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:45,1
    - Dst: rotr<7>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:47,1
    - Dst: rotr<1>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:48,1
    - Dst: Botan::Serpent_F::shl
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:49,1
    - Dst: rotr<3>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:51,1
    - Dst: rotr<13>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: Botan::Serpent_F::i_transform
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_fn.h
    functionUses: 0
    functionsReached:
    - rotr<22>
    - rotr<1>
    - Botan::Serpent_F::shl
    - rotr<5>
    - rotr<7>
    - rotr<13>
    - rotr<3>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE i_transform(T& B0, T& B1, T& B2, T& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - RK
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::Serpent_F::Key_Inserter::Key_Inserter
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_fn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Inserter(const uint32_t* RK)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - R
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - size_t
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: operator()(size_t R, T& B0, T& B1, T& B2, T& B3) const
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_fn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(size_t R, T& B0, T& B1, T& B2, T& B3) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xb9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:17,1
    - Dst: SIMD_16x32::ternary_fn<0xe2>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:18,1
    - Dst: SIMD_16x32::ternary_fn<0x36>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:19,1
    - Dst: SIMD_16x32::ternary_fn<0x26>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:20,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:21,1
    - Dst: SIMD_16x32::ternary_fn<0x96>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:22,1
    - Dst: SIMD_16x32::ternary_fn<0xa9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:23,1
    - Dst: SIMD_16x32::ternary_fn<0x3c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Botan::SBoxE0
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xb9>
    - SIMD_16x32::ternary_fn<0x26>
    - SIMD_16x32::ternary_fn<0x96>
    - SIMD_16x32::ternary_fn<0xa9>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0xe2>
    - SIMD_16x32::ternary_fn<0x3c>
    - SIMD_16x32::ternary_fn<0x36>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE0(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xe5>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:32,1
    - Dst: SIMD_16x32::ternary_fn<0x26>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:33,1
    - Dst: SIMD_16x32::ternary_fn<0xa6>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:34,1
    - Dst: SIMD_16x32::ternary_fn<0x2b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:35,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:36,1
    - Dst: SIMD_16x32::ternary_fn<0x83>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:37,1
    - Dst: SIMD_16x32::ternary_fn<0x69>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:38,1
    - Dst: SIMD_16x32::ternary_fn<0x65>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: Botan::SBoxE1
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x26>
    - SIMD_16x32::ternary_fn<0xe5>
    - SIMD_16x32::ternary_fn<0xa6>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x83>
    - SIMD_16x32::ternary_fn<0x65>
    - SIMD_16x32::ternary_fn<0x2b>
    - SIMD_16x32::ternary_fn<0x69>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE1(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x96>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:47,1
    - Dst: SIMD_16x32::ternary_fn<0xda>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:48,1
    - Dst: SIMD_16x32::ternary_fn<0x66>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:49,1
    - Dst: SIMD_16x32::ternary_fn<0x94>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:50,1
    - Dst: SIMD_16x32::ternary_fn<0xa1>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:51,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:52,1
    - Dst: SIMD_16x32::ternary_fn<0xd2>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:53,1
    - Dst: SIMD_16x32::ternary_fn<0x2d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:54,1
    - Dst: SIMD_16x32::ternary_fn<0x2d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: Botan::SBoxE2
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xda>
    - SIMD_16x32::ternary_fn<0x96>
    - SIMD_16x32::ternary_fn<0xa1>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x94>
    - SIMD_16x32::ternary_fn<0x2d>
    - SIMD_16x32::ternary_fn<0xd2>
    - SIMD_16x32::ternary_fn<0x66>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE2(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x92>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:63,1
    - Dst: SIMD_16x32::ternary_fn<0x3b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:64,1
    - Dst: SIMD_16x32::ternary_fn<0xbc>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:65,1
    - Dst: SIMD_16x32::ternary_fn<0x68>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:66,1
    - Dst: SIMD_16x32::ternary_fn<0x6e>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:67,1
    - Dst: SIMD_16x32::ternary_fn<0xb9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:68,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:69,1
    - Dst: SIMD_16x32::ternary_fn<0x6d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:70,1
    - Dst: SIMD_16x32::ternary_fn<0x38>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: Botan::SBoxE3
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xb9>
    - SIMD_16x32::ternary_fn<0xbc>
    - SIMD_16x32::ternary_fn<0x3b>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x6e>
    - SIMD_16x32::ternary_fn<0x6d>
    - SIMD_16x32::ternary_fn<0x38>
    - SIMD_16x32::ternary_fn<0x92>
    - SIMD_16x32::ternary_fn<0x68>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE3(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xc2>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:79,1
    - Dst: SIMD_16x32::ternary_fn<0x79>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:80,1
    - Dst: SIMD_16x32::ternary_fn<0x71>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:81,1
    - Dst: SIMD_16x32::ternary_fn<0x6b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:82,1
    - Dst: SIMD_16x32::ternary_fn<0xc2>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:83,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:84,1
    - Dst: SIMD_16x32::ternary_fn<0x3c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:85,1
    - Dst: SIMD_16x32::ternary_fn<0x49>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:86,1
    - Dst: SIMD_16x32::ternary_fn<0xd6>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: Botan::SBoxE4
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x6b>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x79>
    - SIMD_16x32::ternary_fn<0x71>
    - SIMD_16x32::ternary_fn<0xc2>
    - SIMD_16x32::ternary_fn<0x49>
    - SIMD_16x32::ternary_fn<0xd6>
    - SIMD_16x32::ternary_fn<0x3c>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE4(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xa9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:95,1
    - Dst: SIMD_16x32::ternary_fn<0x93>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:96,1
    - Dst: SIMD_16x32::ternary_fn<0xc3>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:97,1
    - Dst: SIMD_16x32::ternary_fn<0x27>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:98,1
    - Dst: SIMD_16x32::ternary_fn<0x85>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:99,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:100,1
    - Dst: SIMD_16x32::ternary_fn<0x2d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:101,1
    - Dst: SIMD_16x32::ternary_fn<0x7a>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:102,1
    - Dst: SIMD_16x32::ternary_fn<0x87>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: Botan::SBoxE5
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xa9>
    - SIMD_16x32::ternary_fn<0xc3>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x27>
    - SIMD_16x32::ternary_fn<0x85>
    - SIMD_16x32::ternary_fn<0x2d>
    - SIMD_16x32::ternary_fn<0x87>
    - SIMD_16x32::ternary_fn<0x7a>
    - SIMD_16x32::ternary_fn<0x93>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE5(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x61>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:111,1
    - Dst: SIMD_16x32::ternary_fn<0x9c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:112,1
    - Dst: SIMD_16x32::ternary_fn<0x93>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:113,1
    - Dst: SIMD_16x32::ternary_fn<0xb5>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:114,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:115,1
    - Dst: SIMD_16x32::ternary_fn<0x3c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:116,1
    - Dst: SIMD_16x32::ternary_fn<0x7c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:117,1
    - Dst: SIMD_16x32::ternary_fn<0x1e>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:118,1
    - Dst: SIMD_16x32::ternary_fn<0x29>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: Botan::SBoxE6
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x9c>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0xb5>
    - SIMD_16x32::ternary_fn<0x1e>
    - SIMD_16x32::ternary_fn<0x29>
    - SIMD_16x32::ternary_fn<0x7c>
    - SIMD_16x32::ternary_fn<0x61>
    - SIMD_16x32::ternary_fn<0x3c>
    - SIMD_16x32::ternary_fn<0x93>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE6(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x9b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:127,1
    - Dst: SIMD_16x32::ternary_fn<0x61>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:128,1
    - Dst: SIMD_16x32::ternary_fn<0xe3>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:129,1
    - Dst: SIMD_16x32::ternary_fn<0x83>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:130,1
    - Dst: SIMD_16x32::ternary_fn<0x49>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:131,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:132,1
    - Dst: SIMD_16x32::ternary_fn<0xe1>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:133,1
    - Dst: SIMD_16x32::ternary_fn<0xd1>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:134,1
    - Dst: SIMD_16x32::ternary_fn<0x87>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: Botan::SBoxE7
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x9b>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x83>
    - SIMD_16x32::ternary_fn<0xd1>
    - SIMD_16x32::ternary_fn<0x49>
    - SIMD_16x32::ternary_fn<0xe3>
    - SIMD_16x32::ternary_fn<0x61>
    - SIMD_16x32::ternary_fn<0x87>
    - SIMD_16x32::ternary_fn<0xe1>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE7(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x67>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:143,1
    - Dst: SIMD_16x32::ternary_fn<0x49>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:144,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:145,1
    - Dst: SIMD_16x32::ternary_fn<0xa9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:146,1
    - Dst: SIMD_16x32::ternary_fn<0x3c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:147,1
    - Dst: SIMD_16x32::ternary_fn<0x4d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:148,1
    - Dst: SIMD_16x32::ternary_fn<0x69>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:149,1
    - Dst: SIMD_16x32::ternary_fn<0x56>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: Botan::SBoxD0
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xa9>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x4d>
    - SIMD_16x32::ternary_fn<0x67>
    - SIMD_16x32::ternary_fn<0x49>
    - SIMD_16x32::ternary_fn<0x3c>
    - SIMD_16x32::ternary_fn<0x56>
    - SIMD_16x32::ternary_fn<0x69>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD0(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x73>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:158,1
    - Dst: SIMD_16x32::ternary_fn<0x68>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:159,1
    - Dst: SIMD_16x32::ternary_fn<0xc5>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:160,1
    - Dst: SIMD_16x32::ternary_fn<0x2d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:161,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:162,1
    - Dst: SIMD_16x32::ternary_fn<0x96>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:163,1
    - Dst: SIMD_16x32::ternary_fn<0xd2>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:164,1
    - Dst: SIMD_16x32::ternary_fn<0x99>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: Botan::SBoxD1
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x96>
    - SIMD_16x32::ternary_fn<0x99>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x2d>
    - SIMD_16x32::ternary_fn<0xc5>
    - SIMD_16x32::ternary_fn<0x68>
    - SIMD_16x32::ternary_fn<0xd2>
    - SIMD_16x32::ternary_fn<0x73>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD1(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xc6>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:173,1
    - Dst: SIMD_16x32::ternary_fn<0x9c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:174,1
    - Dst: SIMD_16x32::ternary_fn<0xe1>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:175,1
    - Dst: SIMD_16x32::ternary_fn<0x87>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:176,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:177,1
    - Dst: SIMD_16x32::ternary_fn<0xd1>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:178,1
    - Dst: SIMD_16x32::ternary_fn<0x9b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:179,1
    - Dst: SIMD_16x32::ternary_fn<0x5b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: Botan::SBoxD2
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xc6>
    - SIMD_16x32::ternary_fn<0x9c>
    - SIMD_16x32::ternary_fn<0x9b>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x5b>
    - SIMD_16x32::ternary_fn<0xd1>
    - SIMD_16x32::ternary_fn<0x87>
    - SIMD_16x32::ternary_fn<0xe1>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD2(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x94>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:188,1
    - Dst: SIMD_16x32::ternary_fn<0x99>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:189,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:190,1
    - Dst: SIMD_16x32::ternary_fn<0x97>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:191,1
    - Dst: SIMD_16x32::ternary_fn<0x4b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:192,1
    - Dst: SIMD_16x32::ternary_fn<0x94>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:193,1
    - Dst: SIMD_16x32::ternary_fn<0x0e>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:194,1
    - Dst: SIMD_16x32::ternary_fn<0x1c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:195,1
    - Dst: SIMD_16x32::ternary_fn<0xb4>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: Botan::SBoxD3
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xb4>
    - SIMD_16x32::ternary_fn<0x99>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x1c>
    - SIMD_16x32::ternary_fn<0x4b>
    - SIMD_16x32::ternary_fn<0x94>
    - SIMD_16x32::ternary_fn<0x97>
    - SIMD_16x32::ternary_fn<0x0e>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD3(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xa9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:204,1
    - Dst: SIMD_16x32::ternary_fn<0xa6>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:205,1
    - Dst: SIMD_16x32::ternary_fn<0xb5>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:206,1
    - Dst: SIMD_16x32::ternary_fn<0x5e>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:207,1
    - Dst: SIMD_16x32::ternary_fn<0x50>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:208,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:209,1
    - Dst: SIMD_16x32::ternary_fn<0x96>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:210,1
    - Dst: SIMD_16x32::ternary_fn<0x4b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:211,1
    - Dst: SIMD_16x32::ternary_fn<0x5a>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 217
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 217
    functionName: Botan::SBoxD4
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x96>
    - SIMD_16x32::ternary_fn<0xa9>
    - SIMD_16x32::ternary_fn<0xa6>
    - SIMD_16x32::ternary_fn<0xb5>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x50>
    - SIMD_16x32::ternary_fn<0x4b>
    - SIMD_16x32::ternary_fn<0x5a>
    - SIMD_16x32::ternary_fn<0x5e>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD4(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xc9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:220,1
    - Dst: SIMD_16x32::ternary_fn<0x65>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:221,1
    - Dst: SIMD_16x32::ternary_fn<0x25>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:222,1
    - Dst: SIMD_16x32::ternary_fn<0x63>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:223,1
    - Dst: SIMD_16x32::ternary_fn<0x86>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:224,1
    - Dst: SIMD_16x32::ternary_fn<0x87>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:225,1
    - Dst: SIMD_16x32::ternary_fn<0xc3>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:226,1
    - Dst: SIMD_16x32::ternary_fn<0x47>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:227,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: Botan::SBoxD5
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xc3>
    - SIMD_16x32::ternary_fn<0x25>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0xc9>
    - SIMD_16x32::ternary_fn<0x63>
    - SIMD_16x32::ternary_fn<0x86>
    - SIMD_16x32::ternary_fn<0x47>
    - SIMD_16x32::ternary_fn<0x65>
    - SIMD_16x32::ternary_fn<0x87>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD5(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x07>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:236,1
    - Dst: SIMD_16x32::ternary_fn<0x9e>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:237,1
    - Dst: SIMD_16x32::ternary_fn<0xc6>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:238,1
    - Dst: SIMD_16x32::ternary_fn<0x34>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:239,1
    - Dst: SIMD_16x32::ternary_fn<0x2b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:240,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:241,1
    - Dst: SIMD_16x32::ternary_fn<0xcb>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:242,1
    - Dst: SIMD_16x32::ternary_fn<0x4b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:243,1
    - Dst: SIMD_16x32::ternary_fn<0x69>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: Botan::SBoxD6
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x07>
    - SIMD_16x32::ternary_fn<0xc6>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x9e>
    - SIMD_16x32::ternary_fn<0x4b>
    - SIMD_16x32::ternary_fn<0x2b>
    - SIMD_16x32::ternary_fn<0x34>
    - SIMD_16x32::ternary_fn<0x69>
    - SIMD_16x32::ternary_fn<0xcb>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD6(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x67>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:252,1
    - Dst: SIMD_16x32::ternary_fn<0x3e>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:253,1
    - Dst: SIMD_16x32::ternary_fn<0x1c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:254,1
    - Dst: SIMD_16x32::ternary_fn<0x87>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:255,1
    - Dst: SIMD_16x32::ternary_fn<0x7d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:256,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:257,1
    - Dst: SIMD_16x32::ternary_fn<0x96>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:258,1
    - Dst: SIMD_16x32::ternary_fn<0xd2>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:259,1
    - Dst: SIMD_16x32::ternary_fn<0x6d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: Botan::SBoxD7
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x96>
    - SIMD_16x32::ternary_fn<0x3e>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x1c>
    - SIMD_16x32::ternary_fn<0x6d>
    - SIMD_16x32::ternary_fn<0xd2>
    - SIMD_16x32::ternary_fn<0x67>
    - SIMD_16x32::ternary_fn<0x7d>
    - SIMD_16x32::ternary_fn<0x87>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD7(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:272,1
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:273,1
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:274,1
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:275,1
    - Dst: Botan::SIMD_16x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:277,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:279,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:281,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:282,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:283,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:284,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:285,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:286,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:287,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:288,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:289,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:290,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:291,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:292,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:293,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:294,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:295,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:296,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:297,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:298,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:299,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:300,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:301,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:302,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:303,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:304,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:306,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:307,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:308,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:309,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:310,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:311,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:312,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:313,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:314,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:315,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:316,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:317,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:318,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:319,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:320,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:321,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:322,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:323,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:324,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:325,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:326,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:327,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:328,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:329,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:331,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:332,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:333,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:334,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:335,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:336,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:337,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:338,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:339,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:340,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:341,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:342,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:343,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:344,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:345,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:346,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:347,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:348,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:349,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:350,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:351,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:352,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:353,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:354,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:356,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:357,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:358,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:359,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:360,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:361,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:362,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:363,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:364,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:365,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:366,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:367,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:368,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:369,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:370,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:371,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:372,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:373,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:374,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:375,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:376,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:377,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:378,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:379,1
    - Dst: Botan::SIMD_16x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:381,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:382,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:383,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:384,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:385,1
    - Dst: Botan::SIMD_16x32::zero_registers
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 388
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 388
    functionName: Botan::BOTAN_FN_ISA_AVX512::avx512_encrypt_16
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SBoxE0
    - key_xor
    - SBoxE2
    - SBoxE7
    - SBoxE1
    - data
    - SBoxE5
    - SBoxE6
    - transform
    - SIMD_16x32::store_le
    - SBoxE4
    - SBoxE3
    - Botan::SIMD_16x32::zero_registers
    - Botan::SIMD_16x32::transpose
    - Botan::SIMD_16x32::load_le
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX512 Serpent::avx512_encrypt_16(const uint8_t in[16
      * 16], uint8_t out[16 * 16]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:393,1
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:394,1
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:395,1
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:396,1
    - Dst: Botan::SIMD_16x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:398,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:400,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:402,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:403,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:404,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:405,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:406,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:407,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:408,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:409,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:410,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:411,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:412,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:413,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:414,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:415,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:416,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:417,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:418,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:419,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:420,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:421,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:422,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:423,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:424,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:425,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:427,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:428,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:429,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:430,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:431,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:432,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:433,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:434,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:435,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:436,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:437,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:438,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:439,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:440,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:441,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:442,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:443,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:444,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:445,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:446,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:447,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:448,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:449,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:450,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:452,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:453,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:454,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:455,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:456,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:457,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:458,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:459,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:460,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:461,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:462,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:463,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:464,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:465,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:466,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:467,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:468,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:469,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:470,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:471,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:472,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:473,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:474,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:475,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:477,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:478,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:479,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:480,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:481,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:482,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:483,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:484,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:485,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:486,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:487,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:488,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:489,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:490,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:491,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:492,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:493,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:494,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:495,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:496,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:497,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:498,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:499,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:500,1
    - Dst: Botan::SIMD_16x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:502,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:504,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:505,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:506,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:507,1
    - Dst: Botan::SIMD_16x32::zero_registers
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 510
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 510
    functionName: Botan::BOTAN_FN_ISA_AVX512::avx512_decrypt_16
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - key_xor
    - SBoxD7
    - SBoxD4
    - SBoxD0
    - SBoxD5
    - data
    - SBoxD2
    - SBoxD6
    - SBoxD1
    - SIMD_16x32::store_le
    - SBoxD3
    - i_transform
    - Botan::SIMD_16x32::zero_registers
    - Botan::SIMD_16x32::transpose
    - Botan::SIMD_16x32::load_le
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX512 Serpent::avx512_decrypt_16(const uint8_t in[16
      * 16], uint8_t out[16 * 16]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::reset_registers
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:54,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:56,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:57,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:58,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:59,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:61,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:63,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:65,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:66,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:67,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:68,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:69,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:70,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:71,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:72,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:73,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:74,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:75,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:76,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:77,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:78,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:79,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:80,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:81,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:82,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:83,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:84,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:85,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:86,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:87,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:88,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:90,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:91,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:92,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:93,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:94,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:95,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:96,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:97,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:98,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:99,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:100,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:101,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:102,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:103,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:104,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:105,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:106,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:107,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:108,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:109,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:110,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:111,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:112,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:113,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:115,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:116,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:117,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:118,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:119,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:120,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:121,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:122,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:123,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:124,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:125,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:126,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:127,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:128,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:129,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:130,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:131,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:132,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:133,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:134,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:135,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:136,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:137,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:138,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:140,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:141,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:142,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:143,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:144,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:145,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:146,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:147,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:148,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:149,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:150,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:151,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:152,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:153,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:154,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:155,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:156,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:157,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:158,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:159,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:160,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:161,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:162,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:163,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:165,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:166,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:167,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:168,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:169,1
    - Dst: Botan::SIMD_8x32::zero_registers
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 105
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 172
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 172
    functionName: Botan::BOTAN_FN_ISA_AVX2::avx2_encrypt_8
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp
    functionUses: 0
    functionsReached:
    - SBoxE0
    - key_xor
    - SBoxE2
    - SBoxE7
    - SBoxE1
    - Botan::SIMD_8x32::load_le
    - data
    - SBoxE5
    - SIMD_8x32::store_le
    - SBoxE6
    - Botan::SIMD_8x32::zero_registers
    - transform
    - Botan::SIMD_8x32::transpose
    - SBoxE4
    - SBoxE3
    - Botan::SIMD_8x32::reset_registers
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2 Serpent::avx2_encrypt_8(const uint8_t in[128],
      uint8_t out[128]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::reset_registers
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:177,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:179,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:180,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:181,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:182,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:184,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:186,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:188,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:189,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:190,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:191,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:192,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:193,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:194,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:195,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:196,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:197,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:198,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:199,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:200,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:201,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:202,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:203,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:204,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:205,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:206,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:207,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:208,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:209,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:210,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:211,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:213,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:214,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:215,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:216,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:217,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:218,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:219,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:220,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:221,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:222,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:223,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:224,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:225,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:226,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:227,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:228,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:229,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:230,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:231,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:232,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:233,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:234,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:235,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:236,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:238,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:239,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:240,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:241,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:242,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:243,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:244,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:245,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:246,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:247,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:248,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:249,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:250,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:251,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:252,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:253,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:254,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:255,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:256,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:257,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:258,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:259,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:260,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:261,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:263,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:264,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:265,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:266,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:267,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:268,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:269,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:270,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:271,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:272,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:273,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:274,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:275,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:276,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:277,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:278,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:279,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:280,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:281,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:282,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:283,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:284,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:285,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:286,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:288,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:290,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:291,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:292,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:293,1
    - Dst: Botan::SIMD_8x32::zero_registers
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 105
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 296
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 296
    functionName: Botan::BOTAN_FN_ISA_AVX2::avx2_decrypt_8
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp
    functionUses: 0
    functionsReached:
    - key_xor
    - SBoxD7
    - SBoxD4
    - SBoxD0
    - SBoxD5
    - Botan::SIMD_8x32::load_le
    - data
    - SBoxD6
    - SBoxD2
    - SIMD_8x32::store_le
    - Botan::SIMD_8x32::zero_registers
    - SBoxD1
    - Botan::SIMD_8x32::transpose
    - SBoxD3
    - i_transform
    - Botan::SIMD_8x32::reset_registers
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2 Serpent::avx2_decrypt_8(const uint8_t in[128],
      uint8_t out[128]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:21,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:22,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:23,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:24,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:26,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:28,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:30,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:31,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:32,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:33,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:34,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:35,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:36,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:37,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:38,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:39,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:40,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:41,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:42,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:43,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:44,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:45,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:46,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:47,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:48,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:49,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:50,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:51,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:52,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:53,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:55,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:56,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:57,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:58,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:59,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:60,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:61,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:62,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:63,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:64,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:65,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:66,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:67,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:68,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:69,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:70,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:71,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:72,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:73,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:74,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:75,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:76,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:77,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:78,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:80,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:81,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:82,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:83,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:84,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:85,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:86,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:87,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:88,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:89,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:90,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:91,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:92,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:93,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:94,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:95,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:96,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:97,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:98,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:99,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:100,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:101,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:102,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:103,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:105,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:106,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:107,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:108,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:109,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:110,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:111,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:112,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:113,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:114,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:115,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:116,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:117,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:118,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:119,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:120,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:121,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:122,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:123,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:124,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:125,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:126,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:127,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:128,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:130,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:132,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:133,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:134,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 103
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 136
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 136
    functionName: Botan::Serpent::simd_encrypt_4
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp
    functionUses: 1
    functionsReached:
    - SBoxE0
    - key_xor
    - Botan::SIMD_4x32::load_le
    - SBoxE2
    - SBoxE7
    - SBoxE1
    - data
    - SIMD_4x32::store_le
    - SBoxE5
    - SBoxE6
    - transform
    - SBoxE4
    - SBoxE3
    - Botan::SIMD_4x32::transpose
    linkageType: ''
    returnType: void
    signature: void Serpent::simd_encrypt_4(const uint8_t in[64], uint8_t out[64])
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:144,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:145,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:146,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:147,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:149,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:151,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:153,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:154,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:155,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:156,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:157,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:158,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:159,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:160,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:161,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:162,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:163,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:164,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:165,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:166,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:167,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:168,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:169,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:170,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:171,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:172,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:173,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:174,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:175,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:176,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:178,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:179,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:180,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:181,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:182,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:183,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:184,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:185,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:186,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:187,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:188,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:189,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:190,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:191,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:192,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:193,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:194,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:195,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:196,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:197,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:198,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:199,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:200,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:201,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:203,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:204,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:205,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:206,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:207,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:208,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:209,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:210,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:211,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:212,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:213,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:214,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:215,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:216,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:217,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:218,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:219,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:220,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:221,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:222,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:223,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:224,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:225,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:226,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:228,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:229,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:230,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:231,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:232,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:233,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:234,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:235,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:236,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:237,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:238,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:239,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:240,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:241,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:242,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:243,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:244,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:245,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:246,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:247,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:248,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:249,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:250,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:251,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:253,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:255,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:256,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:257,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 103
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 259
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 259
    functionName: Botan::Serpent::simd_decrypt_4
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp
    functionUses: 1
    functionsReached:
    - key_xor
    - Botan::SIMD_4x32::load_le
    - SBoxD7
    - SBoxD4
    - SBoxD0
    - SBoxD5
    - data
    - SBoxD2
    - SBoxD6
    - SIMD_4x32::store_le
    - SBoxD1
    - SBoxD3
    - i_transform
    - Botan::SIMD_4x32::transpose
    linkageType: ''
    returnType: void
    signature: void Serpent::simd_decrypt_4(const uint8_t in[64], uint8_t out[64])
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - V
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 224
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 224
    functionName: Botan::AES_SBOX
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES_SBOX(uint32_t V[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - V
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 371
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 371
    functionName: Botan::AES_INV_SBOX
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES_INV_SBOX(uint32_t V[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:374,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:375,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:376,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:377,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:379,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:380,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:381,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:382,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:384,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:385,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:386,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 388
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 388
    functionName: Botan::bit_transpose
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::swap_bits
    linkageType: ''
    returnType: void
    signature: void bit_transpose(uint32_t B[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:399,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:400,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:402,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:403,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:410,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:411,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:412,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - B
    - K
    - r
    argTypes:
    - uint32_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 414
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 414
    functionName: Botan::ks_expand
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::swap_bits
    linkageType: ''
    returnType: void
    signature: void ks_expand(uint32_t B[8], const uint32_t K[], size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:421,1
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:422,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/block/aes/aes.cpp:423,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/block/aes/aes.cpp:424,1
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:429,1
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 434
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 434
    functionName: Botan::shift_rows
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::bit_permute_step
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void shift_rows(uint32_t B[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:442,1
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:443,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/block/aes/aes.cpp:444,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/block/aes/aes.cpp:445,1
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:450,1
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 455
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 455
    functionName: Botan::inv_shift_rows
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::bit_permute_step
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void inv_shift_rows(uint32_t B[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:472,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:472,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 474
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 474
    functionName: Botan::mix_columns
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: void
    signature: void mix_columns(uint32_t B[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:503,1
    - Dst: Botan::mix_columns
      Src: /src/botan/src/lib/block/aes/aes.cpp:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 507
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 507
    functionName: Botan::inv_mix_columns
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::mix_columns
    - Botan::rotr
    linkageType: ''
    returnType: void
    signature: void inv_mix_columns(uint32_t B[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/block/aes/aes.cpp:513,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:513,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:513,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:513,1
    - Dst: Botan::ks_expand
      Src: /src/botan/src/lib/block/aes/aes.cpp:519,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes.cpp:519,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/aes/aes.cpp:530,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/aes/aes.cpp:532,1
    - Dst: Botan::bit_transpose
      Src: /src/botan/src/lib/block/aes/aes.cpp:538,1
    - Dst: Botan::AES_SBOX
      Src: /src/botan/src/lib/block/aes/aes.cpp:541,1
    - Dst: Botan::shift_rows
      Src: /src/botan/src/lib/block/aes/aes.cpp:542,1
    - Dst: Botan::mix_columns
      Src: /src/botan/src/lib/block/aes/aes.cpp:543,1
    - Dst: Botan::AES_SBOX
      Src: /src/botan/src/lib/block/aes/aes.cpp:551,1
    - Dst: Botan::shift_rows
      Src: /src/botan/src/lib/block/aes/aes.cpp:552,1
    - Dst: Botan::bit_transpose
      Src: /src/botan/src/lib/block/aes/aes.cpp:553,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes.cpp:559,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/lib/block/aes/aes.cpp:561,1
    - Dst: std::span
      Src: /src/botan/src/lib/block/aes/aes.cpp:561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - ' EK'
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 567
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 567
    functionName: Botan::aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - Botan::copy_out_be
    - Botan::ks_expand
    - data
    - Botan::CT::poison
    - Botan::mix_columns
    - BOTAN_ASSERT
    - Botan::bit_transpose
    - Botan::shift_rows
    - Botan::AES_SBOX
    - Botan::CT::unpoison
    - Botan::load_be
    - Botan::size
    linkageType: ''
    returnType: void
    signature: void aes_encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks,
      const secure_vector<uint32_t>& EK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/block/aes/aes.cpp:573,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:573,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:573,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:573,1
    - Dst: Botan::ks_expand
      Src: /src/botan/src/lib/block/aes/aes.cpp:579,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes.cpp:579,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/aes/aes.cpp:590,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/aes/aes.cpp:592,1
    - Dst: Botan::bit_transpose
      Src: /src/botan/src/lib/block/aes/aes.cpp:598,1
    - Dst: Botan::AES_INV_SBOX
      Src: /src/botan/src/lib/block/aes/aes.cpp:601,1
    - Dst: Botan::inv_shift_rows
      Src: /src/botan/src/lib/block/aes/aes.cpp:602,1
    - Dst: Botan::inv_mix_columns
      Src: /src/botan/src/lib/block/aes/aes.cpp:603,1
    - Dst: Botan::AES_INV_SBOX
      Src: /src/botan/src/lib/block/aes/aes.cpp:611,1
    - Dst: Botan::inv_shift_rows
      Src: /src/botan/src/lib/block/aes/aes.cpp:612,1
    - Dst: Botan::bit_transpose
      Src: /src/botan/src/lib/block/aes/aes.cpp:613,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes.cpp:619,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/lib/block/aes/aes.cpp:621,1
    - Dst: std::span
      Src: /src/botan/src/lib/block/aes/aes.cpp:621,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - ' DK'
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 627
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 627
    functionName: Botan::aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - Botan::inv_mix_columns
    - Botan::ks_expand
    - data
    - Botan::AES_INV_SBOX
    - Botan::CT::poison
    - BOTAN_ASSERT
    - Botan::bit_transpose
    - Botan::inv_shift_rows
    - Botan::copy_out_be
    - Botan::CT::unpoison
    - Botan::load_be
    - Botan::size
    linkageType: ''
    returnType: void
    signature: void aes_decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks,
      const secure_vector<uint32_t>& DK)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 635
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 635
    functionName: Botan::xtime32
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t xtime32(uint32_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:646,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:646,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s1
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 647
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 647
    functionName: Botan::InvMixColumn
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t InvMixColumn(uint32_t s1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::InvMixColumn
      Src: /src/botan/src/lib/block/aes/aes.cpp:650,1
    - Dst: Botan::InvMixColumn
      Src: /src/botan/src/lib/block/aes/aes.cpp:651,1
    - Dst: Botan::InvMixColumn
      Src: /src/botan/src/lib/block/aes/aes.cpp:652,1
    - Dst: Botan::InvMixColumn
      Src: /src/botan/src/lib/block/aes/aes.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: Botan::InvMixColumn_x4
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::InvMixColumn
    linkageType: ''
    returnType: void
    signature: void InvMixColumn_x4(uint32_t x[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AES_SBOX
      Src: /src/botan/src/lib/block/aes/aes.cpp:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 672
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 672
    functionName: Botan::SE_word
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::AES_SBOX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SE_word(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/block/aes/aes.cpp:693,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/block/aes/aes.cpp:698,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/aes/aes.cpp:700,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes.cpp:702,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes.cpp:703,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/aes/aes.cpp:706,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/aes/aes.cpp:710,1
    - Dst: Botan::SE_word
      Src: /src/botan/src/lib/block/aes/aes.cpp:710,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:712,1
    - Dst: Botan::SE_word
      Src: /src/botan/src/lib/block/aes/aes.cpp:716,1
    - Dst: Botan::InvMixColumn_x4
      Src: /src/botan/src/lib/block/aes/aes.cpp:731,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:736,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/lib/block/aes/aes.cpp:737,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:739,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/lib/block/aes/aes.cpp:740,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes.cpp:744,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes.cpp:744,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:744,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes.cpp:745,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes.cpp:745,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:745,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes.cpp:746,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - key
    - length
    - ' EK'
    - ' DK'
    argTypes:
    - uint8_t[]
    - size_t
    - secure_vector<uint32_t>
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 747
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 747
    functionName: Botan::aes_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - Botan::reverse_bytes
    - data
    - Botan::CT::poison
    - Botan::SE_word
    - Botan::InvMixColumn_x4
    - resize
    - Botan::rotl
    - Botan::load_be
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void aes_key_schedule(const uint8_t key[],\n                      size_t
      length,\n                      secure_vector<uint32_t>& EK,\n                      secure_vector<uint32_t>&
      DK,\n                      bool bswap_keys = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:751,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:757,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 770
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 770
    functionName: Botan::aes_parallelism
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: size_t
    signature: size_t aes_parallelism()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/aes/aes.cpp:774,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/aes/aes.cpp:780,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/aes/aes.cpp:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 792
    functionName: Botan::aes_provider
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string aes_provider()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_provider
      Src: /src/botan/src/lib/block/aes/aes.cpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 798
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 798
    functionName: Botan::AES_128::provider
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_provider
    linkageType: ''
    returnType: std::string
    signature: std::string AES_128::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_provider
      Src: /src/botan/src/lib/block/aes/aes.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 802
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 802
    functionName: Botan::AES_192::provider
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_provider
    linkageType: ''
    returnType: std::string
    signature: std::string AES_192::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_provider
      Src: /src/botan/src/lib/block/aes/aes.cpp:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 806
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 806
    functionName: Botan::AES_256::provider
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_provider
    linkageType: ''
    returnType: std::string
    signature: std::string AES_256::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_parallelism
      Src: /src/botan/src/lib/block/aes/aes.cpp:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 810
    functionName: Botan::AES_128::parallelism
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_parallelism
    linkageType: ''
    returnType: size_t
    signature: size_t AES_128::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_parallelism
      Src: /src/botan/src/lib/block/aes/aes.cpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 814
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 814
    functionName: Botan::AES_192::parallelism
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_parallelism
    linkageType: ''
    returnType: size_t
    signature: size_t AES_192::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_parallelism
      Src: /src/botan/src/lib/block/aes/aes.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: Botan::AES_256::parallelism
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_parallelism
    linkageType: ''
    returnType: size_t
    signature: size_t AES_256::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/aes/aes.cpp:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 822
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 822
    functionName: Botan::AES_128::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AES_128::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/aes/aes.cpp:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 826
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 826
    functionName: Botan::AES_192::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AES_192::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/aes/aes.cpp:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 830
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 830
    functionName: Botan::AES_256::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AES_256::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aes/aes.cpp:833,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:836,1
    - Dst: Botan::AES_128::x86_vaes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:837,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:842,1
    - Dst: Botan::AES_128::hw_aes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:843,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:848,1
    - Dst: Botan::AES_128::vperm_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:849,1
    - Dst: aes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 854
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 854
    functionName: Botan::AES_128::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::AES_128::hw_aes_encrypt_n
    - Botan::AES_128::vperm_encrypt_n
    - Botan::AES_128::x86_vaes_encrypt_n
    - aes_encrypt_n
    linkageType: ''
    returnType: void
    signature: void AES_128::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aes/aes.cpp:857,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:860,1
    - Dst: Botan::AES_128::x86_vaes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:861,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:866,1
    - Dst: Botan::AES_128::hw_aes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:867,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:872,1
    - Dst: Botan::AES_128::vperm_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:873,1
    - Dst: aes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 878
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 878
    functionName: Botan::AES_128::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_decrypt_n
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::AES_128::x86_vaes_decrypt_n
    - Botan::AES_128::hw_aes_decrypt_n
    - Botan::AES_128::vperm_decrypt_n
    linkageType: ''
    returnType: void
    signature: void AES_128::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:882,1
    - Dst: Botan::AES_128::aesni_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:883,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:883,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:883,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:888,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:889,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:889,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:889,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:894,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:896,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:896,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:896,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:901,1
    - Dst: Botan::AES_128::vperm_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:902,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:902,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:902,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:906,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:906,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 907
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 907
    functionName: Botan::AES_128::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - aes_key_schedule
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan::AES_128::aesni_key_schedule
    - Botan::AES_128::vperm_key_schedule
    linkageType: ''
    returnType: void
    signature: void AES_128::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/aes/aes.cpp:910,1
    - Dst: zap
      Src: /src/botan/src/lib/block/aes/aes.cpp:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: Botan::AES_128::clear
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void AES_128::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aes/aes.cpp:915,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:918,1
    - Dst: Botan::AES_192::x86_vaes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:919,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:924,1
    - Dst: Botan::AES_192::hw_aes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:925,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:930,1
    - Dst: Botan::AES_192::vperm_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:931,1
    - Dst: aes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 936
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 936
    functionName: Botan::AES_192::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::AES_192::x86_vaes_encrypt_n
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::AES_192::vperm_encrypt_n
    - Botan::AES_192::hw_aes_encrypt_n
    - aes_encrypt_n
    linkageType: ''
    returnType: void
    signature: void AES_192::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aes/aes.cpp:939,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:942,1
    - Dst: Botan::AES_192::x86_vaes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:943,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:948,1
    - Dst: Botan::AES_192::hw_aes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:949,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:954,1
    - Dst: Botan::AES_192::vperm_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:955,1
    - Dst: aes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 960
      start: 938
    functionDepth: 2
    functionLinenumber: 938
    functionLinenumberEnd: 960
    functionName: Botan::AES_192::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_decrypt_n
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::AES_192::x86_vaes_decrypt_n
    - Botan::AES_192::vperm_decrypt_n
    - Botan::AES_192::hw_aes_decrypt_n
    linkageType: ''
    returnType: void
    signature: void AES_192::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:964,1
    - Dst: Botan::AES_192::aesni_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:965,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:965,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:965,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:970,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:971,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:971,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:971,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:976,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:978,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:978,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:978,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:983,1
    - Dst: Botan::AES_192::vperm_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:984,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:984,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:984,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:988,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:988,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 989
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 989
    functionName: Botan::AES_192::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::AES_192::aesni_key_schedule
    - aes_key_schedule
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan::AES_192::vperm_key_schedule
    linkageType: ''
    returnType: void
    signature: void AES_192::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/aes/aes.cpp:992,1
    - Dst: zap
      Src: /src/botan/src/lib/block/aes/aes.cpp:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 994
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 994
    functionName: Botan::AES_192::clear
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void AES_192::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aes/aes.cpp:997,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1000,1
    - Dst: Botan::AES_256::x86_vaes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1001,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1006,1
    - Dst: Botan::AES_256::hw_aes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1007,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1012,1
    - Dst: Botan::AES_256::vperm_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1013,1
    - Dst: aes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1017,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1018
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1018
    functionName: Botan::AES_256::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::AES_256::x86_vaes_encrypt_n
    - Botan::AES_256::vperm_encrypt_n
    - Botan::AES_256::hw_aes_encrypt_n
    - aes_encrypt_n
    linkageType: ''
    returnType: void
    signature: void AES_256::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aes/aes.cpp:1021,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1024,1
    - Dst: Botan::AES_256::x86_vaes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1025,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1030,1
    - Dst: Botan::AES_256::hw_aes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1031,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1036,1
    - Dst: Botan::AES_256::vperm_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1037,1
    - Dst: aes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1042
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1042
    functionName: Botan::AES_256::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_decrypt_n
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::AES_256::x86_vaes_decrypt_n
    - Botan::AES_256::hw_aes_decrypt_n
    - Botan::AES_256::vperm_decrypt_n
    linkageType: ''
    returnType: void
    signature: void AES_256::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1046,1
    - Dst: Botan::AES_256::aesni_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:1047,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:1047,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:1047,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1052,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:1053,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:1053,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:1053,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1058,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:1060,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:1060,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:1060,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1065,1
    - Dst: Botan::AES_256::vperm_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:1066,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:1066,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:1066,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:1070,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:1070,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:1070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1071
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1071
    functionName: Botan::AES_256::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - aes_key_schedule
    - Botan::AES_256::aesni_key_schedule
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan::AES_256::vperm_key_schedule
    linkageType: ''
    returnType: void
    signature: void AES_256::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/aes/aes.cpp:1074,1
    - Dst: zap
      Src: /src/botan/src/lib/block/aes/aes.cpp:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1076
    functionName: Botan::AES_256::clear
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void AES_256::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::AES_128::name
    functionSourceFile: /src/botan/src/lib/block/aes/aes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AES_128>
      Src: /src/botan/src/lib/block/aes/aes.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::AES_128::new_object
    functionSourceFile: /src/botan/src/lib/block/aes/aes.h
    functionUses: 0
    functionsReached:
    - std::make_unique<AES_128>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan::AES_192::name
    functionSourceFile: /src/botan/src/lib/block/aes/aes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AES_192>
      Src: /src/botan/src/lib/block/aes/aes.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::AES_192::new_object
    functionSourceFile: /src/botan/src/lib/block/aes/aes.h
    functionUses: 0
    functionsReached:
    - std::make_unique<AES_192>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::AES_256::name
    functionSourceFile: /src/botan/src/lib/block/aes/aes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AES_256>
      Src: /src/botan/src/lib/block/aes/aes.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan::AES_256::new_object
    functionSourceFile: /src/botan/src/lib/block/aes/aes.h
    functionUses: 0
    functionsReached:
    - std::make_unique<AES_256>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:21,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:22,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:22,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:23,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:23,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:24,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:24,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:25,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:25,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - key
    - key_getting_rcon
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: Botan::aes_128_key_expansion
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - _MM_SHUFFLE
    - _mm_xor_si128
    - _mm_aeskeygenassist_si128
    - _mm_slli_si128
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI aes_128_key_expansion(__m128i key, __m128i key_getting_rcon)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:35,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:35,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:36,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:36,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:37,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:37,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:38,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:38,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:39,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:42,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:42,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:48,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:48,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:49,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:49,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:49,1
    - Dst: _mm_cvtsi128_si32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:52,1
    - Dst: _mm_cvtsi128_si32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:53,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - K1
    - K2
    - key2_with_rcon
    - ' out'
    - offset
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i
    - secure_vector<uint32_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: Botan::aes_192_key_expansion
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - _mm_srli_si128
    - _MM_SHUFFLE
    - _mm_xor_si128
    - _mm_storeu_si128
    - _mm_slli_si128
    - reinterpret_cast<__m128i*>
    - _mm_cvtsi128_si32
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: "BOTAN_FN_ISA_AESNI aes_192_key_expansion(\n   __m128i* K1, __m128i*
      K2, __m128i key2_with_rcon, secure_vector<uint32_t>& out, size_t offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:60,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:61,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:61,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:63,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:63,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:64,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:64,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:65,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:65,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - key
    - key2
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: Botan::aes_256_key_expansion
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - _MM_SHUFFLE
    - _mm_xor_si128
    - _mm_aeskeygenassist_si128
    - _mm_slli_si128
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI aes_256_key_expansion(__m128i key, __m128i key2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: Botan::keyxor
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE keyxor(SIMD_4x32 K, SIMD_4x32& B0, SIMD_4x32& B1,
      SIMD_4x32& B2, SIMD_4x32& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:77,1
    - Dst: _mm_aesenc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:77,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:77,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::aesenc
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::raw
    - raw
    - _mm_aesenc_si128
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesenc(SIMD_4x32 K, SIMD_4x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:82,1
    - Dst: _mm_aesenc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:82,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:82,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:82,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:83,1
    - Dst: _mm_aesenc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:83,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:83,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:83,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:84,1
    - Dst: _mm_aesenc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:84,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:84,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:84,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:85,1
    - Dst: _mm_aesenc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:85,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:85,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: Botan::aesenc
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::raw
    - raw
    - _mm_aesenc_si128
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesenc(\n   SIMD_4x32 K, SIMD_4x32& B0, SIMD_4x32&
      B1, SIMD_4x32& B2, SIMD_4x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:89,1
    - Dst: _mm_aesenclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:89,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:89,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::aesenclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::raw
    - raw
    - SIMD_4x32
    - _mm_aesenclast_si128
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesenclast(SIMD_4x32 K, SIMD_4x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:94,1
    - Dst: _mm_aesenclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:94,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:94,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:94,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:95,1
    - Dst: _mm_aesenclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:95,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:95,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:95,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:96,1
    - Dst: _mm_aesenclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:96,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:96,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:96,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:97,1
    - Dst: _mm_aesenclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:97,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:97,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: Botan::aesenclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::raw
    - raw
    - SIMD_4x32
    - _mm_aesenclast_si128
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesenclast(\n   SIMD_4x32 K, SIMD_4x32& B0, SIMD_4x32&
      B1, SIMD_4x32& B2, SIMD_4x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:101,1
    - Dst: _mm_aesdec_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:101,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:101,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::aesdec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - _mm_aesdec_si128
    - raw
    - SIMD_4x32
    - SIMD_4x32::raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesdec(SIMD_4x32 K, SIMD_4x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:106,1
    - Dst: _mm_aesdec_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:106,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:106,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:106,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:107,1
    - Dst: _mm_aesdec_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:107,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:107,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:107,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:108,1
    - Dst: _mm_aesdec_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:108,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:108,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:108,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:109,1
    - Dst: _mm_aesdec_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:109,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:109,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: Botan::aesdec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - _mm_aesdec_si128
    - raw
    - SIMD_4x32
    - SIMD_4x32::raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesdec(\n   SIMD_4x32 K, SIMD_4x32& B0, SIMD_4x32&
      B1, SIMD_4x32& B2, SIMD_4x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:113,1
    - Dst: _mm_aesdeclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:113,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:113,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: Botan::aesdeclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::raw
    - raw
    - _mm_aesdeclast_si128
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesdeclast(SIMD_4x32 K, SIMD_4x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:118,1
    - Dst: _mm_aesdeclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:118,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:118,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:118,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:119,1
    - Dst: _mm_aesdeclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:119,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:119,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:119,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:120,1
    - Dst: _mm_aesdeclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:120,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:120,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:120,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:121,1
    - Dst: _mm_aesdeclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:121,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:121,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: Botan::aesdeclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::raw
    - raw
    - _mm_aesdeclast_si128
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesdeclast(\n   SIMD_4x32 K, SIMD_4x32& B0, SIMD_4x32&
      B1, SIMD_4x32& B2, SIMD_4x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:130,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:131,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:132,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:133,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:134,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:135,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:136,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:137,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:138,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:139,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:140,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:143,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:144,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:145,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:146,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:148,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:149,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:150,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:151,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:152,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:153,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:154,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:155,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:156,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:157,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:158,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:160,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:161,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:162,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:163,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:171,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:174,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:175,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:176,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:177,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:178,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:179,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:180,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:181,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:182,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:183,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 187
    functionName: Botan::AES_128::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - Botan::SIMD_4x32::load_le
    - aesenclast
    - SIMD_4x32::store_le
    - aesenc
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_128::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:193,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:194,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:195,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:196,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:197,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:198,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:199,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:200,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:201,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:202,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:203,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:206,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:207,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:208,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:209,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:211,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:212,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:213,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:214,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:215,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:216,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:217,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:218,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:219,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:220,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:221,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:223,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:224,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:225,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:226,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:234,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:237,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:238,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:239,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:240,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:241,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:242,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:243,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:244,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:245,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:246,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 250
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 250
    functionName: Botan::AES_128::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - Botan::SIMD_4x32::load_le
    - SIMD_4x32::store_le
    - aesdeclast
    - aesdec
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_128::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:256,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:257,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:259,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:259,1
    - Dst: aes_128_key_expansion<0x01>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:260,1
    - Dst: aes_128_key_expansion<0x02>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:261,1
    - Dst: aes_128_key_expansion<0x04>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:262,1
    - Dst: aes_128_key_expansion<0x08>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:263,1
    - Dst: aes_128_key_expansion<0x10>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:264,1
    - Dst: aes_128_key_expansion<0x20>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:265,1
    - Dst: aes_128_key_expansion<0x40>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:266,1
    - Dst: aes_128_key_expansion<0x80>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:267,1
    - Dst: aes_128_key_expansion<0x1B>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:268,1
    - Dst: aes_128_key_expansion<0x36>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:269,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:271,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:271,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:272,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:273,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:274,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:275,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:276,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:277,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:278,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:279,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:280,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:281,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:282,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:286,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:286,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:287,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:288,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:288,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:289,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:289,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:290,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:290,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:291,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:291,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:292,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:292,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:293,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:293,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:294,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:294,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:295,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:295,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:296,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:296,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 298
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 298
    functionName: Botan::AES_128::aesni_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - aes_128_key_expansion<0x80>
    - aes_128_key_expansion<0x1B>
    - aes_128_key_expansion<0x02>
    - aes_128_key_expansion<0x40>
    - data
    - aes_128_key_expansion<0x08>
    - reinterpret_cast<const __m128i*>
    - _mm_loadu_si128
    - aes_128_key_expansion<0x04>
    - _mm_storeu_si128
    - _mm_aesimc_si128
    - aes_128_key_expansion<0x20>
    - aes_128_key_expansion<0x36>
    - reinterpret_cast<__m128i*>
    - resize
    - aes_128_key_expansion<0x10>
    - aes_128_key_expansion<0x01>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_128::aesni_key_schedule(const uint8_t key[],
      size_t /*length*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:304,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:305,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:306,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:307,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:308,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:309,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:310,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:311,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:312,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:313,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:314,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:315,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:316,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:319,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:320,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:321,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:322,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:324,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:325,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:326,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:327,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:328,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:329,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:330,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:331,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:332,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:333,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:334,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:335,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:336,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:338,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:339,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:340,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:341,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:349,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:353,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:354,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:355,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:356,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:357,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:358,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:359,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:360,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:361,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:362,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:363,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:364,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 368
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 368
    functionName: Botan::AES_192::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - Botan::SIMD_4x32::load_le
    - aesenclast
    - SIMD_4x32::store_le
    - aesenc
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_192::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:374,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:375,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:376,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:377,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:378,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:379,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:380,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:381,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:382,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:383,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:384,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:385,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:386,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:389,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:390,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:391,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:392,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:394,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:395,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:396,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:397,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:398,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:399,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:400,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:401,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:402,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:403,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:404,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:405,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:406,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:408,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:409,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:410,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:411,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:419,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:423,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:424,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:425,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:426,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:427,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:428,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:429,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:430,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:431,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:432,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:433,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:434,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 438
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 438
    functionName: Botan::AES_192::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - Botan::SIMD_4x32::load_le
    - SIMD_4x32::store_le
    - aesdeclast
    - aesdec
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_192::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:444,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:445,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:447,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:447,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:448,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:448,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:449,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:451,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:451,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:453,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:453,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:454,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:454,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:455,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:455,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:456,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:456,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:457,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:457,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:458,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:458,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:459,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:459,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:460,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:460,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:463,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:463,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:465,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:465,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:466,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:466,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:467,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:467,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:467,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:468,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:468,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:468,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:469,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:469,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:469,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:470,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:470,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:470,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:471,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:471,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:471,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:472,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:472,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:472,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:473,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:473,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:473,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:474,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:474,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:474,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:475,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:475,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:475,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:476,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:476,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:476,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:477,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:477,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:477,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:478,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 479
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 479
    functionName: Botan::AES_192::aesni_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - _mm_srli_si128
    - load_le
    - data
    - aes_192_key_expansion
    - reinterpret_cast<const __m128i*>
    - _mm_aeskeygenassist_si128
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_aesimc_si128
    - reinterpret_cast<__m128i*>
    - resize
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_192::aesni_key_schedule(const uint8_t key[],
      size_t /*length*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:485,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:486,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:487,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:488,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:489,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:490,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:491,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:492,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:493,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:494,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:495,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:496,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:497,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:498,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:499,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:502,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:503,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:504,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:505,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:507,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:508,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:509,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:510,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:511,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:512,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:513,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:514,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:515,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:516,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:517,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:518,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:519,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:520,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:521,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:523,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:524,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:525,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:526,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:534,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:538,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:539,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:540,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:541,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:542,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:543,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:544,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:545,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:546,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:547,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:548,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:549,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:550,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:551,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 555
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 555
    functionName: Botan::AES_256::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - Botan::SIMD_4x32::load_le
    - aesenclast
    - SIMD_4x32::store_le
    - aesenc
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_256::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:561,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:562,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:563,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:564,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:565,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:566,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:567,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:568,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:569,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:570,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:571,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:572,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:573,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:574,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:575,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:578,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:579,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:580,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:581,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:583,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:584,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:585,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:586,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:587,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:588,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:589,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:590,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:591,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:592,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:593,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:594,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:595,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:596,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:597,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:599,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:600,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:601,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:602,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:610,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:614,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:615,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:616,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:617,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:618,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:619,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:620,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:621,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:622,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:623,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:624,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:625,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:626,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:627,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 631
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 631
    functionName: Botan::AES_256::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - Botan::SIMD_4x32::load_le
    - SIMD_4x32::store_le
    - aesdeclast
    - aesdec
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_256::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:637,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:638,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:640,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:640,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:641,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:641,1
    - Dst: aes_128_key_expansion<0x01>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:643,1
    - Dst: aes_256_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:644,1
    - Dst: aes_128_key_expansion<0x02>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:646,1
    - Dst: aes_256_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:647,1
    - Dst: aes_128_key_expansion<0x04>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:649,1
    - Dst: aes_256_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:650,1
    - Dst: aes_128_key_expansion<0x08>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:652,1
    - Dst: aes_256_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:653,1
    - Dst: aes_128_key_expansion<0x10>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:655,1
    - Dst: aes_256_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:656,1
    - Dst: aes_128_key_expansion<0x20>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:658,1
    - Dst: aes_256_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:659,1
    - Dst: aes_128_key_expansion<0x40>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:661,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:663,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:663,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:664,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:665,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:666,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:667,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:668,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:669,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:670,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:671,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:672,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:673,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:674,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:675,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:676,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:677,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:678,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:681,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:681,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:682,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:683,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:683,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:684,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:684,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:685,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:685,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:686,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:686,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:687,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:687,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:688,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:688,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:689,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:689,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:690,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:690,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:691,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:691,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:692,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:692,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:693,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:693,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:694,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:694,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:695,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:695,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 697
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 697
    functionName: Botan::AES_256::aesni_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - aes_128_key_expansion<0x02>
    - aes_128_key_expansion<0x40>
    - data
    - aes_128_key_expansion<0x08>
    - reinterpret_cast<const __m128i*>
    - _mm_loadu_si128
    - aes_128_key_expansion<0x04>
    - _mm_storeu_si128
    - _mm_aesimc_si128
    - aes_256_key_expansion
    - aes_128_key_expansion<0x20>
    - reinterpret_cast<__m128i*>
    - resize
    - aes_128_key_expansion<0x10>
    - aes_128_key_expansion<0x01>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_256::aesni_key_schedule(const uint8_t key[],
      size_t /*length*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: Botan::keyxor
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE keyxor(SIMD_8x32 K, SIMD_8x32& B0, SIMD_8x32& B1,
      SIMD_8x32& B2, SIMD_8x32& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:26,1
    - Dst: _mm256_aesenc_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:26,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:26,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::aesenc
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - _mm256_aesenc_epi128
    - SIMD_8x32::raw
    - raw
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesenc(SIMD_8x32 K, SIMD_8x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:31,1
    - Dst: _mm256_aesenc_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:31,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:31,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:31,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:32,1
    - Dst: _mm256_aesenc_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:32,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:32,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:32,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:33,1
    - Dst: _mm256_aesenc_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:33,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:33,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:33,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:34,1
    - Dst: _mm256_aesenc_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:34,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:34,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: Botan::aesenc
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - _mm256_aesenc_epi128
    - SIMD_8x32::raw
    - raw
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesenc(\n   SIMD_8x32 K, SIMD_8x32& B0, SIMD_8x32&
      B1, SIMD_8x32& B2, SIMD_8x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:38,1
    - Dst: _mm256_aesenclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:38,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:38,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::aesenclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - _mm256_aesenclast_epi128
    - SIMD_8x32::raw
    - raw
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesenclast(SIMD_8x32 K, SIMD_8x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:43,1
    - Dst: _mm256_aesenclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:43,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:43,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:43,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:44,1
    - Dst: _mm256_aesenclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:44,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:44,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:44,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:45,1
    - Dst: _mm256_aesenclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:45,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:45,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:45,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:46,1
    - Dst: _mm256_aesenclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:46,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:46,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: Botan::aesenclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - _mm256_aesenclast_epi128
    - SIMD_8x32::raw
    - raw
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesenclast(\n   SIMD_8x32 K, SIMD_8x32& B0, SIMD_8x32&
      B1, SIMD_8x32& B2, SIMD_8x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:50,1
    - Dst: _mm256_aesdec_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:50,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:50,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::aesdec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - SIMD_8x32::raw
    - raw
    - _mm256_aesdec_epi128
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesdec(SIMD_8x32 K, SIMD_8x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:55,1
    - Dst: _mm256_aesdec_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:55,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:55,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:55,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:56,1
    - Dst: _mm256_aesdec_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:56,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:56,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:56,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:57,1
    - Dst: _mm256_aesdec_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:57,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:57,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:57,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:58,1
    - Dst: _mm256_aesdec_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:58,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:58,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: Botan::aesdec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - SIMD_8x32::raw
    - raw
    - _mm256_aesdec_epi128
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesdec(\n   SIMD_8x32 K, SIMD_8x32& B0, SIMD_8x32&
      B1, SIMD_8x32& B2, SIMD_8x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:62,1
    - Dst: _mm256_aesdeclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:62,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:62,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::aesdeclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - SIMD_8x32::raw
    - raw
    - _mm256_aesdeclast_epi128
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesdeclast(SIMD_8x32 K, SIMD_8x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:67,1
    - Dst: _mm256_aesdeclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:67,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:67,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:67,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:68,1
    - Dst: _mm256_aesdeclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:68,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:68,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:68,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:69,1
    - Dst: _mm256_aesdeclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:69,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:69,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:69,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:70,1
    - Dst: _mm256_aesdeclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:70,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:70,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: Botan::aesdeclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - SIMD_8x32::raw
    - raw
    - _mm256_aesdeclast_epi128
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesdeclast(\n   SIMD_8x32 K, SIMD_8x32& B0, SIMD_8x32&
      B1, SIMD_8x32& B2, SIMD_8x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:79,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:80,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:81,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:82,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:83,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:84,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:85,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:86,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:87,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:88,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:89,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:92,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:93,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:94,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:95,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:97,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:98,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:99,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:100,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:101,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:102,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:103,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:104,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:105,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:106,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:107,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:109,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:110,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:111,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:112,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:120,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:123,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:124,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:125,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:126,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:127,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:128,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:129,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:130,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:131,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:132,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:134,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:142,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:145,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:146,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:147,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:148,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:149,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:150,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:151,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:152,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:153,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:154,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 158
    functionName: Botan::AES_128::x86_vaes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - aesenclast
    - SIMD_8x32::store_le128
    - Botan::SIMD_8x32::load_le
    - SIMD_8x32::store_le
    - aesenc
    - Botan::SIMD_8x32::load_le128
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_VAES
    signature: BOTAN_FN_ISA_AVX2_VAES AES_128::x86_vaes_encrypt_n(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:164,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:165,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:166,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:167,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:168,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:169,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:170,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:171,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:172,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:173,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:174,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:177,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:178,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:179,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:180,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:182,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:183,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:184,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:185,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:186,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:187,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:188,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:189,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:190,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:191,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:192,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:194,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:195,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:196,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:197,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:205,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:208,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:209,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:210,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:211,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:212,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:213,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:214,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:215,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:216,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:217,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:219,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:227,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:230,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:231,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:232,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:233,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:234,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:235,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:236,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:237,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:238,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:239,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 243
    functionName: Botan::AES_128::x86_vaes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - SIMD_8x32::store_le128
    - Botan::SIMD_8x32::load_le
    - aesdeclast
    - SIMD_8x32::store_le
    - aesdec
    - Botan::SIMD_8x32::load_le128
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_VAES
    signature: BOTAN_FN_ISA_AVX2_VAES AES_128::x86_vaes_decrypt_n(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:249,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:250,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:251,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:252,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:253,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:254,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:255,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:256,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:257,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:258,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:259,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:260,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:261,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:264,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:265,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:266,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:267,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:269,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:270,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:271,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:272,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:273,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:274,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:275,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:276,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:277,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:278,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:279,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:280,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:281,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:283,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:284,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:285,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:286,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:294,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:297,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:298,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:299,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:300,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:301,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:302,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:303,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:304,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:305,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:306,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:307,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:308,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:310,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:318,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:321,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:322,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:323,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:324,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:325,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:326,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:327,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:328,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:329,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:330,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:331,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:332,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 336
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 336
    functionName: Botan::AES_192::x86_vaes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - aesenclast
    - SIMD_8x32::store_le128
    - Botan::SIMD_8x32::load_le
    - SIMD_8x32::store_le
    - aesenc
    - Botan::SIMD_8x32::load_le128
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_VAES
    signature: BOTAN_FN_ISA_AVX2_VAES AES_192::x86_vaes_encrypt_n(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:342,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:343,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:344,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:345,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:346,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:347,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:348,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:349,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:350,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:351,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:352,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:353,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:354,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:357,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:358,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:359,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:360,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:362,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:363,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:364,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:365,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:366,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:367,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:368,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:369,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:370,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:371,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:372,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:373,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:374,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:376,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:377,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:378,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:379,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:387,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:390,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:391,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:392,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:393,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:394,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:395,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:396,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:397,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:398,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:399,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:400,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:401,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:403,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:411,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:414,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:415,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:416,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:417,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:418,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:419,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:420,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:421,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:422,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:423,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:424,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:425,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 429
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 429
    functionName: Botan::AES_192::x86_vaes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - SIMD_8x32::store_le128
    - Botan::SIMD_8x32::load_le
    - aesdeclast
    - SIMD_8x32::store_le
    - aesdec
    - Botan::SIMD_8x32::load_le128
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_VAES
    signature: BOTAN_FN_ISA_AVX2_VAES AES_192::x86_vaes_decrypt_n(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:432,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:433,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:434,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:435,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:436,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:437,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:438,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:439,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:440,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:441,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:442,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:443,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:444,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:445,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:446,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:449,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:450,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:451,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:452,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:454,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:455,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:456,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:457,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:458,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:459,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:460,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:461,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:462,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:463,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:464,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:465,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:466,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:467,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:468,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:470,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:471,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:472,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:473,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:481,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:484,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:485,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:486,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:487,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:488,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:489,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:490,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:491,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:492,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:493,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:494,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:495,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:496,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:497,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:499,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:507,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:510,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:511,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:512,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:513,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:514,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:515,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:516,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:517,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:518,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:519,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:520,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:521,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:522,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:523,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 527
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 527
    functionName: Botan::AES_256::x86_vaes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - aesenclast
    - SIMD_8x32::store_le128
    - Botan::SIMD_8x32::load_le
    - SIMD_8x32::store_le
    - aesenc
    - Botan::SIMD_8x32::load_le128
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_VAES
    signature: BOTAN_FN_ISA_AVX2_VAES AES_256::x86_vaes_encrypt_n(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:533,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:534,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:535,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:536,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:537,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:538,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:539,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:540,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:541,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:542,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:543,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:544,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:545,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:546,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:547,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:550,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:551,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:552,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:553,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:555,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:556,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:557,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:558,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:559,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:560,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:561,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:562,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:563,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:564,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:565,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:566,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:567,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:568,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:569,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:571,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:572,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:573,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:574,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:582,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:585,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:586,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:587,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:588,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:589,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:590,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:591,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:592,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:593,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:594,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:595,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:596,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:597,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:598,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:600,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:608,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:611,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:612,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:613,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:614,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:615,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:616,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:617,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:618,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:619,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:620,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:621,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:622,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:623,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:624,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 628
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 628
    functionName: Botan::AES_256::x86_vaes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - SIMD_8x32::store_le128
    - Botan::SIMD_8x32::load_le
    - aesdeclast
    - SIMD_8x32::store_le
    - aesdec
    - Botan::SIMD_8x32::load_le128
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_VAES
    signature: BOTAN_FN_ISA_AVX2_VAES AES_256::x86_vaes_decrypt_n(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vaesmcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:22,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' B'
    - K
    argTypes:
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::AES_AARCH64::enc
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaeseq_u8
    - vaesmcq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE enc(uint8x16_t& B, uint8x16_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vaesmcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:27,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:27,1
    - Dst: vaesmcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:28,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:28,1
    - Dst: vaesmcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:29,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:29,1
    - Dst: vaesmcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:30,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - K
    argTypes:
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: Botan::AES_AARCH64::enc4
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaeseq_u8
    - vaesmcq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE enc4(\n   uint8x16_t& B0, uint8x16_t& B1, uint8x16_t&
      B2, uint8x16_t& B3, uint8x16_t K)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:34,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' B'
    - K
    - K2
    argTypes:
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::AES_AARCH64::enc_last
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaeseq_u8
    - veorq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE enc_last(uint8x16_t& B, uint8x16_t K, uint8x16_t
      K2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:39,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:39,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:40,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:40,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:41,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:41,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:42,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - K
    - K2
    argTypes:
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Botan::AES_AARCH64::enc4_last
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaeseq_u8
    - veorq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE enc4_last(\n   uint8x16_t& B0, uint8x16_t& B1,
      uint8x16_t& B2, uint8x16_t& B3, uint8x16_t K, uint8x16_t K2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vaesimcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:46,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' B'
    - K
    argTypes:
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::AES_AARCH64::dec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaesimcq_u8
    - vaesdq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE dec(uint8x16_t& B, uint8x16_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vaesimcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:51,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:51,1
    - Dst: vaesimcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:52,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:52,1
    - Dst: vaesimcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:53,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:53,1
    - Dst: vaesimcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:54,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - K
    argTypes:
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: Botan::AES_AARCH64::dec4
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaesimcq_u8
    - vaesdq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE dec4(\n   uint8x16_t& B0, uint8x16_t& B1, uint8x16_t&
      B2, uint8x16_t& B3, uint8x16_t K)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:58,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' B'
    - K
    - K2
    argTypes:
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::AES_AARCH64::dec_last
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaesdq_u8
    - veorq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE dec_last(uint8x16_t& B, uint8x16_t K, uint8x16_t
      K2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:63,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:63,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:64,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:64,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:65,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:65,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:66,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - K
    - K2
    argTypes:
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: Botan::AES_AARCH64::dec4_last
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaesdq_u8
    - veorq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE dec4_last(\n   uint8x16_t& B0, uint8x16_t& B1,
      uint8x16_t& B2, uint8x16_t& B3, uint8x16_t K, uint8x16_t K2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:77,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:78,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:79,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:80,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:81,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:82,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:83,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:84,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:85,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:86,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:87,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:92,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:93,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:94,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:95,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:97,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:98,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:99,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:100,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:101,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:102,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:103,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:104,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:105,1
    - Dst: enc4_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:106,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:108,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:109,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:110,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:111,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:119,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:120,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:121,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:122,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:123,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:124,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:125,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:126,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:127,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:128,1
    - Dst: enc_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:129,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 132
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 132
    functionName: Botan::AES_128::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 1
    functionsReached:
    - enc4
    - vld1q_u8
    - enc4_last
    - enc_last
    - vst1q_u8
    - enc
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_128::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:140,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:141,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:142,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:143,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:144,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:145,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:146,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:147,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:148,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:149,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:150,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:155,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:156,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:157,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:158,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:160,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:161,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:162,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:163,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:164,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:165,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:166,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:167,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:168,1
    - Dst: dec4_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:169,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:171,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:172,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:173,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:174,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:182,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:183,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:184,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:185,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:186,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:187,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:188,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:189,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:190,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:191,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:192,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:192,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 195
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 195
    functionName: Botan::AES_128::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 1
    functionsReached:
    - dec
    - vld1q_u8
    - dec4_last
    - vst1q_u8
    - vaesdq_u8
    - veorq_u8
    - dec4
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_128::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:203,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:204,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:205,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:206,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:207,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:208,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:209,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:210,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:211,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:212,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:213,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:214,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:215,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:220,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:221,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:222,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:223,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:225,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:226,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:227,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:228,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:229,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:230,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:231,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:232,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:233,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:234,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:235,1
    - Dst: enc4_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:236,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:238,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:239,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:240,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:241,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:249,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:250,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:251,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:252,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:253,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:254,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:255,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:256,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:257,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:258,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:259,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:260,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:261,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:261,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 264
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 264
    functionName: Botan::AES_192::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 1
    functionsReached:
    - enc4
    - vld1q_u8
    - enc4_last
    - vst1q_u8
    - veorq_u8
    - vaeseq_u8
    - enc
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_192::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:272,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:273,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:274,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:275,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:276,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:277,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:278,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:279,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:280,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:281,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:282,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:283,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:284,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:289,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:290,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:291,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:292,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:294,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:295,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:296,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:297,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:298,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:299,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:300,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:301,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:302,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:303,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:304,1
    - Dst: dec4_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:305,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:307,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:308,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:309,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:310,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:318,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:319,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:320,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:321,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:322,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:323,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:324,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:325,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:326,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:327,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:328,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:329,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:330,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:330,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 333
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 333
    functionName: Botan::AES_192::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 1
    functionsReached:
    - dec
    - vld1q_u8
    - dec4_last
    - vst1q_u8
    - vaesdq_u8
    - veorq_u8
    - dec4
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_192::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:341,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:342,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:343,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:344,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:345,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:346,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:347,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:348,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:349,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:350,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:351,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:352,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:353,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:354,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:355,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:362,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:363,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:364,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:365,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:367,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:368,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:369,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:370,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:371,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:372,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:373,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:374,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:375,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:376,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:377,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:378,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:379,1
    - Dst: enc4_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:380,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:382,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:383,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:384,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:385,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:393,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:394,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:395,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:396,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:397,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:398,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:399,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:400,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:401,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:402,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:403,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:404,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:405,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:406,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:407,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:407,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 410
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 410
    functionName: Botan::AES_256::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 1
    functionsReached:
    - enc4
    - vld1q_u8
    - enc4_last
    - vst1q_u8
    - veorq_u8
    - vaeseq_u8
    - enc
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_256::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:418,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:419,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:420,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:421,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:422,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:423,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:424,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:425,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:426,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:427,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:428,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:429,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:430,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:431,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:432,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:437,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:438,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:439,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:440,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:442,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:443,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:444,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:445,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:446,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:447,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:448,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:449,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:450,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:451,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:452,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:453,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:454,1
    - Dst: dec4_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:455,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:457,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:458,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:459,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:460,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:468,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:469,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:470,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:471,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:472,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:473,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:474,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:475,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:476,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:477,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:478,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:479,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:480,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:481,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:482,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:482,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 485
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 485
    functionName: Botan::AES_256::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 1
    functionsReached:
    - dec
    - vld1q_u8
    - dec4_last
    - vst1q_u8
    - vaesdq_u8
    - veorq_u8
    - dec4
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_256::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_perm
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - Altivec8x16
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: Botan::reverse_vec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 0
    functionsReached:
    - vec_perm
    linkageType: ''
    returnType: Altivec8x16
    signature: Altivec8x16 reverse_vec(Altivec8x16 src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Altivec64x2>
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:42,1
    - Dst: reverse_vec
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:42,1
    - Dst: reinterpret_cast<Altivec8x16>
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:42,1
    - Dst: vec_vsx_ld
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::Altivec64x2::load_key
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Altivec8x16>
    - reinterpret_cast<Altivec64x2>
    - reverse_vec
    - vec_vsx_ld
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES Altivec64x2 load_key(const uint32_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Altivec64x2>
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:46,1
    - Dst: reverse_vec
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:46,1
    - Dst: vec_vsx_ld
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::Altivec64x2::load_block
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Altivec64x2>
    - reverse_vec
    - vec_vsx_ld
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES Altivec64x2 load_block(const uint8_t src[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_vsx_st
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:50,1
    - Dst: Botan::reverse_vec
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:50,1
    - Dst: reinterpret_cast<Altivec8x16>
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - Altivec64x2
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::store_block
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 0
    functionsReached:
    - vec_vsx_st
    - reinterpret_cast<Altivec8x16>
    - Botan::reverse_vec
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES store_block(Altivec64x2 src, uint8_t dest[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:54,1
    - Dst: Botan::store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:55,1
    - Dst: Botan::store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:56,1
    - Dst: Botan::store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - B0
    - B1
    - B2
    - B3
    - out
    argTypes:
    - Altivec64x2
    - Altivec64x2
    - Altivec64x2
    - Altivec64x2
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: Botan::store_blocks
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_block
    linkageType: ''
    returnType: void
    signature: void store_blocks(Altivec64x2 B0, Altivec64x2 B1, Altivec64x2 B2, Altivec64x2
      B3, uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:103,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:104,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:105,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:106,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:107,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:108,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:109,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:110,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:111,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:112,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:113,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:116,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:117,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:118,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:119,1
    - Dst: AES_XOR_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:121,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:122,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:123,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:124,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:125,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:126,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:127,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:128,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:129,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:130,1
    - Dst: AES_ENCRYPT_4_LAST
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:131,1
    - Dst: store_blocks
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:133,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:141,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:143,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:144,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:145,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:146,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:147,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:148,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:149,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:150,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:151,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:152,1
    - Dst: __builtin_crypto_vcipherlast
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:153,1
    - Dst: store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 160
    functionName: Botan::AES_128::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 1
    functionsReached:
    - load_key
    - AES_ENCRYPT_4_LAST
    - vec_xor
    - store_blocks
    - AES_XOR_4
    - AES_ENCRYPT_4
    - __builtin_crypto_vcipherlast
    - __builtin_crypto_vcipher
    - store_block
    - load_block
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_128::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:163,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:164,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:165,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:166,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:167,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:168,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:169,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:170,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:171,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:172,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:173,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:176,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:177,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:178,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:179,1
    - Dst: AES_XOR_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:181,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:182,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:183,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:184,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:185,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:186,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:187,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:188,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:189,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:190,1
    - Dst: AES_DECRYPT_4_LAST
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:191,1
    - Dst: store_blocks
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:193,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:201,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:203,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:204,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:205,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:206,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:207,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:208,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:209,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:210,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:211,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:212,1
    - Dst: __builtin_crypto_vncipherlast
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:213,1
    - Dst: store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 220
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 220
    functionName: Botan::AES_128::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 1
    functionsReached:
    - load_key
    - AES_DECRYPT_4
    - vec_xor
    - store_blocks
    - AES_XOR_4
    - store_block
    - AES_DECRYPT_4_LAST
    - load_block
    - __builtin_crypto_vncipherlast
    - __builtin_crypto_vncipher
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_128::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:223,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:224,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:225,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:226,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:227,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:228,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:229,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:230,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:231,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:232,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:233,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:234,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:235,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:238,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:239,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:240,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:241,1
    - Dst: AES_XOR_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:243,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:244,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:245,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:246,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:247,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:248,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:249,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:250,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:251,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:252,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:253,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:254,1
    - Dst: AES_ENCRYPT_4_LAST
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:255,1
    - Dst: store_blocks
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:257,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:265,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:267,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:268,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:269,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:270,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:271,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:272,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:273,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:274,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:275,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:276,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:277,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:278,1
    - Dst: __builtin_crypto_vcipherlast
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:279,1
    - Dst: store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 286
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 286
    functionName: Botan::AES_192::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 1
    functionsReached:
    - load_key
    - AES_ENCRYPT_4_LAST
    - vec_xor
    - store_blocks
    - AES_XOR_4
    - AES_ENCRYPT_4
    - __builtin_crypto_vcipherlast
    - __builtin_crypto_vcipher
    - store_block
    - load_block
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_192::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:289,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:290,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:291,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:292,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:293,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:294,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:295,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:296,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:297,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:298,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:299,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:300,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:301,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:304,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:305,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:306,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:307,1
    - Dst: AES_XOR_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:309,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:310,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:311,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:312,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:313,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:314,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:315,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:316,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:317,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:318,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:319,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:320,1
    - Dst: AES_DECRYPT_4_LAST
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:321,1
    - Dst: store_blocks
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:323,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:331,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:333,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:334,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:335,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:336,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:337,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:338,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:339,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:340,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:341,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:342,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:343,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:344,1
    - Dst: __builtin_crypto_vncipherlast
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:345,1
    - Dst: store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 352
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 352
    functionName: Botan::AES_192::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 1
    functionsReached:
    - load_key
    - AES_DECRYPT_4
    - vec_xor
    - store_blocks
    - AES_XOR_4
    - store_block
    - AES_DECRYPT_4_LAST
    - load_block
    - __builtin_crypto_vncipherlast
    - __builtin_crypto_vncipher
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_192::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:355,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:356,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:357,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:358,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:359,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:360,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:361,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:362,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:363,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:364,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:365,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:366,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:367,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:368,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:369,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:372,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:373,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:374,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:375,1
    - Dst: AES_XOR_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:377,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:378,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:379,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:380,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:381,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:382,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:383,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:384,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:385,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:386,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:387,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:388,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:389,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:390,1
    - Dst: AES_ENCRYPT_4_LAST
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:391,1
    - Dst: store_blocks
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:393,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:401,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:403,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:404,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:405,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:406,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:407,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:408,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:409,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:410,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:411,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:412,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:413,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:414,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:415,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:416,1
    - Dst: __builtin_crypto_vcipherlast
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:417,1
    - Dst: store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 424
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 424
    functionName: Botan::AES_256::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 1
    functionsReached:
    - load_key
    - AES_ENCRYPT_4_LAST
    - vec_xor
    - store_blocks
    - AES_XOR_4
    - AES_ENCRYPT_4
    - __builtin_crypto_vcipherlast
    - __builtin_crypto_vcipher
    - store_block
    - load_block
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_256::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:427,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:428,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:429,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:430,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:431,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:432,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:433,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:434,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:435,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:436,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:437,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:438,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:439,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:440,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:441,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:444,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:445,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:446,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:447,1
    - Dst: AES_XOR_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:449,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:450,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:451,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:452,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:453,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:454,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:455,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:456,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:457,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:458,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:459,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:460,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:461,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:462,1
    - Dst: AES_DECRYPT_4_LAST
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:463,1
    - Dst: store_blocks
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:465,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:473,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:475,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:476,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:477,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:478,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:479,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:480,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:481,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:482,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:483,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:484,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:485,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:486,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:487,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:488,1
    - Dst: __builtin_crypto_vncipherlast
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:489,1
    - Dst: store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 496
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 496
    functionName: Botan::AES_256::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 1
    functionsReached:
    - load_key
    - AES_DECRYPT_4
    - vec_xor
    - store_blocks
    - AES_XOR_4
    - store_block
    - AES_DECRYPT_4_LAST
    - load_block
    - __builtin_crypto_vncipherlast
    - __builtin_crypto_vncipher
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_256::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:27,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:29,1
    - Dst: SIMD_4x32::bswap
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:29,1
    - Dst: SIMD_4x32::bswap
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tbl
    - idx
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::bswap
    - Botan::SIMD_4x32::byte_shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 shuffle(SIMD_4x32 tbl, SIMD_4x32 idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::masked_byte_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:35,1
    - Dst: Botan::SIMD_4x32::masked_byte_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:37,1
    - Dst: SIMD_4x32::bswap
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:37,1
    - Dst: SIMD_4x32::bswap
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tbl
    - idx
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::bswap
    - Botan::SIMD_4x32::masked_byte_shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 masked_shuffle(SIMD_4x32 tbl, SIMD_4x32
      idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: Botan::low_nibs
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 low_nibs(SIMD_4x32 x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32::shr
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::high_nibs
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shr
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 high_nibs(SIMD_4x32 x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:123,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:123,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:123,1
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - B
    - K
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_first_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_enc_first_round(SIMD_4x32 B, SIMD_4x32
      K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:127,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:128,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:129,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:132,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:132,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:133,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:133,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:135,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:135,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:136,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:136,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:136,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:138,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - B
    - K
    - r
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_enc_round(SIMD_4x32 B, SIMD_4x32
      K, size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:142,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:143,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:144,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:147,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:147,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:148,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:148,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:150,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:150,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - B
    - K
    - r
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - size_t
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_last_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_enc_last_round(SIMD_4x32 B, SIMD_4x32
      K, size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:154,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:154,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:154,1
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - B
    - K
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_first_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_dec_first_round(SIMD_4x32 B, SIMD_4x32
      K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:158,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:159,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:160,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:164,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:164,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:165,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:165,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:169,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:169,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:170,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:170,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:170,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:171,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:171,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:171,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:172,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:172,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - B
    - K
    - r
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - size_t
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_dec_round(SIMD_4x32 B, SIMD_4x32
      K, size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:178,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:179,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:180,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:184,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:184,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:185,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:185,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:187,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:187,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - B
    - K
    - r
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - size_t
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_last_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_dec_last_round(SIMD_4x32 B, SIMD_4x32
      K, size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:193,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:198,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:199,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_first_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:201,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_first_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:202,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:205,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:206,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_last_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:209,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_last_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:210,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:212,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:213,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:217,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_first_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:219,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:222,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_last_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:225,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:226,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:229,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - in
    - out
    - blocks
    - K
    - rounds
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - SIMD_4x32[]
    - size_t
    constantsTouched: []
    func_position:
      end: 231
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 231
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::vperm_encrypt_blocks
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x32::load_le
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_last_round
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_round
    - SIMD_4x32::store_le
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_first_round
    - Botan::CT::poison
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: 'void BOTAN_FN_ISA_SIMD_4X32

      vperm_encrypt_blocks(const uint8_t in[], uint8_t out[], size_t blocks, const
      SIMD_4x32 K[], size_t rounds)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:235,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:240,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:241,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_first_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:243,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_first_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:244,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:247,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:248,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_last_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:251,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_last_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:252,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:254,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:255,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:259,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_first_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:261,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:264,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_last_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:267,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:268,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:271,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - in
    - out
    - blocks
    - K
    - rounds
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - SIMD_4x32[]
    - size_t
    constantsTouched: []
    func_position:
      end: 273
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 273
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::vperm_decrypt_blocks
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x32::load_le
    - Botan::CT::unpoison
    - SIMD_4x32::store_le
    - Botan::CT::poison
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_first_round
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_round
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_last_round
    linkageType: ''
    returnType: void
    signature: 'void BOTAN_FN_ISA_SIMD_4X32

      vperm_decrypt_blocks(const uint8_t in[], uint8_t out[], size_t blocks, const
      SIMD_4x32 K[], size_t rounds)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:279,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:280,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:281,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:282,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:283,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:284,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:285,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:286,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:287,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:288,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:289,1
    - Dst: vperm_encrypt_blocks
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 293
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 293
    functionName: Botan::AES_128::vperm_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::load_le
    - vperm_encrypt_blocks
    linkageType: ''
    returnType: void
    signature: void AES_128::vperm_encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:297,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:298,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:299,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:300,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:301,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:302,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:303,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:304,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:305,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:306,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:307,1
    - Dst: vperm_decrypt_blocks
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 311
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 311
    functionName: Botan::AES_128::vperm_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - vperm_decrypt_blocks
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: void AES_128::vperm_decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:315,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:316,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:317,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:318,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:319,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:320,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:321,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:322,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:323,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:324,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:325,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:326,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:327,1
    - Dst: vperm_encrypt_blocks
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 331
    functionName: Botan::AES_192::vperm_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::load_le
    - vperm_encrypt_blocks
    linkageType: ''
    returnType: void
    signature: void AES_192::vperm_encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:335,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:336,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:337,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:338,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:339,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:340,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:341,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:342,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:343,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:344,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:345,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:346,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:347,1
    - Dst: vperm_decrypt_blocks
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 351
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 351
    functionName: Botan::AES_192::vperm_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - vperm_decrypt_blocks
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: void AES_192::vperm_decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:355,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:356,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:357,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:358,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:359,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:360,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:361,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:362,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:363,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:364,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:365,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:366,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:367,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:368,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:369,1
    - Dst: vperm_encrypt_blocks
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 373
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 373
    functionName: Botan::AES_256::vperm_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::load_le
    - vperm_encrypt_blocks
    linkageType: ''
    returnType: void
    signature: void AES_256::vperm_encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:377,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:378,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:379,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:380,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:381,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:382,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:383,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:384,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:385,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:386,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:387,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:388,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:389,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:390,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:391,1
    - Dst: vperm_decrypt_blocks
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: Botan::AES_256::vperm_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - vperm_decrypt_blocks
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: void AES_256::vperm_decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:400,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:400,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:400,1
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - table_1
    - table_2
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_transform(SIMD_4x32 input,
      SIMD_4x32 table_1, SIMD_4x32 table_2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:406,1
    - Dst: Botan::SIMD_4x32::splat_u8
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:406,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:408,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:409,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - k
    - round_no
    argTypes:
    - SIMD_4x32
    - uint8_t
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_mangle
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x32::splat_u8
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_mangle(SIMD_4x32 k, uint8_t
      round_no)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:417,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:418,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:419,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:420,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:421,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:422,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:423,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:424,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:427,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:428,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:430,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:431,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:433,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:434,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:436,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:437,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - k
    - round_no
    argTypes:
    - SIMD_4x32
    - uint8_t
    constantsTouched: []
    func_position:
      end: 440
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 440
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_mangle_dec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
    - SIMD_4x32
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_mangle_dec(SIMD_4x32
      k, uint8_t round_no)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:446,1
    - Dst: Botan::SIMD_4x32::splat_u8
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:447,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - k
    - round_no
    argTypes:
    - SIMD_4x32
    - uint8_t
    constantsTouched: []
    func_position:
      end: 449
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 449
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_mangle_last
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
    - Botan::SIMD_4x32::splat_u8
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_mangle_last(SIMD_4x32
      k, uint8_t round_no)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat_u8
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:455,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_mangle_last_dec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
    - Botan::SIMD_4x32::splat_u8
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_mangle_last_dec(SIMD_4x32
      k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:460,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:461,1
    - Dst: Botan::SIMD_4x32::splat_u8
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:462,1
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:464,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:465,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:467,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:471,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:471,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:472,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:472,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:474,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - input1
    - input2
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 475
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 475
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shift_elems_left
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - high_nibs
    - Botan::SIMD_4x32::splat_u8
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_round(SIMD_4x32 input1,
      SIMD_4x32 input2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:479,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:480,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rc
    - input1
    - input2
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::splat
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_round
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_round(SIMD_4x32 rc, SIMD_4x32
      input1, SIMD_4x32 input2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:484,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:485,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:489,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 490
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_192_smear
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - SIMD_4x32
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_192_smear(SIMD_4x32 x,
      SIMD_4x32 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:495,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:496,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:498,1
    - Dst: shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:500,1
    - Dst: aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:502,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:503,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:506,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:508,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:510,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:513,1
    - Dst: aes_schedule_mangle_last
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:514,1
    - Dst: aes_schedule_mangle_last_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - keyb
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 516
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 516
    functionName: Botan::AES_128::vperm_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - shuffle
    - aes_schedule_mangle
    - Botan::SIMD_4x32::load_le
    - SIMD_4x32::store_le
    - aes_schedule_mangle_last_dec
    - aes_schedule_mangle_last
    - aes_schedule_mangle_dec
    - aes_schedule_round
    - resize
    - aes_schedule_transform
    linkageType: ''
    returnType: void
    signature: void AES_128::vperm_key_schedule(const uint8_t keyb[], size_t /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:519,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:520,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:522,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:523,1
    - Dst: shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:525,1
    - Dst: aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:527,1
    - Dst: aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:528,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:530,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:535,1
    - Dst: Botan::SIMD_4x32::alignr8
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:536,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:538,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:539,1
    - Dst: aes_schedule_192_smear
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:541,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:543,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:544,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:546,1
    - Dst: aes_schedule_mangle_last
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:549,1
    - Dst: aes_schedule_mangle_last_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:550,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:552,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:553,1
    - Dst: aes_schedule_192_smear
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - keyb
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 559
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 559
    functionName: Botan::AES_192::vperm_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - shuffle
    - aes_schedule_mangle
    - Botan::SIMD_4x32::load_le
    - SIMD_4x32::store_le
    - aes_schedule_mangle_last_dec
    - aes_schedule_mangle_last
    - aes_schedule_192_smear
    - aes_schedule_mangle_dec
    - aes_schedule_round
    - resize
    - aes_schedule_transform
    - Botan::SIMD_4x32::alignr8
    linkageType: ''
    returnType: void
    signature: void AES_192::vperm_key_schedule(const uint8_t keyb[], size_t /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:562,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:563,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:565,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:566,1
    - Dst: shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:568,1
    - Dst: aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:570,1
    - Dst: aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:571,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:573,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:574,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:576,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:578,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:582,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:584,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:585,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:587,1
    - Dst: shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:587,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:589,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:590,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:593,1
    - Dst: aes_schedule_mangle_last
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:595,1
    - Dst: aes_schedule_mangle_last_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - keyb
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 597
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 597
    functionName: Botan::AES_256::vperm_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - shuffle
    - aes_schedule_mangle
    - Botan::SIMD_4x32::load_le
    - SIMD_4x32::store_le
    - Botan::SIMD_4x32::splat
    - aes_schedule_mangle_last_dec
    - aes_schedule_mangle_last
    - aes_schedule_mangle_dec
    - aes_schedule_round
    - resize
    - aes_schedule_transform
    linkageType: ''
    returnType: void
    signature: void AES_256::vperm_key_schedule(const uint8_t keyb[], size_t /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::SM4::name
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SM4>
      Src: /src/botan/src/lib/block/sm4/sm4.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::SM4::new_object
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SM4>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:82,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:82,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:82,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: Botan::SM4_T_slow
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SM4_T_slow(uint32_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:86,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:86,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:86,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:86,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:86,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:87,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: Botan::SM4_T
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - Botan::get_byte
    - Botan::rotr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SM4_T(uint32_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:96,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: Botan::SM4_Tp
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SM4_Tp(uint32_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:102,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:103,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:104,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' RK'
    - ' f'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - secure_vector<uint32_t>
    - F
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: Botan::SM4_E
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SM4_E(\n   uint32_t& B0, uint32_t& B1, uint32_t&
      B2, uint32_t& B3, const secure_vector<uint32_t>& RK, F& f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:119,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:120,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:121,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:122,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:123,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:124,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:125,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 10
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' C0'
    - ' C1'
    - ' C2'
    - ' C3'
    - ' RK'
    - ' f'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - secure_vector<uint32_t>
    - F
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: Botan::SM4_E
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SM4_E(uint32_t& B0,\n                              uint32_t&
      B1,\n                              uint32_t& B2,\n                              uint32_t&
      B3,\n                              uint32_t& C0,\n                              uint32_t&
      C1,\n                              uint32_t& C2,\n                              uint32_t&
      C3,\n                              const secure_vector<uint32_t>& RK,\n                              F&
      f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:132,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:133,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:134,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' RK'
    - ' f'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - secure_vector<uint32_t>
    - F
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: Botan::SM4_D
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SM4_D(\n   uint32_t& B0, uint32_t& B1, uint32_t&
      B2, uint32_t& B3, const secure_vector<uint32_t>& RK, F& f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:149,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:150,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:151,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:152,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:153,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:154,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:155,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 10
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' C0'
    - ' C1'
    - ' C2'
    - ' C3'
    - ' RK'
    - ' f'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - secure_vector<uint32_t>
    - F
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: Botan::SM4_D
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SM4_D(uint32_t& B0,\n                              uint32_t&
      B1,\n                              uint32_t& B2,\n                              uint32_t&
      B3,\n                              uint32_t& C0,\n                              uint32_t&
      C1,\n                              uint32_t& C2,\n                              uint32_t&
      C3,\n                              const secure_vector<uint32_t>& RK,\n                              F&
      f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:165,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:168,1
    - Dst: sm4_armv8_encrypt
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:169,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:174,1
    - Dst: sm4_x86_encrypt
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:175,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:180,1
    - Dst: sm4_gfni_encrypt
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:181,1
    - Dst: SM4_E<0>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:196,1
    - Dst: SM4_E<1>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:197,1
    - Dst: SM4_E<2>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:198,1
    - Dst: SM4_E<3>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:199,1
    - Dst: SM4_E<4>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:200,1
    - Dst: SM4_E<5>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:201,1
    - Dst: SM4_E<6>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:202,1
    - Dst: SM4_E<7>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:203,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:205,1
    - Dst: SM4_E<0>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:218,1
    - Dst: SM4_E<1>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:219,1
    - Dst: SM4_E<2>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:220,1
    - Dst: SM4_E<3>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:221,1
    - Dst: SM4_E<4>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:222,1
    - Dst: SM4_E<5>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:223,1
    - Dst: SM4_E<6>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:224,1
    - Dst: SM4_E<7>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:225,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 232
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 232
    functionName: Botan::SM4::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - sm4_armv8_encrypt
    - store_be
    - SM4_E<0>
    - SM4_E<6>
    - SM4_E<1>
    - SM4_E<5>
    - SM4_E<3>
    - sm4_x86_encrypt
    - SM4_E<4>
    - SM4_E<7>
    - sm4_gfni_encrypt
    - SM4_E<2>
    linkageType: ''
    returnType: void
    signature: void SM4::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:238,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:241,1
    - Dst: sm4_armv8_decrypt
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:242,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:247,1
    - Dst: sm4_x86_decrypt
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:248,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:253,1
    - Dst: sm4_gfni_decrypt
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:254,1
    - Dst: SM4_D<7>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:269,1
    - Dst: SM4_D<6>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:270,1
    - Dst: SM4_D<5>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:271,1
    - Dst: SM4_D<4>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:272,1
    - Dst: SM4_D<3>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:273,1
    - Dst: SM4_D<2>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:274,1
    - Dst: SM4_D<1>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:275,1
    - Dst: SM4_D<0>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:276,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:278,1
    - Dst: SM4_D<7>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:291,1
    - Dst: SM4_D<6>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:292,1
    - Dst: SM4_D<5>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:293,1
    - Dst: SM4_D<4>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:294,1
    - Dst: SM4_D<3>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:295,1
    - Dst: SM4_D<2>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:296,1
    - Dst: SM4_D<1>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:297,1
    - Dst: SM4_D<0>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:298,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 305
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 305
    functionName: Botan::SM4::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - SM4_D<0>
    - SM4_D<2>
    - SM4_D<3>
    - store_be
    - SM4_D<1>
    - SM4_D<5>
    - sm4_x86_decrypt
    - SM4_D<6>
    - SM4_D<7>
    - sm4_gfni_decrypt
    - sm4_armv8_decrypt
    - SM4_D<4>
    linkageType: ''
    returnType: void
    signature: void SM4::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: Botan::SM4::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool SM4::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:325,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:325,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:326,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:326,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:327,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:327,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:328,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:328,1
    - Dst: resize
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:330,1
    - Dst: SM4_Tp
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 335
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 335
    functionName: Botan::SM4::key_schedule
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - load_be<uint32_t>
    - SM4_Tp
    - resize
    linkageType: ''
    returnType: void
    signature: void SM4::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: Botan::SM4::clear
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void SM4::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:343,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 355
    functionName: Botan::SM4::parallelism
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: size_t
    signature: size_t SM4::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:359,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 371
    functionName: Botan::SM4::provider
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string SM4::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:21,1
    - Dst: vqtbl1q_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:21,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:21,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::qswap_32
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
    functionUses: 0
    functionsReached:
    - vqtbl1q_u8
    - vreinterpretq_u8_u32
    - vld1q_u8
    - vreinterpretq_u32_u8
    linkageType: ''
    returnType: uint32x4_t
    signature: uint32x4_t qswap_32(uint32x4_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:25,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:25,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::bswap_32
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
    functionUses: 0
    functionsReached:
    - vrev32q_u8
    - vreinterpretq_u8_u32
    - vreinterpretq_u32_u8
    linkageType: ''
    returnType: uint32x4_t
    signature: uint32x4_t bswap_32(uint32x4_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:33,1
    - Dst: vqtbl1q_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:33,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:33,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::bqswap_32
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
    functionUses: 0
    functionsReached:
    - vqtbl1q_u8
    - vreinterpretq_u8_u32
    - vld1q_u8
    - vreinterpretq_u32_u8
    linkageType: ''
    returnType: uint32x4_t
    signature: uint32x4_t bqswap_32(uint32x4_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:37,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:38,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:39,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - K
    argTypes:
    - uint32x4_t
    - uint32x4_t
    - uint32x4_t
    - uint32x4_t
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: Botan::BOTAN_FN_ISA_SM4::SM4_E
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
    functionUses: 0
    functionsReached:
    - vsm4eq_u32
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SM4 SM4_E(uint32x4_t& B0, uint32x4_t& B1, uint32x4_t&
      B2, uint32x4_t& B3, uint32x4_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:46,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:47,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:48,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:49,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:50,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:51,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:52,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:53,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:59,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:59,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:60,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:60,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:61,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:61,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:62,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:62,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:64,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:65,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:66,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:67,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:68,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:69,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:70,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:71,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:73,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:73,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:74,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:74,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:75,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:75,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:76,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:76,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:84,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:84,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:86,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:87,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:88,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:89,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:90,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:91,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:92,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:93,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:95,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 3
    argNames:
    - input8
    - output8
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 100
    functionName: Botan::BOTAN_FN_ISA_SM4::sm4_armv8_encrypt
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
    functionUses: 0
    functionsReached:
    - vsm4eq_u32
    - bqswap_32
    - bswap_32
    - Botan::BOTAN_FN_ISA_SM4::SM4_E
    - vld1q_u32
    - vst1q_u32
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SM4 SM4::sm4_armv8_encrypt(const uint8_t input8[],
      uint8_t output8[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:103,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:103,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:104,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:104,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:105,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:105,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:106,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:106,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:107,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:107,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:108,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:108,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:109,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:109,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:110,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:110,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:116,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:116,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:117,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:117,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:118,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:118,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:119,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:119,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:121,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:122,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:123,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:124,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:125,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:126,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:127,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:128,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:130,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:130,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:131,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:131,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:132,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:132,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:133,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:133,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:141,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:141,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:143,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:144,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:145,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:146,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:147,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:148,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:149,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:150,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:152,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 3
    argNames:
    - input8
    - output8
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 157
    functionName: Botan::BOTAN_FN_ISA_SM4::sm4_armv8_decrypt
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
    functionUses: 0
    functionsReached:
    - vsm4eq_u32
    - bqswap_32
    - bswap_32
    - Botan::BOTAN_FN_ISA_SM4::SM4_E
    - qswap_32
    - vld1q_u32
    - vst1q_u32
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SM4 SM4::sm4_armv8_decrypt(const uint8_t input8[],
      uint8_t output8[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:18,1
    - Dst: _mm256_sm4rnds4_epi32
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:18,1
    - Dst: raw
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:18,1
    - Dst: raw
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' b'
    - ' k'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::sm4_x86_rnds4
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm256_sm4rnds4_epi32
    - raw
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sm4_x86_rnds4(const SIMD_8x32& b, const SIMD_8x32&
      k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:24,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:27,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:28,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - inp
    - RK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: Botan::sm4_x86_encrypt_x2
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - Botan::sm4_x86_rnds4
    - auto::reverse
    - Botan::SIMD_8x32::load_be
    - Botan::SIMD_8x32::load_le128
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sm4_x86_encrypt_x2(uint8_t out[2 * 16],\n                                                                 const
      uint8_t inp[2 * 16],\n                                                                 std::span<const
      uint32_t> RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:37,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:38,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:39,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:40,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:43,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:44,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:45,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:46,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:47,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:50,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:51,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:52,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - out
    - inp
    - RK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: Botan::sm4_x86_encrypt_x8
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - Botan::sm4_x86_rnds4
    - auto::reverse
    - Botan::SIMD_8x32::load_be
    - Botan::SIMD_8x32::load_le128
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sm4_x86_encrypt_x8(uint8_t out[8 * 16],\n                                                                 const
      uint8_t inp[8 * 16],\n                                                                 std::span<const
      uint32_t> RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:59,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:62,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:63,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - inp
    - RK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: Botan::sm4_x86_decrypt_x2
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - Botan::sm4_x86_rnds4
    - auto::reverse
    - Botan::SIMD_8x32::load_be
    - Botan::SIMD_8x32::load_le128
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sm4_x86_decrypt_x2(uint8_t out[2 * 16],\n                                                                 const
      uint8_t inp[2 * 16],\n                                                                 std::span<const
      uint32_t> RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:72,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:73,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:74,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:75,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:78,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:79,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:80,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:81,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:82,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:85,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:86,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:87,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - out
    - inp
    - RK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: Botan::sm4_x86_decrypt_x8
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - Botan::sm4_x86_rnds4
    - auto::reverse
    - Botan::SIMD_8x32::load_be
    - Botan::SIMD_8x32::load_le128
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sm4_x86_decrypt_x8(uint8_t out[8 * 16],\n                                                                 const
      uint8_t inp[8 * 16],\n                                                                 std::span<const
      uint32_t> RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_x86_encrypt_x8
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:95,1
    - Dst: sm4_x86_encrypt_x2
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:102,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:111,1
    - Dst: sm4_x86_encrypt_x2
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:112,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - inp
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 115
    functionName: Botan::BOTAN_FN_ISA_AVX2_SM4::sm4_x86_encrypt
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - sm4_x86_encrypt_x8
    - copy_mem
    - sm4_x86_encrypt_x2
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2_SM4 SM4::sm4_x86_encrypt(const uint8_t inp[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_x86_decrypt_x8
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:119,1
    - Dst: sm4_x86_decrypt_x2
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:126,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:135,1
    - Dst: sm4_x86_decrypt_x2
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:136,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - inp
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 139
    functionName: Botan::BOTAN_FN_ISA_AVX2_SM4::sm4_x86_decrypt
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - sm4_x86_decrypt_x2
    - copy_mem
    - sm4_x86_decrypt_x8
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2_SM4 SM4::sm4_x86_decrypt(const uint8_t inp[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::gf2p8affine
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:47,1
    - Dst: Botan::gf2p8affineinv
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 49
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 49
    functionName: Botan::sm4_sbox
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp
    functionUses: 0
    functionsReached:
    - Botan::gf2p8affine
    - Botan::gf2p8affineinv
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sm4_sbox(const SIMD_8x32& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sm4_sbox
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:52,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:53,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:53,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:53,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Botan::sm4_f
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp
    functionUses: 0
    functionsReached:
    - Botan::sm4_sbox
    - SIMD_8x32::rotl
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sm4_f(const SIMD_8x32& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:59,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:60,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:61,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:62,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:64,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:66,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:67,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:68,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:69,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:72,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:72,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:73,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:73,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:74,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:74,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:75,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:75,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:78,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:80,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:81,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:82,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ptext
    - ctext
    - RK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 84
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 84
    functionName: Botan::sm4_gfni_encrypt_8
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::splat
    - Botan::sm4_f
    - SIMD_8x32::rev_words
    - Botan::SIMD_8x32::transpose
    - Botan::SIMD_8x32::load_be
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sm4_gfni_encrypt_8(const uint8_t ptext[8 * 16],\n
      \                                                                 uint8_t ctext[8
      * 16],\n                                                                  std::span<const
      uint32_t> RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:89,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:90,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:91,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:92,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:94,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:96,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:97,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:98,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:99,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:102,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:102,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:103,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:103,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:104,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:104,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:105,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:105,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:108,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:110,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:111,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:112,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ctext
    - ptext
    - RK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: Botan::sm4_gfni_decrypt_8
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::splat
    - Botan::sm4_f
    - SIMD_8x32::rev_words
    - Botan::SIMD_8x32::transpose
    - Botan::SIMD_8x32::load_be
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sm4_gfni_decrypt_8(const uint8_t ctext[8 * 16],\n
      \                                                                 uint8_t ptext[8
      * 16],\n                                                                  std::span<const
      uint32_t> RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_gfni_encrypt_8
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:120,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:129,1
    - Dst: sm4_gfni_encrypt_8
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:130,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ptext
    - ctext
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: Botan::BOTAN_FN_ISA_AVX2_GFNI::sm4_gfni_encrypt
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - sm4_gfni_encrypt_8
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2_GFNI SM4::sm4_gfni_encrypt(const uint8_t ptext[],
      uint8_t ctext[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_gfni_decrypt_8
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:137,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:146,1
    - Dst: sm4_gfni_decrypt_8
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:147,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctext
    - ptext
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: Botan::BOTAN_FN_ISA_AVX2_GFNI::sm4_gfni_decrypt
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp
    functionUses: 0
    functionsReached:
    - sm4_gfni_decrypt_8
    - copy_mem
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2_GFNI SM4::sm4_gfni_decrypt(const uint8_t ctext[],
      uint8_t ptext[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::IDEA::name
    functionSourceFile: /src/botan/src/lib/block/idea/idea.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IDEA>
      Src: /src/botan/src/lib/block/idea/idea.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::IDEA::new_object
    functionSourceFile: /src/botan/src/lib/block/idea/idea.h
    functionUses: 0
    functionsReached:
    - std::make_unique<IDEA>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CT::Mask<uint16_t>
      Src: /src/botan/src/lib/block/idea/idea.cpp:26,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/block/idea/idea.cpp:26,1
    - Dst: auto::select
      Src: /src/botan/src/lib/block/idea/idea.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: Botan::mul
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 4
    functionsReached:
    - auto::select
    - cryptofuzz_secp256k1_scalar_is_zero
    - CT::Mask<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mul(uint16_t x, uint16_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:53,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: Botan::mul_inv
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - Botan::mul
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mul_inv(uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea.cpp:66,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea.cpp:67,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea.cpp:68,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/idea/idea.cpp:72,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:75,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:78,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:81,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:84,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:93,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:96,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/block/idea/idea.cpp:98,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea.cpp:101,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea.cpp:102,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - K
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint16_t[]
    constantsTouched: []
    func_position:
      end: 104
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 104
    functionName: Botan::idea_op
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_be
    - Botan::CT::poison
    - Botan::CT::unpoison
    - Botan::load_be
    - Botan::mul
    linkageType: ''
    returnType: void
    signature: void idea_op(const uint8_t in[], uint8_t out[], size_t blocks, const
      uint16_t K[52])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/idea/idea.cpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: Botan::IDEA::parallelism
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: size_t
    signature: size_t IDEA::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/idea/idea.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: Botan::IDEA::provider
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string IDEA::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/idea/idea.cpp:132,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/idea/idea.cpp:135,1
    - Dst: Botan::IDEA::sse2_idea_op_8
      Src: /src/botan/src/lib/block/idea/idea.cpp:137,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:137,1
    - Dst: idea_op
      Src: /src/botan/src/lib/block/idea/idea.cpp:145,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: Botan::IDEA::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - idea_op
    - data
    - Botan::IDEA::sse2_idea_op_8
    linkageType: ''
    returnType: void
    signature: void IDEA::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/idea/idea.cpp:152,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/idea/idea.cpp:155,1
    - Dst: Botan::IDEA::sse2_idea_op_8
      Src: /src/botan/src/lib/block/idea/idea.cpp:157,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:157,1
    - Dst: idea_op
      Src: /src/botan/src/lib/block/idea/idea.cpp:165,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: Botan::IDEA::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - idea_op
    - data
    - Botan::IDEA::sse2_idea_op_8
    linkageType: ''
    returnType: void
    signature: void IDEA::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/idea/idea.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::IDEA::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool IDEA::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/idea/idea.cpp:176,1
    - Dst: resize
      Src: /src/botan/src/lib/block/idea/idea.cpp:177,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea.cpp:179,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/idea/idea.cpp:179,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea.cpp:180,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:180,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea.cpp:181,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:181,1
    - Dst: load_be<uint64_t>
      Src: /src/botan/src/lib/block/idea/idea.cpp:185,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/idea/idea.cpp:185,1
    - Dst: load_be<uint64_t>
      Src: /src/botan/src/lib/block/idea/idea.cpp:186,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/idea/idea.cpp:186,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/block/idea/idea.cpp:190,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/block/idea/idea.cpp:201,1
    - Dst: mul_inv
      Src: /src/botan/src/lib/block/idea/idea.cpp:204,1
    - Dst: mul_inv
      Src: /src/botan/src/lib/block/idea/idea.cpp:207,1
    - Dst: mul_inv
      Src: /src/botan/src/lib/block/idea/idea.cpp:212,1
    - Dst: mul_inv
      Src: /src/botan/src/lib/block/idea/idea.cpp:215,1
    - Dst: std::swap
      Src: /src/botan/src/lib/block/idea/idea.cpp:218,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea.cpp:220,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/idea/idea.cpp:220,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea.cpp:221,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:221,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea.cpp:222,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 223
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 223
    functionName: Botan::IDEA::key_schedule
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - data
    - load_be<uint64_t>
    - std::swap
    - Botan::CT::poison
    - mul_inv
    - static_cast<uint16_t>
    - std::span<const uint8_t>::data
    - resize
    linkageType: ''
    returnType: void
    signature: void IDEA::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/idea/idea.cpp:226,1
    - Dst: zap
      Src: /src/botan/src/lib/block/idea/idea.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: Botan::IDEA::clear
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void IDEA::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:19,1
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:20,1
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:22,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:24,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:25,1
    - Dst: _mm_mullo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:27,1
    - Dst: _mm_mulhi_epu16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:28,1
    - Dst: _mm_sub_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:30,1
    - Dst: _mm_subs_epu16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:33,1
    - Dst: _mm_min_epu8
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:34,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:34,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:34,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:36,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:45,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:45,1
    - Dst: _mm_and_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:45,1
    - Dst: _mm_sub_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:45,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:47,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:47,1
    - Dst: _mm_and_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:47,1
    - Dst: _mm_sub_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - X
    - K_16
    argTypes:
    - __m128i
    - uint16_t
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: Botan::mul
    functionSourceFile: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp
    functionUses: 6
    functionsReached:
    - _mm_cmpeq_epi16
    - _mm_mulhi_epu16
    - _mm_srli_epi16
    - _mm_and_si128
    - _mm_or_si128
    - _mm_andnot_si128
    - _mm_subs_epu16
    - _mm_add_epi16
    - _mm_set1_epi16
    - _mm_mullo_epi16
    - _mm_sub_epi16
    - _mm_min_epu8
    linkageType: ''
    returnType: BOTAN_FN_ISA_SSE2
    signature: BOTAN_FN_ISA_SSE2 mul(__m128i X, uint16_t K_16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:61,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:62,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:63,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:64,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:66,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:67,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:68,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:69,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:71,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:71,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:72,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:72,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:73,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:73,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:74,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:74,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:76,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:76,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:77,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:77,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:78,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:78,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:79,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:79,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:81,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:81,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:82,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:82,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:83,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:83,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:84,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:84,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:86,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:87,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:88,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 90
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 90
    functionName: Botan::transpose_in
    functionSourceFile: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp
    functionUses: 0
    functionsReached:
    - _mm_shufflehi_epi16
    - _MM_SHUFFLE
    - _mm_unpacklo_epi32
    - _mm_unpacklo_epi64
    - _mm_unpackhi_epi32
    - _mm_shufflelo_epi16
    - _mm_unpackhi_epi64
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_SSE2
    signature: BOTAN_FN_ISA_SSE2 transpose_in(__m128i& B0, __m128i& B1, __m128i& B2,
      __m128i& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:96,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:97,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:98,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:99,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:101,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:101,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:102,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:102,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:103,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:103,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:104,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:104,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:106,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:106,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:107,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:107,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:108,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:108,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:109,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:109,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:111,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:111,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:112,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:112,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:113,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:113,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:114,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:114,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:116,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:117,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:118,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: Botan::transpose_out
    functionSourceFile: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp
    functionUses: 0
    functionsReached:
    - _mm_shufflehi_epi16
    - _MM_SHUFFLE
    - _mm_unpacklo_epi32
    - _mm_unpacklo_epi64
    - _mm_unpackhi_epi32
    - _mm_unpackhi_epi64
    - _mm_shufflelo_epi16
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_SSE2
    signature: BOTAN_FN_ISA_SSE2 transpose_out(__m128i& B0, __m128i& B1, __m128i&
      B2, __m128i& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:128,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:129,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:130,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:132,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:134,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:135,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:136,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:137,1
    - Dst: transpose_in
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:139,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:142,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:142,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:142,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:143,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:143,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:143,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:144,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:144,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:144,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:145,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:145,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:145,1
    - Dst: mul
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:148,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:149,1
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:149,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:150,1
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:150,1
    - Dst: mul
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:151,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:154,1
    - Dst: mul
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:155,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:159,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:160,1
    - Dst: mul
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:161,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:163,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:165,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:166,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:167,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:168,1
    - Dst: mul
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:171,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:172,1
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:172,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:173,1
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:173,1
    - Dst: mul
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:174,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:177,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:177,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:177,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:178,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:178,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:178,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:179,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:179,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:179,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:180,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:180,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:180,1
    - Dst: transpose_out
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:182,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:184,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:186,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:187,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:188,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:189,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:191,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:192,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 3
    argNames:
    - in
    - out
    - EK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint16_t[]
    constantsTouched: []
    func_position:
      end: 194
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 194
    functionName: Botan::IDEA::sse2_idea_op_8
    functionSourceFile: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp
    functionUses: 2
    functionsReached:
    - _mm_slli_epi16
    - _mm_srli_epi16
    - mul
    - _mm_or_si128
    - _mm_xor_si128
    - Botan::CT::poison
    - reinterpret_cast<const __m128i*>
    - _mm_add_epi16
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_set1_epi16
    - transpose_out
    - transpose_in
    - reinterpret_cast<__m128i*>
    - Botan::CT::unpoison
    linkageType: ''
    returnType: BOTAN_FN_ISA_SSE2
    signature: BOTAN_FN_ISA_SSE2 IDEA::sse2_idea_op_8(const uint8_t in[64], uint8_t
      out[64], const uint16_t EK[52])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::ARIA_128::name
    functionSourceFile: /src/botan/src/lib/block/aria/aria.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ARIA_128>
      Src: /src/botan/src/lib/block/aria/aria.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::ARIA_128::new_object
    functionSourceFile: /src/botan/src/lib/block/aria/aria.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ARIA_128>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::ARIA_192::name
    functionSourceFile: /src/botan/src/lib/block/aria/aria.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ARIA_192>
      Src: /src/botan/src/lib/block/aria/aria.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::ARIA_192::new_object
    functionSourceFile: /src/botan/src/lib/block/aria/aria.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ARIA_192>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Botan::ARIA_256::name
    functionSourceFile: /src/botan/src/lib/block/aria/aria.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ARIA_256>
      Src: /src/botan/src/lib/block/aria/aria.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan::ARIA_256::new_object
    functionSourceFile: /src/botan/src/lib/block/aria/aria.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ARIA_256>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:102,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:102,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:102,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: Botan::ARIA_F::ARIA_F1
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<3>
    - get_byte<1>
    - get_byte<2>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ARIA_F1(uint32_t X)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:111,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:111,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:111,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: Botan::ARIA_F::ARIA_F2
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<3>
    - get_byte<1>
    - get_byte<2>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ARIA_F2(uint32_t X)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ARIA_F::ARIA_F1
      Src: /src/botan/src/lib/block/aria/aria.cpp:115,1
    - Dst: Botan::ARIA_F::ARIA_F1
      Src: /src/botan/src/lib/block/aria/aria.cpp:116,1
    - Dst: Botan::ARIA_F::ARIA_F1
      Src: /src/botan/src/lib/block/aria/aria.cpp:117,1
    - Dst: Botan::ARIA_F::ARIA_F1
      Src: /src/botan/src/lib/block/aria/aria.cpp:118,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:128,1
    - Dst: reverse_bytes
      Src: /src/botan/src/lib/block/aria/aria.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 4
    argNames:
    - ' T0'
    - ' T1'
    - ' T2'
    - ' T3'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 137
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 137
    functionName: Botan::ARIA_F::ARIA_FO
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - reverse_bytes
    - Botan::ARIA_F::ARIA_F1
    - rotr<16>
    linkageType: ''
    returnType: void
    signature: void ARIA_FO(uint32_t& T0, uint32_t& T1, uint32_t& T2, uint32_t& T3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ARIA_F::ARIA_F2
      Src: /src/botan/src/lib/block/aria/aria.cpp:140,1
    - Dst: Botan::ARIA_F::ARIA_F2
      Src: /src/botan/src/lib/block/aria/aria.cpp:141,1
    - Dst: Botan::ARIA_F::ARIA_F2
      Src: /src/botan/src/lib/block/aria/aria.cpp:142,1
    - Dst: Botan::ARIA_F::ARIA_F2
      Src: /src/botan/src/lib/block/aria/aria.cpp:143,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:153,1
    - Dst: reverse_bytes
      Src: /src/botan/src/lib/block/aria/aria.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 4
    argNames:
    - ' T0'
    - ' T1'
    - ' T2'
    - ' T3'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: Botan::ARIA_F::ARIA_FE
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - reverse_bytes
    - Botan::ARIA_F::ARIA_F2
    - rotr<16>
    linkageType: ''
    returnType: void
    signature: void ARIA_FE(uint32_t& T0, uint32_t& T1, uint32_t& T2, uint32_t& T3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_arrays
      Src: /src/botan/src/lib/block/aria/aria.cpp:168,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/aria/aria.cpp:174,1
    - Dst: Botan::ARIA_F::ARIA_FO
      Src: /src/botan/src/lib/block/aria/aria.cpp:181,1
    - Dst: Botan::ARIA_F::ARIA_FE
      Src: /src/botan/src/lib/block/aria/aria.cpp:189,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:193,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:193,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:194,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:194,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:195,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:195,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:196,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:196,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:197,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:197,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:198,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:198,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:199,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:199,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:200,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:200,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:201,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:201,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:202,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:202,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:203,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:203,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:204,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:204,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:205,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:205,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:206,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:206,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:207,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:207,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:208,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - ' KS'
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 210
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 210
    functionName: Botan::ARIA_F::transform
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - get_byte<3>
    - load_be
    - prefetch_arrays
    - Botan::ARIA_F::ARIA_FO
    - get_byte<2>
    - get_byte<1>
    - get_byte<0>
    - Botan::ARIA_F::ARIA_FE
    linkageType: ''
    returnType: void
    signature: void transform(const uint8_t in[], uint8_t out[], size_t blocks, const
      secure_vector<uint32_t>& KS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - X
    - Y
    - KS
    argTypes:
    - uint32_t[]
    - uint32_t[]
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: Botan::ARIA_F::ARIA_ROL128
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ARIA_ROL128(const uint32_t X[4], const uint32_t Y[4], uint32_t
      KS[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotr<8>
      Src: /src/botan/src/lib/block/aria/aria.cpp:226,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:226,1
    - Dst: rotr<24>
      Src: /src/botan/src/lib/block/aria/aria.cpp:226,1
    - Dst: rotr<8>
      Src: /src/botan/src/lib/block/aria/aria.cpp:227,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:227,1
    - Dst: rotr<24>
      Src: /src/botan/src/lib/block/aria/aria.cpp:227,1
    - Dst: rotr<8>
      Src: /src/botan/src/lib/block/aria/aria.cpp:228,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:228,1
    - Dst: rotr<24>
      Src: /src/botan/src/lib/block/aria/aria.cpp:228,1
    - Dst: rotr<8>
      Src: /src/botan/src/lib/block/aria/aria.cpp:229,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:229,1
    - Dst: rotr<24>
      Src: /src/botan/src/lib/block/aria/aria.cpp:229,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:239,1
    - Dst: reverse_bytes
      Src: /src/botan/src/lib/block/aria/aria.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 4
    argNames:
    - ' K0'
    - ' K1'
    - ' K2'
    - ' K3'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 248
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 248
    functionName: Botan::ARIA_F::aria_ks_dk_transform
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - reverse_bytes
    - rotr<16>
    - rotr<24>
    - rotr<8>
    linkageType: ''
    returnType: void
    signature: void aria_ks_dk_transform(uint32_t& K0, uint32_t& K1, uint32_t& K2,
      uint32_t& K3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:267,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:267,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:268,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:268,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:269,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:269,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:270,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:270,1
    - Dst: Botan::ARIA_F::ARIA_FO
      Src: /src/botan/src/lib/block/aria/aria.cpp:277,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:279,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:279,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:280,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:280,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:281,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:281,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:283,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:284,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:284,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:285,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:285,1
    - Dst: Botan::ARIA_F::ARIA_FE
      Src: /src/botan/src/lib/block/aria/aria.cpp:293,1
    - Dst: Botan::ARIA_F::ARIA_FO
      Src: /src/botan/src/lib/block/aria/aria.cpp:305,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:312,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aria/aria.cpp:313,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:314,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aria/aria.cpp:315,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:316,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aria/aria.cpp:317,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:320,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:321,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:322,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:323,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:324,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:325,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:326,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:327,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:328,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:329,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:330,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:331,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:332,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:334,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:334,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:335,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:336,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:338,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:339,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:340,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aria/aria.cpp:345,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:345,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:347,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:348,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:349,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:350,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:351,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:354,1
    - Dst: Botan::ARIA_F::aria_ks_dk_transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:355,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 76
    argCount: 3
    argNames:
    - ' ERK'
    - ' DRK'
    - key
    argTypes:
    - secure_vector<uint32_t>
    - secure_vector<uint32_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 357
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 357
    functionName: Botan::ARIA_F::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::aria_ks_dk_transform
    - Botan::ARIA_F::ARIA_FO
    - Botan::ARIA_F::ARIA_ROL128
    - std::span<const uint8_t>::size
    - size
    - std::span<const uint8_t>::data
    - load_be<uint32_t>
    - resize
    - Botan::ARIA_F::ARIA_FE
    linkageType: ''
    returnType: void
    signature: void key_schedule(secure_vector<uint32_t>& ERK, secure_vector<uint32_t>&
      DRK, std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aria/aria.cpp:364,1
    - Dst: Botan::ARIA_F::transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: Botan::ARIA_128::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::ARIA_F::transform
    linkageType: ''
    returnType: void
    signature: void ARIA_128::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aria/aria.cpp:369,1
    - Dst: Botan::ARIA_F::transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: Botan::ARIA_192::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::ARIA_F::transform
    linkageType: ''
    returnType: void
    signature: void ARIA_192::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aria/aria.cpp:374,1
    - Dst: Botan::ARIA_F::transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: Botan::ARIA_256::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::ARIA_F::transform
    linkageType: ''
    returnType: void
    signature: void ARIA_256::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aria/aria.cpp:379,1
    - Dst: Botan::ARIA_F::transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: Botan::ARIA_128::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::ARIA_F::transform
    linkageType: ''
    returnType: void
    signature: void ARIA_128::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aria/aria.cpp:384,1
    - Dst: Botan::ARIA_F::transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: Botan::ARIA_192::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::ARIA_F::transform
    linkageType: ''
    returnType: void
    signature: void ARIA_192::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aria/aria.cpp:389,1
    - Dst: Botan::ARIA_F::transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: Botan::ARIA_256::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::ARIA_F::transform
    linkageType: ''
    returnType: void
    signature: void ARIA_256::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/aria/aria.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: Botan::ARIA_128::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ARIA_128::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/aria/aria.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: Botan::ARIA_192::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ARIA_192::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/aria/aria.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: Botan::ARIA_256::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ARIA_256::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ARIA_F::key_schedule
      Src: /src/botan/src/lib/block/aria/aria.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: Botan::ARIA_128::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::key_schedule
    linkageType: ''
    returnType: void
    signature: void ARIA_128::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ARIA_F::key_schedule
      Src: /src/botan/src/lib/block/aria/aria.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: Botan::ARIA_192::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::key_schedule
    linkageType: ''
    returnType: void
    signature: void ARIA_192::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ARIA_F::key_schedule
      Src: /src/botan/src/lib/block/aria/aria.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: Botan::ARIA_256::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::key_schedule
    linkageType: ''
    returnType: void
    signature: void ARIA_256::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/aria/aria.cpp:418,1
    - Dst: zap
      Src: /src/botan/src/lib/block/aria/aria.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: Botan::ARIA_128::clear
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void ARIA_128::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/aria/aria.cpp:423,1
    - Dst: zap
      Src: /src/botan/src/lib/block/aria/aria.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: Botan::ARIA_192::clear
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void ARIA_192::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/aria/aria.cpp:428,1
    - Dst: zap
      Src: /src/botan/src/lib/block/aria/aria.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: Botan::ARIA_256::clear
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void ARIA_256::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::Twofish::name
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Twofish>
      Src: /src/botan/src/lib/block/twofish/twofish.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::Twofish::new_object
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Twofish>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:31,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - A
    - B
    - ' C'
    - ' D'
    - RK1
    - RK2
    - ' SB'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: Botan::TF_E
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    - Botan::rotr
    linkageType: ''
    returnType: void
    signature: "void TF_E(\n   uint32_t A, uint32_t B, uint32_t& C, uint32_t& D, uint32_t
      RK1, uint32_t RK2, const secure_vector<uint32_t>& SB)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:46,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - A
    - B
    - ' C'
    - ' D'
    - RK1
    - RK2
    - ' SB'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: Botan::TF_D
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    - Botan::rotr
    linkageType: ''
    returnType: void
    signature: "void TF_D(\n   uint32_t A, uint32_t B, uint32_t& C, uint32_t& D, uint32_t
      RK1, uint32_t RK2, const secure_vector<uint32_t>& SB)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:56,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:61,1
    - Dst: TF_E
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:73,1
    - Dst: TF_E
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:74,1
    - Dst: TF_E
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:76,1
    - Dst: TF_E
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:77,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:89,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:98,1
    - Dst: TF_E
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:106,1
    - Dst: TF_E
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:107,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 117
    functionName: Botan::Twofish::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - TF_E
    - load_le
    - store_le
    linkageType: ''
    returnType: void
    signature: void Twofish::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:123,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:128,1
    - Dst: TF_D
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:140,1
    - Dst: TF_D
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:141,1
    - Dst: TF_D
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:143,1
    - Dst: TF_D
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:144,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:156,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:165,1
    - Dst: TF_D
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:173,1
    - Dst: TF_D
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:174,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 184
    functionName: Botan::Twofish::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - store_le
    - load_le
    - TF_D
    linkageType: ''
    returnType: void
    signature: void Twofish::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: Botan::Twofish::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Twofish::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:194,1
    - Dst: resize
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:195,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:199,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:218,1
    - Dst: rotl<8>
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:231,1
    - Dst: rotl<9>
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:236,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:238,1
    - Dst: rotl<8>
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:254,1
    - Dst: rotl<9>
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:259,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:261,1
    - Dst: rotl<8>
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:278,1
    - Dst: rotl<9>
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 286
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 286
    functionName: Botan::Twofish::key_schedule
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - resize
    - rotl<8>
    - rotl<9>
    linkageType: ''
    returnType: void
    signature: void Twofish::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:292,1
    - Dst: zap
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: Botan::Twofish::clear
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Twofish::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::Cascade_Cipher::block_size
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/block/cascade/cascade.h:26,1
    - Dst: maximum_keylength
      Src: /src/botan/src/lib/block/cascade/cascade.h:26,1
    - Dst: maximum_keylength
      Src: /src/botan/src/lib/block/cascade/cascade.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::Cascade_Cipher::key_spec
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    - maximum_keylength
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::Cascade_Cipher::Cascade_Cipher
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cascade_Cipher(const Cascade_Cipher&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(const Cascade_Cipher&)'
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cascade_Cipher
    signature: Cascade_Cipher & operator=(const Cascade_Cipher&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cascade_Cipher::encrypt_n
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:20,1
    - Dst: Botan::Cascade_Cipher::encrypt_n
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: Botan::Cascade_Cipher::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cascade_Cipher::encrypt_n
    linkageType: ''
    returnType: void
    signature: void Cascade_Cipher::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cascade_Cipher::decrypt_n
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:28,1
    - Dst: Botan::Cascade_Cipher::decrypt_n
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: Botan::Cascade_Cipher::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cascade_Cipher::decrypt_n
    linkageType: ''
    returnType: void
    signature: void Cascade_Cipher::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:35,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:35,1
    - Dst: maximum_keylength
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:35,1
    - Dst: set_key
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:36,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:36,1
    - Dst: maximum_keylength
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: Botan::Cascade_Cipher::key_schedule
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::take
    - set_key
    - maximum_keylength
    linkageType: ''
    returnType: void
    signature: void Cascade_Cipher::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cascade_Cipher::clear
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:40,1
    - Dst: Botan::Cascade_Cipher::clear
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: Botan::Cascade_Cipher::clear
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cascade_Cipher::clear
    linkageType: ''
    returnType: void
    signature: void Cascade_Cipher::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:45,1
    - Dst: Botan::Cascade_Cipher::name
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:45,1
    - Dst: Botan::Cascade_Cipher::name
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::Cascade_Cipher::name
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::Cascade_Cipher::name
    linkageType: ''
    returnType: std::string
    signature: std::string Cascade_Cipher::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cascade_Cipher::has_keying_material
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:49,1
    - Dst: Botan::Cascade_Cipher::has_keying_material
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::Cascade_Cipher::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cascade_Cipher::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool Cascade_Cipher::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Cascade_Cipher>
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:53,1
    - Dst: Botan::Cascade_Cipher::new_object
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:53,1
    - Dst: Botan::Cascade_Cipher::new_object
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::Cascade_Cipher::new_object
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Cascade_Cipher>
    - Botan::Cascade_Cipher::new_object
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> Cascade_Cipher::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:57,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:58,1
    - Dst: lcm
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:59,1
    - Dst: Botan::Cascade_Cipher::block_size
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:59,1
    - Dst: Botan::Cascade_Cipher::block_size
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:59,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:60,1
    - Dst: Botan::Cascade_Cipher::block_size
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:60,1
    - Dst: Botan::Cascade_Cipher::block_size
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cipher1
    - cipher2
    argTypes:
    - std::unique_ptr<BlockCipher>
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: Botan::Cascade_Cipher::Cascade_Cipher
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - lcm
    - Botan::Cascade_Cipher::block_size
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void Cascade_Cipher::Cascade_Cipher(std::unique_ptr<BlockCipher> cipher1,
      std::unique_ptr<BlockCipher> cipher2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::SHACAL2::name
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHACAL2>
      Src: /src/botan/src/lib/block/shacal2/shacal2.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::SHACAL2::new_object
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHACAL2>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:27,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - A
    - B
    - C
    - ' D'
    - E
    - F
    - G
    - ' H'
    - RK
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: Botan::SHACAL2_Fwd
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - Botan::choose
    - Botan::majority
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Fwd(\n   uint32_t A, uint32_t B, uint32_t C, uint32_t&
      D, uint32_t E, uint32_t F, uint32_t G, uint32_t& H, uint32_t RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:37,1
    - Dst: Botan::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - A
    - B
    - C
    - ' D'
    - E
    - F
    - G
    - ' H'
    - RK
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: Botan::SHACAL2_Rev
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - Botan::majority
    - Botan::choose
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Rev(\n   uint32_t A, uint32_t B, uint32_t C, uint32_t&
      D, uint32_t E, uint32_t F, uint32_t G, uint32_t& H, uint32_t RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:48,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:51,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:60,1
    - Dst: x86_encrypt_blocks
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:61,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:66,1
    - Dst: Botan::SHACAL2::armv8_encrypt_blocks
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:67,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:72,1
    - Dst: avx2_encrypt_8
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:74,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:83,1
    - Dst: Botan::SHACAL2::simd_encrypt_4
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:85,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:104,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:105,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:106,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:107,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:108,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:109,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:110,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:111,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 119
    functionName: Botan::SHACAL2::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::SHACAL2::simd_encrypt_4
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - SHACAL2_Fwd
    - store_be
    - avx2_encrypt_8
    - x86_encrypt_blocks
    - Botan::SHACAL2::armv8_encrypt_blocks
    linkageType: ''
    returnType: void
    signature: void SHACAL2::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:125,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:128,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:137,1
    - Dst: avx2_decrypt_8
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:139,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:148,1
    - Dst: Botan::SHACAL2::simd_decrypt_4
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:150,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:169,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:170,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:171,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:172,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:173,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:174,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:175,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:176,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 184
    functionName: Botan::SHACAL2::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHACAL2::simd_decrypt_4
    - assert_key_material_set
    - SHACAL2_Rev
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - store_be
    - avx2_decrypt_8
    linkageType: ''
    returnType: void
    signature: void SHACAL2::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: Botan::SHACAL2::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool SHACAL2::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:204,1
    - Dst: resize
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:205,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:207,1
    - Dst: data
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:207,1
    - Dst: size
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:207,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:210,1
    - Dst: data
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:210,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:210,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 221
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 221
    functionName: Botan::SHACAL2::key_schedule
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - load_be
    - data
    - empty
    - std::span<const uint8_t>::size
    - size
    - std::span<const uint8_t>::data
    - resize
    linkageType: ''
    returnType: void
    signature: void SHACAL2::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:225,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:231,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:237,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:243,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 255
    functionName: Botan::SHACAL2::parallelism
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: size_t
    signature: size_t SHACAL2::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:259,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:265,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:271,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:277,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 289
    functionName: Botan::SHACAL2::provider
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string SHACAL2::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: Botan::SHACAL2::clear
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void SHACAL2::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:21,1
    - Dst: _mm_set_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:22,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:24,1
    - Dst: data
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:24,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:25,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:26,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:29,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:30,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:31,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:32,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:34,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:34,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:35,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:35,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:38,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:38,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:39,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:39,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:43,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:44,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:45,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:46,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:48,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:49,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:51,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:52,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:54,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:55,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:57,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:58,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:61,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:61,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:61,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:62,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:62,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:62,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:63,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:63,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:63,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:64,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:64,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:64,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:72,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:73,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:75,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:75,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:76,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:76,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:80,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:81,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:82,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:83,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:85,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:86,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:87,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:88,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:91,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:91,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:91,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:92,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:92,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 98
    functionName: Botan::BOTAN_FN_ISA_SHANI::x86_encrypt_blocks
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm_srli_si128
    - data
    - _mm_sha256rnds2_epu32
    - reinterpret_cast<const __m128i*>
    - _mm_loadu_si128
    - _mm_unpacklo_epi64
    - _mm_storeu_si128
    - _mm_set_epi8
    - _mm_shuffle_epi8
    - reinterpret_cast<__m128i*>
    - _mm_unpackhi_epi64
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SHANI SHACAL2::x86_encrypt_blocks(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:44,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:44,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:44,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:45,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:45,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:45,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:46,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:46,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:46,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:47,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:47,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:47,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:48,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:48,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:48,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:49,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:49,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:49,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:50,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:50,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:50,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:51,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:51,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:51,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:53,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:54,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:55,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:56,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:57,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:58,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:59,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:60,1
    - Dst: _mm512_set_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:62,1
    - Dst: _mm512_add_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:63,1
    - Dst: _mm512_set1_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:63,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:64,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:64,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:65,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:65,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:66,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:66,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:67,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:67,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:68,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:68,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:69,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:69,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:70,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:70,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:71,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' B4'
    - ' B5'
    - ' B6'
    - ' B7'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 72
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 72
    functionName: Botan::SHACAL2_AVX512_F::transpose_in
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp
    functionUses: 0
    functionsReached:
    - _mm512_unpackhi_epi32
    - _mm512_add_epi32
    - _mm512_unpackhi_epi64
    - _mm512_set_epi32
    - SIMD_16x32
    - _mm512_unpacklo_epi64
    - _mm512_unpacklo_epi32
    - _mm512_permutex2var_epi32
    - _mm512_set1_epi32
    - raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: "BOTAN_FN_ISA_AVX512 transpose_in(SIMD_16x32& B0,\n                  SIMD_16x32&
      B1,\n                  SIMD_16x32& B2,\n                  SIMD_16x32& B3,\n
      \                 SIMD_16x32& B4,\n                  SIMD_16x32& B5,\n                  SIMD_16x32&
      B6,\n                  SIMD_16x32& B7)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:83,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:83,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:83,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:84,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:84,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:84,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:85,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:85,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:85,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:86,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:86,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:86,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:87,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:87,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:87,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:88,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:88,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:88,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:89,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:89,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:89,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:90,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:90,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:90,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:92,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:93,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:94,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:95,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:96,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:97,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:98,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:99,1
    - Dst: _mm512_set_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:101,1
    - Dst: _mm512_add_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:102,1
    - Dst: _mm512_set1_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:102,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:104,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:105,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:106,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:107,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:108,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:109,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:110,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:111,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:113,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:113,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:114,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:114,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:115,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:115,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:116,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:116,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:117,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:117,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:118,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:118,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:119,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:119,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:120,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' B4'
    - ' B5'
    - ' B6'
    - ' B7'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 121
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 121
    functionName: Botan::SHACAL2_AVX512_F::transpose_out
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp
    functionUses: 0
    functionsReached:
    - _mm512_unpackhi_epi32
    - _mm512_add_epi32
    - _mm512_unpackhi_epi64
    - _mm512_set_epi32
    - SIMD_16x32
    - _mm512_unpacklo_epi64
    - _mm512_unpacklo_epi32
    - _mm512_permutex2var_epi32
    - _mm512_shuffle_i32x4
    - _mm512_set1_epi32
    - raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: "BOTAN_FN_ISA_AVX512 transpose_out(SIMD_16x32& B0,\n                   SIMD_16x32&
      B1,\n                   SIMD_16x32& B2,\n                   SIMD_16x32& B3,\n
      \                  SIMD_16x32& B4,\n                   SIMD_16x32& B5,\n                   SIMD_16x32&
      B6,\n                   SIMD_16x32& B7)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma1
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:133,1
    - Dst: Botan::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:133,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:133,1
    - Dst: sigma0
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:135,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - ' E'
    - ' F'
    - ' G'
    - ' H'
    - RK
    argTypes:
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - uint32_t
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: Botan::SHACAL2_AVX512_F::SHACAL2_Fwd
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp
    functionUses: 0
    functionsReached:
    - sigma1
    - Botan::majority
    - Botan::SIMD_4x32::splat
    - sigma0
    - Botan::choose
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Fwd(const SimdT& A,\n                                                        const
      SimdT& B,\n                                                        const SimdT&
      C,\n                                                        SimdT& D,\n                                                        const
      SimdT& E,\n                                                        const SimdT&
      F,\n                                                        const SimdT& G,\n
      \                                                       SimdT& H,\n                                                        uint32_t
      RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma0
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:148,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:148,1
    - Dst: sigma1
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:150,1
    - Dst: Botan::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:150,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - ' E'
    - ' F'
    - ' G'
    - ' H'
    - RK
    argTypes:
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - uint32_t
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: Botan::SHACAL2_AVX512_F::SHACAL2_Rev
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp
    functionUses: 0
    functionsReached:
    - sigma1
    - Botan::majority
    - Botan::SIMD_4x32::splat
    - sigma0
    - Botan::choose
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Rev(const SimdT& A,\n                                                        const
      SimdT& B,\n                                                        const SimdT&
      C,\n                                                        SimdT& D,\n                                                        const
      SimdT& E,\n                                                        const SimdT&
      F,\n                                                        const SimdT& G,\n
      \                                                       SimdT& H,\n                                                        uint32_t
      RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:163,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:164,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:165,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:166,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:167,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:168,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:169,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:170,1
    - Dst: transpose_in
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:172,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:175,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:176,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:177,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:178,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:179,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:180,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:181,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:182,1
    - Dst: transpose_out
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:185,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:187,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:188,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:189,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:190,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:191,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:192,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:193,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:194,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:203,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:204,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:205,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:206,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:207,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:208,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:209,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:210,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:212,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:215,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:216,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:217,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:218,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:219,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:220,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:221,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:222,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:225,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:227,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:228,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:229,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:230,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:231,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:232,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:233,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 243
    functionName: Botan::BOTAN_FN_ISA_AVX512::avx512_encrypt_blocks
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp
    functionUses: 0
    functionsReached:
    - SHACAL2_Fwd
    - SIMD_8x32::store_be
    - Botan::SIMD_8x32::transpose
    - transpose_out
    - transpose_in
    - Botan::SIMD_8x32::load_be
    - Botan::SIMD_16x32::load_be
    - SIMD_16x32::store_be
    linkageType: ''
    returnType: size_t
    signature: size_t BOTAN_FN_ISA_AVX512 SHACAL2::avx512_encrypt_blocks(const uint8_t
      in[], uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:251,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:252,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:253,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:254,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:255,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:256,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:257,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:258,1
    - Dst: transpose_in
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:260,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:263,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:264,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:265,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:266,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:267,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:268,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:269,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:270,1
    - Dst: transpose_out
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:273,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:275,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:276,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:277,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:278,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:279,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:280,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:281,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:282,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:291,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:292,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:293,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:294,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:295,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:296,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:297,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:298,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:300,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:303,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:304,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:305,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:306,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:307,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:308,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:309,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:310,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:313,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:315,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:316,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:317,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:318,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:319,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:320,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:321,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 331
    functionName: Botan::BOTAN_FN_ISA_AVX512::avx512_decrypt_blocks
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp
    functionUses: 0
    functionsReached:
    - SHACAL2_Rev
    - SIMD_8x32::store_be
    - Botan::SIMD_8x32::transpose
    - transpose_out
    - transpose_in
    - Botan::SIMD_8x32::load_be
    - Botan::SIMD_16x32::load_be
    - SIMD_16x32::store_be
    linkageType: ''
    returnType: size_t
    signature: size_t BOTAN_FN_ISA_AVX512 SHACAL2::avx512_decrypt_blocks(const uint8_t
      in[], uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:24,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:25,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:26,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:27,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:29,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:29,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:29,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:30,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:30,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:30,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:31,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:31,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:31,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:32,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:32,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:32,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:35,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:36,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:38,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:39,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:40,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:41,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:43,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:44,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:45,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:46,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:49,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:49,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:49,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:50,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:50,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:50,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:51,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:51,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:51,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:52,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:52,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:52,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:54,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:55,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:56,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:57,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:65,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:66,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:68,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:68,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:68,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:69,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:69,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:69,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:72,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:73,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:75,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:76,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:78,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:79,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:82,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:82,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:82,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:83,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:83,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:83,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:85,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 92
    functionName: Botan::SHACAL2::armv8_encrypt_blocks
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp
    functionUses: 1
    functionsReached:
    - vrev32q_u8
    - vsha256hq_u32
    - vsha256h2q_u32
    - vreinterpretq_u8_u32
    - vreinterpretq_u32_u8
    - vld1q_u32
    - vst1q_u32
    linkageType: ''
    returnType: BOTAN_FN_ISA_SHA2
    signature: BOTAN_FN_ISA_SHA2 SHACAL2::armv8_encrypt_blocks(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma1
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:26,1
    - Dst: Botan::SIMD_8x32::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:26,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:26,1
    - Dst: sigma0
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:28,1
    - Dst: Botan::SIMD_8x32::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - ' E'
    - ' F'
    - ' G'
    - ' H'
    - RK
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - uint32_t
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: Botan::SHACAL2_AVX2_F::SHACAL2_Fwd
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp
    functionUses: 0
    functionsReached:
    - sigma1
    - Botan::SIMD_8x32::splat
    - Botan::SIMD_8x32::majority
    - sigma0
    - Botan::SIMD_8x32::choose
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Fwd(const SIMD_8x32& A,\n                                                      const
      SIMD_8x32& B,\n                                                      const SIMD_8x32&
      C,\n                                                      SIMD_8x32& D,\n                                                      const
      SIMD_8x32& E,\n                                                      const SIMD_8x32&
      F,\n                                                      const SIMD_8x32& G,\n
      \                                                     SIMD_8x32& H,\n                                                      uint32_t
      RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma0
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:40,1
    - Dst: Botan::SIMD_8x32::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:40,1
    - Dst: sigma1
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:42,1
    - Dst: Botan::SIMD_8x32::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:42,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - ' E'
    - ' F'
    - ' G'
    - ' H'
    - RK
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - uint32_t
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: Botan::SHACAL2_AVX2_F::SHACAL2_Rev
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp
    functionUses: 0
    functionsReached:
    - sigma1
    - Botan::SIMD_8x32::splat
    - Botan::SIMD_8x32::majority
    - sigma0
    - Botan::SIMD_8x32::choose
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Rev(const SIMD_8x32& A,\n                                                      const
      SIMD_8x32& B,\n                                                      const SIMD_8x32&
      C,\n                                                      SIMD_8x32& D,\n                                                      const
      SIMD_8x32& E,\n                                                      const SIMD_8x32&
      F,\n                                                      const SIMD_8x32& G,\n
      \                                                     SIMD_8x32& H,\n                                                      uint32_t
      RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::reset_registers
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:52,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:54,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:55,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:56,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:57,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:59,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:60,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:61,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:62,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:64,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:67,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:68,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:69,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:70,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:71,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:72,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:73,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:74,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:77,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:79,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:80,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:81,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:82,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:84,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:85,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:86,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:87,1
    - Dst: Botan::SIMD_8x32::zero_registers
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 90
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 90
    functionName: Botan::BOTAN_FN_ISA_AVX2::avx2_encrypt_8
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp
    functionUses: 0
    functionsReached:
    - SHACAL2_Fwd
    - Botan::SIMD_8x32::zero_registers
    - SIMD_8x32::store_be
    - Botan::SIMD_8x32::transpose
    - Botan::SIMD_8x32::load_be
    - Botan::SIMD_8x32::reset_registers
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2 SHACAL2::avx2_encrypt_8(const uint8_t in[],
      uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::reset_registers
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:95,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:97,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:98,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:99,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:100,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:102,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:103,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:104,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:105,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:107,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:110,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:111,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:112,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:113,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:114,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:115,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:116,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:117,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:120,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:122,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:123,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:124,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:125,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:127,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:128,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:129,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:130,1
    - Dst: Botan::SIMD_8x32::zero_registers
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 133
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 133
    functionName: Botan::BOTAN_FN_ISA_AVX2::avx2_decrypt_8
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp
    functionUses: 0
    functionsReached:
    - SHACAL2_Rev
    - Botan::SIMD_8x32::zero_registers
    - SIMD_8x32::store_be
    - Botan::SIMD_8x32::transpose
    - Botan::SIMD_8x32::load_be
    - Botan::SIMD_8x32::reset_registers
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2 SHACAL2::avx2_decrypt_8(const uint8_t in[],
      uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma1
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:25,1
    - Dst: Botan::SIMD_4x32::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:25,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:25,1
    - Dst: sigma0
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:27,1
    - Dst: Botan::SIMD_4x32::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - ' E'
    - ' F'
    - ' G'
    - ' H'
    - RK
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - uint32_t
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: Botan::SHACAL2_Fwd
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp
    functionUses: 0
    functionsReached:
    - sigma1
    - Botan::SIMD_4x32::splat
    - sigma0
    - Botan::SIMD_4x32::choose
    - Botan::SIMD_4x32::majority
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Fwd(const SIMD_4x32& A,\n                        const
      SIMD_4x32& B,\n                        const SIMD_4x32& C,\n                        SIMD_4x32&
      D,\n                        const SIMD_4x32& E,\n                        const
      SIMD_4x32& F,\n                        const SIMD_4x32& G,\n                        SIMD_4x32&
      H,\n                        uint32_t RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma0
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:39,1
    - Dst: Botan::SIMD_4x32::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:39,1
    - Dst: sigma1
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:41,1
    - Dst: Botan::SIMD_4x32::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:41,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - ' E'
    - ' F'
    - ' G'
    - ' H'
    - RK
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - uint32_t
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: Botan::SHACAL2_Rev
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp
    functionUses: 0
    functionsReached:
    - sigma1
    - Botan::SIMD_4x32::splat
    - sigma0
    - Botan::SIMD_4x32::choose
    - Botan::SIMD_4x32::majority
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Rev(const SIMD_4x32& A,\n                        const
      SIMD_4x32& B,\n                        const SIMD_4x32& C,\n                        SIMD_4x32&
      D,\n                        const SIMD_4x32& E,\n                        const
      SIMD_4x32& F,\n                        const SIMD_4x32& G,\n                        SIMD_4x32&
      H,\n                        uint32_t RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:47,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:48,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:49,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:50,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:52,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:53,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:54,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:55,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:57,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:58,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:61,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:62,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:63,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:64,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:65,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:66,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:67,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:68,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:71,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:72,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:74,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:75,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:76,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:77,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:79,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:80,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:81,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 83
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 83
    functionName: Botan::SHACAL2::simd_encrypt_4
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp
    functionUses: 1
    functionsReached:
    - SIMD_4x32::store_be
    - Botan::SIMD_4x32::transpose
    - Botan::SIMD_4x32::load_be
    - SHACAL2_Fwd
    linkageType: ''
    returnType: void
    signature: void SHACAL2::simd_encrypt_4(const uint8_t in[], uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:86,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:87,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:88,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:89,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:91,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:92,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:93,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:94,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:96,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:97,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:100,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:101,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:102,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:103,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:104,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:105,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:106,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:107,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:110,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:111,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:113,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:114,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:115,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:116,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:118,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:119,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:120,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 122
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 122
    functionName: Botan::SHACAL2::simd_decrypt_4
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp
    functionUses: 1
    functionsReached:
    - SHACAL2_Rev
    - Botan::SIMD_4x32::transpose
    - Botan::SIMD_4x32::load_be
    - SIMD_4x32::store_be
    linkageType: ''
    returnType: void
    signature: void SHACAL2::simd_decrypt_4(const uint8_t in[], uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::Kuznyechik::name
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Kuznyechik>
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Kuznyechik::new_object
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Kuznyechik>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t poly_mul(uint8_t x, uint8_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t poly_mul(uint64_t x, uint8_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:98,1
    - Dst: std::array::begin
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:98,1
    - Dst: std::array::end
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:98,1
    - Dst: Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:106,1
    - Dst: sqr_matrix
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - forward
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 118
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 118
    functionName: Botan::Kuznyechik_F::Kuznyechik_T::L_table
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - sqr_matrix
    - std::array::end
    - Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
    - std::array::begin
    linkageType: ''
    returnType: std::array<uint8_t, 256>
    signature: std::array<uint8_t, 256> L_table(bool forward)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:129,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:130,1
    - Dst: Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:135,1
    - Dst: Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - L
    - forward
    argTypes:
    - std::span<const uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 141
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 141
    functionName: Botan::Kuznyechik_F::Kuznyechik_T::T_table
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
    linkageType: ''
    returnType: std::array<uint64_t, 16 * 256 * 2>
    signature: std::array<uint64_t, 16 * 256 * 2> T_table(std::span<const uint8_t>
      L, bool forward)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' x1'
    - ' x2'
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: Botan::Kuznyechik_F::LS
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LS(uint64_t& x1, uint64_t& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' x1'
    - ' x2'
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: Botan::Kuznyechik_F::ILS
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ILS(uint64_t& x1, uint64_t& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' x1'
    - ' x2'
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: Botan::Kuznyechik_F::ILSS
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ILSS(uint64_t& x1, uint64_t& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte_var
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: Botan::Kuznyechik_F::ISI
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - get_byte_var
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ISI(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:221,1
    - Dst: zap
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: Botan::Kuznyechik::clear
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Kuznyechik::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: Botan::Kuznyechik::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Kuznyechik::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:232,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:232,1
    - Dst: resize
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:239,1
    - Dst: LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:254,1
    - Dst: LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:262,1
    - Dst: resize
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:273,1
    - Dst: Botan::Kuznyechik_F::ILSS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 288
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 288
    functionName: Botan::Kuznyechik::key_schedule
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - Botan::Kuznyechik_F::ILSS
    - resize
    - LS
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Kuznyechik::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:291,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:298,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:302,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:306,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:310,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:314,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:318,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:322,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:326,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:330,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 341
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 341
    functionName: Botan::Kuznyechik::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - store_le
    - Botan::Kuznyechik_F::LS
    linkageType: ''
    returnType: void
    signature: void Kuznyechik::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:344,1
    - Dst: Botan::Kuznyechik_F::ILSS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:349,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:353,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:357,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:361,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:365,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:369,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:373,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:377,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:381,1
    - Dst: Botan::Kuznyechik_F::ISI
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:385,1
    - Dst: Botan::Kuznyechik_F::ISI
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:386,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 397
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 397
    functionName: Botan::Kuznyechik::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - store_le
    - Botan::Kuznyechik_F::ISI
    - Botan::Kuznyechik_F::ILS
    - Botan::Kuznyechik_F::ILSS
    linkageType: ''
    returnType: void
    signature: void Kuznyechik::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - X
    - ' S'
    argTypes:
    - uint32_t
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: Botan::BFF
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t BFF(uint32_t X, const secure_vector<uint32_t>& S)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:157,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:161,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:168,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:169,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:170,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:171,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:177,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:178,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:179,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:180,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:192,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:201,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:205,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:208,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 220
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 220
    functionName: Botan::Blowfish::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 0
    functionsReached:
    - BFF
    - assert_key_material_set
    - store_be
    - load_be
    linkageType: ''
    returnType: void
    signature: void Blowfish::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:226,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:230,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:237,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:238,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:239,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:240,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:247,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:248,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:249,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:250,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:262,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:271,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:275,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:278,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 290
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 290
    functionName: Botan::Blowfish::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 0
    functionsReached:
    - BFF
    - assert_key_material_set
    - store_be
    - load_be
    linkageType: ''
    returnType: void
    signature: void Blowfish::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: Botan::Blowfish::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Blowfish::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:300,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:301,1
    - Dst: data
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:301,1
    - Dst: resize
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:303,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:304,1
    - Dst: data
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:304,1
    - Dst: Botan::Blowfish::key_expansion
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:306,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:306,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: Botan::Blowfish::key_schedule
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 0
    functionsReached:
    - Botan::Blowfish::key_expansion
    - data
    - copy_mem
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - resize
    linkageType: ''
    returnType: void
    signature: void Blowfish::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:310,1
    - Dst: make_uint32
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:313,1
    - Dst: Botan::Blowfish::generate_sbox
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:319,1
    - Dst: Botan::Blowfish::generate_sbox
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - key
    - length
    - salt
    - salt_length
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: Botan::Blowfish::key_expansion
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 1
    functionsReached:
    - Botan::Blowfish::generate_sbox
    - make_uint32
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Blowfish::key_expansion(const uint8_t key[], size_t length, const
      uint8_t salt[], size_t salt_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:328,1
    - Dst: resize
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:335,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:336,1
    - Dst: data
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:336,1
    - Dst: resize
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:338,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:339,1
    - Dst: data
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:339,1
    - Dst: Botan::Blowfish::key_expansion
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:340,1
    - Dst: Botan::Blowfish::key_expansion
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:347,1
    - Dst: Botan::Blowfish::key_expansion
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:348,1
    - Dst: Botan::Blowfish::key_expansion
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:350,1
    - Dst: Botan::Blowfish::key_expansion
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - key
    - length
    - salt
    - salt_length
    - workfactor
    - salt_first
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 355
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 355
    functionName: Botan::Blowfish::salted_set_key
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 1
    functionsReached:
    - Botan::Blowfish::key_expansion
    - data
    - copy_mem
    - BOTAN_ARG_CHECK
    - resize
    linkageType: ''
    returnType: void
    signature: "void Blowfish::salted_set_key(\n   const uint8_t key[], size_t length,
      const uint8_t salt[], size_t salt_length, size_t workfactor, bool salt_first)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:366,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:368,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:369,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:374,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - ' box'
    - ' L'
    - ' R'
    - salt
    - salt_length
    - salt_off
    argTypes:
    - secure_vector<uint32_t>
    - uint32_t
    - uint32_t
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 386
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 386
    functionName: Botan::Blowfish::generate_sbox
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 1
    functionsReached:
    - BFF
    - load_be<uint32_t>
    - size
    linkageType: ''
    returnType: void
    signature: "void Blowfish::generate_sbox(secure_vector<uint32_t>& box,\n                             uint32_t&
      L,\n                             uint32_t& R,\n                             const
      uint8_t salt[],\n                             size_t salt_length,\n                             size_t
      salt_off) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:392,1
    - Dst: zap
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: Botan::Blowfish::clear
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Blowfish::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Blowfish>
      Src: /src/botan/src/lib/block/blowfish/blowfish.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 55
    functionName: Botan::Block_Cipher_Fixed_Params
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Blowfish>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Block_Cipher_Fixed_Params<8, 1, 56>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/lion/lion.cpp:20,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/block/lion/lion.cpp:29,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:29,1
    - Dst: set_key
      Src: /src/botan/src/lib/block/lion/lion.cpp:30,1
    - Dst: cipher
      Src: /src/botan/src/lib/block/lion/lion.cpp:31,1
    - Dst: update
      Src: /src/botan/src/lib/block/lion/lion.cpp:33,1
    - Dst: final
      Src: /src/botan/src/lib/block/lion/lion.cpp:34,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/block/lion/lion.cpp:35,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/block/lion/lion.cpp:37,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:37,1
    - Dst: set_key
      Src: /src/botan/src/lib/block/lion/lion.cpp:38,1
    - Dst: cipher1
      Src: /src/botan/src/lib/block/lion/lion.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 44
    functionName: Botan::Lion::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - set_key
    - update
    - data
    - cipher
    - cipher1
    - xor_buf
    - final
    linkageType: ''
    returnType: void
    signature: void Lion::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/lion/lion.cpp:50,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/block/lion/lion.cpp:59,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:59,1
    - Dst: set_key
      Src: /src/botan/src/lib/block/lion/lion.cpp:60,1
    - Dst: cipher
      Src: /src/botan/src/lib/block/lion/lion.cpp:61,1
    - Dst: update
      Src: /src/botan/src/lib/block/lion/lion.cpp:63,1
    - Dst: final
      Src: /src/botan/src/lib/block/lion/lion.cpp:64,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/block/lion/lion.cpp:65,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/block/lion/lion.cpp:67,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:67,1
    - Dst: set_key
      Src: /src/botan/src/lib/block/lion/lion.cpp:68,1
    - Dst: cipher1
      Src: /src/botan/src/lib/block/lion/lion.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 74
    functionName: Botan::Lion::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - set_key
    - update
    - data
    - cipher
    - cipher1
    - xor_buf
    - final
    linkageType: ''
    returnType: void
    signature: void Lion::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/lion/lion.cpp:77,1
    - Dst: empty
      Src: /src/botan/src/lib/block/lion/lion.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::Lion::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Lion::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Lion::clear
      Src: /src/botan/src/lib/block/lion/lion.cpp:84,1
    - Dst: resize
      Src: /src/botan/src/lib/block/lion/lion.cpp:88,1
    - Dst: Botan::Lion::left_size
      Src: /src/botan/src/lib/block/lion/lion.cpp:88,1
    - Dst: resize
      Src: /src/botan/src/lib/block/lion/lion.cpp:89,1
    - Dst: Botan::Lion::left_size
      Src: /src/botan/src/lib/block/lion/lion.cpp:89,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/block/lion/lion.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:90,1
    - Dst: size
      Src: /src/botan/src/lib/block/lion/lion.cpp:90,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/block/lion/lion.cpp:91,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:91,1
    - Dst: size
      Src: /src/botan/src/lib/block/lion/lion.cpp:91,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/lion/lion.cpp:92,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:92,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/lion/lion.cpp:92,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/lion/lion.cpp:93,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:93,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/block/lion/lion.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: Botan::Lion::key_schedule
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - Botan::Lion::left_size
    - data
    - copy_mem
    - std::span<const uint8_t>::subspan
    - Botan::Lion::clear
    - size
    - std::span<const uint8_t>::data
    - resize
    linkageType: ''
    returnType: void
    signature: void Lion::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/block/lion/lion.cpp:100,1
    - Dst: Botan::Lion::name
      Src: /src/botan/src/lib/block/lion/lion.cpp:100,1
    - Dst: Botan::Lion::name
      Src: /src/botan/src/lib/block/lion/lion.cpp:100,1
    - Dst: Botan::Lion::block_size
      Src: /src/botan/src/lib/block/lion/lion.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Botan::Lion::name
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::Lion::name
    - Botan::Lion::block_size
    linkageType: ''
    returnType: std::string
    signature: std::string Lion::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Lion>
      Src: /src/botan/src/lib/block/lion/lion.cpp:104,1
    - Dst: Botan::Lion::new_object
      Src: /src/botan/src/lib/block/lion/lion.cpp:104,1
    - Dst: Botan::Lion::new_object
      Src: /src/botan/src/lib/block/lion/lion.cpp:104,1
    - Dst: Botan::Lion::block_size
      Src: /src/botan/src/lib/block/lion/lion.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::Lion::new_object
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Lion>
    - Botan::Lion::new_object
    - Botan::Lion::block_size
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> Lion::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/lion/lion.cpp:111,1
    - Dst: zap
      Src: /src/botan/src/lib/block/lion/lion.cpp:112,1
    - Dst: Botan::Lion::clear
      Src: /src/botan/src/lib/block/lion/lion.cpp:113,1
    - Dst: Botan::Lion::clear
      Src: /src/botan/src/lib/block/lion/lion.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: Botan::Lion::clear
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 2
    functionsReached:
    - zap
    - Botan::Lion::clear
    linkageType: ''
    returnType: void
    signature: void Lion::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/botan/src/lib/block/lion/lion.cpp:121,1
    - Dst: std::unique_ptr<HashFunction>::output_length
      Src: /src/botan/src/lib/block/lion/lion.cpp:121,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/lion/lion.cpp:122,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/lion/lion.cpp:123,1
    - Dst: Botan::Lion::left_size
      Src: /src/botan/src/lib/block/lion/lion.cpp:124,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/block/lion/lion.cpp:125,1
    - Dst: fmt
      Src: /src/botan/src/lib/block/lion/lion.cpp:125,1
    - Dst: Botan::Lion::name
      Src: /src/botan/src/lib/block/lion/lion.cpp:125,1
    - Dst: valid_keylength
      Src: /src/botan/src/lib/block/lion/lion.cpp:128,1
    - Dst: Botan::Lion::left_size
      Src: /src/botan/src/lib/block/lion/lion.cpp:128,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/block/lion/lion.cpp:129,1
    - Dst: fmt
      Src: /src/botan/src/lib/block/lion/lion.cpp:129,1
    - Dst: Botan::Lion::name
      Src: /src/botan/src/lib/block/lion/lion.cpp:129,1
    - Dst: Botan::Lion::name
      Src: /src/botan/src/lib/block/lion/lion.cpp:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - hash
    - cipher
    - bs
    argTypes:
    - std::unique_ptr<HashFunction>
    - std::unique_ptr<StreamCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: Botan::Lion::Lion
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::Lion::left_size
    - std::max<size_t>
    - Invalid_Argument
    - Botan::Lion::name
    - fmt
    - std::unique_ptr<HashFunction>::output_length
    - valid_keylength
    linkageType: ''
    returnType: void
    signature: void Lion::Lion(std::unique_ptr<HashFunction> hash, std::unique_ptr<StreamCipher>
      cipher, size_t bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Lion::block_size
    functionSourceFile: /src/botan/src/lib/block/lion/lion.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/block/lion/lion.h:33,1
    - Dst: output_length
      Src: /src/botan/src/lib/block/lion/lion.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::Lion::key_spec
    functionSourceFile: /src/botan/src/lib/block/lion/lion.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    - output_length
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/block/lion/lion.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::Lion::left_size
    functionSourceFile: /src/botan/src/lib/block/lion/lion.h
    functionUses: 2
    functionsReached:
    - output_length
    linkageType: ''
    returnType: size_t
    signature: size_t left_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Lion::left_size
      Src: /src/botan/src/lib/block/lion/lion.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::Lion::right_size
    functionSourceFile: /src/botan/src/lib/block/lion/lion.h
    functionUses: 0
    functionsReached:
    - Botan::Lion::left_size
    linkageType: ''
    returnType: size_t
    signature: size_t right_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: Botan::SEED_G
    functionSourceFile: /src/botan/src/lib/block/seed/seed.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SEED_G(uint32_t X)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/seed/seed.cpp:75,1
    - Dst: prefetch_arrays
      Src: /src/botan/src/lib/block/seed/seed.cpp:77,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:89,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:90,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:91,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:96,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:97,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:98,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/seed/seed.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 108
    functionName: Botan::SEED::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/seed/seed.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - assert_key_material_set
    - SEED_G
    - prefetch_arrays
    linkageType: ''
    returnType: void
    signature: void SEED::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/seed/seed.cpp:114,1
    - Dst: prefetch_arrays
      Src: /src/botan/src/lib/block/seed/seed.cpp:116,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:128,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:129,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:130,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:135,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:136,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:137,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/seed/seed.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 147
    functionName: Botan::SEED::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/seed/seed.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - assert_key_material_set
    - SEED_G
    - prefetch_arrays
    linkageType: ''
    returnType: void
    signature: void SEED::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/seed/seed.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan::SEED::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/seed/seed.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool SEED::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/seed/seed.cpp:177,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/seed/seed.cpp:177,1
    - Dst: resize
      Src: /src/botan/src/lib/block/seed/seed.cpp:180,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:183,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:184,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/seed/seed.cpp:187,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:190,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:191,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/seed/seed.cpp:193,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/seed/seed.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 197
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 197
    functionName: Botan::SEED::key_schedule
    functionSourceFile: /src/botan/src/lib/block/seed/seed.cpp
    functionUses: 0
    functionsReached:
    - get_byte<3>
    - get_byte<0>
    - std::span<const uint8_t>::data
    - load_be<uint32_t>
    - SEED_G
    - resize
    linkageType: ''
    returnType: void
    signature: void SEED::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/seed/seed.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Botan::SEED::clear
    functionSourceFile: /src/botan/src/lib/block/seed/seed.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void SEED::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::SEED::name
    functionSourceFile: /src/botan/src/lib/block/seed/seed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SEED>
      Src: /src/botan/src/lib/block/seed/seed.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::SEED::new_object
    functionSourceFile: /src/botan/src/lib/block/seed/seed.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SEED>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:26,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:26,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:36,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ' A0'
    - ' A1'
    - ' A2'
    - ' A3'
    - EK
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 39
    functionName: Botan::theta
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    - Botan::rotr
    linkageType: ''
    returnType: void
    signature: void theta(uint32_t& A0, uint32_t& A1, uint32_t& A2, uint32_t& A3,
      const uint32_t EK[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:46,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:46,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:51,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' A0'
    - ' A1'
    - ' A2'
    - ' A3'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: Botan::theta
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    - Botan::rotr
    linkageType: ''
    returnType: void
    signature: void theta(uint32_t& A0, uint32_t& A1, uint32_t& A2, uint32_t& A3)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' A0'
    - ' A1'
    - ' A2'
    - ' A3'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: Botan::gamma
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gamma(uint32_t& A0, uint32_t& A1, uint32_t& A2, uint32_t& A3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: Botan::Noekeon::parallelism
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: size_t
    signature: size_t Noekeon::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: Botan::Noekeon::provider
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string Noekeon::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:105,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:108,1
    - Dst: Botan::Noekeon::simd_encrypt_4
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:110,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:126,1
    - Dst: data
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:126,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:128,1
    - Dst: rotl<5>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:129,1
    - Dst: rotl<2>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:130,1
    - Dst: gamma
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:132,1
    - Dst: rotr<1>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:134,1
    - Dst: rotr<5>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:135,1
    - Dst: rotr<2>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:136,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:140,1
    - Dst: data
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:140,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 147
    functionName: Botan::Noekeon::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - rotl<5>
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - rotl<2>
    - store_be
    - data
    - rotr<1>
    - rotr<5>
    - rotl<1>
    - gamma
    - rotr<2>
    - theta
    - Botan::Noekeon::simd_encrypt_4
    linkageType: ''
    returnType: void
    signature: void Noekeon::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:153,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:156,1
    - Dst: Botan::Noekeon::simd_decrypt_4
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:158,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:173,1
    - Dst: data
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:173,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:176,1
    - Dst: rotl<5>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:177,1
    - Dst: rotl<2>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:178,1
    - Dst: gamma
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:180,1
    - Dst: rotr<1>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:182,1
    - Dst: rotr<5>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:183,1
    - Dst: rotr<2>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:184,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:187,1
    - Dst: data
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:187,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 195
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 195
    functionName: Botan::Noekeon::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - rotl<5>
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - rotl<2>
    - store_be
    - data
    - rotr<1>
    - Botan::Noekeon::simd_decrypt_4
    - rotr<5>
    - rotl<1>
    - gamma
    - rotr<2>
    - theta
    linkageType: ''
    returnType: void
    signature: void Noekeon::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: Botan::Noekeon::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Noekeon::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:212,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:214,1
    - Dst: rotl<5>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:215,1
    - Dst: rotl<2>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:216,1
    - Dst: gamma
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:218,1
    - Dst: rotr<1>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:220,1
    - Dst: rotr<5>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:221,1
    - Dst: rotr<2>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:222,1
    - Dst: resize
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:227,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:233,1
    - Dst: resize
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 240
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 240
    functionName: Botan::Noekeon::key_schedule
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - rotl<5>
    - rotl<2>
    - rotr<1>
    - rotr<5>
    - rotl<1>
    - gamma
    - rotr<2>
    - theta
    - resize
    linkageType: ''
    returnType: void
    signature: void Noekeon::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:246,1
    - Dst: zap
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: Botan::Noekeon::clear
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Noekeon::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::Noekeon::name
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Noekeon>
      Src: /src/botan/src/lib/block/noekeon/noekeon.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Noekeon::new_object
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Noekeon>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:28,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:28,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:38,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 8
    argNames:
    - ' A0'
    - ' A1'
    - ' A2'
    - ' A3'
    - ' K0'
    - ' K1'
    - ' K2'
    - ' K3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: Botan::theta
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::rotl
    - SIMD_4x32::rotr
    linkageType: ''
    returnType: void
    signature: "void theta(SIMD_4x32& A0,\n                  SIMD_4x32& A1,\n                  SIMD_4x32&
      A2,\n                  SIMD_4x32& A3,\n                  const SIMD_4x32& K0,\n
      \                 const SIMD_4x32& K1,\n                  const SIMD_4x32& K2,\n
      \                 const SIMD_4x32& K3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' A0'
    - ' A1'
    - ' A2'
    - ' A3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: Botan::gamma
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gamma(SIMD_4x32& A0, SIMD_4x32& A1, SIMD_4x32& A2, SIMD_4x32&
      A3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:66,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:67,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:68,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:69,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:71,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:72,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:73,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:74,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:76,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:79,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:81,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:83,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:84,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:85,1
    - Dst: gamma
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:87,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:89,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:90,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:91,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:94,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:95,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:97,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:99,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:100,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:101,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 103
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 103
    functionName: Botan::Noekeon::simd_encrypt_4
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::splat
    - SIMD_4x32::rotr
    - SIMD_4x32::store_be
    - SIMD_4x32::rotl
    - gamma
    - theta
    - Botan::SIMD_4x32::transpose
    - Botan::SIMD_4x32::load_be
    linkageType: ''
    returnType: void
    signature: void Noekeon::simd_encrypt_4(const uint8_t in[], uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:109,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:110,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:111,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:112,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:114,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:115,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:116,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:117,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:119,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:122,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:124,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:126,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:127,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:128,1
    - Dst: gamma
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:130,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:132,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:133,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:134,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:137,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:138,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:140,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:142,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:143,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:144,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 146
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 146
    functionName: Botan::Noekeon::simd_decrypt_4
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::splat
    - SIMD_4x32::rotr
    - SIMD_4x32::store_be
    - SIMD_4x32::rotl
    - gamma
    - theta
    - Botan::SIMD_4x32::transpose
    - Botan::SIMD_4x32::load_be
    linkageType: ''
    returnType: void
    signature: void Noekeon::simd_decrypt_4(const uint8_t in[], uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - K
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: Botan::Camellia_F::F
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t F(uint64_t v, uint64_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:123,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - K
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: Botan::Camellia_F::FL
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - rotl<1>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t FL(uint64_t v, uint64_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:137,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - K
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: Botan::Camellia_F::FLINV
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - rotl<1>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t FLINV(uint64_t v, uint64_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_arrays
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:146,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:150,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:157,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:158,1
    - Dst: Botan::Camellia_F::FL
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:162,1
    - Dst: Botan::Camellia_F::FLINV
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:163,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:166,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:167,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:170,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:171,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - in
    - out
    - blocks
    - ' SK'
    - rounds
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - secure_vector<uint64_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 178
    functionName: Botan::Camellia_F::encrypt
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::FLINV
    - Botan::Camellia_F::F
    - load_be
    - prefetch_arrays
    - store_be
    - Botan::Camellia_F::FL
    linkageType: ''
    returnType: void
    signature: void encrypt(const uint8_t in[], uint8_t out[], size_t blocks, const
      secure_vector<uint64_t>& SK, size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_arrays
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:184,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:188,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:195,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:196,1
    - Dst: Botan::Camellia_F::FL
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:200,1
    - Dst: Botan::Camellia_F::FLINV
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:201,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:204,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:205,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:208,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:209,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - in
    - out
    - blocks
    - ' SK'
    - rounds
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - secure_vector<uint64_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 216
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 216
    functionName: Botan::Camellia_F::decrypt
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::FLINV
    - Botan::Camellia_F::F
    - load_be
    - prefetch_arrays
    - store_be
    - Botan::Camellia_F::FL
    linkageType: ''
    returnType: void
    signature: void decrypt(const uint8_t in[], uint8_t out[], size_t blocks, const
      secure_vector<uint64_t>& SK, size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - h
    - l
    - shift
    argTypes:
    - uint64_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: Botan::Camellia_F::left_rot_hi
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t left_rot_hi(uint64_t h, uint64_t l, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - h
    - l
    - shift
    argTypes:
    - uint64_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: Botan::Camellia_F::left_rot_lo
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t left_rot_lo(uint64_t h, uint64_t l, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:260,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:261,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:264,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:265,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:272,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:273,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:278,1
    - Dst: resize
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:279,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:285,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:286,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:287,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:288,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:289,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:290,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:291,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:292,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:293,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:294,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:295,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:296,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:297,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:298,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:299,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:300,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:301,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:302,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:303,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:304,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:305,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:306,1
    - Dst: resize
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:308,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:315,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:316,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:317,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:318,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:320,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:321,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:322,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:323,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:325,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:326,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:327,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:328,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:330,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:331,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:332,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:333,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:334,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:335,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:337,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:338,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:339,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:340,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:342,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:343,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:344,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:345,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:346,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:347,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:348,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 85
    argCount: 2
    argNames:
    - ' SK'
    - key
    argTypes:
    - secure_vector<uint64_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 351
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 351
    functionName: Botan::Camellia_F::key_schedule
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::F
    - Botan::Camellia_F::left_rot_hi
    - std::span<const uint8_t>::size
    - Botan::Camellia_F::left_rot_lo
    - resize
    linkageType: ''
    returnType: void
    signature: void key_schedule(secure_vector<uint64_t>& SK, std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: Botan::Camellia_F::provider
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string provider()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:368,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:371,1
    - Dst: camellia_gfni_encrypt9
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:372,1
    - Dst: Botan::Camellia_F::encrypt
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 377
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 377
    functionName: Botan::Camellia_128::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::Camellia_F::encrypt
    - camellia_gfni_encrypt9
    linkageType: ''
    returnType: void
    signature: void Camellia_128::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:380,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:383,1
    - Dst: camellia_gfni_encrypt12
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:384,1
    - Dst: Botan::Camellia_F::encrypt
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: Botan::Camellia_192::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::Camellia_F::encrypt
    - camellia_gfni_encrypt12
    linkageType: ''
    returnType: void
    signature: void Camellia_192::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:392,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:395,1
    - Dst: camellia_gfni_encrypt12
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:396,1
    - Dst: Botan::Camellia_F::encrypt
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 401
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 401
    functionName: Botan::Camellia_256::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::Camellia_F::encrypt
    - camellia_gfni_encrypt12
    linkageType: ''
    returnType: void
    signature: void Camellia_256::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:404,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:407,1
    - Dst: camellia_gfni_decrypt9
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:408,1
    - Dst: Botan::Camellia_F::decrypt
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 413
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 413
    functionName: Botan::Camellia_128::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Camellia_F::decrypt
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - camellia_gfni_decrypt9
    linkageType: ''
    returnType: void
    signature: void Camellia_128::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:416,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:419,1
    - Dst: camellia_gfni_decrypt12
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:420,1
    - Dst: Botan::Camellia_F::decrypt
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: Botan::Camellia_192::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Camellia_F::decrypt
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - camellia_gfni_decrypt12
    linkageType: ''
    returnType: void
    signature: void Camellia_192::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:428,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:431,1
    - Dst: camellia_gfni_decrypt12
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:432,1
    - Dst: Botan::Camellia_F::decrypt
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: Botan::Camellia_256::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Camellia_F::decrypt
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - camellia_gfni_decrypt12
    linkageType: ''
    returnType: void
    signature: void Camellia_256::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: Botan::Camellia_128::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Camellia_128::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: Botan::Camellia_192::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Camellia_192::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: Botan::Camellia_256::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Camellia_256::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::key_schedule
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: Botan::Camellia_128::key_schedule
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::key_schedule
    linkageType: ''
    returnType: void
    signature: void Camellia_128::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::key_schedule
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: Botan::Camellia_192::key_schedule
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::key_schedule
    linkageType: ''
    returnType: void
    signature: void Camellia_192::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::key_schedule
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: Botan::Camellia_256::key_schedule
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::key_schedule
    linkageType: ''
    returnType: void
    signature: void Camellia_256::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: Botan::Camellia_128::clear
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Camellia_128::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: Botan::Camellia_192::clear
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Camellia_192::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: Botan::Camellia_256::clear
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Camellia_256::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::provider
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 477
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionName: Botan::Camellia_128::provider
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::provider
    linkageType: ''
    returnType: std::string
    signature: std::string Camellia_128::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::provider
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: Botan::Camellia_192::provider
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::provider
    linkageType: ''
    returnType: std::string
    signature: std::string Camellia_192::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::provider
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 485
    functionName: Botan::Camellia_256::provider
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::provider
    linkageType: ''
    returnType: std::string
    signature: std::string Camellia_256::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::Camellia_128::name
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Camellia_128>
      Src: /src/botan/src/lib/block/camellia/camellia.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Camellia_128::new_object
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Camellia_128>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::Camellia_192::name
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Camellia_192>
      Src: /src/botan/src/lib/block/camellia/camellia.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::Camellia_192::new_object
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Camellia_192>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan::Camellia_256::name
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Camellia_256>
      Src: /src/botan/src/lib/block/camellia/camellia.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::Camellia_256::new_object
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Camellia_256>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:41,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:73,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:76,1
    - Dst: _mm256_gf2p8affine_epi64_epi8
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:78,1
    - Dst: _mm256_xor_si256
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:79,1
    - Dst: _mm256_gf2p8affineinv_epi64_epi8
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 80
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 80
    functionName: Botan::Camellia_GFNI::camellia_s1234
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - _mm256_gf2p8affine_epi64_epi8
    - _mm256_set_epi64x
    - _mm256_xor_si256
    - _mm256_gf2p8affineinv_epi64_epi8
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_GFNI
    signature: BOTAN_FN_ISA_AVX2_GFNI camellia_s1234(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_GFNI::camellia_s1234
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:84,1
    - Dst: _mm256_set1_epi64x
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:84,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:87,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:88,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:90,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:91,1
    - Dst: _mm256_xor_si256
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:93,1
    - Dst: _mm256_store_si256
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:96,1
    - Dst: reinterpret_cast<__m256i*>
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: Botan::Camellia_GFNI::F
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi8
    - reinterpret_cast<__m256i*>
    - Botan::Camellia_GFNI::camellia_s1234
    - _mm256_set1_epi64x
    - _mm256_set_epi64x
    - _mm256_xor_si256
    - _mm256_store_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_GFNI
    signature: BOTAN_FN_ISA_AVX2_GFNI F(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:109,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - K
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: Botan::Camellia_GFNI::FL
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - rotl<1>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t FL(uint64_t v, uint64_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:123,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - K
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: Botan::Camellia_GFNI::FLINV
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - rotl<1>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t FLINV(uint64_t v, uint64_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:140,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:145,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:146,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:147,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:148,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:149,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:150,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:152,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:153,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:155,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:156,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:157,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:158,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:159,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:160,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:162,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:163,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:165,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:166,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:167,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:168,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:169,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:170,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - SK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - std::span<const uint64_t>
    constantsTouched: []
    func_position:
      end: 177
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 177
    functionName: Botan::camellia_gfni_encrypt9
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_be
    - F
    - FLINV
    - FL
    - Botan::load_be
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_GFNI
    signature: "BOTAN_FN_ISA_AVX2_GFNI camellia_gfni_encrypt9(const uint8_t in[],\n
      \                                                  uint8_t out[],\n                                                   size_t
      blocks,\n                                                   std::span<const
      uint64_t> SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:187,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:192,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:193,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:195,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:196,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:198,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:199,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:201,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:202,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:204,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:205,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:206,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:207,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:208,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:209,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:211,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:212,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:214,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:215,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:216,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:217,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:218,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:219,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - SK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - std::span<const uint64_t>
    constantsTouched: []
    func_position:
      end: 226
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 226
    functionName: Botan::camellia_gfni_decrypt9
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_be
    - F
    - FLINV
    - FL
    - Botan::load_be
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_GFNI
    signature: "BOTAN_FN_ISA_AVX2_GFNI camellia_gfni_decrypt9(const uint8_t in[],\n
      \                                                  uint8_t out[],\n                                                   size_t
      blocks,\n                                                   std::span<const
      uint64_t> SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:236,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:241,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:242,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:243,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:244,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:245,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:246,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:248,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:249,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:251,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:252,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:253,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:254,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:255,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:256,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:258,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:259,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:261,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:262,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:263,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:264,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:265,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:266,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:268,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:269,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:271,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:272,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:273,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:274,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:275,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:276,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - SK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - std::span<const uint64_t>
    constantsTouched: []
    func_position:
      end: 283
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 283
    functionName: Botan::camellia_gfni_encrypt12
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_be
    - F
    - FLINV
    - FL
    - Botan::load_be
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_GFNI
    signature: "BOTAN_FN_ISA_AVX2_GFNI camellia_gfni_encrypt12(const uint8_t in[],\n
      \                                                   uint8_t out[],\n                                                    size_t
      blocks,\n                                                    std::span<const
      uint64_t> SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:293,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:298,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:299,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:301,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:302,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:304,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:305,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:307,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:308,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:309,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:310,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:311,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:312,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:313,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:314,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:316,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:317,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:318,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:319,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:320,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:321,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:322,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:323,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:325,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:326,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:327,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:328,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:329,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:330,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:331,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:332,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - SK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - std::span<const uint64_t>
    constantsTouched: []
    func_position:
      end: 339
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 339
    functionName: Botan::camellia_gfni_decrypt12
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_be
    - F
    - FLINV
    - FL
    - Botan::load_be
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_GFNI
    signature: "BOTAN_FN_ISA_AVX2_GFNI camellia_gfni_decrypt12(const uint8_t in[],\n
      \                                                   uint8_t out[],\n                                                    size_t
      blocks,\n                                                    std::span<const
      uint64_t> SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<R1>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:26,1
    - Dst: rotl<R2>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:27,1
    - Dst: rotl<R3>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:28,1
    - Dst: rotl<R4>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 8
    argNames:
    - ' X0'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    - ' X5'
    - ' X6'
    - ' X7'
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: Botan::Threefish_F::e_round
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - rotl<R2>
    - rotl<R1>
    - rotl<R3>
    - rotl<R4>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE e_round(\n   uint64_t& X0, uint64_t& X1, uint64_t&
      X2, uint64_t& X3, uint64_t& X4, uint64_t& X5, uint64_t& X6, uint64_t& X7)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotr<R1>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:43,1
    - Dst: rotr<R2>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:44,1
    - Dst: rotr<R3>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:45,1
    - Dst: rotr<R4>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 8
    argNames:
    - ' X0'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    - ' X5'
    - ' X6'
    - ' X7'
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: Botan::Threefish_F::d_round
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - rotr<R1>
    - rotr<R4>
    - rotr<R2>
    - rotr<R3>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE d_round(\n   uint64_t& X0, uint64_t& X1, uint64_t&
      X2, uint64_t& X3, uint64_t& X4, uint64_t& X5, uint64_t& X6, uint64_t& X7)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - K
    - T
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::Threefish_F::Key_Inserter::Key_Inserter
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Inserter(const uint64_t* K, const uint64_t* T)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 9
    argNames:
    - R
    - ' X0'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    - ' X5'
    - ' X6'
    - ' X7'
    argTypes:
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: Botan::Threefish_F::Key_Inserter::e_add
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void e_add(size_t R,\n                 uint64_t& X0,\n                 uint64_t&
      X1,\n                 uint64_t& X2,\n                 uint64_t& X3,\n                 uint64_t&
      X4,\n                 uint64_t& X5,\n                 uint64_t& X6,\n                 uint64_t&
      X7) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 9
    argNames:
    - R
    - ' X0'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    - ' X5'
    - ' X6'
    - ' X7'
    argTypes:
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: Botan::Threefish_F::Key_Inserter::d_add
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void d_add(size_t R,\n                 uint64_t& X0,\n                 uint64_t&
      X1,\n                 uint64_t& X2,\n                 uint64_t& X3,\n                 uint64_t&
      X4,\n                 uint64_t& X5,\n                 uint64_t& X6,\n                 uint64_t&
      X7) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:110,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:111,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:112,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:113,1
    - Dst: e_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:114,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:116,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:117,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:118,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:119,1
    - Dst: e_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 9
    argNames:
    - ' X0'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    - ' X5'
    - ' X6'
    - ' X7'
    - ' key'
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - Key_Inserter
    constantsTouched: []
    func_position:
      end: 121
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 121
    functionName: Botan::Threefish_F::e8_rounds
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - Botan::Threefish_F::e_round
    - e_add
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE e8_rounds(uint64_t& X0,\n                                  uint64_t&
      X1,\n                                  uint64_t& X2,\n                                  uint64_t&
      X3,\n                                  uint64_t& X4,\n                                  uint64_t&
      X5,\n                                  uint64_t& X6,\n                                  uint64_t&
      X7,\n                                  const Key_Inserter& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:133,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:134,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:135,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:136,1
    - Dst: d_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:137,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:139,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:140,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:141,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:142,1
    - Dst: d_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 9
    argNames:
    - ' X0'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    - ' X5'
    - ' X6'
    - ' X7'
    - ' key'
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - Key_Inserter
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: Botan::Threefish_F::d8_rounds
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - Botan::Threefish_F::d_round
    - d_add
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE d8_rounds(uint64_t& X0,\n                                  uint64_t&
      X1,\n                                  uint64_t& X2,\n                                  uint64_t&
      X3,\n                                  uint64_t& X4,\n                                  uint64_t&
      X5,\n                                  uint64_t& X6,\n                                  uint64_t&
      X7,\n                                  const Key_Inserter& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:153,1
    - Dst: size
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:153,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:154,1
    - Dst: size
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:154,1
    - Dst: data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:160,1
    - Dst: data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:160,1
    - Dst: Key_Inserter::e_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:171,1
    - Dst: e8_rounds<1, 2>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:173,1
    - Dst: e8_rounds<3, 4>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:174,1
    - Dst: e8_rounds<5, 6>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:175,1
    - Dst: e8_rounds<7, 8>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:176,1
    - Dst: e8_rounds<9, 10>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:177,1
    - Dst: e8_rounds<11, 12>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:178,1
    - Dst: e8_rounds<13, 14>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:179,1
    - Dst: e8_rounds<15, 16>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:180,1
    - Dst: e8_rounds<17, 18>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - ' M'
    - ' T'
    argTypes:
    - secure_vector<uint64_t>
    - secure_vector<uint64_t>
    constantsTouched: []
    func_position:
      end: 193
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 193
    functionName: Botan::Threefish_512::skein_feedfwd
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - e8_rounds<3, 4>
    - e8_rounds<9, 10>
    - e8_rounds<11, 12>
    - e8_rounds<15, 16>
    - e8_rounds<7, 8>
    - data
    - e8_rounds<17, 18>
    - e8_rounds<1, 2>
    - BOTAN_ASSERT
    - Key_Inserter::e_add
    - size
    - e8_rounds<13, 14>
    - e8_rounds<5, 6>
    linkageType: ''
    returnType: void
    signature: void Threefish_512::skein_feedfwd(const secure_vector<uint64_t>& M,
      const secure_vector<uint64_t>& T)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:198,1
    - Dst: data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:200,1
    - Dst: data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:200,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:204,1
    - Dst: Key_Inserter::e_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:206,1
    - Dst: e8_rounds<1, 2>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:208,1
    - Dst: e8_rounds<3, 4>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:209,1
    - Dst: e8_rounds<5, 6>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:210,1
    - Dst: e8_rounds<7, 8>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:211,1
    - Dst: e8_rounds<9, 10>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:212,1
    - Dst: e8_rounds<11, 12>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:213,1
    - Dst: e8_rounds<13, 14>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:214,1
    - Dst: e8_rounds<15, 16>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:215,1
    - Dst: e8_rounds<17, 18>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:216,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 220
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 220
    functionName: Botan::Threefish_512::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - e8_rounds<3, 4>
    - load_le
    - e8_rounds<9, 10>
    - e8_rounds<11, 12>
    - e8_rounds<15, 16>
    - e8_rounds<7, 8>
    - data
    - e8_rounds<17, 18>
    - e8_rounds<1, 2>
    - store_le
    - Key_Inserter::e_add
    - e8_rounds<13, 14>
    - e8_rounds<5, 6>
    linkageType: ''
    returnType: void
    signature: void Threefish_512::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:225,1
    - Dst: data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:227,1
    - Dst: data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:227,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:231,1
    - Dst: Key_Inserter::d_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:233,1
    - Dst: d8_rounds<17, 16>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:235,1
    - Dst: d8_rounds<15, 14>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:236,1
    - Dst: d8_rounds<13, 12>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:237,1
    - Dst: d8_rounds<11, 10>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:238,1
    - Dst: d8_rounds<9, 8>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:239,1
    - Dst: d8_rounds<7, 6>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:240,1
    - Dst: d8_rounds<5, 4>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:241,1
    - Dst: d8_rounds<3, 2>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:242,1
    - Dst: d8_rounds<1, 0>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:243,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 247
    functionName: Botan::Threefish_512::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - load_le
    - d8_rounds<5, 4>
    - data
    - store_le
    - Key_Inserter::d_add
    - d8_rounds<9, 8>
    - d8_rounds<13, 12>
    - d8_rounds<11, 10>
    - d8_rounds<7, 6>
    - d8_rounds<3, 2>
    - d8_rounds<1, 0>
    - d8_rounds<17, 16>
    - d8_rounds<15, 14>
    linkageType: ''
    returnType: void
    signature: void Threefish_512::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:250,1
    - Dst: resize
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:252,1
    - Dst: load_le<uint64_t>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:253,1
    - Dst: load_le<uint64_t>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tweak
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: Botan::Threefish_512::set_tweak
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - load_le<uint64_t>
    - resize
    linkageType: ''
    returnType: void
    signature: void Threefish_512::set_tweak(const uint8_t tweak[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: Botan::Threefish_512::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Threefish_512::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:264,1
    - Dst: load_le<uint64_t>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:267,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:267,1
    - Dst: resize
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:273,1
    - Dst: zeroise
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: Botan::Threefish_512::key_schedule
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - load_le<uint64_t>
    - resize
    - zeroise
    linkageType: ''
    returnType: void
    signature: void Threefish_512::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:278,1
    - Dst: zap
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: Botan::Threefish_512::clear
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Threefish_512::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::Threefish_512::name
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Threefish_512>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Threefish_512::new_object
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Threefish_512>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - row
    - col
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: Botan::GOST_28147_89_Params::sbox_entry
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GOST_28147_89_Params::sbox_entry(size_t row, size_t col) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - row
    - col
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Botan::GOST_28147_89_Params::sbox_pair
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GOST_28147_89_Params::sbox_pair(size_t row, size_t col) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:50,1
    - Dst: fmt
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: Botan::GOST_28147_89_Params::GOST_28147_89_Params
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89_Params::GOST_28147_89_Params(std::string_view n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:58,1
    - Dst: param_name
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:58,1
    - Dst: rotl<11, uint32_t>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:62,1
    - Dst: sbox_pair
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:62,1
    - Dst: rotl<19, uint32_t>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:63,1
    - Dst: sbox_pair
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:63,1
    - Dst: rotl<27, uint32_t>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:64,1
    - Dst: sbox_pair
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:64,1
    - Dst: rotl<3, uint32_t>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:65,1
    - Dst: sbox_pair
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' param'
    argTypes:
    - GOST_28147_89_Params
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: Botan::GOST_28147_89::GOST_28147_89
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - sbox_pair
    - rotl<19, uint32_t>
    - rotl<3, uint32_t>
    - fmt
    - param_name
    - rotl<11, uint32_t>
    - rotl<27, uint32_t>
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89::GOST_28147_89(const GOST_28147_89_Params& param)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::GOST_28147_89::name
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GOST_28147_89::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:81,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:81,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:81,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:81,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:84,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:84,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:84,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' N1'
    - ' N2'
    - ' S'
    - ' EK'
    argTypes:
    - uint32_t
    - uint32_t
    - std::vector<uint32_t>
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: Botan::GOST_ROUND2
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - Botan::get_byte
    linkageType: ''
    returnType: void
    signature: void GOST_ROUND2(uint32_t& N1, uint32_t& N2, const std::vector<uint32_t>&
      S, const secure_vector<uint32_t>& EK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:93,1
    - Dst: GOST_ROUND2<0, 1>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:100,1
    - Dst: GOST_ROUND2<2, 3>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:101,1
    - Dst: GOST_ROUND2<4, 5>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:102,1
    - Dst: GOST_ROUND2<6, 7>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:103,1
    - Dst: GOST_ROUND2<7, 6>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:106,1
    - Dst: GOST_ROUND2<5, 4>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:107,1
    - Dst: GOST_ROUND2<3, 2>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:108,1
    - Dst: GOST_ROUND2<1, 0>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:109,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: Botan::GOST_28147_89::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - GOST_ROUND2<0, 1>
    - GOST_ROUND2<2, 3>
    - store_le
    - GOST_ROUND2<4, 5>
    - GOST_ROUND2<3, 2>
    - GOST_ROUND2<6, 7>
    - GOST_ROUND2<7, 6>
    - GOST_ROUND2<5, 4>
    - GOST_ROUND2<1, 0>
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:122,1
    - Dst: GOST_ROUND2<0, 1>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:128,1
    - Dst: GOST_ROUND2<2, 3>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:129,1
    - Dst: GOST_ROUND2<4, 5>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:130,1
    - Dst: GOST_ROUND2<6, 7>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:131,1
    - Dst: GOST_ROUND2<7, 6>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:134,1
    - Dst: GOST_ROUND2<5, 4>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:135,1
    - Dst: GOST_ROUND2<3, 2>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:136,1
    - Dst: GOST_ROUND2<1, 0>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:137,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 144
    functionName: Botan::GOST_28147_89::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - GOST_ROUND2<0, 1>
    - GOST_ROUND2<2, 3>
    - store_le
    - GOST_ROUND2<4, 5>
    - GOST_ROUND2<3, 2>
    - GOST_ROUND2<6, 7>
    - GOST_ROUND2<7, 6>
    - GOST_ROUND2<5, 4>
    - GOST_ROUND2<1, 0>
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan::GOST_28147_89::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool GOST_28147_89::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:154,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:156,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: Botan::GOST_28147_89::key_schedule
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - resize
    - load_le<uint32_t>
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::GOST_28147_89::clear
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::GOST_28147_89_Params::param_name
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string param_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GOST_28147_89>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::GOST_28147_89::new_object
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.h
    functionUses: 0
    functionsReached:
    - std::make_unique<GOST_28147_89>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GOST_28147_89_Params
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: Botan::GOST_28147_89::GOST_28147_89
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.h
    functionUses: 0
    functionsReached:
    - GOST_28147_89_Params
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89(std::string_view param_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' other_SBOX'
    - name
    argTypes:
    - std::vector<uint32_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: Botan::GOST_28147_89::GOST_28147_89
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89(const std::vector<uint32_t>& other_SBOX, std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::CAST_128::name
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CAST_128>
      Src: /src/botan/src/lib/block/cast128/cast128.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::CAST_128::new_object
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.h
    functionUses: 0
    functionsReached:
    - std::make_unique<CAST_128>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - R
    - MK
    - RK
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: Botan::F1
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t F1(uint32_t R, uint32_t MK, uint8_t RK)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - R
    - MK
    - RK
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: Botan::F2
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t F2(uint32_t R, uint32_t MK, uint8_t RK)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - R
    - MK
    - RK
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: Botan::F3
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t F3(uint32_t R, uint32_t MK, uint8_t RK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:187,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:191,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:193,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:194,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:195,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:196,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:197,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:198,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:199,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:200,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:201,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:202,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:203,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:204,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:205,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:206,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:207,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:208,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:209,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:210,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:211,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:212,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:213,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:214,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:215,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:216,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:217,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:218,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:219,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:220,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:221,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:222,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:223,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:224,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:226,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:235,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:237,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:238,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:239,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:240,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:241,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:242,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:243,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:244,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:245,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:246,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:247,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:248,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:249,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:250,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:251,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:252,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 256
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 256
    functionName: Botan::CAST_128::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - load_be
    - store_be
    - F2
    - F3
    - F1
    linkageType: ''
    returnType: void
    signature: void CAST_128::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:262,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:266,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:268,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:269,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:270,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:271,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:272,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:273,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:274,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:275,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:276,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:277,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:278,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:279,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:280,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:281,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:282,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:283,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:284,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:285,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:286,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:287,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:288,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:289,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:290,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:291,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:292,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:293,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:294,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:295,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:296,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:297,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:298,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:299,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:301,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:310,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:312,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:313,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:314,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:315,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:316,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:317,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:318,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:319,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:320,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:321,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:322,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:323,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:324,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:325,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:326,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:327,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 331
    functionName: Botan::CAST_128::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - load_be
    - store_be
    - F2
    - F3
    - F1
    linkageType: ''
    returnType: void
    signature: void CAST_128::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: Botan::CAST_128::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool CAST_128::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:341,1
    - Dst: resize
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:342,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:345,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:345,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:345,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:345,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:349,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:349,1
    - Dst: Botan::CAST_128::cast_ks
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:352,1
    - Dst: Botan::CAST_128::cast_ks
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 360
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 360
    functionName: Botan::CAST_128::key_schedule
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - std::span<const uint8_t>::size
    - Botan::CAST_128::cast_ks
    - std::span<const uint8_t>::data
    - load_be<uint32_t>
    - resize
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void CAST_128::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:363,1
    - Dst: zap
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: Botan::CAST_128::clear
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void CAST_128::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:497,1
    - Dst: data
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:506,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:506,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:508,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:508,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:508,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:508,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:508,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:509,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:509,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:509,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:509,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:509,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:510,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:510,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:510,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:510,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:510,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:511,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:511,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:511,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:511,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:511,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:512,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:512,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:512,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:512,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:512,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:513,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:513,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:513,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:513,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:513,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:514,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:514,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:514,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:514,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:514,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:515,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:515,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:515,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:515,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:515,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:516,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:516,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:516,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:516,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:516,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:517,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:517,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:517,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:517,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:517,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:518,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:518,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:518,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:518,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:518,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:519,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:519,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:519,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:519,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:519,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:520,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:520,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:520,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:520,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:520,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:521,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:521,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:521,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:521,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:521,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:522,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:522,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:522,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:522,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:522,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:523,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:523,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:523,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:523,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:523,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:524,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:524,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:524,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:524,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:524,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:525,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:525,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:525,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:525,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:525,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:526,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:526,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:526,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:526,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:526,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:527,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:527,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:527,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:527,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:527,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:528,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:528,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:528,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:528,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:528,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:529,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:529,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:529,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:529,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:529,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:530,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:530,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:530,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:530,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:530,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:531,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:531,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:531,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:531,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:531,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:532,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:532,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:532,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:532,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:532,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:533,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:533,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:533,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:533,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:533,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:534,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:534,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:534,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:534,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:534,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:535,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:535,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:535,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:535,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:535,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:536,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:536,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:536,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:536,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:536,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:537,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:537,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:537,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:537,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:537,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:538,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:538,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:538,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:538,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:538,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:539,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:539,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:539,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:539,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 2
    argNames:
    - ' K'
    - ' X'
    argTypes:
    - secure_vector<uint32_t>
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 540
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 540
    functionName: Botan::CAST_128::cast_ks
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 1
    functionsReached:
    - data
    - z
    - static_cast<uint8_t>
    - x
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void CAST_128::cast_ks(secure_vector<uint32_t>& K, secure_vector<uint32_t>&
      X)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::DES::name
    functionSourceFile: /src/botan/src/lib/block/des/des.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DES>
      Src: /src/botan/src/lib/block/des/des.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::DES::new_object
    functionSourceFile: /src/botan/src/lib/block/des/des.h
    functionUses: 0
    functionsReached:
    - std::make_unique<DES>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::TripleDES::name
    functionSourceFile: /src/botan/src/lib/block/des/des.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TripleDES>
      Src: /src/botan/src/lib/block/des/des.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::TripleDES::new_object
    functionSourceFile: /src/botan/src/lib/block/des/des.h
    functionUses: 0
    functionsReached:
    - std::make_unique<TripleDES>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - round_key
    - key
    argTypes:
    - uint32_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 132
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 132
    functionName: Botan::des_key_schedule
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void des_key_schedule(uint32_t round_key[32], const uint8_t key[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - T0
    - T1
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: Botan::spbox
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t spbox(uint32_t T0, uint32_t T1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:152,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:152,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:153,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' Lr'
    - ' Rr'
    - round_key
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: Botan::des_encrypt
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::spbox
    linkageType: ''
    returnType: void
    signature: void des_encrypt(uint32_t& Lr, uint32_t& Rr, const uint32_t round_key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:167,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:167,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:168,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:168,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:170,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:170,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:171,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' L0r'
    - ' R0r'
    - ' L1r'
    - ' R1r'
    - round_key
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 178
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 178
    functionName: Botan::des_encrypt_x2
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::spbox
    linkageType: ''
    returnType: void
    signature: void des_encrypt_x2(uint32_t& L0r, uint32_t& R0r, uint32_t& L1r, uint32_t&
      R1r, const uint32_t round_key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:187,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:187,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:188,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' Lr'
    - ' Rr'
    - round_key
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: Botan::des_decrypt
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::spbox
    linkageType: ''
    returnType: void
    signature: void des_decrypt(uint32_t& Lr, uint32_t& Rr, const uint32_t round_key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:201,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:201,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:202,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:202,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:204,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:204,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:205,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' L0r'
    - ' R0r'
    - ' L1r'
    - ' R1r'
    - round_key
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: Botan::des_decrypt_x2
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::spbox
    linkageType: ''
    returnType: void
    signature: void des_decrypt_x2(uint32_t& L0r, uint32_t& R0r, uint32_t& L1r, uint32_t&
      R1r, const uint32_t round_key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/des/des.cpp:217,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:220,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:223,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:226,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/des/des.cpp:229,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/des/des.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ' L'
    - ' R'
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: Botan::des_IP
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    - Botan::rotr
    linkageType: ''
    returnType: void
    signature: void des_IP(uint32_t& L, uint32_t& R)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:239,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:242,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/des/des.cpp:245,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/des/des.cpp:248,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/des/des.cpp:251,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ' L'
    - ' R'
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 255
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 255
    functionName: Botan::des_FP
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    - Botan::rotr
    linkageType: ''
    returnType: void
    signature: void des_FP(uint32_t& L, uint32_t& R)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/des/des.cpp:263,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:271,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:272,1
    - Dst: des_encrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:274,1
    - Dst: data
      Src: /src/botan/src/lib/block/des/des.cpp:274,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:276,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:277,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:279,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:289,1
    - Dst: des_encrypt
      Src: /src/botan/src/lib/block/des/des.cpp:290,1
    - Dst: data
      Src: /src/botan/src/lib/block/des/des.cpp:290,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:291,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 298
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 298
    functionName: Botan::DES::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - des_encrypt
    - des_IP
    - des_FP
    - des_encrypt_x2
    - data
    - store_be
    linkageType: ''
    returnType: void
    signature: void DES::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/des/des.cpp:304,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:312,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:313,1
    - Dst: des_decrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:315,1
    - Dst: data
      Src: /src/botan/src/lib/block/des/des.cpp:315,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:317,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:318,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:320,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:330,1
    - Dst: des_decrypt
      Src: /src/botan/src/lib/block/des/des.cpp:331,1
    - Dst: data
      Src: /src/botan/src/lib/block/des/des.cpp:331,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:332,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 339
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 339
    functionName: Botan::DES::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - des_IP
    - des_decrypt
    - des_FP
    - data
    - store_be
    - des_decrypt_x2
    linkageType: ''
    returnType: void
    signature: void DES::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/des/des.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: Botan::DES::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool DES::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/des/des.cpp:349,1
    - Dst: des_key_schedule
      Src: /src/botan/src/lib/block/des/des.cpp:350,1
    - Dst: data
      Src: /src/botan/src/lib/block/des/des.cpp:350,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/des/des.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: Botan::DES::key_schedule
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - data
    - des_key_schedule
    - resize
    linkageType: ''
    returnType: void
    signature: void DES::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/des/des.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: Botan::DES::clear
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void DES::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/des/des.cpp:361,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:369,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:370,1
    - Dst: des_encrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:372,1
    - Dst: des_decrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:373,1
    - Dst: des_encrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:374,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:376,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:377,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:379,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:390,1
    - Dst: des_encrypt
      Src: /src/botan/src/lib/block/des/des.cpp:391,1
    - Dst: des_decrypt
      Src: /src/botan/src/lib/block/des/des.cpp:392,1
    - Dst: des_encrypt
      Src: /src/botan/src/lib/block/des/des.cpp:393,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:394,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 402
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 402
    functionName: Botan::TripleDES::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - des_encrypt
    - des_IP
    - des_decrypt
    - des_FP
    - des_encrypt_x2
    - store_be
    - des_decrypt_x2
    linkageType: ''
    returnType: void
    signature: void TripleDES::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/des/des.cpp:408,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:416,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:417,1
    - Dst: des_decrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:419,1
    - Dst: des_encrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:420,1
    - Dst: des_decrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:421,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:423,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:424,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:426,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:437,1
    - Dst: des_decrypt
      Src: /src/botan/src/lib/block/des/des.cpp:438,1
    - Dst: des_encrypt
      Src: /src/botan/src/lib/block/des/des.cpp:439,1
    - Dst: des_decrypt
      Src: /src/botan/src/lib/block/des/des.cpp:440,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:441,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 449
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 449
    functionName: Botan::TripleDES::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - des_encrypt
    - des_IP
    - des_decrypt
    - des_FP
    - des_encrypt_x2
    - store_be
    - des_decrypt_x2
    linkageType: ''
    returnType: void
    signature: void TripleDES::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/des/des.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: Botan::TripleDES::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool TripleDES::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/des/des.cpp:459,1
    - Dst: des_key_schedule
      Src: /src/botan/src/lib/block/des/des.cpp:460,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/block/des/des.cpp:460,1
    - Dst: des_key_schedule
      Src: /src/botan/src/lib/block/des/des.cpp:461,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/block/des/des.cpp:461,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/des/des.cpp:463,1
    - Dst: des_key_schedule
      Src: /src/botan/src/lib/block/des/des.cpp:464,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/block/des/des.cpp:464,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/des/des.cpp:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 468
    functionName: Botan::TripleDES::key_schedule
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::first
    - copy_mem
    - std::span<const uint8_t>::subspan
    - std::span<const uint8_t>::size
    - resize
    - des_key_schedule
    linkageType: ''
    returnType: void
    signature: void TripleDES::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/des/des.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: Botan::TripleDES::clear
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void TripleDES::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - key
    - key_len
    - secret
    - secret_len
    - salt
    - salt_len
    - label
    - label_len
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: Botan::kdf
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 1
    functionsReached:
    - Botan::derive_key
    linkageType: ''
    returnType: void
    signature: "void kdf(uint8_t key[],\n               size_t key_len,\n               const
      uint8_t secret[],\n               size_t secret_len,\n               const uint8_t
      salt[],\n               size_t salt_len,\n               const uint8_t label[],\n
      \              size_t label_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_len
    - secret
    - secret_len
    - salt
    - salt_len
    argTypes:
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 6
    functionsReached:
    - Botan::derive_key
    linkageType: ''
    returnType: T
    signature: "T derive_key(size_t key_len,\n                   const uint8_t secret[],\n
      \                  size_t secret_len,\n                   const uint8_t salt[],\n
      \                  size_t salt_len,\n                   const uint8_t label[]
      = nullptr,\n                   size_t label_len = 0) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:114,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:114,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key_len
    - secret
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 7
    functionsReached:
    - _as_span
    - Botan::derive_key
    linkageType: ''
    returnType: T
    signature: "T derive_key(size_t key_len,\n                   std::span<const uint8_t>
      secret,\n                   std::string_view salt = \"\",\n                   std::string_view
      label = \"\") const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: perform_kdf
      Src: /src/botan/src/lib/kdf/kdf.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 7
    functionsReached:
    - perform_kdf
    linkageType: ''
    returnType: void
    signature: "void derive_key(std::span<uint8_t> key,\n                      std::span<const
      uint8_t> secret,\n                      std::span<const uint8_t> salt,\n                      std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: perform_kdf
      Src: /src/botan/src/lib/kdf/kdf.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - key_len
    - secret
    - salt
    - label
    argTypes:
    - size_t
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 7
    functionsReached:
    - perform_kdf
    linkageType: ''
    returnType: T
    signature: "T derive_key(size_t key_len,\n                   std::span<const uint8_t>
      secret,\n                   std::span<const uint8_t> salt,\n                   std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:165,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key_len
    - secret
    - salt
    - salt_len
    argTypes:
    - size_t
    - std::span<const uint8_t>
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 8
    functionsReached:
    - _as_span
    - Botan::derive_key
    linkageType: ''
    returnType: T
    signature: "T derive_key(size_t key_len,\n                   std::span<const uint8_t>
      secret,\n                   const uint8_t salt[],\n                   size_t
      salt_len,\n                   std::string_view label = \"\") const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:184,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:184,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key_len
    - secret
    - secret_len
    argTypes:
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 9
    functionsReached:
    - _as_span
    - Botan::derive_key
    linkageType: ''
    returnType: T
    signature: "T derive_key(size_t key_len,\n                   const uint8_t secret[],\n
      \                  size_t secret_len,\n                   std::string_view salt
      = \"\",\n                   std::string_view label = \"\") const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: perform_kdf
      Src: /src/botan/src/lib/kdf/kdf.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - secret
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 9
    functionsReached:
    - perform_kdf
    linkageType: ''
    returnType: std::array<uint8_t, key_len>
    signature: "std::array<uint8_t, key_len> derive_key(std::span<const uint8_t> secret,\n
      \                                             std::span<const uint8_t> salt
      = {},\n                                              std::span<const uint8_t>
      label = {})"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:216,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - secret
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 10
    functionsReached:
    - _as_span
    - Botan::derive_key
    linkageType: ''
    returnType: std::array<uint8_t, key_len>
    signature: "std::array<uint8_t, key_len> derive_key(std::span<const uint8_t> secret,\n
      \                                             std::span<const uint8_t> salt
      = {},\n                                              std::string_view label
      = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:231,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:231,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - secret
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 11
    functionsReached:
    - _as_span
    - Botan::derive_key
    linkageType: ''
    returnType: std::array<uint8_t, key_len>
    signature: "std::array<uint8_t, key_len> derive_key(std::span<const uint8_t> secret,\n
      \                                             std::string_view salt = \"\",\n
      \                                             std::string_view label = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/kdf/kdf.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: Botan::clone
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    linkageType: ''
    returnType: KDF
    signature: KDF * clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KDF::create_or_throw
      Src: /src/botan/src/lib/kdf/kdf.h:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: Botan::get_kdf
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 0
    functionsReached:
    - Botan::KDF::create_or_throw
    linkageType: ''
    returnType: KDF
    signature: KDF * get_kdf(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:59,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/kdf/kdf.cpp:59,1
    - Dst: std::make_unique<KDF_Type>
      Src: /src/botan/src/lib/kdf/kdf.cpp:60,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:60,1
    - Dst: std::forward<ParamTs>
      Src: /src/botan/src/lib/kdf/kdf.cpp:60,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:63,1
    - Dst: std::make_unique<KDF_Type>
      Src: /src/botan/src/lib/kdf/kdf.cpp:64,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:64,1
    - Dst: std::forward<ParamTs>
      Src: /src/botan/src/lib/kdf/kdf.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - nm
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: Botan::kdf_create_mac_or_hash
    functionSourceFile: /src/botan/src/lib/kdf/kdf.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::fmt
    - std::forward<ParamTs>
    - std::make_unique<KDF_Type>
    - Botan::MessageAuthenticationCode::create
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> kdf_create_mac_or_hash(std::string_view nm, ParamTs&&...
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:76,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:76,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:77,1
    - Dst: kdf_create_mac_or_hash<HKDF>
      Src: /src/botan/src/lib/kdf/kdf.cpp:78,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:78,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:82,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:82,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:83,1
    - Dst: kdf_create_mac_or_hash<HKDF_Extract>
      Src: /src/botan/src/lib/kdf/kdf.cpp:84,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:84,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:88,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:88,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:89,1
    - Dst: kdf_create_mac_or_hash<HKDF_Expand>
      Src: /src/botan/src/lib/kdf/kdf.cpp:90,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:90,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:96,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:96,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:97,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:98,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:98,1
    - Dst: std::make_unique<KDF2>
      Src: /src/botan/src/lib/kdf/kdf.cpp:99,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:99,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:106,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:106,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:107,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:108,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:108,1
    - Dst: std::make_unique<KDF1_18033>
      Src: /src/botan/src/lib/kdf/kdf.cpp:109,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:109,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:116,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:116,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:117,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:118,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:118,1
    - Dst: std::make_unique<KDF1>
      Src: /src/botan/src/lib/kdf/kdf.cpp:119,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:119,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:126,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:126,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:127,1
    - Dst: kdf_create_mac_or_hash<TLS_12_PRF>
      Src: /src/botan/src/lib/kdf/kdf.cpp:128,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:128,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:134,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:134,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:135,1
    - Dst: std::make_unique<X942_PRF>
      Src: /src/botan/src/lib/kdf/kdf.cpp:136,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:136,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:142,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/kdf/kdf.cpp:142,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:143,1
    - Dst: kdf_create_mac_or_hash<SP800_108_Counter>
      Src: /src/botan/src/lib/kdf/kdf.cpp:144,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:145,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/kdf/kdf.cpp:145,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/kdf/kdf.cpp:145,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:149,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/kdf/kdf.cpp:149,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:150,1
    - Dst: kdf_create_mac_or_hash<SP800_108_Feedback>
      Src: /src/botan/src/lib/kdf/kdf.cpp:151,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:152,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/kdf/kdf.cpp:152,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/kdf/kdf.cpp:152,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:156,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/kdf/kdf.cpp:156,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:157,1
    - Dst: kdf_create_mac_or_hash<SP800_108_Pipeline>
      Src: /src/botan/src/lib/kdf/kdf.cpp:158,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:159,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/kdf/kdf.cpp:159,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/kdf/kdf.cpp:159,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:165,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:165,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:166,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:166,1
    - Dst: std::make_unique<SP800_56C_One_Step_Hash>
      Src: /src/botan/src/lib/kdf/kdf.cpp:167,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:167,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:169,1
    - Dst: std::make_unique<SP800_56C_One_Step_KMAC128>
      Src: /src/botan/src/lib/kdf/kdf.cpp:170,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:172,1
    - Dst: std::make_unique<SP800_56C_One_Step_KMAC256>
      Src: /src/botan/src/lib/kdf/kdf.cpp:173,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:175,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:175,1
    - Dst: std::make_unique<SP800_56C_One_Step_HMAC>
      Src: /src/botan/src/lib/kdf/kdf.cpp:176,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:176,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:182,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:182,1
    - Dst: kdf_create_mac_or_hash<SP800_108_Feedback>
      Src: /src/botan/src/lib/kdf/kdf.cpp:183,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:183,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:185,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:185,1
    - Dst: std::make_unique<SP800_56C_Two_Step>
      Src: /src/botan/src/lib/kdf/kdf.cpp:186,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:186,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:186,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:189,1
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/kdf.cpp:189,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:189,1
    - Dst: std::make_unique<SP800_56C_Two_Step>
      Src: /src/botan/src/lib/kdf/kdf.cpp:190,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:190,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:190,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/kdf/kdf.cpp:196,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/kdf/kdf.cpp:197,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 89
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 200
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 200
    functionName: Botan::KDF::create
    functionSourceFile: /src/botan/src/lib/kdf/kdf.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - kdf_create_mac_or_hash<HKDF>
    - std::make_unique<SP800_56C_One_Step_Hash>
    - std::make_unique<SP800_56C_One_Step_KMAC256>
    - SCAN_Name::arg
    - std::make_unique<KDF1>
    - Botan::HashFunction::create
    - std::make_unique<SP800_56C_One_Step_KMAC128>
    - fmt
    - std::string_view::empty
    - std::make_unique<KDF2>
    - kdf_create_mac_or_hash<HKDF_Expand>
    - SCAN_Name::algo_name
    - SCAN_Name::arg_count
    - BOTAN_UNUSED
    - SCAN_Name::arg_count_between
    - kdf_create_mac_or_hash<SP800_108_Counter>
    - std::make_unique<SP800_56C_Two_Step>
    - kdf_create_mac_or_hash<SP800_108_Feedback>
    - kdf_create_mac_or_hash<TLS_12_PRF>
    - SCAN_Name::arg_as_integer
    - std::make_unique<X942_PRF>
    - kdf_create_mac_or_hash<SP800_108_Pipeline>
    - std::make_unique<SP800_56C_One_Step_HMAC>
    - std::make_unique<KDF1_18033>
    - Botan::MessageAuthenticationCode::create
    - kdf_create_mac_or_hash<HKDF_Extract>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> KDF::create(std::string_view algo_spec, std::string_view
      provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:204,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/kdf/kdf.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: Botan::KDF::create_or_throw
    functionSourceFile: /src/botan/src/lib/kdf/kdf.cpp
    functionUses: 1
    functionsReached:
    - Lookup_Error
    - Botan::PBKDF::create
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> KDF::create_or_throw(std::string_view algo, std::string_view
      provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<KDF>
      Src: /src/botan/src/lib/kdf/kdf.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: Botan::KDF::providers
    functionSourceFile: /src/botan/src/lib/kdf/kdf.cpp
    functionUses: 0
    functionsReached:
    - probe_providers_of<KDF>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> KDF::providers(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X942_PRF>
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::X942_PRF::new_object
    functionSourceFile: /src/botan/src/lib/kdf/prf_x942/prf_x942.h
    functionUses: 0
    functionsReached:
    - std::make_unique<X942_PRF>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - oid
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::X942_PRF::X942_PRF
    functionSourceFile: /src/botan/src/lib/kdf/prf_x942/prf_x942.h
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    linkageType: ''
    returnType: void
    signature: void X942_PRF(std::string_view oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::X942_PRF::X942_PRF
    functionSourceFile: /src/botan/src/lib/kdf/prf_x942/prf_x942.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X942_PRF(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:25,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:28,1
    - Dst: auto::data
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:28,1
    - Dst: auto::size
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: Botan::encode_x942_int
    functionSourceFile: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_be
    - DER_Encoder
    - auto::size
    - auto::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encode_x942_int(uint32_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:38,1
    - Dst: ceil_division<uint64_t /* for 32bit systems */>
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:43,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:43,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:48,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:50,1
    - Dst: concat
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:51,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:54,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:55,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:57,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:58,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:59,1
    - Dst: encode_x942_int
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:64,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:67,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:67,1
    - Dst: encode_x942_int
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:70,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:70,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:70,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:78,1
    - Dst: auto::final
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:79,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:79,1
    - Dst: auto::final
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:82,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:83,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:83,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 86
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 86
    functionName: Botan::X942_PRF::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - BufferStuffer::remaining_capacity
    - first
    - encode_x942_int
    - ceil_division<uint64_t /* for 32bit systems */>
    - BufferStuffer::append
    - std::span<const uint8_t>::empty
    - BufferStuffer::next
    - auto::update
    - std::span<uint8_t>::empty
    - DER_Encoder
    - concat
    - BOTAN_ARG_CHECK
    - Botan::HashFunction::create
    - BufferStuffer::full
    - auto::final
    - static_cast<uint32_t>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void X942_PRF::perform_kdf(std::span<uint8_t> key,\n                           std::span<const
      uint8_t> secret,\n                           std::span<const uint8_t> salt,\n
      \                          std::span<const uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::X942_PRF::name
    functionSourceFile: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp
    functionUses: 0
    functionsReached:
    - to_formatted_string
    linkageType: ''
    returnType: std::string
    signature: std::string X942_PRF::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:41,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:47,1
    - Dst: Botan::clear
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:68,1
    - Dst: init_h_callback
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:69,1
    - Dst: update_be
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:72,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:73,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:74,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:75,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:78,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:78,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:78,1
    - Dst: auto::end
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:78,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:82,1
    - Dst: std::span
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:82,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - output_buffer
    - z
    - fixed_info
    - ' hash_or_mac'
    - ' init_h_callback'
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - HashOrMacType
    - std::function<void(HashOrMacType&)>
    constantsTouched: []
    func_position:
      end: 83
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 83
    functionName: Botan::kdm_internal
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - Botan::copy_mem
    - std::span
    - std::span<uint8_t>::size
    - update_be
    - auto::end
    - Botan::update
    - Botan::final
    - BOTAN_ARG_CHECK
    - secure_vector::insert
    - init_h_callback
    - Botan::clear
    - secure_vector::end
    linkageType: ''
    returnType: void
    signature: "void kdm_internal(std::span<uint8_t> output_buffer,\n                  std::span<const
      uint8_t> z,\n                  std::span<const uint8_t> fixed_info,\n                  HashOrMacType&
      hash_or_mac,\n                  const std::function<void(HashOrMacType&)>& init_h_callback)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:91,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:91,1
    - Dst: kdm_internal<HashFunction>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: Botan::SP800_56C_One_Step_Hash::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - kdm_internal<HashFunction>
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: "void SP800_56C_One_Step_Hash::perform_kdf(std::span<uint8_t> key,\n
      \                                         std::span<const uint8_t> secret,\n
      \                                         std::span<const uint8_t> salt,\n                                          std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:96,1
    - Dst: Botan::SP800_56C_One_Step_Hash::name
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Botan::SP800_56C_One_Step_Hash::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::SP800_56C_One_Step_Hash::name
    linkageType: ''
    returnType: std::string
    signature: std::string SP800_56C_One_Step_Hash::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_56C_One_Step_Hash>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:100,1
    - Dst: Botan::SP800_56C_One_Step_Hash::new_object
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Botan::SP800_56C_One_Step_Hash::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<SP800_56C_One_Step_Hash>
    - Botan::SP800_56C_One_Step_Hash::new_object
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> SP800_56C_One_Step_Hash::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:104,1
    - Dst: Botan::SP800_56C_One_Step_HMAC::name
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:106,1
    - Dst: Algorithm_Not_Found
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: Botan::SP800_56C_One_Step_HMAC::SP800_56C_One_Step_HMAC
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Algorithm_Not_Found
    - Botan::SP800_56C_One_Step_HMAC::name
    linkageType: ''
    returnType: void
    signature: void SP800_56C_One_Step_HMAC::SP800_56C_One_Step_HMAC(std::unique_ptr<MessageAuthenticationCode>
      mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kdm_internal<MessageAuthenticationCode>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:115,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: Botan::SP800_56C_One_Step_HMAC::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - kdm_internal<MessageAuthenticationCode>
    linkageType: ''
    returnType: void
    signature: "void SP800_56C_One_Step_HMAC::perform_kdf(std::span<uint8_t> key,\n
      \                                         std::span<const uint8_t> secret,\n
      \                                         std::span<const uint8_t> salt,\n                                          std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:129,1
    - Dst: Botan::SP800_56C_One_Step_HMAC::name
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::SP800_56C_One_Step_HMAC::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::SP800_56C_One_Step_HMAC::name
    linkageType: ''
    returnType: std::string
    signature: std::string SP800_56C_One_Step_HMAC::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_56C_One_Step_HMAC>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:133,1
    - Dst: Botan::SP800_56C_One_Step_HMAC::new_object
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::SP800_56C_One_Step_HMAC::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<SP800_56C_One_Step_HMAC>
    - Botan::SP800_56C_One_Step_HMAC::new_object
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> SP800_56C_One_Step_HMAC::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_kmac_instance
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:141,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:141,1
    - Dst: kdm_internal<MessageAuthenticationCode>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:142,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:146,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:152,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:152,1
    - Dst: default_salt_length
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:152,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:154,1
    - Dst: start
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: Botan::SP800_56A_One_Step_KMAC_Abstract::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - create_kmac_instance
    - std::span<uint8_t>::size
    - set_key
    - default_salt_length
    - start
    - std::vector<uint8_t>
    - kdm_internal<MessageAuthenticationCode>
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: "void SP800_56A_One_Step_KMAC_Abstract::perform_kdf(std::span<uint8_t>
      key,\n                                                   std::span<const uint8_t>
      secret,\n                                                   std::span<const
      uint8_t> salt,\n                                                   std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KMAC128>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output_byte_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: Botan::SP800_56C_One_Step_KMAC128::create_kmac_instance
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KMAC128>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: "std::unique_ptr<MessageAuthenticationCode> SP800_56C_One_Step_KMAC128::create_kmac_instance(\n
      \  size_t output_byte_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KMAC256>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output_byte_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: Botan::SP800_56C_One_Step_KMAC256::create_kmac_instance
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KMAC256>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: "std::unique_ptr<MessageAuthenticationCode> SP800_56C_One_Step_KMAC256::create_kmac_instance(\n
      \  size_t output_byte_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::SP800_56C_One_Step_Hash::SP800_56C_One_Step_Hash
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SP800_56C_One_Step_Hash(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Botan::SP800_56C_One_Step_KMAC128::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_56C_One_Step_KMAC128>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan::SP800_56C_One_Step_KMAC128::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SP800_56C_One_Step_KMAC128>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan::SP800_56C_One_Step_KMAC128::default_salt_length
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t default_salt_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::SP800_56C_One_Step_KMAC256::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_56C_One_Step_KMAC256>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Botan::SP800_56C_One_Step_KMAC256::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SP800_56C_One_Step_KMAC256>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: Botan::SP800_56C_One_Step_KMAC256::default_salt_length
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t default_salt_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:21,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:23,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:28,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:31,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:31,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:35,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:35,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:36,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:41,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:41,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:42,1
    - Dst: auto::update_be
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:43,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:43,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:43,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:44,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:45,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:46,1
    - Dst: auto::final
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:48,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:52,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:53,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:54,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:55,1
    - Dst: auto::final
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:57,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:63,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:63,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:64,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:66,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:73,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:74,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:75,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:76,1
    - Dst: auto::final
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - hash_fn
    - output
    - input
    - domain_sep
    argTypes:
    - std::string_view
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 80
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 80
    functionName: Botan::expand_message_xmd
    functionSourceFile: /src/botan/src/lib/kdf/xmd/xmd.cpp
    functionUses: 2
    functionsReached:
    - std::span<uint8_t>::subspan
    - Botan::fmt
    - std::span<uint8_t>::size
    - std::vector<uint8_t>
    - Not_Implemented
    - std::span<const uint8_t>::size
    - auto::update
    - std::span<uint8_t>::empty
    - Invalid_Argument
    - Botan::HashFunction::create_or_throw
    - static_cast<uint16_t>
    - auto::update_be
    - Botan::copy_mem
    - auto::final
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: "void expand_message_xmd(std::string_view hash_fn,\n                        std::span<uint8_t>
      output,\n                        std::span<const uint8_t> input,\n                        std::span<const
      uint8_t> domain_sep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:31,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:31,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:31,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:33,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:33,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:33,1
    - Dst: Botan::expand_message_xmd
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - hash_fn
    - output
    - input_str
    - domain_sep_str
    argTypes:
    - std::string_view
    - std::span<uint8_t>
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: Botan::expand_message_xmd
    functionSourceFile: /src/botan/src/lib/kdf/xmd/xmd.h
    functionUses: 3
    functionsReached:
    - Botan::expand_message_xmd
    - std::string_view::size
    - reinterpret_cast<const uint8_t*>
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: "void expand_message_xmd(std::string_view hash_fn,\n                               std::span<uint8_t>
      output,\n                               std::string_view input_str,\n                               std::string_view
      domain_sep_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:22,1
    - Dst: output_length
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:26,1
    - Dst: ceil_division<uint64_t /* for 32bit systems */>
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:27,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:27,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:32,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:35,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:36,1
    - Dst: update_be
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:37,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:38,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:39,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:43,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:44,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:44,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:46,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:47,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:47,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: Botan::KDF1_18033::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - update
    - first
    - ceil_division<uint64_t /* for 32bit systems */>
    - BufferStuffer::append
    - BufferStuffer::next
    - update_be
    - std::span<uint8_t>::empty
    - output_length
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    - final
    - BufferStuffer::remaining_capacity
    linkageType: ''
    returnType: void
    signature: "void KDF1_18033::perform_kdf(std::span<uint8_t> key,\n                             std::span<const
      uint8_t> secret,\n                             std::span<const uint8_t> salt,\n
      \                            std::span<const uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:53,1
    - Dst: Botan::KDF1_18033::name
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::KDF1_18033::name
    functionSourceFile: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::KDF1_18033::name
    linkageType: ''
    returnType: std::string
    signature: std::string KDF1_18033::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KDF1_18033>
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:57,1
    - Dst: Botan::KDF1_18033::new_object
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::KDF1_18033::new_object
    functionSourceFile: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp
    functionUses: 1
    functionsReached:
    - Botan::KDF1_18033::new_object
    - std::make_unique<KDF1_18033>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> KDF1_18033::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::KDF1_18033::KDF1_18033
    functionSourceFile: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KDF1_18033(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:27,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - counter_bits
    - output_length_bits
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: Botan::CounterParams::validate_bit_lengths
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void validate_bit_lengths(size_t counter_bits, size_t output_length_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:39,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:39,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:39,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:41,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:43,1
    - Dst: ceil_division<uint64_t /* for 32bit systems */>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:47,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:53,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - output_bytes
    - output_length_bits
    - counter_bits
    - prf_output_bytes
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 61
    functionName: Botan::CounterParams::create_or_throw
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - ceil_division<uint64_t /* for 32bit systems */>
    - cryptofuzz::mutator::ExpModGenerator::max
    - BOTAN_ARG_CHECK
    - static_cast<uint32_t>
    linkageType: ''
    returnType: CounterParams
    signature: "CounterParams create_or_throw(size_t output_bytes,\n                                                     size_t
      output_length_bits,\n                                                     size_t
      counter_bits,\n                                                     size_t prf_output_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:65,1
    - Dst: store_be
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:67,1
    - Dst: fn
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:68,1
    - Dst: last
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:68,1
    - Dst: last
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - Fn
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: Botan::CounterParams::generate_blocks
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - last
    - fn
    linkageType: ''
    returnType: void
    signature: void generate_blocks(Fn fn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan::CounterParams::CounterParams
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CounterParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:86,1
    - Dst: Botan::CounterParams::validate_bit_lengths
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mac
    - r
    - L
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: Botan::SP800_108_Counter::SP800_108_Counter
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CounterParams::validate_bit_lengths
    linkageType: ''
    returnType: void
    signature: void SP800_108_Counter::SP800_108_Counter(std::unique_ptr<MessageAuthenticationCode>
      mac, size_t r, size_t L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:93,1
    - Dst: Botan::SP800_108_Counter::name
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:93,1
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:94,1
    - Dst: Botan::SP800_108_Counter::name
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: Botan::SP800_108_Counter::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::SP800_108_Counter::name
    linkageType: ''
    returnType: std::string
    signature: std::string SP800_108_Counter::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_108_Counter>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:98,1
    - Dst: Botan::SP800_108_Counter::new_object
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan::SP800_108_Counter::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<SP800_108_Counter>
    - Botan::SP800_108_Counter::new_object
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> SP800_108_Counter::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:105,1
    - Dst: output_length
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:109,1
    - Dst: Botan::CounterParams::create_or_throw
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:110,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:110,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:115,1
    - Dst: auto::generate_blocks
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:117,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:118,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:119,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:120,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:121,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:122,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:126,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:127,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:127,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:129,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:130,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:130,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:130,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:134,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: Botan::SP800_108_Counter::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - set_key
    - update
    - first
    - BufferStuffer::append
    - BufferStuffer::next
    - std::span<uint8_t>::empty
    - Botan::CounterParams::create_or_throw
    - output_length
    - auto::generate_blocks
    - BufferStuffer::full
    - BOTAN_ASSERT_NOMSG
    - final
    - BufferStuffer::remaining_capacity
    linkageType: ''
    returnType: void
    signature: "void SP800_108_Counter::perform_kdf(std::span<uint8_t> key,\n                                    std::span<const
      uint8_t> secret,\n                                    std::span<const uint8_t>
      salt,\n                                    std::span<const uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:138,1
    - Dst: Botan::CounterParams::validate_bit_lengths
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mac
    - r
    - L
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: Botan::SP800_108_Feedback::SP800_108_Feedback
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CounterParams::validate_bit_lengths
    linkageType: ''
    returnType: void
    signature: void SP800_108_Feedback::SP800_108_Feedback(std::unique_ptr<MessageAuthenticationCode>
      mac, size_t r, size_t L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:145,1
    - Dst: Botan::SP800_108_Feedback::name
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:145,1
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:146,1
    - Dst: Botan::SP800_108_Feedback::name
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: Botan::SP800_108_Feedback::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::SP800_108_Feedback::name
    linkageType: ''
    returnType: std::string
    signature: std::string SP800_108_Feedback::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_108_Feedback>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:150,1
    - Dst: Botan::SP800_108_Feedback::new_object
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan::SP800_108_Feedback::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 1
    functionsReached:
    - Botan::SP800_108_Feedback::new_object
    - std::make_unique<SP800_108_Feedback>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> SP800_108_Feedback::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:157,1
    - Dst: output_length
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:161,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:162,1
    - Dst: Botan::CounterParams::create_or_throw
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:164,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:164,1
    - Dst: BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:167,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:168,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:168,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:169,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:169,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:172,1
    - Dst: auto::generate_blocks
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:174,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:175,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:176,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:177,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:178,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:179,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:180,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:181,1
    - Dst: std::min
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:183,1
    - Dst: auto::size
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:183,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:183,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:184,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:184,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:187,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 188
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 188
    functionName: Botan::SP800_108_Feedback::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - final
    - BufferStuffer::remaining_capacity
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::remaining
    - Botan::CounterParams::create_or_throw
    - output_length
    - auto::size
    - auto::generate_blocks
    - std::min
    - first
    - std::span<uint8_t>::size
    - set_key
    - update
    - BufferSlicer::take
    - BufferSlicer::empty
    - std::span<uint8_t>::empty
    - BufferStuffer::append
    - std::span<const uint8_t>::size
    - BufferStuffer::full
    - BufferSlicer::copy_as_secure_vector
    linkageType: ''
    returnType: void
    signature: "void SP800_108_Feedback::perform_kdf(std::span<uint8_t> key,\n                                     std::span<const
      uint8_t> secret,\n                                     std::span<const uint8_t>
      salt,\n                                     std::span<const uint8_t> label)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:191,1
    - Dst: Botan::CounterParams::validate_bit_lengths
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mac
    - r
    - L
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: Botan::SP800_108_Pipeline::SP800_108_Pipeline
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CounterParams::validate_bit_lengths
    linkageType: ''
    returnType: void
    signature: void SP800_108_Pipeline::SP800_108_Pipeline(std::unique_ptr<MessageAuthenticationCode>
      mac, size_t r, size_t L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:198,1
    - Dst: Botan::SP800_108_Pipeline::name
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:198,1
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:199,1
    - Dst: Botan::SP800_108_Pipeline::name
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: Botan::SP800_108_Pipeline::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::SP800_108_Pipeline::name
    linkageType: ''
    returnType: std::string
    signature: std::string SP800_108_Pipeline::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_108_Pipeline>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:203,1
    - Dst: Botan::SP800_108_Pipeline::new_object
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: Botan::SP800_108_Pipeline::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 1
    functionsReached:
    - Botan::SP800_108_Pipeline::new_object
    - std::make_unique<SP800_108_Pipeline>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> SP800_108_Pipeline::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:210,1
    - Dst: output_length
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:214,1
    - Dst: Botan::CounterParams::create_or_throw
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:216,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:216,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:219,1
    - Dst: auto::generate_blocks
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:222,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:224,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:225,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:226,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:227,1
    - Dst: secure_vector::empty
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:230,1
    - Dst: incorporate_constant_input
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:232,1
    - Dst: get
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:232,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:233,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:236,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:237,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:240,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:241,1
    - Dst: incorporate_constant_input
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:242,1
    - Dst: get
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:242,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:246,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:247,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:247,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:251,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:252,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:252,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:252,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:256,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 257
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 257
    functionName: Botan::SP800_108_Pipeline::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - set_key
    - update
    - BufferStuffer::remaining_capacity
    - first
    - BOTAN_ASSERT_NOMSG
    - BufferStuffer::append
    - BufferStuffer::next
    - std::span<uint8_t>::empty
    - Botan::CounterParams::create_or_throw
    - output_length
    - get
    - auto::generate_blocks
    - BufferStuffer::full
    - incorporate_constant_input
    - final
    - secure_vector::empty
    linkageType: ''
    returnType: void
    signature: "void SP800_108_Pipeline::perform_kdf(std::span<uint8_t> key,\n                                     std::span<const
      uint8_t> secret,\n                                     std::span<const uint8_t>
      salt,\n                                     std::span<const uint8_t> label)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.h:30,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mac
    - exp
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - std::unique_ptr<KDF>
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: Botan::SP800_56C_Two_Step::SP800_56C_Two_Step
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SP800_56C_Two_Step(std::unique_ptr<MessageAuthenticationCode>
      mac, std::unique_ptr<KDF> exp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:16,1
    - Dst: Botan::SP800_56C_Two_Step::name
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: Botan::SP800_56C_Two_Step::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::SP800_56C_Two_Step::name
    linkageType: ''
    returnType: std::string
    signature: std::string SP800_56C_Two_Step::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_56C_Two_Step>
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:20,1
    - Dst: Botan::SP800_56C_Two_Step::new_object
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:20,1
    - Dst: Botan::SP800_56C_Two_Step::new_object
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::SP800_56C_Two_Step::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<SP800_56C_Two_Step>
    - Botan::SP800_56C_Two_Step::new_object
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> SP800_56C_Two_Step::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:28,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:29,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:30,1
    - Dst: derive_key
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: Botan::SP800_56C_Two_Step::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp
    functionUses: 0
    functionsReached:
    - derive_key
    - set_key
    - update
    - final
    linkageType: ''
    returnType: void
    signature: "void SP800_56C_Two_Step::perform_kdf(std::span<uint8_t> key,\n                                     std::span<const
      uint8_t> secret,\n                                     std::span<const uint8_t>
      salt,\n                                     std::span<const uint8_t> label)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:19,1
    - Dst: Botan::KDF2::name
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::KDF2::name
    functionSourceFile: /src/botan/src/lib/kdf/kdf2/kdf2.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::KDF2::name
    linkageType: ''
    returnType: std::string
    signature: std::string KDF2::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KDF2>
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:23,1
    - Dst: Botan::KDF2::new_object
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::KDF2::new_object
    functionSourceFile: /src/botan/src/lib/kdf/kdf2/kdf2.cpp
    functionUses: 1
    functionsReached:
    - Botan::KDF2::new_object
    - std::make_unique<KDF2>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> KDF2::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:30,1
    - Dst: ceil_division<uint64_t /* for 32bit systems */>
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:35,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:35,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:40,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:43,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:44,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:46,1
    - Dst: update_be
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:47,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:48,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:49,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:53,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:54,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:54,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:56,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:57,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:57,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: Botan::KDF2::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/kdf2/kdf2.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - BufferStuffer::remaining_capacity
    - update
    - first
    - ceil_division<uint64_t /* for 32bit systems */>
    - BufferStuffer::append
    - BufferStuffer::next
    - update_be
    - std::span<uint8_t>::empty
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    - final
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void KDF2::perform_kdf(std::span<uint8_t> key,\n                       std::span<const
      uint8_t> secret,\n                       std::span<const uint8_t> salt,\n                       std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::KDF2::KDF2
    functionSourceFile: /src/botan/src/lib/kdf/kdf2/kdf2.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KDF2(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::KDF1::KDF1
    functionSourceFile: /src/botan/src/lib/kdf/kdf1/kdf1.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KDF1(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:18,1
    - Dst: Botan::KDF1::name
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::KDF1::name
    functionSourceFile: /src/botan/src/lib/kdf/kdf1/kdf1.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::KDF1::name
    linkageType: ''
    returnType: std::string
    signature: std::string KDF1::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KDF1>
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:22,1
    - Dst: Botan::KDF1::new_object
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::KDF1::new_object
    functionSourceFile: /src/botan/src/lib/kdf/kdf1/kdf1.cpp
    functionUses: 1
    functionsReached:
    - Botan::KDF1::new_object
    - std::make_unique<KDF1>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> KDF1::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:29,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:34,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:34,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:36,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:37,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:38,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:40,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:42,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:45,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:46,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:46,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 48
    functionName: Botan::KDF1::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/kdf1/kdf1.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - update
    - copy_mem
    - std::span<uint8_t>::empty
    - BOTAN_ARG_CHECK
    - final
    - first
    linkageType: ''
    returnType: void
    signature: "void KDF1::perform_kdf(std::span<uint8_t> key,\n                       std::span<const
      uint8_t> secret,\n                       std::span<const uint8_t> salt,\n                       std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::TLS_12_PRF::TLS_12_PRF
    functionSourceFile: /src/botan/src/lib/kdf/prf_tls/prf_tls.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TLS_12_PRF(std::unique_ptr<MessageAuthenticationCode> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:26,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:28,1
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:28,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:28,1
    - Dst: concat
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:31,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:35,1
    - Dst: process
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:36,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:38,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:39,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:40,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:41,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:44,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:44,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 46
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 46
    functionName: Botan::TLS_12_PRF::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - update
    - Internal_Error
    - std::span<const uint8_t>::size
    - process
    - concat
    - BufferStuffer::next
    - fmt
    - BufferStuffer::full
    - xor_buf
    - final
    - first
    linkageType: ''
    returnType: void
    signature: "void TLS_12_PRF::perform_kdf(std::span<uint8_t> key,\n                             std::span<const
      uint8_t> secret,\n                             std::span<const uint8_t> salt,\n
      \                            std::span<const uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:49,1
    - Dst: Botan::TLS_12_PRF::name
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::TLS_12_PRF::name
    functionSourceFile: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::TLS_12_PRF::name
    linkageType: ''
    returnType: std::string
    signature: std::string TLS_12_PRF::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TLS_12_PRF>
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:53,1
    - Dst: Botan::TLS_12_PRF::new_object
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::TLS_12_PRF::new_object
    functionSourceFile: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS_12_PRF::new_object
    - std::make_unique<TLS_12_PRF>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> TLS_12_PRF::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prf
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::HKDF::HKDF
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HKDF(std::unique_ptr<MessageAuthenticationCode> prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prf
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::HKDF_Extract::HKDF_Extract
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HKDF_Extract(std::unique_ptr<MessageAuthenticationCode> prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prf
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::HKDF_Expand::HKDF_Expand
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HKDF_Expand(std::unique_ptr<MessageAuthenticationCode> prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HKDF>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:20,1
    - Dst: Botan::HKDF::new_object
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::HKDF::new_object
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<HKDF>
    - Botan::HKDF::new_object
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> HKDF::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:24,1
    - Dst: Botan::HKDF::name
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::HKDF::name
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::HKDF::name
    linkageType: ''
    returnType: std::string
    signature: std::string HKDF::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HKDF::new_object
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:31,1
    - Dst: Botan::HKDF::new_object
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:32,1
    - Dst: output_length
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:33,1
    - Dst: HKDF_Extract::derive_key
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:35,1
    - Dst: HKDF_Expand::derive_key
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: Botan::HKDF::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 0
    functionsReached:
    - Botan::HKDF::new_object
    - HKDF_Extract::derive_key
    - output_length
    - HKDF_Expand::derive_key
    linkageType: ''
    returnType: void
    signature: "void HKDF::perform_kdf(std::span<uint8_t> key,\n                       std::span<const
      uint8_t> secret,\n                       std::span<const uint8_t> salt,\n                       std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HKDF_Extract>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:40,1
    - Dst: Botan::HKDF_Extract::new_object
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::HKDF_Extract::new_object
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - Botan::HKDF_Extract::new_object
    - std::make_unique<HKDF_Extract>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> HKDF_Extract::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:44,1
    - Dst: Botan::HKDF_Extract::name
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::HKDF_Extract::name
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::HKDF_Extract::name
    linkageType: ''
    returnType: std::string
    signature: std::string HKDF_Extract::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:52,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:52,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:53,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:53,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:55,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:59,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:60,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:60,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:62,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:65,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:67,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:68,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:70,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:71,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:71,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 73
    functionName: Botan::HKDF_Extract::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - set_key
    - update
    - first
    - std::vector<uint8_t>
    - copy_mem
    - std::span<uint8_t>::empty
    - BOTAN_ARG_CHECK
    - final
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: "void HKDF_Extract::perform_kdf(std::span<uint8_t> key,\n                               std::span<const
      uint8_t> secret,\n                               std::span<const uint8_t> salt,\n
      \                              std::span<const uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HKDF_Expand>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:76,1
    - Dst: Botan::HKDF_Expand::new_object
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Botan::HKDF_Expand::new_object
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<HKDF_Expand>
    - Botan::HKDF_Expand::new_object
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> HKDF_Expand::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:80,1
    - Dst: Botan::HKDF_Expand::name
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::HKDF_Expand::name
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::HKDF_Expand::name
    linkageType: ''
    returnType: std::string
    signature: std::string HKDF_Expand::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:87,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:88,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:88,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:90,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:98,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:99,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:100,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:101,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:102,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:103,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:107,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:108,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:109,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:111,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:113,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:113,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 116
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 116
    functionName: Botan::HKDF_Expand::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - set_key
    - update
    - first
    - BufferStuffer::append
    - BufferStuffer::next
    - std::span<uint8_t>::empty
    - output_length
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    - final
    - BufferStuffer::remaining_capacity
    linkageType: ''
    returnType: void
    signature: "void HKDF_Expand::perform_kdf(std::span<uint8_t> key,\n                              std::span<const
      uint8_t> secret,\n                              std::span<const uint8_t> salt,\n
      \                             std::span<const uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:123,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:124,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:124,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:125,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:125,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:127,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:127,1
    - Dst: Botan::concat
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:129,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:129,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:129,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:130,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:130,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:130,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:131,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:131,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:131,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:132,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:132,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:132,1
    - Dst: HKDF_Expand::derive_key
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - hash_fn
    - secret
    - label
    - hash_val
    - length
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::string_view
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 140
    functionName: Botan::hkdf_expand_label
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - Botan::concat
    - std::string_view::size
    - Botan::fmt
    - std::string_view::data
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::store_be
    - HKDF_Expand::derive_key
    - static_cast<uint8_t>
    - std::span<const uint8_t>::size
    - static_cast<uint16_t>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> hkdf_expand_label(std::string_view hash_fn,\n
      \                                        std::span<const uint8_t> secret,\n
      \                                        std::string_view label,\n                                         std::span<const
      uint8_t> hash_val,\n                                         size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_algid
      Src: /src/botan/src/lib/asn1/pss_params.h:50,1
    - Dst: mgf_algid
      Src: /src/botan/src/lib/asn1/pss_params.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 67
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.h
    functionUses: 0
    functionsReached:
    - hash_algid
    - mgf_algid
    linkageType: ''
    returnType: PSS_Params
    signature: PSS_Params ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Object::encode_into
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: Botan::ASN1_Object::BER_encode
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_Object::encode_into
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ASN1_Object::BER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BER_Object::is_a
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:30,1
    - Dst: asn1_tag_to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:39,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:41,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:41,1
    - Dst: asn1_class_to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:44,1
    - Dst: asn1_tag_to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:50,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:52,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:52,1
    - Dst: asn1_class_to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:55,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:57,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:57,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - expected_type_tag
    - expected_class_tag
    - descr
    argTypes:
    - ASN1_Type
    - ASN1_Class
    - std::string_view
    constantsTouched: []
    func_position:
      end: 59
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: Botan::BER_Object::assert_is_a
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::BER_Object::is_a
    - BER_Decoding_Error
    - std::to_string
    - asn1_class_to_string
    - std::stringstream::str
    - asn1_tag_to_string
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void BER_Object::assert_is_a(ASN1_Type expected_type_tag, ASN1_Class
      expected_class_tag, std::string_view descr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - expected_type_tag
    - expected_class_tag
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::BER_Object::is_a
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BER_Object::is_a(ASN1_Type expected_type_tag, ASN1_Class expected_class_tag)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BER_Object::is_a
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:66,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expected_type_tag
    - expected_class_tag
    argTypes:
    - int
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::BER_Object::is_a
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 2
    functionsReached:
    - ASN1_Type
    - Botan::BER_Object::is_a
    linkageType: ''
    returnType: bool
    signature: bool BER_Object::is_a(int expected_type_tag, ASN1_Class expected_class_tag)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type_tag
    - class_tag
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: Botan::BER_Object::set_tagging
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BER_Object::set_tagging(ASN1_Type type_tag, ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:89,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: Botan::asn1_class_to_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    - static_cast<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string asn1_class_to_string(ASN1_Class type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:156,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - type
    argTypes:
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 158
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 158
    functionName: Botan::asn1_tag_to_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::string
    signature: std::string asn1_tag_to_string(ASN1_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Botan::BER_Decoding_Error::BER_Decoding_Error
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void BER_Decoding_Error::BER_Decoding_Error(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - str
    - tagging
    argTypes:
    - std::string_view
    - uint32_t
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: Botan::BER_Bad_Tag::BER_Bad_Tag
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 1
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void BER_Bad_Tag::BER_Bad_Tag(std::string_view str, uint32_t tagging)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:173,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:173,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' contents'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: Botan::ASN1::put_in_sequence
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 5
    functionsReached:
    - data
    - Botan::ASN1::put_in_sequence
    - size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> put_in_sequence(const std::vector<uint8_t>& contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bits
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: Botan::ASN1::put_in_sequence
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 5
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> put_in_sequence(const uint8_t bits[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:186,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:186,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:186,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - BER_Object
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: Botan::ASN1::to_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 3
    functionsReached:
    - std::string
    - length
    - cast_uint8_ptr_to_char
    - bits
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(const BER_Object& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_byte
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:194,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:195,1
    - Dst: read_byte
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:195,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:196,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:199,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: Botan::ASN1::maybe_BER
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint8_t>
    - BOTAN_ASSERT_EQUAL
    - peek_byte
    - Stream_IO_Error
    - read_byte
    linkageType: ''
    returnType: bool
    signature: bool maybe_BER(DataSource& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: matches
      Src: /src/botan/src/lib/asn1/static_oids.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' oid'
    - val
    - name
    argTypes:
    - OID
    - std::initializer_list<uint32_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: Botan::if_match
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached:
    - matches
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> if_match(const OID& oid, std::initializer_list<uint32_t>
      val, std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/asn1/static_oids.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - actual
    - oid
    argTypes:
    - std::string_view
    - std::string_view
    - std::initializer_list<uint32_t>
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: Botan::if_match
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached:
    - OID
    linkageType: ''
    returnType: std::optional<OID>
    signature: std::optional<OID> if_match(std::string_view req, std::string_view
      actual, std::initializer_list<uint32_t> oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/static_oids.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: Botan::hash_oid_name
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_oid_name(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:54,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:56,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:58,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:60,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:62,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:64,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:66,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:68,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:70,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:72,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:74,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:76,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:78,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:80,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:82,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:84,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:86,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:88,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:90,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:92,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:94,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:96,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:98,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:100,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:102,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:104,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:106,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:108,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:110,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:112,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:114,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:116,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:118,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:120,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:122,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:124,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:126,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:128,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:130,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:132,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:134,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:136,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:138,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:140,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:142,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:144,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:146,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:148,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:150,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:152,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:154,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:156,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:158,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:160,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:162,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:164,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:166,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:168,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:170,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:172,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:174,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:176,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:178,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:180,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:182,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:184,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:186,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:188,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:190,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:192,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:194,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:196,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:198,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:200,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:202,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:204,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:206,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:208,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:210,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:212,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:214,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:216,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:218,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:220,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:222,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:224,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:226,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:228,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:230,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:232,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:234,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:236,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:238,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:240,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:242,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:244,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:246,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:248,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:250,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:252,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:254,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:256,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:258,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:260,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:262,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:264,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:266,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:268,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:270,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:272,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:274,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:276,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:278,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:280,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:282,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:284,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:286,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:288,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:290,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:292,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:294,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:296,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:298,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:300,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:302,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:304,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:306,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:308,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:310,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:312,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:314,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:316,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:318,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:320,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:322,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:324,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:326,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:328,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:330,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:332,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:334,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:336,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:338,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:340,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:342,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:344,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:346,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:348,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:350,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:352,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:354,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:356,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:358,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:360,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:362,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:364,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:366,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:368,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:370,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:372,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:374,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:376,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:378,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:380,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:382,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:384,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:386,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:388,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:390,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:392,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:394,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:396,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:398,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:400,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:402,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:404,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:406,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:408,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:410,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:412,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:414,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:416,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:418,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:420,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:422,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:424,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:426,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:428,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:430,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:432,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:434,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:436,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:438,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:440,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:442,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:444,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:446,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:448,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:450,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:452,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:454,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:456,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:458,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:460,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:462,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:464,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:466,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:468,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:470,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:472,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:474,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:476,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:478,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:480,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:482,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:484,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:486,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:488,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:490,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:492,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:494,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:496,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:498,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:500,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:502,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:504,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:506,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:508,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:510,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:512,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:514,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:516,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:518,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:520,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:522,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:524,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:526,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:528,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:530,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:532,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:534,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:536,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:538,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:540,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:542,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:544,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:546,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:548,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:550,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:552,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:554,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:556,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:558,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:560,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:562,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:564,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:566,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:568,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:570,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:572,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:574,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:576,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:578,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:580,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:582,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:584,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:586,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:588,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:590,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:592,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:594,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:596,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:598,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:600,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:602,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:604,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:606,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:608,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:610,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:612,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:614,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:616,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:618,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:620,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:622,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:624,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:626,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:628,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:630,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:632,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:634,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:636,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:638,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:640,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:642,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:644,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:646,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:648,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:650,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:652,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:654,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:656,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:658,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:660,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:662,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:664,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:666,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:668,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:670,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:672,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:674,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:676,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:678,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:680,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:682,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:684,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:686,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:688,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:690,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:692,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:694,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:696,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:698,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 653
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 704
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 704
    functionName: Botan::OID_Map::lookup_static_oid
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached:
    - if_match
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> OID_Map::lookup_static_oid(const OID&
      oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:712,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:714,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:716,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:718,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:720,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:722,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:724,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:726,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:728,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:730,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:732,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:734,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:736,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:738,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:740,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:742,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:744,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:746,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:748,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:750,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:752,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:754,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:756,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:758,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:760,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:762,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:764,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:766,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:768,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:770,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:772,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:774,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:776,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:778,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:780,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:782,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:784,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:786,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:788,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:790,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:792,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:794,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:796,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:798,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:800,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:802,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:804,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:806,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:808,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:810,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:812,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:814,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:816,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:818,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:820,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:822,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:824,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:826,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:828,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:830,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:832,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:834,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:836,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:838,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:840,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:842,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:844,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:846,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:848,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:850,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:852,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:854,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:856,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:858,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:860,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:862,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:864,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:866,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:868,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:870,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:872,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:874,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:876,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:878,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:880,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:882,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:884,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:886,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:888,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:890,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:892,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:894,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:896,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:898,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:900,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:902,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:904,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:906,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:908,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:910,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:912,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:914,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:916,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:918,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:920,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:922,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:924,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:926,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:928,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:930,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:932,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:934,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:936,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:938,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:940,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:942,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:944,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:946,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:948,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:950,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:952,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:954,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:956,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:958,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:960,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:962,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:964,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:966,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:968,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:970,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:972,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:974,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:976,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:978,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:980,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:982,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:984,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:986,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:988,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:990,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:992,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:994,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:996,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:998,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1000,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1002,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1004,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1006,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1008,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1010,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1012,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1014,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1016,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1018,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1020,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1022,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1024,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1026,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1028,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1030,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1032,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1034,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1036,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1038,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1040,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1042,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1044,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1046,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1048,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1050,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1052,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1054,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1056,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1058,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1060,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1062,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1064,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1066,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1068,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1070,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1072,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1074,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1076,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1078,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1080,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1082,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1084,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1086,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1088,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1090,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1092,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1094,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1096,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1098,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1100,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1102,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1104,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1106,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1108,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1110,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1112,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1114,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1116,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1118,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1120,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1122,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1124,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1126,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1128,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1130,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1132,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1134,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1136,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1138,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1140,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1142,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1144,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1146,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1148,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1150,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1152,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1154,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1156,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1158,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1160,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1162,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1164,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1166,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1168,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1170,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1172,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1174,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1176,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1178,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1180,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1182,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1184,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1186,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1188,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1190,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1192,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1194,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1196,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1198,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1200,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1202,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1204,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1206,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1208,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1210,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1212,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1214,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1216,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1218,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1220,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1222,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1224,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1226,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1228,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1230,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1232,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1234,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1236,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1238,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1240,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1242,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1244,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1246,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1248,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1250,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1252,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1254,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1256,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1258,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1260,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1262,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1264,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1266,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1268,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1270,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1272,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1274,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1276,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1278,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1280,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1282,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1284,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1286,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1288,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1290,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1292,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1294,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1296,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1298,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1300,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1302,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1304,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1306,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1308,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1310,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1312,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1314,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1316,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1318,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1320,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1322,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1324,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1326,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1328,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1330,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1332,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1334,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1336,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1338,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1340,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1342,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1344,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1346,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1348,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1350,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1352,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1354,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1356,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 653
    argCount: 1
    argNames:
    - req
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 1362
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 1362
    functionName: Botan::OID_Map::lookup_static_oid_name
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached:
    - if_match
    linkageType: ''
    returnType: std::optional<OID>
    signature: std::optional<OID> OID_Map::lookup_static_oid_name(std::string_view
      req)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1371
    functionName: Botan::OID_Map::load_oid2str_map
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<OID, std::string>
    signature: std::unordered_map<OID, std::string> OID_Map::load_oid2str_map()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1394
    functionName: Botan::OID_Map::load_str2oid_map
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<std::string, OID>
    signature: std::unordered_map<std::string, OID> OID_Map::load_str2oid_map()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:27,1
    - Dst: std::span<const uint32_t>::size
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:27,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:28,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:29,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - oid
    argTypes:
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: Botan::oid_valid_check
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint32_t>::size
    linkageType: ''
    returnType: void
    signature: void oid_valid_check(std::span<const uint32_t> oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:43,1
    - Dst: std::vector<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:46,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:46,1
    - Dst: std::string::clear
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:47,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:53,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:54,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:54,1
    - Dst: std::vector<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - oid
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 62
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 62
    functionName: Botan::parse_oid_str
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_u32bit
    - std::string::clear
    - std::vector<uint32_t>
    - std::string::empty
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint32_t>
    signature: std::vector<uint32_t> parse_oid_str(std::string_view oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID_Map::global_registry
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oid'
    - name
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::OID::register_oid
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 5
    functionsReached:
    - OID_Map::global_registry
    linkageType: ''
    returnType: void
    signature: void OID::register_oid(const OID& oid, std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:73,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:74,1
    - Dst: OID_Map::global_registry
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:77,1
    - Dst: OID::has_value
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:78,1
    - Dst: std::optional
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: Botan::OID::from_name
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 5
    functionsReached:
    - OID_Map::global_registry
    - std::optional
    - std::string_view::empty
    - OID::has_value
    - Invalid_Argument
    linkageType: ''
    returnType: std::optional<OID>
    signature: std::optional<OID> OID::from_name(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:87,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:88,1
    - Dst: OID_Map::global_registry
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:91,1
    - Dst: OID::has_value
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:92,1
    - Dst: Botan::OID::OID
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:98,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:101,1
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: Botan::OID::from_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 47
    functionsReached:
    - OID_Map::global_registry
    - std::string_view::empty
    - OID::has_value
    - Invalid_Argument
    - Botan::OID::OID
    - Lookup_Error
    - fmt
    linkageType: ''
    returnType: OID
    signature: OID OID::from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: oid_valid_check
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - init
    argTypes:
    - std::initializer_list<uint32_t>
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: Botan::OID::OID
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 4
    functionsReached:
    - oid_valid_check
    linkageType: ''
    returnType: void
    signature: void OID::OID(std::initializer_list<uint32_t> init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:108,1
    - Dst: oid_valid_check
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' init'
    argTypes:
    - std::vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::OID::OID
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - oid_valid_check
    linkageType: ''
    returnType: void
    signature: void OID::OID(std::vector<uint32_t>&& init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:116,1
    - Dst: parse_oid_str
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:117,1
    - Dst: oid_valid_check
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - oid_str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: Botan::OID::OID
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 4
    functionsReached:
    - parse_oid_str
    - oid_valid_check
    - std::string_view::empty
    linkageType: ''
    returnType: void
    signature: void OID::OID(std::string_view oid_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:128,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:130,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:131,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: Botan::OID::to_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 6
    functionsReached:
    - Botan::OID::to_string
    - std::ostringstream::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string OID::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::human_name_or_empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:140,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:141,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: Botan::OID::to_formatted_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 2
    functionsReached:
    - Botan::OID::to_string
    - Botan::OID::human_name_or_empty
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string OID::to_formatted_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID_Map::global_registry
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan::OID::human_name_or_empty
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 3
    functionsReached:
    - OID_Map::global_registry
    linkageType: ''
    returnType: std::string
    signature: std::string OID::human_name_or_empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::human_name_or_empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: Botan::OID::registered_oid
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::human_name_or_empty
    linkageType: ''
    returnType: bool
    signature: bool OID::registered_oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:157,1
    - Dst: begin
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:157,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:157,1
    - Dst: std::initializer_list<uint32_t>::begin
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:157,1
    - Dst: std::initializer_list<uint32_t>::end
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - std::initializer_list<uint32_t>
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: Botan::OID::matches
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - std::initializer_list<uint32_t>::end
    - end
    - std::initializer_list<uint32_t>::begin
    - begin
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool OID::matches(std::initializer_list<uint32_t> other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: Botan::OID::hash_code
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t OID::hash_code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_components
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:174,1
    - Dst: get_components
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:175,1
    - Dst: std::lexicographical_compare
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:177,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:177,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:177,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:177,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - OID
    - OID
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: operator<(const OID& a, const OID& b)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::end
    - std::lexicographical_compare
    - get_components
    - Botan::begin
    linkageType: ''
    returnType: bool
    signature: bool operator<(const OID& a, const OID& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:184,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:185,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:190,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:190,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:201,1
    - Dst: BOTAN_ASSERT_IS_SOME
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:209,1
    - Dst: checked_add
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:209,1
    - Dst: append
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:211,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:213,1
    - Dst: append
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:214,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 217
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 217
    functionName: Botan::OID::encode_into
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - checked_add
    - BOTAN_ASSERT_IS_SOME
    - append
    - static_cast<uint8_t>
    - Invalid_Argument
    - size
    - add_object
    - push_back
    linkageType: ''
    returnType: void
    signature: void OID::encode_into(DER_Encoder& der) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:223,1
    - Dst: BER_Object::tagging
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:224,1
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:225,1
    - Dst: BER_Object::tagging
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:225,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:228,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:229,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:233,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:233,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:243,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:247,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:248,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:256,1
    - Dst: BER_Object::data
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:270,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:272,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:275,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:288,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:289,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:290,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:292,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 1
    argNames:
    - ' decoder'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 297
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 297
    functionName: Botan::OID::decode_from
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - BER_Decoding_Error
    - BER_Bad_Tag
    - get_next_object
    - empty
    - BER_Object::length
    - BufferSlicer::empty
    - BER_Object::tagging
    - BER_Object::data
    - Decoding_Error
    - std::vector::push_back
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void OID::decode_from(BER_Decoder& decoder)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/asn1/der_enc.h:37,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/asn1/der_enc.h:43,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/der_enc.h:49,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/asn1/der_enc.h:60,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/der_enc.h:64,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/der_enc.h:66,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/der_enc.h:69,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/der_enc.h:69,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/der_enc.h:73,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/der_enc.h:73,1
    - Dst: raw_bytes
      Src: /src/botan/src/lib/asn1/der_enc.h:88,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/der_enc.h:88,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/der_enc.h:88,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/asn1/der_enc.h:99,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/der_enc.h:99,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/der_enc.h:99,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/asn1/der_enc.h:119,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/der_enc.h:119,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/der_enc.h:119,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/asn1/der_enc.h:125,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/der_enc.h:132,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/asn1/der_enc.h:133,1
    - Dst: raw_bytes
      Src: /src/botan/src/lib/asn1/der_enc.h:148,1
    - Dst: get_contents
      Src: /src/botan/src/lib/asn1/der_enc.h:148,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/asn1/der_enc.h:155,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/asn1/der_enc.h:162,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.h:170,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/der_enc.h:170,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/der_enc.h:170,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.h:174,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/der_enc.h:174,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/der_enc.h:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 222
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.h
    functionUses: 17
    functionsReached:
    - std::move
    - BOTAN_DEPRECATED
    - start_cons
    - data
    - get_contents
    - raw_bytes
    - DER_Encoder
    - Botan::encode
    - add_object
    - ASN1_Type
    - Botan::size
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:24,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:26,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:29,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:30,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:31,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:33,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: Botan::choose_encoding
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - Botan::CT::Mask::is_within_range
    - cryptofuzz::module::EC_POINT_Copier::set
    - Botan::CT::Mask::is_any_of
    - auto::as_bool
    linkageType: ''
    returnType: ASN1_Type
    signature: ASN1_Type choose_encoding(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::is_utf8_subset_string_type
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_utf8_subset_string_type(ASN1_Type tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_utf8_subset_string_type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan::is_asn1_string_type
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_utf8_subset_string_type
    linkageType: ''
    returnType: bool
    signature: bool is_asn1_string_type(ASN1_Type tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_asn1_string_type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Botan::ASN1_String::is_string_type
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 1
    functionsReached:
    - is_asn1_string_type
    linkageType: ''
    returnType: bool
    signature: bool ASN1_String::is_string_type(ASN1_Type tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_utf8_subset_string_type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:65,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - str
    - t
    argTypes:
    - std::string_view
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Botan::ASN1_String::ASN1_String
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 7
    functionsReached:
    - is_utf8_subset_string_type
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void ASN1_String::ASN1_String(std::string_view str, ASN1_Type t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: choose_encoding
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::ASN1_String::ASN1_String
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 7
    functionsReached:
    - choose_encoding
    linkageType: ''
    returnType: void
    signature: void ASN1_String::ASN1_String(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:76,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:77,1
    - Dst: is_utf8_subset_string_type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:77,1
    - Dst: tagging
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:77,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:78,1
    - Dst: tagging
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:78,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:81,1
    - Dst: tagging
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:81,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:81,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' encoder'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: Botan::ASN1_String::encode_into
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 2
    functionsReached:
    - tagging
    - is_utf8_subset_string_type
    - data
    - empty
    - size
    - add_object
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void ASN1_String::encode_into(DER_Encoder& encoder) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:89,1
    - Dst: is_asn1_string_type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:91,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:92,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:92,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:93,1
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:93,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:96,1
    - Dst: assign
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:97,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:97,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:97,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:97,1
    - Dst: ucs2_to_utf8
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:100,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:100,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:100,1
    - Dst: ucs4_to_utf8
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:102,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:102,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:102,1
    - Dst: latin1_to_utf8
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:108,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:108,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:108,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 113
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 113
    functionName: Botan::ASN1_String::decode_from
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 4
    functionsReached:
    - latin1_to_utf8
    - ucs2_to_utf8
    - assign
    - data
    - get_next_object
    - is_asn1_string_type
    - BER_Object::length
    - BER_Object::bits
    - Botan::ASN1::to_string
    - fmt
    - ucs4_to_utf8
    - size
    - Decoding_Error
    - BER_Object::type
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void ASN1_String::decode_from(BER_Decoder& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ASN1_Class
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan::intersects
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool intersects(ASN1_Class x, ASN1_Class y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ASN1_Type>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:75,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:75,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ASN1_Type
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator|(ASN1_Type x, ASN1_Type y)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - static_cast<ASN1_Type>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: ASN1_Type
    signature: ASN1_Type operator|(ASN1_Type x, ASN1_Type y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ASN1_Class>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:79,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:79,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ASN1_Class
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: operator|(ASN1_Class x, ASN1_Class y)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - static_cast<ASN1_Class>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: ASN1_Class
    signature: ASN1_Class operator|(ASN1_Class x, ASN1_Class y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:83,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: operator|(ASN1_Type x, ASN1_Class y)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator|(ASN1_Type x, ASN1_Class y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ASN1_Class
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: operator|(ASN1_Class x, ASN1_Type y)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator|(ASN1_Class x, ASN1_Type y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Object()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Object(const ASN1_Object&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Object(ASN1_Object&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~ASN1_Object()
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ASN1_Object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Object
      Src: /src/botan/src/lib/asn1/asn1_obj.h:130,1
    - Dst: type_tag
      Src: /src/botan/src/lib/asn1/asn1_obj.h:140,1
    - Dst: class_tag
      Src: /src/botan/src/lib/asn1/asn1_obj.h:140,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_obj.h:150,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_obj.h:152,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/asn1/asn1_obj.h:172,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/asn1/asn1_obj.h:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 175
    functionName: final
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 162
    functionsReached:
    - type_tag
    - data
    - class_tag
    - size
    - secure_vector::resize
    - BER_Object
    - secure_vector::data
    linkageType: ''
    returnType: BER_Object
    signature: BER_Object final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/asn1/asn1_obj.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: BER_Decoding_Error
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 3
    functionsReached:
    - BER_Bad_Tag
    linkageType: ''
    returnType: BER_Bad_Tag
    signature: BER_Bad_Tag BER_Decoding_Error
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:265,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:271,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/asn1/asn1_obj.h:320,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/asn1/asn1_obj.h:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 332
    functionName: ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEPRECATED
    - empty
    linkageType: ''
    returnType: OID
    signature: OID ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' oid'
    argTypes:
    - std::ostream
    - OID
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: '& operator<<(std::ostream& out, const OID& oid)'
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& out, const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - OID
    - OID
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: operator!=(const OID& a, const OID& b)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const OID& a, const OID& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 409
    functionName: ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_Time
    signature: ASN1_Time ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/asn1/asn1_obj.h:436,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:438,1
    - Dst: value
      Src: /src/botan/src/lib/asn1/asn1_obj.h:445,1
    - Dst: value
      Src: /src/botan/src/lib/asn1/asn1_obj.h:445,1
    - Dst: value
      Src: /src/botan/src/lib/asn1/asn1_obj.h:447,1
    - Dst: value
      Src: /src/botan/src/lib/asn1/asn1_obj.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 456
    functionName: ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - empty
    - value
    linkageType: ''
    returnType: ASN1_String
    signature: ASN1_String ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/asn1/asn1_obj.h:480,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/asn1/asn1_obj.h:482,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:488,1
    - Dst: parameters_are_empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:490,1
    - Dst: parameters_are_null
      Src: /src/botan/src/lib/asn1/asn1_obj.h:490,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:492,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 497
    functionName: ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEPRECATED
    - empty
    - parameters_are_empty
    - parameters_are_null
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:510,1
    - Dst: hash_code
      Src: /src/botan/src/lib/asn1/asn1_obj.h:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - Botan::OID
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: operator()(const Botan::OID& oid) const noexcept
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - hash_code
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Botan::OID& oid) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::isalnum
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:30,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - bits
    - bits_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: Botan::all_printable_chars
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - std::isalnum
    linkageType: ''
    returnType: bool
    signature: bool all_printable_chars(const uint8_t bits[], size_t bits_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::all_printable_chars
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - bits
    - bits_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: Botan::possibly_a_general_name
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - Botan::all_printable_chars
    linkageType: ''
    returnType: bool
    signature: bool possibly_a_general_name(const uint8_t bits[], size_t bits_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Formatter::print_to_stream
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:64,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: Botan::ASN1_Formatter::print
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_Formatter::print_to_stream
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ASN1_Formatter::print(const uint8_t in[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Formatter::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' output'
    - in
    - len
    argTypes:
    - std::ostream
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Botan::ASN1_Formatter::print_to_stream
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 1
    functionsReached:
    - Botan::ASN1_Formatter::decode
    linkageType: ''
    returnType: void
    signature: void ASN1_Formatter::print_to_stream(std::ostream& output, const uint8_t
      in[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:74,1
    - Dst: BER_Object::is_set
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:78,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:79,1
    - Dst: BER_Object::get_class
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:80,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:86,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:86,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:86,1
    - Dst: intersects
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:90,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:91,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:91,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:94,1
    - Dst: Botan::ASN1_Formatter::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:95,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:97,1
    - Dst: format_bin
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:97,1
    - Dst: intersects
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:99,1
    - Dst: intersects
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:99,1
    - Dst: possibly_a_general_name
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:104,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:104,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:104,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:105,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:106,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:106,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:106,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:110,1
    - Dst: Botan::ASN1_Formatter::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:114,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:115,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:122,1
    - Dst: format_bin
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:122,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:126,1
    - Dst: OID::human_name_or_empty
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:128,1
    - Dst: OID::to_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:129,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:131,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:132,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:134,1
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:134,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:140,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:142,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:145,1
    - Dst: format_bn
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:145,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:148,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:149,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:151,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:154,1
    - Dst: Botan::ASN1_Formatter::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:162,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:164,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:165,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:171,1
    - Dst: format_bin
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:171,1
    - Dst: Botan::ASN1_String::is_string_type
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:173,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:175,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:176,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:176,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:179,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:180,1
    - Dst: ASN1_Time::readable_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:180,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:182,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:182,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:186,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 3
    argNames:
    - ' output'
    - ' decoder'
    - level
    argTypes:
    - std::ostream
    - BER_Decoder
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 188
    functionName: Botan::ASN1_Formatter::decode
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 2
    functionsReached:
    - std::ostringstream::str
    - std::string
    - DER_Encoder
    - BER_Object::get_class
    - fmt
    - possibly_a_general_name
    - BER_Decoder::decode
    - ASN1_String::value
    - format
    - BER_Object::length
    - ASN1_Time::readable_string
    - Botan::ASN1_Formatter::decode
    - static_cast<int>
    - format_bn
    - OID::to_string
    - std::string::empty
    - BER_Object::type
    - Botan::ASN1_String::is_string_type
    - std::vector::data
    - std::vector::size
    - get_next_object
    - cast_uint8_ptr_to_char
    - OID::human_name_or_empty
    - intersects
    - BER_Object::bits
    - BER_Object::is_set
    - format_bin
    linkageType: ''
    returnType: void
    signature: void ASN1_Formatter::decode(std::ostream& output, BER_Decoder& decoder,
      size_t level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::asn1_tag_to_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:194,1
    - Dst: Botan::asn1_tag_to_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:198,1
    - Dst: Botan::intersects
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:203,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:207,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:207,1
    - Dst: Botan::intersects
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:209,1
    - Dst: Botan::intersects
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:212,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - type_tag
    - class_tag
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 217
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 217
    functionName: Botan::format_type
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - Botan::to_string
    - Botan::intersects
    - Botan::asn1_tag_to_string
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::string
    signature: std::string format_type(ASN1_Type type_tag, ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:225,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:230,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:238,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:238,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:238,1
    - Dst: format_type
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:239,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:241,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:245,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - type_tag
    - class_tag
    - level
    - length
    - value
    argTypes:
    - ASN1_Type
    - ASN1_Class
    - size_t
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 251
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 251
    functionName: Botan::ASN1_Pretty_Printer::format
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::string_view::empty
    - std::setw
    - std::string
    - std::string_view::length
    - format_type
    linkageType: ''
    returnType: std::string
    signature: "std::string ASN1_Pretty_Printer::format(\n   ASN1_Type type_tag, ASN1_Class
      class_tag, size_t level, size_t length, std::string_view value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: all_printable_chars
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:256,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:256,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:256,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:257,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:257,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:257,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:257,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: Botan::ASN1_Pretty_Printer::format_bin
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - all_printable_chars
    - data
    - hex_encode
    - std::string
    - size
    - cast_uint8_ptr_to_char
    linkageType: ''
    returnType: std::string
    signature: "std::string ASN1_Pretty_Printer::format_bin(ASN1_Type /*type_tag*/,\n
      \                                           ASN1_Class /*class_tag*/,\n                                            const
      std::vector<uint8_t>& vec) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:264,1
    - Dst: to_dec_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:265,1
    - Dst: to_hex_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: Botan::ASN1_Pretty_Printer::format_bn
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - to_hex_string
    - bits
    - to_dec_string
    linkageType: ''
    returnType: std::string
    signature: std::string ASN1_Pretty_Printer::format_bn(const BigInt& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/lib/asn1/oids.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oid'
    - name
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::OIDS::add_oid
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - Botan::OID::register_oid
    linkageType: ''
    returnType: void
    signature: void add_oid(const OID& oid, std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/lib/asn1/oids.h:31,1
    - Dst: OID
      Src: /src/botan/src/lib/asn1/oids.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - oidstr
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::OIDS::add_oidstr
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - Botan::OID::register_oid
    - OID
    linkageType: ''
    returnType: void
    signature: void add_oidstr(const char* oidstr, const char* name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: human_name_or_empty
      Src: /src/botan/src/lib/asn1/oids.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::OIDS::oid2str_or_empty
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - human_name_or_empty
    linkageType: ''
    returnType: std::string
    signature: std::string oid2str_or_empty(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/lib/asn1/oids.h:50,1
    - Dst: OID
      Src: /src/botan/src/lib/asn1/oids.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::OIDS::str2oid_or_empty
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - OID
    - Botan::OID::from_name
    linkageType: ''
    returnType: OID
    signature: OID str2oid_or_empty(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: human_name_or_empty
      Src: /src/botan/src/lib/asn1/oids.h:54,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/asn1/oids.h:55,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/asn1/oids.h:56,1
    - Dst: to_string
      Src: /src/botan/src/lib/asn1/oids.h:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: Botan::OIDS::oid2str_or_throw
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - human_name_or_empty
    - to_string
    - std::string::empty
    - Lookup_Error
    linkageType: ''
    returnType: std::string
    signature: std::string oid2str_or_throw(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: human_name_or_empty
      Src: /src/botan/src/lib/asn1/oids.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::OIDS::lookup
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - human_name_or_empty
    linkageType: ''
    returnType: std::string
    signature: std::string lookup(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/lib/asn1/oids.h:66,1
    - Dst: OID
      Src: /src/botan/src/lib/asn1/oids.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::OIDS::lookup
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - OID
    - Botan::OID::from_name
    linkageType: ''
    returnType: OID
    signature: OID lookup(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - print_context_specific
    - max_depth
    argTypes:
    - bool
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: Botan::ASN1_Formatter
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Formatter(bool print_context_specific, size_t max_depth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::print
      Src: /src/botan/src/lib/asn1/asn1_print.h:41,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_print.h:41,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/asn1_print.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t, Alloc>
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::print
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.h
    functionUses: 1
    functionsReached:
    - data
    - Botan::print
    - Botan::size
    linkageType: ''
    returnType: std::string
    signature: std::string print(const std::vector<uint8_t, Alloc>& vec) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/asn1/pss_params.cpp:22,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/asn1/pss_params.cpp:22,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/asn1/pss_params.cpp:22,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/pss_params.cpp:23,1
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/pss_params.cpp:23,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/asn1/pss_params.cpp:26,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/pss_params.cpp:27,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/asn1/pss_params.cpp:27,1
    - Dst: Botan::PSS_Params::PSS_Params
      Src: /src/botan/src/lib/asn1/pss_params.cpp:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - emsa_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: Botan::PSS_Params::from_emsa_name
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.cpp
    functionUses: 1
    functionsReached:
    - SCAN_Name::arg_count
    - SCAN_Name::arg
    - Invalid_Argument
    - Botan::PSS_Params::PSS_Params
    - BOTAN_ASSERT_NOMSG
    - fmt
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: PSS_Params
    signature: PSS_Params PSS_Params::from_emsa_name(std::string_view emsa_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_encode
      Src: /src/botan/src/lib/asn1/pss_params.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hash_fn
    - salt_len
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: Botan::PSS_Params::PSS_Params
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.cpp
    functionUses: 1
    functionsReached:
    - BER_encode
    linkageType: ''
    returnType: void
    signature: void PSS_Params::PSS_Params(std::string_view hash_fn, size_t salt_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PSS_Params::decode_from
      Src: /src/botan/src/lib/asn1/pss_params.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - der
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: Botan::PSS_Params::PSS_Params
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.cpp
    functionUses: 1
    functionsReached:
    - Botan::PSS_Params::decode_from
    linkageType: ''
    returnType: void
    signature: void PSS_Params::PSS_Params(std::span<const uint8_t> der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/asn1/pss_params.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: Botan::PSS_Params::serialize
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PSS_Params::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/asn1/pss_params.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' to'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: Botan::PSS_Params::encode_into
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void PSS_Params::encode_into(DER_Encoder& to) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier::BER_encode
      Src: /src/botan/src/lib/asn1/pss_params.cpp:65,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/asn1/pss_params.cpp:69,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/pss_params.cpp:70,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/pss_params.cpp:71,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/pss_params.cpp:72,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/pss_params.cpp:73,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/asn1/pss_params.cpp:76,1
    - Dst: parameters
      Src: /src/botan/src/lib/asn1/pss_params.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: Botan::PSS_Params::decode_from
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.cpp
    functionUses: 1
    functionsReached:
    - start_sequence
    - BER_Decoder
    - parameters
    - AlgorithmIdentifier::BER_encode
    - ASN1_Type
    linkageType: ''
    returnType: void
    signature: void PSS_Params::decode_from(BER_Decoder& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataSource*::read_byte
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:31,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:38,1
    - Dst: ASN1_Class
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:39,1
    - Dst: ASN1_Class
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:44,1
    - Dst: DataSource*::read_byte
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:48,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:49,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:52,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:56,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:64,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - ber
    - ' type_tag'
    - ' class_tag'
    argTypes:
    - DataSource*
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 66
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 66
    functionName: Botan::decode_tag
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - DataSource*::read_byte
    - BER_Decoding_Error
    - ASN1_Type
    - ASN1_Class
    linkageType: ''
    returnType: size_t
    signature: size_t decode_tag(DataSource* ber, ASN1_Type& type_tag, ASN1_Class&
      class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataSource*::read_byte
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:78,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:79,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:88,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:93,1
    - Dst: Botan::find_eoc
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:95,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:102,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:103,1
    - Dst: DataSource*::read_byte
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:105,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - ber
    - ' field_size'
    - allow_indef
    argTypes:
    - DataSource*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 111
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 111
    functionName: Botan::decode_length
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - Botan::find_eoc
    - DataSource*::read_byte
    - Botan::get_byte
    - BER_Decoding_Error
    linkageType: ''
    returnType: size_t
    signature: size_t decode_length(DataSource* ber, size_t& field_size, size_t allow_indef)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:125,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:125,1
    - Dst: Botan::clear
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:129,1
    - Dst: DataSource_Memory::discard_next
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:142,1
    - Dst: Botan::checked_add
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:144,1
    - Dst: auto::value
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:145,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ber
    - allow_indef
    argTypes:
    - DataSource*
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 155
    functionName: Botan::find_eoc
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 1
    functionsReached:
    - Botan::Decoding_Error
    - auto::value
    - Botan::checked_add
    - std::make_pair
    - Botan::clear
    - DataSource_Memory::discard_next
    - secure_vector::data
    linkageType: ''
    returnType: size_t
    signature: size_t find_eoc(DataSource* ber, size_t allow_indef)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:160,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:160,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:162,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: Botan::DataSource_BERObject::read
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - length
    - copy_mem
    - bits
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t out[], size_t length) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:168,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:168,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:176,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - length
    - peek_offset
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: Botan::DataSource_BERObject::peek
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - length
    - copy_mem
    - bits
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t peek(uint8_t out[], size_t length, size_t peek_offset) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:181,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:181,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: Botan::DataSource_BERObject::check_available
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - length
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: bool check_available(size_t n) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DataSource_BERObject::get_bytes_read
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:185,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: Botan::DataSource_BERObject::end_of_data
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - length
    - Botan::DataSource_BERObject::get_bytes_read
    linkageType: ''
    returnType: bool
    signature: bool end_of_data() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: Botan::DataSource_BERObject::get_bytes_read
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_bytes_read() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - BER_Object
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Botan::DataSource_BERObject::DataSource_BERObject
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DataSource_BERObject(BER_Object&& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end_of_data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:202,1
    - Dst: is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: Botan::BER_Decoder::more_items
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 1
    functionsReached:
    - is_set
    - end_of_data
    linkageType: ''
    returnType: bool
    signature: bool BER_Decoder::more_items() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_end
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: '& BER_Decoder::verify_end()'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - verify_end
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::verify_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end_of_data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:219,1
    - Dst: is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:219,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: '& BER_Decoder::verify_end(std::string_view err)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - is_set
    - end_of_data
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::verify_end(std::string_view err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_byte
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: '& BER_Decoder::discard_remaining()'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - read_byte
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::discard_remaining()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:235,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: '& BER_Decoder::peek_next_object()'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - get_next_object
    - is_set
    linkageType: ''
    returnType: BER_Object
    signature: BER_Object & BER_Decoder::peek_next_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:248,1
    - Dst: std::swap
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:249,1
    - Dst: decode_tag
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:256,1
    - Dst: BER_Object::set_tagging
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:257,1
    - Dst: BER_Object::is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:258,1
    - Dst: check_available
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:264,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:265,1
    - Dst: read
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:269,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:270,1
    - Dst: BER_Object::tagging
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:273,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:273,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 281
    functionName: Botan::BER_Decoder::get_next_object
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - check_available
    - decode_tag
    - BER_Object::set_tagging
    - BER_Decoding_Error
    - read
    - std::swap
    - is_set
    - BER_Object::tagging
    - BER_Object::is_set
    - static_cast<uint32_t>
    linkageType: ''
    returnType: BER_Object
    signature: BER_Object BER_Decoder::get_next_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:287,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - BER_Object
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: Botan::BER_Decoder::push_back
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - is_set
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::push_back(const BER_Object& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:294,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:295,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - BER_Object
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: Botan::BER_Decoder::push_back
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Invalid_State
    - is_set
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::push_back(BER_Object&& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BER_Decoder::get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:301,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:302,1
    - Dst: Botan::BER_Decoder::BER_Decoder
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:303,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type_tag
    - class_tag
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: Botan::BER_Decoder::start_cons
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::BER_Decoder::get_next_object
    - BER_Object::assert_is_a
    - Botan::BER_Decoder::BER_Decoder
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder BER_Decoder::start_cons(ASN1_Type type_tag, ASN1_Class
      class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:311,1
    - Dst: end_of_data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:313,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: '& BER_Decoder::end_cons()'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - Invalid_State
    - end_of_data
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::end_cons()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DataSource_BERObject>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:320,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:320,1
    - Dst: get
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' obj'
    - parent
    argTypes:
    - BER_Object
    - BER_Decoder*
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: Botan::BER_Decoder::BER_Decoder
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<DataSource_BERObject>
    - std::move
    - get
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::BER_Decoder(BER_Object&& obj, BER_Decoder* parent)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: Botan::BER_Decoder::BER_Decoder
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::BER_Decoder(DataSource& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DataSource_Memory>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:336,1
    - Dst: get
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: Botan::BER_Decoder::BER_Decoder
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 3
    functionsReached:
    - get
    - std::make_unique<DataSource_Memory>
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::BER_Decoder(const uint8_t data[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DataSource_Memory>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:344,1
    - Dst: get
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: Botan::BER_Decoder::BER_Decoder
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 3
    functionsReached:
    - get
    - std::make_unique<DataSource_Memory>
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::BER_Decoder(const secure_vector<uint8_t>& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DataSource_Memory>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:352,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:352,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:352,1
    - Dst: get
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: Botan::BER_Decoder::BER_Decoder
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 3
    functionsReached:
    - get
    - data
    - size
    - std::make_unique<DataSource_Memory>
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::BER_Decoder(const std::vector<uint8_t>& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: Botan::BER_Decoder::BER_Decoder
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 3
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::BER_Decoder(const BER_Decoder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_from
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - ASN1_Object
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: '& BER_Decoder::decode(ASN1_Object& obj, ASN1_Type /*unused*/, ASN1_Class
      /*unused*/)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - decode_from
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode(ASN1_Object& obj, ASN1_Type /*unused*/,
      ASN1_Class /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:379,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:380,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:381,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: '& BER_Decoder::decode_null()'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BER_Object::length
    - BER_Decoding_Error
    - get_next_object
    - BER_Object::assert_is_a
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode_null()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:389,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: '& BER_Decoder::decode_octet_string_bigint(BigInt& out)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - decode
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode_octet_string_bigint(BigInt& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:398,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:399,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:401,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:402,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' out'
    - type_tag
    - class_tag
    argTypes:
    - bool
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: '& BER_Decoder::decode(bool& out, ASN1_Type type_tag, ASN1_Class
      class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoding_Error
    - get_next_object
    - BER_Object::length
    - BER_Object::bits
    - BER_Object::assert_is_a
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode(bool& out, ASN1_Type type_tag, ASN1_Class
      class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:414,1
    - Dst: BigInt::is_negative
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:416,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:417,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:420,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:421,1
    - Dst: BigInt::byte_at
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ' out'
    - type_tag
    - class_tag
    argTypes:
    - size_t
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 430
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 430
    functionName: '& BER_Decoder::decode(size_t& out, ASN1_Type type_tag, ASN1_Class
      class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoding_Error
    - BigInt::bits
    - decode
    - BigInt::byte_at
    - BigInt::is_negative
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode(size_t& out, ASN1_Type type_tag,
      ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:437,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:441,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:443,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:444,1
    - Dst: BigInt::byte_at
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - type_tag
    - class_tag
    - T_bytes
    argTypes:
    - ASN1_Type
    - ASN1_Class
    - size_t
    constantsTouched: []
    func_position:
      end: 453
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 453
    functionName: Botan::BER_Decoder::decode_constrained_integer
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BigInt::byte_at
    - decode
    - BER_Decoding_Error
    - BigInt::bits
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BER_Decoder::decode_constrained_integer(ASN1_Type type_tag,
      ASN1_Class class_tag, size_t T_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:459,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:460,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:462,1
    - Dst: clear
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:463,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:468,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:468,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:468,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:474,1
    - Dst: _assign_from_bytes
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:477,1
    - Dst: flip_sign
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:478,1
    - Dst: _assign_from_bytes
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:480,1
    - Dst: BER_Object::data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - ' out'
    - type_tag
    - class_tag
    argTypes:
    - BigInt
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 485
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 485
    functionName: '& BER_Decoder::decode(BigInt& out, ASN1_Type type_tag, ASN1_Class
      class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - clear
    - _assign_from_bytes
    - get_next_object
    - BER_Object::length
    - BER_Object::bits
    - flip_sign
    - BER_Object::data
    - BER_Object::assert_is_a
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode(BigInt& out, ASN1_Type type_tag,
      ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_is_a
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:495,1
    - Dst: assign
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:498,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:498,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:498,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:498,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:500,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:501,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:503,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:504,1
    - Dst: resize
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:507,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:507,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:509,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:510,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:510,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:510,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - ' buffer'
    - ' obj'
    - real_type
    - type_tag
    - class_tag
    argTypes:
    - std::vector<uint8_t, Alloc>
    - BER_Object
    - ASN1_Type
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 513
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 513
    functionName: Botan::asn1_decode_binary_string
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoding_Error
    - assert_is_a
    - data
    - length
    - bits
    - Botan::copy_mem
    - resize
    - assign
    linkageType: ''
    returnType: void
    signature: "void asn1_decode_binary_string(std::vector<uint8_t, Alloc>& buffer,\n
      \                              const BER_Object& obj,\n                               ASN1_Type
      real_type,\n                               ASN1_Type type_tag,\n                               ASN1_Class
      class_tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:525,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:525,1
    - Dst: asn1_decode_binary_string
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:528,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ' buffer'
    - real_type
    - type_tag
    - class_tag
    argTypes:
    - secure_vector<uint8_t>
    - ASN1_Type
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 530
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 530
    functionName: "& BER_Decoder::decode(secure_vector<uint8_t>& buffer,\n                                 ASN1_Type
      real_type,\n                                 ASN1_Type type_tag,\n                                 ASN1_Class
      class_tag)"
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BER_Bad_Tag
    - get_next_object
    - asn1_decode_binary_string
    - static_cast<uint32_t>
    linkageType: ''
    returnType: BER_Decoder
    signature: "BER_Decoder & BER_Decoder::decode(secure_vector<uint8_t>& buffer,\n
      \                                ASN1_Type real_type,\n                                 ASN1_Type
      type_tag,\n                                 ASN1_Class class_tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:537,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:537,1
    - Dst: asn1_decode_binary_string
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:540,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ' buffer'
    - real_type
    - type_tag
    - class_tag
    argTypes:
    - std::vector<uint8_t>
    - ASN1_Type
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: "& BER_Decoder::decode(std::vector<uint8_t>& buffer,\n                                 ASN1_Type
      real_type,\n                                 ASN1_Type type_tag,\n                                 ASN1_Class
      class_tag)"
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BER_Bad_Tag
    - get_next_object
    - asn1_decode_binary_string
    - static_cast<uint32_t>
    linkageType: ''
    returnType: BER_Decoder
    signature: "BER_Decoder & BER_Decoder::decode(std::vector<uint8_t>& buffer,\n
      \                                ASN1_Type real_type,\n                                 ASN1_Type
      type_tag,\n                                 ASN1_Class class_tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calendar_point::year
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:24,1
    - Dst: calendar_point::month
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:25,1
    - Dst: calendar_point::day
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:26,1
    - Dst: calendar_point::hour
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:27,1
    - Dst: calendar_point::minutes
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:28,1
    - Dst: calendar_point::seconds
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: Botan::ASN1_Time::ASN1_Time
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - calendar_point::year
    - calendar_point::day
    - calendar_point::month
    - calendar_point::seconds
    - calendar_point::hour
    - calendar_point::minutes
    linkageType: ''
    returnType: void
    signature: void ASN1_Time::ASN1_Time(const std::chrono::system_clock::time_point&
      time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Time::set_to
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t_spec
    - tag
    argTypes:
    - std::string_view
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::ASN1_Time::ASN1_Time
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_Time::set_to
    linkageType: ''
    returnType: void
    signature: void ASN1_Time::ASN1_Time(std::string_view t_spec, ASN1_Type tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:39,1
    - Dst: Botan::ASN1_Time::set_to
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:40,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:41,1
    - Dst: Botan::ASN1_Time::set_to
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:42,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - t_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: Botan::ASN1_Time::ASN1_Time
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_Time::set_to
    - std::string_view::size
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void ASN1_Time::ASN1_Time(std::string_view t_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:49,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:51,1
    - Dst: Botan::ASN1_Time::to_string
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: Botan::ASN1_Time::encode_into
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - add_object
    - Botan::ASN1_Time::to_string
    linkageType: ''
    returnType: void
    signature: void ASN1_Time::encode_into(DER_Encoder& der) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:55,1
    - Dst: Botan::ASN1_Time::set_to
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:57,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:57,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: Botan::ASN1_Time::decode_from
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_Time::set_to
    - get_next_object
    - Botan::ASN1::to_string
    - BER_Object::type
    linkageType: ''
    returnType: void
    signature: void ASN1_Time::decode_from(BER_Decoder& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Time::time_is_set
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:61,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:62,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:69,1
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:69,1
    - Dst: Botan::ASN1_Time::readable_string
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:69,1
    - Dst: Botan::ASN1_Time::to_string
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:84,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 91
    functionName: Botan::ASN1_Time::to_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 2
    functionsReached:
    - Botan::ASN1_Time::readable_string
    - Encoding_Error
    - Botan::ASN1_Time::time_is_set
    - Invalid_State
    - Botan::ASN1_Time::to_string
    - std::string::size
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string ASN1_Time::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Time::time_is_set
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:94,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:95,1
    - Dst: std::setfill
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:100,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:100,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:100,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:100,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:101,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:101,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:101,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: Botan::ASN1_Time::readable_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 1
    functionsReached:
    - Botan::ASN1_Time::time_is_set
    - std::setw
    - std::stringstream::str
    - Invalid_State
    - std::setfill
    linkageType: ''
    returnType: std::string
    signature: std::string ASN1_Time::readable_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan::ASN1_Time::time_is_set
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASN1_Time::time_is_set() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Time::time_is_set
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:112,1
    - Dst: Botan::ASN1_Time::time_is_set
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:112,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:113,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 156
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 156
    functionName: Botan::ASN1_Time::cmp
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - Botan::ASN1_Time::time_is_set
    linkageType: ''
    returnType: int32_t
    signature: int32_t ASN1_Time::cmp(const ASN1_Time& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:159,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:163,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:163,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:165,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:165,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:168,1
    - Dst: std::string_view::back
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:168,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:180,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:180,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:181,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:181,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:182,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:182,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:183,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:183,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:184,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:184,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:185,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:185,1
    - Dst: Botan::ASN1_Time::passes_sanity_check
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:196,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:197,1
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - t_spec
    - spec_tag
    argTypes:
    - std::string_view
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 199
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 199
    functionName: Botan::ASN1_Time::set_to
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 3
    functionsReached:
    - to_u32bit
    - std::string_view::back
    - std::string_view::size
    - std::string_view::substr
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    - fmt
    - Botan::ASN1_Time::passes_sanity_check
    linkageType: ''
    returnType: void
    signature: void ASN1_Time::set_to(std::string_view t_spec, ASN1_Type spec_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 247
    functionName: Botan::ASN1_Time::passes_sanity_check
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASN1_Time::passes_sanity_check() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calendar_point
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: Botan::ASN1_Time::to_std_timepoint
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - calendar_point
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point ASN1_Time::to_std_timepoint()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calendar_point
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: Botan::ASN1_Time::time_since_epoch
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - calendar_point
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ASN1_Time::time_since_epoch() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t1'
    - ' t2'
    argTypes:
    - ASN1_Time
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: operator==(const ASN1_Time& t1, const ASN1_Time& t2)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ASN1_Time& t1, const ASN1_Time& t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t1'
    - ' t2'
    argTypes:
    - ASN1_Time
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: operator!=(const ASN1_Time& t1, const ASN1_Time& t2)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const ASN1_Time& t1, const ASN1_Time& t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t1'
    - ' t2'
    argTypes:
    - ASN1_Time
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: operator<=(const ASN1_Time& t1, const ASN1_Time& t2)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const ASN1_Time& t1, const ASN1_Time& t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t1'
    - ' t2'
    argTypes:
    - ASN1_Time
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: operator>=(const ASN1_Time& t1, const ASN1_Time& t2)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const ASN1_Time& t1, const ASN1_Time& t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t1'
    - ' t2'
    argTypes:
    - ASN1_Time
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: operator<(const ASN1_Time& t1, const ASN1_Time& t2)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator<(const ASN1_Time& t1, const ASN1_Time& t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t1'
    - ' t2'
    argTypes:
    - ASN1_Time
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: operator>(const ASN1_Time& t1, const ASN1_Time& t2)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator>(const ASN1_Time& t1, const ASN1_Time& t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' oid'
    - ' param'
    argTypes:
    - OID
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: Botan::AlgorithmIdentifier::AlgorithmIdentifier
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlgorithmIdentifier::AlgorithmIdentifier(const OID& oid, const
      std::vector<uint8_t>& param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/asn1/alg_id.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - oid
    - ' param'
    argTypes:
    - std::string_view
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: Botan::AlgorithmIdentifier::AlgorithmIdentifier
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 2
    functionsReached:
    - Botan::OID::from_string
    linkageType: ''
    returnType: void
    signature: void AlgorithmIdentifier::AlgorithmIdentifier(std::string_view oid,
      const std::vector<uint8_t>& param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/asn1/alg_id.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' oid'
    - option
    argTypes:
    - OID
    - Encoding_Option
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: Botan::AlgorithmIdentifier::AlgorithmIdentifier
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 2
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void AlgorithmIdentifier::AlgorithmIdentifier(const OID& oid, Encoding_Option
      option)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/asn1/alg_id.cpp:42,1
    - Dst: assign
      Src: /src/botan/src/lib/asn1/alg_id.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - oid
    - option
    argTypes:
    - std::string_view
    - Encoding_Option
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: Botan::AlgorithmIdentifier::AlgorithmIdentifier
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 2
    functionsReached:
    - Botan::OID::from_string
    - assign
    linkageType: ''
    returnType: void
    signature: void AlgorithmIdentifier::AlgorithmIdentifier(std::string_view oid,
      Encoding_Option option)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/asn1/alg_id.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::AlgorithmIdentifier::parameters_are_null
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool AlgorithmIdentifier::parameters_are_null() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::oid
      Src: /src/botan/src/lib/asn1/alg_id.cpp:55,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/asn1/alg_id.cpp:55,1
    - Dst: parameters_are_null_or_empty
      Src: /src/botan/src/lib/asn1/alg_id.cpp:62,1
    - Dst: parameters_are_null_or_empty
      Src: /src/botan/src/lib/asn1/alg_id.cpp:62,1
    - Dst: parameters
      Src: /src/botan/src/lib/asn1/alg_id.cpp:66,1
    - Dst: parameters
      Src: /src/botan/src/lib/asn1/alg_id.cpp:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' a1'
    - ' a2'
    argTypes:
    - AlgorithmIdentifier
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: operator==(const AlgorithmIdentifier& a1, const AlgorithmIdentifier&
      a2)
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 0
    functionsReached:
    - parameters_are_null_or_empty
    - parameters
    - Botan::oid
    linkageType: ''
    returnType: bool
    signature: bool operator==(const AlgorithmIdentifier& a1, const AlgorithmIdentifier&
      a2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a1'
    - ' a2'
    argTypes:
    - AlgorithmIdentifier
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: operator!=(const AlgorithmIdentifier& a1, const AlgorithmIdentifier&
      a2)
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const AlgorithmIdentifier& a1, const AlgorithmIdentifier&
      a2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/asn1/alg_id.cpp:77,1
    - Dst: oid
      Src: /src/botan/src/lib/asn1/alg_id.cpp:77,1
    - Dst: parameters
      Src: /src/botan/src/lib/asn1/alg_id.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' codec'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::AlgorithmIdentifier::encode_into
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - parameters
    - oid
    linkageType: ''
    returnType: void
    signature: void AlgorithmIdentifier::encode_into(DER_Encoder& codec) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/asn1/alg_id.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' codec'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: Botan::AlgorithmIdentifier::decode_from
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void AlgorithmIdentifier::decode_from(BER_Decoder& codec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/asn1/ber_dec.h:26,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/ber_dec.h:31,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/ber_dec.h:31,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.h:51,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.h:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:56,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.h:71,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/ber_dec.h:124,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/ber_dec.h:126,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/ber_dec.h:129,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/ber_dec.h:129,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/ber_dec.h:133,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/ber_dec.h:133,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.h:156,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/asn1/ber_dec.h:157,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.h:159,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.h:160,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/asn1/ber_dec.h:160,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.h:160,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/asn1/ber_dec.h:161,1
    - Dst: std::memcpy
      Src: /src/botan/src/lib/asn1/ber_dec.h:164,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/asn1/ber_dec.h:164,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/ber_dec.h:164,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.h:164,1
    - Dst: Botan::clear
      Src: /src/botan/src/lib/asn1/ber_dec.h:174,1
    - Dst: read_byte
      Src: /src/botan/src/lib/asn1/ber_dec.h:176,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:177,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:187,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:192,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:197,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:201,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:210,1
    - Dst: decode_integer_type<T>
      Src: /src/botan/src/lib/asn1/ber_dec.h:242,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/asn1/ber_dec.h:247,1
    - Dst: decode_constrained_integer
      Src: /src/botan/src/lib/asn1/ber_dec.h:247,1
    - Dst: T
      Src: /src/botan/src/lib/asn1/ber_dec.h:252,1
    - Dst: T
      Src: /src/botan/src/lib/asn1/ber_dec.h:260,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:275,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.h:278,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.h:292,1
    - Dst: static_cast<ASN1_Type>
      Src: /src/botan/src/lib/asn1/ber_dec.h:294,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/asn1/ber_dec.h:296,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/asn1/ber_dec.h:298,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:298,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:300,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:300,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:301,1
    - Dst: Botan::clear
      Src: /src/botan/src/lib/asn1/ber_dec.h:304,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:305,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:305,1
    - Dst: decode_optional_string
      Src: /src/botan/src/lib/asn1/ber_dec.h:316,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/ber_dec.h:316,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/asn1/ber_dec.h:322,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 329
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.h
    functionUses: 17
    functionsReached:
    - std::move
    - decode_constrained_integer
    - BER_Decoding_Error
    - Botan::to_string
    - static_cast<ASN1_Type>
    - length
    - T
    - Botan::clear
    - decode_integer_type<T>
    - Botan::size
    - BER_Object::is_a
    - data
    - start_cons
    - decode
    - BER_Object::length
    - bits
    - BER_Object::assert_is_a
    - static_cast<uint32_t>
    - reinterpret_cast<uint8_t*>
    - Botan::Decoding_Error
    - decode_optional_string
    - get_next_object
    - std::memcpy
    - read_byte
    - BER_Decoder
    - static_cast<T>
    - BER_Object::bits
    - ASN1_Type
    - push_back
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.h:336,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/asn1/ber_dec.h:338,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/asn1/ber_dec.h:340,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:340,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:342,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:342,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:343,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:347,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' out'
    - type_tag
    - class_tag
    - ' default_value'
    argTypes:
    - T
    - ASN1_Type
    - ASN1_Class
    - T
    constantsTouched: []
    func_position:
      end: 351
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 351
    functionName: '& BER_Decoder::decode_optional(T& out, ASN1_Type type_tag, ASN1_Class
      class_tag, const T& default_value)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.h
    functionUses: 0
    functionsReached:
    - std::move
    - BER_Object::is_a
    - decode
    - get_next_object
    - BER_Decoder
    - push_back
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode_optional(T& out, ASN1_Type type_tag,
      ASN1_Class class_tag, const T& default_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.h:363,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/asn1/ber_dec.h:365,1
    - Dst: BER_Object::set_tagging
      Src: /src/botan/src/lib/asn1/ber_dec.h:366,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:367,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:367,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:368,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:372,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - ' out'
    - type_tag
    - class_tag
    - real_type
    - real_class
    - ' default_value'
    argTypes:
    - T
    - ASN1_Type
    - ASN1_Class
    - ASN1_Type
    - ASN1_Class
    - T
    constantsTouched: []
    func_position:
      end: 376
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 376
    functionName: "& BER_Decoder::decode_optional_implicit(T& out,\n                                                   ASN1_Type
      type_tag,\n                                                   ASN1_Class class_tag,\n
      \                                                  ASN1_Type real_type,\n                                                   ASN1_Class
      real_class,\n                                                   const T& default_value)"
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.h
    functionUses: 0
    functionsReached:
    - std::move
    - BER_Object::is_a
    - BER_Object::set_tagging
    - decode
    - get_next_object
    - push_back
    linkageType: ''
    returnType: BER_Decoder
    signature: "BER_Decoder & BER_Decoder::decode_optional_implicit(T& out,\n                                                   ASN1_Type
      type_tag,\n                                                   ASN1_Class class_tag,\n
      \                                                  ASN1_Type real_type,\n                                                   ASN1_Class
      real_class,\n                                                   const T& default_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/ber_dec.h:383,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/asn1/ber_dec.h:385,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:387,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:388,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:388,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/asn1/ber_dec.h:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' vec'
    - type_tag
    - class_tag
    argTypes:
    - std::vector<T>
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 394
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 394
    functionName: '& BER_Decoder::decode_list(std::vector<T>& vec, ASN1_Type type_tag,
      ASN1_Class class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.h
    functionUses: 0
    functionsReached:
    - BER_Decoder::decode
    - std::move
    - BER_Decoder::more_items
    - BER_Decoder::end_cons
    - start_cons
    - push_back
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode_list(std::vector<T>& vec, ASN1_Type
      type_tag, ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.h:401,1
    - Dst: decode_list
      Src: /src/botan/src/lib/asn1/ber_dec.h:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' vec'
    - type_tag
    - class_tag
    argTypes:
    - std::vector<T>
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: Botan::BER_Decoder::decode_optional_list
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.h
    functionUses: 0
    functionsReached:
    - peek_next_object
    - decode_list
    linkageType: ''
    returnType: bool
    signature: bool BER_Decoder::decode_optional_list(std::vector<T>& vec, ASN1_Type
      type_tag, ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/asn1/der_enc.cpp:29,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/asn1/der_enc.cpp:29,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/asn1/der_enc.cpp:29,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/der_enc.cpp:33,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/der_enc.cpp:38,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:40,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/der_enc.cpp:40,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:42,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ' encoded_tag'
    - type_tag_e
    - class_tag_e
    argTypes:
    - std::vector<uint8_t>
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: Botan::encode_tag
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Encoding_Error
    - Botan::to_string
    - static_cast<uint8_t>
    - BOTAN_ASSERT_NOMSG
    - push_back
    linkageType: ''
    returnType: void
    signature: void encode_tag(std::vector<uint8_t>& encoded_tag, ASN1_Type type_tag_e,
      ASN1_Class class_tag_e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:53,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/der_enc.cpp:53,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:57,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/der_enc.cpp:57,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:60,1
    - Dst: Botan::get_byte_var
      Src: /src/botan/src/lib/asn1/der_enc.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' encoded_length'
    - length
    argTypes:
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: Botan::encode_length
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - Botan::get_byte_var
    - static_cast<uint8_t>
    - push_back
    linkageType: ''
    returnType: void
    signature: void encode_length(std::vector<uint8_t>& encoded_length, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/asn1/der_enc.cpp:68,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/der_enc.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::DER_Encoder::DER_Encoder
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 4
    functionsReached:
    - insert
    - end
    linkageType: ''
    returnType: void
    signature: void DER_Encoder::DER_Encoder(secure_vector<uint8_t>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/asn1/der_enc.cpp:72,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/der_enc.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan::DER_Encoder::DER_Encoder
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 4
    functionsReached:
    - insert
    - end
    linkageType: ''
    returnType: void
    signature: void DER_Encoder::DER_Encoder(std::vector<uint8_t>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/botan/src/lib/asn1/der_enc.cpp:82,1
    - Dst: begin
      Src: /src/botan/src/lib/asn1/der_enc.cpp:82,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/der_enc.cpp:82,1
    - Dst: clear
      Src: /src/botan/src/lib/asn1/der_enc.cpp:86,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:89,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/der_enc.cpp:89,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/der_enc.cpp:89,1
    - Dst: clear
      Src: /src/botan/src/lib/asn1/der_enc.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: DER_Encoder::DER_Sequence::push_contents(DER_Encoder& der)
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - clear
    - std::sort
    - end
    - data
    - size
    - add_object
    - begin
    linkageType: ''
    returnType: void
    signature: void DER_Encoder::DER_Sequence::push_contents(DER_Encoder& der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:98,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/asn1/der_enc.cpp:98,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: DER_Encoder::DER_Sequence::add_bytes(const uint8_t data[], size_t
      length)
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - secure_vector<uint8_t>
    - push_back
    linkageType: ''
    returnType: void
    signature: void DER_Encoder::DER_Sequence::add_bytes(const uint8_t data[], size_t
      length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/asn1/der_enc.cpp:107,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:108,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:109,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:110,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/der_enc.cpp:110,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:112,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - hdr
    - hdr_len
    - val
    - val_len
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: DER_Encoder::DER_Sequence::add_bytes(const uint8_t hdr[], size_t
      hdr_len, const uint8_t val[], size_t val_len)
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_pair
    - secure_vector::reserve
    - push_back
    linkageType: ''
    returnType: void
    signature: void DER_Encoder::DER_Sequence::add_bytes(const uint8_t hdr[], size_t
      hdr_len, const uint8_t val[], size_t val_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: DER_Encoder::DER_Sequence::tag_of() const
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DER_Encoder::DER_Sequence::tag_of() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: DER_Encoder::DER_Sequence::DER_Sequence(ASN1_Type t1, ASN1_Class
      t2)
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DER_Encoder::DER_Sequence::DER_Sequence(ASN1_Type t1, ASN1_Class
      t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/asn1/der_enc.cpp:133,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/der_enc.cpp:134,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/der_enc.cpp:138,1
    - Dst: std::swap
      Src: /src/botan/src/lib/asn1/der_enc.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: Botan::DER_Encoder::get_contents
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 2
    functionsReached:
    - Invalid_State
    - std::swap
    - empty
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DER_Encoder::get_contents()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/asn1/der_enc.cpp:147,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/der_enc.cpp:148,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/der_enc.cpp:152,1
    - Dst: begin
      Src: /src/botan/src/lib/asn1/der_enc.cpp:155,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/der_enc.cpp:155,1
    - Dst: clear
      Src: /src/botan/src/lib/asn1/der_enc.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: Botan::DER_Encoder::get_contents_unlocked
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - clear
    - end
    - empty
    - Invalid_State
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DER_Encoder::get_contents_unlocked()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:164,1
    - Dst: DER_Sequence
      Src: /src/botan/src/lib/asn1/der_enc.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type_tag
    - class_tag
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '& DER_Encoder::start_cons(ASN1_Type type_tag, ASN1_Class class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - DER_Sequence
    - push_back
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::start_cons(ASN1_Type type_tag, ASN1_Class
      class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/asn1/der_enc.cpp:172,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/der_enc.cpp:173,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/der_enc.cpp:176,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/der_enc.cpp:176,1
    - Dst: pop_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:177,1
    - Dst: DER_Sequence::push_contents
      Src: /src/botan/src/lib/asn1/der_enc.cpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: '& DER_Encoder::end_cons()'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - pop_back
    - empty
    - Invalid_State
    - DER_Sequence::push_contents
    - size
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::end_cons()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ASN1_Type>
      Src: /src/botan/src/lib/asn1/der_enc.cpp:187,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/asn1/der_enc.cpp:191,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/der_enc.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type_no
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: '& DER_Encoder::start_explicit(uint16_t type_no)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ASN1_Type>
    - Internal_Error
    - start_cons
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::start_explicit(uint16_t type_no)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end_cons
      Src: /src/botan/src/lib/asn1/der_enc.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: '& DER_Encoder::end_explicit()'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - end_cons
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::end_explicit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/asn1/der_enc.cpp:208,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/der_enc.cpp:209,1
    - Dst: add_bytes
      Src: /src/botan/src/lib/asn1/der_enc.cpp:209,1
    - Dst: m_append_output
      Src: /src/botan/src/lib/asn1/der_enc.cpp:211,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bytes
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: '& DER_Encoder::raw_bytes(const uint8_t bytes[], size_t length)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::make_pair
    - m_append_output
    - size
    - add_bytes
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::raw_bytes(const uint8_t bytes[], size_t
      length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_tag
      Src: /src/botan/src/lib/asn1/der_enc.cpp:224,1
    - Dst: encode_length
      Src: /src/botan/src/lib/asn1/der_enc.cpp:225,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/der_enc.cpp:227,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/der_enc.cpp:228,1
    - Dst: add_bytes
      Src: /src/botan/src/lib/asn1/der_enc.cpp:228,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/asn1/der_enc.cpp:228,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/asn1/der_enc.cpp:228,1
    - Dst: m_append_output
      Src: /src/botan/src/lib/asn1/der_enc.cpp:230,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/asn1/der_enc.cpp:230,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/asn1/der_enc.cpp:230,1
    - Dst: m_append_output
      Src: /src/botan/src/lib/asn1/der_enc.cpp:231,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - type_tag
    - class_tag
    - rep
    - length
    argTypes:
    - ASN1_Type
    - ASN1_Class
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: '& DER_Encoder::add_object(ASN1_Type type_tag, ASN1_Class class_tag,
      const uint8_t rep[], size_t length)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - encode_length
    - encode_tag
    - empty
    - std::make_pair
    - m_append_output
    - size
    - add_bytes
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::add_object(ASN1_Type type_tag, ASN1_Class
      class_tag, const uint8_t rep[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: '& DER_Encoder::encode_null()'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - add_object
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode_null()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/asn1/der_enc.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_true
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: '& DER_Encoder::encode(bool is_true)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(bool is_true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/asn1/der_enc.cpp:258,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/lib/asn1/der_enc.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: '& DER_Encoder::encode(size_t n)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - encode
    - Botan::BigInt::from_u64
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/asn1/der_enc.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: '& DER_Encoder::encode(const BigInt& n)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(const BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/asn1/der_enc.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - length
    - real_type
    argTypes:
    - uint8_t[]
    - size_t
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: '& DER_Encoder::encode(const uint8_t bytes[], size_t length, ASN1_Type
      real_type)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(const uint8_t bytes[], size_t length,
      ASN1_Type real_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - is_true
    - type_tag
    - class_tag
    argTypes:
    - bool
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: '& DER_Encoder::encode(bool is_true, ASN1_Type type_tag, ASN1_Class
      class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - add_object
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(bool is_true, ASN1_Type type_tag,
      ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/asn1/der_enc.cpp:287,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/lib/asn1/der_enc.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - type_tag
    - class_tag
    argTypes:
    - size_t
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: '& DER_Encoder::encode(size_t n, ASN1_Type type_tag, ASN1_Class
      class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - encode
    - Botan::BigInt::from_u64
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(size_t n, ASN1_Type type_tag, ASN1_Class
      class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:295,1
    - Dst: serialize
      Src: /src/botan/src/lib/asn1/der_enc.cpp:300,1
    - Dst: bytes
      Src: /src/botan/src/lib/asn1/der_enc.cpp:300,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' n'
    - type_tag
    - class_tag
    argTypes:
    - BigInt
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 313
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 313
    functionName: '& DER_Encoder::encode(const BigInt& n, ASN1_Type type_tag, ASN1_Class
      class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - add_object
    - bytes
    - serialize
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(const BigInt& n, ASN1_Type type_tag,
      ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/der_enc.cpp:321,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:326,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:327,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:328,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - bytes
    - length
    - real_type
    - type_tag
    - class_tag
    argTypes:
    - uint8_t[]
    - size_t
    - ASN1_Type
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: "& DER_Encoder::encode(\n   const uint8_t bytes[], size_t length,
      ASN1_Type real_type, ASN1_Type type_tag, ASN1_Class class_tag)"
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - add_object
    - std::make_pair
    - Invalid_Argument
    - secure_vector::push_back
    linkageType: ''
    returnType: DER_Encoder
    signature: "DER_Encoder & DER_Encoder::encode(\n   const uint8_t bytes[], size_t
      length, ASN1_Type real_type, ASN1_Type type_tag, ASN1_Class class_tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_into
      Src: /src/botan/src/lib/asn1/der_enc.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - ASN1_Object
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: '& DER_Encoder::encode(const ASN1_Object& obj)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - encode_into
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(const ASN1_Object& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type_tag
    - class_tag
    - rep_str
    argTypes:
    - ASN1_Type
    - ASN1_Class
    - std::string_view
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: '& DER_Encoder::add_object(ASN1_Type type_tag, ASN1_Class class_tag,
      std::string_view rep_str)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - add_object
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::add_object(ASN1_Type type_tag, ASN1_Class
      class_tag, std::string_view rep_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type_tag
    - class_tag
    - rep
    argTypes:
    - ASN1_Type
    - ASN1_Class
    - uint8_t
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: '& DER_Encoder::add_object(ASN1_Type type_tag, ASN1_Class class_tag,
      uint8_t rep)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - add_object
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::add_object(ASN1_Type type_tag, ASN1_Class
      class_tag, uint8_t rep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID_Map::load_str2oid_map
      Src: /src/botan/src/lib/asn1/oid_map.cpp:12,1
    - Dst: Botan::OID_Map::load_oid2str_map
      Src: /src/botan/src/lib/asn1/oid_map.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: Botan::OID_Map::OID_Map
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID_Map::load_oid2str_map
    - Botan::OID_Map::load_str2oid_map
    linkageType: ''
    returnType: void
    signature: void OID_Map::OID_Map()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: '& OID_Map::global_registry()'
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OID_Map
    signature: OID_Map & OID_Map::global_registry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID_Map::lookup_static_oid
      Src: /src/botan/src/lib/asn1/oid_map.cpp:22,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/oid_map.cpp:24,1
    - Dst: find
      Src: /src/botan/src/lib/asn1/oid_map.cpp:32,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/oid_map.cpp:34,1
    - Dst: insert
      Src: /src/botan/src/lib/asn1/oid_map.cpp:35,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/oid_map.cpp:35,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/oid_map.cpp:37,1
    - Dst: find
      Src: /src/botan/src/lib/asn1/oid_map.cpp:40,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/oid_map.cpp:40,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/oid_map.cpp:42,1
    - Dst: insert
      Src: /src/botan/src/lib/asn1/oid_map.cpp:43,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/oid_map.cpp:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ' oid'
    - str
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 45
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 45
    functionName: Botan::OID_Map::add_oid
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID_Map::lookup_static_oid
    - end
    - insert
    - std::string
    - Invalid_State
    - std::make_pair
    - find
    linkageType: ''
    returnType: void
    signature: void OID_Map::add_oid(const OID& oid, std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID_Map::lookup_static_oid_name
      Src: /src/botan/src/lib/asn1/oid_map.cpp:48,1
    - Dst: contains
      Src: /src/botan/src/lib/asn1/oid_map.cpp:53,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/oid_map.cpp:53,1
    - Dst: insert
      Src: /src/botan/src/lib/asn1/oid_map.cpp:54,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/oid_map.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' oid'
    - str
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: Botan::OID_Map::add_str2oid
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached:
    - contains
    - Botan::OID_Map::lookup_static_oid_name
    - std::string
    - insert
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void OID_Map::add_str2oid(const OID& oid, std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID_Map::lookup_static_oid
      Src: /src/botan/src/lib/asn1/oid_map.cpp:59,1
    - Dst: contains
      Src: /src/botan/src/lib/asn1/oid_map.cpp:64,1
    - Dst: insert
      Src: /src/botan/src/lib/asn1/oid_map.cpp:65,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/oid_map.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' oid'
    - str
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: Botan::OID_Map::add_oid2str
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID_Map::lookup_static_oid
    - contains
    - std::make_pair
    - insert
    linkageType: ''
    returnType: void
    signature: void OID_Map::add_oid2str(const OID& oid, std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID_Map::lookup_static_oid
      Src: /src/botan/src/lib/asn1/oid_map.cpp:70,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/oid_map.cpp:71,1
    - Dst: find
      Src: /src/botan/src/lib/asn1/oid_map.cpp:76,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/oid_map.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: Botan::OID_Map::oid2str
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID_Map::lookup_static_oid
    - end
    - find
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string OID_Map::oid2str(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID_Map::lookup_static_oid_name
      Src: /src/botan/src/lib/asn1/oid_map.cpp:85,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/oid_map.cpp:86,1
    - Dst: find
      Src: /src/botan/src/lib/asn1/oid_map.cpp:90,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/oid_map.cpp:90,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/oid_map.cpp:91,1
    - Dst: OID
      Src: /src/botan/src/lib/asn1/oid_map.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: Botan::OID_Map::str2oid
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::OID_Map::lookup_static_oid_name
    - end
    - std::string
    - OID
    - find
    linkageType: ''
    returnType: OID
    signature: OID OID_Map::str2oid(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID_Map::global_registry
      Src: /src/botan/src/lib/asn1/oids.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oid'
    - name
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Botan::OIDS::add_oid2str
    functionSourceFile: /src/botan/src/lib/asn1/oids.cpp
    functionUses: 0
    functionsReached:
    - OID_Map::global_registry
    linkageType: ''
    returnType: void
    signature: void OIDS::add_oid2str(const OID& oid, std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID_Map::global_registry
      Src: /src/botan/src/lib/asn1/oids.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oid'
    - name
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::OIDS::add_str2oid
    functionSourceFile: /src/botan/src/lib/asn1/oids.cpp
    functionUses: 0
    functionsReached:
    - OID_Map::global_registry
    linkageType: ''
    returnType: void
    signature: void OIDS::add_str2oid(const OID& oid, std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_CertificateProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:30,1
    - Dst: raw_subject_dn
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:33,1
    - Dst: BER_encode
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:33,1
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:36,1
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:39,1
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:42,1
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:46,1
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:51,1
    - Dst: Botan::PKCS11::add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:56,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 68
    functionName: Botan::PKCS11::CertificateProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_x509.h
    functionUses: 0
    functionsReached:
    - X509_CertificateProperties
    - static_cast<Ulong>
    - Botan::PKCS11::add_numeric
    - Botan::PKCS11::add_binary
    - BER_encode
    - raw_subject_dn
    linkageType: ''
    returnType: X509_CertificateProperties
    signature: X509_CertificateProperties CertificateProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:26,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' group'
    - ec_point_data
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: Botan::PKCS11::decode_public_point
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    - EC_AffinePoint
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint decode_public_point(const EC_Group& group, std::span<const
      uint8_t> ec_point_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ec_params'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: Botan::PKCS11::EC_PublicKeyGenerationProperties::EC_PublicKeyGenerationProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void EC_PublicKeyGenerationProperties::EC_PublicKeyGenerationProperties(const
      std::vector<uint8_t>& ec_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:41,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' ec_params'
    - ' ec_point'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: Botan::PKCS11::EC_PublicKeyImportProperties::EC_PublicKeyImportProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: "void EC_PublicKeyImportProperties::EC_PublicKeyImportProperties(const
      std::vector<uint8_t>& ec_params,\n                                                           const
      std::vector<uint8_t>& ec_point)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:46,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:47,1
    - Dst: decode_public_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:50,1
    - Dst: std::make_shared<EC_PublicKey_Data>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' session'
    - handle
    argTypes:
    - Session
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: Botan::PKCS11::PKCS11_EC_PublicKey::PKCS11_EC_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - decode_public_point
    - get_attribute_value
    - std::make_shared<EC_PublicKey_Data>
    linkageType: ''
    returnType: void
    signature: void PKCS11_EC_PublicKey::PKCS11_EC_PublicKey(Session& session, ObjectHandle
      handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_params
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:56,1
    - Dst: decode_public_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:57,1
    - Dst: ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:57,1
    - Dst: std::make_shared<EC_PublicKey_Data>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:58,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:58,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' session'
    - ' props'
    argTypes:
    - Session
    - EC_PublicKeyImportProperties
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: Botan::PKCS11::PKCS11_EC_PublicKey::PKCS11_EC_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - ec_params
    - decode_public_point
    - std::make_shared<EC_PublicKey_Data>
    - ec_point
    linkageType: ''
    returnType: void
    signature: void PKCS11_EC_PublicKey::PKCS11_EC_PublicKey(Session& session, const
      EC_PublicKeyImportProperties& props)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:64,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:65,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' ec_params'
    - ' value'
    argTypes:
    - std::vector<uint8_t>
    - BigInt
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: Botan::PKCS11::EC_PrivateKeyImportProperties::EC_PrivateKeyImportProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - serialize
    - add_binary
    linkageType: ''
    returnType: void
    signature: "void EC_PrivateKeyImportProperties::EC_PrivateKeyImportProperties(const
      std::vector<uint8_t>& ec_params,\n                                                             const
      BigInt& value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - handle
    argTypes:
    - Session
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::PKCS11_EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - get_attribute_value
    linkageType: ''
    returnType: void
    signature: void PKCS11_EC_PrivateKey::PKCS11_EC_PrivateKey(Session& session, ObjectHandle
      handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Group
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:72,1
    - Dst: ec_params
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - ' props'
    argTypes:
    - Session
    - EC_PrivateKeyImportProperties
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::PKCS11_EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - ec_params
    - EC_Group
    linkageType: ''
    returnType: void
    signature: void PKCS11_EC_PrivateKey::PKCS11_EC_PrivateKey(Session& session, const
      EC_PrivateKeyImportProperties& props)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_PublicKeyGenerationProperties::set_verify
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:79,1
    - Dst: EC_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:80,1
    - Dst: EC_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:81,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:86,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:86,1
    - Dst: EC_PublicKeyGenerationProperties::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:88,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:89,1
    - Dst: EC_PublicKeyGenerationProperties::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:89,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:90,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:91,1
    - Dst: count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:91,1
    - Dst: Botan::PKCS11::PKCS11_EC_PrivateKey::reset_handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:95,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:98,1
    - Dst: decode_public_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' session'
    - ' ec_params'
    - ' props'
    argTypes:
    - Session
    - std::vector<uint8_t>
    - EC_PrivateKeyGenerationProperties
    constantsTouched: []
    func_position:
      end: 100
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 100
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::PKCS11_EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - EC_PublicKeyGenerationProperties::set_verify
    - EC_PublicKeyGenerationProperties::set_token
    - static_cast<Ulong>
    - Botan::PKCS11::PKCS11_EC_PrivateKey::reset_handle
    - data
    - module
    - EC_PublicKeyGenerationProperties::set_private
    - EC_PublicKeyGenerationProperties::data
    - EC_PublicKeyGenerationProperties::count
    - count
    - Object::get_attribute_value
    - decode_public_point
    - handle
    linkageType: ''
    returnType: void
    signature: "void PKCS11_EC_PrivateKey::PKCS11_EC_PrivateKey(Session& session,\n
      \                                          const std::vector<uint8_t>& ec_params,\n
      \                                          const EC_PrivateKeyGenerationProperties&
      props)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_order_bits
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::key_length
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - get_order_bits
    linkageType: ''
    returnType: size_t
    signature: size_t PKCS11_EC_PrivateKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - public_ec_point
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PKCS11_EC_PrivateKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_EC_PrivateKey::raw_public_key_bits
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::PKCS11_EC_PrivateKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PKCS11_EC_PrivateKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecp_work_factor
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:115,1
    - Dst: Botan::PKCS11::PKCS11_EC_PrivateKey::key_length
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::PKCS11_EC_PrivateKey::key_length
    - ecp_work_factor
    linkageType: ''
    returnType: size_t
    signature: size_t PKCS11_EC_PrivateKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PKCS11_EC_PrivateKey::check_key(RandomNumberGenerator& /*rng*/,
      bool /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:123,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:123,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    - domain
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier PKCS11_EC_PrivateKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_PublicKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:21,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:21,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::PKCS11::PKCS11_ECDSA_PublicKey::export_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    - ECDSA_PublicKey
    linkageType: ''
    returnType: ECDSA_PublicKey
    signature: ECDSA_PublicKey PKCS11_ECDSA_PublicKey::export_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::KeyPair::signature_consistency_check
    linkageType: ''
    returnType: bool
    signature: bool PKCS11_ECDSA_PrivateKey::check_key(RandomNumberGenerator& rng,
      bool strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:34,1
    - Dst: ECDSA_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:37,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:37,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::export_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - ECDSA_PrivateKey
    - Botan::BigInt::from_bytes
    - domain
    - get_attribute_value
    linkageType: ''
    returnType: ECDSA_PrivateKey
    signature: ECDSA_PrivateKey PKCS11_ECDSA_PrivateKey::export_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::export_key
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::PKCS11_ECDSA_PrivateKey::export_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PKCS11_ECDSA_PrivateKey::private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECDSA_PublicKey>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:45,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:45,1
    - Dst: public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - public_ec_point
    - domain
    - std::make_unique<ECDSA_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> PKCS11_ECDSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:55,1
    - Dst: Botan::PKCS11::MechanismWrapper::create_ecdsa_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - PKCS11_ECDSA_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::PKCS11_ECDSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::MechanismWrapper::create_ecdsa_mechanism
    - domain
    linkageType: ''
    returnType: void
    signature: void PKCS11_ECDSA_Signature_Operation(const PKCS11_ECDSA_PrivateKey&
      key, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:62,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:62,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:62,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:62,1
    - Dst: assign
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:64,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:64,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:64,1
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:68,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:70,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:70,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:71,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:74,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:74,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:74,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:74,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - clear
    - std::span<const uint8_t>::begin
    - static_cast<Ulong>
    - data
    - module
    - std::span<const uint8_t>::end
    - empty
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - session
    - assign
    - handle
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:79,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:81,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:81,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:82,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:85,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - session
    - module
    - clear
    - empty
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::hash_function
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:107,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:108,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::hash_function
    - Botan::OID::from_string
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier PKCS11_ECDSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::MechanismWrapper::create_ecdsa_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - PKCS11_ECDSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: Botan::PKCS11::PKCS11_ECDSA_Verification_Operation::PKCS11_ECDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::MechanismWrapper::create_ecdsa_mechanism
    linkageType: ''
    returnType: void
    signature: void PKCS11_ECDSA_Verification_Operation(const PKCS11_ECDSA_PublicKey&
      key, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:123,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:123,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:123,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:123,1
    - Dst: assign
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:125,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:125,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:125,1
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:129,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:131,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:131,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:132,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:135,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:135,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:135,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:135,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: Botan::PKCS11::PKCS11_ECDSA_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - clear
    - std::span<const uint8_t>::begin
    - static_cast<Ulong>
    - data
    - module
    - std::span<const uint8_t>::end
    - empty
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - session
    - assign
    - handle
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:140,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:142,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:142,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:143,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:144,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:144,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:145,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:146,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:146,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:148,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:151,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:152,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:152,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:152,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:152,1
    - Dst: PKCS11_ReturnError
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 159
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 159
    functionName: Botan::PKCS11::PKCS11_ECDSA_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - clear
    - static_cast<Ulong>
    - data
    - module
    - empty
    - std::span<const uint8_t>::size
    - size
    - std::span<const uint8_t>::data
    - session
    - PKCS11_ReturnError
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan::PKCS11::PKCS11_ECDSA_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_ECDSA_Verification_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: Botan::PKCS11::PKCS11_ECDSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_ECDSA_Verification_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> PKCS11_ECDSA_PublicKey::create_verification_op(\n
      \  std::string_view params, std::string_view /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_ECDSA_Signature_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_ECDSA_Signature_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> PKCS11_ECDSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                                std::string_view
      params,\n                                                                                std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:190,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:192,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:192,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:194,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:195,1
    - Dst: Botan::PKCS11::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:195,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:196,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:197,1
    - Dst: Botan::PKCS11::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:197,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:201,1
    - Dst: Botan::PKCS11::PKCS11_ECDSA_PublicKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:201,1
    - Dst: PKCS11_ECDSA_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' session'
    - ' pub_props'
    - ' priv_props'
    argTypes:
    - Session
    - EC_PublicKeyGenerationProperties
    - EC_PrivateKeyGenerationProperties
    constantsTouched: []
    func_position:
      end: 203
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 203
    functionName: Botan::PKCS11::generate_ecdsa_keypair
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 1
    functionsReached:
    - static_cast<CK_MECHANISM_TYPE>
    - static_cast<Ulong>
    - module
    - PKCS11_ECDSA_PrivateKey
    - std::make_pair
    - Botan::PKCS11::PKCS11_ECDSA_PublicKey
    - Botan::PKCS11::count
    - Botan::PKCS11::data
    - handle
    linkageType: ''
    returnType: PKCS11_ECDSA_KeyPair
    signature: "PKCS11_ECDSA_KeyPair generate_ecdsa_keypair(Session& session,\n                                            const
      EC_PublicKeyGenerationProperties& pub_props,\n                                            const
      EC_PrivateKeyGenerationProperties& priv_props)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECDH_PublicKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:21,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:21,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::PKCS11::PKCS11_ECDH_PublicKey::export_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - ECDH_PublicKey
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: ECDH_PublicKey
    signature: ECDH_PublicKey PKCS11_ECDH_PublicKey::export_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:25,1
    - Dst: ECDH_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:28,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:28,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: Botan::PKCS11::PKCS11_ECDH_PrivateKey::export_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - ECDH_PrivateKey
    - domain
    - get_attribute_value
    linkageType: ''
    returnType: ECDH_PrivateKey
    signature: ECDH_PrivateKey PKCS11_ECDH_PrivateKey::export_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECDH_PublicKey>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:32,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:32,1
    - Dst: public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::PKCS11::PKCS11_ECDH_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - public_ec_point
    - domain
    - std::make_unique<ECDH_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> PKCS11_ECDH_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_ECDH_PrivateKey::export_key
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::PKCS11::PKCS11_ECDH_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::PKCS11_ECDH_PrivateKey::export_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PKCS11_ECDH_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::MechanismWrapper::create_ecdh_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - params
    argTypes:
    - PKCS11_EC_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: Botan::PKCS11::PKCS11_ECDH_KA_Operation::PKCS11_ECDH_KA_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::MechanismWrapper::create_ecdh_mechanism
    linkageType: ''
    returnType: void
    signature: void PKCS11_ECDH_KA_Operation(const PKCS11_EC_PrivateKey& key, std::string_view
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::PKCS11::PKCS11_ECDH_KA_Operation::agreed_value_size
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - domain
    linkageType: ''
    returnType: size_t
    signature: size_t agreed_value_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_encoding
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:53,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:54,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:54,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:54,1
    - Dst: set_ecdh_other_key
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:55,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:55,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:55,1
    - Dst: set_ecdh_other_key
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:57,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:57,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:57,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:60,1
    - Dst: set_ecdh_salt
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:61,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:61,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:61,1
    - Dst: AttributeContainer::add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:66,1
    - Dst: AttributeContainer::add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:67,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:68,1
    - Dst: static_cast<CK_OBJECT_CLASS>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:68,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:69,1
    - Dst: static_cast<CK_KEY_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:69,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:70,1
    - Dst: static_cast<CK_ULONG>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:70,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:71,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:71,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:72,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:73,1
    - Dst: AttributeContainer::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:74,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:75,1
    - Dst: AttributeContainer::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:75,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:78,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:79,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:80,1
    - Dst: PKCS11_Error
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:81,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - key_len
    - other_key
    - salt
    argTypes:
    - size_t
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 85
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 85
    functionName: Botan::PKCS11::PKCS11_ECDH_KA_Operation::agree
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - AttributeContainer::count
    - DER_Encoder
    - AttributeContainer::data
    - static_cast<Ulong>
    - data
    - static_cast<CK_ULONG>
    - AttributeContainer::add_numeric
    - set_ecdh_salt
    - session
    - AttributeContainer::add_bool
    - std::vector::data
    - std::vector::size
    - handle
    - std::span<const uint8_t>::empty
    - static_cast<CK_OBJECT_CLASS>
    - static_cast<CK_KEY_TYPE>
    - std::span<const uint8_t>::data
    - secure_vector::resize
    - set_ecdh_other_key
    - module
    - std::span<const uint8_t>::size
    - PKCS11_Error
    - point_encoding
    - Object::get_attribute_value
    - secure_vector::size
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> agree(size_t key_len,\n                                   std::span<const
      uint8_t> other_key,\n                                   std::span<const uint8_t>
      salt) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_ECDH_KA_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: Botan::PKCS11::PKCS11_ECDH_PrivateKey::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_ECDH_KA_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> PKCS11_ECDH_PrivateKey::create_key_agreement_op(\n
      \  RandomNumberGenerator& /*rng*/, std::string_view params, std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:105,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:107,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:107,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:109,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:110,1
    - Dst: Botan::PKCS11::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:110,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:111,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:112,1
    - Dst: Botan::PKCS11::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:112,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:116,1
    - Dst: Botan::PKCS11::PKCS11_ECDH_PublicKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:116,1
    - Dst: PKCS11_ECDH_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' session'
    - ' pub_props'
    - ' priv_props'
    argTypes:
    - Session
    - EC_PublicKeyGenerationProperties
    - EC_PrivateKeyGenerationProperties
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: Botan::PKCS11::generate_ecdh_keypair
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 1
    functionsReached:
    - PKCS11_ECDH_PrivateKey
    - static_cast<CK_MECHANISM_TYPE>
    - static_cast<Ulong>
    - module
    - Botan::PKCS11::PKCS11_ECDH_PublicKey
    - std::make_pair
    - Botan::PKCS11::count
    - Botan::PKCS11::data
    - handle
    linkageType: ''
    returnType: PKCS11_ECDH_KeyPair
    signature: "PKCS11_ECDH_KeyPair generate_ecdh_keypair(Session& session,\n                                          const
      EC_PublicKeyGenerationProperties& pub_props,\n                                          const
      EC_PrivateKeyGenerationProperties& priv_props)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:29,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:29,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:30,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' modulus'
    - ' pub_exponent'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: Botan::PKCS11::RSA_PublicKeyImportProperties::RSA_PublicKeyImportProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - serialize
    - add_binary
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKeyImportProperties::RSA_PublicKeyImportProperties(const
      BigInt& modulus, const BigInt& pub_exponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Ulong
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::PKCS11::RSA_PublicKeyGenerationProperties::RSA_PublicKeyGenerationProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - add_numeric
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKeyGenerationProperties::RSA_PublicKeyGenerationProperties(Ulong
      bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:39,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:39,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:40,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - handle
    argTypes:
    - Session
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: Botan::PKCS11::PKCS11_RSA_PublicKey::PKCS11_RSA_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - get_attribute_value
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_PublicKey::PKCS11_RSA_PublicKey(Session& session, ObjectHandle
      handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulus
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:43,1
    - Dst: pub_exponent
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - ' pubkey_props'
    argTypes:
    - Session
    - RSA_PublicKeyImportProperties
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: Botan::PKCS11::PKCS11_RSA_PublicKey::PKCS11_RSA_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - modulus
    - pub_exponent
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_PublicKey::PKCS11_RSA_PublicKey(Session& session, const
      RSA_PublicKeyImportProperties& pubkey_props)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:47,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:47,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:48,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' modulus'
    - ' priv_exponent'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan::PKCS11::RSA_PrivateKeyImportProperties::RSA_PrivateKeyImportProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - serialize
    - add_binary
    linkageType: ''
    returnType: void
    signature: void RSA_PrivateKeyImportProperties::RSA_PrivateKeyImportProperties(const
      BigInt& modulus, const BigInt& priv_exponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:53,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:53,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:54,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - handle
    argTypes:
    - Session
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::PKCS11_RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - get_attribute_value
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_PrivateKey::PKCS11_RSA_PrivateKey(Session& session,
      ObjectHandle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulus
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:58,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:58,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - ' priv_key_props'
    argTypes:
    - Session
    - RSA_PrivateKeyImportProperties
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::PKCS11_RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - modulus
    - get_attribute_value
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_PrivateKey::PKCS11_RSA_PrivateKey(Session& session,
      const RSA_PrivateKeyImportProperties& priv_key_props)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PublicKeyGenerationProperties::set_encrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:65,1
    - Dst: RSA_PublicKeyGenerationProperties::set_verify
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:66,1
    - Dst: RSA_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:67,1
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:71,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:72,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:72,1
    - Dst: RSA_PublicKeyGenerationProperties::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:74,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:75,1
    - Dst: RSA_PublicKeyGenerationProperties::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:75,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:76,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:77,1
    - Dst: count
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:77,1
    - Dst: Botan::PKCS11::PKCS11_RSA_PrivateKey::reset_handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:81,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:83,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:83,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:84,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:84,1
    - Dst: Botan::RSA_PublicKey::init
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:85,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:85,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' session'
    - bits
    - ' priv_key_props'
    argTypes:
    - Session
    - uint32_t
    - RSA_PrivateKeyGenerationProperties
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::PKCS11_RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - RSA_PublicKeyGenerationProperties::set_verify
    - std::move
    - static_cast<CK_MECHANISM_TYPE>
    - RSA_PublicKeyGenerationProperties::set_token
    - get_attribute_value
    - static_cast<Ulong>
    - Botan::RSA_PublicKey::init
    - data
    - module
    - Botan::PKCS11::PKCS11_RSA_PrivateKey::reset_handle
    - count
    - RSA_PublicKeyGenerationProperties::data
    - RSA_PublicKeyGenerationProperties::set_encrypt
    - RSA_PublicKeyGenerationProperties::count
    - Botan::BigInt::from_bytes
    - handle
    linkageType: ''
    returnType: void
    signature: "void PKCS11_RSA_PrivateKey::PKCS11_RSA_PrivateKey(Session& session,\n
      \                                            uint32_t bits,\n                                             const
      RSA_PrivateKeyGenerationProperties& priv_key_props)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:89,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:90,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:91,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:92,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:93,1
    - Dst: RSA_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:95,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:95,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:96,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:97,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:98,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::export_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - get_attribute_value
    - RSA_PrivateKey
    linkageType: ''
    returnType: RSA_PrivateKey
    signature: RSA_PrivateKey PKCS11_RSA_PrivateKey::export_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RSA_PublicKey>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:103,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:103,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:103,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:104,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - get_attribute_value
    - std::make_unique<RSA_PublicKey>
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> PKCS11_RSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_RSA_PrivateKey::export_key
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::PKCS11_RSA_PrivateKey::export_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PKCS11_RSA_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::MechanismWrapper::create_rsa_crypt_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:120,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:121,1
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:121,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:122,1
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:122,1
    - Dst: monty_precompute
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:128,1
    - Dst: monty_execute_vartime
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:129,1
    - Dst: get_e
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:129,1
    - Dst: inverse_mod_rsa_public_modulus
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:131,1
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:131,1
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' key'
    - padding
    - ' rng'
    argTypes:
    - PKCS11_RSA_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: Botan::PKCS11::PKCS11_RSA_Decryption_Operation::PKCS11_RSA_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - get_e
    - inverse_mod_rsa_public_modulus
    - Botan::PKCS11::MechanismWrapper::create_rsa_crypt_mechanism
    - monty_precompute
    - std::make_shared<Montgomery_Params>
    - Botan::Barrett_Reduction::for_public_modulus
    - get_n
    - monty_execute_vartime
    linkageType: ''
    returnType: void
    signature: "void PKCS11_RSA_Decryption_Operation(const PKCS11_RSA_PrivateKey&
      key,\n                                      std::string_view padding,\n                                      RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::PKCS11::PKCS11_RSA_Decryption_Operation::plaintext_length
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    linkageType: ''
    returnType: size_t
    signature: size_t plaintext_length(size_t /*ctext_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:139,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:139,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:139,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:139,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:141,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:141,1
    - Dst: blind
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:149,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:149,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:151,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:155,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:155,1
    - Dst: unblind
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:159,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:159,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:160,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' valid_mask'
    - ctext
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 166
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 166
    functionName: Botan::PKCS11::PKCS11_RSA_Decryption_Operation::decrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - BigInt::serialize_to
    - std::span<const uint8_t>::begin
    - data
    - module
    - blind
    - std::span<const uint8_t>::end
    - unblind
    - secure_vector::resize
    - session
    - BigInt::serialize
    - Botan::BigInt::from_bytes
    - handle
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decrypt(uint8_t& valid_mask, std::span<const
      uint8_t> ctext) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' key'
    - padding
    - ' rng'
    argTypes:
    - PKCS11_RSA_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: Botan::PKCS11::PKCS11_RSA_Decryption_Operation_Software_EME::PKCS11_RSA_Decryption_Operation_Software_EME
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PKCS11_RSA_Decryption_Operation_Software_EME(const PKCS11_RSA_PrivateKey&
      key,\n                                                   std::string_view padding,\n
      \                                                  RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_RSA_Decryption_Operation_Software_EME::plaintext_length
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Botan::PKCS11::PKCS11_RSA_Decryption_Operation_Software_EME::plaintext_length
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::PKCS11_RSA_Decryption_Operation_Software_EME::plaintext_length
    linkageType: ''
    returnType: size_t
    signature: size_t plaintext_length(size_t ctext_len) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: Botan::PKCS11::PKCS11_RSA_Decryption_Operation_Software_EME::raw_decrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - decrypt
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_decrypt(std::span<const uint8_t> input)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::MechanismWrapper::create_rsa_crypt_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:201,1
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:202,1
    - Dst: padding_size
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - padding
    argTypes:
    - PKCS11_RSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: Botan::PKCS11::PKCS11_RSA_Encryption_Operation::PKCS11_RSA_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::MechanismWrapper::create_rsa_crypt_mechanism
    - padding_size
    - get_n
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_Encryption_Operation(const PKCS11_RSA_PublicKey& key,
      std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: Botan::PKCS11::PKCS11_RSA_Encryption_Operation::ciphertext_length
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    linkageType: ''
    returnType: size_t
    signature: size_t ciphertext_length(size_t /*ptext_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: Botan::PKCS11::PKCS11_RSA_Encryption_Operation::max_input_bits
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t max_input_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:210,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:210,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:210,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:210,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:213,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:214,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:214,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:214,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: Botan::PKCS11::PKCS11_RSA_Encryption_Operation::encrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - secure_vector<uint8_t>
    - std::span<const uint8_t>::begin
    - data
    - module
    - std::span<const uint8_t>::end
    - session
    - handle
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encrypt(std::span<const uint8_t> input, RandomNumberGenerator&
      /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::MechanismWrapper::create_rsa_sign_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - padding
    argTypes:
    - PKCS11_RSA_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: Botan::PKCS11::PKCS11_RSA_Signature_Operation::PKCS11_RSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::MechanismWrapper::create_rsa_sign_mechanism
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_Signature_Operation(const PKCS11_RSA_PrivateKey& key,
      std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: Botan::PKCS11::PKCS11_RSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:234,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:234,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:234,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:234,1
    - Dst: assign
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:236,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:236,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:236,1
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:240,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:242,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:242,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:243,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:246,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:246,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:246,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:246,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: Botan::PKCS11::PKCS11_RSA_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - clear
    - std::span<const uint8_t>::begin
    - static_cast<Ulong>
    - data
    - module
    - std::span<const uint8_t>::end
    - empty
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - session
    - assign
    - handle
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:251,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:253,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:253,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:254,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:257,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: Botan::PKCS11::PKCS11_RSA_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - session
    - module
    - clear
    - empty
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Internal_Error
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - type
    argTypes:
    - MechanismType
    constantsTouched: []
    func_position:
      end: 308
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 308
    functionName: Botan::PKCS11::hash_function_name_from_pkcs11_rsa_mechanism_type
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function_name_from_pkcs11_rsa_mechanism_type(MechanismType
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function_name_from_pkcs11_rsa_mechanism_type
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:313,1
    - Dst: mechanism_type
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: Botan::PKCS11::PKCS11_RSA_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - hash_function_name_from_pkcs11_rsa_mechanism_type
    - mechanism_type
    linkageType: ''
    returnType: std::string
    signature: std::string PKCS11_RSA_Signature_Operation::hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_RSA_Signature_Operation::hash_function
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:317,1
    - Dst: mechanism_type
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:319,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:325,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:326,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:334,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 339
    functionName: Botan::PKCS11::PKCS11_RSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::PKCS11_RSA_Signature_Operation::hash_function
    - Not_Implemented
    - Botan::OID::from_string
    - mechanism_type
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier PKCS11_RSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::MechanismWrapper::create_rsa_sign_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - padding
    argTypes:
    - PKCS11_RSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: Botan::PKCS11::PKCS11_RSA_Verification_Operation::PKCS11_RSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::MechanismWrapper::create_rsa_sign_mechanism
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_Verification_Operation(const PKCS11_RSA_PublicKey&
      key, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:349,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:349,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:349,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:349,1
    - Dst: assign
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:351,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:351,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:351,1
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:355,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:357,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:357,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:358,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:361,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:361,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:361,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:361,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 362
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 362
    functionName: Botan::PKCS11::PKCS11_RSA_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - clear
    - std::span<const uint8_t>::begin
    - static_cast<Ulong>
    - data
    - module
    - std::span<const uint8_t>::end
    - empty
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - session
    - assign
    - handle
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:366,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:368,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:368,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:369,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:370,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:370,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:371,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:372,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:372,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:374,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:377,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:378,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:378,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:378,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:378,1
    - Dst: PKCS11_ReturnError
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 385
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 385
    functionName: Botan::PKCS11::PKCS11_RSA_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - clear
    - static_cast<Ulong>
    - data
    - module
    - empty
    - std::span<const uint8_t>::size
    - size
    - std::span<const uint8_t>::data
    - session
    - PKCS11_ReturnError
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function_name_from_pkcs11_rsa_mechanism_type
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:397,1
    - Dst: mechanism_type
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: Botan::PKCS11::PKCS11_RSA_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - hash_function_name_from_pkcs11_rsa_mechanism_type
    - mechanism_type
    linkageType: ''
    returnType: std::string
    signature: std::string PKCS11_RSA_Verification_Operation::hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_RSA_Encryption_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: Botan::PKCS11::PKCS11_RSA_PublicKey::create_encryption_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_RSA_Encryption_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Encryption>
    signature: "std::unique_ptr<PK_Ops::Encryption> PKCS11_RSA_PublicKey::create_encryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                               std::string_view
      params,\n                                                                               std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_RSA_Verification_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: Botan::PKCS11::PKCS11_RSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_RSA_Verification_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> PKCS11_RSA_PublicKey::create_verification_op(\n
      \  std::string_view params, std::string_view /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_RSA_Decryption_Operation_Software_EME>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:417,1
    - Dst: std::make_unique<PKCS11_RSA_Decryption_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' rng'
    - params
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::create_decryption_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_RSA_Decryption_Operation>
    - std::make_unique<PKCS11_RSA_Decryption_Operation_Software_EME>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Decryption>
    signature: "std::unique_ptr<PK_Ops::Decryption> PKCS11_RSA_PrivateKey::create_decryption_op(RandomNumberGenerator&
      rng,\n                                                                                std::string_view
      params,\n                                                                                std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_RSA_Signature_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_RSA_Signature_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> PKCS11_RSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                              std::string_view
      params,\n                                                                              std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:435,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:437,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:437,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:439,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:440,1
    - Dst: Botan::PKCS11::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:440,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:441,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:442,1
    - Dst: Botan::PKCS11::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:442,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:446,1
    - Dst: PKCS11_RSA_PublicKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:446,1
    - Dst: PKCS11_RSA_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' session'
    - ' pub_props'
    - ' priv_props'
    argTypes:
    - Session
    - RSA_PublicKeyGenerationProperties
    - RSA_PrivateKeyGenerationProperties
    constantsTouched: []
    func_position:
      end: 448
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 448
    functionName: Botan::PKCS11::generate_rsa_keypair
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 1
    functionsReached:
    - static_cast<CK_MECHANISM_TYPE>
    - static_cast<Ulong>
    - module
    - PKCS11_RSA_PrivateKey
    - std::make_pair
    - Botan::PKCS11::count
    - Botan::PKCS11::data
    - PKCS11_RSA_PublicKey
    - handle
    linkageType: ''
    returnType: PKCS11_RSA_KeyPair
    signature: "PKCS11_RSA_KeyPair generate_rsa_keypair(Session& session,\n                                        const
      RSA_PublicKeyGenerationProperties& pub_props,\n                                        const
      RSA_PrivateKeyGenerationProperties& priv_props)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - ' props'
    argTypes:
    - Session
    - EC_PublicKeyImportProperties
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: Botan::PKCS11::PKCS11_ECDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS11_ECDSA_PublicKey(Session& session, const EC_PublicKeyImportProperties&
      props)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::PKCS11::algo_name
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::PKCS11::generate_another
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> generate_another(RandomNumberGenerator&)
      const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS11_ECDSA_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h:75,1
    - Dst: PKCS11_EC_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h:75,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h:103,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 124
    functionName: PKCS11_EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h
    functionUses: 1
    functionsReached:
    - PKCS11_EC_PrivateKey
    - PKCS11_ECDSA_PrivateKey
    - Not_Implemented
    - domain
    linkageType: ''
    returnType: PKCS11_ECDSA_PrivateKey
    signature: PKCS11_ECDSA_PrivateKey PKCS11_EC_PrivateKey
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - MechanismType
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::PKCS11::MechanismData::MechanismData
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MechanismData(MechanismType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MechanismData
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::PKCS11::MechanismData::MechanismData
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MechanismData(const MechanismData& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MechanismData
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::PKCS11::MechanismData::MechanismData
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MechanismData(MechanismData&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MechanismData
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const MechanismData& other)'
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MechanismData
    signature: MechanismData & operator=(const MechanismData& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MechanismData
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(MechanismData&& other)'
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MechanismData
    signature: MechanismData & operator=(MechanismData&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~MechanismData()
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MechanismData()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::PKCS11::MechanismData::type
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MechanismType
    signature: MechanismType type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MechanismType>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:52,1
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:53,1
    - Dst: type
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:53,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:54,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:55,1
    - Dst: std::get<2>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:56,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - typ
    argTypes:
    - MechanismType
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: Botan::PKCS11::RSA_SignMechanism::RSA_SignMechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached:
    - std::get<2>
    - std::get<0>
    - end
    - type
    - std::get<1>
    - find
    - static_cast<MechanismType>
    linkageType: ''
    returnType: void
    signature: void RSA_SignMechanism(MechanismType typ)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::PKCS11::RSA_SignMechanism::hash
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MechanismType
    signature: MechanismType hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::PKCS11::RSA_SignMechanism::mgf
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MGF
    signature: MGF mgf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::PKCS11::RSA_SignMechanism::salt_size
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t salt_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - typ
    - padding_size
    - hash
    - mgf
    argTypes:
    - MechanismType
    - size_t
    - MechanismType
    - MGF
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: Botan::PKCS11::RSA_CryptMechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_CryptMechanism(MechanismType typ, size_t padding_size, MechanismType
      hash, MGF mgf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MechanismType>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - typ
    - padding_size
    argTypes:
    - MechanismType
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: Botan::PKCS11::RSA_CryptMechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MechanismType>
    linkageType: ''
    returnType: void
    signature: void RSA_CryptMechanism(MechanismType typ, size_t padding_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Botan::PKCS11::hash
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MechanismType
    signature: MechanismType hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: Botan::PKCS11::mgf
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MGF
    signature: MGF mgf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: Botan::PKCS11::padding_size
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t padding_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mechanism_type
    argTypes:
    - MechanismType
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: Botan::PKCS11::MechanismWrapper::MechanismWrapper
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CK_MECHANISM_TYPE>
    linkageType: ''
    returnType: void
    signature: void MechanismWrapper::MechanismWrapper(MechanismType mechanism_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:218,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:219,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:221,1
    - Dst: RSA_CryptMechanism::type
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:225,1
    - Dst: RSA_CryptMechanism::type
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:226,1
    - Dst: std::make_shared<MechanismParameters>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:227,1
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:228,1
    - Dst: RSA_CryptMechanism::hash
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:228,1
    - Dst: static_cast<CK_RSA_PKCS_MGF_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:229,1
    - Dst: RSA_CryptMechanism::mgf
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:229,1
    - Dst: MechanismWrapper::m_parameters::get
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:233,1
    - Dst: RSA_CryptMechanism::padding_size
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - padding_view
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: Botan::PKCS11::MechanismWrapper::create_rsa_crypt_mechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 2
    functionsReached:
    - static_cast<CK_RSA_PKCS_MGF_TYPE>
    - static_cast<CK_MECHANISM_TYPE>
    - RSA_CryptMechanism::type
    - RSA_CryptMechanism::mgf
    - end
    - MechanismWrapper::m_parameters::get
    - RSA_CryptMechanism::hash
    - std::make_shared<MechanismParameters>
    - RSA_CryptMechanism::padding_size
    - Lookup_Error
    - find
    linkageType: ''
    returnType: MechanismWrapper
    signature: MechanismWrapper MechanismWrapper::create_rsa_crypt_mechanism(std::string_view
      padding_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:242,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:243,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:245,1
    - Dst: RSA_SignMechanism::type
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:249,1
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:250,1
    - Dst: RSA_SignMechanism::type
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:250,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:250,1
    - Dst: std::make_shared<MechanismParameters>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:251,1
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:252,1
    - Dst: RSA_SignMechanism::hash
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:252,1
    - Dst: static_cast<CK_RSA_PKCS_MGF_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:253,1
    - Dst: RSA_SignMechanism::mgf
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:253,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:254,1
    - Dst: RSA_SignMechanism::salt_size
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:254,1
    - Dst: MechanismWrapper::m_parameters::get
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - padding_view
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 259
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 259
    functionName: Botan::PKCS11::MechanismWrapper::create_rsa_sign_mechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 2
    functionsReached:
    - static_cast<CK_RSA_PKCS_MGF_TYPE>
    - static_cast<CK_MECHANISM_TYPE>
    - RSA_SignMechanism::hash
    - static_cast<Ulong>
    - end
    - RSA_SignMechanism::type
    - MechanismWrapper::m_parameters::get
    - std::make_shared<MechanismParameters>
    - RSA_SignMechanism::salt_size
    - Lookup_Error
    - RSA_SignMechanism::mgf
    - find
    linkageType: ''
    returnType: MechanismWrapper
    signature: MechanismWrapper MechanismWrapper::create_rsa_sign_mechanism(std::string_view
      padding_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:263,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:264,1
    - Dst: Botan::PKCS11::MechanismWrapper::MechanismWrapper
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:265,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:270,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:270,1
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:271,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:271,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:272,1
    - Dst: Botan::PKCS11::MechanismWrapper::MechanismWrapper
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:273,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:277,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - hash_spec_view
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: Botan::PKCS11::MechanismWrapper::create_ecdsa_mechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 2
    functionsReached:
    - SCAN_Name::arg_count
    - Botan::PKCS11::MechanismWrapper::MechanismWrapper
    - end
    - SCAN_Name::arg
    - Lookup_Error
    - fmt
    - find
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: MechanismWrapper
    signature: MechanismWrapper MechanismWrapper::create_ecdsa_mechanism(std::string_view
      hash_spec_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_on
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:281,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:283,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:283,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:284,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:284,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:296,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:297,1
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:301,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:302,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:303,1
    - Dst: std::make_shared<MechanismParameters>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:306,1
    - Dst: static_cast<CK_EC_KDF_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:307,1
    - Dst: MechanismWrapper::m_parameters::get
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:308,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 311
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 311
    functionName: Botan::PKCS11::MechanismWrapper::create_ecdh_mechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 1
    functionsReached:
    - std::vector::empty
    - std::vector::size
    - SCAN_Name::arg_count
    - end
    - MechanismWrapper::m_parameters::get
    - split_on
    - Invalid_Argument
    - SCAN_Name::arg
    - std::make_shared<MechanismParameters>
    - Lookup_Error
    - fmt
    - find
    - static_cast<CK_EC_KDF_TYPE>
    linkageType: ''
    returnType: MechanismWrapper
    signature: MechanismWrapper MechanismWrapper::create_ecdh_mechanism(std::string_view
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ReturnValue>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:29,1
    - Dst: PKCS11_ReturnError
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:31,1
    - Dst: static_cast<ReturnValue>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:31,1
    - Dst: static_cast<ReturnValue>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:35,1
    - Dst: static_cast<ReturnValue>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - function_result
    - return_value
    argTypes:
    - CK_RV
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: Botan::PKCS11::LowLevel::handle_return_value
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ReturnValue>
    - PKCS11_ReturnError
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::handle_return_value(const CK_RV function_result, ReturnValue*
      return_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:42,1
    - Dst: Botan::PKCS11::set_pin
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' slot'
    - label
    - ' so_pin'
    - ' pin'
    argTypes:
    - Slot
    - std::string_view
    - secure_string
    - secure_string
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Botan::PKCS11::initialize_token
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::set_pin
    - initialize
    linkageType: ''
    returnType: void
    signature: void initialize_token(Slot& slot, std::string_view label, const secure_string&
      so_pin, const secure_string& pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session::login
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:48,1
    - Dst: Session::set_pin
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' slot'
    - ' old_pin'
    - ' new_pin'
    argTypes:
    - Slot
    - secure_string
    - secure_string
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: Botan::PKCS11::change_pin
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Session::login
    - Session::set_pin
    linkageType: ''
    returnType: void
    signature: void change_pin(Slot& slot, const secure_string& old_pin, const secure_string&
      new_pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session::login
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:54,1
    - Dst: Session::set_pin
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' slot'
    - ' old_so_pin'
    - ' new_so_pin'
    argTypes:
    - Slot
    - secure_string
    - secure_string
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: Botan::PKCS11::change_so_pin
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Session::login
    - Session::set_pin
    linkageType: ''
    returnType: void
    signature: void change_so_pin(Slot& slot, const secure_string& old_so_pin, const
      secure_string& new_so_pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session::login
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:60,1
    - Dst: Session::init_pin
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' slot'
    - ' so_pin'
    - ' pin'
    argTypes:
    - Slot
    - secure_string
    - secure_string
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: Botan::PKCS11::set_pin
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 2
    functionsReached:
    - Session::login
    - Session::init_pin
    linkageType: ''
    returnType: void
    signature: void set_pin(Slot& slot, const secure_string& so_pin, const secure_string&
      pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - FunctionListPtr
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Botan::PKCS11::LowLevel::LowLevel
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void LowLevel::LowLevel(FunctionListPtr ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:73,1
    - Dst: Botan::PKCS11::LowLevel::C_Initialize
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - init_args
    - return_value
    argTypes:
    - VoidPtr
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::PKCS11::LowLevel::C_Initialize
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_Initialize
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_Initialize(VoidPtr init_args, ReturnValue* return_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:77,1
    - Dst: Botan::PKCS11::LowLevel::C_Finalize
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reserved
    - return_value
    argTypes:
    - VoidPtr
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::PKCS11::LowLevel::C_Finalize
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_Finalize
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_Finalize(VoidPtr reserved, ReturnValue* return_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:81,1
    - Dst: Botan::PKCS11::LowLevel::C_GetInfo
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info_ptr
    - return_value
    argTypes:
    - Info*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::PKCS11::LowLevel::C_GetInfo
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_GetInfo
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_GetInfo(Info* info_ptr, ReturnValue* return_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resolve
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:89,1
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:91,1
    - Dst: get_function_list_ptr
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pkcs11_module'
    - function_list_ptr_ptr
    - return_value
    argTypes:
    - Dynamically_Loaded_Library
    - FunctionListPtr*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: Botan::PKCS11::LowLevel::C_GetFunctionList
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 3
    functionsReached:
    - resolve
    - get_function_list_ptr
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetFunctionList(Dynamically_Loaded_Library& pkcs11_module,\n
      \                                FunctionListPtr* function_list_ptr_ptr,\n                                 ReturnValue*
      return_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:100,1
    - Dst: Botan::PKCS11::LowLevel::C_GetSlotList
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - token_present
    - slot_list_ptr
    - count_ptr
    - return_value
    argTypes:
    - Bbool
    - SlotId*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: Botan::PKCS11::LowLevel::C_GetSlotList
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_GetSlotList
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetSlotList(Bbool token_present,\n                             SlotId*
      slot_list_ptr,\n                             Ulong* count_ptr,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:104,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:116,1
    - Dst: Botan::PKCS11::LowLevel::C_GetSlotList
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:117,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - token_present
    - ' slot_ids'
    - return_value
    argTypes:
    - bool
    - std::vector<SlotId>
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: Botan::PKCS11::LowLevel::C_GetSlotList
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 2
    functionsReached:
    - data
    - resize
    - clear
    - Botan::PKCS11::LowLevel::C_GetSlotList
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_GetSlotList(bool token_present, std::vector<SlotId>&
      slot_ids, ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:121,1
    - Dst: Botan::PKCS11::LowLevel::C_GetSlotInfo
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slot_id
    - info_ptr
    - return_value
    argTypes:
    - SlotId
    - SlotInfo*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: Botan::PKCS11::LowLevel::C_GetSlotInfo
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_GetSlotInfo
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_GetSlotInfo(SlotId slot_id, SlotInfo* info_ptr, ReturnValue*
      return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:125,1
    - Dst: Botan::PKCS11::LowLevel::C_GetTokenInfo
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slot_id
    - info_ptr
    - return_value
    argTypes:
    - SlotId
    - TokenInfo*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::PKCS11::LowLevel::C_GetTokenInfo
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_GetTokenInfo
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_GetTokenInfo(SlotId slot_id, TokenInfo* info_ptr,
      ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:129,1
    - Dst: Botan::PKCS11::LowLevel::C_WaitForSlotEvent
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - flags
    - slot_ptr
    - reserved
    - return_value
    argTypes:
    - Flags
    - SlotId*
    - VoidPtr
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::PKCS11::LowLevel::C_WaitForSlotEvent
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_WaitForSlotEvent
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_WaitForSlotEvent(Flags flags, SlotId* slot_ptr, VoidPtr
      reserved, ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:136,1
    - Dst: Botan::PKCS11::LowLevel::C_GetMechanismList
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:136,1
    - Dst: reinterpret_cast<CK_MECHANISM_TYPE_PTR>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - slot_id
    - mechanism_list_ptr
    - count_ptr
    - return_value
    argTypes:
    - SlotId
    - MechanismType*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: Botan::PKCS11::LowLevel::C_GetMechanismList
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - reinterpret_cast<CK_MECHANISM_TYPE_PTR>
    - Botan::PKCS11::LowLevel::C_GetMechanismList
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetMechanismList(SlotId slot_id,\n                                  MechanismType*
      mechanism_list_ptr,\n                                  Ulong* count_ptr,\n                                  ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:144,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:156,1
    - Dst: Botan::PKCS11::LowLevel::C_GetMechanismList
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:157,1
    - Dst: reinterpret_cast<MechanismType*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:158,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - slot_id
    - ' mechanisms'
    - return_value
    argTypes:
    - SlotId
    - std::vector<MechanismType>
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: Botan::PKCS11::LowLevel::C_GetMechanismList
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<MechanismType*>
    - clear
    - data
    - Botan::PKCS11::LowLevel::C_GetMechanismList
    - resize
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetMechanismList(SlotId slot_id,\n                                  std::vector<MechanismType>&
      mechanisms,\n                                  ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:165,1
    - Dst: Botan::PKCS11::LowLevel::C_GetMechanismInfo
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:166,1
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - slot_id
    - type
    - info_ptr
    - return_value
    argTypes:
    - SlotId
    - MechanismType
    - MechanismInfo*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: Botan::PKCS11::LowLevel::C_GetMechanismInfo
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - static_cast<CK_MECHANISM_TYPE>
    - Botan::PKCS11::LowLevel::C_GetMechanismInfo
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetMechanismInfo(SlotId slot_id,\n                                  MechanismType
      type,\n                                  MechanismInfo* info_ptr,\n                                  ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:171,1
    - Dst: Botan::PKCS11::LowLevel::C_InitToken
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - slot_id
    - so_pin_ptr
    - so_pin_len
    - label_ptr
    - return_value
    argTypes:
    - SlotId
    - Utf8Char*
    - Ulong
    - Utf8Char*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: Botan::PKCS11::LowLevel::C_InitToken
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_InitToken
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_InitToken(\n   SlotId slot_id, Utf8Char* so_pin_ptr,
      Ulong so_pin_len, Utf8Char* label_ptr, ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:175,1
    - Dst: Botan::PKCS11::LowLevel::C_InitPIN
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - pin_ptr
    - pin_len
    - return_value
    argTypes:
    - SessionHandle
    - Utf8Char*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: Botan::PKCS11::LowLevel::C_InitPIN
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_InitPIN
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_InitPIN(SessionHandle session, Utf8Char* pin_ptr,
      Ulong pin_len, ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:184,1
    - Dst: Botan::PKCS11::LowLevel::C_SetPIN
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - old_pin_ptr
    - old_len
    - new_pin_ptr
    - new_len
    - return_value
    argTypes:
    - SessionHandle
    - Utf8Char*
    - Ulong
    - Utf8Char*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: Botan::PKCS11::LowLevel::C_SetPIN
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_SetPIN
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SetPIN(SessionHandle session,\n                        Utf8Char*
      old_pin_ptr,\n                        Ulong old_len,\n                        Utf8Char*
      new_pin_ptr,\n                        Ulong new_len,\n                        ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:196,1
    - Dst: Botan::PKCS11::LowLevel::C_OpenSession
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - slot_id
    - flags
    - application
    - notify
    - session_ptr
    - return_value
    argTypes:
    - SlotId
    - Flags
    - VoidPtr
    - Notify
    - SessionHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: Botan::PKCS11::LowLevel::C_OpenSession
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_OpenSession
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_OpenSession(SlotId slot_id,\n                             Flags
      flags,\n                             VoidPtr application,\n                             Notify
      notify,\n                             SessionHandle* session_ptr,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:201,1
    - Dst: Botan::PKCS11::LowLevel::C_CloseSession
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - return_value
    argTypes:
    - SessionHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: Botan::PKCS11::LowLevel::C_CloseSession
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_CloseSession
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_CloseSession(SessionHandle session, ReturnValue* return_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:205,1
    - Dst: Botan::PKCS11::LowLevel::C_CloseAllSessions
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - slot_id
    - return_value
    argTypes:
    - SlotId
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Botan::PKCS11::LowLevel::C_CloseAllSessions
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_CloseAllSessions
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_CloseAllSessions(SlotId slot_id, ReturnValue* return_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:209,1
    - Dst: Botan::PKCS11::LowLevel::C_GetSessionInfo
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - info_ptr
    - return_value
    argTypes:
    - SessionHandle
    - SessionInfo*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Botan::PKCS11::LowLevel::C_GetSessionInfo
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_GetSessionInfo
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_GetSessionInfo(SessionHandle session, SessionInfo*
      info_ptr, ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:216,1
    - Dst: Botan::PKCS11::LowLevel::C_GetOperationState
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - operation_state_ptr
    - operation_state_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: Botan::PKCS11::LowLevel::C_GetOperationState
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_GetOperationState
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetOperationState(SessionHandle session,\n                                   Byte*
      operation_state_ptr,\n                                   Ulong* operation_state_len_ptr,\n
      \                                  ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:226,1
    - Dst: Botan::PKCS11::LowLevel::C_SetOperationState
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - operation_state_ptr
    - operation_state_len
    - encryption_key
    - authentication_key
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ObjectHandle
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: Botan::PKCS11::LowLevel::C_SetOperationState
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_SetOperationState
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SetOperationState(SessionHandle session,\n                                   Byte*
      operation_state_ptr,\n                                   Ulong operation_state_len,\n
      \                                  ObjectHandle encryption_key,\n                                   ObjectHandle
      authentication_key,\n                                   ReturnValue* return_value)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:233,1
    - Dst: Botan::PKCS11::LowLevel::C_Login
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:233,1
    - Dst: static_cast<CK_USER_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - user_type
    - pin_ptr
    - pin_len
    - return_value
    argTypes:
    - SessionHandle
    - UserType
    - Utf8Char*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: Botan::PKCS11::LowLevel::C_Login
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_Login
    - static_cast<CK_USER_TYPE>
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_Login(\n   SessionHandle session, UserType user_type,
      Utf8Char* pin_ptr, Ulong pin_len, ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:238,1
    - Dst: Botan::PKCS11::LowLevel::C_Logout
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - return_value
    argTypes:
    - SessionHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: Botan::PKCS11::LowLevel::C_Logout
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_Logout
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_Logout(SessionHandle session, ReturnValue* return_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:248,1
    - Dst: Botan::PKCS11::LowLevel::C_CreateObject
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - attribute_template_ptr
    - count
    - object_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Attribute*
    - Ulong
    - ObjectHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: Botan::PKCS11::LowLevel::C_CreateObject
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_CreateObject
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_CreateObject(SessionHandle session,\n                              Attribute*
      attribute_template_ptr,\n                              Ulong count,\n                              ObjectHandle*
      object_ptr,\n                              ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:258,1
    - Dst: Botan::PKCS11::LowLevel::C_CopyObject
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - object
    - attribute_template_ptr
    - count
    - new_object_ptr
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle
    - Attribute*
    - Ulong
    - ObjectHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: Botan::PKCS11::LowLevel::C_CopyObject
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_CopyObject
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_CopyObject(SessionHandle session,\n                            ObjectHandle
      object,\n                            Attribute* attribute_template_ptr,\n                            Ulong
      count,\n                            ObjectHandle* new_object_ptr,\n                            ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:263,1
    - Dst: Botan::PKCS11::LowLevel::C_DestroyObject
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - object
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: Botan::PKCS11::LowLevel::C_DestroyObject
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_DestroyObject
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_DestroyObject(SessionHandle session, ObjectHandle
      object, ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:270,1
    - Dst: Botan::PKCS11::LowLevel::C_GetObjectSize
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - object
    - size_ptr
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: Botan::PKCS11::LowLevel::C_GetObjectSize
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_GetObjectSize
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetObjectSize(SessionHandle session,\n                               ObjectHandle
      object,\n                               Ulong* size_ptr,\n                               ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:278,1
    - Dst: Botan::PKCS11::LowLevel::C_GetAttributeValue
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - object
    - attribute_template_ptr
    - count
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle
    - Attribute*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: Botan::PKCS11::LowLevel::C_GetAttributeValue
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_GetAttributeValue
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetAttributeValue(SessionHandle session,\n                                   ObjectHandle
      object,\n                                   Attribute* attribute_template_ptr,\n
      \                                  Ulong count,\n                                   ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:287,1
    - Dst: Botan::PKCS11::LowLevel::C_SetAttributeValue
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - object
    - attribute_template_ptr
    - count
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle
    - Attribute*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: Botan::PKCS11::LowLevel::C_SetAttributeValue
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_SetAttributeValue
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SetAttributeValue(SessionHandle session,\n                                   ObjectHandle
      object,\n                                   Attribute* attribute_template_ptr,\n
      \                                  Ulong count,\n                                   ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:295,1
    - Dst: Botan::PKCS11::LowLevel::C_FindObjectsInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - attribute_template_ptr
    - count
    - return_value
    argTypes:
    - SessionHandle
    - Attribute*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: Botan::PKCS11::LowLevel::C_FindObjectsInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_FindObjectsInit
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_FindObjectsInit(SessionHandle session,\n                                 Attribute*
      attribute_template_ptr,\n                                 Ulong count,\n                                 ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:303,1
    - Dst: Botan::PKCS11::LowLevel::C_FindObjects
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - object_ptr
    - max_object_count
    - object_count_ptr
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle*
    - Ulong
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: Botan::PKCS11::LowLevel::C_FindObjects
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_FindObjects
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_FindObjects(SessionHandle session,\n                             ObjectHandle*
      object_ptr,\n                             Ulong max_object_count,\n                             Ulong*
      object_count_ptr,\n                             ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:308,1
    - Dst: Botan::PKCS11::LowLevel::C_FindObjectsFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - return_value
    argTypes:
    - SessionHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: Botan::PKCS11::LowLevel::C_FindObjectsFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_FindObjectsFinal
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_FindObjectsFinal(SessionHandle session, ReturnValue*
      return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:317,1
    - Dst: Botan::PKCS11::LowLevel::C_EncryptInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - mechanism_ptr
    - key
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: Botan::PKCS11::LowLevel::C_EncryptInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_EncryptInit
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_EncryptInit(SessionHandle session,\n                             Mechanism*
      mechanism_ptr,\n                             ObjectHandle key,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:326,1
    - Dst: Botan::PKCS11::LowLevel::C_Encrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - data_ptr
    - data_len
    - encrypted_data_ptr
    - encrypted_data_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: Botan::PKCS11::LowLevel::C_Encrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_Encrypt
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_Encrypt(SessionHandle session,\n                         Byte*
      data_ptr,\n                         Ulong data_len,\n                         Byte*
      encrypted_data_ptr,\n                         Ulong* encrypted_data_len_ptr,\n
      \                        ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:337,1
    - Dst: Botan::PKCS11::LowLevel::C_EncryptUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - part_ptr
    - part_len
    - encrypted_part_ptr
    - encrypted_part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: Botan::PKCS11::LowLevel::C_EncryptUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_EncryptUpdate
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_EncryptUpdate(SessionHandle session,\n                               Byte*
      part_ptr,\n                               Ulong part_len,\n                               Byte*
      encrypted_part_ptr,\n                               Ulong* encrypted_part_len_ptr,\n
      \                              ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:346,1
    - Dst: Botan::PKCS11::LowLevel::C_EncryptFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - last_encrypted_part_ptr
    - last_encrypted_part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: Botan::PKCS11::LowLevel::C_EncryptFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_EncryptFinal
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_EncryptFinal(SessionHandle session,\n                              Byte*
      last_encrypted_part_ptr,\n                              Ulong* last_encrypted_part_len_ptr,\n
      \                             ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:356,1
    - Dst: Botan::PKCS11::LowLevel::C_DecryptInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - mechanism_ptr
    - key
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: Botan::PKCS11::LowLevel::C_DecryptInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_DecryptInit
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DecryptInit(SessionHandle session,\n                             Mechanism*
      mechanism_ptr,\n                             ObjectHandle key,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:365,1
    - Dst: Botan::PKCS11::LowLevel::C_Decrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - encrypted_data_ptr
    - encrypted_data_len
    - data_ptr
    - data_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 368
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 368
    functionName: Botan::PKCS11::LowLevel::C_Decrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_Decrypt
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_Decrypt(SessionHandle session,\n                         Byte*
      encrypted_data_ptr,\n                         Ulong encrypted_data_len,\n                         Byte*
      data_ptr,\n                         Ulong* data_len_ptr,\n                         ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:376,1
    - Dst: Botan::PKCS11::LowLevel::C_DecryptUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - encrypted_part_ptr
    - encrypted_part_len
    - part_ptr
    - part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 379
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 379
    functionName: Botan::PKCS11::LowLevel::C_DecryptUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_DecryptUpdate
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DecryptUpdate(SessionHandle session,\n                               Byte*
      encrypted_part_ptr,\n                               Ulong encrypted_part_len,\n
      \                              Byte* part_ptr,\n                               Ulong*
      part_len_ptr,\n                               ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:385,1
    - Dst: Botan::PKCS11::LowLevel::C_DecryptFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - last_part_ptr
    - last_part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: Botan::PKCS11::LowLevel::C_DecryptFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_DecryptFinal
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DecryptFinal(SessionHandle session,\n                              Byte*
      last_part_ptr,\n                              Ulong* last_part_len_ptr,\n                              ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:391,1
    - Dst: Botan::PKCS11::LowLevel::C_DigestInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - mechanism
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: Botan::PKCS11::LowLevel::C_DigestInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_DigestInit
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_DigestInit(SessionHandle session, Mechanism* mechanism,
      ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:400,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - data_ptr
    - data_len
    - digest_ptr
    - digest_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: Botan::PKCS11::LowLevel::C_Digest
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_Digest
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_Digest(SessionHandle session,\n                        Byte*
      data_ptr,\n                        Ulong data_len,\n                        Byte*
      digest_ptr,\n                        Ulong* digest_len_ptr,\n                        ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:405,1
    - Dst: Botan::PKCS11::LowLevel::C_DigestUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - part_ptr
    - part_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: Botan::PKCS11::LowLevel::C_DigestUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_DigestUpdate
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_DigestUpdate(SessionHandle session, Byte* part_ptr,
      Ulong part_len, ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:409,1
    - Dst: Botan::PKCS11::LowLevel::C_DigestKey
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - key
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 410
    functionName: Botan::PKCS11::LowLevel::C_DigestKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_DigestKey
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_DigestKey(SessionHandle session, ObjectHandle key,
      ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:416,1
    - Dst: Botan::PKCS11::LowLevel::C_DigestFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - digest_ptr
    - digest_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: Botan::PKCS11::LowLevel::C_DigestFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_DigestFinal
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DigestFinal(SessionHandle session,\n                             Byte*
      digest_ptr,\n                             Ulong* digest_len_ptr,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:425,1
    - Dst: Botan::PKCS11::LowLevel::C_SignInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - mechanism_ptr
    - key
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 426
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 426
    functionName: Botan::PKCS11::LowLevel::C_SignInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_SignInit
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SignInit(SessionHandle session,\n                          Mechanism*
      mechanism_ptr,\n                          ObjectHandle key,\n                          ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:434,1
    - Dst: Botan::PKCS11::LowLevel::C_Sign
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:435,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - data_ptr
    - data_len
    - signature_ptr
    - signature_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: Botan::PKCS11::LowLevel::C_Sign
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - const_cast<Byte*>
    - Botan::PKCS11::LowLevel::C_Sign
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_Sign(SessionHandle session,\n                      const
      Byte* data_ptr,\n                      Ulong data_len,\n                      Byte*
      signature_ptr,\n                      Ulong* signature_len_ptr,\n                      ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:443,1
    - Dst: Botan::PKCS11::LowLevel::C_SignUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:443,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - part_ptr
    - part_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: Botan::PKCS11::LowLevel::C_SignUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - const_cast<Byte*>
    - Botan::PKCS11::LowLevel::C_SignUpdate
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SignUpdate(SessionHandle session,\n                            const
      Byte* part_ptr,\n                            Ulong part_len,\n                            ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:451,1
    - Dst: Botan::PKCS11::LowLevel::C_SignFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - signature_ptr
    - signature_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: Botan::PKCS11::LowLevel::C_SignFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_SignFinal
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SignFinal(SessionHandle session,\n                           Byte*
      signature_ptr,\n                           Ulong* signature_len_ptr,\n                           ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:458,1
    - Dst: Botan::PKCS11::LowLevel::C_SignRecoverInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - mechanism_ptr
    - key
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: Botan::PKCS11::LowLevel::C_SignRecoverInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_SignRecoverInit
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SignRecoverInit(SessionHandle session,\n                                 Mechanism*
      mechanism_ptr,\n                                 ObjectHandle key,\n                                 ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:467,1
    - Dst: Botan::PKCS11::LowLevel::C_SignRecover
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - data
    - data_len
    - signature
    - signature_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: Botan::PKCS11::LowLevel::C_SignRecover
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_SignRecover
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SignRecover(SessionHandle session,\n                             Byte*
      data,\n                             Ulong data_len,\n                             Byte*
      signature,\n                             Ulong* signature_len,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:477,1
    - Dst: Botan::PKCS11::LowLevel::C_VerifyInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - mechanism_ptr
    - key
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: Botan::PKCS11::LowLevel::C_VerifyInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_VerifyInit
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_VerifyInit(SessionHandle session,\n                            Mechanism*
      mechanism_ptr,\n                            ObjectHandle key,\n                            ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:486,1
    - Dst: Botan::PKCS11::LowLevel::C_Verify
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:487,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:488,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - data_ptr
    - data_len
    - signature_ptr
    - signature_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 490
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 490
    functionName: Botan::PKCS11::LowLevel::C_Verify
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_Verify
    - const_cast<Byte*>
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_Verify(SessionHandle session,\n                        const
      Byte* data_ptr,\n                        Ulong data_len,\n                        const
      Byte* signature_ptr,\n                        Ulong signature_len,\n                        ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:496,1
    - Dst: Botan::PKCS11::LowLevel::C_VerifyUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:496,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - part_ptr
    - part_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: Botan::PKCS11::LowLevel::C_VerifyUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - const_cast<Byte*>
    - Botan::PKCS11::LowLevel::C_VerifyUpdate
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_VerifyUpdate(SessionHandle session,\n                              const
      Byte* part_ptr,\n                              Ulong part_len,\n                              ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:504,1
    - Dst: Botan::PKCS11::LowLevel::C_VerifyFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:504,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - signature_ptr
    - signature_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 506
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 506
    functionName: Botan::PKCS11::LowLevel::C_VerifyFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - const_cast<Byte*>
    - Botan::PKCS11::LowLevel::C_VerifyFinal
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_VerifyFinal(SessionHandle session,\n                             const
      Byte* signature_ptr,\n                             Ulong signature_len,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:512,1
    - Dst: Botan::PKCS11::LowLevel::C_VerifyRecoverInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - mechanism_ptr
    - key
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: Botan::PKCS11::LowLevel::C_VerifyRecoverInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_VerifyRecoverInit
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_VerifyRecoverInit(SessionHandle session,\n                                   Mechanism*
      mechanism_ptr,\n                                   ObjectHandle key,\n                                   ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:521,1
    - Dst: Botan::PKCS11::LowLevel::C_VerifyRecover
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - signature_ptr
    - signature_len
    - data_ptr
    - data_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: Botan::PKCS11::LowLevel::C_VerifyRecover
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_VerifyRecover
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_VerifyRecover(SessionHandle session,\n                               Byte*
      signature_ptr,\n                               Ulong signature_len,\n                               Byte*
      data_ptr,\n                               Ulong* data_len_ptr,\n                               ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:533,1
    - Dst: Botan::PKCS11::LowLevel::C_DigestEncryptUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - part_ptr
    - part_len
    - encrypted_part_ptr
    - encrypted_part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 536
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 536
    functionName: Botan::PKCS11::LowLevel::C_DigestEncryptUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_DigestEncryptUpdate
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DigestEncryptUpdate(SessionHandle session,\n                                     Byte*
      part_ptr,\n                                     Ulong part_len,\n                                     Byte*
      encrypted_part_ptr,\n                                     Ulong* encrypted_part_len_ptr,\n
      \                                    ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:544,1
    - Dst: Botan::PKCS11::LowLevel::C_DecryptDigestUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - encrypted_part_ptr
    - encrypted_part_len
    - part_ptr
    - part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 547
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 547
    functionName: Botan::PKCS11::LowLevel::C_DecryptDigestUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_DecryptDigestUpdate
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DecryptDigestUpdate(SessionHandle session,\n                                     Byte*
      encrypted_part_ptr,\n                                     Ulong encrypted_part_len,\n
      \                                    Byte* part_ptr,\n                                     Ulong*
      part_len_ptr,\n                                     ReturnValue* return_value)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:555,1
    - Dst: Botan::PKCS11::LowLevel::C_SignEncryptUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - part_ptr
    - part_len
    - encrypted_part_ptr
    - encrypted_part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: Botan::PKCS11::LowLevel::C_SignEncryptUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_SignEncryptUpdate
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SignEncryptUpdate(SessionHandle session,\n                                   Byte*
      part_ptr,\n                                   Ulong part_len,\n                                   Byte*
      encrypted_part_ptr,\n                                   Ulong* encrypted_part_len_ptr,\n
      \                                  ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:566,1
    - Dst: Botan::PKCS11::LowLevel::C_DecryptVerifyUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - encrypted_part_ptr
    - encrypted_part_len
    - part_ptr
    - part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 569
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 569
    functionName: Botan::PKCS11::LowLevel::C_DecryptVerifyUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_DecryptVerifyUpdate
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DecryptVerifyUpdate(SessionHandle session,\n                                     Byte*
      encrypted_part_ptr,\n                                     Ulong encrypted_part_len,\n
      \                                    Byte* part_ptr,\n                                     Ulong*
      part_len_ptr,\n                                     ReturnValue* return_value)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:579,1
    - Dst: Botan::PKCS11::LowLevel::C_GenerateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - mechanism_ptr
    - attribute_template_ptr
    - count
    - key_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - Attribute*
    - Ulong
    - ObjectHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 581
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 581
    functionName: Botan::PKCS11::LowLevel::C_GenerateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_GenerateKey
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GenerateKey(SessionHandle session,\n                             Mechanism*
      mechanism_ptr,\n                             Attribute* attribute_template_ptr,\n
      \                            Ulong count,\n                             ObjectHandle*
      key_ptr,\n                             ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:592,1
    - Dst: Botan::PKCS11::LowLevel::C_GenerateKeyPair
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - session
    - mechanism_ptr
    - public_key_template_ptr
    - public_key_attribute_count
    - private_key_template_ptr
    - private_key_attribute_count
    - public_key_ptr
    - private_key_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - Attribute*
    - Ulong
    - Attribute*
    - Ulong
    - ObjectHandle*
    - ObjectHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 601
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 601
    functionName: Botan::PKCS11::LowLevel::C_GenerateKeyPair
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_GenerateKeyPair
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GenerateKeyPair(SessionHandle session,\n                                 Mechanism*
      mechanism_ptr,\n                                 Attribute* public_key_template_ptr,\n
      \                                Ulong public_key_attribute_count,\n                                 Attribute*
      private_key_template_ptr,\n                                 Ulong private_key_attribute_count,\n
      \                                ObjectHandle* public_key_ptr,\n                                 ObjectHandle*
      private_key_ptr,\n                                 ReturnValue* return_value)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:610,1
    - Dst: Botan::PKCS11::LowLevel::C_WrapKey
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - session
    - mechanism_ptr
    - wrapping_key
    - key
    - wrapped_key_ptr
    - wrapped_key_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ObjectHandle
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 613
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 613
    functionName: Botan::PKCS11::LowLevel::C_WrapKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_WrapKey
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_WrapKey(SessionHandle session,\n                         Mechanism*
      mechanism_ptr,\n                         ObjectHandle wrapping_key,\n                         ObjectHandle
      key,\n                         Byte* wrapped_key_ptr,\n                         Ulong*
      wrapped_key_len_ptr,\n                         ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:624,1
    - Dst: Botan::PKCS11::LowLevel::C_UnwrapKey
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - session
    - mechanism_ptr
    - unwrapping_key
    - wrapped_key_ptr
    - wrapped_key_len
    - attribute_template_ptr
    - attribute_count
    - key_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - Byte*
    - Ulong
    - Attribute*
    - Ulong
    - ObjectHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 633
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 633
    functionName: Botan::PKCS11::LowLevel::C_UnwrapKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_UnwrapKey
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_UnwrapKey(SessionHandle session,\n                           Mechanism*
      mechanism_ptr,\n                           ObjectHandle unwrapping_key,\n                           Byte*
      wrapped_key_ptr,\n                           Ulong wrapped_key_len,\n                           Attribute*
      attribute_template_ptr,\n                           Ulong attribute_count,\n
      \                          ObjectHandle* key_ptr,\n                           ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:642,1
    - Dst: Botan::PKCS11::LowLevel::C_DeriveKey
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - session
    - mechanism_ptr
    - base_key
    - attribute_template_ptr
    - attribute_count
    - key_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - Attribute*
    - Ulong
    - ObjectHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 645
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 645
    functionName: Botan::PKCS11::LowLevel::C_DeriveKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_DeriveKey
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DeriveKey(SessionHandle session,\n                           Mechanism*
      mechanism_ptr,\n                           ObjectHandle base_key,\n                           Attribute*
      attribute_template_ptr,\n                           Ulong attribute_count,\n
      \                          ObjectHandle* key_ptr,\n                           ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:653,1
    - Dst: Botan::PKCS11::LowLevel::C_SeedRandom
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:653,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - seed_ptr
    - seed_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 655
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 655
    functionName: Botan::PKCS11::LowLevel::C_SeedRandom
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_SeedRandom
    - const_cast<Byte*>
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SeedRandom(SessionHandle session,\n                            const
      Byte* seed_ptr,\n                            Ulong seed_len,\n                            ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:661,1
    - Dst: Botan::PKCS11::LowLevel::C_GenerateRandom
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - random_data_ptr
    - random_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 662
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 662
    functionName: Botan::PKCS11::LowLevel::C_GenerateRandom
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_GenerateRandom
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GenerateRandom(SessionHandle session,\n                                Byte*
      random_data_ptr,\n                                Ulong random_len,\n                                ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:667,1
    - Dst: Botan::PKCS11::LowLevel::C_GetFunctionStatus
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - return_value
    argTypes:
    - SessionHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 668
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 668
    functionName: Botan::PKCS11::LowLevel::C_GetFunctionStatus
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_GetFunctionStatus
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_GetFunctionStatus(SessionHandle session, ReturnValue*
      return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:671,1
    - Dst: Botan::PKCS11::LowLevel::C_CancelFunction
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - return_value
    argTypes:
    - SessionHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: Botan::PKCS11::LowLevel::C_CancelFunction
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::handle_return_value
    - Botan::PKCS11::LowLevel::C_CancelFunction
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_CancelFunction(SessionHandle session, ReturnValue*
      return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' slot'
    - read_only
    argTypes:
    - Slot
    - bool
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: Botan::PKCS11::Session::Session
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::flags
    linkageType: ''
    returnType: void
    signature: void Session::Session(Slot& slot, bool read_only)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:19,1
    - Dst: slot_id
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slot'
    - flags
    - callback_data
    - notify_callback
    argTypes:
    - Slot
    - Flags
    - VoidPtr
    - Notify
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: Botan::PKCS11::Session::Session
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - module
    - slot_id
    linkageType: ''
    returnType: void
    signature: void Session::Session(Slot& slot, Flags flags, VoidPtr callback_data,
      Notify notify_callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Session::get_info
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:23,1
    - Dst: static_cast<CK_STATE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:24,1
    - Dst: static_cast<CK_STATE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' slot'
    - handle
    argTypes:
    - Slot
    - SessionHandle
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: Botan::PKCS11::Session::Session
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::Session::get_info
    - static_cast<CK_STATE>
    linkageType: ''
    returnType: void
    signature: void Session::Session(Slot& slot, SessionHandle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:36,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: Session::~Session() noexcept
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - module
    linkageType: ''
    returnType: void
    signature: void Session::~Session() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: Botan::PKCS11::Session::release
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: SessionHandle
    signature: SessionHandle Session::release()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - user_type
    - ' pin'
    argTypes:
    - UserType
    - secure_string
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan::PKCS11::Session::login
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - module
    linkageType: ''
    returnType: void
    signature: void Session::login(UserType user_type, const secure_string& pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: Botan::PKCS11::Session::logoff
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - module
    linkageType: ''
    returnType: void
    signature: void Session::logoff()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: Botan::PKCS11::Session::get_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 1
    functionsReached:
    - module
    linkageType: ''
    returnType: SessionInfo
    signature: SessionInfo Session::get_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' old_pin'
    - ' new_pin'
    argTypes:
    - secure_string
    - secure_string
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::PKCS11::Session::set_pin
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - module
    linkageType: ''
    returnType: void
    signature: void Session::set_pin(const secure_string& old_pin, const secure_string&
      new_pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' new_pin'
    argTypes:
    - secure_string
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::PKCS11::Session::init_pin
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - module
    linkageType: ''
    returnType: void
    signature: void Session::init_pin(const secure_string& new_pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::AttributeContainer::add_class
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object_class
    argTypes:
    - ObjectClass
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Botan::PKCS11::AttributeContainer::AttributeContainer
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::AttributeContainer::add_class
    linkageType: ''
    returnType: void
    signature: void AttributeContainer::AttributeContainer(ObjectClass object_class)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:19,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:19,1
    - Dst: Botan::PKCS11::AttributeContainer::add_attribute
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:20,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:21,1
    - Dst: back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:21,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - object_class
    argTypes:
    - ObjectClass
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: Botan::PKCS11::AttributeContainer::add_class
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<Ulong>
    - Botan::PKCS11::AttributeContainer::add_attribute
    - emplace_back
    - back
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void AttributeContainer::add_class(ObjectClass object_class)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:25,1
    - Dst: std::string
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:25,1
    - Dst: Botan::PKCS11::AttributeContainer::add_attribute
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:26,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:27,1
    - Dst: back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:27,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:27,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attribute
    - value
    argTypes:
    - AttributeType
    - std::string_view
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: Botan::PKCS11::AttributeContainer::add_string
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - static_cast<Ulong>
    - Botan::PKCS11::AttributeContainer::add_attribute
    - std::string
    - reinterpret_cast<const uint8_t*>
    - back
    - push_back
    linkageType: ''
    returnType: void
    signature: void AttributeContainer::add_string(AttributeType attribute, std::string_view
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:31,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:31,1
    - Dst: Botan::PKCS11::AttributeContainer::add_attribute
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:32,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:32,1
    - Dst: back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:32,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - attribute
    - value
    - length
    argTypes:
    - AttributeType
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: Botan::PKCS11::AttributeContainer::add_binary
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - secure_vector<uint8_t>
    - static_cast<Ulong>
    - Botan::PKCS11::AttributeContainer::add_attribute
    - reinterpret_cast<const uint8_t*>
    - back
    - push_back
    linkageType: ''
    returnType: void
    signature: void AttributeContainer::add_binary(AttributeType attribute, const
      uint8_t* value, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:36,1
    - Dst: Botan::PKCS11::AttributeContainer::add_attribute
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:37,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:37,1
    - Dst: back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attribute
    - value
    argTypes:
    - AttributeType
    - bool
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Botan::PKCS11::AttributeContainer::add_bool
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::AttributeContainer::add_attribute
    - back
    - reinterpret_cast<uint8_t*>
    - push_back
    linkageType: ''
    returnType: void
    signature: void AttributeContainer::add_bool(AttributeType attribute, bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CK_ATTRIBUTE_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:44,1
    - Dst: remove_if
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:46,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:47,1
    - Dst: remove_if
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:49,1
    - Dst: remove_if
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:52,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:53,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:56,1
    - Dst: push_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:64,1
    - Dst: static_cast<CK_ATTRIBUTE_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:64,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - attribute
    - value
    - size
    argTypes:
    - AttributeType
    - uint8_t*
    - Ulong
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: Botan::PKCS11::AttributeContainer::add_attribute
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 4
    functionsReached:
    - data
    - const_cast<uint8_t*>
    - static_cast<CK_ATTRIBUTE_TYPE>
    - remove_if
    - push_back
    linkageType: ''
    returnType: void
    signature: void AttributeContainer::add_attribute(AttributeType attribute, const
      uint8_t* value, Ulong size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:72,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:72,1
    - Dst: const_cast<Attribute*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:73,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:73,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:74,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' session'
    - ' search_template'
    argTypes:
    - Session
    - std::vector<Attribute>
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: Botan::PKCS11::ObjectFinder::ObjectFinder
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - const_cast<Attribute*>
    - static_cast<Ulong>
    - data
    - module
    - get
    - size
    linkageType: ''
    returnType: void
    signature: void ObjectFinder::ObjectFinder(Session& session, const std::vector<Attribute>&
      search_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:80,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: ObjectFinder::~ObjectFinder() noexcept
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - module
    - get
    linkageType: ''
    returnType: void
    signature: void ObjectFinder::~ObjectFinder() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:90,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:90,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:90,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - max_count
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: Botan::PKCS11::ObjectFinder::find
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - module
    - std::vector::resize
    - get
    linkageType: ''
    returnType: std::vector<ObjectHandle>
    signature: std::vector<ObjectHandle> ObjectFinder::find(uint32_t max_count) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:98,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: Botan::PKCS11::ObjectFinder::finish
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - module
    - get
    linkageType: ''
    returnType: void
    signature: void ObjectFinder::finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - object_class
    argTypes:
    - ObjectClass
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: Botan::PKCS11::ObjectProperties::ObjectProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectProperties::ObjectProperties(ObjectClass object_class)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - object_class
    argTypes:
    - ObjectClass
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan::PKCS11::StorageObjectProperties::StorageObjectProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StorageObjectProperties::StorageObjectProperties(ObjectClass object_class)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Botan::PKCS11::DataObjectProperties::DataObjectProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataObjectProperties::DataObjectProperties()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:119,1
    - Dst: static_cast<CK_CERTIFICATE_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert_type
    argTypes:
    - CertificateType
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: Botan::PKCS11::CertificateProperties::CertificateProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CK_CERTIFICATE_TYPE>
    - add_numeric
    linkageType: ''
    returnType: void
    signature: void CertificateProperties::CertificateProperties(CertificateType cert_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:126,1
    - Dst: static_cast<CK_ULONG>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object_class
    - key_type
    argTypes:
    - ObjectClass
    - KeyType
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: Botan::PKCS11::KeyProperties::KeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CK_ULONG>
    - add_numeric
    linkageType: ''
    returnType: void
    signature: void KeyProperties::KeyProperties(ObjectClass object_class, KeyType
      key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - KeyType
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::PKCS11::PublicKeyProperties::PublicKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PublicKeyProperties::PublicKeyProperties(KeyType key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - KeyType
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::PKCS11::PrivateKeyProperties::PrivateKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrivateKeyProperties::PrivateKeyProperties(KeyType key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - KeyType
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Botan::PKCS11::SecretKeyProperties::SecretKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecretKeyProperties::SecretKeyProperties(KeyType key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:145,1
    - Dst: static_cast<CK_ULONG>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - KeyType
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: Botan::PKCS11::DomainParameterProperties::DomainParameterProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CK_ULONG>
    - add_numeric
    linkageType: ''
    returnType: void
    signature: void DomainParameterProperties::DomainParameterProperties(KeyType key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - handle
    argTypes:
    - Session
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan::PKCS11::Object::Object
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object::Object(Session& session, ObjectHandle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:153,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:154,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:154,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:154,1
    - Dst: count
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' session'
    - ' obj_props'
    argTypes:
    - Session
    - ObjectProperties
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: Botan::PKCS11::Object::Object
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - data
    - count
    - get
    - static_cast<Ulong>
    linkageType: ''
    returnType: void
    signature: void Object::Object(Session& session, const ObjectProperties& obj_props)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:158,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:159,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:159,1
    - Dst: std::map::at
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - AttributeType
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: Botan::PKCS11::Object::get_attribute_value
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - module
    - secure_vector<uint8_t>
    - get
    - std::map::at
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Object::get_attribute_value(AttributeType attribute)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:165,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - attribute
    - ' value'
    argTypes:
    - AttributeType
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: Botan::PKCS11::Object::set_attribute_value
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - module
    - get
    linkageType: ''
    returnType: void
    signature: void Object::set_attribute_value(AttributeType attribute, const secure_vector<uint8_t>&
      value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:169,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::PKCS11::Object::destroy
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 3
    functionsReached:
    - module
    - get
    linkageType: ''
    returnType: void
    signature: void Object::destroy() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:174,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:174,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:176,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:177,1
    - Dst: count
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' modified_attributes'
    argTypes:
    - AttributeContainer
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: Botan::PKCS11::Object::copy
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Ulong>
    - data
    - module
    - count
    - get
    linkageType: ''
    returnType: ObjectHandle
    signature: ObjectHandle Object::copy(const AttributeContainer& modified_attributes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' module'
    - slot_id
    argTypes:
    - Module
    - SlotId
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: Botan::PKCS11::Slot::Slot
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Slot::Slot(Module& module, SlotId slot_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: Botan::PKCS11::Slot::get_slot_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: SlotInfo
    signature: SlotInfo Slot::get_slot_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: Botan::PKCS11::Slot::get_mechanism_list
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: std::vector<MechanismType>
    signature: std::vector<MechanismType> Slot::get_mechanism_list() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mechanism_type
    argTypes:
    - MechanismType
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: Botan::PKCS11::Slot::get_mechanism_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: MechanismInfo
    signature: MechanismInfo Slot::get_mechanism_info(MechanismType mechanism_type)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GetSlotList
      Src: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' module'
    - token_present
    argTypes:
    - Module
    - bool
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Botan::PKCS11::Slot::get_available_slots
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 13
    functionsReached:
    - C_GetSlotList
    linkageType: ''
    returnType: std::vector<SlotId>
    signature: std::vector<SlotId> Slot::get_available_slots(Module& module, bool
      token_present)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: Botan::PKCS11::Slot::get_token_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: TokenInfo
    signature: TokenInfo Slot::get_token_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - label
    - ' so_pin'
    argTypes:
    - std::string_view
    - secure_string
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::PKCS11::Slot::initialize
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void Slot::initialize(std::string_view label, const secure_string&
      so_pin) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Module
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:35,1
    - Dst: static_cast<CK_FLAGS>
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:37,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:57,1
    - Dst: C_GetInfo
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 71
    functionName: Botan::PKCS11::final
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_types.h
    functionUses: 0
    functionsReached:
    - Module
    - static_cast<CK_FLAGS>
    - C_GetInfo
    - get
    linkageType: ''
    returnType: Module
    signature: Module final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Slot
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 118
    functionName: Botan::PKCS11::final
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_types.h
    functionUses: 0
    functionsReached:
    - Slot
    linkageType: ''
    returnType: Slot
    signature: Slot final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:127,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 185
    functionName: Botan::PKCS11::final
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_types.h
    functionUses: 0
    functionsReached:
    - Session
    - module
    linkageType: ''
    returnType: Session
    signature: Session final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~AttributeContainer()
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AttributeContainer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AttributeContainer
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::PKCS11::AttributeContainer
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttributeContainer(AttributeContainer&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AttributeContainer
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::PKCS11::AttributeContainer
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttributeContainer(const AttributeContainer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::PKCS11::attributes
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Attribute>
    signature: std::vector<Attribute> & attributes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Attribute*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:47,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::PKCS11::data
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 4
    functionsReached:
    - const_cast<Attribute*>
    - Botan::PKCS11::data
    linkageType: ''
    returnType: Attribute
    signature: Attribute * data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::PKCS11::count
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:80,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:80,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - attribute
    - ' binary'
    argTypes:
    - AttributeType
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::PKCS11::add_binary
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 2
    functionsReached:
    - Botan::PKCS11::add_binary
    - size
    - Botan::PKCS11::data
    linkageType: ''
    returnType: void
    signature: void add_binary(AttributeType attribute, const std::vector<uint8_t,
      TAlloc>& binary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:98,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:98,1
    - Dst: add_attribute
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:99,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:99,1
    - Dst: back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attribute
    - value
    argTypes:
    - AttributeType
    - T
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: Botan::PKCS11::add_numeric
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    - add_attribute
    - push_back
    - back
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void add_numeric(AttributeType attribute, T value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectFinder
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:121,1
    - Dst: ObjectFinder
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:126,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 148
    functionName: final
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 162
    functionsReached:
    - ObjectFinder
    - get
    linkageType: ''
    returnType: ObjectFinder
    signature: ObjectFinder final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: object_class
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectClass
    signature: ObjectClass object_class() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_string
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: set_label
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 14
    functionsReached:
    - add_string
    linkageType: ''
    returnType: void
    signature: void set_label(std::string_view label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: set_token
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 21
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_token(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: set_private
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 19
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_private(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: set_modifiable
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 3
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_modifiable(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: set_copyable
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_copyable(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: set_destroyable
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_destroyable(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataObjectProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:194,1
    - Dst: add_string
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:197,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:201,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: StorageObjectProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - DataObjectProperties
    - add_binary
    - add_string
    linkageType: ''
    returnType: DataObjectProperties
    signature: DataObjectProperties StorageObjectProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: set_trusted
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_trusted(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:219,1
    - Dst: static_cast<CK_CERTIFICATE_CATEGORY>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - category
    argTypes:
    - CertificateCategory
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: set_category
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - static_cast<CK_CERTIFICATE_CATEGORY>
    - add_numeric
    linkageType: ''
    returnType: void
    signature: void set_category(CertificateCategory category)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' checksum'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: set_check_value
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_check_value(const std::vector<uint8_t>& checksum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:232,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - date
    argTypes:
    - Date
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: set_start_date
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void set_start_date(Date date)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:237,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - date
    argTypes:
    - Date
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: set_end_date
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void set_end_date(Date date)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pubkey_info'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: set_public_key_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_public_key_info(const std::vector<uint8_t>& pubkey_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: cert_type
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CertificateType
    signature: CertificateType cert_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: set_id
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_id(const std::vector<uint8_t>& id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:266,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - date
    argTypes:
    - Date
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: set_start_date
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void set_start_date(Date date)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:271,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - date
    argTypes:
    - Date
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: set_end_date
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void set_end_date(Date date)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: set_derive
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 6
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_derive(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: set_allowed_mechanisms
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void set_allowed_mechanisms(const std::vector<MechanismType>&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: key_type
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: KeyType
    signature: KeyType key_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: set_subject
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_subject(const std::vector<uint8_t>& subject)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: set_encrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 3
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_encrypt(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: set_verify
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 6
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_verify(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: set_verify_recover
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_verify_recover(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: set_wrap
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_wrap(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: set_trusted
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_trusted(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: set_wrap_template
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void set_wrap_template(const AttributeContainer&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pubkey_info'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: set_public_key_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_public_key_info(const std::vector<uint8_t>& pubkey_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: set_subject
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_subject(const std::vector<uint8_t>& subject)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: set_sensitive
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 3
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_sensitive(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: set_decrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 4
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_decrypt(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: set_sign
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 28
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_sign(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: set_sign_recover
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_sign_recover(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: set_unwrap
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_unwrap(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: set_extractable
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 5
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_extractable(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: set_wrap_with_trusted
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_wrap_with_trusted(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: set_always_authenticate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_always_authenticate(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: set_unwrap_template
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void set_unwrap_template(const AttributeContainer&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pubkey_info'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: set_public_key_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_public_key_info(const std::vector<uint8_t>& pubkey_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecretKeyProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:388,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:391,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:394,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:397,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:400,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:403,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:406,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:409,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:412,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:415,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:418,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:424,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:428,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:438,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 450
    functionName: KeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 1
    functionsReached:
    - Not_Implemented
    - add_bool
    - add_binary
    - SecretKeyProperties
    linkageType: ''
    returnType: SecretKeyProperties
    signature: SecretKeyProperties KeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DomainParameterProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 463
    functionName: StorageObjectProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - DomainParameterProperties
    linkageType: ''
    returnType: DomainParameterProperties
    signature: DomainParameterProperties StorageObjectProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: Object
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object(const Object&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: ~Object()
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Object()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: handle
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: ObjectHandle
    signature: ObjectHandle handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: session
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: Session
    signature: Session & session() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 531
    functionName: module
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 32
    functionsReached:
    - get
    linkageType: ''
    returnType: Module
    signature: Module & module() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 541
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 541
    functionName: reset_handle
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 2
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void reset_handle(ObjectHandle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectFinder::find
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:551,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:553,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:553,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:555,1
    - Dst: T
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' session'
    - ' search_template'
    argTypes:
    - Session
    - std::vector<Attribute>
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: Object::search
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::reserve
    - ObjectFinder::find
    - T
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Object::search(Session& session, const std::vector<Attribute>&
      search_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeContainer::add_string
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:563,1
    - Dst: Object::search
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:564,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' session'
    - label
    argTypes:
    - Session
    - std::string_view
    constantsTouched: []
    func_position:
      end: 565
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 565
    functionName: Object::search
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 1
    functionsReached:
    - Object::search
    - AttributeContainer::attributes
    - AttributeContainer::add_string
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Object::search(Session& session, std::string_view label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeContainer::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:570,1
    - Dst: Object::search
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:571,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' session'
    - ' id'
    argTypes:
    - Session
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 572
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 572
    functionName: Object::search
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 2
    functionsReached:
    - Object::search
    - AttributeContainer::attributes
    - AttributeContainer::add_binary
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Object::search(Session& session, const std::vector<uint8_t>&
      id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeContainer::add_string
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:577,1
    - Dst: AttributeContainer::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:578,1
    - Dst: Object::search
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:579,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' session'
    - label
    - ' id'
    argTypes:
    - Session
    - std::string_view
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: Object::search
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 3
    functionsReached:
    - AttributeContainer::add_binary
    - Object::search
    - AttributeContainer::attributes
    - AttributeContainer::add_string
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Object::search(Session& session, std::string_view label,
      const std::vector<uint8_t>& id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Object::search
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:584,1
    - Dst: AttributeContainer
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Session
    constantsTouched: []
    func_position:
      end: 585
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 585
    functionName: Object::search
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 4
    functionsReached:
    - Object::search
    - AttributeContainer
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Object::search(Session& session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Flag>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:260,1
    - Dst: static_cast<CK_FLAGS>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:260,1
    - Dst: static_cast<CK_FLAGS>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Flag
    - Flag
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: operator|(Flag a, Flag b)
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 0
    functionsReached:
    - static_cast<CK_FLAGS>
    - static_cast<Flag>
    linkageType: ''
    returnType: Flag
    signature: Flag operator|(Flag a, Flag b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Flags>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - Flag
    constantsTouched: []
    func_position:
      end: 840
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 840
    functionName: Botan::PKCS11::flags
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 13
    functionsReached:
    - static_cast<Flags>
    linkageType: ''
    returnType: Flags
    signature: Flags flags(Flag flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1125,1
    - Dst: std::string::insert
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1126,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1126,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1126,1
    - Dst: Botan::PKCS11::C_InitToken
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1129,1
    - Dst: reinterpret_cast<Utf8Char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1130,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1130,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1130,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1131,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1131,1
    - Dst: reinterpret_cast<Utf8Char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1132,1
    - Dst: const_cast<char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1132,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - slot_id
    - ' so_pin'
    - label
    argTypes:
    - SlotId
    - std::vector<uint8_t, TAlloc>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 1134
      start: 1120
    functionDepth: 3
    functionLinenumber: 1120
    functionLinenumberEnd: 1134
    functionName: Botan::PKCS11::C_InitToken
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - std::string_view::size
    - std::string::c_str
    - static_cast<Ulong>
    - const_cast<uint8_t*>
    - reinterpret_cast<Utf8Char*>
    - const_cast<char*>
    - std::string::end
    - Botan::PKCS11::data
    - std::string::insert
    - size
    - Botan::PKCS11::C_InitToken
    linkageType: ''
    returnType: bool
    signature: "bool C_InitToken(SlotId slot_id,\n                       const std::vector<uint8_t,
      TAlloc>& so_pin,\n                       std::string_view label,\n                       ReturnValue*
      return_value = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_InitPIN
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1176,1
    - Dst: reinterpret_cast<Utf8Char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1177,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1177,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1177,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1178,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - ' pin'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 1180
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1180
    functionName: Botan::PKCS11::C_InitPIN
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::C_InitPIN
    - static_cast<Ulong>
    - const_cast<uint8_t*>
    - reinterpret_cast<Utf8Char*>
    - size
    - Botan::PKCS11::data
    linkageType: ''
    returnType: bool
    signature: "bool C_InitPIN(SessionHandle session,\n                     const
      std::vector<uint8_t, TAlloc>& pin,\n                     ReturnValue* return_value
      = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_SetPIN
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1228,1
    - Dst: reinterpret_cast<Utf8Char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1229,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1229,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1229,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1230,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1230,1
    - Dst: reinterpret_cast<Utf8Char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1231,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1231,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1231,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1232,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - ' old_pin'
    - ' new_pin'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAlloc>
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 1234
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1234
    functionName: Botan::PKCS11::C_SetPIN
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - static_cast<Ulong>
    - const_cast<uint8_t*>
    - reinterpret_cast<Utf8Char*>
    - size
    - Botan::PKCS11::data
    - Botan::PKCS11::C_SetPIN
    linkageType: ''
    returnType: bool
    signature: "bool C_SetPIN(SessionHandle session,\n                    const std::vector<uint8_t,
      TAlloc>& old_pin,\n                    const std::vector<uint8_t, TAlloc>& new_pin,\n
      \                   ReturnValue* return_value = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_Login
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1398,1
    - Dst: reinterpret_cast<Utf8Char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1400,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1400,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1400,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1401,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - user_type
    - ' pin'
    argTypes:
    - SessionHandle
    - UserType
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 1403
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1403
    functionName: Botan::PKCS11::C_Login
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - static_cast<Ulong>
    - const_cast<uint8_t*>
    - reinterpret_cast<Utf8Char*>
    - size
    - Botan::PKCS11::data
    - Botan::PKCS11::C_Login
    linkageType: ''
    returnType: bool
    signature: "bool C_Login(SessionHandle session,\n                   UserType user_type,\n
      \                  const std::vector<uint8_t, TAlloc>& pin,\n                   ReturnValue*
      return_value = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1555,1
    - Dst: static_cast<CK_ATTRIBUTE_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1555,1
    - Dst: second::clear
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1570,1
    - Dst: second::resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1571,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1571,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1572,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1572,1
    - Dst: second::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1572,1
    - Dst: Botan::PKCS11::C_GetAttributeValue
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1576,1
    - Dst: const_cast<Attribute*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1578,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1578,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1579,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - session
    - object
    - ' attribute_values'
    argTypes:
    - SessionHandle
    - ObjectHandle
    - std::map<AttributeType, std::vector<uint8_t, TAlloc>>
    constantsTouched: []
    func_position:
      end: 1581
      start: 1548
    functionDepth: 2
    functionLinenumber: 1548
    functionLinenumberEnd: 1581
    functionName: Botan::PKCS11::C_GetAttributeValue
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::C_GetAttributeValue
    - std::vector::data
    - std::vector::at
    - const_cast<Attribute*>
    - std::vector::size
    - second::resize
    - static_cast<Ulong>
    - const_cast<uint8_t*>
    - second::data
    - second::clear
    - static_cast<CK_ATTRIBUTE_TYPE>
    - std::vector::emplace_back
    linkageType: ''
    returnType: bool
    signature: "bool C_GetAttributeValue(SessionHandle session,\n                               ObjectHandle
      object,\n                               std::map<AttributeType, std::vector<uint8_t,
      TAlloc>>& attribute_values,\n                               ReturnValue* return_value
      = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1632,1
    - Dst: static_cast<CK_ATTRIBUTE_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1632,1
    - Dst: second::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1633,1
    - Dst: static_cast<CK_ULONG>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1634,1
    - Dst: second::size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1634,1
    - Dst: Botan::PKCS11::C_SetAttributeValue
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1637,1
    - Dst: const_cast<Attribute*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1639,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1639,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1640,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - session
    - object
    - ' attribute_values'
    argTypes:
    - SessionHandle
    - ObjectHandle
    - std::map<AttributeType, std::vector<uint8_t, TAlloc>>
    constantsTouched: []
    func_position:
      end: 1642
      start: 1625
    functionDepth: 2
    functionLinenumber: 1625
    functionLinenumberEnd: 1642
    functionName: Botan::PKCS11::C_SetAttributeValue
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - const_cast<Attribute*>
    - Botan::PKCS11::C_SetAttributeValue
    - static_cast<Ulong>
    - second::data
    - static_cast<CK_ULONG>
    - static_cast<CK_ATTRIBUTE_TYPE>
    - second::size
    - std::vector::emplace_back
    linkageType: ''
    returnType: bool
    signature: "bool C_SetAttributeValue(SessionHandle session,\n                               ObjectHandle
      object,\n                               std::map<AttributeType, std::vector<uint8_t,
      TAlloc>>& attribute_values,\n                               ReturnValue* return_value
      = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_Encrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1770,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1771,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1771,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1772,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1772,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1779,1
    - Dst: Botan::PKCS11::C_Encrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1780,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1781,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1781,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1782,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1782,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1783,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - session
    - ' plaintext_data'
    - ' encrypted_data'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAllocA>
    - std::vector<uint8_t, TAllocB>
    constantsTouched: []
    func_position:
      end: 1790
      start: 1765
    functionDepth: 1
    functionLinenumber: 1765
    functionLinenumberEnd: 1790
    functionName: Botan::PKCS11::C_Encrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::C_Encrypt
    - static_cast<Ulong>
    - const_cast<Byte*>
    - size
    - Botan::PKCS11::data
    - resize
    linkageType: ''
    returnType: bool
    signature: "bool C_Encrypt(SessionHandle session,\n                     const
      std::vector<uint8_t, TAllocA>& plaintext_data,\n                     std::vector<uint8_t,
      TAllocB>& encrypted_data,\n                     ReturnValue* return_value =
      ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_Decrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1907,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1908,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1908,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1909,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1909,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1916,1
    - Dst: Botan::PKCS11::C_Decrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1917,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1918,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1918,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1919,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1919,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1920,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - session
    - ' encrypted_data'
    - ' decrypted_data'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAllocA>
    - std::vector<uint8_t, TAllocB>
    constantsTouched: []
    func_position:
      end: 1927
      start: 1902
    functionDepth: 1
    functionLinenumber: 1902
    functionLinenumberEnd: 1927
    functionName: Botan::PKCS11::C_Decrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - static_cast<Ulong>
    - const_cast<Byte*>
    - size
    - Botan::PKCS11::data
    - resize
    - Botan::PKCS11::C_Decrypt
    linkageType: ''
    returnType: bool
    signature: "bool C_Decrypt(SessionHandle session,\n                     const
      std::vector<uint8_t, TAllocA>& encrypted_data,\n                     std::vector<uint8_t,
      TAllocB>& decrypted_data,\n                     ReturnValue* return_value =
      ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_Sign
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2147,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2147,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2147,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2147,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2151,1
    - Dst: Botan::PKCS11::C_Sign
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2152,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2153,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2154,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2154,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2155,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - session
    - ' data'
    - ' signature'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAllocA>
    - std::vector<uint8_t, TAllocB>
    constantsTouched: []
    func_position:
      end: 2162
      start: 2142
    functionDepth: 1
    functionLinenumber: 2142
    functionLinenumberEnd: 2162
    functionName: Botan::PKCS11::C_Sign
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - static_cast<Ulong>
    - size
    - Botan::PKCS11::data
    - resize
    - Botan::PKCS11::C_Sign
    linkageType: ''
    returnType: bool
    signature: "bool C_Sign(SessionHandle session,\n                  const std::vector<uint8_t,
      TAllocA>& data,\n                  std::vector<uint8_t, TAllocB>& signature,\n
      \                 ReturnValue* return_value = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_SignUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2202,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2202,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2202,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - ' part'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 2203
      start: 2199
    functionDepth: 1
    functionLinenumber: 2199
    functionLinenumberEnd: 2203
    functionName: Botan::PKCS11::C_SignUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - static_cast<Ulong>
    - Botan::PKCS11::C_SignUpdate
    - size
    - Botan::PKCS11::data
    linkageType: ''
    returnType: bool
    signature: "bool C_SignUpdate(SessionHandle session,\n                        const
      std::vector<uint8_t, TAlloc>& part,\n                        ReturnValue* return_value
      = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_SignFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2246,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2250,1
    - Dst: Botan::PKCS11::C_SignFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2251,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2251,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - session
    - ' signature'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 2256
      start: 2242
    functionDepth: 1
    functionLinenumber: 2242
    functionLinenumberEnd: 2256
    functionName: Botan::PKCS11::C_SignFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - resize
    - Botan::PKCS11::C_SignFinal
    - Botan::PKCS11::data
    linkageType: ''
    returnType: bool
    signature: "bool C_SignFinal(SessionHandle session,\n                       std::vector<uint8_t,
      TAlloc>& signature,\n                       ReturnValue* return_value = ThrowException)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_Verify
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2375,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2376,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2377,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2377,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2378,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2379,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - ' data'
    - ' signature'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAllocA>
    - std::vector<uint8_t, TAllocB>
    constantsTouched: []
    func_position:
      end: 2381
      start: 2371
    functionDepth: 1
    functionLinenumber: 2371
    functionLinenumberEnd: 2381
    functionName: Botan::PKCS11::C_Verify
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - static_cast<Ulong>
    - Botan::PKCS11::C_Verify
    - size
    - Botan::PKCS11::data
    linkageType: ''
    returnType: bool
    signature: "bool C_Verify(SessionHandle session,\n                    const std::vector<uint8_t,
      TAllocA>& data,\n                    std::vector<uint8_t, TAllocB>& signature,\n
      \                   ReturnValue* return_value = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_VerifyUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2421,1
    - Dst: std::vector<uint8_t, TAlloc>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2421,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2421,1
    - Dst: std::vector<uint8_t, TAlloc>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - part
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 2422
      start: 2418
    functionDepth: 1
    functionLinenumber: 2418
    functionLinenumberEnd: 2422
    functionName: Botan::PKCS11::C_VerifyUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::C_VerifyUpdate
    - std::vector<uint8_t, TAlloc>::size
    - std::vector<uint8_t, TAlloc>::data
    - static_cast<Ulong>
    linkageType: ''
    returnType: bool
    signature: "bool C_VerifyUpdate(SessionHandle session,\n                          std::vector<uint8_t,
      TAlloc> part,\n                          ReturnValue* return_value = ThrowException)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2832
    functionName: Botan::PKCS11::get_functions
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FunctionListPtr
    signature: FunctionListPtr get_functions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2857,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2857,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2865
    functionName: Botan::PKCS11_Error
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 0
    functionsReached:
    - Botan::to_string
    - static_cast<int>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: PKCS11_ReturnError
    signature: PKCS11_ReturnError PKCS11_Error
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:30,1
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:31,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: Botan::PKCS11::PublicKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_word
    - serialize
    - Botan::PKCS11::add_binary
    linkageType: ''
    returnType: RSA_PublicKeyGenerationProperties
    signature: RSA_PublicKeyGenerationProperties PublicKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PublicKeyImportProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: Botan::PKCS11::PublicKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 0
    functionsReached:
    - RSA_PublicKeyImportProperties
    linkageType: ''
    returnType: RSA_PublicKeyImportProperties
    signature: RSA_PublicKeyImportProperties PublicKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::PKCS11::generate_another
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> generate_another(RandomNumberGenerator&)
      const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PrivateKeyImportProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:99,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:103,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:103,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:107,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:107,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:110,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:110,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:113,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:113,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:116,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:116,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:119,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: PrivateKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 0
    functionsReached:
    - RSA_PrivateKeyImportProperties
    - serialize
    - add_binary
    linkageType: ''
    returnType: RSA_PrivateKeyImportProperties
    signature: RSA_PrivateKeyImportProperties PrivateKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PrivateKeyGenerationProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: PrivateKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 0
    functionsReached:
    - RSA_PrivateKeyGenerationProperties
    linkageType: ''
    returnType: RSA_PrivateKeyGenerationProperties
    signature: RSA_PrivateKeyGenerationProperties PrivateKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - software_padding
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: set_use_software_padding
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_use_software_padding(bool software_padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: uses_software_padding
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool uses_software_padding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Session
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: Botan::PKCS11::PKCS11_RNG::PKCS11_RNG
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS11_RNG::PKCS11_RNG(Session& session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:16,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:17,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:17,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:17,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:17,1
    - Dst: Ulong
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:17,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:17,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:20,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:21,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:21,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:21,1
    - Dst: Ulong
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:21,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: Botan::PKCS11::PKCS11_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp
    functionUses: 0
    functionsReached:
    - Ulong
    - std::span<uint8_t>::size
    - module
    - const_cast<uint8_t*>
    - std::span<const uint8_t>::size
    - std::span<uint8_t>::empty
    - std::span<uint8_t>::data
    - get
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void PKCS11_RNG::fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp:18,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' subject'
    - ' value'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: Botan::PKCS11::X509_CertificateProperties::X509_CertificateProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: "void X509_CertificateProperties::X509_CertificateProperties(const
      std::vector<uint8_t>& subject,\n                                                       const
      std::vector<uint8_t>& value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp:23,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - handle
    argTypes:
    - Session
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: Botan::PKCS11::PKCS11_X509_Certificate::PKCS11_X509_Certificate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp
    functionUses: 0
    functionsReached:
    - unlock
    - get_attribute_value
    linkageType: ''
    returnType: void
    signature: void PKCS11_X509_Certificate::PKCS11_X509_Certificate(Session& session,
      ObjectHandle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - ' props'
    argTypes:
    - Session
    - X509_CertificateProperties
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: Botan::PKCS11::PKCS11_X509_Certificate::PKCS11_X509_Certificate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: void
    signature: void PKCS11_X509_Certificate::PKCS11_X509_Certificate(Session& session,
      const X509_CertificateProperties& props)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:65,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:66,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:75,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:76,1
    - Dst: const_cast<Mechanism*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:80,1
    - Dst: static_cast<MechanismType>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:82,1
    - Dst: std::memset
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 100
    functionName: Botan::PKCS11::final
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h
    functionUses: 0
    functionsReached:
    - static_cast<Ulong>
    - const_cast<uint8_t*>
    - static_cast<MechanismType>
    - std::memset
    - const_cast<Mechanism*>
    linkageType: ''
    returnType: MechanismWrapper
    signature: MechanismWrapper final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - ' props'
    argTypes:
    - Session
    - EC_PublicKeyImportProperties
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: Botan::PKCS11::PKCS11_ECDH_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS11_ECDH_PublicKey(Session& session, const EC_PublicKeyImportProperties&
      props)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::PKCS11::algo_name
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::PKCS11::generate_another
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> generate_another(RandomNumberGenerator&)
      const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::PKCS11::supports_operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: public_value
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 30
    functionsReached:
    - public_ec_point
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: generate_another
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 4
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> generate_another(RandomNumberGenerator&)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: supports_operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_PublicKeyGenerationProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: Botan::PKCS11::PublicKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h
    functionUses: 0
    functionsReached:
    - EC_PublicKeyGenerationProperties
    linkageType: ''
    returnType: EC_PublicKeyGenerationProperties
    signature: EC_PublicKeyGenerationProperties PublicKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_PublicKeyImportProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: Botan::PKCS11::PublicKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h
    functionUses: 0
    functionsReached:
    - EC_PublicKeyImportProperties
    linkageType: ''
    returnType: EC_PublicKeyImportProperties
    signature: EC_PublicKeyImportProperties PublicKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_PrivateKeyGenerationProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:82,1
    - Dst: EC_PrivateKeyImportProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:92,1
    - Dst: set_public_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:148,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:148,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:148,1
    - Dst: public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:178,1
    - Dst: value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:192,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 220
    functionName: PrivateKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h
    functionUses: 0
    functionsReached:
    - set_public_point
    - public_ec_point
    - domain
    - EC_PrivateKeyImportProperties
    - EC_PrivateKeyGenerationProperties
    - Invalid_State
    - value
    - EC_AffinePoint
    linkageType: ''
    returnType: EC_PrivateKeyGenerationProperties
    signature: EC_PrivateKeyGenerationProperties PrivateKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:16,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:17,1
    - Dst: Botan::PKCS11::Module::reload
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - file_path
    - init_args
    argTypes:
    - std::string_view
    - C_InitializeArgs
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: Botan::PKCS11::Module::Module
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_module.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::Module::reload
    - Invalid_Argument
    - std::string_view::empty
    linkageType: ''
    returnType: void
    signature: void Module::Module(std::string_view file_path, C_InitializeArgs init_args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Module
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::PKCS11::Module::Module
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Module::Module(Module&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_Finalize
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: Module::~Module() noexcept
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_module.cpp
    functionUses: 0
    functionsReached:
    - C_Finalize
    linkageType: ''
    returnType: void
    signature: void Module::~Module() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_Finalize
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:34,1
    - Dst: std::make_unique<Dynamically_Loaded_Library>
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:37,1
    - Dst: Botan::PKCS11::LowLevel::C_GetFunctionList
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:38,1
    - Dst: std::make_unique<LowLevel>
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:39,1
    - Dst: C_Initialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - init_args
    argTypes:
    - C_InitializeArgs
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: Botan::PKCS11::Module::reload
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_module.cpp
    functionUses: 1
    functionsReached:
    - C_Finalize
    - std::make_unique<Dynamically_Loaded_Library>
    - std::make_unique<LowLevel>
    - Botan::PKCS11::LowLevel::C_GetFunctionList
    - C_Initialize
    linkageType: ''
    returnType: void
    signature: void Module::reload(C_InitializeArgs init_args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 49
    functionName: Botan::PKCS11::Hardware_RNG
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: PKCS11_RNG
    signature: PKCS11_RNG Hardware_RNG
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RandomNumberGenerator
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.h:24,1
    - Dst: SessionBundle::SessionBundle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 40
    functionName: Botan::TPM2::Hardware_RNG
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rng.h
    functionUses: 0
    functionsReached:
    - SessionBundle::SessionBundle
    - RandomNumberGenerator
    linkageType: ''
    returnType: RandomNumberGenerator
    signature: RandomNumberGenerator Hardware_RNG
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - location
    - rc
    argTypes:
    - std::string_view
    - TSS2_RC
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::TPM2::check_rc
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 1
    functionsReached:
    - Error
    linkageType: ''
    returnType: void
    signature: void check_rc(std::string_view location, TSS2_RC rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::get_raw_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:80,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - location
    - rc
    argTypes:
    - std::string_view
    - TSS2_RC
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: Botan::TPM2::check_rc_expecting
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - Botan::TPM2::check_rc
    - Botan::TPM2::get_raw_rc
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC check_rc_expecting(std::string_view location, TSS2_RC rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - tpm2_buffer auto
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::TPM2::as_span
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto as_span(tpm2_buffer auto& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:110,1
    - Dst: static_cast<decltype(data.size)>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:111,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' data'
    - length
    argTypes:
    - tpm2_buffer auto
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: Botan::TPM2::as_span
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 1
    functionsReached:
    - static_cast<decltype(data.size)>
    - Botan::TPM2::as_span
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: auto
    signature: auto as_span(tpm2_buffer auto& data, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:119,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:119,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dest'
    - data
    argTypes:
    - T
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::TPM2::copy_into
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - copy_mem
    - Botan::TPM2::as_span
    linkageType: ''
    returnType: void
    signature: void copy_into(T& dest, std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::copy_into
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: Botan::TPM2::copy_into
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 1
    functionsReached:
    - Botan::TPM2::copy_into
    linkageType: ''
    returnType: T
    signature: T copy_into(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OutT::resize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:136,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:137,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - tpm2_buffer auto
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: Botan::TPM2::copy_into
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 1
    functionsReached:
    - copy_mem
    - OutT::resize
    - Botan::TPM2::as_span
    linkageType: ''
    returnType: OutT
    signature: OutT copy_into(const tpm2_buffer auto& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:145,1
    - Dst: static_cast<decltype(result.size)>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:146,1
    - Dst: clear_bytes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: Botan::TPM2::init_with_size
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - clear_bytes
    - static_cast<decltype(result.size)>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: T
    signature: T init_with_size(size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::init_with_size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Botan::TPM2::init_empty
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - Botan::TPM2::init_with_size
    linkageType: ''
    returnType: T
    signature: T init_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Esys_Free
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: operator()(void* handle)
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - Esys_Free
    linkageType: ''
    returnType: void
    signature: void operator()(void* handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: Botan::TPM2::ObjectSetter::ObjectSetter
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectSetter(Object& object, bool persistent = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: was_written
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:189,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:194,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: ~ObjectSetter() noexcept
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - was_written
    - handles
    linkageType: ''
    returnType: void
    signature: void ~ObjectSetter() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: Botan::TPM2::ObjectSetter::ObjectSetter
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectSetter(const ObjectSetter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: Botan::TPM2::ObjectSetter::ObjectSetter
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectSetter(ObjectSetter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: '& operator=(const ObjectSetter&)'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectSetter
    signature: ObjectSetter & operator=(const ObjectSetter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: '& operator=(ObjectSetter&&)'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectSetter
    signature: ObjectSetter & operator=(ObjectSetter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: operator uint32_t*() && noexcept
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator uint32_t*() && noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: Botan::TPM2::ObjectSetter::was_written
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool was_written() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: Botan::TPM2::out_transient_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto out_transient_handle(Object& object)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: Botan::TPM2::out_persistent_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto out_persistent_handle(Object& object)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - auto
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: '& operator()(auto& object) const noexcept'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool & operator()(auto& object) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - auto
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: operator()(const auto& object) const noexcept
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const auto& object) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fn'
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: Botan::TPM2::AttributeWrapper::for_all
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: void
    signature: void for_all(FnT&& fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::AttributeWrapper::for_all
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:267,1
    - Dst: std::popcount
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: Botan::TPM2::AttributeWrapper::all_single_bit_bitmasks
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - std::popcount
    - Botan::TPM2::AttributeWrapper::for_all
    linkageType: ''
    returnType: bool
    signature: bool all_single_bit_bitmasks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::AttributeWrapper::for_all
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:276,1
    - Dst: prop
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - AttributeWrapperT
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: Botan::TPM2::AttributeWrapper::render
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - prop
    - Botan::TPM2::AttributeWrapper::for_all
    linkageType: ''
    returnType: UnderlyingT
    signature: UnderlyingT render(AttributeWrapperT attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::AttributeWrapper::for_all
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:286,1
    - Dst: prop
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - UnderlyingT
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: Botan::TPM2::AttributeWrapper::read
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - prop
    - Botan::TPM2::AttributeWrapper::for_all
    linkageType: ''
    returnType: AttributeWrapperT
    signature: AttributeWrapperT read(UnderlyingT attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:301,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:303,1
    - Dst: BigInt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:308,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - public_blob
    argTypes:
    - TPM2B_PUBLIC*
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: Botan::TPM2::rsa_pubkey_components_from_tss2_public
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - BigInt
    - BOTAN_ASSERT_NONNULL
    - Botan::TPM2::as_span
    linkageType: ''
    returnType: std::pair<BigInt, BigInt>
    signature: std::pair<BigInt, BigInt> rsa_pubkey_components_from_tss2_public(const
      TPM2B_PUBLIC* public_blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - algo_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: Botan::TPM2::asymmetric_algorithm_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<TPM2_ALG_ID>
    signature: "std::optional<TPM2_ALG_ID> asymmetric_algorithm_botan_to_tss2(\n   std::string_view
      algo_name) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - hash_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: Botan::TPM2::hash_algo_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<TPMI_ALG_HASH>
    signature: std::optional<TPMI_ALG_HASH> hash_algo_botan_to_tss2(std::string_view
      hash_name) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::hash_algo_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:74,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:75,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - hash_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: Botan::TPM2::get_tpm2_hash_type
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - auto::value
    - Botan::TPM2::hash_algo_botan_to_tss2
    - Lookup_Error
    linkageType: ''
    returnType: TPMI_ALG_HASH
    signature: TPMI_ALG_HASH get_tpm2_hash_type(std::string_view hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - hash_id
    argTypes:
    - TPMI_ALG_HASH
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: Botan::TPM2::hash_algo_tss2_to_botan
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> hash_algo_tss2_to_botan(TPMI_ALG_HASH hash_id)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::hash_algo_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:113,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:114,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - hash_id
    argTypes:
    - TPM2_ALG_ID
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: Botan::TPM2::get_botan_hash_name
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - auto::value
    - Invalid_State
    - Botan::TPM2::hash_algo_tss2_to_botan
    linkageType: ''
    returnType: std::string
    signature: std::string get_botan_hash_name(TPM2_ALG_ID hash_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - cipher_id
    - key_bits
    argTypes:
    - TPMI_ALG_SYM
    - TPM2_KEY_BITS
    constantsTouched: []
    func_position:
      end: 157
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 157
    functionName: Botan::TPM2::block_cipher_tss2_to_botan
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> block_cipher_tss2_to_botan(TPMI_ALG_SYM
      cipher_id,\n                                                                           TPM2_KEY_BITS
      key_bits) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - cipher_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: Botan::TPM2::block_cipher_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::pair<TPMI_ALG_SYM, TPM2_KEY_BITS>>
    signature: "std::optional<std::pair<TPMI_ALG_SYM, TPM2_KEY_BITS>> block_cipher_botan_to_tss2(\n
      \  std::string_view cipher_name) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - mode_id
    argTypes:
    - TPMI_ALG_SYM_MODE
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: Botan::TPM2::cipher_mode_tss2_to_botan
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> cipher_mode_tss2_to_botan(TPMI_ALG_SYM_MODE
      mode_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - mode_id
    argTypes:
    - TPMI_ECC_CURVE
    constantsTouched: []
    func_position:
      end: 219
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 219
    functionName: Botan::TPM2::curve_id_tss2_to_botan
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> curve_id_tss2_to_botan(TPMI_ECC_CURVE mode_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - curve_id
    argTypes:
    - TPMI_ECC_CURVE
    constantsTouched: []
    func_position:
      end: 238
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 238
    functionName: Botan::TPM2::curve_id_order_byte_size
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> curve_id_order_byte_size(TPMI_ECC_CURVE curve_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' curve_oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: Botan::TPM2::get_tpm2_curve_id
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - to_formatted_string
    linkageType: ''
    returnType: std::optional<TPM2_ECC_CURVE>
    signature: std::optional<TPM2_ECC_CURVE> get_tpm2_curve_id(const OID& curve_oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - mode_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 276
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 276
    functionName: Botan::TPM2::cipher_mode_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<TPMI_ALG_SYM_MODE>
    signature: std::optional<TPMI_ALG_SYM_MODE> cipher_mode_botan_to_tss2(std::string_view
      mode_name) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::block_cipher_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:283,1
    - Dst: Botan::TPM2::cipher_mode_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:288,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:293,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:293,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cipher_def
    argTypes:
    - TPMT_SYM_DEF
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: Botan::TPM2::cipher_tss2_to_botan
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::TPM2::cipher_mode_tss2_to_botan
    - auto::value
    - Botan::TPM2::block_cipher_tss2_to_botan
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> cipher_tss2_to_botan(TPMT_SYM_DEF cipher_def)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:298,1
    - Dst: Botan::TPM2::block_cipher_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:302,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:302,1
    - Dst: Botan::TPM2::cipher_mode_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:303,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:303,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - algo_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 314
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 314
    functionName: Botan::TPM2::cipher_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - SCAN_Name::arg_count
    - Botan::TPM2::cipher_mode_botan_to_tss2
    - auto::value
    - SCAN_Name::arg
    - Botan::TPM2::block_cipher_botan_to_tss2
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: std::optional<TPMT_SYM_DEF>
    signature: std::optional<TPMT_SYM_DEF> cipher_botan_to_tss2(std::string_view algo_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::cipher_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:317,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:318,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - algo_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: Botan::TPM2::get_tpm2_sym_cipher_spec
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - auto::value
    - Botan::TPM2::cipher_botan_to_tss2
    - Lookup_Error
    linkageType: ''
    returnType: TPMT_SYM_DEF
    signature: TPMT_SYM_DEF get_tpm2_sym_cipher_spec(std::string_view algo_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - padding_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 336
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 336
    functionName: Botan::TPM2::rsa_signature_padding_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<TPMI_ALG_SIG_SCHEME>
    signature: "std::optional<TPMI_ALG_SIG_SCHEME> rsa_signature_padding_botan_to_tss2(\n
      \  std::string_view padding_name) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:340,1
    - Dst: Botan::TPM2::rsa_signature_padding_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:344,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:344,1
    - Dst: Botan::TPM2::hash_algo_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:345,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:345,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:350,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:350,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:356,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 359
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 359
    functionName: Botan::TPM2::rsa_signature_scheme_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - SCAN_Name::arg_count
    - auto::value
    - Botan::TPM2::hash_algo_botan_to_tss2
    - SCAN_Name::arg
    - Botan::TPM2::rsa_signature_padding_botan_to_tss2
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: std::optional<TPMT_SIG_SCHEME>
    signature: std::optional<TPMT_SIG_SCHEME> rsa_signature_scheme_botan_to_tss2(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: Botan::TPM2::rsa_encryption_padding_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<TPMI_ALG_ASYM_SCHEME>
    signature: "std::optional<TPMI_ALG_ASYM_SCHEME> rsa_encryption_padding_botan_to_tss2(\n
      \  std::string_view name) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::rsa_encryption_padding_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:376,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:376,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:381,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:382,1
    - Dst: Botan::TPM2::hash_algo_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:386,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:386,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:392,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:393,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:395,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 403
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 403
    functionName: Botan::TPM2::rsa_encryption_scheme_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - SCAN_Name::arg_count
    - auto::value
    - Botan::TPM2::hash_algo_botan_to_tss2
    - SCAN_Name::arg
    - Botan::TPM2::rsa_encryption_padding_botan_to_tss2
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: std::optional<TPMT_RSA_DECRYPT>
    signature: std::optional<TPMT_RSA_DECRYPT> rsa_encryption_scheme_botan_to_tss2(std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: handles
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: Object & handles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: sessions
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SessionBundle
    signature: SessionBundle & sessions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: handles
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: Object & handles()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: handles
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: Object & handles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: sessions
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SessionBundle
    signature: SessionBundle & sessions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Server::expect_short_read
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - TPMA_OBJECT
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::TPM2::ObjectAttributes::read
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - Server::expect_short_read
    linkageType: ''
    returnType: ObjectAttributes
    signature: ObjectAttributes ObjectAttributes::read(TPMA_OBJECT attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::StdoutReporter::render
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ObjectAttributes
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::TPM2::ObjectAttributes::render
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::StdoutReporter::render
    linkageType: ''
    returnType: TPMA_OBJECT
    signature: TPMA_OBJECT ObjectAttributes::render(ObjectAttributes attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:48,1
    - Dst: std::make_unique<ObjectHandles>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:48,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - std::shared_ptr<Context>
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::TPM2::Object::Object
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    - std::make_unique<ObjectHandles>
    linkageType: ''
    returnType: void
    signature: void Object::Object(std::shared_ptr<Context> ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - handle
    argTypes:
    - std::shared_ptr<Context>
    - ESYS_TR
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::TPM2::Object::Object
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Object::Object(std::shared_ptr<Context> ctx, ESYS_TR handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:57,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:58,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:59,1
    - Dst: Botan::TPM2::Object::scrub
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Botan::TPM2::Object::Object
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TPM2::Object::scrub
    linkageType: ''
    returnType: void
    signature: void Object::Object(Object&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Object::~Object()
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - flush
    linkageType: ''
    returnType: void
    signature: void Object::~Object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:71,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:72,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:73,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:74,1
    - Dst: scrub
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: '& Object::operator=(Object&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - scrub
    - flush
    linkageType: ''
    returnType: Object
    signature: Object & Object::operator=(Object&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::Object::has_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:83,1
    - Dst: Botan::TPM2::Object::has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:84,1
    - Dst: Esys_TR_Close
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:85,1
    - Dst: Esys_FlushContext
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: Botan::TPM2::Object::flush
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::Object::has_persistent_handle
    - Esys_TR_Close
    - Esys_FlushContext
    - Botan::TPM2::Object::has_transient_handle
    linkageType: ''
    returnType: void
    signature: void Object::flush() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:95,1
    - Dst: reset
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:96,1
    - Dst: reset
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: Botan::TPM2::Object::scrub
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 1
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Object::scrub()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::Object::flush
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:102,1
    - Dst: Botan::TPM2::Object::_disengage
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: Botan::TPM2::Object::_reset
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::Object::_disengage
    - Botan::TPM2::Object::flush
    linkageType: ''
    returnType: void
    signature: void Object::_reset() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ObjectHandles>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:108,1
    - Dst: reset
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: Botan::TPM2::Object::_disengage
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<ObjectHandles>
    - reset
    linkageType: ''
    returnType: void
    signature: void Object::_disengage() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: persistent::has_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: Botan::TPM2::Object::has_persistent_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 1
    functionsReached:
    - persistent::has_value
    linkageType: ''
    returnType: bool
    signature: bool Object::has_persistent_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: Botan::TPM2::Object::has_transient_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Object::has_transient_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:121,1
    - Dst: Botan::TPM2::Object::has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: Botan::TPM2::Object::persistent_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::Object::has_persistent_handle
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: TPM2_HANDLE
    signature: TPM2_HANDLE Object::persistent_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::TPM2::Object::transient_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ESYS_TR
    signature: ESYS_TR Object::transient_handle() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:130,1
    - Dst: Botan::TPM2::ObjectAttributes::read
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sessions'
    argTypes:
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: Botan::TPM2::Object::attributes
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - _public_info
    - Botan::TPM2::ObjectAttributes::read
    linkageType: ''
    returnType: ObjectAttributes
    signature: ObjectAttributes Object::attributes(const SessionBundle& sessions)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PublicInfo>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:136,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:138,1
    - Dst: Esys_ReadPublic
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:139,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:144,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:145,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:146,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:147,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' sessions'
    - expected_type
    argTypes:
    - SessionBundle
    - std::optional<TPMI_ALG_PUBLIC>
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: '& Object::_public_info(const SessionBundle& sessions, std::optional<TPMI_ALG_PUBLIC>
      expected_type) const'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - Esys_ReadPublic
    - std::make_unique<PublicInfo>
    - out_ptr
    - BOTAN_ASSERT_NONNULL
    - check_rc
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: PublicInfo
    signature: PublicInfo & Object::_public_info(const SessionBundle& sessions, std::optional<TPMI_ALG_PUBLIC>
      expected_type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: '& Object::handles()'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectHandles
    signature: ObjectHandles & Object::handles()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Server::expect_short_read
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - TPMA_SESSION
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::TPM2::SessionAttributes::read
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 0
    functionsReached:
    - Server::expect_short_read
    linkageType: ''
    returnType: SessionAttributes
    signature: SessionAttributes SessionAttributes::read(TPMA_SESSION attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::StdoutReporter::render
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - SessionAttributes
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::TPM2::SessionAttributes::render
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::StdoutReporter::render
    linkageType: ''
    returnType: TPMA_SESSION
    signature: TPMA_SESSION SessionAttributes::render(SessionAttributes attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tpm2_sym_cipher_spec
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:46,1
    - Dst: get_tpm2_hash_type
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:47,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:49,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:51,1
    - Dst: Esys_StartAuthSession
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:52,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:62,1
    - Dst: std::shared_ptr<Session>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:64,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:64,1
    - Dst: Session::Session
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ctx'
    - sym_algo
    - hash_algo
    argTypes:
    - std::shared_ptr<Context>
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: Botan::TPM2::Session::unauthenticated_session
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - get_tpm2_hash_type
    - Session::Session
    - Esys_StartAuthSession
    - BOTAN_ASSERT_NONNULL
    - out_transient_handle
    - get_tpm2_sym_cipher_spec
    - check_rc
    - std::shared_ptr<Session>
    linkageType: ''
    returnType: std::shared_ptr<Session>
    signature: "std::shared_ptr<Session> Session::unauthenticated_session(const std::shared_ptr<Context>&
      ctx,\n                                                          std::string_view
      sym_algo,\n                                                          std::string_view
      hash_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tpm2_sym_cipher_spec
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:77,1
    - Dst: get_tpm2_hash_type
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:78,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:80,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:82,1
    - Dst: Esys_StartAuthSession
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:83,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:84,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:85,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:93,1
    - Dst: std::shared_ptr<Session>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:95,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:95,1
    - Dst: Session::Session
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' ctx'
    - ' tpm_key'
    - sym_algo
    - hash_algo
    argTypes:
    - std::shared_ptr<Context>
    - TPM2::PrivateKey
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 101
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 101
    functionName: Botan::TPM2::Session::authenticated_session
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - get_tpm2_hash_type
    - Session::Session
    - Esys_StartAuthSession
    - BOTAN_ASSERT_NONNULL
    - out_transient_handle
    - handles
    - get_tpm2_sym_cipher_spec
    - check_rc
    - std::shared_ptr<Session>
    linkageType: ''
    returnType: std::shared_ptr<Session>
    signature: "std::shared_ptr<Session> Session::authenticated_session(const std::shared_ptr<Context>&
      ctx,\n                                                        const TPM2::PrivateKey&
      tpm_key,\n                                                        std::string_view
      sym_algo,\n                                                        std::string_view
      hash_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:103,1
    - Dst: Botan::TPM2::Session::set_attributes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - attributes
    argTypes:
    - Object
    - SessionAttributes
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::TPM2::Session::Session
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TPM2::Session::set_attributes
    linkageType: ''
    returnType: void
    signature: void Session::Session(Object session, SessionAttributes attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:109,1
    - Dst: Esys_TRSess_GetAttributes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:110,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:110,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:110,1
    - Dst: Botan::TPM2::SessionAttributes::read
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: Botan::TPM2::Session::attributes
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 0
    functionsReached:
    - context
    - transient_handle
    - Botan::TPM2::SessionAttributes::read
    - check_rc
    - Esys_TRSess_GetAttributes
    linkageType: ''
    returnType: SessionAttributes
    signature: SessionAttributes Session::attributes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:115,1
    - Dst: Esys_TRSess_SetAttributes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:116,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:117,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:117,1
    - Dst: Botan::TPM2::SessionAttributes::render
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - SessionAttributes
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: Botan::TPM2::Session::set_attributes
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 1
    functionsReached:
    - context
    - Esys_TRSess_SetAttributes
    - transient_handle
    - Botan::TPM2::SessionAttributes::render
    - check_rc
    linkageType: ''
    returnType: void
    signature: void Session::set_attributes(SessionAttributes attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:122,1
    - Dst: Esys_TRSess_GetNonceTPM
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:123,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:123,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:123,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:123,1
    - Dst: copy_into<secure_vector<uint8_t>>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: Botan::TPM2::Session::tpm_nonce
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 0
    functionsReached:
    - Esys_TRSess_GetNonceTPM
    - context
    - out_ptr
    - transient_handle
    - copy_into<secure_vector<uint8_t>>
    - check_rc
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Session::tpm_nonce() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: Botan::TPM2::ESYS_TR
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: detail::SessionHandle::operator
    signature: detail::SessionHandle::operator ESYS_TR() && noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tss2_RC_DecodeInfo
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:21,1
    - Dst: Error
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:23,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rc
    argTypes:
    - TSS2_RC
    constantsTouched: []
    func_position:
      end: 36
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 36
    functionName: Botan::TPM2::get_raw_rc
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Error
    - Tss2_RC_DecodeInfo
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC get_raw_rc(TSS2_RC rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 205
    argCount: 1
    argNames:
    - rc
    argTypes:
    - TSS2_RC
    constantsTouched: []
    func_position:
      end: 246
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 246
    functionName: Botan::TPM2::raw_rc_to_string
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    linkageType: ''
    returnType: std::string
    signature: std::string raw_rc_to_string(TSS2_RC rc) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:251,1
    - Dst: raw_rc_to_string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:253,1
    - Dst: get_raw_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:253,1
    - Dst: Tss2_RC_Decode
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - location
    - rc
    argTypes:
    - std::string_view
    - TSS2_RC
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: Botan::TPM2::Error::Error
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp
    functionUses: 0
    functionsReached:
    - get_raw_rc
    - fmt
    - Tss2_RC_Decode
    - raw_rc_to_string
    linkageType: ''
    returnType: void
    signature: void Error::Error(std::string_view location, TSS2_RC rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tss2_RC_Decode
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: Botan::TPM2::Error::error_message
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp
    functionUses: 0
    functionsReached:
    - Tss2_RC_Decode
    linkageType: ''
    returnType: std::string
    signature: std::string Error::error_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:33,1
    - Dst: Botan::RSA_PublicKey::RSA_PublicKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:33,1
    - Dst: Botan::TPM2::rsa_pubkey_components_from_tss2_public
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - public_area
    argTypes:
    - TPM2B_PUBLIC*
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: Botan::TPM2::rsa_pubkey_from_tss2_public
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - std::apply
    - Botan::RSA_PublicKey::RSA_PublicKey
    - Botan::TPM2::rsa_pubkey_components_from_tss2_public
    linkageType: ''
    returnType: Botan::RSA_PublicKey
    signature: Botan::RSA_PublicKey rsa_pubkey_from_tss2_public(const TPM2B_PUBLIC*
      public_area)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:40,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:41,1
    - Dst: Botan::TPM2::curve_id_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:44,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:46,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:46,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:49,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:49,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:52,1
    - Dst: concat
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:53,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:53,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:54,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:55,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:57,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:59,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - public_blob
    argTypes:
    - TPM2B_PUBLIC*
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: Botan::TPM2::ecc_pubkey_from_tss2_public
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::fmt
    - auto::value
    - std::vector<uint8_t>
    - Botan::EC_Group::from_name
    - BOTAN_ASSERT_NONNULL
    - Invalid_Argument
    - Botan::EC_AffinePoint::deserialize
    - concat
    - Botan::TPM2::as_span
    - BOTAN_ARG_CHECK
    - Botan::TPM2::curve_id_tss2_to_botan
    linkageType: ''
    returnType: std::pair<EC_Group, EC_AffinePoint>
    signature: std::pair<EC_Group, EC_AffinePoint> ecc_pubkey_from_tss2_public(const
      TPM2B_PUBLIC* public_blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:69,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:72,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:74,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:78,1
    - Dst: Esys_TR_FromTPMPublic
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:79,1
    - Dst: Botan::TPM2::out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:80,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:82,1
    - Dst: Botan::TPM2::copy_into
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:83,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:84,1
    - Dst: Esys_TR_SetAuth
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:84,1
    - Dst: Object::transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:84,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:87,1
    - Dst: Esys_TR_GetTpmHandle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:88,1
    - Dst: Object::transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:88,1
    - Dst: Botan::TPM2::out_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:88,1
    - Dst: Object::_public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:90,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ' ctx'
    - persistent_object_handle
    - auth_value
    - ' sessions'
    argTypes:
    - std::shared_ptr<Context>
    - TPM2_HANDLE
    - std::span<const uint8_t>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 95
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 95
    functionName: Botan::TPM2::load_persistent_object
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::check_rc
    - Botan::TPM2::out_persistent_handle
    - BOTAN_STATE_CHECK
    - Botan::TPM2::out_transient_handle
    - Object::transient_handle
    - Botan::TPM2::copy_into
    - Object::_public_info
    - BOTAN_ASSERT_NONNULL
    - Esys_TR_SetAuth
    - Esys_TR_GetTpmHandle
    - BOTAN_ARG_CHECK
    - Esys_TR_FromTPMPublic
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: Object
    signature: "Object load_persistent_object(const std::shared_ptr<Context>& ctx,\n
      \                             TPM2_HANDLE persistent_object_handle,\n                              std::span<const
      uint8_t> auth_value,\n                              const SessionBundle& sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:100,1
    - Dst: Tss2_MU_TPM2B_PUBLIC_Marshal
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:101,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:101,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:101,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:102,1
    - Dst: std::vector::shrink_to_fit
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - public_data
    argTypes:
    - TPM2B_PUBLIC*
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: Botan::TPM2::marshal_public_blob
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Botan::TPM2::check_rc
    - std::vector::shrink_to_fit
    - Tss2_MU_TPM2B_PUBLIC_Marshal
    - std::vector::resize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> marshal_public_blob(const TPM2B_PUBLIC* public_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:110,1
    - Dst: Tss2_MU_TPM2B_PUBLIC_Unmarshal
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:111,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:111,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:111,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:112,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - marshalled_blob
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: Botan::TPM2::unmarshal_public_blob
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::check_rc
    - Tss2_MU_TPM2B_PUBLIC_Unmarshal
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: TPM2B_PUBLIC
    signature: TPM2B_PUBLIC unmarshal_public_blob(std::span<const uint8_t> marshalled_blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:119,1
    - Dst: Tss2_MU_TPMT_PUBLIC_Marshal
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:120,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:121,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' key_template'
    argTypes:
    - TPMT_PUBLIC
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: Botan::TPM2::marshal_template
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::TPM2::check_rc
    - static_cast<uint16_t>
    - Tss2_MU_TPMT_PUBLIC_Marshal
    linkageType: ''
    returnType: TPM2B_TEMPLATE
    signature: TPM2B_TEMPLATE marshal_template(const TPMT_PUBLIC& key_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::PublicKey::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:131,1
    - Dst: load_persistent_object
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ctx'
    - persistent_object_handle
    - ' sessions'
    argTypes:
    - std::shared_ptr<Context>
    - TPM2_HANDLE
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: Botan::TPM2::PublicKey::load_persistent
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::PublicKey::create
    - load_persistent_object
    linkageType: ''
    returnType: std::unique_ptr<PublicKey>
    signature: "std::unique_ptr<PublicKey> PublicKey::load_persistent(const std::shared_ptr<Context>&
      ctx,\n                                                      TPM2_HANDLE persistent_object_handle,\n
      \                                                     const SessionBundle& sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unmarshal_public_blob
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:137,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:139,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:142,1
    - Dst: Esys_LoadExternal
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:143,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:150,1
    - Dst: Botan::TPM2::PublicKey::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:151,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ctx'
    - public_blob
    - ' sessions'
    argTypes:
    - std::shared_ptr<Context>
    - std::span<const uint8_t>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 152
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 152
    functionName: Botan::TPM2::PublicKey::load_transient
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 2
    functionsReached:
    - Botan::TPM2::PublicKey::create
    - std::move
    - unmarshal_public_blob
    - Esys_LoadExternal
    - out_transient_handle
    - BOTAN_ASSERT_NONNULL
    - check_rc
    linkageType: ''
    returnType: std::unique_ptr<PublicKey>
    signature: "std::unique_ptr<PublicKey> PublicKey::load_transient(const std::shared_ptr<Context>&
      ctx,\n                                                     std::span<const uint8_t>
      public_blob,\n                                                     const SessionBundle&
      sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: marshal_public_blob
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:155,1
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:155,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Botan::TPM2::PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - get
    - _public_info
    - marshal_public_blob
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Object::_public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:159,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:159,1
    - Dst: std::unique_ptr<PublicKey>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:162,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:162,1
    - Dst: RSA_PublicKey::RSA_PublicKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:162,1
    - Dst: std::unique_ptr<PublicKey>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:167,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:167,1
    - Dst: EC_PublicKey::EC_PublicKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:167,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:171,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:171,1
    - Dst: Object::has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - handles
    - ' sessions'
    argTypes:
    - Object
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: Botan::TPM2::PublicKey::create
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - Botan::fmt
    - Object::has_persistent_handle
    - EC_PublicKey::EC_PublicKey
    - Not_Implemented
    - Object::_public_info
    - RSA_PublicKey::RSA_PublicKey
    - get
    - std::unique_ptr<PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<PublicKey>
    signature: std::unique_ptr<PublicKey> PublicKey::create(Object handles, const
      SessionBundle& sessions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::PrivateKey::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:181,1
    - Dst: load_persistent_object
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ctx'
    - persistent_object_handle
    - auth_value
    - ' sessions'
    argTypes:
    - std::shared_ptr<Context>
    - TPM2_HANDLE
    - std::span<const uint8_t>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: Botan::TPM2::PrivateKey::load_persistent
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - load_persistent_object
    - Botan::TPM2::PrivateKey::create
    linkageType: ''
    returnType: std::unique_ptr<PrivateKey>
    signature: "std::unique_ptr<PrivateKey> PrivateKey::load_persistent(const std::shared_ptr<Context>&
      ctx,\n                                                        TPM2_HANDLE persistent_object_handle,\n
      \                                                       std::span<const uint8_t>
      auth_value,\n                                                        const SessionBundle&
      sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:193,1
    - Dst: unmarshal_public_blob
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:196,1
    - Dst: copy_into<TPM2B_PRIVATE>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:197,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:199,1
    - Dst: Esys_Load
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:200,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:201,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:207,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:209,1
    - Dst: copy_into<TPM2B_AUTH>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:210,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:211,1
    - Dst: Esys_TR_SetAuth
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:211,1
    - Dst: Object::transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:211,1
    - Dst: Botan::TPM2::PrivateKey::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:214,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - ' ctx'
    - auth_value
    - ' parent'
    - public_blob
    - private_blob
    - ' sessions'
    argTypes:
    - std::shared_ptr<Context>
    - std::span<const uint8_t>
    - TPM2::PrivateKey
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 215
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 215
    functionName: Botan::TPM2::PrivateKey::load_transient
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - Esys_Load
    - Botan::TPM2::PrivateKey::create
    - unmarshal_public_blob
    - Object::transient_handle
    - copy_into<TPM2B_AUTH>
    - copy_into<TPM2B_PRIVATE>
    - BOTAN_ASSERT_NONNULL
    - out_transient_handle
    - Esys_TR_SetAuth
    - handles
    - check_rc
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: std::unique_ptr<PrivateKey>
    signature: "std::unique_ptr<PrivateKey> PrivateKey::load_transient(const std::shared_ptr<Context>&
      ctx,\n                                                       std::span<const
      uint8_t> auth_value,\n                                                       const
      TPM2::PrivateKey& parent,\n                                                       std::span<const
      uint8_t> public_blob,\n                                                       std::span<const
      uint8_t> private_blob,\n                                                       const
      SessionBundle& sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:222,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:227,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:232,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:236,1
    - Dst: marshal_template
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:239,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:252,1
    - Dst: Esys_CreateLoaded
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:253,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:260,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:261,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:262,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:263,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:264,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:265,1
    - Dst: Object::has_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:265,1
    - Dst: Botan::TPM2::PrivateKey::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:267,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:267,1
    - Dst: unique_esys_ptr::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:267,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - ' ctx'
    - ' sessions'
    - parent
    - ' key_template'
    - ' sensitive_data'
    argTypes:
    - std::shared_ptr<Context>
    - SessionBundle
    - ESYS_TR
    - TPMT_PUBLIC
    - TPM2B_SENSITIVE_CREATE
    constantsTouched: []
    func_position:
      end: 268
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 268
    functionName: Botan::TPM2::PrivateKey::create_transient_from_template
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - marshal_template
    - std::move
    - as_span
    - Botan::TPM2::PrivateKey::create
    - Object::has_transient_handle
    - unique_esys_ptr::get
    - Not_Implemented
    - Esys_CreateLoaded
    - out_ptr
    - BOTAN_ASSERT_NONNULL
    - Invalid_Argument
    - out_transient_handle
    - check_rc
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::unique_ptr<PrivateKey>
    signature: "std::unique_ptr<PrivateKey> PrivateKey::create_transient_from_template(const
      std::shared_ptr<Context>& ctx,\n                                                                       const
      SessionBundle& sessions,\n                                                                       ESYS_TR
      parent,\n                                                                       const
      TPMT_PUBLIC& key_template,\n                                                                       const
      TPM2B_SENSITIVE_CREATE& sensitive_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:271,1
    - Dst: has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:271,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:272,1
    - Dst: empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:272,1
    - Dst: Botan::lock
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: Botan::TPM2::PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - empty
    - has_persistent_handle
    - Botan::lock
    - BOTAN_STATE_CHECK
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: marshal_public_blob
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:277,1
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:277,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: Botan::TPM2::PrivateKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - get
    - _public_info
    - marshal_public_blob
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PrivateKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: attributes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: Botan::TPM2::PrivateKey::is_parent
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - attributes
    linkageType: ''
    returnType: bool
    signature: bool PrivateKey::is_parent() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Object::_public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:293,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:293,1
    - Dst: std::unique_ptr<RSA_PrivateKey>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:298,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:299,1
    - Dst: RSA_PrivateKey::RSA_PrivateKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:299,1
    - Dst: std::unique_ptr<EC_PrivateKey>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:305,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:305,1
    - Dst: EC_PrivateKey::EC_PrivateKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:305,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:309,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:309,1
    - Dst: Object::has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - handles
    - ' sessions'
    - public_info
    - private_blob
    argTypes:
    - Object
    - SessionBundle
    - TPM2B_PUBLIC*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 311
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 311
    functionName: Botan::TPM2::PrivateKey::create
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - Botan::fmt
    - Object::has_persistent_handle
    - std::unique_ptr<EC_PrivateKey>
    - Not_Implemented
    - Object::_public_info
    - EC_PrivateKey::EC_PrivateKey
    - get
    - std::unique_ptr<RSA_PrivateKey>
    - RSA_PrivateKey::RSA_PrivateKey
    linkageType: ''
    returnType: std::unique_ptr<PrivateKey>
    signature: "std::unique_ptr<PrivateKey> PrivateKey::create(Object handles,\n                                               [[maybe_unused]]
      const SessionBundle& sessions,\n                                               [[maybe_unused]]
      const TPM2B_PUBLIC* public_info,\n                                               [[maybe_unused]]
      std::span<const uint8_t> private_blob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:19,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:19,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:20,1
    - Dst: max_random_bytes_per_request
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - sessions
    argTypes:
    - std::shared_ptr<Context>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: Botan::TPM2::RandomNumberGenerator::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    - max_random_bytes_per_request
    linkageType: ''
    returnType: void
    signature: void RandomNumberGenerator::RandomNumberGenerator(std::shared_ptr<Context>
      ctx, SessionBundle sessions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:28,1
    - Dst: copy_into<TPM2B_SENSITIVE_DATA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:30,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:30,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:32,1
    - Dst: Esys_StirRandom
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:32,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:34,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:34,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:37,1
    - Dst: std::min
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:39,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:39,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:40,1
    - Dst: Esys_GetRandom
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:41,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:45,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:46,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:48,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:49,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:49,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:51,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 52
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 52
    functionName: Botan::TPM2::RandomNumberGenerator::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp
    functionUses: 0
    functionsReached:
    - Esys_StirRandom
    - BufferStuffer::remaining_capacity
    - Esys_GetRandom
    - as_span
    - copy_into<TPM2B_SENSITIVE_DATA>
    - BufferSlicer::take
    - std::min
    - BufferStuffer::append
    - BufferSlicer::empty
    - out_ptr
    - BufferStuffer::full
    - static_cast<uint16_t>
    - check_rc
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void RandomNumberGenerator::fill_bytes_with_input(std::span<uint8_t>
      output, std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: attributes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:33,1
    - Dst: std::make_unique<HashFunction>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:37,1
    - Dst: Botan::TPM2::context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:37,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' key_handle'
    - ' sessions'
    - hash_name
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: Botan::TPM2::create_hash_function
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - Botan::TPM2::context
    - attributes
    - std::make_unique<HashFunction>
    linkageType: ''
    returnType: std::unique_ptr<Botan::HashFunction>
    signature: "std::unique_ptr<Botan::HashFunction> create_hash_function(const Object&
      key_handle,\n                                                          const
      SessionBundle& sessions,\n                                                          std::string_view
      hash_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_hash_function
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - ' algorithms'
    argTypes:
    - Object
    - SessionBundle
    - SignatureAlgorithmSelection
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan::TPM2::Signature_Operation::Signature_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp
    functionUses: 0
    functionsReached:
    - create_hash_function
    linkageType: ''
    returnType: void
    signature: "void Signature_Operation::Signature_Operation(const Object& object,\n
      \                                        const SessionBundle& sessions,\n                                         const
      SignatureAlgorithmSelection& algorithms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:52,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:56,1
    - Dst: Esys_Sign
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:57,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:57,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:58,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:59,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:60,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:61,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:63,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:65,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:66,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:67,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:67,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:68,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:68,1
    - Dst: dynamic_cast<HashFunction*>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:73,1
    - Dst: hash
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:73,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:77,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:78,1
    - Dst: do_sign
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:79,1
    - Dst: hash
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:84,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:84,1
    - Dst: hash
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:84,1
    - Dst: do_sign
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:85,1
    - Dst: init_empty<TPM2B_DIGEST>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:89,1
    - Dst: marshal_signature
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 95
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 95
    functionName: Botan::TPM2::Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - init_empty<TPM2B_DIGEST>
    - Esys_Sign
    - dynamic_cast<HashFunction*>
    - do_sign
    - as_span
    - hash
    - sessions
    - scheme
    - out_ptr
    - BOTAN_ASSERT_NONNULL
    - key_handle
    - marshal_signature
    - check_rc
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Signature_Operation::sign(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - ' algorithms'
    argTypes:
    - Object
    - SessionBundle
    - SignatureAlgorithmSelection
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: Botan::TPM2::Verification_Operation::Verification_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: "void Verification_Operation::Verification_Operation(const Object&
      object,\n                                               const SessionBundle&
      sessions,\n                                               const SignatureAlgorithmSelection&
      algorithms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:105,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:105,1
    - Dst: hash
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:105,1
    - Dst: unmarshal_signature
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:107,1
    - Dst: check_rc_expecting<TPM2_RC_SIGNATURE>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:110,1
    - Dst: Esys_VerifySignature
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:111,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:111,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:112,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:113,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:114,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig_data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: Botan::TPM2::Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp
    functionUses: 0
    functionsReached:
    - as_span
    - hash
    - Esys_VerifySignature
    - check_rc_expecting<TPM2_RC_SIGNATURE>
    - sessions
    - key_handle
    - unmarshal_signature
    linkageType: ''
    returnType: bool
    signature: bool Verification_Operation::is_valid_signature(std::span<const uint8_t>
      sig_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::HashFunction::HashFunction
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.h:31,1
    - Dst: SessionBundle::SessionBundle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 65
    functionName: Botan::TPM2::HashFunction::HashFunction
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.h
    functionUses: 1
    functionsReached:
    - Botan::TPM2::HashFunction::HashFunction
    - SessionBundle::SessionBundle
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: 'class BOTAN_TEST_API HashFunction final : public Botan::HashFunction'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: Botan::TPM2::Object
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object(const Object&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::TPM2::context
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Context>
    signature: std::shared_ptr<Context> & context() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tpm2_hash_type
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:23,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:25,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:26,1
    - Dst: Botan::TPM2::HashFunction::lazy_setup
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - algorithm
    - hierarchy
    - sessions
    argTypes:
    - std::shared_ptr<Context>
    - std::string_view
    - TPMI_RH_HIERARCHY
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: Botan::TPM2::HashFunction::HashFunction
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - get_tpm2_hash_type
    - Botan::TPM2::HashFunction::lazy_setup
    linkageType: ''
    returnType: void
    signature: "void HashFunction::HashFunction(std::shared_ptr<Context> ctx,\n                           std::string_view
      algorithm,\n                           TPMI_RH_HIERARCHY hierarchy,\n                           SessionBundle
      sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_botan_hash_name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::TPM2::HashFunction::name
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - get_botan_hash_name
    linkageType: ''
    returnType: std::string
    signature: std::string HashFunction::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: Botan::TPM2::HashFunction::output_length
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: size_t
    signature: size_t HashFunction::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _reset
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::TPM2::HashFunction::clear
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - _reset
    linkageType: ''
    returnType: void
    signature: void HashFunction::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::TPM2::HashFunction::copy_state
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Botan::HashFunction>
    signature: std::unique_ptr<Botan::HashFunction> HashFunction::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HashFunction>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:64,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:64,1
    - Dst: Botan::TPM2::HashFunction::name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::TPM2::HashFunction::new_object
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - context
    - std::make_unique<HashFunction>
    - Botan::TPM2::HashFunction::name
    linkageType: ''
    returnType: std::unique_ptr<Botan::HashFunction>
    signature: std::unique_ptr<Botan::HashFunction> HashFunction::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:68,1
    - Dst: init_empty<TPM2B_AUTH>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:72,1
    - Dst: check_rc_expecting<TPM2_RC_HASH>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:73,1
    - Dst: Esys_HashSequenceStart
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:74,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:74,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:80,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:83,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:83,1
    - Dst: Botan::TPM2::HashFunction::name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: Botan::TPM2::HashFunction::lazy_setup
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 1
    functionsReached:
    - Esys_HashSequenceStart
    - Botan::TPM2::HashFunction::name
    - context
    - out_transient_handle
    - Lookup_Error
    - fmt
    - has_transient_handle
    - check_rc_expecting<TPM2_RC_HASH>
    - init_empty<TPM2B_AUTH>
    linkageType: ''
    returnType: void
    signature: void HashFunction::lazy_setup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::HashFunction::lazy_setup
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:88,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:91,1
    - Dst: copy_into<TPM2B_MAX_BUFFER>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:93,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:93,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:94,1
    - Dst: Esys_SequenceUpdate
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:96,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:97,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:97,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:99,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: Botan::TPM2::HashFunction::add_data
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::remaining
    - context
    - BufferSlicer::take
    - copy_into<TPM2B_MAX_BUFFER>
    - BufferSlicer::empty
    - Botan::TPM2::HashFunction::lazy_setup
    - transient_handle
    - Esys_SequenceUpdate
    - check_rc
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void HashFunction::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:103,1
    - Dst: has_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:103,1
    - Dst: init_empty<TPM2B_MAX_BUFFER>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:107,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:108,1
    - Dst: Esys_SequenceComplete
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:109,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:109,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:110,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:116,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:117,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:118,1
    - Dst: _disengage
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 125
    functionName: Botan::TPM2::HashFunction::final_with_ticket
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - Esys_SequenceComplete
    - context
    - transient_handle
    - out_ptr
    - init_empty<TPM2B_MAX_BUFFER>
    - BOTAN_ASSERT_NONNULL
    - _disengage
    - check_rc
    - has_transient_handle
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: std::pair<unique_esys_ptr<TPM2B_DIGEST>, unique_esys_ptr<TPMT_TK_HASHCHECK>>
    signature: std::pair<unique_esys_ptr<TPM2B_DIGEST>, unique_esys_ptr<TPMT_TK_HASHCHECK>>
      HashFunction::final_with_ticket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::HashFunction::final_with_ticket
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:128,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:129,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:130,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:130,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:131,1
    - Dst: Botan::TPM2::HashFunction::output_length
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:131,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:133,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:133,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:133,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: Botan::TPM2::HashFunction::final_result
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - as_span
    - std::span<uint8_t>::first
    - copy_mem
    - BOTAN_DEBUG_ASSERT
    - Botan::TPM2::HashFunction::output_length
    - BOTAN_ASSERT_NONNULL
    - Botan::TPM2::HashFunction::final_with_ticket
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void HashFunction::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.h:23,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: Botan::TPM2::Exception
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_error.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Error
    linkageType: ''
    returnType: Error
    signature: Error Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: esys_context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.h:104,1
    - Dst: Context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.h:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 156
    functionName: std::enable_shared_from_this<Context>
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.h
    functionUses: 4
    functionsReached:
    - esys_context
    - Context
    linkageType: ''
    returnType: Context
    signature: Context std::enable_shared_from_this<Context>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h:35,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' object'
    - ' sessions'
    - ' algorithms'
    - hash
    argTypes:
    - Object
    - SessionBundle
    - SignatureAlgorithmSelection
    - std::unique_ptr<Botan::HashFunction>
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: Botan::TPM2::Signature_Operation_Base::Signature_Operation_Base
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Signature_Operation_Base(const Object& object,\n                               const
      SessionBundle& sessions,\n                               const SignatureAlgorithmSelection&
      algorithms,\n                               std::unique_ptr<Botan::HashFunction>
      hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::Signature_Operation_Base::update
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::TPM2::Signature_Operation_Base::update
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 1
    functionsReached:
    - Botan::TPM2::Signature_Operation_Base::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::TPM2::Signature_Operation_Base::hash_function
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan::TPM2::Signature_Operation_Base::hash
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Botan::HashFunction
    signature: Botan::HashFunction * hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& key_handle() const'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: Object & key_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& sessions() const'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SessionBundle
    signature: SessionBundle & sessions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& scheme() const'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TPMT_SIG_SCHEME
    signature: TPMT_SIG_SCHEME & scheme() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::TPM2::Signature_Operation_Base::padding
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> padding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::supports_botan_crypto_backend
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: Botan::TPM2::Context::supports_botan_crypto_backend
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::supports_botan_crypto_backend
    linkageType: ''
    returnType: bool
    signature: bool Context::supports_botan_crypto_backend() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:56,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:60,1
    - Dst: Tss2_TctiLdr_Initialize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:60,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:61,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:62,1
    - Dst: Esys_Initialize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:62,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:63,1
    - Dst: std::shared_ptr<Context>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:66,1
    - Dst: Context::Context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' tcti_nameconf'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: Botan::TPM2::Context::create
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 3
    functionsReached:
    - Tss2_TctiLdr_Initialize
    - BOTAN_ASSERT_NONNULL
    - Esys_Initialize
    - Context::Context
    - std::shared_ptr<Context>
    - c_str
    - check_rc
    linkageType: ''
    returnType: std::shared_ptr<Context>
    signature: std::shared_ptr<Context> Context::create(const std::string& tcti_nameconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<std::string>::has_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:70,1
    - Dst: std::optional<std::string>::c_str
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:70,1
    - Dst: std::optional<std::string>::has_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:71,1
    - Dst: std::optional<std::string>::c_str
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:71,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:75,1
    - Dst: Tss2_TctiLdr_Initialize_Ex
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:75,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:76,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:77,1
    - Dst: Esys_Initialize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:77,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:78,1
    - Dst: std::shared_ptr<Context>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:81,1
    - Dst: Context::Context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tcti
    - conf
    argTypes:
    - std::optional<std::string>
    - std::optional<std::string>
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: Botan::TPM2::Context::create
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 3
    functionsReached:
    - Tss2_TctiLdr_Initialize_Ex
    - std::optional<std::string>::c_str
    - std::optional<std::string>::has_value
    - BOTAN_ASSERT_NONNULL
    - Esys_Initialize
    - Context::Context
    - std::shared_ptr<Context>
    - check_rc
    linkageType: ''
    returnType: std::shared_ptr<Context>
    signature: std::shared_ptr<Context> Context::create(std::optional<std::string>
      tcti, std::optional<std::string> conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:85,1
    - Dst: std::shared_ptr<Context>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:88,1
    - Dst: Context::Context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - esys_ctx
    argTypes:
    - ESYS_CONTEXT*
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: Botan::TPM2::Context::create
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 3
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::shared_ptr<Context>
    - Context::Context
    linkageType: ''
    returnType: std::shared_ptr<Context>
    signature: std::shared_ptr<Context> Context::create(ESYS_CONTEXT* esys_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Impl>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:91,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - external
    argTypes:
    - ESYS_CONTEXT*
    - bool
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: Botan::TPM2::Context::Context
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    - std::make_unique<Impl>
    linkageType: ''
    returnType: void
    signature: void Context::Context(ESYS_CONTEXT* ctx, bool external)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::TPM2::Context::Context
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context::Context(Context&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:102,1
    - Dst: Botan::TPM2::Context::uses_botan_crypto_backend
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:102,1
    - Dst: Botan::TPM2::use_botan_crypto_backend
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:103,1
    - Dst: Botan::TPM2::Context::esys_context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:103,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:105,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - std::shared_ptr<Botan::RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: Botan::TPM2::Context::use_botan_crypto_backend
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::Context::uses_botan_crypto_backend
    - BOTAN_UNUSED
    - Botan::TPM2::use_botan_crypto_backend
    - Botan::TPM2::Context::esys_context
    - Not_Implemented
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void Context::use_botan_crypto_backend(const std::shared_ptr<Botan::RandomNumberGenerator>&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: Botan::TPM2::Context::uses_botan_crypto_backend
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Context::uses_botan_crypto_backend() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '& Context::crypto_callback_state()'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: CryptoCallbackState
    signature: CryptoCallbackState & Context::crypto_callback_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::TPM2::Context::esys_context
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ESYS_CONTEXT
    signature: ESYS_CONTEXT * Context::esys_context() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:137,1
    - Dst: Esys_GetCapability
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:138,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:146,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:147,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:148,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:149,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - property
    argTypes:
    - ESYS_CONTEXT*
    - TPM2_PT
    constantsTouched: []
    func_position:
      end: 153
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 153
    functionName: Botan::TPM2::get_tpm_property
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::check_rc
    - out_ptr
    - BOTAN_ASSERT_NONNULL
    - Esys_GetCapability
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_tpm_property(ESYS_CONTEXT* ctx, TPM2_PT property)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:160,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:163,1
    - Dst: std::min
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:166,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:167,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:172,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:185,1
    - Dst: Esys_GetCapability
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:186,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:194,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:195,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:196,1
    - Dst: extract
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:198,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:199,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:199,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:200,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:200,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:200,1
    - Dst: auto::end
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:200,1
    - Dst: checked_cast_to<uint32_t>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:201,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - property
    - count
    argTypes:
    - ESYS_CONTEXT*
    - TPM2_PT
    - uint32_t
    constantsTouched: []
    func_position:
      end: 205
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 205
    functionName: Botan::TPM2::get_tpm_property_list
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - Botan::TPM2::check_rc
    - std::vector::reserve
    - std::vector::insert
    - checked_cast_to<uint32_t>
    - extract
    - out_ptr
    - auto::end
    - BOTAN_ASSERT_NONNULL
    - Esys_GetCapability
    - auto::size
    - std::min
    - std::vector::push_back
    - std::vector::end
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<ReturnT>
    signature: std::vector<ReturnT> get_tpm_property_list(ESYS_CONTEXT* ctx, TPM2_PT
      property, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:212,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:219,1
    - Dst: store_be
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:219,1
    - Dst: get_tpm_property
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:219,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:222,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:222,1
    - Dst: std::string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:223,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:223,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: Botan::TPM2::Context::vendor
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - std::array::data
    - store_be
    - BufferStuffer::append
    - std::string
    - get_tpm_property
    - std::array::size
    - cast_uint8_ptr_to_char
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::string
    signature: std::string Context::vendor() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:228,1
    - Dst: first
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:228,1
    - Dst: get_tpm_property
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:228,1
    - Dst: std::string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:229,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:229,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: Botan::TPM2::Context::manufacturer
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - store_be
    - std::string
    - get_tpm_property
    - cast_uint8_ptr_to_char
    - first
    linkageType: ''
    returnType: std::string
    signature: std::string Context::manufacturer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asymmetric_algorithm_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:238,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:239,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:239,1
    - Dst: hash_algo_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:242,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:243,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:243,1
    - Dst: block_cipher_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:246,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:247,1
    - Dst: cipher_mode_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:250,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:251,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:251,1
    - Dst: cipher_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:254,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:255,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:256,1
    - Dst: rsa_signature_padding_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:259,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:260,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:260,1
    - Dst: rsa_signature_scheme_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:263,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:264,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:265,1
    - Dst: rsa_encryption_scheme_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:268,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:269,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:271,1
    - Dst: rsa_encryption_padding_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:275,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:276,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:276,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:282,1
    - Dst: get_tpm_property_list<TPM2_CAP_ALGS, TPM2_ALG_ID>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:288,1
    - Dst: std::all_of
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:290,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:291,1
    - Dst: auto::end
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:291,1
    - Dst: value_exists
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:291,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 1
    argNames:
    - algo_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 292
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 292
    functionName: Botan::TPM2::Context::supports_algorithm
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - cipher_mode_botan_to_tss2
    - rsa_signature_scheme_botan_to_tss2
    - rsa_encryption_padding_botan_to_tss2
    - auto::value
    - rsa_signature_padding_botan_to_tss2
    - std::all_of
    - rsa_encryption_scheme_botan_to_tss2
    - auto::empty
    - auto::end
    - block_cipher_botan_to_tss2
    - cipher_botan_to_tss2
    - value_exists
    - get_tpm_property_list<TPM2_CAP_ALGS, TPM2_ALG_ID>
    - asymmetric_algorithm_botan_to_tss2
    - std::vector::push_back
    - hash_algo_botan_to_tss2
    linkageType: ''
    returnType: bool
    signature: bool Context::supports_algorithm(std::string_view algo_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tpm_property
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: Botan::TPM2::Context::max_random_bytes_per_request
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - get_tpm_property
    linkageType: ''
    returnType: size_t
    signature: size_t Context::max_random_bytes_per_request() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::PrivateKey::load_persistent
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:300,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - auth_value
    - ' sessions'
    argTypes:
    - std::span<const uint8_t>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: Botan::TPM2::Context::storage_root_key
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::PrivateKey::load_persistent
    - shared_from_this
    linkageType: ''
    returnType: std::unique_ptr<TPM2::PrivateKey>
    signature: "std::unique_ptr<TPM2::PrivateKey> Context::storage_root_key(std::span<const
      uint8_t> auth_value,\n                                                            const
      SessionBundle& sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tpm_property_list<TPM2_CAP_HANDLES, ESYS_TR>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: Botan::TPM2::Context::transient_handles
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - get_tpm_property_list<TPM2_CAP_HANDLES, ESYS_TR>
    linkageType: ''
    returnType: std::vector<ESYS_TR>
    signature: std::vector<ESYS_TR> Context::transient_handles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::Context::persistent_handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:308,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:317,1
    - Dst: value_exists
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:323,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 329
    functionName: Botan::TPM2::Context::find_free_persistent_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - BOTAN_ASSERT_UNREACHABLE
    - value_exists
    - Botan::TPM2::Context::persistent_handles
    linkageType: ''
    returnType: std::optional<TPM2_HANDLE>
    signature: std::optional<TPM2_HANDLE> Context::find_free_persistent_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tpm_property_list<TPM2_CAP_HANDLES, TPM2_HANDLE>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: Botan::TPM2::Context::persistent_handles
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 1
    functionsReached:
    - get_tpm_property_list<TPM2_CAP_HANDLES, TPM2_HANDLE>
    linkageType: ''
    returnType: std::vector<TPM2_HANDLE>
    signature: std::vector<TPM2_HANDLE> Context::persistent_handles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:340,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:342,1
    - Dst: value_exists
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:342,1
    - Dst: Botan::TPM2::Context::persistent_handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:342,1
    - Dst: std::optional<TPM2_HANDLE>::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:342,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:344,1
    - Dst: has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:344,1
    - Dst: std::optional<TPM2_HANDLE>::has_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:349,1
    - Dst: std::optional<TPM2_HANDLE>::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:350,1
    - Dst: Botan::TPM2::Context::find_free_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:352,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:353,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:353,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:354,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:361,1
    - Dst: Esys_EvictControl
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:362,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:364,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:369,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:370,1
    - Dst: has_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:370,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:375,1
    - Dst: copy_into<TPM2B_AUTH>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:376,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:377,1
    - Dst: Esys_TR_SetAuth
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:377,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:377,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:383,1
    - Dst: Esys_TR_GetTpmHandle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:384,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:384,1
    - Dst: out_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:384,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:386,1
    - Dst: has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:386,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:387,1
    - Dst: persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - ' key'
    - ' sessions'
    - auth_value
    - persistent_handle
    argTypes:
    - TPM2::PrivateKey
    - SessionBundle
    - std::span<const uint8_t>
    - std::optional<TPM2_HANDLE>
    constantsTouched: []
    func_position:
      end: 390
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 390
    functionName: Botan::TPM2::Context::persist
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - std::optional<TPM2_HANDLE>::value
    - persistent_handle
    - out_transient_handle
    - handles
    - auto::has_value
    - Botan::TPM2::Context::find_free_persistent_handle
    - out_persistent_handle
    - BOTAN_ASSERT_NOMSG
    - transient_handle
    - BOTAN_ASSERT_EQUAL
    - BOTAN_ARG_CHECK
    - std::optional<TPM2_HANDLE>::has_value
    - has_transient_handle
    - std::span<const uint8_t>::empty
    - has_persistent_handle
    - copy_into<TPM2B_AUTH>
    - value_exists
    - check_rc
    - BOTAN_STATE_CHECK
    - Esys_TR_SetAuth
    - Botan::TPM2::Context::persistent_handles
    - Esys_EvictControl
    - Esys_TR_GetTpmHandle
    linkageType: ''
    returnType: TPM2_HANDLE
    signature: "TPM2_HANDLE Context::persist(TPM2::PrivateKey& key,\n                             const
      SessionBundle& sessions,\n                             std::span<const uint8_t>
      auth_value,\n                             std::optional<TPM2_HANDLE> persistent_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:393,1
    - Dst: std::unique_ptr<TPM2::PrivateKey>::handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:395,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:396,1
    - Dst: has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:396,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:402,1
    - Dst: Esys_EvictControl
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:403,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:405,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:411,1
    - Dst: _disengage
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - key
    - ' sessions'
    argTypes:
    - std::unique_ptr<TPM2::PrivateKey>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 416
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 416
    functionName: Botan::TPM2::Context::evict
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - has_persistent_handle
    - transient_handle
    - std::unique_ptr<TPM2::PrivateKey>::handles
    - BOTAN_ASSERT_NONNULL
    - BOTAN_ASSERT
    - Esys_EvictControl
    - _disengage
    - BOTAN_ARG_CHECK
    - check_rc
    linkageType: ''
    returnType: void
    signature: void Context::evict(std::unique_ptr<TPM2::PrivateKey> key, const SessionBundle&
      sessions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uses_botan_crypto_backend
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:435,1
    - Dst: set_crypto_callbacks
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:437,1
    - Dst: esys_context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:437,1
    - Dst: m_crypto_callback_state::reset
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:441,1
    - Dst: Esys_GetTcti
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:452,1
    - Dst: Tss2_TctiLdr_Finalize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:454,1
    - Dst: Esys_Finalize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 459
    functionName: Context::~Context()
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - Esys_GetTcti
    - Tss2_TctiLdr_Finalize
    - esys_context
    - m_crypto_callback_state::reset
    - uses_botan_crypto_backend
    - Esys_Finalize
    - set_crypto_callbacks
    linkageType: ''
    returnType: void
    signature: void Context::~Context()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::detail::SessionHandle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:64,1
    - Dst: Botan::TPM2::detail::SessionHandle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:71,1
    - Dst: Botan::TPM2::detail::SessionHandle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: Botan::TPM2::detail::SessionHandle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 1
    functionsReached:
    - Botan::TPM2::detail::SessionHandle
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API SessionHandle
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan::TPM2::handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: detail::SessionHandle
    signature: detail::SessionHandle handle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: Botan::TPM2::transient_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 1
    functionsReached:
    - Botan::TPM2::transient_handle
    linkageType: ''
    returnType: ESYS_TR
    signature: ESYS_TR transient_handle() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: detail::SessionHandle::~SessionHandle()
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void detail::SessionHandle::~SessionHandle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: attributes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Session
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: detail::SessionHandle::SessionHandle(Session& session)
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 0
    functionsReached:
    - attributes
    linkageType: ''
    returnType: void
    signature: void detail::SessionHandle::SessionHandle(Session& session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:178,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:178,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: SessionBundle::SessionBundle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SessionBundle(std::shared_ptr<Session> s1 = nullptr,\n                    std::shared_ptr<Session>
      s2 = nullptr,\n                    std::shared_ptr<Session> s3 = nullptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: operator[](size_t i) const noexcept
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 0
    functionsReached:
    - handle
    linkageType: ''
    returnType: detail::SessionHandle
    signature: detail::SessionHandle operator[](size_t i) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::PrivateKey::raw_public_key_bits
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.h
    functionUses: 36
    functionsReached:
    - Botan::TPM2::PrivateKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> raw_public_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: supports_operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:31,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:31,1
    - Dst: rsa_pubkey_components_from_tss2_public
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - handle
    - session_bundle
    - public_blob
    argTypes:
    - Object
    - SessionBundle
    - TPM2B_PUBLIC*
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::TPM2::RSA_PublicKey::RSA_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - rsa_pubkey_components_from_tss2_public
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKey::RSA_PublicKey(Object handle, SessionBundle session_bundle,
      const TPM2B_PUBLIC* public_blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:34,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - handle
    - session_bundle
    - ' pubkey'
    argTypes:
    - Object
    - SessionBundle
    - std::pair<BigInt, BigInt>
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Botan::TPM2::RSA_PublicKey::RSA_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKey::RSA_PublicKey(Object handle, SessionBundle session_bundle,
      const std::pair<BigInt, BigInt>& pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:43,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:44,1
    - Dst: rsa_pubkey_components_from_tss2_public
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - handle
    - session_bundle
    - public_blob
    - private_blob
    argTypes:
    - Object
    - SessionBundle
    - TPM2B_PUBLIC*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: Botan::TPM2::RSA_PrivateKey::RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - rsa_pubkey_components_from_tss2_public
    linkageType: ''
    returnType: void
    signature: "void RSA_PrivateKey::RSA_PrivateKey(Object handle,\n                               SessionBundle
      session_bundle,\n                               const TPM2B_PUBLIC* public_blob,\n
      \                              std::span<const uint8_t> private_blob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:52,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - handle
    - session_bundle
    - ' pubkey'
    - private_blob
    argTypes:
    - Object
    - SessionBundle
    - std::pair<BigInt, BigInt>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: Botan::TPM2::RSA_PrivateKey::RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RSA_PrivateKey::RSA_PrivateKey(Object handle,\n                               SessionBundle
      session_bundle,\n                               const std::pair<BigInt, BigInt>&
      pubkey,\n                               std::span<const uint8_t> private_blob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:63,1
    - Dst: is_parent
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:63,1
    - Dst: copy_into<TPM2B_AUTH>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:69,1
    - Dst: init_empty<TPM2B_SENSITIVE_DATA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:74,1
    - Dst: Botan::TPM2::ObjectAttributes::render
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:89,1
    - Dst: init_empty<TPM2B_DIGEST>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:99,1
    - Dst: std::optional<uint32_t>::value_or
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:131,1
    - Dst: init_empty<TPM2B_PUBLIC_KEY_RSA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:136,1
    - Dst: create_transient_from_template
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:139,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' ctx'
    - ' sessions'
    - auth_value
    - ' parent'
    - keylength
    - exponent
    argTypes:
    - std::shared_ptr<Context>
    - SessionBundle
    - std::span<const uint8_t>
    - TPM2::PrivateKey
    - uint16_t
    - std::optional<uint32_t>
    constantsTouched: []
    func_position:
      end: 141
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 141
    functionName: Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 1
    functionsReached:
    - init_empty<TPM2B_DIGEST>
    - handles
    - create_transient_from_template
    - copy_into<TPM2B_AUTH>
    - Botan::TPM2::ObjectAttributes::render
    - BOTAN_ARG_CHECK
    - init_empty<TPM2B_PUBLIC_KEY_RSA>
    - init_empty<TPM2B_SENSITIVE_DATA>
    - std::optional<uint32_t>::value_or
    - is_parent
    linkageType: ''
    returnType: std::unique_ptr<TPM2::PrivateKey>
    signature: "std::unique_ptr<TPM2::PrivateKey> RSA_PrivateKey::create_unrestricted_transient(const
      std::shared_ptr<Context>& ctx,\n                                                                                const
      SessionBundle& sessions,\n                                                                                std::span<const
      uint8_t> auth_value,\n                                                                                const
      TPM2::PrivateKey& parent,\n                                                                                uint16_t
      keylength,\n                                                                                std::optional<uint32_t>
      exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:147,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:148,1
    - Dst: Botan::TPM2::rsa_signature_scheme_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:151,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:153,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:153,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:157,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:158,1
    - Dst: std::string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 161
    functionName: Botan::TPM2::select_signature_algorithms
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - SCAN_Name::arg_count
    - Botan::fmt
    - auto::value
    - Not_Implemented
    - std::string
    - Botan::TPM2::rsa_signature_scheme_botan_to_tss2
    - Invalid_Argument
    - SCAN_Name::arg
    linkageType: ''
    returnType: SignatureAlgorithmSelection
    signature: SignatureAlgorithmSelection select_signature_algorithms(std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sessions'
    - ' key_handle'
    argTypes:
    - SessionBundle
    - Object
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Botan::TPM2::signature_length_for_key_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - _public_info
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length_for_key_handle(const SessionBundle& sessions,
      const Object& key_handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: select_signature_algorithms
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - padding
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: Botan::TPM2::RSA_Signature_Operation::RSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - select_signature_algorithms
    linkageType: ''
    returnType: void
    signature: void RSA_Signature_Operation(const Object& object, const SessionBundle&
      sessions, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature_length_for_key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:172,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:172,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: Botan::TPM2::RSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - sessions
    - key_handle
    - signature_length_for_key_handle
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:183,1
    - Dst: padding
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:183,1
    - Dst: Botan::EMSA::create_or_throw
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:184,1
    - Dst: padding
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:184,1
    - Dst: auto::name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:185,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:189,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:190,1
    - Dst: std::string::starts_with
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:193,1
    - Dst: Botan::PSS_Params::from_emsa_name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:194,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:195,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:198,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 199
    functionName: Botan::TPM2::RSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - padding
    - Botan::PSS_Params::from_emsa_name
    - std::string::starts_with
    - auto::name
    - Botan::EMSA::create_or_throw
    - Botan::OID::from_string
    - Invalid_Argument
    - fmt
    - AlgorithmIdentifier
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:209,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:209,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:212,1
    - Dst: Botan::TPM2::RSA_Signature_Operation::signature_length
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:212,1
    - Dst: copy_into<std::vector<uint8_t>>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' signature'
    argTypes:
    - TPMT_SIGNATURE
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: Botan::TPM2::RSA_Signature_Operation::marshal_signature
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::RSA_Signature_Operation::signature_length
    - Invalid_State
    - BOTAN_ASSERT_NOMSG
    - fmt
    - copy_into<std::vector<uint8_t>>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> marshal_signature(const TPMT_SIGNATURE& signature)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: select_signature_algorithms
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - padding
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: Botan::TPM2::RSA_Verification_Operation::RSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - select_signature_algorithms
    linkageType: ''
    returnType: void
    signature: void RSA_Verification_Operation(const Object& object, const SessionBundle&
      sessions, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:224,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:224,1
    - Dst: signature_length_for_key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:224,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:224,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:224,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:228,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:236,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:236,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:239,1
    - Dst: copy_into
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - signature
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 242
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 242
    functionName: Botan::TPM2::RSA_Verification_Operation::unmarshal_signature
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - sessions
    - scheme
    - signature_length_for_key_handle
    - std::span<const uint8_t>::size
    - Invalid_State
    - key_handle
    - BOTAN_ARG_CHECK
    - fmt
    - copy_into
    linkageType: ''
    returnType: TPMT_SIGNATURE
    signature: TPMT_SIGNATURE unmarshal_signature(std::span<const uint8_t> signature)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::rsa_encryption_scheme_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:246,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:248,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:248,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: Botan::TPM2::select_encryption_algorithms
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    - Botan::TPM2::rsa_encryption_scheme_botan_to_tss2
    - Botan::fmt
    - auto::value
    linkageType: ''
    returnType: TPMT_RSA_DECRYPT
    signature: TPMT_RSA_DECRYPT select_encryption_algorithms(std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: select_encryption_algorithms
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - padding
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: Botan::TPM2::RSA_Encryption_Operation::RSA_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - select_encryption_algorithms
    linkageType: ''
    returnType: void
    signature: void RSA_Encryption_Operation(const Object& object, const SessionBundle&
      sessions, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_into<TPM2B_PUBLIC_KEY_RSA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:259,1
    - Dst: init_empty<TPM2B_DATA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:267,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:270,1
    - Dst: Esys_RSA_Encrypt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:271,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:271,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:272,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:279,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:280,1
    - Dst: copy_into<std::vector<uint8_t>>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 282
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 282
    functionName: Botan::TPM2::RSA_Encryption_Operation::encrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - Esys_RSA_Encrypt
    - context
    - copy_into<TPM2B_PUBLIC_KEY_RSA>
    - transient_handle
    - out_ptr
    - BOTAN_ASSERT_NONNULL
    - check_rc
    - init_empty<TPM2B_DATA>
    - copy_into<std::vector<uint8_t>>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encrypt(std::span<const uint8_t> msg, Botan::RandomNumberGenerator&
      /* rng */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:291,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:306,1
    - Dst: hash_output_bytes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:315,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 324
    functionName: Botan::TPM2::RSA_Encryption_Operation::max_input_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - _public_info
    - hash_output_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t max_input_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: Botan::TPM2::RSA_Encryption_Operation::ciphertext_length
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - _public_info
    linkageType: ''
    returnType: size_t
    signature: size_t ciphertext_length(size_t /* ptext_len */) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: select_encryption_algorithms
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - padding
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    functionName: Botan::TPM2::RSA_Decryption_Operation::RSA_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - select_encryption_algorithms
    linkageType: ''
    returnType: void
    signature: void RSA_Decryption_Operation(const Object& object, const SessionBundle&
      sessions, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_into<TPM2B_PUBLIC_KEY_RSA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:342,1
    - Dst: init_empty<TPM2B_DATA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:343,1
    - Dst: check_rc_expecting<TPM2_RC_FAILURE>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:349,1
    - Dst: Esys_RSA_Decrypt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:350,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:350,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:351,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:358,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:360,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:361,1
    - Dst: init_with_size<TPM2B_PUBLIC_KEY_RSA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:372,1
    - Dst: unique_esys_ptr::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:374,1
    - Dst: Botan::CT::conditional_swap_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:375,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:375,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:377,1
    - Dst: copy_into<secure_vector<uint8_t>>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' valid_mask'
    - input
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 379
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 379
    functionName: Botan::TPM2::RSA_Decryption_Operation::decrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::CT::Mask::from_choice
    - context
    - unique_esys_ptr::get
    - copy_into<TPM2B_PUBLIC_KEY_RSA>
    - transient_handle
    - out_ptr
    - init_with_size<TPM2B_PUBLIC_KEY_RSA>
    - check_rc_expecting<TPM2_RC_FAILURE>
    - BOTAN_ASSERT_NONNULL
    - copy_into<secure_vector<uint8_t>>
    - auto::as_bool
    - Esys_RSA_Decrypt
    - init_empty<TPM2B_DATA>
    - Botan::CT::conditional_swap_ptr
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decrypt(uint8_t& valid_mask, std::span<const
      uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: Botan::TPM2::RSA_Decryption_Operation::plaintext_length
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - _public_info
    linkageType: ''
    returnType: size_t
    signature: size_t plaintext_length(size_t /* ciphertext_length */) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:395,1
    - Dst: std::make_unique<RSA_Verification_Operation>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:396,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:396,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: Botan::TPM2::RSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::make_unique<RSA_Verification_Operation>
    - sessions
    - handles
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> RSA_PublicKey::create_verification_op(std::string_view
      params,\n                                                                            std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:402,1
    - Dst: std::make_unique<RSA_Signature_Operation>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:403,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:403,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - Botan::RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: Botan::TPM2::RSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - sessions
    - std::make_unique<RSA_Signature_Operation>
    - handles
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> RSA_PrivateKey::create_signature_op(Botan::RandomNumberGenerator&
      rng,\n                                                                       std::string_view
      params,\n                                                                       std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:409,1
    - Dst: std::make_unique<RSA_Encryption_Operation>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:410,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:410,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - Botan::RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: Botan::TPM2::RSA_PublicKey::create_encryption_op
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::make_unique<RSA_Encryption_Operation>
    - sessions
    - handles
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Encryption>
    signature: "std::unique_ptr<PK_Ops::Encryption> RSA_PublicKey::create_encryption_op(Botan::RandomNumberGenerator&
      rng,\n                                                                        std::string_view
      params,\n                                                                        std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:416,1
    - Dst: std::make_unique<RSA_Decryption_Operation>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:417,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:417,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - Botan::RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: Botan::TPM2::RSA_PrivateKey::create_decryption_op
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - sessions
    - std::make_unique<RSA_Decryption_Operation>
    - handles
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Decryption>
    signature: "std::unique_ptr<PK_Ops::Decryption> RSA_PrivateKey::create_decryption_op(Botan::RandomNumberGenerator&
      rng,\n                                                                         std::string_view
      params,\n                                                                         std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<std::unique_ptr<T>>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:74,1
    - Dst: std::ref
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:78,1
    - Dst: std::get<std::unique_ptr<T>>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - blob
    argTypes:
    - DigestCallbackState*
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: get
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 423
    functionsReached:
    - std::ref
    - std::get<std::unique_ptr<T>>
    - std::holds_alternative<std::unique_ptr<T>>
    linkageType: ''
    returnType: std::optional<std::reference_wrapper<T>>
    signature: std::optional<std::reference_wrapper<T>> get(DigestCallbackState* blob)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - blob
    argTypes:
    - DigestCallbackState**
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: get
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 424
    functionsReached:
    - get
    linkageType: ''
    returnType: std::optional<std::reference_wrapper<T>>
    signature: std::optional<std::reference_wrapper<T>> get(DigestCallbackState**
      blob) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Botan::TPM2::CryptoCallbackState*>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - userdata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: get
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 424
    functionsReached:
    - reinterpret_cast<Botan::TPM2::CryptoCallbackState*>
    linkageType: ''
    returnType: std::optional<std::reference_wrapper<Botan::TPM2::CryptoCallbackState>>
    signature: std::optional<std::reference_wrapper<Botan::TPM2::CryptoCallbackState>>
      get(void* userdata) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: thunk
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC thunk(F f) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:142,1
    - Dst: Botan::TPM2::cipher_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:153,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:162,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:162,1
    - Dst: auto::authenticated
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:169,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:173,1
    - Dst: auto::valid_keylength
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:175,1
    - Dst: auto::default_nonce_length
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:183,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:189,1
    - Dst: auto::start
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:190,1
    - Dst: auto::process
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 8
    argNames:
    - direction
    - key
    - tpm_sym_alg
    - key_bits
    - tpm_mode
    - buffer
    - buffer_size
    - iv
    argTypes:
    - Botan::Cipher_Dir
    - uint8_t*
    - TPM2_ALG_ID
    - TPMI_AES_KEY_BITS
    - TPM2_ALG_ID
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 194
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 194
    functionName: symmetric_algo
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - auto::valid_keylength
    - auto::default_nonce_length
    - auto::set_key
    - auto::authenticated
    - auto::value
    - thunk
    - Botan::TPM2::cipher_tss2_to_botan
    - auto::start
    - Botan::Cipher_Mode::create
    - auto::process
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC symmetric_algo(Botan::Cipher_Dir direction,\n                                     const
      uint8_t* key,\n                                     TPM2_ALG_ID tpm_sym_alg,\n
      \                                    TPMI_AES_KEY_BITS key_bits,\n                                     TPM2_ALG_ID
      tpm_mode,\n                                     uint8_t* buffer,\n                                     size_t
      buffer_size,\n                                     const uint8_t* iv) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:208,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:209,1
    - Dst: Botan::TPM2::hash_algo_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:214,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:219,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:219,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:225,1
    - Dst: DigestCallbackState::DigestCallbackState
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - context
    - hash_alg
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB**
    - TPM2_ALG_ID
    - void*
    constantsTouched: []
    func_position:
      end: 228
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 228
    functionName: hash_start
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::move
    - auto::value
    - DigestCallbackState::DigestCallbackState
    - thunk
    - Botan::TPM2::hash_algo_tss2_to_botan
    - Botan::HashFunction::create
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC hash_start(ESYS_CRYPTO_CONTEXT_BLOB** context, TPM2_ALG_ID
      hash_alg, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:242,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:243,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:244,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - context
    - buffer
    - size
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB*
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: hash_update
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - auto::get
    - thunk
    - get
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC hash_update(ESYS_CRYPTO_CONTEXT_BLOB* context, const uint8_t*
      buffer, size_t size, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:271,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:276,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:277,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:282,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - context
    - buffer
    - size
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB**
    - uint8_t*
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 292
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 292
    functionName: hash_finish
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - auto::get
    - thunk
    - get
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC hash_finish(ESYS_CRYPTO_CONTEXT_BLOB** context, uint8_t* buffer,
      size_t* size, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - context
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB**
    - void*
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: hash_abort
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void hash_abort(ESYS_CRYPTO_CONTEXT_BLOB** context, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:322,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:323,1
    - Dst: Botan::TPM2::hash_algo_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:328,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:333,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:333,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:333,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:338,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:341,1
    - Dst: DigestCallbackState::DigestCallbackState
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - context
    - hash_alg
    - key
    - size
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB**
    - TPM2_ALG_ID
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 344
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 344
    functionName: hmac_start
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - auto::set_key
    - std::move
    - Botan::fmt
    - auto::value
    - DigestCallbackState::DigestCallbackState
    - thunk
    - Botan::TPM2::hash_algo_tss2_to_botan
    - Botan::MessageAuthenticationCode::create
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC hmac_start(\n   ESYS_CRYPTO_CONTEXT_BLOB** context, TPM2_ALG_ID
      hash_alg, const uint8_t* key, size_t size, void* userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:358,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:359,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:360,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - context
    - buffer
    - size
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB*
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: hmac_update
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 4
    functionsReached:
    - BOTAN_UNUSED
    - auto::get
    - thunk
    - get
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC hmac_update(ESYS_CRYPTO_CONTEXT_BLOB* context, const uint8_t*
      buffer, size_t size, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:387,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:392,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:393,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:398,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - context
    - buffer
    - size
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB**
    - uint8_t*
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 408
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 408
    functionName: hmac_finish
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_UNUSED
    - auto::get
    - thunk
    - get
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC hmac_finish(ESYS_CRYPTO_CONTEXT_BLOB** context, uint8_t* buffer,
      size_t* size, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - context
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB**
    - void*
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: hmac_abort
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void hmac_abort(ESYS_CRYPTO_CONTEXT_BLOB** context, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:435,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:436,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:437,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:441,1
    - Dst: randomize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:441,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - nonce
    - num_bytes
    - userdata
    argTypes:
    - TPM2B_NONCE*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 444
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 444
    functionName: get_random2b
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - randomize
    - auto::get
    - thunk
    - Botan::TPM2::as_span
    - get
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC get_random2b(TPM2B_NONCE* nonce, size_t num_bytes, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::hash_algo_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:493,1
    - Dst: Botan::TPM2::hash_algo_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:501,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:506,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:506,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:507,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:507,1
    - Dst: std::strlen
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:515,1
    - Dst: std::make_unique<Botan::OAEP>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:516,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:516,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:516,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:518,1
    - Dst: create_oaep
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:526,1
    - Dst: Botan::EME::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:528,1
    - Dst: Botan::EME::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:530,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:541,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:542,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:543,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:547,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:549,1
    - Dst: create_eme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:551,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:554,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:558,1
    - Dst: Botan::TPM2::rsa_pubkey_from_tss2_public
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:574,1
    - Dst: auto::key_length
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:575,1
    - Dst: maximum_input_size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:577,1
    - Dst: pad
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:587,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:592,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:593,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:593,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:597,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:597,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:599,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:605,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 8
    argNames:
    - pub_tpm_key
    - in_size
    - in_buffer
    - max_out_size
    - out_buffer
    - out_size
    - label
    - userdata
    argTypes:
    - TPM2B_PUBLIC*
    - size_t
    - BYTE*
    - size_t
    - BYTE*
    - size_t*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 608
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 608
    functionName: rsa_pk_encrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - auto::value
    - auto::key_length
    - Botan::TPM2::hash_algo_tss2_to_botan
    - auto::has_value
    - Botan::HashFunction::create
    - std::make_unique<Botan::OAEP>
    - BOTAN_ASSERT_NOMSG
    - Botan::EME::create
    - thunk
    - get
    - auto::size
    - create_eme
    - std::strlen
    - BOTAN_UNUSED
    - Botan::TPM2::rsa_pubkey_from_tss2_public
    - BOTAN_DEBUG_ASSERT
    - pad
    - Botan::copy_mem
    - auto::get
    - create_oaep
    - maximum_input_size
    - Botan::PK_Encryptor_EME::encrypt
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC rsa_pk_encrypt(TPM2B_PUBLIC* pub_tpm_key,\n                       size_t
      in_size,\n                       BYTE* in_buffer,\n                       size_t
      max_out_size,\n                       BYTE* out_buffer,\n                       size_t*
      out_size,\n                       const char* label,\n                       void*
      userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:639,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:640,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:641,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:645,1
    - Dst: Botan::ECDH_PublicKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:649,1
    - Dst: auto::domain
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:651,1
    - Dst: ECDH_PrivateKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:654,1
    - Dst: auto::domain
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:654,1
    - Dst: auto::_public_ec_point
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:658,1
    - Dst: serialize_x_to
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:659,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:659,1
    - Dst: serialize_y_to
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:660,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:660,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:664,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:664,1
    - Dst: Botan::TPM2::copy_into
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:666,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:668,1
    - Dst: Tss2_MU_TPMS_ECC_POINT_Marshal
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:669,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:674,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 7
    argNames:
    - key
    - max_out_size
    - Z
    - Q
    - out_buffer
    - out_size
    - userdata
    argTypes:
    - TPM2B_PUBLIC*
    - size_t
    - TPM2B_ECC_PARAMETER*
    - TPMS_ECC_POINT*
    - BYTE*
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 677
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 677
    functionName: get_ecdh_point
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - auto::domain
    - Tss2_MU_TPMS_ECC_POINT_Marshal
    - ECDH_PrivateKey
    - Botan::TPM2::check_rc
    - BOTAN_UNUSED
    - Botan::PK_Key_Agreement::derive_key
    - Botan::ECDH_PublicKey
    - auto::public_value
    - auto::get
    - thunk
    - serialize_y_to
    - Botan::TPM2::copy_into
    - auto::_public_ec_point
    - serialize_x_to
    - get
    - Botan::TPM2::as_span
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC get_ecdh_point(TPM2B_PUBLIC* key,\n                       size_t
      max_out_size,\n                       TPM2B_ECC_PARAMETER* Z,\n                       TPMS_ECC_POINT*
      Q,\n                       BYTE* out_buffer,\n                       size_t*
      out_size,\n                       void* userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:702,1
    - Dst: symmetric_algo
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - key
    - tpm_sym_alg
    - key_bits
    - tpm_mode
    - buffer
    - buffer_size
    - iv
    - userdata
    argTypes:
    - uint8_t*
    - TPM2_ALG_ID
    - TPMI_AES_KEY_BITS
    - TPM2_ALG_ID
    - uint8_t*
    - size_t
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 708
      start: 694
    functionDepth: 4
    functionLinenumber: 694
    functionLinenumberEnd: 708
    functionName: aes_encrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - symmetric_algo
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC aes_encrypt(uint8_t* key,\n                    TPM2_ALG_ID
      tpm_sym_alg,\n                    TPMI_AES_KEY_BITS key_bits,\n                    TPM2_ALG_ID
      tpm_mode,\n                    uint8_t* buffer,\n                    size_t
      buffer_size,\n                    uint8_t* iv,\n                    void* userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:733,1
    - Dst: symmetric_algo
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - key
    - tpm_sym_alg
    - key_bits
    - tpm_mode
    - buffer
    - buffer_size
    - iv
    - userdata
    argTypes:
    - uint8_t*
    - TPM2_ALG_ID
    - TPMI_AES_KEY_BITS
    - TPM2_ALG_ID
    - uint8_t*
    - size_t
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 739
      start: 725
    functionDepth: 4
    functionLinenumber: 725
    functionLinenumberEnd: 739
    functionName: aes_decrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - symmetric_algo
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC aes_decrypt(uint8_t* key,\n                    TPM2_ALG_ID
      tpm_sym_alg,\n                    TPMI_AES_KEY_BITS key_bits,\n                    TPM2_ALG_ID
      tpm_mode,\n                    uint8_t* buffer,\n                    size_t
      buffer_size,\n                    uint8_t* iv,\n                    void* userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:766,1
    - Dst: symmetric_algo
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - key
    - tpm_sym_alg
    - key_bits
    - tpm_mode
    - buffer
    - buffer_size
    - iv
    - userdata
    argTypes:
    - uint8_t*
    - TPM2_ALG_ID
    - TPMI_SM4_KEY_BITS
    - TPM2_ALG_ID
    - uint8_t*
    - size_t
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 772
      start: 758
    functionDepth: 4
    functionLinenumber: 758
    functionLinenumberEnd: 772
    functionName: sm4_encrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - symmetric_algo
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC sm4_encrypt(uint8_t* key,\n                    TPM2_ALG_ID
      tpm_sym_alg,\n                    TPMI_SM4_KEY_BITS key_bits,\n                    TPM2_ALG_ID
      tpm_mode,\n                    uint8_t* buffer,\n                    size_t
      buffer_size,\n                    uint8_t* iv,\n                    void* userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:797,1
    - Dst: symmetric_algo
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - key
    - tpm_sym_alg
    - key_bits
    - tpm_mode
    - buffer
    - buffer_size
    - iv
    - userdata
    argTypes:
    - uint8_t*
    - TPM2_ALG_ID
    - TPMI_SM4_KEY_BITS
    - TPM2_ALG_ID
    - uint8_t*
    - size_t
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 803
      start: 789
    functionDepth: 4
    functionLinenumber: 789
    functionLinenumberEnd: 803
    functionName: sm4_decrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - symmetric_algo
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC sm4_decrypt(uint8_t* key,\n                    TPM2_ALG_ID
      tpm_sym_alg,\n                    TPMI_SM4_KEY_BITS key_bits,\n                    TPM2_ALG_ID
      tpm_mode,\n                    uint8_t* buffer,\n                    size_t
      buffer_size,\n                    uint8_t* iv,\n                    void* userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - userdata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: init
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 173
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC init(void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:863,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:889,1
    - Dst: Esys_SetCryptoCallbacks
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:889,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:891,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - callback_state
    argTypes:
    - ESYS_CONTEXT*
    - void*
    constantsTouched: []
    func_position:
      end: 896
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 896
    functionName: Botan::TPM2::set_crypto_callbacks
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::TPM2::check_rc
    - Esys_SetCryptoCallbacks
    - Not_Implemented
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void set_crypto_callbacks(ESYS_CONTEXT* ctx, void* callback_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CryptoCallbackState>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend.cpp:18,1
    - Dst: Botan::TPM2::set_crypto_callbacks
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend.cpp:19,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - ' rng'
    argTypes:
    - ESYS_CONTEXT*
    - std::shared_ptr<Botan::RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: Botan::TPM2::use_botan_crypto_backend
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - std::make_unique<CryptoCallbackState>
    - Botan::TPM2::set_crypto_callbacks
    linkageType: ''
    returnType: std::unique_ptr<CryptoCallbackState>
    signature: "std::unique_ptr<CryptoCallbackState> use_botan_crypto_backend(\n   ESYS_CONTEXT*
      context, const std::shared_ptr<Botan::RandomNumberGenerator>& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: Botan::TPM2::supports_botan_crypto_backend
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_botan_crypto_backend() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:22,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:22,1
    - Dst: ecc_pubkey_from_tss2_public
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - handle
    - sessions
    - public_blob
    argTypes:
    - Object
    - SessionBundle
    - TPM2B_PUBLIC*
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: Botan::TPM2::EC_PublicKey::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - ecc_pubkey_from_tss2_public
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::EC_PublicKey(Object handle, SessionBundle sessions,
      const TPM2B_PUBLIC* public_blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:25,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:25,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - handle
    - sessions
    - public_key
    argTypes:
    - Object
    - SessionBundle
    - std::pair<EC_Group, EC_AffinePoint>
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::TPM2::EC_PublicKey::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::EC_PublicKey(Object handle, SessionBundle sessions,
      std::pair<EC_Group, EC_AffinePoint> public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:32,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:32,1
    - Dst: ecc_pubkey_from_tss2_public
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - handle
    - sessions
    - public_blob
    - private_blob
    argTypes:
    - Object
    - SessionBundle
    - TPM2B_PUBLIC*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: Botan::TPM2::EC_PrivateKey::EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - ecc_pubkey_from_tss2_public
    linkageType: ''
    returnType: void
    signature: "void EC_PrivateKey::EC_PrivateKey(Object handle,\n                             SessionBundle
      sessions,\n                             const TPM2B_PUBLIC* public_blob,\n                             std::span<const
      uint8_t> private_blob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:38,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:38,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - handle
    - sessions
    - public_key
    - private_blob
    argTypes:
    - Object
    - SessionBundle
    - std::pair<EC_Group, EC_AffinePoint>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: Botan::TPM2::EC_PrivateKey::EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void EC_PrivateKey::EC_PrivateKey(Object handle,\n                             SessionBundle
      sessions,\n                             std::pair<EC_Group, EC_AffinePoint>
      public_key,\n                             std::span<const uint8_t> private_blob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::ECDSA_PublicKey>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:42,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:42,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::TPM2::EC_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ECDSA_PublicKey>
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> EC_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::TPM2::EC_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::TPM2::EC_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::TPM2::EC_PrivateKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PrivateKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::PrivateKey::raw_public_key_bits
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::TPM2::EC_PrivateKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::PrivateKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PrivateKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:67,1
    - Dst: is_parent
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:67,1
    - Dst: get_tpm2_curve_id
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:69,1
    - Dst: get_curve_oid
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:69,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:71,1
    - Dst: copy_into<TPM2B_AUTH>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:78,1
    - Dst: init_empty<TPM2B_SENSITIVE_DATA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:83,1
    - Dst: Botan::TPM2::ObjectAttributes::render
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:98,1
    - Dst: init_empty<TPM2B_DIGEST>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:108,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:139,1
    - Dst: create_transient_from_template
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:156,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - ' ctx'
    - ' sessions'
    - auth_value
    - ' parent'
    - ' group'
    argTypes:
    - std::shared_ptr<Context>
    - SessionBundle
    - std::span<const uint8_t>
    - TPM2::PrivateKey
    - EC_Group
    constantsTouched: []
    func_position:
      end: 158
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 158
    functionName: Botan::TPM2::EC_PrivateKey::create_unrestricted_transient
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 1
    functionsReached:
    - init_empty<TPM2B_DIGEST>
    - handles
    - auto::value
    - create_transient_from_template
    - copy_into<TPM2B_AUTH>
    - get_tpm2_curve_id
    - Invalid_Argument
    - Botan::TPM2::ObjectAttributes::render
    - BOTAN_ARG_CHECK
    - init_empty<TPM2B_SENSITIVE_DATA>
    - get_curve_oid
    - is_parent
    linkageType: ''
    returnType: std::unique_ptr<TPM2::PrivateKey>
    signature: "std::unique_ptr<TPM2::PrivateKey> EC_PrivateKey::create_unrestricted_transient(const
      std::shared_ptr<Context>& ctx,\n                                                                               const
      SessionBundle& sessions,\n                                                                               std::span<const
      uint8_t> auth_value,\n                                                                               const
      TPM2::PrivateKey& parent,\n                                                                               const
      EC_Group& group)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::get_tpm2_hash_type
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:167,1
    - Dst: std::string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: Botan::TPM2::make_signature_scheme
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - Botan::TPM2::get_tpm2_hash_type
    linkageType: ''
    returnType: SignatureAlgorithmSelection
    signature: SignatureAlgorithmSelection make_signature_scheme(std::string_view
      hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:175,1
    - Dst: Botan::TPM2::curve_id_order_byte_size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:177,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:179,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:179,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' sessions'
    - ' object'
    argTypes:
    - SessionBundle
    - Object
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: Botan::TPM2::signature_length_for_key_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - _public_info
    - Botan::fmt
    - auto::value
    - Invalid_Argument
    - Botan::TPM2::curve_id_order_byte_size
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length_for_key_handle(const SessionBundle& sessions,
      const Object& object)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_signature_scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - hash
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: Botan::TPM2::EC_Signature_Operation::EC_Signature_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - make_signature_scheme
    linkageType: ''
    returnType: void
    signature: void EC_Signature_Operation(const Object& object, const SessionBundle&
      sessions, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature_length_for_key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:189,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:189,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Botan::TPM2::EC_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - sessions
    - key_handle
    - signature_length_for_key_handle
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:193,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:194,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: Botan::TPM2::EC_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::OID::from_string
    - hash_function
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:200,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:202,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:203,1
    - Dst: signature_length_for_key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:204,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:204,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:204,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:205,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:206,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:206,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:206,1
    - Dst: concat
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' signature'
    argTypes:
    - TPMT_SIGNATURE
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: Botan::TPM2::EC_Signature_Operation::marshal_signature
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - as_span
    - sessions
    - signature_length_for_key_handle
    - key_handle
    - concat
    - auto::size
    - BOTAN_STATE_CHECK
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> marshal_signature(const TPMT_SIGNATURE& signature)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_signature_scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - hash
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: Botan::TPM2::EC_Verification_Operation::EC_Verification_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - make_signature_scheme
    linkageType: ''
    returnType: void
    signature: void EC_Verification_Operation(const Object& object, const SessionBundle&
      sessions, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:219,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:219,1
    - Dst: signature_length_for_key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:221,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:221,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:221,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:222,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:222,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:223,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:231,1
    - Dst: copy_into<TPM2B_ECC_PARAMETER>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:232,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:232,1
    - Dst: copy_into<TPM2B_ECC_PARAMETER>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:233,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sig_data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 237
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 237
    functionName: Botan::TPM2::EC_Verification_Operation::unmarshal_signature
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::first
    - copy_into<TPM2B_ECC_PARAMETER>
    - sessions
    - scheme
    - signature_length_for_key_handle
    - std::span<const uint8_t>::size
    - key_handle
    - BOTAN_ARG_CHECK
    - BOTAN_STATE_CHECK
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: TPMT_SIGNATURE
    signature: TPMT_SIGNATURE unmarshal_signature(std::span<const uint8_t> sig_data)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:244,1
    - Dst: std::make_unique<EC_Verification_Operation>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:245,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:245,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: Botan::TPM2::EC_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - sessions
    - std::make_unique<EC_Verification_Operation>
    - handles
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> EC_PublicKey::create_verification_op(std::string_view
      params,\n                                                                           std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:251,1
    - Dst: std::make_unique<EC_Signature_Operation>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:252,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:252,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - Botan::RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: Botan::TPM2::EC_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - sessions
    - std::make_unique<EC_Signature_Operation>
    - handles
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> EC_PrivateKey::create_signature_op(Botan::RandomNumberGenerator&
      rng,\n                                                                      std::string_view
      params,\n                                                                      std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TPM_Error
      Src: /src/botan/src/lib/prov/tpm/tpm.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: Botan::Exception
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.h
    functionUses: 1
    functionsReached:
    - TPM_Error
    linkageType: ''
    returnType: TPM_Error
    signature: TPM_Error Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/prov/tpm/tpm.h:51,1
    - Dst: m_pin_cb
      Src: /src/botan/src/lib/prov/tpm/tpm.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.h
    functionUses: 17
    functionsReached:
    - m_pin_cb
    - BOTAN_DEPRECATED
    linkageType: ''
    returnType: TPM_Context
    signature: TPM_Context final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TPM_RNG
      Src: /src/botan/src/lib/prov/tpm/tpm.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: Botan::Hardware_RNG
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.h
    functionUses: 0
    functionsReached:
    - TPM_RNG
    linkageType: ''
    returnType: TPM_RNG
    signature: TPM_RNG Hardware_RNG
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TPM_PrivateKey
      Src: /src/botan/src/lib/prov/tpm/tpm.h:116,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm/tpm.h:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 189
    functionName: Private_Key
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.h
    functionUses: 3
    functionsReached:
    - Not_Implemented
    - TPM_PrivateKey
    linkageType: ''
    returnType: TPM_PrivateKey
    signature: TPM_PrivateKey Private_Key
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:31,1
    - Dst: Trspi_Error_String
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:32,1
    - Dst: Trspi_Error_Layer
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:33,1
    - Dst: TPM_Error
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - res
    - expr
    - file
    - line
    argTypes:
    - TSS_RESULT
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: Botan::tss_error
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TPM_Error
    - Botan::fmt
    - Trspi_Error_Layer
    - Trspi_Error_String
    linkageType: ''
    returnType: void
    signature: void tss_error(TSS_RESULT res, const char* expr, const char* file,
      int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:57,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: Botan::bit_flag
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    - Invalid_Argument
    linkageType: ''
    returnType: TSS_FLAG
    signature: TSS_FLAG bit_flag(size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:63,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: Botan::to_uint32
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - cryptofuzz::mutator::ExpModGenerator::max
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t to_uint32(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:77,1
    - Dst: ::Tspi_GetAttribData
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:77,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:81,1
    - Dst: ::Tspi_Context_FreeMemory
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - obj
    - flag
    - sub_flag
    argTypes:
    - TSS_HCONTEXT
    - TSS_HOBJECT
    - TSS_FLAG
    - TSS_FLAG
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: Botan::get_obj_attr
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - ::Tspi_GetAttribData
    - TSPI_CHECK_SUCCESS
    - ::Tspi_Context_FreeMemory
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_obj_attr(TSS_HCONTEXT ctx, TSS_HOBJECT obj,
      TSS_FLAG flag, TSS_FLAG sub_flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<BYTE*>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:88,1
    - Dst: reinterpret_cast<const BYTE*>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:88,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:89,1
    - Dst: ::Tspi_Policy_SetSecret
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:89,1
    - Dst: Botan::to_uint32
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:89,1
    - Dst: std::strlen
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:89,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:93,1
    - Dst: ::Tspi_Policy_SetSecret
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:94,1
    - Dst: const_cast<BYTE*>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - policy
    - secret
    argTypes:
    - TSS_HPOLICY
    - char*
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: Botan::set_policy_secret
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - ::Tspi_Policy_SetSecret
    - std::strlen
    - TSPI_CHECK_SUCCESS
    - reinterpret_cast<const BYTE*>
    - Botan::to_uint32
    - const_cast<BYTE*>
    linkageType: ''
    returnType: void
    signature: void set_policy_secret(TSS_HPOLICY policy, const char* secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:102,1
    - Dst: binary_value
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' uuid'
    argTypes:
    - UUID
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Botan::to_tss_uuid
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::typecast_copy
    - binary_value
    linkageType: ''
    returnType: TSS_UUID
    signature: TSS_UUID to_tss_uuid(const UUID& uuid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:110,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' tss_uuid'
    argTypes:
    - TSS_UUID
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: Botan::from_tss_uuid
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - Botan::typecast_copy
    linkageType: ''
    returnType: UUID
    signature: UUID from_tss_uuid(const TSS_UUID& tss_uuid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TPM_Error
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:121,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - flag
    argTypes:
    - TSS_FLAG
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: Botan::storage_type_from_tss_flag
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    - TPM_Error
    linkageType: ''
    returnType: TPM_Storage_Type
    signature: TPM_Storage_Type storage_type_from_tss_flag(TSS_FLAG flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' uuid'
    - storage
    argTypes:
    - UUID
    - TPM_Storage_Type
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: Botan::format_url
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string format_url(const UUID& uuid, TPM_Storage_Type storage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::from_tss_uuid
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:130,1
    - Dst: Botan::format_url
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:132,1
    - Dst: Botan::from_tss_uuid
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:132,1
    - Dst: Botan::storage_type_from_tss_flag
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tss_uuid'
    - store_type
    argTypes:
    - TSS_UUID
    - TSS_FLAG
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: Botan::format_url
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 1
    functionsReached:
    - Botan::from_tss_uuid
    - Botan::format_url
    - Botan::storage_type_from_tss_flag
    linkageType: ''
    returnType: std::string
    signature: std::string format_url(const TSS_UUID& tss_uuid, TSS_FLAG store_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:138,1
    - Dst: ::Tspi_Context_Create
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:138,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:139,1
    - Dst: ::Tspi_Context_Connect
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:139,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:141,1
    - Dst: ::Tspi_Context_GetTpmObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:141,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:145,1
    - Dst: ::Tspi_Context_LoadKeyByUUID
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:145,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:147,1
    - Dst: ::Tspi_GetPolicyObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:147,1
    - Dst: set_policy_secret
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - cb
    - srk_password
    argTypes:
    - pin_cb
    - char*
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: Botan::TPM_Context::TPM_Context
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 1
    functionsReached:
    - set_policy_secret
    - ::Tspi_GetPolicyObject
    - ::Tspi_Context_GetTpmObject
    - ::Tspi_Context_LoadKeyByUUID
    - ::Tspi_Context_Create
    - TSPI_CHECK_SUCCESS
    - ::Tspi_Context_Connect
    linkageType: ''
    returnType: void
    signature: void TPM_Context::TPM_Context(pin_cb cb, const char* srk_password)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:155,1
    - Dst: ::Tspi_Context_CloseObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:155,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:157,1
    - Dst: ::Tspi_Context_Close
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:157,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:158,1
    - Dst: ::Tspi_Context_Close
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: TPM_Context::~TPM_Context()
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - ::Tspi_Context_Close
    - TSPI_CHECK_SUCCESS
    - ::Tspi_Context_CloseObject
    linkageType: ''
    returnType: void
    signature: void TPM_Context::~TPM_Context()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:163,1
    - Dst: ::Tspi_TPM_ReadCounter
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: Botan::TPM_Context::current_counter
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TSPI_CHECK_SUCCESS
    - ::Tspi_TPM_ReadCounter
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TPM_Context::current_counter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:169,1
    - Dst: ::Tspi_TPM_GetRandom
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:169,1
    - Dst: to_uint32
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:169,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:170,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:170,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:171,1
    - Dst: ::Tspi_Context_FreeMemory
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - out_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: Botan::TPM_Context::gen_random
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - to_uint32
    - ::Tspi_Context_FreeMemory
    - copy_mem
    - TSPI_CHECK_SUCCESS
    - ::Tspi_TPM_GetRandom
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: void
    signature: void TPM_Context::gen_random(uint8_t out[], size_t out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:175,1
    - Dst: ::Tspi_TPM_StirRandom
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:175,1
    - Dst: to_uint32
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:175,1
    - Dst: const_cast<BYTE*>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - in_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: Botan::TPM_Context::stir_random
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - const_cast<BYTE*>
    - TSPI_CHECK_SUCCESS
    - ::Tspi_TPM_StirRandom
    - to_uint32
    linkageType: ''
    returnType: void
    signature: void TPM_Context::stir_random(const uint8_t in[], size_t in_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bit_flag
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:182,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:185,1
    - Dst: ::Tspi_Context_CreateObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:185,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:185,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:187,1
    - Dst: ::Tspi_SetAttribUint32
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:188,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:191,1
    - Dst: ::Tspi_Context_CreateObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:191,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:191,1
    - Dst: set_policy_secret
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:192,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:193,1
    - Dst: ::Tspi_Policy_AssignToObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:193,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:195,1
    - Dst: ::Tspi_Key_CreateKey
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:195,1
    - Dst: srk
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ctx'
    - bits
    - key_password
    argTypes:
    - TPM_Context
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: Botan::TPM_PrivateKey::TPM_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - set_policy_secret
    - bit_flag
    - srk
    - ::Tspi_SetAttribUint32
    - TSPI_CHECK_SUCCESS
    - ::Tspi_Context_CreateObject
    - ::Tspi_Key_CreateKey
    - ::Tspi_Policy_AssignToObject
    - handle
    linkageType: ''
    returnType: void
    signature: void TPM_PrivateKey::TPM_PrivateKey(TPM_Context& ctx, size_t bits,
      const char* key_password)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:204,1
    - Dst: ::Tspi_Context_LoadKeyByUUID
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:204,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:204,1
    - Dst: to_tss_uuid
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ctx'
    - uuid_str
    - storage_type
    argTypes:
    - TPM_Context
    - std::string_view
    - TPM_Storage_Type
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: Botan::TPM_PrivateKey::TPM_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - ::Tspi_Context_LoadKeyByUUID
    - to_tss_uuid
    - TSPI_CHECK_SUCCESS
    - handle
    linkageType: ''
    returnType: void
    signature: void TPM_PrivateKey::TPM_PrivateKey(TPM_Context& ctx, std::string_view
      uuid_str, TPM_Storage_Type storage_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:208,1
    - Dst: ::Tspi_Context_LoadKeyByBlob
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:208,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:209,1
    - Dst: srk
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:209,1
    - Dst: to_uint32
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:209,1
    - Dst: size
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:209,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:209,1
    - Dst: data
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ctx'
    - ' blob'
    argTypes:
    - TPM_Context
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: Botan::TPM_PrivateKey::TPM_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - ::Tspi_Context_LoadKeyByBlob
    - to_uint32
    - srk
    - data
    - const_cast<uint8_t*>
    - TSPI_CHECK_SUCCESS
    - size
    - handle
    linkageType: ''
    returnType: void
    signature: void TPM_PrivateKey::TPM_PrivateKey(TPM_Context& ctx, const std::vector<uint8_t>&
      blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:215,1
    - Dst: UUID
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:217,1
    - Dst: to_tss_uuid
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:220,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:225,1
    - Dst: ::Tspi_Context_RegisterKey
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:226,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:226,1
    - Dst: TPM_Error
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:232,1
    - Dst: to_string
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:232,1
    - Dst: format_url
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - storage_type
    argTypes:
    - TPM_Storage_Type
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: Botan::TPM_PrivateKey::register_key
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TPM_Error
    - TSPI_CHECK_SUCCESS
    - to_string
    - is_valid
    - format_url
    - to_tss_uuid
    - ::Tspi_Context_RegisterKey
    - UUID
    - handle
    linkageType: ''
    returnType: std::string
    signature: std::string TPM_PrivateKey::register_key(TPM_Storage_Type storage_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:243,1
    - Dst: ::Tspi_Context_GetRegisteredKeysByUUID2
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:244,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:244,1
    - Dst: format_url
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - TPM_Context
    constantsTouched: []
    func_position:
      end: 256
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 256
    functionName: Botan::TPM_PrivateKey::registered_keys
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 1
    functionsReached:
    - format_url
    - TSPI_CHECK_SUCCESS
    - ::Tspi_Context_GetRegisteredKeysByUUID2
    - handle
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> TPM_PrivateKey::registered_keys(TPM_Context&
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:260,1
    - Dst: get_obj_attr
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:261,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: Botan::TPM_PrivateKey::get_n
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - get_obj_attr
    - Botan::BigInt::from_bytes
    - handle
    linkageType: ''
    returnType: BigInt
    signature: BigInt TPM_PrivateKey::get_n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:269,1
    - Dst: get_obj_attr
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:270,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: Botan::TPM_PrivateKey::get_e
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - get_obj_attr
    - Botan::BigInt::from_bytes
    - handle
    linkageType: ''
    returnType: BigInt
    signature: BigInt TPM_PrivateKey::get_e() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if_work_factor
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:277,1
    - Dst: Botan::TPM_PrivateKey::key_length
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: Botan::TPM_PrivateKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM_PrivateKey::key_length
    - if_work_factor
    linkageType: ''
    returnType: size_t
    signature: size_t TPM_PrivateKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM_PrivateKey::get_n
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: Botan::TPM_PrivateKey::key_length
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 1
    functionsReached:
    - Botan::TPM_PrivateKey::get_n
    linkageType: ''
    returnType: size_t
    signature: size_t TPM_PrivateKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:285,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: Botan::TPM_PrivateKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - object_identifier
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier TPM_PrivateKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:290,1
    - Dst: Botan::TPM_PrivateKey::get_n
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:290,1
    - Dst: Botan::TPM_PrivateKey::get_e
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: Botan::TPM_PrivateKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - Botan::TPM_PrivateKey::get_n
    - Botan::TPM_PrivateKey::get_e
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> TPM_PrivateKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TPM_Error
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: Botan::TPM_PrivateKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TPM_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> TPM_PrivateKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TPM_Error
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: Botan::TPM_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TPM_Error
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> TPM_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_obj_attr
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:303,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: Botan::TPM_PrivateKey::export_blob
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 1
    functionsReached:
    - get_obj_attr
    - handle
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> TPM_PrivateKey::export_blob() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RSA_PublicKey>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:307,1
    - Dst: Botan::TPM_PrivateKey::get_n
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:307,1
    - Dst: Botan::TPM_PrivateKey::get_e
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: Botan::TPM_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RSA_PublicKey>
    - Botan::TPM_PrivateKey::get_n
    - Botan::TPM_PrivateKey::get_e
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> TPM_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: Botan::TPM_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TPM_PrivateKey::check_key(RandomNumberGenerator&, bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:319,1
    - Dst: pkcs_hash_id
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - hash_name
    argTypes:
    - TPM_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 4
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: Botan::TPM_Signing_Operation::TPM_Signing_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - pkcs_hash_id
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void TPM_Signing_Operation(const TPM_PrivateKey& key, std::string_view
      hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: Botan::TPM_Signing_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: Botan::TPM_Signing_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - get_n
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM_Signing_Operation::update
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: Botan::TPM_Signing_Operation::update
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 1
    functionsReached:
    - Botan::TPM_Signing_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:328,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:329,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: Botan::TPM_Signing_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::OID::from_string
    - name
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:341,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:344,1
    - Dst: size
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:344,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:344,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:345,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:345,1
    - Dst: begin
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:345,1
    - Dst: end
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:345,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:346,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:346,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:346,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:346,1
    - Dst: ctx
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:348,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:350,1
    - Dst: ::Tspi_Context_CreateObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:350,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:351,1
    - Dst: ::Tspi_Hash_SetHashValue
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:351,1
    - Dst: to_uint32
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:351,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:351,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:351,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:355,1
    - Dst: ::Tspi_Hash_Sign
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:355,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:355,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:359,1
    - Dst: ::Tspi_Context_FreeMemory
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:359,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:362,1
    - Dst: ::Tspi_Context_CloseObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 365
    functionName: Botan::TPM_Signing_Operation::sign
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - ::Tspi_Hash_Sign
    - ::Tspi_Context_FreeMemory
    - end
    - TSPI_CHECK_SUCCESS
    - ::Tspi_Context_CreateObject
    - begin
    - final
    - secure_vector::end
    - handle
    - std::vector::size
    - std::vector::data
    - secure_vector::begin
    - std::vector::insert
    - std::vector::reserve
    - to_uint32
    - std::vector::end
    - ::Tspi_Context_CloseObject
    - ctx
    - size
    - ::Tspi_Hash_SetHashValue
    - secure_vector::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TPM_Signing_Operation>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: Botan::TPM_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<TPM_Signing_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> TPM_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                       std::string_view
      params,\n                                                                       std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - what
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan::CommonCrypto_Error::CommonCrypto_Error
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Error::CommonCrypto_Error(std::string_view what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:22,1
    - Dst: Botan::CommonCrypto_Error::ccryptorstatus_to_string
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - what
    - status
    argTypes:
    - std::string_view
    - int32_t
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::CommonCrypto_Error::CommonCrypto_Error
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Botan::CommonCrypto_Error::ccryptorstatus_to_string
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Error::CommonCrypto_Error(std::string_view what,
      int32_t status)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - status
    argTypes:
    - CCCryptorStatus
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: Botan::CommonCrypto_Error::ccryptorstatus_to_string
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CommonCrypto_Error::ccryptorstatus_to_string(CCCryptorStatus
      status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::compare
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:59,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:63,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:65,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:67,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:69,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:74,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:78,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:82,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:88,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:90,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - algo_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 94
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 94
    functionName: Botan::commoncrypto_opts_from_algo_name
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    - CommonCrypto_Error
    - std::string_view::compare
    linkageType: ''
    returnType: CommonCryptor_Opts
    signature: CommonCryptor_Opts commoncrypto_opts_from_algo_name(std::string_view
      algo_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:99,1
    - Dst: SCAN_Name::cipher_mode
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:100,1
    - Dst: SCAN_Name::cipher_mode_pad
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:101,1
    - Dst: Botan::commoncrypto_opts_from_algo_name
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:103,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:106,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:115,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 132
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 132
    functionName: Botan::commoncrypto_opts_from_algo
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
    functionUses: 0
    functionsReached:
    - CommonCrypto_Error
    - SCAN_Name::cipher_mode
    - SCAN_Name::cipher_mode_pad
    - Botan::commoncrypto_opts_from_algo_name
    - std::string::empty
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: CommonCryptor_Opts
    signature: CommonCryptor_Opts commoncrypto_opts_from_algo(std::string_view algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:155,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:157,1
    - Dst: data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:157,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - key
    - length
    - ' opts'
    - ' full_key'
    argTypes:
    - uint8_t[]
    - size_t
    - CommonCryptor_Opts
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 162
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 162
    functionName: Botan::commoncrypto_adjust_key_size
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    - resize
    - std::make_pair
    - data
    linkageType: ''
    returnType: void
    signature: "void commoncrypto_adjust_key_size(const uint8_t key[],\n                                  size_t
      length,\n                                  const CommonCryptor_Opts& opts,\n
      \                                 secure_vector<uint8_t>& full_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::CommonCrypto_BlockCipher::provider
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::CommonCrypto_BlockCipher::name
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::CommonCrypto_BlockCipher::block_size
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::CommonCrypto_BlockCipher::key_spec
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::CommonCrypto_BlockCipher::has_keying_material
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:41,1
    - Dst: CCCryptorUpdate
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:45,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: Botan::CommonCrypto_BlockCipher::encrypt_n
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - CommonCrypto_Error
    - CCCryptorUpdate
    linkageType: ''
    returnType: void
    signature: void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:52,1
    - Dst: CCCryptorUpdate
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:56,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: Botan::CommonCrypto_BlockCipher::decrypt_n
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - CommonCrypto_Error
    - CCCryptorUpdate
    linkageType: ''
    returnType: void
    signature: void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - algo_name
    - ' opts'
    argTypes:
    - std::string_view
    - CommonCryptor_Opts
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: Botan::CommonCrypto_BlockCipher::CommonCrypto_BlockCipher
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_BlockCipher::CommonCrypto_BlockCipher(std::string_view
      algo_name, const CommonCryptor_Opts& opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorRelease
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:77,1
    - Dst: CCCryptorRelease
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: CommonCrypto_BlockCipher::~CommonCrypto_BlockCipher()
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached:
    - CCCryptorRelease
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_BlockCipher::~CommonCrypto_BlockCipher()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:88,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:88,1
    - Dst: Botan::CommonCrypto_BlockCipher::clear
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:90,1
    - Dst: commoncrypto_adjust_key_size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:91,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:91,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:91,1
    - Dst: CCCryptorCreate
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:95,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:95,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:95,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:97,1
    - Dst: CCCryptorCreate
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:100,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:100,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:100,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: Botan::CommonCrypto_BlockCipher::key_schedule
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached:
    - Botan::CommonCrypto_BlockCipher::clear
    - std::span<const uint8_t>::begin
    - commoncrypto_adjust_key_size
    - std::span<const uint8_t>::end
    - CCCryptorCreate
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - CommonCrypto_Error
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_BlockCipher::key_schedule(std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CommonCrypto_BlockCipher>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: Botan::CommonCrypto_BlockCipher::new_object
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CommonCrypto_BlockCipher>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> CommonCrypto_BlockCipher::new_object()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorRelease
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:122,1
    - Dst: CCCryptorRelease
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: Botan::CommonCrypto_BlockCipher::clear
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 1
    functionsReached:
    - CCCryptorRelease
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_BlockCipher::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::commoncrypto_opts_from_algo_name
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:135,1
    - Dst: std::make_unique<CommonCrypto_BlockCipher>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: Botan::make_commoncrypto_block_cipher
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached:
    - Botan::commoncrypto_opts_from_algo_name
    - std::make_unique<CommonCrypto_BlockCipher>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> make_commoncrypto_block_cipher(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: Botan::Exception
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto.h
    functionUses: 1
    functionsReached:
    - CommonCrypto_Error
    linkageType: ''
    returnType: CommonCrypto_Error
    signature: CommonCrypto_Error Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::CommonCrypto_Cipher_Mode::provider
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::CommonCrypto_Cipher_Mode::name
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::CommonCrypto_Cipher_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - name
    - direction
    - ' opts'
    argTypes:
    - std::string_view
    - Cipher_Dir
    - CommonCryptor_Opts
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Botan::CommonCrypto_Cipher_Mode::CommonCrypto_Cipher_Mode
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CommonCrypto_Cipher_Mode::CommonCrypto_Cipher_Mode(std::string_view
      name,\n                                                   Cipher_Dir direction,\n
      \                                                  const CommonCryptor_Opts&
      opts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorRelease
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: CommonCrypto_Cipher_Mode::~CommonCrypto_Cipher_Mode()
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - CCCryptorRelease
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Cipher_Mode::~CommonCrypto_Cipher_Mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:71,1
    - Dst: Botan::CommonCrypto_Cipher_Mode::valid_nonce_length
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:73,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:74,1
    - Dst: Botan::CommonCrypto_Cipher_Mode::name
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:74,1
    - Dst: CCCryptorReset
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:77,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: Botan::CommonCrypto_Cipher_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::CommonCrypto_Cipher_Mode::valid_nonce_length
    - CCCryptorReset
    - Invalid_IV_Length
    - CommonCrypto_Error
    - Botan::CommonCrypto_Cipher_Mode::name
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Cipher_Mode::start_msg(const uint8_t nonce[], size_t
      nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:86,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:87,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:93,1
    - Dst: CCCryptorUpdate
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:103,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:103,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:105,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:107,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: Botan::CommonCrypto_Cipher_Mode::process_msg
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - CommonCrypto_Error
    - Internal_Error
    - copy_mem
    - CCCryptorUpdate
    - BOTAN_STATE_CHECK
    - secure_vector::data
    linkageType: ''
    returnType: size_t
    signature: size_t CommonCrypto_Cipher_Mode::process_msg(uint8_t msg[], size_t
      msg_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:113,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:114,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:116,1
    - Dst: size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:116,1
    - Dst: CCCryptorFinal
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:125,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:125,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:127,1
    - Dst: size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:131,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:132,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:134,1
    - Dst: data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:134,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: Botan::CommonCrypto_Cipher_Mode::finish_msg
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - CCCryptorFinal
    - data
    - copy_mem
    - BOTAN_ASSERT
    - size
    - CommonCrypto_Error
    - resize
    - BOTAN_STATE_CHECK
    - secure_vector::data
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Cipher_Mode::finish_msg(secure_vector<uint8_t>& buffer,
      size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: Botan::CommonCrypto_Cipher_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CommonCrypto_Cipher_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::CommonCrypto_Cipher_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CommonCrypto_Cipher_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: Botan::CommonCrypto_Cipher_Mode::minimum_final_size
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CommonCrypto_Cipher_Mode::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Botan::CommonCrypto_Cipher_Mode::default_nonce_length
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CommonCrypto_Cipher_Mode::default_nonce_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - nonce_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: Botan::CommonCrypto_Cipher_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CommonCrypto_Cipher_Mode::valid_nonce_length(size_t nonce_len)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: Botan::CommonCrypto_Cipher_Mode::output_length
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t CommonCrypto_Cipher_Mode::output_length(size_t input_length)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorRelease
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 180
    functionName: Botan::CommonCrypto_Cipher_Mode::clear
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - CCCryptorRelease
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Cipher_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorReset
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:189,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: Botan::CommonCrypto_Cipher_Mode::reset
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - CommonCrypto_Error
    - CCCryptorReset
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Cipher_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: Botan::CommonCrypto_Cipher_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification CommonCrypto_Cipher_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorCreateWithMode
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:202,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:203,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:203,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: Botan::CommonCrypto_Cipher_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - CCCryptorCreateWithMode
    - CommonCrypto_Error
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Cipher_Mode::key_schedule(std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::commoncrypto_opts_from_algo
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:215,1
    - Dst: std::make_unique<CommonCrypto_Cipher_Mode>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - direction
    argTypes:
    - std::string_view
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: Botan::make_commoncrypto_cipher_mode
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - Botan::commoncrypto_opts_from_algo
    - std::make_unique<CommonCrypto_Cipher_Mode>
    linkageType: ''
    returnType: std::unique_ptr<Cipher_Mode>
    signature: std::unique_ptr<Cipher_Mode> make_commoncrypto_cipher_mode(std::string_view
      name, Cipher_Dir direction)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:33,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: Botan::CommonCrypto_HashFunction::clear
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - init
    - CommonCrypto_Error
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::CommonCrypto_HashFunction::provider
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::CommonCrypto_HashFunction::name
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CommonCrypto_HashFunction>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::CommonCrypto_HashFunction::new_object
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CommonCrypto_HashFunction>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CommonCrypto_HashFunction>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:46,1
    - Dst: CommonCrypto_HashFunction::CommonCrypto_HashFunction
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::CommonCrypto_HashFunction::copy_state
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<CommonCrypto_HashFunction>
    - CommonCrypto_HashFunction::CommonCrypto_HashFunction
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> copy_state() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::CommonCrypto_HashFunction::output_length
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::CommonCrypto_HashFunction::hash_block_size
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CommonCrypto_HashFunction::clear
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - digest_config_t
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::CommonCrypto_HashFunction::CommonCrypto_HashFunction
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::CommonCrypto_HashFunction::clear
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_HashFunction(const digest_config_t& info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' info'
    - ' ctx'
    argTypes:
    - digest_config_t
    - CTX
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::CommonCrypto_HashFunction::CommonCrypto_HashFunction
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_HashFunction(const digest_config_t& info, const CTX&
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:62,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:63,1
    - Dst: static_cast<CC_LONG>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:63,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:63,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:64,1
    - Dst: update
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:65,1
    - Dst: auto::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:65,1
    - Dst: static_cast<CC_LONG>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:65,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: Botan::CommonCrypto_HashFunction::add_data
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - update
    - BufferSlicer::remaining
    - BufferSlicer::take
    - BufferSlicer::empty
    - auto::data
    - static_cast<CC_LONG>
    - auto::size
    linkageType: ''
    returnType: void
    signature: void add_data(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:70,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:70,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:71,1
    - Dst: Botan::CommonCrypto_HashFunction::clear
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: Botan::CommonCrypto_HashFunction::final_result
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - CommonCrypto_Error
    - Botan::CommonCrypto_HashFunction::clear
    - std::span<uint8_t>::data
    - final
    linkageType: ''
    returnType: void
    signature: void final_result(std::span<uint8_t> output) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_COMMONCRYPTO_HASH_3
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:95,1
    - Dst: MAKE_COMMONCRYPTO_HASH_2
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:97,1
    - Dst: MAKE_COMMONCRYPTO_HASH_3
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:101,1
    - Dst: MAKE_COMMONCRYPTO_HASH_2
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:103,1
    - Dst: MAKE_COMMONCRYPTO_HASH_2
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 112
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 112
    functionName: Botan::make_commoncrypto_hash
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - MAKE_COMMONCRYPTO_HASH_2
    - MAKE_COMMONCRYPTO_HASH_3
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> make_commoncrypto_hash(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/ct_utils.h:56,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/botan/src/lib/utils/ct_utils.h:57,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/ct_utils.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: Botan::CT::poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 52
    functionsReached:
    - BOTAN_UNUSED
    - std::is_constant_evaluated
    - VALGRIND_MAKE_MEM_UNDEFINED
    linkageType: ''
    returnType: void
    signature: void poison(const T* p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/ct_utils.h:67,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/botan/src/lib/utils/ct_utils.h:68,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/ct_utils.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: Botan::CT::unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 71
    functionsReached:
    - BOTAN_UNUSED
    - std::is_constant_evaluated
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void
    signature: void unpoison(const T* p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: Botan::CT::poison_has_effect
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool poison_has_effect()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Botan::CT::poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 53
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void poison(const T& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Botan::CT::unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 72
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void unpoison(const T& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:121,1
    - Dst: std::span::data
      Src: /src/botan/src/lib/utils/ct_utils.h:121,1
    - Dst: std::span::size
      Src: /src/botan/src/lib/utils/ct_utils.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: Botan::CT::poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 54
    functionsReached:
    - std::span::data
    - std::span::size
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void poison(const R& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:128,1
    - Dst: std::span::data
      Src: /src/botan/src/lib/utils/ct_utils.h:128,1
    - Dst: std::span::size
      Src: /src/botan/src/lib/utils/ct_utils.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: Botan::CT::unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 73
    functionsReached:
    - std::span::data
    - Botan::CT::unpoison
    - std::span::size
    linkageType: ''
    returnType: void
    signature: void unpoison(const R& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _const_time_poison
      Src: /src/botan/src/lib/utils/ct_utils.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::CT::poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 54
    functionsReached:
    - _const_time_poison
    linkageType: ''
    returnType: void
    signature: void poison(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _const_time_unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: Botan::CT::unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 73
    functionsReached:
    - _const_time_unpoison
    linkageType: ''
    returnType: void
    signature: void unpoison(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/utils/ct_utils.h:151,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:152,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::optional<T>
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: Botan::CT::poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 55
    functionsReached:
    - value
    - Botan::CT::poison
    - has_value
    linkageType: ''
    returnType: void
    signature: void poison(const std::optional<T>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/utils/ct_utils.h:159,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:160,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::optional<T>
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: Botan::CT::unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 74
    functionsReached:
    - value
    - Botan::CT::unpoison
    - has_value
    linkageType: ''
    returnType: void
    signature: void unpoison(const std::optional<T>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: Botan::CT::poison_range
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 4
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void poison_range(const R& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: Botan::CT::unpoison_range
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 3
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void unpoison_range(const R& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Botan::CT::poison_all
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 11
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void poison_all(const Ts&... ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: Botan::CT::unpoison_all
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 19
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void unpoison_all(const Ts&... ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scoped_cleanup
      Src: /src/botan/src/lib/utils/ct_utils.h:221,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/utils/ct_utils.h:221,1
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/utils/ct_utils.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: Botan::CT::scoped_poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 26
    functionsReached:
    - scoped_cleanup
    - Botan::CT::unpoison_all
    - Botan::CT::poison_all
    linkageType: ''
    returnType: auto
    signature: auto scoped_poison(const Ts&... xs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:233,1
    - Dst: std::forward<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: Botan::CT::driveby_poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 1
    functionsReached:
    - std::forward<T>
    - Botan::CT::poison
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) driveby_poison(T&& v)\n   requires(std::is_rvalue_reference_v<decltype(v)>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:244,1
    - Dst: std::forward<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: Botan::CT::driveby_unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 8
    functionsReached:
    - Botan::CT::unpoison
    - std::forward<T>
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) driveby_unpoison(T&& v)\n   requires(std::is_rvalue_reference_v<decltype(v)>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/ct_utils.h:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: Botan::CT::value_barrier
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 1
    functionsReached:
    - std::is_constant_evaluated
    linkageType: ''
    returnType: T
    signature: "T value_barrier(T x)\n   requires std::unsigned_integral<T> && (!std::same_as<bool,
      T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ct_is_zero<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:317,1
    - Dst: value_barrier<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:317,1
    - Dst: Botan::CT::Choice::Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:326,1
    - Dst: ct_is_zero<uint32_t>
      Src: /src/botan/src/lib/utils/ct_utils.h:326,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/ct_utils.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: Botan::CT::Choice::from_int
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 5
    functionsReached:
    - Botan::CT::Choice::Choice
    - ct_is_zero<T>
    - ct_is_zero<uint32_t>
    - value_barrier<T>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Choice
    signature: Choice from_int(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:329,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/ct_utils.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: Botan::CT::Choice::yes
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 2
    functionsReached:
    - Botan::CT::Choice::Choice
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Choice
    signature: Choice yes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: Botan::CT::Choice::no
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 5
    functionsReached:
    - Botan::CT::Choice::Choice
    linkageType: ''
    returnType: Choice
    signature: Choice no()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:333,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: operator!() const
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Choice
    - value
    linkageType: ''
    returnType: Choice
    signature: Choice operator!() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:335,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:335,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: operator&&(const Choice& other) const
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Choice
    - value
    linkageType: ''
    returnType: Choice
    signature: Choice operator&&(const Choice& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:337,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:337,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: operator||(const Choice& other) const
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Choice
    - value
    linkageType: ''
    returnType: Choice
    signature: Choice operator||(const Choice& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:339,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:339,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: operator!=(const Choice& other) const
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Choice
    - value
    linkageType: ''
    returnType: Choice
    signature: Choice operator!=(const Choice& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: operator==(const Choice& other) const
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Choice
    signature: Choice operator==(const Choice& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: Botan::CT::Choice::as_bool
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool as_bool() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier
      Src: /src/botan/src/lib/utils/ct_utils.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: Botan::CT::Choice::value
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - value_barrier
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: Botan::CT::Choice::Choice
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Choice(const Choice& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: Botan::CT::Choice::Choice
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Choice(Choice&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: '& operator=(const Choice& other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Choice
    signature: Choice & operator=(const Choice& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: '& operator=(Choice&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Choice
    signature: Choice & operator=(Choice&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: ~Choice()
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Choice()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: Botan::CT::Choice::Choice
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Choice(uint32_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 389
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 389
    functionName: Botan::CT::Mask::Mask
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mask(const Mask<T>& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: Botan::CT::Mask::Mask
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mask(Mask<T>&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: '& operator=(const Mask<T>& other)'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> & operator=(const Mask<T>& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 392
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 392
    functionName: '& operator=(Mask<T>&& other)'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> & operator=(Mask<T>&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: ~Mask()
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Mask()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:399,1
    - Dst: Mask<U>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - o
    argTypes:
    - Mask<U>
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: Botan::CT::Mask::Mask
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<U>::value
    - static_cast<T>
    linkageType: ''
    returnType: void
    signature: void Mask(Mask<U> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:406,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: Botan::CT::Mask::set
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::Mask
    - static_cast<T>
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> set()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: Botan::CT::Mask::cleared
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 5
    functionsReached:
    - Botan::CT::Mask::Mask
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> cleared()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:416,1
    - Dst: value_barrier<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 416
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 416
    functionName: Botan::CT::Mask::expand
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - value_barrier<T>
    - cryptofuzz_secp256k1_scalar_is_zero
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> expand(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:425,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:425,1
    - Dst: Choice::value
      Src: /src/botan/src/lib/utils/ct_utils.h:425,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:427,1
    - Dst: Choice::value
      Src: /src/botan/src/lib/utils/ct_utils.h:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: Botan::CT::Mask::from_choice
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 8
    functionsReached:
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::CT::Mask::Mask
    - Choice::value
    - static_cast<T>
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> from_choice(Choice c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:434,1
    - Dst: Botan::expand_top_bit<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:434,1
    - Dst: value_barrier<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: Botan::CT::Mask::expand_top_bit
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 4
    functionsReached:
    - value_barrier<T>
    - Botan::CT::Mask::Mask
    - Botan::expand_top_bit<T>
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> expand_top_bit(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/ct_utils.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - bit
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: Botan::CT::Mask::expand_bit
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 2
    functionsReached:
    - Botan::CT::Mask::expand_top_bit
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> expand_bit(T v, size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:450,1
    - Dst: Mask<U>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mask<U>
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: Botan::CT::Mask::expand
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<U>::value
    - cryptofuzz_secp256k1_scalar_is_zero
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> expand(Mask<U> m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:456,1
    - Dst: ct_is_zero<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:456,1
    - Dst: value_barrier<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: Botan::CT::Mask::is_zero
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - value_barrier<T>
    - Botan::CT::Mask::Mask
    - ct_is_zero<T>
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_zero(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier
      Src: /src/botan/src/lib/utils/ct_utils.h:462,1
    - Dst: value_barrier
      Src: /src/botan/src/lib/utils/ct_utils.h:462,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: Botan::CT::Mask::is_equal
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_scalar_is_zero
    - value_barrier
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_equal(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/ct_utils.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: Botan::CT::Mask::is_lt
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::expand_top_bit
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_lt(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/utils/ct_utils.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: Botan::CT::Mask::is_gt
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 6
    functionsReached:
    - Botan::bigint_ct_is_lt
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_gt(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/utils/ct_utils.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 482
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 482
    functionName: Botan::CT::Mask::is_lte
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 5
    functionsReached:
    - Botan::CT::Mask::is_gt
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_lte(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/utils/ct_utils.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: Botan::CT::Mask::is_gte
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 9
    functionsReached:
    - Botan::bigint_ct_is_lt
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_gte(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier
      Src: /src/botan/src/lib/utils/ct_utils.h:494,1
    - Dst: value_barrier
      Src: /src/botan/src/lib/utils/ct_utils.h:494,1
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/ct_utils.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - l
    - u
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: Botan::CT::Mask::is_within_range
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 4
    functionsReached:
    - value_barrier
    - Botan::CT::Mask::expand_top_bit
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_within_range(T v, T l, T u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:503,1
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/ct_utils.h:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - v
    - accepted
    argTypes:
    - T
    - std::initializer_list<T>
    constantsTouched: []
    func_position:
      end: 508
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 508
    functionName: Botan::CT::Mask::is_any_of
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 7
    functionsReached:
    - value_barrier<T>
    - Botan::CT::Mask::expand_top_bit
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_any_of(T v, std::initializer_list<T> accepted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - o
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: '& operator&=(Mask<T> o)'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>::value
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> & operator&=(Mask<T> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - o
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: '& operator^=(Mask<T> o)'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>::value
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> & operator^=(Mask<T> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - o
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: '& operator|=(Mask<T> o)'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>::value
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> & operator|=(Mask<T> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:537,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:537,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - Mask<T>
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 537
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 537
    functionName: operator&(Mask<T> x, Mask<T> y)
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>
    - Mask<T>::value
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> operator&(Mask<T> x, Mask<T> y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:542,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:542,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - Mask<T>
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 542
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 542
    functionName: operator^(Mask<T> x, Mask<T> y)
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>
    - Mask<T>::value
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> operator^(Mask<T> x, Mask<T> y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:547,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:547,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - Mask<T>
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 547
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 547
    functionName: operator|(Mask<T> x, Mask<T> y)
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>
    - Mask<T>::value
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> operator|(Mask<T> x, Mask<T> y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:552,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 552
    functionName: operator~() const
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>
    - value
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> operator~() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::value
      Src: /src/botan/src/lib/utils/ct_utils.h:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: Botan::CT::Mask::if_set_return
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::value
    linkageType: ''
    returnType: T
    signature: T if_set_return(T x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::value
      Src: /src/botan/src/lib/utils/ct_utils.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 562
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 562
    functionName: Botan::CT::Mask::if_not_set_return
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::value
    linkageType: ''
    returnType: T
    signature: T if_not_set_return(T x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: choose
      Src: /src/botan/src/lib/utils/ct_utils.h:567,1
    - Dst: Botan::CT::Mask::value
      Src: /src/botan/src/lib/utils/ct_utils.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: Botan::CT::Mask::select
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - choose
    - Botan::CT::Mask::value
    linkageType: ''
    returnType: T
    signature: T select(T x, T y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::select
      Src: /src/botan/src/lib/utils/ct_utils.h:570,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: Botan::CT::Mask::select_and_unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - Botan::CT::Mask::select
    linkageType: ''
    returnType: T
    signature: T select_and_unpoison(T x, T y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:578,1
    - Dst: Botan::CT::Mask::select
      Src: /src/botan/src/lib/utils/ct_utils.h:578,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:578,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - Mask<T>
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 578
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 578
    functionName: Botan::CT::Mask::select_mask
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::Mask
    - Botan::CT::Mask::select
    - Mask<T>::value
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> select_mask(Mask<T> x, Mask<T> y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::value
      Src: /src/botan/src/lib/utils/ct_utils.h:585,1
    - Dst: choose
      Src: /src/botan/src/lib/utils/ct_utils.h:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - output
    - x
    - y
    - len
    argTypes:
    - T[]
    - T[]
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 589
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 589
    functionName: Botan::CT::Mask::select_n
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::value
    - choose
    linkageType: ''
    returnType: void
    signature: void select_n(T output[], const T x[], const T y[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::if_not_set_return
      Src: /src/botan/src/lib/utils/ct_utils.h:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - elems
    argTypes:
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: Botan::CT::Mask::if_set_zero_out
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::if_not_set_return
    linkageType: ''
    returnType: void
    signature: void if_set_zero_out(T buf[], size_t elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:607,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ct_utils.h:608,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ct_utils.h:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - U
    - U
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: Botan::CT::Mask::conditional_swap
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::Mask
    - auto::select
    linkageType: ''
    returnType: void
    signature: "void conditional_swap(U& x, U& y) const\n         requires(sizeof(U)
      <= sizeof(T))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::value
      Src: /src/botan/src/lib/utils/ct_utils.h:618,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 621
    functionName: Botan::CT::Mask::unpoisoned_value
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::value
    - Botan::CT::unpoison
    linkageType: ''
    returnType: T
    signature: T unpoisoned_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::unpoisoned_value
      Src: /src/botan/src/lib/utils/ct_utils.h:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 633
    functionName: Botan::CT::Mask::as_bool
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::unpoisoned_value
    linkageType: ''
    returnType: bool
    signature: bool as_bool() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/lib/utils/ct_utils.h:638,1
    - Dst: Botan::CT::Mask::unpoisoned_value
      Src: /src/botan/src/lib/utils/ct_utils.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 638
    functionName: Botan::CT::Mask::as_choice
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Choice::from_int
    - Botan::CT::Mask::unpoisoned_value
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice as_choice() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 643
    functionName: Botan::CT::Mask::value
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 5
    functionsReached:
    - value_barrier<T>
    linkageType: ''
    returnType: T
    signature: T value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 645
    functionName: Botan::CT::Mask::_const_time_poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 647
    functionName: Botan::CT::Mask::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 650
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 650
    functionName: Botan::CT::Mask::Mask
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mask(T m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/ct_utils.h:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - v
    - valid
    argTypes:
    - T
    - Choice
    constantsTouched: []
    func_position:
      end: 666
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 666
    functionName: Botan::CT::Option::Option
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Option(T v, Choice valid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/ct_utils.h:669,1
    - Dst: Botan::CT::Choice::yes
      Src: /src/botan/src/lib/utils/ct_utils.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: Botan::CT::Option::Option
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CT::Choice::yes
    linkageType: ''
    returnType: void
    signature: void Option(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/ct_utils.h:674,1
    - Dst: Botan::CT::Choice::no
      Src: /src/botan/src/lib/utils/ct_utils.h:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: Botan::CT::Option::Option
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Choice::no
    - T
    linkageType: ''
    returnType: void
    signature: "void Option()\n         requires std::default_initializable<T>"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 677
    functionName: Botan::CT::Option::has_value
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Choice
    signature: Choice has_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/utils/ct_utils.h:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: Botan::CT::Option::transform
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: auto
    signature: auto transform(F f) const -> Option<std::remove_cvref_t<std::invoke_result_t<F,
      const T&>>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/ct_utils.h:693,1
    - Dst: as_bool
      Src: /src/botan/src/lib/utils/ct_utils.h:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - as_bool
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: T
    signature: T & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::conditional_assign
      Src: /src/botan/src/lib/utils/ct_utils.h:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 706
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 706
    functionName: Botan::CT::Option::value_or
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - T::conditional_assign
    linkageType: ''
    returnType: T
    signature: "T value_or(T other) const\n         requires ct_conditional_assignable<T>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/ct_utils.h:715,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ct_utils.h:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 717
      start: 712
    functionDepth: 3
    functionLinenumber: 712
    functionLinenumberEnd: 717
    functionName: Botan::CT::Option::value_or
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::from_choice
    - auto::select
    linkageType: ''
    returnType: T
    signature: "T value_or(T other) const\n         requires std::unsigned_integral<T>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_bool
      Src: /src/botan/src/lib/utils/ct_utils.h:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 729
    functionName: Botan::CT::Option::as_optional_vartime
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - as_bool
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> as_optional_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CT::Option<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - also
    argTypes:
    - CT::Choice
    constantsTouched: []
    func_position:
      end: 732
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 732
    functionName: operator&&(CT::Choice also)
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - CT::Option<T>
    linkageType: ''
    returnType: CT::Option<T>
    signature: CT::Option<T> operator&&(CT::Choice also)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>::select_n
      Src: /src/botan/src/lib/utils/ct_utils.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - mask
    - dest
    - if_set
    - if_unset
    - elems
    argTypes:
    - Mask<T>
    - T*
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 748
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 748
    functionName: Botan::CT::conditional_copy_mem
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 5
    functionsReached:
    - Mask<T>::select_n
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> conditional_copy_mem(Mask<T> mask, T* dest, const T* if_set,
      const T* if_unset, size_t elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/ct_utils.h:752,1
    - Dst: Botan::CT::conditional_copy_mem
      Src: /src/botan/src/lib/utils/ct_utils.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cnd
    - dest
    - if_set
    - if_unset
    - elems
    argTypes:
    - T
    - T*
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 754
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 754
    functionName: Botan::CT::conditional_copy_mem
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 6
    functionsReached:
    - Botan::sha512_msg_expand
    - Botan::CT::conditional_copy_mem
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> conditional_copy_mem(T cnd, T* dest, const T* if_set, const
      T* if_unset, size_t elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/ct_utils.h:763,1
    - Dst: auto::select_n
      Src: /src/botan/src/lib/utils/ct_utils.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cnd
    - dest
    - src
    - elems
    argTypes:
    - T
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 766
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 766
    functionName: Botan::CT::conditional_assign_mem
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 6
    functionsReached:
    - Botan::sha512_msg_expand
    - auto::select_n
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> conditional_assign_mem(T cnd, T* dest, const T* src, size_t
      elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/ct_utils.h:775,1
    - Dst: auto::select_n
      Src: /src/botan/src/lib/utils/ct_utils.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cnd
    - dest
    - src
    - elems
    argTypes:
    - Choice
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 778
    functionName: Botan::CT::conditional_assign_mem
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 6
    functionsReached:
    - Botan::CT::Mask::from_choice
    - auto::select_n
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> conditional_assign_mem(Choice cnd, T* dest, const T* src, size_t
      elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/ct_utils.h:782,1
    - Dst: auto::conditional_swap
      Src: /src/botan/src/lib/utils/ct_utils.h:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cnd
    - ' x'
    - ' y'
    argTypes:
    - bool
    - T
    - T
    constantsTouched: []
    func_position:
      end: 784
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: Botan::CT::conditional_swap
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 2
    functionsReached:
    - Botan::sha512_msg_expand
    - auto::conditional_swap
    linkageType: ''
    returnType: void
    signature: void conditional_swap(bool cnd, T& x, T& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::conditional_swap
      Src: /src/botan/src/lib/utils/ct_utils.h:791,1
    - Dst: reinterpret_cast<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:793,1
    - Dst: reinterpret_cast<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cnd
    - ' x'
    - ' y'
    argTypes:
    - bool
    - T
    - T
    constantsTouched: []
    func_position:
      end: 795
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 795
    functionName: Botan::CT::conditional_swap_ptr
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 2
    functionsReached:
    - Botan::CT::conditional_swap
    - reinterpret_cast<T>
    linkageType: ''
    returnType: void
    signature: void conditional_swap_ptr(bool cnd, T& x, T& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - elem
    - len
    argTypes:
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 804
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 804
    functionName: Botan::CT::all_zeros
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 14
    functionsReached:
    - cryptofuzz_secp256k1_scalar_is_zero
    linkageType: ''
    returnType: CT::Mask<T>
    signature: CT::Mask<T> all_zeros(const T elem[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/ct_utils.h:812,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:819,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - T[]
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 829
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 829
    functionName: Botan::CT::is_equal
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 37
    functionsReached:
    - std::is_constant_evaluated
    - cryptofuzz_secp256k1_scalar_is_zero
    linkageType: ''
    returnType: CT::Mask<T>
    signature: CT::Mask<T> is_equal(const T x[], const T y[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/utils/ct_utils.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - T[]
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: Botan::CT::is_not_equal
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 1
    functionsReached:
    - Botan::CT::is_equal
    linkageType: ''
    returnType: CT::Mask<T>
    signature: CT::Mask<T> is_not_equal(const T x[], const T y[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/assert.cpp:23,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/assert.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - message
    - func
    - file
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::throw_invalid_argument
    functionSourceFile: /src/botan/src/lib/utils/assert.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void throw_invalid_argument(const char* message, const char* func,
      const char* file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/assert.cpp:27,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/assert.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - expr
    - func
    - file
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan::throw_invalid_state
    functionSourceFile: /src/botan/src/lib/utils/assert.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - Botan::fmt
    linkageType: ''
    returnType: void
    signature: void throw_invalid_state(const char* expr, const char* func, const
      char* file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/assert.cpp:48,1
    - Dst: std::abort
      Src: /src/botan/src/lib/utils/assert.cpp:49,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/utils/assert.cpp:51,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/assert.cpp:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - expr_str
    - assertion_made
    - func
    - file
    - line
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: Botan::assertion_failure
    functionSourceFile: /src/botan/src/lib/utils/assert.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    - std::abort
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void assertion_failure(const char* expr_str, const char* assertion_made,
      const char* func, const char* file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/assert.cpp:56,1
    - Dst: std::abort
      Src: /src/botan/src/lib/utils/assert.cpp:60,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/utils/assert.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: Botan::assert_unreachable
    functionSourceFile: /src/botan/src/lib/utils/assert.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    - std::abort
    - Botan::fmt
    linkageType: ''
    returnType: void
    signature: void assert_unreachable(const char* file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_not_of
      Src: /src/botan/src/lib/utils/read_cfg.cpp:18,1
    - Dst: std::string_view::find_last_not_of
      Src: /src/botan/src/lib/utils/read_cfg.cpp:19,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/read_cfg.cpp:26,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/read_cfg.cpp:26,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/read_cfg.cpp:28,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/read_cfg.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 30
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 30
    functionName: Botan::clean_ws
    functionSourceFile: /src/botan/src/lib/utils/read_cfg.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - std::string_view::find_last_not_of
    - std::string_view::find_first_not_of
    - std::string_view::substr
    linkageType: ''
    returnType: std::string
    signature: std::string clean_ws(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/lib/utils/read_cfg.cpp:38,1
    - Dst: std::getline
      Src: /src/botan/src/lib/utils/read_cfg.cpp:41,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/read_cfg.cpp:45,1
    - Dst: Botan::clean_ws
      Src: /src/botan/src/lib/utils/read_cfg.cpp:49,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/read_cfg.cpp:49,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/read_cfg.cpp:49,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/read_cfg.cpp:51,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/read_cfg.cpp:55,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/read_cfg.cpp:57,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/read_cfg.cpp:58,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/utils/read_cfg.cpp:58,1
    - Dst: Botan::clean_ws
      Src: /src/botan/src/lib/utils/read_cfg.cpp:61,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/read_cfg.cpp:61,1
    - Dst: Botan::clean_ws
      Src: /src/botan/src/lib/utils/read_cfg.cpp:62,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/read_cfg.cpp:62,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - std::istream
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: Botan::read_cfg
    functionSourceFile: /src/botan/src/lib/utils/read_cfg.cpp
    functionUses: 0
    functionsReached:
    - std::getline
    - Botan::clean_ws
    - Botan::Decoding_Error
    - good
    - Botan::to_string
    - std::string::find
    - std::string::size
    - std::string::empty
    - std::string::substr
    linkageType: ''
    returnType: std::map<std::string, std::string>
    signature: std::map<std::string, std::string> read_cfg(std::istream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/scan_name.cpp:23,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/scan_name.cpp:38,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ' name'
    - start
    argTypes:
    - std::vector<std::pair<size_t, std::string>>
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 52
    functionName: Botan::make_arg
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - Botan::size
    linkageType: ''
    returnType: std::string
    signature: std::string make_arg(const std::vector<std::pair<size_t, std::string>>&
      name, size_t start)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/scan_name.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::SCAN_Name::SCAN_Name
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void SCAN_Name::SCAN_Name(const char* algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/scan_name.cpp:59,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/scan_name.cpp:60,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/utils/scan_name.cpp:65,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/utils/scan_name.cpp:75,1
    - Dst: std::pair::second::push_back
      Src: /src/botan/src/lib/utils/scan_name.cpp:81,1
    - Dst: std::pair::second::empty
      Src: /src/botan/src/lib/utils/scan_name.cpp:83,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/scan_name.cpp:84,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/utils/scan_name.cpp:86,1
    - Dst: std::pair::second::push_back
      Src: /src/botan/src/lib/utils/scan_name.cpp:89,1
    - Dst: std::pair::second::empty
      Src: /src/botan/src/lib/utils/scan_name.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/scan_name.cpp:94,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/utils/scan_name.cpp:98,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/utils/scan_name.cpp:101,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/utils/scan_name.cpp:102,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/utils/scan_name.cpp:109,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/scan_name.cpp:111,1
    - Dst: make_arg
      Src: /src/botan/src/lib/utils/scan_name.cpp:111,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/scan_name.cpp:114,1
    - Dst: make_arg
      Src: /src/botan/src/lib/utils/scan_name.cpp:114,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 117
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 117
    functionName: Botan::SCAN_Name::SCAN_Name
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::vector::size
    - std::pair::second::empty
    - std::string_view::empty
    - std::make_pair
    - Invalid_Argument
    - push_back
    - Decoding_Error
    - make_arg
    - std::vector::push_back
    - std::pair::second::push_back
    linkageType: ''
    returnType: void
    signature: void SCAN_Name::SCAN_Name(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SCAN_Name::arg_count
      Src: /src/botan/src/lib/utils/scan_name.cpp:120,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/scan_name.cpp:121,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/utils/scan_name.cpp:121,1
    - Dst: to_string
      Src: /src/botan/src/lib/utils/scan_name.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: Botan::SCAN_Name::arg
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - to_string
    - Botan::SCAN_Name::arg_count
    - Invalid_Argument
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string SCAN_Name::arg(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SCAN_Name::arg_count
      Src: /src/botan/src/lib/utils/scan_name.cpp:127,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/scan_name.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - i
    - def_value
    argTypes:
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: Botan::SCAN_Name::arg
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - Botan::SCAN_Name::arg_count
    linkageType: ''
    returnType: std::string
    signature: std::string SCAN_Name::arg(size_t i, std::string_view def_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SCAN_Name::arg_count
      Src: /src/botan/src/lib/utils/scan_name.cpp:134,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/utils/scan_name.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - i
    - def_value
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: Botan::SCAN_Name::arg_as_integer
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - to_u32bit
    - Botan::SCAN_Name::arg_count
    linkageType: ''
    returnType: size_t
    signature: size_t SCAN_Name::arg_as_integer(size_t i, size_t def_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_u32bit
      Src: /src/botan/src/lib/utils/scan_name.cpp:141,1
    - Dst: Botan::SCAN_Name::arg
      Src: /src/botan/src/lib/utils/scan_name.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Botan::SCAN_Name::arg_as_integer
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - to_u32bit
    - Botan::SCAN_Name::arg
    linkageType: ''
    returnType: size_t
    signature: size_t SCAN_Name::arg_as_integer(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bit_ops.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: Botan::expand_top_bit
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE expand_top_bit(T a)\n   requires(std::is_integral_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::expand_top_bit
      Src: /src/botan/src/lib/utils/bit_ops.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: Botan::ct_is_zero
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 0
    functionsReached:
    - Botan::expand_top_bit
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE ct_is_zero(T x)\n   requires(std::is_integral_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bit_ops.h:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: Botan::is_power_of_2
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 3
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE is_power_of_2(T arg)\n   requires(std::is_unsigned_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: Botan::high_bit
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE high_bit(T n)\n   requires(std::is_unsigned_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: Botan::significant_bytes
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE significant_bytes(T n)\n   requires(std::is_integral_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bit_ops.h:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: Botan::ctz
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE ctz(T n)\n   requires(std::is_integral_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bit_ops.h:128,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bit_ops.h:129,1
    - Dst: Botan::high_bit
      Src: /src/botan/src/lib/utils/bit_ops.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: Botan::floor_log2
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 1
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::high_bit
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE floor_log2(T n)\n   requires(std::is_unsigned_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: Botan::ceil_log2
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t ceil_log2(T x)\n   requires(std::is_integral_v<T> && sizeof(T)
      < 32)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::ceil_division
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE ceil_division(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: Botan::ceil_tobytes
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE ceil_tobytes(T bits)\n   requires(std::is_integral_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/bit_ops.h:176,1
    - Dst: __builtin_ctz
      Src: /src/botan/src/lib/utils/bit_ops.h:180,1
    - Dst: Botan::ctz
      Src: /src/botan/src/lib/utils/bit_ops.h:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: Botan::var_ctz32
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 1
    functionsReached:
    - Botan::ctz
    - __builtin_ctz
    - BOTAN_COMPILER_HAS_BUILTIN
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE var_ctz32(uint32_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - mask
    - shift
    argTypes:
    - T
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: Botan::bit_permute_step
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE bit_permute_step(T x, T mask, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - ' y'
    - mask
    - shift
    argTypes:
    - T
    - T
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: Botan::swap_bits
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE swap_bits(T& x, T& y, T mask, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: Botan::choose
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE choose(T mask, T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/utils/bit_ops.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: Botan::majority
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 8
    functionsReached:
    - Botan::choose
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE majority(T a, T b, T c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/bit_ops.h:238,1
    - Dst: extend
      Src: /src/botan/src/lib/utils/bit_ops.h:245,1
    - Dst: extend
      Src: /src/botan/src/lib/utils/bit_ops.h:245,1
    - Dst: extend
      Src: /src/botan/src/lib/utils/bit_ops.h:246,1
    - Dst: extend
      Src: /src/botan/src/lib/utils/bit_ops.h:246,1
    - Dst: extend
      Src: /src/botan/src/lib/utils/bit_ops.h:247,1
    - Dst: extend
      Src: /src/botan/src/lib/utils/bit_ops.h:247,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/lib/utils/bit_ops.h:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: Botan::ct_reverse_bits
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 1
    functionsReached:
    - T
    - extend
    - Botan::reverse_bytes
    linkageType: ''
    returnType: T
    signature: T ct_reverse_bits(T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ct_popcount
      Src: /src/botan/src/lib/utils/bit_ops.h:283,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/bit_ops.h:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 285
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 285
    functionName: Botan::ct_popcount
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 2
    functionsReached:
    - Botan::ct_popcount
    - static_cast<uint32_t>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE ct_popcount(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/stl_util.h:31,1
    - Dst: std::string_view::cbegin
      Src: /src/botan/src/lib/utils/stl_util.h:31,1
    - Dst: std::string_view::cend
      Src: /src/botan/src/lib/utils/stl_util.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::to_byte_vector
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - std::string_view::cend
    - T
    - std::string_view::cbegin
    linkageType: ''
    returnType: T
    signature: T to_byte_vector(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/stl_util.h:35,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/utils/stl_util.h:35,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/utils/stl_util.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::to_string
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 45
    functionsReached:
    - std::string
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reducer
      Src: /src/botan/src/lib/utils/stl_util.h:52,1
    - Dst: std::move
      Src: /src/botan/src/lib/utils/stl_util.h:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' keys'
    - acc
    - reducer
    argTypes:
    - std::vector<KeyT>
    - RetT
    - ReducerT
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: Botan::reduce
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 2
    functionsReached:
    - std::move
    - reducer
    linkageType: ''
    returnType: RetT
    signature: "RetT reduce(const std::vector<KeyT>& keys, RetT acc, ReducerT reducer)\n
      \  requires std::is_convertible_v<ReducerT, std::function<RetT(RetT, const KeyT&)>>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/stl_util.h:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' vec'
    - ' val'
    argTypes:
    - std::vector<T>
    - OT
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: Botan::value_exists
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 9
    functionsReached:
    - Botan::size
    linkageType: ''
    returnType: bool
    signature: bool value_exists(const std::vector<T>& vec, const OT& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::begin
      Src: /src/botan/src/lib/utils/stl_util.h:72,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/utils/stl_util.h:73,1
    - Dst: pred
      Src: /src/botan/src/lib/utils/stl_util.h:74,1
    - Dst: erase
      Src: /src/botan/src/lib/utils/stl_util.h:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pred
    - ' assoc'
    argTypes:
    - Pred
    - T
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: Botan::map_remove_if
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - Botan::end
    - Botan::begin
    - erase
    - pred
    linkageType: ''
    returnType: void
    signature: void map_remove_if(Pred pred, T& assoc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan::BufferSlicer::BufferSlicer
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferSlicer(std::span<const uint8_t> buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/lib/utils/stl_util.h:91,1
    - Dst: ContainerT
      Src: /src/botan/src/lib/utils/stl_util.h:92,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/utils/stl_util.h:92,1
    - Dst: auto::end
      Src: /src/botan/src/lib/utils/stl_util.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: Botan::BufferSlicer::copy
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - auto::begin
    - auto::end
    - ContainerT
    - Botan::BufferSlicer::take
    linkageType: ''
    returnType: auto
    signature: auto copy(const size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::copy
      Src: /src/botan/src/lib/utils/stl_util.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::BufferSlicer::copy_as_vector
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - Botan::BufferSlicer::copy
    linkageType: ''
    returnType: auto
    signature: auto copy_as_vector(const size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::copy
      Src: /src/botan/src/lib/utils/stl_util.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::BufferSlicer::copy_as_secure_vector
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 2
    functionsReached:
    - Botan::BufferSlicer::copy
    linkageType: ''
    returnType: auto
    signature: auto copy_as_secure_vector(const size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/stl_util.h:100,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/lib/utils/stl_util.h:100,1
    - Dst: first
      Src: /src/botan/src/lib/utils/stl_util.h:101,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/stl_util.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: Botan::BufferSlicer::take
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 4
    functionsReached:
    - Botan::BufferSlicer::remaining
    - subspan
    - BOTAN_STATE_CHECK
    - first
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> take(const size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/stl_util.h:108,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/lib/utils/stl_util.h:108,1
    - Dst: first
      Src: /src/botan/src/lib/utils/stl_util.h:109,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/stl_util.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: Botan::BufferSlicer::take
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 4
    functionsReached:
    - Botan::BufferSlicer::remaining
    - subspan
    - BOTAN_STATE_CHECK
    - first
    linkageType: ''
    returnType: std::span<const uint8_t, count>
    signature: std::span<const uint8_t, count> take()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StrongSpan<const T>
      Src: /src/botan/src/lib/utils/stl_util.h:116,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/lib/utils/stl_util.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: Botan::BufferSlicer::take
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 5
    functionsReached:
    - Botan::BufferSlicer::take
    - StrongSpan<const T>
    linkageType: ''
    returnType: StrongSpan<const T>
    signature: StrongSpan<const T> take(const size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/lib/utils/stl_util.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::BufferSlicer::take_byte
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - Botan::BufferSlicer::take
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t take_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/lib/utils/stl_util.h:122,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/utils/stl_util.h:122,1
    - Dst: Botan::BufferSlicer::copy
      Src: /src/botan/src/lib/utils/stl_util.h:123,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/utils/stl_util.h:123,1
    - Dst: auto::end
      Src: /src/botan/src/lib/utils/stl_util.h:123,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/lib/utils/stl_util.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sink
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: Botan::BufferSlicer::copy_into
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - auto::begin
    - std::span<uint8_t>::begin
    - std::span<uint8_t>::size
    - Botan::BufferSlicer::copy
    - auto::end
    - Botan::BufferSlicer::take
    linkageType: ''
    returnType: void
    signature: void copy_into(std::span<uint8_t> sink)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/lib/utils/stl_util.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: Botan::BufferSlicer::skip
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - Botan::BufferSlicer::take
    linkageType: ''
    returnType: void
    signature: void skip(const size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/stl_util.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: Botan::BufferSlicer::remaining
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 5
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t remaining() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/lib/utils/stl_util.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::BufferSlicer::empty
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 5
    functionsReached:
    - Botan::BufferSlicer::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan::BufferStuffer::BufferStuffer
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferStuffer(std::span<uint8_t> buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/stl_util.h:152,1
    - Dst: size
      Src: /src/botan/src/lib/utils/stl_util.h:152,1
    - Dst: first
      Src: /src/botan/src/lib/utils/stl_util.h:154,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/stl_util.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: Botan::BufferStuffer::next
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - subspan
    - BOTAN_STATE_CHECK
    - size
    - first
    linkageType: ''
    returnType: std::span<uint8_t>
    signature: std::span<uint8_t> next(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/stl_util.h:161,1
    - Dst: size
      Src: /src/botan/src/lib/utils/stl_util.h:161,1
    - Dst: first
      Src: /src/botan/src/lib/utils/stl_util.h:163,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/stl_util.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Botan::BufferStuffer::next
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - subspan
    - BOTAN_STATE_CHECK
    - size
    - first
    linkageType: ''
    returnType: std::span<uint8_t, bytes>
    signature: std::span<uint8_t, bytes> next()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StrongSpan<StrongT>
      Src: /src/botan/src/lib/utils/stl_util.h:170,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/lib/utils/stl_util.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: Botan::BufferStuffer::next
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 2
    functionsReached:
    - StrongSpan<StrongT>
    - Botan::BufferStuffer::next
    linkageType: ''
    returnType: StrongSpan<StrongT>
    signature: StrongSpan<StrongT> next(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/botan/src/lib/utils/stl_util.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: '& next_byte()'
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t & next_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/lib/utils/stl_util.h:179,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/stl_util.h:179,1
    - Dst: copy
      Src: /src/botan/src/lib/utils/stl_util.h:180,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/utils/stl_util.h:180,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/utils/stl_util.h:180,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/utils/stl_util.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: Botan::BufferStuffer::append
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - auto::begin
    - std::span<const uint8_t>::begin
    - copy
    - std::span<const uint8_t>::end
    - Botan::BufferStuffer::next
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void append(std::span<const uint8_t> buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/lib/utils/stl_util.h:184,1
    - Dst: std::fill
      Src: /src/botan/src/lib/utils/stl_util.h:185,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/utils/stl_util.h:185,1
    - Dst: auto::end
      Src: /src/botan/src/lib/utils/stl_util.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: Botan::BufferStuffer::append
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - Botan::BufferStuffer::next
    - auto::end
    - std::fill
    - auto::begin
    linkageType: ''
    returnType: void
    signature: void append(uint8_t b, size_t repeat = 1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/utils/stl_util.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Botan::BufferStuffer::full
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 2
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool full() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/stl_util.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan::BufferStuffer::remaining_capacity
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t remaining_capacity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OutR::reserve
      Src: /src/botan/src/lib/utils/stl_util.h:217,1
    - Dst: copy
      Src: /src/botan/src/lib/utils/stl_util.h:221,1
    - Dst: begin
      Src: /src/botan/src/lib/utils/stl_util.h:222,1
    - Dst: cryptofuzz::util::Append
      Src: /src/botan/src/lib/utils/stl_util.h:222,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/utils/stl_util.h:222,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/stl_util.h:222,1
    - Dst: OutR::size
      Src: /src/botan/src/lib/utils/stl_util.h:229,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/stl_util.h:233,1
    - Dst: OutR::size
      Src: /src/botan/src/lib/utils/stl_util.h:233,1
    - Dst: begin
      Src: /src/botan/src/lib/utils/stl_util.h:238,1
    - Dst: copy
      Src: /src/botan/src/lib/utils/stl_util.h:239,1
    - Dst: begin
      Src: /src/botan/src/lib/utils/stl_util.h:239,1
    - Dst: cryptofuzz::util::Append
      Src: /src/botan/src/lib/utils/stl_util.h:239,1
    - Dst: std::advance
      Src: /src/botan/src/lib/utils/stl_util.h:240,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/botan/src/lib/utils/stl_util.h:240,1
    - Dst: fill_fn
      Src: /src/botan/src/lib/utils/stl_util.h:246,1
    - Dst: std::forward<Rs>
      Src: /src/botan/src/lib/utils/stl_util.h:246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 249
    functionName: Botan::detail::concatenate
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - OutR::size
    - copy
    - std::back_inserter
    - cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
    - unwrap_strong_type
    - fill_fn
    - std::forward<Rs>
    - BOTAN_ARG_CHECK
    - cryptofuzz::util::Append
    - OutR::reserve
    - begin
    - std::advance
    linkageType: ''
    returnType: OutR
    signature: "OutR concatenate(Rs&&... ranges)\n   requires(concepts::reservable_container<OutR>
      || ranges::statically_spanable_range<OutR>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::concatenate<out_array_t>
      Src: /src/botan/src/lib/utils/stl_util.h:278,1
    - Dst: std::forward<Rs>
      Src: /src/botan/src/lib/utils/stl_util.h:278,1
    - Dst: detail::concatenate<candidate_result_t>
      Src: /src/botan/src/lib/utils/stl_util.h:285,1
    - Dst: std::forward<Rs>
      Src: /src/botan/src/lib/utils/stl_util.h:285,1
    - Dst: detail::concatenate<OutR>
      Src: /src/botan/src/lib/utils/stl_util.h:289,1
    - Dst: std::forward<Rs>
      Src: /src/botan/src/lib/utils/stl_util.h:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 291
    functionName: Botan::concat
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 19
    functionsReached:
    - detail::concatenate<out_array_t>
    - detail::concatenate<candidate_result_t>
    - detail::concatenate<OutR>
    - std::forward<Rs>
    linkageType: ''
    returnType: auto
    signature: "auto concat(Rs&&... ranges)\n   requires(all_same_v<std::ranges::range_value_t<Rs>...>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Alts>
      Src: /src/botan/src/lib/utils/stl_util.h:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::variant<Ts...>
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: Botan::holds_any_of
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - std::holds_alternative<Alts>
    linkageType: ''
    returnType: bool
    signature: bool holds_any_of(const std::variant<Ts...>& v) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: Botan::is_generalizable_to
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_generalizable_to(const SpecialT&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: Botan::is_generalizable_to
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_generalizable_to(const std::variant<SpecialTs...>&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<SpecialT>
      Src: /src/botan/src/lib/utils/stl_util.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' specific'
    argTypes:
    - SpecialT
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: Botan::generalize_to
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - std::forward<SpecialT>
    linkageType: ''
    returnType: GeneralVariantT
    signature: "GeneralVariantT generalize_to(SpecialT&& specific) noexcept\n   requires(std::is_constructible_v<GeneralVariantT,
      std::decay_t<SpecialT>>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_generalizable_to
      Src: /src/botan/src/lib/utils/stl_util.h:332,1
    - Dst: std::visit
      Src: /src/botan/src/lib/utils/stl_util.h:334,1
    - Dst: std::move
      Src: /src/botan/src/lib/utils/stl_util.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - specific
    argTypes:
    - std::variant<SpecialTs...>
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: Botan::generalize_to
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - Botan::is_generalizable_to
    - std::move
    - std::visit
    linkageType: ''
    returnType: GeneralVariantT
    signature: GeneralVariantT generalize_to(std::variant<SpecialTs...> specific)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/stl_util.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - FunT
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: Botan::scoped_cleanup::scoped_cleanup
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void scoped_cleanup(FunT cleanup)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: Botan::scoped_cleanup::scoped_cleanup
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scoped_cleanup(const scoped_cleanup&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: '& operator=(const scoped_cleanup&)'
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: scoped_cleanup
    signature: scoped_cleanup & operator=(const scoped_cleanup&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/stl_util.h:362,1
    - Dst: Botan::scoped_cleanup::disengage
      Src: /src/botan/src/lib/utils/stl_util.h:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - scoped_cleanup
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: Botan::scoped_cleanup::scoped_cleanup
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::scoped_cleanup::disengage
    linkageType: ''
    returnType: void
    signature: void scoped_cleanup(scoped_cleanup&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/stl_util.h:366,1
    - Dst: disengage
      Src: /src/botan/src/lib/utils/stl_util.h:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - scoped_cleanup
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: '& operator=(scoped_cleanup&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - std::move
    - disengage
    linkageType: ''
    returnType: scoped_cleanup
    signature: scoped_cleanup & operator=(scoped_cleanup&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/utils/stl_util.h:373,1
    - Dst: value
      Src: /src/botan/src/lib/utils/stl_util.h:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: ~scoped_cleanup()
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - value
    - has_value
    linkageType: ''
    returnType: void
    signature: void ~scoped_cleanup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/utils/stl_util.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: Botan::scoped_cleanup::disengage
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void disengage() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::assertion_failure
      Src: /src/botan/src/lib/utils/stl_util.h:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - v
    - expr
    - func
    - file
    - line
    argTypes:
    - std::optional<T>
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: Botan::assert_is_some
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - Botan::assertion_failure
    linkageType: ''
    returnType: T
    signature: T assert_is_some(std::optional<T> v, const char* expr, const char*
      func, const char* file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::copy_n
      Src: /src/botan/src/lib/utils/stl_util.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: Botan::StringLiteral::StringLiteral
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - std::copy_n
    linkageType: ''
    returnType: void
    signature: void StringLiteral(const char (&str)[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::underlying_type_t<T>>
      Src: /src/botan/src/lib/utils/stl_util.h:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: Botan::to_underlying
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - static_cast<std::underlying_type_t<T>>
    linkageType: ''
    returnType: auto
    signature: auto to_underlying(T e) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/utils/stl_util.h:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' outptr'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 445
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 445
    functionName: Botan::out_ptr
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 2
    functionsReached:
    - reset
    linkageType: ''
    returnType: auto
    signature: auto out_ptr(T& outptr) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' outopt'
    argTypes:
    - std::optional<T>
    constantsTouched: []
    func_position:
      end: 469
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 469
    functionName: Botan::out_opt
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto out_opt(std::optional<T>& outopt) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::error_type
    functionSourceFile: /src/botan/src/lib/utils/database.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::error_code
    functionSourceFile: /src/botan/src/lib/utils/database.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~Statement()
    functionSourceFile: /src/botan/src/lib/utils/database.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Statement()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/utils/database.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sql
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: exec
    functionSourceFile: /src/botan/src/lib/utils/database.h
    functionUses: 2
    functionsReached:
    - new_statement
    linkageType: ''
    returnType: size_t
    signature: size_t exec(std::string_view sql)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: is_threadsafe
    functionSourceFile: /src/botan/src/lib/utils/database.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_threadsafe() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~SQL_Database()
    functionSourceFile: /src/botan/src/lib/utils/database.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SQL_Database()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialize_allocator
      Src: /src/botan/src/lib/utils/allocator.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::Allocator_Initializer::Allocator_Initializer
    functionSourceFile: /src/botan/src/lib/utils/allocator.h
    functionUses: 0
    functionsReached:
    - initialize_allocator
    linkageType: ''
    returnType: void
    signature: void Allocator_Initializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: Botan::donna128::donna128
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void donna128(uint64_t ll = 0, uint64_t hh = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::donna128::donna128
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void donna128(const donna128&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(const donna128&)'
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 & operator=(const donna128&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - donna128
    - T
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: operator>>(const donna128& x, T shift)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 operator>>(const donna128& x, T shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - donna128
    - T
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: operator<<(const donna128& x, T shift)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 operator<<(const donna128& x, T shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - mask
    argTypes:
    - donna128
    - uint64_t
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: operator&(const donna128& x, uint64_t mask)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t operator&(const donna128& x, uint64_t mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: operator&=(uint64_t mask)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t operator&=(uint64_t mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - donna128
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: '& operator+=(const donna128& x)'
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 & operator+=(const donna128& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: '& operator+=(uint64_t x)'
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 & operator+=(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::donna128::lo
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t lo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::donna128::hi
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hi() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: operator uint64_t() const
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator uint64_t() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/donna128.h:101,1
    - Dst: hi
      Src: /src/botan/src/lib/utils/donna128.h:101,1
    - Dst: Botan::mul64x64_128
      Src: /src/botan/src/lib/utils/donna128.h:104,1
    - Dst: lo
      Src: /src/botan/src/lib/utils/donna128.h:104,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/donna128.h:104,1
    - Dst: donna128
      Src: /src/botan/src/lib/utils/donna128.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - donna128
    - T
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: operator*(const donna128& x, T y)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached:
    - hi
    - static_cast<uint64_t>
    - donna128
    - lo
    - BOTAN_ARG_CHECK
    - Botan::mul64x64_128
    linkageType: ''
    returnType: donna128
    signature: donna128 operator*(const donna128& x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - ' x'
    argTypes:
    - T
    - donna128
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: operator*(T y, const donna128& x)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 operator*(T y, const donna128& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - donna128
    - donna128
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: operator+(const donna128& x, const donna128& y)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 operator+(const donna128& x, const donna128& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - donna128
    - uint64_t
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: operator+(const donna128& x, uint64_t y)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 operator+(const donna128& x, uint64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: donna128
      Src: /src/botan/src/lib/utils/donna128.h:126,1
    - Dst: lo
      Src: /src/botan/src/lib/utils/donna128.h:126,1
    - Dst: lo
      Src: /src/botan/src/lib/utils/donna128.h:126,1
    - Dst: hi
      Src: /src/botan/src/lib/utils/donna128.h:126,1
    - Dst: hi
      Src: /src/botan/src/lib/utils/donna128.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - donna128
    - donna128
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: operator|(const donna128& x, const donna128& y)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached:
    - lo
    - hi
    - donna128
    linkageType: ''
    returnType: donna128
    signature: donna128 operator|(const donna128& x, const donna128& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: donna128
      Src: /src/botan/src/lib/utils/donna128.h:130,1
    - Dst: lo
      Src: /src/botan/src/lib/utils/donna128.h:130,1
    - Dst: hi
      Src: /src/botan/src/lib/utils/donna128.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - donna128
    - uint64_t
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: operator|(const donna128& x, uint64_t y)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached:
    - lo
    - hi
    - donna128
    linkageType: ''
    returnType: donna128
    signature: donna128 operator|(const donna128& x, uint64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lo
      Src: /src/botan/src/lib/utils/donna128.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - shift
    argTypes:
    - donna128
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Botan::carry_shift
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 3
    functionsReached:
    - lo
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t carry_shift(const donna128& a, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: donna128::lo
      Src: /src/botan/src/lib/utils/donna128.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - s1
    - ' b'
    - s2
    argTypes:
    - donna128
    - size_t
    - donna128
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: Botan::combine_lower
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 1
    functionsReached:
    - donna128::lo
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t combine_lower(const donna128& a, size_t s1, const donna128&
      b, size_t s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/donna128.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - shift
    argTypes:
    - uint128_t
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Botan::carry_shift
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 3
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t carry_shift(const uint128_t a, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/donna128.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - s1
    - b
    - s2
    argTypes:
    - uint128_t
    - size_t
    - uint128_t
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan::combine_lower
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t combine_lower(const uint128_t a, size_t s1, const uint128_t
      b, size_t s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan::error_code
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: error_type
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unknown_PK_Field_Name
      Src: /src/botan/src/lib/utils/exceptn.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 242
    functionsReached:
    - Unknown_PK_Field_Name
    linkageType: ''
    returnType: Unknown_PK_Field_Name
    signature: Unknown_PK_Field_Name Invalid_Argument
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Key_Length
      Src: /src/botan/src/lib/utils/exceptn.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 242
    functionsReached:
    - Invalid_Key_Length
    linkageType: ''
    returnType: Invalid_Key_Length
    signature: Invalid_Key_Length Invalid_Argument
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/utils/exceptn.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 242
    functionsReached:
    - Invalid_IV_Length
    linkageType: ''
    returnType: Invalid_IV_Length
    signature: Invalid_IV_Length Invalid_Argument
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 242
    functionsReached: []
    linkageType: ''
    returnType: Invalid_Algorithm_Name
    signature: Invalid_Algorithm_Name Invalid_Argument
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: Encoding_Error
    signature: Encoding_Error Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: error_type
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: Invalid_State
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 74
    functionsReached: []
    linkageType: ''
    returnType: PRNG_Unseeded
    signature: PRNG_Unseeded Invalid_State
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: error_type
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: error_type
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: Lookup_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: Algorithm_Not_Found
    signature: Algorithm_Not_Found Lookup_Error
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/utils/exceptn.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: Lookup_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 32
    functionsReached:
    - Provider_Not_Found
    linkageType: ''
    returnType: Provider_Not_Found
    signature: Provider_Not_Found Lookup_Error
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: Invalid_Authentication_Tag
    signature: Invalid_Authentication_Tag Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: Stream_IO_Error
    signature: Stream_IO_Error Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: error_type
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: error_code
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: error_type
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: Not_Implemented
    signature: Not_Implemented Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: E
      Src: /src/botan/src/lib/utils/exceptn.h:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: do_throw_error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 4
    functionsReached:
    - E
    linkageType: ''
    returnType: void
    signature: void do_throw_error(const char* file, int line, const char* func, Args...
      args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/rotate.h:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Botan::rotl
    functionSourceFile: /src/botan/src/lib/utils/rotate.h
    functionUses: 28
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE rotl(T input)\n   requires(ROT > 0 && ROT < 8 *
      sizeof(T))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/rotate.h:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: Botan::rotr
    functionSourceFile: /src/botan/src/lib/utils/rotate.h
    functionUses: 20
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE rotr(T input)\n   requires(ROT > 0 && ROT < 8 *
      sizeof(T))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/utils/rotate.h:45,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/utils/rotate.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::sigma
    functionSourceFile: /src/botan/src/lib/utils/rotate.h
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sigma(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/utils/rotate.h:53,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/utils/rotate.h:53,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/utils/rotate.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::rho
    functionSourceFile: /src/botan/src/lib/utils/rotate.h
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE rho(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/rotate.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - rot
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::rotl_var
    functionSourceFile: /src/botan/src/lib/utils/rotate.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE rotl_var(T input, size_t rot)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/rotate.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - rot
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::rotr_var
    functionSourceFile: /src/botan/src/lib/utils/rotate.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE rotr_var(T input, size_t rot)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: Botan::checked_add
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> checked_add(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: Botan::checked_sub
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> checked_sub(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::checked_add
      Src: /src/botan/src/lib/utils/int_utils.h:38,1
    - Dst: Botan::checked_add
      Src: /src/botan/src/lib/utils/int_utils.h:39,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/int_utils.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Botan::checked_add
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 4
    functionsReached:
    - Botan::checked_add
    - auto::value
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> checked_add(T a, T b, Ts... rest)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: Botan::checked_mul
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> checked_mul(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/lib/utils/int_utils.h:62,1
    - Dst: static_cast<strong_type_wrapped_type<RT>>
      Src: /src/botan/src/lib/utils/int_utils.h:64,1
    - Dst: static_cast<strong_type_wrapped_type<AT>>
      Src: /src/botan/src/lib/utils/int_utils.h:65,1
    - Dst: ExceptionType
      Src: /src/botan/src/lib/utils/int_utils.h:66,1
    - Dst: Botan::wrap_strong_type
      Src: /src/botan/src/lib/utils/int_utils.h:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - i
    - error_msg_on_fail
    argTypes:
    - AT
    - std::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: Botan::checked_cast_to_or_throw
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<strong_type_wrapped_type<AT>>
    - Botan::unwrap_strong_type
    - Botan::wrap_strong_type
    - ExceptionType
    - static_cast<strong_type_wrapped_type<RT>>
    linkageType: ''
    returnType: RT
    signature: RT checked_cast_to_or_throw(AT i, std::string_view error_msg_on_fail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::checked_cast_to_or_throw
      Src: /src/botan/src/lib/utils/int_utils.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - AT
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::checked_cast_to
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 4
    functionsReached:
    - Botan::checked_cast_to_or_throw
    linkageType: ''
    returnType: RT
    signature: RT checked_cast_to(AT i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/int_utils.h:93,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/int_utils.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: Botan::swar_lt
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T swar_lt(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/int_utils.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - lower
    - upper
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: Botan::swar_in_range
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T swar_in_range(T v, T lower, T upper)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/int_utils.h:132,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/int_utils.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: Botan::index_of_first_set_byte
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - static_cast<T>
    linkageType: ''
    returnType: size_t
    signature: size_t index_of_first_set_byte(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::short_version_cstr
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * short_version_cstr()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::version_cstr
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * version_cstr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/version.cpp:25,1
    - Dst: Botan::version_cstr
      Src: /src/botan/src/lib/utils/version.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::version_string
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 5
    functionsReached:
    - std::string
    - Botan::version_cstr
    linkageType: ''
    returnType: std::string
    signature: std::string version_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/version.cpp:29,1
    - Dst: Botan::short_version_cstr
      Src: /src/botan/src/lib/utils/version.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::short_version_string
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 4
    functionsReached:
    - std::string
    - Botan::short_version_cstr
    linkageType: ''
    returnType: std::string
    signature: std::string short_version_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::version_datestamp
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t version_datestamp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/version.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Botan::version_vc_revision
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 1
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> version_vc_revision()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/version.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: Botan::version_distribution_info
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> version_distribution_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::version_major
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t version_major()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::version_minor
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t version_minor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::version_patch
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t version_patch()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: Botan::unsafe_for_production_build
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool unsafe_for_production_build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_major
      Src: /src/botan/src/lib/utils/version.cpp:76,1
    - Dst: Botan::version_minor
      Src: /src/botan/src/lib/utils/version.cpp:76,1
    - Dst: Botan::version_patch
      Src: /src/botan/src/lib/utils/version.cpp:76,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/version.cpp:77,1
    - Dst: Botan::short_version_cstr
      Src: /src/botan/src/lib/utils/version.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - major
    - minor
    - patch
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: Botan::runtime_version_check
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 3
    functionsReached:
    - Botan::version_minor
    - Botan::version_major
    - Botan::fmt
    - Botan::short_version_cstr
    - Botan::version_patch
    linkageType: ''
    returnType: std::string
    signature: std::string runtime_version_check(uint32_t major, uint32_t minor, uint32_t
      patch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oss'
    - format
    argTypes:
    - std::ostringstream
    - std::string_view
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::fmt_detail::do_fmt
    functionSourceFile: /src/botan/src/lib/utils/fmt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_fmt(std::ostringstream& oss, std::string_view format)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/fmt.h:28,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/fmt.h:29,1
    - Dst: std::string_view::at
      Src: /src/botan/src/lib/utils/fmt.h:29,1
    - Dst: Botan::fmt_detail::do_fmt
      Src: /src/botan/src/lib/utils/fmt.h:31,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/fmt.h:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' oss'
    - format
    - ' val'
    argTypes:
    - std::ostringstream
    - std::string_view
    - T
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: Botan::fmt_detail::do_fmt
    functionSourceFile: /src/botan/src/lib/utils/fmt.h
    functionUses: 1
    functionsReached:
    - std::string_view::substr
    - std::string_view::at
    - std::string_view::size
    - Botan::fmt_detail::do_fmt
    linkageType: ''
    returnType: void
    signature: void do_fmt(std::ostringstream& oss, std::string_view format, const
      T& val, const Ts&... rest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::imbue
      Src: /src/botan/src/lib/utils/fmt.h:55,1
    - Dst: std::locale::classic
      Src: /src/botan/src/lib/utils/fmt.h:55,1
    - Dst: Botan::fmt_detail::do_fmt
      Src: /src/botan/src/lib/utils/fmt.h:56,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/fmt.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: Botan::fmt
    functionSourceFile: /src/botan/src/lib/utils/fmt.h
    functionUses: 116
    functionsReached:
    - std::locale::classic
    - std::ostringstream::imbue
    - std::ostringstream::str
    - Botan::fmt_detail::do_fmt
    linkageType: ''
    returnType: std::string
    signature: std::string fmt(std::string_view format, const T&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/charset.cpp:20,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:25,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:25,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:29,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:29,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:30,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:30,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:35,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:35,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:36,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:36,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:37,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:37,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:43,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:43,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:44,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:44,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:45,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:45,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:46,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:46,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/charset.cpp:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - ' s'
    - c
    argTypes:
    - std::string
    - uint32_t
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: Botan::append_utf8_for
    functionSourceFile: /src/botan/src/lib/utils/charset.cpp
    functionUses: 0
    functionsReached:
    - Botan::Decoding_Error
    - static_cast<char>
    - push_back
    linkageType: ''
    returnType: void
    signature: void append_utf8_for(std::string& s, uint32_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/charset.cpp:56,1
    - Dst: Botan::append_utf8_for
      Src: /src/botan/src/lib/utils/charset.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ucs2
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: Botan::ucs2_to_utf8
    functionSourceFile: /src/botan/src/lib/utils/charset.cpp
    functionUses: 1
    functionsReached:
    - Botan::Decoding_Error
    - Botan::append_utf8_for
    linkageType: ''
    returnType: std::string
    signature: std::string ucs2_to_utf8(const uint8_t ucs2[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/charset.cpp:72,1
    - Dst: Botan::append_utf8_for
      Src: /src/botan/src/lib/utils/charset.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ucs4
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: Botan::ucs4_to_utf8
    functionSourceFile: /src/botan/src/lib/utils/charset.cpp
    functionUses: 1
    functionsReached:
    - Botan::Decoding_Error
    - Botan::append_utf8_for
    linkageType: ''
    returnType: std::string
    signature: std::string ucs4_to_utf8(const uint8_t ucs4[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::append_utf8_for
      Src: /src/botan/src/lib/utils/charset.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - chars
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: Botan::latin1_to_utf8
    functionSourceFile: /src/botan/src/lib/utils/charset.cpp
    functionUses: 1
    functionsReached:
    - Botan::append_utf8_for
    linkageType: ''
    returnType: std::string
    signature: std::string latin1_to_utf8(const uint8_t chars[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/botan/src/lib/utils/charset.cpp:109,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/charset.cpp:111,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/charset.cpp:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 119
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 119
    functionName: Botan::format_char_for_display
    functionSourceFile: /src/botan/src/lib/utils/charset.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - static_cast<int>
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string format_char_for_display(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::AlignmentBuffer::AlignmentBuffer
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignmentBuffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_scrub_memory
      Src: /src/botan/src/lib/utils/alignment_buffer.h:65,1
    - Dst: data
      Src: /src/botan/src/lib/utils/alignment_buffer.h:65,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: ~AlignmentBuffer()
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 0
    functionsReached:
    - data
    - Botan::secure_scrub_memory
    - Botan::size
    linkageType: ''
    returnType: void
    signature: void ~AlignmentBuffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AlignmentBuffer
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::AlignmentBuffer::AlignmentBuffer
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignmentBuffer(const AlignmentBuffer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AlignmentBuffer
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::AlignmentBuffer::AlignmentBuffer
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignmentBuffer(AlignmentBuffer&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AlignmentBuffer
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(const AlignmentBuffer& other)'
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AlignmentBuffer
    signature: AlignmentBuffer & operator=(const AlignmentBuffer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AlignmentBuffer
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(AlignmentBuffer&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AlignmentBuffer
    signature: AlignmentBuffer & operator=(AlignmentBuffer&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/alignment_buffer.h:73,1
    - Dst: data
      Src: /src/botan/src/lib/utils/alignment_buffer.h:73,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: Botan::AlignmentBuffer::clear
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached:
    - clear_mem
    - Botan::AlignmentBuffer::size
    - data
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/lib/utils/alignment_buffer.h:81,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/alignment_buffer.h:82,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/lib/utils/alignment_buffer.h:82,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: Botan::AlignmentBuffer::fill_up_with_zeros
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached:
    - Botan::AlignmentBuffer::ready_to_consume
    - Botan::AlignmentBuffer::elements_until_alignment
    - Botan::AlignmentBuffer::size
    - clear_mem
    linkageType: ''
    returnType: void
    signature: void fill_up_with_zeros()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/alignment_buffer.h:92,1
    - Dst: std::span<const T>::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:92,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/lib/utils/alignment_buffer.h:92,1
    - Dst: copy
      Src: /src/botan/src/lib/utils/alignment_buffer.h:93,1
    - Dst: std::span<const T>::begin
      Src: /src/botan/src/lib/utils/alignment_buffer.h:93,1
    - Dst: std::span<const T>::end
      Src: /src/botan/src/lib/utils/alignment_buffer.h:93,1
    - Dst: begin
      Src: /src/botan/src/lib/utils/alignment_buffer.h:93,1
    - Dst: std::span<const T>::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elements
    argTypes:
    - std::span<const T>
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: Botan::AlignmentBuffer::append
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached:
    - std::span<const T>::end
    - std::span<const T>::size
    - copy
    - Botan::AlignmentBuffer::elements_until_alignment
    - begin
    - std::span<const T>::begin
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void append(std::span<const T> elements)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/alignment_buffer.h:104,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:104,1
    - Dst: std::span
      Src: /src/botan/src/lib/utils/alignment_buffer.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elements
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: Botan::AlignmentBuffer::directly_modify_first
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 0
    functionsReached:
    - std::span
    - Botan::AlignmentBuffer::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::span<T>
    signature: std::span<T> directly_modify_first(size_t elements)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/alignment_buffer.h:115,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:115,1
    - Dst: std::span
      Src: /src/botan/src/lib/utils/alignment_buffer.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elements
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: Botan::AlignmentBuffer::directly_modify_last
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 0
    functionsReached:
    - std::span
    - Botan::AlignmentBuffer::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::span<T>
    signature: std::span<T> directly_modify_last(size_t elements)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/alignment_buffer.h:128,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/lib/utils/alignment_buffer.h:128,1
    - Dst: take
      Src: /src/botan/src/lib/utils/alignment_buffer.h:134,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: Botan::AlignmentBuffer::aligned_data_to_process
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 0
    functionsReached:
    - Botan::AlignmentBuffer::in_alignment
    - Botan::AlignmentBuffer::size
    - take
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::tuple<std::span<const uint8_t>, size_t>
    signature: std::tuple<std::span<const uint8_t>, size_t> aligned_data_to_process(BufferSlicer&
      slicer) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/alignment_buffer.h:145,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/lib/utils/alignment_buffer.h:145,1
    - Dst: remaining
      Src: /src/botan/src/lib/utils/alignment_buffer.h:150,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:150,1
    - Dst: take
      Src: /src/botan/src/lib/utils/alignment_buffer.h:154,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: Botan::AlignmentBuffer::next_aligned_block_to_process
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached:
    - remaining
    - Botan::AlignmentBuffer::size
    - Botan::AlignmentBuffer::in_alignment
    - take
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::optional<std::span<const uint8_t>>
    signature: std::optional<std::span<const uint8_t>> next_aligned_block_to_process(BufferSlicer&
      slicer) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/lib/utils/alignment_buffer.h:173,1
    - Dst: remaining
      Src: /src/botan/src/lib/utils/alignment_buffer.h:173,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:173,1
    - Dst: std::min
      Src: /src/botan/src/lib/utils/alignment_buffer.h:182,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:182,1
    - Dst: remaining
      Src: /src/botan/src/lib/utils/alignment_buffer.h:182,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/lib/utils/alignment_buffer.h:183,1
    - Dst: take
      Src: /src/botan/src/lib/utils/alignment_buffer.h:183,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/lib/utils/alignment_buffer.h:189,1
    - Dst: Botan::AlignmentBuffer::defers_final_block
      Src: /src/botan/src/lib/utils/alignment_buffer.h:189,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/alignment_buffer.h:189,1
    - Dst: Botan::AlignmentBuffer::consume
      Src: /src/botan/src/lib/utils/alignment_buffer.h:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 194
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 194
    functionName: Botan::AlignmentBuffer::handle_unaligned_data
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached:
    - Botan::AlignmentBuffer::ready_to_consume
    - remaining
    - empty
    - Botan::AlignmentBuffer::defers_final_block
    - Botan::AlignmentBuffer::append
    - Botan::AlignmentBuffer::size
    - Botan::AlignmentBuffer::in_alignment
    - std::min
    - Botan::AlignmentBuffer::consume
    - take
    linkageType: ''
    returnType: std::optional<std::span<const T>>
    signature: std::optional<std::span<const T>> handle_unaligned_data(BufferSlicer&
      slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/alignment_buffer.h:202,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/lib/utils/alignment_buffer.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: Botan::AlignmentBuffer::consume
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 2
    functionsReached:
    - Botan::AlignmentBuffer::ready_to_consume
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::span<const T>
    signature: std::span<const T> consume()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/lib/utils/alignment_buffer.h:213,1
    - Dst: std::span
      Src: /src/botan/src/lib/utils/alignment_buffer.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: Botan::AlignmentBuffer::consume_partial
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached:
    - std::span
    - Botan::AlignmentBuffer::elements_in_buffer
    linkageType: ''
    returnType: std::span<const T>
    signature: std::span<const T> consume_partial()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: Botan::AlignmentBuffer::size
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 9
    functionsReached:
    - Botan::AlignmentBuffer::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: Botan::AlignmentBuffer::elements_in_buffer
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t elements_in_buffer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: Botan::AlignmentBuffer::elements_until_alignment
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 3
    functionsReached:
    - Botan::AlignmentBuffer::size
    linkageType: ''
    returnType: size_t
    signature: size_t elements_until_alignment() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: Botan::AlignmentBuffer::in_alignment
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool in_alignment() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: Botan::AlignmentBuffer::ready_to_consume
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 4
    functionsReached:
    - Botan::AlignmentBuffer::size
    linkageType: ''
    returnType: bool
    signature: bool ready_to_consume() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: Botan::AlignmentBuffer::defers_final_block
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool defers_final_block() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::detail::AutoDetect
    functionSourceFile: /src/botan/src/lib/utils/concepts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoDetect()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::size_bytes
      Src: /src/botan/src/lib/utils/concepts.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - spanable_range auto
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::ranges::size_bytes
    functionSourceFile: /src/botan/src/lib/utils/concepts.h
    functionUses: 1
    functionsReached:
    - Botan::ranges::size_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t size_bytes(const spanable_range auto& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span::size_bytes
      Src: /src/botan/src/lib/utils/concepts.h:110,1
    - Dst: std::span::size_bytes
      Src: /src/botan/src/lib/utils/concepts.h:112,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/concepts.h:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: Botan::ranges::assert_exact_byte_length
    functionSourceFile: /src/botan/src/lib/utils/concepts.h
    functionUses: 0
    functionsReached:
    - std::span::size_bytes
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void assert_exact_byte_length(const R& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_exact_byte_length
      Src: /src/botan/src/lib/utils/concepts.h:135,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/concepts.h:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' r0'
    argTypes:
    - R0
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: Botan::ranges::assert_equal_byte_lengths
    functionSourceFile: /src/botan/src/lib/utils/concepts.h
    functionUses: 0
    functionsReached:
    - Botan::ranges::assert_exact_byte_length
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: "void assert_equal_byte_lengths(const R0& r0, const Rs&... rs)\n   requires(sizeof...(Rs)
      > 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/parsing.cpp:26,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/utils/parsing.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: Botan::to_uint16
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t to_uint16(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/parsing.cpp:38,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/utils/parsing.cpp:46,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/parsing.cpp:47,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/parsing.cpp:51,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - str_view
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: Botan::to_u32bit
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 7
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max
    - Invalid_Argument
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t to_u32bit(std::string_view str_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/parsing.cpp:58,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/parsing.cpp:58,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/parsing.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:67,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/parsing.cpp:67,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/parsing.cpp:67,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/parsing.cpp:68,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/parsing.cpp:68,1
    - Dst: std::string::begin
      Src: /src/botan/src/lib/utils/parsing.cpp:70,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/utils/parsing.cpp:70,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/utils/parsing.cpp:77,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/utils/parsing.cpp:78,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:79,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/parsing.cpp:79,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:81,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/utils/parsing.cpp:86,1
    - Dst: Invalid_Algorithm_Name
      Src: /src/botan/src/lib/utils/parsing.cpp:87,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/utils/parsing.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:94,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/parsing.cpp:94,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:96,1
    - Dst: std::string::clear
      Src: /src/botan/src/lib/utils/parsing.cpp:98,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:104,1
    - Dst: Invalid_Algorithm_Name
      Src: /src/botan/src/lib/utils/parsing.cpp:105,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - namex
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 109
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 109
    functionName: Botan::parse_algorithm_name
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::string::clear
    - std::string::substr
    - std::string::begin
    - std::string::find
    - Invalid_Algorithm_Name
    - std::string
    - std::string::end
    - std::string::empty
    - std::vector::push_back
    - std::string_view::find
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> parse_algorithm_name(std::string_view namex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:113,1
    - Dst: std::string_view::begin
      Src: /src/botan/src/lib/utils/parsing.cpp:118,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/utils/parsing.cpp:118,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:120,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:121,1
    - Dst: std::string::clear
      Src: /src/botan/src/lib/utils/parsing.cpp:123,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:129,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/parsing.cpp:130,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/parsing.cpp:130,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - str
    - delim
    argTypes:
    - std::string_view
    - char
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: Botan::split_on
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 16
    functionsReached:
    - std::string::clear
    - Botan::fmt
    - std::string_view::empty
    - Invalid_Argument
    - std::string_view::end
    - std::string_view::begin
    - std::string::empty
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split_on(std::string_view str, char delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/parsing.cpp:143,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/parsing.cpp:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' strs'
    - delim
    argTypes:
    - std::vector<std::string>
    - char
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: Botan::string_join
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - Botan::size
    linkageType: ''
    returnType: std::string
    signature: std::string string_join(const std::vector<std::string>& strs, char
      delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:159,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:159,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/utils/parsing.cpp:188,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/parsing.cpp:201,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 220
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 220
    functionName: Botan::string_to_ipv4
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 3
    functionsReached:
    - std::string_view::size
    - static_cast<uint8_t>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> string_to_ipv4(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/utils/parsing.cpp:227,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/utils/parsing.cpp:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ip
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: Botan::ipv4_to_string
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 3
    functionsReached:
    - Botan::store_be
    - Botan::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string ipv4_to_string(uint32_t ip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/parsing.cpp:243,1
    - Dst: std::isalpha
      Src: /src/botan/src/lib/utils/parsing.cpp:245,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/parsing.cpp:246,1
    - Dst: std::tolower
      Src: /src/botan/src/lib/utils/parsing.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: Botan::tolower_string
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<char>
    - std::tolower
    - std::isalpha
    linkageType: ''
    returnType: std::string
    signature: std::string tolower_string(std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::tolower_string
      Src: /src/botan/src/lib/utils/parsing.cpp:253,1
    - Dst: Botan::tolower_string
      Src: /src/botan/src/lib/utils/parsing.cpp:254,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:256,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:256,1
    - Dst: count
      Src: /src/botan/src/lib/utils/parsing.cpp:264,1
    - Dst: std::string::begin
      Src: /src/botan/src/lib/utils/parsing.cpp:264,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/utils/parsing.cpp:264,1
    - Dst: count
      Src: /src/botan/src/lib/utils/parsing.cpp:275,1
    - Dst: std::string::begin
      Src: /src/botan/src/lib/utils/parsing.cpp:275,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/utils/parsing.cpp:275,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/parsing.cpp:280,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/parsing.cpp:285,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/parsing.cpp:302,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/parsing.cpp:302,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/parsing.cpp:324,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/parsing.cpp:340,1
    - Dst: count
      Src: /src/botan/src/lib/utils/parsing.cpp:345,1
    - Dst: std::string::begin
      Src: /src/botan/src/lib/utils/parsing.cpp:345,1
    - Dst: std::string::begin
      Src: /src/botan/src/lib/utils/parsing.cpp:345,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - issued_
    - host_
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 365
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 365
    functionName: Botan::host_wildcard_match
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 1
    functionsReached:
    - Botan::tolower_string
    - std::string::begin
    - std::string::find
    - count
    - std::string::end
    - std::string::size
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: bool host_wildcard_match(std::string_view issued_, std::string_view
      host_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:368,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:369,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:372,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:373,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/utils/parsing.cpp:376,1
    - Dst: std::string_view::ends_with
      Src: /src/botan/src/lib/utils/parsing.cpp:376,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:377,1
    - Dst: std::string::reserve
      Src: /src/botan/src/lib/utils/parsing.cpp:397,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:397,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:402,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:407,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:411,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:418,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:424,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:428,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:433,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:434,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:434,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:435,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:438,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/parsing.cpp:438,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:442,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 46
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 445
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 445
    functionName: Botan::check_and_canonicalize_dns_name
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 1
    functionsReached:
    - std::string_view::starts_with
    - std::string_view::size
    - Botan::Decoding_Error
    - std::string_view::empty
    - std::string::reserve
    - std::string_view::ends_with
    - static_cast<char>
    - std::string::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string check_and_canonicalize_dns_name(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::No_Filesystem_Access::No_Filesystem_Access
    functionSourceFile: /src/botan/src/lib/utils/filesystem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void No_Filesystem_Access()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/prefetch.h:37,1
    - Dst: prefetch_array_raw
      Src: /src/botan/src/lib/utils/prefetch.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: requires std::is_integral_v<T>
    functionSourceFile: /src/botan/src/lib/utils/prefetch.h
    functionUses: 4
    functionsReached:
    - prefetch_array_raw
    - static_cast<T>
    linkageType: ''
    returnType: noexcept
    signature: noexcept requires std::is_integral_v<T>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/read_kv.cpp:15,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/utils/read_kv.cpp:22,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/read_kv.cpp:24,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/read_kv.cpp:36,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/read_kv.cpp:37,1
    - Dst: std::map::find
      Src: /src/botan/src/lib/utils/read_kv.cpp:40,1
    - Dst: std::map::end
      Src: /src/botan/src/lib/utils/read_kv.cpp:40,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/read_kv.cpp:41,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/read_kv.cpp:49,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/read_kv.cpp:65,1
    - Dst: std::map::find
      Src: /src/botan/src/lib/utils/read_kv.cpp:67,1
    - Dst: std::map::end
      Src: /src/botan/src/lib/utils/read_kv.cpp:67,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/read_kv.cpp:68,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/read_kv.cpp:72,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 1
    argNames:
    - kv
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 77
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 77
    functionName: Botan::read_kv
    functionSourceFile: /src/botan/src/lib/utils/read_kv.cpp
    functionUses: 1
    functionsReached:
    - std::map::end
    - std::map::find
    - std::string_view::empty
    - Botan::split_on
    - Invalid_Argument
    - std::string::empty
    linkageType: ''
    returnType: std::map<std::string, std::string>
    signature: std::map<std::string, std::string> read_kv(std::string_view kv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& to_string() const'
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& algo_name() const'
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/scan_name.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::SCAN_Name::arg_count
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t arg_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SCAN_Name::arg_count
      Src: /src/botan/src/lib/utils/scan_name.h:57,1
    - Dst: Botan::SCAN_Name::arg_count
      Src: /src/botan/src/lib/utils/scan_name.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - lower
    - upper
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::SCAN_Name::arg_count_between
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 0
    functionsReached:
    - Botan::SCAN_Name::arg_count
    linkageType: ''
    returnType: bool
    signature: bool arg_count_between(size_t lower, size_t upper) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/utils/scan_name.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::SCAN_Name::cipher_mode
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string cipher_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/scan_name.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::SCAN_Name::cipher_mode_pad
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string cipher_mode_pad() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_thread_create
      Src: /src/botan/src/lib/utils/scan_name.h:109,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/scan_name.h:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: Botan::probe_providers_of
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 0
    functionsReached:
    - argon2_thread_create
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> probe_providers_of(std::string_view algo_spec,\n
      \                                           const std::vector<std::string>&
      possible = {\"base\"})"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/utils/mem_ops.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: Botan::ct_compare_u8
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ct_compare_u8(const uint8_t x[], const uint8_t y[], size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/utils/mem_ops.cpp:18,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.cpp:18,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.cpp:18,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.cpp:18,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.cpp:18,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/utils/mem_ops.cpp:19,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.cpp:19,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.cpp:19,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/mem_ops.cpp:20,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/utils/mem_ops.cpp:20,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/utils/mem_ops.cpp:20,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/utils/mem_ops.cpp:20,1
    - Dst: as_bool
      Src: /src/botan/src/lib/utils/mem_ops.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: Botan::constant_time_compare
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::sha512_msg_expand
    - Botan::CT::is_equal
    - std::span<const uint8_t>::size
    - Botan::CT::Mask::is_lte
    - std::span<const uint8_t>::data
    - as_bool
    linkageType: ''
    returnType: bool
    signature: bool constant_time_compare(std::span<const uint8_t> x, std::span<const
      uint8_t> y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/mul128.h:25,1
    - Dst: _umul128
      Src: /src/botan/src/lib/utils/mul128.h:27,1
    - Dst: __umulh
      Src: /src/botan/src/lib/utils/mul128.h:32,1
    - Dst: static_cast<uint128_t>
      Src: /src/botan/src/lib/utils/mul128.h:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - a
    - b
    - lo
    - hi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 67
    functionName: Botan::mul64x64_128
    functionSourceFile: /src/botan/src/lib/utils/mul128.h
    functionUses: 1
    functionsReached:
    - _umul128
    - std::is_constant_evaluated
    - __umulh
    - static_cast<uint128_t>
    linkageType: ''
    returnType: void
    signature: void mul64x64_128(uint64_t a, uint64_t b, uint64_t* lo, uint64_t* hi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/rounding.h:28,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/rounding.h:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - align_to
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: Botan::round_up
    functionSourceFile: /src/botan/src/lib/utils/rounding.h
    functionUses: 2
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t round_up(size_t n, size_t align_to)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Botan::ignore_param
    functionSourceFile: /src/botan/src/lib/utils/assert.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ignore_param(T&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ignore_param
      Src: /src/botan/src/lib/utils/assert.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::ignore_params
    functionSourceFile: /src/botan/src/lib/utils/assert.h
    functionUses: 0
    functionsReached:
    - Botan::ignore_param
    linkageType: ''
    returnType: void
    signature: void ignore_params(T&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::checked_mul
      Src: /src/botan/src/lib/utils/allocator.cpp:27,1
    - Dst: std::bad_alloc
      Src: /src/botan/src/lib/utils/allocator.cpp:28,1
    - Dst: std::bad_alloc
      Src: /src/botan/src/lib/utils/allocator.cpp:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - elems
    - elem_size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 46
    functionName: Botan::allocate_memory
    functionSourceFile: /src/botan/src/lib/utils/allocator.cpp
    functionUses: 0
    functionsReached:
    - Botan::checked_mul
    - std::bad_alloc
    linkageType: ''
    returnType: BOTAN_MALLOC_FN
    signature: BOTAN_MALLOC_FN * allocate_memory(size_t elems, size_t elem_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_scrub_memory
      Src: /src/botan/src/lib/utils/allocator.cpp:53,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/utils/allocator.cpp:56,1
    - Dst: std::free
      Src: /src/botan/src/lib/utils/allocator.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p
    - elems
    - elem_size
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: Botan::deallocate_memory
    functionSourceFile: /src/botan/src/lib/utils/allocator.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - std::free
    - Botan::secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void deallocate_memory(void* p, size_t elems, size_t elem_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/utils/allocator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Botan::initialize_allocator
    functionSourceFile: /src/botan/src/lib/utils/allocator.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: void
    signature: void initialize_allocator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::get_system_timestamp_ns
      Src: /src/botan/src/lib/utils/time_utils.h:28,1
    - Dst: OS::get_system_timestamp_ns
      Src: /src/botan/src/lib/utils/time_utils.h:31,1
    - Dst: func
      Src: /src/botan/src/lib/utils/time_utils.h:32,1
    - Dst: OS::get_system_timestamp_ns
      Src: /src/botan/src/lib/utils/time_utils.h:33,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/time_utils.h:46,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/time_utils.h:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - trial_msec
    - func
    argTypes:
    - std::chrono::milliseconds
    - F
    constantsTouched: []
    func_position:
      end: 49
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 49
    functionName: Botan::measure_cost
    functionSourceFile: /src/botan/src/lib/utils/time_utils.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Not_Implemented
    - OS::get_system_timestamp_ns
    - func
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t measure_cost(std::chrono::milliseconds trial_msec, F func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::deque::push_back
      Src: /src/botan/src/lib/utils/filesystem.cpp:38,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/filesystem.cpp:38,1
    - Dst: std::deque::empty
      Src: /src/botan/src/lib/utils/filesystem.cpp:40,1
    - Dst: std::deque::pop_front
      Src: /src/botan/src/lib/utils/filesystem.cpp:42,1
    - Dst: ::opendir
      Src: /src/botan/src/lib/utils/filesystem.cpp:44,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/filesystem.cpp:44,1
    - Dst: Botan::impl_readdir
      Src: /src/botan/src/lib/utils/filesystem.cpp:47,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/lib/utils/filesystem.cpp:47,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/filesystem.cpp:55,1
    - Dst: ::stat
      Src: /src/botan/src/lib/utils/filesystem.cpp:59,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/filesystem.cpp:59,1
    - Dst: S_ISDIR
      Src: /src/botan/src/lib/utils/filesystem.cpp:63,1
    - Dst: std::deque::push_back
      Src: /src/botan/src/lib/utils/filesystem.cpp:64,1
    - Dst: S_ISREG
      Src: /src/botan/src/lib/utils/filesystem.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/filesystem.cpp:66,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - dir_path
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: Botan::impl_readdir
    functionSourceFile: /src/botan/src/lib/utils/filesystem.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - S_ISDIR
    - std::deque::push_back
    - std::ostringstream::str
    - std::string::c_str
    - ::opendir
    - ::stat
    - std::string
    - S_ISREG
    - std::unique_ptr::get
    - std::deque::empty
    - Botan::impl_readdir
    - std::deque::pop_front
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> impl_readdir(std::string_view dir_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::deque::push_back
      Src: /src/botan/src/lib/utils/filesystem.cpp:80,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/filesystem.cpp:80,1
    - Dst: std::deque::empty
      Src: /src/botan/src/lib/utils/filesystem.cpp:82,1
    - Dst: std::deque::pop_front
      Src: /src/botan/src/lib/utils/filesystem.cpp:84,1
    - Dst: ::FindFirstFileA
      Src: /src/botan/src/lib/utils/filesystem.cpp:87,1
    - Dst: c_str
      Src: /src/botan/src/lib/utils/filesystem.cpp:87,1
    - Dst: std::deque::push_back
      Src: /src/botan/src/lib/utils/filesystem.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/filesystem.cpp:99,1
    - Dst: ::FindNextFileA
      Src: /src/botan/src/lib/utils/filesystem.cpp:101,1
    - Dst: ::FindClose
      Src: /src/botan/src/lib/utils/filesystem.cpp:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - dir_path
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 108
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 108
    functionName: Botan::impl_win32
    functionSourceFile: /src/botan/src/lib/utils/filesystem.cpp
    functionUses: 0
    functionsReached:
    - std::deque::push_back
    - ::FindClose
    - std::string
    - ::FindNextFileA
    - ::FindFirstFileA
    - std::deque::empty
    - c_str
    - std::vector::push_back
    - std::deque::pop_front
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> impl_win32(std::string_view dir_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: Botan::has_filesystem_impl
    functionSourceFile: /src/botan/src/lib/utils/filesystem.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_filesystem_impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::impl_readdir
      Src: /src/botan/src/lib/utils/filesystem.cpp:127,1
    - Dst: Botan::impl_win32
      Src: /src/botan/src/lib/utils/filesystem.cpp:129,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/filesystem.cpp:131,1
    - Dst: No_Filesystem_Access
      Src: /src/botan/src/lib/utils/filesystem.cpp:132,1
    - Dst: std::sort
      Src: /src/botan/src/lib/utils/filesystem.cpp:135,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/utils/filesystem.cpp:135,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/utils/filesystem.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dir
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 138
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 138
    functionName: Botan::get_files_recursive
    functionSourceFile: /src/botan/src/lib/utils/filesystem.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_UNUSED
    - No_Filesystem_Access
    - std::sort
    - std::vector::begin
    - Botan::impl_readdir
    - std::vector::end
    - Botan::impl_win32
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> get_files_recursive(std::string_view dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/botan/src/lib/utils/data_src.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan::DataSource::read_byte
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource::read_byte(uint8_t& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek
      Src: /src/botan/src/lib/utils/data_src.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::DataSource::peek_byte
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - peek
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource::peek_byte(uint8_t& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: Botan::DataSource::discard_next
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource::discard_next(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/utils/data_src.cpp:62,1
    - Dst: data
      Src: /src/botan/src/lib/utils/data_src.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: Botan::DataSource_Memory::read
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource_Memory::read(uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/data_src.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::DataSource_Memory::check_available
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool DataSource_Memory::check_available(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/utils/data_src.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - out
    - length
    - peek_offset
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: Botan::DataSource_Memory::peek
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource_Memory::peek(uint8_t out[], size_t length, size_t
      peek_offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/data_src.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::DataSource_Memory::end_of_data
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool DataSource_Memory::end_of_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/utils/data_src.cpp:96,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/utils/data_src.cpp:96,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/utils/data_src.cpp:96,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/utils/data_src.cpp:96,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/utils/data_src.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: Botan::DataSource_Memory::DataSource_Memory
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - cast_char_ptr_to_uint8
    - std::string_view::data
    - std::string_view::length
    linkageType: ''
    returnType: void
    signature: void DataSource_Memory::DataSource_Memory(std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DataSource_Stream::read
      Src: /src/botan/src/lib/utils/data_src.cpp:102,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/data_src.cpp:102,1
    - Dst: bad
      Src: /src/botan/src/lib/utils/data_src.cpp:103,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/utils/data_src.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: Botan::DataSource_Stream::read
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 1
    functionsReached:
    - Stream_IO_Error
    - cast_uint8_ptr_to_char
    - Botan::DataSource_Stream::read
    - bad
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource_Stream::read(uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/botan/src/lib/utils/data_src.cpp:113,1
    - Dst: seekg
      Src: /src/botan/src/lib/utils/data_src.cpp:114,1
    - Dst: seekg
      Src: /src/botan/src/lib/utils/data_src.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: Botan::DataSource_Stream::check_available
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - seekg
    - tellg
    linkageType: ''
    returnType: bool
    signature: bool DataSource_Stream::check_available(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DataSource_Stream::end_of_data
      Src: /src/botan/src/lib/utils/data_src.cpp:124,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/data_src.cpp:125,1
    - Dst: Botan::DataSource_Stream::read
      Src: /src/botan/src/lib/utils/data_src.cpp:132,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/data_src.cpp:132,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/utils/data_src.cpp:132,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/utils/data_src.cpp:132,1
    - Dst: bad
      Src: /src/botan/src/lib/utils/data_src.cpp:133,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/utils/data_src.cpp:134,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/data_src.cpp:136,1
    - Dst: gcount
      Src: /src/botan/src/lib/utils/data_src.cpp:136,1
    - Dst: Botan::DataSource_Stream::read
      Src: /src/botan/src/lib/utils/data_src.cpp:140,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/data_src.cpp:140,1
    - Dst: bad
      Src: /src/botan/src/lib/utils/data_src.cpp:141,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/utils/data_src.cpp:142,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/data_src.cpp:144,1
    - Dst: gcount
      Src: /src/botan/src/lib/utils/data_src.cpp:144,1
    - Dst: eof
      Src: /src/botan/src/lib/utils/data_src.cpp:147,1
    - Dst: clear
      Src: /src/botan/src/lib/utils/data_src.cpp:148,1
    - Dst: seekg
      Src: /src/botan/src/lib/utils/data_src.cpp:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - out
    - length
    - offset
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 153
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 153
    functionName: Botan::DataSource_Stream::peek
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - Stream_IO_Error
    - clear
    - eof
    - seekg
    - static_cast<size_t>
    - gcount
    - Invalid_State
    - bad
    - Botan::DataSource_Stream::end_of_data
    - secure_vector::size
    - cast_uint8_ptr_to_char
    - Botan::DataSource_Stream::read
    - secure_vector::data
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource_Stream::peek(uint8_t out[], size_t length, size_t
      offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/lib/utils/data_src.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Botan::DataSource_Stream::end_of_data
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 4
    functionsReached:
    - good
    linkageType: ''
    returnType: bool
    signature: bool DataSource_Stream::end_of_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan::DataSource_Stream::id
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DataSource_Stream::id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<std::ifstream>
      Src: /src/botan/src/lib/utils/data_src.cpp:176,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/data_src.cpp:176,1
    - Dst: good
      Src: /src/botan/src/lib/utils/data_src.cpp:179,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/utils/data_src.cpp:180,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/data_src.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - path
    - use_binary
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: Botan::DataSource_Stream::DataSource_Stream
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<std::ifstream>
    - good
    - std::string
    - Stream_IO_Error
    - fmt
    linkageType: ''
    returnType: void
    signature: void DataSource_Stream::DataSource_Stream(std::string_view path, bool
      use_binary)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' in'
    - name
    argTypes:
    - std::istream
    - std::string_view
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: Botan::DataSource_Stream::DataSource_Stream
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSource_Stream::DataSource_Stream(std::istream& in, std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: DataSource_Stream::~DataSource_Stream()
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSource_Stream::~DataSource_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 54
    argCount: 1
    argNames:
    - type
    argTypes:
    - ErrorType
    constantsTouched: []
    func_position:
      end: 69
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 69
    functionName: Botan::to_string
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(ErrorType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::Exception::Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception::Exception(std::string_view msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:73,1
    - Dst: what
      Src: /src/botan/src/lib/utils/exceptn.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - ' e'
    argTypes:
    - std::string_view
    - std::exception
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::Exception::Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - what
    linkageType: ''
    returnType: void
    signature: void Exception::Exception(std::string_view msg, const std::exception&
      e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - prefix
    - msg
    argTypes:
    - char*
    - std::string_view
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::Exception::Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Exception::Exception(const char* prefix, std::string_view msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::Invalid_Argument::Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Invalid_Argument::Invalid_Argument(std::string_view msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - where
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: Botan::Invalid_Argument::Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Invalid_Argument::Invalid_Argument(std::string_view msg, std::string_view
      where)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - ' e'
    argTypes:
    - std::string_view
    - std::exception
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan::Invalid_Argument::Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Invalid_Argument::Invalid_Argument(std::string_view msg, const
      std::exception& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/exceptn.cpp:87,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:88,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - type
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: Botan::format_lookup_error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - std::string_view::empty
    linkageType: ''
    returnType: std::string
    signature: std::string format_lookup_error(std::string_view type, std::string_view
      algo, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format_lookup_error
      Src: /src/botan/src/lib/utils/exceptn.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: Botan::Lookup_Error::Lookup_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - format_lookup_error
    linkageType: ''
    returnType: void
    signature: void Lookup_Error::Lookup_Error(std::string_view type, std::string_view
      algo, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::Internal_Error::Internal_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Internal_Error::Internal_Error(std::string_view err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - algo_name
    - field_name
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: Botan::Unknown_PK_Field_Name::Unknown_PK_Field_Name
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Unknown_PK_Field_Name::Unknown_PK_Field_Name(std::string_view
      algo_name, std::string_view field_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - length
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: Botan::Invalid_Key_Length::Invalid_Key_Length
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Invalid_Key_Length::Invalid_Key_Length(std::string_view name,
      size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mode
    - bad_len
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: Botan::Invalid_IV_Length::Invalid_IV_Length
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Invalid_IV_Length::Invalid_IV_Length(std::string_view mode, size_t
      bad_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::Key_Not_Set::Key_Not_Set
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Key_Not_Set::Key_Not_Set(std::string_view algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan::PRNG_Unseeded::PRNG_Unseeded
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void PRNG_Unseeded::PRNG_Unseeded(std::string_view algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: Botan::Algorithm_Not_Found::Algorithm_Not_Found
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Algorithm_Not_Found::Algorithm_Not_Found(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: Botan::Provider_Not_Found::Provider_Not_Found
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Provider_Not_Found::Provider_Not_Found(std::string_view algo,
      std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: Botan::Invalid_Algorithm_Name::Invalid_Algorithm_Name
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Invalid_Algorithm_Name::Invalid_Algorithm_Name(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: Botan::Encoding_Error::Encoding_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Encoding_Error::Encoding_Error(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan::Decoding_Error::Decoding_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decoding_Error::Decoding_Error(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - category
    - err
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: Botan::Decoding_Error::Decoding_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Decoding_Error::Decoding_Error(std::string_view category, std::string_view
      err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - ' e'
    argTypes:
    - std::string_view
    - std::exception
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::Decoding_Error::Decoding_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decoding_Error::Decoding_Error(std::string_view msg, const std::exception&
      e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: Botan::Invalid_Authentication_Tag::Invalid_Authentication_Tag
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Invalid_Authentication_Tag::Invalid_Authentication_Tag(std::string_view
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::Stream_IO_Error::Stream_IO_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream_IO_Error::Stream_IO_Error(std::string_view err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - err_code
    argTypes:
    - std::string_view
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: Botan::System_Error::System_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 3
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void System_Error::System_Error(std::string_view msg, int err_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Botan::Not_Implemented::Not_Implemented
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Not_Implemented::Not_Implemented(std::string_view err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/prefetch.cpp:30,1
    - Dst: __builtin_prefetch
      Src: /src/botan/src/lib/utils/prefetch.cpp:32,1
    - Dst: Botan::ct_is_zero
      Src: /src/botan/src/lib/utils/prefetch.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bytes
    - arrayv
    argTypes:
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 44
    functionName: Botan::prefetch_array_raw
    functionSourceFile: /src/botan/src/lib/utils/prefetch.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_COMPILER_HAS_BUILTIN
    - Botan::ct_is_zero
    - __builtin_prefetch
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t prefetch_array_raw(size_t bytes, const void* arrayv) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::id
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::DataSource
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSource()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~DataSource()
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DataSource()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::DataSource
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSource(const DataSource&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::DataSource
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSource(DataSource&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/data_src.h:127,1
    - Dst: begin
      Src: /src/botan/src/lib/utils/data_src.h:133,1
    - Dst: end
      Src: /src/botan/src/lib/utils/data_src.h:133,1
    - Dst: begin
      Src: /src/botan/src/lib/utils/data_src.h:139,1
    - Dst: end
      Src: /src/botan/src/lib/utils/data_src.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 146
    functionName: DataSource
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached:
    - std::move
    - end
    - begin
    linkageType: ''
    returnType: DataSource_Memory
    signature: DataSource_Memory DataSource
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 185
    functionName: DataSource
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DataSource_Stream
    signature: DataSource_Stream DataSource
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_scrub_memory
      Src: /src/botan/src/lib/utils/mem_ops.h:61,1
    - Dst: data
      Src: /src/botan/src/lib/utils/mem_ops.h:61,1
    - Dst: Botan::ranges::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - ranges::contiguous_output_range auto
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Botan::secure_scrub_memory
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 5
    functionsReached:
    - data
    - Botan::ranges::size_bytes
    - Botan::secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void secure_scrub_memory(ranges::contiguous_output_range auto&& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::constant_time_compare
      Src: /src/botan/src/lib/utils/mem_ops.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: Botan::constant_time_compare
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 2
    functionsReached:
    - Botan::constant_time_compare
    linkageType: ''
    returnType: bool
    signature: bool constant_time_compare(const uint8_t x[], const uint8_t y[], size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/botan/src/lib/utils/mem_ops.h:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - bytes
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: Botan::clear_bytes
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 0
    functionsReached:
    - std::memset
    linkageType: ''
    returnType: void
    signature: void clear_bytes(void* ptr, size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Botan::clear_mem
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 19
    functionsReached:
    - Botan::clear_bytes
    linkageType: ''
    returnType: void
    signature: void clear_mem(T* ptr, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:138,1
    - Dst: data
      Src: /src/botan/src/lib/utils/mem_ops.h:138,1
    - Dst: Botan::ranges::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' mem'
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Botan::clear_mem
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 19
    functionsReached:
    - data
    - Botan::ranges::size_bytes
    - Botan::clear_bytes
    linkageType: ''
    returnType: void
    signature: "void clear_mem(R&& mem)  // NOLINT(*-missing-std-forward)\n   requires
      std::is_trivially_copyable_v<std::ranges::range_value_t<R>>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_IMPLICATION
      Src: /src/botan/src/lib/utils/mem_ops.h:150,1
    - Dst: std::memmove
      Src: /src/botan/src/lib/utils/mem_ops.h:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - out
    - in
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: Botan::copy_mem
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 55
    functionsReached:
    - std::memmove
    - BOTAN_ASSERT_IMPLICATION
    linkageType: ''
    returnType: void
    signature: void copy_mem(T* out, const T* in, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_equal_byte_lengths
      Src: /src/botan/src/lib/utils/mem_ops.h:166,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/mem_ops.h:167,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/utils/mem_ops.h:168,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/utils/mem_ops.h:168,1
    - Dst: cryptofuzz::util::Append
      Src: /src/botan/src/lib/utils/mem_ops.h:168,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/utils/mem_ops.h:168,1
    - Dst: Botan::ranges::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:169,1
    - Dst: std::memmove
      Src: /src/botan/src/lib/utils/mem_ops.h:170,1
    - Dst: data
      Src: /src/botan/src/lib/utils/mem_ops.h:170,1
    - Dst: data
      Src: /src/botan/src/lib/utils/mem_ops.h:170,1
    - Dst: Botan::ranges::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - OutR
    - InR
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: Botan::copy_mem
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 55
    functionsReached:
    - Botan::copy
    - std::is_constant_evaluated
    - data
    - std::memmove
    - Botan::ranges::size_bytes
    - Botan::ranges::assert_equal_byte_lengths
    - cryptofuzz::util::Append
    - Botan::begin
    linkageType: ''
    returnType: void
    signature: void copy_mem(OutR&& out /* NOLINT(*-std-forward) */, const InR& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_equal_byte_lengths
      Src: /src/botan/src/lib/utils/mem_ops.h:182,1
    - Dst: std::memcpy
      Src: /src/botan/src/lib/utils/mem_ops.h:183,1
    - Dst: data
      Src: /src/botan/src/lib/utils/mem_ops.h:183,1
    - Dst: data
      Src: /src/botan/src/lib/utils/mem_ops.h:183,1
    - Dst: Botan::ranges::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - ToR
    - FromR
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 6
    functionsReached:
    - std::memcpy
    - data
    - Botan::ranges::size_bytes
    - Botan::ranges::assert_equal_byte_lengths
    linkageType: ''
    returnType: void
    signature: void typecast_copy(ToR&& out /* NOLINT(*-std-forward) */, const FromR&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:194,1
    - Dst: std::span<ToT, 1>
      Src: /src/botan/src/lib/utils/mem_ops.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - ToT
    - FromR
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 7
    functionsReached:
    - std::span<ToT, 1>
    - Botan::typecast_copy
    linkageType: ''
    returnType: void
    signature: void typecast_copy(ToT& out, const FromR& in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:205,1
    - Dst: std::span<const FromT, 1>
      Src: /src/botan/src/lib/utils/mem_ops.h:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - ToR
    - FromT
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 8
    functionsReached:
    - Botan::typecast_copy
    - std::span<const FromT, 1>
    linkageType: ''
    returnType: void
    signature: void typecast_copy(ToR&& out /* NOLINT(*-std-forward) */, const FromT&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - FromR
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 9
    functionsReached:
    - Botan::typecast_copy
    linkageType: ''
    returnType: ToT
    signature: ToT typecast_copy(const FromR& src) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:227,1
    - Dst: std::span<uint8_t>
      Src: /src/botan/src/lib/utils/mem_ops.h:227,1
    - Dst: std::span<const T>
      Src: /src/botan/src/lib/utils/mem_ops.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - in
    - N
    argTypes:
    - uint8_t[]
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 10
    functionsReached:
    - std::span<const T>
    - Botan::typecast_copy
    - std::span<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void typecast_copy(uint8_t out[], T in[], size_t N)\n   requires std::is_trivially_copyable_v<T>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:236,1
    - Dst: std::span<T>
      Src: /src/botan/src/lib/utils/mem_ops.h:236,1
    - Dst: std::span<const uint8_t>
      Src: /src/botan/src/lib/utils/mem_ops.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - in
    - N
    argTypes:
    - T[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 11
    functionsReached:
    - std::span<const uint8_t>
    - Botan::typecast_copy
    - std::span<T>
    linkageType: ''
    returnType: void
    signature: "void typecast_copy(T out[], const uint8_t in[], size_t N)\n   requires
      std::is_trivial_v<T>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:243,1
    - Dst: std::span<uint8_t, sizeof(T)>
      Src: /src/botan/src/lib/utils/mem_ops.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - ' in'
    argTypes:
    - uint8_t[]
    - T
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 12
    functionsReached:
    - std::span<uint8_t, sizeof(T)>
    - Botan::typecast_copy
    linkageType: ''
    returnType: void
    signature: void typecast_copy(uint8_t out[], const T& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:251,1
    - Dst: std::span<const uint8_t, sizeof(T)>
      Src: /src/botan/src/lib/utils/mem_ops.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - in
    argTypes:
    - T
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 13
    functionsReached:
    - std::span<const uint8_t, sizeof(T)>
    - Botan::typecast_copy
    linkageType: ''
    returnType: void
    signature: void typecast_copy(T& out, const uint8_t in[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:259,1
    - Dst: std::span<const uint8_t, sizeof(To)>
      Src: /src/botan/src/lib/utils/mem_ops.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 14
    functionsReached:
    - Botan::typecast_copy
    - std::span<const uint8_t, sizeof(To)>
    linkageType: ''
    returnType: To
    signature: To typecast_copy(const uint8_t src[]) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/botan/src/lib/utils/mem_ops.h:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - n
    - val
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: Botan::set_mem
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 0
    functionsReached:
    - std::memset
    linkageType: ''
    returnType: void
    signature: void set_mem(uint8_t* ptr, size_t n, uint8_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/utils/mem_ops.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: Botan::cast_char_ptr_to_uint8
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 9
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * cast_char_ptr_to_uint8(const char* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/lib/utils/mem_ops.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: Botan::cast_uint8_ptr_to_char
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: char
    signature: char * cast_uint8_ptr_to_char(const uint8_t* b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/mem_ops.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: Botan::cast_char_ptr_to_uint8
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 9
    functionsReached:
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * cast_char_ptr_to_uint8(char* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/lib/utils/mem_ops.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: Botan::cast_uint8_ptr_to_char
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: char
    signature: char * cast_uint8_ptr_to_char(uint8_t* b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p1
    - p2
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: Botan::same_mem
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool same_mem(const T* p1, const T* p2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/mem_ops.h:318,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/mem_ops.h:318,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/utils/mem_ops.h:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' buf'
    - buf_offset
    - input
    - input_length
    argTypes:
    - std::vector<T, Alloc>
    - size_t
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: Botan::buffer_insert
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t buffer_insert(std::vector<T, Alloc>& buf, size_t buf_offset,
      const T input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/mem_ops.h:329,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/mem_ops.h:329,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/utils/mem_ops.h:332,1
    - Dst: data
      Src: /src/botan/src/lib/utils/mem_ops.h:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' buf'
    - buf_offset
    - ' input'
    argTypes:
    - std::vector<T, Alloc>
    - size_t
    - std::vector<T, Alloc2>
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: Botan::buffer_insert
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    - data
    - Botan::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t buffer_insert(std::vector<T, Alloc>& buf, size_t buf_offset,
      const std::vector<T, Alloc2>& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_equal_byte_lengths
      Src: /src/botan/src/lib/utils/mem_ops.h:346,1
    - Dst: std::span::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:351,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/mem_ops.h:351,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/mem_ops.h:351,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:352,1
    - Dst: std::span::template first<32>
      Src: /src/botan/src/lib/utils/mem_ops.h:352,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:353,1
    - Dst: std::span::template first<32>
      Src: /src/botan/src/lib/utils/mem_ops.h:353,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:360,1
    - Dst: std::span::template first<32>
      Src: /src/botan/src/lib/utils/mem_ops.h:360,1
    - Dst: std::span::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - ranges::contiguous_output_range<uint8_t> auto
    - ranges::contiguous_range<uint8_t> auto
    constantsTouched: []
    func_position:
      end: 366
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 366
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 11
    functionsReached:
    - std::span::subspan
    - std::span::size_bytes
    - Botan::ranges::assert_equal_byte_lengths
    - Botan::typecast_copy
    - std::span::template first<32>
    linkageType: ''
    returnType: void
    signature: "void xor_buf(ranges::contiguous_output_range<uint8_t> auto&& out,\n
      \                             ranges::contiguous_range<uint8_t> auto&& in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_equal_byte_lengths
      Src: /src/botan/src/lib/utils/mem_ops.h:377,1
    - Dst: std::span::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:383,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/mem_ops.h:383,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/mem_ops.h:383,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/mem_ops.h:383,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:384,1
    - Dst: std::span::template first<32>
      Src: /src/botan/src/lib/utils/mem_ops.h:384,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:385,1
    - Dst: std::span::template first<32>
      Src: /src/botan/src/lib/utils/mem_ops.h:385,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:392,1
    - Dst: std::span::template first<32>
      Src: /src/botan/src/lib/utils/mem_ops.h:392,1
    - Dst: std::span::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' out'
    - ' in1'
    - ' in2'
    argTypes:
    - ranges::contiguous_output_range<uint8_t> auto
    - ranges::contiguous_range<uint8_t> auto
    - ranges::contiguous_range<uint8_t> auto
    constantsTouched: []
    func_position:
      end: 398
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 398
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 11
    functionsReached:
    - std::span::subspan
    - std::span::size_bytes
    - Botan::ranges::assert_equal_byte_lengths
    - Botan::typecast_copy
    - std::span::template first<32>
    linkageType: ''
    returnType: void
    signature: "void xor_buf(ranges::contiguous_output_range<uint8_t> auto&& out,\n
      \                             ranges::contiguous_range<uint8_t> auto&& in1,\n
      \                             ranges::contiguous_range<uint8_t> auto&& in2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/utils/mem_ops.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - in
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 12
    functionsReached:
    - Botan::xor_buf
    linkageType: ''
    returnType: void
    signature: void xor_buf(uint8_t out[], const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/utils/mem_ops.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - in
    - in2
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 13
    functionsReached:
    - Botan::xor_buf
    linkageType: ''
    returnType: void
    signature: void xor_buf(uint8_t out[], const uint8_t in[], const uint8_t in2[],
      size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/mem_ops.h:425,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.h:425,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/mem_ops.h:426,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.h:426,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/utils/mem_ops.h:427,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/utils/mem_ops.h:427,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/utils/mem_ops.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - n
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 14
    functionsReached:
    - std::span<uint8_t>::size
    - std::span<const uint8_t>::first
    - std::span<uint8_t>::first
    - std::span<const uint8_t>::size
    - Botan::xor_buf
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void xor_buf(std::span<uint8_t> out, std::span<const uint8_t> in, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/mem_ops.h:433,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/mem_ops.h:433,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/utils/mem_ops.h:435,1
    - Dst: first
      Src: /src/botan/src/lib/utils/mem_ops.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' out'
    - in
    - n
    argTypes:
    - std::vector<uint8_t, Alloc>
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 15
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::xor_buf
    - Botan::size
    - first
    linkageType: ''
    returnType: void
    signature: void xor_buf(std::vector<uint8_t, Alloc>& out, const uint8_t* in, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/mem_ops.h:441,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/mem_ops.h:441,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/mem_ops.h:442,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/mem_ops.h:442,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/utils/mem_ops.h:444,1
    - Dst: first
      Src: /src/botan/src/lib/utils/mem_ops.h:444,1
    - Dst: first
      Src: /src/botan/src/lib/utils/mem_ops.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' out'
    - in
    - ' in2'
    - n
    argTypes:
    - std::vector<uint8_t, Alloc>
    - uint8_t*
    - std::vector<uint8_t, Alloc2>
    - size_t
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 16
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::xor_buf
    - Botan::size
    - first
    linkageType: ''
    returnType: void
    signature: void xor_buf(std::vector<uint8_t, Alloc>& out, const uint8_t* in, const
      std::vector<uint8_t, Alloc2>& in2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_ops.h:449,1
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_ops.h:449,1
    - Dst: resize
      Src: /src/botan/src/lib/utils/mem_ops.h:450,1
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_ops.h:450,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/utils/mem_ops.h:453,1
    - Dst: first
      Src: /src/botan/src/lib/utils/mem_ops.h:453,1
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_ops.h:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - std::vector<uint8_t, Alloc>
    - std::vector<uint8_t, Alloc2>
    constantsTouched: []
    func_position:
      end: 455
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 455
    functionName: '& operator^=(std::vector<uint8_t, Alloc>& out, const std::vector<uint8_t,
      Alloc2>& in)'
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 0
    functionsReached:
    - resize
    - xor_buf
    - size
    - first
    linkageType: ''
    returnType: std::vector<uint8_t, Alloc>
    signature: std::vector<uint8_t, Alloc> & operator^=(std::vector<uint8_t, Alloc>&
      out, const std::vector<uint8_t, Alloc2>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::detail::Strong_Base::Strong_Base
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Strong_Base()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::detail::Strong_Base::Strong_Base
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Strong_Base(const Strong_Base&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::detail::Strong_Base::Strong_Base
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Strong_Base(Strong_Base&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& operator=(const Strong_Base&)'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Strong_Base
    signature: Strong_Base & operator=(const Strong_Base&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(Strong_Base&&) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Strong_Base
    signature: Strong_Base & operator=(Strong_Base&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~Strong_Base()
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Strong_Base()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/strong_type.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::detail::Strong_Base::Strong_Base
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Strong_Base(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& get() &'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get() &
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& get() const&'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get() const&
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/strong_type.h:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&& get() &&'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: T
    signature: T && get() &&
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/strong_type.h:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&& get() const&&'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: T
    signature: T && get() const&&
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/strong_type.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::detail::Container_Strong_Adapter_Base::Container_Strong_Adapter_Base
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - T
    linkageType: ''
    returnType: void
    signature: "void Container_Strong_Adapter_Base(size_t size)\n         requires(concepts::resizable_container<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/strong_type.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - InputIt
    - InputIt
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::detail::Container_Strong_Adapter_Base::Container_Strong_Adapter_Base
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - T
    linkageType: ''
    returnType: void
    signature: void Container_Strong_Adapter_Base(InputIt begin, InputIt end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:92,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:92,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::detail::Container_Strong_Adapter_Base::begin
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() noexcept(noexcept(this->get().begin()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:94,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:94,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::detail::Container_Strong_Adapter_Base::begin
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() const noexcept(noexcept(this->get().begin()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:96,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:96,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan::detail::Container_Strong_Adapter_Base::end
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() noexcept(noexcept(this->get().end()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:98,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:98,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::detail::Container_Strong_Adapter_Base::end
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() const noexcept(noexcept(this->get().end()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:100,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:100,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan::detail::Container_Strong_Adapter_Base::cbegin
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) cbegin() noexcept(noexcept(this->get().cbegin()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:102,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:102,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::detail::Container_Strong_Adapter_Base::cbegin
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) cbegin() const noexcept(noexcept(this->get().cbegin()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:104,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:104,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan::detail::Container_Strong_Adapter_Base::cend
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) cend() noexcept(noexcept(this->get().cend()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:106,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:106,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::detail::Container_Strong_Adapter_Base::cend
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) cend() const noexcept(noexcept(this->get().cend()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:108,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:108,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Botan::detail::Container_Strong_Adapter_Base::size
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: size_type
    signature: size_type size() const noexcept(noexcept(this->get().size()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:110,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:110,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: Botan::detail::Container_Strong_Adapter_Base::empty
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: bool
    signature: "bool empty() const noexcept(noexcept(this->get().empty()))\n         requires(concepts::has_empty<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:116,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:116,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: Botan::detail::Container_Strong_Adapter_Base::resize
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: void
    signature: "void resize(size_type size) noexcept(noexcept(this->get().resize(size)))\n
      \        requires(concepts::resizable_container<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:122,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:122,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: Botan::detail::Container_Strong_Adapter_Base::reserve
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: void
    signature: "void reserve(size_type size) noexcept(noexcept(this->get().reserve(size)))\n
      \        requires(concepts::reservable_container<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:129,1
    - Dst: Botan::detail::get
      Src: /src/botan/src/lib/utils/strong_type.h:129,1
    - Dst: Botan::detail::get
      Src: /src/botan/src/lib/utils/strong_type.h:130,1
    - Dst: std::forward<U>
      Src: /src/botan/src/lib/utils/strong_type.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - U
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: operator[](U&& i) const noexcept(noexcept(this->get().operator[](i)))
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::get
    - std::forward<U>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator[](U&& i) const noexcept(noexcept(this->get().operator[](i)))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:134,1
    - Dst: Botan::detail::get
      Src: /src/botan/src/lib/utils/strong_type.h:134,1
    - Dst: Botan::detail::get
      Src: /src/botan/src/lib/utils/strong_type.h:135,1
    - Dst: std::forward<U>
      Src: /src/botan/src/lib/utils/strong_type.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - U
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: operator[](U&& i) noexcept(noexcept(this->get().operator[](i)))
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::get
    - std::forward<U>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator[](U&& i) noexcept(noexcept(this->get().operator[](i)))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:139,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:139,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:142,1
    - Dst: std::forward<U>
      Src: /src/botan/src/lib/utils/strong_type.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - U
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: Botan::detail::Container_Strong_Adapter_Base::at
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    - std::forward<U>
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) at(U&& i) const noexcept(noexcept(this->get().at(i)))\n
      \        requires(concepts::has_bounds_checked_accessors<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:146,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:146,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:149,1
    - Dst: std::forward<U>
      Src: /src/botan/src/lib/utils/strong_type.h:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - U
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: Botan::detail::Container_Strong_Adapter_Base::at
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    - std::forward<U>
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) at(U&& i) noexcept(noexcept(this->get().at(i)))\n         requires(concepts::has_bounds_checked_accessors<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/strong_type.h:169,1
    - Dst: std::span<const typename Container_Strong_Adapter_Base<T>::value_type>::begin
      Src: /src/botan/src/lib/utils/strong_type.h:169,1
    - Dst: std::span<const typename Container_Strong_Adapter_Base<T>::value_type>::end
      Src: /src/botan/src/lib/utils/strong_type.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - span
    argTypes:
    - std::span<const typename Container_Strong_Adapter_Base<T>::value_type>
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: Botan::detail::Strong_Adapter<T>::Strong_Adapter
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - std::span<const typename Container_Strong_Adapter_Base<T>::value_type>::begin
    - T
    - std::span<const typename Container_Strong_Adapter_Base<T>::value_type>::end
    linkageType: ''
    returnType: void
    signature: void Strong_Adapter(std::span<const typename Container_Strong_Adapter_Base<T>::value_type>
      span)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/strong_type.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: Botan::detail::Strong_Adapter<T>::Strong_Adapter
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: "void Strong_Adapter(const char* str)\n         requires(std::same_as<T,
      std::string>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:179,1
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/strong_type.h:179,1
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/strong_type.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan::detail::Strong_Adapter<T>::data
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) data() noexcept(noexcept(this->get().data()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:181,1
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/strong_type.h:181,1
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/strong_type.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: Botan::detail::Strong_Adapter<T>::data
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) data() const noexcept(noexcept(this->get().data()))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: Botan::Strong::has_capability
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_capability()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/botan/src/lib/utils/strong_type.h:227,1
    - Dst: std::forward<T>
      Src: /src/botan/src/lib/utils/strong_type.h:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: Botan::unwrap_strong_type
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 2
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) unwrap_strong_type(T&& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<ParamT>
      Src: /src/botan/src/lib/utils/strong_type.h:252,1
    - Dst: std::forward<ParamT>
      Src: /src/botan/src/lib/utils/strong_type.h:255,1
    - Dst: std::forward<ParamT>
      Src: /src/botan/src/lib/utils/strong_type.h:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - ParamT
    constantsTouched: []
    func_position:
      end: 262
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionName: Botan::wrap_strong_type
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 1
    functionsReached:
    - std::forward<ParamT>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) wrap_strong_type(ParamT&& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/utils/strong_type.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' v'
    argTypes:
    - std::ostream
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: operator<<(std::ostream& os, const Strong<T, Tags...>& v)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator<<(std::ostream& os, const Strong<T, Tags...>&
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:299,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: operator==(const Strong<T, Tags...>& lhs, const Strong<T, Tags...>&
      rhs)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Strong<T, Tags...>& lhs, const Strong<T, Tags...>&
      rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:305,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: operator<=>(const Strong<T, Tags...>& lhs, const Strong<T, Tags...>&
      rhs)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator<=>(const Strong<T, Tags...>& lhs, const Strong<T, Tags...>&
      rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: operator<=>(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator<=>(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: operator<=>(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator<=>(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: operator==(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator==(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: operator==(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator==(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:331,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: operator+(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator+(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:337,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: operator+(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    - Strong<T1, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator+(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:342,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:342,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: operator+(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>::get
    - Strong<T, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator+(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:348,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: operator-(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator-(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:354,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: operator-(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    - Strong<T1, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator-(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:359,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:359,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: operator-(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>::get
    - Strong<T, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator-(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:365,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: operator*(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator*(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:371,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: operator*(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    - Strong<T1, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator*(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:376,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:376,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: operator*(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>::get
    - Strong<T, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator*(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:382,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: operator/(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator/(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:388,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: operator/(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    - Strong<T1, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator/(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:393,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:393,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: operator/(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>::get
    - Strong<T, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator/(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:399,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: operator^(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator^(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:405,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: operator^(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    - Strong<T1, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator^(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:410,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:410,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: operator^(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>::get
    - Strong<T, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator^(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:416,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: operator&(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator&(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:422,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: operator&(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    - Strong<T1, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator&(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:427,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:427,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: operator&(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>::get
    - Strong<T, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator&(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:433,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: operator|(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator|(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:439,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 440
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 440
    functionName: operator|(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    - Strong<T1, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator|(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:444,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:444,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: operator|(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>::get
    - Strong<T, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator|(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:450,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: operator>>(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator>>(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:456,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: operator>>(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    - Strong<T1, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator>>(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:461,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:461,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: operator>>(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>::get
    - Strong<T, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator>>(Strong<T, Tags...> a, Strong<T, Tags...>
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:467,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: operator<<(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator<<(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:473,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: operator<<(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    - Strong<T1, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator<<(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:478,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:478,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: operator<<(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>::get
    - Strong<T, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator<<(Strong<T, Tags...> a, Strong<T, Tags...>
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: operator+=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator+=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:490,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: operator+=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator+=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: operator-=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator-=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:503,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: operator-=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator-=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: operator*=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator*=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:516,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: operator*=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator*=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: operator/=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator/=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:529,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: operator/=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator/=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: operator^=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator^=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:542,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: operator^=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator^=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: operator&=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator&=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:555,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: operator&=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator&=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: operator|=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator|=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:568,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: operator|=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator|=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: operator>>=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator>>=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:581,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: operator>>=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator>>=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: operator<<=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator<<=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:594,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: operator<<=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator<<=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: operator++(Strong<T, Tags...>& a, int)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator++(Strong<T, Tags...>& a, int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: operator++(Strong<T, Tags...>& a)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator++(Strong<T, Tags...>& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: operator--(Strong<T, Tags...>& a, int)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator--(Strong<T, Tags...>& a, int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: operator--(Strong<T, Tags...>& a)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator--(Strong<T, Tags...>& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 651
    functionName: Botan::StrongSpan::StrongSpan
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongSpan()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - span
    argTypes:
    - underlying_span
    constantsTouched: []
    func_position:
      end: 653
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 653
    functionName: Botan::StrongSpan::StrongSpan
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongSpan(underlying_span span)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' strong'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 655
    functionName: Botan::StrongSpan::StrongSpan
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongSpan(T& strong)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StrongSpan::get
      Src: /src/botan/src/lib/utils/strong_type.h:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StrongSpan<T2>
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: Botan::StrongSpan::StrongSpan
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::StrongSpan::get
    linkageType: ''
    returnType: void
    signature: "void StrongSpan(const StrongSpan<T2>& other)\n         requires(std::is_same_v<T2,
      std::remove_const_t<T>>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StrongSpan
    constantsTouched: []
    func_position:
      end: 672
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 672
    functionName: Botan::StrongSpan::StrongSpan
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongSpan(const StrongSpan& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StrongSpan
    constantsTouched: []
    func_position:
      end: 673
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 673
    functionName: Botan::StrongSpan::StrongSpan
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongSpan(StrongSpan&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StrongSpan
    constantsTouched: []
    func_position:
      end: 674
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 674
    functionName: '& operator=(const StrongSpan& other)'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StrongSpan
    signature: StrongSpan & operator=(const StrongSpan& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StrongSpan
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: '& operator=(StrongSpan&& other)'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StrongSpan
    signature: StrongSpan & operator=(StrongSpan&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 677
    functionName: ~StrongSpan()
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StrongSpan()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 682
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 682
    functionName: Botan::StrongSpan::get
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: underlying_span
    signature: underlying_span get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 687
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 687
    functionName: Botan::StrongSpan::get
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: underlying_span
    signature: underlying_span get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:689,1
    - Dst: Botan::StrongSpan::m_span::data
      Src: /src/botan/src/lib/utils/strong_type.h:689,1
    - Dst: Botan::StrongSpan::m_span::data
      Src: /src/botan/src/lib/utils/strong_type.h:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 689
    functionName: Botan::StrongSpan::data
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::data
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) data() noexcept(noexcept(this->m_span.data()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:691,1
    - Dst: Botan::StrongSpan::m_span::data
      Src: /src/botan/src/lib/utils/strong_type.h:691,1
    - Dst: Botan::StrongSpan::m_span::data
      Src: /src/botan/src/lib/utils/strong_type.h:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 691
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 691
    functionName: Botan::StrongSpan::data
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::data
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) data() const noexcept(noexcept(this->m_span.data()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:693,1
    - Dst: Botan::StrongSpan::m_span::size
      Src: /src/botan/src/lib/utils/strong_type.h:693,1
    - Dst: Botan::StrongSpan::m_span::size
      Src: /src/botan/src/lib/utils/strong_type.h:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: Botan::StrongSpan::size
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::size
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) size() const noexcept(noexcept(this->m_span.size()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:695,1
    - Dst: Botan::StrongSpan::m_span::empty
      Src: /src/botan/src/lib/utils/strong_type.h:695,1
    - Dst: Botan::StrongSpan::m_span::empty
      Src: /src/botan/src/lib/utils/strong_type.h:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 695
    functionName: Botan::StrongSpan::empty
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const noexcept(noexcept(this->m_span.empty()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:697,1
    - Dst: Botan::StrongSpan::m_span::begin
      Src: /src/botan/src/lib/utils/strong_type.h:697,1
    - Dst: Botan::StrongSpan::m_span::begin
      Src: /src/botan/src/lib/utils/strong_type.h:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 697
    functionName: Botan::StrongSpan::begin
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() noexcept(noexcept(this->m_span.begin()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:699,1
    - Dst: Botan::StrongSpan::m_span::begin
      Src: /src/botan/src/lib/utils/strong_type.h:699,1
    - Dst: Botan::StrongSpan::m_span::begin
      Src: /src/botan/src/lib/utils/strong_type.h:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 699
    functionName: Botan::StrongSpan::begin
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() const noexcept(noexcept(this->m_span.begin()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:701,1
    - Dst: Botan::StrongSpan::m_span::end
      Src: /src/botan/src/lib/utils/strong_type.h:701,1
    - Dst: Botan::StrongSpan::m_span::end
      Src: /src/botan/src/lib/utils/strong_type.h:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: Botan::StrongSpan::end
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() noexcept(noexcept(this->m_span.end()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:703,1
    - Dst: Botan::StrongSpan::m_span::end
      Src: /src/botan/src/lib/utils/strong_type.h:703,1
    - Dst: Botan::StrongSpan::m_span::end
      Src: /src/botan/src/lib/utils/strong_type.h:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: Botan::StrongSpan::end
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() const noexcept(noexcept(this->m_span.end()))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - typename underlying_span::size_type
    constantsTouched: []
    func_position:
      end: 705
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 705
    functionName: operator[](typename underlying_span::size_type i) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator[](typename underlying_span::size_type i) const
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::noop_mutex::lock
    functionSourceFile: /src/botan/src/lib/utils/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::noop_mutex::unlock
    functionSourceFile: /src/botan/src/lib/utils/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/botan/src/lib/utils/mutex.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - Mutex
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::lock_guard::lock_guard
    functionSourceFile: /src/botan/src/lib/utils/mutex.h
    functionUses: 0
    functionsReached:
    - lock
    linkageType: ''
    returnType: void
    signature: void lock_guard(Mutex& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::unlock
      Src: /src/botan/src/lib/utils/mutex.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~lock_guard()
    functionSourceFile: /src/botan/src/lib/utils/mutex.h
    functionUses: 0
    functionsReached:
    - Botan::unlock
    linkageType: ''
    returnType: void
    signature: void ~lock_guard()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - lock_guard
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::lock_guard::lock_guard
    functionSourceFile: /src/botan/src/lib/utils/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lock_guard(const lock_guard& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - lock_guard
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& operator=(const lock_guard& other)'
    functionSourceFile: /src/botan/src/lib/utils/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lock_guard
    signature: lock_guard & operator=(const lock_guard& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::gmtime_s
      Src: /src/botan/src/lib/utils/calendar.cpp:26,1
    - Dst: ::gmtime_r
      Src: /src/botan/src/lib/utils/calendar.cpp:28,1
    - Dst: std::gmtime
      Src: /src/botan/src/lib/utils/calendar.cpp:30,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/utils/calendar.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - time_val
    argTypes:
    - std::time_t
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: Botan::do_gmtime
    functionSourceFile: /src/botan/src/lib/utils/calendar.cpp
    functionUses: 0
    functionsReached:
    - ::gmtime_s
    - Encoding_Error
    - ::gmtime_r
    - std::gmtime
    linkageType: ''
    returnType: std::tm
    signature: std::tm do_gmtime(std::time_t time_val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/calendar.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - year
    - month
    - day
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: Botan::days_since_epoch
    functionSourceFile: /src/botan/src/lib/utils/calendar.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t days_since_epoch(uint32_t year, uint32_t month, uint32_t day)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: days_since_epoch
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    - Dst: year
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    - Dst: month
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    - Dst: day
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    - Dst: hour
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    - Dst: minutes
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    - Dst: seconds
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::calendar_point::seconds_since_epoch
    functionSourceFile: /src/botan/src/lib/utils/calendar.cpp
    functionUses: 0
    functionsReached:
    - year
    - days_since_epoch
    - day
    - month
    - minutes
    - hour
    - seconds
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t calendar_point::seconds_since_epoch() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<time_t>
      Src: /src/botan/src/lib/utils/calendar.cpp:69,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/calendar.cpp:72,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/botan/src/lib/utils/calendar.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: Botan::calendar_point::to_std_timepoint
    functionSourceFile: /src/botan/src/lib/utils/calendar.cpp
    functionUses: 3
    functionsReached:
    - std::chrono::system_clock::from_time_t
    - static_cast<time_t>
    - Invalid_Argument
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point calendar_point::to_std_timepoint()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/botan/src/lib/utils/calendar.cpp:81,1
    - Dst: std::setw
      Src: /src/botan/src/lib/utils/calendar.cpp:81,1
    - Dst: year
      Src: /src/botan/src/lib/utils/calendar.cpp:81,1
    - Dst: std::setw
      Src: /src/botan/src/lib/utils/calendar.cpp:81,1
    - Dst: month
      Src: /src/botan/src/lib/utils/calendar.cpp:81,1
    - Dst: std::setw
      Src: /src/botan/src/lib/utils/calendar.cpp:81,1
    - Dst: day
      Src: /src/botan/src/lib/utils/calendar.cpp:82,1
    - Dst: std::setw
      Src: /src/botan/src/lib/utils/calendar.cpp:82,1
    - Dst: hour
      Src: /src/botan/src/lib/utils/calendar.cpp:82,1
    - Dst: std::setw
      Src: /src/botan/src/lib/utils/calendar.cpp:82,1
    - Dst: minutes
      Src: /src/botan/src/lib/utils/calendar.cpp:82,1
    - Dst: std::setw
      Src: /src/botan/src/lib/utils/calendar.cpp:82,1
    - Dst: seconds
      Src: /src/botan/src/lib/utils/calendar.cpp:83,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/lib/utils/calendar.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: Botan::calendar_point::to_string
    functionSourceFile: /src/botan/src/lib/utils/calendar.cpp
    functionUses: 1
    functionsReached:
    - minutes
    - std::setw
    - year
    - std::stringstream::str
    - day
    - month
    - std::setfill
    - hour
    - seconds
    linkageType: ''
    returnType: std::string
    signature: std::string calendar_point::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_gmtime
      Src: /src/botan/src/lib/utils/calendar.cpp:88,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/botan/src/lib/utils/calendar.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' time_point'
    argTypes:
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: Botan::calendar_point::calendar_point
    functionSourceFile: /src/botan/src/lib/utils/calendar.cpp
    functionUses: 0
    functionsReached:
    - do_gmtime
    - std::chrono::system_clock::to_time_t
    linkageType: ''
    returnType: void
    signature: void calendar_point::calendar_point(const std::chrono::system_clock::time_point&
      time_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::encode
      Src: /src/botan/src/lib/utils/codec_base.h:47,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/utils/codec_base.h:60,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/utils/codec_base.h:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - ' base'
    - output
    - input
    - input_length
    - ' input_consumed'
    - final_inputs
    argTypes:
    - Base
    - char[]
    - uint8_t[]
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 77
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 77
    functionName: Botan::base_encode
    functionSourceFile: /src/botan/src/lib/utils/codec_base.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - Botan::encode
    linkageType: ''
    returnType: size_t
    signature: "size_t base_encode(\n   Base&& base, char output[], const uint8_t
      input[], size_t input_length, size_t& input_consumed, bool final_inputs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_encode
      Src: /src/botan/src/lib/utils/codec_base.h:88,1
    - Dst: std::string::front
      Src: /src/botan/src/lib/utils/codec_base.h:88,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/utils/codec_base.h:91,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/utils/codec_base.h:92,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/codec_base.h:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' base'
    - input
    - input_length
    argTypes:
    - Base
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: Botan::base_encode_to_string
    functionSourceFile: /src/botan/src/lib/utils/codec_base.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_EQUAL
    - std::string::front
    - Botan::base_encode
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string base_encode_to_string(Base&& base, const uint8_t input[],
      size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/utils/codec_base.h:130,1
    - Dst: decode_max_output
      Src: /src/botan/src/lib/utils/codec_base.h:130,1
    - Dst: check_bad_char
      Src: /src/botan/src/lib/utils/codec_base.h:136,1
    - Dst: decode
      Src: /src/botan/src/lib/utils/codec_base.h:156,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/utils/codec_base.h:156,1
    - Dst: lookup_binary_value
      Src: /src/botan/src/lib/utils/codec_base.h:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - ' base'
    - output
    - input
    - input_length
    - ' input_consumed'
    - final_inputs
    argTypes:
    - Base
    - uint8_t[]
    - char[]
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 171
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 171
    functionName: Botan::base_decode
    functionSourceFile: /src/botan/src/lib/utils/codec_base.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - lookup_binary_value
    - check_bad_char
    - decode
    - Botan::clear_mem
    - decode_max_output
    linkageType: ''
    returnType: size_t
    signature: "size_t base_decode(Base&& base,\n                   uint8_t output[],\n
      \                  const char input[],\n                   size_t input_length,\n
      \                  size_t& input_consumed,\n                   bool final_inputs,\n
      \                  bool ignore_ws = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/codec_base.h:179,1
    - Dst: Botan::name
      Src: /src/botan/src/lib/utils/codec_base.h:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - ' base'
    - output
    - input
    - input_length
    - ignore_ws
    argTypes:
    - Base
    - uint8_t[]
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: Botan::base_decode_full
    functionSourceFile: /src/botan/src/lib/utils/codec_base.h
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::name
    linkageType: ''
    returnType: size_t
    signature: size_t base_decode_full(Base&& base, uint8_t output[], const char input[],
      size_t input_length, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vector::resize
      Src: /src/botan/src/lib/utils/codec_base.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - ' base'
    - input
    - input_length
    - ignore_ws
    argTypes:
    - Base
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: Botan::base_decode_to_vec
    functionSourceFile: /src/botan/src/lib/utils/codec_base.h
    functionUses: 0
    functionsReached:
    - Vector::resize
    linkageType: ''
    returnType: Vector
    signature: Vector base_decode_to_vec(Base&& base, const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/ct_utils.cpp:20,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:20,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:20,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.cpp:28,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/ct_utils.cpp:33,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/utils/ct_utils.cpp:41,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:41,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/ct_utils.cpp:46,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:46,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:52,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:69,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/utils/ct_utils.cpp:71,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/utils/ct_utils.cpp:72,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/utils/ct_utils.cpp:79,1
    - Dst: CT::Option<size_t>
      Src: /src/botan/src/lib/utils/ct_utils.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - accept
    - output
    - input
    - offset
    argTypes:
    - CT::Choice
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 82
    functionName: Botan::CT::copy_output
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::is_equal
    - clear_mem
    - std::span<uint8_t>::size
    - Botan::CT::Mask::from_choice
    - Botan::CT::unpoison_all
    - Botan::CT::poison
    - CT::Option<size_t>
    - std::span<const uint8_t>::size
    - Botan::CT::Mask::is_lte
    - BOTAN_ARG_CHECK
    - auto::if_set_return
    linkageType: ''
    returnType: CT::Option<size_t>
    signature: "CT::Option<size_t> CT::copy_output(CT::Choice accept,\n                                   std::span<uint8_t>
      output,\n                                   std::span<const uint8_t> input,\n
      \                                  size_t offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/botan/src/lib/utils/ct_utils.cpp:86,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:87,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.cpp:88,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/utils/ct_utils.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: Botan::CT::count_leading_zero_bytes
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::set
    - std::span<const uint8_t>::size
    - cryptofuzz_secp256k1_scalar_is_zero
    - auto::if_set_return
    linkageType: ''
    returnType: size_t
    signature: size_t CT::count_leading_zero_bytes(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:97,1
    - Dst: Botan::CT::copy_output
      Src: /src/botan/src/lib/utils/ct_utils.cpp:99,1
    - Dst: Botan::CT::Choice::yes
      Src: /src/botan/src/lib/utils/ct_utils.cpp:99,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/utils/ct_utils.cpp:106,1
    - Dst: auto::value_or
      Src: /src/botan/src/lib/utils/ct_utils.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: Botan::CT::strip_leading_zeros
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.cpp
    functionUses: 2
    functionsReached:
    - secure_vector::resize
    - std::span<const uint8_t>::size
    - auto::value_or
    - Botan::CT::copy_output
    - Botan::CT::Choice::yes
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> CT::strip_leading_zeros(std::span<const uint8_t>
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::RtlSecureZeroMemory
      Src: /src/botan/src/lib/utils/mem_utils.cpp:26,1
    - Dst: ::explicit_bzero
      Src: /src/botan/src/lib/utils/mem_utils.cpp:29,1
    - Dst: ::explicit_memset
      Src: /src/botan/src/lib/utils/mem_utils.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 54
    functionName: Botan::secure_scrub_memory
    functionSourceFile: /src/botan/src/lib/utils/mem_utils.cpp
    functionUses: 5
    functionsReached:
    - ::explicit_memset
    - ::RtlSecureZeroMemory
    - ::explicit_bzero
    linkageType: ''
    returnType: void
    signature: void secure_scrub_memory(void* ptr, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/bswap.h:31,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bswap.h:32,1
    - Dst: __builtin_bswap16
      Src: /src/botan/src/lib/utils/bswap.h:32,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bswap.h:34,1
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/bswap.h:37,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bswap.h:38,1
    - Dst: __builtin_bswap32
      Src: /src/botan/src/lib/utils/bswap.h:38,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bswap.h:41,1
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/bswap.h:45,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bswap.h:46,1
    - Dst: __builtin_bswap64
      Src: /src/botan/src/lib/utils/bswap.h:46,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/lib/utils/bswap.h:51,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/lib/utils/bswap.h:52,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bswap.h:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 57
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 57
    functionName: Botan::reverse_bytes
    functionSourceFile: /src/botan/src/lib/utils/bswap.h
    functionUses: 5
    functionsReached:
    - __builtin_bswap32
    - __builtin_bswap16
    - static_cast<T>
    - __builtin_bswap64
    - BOTAN_COMPILER_HAS_BUILTIN
    - Botan::reverse_bytes
    linkageType: ''
    returnType: T
    signature: T reverse_bytes(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 87
    functionName: Botan::calendar_point
    functionSourceFile: /src/botan/src/lib/utils/calendar.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API calendar_point
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/utils/loadstor.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - byte_num
    - input
    argTypes:
    - size_t
    - T
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::get_byte_var
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_byte_var(size_t byte_num, T input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/utils/loadstor.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: Botan::get_byte
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 7
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t get_byte(T input)\n   requires(B < sizeof(T))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/utils/loadstor.h:93,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/utils/loadstor.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i0
    - i1
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan::make_uint16
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 6
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t make_uint16(uint8_t i0, uint8_t i1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/loadstor.h:105,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/loadstor.h:105,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/loadstor.h:105,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/loadstor.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - i0
    - i1
    - i2
    - i3
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: Botan::make_uint32
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 3
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t make_uint32(uint8_t i0, uint8_t i1, uint8_t i2, uint8_t i3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:123,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:123,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:123,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:124,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:124,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:124,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:125,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - i0
    - i1
    - i2
    - i3
    - i4
    - i5
    - i6
    - i7
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: Botan::make_uint64
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t make_uint64(\n   uint8_t i0, uint8_t i1, uint8_t i2, uint8_t
      i3, uint8_t i4, uint8_t i5, uint8_t i6, uint8_t i7)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - endianness
    argTypes:
    - std::endian
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: Botan::detail::opposite
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::endian
    signature: std::endian opposite(std::endian endianness)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::underlying_type_t<InT>>
      Src: /src/botan/src/lib/utils/loadstor.h:193,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/lib/utils/loadstor.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - InT
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: Botan::detail::unwrap_strong_type_or_enum
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - static_cast<std::underlying_type_t<InT>>
    - Botan::unwrap_strong_type
    linkageType: ''
    returnType: auto
    signature: auto unwrap_strong_type_or_enum(InT t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:202,1
    - Dst: Botan::wrap_strong_type<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Botan::detail::wrap_strong_type_or_enum
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - Botan::wrap_strong_type<OutT>
    - static_cast<OutT>
    linkageType: ''
    returnType: auto
    signature: auto wrap_strong_type_or_enum(T t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:219,1
    - Dst: static_cast<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:219,1
    - Dst: std::make_index_sequence<sizeof(OutT)>
      Src: /src/botan/src/lib/utils/loadstor.h:220,1
    - Dst: static_cast<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:224,1
    - Dst: static_cast<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:224,1
    - Dst: std::make_index_sequence<sizeof(OutT)>
      Src: /src/botan/src/lib/utils/loadstor.h:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' in_range'
    argTypes:
    - InR
    constantsTouched: []
    func_position:
      end: 228
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 228
    functionName: Botan::detail::fallback_load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - std::make_index_sequence<sizeof(OutT)>
    - static_cast<OutT>
    linkageType: ''
    returnType: OutT
    signature: OutT fallback_load_any(const InR& in_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte<i>
      Src: /src/botan/src/lib/utils/loadstor.h:241,1
    - Dst: std::make_index_sequence<sizeof(InT)>
      Src: /src/botan/src/lib/utils/loadstor.h:242,1
    - Dst: get_byte<sizeof(InT) - i - 1>
      Src: /src/botan/src/lib/utils/loadstor.h:246,1
    - Dst: std::make_index_sequence<sizeof(InT)>
      Src: /src/botan/src/lib/utils/loadstor.h:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - in
    - ' out_range'
    argTypes:
    - InT
    - OutR
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: Botan::detail::fallback_store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - get_byte<sizeof(InT) - i - 1>
    - std::make_index_sequence<sizeof(InT)>
    - get_byte<i>
    linkageType: ''
    returnType: void
    signature: void fallback_store_any(InT in, OutR&& out_range /* NOLINT(*-std-forward)
      */)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ranges::assert_exact_byte_length<sizeof(OutT)>
      Src: /src/botan/src/lib/utils/loadstor.h:280,1
    - Dst: detail::wrap_strong_type_or_enum<WrappedOutT>
      Src: /src/botan/src/lib/utils/loadstor.h:282,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/loadstor.h:286,1
    - Dst: Botan::detail::fallback_load_any
      Src: /src/botan/src/lib/utils/loadstor.h:287,1
    - Dst: std::forward<InR>
      Src: /src/botan/src/lib/utils/loadstor.h:287,1
    - Dst: static_cast<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:291,1
    - Dst: typecast_copy<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:293,1
    - Dst: Botan::detail::opposite
      Src: /src/botan/src/lib/utils/loadstor.h:295,1
    - Dst: reverse_bytes
      Src: /src/botan/src/lib/utils/loadstor.h:296,1
    - Dst: typecast_copy<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' in_range'
    argTypes:
    - InR
    constantsTouched: []
    func_position:
      end: 300
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 300
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - detail::wrap_strong_type_or_enum<WrappedOutT>
    - ranges::assert_exact_byte_length<sizeof(OutT)>
    - Botan::detail::opposite
    - Botan::detail::fallback_load_any
    - std::is_constant_evaluated
    - typecast_copy<OutT>
    - static_cast<OutT>
    - std::forward<InR>
    - reverse_bytes
    linkageType: ''
    returnType: WrappedOutT
    signature: WrappedOutT load_any(InR&& in_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ranges::assert_exact_byte_length<sizeof(OutT)>
      Src: /src/botan/src/lib/utils/loadstor.h:315,1
    - Dst: wrap_strong_type<WrappedOutT>
      Src: /src/botan/src/lib/utils/loadstor.h:318,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_be
      Src: /src/botan/src/lib/utils/loadstor.h:318,1
    - Dst: wrap_strong_type<WrappedOutT>
      Src: /src/botan/src/lib/utils/loadstor.h:320,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_le
      Src: /src/botan/src/lib/utils/loadstor.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' in_range'
    argTypes:
    - InR
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Utility_Function_Tests::fb_load_be
    - Botan_Tests::Utility_Function_Tests::fb_load_le
    - wrap_strong_type<WrappedOutT>
    - ranges::assert_exact_byte_length<sizeof(OutT)>
    linkageType: ''
    returnType: WrappedOutT
    signature: WrappedOutT load_any(const InR& in_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ranges::assert_exact_byte_length<(sizeof(Ts) + ...)>
      Src: /src/botan/src/lib/utils/loadstor.h:333,1
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:335,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/loadstor.h:335,1
    - Dst: load_one
      Src: /src/botan/src/lib/utils/loadstor.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - InR
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 1
    functionsReached:
    - ranges::assert_exact_byte_length<(sizeof(Ts) + ...)>
    - load_one
    - Botan::detail::load_any
    - subspan
    linkageType: ''
    returnType: void
    signature: void load_any(const InR& in, Ts&... outs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_equal_byte_lengths
      Src: /src/botan/src/lib/utils/loadstor.h:356,1
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:363,1
    - Dst: std::span::template first<bytes_per_element>
      Src: /src/botan/src/lib/utils/loadstor.h:363,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/loadstor.h:364,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/loadstor.h:371,1
    - Dst: load_elementwise
      Src: /src/botan/src/lib/utils/loadstor.h:372,1
    - Dst: typecast_copy
      Src: /src/botan/src/lib/utils/loadstor.h:375,1
    - Dst: load_elementwise
      Src: /src/botan/src/lib/utils/loadstor.h:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - OutR
    - InR
    constantsTouched: []
    func_position:
      end: 380
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 380
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 2
    functionsReached:
    - load_elementwise
    - std::is_constant_evaluated
    - Botan::detail::load_any
    - Botan::ranges::assert_equal_byte_lengths
    - typecast_copy
    - std::span::template first<bytes_per_element>
    - std::span::subspan
    linkageType: ''
    returnType: void
    signature: void load_any(OutR&& out /* NOLINT(*-std-forward) */, const InR& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/loadstor.h:424,1
    - Dst: OutT
      Src: /src/botan/src/lib/utils/loadstor.h:426,1
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:434,1
    - Dst: std::forward<InR>
      Src: /src/botan/src/lib/utils/loadstor.h:434,1
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:438,1
    - Dst: std::forward<InR>
      Src: /src/botan/src/lib/utils/loadstor.h:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ' in_range'
    argTypes:
    - InR
    constantsTouched: []
    func_position:
      end: 441
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 441
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 3
    functionsReached:
    - BOTAN_ARG_CHECK
    - OutT
    - Botan::detail::load_any
    - std::forward<InR>
    linkageType: ''
    returnType: auto
    signature: auto load_any(InR&& in_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:457,1
    - Dst: std::span<const uint8_t, out_size>
      Src: /src/botan/src/lib/utils/loadstor.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - 'off'
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 4
    functionsReached:
    - std::span<const uint8_t, out_size>
    - Botan::detail::load_any
    linkageType: ''
    returnType: OutT
    signature: OutT load_any(const uint8_t in[], size_t off)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:472,1
    - Dst: std::span<const uint8_t, bytes>
      Src: /src/botan/src/lib/utils/loadstor.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 5
    functionsReached:
    - std::span<const uint8_t, bytes>
    - Botan::detail::load_any
    linkageType: ''
    returnType: void
    signature: void load_any(const uint8_t in[], Ts&... outs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:485,1
    - Dst: std::span<T>
      Src: /src/botan/src/lib/utils/loadstor.h:485,1
    - Dst: std::span<const uint8_t>
      Src: /src/botan/src/lib/utils/loadstor.h:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - in
    - count
    argTypes:
    - T[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 6
    functionsReached:
    - std::span<const uint8_t>
    - Botan::detail::load_any
    - std::span<T>
    linkageType: ''
    returnType: void
    signature: void load_any(T out[], const uint8_t in[], size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::load_any<std::endian::little, OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:496,1
    - Dst: std::forward<ParamTs>
      Src: /src/botan/src/lib/utils/loadstor.h:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: Botan::load_le
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 9
    functionsReached:
    - std::forward<ParamTs>
    - detail::load_any<std::endian::little, OutT>
    linkageType: ''
    returnType: auto
    signature: auto load_le(ParamTs&&... params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::load_any<std::endian::big, OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:505,1
    - Dst: std::forward<ParamTs>
      Src: /src/botan/src/lib/utils/loadstor.h:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: Botan::load_be
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 19
    functionsReached:
    - detail::load_any<std::endian::big, OutT>
    - std::forward<ParamTs>
    linkageType: ''
    returnType: auto
    signature: auto load_be(ParamTs&&... params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::unwrap_strong_type_or_enum
      Src: /src/botan/src/lib/utils/loadstor.h:526,1
    - Dst: ranges::assert_exact_byte_length<sizeof(in)>
      Src: /src/botan/src/lib/utils/loadstor.h:528,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/loadstor.h:534,1
    - Dst: Botan::detail::fallback_store_any
      Src: /src/botan/src/lib/utils/loadstor.h:535,1
    - Dst: std::forward<OutR>
      Src: /src/botan/src/lib/utils/loadstor.h:535,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/utils/loadstor.h:538,1
    - Dst: typecast_copy
      Src: /src/botan/src/lib/utils/loadstor.h:540,1
    - Dst: Botan::detail::opposite
      Src: /src/botan/src/lib/utils/loadstor.h:542,1
    - Dst: typecast_copy
      Src: /src/botan/src/lib/utils/loadstor.h:543,1
    - Dst: reverse_bytes
      Src: /src/botan/src/lib/utils/loadstor.h:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - wrapped_in
    - ' out_range'
    argTypes:
    - WrappedInT
    - OutR
    constantsTouched: []
    func_position:
      end: 546
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 546
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - Botan::detail::fallback_store_any
    - Botan::detail::opposite
    - std::is_constant_evaluated
    - Botan::detail::unwrap_strong_type_or_enum
    - static_cast<uint8_t>
    - reverse_bytes
    - typecast_copy
    - ranges::assert_exact_byte_length<sizeof(in)>
    - std::forward<OutR>
    linkageType: ''
    returnType: void
    signature: void store_any(WrappedInT wrapped_in, OutR&& out_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::unwrap_strong_type_or_enum
      Src: /src/botan/src/lib/utils/loadstor.h:560,1
    - Dst: ranges::assert_exact_byte_length<sizeof(in)>
      Src: /src/botan/src/lib/utils/loadstor.h:562,1
    - Dst: auto::store_be
      Src: /src/botan/src/lib/utils/loadstor.h:565,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/utils/loadstor.h:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wrapped_in
    - ' out_range'
    argTypes:
    - WrappedInT
    - OutR
    constantsTouched: []
    func_position:
      end: 569
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 569
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - auto::store_le
    - Botan::detail::unwrap_strong_type_or_enum
    - auto::store_be
    - ranges::assert_exact_byte_length<sizeof(in)>
    linkageType: ''
    returnType: void
    signature: void store_any(WrappedInT wrapped_in, const OutR& out_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ranges::assert_exact_byte_length<(sizeof(Ts) + ...)>
      Src: /src/botan/src/lib/utils/loadstor.h:583,1
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:585,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/loadstor.h:585,1
    - Dst: store_one
      Src: /src/botan/src/lib/utils/loadstor.h:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - OutR
    constantsTouched: []
    func_position:
      end: 590
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 590
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 1
    functionsReached:
    - ranges::assert_exact_byte_length<(sizeof(Ts) + ...)>
    - Botan::detail::store_any
    - store_one
    - subspan
    linkageType: ''
    returnType: void
    signature: void store_any(OutR&& out /* NOLINT(*-std-forward) */, Ts... ins)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_equal_byte_lengths
      Src: /src/botan/src/lib/utils/loadstor.h:604,1
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:611,1
    - Dst: std::span::template first<bytes_per_element>
      Src: /src/botan/src/lib/utils/loadstor.h:611,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/loadstor.h:612,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/loadstor.h:619,1
    - Dst: store_elementwise
      Src: /src/botan/src/lib/utils/loadstor.h:620,1
    - Dst: typecast_copy
      Src: /src/botan/src/lib/utils/loadstor.h:623,1
    - Dst: store_elementwise
      Src: /src/botan/src/lib/utils/loadstor.h:625,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - OutR
    - InR
    constantsTouched: []
    func_position:
      end: 628
      start: 603
    functionDepth: 3
    functionLinenumber: 603
    functionLinenumberEnd: 628
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 2
    functionsReached:
    - store_elementwise
    - std::is_constant_evaluated
    - Botan::detail::store_any
    - Botan::ranges::assert_equal_byte_lengths
    - typecast_copy
    - std::span::template first<bytes_per_element>
    - std::span::subspan
    linkageType: ''
    returnType: void
    signature: void store_any(OutR&& out /* NOLINT(*-std-forward) */, const InR& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:647,1
    - Dst: std::forward<OutR>
      Src: /src/botan/src/lib/utils/loadstor.h:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - in
    - ' out_range'
    argTypes:
    - T
    - OutR
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 3
    functionsReached:
    - std::forward<OutR>
    - Botan::detail::store_any
    linkageType: ''
    returnType: void
    signature: void store_any(T in, OutR&& out_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::array<uint8_t, bytes>
      Src: /src/botan/src/lib/utils/loadstor.h:668,1
    - Dst: OutR
      Src: /src/botan/src/lib/utils/loadstor.h:675,1
    - Dst: size_bytes
      Src: /src/botan/src/lib/utils/loadstor.h:675,1
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:681,1
    - Dst: std::forward<InR>
      Src: /src/botan/src/lib/utils/loadstor.h:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' in_range'
    argTypes:
    - InR
    constantsTouched: []
    func_position:
      end: 683
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 683
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 4
    functionsReached:
    - Botan::detail::store_any
    - size_bytes
    - std::forward<InR>
    - std::array<uint8_t, bytes>
    - OutR
    linkageType: ''
    returnType: auto
    signature: auto store_any(InR&& in_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 698
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 698
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 5
    functionsReached:
    - Botan::detail::store_any
    linkageType: ''
    returnType: auto
    signature: auto store_any(Ts... ins)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:713,1
    - Dst: std::span<uint8_t, sizeof(T)>
      Src: /src/botan/src/lib/utils/loadstor.h:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - T
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 6
    functionsReached:
    - std::span<uint8_t, sizeof(T)>
    - Botan::detail::store_any
    linkageType: ''
    returnType: void
    signature: void store_any(T in, uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:726,1
    - Dst: std::span<uint8_t, bytes>
      Src: /src/botan/src/lib/utils/loadstor.h:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in0
    argTypes:
    - uint8_t[]
    - T0
    constantsTouched: []
    func_position:
      end: 727
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 727
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 7
    functionsReached:
    - Botan::detail::store_any
    - std::span<uint8_t, bytes>
    linkageType: ''
    returnType: void
    signature: void store_any(uint8_t out[], T0 in0, Ts... ins)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::store_any<std::endian::little, ModifierT>
      Src: /src/botan/src/lib/utils/loadstor.h:737,1
    - Dst: std::forward<ParamTs>
      Src: /src/botan/src/lib/utils/loadstor.h:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 738
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 738
    functionName: Botan::store_le
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 11
    functionsReached:
    - std::forward<ParamTs>
    - detail::store_any<std::endian::little, ModifierT>
    linkageType: ''
    returnType: auto
    signature: auto store_le(ParamTs&&... params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::store_any<std::endian::big, ModifierT>
      Src: /src/botan/src/lib/utils/loadstor.h:746,1
    - Dst: std::forward<ParamTs>
      Src: /src/botan/src/lib/utils/loadstor.h:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 747
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 747
    functionName: Botan::store_be
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 31
    functionsReached:
    - detail::store_any<std::endian::big, ModifierT>
    - std::forward<ParamTs>
    linkageType: ''
    returnType: auto
    signature: auto store_be(ParamTs&&... params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/loadstor.h:756,1
    - Dst: size_bytes
      Src: /src/botan/src/lib/utils/loadstor.h:756,1
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:759,1
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/loadstor.h:759,1
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/loadstor.h:759,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/loadstor.h:760,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/loadstor.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - std::span<uint8_t>
    - std::span<const T>
    constantsTouched: []
    func_position:
      end: 764
      start: 752
    functionDepth: 3
    functionLinenumber: 752
    functionLinenumberEnd: 764
    functionName: Botan::detail::copy_out_any_word_aligned_portion
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - subspan
    - Botan::detail::first
    - Botan::detail::store_any
    - size_bytes
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t copy_out_any_word_aligned_portion(std::span<uint8_t>& out, std::span<const
      T>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::copy_out_any_word_aligned_portion<std::endian::big>
      Src: /src/botan/src/lib/utils/loadstor.h:776,1
    - Dst: Botan::get_byte_var
      Src: /src/botan/src/lib/utils/loadstor.h:780,1
    - Dst: std::span::front
      Src: /src/botan/src/lib/utils/loadstor.h:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - ' in'
    argTypes:
    - std::span<uint8_t>
    - InR
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: Botan::copy_out_be
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 3
    functionsReached:
    - std::span::front
    - detail::copy_out_any_word_aligned_portion<std::endian::big>
    - Botan::get_byte_var
    linkageType: ''
    returnType: void
    signature: void copy_out_be(std::span<uint8_t> out, const InR& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::copy_out_any_word_aligned_portion<std::endian::little>
      Src: /src/botan/src/lib/utils/loadstor.h:792,1
    - Dst: Botan::get_byte_var
      Src: /src/botan/src/lib/utils/loadstor.h:796,1
    - Dst: std::span::front
      Src: /src/botan/src/lib/utils/loadstor.h:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - ' in'
    argTypes:
    - std::span<uint8_t>
    - InR
    constantsTouched: []
    func_position:
      end: 798
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 798
    functionName: Botan::copy_out_le
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 1
    functionsReached:
    - std::span::front
    - detail::copy_out_any_word_aligned_portion<std::endian::little>
    - Botan::get_byte_var
    linkageType: ''
    returnType: void
    signature: void copy_out_le(std::span<uint8_t> out, const InR& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: state
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:68,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:68,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:69,1
    - Dst: state
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:81,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:81,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:81,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:85,1
    - Dst: state
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:94,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:94,1
    - Dst: state
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:100,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:100,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:100,1
    - Dst: state
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:109,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:109,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 155
    functionName: Botan::CPUID
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.h
    functionUses: 0
    functionsReached:
    - Botan::to_string
    - as_u32
    - state
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUID
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::CPUFeature::as_u32
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUFeature::as_u32() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:42,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:42,1
    - Dst: static_cast<CPUFeature::Bit>
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:42,1
    - Dst: string_join
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: Botan::CPUID::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 4
    functionsReached:
    - CPUFeature
    - string_join
    - std::vector::push_back
    - static_cast<CPUFeature::Bit>
    linkageType: ''
    returnType: std::string
    signature: std::string CPUID::to_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: state
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:51,1
    - Dst: CPUID_Data
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::CPUID::initialize
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 3
    functionsReached:
    - state
    - CPUID_Data
    linkageType: ''
    returnType: void
    signature: void CPUID::initialize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::read_env_variable
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:63,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:64,1
    - Dst: Botan::CPUID::bit_from_string
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:65,1
    - Dst: auto::as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: Botan::cleared_cpuid_bits
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 0
    functionsReached:
    - OS::read_env_variable
    - Botan::CPUID::bit_from_string
    - Botan::split_on
    - auto::as_u32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t cleared_cpuid_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detect_cpu_features
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:81,1
    - Dst: cleared_cpuid_bits
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: CPUID::CPUID_Data::CPUID_Data()
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 0
    functionsReached:
    - detect_cpu_features
    - cleared_cpuid_bits
    linkageType: ''
    returnType: void
    signature: void CPUID::CPUID_Data::CPUID_Data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CPUFeature::from_string
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Botan::CPUID::bit_from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 3
    functionsReached:
    - Botan::CPUFeature::from_string
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUID::bit_from_string(std::string_view tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::get_auxval_hwcap
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:23,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:32,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:36,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:37,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:52,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:69,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 83
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 83
    functionName: CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp
    functionUses: 0
    functionsReached:
    - Botan::OS::get_auxval_hwcap
    - OS::run_cpu_instruction_probe
    - if_set
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_features.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_features.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_features.cpp:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_features.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_features.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::bitflag
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t bitflag(Bs... bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:43,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:44,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:45,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:46,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:48,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:49,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:50,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:51,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:52,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:53,1
    - Dst: __riscv_hwprobe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:59,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:62,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:63,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:64,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:65,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:67,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:70,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:71,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:72,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:73,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 81
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 81
    functionName: CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - bitflag
    - __riscv_hwprobe
    - if_set
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_features.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_features.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_features.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 35
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_features.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_features.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::get_auxval_hwcap
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp:23,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp:41,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp:44,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp:45,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp:46,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 53
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 53
    functionName: CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp
    functionUses: 0
    functionsReached:
    - Botan::OS::get_auxval_hwcap
    - if_set
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_features.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 42
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_features.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_features.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 27
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_features.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_features.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_features.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 38
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_features.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_features.cpp:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_features.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_features.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::get_auxval_hwcap
      Src: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_loongarch64.cpp:23,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_loongarch64.cpp:32,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_loongarch64.cpp:33,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_loongarch64.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 39
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 39
    functionName: CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_loongarch64.cpp
    functionUses: 0
    functionsReached:
    - Botan::OS::get_auxval_hwcap
    - if_set
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_features.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_features.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_features.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 37
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_features.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 65
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 65
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_features.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::get_auxval_hwcap
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:30,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:54,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:57,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:58,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:59,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:60,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:61,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:62,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:63,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:64,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:65,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 75
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 75
    functionName: Botan::aarch64_feat_via_auxval
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp
    functionUses: 0
    functionsReached:
    - Botan::OS::get_auxval_hwcap
    - BOTAN_UNUSED
    - CPUID::if_set
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> aarch64_feat_via_auxval(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sysctlbyname
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:84,1
    - Dst: sysctlbyname_has_feature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:96,1
    - Dst: sysctlbyname_has_feature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:99,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 109
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 109
    functionName: Botan::aarch64_feat_using_mac_api
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - ::sysctlbyname
    - sysctlbyname_has_feature
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> aarch64_feat_using_mac_api(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:146,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:151,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:154,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:157,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:160,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:163,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 174
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 174
    functionName: Botan::aarch64_feat_using_instr_probe
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - OS::run_cpu_instruction_probe
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> aarch64_feat_using_instr_probe(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aarch64_feat_via_auxval
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:179,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:180,1
    - Dst: aarch64_feat_using_mac_api
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:181,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:182,1
    - Dst: aarch64_feat_using_instr_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:183,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - aarch64_feat_using_mac_api
    - aarch64_feat_using_instr_probe
    - aarch64_feat_via_auxval
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:26,1
    - Dst: __cpuid
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:32,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - type
    - out
    argTypes:
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: Botan::invoke_cpuid
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::clear_mem
    - __cpuid
    linkageType: ''
    returnType: void
    signature: void invoke_cpuid(uint32_t type, uint32_t out[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:41,1
    - Dst: __cpuidex
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:47,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - type
    - level
    - out
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: Botan::invoke_cpuid_sublevel
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::clear_mem
    - __cpuidex
    linkageType: ''
    returnType: void
    signature: void invoke_cpuid_sublevel(uint32_t type, uint32_t level, uint32_t
      out[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _xgetbv
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::xgetbv
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp
    functionUses: 0
    functionsReached:
    - _xgetbv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t xgetbv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: invoke_cpuid
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:127,1
    - Dst: invoke_cpuid
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:133,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:136,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:138,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:140,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:143,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:146,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:147,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:162,1
    - Dst: invoke_cpuid_sublevel
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:163,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:167,1
    - Dst: invoke_cpuid_sublevel
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:168,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:171,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:172,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:178,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:181,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:182,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:186,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:189,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:190,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:191,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:192,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:193,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:197,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:200,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 221
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 221
    functionName: CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - invoke_cpuid_sublevel
    - if_set
    - invoke_cpuid
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 60
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 57
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:62,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:64,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:67,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:69,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:71,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:73,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:76,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:78,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:80,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:82,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:84,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:86,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:88,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:90,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:92,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:94,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:96,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:98,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:100,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:102,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 106
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 106
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp
    functionUses: 3
    functionsReached:
    - CPUFeature
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 208
    functionName: Botan::OS::Echo_Suppression
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Echo_Suppression
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::getpid
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:79,1
    - Dst: ::GetCurrentProcessId
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: Botan::OS::get_process_id
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 2
    functionsReached:
    - ::GetCurrentProcessId
    - ::getpid
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t OS::get_process_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: Botan::auxval_hwcap
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<unsigned long>
    signature: std::optional<unsigned long> auxval_hwcap()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: Botan::auxval_hwcap2
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<unsigned long>
    signature: std::optional<unsigned long> auxval_hwcap2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::getauxval
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:122,1
    - Dst: ::elf_aux_info
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:125,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::optional<unsigned long>
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: Botan::get_auxval
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ::elf_aux_info
    - ::getauxval
    linkageType: ''
    returnType: std::optional<unsigned long>
    signature: std::optional<unsigned long> get_auxval(std::optional<unsigned long>
      id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_auxval
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:137,1
    - Dst: auxval_hwcap
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:137,1
    - Dst: get_auxval
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:140,1
    - Dst: auxval_hwcap2
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:140,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: Botan::OS::get_auxval_hwcap
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 4
    functionsReached:
    - auxval_hwcap
    - get_auxval
    - std::make_pair
    - auxval_hwcap2
    linkageType: ''
    returnType: std::optional<std::pair<unsigned long, unsigned long>>
    signature: std::optional<std::pair<unsigned long, unsigned long>> OS::get_auxval_hwcap()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_auxval
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:155,1
    - Dst: ::getuid
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:161,1
    - Dst: ::geteuid
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:161,1
    - Dst: ::getgid
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:161,1
    - Dst: ::getegid
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: Botan::running_in_privileged_state
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 0
    functionsReached:
    - ::geteuid
    - ::getegid
    - Botan::get_auxval
    - ::getuid
    - ::getgid
    linkageType: ''
    returnType: bool
    signature: bool running_in_privileged_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::QueryPerformanceCounter
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:174,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:183,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:187,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:190,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 230
    functionName: Botan::OS::get_cpu_cycle_counter
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 4
    functionsReached:
    - ::QueryPerformanceCounter
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t OS::get_cpu_cycle_counter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:238,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 262
    functionName: Botan::OS::get_cpu_available
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t OS::get_cpu_available()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emscripten_get_now
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:270,1
    - Dst: ::clock_gettime
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:303,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:304,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:304,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:311,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:312,1
    - Dst: ::clock_gettime
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:321,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:322,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:322,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:327,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:328,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:330,1
    - Dst: localtime_s
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:338,1
    - Dst: localtime_r
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:340,1
    - Dst: std::localtime
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:342,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:345,1
    - Dst: std::put_time
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:350,1
    - Dst: c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:350,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:351,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:360,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:365,1
    - Dst: ::GetSystemInfo
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:367,1
    - Dst: ::getrlimit
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:396,1
    - Dst: ::setrlimit
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:400,1
    - Dst: ::getrlimit
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:401,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:404,1
    - Dst: ::GetProcessWorkingSetSize
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:412,1
    - Dst: ::GetCurrentProcess
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:412,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:425,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:429,1
    - Dst: running_in_privileged_state
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:438,1
    - Dst: getenv_s
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:446,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:446,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:451,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:453,1
    - Dst: read_env_variable
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:470,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:470,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:496,1
    - Dst: VM_MAKE_TAG
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:498,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:514,1
    - Dst: PROT_MAX
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:544,1
    - Dst: ::mmap
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:547,1
    - Dst: ::mlock
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:559,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:559,1
    - Dst: ::munmap
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:560,1
    - Dst: ::madvise
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:566,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:566,1
    - Dst: ::VirtualAlloc
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:570,1
    - Dst: ::VirtualLock
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:575,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:575,1
    - Dst: ::VirtualFree
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:576,1
    - Dst: std::memset
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:581,1
    - Dst: page_named
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:584,1
    - Dst: page_prohibit_access
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:586,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:586,1
    - Dst: page_prohibit_access
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:588,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:588,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:590,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:590,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:593,1
    - Dst: ::mprotect
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:602,1
    - Dst: ::VirtualProtect
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:606,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:607,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:609,1
    - Dst: ::mprotect
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:616,1
    - Dst: ::VirtualProtect
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:620,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:621,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:623,1
    - Dst: size
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:630,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:633,1
    - Dst: page_allow_access
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:636,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:636,1
    - Dst: page_allow_access
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:637,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:637,1
    - Dst: ::munlock
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:640,1
    - Dst: ::munmap
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:641,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:641,1
    - Dst: ::VirtualUnlock
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:643,1
    - Dst: ::VirtualFree
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:644,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:644,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:653,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:655,1
    - Dst: static_cast<void>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:662,1
    - Dst: pthread_setname_np
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:662,1
    - Dst: native_handle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:662,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:662,1
    - Dst: static_cast<void>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:664,1
    - Dst: pthread_set_name_np
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:664,1
    - Dst: native_handle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:664,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:664,1
    - Dst: static_cast<void>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:666,1
    - Dst: pthread_setname_np
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:666,1
    - Dst: native_handle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:666,1
    - Dst: const_cast<char*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:666,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:666,1
    - Dst: static_cast<void>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:668,1
    - Dst: pthread_setname_np
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:668,1
    - Dst: native_handle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:668,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:668,1
    - Dst: GetModuleHandleA
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:671,1
    - Dst: reinterpret_cast<std_proc>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:672,1
    - Dst: GetProcAddress
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:672,1
    - Dst: MultiByteToWideChar
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:675,1
    - Dst: std::string::data
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:675,1
    - Dst: std::wstring::resize
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:677,1
    - Dst: MultiByteToWideChar
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:678,1
    - Dst: std::string::data
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:678,1
    - Dst: set_thread_name
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:679,1
    - Dst: native_handle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:679,1
    - Dst: std::wstring::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:679,1
    - Dst: get_pthread_thread_id
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:684,1
    - Dst: native_handle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:684,1
    - Dst: static_cast<void>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:685,1
    - Dst: rename_thread
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:685,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:685,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:689,1
    - Dst: siglongjmp
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:702,1
    - Dst: sigemptyset
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:717,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:723,1
    - Dst: sigsetjmp
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:726,1
    - Dst: probe_fn
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:730,1
    - Dst: ::sigaction
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:737,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:739,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:743,1
    - Dst: fileno
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:754,1
    - Dst: ::tcgetattr
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:755,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:756,1
    - Dst: ::tcsetattr
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:763,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:764,1
    - Dst: ::tcsetattr
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:770,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:771,1
    - Dst: reenable_echo
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:779,1
    - Dst: std::make_unique<POSIX_Echo_Suppression>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:793,1
    - Dst: ::GetStdHandle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:800,1
    - Dst: ::GetConsoleMode
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:801,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:802,1
    - Dst: ::GetLastError
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:802,1
    - Dst: ::SetConsoleMode
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:805,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:806,1
    - Dst: ::GetLastError
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:806,1
    - Dst: ::SetConsoleMode
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:811,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:812,1
    - Dst: ::GetLastError
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:812,1
    - Dst: reenable_echo
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:819,1
    - Dst: std::make_unique<Win32_Echo_Suppression>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:833,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 226
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 842
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 842
    functionName: Botan::OS::get_high_resolution_clock
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 2
    functionsReached:
    - secure_scrub_memory
    - get_pthread_thread_id
    - ::VirtualProtect
    - System_Error
    - ::tcgetattr
    - ::VirtualFree
    - Not_Implemented
    - std::min<size_t>
    - read_env_variable
    - ::GetConsoleMode
    - ::munlock
    - std::vector::reserve
    - std::make_unique<Win32_Echo_Suppression>
    - ::clock_gettime
    - std::string::data
    - sigsetjmp
    - ::madvise
    - GetProcAddress
    - std::put_time
    - std::wstring::resize
    - ::VirtualAlloc
    - size
    - VM_MAKE_TAG
    - ::GetCurrentProcess
    - ::mprotect
    - std::string
    - ::SetConsoleMode
    - ::GetStdHandle
    - fileno
    - ::mmap
    - running_in_privileged_state
    - const_cast<char*>
    - ::setrlimit
    - ::munmap
    - ::GetLastError
    - sigemptyset
    - reenable_echo
    - c_str
    - native_handle
    - reinterpret_cast<std_proc>
    - GetModuleHandleA
    - std::make_unique<POSIX_Echo_Suppression>
    - std::ostringstream::str
    - Botan::TLS::detail::AsyncBase::complete_now
    - ::getrlimit
    - ::GetSystemInfo
    - Encoding_Error
    - getenv_s
    - ::GetProcessWorkingSetSize
    - static_cast<void>
    - std::string::empty
    - ::tcsetattr
    - BOTAN_UNUSED
    - page_prohibit_access
    - rename_thread
    - static_cast<uint8_t*>
    - MultiByteToWideChar
    - pthread_setname_np
    - localtime_s
    - ::sigaction
    - page_allow_access
    - std::string::c_str
    - static_cast<int>
    - set_thread_name
    - localtime_r
    - std::memset
    - static_cast<uint64_t>
    - page_named
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - PROT_MAX
    - std::wstring::c_str
    - ::VirtualLock
    - std::vector::push_back
    - static_cast<size_t>
    - emscripten_get_now
    - std::localtime
    - ::mlock
    - pthread_set_name_np
    - probe_fn
    - siglongjmp
    - ::VirtualUnlock
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t OS::get_high_resolution_clock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UUID
      Src: /src/botan/src/lib/utils/uuid/uuid.h:26,1
    - Dst: m_uuid
      Src: /src/botan/src/lib/utils/uuid/uuid.h:26,1
    - Dst: UUID
      Src: /src/botan/src/lib/utils/uuid/uuid.h:31,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/uuid/uuid.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 61
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/utils/uuid/uuid.h
    functionUses: 17
    functionsReached:
    - m_uuid
    - UUID
    - Botan::size
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:18,1
    - Dst: randomize
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:19,1
    - Dst: data
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:19,1
    - Dst: size
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: Botan::UUID::UUID
    functionSourceFile: /src/botan/src/lib/utils/uuid/uuid.cpp
    functionUses: 2
    functionsReached:
    - randomize
    - resize
    - size
    - data
    linkageType: ''
    returnType: void
    signature: void UUID::UUID(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:29,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:30,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' blob'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: Botan::UUID::UUID
    functionSourceFile: /src/botan/src/lib/utils/uuid/uuid.cpp
    functionUses: 2
    functionsReached:
    - Invalid_Argument
    - hex_encode
    - size
    linkageType: ''
    returnType: void
    signature: void UUID::UUID(const std::vector<uint8_t>& blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:37,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:39,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:39,1
    - Dst: hex_decode
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:51,1
    - Dst: size
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:53,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:54,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:54,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 1
    argNames:
    - uuid_str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: Botan::UUID::UUID
    functionSourceFile: /src/botan/src/lib/utils/uuid/uuid.cpp
    functionUses: 2
    functionsReached:
    - hex_decode
    - std::string_view::size
    - Invalid_Argument
    - size
    - fmt
    linkageType: ''
    returnType: void
    signature: void UUID::UUID(std::string_view uuid_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:59,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:60,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:63,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:67,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: Botan::UUID::to_string
    functionSourceFile: /src/botan/src/lib/utils/uuid/uuid.cpp
    functionUses: 3
    functionsReached:
    - std::ostringstream::str
    - hex_encode
    - Invalid_State
    - is_valid
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string UUID::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dynamically_Loaded_Library
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.h:30,1
    - Dst: reinterpret_cast<T>
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.h:53,1
    - Dst: resolve_symbol
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.h:53,1
    - Dst: Botan::Dynamically_Loaded_Library
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 62
    functionName: Botan::Dynamically_Loaded_Library
    functionSourceFile: /src/botan/src/lib/utils/dyn_load/dyn_load.h
    functionUses: 1
    functionsReached:
    - Botan::Dynamically_Loaded_Library
    - resolve_symbol
    - reinterpret_cast<T>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Dynamically_Loaded_Library
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:36,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lib_name
    - msg
    argTypes:
    - std::string_view
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: Botan::raise_runtime_loader_exception
    functionSourceFile: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void raise_runtime_loader_exception(std::string_view lib_name, const
      char* msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::dlopen
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:43,1
    - Dst: c_str
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:43,1
    - Dst: raise_runtime_loader_exception
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:46,1
    - Dst: ::dlerror
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:46,1
    - Dst: ::LoadLibraryA
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:50,1
    - Dst: c_str
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:50,1
    - Dst: raise_runtime_loader_exception
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:53,1
    - Dst: raise_runtime_loader_exception
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - library
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: Botan::Dynamically_Loaded_Library::Dynamically_Loaded_Library
    functionSourceFile: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp
    functionUses: 0
    functionsReached:
    - ::LoadLibraryA
    - ::dlopen
    - raise_runtime_loader_exception
    - ::dlerror
    - c_str
    linkageType: ''
    returnType: void
    signature: void Dynamically_Loaded_Library::Dynamically_Loaded_Library(std::string_view
      library)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::dlclose
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:63,1
    - Dst: ::FreeLibrary
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:65,1
    - Dst: reinterpret_cast<HMODULE>
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: Dynamically_Loaded_Library::~Dynamically_Loaded_Library()
    functionSourceFile: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HMODULE>
    - ::FreeLibrary
    - ::dlclose
    linkageType: ''
    returnType: void
    signature: void Dynamically_Loaded_Library::~Dynamically_Loaded_Library()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::dlsym
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:73,1
    - Dst: c_str
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:73,1
    - Dst: reinterpret_cast<void*>
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:75,1
    - Dst: ::GetProcAddress
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:75,1
    - Dst: reinterpret_cast<HMODULE>
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:75,1
    - Dst: c_str
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:75,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:79,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' symbol'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: Botan::Dynamically_Loaded_Library::resolve_symbol
    functionSourceFile: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - ::dlsym
    - reinterpret_cast<HMODULE>
    - ::GetProcAddress
    - fmt
    - Invalid_Argument
    - c_str
    linkageType: ''
    returnType: void
    signature: void * Dynamically_Loaded_Library::resolve_symbol(const std::string&
      symbol)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_errmsg
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:25,1
    - Dst: ::sqlite3_close
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:26,1
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - db_filename
    - sqlite_open_flags
    argTypes:
    - std::string_view
    - std::optional<int>
    constantsTouched: []
    func_position:
      end: 30
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 30
    functionName: Botan::Sqlite3_Database::Sqlite3_Database
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - ::sqlite3_close
    - ::sqlite3_errmsg
    - SQL_DB_Error
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Database(std::string_view db_filename,
      std::optional<int> sqlite_open_flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_close
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: Sqlite3_Database::~Sqlite3_Database()
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - ::sqlite3_close
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::~Sqlite3_Database()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Sqlite3_Statement>
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base_sql
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::Sqlite3_Database::new_statement
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Sqlite3_Statement>
    linkageType: ''
    returnType: std::shared_ptr<SQL_Database::Statement>
    signature: std::shared_ptr<SQL_Database::Statement> Sqlite3_Database::new_statement(std::string_view
      base_sql) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sqlite3_Database::new_statement
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:44,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:44,1
    - Dst: auto::step
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:46,1
    - Dst: auto::get_size_t
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:47,1
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:49,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - table_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: Botan::Sqlite3_Database::row_count
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - auto::step
    - SQL_DB_Error
    - Botan::Sqlite3_Database::new_statement
    - auto::get_size_t
    - fmt
    linkageType: ''
    returnType: size_t
    signature: size_t Sqlite3_Database::row_count(std::string_view table_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_free
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:59,1
    - Dst: ::sqlite3_close
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:60,1
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - table_schema
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: Botan::Sqlite3_Database::create_table
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - ::sqlite3_close
    - ::sqlite3_free
    - SQL_DB_Error
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::create_table(std::string_view table_schema)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_changes64
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:67,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:68,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: Botan::Sqlite3_Database::rows_changed_by_last_statement
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - ::sqlite3_changes64
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t Sqlite3_Database::rows_changed_by_last_statement()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: Botan::Sqlite3_Database::is_threadsafe
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Sqlite3_Database::is_threadsafe() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:94,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - db
    - base_sql
    argTypes:
    - sqlite3*
    - std::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: Sqlite3_Database::Sqlite3_Statement::Sqlite3_Statement(sqlite3*
      db, std::string_view base_sql)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - SQL_DB_Error
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::Sqlite3_Statement(sqlite3*
      db, std::string_view base_sql)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - column
    - val
    argTypes:
    - int
    - std::string_view
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: Sqlite3_Database::Sqlite3_Statement::bind(int column, std::string_view
      val)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - SQL_DB_Error
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::bind(int column, std::string_view
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - column
    - val
    argTypes:
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: Sqlite3_Database::Sqlite3_Statement::bind(int column, size_t val)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - SQL_DB_Error
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::bind(int column, size_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bind
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:114,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - column
    - time
    argTypes:
    - int
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: Sqlite3_Database::Sqlite3_Statement::bind(int column, std::chrono::system_clock::time_point
      time)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - bind
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::bind(int column, std::chrono::system_clock::time_point
      time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - column
    - ' val'
    argTypes:
    - int
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Sqlite3_Database::Sqlite3_Statement::bind(int column, const std::vector<uint8_t>&
      val)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - SQL_DB_Error
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::bind(int column, const std::vector<uint8_t>&
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - column
    - p
    - len
    argTypes:
    - int
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Sqlite3_Database::Sqlite3_Statement::bind(int column, const uint8_t*
      p, size_t len)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - SQL_DB_Error
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::bind(int column, const uint8_t*
      p, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_column_type
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:132,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:137,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:142,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:144,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:144,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - column
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: Sqlite3_Database::Sqlite3_Statement::get_blob(int column)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const uint8_t*>
    - ::sqlite3_column_type
    - static_cast<size_t>
    - std::make_pair
    - BOTAN_ASSERT
    linkageType: ''
    returnType: std::pair<const uint8_t*, size_t>
    signature: std::pair<const uint8_t*, size_t> Sqlite3_Database::Sqlite3_Statement::get_blob(int
      column)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:148,1
    - Dst: ::sqlite3_column_type
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:148,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:152,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - column
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: Sqlite3_Database::Sqlite3_Statement::get_str(int column)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - ::sqlite3_column_type
    - cast_uint8_ptr_to_char
    - BOTAN_ASSERT
    linkageType: ''
    returnType: std::string
    signature: std::string Sqlite3_Database::Sqlite3_Statement::get_str(int column)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:156,1
    - Dst: ::sqlite3_column_type
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - column
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: Sqlite3_Database::Sqlite3_Statement::get_size_t(int column)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - ::sqlite3_column_type
    - BOTAN_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t Sqlite3_Database::Sqlite3_Statement::get_size_t(int column)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: step
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: Sqlite3_Database::Sqlite3_Statement::spin()
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - step
    linkageType: ''
    returnType: size_t
    signature: size_t Sqlite3_Database::Sqlite3_Statement::spin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_step
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: Sqlite3_Database::Sqlite3_Statement::step()
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - ::sqlite3_step
    linkageType: ''
    returnType: bool
    signature: bool Sqlite3_Database::Sqlite3_Statement::step()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_finalize
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Sqlite3_Database::Sqlite3_Statement::~Sqlite3_Statement()
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - ::sqlite3_finalize
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::~Sqlite3_Statement()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sqlite3_Database
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 68
    functionName: Botan::SQL_Database
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.h
    functionUses: 0
    functionsReached:
    - Sqlite3_Database
    linkageType: ''
    returnType: Sqlite3_Database
    signature: Sqlite3_Database SQL_Database
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:124,1
    - Dst: StrongSpan<TreeNode>::size
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:124,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:125,1
    - Dst: std::optional<AuthPathSS>::has_value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:125,1
    - Dst: std::optional<TreeNodeIndex>::has_value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:125,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:128,1
    - Dst: std::optional<AuthPathSS>::value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:128,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:128,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:130,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:132,1
    - Dst: TreeNode
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:132,1
    - Dst: set_address
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:140,1
    - Dst: TreeLayerIndex
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:140,1
    - Dst: gen_leaf
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:141,1
    - Dst: StrongSpan<TreeNode>
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:141,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:152,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:159,1
    - Dst: std::optional<AuthPathSS>::value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:160,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:160,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:161,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:171,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:171,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:171,1
    - Dst: set_address
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:180,1
    - Dst: node_pair_hash
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:182,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:182,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:182,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:185,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 9
    argNames:
    - out_root
    - out_auth_path
    - leaf_idx
    - node_size
    - total_tree_height
    - idx_offset
    - node_pair_hash
    - gen_leaf
    - ' tree_address'
    argTypes:
    - StrongSpan<TreeNode>
    - std::optional<AuthPathSS>
    - std::optional<TreeNodeIndex>
    - size_t
    - TreeLayerIndex
    - uint32_t
    - concepts::tree_hash_node_pair<TreeNodeIndex, TreeLayerIndex, Address, StrongSpan<TreeNode>>
      auto
    - concepts::tree_gen_leaf<TreeNodeIndex, TreeLayerIndex, Address, StrongSpan<TreeNode>>
      auto
    - Address
    constantsTouched: []
    func_position:
      end: 190
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 190
    functionName: Botan::treehash
    functionSourceFile: /src/botan/src/lib/utils/tree_hash/tree_hash.h
    functionUses: 3
    functionsReached:
    - std::optional<AuthPathSS>::has_value
    - set_address
    - Botan::copy_mem
    - StrongSpan<TreeNode>::size
    - TreeNode
    - TreeLayerIndex
    - std::vector::at
    - auto::value
    - gen_leaf
    - node_pair_hash
    - auto::has_value
    - BOTAN_ASSERT
    - TreeLayerIndex::get
    - StrongSpan<TreeNode>
    - std::optional<AuthPathSS>::value
    - std::optional<TreeNodeIndex>::has_value
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void treehash(\n   StrongSpan<TreeNode> out_root,\n   std::optional<AuthPathSS>
      out_auth_path,\n   std::optional<TreeNodeIndex> leaf_idx,\n   size_t node_size,\n
      \  TreeLayerIndex total_tree_height,\n   uint32_t idx_offset,\n   concepts::tree_hash_node_pair<TreeNodeIndex,
      TreeLayerIndex, Address, StrongSpan<TreeNode>> auto node_pair_hash,\n   concepts::tree_gen_leaf<TreeNodeIndex,
      TreeLayerIndex, Address, StrongSpan<TreeNode>> auto gen_leaf,\n   Address& tree_address)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:224,1
    - Dst: StrongSpan<TreeNode>::size
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:224,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:225,1
    - Dst: AuthPathSS::size
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:225,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:225,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:225,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:226,1
    - Dst: StrongSpan<const TreeNode>::size
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:226,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:230,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:247,1
    - Dst: std::swap
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:250,1
    - Dst: set_address
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:255,1
    - Dst: node_pair_hash
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:257,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:260,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 9
    argNames:
    - out_root
    - authentication_path
    - leaf_idx
    - leaf
    - node_size
    - total_tree_height
    - idx_offset
    - node_pair_hash
    - ' tree_address'
    argTypes:
    - StrongSpan<TreeNode>
    - AuthPathSS
    - TreeNodeIndex
    - StrongSpan<const TreeNode>
    - size_t
    - TreeLayerIndex
    - uint32_t
    - concepts::tree_hash_node_pair<TreeNodeIndex, TreeLayerIndex, Address, StrongSpan<TreeNode>>
      auto
    - Address
    constantsTouched: []
    func_position:
      end: 261
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 261
    functionName: Botan::compute_root
    functionSourceFile: /src/botan/src/lib/utils/tree_hash/tree_hash.h
    functionUses: 2
    functionsReached:
    - set_address
    - StrongSpan<TreeNode>::size
    - static_cast<size_t>
    - StrongSpan<const TreeNode>::size
    - BufferSlicer::take
    - std::swap
    - node_pair_hash
    - BufferSlicer::empty
    - TreeLayerIndex::get
    - Botan::copy_mem
    - AuthPathSS::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: "void compute_root(\n   StrongSpan<TreeNode> out_root,\n   AuthPathSS
      authentication_path,\n   TreeNodeIndex leaf_idx,\n   StrongSpan<const TreeNode>
      leaf,\n   size_t node_size,\n   TreeLayerIndex total_tree_height,\n   uint32_t
      idx_offset,\n   concepts::tree_hash_node_pair<TreeNodeIndex, TreeLayerIndex,
      Address, StrongSpan<TreeNode>> auto node_pair_hash,\n   Address& tree_address)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Memory_Pool
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.h:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 52
    functionName: Botan::Memory_Pool
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.h
    functionUses: 1
    functionsReached:
    - Botan::Memory_Pool
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Memory_Pool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 143
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 143
    functionName: Botan::choose_bucket
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t choose_bucket(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - pool_ptr
    - poolsize
    - buf_ptr
    - bufsize
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: Botan::ptr_in_pool
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ptr_in_pool(const void* pool_ptr, size_t poolsize, const void*
      buf_ptr, size_t bufsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - b
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: Botan::find_set_bit
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: size_t
    signature: size_t find_set_bit(T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:173,1
    - Dst: static_cast<bitmask_type>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:175,1
    - Dst: static_cast<bitmask_type>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: Botan::BitMap::BitMap
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bitmask_type>
    - resize
    linkageType: ''
    returnType: void
    signature: void BitMap(size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:186,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:188,1
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:188,1
    - Dst: static_cast<bitmask_type>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bit
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: Botan::BitMap::free
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bitmask_type>
    - size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void free(size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: Botan::BitMap::empty
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:219,1
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:220,1
    - Dst: static_cast<bitmask_type>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:223,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bit
    argTypes:
    - size_t*
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: Botan::BitMap::find_free
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bitmask_type>
    - size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: bool BitMap::find_free(size_t* bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mem
    - mem_size
    - item_size
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: Botan::Bucket::Bucket
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bucket(uint8_t* mem, size_t mem_size, size_t item_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_free
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:252,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: Botan::Bucket::alloc
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - find_free
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * alloc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Bucket::in_this_bucket
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:263,1
    - Dst: std::memset
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:271,1
    - Dst: Botan::Bucket::free
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 279
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 279
    functionName: Botan::Bucket::free
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 1
    functionsReached:
    - std::memset
    - Botan::Bucket::in_this_bucket
    - Botan::Bucket::free
    linkageType: ''
    returnType: bool
    signature: bool free(void* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ptr_in_pool
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: Botan::Bucket::in_this_bucket
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 1
    functionsReached:
    - ptr_in_pool
    linkageType: ''
    returnType: bool
    signature: bool in_this_bucket(void* p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Bucket::empty
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: Botan::Bucket::empty
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 1
    functionsReached:
    - Botan::Bucket::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: Botan::Bucket::ptr
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * ptr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uintptr_t>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:296,1
    - Dst: std::min
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:302,1
    - Dst: std::max
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:303,1
    - Dst: clear_bytes
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:305,1
    - Dst: OS::page_prohibit_access
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:307,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:309,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' pages'
    - page_size
    argTypes:
    - std::vector<void*>
    - size_t
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: Botan::Memory_Pool::Memory_Pool
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - clear_bytes
    - std::max
    - static_cast<uint8_t*>
    - OS::page_prohibit_access
    - static_cast<uintptr_t>
    - std::min
    - push_back
    linkageType: ''
    returnType: void
    signature: void Memory_Pool::Memory_Pool(const std::vector<void*>& pages, size_t
      page_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:322,1
    - Dst: OS::page_allow_access
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: Memory_Pool::~Memory_Pool()
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - OS::page_allow_access
    - size
    linkageType: ''
    returnType: void
    signature: void Memory_Pool::~Memory_Pool()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:355,1
    - Dst: pop_front
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:357,1
    - Dst: OS::page_allow_access
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:359,1
    - Dst: push_front
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:361,1
    - Dst: Bucket
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:361,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 370
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 370
    functionName: Botan::Memory_Pool::allocate
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - empty
    - OS::page_allow_access
    - Bucket
    - push_front
    - pop_front
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void * Memory_Pool::allocate(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:387,1
    - Dst: free
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:389,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:390,1
    - Dst: OS::page_prohibit_access
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:392,1
    - Dst: ptr
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:392,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:394,1
    - Dst: ptr
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:394,1
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:396,1
    - Dst: std::swap
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:397,1
    - Dst: back
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:397,1
    - Dst: pop_back
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:399,1
    - Dst: std::terminate
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:418,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 423
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 423
    functionName: Botan::Memory_Pool::deallocate
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 1
    functionsReached:
    - ptr
    - pop_back
    - free
    - empty
    - std::swap
    - std::terminate
    - size
    - OS::page_prohibit_access
    - back
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool Memory_Pool::deallocate(void* p, size_t len) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_mul
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:22,1
    - Dst: Botan::mlock_allocator::allocate
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:23,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - num_elems
    - elem_size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: Botan::mlock_allocator::allocate
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp
    functionUses: 1
    functionsReached:
    - auto::value
    - checked_mul
    - Botan::mlock_allocator::allocate
    linkageType: ''
    returnType: void
    signature: void * mlock_allocator::allocate(size_t num_elems, size_t elem_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_mul
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:35,1
    - Dst: Botan::mlock_allocator::deallocate
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:36,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p
    - num_elems
    - elem_size
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: Botan::mlock_allocator::deallocate
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp
    functionUses: 1
    functionsReached:
    - auto::value
    - checked_mul
    - Botan::mlock_allocator::deallocate
    linkageType: ''
    returnType: bool
    signature: bool mlock_allocator::deallocate(void* p, size_t num_elems, size_t
      elem_size) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::allocate_locked_pages
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:51,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:53,1
    - Dst: std::make_unique<Memory_Pool>
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: Botan::mlock_allocator::mlock_allocator
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Memory_Pool>
    - empty
    - OS::allocate_locked_pages
    linkageType: ''
    returnType: void
    signature: void mlock_allocator::mlock_allocator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:61,1
    - Dst: OS::free_locked_pages
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: mlock_allocator::~mlock_allocator()
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp
    functionUses: 0
    functionsReached:
    - reset
    - OS::free_locked_pages
    linkageType: ''
    returnType: void
    signature: void mlock_allocator::~mlock_allocator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '& mlock_allocator::instance()'
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mlock_allocator
    signature: mlock_allocator & mlock_allocator::instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::mlock_allocator::mlock_allocator
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mlock_allocator(const mlock_allocator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(const mlock_allocator&)'
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mlock_allocator
    signature: mlock_allocator & operator=(const mlock_allocator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T0>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T0
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::detail::first
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - std::forward<T0>
    linkageType: ''
    returnType: first_t<T0, Ts...>
    signature: first_t<T0, Ts...> first(T0&& t, Ts&&...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::detail::bitvector_iterator::bitvector_iterator
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitvector_iterator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: ~bitvector_iterator()
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~bitvector_iterator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::bitvector_iterator::update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitvector
    - offset
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Botan::detail::bitvector_iterator::bitvector_iterator
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::bitvector_iterator::update
    linkageType: ''
    returnType: void
    signature: void bitvector_iterator(T* bitvector, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::bitvector_iterator::update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - bitvector_iterator
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::detail::bitvector_iterator::bitvector_iterator
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::bitvector_iterator::update
    linkageType: ''
    returnType: void
    signature: void bitvector_iterator(const bitvector_iterator& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::bitvector_iterator::update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - bitvector_iterator
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan::detail::bitvector_iterator::bitvector_iterator
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::bitvector_iterator::update
    linkageType: ''
    returnType: void
    signature: void bitvector_iterator(bitvector_iterator&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - bitvector_iterator
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: '& operator=(const bitvector_iterator& other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: bitvector_iterator
    signature: bitvector_iterator & operator=(const bitvector_iterator& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - bitvector_iterator
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: '& operator=(bitvector_iterator&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: bitvector_iterator
    signature: bitvector_iterator & operator=(bitvector_iterator&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:165,1
    - Dst: signed_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: '& operator++() noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - update
    - signed_offset
    linkageType: ''
    returnType: bitvector_iterator
    signature: bitvector_iterator & operator++() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:171,1
    - Dst: signed_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: operator++(int) noexcept
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - update
    - signed_offset
    linkageType: ''
    returnType: bitvector_iterator
    signature: bitvector_iterator operator++(int) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:176,1
    - Dst: signed_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: '& operator--() noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - update
    - signed_offset
    linkageType: ''
    returnType: bitvector_iterator
    signature: bitvector_iterator & operator--() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:182,1
    - Dst: signed_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: operator--(int) noexcept
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - update
    - signed_offset
    linkageType: ''
    returnType: bitvector_iterator
    signature: bitvector_iterator operator--(int) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - bitvector_iterator
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: operator<=>(const bitvector_iterator& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::partial_ordering
    signature: std::partial_ordering operator<=>(const bitvector_iterator& other)
      const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - bitvector_iterator
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: operator==(const bitvector_iterator& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const bitvector_iterator& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: operator*() const
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: operator->() const
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:205,1
    - Dst: emplace
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:206,1
    - Dst: reset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - new_offset
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: Botan::detail::bitvector_iterator::update
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 3
    functionsReached:
    - reset
    - emplace
    - size
    linkageType: ''
    returnType: void
    signature: void update(size_type new_offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<difference_type>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: Botan::detail::bitvector_iterator::signed_offset
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - static_cast<difference_type>
    linkageType: ''
    returnType: difference_type
    signature: difference_type signed_offset() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: Botan::bitvector_base::block_index
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type block_index(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: Botan::bitvector_base::block_offset
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type block_offset(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:270,1
    - Dst: block_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - blocks
    - pos
    argTypes:
    - std::span<BlockT>
    - size_type
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: Botan::bitvector_base::bitref_base::bitref_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - block_index
    - block_offset
    linkageType: ''
    returnType: void
    signature: void bitref_base(std::span<BlockT> blocks, size_type pos) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: Botan::bitvector_base::bitref_base::bitref_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitref_base()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: Botan::bitvector_base::bitref_base::bitref_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitref_base(const bitref_base&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: Botan::bitvector_base::bitref_base::bitref_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitref_base(bitref_base&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& operator=(const bitref_base&)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bitref_base
    signature: bitref_base & operator=(const bitref_base&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: '& operator=(bitref_base&&)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bitref_base
    signature: bitref_base & operator=(bitref_base&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: ~bitref_base()
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~bitref_base()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: operator bool() const noexcept
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - is_set
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: Botan::bitvector_base::bitref_base::is_set
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_set() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:288,1
    - Dst: Botan::bitvector_base::bitref_base::is_set
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: Botan::bitvector_base::bitref_base::as
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::bitref_base::is_set
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T as() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:292,1
    - Dst: static_cast<BlockT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: Botan::bitvector_base::bitref_base::as_choice
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - static_cast<BlockT>
    - Botan::CT::Choice::from_int
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice as_choice() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: ~bitref()
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~bitref()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: Botan::bitvector_base::bitref<BlockT>::bitref
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitref(const bitref&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: Botan::bitvector_base::bitref<BlockT>::bitref
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitref(bitref&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: '& set() noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bitref
    signature: bitref & set() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: '& unset() noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bitref
    signature: bitref & unset() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: '& flip() noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bitref
    signature: bitref & flip() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bit
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: '& operator=(bool bit) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: bitref
    signature: bitref & operator=(bool bit) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bit'
    argTypes:
    - bitref
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: '& operator=(const bitref& bit) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - is_set
    linkageType: ''
    returnType: bitref
    signature: bitref & operator=(const bitref& bit) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' bit'
    argTypes:
    - bitref
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: '& operator=(bitref&& bit) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - is_set
    linkageType: ''
    returnType: bitref
    signature: bitref & operator=(bitref&& bit) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: '& operator&=(bool other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: bitref
    signature: bitref & operator&=(bool other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: '& operator|=(bool other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: bitref
    signature: bitref & operator|=(bool other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: '& operator^=(bool other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: bitref
    signature: bitref & operator^=(bool other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: Botan::bitvector_base::bitvector_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitvector_base()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::ceil_toblocks
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: Botan::bitvector_base::bitvector_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ceil_toblocks
    linkageType: ''
    returnType: void
    signature: void bitvector_base(size_type bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::from_bytes
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: Botan::bitvector_base::bitvector_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::from_bytes
    linkageType: ''
    returnType: void
    signature: void bitvector_base(std::span<const uint8_t> bytes, std::optional<size_type>
      bits = std::nullopt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:396,1
    - Dst: std::initializer_list<block_type>::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:396,1
    - Dst: std::initializer_list<block_type>::begin
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:396,1
    - Dst: std::initializer_list<block_type>::end
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blocks
    argTypes:
    - std::initializer_list<block_type>
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: Botan::bitvector_base::bitvector_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - value_or
    - std::initializer_list<block_type>::size
    - std::initializer_list<block_type>::end
    - std::initializer_list<block_type>::begin
    linkageType: ''
    returnType: void
    signature: void bitvector_base(std::initializer_list<block_type> blocks, std::optional<size_type>
      bits = std::nullopt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: Botan::bitvector_base::empty
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: Botan::bitvector_base::size
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:407,1
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 414
    functionName: Botan::bitvector_base::has_odd_hamming_weight
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::full_range_operation
    - Botan::CT::Choice::from_int
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice has_odd_hamming_weight() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:422,1
    - Dst: ct_popcount
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: Botan::bitvector_base::hamming_weight
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::full_range_operation
    - ct_popcount
    linkageType: ''
    returnType: size_type
    signature: size_type hamming_weight() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::subvector
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:431,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: Botan::bitvector_base::as
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::size
    - Botan::bitvector_base::subvector
    linkageType: ''
    returnType: OutT
    signature: OutT as() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:439,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:439,1
    - Dst: Botan::bitvector_base::full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:440,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OtherT
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: Botan::bitvector_base::equals_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - unwrap_strong_type
    - Botan::bitvector_base::size
    - Botan::bitvector_base::full_range_operation
    linkageType: ''
    returnType: bool
    signature: bool equals_vartime(const OtherT& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::none
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OtherT
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: Botan::bitvector_base::equals
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::none
    linkageType: ''
    returnType: bool
    signature: bool equals(const OtherT& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:465,1
    - Dst: std::span<const uint8_t>::size_bytes
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:465,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:466,1
    - Dst: std::span<const uint8_t>::size_bytes
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:466,1
    - Dst: Botan::bitvector_base::resize
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:467,1
    - Dst: typecast_copy
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:473,1
    - Dst: first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:473,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:473,1
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 480
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 480
    functionName: Botan::bitvector_base::from_bytes
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::first
    - Botan::bitvector_base::resize
    - Botan::bitvector_base::ref
    - typecast_copy
    - std::span<const uint8_t>::size_bytes
    - value_or
    - BOTAN_ARG_CHECK
    - first
    linkageType: ''
    returnType: void
    signature: void from_bytes(std::span<const uint8_t> bytes, std::optional<size_type>
      bits = std::nullopt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::to_bytes
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: Botan::bitvector_base::to_bytes
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - Botan::bitvector_base::to_bytes
    linkageType: ''
    returnType: OutT
    signature: OutT to_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:502,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:503,1
    - Dst: std::span<uint8_t>::size_bytes
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:503,1
    - Dst: typecast_copy
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:509,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:509,1
    - Dst: first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:509,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:513,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:513,1
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 517
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 517
    functionName: Botan::bitvector_base::to_bytes
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - clear_mem
    - std::span<uint8_t>::subspan
    - std::span<uint8_t>::first
    - ceil_tobytes
    - std::span<uint8_t>::size_bytes
    - Botan::bitvector_base::ref
    - typecast_copy
    - BOTAN_ARG_CHECK
    - first
    linkageType: ''
    returnType: void
    signature: void to_bytes(std::span<uint8_t> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:525,1
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:526,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: Botan::bitvector_base::to_string
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    - Botan::bitvector_base::size
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::capacity
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: Botan::bitvector_base::capacity
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - Botan::bitvector_base::capacity
    linkageType: ''
    returnType: size_type
    signature: size_type capacity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::reserve
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:538,1
    - Dst: Botan::bitvector_base::ceil_toblocks
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 538
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 538
    functionName: Botan::bitvector_base::reserve
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - Botan::bitvector_base::ceil_toblocks
    - Botan::bitvector_base::reserve
    linkageType: ''
    returnType: void
    signature: void reserve(size_type bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::ceil_toblocks
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:541,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:542,1
    - Dst: Botan::bitvector_base::resize
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:543,1
    - Dst: Botan::bitvector_base::zero_unused_bits
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 548
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 548
    functionName: Botan::bitvector_base::resize
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached:
    - Botan::bitvector_base::ceil_toblocks
    - Botan::bitvector_base::size
    - Botan::bitvector_base::zero_unused_bits
    - Botan::bitvector_base::resize
    linkageType: ''
    returnType: void
    signature: void resize(size_type bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:551,1
    - Dst: Botan::bitvector_base::resize
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:552,1
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bit
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: Botan::bitvector_base::push_back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    - Botan::bitvector_base::size
    - Botan::bitvector_base::resize
    linkageType: ''
    returnType: void
    signature: void push_back(bool bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::empty
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:557,1
    - Dst: Botan::bitvector_base::resize
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:558,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: Botan::bitvector_base::pop_back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::size
    - Botan::bitvector_base::empty
    - Botan::bitvector_base::resize
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::check_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:568,1
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: Botan::bitvector_base::at
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::check_offset
    - Botan::bitvector_base::ref
    linkageType: ''
    returnType: auto
    signature: auto at(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::check_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:574,1
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: Botan::bitvector_base::at
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::check_offset
    - Botan::bitvector_base::ref
    linkageType: ''
    returnType: auto
    signature: auto at(size_type pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 578
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 578
    functionName: Botan::bitvector_base::front
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    linkageType: ''
    returnType: auto
    signature: auto front()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 581
    functionName: Botan::bitvector_base::front
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    linkageType: ''
    returnType: auto
    signature: auto front() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:583,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 583
    functionName: Botan::bitvector_base::back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: auto
    signature: auto back()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:586,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 586
    functionName: Botan::bitvector_base::back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: auto
    signature: auto back() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:593,1
    - Dst: ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: '& set(size_type pos)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - ref
    - check_offset
    linkageType: ''
    returnType: bitvector_base
    signature: bitvector_base & set(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:602,1
    - Dst: static_cast<decltype(block)>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:603,1
    - Dst: zero_unused_bits
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 607
    functionName: '& set()'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - full_range_operation
    - static_cast<decltype(block)>
    - zero_unused_bits
    linkageType: ''
    returnType: bitvector_base
    signature: bitvector_base & set()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:614,1
    - Dst: ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: '& unset(size_type pos)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - ref
    - check_offset
    linkageType: ''
    returnType: bitvector_base
    signature: bitvector_base & unset(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:623,1
    - Dst: static_cast<decltype(block)>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 627
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 627
    functionName: '& unset()'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - full_range_operation
    - static_cast<decltype(block)>
    linkageType: ''
    returnType: bitvector_base
    signature: bitvector_base & unset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:634,1
    - Dst: ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: '& flip(size_type pos)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - ref
    - check_offset
    linkageType: ''
    returnType: bitvector_base
    signature: bitvector_base & flip(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:643,1
    - Dst: zero_unused_bits
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: '& flip()'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - full_range_operation
    - zero_unused_bits
    linkageType: ''
    returnType: bitvector_base
    signature: bitvector_base & flip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 653
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 653
    functionName: Botan::bitvector_base::none_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::full_range_operation
    linkageType: ''
    returnType: bool
    signature: bool none_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::hamming_weight
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 658
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 658
    functionName: Botan::bitvector_base::none
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - Botan::bitvector_base::hamming_weight
    linkageType: ''
    returnType: bool
    signature: bool none() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::none_vartime
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 663
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 663
    functionName: Botan::bitvector_base::any_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::none_vartime
    linkageType: ''
    returnType: bool
    signature: bool any_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::none
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 668
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 668
    functionName: Botan::bitvector_base::any
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::none
    linkageType: ''
    returnType: bool
    signature: bool any() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: Botan::bitvector_base::all_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::full_range_operation
    linkageType: ''
    returnType: bool
    signature: bool all_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::hamming_weight
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 681
    functionName: Botan::bitvector_base::all
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::hamming_weight
    linkageType: ''
    returnType: bool
    signature: bool all() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 683
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 683
    functionName: operator[](size_type pos)
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - ref
    linkageType: ''
    returnType: auto
    signature: auto operator[](size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 686
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 686
    functionName: operator[](size_type pos) const
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - ref
    linkageType: ''
    returnType: auto
    signature: auto operator[](size_type pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:699,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:699,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:700,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:700,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:705,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:709,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:711,1
    - Dst: Botan::bitvector_base::block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:711,1
    - Dst: Botan::bitvector_base::block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:711,1
    - Dst: Botan::bitvector_base::block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:711,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:716,1
    - Dst: Botan::bitvector_base::range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:717,1
    - Dst: Botan::bitvector_base::zero_unused_bits
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 724
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 724
    functionName: Botan::bitvector_base::subvector
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - subspan
    - Botan::bitvector_base::block_index
    - copy_mem
    - Botan::bitvector_base::zero_unused_bits
    - unwrap_strong_type
    - Botan::bitvector_base::size
    - Botan::bitvector_base::range_operation
    - value_or
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: auto
    signature: auto subvector(size_type pos, std::optional<size_type> length = std::nullopt)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:741,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:741,1
    - Dst: load_le<result_t>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:745,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:745,1
    - Dst: Botan::bitvector_base::block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:745,1
    - Dst: Botan::bitvector_base::range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:748,1
    - Dst: wrap_strong_type<OutT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 758
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 758
    functionName: Botan::bitvector_base::subvector
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - subspan
    - Botan::bitvector_base::block_index
    - load_le<result_t>
    - Botan::bitvector_base::size
    - Botan::bitvector_base::range_operation
    - BOTAN_ARG_CHECK
    - wrap_strong_type<OutT>
    linkageType: ''
    returnType: OutT
    signature: OutT subvector(size_type pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:777,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:777,1
    - Dst: store_le
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:780,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:780,1
    - Dst: Botan::bitvector_base::block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:780,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:781,1
    - Dst: Botan::bitvector_base::range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:784,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pos
    - value
    argTypes:
    - size_type
    - InT
    constantsTouched: []
    func_position:
      end: 800
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 800
    functionName: Botan::bitvector_base::subvector_replace
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - subspan
    - Botan::bitvector_base::block_index
    - store_le
    - unwrap_strong_type
    - Botan::bitvector_base::size
    - Botan::bitvector_base::range_operation
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void subvector_replace(size_type pos, InT value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::flip
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 812
    functionName: operator~()
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - auto::flip
    linkageType: ''
    returnType: auto
    signature: auto operator~()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:816,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OtherT
    constantsTouched: []
    func_position:
      end: 820
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 820
    functionName: '& operator|=(const OtherT& other)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - full_range_operation
    - Botan::unwrap_strong_type
    linkageType: ''
    returnType: auto
    signature: auto & operator|=(const OtherT& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:824,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OtherT
    constantsTouched: []
    func_position:
      end: 828
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 828
    functionName: '& operator&=(const OtherT& other)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - full_range_operation
    - Botan::unwrap_strong_type
    linkageType: ''
    returnType: auto
    signature: auto & operator&=(const OtherT& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:832,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OtherT
    constantsTouched: []
    func_position:
      end: 836
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 836
    functionName: '& operator^=(const OtherT& other)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - full_range_operation
    - Botan::unwrap_strong_type
    linkageType: ''
    returnType: auto
    signature: auto & operator^=(const OtherT& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:855,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:856,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:856,1
    - Dst: m_blocks::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:856,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:859,1
    - Dst: if_set_return
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:860,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:862,1
    - Dst: if_set_return
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:863,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:865,1
    - Dst: if_set_return
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:866,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:868,1
    - Dst: if_set_return
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:869,1
    - Dst: Botan::bitvector_base::full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:873,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - condition
    - ' other'
    argTypes:
    - CT::Choice
    - OtherT
    constantsTouched: []
    func_position:
      end: 874
      start: 854
    functionDepth: 3
    functionLinenumber: 854
    functionLinenumberEnd: 874
    functionName: Botan::bitvector_base::ct_conditional_xor
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - m_blocks::size
    - Botan::bitvector_base::full_range_operation
    - Botan::CT::Mask::from_choice
    - if_set_return
    - unwrap_strong_type
    - Botan::bitvector_base::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void ct_conditional_xor(CT::Choice condition, const OtherT& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: Botan::bitvector_base::_const_time_poison
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 878
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 878
    functionName: Botan::bitvector_base::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 886
    functionName: Botan::bitvector_base::begin
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 888
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 888
    functionName: Botan::bitvector_base::begin
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: Botan::bitvector_base::cbegin
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:892,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 892
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 892
    functionName: Botan::bitvector_base::end
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::size
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator end() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:894,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 894
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 894
    functionName: Botan::bitvector_base::end
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::size
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:896,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 896
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 896
    functionName: Botan::bitvector_base::cend
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::size
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 905
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 905
    functionName: Botan::bitvector_base::check_offset
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void check_offset(size_type pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:908,1
    - Dst: Botan::bitvector_base::block_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:912,1
    - Dst: Botan::bitvector_base::block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 915
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 915
    functionName: Botan::bitvector_base::zero_unused_bits
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached:
    - Botan::bitvector_base::size
    - Botan::bitvector_base::block_index
    - Botan::bitvector_base::block_offset
    linkageType: ''
    returnType: void
    signature: void zero_unused_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 919
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 919
    functionName: Botan::bitvector_base::ceil_toblocks
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type ceil_toblocks(size_type bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitref<const block_type>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 921
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 921
    functionName: Botan::bitvector_base::ref
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 10
    functionsReached:
    - bitref<const block_type>
    linkageType: ''
    returnType: auto
    signature: auto ref(size_type pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitref<block_type>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 923
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 923
    functionName: Botan::bitvector_base::ref
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 10
    functionsReached:
    - bitref<block_type>
    linkageType: ''
    returnType: auto
    signature: auto ref(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 943
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 943
    functionName: Botan::bitvector_base::BitRangeOperator::is_const
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_const()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:955,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:956,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:959,1
    - Dst: Botan::bitvector_base::BitRangeOperator::is_byte_aligned
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:959,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:960,1
    - Dst: Botan::bitvector_base::BitRangeOperator::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' source'
    - start_bitoffset
    - bitlength
    argTypes:
    - BitvectorT
    - size_type
    - size_type
    constantsTouched: []
    func_position:
      end: 961
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 961
    functionName: Botan::bitvector_base::BitRangeOperator::BitRangeOperator
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::BitRangeOperator::size
    - Botan::bitvector_base::BitRangeOperator::is_byte_aligned
    - BOTAN_ASSERT
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void BitRangeOperator(BitvectorT& source, size_type start_bitoffset,
      size_type bitlength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::BitRangeOperator::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - BitvectorT
    constantsTouched: []
    func_position:
      end: 963
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 963
    functionName: Botan::bitvector_base::BitRangeOperator::BitRangeOperator
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::BitRangeOperator::size
    linkageType: ''
    returnType: void
    signature: void BitRangeOperator(BitvectorT& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 965
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 965
    functionName: Botan::bitvector_base::BitRangeOperator::is_byte_aligned
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_byte_aligned()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 970
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 970
    functionName: Botan::bitvector_base::BitRangeOperator::size
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 975
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 975
    functionName: Botan::bitvector_base::BitRangeOperator::bits_to_read
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type bits_to_read() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 980
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 980
    functionName: Botan::bitvector_base::BitRangeOperator::bits_to_write
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type bits_to_write() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::BitRangeOperator::bits_to_read
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:991,1
    - Dst: Botan::bitvector_base::BitRangeOperator::is_byte_aligned
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:994,1
    - Dst: load_le
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:995,1
    - Dst: as_byte_span
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:995,1
    - Dst: Botan::bitvector_base::BitRangeOperator::read_bytepos
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:995,1
    - Dst: Botan::bitvector_base::BitRangeOperator::read_bytepos
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:997,1
    - Dst: std::min
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:998,1
    - Dst: Botan::bitvector_base::BitRangeOperator::bits_to_read
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:998,1
    - Dst: BlockT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1003,1
    - Dst: load_le
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1008,1
    - Dst: as_byte_span
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1008,1
    - Dst: std::min
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1015
    functionName: Botan::bitvector_base::BitRangeOperator::load_next
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - load_le
    - as_byte_span
    - Botan::bitvector_base::BitRangeOperator::is_byte_aligned
    - Botan::bitvector_base::BitRangeOperator::bits_to_read
    - std::min
    - Botan::bitvector_base::BitRangeOperator::read_bytepos
    - BlockT
    linkageType: ''
    returnType: BlockT
    signature: BlockT load_next() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::BitRangeOperator::is_byte_aligned
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1029,1
    - Dst: as_byte_span
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1030,1
    - Dst: Botan::bitvector_base::BitRangeOperator::write_bytepos
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1030,1
    - Dst: store_le
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1031,1
    - Dst: Botan::bitvector_base::BitRangeOperator::write_bytepos
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1033,1
    - Dst: std::min
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1034,1
    - Dst: Botan::bitvector_base::BitRangeOperator::bits_to_write
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1034,1
    - Dst: as_byte_span
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1045,1
    - Dst: BlockT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1046,1
    - Dst: load_le
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1048,1
    - Dst: store_le
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1049,1
    - Dst: std::min
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1053,1
    - Dst: Botan::bitvector_base::BitRangeOperator::bits_to_write
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - block
    argTypes:
    - BlockT
    constantsTouched: []
    func_position:
      end: 1054
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1054
    functionName: Botan::bitvector_base::BitRangeOperator::store_next
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - load_le
    - Botan::bitvector_base::BitRangeOperator::write_bytepos
    - store_le
    - as_byte_span
    - Botan::bitvector_base::BitRangeOperator::is_byte_aligned
    - Botan::bitvector_base::BitRangeOperator::bits_to_write
    - std::min
    - BlockT
    linkageType: ''
    returnType: void
    signature: void store_next(BlockT block)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1059,1
    - Dst: Botan::bitvector_base::BitRangeOperator::is_memory_aligned_to
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1059,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1060,1
    - Dst: Botan::bitvector_base::BitRangeOperator::read_bytepos
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1060,1
    - Dst: reinterpret_cast<BlockT*>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - blocks
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1064
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1064
    functionName: Botan::bitvector_base::BitRangeOperator::span
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::BitRangeOperator::is_memory_aligned_to
    - BOTAN_DEBUG_ASSERT
    - reinterpret_cast<BlockT*>
    - Botan::bitvector_base::BitRangeOperator::read_bytepos
    linkageType: ''
    returnType: std::span<BlockT>
    signature: std::span<BlockT> span(size_type blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1069,1
    - Dst: Botan::bitvector_base::BitRangeOperator::is_memory_aligned_to
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1069,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1070,1
    - Dst: Botan::bitvector_base::BitRangeOperator::read_bytepos
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1070,1
    - Dst: reinterpret_cast<const BlockT*>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - blocks
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1074
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1074
    functionName: Botan::bitvector_base::BitRangeOperator::span
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const BlockT*>
    - Botan::bitvector_base::BitRangeOperator::is_memory_aligned_to
    - BOTAN_DEBUG_ASSERT
    - Botan::bitvector_base::BitRangeOperator::read_bytepos
    linkageType: ''
    returnType: std::span<const BlockT>
    signature: std::span<const BlockT> span(size_type blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::BitRangeOperator::is_byte_aligned
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1081
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1081
    functionName: Botan::bitvector_base::BitRangeOperator::advance
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::BitRangeOperator::is_byte_aligned
    linkageType: ''
    returnType: void
    signature: "void advance(size_type bytes)\n               requires(is_byte_aligned())"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::align
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1095
    functionName: Botan::bitvector_base::BitRangeOperator::is_memory_aligned_to
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached:
    - std::align
    linkageType: ''
    returnType: size_t
    signature: size_t is_memory_aligned_to() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1098
    functionName: Botan::bitvector_base::BitRangeOperator::read_bytepos
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type read_bytepos() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1100
    functionName: Botan::bitvector_base::BitRangeOperator::write_bytepos
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type write_bytepos() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1137,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1140,1
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1144,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1144,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - fn
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 1150
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1150
    functionName: Botan::bitvector_base::blockwise_processing_callback_trait::apply_on_full_blocks
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::blockwise_processing_callback_trait::apply
    - Botan::detail::first
    linkageType: ''
    returnType: bool
    signature: bool apply_on_full_blocks(FnT fn, std::span<BlockTs>... blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1159,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1168,1
    - Dst: template load_next<BlockT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1168,1
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1172,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1172,1
    - Dst: template load_next<BlockT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1172,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1174,1
    - Dst: template load_next<BlockT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - fn
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 1178
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1178
    functionName: Botan::bitvector_base::blockwise_processing_callback_trait::apply_on_unaligned_blocks
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::blockwise_processing_callback_trait::apply
    - template load_next<BlockT>
    - Botan::detail::first
    linkageType: ''
    returnType: bool
    signature: bool apply_on_unaligned_blocks(FnT fn, BitRangeOperatorTs&... ops)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1185,1
    - Dst: make_mask<detail::first_t<BlockTs...>>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1185,1
    - Dst: fn
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fn
    - bits
    argTypes:
    - FnT
    - size_type
    constantsTouched: []
    func_position:
      end: 1189
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1189
    functionName: Botan::bitvector_base::blockwise_processing_callback_trait::apply
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached:
    - make_mask<detail::first_t<BlockTs...>>
    - fn
    linkageType: ''
    returnType: auto
    signature: auto apply(FnT fn, size_type bits, BlockTs... blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1205,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply_on_full_blocks
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1208,1
    - Dst: template span<BlockT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1208,1
    - Dst: advance
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fn
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 1211
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1211
    functionName: Botan::bitvector_base::_process_in_fully_aligned_blocks_of
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - advance
    - template span<BlockT>
    - Botan::bitvector_base::blockwise_processing_callback_trait::apply_on_full_blocks
    - Botan::detail::first
    linkageType: ''
    returnType: bool
    signature: bool _process_in_fully_aligned_blocks_of(FnT fn, BitRangeOperatorTs&...
      ops)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: callback_trait::template apply_on_unaligned_blocks<BlockT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 1223
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1223
    functionName: Botan::bitvector_base::_process_in_unaligned_blocks_of
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - callback_trait::template apply_on_unaligned_blocks<BlockT>
    linkageType: ''
    returnType: bool
    signature: bool _process_in_unaligned_blocks_of(FnT fn, BitRangeOperatorTs&...
      ops)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1242,1
    - Dst: Botan::bitvector_base::has_equal_lengths
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1242,1
    - Dst: Botan::bitvector_base::BitRangeOperator::is_byte_aligned
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1244,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1252,1
    - Dst: Botan::bitvector_base::_process_in_fully_aligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1254,1
    - Dst: Botan::bitvector_base::_process_in_fully_aligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1255,1
    - Dst: Botan::bitvector_base::_process_in_fully_aligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1256,1
    - Dst: Botan::bitvector_base::_process_in_unaligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1257,1
    - Dst: Botan::bitvector_base::_process_in_unaligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1259,1
    - Dst: Botan::bitvector_base::_process_in_unaligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1260,1
    - Dst: Botan::bitvector_base::_process_in_unaligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1261,1
    - Dst: Botan::bitvector_base::_process_in_unaligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - fn
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 1264
      start: 1241
    functionDepth: 3
    functionLinenumber: 1241
    functionLinenumberEnd: 1264
    functionName: Botan::bitvector_base::range_operation
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 3
    functionsReached:
    - Botan::bitvector_base::_process_in_fully_aligned_blocks_of
    - Botan::bitvector_base::BitRangeOperator::is_byte_aligned
    - BOTAN_ASSERT
    - Botan::bitvector_base::_process_in_unaligned_blocks_of
    - Botan::bitvector_base::has_equal_lengths
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: bool range_operation(FnT fn, BitRangeOperatorTs... ops)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1273,1
    - Dst: Botan::bitvector_base::has_equal_lengths
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1273,1
    - Dst: Botan::bitvector_base::range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1274,1
    - Dst: std::forward<FnT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1274,1
    - Dst: BitRangeOperator<BitvectorTs>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' fn'
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 1275
      start: 1272
    functionDepth: 4
    functionLinenumber: 1272
    functionLinenumberEnd: 1275
    functionName: Botan::bitvector_base::full_range_operation
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 6
    functionsReached:
    - std::forward<FnT>
    - BitRangeOperator<BitvectorTs>
    - BOTAN_ASSERT
    - Botan::bitvector_base::range_operation
    - Botan::bitvector_base::has_equal_lengths
    linkageType: ''
    returnType: bool
    signature: bool full_range_operation(FnT&& fn, BitvectorTs&... bitvecs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1279,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - SomeT
    constantsTouched: []
    func_position:
      end: 1280
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1280
    functionName: Botan::bitvector_base::has_equal_lengths
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached:
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: bool
    signature: bool has_equal_lengths(const SomeT& v, const SomeTs&... vs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1285,1
    - Dst: T
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1287
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1287
    functionName: Botan::bitvector_base::make_mask
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - T
    linkageType: ''
    returnType: T
    signature: T make_mask(size_type bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1289,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1289
    functionName: Botan::bitvector_base::as_byte_span
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - data
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: auto
    signature: auto as_byte_span()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1291,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1291
    functionName: Botan::bitvector_base::as_byte_span
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - data
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: auto
    signature: auto as_byte_span() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: template as<secure_bitvector>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1313,1
    - Dst: template as<bitvector>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' lhs'
    argTypes:
    - T1
    constantsTouched: []
    func_position:
      end: 1317
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1317
    functionName: Botan::detail::copy_lhs_allocator_aware
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - template as<secure_bitvector>
    - template as<bitvector>
    linkageType: ''
    returnType: auto
    signature: auto copy_lhs_allocator_aware(const T1& lhs, const T2&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::copy_lhs_allocator_aware
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T1
    - T2
    constantsTouched: []
    func_position:
      end: 1326
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1326
    functionName: operator|(const T1& lhs, const T2& rhs)
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::copy_lhs_allocator_aware
    linkageType: ''
    returnType: auto
    signature: auto operator|(const T1& lhs, const T2& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::copy_lhs_allocator_aware
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T1
    - T2
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    functionName: operator&(const T1& lhs, const T2& rhs)
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::copy_lhs_allocator_aware
    linkageType: ''
    returnType: auto
    signature: auto operator&(const T1& lhs, const T2& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::copy_lhs_allocator_aware
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T1
    - T2
    constantsTouched: []
    func_position:
      end: 1340
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1340
    functionName: operator^(const T1& lhs, const T2& rhs)
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::copy_lhs_allocator_aware
    linkageType: ''
    returnType: auto
    signature: auto operator^(const T1& lhs, const T2& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: equals_vartime
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T1
    - T2
    constantsTouched: []
    func_position:
      end: 1345
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1345
    functionName: operator==(const T1& lhs, const T2& rhs)
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - equals_vartime
    linkageType: ''
    returnType: bool
    signature: bool operator==(const T1& lhs, const T2& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: equals_vartime
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T1
    - T2
    constantsTouched: []
    func_position:
      end: 1350
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1350
    functionName: operator!=(const T1& lhs, const T2& rhs)
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - equals_vartime
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const T1& lhs, const T2& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1366
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1366
    functionName: Botan::detail::Strong_Adapter<T>::at
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto at(size_type i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1368
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1368
    functionName: Botan::detail::Strong_Adapter<T>::at
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto at(size_type i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1370
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1370
    functionName: Botan::detail::Strong_Adapter<T>::set
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto set(size_type i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1372
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1372
    functionName: Botan::detail::Strong_Adapter<T>::unset
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto unset(size_type i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1374
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1374
    functionName: Botan::detail::Strong_Adapter<T>::flip
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto flip(size_type i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1376
    functionName: Botan::detail::Strong_Adapter<T>::flip
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto flip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1381
    functionName: Botan::detail::Strong_Adapter<T>::as
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto as() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1386
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1386
    functionName: Botan::detail::Strong_Adapter<T>::subvector
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto subvector(size_type pos, std::optional<size_type> length = std::nullopt)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1393
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1393
    functionName: Botan::detail::Strong_Adapter<T>::subvector
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto subvector(size_type pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pos
    - value
    argTypes:
    - size_type
    - InT
    constantsTouched: []
    func_position:
      end: 1399
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1399
    functionName: Botan::detail::Strong_Adapter<T>::subvector_replace
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: void
    signature: void subvector_replace(size_type pos, InT value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OtherT
    constantsTouched: []
    func_position:
      end: 1404
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1404
    functionName: Botan::detail::Strong_Adapter<T>::equals
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto equals(const OtherT& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 1406
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1406
    functionName: Botan::detail::Strong_Adapter<T>::push_back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto push_back(bool b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1408
    functionName: Botan::detail::Strong_Adapter<T>::pop_back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto pop_back()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1410
    functionName: Botan::detail::Strong_Adapter<T>::front
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto front() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1412
    functionName: Botan::detail::Strong_Adapter<T>::front
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto front()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1414
    functionName: Botan::detail::Strong_Adapter<T>::back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto back() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1416
    functionName: Botan::detail::Strong_Adapter<T>::back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto back()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1418
    functionName: Botan::detail::Strong_Adapter<T>::any_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto any_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1420
    functionName: Botan::detail::Strong_Adapter<T>::all_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto all_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1422
    functionName: Botan::detail::Strong_Adapter<T>::none_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto none_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1424
    functionName: Botan::detail::Strong_Adapter<T>::has_odd_hamming_weight
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto has_odd_hamming_weight() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1426
    functionName: Botan::detail::Strong_Adapter<T>::hamming_weight
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto hamming_weight() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1430
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1430
    functionName: Botan::detail::Strong_Adapter<T>::from_bytes
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto from_bytes(std::span<const uint8_t> bytes, std::optional<size_type>
      bits = std::nullopt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1435
    functionName: Botan::detail::Strong_Adapter<T>::to_bytes
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto to_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 1437
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1437
    functionName: Botan::detail::Strong_Adapter<T>::to_bytes
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto to_bytes(std::span<uint8_t> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1439
    functionName: Botan::detail::Strong_Adapter<T>::to_string
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1441
    functionName: Botan::detail::Strong_Adapter<T>::capacity
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto capacity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1443
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1443
    functionName: Botan::detail::Strong_Adapter<T>::reserve
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto reserve(size_type n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1445
    functionName: Botan::detail::Strong_Adapter<T>::_const_time_poison
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1447
    functionName: Botan::detail::Strong_Adapter<T>::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& operator=(const SIMD_4x32& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 & operator=(const SIMD_4x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::SIMD_4x32::SIMD_4x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_4x32(const SIMD_4x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(SIMD_4x32&& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 & operator=(SIMD_4x32&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::SIMD_4x32::SIMD_4x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_4x32(SIMD_4x32&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~SIMD_4x32()
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SIMD_4x32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setzero_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:79,1
    - Dst: vec_splat_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:81,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:83,1
    - Dst: __lsx_vldi
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: Botan::SIMD_4x32::SIMD_4x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - _mm_setzero_si128
    - vec_splat_u32
    - vdupq_n_u32
    - __lsx_vldi
    linkageType: ''
    returnType: void
    signature: void SIMD_4x32() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:94,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:101,1
    - Dst: __lsx_vld
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - B0
    - B1
    - B2
    - B3
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: Botan::SIMD_4x32::SIMD_4x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - _mm_set_epi32
    - vld1q_u32
    - __lsx_vld
    linkageType: ''
    returnType: void
    signature: void SIMD_4x32(uint32_t B0, uint32_t B1, uint32_t B2, uint32_t B3)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:114,1
    - Dst: _mm_set1_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:114,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:116,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:116,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:118,1
    - Dst: __lsx_vreplgr2vr_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:118,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: Botan::SIMD_4x32::splat
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 11
    functionsReached:
    - _mm_set1_epi32
    - __lsx_vreplgr2vr_w
    - vdupq_n_u32
    - Botan::SIMD_4x32::SIMD_4x32
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 splat(uint32_t B) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:129,1
    - Dst: _mm_set1_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:129,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:131,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:131,1
    - Dst: vdupq_n_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:131,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:133,1
    - Dst: __lsx_vreplgr2vr_b
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:133,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: Botan::SIMD_4x32::splat_u8
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 6
    functionsReached:
    - Botan::SIMD_4x32::SIMD_4x32
    - vdupq_n_u8
    - _mm_set1_epi8
    - vreinterpretq_u32_u8
    - __lsx_vreplgr2vr_b
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 splat_u8(uint8_t B) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:145,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:145,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:145,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:148,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:148,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:150,1
    - Dst: SIMD_4x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:154,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:159,1
    - Dst: __lsx_vld
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: Botan::SIMD_4x32::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 26
    functionsReached:
    - static_cast<const uint8_t*>
    - Botan::SIMD_4x32::SIMD_4x32
    - SIMD_4x32::bswap
    - __lsx_vld
    - reinterpret_cast<const __m128i*>
    - Botan::load_le
    - _mm_loadu_si128
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 load_le(const void* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:168,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:172,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:172,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:174,1
    - Dst: SIMD_4x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 184
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 184
    functionName: Botan::SIMD_4x32::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 10
    functionsReached:
    - static_cast<const uint8_t*>
    - Botan::SIMD_4x32::load_le
    - Botan::SIMD_4x32::SIMD_4x32
    - SIMD_4x32::bswap
    - Botan::load_be
    linkageType: ''
    returnType: void
    signature: void load_be(const void* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:186,1
    - Dst: std::span<const uint8_t, 16>::data
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t, 16>
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Botan::SIMD_4x32::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 28
    functionsReached:
    - Botan::SIMD_4x32::load_le
    - std::span<const uint8_t, 16>::data
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 load_le(std::span<const uint8_t, 16> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:188,1
    - Dst: std::span<const uint8_t, 16>::data
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t, 16>
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Botan::SIMD_4x32::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 11
    functionsReached:
    - std::span<const uint8_t, 16>::data
    - Botan::SIMD_4x32::load_be
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 load_be(std::span<const uint8_t, 16> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:190,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan::SIMD_4x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_4x32::store_le
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void store_le(uint32_t out[4]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::store_be
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:192,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: Botan::SIMD_4x32::store_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_4x32::store_be
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void store_be(uint32_t out[4]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:194,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan::SIMD_4x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 3
    functionsReached:
    - Botan::SIMD_4x32::store_le
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void store_le(uint64_t out[2]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:202,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:202,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:202,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:211,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:212,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:216,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:216,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:218,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:218,1
    - Dst: Botan::SIMD_4x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:218,1
    - Dst: __lsx_vst
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:221,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 223
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 223
    functionName: Botan::SIMD_4x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 3
    functionsReached:
    - Botan::store_le
    - __lsx_vst
    - vst1q_u8
    - vreinterpretq_u8_u32
    - Botan::SIMD_4x32::bswap
    - _mm_storeu_si128
    - Botan::SIMD_4x32::raw
    - reinterpret_cast<__m128i*>
    linkageType: ''
    returnType: void
    signature: void store_le(uint8_t out[]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:231,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:241,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:245,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:245,1
    - Dst: Botan::SIMD_4x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:245,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:247,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 250
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 250
    functionName: Botan::SIMD_4x32::store_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 2
    functionsReached:
    - Botan::store_be
    - vst1q_u8
    - Botan::SIMD_4x32::bswap
    - vreinterpretq_u8_u32
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X32
    signature: BOTAN_FN_ISA_SIMD_4X32 store_be(uint8_t out[]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::store_be
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:252,1
    - Dst: std::span<uint8_t, 16>::data
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t, 16>
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: Botan::SIMD_4x32::store_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 3
    functionsReached:
    - Botan::SIMD_4x32::store_be
    - std::span<uint8_t, 16>::data
    linkageType: ''
    returnType: void
    signature: void store_be(std::span<uint8_t, 16> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:254,1
    - Dst: std::span<uint8_t, 16>::data
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t, 16>
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: Botan::SIMD_4x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 4
    functionsReached:
    - std::span<uint8_t, 16>::data
    - Botan::SIMD_4x32::store_le
    linkageType: ''
    returnType: void
    signature: void store_le(std::span<uint8_t, 16> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:260,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:261,1
    - Dst: __builtin_crypto_vshasigmaw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:261,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:261,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:263,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:264,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: Botan::SIMD_4x32::sigma0
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - __builtin_crypto_vshasigmaw
    - Botan::SIMD_4x32::SIMD_4x32
    - Botan::SIMD_4x32::rotr
    - Botan::SIMD_4x32::raw
    - BOTAN_COMPILER_HAS_BUILTIN
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 sigma0() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:274,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:275,1
    - Dst: __builtin_crypto_vshasigmaw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:275,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:275,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:277,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:278,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: Botan::SIMD_4x32::sigma1
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - __builtin_crypto_vshasigmaw
    - Botan::SIMD_4x32::SIMD_4x32
    - Botan::SIMD_4x32::rotr
    - Botan::SIMD_4x32::raw
    - BOTAN_COMPILER_HAS_BUILTIN
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 sigma1() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:293,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:294,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:294,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:294,1
    - Dst: _mm_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:296,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:297,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:297,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:297,1
    - Dst: _mm_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:299,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:300,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:300,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:300,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:302,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:302,1
    - Dst: _mm_slli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:302,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:302,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:302,1
    - Dst: _mm_srli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:303,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:303,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:303,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:310,1
    - Dst: vec_rl
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:310,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:318,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:319,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:319,1
    - Dst: vqtbl1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:319,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:319,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:321,1
    - Dst: vreinterpretq_u32_u16
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:321,1
    - Dst: vrev32q_u16
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:321,1
    - Dst: vreinterpretq_u16_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:321,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:324,1
    - Dst: vorrq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:325,1
    - Dst: vshlq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:325,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:325,1
    - Dst: vshrq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:325,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:325,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:327,1
    - Dst: __lsx_vrotri_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:327,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 329
    functionName: Botan::SIMD_4x32::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - vreinterpretq_u32_u16
    - _mm_or_si128
    - vreinterpretq_u8_u32
    - vreinterpretq_u32_u8
    - _mm_shuffle_epi8
    - vec_rl
    - Botan::SIMD_4x32::SIMD_4x32
    - static_cast<int>
    - vreinterpretq_u16_u32
    - vqtbl1q_u8
    - Botan::SIMD_4x32::raw
    - _mm_set_epi64x
    - vshrq_n_u32
    - vrev32q_u16
    - __lsx_vrotri_w
    - vorrq_u32
    - vld1q_u8
    - _mm_slli_epi32
    - _mm_srli_epi32
    - vshlq_n_u32
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X32
    signature: "BOTAN_FN_ISA_SIMD_4X32 rotl() const noexcept\n         requires(ROT
      > 0 && ROT < 32)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::rotl
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: Botan::SIMD_4x32::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 3
    functionsReached:
    - Botan::SIMD_4x32::rotl
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 rotr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: operator+(const SIMD_4x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 operator+(const SIMD_4x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: operator-(const SIMD_4x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 operator-(const SIMD_4x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: operator^(const SIMD_4x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 operator^(const SIMD_4x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: operator|(const SIMD_4x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 operator|(const SIMD_4x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: operator&(const SIMD_4x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 operator&(const SIMD_4x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:386,1
    - Dst: vec_add
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:388,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:390,1
    - Dst: __lsx_vadd_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 394
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 394
    functionName: operator+=(const SIMD_4x32& other) noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - vaddq_u32
    - _mm_add_epi32
    - __lsx_vadd_w
    - vec_add
    linkageType: ''
    returnType: void
    signature: void operator+=(const SIMD_4x32& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_sub_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:398,1
    - Dst: vec_sub
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:400,1
    - Dst: vsubq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:402,1
    - Dst: __lsx_vsub_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: operator-=(const SIMD_4x32& other) noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - vsubq_u32
    - _mm_sub_epi32
    - vec_sub
    - __lsx_vsub_w
    linkageType: ''
    returnType: void
    signature: void operator-=(const SIMD_4x32& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:410,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:412,1
    - Dst: veorq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:414,1
    - Dst: __lsx_vxor_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: operator^=(const SIMD_4x32& other) noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - __lsx_vxor_v
    - _mm_xor_si128
    - veorq_u32
    - vec_xor
    linkageType: ''
    returnType: void
    signature: void operator^=(const SIMD_4x32& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: operator^=(uint32_t other) noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x32::splat
    linkageType: ''
    returnType: void
    signature: void operator^=(uint32_t other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:424,1
    - Dst: vec_or
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:426,1
    - Dst: vorrq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:428,1
    - Dst: __lsx_vor_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 432
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 432
    functionName: operator|=(const SIMD_4x32& other) noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - __lsx_vor_v
    - vec_or
    - _mm_or_si128
    - vorrq_u32
    linkageType: ''
    returnType: void
    signature: void operator|=(const SIMD_4x32& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_and_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:436,1
    - Dst: vec_and
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:438,1
    - Dst: vandq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:440,1
    - Dst: __lsx_vand_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 444
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 444
    functionName: operator&=(const SIMD_4x32& other) noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - vec_and
    - _mm_and_si128
    - __lsx_vand_v
    - vandq_u32
    linkageType: ''
    returnType: void
    signature: void operator&=(const SIMD_4x32& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:451,1
    - Dst: _mm_slli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:451,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:456,1
    - Dst: vec_sl
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:456,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:458,1
    - Dst: vshlq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:458,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:460,1
    - Dst: __lsx_vslli_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 462
    functionName: Botan::SIMD_4x32::shl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::SIMD_4x32
    - _mm_slli_epi32
    - vshlq_n_u32
    - __lsx_vslli_w
    - vec_sl
    linkageType: ''
    returnType: SIMD_4x32
    signature: "SIMD_4x32 shl() const noexcept\n         requires(SHIFT > 0 && SHIFT
      < 32)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:467,1
    - Dst: _mm_srli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:467,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:472,1
    - Dst: vec_sr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:472,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:474,1
    - Dst: vshrq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:474,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:476,1
    - Dst: __lsx_vsrli_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 478
    functionName: Botan::SIMD_4x32::shr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::SIMD_4x32
    - _mm_srli_epi32
    - __lsx_vsrli_w
    - vec_sr
    - vshrq_n_u32
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 shr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:482,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:482,1
    - Dst: _mm_set1_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:482,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:484,1
    - Dst: vec_nor
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:484,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:486,1
    - Dst: vmvnq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:486,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:488,1
    - Dst: __lsx_vnor_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 490
    functionName: operator~() const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - _mm_set1_epi32
    - _mm_xor_si128
    - vec_nor
    - vmvnq_u32
    - SIMD_4x32
    - __lsx_vnor_v
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 operator~() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:495,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:495,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:501,1
    - Dst: vec_andc
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:501,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:504,1
    - Dst: vbicq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:504,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:507,1
    - Dst: __lsx_vandn_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 509
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 509
    functionName: Botan::SIMD_4x32::andc
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::SIMD_4x32
    - vbicq_u32
    - vec_andc
    - _mm_andnot_si128
    - __lsx_vandn_v
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 andc(const SIMD_4x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:516,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:518,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:518,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:518,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:521,1
    - Dst: vec_revb
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:521,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:527,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:527,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:531,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:531,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:531,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:531,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:533,1
    - Dst: __lsx_vshuf4i_b
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 535
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 535
    functionName: Botan::SIMD_4x32::bswap
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 3
    functionsReached:
    - vec_perm
    - vrev32q_u8
    - Botan::SIMD_4x32::SIMD_4x32
    - vec_revb
    - vreinterpretq_u8_u32
    - Botan::SIMD_4x32::raw
    - __lsx_vshuf4i_b
    - vreinterpretq_u32_u8
    - _mm_set_epi8
    - _mm_shuffle_epi8
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X32
    signature: BOTAN_FN_ISA_SIMD_4X32 bswap() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:542,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:542,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:542,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:544,1
    - Dst: vextq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:544,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:544,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:544,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:554,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:554,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:554,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:556,1
    - Dst: __lsx_vbsll_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:556,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 558
    functionName: Botan::SIMD_4x32::shift_elems_left
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::SIMD_4x32
    - __lsx_vbsll_v
    - vdupq_n_u32
    - Botan::SIMD_4x32::raw
    - _mm_slli_si128
    - vec_perm
    - vextq_u32
    linkageType: ''
    returnType: SIMD_4x32
    signature: "SIMD_4x32 shift_elems_left() const noexcept\n         requires(I <=
      3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:565,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:565,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:565,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:567,1
    - Dst: vextq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:567,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:567,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:567,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:577,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:577,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:577,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:579,1
    - Dst: __lsx_vbsrl_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:579,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 581
    functionName: Botan::SIMD_4x32::shift_elems_right
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - _mm_srli_si128
    - Botan::SIMD_4x32::SIMD_4x32
    - vdupq_n_u32
    - Botan::SIMD_4x32::raw
    - vec_perm
    - __lsx_vbsrl_v
    - vextq_u32
    linkageType: ''
    returnType: SIMD_4x32
    signature: "SIMD_4x32 shift_elems_right() const noexcept\n         requires(I
      <= 3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:588,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:589,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:590,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:591,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:593,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:594,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:595,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:596,1
    - Dst: vec_mergeh
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:603,1
    - Dst: vec_mergel
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:604,1
    - Dst: vec_mergeh
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:605,1
    - Dst: vec_mergel
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:606,1
    - Dst: vzipq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:609,1
    - Dst: vzipq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:610,1
    - Dst: vzipq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:611,1
    - Dst: vzipq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:612,1
    - Dst: vzip1q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:620,1
    - Dst: vzip2q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:621,1
    - Dst: vzip1q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:622,1
    - Dst: vzip2q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:623,1
    - Dst: vzip1q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:625,1
    - Dst: vzip2q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:626,1
    - Dst: vzip1q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:627,1
    - Dst: vzip2q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:628,1
    - Dst: __lsx_vilvl_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:630,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:630,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:630,1
    - Dst: __lsx_vilvh_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:631,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:631,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:631,1
    - Dst: __lsx_vilvl_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:632,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:632,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:632,1
    - Dst: __lsx_vilvh_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:633,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:633,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:633,1
    - Dst: __lsx_vilvl_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:634,1
    - Dst: __lsx_vilvh_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:635,1
    - Dst: __lsx_vilvl_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:636,1
    - Dst: __lsx_vilvh_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 639
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 639
    functionName: Botan::SIMD_4x32::transpose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 8
    functionsReached:
    - vec_mergeh
    - __lsx_vilvh_w
    - vzip2q_u32
    - vzipq_u32
    - _mm_unpacklo_epi32
    - _mm_unpacklo_epi64
    - Botan::SIMD_4x32::raw
    - __lsx_vilvl_w
    - vzip1q_u32
    - _mm_unpackhi_epi32
    - _mm_unpackhi_epi64
    - vec_mergel
    linkageType: ''
    returnType: void
    signature: void transpose(SIMD_4x32& B0, SIMD_4x32& B1, SIMD_4x32& B2, SIMD_4x32&
      B3) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:643,1
    - Dst: vec_sel
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:643,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:643,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:643,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:643,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:645,1
    - Dst: vbslq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:645,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:645,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:645,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:645,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:647,1
    - Dst: __lsx_vbitsel_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:647,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:647,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:647,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:647,1
    - Dst: Botan::SIMD_4x32::andc
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' mask'
    - ' a'
    - ' b'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 651
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 651
    functionName: Botan::SIMD_4x32::choose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_4x32::SIMD_4x32
    - __lsx_vbitsel_v
    - vbslq_u32
    - vec_sel
    - Botan::SIMD_4x32::raw
    - Botan::SIMD_4x32::andc
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 choose(const SIMD_4x32& mask, const SIMD_4x32& a, const SIMD_4x32&
      b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::choose
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 655
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 655
    functionName: Botan::SIMD_4x32::majority
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_4x32::choose
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 majority(const SIMD_4x32& x, const SIMD_4x32& y, const SIMD_4x32&
      z) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:665,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:665,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:665,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:665,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:667,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:667,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:668,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:668,1
    - Dst: vget_low_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:671,1
    - Dst: vget_high_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:671,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:673,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:674,1
    - Dst: vcombine_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:674,1
    - Dst: vtbl2_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:674,1
    - Dst: vget_low_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:674,1
    - Dst: vtbl2_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:674,1
    - Dst: vget_high_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:674,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:676,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:676,1
    - Dst: vqtbl1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:676,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:680,1
    - Dst: reinterpret_cast<__vector signed char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:680,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:680,1
    - Dst: reinterpret_cast<__vector signed char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:681,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:681,1
    - Dst: reinterpret_cast<__vector unsigned char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:682,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:682,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:683,1
    - Dst: reinterpret_cast<__vector unsigned int>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:683,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:685,1
    - Dst: __lsx_vshuf_b
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:685,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:685,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:685,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' tbl'
    - ' idx'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 687
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 687
    functionName: Botan::SIMD_4x32::byte_shuffle
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 4
    functionsReached:
    - vec_perm
    - vqtbl1q_u8
    - reinterpret_cast<__vector signed char>
    - vget_high_u8
    - reinterpret_cast<__vector unsigned char>
    - Botan::SIMD_4x32::SIMD_4x32
    - reinterpret_cast<__vector unsigned int>
    - vreinterpretq_u8_u32
    - vtbl2_u8
    - vget_low_u8
    - Botan::SIMD_4x32::raw
    - vreinterpretq_u32_u8
    - _mm_shuffle_epi8
    - __lsx_vshuf_b
    - vcombine_u8
    linkageType: ''
    returnType: void
    signature: void byte_shuffle(const SIMD_4x32& tbl, const SIMD_4x32& idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_splat_s8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:700,1
    - Dst: vec_cmplt
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:701,1
    - Dst: reinterpret_cast<__vector signed char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:701,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:701,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:702,1
    - Dst: reinterpret_cast<__vector signed char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:702,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:702,1
    - Dst: reinterpret_cast<__vector signed char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:703,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:703,1
    - Dst: reinterpret_cast<__vector unsigned char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:704,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:704,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:705,1
    - Dst: reinterpret_cast<__vector unsigned int>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:705,1
    - Dst: vec_sel
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:705,1
    - Dst: __lsx_vldi
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:717,1
    - Dst: __lsx_vshuf_b
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:718,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:718,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:718,1
    - Dst: __lsx_vslti_bu
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:719,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:719,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:720,1
    - Dst: __lsx_vbitsel_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:720,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' tbl'
    - ' idx'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 725
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 725
    functionName: Botan::SIMD_4x32::masked_byte_shuffle
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<__vector unsigned char>
    - reinterpret_cast<__vector signed char>
    - __lsx_vldi
    - vec_cmplt
    - Botan::SIMD_4x32::SIMD_4x32
    - vec_splat_s8
    - reinterpret_cast<__vector unsigned int>
    - __lsx_vbitsel_v
    - vec_sel
    - Botan::SIMD_4x32::raw
    - Botan::SIMD_4x32::byte_shuffle
    - vec_perm
    - __lsx_vshuf_b
    - __lsx_vslti_bu
    linkageType: ''
    returnType: void
    signature: void masked_byte_shuffle(const SIMD_4x32& tbl, const SIMD_4x32& idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:729,1
    - Dst: _mm_alignr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:729,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:729,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:729,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:731,1
    - Dst: vextq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:731,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:731,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:731,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:734,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:734,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:734,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:734,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:736,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:737,1
    - Dst: __lsx_vshuf_b
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:737,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:737,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:737,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 739
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 739
    functionName: Botan::SIMD_4x32::alignr4
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - _mm_alignr_epi8
    - Botan::SIMD_4x32::SIMD_4x32
    - auto::raw
    - Botan::SIMD_4x32::raw
    - vec_perm
    - __lsx_vshuf_b
    - vextq_u32
    linkageType: ''
    returnType: void
    signature: void alignr4(const SIMD_4x32& a, const SIMD_4x32& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:743,1
    - Dst: _mm_alignr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:743,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:743,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:743,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:745,1
    - Dst: vextq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:745,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:745,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:745,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:748,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:748,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:748,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:748,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:750,1
    - Dst: __lsx_vshuf4i_d
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:750,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:750,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 752
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 752
    functionName: Botan::SIMD_4x32::alignr8
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 4
    functionsReached:
    - _mm_alignr_epi8
    - Botan::SIMD_4x32::SIMD_4x32
    - Botan::SIMD_4x32::raw
    - __lsx_vshuf4i_d
    - vec_perm
    - vextq_u32
    linkageType: ''
    returnType: void
    signature: void alignr8(const SIMD_4x32& a, const SIMD_4x32& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 754
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 754
    functionName: Botan::SIMD_4x32::raw
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: native_simd_type
    signature: native_simd_type raw() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - native_simd_type
    constantsTouched: []
    func_position:
      end: 756
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 756
    functionName: Botan::SIMD_4x32::SIMD_4x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_4x32(native_simd_type x) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 765
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 765
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - SIMD_4x32::rotl
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 rotl(SIMD_4x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 770
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 770
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - SIMD_4x32::rotr
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 rotr(SIMD_4x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32::shl
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 776
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 776
    functionName: Botan::shl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shl
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 shl(SIMD_4x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:29,1
    - Dst: std::runtime_error
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:45,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 49
    functionName: Botan::gfni_matrix
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t gfni_matrix(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:53,1
    - Dst: _mm256_gf2p8affine_epi64_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:53,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:53,1
    - Dst: _mm256_set1_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::gf2p8affine
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h
    functionUses: 1
    functionsReached:
    - _mm256_gf2p8affine_epi64_epi8
    - raw
    - _mm256_set1_epi64x
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE gf2p8affine(const SIMD_8x32& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:58,1
    - Dst: _mm256_gf2p8affineinv_epi64_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:58,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:58,1
    - Dst: _mm256_set1_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::gf2p8affineinv
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h
    functionUses: 1
    functionsReached:
    - _mm256_gf2p8affineinv_epi64_epi8
    - raw
    - _mm256_set1_epi64x
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE gf2p8affineinv(const SIMD_8x32& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:62,1
    - Dst: _mm256_gf2p8mul_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:62,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:62,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::gf2p8mul
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h
    functionUses: 0
    functionsReached:
    - _mm256_gf2p8mul_epi8
    - raw
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE gf2p8mul(const SIMD_8x32& a, const SIMD_8x32& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: '& operator=(const SIMD_8x32& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_8x32
    signature: SIMD_8x32 & operator=(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_8x32(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(SIMD_8x32&& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_8x32
    signature: SIMD_8x32 & operator=(SIMD_8x32&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_8x32(SIMD_8x32&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~SIMD_8x32()
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SIMD_8x32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_setzero_si256
    linkageType: ''
    returnType: void
    signature: void SIMD_8x32() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:32,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - reinterpret_cast<const __m256i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 SIMD_8x32(const uint32_t B[8]) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - B0
    - B1
    - B2
    - B3
    - B4
    - B5
    - B6
    - B7
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_set_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: "BOTAN_FN_ISA_AVX2 SIMD_8x32(uint32_t B0,\n                         uint32_t
      B1,\n                         uint32_t B2,\n                         uint32_t
      B3,\n                         uint32_t B4,\n                         uint32_t
      B5,\n                         uint32_t B6,\n                         uint32_t
      B7) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - B0
    - B1
    - B2
    - B3
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_set_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 SIMD_8x32(uint32_t B0, uint32_t B1, uint32_t B2,
      uint32_t B3) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:53,1
    - Dst: _mm256_set1_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: Botan::SIMD_8x32::splat
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 6
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_set1_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 splat(uint32_t B) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:57,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:57,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: Botan::SIMD_8x32::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 9
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_loadu_si256
    - reinterpret_cast<const __m256i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_le(const uint8_t* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:62,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:62,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: Botan::SIMD_8x32::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 9
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_loadu_si256
    - reinterpret_cast<const __m256i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_le(const uint32_t* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:67,1
    - Dst: _mm256_broadcastsi128_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:67,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:67,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Botan::SIMD_8x32::load_le128
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 10
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm_loadu_si128
    - _mm256_broadcastsi128_si256
    - reinterpret_cast<const __m128i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_le128(const uint8_t* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:72,1
    - Dst: _mm256_broadcastsi128_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:72,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:72,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: Botan::SIMD_8x32::load_le128
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 10
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm_loadu_si128
    - _mm256_broadcastsi128_si256
    - reinterpret_cast<const __m128i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_le128(const uint32_t* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: Botan::SIMD_8x32::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 11
    functionsReached:
    - Botan::SIMD_8x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_be(const uint8_t* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:79,1
    - Dst: reinterpret_cast<__m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: Botan::SIMD_8x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_storeu_si256
    - reinterpret_cast<__m256i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 store_le(uint8_t out[]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:82,1
    - Dst: reinterpret_cast<__m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: Botan::SIMD_8x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_storeu_si256
    - reinterpret_cast<__m256i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 store_le(uint32_t out[]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:86,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:86,1
    - Dst: _mm256_extracti128_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:86,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: Botan::SIMD_8x32::store_le128
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_extracti128_si256
    - _mm_storeu_si128
    - Botan::SIMD_8x32::raw
    - reinterpret_cast<__m128i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 store_le128(uint8_t out[]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:91,1
    - Dst: _mm256_loadu2_m128i
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:92,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:92,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in1
    - in2
    argTypes:
    - uint32_t[]
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: Botan::SIMD_8x32::load_le128
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 10
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - reinterpret_cast<const __m128i*>
    - _mm256_loadu2_m128i
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_le128(const uint32_t in1[], const uint32_t in2[])
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:97,1
    - Dst: _mm256_loadu2_m128i
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:98,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:98,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in1
    - in2
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: Botan::SIMD_8x32::load_be128
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - reinterpret_cast<const __m128i*>
    - _mm256_loadu2_m128i
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_be128(const uint8_t in1[], const uint8_t in2[])
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu2_m128i
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:104,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:104,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:104,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out1
    - out2
    argTypes:
    - uint32_t[]
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: Botan::SIMD_8x32::store_le128
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<__m128i*>
    - Botan::SIMD_8x32::raw
    - _mm256_storeu2_m128i
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 store_le128(uint32_t out1[], uint32_t out2[]) const
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: Botan::SIMD_8x32::store_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::bswap
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 store_be(uint8_t out[]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:115,1
    - Dst: _mm256_rol_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:115,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:119,1
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:121,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:121,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:124,1
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:126,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:126,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:129,1
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:131,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:131,1
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:133,1
    - Dst: _mm256_or_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:133,1
    - Dst: _mm256_slli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:133,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:133,1
    - Dst: _mm256_srli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:134,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: Botan::SIMD_8x32::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi8
    - _mm256_slli_epi32
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_rol_epi32
    - _mm256_set_epi64x
    - static_cast<int>
    - _mm256_srli_epi32
    - _mm256_or_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: "BOTAN_FN_ISA_AVX2 rotl() const noexcept\n         requires(ROT > 0
      && ROT < 32)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::rotl
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Botan::SIMD_8x32::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::rotl
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 rotr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:145,1
    - Dst: Botan::SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:146,1
    - Dst: Botan::SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: Botan::SIMD_8x32::sigma0
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::rotr
    linkageType: ''
    returnType: void
    signature: void sigma0() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:152,1
    - Dst: Botan::SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:153,1
    - Dst: Botan::SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: Botan::SIMD_8x32::sigma1
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::rotr
    linkageType: ''
    returnType: void
    signature: void sigma1() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: operator+(const SIMD_8x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator+(const SIMD_8x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: operator-(const SIMD_8x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator-(const SIMD_8x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: operator^(const SIMD_8x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator^(const SIMD_8x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: operator|(const SIMD_8x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator|(const SIMD_8x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: operator&(const SIMD_8x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator&(const SIMD_8x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: operator+=(const SIMD_8x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_add_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator+=(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_sub_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: operator-=(const SIMD_8x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_sub_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator-=(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: operator^=(const SIMD_8x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_xor_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator^=(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: operator^=(uint32_t other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::splat
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator^=(uint32_t other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_or_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: operator|=(const SIMD_8x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_or_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator|=(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_and_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: operator&=(const SIMD_8x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_and_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator&=(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:213,1
    - Dst: _mm256_slli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: Botan::SIMD_8x32::shl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_slli_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 shl() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:218,1
    - Dst: _mm256_srli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: Botan::SIMD_8x32::shr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_srli_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 shr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:223,1
    - Dst: _mm256_xor_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:223,1
    - Dst: _mm256_set1_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: operator~() const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_set1_epi32
    - _mm256_xor_si256
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator~() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:229,1
    - Dst: _mm256_andnot_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: Botan::SIMD_8x32::andc
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_andnot_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 andc(const SIMD_8x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:237,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:237,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:239,1
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: Botan::SIMD_8x32::bswap
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 1
    functionsReached:
    - _mm256_shuffle_epi8
    - Botan::SIMD_8x32::SIMD_8x32
    - reinterpret_cast<const __m256i*>
    - _mm256_load_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 bswap() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:250,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:250,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:251,1
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: Botan::SIMD_8x32::reverse
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi8
    - Botan::SIMD_8x32::SIMD_8x32
    - reinterpret_cast<const __m256i*>
    - _mm256_load_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 reverse() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:256,1
    - Dst: _mm256_shuffle_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:256,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: Botan::SIMD_8x32::rev_words
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_shuffle_epi32
    - Botan::SIMD_8x32::raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 rev_words() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:260,1
    - Dst: _mm256_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:261,1
    - Dst: _mm256_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:262,1
    - Dst: _mm256_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:263,1
    - Dst: _mm256_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:265,1
    - Dst: _mm256_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:266,1
    - Dst: _mm256_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:267,1
    - Dst: _mm256_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: Botan::SIMD_8x32::transpose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 9
    functionsReached:
    - _mm256_unpacklo_epi64
    - _mm256_unpackhi_epi32
    - _mm256_unpackhi_epi64
    - _mm256_unpacklo_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 transpose(SIMD_8x32& B0, SIMD_8x32& B1, SIMD_8x32&
      B2, SIMD_8x32& B3) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:280,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:281,1
    - Dst: Botan::SIMD_8x32::swap_tops
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:283,1
    - Dst: Botan::SIMD_8x32::swap_tops
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:284,1
    - Dst: Botan::SIMD_8x32::swap_tops
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:285,1
    - Dst: Botan::SIMD_8x32::swap_tops
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 8
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' B4'
    - ' B5'
    - ' B6'
    - ' B7'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 287
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 287
    functionName: Botan::SIMD_8x32::transpose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 10
    functionsReached:
    - Botan::SIMD_8x32::transpose
    - Botan::SIMD_8x32::swap_tops
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: "BOTAN_FN_ISA_AVX2 transpose(SIMD_8x32& B0,\n                            SIMD_8x32&
      B1,\n                            SIMD_8x32& B2,\n                            SIMD_8x32&
      B3,\n                            SIMD_8x32& B4,\n                            SIMD_8x32&
      B5,\n                            SIMD_8x32& B6,\n                            SIMD_8x32&
      B7) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_ternarylogic_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:292,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:292,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:292,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:292,1
    - Dst: Botan::SIMD_8x32::andc
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' mask'
    - ' a'
    - ' b'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: Botan::SIMD_8x32::choose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_8x32::andc
    - Botan::SIMD_8x32::raw
    - _mm256_ternarylogic_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 choose(const SIMD_8x32& mask, const SIMD_8x32& a,
      const SIMD_8x32& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_ternarylogic_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:301,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:301,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:301,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:301,1
    - Dst: Botan::SIMD_8x32::choose
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: Botan::SIMD_8x32::majority
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_8x32::choose
    - Botan::SIMD_8x32::raw
    - _mm256_ternarylogic_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 majority(const SIMD_8x32& x, const SIMD_8x32& y,
      const SIMD_8x32& z) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:308,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:308,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:308,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tbl'
    - ' idx'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: Botan::SIMD_8x32::byte_shuffle
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_shuffle_epi8
    - Botan::SIMD_8x32::raw
    linkageType: ''
    returnType: void
    signature: void byte_shuffle(const SIMD_8x32& tbl, const SIMD_8x32& idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_zeroupper
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: Botan::SIMD_8x32::reset_registers
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 5
    functionsReached:
    - _mm256_zeroupper
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 reset_registers() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_zeroall
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: Botan::SIMD_8x32::zero_registers
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 5
    functionsReached:
    - _mm256_zeroall
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 zero_registers() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: Botan::SIMD_8x32::raw
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void raw() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_avx2
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 15
    functionsReached:
    - m_avx2
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 SIMD_8x32(__m256i x) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_permute2x128_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:325,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:325,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:325,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:326,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:326,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' A'
    - ' B'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: Botan::SIMD_8x32::swap_tops
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 1
    functionsReached:
    - _mm256_permute2x128_si256
    - Botan::SIMD_8x32::raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 swap_tops(SIMD_8x32& A, SIMD_8x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: Botan::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 28
    functionsReached:
    - SIMD_8x32::rotl
    linkageType: ''
    returnType: SIMD_8x32
    signature: SIMD_8x32 rotl(SIMD_8x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: Botan::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 22
    functionsReached:
    - SIMD_8x32::rotr
    linkageType: ''
    returnType: SIMD_8x32
    signature: SIMD_8x32 rotr(SIMD_8x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32::shl
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: Botan::shl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - SIMD_8x32::shl
    linkageType: ''
    returnType: SIMD_8x32
    signature: SIMD_8x32 shl(SIMD_8x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const SIMD_4x64& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x64
    signature: SIMD_4x64 & operator=(const SIMD_4x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::SIMD_4x64::SIMD_4x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_4x64(const SIMD_4x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(SIMD_4x64&& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x64
    signature: SIMD_4x64 & operator=(SIMD_4x64&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::SIMD_4x64::SIMD_4x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_4x64(SIMD_4x64&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~SIMD_4x64()
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SIMD_4x64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::SIMD_4x64::SIMD_4x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - _mm256_setzero_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 SIMD_4x64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:36,1
    - Dst: _mm256_loadu2_m128i
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:37,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:37,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - inl
    - inh
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Botan::SIMD_4x64::load_le2
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x64::SIMD_4x64
    - reinterpret_cast<const __m128i*>
    - _mm256_loadu2_m128i
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 load_le2(const void* inl, const void* inh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::load_le2
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - inl
    - inh
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::SIMD_4x64::load_be2
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x64::load_le2
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 load_be2(const void* inl, const void* inh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:45,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:45,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::SIMD_4x64::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_4x64::SIMD_4x64
    - _mm256_loadu_si256
    - reinterpret_cast<const __m256i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 load_le(const void* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::SIMD_4x64::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x64::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 load_be(const void* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:51,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:54,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: Botan::SIMD_4x64::bswap
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - _mm256_set_epi8
    - _mm256_shuffle_epi8
    - Botan::SIMD_4x64::SIMD_4x64
    linkageType: ''
    returnType: void
    signature: void bswap() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::store_le
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:57,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::SIMD_4x64::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x64::store_le
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void store_le(uint64_t out[4]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu_si256
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:60,1
    - Dst: reinterpret_cast<__m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::SIMD_4x64::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - _mm256_storeu_si256
    - reinterpret_cast<__m256i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 store_le(uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu2_m128i
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:64,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:64,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - outh
    - outl
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::SIMD_4x64::store_le2
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<__m128i*>
    - _mm256_storeu2_m128i
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 store_le2(void* outh, void* outl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: operator+(const SIMD_4x64& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x64
    signature: SIMD_4x64 operator+(const SIMD_4x64& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: operator^(const SIMD_4x64& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x64
    signature: SIMD_4x64 operator^(const SIMD_4x64& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator+=(const SIMD_4x64& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - _mm256_add_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 operator+=(const SIMD_4x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: operator^=(const SIMD_4x64& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - _mm256_xor_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 operator^=(const SIMD_4x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:92,1
    - Dst: _mm256_ror_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:92,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:96,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:98,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:98,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:101,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:103,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:103,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:106,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:108,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:108,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:111,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:113,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:113,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:115,1
    - Dst: _mm256_or_si256
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:115,1
    - Dst: _mm256_srli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:115,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:115,1
    - Dst: _mm256_slli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:116,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 119
    functionName: Botan::SIMD_4x64::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x64::SIMD_4x64
    - _mm256_shuffle_epi8
    - _mm256_srli_epi64
    - _mm256_ror_epi64
    - _mm256_set_epi64x
    - static_cast<int>
    - _mm256_or_si256
    - _mm256_slli_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: "BOTAN_FN_ISA_SIMD_4X64 rotr() const\n         requires(ROT > 0 &&
      ROT < 64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: Botan::SIMD_4x64::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x64::rotr
    linkageType: ''
    returnType: SIMD_4x64
    signature: SIMD_4x64 rotl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::BOTAN_FN_ISA_SIMD_4X64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:128,1
    - Dst: _mm256_srli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Botan::SIMD_4x64::BOTAN_FN_ISA_SIMD_4X64::shr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x64::BOTAN_FN_ISA_SIMD_4X64::SIMD_4x64
    - _mm256_srli_epi64
    linkageType: ''
    returnType: SIMD_4x64
    signature: SIMD_4x64 BOTAN_FN_ISA_SIMD_4X64 shr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:132,1
    - Dst: _mm256_alignr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_4x64
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Botan::SIMD_4x64::alignr8
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x64::SIMD_4x64
    - _mm256_alignr_epi8
    linkageType: ''
    returnType: void
    signature: void alignr8(const SIMD_4x64& a, const SIMD_4x64& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_mul_epu32
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:137,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:138,1
    - Dst: _mm256_add_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - SIMD_4x64
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: Botan::SIMD_4x64::mul2_32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x64::SIMD_4x64
    - _mm256_mul_epu32
    - _mm256_add_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 mul2_32(SIMD_4x64 x, SIMD_4x64 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:143,1
    - Dst: _mm256_permute4x64_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::SIMD_4x64::permute_4x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x64::SIMD_4x64
    - _mm256_permute4x64_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 permute_4x64(SIMD_4x64 x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x64::permute_4x64<0b00'11'10'01>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:148,1
    - Dst: SIMD_4x64::permute_4x64<0b01'00'11'10>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:149,1
    - Dst: SIMD_4x64::permute_4x64<0b10'01'00'11>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - SIMD_4x64
    - SIMD_4x64
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: Botan::SIMD_4x64::twist
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - SIMD_4x64::permute_4x64<0b00'11'10'01>
    - SIMD_4x64::permute_4x64<0b10'01'00'11>
    - SIMD_4x64::permute_4x64<0b01'00'11'10>
    linkageType: ''
    returnType: void
    signature: void twist(SIMD_4x64& B, SIMD_4x64& C, SIMD_4x64& D)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x64::permute_4x64<0b10'01'00'11>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:155,1
    - Dst: SIMD_4x64::permute_4x64<0b01'00'11'10>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:156,1
    - Dst: SIMD_4x64::permute_4x64<0b00'11'10'01>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - SIMD_4x64
    - SIMD_4x64
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: Botan::SIMD_4x64::untwist
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - SIMD_4x64::permute_4x64<0b00'11'10'01>
    - SIMD_4x64::permute_4x64<0b10'01'00'11>
    - SIMD_4x64::permute_4x64<0b01'00'11'10>
    linkageType: ''
    returnType: void
    signature: void untwist(SIMD_4x64& B, SIMD_4x64& C, SIMD_4x64& D)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Botan::SIMD_4x64::BOTAN_FN_ISA_SIMD_4X64::SIMD_4x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SIMD_4X64 SIMD_4x64(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(const SIMD_2x64& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 & operator=(const SIMD_2x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::SIMD_2x64::SIMD_2x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_2x64(const SIMD_2x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(SIMD_2x64&& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 & operator=(SIMD_2x64&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::SIMD_2x64::SIMD_2x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_2x64(SIMD_2x64&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~SIMD_2x64()
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SIMD_2x64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setzero_si128
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::SIMD_2x64::SIMD_2x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_setzero_si128
    linkageType: ''
    returnType: void
    signature: void SIMD_2x64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:37,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:37,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::SIMD_2x64::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 3
    functionsReached:
    - _mm_loadu_si128
    - reinterpret_cast<const __m128i*>
    - Botan::SIMD_2x64::SIMD_2x64
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 load_le(const void* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::SIMD_2x64::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_2x64::load_le
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 load_be(const void* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:43,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:44,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Botan::SIMD_2x64::bswap
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_set_epi8
    - _mm_shuffle_epi8
    - Botan::SIMD_2x64::SIMD_2x64
    linkageType: ''
    returnType: void
    signature: void bswap() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::store_le
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:47,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::SIMD_2x64::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_2x64::store_le
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void store_le(uint64_t out[2]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:49,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::SIMD_2x64::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 1
    functionsReached:
    - _mm_storeu_si128
    - reinterpret_cast<__m128i*>
    linkageType: ''
    returnType: void
    signature: void store_le(uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator+(const SIMD_2x64& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 operator+(const SIMD_2x64& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: operator^(const SIMD_2x64& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 operator^(const SIMD_2x64& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: operator+=(const SIMD_2x64& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_add_epi64
    linkageType: ''
    returnType: void
    signature: void operator+=(const SIMD_2x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: operator^=(const SIMD_2x64& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_xor_si128
    linkageType: ''
    returnType: void
    signature: void operator^=(const SIMD_2x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:72,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:73,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:73,1
    - Dst: _mm_setr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:75,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:76,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:76,1
    - Dst: _mm_setr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:78,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:79,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:79,1
    - Dst: _mm_setr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:81,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:82,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:82,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:84,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:84,1
    - Dst: _mm_srli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:84,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:84,1
    - Dst: _mm_slli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:85,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: Botan::SIMD_2x64::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_setr_epi8
    - _mm_or_si128
    - _mm_srli_epi64
    - static_cast<int>
    - Botan::SIMD_2x64::SIMD_2x64
    - _mm_shuffle_epi8
    - _mm_slli_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_2X64
    signature: "BOTAN_FN_ISA_SIMD_2X64 rotr() const\n         requires(ROT > 0 &&
      ROT < 64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::rotr
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::SIMD_2x64::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_2x64::rotr
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 rotl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:96,1
    - Dst: _mm_srli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Botan::SIMD_2x64::shr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_srli_epi64
    - Botan::SIMD_2x64::SIMD_2x64
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 shr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:100,1
    - Dst: _mm_alignr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_2x64
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Botan::SIMD_2x64::alignr8
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_alignr_epi8
    - Botan::SIMD_2x64::SIMD_2x64
    linkageType: ''
    returnType: void
    signature: void alignr8(const SIMD_2x64& a, const SIMD_2x64& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:107,1
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:108,1
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:116,1
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 6
    argNames:
    - ' B0'
    - ' B1'
    - ' C0'
    - ' C1'
    - ' D0'
    - ' D1'
    argTypes:
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: Botan::SIMD_2x64::twist
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_2x64::alignr8
    linkageType: ''
    returnType: void
    signature: void twist(SIMD_2x64& B0, SIMD_2x64& B1, SIMD_2x64& C0, SIMD_2x64&
      C1, SIMD_2x64& D0, SIMD_2x64& D1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:126,1
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:127,1
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:135,1
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 6
    argNames:
    - ' B0'
    - ' B1'
    - ' C0'
    - ' C1'
    - ' D0'
    - ' D1'
    argTypes:
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: Botan::SIMD_2x64::untwist
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_2x64::alignr8
    linkageType: ''
    returnType: void
    signature: void untwist(SIMD_2x64& B0, SIMD_2x64& B1, SIMD_2x64& C0, SIMD_2x64&
      C1, SIMD_2x64& D0, SIMD_2x64& D1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_mul_epu32
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:143,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:144,1
    - Dst: _mm_add_epi64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - SIMD_2x64
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: Botan::SIMD_2x64::mul2_32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 1
    functionsReached:
    - _mm_add_epi64
    - _mm_mul_epu32
    - Botan::SIMD_2x64::SIMD_2x64
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 mul2_32(SIMD_2x64 x, SIMD_2x64 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: Botan::SIMD_2x64::SIMD_2x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_2x64(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: '& operator=(const SIMD_8x64& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_8x64
    signature: SIMD_8x64 & operator=(const SIMD_8x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan::SIMD_8x64::SIMD_8x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_8x64(const SIMD_8x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(SIMD_8x64&& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_8x64
    signature: SIMD_8x64 & operator=(SIMD_8x64&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::SIMD_8x64::SIMD_8x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_8x64(SIMD_8x64&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~SIMD_8x64()
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SIMD_8x64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::SIMD_8x64::SIMD_8x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm512_setzero_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 SIMD_8x64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:36,1
    - Dst: _mm512_inserti32x4
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:37,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:37,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:37,1
    - Dst: _mm512_inserti32x4
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:38,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:38,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:38,1
    - Dst: _mm512_inserti32x4
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:39,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:39,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:39,1
    - Dst: _mm512_inserti32x4
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:40,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:40,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:40,1
    - Dst: Botan::SIMD_8x64::SIMD_8x64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - in0
    - in1
    - in2
    - in3
    argTypes:
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: Botan::SIMD_8x64::load_le4
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x64::SIMD_8x64
    - reinterpret_cast<const __m128i*>
    - _mm_loadu_si128
    - _mm512_inserti32x4
    - _mm512_setzero_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: "BOTAN_FN_ISA_SIMD_8X64 load_le4(const void* in0,\n                                                       const
      void* in1,\n                                                       const void*
      in2,\n                                                       const void* in3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::load_le4
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - in0
    - in1
    - in2
    - in3
    argTypes:
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: Botan::SIMD_8x64::load_be4
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_8x64::load_le4
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: "BOTAN_FN_ISA_SIMD_8X64 load_be4(const void* in0,\n                                                       const
      void* in1,\n                                                       const void*
      in2,\n                                                       const void* in3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::SIMD_8x64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:52,1
    - Dst: _mm512_loadu_si512
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:52,1
    - Dst: reinterpret_cast<const __m512i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::SIMD_8x64::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_8x64::SIMD_8x64
    - _mm512_loadu_si512
    - reinterpret_cast<const __m512i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 load_le(const void* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::SIMD_8x64::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x64::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 load_be(const void* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set_epi8
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:59,1
    - Dst: Botan::SIMD_8x64::SIMD_8x64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:64,1
    - Dst: _mm512_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: Botan::SIMD_8x64::bswap
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x64::SIMD_8x64
    - _mm512_set_epi8
    - _mm512_shuffle_epi8
    linkageType: ''
    returnType: void
    signature: void bswap() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::store_le
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:67,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::SIMD_8x64::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uint8_t*>
    - Botan::SIMD_8x64::store_le
    linkageType: ''
    returnType: void
    signature: void store_le(uint64_t out[8]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_storeu_si512
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:70,1
    - Dst: reinterpret_cast<__m512i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::SIMD_8x64::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<__m512i*>
    - _mm512_storeu_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 store_le(uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:74,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:74,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:74,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:75,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:75,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:75,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:76,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:76,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:76,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:77,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:77,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out0
    - out1
    - out2
    - out3
    argTypes:
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: Botan::SIMD_8x64::store_le4
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm_storeu_si128
    - _mm512_extracti32x4_epi32
    - reinterpret_cast<__m128i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 store_le4(void* out0, void* out1, void* out2,
      void* out3)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: operator+(const SIMD_8x64& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_8x64
    signature: SIMD_8x64 operator+(const SIMD_8x64& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: operator^(const SIMD_8x64& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_8x64
    signature: SIMD_8x64 operator^(const SIMD_8x64& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_add_epi64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: operator+=(const SIMD_8x64& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm512_add_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 operator+=(const SIMD_8x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_xor_si512
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: operator^=(const SIMD_8x64& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm512_xor_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 operator^=(const SIMD_8x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::SIMD_8x64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:104,1
    - Dst: _mm512_ror_epi64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: Botan::SIMD_8x64::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x64::SIMD_8x64
    - _mm512_ror_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: "BOTAN_FN_ISA_SIMD_8X64 rotr() const\n         requires(ROT > 0 &&
      ROT < 64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::rotr
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::SIMD_8x64::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x64::rotr
    linkageType: ''
    returnType: SIMD_8x64
    signature: SIMD_8x64 rotl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::BOTAN_FN_ISA_SIMD_8X64::SIMD_8x64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:114,1
    - Dst: _mm512_srli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Botan::SIMD_8x64::BOTAN_FN_ISA_SIMD_8X64::shr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm512_srli_epi64
    - Botan::SIMD_8x64::BOTAN_FN_ISA_SIMD_8X64::SIMD_8x64
    linkageType: ''
    returnType: SIMD_8x64
    signature: SIMD_8x64 BOTAN_FN_ISA_SIMD_8X64 shr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::SIMD_8x64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:118,1
    - Dst: _mm512_alignr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_8x64
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan::SIMD_8x64::alignr8
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x64::SIMD_8x64
    - _mm512_alignr_epi8
    linkageType: ''
    returnType: void
    signature: void alignr8(const SIMD_8x64& a, const SIMD_8x64& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m512i
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan::SIMD_8x64::BOTAN_FN_ISA_SIMD_8X64::SIMD_8x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SIMD_8X64 SIMD_8x64(__m512i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: '& operator=(const SIMD_16x32& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_16x32
    signature: SIMD_16x32 & operator=(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan::SIMD_16x32::SIMD_16x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_16x32(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(SIMD_16x32&& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_16x32
    signature: SIMD_16x32 & operator=(SIMD_16x32&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::SIMD_16x32::SIMD_16x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_16x32(SIMD_16x32&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~SIMD_16x32()
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SIMD_16x32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::SIMD_16x32::SIMD_16x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_setzero_si512
    linkageType: ''
    returnType: void
    signature: void SIMD_16x32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:31,1
    - Dst: reinterpret_cast<const __m512i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: Botan::SIMD_16x32::SIMD_16x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_loadu_si512
    - reinterpret_cast<const __m512i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 SIMD_16x32(const uint32_t B[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 16
    argNames:
    - B0
    - B1
    - B2
    - B3
    - B4
    - B5
    - B6
    - B7
    - B8
    - B9
    - BA
    - BB
    - BC
    - BD
    - BE
    - BF
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: Botan::SIMD_16x32::SIMD_16x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_set_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: "BOTAN_FN_ISA_AVX512 SIMD_16x32(uint32_t B0,\n                          uint32_t
      B1,\n                          uint32_t B2,\n                          uint32_t
      B3,\n                          uint32_t B4,\n                          uint32_t
      B5,\n                          uint32_t B6,\n                          uint32_t
      B7,\n                          uint32_t B8,\n                          uint32_t
      B9,\n                          uint32_t BA,\n                          uint32_t
      BB,\n                          uint32_t BC,\n                          uint32_t
      BD,\n                          uint32_t BE,\n                          uint32_t
      BF)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:54,1
    - Dst: _mm512_set1_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: Botan::SIMD_16x32::splat
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 1
    functionsReached:
    - _mm512_set1_epi32
    - Botan::SIMD_16x32::SIMD_16x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 splat(uint32_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:58,1
    - Dst: _mm512_loadu_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:58,1
    - Dst: reinterpret_cast<const __m512i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Botan::SIMD_16x32::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 2
    functionsReached:
    - _mm512_loadu_si512
    - Botan::SIMD_16x32::SIMD_16x32
    - reinterpret_cast<const __m512i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 load_le(const uint8_t* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: Botan::SIMD_16x32::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_16x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 load_be(const uint8_t* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_storeu_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:65,1
    - Dst: reinterpret_cast<__m512i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: Botan::SIMD_16x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<__m512i*>
    - _mm512_storeu_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 store_le(uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: Botan::SIMD_16x32::store_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::bswap
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 store_be(uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:74,1
    - Dst: _mm512_rol_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: Botan::SIMD_16x32::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_rol_epi32
    - Botan::SIMD_16x32::SIMD_16x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: "BOTAN_FN_ISA_AVX512 rotl() const\n         requires(ROT > 0 && ROT
      < 32)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::rotl
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Botan::SIMD_16x32::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::rotl
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 rotr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:83,1
    - Dst: Botan::SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:84,1
    - Dst: Botan::SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: Botan::SIMD_16x32::sigma0
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::rotr
    linkageType: ''
    returnType: void
    signature: void sigma0() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:90,1
    - Dst: Botan::SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:91,1
    - Dst: Botan::SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: Botan::SIMD_16x32::sigma1
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::rotr
    linkageType: ''
    returnType: void
    signature: void sigma1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: operator+(const SIMD_16x32& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator+(const SIMD_16x32& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: operator-(const SIMD_16x32& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator-(const SIMD_16x32& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: operator^(const SIMD_16x32& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator^(const SIMD_16x32& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: operator|(const SIMD_16x32& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator|(const SIMD_16x32& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: operator&(const SIMD_16x32& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator&(const SIMD_16x32& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_add_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: operator+=(const SIMD_16x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_add_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 operator+=(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_sub_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: operator-=(const SIMD_16x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_sub_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 operator-=(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_xor_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: operator^=(const SIMD_16x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_xor_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 operator^=(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: operator^=(uint32_t other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::splat
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 operator^=(uint32_t other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_or_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: operator|=(const SIMD_16x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_or_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 operator|=(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_and_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: operator&=(const SIMD_16x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_and_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 operator&=(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:151,1
    - Dst: _mm512_slli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: Botan::SIMD_16x32::shl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::SIMD_16x32
    - _mm512_slli_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 shl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:156,1
    - Dst: _mm512_srli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: Botan::SIMD_16x32::shr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_srli_epi32
    - Botan::SIMD_16x32::SIMD_16x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 shr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:160,1
    - Dst: _mm512_xor_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:160,1
    - Dst: _mm512_set1_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: operator~() const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_xor_si512
    - _mm512_set1_epi32
    - SIMD_16x32
    linkageType: ''
    returnType: void
    signature: void operator~() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:165,1
    - Dst: _mm512_andnot_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: Botan::SIMD_16x32::andc
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_andnot_si512
    - Botan::SIMD_16x32::SIMD_16x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 andc(const SIMD_16x32& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_ternarylogic_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:170,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:170,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:170,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: Botan::SIMD_16x32::ternary_fn
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_ternarylogic_epi32
    - Botan::SIMD_16x32::raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 ternary_fn(const SIMD_16x32& a, const SIMD_16x32&
      b, const SIMD_16x32& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:181,1
    - Dst: reinterpret_cast<const __m512i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:181,1
    - Dst: _mm512_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:183,1
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: Botan::SIMD_16x32::bswap
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 1
    functionsReached:
    - _mm512_shuffle_epi8
    - _mm512_loadu_si512
    - Botan::SIMD_16x32::SIMD_16x32
    - reinterpret_cast<const __m512i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 bswap() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:190,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:191,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:192,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:193,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:195,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:196,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:197,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: Botan::SIMD_16x32::transpose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 3
    functionsReached:
    - _mm512_unpacklo_epi64
    - _mm512_unpackhi_epi32
    - _mm512_unpacklo_epi32
    - _mm512_unpackhi_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 transpose(SIMD_16x32& B0, SIMD_16x32& B1, SIMD_16x32&
      B2, SIMD_16x32& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:218,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:218,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:218,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:219,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:219,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:219,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:220,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:220,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:220,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:221,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:221,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:221,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:222,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:222,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:222,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:223,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:223,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:223,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:224,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:224,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:224,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:225,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:225,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:225,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:226,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:226,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:226,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:227,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:227,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:227,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:228,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:228,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:228,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:229,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:229,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:229,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:230,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:230,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:230,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:231,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:231,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:231,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:232,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:232,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:232,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:233,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:233,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:233,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:235,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:236,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:237,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:238,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:239,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:240,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:241,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:242,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:243,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:244,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:245,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:246,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:247,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:248,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:249,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:250,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:252,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:253,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:254,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:255,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:256,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:257,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:258,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:259,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:260,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:261,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:262,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:263,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:264,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:265,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:266,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:267,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:269,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:270,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:271,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:272,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:273,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:274,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:275,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:276,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:277,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:278,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:279,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:280,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:281,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:282,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:283,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 16
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' B4'
    - ' B5'
    - ' B6'
    - ' B7'
    - ' B8'
    - ' B9'
    - ' BA'
    - ' BB'
    - ' BC'
    - ' BD'
    - ' BE'
    - ' BF'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 285
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 285
    functionName: Botan::SIMD_16x32::transpose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 3
    functionsReached:
    - _mm512_unpackhi_epi32
    - _mm512_unpackhi_epi64
    - _mm512_unpacklo_epi64
    - _mm512_unpacklo_epi32
    - _mm512_shuffle_i32x4
    - Botan::SIMD_16x32::raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: "BOTAN_FN_ISA_AVX512 transpose(SIMD_16x32& B0,\n                            SIMD_16x32&
      B1,\n                            SIMD_16x32& B2,\n                            SIMD_16x32&
      B3,\n                            SIMD_16x32& B4,\n                            SIMD_16x32&
      B5,\n                            SIMD_16x32& B6,\n                            SIMD_16x32&
      B7,\n                            SIMD_16x32& B8,\n                            SIMD_16x32&
      B9,\n                            SIMD_16x32& BA,\n                            SIMD_16x32&
      BB,\n                            SIMD_16x32& BC,\n                            SIMD_16x32&
      BD,\n                            SIMD_16x32& BE,\n                            SIMD_16x32&
      BF)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xca>
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mask'
    - ' a'
    - ' b'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: Botan::SIMD_16x32::choose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xca>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 choose(const SIMD_16x32& mask, const SIMD_16x32&
      a, const SIMD_16x32& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xe8>
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: Botan::SIMD_16x32::majority
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xe8>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 majority(const SIMD_16x32& x, const SIMD_16x32&
      y, const SIMD_16x32& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_zeroall
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: Botan::SIMD_16x32::zero_registers
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 3
    functionsReached:
    - _mm256_zeroall
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 zero_registers()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: Botan::SIMD_16x32::raw
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void raw() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_avx512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m512i
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: Botan::SIMD_16x32::SIMD_16x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 7
    functionsReached:
    - m_avx512
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 SIMD_16x32(__m512i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: Botan::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 28
    functionsReached:
    - SIMD_16x32::rotl
    linkageType: ''
    returnType: SIMD_16x32
    signature: SIMD_16x32 rotl(SIMD_16x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: Botan::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 22
    functionsReached:
    - SIMD_16x32::rotr
    linkageType: ''
    returnType: SIMD_16x32
    signature: SIMD_16x32 rotr(SIMD_16x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::shl
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: Botan::shl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - SIMD_16x32::shl
    linkageType: ''
    returnType: SIMD_16x32
    signature: SIMD_16x32 shl(SIMD_16x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<size_t>
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:46,1
    - Dst: shutdown
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:48,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:52,1
    - Dst: std::bind
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:69,1
    - Dst: std::forward<F>
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:69,1
    - Dst: std::forward<Args>
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:69,1
    - Dst: std::make_shared<std::packaged_task<return_type()>>
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:70,1
    - Dst: auto::get_future
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:71,1
    - Dst: queue_thunk
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 86
    functionName: Botan::Thread_Pool
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.h
    functionUses: 0
    functionsReached:
    - std::optional<size_t>
    - auto::get_future
    - std::forward<Args>
    - std::bind
    - shutdown
    - std::forward<F>
    - queue_thunk
    - Botan::size
    - std::make_shared<std::packaged_task<return_type()>>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Thread_Pool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::Barrier::Barrier
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/barrier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Barrier(int value = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RWLock
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 38
    functionName: Botan::RWLock
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/rwlock.h
    functionUses: 1
    functionsReached:
    - Botan::RWLock
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API RWLock
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: notify_one
      Src: /src/botan/src/lib/utils/thread_utils/semaphore.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: Botan::Semaphore::release
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/semaphore.cpp
    functionUses: 0
    functionsReached:
    - notify_one
    linkageType: ''
    returnType: void
    signature: void Semaphore::release(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/botan/src/lib/utils/thread_utils/semaphore.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: Botan::Semaphore::acquire
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/semaphore.cpp
    functionUses: 0
    functionsReached:
    - wait
    linkageType: ''
    returnType: void
    signature: void Semaphore::acquire()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: Botan::RWLock::RWLock
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/rwlock.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RWLock::RWLock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.cpp:16,1
    - Dst: wait
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: Botan::RWLock::lock
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/rwlock.cpp
    functionUses: 0
    functionsReached:
    - wait
    linkageType: ''
    returnType: void
    signature: void RWLock::lock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: Botan::RWLock::unlock
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/rwlock.cpp
    functionUses: 0
    functionsReached:
    - notify_all
    linkageType: ''
    returnType: void
    signature: void RWLock::unlock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: Botan::RWLock::lock_shared
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/rwlock.cpp
    functionUses: 0
    functionsReached:
    - wait
    linkageType: ''
    returnType: void
    signature: void RWLock::lock_shared()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: notify_one
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.cpp:47,1
    - Dst: notify_one
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: Botan::RWLock::unlock_shared
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/rwlock.cpp
    functionUses: 0
    functionsReached:
    - notify_one
    linkageType: ''
    returnType: void
    signature: void RWLock::unlock_shared()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: Botan::Semaphore::Semaphore
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/semaphore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Semaphore(int value = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::read_env_variable
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:20,1
    - Dst: std::optional<size_t>
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:27,1
    - Dst: std::stoul
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:27,1
    - Dst: std::optional<size_t>
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: Botan::global_thread_pool_size
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp
    functionUses: 0
    functionsReached:
    - OS::read_env_variable
    - std::optional<size_t>
    - std::stoul
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> global_thread_pool_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '& Thread_Pool::global_instance()'
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thread_Pool
    signature: Thread_Pool & Thread_Pool::global_instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<size_t>::has_value
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:65,1
    - Dst: Botan::OS::get_cpu_available
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:72,1
    - Dst: resize
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:88,1
    - Dst: std::thread
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:91,1
    - Dst: OS::set_thread_name
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - opt_pool_size
    argTypes:
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 94
    functionName: Botan::Thread_Pool::Thread_Pool
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp
    functionUses: 0
    functionsReached:
    - std::optional<size_t>::has_value
    - OS::set_thread_name
    - std::thread
    - resize
    - Botan::OS::get_cpu_available
    linkageType: ''
    returnType: void
    signature: void Thread_Pool::Thread_Pool(std::optional<size_t> opt_pool_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:106,1
    - Dst: join
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:110,1
    - Dst: clear
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: Botan::Thread_Pool::shutdown
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp
    functionUses: 2
    functionsReached:
    - join
    - clear
    - notify_all
    linkageType: ''
    returnType: void
    signature: void Thread_Pool::shutdown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:119,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:122,1
    - Dst: fn
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:123,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:126,1
    - Dst: notify_one
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' fn'
    argTypes:
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: Botan::Thread_Pool::queue_thunk
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp
    functionUses: 0
    functionsReached:
    - empty
    - fn
    - Invalid_State
    - notify_one
    - push_back
    linkageType: ''
    returnType: void
    signature: void Thread_Pool::queue_thunk(const std::function<void()>& fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:136,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:136,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:138,1
    - Dst: front
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:146,1
    - Dst: pop_front
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:147,1
    - Dst: task
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 152
    functionName: Botan::Thread_Pool::worker_thread
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp
    functionUses: 0
    functionsReached:
    - empty
    - task
    - wait
    - front
    - pop_front
    linkageType: ''
    returnType: void
    signature: void Thread_Pool::worker_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delta
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: Botan::Barrier::wait
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/barrier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Barrier::wait(size_t delta)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Barrier::wait
      Src: /src/botan/src/lib/utils/thread_utils/barrier.cpp:23,1
    - Dst: notify_all
      Src: /src/botan/src/lib/utils/thread_utils/barrier.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: Botan::Barrier::sync
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/barrier.cpp
    functionUses: 0
    functionsReached:
    - Botan::Barrier::wait
    - notify_all
    linkageType: ''
    returnType: void
    signature: void Barrier::sync()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:33,1
    - Dst: Botan::OS::open_socket
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:36,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:38,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:41,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:41,1
    - Dst: what
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:41,1
    - Dst: std::unique_ptr::write
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:45,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:45,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:45,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:45,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:47,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:48,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:59,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:60,1
    - Dst: std::ostringstream::write
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:63,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:63,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:63,1
    - Dst: static_cast<std::streamsize>
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:63,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:66,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - hostname
    - service
    - message
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 67
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 67
    functionName: Botan::HTTP::http_transact
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::string_view::size
    - std::ostringstream::str
    - std::string_view::data
    - what
    - HTTP_Error
    - static_cast<std::streamsize>
    - Not_Implemented
    - std::unique_ptr::write
    - std::ostringstream::write
    - Botan::OS::open_socket
    - Botan::TLS::detail::AsyncBase::complete_now
    - fmt
    - cast_char_ptr_to_uint8
    - cast_uint8_ptr_to_char
    linkageType: ''
    returnType: std::string
    signature: "std::string http_transact(std::string_view hostname,\n                          std::string_view
      service,\n                          std::string_view message,\n                          std::chrono::milliseconds
      timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: Botan::HTTP::needs_url_encoding
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool needs_url_encoding(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HTTP::needs_url_encoding
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:91,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:92,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:92,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: Botan::HTTP::url_encode
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 0
    functionsReached:
    - cast_char_ptr_to_uint8
    - std::ostringstream::str
    - Botan::HTTP::needs_url_encoding
    - hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string url_encode(std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: status_code
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:102,1
    - Dst: status_message
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:102,1
    - Dst: headers
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:103,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:106,1
    - Dst: body
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:106,1
    - Dst: write
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:107,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:107,1
    - Dst: body
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:107,1
    - Dst: body
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' o'
    - ' resp'
    argTypes:
    - std::ostream
    - Response
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: '& operator<<(std::ostream& o, const Response& resp)'
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - write
    - body
    - status_message
    - headers
    - status_code
    - cast_uint8_ptr_to_char
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& o, const Response& resp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:117,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:118,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:121,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:123,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:123,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:126,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:131,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:134,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:135,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:138,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:143,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:144,1
    - Dst: size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:156,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:159,1
    - Dst: std::ostringstream::write
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:163,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:163,1
    - Dst: data
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:163,1
    - Dst: size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:163,1
    - Dst: Botan::HTTP::http_transact
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:165,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:165,1
    - Dst: std::getline
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:168,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:169,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:170,1
    - Dst: std::getline
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:180,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:182,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:183,1
    - Dst: std::getline
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:188,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:189,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:190,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:191,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:191,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:193,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:195,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:196,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:196,1
    - Dst: std::map::contains
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:201,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:203,1
    - Dst: Botan::HTTP::GET_sync
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:205,1
    - Dst: std::istringstream::good
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:210,1
    - Dst: std::istringstream::read
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:211,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:211,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:211,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:211,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:213,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:213,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:213,1
    - Dst: std::map::find
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:216,1
    - Dst: std::map::end
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:217,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:219,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:219,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:220,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:220,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:220,1
    - Dst: Response
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:224,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 6
    argNames:
    - ' http_transact'
    - verb
    - url
    - content_type
    - ' body'
    - allowable_redirects
    argTypes:
    - http_exch_fn
    - std::string_view
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 225
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 225
    functionName: Botan::HTTP::http_sync
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 0
    functionsReached:
    - std::getline
    - std::ostringstream::str
    - Botan::HTTP::GET_sync
    - Botan::HTTP::http_transact
    - std::ostringstream::write
    - std::istringstream::read
    - std::string_view::substr
    - fmt
    - std::string_view::find
    - to_u32bit
    - std::map::find
    - std::string_view::empty
    - data
    - std::string::empty
    - std::string::substr
    - std::vector::data
    - std::vector::size
    - std::map::end
    - std::vector::insert
    - std::string::find
    - std::string::size
    - cast_uint8_ptr_to_char
    - std::vector::end
    - std::map::contains
    - std::istringstream::good
    - HTTP_Error
    - Response
    - size
    linkageType: ''
    returnType: Response
    signature: "Response http_sync(const http_exch_fn& http_transact,\n                   std::string_view
      verb,\n                   std::string_view url,\n                   std::string_view
      content_type,\n                   const std::vector<uint8_t>& body,\n                   size_t
      allowable_redirects)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HTTP::http_transact
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:235,1
    - Dst: Botan::HTTP::http_sync
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - verb
    - url
    - content_type
    - ' body'
    - allowable_redirects
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: Botan::HTTP::http_sync
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 1
    functionsReached:
    - Botan::HTTP::http_sync
    - Botan::HTTP::http_transact
    linkageType: ''
    returnType: Response
    signature: "Response http_sync(std::string_view verb,\n                   std::string_view
      url,\n                   std::string_view content_type,\n                   const
      std::vector<uint8_t>& body,\n                   size_t allowable_redirects,\n
      \                  std::chrono::milliseconds timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HTTP::http_sync
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:242,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - url
    - allowable_redirects
    - timeout
    argTypes:
    - std::string_view
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: Botan::HTTP::GET_sync
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 3
    functionsReached:
    - std::vector<uint8_t>
    - Botan::HTTP::http_sync
    linkageType: ''
    returnType: Response
    signature: Response GET_sync(std::string_view url, size_t allowable_redirects,
      std::chrono::milliseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HTTP::http_sync
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - url
    - content_type
    - ' body'
    - allowable_redirects
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: Botan::HTTP::POST_sync
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 2
    functionsReached:
    - Botan::HTTP::http_sync
    linkageType: ''
    returnType: Response
    signature: "Response POST_sync(std::string_view url,\n                   std::string_view
      content_type,\n                   const std::vector<uint8_t>& body,\n                   size_t
      allowable_redirects,\n                   std::chrono::milliseconds timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::HTTP::HTTP_Error::HTTP_Error
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTP_Error(const std::string& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::HTTP::HTTP_Error::error_type
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::HTTP::Response::Response
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - status_code
    - status_message
    - ' body'
    - ' headers'
    argTypes:
    - unsigned int
    - std::string_view
    - std::vector<uint8_t>
    - std::map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::HTTP::Response::Response
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Response(unsigned int status_code,\n               std::string_view
      status_message,\n               const std::vector<uint8_t>& body,\n               const
      std::map<std::string, std::string>& headers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::HTTP::Response::status_code
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int status_code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& body() const'
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & body() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& headers() const'
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, std::string>
    signature: std::map<std::string, std::string> & headers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::HTTP::Response::status_message
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string status_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HTTP::Response::status_code
      Src: /src/botan/src/lib/utils/http_util/http_util.h:50,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.h:51,1
    - Dst: Botan::HTTP::Response::status_message
      Src: /src/botan/src/lib/utils/http_util/http_util.h:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan::HTTP::Response::throw_unless_ok
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached:
    - Botan::HTTP::Response::status_message
    - HTTP_Error
    - Botan::HTTP::Response::status_code
    linkageType: ''
    returnType: void
    signature: void throw_unless_ok() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:40,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::return_carry
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - Botan::CT::Mask::expand_top_bit
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t return_carry(uint64_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:46,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:58,1
    - Dst: std::span
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: Botan::poly_double
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp
    functionUses: 1
    functionsReached:
    - Botan::copy_out_be
    - std::span
    - Botan::load_be
    linkageType: ''
    returnType: void
    signature: void poly_double(uint8_t out[], const uint8_t in[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:64,1
    - Dst: Botan::copy_out_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:76,1
    - Dst: std::span
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: Botan::poly_double_le
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    - std::span
    - Botan::copy_out_le
    linkageType: ''
    returnType: void
    signature: void poly_double_le(uint8_t out[], const uint8_t in[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:84,1
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:86,1
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:88,1
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:90,1
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:92,1
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:94,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - n
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: Botan::poly_double_n
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp
    functionUses: 2
    functionsReached:
    - Botan::poly_double
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void poly_double_n(uint8_t out[], const uint8_t in[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::poly_double_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:103,1
    - Dst: Botan::poly_double_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:105,1
    - Dst: Botan::poly_double_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:107,1
    - Dst: Botan::poly_double_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:109,1
    - Dst: Botan::poly_double_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:111,1
    - Dst: Botan::poly_double_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:113,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - n
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: Botan::poly_double_n_le
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp
    functionUses: 0
    functionsReached:
    - Botan::poly_double_le
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void poly_double_n_le(uint8_t out[], const uint8_t in[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:124,1
    - Dst: Botan::copy_out_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:130,1
    - Dst: std::span
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:130,1
    - Dst: Botan::poly_double_n_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - tweak
    - BS
    - blocks_in_tweak
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 139
    functionName: Botan::xts_update_tweak_block
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    - std::span
    - Botan::copy_out_le
    - Botan::poly_double_n_le
    linkageType: ''
    returnType: void
    signature: void xts_update_tweak_block(uint8_t tweak[], size_t BS, size_t blocks_in_tweak)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::poly_double_supported_size
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool poly_double_supported_size(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::poly_double_n
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan::poly_double_n
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.h
    functionUses: 3
    functionsReached:
    - Botan::poly_double_n
    linkageType: ''
    returnType: void
    signature: void poly_double_n(uint8_t buf[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/utils/ghash/ghash.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::GHASH::key_spec
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::GHASH::name
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:25,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: Botan::GHASH::provider
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string GHASH::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:40,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:40,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:43,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:44,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:44,1
    - Dst: ghash_multiply_cpu
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:45,1
    - Dst: std::span<uint8_t, GCM_BS>::data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:45,1
    - Dst: data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:45,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:45,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:50,1
    - Dst: Botan::GHASH::ghash_multiply_vperm
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:51,1
    - Dst: std::span<uint8_t, GCM_BS>::data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:51,1
    - Dst: data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:51,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:51,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:55,1
    - Dst: load_be<std::array<uint64_t, 2>>
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:57,1
    - Dst: load_be<std::array<uint64_t, 2>>
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:61,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:61,1
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:68,1
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:69,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:74,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:75,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:77,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:78,1
    - Dst: store_be
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - x
    - input
    - blocks
    argTypes:
    - std::span<uint8_t, GCM_BS>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: Botan::GHASH::ghash_multiply
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - ghash_multiply_cpu
    - store_be
    - data
    - BufferSlicer::take
    - empty
    - std::span<uint8_t, GCM_BS>::data
    - Botan::CT::Mask::expand_top_bit
    - std::span<const uint8_t>::size
    - Botan::GHASH::ghash_multiply_vperm
    - Botan::CT::scoped_poison
    - auto::select
    - std::span<const uint8_t>::data
    - load_be<std::array<uint64_t, 2>>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void GHASH::ghash_multiply(std::span<uint8_t, GCM_BS> x, std::span<const
      uint8_t> input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:89,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::GHASH::has_keying_material
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool GHASH::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:97,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:97,1
    - Dst: load_be<std::array<uint64_t, 2>>
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:98,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:98,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:101,1
    - Dst: zap
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:102,1
    - Dst: size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:103,1
    - Dst: resize
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:104,1
    - Dst: ghash_precompute_cpu
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:106,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:106,1
    - Dst: data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:106,1
    - Dst: size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:114,1
    - Dst: resize
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 134
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 134
    functionName: Botan::GHASH::key_schedule
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - std::span<const uint8_t>::first
    - data
    - ghash_precompute_cpu
    - std::span<const uint8_t>::size
    - size
    - std::span<const uint8_t>::data
    - zap
    - resize
    - load_be<std::array<uint64_t, 2>>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void GHASH::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:137,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:137,1
    - Dst: emplace
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:138,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:139,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: Botan::GHASH::start
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    - copy_mem
    - emplace
    linkageType: ''
    returnType: void
    signature: void GHASH::start(std::span<const uint8_t> nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:144,1
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:146,1
    - Dst: Botan::GHASH::ghash_update
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:148,1
    - Dst: Botan::GHASH::ghash_zeropad
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:149,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: Botan::GHASH::set_associated_data
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::GHASH::ghash_update
    - Botan::GHASH::ghash_zeropad
    - std::span<const uint8_t>::size
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void GHASH::set_associated_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:154,1
    - Dst: Botan::GHASH::ghash_update
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:155,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ad
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: Botan::GHASH::update_associated_data
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::GHASH::ghash_update
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void GHASH::update_associated_data(std::span<const uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:160,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:161,1
    - Dst: Botan::GHASH::ghash_update
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:162,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: Botan::GHASH::update
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::GHASH::ghash_update
    - std::span<const uint8_t>::size
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void GHASH::update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:167,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:167,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:167,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:168,1
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:169,1
    - Dst: Botan::GHASH::ghash_zeropad
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:171,1
    - Dst: Botan::GHASH::ghash_final_block
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:172,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:174,1
    - Dst: first
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:174,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:174,1
    - Dst: first
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:174,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:174,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:176,1
    - Dst: Botan::GHASH::reset
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: Botan::GHASH::final
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - std::span<uint8_t>::size
    - Botan::GHASH::ghash_zeropad
    - secure_scrub_memory
    - Botan::GHASH::ghash_final_block
    - Botan::GHASH::reset
    - std::span<uint8_t>::empty
    - BOTAN_ARG_CHECK
    - xor_buf
    - BOTAN_STATE_CHECK
    - first
    linkageType: ''
    returnType: void
    signature: void GHASH::final(std::span<uint8_t> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:182,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:183,1
    - Dst: Botan::GHASH::ghash_update
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:185,1
    - Dst: Botan::GHASH::ghash_zeropad
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:186,1
    - Dst: Botan::GHASH::ghash_final_block
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:187,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - y0
    - nonce
    argTypes:
    - std::span<uint8_t, GCM_BS>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: Botan::GHASH::nonce_hash
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::GHASH::ghash_update
    - Botan::GHASH::ghash_zeropad
    - Botan::GHASH::ghash_final_block
    - std::span<const uint8_t>::size
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void GHASH::nonce_hash(std::span<uint8_t, GCM_BS> y0, std::span<const
      uint8_t> nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:191,1
    - Dst: zap
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:192,1
    - Dst: Botan::GHASH::reset
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: Botan::GHASH::clear
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - zap
    - Botan::GHASH::reset
    linkageType: ''
    returnType: void
    signature: void GHASH::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:198,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:200,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:200,1
    - Dst: Botan::GHASH::reset
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:201,1
    - Dst: Botan::GHASH::clear
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: Botan::GHASH::reset
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 3
    functionsReached:
    - secure_scrub_memory
    - value
    - Botan::GHASH::clear
    - Botan::GHASH::reset
    linkageType: ''
    returnType: void
    signature: void GHASH::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:209,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:210,1
    - Dst: Botan::GHASH::ghash_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:211,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:211,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:214,1
    - Dst: Botan::GHASH::ghash_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:217,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:221,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - x
    - input
    argTypes:
    - std::span<uint8_t, GCM_BS>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 222
      start: 207
    functionDepth: 4
    functionLinenumber: 207
    functionLinenumberEnd: 222
    functionName: Botan::GHASH::ghash_update
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 4
    functionsReached:
    - in_alignment
    - auto::value
    - handle_unaligned_data
    - BufferSlicer::empty
    - Botan::GHASH::ghash_multiply
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void GHASH::ghash_update(std::span<uint8_t, GCM_BS> x, std::span<const
      uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: in_alignment
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:225,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:226,1
    - Dst: Botan::GHASH::ghash_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:227,1
    - Dst: consume
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<uint8_t, GCM_BS>
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: Botan::GHASH::ghash_zeropad
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 3
    functionsReached:
    - consume
    - Botan::GHASH::ghash_multiply
    - in_alignment
    - fill_up_with_zeros
    linkageType: ''
    returnType: void
    signature: void GHASH::ghash_zeropad(std::span<uint8_t, GCM_BS> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:232,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:232,1
    - Dst: store_be
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:233,1
    - Dst: Botan::GHASH::ghash_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - ad_len
    - text_len
    argTypes:
    - std::span<uint8_t, GCM_BS>
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: Botan::GHASH::ghash_final_block
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 2
    functionsReached:
    - store_be
    - in_alignment
    - BOTAN_STATE_CHECK
    - Botan::GHASH::ghash_multiply
    linkageType: ''
    returnType: void
    signature: void GHASH::ghash_final_block(std::span<uint8_t, GCM_BS> x, uint64_t
      ad_len, uint64_t text_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:26,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:27,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:27,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:27,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:30,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:31,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:31,1
    - Dst: vqtbl1q_u8
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:31,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:31,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:31,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:34,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:34,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:34,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: Botan::reverse_vector
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - vec_perm
    - vqtbl1q_u8
    - vld1q_u8
    - vreinterpretq_u8_u32
    - vreinterpretq_u32_u8
    - _mm_set_epi8
    - _mm_shuffle_epi8
    - raw
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE reverse_vector(const SIMD_4x32& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:43,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:43,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:43,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:43,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:50,1
    - Dst: vmull_p64
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:50,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:52,1
    - Dst: reinterpret_cast<uint32x4_t>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:52,1
    - Dst: vmull_p64
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:52,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:56,1
    - Dst: Botan::reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:63,1
    - Dst: Botan::reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:64,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:71,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:73,1
    - Dst: SIMD_4x32::andc
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:75,1
    - Dst: SIMD_4x32::andc
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:76,1
    - Dst: reinterpret_cast<__vector unsigned long long>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:79,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:79,1
    - Dst: reinterpret_cast<__vector unsigned long long>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:80,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:80,1
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:82,1
    - Dst: __builtin_crypto_vpmsumd
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:83,1
    - Dst: __builtin_altivec_crypto_vpmsumd
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:85,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:88,1
    - Dst: reinterpret_cast<__vector unsigned int>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:88,1
    - Dst: Botan::reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ' H'
    - ' x'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 96
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 96
    functionName: Botan::clmul
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shift_elems_left
    - SIMD_4x32::andc
    - vmull_p64
    - SIMD_4x32
    - SIMD_4x32::raw
    - reinterpret_cast<__vector unsigned int>
    - reinterpret_cast<__vector unsigned long long>
    - BOTAN_COMPILER_HAS_BUILTIN
    - __builtin_altivec_crypto_vpmsumd
    - __builtin_crypto_vpmsumd
    - raw
    - reinterpret_cast<uint32x4_t>
    - Botan::reverse_vector
    - _mm_clmulepi64_si128
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE clmul(const SIMD_4x32& H, const SIMD_4x32& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shr
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:99,1
    - Dst: shl
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:100,1
    - Dst: shr
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:101,1
    - Dst: shl
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:102,1
    - Dst: SIMD_4x32::shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:104,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:105,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:106,1
    - Dst: SIMD_4x32::shl
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:108,1
    - Dst: SIMD_4x32::shl
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:108,1
    - Dst: SIMD_4x32::shl
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:108,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:110,1
    - Dst: SIMD_4x32::shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:112,1
    - Dst: SIMD_4x32::shr
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:113,1
    - Dst: SIMD_4x32::shr
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:113,1
    - Dst: SIMD_4x32::shr
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' B0'
    - ' B1'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: Botan::BOTAN_FN_ISA_CLMUL::gcm_reduce
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shift_elems_left
    - SIMD_4x32::shl
    - SIMD_4x32::shift_elems_right
    - shr
    - SIMD_4x32::shr
    - shl
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_CLMUL gcm_reduce(const SIMD_4x32& B0, const
      SIMD_4x32& B1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clmul<0x11>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:118,1
    - Dst: clmul<0x10>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:119,1
    - Dst: clmul<0x01>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:120,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:121,1
    - Dst: SIMD_4x32::shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:124,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:125,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_reduce
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' H'
    - ' x'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shift_elems_left
    - SIMD_4x32::shift_elems_right
    - clmul<0x10>
    - clmul<0x00>
    - Botan::BOTAN_FN_ISA_CLMUL::gcm_reduce
    - clmul<0x01>
    - clmul<0x11>
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_CLMUL gcm_multiply(const SIMD_4x32& H, const
      SIMD_4x32& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:143,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:143,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:143,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:143,1
    - Dst: clmul<0x11>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:145,1
    - Dst: clmul<0x11>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:145,1
    - Dst: clmul<0x11>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:145,1
    - Dst: clmul<0x11>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:145,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:149,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:149,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:149,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:150,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:150,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:150,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:151,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:151,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:151,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:152,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:152,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:152,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_reduce
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:156,1
    - Dst: SIMD_4x32::shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:156,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - ' H1'
    - ' H2'
    - ' H3'
    - ' H4'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 157
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 157
    functionName: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply_x4
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shift_elems_left
    - shift_elems_right
    - SIMD_4x32::shift_elems_right
    - clmul<0x00>
    - Botan::BOTAN_FN_ISA_CLMUL::gcm_reduce
    - clmul<0x11>
    linkageType: ''
    returnType: SIMD_4x32
    signature: "SIMD_4x32 BOTAN_FN_ISA_CLMUL gcm_multiply_x4(const SIMD_4x32& H1,\n
      \                                                   const SIMD_4x32& H2,\n                                                    const
      SIMD_4x32& H3,\n                                                    const SIMD_4x32&
      H4,\n                                                    const SIMD_4x32& X1,\n
      \                                                   const SIMD_4x32& X2,\n                                                    const
      SIMD_4x32& X3,\n                                                    const SIMD_4x32&
      X4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:162,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:162,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:163,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:164,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:165,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:167,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:168,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:169,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - H_bytes
    - H_pow
    argTypes:
    - uint8_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: Botan::BOTAN_FN_ISA_CLMUL::ghash_precompute_cpu
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::store_le
    - reverse_vector
    - Botan::SIMD_4x32::load_le
    - Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_CLMUL GHASH::ghash_precompute_cpu(const uint8_t H_bytes[16],
      uint64_t H_pow[4 * 2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:180,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:182,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:182,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:185,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:186,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:187,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:190,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:190,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:191,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:191,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:192,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:192,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:193,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:193,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply_x4
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:196,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:204,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:204,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:207,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:210,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - x
    - H_pow
    - input
    - blocks
    argTypes:
    - uint8_t[]
    - uint64_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 212
    functionName: Botan::BOTAN_FN_ISA_CLMUL::ghash_multiply_cpu
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - reverse_vector
    - Botan::SIMD_4x32::load_le
    - Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
    - SIMD_4x32::store_le
    - Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply_x4
    linkageType: ''
    returnType: void
    signature: "void BOTAN_FN_ISA_CLMUL GHASH::ghash_multiply_cpu(uint8_t x[16],\n
      \                                                 const uint64_t H_pow[8],\n
      \                                                 const uint8_t input[],\n                                                  size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:18,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:20,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:22,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:22,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:23,1
    - Dst: _mm_set1_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:25,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:28,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:28,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:29,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:31,1
    - Dst: _mm_setzero_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:33,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:36,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:37,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:38,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:39,1
    - Dst: _mm_add_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:41,1
    - Dst: _mm_srli_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:41,1
    - Dst: _mm_slli_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:42,1
    - Dst: _mm_add_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:43,1
    - Dst: _mm_srli_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:43,1
    - Dst: _mm_slli_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:44,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:46,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:46,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:46,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:47,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:47,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:47,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:48,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:48,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:48,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:49,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:49,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:49,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:52,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:52,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:55,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:56,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - x
    - HM
    - input_bytes
    - blocks
    argTypes:
    - uint8_t[]
    - uint64_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 57
    functionName: Botan::GHASH::ghash_multiply_vperm
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp
    functionUses: 1
    functionsReached:
    - _MM_SHUFFLE
    - _mm_xor_si128
    - _mm_andnot_si128
    - _mm_slli_epi64
    - reinterpret_cast<const __m128i*>
    - _mm_set1_epi8
    - _mm_loadu_si128
    - _mm_setzero_si128
    - _mm_srli_epi64
    - _mm_unpacklo_epi64
    - _mm_storeu_si128
    - _mm_set_epi8
    - _mm_shuffle_epi8
    - reinterpret_cast<__m128i*>
    - _mm_unpackhi_epi64
    - _mm_add_epi64
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X32
    signature: BOTAN_FN_ISA_SIMD_4X32 GHASH::ghash_multiply_vperm(uint8_t x[16], const
      uint64_t HM[256], const uint8_t input_bytes[], size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:50,1
    - Dst: Botan::Asio_SocketUDP::check_timeout
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:51,1
    - Dst: boost::asio::ip::udp::resolver::resolve
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:55,1
    - Dst: boost::asio::async_connect
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:62,1
    - Dst: boost::asio::ip::udp::resolver::results_type::begin
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:62,1
    - Dst: boost::asio::ip::udp::resolver::results_type::end
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:62,1
    - Dst: run_one
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:65,1
    - Dst: boost::system::system_error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:69,1
    - Dst: is_open
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:71,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:72,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - hostname
    - service
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::chrono::microseconds
    constantsTouched: []
    func_position:
      end: 74
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 74
    functionName: Botan::Asio_SocketUDP::Asio_SocketUDP
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - expires_after
    - System_Error
    - Botan::Asio_SocketUDP::check_timeout
    - boost::asio::ip::udp::resolver::results_type::end
    - run_one
    - boost::asio::ip::udp::resolver::resolve
    - boost::system::system_error
    - is_open
    - fmt
    - boost::asio::ip::udp::resolver::results_type::begin
    - boost::asio::async_connect
    linkageType: ''
    returnType: void
    signature: void Asio_SocketUDP(std::string_view hostname, std::string_view service,
      std::chrono::microseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:77,1
    - Dst: async_send
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:81,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:81,1
    - Dst: run_one
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:84,1
    - Dst: boost::system::system_error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: Botan::Asio_SocketUDP::write
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    - expires_after
    - run_one
    - boost::system::system_error
    - async_send
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:93,1
    - Dst: async_receive
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:98,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:98,1
    - Dst: run_one
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:104,1
    - Dst: boost::system::system_error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: Botan::Asio_SocketUDP::read
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    - expires_after
    - run_one
    - async_receive
    - boost::system::system_error
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:119,1
    - Dst: expiry
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:119,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:119,1
    - Dst: close
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:123,1
    - Dst: async_wait
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:126,1
    - Dst: std::bind
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: Botan::Asio_SocketUDP::check_timeout
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached:
    - close
    - std::bind
    - expiry
    - Botan::TLS::detail::AsyncBase::complete_now
    - async_wait
    - is_open
    linkageType: ''
    returnType: void
    signature: void check_timeout()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BSD_SocketUDP::socket_init
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:139,1
    - Dst: Botan::BSD_SocketUDP::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:141,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:145,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:155,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:155,1
    - Dst: Botan::BSD_SocketUDP::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:158,1
    - Dst: Client::close_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:163,1
    - Dst: Botan::BSD_SocketUDP::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:165,1
    - Dst: Botan::BSD_SocketUDP::set_nonblocking
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:170,1
    - Dst: memcpy
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:171,1
    - Dst: static_cast<socklen_t>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:172,1
    - Dst: ::freeaddrinfo
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:175,1
    - Dst: Botan::BSD_SocketUDP::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:177,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:178,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - hostname
    - service
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::chrono::microseconds
    constantsTouched: []
    func_position:
      end: 181
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 181
    functionName: Botan::BSD_SocketUDP::BSD_SocketUDP
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - System_Error
    - static_cast<socklen_t>
    - Botan::BSD_SocketUDP::socket_init
    - Botan::BSD_SocketUDP::invalid_socket
    - Client::close_socket
    - ::freeaddrinfo
    - Botan::BSD_SocketUDP::set_nonblocking
    - memcpy
    - fmt
    linkageType: ''
    returnType: void
    signature: void BSD_SocketUDP(std::string_view hostname, std::string_view service,
      std::chrono::microseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:184,1
    - Dst: invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:185,1
    - Dst: socket_fini
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: ~BSD_SocketUDP() override
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - socket_fini
    - close_socket
    - invalid_socket
    linkageType: ''
    returnType: void
    signature: void ~BSD_SocketUDP() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_SocketUDP
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Botan::BSD_SocketUDP::BSD_SocketUDP
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BSD_SocketUDP(const BSD_SocketUDP& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_SocketUDP
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan::BSD_SocketUDP::BSD_SocketUDP
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BSD_SocketUDP(BSD_SocketUDP&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_SocketUDP
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: '& operator=(const BSD_SocketUDP& other)'
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BSD_SocketUDP
    signature: BSD_SocketUDP & operator=(const BSD_SocketUDP& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_SocketUDP
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: '& operator=(BSD_SocketUDP&& other)'
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BSD_SocketUDP
    signature: BSD_SocketUDP & operator=(BSD_SocketUDP&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:196,1
    - Dst: FD_SET
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:197,1
    - Dst: Botan::BSD_SocketUDP::make_timeout_tv
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:201,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:205,1
    - Dst: ::sendto
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:209,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:210,1
    - Dst: static_cast<sendrecv_len_type>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:211,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:213,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:216,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 221
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 221
    functionName: Botan::BSD_SocketUDP::write
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    - static_cast<sendrecv_len_type>
    - static_cast<size_t>
    - ::sendto
    - Botan::BSD_SocketUDP::make_timeout_tv
    - FD_SET
    - reinterpret_cast<sockaddr*>
    - cast_uint8_ptr_to_char
    - FD_ZERO
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:225,1
    - Dst: FD_SET
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:226,1
    - Dst: Botan::BSD_SocketUDP::make_timeout_tv
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:228,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:232,1
    - Dst: ::recvfrom
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:236,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:236,1
    - Dst: static_cast<sendrecv_len_type>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:236,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:239,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: Botan::BSD_SocketUDP::read
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    - static_cast<sendrecv_len_type>
    - static_cast<size_t>
    - Botan::BSD_SocketUDP::make_timeout_tv
    - ::recvfrom
    - FD_SET
    - cast_uint8_ptr_to_char
    - FD_ZERO
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: Botan::BSD_SocketUDP::invalid_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: socket_type
    signature: socket_type invalid_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::closesocket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: Botan::BSD_SocketUDP::close_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - ::closesocket
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:255,1
    - Dst: ::WSAGetLastError
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: Botan::BSD_SocketUDP::get_last_socket_error
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - ::WSAGetLastError
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string get_last_socket_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::WSAGetLastError
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: Botan::BSD_SocketUDP::nonblocking_connect_in_progress
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - ::WSAGetLastError
    linkageType: ''
    returnType: bool
    signature: bool nonblocking_connect_in_progress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::ioctlsocket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: Botan::BSD_SocketUDP::set_nonblocking
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached:
    - ::ioctlsocket
    linkageType: ''
    returnType: void
    signature: void set_nonblocking(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:266,1
    - Dst: ::WSAStartup
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:268,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:269,1
    - Dst: WSAGetLastError
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:269,1
    - Dst: LOBYTE
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:272,1
    - Dst: HIBYTE
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:272,1
    - Dst: ::WSACleanup
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:273,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: Botan::BSD_SocketUDP::socket_init
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached:
    - System_Error
    - MAKEWORD
    - ::WSAStartup
    - WSAGetLastError
    - HIBYTE
    - ::WSACleanup
    - LOBYTE
    linkageType: ''
    returnType: void
    signature: void socket_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::WSACleanup
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: Botan::BSD_SocketUDP::socket_fini
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - ::WSACleanup
    linkageType: ''
    returnType: void
    signature: void socket_fini()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: Botan::BSD_SocketUDP::invalid_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: socket_type
    signature: socket_type invalid_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: Botan::BSD_SocketUDP::close_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::strerror
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: Botan::BSD_SocketUDP::get_last_socket_error
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - ::strerror
    linkageType: ''
    returnType: std::string
    signature: std::string get_last_socket_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: Botan::BSD_SocketUDP::nonblocking_connect_in_progress
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nonblocking_connect_in_progress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::fcntl
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:293,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: Botan::BSD_SocketUDP::set_nonblocking
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached:
    - ::fcntl
    - System_Error
    linkageType: ''
    returnType: void
    signature: void set_nonblocking(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: Botan::BSD_SocketUDP::socket_init
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void socket_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: Botan::BSD_SocketUDP::socket_fini
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void socket_fini()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<decltype(timeval::tv_sec)>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:307,1
    - Dst: count
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:307,1
    - Dst: static_cast<decltype(timeval::tv_usec)>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:308,1
    - Dst: count
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: Botan::BSD_SocketUDP::make_timeout_tv
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 2
    functionsReached:
    - static_cast<decltype(timeval::tv_sec)>
    - static_cast<decltype(timeval::tv_usec)>
    - count
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval make_timeout_tv() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Asio_SocketUDP>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:322,1
    - Dst: std::make_unique<BSD_SocketUDP>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:324,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:326,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:327,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:328,1
    - Dst: std::unique_ptr<OS::SocketUDP>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hostname
    - service
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::chrono::microseconds
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: Botan::OS::open_socket_udp
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - std::make_unique<Asio_SocketUDP>
    - std::make_unique<BSD_SocketUDP>
    - std::unique_ptr<OS::SocketUDP>
    linkageType: ''
    returnType: std::unique_ptr<OS::SocketUDP>
    signature: "std::unique_ptr<OS::SocketUDP> OS::open_socket_udp(std::string_view
      hostname,\n                                                   std::string_view
      service,\n                                                   std::chrono::microseconds
      timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::URI::from_any
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:334,1
    - Dst: auto::port
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:335,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:336,1
    - Dst: Botan::OS::open_socket_udp
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:338,1
    - Dst: auto::host
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:338,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:338,1
    - Dst: auto::port
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - uri_string
    - timeout
    argTypes:
    - std::string_view
    - std::chrono::microseconds
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: Botan::OS::open_socket_udp
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 2
    functionsReached:
    - std::to_string
    - Botan::OS::open_socket_udp
    - auto::host
    - Invalid_Argument
    - auto::port
    - Botan::URI::from_any
    linkageType: ''
    returnType: std::unique_ptr<OS::SocketUDP>
    signature: std::unique_ptr<OS::SocketUDP> OS::open_socket_udp(std::string_view
      uri_string, std::chrono::microseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::check_and_canonicalize_dns_name
      Src: /src/botan/src/lib/utils/socket/uri.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - domain
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: Botan::is_domain_name
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 0
    functionsReached:
    - Botan::check_and_canonicalize_dns_name
    linkageType: ''
    returnType: bool
    signature: bool is_domain_name(std::string_view domain)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/botan/src/lib/utils/socket/uri.cpp:42,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/socket/uri.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: Botan::is_ipv4
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 0
    functionsReached:
    - inet_pton
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool is_ipv4(std::string_view ip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/botan/src/lib/utils/socket/uri.cpp:48,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/socket/uri.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan::is_ipv6
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 0
    functionsReached:
    - inet_pton
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool is_ipv6(std::string_view ip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/socket/uri.cpp:52,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/socket/uri.cpp:56,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/socket/uri.cpp:56,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/socket/uri.cpp:60,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:63,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/socket/uri.cpp:63,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:67,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/socket/uri.cpp:67,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/utils/socket/uri.cpp:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - func_name
    - uri
    - pos
    argTypes:
    - char*
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: Botan::parse_port_number
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - Botan::fmt
    - std::string_view::empty
    - std::string_view::substr
    - Invalid_Argument
    - static_cast<uint16_t>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t parse_port_number(const char* func_name, std::string_view
      uri, size_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/socket/uri.cpp:77,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/socket/uri.cpp:77,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/socket/uri.cpp:80,1
    - Dst: parse_port_number
      Src: /src/botan/src/lib/utils/socket/uri.cpp:82,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/socket/uri.cpp:84,1
    - Dst: is_ipv4
      Src: /src/botan/src/lib/utils/socket/uri.cpp:85,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:86,1
    - Dst: is_domain_name
      Src: /src/botan/src/lib/utils/socket/uri.cpp:88,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:89,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/uri.cpp:89,1
    - Dst: URI
      Src: /src/botan/src/lib/utils/socket/uri.cpp:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: Botan::URI::from_domain
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 1
    functionsReached:
    - is_domain_name
    - std::string_view::empty
    - parse_port_number
    - std::string_view::substr
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    - fmt
    - is_ipv4
    - std::string_view::find
    - URI
    linkageType: ''
    returnType: URI
    signature: URI URI::from_domain(std::string_view uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/socket/uri.cpp:96,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/socket/uri.cpp:96,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/socket/uri.cpp:98,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/socket/uri.cpp:100,1
    - Dst: is_ipv4
      Src: /src/botan/src/lib/utils/socket/uri.cpp:101,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:102,1
    - Dst: URI
      Src: /src/botan/src/lib/utils/socket/uri.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: Botan::URI::from_ipv4
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 1
    functionsReached:
    - std::string_view::empty
    - std::string_view::substr
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    - is_ipv4
    - std::string_view::find
    - URI
    linkageType: ''
    returnType: URI
    signature: URI URI::from_ipv4(std::string_view uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/socket/uri.cpp:108,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/socket/uri.cpp:108,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/socket/uri.cpp:110,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:113,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/socket/uri.cpp:117,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:119,1
    - Dst: parse_port_number
      Src: /src/botan/src/lib/utils/socket/uri.cpp:122,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/socket/uri.cpp:124,1
    - Dst: is_ipv6
      Src: /src/botan/src/lib/utils/socket/uri.cpp:125,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:126,1
    - Dst: URI
      Src: /src/botan/src/lib/utils/socket/uri.cpp:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 129
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 129
    functionName: Botan::URI::from_ipv6
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 1
    functionsReached:
    - std::string_view::size
    - std::string_view::empty
    - parse_port_number
    - std::string_view::substr
    - Invalid_Argument
    - is_ipv6
    - BOTAN_ARG_CHECK
    - std::string_view::find
    - URI
    linkageType: ''
    returnType: URI
    signature: URI URI::from_ipv6(std::string_view uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/socket/uri.cpp:132,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/socket/uri.cpp:132,1
    - Dst: Botan::URI::from_ipv4
      Src: /src/botan/src/lib/utils/socket/uri.cpp:135,1
    - Dst: Botan::URI::from_ipv6
      Src: /src/botan/src/lib/utils/socket/uri.cpp:139,1
    - Dst: Botan::URI::from_domain
      Src: /src/botan/src/lib/utils/socket/uri.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: Botan::URI::from_any
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 4
    functionsReached:
    - Botan::URI::from_ipv4
    - Botan::URI::from_domain
    - std::string_view::empty
    - Botan::URI::from_ipv6
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: URI
    signature: URI URI::from_any(std::string_view uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::URI::to_string
      Src: /src/botan/src/lib/utils/socket/uri.cpp:148,1
    - Dst: Botan::URI::to_string
      Src: /src/botan/src/lib/utils/socket/uri.cpp:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: Botan::URI::to_string
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 1
    functionsReached:
    - Botan::URI::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string URI::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/socket/uri.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Botan::URI::from_domain
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 2
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: URI
    signature: URI URI::from_domain(std::string_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/socket/uri.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan::URI::from_ipv4
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 2
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: URI
    signature: URI URI::from_ipv4(std::string_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/socket/uri.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: Botan::URI::from_ipv6
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 2
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: URI
    signature: URI URI::from_ipv6(std::string_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/socket/uri.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: Botan::URI::from_any
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 4
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: URI
    signature: URI URI::from_any(std::string_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::SocketUDP
      Src: /src/botan/src/lib/utils/socket/socket_udp.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: Botan::OS::SocketUDP
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.h
    functionUses: 1
    functionsReached:
    - Botan::OS::SocketUDP
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API SocketUDP
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: Botan::URI
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API URI
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/lib/utils/socket/socket.cpp:50,1
    - Dst: Botan::Asio_Socket::check_timeout
      Src: /src/botan/src/lib/utils/socket/socket.cpp:51,1
    - Dst: boost::asio::ip::tcp::resolver::resolve
      Src: /src/botan/src/lib/utils/socket/socket.cpp:55,1
    - Dst: boost::asio::async_connect
      Src: /src/botan/src/lib/utils/socket/socket.cpp:61,1
    - Dst: boost::asio::ip::tcp::resolver::results_type::begin
      Src: /src/botan/src/lib/utils/socket/socket.cpp:61,1
    - Dst: boost::asio::ip::tcp::resolver::results_type::end
      Src: /src/botan/src/lib/utils/socket/socket.cpp:61,1
    - Dst: run_one
      Src: /src/botan/src/lib/utils/socket/socket.cpp:64,1
    - Dst: boost::system::system_error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:68,1
    - Dst: is_open
      Src: /src/botan/src/lib/utils/socket/socket.cpp:70,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:71,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/socket.cpp:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - hostname
    - service
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 73
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 73
    functionName: Botan::Asio_Socket::Asio_Socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - expires_after
    - System_Error
    - boost::asio::async_connect
    - run_one
    - boost::asio::ip::tcp::resolver::results_type::begin
    - Botan::Asio_Socket::check_timeout
    - boost::asio::ip::tcp::resolver::results_type::end
    - boost::system::system_error
    - is_open
    - fmt
    - boost::asio::ip::tcp::resolver::resolve
    linkageType: ''
    returnType: void
    signature: void Asio_Socket(std::string_view hostname, std::string_view service,
      std::chrono::milliseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/lib/utils/socket/socket.cpp:76,1
    - Dst: async_send
      Src: /src/botan/src/lib/utils/socket/socket.cpp:80,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/lib/utils/socket/socket.cpp:80,1
    - Dst: run_one
      Src: /src/botan/src/lib/utils/socket/socket.cpp:83,1
    - Dst: boost::system::system_error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: Botan::Asio_Socket::write
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    - expires_after
    - run_one
    - boost::system::system_error
    - async_send
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/lib/utils/socket/socket.cpp:92,1
    - Dst: async_read_some
      Src: /src/botan/src/lib/utils/socket/socket.cpp:97,1
    - Dst: nlohmann::detail::fill_buffer
      Src: /src/botan/src/lib/utils/socket/socket.cpp:97,1
    - Dst: run_one
      Src: /src/botan/src/lib/utils/socket/socket.cpp:103,1
    - Dst: boost::system::system_error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 114
    functionName: Botan::Asio_Socket::read
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::detail::fill_buffer
    - expires_after
    - async_read_some
    - run_one
    - boost::system::system_error
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/botan/src/lib/utils/socket/socket.cpp:118,1
    - Dst: expiry
      Src: /src/botan/src/lib/utils/socket/socket.cpp:118,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/socket/socket.cpp:118,1
    - Dst: close
      Src: /src/botan/src/lib/utils/socket/socket.cpp:122,1
    - Dst: async_wait
      Src: /src/botan/src/lib/utils/socket/socket.cpp:125,1
    - Dst: std::bind
      Src: /src/botan/src/lib/utils/socket/socket.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: Botan::Asio_Socket::check_timeout
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 1
    functionsReached:
    - close
    - std::bind
    - expiry
    - Botan::TLS::detail::AsyncBase::complete_now
    - async_wait
    - is_open
    linkageType: ''
    returnType: void
    signature: void check_timeout()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: Botan::BSD_Socket::invalid_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socket_type
    signature: socket_type invalid_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::closesocket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: Botan::BSD_Socket::close_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - ::closesocket
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/utils/socket/socket.cpp:148,1
    - Dst: ::WSAGetLastError
      Src: /src/botan/src/lib/utils/socket/socket.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Botan::BSD_Socket::get_last_socket_error
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - ::WSAGetLastError
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string get_last_socket_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::WSAGetLastError
      Src: /src/botan/src/lib/utils/socket/socket.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan::BSD_Socket::nonblocking_connect_in_progress
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - ::WSAGetLastError
    linkageType: ''
    returnType: bool
    signature: bool nonblocking_connect_in_progress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::ioctlsocket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: Botan::BSD_Socket::set_nonblocking
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - ::ioctlsocket
    linkageType: ''
    returnType: void
    signature: void set_nonblocking(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/botan/src/lib/utils/socket/socket.cpp:159,1
    - Dst: ::WSAStartup
      Src: /src/botan/src/lib/utils/socket/socket.cpp:161,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:162,1
    - Dst: WSAGetLastError
      Src: /src/botan/src/lib/utils/socket/socket.cpp:162,1
    - Dst: LOBYTE
      Src: /src/botan/src/lib/utils/socket/socket.cpp:165,1
    - Dst: HIBYTE
      Src: /src/botan/src/lib/utils/socket/socket.cpp:165,1
    - Dst: ::WSACleanup
      Src: /src/botan/src/lib/utils/socket/socket.cpp:166,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: Botan::BSD_Socket::socket_init
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    - MAKEWORD
    - ::WSAStartup
    - WSAGetLastError
    - HIBYTE
    - ::WSACleanup
    - LOBYTE
    linkageType: ''
    returnType: void
    signature: void socket_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::WSACleanup
      Src: /src/botan/src/lib/utils/socket/socket.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan::BSD_Socket::socket_fini
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - ::WSACleanup
    linkageType: ''
    returnType: void
    signature: void socket_fini()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: Botan::BSD_Socket::invalid_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socket_type
    signature: socket_type invalid_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/lib/utils/socket/socket.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: Botan::BSD_Socket::close_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::strerror
      Src: /src/botan/src/lib/utils/socket/socket.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: Botan::BSD_Socket::get_last_socket_error
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - ::strerror
    linkageType: ''
    returnType: std::string
    signature: std::string get_last_socket_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Botan::BSD_Socket::nonblocking_connect_in_progress
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nonblocking_connect_in_progress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::fcntl
      Src: /src/botan/src/lib/utils/socket/socket.cpp:187,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: Botan::BSD_Socket::set_nonblocking
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - ::fcntl
    - System_Error
    linkageType: ''
    returnType: void
    signature: void set_nonblocking(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: Botan::BSD_Socket::socket_init
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void socket_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan::BSD_Socket::socket_fini
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void socket_fini()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BSD_Socket::socket_init
      Src: /src/botan/src/lib/utils/socket/socket.cpp:200,1
    - Dst: Botan::BSD_Socket::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:202,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/socket/socket.cpp:205,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:216,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/socket.cpp:216,1
    - Dst: Botan::BSD_Socket::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:219,1
    - Dst: Client::close_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:224,1
    - Dst: Botan::BSD_Socket::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:226,1
    - Dst: Botan::BSD_Socket::set_nonblocking
      Src: /src/botan/src/lib/utils/socket/socket.cpp:231,1
    - Dst: Botan::BSD_Socket::nonblocking_connect_in_progress
      Src: /src/botan/src/lib/utils/socket/socket.cpp:237,1
    - Dst: Botan::BSD_Socket::make_timeout_tv
      Src: /src/botan/src/lib/utils/socket/socket.cpp:238,1
    - Dst: FD_ZERO
      Src: /src/botan/src/lib/utils/socket/socket.cpp:240,1
    - Dst: FD_SET
      Src: /src/botan/src/lib/utils/socket/socket.cpp:242,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:242,1
    - Dst: Botan::select
      Src: /src/botan/src/lib/utils/socket/socket.cpp:244,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:244,1
    - Dst: ::getsockopt
      Src: /src/botan/src/lib/utils/socket/socket.cpp:250,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:250,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:252,1
    - Dst: Botan::BSD_Socket::close_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:262,1
    - Dst: Botan::BSD_Socket::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:263,1
    - Dst: ::freeaddrinfo
      Src: /src/botan/src/lib/utils/socket/socket.cpp:269,1
    - Dst: Botan::BSD_Socket::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:271,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:272,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/socket.cpp:272,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 3
    argNames:
    - hostname
    - service
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::chrono::microseconds
    constantsTouched: []
    func_position:
      end: 275
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 275
    functionName: Botan::BSD_Socket::BSD_Socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - System_Error
    - Client::close_socket
    - ::freeaddrinfo
    - Botan::BSD_Socket::close_socket
    - ::getsockopt
    - Botan::BSD_Socket::set_nonblocking
    - Botan::BSD_Socket::make_timeout_tv
    - Botan::BSD_Socket::invalid_socket
    - static_cast<int>
    - FD_SET
    - Botan::BSD_Socket::nonblocking_connect_in_progress
    - reinterpret_cast<char*>
    - fmt
    - Botan::select
    - Botan::BSD_Socket::socket_init
    - FD_ZERO
    linkageType: ''
    returnType: void
    signature: void BSD_Socket(std::string_view hostname, std::string_view service,
      std::chrono::microseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:278,1
    - Dst: invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:279,1
    - Dst: socket_fini
      Src: /src/botan/src/lib/utils/socket/socket.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: ~BSD_Socket() override
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - socket_fini
    - close_socket
    - invalid_socket
    linkageType: ''
    returnType: void
    signature: void ~BSD_Socket() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_Socket
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: Botan::BSD_Socket::BSD_Socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BSD_Socket(const BSD_Socket& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_Socket
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: Botan::BSD_Socket::BSD_Socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BSD_Socket(BSD_Socket&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_Socket
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: '& operator=(const BSD_Socket& other)'
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BSD_Socket
    signature: BSD_Socket & operator=(const BSD_Socket& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_Socket
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: '& operator=(BSD_Socket&& other)'
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BSD_Socket
    signature: BSD_Socket & operator=(BSD_Socket&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/botan/src/lib/utils/socket/socket.cpp:290,1
    - Dst: FD_SET
      Src: /src/botan/src/lib/utils/socket/socket.cpp:291,1
    - Dst: Botan::BSD_Socket::make_timeout_tv
      Src: /src/botan/src/lib/utils/socket/socket.cpp:295,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:299,1
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/lib/utils/socket/socket.cpp:304,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/socket/socket.cpp:304,1
    - Dst: static_cast<sendrecv_len_type>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:304,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:306,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 311
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 311
    functionName: Botan::BSD_Socket::write
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    - static_cast<sendrecv_len_type>
    - static_cast<size_t>
    - Botan::BSD_Socket::make_timeout_tv
    - FD_SET
    - Botan_Tests::MockChannel::send
    - cast_uint8_ptr_to_char
    - FD_ZERO
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/botan/src/lib/utils/socket/socket.cpp:315,1
    - Dst: FD_SET
      Src: /src/botan/src/lib/utils/socket/socket.cpp:316,1
    - Dst: Botan::BSD_Socket::make_timeout_tv
      Src: /src/botan/src/lib/utils/socket/socket.cpp:318,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:322,1
    - Dst: ::recv
      Src: /src/botan/src/lib/utils/socket/socket.cpp:325,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/socket/socket.cpp:325,1
    - Dst: static_cast<sendrecv_len_type>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:325,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:328,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 332
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 332
    functionName: Botan::BSD_Socket::read
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    - static_cast<sendrecv_len_type>
    - static_cast<size_t>
    - Botan::BSD_Socket::make_timeout_tv
    - FD_SET
    - ::recv
    - cast_uint8_ptr_to_char
    - FD_ZERO
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<decltype(timeval::tv_sec)>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:337,1
    - Dst: count
      Src: /src/botan/src/lib/utils/socket/socket.cpp:337,1
    - Dst: static_cast<decltype(timeval::tv_usec)>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:338,1
    - Dst: count
      Src: /src/botan/src/lib/utils/socket/socket.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: Botan::BSD_Socket::make_timeout_tv
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 3
    functionsReached:
    - static_cast<decltype(timeval::tv_sec)>
    - static_cast<decltype(timeval::tv_usec)>
    - count
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval make_timeout_tv() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Asio_Socket>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:354,1
    - Dst: std::make_unique<BSD_Socket>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:357,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/socket/socket.cpp:360,1
    - Dst: std::unique_ptr<Socket>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hostname
    - service
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 364
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 364
    functionName: Botan::OS::open_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - std::unique_ptr<Socket>
    - std::make_unique<BSD_Socket>
    - std::make_unique<Asio_Socket>
    linkageType: ''
    returnType: std::unique_ptr<OS::Socket>
    signature: "std::unique_ptr<OS::Socket> OS::open_socket(std::string_view hostname,\n
      \                                           std::string_view service,\n                                            std::chrono::milliseconds
      timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::Socket
      Src: /src/botan/src/lib/utils/socket/socket.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: Botan::OS::Socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.h
    functionUses: 1
    functionsReached:
    - Botan::OS::Socket
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Socket
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EME_Raw>
      Src: /src/botan/src/lib/pk_pad/eme.cpp:31,1
    - Dst: std::make_unique<EME_PKCS1v15>
      Src: /src/botan/src/lib/pk_pad/eme.cpp:38,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/eme.cpp:46,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/eme.cpp:46,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/eme.cpp:46,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/eme.cpp:47,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/eme.cpp:47,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/eme.cpp:47,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/eme.cpp:47,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/eme.cpp:48,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/eme.cpp:48,1
    - Dst: std::make_unique<OAEP>
      Src: /src/botan/src/lib/pk_pad/eme.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/eme.cpp:49,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/eme.cpp:49,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/eme.cpp:51,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/eme.cpp:51,1
    - Dst: parse_algorithm_name
      Src: /src/botan/src/lib/pk_pad/eme.cpp:52,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/eme.cpp:52,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pk_pad/eme.cpp:54,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/eme.cpp:55,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/eme.cpp:55,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/eme.cpp:56,1
    - Dst: std::make_unique<OAEP>
      Src: /src/botan/src/lib/pk_pad/eme.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/eme.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/eme.cpp:59,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/eme.cpp:59,1
    - Dst: Algorithm_Not_Found
      Src: /src/botan/src/lib/pk_pad/eme.cpp:66,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 22
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 67
    functionName: Botan::EME::create
    functionSourceFile: /src/botan/src/lib/pk_pad/eme.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - SCAN_Name::arg_count
    - std::make_unique<EME_PKCS1v15>
    - Algorithm_Not_Found
    - std::make_unique<EME_Raw>
    - parse_algorithm_name
    - SCAN_Name::arg
    - auto::size
    - Botan::HashFunction::create
    - std::make_unique<OAEP>
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: std::unique_ptr<EME>
    signature: std::unique_ptr<EME> EME::create(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: EME::~EME()
    functionSourceFile: /src/botan/src/lib/pk_pad/eme.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EME::~EME()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EME
      Src: /src/botan/src/lib/pk_pad/eme.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 63
    functionName: Botan::EME
    functionSourceFile: /src/botan/src/lib/pk_pad/eme.h
    functionUses: 1
    functionsReached:
    - Botan::EME
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API EME
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:40,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:40,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:40,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:41,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:42,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:42,1
    - Dst: std::make_unique<EMSA_PKCS1v15_Raw>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:43,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:43,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:44,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:45,1
    - Dst: std::make_unique<EMSA_PKCS1v15_Raw>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:46,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:48,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:48,1
    - Dst: std::make_unique<EMSA_PKCS1v15>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:49,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:58,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:58,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:59,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:59,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:60,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:60,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:61,1
    - Dst: std::make_unique<PSSR_Raw>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:63,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:63,1
    - Dst: std::make_unique<PSSR_Raw>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:65,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:65,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:72,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:72,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:72,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:73,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:73,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:74,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:74,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:75,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:75,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:76,1
    - Dst: std::make_unique<PSSR>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:78,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:78,1
    - Dst: std::make_unique<PSSR>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:80,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:80,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:88,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:89,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:90,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:90,1
    - Dst: std::make_unique<ISO_9796_DS2>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:93,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:93,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:98,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:99,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:100,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:100,1
    - Dst: std::make_unique<ISO_9796_DS3>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:102,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:102,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:110,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:110,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:110,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:111,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:112,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:112,1
    - Dst: std::make_unique<EMSA_X931>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:113,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:113,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:120,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:121,1
    - Dst: std::make_unique<EMSA_Raw>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:122,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:124,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:124,1
    - Dst: std::make_unique<EMSA_Raw>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:126,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:126,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 68
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 133
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 133
    functionName: Botan::EMSA::create
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - SCAN_Name::arg_count
    - SCAN_Name::arg_count_between
    - std::make_unique<ISO_9796_DS3>
    - auto::output_length
    - std::make_unique<PSSR>
    - std::make_unique<EMSA_PKCS1v15_Raw>
    - std::make_unique<EMSA_PKCS1v15>
    - std::make_unique<PSSR_Raw>
    - std::make_unique<ISO_9796_DS2>
    - SCAN_Name::arg
    - Botan::HashFunction::create
    - std::make_unique<EMSA_Raw>
    - std::make_unique<EMSA_X931>
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: std::unique_ptr<EMSA>
    signature: std::unique_ptr<EMSA> EMSA::create(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:136,1
    - Dst: Algorithm_Not_Found
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: Botan::EMSA::create_or_throw
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa.cpp
    functionUses: 4
    functionsReached:
    - Algorithm_Not_Found
    - Botan::EMSA::create
    linkageType: ''
    returnType: std::unique_ptr<EMSA>
    signature: std::unique_ptr<EMSA> EMSA::create_or_throw(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA
      Src: /src/botan/src/lib/pk_pad/emsa.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 87
    functionName: Botan::EMSA
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa.h
    functionUses: 1
    functionsReached:
    - Botan::EMSA
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API EMSA
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:81,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:87,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:91,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:95,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:99,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:103,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:107,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:111,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:115,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:119,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:123,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:127,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:131,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:135,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:138,1
    - Dst: std::string
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:138,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 139
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 139
    functionName: Botan::pkcs_hash_id
    functionSourceFile: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - std::vector<uint8_t>
    - Invalid_Argument
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> pkcs_hash_id(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 171
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 171
    functionName: Botan::ieee1363_hash_id
    functionSourceFile: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ieee1363_hash_id(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PSSR::name
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::PSSR::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.h
    functionUses: 0
    functionsReached:
    - Botan::PSSR::name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PSSR_Raw::name
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::PSSR_Raw::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.h
    functionUses: 0
    functionsReached:
    - Botan::PSSR_Raw::name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:33,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:34,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:36,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:37,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:44,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:45,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:46,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:47,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:53,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:53,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:53,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:53,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:54,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:55,1
    - Dst: Botan::mgf1_mask
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:57,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:57,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:57,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:60,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:61,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:62,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ' hash'
    - msg
    - salt
    - output_bits
    argTypes:
    - HashFunction
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 65
    functionName: Botan::pss_encode
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - Encoding_Error
    - Botan::mgf1_mask
    - BufferStuffer::append
    - std::span<const uint8_t>::size
    - Botan::final_stdvec
    - Botan::update
    - BOTAN_ASSERT_NOMSG
    - BufferStuffer::full
    - BufferStuffer::remaining_capacity
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> pss_encode(HashFunction& hash,\n                                std::span<const
      uint8_t> msg,\n                                std::span<const uint8_t> salt,\n
      \                               size_t output_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:79,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:83,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:83,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:87,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:92,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:93,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:95,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:95,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:96,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:98,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:98,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:98,1
    - Dst: Botan::high_bit
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:103,1
    - Dst: Botan::mgf1_mask
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:113,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:133,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:134,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:135,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:137,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 5
    argNames:
    - ' hash'
    - pss_repr
    - message_hash
    - key_bits
    - out_salt_size
    argTypes:
    - HashFunction
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 146
    functionName: Botan::pss_verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - Botan::mgf1_mask
    - BufferStuffer::append
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    - Botan::final_stdvec
    - Botan::update
    - std::vector::resize
    - Botan::high_bit
    - std::vector::assign
    linkageType: ''
    returnType: bool
    signature: "bool pss_verify(HashFunction& hash,\n                std::span<const
      uint8_t> pss_repr,\n                std::span<const uint8_t> message_hash,\n
      \               size_t key_bits,\n                size_t* out_salt_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:151,1
    - Dst: output_length
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: Botan::PSSR::PSSR
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - output_length
    linkageType: ''
    returnType: void
    signature: void PSSR::PSSR(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hash
    - salt_size
    argTypes:
    - std::unique_ptr<HashFunction>
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: Botan::PSSR::PSSR
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSSR::PSSR(std::unique_ptr<HashFunction> hash, size_t salt_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PSSR::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: Botan::PSSR::update
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 1
    functionsReached:
    - Botan::PSSR::update
    linkageType: ''
    returnType: void
    signature: void PSSR::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: Botan::PSSR::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PSSR::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:171,1
    - Dst: pss_encode
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - output_bits
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: Botan::PSSR::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - pss_encode
    - random_vec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PSSR::encoding_of(std::span<const uint8_t> msg,
      size_t output_bits, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: Botan::PSSR::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PSSR::verify(std::span<const uint8_t> coded, std::span<const uint8_t>
      raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:190,1
    - Dst: Botan::PSSR::name
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: Botan::PSSR::name
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 2
    functionsReached:
    - Botan::PSSR::name
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string PSSR::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:194,1
    - Dst: output_length
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: Botan::PSSR_Raw::PSSR_Raw
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - output_length
    linkageType: ''
    returnType: void
    signature: void PSSR_Raw::PSSR_Raw(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hash
    - salt_size
    argTypes:
    - std::unique_ptr<HashFunction>
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: Botan::PSSR_Raw::PSSR_Raw
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSSR_Raw::PSSR_Raw(std::unique_ptr<HashFunction> hash, size_t
      salt_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:203,1
    - Dst: end
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: Botan::PSSR_Raw::update
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    linkageType: ''
    returnType: void
    signature: void PSSR_Raw::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:211,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:213,1
    - Dst: output_length
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:213,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: Botan::PSSR_Raw::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::swap
    - Encoding_Error
    - output_length
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PSSR_Raw::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:223,1
    - Dst: pss_encode
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - output_bits
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: Botan::PSSR_Raw::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - pss_encode
    - random_vec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> PSSR_Raw::encoding_of(std::span<const uint8_t>
      msg,\n                                           size_t output_bits,\n                                           RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: Botan::PSSR_Raw::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PSSR_Raw::verify(std::span<const uint8_t> coded, std::span<const
      uint8_t> raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:242,1
    - Dst: Botan::PSSR_Raw::name
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: Botan::PSSR_Raw::name
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::PSSR_Raw::name
    linkageType: ''
    returnType: std::string
    signature: std::string PSSR_Raw::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - hash
    - implicit
    - salt_size
    argTypes:
    - std::unique_ptr<HashFunction>
    - bool
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: Botan::ISO_9796_DS2::ISO_9796_DS2
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ISO_9796_DS2(std::unique_ptr<HashFunction> hash, bool implicit,
      size_t salt_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ISO_9796_DS2::name
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::ISO_9796_DS2::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.h
    functionUses: 0
    functionsReached:
    - Botan::ISO_9796_DS2::name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: Botan::ISO_9796_DS3::ISO_9796_DS3
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ISO_9796_DS3(std::unique_ptr<HashFunction> hash, bool implicit
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ISO_9796_DS3::name
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::ISO_9796_DS3::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.h
    functionUses: 0
    functionsReached:
    - Botan::ISO_9796_DS3::name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:38,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:48,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:50,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:50,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:51,1
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:54,1
    - Dst: update_be
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:55,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:55,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:56,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:57,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:58,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:59,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:64,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:64,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:65,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:66,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:67,1
    - Dst: Botan::mgf1_mask
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:70,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:70,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:70,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:75,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:80,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:84,1
    - Dst: Botan::name
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:84,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:86,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:87,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:90,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 6
    argNames:
    - msg
    - output_bits
    - ' hash'
    - salt_len
    - implicit
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - std::unique_ptr<HashFunction>
    - size_t
    - bool
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 93
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 93
    functionName: Botan::iso9796_encoding
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::span<const uint8_t>::first
    - Encoding_Error
    - static_cast<uint64_t>
    - Botan::name
    - Botan::mgf1_mask
    - BufferStuffer::append
    - std::span<const uint8_t>::subspan
    - Botan::random_vec
    - update_be
    - Botan::final_stdvec
    - Botan::update
    - BOTAN_ASSERT_NOMSG
    - BufferStuffer::full
    - BufferStuffer::remaining_capacity
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> iso9796_encoding(std::span<const uint8_t> msg,\n
      \                                     size_t output_bits,\n                                      std::unique_ptr<HashFunction>&
      hash,\n                                      size_t salt_len,\n                                      bool
      implicit,\n                                      RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:103,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:108,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:112,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:112,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:113,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:119,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:119,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:121,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:121,1
    - Dst: Botan::mgf1_mask
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:128,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:135,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:136,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:139,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:140,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:145,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:152,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:152,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:155,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:155,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:157,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:157,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:157,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:158,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:160,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:160,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:161,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:161,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:161,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:166,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:167,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:167,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:167,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:168,1
    - Dst: std::span
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:168,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:170,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:170,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:170,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:172,1
    - Dst: update_be
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:175,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:176,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:177,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:178,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:179,1
    - Dst: update_be
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:183,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:184,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:185,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:186,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:187,1
    - Dst: Botan::CT::is_not_equal
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:190,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:190,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:190,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:192,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 5
    argNames:
    - const_coded
    - raw
    - key_bits
    - ' hash'
    - salt_len
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    - std::unique_ptr<HashFunction>
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 194
    functionName: Botan::iso9796_verification
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - update_be
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::CT::unpoison
    - Botan::BigInt::is_equal
    - std::span
    - Botan::bigint_ct_is_lt
    - std::vector<uint8_t>
    - std::span<const uint8_t>::end
    - std::vector::begin
    - Botan::CT::is_not_equal
    - std::vector::data
    - std::vector::size
    - Botan::sha512_msg_expand
    - std::span<const uint8_t>::begin
    - Botan::CT::Mask::cleared
    - Botan::CT::poison
    - std::vector::end
    - auto::as_bool
    - Botan::mgf1_mask
    - cryptofuzz::module::EC_POINT_Copier::set
    - std::span<const uint8_t>::size
    - Botan::final_stdvec
    - Botan::update
    - auto::if_set_return
    - std::vector::assign
    linkageType: ''
    returnType: bool
    signature: "bool iso9796_verification(std::span<const uint8_t> const_coded,\n
      \                         std::span<const uint8_t> raw,\n                          size_t
      key_bits,\n                          std::unique_ptr<HashFunction>& hash,\n
      \                         size_t salt_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:204,1
    - Dst: end
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: Botan::ISO_9796_DS2::update
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    linkageType: ''
    returnType: void
    signature: void ISO_9796_DS2::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: Botan::ISO_9796_DS2::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ISO_9796_DS2::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iso9796_encoding
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - output_bits
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: Botan::ISO_9796_DS2::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - iso9796_encoding
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ISO_9796_DS2::encoding_of(std::span<const uint8_t>
      msg,\n                                               size_t output_bits,\n                                               RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iso9796_verification
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - const_coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: Botan::ISO_9796_DS2::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - iso9796_verification
    linkageType: ''
    returnType: bool
    signature: bool ISO_9796_DS2::verify(std::span<const uint8_t> const_coded, std::span<const
      uint8_t> raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:236,1
    - Dst: Botan::ISO_9796_DS2::name
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: Botan::ISO_9796_DS2::name
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::ISO_9796_DS2::name
    linkageType: ''
    returnType: std::string
    signature: std::string ISO_9796_DS2::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:245,1
    - Dst: end
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: Botan::ISO_9796_DS3::update
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    linkageType: ''
    returnType: void
    signature: void ISO_9796_DS3::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: Botan::ISO_9796_DS3::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ISO_9796_DS3::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iso9796_encoding
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - output_bits
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: Botan::ISO_9796_DS3::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - iso9796_encoding
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ISO_9796_DS3::encoding_of(std::span<const uint8_t>
      msg,\n                                               size_t output_bits,\n                                               RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iso9796_verification
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - const_coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: Botan::ISO_9796_DS3::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - iso9796_verification
    linkageType: ''
    returnType: bool
    signature: bool ISO_9796_DS3::verify(std::span<const uint8_t> const_coded, std::span<const
      uint8_t> raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:277,1
    - Dst: Botan::ISO_9796_DS3::name
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: Botan::ISO_9796_DS3::name
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::ISO_9796_DS3::name
    linkageType: ''
    returnType: std::string
    signature: std::string ISO_9796_DS3::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: Botan::EME_Raw::EME_Raw
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EME_Raw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:18,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:19,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:19,1
    - Dst: Botan::EME_Raw::maximum_input_size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:19,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:20,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:20,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:20,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:21,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:21,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:21,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - output
    - input
    - key_length
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: Botan::EME_Raw::pad
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::span<uint8_t>::size
    - std::span<uint8_t>::first
    - copy_mem
    - std::span<const uint8_t>::size
    - Botan::EME_Raw::maximum_input_size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: "size_t EME_Raw::pad(std::span<uint8_t> output,\n                    std::span<const
      uint8_t> input,\n                    size_t key_length,\n                    RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:26,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:26,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:26,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:28,1
    - Dst: CT::Option<size_t>
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:29,1
    - Dst: Botan::CT::copy_output
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:33,1
    - Dst: Botan::CT::Choice::yes
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: Botan::EME_Raw::unpad
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - CT::Option<size_t>
    - std::span<const uint8_t>::size
    - BOTAN_ASSERT_NOMSG
    - Botan::CT::copy_output
    - Botan::CT::Choice::yes
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: CT::Option<size_t>
    signature: CT::Option<size_t> EME_Raw::unpad(std::span<uint8_t> output, std::span<const
      uint8_t> input) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::EME_Raw::maximum_input_size
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t EME_Raw::maximum_input_size(size_t keybits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:27,1
    - Dst: Botan::OAEP::maximum_input_size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:27,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:28,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:33,1
    - Dst: randomize
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:38,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:38,1
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:38,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:39,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:40,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:40,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:40,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:41,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:42,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:43,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:43,1
    - Dst: mgf1_mask
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:47,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:47,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:47,1
    - Dst: mgf1_mask
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:49,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:49,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - output
    - input
    - key_length
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 52
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 52
    functionName: Botan::OAEP::pad
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::subspan
    - std::span<uint8_t>::first
    - randomize
    - Botan::OAEP::maximum_input_size
    - BufferStuffer::append
    - std::span<const uint8_t>::size
    - Invalid_Argument
    - size
    - BufferStuffer::next
    - BufferStuffer::full
    - BOTAN_ASSERT_NOMSG
    - mgf1_mask
    - BufferStuffer::remaining_capacity
    linkageType: ''
    returnType: size_t
    signature: "size_t OAEP::pad(std::span<uint8_t> output,\n                 std::span<const
      uint8_t> input,\n                 size_t key_length,\n                 RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:58,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:58,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:58,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:80,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:84,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:86,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:88,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:88,1
    - Dst: mgf1_mask
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:93,1
    - Dst: auto::subspan
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:93,1
    - Dst: auto::first
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:93,1
    - Dst: mgf1_mask
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:95,1
    - Dst: auto::first
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:95,1
    - Dst: auto::subspan
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:95,1
    - Dst: oaep_find_delim
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:97,1
    - Dst: Botan::CT::copy_output
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:99,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:99,1
    - Dst: auto::value_or
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 100
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 100
    functionName: Botan::OAEP::unpad
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp
    functionUses: 0
    functionsReached:
    - auto::subspan
    - std::span<uint8_t>::size
    - auto::first
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::CT::scoped_poison
    - oaep_find_delim
    - auto::value_or
    - BOTAN_ASSERT_NOMSG
    - auto::has_value
    - Botan::CT::copy_output
    - mgf1_mask
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: CT::Option<size_t>
    signature: CT::Option<size_t> OAEP::unpad(std::span<uint8_t> output, std::span<const
      uint8_t> input) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:104,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:104,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:109,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:110,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:112,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:112,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:113,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:114,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:120,1
    - Dst: Botan::CT::is_not_equal
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:129,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:129,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:129,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:129,1
    - Dst: CT::Mask::as_choice
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:133,1
    - Dst: Botan::CT::Option::Option
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - input
    - phash
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 136
    functionName: Botan::oaep_find_delim
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::CT::Option::Option
    - Botan::CT::Mask::cleared
    - std::span<const uint8_t>::subspan
    - cryptofuzz::module::EC_POINT_Copier::set
    - std::span<const uint8_t>::size
    - cryptofuzz_secp256k1_scalar_is_zero
    - CT::Mask::as_choice
    - std::span<const uint8_t>::data
    - auto::if_set_return
    - Botan::CT::is_not_equal
    linkageType: ''
    returnType: CT::Option<size_t>
    signature: CT::Option<size_t> oaep_find_delim(std::span<const uint8_t> input,
      std::span<const uint8_t> phash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:142,1
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: Botan::OAEP::maximum_input_size
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t OAEP::maximum_input_size(size_t keybits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:149,1
    - Dst: process
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - P
    argTypes:
    - std::unique_ptr<HashFunction>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan::OAEP::OAEP
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - process
    linkageType: ''
    returnType: void
    signature: void OAEP::OAEP(std::unique_ptr<HashFunction> hash, std::string_view
      P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:154,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:155,1
    - Dst: auto::process
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hash
    - mgf1_hash
    - P
    argTypes:
    - std::unique_ptr<HashFunction>
    - std::unique_ptr<HashFunction>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: Botan::OAEP::OAEP
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - auto::process
    linkageType: ''
    returnType: void
    signature: void OAEP::OAEP(std::unique_ptr<HashFunction> hash, std::unique_ptr<HashFunction>
      mgf1_hash, std::string_view P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:15,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:15,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Botan::RawHashFunction::add_data
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void RawHashFunction::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:19,1
    - Dst: Botan::RawHashFunction::clear
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:20,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:21,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:21,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:22,1
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:22,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:25,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:25,1
    - Dst: data
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:25,1
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:25,1
    - Dst: Botan::RawHashFunction::clear
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: Botan::RawHashFunction::final_result
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - data
    - copy_mem
    - Invalid_Argument
    - std::span<uint8_t>::data
    - size
    - Botan::RawHashFunction::clear
    linkageType: ''
    returnType: void
    signature: void RawHashFunction::final_result(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RawHashFunction::clear
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::RawHashFunction::clear
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp
    functionUses: 2
    functionsReached:
    - Botan::RawHashFunction::clear
    linkageType: ''
    returnType: void
    signature: void RawHashFunction::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RawHashFunction>
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::RawHashFunction::copy_state
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RawHashFunction>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> RawHashFunction::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RawHashFunction>
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::RawHashFunction::new_object
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RawHashFunction>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> RawHashFunction::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: Botan::RawHashFunction::output_length
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t RawHashFunction::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HashFunction>::name
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.h:25,1
    - Dst: std::unique_ptr<HashFunction>::output_length
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::RawHashFunction::RawHashFunction
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<HashFunction>::name
    - std::unique_ptr<HashFunction>::output_length
    linkageType: ''
    returnType: void
    signature: void RawHashFunction(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - output_length
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::RawHashFunction::RawHashFunction
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawHashFunction(std::string_view name, size_t output_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::RawHashFunction::name
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mgf1_mask
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.h:29,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.h:29,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.h:29,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.h:29,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' hash'
    - input
    - output
    argTypes:
    - HashFunction
    - std::span<const uint8_t>
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::mgf1_mask
    functionSourceFile: /src/botan/src/lib/pk_pad/mgf1/mgf1.h
    functionUses: 5
    functionsReached:
    - std::span<uint8_t>::size
    - Botan::mgf1_mask
    - std::span<const uint8_t>::size
    - std::span<uint8_t>::data
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void mgf1_mask(HashFunction& hash, std::span<const uint8_t> input,
      std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:19,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:21,1
    - Dst: update_be
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:22,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:23,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:23,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:26,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ' hash'
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - HashFunction
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 16
    functionDepth: 5
    functionLinenumber: 16
    functionLinenumberEnd: 32
    functionName: Botan::mgf1_mask
    functionSourceFile: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp
    functionUses: 5
    functionsReached:
    - std::vector::data
    - update_be
    - Botan::xor_buf
    - Botan::update
    - Botan::final
    - output_length
    linkageType: ''
    returnType: void
    signature: void mgf1_mask(HashFunction& hash, const uint8_t in[], size_t in_len,
      uint8_t out[], size_t out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan::EMSA_Raw::EMSA_Raw
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EMSA_Raw(size_t expected_hash_size = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::EMSA_Raw::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: Botan::EMSA_Raw::name
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string EMSA_Raw::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan::EMSA_Raw::update
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void EMSA_Raw::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:35,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:36,1
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:37,1
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:39,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: Botan::EMSA_Raw::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - std::swap
    - Invalid_Argument
    - size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EMSA_Raw::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:53,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:54,1
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:55,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:57,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:60,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:60,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: Botan::EMSA_Raw::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - std::vector<uint8_t>
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> EMSA_Raw::encoding_of(std::span<const uint8_t>
      msg,\n                                           size_t /*output_bits*/,\n                                           RandomNumberGenerator&
      /*rng*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:67,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:71,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:71,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:74,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:74,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:75,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:75,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:75,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:75,1
    - Dst: as_bool
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:76,1
    - Dst: constant_time_compare
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - coded
    - raw
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: Botan::EMSA_Raw::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - constant_time_compare
    - std::span<const uint8_t>::size
    - Botan::CT::all_zeros
    - std::span<const uint8_t>::data
    - as_bool
    linkageType: ''
    returnType: bool
    signature: bool EMSA_Raw::verify(std::span<const uint8_t> coded, std::span<const
      uint8_t> raw, size_t /*key_bits*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:28,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:29,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:32,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:40,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:41,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:41,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:41,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:42,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:43,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:44,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:45,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:46,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - msg
    - output_bits
    - empty_hash
    - hash_id
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - std::span<const uint8_t>
    - uint8_t
    constantsTouched: []
    func_position:
      end: 49
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 49
    functionName: Botan::emsa2_encoding
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 0
    functionsReached:
    - Encoding_Error
    - BufferStuffer::remaining_capacity
    - BufferStuffer::append
    - std::span<const uint8_t>::size
    - BufferStuffer::full
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> emsa2_encoding(std::span<const uint8_t> msg,\n
      \                                   size_t output_bits,\n                                    std::span<const
      uint8_t> empty_hash,\n                                    uint8_t hash_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:54,1
    - Dst: Botan::EMSA_X931::name
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::EMSA_X931::name
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::EMSA_X931::name
    linkageType: ''
    returnType: std::string
    signature: std::string EMSA_X931::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA_X931::update
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::EMSA_X931::update
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 1
    functionsReached:
    - Botan::EMSA_X931::update
    linkageType: ''
    returnType: void
    signature: void EMSA_X931::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::EMSA_X931::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 0
    functionsReached:
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EMSA_X931::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emsa2_encoding
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - output_bits
    argTypes:
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Botan::EMSA_X931::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 0
    functionsReached:
    - emsa2_encoding
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> EMSA_X931::encoding_of(std::span<const uint8_t>
      msg,\n                                            size_t output_bits,\n                                            RandomNumberGenerator&
      /*rng*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emsa2_encoding
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:79,1
    - Dst: constant_time_compare
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: Botan::EMSA_X931::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 0
    functionsReached:
    - emsa2_encoding
    - constant_time_compare
    linkageType: ''
    returnType: bool
    signature: bool EMSA_X931::verify(std::span<const uint8_t> coded, std::span<const
      uint8_t> raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:89,1
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:90,1
    - Dst: ieee1363_hash_id
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:92,1
    - Dst: Botan::EMSA_X931::name
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:92,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:95,1
    - Dst: Botan::EMSA_X931::name
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: Botan::EMSA_X931::EMSA_X931
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Encoding_Error
    - final_stdvec
    - Botan::EMSA_X931::name
    - ieee1363_hash_id
    linkageType: ''
    returnType: void
    signature: void EMSA_X931::EMSA_X931(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA_X931::name
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::EMSA_X931::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.h
    functionUses: 0
    functionsReached:
    - Botan::EMSA_X931::name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA_PKCS1v15::name
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::EMSA_PKCS1v15::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.h
    functionUses: 0
    functionsReached:
    - Botan::EMSA_PKCS1v15::name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::EMSA_PKCS1v15_Raw::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:24,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:24,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:25,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:31,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:32,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:32,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:32,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:32,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:33,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:34,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:35,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:36,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - msg
    - output_bits
    - hash_id
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: Botan::pkcs1v15_sig_encoding
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - Encoding_Error
    - BufferStuffer::remaining_capacity
    - BufferStuffer::append
    - std::span<const uint8_t>::size
    - BufferStuffer::full
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> pkcs1v15_sig_encoding(std::span<const uint8_t>
      msg,\n                                           size_t output_bits,\n                                           std::span<const
      uint8_t> hash_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA_PKCS1v15::update
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::EMSA_PKCS1v15::update
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 1
    functionsReached:
    - Botan::EMSA_PKCS1v15::update
    linkageType: ''
    returnType: void
    signature: void EMSA_PKCS1v15::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::EMSA_PKCS1v15::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EMSA_PKCS1v15::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:54,1
    - Dst: output_length
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:54,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:55,1
    - Dst: pkcs1v15_sig_encoding
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - output_bits
    argTypes:
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: Botan::EMSA_PKCS1v15::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - pkcs1v15_sig_encoding
    - std::span<const uint8_t>::size
    - Encoding_Error
    - output_length
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> EMSA_PKCS1v15::encoding_of(std::span<const uint8_t>
      msg,\n                                                size_t output_bits,\n
      \                                               RandomNumberGenerator& /*rng*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:62,1
    - Dst: output_length
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:62,1
    - Dst: pkcs1v15_sig_encoding
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:67,1
    - Dst: constant_time_compare
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: Botan::EMSA_PKCS1v15::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - pkcs1v15_sig_encoding
    - std::span<const uint8_t>::size
    - constant_time_compare
    - output_length
    linkageType: ''
    returnType: bool
    signature: bool EMSA_PKCS1v15::verify(std::span<const uint8_t> coded, std::span<const
      uint8_t> raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:74,1
    - Dst: pkcs_hash_id
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:75,1
    - Dst: Botan::EMSA_PKCS1v15::name
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::EMSA_PKCS1v15::EMSA_PKCS1v15
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - pkcs_hash_id
    - Botan::EMSA_PKCS1v15::name
    linkageType: ''
    returnType: void
    signature: void EMSA_PKCS1v15::EMSA_PKCS1v15(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA_PKCS1v15::name
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Botan::EMSA_PKCS1v15::name
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 3
    functionsReached:
    - Botan::EMSA_PKCS1v15::name
    linkageType: ''
    returnType: std::string
    signature: std::string EMSA_PKCS1v15::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: Botan::EMSA_PKCS1v15_Raw::name
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string EMSA_PKCS1v15_Raw::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: Botan::EMSA_PKCS1v15_Raw::EMSA_PKCS1v15_Raw
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EMSA_PKCS1v15_Raw::EMSA_PKCS1v15_Raw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs_hash_id
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:97,1
    - Dst: std::unique_ptr::name
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:98,1
    - Dst: std::unique_ptr::output_length
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hash_algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: Botan::EMSA_PKCS1v15_Raw::EMSA_PKCS1v15_Raw
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - pkcs_hash_id
    - std::unique_ptr::name
    - std::unique_ptr::output_length
    linkageType: ''
    returnType: void
    signature: void EMSA_PKCS1v15_Raw::EMSA_PKCS1v15_Raw(std::string_view hash_algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Botan::EMSA_PKCS1v15_Raw::update
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void EMSA_PKCS1v15_Raw::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:108,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:110,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: Botan::EMSA_PKCS1v15_Raw::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::swap
    - Encoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EMSA_PKCS1v15_Raw::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1v15_sig_encoding
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - output_bits
    argTypes:
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: Botan::EMSA_PKCS1v15_Raw::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - pkcs1v15_sig_encoding
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> EMSA_PKCS1v15_Raw::encoding_of(std::span<const
      uint8_t> msg,\n                                                    size_t output_bits,\n
      \                                                   RandomNumberGenerator& /*rng*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:124,1
    - Dst: pkcs1v15_sig_encoding
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:129,1
    - Dst: constant_time_compare
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: Botan::EMSA_PKCS1v15_Raw::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - pkcs1v15_sig_encoding
    - std::span<const uint8_t>::size
    - constant_time_compare
    linkageType: ''
    returnType: bool
    signature: bool EMSA_PKCS1v15_Raw::verify(std::span<const uint8_t> coded, std::span<const
      uint8_t> raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: Botan::EME_PKCS1v15
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_FUZZER_API
    signature: class BOTAN_FUZZER_API EME_PKCS1v15
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:28,1
    - Dst: Botan::EME_PKCS1v15::maximum_input_size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:28,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:29,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:40,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:42,1
    - Dst: next_nonzero_byte
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:42,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:44,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:45,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:47,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - output
    - input
    - key_length
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 48
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: Botan::EME_PKCS1v15::pad
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - BufferStuffer::append
    - Botan::EME_PKCS1v15::maximum_input_size
    - std::span<const uint8_t>::size
    - Invalid_Argument
    - next_nonzero_byte
    - BufferStuffer::remaining_capacity
    linkageType: ''
    returnType: size_t
    signature: "size_t EME_PKCS1v15::pad(std::span<uint8_t> output,\n                         std::span<const
      uint8_t> input,\n                         size_t key_length,\n                         RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:54,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:54,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:54,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:62,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:66,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:68,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:69,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:72,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:73,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:75,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:76,1
    - Dst: CT::Mask::if_not_set_return
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:77,1
    - Dst: CT::Mask<uint8_t>
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:88,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:88,1
    - Dst: CT::Mask::as_choice
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:90,1
    - Dst: Botan::CT::copy_output
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 93
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 93
    functionName: Botan::EME_PKCS1v15::unpad
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - std::span<uint8_t>::size
    - Botan::bigint_ct_is_lt
    - Botan::CT::Mask::cleared
    - CT::Mask<uint8_t>
    - std::span<const uint8_t>::size
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::CT::scoped_poison
    - CT::Mask::as_choice
    - Botan::CT::copy_output
    - CT::Mask::if_not_set_return
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: CT::Option<size_t>
    signature: CT::Option<size_t> EME_PKCS1v15::unpad(std::span<uint8_t> output, std::span<const
      uint8_t> input) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Botan::EME_PKCS1v15::maximum_input_size
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t EME_PKCS1v15::maximum_input_size(size_t keybits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:56,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:56,1
    - Dst: std::make_unique<BLAKE2bMAC>
      Src: /src/botan/src/lib/mac/mac.cpp:57,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/mac/mac.cpp:57,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:62,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/mac/mac.cpp:62,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:63,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/mac/mac.cpp:64,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/mac/mac.cpp:64,1
    - Dst: std::make_unique<GMAC>
      Src: /src/botan/src/lib/mac/mac.cpp:65,1
    - Dst: std::move
      Src: /src/botan/src/lib/mac/mac.cpp:65,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:72,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/mac/mac.cpp:72,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:73,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/mac/mac.cpp:74,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/mac/mac.cpp:74,1
    - Dst: std::make_unique<HMAC>
      Src: /src/botan/src/lib/mac/mac.cpp:75,1
    - Dst: std::move
      Src: /src/botan/src/lib/mac/mac.cpp:75,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:82,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/mac/mac.cpp:82,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:83,1
    - Dst: std::make_unique<Poly1305>
      Src: /src/botan/src/lib/mac/mac.cpp:84,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:90,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:91,1
    - Dst: std::make_unique<SipHash>
      Src: /src/botan/src/lib/mac/mac.cpp:92,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/mac/mac.cpp:92,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/mac/mac.cpp:92,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:98,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:98,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/mac/mac.cpp:98,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:99,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/mac/mac.cpp:100,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/mac/mac.cpp:100,1
    - Dst: std::make_unique<CMAC>
      Src: /src/botan/src/lib/mac/mac.cpp:101,1
    - Dst: std::move
      Src: /src/botan/src/lib/mac/mac.cpp:101,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:108,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:109,1
    - Dst: std::make_unique<ANSI_X919_MAC>
      Src: /src/botan/src/lib/mac/mac.cpp:110,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:116,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:117,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/mac/mac.cpp:118,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/mac/mac.cpp:119,1
    - Dst: std::make_unique<KMAC128>
      Src: /src/botan/src/lib/mac/mac.cpp:122,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/mac/mac.cpp:122,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:126,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:127,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/mac/mac.cpp:128,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/mac/mac.cpp:129,1
    - Dst: std::make_unique<KMAC256>
      Src: /src/botan/src/lib/mac/mac.cpp:132,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/mac/mac.cpp:132,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/mac/mac.cpp:137,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/mac/mac.cpp:138,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 59
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 141
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 141
    functionName: Botan::MessageAuthenticationCode::create
    functionSourceFile: /src/botan/src/lib/mac/mac.cpp
    functionUses: 21
    functionsReached:
    - std::move
    - std::make_unique<Poly1305>
    - SCAN_Name::arg
    - Botan::HashFunction::create
    - std::make_unique<HMAC>
    - std::string_view::empty
    - std::make_unique<BLAKE2bMAC>
    - std::make_unique<GMAC>
    - SCAN_Name::algo_name
    - std::make_unique<KMAC256>
    - SCAN_Name::arg_count
    - BOTAN_UNUSED
    - std::make_unique<SipHash>
    - std::make_unique<CMAC>
    - SCAN_Name::arg_as_integer
    - std::make_unique<ANSI_X919_MAC>
    - std::make_unique<KMAC128>
    - Invalid_Argument
    - Botan::BlockCipher::create
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: "std::unique_ptr<MessageAuthenticationCode> MessageAuthenticationCode::create(std::string_view
      algo_spec,\n                                                                             std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<MessageAuthenticationCode>
      Src: /src/botan/src/lib/mac/mac.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Botan::MessageAuthenticationCode::providers
    functionSourceFile: /src/botan/src/lib/mac/mac.cpp
    functionUses: 3
    functionsReached:
    - probe_providers_of<MessageAuthenticationCode>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> MessageAuthenticationCode::providers(std::string_view
      algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/mac/mac.cpp:150,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/mac/mac.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: Botan::MessageAuthenticationCode::create_or_throw
    functionSourceFile: /src/botan/src/lib/mac/mac.cpp
    functionUses: 35
    functionsReached:
    - Lookup_Error
    - Botan::MessageAuthenticationCode::create
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: "std::unique_ptr<MessageAuthenticationCode> MessageAuthenticationCode::create_or_throw(std::string_view
      algo,\n                                                                                      std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/mac/mac.cpp:157,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/mac/mac.cpp:158,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/mac/mac.cpp:159,1
    - Dst: name
      Src: /src/botan/src/lib/mac/mac.cpp:159,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/mac.cpp:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: Botan::MessageAuthenticationCode::start_msg
    functionSourceFile: /src/botan/src/lib/mac/mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Invalid_IV_Length
    - name
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void MessageAuthenticationCode::start_msg(std::span<const uint8_t>
      nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/mac/mac.cpp:167,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/mac/mac.cpp:169,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/mac.cpp:169,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/mac/mac.cpp:173,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/mac/mac.cpp:173,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/mac/mac.cpp:173,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/mac.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: Botan::MessageAuthenticationCode::verify_mac_result
    functionSourceFile: /src/botan/src/lib/mac/mac.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - std::span<const uint8_t>::size
    - final
    - std::span<const uint8_t>::data
    - secure_vector::size
    - secure_vector::data
    linkageType: ''
    returnType: bool
    signature: bool MessageAuthenticationCode::verify_mac_result(std::span<const uint8_t>
      mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ~MessageAuthenticationCode() override
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MessageAuthenticationCode() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::start_msg
      Src: /src/botan/src/lib/mac/mac.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::start
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached:
    - Botan::start_msg
    linkageType: ''
    returnType: void
    signature: void start(std::span<const uint8_t> nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::start_msg
      Src: /src/botan/src/lib/mac/mac.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan::start
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached:
    - Botan::start_msg
    linkageType: ''
    returnType: void
    signature: void start(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::start_msg
      Src: /src/botan/src/lib/mac/mac.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::start
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached:
    - Botan::start_msg
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_mac_result
      Src: /src/botan/src/lib/mac/mac.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::verify_mac
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached:
    - verify_mac_result
    linkageType: ''
    returnType: bool
    signature: bool verify_mac(const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_mac_result
      Src: /src/botan/src/lib/mac/mac.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::verify_mac
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached:
    - verify_mac_result
    linkageType: ''
    returnType: bool
    signature: bool verify_mac(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/mac/mac.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::clone
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    linkageType: ''
    returnType: MessageAuthenticationCode
    signature: MessageAuthenticationCode * clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Botan::provider
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::fresh_key_required_per_message
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fresh_key_required_per_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::GMAC::GMAC
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GMAC(const GMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(const GMAC&)'
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GMAC
    signature: GMAC & operator=(const GMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:19,1
    - Dst: std::make_unique<GHASH>
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: Botan::GMAC::GMAC
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<GHASH>
    linkageType: ''
    returnType: void
    signature: void GMAC::GMAC(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GMAC::clear
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:22,1
    - Dst: Botan::GMAC::clear
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:23,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: Botan::GMAC::clear
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::GMAC::clear
    - zeroise
    linkageType: ''
    returnType: void
    signature: void GMAC::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: GMAC::~GMAC()
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GMAC::~GMAC()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GMAC::key_spec
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::GMAC::key_spec
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::GMAC::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification GMAC::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:35,1
    - Dst: Botan::GMAC::name
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::GMAC::name
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::GMAC::name
    linkageType: ''
    returnType: std::string
    signature: std::string GMAC::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::GMAC::output_length
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GMAC::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_associated_data
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::GMAC::add_data
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached:
    - update_associated_data
    linkageType: ''
    returnType: void
    signature: void GMAC::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GMAC::has_keying_material
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::GMAC::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::GMAC::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool GMAC::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GMAC::clear
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:51,1
    - Dst: set_key
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:52,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:54,1
    - Dst: set_key
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: Botan::GMAC::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached:
    - Botan::GMAC::clear
    - encrypt
    - set_key
    linkageType: ''
    returnType: void
    signature: void GMAC::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:61,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:62,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:62,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:62,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:62,1
    - Dst: nonce_hash
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:65,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:68,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:68,1
    - Dst: start
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: Botan::GMAC::start_msg
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - start
    - copy_mem
    - nonce_hash
    - std::span<const uint8_t>::size
    - encrypt
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void GMAC::start_msg(std::span<const uint8_t> nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:78,1
    - Dst: final
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:81,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:81,1
    - Dst: Botan::GMAC::output_length
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:81,1
    - Dst: set_key
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: Botan::GMAC::final_result
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - std::span<uint8_t>::first
    - Invalid_State
    - Botan::GMAC::output_length
    - final
    linkageType: ''
    returnType: void
    signature: void GMAC::final_result(std::span<uint8_t> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GMAC>
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:86,1
    - Dst: Botan::GMAC::new_object
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::GMAC::new_object
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::GMAC::new_object
    - std::make_unique<GMAC>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> GMAC::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::Poly1305::name
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Poly1305>
      Src: /src/botan/src/lib/mac/poly1305/poly1305.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::Poly1305::new_object
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Poly1305>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Poly1305::output_length
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/mac/poly1305/poly1305.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::Poly1305::key_spec
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::Poly1305::fresh_key_required_per_message
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fresh_key_required_per_message() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:38,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' X'
    - key
    argTypes:
    - secure_vector<uint64_t>
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 40
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 40
    functionName: Botan::poly1305_init
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    linkageType: ''
    returnType: void
    signature: void poly1305_init(secure_vector<uint64_t>& X, const uint8_t key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:71,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:71,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:71,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:74,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:74,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:74,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:77,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:77,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:77,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ' X'
    - m
    - blocks
    argTypes:
    - secure_vector<uint64_t>
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 94
    functionName: Botan::poly1305_blocks
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - Botan::carry_shift
    - uint128_t
    linkageType: ''
    returnType: void
    signature: void poly1305_blocks(secure_vector<uint64_t>& X, const uint8_t* m,
      size_t blocks, bool is_final = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:135,1
    - Dst: auto::select
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:136,1
    - Dst: auto::select
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:137,1
    - Dst: auto::select
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:138,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:157,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:160,1
    - Dst: data
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:160,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 2
    argNames:
    - ' X'
    - mac
    argTypes:
    - secure_vector<uint64_t>
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 161
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 161
    functionName: Botan::poly1305_finish
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    - Botan::store_le
    - data
    - Botan::clear_mem
    - auto::select
    - Botan::size
    linkageType: ''
    returnType: void
    signature: void poly1305_finish(secure_vector<uint64_t>& X, uint8_t mac[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:166,1
    - Dst: Botan::Poly1305::clear
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: Botan::Poly1305::clear
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 1
    functionsReached:
    - zap
    - Botan::Poly1305::clear
    linkageType: ''
    returnType: void
    signature: void Poly1305::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: Botan::Poly1305::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Poly1305::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Poly1305::clear
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:175,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:176,1
    - Dst: poly1305_init
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:178,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: Botan::Poly1305::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - resize
    - Botan::Poly1305::clear
    - poly1305_init
    linkageType: ''
    returnType: void
    signature: void Poly1305::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:182,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:186,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:187,1
    - Dst: poly1305_blocks
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:188,1
    - Dst: auto::data
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:188,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:191,1
    - Dst: poly1305_blocks
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:194,1
    - Dst: data
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: Botan::Poly1305::add_data
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - poly1305_blocks
    - in_alignment
    - data
    - handle_unaligned_data
    - BufferSlicer::empty
    - auto::data
    linkageType: ''
    returnType: void
    signature: void Poly1305::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:201,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:203,1
    - Dst: append
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:205,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:206,1
    - Dst: poly1305_blocks
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:207,1
    - Dst: consume
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:207,1
    - Dst: poly1305_finish
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:210,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:210,1
    - Dst: Botan::Poly1305::clear
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:212,1
    - Dst: Botan::Poly1305::clear
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: Botan::Poly1305::final_result
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - poly1305_blocks
    - in_alignment
    - append
    - poly1305_finish
    - std::span<uint8_t>::data
    - Botan::Poly1305::clear
    - fill_up_with_zeros
    - consume
    linkageType: ''
    returnType: void
    signature: void Poly1305::final_result(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:19,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:23,1
    - Dst: std::min
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:23,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:23,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:24,1
    - Dst: auto::data
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:24,1
    - Dst: auto::size
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:24,1
    - Dst: auto::size
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:25,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:31,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:32,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:33,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:33,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:34,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:37,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:37,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:38,1
    - Dst: auto::data
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:38,1
    - Dst: auto::size
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:38,1
    - Dst: auto::size
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: Botan::ANSI_X919_MAC::add_data
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - BufferSlicer::remaining
    - BufferSlicer::take
    - auto::data
    - encrypt
    - auto::size
    - std::min
    - xor_buf
    linkageType: ''
    returnType: void
    signature: void ANSI_X919_MAC::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:47,1
    - Dst: decrypt
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:49,1
    - Dst: data
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:49,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:49,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:50,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:50,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: Botan::ANSI_X919_MAC::final_result
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 0
    functionsReached:
    - data
    - zeroise
    - encrypt
    - std::span<uint8_t>::data
    - decrypt
    linkageType: ''
    returnType: void
    signature: void ANSI_X919_MAC::final_result(std::span<uint8_t> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ANSI_X919_MAC::has_keying_material
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:56,1
    - Dst: Botan::ANSI_X919_MAC::has_keying_material
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::ANSI_X919_MAC::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 1
    functionsReached:
    - Botan::ANSI_X919_MAC::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool ANSI_X919_MAC::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:63,1
    - Dst: set_key
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:65,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:65,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:67,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:68,1
    - Dst: set_key
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:71,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: Botan::ANSI_X919_MAC::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::last
    - set_key
    - std::span<const uint8_t>::first
    - std::span<const uint8_t>::size
    - resize
    linkageType: ''
    returnType: void
    signature: void ANSI_X919_MAC::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ANSI_X919_MAC::clear
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:78,1
    - Dst: Botan::ANSI_X919_MAC::clear
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:79,1
    - Dst: zap
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: Botan::ANSI_X919_MAC::clear
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 1
    functionsReached:
    - zap
    - Botan::ANSI_X919_MAC::clear
    linkageType: ''
    returnType: void
    signature: void ANSI_X919_MAC::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::ANSI_X919_MAC::name
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ANSI_X919_MAC::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ANSI_X919_MAC>
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::ANSI_X919_MAC::new_object
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ANSI_X919_MAC>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> ANSI_X919_MAC::new_object()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:95,1
    - Dst: Botan::ANSI_X919_MAC::new_object
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::ANSI_X919_MAC::ANSI_X919_MAC
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 0
    functionsReached:
    - Botan::ANSI_X919_MAC::new_object
    - Botan::BlockCipher::create
    linkageType: ''
    returnType: void
    signature: void ANSI_X919_MAC::ANSI_X919_MAC()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::ANSI_X919_MAC::output_length
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::ANSI_X919_MAC::key_spec
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::ANSI_X919_MAC::ANSI_X919_MAC
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ANSI_X919_MAC(const ANSI_X919_MAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const ANSI_X919_MAC&)'
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ANSI_X919_MAC
    signature: ANSI_X919_MAC & operator=(const ANSI_X919_MAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:26,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:27,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:30,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:34,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:35,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - M
    - ' V'
    - r
    argTypes:
    - uint64_t
    - secure_vector<uint64_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 46
    functionName: Botan::SipRounds
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void SipRounds(uint64_t M, secure_vector<uint64_t>& V, size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:51,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:54,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:54,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:59,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:60,1
    - Dst: BufferSlicer::take_byte
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:60,1
    - Dst: SipRounds
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:65,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:71,1
    - Dst: SipRounds
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:72,1
    - Dst: load_le<uint64_t>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:72,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:72,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:75,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:76,1
    - Dst: BufferSlicer::take_byte
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 79
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 79
    functionName: Botan::SipHash::add_data
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - static_cast<uint64_t>
    - BufferSlicer::remaining
    - BufferSlicer::take
    - static_cast<uint8_t>
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    - BufferSlicer::take_byte
    - SipRounds
    - load_le<uint64_t>
    linkageType: ''
    returnType: void
    signature: void SipHash::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:82,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:85,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:87,1
    - Dst: SipRounds
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:90,1
    - Dst: SipRounds
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:93,1
    - Dst: store_le
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:97,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 106
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 106
    functionName: Botan::SipHash::final_result
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - static_cast<uint64_t>
    - store_le
    - SipRounds
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void SipHash::final_result(std::span<uint8_t> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::SipHash::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool SipHash::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:116,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: Botan::SipHash::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void SipHash::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:128,1
    - Dst: zap
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: Botan::SipHash::clear
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void SipHash::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: Botan::SipHash::name
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string SipHash::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SipHash>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Botan::SipHash::new_object
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SipHash>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> SipHash::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Botan::SipHash::SipHash
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SipHash(size_t c = 2, size_t d = 4)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::SipHash::output_length
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/mac/siphash/siphash.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::SipHash::key_spec
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:25,1
    - Dst: data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:25,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:25,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:27,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:28,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:29,1
    - Dst: BufferSlicer::skip
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:32,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:33,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:34,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:34,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:35,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:38,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:38,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:39,1
    - Dst: data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:39,1
    - Dst: auto::data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:39,1
    - Dst: auto::size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:39,1
    - Dst: auto::size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:40,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 44
    functionName: Botan::CMAC::add_data
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::skip
    - BufferSlicer::remaining
    - data
    - auto::size
    - copy_mem
    - BufferSlicer::take
    - auto::data
    - std::span<const uint8_t>::size
    - encrypt
    - std::span<const uint8_t>::data
    - xor_buf
    linkageType: ''
    returnType: void
    signature: void CMAC::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:50,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:52,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:53,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:53,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:56,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:56,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:59,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:61,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:61,1
    - Dst: data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:61,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:61,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:63,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: Botan::CMAC::final_result
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::CMAC::output_length
    - copy_mem
    - zeroise
    - encrypt
    - std::span<uint8_t>::data
    - xor_buf
    linkageType: ''
    returnType: void
    signature: void CMAC::final_result(std::span<uint8_t> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CMAC::has_keying_material
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::CMAC::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::CMAC::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool CMAC::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CMAC::clear
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:76,1
    - Dst: set_key
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:77,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:78,1
    - Dst: poly_double_n
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:79,1
    - Dst: data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:79,1
    - Dst: size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:79,1
    - Dst: poly_double_n
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:80,1
    - Dst: data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:80,1
    - Dst: data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:80,1
    - Dst: size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: Botan::CMAC::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - data
    - Botan::CMAC::clear
    - encrypt
    - size
    - poly_double_n
    linkageType: ''
    returnType: void
    signature: void CMAC::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CMAC::clear
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:87,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:88,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:89,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:90,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: Botan::CMAC::clear
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 2
    functionsReached:
    - zeroise
    - Botan::CMAC::clear
    linkageType: ''
    returnType: void
    signature: void CMAC::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:99,1
    - Dst: Botan::CMAC::name
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::CMAC::name
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::CMAC::name
    linkageType: ''
    returnType: std::string
    signature: std::string CMAC::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CMAC>
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:106,1
    - Dst: Botan::CMAC::new_object
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Botan::CMAC::new_object
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::CMAC::new_object
    - std::make_unique<CMAC>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> CMAC::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:112,1
    - Dst: block_size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:112,1
    - Dst: poly_double_supported_size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:113,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:114,1
    - Dst: fmt
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:114,1
    - Dst: Botan::CMAC::name
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:114,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:117,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:117,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:118,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:118,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:119,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:119,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:120,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: Botan::CMAC::CMAC
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - block_size
    - Botan::CMAC::output_length
    - poly_double_supported_size
    - Invalid_Argument
    - fmt
    - resize
    - Botan::CMAC::name
    linkageType: ''
    returnType: void
    signature: void CMAC::CMAC(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::CMAC::output_length
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CMAC::key_spec
      Src: /src/botan/src/lib/mac/cmac/cmac.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::CMAC::key_spec
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.h
    functionUses: 1
    functionsReached:
    - Botan::CMAC::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::CMAC::CMAC
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CMAC(const CMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(const CMAC&)'
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CMAC
    signature: CMAC & operator=(const CMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:21,1
    - Dst: update
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: Botan::HMAC::add_data
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - update
    linkageType: ''
    returnType: void
    signature: void HMAC::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:29,1
    - Dst: final
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:30,1
    - Dst: update
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:31,1
    - Dst: update
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:32,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:32,1
    - Dst: final
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:33,1
    - Dst: update
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: Botan::HMAC::final_result
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - update
    - final
    - std::span<uint8_t>::first
    linkageType: ''
    returnType: void
    signature: void HMAC::final_result(std::span<uint8_t> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: Botan::HMAC::key_spec
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification HMAC::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::HMAC::output_length
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HMAC::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::HMAC::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool HMAC::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HMAC::clear
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:57,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:59,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:60,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:62,1
    - Dst: data
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:62,1
    - Dst: size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:62,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:63,1
    - Dst: data
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:63,1
    - Dst: size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:63,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:82,1
    - Dst: update
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:83,1
    - Dst: final
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:84,1
    - Dst: data
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:84,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:85,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:88,1
    - Dst: first
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:88,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:88,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:89,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:95,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:95,1
    - Dst: auto::select
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:96,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:99,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:99,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:100,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:100,1
    - Dst: update
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 111
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 111
    functionName: Botan::HMAC::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - Botan::HMAC::clear
    - update
    - Botan::bigint_ct_is_lt
    - data
    - copy_mem
    - std::span<const uint8_t>::empty
    - static_cast<uint8_t>
    - std::span<const uint8_t>::size
    - auto::select
    - size
    - Botan::CT::Mask::is_lte
    - auto::if_set_return
    - resize
    - final
    - first
    linkageType: ''
    returnType: void
    signature: void HMAC::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HMAC::clear
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:117,1
    - Dst: zap
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:118,1
    - Dst: zap
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: Botan::HMAC::clear
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 2
    functionsReached:
    - zap
    - Botan::HMAC::clear
    linkageType: ''
    returnType: void
    signature: void HMAC::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:126,1
    - Dst: Botan::HMAC::name
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::HMAC::name
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::HMAC::name
    linkageType: ''
    returnType: std::string
    signature: std::string HMAC::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC>
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:133,1
    - Dst: Botan::HMAC::new_object
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::HMAC::new_object
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::HMAC::new_object
    - std::make_unique<HMAC>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> HMAC::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:140,1
    - Dst: Botan::HMAC::output_length
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:141,1
    - Dst: hash_block_size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:142,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: Botan::HMAC::HMAC
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - hash_block_size
    - BOTAN_ARG_CHECK
    - Botan::HMAC::output_length
    linkageType: ''
    returnType: void
    signature: void HMAC::HMAC(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::HMAC::HMAC
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HMAC(const HMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const HMAC&)'
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HMAC
    signature: HMAC & operator=(const HMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::KMAC::KMAC
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KMAC(const KMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const KMAC&)'
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KMAC
    signature: KMAC & operator=(const KMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:19,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:20,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:21,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cshake
    - output_bit_length
    argTypes:
    - std::unique_ptr<cSHAKE_XOF>
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: Botan::KMAC::KMAC
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ARG_CHECK
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void KMAC::KMAC(std::unique_ptr<cSHAKE_XOF> cshake, size_t output_bit_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: KMAC::~KMAC()
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KMAC::~KMAC()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:28,1
    - Dst: Botan::KMAC::clear
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: Botan::KMAC::clear
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 1
    functionsReached:
    - zap
    - Botan::KMAC::clear
    linkageType: ''
    returnType: void
    signature: void KMAC::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::KMAC::output_length
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t KMAC::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: Botan::KMAC::key_spec
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification KMAC::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::KMAC::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool KMAC::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KMAC::provider
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::KMAC::provider
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::KMAC::provider
    linkageType: ''
    returnType: std::string
    signature: std::string KMAC::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:57,1
    - Dst: start
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:58,1
    - Dst: update
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Botan::KMAC::start_msg
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - start
    - update
    linkageType: ''
    returnType: void
    signature: void KMAC::start_msg(std::span<const uint8_t> nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:64,1
    - Dst: empty
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:64,1
    - Dst: start
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:66,1
    - Dst: update
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: Botan::KMAC::add_data
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - empty
    - update
    - start
    linkageType: ''
    returnType: void
    signature: void KMAC::add_data(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:72,1
    - Dst: update
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:74,1
    - Dst: keccak_int_right_encode
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:74,1
    - Dst: output
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:75,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:75,1
    - Dst: Botan::KMAC::output_length
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:75,1
    - Dst: Botan::KMAC::clear
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: Botan::KMAC::final_result
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - update
    - std::span<uint8_t>::first
    - Botan::KMAC::clear
    - output
    - Botan::KMAC::output_length
    - keccak_int_right_encode
    linkageType: ''
    returnType: void
    signature: void KMAC::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KMAC::clear
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:81,1
    - Dst: keccak_absorb_padded_strings_encoding
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:82,1
    - Dst: block_size
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Botan::KMAC::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - block_size
    - Botan::KMAC::clear
    - keccak_absorb_padded_strings_encoding
    linkageType: ''
    returnType: void
    signature: void KMAC::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<cSHAKE_128_XOF>
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output_bit_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan::KMAC128::KMAC128
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<cSHAKE_128_XOF>
    linkageType: ''
    returnType: void
    signature: void KMAC128::KMAC128(size_t output_bit_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:90,1
    - Dst: output_length
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: Botan::KMAC128::name
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - output_length
    linkageType: ''
    returnType: std::string
    signature: std::string KMAC128::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KMAC128>
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:94,1
    - Dst: output_length
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan::KMAC128::new_object
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KMAC128>
    - output_length
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> KMAC128::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<cSHAKE_256_XOF>
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output_bit_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::KMAC256::KMAC256
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<cSHAKE_256_XOF>
    linkageType: ''
    returnType: void
    signature: void KMAC256::KMAC256(size_t output_bit_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:100,1
    - Dst: output_length
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Botan::KMAC256::name
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - output_length
    linkageType: ''
    returnType: std::string
    signature: std::string KMAC256::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KMAC256>
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:104,1
    - Dst: output_length
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::KMAC256::new_object
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KMAC256>
    - output_length
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> KMAC256::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2bMAC::clear
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::BLAKE2bMAC::clear
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::BLAKE2bMAC::clear
    linkageType: ''
    returnType: void
    signature: void BLAKE2bMAC::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BLAKE2bMAC>
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.cpp:24,1
    - Dst: Botan::BLAKE2bMAC::output_length
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::BLAKE2bMAC::new_object
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.cpp
    functionUses: 0
    functionsReached:
    - Botan::BLAKE2bMAC::output_length
    - std::make_unique<BLAKE2bMAC>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> BLAKE2bMAC::new_object()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::BLAKE2bMAC::BLAKE2bMAC
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLAKE2bMAC::BLAKE2bMAC(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::BLAKE2bMAC::BLAKE2bMAC
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLAKE2bMAC(const BLAKE2bMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(const BLAKE2bMAC&)'
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BLAKE2bMAC
    signature: BLAKE2bMAC & operator=(const BLAKE2bMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2bMAC::name
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::BLAKE2bMAC::name
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 1
    functionsReached:
    - Botan::BLAKE2bMAC::name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2bMAC::output_length
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::BLAKE2bMAC::output_length
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 2
    functionsReached:
    - Botan::BLAKE2bMAC::output_length
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2bMAC::has_keying_material
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::BLAKE2bMAC::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 1
    functionsReached:
    - Botan::BLAKE2bMAC::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2bMAC::key_spec
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::BLAKE2bMAC::key_spec
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 1
    functionsReached:
    - Botan::BLAKE2bMAC::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::BLAKE2bMAC::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void key_schedule(std::span<const uint8_t> key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:43,1
    - Dst: update
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Botan::BLAKE2bMAC::add_data
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - update
    linkageType: ''
    returnType: void
    signature: void add_data(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:48,1
    - Dst: final
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::BLAKE2bMAC::final_result
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - final
    linkageType: ''
    returnType: void
    signature: void final_result(std::span<uint8_t> out) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base58_encode
      Src: /src/botan/src/lib/codec/base58/base58.h:47,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/codec/base58/base58.h:47,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/codec/base58/base58.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::base58_encode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.h
    functionUses: 4
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - Botan::base58_encode
    linkageType: ''
    returnType: std::string
    signature: std::string base58_encode(std::span<const uint8_t> vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base58_check_encode
      Src: /src/botan/src/lib/codec/base58/base58.h:51,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/codec/base58/base58.h:51,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/codec/base58/base58.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::base58_check_encode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.h
    functionUses: 4
    functionsReached:
    - std::span<const uint8_t>::data
    - Botan::base58_check_encode
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::string
    signature: std::string base58_check_encode(std::span<const uint8_t> vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base58_decode
      Src: /src/botan/src/lib/codec/base58/base58.h:55,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base58/base58.h:55,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/base58/base58.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::base58_decode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.h
    functionUses: 3
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - Botan::base58_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> base58_decode(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base58_check_decode
      Src: /src/botan/src/lib/codec/base58/base58.h:59,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base58/base58.h:59,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/base58/base58.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan::base58_check_decode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.h
    functionUses: 3
    functionsReached:
    - Botan::base58_check_decode
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> base58_check_decode(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/codec/base58/base58.cpp:21,1
    - Dst: auto::update
      Src: /src/botan/src/lib/codec/base58/base58.cpp:25,1
    - Dst: auto::final
      Src: /src/botan/src/lib/codec/base58/base58.cpp:26,1
    - Dst: auto::update
      Src: /src/botan/src/lib/codec/base58/base58.cpp:28,1
    - Dst: auto::final
      Src: /src/botan/src/lib/codec/base58/base58.cpp:29,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/codec/base58/base58.cpp:31,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/codec/base58/base58.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: Botan::sha256_d_checksum
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - auto::update
    - Botan::HashFunction::create_or_throw
    - auto::final
    - Botan::load_be
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sha256_d_checksum(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/codec/base58/base58.cpp:36,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/codec/base58/base58.cpp:38,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:39,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:40,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:41,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:42,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:53,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:54,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:55,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:56,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: Botan::lookup_base58_char
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::is_within_range
    - BOTAN_DEBUG_ASSERT
    - auto::select
    - Botan::CT::Mask::is_lte
    linkageType: ''
    returnType: char
    signature: char lookup_base58_char(uint8_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::is_nonzero
      Src: /src/botan/src/lib/codec/base58/base58.cpp:68,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/lib/codec/base58/base58.cpp:70,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/codec/base58/base58.cpp:71,1
    - Dst: Botan::lookup_base58_char
      Src: /src/botan/src/lib/codec/base58/base58.cpp:71,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/codec/base58/base58.cpp:71,1
    - Dst: BigInt::swap
      Src: /src/botan/src/lib/codec/base58/base58.cpp:72,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/codec/base58/base58.cpp:76,1
    - Dst: std::string
      Src: /src/botan/src/lib/codec/base58/base58.cpp:79,1
    - Dst: std::string::rbegin
      Src: /src/botan/src/lib/codec/base58/base58.cpp:79,1
    - Dst: std::string::rend
      Src: /src/botan/src/lib/codec/base58/base58.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - v
    - leading_zeros
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 5
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: Botan::base58_encode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 4
    functionsReached:
    - Botan::ct_divide_word
    - BigInt::is_nonzero
    - std::string::rend
    - BigInt::swap
    - static_cast<uint8_t>
    - std::string
    - std::string::rbegin
    - Botan::lookup_base58_char
    - std::string::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string base58_encode(BigInt v, size_t leading_zeros)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - input_length
    - zero
    argTypes:
    - T[]
    - size_t
    - Z
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: Botan::count_leading_zeros
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t count_leading_zeros(const T input[], size_t input_length, Z
      zero)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:98,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:99,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:100,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:101,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:103,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:104,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:116,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:117,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:118,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:119,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:120,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: Botan::base58_value_of
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::is_within_range
    - auto::select
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t base58_value_of(char input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base58_encode
      Src: /src/botan/src/lib/codec/base58/base58.cpp:129,1
    - Dst: Botan::count_leading_zeros
      Src: /src/botan/src/lib/codec/base58/base58.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: Botan::base58_encode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 5
    functionsReached:
    - Botan::base58_encode
    - Botan::count_leading_zeros
    linkageType: ''
    returnType: std::string
    signature: std::string base58_encode(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha256_d_checksum
      Src: /src/botan/src/lib/codec/base58/base58.cpp:135,1
    - Dst: Botan::base58_encode
      Src: /src/botan/src/lib/codec/base58/base58.cpp:136,1
    - Dst: Botan::count_leading_zeros
      Src: /src/botan/src/lib/codec/base58/base58.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: Botan::base58_check_encode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 4
    functionsReached:
    - Botan::sha256_d_checksum
    - Botan::base58_encode
    - Botan::count_leading_zeros
    linkageType: ''
    returnType: std::string
    signature: std::string base58_check_encode(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/codec/base58/base58.cpp:154,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/codec/base58/base58.cpp:161,1
    - Dst: BigInt::bytes
      Src: /src/botan/src/lib/codec/base58/base58.cpp:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - char[]
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: Botan::base58_decode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 3
    functionsReached:
    - BigInt::serialize
    - Botan::Decoding_Error
    - BigInt::bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> base58_decode(const char input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base58_decode
      Src: /src/botan/src/lib/codec/base58/base58.cpp:165,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/codec/base58/base58.cpp:167,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/codec/base58/base58.cpp:168,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/codec/base58/base58.cpp:175,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/codec/base58/base58.cpp:178,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/codec/base58/base58.cpp:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - char[]
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: Botan::base58_check_decode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 3
    functionsReached:
    - std::vector::size
    - std::vector::resize
    - Botan::Decoding_Error
    - Botan::base58_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> base58_check_decode(const char input[], size_t
      input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::Base64::name
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::Base64::encoding_bytes_in
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encoding_bytes_in() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Base64::encoding_bytes_out
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encoding_bytes_out() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::Base64::decoding_bytes_in
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t decoding_bytes_in() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::Base64::decoding_bytes_out
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t decoding_bytes_out() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::Base64::bits_consumed
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bits_consumed() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::Base64::remaining_bits_before_padding
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t remaining_bits_before_padding() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/codec/base64/base64.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::Base64::encode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t encode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/codec/base64/base64.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::Base64::decode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t decode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out_ptr
    - decode_buf
    argTypes:
    - uint8_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: Botan::Base64::decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void decode(uint8_t* out_ptr, const uint8_t decode_buf[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - final_truncate
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::Base64::bytes_to_remove
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bytes_to_remove(size_t final_truncate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::swar_lt
      Src: /src/botan/src/lib/codec/base64/base64.cpp:85,1
    - Dst: Botan::swar_lt
      Src: /src/botan/src/lib/codec/base64/base64.cpp:86,1
    - Dst: Botan::swar_lt
      Src: /src/botan/src/lib/codec/base64/base64.cpp:87,1
    - Dst: Botan::swar_lt
      Src: /src/botan/src/lib/codec/base64/base64.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x32
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: Botan::lookup_base64_chars
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - Botan::swar_lt
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lookup_base64_chars(uint32_t x32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:104,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:104,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:105,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:105,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:106,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:106,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:107,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - char[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: Botan::Base64::encode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - get_byte<3>
    - get_byte<2>
    - get_byte<1>
    - get_byte<0>
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void Base64::encode(char out[4], const uint8_t in[3]) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swar_in_range<uint64_t>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:131,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:145,1
    - Dst: index_of_first_set_byte
      Src: /src/botan/src/lib/codec/base64/base64.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 146
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 146
    functionName: Botan::Base64::lookup_binary_value
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - swar_in_range<uint64_t>
    - index_of_first_set_byte
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Base64::lookup_binary_value(char input) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/codec/base64/base64.cpp:153,1
    - Dst: fmt
      Src: /src/botan/src/lib/codec/base64/base64.cpp:153,1
    - Dst: format_char_for_display
      Src: /src/botan/src/lib/codec/base64/base64.cpp:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - bin
    - input
    - ignore_ws
    argTypes:
    - uint8_t
    - char
    - bool
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: Botan::Base64::check_bad_char
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - format_char_for_display
    - fmt
    - Invalid_Argument
    linkageType: ''
    returnType: bool
    signature: bool Base64::check_bad_char(uint8_t bin, char input, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_encode
      Src: /src/botan/src/lib/codec/base64/base64.cpp:161,1
    - Dst: Base64
      Src: /src/botan/src/lib/codec/base64/base64.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - input_length
    - ' input_consumed'
    - final_inputs
    argTypes:
    - char[]
    - uint8_t[]
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::base64_encode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 9
    functionsReached:
    - Base64
    - Botan::base_encode
    linkageType: ''
    returnType: size_t
    signature: size_t base64_encode(char out[], const uint8_t in[], size_t input_length,
      size_t& input_consumed, bool final_inputs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_encode_to_string
      Src: /src/botan/src/lib/codec/base64/base64.cpp:165,1
    - Dst: Base64
      Src: /src/botan/src/lib/codec/base64/base64.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 5
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::base64_encode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 9
    functionsReached:
    - Base64
    - Botan::base_encode_to_string
    linkageType: ''
    returnType: std::string
    signature: std::string base64_encode(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_decode
      Src: /src/botan/src/lib/codec/base64/base64.cpp:170,1
    - Dst: Base64
      Src: /src/botan/src/lib/codec/base64/base64.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - out
    - in
    - input_length
    - ' input_consumed'
    - final_inputs
    - ignore_ws
    argTypes:
    - uint8_t[]
    - char[]
    - size_t
    - size_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: Botan::base64_decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 11
    functionsReached:
    - Botan::base_decode
    - Base64
    linkageType: ''
    returnType: size_t
    signature: "size_t base64_decode(\n   uint8_t out[], const char in[], size_t input_length,
      size_t& input_consumed, bool final_inputs, bool ignore_ws)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_decode_full
      Src: /src/botan/src/lib/codec/base64/base64.cpp:174,1
    - Dst: Base64
      Src: /src/botan/src/lib/codec/base64/base64.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - output
    - input
    - input_length
    - ignore_ws
    argTypes:
    - uint8_t[]
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: Botan::base64_decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 11
    functionsReached:
    - Botan::base_decode_full
    - Base64
    linkageType: ''
    returnType: size_t
    signature: size_t base64_decode(uint8_t output[], const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/codec/base64/base64.cpp:178,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base64/base64.cpp:178,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/codec/base64/base64.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - input
    - ignore_ws
    argTypes:
    - uint8_t[]
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: Botan::base64_decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 12
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    - Botan::base64_decode
    linkageType: ''
    returnType: size_t
    signature: size_t base64_decode(uint8_t output[], std::string_view input, bool
      ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/codec/base64/base64.cpp:182,1
    - Dst: Botan::base64_decode_max_output
      Src: /src/botan/src/lib/codec/base64/base64.cpp:182,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/base64/base64.cpp:182,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/codec/base64/base64.cpp:183,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/codec/base64/base64.cpp:185,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/codec/base64/base64.cpp:185,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base64/base64.cpp:185,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/codec/base64/base64.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - output
    - input
    - ignore_ws
    argTypes:
    - std::span<uint8_t>
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: Botan::base64_decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 13
    functionsReached:
    - std::span<uint8_t>::size
    - std::string_view::size
    - std::string_view::data
    - Botan::base64_decode
    - Botan::base64_decode_max_output
    - Invalid_Argument
    - std::span<uint8_t>::data
    - std::string_view::length
    linkageType: ''
    returnType: size_t
    signature: size_t base64_decode(std::span<uint8_t> output, std::string_view input,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_decode_to_vec
      Src: /src/botan/src/lib/codec/base64/base64.cpp:189,1
    - Dst: Base64
      Src: /src/botan/src/lib/codec/base64/base64.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - input_length
    - ignore_ws
    argTypes:
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: Botan::base64_decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 13
    functionsReached:
    - Base64
    - Botan::base_decode_to_vec
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> base64_decode(const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/codec/base64/base64.cpp:193,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base64/base64.cpp:193,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/base64/base64.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ignore_ws
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: Botan::base64_decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 14
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - Botan::base64_decode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> base64_decode(std::string_view input, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base64::encode_max_output
      Src: /src/botan/src/lib/codec/base64/base64.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: Botan::base64_encode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - Botan::Base64::encode_max_output
    linkageType: ''
    returnType: size_t
    signature: size_t base64_encode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base64::decode_max_output
      Src: /src/botan/src/lib/codec/base64/base64.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: Botan::base64_decode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 2
    functionsReached:
    - Botan::Base64::decode_max_output
    linkageType: ''
    returnType: size_t
    signature: size_t base64_decode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/codec/base64/base64.h:48,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/codec/base64/base64.h:48,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/codec/base64/base64.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::base64_encode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.h
    functionUses: 10
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - Botan::base64_encode
    linkageType: ''
    returnType: std::string
    signature: std::string base64_encode(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::Base32::name
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::Base32::encoding_bytes_in
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encoding_bytes_in() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Base32::encoding_bytes_out
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encoding_bytes_out() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::Base32::decoding_bytes_in
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t decoding_bytes_in() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::Base32::decoding_bytes_out
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t decoding_bytes_out() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::Base32::bits_consumed
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bits_consumed() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::Base32::remaining_bits_before_padding
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t remaining_bits_before_padding() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/codec/base32/base32.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::Base32::encode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t encode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/codec/base32/base32.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::Base32::decode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t decode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out_ptr
    - decode_buf
    argTypes:
    - uint8_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: Botan::Base32::decode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void decode(uint8_t* out_ptr, const uint8_t decode_buf[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - final_truncate
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::Base32::bytes_to_remove
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bytes_to_remove(size_t final_truncate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::swar_lt
      Src: /src/botan/src/lib/codec/base32/base32.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: Botan::lookup_base32_char
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - Botan::swar_lt
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t lookup_base32_char(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_base32_char
      Src: /src/botan/src/lib/codec/base32/base32.cpp:94,1
    - Dst: make_uint64
      Src: /src/botan/src/lib/codec/base32/base32.cpp:94,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:96,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:96,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:97,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:97,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:98,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:98,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:99,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:99,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:100,1
    - Dst: get_byte<4>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:100,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:101,1
    - Dst: get_byte<5>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:101,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:102,1
    - Dst: get_byte<6>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:102,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:103,1
    - Dst: get_byte<7>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - char[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: Botan::Base32::encode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - get_byte<3>
    - get_byte<6>
    - get_byte<5>
    - get_byte<2>
    - get_byte<1>
    - static_cast<char>
    - make_uint64
    - get_byte<7>
    - get_byte<0>
    - lookup_base32_char
    - get_byte<4>
    linkageType: ''
    returnType: void
    signature: void Base32::encode(char out[8], const uint8_t in[5]) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base32/base32.cpp:110,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base32/base32.cpp:111,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/codec/base32/base32.cpp:113,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/botan/src/lib/codec/base32/base32.cpp:115,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base32/base32.cpp:122,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base32/base32.cpp:123,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base32/base32.cpp:124,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base32/base32.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 128
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 128
    functionName: Botan::Base32::lookup_binary_value
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::CT::Mask::is_within_range
    - Botan::CT::Mask::is_any_of
    - auto::select
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Base32::lookup_binary_value(char input) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/codec/base32/base32.cpp:135,1
    - Dst: fmt
      Src: /src/botan/src/lib/codec/base32/base32.cpp:135,1
    - Dst: format_char_for_display
      Src: /src/botan/src/lib/codec/base32/base32.cpp:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - bin
    - input
    - ignore_ws
    argTypes:
    - uint8_t
    - char
    - bool
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: Botan::Base32::check_bad_char
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - format_char_for_display
    - fmt
    - Invalid_Argument
    linkageType: ''
    returnType: bool
    signature: bool Base32::check_bad_char(uint8_t bin, char input, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_encode
      Src: /src/botan/src/lib/codec/base32/base32.cpp:143,1
    - Dst: Base32
      Src: /src/botan/src/lib/codec/base32/base32.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - input_length
    - ' input_consumed'
    - final_inputs
    argTypes:
    - char[]
    - uint8_t[]
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::base32_encode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 3
    functionsReached:
    - Botan::base_encode
    - Base32
    linkageType: ''
    returnType: size_t
    signature: size_t base32_encode(char out[], const uint8_t in[], size_t input_length,
      size_t& input_consumed, bool final_inputs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_encode_to_string
      Src: /src/botan/src/lib/codec/base32/base32.cpp:147,1
    - Dst: Base32
      Src: /src/botan/src/lib/codec/base32/base32.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan::base32_encode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 3
    functionsReached:
    - Botan::base_encode_to_string
    - Base32
    linkageType: ''
    returnType: std::string
    signature: std::string base32_encode(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_decode
      Src: /src/botan/src/lib/codec/base32/base32.cpp:152,1
    - Dst: Base32
      Src: /src/botan/src/lib/codec/base32/base32.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - out
    - in
    - input_length
    - ' input_consumed'
    - final_inputs
    - ignore_ws
    argTypes:
    - uint8_t[]
    - char[]
    - size_t
    - size_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: Botan::base32_decode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 4
    functionsReached:
    - Botan::base_decode
    - Base32
    linkageType: ''
    returnType: size_t
    signature: "size_t base32_decode(\n   uint8_t out[], const char in[], size_t input_length,
      size_t& input_consumed, bool final_inputs, bool ignore_ws)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_decode_full
      Src: /src/botan/src/lib/codec/base32/base32.cpp:156,1
    - Dst: Base32
      Src: /src/botan/src/lib/codec/base32/base32.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - output
    - input
    - input_length
    - ignore_ws
    argTypes:
    - uint8_t[]
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: Botan::base32_decode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 4
    functionsReached:
    - Botan::base_decode_full
    - Base32
    linkageType: ''
    returnType: size_t
    signature: size_t base32_decode(uint8_t output[], const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base32_decode
      Src: /src/botan/src/lib/codec/base32/base32.cpp:160,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base32/base32.cpp:160,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/codec/base32/base32.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - input
    - ignore_ws
    argTypes:
    - uint8_t[]
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: Botan::base32_decode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 5
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    - Botan::base32_decode
    linkageType: ''
    returnType: size_t
    signature: size_t base32_decode(uint8_t output[], std::string_view input, bool
      ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_decode_to_vec
      Src: /src/botan/src/lib/codec/base32/base32.cpp:164,1
    - Dst: Base32
      Src: /src/botan/src/lib/codec/base32/base32.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - input_length
    - ignore_ws
    argTypes:
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Botan::base32_decode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 5
    functionsReached:
    - Botan::base_decode_to_vec
    - Base32
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> base32_decode(const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base32_decode
      Src: /src/botan/src/lib/codec/base32/base32.cpp:168,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base32/base32.cpp:168,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/base32/base32.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ignore_ws
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Botan::base32_decode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 6
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - Botan::base32_decode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> base32_decode(std::string_view input, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base32::encode_max_output
      Src: /src/botan/src/lib/codec/base32/base32.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Botan::base32_encode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - Botan::Base32::encode_max_output
    linkageType: ''
    returnType: size_t
    signature: size_t base32_encode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base32::decode_max_output
      Src: /src/botan/src/lib/codec/base32/base32.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: Botan::base32_decode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - Botan::Base32::decode_max_output
    linkageType: ''
    returnType: size_t
    signature: size_t base32_decode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base32_encode
      Src: /src/botan/src/lib/codec/base32/base32.h:48,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/codec/base32/base32.h:48,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/codec/base32/base32.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::base32_encode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.h
    functionUses: 4
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - Botan::base32_encode
    linkageType: ''
    returnType: std::string
    signature: std::string base32_encode(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/lib/codec/hex/hex.h:44,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/codec/hex/hex.h:44,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/codec/hex/hex.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::hex_encode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.h
    functionUses: 47
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string hex_encode(std::span<const uint8_t> input, bool uppercase
      = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n8
    - uppercase
    argTypes:
    - uint8_t
    - bool
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: Botan::hex_encode_2nibble
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t hex_encode_2nibble(uint8_t n8, bool uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/codec/hex/hex.cpp:38,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/codec/hex/hex.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - output
    - input
    - input_length
    - uppercase
    argTypes:
    - char[]
    - uint8_t[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: Botan::hex_encode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 47
    functionsReached:
    - Botan::get_byte
    linkageType: ''
    returnType: void
    signature: void hex_encode(char output[], const uint8_t input[], size_t input_length,
      bool uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/lib/codec/hex/hex.cpp:47,1
    - Dst: std::string::front
      Src: /src/botan/src/lib/codec/hex/hex.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - input
    - input_length
    - uppercase
    argTypes:
    - uint8_t[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: Botan::hex_encode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 48
    functionsReached:
    - std::string::front
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string hex_encode(const uint8_t input[], size_t input_length,
      bool uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/codec/hex/hex.cpp:68,1
    - Dst: Botan::index_of_first_set_byte
      Src: /src/botan/src/lib/codec/hex/hex.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: Botan::hex_char_to_bin
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 0
    functionsReached:
    - Botan::index_of_first_set_byte
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hex_char_to_bin(char input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/codec/hex/hex.cpp:77,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/codec/hex/hex.cpp:87,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/codec/hex/hex.cpp:87,1
    - Dst: Botan::format_char_for_display
      Src: /src/botan/src/lib/codec/hex/hex.cpp:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - output
    - input
    - input_length
    - ' input_consumed'
    - ignore_ws
    argTypes:
    - uint8_t[]
    - char[]
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 115
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 115
    functionName: Botan::hex_decode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 94
    functionsReached:
    - Botan::fmt
    - Botan::format_char_for_display
    - Botan::clear_mem
    - Invalid_Argument
    linkageType: ''
    returnType: size_t
    signature: size_t hex_decode(uint8_t output[], const char input[], size_t input_length,
      size_t& input_consumed, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/codec/hex/hex.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - output
    - input
    - input_length
    - ignore_ws
    argTypes:
    - uint8_t[]
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: Botan::hex_decode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 94
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: size_t
    signature: size_t hex_decode(uint8_t output[], const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/lib/codec/hex/hex.cpp:129,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/hex/hex.cpp:129,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/codec/hex/hex.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - input
    - ignore_ws
    argTypes:
    - uint8_t[]
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::hex_decode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 95
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    - Botan::hex_decode
    linkageType: ''
    returnType: size_t
    signature: size_t hex_decode(uint8_t output[], std::string_view input, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/lib/codec/hex/hex.cpp:133,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/codec/hex/hex.cpp:133,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/hex/hex.cpp:133,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/codec/hex/hex.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - input
    - ignore_ws
    argTypes:
    - std::span<uint8_t>
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::hex_decode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 96
    functionsReached:
    - std::span<uint8_t>::data
    - std::string_view::length
    - std::string_view::data
    - Botan::hex_decode
    linkageType: ''
    returnType: size_t
    signature: size_t hex_decode(std::span<uint8_t> output, std::string_view input,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/codec/hex/hex.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - input
    - input_length
    - ignore_ws
    argTypes:
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: Botan::hex_decode_locked
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 26
    functionsReached:
    - secure_vector::resize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> hex_decode_locked(const char input[], size_t
      input_length, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/lib/codec/hex/hex.cpp:146,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/hex/hex.cpp:146,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/hex/hex.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ignore_ws
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Botan::hex_decode_locked
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 27
    functionsReached:
    - std::string_view::size
    - Botan::hex_decode_locked
    - std::string_view::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> hex_decode_locked(std::string_view input, bool
      ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/codec/hex/hex.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - input
    - input_length
    - ignore_ws
    argTypes:
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: Botan::hex_decode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 96
    functionsReached:
    - std::vector::resize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> hex_decode(const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/lib/codec/hex/hex.cpp:159,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/hex/hex.cpp:159,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/hex/hex.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ignore_ws
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Botan::hex_decode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 97
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> hex_decode(std::string_view input, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/xof/xof.cpp:27,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/xof/xof.cpp:32,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/xof/xof.cpp:32,1
    - Dst: std::make_unique<SHAKE_128_XOF>
      Src: /src/botan/src/lib/xof/xof.cpp:33,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/xof/xof.cpp:35,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/xof/xof.cpp:35,1
    - Dst: std::make_unique<SHAKE_256_XOF>
      Src: /src/botan/src/lib/xof/xof.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: Botan::XOF::create
    functionSourceFile: /src/botan/src/lib/xof/xof.cpp
    functionUses: 2
    functionsReached:
    - SCAN_Name::arg_count
    - std::string_view::empty
    - std::make_unique<SHAKE_128_XOF>
    - std::make_unique<SHAKE_256_XOF>
    - SCAN_Name::algo_name
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> XOF::create(std::string_view algo_spec, std::string_view
      provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XOF::create
      Src: /src/botan/src/lib/xof/xof.cpp:45,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/xof/xof.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: Botan::XOF::create_or_throw
    functionSourceFile: /src/botan/src/lib/xof/xof.cpp
    functionUses: 7
    functionsReached:
    - Lookup_Error
    - Botan::XOF::create
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> XOF::create_or_throw(std::string_view algo_spec,
      std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<XOF>
      Src: /src/botan/src/lib/xof/xof.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::XOF::providers
    functionSourceFile: /src/botan/src/lib/xof/xof.cpp
    functionUses: 3
    functionsReached:
    - probe_providers_of<XOF>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> XOF::providers(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::XOF::provider
    functionSourceFile: /src/botan/src/lib/xof/xof.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string XOF::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_spec
      Src: /src/botan/src/lib/xof/xof.cpp:61,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/xof/xof.cpp:61,1
    - Dst: Invalid_Key_Length
      Src: /src/botan/src/lib/xof/xof.cpp:62,1
    - Dst: name
      Src: /src/botan/src/lib/xof/xof.cpp:62,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/xof/xof.cpp:62,1
    - Dst: valid_salt_length
      Src: /src/botan/src/lib/xof/xof.cpp:65,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/xof/xof.cpp:65,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/xof/xof.cpp:66,1
    - Dst: fmt
      Src: /src/botan/src/lib/xof/xof.cpp:66,1
    - Dst: name
      Src: /src/botan/src/lib/xof/xof.cpp:66,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/xof/xof.cpp:66,1
    - Dst: Botan::XOF::start_msg
      Src: /src/botan/src/lib/xof/xof.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - salt
    - key
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: Botan::XOF::start
    functionSourceFile: /src/botan/src/lib/xof/xof.cpp
    functionUses: 0
    functionsReached:
    - Botan::XOF::start_msg
    - valid_salt_length
    - name
    - std::span<const uint8_t>::size
    - Invalid_Key_Length
    - Invalid_Argument
    - key_spec
    - fmt
    linkageType: ''
    returnType: void
    signature: void XOF::start(std::span<const uint8_t> salt, std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/xof/xof.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - salt
    - key
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Botan::XOF::start_msg
    functionSourceFile: /src/botan/src/lib/xof/xof.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void XOF::start_msg(std::span<const uint8_t> salt, std::span<const
      uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/xof/xof.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan::clear
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 10
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - salt_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: Botan::valid_salt_length
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_salt_length(size_t salt_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/xof/xof.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: Botan::key_spec
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 3
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::start
      Src: /src/botan/src/lib/xof/xof.h:146,1
    - Dst: add_data
      Src: /src/botan/src/lib/xof/xof.h:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: Botan::update
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 26
    functionsReached:
    - add_data
    - Botan::start
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_bytes
      Src: /src/botan/src/lib/xof/xof.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: Botan::output
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 2
    functionsReached:
    - generate_bytes
    linkageType: ''
    returnType: T
    signature: T output(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_bytes
      Src: /src/botan/src/lib/xof/xof.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: Botan::output
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 2
    functionsReached:
    - generate_bytes
    linkageType: ''
    returnType: std::array<uint8_t, count>
    signature: std::array<uint8_t, count> output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::output
      Src: /src/botan/src/lib/xof/xof.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan::output_stdvec
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 0
    functionsReached:
    - Botan::output
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> output_stdvec(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_bytes
      Src: /src/botan/src/lib/xof/xof.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: Botan::output
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 3
    functionsReached:
    - generate_bytes
    linkageType: ''
    returnType: void
    signature: void output(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_bytes
      Src: /src/botan/src/lib/xof/xof.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: Botan::output_next_byte
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 0
    functionsReached:
    - generate_bytes
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t output_next_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AES_256_CTR_XOF
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.h:28,1
    - Dst: std::make_unique<AES_256_CTR_XOF>
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 65
    functionName: Botan::AES_256_CTR_XOF
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.h
    functionUses: 1
    functionsReached:
    - Botan::AES_256_CTR_XOF
    - std::make_unique<AES_256_CTR_XOF>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API AES_256_CTR_XOF
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:17,1
    - Dst: name
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Botan::AES_256_CTR_XOF::AES_256_CTR_XOF
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 1
    functionsReached:
    - Botan::StreamCipher::create_or_throw
    - name
    linkageType: ''
    returnType: void
    signature: void AES_256_CTR_XOF::AES_256_CTR_XOF()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: AES_256_CTR_XOF::~AES_256_CTR_XOF()
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES_256_CTR_XOF::~AES_256_CTR_XOF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::AES_256_CTR_XOF::reset
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void AES_256_CTR_XOF::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:26,1
    - Dst: set_iv
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iv
    - key
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::AES_256_CTR_XOF::start_msg
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached:
    - set_iv
    - set_key
    linkageType: ''
    returnType: void
    signature: void AES_256_CTR_XOF::start_msg(std::span<const uint8_t> iv, std::span<const
      uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_iv_length
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iv_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::AES_256_CTR_XOF::valid_salt_length
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached:
    - valid_iv_length
    linkageType: ''
    returnType: bool
    signature: bool AES_256_CTR_XOF::valid_salt_length(size_t iv_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AES_256_CTR_XOF::key_spec
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::AES_256_CTR_XOF::key_spec
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 1
    functionsReached:
    - Botan::AES_256_CTR_XOF::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification AES_256_CTR_XOF::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:39,1
    - Dst: fmt
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:39,1
    - Dst: name
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::AES_256_CTR_XOF::copy_state
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    - fmt
    - name
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> AES_256_CTR_XOF::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:43,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:44,1
    - Dst: fmt
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:44,1
    - Dst: name
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Botan::AES_256_CTR_XOF::add_data
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    - fmt
    - name
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void AES_256_CTR_XOF::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_keystream
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::AES_256_CTR_XOF::generate_bytes
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached:
    - write_keystream
    linkageType: ''
    returnType: void
    signature: void AES_256_CTR_XOF::generate_bytes(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cSHAKE_XOF
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 62
    functionName: Botan::cSHAKE_XOF
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h
    functionUses: 1
    functionsReached:
    - Botan::cSHAKE_XOF
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API cSHAKE_XOF
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cSHAKE_128_XOF
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:70,1
    - Dst: Botan::cSHAKE_XOF
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:70,1
    - Dst: std::move
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:70,1
    - Dst: std::make_unique<cSHAKE_128_XOF>
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:78,1
    - Dst: std::make_unique<cSHAKE_128_XOF>
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:80,1
    - Dst: function_name
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: Botan::cSHAKE_128_XOF
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::cSHAKE_XOF
    - function_name
    - Botan::cSHAKE_128_XOF
    - std::make_unique<cSHAKE_128_XOF>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API cSHAKE_128_XOF
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cSHAKE_256_XOF
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:89,1
    - Dst: Botan::cSHAKE_XOF
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:89,1
    - Dst: std::move
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:89,1
    - Dst: std::make_unique<cSHAKE_256_XOF>
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:97,1
    - Dst: std::make_unique<cSHAKE_256_XOF>
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:99,1
    - Dst: function_name
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: Botan::cSHAKE_256_XOF
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::cSHAKE_XOF
    - function_name
    - Botan::cSHAKE_256_XOF
    - std::make_unique<cSHAKE_256_XOF>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API cSHAKE_256_XOF
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:20,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - capacity
    - function_name
    argTypes:
    - size_t
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: Botan::cSHAKE_XOF::cSHAKE_XOF
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::cSHAKE_XOF(size_t capacity, std::vector<uint8_t> function_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:25,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - capacity
    - function_name
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: Botan::cSHAKE_XOF::cSHAKE_XOF
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::cSHAKE_XOF(size_t capacity, std::span<const uint8_t>
      function_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:29,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:29,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:30,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:30,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - capacity
    - function_name
    argTypes:
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: Botan::cSHAKE_XOF::cSHAKE_XOF
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - cast_char_ptr_to_uint8
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::cSHAKE_XOF(size_t capacity, std::string_view function_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: Botan::cSHAKE_XOF::reset
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cSHAKE_XOF::provider
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::cSHAKE_XOF::provider
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 1
    functionsReached:
    - Botan::cSHAKE_XOF::provider
    linkageType: ''
    returnType: std::string
    signature: std::string cSHAKE_XOF::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::cSHAKE_XOF::block_size
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t cSHAKE_XOF::block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - salt_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: Botan::cSHAKE_XOF::valid_salt_length
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool cSHAKE_XOF::valid_salt_length(size_t salt_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:56,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:57,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:57,1
    - Dst: keccak_absorb_padded_strings_encoding
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:58,1
    - Dst: Botan::cSHAKE_XOF::block_size
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - salt
    - key
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::cSHAKE_XOF::start_msg
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - Botan::cSHAKE_XOF::block_size
    - keccak_absorb_padded_strings_encoding
    - BOTAN_ASSERT_NOMSG
    - BOTAN_STATE_CHECK
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::start_msg(std::span<const uint8_t> salt, std::span<const
      uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:62,1
    - Dst: absorb
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: Botan::cSHAKE_XOF::add_data
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - absorb
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:69,1
    - Dst: squeeze
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: Botan::cSHAKE_XOF::generate_bytes
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - finish
    - squeeze
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::generate_bytes(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_XOF::provider
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::SHAKE_XOF::provider
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 1
    functionsReached:
    - Botan::SHAKE_XOF::provider
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::SHAKE_XOF::block_size
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::SHAKE_XOF::accepts_input
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::SHAKE_128_XOF::SHAKE_128_XOF
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHAKE_128_XOF()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::SHAKE_128_XOF::name
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_128_XOF>
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::SHAKE_128_XOF::copy_state
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_128_XOF>
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> copy_state() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_128_XOF>
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::SHAKE_128_XOF::new_object
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_128_XOF>
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> new_object() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::SHAKE_256_XOF::SHAKE_256_XOF
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHAKE_256_XOF()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::SHAKE_256_XOF::name
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_256_XOF>
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan::SHAKE_256_XOF::copy_state
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_256_XOF>
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> copy_state() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_256_XOF>
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan::SHAKE_256_XOF::new_object
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_256_XOF>
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> new_object() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::SHAKE_XOF::SHAKE_XOF
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void SHAKE_XOF::SHAKE_XOF(size_t capacity)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: Botan::SHAKE_XOF::reset
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void SHAKE_XOF::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp:26,1
    - Dst: absorb
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::SHAKE_XOF::add_data
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp
    functionUses: 0
    functionsReached:
    - absorb
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void SHAKE_XOF::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp:33,1
    - Dst: squeeze
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: Botan::SHAKE_XOF::generate_bytes
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp
    functionUses: 0
    functionsReached:
    - finish
    - squeeze
    linkageType: ''
    returnType: void
    signature: void SHAKE_XOF::generate_bytes(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/buf_filt.cpp:20,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/buf_filt.cpp:24,1
    - Dst: resize
      Src: /src/botan/src/lib/filters/buf_filt.cpp:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - b
    - f
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: Botan::Buffered_Filter::Buffered_Filter
    functionSourceFile: /src/botan/src/lib/filters/buf_filt.cpp
    functionUses: 0
    functionsReached:
    - resize
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Buffered_Filter::Buffered_Filter(size_t b, size_t f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/buf_filt.cpp:42,1
    - Dst: buffered_block
      Src: /src/botan/src/lib/filters/buf_filt.cpp:53,1
    - Dst: data
      Src: /src/botan/src/lib/filters/buf_filt.cpp:53,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/buf_filt.cpp:57,1
    - Dst: data
      Src: /src/botan/src/lib/filters/buf_filt.cpp:57,1
    - Dst: data
      Src: /src/botan/src/lib/filters/buf_filt.cpp:57,1
    - Dst: buffered_block
      Src: /src/botan/src/lib/filters/buf_filt.cpp:65,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/buf_filt.cpp:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - input
    - input_size
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 74
    functionName: Botan::Buffered_Filter::write
    functionSourceFile: /src/botan/src/lib/filters/buf_filt.cpp
    functionUses: 0
    functionsReached:
    - data
    - buffered_block
    - copy_mem
    linkageType: ''
    returnType: void
    signature: void Buffered_Filter::write(const uint8_t input[], size_t input_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/buf_filt.cpp:81,1
    - Dst: buffered_block
      Src: /src/botan/src/lib/filters/buf_filt.cpp:88,1
    - Dst: data
      Src: /src/botan/src/lib/filters/buf_filt.cpp:88,1
    - Dst: buffered_final
      Src: /src/botan/src/lib/filters/buf_filt.cpp:89,1
    - Dst: buffered_final
      Src: /src/botan/src/lib/filters/buf_filt.cpp:91,1
    - Dst: data
      Src: /src/botan/src/lib/filters/buf_filt.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: Botan::Buffered_Filter::end_msg
    functionSourceFile: /src/botan/src/lib/filters/buf_filt.cpp
    functionUses: 0
    functionsReached:
    - data
    - Invalid_State
    - buffered_block
    - buffered_final
    linkageType: ''
    returnType: void
    signature: void Buffered_Filter::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/lib/filters/pipe_io.cpp:21,1
    - Dst: remaining
      Src: /src/botan/src/lib/filters/pipe_io.cpp:21,1
    - Dst: write
      Src: /src/botan/src/lib/filters/pipe_io.cpp:23,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/filters/pipe_io.cpp:23,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/filters/pipe_io.cpp:23,1
    - Dst: good
      Src: /src/botan/src/lib/filters/pipe_io.cpp:25,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/filters/pipe_io.cpp:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' stream'
    - ' pipe'
    argTypes:
    - std::ostream
    - Pipe
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: '& operator<<(std::ostream& stream, Pipe& pipe)'
    functionSourceFile: /src/botan/src/lib/filters/pipe_io.cpp
    functionUses: 0
    functionsReached:
    - remaining
    - good
    - write
    - Stream_IO_Error
    - cast_uint8_ptr_to_char
    - secure_vector::data
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& stream, Pipe& pipe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/lib/filters/pipe_io.cpp:36,1
    - Dst: read
      Src: /src/botan/src/lib/filters/pipe_io.cpp:37,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/filters/pipe_io.cpp:37,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/filters/pipe_io.cpp:37,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/filters/pipe_io.cpp:37,1
    - Dst: write
      Src: /src/botan/src/lib/filters/pipe_io.cpp:39,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/filters/pipe_io.cpp:39,1
    - Dst: bad
      Src: /src/botan/src/lib/filters/pipe_io.cpp:41,1
    - Dst: fail
      Src: /src/botan/src/lib/filters/pipe_io.cpp:41,1
    - Dst: eof
      Src: /src/botan/src/lib/filters/pipe_io.cpp:41,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/filters/pipe_io.cpp:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' stream'
    - ' pipe'
    argTypes:
    - std::istream
    - Pipe
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: '& operator>>(std::istream& stream, Pipe& pipe)'
    functionSourceFile: /src/botan/src/lib/filters/pipe_io.cpp
    functionUses: 0
    functionsReached:
    - Stream_IO_Error
    - eof
    - good
    - write
    - read
    - fail
    - bad
    - secure_vector::size
    - cast_uint8_ptr_to_char
    - secure_vector::data
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& stream, Pipe& pipe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Message_Number
      Src: /src/botan/src/lib/filters/pipe.h:46,1
    - Dst: Botan::write
      Src: /src/botan/src/lib/filters/pipe.h:70,1
    - Dst: data
      Src: /src/botan/src/lib/filters/pipe.h:70,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/filters/pipe.h:70,1
    - Dst: Botan::write
      Src: /src/botan/src/lib/filters/pipe.h:76,1
    - Dst: data
      Src: /src/botan/src/lib/filters/pipe.h:76,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/filters/pipe.h:76,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/filters/pipe.h:269,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/filters/pipe.h:278,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/filters/pipe.h:283,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/filters/pipe.h:288,1
    - Dst: Pipe
      Src: /src/botan/src/lib/filters/pipe.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 342
    functionName: Botan::DataSource
    functionSourceFile: /src/botan/src/lib/filters/pipe.h
    functionUses: 0
    functionsReached:
    - Invalid_Message_Number
    - BOTAN_DEPRECATED
    - data
    - Pipe
    - Botan::write
    - Botan::size
    linkageType: ''
    returnType: Pipe
    signature: Pipe DataSource
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:48,1
    - Dst: Threaded_Fork_Data::Threaded_Fork_Data
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:48,1
    - Dst: Botan::Threaded_Fork::set_next
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f1
    - f2
    - f3
    - f4
    argTypes:
    - Filter*
    - Filter*
    - Filter*
    - Filter*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: Botan::Threaded_Fork::Threaded_Fork
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - Threaded_Fork_Data::Threaded_Fork_Data
    - Botan::Threaded_Fork::set_next
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::Threaded_Fork(Filter* f1, Filter* f2, Filter* f3,
      Filter* f4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:57,1
    - Dst: Threaded_Fork_Data::Threaded_Fork_Data
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:57,1
    - Dst: Botan::Threaded_Fork::set_next
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filters
    - count
    argTypes:
    - Filter*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Botan::Threaded_Fork::Threaded_Fork
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - Threaded_Fork_Data::Threaded_Fork_Data
    - Botan::Threaded_Fork::set_next
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::Threaded_Fork(Filter* filters[], size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_input_ready_semaphore::release
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:65,1
    - Dst: size
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:65,1
    - Dst: join
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: Threaded_Fork::~Threaded_Fork()
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 0
    functionsReached:
    - m_input_ready_semaphore::release
    - join
    - size
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::~Threaded_Fork()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::Threaded_Fork::name
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Threaded_Fork::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Threaded_Fork::set_next
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:77,1
    - Dst: size
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:78,1
    - Dst: size
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:80,1
    - Dst: resize
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:81,1
    - Dst: reserve
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:83,1
    - Dst: push_back
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:85,1
    - Dst: std::make_shared<std::thread>
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:85,1
    - Dst: std::bind
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - f
    - n
    argTypes:
    - Filter*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: Botan::Threaded_Fork::set_next
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 3
    functionsReached:
    - std::make_shared<std::thread>
    - std::bind
    - reserve
    - size
    - resize
    - Botan::Threaded_Fork::set_next
    - push_back
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::set_next(Filter* f[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:91,1
    - Dst: Botan::Threaded_Fork::thread_delegate_work
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:92,1
    - Dst: data
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:92,1
    - Dst: size
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:92,1
    - Dst: Botan::Threaded_Fork::thread_delegate_work
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:94,1
    - Dst: total_ports
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:97,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:104,1
    - Dst: clear
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 108
    functionName: Botan::Threaded_Fork::send
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 0
    functionsReached:
    - clear
    - data
    - empty
    - std::make_pair
    - size
    - total_ports
    - Botan::Threaded_Fork::thread_delegate_work
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::send(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_input_complete_barrier::wait
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:116,1
    - Dst: total_ports
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:116,1
    - Dst: m_input_ready_semaphore::release
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:117,1
    - Dst: total_ports
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:117,1
    - Dst: m_input_complete_barrier::sync
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: Botan::Threaded_Fork::thread_delegate_work
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 1
    functionsReached:
    - total_ports
    - m_input_ready_semaphore::release
    - m_input_complete_barrier::wait
    - m_input_complete_barrier::sync
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::thread_delegate_work(const uint8_t input[], size_t
      length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_input_ready_semaphore::acquire
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:129,1
    - Dst: Filter*::write
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:135,1
    - Dst: m_input_complete_barrier::sync
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: Botan::Threaded_Fork::thread_entry
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 0
    functionsReached:
    - Filter*::write
    - m_input_ready_semaphore::acquire
    - m_input_complete_barrier::sync
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::thread_entry(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: default_msg
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:22,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:24,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:27,1
    - Dst: Invalid_Message_Number
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - func_name
    - msg
    argTypes:
    - std::string_view
    - message_id
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: Botan::Pipe::get_message_no
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 0
    functionsReached:
    - default_msg
    - Invalid_Message_Number
    - Botan::Pipe::message_count
    linkageType: ''
    returnType: Pipe::message_id
    signature: Pipe::message_id Pipe::get_message_no(std::string_view func_name, message_id
      msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:39,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: Botan::Pipe::write
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 7
    functionsReached:
    - Invalid_State
    - Botan::Pipe::write
    linkageType: ''
    returnType: void
    signature: void Pipe::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:48,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:48,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:48,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::Pipe::write
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 8
    functionsReached:
    - cast_char_ptr_to_uint8
    - std::string_view::size
    - std::string_view::data
    - Botan::Pipe::write
    linkageType: ''
    returnType: void
    signature: void Pipe::write(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::Pipe::write
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 9
    functionsReached:
    - Botan::Pipe::write
    linkageType: ''
    returnType: void
    signature: void Pipe::write(uint8_t input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::end_of_data
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:63,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:65,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: Botan::Pipe::write
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 10
    functionsReached:
    - Botan::Pipe::end_of_data
    - secure_vector::data
    - Botan::Pipe::write
    linkageType: ''
    returnType: void
    signature: void Pipe::write(DataSource& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:73,1
    - Dst: Botan::Pipe::get_message_no
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - length
    - msg
    argTypes:
    - uint8_t[]
    - size_t
    - message_id
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::Pipe::read
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 2
    functionsReached:
    - Botan::Pipe::read
    - Botan::Pipe::get_message_no
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::read(uint8_t output[], size_t length, message_id msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - output
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::Pipe::read
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 3
    functionsReached:
    - Botan::Pipe::read
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::read(uint8_t output[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - msg
    argTypes:
    - uint8_t
    - message_id
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::Pipe::read
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 4
    functionsReached:
    - Botan::Pipe::read
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::read(uint8_t& out, message_id msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: default_msg
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:94,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - message_id
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: Botan::Pipe::read_all
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 8
    functionsReached:
    - default_msg
    - secure_vector::resize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Pipe::read_all(message_id msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: default_msg
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:105,1
    - Dst: std::string::reserve
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:108,1
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:108,1
    - Dst: std::string::append
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:115,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:115,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - msg
    argTypes:
    - message_id
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: Botan::Pipe::read_all_as_string
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 8
    functionsReached:
    - std::string::reserve
    - default_msg
    - cast_uint8_ptr_to_char
    - std::string::append
    - secure_vector::data
    - Botan::Pipe::remaining
    linkageType: ''
    returnType: std::string
    signature: std::string Pipe::read_all_as_string(message_id msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:125,1
    - Dst: Botan::Pipe::get_message_no
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - message_id
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::Pipe::remaining
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 4
    functionsReached:
    - Botan::Pipe::get_message_no
    - Botan::Pipe::remaining
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::remaining(message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::peek
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:132,1
    - Dst: Botan::Pipe::get_message_no
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - output
    - length
    - offset
    - msg
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    - message_id
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Botan::Pipe::peek
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 2
    functionsReached:
    - Botan::Pipe::peek
    - Botan::Pipe::get_message_no
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::peek(uint8_t output[], size_t length, size_t offset, message_id
      msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::peek
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - length
    - offset
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: Botan::Pipe::peek
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 3
    functionsReached:
    - Botan::Pipe::peek
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::peek(uint8_t output[], size_t length, size_t offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::peek
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - offset
    - msg
    argTypes:
    - uint8_t
    - size_t
    - message_id
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Botan::Pipe::peek
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 4
    functionsReached:
    - Botan::Pipe::peek
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::peek(uint8_t& out, size_t offset, message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:150,1
    - Dst: default_msg
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan::Pipe::get_bytes_read
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 3
    functionsReached:
    - default_msg
    - Botan::Pipe::get_bytes_read
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::get_bytes_read() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - message_id
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Botan::Pipe::get_bytes_read
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 4
    functionsReached:
    - Botan::Pipe::get_bytes_read
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::get_bytes_read(message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:158,1
    - Dst: default_msg
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: Botan::Pipe::check_available
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 0
    functionsReached:
    - default_msg
    - Botan::Pipe::remaining
    linkageType: ''
    returnType: bool
    signature: bool Pipe::check_available(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - msg
    argTypes:
    - size_t
    - message_id
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Botan::Pipe::check_available_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 0
    functionsReached:
    - Botan::Pipe::remaining
    linkageType: ''
    returnType: bool
    signature: bool Pipe::check_available_msg(size_t n, message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::round_up
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - update_granularity
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: Botan::choose_update_size
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - Botan::round_up
    linkageType: ''
    returnType: size_t
    signature: size_t choose_update_size(size_t update_granularity)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: choose_update_size
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:29,1
    - Dst: Cipher_Mode*::ideal_granularity
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:29,1
    - Dst: Cipher_Mode*::minimum_final_size
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:29,1
    - Dst: Cipher_Mode*::default_nonce_length
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:31,1
    - Dst: ideal_granularity
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mode
    argTypes:
    - Cipher_Mode*
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: Botan::Cipher_Mode_Filter::Cipher_Mode_Filter
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 1
    functionsReached:
    - Cipher_Mode*::minimum_final_size
    - Cipher_Mode*::default_nonce_length
    - Cipher_Mode*::ideal_granularity
    - choose_update_size
    - ideal_granularity
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::Cipher_Mode_Filter(Cipher_Mode* mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode_Filter::name
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::Cipher_Mode_Filter::name
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cipher_Mode_Filter::name
    linkageType: ''
    returnType: std::string
    signature: std::string Cipher_Mode_Filter::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:39,1
    - Dst: bits_of
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' iv'
    argTypes:
    - InitializationVector
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::Cipher_Mode_Filter::set_iv
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - unlock
    - bits_of
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::set_iv(const InitializationVector& iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode_Filter::set_key
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::Cipher_Mode_Filter::set_key
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cipher_Mode_Filter::set_key
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::set_key(const SymmetricKey& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode_Filter::key_spec
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::Cipher_Mode_Filter::key_spec
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cipher_Mode_Filter::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification Cipher_Mode_Filter::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::Cipher_Mode_Filter::valid_iv_length
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - valid_nonce_length
    linkageType: ''
    returnType: bool
    signature: bool Cipher_Mode_Filter::valid_iv_length(size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Buffered_Filter::write
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::Cipher_Mode_Filter::write
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - Botan::Buffered_Filter::write
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::write(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Buffered_Filter::end_msg
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan::Cipher_Mode_Filter::end_msg
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - Botan::Buffered_Filter::end_msg
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:63,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:63,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:64,1
    - Dst: Botan::Cipher_Mode_Filter::name
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:64,1
    - Dst: start
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:67,1
    - Dst: clear
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: Botan::Cipher_Mode_Filter::start_msg
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - clear
    - start
    - valid_nonce_length
    - empty
    - Botan::Cipher_Mode_Filter::name
    - Invalid_State
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::start_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:75,1
    - Dst: update
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:76,1
    - Dst: send
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: Botan::Cipher_Mode_Filter::buffered_block
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - send
    - update
    - assign
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::buffered_block(const uint8_t input[], size_t
      input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:87,1
    - Dst: send
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: Botan::Cipher_Mode_Filter::buffered_final
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - send
    - finish
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::buffered_final(const uint8_t input[], size_t
      input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - line_breaks
    - line_length
    - trailing_newline
    argTypes:
    - bool
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: Botan::Base64_Encoder::Base64_Encoder
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64_Encoder::Base64_Encoder(bool line_breaks, size_t line_length,
      bool trailing_newline)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base64_Encoder::do_output
      Src: /src/botan/src/lib/filters/b64_filt.cpp:38,1
    - Dst: data
      Src: /src/botan/src/lib/filters/b64_filt.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - input
    - length
    - final_inputs
    argTypes:
    - uint8_t[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: Botan::Base64_Encoder::encode_and_send
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::Base64_Encoder::do_output
    linkageType: ''
    returnType: void
    signature: void Base64_Encoder::encode_and_send(const uint8_t input[], size_t
      length, bool final_inputs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:51,1
    - Dst: send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:56,1
    - Dst: send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: Botan::Base64_Encoder::do_output
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 1
    functionsReached:
    - send
    linkageType: ''
    returnType: void
    signature: void Base64_Encoder::do_output(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/b64_filt.cpp:73,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:75,1
    - Dst: Botan::Base64_Encoder::encode_and_send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:76,1
    - Dst: data
      Src: /src/botan/src/lib/filters/b64_filt.cpp:76,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:76,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:77,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:78,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:79,1
    - Dst: Botan::Base64_Encoder::encode_and_send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:80,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:80,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:81,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:82,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/b64_filt.cpp:84,1
    - Dst: data
      Src: /src/botan/src/lib/filters/b64_filt.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: Botan::Base64_Encoder::write
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    - Botan::Base64_Encoder::encode_and_send
    - size
    linkageType: ''
    returnType: void
    signature: void Base64_Encoder::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base64_Encoder::encode_and_send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:94,1
    - Dst: data
      Src: /src/botan/src/lib/filters/b64_filt.cpp:94,1
    - Dst: send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: Botan::Base64_Encoder::end_msg
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 0
    functionsReached:
    - send
    - data
    - Botan::Base64_Encoder::encode_and_send
    linkageType: ''
    returnType: void
    signature: void Base64_Encoder::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Decoder_Checking
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::Base64_Decoder::Base64_Decoder
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64_Decoder::Base64_Decoder(Decoder_Checking c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/filters/b64_filt.cpp:115,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:115,1
    - Dst: resize
      Src: /src/botan/src/lib/filters/b64_filt.cpp:116,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:116,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/b64_filt.cpp:118,1
    - Dst: send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:125,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/b64_filt.cpp:128,1
    - Dst: data
      Src: /src/botan/src/lib/filters/b64_filt.cpp:128,1
    - Dst: data
      Src: /src/botan/src/lib/filters/b64_filt.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: Botan::Base64_Decoder::write
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    - size
    - send
    - resize
    linkageType: ''
    returnType: void
    signature: void Base64_Decoder::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:147,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/b64_filt.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: Botan::Base64_Decoder::end_msg
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 0
    functionsReached:
    - send
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Base64_Decoder::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/filters/filter.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: Botan::Filter::Filter
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void Filter::Filter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/filters/filter.cpp:26,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/filters/filter.cpp:26,1
    - Dst: Botan::Filter::send
      Src: /src/botan/src/lib/filters/filter.cpp:27,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/filters/filter.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::Filter::send
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Filter::send
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Filter::send(std::span<const uint8_t> in, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Filter::total_ports
      Src: /src/botan/src/lib/filters/filter.cpp:39,1
    - Dst: empty
      Src: /src/botan/src/lib/filters/filter.cpp:41,1
    - Dst: write
      Src: /src/botan/src/lib/filters/filter.cpp:42,1
    - Dst: data
      Src: /src/botan/src/lib/filters/filter.cpp:42,1
    - Dst: size
      Src: /src/botan/src/lib/filters/filter.cpp:42,1
    - Dst: write
      Src: /src/botan/src/lib/filters/filter.cpp:44,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/filters/filter.cpp:50,1
    - Dst: clear
      Src: /src/botan/src/lib/filters/filter.cpp:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: Botan::Filter::send
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 1
    functionsReached:
    - clear
    - Botan::Filter::total_ports
    - write
    - data
    - empty
    - std::make_pair
    - size
    linkageType: ''
    returnType: void
    signature: void Filter::send(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_msg
      Src: /src/botan/src/lib/filters/filter.cpp:60,1
    - Dst: Botan::Filter::total_ports
      Src: /src/botan/src/lib/filters/filter.cpp:61,1
    - Dst: Botan::Filter::new_msg
      Src: /src/botan/src/lib/filters/filter.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: Botan::Filter::new_msg
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Filter::total_ports
    - Botan::Filter::new_msg
    - start_msg
    linkageType: ''
    returnType: void
    signature: void Filter::new_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end_msg
      Src: /src/botan/src/lib/filters/filter.cpp:72,1
    - Dst: Botan::Filter::total_ports
      Src: /src/botan/src/lib/filters/filter.cpp:73,1
    - Dst: Botan::Filter::finish_msg
      Src: /src/botan/src/lib/filters/filter.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: Botan::Filter::finish_msg
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 1
    functionsReached:
    - end_msg
    - Botan::Filter::total_ports
    - Botan::Filter::finish_msg
    linkageType: ''
    returnType: void
    signature: void Filter::finish_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Filter*::get_next
      Src: /src/botan/src/lib/filters/filter.cpp:86,1
    - Dst: Filter*::get_next
      Src: /src/botan/src/lib/filters/filter.cpp:87,1
    - Dst: Filter*::current_port
      Src: /src/botan/src/lib/filters/filter.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - new_filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: Botan::Filter::attach
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 0
    functionsReached:
    - Filter*::current_port
    - Filter*::get_next
    linkageType: ''
    returnType: void
    signature: void Filter::attach(Filter* new_filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Filter::total_ports
      Src: /src/botan/src/lib/filters/filter.cpp:97,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/filter.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - new_port
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: Botan::Filter::set_port
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::Filter::total_ports
    linkageType: ''
    returnType: void
    signature: void Filter::set_port(size_t new_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/filters/filter.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: Botan::Filter::get_next
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Filter
    signature: Filter * Filter::get_next() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/filters/filter.cpp:117,1
    - Dst: assign
      Src: /src/botan/src/lib/filters/filter.cpp:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - filters
    - size
    argTypes:
    - Filter*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: Botan::Filter::set_next
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 0
    functionsReached:
    - clear
    - assign
    linkageType: ''
    returnType: void
    signature: void Filter::set_next(Filter* filters[], size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/filters/filter.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: Botan::Filter::total_ports
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 4
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Filter::total_ports() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: attach
      Src: /src/botan/src/lib/filters/basefilt.cpp:16,1
    - Dst: incr_owns
      Src: /src/botan/src/lib/filters/basefilt.cpp:17,1
    - Dst: attach
      Src: /src/botan/src/lib/filters/basefilt.cpp:20,1
    - Dst: incr_owns
      Src: /src/botan/src/lib/filters/basefilt.cpp:21,1
    - Dst: attach
      Src: /src/botan/src/lib/filters/basefilt.cpp:24,1
    - Dst: incr_owns
      Src: /src/botan/src/lib/filters/basefilt.cpp:25,1
    - Dst: attach
      Src: /src/botan/src/lib/filters/basefilt.cpp:28,1
    - Dst: incr_owns
      Src: /src/botan/src/lib/filters/basefilt.cpp:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - f1
    - f2
    - f3
    - f4
    argTypes:
    - Filter*
    - Filter*
    - Filter*
    - Filter*
    constantsTouched: []
    func_position:
      end: 31
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 31
    functionName: Botan::Chain::Chain
    functionSourceFile: /src/botan/src/lib/filters/basefilt.cpp
    functionUses: 2
    functionsReached:
    - attach
    - incr_owns
    linkageType: ''
    returnType: void
    signature: void Chain::Chain(Filter* f1, Filter* f2, Filter* f3, Filter* f4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: attach
      Src: /src/botan/src/lib/filters/basefilt.cpp:39,1
    - Dst: incr_owns
      Src: /src/botan/src/lib/filters/basefilt.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - filters
    - count
    argTypes:
    - Filter*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: Botan::Chain::Chain
    functionSourceFile: /src/botan/src/lib/filters/basefilt.cpp
    functionUses: 2
    functionsReached:
    - attach
    - incr_owns
    linkageType: ''
    returnType: void
    signature: void Chain::Chain(Filter* filters[], size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_next
      Src: /src/botan/src/lib/filters/basefilt.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f1
    - f2
    - f3
    - f4
    argTypes:
    - Filter*
    - Filter*
    - Filter*
    - Filter*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::Fork::Fork
    functionSourceFile: /src/botan/src/lib/filters/basefilt.cpp
    functionUses: 1
    functionsReached:
    - set_next
    linkageType: ''
    returnType: void
    signature: void Fork::Fork(Filter* f1, Filter* f2, Filter* f3, Filter* f4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_next
      Src: /src/botan/src/lib/filters/basefilt.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filters
    - count
    argTypes:
    - Filter*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::Fork::Fork
    functionSourceFile: /src/botan/src/lib/filters/basefilt.cpp
    functionUses: 1
    functionsReached:
    - set_next
    linkageType: ''
    returnType: void
    signature: void Fork::Fork(Filter* filters[], size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: Botan::SecureQueueNode::SecureQueueNode
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureQueueNode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ~SecureQueueNode()
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SecureQueueNode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecureQueueNode
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::SecureQueueNode::SecureQueueNode
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureQueueNode(const SecureQueueNode& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecureQueueNode
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::SecureQueueNode::SecureQueueNode
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureQueueNode(SecureQueueNode&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecureQueueNode
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const SecureQueueNode& other)'
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecureQueueNode
    signature: SecureQueueNode & operator=(const SecureQueueNode& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecureQueueNode
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(SecureQueueNode&& other)'
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecureQueueNode
    signature: SecureQueueNode & operator=(SecureQueueNode&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/secqueue.cpp:38,1
    - Dst: data
      Src: /src/botan/src/lib/filters/secqueue.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: Botan::SecureQueueNode::write
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    linkageType: ''
    returnType: size_t
    signature: size_t write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/secqueue.cpp:45,1
    - Dst: data
      Src: /src/botan/src/lib/filters/secqueue.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - output
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: Botan::SecureQueueNode::read
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t output[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/secqueue.cpp:56,1
    - Dst: data
      Src: /src/botan/src/lib/filters/secqueue.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - output
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: Botan::SecureQueueNode::peek
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    linkageType: ''
    returnType: size_t
    signature: size_t peek(uint8_t output[], size_t length, size_t offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::SecureQueueNode::size
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_next
      Src: /src/botan/src/lib/filters/secqueue.cpp:74,1
    - Dst: SecureQueueNode::SecureQueueNode
      Src: /src/botan/src/lib/filters/secqueue.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: Botan::SecureQueue::SecureQueue
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 1
    functionsReached:
    - set_next
    - SecureQueueNode::SecureQueueNode
    linkageType: ''
    returnType: void
    signature: void SecureQueue::SecureQueue()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_next
      Src: /src/botan/src/lib/filters/secqueue.cpp:83,1
    - Dst: SecureQueueNode::SecureQueueNode
      Src: /src/botan/src/lib/filters/secqueue.cpp:85,1
    - Dst: Botan::SecureQueue::write
      Src: /src/botan/src/lib/filters/secqueue.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - SecureQueue
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: Botan::SecureQueue::SecureQueue
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 1
    functionsReached:
    - Botan::SecureQueue::write
    - set_next
    - SecureQueueNode::SecureQueueNode
    linkageType: ''
    returnType: void
    signature: void SecureQueue::SecureQueue(const SecureQueue& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: Botan::SecureQueue::destroy
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureQueue::destroy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/botan/src/lib/filters/secqueue.cpp:114,1
    - Dst: get_bytes_read
      Src: /src/botan/src/lib/filters/secqueue.cpp:115,1
    - Dst: SecureQueueNode::SecureQueueNode
      Src: /src/botan/src/lib/filters/secqueue.cpp:116,1
    - Dst: write
      Src: /src/botan/src/lib/filters/secqueue.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - SecureQueue
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: '& SecureQueue::operator=(const SecureQueue& input)'
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - destroy
    - SecureQueueNode::SecureQueueNode
    - get_bytes_read
    - write
    linkageType: ''
    returnType: SecureQueue
    signature: SecureQueue & SecureQueue::operator=(const SecureQueue& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecureQueueNode::SecureQueueNode
      Src: /src/botan/src/lib/filters/secqueue.cpp:130,1
    - Dst: SecureQueueNode::SecureQueueNode
      Src: /src/botan/src/lib/filters/secqueue.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: Botan::SecureQueue::write
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 2
    functionsReached:
    - SecureQueueNode::SecureQueueNode
    linkageType: ''
    returnType: void
    signature: void SecureQueue::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SecureQueue::size
      Src: /src/botan/src/lib/filters/secqueue.cpp:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - output
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 161
    functionName: Botan::SecureQueue::read
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - Botan::SecureQueue::size
    linkageType: ''
    returnType: size_t
    signature: size_t SecureQueue::read(uint8_t output[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecureQueueNode*::size
      Src: /src/botan/src/lib/filters/secqueue.cpp:170,1
    - Dst: SecureQueueNode*::size
      Src: /src/botan/src/lib/filters/secqueue.cpp:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - output
    - length
    - offset
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 188
    functionName: Botan::SecureQueue::peek
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - SecureQueueNode*::size
    linkageType: ''
    returnType: size_t
    signature: size_t SecureQueue::peek(uint8_t output[], size_t length, size_t offset)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: Botan::SecureQueue::get_bytes_read
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SecureQueue::get_bytes_read() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecureQueueNode*::size
      Src: /src/botan/src/lib/filters/secqueue.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: Botan::SecureQueue::size
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 2
    functionsReached:
    - SecureQueueNode*::size
    linkageType: ''
    returnType: size_t
    signature: size_t SecureQueue::size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SecureQueue::size
      Src: /src/botan/src/lib/filters/secqueue.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: Botan::SecureQueue::end_of_data
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - Botan::SecureQueue::size
    linkageType: ''
    returnType: bool
    signature: bool SecureQueue::end_of_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SecureQueue::size
      Src: /src/botan/src/lib/filters/secqueue.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: Botan::SecureQueue::empty
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - Botan::SecureQueue::size
    linkageType: ''
    returnType: bool
    signature: bool SecureQueue::empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/botan/src/lib/filters/pipe.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::Null_Filter::write
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 0
    functionsReached:
    - send
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t input[], size_t length) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::Null_Filter::name
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/filters/pipe.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - where
    - msg
    argTypes:
    - std::string_view
    - message_id
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: Pipe::Invalid_Message_Number::Invalid_Message_Number(std::string_view
      where, message_id msg)
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Pipe::Invalid_Message_Number::Invalid_Message_Number(std::string_view
      where, message_id msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - f1
    - f2
    - f3
    - f4
    argTypes:
    - Filter*
    - Filter*
    - Filter*
    - Filter*
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::Pipe::Pipe
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pipe::Pipe(Filter* f1, Filter* f2, Filter* f3, Filter* f4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Output_Buffers>
      Src: /src/botan/src/lib/filters/pipe.cpp:44,1
    - Dst: Botan::Pipe::do_append
      Src: /src/botan/src/lib/filters/pipe.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<Filter*>
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: Botan::Pipe::Pipe
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::do_append
    - std::make_unique<Output_Buffers>
    linkageType: ''
    returnType: void
    signature: void Pipe::Pipe(std::initializer_list<Filter*> args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: destruct
      Src: /src/botan/src/lib/filters/pipe.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Pipe::~Pipe()
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 0
    functionsReached:
    - destruct
    linkageType: ''
    returnType: void
    signature: void Pipe::~Pipe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::destruct
      Src: /src/botan/src/lib/filters/pipe.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Botan::Pipe::reset
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 3
    functionsReached:
    - Botan::Pipe::destruct
    linkageType: ''
    returnType: void
    signature: void Pipe::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<SecureQueue*>
      Src: /src/botan/src/lib/filters/pipe.cpp:74,1
    - Dst: Filter*::total_ports
      Src: /src/botan/src/lib/filters/pipe.cpp:77,1
    - Dst: Botan::Pipe::destruct
      Src: /src/botan/src/lib/filters/pipe.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - to_kill
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: Botan::Pipe::destruct
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 2
    functionsReached:
    - Botan::Pipe::destruct
    - Filter*::total_ports
    - dynamic_cast<SecureQueue*>
    linkageType: ''
    returnType: void
    signature: void Pipe::destruct(Filter* to_kill)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/lib/filters/pipe.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::Pipe::end_of_data
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 2
    functionsReached:
    - Botan::Pipe::remaining
    linkageType: ''
    returnType: bool
    signature: bool Pipe::end_of_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/lib/filters/pipe.cpp:94,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/pipe.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - message_id
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: Botan::Pipe::set_default_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 3
    functionsReached:
    - Botan::Pipe::message_count
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Pipe::set_default_msg(message_id msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:104,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/lib/filters/pipe.cpp:105,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: Botan::Pipe::process_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 15
    functionsReached:
    - Botan::Pipe::end_msg
    - Botan::Pipe::write
    - Botan::Pipe::start_msg
    linkageType: ''
    returnType: void
    signature: void Pipe::process_msg(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:113,1
    - Dst: data
      Src: /src/botan/src/lib/filters/pipe.cpp:113,1
    - Dst: size
      Src: /src/botan/src/lib/filters/pipe.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: Botan::Pipe::process_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 16
    functionsReached:
    - data
    - Botan::Pipe::process_msg
    - size
    linkageType: ''
    returnType: void
    signature: void Pipe::process_msg(const secure_vector<uint8_t>& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:117,1
    - Dst: data
      Src: /src/botan/src/lib/filters/pipe.cpp:117,1
    - Dst: size
      Src: /src/botan/src/lib/filters/pipe.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: Botan::Pipe::process_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 17
    functionsReached:
    - data
    - Botan::Pipe::process_msg
    - size
    linkageType: ''
    returnType: void
    signature: void Pipe::process_msg(const std::vector<uint8_t>& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:124,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/filters/pipe.cpp:124,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/filters/pipe.cpp:124,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/filters/pipe.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Botan::Pipe::process_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 18
    functionsReached:
    - cast_char_ptr_to_uint8
    - Botan::Pipe::process_msg
    - std::string_view::data
    - std::string_view::length
    linkageType: ''
    returnType: void
    signature: void Pipe::process_msg(std::string_view input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:131,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/lib/filters/pipe.cpp:132,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: Botan::Pipe::process_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 18
    functionsReached:
    - Botan::Pipe::end_msg
    - Botan::Pipe::write
    - Botan::Pipe::start_msg
    linkageType: ''
    returnType: void
    signature: void Pipe::process_msg(DataSource& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:141,1
    - Dst: Null_Filter::Null_Filter
      Src: /src/botan/src/lib/filters/pipe.cpp:144,1
    - Dst: Botan::Pipe::find_endpoints
      Src: /src/botan/src/lib/filters/pipe.cpp:146,1
    - Dst: new_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: Botan::Pipe::start_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 11
    functionsReached:
    - Botan::Pipe::find_endpoints
    - Invalid_State
    - new_msg
    - Null_Filter::Null_Filter
    linkageType: ''
    returnType: void
    signature: void Pipe::start_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:156,1
    - Dst: finish_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:158,1
    - Dst: Botan::Pipe::clear_endpoints
      Src: /src/botan/src/lib/filters/pipe.cpp:159,1
    - Dst: dynamic_cast<Null_Filter*>
      Src: /src/botan/src/lib/filters/pipe.cpp:160,1
    - Dst: retire
      Src: /src/botan/src/lib/filters/pipe.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: Botan::Pipe::end_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 11
    functionsReached:
    - finish_msg
    - Invalid_State
    - dynamic_cast<Null_Filter*>
    - retire
    - Botan::Pipe::clear_endpoints
    linkageType: ''
    returnType: void
    signature: void Pipe::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Filter*::total_ports
      Src: /src/botan/src/lib/filters/pipe.cpp:173,1
    - Dst: dynamic_cast<SecureQueue*>
      Src: /src/botan/src/lib/filters/pipe.cpp:174,1
    - Dst: Botan::Pipe::find_endpoints
      Src: /src/botan/src/lib/filters/pipe.cpp:175,1
    - Dst: SecureQueue::SecureQueue
      Src: /src/botan/src/lib/filters/pipe.cpp:177,1
    - Dst: add
      Src: /src/botan/src/lib/filters/pipe.cpp:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: Botan::Pipe::find_endpoints
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 2
    functionsReached:
    - add
    - Filter*::total_ports
    - Botan::Pipe::find_endpoints
    - dynamic_cast<SecureQueue*>
    - SecureQueue::SecureQueue
    linkageType: ''
    returnType: void
    signature: void Pipe::find_endpoints(Filter* f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Filter*::total_ports
      Src: /src/botan/src/lib/filters/pipe.cpp:191,1
    - Dst: dynamic_cast<SecureQueue*>
      Src: /src/botan/src/lib/filters/pipe.cpp:192,1
    - Dst: Botan::Pipe::clear_endpoints
      Src: /src/botan/src/lib/filters/pipe.cpp:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: Botan::Pipe::clear_endpoints
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 2
    functionsReached:
    - Filter*::total_ports
    - dynamic_cast<SecureQueue*>
    - Botan::Pipe::clear_endpoints
    linkageType: ''
    returnType: void
    signature: void Pipe::clear_endpoints(Filter* f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::do_append
      Src: /src/botan/src/lib/filters/pipe.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Botan::Pipe::append
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 7
    functionsReached:
    - Botan::Pipe::do_append
    linkageType: ''
    returnType: void
    signature: void Pipe::append(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/lib/filters/pipe.cpp:204,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:205,1
    - Dst: Botan::Pipe::do_append
      Src: /src/botan/src/lib/filters/pipe.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: Botan::Pipe::append_filter
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 1
    functionsReached:
    - Invalid_State
    - Botan::Pipe::message_count
    - Botan::Pipe::do_append
    linkageType: ''
    returnType: void
    signature: void Pipe::append_filter(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::do_prepend
      Src: /src/botan/src/lib/filters/pipe.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: Botan::Pipe::prepend
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 2
    functionsReached:
    - Botan::Pipe::do_prepend
    linkageType: ''
    returnType: void
    signature: void Pipe::prepend(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/lib/filters/pipe.cpp:216,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:217,1
    - Dst: Botan::Pipe::do_prepend
      Src: /src/botan/src/lib/filters/pipe.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: Botan::Pipe::prepend_filter
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 1
    functionsReached:
    - Invalid_State
    - Botan::Pipe::message_count
    - Botan::Pipe::do_prepend
    linkageType: ''
    returnType: void
    signature: void Pipe::prepend_filter(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<SecureQueue*>
      Src: /src/botan/src/lib/filters/pipe.cpp:230,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/pipe.cpp:231,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/pipe.cpp:234,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:238,1
    - Dst: attach
      Src: /src/botan/src/lib/filters/pipe.cpp:246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 248
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 248
    functionName: Botan::Pipe::do_append
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 3
    functionsReached:
    - attach
    - Invalid_State
    - Invalid_Argument
    - dynamic_cast<SecureQueue*>
    linkageType: ''
    returnType: void
    signature: void Pipe::do_append(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:255,1
    - Dst: dynamic_cast<SecureQueue*>
      Src: /src/botan/src/lib/filters/pipe.cpp:260,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/pipe.cpp:261,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/pipe.cpp:264,1
    - Dst: Filter*::attach
      Src: /src/botan/src/lib/filters/pipe.cpp:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 273
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 273
    functionName: Botan::Pipe::do_prepend
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 2
    functionsReached:
    - Filter*::attach
    - Invalid_State
    - Invalid_Argument
    - dynamic_cast<SecureQueue*>
    linkageType: ''
    returnType: void
    signature: void Pipe::do_prepend(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:280,1
    - Dst: total_ports
      Src: /src/botan/src/lib/filters/pipe.cpp:287,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 297
    functionName: Botan::Pipe::pop
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 5
    functionsReached:
    - total_ports
    - Invalid_State
    linkageType: ''
    returnType: void
    signature: void Pipe::pop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/lib/filters/pipe.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: Botan::Pipe::message_count
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 13
    functionsReached:
    - Botan::Pipe::message_count
    linkageType: ''
    returnType: Pipe::message_id
    signature: Pipe::message_id Pipe::message_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/lib/filters/comp_filter.cpp:24,1
    - Dst: std::max<size_t>
      Src: /src/botan/src/lib/filters/comp_filter.cpp:24,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/comp_filter.cpp:26,1
    - Dst: fmt
      Src: /src/botan/src/lib/filters/comp_filter.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - type
    - level
    - bs
    argTypes:
    - std::string_view
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: Botan::Compression_Filter::Compression_Filter
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - Botan::Compression_Algorithm::create
    - fmt
    - std::max<size_t>
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Compression_Filter::Compression_Filter(std::string_view type,
      size_t level, size_t bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Compression_Filter::~Compression_Filter()
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Compression_Filter::~Compression_Filter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Compression_Filter::name
      Src: /src/botan/src/lib/filters/comp_filter.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::Compression_Filter::name
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Compression_Filter::name
    linkageType: ''
    returnType: std::string
    signature: std::string Compression_Filter::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/botan/src/lib/filters/comp_filter.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::Compression_Filter::start_msg
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void Compression_Filter::start_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/filters/comp_filter.cpp:43,1
    - Dst: assign
      Src: /src/botan/src/lib/filters/comp_filter.cpp:45,1
    - Dst: update
      Src: /src/botan/src/lib/filters/comp_filter.cpp:46,1
    - Dst: send
      Src: /src/botan/src/lib/filters/comp_filter.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: Botan::Compression_Filter::write
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - send
    - BOTAN_ASSERT
    - update
    - assign
    linkageType: ''
    returnType: void
    signature: void Compression_Filter::write(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/filters/comp_filter.cpp:56,1
    - Dst: update
      Src: /src/botan/src/lib/filters/comp_filter.cpp:57,1
    - Dst: send
      Src: /src/botan/src/lib/filters/comp_filter.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::Compression_Filter::flush
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - send
    - clear
    - update
    linkageType: ''
    returnType: void
    signature: void Compression_Filter::flush()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/filters/comp_filter.cpp:62,1
    - Dst: finish
      Src: /src/botan/src/lib/filters/comp_filter.cpp:63,1
    - Dst: send
      Src: /src/botan/src/lib/filters/comp_filter.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: Botan::Compression_Filter::end_msg
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - send
    - finish
    - clear
    linkageType: ''
    returnType: void
    signature: void Compression_Filter::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decompression_Algorithm::create
      Src: /src/botan/src/lib/filters/comp_filter.cpp:68,1
    - Dst: std::max<size_t>
      Src: /src/botan/src/lib/filters/comp_filter.cpp:68,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/comp_filter.cpp:70,1
    - Dst: fmt
      Src: /src/botan/src/lib/filters/comp_filter.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - type
    - bs
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: Botan::Decompression_Filter::Decompression_Filter
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - Botan::Decompression_Algorithm::create
    - fmt
    - std::max<size_t>
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Decompression_Filter::Decompression_Filter(std::string_view type,
      size_t bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Decompression_Filter::~Decompression_Filter()
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decompression_Filter::~Decompression_Filter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decompression_Filter::name
      Src: /src/botan/src/lib/filters/comp_filter.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::Decompression_Filter::name
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Decompression_Filter::name
    linkageType: ''
    returnType: std::string
    signature: std::string Decompression_Filter::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/botan/src/lib/filters/comp_filter.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::Decompression_Filter::start_msg
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void Decompression_Filter::start_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/filters/comp_filter.cpp:87,1
    - Dst: assign
      Src: /src/botan/src/lib/filters/comp_filter.cpp:89,1
    - Dst: update
      Src: /src/botan/src/lib/filters/comp_filter.cpp:90,1
    - Dst: send
      Src: /src/botan/src/lib/filters/comp_filter.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: Botan::Decompression_Filter::write
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - send
    - BOTAN_ASSERT
    - update
    - assign
    linkageType: ''
    returnType: void
    signature: void Decompression_Filter::write(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/filters/comp_filter.cpp:100,1
    - Dst: finish
      Src: /src/botan/src/lib/filters/comp_filter.cpp:101,1
    - Dst: send
      Src: /src/botan/src/lib/filters/comp_filter.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: Botan::Decompression_Filter::end_msg
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - send
    - finish
    - clear
    linkageType: ''
    returnType: void
    signature: void Decompression_Filter::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer_size
      Src: /src/botan/src/lib/filters/algo_filt.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - StreamCipher*
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: Botan::StreamCipher_Filter::StreamCipher_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 1
    functionsReached:
    - buffer_size
    linkageType: ''
    returnType: void
    signature: void StreamCipher_Filter::StreamCipher_Filter(StreamCipher* cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/filters/algo_filt.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cipher
    - ' key'
    argTypes:
    - StreamCipher*
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::StreamCipher_Filter::StreamCipher_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 1
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void StreamCipher_Filter::StreamCipher_Filter(StreamCipher* cipher,
      const SymmetricKey& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/filters/algo_filt.cpp:22,1
    - Dst: buffer_size
      Src: /src/botan/src/lib/filters/algo_filt.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sc_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: Botan::StreamCipher_Filter::StreamCipher_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 1
    functionsReached:
    - Botan::StreamCipher::create_or_throw
    - buffer_size
    linkageType: ''
    returnType: void
    signature: void StreamCipher_Filter::StreamCipher_Filter(std::string_view sc_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/filters/algo_filt.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc_name
    - ' key'
    argTypes:
    - std::string_view
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: Botan::StreamCipher_Filter::StreamCipher_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 1
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void StreamCipher_Filter::StreamCipher_Filter(std::string_view sc_name,
      const SymmetricKey& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/filters/algo_filt.cpp:32,1
    - Dst: data
      Src: /src/botan/src/lib/filters/algo_filt.cpp:32,1
    - Dst: send
      Src: /src/botan/src/lib/filters/algo_filt.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: Botan::StreamCipher_Filter::write
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 0
    functionsReached:
    - send
    - data
    - cipher
    linkageType: ''
    returnType: void
    signature: void StreamCipher_Filter::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/filters/algo_filt.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hash_name
    - len
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: Botan::Hash_Filter::Hash_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 4
    functionsReached:
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Hash_Filter::Hash_Filter(std::string_view hash_name, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/filters/algo_filt.cpp:47,1
    - Dst: send
      Src: /src/botan/src/lib/filters/algo_filt.cpp:49,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/lib/filters/algo_filt.cpp:49,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/filters/algo_filt.cpp:49,1
    - Dst: send
      Src: /src/botan/src/lib/filters/algo_filt.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: Botan::Hash_Filter::end_msg
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 0
    functionsReached:
    - send
    - std::min<size_t>
    - secure_vector::size
    - final
    linkageType: ''
    returnType: void
    signature: void Hash_Filter::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/filters/algo_filt.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mac_name
    - len
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 6
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: Botan::MAC_Filter::MAC_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 1
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: void
    signature: void MAC_Filter::MAC_Filter(std::string_view mac_name, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/filters/algo_filt.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mac_name
    - ' key'
    - len
    argTypes:
    - std::string_view
    - SymmetricKey
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::MAC_Filter::MAC_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 1
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void MAC_Filter::MAC_Filter(std::string_view mac_name, const SymmetricKey&
      key, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/filters/algo_filt.cpp:66,1
    - Dst: send
      Src: /src/botan/src/lib/filters/algo_filt.cpp:68,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/lib/filters/algo_filt.cpp:68,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/filters/algo_filt.cpp:68,1
    - Dst: send
      Src: /src/botan/src/lib/filters/algo_filt.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: Botan::MAC_Filter::end_msg
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 0
    functionsReached:
    - send
    - std::min<size_t>
    - secure_vector::size
    - final
    linkageType: ''
    returnType: void
    signature: void MAC_Filter::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataSink_Stream
      Src: /src/botan/src/lib/filters/data_snk.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 69
    functionName: Botan::DataSink
    functionSourceFile: /src/botan/src/lib/filters/data_snk.h
    functionUses: 0
    functionsReached:
    - DataSink_Stream
    linkageType: ''
    returnType: DataSink_Stream
    signature: DataSink_Stream DataSink
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::write
      Src: /src/botan/src/lib/filters/filters.h:52,1
    - Dst: data
      Src: /src/botan/src/lib/filters/filters.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' in'
    - length
    argTypes:
    - std::vector<uint8_t, Alloc>
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::write
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 2
    functionsReached:
    - data
    - Botan::write
    linkageType: ''
    returnType: void
    signature: void write(const std::vector<uint8_t, Alloc>& in, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~Buffered_Filter()
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Buffered_Filter()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan::buffered_block_size
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t buffered_block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::current_position
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t current_position() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Botan::buffer_reset
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buffer_reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/filters/filters.h:130,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/filters/filters.h:131,1
    - Dst: name
      Src: /src/botan/src/lib/filters/filters.h:131,1
    - Dst: length
      Src: /src/botan/src/lib/filters/filters.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' iv'
    argTypes:
    - InitializationVector
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: set_iv
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 39
    functionsReached:
    - length
    - empty
    - Invalid_IV_Length
    - name
    linkageType: ''
    returnType: void
    signature: void set_iv(const InitializationVector& iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_spec
      Src: /src/botan/src/lib/filters/filters.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: valid_keylength
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 6
    functionsReached:
    - key_spec
    linkageType: ''
    returnType: bool
    signature: bool valid_keylength(size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: valid_iv_length
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_iv_length(size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Cipher_Mode>::release
      Src: /src/botan/src/lib/filters/filters.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::unique_ptr<Cipher_Mode>
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Cipher_Mode_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 1
    functionsReached:
    - std::unique_ptr<Cipher_Mode>::release
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter(std::unique_ptr<Cipher_Mode> t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create_or_throw
      Src: /src/botan/src/lib/filters/filters.h:202,1
    - Dst: auto::release
      Src: /src/botan/src/lib/filters/filters.h:203,1
    - Dst: Cipher_Mode_Filter::Cipher_Mode_Filter
      Src: /src/botan/src/lib/filters/filters.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - algo_spec
    - direction
    argTypes:
    - std::string_view
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: get_cipher
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 1
    functionsReached:
    - Cipher_Mode_Filter::Cipher_Mode_Filter
    - Botan::Cipher_Mode::create_or_throw
    - auto::release
    linkageType: ''
    returnType: Keyed_Filter
    signature: Keyed_Filter * get_cipher(std::string_view algo_spec, Cipher_Dir direction)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher
      Src: /src/botan/src/lib/filters/filters.h:216,1
    - Dst: Keyed_Filter*::set_key
      Src: /src/botan/src/lib/filters/filters.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - algo_spec
    - ' key'
    - direction
    argTypes:
    - std::string_view
    - SymmetricKey
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: get_cipher
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 2
    functionsReached:
    - get_cipher
    - Keyed_Filter*::set_key
    linkageType: ''
    returnType: Keyed_Filter
    signature: Keyed_Filter * get_cipher(std::string_view algo_spec, const SymmetricKey&
      key, Cipher_Dir direction)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher
      Src: /src/botan/src/lib/filters/filters.h:235,1
    - Dst: empty
      Src: /src/botan/src/lib/filters/filters.h:236,1
    - Dst: Keyed_Filter*::set_iv
      Src: /src/botan/src/lib/filters/filters.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - algo_spec
    - ' key'
    - ' iv'
    - direction
    argTypes:
    - std::string_view
    - SymmetricKey
    - InitializationVector
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: get_cipher
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 3
    functionsReached:
    - get_cipher
    - empty
    - Keyed_Filter*::set_iv
    linkageType: ''
    returnType: Keyed_Filter
    signature: "Keyed_Filter * get_cipher(std::string_view algo_spec,\n                                const
      SymmetricKey& key,\n                                const InitializationVector&
      iv,\n                                Cipher_Dir direction)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/filters/filters.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: Keyed_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: StreamCipher_Filter
    signature: StreamCipher_Filter Keyed_Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_iv_length
      Src: /src/botan/src/lib/filters/filters.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iv_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: valid_iv_length
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 11
    functionsReached:
    - valid_iv_length
    linkageType: ''
    returnType: bool
    signature: bool valid_iv_length(size_t iv_len) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_iv
      Src: /src/botan/src/lib/filters/filters.h:264,1
    - Dst: begin
      Src: /src/botan/src/lib/filters/filters.h:264,1
    - Dst: length
      Src: /src/botan/src/lib/filters/filters.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' iv'
    argTypes:
    - InitializationVector
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: set_iv
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 41
    functionsReached:
    - set_iv
    - length
    - begin
    linkageType: ''
    returnType: void
    signature: void set_iv(const InitializationVector& iv) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/filters/filters.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: set_key
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 162
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void set_key(const SymmetricKey& key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_spec
      Src: /src/botan/src/lib/filters/filters.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: key_spec
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 26
    functionsReached:
    - key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Hash_Filter
    signature: Hash_Filter Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/filters/filters.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: name
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 592
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - HashFunction*
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: Hash_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hash_Filter(HashFunction* hash, size_t len = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: Keyed_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MAC_Filter
    signature: MAC_Filter Keyed_Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/filters/filters.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: name
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 593
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/filters/filters.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: set_key
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 163
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void set_key(const SymmetricKey& key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_spec
      Src: /src/botan/src/lib/filters/filters.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 364
    functionName: key_spec
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 27
    functionsReached:
    - key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mac
    argTypes:
    - MessageAuthenticationCode*
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: MAC_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MAC_Filter(MessageAuthenticationCode* mac, size_t out_len = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/filters/filters.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mac
    - ' key'
    argTypes:
    - MessageAuthenticationCode*
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: MAC_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 1
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void MAC_Filter(MessageAuthenticationCode* mac, const SymmetricKey&
      key, size_t out_len = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 443
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Compression_Filter
    signature: Compression_Filter Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 464
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Decompression_Filter
    signature: Decompression_Filter Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Base64_Encoder
    signature: Base64_Encoder Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Base64_Decoder
    signature: Base64_Decoder Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 574
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Hex_Encoder
    signature: Hex_Encoder Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Hex_Decoder
    signature: Hex_Decoder Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 608
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: BitBucket
    signature: BitBucket Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 618
    functionName: Fanout_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Chain
    signature: Chain Fanout_Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 620
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 620
    functionName: name
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 593
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 695
    functionName: final
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 174
    functionsReached: []
    linkageType: ''
    returnType: Threaded_Fork
    signature: Threaded_Fork final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: Botan::start_msg
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: Botan::end_msg
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::attachable
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool attachable()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Filter()
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Filter()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::Filter
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(const Filter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::send
      Src: /src/botan/src/lib/filters/filter.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::send
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 1
    functionsReached:
    - Botan::send
    linkageType: ''
    returnType: void
    signature: void send(uint8_t in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::send
      Src: /src/botan/src/lib/filters/filter.h:76,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/filters/filter.h:76,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/filters/filter.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::send
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 2
    functionsReached:
    - std::span<const uint8_t>::data
    - Botan::send
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void send(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::current_port
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t current_port() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::owns
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t owns() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/filters/hex_filt.cpp:26,1
    - Dst: resize
      Src: /src/botan/src/lib/filters/hex_filt.cpp:27,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - breaks
    - length
    - c
    argTypes:
    - bool
    - size_t
    - Case
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: Botan::Hex_Encoder::Hex_Encoder
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 6
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void Hex_Encoder::Hex_Encoder(bool breaks, size_t length, Case c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/filters/hex_filt.cpp:35,1
    - Dst: resize
      Src: /src/botan/src/lib/filters/hex_filt.cpp:36,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - Case
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: Botan::Hex_Encoder::Hex_Encoder
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 6
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void Hex_Encoder::Hex_Encoder(Case c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex_encode
      Src: /src/botan/src/lib/filters/hex_filt.cpp:44,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/filters/hex_filt.cpp:44,1
    - Dst: data
      Src: /src/botan/src/lib/filters/hex_filt.cpp:44,1
    - Dst: send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:47,1
    - Dst: send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:52,1
    - Dst: send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - block
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: Botan::Hex_Encoder::encode_and_send
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 0
    functionsReached:
    - send
    - data
    - cast_uint8_ptr_to_char
    - hex_encode
    linkageType: ''
    returnType: void
    signature: void Hex_Encoder::encode_and_send(const uint8_t block[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/hex_filt.cpp:69,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:71,1
    - Dst: Botan::Hex_Encoder::encode_and_send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:72,1
    - Dst: data
      Src: /src/botan/src/lib/filters/hex_filt.cpp:72,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:72,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:73,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:74,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:75,1
    - Dst: Botan::Hex_Encoder::encode_and_send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:76,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:76,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:77,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:78,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/hex_filt.cpp:80,1
    - Dst: data
      Src: /src/botan/src/lib/filters/hex_filt.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: Botan::Hex_Encoder::write
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::Hex_Encoder::encode_and_send
    - copy_mem
    - size
    linkageType: ''
    returnType: void
    signature: void Hex_Encoder::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hex_Encoder::encode_and_send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/filters/hex_filt.cpp:90,1
    - Dst: send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: Botan::Hex_Encoder::end_msg
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 0
    functionsReached:
    - send
    - data
    - Botan::Hex_Encoder::encode_and_send
    linkageType: ''
    returnType: void
    signature: void Hex_Encoder::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/filters/hex_filt.cpp:101,1
    - Dst: resize
      Src: /src/botan/src/lib/filters/hex_filt.cpp:102,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - Decoder_Checking
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: Botan::Hex_Decoder::Hex_Decoder
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 5
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void Hex_Decoder::Hex_Decoder(Decoder_Checking c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/hex_filt.cpp:112,1
    - Dst: send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:119,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/hex_filt.cpp:122,1
    - Dst: data
      Src: /src/botan/src/lib/filters/hex_filt.cpp:122,1
    - Dst: data
      Src: /src/botan/src/lib/filters/hex_filt.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: Botan::Hex_Decoder::write
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 0
    functionsReached:
    - send
    - data
    - copy_mem
    linkageType: ''
    returnType: void
    signature: void Hex_Decoder::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:141,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/hex_filt.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: Botan::Hex_Decoder::end_msg
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 0
    functionsReached:
    - send
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Hex_Decoder::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Output_Buffers::get
      Src: /src/botan/src/lib/filters/out_buf.cpp:20,1
    - Dst: SecureQueue*::read
      Src: /src/botan/src/lib/filters/out_buf.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - output
    - length
    - msg
    argTypes:
    - uint8_t[]
    - size_t
    - Pipe::message_id
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: Botan::Output_Buffers::read
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached:
    - Botan::Output_Buffers::get
    - SecureQueue*::read
    linkageType: ''
    returnType: size_t
    signature: size_t Output_Buffers::read(uint8_t output[], size_t length, Pipe::message_id
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Output_Buffers::get
      Src: /src/botan/src/lib/filters/out_buf.cpp:31,1
    - Dst: SecureQueue*::peek
      Src: /src/botan/src/lib/filters/out_buf.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - output
    - length
    - stream_offset
    - msg
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    - Pipe::message_id
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: Botan::Output_Buffers::peek
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached:
    - SecureQueue*::peek
    - Botan::Output_Buffers::get
    linkageType: ''
    returnType: size_t
    signature: size_t Output_Buffers::peek(uint8_t output[], size_t length, size_t
      stream_offset, Pipe::message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Output_Buffers::get
      Src: /src/botan/src/lib/filters/out_buf.cpp:42,1
    - Dst: SecureQueue*::size
      Src: /src/botan/src/lib/filters/out_buf.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Pipe::message_id
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: Botan::Output_Buffers::remaining
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached:
    - SecureQueue*::size
    - Botan::Output_Buffers::get
    linkageType: ''
    returnType: size_t
    signature: size_t Output_Buffers::remaining(Pipe::message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Output_Buffers::get
      Src: /src/botan/src/lib/filters/out_buf.cpp:53,1
    - Dst: SecureQueue*::get_bytes_read
      Src: /src/botan/src/lib/filters/out_buf.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Pipe::message_id
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: Botan::Output_Buffers::get_bytes_read
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached:
    - Botan::Output_Buffers::get
    - SecureQueue*::get_bytes_read
    linkageType: ''
    returnType: size_t
    signature: size_t Output_Buffers::get_bytes_read(Pipe::message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/filters/out_buf.cpp:64,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/filters/out_buf.cpp:66,1
    - Dst: size
      Src: /src/botan/src/lib/filters/out_buf.cpp:66,1
    - Dst: max_size
      Src: /src/botan/src/lib/filters/out_buf.cpp:66,1
    - Dst: push_back
      Src: /src/botan/src/lib/filters/out_buf.cpp:68,1
    - Dst: std::unique_ptr<SecureQueue>
      Src: /src/botan/src/lib/filters/out_buf.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - queue
    argTypes:
    - SecureQueue*
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: Botan::Output_Buffers::add
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached:
    - max_size
    - BOTAN_ASSERT
    - size
    - std::unique_ptr<SecureQueue>
    - push_back
    linkageType: ''
    returnType: void
    signature: void Output_Buffers::add(SecureQueue* queue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/filters/out_buf.cpp:76,1
    - Dst: reset
      Src: /src/botan/src/lib/filters/out_buf.cpp:77,1
    - Dst: empty
      Src: /src/botan/src/lib/filters/out_buf.cpp:81,1
    - Dst: pop_front
      Src: /src/botan/src/lib/filters/out_buf.cpp:82,1
    - Dst: Pipe::message_id
      Src: /src/botan/src/lib/filters/out_buf.cpp:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: Botan::Output_Buffers::retire
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached:
    - Pipe::message_id
    - reset
    - empty
    - pop_front
    linkageType: ''
    returnType: void
    signature: void Output_Buffers::retire()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/filters/out_buf.cpp:95,1
    - Dst: Botan::Output_Buffers::message_count
      Src: /src/botan/src/lib/filters/out_buf.cpp:95,1
    - Dst: Botan::Output_Buffers::get
      Src: /src/botan/src/lib/filters/out_buf.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Pipe::message_id
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: Botan::Output_Buffers::get
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 5
    functionsReached:
    - Botan::Output_Buffers::message_count
    - BOTAN_ASSERT
    - Botan::Output_Buffers::get
    linkageType: ''
    returnType: SecureQueue
    signature: SecureQueue * Output_Buffers::get(Pipe::message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/filters/out_buf.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::Output_Buffers::message_count
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: Pipe::message_id
    signature: Pipe::message_id Output_Buffers::message_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Botan::Output_Buffers::Output_Buffers
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Output_Buffers::Output_Buffers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DataSink_Stream::write
      Src: /src/botan/src/lib/filters/data_snk.cpp:27,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/filters/data_snk.cpp:27,1
    - Dst: good
      Src: /src/botan/src/lib/filters/data_snk.cpp:28,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/filters/data_snk.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: Botan::DataSink_Stream::write
    functionSourceFile: /src/botan/src/lib/filters/data_snk.cpp
    functionUses: 1
    functionsReached:
    - cast_uint8_ptr_to_char
    - good
    - Botan::DataSink_Stream::write
    - Stream_IO_Error
    linkageType: ''
    returnType: void
    signature: void DataSink_Stream::write(const uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/botan/src/lib/filters/data_snk.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::DataSink_Stream::end_msg
    functionSourceFile: /src/botan/src/lib/filters/data_snk.cpp
    functionUses: 0
    functionsReached:
    - flush
    linkageType: ''
    returnType: void
    signature: void DataSink_Stream::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' out'
    - name
    argTypes:
    - std::ostream
    - std::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::DataSink_Stream::DataSink_Stream
    functionSourceFile: /src/botan/src/lib/filters/data_snk.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSink_Stream::DataSink_Stream(std::ostream& out, std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<std::ofstream>
      Src: /src/botan/src/lib/filters/data_snk.cpp:52,1
    - Dst: std::string
      Src: /src/botan/src/lib/filters/data_snk.cpp:52,1
    - Dst: good
      Src: /src/botan/src/lib/filters/data_snk.cpp:54,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/filters/data_snk.cpp:55,1
    - Dst: fmt
      Src: /src/botan/src/lib/filters/data_snk.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - path
    - use_binary
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: Botan::DataSink_Stream::DataSink_Stream
    functionSourceFile: /src/botan/src/lib/filters/data_snk.cpp
    functionUses: 2
    functionsReached:
    - good
    - std::string
    - Stream_IO_Error
    - fmt
    - std::make_unique<std::ofstream>
    linkageType: ''
    returnType: void
    signature: void DataSink_Stream::DataSink_Stream(std::string_view path, bool use_binary)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: DataSink_Stream::~DataSink_Stream()
    functionSourceFile: /src/botan/src/lib/filters/data_snk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSink_Stream::~DataSink_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remaining
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:20,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:26,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:29,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - fd
    - ' pipe'
    argTypes:
    - int
    - Pipe
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: operator<<(int fd, Pipe& pipe)
    functionSourceFile: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - remaining
    - Stream_IO_Error
    linkageType: ''
    returnType: int
    signature: int operator<<(int fd, Pipe& pipe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:44,1
    - Dst: Botan::write
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:48,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:48,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - fd
    - ' pipe'
    argTypes:
    - int
    - Pipe
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: operator>>(int fd, Pipe& pipe)
    functionSourceFile: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - Botan::write
    - secure_vector::data
    - Stream_IO_Error
    linkageType: ''
    returnType: int
    signature: int operator>>(int fd, Pipe& pipe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:19,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:27,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:32,1
    - Dst: botan_hash_struct::botan_hash_struct
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - hash
    - hash_name
    - flags
    argTypes:
    - botan_hash_t*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 35
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 35
    functionName: botan_hash_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::HashFunction::create
    - ffi_guard_thunk
    - botan_hash_struct::botan_hash_struct
    linkageType: ''
    returnType: int
    signature: int botan_hash_init(botan_hash_t* hash, const char* hash_name, uint32_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - botan_hash_t
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: botan_hash_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_hash_destroy(botan_hash_t hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:45,1
    - Dst: output_length
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hash
    - out
    argTypes:
    - botan_hash_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: botan_hash_output_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - output_length
    linkageType: ''
    returnType: int
    signature: int botan_hash_output_length(botan_hash_t hash, size_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:52,1
    - Dst: hash_block_size
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hash
    - out
    argTypes:
    - botan_hash_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: botan_hash_block_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - hash_block_size
    linkageType: ''
    returnType: int
    signature: int botan_hash_block_size(botan_hash_t hash, size_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:56,1
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hash
    argTypes:
    - botan_hash_t
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: botan_hash_clear
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - clear
    linkageType: ''
    returnType: int
    signature: int botan_hash_clear(botan_hash_t hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:68,1
    - Dst: update
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - hash
    - buf
    - len
    argTypes:
    - botan_hash_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: botan_hash_update
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - update
    linkageType: ''
    returnType: int
    signature: int botan_hash_update(botan_hash_t hash, const uint8_t* buf, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:75,1
    - Dst: final
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hash
    - out
    argTypes:
    - botan_hash_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: botan_hash_final
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - final
    linkageType: ''
    returnType: int
    signature: int botan_hash_final(botan_hash_t hash, uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:79,1
    - Dst: copy_state
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:79,1
    - Dst: botan_hash_struct::botan_hash_struct
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - botan_hash_t*
    - botan_hash_t
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: botan_hash_copy_state
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - copy_state
    - botan_hash_struct::botan_hash_struct
    linkageType: ''
    returnType: int
    signature: int botan_hash_copy_state(botan_hash_t* dest, const botan_hash_t source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:87,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:87,1
    - Dst: name
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hash
    - name
    - name_len
    argTypes:
    - botan_hash_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: botan_hash_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - name
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_hash_name(botan_hash_t hash, char* name, size_t* name_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:19,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:26,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:31,1
    - Dst: botan_block_cipher_struct::botan_block_cipher_struct
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bc
    - bc_name
    argTypes:
    - botan_block_cipher_t*
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: botan_block_cipher_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - botan_block_cipher_struct::botan_block_cipher_struct
    - ffi_guard_thunk
    - Botan::BlockCipher::create
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_init(botan_block_cipher_t* bc, const char* bc_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bc
    argTypes:
    - botan_block_cipher_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: botan_block_cipher_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_destroy(botan_block_cipher_t bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:44,1
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bc
    argTypes:
    - botan_block_cipher_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: botan_block_cipher_clear
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - clear
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_clear(botan_block_cipher_t bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:54,1
    - Dst: set_key
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bc
    - key
    - len
    argTypes:
    - botan_block_cipher_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: botan_block_cipher_set_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - set_key
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_set_key(botan_block_cipher_t bc, const uint8_t
      key[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:62,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:62,1
    - Dst: block_size
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bc
    argTypes:
    - botan_block_cipher_t
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: botan_block_cipher_block_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - static_cast<int>
    - block_size
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_block_size(botan_block_cipher_t bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:69,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - bc
    - in
    - out
    - blocks
    argTypes:
    - botan_block_cipher_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: botan_block_cipher_encrypt_blocks
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - encrypt_n
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_encrypt_blocks(botan_block_cipher_t bc, const
      uint8_t in[], uint8_t out[], size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:76,1
    - Dst: decrypt_n
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - bc
    - in
    - out
    - blocks
    argTypes:
    - botan_block_cipher_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: botan_block_cipher_decrypt_blocks
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - decrypt_n
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_decrypt_blocks(botan_block_cipher_t bc, const
      uint8_t in[], uint8_t out[], size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:84,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:84,1
    - Dst: name
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cipher
    - name
    - name_len
    argTypes:
    - botan_block_cipher_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: botan_block_cipher_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - name
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_name(botan_block_cipher_t cipher, char* name,
      size_t* name_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:91,1
    - Dst: minimum_keylength
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:93,1
    - Dst: maximum_keylength
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:96,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cipher
    - out_minimum_keylength
    - out_maximum_keylength
    - out_keylength_modulo
    argTypes:
    - botan_block_cipher_t
    - size_t*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: botan_block_cipher_get_keyspec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - minimum_keylength
    - key_spec
    - maximum_keylength
    linkageType: ''
    returnType: int
    signature: "int botan_block_cipher_get_keyspec(botan_block_cipher_t cipher,\n
      \                                  size_t* out_minimum_keylength,\n                                   size_t*
      out_maximum_keylength,\n                                   size_t* out_keylength_modulo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - err
    argTypes:
    - Botan::ErrorType
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: Botan_FFI::ffi_map_error_type
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ffi_map_error_type(Botan::ErrorType err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan_FFI::ffi_clear_last_exception
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ffi_clear_last_exception()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/ffi/ffi.cpp:91,1
    - Dst: Botan::OS::read_env_variable
      Src: /src/botan/src/lib/ffi/ffi.cpp:95,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/ffi/ffi.cpp:95,1
    - Dst: static_cast<void>
      Src: /src/botan/src/lib/ffi/ffi.cpp:96,1
    - Dst: std::fprintf
      Src: /src/botan/src/lib/ffi/ffi.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - func_name
    - exn
    - rc
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: Botan_FFI::ffi_error_exception_thrown
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - std::fprintf
    - static_cast<void>
    - Botan::OS::read_env_variable
    - std::string::empty
    - assign
    linkageType: ''
    returnType: int
    signature: int ffi_error_exception_thrown(const char* func_name, const char* exn,
      int rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::ffi_error_exception_thrown
      Src: /src/botan/src/lib/ffi/ffi.cpp:104,1
    - Dst: Botan_FFI::ffi_map_error_type
      Src: /src/botan/src/lib/ffi/ffi.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - func_name
    - exn
    - err
    argTypes:
    - char*
    - char*
    - Botan::ErrorType
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan_FFI::ffi_error_exception_thrown
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan_FFI::ffi_error_exception_thrown
    - Botan_FFI::ffi_map_error_type
    linkageType: ''
    returnType: int
    signature: int ffi_error_exception_thrown(const char* func_name, const char* exn,
      Botan::ErrorType err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::botan_view_bin_bounce_fn
      Src: /src/botan/src/lib/ffi/ffi.cpp:108,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/ffi/ffi.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - str
    - len
    argTypes:
    - botan_view_ctx
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan_FFI::botan_view_str_bounce_fn
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan_FFI::botan_view_bin_bounce_fn
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: int
    signature: int botan_view_str_bounce_fn(botan_view_ctx vctx, const char* str,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<botan_view_bounce_struct*>
      Src: /src/botan/src/lib/ffi/ffi.cpp:116,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/ffi/ffi.cpp:123,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi.cpp:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - vctx
    - buf
    - len
    argTypes:
    - botan_view_ctx
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: Botan_FFI::botan_view_bin_bounce_fn
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan::copy_mem
    - Botan::clear_mem
    - static_cast<botan_view_bounce_struct*>
    linkageType: ''
    returnType: int
    signature: int botan_view_bin_bounce_fn(botan_view_ctx vctx, const uint8_t* buf,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/botan/src/lib/ffi/ffi.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: botan_error_last_exception_message
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * botan_error_last_exception_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 213
    functionName: botan_error_description
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * botan_error_description(int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: botan_ffi_api_version
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t botan_ffi_api_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - api_version
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 280
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 280
    functionName: botan_ffi_supports_api
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int botan_ffi_supports_api(uint32_t api_version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_cstr
      Src: /src/botan/src/lib/ffi/ffi.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: botan_version_string
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan::version_cstr
    linkageType: ''
    returnType: char
    signature: char * botan_version_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_major
      Src: /src/botan/src/lib/ffi/ffi.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: botan_version_major
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan::version_major
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t botan_version_major()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_minor
      Src: /src/botan/src/lib/ffi/ffi.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: botan_version_minor
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan::version_minor
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t botan_version_minor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_patch
      Src: /src/botan/src/lib/ffi/ffi.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: botan_version_patch
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan::version_patch
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t botan_version_patch()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_datestamp
      Src: /src/botan/src/lib/ffi/ffi.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: botan_version_datestamp
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan::version_datestamp
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t botan_version_datestamp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/ffi/ffi.cpp:303,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/ffi/ffi.cpp:305,1
    - Dst: auto::select
      Src: /src/botan/src/lib/ffi/ffi.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: botan_constant_time_compare
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Botan::CT::is_equal
    - auto::select
    linkageType: ''
    returnType: int
    signature: int botan_constant_time_compare(const uint8_t* x, const uint8_t* y,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_constant_time_compare
      Src: /src/botan/src/lib/ffi/ffi.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: botan_same_mem
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - botan_constant_time_compare
    linkageType: ''
    returnType: int
    signature: int botan_same_mem(const uint8_t* x, const uint8_t* y, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_scrub_memory
      Src: /src/botan/src/lib/ffi/ffi.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - bytes
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: botan_scrub_mem
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan::secure_scrub_memory
    linkageType: ''
    returnType: int
    signature: int botan_scrub_mem(void* mem, size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi.cpp:318,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/lib/ffi/ffi.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - in
    - len
    - out
    - flags
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: botan_hex_encode
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::hex_encode
    linkageType: ''
    returnType: int
    signature: int botan_hex_encode(const uint8_t* in, size_t len, char* out, uint32_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi.cpp:326,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/lib/ffi/ffi.cpp:327,1
    - Dst: Botan_FFI::write_vec_output
      Src: /src/botan/src/lib/ffi/ffi.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - hex_str
    - in_len
    - out
    - out_len
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: botan_hex_decode
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan_FFI::write_vec_output
    - ffi_guard_thunk
    - Botan::hex_decode
    linkageType: ''
    returnType: int
    signature: int botan_hex_decode(const char* hex_str, size_t in_len, uint8_t* out,
      size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi.cpp:333,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/ffi/ffi.cpp:334,1
    - Dst: Botan_FFI::write_str_output
      Src: /src/botan/src/lib/ffi/ffi.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - in
    - len
    - out
    - out_len
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: botan_base64_encode
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan::base64_encode
    - Botan_FFI::write_str_output
    - ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_base64_encode(const uint8_t* in, size_t len, char* out, size_t*
      out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi.cpp:340,1
    - Dst: Botan::base64_decode_max_output
      Src: /src/botan/src/lib/ffi/ffi.cpp:341,1
    - Dst: Botan::base64_decode_max_output
      Src: /src/botan/src/lib/ffi/ffi.cpp:342,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/ffi/ffi.cpp:346,1
    - Dst: std::string
      Src: /src/botan/src/lib/ffi/ffi.cpp:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - base64_str
    - in_len
    - out
    - out_len
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: botan_base64_decode
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - ffi_guard_thunk
    - Botan::base64_decode_max_output
    - Botan::base64_decode
    linkageType: ''
    returnType: int
    signature: int botan_base64_decode(const char* base64_str, size_t in_len, uint8_t*
      out, size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec_group
    argTypes:
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: botan_ec_group_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_destroy(botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - out
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: botan_ec_group_supports_application_specific_group
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_supports_application_specific_group(int* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:37,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - name
    - out
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: botan_ec_group_supports_named_group
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_supports_named_group(const char* name, int* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:58,1
    - Dst: std::make_unique<Botan::EC_Group>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:66,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:66,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:67,1
    - Dst: botan_ec_group_struct::botan_ec_group_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ec_group
    - oid
    - p
    - a
    - b
    - base_x
    - base_y
    - order
    argTypes:
    - botan_ec_group_t*
    - botan_asn1_oid_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: botan_ec_group_from_params
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - ffi_guard_thunk
    - std::make_unique<Botan::EC_Group>
    - botan_ec_group_struct::botan_ec_group_struct
    linkageType: ''
    returnType: int
    signature: "int botan_ec_group_from_params(botan_ec_group_t* ec_group,\n                               botan_asn1_oid_t
      oid,\n                               botan_mp_t p,\n                               botan_mp_t
      a,\n                               botan_mp_t b,\n                               botan_mp_t
      base_x,\n                               botan_mp_t base_y,\n                               botan_mp_t
      order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:74,1
    - Dst: std::make_unique<Botan::EC_Group>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:81,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:81,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:82,1
    - Dst: botan_ec_group_struct::botan_ec_group_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ec_group
    - ber
    - ber_len
    argTypes:
    - botan_ec_group_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: botan_ec_group_from_ber
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - ffi_guard_thunk
    - std::make_unique<Botan::EC_Group>
    - botan_ec_group_struct::botan_ec_group_struct
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_from_ber(botan_ec_group_t* ec_group, const uint8_t*
      ber, size_t ber_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:89,1
    - Dst: Botan::EC_Group::from_PEM
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:94,1
    - Dst: std::make_unique<Botan::EC_Group>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:96,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:96,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:97,1
    - Dst: botan_ec_group_struct::botan_ec_group_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ec_group
    - pem
    argTypes:
    - botan_ec_group_t*
    - char*
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: botan_ec_group_from_pem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - botan_ec_group_struct::botan_ec_group_struct
    - ffi_guard_thunk
    - Botan::EC_Group::from_PEM
    - std::make_unique<Botan::EC_Group>
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_from_pem(botan_ec_group_t* ec_group, const char*
      pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:104,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:109,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:109,1
    - Dst: std::make_unique<Botan::EC_Group>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:111,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:111,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:112,1
    - Dst: botan_ec_group_struct::botan_ec_group_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ec_group
    - oid
    argTypes:
    - botan_ec_group_t*
    - botan_asn1_oid_t
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: botan_ec_group_from_oid
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::EC_Group::from_OID
    - botan_ec_group_struct::botan_ec_group_struct
    - ffi_guard_thunk
    - safe_get
    - std::make_unique<Botan::EC_Group>
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_from_oid(botan_ec_group_t* ec_group, botan_asn1_oid_t
      oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:119,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:124,1
    - Dst: std::make_unique<Botan::EC_Group>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:126,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:126,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:127,1
    - Dst: botan_ec_group_struct::botan_ec_group_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ec_group
    - name
    argTypes:
    - botan_ec_group_t*
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: botan_ec_group_from_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - botan_ec_group_struct::botan_ec_group_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::EC_Group>
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_from_name(botan_ec_group_t* ec_group, const char*
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:134,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:135,1
    - Dst: DER_encode
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ec_group
    - ctx
    - view
    argTypes:
    - botan_ec_group_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: botan_ec_group_view_der
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - DER_encode
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_view_der(botan_ec_group_t ec_group, botan_view_ctx
      ctx, botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:139,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:140,1
    - Dst: PEM_encode
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ec_group
    - ctx
    - view
    argTypes:
    - botan_ec_group_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: botan_ec_group_view_pem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - PEM_encode
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_view_pem(botan_ec_group_t ec_group, botan_view_ctx
      ctx, botan_view_str_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:145,1
    - Dst: std::make_unique<Botan::OID>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:149,1
    - Dst: get_curve_oid
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:149,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:150,1
    - Dst: botan_asn1_oid_struct::botan_asn1_oid_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - oid
    - ec_group
    argTypes:
    - botan_asn1_oid_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: botan_ec_group_get_curve_oid
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_FFI_VISIT
    - std::make_unique<Botan::OID>
    - botan_asn1_oid_struct::botan_asn1_oid_struct
    - get_curve_oid
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_curve_oid(botan_asn1_oid_t* oid, botan_ec_group_t
      ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:160,1
    - Dst: std::make_unique<Botan::BigInt>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:164,1
    - Dst: getter
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:164,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:165,1
    - Dst: botan_mp_struct::botan_mp_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - out
    - ec_group
    - ' getter'
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    - std::function<const Botan::BigInt&(const Botan::EC_Group&)>
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: botan_ec_group_get_component
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_FFI_VISIT
    - getter
    - botan_mp_struct::botan_mp_struct
    - std::make_unique<Botan::BigInt>
    linkageType: ''
    returnType: int
    signature: "int botan_ec_group_get_component(botan_mp_t* out,\n                                 botan_ec_group_t
      ec_group,\n                                 const std::function<const Botan::BigInt&(const
      Botan::EC_Group&)>& getter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_ec_group_get_component
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:172,1
    - Dst: get_p
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - ec_group
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: botan_ec_group_get_p
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - botan_ec_group_get_component
    - get_p
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_p(botan_mp_t* p, botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_ec_group_get_component
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:176,1
    - Dst: get_a
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - ec_group
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: botan_ec_group_get_a
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - get_a
    - botan_ec_group_get_component
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_a(botan_mp_t* a, botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_ec_group_get_component
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:180,1
    - Dst: get_b
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - ec_group
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: botan_ec_group_get_b
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - get_b
    - botan_ec_group_get_component
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_b(botan_mp_t* b, botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_ec_group_get_component
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:184,1
    - Dst: get_g_x
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g_x
    - ec_group
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: botan_ec_group_get_g_x
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - botan_ec_group_get_component
    - get_g_x
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_g_x(botan_mp_t* g_x, botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_ec_group_get_component
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:189,1
    - Dst: get_g_y
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g_y
    - ec_group
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: botan_ec_group_get_g_y
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - botan_ec_group_get_component
    - get_g_y
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_g_y(botan_mp_t* g_y, botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_ec_group_get_component
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:194,1
    - Dst: get_order
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - order
    - ec_group
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: botan_ec_group_get_order
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - get_order
    - botan_ec_group_get_component
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_order(botan_mp_t* order, botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:199,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - curve1_w
    - curve2_w
    argTypes:
    - botan_ec_group_t
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: botan_ec_group_equal
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_equal(botan_ec_group_t curve1_w, botan_ec_group_t
      curve2_w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:34,1
    - Dst: std::make_unique<Botan::System_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:44,1
    - Dst: std::make_unique<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:46,1
    - Dst: std::make_unique<Botan::Null_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:48,1
    - Dst: Botan::Processor_RNG::available
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:51,1
    - Dst: std::make_unique<Botan::Processor_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:52,1
    - Dst: std::make_unique<Botan::Jitter_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:57,1
    - Dst: std::make_unique<Botan::ESDM_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:62,1
    - Dst: std::make_unique<Botan::ESDM_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:64,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:72,1
    - Dst: botan_rng_struct::botan_rng_struct
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - rng_out
    - rng_type
    argTypes:
    - botan_rng_t*
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 75
    functionName: botan_rng_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - Botan::Processor_RNG::available
    - std::make_unique<Botan::Null_RNG>
    - std::make_unique<Botan::Processor_RNG>
    - ffi_guard_thunk
    - botan_rng_struct::botan_rng_struct
    - std::make_unique<Botan::Jitter_RNG>
    - std::make_unique<Botan::System_RNG>
    - std::make_unique<Botan::ESDM_RNG>
    - std::make_unique<Botan::AutoSeeded_RNG>
    linkageType: ''
    returnType: int
    signature: int botan_rng_init(botan_rng_t* rng_out, const char* rng_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:83,1
    - Dst: m_destroy_cb
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:112,1
    - Dst: accepts_input
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:123,1
    - Dst: empty
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:123,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:126,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:126,1
    - Dst: empty
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:130,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:133,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:133,1
    - Dst: std::make_unique<Custom_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:155,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:157,1
    - Dst: botan_rng_struct::botan_rng_struct
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:157,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - rng_out
    - rng_name
    - context
    argTypes:
    - botan_rng_t*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 160
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 160
    functionName: botan_rng_init_custom
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::to_string
    - std::make_unique<Custom_RNG>
    - empty
    - ffi_guard_thunk
    - m_destroy_cb
    - botan_rng_struct::botan_rng_struct
    - Invalid_State
    - accepts_input
    linkageType: ''
    returnType: int
    signature: "int botan_rng_init_custom(botan_rng_t* rng_out,\n                          const
      char* rng_name,\n                          void* context,\n                          int
      (*get_cb)(void* context, uint8_t* out, size_t out_len),\n                          int
      (*add_entropy_cb)(void* context, const uint8_t input[], size_t length),\n                          void
      (*destroy_cb)(void* context))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rng
    argTypes:
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: botan_rng_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_rng_destroy(botan_rng_t rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:167,1
    - Dst: randomize
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rng
    - out
    - out_len
    argTypes:
    - botan_rng_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: botan_rng_get
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - randomize
    linkageType: ''
    returnType: int
    signature: int botan_rng_get(botan_rng_t rng, uint8_t* out, size_t out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:171,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - out_len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: botan_system_rng_get
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::system_rng
    - ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_system_rng_get(uint8_t* out, size_t out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:178,1
    - Dst: reseed_from_rng
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:178,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rng
    - bits
    argTypes:
    - botan_rng_t
    - size_t
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: botan_rng_reseed
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::system_rng
    - reseed_from_rng
    linkageType: ''
    returnType: int
    signature: int botan_rng_reseed(botan_rng_t rng, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:182,1
    - Dst: add_entropy
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rng
    - input
    - len
    argTypes:
    - botan_rng_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: botan_rng_add_entropy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - add_entropy
    linkageType: ''
    returnType: int
    signature: int botan_rng_add_entropy(botan_rng_t rng, const uint8_t* input, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:186,1
    - Dst: reseed_from_rng
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:186,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rng
    - source_rng
    - bits
    argTypes:
    - botan_rng_t
    - botan_rng_t
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: botan_rng_reseed_from_rng
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - reseed_from_rng
    linkageType: ''
    returnType: int
    signature: int botan_rng_reseed_from_rng(botan_rng_t rng, botan_rng_t source_rng,
      size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:37,1
    - Dst: std::make_unique<Botan::X509_Certificate>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:38,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:39,1
    - Dst: botan_x509_cert_struct::botan_x509_cert_struct
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - cert_obj
    - cert_path
    argTypes:
    - botan_x509_cert_t*
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: botan_x509_cert_load_file
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - ffi_guard_thunk
    - std::make_unique<Botan::X509_Certificate>
    - botan_x509_cert_struct::botan_x509_cert_struct
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_load_file(botan_x509_cert_t* cert_obj, const char*
      cert_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:55,1
    - Dst: std::make_unique<Botan::X509_Certificate>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:56,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:56,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:57,1
    - Dst: botan_x509_cert_struct::botan_x509_cert_struct
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:57,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cert_obj
    - cert
    argTypes:
    - botan_x509_cert_t*
    - botan_x509_cert_t
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: botan_x509_cert_dup
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_x509_cert_struct::botan_x509_cert_struct
    - ffi_guard_thunk
    - safe_get
    - std::make_unique<Botan::X509_Certificate>
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_dup(botan_x509_cert_t* cert_obj, botan_x509_cert_t
      cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:73,1
    - Dst: std::make_unique<Botan::X509_Certificate>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:75,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:76,1
    - Dst: botan_x509_cert_struct::botan_x509_cert_struct
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:76,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cert_obj
    - cert_bits
    - cert_bits_len
    argTypes:
    - botan_x509_cert_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: botan_x509_cert_load
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_x509_cert_struct::botan_x509_cert_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::X509_Certificate>
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_load(botan_x509_cert_t* cert_obj, const uint8_t
      cert_bits[], size_t cert_bits_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:93,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:94,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:95,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:95,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - cert
    - key
    argTypes:
    - botan_x509_cert_t
    - botan_pubkey_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: botan_x509_cert_get_public_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_public_key(botan_x509_cert_t cert, botan_pubkey_t*
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:107,1
    - Dst: issuer_info
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:108,1
    - Dst: auto::size
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:109,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:110,1
    - Dst: issuer_info
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:110,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - cert
    - key
    - index
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - char*
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: botan_x509_cert_get_issuer_dn
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - issuer_info
    - write_str_output
    - auto::size
    linkageType: ''
    returnType: int
    signature: "int botan_x509_cert_get_issuer_dn(\n   botan_x509_cert_t cert, const
      char* key, size_t index, uint8_t out[], size_t* out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:124,1
    - Dst: subject_info
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:125,1
    - Dst: auto::size
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:126,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:127,1
    - Dst: subject_info
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:127,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - cert
    - key
    - index
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - char*
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: botan_x509_cert_get_subject_dn
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - subject_info
    - write_str_output
    - auto::size
    linkageType: ''
    returnType: int
    signature: "int botan_x509_cert_get_subject_dn(\n   botan_x509_cert_t cert, const
      char* key, size_t index, uint8_t out[], size_t* out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_str
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:139,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - char[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: botan_x509_cert_to_string
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - copy_view_str
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_to_string(botan_x509_cert_t cert, char out[], size_t*
      out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:144,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:144,1
    - Dst: to_string
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:144,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - ctx
    - view
    argTypes:
    - botan_x509_cert_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: botan_x509_cert_view_as_string
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - to_string
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_view_as_string(botan_x509_cert_t cert, botan_view_ctx
      ctx, botan_view_str_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:153,1
    - Dst: static_cast<Botan::Key_Constraints>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:154,1
    - Dst: allowed_usage
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:155,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cert
    - key_usage
    argTypes:
    - botan_x509_cert_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: botan_x509_cert_allowed_usage
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Botan::Key_Constraints>
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - allowed_usage
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_allowed_usage(botan_x509_cert_t cert, unsigned
      int key_usage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:168,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cert
    argTypes:
    - botan_x509_cert_t
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: botan_x509_cert_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_destroy(botan_x509_cert_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:177,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:178,1
    - Dst: not_before
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:178,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - char[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: botan_x509_cert_get_time_starts
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - not_before
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_time_starts(botan_x509_cert_t cert, char out[],
      size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:187,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:188,1
    - Dst: not_after
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:188,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - char[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: botan_x509_cert_get_time_expires
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - not_after
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_time_expires(botan_x509_cert_t cert, char out[],
      size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:197,1
    - Dst: not_before
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:197,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cert
    - time_since_epoch
    argTypes:
    - botan_x509_cert_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: botan_x509_cert_not_before
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - not_before
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_not_before(botan_x509_cert_t cert, uint64_t* time_since_epoch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:206,1
    - Dst: not_after
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:206,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cert
    - time_since_epoch
    argTypes:
    - botan_x509_cert_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: botan_x509_cert_not_after
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - not_after
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_not_after(botan_x509_cert_t cert, uint64_t* time_since_epoch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:215,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:215,1
    - Dst: serial_number
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:215,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: botan_x509_cert_get_serial_number
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - write_vec_output
    - serial_number
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_serial_number(botan_x509_cert_t cert, uint8_t
      out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:224,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:224,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:224,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - cert
    - hash
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - char*
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: botan_x509_cert_get_fingerprint
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - fingerprint
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_fingerprint(botan_x509_cert_t cert, const char*
      hash, uint8_t out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:233,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:233,1
    - Dst: authority_key_id
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:233,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: botan_x509_cert_get_authority_key_id
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - authority_key_id
    - BOTAN_FFI_VISIT
    - write_vec_output
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_authority_key_id(botan_x509_cert_t cert, uint8_t
      out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:242,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:242,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:242,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: botan_x509_cert_get_subject_key_id
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - write_vec_output
    - subject_key_id
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_subject_key_id(botan_x509_cert_t cert, uint8_t
      out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: botan_x509_cert_get_public_key_bits
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - copy_view_bin
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_public_key_bits(botan_x509_cert_t cert, uint8_t
      out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:255,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:256,1
    - Dst: subject_public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:256,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - ctx
    - view
    argTypes:
    - botan_x509_cert_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: botan_x509_cert_view_public_key_bits
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - subject_public_key_bits
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_view_public_key_bits(botan_x509_cert_t cert, botan_view_ctx
      ctx, botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:269,1
    - Dst: matches_dns_name
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:269,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cert
    - hostname
    argTypes:
    - botan_x509_cert_t
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 274
    functionName: botan_x509_cert_hostname_match
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - matches_dns_name
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_hostname_match(botan_x509_cert_t cert, const char*
      hostname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:291,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:295,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:296,1
    - Dst: static_cast<time_t>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:296,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:299,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:299,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:301,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:301,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:309,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:310,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:310,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:314,1
    - Dst: std::unique_ptr::add_certificate
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:316,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:316,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:318,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:318,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:324,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:327,1
    - Dst: auto::result
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:327,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:330,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:337,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 10
    argNames:
    - result_code
    - cert
    - intermediates
    - intermediates_len
    - trusted
    - trusted_len
    - trusted_path
    - required_strength
    - hostname_cstr
    - reference_time
    argTypes:
    - int*
    - botan_x509_cert_t
    - botan_x509_cert_t*
    - size_t
    - botan_x509_cert_t*
    - size_t
    - char*
    - size_t
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 341
      start: 276
    functionDepth: 6
    functionLinenumber: 276
    functionLinenumberEnd: 341
    functionName: botan_x509_cert_verify
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::add_certificate
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - static_cast<time_t>
    - std::make_unique<Botan::Certificate_Store_In_Memory>
    - auto::successful_validation
    - safe_get
    - static_cast<int>
    - std::unique_ptr::get
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::x509_path_validate
    - auto::result
    - std::chrono::system_clock::from_time_t
    - std::vector::push_back
    linkageType: ''
    returnType: int
    signature: "int botan_x509_cert_verify(int* result_code,\n                           botan_x509_cert_t
      cert,\n                           const botan_x509_cert_t* intermediates,\n
      \                          size_t intermediates_len,\n                           const
      botan_x509_cert_t* trusted,\n                           size_t trusted_len,\n
      \                          const char* trusted_path,\n                           size_t
      required_strength,\n                           const char* hostname_cstr,\n
      \                          uint64_t reference_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Botan::Certificate_Status_Code>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:349,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 354
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 354
    functionName: botan_x509_cert_validation_status
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 1
    functionsReached:
    - Botan::to_string
    - static_cast<Botan::Certificate_Status_Code>
    linkageType: ''
    returnType: char
    signature: char * botan_x509_cert_validation_status(int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:369,1
    - Dst: std::make_unique<Botan::X509_CRL>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:370,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:371,1
    - Dst: botan_x509_crl_struct::botan_x509_crl_struct
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - crl_obj
    - crl_path
    argTypes:
    - botan_x509_crl_t*
    - char*
    constantsTouched: []
    func_position:
      end: 378
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 378
    functionName: botan_x509_crl_load_file
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<Botan::X509_CRL>
    - ffi_guard_thunk
    - botan_x509_crl_struct::botan_x509_crl_struct
    linkageType: ''
    returnType: int
    signature: int botan_x509_crl_load_file(botan_x509_crl_t* crl_obj, const char*
      crl_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:386,1
    - Dst: std::make_unique<Botan::X509_CRL>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:388,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:389,1
    - Dst: botan_x509_crl_struct::botan_x509_crl_struct
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:389,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - crl_obj
    - crl_bits
    - crl_bits_len
    argTypes:
    - botan_x509_crl_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: botan_x509_crl_load
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - std::make_unique<Botan::X509_CRL>
    - botan_x509_crl_struct::botan_x509_crl_struct
    linkageType: ''
    returnType: int
    signature: int botan_x509_crl_load(botan_x509_crl_t* crl_obj, const uint8_t crl_bits[],
      size_t crl_bits_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:400,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - crl
    argTypes:
    - botan_x509_crl_t
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: botan_x509_crl_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_x509_crl_destroy(botan_x509_crl_t crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:409,1
    - Dst: is_revoked
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:409,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:409,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:411,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - crl
    - cert
    argTypes:
    - botan_x509_crl_t
    - botan_x509_cert_t
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: botan_x509_is_revoked
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - safe_get
    - is_revoked
    linkageType: ''
    returnType: int
    signature: int botan_x509_is_revoked(botan_x509_crl_t crl, botan_x509_cert_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:434,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:438,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:439,1
    - Dst: static_cast<time_t>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:439,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:442,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:442,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:444,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:444,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:453,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:454,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:454,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:458,1
    - Dst: std::unique_ptr::add_certificate
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:460,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:460,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:462,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:462,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:466,1
    - Dst: std::unique_ptr::add_crl
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:468,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:468,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:470,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:470,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:476,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:479,1
    - Dst: auto::result
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:479,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:482,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:489,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:490,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 12
    argNames:
    - result_code
    - cert
    - intermediates
    - intermediates_len
    - trusted
    - trusted_len
    - crls
    - crls_len
    - trusted_path
    - required_strength
    - hostname_cstr
    - reference_time
    argTypes:
    - int*
    - botan_x509_cert_t
    - botan_x509_cert_t*
    - size_t
    - botan_x509_cert_t*
    - size_t
    - botan_x509_crl_t*
    - size_t
    - char*
    - size_t
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 493
      start: 417
    functionDepth: 6
    functionLinenumber: 417
    functionLinenumberEnd: 493
    functionName: botan_x509_cert_verify_with_crl
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::add_certificate
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - static_cast<time_t>
    - std::make_unique<Botan::Certificate_Store_In_Memory>
    - std::unique_ptr::add_crl
    - auto::successful_validation
    - safe_get
    - static_cast<int>
    - std::unique_ptr::get
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::x509_path_validate
    - auto::result
    - std::chrono::system_clock::from_time_t
    - std::vector::push_back
    linkageType: ''
    returnType: int
    signature: "int botan_x509_cert_verify_with_crl(int* result_code,\n                                    botan_x509_cert_t
      cert,\n                                    const botan_x509_cert_t* intermediates,\n
      \                                   size_t intermediates_len,\n                                    const
      botan_x509_cert_t* trusted,\n                                    size_t trusted_len,\n
      \                                   const botan_x509_crl_t* crls,\n                                    size_t
      crls_len,\n                                    const char* trusted_path,\n                                    size_t
      required_strength,\n                                    const char* hostname_cstr,\n
      \                                   uint64_t reference_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - botan_asn1_oid_t
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: botan_oid_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_oid_destroy(botan_asn1_oid_t oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:24,1
    - Dst: Botan::OID::OID
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:28,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:32,1
    - Dst: std::make_unique<Botan::OID>
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:36,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:36,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:37,1
    - Dst: botan_asn1_oid_struct::botan_asn1_oid_struct
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - oid_obj
    - oid_str
    argTypes:
    - botan_asn1_oid_t*
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 40
    functionName: botan_oid_from_string
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - ffi_guard_thunk
    - std::make_unique<Botan::OID>
    - botan_asn1_oid_struct::botan_asn1_oid_struct
    - Botan::OID::OID
    - Botan::OID::from_string
    linkageType: ''
    returnType: int
    signature: int botan_oid_from_string(botan_asn1_oid_t* oid_obj, const char* oid_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:43,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - oid
    - name
    argTypes:
    - botan_asn1_oid_t
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: botan_oid_register
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::OID::register_oid
    linkageType: ''
    returnType: int
    signature: int botan_oid_register(botan_asn1_oid_t oid, const char* name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:53,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:53,1
    - Dst: to_string
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - oid
    - ctx
    - view
    argTypes:
    - botan_asn1_oid_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: botan_oid_view_string
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 0
    functionsReached:
    - to_string
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    linkageType: ''
    returnType: int
    signature: int botan_oid_view_string(botan_asn1_oid_t oid, botan_view_ctx ctx,
      botan_view_str_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:57,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:58,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - oid
    - ctx
    - view
    argTypes:
    - botan_asn1_oid_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: botan_oid_view_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - to_formatted_string
    linkageType: ''
    returnType: int
    signature: int botan_oid_view_name(botan_asn1_oid_t oid, botan_view_ctx ctx, botan_view_str_fn
      view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:62,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a_w
    - b_w
    argTypes:
    - botan_asn1_oid_t
    - botan_asn1_oid_t
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: botan_oid_equal
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_oid_equal(botan_asn1_oid_t a_w, botan_asn1_oid_t b_w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:66,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - result
    - a_w
    - b_w
    argTypes:
    - int*
    - botan_asn1_oid_t
    - botan_asn1_oid_t
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: botan_oid_cmp
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_oid_cmp(int* result, botan_asn1_oid_t a_w, botan_asn1_oid_t
      b_w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:33,1
    - Dst: std::make_unique<Botan::SRP6_Server_Session>
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:34,1
    - Dst: botan_srp6_server_session_struct::botan_srp6_server_session_struct
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:34,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - srp6
    argTypes:
    - botan_srp6_server_session_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: botan_srp6_server_session_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::SRP6_Server_Session>
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - botan_srp6_server_session_struct::botan_srp6_server_session_struct
    linkageType: ''
    returnType: int
    signature: int botan_srp6_server_session_init(botan_srp6_server_session_t* srp6)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srp6
    argTypes:
    - botan_srp6_server_session_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: botan_srp6_server_session_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_srp6_server_session_destroy(botan_srp6_server_session_t srp6)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:53,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:54,1
    - Dst: auto::p_bytes
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:55,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - group_id
    - group_p_bytes
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: botan_srp6_group_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - auto::p_bytes
    - ffi_guard_thunk
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_srp6_group_size(const char* group_id, size_t* group_p_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:73,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:78,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:79,1
    - Dst: step1
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:80,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:81,1
    - Dst: auto::serialize
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:81,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 8
    argNames:
    - srp6
    - verifier
    - verifier_len
    - group_id
    - hash_id
    - rng_obj
    - b_pub
    - b_pub_len
    argTypes:
    - botan_srp6_server_session_t
    - uint8_t*
    - size_t
    - char*
    - char*
    - botan_rng_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: botan_srp6_server_session_step1
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - step1
    - safe_get
    - write_vec_output
    - Botan::BigInt::from_bytes
    - auto::serialize
    linkageType: ''
    returnType: int
    signature: "int botan_srp6_server_session_step1(botan_srp6_server_session_t srp6,\n
      \                                   const uint8_t* verifier,\n                                    size_t
      verifier_len,\n                                    const char* group_id,\n                                    const
      char* hash_id,\n                                    botan_rng_t rng_obj,\n                                    uint8_t
      b_pub[],\n                                    size_t* b_pub_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:97,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:102,1
    - Dst: step2
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:103,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:104,1
    - Dst: auto::bits_of
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:104,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - srp6
    - a
    - a_len
    - key
    - key_len
    argTypes:
    - botan_srp6_server_session_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: botan_srp6_server_session_step2
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - auto::bits_of
    - BOTAN_FFI_VISIT
    - write_vec_output
    - BOTAN_UNUSED
    - step2
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: int
    signature: "int botan_srp6_server_session_step2(\n   botan_srp6_server_session_t
      srp6, const uint8_t a[], size_t a_len, uint8_t key[], size_t* key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:124,1
    - Dst: Botan::srp6_generate_verifier
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:130,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:131,1
    - Dst: auto::serialize
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:131,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:137,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 8
    argNames:
    - username
    - password
    - salt
    - salt_len
    - group_id
    - hash_id
    - verifier
    - verifier_len
    argTypes:
    - char*
    - char*
    - uint8_t[]
    - size_t
    - char*
    - char*
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: botan_srp6_generate_verifier
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - Botan::srp6_generate_verifier
    - write_vec_output
    - auto::serialize
    linkageType: ''
    returnType: int
    signature: "int botan_srp6_generate_verifier(const char* username,\n                                 const
      char* password,\n                                 const uint8_t salt[],\n                                 size_t
      salt_len,\n                                 const char* group_id,\n                                 const
      char* hash_id,\n                                 uint8_t verifier[],\n                                 size_t*
      verifier_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:157,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:163,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:164,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:166,1
    - Dst: serialize
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:166,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:167,1
    - Dst: bits_of
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:167,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:180,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 13
    argNames:
    - identity
    - password
    - group_id
    - hash_id
    - salt
    - salt_len
    - b
    - b_len
    - rng_obj
    - A
    - A_len
    - K
    - K_len
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - botan_rng_t
    - uint8_t[]
    - size_t*
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: botan_srp6_client_agree
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - bits_of
    - ffi_guard_thunk
    - safe_get
    - write_vec_output
    - serialize
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: int
    signature: "int botan_srp6_client_agree(const char* identity,\n                            const
      char* password,\n                            const char* group_id,\n                            const
      char* hash_id,\n                            const uint8_t salt[],\n                            size_t
      salt_len,\n                            const uint8_t b[],\n                            size_t
      b_len,\n                            botan_rng_t rng_obj,\n                            uint8_t
      A[],\n                            size_t* A_len,\n                            uint8_t
      K[],\n                            size_t* K_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FFI_Error
      Src: /src/botan/src/lib/ffi/ffi_util.h:22,1
    - Dst: Botan_FFI::FFI_Error::Exception
      Src: /src/botan/src/lib/ffi/ffi_util.h:22,1
    - Dst: m_err_code
      Src: /src/botan/src/lib/ffi/ffi_util.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: Botan_FFI::FFI_Error::Exception
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 1
    functionsReached:
    - Botan_FFI::FFI_Error::Exception
    - m_err_code
    - FFI_Error
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: 'class BOTAN_UNSTABLE_API FFI_Error final : public Botan::Exception'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_util.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - std::unique_ptr<T>
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan_FFI::botan_struct
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void botan_struct(std::unique_ptr<T> obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/ffi/ffi_util.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: ~botan_struct()
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~botan_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_FFI::magic_ok
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool magic_ok() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/ffi/ffi_util.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan_FFI::unsafe_get
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: T
    signature: T * unsafe_get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FFI_Error
      Src: /src/botan/src/lib/ffi/ffi_util.h:73,1
    - Dst: botan_struct<T, M>*::magic_ok
      Src: /src/botan/src/lib/ffi/ffi_util.h:75,1
    - Dst: FFI_Error
      Src: /src/botan/src/lib/ffi/ffi_util.h:76,1
    - Dst: botan_struct<T, M>*::unsafe_get
      Src: /src/botan/src/lib/ffi/ffi_util.h:79,1
    - Dst: FFI_Error
      Src: /src/botan/src/lib/ffi/ffi_util.h:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - botan_struct<T, M>*
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: Botan_FFI::safe_get
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - botan_struct<T, M>*::magic_ok
    - FFI_Error
    - botan_struct<T, M>*::unsafe_get
    linkageType: ''
    returnType: T
    signature: T & safe_get(botan_struct<T, M>* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::ffi_clear_last_exception
      Src: /src/botan/src/lib/ffi/ffi_util.h:88,1
    - Dst: thunk
      Src: /src/botan/src/lib/ffi/ffi_util.h:91,1
    - Dst: Botan_FFI::ffi_error_exception_thrown
      Src: /src/botan/src/lib/ffi/ffi_util.h:93,1
    - Dst: Botan_FFI::ffi_error_exception_thrown
      Src: /src/botan/src/lib/ffi/ffi_util.h:95,1
    - Dst: what
      Src: /src/botan/src/lib/ffi/ffi_util.h:95,1
    - Dst: error_code
      Src: /src/botan/src/lib/ffi/ffi_util.h:95,1
    - Dst: Botan_FFI::ffi_error_exception_thrown
      Src: /src/botan/src/lib/ffi/ffi_util.h:97,1
    - Dst: what
      Src: /src/botan/src/lib/ffi/ffi_util.h:97,1
    - Dst: error_type
      Src: /src/botan/src/lib/ffi/ffi_util.h:97,1
    - Dst: Botan_FFI::ffi_error_exception_thrown
      Src: /src/botan/src/lib/ffi/ffi_util.h:99,1
    - Dst: what
      Src: /src/botan/src/lib/ffi/ffi_util.h:99,1
    - Dst: Botan_FFI::ffi_error_exception_thrown
      Src: /src/botan/src/lib/ffi/ffi_util.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - func_name
    - thunk
    argTypes:
    - char*
    - T
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: Botan_FFI::ffi_guard_thunk
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - what
    - Botan_FFI::ffi_error_exception_thrown
    - thunk
    - error_code
    - error_type
    - Botan_FFI::ffi_clear_last_exception
    linkageType: ''
    returnType: int
    signature: int ffi_guard_thunk(const char* func_name, T thunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_struct<T, M>*::magic_ok
      Src: /src/botan/src/lib/ffi/ffi_util.h:115,1
    - Dst: botan_struct<T, M>*::unsafe_get
      Src: /src/botan/src/lib/ffi/ffi_util.h:119,1
    - Dst: Botan_FFI::ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_util.h:125,1
    - Dst: func
      Src: /src/botan/src/lib/ffi/ffi_util.h:126,1
    - Dst: Botan_FFI::ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_util.h:130,1
    - Dst: func
      Src: /src/botan/src/lib/ffi/ffi_util.h:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - o
    - func
    - func_name
    argTypes:
    - botan_struct<T, M>*
    - F
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 132
    functionName: Botan_FFI::botan_ffi_visit
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - Botan_FFI::ffi_guard_thunk
    - botan_struct<T, M>*::magic_ok
    - func
    - botan_struct<T, M>*::unsafe_get
    linkageType: ''
    returnType: int
    signature: int botan_ffi_visit(botan_struct<T, M>* o, F func, const char* func_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_util.h:154,1
    - Dst: botan_struct<T, M>*::magic_ok
      Src: /src/botan/src/lib/ffi/ffi_util.h:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - func_name
    argTypes:
    - botan_struct<T, M>*
    - char*
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: Botan_FFI::ffi_delete_object
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - Botan_FFI::ffi_guard_thunk
    - botan_struct<T, M>*::magic_ok
    linkageType: ''
    returnType: int
    signature: int ffi_delete_object(botan_struct<T, M>* obj, const char* func_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: view
      Src: /src/botan/src/lib/ffi/ffi_util.h:176,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/ffi/ffi_util.h:176,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/ffi/ffi_util.h:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - view
    - ctx
    - buf
    argTypes:
    - botan_view_bin_fn
    - botan_view_ctx
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: Botan_FFI::invoke_view_callback
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - view
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: int
    signature: int invoke_view_callback(botan_view_bin_fn view, botan_view_ctx ctx,
      std::span<const uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: view
      Src: /src/botan/src/lib/ffi/ffi_util.h:183,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/ffi/ffi_util.h:183,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/ffi/ffi_util.h:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - view
    - ctx
    - str
    argTypes:
    - botan_view_str_fn
    - botan_view_ctx
    - std::string_view
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Botan_FFI::invoke_view_callback
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - view
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int invoke_view_callback(botan_view_str_fn view, botan_view_ctx ctx,
      std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/botan/src/lib/ffi/ffi_util.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - out_len
    - fn
    argTypes:
    - uint8_t[]
    - size_t*
    - Fn
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: Botan_FFI::copy_view_bin
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: int
    signature: int copy_view_bin(uint8_t out[], size_t* out_len, Fn fn, Args... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/botan/src/lib/ffi/ffi_util.h:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - out_len
    - fn
    argTypes:
    - uint8_t[]
    - size_t*
    - Fn
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: Botan_FFI::copy_view_str
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: int
    signature: int copy_view_str(uint8_t out[], size_t* out_len, Fn fn, Args... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_util.h:222,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/ffi/ffi_util.h:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - out
    - out_len
    - buf
    - buf_len
    argTypes:
    - uint8_t[]
    - size_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: Botan_FFI::write_output
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    - Botan::clear_mem
    linkageType: ''
    returnType: int
    signature: int write_output(uint8_t out[], size_t* out_len, const uint8_t buf[],
      size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::write_output
      Src: /src/botan/src/lib/ffi/ffi_util.h:233,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/ffi/ffi_util.h:233,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/ffi/ffi_util.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - out_len
    - buf
    argTypes:
    - uint8_t[]
    - size_t*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: Botan_FFI::write_vec_output
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 1
    functionsReached:
    - Botan_FFI::write_output
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: int
    signature: int write_vec_output(uint8_t out[], size_t* out_len, std::span<const
      uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::write_output
      Src: /src/botan/src/lib/ffi/ffi_util.h:237,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/ffi/ffi_util.h:237,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/ffi/ffi_util.h:237,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/ffi/ffi_util.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - out_len
    - str
    argTypes:
    - uint8_t[]
    - size_t*
    - std::string_view
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: Botan_FFI::write_str_output
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 1
    functionsReached:
    - Botan_FFI::write_output
    - Botan::cast_char_ptr_to_uint8
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int write_str_output(uint8_t out[], size_t* out_len, std::string_view
      str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::write_str_output
      Src: /src/botan/src/lib/ffi/ffi_util.h:241,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/ffi/ffi_util.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - out_len
    - str
    argTypes:
    - char[]
    - size_t*
    - std::string_view
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: Botan_FFI::write_str_output
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 2
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - Botan_FFI::write_str_output
    linkageType: ''
    returnType: int
    signature: int write_str_output(char out[], size_t* out_len, std::string_view
      str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::write_output
      Src: /src/botan/src/lib/ffi/ffi_util.h:245,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/ffi/ffi_util.h:245,1
    - Dst: data
      Src: /src/botan/src/lib/ffi/ffi_util.h:245,1
    - Dst: size
      Src: /src/botan/src/lib/ffi/ffi_util.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - out_len
    - ' str_vec'
    argTypes:
    - char[]
    - size_t*
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: Botan_FFI::write_str_output
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 2
    functionsReached:
    - Botan_FFI::write_output
    - Botan::cast_char_ptr_to_uint8
    - size
    - data
    linkageType: ''
    returnType: int
    signature: int write_str_output(char out[], size_t* out_len, const std::vector<uint8_t>&
      str_vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:30,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:34,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:35,1
    - Dst: Botan::nist_key_wrap
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:40,1
    - Dst: Botan::nist_key_wrap_padded
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:42,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:45,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 8
    argNames:
    - cipher_algo
    - padded
    - key
    - key_len
    - kek
    - kek_len
    - wrapped_key
    - wrapped_key_len
    argTypes:
    - char*
    - int
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 51
    functionName: botan_nist_kw_enc
    functionSourceFile: /src/botan/src/lib/ffi/ffi_keywrap.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - auto::set_key
    - Botan::nist_key_wrap_padded
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - write_vec_output
    - Botan::nist_key_wrap
    linkageType: ''
    returnType: int
    signature: "int botan_nist_kw_enc(const char* cipher_algo,\n                      int
      padded,\n                      const uint8_t key[],\n                      size_t
      key_len,\n                      const uint8_t kek[],\n                      size_t
      kek_len,\n                      uint8_t wrapped_key[],\n                      size_t*
      wrapped_key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:62,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:67,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:68,1
    - Dst: Botan::nist_key_unwrap
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:73,1
    - Dst: Botan::nist_key_unwrap_padded
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:75,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:78,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 8
    argNames:
    - cipher_algo
    - padded
    - wrapped_key
    - wrapped_key_len
    - kek
    - kek_len
    - key
    - key_len
    argTypes:
    - char*
    - int
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: botan_nist_kw_dec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_keywrap.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - auto::set_key
    - BOTAN_UNUSED
    - Botan::nist_key_unwrap_padded
    - Botan::nist_key_unwrap
    - ffi_guard_thunk
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: "int botan_nist_kw_dec(const char* cipher_algo,\n                      int
      padded,\n                      const uint8_t wrapped_key[],\n                      size_t
      wrapped_key_len,\n                      const uint8_t kek[],\n                      size_t
      kek_len,\n                      uint8_t key[],\n                      size_t*
      key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:92,1
    - Dst: botan_nist_kw_enc
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:94,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - kek
    - kek_len
    - wrapped_key
    - wrapped_key_len
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: botan_key_wrap3394
    functionSourceFile: /src/botan/src/lib/ffi/ffi_keywrap.cpp
    functionUses: 0
    functionsReached:
    - botan_nist_kw_enc
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: "int botan_key_wrap3394(const uint8_t key[],\n                       size_t
      key_len,\n                       const uint8_t kek[],\n                       size_t
      kek_len,\n                       uint8_t wrapped_key[],\n                       size_t*
      wrapped_key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:103,1
    - Dst: botan_nist_kw_dec
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wrapped_key
    - wrapped_key_len
    - kek
    - kek_len
    - key
    - key_len
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 6
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: botan_key_unwrap3394
    functionSourceFile: /src/botan/src/lib/ffi/ffi_keywrap.cpp
    functionUses: 0
    functionsReached:
    - botan_nist_kw_dec
    - std::string::c_str
    - std::to_string
    linkageType: ''
    returnType: int
    signature: "int botan_key_unwrap3394(const uint8_t wrapped_key[],\n                         size_t
      wrapped_key_len,\n                         const uint8_t kek[],\n                         size_t
      kek_len,\n                         uint8_t key[],\n                         size_t*
      key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:19,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:24,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:30,1
    - Dst: botan_mac_struct::botan_mac_struct
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - mac
    - mac_name
    - flags
    argTypes:
    - botan_mac_t*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 33
      start: 18
    functionDepth: 5
    functionLinenumber: 18
    functionLinenumberEnd: 33
    functionName: botan_mac_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - botan_mac_struct::botan_mac_struct
    - ffi_guard_thunk
    - Botan::MessageAuthenticationCode::create
    linkageType: ''
    returnType: int
    signature: int botan_mac_init(botan_mac_t* mac, const char* mac_name, uint32_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - botan_mac_t
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: botan_mac_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_mac_destroy(botan_mac_t mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:40,1
    - Dst: set_key
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mac
    - key
    - key_len
    argTypes:
    - botan_mac_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: botan_mac_set_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - set_key
    linkageType: ''
    returnType: int
    signature: int botan_mac_set_key(botan_mac_t mac, const uint8_t* key, size_t key_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:44,1
    - Dst: start
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mac
    - nonce
    - nonce_len
    argTypes:
    - botan_mac_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: botan_mac_set_nonce
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - start
    linkageType: ''
    returnType: int
    signature: int botan_mac_set_nonce(botan_mac_t mac, const uint8_t* nonce, size_t
      nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:48,1
    - Dst: output_length
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mac
    - out
    argTypes:
    - botan_mac_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: botan_mac_output_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - output_length
    linkageType: ''
    returnType: int
    signature: int botan_mac_output_length(botan_mac_t mac, size_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:52,1
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mac
    argTypes:
    - botan_mac_t
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: botan_mac_clear
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - clear
    linkageType: ''
    returnType: int
    signature: int botan_mac_clear(botan_mac_t mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:56,1
    - Dst: update
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mac
    - buf
    - len
    argTypes:
    - botan_mac_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: botan_mac_update
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - update
    linkageType: ''
    returnType: int
    signature: int botan_mac_update(botan_mac_t mac, const uint8_t* buf, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:60,1
    - Dst: final
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mac
    - out
    argTypes:
    - botan_mac_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: botan_mac_final
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - final
    linkageType: ''
    returnType: int
    signature: int botan_mac_final(botan_mac_t mac, uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:64,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:64,1
    - Dst: name
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mac
    - name
    - name_len
    argTypes:
    - botan_mac_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: botan_mac_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - name
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_mac_name(botan_mac_t mac, char* name, size_t* name_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:71,1
    - Dst: minimum_keylength
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:73,1
    - Dst: maximum_keylength
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:76,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - mac
    - out_minimum_keylength
    - out_maximum_keylength
    - out_keylength_modulo
    argTypes:
    - botan_mac_t
    - size_t*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: botan_mac_get_keyspec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - minimum_keylength
    - key_spec
    - maximum_keylength
    linkageType: ''
    returnType: int
    signature: "int botan_mac_get_keyspec(botan_mac_t mac,\n                          size_t*
      out_minimum_keylength,\n                          size_t* out_maximum_keylength,\n
      \                         size_t* out_keylength_modulo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:23,1
    - Dst: std::make_unique<Botan::BigInt>
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:28,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:29,1
    - Dst: botan_mp_struct::botan_mp_struct
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mp_out
    argTypes:
    - botan_mp_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: botan_mp_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 12
    functionsReached:
    - std::move
    - botan_mp_struct::botan_mp_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::BigInt>
    linkageType: ''
    returnType: int
    signature: int botan_mp_init(botan_mp_t* mp_out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:35,1
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: botan_mp_clear
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - clear
    linkageType: ''
    returnType: int
    signature: int botan_mp_clear(botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:39,1
    - Dst: Botan::BigInt::from_s32
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - initial_value
    argTypes:
    - botan_mp_t
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: botan_mp_set_from_int
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::BigInt::from_s32
    linkageType: ''
    returnType: int
    signature: int botan_mp_set_from_int(botan_mp_t mp, int initial_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:43,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - str
    argTypes:
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: botan_mp_set_from_str
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_FFI_VISIT
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    linkageType: ''
    returnType: int
    signature: int botan_mp_set_from_str(botan_mp_t mp, const char* str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:47,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - mp
    - str
    - radix
    argTypes:
    - botan_mp_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: botan_mp_set_from_radix_str
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    linkageType: ''
    returnType: int
    signature: int botan_mp_set_from_radix_str(botan_mp_t mp, const char* str, size_t
      radix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:66,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: botan_mp_set_from_mp
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_set_from_mp(botan_mp_t dest, const botan_mp_t source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:70,1
    - Dst: is_negative
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: botan_mp_is_negative
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - is_negative
    linkageType: ''
    returnType: int
    signature: int botan_mp_is_negative(const botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:74,1
    - Dst: is_positive
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: botan_mp_is_positive
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - is_positive
    - BOTAN_FFI_VISIT
    linkageType: ''
    returnType: int
    signature: int botan_mp_is_positive(const botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:78,1
    - Dst: flip_sign
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: botan_mp_flip_sign
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - flip_sign
    linkageType: ''
    returnType: int
    signature: int botan_mp_flip_sign(botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:82,1
    - Dst: _assign_from_bytes
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mp
    - bin
    - bin_len
    argTypes:
    - botan_mp_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: botan_mp_from_bin
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - _assign_from_bytes
    linkageType: ''
    returnType: int
    signature: int botan_mp_from_bin(botan_mp_t mp, const uint8_t bin[], size_t bin_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:86,1
    - Dst: to_hex_string
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:87,1
    - Dst: std::memcpy
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:88,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:88,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - out
    argTypes:
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: botan_mp_to_hex
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - std::string::c_str
    - std::memcpy
    - to_hex_string
    - std::string::size
    linkageType: ''
    returnType: int
    signature: int botan_mp_to_hex(const botan_mp_t mp, char* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:93,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:95,1
    - Dst: to_dec_string
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:95,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:97,1
    - Dst: to_hex_string
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - mp
    - digit_base
    - out
    - out_len
    argTypes:
    - botan_mp_t
    - uint8_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: botan_mp_to_str
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - to_hex_string
    - to_dec_string
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_mp_to_str(const botan_mp_t mp, uint8_t digit_base, char*
      out, size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:105,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:105,1
    - Dst: bytes
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - vec
    argTypes:
    - botan_mp_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: botan_mp_to_bin
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 1
    functionsReached:
    - bytes
    - BOTAN_FFI_VISIT
    - serialize_to
    linkageType: ''
    returnType: int
    signature: int botan_mp_to_bin(const botan_mp_t mp, uint8_t vec[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:112,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mp
    - val
    argTypes:
    - botan_mp_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: botan_mp_to_uint32
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - to_u32bit
    - BOTAN_FFI_VISIT
    linkageType: ''
    returnType: int
    signature: int botan_mp_to_uint32(const botan_mp_t mp, uint32_t* val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: botan_mp_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 6
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_mp_destroy(botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:120,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:122,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:124,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - result
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: botan_mp_add
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_add(botan_mp_t result, const botan_mp_t x, const botan_mp_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:130,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:132,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:134,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - result
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: botan_mp_sub
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_sub(botan_mp_t result, const botan_mp_t x, const botan_mp_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:140,1
    - Dst: static_cast<Botan::word>
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:142,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:144,1
    - Dst: static_cast<Botan::word>
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - result
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: botan_mp_add_u32
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - static_cast<Botan::word>
    linkageType: ''
    returnType: int
    signature: int botan_mp_add_u32(botan_mp_t result, const botan_mp_t x, uint32_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:150,1
    - Dst: static_cast<Botan::word>
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:152,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:154,1
    - Dst: static_cast<Botan::word>
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - result
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: botan_mp_sub_u32
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - static_cast<Botan::word>
    linkageType: ''
    returnType: int
    signature: int botan_mp_sub_u32(botan_mp_t result, const botan_mp_t x, uint32_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:160,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:162,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:164,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - result
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: botan_mp_mul
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_mul(botan_mp_t result, const botan_mp_t x, const botan_mp_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:170,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:171,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:172,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:172,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:172,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - quotient
    - remainder
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: botan_mp_div
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - Botan::BigInt::BigInt
    - Botan::vartime_divide
    linkageType: ''
    returnType: int
    signature: int botan_mp_div(botan_mp_t quotient, botan_mp_t remainder, const botan_mp_t
      x, const botan_mp_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:178,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x_w
    - y_w
    argTypes:
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: botan_mp_equal
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_equal(const botan_mp_t x_w, const botan_mp_t y_w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:182,1
    - Dst: is_zero
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: botan_mp_is_zero
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - is_zero
    linkageType: ''
    returnType: int
    signature: int botan_mp_is_zero(const botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:186,1
    - Dst: is_odd
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: botan_mp_is_odd
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - is_odd
    linkageType: ''
    returnType: int
    signature: int botan_mp_is_odd(const botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:190,1
    - Dst: is_even
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: botan_mp_is_even
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - is_even
    - BOTAN_FFI_VISIT
    linkageType: ''
    returnType: int
    signature: int botan_mp_is_even(const botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:194,1
    - Dst: cmp
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:194,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - result
    - x_w
    - y_w
    argTypes:
    - int*
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: botan_mp_cmp
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - cmp
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_cmp(int* result, const botan_mp_t x_w, const botan_mp_t
      y_w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:198,1
    - Dst: swap
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:198,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x_w
    - y_w
    argTypes:
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: botan_mp_swap
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - swap
    linkageType: ''
    returnType: int
    signature: int botan_mp_swap(botan_mp_t x_w, botan_mp_t y_w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:203,1
    - Dst: Botan::power_mod
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:204,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:204,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:204,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - out
    - base
    - exponent
    - modulus
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: botan_mp_powmod
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - Botan::power_mod
    linkageType: ''
    returnType: int
    signature: int botan_mp_powmod(botan_mp_t out, const botan_mp_t base, const botan_mp_t
      exponent, const botan_mp_t modulus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:208,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - shift
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - size_t
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: botan_mp_lshift
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_lshift(botan_mp_t out, const botan_mp_t in, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:212,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - shift
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - size_t
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: botan_mp_rshift
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_rshift(botan_mp_t out, const botan_mp_t in, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:216,1
    - Dst: Botan::inverse_mod_general
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:217,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:217,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:217,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - modulus
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: botan_mp_mod_inverse
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - cryptofuzz_secp256k1_scalar_is_zero
    - Botan::inverse_mod_general
    linkageType: ''
    returnType: int
    signature: int botan_mp_mod_inverse(botan_mp_t out, const botan_mp_t in, const
      botan_mp_t modulus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:222,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:223,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:223,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:224,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:224,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - out
    - x
    - y
    - modulus
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: botan_mp_mod_mul
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::Barrett_Reduction::for_secret_modulus
    - safe_get
    - auto::multiply
    linkageType: ''
    returnType: int
    signature: int botan_mp_mod_mul(botan_mp_t out, const botan_mp_t x, const botan_mp_t
      y, const botan_mp_t modulus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:229,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rand_out
    - rng
    - bits
    argTypes:
    - botan_mp_t
    - botan_rng_t
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: botan_mp_rand_bits
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_rand_bits(botan_mp_t rand_out, botan_rng_t rng, size_t
      bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:233,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:234,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:234,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:234,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rand_out
    - rng
    - lower
    - upper
    argTypes:
    - botan_mp_t
    - botan_rng_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: botan_mp_rand_range
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - Botan::BigInt::random_integer
    linkageType: ''
    returnType: int
    signature: int botan_mp_rand_range(botan_mp_t rand_out, botan_rng_t rng, const
      botan_mp_t lower, const botan_mp_t upper)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:238,1
    - Dst: Botan::gcd
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:238,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:238,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: botan_mp_gcd
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - Botan::gcd
    linkageType: ''
    returnType: int
    signature: int botan_mp_gcd(botan_mp_t out, const botan_mp_t x, const botan_mp_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:242,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:242,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mp
    - rng
    - test_prob
    argTypes:
    - botan_mp_t
    - botan_rng_t
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: botan_mp_is_prime
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - Botan::is_prime
    linkageType: ''
    returnType: int
    signature: int botan_mp_is_prime(const botan_mp_t mp, botan_rng_t rng, size_t
      test_prob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:246,1
    - Dst: get_bit
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - bit
    argTypes:
    - botan_mp_t
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: botan_mp_get_bit
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - get_bit
    linkageType: ''
    returnType: int
    signature: int botan_mp_get_bit(const botan_mp_t mp, size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:250,1
    - Dst: set_bit
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - bit
    argTypes:
    - botan_mp_t
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: botan_mp_set_bit
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - set_bit
    linkageType: ''
    returnType: int
    signature: int botan_mp_set_bit(botan_mp_t mp, size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:254,1
    - Dst: clear_bit
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - bit
    argTypes:
    - botan_mp_t
    - size_t
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: botan_mp_clear_bit
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - clear_bit
    - BOTAN_FFI_VISIT
    linkageType: ''
    returnType: int
    signature: int botan_mp_clear_bit(botan_mp_t mp, size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:258,1
    - Dst: bits
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - bits
    argTypes:
    - botan_mp_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: botan_mp_num_bits
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - bits
    linkageType: ''
    returnType: int
    signature: int botan_mp_num_bits(const botan_mp_t mp, size_t* bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:262,1
    - Dst: bytes
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - bytes
    argTypes:
    - botan_mp_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: botan_mp_num_bytes
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - bytes
    - BOTAN_FFI_VISIT
    linkageType: ''
    returnType: int
    signature: int botan_mp_num_bytes(const botan_mp_t mp, size_t* bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:19,1
    - Dst: Botan::ZFEC::ZFEC
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:20,1
    - Dst: copy
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:21,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - K
    - N
    - input
    - size
    - outputs
    argTypes:
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: botan_zfec_encode
    functionSourceFile: /src/botan/src/lib/ffi/ffi_zfec.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::ZFEC::ZFEC
    - Botan_FFI::ffi_guard_thunk
    - copy
    linkageType: ''
    returnType: int
    signature: int botan_zfec_encode(size_t K, size_t N, const uint8_t* input, size_t
      size, uint8_t** outputs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:34,1
    - Dst: std::map::insert
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:37,1
    - Dst: std::pair<size_t, const uint8_t*>
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:37,1
    - Dst: Botan::ZFEC::ZFEC
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:39,1
    - Dst: copy
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:41,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - K
    - N
    - indexes
    - inputs
    - shareSize
    - outputs
    argTypes:
    - size_t
    - size_t
    - size_t*
    - uint8_t**
    - size_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: botan_zfec_decode
    functionSourceFile: /src/botan/src/lib/ffi/ffi_zfec.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::ZFEC::ZFEC
    - Botan_FFI::ffi_guard_thunk
    - copy
    - std::pair<size_t, const uint8_t*>
    - std::map::insert
    linkageType: ''
    returnType: int
    signature: "int botan_zfec_decode(\n   size_t K, size_t N, const size_t* indexes,
      uint8_t* const* const inputs, size_t shareSize, uint8_t** outputs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:33,1
    - Dst: std::make_unique<Botan::HOTP>
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:34,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:35,1
    - Dst: botan_hotp_struct::botan_hotp_struct
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:35,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - hotp
    - key
    - key_len
    - hash_algo
    - digits
    argTypes:
    - botan_hotp_t*
    - uint8_t[]
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: botan_hotp_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hotp.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_hotp_struct::botan_hotp_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::HOTP>
    linkageType: ''
    returnType: int
    signature: int botan_hotp_init(botan_hotp_t* hotp, const uint8_t key[], size_t
      key_len, const char* hash_algo, size_t digits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:47,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hotp
    argTypes:
    - botan_hotp_t
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: botan_hotp_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hotp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_hotp_destroy(botan_hotp_t hotp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:60,1
    - Dst: generate_hotp
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:60,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - hotp
    - hotp_code
    - hotp_counter
    argTypes:
    - botan_hotp_t
    - uint32_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: botan_hotp_generate
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hotp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - generate_hotp
    linkageType: ''
    returnType: int
    signature: int botan_hotp_generate(botan_hotp_t hotp, uint32_t* hotp_code, uint64_t
      hotp_counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:71,1
    - Dst: verify_hotp
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:72,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - hotp
    - next_hotp_counter
    - hotp_code
    - hotp_counter
    - resync_range
    argTypes:
    - botan_hotp_t
    - uint64_t*
    - uint32_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: botan_hotp_check
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hotp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - verify_hotp
    linkageType: ''
    returnType: int
    signature: "int botan_hotp_check(\n   botan_hotp_t hotp, uint64_t* next_hotp_counter,
      uint32_t hotp_code, uint64_t hotp_counter, size_t resync_range)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:37,1
    - Dst: std::make_unique<Botan::PK_Encryptor_EME>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:40,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:40,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:40,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:41,1
    - Dst: botan_pk_op_encrypt_struct::botan_pk_op_encrypt_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - op
    - key_obj
    - padding
    - flags
    argTypes:
    - botan_pk_op_encrypt_t*
    - botan_pubkey_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: botan_pk_op_encrypt_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - ffi_guard_thunk
    - botan_pk_op_encrypt_struct::botan_pk_op_encrypt_struct
    - safe_get
    - Botan::system_rng
    - std::make_unique<Botan::PK_Encryptor_EME>
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_encrypt_create(botan_pk_op_encrypt_t* op, botan_pubkey_t
      key_obj, const char* padding, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_encrypt_t
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: botan_pk_op_encrypt_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_encrypt_destroy(botan_pk_op_encrypt_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:54,1
    - Dst: ciphertext_length
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - op
    - ptext_len
    - ctext_len
    argTypes:
    - botan_pk_op_encrypt_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: botan_pk_op_encrypt_output_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - ciphertext_length
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_encrypt_output_length(botan_pk_op_encrypt_t op, size_t
      ptext_len, size_t* ctext_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:63,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:64,1
    - Dst: encrypt
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:64,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - op
    - rng_obj
    - out
    - out_len
    - plaintext
    - plaintext_len
    argTypes:
    - botan_pk_op_encrypt_t
    - botan_rng_t
    - uint8_t[]
    - size_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: botan_pk_op_encrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - write_vec_output
    - encrypt
    - safe_get
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_encrypt(botan_pk_op_encrypt_t op,\n                        botan_rng_t
      rng_obj,\n                        uint8_t out[],\n                        size_t*
      out_len,\n                        const uint8_t plaintext[],\n                        size_t
      plaintext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:83,1
    - Dst: std::make_unique<Botan::PK_Decryptor_EME>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:86,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:86,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:86,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:87,1
    - Dst: botan_pk_op_decrypt_struct::botan_pk_op_decrypt_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - op
    - key_obj
    - padding
    - flags
    argTypes:
    - botan_pk_op_decrypt_t*
    - botan_privkey_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: botan_pk_op_decrypt_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<Botan::PK_Decryptor_EME>
    - botan_pk_op_decrypt_struct::botan_pk_op_decrypt_struct
    - ffi_guard_thunk
    - safe_get
    - Botan::system_rng
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_decrypt_create(botan_pk_op_decrypt_t* op,\n                               botan_privkey_t
      key_obj,\n                               const char* padding,\n                               uint32_t
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_decrypt_t
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: botan_pk_op_decrypt_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_decrypt_destroy(botan_pk_op_decrypt_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:100,1
    - Dst: plaintext_length
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - op
    - ctext_len
    - ptext_len
    argTypes:
    - botan_pk_op_decrypt_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: botan_pk_op_decrypt_output_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - plaintext_length
    - BOTAN_FFI_VISIT
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_decrypt_output_length(botan_pk_op_decrypt_t op, size_t
      ctext_len, size_t* ptext_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:105,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:106,1
    - Dst: decrypt
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - op
    - out
    - out_len
    - ciphertext
    - ciphertext_len
    argTypes:
    - botan_pk_op_decrypt_t
    - uint8_t[]
    - size_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: botan_pk_op_decrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - write_vec_output
    - decrypt
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_decrypt(\n   botan_pk_op_decrypt_t op, uint8_t out[],
      size_t* out_len, const uint8_t ciphertext[], size_t ciphertext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:121,1
    - Dst: std::make_unique<Botan::PK_Signer>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:127,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:127,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:127,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:128,1
    - Dst: botan_pk_op_sign_struct::botan_pk_op_sign_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - op
    - key_obj
    - hash
    - flags
    argTypes:
    - botan_pk_op_sign_t*
    - botan_privkey_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: botan_pk_op_sign_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - botan_pk_op_sign_struct::botan_pk_op_sign_struct
    - ffi_guard_thunk
    - safe_get
    - Botan::system_rng
    - std::make_unique<Botan::PK_Signer>
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_sign_create(botan_pk_op_sign_t* op, botan_privkey_t
      key_obj, const char* hash, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_sign_t
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: botan_pk_op_sign_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_sign_destroy(botan_pk_op_sign_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:142,1
    - Dst: signature_length
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - op
    - sig_len
    argTypes:
    - botan_pk_op_sign_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: botan_pk_op_sign_output_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - signature_length
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_sign_output_length(botan_pk_op_sign_t op, size_t* sig_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:146,1
    - Dst: update
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - op
    - in
    - in_len
    argTypes:
    - botan_pk_op_sign_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: botan_pk_op_sign_update
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - update
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_sign_update(botan_pk_op_sign_t op, const uint8_t in[],
      size_t in_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:150,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:150,1
    - Dst: signature
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:150,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - op
    - rng_obj
    - out
    - out_len
    argTypes:
    - botan_pk_op_sign_t
    - botan_rng_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: botan_pk_op_sign_finish
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - write_vec_output
    - signature
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_sign_finish(botan_pk_op_sign_t op, botan_rng_t rng_obj,
      uint8_t out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:162,1
    - Dst: std::make_unique<Botan::PK_Verifier>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:166,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:166,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:167,1
    - Dst: botan_pk_op_verify_struct::botan_pk_op_verify_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - op
    - key_obj
    - hash
    - flags
    argTypes:
    - botan_pk_op_verify_t*
    - botan_pubkey_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: botan_pk_op_verify_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::PK_Verifier>
    - std::move
    - ffi_guard_thunk
    - safe_get
    - botan_pk_op_verify_struct::botan_pk_op_verify_struct
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_verify_create(botan_pk_op_verify_t* op, botan_pubkey_t
      key_obj, const char* hash, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_verify_t
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: botan_pk_op_verify_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_verify_destroy(botan_pk_op_verify_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:177,1
    - Dst: update
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - op
    - in
    - in_len
    argTypes:
    - botan_pk_op_verify_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: botan_pk_op_verify_update
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - update
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_verify_update(botan_pk_op_verify_t op, const uint8_t
      in[], size_t in_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - op
    - sig
    - sig_len
    argTypes:
    - botan_pk_op_verify_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: botan_pk_op_verify_finish
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_verify_finish(botan_pk_op_verify_t op, const uint8_t
      sig[], size_t sig_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:201,1
    - Dst: std::make_unique<Botan::PK_Key_Agreement>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:203,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:203,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:203,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:204,1
    - Dst: botan_pk_op_ka_struct::botan_pk_op_ka_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - op
    - key_obj
    - kdf
    - flags
    argTypes:
    - botan_pk_op_ka_t*
    - botan_privkey_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: botan_pk_op_key_agreement_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - botan_pk_op_ka_struct::botan_pk_op_ka_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::PK_Key_Agreement>
    - safe_get
    - Botan::system_rng
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_key_agreement_create(botan_pk_op_ka_t* op, botan_privkey_t
      key_obj, const char* kdf, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_ka_t
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: botan_pk_op_key_agreement_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_key_agreement_destroy(botan_pk_op_ka_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - out
    - out_len
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: botan_pk_op_key_agreement_export_public
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - copy_view_bin
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_key_agreement_export_public(botan_privkey_t key, uint8_t
      out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:218,1
    - Dst: dynamic_cast<const Botan::PK_Key_Agreement_Key*>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:219,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:220,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: botan_pk_op_key_agreement_view_public
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Botan::PK_Key_Agreement_Key*>
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - auto::public_value
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_key_agreement_view_public(botan_privkey_t key, botan_view_ctx
      ctx, botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:228,1
    - Dst: agreed_value_size
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - op
    - out_len
    argTypes:
    - botan_pk_op_ka_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: botan_pk_op_key_agreement_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - agreed_value_size
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_key_agreement_size(botan_pk_op_ka_t op, size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:244,1
    - Dst: derive_key
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:245,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - op
    - out
    - out_len
    - other_key
    - other_key_len
    - salt
    - salt_len
    argTypes:
    - botan_pk_op_ka_t
    - uint8_t[]
    - size_t*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 248
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 248
    functionName: botan_pk_op_key_agreement
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - derive_key
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_key_agreement(botan_pk_op_ka_t op,\n                              uint8_t
      out[],\n                              size_t* out_len,\n                              const
      uint8_t other_key[],\n                              size_t other_key_len,\n
      \                             const uint8_t salt[],\n                              size_t
      salt_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:255,1
    - Dst: std::make_unique<Botan::PK_KEM_Encryptor>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:256,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:257,1
    - Dst: botan_pk_op_kem_encrypt_struct::botan_pk_op_kem_encrypt_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - op
    - key_obj
    - padding
    argTypes:
    - botan_pk_op_kem_encrypt_t*
    - botan_pubkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: botan_pk_op_kem_encrypt_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<Botan::PK_KEM_Encryptor>
    - ffi_guard_thunk
    - botan_pk_op_kem_encrypt_struct::botan_pk_op_kem_encrypt_struct
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_kem_encrypt_create(botan_pk_op_kem_encrypt_t* op, botan_pubkey_t
      key_obj, const char* padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_kem_encrypt_t
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: botan_pk_op_kem_encrypt_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_kem_encrypt_destroy(botan_pk_op_kem_encrypt_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:273,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - op
    - desired_shared_key_length
    - output_shared_key_length
    argTypes:
    - botan_pk_op_kem_encrypt_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 277
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 277
    functionName: botan_pk_op_kem_encrypt_shared_key_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - shared_key_length
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_kem_encrypt_shared_key_length(botan_pk_op_kem_encrypt_t
      op,\n                                              size_t desired_shared_key_length,\n
      \                                             size_t* output_shared_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:285,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - op
    - output_encapsulated_key_length
    argTypes:
    - botan_pk_op_kem_encrypt_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: botan_pk_op_kem_encrypt_encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - encapsulated_key_length
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_kem_encrypt_encapsulated_key_length(botan_pk_op_kem_encrypt_t
      op,\n                                                    size_t* output_encapsulated_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:300,1
    - Dst: encrypt
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:301,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:301,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:309,1
    - Dst: auto::shared_key
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 9
    argNames:
    - op
    - rng
    - salt
    - salt_len
    - desired_shared_key_len
    - shared_key_out
    - shared_key_len
    - encapsulated_key_out
    - encapsulated_key_len
    argTypes:
    - botan_pk_op_kem_encrypt_t
    - botan_rng_t
    - uint8_t[]
    - size_t
    - size_t
    - uint8_t[]
    - size_t*
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 311
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 311
    functionName: botan_pk_op_kem_encrypt_create_shared_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - encrypt
    - safe_get
    - auto::shared_key
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_kem_encrypt_create_shared_key(botan_pk_op_kem_encrypt_t
      op,\n                                              botan_rng_t rng,\n                                              const
      uint8_t salt[],\n                                              size_t salt_len,\n
      \                                             size_t desired_shared_key_len,\n
      \                                             uint8_t shared_key_out[],\n                                              size_t*
      shared_key_len,\n                                              uint8_t encapsulated_key_out[],\n
      \                                             size_t* encapsulated_key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:318,1
    - Dst: std::make_unique<Botan::PK_KEM_Decryptor>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:319,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:319,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:319,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:320,1
    - Dst: botan_pk_op_kem_decrypt_struct::botan_pk_op_kem_decrypt_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - op
    - key_obj
    - padding
    argTypes:
    - botan_pk_op_kem_decrypt_t*
    - botan_privkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: botan_pk_op_kem_decrypt_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<Botan::PK_KEM_Decryptor>
    - ffi_guard_thunk
    - botan_pk_op_kem_decrypt_struct::botan_pk_op_kem_decrypt_struct
    - safe_get
    - Botan::system_rng
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_kem_decrypt_create(botan_pk_op_kem_decrypt_t* op, botan_privkey_t
      key_obj, const char* padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:332,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - op
    - desired_shared_key_length
    - output_shared_key_length
    argTypes:
    - botan_pk_op_kem_decrypt_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: botan_pk_op_kem_decrypt_shared_key_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - shared_key_length
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_kem_decrypt_shared_key_length(botan_pk_op_kem_decrypt_t
      op,\n                                              size_t desired_shared_key_length,\n
      \                                             size_t* output_shared_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:346,1
    - Dst: decrypt
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:348,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - op
    - salt
    - salt_len
    - encapsulated_key
    - encapsulated_key_len
    - desired_shared_key_len
    - shared_key_out
    - shared_key_len
    argTypes:
    - botan_pk_op_kem_decrypt_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 352
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 352
    functionName: botan_pk_op_kem_decrypt_shared_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - write_vec_output
    - decrypt
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_kem_decrypt_shared_key(botan_pk_op_kem_decrypt_t op,\n
      \                                      const uint8_t salt[],\n                                       size_t
      salt_len,\n                                       const uint8_t encapsulated_key[],\n
      \                                      size_t encapsulated_key_len,\n                                       size_t
      desired_shared_key_len,\n                                       uint8_t shared_key_out[],\n
      \                                      size_t* shared_key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_kem_decrypt_t
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: botan_pk_op_kem_decrypt_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_kem_decrypt_destroy(botan_pk_op_kem_decrypt_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:33,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:43,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:45,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:48,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - key_obj
    - algo_name
    - algo_params
    - rng_obj
    argTypes:
    - botan_privkey_t*
    - char*
    - char*
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: botan_privkey_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    - ffi_guard_thunk
    - Botan::create_private_key
    - safe_get
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_create(botan_privkey_t* key_obj,\n                         const
      char* algo_name,\n                         const char* algo_params,\n                         botan_rng_t
      rng_obj)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:60,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:66,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:67,1
    - Dst: Botan::create_ec_private_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:69,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:72,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - key_obj
    - algo_name
    - ec_group_obj
    - rng_obj
    argTypes:
    - botan_privkey_t*
    - char*
    - botan_ec_group_t
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: botan_ec_privkey_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    - ffi_guard_thunk
    - Botan::create_ec_private_key
    - safe_get
    linkageType: ''
    returnType: int
    signature: "int botan_ec_privkey_create(botan_privkey_t* key_obj,\n                            const
      char* algo_name,\n                            botan_ec_group_t ec_group_obj,\n
      \                           botan_rng_t rng_obj)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:82,1
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:86,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:92,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:94,1
    - Dst: std::string
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:94,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:98,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - key
    - rng_obj
    - bits
    - len
    - password
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: botan_privkey_load
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    - ffi_guard_thunk
    - std::string
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_load(\n   botan_privkey_t* key, botan_rng_t rng_obj,
      const uint8_t bits[], size_t len, const char* password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: botan_privkey_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 3
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_privkey_destroy(botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:112,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:120,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - key
    - bits
    - bits_len
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: botan_pubkey_load
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load(botan_pubkey_t* key, const uint8_t bits[], size_t
      bits_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: botan_pubkey_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_destroy(botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:130,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:131,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:132,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pubout
    - key_obj
    argTypes:
    - botan_pubkey_t*
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: botan_privkey_export_pubkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - safe_get
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_privkey_export_pubkey(botan_pubkey_t* pubout, botan_privkey_t
      key_obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:138,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:138,1
    - Dst: algo_name
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - out
    - out_len
    argTypes:
    - botan_privkey_t
    - char[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: botan_privkey_algo_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - BOTAN_FFI_VISIT
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_privkey_algo_name(botan_privkey_t key, char out[], size_t*
      out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:142,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:142,1
    - Dst: algo_name
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - out
    - out_len
    argTypes:
    - botan_pubkey_t
    - char[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: botan_pubkey_algo_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - BOTAN_FFI_VISIT
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_algo_name(botan_pubkey_t key, char out[], size_t*
      out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:148,1
    - Dst: check_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:149,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - rng
    - flags
    argTypes:
    - botan_pubkey_t
    - botan_rng_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: botan_pubkey_check_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - check_key
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_check_key(botan_pubkey_t key, botan_rng_t rng, uint32_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:155,1
    - Dst: check_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:156,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - rng
    - flags
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: botan_privkey_check_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - check_key
    linkageType: ''
    returnType: int
    signature: int botan_privkey_check_key(botan_privkey_t key, botan_rng_t rng, uint32_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:162,1
    - Dst: copy_view_str
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:164,1
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - key
    - out
    - out_len
    - flags
    argTypes:
    - botan_pubkey_t
    - uint8_t[]
    - size_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: botan_pubkey_export
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - copy_view_str
    - copy_view_bin
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_export(botan_pubkey_t key, uint8_t out[], size_t*
      out_len, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:173,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:174,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_pubkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: botan_pubkey_view_der
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - subject_public_key
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_view_der(botan_pubkey_t key, botan_view_ctx ctx, botan_view_bin_fn
      view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:178,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:179,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_pubkey_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: botan_pubkey_view_pem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - Botan::X509::PEM_encode
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_view_pem(botan_pubkey_t key, botan_view_ctx ctx, botan_view_str_fn
      view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:183,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:184,1
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_pubkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: botan_pubkey_view_raw
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - raw_public_key_bits
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_view_raw(botan_pubkey_t key, botan_view_ctx ctx, botan_view_bin_fn
      view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:189,1
    - Dst: copy_view_str
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:191,1
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - key
    - out
    - out_len
    - flags
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    - size_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: botan_privkey_export
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - copy_view_str
    - copy_view_bin
    linkageType: ''
    returnType: int
    signature: int botan_privkey_export(botan_privkey_t key, uint8_t out[], size_t*
      out_len, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:200,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:201,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: botan_privkey_view_der
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - Botan::PKCS8::BER_encode
    linkageType: ''
    returnType: int
    signature: int botan_privkey_view_der(botan_privkey_t key, botan_view_ctx ctx,
      botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:205,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:206,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: botan_privkey_view_pem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - Botan::PKCS8::PEM_encode
    linkageType: ''
    returnType: int
    signature: int botan_privkey_view_pem(botan_privkey_t key, botan_view_ctx ctx,
      botan_view_str_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:210,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:211,1
    - Dst: raw_private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: botan_privkey_view_raw
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - raw_private_key_bits
    linkageType: ''
    returnType: int
    signature: int botan_privkey_view_raw(botan_privkey_t key, botan_view_ctx ctx,
      botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_export_encrypted_pbkdf_iter
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - out
    - out_len
    - rng_obj
    - pass
    - flags
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    - size_t*
    - botan_rng_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: botan_privkey_export_encrypted
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_export_encrypted_pbkdf_iter
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_export_encrypted(botan_privkey_t key,\n                                   uint8_t
      out[],\n                                   size_t* out_len,\n                                   botan_rng_t
      rng_obj,\n                                   const char* pass,\n                                   const
      char* /*ignored - pbe*/,\n                                   uint32_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:239,1
    - Dst: copy_view_str
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 10
    argNames:
    - key
    - out
    - out_len
    - rng
    - passphrase
    - pbkdf_msec
    - pbkdf_iters_out
    - cipher
    - pbkdf_hash
    - flags
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    - size_t*
    - botan_rng_t
    - char*
    - uint32_t
    - size_t*
    - char*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: botan_privkey_export_encrypted_pbkdf_msec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - copy_view_str
    - copy_view_bin
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_export_encrypted_pbkdf_msec(botan_privkey_t key,\n
      \                                             uint8_t out[],\n                                              size_t*
      out_len,\n                                              botan_rng_t rng,\n                                              const
      char* passphrase,\n                                              uint32_t pbkdf_msec,\n
      \                                             size_t* pbkdf_iters_out,\n                                              const
      char* cipher,\n                                              const char* pbkdf_hash,\n
      \                                             uint32_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:261,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:263,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:269,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - key
    - rng_obj
    - passphrase
    - maybe_cipher
    - maybe_pbkdf_algo
    - pbkdf_runtime_msec
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - char*
    - char*
    - char*
    - size_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 273
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 273
    functionName: botan_privkey_view_encrypted_der_timed
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - invoke_view_callback
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_view_encrypted_der_timed(botan_privkey_t key,\n
      \                                          botan_rng_t rng_obj,\n                                           const
      char* passphrase,\n                                           const char* maybe_cipher,\n
      \                                          const char* maybe_pbkdf_algo,\n                                           size_t
      pbkdf_runtime_msec,\n                                           botan_view_ctx
      ctx,\n                                           botan_view_bin_fn view)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:287,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:289,1
    - Dst: Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:295,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - key
    - rng_obj
    - passphrase
    - maybe_cipher
    - maybe_pbkdf_algo
    - pbkdf_runtime_msec
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - char*
    - char*
    - char*
    - size_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 299
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 299
    functionName: botan_privkey_view_encrypted_pem_timed
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - invoke_view_callback
    - Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_view_encrypted_pem_timed(botan_privkey_t key,\n
      \                                          botan_rng_t rng_obj,\n                                           const
      char* passphrase,\n                                           const char* maybe_cipher,\n
      \                                          const char* maybe_pbkdf_algo,\n                                           size_t
      pbkdf_runtime_msec,\n                                           botan_view_ctx
      ctx,\n                                           botan_view_str_fn view)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:311,1
    - Dst: copy_view_str
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 9
    argNames:
    - key
    - out
    - out_len
    - rng
    - passphrase
    - pbkdf_iter
    - cipher
    - pbkdf_algo
    - flags
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    - size_t*
    - botan_rng_t
    - char*
    - size_t
    - char*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: botan_privkey_export_encrypted_pbkdf_iter
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 1
    functionsReached:
    - copy_view_str
    - copy_view_bin
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_export_encrypted_pbkdf_iter(botan_privkey_t key,\n
      \                                             uint8_t out[],\n                                              size_t*
      out_len,\n                                              botan_rng_t rng,\n                                              const
      char* passphrase,\n                                              size_t pbkdf_iter,\n
      \                                             const char* cipher,\n                                              const
      char* pbkdf_algo,\n                                              uint32_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:333,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:334,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:340,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - key
    - rng_obj
    - passphrase
    - maybe_cipher
    - maybe_pbkdf_algo
    - maybe_pbkdf_iterations
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - char*
    - char*
    - char*
    - size_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 344
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 344
    functionName: botan_privkey_view_encrypted_der
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - invoke_view_callback
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_view_encrypted_der(botan_privkey_t key,\n                                     botan_rng_t
      rng_obj,\n                                     const char* passphrase,\n                                     const
      char* maybe_cipher,\n                                     const char* maybe_pbkdf_algo,\n
      \                                    size_t maybe_pbkdf_iterations,\n                                     botan_view_ctx
      ctx,\n                                     botan_view_bin_fn view)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:358,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:359,1
    - Dst: Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:365,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - key
    - rng_obj
    - passphrase
    - maybe_cipher
    - maybe_pbkdf_algo
    - maybe_pbkdf_iterations
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - char*
    - char*
    - char*
    - size_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 369
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 369
    functionName: botan_privkey_view_encrypted_pem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
    - invoke_view_callback
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_view_encrypted_pem(botan_privkey_t key,\n                                     botan_rng_t
      rng_obj,\n                                     const char* passphrase,\n                                     const
      char* maybe_cipher,\n                                     const char* maybe_pbkdf_algo,\n
      \                                    size_t maybe_pbkdf_iterations,\n                                     botan_view_ctx
      ctx,\n                                     botan_view_str_fn view)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:372,1
    - Dst: std::make_unique<Botan::OID>
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:377,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:377,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:378,1
    - Dst: botan_asn1_oid_struct::botan_asn1_oid_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - oid
    - key
    argTypes:
    - botan_asn1_oid_t*
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 382
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 382
    functionName: botan_pubkey_oid
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_FFI_VISIT
    - std::make_unique<Botan::OID>
    - object_identifier
    - botan_asn1_oid_struct::botan_asn1_oid_struct
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_oid(botan_asn1_oid_t* oid, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:385,1
    - Dst: std::make_unique<Botan::OID>
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:390,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:390,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:391,1
    - Dst: botan_asn1_oid_struct::botan_asn1_oid_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - oid
    - key
    argTypes:
    - botan_asn1_oid_t*
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 395
    functionName: botan_privkey_oid
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_FFI_VISIT
    - std::make_unique<Botan::OID>
    - object_identifier
    - botan_asn1_oid_struct::botan_asn1_oid_struct
    linkageType: ''
    returnType: int
    signature: int botan_privkey_oid(botan_asn1_oid_t* oid, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:398,1
    - Dst: stateful_operation
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - key
    - out
    argTypes:
    - botan_privkey_t
    - int*
    constantsTouched: []
    func_position:
      end: 410
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 410
    functionName: botan_privkey_stateful_operation
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - stateful_operation
    linkageType: ''
    returnType: int
    signature: int botan_privkey_stateful_operation(botan_privkey_t key, int* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:413,1
    - Dst: remaining_operations
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:418,1
    - Dst: auto::value
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - key
    - out
    argTypes:
    - botan_privkey_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 425
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 425
    functionName: botan_privkey_remaining_operations
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - BOTAN_FFI_VISIT
    - remaining_operations
    linkageType: ''
    returnType: int
    signature: int botan_privkey_remaining_operations(botan_privkey_t key, uint64_t*
      out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:428,1
    - Dst: estimated_strength
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key
    - estimate
    argTypes:
    - botan_pubkey_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: botan_pubkey_estimated_strength
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - estimated_strength
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_estimated_strength(botan_pubkey_t key, size_t* estimate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:432,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:433,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:434,1
    - Dst: auto::process
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:434,1
    - Dst: public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - hash_fn
    - out
    - out_len
    argTypes:
    - botan_pubkey_t
    - char*
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 436
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 436
    functionName: botan_pubkey_fingerprint
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - public_key_bits
    - BOTAN_FFI_VISIT
    - Botan::HashFunction::create_or_throw
    - write_vec_output
    - auto::process
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_fingerprint(botan_pubkey_t key, const char* hash_fn,
      uint8_t out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:440,1
    - Dst: Botan::pkcs_hash_id
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:441,1
    - Dst: write_output
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:442,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:442,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:442,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - hash_name
    - pkcs_id
    - pkcs_id_len
    argTypes:
    - char*
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 448
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 448
    functionName: botan_pkcs_hash_id
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - write_output
    - Botan::pkcs_hash_id
    linkageType: ''
    returnType: int
    signature: int botan_pkcs_hash_id(const char* hash_name, uint8_t pkcs_id[], size_t*
      pkcs_id_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:109,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:114,1
    - Dst: reset
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:115,1
    - Dst: ECPrivateKey_t::ECPrivateKey_t
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' key'
    - ' scalar'
    - curve_name
    argTypes:
    - std::unique_ptr<ECPrivateKey_t>
    - Botan::BigInt
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: privkey_load_ec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::from_name
    - reset
    - ECPrivateKey_t::ECPrivateKey_t
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: int
    signature: int privkey_load_ec(std::unique_ptr<ECPrivateKey_t>& key, const Botan::BigInt&
      scalar, const char* curve_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:128,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:132,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:134,1
    - Dst: reset
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:135,1
    - Dst: auto::value
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:135,1
    - Dst: ECPublicKey_t::ECPublicKey_t
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' key'
    - ' public_x'
    - ' public_y'
    - curve_name
    argTypes:
    - std::unique_ptr<ECPublicKey_t>
    - Botan::BigInt
    - Botan::BigInt
    - char*
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: pubkey_load_ec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - ECPublicKey_t::ECPublicKey_t
    - auto::value
    - reset
    - Botan::EC_AffinePoint::from_bigint_xy
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: int
    signature: "int pubkey_load_ec(std::unique_ptr<ECPublicKey_t>& key,\n                   const
      Botan::BigInt& public_x,\n                   const Botan::BigInt& public_y,\n
      \                  const char* curve_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Botan::EC_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:147,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:149,1
    - Dst: Botan::EC_PublicKey*::_public_ec_point
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:149,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:151,1
    - Dst: Botan::EC_PublicKey*::_public_ec_point
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:151,1
    - Dst: get_int_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:157,1
    - Dst: Botan_FFI::FFI_Error
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' key'
    - field
    argTypes:
    - Botan::Public_Key
    - std::string_view
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: pubkey_get_field
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - Botan_FFI::FFI_Error
    - get_int_field
    - dynamic_cast<const Botan::EC_PublicKey*>
    - Botan::EC_PublicKey*::_public_ec_point
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt pubkey_get_field(const Botan::Public_Key& key, std::string_view
      field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Botan::EC_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:166,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:168,1
    - Dst: Botan::EC_PublicKey*::_public_ec_point
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:168,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:170,1
    - Dst: Botan::EC_PublicKey*::_public_ec_point
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:170,1
    - Dst: get_int_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:176,1
    - Dst: Botan_FFI::FFI_Error
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' key'
    - field
    argTypes:
    - Botan::Private_Key
    - std::string_view
    constantsTouched: []
    func_position:
      end: 180
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 180
    functionName: privkey_get_field
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - Botan_FFI::FFI_Error
    - get_int_field
    - dynamic_cast<const Botan::EC_PublicKey*>
    - Botan::EC_PublicKey*::_public_ec_point
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt privkey_get_field(const Botan::Private_Key& key, std::string_view
      field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:195,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:195,1
    - Dst: pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - output
    - key
    - field_name_cstr
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: botan_pubkey_get_field
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - pubkey_get_field
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_get_field(botan_mp_t output, botan_pubkey_t key, const
      char* field_name_cstr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:205,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:205,1
    - Dst: privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - output
    - key
    - field_name_cstr
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: botan_privkey_get_field
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_get_field(botan_mp_t output, botan_privkey_t key,
      const char* field_name_cstr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:215,1
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:217,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - key_obj
    - rng_obj
    - n_bits
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - size_t
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: botan_privkey_create_rsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_create
    - std::string::c_str
    - std::to_string
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_rsa(botan_privkey_t* key_obj, botan_rng_t
      rng_obj, size_t n_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:227,1
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:228,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:228,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:228,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:228,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:229,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:229,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - key
    - rsa_p
    - rsa_q
    - rsa_e
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 236
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 236
    functionName: botan_privkey_load_rsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::RSA_PrivateKey>
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_rsa(botan_privkey_t* key, botan_mp_t rsa_p,
      botan_mp_t rsa_q, botan_mp_t rsa_e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:245,1
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:247,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:248,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:248,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - key
    - bits
    - len
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: botan_privkey_load_rsa_pkcs1
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::RSA_PrivateKey>
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_rsa_pkcs1(botan_privkey_t* key, const uint8_t
      bits[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:263,1
    - Dst: std::make_unique<Botan::RSA_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:264,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:264,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:264,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:265,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:265,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - key
    - n
    - e
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: botan_pubkey_load_rsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - std::make_unique<Botan::RSA_PublicKey>
    - botan_pubkey_struct::botan_pubkey_struct
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_rsa(botan_pubkey_t* key, botan_mp_t n, botan_mp_t
      e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - key
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: botan_privkey_rsa_get_p
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_rsa_get_p(botan_mp_t p, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - key
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: botan_privkey_rsa_get_q
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_rsa_get_q(botan_mp_t q, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - key
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: botan_privkey_rsa_get_n
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_rsa_get_n(botan_mp_t n, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - key
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: botan_privkey_rsa_get_e
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_rsa_get_e(botan_mp_t e, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - key
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: botan_privkey_rsa_get_d
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_rsa_get_d(botan_mp_t d, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - key
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: botan_pubkey_rsa_get_e
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_rsa_get_e(botan_mp_t e, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - key
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: botan_pubkey_rsa_get_n
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_rsa_get_n(botan_mp_t n, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:304,1
    - Dst: dynamic_cast<const Botan::RSA_PrivateKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:305,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:307,1
    - Dst: Botan::RSA_PrivateKey*::private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:307,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:309,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:309,1
    - Dst: Botan::RSA_PrivateKey*::private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:309,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - rsa_key
    - out
    - out_len
    - flags
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    - size_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 321
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 321
    functionName: botan_privkey_rsa_get_privkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - dynamic_cast<const Botan::RSA_PrivateKey*>
    - Botan::RSA_PrivateKey*::private_key_bits
    - Botan::PEM_Code::encode
    - write_str_output
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: int botan_privkey_rsa_get_privkey(botan_privkey_t rsa_key, uint8_t
      out[], size_t* out_len, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:335,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:336,1
    - Dst: std::make_unique<Botan::DSA_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:338,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:339,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:339,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - key
    - rng_obj
    - pbits
    - qbits
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 346
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 346
    functionName: botan_privkey_create_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::DSA_PrivateKey>
    - ffi_guard_thunk
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_dsa(botan_privkey_t* key, botan_rng_t rng_obj,
      size_t pbits, size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:355,1
    - Dst: std::make_unique<Botan::DSA_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:357,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:357,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:358,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:358,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - key
    - p
    - q
    - g
    - x
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 365
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 365
    functionName: botan_privkey_load_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::DSA_PrivateKey>
    - ffi_guard_thunk
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_dsa(botan_privkey_t* key, botan_mp_t p, botan_mp_t
      q, botan_mp_t g, botan_mp_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:374,1
    - Dst: std::make_unique<Botan::DSA_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:376,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:376,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:377,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:377,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - key
    - p
    - q
    - g
    - y
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 384
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 384
    functionName: botan_pubkey_load_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    - safe_get
    - std::make_unique<Botan::DSA_PublicKey>
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_dsa(botan_pubkey_t* key, botan_mp_t p, botan_mp_t
      q, botan_mp_t g, botan_mp_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - key
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: botan_privkey_dsa_get_x
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_dsa_get_x(botan_mp_t x, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - key
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: botan_pubkey_dsa_get_p
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_dsa_get_p(botan_mp_t p, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - key
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: botan_pubkey_dsa_get_q
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_dsa_get_q(botan_mp_t q, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - key
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: botan_pubkey_dsa_get_g
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_dsa_get_g(botan_mp_t g, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - key
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: botan_pubkey_dsa_get_y
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_dsa_get_y(botan_mp_t y, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key_obj
    - rng_obj
    - param_str
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - char*
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: botan_privkey_create_ecdsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_create
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_ecdsa(botan_privkey_t* key_obj, botan_rng_t
      rng_obj, const char* param_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:414,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:415,1
    - Dst: dynamic_cast<const Botan::EC_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:416,1
    - Dst: Botan::EC_PublicKey*::domain
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:422,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 428
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 428
    functionName: botan_pubkey_ecc_key_used_explicit_encoding
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::EC_PublicKey*::domain
    - ffi_guard_thunk
    - safe_get
    - dynamic_cast<const Botan::EC_PublicKey*>
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_ecc_key_used_explicit_encoding(botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:440,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:445,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:445,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - key
    - public_x
    - public_y
    - curve_name
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 454
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 454
    functionName: botan_pubkey_load_ecdsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    linkageType: ''
    returnType: int
    signature: "int botan_pubkey_load_ecdsa(botan_pubkey_t* key,\n                            const
      botan_mp_t public_x,\n                            const botan_mp_t public_y,\n
      \                           const char* curve_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:463,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:467,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:467,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - key
    - scalar
    - curve_name
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 475
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 475
    functionName: botan_privkey_load_ecdsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    - BOTAN_UNUSED
    - ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_ecdsa(botan_privkey_t* key, const botan_mp_t
      scalar, const char* curve_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:492,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:493,1
    - Dst: std::make_unique<Botan::ElGamal_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:495,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:496,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:496,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key
    - rng_obj
    - pbits
    - qbits
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 503
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 503
    functionName: botan_privkey_create_elgamal
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - ffi_guard_thunk
    - safe_get
    - std::make_unique<Botan::ElGamal_PrivateKey>
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_elgamal(botan_privkey_t* key, botan_rng_t
      rng_obj, size_t pbits, size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:511,1
    - Dst: std::make_unique<Botan::ElGamal_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:513,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:513,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:514,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:514,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - key
    - p
    - g
    - y
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 521
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 521
    functionName: botan_pubkey_load_elgamal
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    - safe_get
    - std::make_unique<Botan::ElGamal_PublicKey>
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_elgamal(botan_pubkey_t* key, botan_mp_t p, botan_mp_t
      g, botan_mp_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:529,1
    - Dst: std::make_unique<Botan::ElGamal_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:531,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:531,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:532,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:532,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - key
    - p
    - g
    - x
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 539
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 539
    functionName: botan_privkey_load_elgamal
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - ffi_guard_thunk
    - safe_get
    - std::make_unique<Botan::ElGamal_PrivateKey>
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_elgamal(botan_privkey_t* key, botan_mp_t p,
      botan_mp_t g, botan_mp_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key_obj
    - rng_obj
    - param_str
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - char*
    constantsTouched: []
    func_position:
      end: 545
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 545
    functionName: botan_privkey_create_dh
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_create
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_dh(botan_privkey_t* key_obj, botan_rng_t rng_obj,
      const char* param_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:553,1
    - Dst: std::make_unique<Botan::DH_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:555,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:555,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:556,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:556,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - key
    - p
    - g
    - x
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 563
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 563
    functionName: botan_privkey_load_dh
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::DH_PrivateKey>
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_dh(botan_privkey_t* key, botan_mp_t p, botan_mp_t
      g, botan_mp_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:571,1
    - Dst: std::make_unique<Botan::DH_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:573,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:573,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:574,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:574,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - key
    - p
    - g
    - y
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 581
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 581
    functionName: botan_pubkey_load_dh
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - std::make_unique<Botan::DH_PublicKey>
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_dh(botan_pubkey_t* key, botan_mp_t p, botan_mp_t
      g, botan_mp_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:594,1
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:598,1
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:601,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - key_obj
    - rng_obj
    - param_str
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - char*
    constantsTouched: []
    func_position:
      end: 602
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 602
    functionName: botan_privkey_create_ecdh
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_create
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_ecdh(botan_privkey_t* key_obj, botan_rng_t
      rng_obj, const char* param_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:613,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:618,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:618,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - key
    - public_x
    - public_y
    - curve_name
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 626
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 626
    functionName: botan_pubkey_load_ecdh
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    linkageType: ''
    returnType: int
    signature: "int botan_pubkey_load_ecdh(botan_pubkey_t* key,\n                           const
      botan_mp_t public_x,\n                           const botan_mp_t public_y,\n
      \                          const char* curve_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:634,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:638,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:638,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - key
    - scalar
    - curve_name
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 646
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 646
    functionName: botan_privkey_load_ecdh
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    - BOTAN_UNUSED
    - ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_ecdh(botan_privkey_t* key, const botan_mp_t
      scalar, const char* curve_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:657,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:658,1
    - Dst: dynamic_cast<const Botan::EC_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:659,1
    - Dst: Botan::EC_PublicKey*::algo_name
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:665,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:670,1
    - Dst: Botan::EC_PublicKey*::_public_ec_point
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:672,1
    - Dst: Botan::sm2_compute_za
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:674,1
    - Dst: Botan::EC_PublicKey*::domain
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:674,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:676,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - out
    - out_len
    - ident
    - hash_algo
    - key
    argTypes:
    - uint8_t[]
    - size_t*
    - char*
    - char*
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 681
      start: 650
    functionDepth: 4
    functionLinenumber: 650
    functionLinenumberEnd: 681
    functionName: botan_pubkey_sm2_compute_za
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_PublicKey*::domain
    - Botan::EC_PublicKey*::algo_name
    - ffi_guard_thunk
    - Botan::sm2_compute_za
    - safe_get
    - Botan::HashFunction::create_or_throw
    - dynamic_cast<const Botan::EC_PublicKey*>
    - write_vec_output
    - Botan::EC_PublicKey*::_public_ec_point
    linkageType: ''
    returnType: int
    signature: "int botan_pubkey_sm2_compute_za(\n   uint8_t out[], size_t* out_len,
      const char* ident, const char* hash_algo, const botan_pubkey_t key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:693,1
    - Dst: pubkey_load_ec
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:695,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:695,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:695,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:696,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:696,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - key
    - public_x
    - public_y
    - curve_name
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 705
      start: 683
    functionDepth: 4
    functionLinenumber: 683
    functionLinenumberEnd: 705
    functionName: botan_pubkey_load_sm2
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    - safe_get
    - pubkey_load_ec
    linkageType: ''
    returnType: int
    signature: "int botan_pubkey_load_sm2(botan_pubkey_t* key,\n                          const
      botan_mp_t public_x,\n                          const botan_mp_t public_y,\n
      \                         const char* curve_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:714,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:719,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:719,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - key
    - scalar
    - curve_name
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 727
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 727
    functionName: botan_privkey_load_sm2
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    - BOTAN_UNUSED
    - ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_sm2(botan_privkey_t* key, const botan_mp_t scalar,
      const char* curve_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_load_sm2
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - public_x
    - public_y
    - curve_name
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 5
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: botan_pubkey_load_sm2_enc
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_load_sm2
    linkageType: ''
    returnType: int
    signature: "int botan_pubkey_load_sm2_enc(botan_pubkey_t* key,\n                              const
      botan_mp_t public_x,\n                              const botan_mp_t public_y,\n
      \                             const char* curve_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_load_sm2
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - scalar
    - curve_name
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 738
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 738
    functionName: botan_privkey_load_sm2_enc
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_load_sm2
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_sm2_enc(botan_privkey_t* key, const botan_mp_t
      scalar, const char* curve_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:748,1
    - Dst: std::make_unique<Botan::Ed25519_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:750,1
    - Dst: Botan::Ed25519_PrivateKey::from_seed
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:750,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:751,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:751,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - privkey
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 3
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: botan_privkey_load_ed25519
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::Ed25519_PrivateKey>
    - Botan::Ed25519_PrivateKey::from_seed
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_ed25519(botan_privkey_t* key, const uint8_t
      privkey[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:766,1
    - Dst: std::make_unique<Botan::Ed25519_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:768,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:769,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:769,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - pubkey
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 776
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 776
    functionName: botan_pubkey_load_ed25519
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - std::make_unique<Botan::Ed25519_PublicKey>
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_ed25519(botan_pubkey_t* key, const uint8_t pubkey[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:780,1
    - Dst: dynamic_cast<const Botan::Ed25519_PrivateKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:781,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:782,1
    - Dst: auto::size
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:783,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:786,1
    - Dst: auto::data
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:786,1
    - Dst: auto::size
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:786,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 796
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 796
    functionName: botan_privkey_ed25519_get_privkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - auto::raw_private_key_bits
    - auto::data
    - dynamic_cast<const Botan::Ed25519_PrivateKey*>
    - auto::size
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_privkey_ed25519_get_privkey(botan_privkey_t key, uint8_t
      output[64])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:800,1
    - Dst: dynamic_cast<const Botan::Ed25519_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:801,1
    - Dst: auto::get_public_key
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:802,1
    - Dst: size
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:803,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:806,1
    - Dst: data
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:806,1
    - Dst: size
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:806,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_pubkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 816
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 816
    functionName: botan_pubkey_ed25519_get_pubkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - data
    - dynamic_cast<const Botan::Ed25519_PublicKey*>
    - size
    - Botan::copy_mem
    - auto::get_public_key
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_ed25519_get_pubkey(botan_pubkey_t key, uint8_t output[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:826,1
    - Dst: std::make_unique<Botan::Ed448_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:827,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:827,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:828,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:828,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - privkey
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 835
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionName: botan_privkey_load_ed448
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::Ed448_PrivateKey>
    - ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_ed448(botan_privkey_t* key, const uint8_t privkey[57])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:843,1
    - Dst: std::make_unique<Botan::Ed448_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:844,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:844,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:845,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:845,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - pubkey
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 852
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 852
    functionName: botan_pubkey_load_ed448
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - std::move
    - BOTAN_UNUSED
    - std::make_unique<Botan::Ed448_PublicKey>
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_ed448(botan_pubkey_t* key, const uint8_t pubkey[57])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:856,1
    - Dst: dynamic_cast<const Botan::Ed448_PrivateKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:857,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:858,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:859,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:859,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 869
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 869
    functionName: botan_privkey_ed448_get_privkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - auto::raw_private_key_bits
    - dynamic_cast<const Botan::Ed448_PrivateKey*>
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_privkey_ed448_get_privkey(botan_privkey_t key, uint8_t output[57])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:873,1
    - Dst: dynamic_cast<const Botan::Ed448_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:874,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:875,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:876,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:876,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_pubkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 886
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 886
    functionName: botan_pubkey_ed448_get_pubkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - dynamic_cast<const Botan::Ed448_PublicKey*>
    - auto::public_key_bits
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_ed448_get_pubkey(botan_pubkey_t key, uint8_t output[57])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:896,1
    - Dst: std::make_unique<Botan::X25519_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:897,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:898,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:898,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - privkey
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 905
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 905
    functionName: botan_privkey_load_x25519
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::X25519_PrivateKey>
    - ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_x25519(botan_privkey_t* key, const uint8_t privkey[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:913,1
    - Dst: std::make_unique<Botan::X25519_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:914,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:915,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:915,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - pubkey
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 922
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 922
    functionName: botan_pubkey_load_x25519
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    - std::make_unique<Botan::X25519_PublicKey>
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_x25519(botan_pubkey_t* key, const uint8_t pubkey[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:926,1
    - Dst: dynamic_cast<const Botan::X25519_PrivateKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:927,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:928,1
    - Dst: auto::size
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:929,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:932,1
    - Dst: auto::data
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:932,1
    - Dst: auto::size
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:932,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 942
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 942
    functionName: botan_privkey_x25519_get_privkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - auto::raw_private_key_bits
    - dynamic_cast<const Botan::X25519_PrivateKey*>
    - auto::data
    - auto::size
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_privkey_x25519_get_privkey(botan_privkey_t key, uint8_t output[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:946,1
    - Dst: dynamic_cast<const Botan::X25519_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:947,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:948,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:948,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_pubkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 958
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 958
    functionName: botan_pubkey_x25519_get_pubkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - dynamic_cast<const Botan::X25519_PublicKey*>
    - auto::raw_public_key_bits
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_x25519_get_pubkey(botan_pubkey_t key, uint8_t output[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:968,1
    - Dst: std::make_unique<Botan::X448_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:969,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:970,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:970,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - privkey
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 977
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 977
    functionName: botan_privkey_load_x448
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::X448_PrivateKey>
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_x448(botan_privkey_t* key, const uint8_t privkey[56])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:985,1
    - Dst: std::make_unique<Botan::X448_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:986,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:987,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:987,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - pubkey
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 994
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 994
    functionName: botan_pubkey_load_x448
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    - std::make_unique<Botan::X448_PublicKey>
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_x448(botan_pubkey_t* key, const uint8_t pubkey[56])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:998,1
    - Dst: dynamic_cast<const Botan::X448_PrivateKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:999,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1000,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1001,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1011
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1011
    functionName: botan_privkey_x448_get_privkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - auto::raw_private_key_bits
    - Botan::copy_mem
    - dynamic_cast<const Botan::X448_PrivateKey*>
    linkageType: ''
    returnType: int
    signature: int botan_privkey_x448_get_privkey(botan_privkey_t key, uint8_t output[56])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1015,1
    - Dst: dynamic_cast<const Botan::X448_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1016,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1017,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1017,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_pubkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1027
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1027
    functionName: botan_pubkey_x448_get_pubkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - dynamic_cast<const Botan::X448_PublicKey*>
    - auto::raw_public_key_bits
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_x448_get_pubkey(botan_pubkey_t key, uint8_t output[56])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::has_value
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1052,1
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1053,1
    - Dst: std::make_unique<Botan::Kyber_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1054,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1055,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1055,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1062,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - key
    - privkey
    - key_len
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1065
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1065
    functionName: botan_privkey_load_kyber
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::Kyber_PrivateKey>
    - ffi_guard_thunk
    - auto::has_value
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_kyber(botan_privkey_t* key, const uint8_t privkey[],
      size_t key_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::has_value
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1086,1
    - Dst: std::make_unique<Botan::Kyber_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1087,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1088,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1088,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1094,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - key
    - pubkey
    - key_len
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1097
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1097
    functionName: botan_pubkey_load_kyber
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_pubkey_struct::botan_pubkey_struct
    - std::make_unique<Botan::Kyber_PublicKey>
    - auto::has_value
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_kyber(botan_pubkey_t* key, const uint8_t pubkey[],
      size_t key_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1101,1
    - Dst: dynamic_cast<const Botan::Kyber_PrivateKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1102,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1103,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1103,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 1112
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1112
    functionName: botan_privkey_view_kyber_raw_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - dynamic_cast<const Botan::Kyber_PrivateKey*>
    - auto::raw_private_key_bits
    - invoke_view_callback
    linkageType: ''
    returnType: int
    signature: int botan_privkey_view_kyber_raw_key(botan_privkey_t key, botan_view_ctx
      ctx, botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1116,1
    - Dst: dynamic_cast<const Botan::Kyber_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1117,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1118,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1118,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_pubkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 1127
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1127
    functionName: botan_pubkey_view_kyber_raw_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - auto::public_key_bits
    - invoke_view_callback
    - dynamic_cast<const Botan::Kyber_PublicKey*>
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_view_kyber_raw_key(botan_pubkey_t key, botan_view_ctx
      ctx, botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1141,1
    - Dst: Botan::ML_KEM_Mode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1142,1
    - Dst: auto::is_ml_kem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1143,1
    - Dst: std::make_unique<Botan::ML_KEM_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1147,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1148,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1148,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key
    - privkey
    - key_len
    - mlkem_mode
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1155
    functionName: botan_privkey_load_ml_kem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::ML_KEM_PrivateKey>
    - Botan::ML_KEM_Mode
    - auto::is_ml_kem
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_ml_kem(botan_privkey_t* key, const uint8_t privkey[],
      size_t key_len, const char* mlkem_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1165,1
    - Dst: Botan::ML_KEM_Mode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1166,1
    - Dst: auto::is_ml_kem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1167,1
    - Dst: std::make_unique<Botan::ML_KEM_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1171,1
    - Dst: auto::mode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1171,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1172,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1172,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key
    - pubkey
    - key_len
    - mlkem_mode
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1179
    functionName: botan_pubkey_load_ml_kem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    - std::make_unique<Botan::ML_KEM_PublicKey>
    - Botan::ML_KEM_Mode
    - auto::is_ml_kem
    - auto::mode
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_ml_kem(botan_pubkey_t* key, const uint8_t pubkey[],
      size_t key_len, const char* mlkem_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1193,1
    - Dst: Botan::ML_DSA_Mode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1194,1
    - Dst: auto::is_ml_dsa
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1195,1
    - Dst: std::make_unique<Botan::ML_DSA_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1199,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1200,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1200,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key
    - privkey
    - key_len
    - mldsa_mode
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1207
    functionName: botan_privkey_load_ml_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - auto::is_ml_dsa
    - std::make_unique<Botan::ML_DSA_PrivateKey>
    - ffi_guard_thunk
    - Botan::ML_DSA_Mode
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_ml_dsa(botan_privkey_t* key, const uint8_t privkey[],
      size_t key_len, const char* mldsa_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1217,1
    - Dst: Botan::ML_DSA_Mode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1218,1
    - Dst: auto::is_ml_dsa
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1219,1
    - Dst: std::make_unique<Botan::ML_DSA_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1223,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1224,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1224,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key
    - pubkey
    - key_len
    - mldsa_mode
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1231
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1231
    functionName: botan_pubkey_load_ml_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - auto::is_ml_dsa
    - std::make_unique<Botan::ML_DSA_PublicKey>
    - ffi_guard_thunk
    - Botan::ML_DSA_Mode
    - botan_pubkey_struct::botan_pubkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_ml_dsa(botan_pubkey_t* key, const uint8_t pubkey[],
      size_t key_len, const char* mldsa_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1245,1
    - Dst: argon2_thread_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1246,1
    - Dst: auto::is_slh_dsa
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1247,1
    - Dst: std::make_unique<Botan::SLH_DSA_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1251,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1252,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1252,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - key
    - privkey
    - key_len
    - slhdsa_mode
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1259
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1259
    functionName: botan_privkey_load_slh_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - argon2_thread_create
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - auto::is_slh_dsa
    - ffi_guard_thunk
    - std::make_unique<Botan::SLH_DSA_PrivateKey>
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_slh_dsa(botan_privkey_t* key, const uint8_t
      privkey[], size_t key_len, const char* slhdsa_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1269,1
    - Dst: argon2_thread_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1270,1
    - Dst: auto::is_slh_dsa
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1271,1
    - Dst: std::make_unique<Botan::SLH_DSA_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1275,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1276,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1276,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - key
    - pubkey
    - key_len
    - slhdsa_mode
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1283
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1283
    functionName: botan_pubkey_load_slh_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::SLH_DSA_PublicKey>
    - argon2_thread_create
    - std::move
    - BOTAN_UNUSED
    - auto::is_slh_dsa
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_slh_dsa(botan_pubkey_t* key, const uint8_t pubkey[],
      size_t key_len, const char* slhdsa_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1297,1
    - Dst: Botan::FrodoKEMMode::FrodoKEMMode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1298,1
    - Dst: std::make_unique<Botan::FrodoKEM_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1299,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1300,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1300,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - key
    - privkey
    - key_len
    - frodo_mode
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1307
    functionName: botan_privkey_load_frodokem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::FrodoKEM_PrivateKey>
    - Botan::FrodoKEMMode::FrodoKEMMode
    - ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_frodokem(botan_privkey_t* key, const uint8_t
      privkey[], size_t key_len, const char* frodo_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1317,1
    - Dst: Botan::FrodoKEMMode::FrodoKEMMode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1318,1
    - Dst: std::make_unique<Botan::FrodoKEM_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1319,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1320,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1320,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - key
    - pubkey
    - key_len
    - frodo_mode
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1327
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1327
    functionName: botan_pubkey_load_frodokem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - std::make_unique<Botan::FrodoKEM_PublicKey>
    - Botan::FrodoKEMMode::FrodoKEMMode
    - ffi_guard_thunk
    - botan_pubkey_struct::botan_pubkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_frodokem(botan_pubkey_t* key, const uint8_t pubkey[],
      size_t key_len, const char* frodo_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1344,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1345,1
    - Dst: std::make_unique<Botan::Classic_McEliece_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1346,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1347,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1347,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - key
    - privkey
    - key_len
    - cmce_mode
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1354
      start: 1333
    functionDepth: 2
    functionLinenumber: 1333
    functionLinenumberEnd: 1354
    functionName: botan_privkey_load_classic_mceliece
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::Classic_McEliece_PrivateKey>
    - ffi_guard_thunk
    - Botan::Classic_McEliece_Parameter_Set::from_string
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_load_classic_mceliece(botan_privkey_t* key,\n                                        const
      uint8_t privkey[],\n                                        size_t key_len,\n
      \                                       const char* cmce_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1367,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1368,1
    - Dst: std::make_unique<Botan::Classic_McEliece_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1369,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1370,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1370,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - key
    - pubkey
    - key_len
    - cmce_mode
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1377
      start: 1356
    functionDepth: 2
    functionLinenumber: 1356
    functionLinenumberEnd: 1377
    functionName: botan_pubkey_load_classic_mceliece
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<Botan::Classic_McEliece_PublicKey>
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - Botan::Classic_McEliece_Parameter_Set::from_string
    - botan_pubkey_struct::botan_pubkey_struct
    linkageType: ''
    returnType: int
    signature: "int botan_pubkey_load_classic_mceliece(botan_pubkey_t* key,\n                                       const
      uint8_t pubkey[],\n                                       size_t key_len,\n
      \                                      const char* cmce_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1381,1
    - Dst: dynamic_cast<const Botan::EC_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1382,1
    - Dst: auto::_public_ec_point
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1383,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1384,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_pubkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 1393
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1393
    functionName: botan_pubkey_view_ec_public_point
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - auto::_public_ec_point
    - dynamic_cast<const Botan::EC_PublicKey*>
    - invoke_view_callback
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_view_ec_public_point(const botan_pubkey_t key, botan_view_ctx
      ctx, botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1396,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1396,1
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1397,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key_obj
    - rng_obj
    - n
    - t
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1398
      start: 1395
    functionDepth: 3
    functionLinenumber: 1395
    functionLinenumberEnd: 1398
    functionName: botan_privkey_create_mceliece
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_create
    - std::string::c_str
    - std::to_string
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_mceliece(botan_privkey_t* key_obj, botan_rng_t
      rng_obj, size_t n, size_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - mce_key_obj
    - aead
    - ct
    - ct_len
    - ad
    - ad_len
    - out
    - out_len
    argTypes:
    - botan_privkey_t
    - char*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 1410
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1410
    functionName: botan_mceies_decrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: "int botan_mceies_decrypt(botan_privkey_t mce_key_obj,\n                         const
      char* aead,\n                         const uint8_t ct[],\n                         size_t
      ct_len,\n                         const uint8_t ad[],\n                         size_t
      ad_len,\n                         uint8_t out[],\n                         size_t*
      out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - mce_key_obj
    - rng_obj
    - aead
    - pt
    - pt_len
    - ad
    - ad_len
    - out
    - out_len
    argTypes:
    - botan_pubkey_t
    - botan_rng_t
    - char*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 1423
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1423
    functionName: botan_mceies_encrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: "int botan_mceies_encrypt(botan_pubkey_t mce_key_obj,\n                         botan_rng_t
      rng_obj,\n                         const char* aead,\n                         const
      uint8_t pt[],\n                         size_t pt_len,\n                         const
      uint8_t ad[],\n                         size_t ad_len,\n                         uint8_t
      out[],\n                         size_t* out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:25,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:26,1
    - Dst: reserve
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - update_size
    - ideal_update_size
    argTypes:
    - std::unique_ptr<Botan::Cipher_Mode>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: botan_cipher_struct
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - reserve
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: void
    signature: "void botan_cipher_struct(std::unique_ptr<Botan::Cipher_Mode> x,\n
      \                                  size_t update_size,\n                                   size_t
      ideal_update_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& buf()'
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> & buf()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: update_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t update_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ideal_update_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ideal_update_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:66,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:78,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:78,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - Botan::Cipher_Mode
    constantsTouched: []
    func_position:
      end: 92
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 92
    functionName: ffi_choose_update_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t ffi_choose_update_size(Botan::Cipher_Mode& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:97,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:109,1
    - Dst: botan_cipher_struct::botan_cipher_struct
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cipher
    - cipher_name
    - flags
    argTypes:
    - botan_cipher_t*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: botan_cipher_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - botan_cipher_struct::botan_cipher_struct
    - ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_cipher_init(botan_cipher_t* cipher, const char* cipher_name,
      uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - botan_cipher_t
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: botan_cipher_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_cipher_destroy(botan_cipher_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:119,1
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - botan_cipher_t
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: botan_cipher_clear
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - clear
    linkageType: ''
    returnType: int
    signature: int botan_cipher_clear(botan_cipher_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:123,1
    - Dst: reset
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - botan_cipher_t
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: botan_cipher_reset
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - reset
    linkageType: ''
    returnType: int
    signature: int botan_cipher_reset(botan_cipher_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:131,1
    - Dst: output_length
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cipher
    - in_len
    - out_len
    argTypes:
    - botan_cipher_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: botan_cipher_output_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - output_length
    linkageType: ''
    returnType: int
    signature: int botan_cipher_output_length(botan_cipher_t cipher, size_t in_len,
      size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:135,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:136,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cipher
    - out_minimum_keylength
    - out_maximum_keylength
    argTypes:
    - botan_cipher_t
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: botan_cipher_query_keylen
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - key_spec
    linkageType: ''
    returnType: int
    signature: int botan_cipher_query_keylen(botan_cipher_t cipher, size_t* out_minimum_keylength,
      size_t* out_maximum_keylength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:145,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:147,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:150,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cipher
    - out_minimum_keylength
    - out_maximum_keylength
    - out_keylength_modulo
    argTypes:
    - botan_cipher_t
    - size_t*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: botan_cipher_get_keyspec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - key_spec
    linkageType: ''
    returnType: int
    signature: "int botan_cipher_get_keyspec(botan_cipher_t cipher,\n                             size_t*
      out_minimum_keylength,\n                             size_t* out_maximum_keylength,\n
      \                            size_t* out_keylength_modulo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:159,1
    - Dst: set_key
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cipher
    - key
    - key_len
    argTypes:
    - botan_cipher_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: botan_cipher_set_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - set_key
    linkageType: ''
    returnType: int
    signature: int botan_cipher_set_key(botan_cipher_t cipher, const uint8_t* key,
      size_t key_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:163,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:164,1
    - Dst: start
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cipher_obj
    - nonce
    - nonce_len
    argTypes:
    - botan_cipher_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: botan_cipher_start
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - safe_get
    - ffi_guard_thunk
    - start
    linkageType: ''
    returnType: int
    signature: int botan_cipher_start(botan_cipher_t cipher_obj, const uint8_t* nonce,
      size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:178,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:180,1
    - Dst: botan_cipher_t::buf
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:181,1
    - Dst: scoped_cleanup
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:208,1
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:208,1
    - Dst: resize
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:215,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:216,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:216,1
    - Dst: finish
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:219,1
    - Dst: size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:227,1
    - Dst: size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:231,1
    - Dst: auto::disengage
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:233,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:238,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:238,1
    - Dst: size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:238,1
    - Dst: resize
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:255,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:257,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:257,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:258,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:258,1
    - Dst: process
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:259,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:260,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:262,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:263,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:263,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:263,1
    - Dst: blockwise_update
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:269,1
    - Dst: botan_cipher_t::ideal_update_size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:269,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:276,1
    - Dst: botan_cipher_t::ideal_update_size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:276,1
    - Dst: blockwise_update
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:277,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:280,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:281,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 8
    argNames:
    - cipher_obj
    - flags
    - output
    - output_size
    - output_written
    - input
    - input_size
    - input_consumed
    argTypes:
    - botan_cipher_t
    - uint32_t
    - uint8_t[]
    - size_t
    - size_t*
    - uint8_t[]
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 286
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 286
    functionName: botan_cipher_update
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - clear
    - ffi_guard_thunk
    - process
    - BOTAN_ASSERT_NOMSG
    - std::span
    - BufferStuffer::remaining_capacity
    - finish
    - blockwise_update
    - BufferSlicer::remaining
    - botan_cipher_t::ideal_update_size
    - botan_cipher_t::buf
    - BufferStuffer::next
    - auto::disengage
    - copy_mem
    - BufferSlicer::take
    - BOTAN_DEBUG_ASSERT
    - safe_get
    - resize
    - scoped_cleanup
    - size
    linkageType: ''
    returnType: int
    signature: "int botan_cipher_update(botan_cipher_t cipher_obj,\n                        uint32_t
      flags,\n                        uint8_t output[],\n                        size_t
      output_size,\n                        size_t* output_written,\n                        const
      uint8_t input[],\n                        size_t input_size,\n                        size_t*
      input_consumed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:289,1
    - Dst: dynamic_cast<Botan::AEAD_Mode*>
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:290,1
    - Dst: Botan::AEAD_Mode*::set_associated_data
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cipher
    - ad
    - ad_len
    argTypes:
    - botan_cipher_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: botan_cipher_set_associated_data
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - Botan::AEAD_Mode*::set_associated_data
    - BOTAN_FFI_VISIT
    - dynamic_cast<Botan::AEAD_Mode*>
    linkageType: ''
    returnType: int
    signature: int botan_cipher_set_associated_data(botan_cipher_t cipher, const uint8_t*
      ad, size_t ad_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:299,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - nl
    argTypes:
    - botan_cipher_t
    - size_t
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: botan_cipher_valid_nonce_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - valid_nonce_length
    linkageType: ''
    returnType: int
    signature: int botan_cipher_valid_nonce_length(botan_cipher_t cipher, size_t nl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:303,1
    - Dst: default_nonce_length
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - nl
    argTypes:
    - botan_cipher_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: botan_cipher_get_default_nonce_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - default_nonce_length
    linkageType: ''
    returnType: int
    signature: int botan_cipher_get_default_nonce_length(botan_cipher_t cipher, size_t*
      nl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:307,1
    - Dst: botan_cipher_t::update_size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - ug
    argTypes:
    - botan_cipher_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: botan_cipher_get_update_granularity
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - botan_cipher_t::update_size
    linkageType: ''
    returnType: int
    signature: int botan_cipher_get_update_granularity(botan_cipher_t cipher, size_t*
      ug)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:311,1
    - Dst: ideal_granularity
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - ug
    argTypes:
    - botan_cipher_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: botan_cipher_get_ideal_update_granularity
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - ideal_granularity
    linkageType: ''
    returnType: int
    signature: int botan_cipher_get_ideal_update_granularity(botan_cipher_t cipher,
      size_t* ug)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:315,1
    - Dst: tag_size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - tl
    argTypes:
    - botan_cipher_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: botan_cipher_get_tag_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - tag_size
    linkageType: ''
    returnType: int
    signature: int botan_cipher_get_tag_length(botan_cipher_t cipher, size_t* tl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:319,1
    - Dst: authenticated
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - botan_cipher_t
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: botan_cipher_is_authenticated
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - authenticated
    linkageType: ''
    returnType: int
    signature: int botan_cipher_is_authenticated(botan_cipher_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:323,1
    - Dst: requires_entire_message
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - botan_cipher_t
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: botan_cipher_requires_entire_message
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - requires_entire_message
    linkageType: ''
    returnType: int
    signature: int botan_cipher_requires_entire_message(botan_cipher_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:327,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:327,1
    - Dst: name
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cipher
    - name
    - name_len
    argTypes:
    - botan_cipher_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: botan_cipher_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - name
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_cipher_name(botan_cipher_t cipher, char* name, size_t* name_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:30,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:43,1
    - Dst: Botan::FPE_FE1::FPE_FE1
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:43,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:45,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:47,1
    - Dst: botan_fpe_struct::botan_fpe_struct
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:47,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - fpe
    - n
    - key
    - key_len
    - rounds
    - flags
    argTypes:
    - botan_fpe_t*
    - botan_mp_t
    - uint8_t[]
    - size_t
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: botan_fpe_fe1_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_fpe.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - ffi_guard_thunk
    - safe_get
    - Botan::FPE_FE1::FPE_FE1
    - botan_fpe_struct::botan_fpe_struct
    - std::unique_ptr::set_key
    linkageType: ''
    returnType: int
    signature: "int botan_fpe_fe1_init(\n   botan_fpe_t* fpe, botan_mp_t n, const
      uint8_t key[], size_t key_len, size_t rounds, uint32_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:58,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fpe
    argTypes:
    - botan_fpe_t
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: botan_fpe_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_fpe.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_fpe_destroy(botan_fpe_t fpe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:67,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:68,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:68,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:69,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - fpe
    - x
    - tweak
    - tweak_len
    argTypes:
    - botan_fpe_t
    - botan_mp_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: botan_fpe_encrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_fpe.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - safe_get
    - ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_fpe_encrypt(botan_fpe_t fpe, botan_mp_t x, const uint8_t
      tweak[], size_t tweak_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:80,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:81,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:81,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:82,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - fpe
    - x
    - tweak
    - tweak_len
    argTypes:
    - botan_fpe_t
    - botan_mp_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: botan_fpe_decrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_fpe.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - safe_get
    - ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_fpe_decrypt(botan_fpe_t fpe, botan_mp_t x, const uint8_t
      tweak[], size_t tweak_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:34,1
    - Dst: std::make_unique<Botan::TOTP>
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:35,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:36,1
    - Dst: botan_totp_struct::botan_totp_struct
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:36,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - totp
    - key
    - key_len
    - hash_algo
    - digits
    - time_step
    argTypes:
    - botan_totp_t*
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: botan_totp_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_totp.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - std::make_unique<Botan::TOTP>
    - ffi_guard_thunk
    - botan_totp_struct::botan_totp_struct
    linkageType: ''
    returnType: int
    signature: "int botan_totp_init(\n   botan_totp_t* totp, const uint8_t key[],
      size_t key_len, const char* hash_algo, size_t digits, size_t time_step)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:48,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - totp
    argTypes:
    - botan_totp_t
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: botan_totp_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_totp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_totp_destroy(botan_totp_t totp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:61,1
    - Dst: generate_totp
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:61,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - totp
    - totp_code
    - timestamp
    argTypes:
    - botan_totp_t
    - uint32_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: botan_totp_generate
    functionSourceFile: /src/botan/src/lib/ffi/ffi_totp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - generate_totp
    linkageType: ''
    returnType: int
    signature: int botan_totp_generate(botan_totp_t totp, uint32_t* totp_code, uint64_t
      timestamp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:71,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - totp
    - totp_code
    - timestamp
    - acceptable_clock_drift
    argTypes:
    - botan_totp_t
    - uint32_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: botan_totp_check
    functionSourceFile: /src/botan/src/lib/ffi/ffi_totp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    linkageType: ''
    returnType: int
    signature: int botan_totp_check(botan_totp_t totp, uint32_t totp_code, uint64_t
      timestamp, size_t acceptable_clock_drift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pwdhash
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - algo
    - out
    - out_len
    - pass
    - salt
    - salt_len
    - iterations
    argTypes:
    - char*
    - uint8_t[]
    - size_t
    - char*
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: botan_pbkdf
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 0
    functionsReached:
    - botan_pwdhash
    linkageType: ''
    returnType: int
    signature: "int botan_pbkdf(const char* algo,\n                uint8_t out[],\n
      \               size_t out_len,\n                const char* pass,\n                const
      uint8_t salt[],\n                size_t salt_len,\n                size_t iterations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pwdhash_timed
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:40,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - algo
    - out
    - out_len
    - password
    - salt
    - salt_len
    - ms_to_run
    - iterations_used
    argTypes:
    - char*
    - uint8_t[]
    - size_t
    - char*
    - uint8_t[]
    - size_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: botan_pbkdf_timed
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 0
    functionsReached:
    - botan_pwdhash_timed
    - static_cast<uint32_t>
    linkageType: ''
    returnType: int
    signature: "int botan_pbkdf_timed(const char* algo,\n                      uint8_t
      out[],\n                      size_t out_len,\n                      const char*
      password,\n                      const uint8_t salt[],\n                      size_t
      salt_len,\n                      size_t ms_to_run,\n                      size_t*
      iterations_used)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:68,1
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:71,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:72,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:78,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 10
    argNames:
    - algo
    - param1
    - param2
    - param3
    - out
    - out_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: botan_pwdhash
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 1
    functionsReached:
    - std::strlen
    - auto::derive_key
    - ffi_guard_thunk
    - Botan::PasswordHashFamily::create
    - auto::from_params
    linkageType: ''
    returnType: int
    signature: "int botan_pwdhash(const char* algo,\n                  size_t param1,\n
      \                 size_t param2,\n                  size_t param3,\n                  uint8_t
      out[],\n                  size_t out_len,\n                  const char* password,\n
      \                 size_t password_len,\n                  const uint8_t salt[],\n
      \                 size_t salt_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:102,1
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:105,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:106,1
    - Dst: auto::tune
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:112,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:112,1
    - Dst: auto::iterations
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:115,1
    - Dst: auto::parallelism
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:118,1
    - Dst: auto::memory_param
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:121,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 11
    argNames:
    - algo
    - msec
    - param1
    - param2
    - param3
    - out
    - out_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - char*
    - uint32_t
    - size_t*
    - size_t*
    - size_t*
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 128
    functionName: botan_pwdhash_timed
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 1
    functionsReached:
    - std::strlen
    - auto::tune
    - auto::memory_param
    - auto::derive_key
    - ffi_guard_thunk
    - Botan::PasswordHashFamily::create
    - auto::parallelism
    - Botan_CLI::Timer::milliseconds
    - auto::iterations
    linkageType: ''
    returnType: int
    signature: "int botan_pwdhash_timed(const char* algo,\n                        uint32_t
      msec,\n                        size_t* param1,\n                        size_t*
      param2,\n                        size_t* param3,\n                        uint8_t
      out[],\n                        size_t out_len,\n                        const
      char* password,\n                        size_t password_len,\n                        const
      uint8_t salt[],\n                        size_t salt_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:139,1
    - Dst: Botan::KDF::create_or_throw
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:140,1
    - Dst: auto::kdf
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 9
    argNames:
    - kdf_algo
    - out
    - out_len
    - secret
    - secret_len
    - salt
    - salt_len
    - label
    - label_len
    argTypes:
    - char*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: botan_kdf
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 0
    functionsReached:
    - Botan::KDF::create_or_throw
    - ffi_guard_thunk
    - auto::kdf
    linkageType: ''
    returnType: int
    signature: "int botan_kdf(const char* kdf_algo,\n              uint8_t out[],\n
      \             size_t out_len,\n              const uint8_t secret[],\n              size_t
      secret_len,\n              const uint8_t salt[],\n              size_t salt_len,\n
      \             const uint8_t label[],\n              size_t label_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pwdhash
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - out
    - out_len
    - password
    - salt
    - salt_len
    - N
    - r
    - p
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - uint8_t[]
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: botan_scrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 0
    functionsReached:
    - botan_pwdhash
    linkageType: ''
    returnType: int
    signature: "int botan_scrypt(uint8_t out[],\n                 size_t out_len,\n
      \                const char* password,\n                 const uint8_t salt[],\n
      \                size_t salt_len,\n                 size_t N,\n                 size_t
      r,\n                 size_t p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:160,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:178,1
    - Dst: Botan::generate_bcrypt
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:179,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:179,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:180,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - out
    - out_len
    - pass
    - rng_obj
    - wf
    - flags
    argTypes:
    - uint8_t*
    - size_t*
    - char*
    - botan_rng_t
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 186
      start: 157
    functionDepth: 5
    functionLinenumber: 157
    functionLinenumberEnd: 186
    functionName: botan_bcrypt_generate
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::generate_bcrypt
    - static_cast<uint16_t>
    - ffi_guard_thunk
    - safe_get
    - write_str_output
    linkageType: ''
    returnType: int
    signature: "int botan_bcrypt_generate(\n   uint8_t* out, size_t* out_len, const
      char* pass, botan_rng_t rng_obj, size_t wf, uint32_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:190,1
    - Dst: Botan::check_bcrypt
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:191,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pass
    - hash
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 5
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: botan_bcrypt_is_valid
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::check_bcrypt
    - ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_bcrypt_is_valid(const char* pass, const char* hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SessionBundle::SessionBundle
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:55,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:55,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:56,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - s3
    argTypes:
    - botan_tpm2_session_t
    - botan_tpm2_session_t
    - botan_tpm2_session_t
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: sessions
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 16
    functionsReached:
    - safe_get
    - SessionBundle::SessionBundle
    linkageType: ''
    returnType: Botan::TPM2::SessionBundle
    signature: Botan::TPM2::SessionBundle sessions(botan_tpm2_session_t s1, botan_tpm2_session_t
      s2, botan_tpm2_session_t s3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::Context::supports_botan_crypto_backend
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: botan_tpm2_supports_crypto_backend
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 1
    functionsReached:
    - Botan::TPM2::Context::supports_botan_crypto_backend
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_supports_crypto_backend()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:76,1
    - Dst: std::make_unique<botan_tpm2_ctx_wrapper>
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:80,1
    - Dst: std::string
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:86,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:90,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:90,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:91,1
    - Dst: botan_tpm2_ctx_struct::botan_tpm2_ctx_struct
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:91,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ctx_out
    - tcti_nameconf
    argTypes:
    - botan_tpm2_ctx_t*
    - char*
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: botan_tpm2_ctx_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - std::make_unique<botan_tpm2_ctx_wrapper>
    - ffi_guard_thunk
    - std::string
    - botan_tpm2_ctx_struct::botan_tpm2_ctx_struct
    - Botan::TPM2::Context::create
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_ctx_init(botan_tpm2_ctx_t* ctx_out, const char* tcti_nameconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:102,1
    - Dst: std::make_unique<botan_tpm2_ctx_wrapper>
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:106,1
    - Dst: std::string
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:112,1
    - Dst: std::string
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:120,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:124,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:124,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:124,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:125,1
    - Dst: botan_tpm2_ctx_struct::botan_tpm2_ctx_struct
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:125,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - ctx_out
    - tcti_name
    - tcti_conf
    argTypes:
    - botan_tpm2_ctx_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 132
    functionName: botan_tpm2_ctx_init_ex
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - std::make_unique<botan_tpm2_ctx_wrapper>
    - ffi_guard_thunk
    - std::string
    - botan_tpm2_ctx_struct::botan_tpm2_ctx_struct
    - Botan::TPM2::Context::create
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_ctx_init_ex(botan_tpm2_ctx_t* ctx_out, const char* tcti_name,
      const char* tcti_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:136,1
    - Dst: std::make_unique<botan_tpm2_ctx_wrapper>
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:141,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:142,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:143,1
    - Dst: botan_tpm2_ctx_struct::botan_tpm2_ctx_struct
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:143,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx_out
    - esys_ctx
    argTypes:
    - botan_tpm2_ctx_t*
    - ESYS_CONTEXT*
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: botan_tpm2_ctx_from_esys
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_UNUSED
    - std::make_unique<botan_tpm2_ctx_wrapper>
    - ffi_guard_thunk
    - botan_tpm2_ctx_struct::botan_tpm2_ctx_struct
    - Botan::TPM2::Context::create
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_ctx_from_esys(botan_tpm2_ctx_t* ctx_out, ESYS_CONTEXT*
      esys_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:154,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:155,1
    - Dst: ctx::use_botan_crypto_backend
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:161,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - rng
    argTypes:
    - botan_tpm2_ctx_t
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: botan_tpm2_ctx_enable_crypto_backend
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - safe_get
    - ctx::use_botan_crypto_backend
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_ctx_enable_crypto_backend(botan_tpm2_ctx_t ctx, botan_rng_t
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:177,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - botan_tpm2_ctx_t
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: botan_tpm2_ctx_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_ctx_destroy(botan_tpm2_ctx_t ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:188,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:193,1
    - Dst: Botan::TPM2::use_botan_crypto_backend
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:198,1
    - Dst: botan_tpm2_crypto_backend_state_struct::botan_tpm2_crypto_backend_state_struct
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:198,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cbs_out
    - esys_ctx
    - rng
    argTypes:
    - botan_tpm2_crypto_backend_state_t*
    - ESYS_CONTEXT*
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: botan_tpm2_enable_crypto_backend
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::TPM2::use_botan_crypto_backend
    - ffi_guard_thunk
    - safe_get
    - botan_tpm2_crypto_backend_state_struct::botan_tpm2_crypto_backend_state_struct
    linkageType: ''
    returnType: int
    signature: "int botan_tpm2_enable_crypto_backend(botan_tpm2_crypto_backend_state_t*
      cbs_out,\n                                     ESYS_CONTEXT* esys_ctx,\n                                     botan_rng_t
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:209,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cbs
    argTypes:
    - botan_tpm2_crypto_backend_state_t
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: botan_tpm2_crypto_backend_state_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_crypto_backend_state_destroy(botan_tpm2_crypto_backend_state_t
      cbs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:222,1
    - Dst: std::make_unique<Botan::TPM2::RandomNumberGenerator>
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:228,1
    - Dst: sessions
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:228,1
    - Dst: botan_rng_struct::botan_rng_struct
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:227,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - rng_out
    - ctx
    - s1
    - s2
    - s3
    argTypes:
    - botan_rng_t*
    - botan_tpm2_ctx_t
    - botan_tpm2_session_t
    - botan_tpm2_session_t
    - botan_tpm2_session_t
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: botan_tpm2_rng_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_VISIT
    - sessions
    - botan_rng_struct::botan_rng_struct
    - std::make_unique<Botan::TPM2::RandomNumberGenerator>
    linkageType: ''
    returnType: int
    signature: "int botan_tpm2_rng_init(botan_rng_t* rng_out,\n                        botan_tpm2_ctx_t
      ctx,\n                        botan_tpm2_session_t s1,\n                        botan_tpm2_session_t
      s2,\n                        botan_tpm2_session_t s3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:239,1
    - Dst: std::make_unique<botan_tpm2_session_wrapper>
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:244,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:245,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:246,1
    - Dst: botan_tpm2_session_struct::botan_tpm2_session_struct
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:246,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - session_out
    - ctx
    argTypes:
    - botan_tpm2_session_t*
    - botan_tpm2_ctx_t
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: botan_tpm2_unauthenticated_session_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_FFI_VISIT
    - botan_tpm2_session_struct::botan_tpm2_session_struct
    - BOTAN_UNUSED
    - Botan::TPM2::Session::unauthenticated_session
    - std::make_unique<botan_tpm2_session_wrapper>
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_unauthenticated_session_init(botan_tpm2_session_t* session_out,
      botan_tpm2_ctx_t ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:257,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - botan_tpm2_session_t
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: botan_tpm2_session_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_session_destroy(botan_tpm2_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_RNG::random_array
      Src: /src/botan/src/examples/ml_kem.cpp:13,1
    - Dst: Botan::ML_KEM_PrivateKey::public_key
      Src: /src/botan/src/examples/ml_kem.cpp:16,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/examples/ml_kem.cpp:20,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/examples/ml_kem.cpp:24,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/examples/ml_kem.cpp:24,1
    - Dst: auto::shared_key
      Src: /src/botan/src/examples/ml_kem.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/botan/src/examples/ml_kem.cpp
    functionUses: 95
    functionsReached:
    - Botan::PK_KEM_Encryptor::encrypt
    - Botan::PK_KEM_Decryptor::decrypt
    - Botan::System_RNG::random_array
    - auto::shared_key
    - auto::encapsulated_shared_key
    - Botan::ML_KEM_PrivateKey::public_key
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/examples/hmac.cpp:10,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/hmac.cpp:12,1
    - Dst: auto::update
      Src: /src/botan/src/examples/hmac.cpp:13,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/hmac.cpp:15,1
    - Dst: auto::final
      Src: /src/botan/src/examples/hmac.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - key
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 9
    functionDepth: 6
    functionLinenumber: 9
    functionLinenumberEnd: 16
    functionName: compute_mac
    functionSourceFile: /src/botan/src/examples/hmac.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::update
    - auto::final
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string compute_mac(std::string_view msg, std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/hmac.cpp:21,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/examples/hmac.cpp:23,1
    - Dst: compute_mac
      Src: /src/botan/src/examples/hmac.cpp:26,1
    - Dst: compute_mac
      Src: /src/botan/src/examples/hmac.cpp:27,1
    - Dst: assert
      Src: /src/botan/src/examples/hmac.cpp:28,1
    - Dst: compute_mac
      Src: /src/botan/src/examples/hmac.cpp:31,1
    - Dst: assert
      Src: /src/botan/src/examples/hmac.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 7
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/botan/src/examples/hmac.cpp
    functionUses: 95
    functionsReached:
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::AutoSeeded_RNG::random_vec
    - assert
    - compute_mac
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/botan/src/examples/fpe_dictionary.cpp:12,1
    - Dst: std::getline
      Src: /src/botan/src/examples/fpe_dictionary.cpp:14,1
    - Dst: push_back
      Src: /src/botan/src/examples/fpe_dictionary.cpp:15,1
    - Dst: std::sort
      Src: /src/botan/src/examples/fpe_dictionary.cpp:18,1
    - Dst: begin
      Src: /src/botan/src/examples/fpe_dictionary.cpp:18,1
    - Dst: end
      Src: /src/botan/src/examples/fpe_dictionary.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 19
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 19
    functionName: Dictionary::Dictionary
    functionSourceFile: /src/botan/src/examples/fpe_dictionary.cpp
    functionUses: 0
    functionsReached:
    - std::getline
    - std::sort
    - end
    - std::ifstream::good
    - begin
    - push_back
    linkageType: ''
    returnType: void
    signature: void Dictionary(const std::string& filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/botan/src/examples/fpe_dictionary.cpp:22,1
    - Dst: begin
      Src: /src/botan/src/examples/fpe_dictionary.cpp:22,1
    - Dst: end
      Src: /src/botan/src/examples/fpe_dictionary.cpp:22,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/fpe_dictionary.cpp:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' word'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: Dictionary::rank
    functionSourceFile: /src/botan/src/examples/fpe_dictionary.cpp
    functionUses: 0
    functionsReached:
    - std::lower_bound
    - end
    - std::runtime_error
    - begin
    linkageType: ''
    returnType: size_t
    signature: size_t rank(const std::string& word) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/botan/src/examples/fpe_dictionary.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rank
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Dictionary::derank
    functionSourceFile: /src/botan/src/examples/fpe_dictionary.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string derank(size_t rank) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Dictionary::size
      Src: /src/botan/src/examples/fpe_dictionary.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Dictionary::size
    functionSourceFile: /src/botan/src/examples/fpe_dictionary.cpp
    functionUses: 1
    functionsReached:
    - Dictionary::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/fpe_dictionary.cpp:59,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/examples/fpe_dictionary.cpp:61,1
    - Dst: Dictionary::size
      Src: /src/botan/src/examples/fpe_dictionary.cpp:61,1
    - Dst: Botan::FPE_FE1::set_key
      Src: /src/botan/src/examples/fpe_dictionary.cpp:62,1
    - Dst: cryptofuzz::module::faheel_BigInt::faheel_BigInt
      Src: /src/botan/src/examples/fpe_dictionary.cpp:73,1
    - Dst: Dictionary::rank
      Src: /src/botan/src/examples/fpe_dictionary.cpp:73,1
    - Dst: std::string
      Src: /src/botan/src/examples/fpe_dictionary.cpp:73,1
    - Dst: Botan::FPE_FE1::encrypt
      Src: /src/botan/src/examples/fpe_dictionary.cpp:74,1
    - Dst: Botan::FPE_FE1::decrypt
      Src: /src/botan/src/examples/fpe_dictionary.cpp:74,1
    - Dst: Dictionary::derank
      Src: /src/botan/src/examples/fpe_dictionary.cpp:75,1
    - Dst: auto::word_at
      Src: /src/botan/src/examples/fpe_dictionary.cpp:75,1
    - Dst: what
      Src: /src/botan/src/examples/fpe_dictionary.cpp:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 84
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/botan/src/examples/fpe_dictionary.cpp
    functionUses: 95
    functionsReached:
    - Dictionary::size
    - Dictionary::rank
    - Botan::BigInt::from_u64
    - what
    - Botan::FPE_FE1::decrypt
    - Botan::FPE_FE1::set_key
    - auto::word_at
    - Botan::hex_decode
    - std::string
    - Botan::FPE_FE1::encrypt
    - Dictionary::derank
    - cryptofuzz::module::faheel_BigInt::faheel_BigInt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/examples/x509_path.cpp:7,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/examples/x509_path.cpp:8,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/examples/x509_path.cpp:8,1
    - Dst: Botan::System_Certificate_Store::System_Certificate_Store
      Src: /src/botan/src/examples/x509_path.cpp:11,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/examples/x509_path.cpp:16,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/examples/x509_path.cpp:16,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/examples/x509_path.cpp:17,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/examples/x509_path.cpp:17,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/examples/x509_path.cpp:18,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/examples/x509_path.cpp:18,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/examples/x509_path.cpp:21,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/examples/x509_path.cpp:30,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/examples/x509_path.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 5
    functionDepth: 6
    functionLinenumber: 5
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/botan/src/examples/x509_path.cpp
    functionUses: 95
    functionsReached:
    - Botan::x509_path_validate
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::System_Certificate_Store::System_Certificate_Store
    - Botan::X509_Certificate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::Path_Validation_Result::successful_validation
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - std::vector::emplace_back
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_emit_data([[maybe_unused]] std::span<const uint8_t> data)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_record_received([[maybe_unused]] uint64_t seq_no,\n                               [[maybe_unused]]
      std::span<const uint8_t> data) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Callbacks::tls_alert
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert([[maybe_unused]] Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/examples/tls_proxy.cpp:45,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/examples/tls_proxy.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: Server_Credentials::Server_Credentials
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::load_key
    - reset
    linkageType: ''
    returnType: void
    signature: void Server_Credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' type'
    - ' context'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: Server_Credentials::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(\n
      \        [[maybe_unused]] const std::string& type, [[maybe_unused]] const std::string&
      context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/examples/tls_proxy.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' cert_key_types'
    - ' cert_signature_schemes'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::vector<Botan::AlgorithmIdentifier>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: Server_Credentials::cert_chain
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> cert_chain(\n         [[maybe_unused]]
      const std::vector<std::string>& cert_key_types,\n         [[maybe_unused]] const
      std::vector<Botan::AlgorithmIdentifier>& cert_signature_schemes,\n         [[maybe_unused]]
      const std::string& type,\n         [[maybe_unused]] const std::string& context)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cert'
    - ' type'
    - ' context'
    argTypes:
    - Botan::X509_Certificate
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: Server_Credentials::private_key_for
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for([[maybe_unused]]
      const Botan::X509_Certificate& cert,\n                                                          [[maybe_unused]]
      const std::string& type,\n                                                          [[maybe_unused]]
      const std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Callbacks>
      Src: /src/botan/src/examples/tls_proxy.cpp:80,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/tls_proxy.cpp:81,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/examples/tls_proxy.cpp:82,1
    - Dst: std::make_shared<Server_Credentials>
      Src: /src/botan/src/examples/tls_proxy.cpp:83,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/examples/tls_proxy.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 95
    functionsReached:
    - std::make_shared<Server_Credentials>
    - std::make_shared<Botan::AutoSeeded_RNG>
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::make_shared<Botan::TLS::Strict_Policy>
    - std::make_shared<Callbacks>
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:19,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:20,1
    - Dst: Botan::PKCS11::Session::login
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:24,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:28,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:31,1
    - Dst: Botan::ECDH_PrivateKey::DER_domain
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:34,1
    - Dst: Botan::ECDH_PrivateKey::private_value
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:35,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:37,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:38,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_derive
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:39,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_extractable
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:40,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_label
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:44,1
    - Dst: Botan::PKCS11::PKCS11_ECDH_PrivateKey::export_key
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:50,1
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:56,1
    - Dst: Botan::ECDH_PrivateKey::raw_public_key_bits
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:56,1
    - Dst: Botan::ECDH_PrivateKey::DER_domain
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:57,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:59,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:60,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_derive
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:61,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_label
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:65,1
    - Dst: Botan::PKCS11::PKCS11_ECDH_PublicKey::export_key
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:71,1
    - Dst: Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:76,1
    - Dst: Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:77,1
    - Dst: Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_derive
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:78,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:81,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:86,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_label
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:88,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:89,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_derive
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:90,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:91,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_modifiable
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:92,1
    - Dst: Botan::PKCS11::generate_ecdh_keypair
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:95,1
    - Dst: Botan::PKCS11::generate_ecdh_keypair
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:100,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:105,1
    - Dst: Botan::PKCS11::PKCS11_ECDH_KeyPair::first::raw_public_key_bits
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:105,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:107,1
    - Dst: Botan::PKCS11::PKCS11_ECDH_KeyPair::first::raw_public_key_bits
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_ecdh.cpp
    functionUses: 96
    functionsReached:
    - Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_token
    - Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_derive
    - Botan::PK_Key_Agreement::derive_key
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_derive
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_extractable
    - Botan::ECDH_PrivateKey::raw_public_key_bits
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_token
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_label
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_derive
    - Botan::PKCS11::PKCS11_ECDH_KeyPair::first::raw_public_key_bits
    - Botan::PKCS11::PKCS11_ECDH_PublicKey::export_key
    - Botan::PKCS11::Session::login
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_private
    - Botan::EC_Group::from_name
    - Botan::DER_Encoder::DER_Encoder
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_label
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_token
    - std::vector::at
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_derive
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_modifiable
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_private
    - Botan::PKCS11::generate_ecdh_keypair
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_label
    - Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_private
    - Botan::ECDH_PrivateKey::private_value
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PKCS11::PKCS11_ECDH_PrivateKey::export_key
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_token
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_private
    - Botan::ECDH_PrivateKey::DER_domain
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/botan/src/examples/entropy.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: call_hardware_specific_rng
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 0
    functionsReached:
    - std::memset
    linkageType: ''
    returnType: size_t
    signature: size_t call_hardware_specific_rng(uint8_t buf[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Hardware_RNG_Entropy_Source::name
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_entropy
      Src: /src/botan/src/examples/entropy.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: Hardware_RNG_Entropy_Source::poll
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 0
    functionsReached:
    - add_entropy
    linkageType: ''
    returnType: size_t
    signature: size_t poll(Botan::RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Timer_Entropy_Source::name
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Timer_Entropy_Source::high_resolution_timer
      Src: /src/botan/src/examples/entropy.cpp:114,1
    - Dst: add_entropy_T
      Src: /src/botan/src/examples/entropy.cpp:121,1
    - Dst: add_entropy_T
      Src: /src/botan/src/examples/entropy.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 127
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 127
    functionName: Timer_Entropy_Source::poll
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 0
    functionsReached:
    - Timer_Entropy_Source::high_resolution_timer
    - add_entropy_T
    linkageType: ''
    returnType: size_t
    signature: size_t poll(Botan::RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/examples/entropy.cpp:145,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/botan/src/examples/entropy.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: Timer_Entropy_Source::high_resolution_timer
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 1
    functionsReached:
    - std::chrono::duration_cast<std::chrono::microseconds>
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t high_resolution_timer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Entropy_Sources::Entropy_Sources
      Src: /src/botan/src/examples/entropy.cpp:153,1
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/examples/entropy.cpp:154,1
    - Dst: std::make_unique<Timer_Entropy_Source>
      Src: /src/botan/src/examples/entropy.cpp:154,1
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/examples/entropy.cpp:155,1
    - Dst: std::make_unique<Hardware_RNG_Entropy_Source>
      Src: /src/botan/src/examples/entropy.cpp:155,1
    - Dst: hex_encode
      Src: /src/botan/src/examples/entropy.cpp:157,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/examples/entropy.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 96
    functionsReached:
    - std::make_unique<Hardware_RNG_Entropy_Source>
    - hex_encode
    - std::make_unique<Timer_Entropy_Source>
    - Botan::Entropy_Sources::Entropy_Sources
    - Botan::Entropy_Sources::add_source
    - Botan::AutoSeeded_RNG::random_vec
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/cmac.cpp:7,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/cmac.cpp:8,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/examples/cmac.cpp:10,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/cmac.cpp:11,1
    - Dst: auto::update
      Src: /src/botan/src/examples/cmac.cpp:12,1
    - Dst: auto::final
      Src: /src/botan/src/examples/cmac.cpp:13,1
    - Dst: auto::back
      Src: /src/botan/src/examples/cmac.cpp:16,1
    - Dst: auto::update
      Src: /src/botan/src/examples/cmac.cpp:19,1
    - Dst: auto::verify_mac
      Src: /src/botan/src/examples/cmac.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 6
    functionDepth: 6
    functionLinenumber: 6
    functionLinenumberEnd: 23
    functionName: main
    functionSourceFile: /src/botan/src/examples/cmac.cpp
    functionUses: 96
    functionsReached:
    - auto::set_key
    - auto::back
    - Botan::hex_decode_locked
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::hex_decode
    - auto::update
    - auto::verify_mac
    - auto::final
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:29,1
    - Dst: std::move
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:29,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:31,1
    - Dst: Hybrid_PublicKey::supports_operation
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:34,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:35,1
    - Dst: Hybrid_PublicKey::supports_operation
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:37,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:38,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - kex
    - kem
    argTypes:
    - std::unique_ptr<Botan::Public_Key>
    - std::unique_ptr<Botan::Public_Key>
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: Hybrid_PublicKey::Hybrid_PublicKey
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::runtime_error
    - Hybrid_PublicKey::supports_operation
    linkageType: ''
    returnType: void
    signature: void Hybrid_PublicKey(std::unique_ptr<Botan::Public_Key> kex, std::unique_ptr<Botan::Public_Key>
      kem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hybrid_PublicKey::algo_name
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:43,1
    - Dst: Hybrid_PublicKey::algo_name
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Hybrid_PublicKey::algo_name
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 1
    functionsReached:
    - Hybrid_PublicKey::algo_name
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Not_Implemented::Not_Implemented
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Hybrid_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached:
    - Botan::Not_Implemented::Not_Implemented
    linkageType: ''
    returnType: Botan::AlgorithmIdentifier
    signature: Botan::AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Not_Implemented::Not_Implemented
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Hybrid_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 1
    functionsReached:
    - Botan::Not_Implemented::Not_Implemented
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> raw_public_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Not_Implemented::Not_Implemented
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Hybrid_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached:
    - Botan::Not_Implemented::Not_Implemented
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - Botan::PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Hybrid_PublicKey::supports_operation
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(Botan::PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:92,1
    - Dst: Hybrid_PublicKey::estimated_strength
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:92,1
    - Dst: Hybrid_PublicKey::estimated_strength
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: Hybrid_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 1
    functionsReached:
    - std::max
    - Hybrid_PublicKey::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t estimated_strength() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hybrid_PublicKey::key_length
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:95,1
    - Dst: Hybrid_PublicKey::key_length
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Hybrid_PublicKey::key_length
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 1
    functionsReached:
    - Hybrid_PublicKey::key_length
    linkageType: ''
    returnType: size_t
    signature: size_t key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hybrid_PublicKey::check_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:98,1
    - Dst: Hybrid_PublicKey::check_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - Botan::RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Hybrid_PublicKey::check_key
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 2
    functionsReached:
    - Hybrid_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool check_key(Botan::RandomNumberGenerator& rng, bool strong) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& kex_public_key() const'
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Public_Key
    signature: Botan::Public_Key & kex_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '& kem_public_key() const'
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Public_Key
    signature: Botan::Public_Key & kem_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Not_Implemented::Not_Implemented
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: private_key_bits
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 49
    functionsReached:
    - Botan::Not_Implemented::Not_Implemented
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> private_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Hybrid_PublicKey>
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:147,1
    - Dst: public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:147,1
    - Dst: public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: public_key
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 127
    functionsReached:
    - public_key
    - std::make_unique<Hybrid_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> public_key() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: kex_private_key
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Private_Key
    signature: Botan::Private_Key & kex_private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: kem_private_key
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Private_Key
    signature: Botan::Private_Key & kem_private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kem_public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:173,1
    - Dst: Botan::KDF::create_or_throw
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:174,1
    - Dst: kex_public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:182,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:182,1
    - Dst: kex_public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:214,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:233,1
    - Dst: kex_public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:233,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:234,1
    - Dst: size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:244,1
    - Dst: auto::size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:244,1
    - Dst: size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:244,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:245,1
    - Dst: copy
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:248,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:248,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:248,1
    - Dst: begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:248,1
    - Dst: copy
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:249,1
    - Dst: begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:250,1
    - Dst: end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:250,1
    - Dst: begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:250,1
    - Dst: auto::size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:250,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:258,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:258,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:258,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:258,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:259,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:259,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:259,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:259,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:260,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:260,1
    - Dst: begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:260,1
    - Dst: end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:260,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:261,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:261,1
    - Dst: begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:261,1
    - Dst: end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:261,1
    - Dst: size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:263,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:264,1
    - Dst: derive_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:267,1
    - Dst: first
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:267,1
    - Dst: kex_private_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:288,1
    - Dst: kem_private_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:289,1
    - Dst: Botan::KDF::create_or_throw
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:290,1
    - Dst: kex_public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:298,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:298,1
    - Dst: size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:315,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:315,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:316,1
    - Dst: subspan
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:332,1
    - Dst: kex_public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:332,1
    - Dst: subspan
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:333,1
    - Dst: auto::size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:333,1
    - Dst: derive_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:337,1
    - Dst: decrypt
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:341,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:349,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:349,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:349,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:349,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:350,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:350,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:350,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:350,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:351,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:351,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:351,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:351,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:352,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:352,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:352,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:352,1
    - Dst: size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:355,1
    - Dst: derive_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:357,1
    - Dst: first
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 367
    functionName: namespace
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached:
    - Botan::secure_vector::insert
    - encapsulated_key_length
    - Botan::PK_Key_Agreement::derive_key
    - end
    - auto::end
    - begin
    - subspan
    - kem_private_key
    - copy
    - auto::raw_public_key_bits
    - kex_private_key
    - kex_public_key
    - auto::size
    - Botan::KDF::create_or_throw
    - first
    - auto::begin
    - derive_key
    - decrypt
    - kem_public_key
    - std::runtime_error
    - Botan::secure_vector::end
    - size
    linkageType: ''
    returnType: BOTAN_DIAGNOSTIC_POP
    signature: BOTAN_DIAGNOSTIC_POP namespace
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Hybrid_Encryption_Operation>
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: Hybrid_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Hybrid_Encryption_Operation>
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<Botan::PK_Ops::KEM_Encryption> Hybrid_PublicKey::create_kem_encryption_op(std::string_view
      params,\n                                                                                          std::string_view)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Hybrid_Decryption_Operation>
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - params
    argTypes:
    - Botan::RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: Hybrid_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Hybrid_Decryption_Operation>
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<Botan::PK_Ops::KEM_Decryption> Hybrid_PrivateKey::create_kem_decryption_op(\n
      \  Botan::RandomNumberGenerator& rng, std::string_view params, std::string_view)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Hybrid_PrivateKey>
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:380,1
    - Dst: Hybrid_PublicKey::generate_another
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:380,1
    - Dst: Hybrid_PublicKey::generate_another
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: Hybrid_PublicKey::generate_another
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 1
    functionsReached:
    - Hybrid_PublicKey::generate_another
    - std::make_unique<Hybrid_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> Hybrid_PublicKey::generate_another(Botan::RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:384,1
    - Dst: std::make_unique<Hybrid_PrivateKey>
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:392,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:393,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:393,1
    - Dst: auto::public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:394,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:399,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:404,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:404,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:407,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:408,1
    - Dst: auto::shared_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:408,1
    - Dst: auto::shared_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 416
    functionName: main
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 96
    functionsReached:
    - Botan::PK_KEM_Encryptor::encrypt
    - std::make_unique<Hybrid_PrivateKey>
    - auto::public_key
    - Botan::PK_KEM_Decryptor::decrypt
    - Botan::create_private_key
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - auto::shared_key
    - auto::encapsulated_shared_key
    - Botan::hex_encode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OutT::reserve
      Src: /src/botan/src/examples/password_encryption.cpp:13,1
    - Dst: size
      Src: /src/botan/src/examples/password_encryption.cpp:13,1
    - Dst: OutT::insert
      Src: /src/botan/src/examples/password_encryption.cpp:14,1
    - Dst: OutT::end
      Src: /src/botan/src/examples/password_encryption.cpp:14,1
    - Dst: begin
      Src: /src/botan/src/examples/password_encryption.cpp:14,1
    - Dst: end
      Src: /src/botan/src/examples/password_encryption.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 11
    functionDepth: 3
    functionLinenumber: 11
    functionLinenumberEnd: 16
    functionName: concat
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 58
    functionsReached:
    - OutT::end
    - OutT::reserve
    - end
    - OutT::insert
    - size
    - begin
    linkageType: ''
    returnType: OutT
    signature: OutT concat(const Ts&... buffers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Out
      Src: /src/botan/src/examples/password_encryption.cpp:20,1
    - Dst: data
      Src: /src/botan/src/examples/password_encryption.cpp:20,1
    - Dst: data
      Src: /src/botan/src/examples/password_encryption.cpp:20,1
    - Dst: size
      Src: /src/botan/src/examples/password_encryption.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - In
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: as
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 85
    functionsReached:
    - data
    - size
    - Out
    linkageType: ''
    returnType: Out
    signature: Out as(const In& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/examples/password_encryption.cpp:39,1
    - Dst: auto::hash
      Src: /src/botan/src/examples/password_encryption.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - password
    - salt
    - output_length
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 46
    functionName: derive_key_material
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 0
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::hash
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: "Botan::secure_vector<uint8_t> derive_key_material(std::string_view
      password,\n                                                  std::span<const
      uint8_t> salt,\n                                                  size_t output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/examples/password_encryption.cpp:51,1
    - Dst: derive_key_material
      Src: /src/botan/src/examples/password_encryption.cpp:58,1
    - Dst: auto::size
      Src: /src/botan/src/examples/password_encryption.cpp:61,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/password_encryption.cpp:62,1
    - Dst: first
      Src: /src/botan/src/examples/password_encryption.cpp:65,1
    - Dst: last
      Src: /src/botan/src/examples/password_encryption.cpp:66,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/password_encryption.cpp:68,1
    - Dst: auto::start
      Src: /src/botan/src/examples/password_encryption.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - password
    - salt
    - direction
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - Botan::Cipher_Dir
    constantsTouched: []
    func_position:
      end: 72
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 72
    functionName: prepare_aead
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 0
    functionsReached:
    - auto::set_key
    - derive_key_material
    - auto::start
    - std::runtime_error
    - auto::size
    - last
    - Botan::AEAD_Mode::create_or_throw
    - first
    linkageType: ''
    returnType: std::unique_ptr<Botan::AEAD_Mode>
    signature: "std::unique_ptr<Botan::AEAD_Mode> prepare_aead(std::string_view password,\n
      \                                              std::span<const uint8_t> salt,\n
      \                                              Botan::Cipher_Dir direction)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_array
      Src: /src/botan/src/examples/password_encryption.cpp:86,1
    - Dst: prepare_aead
      Src: /src/botan/src/examples/password_encryption.cpp:87,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/examples/password_encryption.cpp:89,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/examples/password_encryption.cpp:89,1
    - Dst: auto::finish
      Src: /src/botan/src/examples/password_encryption.cpp:90,1
    - Dst: concat
      Src: /src/botan/src/examples/password_encryption.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - password
    - ' rng'
    - plaintext
    argTypes:
    - std::string_view
    - Botan::RandomNumberGenerator
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: encrypt_by_password
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 0
    functionsReached:
    - auto::finish
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - concat
    - prepare_aead
    - random_array
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> encrypt_by_password(std::string_view password,\n
      \                                        Botan::RandomNumberGenerator& rng,\n
      \                                        std::span<const uint8_t> plaintext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/examples/password_encryption.cpp:102,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/password_encryption.cpp:103,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/examples/password_encryption.cpp:106,1
    - Dst: prepare_aead
      Src: /src/botan/src/examples/password_encryption.cpp:107,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/examples/password_encryption.cpp:109,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/password_encryption.cpp:110,1
    - Dst: auto::end
      Src: /src/botan/src/examples/password_encryption.cpp:110,1
    - Dst: auto::finish
      Src: /src/botan/src/examples/password_encryption.cpp:113,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/password_encryption.cpp:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - password
    - wrapped_data
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: decrypt_by_password
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::finish
    - std::span<const uint8_t>::first
    - std::span<const uint8_t>::subspan
    - std::span<const uint8_t>::size
    - auto::end
    - std::runtime_error
    - prepare_aead
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> decrypt_by_password(std::string_view
      password, std::span<const uint8_t> wrapped_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/password_encryption.cpp:124,1
    - Dst: encrypt_by_password
      Src: /src/botan/src/examples/password_encryption.cpp:133,1
    - Dst: as
      Src: /src/botan/src/examples/password_encryption.cpp:133,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/password_encryption.cpp:134,1
    - Dst: decrypt_by_password
      Src: /src/botan/src/examples/password_encryption.cpp:136,1
    - Dst: as
      Src: /src/botan/src/examples/password_encryption.cpp:137,1
    - Dst: what
      Src: /src/botan/src/examples/password_encryption.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 6
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 96
    functionsReached:
    - as
    - what
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - encrypt_by_password
    - decrypt_by_password
    - Botan::hex_encode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_emit_data([[maybe_unused]] std::span<const uint8_t> data)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_record_received([[maybe_unused]] uint64_t seq_no,\n                               [[maybe_unused]]
      std::span<const uint8_t> data) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Callbacks::tls_alert
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert([[maybe_unused]] Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Botan::TLS::Group_Params>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:32,1
    - Dst: std::get<Botan::TLS::Group_Params>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:33,1
    - Dst: Botan::TLS::Group_Params
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:33,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:35,1
    - Dst: std::make_unique<Botan::ECDH_PrivateKey>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:36,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_generate_ephemeral_key
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - std::variant<Botan::TLS::Group_Params, Botan::DL_Group>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: Callbacks::tls_generate_ephemeral_key
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 3
    functionsReached:
    - Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_generate_ephemeral_key
    - Botan::TLS::Group_Params
    - std::make_unique<Botan::ECDH_PrivateKey>
    - std::holds_alternative<Botan::TLS::Group_Params>
    - std::get<Botan::TLS::Group_Params>
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Key_Agreement_Key>
    signature: "std::unique_ptr<Botan::PK_Key_Agreement_Key> tls_generate_ephemeral_key(\n
      \        const std::variant<Botan::TLS::Group_Params, Botan::DL_Group>& group,\n
      \        Botan::RandomNumberGenerator& rng) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Botan::TLS::Group_Params>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:46,1
    - Dst: std::get<Botan::TLS::Group_Params>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:47,1
    - Dst: Botan::TLS::Group_Params
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:47,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:49,1
    - Dst: std::make_unique<Botan::ECDH_PublicKey>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:50,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:50,1
    - Dst: Callbacks::tls_deserialize_peer_public_key
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - public_value
    argTypes:
    - std::variant<Botan::TLS::Group_Params, Botan::DL_Group>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: Callbacks::tls_deserialize_peer_public_key
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Botan::ECDH_PublicKey>
    - Botan::EC_AffinePoint::EC_AffinePoint
    - Botan::TLS::Group_Params
    - Callbacks::tls_deserialize_peer_public_key
    - std::holds_alternative<Botan::TLS::Group_Params>
    - std::get<Botan::TLS::Group_Params>
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> tls_deserialize_peer_public_key(\n
      \        const std::variant<Botan::TLS::Group_Params, Botan::DL_Group>& group,\n
      \        std::span<const uint8_t> public_value) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' type'
    - ' context'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: Client_Credentials::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(\n
      \        [[maybe_unused]] const std::string& type, [[maybe_unused]] const std::string&
      context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Botan::TLS::Group_Params>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: Client_Policy::key_exchange_groups
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Botan::TLS::Group_Params>
    linkageType: ''
    returnType: std::vector<Botan::TLS::Group_Params>
    signature: std::vector<Botan::TLS::Group_Params> key_exchange_groups() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:88,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:94,1
    - Dst: Botan::EC_Group::verify_group
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:113,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:119,1
    - Dst: std::make_shared<Callbacks>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:122,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:123,1
    - Dst: std::make_shared<Client_Credentials>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:124,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:125,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:133,1
    - Dst: Botan::TLS::Client::is_closed
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 96
    functionsReached:
    - std::make_shared<Botan::AutoSeeded_RNG>
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - Botan::EC_Group::verify_group
    - Botan::TLS::Client::is_closed
    - Botan::EC_Group::supports_application_specific_group
    - std::make_shared<Botan::TLS::Strict_Policy>
    - std::make_shared<Callbacks>
    - Botan::TLS::Server_Information
    - Botan::OID::register_oid
    - std::make_shared<Client_Credentials>
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_rng.cpp:13,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_rng.cpp:14,1
    - Dst: Botan::PKCS11::PKCS11_RNG::randomize
      Src: /src/botan/src/examples/pkcs11_rng.cpp:21,1
    - Dst: std::vector::data
      Src: /src/botan/src/examples/pkcs11_rng.cpp:21,1
    - Dst: std::vector::size
      Src: /src/botan/src/examples/pkcs11_rng.cpp:21,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/pkcs11_rng.cpp:24,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/examples/pkcs11_rng.cpp:25,1
    - Dst: Botan::PKCS11::PKCS11_RNG::add_entropy
      Src: /src/botan/src/examples/pkcs11_rng.cpp:26,1
    - Dst: auto::data
      Src: /src/botan/src/examples/pkcs11_rng.cpp:26,1
    - Dst: auto::size
      Src: /src/botan/src/examples/pkcs11_rng.cpp:26,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/examples/pkcs11_rng.cpp:29,1
    - Dst: Botan::HMAC_DRBG::randomize
      Src: /src/botan/src/examples/pkcs11_rng.cpp:30,1
    - Dst: std::vector::data
      Src: /src/botan/src/examples/pkcs11_rng.cpp:30,1
    - Dst: std::vector::size
      Src: /src/botan/src/examples/pkcs11_rng.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 10
    functionDepth: 5
    functionLinenumber: 10
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_rng.cpp
    functionUses: 96
    functionsReached:
    - std::vector::data
    - std::vector::size
    - std::vector::at
    - Botan::PKCS11::PKCS11_RNG::add_entropy
    - auto::size
    - auto::data
    - Botan::PKCS11::PKCS11_RNG::randomize
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::MessageAuthenticationCode::create
    - Botan::AutoSeeded_RNG::random_vec
    - Botan::HMAC_DRBG::randomize
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/xmss.cpp:11,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/examples/xmss.cpp:23,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/examples/xmss.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/botan/src/examples/xmss.cpp
    functionUses: 96
    functionsReached:
    - Botan::PK_Signer::sign_message
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PK_Verifier::verify_message
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/amalgamation_header.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 13
    functionName: main
    functionSourceFile: /src/botan/src/examples/amalgamation_header.cpp
    functionUses: 96
    functionsReached:
    - Botan::hex_encode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/examples/hybrid_encryption.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bits
    - ' rng'
    argTypes:
    - size_t
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: generate_keypair
    functionSourceFile: /src/botan/src/examples/hybrid_encryption.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<Botan::RSA_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> generate_keypair(const size_t bits,
      Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/examples/hybrid_encryption.cpp:24,1
    - Dst: random_vec
      Src: /src/botan/src/examples/hybrid_encryption.cpp:29,1
    - Dst: auto::minimum_keylength
      Src: /src/botan/src/examples/hybrid_encryption.cpp:29,1
    - Dst: random_vec
      Src: /src/botan/src/examples/hybrid_encryption.cpp:30,1
    - Dst: auto::default_nonce_length
      Src: /src/botan/src/examples/hybrid_encryption.cpp:30,1
    - Dst: EncryptedData::ciphertext::assign
      Src: /src/botan/src/examples/hybrid_encryption.cpp:31,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/examples/hybrid_encryption.cpp:31,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/examples/hybrid_encryption.cpp:31,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/hybrid_encryption.cpp:34,1
    - Dst: auto::start
      Src: /src/botan/src/examples/hybrid_encryption.cpp:35,1
    - Dst: auto::finish
      Src: /src/botan/src/examples/hybrid_encryption.cpp:36,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/examples/hybrid_encryption.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - data
    - pubkey
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - std::unique_ptr<Botan::Public_Key>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: encrypt
    functionSourceFile: /src/botan/src/examples/hybrid_encryption.cpp
    functionUses: 142
    functionsReached:
    - auto::set_key
    - auto::default_nonce_length
    - auto::finish
    - EncryptedData::ciphertext::assign
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - auto::start
    - auto::minimum_keylength
    - random_vec
    - Botan::PK_Encryptor_EME::encrypt
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: EncryptedData
    signature: "EncryptedData encrypt(std::span<const uint8_t> data,\n                      std::unique_ptr<Botan::Public_Key>
      pubkey,\n                      Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/examples/hybrid_encryption.cpp:52,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/examples/hybrid_encryption.cpp:55,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/hybrid_encryption.cpp:56,1
    - Dst: auto::start
      Src: /src/botan/src/examples/hybrid_encryption.cpp:57,1
    - Dst: auto::finish
      Src: /src/botan/src/examples/hybrid_encryption.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' encdata'
    - ' privkey'
    - ' rng'
    argTypes:
    - EncryptedData
    - Botan::Private_Key
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: decrypt
    functionSourceFile: /src/botan/src/examples/hybrid_encryption.cpp
    functionUses: 125
    functionsReached:
    - auto::set_key
    - auto::finish
    - auto::start
    - Botan::PK_Decryptor_EME::decrypt
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: "Botan::secure_vector<uint8_t> decrypt(const EncryptedData& encdata,\n
      \                                     const Botan::Private_Key& privkey,\n                                      Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Out
      Src: /src/botan/src/examples/hybrid_encryption.cpp:65,1
    - Dst: data
      Src: /src/botan/src/examples/hybrid_encryption.cpp:65,1
    - Dst: data
      Src: /src/botan/src/examples/hybrid_encryption.cpp:65,1
    - Dst: size
      Src: /src/botan/src/examples/hybrid_encryption.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - In
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: as
    functionSourceFile: /src/botan/src/examples/hybrid_encryption.cpp
    functionUses: 86
    functionsReached:
    - data
    - size
    - Out
    linkageType: ''
    returnType: Out
    signature: Out as(const In& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/hybrid_encryption.cpp:71,1
    - Dst: generate_keypair
      Src: /src/botan/src/examples/hybrid_encryption.cpp:73,1
    - Dst: encrypt
      Src: /src/botan/src/examples/hybrid_encryption.cpp:76,1
    - Dst: as
      Src: /src/botan/src/examples/hybrid_encryption.cpp:76,1
    - Dst: auto::public_key
      Src: /src/botan/src/examples/hybrid_encryption.cpp:76,1
    - Dst: decrypt
      Src: /src/botan/src/examples/hybrid_encryption.cpp:77,1
    - Dst: as
      Src: /src/botan/src/examples/hybrid_encryption.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/botan/src/examples/hybrid_encryption.cpp
    functionUses: 96
    functionsReached:
    - generate_keypair
    - auto::public_key
    - as
    - encrypt
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - decrypt
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/ecdh.cpp:10,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/ecdh.cpp:13,1
    - Dst: Botan::ECDH_PrivateKey::public_value
      Src: /src/botan/src/examples/ecdh.cpp:21,1
    - Dst: Botan::ECDH_PrivateKey::public_value
      Src: /src/botan/src/examples/ecdh.cpp:22,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/examples/ecdh.cpp:26,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/examples/ecdh.cpp:29,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/ecdh.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 9
    functionDepth: 3
    functionLinenumber: 9
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/botan/src/examples/ecdh.cpp
    functionUses: 96
    functionsReached:
    - Botan::PK_Key_Agreement::derive_key
    - Botan::ECDH_PrivateKey::public_value
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::hex_encode
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_x509.cpp:12,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_x509.cpp:13,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/examples/pkcs11_x509.cpp:20,1
    - Dst: Botan::X509_Certificate::BER_encode
      Src: /src/botan/src/examples/pkcs11_x509.cpp:20,1
    - Dst: Botan::PKCS11::X509_CertificateProperties::set_label
      Src: /src/botan/src/examples/pkcs11_x509.cpp:22,1
    - Dst: Botan::PKCS11::X509_CertificateProperties::set_private
      Src: /src/botan/src/examples/pkcs11_x509.cpp:23,1
    - Dst: Botan::PKCS11::X509_CertificateProperties::set_token
      Src: /src/botan/src/examples/pkcs11_x509.cpp:24,1
    - Dst: Botan::PKCS11::PKCS11_X509_Certificate::handle
      Src: /src/botan/src/examples/pkcs11_x509.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_x509.cpp
    functionUses: 96
    functionsReached:
    - std::vector::at
    - Botan::X509_Certificate::subject_dn
    - Botan::PKCS11::X509_CertificateProperties::set_token
    - Botan::PKCS11::X509_CertificateProperties::set_label
    - Botan::X509_Certificate::BER_encode
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PKCS11::PKCS11_X509_Certificate::handle
    - Botan::PKCS11::X509_CertificateProperties::set_private
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:23,1
    - Dst: std::string_view::data
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:23,1
    - Dst: std::string_view::size
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: as_byteview
    functionSourceFile: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - reinterpret_cast<const uint8_t*>
    - std::string_view::data
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> as_byteview(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:35,1
    - Dst: std::string
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:35,1
    - Dst: Botan::RandomNumberGenerator
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:38,1
    - Dst: auto::supports_botan_crypto_backend
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:40,1
    - Dst: auto::use_botan_crypto_backend
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:41,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:52,1
    - Dst: auto::reseed_from_rng
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:53,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:62,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:63,1
    - Dst: Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:66,1
    - Dst: as_byteview
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:67,1
    - Dst: auto::persist
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:68,1
    - Dst: as_byteview
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:68,1
    - Dst: Botan::Extensions::add_new
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:91,1
    - Dst: std::make_unique<Botan::Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:91,1
    - Dst: Botan::Extensions::add_new
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:92,1
    - Dst: std::make_unique<Botan::Cert_Extension::Key_Usage>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:92,1
    - Dst: Botan::Key_Constraints
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:93,1
    - Dst: Botan::Extensions::add_new
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:94,1
    - Dst: std::make_unique<Botan::Cert_Extension::Extended_Key_Usage>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:94,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:95,1
    - Dst: Botan::Extensions::add_new
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:96,1
    - Dst: std::make_unique<Botan::Cert_Extension::Subject_Alternative_Name>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:96,1
    - Dst: Botan::AlternativeName::AlternativeName
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:97,1
    - Dst: Botan::AlternativeName::add_dns
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:98,1
    - Dst: Botan::AlternativeName::add_email
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:99,1
    - Dst: Botan::Extensions::add_new
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:102,1
    - Dst: std::make_unique<Botan::Cert_Extension::Subject_Key_ID>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:103,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:103,1
    - Dst: Botan::PKCS10_Request::create
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:106,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp
    functionUses: 96
    functionsReached:
    - Botan::Extensions::add_new
    - std::make_shared<Botan::AutoSeeded_RNG>
    - auto::reseed_from_rng
    - std::string
    - std::make_unique<Botan::Cert_Extension::Key_Usage>
    - Botan::AlternativeName::add_email
    - Botan::TPM2::Context::create
    - Botan::AlternativeName::AlternativeName
    - std::make_unique<Botan::Cert_Extension::Extended_Key_Usage>
    - auto::persist
    - Botan::AlternativeName::add_dns
    - Botan::PKCS10_Request::create
    - Botan::Key_Constraints
    - auto::supports_botan_crypto_backend
    - Botan::OID::from_name
    - auto::storage_root_key
    - Botan::RandomNumberGenerator
    - auto::PEM_encode
    - auto::use_botan_crypto_backend
    - as_byteview
    - std::make_unique<Botan::Cert_Extension::Subject_Key_ID>
    - Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
    - std::make_unique<Botan::Cert_Extension::Subject_Alternative_Name>
    - std::make_unique<Botan::Cert_Extension::Basic_Constraints>
    - auto::public_key_bits
    - Botan::TPM2::Session::authenticated_session
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:14,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:14,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:14,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:15,1
    - Dst: std::vector::insert
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:16,1
    - Dst: std::vector::end
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:16,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:16,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:16,1
    - Dst: std::vector::insert
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:17,1
    - Dst: std::vector::end
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:17,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:17,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 3
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: to_uncompress_point_encoding
    functionSourceFile: /src/botan/src/examples/ecc_raw_public_key.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - std::vector::insert
    - std::vector::reserve
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::size
    - std::vector::push_back
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> to_uncompress_point_encoding(std::span<const uint8_t>
      x, std::span<const uint8_t> y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:25,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:26,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:28,1
    - Dst: to_uncompress_point_encoding
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:29,1
    - Dst: Botan::ECDSA_PublicKey
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:34,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:34,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/botan/src/examples/ecc_raw_public_key.cpp
    functionUses: 96
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    - Botan::ECDSA_PublicKey
    - Botan::hex_decode
    - to_uncompress_point_encoding
    - Botan::X509::PEM_encode
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_emit_data([[maybe_unused]] std::span<const uint8_t> data)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_record_received([[maybe_unused]] uint64_t seq_no,\n                               [[maybe_unused]]
      std::span<const uint8_t> data) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Callbacks::tls_alert
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert([[maybe_unused]] Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' type'
    - ' context'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: Client_Credentials::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(\n
      \        [[maybe_unused]] const std::string& type, [[maybe_unused]] const std::string&
      context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Policy::key_exchange_groups
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:53,1
    - Dst: auto::push_back
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:54,1
    - Dst: auto::push_back
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:55,1
    - Dst: auto::push_back
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: Client_Policy::key_exchange_groups
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 0
    functionsReached:
    - auto::push_back
    - Shim_Policy::key_exchange_groups
    linkageType: ''
    returnType: std::vector<Botan::TLS::Group_Params>
    signature: std::vector<Botan::TLS::Group_Params> key_exchange_groups() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Client_Policy::key_exchange_groups_to_offer
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::TLS::Group_Params>
    signature: std::vector<Botan::TLS::Group_Params> key_exchange_groups_to_offer()
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:69,1
    - Dst: std::make_shared<Callbacks>
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:70,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:71,1
    - Dst: std::make_shared<Client_Credentials>
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:72,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:73,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:81,1
    - Dst: Botan::TLS::Client::is_closed
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 96
    functionsReached:
    - std::make_shared<Botan::AutoSeeded_RNG>
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - Botan::TLS::Client::is_closed
    - std::make_shared<Botan::TLS::Strict_Policy>
    - std::make_shared<Callbacks>
    - Botan::TLS::Server_Information
    - std::make_shared<Client_Credentials>
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http::request::version
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:36,1
    - Dst: http::request::method
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:37,1
    - Dst: http::request::target
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:38,1
    - Dst: http::request::set
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:39,1
    - Dst: http::request::set
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:40,1
    - Dst: Botan::version_string
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' host'
    - ' target'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: create_GET_request
    functionSourceFile: /src/botan/src/examples/tls_stream_coroutine_client.cpp
    functionUses: 0
    functionsReached:
    - http::request::version
    - http::request::set
    - Botan::version_string
    - http::request::target
    - http::request::method
    linkageType: ''
    returnType: http::request<http::string_body>
    signature: http::request<http::string_body> create_GET_request(const std::string&
      host, const std::string& target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_default_on
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:46,1
    - Dst: tcp::resolver
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:46,1
    - Dst: auto::async_resolve
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:47,1
    - Dst: Botan_Tests::AsioStream::AsioStream
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:51,1
    - Dst: tls::Server_Information
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:51,1
    - Dst: as_default_on
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:52,1
    - Dst: beast::tcp_stream
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:52,1
    - Dst: auto::next_layer
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:53,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:53,1
    - Dst: auto::next_layer
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:54,1
    - Dst: auto::async_handshake
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:55,1
    - Dst: auto::next_layer
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:58,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:58,1
    - Dst: http::async_write
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:59,1
    - Dst: create_GET_request
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:59,1
    - Dst: http::async_read
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:64,1
    - Dst: auto::async_shutdown
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:68,1
    - Dst: auto::next_layer
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - host
    - port
    - target
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 70
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 70
    functionName: request
    functionSourceFile: /src/botan/src/examples/tls_stream_coroutine_client.cpp
    functionUses: 56
    functionsReached:
    - tcp::resolver
    - auto::async_resolve
    - auto::next_layer
    - as_default_on
    - Botan_Tests::AsioStream::AsioStream
    - Botan_CLI::Timer::seconds
    - http::async_read
    - tls::Server_Information
    - beast::tcp_stream
    - create_GET_request
    - auto::async_handshake
    - auto::async_shutdown
    - http::async_write
    linkageType: ''
    returnType: net::awaitable<void>
    signature: net::awaitable<void> request(std::string host, std::string port, std::string
      target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net::co_spawn
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:91,1
    - Dst: request
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:91,1
    - Dst: std::rethrow_exception
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:94,1
    - Dst: what
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:96,1
    - Dst: net::io_context::run
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:102,1
    - Dst: what
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 108
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_stream_coroutine_client.cpp
    functionUses: 96
    functionsReached:
    - request
    - net::co_spawn
    - what
    - std::rethrow_exception
    - net::io_context::run
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_stream_coroutine_client.cpp
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_emit_data([[maybe_unused]] std::span<const uint8_t> data)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_record_received([[maybe_unused]] uint64_t seq_no,\n                               [[maybe_unused]]
      std::span<const uint8_t> data) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Callbacks::tls_alert
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert([[maybe_unused]] Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' type'
    - ' context'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: Client_Credentials::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(\n
      \        [[maybe_unused]] const std::string& type, [[maybe_unused]] const std::string&
      context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' cert_key_types'
    - ' cert_signature_schemes'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::vector<Botan::AlgorithmIdentifier>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: Client_Credentials::cert_chain
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> cert_chain(\n         [[maybe_unused]]
      const std::vector<std::string>& cert_key_types,\n         [[maybe_unused]] const
      std::vector<Botan::AlgorithmIdentifier>& cert_signature_schemes,\n         [[maybe_unused]]
      const std::string& type,\n         [[maybe_unused]] const std::string& context)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cert'
    - ' type'
    - ' context'
    argTypes:
    - Botan::X509_Certificate
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: Client_Credentials::private_key_for
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for([[maybe_unused]]
      const Botan::X509_Certificate& cert,\n                                                          [[maybe_unused]]
      const std::string& type,\n                                                          [[maybe_unused]]
      const std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Callbacks>
      Src: /src/botan/src/examples/tls_client.cpp:71,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/tls_client.cpp:72,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/examples/tls_client.cpp:73,1
    - Dst: std::make_shared<Client_Credentials>
      Src: /src/botan/src/examples/tls_client.cpp:74,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/examples/tls_client.cpp:75,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/examples/tls_client.cpp:83,1
    - Dst: Botan::TLS::Client::is_closed
      Src: /src/botan/src/examples/tls_client.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 96
    functionsReached:
    - std::make_shared<Botan::AutoSeeded_RNG>
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - Botan::TLS::Client::is_closed
    - std::make_shared<Botan::TLS::Strict_Policy>
    - std::make_shared<Callbacks>
    - Botan::TLS::Server_Information
    - std::make_shared<Client_Credentials>
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Client_Credential::Client_Credential
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Client_Credential()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: Client_Credential::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const
      std::string&,\n                                                                             const
      std::string&) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:53,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:53,1
    - Dst: push_back
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:59,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: Server_Credential::Server_Credential
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::load_key
    - reset
    - Botan::X509_Certificate
    - push_back
    linkageType: ''
    returnType: void
    signature: void Server_Credential()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: Server_Credential::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const
      std::string&,\n                                                                             const
      std::string&) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_public_key
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ' cert_key_types'
    - ' cert_signature_schemes'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::vector<Botan::AlgorithmIdentifier>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: Server_Credential::cert_chain
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - subject_public_key
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> cert_chain(\n         [[maybe_unused]]
      const std::vector<std::string>& cert_key_types,\n         [[maybe_unused]] const
      std::vector<Botan::AlgorithmIdentifier>& cert_signature_schemes,\n         [[maybe_unused]]
      const std::string& type,\n         [[maybe_unused]] const std::string& context)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cert'
    - ' type'
    - ' context'
    argTypes:
    - Botan::X509_Certificate
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: Server_Credential::private_key_for
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for([[maybe_unused]]
      const Botan::X509_Certificate& cert,\n                                                          [[maybe_unused]]
      const std::string& type,\n                                                          [[maybe_unused]]
      const std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Allow_Secrets_Policy::allow_ssl_key_log_file
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_ssl_key_log_file() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' callbacks'
    argTypes:
    - Botan::TLS::Callbacks
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: BotanTLSCallbacksProxy::BotanTLSCallbacksProxy
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BotanTLSCallbacksProxy(Botan::TLS::Callbacks& callbacks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BotanTLSCallbacksProxy::tls_emit_data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: BotanTLSCallbacksProxy::tls_emit_data
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 1
    functionsReached:
    - BotanTLSCallbacksProxy::tls_emit_data
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: BotanTLSCallbacksProxy::tls_record_received
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_record_received([[maybe_unused]] uint64_t seq_no,\n                               [[maybe_unused]]
      std::span<const uint8_t> data) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: BotanTLSCallbacksProxy::tls_alert
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert([[maybe_unused]] Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BotanTLSCallbacksProxy::tls_ssl_key_log_data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - label
    - client_random
    - secret
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: BotanTLSCallbacksProxy::tls_ssl_key_log_data
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 1
    functionsReached:
    - BotanTLSCallbacksProxy::tls_ssl_key_log_data
    linkageType: ''
    returnType: void
    signature: "void tls_ssl_key_log_data(std::string_view label,\n                                std::span<const
      uint8_t> client_random,\n                                std::span<const uint8_t>
      secret) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BotanTLSCallbacksProxy::tls_session_activated
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: BotanTLSCallbacksProxy::tls_session_activated
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 1
    functionsReached:
    - BotanTLSCallbacksProxy::tls_session_activated
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_aton
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:148,1
    - Dst: c_str
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:148,1
    - Dst: htons
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:149,1
    - Dst: std::make_shared<BotanTLSCallbacksProxy>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:151,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:152,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:153,1
    - Dst: std::make_shared<Allow_Secrets_Policy>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:155,1
    - Dst: std::make_shared<Server_Credential>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:156,1
    - Dst: std::make_unique<Botan::TLS::Server>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:158,1
    - Dst: std::make_shared<Botan::TLS::Datagram_Policy>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:160,1
    - Dst: std::make_shared<Client_Credential>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:161,1
    - Dst: std::make_unique<Botan::TLS::Client>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:163,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' r_addr'
    - r_port
    - socket
    - is_server
    argTypes:
    - std::string
    - int
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 171
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 171
    functionName: DtlsConnection::DtlsConnection
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Botan::AutoSeeded_RNG>
    - std::make_shared<Allow_Secrets_Policy>
    - std::make_unique<Botan::TLS::Client>
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::make_shared<BotanTLSCallbacksProxy>
    - inet_aton
    - std::make_shared<Client_Credential>
    - Botan::TLS::Server_Information
    - htons
    - std::make_shared<Server_Credential>
    - std::make_shared<Botan::TLS::Datagram_Policy>
    - c_str
    - std::make_unique<Botan::TLS::Server>
    linkageType: ''
    returnType: void
    signature: "void DtlsConnection([[maybe_unused]] const std::string& r_addr,\n
      \                    [[maybe_unused]] int r_port,\n                     int
      socket,\n                     bool is_server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sendto
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:177,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:177,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:177,1
    - Dst: reinterpret_cast<const sockaddr*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: DtlsConnection::tls_emit_data
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - sendto
    - reinterpret_cast<const sockaddr*>
    linkageType: ''
    returnType: void
    signature: void tls_emit_data([[maybe_unused]] std::span<const uint8_t> data)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: DtlsConnection::tls_record_received
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_record_received([[maybe_unused]] uint64_t seq_no,\n                               [[maybe_unused]]
      std::span<const uint8_t> data) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: DtlsConnection::tls_alert
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert([[maybe_unused]] Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: activated_callback
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: DtlsConnection::tls_session_activated
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - activated_callback
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ofstream::open
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:195,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:196,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:196,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:196,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:197,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:197,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:197,1
    - Dst: std::ofstream::close
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - label
    - client_random
    - secret
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: DtlsConnection::tls_ssl_key_log_data
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::close
    - std::ofstream::open
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: "void tls_ssl_key_log_data(std::string_view label,\n                                std::span<const
      uint8_t> client_random,\n                                std::span<const uint8_t>
      secret) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DtlsConnection::received_data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: DtlsConnection::received_data
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 1
    functionsReached:
    - DtlsConnection::received_data
    linkageType: ''
    returnType: void
    signature: void received_data(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: DtlsConnection::set_activated_callback
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_activated_callback(std::function<void()> callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:208,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: DtlsConnection::close
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    - shutdown
    linkageType: ''
    returnType: void
    signature: void close() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:220,1
    - Dst: setsockopt
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:225,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:225,1
    - Dst: htons
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:230,1
    - Dst: inet_aton
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:231,1
    - Dst: bind
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:232,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:232,1
    - Dst: std::make_shared<DtlsConnection>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:243,1
    - Dst: conn_callback
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:244,1
    - Dst: recvfrom
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:249,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:249,1
    - Dst: auto::received_data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:250,1
    - Dst: std::span
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' conn_callback'
    argTypes:
    - std::function<void(std::shared_ptr<DtlsConnection> conn)>
    constantsTouched: []
    func_position:
      end: 259
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 259
    functionName: server_proc
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - bind
    - std::span
    - socket
    - auto::received_data
    - static_cast<void*>
    - inet_aton
    - conn_callback
    - std::make_shared<DtlsConnection>
    - recvfrom
    - htons
    - setsockopt
    - reinterpret_cast<sockaddr*>
    linkageType: ''
    returnType: void
    signature: void server_proc(const std::function<void(std::shared_ptr<DtlsConnection>
      conn)>& conn_callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:266,1
    - Dst: setsockopt
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:271,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:271,1
    - Dst: htons
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:276,1
    - Dst: inet_aton
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:277,1
    - Dst: bind
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:278,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:278,1
    - Dst: std::make_shared<DtlsConnection>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:289,1
    - Dst: conn_callback
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:290,1
    - Dst: recvfrom
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:294,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:294,1
    - Dst: auto::received_data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:295,1
    - Dst: std::span
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' conn_callback'
    argTypes:
    - std::function<void(std::shared_ptr<DtlsConnection> conn)>
    constantsTouched: []
    func_position:
      end: 304
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 304
    functionName: client_proc
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - bind
    - std::span
    - socket
    - auto::received_data
    - static_cast<void*>
    - inet_aton
    - conn_callback
    - std::make_shared<DtlsConnection>
    - recvfrom
    - htons
    - setsockopt
    - reinterpret_cast<sockaddr*>
    linkageType: ''
    returnType: void
    signature: void client_proc(const std::function<void(std::shared_ptr<DtlsConnection>
      conn)>& conn_callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:314,1
    - Dst: std::move
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:314,1
    - Dst: std::vector::size
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:315,1
    - Dst: std::condition_variable::notify_one
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:316,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:321,1
    - Dst: std::move
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:321,1
    - Dst: std::vector::size
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:322,1
    - Dst: std::condition_variable::notify_one
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:323,1
    - Dst: std::condition_variable::wait
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:328,1
    - Dst: set_activated_callback
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:333,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:334,1
    - Dst: std::vector::size
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:335,1
    - Dst: std::condition_variable::notify_one
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:336,1
    - Dst: std::condition_variable::wait
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:343,1
    - Dst: close
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:347,1
    - Dst: std::thread::join
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:350,1
    - Dst: std::thread::join
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 353
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 96
    functionsReached:
    - std::move
    - std::vector::size
    - close
    - set_activated_callback
    - std::condition_variable::wait
    - std::condition_variable::notify_one
    - std::vector::push_back
    - std::thread::join
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 19
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_low_level.cpp
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_slot.cpp:12,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_slot.cpp:15,1
    - Dst: Botan::PKCS11::Slot::get_slot_info
      Src: /src/botan/src/examples/pkcs11_slot.cpp:18,1
    - Dst: std::to_string
      Src: /src/botan/src/examples/pkcs11_slot.cpp:19,1
    - Dst: std::to_string
      Src: /src/botan/src/examples/pkcs11_slot.cpp:20,1
    - Dst: Botan::PKCS11::Slot::get_token_info
      Src: /src/botan/src/examples/pkcs11_slot.cpp:23,1
    - Dst: std::to_string
      Src: /src/botan/src/examples/pkcs11_slot.cpp:24,1
    - Dst: std::to_string
      Src: /src/botan/src/examples/pkcs11_slot.cpp:25,1
    - Dst: Botan::PKCS11::Slot::get_mechanism_list
      Src: /src/botan/src/examples/pkcs11_slot.cpp:28,1
    - Dst: Botan::PKCS11::Slot::get_mechanism_info
      Src: /src/botan/src/examples/pkcs11_slot.cpp:31,1
    - Dst: Botan::PKCS11::Slot::initialize
      Src: /src/botan/src/examples/pkcs11_slot.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 8
    functionDepth: 2
    functionLinenumber: 8
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_slot.cpp
    functionUses: 96
    functionsReached:
    - Botan::PKCS11::Slot::initialize
    - std::vector::at
    - Botan::PKCS11::Slot::get_mechanism_info
    - Botan::PKCS11::Slot::get_token_info
    - std::to_string
    - Botan::PKCS11::Slot::get_mechanism_list
    - Botan::PKCS11::Slot::get_slot_info
    - Botan::PKCS11::Slot::get_available_slots
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Module::reload
      Src: /src/botan/src/examples/pkcs11_module.cpp:11,1
    - Dst: Botan::PKCS11::Module::get_info
      Src: /src/botan/src/examples/pkcs11_module.cpp:13,1
    - Dst: std::to_string
      Src: /src/botan/src/examples/pkcs11_module.cpp:16,1
    - Dst: std::to_string
      Src: /src/botan/src/examples/pkcs11_module.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 19
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_module.cpp
    functionUses: 96
    functionsReached:
    - Botan::PKCS11::Module::reload
    - Botan::PKCS11::Module::get_info
    - std::to_string
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_session.cpp:10,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_session.cpp:11,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/examples/pkcs11_session.cpp:22,1
    - Dst: Botan::PKCS11::Session::release
      Src: /src/botan/src/examples/pkcs11_session.cpp:30,1
    - Dst: Botan::PKCS11::Session::get_info
      Src: /src/botan/src/examples/pkcs11_session.cpp:38,1
    - Dst: Botan::PKCS11::Session::login
      Src: /src/botan/src/examples/pkcs11_session.cpp:43,1
    - Dst: Botan::PKCS11::Session::set_pin
      Src: /src/botan/src/examples/pkcs11_session.cpp:47,1
    - Dst: Botan::PKCS11::Session::logoff
      Src: /src/botan/src/examples/pkcs11_session.cpp:50,1
    - Dst: Botan::PKCS11::Session::login
      Src: /src/botan/src/examples/pkcs11_session.cpp:54,1
    - Dst: Botan::PKCS11::Session::init_pin
      Src: /src/botan/src/examples/pkcs11_session.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 7
    functionDepth: 2
    functionLinenumber: 7
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_session.cpp
    functionUses: 96
    functionsReached:
    - Botan::PKCS11::Session::init_pin
    - std::vector::at
    - Botan::PKCS11::Session::logoff
    - Botan::PKCS11::Session::login
    - Botan::PKCS11::Session::get_info
    - Botan::PKCS11::Session::set_pin
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PKCS11::flags
    - Botan::PKCS11::Session::release
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/kdf.cpp:9,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/kdf.cpp:10,1
    - Dst: Botan::KDF::create_or_throw
      Src: /src/botan/src/examples/kdf.cpp:13,1
    - Dst: auto::derive_key
      Src: /src/botan/src/examples/kdf.cpp:14,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/kdf.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 5
    functionDepth: 4
    functionLinenumber: 5
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/botan/src/examples/kdf.cpp
    functionUses: 96
    functionsReached:
    - Botan::KDF::create_or_throw
    - auto::derive_key
    - Botan::hex_encode
    - Botan::hex_decode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/gmac.cpp:7,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/gmac.cpp:8,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/gmac.cpp:9,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/examples/gmac.cpp:11,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/gmac.cpp:12,1
    - Dst: auto::start
      Src: /src/botan/src/examples/gmac.cpp:13,1
    - Dst: auto::update
      Src: /src/botan/src/examples/gmac.cpp:14,1
    - Dst: auto::final
      Src: /src/botan/src/examples/gmac.cpp:15,1
    - Dst: auto::name
      Src: /src/botan/src/examples/gmac.cpp:16,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/gmac.cpp:16,1
    - Dst: auto::start
      Src: /src/botan/src/examples/gmac.cpp:19,1
    - Dst: auto::update
      Src: /src/botan/src/examples/gmac.cpp:20,1
    - Dst: auto::verify_mac
      Src: /src/botan/src/examples/gmac.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 6
    functionDepth: 6
    functionLinenumber: 6
    functionLinenumberEnd: 23
    functionName: main
    functionSourceFile: /src/botan/src/examples/gmac.cpp
    functionUses: 96
    functionsReached:
    - auto::set_key
    - Botan::hex_decode_locked
    - auto::name
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::hex_decode
    - auto::update
    - auto::start
    - auto::verify_mac
    - auto::final
    - Botan::hex_encode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/dl_group.cpp:8,1
    - Dst: std::make_unique<Botan::DL_Group>
      Src: /src/botan/src/examples/dl_group.cpp:9,1
    - Dst: auto::get_p
      Src: /src/botan/src/examples/dl_group.cpp:11,1
    - Dst: auto::get_q
      Src: /src/botan/src/examples/dl_group.cpp:12,1
    - Dst: auto::get_g
      Src: /src/botan/src/examples/dl_group.cpp:13,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/examples/dl_group.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 7
    functionDepth: 2
    functionLinenumber: 7
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/botan/src/examples/dl_group.cpp
    functionUses: 96
    functionsReached:
    - auto::get_g
    - auto::get_p
    - std::make_unique<Botan::DL_Group>
    - auto::PEM_encode
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - auto::get_q
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Credentials_Manager::Credentials_Manager
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Credentials_Manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Credentials_Manager::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const
      std::string&,\n                                                                             const
      std::string&) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::enable_shared_from_this<Context>
      Src: /src/botan/src/examples/tls_stream_client.cpp:42,1
    - Dst: std::make_shared<Credentials_Manager>
      Src: /src/botan/src/examples/tls_stream_client.cpp:42,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/tls_stream_client.cpp:43,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/examples/tls_stream_client.cpp:44,1
    - Dst: std::make_shared<Botan::TLS::Policy>
      Src: /src/botan/src/examples/tls_stream_client.cpp:45,1
    - Dst: boost::asio::async_connect
      Src: /src/botan/src/examples/tls_stream_client.cpp:48,1
    - Dst: lowest_layer
      Src: /src/botan/src/examples/tls_stream_client.cpp:48,1
    - Dst: begin
      Src: /src/botan/src/examples/tls_stream_client.cpp:49,1
    - Dst: end
      Src: /src/botan/src/examples/tls_stream_client.cpp:50,1
    - Dst: boost::bind
      Src: /src/botan/src/examples/tls_stream_client.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' io_context'
    - ' endpoints'
    - host
    - ' req'
    argTypes:
    - boost::asio::io_context
    - boost::asio::ip::tcp::resolver::results_type
    - std::string_view
    - http::request<http::string_body>
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: client::client
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Botan::TLS::Policy>
    - std::make_shared<Botan::AutoSeeded_RNG>
    - std::make_shared<Credentials_Manager>
    - end
    - lowest_layer
    - begin
    - std::enable_shared_from_this<Context>
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - boost::bind
    - boost::asio::async_connect
    linkageType: ''
    returnType: void
    signature: "void client(boost::asio::io_context& io_context,\n             const
      boost::asio::ip::tcp::resolver::results_type& endpoints,\n             std::string_view
      host,\n             const http::request<http::string_body>& req)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: message
      Src: /src/botan/src/examples/tls_stream_client.cpp:56,1
    - Dst: async_handshake
      Src: /src/botan/src/examples/tls_stream_client.cpp:59,1
    - Dst: boost::bind
      Src: /src/botan/src/examples/tls_stream_client.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: client::handle_connect
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 7
    functionsReached:
    - boost::bind
    - message
    - async_handshake
    linkageType: ''
    returnType: void
    signature: void handle_connect(const boost::system::error_code& error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: message
      Src: /src/botan/src/examples/tls_stream_client.cpp:65,1
    - Dst: http::async_write
      Src: /src/botan/src/examples/tls_stream_client.cpp:68,1
    - Dst: boost::bind
      Src: /src/botan/src/examples/tls_stream_client.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: client::handle_handshake
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 0
    functionsReached:
    - message
    - boost::bind
    - http::async_write
    linkageType: ''
    returnType: void
    signature: void handle_handshake(const boost::system::error_code& error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: message
      Src: /src/botan/src/examples/tls_stream_client.cpp:74,1
    - Dst: http::async_read
      Src: /src/botan/src/examples/tls_stream_client.cpp:77,1
    - Dst: boost::bind
      Src: /src/botan/src/examples/tls_stream_client.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: client::handle_write
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 0
    functionsReached:
    - boost::bind
    - message
    - http::async_read
    linkageType: ''
    returnType: void
    signature: void handle_write(const boost::system::error_code& error, size_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: body
      Src: /src/botan/src/examples/tls_stream_client.cpp:84,1
    - Dst: message
      Src: /src/botan/src/examples/tls_stream_client.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: client::handle_read
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 0
    functionsReached:
    - message
    - body
    linkageType: ''
    returnType: void
    signature: void handle_read(const boost::system::error_code& error, size_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::ip::tcp::resolver::resolve
      Src: /src/botan/src/examples/tls_stream_client.cpp:115,1
    - Dst: http::request::version
      Src: /src/botan/src/examples/tls_stream_client.cpp:118,1
    - Dst: http::request::method
      Src: /src/botan/src/examples/tls_stream_client.cpp:119,1
    - Dst: http::request::target
      Src: /src/botan/src/examples/tls_stream_client.cpp:120,1
    - Dst: http::request::set
      Src: /src/botan/src/examples/tls_stream_client.cpp:121,1
    - Dst: http::request::set
      Src: /src/botan/src/examples/tls_stream_client.cpp:122,1
    - Dst: Botan::version_string
      Src: /src/botan/src/examples/tls_stream_client.cpp:122,1
    - Dst: boost::asio::io_context::run
      Src: /src/botan/src/examples/tls_stream_client.cpp:126,1
    - Dst: what
      Src: /src/botan/src/examples/tls_stream_client.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 133
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 96
    functionsReached:
    - http::request::version
    - http::request::set
    - Botan::version_string
    - what
    - http::request::target
    - http::request::method
    - boost::asio::io_context::run
    - boost::asio::ip::tcp::resolver::resolve
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:14,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:16,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:21,1
    - Dst: ECDH_PrivateKey
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:30,1
    - Dst: auto::value
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:30,1
    - Dst: auto::public_key
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:31,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:33,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 11
    functionDepth: 3
    functionLinenumber: 11
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/botan/src/examples/ecc_raw_private_key.cpp
    functionUses: 96
    functionsReached:
    - ECDH_PrivateKey
    - Botan::hex_decode_locked
    - auto::public_key
    - auto::value
    - Botan::PKCS8::PEM_encode
    - Botan::EC_Scalar::deserialize
    - Botan::X509::PEM_encode
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/ecdsa.cpp:10,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/ecdsa.cpp:12,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/examples/ecdsa.cpp:19,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/examples/ecdsa.cpp:20,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/ecdsa.cpp:21,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/examples/ecdsa.cpp:25,1
    - Dst: Botan::PK_Verifier::check_signature
      Src: /src/botan/src/examples/ecdsa.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 9
    functionDepth: 3
    functionLinenumber: 9
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/botan/src/examples/ecdsa.cpp
    functionUses: 96
    functionsReached:
    - Botan::PK_Verifier::update
    - Botan::PK_Signer::signature
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PK_Verifier::check_signature
    - Botan::PK_Signer::update
    - Botan::hex_encode
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: MySoC_RandomNumberGenerator::MySoC_RandomNumberGenerator
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySoC_RandomNumberGenerator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ~MySoC_RandomNumberGenerator() override
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MySoC_RandomNumberGenerator() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: MySoC_RandomNumberGenerator::MySoC_RandomNumberGenerator
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySoC_RandomNumberGenerator(const MySoC_RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: MySoC_RandomNumberGenerator::MySoC_RandomNumberGenerator
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySoC_RandomNumberGenerator(MySoC_RandomNumberGenerator&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(const MySoC_RandomNumberGenerator&)'
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySoC_RandomNumberGenerator
    signature: MySoC_RandomNumberGenerator & operator=(const MySoC_RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& operator=(MySoC_RandomNumberGenerator&&)'
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySoC_RandomNumberGenerator
    signature: MySoC_RandomNumberGenerator & operator=(MySoC_RandomNumberGenerator&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: MySoC_RandomNumberGenerator::accepts_input
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: MySoC_RandomNumberGenerator::name
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: MySoC_RandomNumberGenerator::is_seeded
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MySoC_RandomNumberGenerator::invoke_board_specific_rng
      Src: /src/botan/src/examples/custom_system_rng.cpp:61,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/examples/custom_system_rng.cpp:61,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/examples/custom_system_rng.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: MySoC_RandomNumberGenerator::fill_bytes_with_input
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - MySoC_RandomNumberGenerator::invoke_board_specific_rng
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /*input*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/botan/src/examples/custom_system_rng.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: MySoC_RandomNumberGenerator::invoke_board_specific_rng
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void invoke_board_specific_rng(uint8_t buf[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MySoC_RandomNumberGenerator::MySoC_RandomNumberGenerator
      Src: /src/botan/src/examples/custom_system_rng.cpp:86,1
    - Dst: printf
      Src: /src/botan/src/examples/custom_system_rng.cpp:88,1
    - Dst: MySoC_RandomNumberGenerator::next_byte
      Src: /src/botan/src/examples/custom_system_rng.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 96
    functionsReached:
    - MySoC_RandomNumberGenerator::next_byte
    - printf
    - MySoC_RandomNumberGenerator::MySoC_RandomNumberGenerator
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:12,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:15,1
    - Dst: Botan::PKCS11::set_pin
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:22,1
    - Dst: Botan::PKCS11::set_pin
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:25,1
    - Dst: Botan::PKCS11::initialize_token
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:28,1
    - Dst: Botan::PKCS11::change_pin
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:31,1
    - Dst: Botan::PKCS11::change_pin
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:34,1
    - Dst: Botan::PKCS11::change_so_pin
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:37,1
    - Dst: Botan::PKCS11::change_so_pin
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 6
    functionDepth: 4
    functionLinenumber: 6
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_token_management.cpp
    functionUses: 96
    functionsReached:
    - std::vector::at
    - Botan::PKCS11::change_so_pin
    - Botan::PKCS11::initialize_token
    - Botan::PKCS11::change_pin
    - Botan::PKCS11::set_pin
    - Botan::PKCS11::Slot::get_available_slots
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/aes_cbc.cpp:9,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/aes_cbc.cpp:14,1
    - Dst: Botan::Cipher_Mode::create_or_throw
      Src: /src/botan/src/examples/aes_cbc.cpp:16,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/aes_cbc.cpp:17,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/examples/aes_cbc.cpp:20,1
    - Dst: auto::default_nonce_length
      Src: /src/botan/src/examples/aes_cbc.cpp:20,1
    - Dst: std::string::data
      Src: /src/botan/src/examples/aes_cbc.cpp:23,1
    - Dst: std::string::data
      Src: /src/botan/src/examples/aes_cbc.cpp:23,1
    - Dst: std::string::length
      Src: /src/botan/src/examples/aes_cbc.cpp:23,1
    - Dst: auto::start
      Src: /src/botan/src/examples/aes_cbc.cpp:25,1
    - Dst: auto::finish
      Src: /src/botan/src/examples/aes_cbc.cpp:26,1
    - Dst: auto::name
      Src: /src/botan/src/examples/aes_cbc.cpp:28,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/aes_cbc.cpp:28,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/aes_cbc.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 8
    functionDepth: 2
    functionLinenumber: 8
    functionLinenumberEnd: 30
    functionName: main
    functionSourceFile: /src/botan/src/examples/aes_cbc.cpp
    functionUses: 96
    functionsReached:
    - auto::set_key
    - auto::default_nonce_length
    - auto::finish
    - Botan::hex_decode_locked
    - Botan::Cipher_Mode::create_or_throw
    - auto::name
    - Botan::hex_encode
    - std::string::data
    - auto::start
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::AutoSeeded_RNG::random_vec
    - std::string::length
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/examples/hash.cpp:7,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/examples/hash.cpp:8,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/examples/hash.cpp:9,1
    - Dst: good
      Src: /src/botan/src/examples/hash.cpp:12,1
    - Dst: read
      Src: /src/botan/src/examples/hash.cpp:14,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/examples/hash.cpp:14,1
    - Dst: std::vector::data
      Src: /src/botan/src/examples/hash.cpp:14,1
    - Dst: std::vector::size
      Src: /src/botan/src/examples/hash.cpp:14,1
    - Dst: auto::update
      Src: /src/botan/src/examples/hash.cpp:17,1
    - Dst: first
      Src: /src/botan/src/examples/hash.cpp:17,1
    - Dst: auto::update
      Src: /src/botan/src/examples/hash.cpp:18,1
    - Dst: first
      Src: /src/botan/src/examples/hash.cpp:18,1
    - Dst: auto::update
      Src: /src/botan/src/examples/hash.cpp:19,1
    - Dst: first
      Src: /src/botan/src/examples/hash.cpp:19,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/hash.cpp:21,1
    - Dst: auto::final
      Src: /src/botan/src/examples/hash.cpp:21,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/hash.cpp:22,1
    - Dst: auto::final
      Src: /src/botan/src/examples/hash.cpp:22,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/hash.cpp:23,1
    - Dst: auto::final
      Src: /src/botan/src/examples/hash.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 6
    functionDepth: 4
    functionLinenumber: 6
    functionLinenumberEnd: 25
    functionName: main
    functionSourceFile: /src/botan/src/examples/hash.cpp
    functionUses: 96
    functionsReached:
    - std::vector::data
    - std::vector::size
    - good
    - read
    - auto::update
    - reinterpret_cast<char*>
    - Botan::HashFunction::create_or_throw
    - auto::final
    - Botan::hex_encode
    - first
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:13,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:14,1
    - Dst: Botan::PKCS11::Session::login
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:18,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:23,1
    - Dst: Botan::RSA_PrivateKey::get_n
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:27,1
    - Dst: Botan::RSA_PrivateKey::get_d
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:27,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_pub_exponent
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:29,1
    - Dst: Botan::RSA_PrivateKey::get_e
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:29,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_prime_1
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:30,1
    - Dst: Botan::RSA_PrivateKey::get_p
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:30,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_prime_2
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:31,1
    - Dst: Botan::RSA_PrivateKey::get_q
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:31,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_coefficient
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:32,1
    - Dst: Botan::RSA_PrivateKey::get_c
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:32,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_exponent_1
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:33,1
    - Dst: Botan::RSA_PrivateKey::get_d1
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:33,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_exponent_2
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:34,1
    - Dst: Botan::RSA_PrivateKey::get_d2
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:34,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:36,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:37,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_decrypt
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:38,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_sign
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:39,1
    - Dst: Botan::PKCS11::PKCS11_RSA_PrivateKey::export_key
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:45,1
    - Dst: Botan::PKCS11::PKCS11_RSA_PrivateKey::get_n
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:50,1
    - Dst: Botan::PKCS11::PKCS11_RSA_PrivateKey::get_e
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:50,1
    - Dst: Botan::PKCS11::RSA_PublicKeyImportProperties::set_token
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:51,1
    - Dst: Botan::PKCS11::RSA_PublicKeyImportProperties::set_encrypt
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:52,1
    - Dst: Botan::PKCS11::RSA_PublicKeyImportProperties::set_private
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:53,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:61,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:62,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_sign
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:63,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_decrypt
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:64,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_label
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:65,1
    - Dst: Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_pub_exponent
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:72,1
    - Dst: Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_label
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:73,1
    - Dst: Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:74,1
    - Dst: Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_encrypt
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:75,1
    - Dst: Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_verify
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:76,1
    - Dst: Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:77,1
    - Dst: Botan::PKCS11::generate_rsa_keypair
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:80,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:86,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:91,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:96,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 10
    functionDepth: 3
    functionLinenumber: 10
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_rsa.cpp
    functionUses: 96
    functionsReached:
    - Botan::PKCS11::PKCS11_RSA_PrivateKey::get_e
    - Botan::RSA_PrivateKey::get_p
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_prime_1
    - Botan::PKCS11::RSA_PublicKeyImportProperties::set_token
    - Botan::RSA_PrivateKey::get_d2
    - Botan::PKCS11::PKCS11_RSA_PrivateKey::export_key
    - Botan::RSA_PrivateKey::get_d
    - Botan::RSA_PrivateKey::get_e
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_private
    - Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_label
    - Botan::PKCS11::RSA_PublicKeyImportProperties::set_encrypt
    - Botan::PK_Decryptor_EME::decrypt
    - Botan::PKCS11::Session::login
    - Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_private
    - Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_pub_exponent
    - Botan::RSA_PrivateKey::get_d1
    - Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_decrypt
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_token
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_decrypt
    - std::vector::at
    - Botan::PKCS11::generate_rsa_keypair
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_pub_exponent
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_exponent_2
    - Botan::PKCS11::PKCS11_RSA_PrivateKey::get_n
    - Botan::PK_Verifier::verify_message
    - Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_sign
    - Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_label
    - Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_verify
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_exponent_1
    - Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_encrypt
    - Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_private
    - Botan::RSA_PrivateKey::get_q
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_prime_2
    - Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_token
    - Botan::PK_Signer::sign_message
    - Botan::RSA_PrivateKey::get_c
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PKCS11::RSA_PublicKeyImportProperties::set_private
    - Botan::RSA_PrivateKey::get_n
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_coefficient
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_sign
    - Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_token
    - Botan::PK_Encryptor_EME::encrypt
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - e
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 17
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 17
    functionName: power
    functionSourceFile: /src/botan/src/examples/fpe_alnum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t power(size_t b, size_t e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/botan/src/examples/fpe_alnum.cpp:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: to_radix
    functionSourceFile: /src/botan/src/examples/fpe_alnum.cpp
    functionUses: 1
    functionsReached:
    - std::invalid_argument
    linkageType: ''
    returnType: size_t
    signature: size_t to_radix(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/examples/fpe_alnum.cpp:39,1
    - Dst: std::invalid_argument
      Src: /src/botan/src/examples/fpe_alnum.cpp:40,1
    - Dst: to_radix
      Src: /src/botan/src/examples/fpe_alnum.cpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: rank
    functionSourceFile: /src/botan/src/examples/fpe_alnum.cpp
    functionUses: 3
    functionsReached:
    - std::invalid_argument
    - std::string_view::size
    - to_radix
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt rank(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/botan/src/examples/fpe_alnum.cpp:54,1
    - Dst: static_cast<char>
      Src: /src/botan/src/examples/fpe_alnum.cpp:56,1
    - Dst: std::invalid_argument
      Src: /src/botan/src/examples/fpe_alnum.cpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: from_radix
    functionSourceFile: /src/botan/src/examples/fpe_alnum.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<char>
    linkageType: ''
    returnType: char
    signature: char from_radix(size_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/botan/src/examples/fpe_alnum.cpp:68,1
    - Dst: from_radix
      Src: /src/botan/src/examples/fpe_alnum.cpp:68,1
    - Dst: std::reverse
      Src: /src/botan/src/examples/fpe_alnum.cpp:72,1
    - Dst: std::string::begin
      Src: /src/botan/src/examples/fpe_alnum.cpp:72,1
    - Dst: std::string::end
      Src: /src/botan/src/examples/fpe_alnum.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - z
    argTypes:
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: derank
    functionSourceFile: /src/botan/src/examples/fpe_alnum.cpp
    functionUses: 3
    functionsReached:
    - std::reverse
    - std::string::begin
    - from_radix
    - std::string::end
    - std::string::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string derank(Botan::BigInt z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/fpe_alnum.cpp:97,1
    - Dst: Botan::FPE_FE1::set_key
      Src: /src/botan/src/examples/fpe_alnum.cpp:100,1
    - Dst: rank
      Src: /src/botan/src/examples/fpe_alnum.cpp:111,1
    - Dst: std::string
      Src: /src/botan/src/examples/fpe_alnum.cpp:111,1
    - Dst: Botan::FPE_FE1::encrypt
      Src: /src/botan/src/examples/fpe_alnum.cpp:112,1
    - Dst: Botan::FPE_FE1::decrypt
      Src: /src/botan/src/examples/fpe_alnum.cpp:112,1
    - Dst: derank
      Src: /src/botan/src/examples/fpe_alnum.cpp:113,1
    - Dst: what
      Src: /src/botan/src/examples/fpe_alnum.cpp:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 122
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/botan/src/examples/fpe_alnum.cpp
    functionUses: 96
    functionsReached:
    - rank
    - what
    - derank
    - Botan::FPE_FE1::decrypt
    - Botan::FPE_FE1::set_key
    - Botan::hex_decode
    - std::string
    - Botan::FPE_FE1::encrypt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/examples/pwdhash.cpp:10,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/examples/pwdhash.cpp:15,1
    - Dst: auto::tune
      Src: /src/botan/src/examples/pwdhash.cpp:17,1
    - Dst: auto::to_string
      Src: /src/botan/src/examples/pwdhash.cpp:19,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/examples/pwdhash.cpp:21,1
    - Dst: auto::hash
      Src: /src/botan/src/examples/pwdhash.cpp:26,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/pwdhash.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/botan/src/examples/pwdhash.cpp
    functionUses: 96
    functionsReached:
    - auto::tune
    - Botan::PasswordHashFamily::create_or_throw
    - auto::hash
    - Botan_CLI::Timer::milliseconds
    - Botan::system_rng
    - auto::to_string
    - Botan::hex_encode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/botan/src/examples/rsa_encrypt.cpp:17,1
    - Dst: std::string_view::data
      Src: /src/botan/src/examples/rsa_encrypt.cpp:17,1
    - Dst: std::string_view::length
      Src: /src/botan/src/examples/rsa_encrypt.cpp:17,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/rsa_encrypt.cpp:18,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/examples/rsa_encrypt.cpp:22,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/examples/rsa_encrypt.cpp:26,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/examples/rsa_encrypt.cpp:30,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/rsa_encrypt.cpp:32,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/rsa_encrypt.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 35
      start: 10
    functionDepth: 4
    functionLinenumber: 10
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/botan/src/examples/rsa_encrypt.cpp
    functionUses: 96
    functionsReached:
    - std::string_view::data
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - std::string_view::length
    - Botan::PKCS8::load_key
    - Botan::PK_Decryptor_EME::decrypt
    - Botan::hex_encode
    - Botan::PK_Encryptor_EME::encrypt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_objects.cpp:14,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_objects.cpp:15,1
    - Dst: Botan::PKCS11::DataObjectProperties::DataObjectProperties
      Src: /src/botan/src/examples/pkcs11_objects.cpp:24,1
    - Dst: Botan::PKCS11::DataObjectProperties::set_label
      Src: /src/botan/src/examples/pkcs11_objects.cpp:25,1
    - Dst: Botan::PKCS11::DataObjectProperties::set_value
      Src: /src/botan/src/examples/pkcs11_objects.cpp:26,1
    - Dst: Botan::PKCS11::DataObjectProperties::set_token
      Src: /src/botan/src/examples/pkcs11_objects.cpp:27,1
    - Dst: Botan::PKCS11::DataObjectProperties::set_modifiable
      Src: /src/botan/src/examples/pkcs11_objects.cpp:28,1
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/examples/pkcs11_objects.cpp:30,1
    - Dst: Botan::PKCS11::DataObjectProperties::set_object_id
      Src: /src/botan/src/examples/pkcs11_objects.cpp:31,1
    - Dst: Botan::PKCS11::Object::get_attribute_value
      Src: /src/botan/src/examples/pkcs11_objects.cpp:37,1
    - Dst: Botan::PKCS11::Object::set_attribute_value
      Src: /src/botan/src/examples/pkcs11_objects.cpp:41,1
    - Dst: Botan::PKCS11::AttributeContainer::AttributeContainer
      Src: /src/botan/src/examples/pkcs11_objects.cpp:44,1
    - Dst: Botan::PKCS11::AttributeContainer::add_string
      Src: /src/botan/src/examples/pkcs11_objects.cpp:45,1
    - Dst: Botan::PKCS11::Object::copy
      Src: /src/botan/src/examples/pkcs11_objects.cpp:46,1
    - Dst: Botan::PKCS11::AttributeContainer::AttributeContainer
      Src: /src/botan/src/examples/pkcs11_objects.cpp:49,1
    - Dst: Botan::PKCS11::AttributeContainer::add_string
      Src: /src/botan/src/examples/pkcs11_objects.cpp:50,1
    - Dst: Botan::PKCS11::Object::search<Botan::PKCS11::Object>
      Src: /src/botan/src/examples/pkcs11_objects.cpp:51,1
    - Dst: Botan::PKCS11::AttributeContainer::attributes
      Src: /src/botan/src/examples/pkcs11_objects.cpp:51,1
    - Dst: Botan::PKCS11::Object::destroy
      Src: /src/botan/src/examples/pkcs11_objects.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 11
    functionDepth: 4
    functionLinenumber: 11
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_objects.cpp
    functionUses: 96
    functionsReached:
    - std::vector::at
    - Botan::PKCS11::AttributeContainer::attributes
    - Botan::PKCS11::DataObjectProperties::set_token
    - Botan::PKCS11::DataObjectProperties::set_modifiable
    - Botan::PKCS11::DataObjectProperties::DataObjectProperties
    - Botan::PKCS11::DataObjectProperties::set_value
    - Botan::PKCS11::AttributeContainer::AttributeContainer
    - Botan::PKCS11::Object::search<Botan::PKCS11::Object>
    - Botan::PKCS11::Object::set_attribute_value
    - Botan::DER_Encoder::DER_Encoder
    - Botan::PKCS11::Object::get_attribute_value
    - Botan::PKCS11::Object::copy
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PKCS11::DataObjectProperties::set_label
    - Botan::PKCS11::AttributeContainer::add_string
    - Botan::PKCS11::Object::destroy
    - Botan::PKCS11::DataObjectProperties::set_object_id
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/aes.cpp:7,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/aes.cpp:8,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/examples/aes.cpp:9,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/aes.cpp:10,1
    - Dst: auto::encrypt
      Src: /src/botan/src/examples/aes.cpp:11,1
    - Dst: auto::name
      Src: /src/botan/src/examples/aes.cpp:12,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/aes.cpp:12,1
    - Dst: auto::clear
      Src: /src/botan/src/examples/aes.cpp:15,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/aes.cpp:16,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/aes.cpp:17,1
    - Dst: auto::encrypt
      Src: /src/botan/src/examples/aes.cpp:18,1
    - Dst: auto::name
      Src: /src/botan/src/examples/aes.cpp:20,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/aes.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 6
    functionDepth: 5
    functionLinenumber: 6
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/botan/src/examples/aes.cpp
    functionUses: 96
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - auto::set_key
    - Botan::hex_decode_locked
    - auto::name
    - auto::encrypt
    - auto::clear
    - Botan::hex_encode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/botan/src/examples/ffi.c:27,1
    - Dst: botan_version_string
      Src: /src/botan/src/examples/ffi.c:27,1
    - Dst: botan_hash_init
      Src: /src/botan/src/examples/ffi.c:31,1
    - Dst: CHECK_RC
      Src: /src/botan/src/examples/ffi.c:32,1
    - Dst: botan_hash_update
      Src: /src/botan/src/examples/ffi.c:34,1
    - Dst: strlen
      Src: /src/botan/src/examples/ffi.c:34,1
    - Dst: CHECK_RC
      Src: /src/botan/src/examples/ffi.c:35,1
    - Dst: botan_hash_final
      Src: /src/botan/src/examples/ffi.c:37,1
    - Dst: CHECK_RC
      Src: /src/botan/src/examples/ffi.c:38,1
    - Dst: botan_hash_destroy
      Src: /src/botan/src/examples/ffi.c:40,1
    - Dst: CHECK_RC
      Src: /src/botan/src/examples/ffi.c:41,1
    - Dst: botan_hex_encode
      Src: /src/botan/src/examples/ffi.c:43,1
    - Dst: CHECK_RC
      Src: /src/botan/src/examples/ffi.c:44,1
    - Dst: printf
      Src: /src/botan/src/examples/ffi.c:46,1
    - Dst: printf
      Src: /src/botan/src/examples/ffi.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/botan/src/examples/ffi.c
    functionUses: 96
    functionsReached:
    - CHECK_RC
    - botan_hash_init
    - strlen
    - botan_hash_update
    - botan_hex_encode
    - botan_hash_destroy
    - printf
    - botan_version_string
    - botan_hash_final
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:18,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:19,1
    - Dst: Botan::PKCS11::Session::login
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:23,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:28,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:30,1
    - Dst: Botan::ECDSA_PrivateKey::DER_domain
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:33,1
    - Dst: Botan::ECDSA_PrivateKey::private_value
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:34,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:36,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:37,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_sign
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:38,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_extractable
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:39,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_label
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:43,1
    - Dst: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::export_key
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:49,1
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:55,1
    - Dst: Botan::ECDSA_PrivateKey::raw_public_key_bits
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:55,1
    - Dst: Botan::ECDSA_PrivateKey::DER_domain
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:56,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:58,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_verify
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:59,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:60,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_label
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:64,1
    - Dst: Botan::PKCS11::PKCS11_ECDSA_PublicKey::export_key
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:69,1
    - Dst: Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:73,1
    - Dst: Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:74,1
    - Dst: Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_sign
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:75,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:78,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:83,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_label
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:85,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:86,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_verify
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:87,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:88,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_modifiable
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:89,1
    - Dst: Botan::PKCS11::generate_ecdsa_keypair
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:92,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_ecdsa.cpp
    functionUses: 97
    functionsReached:
    - Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_token
    - Botan::PKCS11::PKCS11_ECDSA_PrivateKey::export_key
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_verify
    - Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_sign
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_extractable
    - Botan::PKCS11::PKCS11_ECDSA_PublicKey::export_key
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_token
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_label
    - Botan::PKCS11::generate_ecdsa_keypair
    - Botan::PKCS11::Session::login
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_private
    - Botan::DER_Encoder::DER_Encoder
    - Botan::ECDSA_PrivateKey::raw_public_key_bits
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_label
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_token
    - std::vector::at
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_sign
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_modifiable
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_private
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_label
    - Botan::ECDSA_PrivateKey::DER_domain
    - Botan::ECDSA_PrivateKey::private_value
    - Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_private
    - Botan::PK_Signer::sign_message
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_verify
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_token
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_private
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::data
      Src: /src/botan/src/examples/chacha.cpp:9,1
    - Dst: std::string::data
      Src: /src/botan/src/examples/chacha.cpp:9,1
    - Dst: std::string::length
      Src: /src/botan/src/examples/chacha.cpp:9,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/chacha.cpp:10,1
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/examples/chacha.cpp:11,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/chacha.cpp:14,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/examples/chacha.cpp:15,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/chacha.cpp:18,1
    - Dst: auto::set_iv
      Src: /src/botan/src/examples/chacha.cpp:19,1
    - Dst: auto::encipher
      Src: /src/botan/src/examples/chacha.cpp:20,1
    - Dst: auto::name
      Src: /src/botan/src/examples/chacha.cpp:22,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/chacha.cpp:22,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/chacha.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/botan/src/examples/chacha.cpp
    functionUses: 97
    functionsReached:
    - auto::set_key
    - Botan::hex_decode_locked
    - auto::name
    - Botan::StreamCipher::create_or_throw
    - Botan::hex_encode
    - std::string::data
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - auto::encipher
    - auto::set_iv
    - Botan::AutoSeeded_RNG::random_vec
    - std::string::length
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/check_key.cpp:9,1
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/examples/check_key.cpp:10,1
    - Dst: auto::check_key
      Src: /src/botan/src/examples/check_key.cpp:11,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 7
    functionDepth: 2
    functionLinenumber: 7
    functionLinenumberEnd: 17
    functionName: main
    functionSourceFile: /src/botan/src/examples/check_key.cpp
    functionUses: 97
    functionsReached:
    - auto::check_key
    - Botan::X509_Certificate::subject_public_key
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_core.c:42,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_core.c:43,1
    - Dst: err_get_code
      Src: /src/relic/test/test_core.c:44,1
    - Dst: core_clean
      Src: /src/relic/test/test_core.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: master
    functionSourceFile: /src/relic/test/test_core.c
    functionUses: 0
    functionsReached:
    - RLC_THROW
    - core_init
    - err_get_code
    - core_clean
    linkageType: ''
    returnType: void
    signature: void *master(void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_core.c:55,1
    - Dst: err_get_code
      Src: /src/relic/test/test_core.c:56,1
    - Dst: core_clean
      Src: /src/relic/test/test_core.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: tester
    functionSourceFile: /src/relic/test/test_core.c
    functionUses: 0
    functionsReached:
    - core_init
    - err_get_code
    - core_clean
    linkageType: ''
    returnType: void
    signature: void *tester(void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_core.c:72,1
    - Dst: core_clean
      Src: /src/relic/test/test_core.c:73,1
    - Dst: util_banner
      Src: /src/relic/test/test_core.c:77,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_core.c:79,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_core.c:80,1
    - Dst: core_get
      Src: /src/relic/test/test_core.c:80,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_core.c:83,1
    - Dst: core_get
      Src: /src/relic/test/test_core.c:86,1
    - Dst: core_set
      Src: /src/relic/test/test_core.c:88,1
    - Dst: core_init
      Src: /src/relic/test/test_core.c:90,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_core.c:92,1
    - Dst: core_set
      Src: /src/relic/test/test_core.c:93,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_core.c:94,1
    - Dst: err_get_code
      Src: /src/relic/test/test_core.c:94,1
    - Dst: core_set
      Src: /src/relic/test/test_core.c:95,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_core.c:96,1
    - Dst: err_get_code
      Src: /src/relic/test/test_core.c:96,1
    - Dst: core_clean
      Src: /src/relic/test/test_core.c:98,1
    - Dst: core_set
      Src: /src/relic/test/test_core.c:100,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_core.c:107,1
    - Dst: omp_set_num_threads
      Src: /src/relic/test/test_core.c:108,1
    - Dst: omp_get_thread_num
      Src: /src/relic/test/test_core.c:111,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_core.c:112,1
    - Dst: err_get_code
      Src: /src/relic/test/test_core.c:113,1
    - Dst: core_init
      Src: /src/relic/test/test_core.c:117,1
    - Dst: err_get_code
      Src: /src/relic/test/test_core.c:118,1
    - Dst: core_clean
      Src: /src/relic/test/test_core.c:121,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_core.c:124,1
    - Dst: core_clean
      Src: /src/relic/test/test_core.c:126,1
    - Dst: core_init
      Src: /src/relic/test/test_core.c:127,1
    - Dst: core_get
      Src: /src/relic/test/test_core.c:130,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_core.c:134,1
    - Dst: core_clean
      Src: /src/relic/test/test_core.c:135,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_core.c:140,1
    - Dst: pthread_create
      Src: /src/relic/test/test_core.c:145,1
    - Dst: pthread_create
      Src: /src/relic/test/test_core.c:149,1
    - Dst: pthread_join
      Src: /src/relic/test/test_core.c:159,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_core.c:163,1
    - Dst: util_banner
      Src: /src/relic/test/test_core.c:168,1
    - Dst: core_clean
      Src: /src/relic/test/test_core.c:170,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 172
    functionName: main
    functionSourceFile: /src/relic/test/test_core.c
    functionUses: 97
    functionsReached:
    - util_banner
    - TEST_ONCE
    - pthread_create
    - core_clean
    - RLC_THROW
    - TEST_ASSERT
    - pthread_join
    - core_init
    - err_get_code
    - omp_get_thread_num
    - omp_set_num_threads
    - core_get
    - core_set
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dummy2
      Src: /src/relic/test/test_err.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: dummy
    functionSourceFile: /src/relic/test/test_err.c
    functionUses: 0
    functionsReached:
    - dummy2
    linkageType: ''
    returnType: void
    signature: void dummy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dummy
      Src: /src/relic/test/test_err.c:52,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_err.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: dummy2
    functionSourceFile: /src/relic/test/test_err.c
    functionUses: 1
    functionsReached:
    - RLC_THROW
    - dummy
    linkageType: ''
    returnType: void
    signature: void dummy2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_err.c:61,1
    - Dst: bn_new
      Src: /src/relic/test/test_err.c:64,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_err.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: dummy3
    functionSourceFile: /src/relic/test/test_err.c
    functionUses: 0
    functionsReached:
    - RLC_THROW
    - bn_new
    - bn_null
    linkageType: ''
    returnType: void
    signature: void dummy3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dummy3
      Src: /src/relic/test/test_err.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: dummy4
    functionSourceFile: /src/relic/test/test_err.c
    functionUses: 0
    functionsReached:
    - dummy3
    linkageType: ''
    returnType: void
    signature: void dummy4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_err.c:88,1
    - Dst: core_clean
      Src: /src/relic/test/test_err.c:89,1
    - Dst: util_banner
      Src: /src/relic/test/test_err.c:93,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_err.c:95,1
    - Dst: dummy
      Src: /src/relic/test/test_err.c:96,1
    - Dst: err_get_code
      Src: /src/relic/test/test_err.c:97,1
    - Dst: err_get_msg
      Src: /src/relic/test/test_err.c:98,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_err.c:99,1
    - Dst: core_get
      Src: /src/relic/test/test_err.c:99,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_err.c:100,1
    - Dst: err_get_code
      Src: /src/relic/test/test_err.c:100,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_err.c:106,1
    - Dst: dummy
      Src: /src/relic/test/test_err.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 117
    functionName: main
    functionSourceFile: /src/relic/test/test_err.c
    functionUses: 97
    functionsReached:
    - util_banner
    - TEST_ONCE
    - core_clean
    - err_get_msg
    - TEST_ASSERT
    - dummy
    - core_init
    - err_get_code
    - core_get
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_free
      Src: /src/relic/test/test_err.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: RLC_CATCH
    functionSourceFile: /src/relic/test/test_err.c
    functionUses: 0
    functionsReached:
    - bn_free
    linkageType: ''
    returnType: void
    signature: void RLC_CATCH(e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_free
      Src: /src/relic/test/test_err.c:147,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_err.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: RLC_CATCH
    functionSourceFile: /src/relic/test/test_err.c
    functionUses: 0
    functionsReached:
    - RLC_ERROR
    - bn_free
    linkageType: ''
    returnType: void
    signature: void RLC_CATCH(e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa_null
      Src: /src/relic/test/test_cp.c:45,1
    - Dst: rsa_null
      Src: /src/relic/test/test_cp.c:46,1
    - Dst: rsa_new
      Src: /src/relic/test/test_cp.c:49,1
    - Dst: rsa_new
      Src: /src/relic/test/test_cp.c:50,1
    - Dst: cp_rsa_gen
      Src: /src/relic/test/test_cp.c:52,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:54,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:55,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_cp.c:58,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:59,1
    - Dst: cp_rsa_enc
      Src: /src/relic/test/test_cp.c:59,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:60,1
    - Dst: cp_rsa_dec
      Src: /src/relic/test/test_cp.c:60,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:61,1
    - Dst: memcmp
      Src: /src/relic/test/test_cp.c:61,1
    - Dst: cp_rsa_gen
      Src: /src/relic/test/test_cp.c:64,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:66,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:67,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_cp.c:70,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:71,1
    - Dst: cp_rsa_sig
      Src: /src/relic/test/test_cp.c:71,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:72,1
    - Dst: cp_rsa_ver
      Src: /src/relic/test/test_cp.c:72,1
    - Dst: md_map
      Src: /src/relic/test/test_cp.c:73,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:74,1
    - Dst: cp_rsa_sig
      Src: /src/relic/test/test_cp.c:74,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:75,1
    - Dst: cp_rsa_ver
      Src: /src/relic/test/test_cp.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 77
    functionName: rsa
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 1
    functionsReached:
    - rsa_null
    - TEST_CASE
    - rsa_new
    - cp_rsa_sig
    - cp_rsa_gen
    - TEST_ASSERT
    - cp_rsa_enc
    - rand_bytes
    - cp_rsa_dec
    - cp_rsa_ver
    - memcmp
    - md_map
    linkageType: ''
    returnType: int
    signature: int rsa(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rabin_null
      Src: /src/relic/test/test_cp.c:96,1
    - Dst: rabin_null
      Src: /src/relic/test/test_cp.c:97,1
    - Dst: rabin_new
      Src: /src/relic/test/test_cp.c:100,1
    - Dst: rabin_new
      Src: /src/relic/test/test_cp.c:101,1
    - Dst: cp_rabin_gen
      Src: /src/relic/test/test_cp.c:103,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:105,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:106,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_cp.c:109,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:110,1
    - Dst: cp_rabin_enc
      Src: /src/relic/test/test_cp.c:110,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:112,1
    - Dst: cp_rabin_dec
      Src: /src/relic/test/test_cp.c:112,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:114,1
    - Dst: memcmp
      Src: /src/relic/test/test_cp.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: rabin
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - cp_rabin_enc
    - TEST_CASE
    - TEST_ASSERT
    - cp_rabin_dec
    - rabin_null
    - rand_bytes
    - memcmp
    - cp_rabin_gen
    - rabin_new
    linkageType: ''
    returnType: int
    signature: int rabin(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:137,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:138,1
    - Dst: bdpe_null
      Src: /src/relic/test/test_cp.c:139,1
    - Dst: bdpe_null
      Src: /src/relic/test/test_cp.c:140,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:143,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:144,1
    - Dst: bdpe_new
      Src: /src/relic/test/test_cp.c:145,1
    - Dst: bdpe_new
      Src: /src/relic/test/test_cp.c:146,1
    - Dst: cp_bdpe_gen
      Src: /src/relic/test/test_cp.c:148,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:150,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:151,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_cp.c:153,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:155,1
    - Dst: cp_bdpe_enc
      Src: /src/relic/test/test_cp.c:155,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:156,1
    - Dst: cp_bdpe_dec
      Src: /src/relic/test/test_cp.c:156,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:157,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:160,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:161,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_cp.c:163,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:165,1
    - Dst: cp_bdpe_enc
      Src: /src/relic/test/test_cp.c:165,1
    - Dst: bn_read_bin
      Src: /src/relic/test/test_cp.c:166,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_cp.c:167,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:170,1
    - Dst: cp_bdpe_enc
      Src: /src/relic/test/test_cp.c:170,1
    - Dst: bn_read_bin
      Src: /src/relic/test/test_cp.c:171,1
    - Dst: bn_mul
      Src: /src/relic/test/test_cp.c:172,1
    - Dst: bn_mod
      Src: /src/relic/test/test_cp.c:173,1
    - Dst: bn_size_bin
      Src: /src/relic/test/test_cp.c:174,1
    - Dst: bn_write_bin
      Src: /src/relic/test/test_cp.c:175,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:176,1
    - Dst: cp_bdpe_dec
      Src: /src/relic/test/test_cp.c:176,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 179
    functionName: benaloh
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - cp_bdpe_enc
    - bn_mul
    - bn_null
    - TEST_CASE
    - bn_mod
    - bn_read_bin
    - TEST_ASSERT
    - bdpe_null
    - bn_new
    - cp_bdpe_dec
    - bn_size_bin
    - bn_write_bin
    - rand_bytes
    - bdpe_new
    - cp_bdpe_gen
    linkageType: ''
    returnType: int
    signature: int benaloh(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:198,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:199,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:200,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:201,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:202,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:203,1
    - Dst: phpe_null
      Src: /src/relic/test/test_cp.c:204,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:207,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:208,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:209,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:210,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:211,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:212,1
    - Dst: phpe_new
      Src: /src/relic/test/test_cp.c:213,1
    - Dst: cp_phpe_gen
      Src: /src/relic/test/test_cp.c:215,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:217,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:218,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:219,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:220,1
    - Dst: cp_phpe_enc
      Src: /src/relic/test/test_cp.c:220,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:221,1
    - Dst: cp_phpe_dec
      Src: /src/relic/test/test_cp.c:221,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:222,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_cp.c:222,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:226,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:227,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:228,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:229,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:230,1
    - Dst: cp_phpe_enc
      Src: /src/relic/test/test_cp.c:230,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:231,1
    - Dst: cp_phpe_enc
      Src: /src/relic/test/test_cp.c:231,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:232,1
    - Dst: cp_phpe_add
      Src: /src/relic/test/test_cp.c:232,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:233,1
    - Dst: cp_phpe_dec
      Src: /src/relic/test/test_cp.c:233,1
    - Dst: bn_add
      Src: /src/relic/test/test_cp.c:234,1
    - Dst: bn_mod
      Src: /src/relic/test/test_cp.c:235,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:236,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_cp.c:236,1
    - Dst: cp_ghpe_gen
      Src: /src/relic/test/test_cp.c:241,1
    - Dst: util_print
      Src: /src/relic/test/test_cp.c:242,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:243,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:244,1
    - Dst: bn_rand
      Src: /src/relic/test/test_cp.c:245,1
    - Dst: bn_bits
      Src: /src/relic/test/test_cp.c:245,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:246,1
    - Dst: cp_ghpe_enc
      Src: /src/relic/test/test_cp.c:246,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:247,1
    - Dst: cp_ghpe_dec
      Src: /src/relic/test/test_cp.c:247,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:248,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_cp.c:248,1
    - Dst: util_print
      Src: /src/relic/test/test_cp.c:251,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:252,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:253,1
    - Dst: bn_rand
      Src: /src/relic/test/test_cp.c:254,1
    - Dst: bn_bits
      Src: /src/relic/test/test_cp.c:254,1
    - Dst: bn_rand
      Src: /src/relic/test/test_cp.c:255,1
    - Dst: bn_bits
      Src: /src/relic/test/test_cp.c:255,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:256,1
    - Dst: cp_ghpe_enc
      Src: /src/relic/test/test_cp.c:256,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:257,1
    - Dst: cp_ghpe_enc
      Src: /src/relic/test/test_cp.c:257,1
    - Dst: bn_mul
      Src: /src/relic/test/test_cp.c:258,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_cp.c:259,1
    - Dst: bn_mul
      Src: /src/relic/test/test_cp.c:261,1
    - Dst: bn_mod
      Src: /src/relic/test/test_cp.c:263,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:264,1
    - Dst: cp_ghpe_dec
      Src: /src/relic/test/test_cp.c:264,1
    - Dst: bn_add
      Src: /src/relic/test/test_cp.c:265,1
    - Dst: bn_copy
      Src: /src/relic/test/test_cp.c:266,1
    - Dst: bn_mul
      Src: /src/relic/test/test_cp.c:268,1
    - Dst: bn_mod
      Src: /src/relic/test/test_cp.c:270,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:271,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_cp.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 275
    functionName: paillier
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - phpe_new
    - util_print
    - bn_sqr
    - bn_cmp
    - cp_phpe_add
    - bn_mul
    - bn_null
    - bn_mod
    - cp_phpe_dec
    - bn_rand
    - phpe_null
    - TEST_CASE
    - bn_rand_mod
    - cp_ghpe_gen
    - bn_new
    - cp_ghpe_enc
    - bn_add
    - cp_ghpe_dec
    - TEST_ASSERT
    - bn_bits
    - cp_phpe_enc
    - cp_phpe_gen
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int paillier(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:299,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:300,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:301,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:302,1
    - Dst: shpe_null
      Src: /src/relic/test/test_cp.c:303,1
    - Dst: shpe_null
      Src: /src/relic/test/test_cp.c:304,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:307,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:308,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:309,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:310,1
    - Dst: shpe_new
      Src: /src/relic/test/test_cp.c:311,1
    - Dst: shpe_new
      Src: /src/relic/test/test_cp.c:312,1
    - Dst: cp_shpe_gen
      Src: /src/relic/test/test_cp.c:315,1
    - Dst: util_print
      Src: /src/relic/test/test_cp.c:317,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:318,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:319,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:320,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:321,1
    - Dst: cp_shpe_enc
      Src: /src/relic/test/test_cp.c:321,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:322,1
    - Dst: cp_shpe_dec
      Src: /src/relic/test/test_cp.c:322,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:323,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_cp.c:323,1
    - Dst: util_print
      Src: /src/relic/test/test_cp.c:327,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:328,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:329,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:330,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:331,1
    - Dst: cp_shpe_enc_prv
      Src: /src/relic/test/test_cp.c:331,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:332,1
    - Dst: cp_shpe_dec
      Src: /src/relic/test/test_cp.c:332,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:333,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_cp.c:333,1
    - Dst: util_print
      Src: /src/relic/test/test_cp.c:337,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:338,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:339,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:340,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:341,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:342,1
    - Dst: cp_shpe_enc
      Src: /src/relic/test/test_cp.c:342,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:343,1
    - Dst: cp_shpe_enc
      Src: /src/relic/test/test_cp.c:343,1
    - Dst: bn_mul
      Src: /src/relic/test/test_cp.c:344,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_cp.c:345,1
    - Dst: bn_mod
      Src: /src/relic/test/test_cp.c:346,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:347,1
    - Dst: cp_shpe_dec
      Src: /src/relic/test/test_cp.c:347,1
    - Dst: bn_add
      Src: /src/relic/test/test_cp.c:348,1
    - Dst: bn_mod
      Src: /src/relic/test/test_cp.c:349,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:350,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_cp.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 354
    functionName: subgroup_paillier
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - bn_mul
    - bn_null
    - cp_shpe_enc_prv
    - util_print
    - cp_shpe_gen
    - TEST_CASE
    - cp_shpe_enc
    - bn_sqr
    - shpe_null
    - shpe_new
    - TEST_ASSERT
    - bn_rand_mod
    - bn_cmp
    - bn_mod
    - bn_new
    - cp_shpe_dec
    - bn_add
    linkageType: ''
    returnType: int
    signature: int subgroup_paillier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:432,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:433,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:434,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:435,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:438,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:439,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:440,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:441,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:443,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:444,1
    - Dst: cp_ecdh_gen
      Src: /src/relic/test/test_cp.c:444,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:445,1
    - Dst: cp_ecdh_gen
      Src: /src/relic/test/test_cp.c:445,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:446,1
    - Dst: cp_ecdh_key
      Src: /src/relic/test/test_cp.c:446,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:447,1
    - Dst: cp_ecdh_key
      Src: /src/relic/test/test_cp.c:447,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:448,1
    - Dst: memcmp
      Src: /src/relic/test/test_cp.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 450
    functionName: ecdh
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 2
    functionsReached:
    - bn_null
    - TEST_CASE
    - TEST_ASSERT
    - bn_new
    - ec_null
    - ec_new
    - cp_ecdh_gen
    - memcmp
    - cp_ecdh_key
    linkageType: ''
    returnType: int
    signature: int ecdh(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:472,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:473,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:474,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:475,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:476,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:477,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:478,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:479,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:482,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:483,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:484,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:485,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:486,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:487,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:488,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:489,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:491,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:492,1
    - Dst: cp_ecmqv_gen
      Src: /src/relic/test/test_cp.c:492,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:493,1
    - Dst: cp_ecmqv_gen
      Src: /src/relic/test/test_cp.c:493,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:494,1
    - Dst: cp_ecmqv_gen
      Src: /src/relic/test/test_cp.c:494,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:495,1
    - Dst: cp_ecmqv_gen
      Src: /src/relic/test/test_cp.c:495,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:496,1
    - Dst: cp_ecmqv_key
      Src: /src/relic/test/test_cp.c:496,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:498,1
    - Dst: cp_ecmqv_key
      Src: /src/relic/test/test_cp.c:498,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:500,1
    - Dst: memcmp
      Src: /src/relic/test/test_cp.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 502
    functionName: ecmqv
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - bn_null
    - TEST_CASE
    - TEST_ASSERT
    - bn_new
    - ec_null
    - cp_ecmqv_gen
    - cp_ecmqv_key
    - ec_new
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ecmqv(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:528,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:529,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:530,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:531,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:532,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:535,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:536,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:537,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:538,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:539,1
    - Dst: ec_param_level
      Src: /src/relic/test/test_cp.c:541,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:543,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:544,1
    - Dst: cp_ecies_gen
      Src: /src/relic/test/test_cp.c:544,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_cp.c:547,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:548,1
    - Dst: cp_ecies_enc
      Src: /src/relic/test/test_cp.c:548,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:550,1
    - Dst: cp_ecies_dec
      Src: /src/relic/test/test_cp.c:550,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:552,1
    - Dst: memcmp
      Src: /src/relic/test/test_cp.c:552,1
    - Dst: ec_param_get
      Src: /src/relic/test/test_cp.c:560,1
    - Dst: ASSIGNP
      Src: /src/relic/test/test_cp.c:564,1
    - Dst: memcpy
      Src: /src/relic/test/test_cp.c:565,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_cp.c:576,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:580,1
    - Dst: ec_on_curve
      Src: /src/relic/test/test_cp.c:580,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:581,1
    - Dst: ec_on_curve
      Src: /src/relic/test/test_cp.c:581,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:583,1
    - Dst: cp_ecies_dec
      Src: /src/relic/test/test_cp.c:583,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:585,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:586,1
    - Dst: memcmp
      Src: /src/relic/test/test_cp.c:586,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:588,1
    - Dst: cp_ecies_dec
      Src: /src/relic/test/test_cp.c:588,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:590,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:591,1
    - Dst: memcmp
      Src: /src/relic/test/test_cp.c:591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 596
    functionName: ecies
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - ec_param_get
    - rand_bytes
    - TEST_ONCE
    - bn_null
    - cp_ecies_enc
    - TEST_CASE
    - ASSIGNP
    - ec_on_curve
    - TEST_ASSERT
    - memcpy
    - cp_ecies_gen
    - bn_new
    - ec_null
    - cp_ecies_dec
    - ec_param_level
    - ec_new
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ecies(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:617,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:618,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:619,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:620,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:623,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:624,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:625,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:626,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:628,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:629,1
    - Dst: cp_ecdsa_gen
      Src: /src/relic/test/test_cp.c:629,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:630,1
    - Dst: cp_ecdsa_sig
      Src: /src/relic/test/test_cp.c:630,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:631,1
    - Dst: cp_ecdsa_ver
      Src: /src/relic/test/test_cp.c:631,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:633,1
    - Dst: cp_ecdsa_ver
      Src: /src/relic/test/test_cp.c:633,1
    - Dst: md_map
      Src: /src/relic/test/test_cp.c:634,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:635,1
    - Dst: cp_ecdsa_sig
      Src: /src/relic/test/test_cp.c:635,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:636,1
    - Dst: cp_ecdsa_ver
      Src: /src/relic/test/test_cp.c:636,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:638,1
    - Dst: cp_ecdsa_ver
      Src: /src/relic/test/test_cp.c:638,1
    - Dst: memset
      Src: /src/relic/test/test_cp.c:639,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:640,1
    - Dst: cp_ecdsa_ver
      Src: /src/relic/test/test_cp.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 643
    functionName: ecdsa
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 1
    functionsReached:
    - bn_null
    - TEST_CASE
    - cp_ecdsa_gen
    - memset
    - TEST_ASSERT
    - cp_ecdsa_ver
    - cp_ecdsa_sig
    - bn_new
    - ec_null
    - ec_new
    - md_map
    linkageType: ''
    returnType: int
    signature: int ecdsa(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:663,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:664,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:665,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:668,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:669,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:670,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:672,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:673,1
    - Dst: cp_ecss_gen
      Src: /src/relic/test/test_cp.c:673,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:674,1
    - Dst: cp_ecss_sig
      Src: /src/relic/test/test_cp.c:674,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:675,1
    - Dst: cp_ecss_ver
      Src: /src/relic/test/test_cp.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 678
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 678
    functionName: ecss
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - bn_null
    - cp_ecss_gen
    - TEST_CASE
    - TEST_ASSERT
    - cp_ecss_ver
    - bn_new
    - ec_null
    - cp_ecss_sig
    - ec_new
    linkageType: ''
    returnType: int
    signature: int ecss(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:702,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:703,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:704,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:705,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:706,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:707,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:708,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:709,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:710,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:713,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:714,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:715,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:716,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:717,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:718,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:719,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:720,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:721,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:723,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:724,1
    - Dst: cp_vbnn_gen
      Src: /src/relic/test/test_cp.c:724,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:725,1
    - Dst: cp_vbnn_gen_prv
      Src: /src/relic/test/test_cp.c:725,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:726,1
    - Dst: cp_vbnn_gen_prv
      Src: /src/relic/test/test_cp.c:726,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:727,1
    - Dst: cp_vbnn_sig
      Src: /src/relic/test/test_cp.c:727,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:728,1
    - Dst: cp_vbnn_ver
      Src: /src/relic/test/test_cp.c:728,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:729,1
    - Dst: cp_vbnn_ver
      Src: /src/relic/test/test_cp.c:729,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:730,1
    - Dst: cp_vbnn_sig
      Src: /src/relic/test/test_cp.c:730,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:731,1
    - Dst: cp_vbnn_ver
      Src: /src/relic/test/test_cp.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 734
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 734
    functionName: vbnn
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - cp_vbnn_ver
    - cp_vbnn_gen_prv
    - bn_null
    - TEST_CASE
    - TEST_ASSERT
    - cp_vbnn_gen
    - bn_new
    - ec_null
    - cp_vbnn_sig
    - ec_new
    linkageType: ''
    returnType: int
    signature: int vbnn(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:758,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:759,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:762,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:763,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:765,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:766,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:767,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:768,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:769,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:770,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/test/test_cp.c:772,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:774,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:775,1
    - Dst: ec_mul_gen
      Src: /src/relic/test/test_cp.c:776,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:777,1
    - Dst: cp_pokdl_prv
      Src: /src/relic/test/test_cp.c:777,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:778,1
    - Dst: cp_pokdl_ver
      Src: /src/relic/test/test_cp.c:778,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_cp.c:779,1
    - Dst: ec_norm
      Src: /src/relic/test/test_cp.c:780,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:781,1
    - Dst: cp_pokdl_ver
      Src: /src/relic/test/test_cp.c:781,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:784,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:785,1
    - Dst: ec_rand
      Src: /src/relic/test/test_cp.c:787,1
    - Dst: ec_mul_gen
      Src: /src/relic/test/test_cp.c:788,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_cp.c:789,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:790,1
    - Dst: cp_pokor_prv
      Src: /src/relic/test/test_cp.c:790,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:791,1
    - Dst: cp_pokor_ver
      Src: /src/relic/test/test_cp.c:791,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_cp.c:792,1
    - Dst: ec_norm
      Src: /src/relic/test/test_cp.c:793,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:794,1
    - Dst: cp_pokor_ver
      Src: /src/relic/test/test_cp.c:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 796
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 796
    functionName: pok
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - ec_mul_gen
    - cp_pokdl_prv
    - ec_rand
    - bn_null
    - ec_dbl
    - TEST_CASE
    - cp_pokor_ver
    - TEST_ASSERT
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_null
    - ec_new
    - cp_pokdl_ver
    - ec_cmp
    - ec_norm
    - cp_pokor_prv
    linkageType: ''
    returnType: int
    signature: int pok(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:819,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:820,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:823,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:824,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:826,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:827,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:828,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:829,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:830,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:831,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:832,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:833,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/test/test_cp.c:835,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:837,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:838,1
    - Dst: ec_mul_gen
      Src: /src/relic/test/test_cp.c:839,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:840,1
    - Dst: cp_sokdl_sig
      Src: /src/relic/test/test_cp.c:840,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:841,1
    - Dst: cp_sokdl_ver
      Src: /src/relic/test/test_cp.c:841,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_cp.c:842,1
    - Dst: ec_norm
      Src: /src/relic/test/test_cp.c:843,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:844,1
    - Dst: cp_sokdl_ver
      Src: /src/relic/test/test_cp.c:844,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:847,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:848,1
    - Dst: ec_rand
      Src: /src/relic/test/test_cp.c:850,1
    - Dst: ec_mul_gen
      Src: /src/relic/test/test_cp.c:851,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_cp.c:852,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:853,1
    - Dst: cp_sokor_sig
      Src: /src/relic/test/test_cp.c:853,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:854,1
    - Dst: cp_sokor_ver
      Src: /src/relic/test/test_cp.c:854,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_cp.c:855,1
    - Dst: ec_norm
      Src: /src/relic/test/test_cp.c:856,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:857,1
    - Dst: cp_sokor_ver
      Src: /src/relic/test/test_cp.c:857,1
    - Dst: ec_mul_gen
      Src: /src/relic/test/test_cp.c:859,1
    - Dst: ec_rand
      Src: /src/relic/test/test_cp.c:860,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_cp.c:861,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:862,1
    - Dst: cp_sokor_sig
      Src: /src/relic/test/test_cp.c:862,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:863,1
    - Dst: cp_sokor_ver
      Src: /src/relic/test/test_cp.c:863,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_cp.c:864,1
    - Dst: ec_norm
      Src: /src/relic/test/test_cp.c:865,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:866,1
    - Dst: cp_sokor_ver
      Src: /src/relic/test/test_cp.c:866,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/test/test_cp.c:868,1
    - Dst: ec_rand
      Src: /src/relic/test/test_cp.c:869,1
    - Dst: ec_rand
      Src: /src/relic/test/test_cp.c:870,1
    - Dst: ec_mul
      Src: /src/relic/test/test_cp.c:871,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_cp.c:872,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:873,1
    - Dst: cp_sokor_sig
      Src: /src/relic/test/test_cp.c:873,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:874,1
    - Dst: cp_sokor_ver
      Src: /src/relic/test/test_cp.c:874,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_cp.c:875,1
    - Dst: ec_norm
      Src: /src/relic/test/test_cp.c:876,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:877,1
    - Dst: cp_sokor_ver
      Src: /src/relic/test/test_cp.c:877,1
    - Dst: ec_rand
      Src: /src/relic/test/test_cp.c:879,1
    - Dst: ec_mul
      Src: /src/relic/test/test_cp.c:880,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/test/test_cp.c:881,1
    - Dst: ec_rand
      Src: /src/relic/test/test_cp.c:882,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_cp.c:883,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:884,1
    - Dst: cp_sokor_sig
      Src: /src/relic/test/test_cp.c:884,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:885,1
    - Dst: cp_sokor_ver
      Src: /src/relic/test/test_cp.c:885,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_cp.c:886,1
    - Dst: ec_norm
      Src: /src/relic/test/test_cp.c:887,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:888,1
    - Dst: cp_sokor_ver
      Src: /src/relic/test/test_cp.c:888,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 890
    functionName: sok
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - bn_null
    - ec_cmp
    - ec_mul
    - TEST_CASE
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_mul_gen
    - ec_rand
    - ec_dbl
    - cp_sokdl_ver
    - cp_sokdl_sig
    - TEST_ASSERT
    - ec_null
    - cp_sokor_sig
    - ec_curve_get_gen
    - ec_new
    - cp_sokor_ver
    - ec_norm
    linkageType: ''
    returnType: int
    signature: int sok(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:916,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:917,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:920,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:921,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:923,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:924,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:925,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:926,1
    - Dst: ers_null
      Src: /src/relic/test/test_cp.c:927,1
    - Dst: ers_new
      Src: /src/relic/test/test_cp.c:928,1
    - Dst: cp_ers_gen_key
      Src: /src/relic/test/test_cp.c:929,1
    - Dst: cp_ers_gen
      Src: /src/relic/test/test_cp.c:932,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:934,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:935,1
    - Dst: cp_ers_sig
      Src: /src/relic/test/test_cp.c:935,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:936,1
    - Dst: cp_ers_ver
      Src: /src/relic/test/test_cp.c:936,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:937,1
    - Dst: cp_ers_ver
      Src: /src/relic/test/test_cp.c:937,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:940,1
    - Dst: cp_ers_ext
      Src: /src/relic/test/test_cp.c:940,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:941,1
    - Dst: cp_ers_ver
      Src: /src/relic/test/test_cp.c:941,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:942,1
    - Dst: cp_ers_ver
      Src: /src/relic/test/test_cp.c:942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 945
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 945
    functionName: ers
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 157
    functionsReached:
    - cp_ers_sig
    - bn_null
    - TEST_CASE
    - ers_new
    - ers_null
    - TEST_ASSERT
    - cp_ers_ext
    - cp_ers_gen_key
    - bn_new
    - ec_null
    - ec_new
    - cp_ers_ver
    - cp_ers_gen
    linkageType: ''
    returnType: int
    signature: int ers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:970,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:971,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:974,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:975,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:977,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:978,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:979,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:980,1
    - Dst: smlers_null
      Src: /src/relic/test/test_cp.c:981,1
    - Dst: smlers_new
      Src: /src/relic/test/test_cp.c:982,1
    - Dst: cp_ers_gen_key
      Src: /src/relic/test/test_cp.c:983,1
    - Dst: cp_ers_gen
      Src: /src/relic/test/test_cp.c:986,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:988,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:989,1
    - Dst: cp_smlers_sig
      Src: /src/relic/test/test_cp.c:989,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:990,1
    - Dst: cp_smlers_ver
      Src: /src/relic/test/test_cp.c:990,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:991,1
    - Dst: cp_smlers_ver
      Src: /src/relic/test/test_cp.c:991,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:994,1
    - Dst: cp_smlers_ext
      Src: /src/relic/test/test_cp.c:994,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:995,1
    - Dst: cp_smlers_ver
      Src: /src/relic/test/test_cp.c:995,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:996,1
    - Dst: cp_smlers_ver
      Src: /src/relic/test/test_cp.c:996,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:997,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_cp.c:997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 1000
    functionName: smlers
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - bn_null
    - ec_cmp
    - TEST_CASE
    - TEST_ASSERT
    - cp_smlers_ver
    - cp_ers_gen_key
    - cp_smlers_ext
    - bn_new
    - ec_null
    - smlers_new
    - smlers_null
    - ec_new
    - cp_ers_gen
    - cp_smlers_sig
    linkageType: ''
    returnType: int
    signature: int smlers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:1025,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:1028,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1030,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1031,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1032,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1033,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1034,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1035,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:1036,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:1037,1
    - Dst: etrs_null
      Src: /src/relic/test/test_cp.c:1038,1
    - Dst: etrs_new
      Src: /src/relic/test/test_cp.c:1039,1
    - Dst: cp_ers_gen_key
      Src: /src/relic/test/test_cp.c:1040,1
    - Dst: cp_ers_gen
      Src: /src/relic/test/test_cp.c:1043,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1045,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1046,1
    - Dst: cp_etrs_sig
      Src: /src/relic/test/test_cp.c:1046,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1047,1
    - Dst: cp_etrs_ver
      Src: /src/relic/test/test_cp.c:1047,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1048,1
    - Dst: cp_etrs_ver
      Src: /src/relic/test/test_cp.c:1048,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1049,1
    - Dst: cp_etrs_ver
      Src: /src/relic/test/test_cp.c:1049,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1052,1
    - Dst: cp_etrs_ext
      Src: /src/relic/test/test_cp.c:1052,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1053,1
    - Dst: cp_etrs_ver
      Src: /src/relic/test/test_cp.c:1053,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1054,1
    - Dst: cp_etrs_ver
      Src: /src/relic/test/test_cp.c:1054,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1055,1
    - Dst: cp_etrs_ver
      Src: /src/relic/test/test_cp.c:1055,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1058,1
    - Dst: cp_etrs_sig
      Src: /src/relic/test/test_cp.c:1058,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1060,1
    - Dst: cp_etrs_uni
      Src: /src/relic/test/test_cp.c:1060,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1061,1
    - Dst: cp_etrs_ver
      Src: /src/relic/test/test_cp.c:1061,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1062,1
    - Dst: cp_etrs_ver
      Src: /src/relic/test/test_cp.c:1062,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1063,1
    - Dst: cp_etrs_ver
      Src: /src/relic/test/test_cp.c:1063,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1065,1
    - Dst: cp_etrs_ext
      Src: /src/relic/test/test_cp.c:1065,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1066,1
    - Dst: cp_etrs_ver
      Src: /src/relic/test/test_cp.c:1066,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1067,1
    - Dst: cp_etrs_ver
      Src: /src/relic/test/test_cp.c:1067,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1068,1
    - Dst: cp_etrs_ver
      Src: /src/relic/test/test_cp.c:1068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1071
    functionName: etrs
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - etrs_new
    - bn_null
    - TEST_CASE
    - etrs_null
    - TEST_ASSERT
    - cp_ers_gen_key
    - bn_new
    - ec_null
    - cp_etrs_ver
    - cp_etrs_ext
    - ec_new
    - cp_etrs_sig
    - cp_etrs_uni
    - cp_ers_gen
    linkageType: ''
    returnType: int
    signature: int etrs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1094,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1095,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1096,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1097,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:1098,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:1099,1
    - Dst: ec_null
      Src: /src/relic/test/test_cp.c:1100,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1103,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1104,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1105,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1106,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:1107,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:1108,1
    - Dst: ec_new
      Src: /src/relic/test/test_cp.c:1109,1
    - Dst: ec_rand
      Src: /src/relic/test/test_cp.c:1111,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/test/test_cp.c:1112,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1114,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:1115,1
    - Dst: bn_zero
      Src: /src/relic/test/test_cp.c:1116,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1117,1
    - Dst: cp_ped_com
      Src: /src/relic/test/test_cp.c:1117,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:1119,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_cp.c:1120,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1121,1
    - Dst: cp_ped_com
      Src: /src/relic/test/test_cp.c:1121,1
    - Dst: cp_ped_com
      Src: /src/relic/test/test_cp.c:1123,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1124,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_cp.c:1124,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1127,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:1128,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:1129,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:1131,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_cp.c:1132,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1133,1
    - Dst: cp_ped_com
      Src: /src/relic/test/test_cp.c:1133,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1134,1
    - Dst: cp_ped_com
      Src: /src/relic/test/test_cp.c:1134,1
    - Dst: ec_add
      Src: /src/relic/test/test_cp.c:1135,1
    - Dst: ec_norm
      Src: /src/relic/test/test_cp.c:1136,1
    - Dst: bn_add
      Src: /src/relic/test/test_cp.c:1137,1
    - Dst: bn_mod
      Src: /src/relic/test/test_cp.c:1138,1
    - Dst: bn_dbl
      Src: /src/relic/test/test_cp.c:1139,1
    - Dst: bn_mod
      Src: /src/relic/test/test_cp.c:1140,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1141,1
    - Dst: cp_ped_com
      Src: /src/relic/test/test_cp.c:1141,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1142,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_cp.c:1142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1145
    functionName: pedersen
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - ec_rand
    - bn_null
    - bn_zero
    - TEST_CASE
    - cp_ped_com
    - bn_mod
    - ec_add
    - TEST_ASSERT
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_null
    - ec_new
    - bn_is_zero
    - ec_cmp
    - bn_add
    - bn_dbl
    - ec_norm
    linkageType: ''
    returnType: int
    signature: int pedersen(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1172,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1173,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1174,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1175,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1176,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1177,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1178,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1179,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1180,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1181,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1182,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1183,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1184,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1185,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1186,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1187,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1188,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1191,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1192,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1193,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1194,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1195,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1196,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1197,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1198,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1199,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1200,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1201,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1202,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1203,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1204,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1205,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1206,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1207,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1209,1
    - Dst: g1_rand
      Src: /src/relic/test/test_cp.c:1210,1
    - Dst: g2_rand
      Src: /src/relic/test/test_cp.c:1211,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1212,1
    - Dst: cp_cades_ask
      Src: /src/relic/test/test_cp.c:1212,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1213,1
    - Dst: cp_cades_ans
      Src: /src/relic/test/test_cp.c:1213,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1214,1
    - Dst: cp_cades_ver
      Src: /src/relic/test/test_cp.c:1214,1
    - Dst: pc_map
      Src: /src/relic/test/test_cp.c:1215,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1216,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_cp.c:1216,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1219,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1220,1
    - Dst: cp_pdpub_gen
      Src: /src/relic/test/test_cp.c:1220,1
    - Dst: g1_rand
      Src: /src/relic/test/test_cp.c:1221,1
    - Dst: g2_rand
      Src: /src/relic/test/test_cp.c:1222,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1223,1
    - Dst: cp_pdpub_ask
      Src: /src/relic/test/test_cp.c:1223,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1224,1
    - Dst: cp_pdpub_ans
      Src: /src/relic/test/test_cp.c:1224,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1225,1
    - Dst: cp_pdpub_ver
      Src: /src/relic/test/test_cp.c:1225,1
    - Dst: pc_map
      Src: /src/relic/test/test_cp.c:1226,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1227,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_cp.c:1227,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1230,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1231,1
    - Dst: cp_lvpub_gen
      Src: /src/relic/test/test_cp.c:1231,1
    - Dst: g1_rand
      Src: /src/relic/test/test_cp.c:1232,1
    - Dst: g2_rand
      Src: /src/relic/test/test_cp.c:1233,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1234,1
    - Dst: cp_lvpub_ask
      Src: /src/relic/test/test_cp.c:1234,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1235,1
    - Dst: cp_lvpub_ans
      Src: /src/relic/test/test_cp.c:1235,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1236,1
    - Dst: cp_lvpub_ver
      Src: /src/relic/test/test_cp.c:1236,1
    - Dst: pc_map
      Src: /src/relic/test/test_cp.c:1237,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1238,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_cp.c:1238,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1241,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1242,1
    - Dst: cp_amore_gen
      Src: /src/relic/test/test_cp.c:1242,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1243,1
    - Dst: cp_amore_ask
      Src: /src/relic/test/test_cp.c:1243,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1244,1
    - Dst: cp_amore_ans
      Src: /src/relic/test/test_cp.c:1244,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1245,1
    - Dst: cp_amore_ver
      Src: /src/relic/test/test_cp.c:1245,1
    - Dst: pc_map
      Src: /src/relic/test/test_cp.c:1246,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1247,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_cp.c:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1249
    functionName: pdpub
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - cp_lvpub_ver
    - cp_pdpub_gen
    - gt_new
    - g2_null
    - cp_lvpub_ans
    - bn_null
    - cp_cades_ask
    - cp_lvpub_gen
    - cp_pdpub_ask
    - cp_lvpub_ask
    - gt_null
    - cp_amore_ans
    - TEST_CASE
    - cp_pdpub_ver
    - pc_map
    - g2_rand
    - bn_new
    - gt_cmp
    - cp_amore_ask
    - g2_new
    - g1_rand
    - cp_amore_gen
    - TEST_ASSERT
    - g1_new
    - g1_null
    - cp_cades_ver
    - cp_cades_ans
    - cp_amore_ver
    - cp_pdpub_ans
    linkageType: ''
    returnType: int
    signature: int pdpub(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1282,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1283,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1284,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1285,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1287,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1288,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1289,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1292,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1293,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1296,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1297,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1298,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1302,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1303,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1304,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1305,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1307,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1308,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1309,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1312,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1313,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1316,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1317,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1318,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1321,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1322,1
    - Dst: cp_pdprv_gen
      Src: /src/relic/test/test_cp.c:1322,1
    - Dst: g1_rand
      Src: /src/relic/test/test_cp.c:1323,1
    - Dst: g2_rand
      Src: /src/relic/test/test_cp.c:1324,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1325,1
    - Dst: cp_pdprv_ask
      Src: /src/relic/test/test_cp.c:1325,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1326,1
    - Dst: cp_pdprv_ans
      Src: /src/relic/test/test_cp.c:1326,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1327,1
    - Dst: cp_pdprv_ver
      Src: /src/relic/test/test_cp.c:1327,1
    - Dst: pc_map
      Src: /src/relic/test/test_cp.c:1328,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1329,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_cp.c:1329,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1332,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1333,1
    - Dst: cp_lvprv_gen
      Src: /src/relic/test/test_cp.c:1333,1
    - Dst: g1_rand
      Src: /src/relic/test/test_cp.c:1334,1
    - Dst: g2_rand
      Src: /src/relic/test/test_cp.c:1335,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1336,1
    - Dst: cp_lvprv_ask
      Src: /src/relic/test/test_cp.c:1336,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1337,1
    - Dst: cp_lvprv_ans
      Src: /src/relic/test/test_cp.c:1337,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1338,1
    - Dst: cp_lvprv_ver
      Src: /src/relic/test/test_cp.c:1338,1
    - Dst: pc_map
      Src: /src/relic/test/test_cp.c:1339,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1340,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_cp.c:1340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1342
    functionName: pdprv
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - cp_pdprv_gen
    - gt_new
    - g2_null
    - bn_null
    - cp_pdprv_ver
    - cp_lvprv_ver
    - gt_null
    - cp_lvprv_ask
    - TEST_CASE
    - pc_map
    - g2_rand
    - bn_new
    - gt_cmp
    - cp_pdprv_ask
    - g1_rand
    - cp_pdprv_ans
    - cp_lvprv_ans
    - TEST_ASSERT
    - g1_new
    - g1_null
    - g2_new
    - cp_lvprv_gen
    linkageType: ''
    returnType: int
    signature: int pdprv(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1378,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1379,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1380,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1381,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1382,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1383,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1384,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1387,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1388,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1389,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1390,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1391,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1392,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1393,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1395,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1396,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1397,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1398,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1399,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1400,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1401,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1402,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1403,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1404,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1405,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1406,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1407,1
    - Dst: g1_rand
      Src: /src/relic/test/test_cp.c:1408,1
    - Dst: g2_rand
      Src: /src/relic/test/test_cp.c:1409,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1410,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1411,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1412,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1413,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1414,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1416,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1417,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1418,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1419,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1421,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1422,1
    - Dst: cp_pdbat_gen
      Src: /src/relic/test/test_cp.c:1422,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1423,1
    - Dst: cp_pdbat_ask
      Src: /src/relic/test/test_cp.c:1423,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1424,1
    - Dst: cp_pdbat_ans
      Src: /src/relic/test/test_cp.c:1424,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1425,1
    - Dst: cp_pdbat_ver
      Src: /src/relic/test/test_cp.c:1425,1
    - Dst: pc_map
      Src: /src/relic/test/test_cp.c:1427,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1428,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_cp.c:1428,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1432,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1433,1
    - Dst: cp_mvbat_gen
      Src: /src/relic/test/test_cp.c:1433,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1434,1
    - Dst: cp_mvbat_ask
      Src: /src/relic/test/test_cp.c:1434,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1435,1
    - Dst: cp_mvbat_ans
      Src: /src/relic/test/test_cp.c:1435,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1436,1
    - Dst: cp_mvbat_ver
      Src: /src/relic/test/test_cp.c:1436,1
    - Dst: pc_map
      Src: /src/relic/test/test_cp.c:1438,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1439,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_cp.c:1439,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1443,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1444,1
    - Dst: cp_amore_gen
      Src: /src/relic/test/test_cp.c:1444,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1445,1
    - Dst: cp_amore_ask
      Src: /src/relic/test/test_cp.c:1445,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1446,1
    - Dst: cp_amore_ans
      Src: /src/relic/test/test_cp.c:1446,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1447,1
    - Dst: cp_amore_ver
      Src: /src/relic/test/test_cp.c:1447,1
    - Dst: pc_map
      Src: /src/relic/test/test_cp.c:1448,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1449,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_cp.c:1449,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1450,1
    - Dst: cp_amore_gen
      Src: /src/relic/test/test_cp.c:1450,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1451,1
    - Dst: cp_amore_ask
      Src: /src/relic/test/test_cp.c:1451,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1452,1
    - Dst: cp_amore_ans
      Src: /src/relic/test/test_cp.c:1452,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1453,1
    - Dst: cp_amore_ver
      Src: /src/relic/test/test_cp.c:1453,1
    - Dst: pc_map
      Src: /src/relic/test/test_cp.c:1455,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1456,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_cp.c:1456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1459
    functionName: pdbat
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - cp_pdbat_ans
    - cp_pdbat_ask
    - gt_new
    - g2_null
    - bn_null
    - cp_mvbat_gen
    - cp_pdbat_gen
    - gt_null
    - cp_pdbat_ver
    - cp_amore_ans
    - TEST_CASE
    - cp_mvbat_ask
    - pc_map
    - g2_rand
    - bn_new
    - gt_cmp
    - cp_amore_ask
    - g1_rand
    - cp_amore_gen
    - cp_mvbat_ans
    - TEST_ASSERT
    - g1_new
    - g1_null
    - cp_mvbat_ver
    - g2_new
    - cp_amore_ver
    linkageType: ''
    returnType: int
    signature: int pdbat(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sokaka_null
      Src: /src/relic/test/test_cp.c:1496,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1497,1
    - Dst: sokaka_new
      Src: /src/relic/test/test_cp.c:1500,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1501,1
    - Dst: cp_sokaka_gen
      Src: /src/relic/test/test_cp.c:1503,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1505,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1506,1
    - Dst: cp_sokaka_gen_prv
      Src: /src/relic/test/test_cp.c:1506,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1507,1
    - Dst: cp_sokaka_key
      Src: /src/relic/test/test_cp.c:1507,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1508,1
    - Dst: cp_sokaka_gen_prv
      Src: /src/relic/test/test_cp.c:1508,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1509,1
    - Dst: cp_sokaka_key
      Src: /src/relic/test/test_cp.c:1509,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1510,1
    - Dst: memcmp
      Src: /src/relic/test/test_cp.c:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1513
    functionName: sokaka
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - bn_null
    - TEST_CASE
    - cp_sokaka_gen_prv
    - TEST_ASSERT
    - sokaka_new
    - bn_new
    - cp_sokaka_gen
    - cp_sokaka_key
    - memcmp
    - sokaka_null
    linkageType: ''
    returnType: int
    signature: int sokaka(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1534,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1535,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1536,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1539,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1540,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1541,1
    - Dst: cp_ibe_gen
      Src: /src/relic/test/test_cp.c:1543,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1545,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1546,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_cp.c:1549,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1550,1
    - Dst: cp_ibe_gen_prv
      Src: /src/relic/test/test_cp.c:1550,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1551,1
    - Dst: cp_ibe_enc
      Src: /src/relic/test/test_cp.c:1551,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1552,1
    - Dst: cp_ibe_dec
      Src: /src/relic/test/test_cp.c:1552,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1553,1
    - Dst: memcmp
      Src: /src/relic/test/test_cp.c:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1555
    functionName: ibe
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - g2_null
    - bn_null
    - TEST_CASE
    - TEST_ASSERT
    - g1_new
    - g1_null
    - cp_ibe_enc
    - bn_new
    - cp_ibe_dec
    - rand_bytes
    - cp_ibe_gen
    - g2_new
    - memcmp
    - cp_ibe_gen_prv
    linkageType: ''
    returnType: int
    signature: int ibe(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1575,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1576,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1577,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1578,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1579,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1580,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1581,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1582,1
    - Dst: bgn_null
      Src: /src/relic/test/test_cp.c:1583,1
    - Dst: bgn_null
      Src: /src/relic/test/test_cp.c:1584,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1587,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1588,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1589,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1590,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1591,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1592,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1593,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1594,1
    - Dst: bgn_new
      Src: /src/relic/test/test_cp.c:1595,1
    - Dst: bgn_new
      Src: /src/relic/test/test_cp.c:1596,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1598,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1599,1
    - Dst: cp_bgn_gen
      Src: /src/relic/test/test_cp.c:1602,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1604,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1605,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_cp.c:1607,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1610,1
    - Dst: cp_bgn_enc1
      Src: /src/relic/test/test_cp.c:1610,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1611,1
    - Dst: cp_bgn_dec1
      Src: /src/relic/test/test_cp.c:1611,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1612,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1613,1
    - Dst: cp_bgn_enc2
      Src: /src/relic/test/test_cp.c:1613,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1614,1
    - Dst: cp_bgn_dec2
      Src: /src/relic/test/test_cp.c:1614,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1615,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1618,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_cp.c:1619,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1622,1
    - Dst: cp_bgn_enc1
      Src: /src/relic/test/test_cp.c:1622,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1623,1
    - Dst: cp_bgn_enc1
      Src: /src/relic/test/test_cp.c:1623,1
    - Dst: g1_add
      Src: /src/relic/test/test_cp.c:1624,1
    - Dst: g1_add
      Src: /src/relic/test/test_cp.c:1625,1
    - Dst: g1_norm
      Src: /src/relic/test/test_cp.c:1626,1
    - Dst: g1_norm
      Src: /src/relic/test/test_cp.c:1627,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1628,1
    - Dst: cp_bgn_dec1
      Src: /src/relic/test/test_cp.c:1628,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1629,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1630,1
    - Dst: cp_bgn_enc2
      Src: /src/relic/test/test_cp.c:1630,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1631,1
    - Dst: cp_bgn_enc2
      Src: /src/relic/test/test_cp.c:1631,1
    - Dst: g2_add
      Src: /src/relic/test/test_cp.c:1632,1
    - Dst: g2_add
      Src: /src/relic/test/test_cp.c:1633,1
    - Dst: g2_norm
      Src: /src/relic/test/test_cp.c:1634,1
    - Dst: g2_norm
      Src: /src/relic/test/test_cp.c:1635,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1636,1
    - Dst: cp_bgn_dec2
      Src: /src/relic/test/test_cp.c:1636,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1637,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1640,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_cp.c:1641,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1644,1
    - Dst: cp_bgn_enc1
      Src: /src/relic/test/test_cp.c:1644,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1645,1
    - Dst: cp_bgn_enc2
      Src: /src/relic/test/test_cp.c:1645,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1646,1
    - Dst: cp_bgn_enc1
      Src: /src/relic/test/test_cp.c:1646,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1647,1
    - Dst: cp_bgn_enc2
      Src: /src/relic/test/test_cp.c:1647,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1649,1
    - Dst: cp_bgn_mul
      Src: /src/relic/test/test_cp.c:1649,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1650,1
    - Dst: cp_bgn_dec
      Src: /src/relic/test/test_cp.c:1650,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1651,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1652,1
    - Dst: cp_bgn_mul
      Src: /src/relic/test/test_cp.c:1652,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1653,1
    - Dst: cp_bgn_dec
      Src: /src/relic/test/test_cp.c:1653,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1654,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1655,1
    - Dst: cp_bgn_add
      Src: /src/relic/test/test_cp.c:1655,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1656,1
    - Dst: cp_bgn_dec
      Src: /src/relic/test/test_cp.c:1656,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1660
    functionName: bgn
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - bgn_null
    - cp_bgn_add
    - bgn_new
    - cp_bgn_gen
    - g1_add
    - gt_new
    - g2_null
    - cp_bgn_mul
    - cp_bgn_dec1
    - g1_norm
    - cp_bgn_enc1
    - gt_null
    - TEST_CASE
    - cp_bgn_enc2
    - g2_norm
    - cp_bgn_dec
    - cp_bgn_dec2
    - g2_add
    - TEST_ASSERT
    - g1_new
    - g1_null
    - rand_bytes
    - g2_new
    linkageType: ''
    returnType: int
    signature: int bgn(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1692,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1693,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1694,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1695,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1696,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1699,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1700,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1701,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1702,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1703,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1705,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1706,1
    - Dst: cp_bls_gen
      Src: /src/relic/test/test_cp.c:1706,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1707,1
    - Dst: cp_bls_sig
      Src: /src/relic/test/test_cp.c:1707,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1708,1
    - Dst: cp_bls_ver
      Src: /src/relic/test/test_cp.c:1708,1
    - Dst: memset
      Src: /src/relic/test/test_cp.c:1710,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_cp.c:1711,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1712,1
    - Dst: cp_bls_ver
      Src: /src/relic/test/test_cp.c:1712,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1716,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1717,1
    - Dst: cp_bls_gen
      Src: /src/relic/test/test_cp.c:1717,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1718,1
    - Dst: cp_bls_sig
      Src: /src/relic/test/test_cp.c:1718,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1719,1
    - Dst: cp_bls_gen
      Src: /src/relic/test/test_cp.c:1719,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1720,1
    - Dst: cp_bls_sig
      Src: /src/relic/test/test_cp.c:1720,1
    - Dst: g1_add
      Src: /src/relic/test/test_cp.c:1721,1
    - Dst: g2_add
      Src: /src/relic/test/test_cp.c:1722,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1723,1
    - Dst: cp_bls_ver
      Src: /src/relic/test/test_cp.c:1723,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1727,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:1728,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_cp.c:1729,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1730,1
    - Dst: cp_bls_gen
      Src: /src/relic/test/test_cp.c:1730,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1731,1
    - Dst: cp_bls_sig
      Src: /src/relic/test/test_cp.c:1731,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1732,1
    - Dst: cp_bls_agg_sig
      Src: /src/relic/test/test_cp.c:1732,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1733,1
    - Dst: cp_bls_gen
      Src: /src/relic/test/test_cp.c:1733,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1734,1
    - Dst: cp_bls_sig
      Src: /src/relic/test/test_cp.c:1734,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1735,1
    - Dst: cp_bls_agg_sig
      Src: /src/relic/test/test_cp.c:1735,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1736,1
    - Dst: cp_bls_ver
      Src: /src/relic/test/test_cp.c:1736,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:1737,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_cp.c:1738,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1739,1
    - Dst: cp_bls_gen
      Src: /src/relic/test/test_cp.c:1739,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1740,1
    - Dst: cp_bls_sig
      Src: /src/relic/test/test_cp.c:1740,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1741,1
    - Dst: cp_bls_gen
      Src: /src/relic/test/test_cp.c:1741,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1742,1
    - Dst: cp_bls_sig
      Src: /src/relic/test/test_cp.c:1742,1
    - Dst: g1_add
      Src: /src/relic/test/test_cp.c:1743,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1744,1
    - Dst: cp_bls_agg_ver
      Src: /src/relic/test/test_cp.c:1744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1747
    functionName: bls
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - g2_null
    - g2_set_infty
    - bn_null
    - cp_bls_gen
    - TEST_CASE
    - memset
    - g2_add
    - TEST_ASSERT
    - g1_set_infty
    - cp_bls_agg_sig
    - g1_new
    - g1_null
    - cp_bls_ver
    - bn_new
    - cp_bls_sig
    - cp_bls_agg_ver
    - g2_new
    - g1_add
    linkageType: ''
    returnType: int
    signature: int bls(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1770,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1771,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1772,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:1773,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1776,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1777,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1778,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:1779,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1781,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1782,1
    - Dst: cp_bbs_gen
      Src: /src/relic/test/test_cp.c:1782,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1783,1
    - Dst: cp_bbs_sig
      Src: /src/relic/test/test_cp.c:1783,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1784,1
    - Dst: cp_bbs_ver
      Src: /src/relic/test/test_cp.c:1784,1
    - Dst: md_map
      Src: /src/relic/test/test_cp.c:1785,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1786,1
    - Dst: cp_bbs_sig
      Src: /src/relic/test/test_cp.c:1786,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1787,1
    - Dst: cp_bbs_ver
      Src: /src/relic/test/test_cp.c:1787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1762
    functionDepth: 1
    functionLinenumber: 1762
    functionLinenumberEnd: 1790
    functionName: bbs
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - cp_bbs_ver
    - g2_null
    - cp_bbs_sig
    - bn_null
    - TEST_CASE
    - TEST_ASSERT
    - g1_new
    - g1_null
    - bn_new
    - g2_new
    - cp_bbs_gen
    - md_map
    - gt_new
    - gt_null
    linkageType: ''
    returnType: int
    signature: int bbs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1813,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1814,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1815,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1816,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1817,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1818,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1819,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1820,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1821,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1822,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1823,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1824,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1826,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1827,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1828,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1829,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1833,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1834,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1835,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1836,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1837,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1838,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1839,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1840,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1841,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1842,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1843,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1844,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1846,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1847,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1848,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1849,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1852,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1853,1
    - Dst: cp_cls_gen
      Src: /src/relic/test/test_cp.c:1853,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1854,1
    - Dst: cp_cls_sig
      Src: /src/relic/test/test_cp.c:1854,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1855,1
    - Dst: cp_cls_ver
      Src: /src/relic/test/test_cp.c:1855,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:1857,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:1858,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:1859,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1860,1
    - Dst: cp_cls_ver
      Src: /src/relic/test/test_cp.c:1860,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1864,1
    - Dst: bn_rand
      Src: /src/relic/test/test_cp.c:1865,1
    - Dst: pc_param_level
      Src: /src/relic/test/test_cp.c:1865,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1866,1
    - Dst: cp_cli_gen
      Src: /src/relic/test/test_cp.c:1866,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1867,1
    - Dst: cp_cli_sig
      Src: /src/relic/test/test_cp.c:1867,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1869,1
    - Dst: cp_cli_ver
      Src: /src/relic/test/test_cp.c:1869,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:1872,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:1873,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:1874,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:1875,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:1876,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1877,1
    - Dst: cp_cli_ver
      Src: /src/relic/test/test_cp.c:1877,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1881,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1882,1
    - Dst: cp_clb_gen
      Src: /src/relic/test/test_cp.c:1882,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1883,1
    - Dst: cp_clb_sig
      Src: /src/relic/test/test_cp.c:1883,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1885,1
    - Dst: cp_clb_ver
      Src: /src/relic/test/test_cp.c:1885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1804
    functionDepth: 1
    functionLinenumber: 1804
    functionLinenumberEnd: 1889
    functionName: cls
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - cp_cls_sig
    - cp_clb_gen
    - cp_cli_sig
    - g2_null
    - bn_null
    - cp_cls_ver
    - cp_cls_gen
    - pc_param_level
    - bn_rand
    - cp_cli_ver
    - TEST_CASE
    - bn_new
    - cp_clb_sig
    - g1_set_infty
    - TEST_ASSERT
    - g1_new
    - g1_null
    - cp_cli_gen
    - g2_new
    - cp_clb_ver
    linkageType: ''
    returnType: int
    signature: int cls(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1923,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1924,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1925,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1926,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:1927,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1928,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1929,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1930,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1933,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1934,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1935,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1936,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:1937,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1938,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1939,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1940,1
    - Dst: g1_get_ord
      Src: /src/relic/test/test_cp.c:1942,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1945,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:1946,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:1947,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1948,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:1949,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:1950,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:1951,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1954,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1955,1
    - Dst: cp_pss_gen
      Src: /src/relic/test/test_cp.c:1955,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1956,1
    - Dst: cp_pss_sig
      Src: /src/relic/test/test_cp.c:1956,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1957,1
    - Dst: cp_pss_ver
      Src: /src/relic/test/test_cp.c:1957,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:1959,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:1960,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1961,1
    - Dst: cp_pss_ver
      Src: /src/relic/test/test_cp.c:1961,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:1965,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1966,1
    - Dst: cp_psb_gen
      Src: /src/relic/test/test_cp.c:1966,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1967,1
    - Dst: cp_psb_sig
      Src: /src/relic/test/test_cp.c:1967,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:1968,1
    - Dst: cp_psb_ver
      Src: /src/relic/test/test_cp.c:1968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1917
    functionDepth: 1
    functionLinenumber: 1917
    functionLinenumberEnd: 1971
    functionName: pss
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - g2_null
    - cp_pss_gen
    - bn_null
    - cp_pss_sig
    - TEST_CASE
    - g1_set_infty
    - cp_psb_gen
    - TEST_ASSERT
    - bn_rand_mod
    - g1_new
    - g1_null
    - cp_pss_ver
    - bn_new
    - cp_psb_ver
    - cp_psb_sig
    - g2_new
    - g1_get_ord
    linkageType: ''
    returnType: int
    signature: int pss(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2005,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2006,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2007,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2010,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2011,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2012,1
    - Dst: g1_get_ord
      Src: /src/relic/test/test_cp.c:2013,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2015,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2016,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2017,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2018,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2019,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2020,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:2021,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:2022,1
    - Dst: mt_null
      Src: /src/relic/test/test_cp.c:2023,1
    - Dst: mt_null
      Src: /src/relic/test/test_cp.c:2024,1
    - Dst: mt_null
      Src: /src/relic/test/test_cp.c:2025,1
    - Dst: pt_null
      Src: /src/relic/test/test_cp.c:2026,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2027,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:2028,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2029,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2030,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2031,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2032,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2033,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:2034,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:2035,1
    - Dst: mt_new
      Src: /src/relic/test/test_cp.c:2036,1
    - Dst: mt_new
      Src: /src/relic/test/test_cp.c:2037,1
    - Dst: mt_new
      Src: /src/relic/test/test_cp.c:2038,1
    - Dst: pt_new
      Src: /src/relic/test/test_cp.c:2039,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2041,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2042,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2043,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2044,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:2045,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2046,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2047,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:2051,1
    - Dst: pc_map_tri
      Src: /src/relic/test/test_cp.c:2052,1
    - Dst: mpc_mt_gen
      Src: /src/relic/test/test_cp.c:2053,1
    - Dst: mpc_mt_gen
      Src: /src/relic/test/test_cp.c:2054,1
    - Dst: mpc_mt_gen
      Src: /src/relic/test/test_cp.c:2055,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_cp.c:2056,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_cp.c:2057,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_cp.c:2058,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_cp.c:2059,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2064,1
    - Dst: cp_mpss_gen
      Src: /src/relic/test/test_cp.c:2064,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2065,1
    - Dst: cp_mpss_bct
      Src: /src/relic/test/test_cp.c:2065,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2067,1
    - Dst: cp_mpss_sig
      Src: /src/relic/test/test_cp.c:2067,1
    - Dst: cp_mpss_ver
      Src: /src/relic/test/test_cp.c:2069,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2070,1
    - Dst: gt_is_unity
      Src: /src/relic/test/test_cp.c:2070,1
    - Dst: bn_add
      Src: /src/relic/test/test_cp.c:2072,1
    - Dst: bn_mod
      Src: /src/relic/test/test_cp.c:2073,1
    - Dst: g1_add
      Src: /src/relic/test/test_cp.c:2074,1
    - Dst: g1_norm
      Src: /src/relic/test/test_cp.c:2075,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2076,1
    - Dst: cp_pss_ver
      Src: /src/relic/test/test_cp.c:2076,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:2080,1
    - Dst: g1_get_ord
      Src: /src/relic/test/test_cp.c:2081,1
    - Dst: pc_map_tri
      Src: /src/relic/test/test_cp.c:2082,1
    - Dst: mpc_mt_gen
      Src: /src/relic/test/test_cp.c:2083,1
    - Dst: mpc_mt_gen
      Src: /src/relic/test/test_cp.c:2084,1
    - Dst: mpc_mt_gen
      Src: /src/relic/test/test_cp.c:2085,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_cp.c:2086,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_cp.c:2087,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_cp.c:2088,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_cp.c:2089,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2094,1
    - Dst: cp_mpsb_gen
      Src: /src/relic/test/test_cp.c:2094,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2095,1
    - Dst: cp_mpsb_bct
      Src: /src/relic/test/test_cp.c:2095,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2097,1
    - Dst: cp_mpsb_sig
      Src: /src/relic/test/test_cp.c:2097,1
    - Dst: cp_mpsb_ver
      Src: /src/relic/test/test_cp.c:2099,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2100,1
    - Dst: gt_is_unity
      Src: /src/relic/test/test_cp.c:2100,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_cp.c:2101,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_cp.c:2102,1
    - Dst: cp_mpsb_ver
      Src: /src/relic/test/test_cp.c:2103,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2104,1
    - Dst: gt_is_unity
      Src: /src/relic/test/test_cp.c:2104,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_cp.c:2105,1
    - Dst: cp_mpsb_ver
      Src: /src/relic/test/test_cp.c:2106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2107,1
    - Dst: gt_is_unity
      Src: /src/relic/test/test_cp.c:2107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 1996
    functionDepth: 1
    functionLinenumber: 1996
    functionLinenumberEnd: 2110
    functionName: mpss
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - cp_mpss_bct
    - cp_mpsb_sig
    - mt_new
    - bn_sub_dig
    - cp_mpss_ver
    - g1_add
    - gt_new
    - pc_map_tri
    - g1_get_ord
    - g2_null
    - bn_null
    - cp_mpss_gen
    - bn_mod
    - cp_mpss_sig
    - cp_pss_ver
    - g1_norm
    - cp_mpsb_ver
    - pt_null
    - mt_null
    - gt_null
    - TEST_CASE
    - mpc_mt_gen
    - bn_rand_mod
    - bn_new
    - gt_exp_gen
    - bn_add
    - cp_mpsb_bct
    - pt_new
    - TEST_ASSERT
    - cp_mpsb_gen
    - g1_new
    - g1_null
    - gt_is_unity
    - g2_new
    linkageType: ''
    returnType: int
    signature: int mpss(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2152,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2153,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2154,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:2155,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2158,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2159,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2160,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:2161,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:2163,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2164,1
    - Dst: cp_zss_gen
      Src: /src/relic/test/test_cp.c:2164,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2165,1
    - Dst: cp_zss_sig
      Src: /src/relic/test/test_cp.c:2165,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2166,1
    - Dst: cp_zss_ver
      Src: /src/relic/test/test_cp.c:2166,1
    - Dst: md_map
      Src: /src/relic/test/test_cp.c:2167,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2168,1
    - Dst: cp_zss_sig
      Src: /src/relic/test/test_cp.c:2168,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2169,1
    - Dst: cp_zss_ver
      Src: /src/relic/test/test_cp.c:2169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2144
    functionDepth: 1
    functionLinenumber: 2144
    functionLinenumberEnd: 2172
    functionName: zss
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - g2_null
    - bn_null
    - cp_zss_gen
    - TEST_CASE
    - cp_zss_sig
    - TEST_ASSERT
    - g1_new
    - g1_null
    - bn_new
    - g2_new
    - cp_zss_ver
    - md_map
    - gt_new
    - gt_null
    linkageType: ''
    returnType: int
    signature: int zss(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2204,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2205,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2206,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2207,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2208,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:2209,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2212,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2213,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2214,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2215,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2216,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:2217,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/test/test_cp.c:2220,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:2222,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:2223,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2226,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2227,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2228,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2229,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2230,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2231,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2232,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2233,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2234,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2235,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2236,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2237,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2239,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2240,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2241,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2242,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2243,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2244,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2245,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2246,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2248,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2249,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2250,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2251,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2252,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2253,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2254,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2255,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/test/test_cp.c:2260,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_cp.c:2263,1
    - Dst: RLC_MASK
      Src: /src/relic/test/test_cp.c:2264,1
    - Dst: g1_get_ord
      Src: /src/relic/test/test_cp.c:2270,1
    - Dst: cp_cmlhs_init
      Src: /src/relic/test/test_cp.c:2271,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:2273,1
    - Dst: cp_cmlhs_gen
      Src: /src/relic/test/test_cp.c:2277,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:2283,1
    - Dst: cp_cmlhs_sig
      Src: /src/relic/test/test_cp.c:2284,1
    - Dst: cp_cmlhs_fun
      Src: /src/relic/test/test_cp.c:2291,1
    - Dst: cp_cmlhs_evl
      Src: /src/relic/test/test_cp.c:2294,1
    - Dst: cp_cmlhs_evl
      Src: /src/relic/test/test_cp.c:2296,1
    - Dst: g1_add
      Src: /src/relic/test/test_cp.c:2297,1
    - Dst: g2_add
      Src: /src/relic/test/test_cp.c:2298,1
    - Dst: g1_norm
      Src: /src/relic/test/test_cp.c:2300,1
    - Dst: g2_norm
      Src: /src/relic/test/test_cp.c:2301,1
    - Dst: bn_zero
      Src: /src/relic/test/test_cp.c:2303,1
    - Dst: bn_mul_dig
      Src: /src/relic/test/test_cp.c:2306,1
    - Dst: bn_add
      Src: /src/relic/test/test_cp.c:2307,1
    - Dst: bn_mod
      Src: /src/relic/test/test_cp.c:2308,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2312,1
    - Dst: cp_cmlhs_ver
      Src: /src/relic/test/test_cp.c:2312,1
    - Dst: cp_cmlhs_off
      Src: /src/relic/test/test_cp.c:2315,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2317,1
    - Dst: cp_cmlhs_onv
      Src: /src/relic/test/test_cp.c:2317,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:2322,1
    - Dst: cp_mklhs_gen
      Src: /src/relic/test/test_cp.c:2324,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:2327,1
    - Dst: cp_mklhs_sig
      Src: /src/relic/test/test_cp.c:2328,1
    - Dst: cp_mklhs_fun
      Src: /src/relic/test/test_cp.c:2333,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_cp.c:2336,1
    - Dst: cp_mklhs_evl
      Src: /src/relic/test/test_cp.c:2338,1
    - Dst: g1_add
      Src: /src/relic/test/test_cp.c:2339,1
    - Dst: g1_norm
      Src: /src/relic/test/test_cp.c:2341,1
    - Dst: bn_zero
      Src: /src/relic/test/test_cp.c:2343,1
    - Dst: bn_mul_dig
      Src: /src/relic/test/test_cp.c:2346,1
    - Dst: bn_add
      Src: /src/relic/test/test_cp.c:2347,1
    - Dst: bn_mod
      Src: /src/relic/test/test_cp.c:2348,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2352,1
    - Dst: cp_mklhs_ver
      Src: /src/relic/test/test_cp.c:2352,1
    - Dst: cp_mklhs_off
      Src: /src/relic/test/test_cp.c:2355,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2357,1
    - Dst: cp_mklhs_onv
      Src: /src/relic/test/test_cp.c:2357,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2190
    functionDepth: 1
    functionLinenumber: 2190
    functionLinenumberEnd: 2360
    functionName: lhs
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - cp_cmlhs_evl
    - cp_cmlhs_init
    - RLC_ALLOCA
    - g1_add
    - cp_mklhs_off
    - g1_get_ord
    - gt_new
    - RLC_MASK
    - g2_null
    - bn_null
    - bn_mod
    - cp_cmlhs_fun
    - cp_mklhs_onv
    - g1_norm
    - cp_cmlhs_sig
    - gt_null
    - cp_mklhs_ver
    - cp_cmlhs_ver
    - TEST_CASE
    - bn_rand_mod
    - g2_norm
    - bn_mul_dig
    - cp_mklhs_sig
    - cp_mklhs_evl
    - bn_new
    - cp_cmlhs_onv
    - cp_cmlhs_gen
    - bn_add
    - cp_mklhs_gen
    - bn_zero
    - g2_add
    - g1_set_infty
    - TEST_ASSERT
    - g1_new
    - g1_null
    - cp_mklhs_fun
    - cp_cmlhs_off
    - rand_bytes
    - g2_new
    linkageType: ''
    returnType: int
    signature: int lhs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2412,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2413,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2414,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2415,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2416,1
    - Dst: crt_null
      Src: /src/relic/test/test_cp.c:2417,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2420,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2421,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2422,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2423,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2424,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2426,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2427,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2428,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2429,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2430,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2431,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2432,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2433,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2434,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2435,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2437,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2438,1
    - Dst: g2_null
      Src: /src/relic/test/test_cp.c:2439,1
    - Dst: g2_new
      Src: /src/relic/test/test_cp.c:2440,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2442,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2443,1
    - Dst: bn_null
      Src: /src/relic/test/test_cp.c:2444,1
    - Dst: g1_null
      Src: /src/relic/test/test_cp.c:2445,1
    - Dst: gt_null
      Src: /src/relic/test/test_cp.c:2446,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2447,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2448,1
    - Dst: bn_new
      Src: /src/relic/test/test_cp.c:2449,1
    - Dst: g1_new
      Src: /src/relic/test/test_cp.c:2450,1
    - Dst: gt_new
      Src: /src/relic/test/test_cp.c:2451,1
    - Dst: crt_new
      Src: /src/relic/test/test_cp.c:2453,1
    - Dst: cp_rsapsi_gen
      Src: /src/relic/test/test_cp.c:2455,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:2457,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2458,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:2460,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:2463,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2465,1
    - Dst: cp_rsapsi_ask
      Src: /src/relic/test/test_cp.c:2465,1
    - Dst: bn_copy
      Src: /src/relic/test/test_cp.c:2468,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2470,1
    - Dst: cp_rsapsi_ans
      Src: /src/relic/test/test_cp.c:2470,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2471,1
    - Dst: cp_rsapsi_int
      Src: /src/relic/test/test_cp.c:2471,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2472,1
    - Dst: cp_shipsi_gen
      Src: /src/relic/test/test_cp.c:2476,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:2478,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2479,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:2481,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:2484,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2486,1
    - Dst: cp_shipsi_ask
      Src: /src/relic/test/test_cp.c:2486,1
    - Dst: bn_copy
      Src: /src/relic/test/test_cp.c:2489,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2491,1
    - Dst: cp_shipsi_ans
      Src: /src/relic/test/test_cp.c:2491,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2493,1
    - Dst: cp_shipsi_int
      Src: /src/relic/test/test_cp.c:2493,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2495,1
    - Dst: pc_param_set_any
      Src: /src/relic/test/test_cp.c:2499,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_cp.c:2500,1
    - Dst: pc_get_ord
      Src: /src/relic/test/test_cp.c:2501,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:2503,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_cp.c:2506,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2508,1
    - Dst: cp_pbpsi_gen
      Src: /src/relic/test/test_cp.c:2508,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2509,1
    - Dst: cp_pbpsi_ask
      Src: /src/relic/test/test_cp.c:2509,1
    - Dst: bn_copy
      Src: /src/relic/test/test_cp.c:2512,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2514,1
    - Dst: cp_pbpsi_ans
      Src: /src/relic/test/test_cp.c:2514,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2515,1
    - Dst: cp_pbpsi_int
      Src: /src/relic/test/test_cp.c:2515,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_cp.c:2517,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2403
    functionDepth: 1
    functionLinenumber: 2403
    functionLinenumberEnd: 2521
    functionName: psi
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 0
    functionsReached:
    - cp_shipsi_gen
    - cp_pbpsi_ans
    - cp_pbpsi_int
    - pc_get_ord
    - cp_rsapsi_ask
    - gt_new
    - cp_shipsi_int
    - g2_null
    - cp_shipsi_ask
    - bn_null
    - pc_param_set_any
    - crt_new
    - gt_null
    - cp_rsapsi_ans
    - TEST_CASE
    - bn_rand_mod
    - bn_new
    - g2_new
    - cp_pbpsi_ask
    - cp_pbpsi_gen
    - cp_shipsi_ans
    - TEST_ASSERT
    - crt_null
    - g1_new
    - g1_null
    - cp_rsapsi_int
    - cp_rsapsi_gen
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int psi(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_cp.c:2555,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2556,1
    - Dst: util_banner
      Src: /src/relic/test/test_cp.c:2560,1
    - Dst: util_banner
      Src: /src/relic/test/test_cp.c:2563,1
    - Dst: rsa
      Src: /src/relic/test/test_cp.c:2564,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2565,1
    - Dst: rabin
      Src: /src/relic/test/test_cp.c:2569,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2570,1
    - Dst: benaloh
      Src: /src/relic/test/test_cp.c:2574,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2575,1
    - Dst: paillier
      Src: /src/relic/test/test_cp.c:2579,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2580,1
    - Dst: subgroup_paillier
      Src: /src/relic/test/test_cp.c:2584,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2585,1
    - Dst: util_banner
      Src: /src/relic/test/test_cp.c:2591,1
    - Dst: ec_param_set_any
      Src: /src/relic/test/test_cp.c:2592,1
    - Dst: ecdh
      Src: /src/relic/test/test_cp.c:2594,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2595,1
    - Dst: ecmqv
      Src: /src/relic/test/test_cp.c:2599,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2600,1
    - Dst: ecies
      Src: /src/relic/test/test_cp.c:2604,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2605,1
    - Dst: ecdsa
      Src: /src/relic/test/test_cp.c:2610,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2611,1
    - Dst: ecss
      Src: /src/relic/test/test_cp.c:2615,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2616,1
    - Dst: vbnn
      Src: /src/relic/test/test_cp.c:2620,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2621,1
    - Dst: pok
      Src: /src/relic/test/test_cp.c:2625,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2626,1
    - Dst: sok
      Src: /src/relic/test/test_cp.c:2630,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2631,1
    - Dst: ers
      Src: /src/relic/test/test_cp.c:2635,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2636,1
    - Dst: smlers
      Src: /src/relic/test/test_cp.c:2640,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2641,1
    - Dst: etrs
      Src: /src/relic/test/test_cp.c:2645,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2646,1
    - Dst: pedersen
      Src: /src/relic/test/test_cp.c:2650,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2651,1
    - Dst: util_banner
      Src: /src/relic/test/test_cp.c:2658,1
    - Dst: pc_param_set_any
      Src: /src/relic/test/test_cp.c:2659,1
    - Dst: pdpub
      Src: /src/relic/test/test_cp.c:2661,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2662,1
    - Dst: pdprv
      Src: /src/relic/test/test_cp.c:2666,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2667,1
    - Dst: pdbat
      Src: /src/relic/test/test_cp.c:2671,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2672,1
    - Dst: sokaka
      Src: /src/relic/test/test_cp.c:2676,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2677,1
    - Dst: ibe
      Src: /src/relic/test/test_cp.c:2681,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2682,1
    - Dst: bgn
      Src: /src/relic/test/test_cp.c:2686,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2687,1
    - Dst: bls
      Src: /src/relic/test/test_cp.c:2691,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2692,1
    - Dst: bbs
      Src: /src/relic/test/test_cp.c:2696,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2697,1
    - Dst: cls
      Src: /src/relic/test/test_cp.c:2701,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2702,1
    - Dst: pss
      Src: /src/relic/test/test_cp.c:2706,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2707,1
    - Dst: mpss
      Src: /src/relic/test/test_cp.c:2712,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2713,1
    - Dst: zss
      Src: /src/relic/test/test_cp.c:2718,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2719,1
    - Dst: lhs
      Src: /src/relic/test/test_cp.c:2723,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2724,1
    - Dst: util_banner
      Src: /src/relic/test/test_cp.c:2731,1
    - Dst: psi
      Src: /src/relic/test/test_cp.c:2732,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2733,1
    - Dst: util_banner
      Src: /src/relic/test/test_cp.c:2738,1
    - Dst: core_clean
      Src: /src/relic/test/test_cp.c:2740,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 141
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2554
    functionDepth: 2
    functionLinenumber: 2554
    functionLinenumberEnd: 2742
    functionName: main
    functionSourceFile: /src/relic/test/test_cp.c
    functionUses: 97
    functionsReached:
    - util_banner
    - smlers
    - pedersen
    - pdbat
    - ibe
    - pok
    - ers
    - cls
    - pdpub
    - pc_param_set_any
    - ecmqv
    - ecies
    - sok
    - ec_param_set_any
    - core_clean
    - benaloh
    - core_init
    - psi
    - ecss
    - lhs
    - rabin
    - sokaka
    - subgroup_paillier
    - bgn
    - bls
    - pss
    - zss
    - pdprv
    - mpss
    - rsa
    - bbs
    - ecdsa
    - vbnn
    - etrs
    - paillier
    - ecdh
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:42,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:45,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:46,1
    - Dst: fb2_free
      Src: /src/relic/test/test_fbx.c:47,1
    - Dst: util_print
      Src: /src/relic/test/test_fbx.c:52,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fbx.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: memory2
    functionSourceFile: /src/relic/test/test_fbx.c
    functionUses: 0
    functionsReached:
    - fb2_free
    - TEST_CASE
    - util_print
    - RLC_ERROR
    - fb2_new
    - fb2_null
    linkageType: ''
    returnType: int
    signature: int memory2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:67,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:68,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:71,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:72,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:74,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:75,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:76,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:77,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:78,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:78,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:83,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:84,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:85,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:86,1
    - Dst: fb2_copy
      Src: /src/relic/test/test_fbx.c:87,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:88,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:88,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:93,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:95,1
    - Dst: fb2_is_zero
      Src: /src/relic/test/test_fbx.c:96,1
    - Dst: fb2_zero
      Src: /src/relic/test/test_fbx.c:97,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:98,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:98,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:99,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:99,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:100,1
    - Dst: fb2_is_zero
      Src: /src/relic/test/test_fbx.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 103
    functionName: util2
    functionSourceFile: /src/relic/test/test_fbx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - TEST_ASSERT
    - fb2_copy
    - fb2_zero
    - fb2_rand
    - fb2_is_zero
    - fb2_cmp
    - fb2_new
    - fb2_null
    linkageType: ''
    returnType: int
    signature: int util2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:118,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:119,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:120,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:121,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:122,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:125,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:126,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:127,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:128,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:129,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:131,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:132,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:133,1
    - Dst: fb2_add
      Src: /src/relic/test/test_fbx.c:134,1
    - Dst: fb2_add
      Src: /src/relic/test/test_fbx.c:135,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:136,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:136,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:139,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:140,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:141,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:142,1
    - Dst: fb2_add
      Src: /src/relic/test/test_fbx.c:143,1
    - Dst: fb2_add
      Src: /src/relic/test/test_fbx.c:144,1
    - Dst: fb2_add
      Src: /src/relic/test/test_fbx.c:145,1
    - Dst: fb2_add
      Src: /src/relic/test/test_fbx.c:146,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:147,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:147,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:150,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:151,1
    - Dst: fb2_zero
      Src: /src/relic/test/test_fbx.c:152,1
    - Dst: fb2_add
      Src: /src/relic/test/test_fbx.c:153,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:154,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:154,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:157,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:158,1
    - Dst: fb2_copy
      Src: /src/relic/test/test_fbx.c:159,1
    - Dst: fb2_add
      Src: /src/relic/test/test_fbx.c:160,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:161,1
    - Dst: fb2_is_zero
      Src: /src/relic/test/test_fbx.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 163
    functionName: addition2
    functionSourceFile: /src/relic/test/test_fbx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - TEST_ASSERT
    - fb2_zero
    - fb2_copy
    - fb2_rand
    - fb2_is_zero
    - fb2_cmp
    - fb2_new
    - fb2_add
    - fb2_null
    linkageType: ''
    returnType: int
    signature: int addition2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:182,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:183,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:184,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:185,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:186,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:187,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:190,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:191,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:192,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:193,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:194,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:195,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:197,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:198,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:199,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:200,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:201,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:202,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:202,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:205,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:206,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:207,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:208,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:209,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:210,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:211,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:212,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:213,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:213,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:216,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:217,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:218,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:219,1
    - Dst: fb2_add
      Src: /src/relic/test/test_fbx.c:220,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:221,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:222,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:223,1
    - Dst: fb2_add
      Src: /src/relic/test/test_fbx.c:224,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:225,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:225,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:228,1
    - Dst: fb2_zero
      Src: /src/relic/test/test_fbx.c:229,1
    - Dst: fb_set_bit
      Src: /src/relic/test/test_fbx.c:230,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:231,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:232,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:233,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:233,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:236,1
    - Dst: fb2_zero
      Src: /src/relic/test/test_fbx.c:237,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:238,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:239,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:240,1
    - Dst: fb2_is_zero
      Src: /src/relic/test/test_fbx.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 242
    functionName: multiplication2
    functionSourceFile: /src/relic/test/test_fbx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - TEST_ASSERT
    - fb2_zero
    - fb2_rand
    - fb2_is_zero
    - fb_set_bit
    - fb2_add
    - fb2_cmp
    - fb2_new
    - fb2_mul
    - fb2_null
    linkageType: ''
    returnType: int
    signature: int multiplication2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:262,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:263,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:264,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:267,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:268,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:269,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:271,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:272,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:273,1
    - Dst: fb2_sqr
      Src: /src/relic/test/test_fbx.c:274,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:275,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 277
    functionName: squaring2
    functionSourceFile: /src/relic/test/test_fbx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - TEST_ASSERT
    - fb2_rand
    - fb2_sqr
    - fb2_cmp
    - fb2_new
    - fb2_mul
    - fb2_null
    linkageType: ''
    returnType: int
    signature: int squaring2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:294,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:295,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:296,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:299,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:300,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:301,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:303,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:304,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:305,1
    - Dst: fb_add_dig
      Src: /src/relic/test/test_fbx.c:307,1
    - Dst: fb_trc
      Src: /src/relic/test/test_fbx.c:307,1
    - Dst: fb_add_dig
      Src: /src/relic/test/test_fbx.c:308,1
    - Dst: fb_trc
      Src: /src/relic/test/test_fbx.c:308,1
    - Dst: fb2_slv
      Src: /src/relic/test/test_fbx.c:309,1
    - Dst: fb2_sqr
      Src: /src/relic/test/test_fbx.c:311,1
    - Dst: fb2_add
      Src: /src/relic/test/test_fbx.c:312,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:313,1
    - Dst: fb2_cmp
      Src: /src/relic/test/test_fbx.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 315
    functionName: solve2
    functionSourceFile: /src/relic/test/test_fbx.c
    functionUses: 0
    functionsReached:
    - fb_trc
    - TEST_CASE
    - TEST_ASSERT
    - fb2_rand
    - fb2_sqr
    - fb_add_dig
    - fb2_slv
    - fb2_cmp
    - fb2_new
    - fb2_add
    - fb2_null
    linkageType: ''
    returnType: int
    signature: int solve2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:331,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:332,1
    - Dst: fb2_null
      Src: /src/relic/test/test_fbx.c:333,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:336,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:337,1
    - Dst: fb2_new
      Src: /src/relic/test/test_fbx.c:338,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fbx.c:340,1
    - Dst: fb2_rand
      Src: /src/relic/test/test_fbx.c:342,1
    - Dst: fb2_is_zero
      Src: /src/relic/test/test_fbx.c:343,1
    - Dst: fb2_inv
      Src: /src/relic/test/test_fbx.c:344,1
    - Dst: fb2_mul
      Src: /src/relic/test/test_fbx.c:345,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fbx.c:346,1
    - Dst: fb_cmp_dig
      Src: /src/relic/test/test_fbx.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 348
    functionName: inversion2
    functionSourceFile: /src/relic/test/test_fbx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - TEST_ASSERT
    - fb_cmp_dig
    - fb2_rand
    - fb2_is_zero
    - fb2_inv
    - fb2_new
    - fb2_mul
    - fb2_null
    linkageType: ''
    returnType: int
    signature: int inversion2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_fbx.c:362,1
    - Dst: core_clean
      Src: /src/relic/test/test_fbx.c:363,1
    - Dst: util_banner
      Src: /src/relic/test/test_fbx.c:367,1
    - Dst: fb_param_set_any
      Src: /src/relic/test/test_fbx.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: main
    functionSourceFile: /src/relic/test/test_fbx.c
    functionUses: 97
    functionsReached:
    - core_init
    - util_banner
    - fb_param_set_any
    - core_clean
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:86,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:89,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:90,1
    - Dst: ed_free
      Src: /src/relic/test/test_ed.c:91,1
    - Dst: util_print
      Src: /src/relic/test/test_ed.c:96,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_ed.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 105
    functionName: memory
    functionSourceFile: /src/relic/test/test_ed.c
    functionUses: 33
    functionsReached:
    - util_print
    - ed_free
    - TEST_CASE
    - RLC_ERROR
    - ed_null
    - ed_new
    linkageType: ''
    returnType: int
    signature: int memory(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:112,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:113,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:114,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:117,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:118,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:119,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:121,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:122,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:123,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:124,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:126,1
    - Dst: ed_copy
      Src: /src/relic/test/test_ed.c:127,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:128,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:128,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:130,1
    - Dst: ed_copy
      Src: /src/relic/test/test_ed.c:131,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:132,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:132,1
    - Dst: ed_dbl
      Src: /src/relic/test/test_ed.c:135,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:136,1
    - Dst: ed_dbl
      Src: /src/relic/test/test_ed.c:137,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:138,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:138,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:139,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:139,1
    - Dst: ed_dbl
      Src: /src/relic/test/test_ed.c:141,1
    - Dst: ed_dbl
      Src: /src/relic/test/test_ed.c:142,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:143,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:143,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:144,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:144,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:148,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:149,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:150,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:151,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:151,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:155,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:156,1
    - Dst: ed_set_infty
      Src: /src/relic/test/test_ed.c:157,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:158,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:158,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:159,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:159,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:163,1
    - Dst: ed_set_infty
      Src: /src/relic/test/test_ed.c:164,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:165,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:165,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:169,1
    - Dst: ed_set_infty
      Src: /src/relic/test/test_ed.c:170,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:171,1
    - Dst: ed_on_curve
      Src: /src/relic/test/test_ed.c:171,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:172,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:173,1
    - Dst: ed_on_curve
      Src: /src/relic/test/test_ed.c:173,1
    - Dst: fp_rand
      Src: /src/relic/test/test_ed.c:174,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:175,1
    - Dst: ed_on_curve
      Src: /src/relic/test/test_ed.c:175,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:179,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:180,1
    - Dst: ed_blind
      Src: /src/relic/test/test_ed.c:181,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:182,1
    - Dst: ed_on_curve
      Src: /src/relic/test/test_ed.c:182,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:185,1
    - Dst: ed_set_infty
      Src: /src/relic/test/test_ed.c:187,1
    - Dst: ed_size_bin
      Src: /src/relic/test/test_ed.c:188,1
    - Dst: ed_write_bin
      Src: /src/relic/test/test_ed.c:189,1
    - Dst: ed_read_bin
      Src: /src/relic/test/test_ed.c:190,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:191,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:191,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:192,1
    - Dst: ed_size_bin
      Src: /src/relic/test/test_ed.c:193,1
    - Dst: ed_write_bin
      Src: /src/relic/test/test_ed.c:194,1
    - Dst: ed_read_bin
      Src: /src/relic/test/test_ed.c:195,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:196,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:196,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:197,1
    - Dst: ed_dbl
      Src: /src/relic/test/test_ed.c:198,1
    - Dst: ed_size_bin
      Src: /src/relic/test/test_ed.c:199,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:200,1
    - Dst: ed_write_bin
      Src: /src/relic/test/test_ed.c:201,1
    - Dst: ed_read_bin
      Src: /src/relic/test/test_ed.c:202,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:203,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 207
    functionName: util
    functionSourceFile: /src/relic/test/test_ed.c
    functionUses: 0
    functionsReached:
    - ed_blind
    - TEST_CASE
    - ed_copy
    - TEST_ASSERT
    - ed_set_infty
    - fp_rand
    - ed_size_bin
    - ed_is_infty
    - ed_rand
    - ed_null
    - ed_cmp
    - ed_new
    - ed_norm
    - ed_write_bin
    - ed_neg
    - ed_dbl
    - ed_read_bin
    - ed_on_curve
    linkageType: ''
    returnType: int
    signature: int util(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:224,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:225,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:226,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:227,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:228,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:231,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:232,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:233,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:234,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:235,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:237,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:238,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:239,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:240,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:241,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:242,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:242,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:245,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:246,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:247,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:248,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:249,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:250,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:251,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:252,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:253,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:253,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:256,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:257,1
    - Dst: ed_set_infty
      Src: /src/relic/test/test_ed.c:258,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:259,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:260,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:260,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:261,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:262,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:262,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:265,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:266,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:267,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:268,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:269,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:269,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:273,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:274,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:275,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:276,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:277,1
    - Dst: ed_add_basic
      Src: /src/relic/test/test_ed.c:278,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:279,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:279,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:284,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:285,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:286,1
    - Dst: ed_add_projc
      Src: /src/relic/test/test_ed.c:287,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:288,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:289,1
    - Dst: ed_add_projc
      Src: /src/relic/test/test_ed.c:290,1
    - Dst: ed_add_projc
      Src: /src/relic/test/test_ed.c:292,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:293,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:294,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:295,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:296,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:297,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:298,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:298,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:301,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:302,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:303,1
    - Dst: ed_add_extnd
      Src: /src/relic/test/test_ed.c:304,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:305,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:306,1
    - Dst: ed_add_extnd
      Src: /src/relic/test/test_ed.c:307,1
    - Dst: ed_add_extnd
      Src: /src/relic/test/test_ed.c:309,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:310,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:311,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:312,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:313,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:314,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:315,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 318
    functionName: addition
    functionSourceFile: /src/relic/test/test_ed.c
    functionUses: 0
    functionsReached:
    - ed_add_projc
    - TEST_CASE
    - ed_set_infty
    - TEST_ASSERT
    - ed_add_basic
    - ed_is_infty
    - ed_rand
    - ed_null
    - ed_new
    - ed_cmp
    - ed_add
    - ed_norm
    - ed_neg
    - ed_add_extnd
    linkageType: ''
    returnType: int
    signature: int addition(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:336,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:337,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:338,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:339,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:342,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:343,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:344,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:345,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:347,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:348,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:349,1
    - Dst: ed_sub
      Src: /src/relic/test/test_ed.c:350,1
    - Dst: ed_sub
      Src: /src/relic/test/test_ed.c:351,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:352,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:353,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:353,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:357,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:358,1
    - Dst: ed_set_infty
      Src: /src/relic/test/test_ed.c:359,1
    - Dst: ed_sub
      Src: /src/relic/test/test_ed.c:360,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:361,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:361,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:365,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:366,1
    - Dst: ed_sub
      Src: /src/relic/test/test_ed.c:367,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:368,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:368,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:373,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:374,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:375,1
    - Dst: ed_sub
      Src: /src/relic/test/test_ed.c:376,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:377,1
    - Dst: ed_sub_basic
      Src: /src/relic/test/test_ed.c:378,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:379,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:379,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:384,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:385,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:386,1
    - Dst: ed_add_projc
      Src: /src/relic/test/test_ed.c:387,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:388,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:389,1
    - Dst: ed_add_projc
      Src: /src/relic/test/test_ed.c:390,1
    - Dst: ed_sub_projc
      Src: /src/relic/test/test_ed.c:392,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:393,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:394,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:395,1
    - Dst: ed_sub
      Src: /src/relic/test/test_ed.c:396,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:397,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:398,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:398,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:401,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:402,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:403,1
    - Dst: ed_add_extnd
      Src: /src/relic/test/test_ed.c:404,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:405,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:406,1
    - Dst: ed_add_extnd
      Src: /src/relic/test/test_ed.c:407,1
    - Dst: ed_sub_extnd
      Src: /src/relic/test/test_ed.c:409,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:410,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:411,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:412,1
    - Dst: ed_sub
      Src: /src/relic/test/test_ed.c:413,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:414,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:415,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 418
    functionName: subtraction
    functionSourceFile: /src/relic/test/test_ed.c
    functionUses: 0
    functionsReached:
    - ed_sub_extnd
    - ed_sub
    - TEST_CASE
    - ed_add_projc
    - ed_set_infty
    - TEST_ASSERT
    - ed_sub_projc
    - ed_is_infty
    - ed_rand
    - ed_null
    - ed_new
    - ed_cmp
    - ed_norm
    - ed_sub_basic
    - ed_neg
    - ed_add_extnd
    linkageType: ''
    returnType: int
    signature: int subtraction(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:435,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:436,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:437,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:440,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:441,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:442,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:444,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:445,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:446,1
    - Dst: ed_dbl
      Src: /src/relic/test/test_ed.c:447,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:448,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:448,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:452,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:453,1
    - Dst: ed_dbl
      Src: /src/relic/test/test_ed.c:454,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:455,1
    - Dst: ed_dbl_basic
      Src: /src/relic/test/test_ed.c:456,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:457,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:457,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:462,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:463,1
    - Dst: ed_dbl_projc
      Src: /src/relic/test/test_ed.c:464,1
    - Dst: ed_dbl_projc
      Src: /src/relic/test/test_ed.c:466,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:467,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:468,1
    - Dst: ed_dbl
      Src: /src/relic/test/test_ed.c:469,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:470,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:471,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:471,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:474,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:475,1
    - Dst: ed_dbl_projc
      Src: /src/relic/test/test_ed.c:476,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:477,1
    - Dst: ed_dbl
      Src: /src/relic/test/test_ed.c:478,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:479,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:480,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:480,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:485,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:486,1
    - Dst: ed_dbl_extnd
      Src: /src/relic/test/test_ed.c:487,1
    - Dst: ed_dbl_extnd
      Src: /src/relic/test/test_ed.c:489,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:490,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:491,1
    - Dst: ed_dbl
      Src: /src/relic/test/test_ed.c:492,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:493,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:494,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:494,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:497,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:498,1
    - Dst: ed_dbl_extnd
      Src: /src/relic/test/test_ed.c:499,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:500,1
    - Dst: ed_dbl
      Src: /src/relic/test/test_ed.c:501,1
    - Dst: ed_norm
      Src: /src/relic/test/test_ed.c:502,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:503,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 506
    functionName: doubling
    functionSourceFile: /src/relic/test/test_ed.c
    functionUses: 0
    functionsReached:
    - ed_dbl_projc
    - TEST_CASE
    - TEST_ASSERT
    - ed_dbl_basic
    - ed_dbl_extnd
    - ed_rand
    - ed_null
    - ed_new
    - ed_cmp
    - ed_add
    - ed_norm
    - ed_dbl
    linkageType: ''
    returnType: int
    signature: int doubling(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_ed.c:523,1
    - Dst: bn_null
      Src: /src/relic/test/test_ed.c:524,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:525,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:526,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:527,1
    - Dst: bn_new
      Src: /src/relic/test/test_ed.c:530,1
    - Dst: bn_new
      Src: /src/relic/test/test_ed.c:531,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:532,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:533,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:534,1
    - Dst: ed_curve_get_gen
      Src: /src/relic/test/test_ed.c:536,1
    - Dst: ed_curve_get_ord
      Src: /src/relic/test/test_ed.c:537,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:539,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:540,1
    - Dst: ed_on_curve
      Src: /src/relic/test/test_ed.c:540,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:541,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:542,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:542,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:545,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:546,1
    - Dst: ed_mul_gen
      Src: /src/relic/test/test_ed.c:547,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:548,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:548,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ed.c:549,1
    - Dst: ed_mul_gen
      Src: /src/relic/test/test_ed.c:550,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:551,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:551,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:552,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:553,1
    - Dst: ed_mul_gen
      Src: /src/relic/test/test_ed.c:554,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:555,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:555,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:556,1
    - Dst: ed_mul_gen
      Src: /src/relic/test/test_ed.c:557,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:558,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:559,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:559,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:563,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:564,1
    - Dst: ed_mul_basic
      Src: /src/relic/test/test_ed.c:565,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:566,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:566,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ed.c:567,1
    - Dst: ed_mul_basic
      Src: /src/relic/test/test_ed.c:568,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:569,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:569,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:570,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:571,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:572,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:572,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:573,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:574,1
    - Dst: ed_mul_basic
      Src: /src/relic/test/test_ed.c:575,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:576,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:576,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:577,1
    - Dst: ed_mul_basic
      Src: /src/relic/test/test_ed.c:578,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:579,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:580,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:580,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:585,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:586,1
    - Dst: ed_mul_slide
      Src: /src/relic/test/test_ed.c:587,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:588,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:588,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ed.c:589,1
    - Dst: ed_mul_slide
      Src: /src/relic/test/test_ed.c:590,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:591,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:591,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:592,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:593,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:594,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:594,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:595,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:596,1
    - Dst: ed_mul_slide
      Src: /src/relic/test/test_ed.c:597,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:598,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:598,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:599,1
    - Dst: ed_mul_slide
      Src: /src/relic/test/test_ed.c:600,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:601,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:602,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:602,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:608,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:609,1
    - Dst: ed_mul_monty
      Src: /src/relic/test/test_ed.c:610,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:611,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:611,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ed.c:612,1
    - Dst: ed_mul_monty
      Src: /src/relic/test/test_ed.c:613,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:614,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:614,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:615,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:616,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:617,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:617,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:618,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:619,1
    - Dst: ed_mul_monty
      Src: /src/relic/test/test_ed.c:620,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:621,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:621,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:622,1
    - Dst: ed_mul_monty
      Src: /src/relic/test/test_ed.c:623,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:624,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:625,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:625,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:631,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:632,1
    - Dst: ed_mul_lwnaf
      Src: /src/relic/test/test_ed.c:633,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:634,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:634,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ed.c:635,1
    - Dst: ed_mul_lwnaf
      Src: /src/relic/test/test_ed.c:636,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:637,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:637,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:638,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:639,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:640,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:640,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:641,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:642,1
    - Dst: ed_mul_lwnaf
      Src: /src/relic/test/test_ed.c:643,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:644,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:644,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:645,1
    - Dst: ed_mul_lwnaf
      Src: /src/relic/test/test_ed.c:646,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:647,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:648,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:648,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:654,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:655,1
    - Dst: ed_mul_lwreg
      Src: /src/relic/test/test_ed.c:656,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:657,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:657,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ed.c:658,1
    - Dst: ed_mul_lwreg
      Src: /src/relic/test/test_ed.c:659,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:660,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:660,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:661,1
    - Dst: ed_mul_lwreg
      Src: /src/relic/test/test_ed.c:662,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:663,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:663,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:664,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:665,1
    - Dst: ed_mul_lwreg
      Src: /src/relic/test/test_ed.c:666,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:667,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:667,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:668,1
    - Dst: ed_mul_lwreg
      Src: /src/relic/test/test_ed.c:669,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:670,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:671,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:671,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:676,1
    - Dst: ed_mul_dig
      Src: /src/relic/test/test_ed.c:677,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:678,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:678,1
    - Dst: ed_mul_dig
      Src: /src/relic/test/test_ed.c:679,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:680,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:680,1
    - Dst: bn_rand
      Src: /src/relic/test/test_ed.c:681,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:682,1
    - Dst: ed_mul_dig
      Src: /src/relic/test/test_ed.c:683,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:684,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 147
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 687
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 687
    functionName: multiplication
    functionSourceFile: /src/relic/test/test_ed.c
    functionUses: 0
    functionsReached:
    - ed_curve_get_gen
    - ed_mul_lwreg
    - ed_mul_slide
    - bn_set_dig
    - ed_on_curve
    - bn_null
    - ed_mul_basic
    - ed_mul_dig
    - ed_rand
    - ed_curve_get_ord
    - ed_neg
    - bn_rand
    - TEST_CASE
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ed_null
    - ed_is_infty
    - ed_new
    - ed_mul
    - ed_mul_gen
    - ed_cmp
    - bn_zero
    - TEST_ASSERT
    - ed_mul_lwnaf
    - ed_mul_monty
    linkageType: ''
    returnType: int
    signature: int multiplication(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_ed.c:707,1
    - Dst: bn_null
      Src: /src/relic/test/test_ed.c:708,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:709,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:710,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:711,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:714,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:718,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:719,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:720,1
    - Dst: bn_new
      Src: /src/relic/test/test_ed.c:721,1
    - Dst: bn_new
      Src: /src/relic/test/test_ed.c:722,1
    - Dst: ed_curve_get_gen
      Src: /src/relic/test/test_ed.c:724,1
    - Dst: ed_curve_get_ord
      Src: /src/relic/test/test_ed.c:725,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:728,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:730,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:731,1
    - Dst: ed_mul_pre
      Src: /src/relic/test/test_ed.c:732,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:733,1
    - Dst: ed_mul_fix
      Src: /src/relic/test/test_ed.c:734,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:735,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:735,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ed.c:736,1
    - Dst: ed_mul_fix
      Src: /src/relic/test/test_ed.c:737,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:738,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:738,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:739,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:740,1
    - Dst: ed_mul_fix
      Src: /src/relic/test/test_ed.c:741,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:742,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:743,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:743,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:744,1
    - Dst: ed_mul_fix
      Src: /src/relic/test/test_ed.c:745,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:746,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:747,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:747,1
    - Dst: ed_free
      Src: /src/relic/test/test_ed.c:750,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:755,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:757,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:758,1
    - Dst: ed_mul_pre_basic
      Src: /src/relic/test/test_ed.c:759,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:760,1
    - Dst: ed_mul_fix_basic
      Src: /src/relic/test/test_ed.c:761,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:762,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:762,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ed.c:763,1
    - Dst: ed_mul_fix_basic
      Src: /src/relic/test/test_ed.c:764,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:765,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:765,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:766,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:767,1
    - Dst: ed_mul_fix_basic
      Src: /src/relic/test/test_ed.c:768,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:769,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:769,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:770,1
    - Dst: ed_mul_fix_basic
      Src: /src/relic/test/test_ed.c:771,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:772,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:773,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:773,1
    - Dst: ed_free
      Src: /src/relic/test/test_ed.c:776,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:782,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:784,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:785,1
    - Dst: ed_mul_pre_combs
      Src: /src/relic/test/test_ed.c:786,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:787,1
    - Dst: ed_mul_fix_combs
      Src: /src/relic/test/test_ed.c:788,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:789,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:789,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ed.c:790,1
    - Dst: ed_mul_fix_combs
      Src: /src/relic/test/test_ed.c:791,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:792,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:792,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:793,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:794,1
    - Dst: ed_mul_fix_combs
      Src: /src/relic/test/test_ed.c:795,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:796,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:796,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:797,1
    - Dst: ed_mul_fix_combs
      Src: /src/relic/test/test_ed.c:798,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:799,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:800,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:800,1
    - Dst: ed_free
      Src: /src/relic/test/test_ed.c:803,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:809,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:811,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:812,1
    - Dst: ed_mul_pre_combd
      Src: /src/relic/test/test_ed.c:813,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:814,1
    - Dst: ed_mul_fix_combd
      Src: /src/relic/test/test_ed.c:815,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:816,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:816,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ed.c:817,1
    - Dst: ed_mul_fix_combd
      Src: /src/relic/test/test_ed.c:818,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:819,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:819,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:820,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:821,1
    - Dst: ed_mul_fix_combd
      Src: /src/relic/test/test_ed.c:822,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:823,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:823,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:824,1
    - Dst: ed_mul_fix_combd
      Src: /src/relic/test/test_ed.c:825,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:826,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:827,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:827,1
    - Dst: ed_free
      Src: /src/relic/test/test_ed.c:830,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:836,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:838,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:839,1
    - Dst: ed_mul_pre_lwnaf
      Src: /src/relic/test/test_ed.c:840,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:841,1
    - Dst: ed_mul_fix_lwnaf
      Src: /src/relic/test/test_ed.c:842,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:843,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:843,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ed.c:844,1
    - Dst: ed_mul_fix_lwnaf
      Src: /src/relic/test/test_ed.c:845,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:846,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:846,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:847,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:848,1
    - Dst: ed_mul_fix_lwnaf
      Src: /src/relic/test/test_ed.c:849,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:850,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:850,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:851,1
    - Dst: ed_mul_fix_lwnaf
      Src: /src/relic/test/test_ed.c:852,1
    - Dst: ed_neg
      Src: /src/relic/test/test_ed.c:853,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:854,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:854,1
    - Dst: ed_free
      Src: /src/relic/test/test_ed.c:857,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 142
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 860
    functionName: fixed
    functionSourceFile: /src/relic/test/test_ed.c
    functionUses: 12
    functionsReached:
    - ed_curve_get_gen
    - ed_free
    - bn_set_dig
    - ed_mul_fix_lwnaf
    - bn_null
    - ed_mul_pre_basic
    - ed_rand
    - ed_mul_fix_combd
    - ed_curve_get_ord
    - ed_neg
    - ed_mul_pre_lwnaf
    - ed_mul_fix
    - TEST_CASE
    - ed_mul_pre_combd
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ed_null
    - ed_is_infty
    - ed_new
    - ed_cmp
    - ed_mul
    - ed_mul_pre_combs
    - ed_mul_fix_combs
    - bn_zero
    - ed_mul_pre
    - TEST_ASSERT
    - ed_mul_fix_basic
    linkageType: ''
    returnType: int
    signature: int fixed(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_ed.c:880,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:881,1
    - Dst: bn_new
      Src: /src/relic/test/test_ed.c:884,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:885,1
    - Dst: bn_null
      Src: /src/relic/test/test_ed.c:887,1
    - Dst: bn_new
      Src: /src/relic/test/test_ed.c:888,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:889,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:890,1
    - Dst: ed_curve_get_gen
      Src: /src/relic/test/test_ed.c:893,1
    - Dst: ed_curve_get_ord
      Src: /src/relic/test/test_ed.c:894,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:896,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:897,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:898,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:899,1
    - Dst: ed_mul_sim
      Src: /src/relic/test/test_ed.c:900,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:901,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:901,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:902,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:903,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:904,1
    - Dst: ed_mul_sim
      Src: /src/relic/test/test_ed.c:905,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:906,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:906,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:907,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:908,1
    - Dst: ed_mul_sim
      Src: /src/relic/test/test_ed.c:909,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:910,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:911,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:912,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:913,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:913,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:914,1
    - Dst: ed_mul_sim
      Src: /src/relic/test/test_ed.c:915,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:916,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:917,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:918,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:919,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:919,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:920,1
    - Dst: ed_mul_sim
      Src: /src/relic/test/test_ed.c:921,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:922,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:923,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:924,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:925,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:925,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:926,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:927,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:928,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:929,1
    - Dst: ed_mul_sim
      Src: /src/relic/test/test_ed.c:930,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:931,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:932,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:933,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:934,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:934,1
    - Dst: ed_mul_sim
      Src: /src/relic/test/test_ed.c:935,1
    - Dst: ed_mul_sim_lot
      Src: /src/relic/test/test_ed.c:936,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:937,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:937,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:941,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:942,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:943,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:944,1
    - Dst: ed_mul_sim_basic
      Src: /src/relic/test/test_ed.c:945,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:946,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:946,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:947,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:948,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:949,1
    - Dst: ed_mul_sim_basic
      Src: /src/relic/test/test_ed.c:950,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:951,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:951,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:952,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:953,1
    - Dst: ed_mul_sim_basic
      Src: /src/relic/test/test_ed.c:954,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:955,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:956,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:957,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:958,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:958,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:959,1
    - Dst: ed_mul_sim_basic
      Src: /src/relic/test/test_ed.c:960,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:961,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:962,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:963,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:964,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:964,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:965,1
    - Dst: ed_mul_sim_basic
      Src: /src/relic/test/test_ed.c:966,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:967,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:968,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:969,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:970,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:970,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:971,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:972,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:973,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:974,1
    - Dst: ed_mul_sim_basic
      Src: /src/relic/test/test_ed.c:975,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:976,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:977,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:978,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:979,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:979,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:984,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:985,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:986,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:987,1
    - Dst: ed_mul_sim_trick
      Src: /src/relic/test/test_ed.c:988,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:989,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:989,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:990,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:991,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:992,1
    - Dst: ed_mul_sim_trick
      Src: /src/relic/test/test_ed.c:993,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:994,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:994,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:995,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:996,1
    - Dst: ed_mul_sim_trick
      Src: /src/relic/test/test_ed.c:997,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:998,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:999,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1000,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1001,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1001,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:1002,1
    - Dst: ed_mul_sim_trick
      Src: /src/relic/test/test_ed.c:1003,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1004,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1005,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1006,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1007,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1007,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:1008,1
    - Dst: ed_mul_sim_trick
      Src: /src/relic/test/test_ed.c:1009,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1010,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1011,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1012,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1013,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1013,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1014,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1015,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:1016,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:1017,1
    - Dst: ed_mul_sim_trick
      Src: /src/relic/test/test_ed.c:1018,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1019,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1020,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1021,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1022,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1022,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:1027,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:1028,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1029,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1030,1
    - Dst: ed_mul_sim_inter
      Src: /src/relic/test/test_ed.c:1031,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1032,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1032,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1033,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:1034,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1035,1
    - Dst: ed_mul_sim_inter
      Src: /src/relic/test/test_ed.c:1036,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1037,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1037,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1038,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1039,1
    - Dst: ed_mul_sim_inter
      Src: /src/relic/test/test_ed.c:1040,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1041,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1042,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1043,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1044,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1044,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:1045,1
    - Dst: ed_mul_sim_inter
      Src: /src/relic/test/test_ed.c:1046,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1047,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1048,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1049,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1050,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1050,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:1051,1
    - Dst: ed_mul_sim_inter
      Src: /src/relic/test/test_ed.c:1052,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1053,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1054,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1055,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1056,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1056,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1057,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1058,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:1059,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:1060,1
    - Dst: ed_mul_sim_inter
      Src: /src/relic/test/test_ed.c:1061,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1062,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1063,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1064,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1065,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1065,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:1070,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:1071,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1072,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1073,1
    - Dst: ed_mul_sim_joint
      Src: /src/relic/test/test_ed.c:1074,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1075,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1075,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1076,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:1077,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1078,1
    - Dst: ed_mul_sim_joint
      Src: /src/relic/test/test_ed.c:1079,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1080,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1080,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1081,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1082,1
    - Dst: ed_mul_sim_joint
      Src: /src/relic/test/test_ed.c:1083,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1084,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1085,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1086,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1087,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1087,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:1088,1
    - Dst: ed_mul_sim_joint
      Src: /src/relic/test/test_ed.c:1089,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1090,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1091,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1092,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1093,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1093,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:1094,1
    - Dst: ed_mul_sim_joint
      Src: /src/relic/test/test_ed.c:1095,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1096,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1097,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1098,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1099,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1099,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1100,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1101,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:1102,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:1103,1
    - Dst: ed_mul_sim_joint
      Src: /src/relic/test/test_ed.c:1104,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1105,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1106,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1107,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1108,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1108,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:1112,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:1113,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1114,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1115,1
    - Dst: ed_mul_sim_gen
      Src: /src/relic/test/test_ed.c:1116,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1117,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1117,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1118,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:1119,1
    - Dst: ed_mul_gen
      Src: /src/relic/test/test_ed.c:1120,1
    - Dst: ed_mul_sim_gen
      Src: /src/relic/test/test_ed.c:1121,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1122,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1122,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1123,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1124,1
    - Dst: ed_mul_sim_gen
      Src: /src/relic/test/test_ed.c:1125,1
    - Dst: ed_curve_get_gen
      Src: /src/relic/test/test_ed.c:1126,1
    - Dst: ed_mul_sim
      Src: /src/relic/test/test_ed.c:1127,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1128,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1128,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:1129,1
    - Dst: ed_mul_sim_gen
      Src: /src/relic/test/test_ed.c:1130,1
    - Dst: ed_curve_get_gen
      Src: /src/relic/test/test_ed.c:1131,1
    - Dst: ed_mul_sim
      Src: /src/relic/test/test_ed.c:1132,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1133,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1133,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:1134,1
    - Dst: ed_mul_sim_gen
      Src: /src/relic/test/test_ed.c:1135,1
    - Dst: ed_curve_get_gen
      Src: /src/relic/test/test_ed.c:1136,1
    - Dst: ed_mul_sim
      Src: /src/relic/test/test_ed.c:1137,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1138,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1138,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1139,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1140,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:1141,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:1142,1
    - Dst: ed_mul_sim_gen
      Src: /src/relic/test/test_ed.c:1143,1
    - Dst: ed_curve_get_gen
      Src: /src/relic/test/test_ed.c:1144,1
    - Dst: ed_mul_sim
      Src: /src/relic/test/test_ed.c:1145,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1146,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1146,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:1149,1
    - Dst: ed_set_infty
      Src: /src/relic/test/test_ed.c:1150,1
    - Dst: ed_mul_sim_lot
      Src: /src/relic/test/test_ed.c:1151,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1152,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1152,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ed.c:1154,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:1155,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1156,1
    - Dst: ed_add
      Src: /src/relic/test/test_ed.c:1157,1
    - Dst: ed_mul_sim_lot
      Src: /src/relic/test/test_ed.c:1158,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1159,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1159,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1161,1
    - Dst: ed_sub
      Src: /src/relic/test/test_ed.c:1162,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ed.c:1163,1
    - Dst: ed_mul_sim_lot
      Src: /src/relic/test/test_ed.c:1164,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1165,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1165,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1166,1
    - Dst: ed_sub
      Src: /src/relic/test/test_ed.c:1167,1
    - Dst: ed_sub
      Src: /src/relic/test/test_ed.c:1168,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ed.c:1169,1
    - Dst: ed_mul_sim_lot
      Src: /src/relic/test/test_ed.c:1170,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1171,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1171,1
    - Dst: bn_add
      Src: /src/relic/test/test_ed.c:1172,1
    - Dst: ed_mul_sim_lot
      Src: /src/relic/test/test_ed.c:1173,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1174,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 286
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 1176
    functionName: simultaneous
    functionSourceFile: /src/relic/test/test_ed.c
    functionUses: 0
    functionsReached:
    - ed_curve_get_gen
    - ed_sub
    - ed_mul_sim_inter
    - ed_mul_sim_joint
    - bn_null
    - ed_rand
    - ed_curve_get_ord
    - ed_mul_sim
    - TEST_CASE
    - ed_mul_sim_basic
    - ed_set_infty
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ed_null
    - ed_cmp
    - ed_new
    - ed_mul
    - ed_mul_gen
    - bn_add
    - bn_zero
    - TEST_ASSERT
    - ed_mul_sim_gen
    - ed_mul_sim_trick
    - ed_mul_sim_lot
    - ed_add
    linkageType: ''
    returnType: int
    signature: int simultaneous(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:1196,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:1197,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:1198,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:1201,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:1202,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:1203,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:1205,1
    - Dst: ed_rand
      Src: /src/relic/test/test_ed.c:1206,1
    - Dst: ed_pck
      Src: /src/relic/test/test_ed.c:1207,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1208,1
    - Dst: ed_upk
      Src: /src/relic/test/test_ed.c:1208,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1209,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1212
    functionName: compression
    functionSourceFile: /src/relic/test/test_ed.c
    functionUses: 5
    functionsReached:
    - ed_upk
    - TEST_CASE
    - TEST_ASSERT
    - ed_pck
    - ed_rand
    - ed_null
    - ed_new
    - ed_cmp
    linkageType: ''
    returnType: int
    signature: int compression(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:1231,1
    - Dst: ed_null
      Src: /src/relic/test/test_ed.c:1232,1
    - Dst: bn_null
      Src: /src/relic/test/test_ed.c:1233,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:1236,1
    - Dst: ed_new
      Src: /src/relic/test/test_ed.c:1237,1
    - Dst: bn_new
      Src: /src/relic/test/test_ed.c:1238,1
    - Dst: ed_curve_get_ord
      Src: /src/relic/test/test_ed.c:1240,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ed.c:1242,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_ed.c:1243,1
    - Dst: ed_map
      Src: /src/relic/test/test_ed.c:1244,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1245,1
    - Dst: ed_on_curve
      Src: /src/relic/test/test_ed.c:1245,1
    - Dst: ed_map_dst
      Src: /src/relic/test/test_ed.c:1246,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1247,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1247,1
    - Dst: ed_mul
      Src: /src/relic/test/test_ed.c:1248,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1249,1
    - Dst: ed_is_infty
      Src: /src/relic/test/test_ed.c:1249,1
    - Dst: ed_map
      Src: /src/relic/test/test_ed.c:1253,1
    - Dst: strlen
      Src: /src/relic/test/test_ed.c:1253,1
    - Dst: ed_read_bin
      Src: /src/relic/test/test_ed.c:1254,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1255,1
    - Dst: ed_on_curve
      Src: /src/relic/test/test_ed.c:1255,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1256,1
    - Dst: ed_on_curve
      Src: /src/relic/test/test_ed.c:1256,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ed.c:1257,1
    - Dst: ed_cmp
      Src: /src/relic/test/test_ed.c:1257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1260
    functionName: hashing
    functionSourceFile: /src/relic/test/test_ed.c
    functionUses: 0
    functionsReached:
    - bn_null
    - strlen
    - TEST_CASE
    - TEST_ASSERT
    - ed_map_dst
    - bn_new
    - ed_null
    - ed_map
    - ed_new
    - ed_cmp
    - rand_bytes
    - ed_curve_get_ord
    - ed_mul
    - ed_is_infty
    - ed_read_bin
    - ed_on_curve
    linkageType: ''
    returnType: int
    signature: int hashing(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed_param_print
      Src: /src/relic/test/test_ed.c:1273,1
    - Dst: util_banner
      Src: /src/relic/test/test_ed.c:1275,1
    - Dst: memory
      Src: /src/relic/test/test_ed.c:1277,1
    - Dst: core_clean
      Src: /src/relic/test/test_ed.c:1278,1
    - Dst: util
      Src: /src/relic/test/test_ed.c:1282,1
    - Dst: util_banner
      Src: /src/relic/test/test_ed.c:1286,1
    - Dst: addition
      Src: /src/relic/test/test_ed.c:1288,1
    - Dst: subtraction
      Src: /src/relic/test/test_ed.c:1292,1
    - Dst: doubling
      Src: /src/relic/test/test_ed.c:1296,1
    - Dst: multiplication
      Src: /src/relic/test/test_ed.c:1300,1
    - Dst: fixed
      Src: /src/relic/test/test_ed.c:1304,1
    - Dst: simultaneous
      Src: /src/relic/test/test_ed.c:1308,1
    - Dst: hashing
      Src: /src/relic/test/test_ed.c:1312,1
    - Dst: compression
      Src: /src/relic/test/test_ed.c:1316,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1321
    functionName: test
    functionSourceFile: /src/relic/test/test_ed.c
    functionUses: 26
    functionsReached:
    - multiplication
    - util_banner
    - simultaneous
    - hashing
    - memory
    - core_clean
    - compression
    - subtraction
    - ed_param_print
    - addition
    - fixed
    - doubling
    - util
    linkageType: ''
    returnType: int
    signature: int test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_ed.c:1326,1
    - Dst: core_clean
      Src: /src/relic/test/test_ed.c:1327,1
    - Dst: util_banner
      Src: /src/relic/test/test_ed.c:1331,1
    - Dst: ed_param_set_any
      Src: /src/relic/test/test_ed.c:1334,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_ed.c:1335,1
    - Dst: core_clean
      Src: /src/relic/test/test_ed.c:1336,1
    - Dst: test
      Src: /src/relic/test/test_ed.c:1339,1
    - Dst: core_clean
      Src: /src/relic/test/test_ed.c:1340,1
    - Dst: util_banner
      Src: /src/relic/test/test_ed.c:1346,1
    - Dst: core_clean
      Src: /src/relic/test/test_ed.c:1348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1350
    functionName: main
    functionSourceFile: /src/relic/test/test_ed.c
    functionUses: 97
    functionsReached:
    - util_banner
    - core_clean
    - RLC_THROW
    - ed_param_set_any
    - core_init
    - test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:42,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:45,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:46,1
    - Dst: ep_free
      Src: /src/relic/test/test_ep.c:47,1
    - Dst: util_print
      Src: /src/relic/test/test_ep.c:52,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_ep.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: memory
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 34
    functionsReached:
    - util_print
    - TEST_CASE
    - ep_new
    - RLC_ERROR
    - ep_free
    - ep_null
    linkageType: ''
    returnType: int
    signature: int memory(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:68,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:69,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:70,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:73,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:74,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:75,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:77,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:78,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:79,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:80,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:82,1
    - Dst: ep_copy
      Src: /src/relic/test/test_ep.c:83,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:84,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:84,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:86,1
    - Dst: ep_copy
      Src: /src/relic/test/test_ep.c:87,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:88,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:88,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_ep.c:91,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:92,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_ep.c:93,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:94,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:94,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:95,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:95,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_ep.c:97,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_ep.c:98,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:99,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:99,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:100,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:100,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:104,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:105,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:107,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:107,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:108,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:109,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:109,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:111,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:112,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_ep.c:113,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:114,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:114,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:118,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:119,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_ep.c:120,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:121,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:121,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:122,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:122,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:126,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_ep.c:127,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:128,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:128,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:132,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_ep.c:133,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:134,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:134,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:135,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:136,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:136,1
    - Dst: fp_rand
      Src: /src/relic/test/test_ep.c:137,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:138,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:138,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:142,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:143,1
    - Dst: ep_blind
      Src: /src/relic/test/test_ep.c:144,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:145,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:145,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:148,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_ep.c:150,1
    - Dst: ep_size_bin
      Src: /src/relic/test/test_ep.c:151,1
    - Dst: ep_write_bin
      Src: /src/relic/test/test_ep.c:152,1
    - Dst: ep_read_bin
      Src: /src/relic/test/test_ep.c:153,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:154,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:154,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:155,1
    - Dst: ep_size_bin
      Src: /src/relic/test/test_ep.c:156,1
    - Dst: ep_write_bin
      Src: /src/relic/test/test_ep.c:157,1
    - Dst: ep_read_bin
      Src: /src/relic/test/test_ep.c:158,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:159,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:159,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:160,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_ep.c:161,1
    - Dst: ep_size_bin
      Src: /src/relic/test/test_ep.c:162,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:163,1
    - Dst: ep_write_bin
      Src: /src/relic/test/test_ep.c:164,1
    - Dst: ep_read_bin
      Src: /src/relic/test/test_ep.c:165,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:166,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 170
    functionName: util
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 1
    functionsReached:
    - ep_is_infty
    - ep_add
    - ep_on_curve
    - ep_null
    - ep_blind
    - ep_size_bin
    - ep_norm
    - ep_neg
    - ep_cmp
    - TEST_CASE
    - ep_new
    - ep_set_infty
    - fp_rand
    - ep_write_bin
    - ep_copy
    - ep_read_bin
    - ep_dbl
    - TEST_ASSERT
    - ep_rand
    linkageType: ''
    returnType: int
    signature: int util(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:187,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:188,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:189,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:190,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:191,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:194,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:195,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:196,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:197,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:198,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:200,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:201,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:202,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:203,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:204,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:205,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:205,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:208,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:209,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:210,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:211,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:212,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:213,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:214,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:215,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:216,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:216,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:219,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:220,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_ep.c:221,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:222,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:223,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:223,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:224,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:225,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:225,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:228,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:229,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:230,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:231,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:232,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:232,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:236,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:237,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:238,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:239,1
    - Dst: ep_add_basic
      Src: /src/relic/test/test_ep.c:240,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:241,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:241,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:247,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:248,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:249,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:250,1
    - Dst: ep_add_projc
      Src: /src/relic/test/test_ep.c:251,1
    - Dst: ep_add_projc
      Src: /src/relic/test/test_ep.c:252,1
    - Dst: ep_add_projc
      Src: /src/relic/test/test_ep.c:254,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:256,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:257,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:258,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:259,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:259,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:263,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:264,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:265,1
    - Dst: ep_add_projc
      Src: /src/relic/test/test_ep.c:267,1
    - Dst: ep_add_projc
      Src: /src/relic/test/test_ep.c:268,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:270,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:271,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:272,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:272,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:275,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:276,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:277,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:279,1
    - Dst: ep_add_projc
      Src: /src/relic/test/test_ep.c:280,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:281,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:281,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:287,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:288,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:289,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:290,1
    - Dst: ep_add_jacob
      Src: /src/relic/test/test_ep.c:291,1
    - Dst: ep_add_jacob
      Src: /src/relic/test/test_ep.c:292,1
    - Dst: ep_add_jacob
      Src: /src/relic/test/test_ep.c:294,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:295,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:296,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:297,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:298,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:298,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:302,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:303,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:304,1
    - Dst: ep_add_jacob
      Src: /src/relic/test/test_ep.c:306,1
    - Dst: ep_add_jacob
      Src: /src/relic/test/test_ep.c:307,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:309,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:310,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:311,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:311,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:314,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:315,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:316,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:317,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:318,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:320,1
    - Dst: ep_add_jacob
      Src: /src/relic/test/test_ep.c:321,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:322,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 118
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 325
    functionName: addition
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 1
    functionsReached:
    - TEST_CASE
    - ep_cmp
    - ep_new
    - ep_set_infty
    - TEST_ASSERT
    - ep_is_infty
    - ep_add_basic
    - ep_add
    - ep_rand
    - ep_null
    - ep_add_projc
    - ep_norm
    - ep_neg
    - ep_add_jacob
    linkageType: ''
    returnType: int
    signature: int addition(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:343,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:344,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:345,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:346,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:349,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:350,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:351,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:352,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:354,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:355,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:356,1
    - Dst: ep_sub
      Src: /src/relic/test/test_ep.c:357,1
    - Dst: ep_sub
      Src: /src/relic/test/test_ep.c:358,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:359,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:360,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:360,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:364,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:365,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_ep.c:366,1
    - Dst: ep_sub
      Src: /src/relic/test/test_ep.c:367,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:368,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:368,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:372,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:373,1
    - Dst: ep_sub
      Src: /src/relic/test/test_ep.c:374,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:375,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 378
    functionName: subtraction
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 1
    functionsReached:
    - TEST_CASE
    - ep_cmp
    - ep_new
    - ep_set_infty
    - TEST_ASSERT
    - ep_is_infty
    - ep_sub
    - ep_rand
    - ep_null
    - ep_neg
    linkageType: ''
    returnType: int
    signature: int subtraction(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:395,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:396,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:397,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:400,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:401,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:402,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:404,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:405,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:406,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_ep.c:407,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:408,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:408,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:412,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:413,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_ep.c:414,1
    - Dst: ep_dbl_basic
      Src: /src/relic/test/test_ep.c:415,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:416,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:416,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:421,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:422,1
    - Dst: ep_dbl_projc
      Src: /src/relic/test/test_ep.c:424,1
    - Dst: ep_dbl_projc
      Src: /src/relic/test/test_ep.c:425,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:426,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_ep.c:427,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:428,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:428,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:431,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:432,1
    - Dst: ep_dbl_projc
      Src: /src/relic/test/test_ep.c:433,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:434,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_ep.c:435,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:436,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:436,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:441,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:442,1
    - Dst: ep_dbl_jacob
      Src: /src/relic/test/test_ep.c:444,1
    - Dst: ep_dbl_jacob
      Src: /src/relic/test/test_ep.c:445,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:446,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_ep.c:447,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:448,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:448,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:451,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:452,1
    - Dst: ep_dbl_jacob
      Src: /src/relic/test/test_ep.c:453,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:454,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_ep.c:455,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:456,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 459
    functionName: doubling
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 1
    functionsReached:
    - TEST_CASE
    - ep_cmp
    - ep_new
    - ep_dbl
    - ep_dbl_projc
    - TEST_ASSERT
    - ep_add
    - ep_dbl_basic
    - ep_rand
    - ep_null
    - ep_norm
    - ep_dbl_jacob
    linkageType: ''
    returnType: int
    signature: int doubling(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_ep.c:476,1
    - Dst: bn_null
      Src: /src/relic/test/test_ep.c:477,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:478,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:479,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:480,1
    - Dst: bn_null
      Src: /src/relic/test/test_ep.c:483,1
    - Dst: bn_null
      Src: /src/relic/test/test_ep.c:484,1
    - Dst: bn_new
      Src: /src/relic/test/test_ep.c:488,1
    - Dst: bn_new
      Src: /src/relic/test/test_ep.c:489,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:490,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:491,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:492,1
    - Dst: bn_new
      Src: /src/relic/test/test_ep.c:495,1
    - Dst: bn_new
      Src: /src/relic/test/test_ep.c:496,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/test/test_ep.c:500,1
    - Dst: bn_copy
      Src: /src/relic/test/test_ep.c:503,1
    - Dst: core_get
      Src: /src/relic/test/test_ep.c:503,1
    - Dst: bn_copy
      Src: /src/relic/test/test_ep.c:504,1
    - Dst: core_get
      Src: /src/relic/test/test_ep.c:504,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_ep.c:506,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_ep.c:507,1
    - Dst: bn_gcd_ext
      Src: /src/relic/test/test_ep.c:508,1
    - Dst: bn_gcd_ext
      Src: /src/relic/test/test_ep.c:510,1
    - Dst: bn_sign
      Src: /src/relic/test/test_ep.c:512,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:514,1
    - Dst: bn_mul
      Src: /src/relic/test/test_ep.c:516,1
    - Dst: bn_mod
      Src: /src/relic/test/test_ep.c:517,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:519,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:521,1
    - Dst: ep_psi
      Src: /src/relic/test/test_ep.c:522,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:523,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:524,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:525,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:525,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:526,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:531,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:532,1
    - Dst: ep_psi
      Src: /src/relic/test/test_ep.c:533,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:534,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:535,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:536,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:536,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:537,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:543,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:544,1
    - Dst: ep_dbl_projc
      Src: /src/relic/test/test_ep.c:545,1
    - Dst: ep_psi
      Src: /src/relic/test/test_ep.c:546,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:547,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:548,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:549,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:555,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:556,1
    - Dst: ep_dbl_jacob
      Src: /src/relic/test/test_ep.c:557,1
    - Dst: ep_psi
      Src: /src/relic/test/test_ep.c:558,1
    - Dst: ep_norm
      Src: /src/relic/test/test_ep.c:559,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:560,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:561,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:562,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:562,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:563,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 572
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 572
    functionName: endomorphism
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 0
    functionsReached:
    - ep_dbl_projc
    - ep_curve_get_ord
    - ep_null
    - bn_mul
    - bn_null
    - bn_mod
    - bn_cmp_dig
    - ep_mul
    - ep_curve_is_endom
    - ep_norm
    - ep_neg
    - bn_gcd_ext
    - TEST_CASE
    - ep_cmp
    - ep_new
    - bn_sign
    - bn_new
    - ep_dbl_jacob
    - bn_add
    - core_get
    - ep_psi
    - TEST_ASSERT
    - ep_rand
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int endomorphism(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_ep.c:596,1
    - Dst: bn_null
      Src: /src/relic/test/test_ep.c:597,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:598,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:599,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:600,1
    - Dst: bn_new
      Src: /src/relic/test/test_ep.c:603,1
    - Dst: bn_new
      Src: /src/relic/test/test_ep.c:604,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:605,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:606,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:607,1
    - Dst: ep_curve_get_gen
      Src: /src/relic/test/test_ep.c:609,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_ep.c:610,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_ep.c:612,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:613,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:613,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:614,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:615,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:615,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:618,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:619,1
    - Dst: ep_mul_gen
      Src: /src/relic/test/test_ep.c:620,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:621,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:621,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ep.c:622,1
    - Dst: ep_mul_gen
      Src: /src/relic/test/test_ep.c:623,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:624,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:624,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:625,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:626,1
    - Dst: ep_mul_gen
      Src: /src/relic/test/test_ep.c:627,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:628,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:628,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:629,1
    - Dst: ep_mul_gen
      Src: /src/relic/test/test_ep.c:630,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:631,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:632,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:632,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:633,1
    - Dst: ep_mul_gen
      Src: /src/relic/test/test_ep.c:634,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:635,1
    - Dst: ep_mul_gen
      Src: /src/relic/test/test_ep.c:636,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:637,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:637,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:641,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:642,1
    - Dst: ep_mul_basic
      Src: /src/relic/test/test_ep.c:643,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:644,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:644,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ep.c:645,1
    - Dst: ep_mul_basic
      Src: /src/relic/test/test_ep.c:646,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:647,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:647,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:648,1
    - Dst: ep_mul_basic
      Src: /src/relic/test/test_ep.c:649,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:650,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:650,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:651,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:652,1
    - Dst: ep_mul_basic
      Src: /src/relic/test/test_ep.c:653,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:654,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:654,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:655,1
    - Dst: ep_mul_basic
      Src: /src/relic/test/test_ep.c:656,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:657,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:658,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:658,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:659,1
    - Dst: ep_mul_basic
      Src: /src/relic/test/test_ep.c:660,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:661,1
    - Dst: ep_mul_basic
      Src: /src/relic/test/test_ep.c:662,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:663,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:663,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:668,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:669,1
    - Dst: ep_mul_slide
      Src: /src/relic/test/test_ep.c:670,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:671,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:671,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ep.c:672,1
    - Dst: ep_mul_slide
      Src: /src/relic/test/test_ep.c:673,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:674,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:674,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:675,1
    - Dst: ep_mul_slide
      Src: /src/relic/test/test_ep.c:676,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:677,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:677,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:678,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:679,1
    - Dst: ep_mul_slide
      Src: /src/relic/test/test_ep.c:680,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:681,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:681,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:682,1
    - Dst: ep_mul_slide
      Src: /src/relic/test/test_ep.c:683,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:684,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:685,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:685,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:686,1
    - Dst: ep_mul_slide
      Src: /src/relic/test/test_ep.c:687,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:688,1
    - Dst: ep_mul_slide
      Src: /src/relic/test/test_ep.c:689,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:690,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:690,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:696,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:697,1
    - Dst: ep_mul_monty
      Src: /src/relic/test/test_ep.c:698,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:699,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:699,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ep.c:700,1
    - Dst: ep_mul_monty
      Src: /src/relic/test/test_ep.c:701,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:702,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:702,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:703,1
    - Dst: ep_mul_monty
      Src: /src/relic/test/test_ep.c:704,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:705,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:705,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:706,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:707,1
    - Dst: ep_mul_monty
      Src: /src/relic/test/test_ep.c:708,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:709,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:709,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:710,1
    - Dst: ep_mul_monty
      Src: /src/relic/test/test_ep.c:711,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:712,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:713,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:713,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:714,1
    - Dst: ep_mul_monty
      Src: /src/relic/test/test_ep.c:715,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:716,1
    - Dst: ep_mul_monty
      Src: /src/relic/test/test_ep.c:717,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:718,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:718,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:724,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:725,1
    - Dst: ep_mul_lwnaf
      Src: /src/relic/test/test_ep.c:726,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:727,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:727,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ep.c:728,1
    - Dst: ep_mul_lwnaf
      Src: /src/relic/test/test_ep.c:729,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:730,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:730,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:731,1
    - Dst: ep_mul_lwnaf
      Src: /src/relic/test/test_ep.c:732,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:733,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:733,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:734,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:735,1
    - Dst: ep_mul_lwnaf
      Src: /src/relic/test/test_ep.c:736,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:737,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:737,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:738,1
    - Dst: ep_mul_lwnaf
      Src: /src/relic/test/test_ep.c:739,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:740,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:741,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:741,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:742,1
    - Dst: ep_mul_lwnaf
      Src: /src/relic/test/test_ep.c:743,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:744,1
    - Dst: ep_mul_lwnaf
      Src: /src/relic/test/test_ep.c:745,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:746,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:746,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:752,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:753,1
    - Dst: ep_mul_lwreg
      Src: /src/relic/test/test_ep.c:754,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:755,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:755,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ep.c:756,1
    - Dst: ep_mul_lwreg
      Src: /src/relic/test/test_ep.c:757,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:758,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:758,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:759,1
    - Dst: ep_mul_lwreg
      Src: /src/relic/test/test_ep.c:760,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:761,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:761,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:762,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:763,1
    - Dst: ep_mul_lwreg
      Src: /src/relic/test/test_ep.c:764,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:765,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:765,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:766,1
    - Dst: ep_mul_lwreg
      Src: /src/relic/test/test_ep.c:767,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:768,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:769,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:769,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:770,1
    - Dst: ep_mul_lwreg
      Src: /src/relic/test/test_ep.c:771,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:772,1
    - Dst: ep_mul_lwreg
      Src: /src/relic/test/test_ep.c:773,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:774,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:774,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:779,1
    - Dst: ep_mul_dig
      Src: /src/relic/test/test_ep.c:780,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:781,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:781,1
    - Dst: ep_mul_dig
      Src: /src/relic/test/test_ep.c:782,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:783,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:783,1
    - Dst: bn_rand
      Src: /src/relic/test/test_ep.c:784,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:785,1
    - Dst: ep_mul_dig
      Src: /src/relic/test/test_ep.c:786,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:787,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:787,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 177
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 790
    functionName: multiplication
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 1
    functionsReached:
    - ep_is_infty
    - ep_curve_get_ord
    - ep_on_curve
    - ep_null
    - bn_set_dig
    - TEST_ONCE
    - bn_null
    - ep_mul_dig
    - ep_mul_monty
    - ep_mul
    - ep_mul_slide
    - ep_neg
    - bn_rand
    - TEST_CASE
    - ep_cmp
    - ep_new
    - ep_mul_lwreg
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ep_mul_lwnaf
    - ep_mul_gen
    - ep_mul_basic
    - bn_add
    - ep_curve_get_gen
    - bn_zero
    - TEST_ASSERT
    - ep_rand
    linkageType: ''
    returnType: int
    signature: int multiplication(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_ep.c:810,1
    - Dst: bn_null
      Src: /src/relic/test/test_ep.c:811,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:812,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:813,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:814,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:817,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:821,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:822,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:823,1
    - Dst: bn_new
      Src: /src/relic/test/test_ep.c:824,1
    - Dst: bn_new
      Src: /src/relic/test/test_ep.c:825,1
    - Dst: ep_curve_get_gen
      Src: /src/relic/test/test_ep.c:827,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_ep.c:828,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:831,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:833,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:834,1
    - Dst: ep_mul_pre
      Src: /src/relic/test/test_ep.c:835,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:836,1
    - Dst: ep_mul_fix
      Src: /src/relic/test/test_ep.c:837,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:838,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:838,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ep.c:839,1
    - Dst: ep_mul_fix
      Src: /src/relic/test/test_ep.c:840,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:841,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:841,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:842,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:843,1
    - Dst: ep_mul_fix
      Src: /src/relic/test/test_ep.c:844,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:845,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:846,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:846,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:847,1
    - Dst: ep_mul_fix
      Src: /src/relic/test/test_ep.c:848,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:849,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:850,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:850,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:851,1
    - Dst: ep_mul_fix
      Src: /src/relic/test/test_ep.c:852,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:853,1
    - Dst: ep_mul_fix
      Src: /src/relic/test/test_ep.c:854,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:855,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:855,1
    - Dst: ep_free
      Src: /src/relic/test/test_ep.c:858,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:863,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:865,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:866,1
    - Dst: ep_mul_pre_basic
      Src: /src/relic/test/test_ep.c:867,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:868,1
    - Dst: ep_mul_fix_basic
      Src: /src/relic/test/test_ep.c:869,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:870,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:870,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ep.c:871,1
    - Dst: ep_mul_fix_basic
      Src: /src/relic/test/test_ep.c:872,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:873,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:873,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:874,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:875,1
    - Dst: ep_mul_fix_basic
      Src: /src/relic/test/test_ep.c:876,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:877,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:877,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:878,1
    - Dst: ep_mul_fix_basic
      Src: /src/relic/test/test_ep.c:879,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:880,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:881,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:881,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:882,1
    - Dst: ep_mul_fix_basic
      Src: /src/relic/test/test_ep.c:883,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:884,1
    - Dst: ep_mul_fix_basic
      Src: /src/relic/test/test_ep.c:885,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:886,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:886,1
    - Dst: ep_free
      Src: /src/relic/test/test_ep.c:889,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:895,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:897,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:898,1
    - Dst: ep_mul_pre_combs
      Src: /src/relic/test/test_ep.c:899,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:900,1
    - Dst: ep_mul_fix_combs
      Src: /src/relic/test/test_ep.c:901,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:902,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:902,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ep.c:903,1
    - Dst: ep_mul_fix_combs
      Src: /src/relic/test/test_ep.c:904,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:905,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:905,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:906,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:907,1
    - Dst: ep_mul_fix_combs
      Src: /src/relic/test/test_ep.c:908,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:909,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:909,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:910,1
    - Dst: ep_mul_fix_combs
      Src: /src/relic/test/test_ep.c:911,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:912,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:913,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:913,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:914,1
    - Dst: ep_mul_fix_combs
      Src: /src/relic/test/test_ep.c:915,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:916,1
    - Dst: ep_mul_fix_combs
      Src: /src/relic/test/test_ep.c:917,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:918,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:918,1
    - Dst: ep_free
      Src: /src/relic/test/test_ep.c:921,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:927,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:929,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:930,1
    - Dst: ep_mul_pre_combd
      Src: /src/relic/test/test_ep.c:931,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:932,1
    - Dst: ep_mul_fix_combd
      Src: /src/relic/test/test_ep.c:933,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:934,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:934,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ep.c:935,1
    - Dst: ep_mul_fix_combd
      Src: /src/relic/test/test_ep.c:936,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:937,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:937,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:938,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:939,1
    - Dst: ep_mul_fix_combd
      Src: /src/relic/test/test_ep.c:940,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:941,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:941,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:942,1
    - Dst: ep_mul_fix_combd
      Src: /src/relic/test/test_ep.c:943,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:944,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:945,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:945,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:946,1
    - Dst: ep_mul_fix_combd
      Src: /src/relic/test/test_ep.c:947,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:948,1
    - Dst: ep_mul_fix_combd
      Src: /src/relic/test/test_ep.c:949,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:950,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:950,1
    - Dst: ep_free
      Src: /src/relic/test/test_ep.c:953,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:959,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:961,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:962,1
    - Dst: ep_mul_pre_lwnaf
      Src: /src/relic/test/test_ep.c:963,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:964,1
    - Dst: ep_mul_fix_lwnaf
      Src: /src/relic/test/test_ep.c:965,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:966,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:966,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ep.c:967,1
    - Dst: ep_mul_fix_lwnaf
      Src: /src/relic/test/test_ep.c:968,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:969,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:969,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:970,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:971,1
    - Dst: ep_mul_fix_lwnaf
      Src: /src/relic/test/test_ep.c:972,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:973,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:973,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:974,1
    - Dst: ep_mul_fix_lwnaf
      Src: /src/relic/test/test_ep.c:975,1
    - Dst: ep_neg
      Src: /src/relic/test/test_ep.c:976,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:977,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:977,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:978,1
    - Dst: ep_mul_fix_lwnaf
      Src: /src/relic/test/test_ep.c:979,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:980,1
    - Dst: ep_mul_fix_lwnaf
      Src: /src/relic/test/test_ep.c:981,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:982,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:982,1
    - Dst: ep_free
      Src: /src/relic/test/test_ep.c:985,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 167
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 988
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 988
    functionName: fixed
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 13
    functionsReached:
    - ep_mul_pre_lwnaf
    - ep_is_infty
    - ep_mul_pre_combs
    - ep_curve_get_ord
    - ep_mul_fix_basic
    - ep_null
    - bn_set_dig
    - ep_mul_fix_combs
    - ep_mul_fix_combd
    - ep_mul_fix_lwnaf
    - bn_null
    - ep_mul_fix
    - ep_mul_pre
    - ep_mul
    - ep_neg
    - TEST_CASE
    - ep_cmp
    - ep_new
    - ep_mul_pre_combd
    - bn_rand_mod
    - bn_neg
    - bn_new
    - bn_add
    - ep_curve_get_gen
    - bn_zero
    - TEST_ASSERT
    - ep_free
    - ep_rand
    - ep_mul_pre_basic
    linkageType: ''
    returnType: int
    signature: int fixed(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_ep.c:1008,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:1009,1
    - Dst: bn_new
      Src: /src/relic/test/test_ep.c:1012,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:1013,1
    - Dst: bn_null
      Src: /src/relic/test/test_ep.c:1015,1
    - Dst: bn_new
      Src: /src/relic/test/test_ep.c:1016,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:1017,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:1018,1
    - Dst: ep_curve_get_gen
      Src: /src/relic/test/test_ep.c:1021,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_ep.c:1022,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:1024,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1025,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1026,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1027,1
    - Dst: ep_mul_sim
      Src: /src/relic/test/test_ep.c:1028,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1029,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1029,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1030,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1031,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1032,1
    - Dst: ep_mul_sim
      Src: /src/relic/test/test_ep.c:1033,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1034,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1034,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1035,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1036,1
    - Dst: ep_mul_sim
      Src: /src/relic/test/test_ep.c:1037,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1038,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1039,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1040,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1041,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1041,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1042,1
    - Dst: ep_mul_sim
      Src: /src/relic/test/test_ep.c:1043,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1044,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1045,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1046,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1047,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1047,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1048,1
    - Dst: ep_mul_sim
      Src: /src/relic/test/test_ep.c:1049,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1050,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1051,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1052,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1053,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1053,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1054,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1055,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1056,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1057,1
    - Dst: ep_mul_sim
      Src: /src/relic/test/test_ep.c:1058,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1059,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1060,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1061,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1062,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1062,1
    - Dst: ep_mul_sim
      Src: /src/relic/test/test_ep.c:1063,1
    - Dst: ep_mul_sim_lot
      Src: /src/relic/test/test_ep.c:1064,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1065,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1065,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:1069,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1070,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1071,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1072,1
    - Dst: ep_mul_sim_basic
      Src: /src/relic/test/test_ep.c:1073,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1074,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1074,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1075,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1076,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1077,1
    - Dst: ep_mul_sim_basic
      Src: /src/relic/test/test_ep.c:1078,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1079,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1079,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1080,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1081,1
    - Dst: ep_mul_sim_basic
      Src: /src/relic/test/test_ep.c:1082,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1083,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1084,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1085,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1086,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1086,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1087,1
    - Dst: ep_mul_sim_basic
      Src: /src/relic/test/test_ep.c:1088,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1089,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1090,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1091,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1092,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1092,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1093,1
    - Dst: ep_mul_sim_basic
      Src: /src/relic/test/test_ep.c:1094,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1095,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1096,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1097,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1098,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1098,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1099,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1100,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1101,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1102,1
    - Dst: ep_mul_sim_basic
      Src: /src/relic/test/test_ep.c:1103,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1104,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1105,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1107,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1107,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:1112,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1113,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1114,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1115,1
    - Dst: ep_mul_sim_trick
      Src: /src/relic/test/test_ep.c:1116,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1117,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1117,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1118,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1119,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1120,1
    - Dst: ep_mul_sim_trick
      Src: /src/relic/test/test_ep.c:1121,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1122,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1122,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1123,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1124,1
    - Dst: ep_mul_sim_trick
      Src: /src/relic/test/test_ep.c:1125,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1126,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1127,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1128,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1129,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1129,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1130,1
    - Dst: ep_mul_sim_trick
      Src: /src/relic/test/test_ep.c:1131,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1132,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1133,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1134,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1135,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1135,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1136,1
    - Dst: ep_mul_sim_trick
      Src: /src/relic/test/test_ep.c:1137,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1138,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1139,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1140,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1141,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1141,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1142,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1143,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1144,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1145,1
    - Dst: ep_mul_sim_trick
      Src: /src/relic/test/test_ep.c:1146,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1147,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1148,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1149,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1150,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1150,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:1155,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1156,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1157,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1158,1
    - Dst: ep_mul_sim_inter
      Src: /src/relic/test/test_ep.c:1159,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1160,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1160,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1161,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1162,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1163,1
    - Dst: ep_mul_sim_inter
      Src: /src/relic/test/test_ep.c:1164,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1165,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1165,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1166,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1167,1
    - Dst: ep_mul_sim_inter
      Src: /src/relic/test/test_ep.c:1168,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1169,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1170,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1171,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1172,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1172,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1173,1
    - Dst: ep_mul_sim_inter
      Src: /src/relic/test/test_ep.c:1174,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1175,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1176,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1177,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1178,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1178,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1179,1
    - Dst: ep_mul_sim_inter
      Src: /src/relic/test/test_ep.c:1180,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1181,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1182,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1183,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1184,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1184,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1185,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1186,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1187,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1188,1
    - Dst: ep_mul_sim_inter
      Src: /src/relic/test/test_ep.c:1189,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1190,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1191,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1192,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1193,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1193,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:1198,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1199,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1200,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1201,1
    - Dst: ep_mul_sim_joint
      Src: /src/relic/test/test_ep.c:1202,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1203,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1203,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1204,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1205,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1206,1
    - Dst: ep_mul_sim_joint
      Src: /src/relic/test/test_ep.c:1207,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1208,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1208,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1209,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1210,1
    - Dst: ep_mul_sim_joint
      Src: /src/relic/test/test_ep.c:1211,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1212,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1213,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1214,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1215,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1215,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1216,1
    - Dst: ep_mul_sim_joint
      Src: /src/relic/test/test_ep.c:1217,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1218,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1219,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1220,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1221,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1221,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1222,1
    - Dst: ep_mul_sim_joint
      Src: /src/relic/test/test_ep.c:1223,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1224,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1225,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1226,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1227,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1227,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1228,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1229,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1230,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1231,1
    - Dst: ep_mul_sim_joint
      Src: /src/relic/test/test_ep.c:1232,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1233,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1234,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1235,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1236,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1236,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:1240,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1241,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1242,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1243,1
    - Dst: ep_mul_sim_gen
      Src: /src/relic/test/test_ep.c:1244,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1245,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1245,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1246,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1247,1
    - Dst: ep_mul_gen
      Src: /src/relic/test/test_ep.c:1248,1
    - Dst: ep_mul_sim_gen
      Src: /src/relic/test/test_ep.c:1249,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1250,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1250,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1251,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1252,1
    - Dst: ep_mul_sim_gen
      Src: /src/relic/test/test_ep.c:1253,1
    - Dst: ep_curve_get_gen
      Src: /src/relic/test/test_ep.c:1254,1
    - Dst: ep_mul_sim
      Src: /src/relic/test/test_ep.c:1255,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1256,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1256,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1257,1
    - Dst: ep_mul_sim_gen
      Src: /src/relic/test/test_ep.c:1258,1
    - Dst: ep_curve_get_gen
      Src: /src/relic/test/test_ep.c:1259,1
    - Dst: ep_mul_sim
      Src: /src/relic/test/test_ep.c:1260,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1261,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1261,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1262,1
    - Dst: ep_mul_sim_gen
      Src: /src/relic/test/test_ep.c:1263,1
    - Dst: ep_curve_get_gen
      Src: /src/relic/test/test_ep.c:1264,1
    - Dst: ep_mul_sim
      Src: /src/relic/test/test_ep.c:1265,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1266,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1266,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1267,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1268,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1269,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1270,1
    - Dst: ep_mul_sim_gen
      Src: /src/relic/test/test_ep.c:1271,1
    - Dst: ep_curve_get_gen
      Src: /src/relic/test/test_ep.c:1272,1
    - Dst: ep_mul_sim
      Src: /src/relic/test/test_ep.c:1273,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1274,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1274,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:1277,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_ep.c:1278,1
    - Dst: ep_mul_sim_lot
      Src: /src/relic/test/test_ep.c:1279,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1280,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1280,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ep.c:1282,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:1283,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1284,1
    - Dst: ep_add
      Src: /src/relic/test/test_ep.c:1285,1
    - Dst: ep_mul_sim_lot
      Src: /src/relic/test/test_ep.c:1286,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1287,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1287,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1289,1
    - Dst: ep_sub
      Src: /src/relic/test/test_ep.c:1290,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ep.c:1291,1
    - Dst: ep_mul_sim_lot
      Src: /src/relic/test/test_ep.c:1292,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1293,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1293,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1294,1
    - Dst: ep_sub
      Src: /src/relic/test/test_ep.c:1295,1
    - Dst: ep_sub
      Src: /src/relic/test/test_ep.c:1296,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ep.c:1297,1
    - Dst: ep_mul_sim_lot
      Src: /src/relic/test/test_ep.c:1298,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1299,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1299,1
    - Dst: bn_add
      Src: /src/relic/test/test_ep.c:1300,1
    - Dst: ep_mul_sim_lot
      Src: /src/relic/test/test_ep.c:1301,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1302,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 286
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1304
    functionName: simultaneous
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 1
    functionsReached:
    - ep_mul_sim_trick
    - ep_curve_get_ord
    - ep_add
    - ep_null
    - ep_mul_sim_inter
    - ep_mul_sim_lot
    - ep_mul_sim
    - bn_null
    - ep_sub
    - ep_mul
    - ep_mul_sim_basic
    - ep_mul_sim_gen
    - TEST_CASE
    - ep_cmp
    - ep_new
    - ep_set_infty
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ep_mul_gen
    - bn_add
    - ep_mul_sim_joint
    - ep_curve_get_gen
    - bn_zero
    - TEST_ASSERT
    - ep_rand
    linkageType: ''
    returnType: int
    signature: int simultaneous(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:1324,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:1325,1
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:1326,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:1329,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:1330,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:1331,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:1333,1
    - Dst: ep_rand
      Src: /src/relic/test/test_ep.c:1334,1
    - Dst: ep_pck
      Src: /src/relic/test/test_ep.c:1335,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1336,1
    - Dst: ep_upk
      Src: /src/relic/test/test_ep.c:1336,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1337,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_ep.c:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1340
    functionName: compression
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 6
    functionsReached:
    - TEST_CASE
    - ep_cmp
    - ep_new
    - TEST_ASSERT
    - ep_upk
    - ep_rand
    - ep_null
    - ep_pck
    linkageType: ''
    returnType: int
    signature: int compression(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep_null
      Src: /src/relic/test/test_ep.c:1359,1
    - Dst: bn_null
      Src: /src/relic/test/test_ep.c:1360,1
    - Dst: ep_new
      Src: /src/relic/test/test_ep.c:1363,1
    - Dst: bn_new
      Src: /src/relic/test/test_ep.c:1364,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_ep.c:1366,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:1368,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_ep.c:1369,1
    - Dst: ep_map_rnd_size
      Src: /src/relic/test/test_ep.c:1369,1
    - Dst: ep_map
      Src: /src/relic/test/test_ep.c:1370,1
    - Dst: ep_map_rnd_size
      Src: /src/relic/test/test_ep.c:1370,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1371,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:1371,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:1371,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1372,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1373,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:1373,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:1373,1
    - Dst: ep_map_rnd
      Src: /src/relic/test/test_ep.c:1374,1
    - Dst: ep_map_rnd_size
      Src: /src/relic/test/test_ep.c:1374,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1375,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:1375,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:1375,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1376,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1377,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:1377,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:1377,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:1382,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_ep.c:1383,1
    - Dst: ep_map_rnd_size
      Src: /src/relic/test/test_ep.c:1383,1
    - Dst: ep_map_basic
      Src: /src/relic/test/test_ep.c:1384,1
    - Dst: ep_map_rnd_size
      Src: /src/relic/test/test_ep.c:1384,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1385,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:1385,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:1385,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1386,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1387,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:1387,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:1387,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:1393,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_ep.c:1394,1
    - Dst: ep_map_rnd_size
      Src: /src/relic/test/test_ep.c:1394,1
    - Dst: ep_map_sswum
      Src: /src/relic/test/test_ep.c:1395,1
    - Dst: ep_map_rnd_size
      Src: /src/relic/test/test_ep.c:1395,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1396,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:1396,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:1396,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1397,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1398,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:1398,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:1398,1
    - Dst: ep_curve_is_super
      Src: /src/relic/test/test_ep.c:1404,1
    - Dst: ep_curve_opt_a
      Src: /src/relic/test/test_ep.c:1405,1
    - Dst: ep_curve_opt_b
      Src: /src/relic/test/test_ep.c:1405,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ep.c:1406,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_ep.c:1407,1
    - Dst: ep_map_rnd_size
      Src: /src/relic/test/test_ep.c:1407,1
    - Dst: ep_map_swift
      Src: /src/relic/test/test_ep.c:1408,1
    - Dst: ep_map_rnd_size
      Src: /src/relic/test/test_ep.c:1408,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1409,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:1409,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:1409,1
    - Dst: ep_mul
      Src: /src/relic/test/test_ep.c:1410,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ep.c:1411,1
    - Dst: ep_on_curve
      Src: /src/relic/test/test_ep.c:1411,1
    - Dst: ep_is_infty
      Src: /src/relic/test/test_ep.c:1411,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1417
    functionName: hashing
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 1
    functionsReached:
    - ep_is_infty
    - ep_curve_get_ord
    - ep_on_curve
    - ep_null
    - ep_map_basic
    - bn_null
    - ep_map_swift
    - ep_curve_opt_b
    - ep_mul
    - ep_curve_opt_a
    - ep_map_sswum
    - TEST_CASE
    - ep_new
    - bn_new
    - ep_map_rnd
    - ep_map
    - ep_map_rnd_size
    - TEST_ASSERT
    - rand_bytes
    - ep_curve_is_super
    linkageType: ''
    returnType: int
    signature: int hashing(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep_param_print
      Src: /src/relic/test/test_ep.c:1429,1
    - Dst: util_banner
      Src: /src/relic/test/test_ep.c:1431,1
    - Dst: memory
      Src: /src/relic/test/test_ep.c:1433,1
    - Dst: core_clean
      Src: /src/relic/test/test_ep.c:1434,1
    - Dst: util
      Src: /src/relic/test/test_ep.c:1438,1
    - Dst: util_banner
      Src: /src/relic/test/test_ep.c:1442,1
    - Dst: addition
      Src: /src/relic/test/test_ep.c:1444,1
    - Dst: subtraction
      Src: /src/relic/test/test_ep.c:1448,1
    - Dst: doubling
      Src: /src/relic/test/test_ep.c:1452,1
    - Dst: endomorphism
      Src: /src/relic/test/test_ep.c:1456,1
    - Dst: multiplication
      Src: /src/relic/test/test_ep.c:1460,1
    - Dst: fixed
      Src: /src/relic/test/test_ep.c:1464,1
    - Dst: simultaneous
      Src: /src/relic/test/test_ep.c:1468,1
    - Dst: compression
      Src: /src/relic/test/test_ep.c:1472,1
    - Dst: hashing
      Src: /src/relic/test/test_ep.c:1476,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1428
    functionDepth: 2
    functionLinenumber: 1428
    functionLinenumberEnd: 1481
    functionName: test
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 27
    functionsReached:
    - multiplication
    - util_banner
    - simultaneous
    - compression
    - memory
    - core_clean
    - hashing
    - subtraction
    - endomorphism
    - ep_param_print
    - addition
    - fixed
    - doubling
    - util
    linkageType: ''
    returnType: int
    signature: int test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_ep.c:1487,1
    - Dst: core_clean
      Src: /src/relic/test/test_ep.c:1488,1
    - Dst: util_banner
      Src: /src/relic/test/test_ep.c:1492,1
    - Dst: ep_param_set_any_plain
      Src: /src/relic/test/test_ep.c:1495,1
    - Dst: ep_param_get
      Src: /src/relic/test/test_ep.c:1497,1
    - Dst: test
      Src: /src/relic/test/test_ep.c:1498,1
    - Dst: core_clean
      Src: /src/relic/test/test_ep.c:1499,1
    - Dst: ep_param_set_any_endom
      Src: /src/relic/test/test_ep.c:1506,1
    - Dst: ep_param_get
      Src: /src/relic/test/test_ep.c:1508,1
    - Dst: test
      Src: /src/relic/test/test_ep.c:1510,1
    - Dst: core_clean
      Src: /src/relic/test/test_ep.c:1511,1
    - Dst: ep_param_set_any_pairf
      Src: /src/relic/test/test_ep.c:1518,1
    - Dst: ep_param_get
      Src: /src/relic/test/test_ep.c:1520,1
    - Dst: test
      Src: /src/relic/test/test_ep.c:1522,1
    - Dst: core_clean
      Src: /src/relic/test/test_ep.c:1523,1
    - Dst: ep_param_set_any_super
      Src: /src/relic/test/test_ep.c:1530,1
    - Dst: ep_param_get
      Src: /src/relic/test/test_ep.c:1532,1
    - Dst: test
      Src: /src/relic/test/test_ep.c:1534,1
    - Dst: core_clean
      Src: /src/relic/test/test_ep.c:1535,1
    - Dst: ep_param_set_any
      Src: /src/relic/test/test_ep.c:1543,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_ep.c:1544,1
    - Dst: core_clean
      Src: /src/relic/test/test_ep.c:1545,1
    - Dst: test
      Src: /src/relic/test/test_ep.c:1548,1
    - Dst: core_clean
      Src: /src/relic/test/test_ep.c:1549,1
    - Dst: util_banner
      Src: /src/relic/test/test_ep.c:1560,1
    - Dst: core_clean
      Src: /src/relic/test/test_ep.c:1562,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1483
    functionDepth: 1
    functionLinenumber: 1483
    functionLinenumberEnd: 1564
    functionName: main
    functionSourceFile: /src/relic/test/test_ep.c
    functionUses: 97
    functionsReached:
    - util_banner
    - ep_param_set_any_super
    - ep_param_set_any_endom
    - core_clean
    - RLC_THROW
    - ep_param_get
    - ep_param_set_any_pairf
    - core_init
    - test
    - ep_param_set_any
    - ep_param_set_any_plain
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_md.c:117,1
    - Dst: memset
      Src: /src/relic/test/test_md.c:119,1
    - Dst: strcat
      Src: /src/relic/test/test_md.c:121,1
    - Dst: md_map_sh224
      Src: /src/relic/test/test_md.c:123,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:123,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:124,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:124,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_md.c:129,1
    - Dst: md_xmd_sh224
      Src: /src/relic/test/test_md.c:131,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:131,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:132,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:132,1
    - Dst: md_xmd_sh224
      Src: /src/relic/test/test_md.c:133,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:133,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:133,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:134,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:134,1
    - Dst: md_xmd_sh224
      Src: /src/relic/test/test_md.c:135,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:135,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:135,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:136,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:136,1
    - Dst: md_xmd_sh224
      Src: /src/relic/test/test_md.c:137,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:137,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:137,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:138,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 146
    functionName: sha224
    functionSourceFile: /src/relic/test/test_md.c
    functionUses: 2
    functionsReached:
    - TEST_ONCE
    - strlen
    - memset
    - TEST_ASSERT
    - strcat
    - md_xmd_sh224
    - memcmp
    - md_map_sh224
    linkageType: ''
    returnType: int
    signature: int sha224(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_md.c:200,1
    - Dst: memset
      Src: /src/relic/test/test_md.c:202,1
    - Dst: strcat
      Src: /src/relic/test/test_md.c:204,1
    - Dst: md_map_sh256
      Src: /src/relic/test/test_md.c:206,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:206,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:207,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:207,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_md.c:212,1
    - Dst: md_xmd_sh256
      Src: /src/relic/test/test_md.c:214,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:214,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:215,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:215,1
    - Dst: md_xmd_sh256
      Src: /src/relic/test/test_md.c:216,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:216,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:216,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:217,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:217,1
    - Dst: md_xmd_sh256
      Src: /src/relic/test/test_md.c:218,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:218,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:218,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:219,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:219,1
    - Dst: md_xmd_sh256
      Src: /src/relic/test/test_md.c:220,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:220,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:220,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:221,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 229
    functionName: sha256
    functionSourceFile: /src/relic/test/test_md.c
    functionUses: 29
    functionsReached:
    - md_xmd_sh256
    - TEST_ONCE
    - strlen
    - memset
    - md_map_sh256
    - TEST_ASSERT
    - strcat
    - memcmp
    linkageType: ''
    returnType: int
    signature: int sha256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_md.c:297,1
    - Dst: memset
      Src: /src/relic/test/test_md.c:299,1
    - Dst: strcat
      Src: /src/relic/test/test_md.c:301,1
    - Dst: md_map_sh384
      Src: /src/relic/test/test_md.c:303,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:303,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:304,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:304,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_md.c:309,1
    - Dst: md_xmd_sh384
      Src: /src/relic/test/test_md.c:311,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:311,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:312,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:312,1
    - Dst: md_xmd_sh384
      Src: /src/relic/test/test_md.c:313,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:313,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:313,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:314,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:314,1
    - Dst: md_xmd_sh384
      Src: /src/relic/test/test_md.c:315,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:315,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:315,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:316,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:316,1
    - Dst: md_xmd_sh384
      Src: /src/relic/test/test_md.c:317,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:317,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:317,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:318,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 326
    functionName: sha384
    functionSourceFile: /src/relic/test/test_md.c
    functionUses: 3
    functionsReached:
    - TEST_ONCE
    - md_map_sh384
    - strlen
    - memset
    - TEST_ASSERT
    - md_xmd_sh384
    - strcat
    - memcmp
    linkageType: ''
    returnType: int
    signature: int sha384(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_md.c:392,1
    - Dst: memset
      Src: /src/relic/test/test_md.c:394,1
    - Dst: strcat
      Src: /src/relic/test/test_md.c:396,1
    - Dst: md_map_sh512
      Src: /src/relic/test/test_md.c:398,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:398,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:399,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:399,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_md.c:404,1
    - Dst: md_xmd_sh512
      Src: /src/relic/test/test_md.c:406,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:406,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:407,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:407,1
    - Dst: md_xmd_sh512
      Src: /src/relic/test/test_md.c:408,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:408,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:408,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:409,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:409,1
    - Dst: md_xmd_sh512
      Src: /src/relic/test/test_md.c:410,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:410,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:410,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:411,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:411,1
    - Dst: md_xmd_sh512
      Src: /src/relic/test/test_md.c:412,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:412,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:412,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:413,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 421
    functionName: sha512
    functionSourceFile: /src/relic/test/test_md.c
    functionUses: 12
    functionsReached:
    - TEST_ONCE
    - strlen
    - memset
    - md_xmd_sh512
    - TEST_ASSERT
    - strcat
    - md_map_sh512
    - memcmp
    linkageType: ''
    returnType: int
    signature: int sha512(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_md.c:444,1
    - Dst: md_kdf
      Src: /src/relic/test/test_md.c:445,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:446,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 461
    functionName: kdf
    functionSourceFile: /src/relic/test/test_md.c
    functionUses: 20
    functionsReached:
    - md_kdf
    - memcmp
    - TEST_ONCE
    - TEST_ASSERT
    linkageType: ''
    returnType: int
    signature: int kdf(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_md.c:500,1
    - Dst: memset
      Src: /src/relic/test/test_md.c:501,1
    - Dst: md_hmac
      Src: /src/relic/test/test_md.c:502,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:502,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:503,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:503,1
    - Dst: strncpy
      Src: /src/relic/test/test_md.c:504,1
    - Dst: md_hmac
      Src: /src/relic/test/test_md.c:505,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:505,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:506,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:506,1
    - Dst: memset
      Src: /src/relic/test/test_md.c:507,1
    - Dst: memset
      Src: /src/relic/test/test_md.c:508,1
    - Dst: md_hmac
      Src: /src/relic/test/test_md.c:509,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:510,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:510,1
    - Dst: memset
      Src: /src/relic/test/test_md.c:514,1
    - Dst: md_hmac
      Src: /src/relic/test/test_md.c:515,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:516,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:516,1
    - Dst: memset
      Src: /src/relic/test/test_md.c:517,1
    - Dst: md_hmac
      Src: /src/relic/test/test_md.c:518,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:518,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:519,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:519,1
    - Dst: memset
      Src: /src/relic/test/test_md.c:520,1
    - Dst: md_hmac
      Src: /src/relic/test/test_md.c:521,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:521,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:522,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:522,1
    - Dst: md_hmac
      Src: /src/relic/test/test_md.c:523,1
    - Dst: strlen
      Src: /src/relic/test/test_md.c:523,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_md.c:524,1
    - Dst: memcmp
      Src: /src/relic/test/test_md.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 533
    functionName: hmac
    functionSourceFile: /src/relic/test/test_md.c
    functionUses: 12
    functionsReached:
    - TEST_ONCE
    - md_hmac
    - strlen
    - memset
    - TEST_ASSERT
    - strncpy
    - memcmp
    linkageType: ''
    returnType: int
    signature: int hmac(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_md.c:536,1
    - Dst: core_clean
      Src: /src/relic/test/test_md.c:537,1
    - Dst: util_banner
      Src: /src/relic/test/test_md.c:541,1
    - Dst: sha224
      Src: /src/relic/test/test_md.c:544,1
    - Dst: core_clean
      Src: /src/relic/test/test_md.c:545,1
    - Dst: sha256
      Src: /src/relic/test/test_md.c:551,1
    - Dst: core_clean
      Src: /src/relic/test/test_md.c:552,1
    - Dst: sha384
      Src: /src/relic/test/test_md.c:558,1
    - Dst: core_clean
      Src: /src/relic/test/test_md.c:559,1
    - Dst: sha512
      Src: /src/relic/test/test_md.c:565,1
    - Dst: core_clean
      Src: /src/relic/test/test_md.c:566,1
    - Dst: kdf
      Src: /src/relic/test/test_md.c:571,1
    - Dst: core_clean
      Src: /src/relic/test/test_md.c:572,1
    - Dst: hmac
      Src: /src/relic/test/test_md.c:576,1
    - Dst: core_clean
      Src: /src/relic/test/test_md.c:577,1
    - Dst: util_banner
      Src: /src/relic/test/test_md.c:581,1
    - Dst: core_clean
      Src: /src/relic/test/test_md.c:583,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 585
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 585
    functionName: main
    functionSourceFile: /src/relic/test/test_md.c
    functionUses: 97
    functionsReached:
    - util_banner
    - core_clean
    - sha384
    - hmac
    - core_init
    - sha224
    - kdf
    - sha256
    - sha512
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:40,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:43,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:44,1
    - Dst: fp2_free
      Src: /src/relic/test/test_fpx.c:45,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:50,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fpx.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 59
    functionName: memory2
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - fp2_null
    - fp2_free
    - fp2_new
    linkageType: ''
    returnType: int
    signature: int memory2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:67,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:68,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:69,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:72,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:73,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:74,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:76,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:77,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:78,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:79,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:80,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:80,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:85,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:86,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:87,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:88,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:89,1
    - Dst: fp2_copy
      Src: /src/relic/test/test_fpx.c:90,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:91,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:91,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:93,1
    - Dst: fp2_copy
      Src: /src/relic/test/test_fpx.c:94,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:95,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:95,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:100,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:101,1
    - Dst: fp2_neg
      Src: /src/relic/test/test_fpx.c:102,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:103,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:104,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:104,1
    - Dst: fp2_neg
      Src: /src/relic/test/test_fpx.c:106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:107,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:107,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:111,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:113,1
    - Dst: fp2_is_zero
      Src: /src/relic/test/test_fpx.c:114,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:115,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:116,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:116,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:117,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:117,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:121,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:123,1
    - Dst: fp2_is_zero
      Src: /src/relic/test/test_fpx.c:124,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:125,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:126,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:126,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:130,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:131,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:132,1
    - Dst: fp2_is_zero
      Src: /src/relic/test/test_fpx.c:132,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:136,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fpx.c:137,1
    - Dst: fp2_set_dig
      Src: /src/relic/test/test_fpx.c:138,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:139,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_fpx.c:139,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:143,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:144,1
    - Dst: fp2_write_bin
      Src: /src/relic/test/test_fpx.c:145,1
    - Dst: fp2_read_bin
      Src: /src/relic/test/test_fpx.c:146,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:147,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:147,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:151,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:152,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:153,1
    - Dst: fp2_size_bin
      Src: /src/relic/test/test_fpx.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 156
    functionName: util2
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp2_set_dig
    - fp2_neg
    - TEST_ASSERT
    - fp2_cmp_dig
    - fp2_cmp
    - fp2_write_bin
    - fp2_null
    - fp2_copy
    - fp2_zero
    - fp2_read_bin
    - fp2_size_bin
    - fp2_is_zero
    - rand_bytes
    - fp2_new
    - fp2_rand
    linkageType: ''
    returnType: int
    signature: int util2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:172,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:173,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:174,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:175,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:176,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:179,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:180,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:181,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:182,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:183,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:185,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:186,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:187,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:188,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:189,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:190,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:190,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:193,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:194,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:195,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:196,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:197,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:198,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:199,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:200,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:201,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:201,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:204,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:205,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:206,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:207,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:208,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:208,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:211,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:212,1
    - Dst: fp2_neg
      Src: /src/relic/test/test_fpx.c:213,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:214,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:215,1
    - Dst: fp2_is_zero
      Src: /src/relic/test/test_fpx.c:215,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:219,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:220,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:221,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:222,1
    - Dst: fp2_add_basic
      Src: /src/relic/test/test_fpx.c:223,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:224,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:224,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:229,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:230,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:231,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:232,1
    - Dst: fp2_add_integ
      Src: /src/relic/test/test_fpx.c:233,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:234,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 237
    functionName: addition2
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp2_add
    - fp2_neg
    - TEST_ASSERT
    - fp2_add_basic
    - fp2_cmp
    - fp2_null
    - fp2_zero
    - fp2_is_zero
    - fp2_add_integ
    - fp2_new
    - fp2_rand
    linkageType: ''
    returnType: int
    signature: int addition2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:256,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:257,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:258,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:259,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:262,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:263,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:264,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:265,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:267,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:268,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:269,1
    - Dst: fp2_sub
      Src: /src/relic/test/test_fpx.c:270,1
    - Dst: fp2_sub
      Src: /src/relic/test/test_fpx.c:271,1
    - Dst: fp2_neg
      Src: /src/relic/test/test_fpx.c:272,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:273,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:273,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:277,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:278,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:279,1
    - Dst: fp2_sub
      Src: /src/relic/test/test_fpx.c:280,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:281,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:281,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:285,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:286,1
    - Dst: fp2_sub
      Src: /src/relic/test/test_fpx.c:287,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:288,1
    - Dst: fp2_is_zero
      Src: /src/relic/test/test_fpx.c:288,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:293,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:294,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:295,1
    - Dst: fp2_sub
      Src: /src/relic/test/test_fpx.c:296,1
    - Dst: fp2_sub_basic
      Src: /src/relic/test/test_fpx.c:297,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:298,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:298,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:303,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:304,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:305,1
    - Dst: fp2_sub
      Src: /src/relic/test/test_fpx.c:306,1
    - Dst: fp2_sub_integ
      Src: /src/relic/test/test_fpx.c:307,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:308,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 311
    functionName: subtraction2
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp2_neg
    - TEST_ASSERT
    - fp2_sub_integ
    - fp2_cmp
    - fp2_null
    - fp2_zero
    - fp2_sub
    - fp2_is_zero
    - fp2_sub_basic
    - fp2_new
    - fp2_rand
    linkageType: ''
    returnType: int
    signature: int subtraction2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:329,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:330,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:331,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:334,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:335,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:336,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:338,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:339,1
    - Dst: fp2_dbl
      Src: /src/relic/test/test_fpx.c:340,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:341,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:342,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:342,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:346,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:347,1
    - Dst: fp2_dbl
      Src: /src/relic/test/test_fpx.c:348,1
    - Dst: fp2_dbl_basic
      Src: /src/relic/test/test_fpx.c:349,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:350,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:350,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:355,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:356,1
    - Dst: fp2_dbl
      Src: /src/relic/test/test_fpx.c:357,1
    - Dst: fp2_dbl_integ
      Src: /src/relic/test/test_fpx.c:358,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:359,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 362
    functionName: doubling2
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp2_add
    - fp2_dbl_integ
    - TEST_ASSERT
    - fp2_cmp
    - fp2_null
    - fp2_dbl
    - fp2_dbl_basic
    - fp2_new
    - fp2_rand
    linkageType: ''
    returnType: int
    signature: int doubling2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:380,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:381,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:382,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:383,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:384,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:385,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:386,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:389,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:390,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:391,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:392,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:393,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:394,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:395,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:397,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:398,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:399,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:400,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:401,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:402,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:402,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:405,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:406,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:407,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:408,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:409,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:410,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:411,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:412,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:413,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:413,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:416,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:417,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:418,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:419,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:420,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:421,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:422,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:423,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:424,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:425,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:425,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:428,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:429,1
    - Dst: fp2_set_dig
      Src: /src/relic/test/test_fpx.c:430,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:431,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:432,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:432,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:435,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:436,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:437,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:438,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:439,1
    - Dst: fp2_is_zero
      Src: /src/relic/test/test_fpx.c:439,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:443,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:444,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:445,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:446,1
    - Dst: fp2_mul_basic
      Src: /src/relic/test/test_fpx.c:447,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:448,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:448,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:453,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:454,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:455,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:456,1
    - Dst: fp2_mul_integ
      Src: /src/relic/test/test_fpx.c:457,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:458,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:458,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:462,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:463,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:464,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_fpx.c:465,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:466,1
    - Dst: fp2_mul_art
      Src: /src/relic/test/test_fpx.c:467,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:468,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:468,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:471,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:472,1
    - Dst: fp2_mul_nor
      Src: /src/relic/test/test_fpx.c:473,1
    - Dst: fp_prime_get_mod8
      Src: /src/relic/test/test_fpx.c:474,1
    - Dst: fp2_mul_art
      Src: /src/relic/test/test_fpx.c:476,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_fpx.c:480,1
    - Dst: fp2_field_get_qnr
      Src: /src/relic/test/test_fpx.c:480,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_fpx.c:481,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:482,1
    - Dst: fp2_copy
      Src: /src/relic/test/test_fpx.c:485,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:488,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:488,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:493,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:494,1
    - Dst: fp2_mul_nor
      Src: /src/relic/test/test_fpx.c:495,1
    - Dst: fp2_mul_nor_basic
      Src: /src/relic/test/test_fpx.c:496,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:497,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:497,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:503,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:504,1
    - Dst: fp2_mul_nor
      Src: /src/relic/test/test_fpx.c:505,1
    - Dst: fp2_mul_nor_integ
      Src: /src/relic/test/test_fpx.c:506,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:507,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:507,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 511
    functionName: multiplication2
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp2_add
    - fp2_null
    - fp2_field_get_qnr
    - fp2_mul_nor
    - bn_null
    - fp2_cmp
    - fp2_mul_integ
    - fp2_mul_art
    - TEST_CASE
    - fp2_set_dig
    - bn_new
    - fp2_mul_nor_integ
    - fp2_is_zero
    - fp2_rand
    - fp2_mul_basic
    - fp_set_dig
    - TEST_ASSERT
    - fp2_mul_nor_basic
    - fp_prime_get_mod8
    - fp2_mul
    - fp2_copy
    - fp2_zero
    - fp2_new
    linkageType: ''
    returnType: int
    signature: int multiplication2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:532,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:533,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:534,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:537,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:538,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:539,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:541,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:542,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:543,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_fpx.c:544,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:545,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:545,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:549,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:550,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_fpx.c:551,1
    - Dst: fp2_sqr_basic
      Src: /src/relic/test/test_fpx.c:552,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:553,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:553,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:558,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:559,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_fpx.c:560,1
    - Dst: fp2_sqr_integ
      Src: /src/relic/test/test_fpx.c:561,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:562,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 565
    functionName: squaring2
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp2_sqr
    - TEST_CASE
    - fp2_sqr_integ
    - TEST_ASSERT
    - fp2_cmp
    - fp2_null
    - fp2_mul
    - fp2_sqr_basic
    - fp2_new
    - fp2_rand
    linkageType: ''
    returnType: int
    signature: int squaring2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:583,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:584,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:585,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:586,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:587,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:589,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:591,1
    - Dst: fp2_is_zero
      Src: /src/relic/test/test_fpx.c:592,1
    - Dst: fp2_inv
      Src: /src/relic/test/test_fpx.c:593,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:594,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:595,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_fpx.c:595,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:598,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:600,1
    - Dst: fp2_is_zero
      Src: /src/relic/test/test_fpx.c:601,1
    - Dst: fp2_conv_cyc
      Src: /src/relic/test/test_fpx.c:602,1
    - Dst: fp2_inv
      Src: /src/relic/test/test_fpx.c:603,1
    - Dst: fp2_inv_cyc
      Src: /src/relic/test/test_fpx.c:604,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:605,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:605,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:608,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:610,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:611,1
    - Dst: fp2_is_zero
      Src: /src/relic/test/test_fpx.c:612,1
    - Dst: fp2_is_zero
      Src: /src/relic/test/test_fpx.c:612,1
    - Dst: fp2_copy
      Src: /src/relic/test/test_fpx.c:613,1
    - Dst: fp2_copy
      Src: /src/relic/test/test_fpx.c:614,1
    - Dst: fp2_inv
      Src: /src/relic/test/test_fpx.c:615,1
    - Dst: fp2_inv
      Src: /src/relic/test/test_fpx.c:616,1
    - Dst: fp2_inv_sim
      Src: /src/relic/test/test_fpx.c:617,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:618,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:618,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:619,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 621
    functionName: inversion2
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp2_inv
    - fp2_conv_cyc
    - TEST_CASE
    - fp2_inv_sim
    - TEST_ASSERT
    - fp2_cmp_dig
    - fp2_rand
    - fp2_cmp
    - fp2_mul
    - fp2_copy
    - fp2_inv_cyc
    - fp2_new
    - fp2_is_zero
    linkageType: ''
    returnType: int
    signature: int inversion2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:641,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:642,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:643,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:644,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:647,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:648,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:649,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:650,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:652,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:653,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:654,1
    - Dst: fp2_exp
      Src: /src/relic/test/test_fpx.c:655,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:656,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_fpx.c:656,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:657,1
    - Dst: fp2_exp
      Src: /src/relic/test/test_fpx.c:658,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:659,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:659,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:660,1
    - Dst: fp2_exp
      Src: /src/relic/test/test_fpx.c:661,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:662,1
    - Dst: fp2_exp
      Src: /src/relic/test/test_fpx.c:663,1
    - Dst: fp2_inv
      Src: /src/relic/test/test_fpx.c:664,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:665,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:665,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:666,1
    - Dst: fp2_exp_dig
      Src: /src/relic/test/test_fpx.c:667,1
    - Dst: fp2_exp
      Src: /src/relic/test/test_fpx.c:668,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:669,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:669,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:672,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:673,1
    - Dst: fp2_frb
      Src: /src/relic/test/test_fpx.c:674,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:675,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:675,1
    - Dst: fp2_frb
      Src: /src/relic/test/test_fpx.c:676,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fpx.c:679,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fpx.c:679,1
    - Dst: fp2_exp
      Src: /src/relic/test/test_fpx.c:680,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:681,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:681,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:684,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:685,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:686,1
    - Dst: fp2_conv_cyc
      Src: /src/relic/test/test_fpx.c:687,1
    - Dst: fp2_exp
      Src: /src/relic/test/test_fpx.c:688,1
    - Dst: fp2_exp_cyc
      Src: /src/relic/test/test_fpx.c:689,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:690,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 692
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 692
    functionName: exponentiation2
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp2_frb
    - fp2_exp_cyc
    - fp2_exp_dig
    - fp2_null
    - bn_set_dig
    - fp2_inv
    - dv_copy
    - fp2_conv_cyc
    - bn_null
    - fp2_cmp
    - bn_rand
    - fp2_exp
    - TEST_CASE
    - bn_neg
    - bn_new
    - fp_prime_get
    - fp2_rand
    - bn_zero
    - TEST_ASSERT
    - fp2_cmp_dig
    - fp2_new
    linkageType: ''
    returnType: int
    signature: int exponentiation2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:713,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:714,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:715,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:716,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:719,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:720,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:721,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:722,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:724,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:725,1
    - Dst: fp2_pck
      Src: /src/relic/test/test_fpx.c:726,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:727,1
    - Dst: fp2_upk
      Src: /src/relic/test/test_fpx.c:727,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:728,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:728,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:729,1
    - Dst: fp2_conv_cyc
      Src: /src/relic/test/test_fpx.c:730,1
    - Dst: fp2_pck
      Src: /src/relic/test/test_fpx.c:731,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:732,1
    - Dst: fp2_upk
      Src: /src/relic/test/test_fpx.c:732,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:733,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:733,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:736,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:737,1
    - Dst: fp2_conv_cyc
      Src: /src/relic/test/test_fpx.c:738,1
    - Dst: fp2_write_bin
      Src: /src/relic/test/test_fpx.c:739,1
    - Dst: fp2_read_bin
      Src: /src/relic/test/test_fpx.c:740,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:741,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:741,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:745,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:746,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:747,1
    - Dst: fp2_size_bin
      Src: /src/relic/test/test_fpx.c:747,1
    - Dst: fp2_conv_cyc
      Src: /src/relic/test/test_fpx.c:748,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:749,1
    - Dst: fp2_size_bin
      Src: /src/relic/test/test_fpx.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 752
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 752
    functionName: compression2
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp2_conv_cyc
    - TEST_CASE
    - TEST_ASSERT
    - fp2_pck
    - fp2_upk
    - fp2_null
    - fp2_cmp
    - fp2_write_bin
    - fp2_read_bin
    - fp2_size_bin
    - fp2_new
    - fp2_rand
    linkageType: ''
    returnType: int
    signature: int compression2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:773,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:774,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:775,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:778,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:779,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:780,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:782,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:783,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:784,1
    - Dst: fp2_is_sqr
      Src: /src/relic/test/test_fpx.c:784,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:785,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_fpx.c:786,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:787,1
    - Dst: fp2_is_sqr
      Src: /src/relic/test/test_fpx.c:787,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:789,1
    - Dst: fp2_srt
      Src: /src/relic/test/test_fpx.c:790,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:791,1
    - Dst: fp2_is_sqr
      Src: /src/relic/test/test_fpx.c:791,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:795,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:796,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_fpx.c:797,1
    - Dst: fp2_srt
      Src: /src/relic/test/test_fpx.c:798,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:799,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:800,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:800,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fpx.c:801,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fpx.c:802,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_fpx.c:803,1
    - Dst: fp2_srt
      Src: /src/relic/test/test_fpx.c:804,1
    - Dst: fp2_neg
      Src: /src/relic/test/test_fpx.c:805,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:806,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:807,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:807,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:808,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fpx.c:810,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fpx.c:811,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_fpx.c:812,1
    - Dst: fp2_srt
      Src: /src/relic/test/test_fpx.c:813,1
    - Dst: fp2_neg
      Src: /src/relic/test/test_fpx.c:814,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:815,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:816,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:816,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:817,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:818,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_fpx.c:819,1
    - Dst: fp2_srt
      Src: /src/relic/test/test_fpx.c:820,1
    - Dst: fp2_neg
      Src: /src/relic/test/test_fpx.c:821,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:822,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:823,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:823,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:824,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:826,1
    - Dst: fp2_is_sqr
      Src: /src/relic/test/test_fpx.c:827,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:828,1
    - Dst: fp2_srt
      Src: /src/relic/test/test_fpx.c:828,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 830
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 830
    functionName: square_root2
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp2_sqr
    - TEST_CASE
    - fp2_srt
    - fp2_neg
    - TEST_ASSERT
    - fp_rand
    - fp2_cmp
    - fp2_null
    - fp2_is_sqr
    - fp2_zero
    - fp_zero
    - fp2_new
    - fp2_rand
    linkageType: ''
    returnType: int
    signature: int square_root2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:848,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:849,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:850,1
    - Dst: fp2_null
      Src: /src/relic/test/test_fpx.c:851,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:854,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:855,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:856,1
    - Dst: fp2_new
      Src: /src/relic/test/test_fpx.c:857,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:859,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:860,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fpx.c:861,1
    - Dst: fp2_set_dig
      Src: /src/relic/test/test_fpx.c:863,1
    - Dst: fp2_add
      Src: /src/relic/test/test_fpx.c:864,1
    - Dst: fp2_add_dig
      Src: /src/relic/test/test_fpx.c:865,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:866,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:866,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:869,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:870,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fpx.c:871,1
    - Dst: fp2_set_dig
      Src: /src/relic/test/test_fpx.c:873,1
    - Dst: fp2_sub
      Src: /src/relic/test/test_fpx.c:874,1
    - Dst: fp2_sub_dig
      Src: /src/relic/test/test_fpx.c:875,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:876,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:876,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:879,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:880,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fpx.c:881,1
    - Dst: fp2_set_dig
      Src: /src/relic/test/test_fpx.c:883,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_fpx.c:884,1
    - Dst: fp2_mul_dig
      Src: /src/relic/test/test_fpx.c:885,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:886,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_fpx.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 888
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 888
    functionName: digit2
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp2_add_dig
    - TEST_CASE
    - fp2_set_dig
    - fp2_add
    - fp2_mul_dig
    - fp_rand
    - TEST_ASSERT
    - fp2_cmp
    - fp2_null
    - fp2_mul
    - fp2_sub
    - fp2_sub_dig
    - fp2_new
    - fp2_rand
    linkageType: ''
    returnType: int
    signature: int digit2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:906,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:909,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:910,1
    - Dst: fp3_free
      Src: /src/relic/test/test_fpx.c:911,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:916,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fpx.c:917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 925
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 925
    functionName: memory3
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp3_null
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - fp3_free
    - fp3_new
    linkageType: ''
    returnType: int
    signature: int memory3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:933,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:934,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:935,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:938,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:939,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:940,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:942,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:943,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:944,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:945,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:946,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:946,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:951,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:952,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:953,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:954,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:955,1
    - Dst: fp3_copy
      Src: /src/relic/test/test_fpx.c:956,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:957,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:957,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:959,1
    - Dst: fp3_copy
      Src: /src/relic/test/test_fpx.c:960,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:961,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:961,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:966,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:967,1
    - Dst: fp3_neg
      Src: /src/relic/test/test_fpx.c:968,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:969,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:970,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:970,1
    - Dst: fp3_neg
      Src: /src/relic/test/test_fpx.c:972,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:973,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:973,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:977,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:979,1
    - Dst: fp3_is_zero
      Src: /src/relic/test/test_fpx.c:980,1
    - Dst: fp3_zero
      Src: /src/relic/test/test_fpx.c:981,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:982,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:982,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:983,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:983,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:987,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:989,1
    - Dst: fp3_is_zero
      Src: /src/relic/test/test_fpx.c:990,1
    - Dst: fp3_zero
      Src: /src/relic/test/test_fpx.c:991,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:992,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:992,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:996,1
    - Dst: fp3_zero
      Src: /src/relic/test/test_fpx.c:997,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:998,1
    - Dst: fp3_is_zero
      Src: /src/relic/test/test_fpx.c:998,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1002,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fpx.c:1003,1
    - Dst: fp3_set_dig
      Src: /src/relic/test/test_fpx.c:1004,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1005,1
    - Dst: fp3_cmp_dig
      Src: /src/relic/test/test_fpx.c:1005,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1009,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1010,1
    - Dst: fp3_write_bin
      Src: /src/relic/test/test_fpx.c:1011,1
    - Dst: fp3_read_bin
      Src: /src/relic/test/test_fpx.c:1012,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1013,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1013,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1017,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1018,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1019,1
    - Dst: fp3_size_bin
      Src: /src/relic/test/test_fpx.c:1019,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 1022
    functionName: util3
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp3_copy
    - fp3_null
    - TEST_CASE
    - fp3_is_zero
    - fp3_cmp_dig
    - fp3_neg
    - TEST_ASSERT
    - fp3_write_bin
    - fp3_read_bin
    - fp3_size_bin
    - fp3_set_dig
    - fp3_new
    - fp3_zero
    - rand_bytes
    - fp3_rand
    - fp3_cmp
    linkageType: ''
    returnType: int
    signature: int util3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1038,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1039,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1040,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1041,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1042,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1045,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1046,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1047,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1048,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1049,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1051,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1052,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1053,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1054,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1055,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1056,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1056,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1059,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1060,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1061,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1062,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1063,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1064,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1065,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1066,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1067,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1067,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1070,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1071,1
    - Dst: fp3_zero
      Src: /src/relic/test/test_fpx.c:1072,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1073,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1074,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1074,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1077,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1078,1
    - Dst: fp3_neg
      Src: /src/relic/test/test_fpx.c:1079,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1080,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1081,1
    - Dst: fp3_is_zero
      Src: /src/relic/test/test_fpx.c:1081,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1085,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1086,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1087,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1088,1
    - Dst: fp3_add_basic
      Src: /src/relic/test/test_fpx.c:1089,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1090,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1090,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1095,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1096,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1097,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1098,1
    - Dst: fp3_add_integ
      Src: /src/relic/test/test_fpx.c:1099,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1100,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1103
    functionName: addition3
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp3_null
    - fp3_add_basic
    - fp3_add_integ
    - TEST_CASE
    - fp3_is_zero
    - fp3_neg
    - TEST_ASSERT
    - fp3_add
    - fp3_new
    - fp3_zero
    - fp3_rand
    - fp3_cmp
    linkageType: ''
    returnType: int
    signature: int addition3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1122,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1123,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1124,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1125,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1128,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1129,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1130,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1131,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1133,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1134,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1135,1
    - Dst: fp3_sub
      Src: /src/relic/test/test_fpx.c:1136,1
    - Dst: fp3_sub
      Src: /src/relic/test/test_fpx.c:1137,1
    - Dst: fp3_neg
      Src: /src/relic/test/test_fpx.c:1138,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1139,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1139,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1143,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1144,1
    - Dst: fp3_zero
      Src: /src/relic/test/test_fpx.c:1145,1
    - Dst: fp3_sub
      Src: /src/relic/test/test_fpx.c:1146,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1147,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1147,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1151,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1152,1
    - Dst: fp3_sub
      Src: /src/relic/test/test_fpx.c:1153,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1154,1
    - Dst: fp3_is_zero
      Src: /src/relic/test/test_fpx.c:1154,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1159,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1160,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1161,1
    - Dst: fp3_sub
      Src: /src/relic/test/test_fpx.c:1162,1
    - Dst: fp3_sub_basic
      Src: /src/relic/test/test_fpx.c:1163,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1164,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1164,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1169,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1170,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1171,1
    - Dst: fp3_sub
      Src: /src/relic/test/test_fpx.c:1172,1
    - Dst: fp3_sub_integ
      Src: /src/relic/test/test_fpx.c:1173,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1174,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1118
    functionDepth: 1
    functionLinenumber: 1118
    functionLinenumberEnd: 1177
    functionName: subtraction3
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp3_sub_integ
    - fp3_null
    - fp3_sub
    - fp3_sub_basic
    - TEST_CASE
    - fp3_is_zero
    - fp3_neg
    - TEST_ASSERT
    - fp3_new
    - fp3_zero
    - fp3_rand
    - fp3_cmp
    linkageType: ''
    returnType: int
    signature: int subtraction3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1195,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1196,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1197,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1200,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1201,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1202,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1204,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1205,1
    - Dst: fp3_dbl
      Src: /src/relic/test/test_fpx.c:1206,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1207,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1208,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1208,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1212,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1213,1
    - Dst: fp3_dbl
      Src: /src/relic/test/test_fpx.c:1214,1
    - Dst: fp3_dbl_basic
      Src: /src/relic/test/test_fpx.c:1215,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1216,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1216,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1221,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1222,1
    - Dst: fp3_dbl
      Src: /src/relic/test/test_fpx.c:1223,1
    - Dst: fp3_dbl_integ
      Src: /src/relic/test/test_fpx.c:1224,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1225,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1228
    functionName: doubling3
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp3_null
    - fp3_dbl
    - TEST_CASE
    - fp3_dbl_basic
    - TEST_ASSERT
    - fp3_add
    - fp3_new
    - fp3_dbl_integ
    - fp3_rand
    - fp3_cmp
    linkageType: ''
    returnType: int
    signature: int doubling3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1246,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1247,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1248,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1249,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1250,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1251,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:1252,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1255,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1256,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1257,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1258,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1259,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1260,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:1261,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1263,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1264,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1265,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1266,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1267,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1268,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1268,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1271,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1272,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1273,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1274,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1275,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1276,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1277,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1278,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1279,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1279,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1282,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1283,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1284,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1285,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1286,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1287,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1288,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1289,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1290,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1291,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1291,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1294,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1295,1
    - Dst: fp3_set_dig
      Src: /src/relic/test/test_fpx.c:1296,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1297,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1298,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1298,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1301,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1302,1
    - Dst: fp3_zero
      Src: /src/relic/test/test_fpx.c:1303,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1304,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1305,1
    - Dst: fp3_is_zero
      Src: /src/relic/test/test_fpx.c:1305,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1309,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1310,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1311,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1312,1
    - Dst: fp3_mul_basic
      Src: /src/relic/test/test_fpx.c:1313,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1314,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1314,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1319,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1320,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1321,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1322,1
    - Dst: fp3_mul_integ
      Src: /src/relic/test/test_fpx.c:1323,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1324,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1324,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1328,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1329,1
    - Dst: fp3_mul_nor
      Src: /src/relic/test/test_fpx.c:1330,1
    - Dst: fp_prime_get_mod18
      Src: /src/relic/test/test_fpx.c:1331,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_fpx.c:1334,1
    - Dst: fp3_field_get_cnr
      Src: /src/relic/test/test_fpx.c:1334,1
    - Dst: fp3_field_get_cnr
      Src: /src/relic/test/test_fpx.c:1335,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_fpx.c:1336,1
    - Dst: fp3_field_get_cnr
      Src: /src/relic/test/test_fpx.c:1336,1
    - Dst: fp_neg
      Src: /src/relic/test/test_fpx.c:1337,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_fpx.c:1339,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fpx.c:1340,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1341,1
    - Dst: fp3_copy
      Src: /src/relic/test/test_fpx.c:1344,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1347,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1349
    functionName: multiplication3
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp3_mul_integ
    - fp3_cmp
    - fp3_null
    - bn_null
    - fp3_mul
    - fp_prime_get_mod18
    - fp3_set_dig
    - fp3_mul_nor
    - fp3_copy
    - fp3_field_get_cnr
    - TEST_CASE
    - fp3_is_zero
    - fp3_mul_basic
    - fp3_add
    - bn_new
    - fp3_new
    - fp_zero
    - fp_neg
    - fp_set_dig
    - TEST_ASSERT
    - fp3_zero
    - fp3_rand
    linkageType: ''
    returnType: int
    signature: int multiplication3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1370,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1371,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1372,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1375,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1376,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1377,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1379,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1380,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1381,1
    - Dst: fp3_sqr
      Src: /src/relic/test/test_fpx.c:1382,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1383,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1383,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1387,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1388,1
    - Dst: fp3_sqr
      Src: /src/relic/test/test_fpx.c:1389,1
    - Dst: fp3_sqr_basic
      Src: /src/relic/test/test_fpx.c:1390,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1391,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1391,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1396,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1397,1
    - Dst: fp3_sqr
      Src: /src/relic/test/test_fpx.c:1398,1
    - Dst: fp3_sqr_integ
      Src: /src/relic/test/test_fpx.c:1399,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1400,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1403
    functionName: squaring3
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp3_sqr_basic
    - fp3_null
    - fp3_sqr_integ
    - TEST_CASE
    - fp3_mul
    - fp3_sqr
    - TEST_ASSERT
    - fp3_new
    - fp3_rand
    - fp3_cmp
    linkageType: ''
    returnType: int
    signature: int squaring3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1420,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1421,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1422,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1423,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1424,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1427,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1428,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1429,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1430,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1431,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1433,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1435,1
    - Dst: fp3_is_zero
      Src: /src/relic/test/test_fpx.c:1436,1
    - Dst: fp3_inv
      Src: /src/relic/test/test_fpx.c:1437,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1438,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1439,1
    - Dst: fp3_cmp_dig
      Src: /src/relic/test/test_fpx.c:1439,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1442,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1444,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1445,1
    - Dst: fp2_is_zero
      Src: /src/relic/test/test_fpx.c:1446,1
    - Dst: fp2_is_zero
      Src: /src/relic/test/test_fpx.c:1446,1
    - Dst: fp3_copy
      Src: /src/relic/test/test_fpx.c:1447,1
    - Dst: fp3_copy
      Src: /src/relic/test/test_fpx.c:1448,1
    - Dst: fp3_inv
      Src: /src/relic/test/test_fpx.c:1449,1
    - Dst: fp3_inv
      Src: /src/relic/test/test_fpx.c:1450,1
    - Dst: fp3_inv_sim
      Src: /src/relic/test/test_fpx.c:1451,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1452,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1452,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1416
    functionDepth: 1
    functionLinenumber: 1416
    functionLinenumberEnd: 1455
    functionName: inversion3
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp3_copy
    - fp3_null
    - fp3_inv_sim
    - fp3_is_zero
    - TEST_CASE
    - fp3_mul
    - fp3_cmp_dig
    - TEST_ASSERT
    - fp3_inv
    - fp3_new
    - fp3_rand
    - fp3_cmp
    - fp2_is_zero
    linkageType: ''
    returnType: int
    signature: int inversion3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1475,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1476,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1477,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:1478,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1481,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1482,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1483,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:1484,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1486,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1487,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:1488,1
    - Dst: fp3_exp
      Src: /src/relic/test/test_fpx.c:1489,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1490,1
    - Dst: fp3_cmp_dig
      Src: /src/relic/test/test_fpx.c:1490,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:1491,1
    - Dst: fp3_exp
      Src: /src/relic/test/test_fpx.c:1492,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1493,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1493,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:1494,1
    - Dst: fp3_exp
      Src: /src/relic/test/test_fpx.c:1495,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:1496,1
    - Dst: fp3_exp
      Src: /src/relic/test/test_fpx.c:1497,1
    - Dst: fp3_inv
      Src: /src/relic/test/test_fpx.c:1498,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1499,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1499,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1502,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1503,1
    - Dst: fp3_frb
      Src: /src/relic/test/test_fpx.c:1504,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1505,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1505,1
    - Dst: fp3_frb
      Src: /src/relic/test/test_fpx.c:1506,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fpx.c:1509,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fpx.c:1509,1
    - Dst: fp3_exp
      Src: /src/relic/test/test_fpx.c:1510,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1511,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1513
    functionName: exponentiation3
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - fp3_null
    - bn_null
    - bn_zero
    - TEST_CASE
    - fp3_cmp_dig
    - TEST_ASSERT
    - bn_neg
    - bn_new
    - fp3_inv
    - fp3_new
    - bn_set_dig
    - fp_prime_get
    - fp3_frb
    - fp3_exp
    - fp3_rand
    - fp3_cmp
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int exponentiation3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1531,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1532,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1533,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1536,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1537,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1538,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1540,1
    - Dst: fp3_zero
      Src: /src/relic/test/test_fpx.c:1541,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1542,1
    - Dst: fp3_is_sqr
      Src: /src/relic/test/test_fpx.c:1542,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1543,1
    - Dst: fp3_sqr
      Src: /src/relic/test/test_fpx.c:1544,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1545,1
    - Dst: fp3_is_sqr
      Src: /src/relic/test/test_fpx.c:1545,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1547,1
    - Dst: fp3_srt
      Src: /src/relic/test/test_fpx.c:1548,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1549,1
    - Dst: fp3_is_sqr
      Src: /src/relic/test/test_fpx.c:1549,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1553,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1554,1
    - Dst: fp3_sqr
      Src: /src/relic/test/test_fpx.c:1555,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1556,1
    - Dst: fp3_srt
      Src: /src/relic/test/test_fpx.c:1556,1
    - Dst: fp3_neg
      Src: /src/relic/test/test_fpx.c:1557,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1558,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1558,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1558,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1559,1
    - Dst: fp3_srt
      Src: /src/relic/test/test_fpx.c:1560,1
    - Dst: fp3_sqr
      Src: /src/relic/test/test_fpx.c:1561,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1562,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1562,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1565,1
    - Dst: fp3_is_sqr
      Src: /src/relic/test/test_fpx.c:1566,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1567,1
    - Dst: fp3_srt
      Src: /src/relic/test/test_fpx.c:1567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1527
    functionDepth: 1
    functionLinenumber: 1527
    functionLinenumberEnd: 1570
    functionName: square_root3
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp3_null
    - TEST_CASE
    - fp3_sqr
    - fp3_neg
    - TEST_ASSERT
    - fp3_srt
    - fp3_new
    - fp3_zero
    - fp3_cmp
    - fp3_rand
    - fp3_is_sqr
    linkageType: ''
    returnType: int
    signature: int square_root3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1588,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1589,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1590,1
    - Dst: fp3_null
      Src: /src/relic/test/test_fpx.c:1591,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1594,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1595,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1596,1
    - Dst: fp3_new
      Src: /src/relic/test/test_fpx.c:1597,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1599,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1600,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fpx.c:1601,1
    - Dst: fp3_set_dig
      Src: /src/relic/test/test_fpx.c:1603,1
    - Dst: fp3_add
      Src: /src/relic/test/test_fpx.c:1604,1
    - Dst: fp3_add_dig
      Src: /src/relic/test/test_fpx.c:1605,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1606,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1606,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1609,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1610,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fpx.c:1611,1
    - Dst: fp3_set_dig
      Src: /src/relic/test/test_fpx.c:1613,1
    - Dst: fp3_sub
      Src: /src/relic/test/test_fpx.c:1614,1
    - Dst: fp3_sub_dig
      Src: /src/relic/test/test_fpx.c:1615,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1616,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1616,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1619,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_fpx.c:1620,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fpx.c:1621,1
    - Dst: fp3_set_dig
      Src: /src/relic/test/test_fpx.c:1623,1
    - Dst: fp3_mul
      Src: /src/relic/test/test_fpx.c:1624,1
    - Dst: fp3_mul_dig
      Src: /src/relic/test/test_fpx.c:1625,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1626,1
    - Dst: fp3_cmp
      Src: /src/relic/test/test_fpx.c:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1628
    functionName: digit3
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp3_null
    - fp3_add_dig
    - fp3_sub
    - TEST_CASE
    - fp3_mul
    - fp_rand
    - TEST_ASSERT
    - fp3_sub_dig
    - fp3_add
    - fp3_set_dig
    - fp3_new
    - fp3_mul_dig
    - fp3_rand
    - fp3_cmp
    linkageType: ''
    returnType: int
    signature: int digit3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1646,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1649,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1650,1
    - Dst: fp4_free
      Src: /src/relic/test/test_fpx.c:1651,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:1656,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fpx.c:1657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1641
    functionDepth: 1
    functionLinenumber: 1641
    functionLinenumberEnd: 1665
    functionName: memory4
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - fp4_free
    - fp4_null
    - fp4_new
    linkageType: ''
    returnType: int
    signature: int memory4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1673,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1674,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1675,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1678,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1679,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1680,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1682,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1683,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1684,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1685,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1686,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1686,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1691,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1692,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1693,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1694,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1695,1
    - Dst: fp4_copy
      Src: /src/relic/test/test_fpx.c:1696,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1697,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1697,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1699,1
    - Dst: fp4_copy
      Src: /src/relic/test/test_fpx.c:1700,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1701,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1701,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1706,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1707,1
    - Dst: fp4_neg
      Src: /src/relic/test/test_fpx.c:1708,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1709,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1710,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1710,1
    - Dst: fp4_neg
      Src: /src/relic/test/test_fpx.c:1712,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1713,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1713,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1717,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1719,1
    - Dst: fp4_is_zero
      Src: /src/relic/test/test_fpx.c:1720,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:1721,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1722,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1722,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1723,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1723,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1727,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1729,1
    - Dst: fp4_is_zero
      Src: /src/relic/test/test_fpx.c:1730,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:1731,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1732,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1732,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1736,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:1737,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1738,1
    - Dst: fp4_is_zero
      Src: /src/relic/test/test_fpx.c:1738,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1742,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fpx.c:1743,1
    - Dst: fp4_set_dig
      Src: /src/relic/test/test_fpx.c:1744,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1745,1
    - Dst: fp4_cmp_dig
      Src: /src/relic/test/test_fpx.c:1745,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1749,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1750,1
    - Dst: fp4_write_bin
      Src: /src/relic/test/test_fpx.c:1751,1
    - Dst: fp4_read_bin
      Src: /src/relic/test/test_fpx.c:1752,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1753,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1753,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1757,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1758,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1759,1
    - Dst: fp4_size_bin
      Src: /src/relic/test/test_fpx.c:1759,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1762
    functionName: util4
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp4_read_bin
    - TEST_CASE
    - fp4_rand
    - TEST_ASSERT
    - fp4_cmp_dig
    - fp4_zero
    - fp4_set_dig
    - fp4_cmp
    - fp4_copy
    - fp4_is_zero
    - fp4_null
    - rand_bytes
    - fp4_write_bin
    - fp4_size_bin
    - fp4_new
    - fp4_neg
    linkageType: ''
    returnType: int
    signature: int util4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1778,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1779,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1780,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1781,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1782,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1785,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1786,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1787,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1788,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1789,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1791,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1792,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1793,1
    - Dst: fp4_add
      Src: /src/relic/test/test_fpx.c:1794,1
    - Dst: fp4_add
      Src: /src/relic/test/test_fpx.c:1795,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1796,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1796,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1799,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1800,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1801,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1802,1
    - Dst: fp4_add
      Src: /src/relic/test/test_fpx.c:1803,1
    - Dst: fp4_add
      Src: /src/relic/test/test_fpx.c:1804,1
    - Dst: fp4_add
      Src: /src/relic/test/test_fpx.c:1805,1
    - Dst: fp4_add
      Src: /src/relic/test/test_fpx.c:1806,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1807,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1807,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1810,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1811,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:1812,1
    - Dst: fp4_add
      Src: /src/relic/test/test_fpx.c:1813,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1814,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1814,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1817,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1818,1
    - Dst: fp4_neg
      Src: /src/relic/test/test_fpx.c:1819,1
    - Dst: fp4_add
      Src: /src/relic/test/test_fpx.c:1820,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1821,1
    - Dst: fp4_is_zero
      Src: /src/relic/test/test_fpx.c:1821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1774
    functionDepth: 1
    functionLinenumber: 1774
    functionLinenumberEnd: 1823
    functionName: addition4
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp4_rand
    - TEST_ASSERT
    - fp4_add
    - fp4_zero
    - fp4_cmp
    - fp4_is_zero
    - fp4_null
    - fp4_new
    - fp4_neg
    linkageType: ''
    returnType: int
    signature: int addition4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1842,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1843,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1844,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1845,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1848,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1849,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1850,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1851,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1853,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1854,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1855,1
    - Dst: fp4_sub
      Src: /src/relic/test/test_fpx.c:1856,1
    - Dst: fp4_sub
      Src: /src/relic/test/test_fpx.c:1857,1
    - Dst: fp4_neg
      Src: /src/relic/test/test_fpx.c:1858,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1859,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1859,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1863,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1864,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:1865,1
    - Dst: fp4_sub
      Src: /src/relic/test/test_fpx.c:1866,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1867,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1867,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1871,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1872,1
    - Dst: fp4_sub
      Src: /src/relic/test/test_fpx.c:1873,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1874,1
    - Dst: fp4_is_zero
      Src: /src/relic/test/test_fpx.c:1874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1877
    functionName: subtraction4
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp4_rand
    - TEST_ASSERT
    - fp4_zero
    - fp4_cmp
    - fp4_is_zero
    - fp4_null
    - fp4_new
    - fp4_neg
    - fp4_sub
    linkageType: ''
    returnType: int
    signature: int subtraction4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1895,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1896,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1897,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1900,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1901,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1902,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1904,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1905,1
    - Dst: fp4_dbl
      Src: /src/relic/test/test_fpx.c:1906,1
    - Dst: fp4_add
      Src: /src/relic/test/test_fpx.c:1907,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1908,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1891
    functionDepth: 1
    functionLinenumber: 1891
    functionLinenumberEnd: 1910
    functionName: doubling4
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp4_rand
    - fp4_dbl
    - TEST_ASSERT
    - fp4_add
    - fp4_cmp
    - fp4_null
    - fp4_new
    linkageType: ''
    returnType: int
    signature: int doubling4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1927,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1928,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1929,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1930,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1931,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:1932,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1935,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1936,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1937,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1938,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1939,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:1940,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1942,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1943,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1944,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1945,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1946,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1947,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1947,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1950,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1951,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1952,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1953,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1954,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1955,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1956,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1957,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1958,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1958,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1961,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1962,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1963,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1964,1
    - Dst: fp4_add
      Src: /src/relic/test/test_fpx.c:1965,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1966,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1967,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1968,1
    - Dst: fp4_add
      Src: /src/relic/test/test_fpx.c:1969,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1970,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1970,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1973,1
    - Dst: fp4_set_dig
      Src: /src/relic/test/test_fpx.c:1974,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1975,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1976,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1976,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1979,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:1980,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1981,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1982,1
    - Dst: fp4_is_zero
      Src: /src/relic/test/test_fpx.c:1982,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1985,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1986,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:1987,1
    - Dst: fp2_set_dig
      Src: /src/relic/test/test_fpx.c:1988,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1989,1
    - Dst: fp4_mul_art
      Src: /src/relic/test/test_fpx.c:1990,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:1991,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:1991,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:1995,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1996,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:1997,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:1998,1
    - Dst: fp4_mul_basic
      Src: /src/relic/test/test_fpx.c:1999,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2000,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2000,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2005,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2006,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2007,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:2008,1
    - Dst: fp4_mul_lazyr
      Src: /src/relic/test/test_fpx.c:2009,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2010,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1923
    functionDepth: 1
    functionLinenumber: 1923
    functionLinenumberEnd: 2013
    functionName: multiplication4
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp4_mul_lazyr
    - fp4_mul
    - TEST_CASE
    - fp4_rand
    - fp2_set_dig
    - TEST_ASSERT
    - fp4_add
    - fp4_set_dig
    - fp4_zero
    - fp4_cmp
    - fp4_is_zero
    - fp4_null
    - fp4_mul_basic
    - fp4_new
    - fp4_mul_art
    linkageType: ''
    returnType: int
    signature: int multiplication4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2033,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2034,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2035,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2038,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2039,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2040,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2042,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2043,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:2044,1
    - Dst: fp4_sqr
      Src: /src/relic/test/test_fpx.c:2045,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2046,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2046,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2050,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2051,1
    - Dst: fp4_sqr
      Src: /src/relic/test/test_fpx.c:2052,1
    - Dst: fp4_sqr_basic
      Src: /src/relic/test/test_fpx.c:2053,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2054,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2054,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2059,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2060,1
    - Dst: fp4_sqr
      Src: /src/relic/test/test_fpx.c:2061,1
    - Dst: fp4_sqr_lazyr
      Src: /src/relic/test/test_fpx.c:2062,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2063,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2029
    functionDepth: 1
    functionLinenumber: 2029
    functionLinenumberEnd: 2066
    functionName: squaring4
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp4_sqr_basic
    - fp4_mul
    - fp4_sqr_lazyr
    - TEST_CASE
    - fp4_rand
    - TEST_ASSERT
    - fp4_cmp
    - fp4_null
    - fp4_sqr
    - fp4_new
    linkageType: ''
    returnType: int
    signature: int squaring4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2084,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2085,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2086,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2087,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2088,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2090,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2092,1
    - Dst: fp4_is_zero
      Src: /src/relic/test/test_fpx.c:2093,1
    - Dst: fp4_inv
      Src: /src/relic/test/test_fpx.c:2094,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:2095,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2096,1
    - Dst: fp4_cmp_dig
      Src: /src/relic/test/test_fpx.c:2096,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2099,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2101,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2102,1
    - Dst: fp4_is_zero
      Src: /src/relic/test/test_fpx.c:2103,1
    - Dst: fp4_is_zero
      Src: /src/relic/test/test_fpx.c:2103,1
    - Dst: fp4_copy
      Src: /src/relic/test/test_fpx.c:2104,1
    - Dst: fp4_copy
      Src: /src/relic/test/test_fpx.c:2105,1
    - Dst: fp4_inv
      Src: /src/relic/test/test_fpx.c:2106,1
    - Dst: fp4_inv
      Src: /src/relic/test/test_fpx.c:2107,1
    - Dst: fp4_inv_sim
      Src: /src/relic/test/test_fpx.c:2108,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2109,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2109,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2079
    functionDepth: 1
    functionLinenumber: 2079
    functionLinenumberEnd: 2112
    functionName: inversion4
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp4_mul
    - TEST_CASE
    - fp4_rand
    - TEST_ASSERT
    - fp4_cmp_dig
    - fp4_inv_sim
    - fp4_is_zero
    - fp4_copy
    - fp4_cmp
    - fp4_inv
    - fp4_new
    linkageType: ''
    returnType: int
    signature: int inversion4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2132,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2133,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2134,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:2135,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2138,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2139,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2140,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:2141,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2143,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2144,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:2145,1
    - Dst: fp4_exp
      Src: /src/relic/test/test_fpx.c:2146,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2147,1
    - Dst: fp4_cmp_dig
      Src: /src/relic/test/test_fpx.c:2147,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:2148,1
    - Dst: fp4_exp
      Src: /src/relic/test/test_fpx.c:2149,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2150,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2150,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:2151,1
    - Dst: fp4_exp
      Src: /src/relic/test/test_fpx.c:2152,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:2153,1
    - Dst: fp4_exp
      Src: /src/relic/test/test_fpx.c:2154,1
    - Dst: fp4_inv
      Src: /src/relic/test/test_fpx.c:2155,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2156,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2156,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2159,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2160,1
    - Dst: fp4_frb
      Src: /src/relic/test/test_fpx.c:2161,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2162,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2162,1
    - Dst: fp4_frb
      Src: /src/relic/test/test_fpx.c:2163,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fpx.c:2166,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fpx.c:2166,1
    - Dst: fp4_exp
      Src: /src/relic/test/test_fpx.c:2167,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2168,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2127
    functionDepth: 1
    functionLinenumber: 2127
    functionLinenumberEnd: 2170
    functionName: exponentiation4
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp4_exp
    - dv_copy
    - bn_null
    - bn_zero
    - TEST_CASE
    - fp4_rand
    - TEST_ASSERT
    - fp4_cmp_dig
    - fp4_frb
    - bn_neg
    - bn_new
    - fp4_cmp
    - bn_set_dig
    - fp4_null
    - fp_prime_get
    - fp4_inv
    - fp4_new
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int exponentiation4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2189,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2190,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2191,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2194,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2195,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2196,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2198,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:2199,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2200,1
    - Dst: fp4_is_sqr
      Src: /src/relic/test/test_fpx.c:2200,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2201,1
    - Dst: fp4_sqr
      Src: /src/relic/test/test_fpx.c:2202,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2203,1
    - Dst: fp4_is_sqr
      Src: /src/relic/test/test_fpx.c:2203,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2205,1
    - Dst: fp4_srt
      Src: /src/relic/test/test_fpx.c:2206,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2207,1
    - Dst: fp4_is_sqr
      Src: /src/relic/test/test_fpx.c:2207,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2211,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:2212,1
    - Dst: fp4_sqr
      Src: /src/relic/test/test_fpx.c:2213,1
    - Dst: fp4_srt
      Src: /src/relic/test/test_fpx.c:2214,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2215,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2216,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2216,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2217,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:2218,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:2219,1
    - Dst: fp4_sqr
      Src: /src/relic/test/test_fpx.c:2220,1
    - Dst: fp4_srt
      Src: /src/relic/test/test_fpx.c:2221,1
    - Dst: fp4_neg
      Src: /src/relic/test/test_fpx.c:2222,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2223,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2224,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2224,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2225,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:2226,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_fpx.c:2227,1
    - Dst: fp4_sqr
      Src: /src/relic/test/test_fpx.c:2228,1
    - Dst: fp4_srt
      Src: /src/relic/test/test_fpx.c:2229,1
    - Dst: fp4_neg
      Src: /src/relic/test/test_fpx.c:2230,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2231,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2232,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2232,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2233,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2234,1
    - Dst: fp4_sqr
      Src: /src/relic/test/test_fpx.c:2235,1
    - Dst: fp4_srt
      Src: /src/relic/test/test_fpx.c:2236,1
    - Dst: fp4_neg
      Src: /src/relic/test/test_fpx.c:2237,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2238,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2239,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2239,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2184
    functionDepth: 1
    functionLinenumber: 2184
    functionLinenumberEnd: 2242
    functionName: square_root4
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp4_rand
    - TEST_ASSERT
    - fp4_zero
    - fp2_zero
    - fp4_cmp
    - fp4_is_sqr
    - fp4_srt
    - fp4_null
    - fp4_sqr
    - fp4_new
    - fp4_neg
    - fp2_rand
    linkageType: ''
    returnType: int
    signature: int square_root4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2260,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2261,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2262,1
    - Dst: fp4_null
      Src: /src/relic/test/test_fpx.c:2263,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2266,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2267,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2268,1
    - Dst: fp4_new
      Src: /src/relic/test/test_fpx.c:2269,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2271,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2272,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fpx.c:2273,1
    - Dst: fp4_set_dig
      Src: /src/relic/test/test_fpx.c:2275,1
    - Dst: fp4_add
      Src: /src/relic/test/test_fpx.c:2276,1
    - Dst: fp4_add_dig
      Src: /src/relic/test/test_fpx.c:2277,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2278,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2278,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2281,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2282,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fpx.c:2283,1
    - Dst: fp4_set_dig
      Src: /src/relic/test/test_fpx.c:2285,1
    - Dst: fp4_sub
      Src: /src/relic/test/test_fpx.c:2286,1
    - Dst: fp4_sub_dig
      Src: /src/relic/test/test_fpx.c:2287,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2288,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2288,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2291,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:2292,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fpx.c:2293,1
    - Dst: fp4_set_dig
      Src: /src/relic/test/test_fpx.c:2295,1
    - Dst: fp4_mul
      Src: /src/relic/test/test_fpx.c:2296,1
    - Dst: fp4_mul_dig
      Src: /src/relic/test/test_fpx.c:2297,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2298,1
    - Dst: fp4_cmp
      Src: /src/relic/test/test_fpx.c:2298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2255
    functionDepth: 1
    functionLinenumber: 2255
    functionLinenumberEnd: 2300
    functionName: digit4
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp4_add_dig
    - fp4_mul
    - TEST_CASE
    - fp4_rand
    - fp_rand
    - TEST_ASSERT
    - fp4_add
    - fp4_set_dig
    - fp4_cmp
    - fp4_null
    - fp4_mul_dig
    - fp4_new
    - fp4_sub_dig
    - fp4_sub
    linkageType: ''
    returnType: int
    signature: int digit4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2318,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2321,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2322,1
    - Dst: fp6_free
      Src: /src/relic/test/test_fpx.c:2323,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:2328,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fpx.c:2329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2313
    functionDepth: 1
    functionLinenumber: 2313
    functionLinenumberEnd: 2337
    functionName: memory6
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - util_print
    - TEST_CASE
    - fp6_null
    - fp6_new
    - RLC_ERROR
    - fp6_free
    linkageType: ''
    returnType: int
    signature: int memory6(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2345,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2346,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2347,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2350,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2351,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2352,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2354,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2355,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2356,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2357,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2358,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2358,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2363,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2364,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2365,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2366,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2367,1
    - Dst: fp6_copy
      Src: /src/relic/test/test_fpx.c:2368,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2369,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2369,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2371,1
    - Dst: fp6_copy
      Src: /src/relic/test/test_fpx.c:2372,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2373,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2373,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2378,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2379,1
    - Dst: fp6_neg
      Src: /src/relic/test/test_fpx.c:2380,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2381,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2382,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2382,1
    - Dst: fp6_neg
      Src: /src/relic/test/test_fpx.c:2384,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2385,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2385,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2389,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2391,1
    - Dst: fp6_is_zero
      Src: /src/relic/test/test_fpx.c:2392,1
    - Dst: fp6_zero
      Src: /src/relic/test/test_fpx.c:2393,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2394,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2394,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2395,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2395,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2399,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2401,1
    - Dst: fp6_is_zero
      Src: /src/relic/test/test_fpx.c:2402,1
    - Dst: fp6_zero
      Src: /src/relic/test/test_fpx.c:2403,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2404,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2404,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2408,1
    - Dst: fp6_zero
      Src: /src/relic/test/test_fpx.c:2409,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2410,1
    - Dst: fp6_is_zero
      Src: /src/relic/test/test_fpx.c:2410,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2414,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fpx.c:2415,1
    - Dst: fp6_set_dig
      Src: /src/relic/test/test_fpx.c:2416,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2417,1
    - Dst: fp6_cmp_dig
      Src: /src/relic/test/test_fpx.c:2417,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2421,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2422,1
    - Dst: fp6_write_bin
      Src: /src/relic/test/test_fpx.c:2423,1
    - Dst: fp6_read_bin
      Src: /src/relic/test/test_fpx.c:2424,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2425,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2425,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2429,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2430,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2431,1
    - Dst: fp6_size_bin
      Src: /src/relic/test/test_fpx.c:2431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2339
    functionDepth: 1
    functionLinenumber: 2339
    functionLinenumberEnd: 2434
    functionName: util6
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - rand_bytes
    - fp6_zero
    - fp6_write_bin
    - TEST_CASE
    - fp6_null
    - fp6_is_zero
    - fp6_new
    - fp6_cmp_dig
    - TEST_ASSERT
    - fp6_copy
    - fp6_read_bin
    - fp6_size_bin
    - fp6_set_dig
    - fp6_cmp
    - fp6_neg
    - fp6_rand
    linkageType: ''
    returnType: int
    signature: int util6(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2450,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2451,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2452,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2453,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2454,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2457,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2458,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2459,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2460,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2461,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2463,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2464,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2465,1
    - Dst: fp6_add
      Src: /src/relic/test/test_fpx.c:2466,1
    - Dst: fp6_add
      Src: /src/relic/test/test_fpx.c:2467,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2468,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2468,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2471,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2472,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2473,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2474,1
    - Dst: fp6_add
      Src: /src/relic/test/test_fpx.c:2475,1
    - Dst: fp6_add
      Src: /src/relic/test/test_fpx.c:2476,1
    - Dst: fp6_add
      Src: /src/relic/test/test_fpx.c:2477,1
    - Dst: fp6_add
      Src: /src/relic/test/test_fpx.c:2478,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2479,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2479,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2482,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2483,1
    - Dst: fp6_zero
      Src: /src/relic/test/test_fpx.c:2484,1
    - Dst: fp6_add
      Src: /src/relic/test/test_fpx.c:2485,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2486,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2486,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2489,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2490,1
    - Dst: fp6_neg
      Src: /src/relic/test/test_fpx.c:2491,1
    - Dst: fp6_add
      Src: /src/relic/test/test_fpx.c:2492,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2493,1
    - Dst: fp6_is_zero
      Src: /src/relic/test/test_fpx.c:2493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2495
      start: 2446
    functionDepth: 1
    functionLinenumber: 2446
    functionLinenumberEnd: 2495
    functionName: addition6
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp6_zero
    - TEST_CASE
    - fp6_null
    - fp6_is_zero
    - fp6_new
    - TEST_ASSERT
    - fp6_add
    - fp6_cmp
    - fp6_neg
    - fp6_rand
    linkageType: ''
    returnType: int
    signature: int addition6(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2514,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2515,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2516,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2517,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2520,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2521,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2522,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2523,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2525,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2526,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2527,1
    - Dst: fp6_sub
      Src: /src/relic/test/test_fpx.c:2528,1
    - Dst: fp6_sub
      Src: /src/relic/test/test_fpx.c:2529,1
    - Dst: fp6_neg
      Src: /src/relic/test/test_fpx.c:2530,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2531,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2531,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2535,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2536,1
    - Dst: fp6_zero
      Src: /src/relic/test/test_fpx.c:2537,1
    - Dst: fp6_sub
      Src: /src/relic/test/test_fpx.c:2538,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2539,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2539,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2543,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2544,1
    - Dst: fp6_sub
      Src: /src/relic/test/test_fpx.c:2545,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2546,1
    - Dst: fp6_is_zero
      Src: /src/relic/test/test_fpx.c:2546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2510
    functionDepth: 1
    functionLinenumber: 2510
    functionLinenumberEnd: 2549
    functionName: subtraction6
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp6_zero
    - TEST_CASE
    - fp6_null
    - fp6_is_zero
    - fp6_new
    - fp6_neg
    - TEST_ASSERT
    - fp6_cmp
    - fp6_sub
    - fp6_rand
    linkageType: ''
    returnType: int
    signature: int subtraction6(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2567,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2568,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2569,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2572,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2573,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2574,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2576,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2577,1
    - Dst: fp6_dbl
      Src: /src/relic/test/test_fpx.c:2578,1
    - Dst: fp6_add
      Src: /src/relic/test/test_fpx.c:2579,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2580,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2582
      start: 2563
    functionDepth: 1
    functionLinenumber: 2563
    functionLinenumberEnd: 2582
    functionName: doubling6
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp6_null
    - fp6_new
    - fp6_dbl
    - TEST_ASSERT
    - fp6_add
    - fp6_cmp
    - fp6_rand
    linkageType: ''
    returnType: int
    signature: int doubling6(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2599,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2600,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2601,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2602,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2603,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2604,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2607,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2608,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2609,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2610,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2611,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2612,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2614,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2615,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2616,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2617,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2618,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2619,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2619,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2622,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2623,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2624,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2625,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2626,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2627,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2628,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2629,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2630,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2630,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2633,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2634,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2635,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2636,1
    - Dst: fp6_add
      Src: /src/relic/test/test_fpx.c:2637,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2638,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2639,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2640,1
    - Dst: fp6_add
      Src: /src/relic/test/test_fpx.c:2641,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2642,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2642,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2645,1
    - Dst: fp6_set_dig
      Src: /src/relic/test/test_fpx.c:2646,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2647,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2648,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2648,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2651,1
    - Dst: fp6_zero
      Src: /src/relic/test/test_fpx.c:2652,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2653,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2654,1
    - Dst: fp6_is_zero
      Src: /src/relic/test/test_fpx.c:2654,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2657,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2658,1
    - Dst: fp6_zero
      Src: /src/relic/test/test_fpx.c:2659,1
    - Dst: fp2_set_dig
      Src: /src/relic/test/test_fpx.c:2660,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2661,1
    - Dst: fp6_mul_art
      Src: /src/relic/test/test_fpx.c:2662,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2663,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2663,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2667,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2668,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2669,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2670,1
    - Dst: fp6_mul_basic
      Src: /src/relic/test/test_fpx.c:2671,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2672,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2672,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2677,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2678,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2679,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2680,1
    - Dst: fp6_mul_lazyr
      Src: /src/relic/test/test_fpx.c:2681,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2682,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2685
    functionName: multiplication6
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp6_zero
    - fp6_mul_art
    - TEST_CASE
    - fp6_null
    - fp6_mul
    - fp6_new
    - fp6_is_zero
    - TEST_ASSERT
    - fp2_set_dig
    - fp6_mul_basic
    - fp6_add
    - fp6_set_dig
    - fp6_mul_lazyr
    - fp6_cmp
    - fp6_rand
    linkageType: ''
    returnType: int
    signature: int multiplication6(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2705,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2706,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2707,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2710,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2711,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2712,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2714,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2715,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2716,1
    - Dst: fp6_sqr
      Src: /src/relic/test/test_fpx.c:2717,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2718,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2718,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2722,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2723,1
    - Dst: fp6_sqr
      Src: /src/relic/test/test_fpx.c:2724,1
    - Dst: fp6_sqr_basic
      Src: /src/relic/test/test_fpx.c:2725,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2726,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2726,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2731,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2732,1
    - Dst: fp6_sqr
      Src: /src/relic/test/test_fpx.c:2733,1
    - Dst: fp6_sqr_lazyr
      Src: /src/relic/test/test_fpx.c:2734,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2735,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2701
    functionDepth: 1
    functionLinenumber: 2701
    functionLinenumberEnd: 2738
    functionName: squaring6
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp6_null
    - fp6_mul
    - fp6_new
    - fp6_sqr_basic
    - TEST_ASSERT
    - fp6_sqr_lazyr
    - fp6_sqr
    - fp6_cmp
    - fp6_rand
    linkageType: ''
    returnType: int
    signature: int squaring6(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2755,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2756,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2757,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2760,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2761,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2762,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2764,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2766,1
    - Dst: fp6_is_zero
      Src: /src/relic/test/test_fpx.c:2767,1
    - Dst: fp6_inv
      Src: /src/relic/test/test_fpx.c:2768,1
    - Dst: fp6_mul
      Src: /src/relic/test/test_fpx.c:2769,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2770,1
    - Dst: fp6_cmp_dig
      Src: /src/relic/test/test_fpx.c:2770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2772
      start: 2751
    functionDepth: 1
    functionLinenumber: 2751
    functionLinenumberEnd: 2772
    functionName: inversion6
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp6_null
    - fp6_is_zero
    - fp6_new
    - fp6_mul
    - TEST_ASSERT
    - fp6_cmp_dig
    - fp6_inv
    - fp6_rand
    linkageType: ''
    returnType: int
    signature: int inversion6(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2790,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2791,1
    - Dst: fp6_null
      Src: /src/relic/test/test_fpx.c:2792,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:2793,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2796,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2797,1
    - Dst: fp6_new
      Src: /src/relic/test/test_fpx.c:2798,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:2799,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2801,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2802,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:2803,1
    - Dst: fp6_exp
      Src: /src/relic/test/test_fpx.c:2804,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2805,1
    - Dst: fp6_cmp_dig
      Src: /src/relic/test/test_fpx.c:2805,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:2806,1
    - Dst: fp6_exp
      Src: /src/relic/test/test_fpx.c:2807,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2808,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2808,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:2809,1
    - Dst: fp6_exp
      Src: /src/relic/test/test_fpx.c:2810,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:2811,1
    - Dst: fp6_exp
      Src: /src/relic/test/test_fpx.c:2812,1
    - Dst: fp6_inv
      Src: /src/relic/test/test_fpx.c:2813,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2814,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2814,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2817,1
    - Dst: fp6_rand
      Src: /src/relic/test/test_fpx.c:2818,1
    - Dst: fp6_frb
      Src: /src/relic/test/test_fpx.c:2819,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2820,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2820,1
    - Dst: fp6_frb
      Src: /src/relic/test/test_fpx.c:2821,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fpx.c:2824,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fpx.c:2824,1
    - Dst: fp6_exp
      Src: /src/relic/test/test_fpx.c:2825,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2826,1
    - Dst: fp6_cmp
      Src: /src/relic/test/test_fpx.c:2826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2785
    functionDepth: 1
    functionLinenumber: 2785
    functionLinenumberEnd: 2828
    functionName: exponentiation6
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp6_exp
    - dv_copy
    - fp6_frb
    - bn_null
    - bn_zero
    - TEST_CASE
    - fp6_null
    - fp6_cmp_dig
    - fp6_new
    - TEST_ASSERT
    - fp_prime_get
    - bn_neg
    - bn_new
    - bn_set_dig
    - fp6_cmp
    - fp6_inv
    - bn_rand
    - fp6_rand
    linkageType: ''
    returnType: int
    signature: int exponentiation6(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:2847,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2850,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:2851,1
    - Dst: fp8_free
      Src: /src/relic/test/test_fpx.c:2852,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:2857,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fpx.c:2858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2842
    functionDepth: 1
    functionLinenumber: 2842
    functionLinenumberEnd: 2866
    functionName: memory8
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - fp8_free
    - fp8_new
    - fp8_null
    linkageType: ''
    returnType: int
    signature: int memory8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:2874,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:2875,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:2876,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:2879,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:2880,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:2881,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2883,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:2884,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:2885,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2886,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2887,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2887,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2892,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:2893,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:2894,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:2895,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2896,1
    - Dst: fp8_copy
      Src: /src/relic/test/test_fpx.c:2897,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2898,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2898,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2900,1
    - Dst: fp8_copy
      Src: /src/relic/test/test_fpx.c:2901,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2902,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2902,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2907,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:2908,1
    - Dst: fp8_neg
      Src: /src/relic/test/test_fpx.c:2909,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2910,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2911,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2911,1
    - Dst: fp8_neg
      Src: /src/relic/test/test_fpx.c:2913,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2914,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2914,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2918,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:2920,1
    - Dst: fp8_is_zero
      Src: /src/relic/test/test_fpx.c:2921,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:2922,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2923,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2923,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2924,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2924,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2928,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:2930,1
    - Dst: fp8_is_zero
      Src: /src/relic/test/test_fpx.c:2931,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:2932,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2933,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2933,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2937,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:2938,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2939,1
    - Dst: fp8_is_zero
      Src: /src/relic/test/test_fpx.c:2939,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2943,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fpx.c:2944,1
    - Dst: fp8_set_dig
      Src: /src/relic/test/test_fpx.c:2945,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2946,1
    - Dst: fp8_cmp_dig
      Src: /src/relic/test/test_fpx.c:2946,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2950,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:2951,1
    - Dst: fp8_write_bin
      Src: /src/relic/test/test_fpx.c:2952,1
    - Dst: fp8_read_bin
      Src: /src/relic/test/test_fpx.c:2953,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2954,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2954,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2958,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:2959,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2960,1
    - Dst: fp8_size_bin
      Src: /src/relic/test/test_fpx.c:2960,1
    - Dst: fp8_conv_cyc
      Src: /src/relic/test/test_fpx.c:2961,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2962,1
    - Dst: fp8_size_bin
      Src: /src/relic/test/test_fpx.c:2962,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2965
      start: 2868
    functionDepth: 1
    functionLinenumber: 2868
    functionLinenumberEnd: 2965
    functionName: util8
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp8_cmp_dig
    - fp8_size_bin
    - TEST_CASE
    - fp8_write_bin
    - fp8_zero
    - fp8_neg
    - TEST_ASSERT
    - fp8_is_zero
    - fp8_rand
    - fp8_conv_cyc
    - fp8_new
    - rand_bytes
    - fp8_null
    - fp8_copy
    - fp8_read_bin
    - fp8_set_dig
    - fp8_cmp
    linkageType: ''
    returnType: int
    signature: int util8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:2981,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:2982,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:2983,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:2984,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:2985,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:2988,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:2989,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:2990,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:2991,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:2992,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:2994,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:2995,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:2996,1
    - Dst: fp8_add
      Src: /src/relic/test/test_fpx.c:2997,1
    - Dst: fp8_add
      Src: /src/relic/test/test_fpx.c:2998,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:2999,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:2999,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3002,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3003,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3004,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3005,1
    - Dst: fp8_add
      Src: /src/relic/test/test_fpx.c:3006,1
    - Dst: fp8_add
      Src: /src/relic/test/test_fpx.c:3007,1
    - Dst: fp8_add
      Src: /src/relic/test/test_fpx.c:3008,1
    - Dst: fp8_add
      Src: /src/relic/test/test_fpx.c:3009,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3010,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3010,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3013,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3014,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:3015,1
    - Dst: fp8_add
      Src: /src/relic/test/test_fpx.c:3016,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3017,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3017,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3020,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3021,1
    - Dst: fp8_neg
      Src: /src/relic/test/test_fpx.c:3022,1
    - Dst: fp8_add
      Src: /src/relic/test/test_fpx.c:3023,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3024,1
    - Dst: fp8_is_zero
      Src: /src/relic/test/test_fpx.c:3024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 2977
    functionDepth: 1
    functionLinenumber: 2977
    functionLinenumberEnd: 3026
    functionName: addition8
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp8_zero
    - fp8_add
    - TEST_ASSERT
    - fp8_cmp
    - fp8_neg
    - fp8_is_zero
    - fp8_new
    - fp8_null
    - fp8_rand
    linkageType: ''
    returnType: int
    signature: int addition8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3045,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3046,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3047,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3048,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3051,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3052,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3053,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3054,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3056,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3057,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3058,1
    - Dst: fp8_sub
      Src: /src/relic/test/test_fpx.c:3059,1
    - Dst: fp8_sub
      Src: /src/relic/test/test_fpx.c:3060,1
    - Dst: fp8_neg
      Src: /src/relic/test/test_fpx.c:3061,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3062,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3062,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3066,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3067,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:3068,1
    - Dst: fp8_sub
      Src: /src/relic/test/test_fpx.c:3069,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3070,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3070,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3074,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3075,1
    - Dst: fp8_sub
      Src: /src/relic/test/test_fpx.c:3076,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3077,1
    - Dst: fp8_is_zero
      Src: /src/relic/test/test_fpx.c:3077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3041
    functionDepth: 1
    functionLinenumber: 3041
    functionLinenumberEnd: 3080
    functionName: subtraction8
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp8_zero
    - fp8_neg
    - TEST_ASSERT
    - fp8_cmp
    - fp8_is_zero
    - fp8_sub
    - fp8_new
    - fp8_null
    - fp8_rand
    linkageType: ''
    returnType: int
    signature: int subtraction8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3098,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3099,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3100,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3103,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3104,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3105,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3107,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3108,1
    - Dst: fp8_dbl
      Src: /src/relic/test/test_fpx.c:3109,1
    - Dst: fp8_add
      Src: /src/relic/test/test_fpx.c:3110,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3111,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3113
      start: 3094
    functionDepth: 1
    functionLinenumber: 3094
    functionLinenumberEnd: 3113
    functionName: doubling8
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp8_add
    - TEST_ASSERT
    - fp8_cmp
    - fp8_dbl
    - fp8_new
    - fp8_null
    - fp8_rand
    linkageType: ''
    returnType: int
    signature: int doubling8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3130,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3131,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3132,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3133,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3134,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3135,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3138,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3139,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3140,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3141,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3142,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3143,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3145,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3146,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3147,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3148,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3149,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3150,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3150,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3153,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3154,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3155,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3156,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3157,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3158,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3159,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3160,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3161,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3161,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3164,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3165,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3166,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3167,1
    - Dst: fp8_add
      Src: /src/relic/test/test_fpx.c:3168,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3169,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3170,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3171,1
    - Dst: fp8_add
      Src: /src/relic/test/test_fpx.c:3172,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3173,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3173,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3176,1
    - Dst: fp8_set_dig
      Src: /src/relic/test/test_fpx.c:3177,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3178,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3179,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3179,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3182,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:3183,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3184,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3185,1
    - Dst: fp8_is_zero
      Src: /src/relic/test/test_fpx.c:3185,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3188,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3189,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:3190,1
    - Dst: fp4_set_dig
      Src: /src/relic/test/test_fpx.c:3191,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3192,1
    - Dst: fp8_mul_art
      Src: /src/relic/test/test_fpx.c:3193,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3194,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3194,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3198,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3199,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3200,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3201,1
    - Dst: fp8_mul_basic
      Src: /src/relic/test/test_fpx.c:3202,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3203,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3203,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3208,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3209,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3210,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3211,1
    - Dst: fp8_mul_lazyr
      Src: /src/relic/test/test_fpx.c:3212,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3213,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3216
      start: 3126
    functionDepth: 1
    functionLinenumber: 3126
    functionLinenumberEnd: 3216
    functionName: multiplication8
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp8_zero
    - fp8_cmp
    - TEST_ASSERT
    - fp8_add
    - fp8_is_zero
    - fp8_mul_art
    - fp8_mul_lazyr
    - fp8_new
    - fp8_mul
    - fp8_null
    - fp8_mul_basic
    - fp4_set_dig
    - fp8_set_dig
    - fp8_rand
    linkageType: ''
    returnType: int
    signature: int multiplication8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3236,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3237,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3238,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3241,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3242,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3243,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3245,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3246,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3247,1
    - Dst: fp8_sqr
      Src: /src/relic/test/test_fpx.c:3248,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3249,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3249,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3253,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3254,1
    - Dst: fp8_sqr
      Src: /src/relic/test/test_fpx.c:3255,1
    - Dst: fp8_sqr_basic
      Src: /src/relic/test/test_fpx.c:3256,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3257,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3257,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3262,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3263,1
    - Dst: fp8_sqr
      Src: /src/relic/test/test_fpx.c:3264,1
    - Dst: fp8_sqr_lazyr
      Src: /src/relic/test/test_fpx.c:3265,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3266,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3269
      start: 3232
    functionDepth: 1
    functionLinenumber: 3232
    functionLinenumberEnd: 3269
    functionName: squaring8
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp8_sqr_basic
    - fp8_cmp
    - TEST_ASSERT
    - fp8_sqr
    - fp8_new
    - fp8_mul
    - fp8_null
    - fp8_sqr_lazyr
    - fp8_rand
    linkageType: ''
    returnType: int
    signature: int squaring8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3287,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3288,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3289,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:3290,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3293,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3294,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3295,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:3296,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3298,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3299,1
    - Dst: fp8_conv_cyc
      Src: /src/relic/test/test_fpx.c:3300,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3301,1
    - Dst: fp8_test_cyc
      Src: /src/relic/test/test_fpx.c:3301,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3304,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3305,1
    - Dst: fp8_conv_cyc
      Src: /src/relic/test/test_fpx.c:3306,1
    - Dst: fp8_sqr
      Src: /src/relic/test/test_fpx.c:3307,1
    - Dst: fp8_sqr_cyc
      Src: /src/relic/test/test_fpx.c:3308,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3309,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3309,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3312,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3313,1
    - Dst: fp8_conv_cyc
      Src: /src/relic/test/test_fpx.c:3314,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:3315,1
    - Dst: fp8_exp_cyc
      Src: /src/relic/test/test_fpx.c:3316,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3317,1
    - Dst: fp8_cmp_dig
      Src: /src/relic/test/test_fpx.c:3317,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:3318,1
    - Dst: fp8_exp_cyc
      Src: /src/relic/test/test_fpx.c:3319,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3320,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3320,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:3321,1
    - Dst: fp8_exp
      Src: /src/relic/test/test_fpx.c:3322,1
    - Dst: fp8_exp_cyc
      Src: /src/relic/test/test_fpx.c:3323,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3324,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3324,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:3325,1
    - Dst: fp8_exp_cyc
      Src: /src/relic/test/test_fpx.c:3326,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:3327,1
    - Dst: fp8_exp_cyc
      Src: /src/relic/test/test_fpx.c:3328,1
    - Dst: fp8_inv_cyc
      Src: /src/relic/test/test_fpx.c:3329,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3330,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3332
      start: 3282
    functionDepth: 1
    functionLinenumber: 3282
    functionLinenumberEnd: 3332
    functionName: cyclotomic8
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp8_exp
    - bn_set_dig
    - fp8_sqr_cyc
    - fp8_conv_cyc
    - fp8_null
    - fp8_cmp
    - fp8_exp_cyc
    - bn_null
    - bn_rand
    - fp8_cmp_dig
    - fp8_sqr
    - fp8_rand
    - TEST_CASE
    - bn_neg
    - bn_new
    - fp8_test_cyc
    - fp8_inv_cyc
    - bn_zero
    - TEST_ASSERT
    - fp8_new
    linkageType: ''
    returnType: int
    signature: int cyclotomic8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3350,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3351,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3352,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3353,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3354,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3357,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3358,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3359,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3360,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3361,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3363,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3365,1
    - Dst: fp8_is_zero
      Src: /src/relic/test/test_fpx.c:3366,1
    - Dst: fp8_inv
      Src: /src/relic/test/test_fpx.c:3367,1
    - Dst: fp8_mul
      Src: /src/relic/test/test_fpx.c:3368,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3369,1
    - Dst: fp8_cmp_dig
      Src: /src/relic/test/test_fpx.c:3369,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3372,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3374,1
    - Dst: fp8_is_zero
      Src: /src/relic/test/test_fpx.c:3375,1
    - Dst: fp8_conv_cyc
      Src: /src/relic/test/test_fpx.c:3376,1
    - Dst: fp8_inv
      Src: /src/relic/test/test_fpx.c:3377,1
    - Dst: fp8_inv_cyc
      Src: /src/relic/test/test_fpx.c:3378,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3379,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3379,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3382,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3384,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3385,1
    - Dst: fp8_is_zero
      Src: /src/relic/test/test_fpx.c:3386,1
    - Dst: fp8_is_zero
      Src: /src/relic/test/test_fpx.c:3386,1
    - Dst: fp8_copy
      Src: /src/relic/test/test_fpx.c:3387,1
    - Dst: fp8_copy
      Src: /src/relic/test/test_fpx.c:3388,1
    - Dst: fp8_inv
      Src: /src/relic/test/test_fpx.c:3389,1
    - Dst: fp8_inv
      Src: /src/relic/test/test_fpx.c:3390,1
    - Dst: fp8_inv_sim
      Src: /src/relic/test/test_fpx.c:3391,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3392,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3392,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3346
    functionDepth: 1
    functionLinenumber: 3346
    functionLinenumberEnd: 3395
    functionName: inversion8
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp8_cmp_dig
    - fp8_inv_sim
    - TEST_CASE
    - fp8_cmp
    - TEST_ASSERT
    - fp8_is_zero
    - fp8_inv
    - fp8_conv_cyc
    - fp8_new
    - fp8_mul
    - fp8_null
    - fp8_copy
    - fp8_inv_cyc
    - fp8_rand
    linkageType: ''
    returnType: int
    signature: int inversion8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3415,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3416,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3417,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:3418,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3421,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3422,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3423,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:3424,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3426,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3427,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:3428,1
    - Dst: fp8_exp
      Src: /src/relic/test/test_fpx.c:3429,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3430,1
    - Dst: fp8_cmp_dig
      Src: /src/relic/test/test_fpx.c:3430,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:3431,1
    - Dst: fp8_exp
      Src: /src/relic/test/test_fpx.c:3432,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3433,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3433,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:3434,1
    - Dst: fp8_exp
      Src: /src/relic/test/test_fpx.c:3435,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:3436,1
    - Dst: fp8_exp
      Src: /src/relic/test/test_fpx.c:3437,1
    - Dst: fp8_inv
      Src: /src/relic/test/test_fpx.c:3438,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3439,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3439,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3442,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3443,1
    - Dst: fp8_frb
      Src: /src/relic/test/test_fpx.c:3444,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3445,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3445,1
    - Dst: fp8_frb
      Src: /src/relic/test/test_fpx.c:3446,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fpx.c:3449,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fpx.c:3449,1
    - Dst: fp8_exp
      Src: /src/relic/test/test_fpx.c:3450,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3451,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3453
      start: 3410
    functionDepth: 1
    functionLinenumber: 3410
    functionLinenumberEnd: 3453
    functionName: exponentiation8
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp8_cmp_dig
    - dv_copy
    - bn_null
    - bn_zero
    - TEST_CASE
    - fp8_cmp
    - fp8_exp
    - TEST_ASSERT
    - bn_neg
    - bn_new
    - fp8_inv
    - bn_set_dig
    - fp8_new
    - fp_prime_get
    - fp8_null
    - bn_rand
    - fp8_rand
    - fp8_frb
    linkageType: ''
    returnType: int
    signature: int exponentiation8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3472,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3473,1
    - Dst: fp8_null
      Src: /src/relic/test/test_fpx.c:3474,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3477,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3478,1
    - Dst: fp8_new
      Src: /src/relic/test/test_fpx.c:3479,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3481,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:3482,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3483,1
    - Dst: fp8_is_sqr
      Src: /src/relic/test/test_fpx.c:3483,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3484,1
    - Dst: fp8_sqr
      Src: /src/relic/test/test_fpx.c:3485,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3486,1
    - Dst: fp8_is_sqr
      Src: /src/relic/test/test_fpx.c:3486,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3488,1
    - Dst: fp8_srt
      Src: /src/relic/test/test_fpx.c:3489,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3490,1
    - Dst: fp8_is_sqr
      Src: /src/relic/test/test_fpx.c:3490,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3494,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:3495,1
    - Dst: fp8_sqr
      Src: /src/relic/test/test_fpx.c:3496,1
    - Dst: fp8_srt
      Src: /src/relic/test/test_fpx.c:3497,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3498,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3499,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3499,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3500,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:3501,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:3502,1
    - Dst: fp8_sqr
      Src: /src/relic/test/test_fpx.c:3503,1
    - Dst: fp8_srt
      Src: /src/relic/test/test_fpx.c:3504,1
    - Dst: fp8_neg
      Src: /src/relic/test/test_fpx.c:3505,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3506,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3507,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3507,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3508,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:3509,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_fpx.c:3510,1
    - Dst: fp8_sqr
      Src: /src/relic/test/test_fpx.c:3511,1
    - Dst: fp8_srt
      Src: /src/relic/test/test_fpx.c:3512,1
    - Dst: fp8_neg
      Src: /src/relic/test/test_fpx.c:3513,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3514,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3515,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3515,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3516,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:3517,1
    - Dst: fp8_sqr
      Src: /src/relic/test/test_fpx.c:3518,1
    - Dst: fp8_srt
      Src: /src/relic/test/test_fpx.c:3519,1
    - Dst: fp8_neg
      Src: /src/relic/test/test_fpx.c:3520,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3521,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3522,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3522,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_fpx.c:3523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3525
      start: 3467
    functionDepth: 1
    functionLinenumber: 3467
    functionLinenumberEnd: 3525
    functionName: square_root8
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp8_is_sqr
    - fp8_zero
    - fp4_rand
    - fp8_cmp
    - TEST_ASSERT
    - fp8_neg
    - fp8_sqr
    - fp4_zero
    - fp8_new
    - fp8_null
    - fp8_srt
    - fp8_rand
    linkageType: ''
    returnType: int
    signature: int square_root8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3543,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3546,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3547,1
    - Dst: fp9_free
      Src: /src/relic/test/test_fpx.c:3548,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:3553,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fpx.c:3554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3562
      start: 3538
    functionDepth: 1
    functionLinenumber: 3538
    functionLinenumberEnd: 3562
    functionName: memory9
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - util_print
    - TEST_CASE
    - fp9_free
    - fp9_new
    - RLC_ERROR
    - fp9_null
    linkageType: ''
    returnType: int
    signature: int memory9(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3570,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3571,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3572,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3575,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3576,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3577,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3579,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3580,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3581,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3582,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3583,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3583,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3588,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3589,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3590,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3591,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3592,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_fpx.c:3593,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3594,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3594,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3596,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_fpx.c:3597,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3598,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3598,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3603,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3604,1
    - Dst: fp9_neg
      Src: /src/relic/test/test_fpx.c:3605,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3606,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3607,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3607,1
    - Dst: fp9_neg
      Src: /src/relic/test/test_fpx.c:3609,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3610,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3610,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3614,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3616,1
    - Dst: fp9_is_zero
      Src: /src/relic/test/test_fpx.c:3617,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:3618,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3619,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3619,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3620,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3620,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3624,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3626,1
    - Dst: fp9_is_zero
      Src: /src/relic/test/test_fpx.c:3627,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:3628,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3629,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3629,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3633,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:3634,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3635,1
    - Dst: fp9_is_zero
      Src: /src/relic/test/test_fpx.c:3635,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3639,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fpx.c:3640,1
    - Dst: fp9_set_dig
      Src: /src/relic/test/test_fpx.c:3641,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3642,1
    - Dst: fp9_cmp_dig
      Src: /src/relic/test/test_fpx.c:3642,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3646,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3647,1
    - Dst: fp9_write_bin
      Src: /src/relic/test/test_fpx.c:3648,1
    - Dst: fp9_read_bin
      Src: /src/relic/test/test_fpx.c:3649,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3650,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3650,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3654,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3655,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3656,1
    - Dst: fp9_size_bin
      Src: /src/relic/test/test_fpx.c:3656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3659
      start: 3564
    functionDepth: 1
    functionLinenumber: 3564
    functionLinenumberEnd: 3659
    functionName: util9
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp9_set_dig
    - rand_bytes
    - TEST_CASE
    - fp9_size_bin
    - fp9_new
    - TEST_ASSERT
    - fp9_cmp_dig
    - fp9_zero
    - fp9_null
    - fp9_write_bin
    - fp9_rand
    - fp9_copy
    - fp9_neg
    - fp9_cmp
    - fp9_read_bin
    - fp9_is_zero
    linkageType: ''
    returnType: int
    signature: int util9(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3675,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3676,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3677,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3678,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3679,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3682,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3683,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3684,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3685,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3686,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3688,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3689,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3690,1
    - Dst: fp9_add
      Src: /src/relic/test/test_fpx.c:3691,1
    - Dst: fp9_add
      Src: /src/relic/test/test_fpx.c:3692,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3693,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3693,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3696,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3697,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3698,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3699,1
    - Dst: fp9_add
      Src: /src/relic/test/test_fpx.c:3700,1
    - Dst: fp9_add
      Src: /src/relic/test/test_fpx.c:3701,1
    - Dst: fp9_add
      Src: /src/relic/test/test_fpx.c:3702,1
    - Dst: fp9_add
      Src: /src/relic/test/test_fpx.c:3703,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3704,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3704,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3707,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3708,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:3709,1
    - Dst: fp9_add
      Src: /src/relic/test/test_fpx.c:3710,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3711,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3711,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3714,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3715,1
    - Dst: fp9_neg
      Src: /src/relic/test/test_fpx.c:3716,1
    - Dst: fp9_add
      Src: /src/relic/test/test_fpx.c:3717,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3718,1
    - Dst: fp9_is_zero
      Src: /src/relic/test/test_fpx.c:3718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3720
      start: 3671
    functionDepth: 1
    functionLinenumber: 3671
    functionLinenumberEnd: 3720
    functionName: addition9
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp9_new
    - TEST_ASSERT
    - fp9_zero
    - fp9_null
    - fp9_rand
    - fp9_neg
    - fp9_cmp
    - fp9_add
    - fp9_is_zero
    linkageType: ''
    returnType: int
    signature: int addition9(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3739,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3740,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3741,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3742,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3745,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3746,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3747,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3748,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3750,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3751,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3752,1
    - Dst: fp9_sub
      Src: /src/relic/test/test_fpx.c:3753,1
    - Dst: fp9_sub
      Src: /src/relic/test/test_fpx.c:3754,1
    - Dst: fp9_neg
      Src: /src/relic/test/test_fpx.c:3755,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3756,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3756,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3760,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3761,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:3762,1
    - Dst: fp9_sub
      Src: /src/relic/test/test_fpx.c:3763,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3764,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3764,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3768,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3769,1
    - Dst: fp9_sub
      Src: /src/relic/test/test_fpx.c:3770,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3771,1
    - Dst: fp9_is_zero
      Src: /src/relic/test/test_fpx.c:3771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3774
      start: 3735
    functionDepth: 1
    functionLinenumber: 3735
    functionLinenumberEnd: 3774
    functionName: subtraction9
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp9_new
    - fp9_sub
    - TEST_ASSERT
    - fp9_zero
    - fp9_null
    - fp9_rand
    - fp9_neg
    - fp9_cmp
    - fp9_is_zero
    linkageType: ''
    returnType: int
    signature: int subtraction9(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3792,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3793,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3794,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3797,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3798,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3799,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3801,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3802,1
    - Dst: fp9_dbl
      Src: /src/relic/test/test_fpx.c:3803,1
    - Dst: fp9_add
      Src: /src/relic/test/test_fpx.c:3804,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3805,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3807
      start: 3788
    functionDepth: 1
    functionLinenumber: 3788
    functionLinenumberEnd: 3807
    functionName: doubling9
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp9_new
    - TEST_ASSERT
    - fp9_null
    - fp9_rand
    - fp9_cmp
    - fp9_add
    - fp9_dbl
    linkageType: ''
    returnType: int
    signature: int doubling9(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3824,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3825,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3826,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3827,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3828,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3829,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3832,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3833,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3834,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3835,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3836,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3837,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3839,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3840,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3841,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3842,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3843,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3844,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3844,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3847,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3848,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3849,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3850,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3851,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3852,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3853,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3854,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3855,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3855,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3858,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3859,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3860,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3861,1
    - Dst: fp9_add
      Src: /src/relic/test/test_fpx.c:3862,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3863,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3864,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3865,1
    - Dst: fp9_add
      Src: /src/relic/test/test_fpx.c:3866,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3867,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3867,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3870,1
    - Dst: fp9_set_dig
      Src: /src/relic/test/test_fpx.c:3871,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3872,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3873,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3873,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3876,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:3877,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3878,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3879,1
    - Dst: fp9_is_zero
      Src: /src/relic/test/test_fpx.c:3879,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3882,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3883,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:3884,1
    - Dst: fp3_set_dig
      Src: /src/relic/test/test_fpx.c:3885,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3886,1
    - Dst: fp9_mul_art
      Src: /src/relic/test/test_fpx.c:3887,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3888,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3888,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3892,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3893,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3894,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3895,1
    - Dst: fp9_mul_basic
      Src: /src/relic/test/test_fpx.c:3896,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3897,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3897,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3902,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3903,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3904,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3905,1
    - Dst: fp9_mul_lazyr
      Src: /src/relic/test/test_fpx.c:3906,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3907,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3910
      start: 3820
    functionDepth: 1
    functionLinenumber: 3820
    functionLinenumberEnd: 3910
    functionName: multiplication9
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp9_set_dig
    - TEST_CASE
    - fp9_mul_art
    - fp9_new
    - TEST_ASSERT
    - fp9_zero
    - fp9_null
    - fp3_set_dig
    - fp9_mul_basic
    - fp9_rand
    - fp9_mul
    - fp9_cmp
    - fp9_add
    - fp9_mul_lazyr
    - fp9_is_zero
    linkageType: ''
    returnType: int
    signature: int multiplication9(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3930,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3931,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3932,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3935,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3936,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3937,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3939,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3940,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3941,1
    - Dst: fp9_sqr
      Src: /src/relic/test/test_fpx.c:3942,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3943,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3943,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3947,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3948,1
    - Dst: fp9_sqr
      Src: /src/relic/test/test_fpx.c:3949,1
    - Dst: fp9_sqr_basic
      Src: /src/relic/test/test_fpx.c:3950,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3951,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3951,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3956,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3957,1
    - Dst: fp9_sqr
      Src: /src/relic/test/test_fpx.c:3958,1
    - Dst: fp9_sqr_lazyr
      Src: /src/relic/test/test_fpx.c:3959,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3960,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:3960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3963
      start: 3926
    functionDepth: 1
    functionLinenumber: 3926
    functionLinenumberEnd: 3963
    functionName: squaring9
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp9_sqr_lazyr
    - TEST_CASE
    - fp9_new
    - TEST_ASSERT
    - fp9_sqr
    - fp9_null
    - fp9_sqr_basic
    - fp9_rand
    - fp9_mul
    - fp9_cmp
    linkageType: ''
    returnType: int
    signature: int squaring9(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3980,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3981,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3982,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3983,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:3984,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3987,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3988,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3989,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3990,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:3991,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:3993,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:3995,1
    - Dst: fp9_is_zero
      Src: /src/relic/test/test_fpx.c:3996,1
    - Dst: fp9_inv
      Src: /src/relic/test/test_fpx.c:3997,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_fpx.c:3998,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:3999,1
    - Dst: fp9_cmp_dig
      Src: /src/relic/test/test_fpx.c:3999,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4002,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:4004,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:4005,1
    - Dst: fp9_is_zero
      Src: /src/relic/test/test_fpx.c:4006,1
    - Dst: fp9_is_zero
      Src: /src/relic/test/test_fpx.c:4006,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_fpx.c:4007,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_fpx.c:4008,1
    - Dst: fp9_inv
      Src: /src/relic/test/test_fpx.c:4009,1
    - Dst: fp9_inv
      Src: /src/relic/test/test_fpx.c:4010,1
    - Dst: fp9_inv_sim
      Src: /src/relic/test/test_fpx.c:4011,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4012,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:4012,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:4013,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4015
      start: 3976
    functionDepth: 1
    functionLinenumber: 3976
    functionLinenumberEnd: 4015
    functionName: inversion9
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp9_inv_sim
    - fp9_new
    - TEST_ASSERT
    - fp9_cmp_dig
    - fp9_inv
    - fp9_copy
    - fp9_null
    - fp9_rand
    - fp9_mul
    - fp9_cmp
    - fp9_is_zero
    linkageType: ''
    returnType: int
    signature: int inversion9(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:4035,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:4036,1
    - Dst: fp9_null
      Src: /src/relic/test/test_fpx.c:4037,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:4038,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:4041,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:4042,1
    - Dst: fp9_new
      Src: /src/relic/test/test_fpx.c:4043,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:4044,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4046,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:4047,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:4048,1
    - Dst: fp9_exp
      Src: /src/relic/test/test_fpx.c:4049,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4050,1
    - Dst: fp9_cmp_dig
      Src: /src/relic/test/test_fpx.c:4050,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:4051,1
    - Dst: fp9_exp
      Src: /src/relic/test/test_fpx.c:4052,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4053,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:4053,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:4054,1
    - Dst: fp9_exp
      Src: /src/relic/test/test_fpx.c:4055,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:4056,1
    - Dst: fp9_exp
      Src: /src/relic/test/test_fpx.c:4057,1
    - Dst: fp9_inv
      Src: /src/relic/test/test_fpx.c:4058,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4059,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:4059,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4062,1
    - Dst: fp9_rand
      Src: /src/relic/test/test_fpx.c:4063,1
    - Dst: fp9_frb
      Src: /src/relic/test/test_fpx.c:4064,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4065,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:4065,1
    - Dst: fp9_frb
      Src: /src/relic/test/test_fpx.c:4066,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fpx.c:4069,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fpx.c:4069,1
    - Dst: fp9_exp
      Src: /src/relic/test/test_fpx.c:4070,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4071,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_fpx.c:4071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4073
      start: 4030
    functionDepth: 1
    functionLinenumber: 4030
    functionLinenumberEnd: 4073
    functionName: exponentiation9
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - bn_null
    - bn_zero
    - TEST_CASE
    - fp9_new
    - TEST_ASSERT
    - fp9_cmp
    - fp9_cmp_dig
    - fp9_inv
    - bn_neg
    - fp9_null
    - bn_new
    - bn_set_dig
    - fp9_rand
    - fp_prime_get
    - fp9_exp
    - fp9_frb
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int exponentiation9(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4092,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4095,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4096,1
    - Dst: fp12_free
      Src: /src/relic/test/test_fpx.c:4097,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:4102,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fpx.c:4103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4111
      start: 4087
    functionDepth: 1
    functionLinenumber: 4087
    functionLinenumberEnd: 4111
    functionName: memory12
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - util_print
    - TEST_CASE
    - fp12_null
    - RLC_ERROR
    - fp12_free
    - fp12_new
    linkageType: ''
    returnType: int
    signature: int memory12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4119,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4120,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4121,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4124,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4125,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4126,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4128,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4129,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4130,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4131,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4132,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4132,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4137,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4138,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4139,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4140,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4141,1
    - Dst: fp12_copy
      Src: /src/relic/test/test_fpx.c:4142,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4143,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4143,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4145,1
    - Dst: fp12_copy
      Src: /src/relic/test/test_fpx.c:4146,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4147,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4147,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4152,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4153,1
    - Dst: fp12_neg
      Src: /src/relic/test/test_fpx.c:4154,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4155,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4156,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4156,1
    - Dst: fp12_neg
      Src: /src/relic/test/test_fpx.c:4158,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4159,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4159,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4163,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4165,1
    - Dst: fp12_is_zero
      Src: /src/relic/test/test_fpx.c:4166,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_fpx.c:4167,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4168,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4168,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4169,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4169,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4173,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4175,1
    - Dst: fp12_is_zero
      Src: /src/relic/test/test_fpx.c:4176,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_fpx.c:4177,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4178,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4178,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4182,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_fpx.c:4183,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4184,1
    - Dst: fp12_is_zero
      Src: /src/relic/test/test_fpx.c:4184,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4188,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fpx.c:4189,1
    - Dst: fp12_set_dig
      Src: /src/relic/test/test_fpx.c:4190,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4191,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_fpx.c:4191,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4195,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4196,1
    - Dst: fp12_write_bin
      Src: /src/relic/test/test_fpx.c:4197,1
    - Dst: fp12_read_bin
      Src: /src/relic/test/test_fpx.c:4198,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4199,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4199,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4203,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4204,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4205,1
    - Dst: fp12_size_bin
      Src: /src/relic/test/test_fpx.c:4205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4208
      start: 4113
    functionDepth: 1
    functionLinenumber: 4113
    functionLinenumberEnd: 4208
    functionName: util12
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp12_cmp
    - fp12_is_zero
    - fp12_zero
    - fp12_cmp_dig
    - fp12_write_bin
    - TEST_CASE
    - fp12_neg
    - fp12_null
    - TEST_ASSERT
    - fp12_set_dig
    - fp12_rand
    - fp12_copy
    - fp12_read_bin
    - fp12_new
    - rand_bytes
    - fp12_size_bin
    linkageType: ''
    returnType: int
    signature: int util12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4224,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4225,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4226,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4227,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4228,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4231,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4232,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4233,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4234,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4235,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4237,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4238,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4239,1
    - Dst: fp12_add
      Src: /src/relic/test/test_fpx.c:4240,1
    - Dst: fp12_add
      Src: /src/relic/test/test_fpx.c:4241,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4242,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4242,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4245,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4246,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4247,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4248,1
    - Dst: fp12_add
      Src: /src/relic/test/test_fpx.c:4249,1
    - Dst: fp12_add
      Src: /src/relic/test/test_fpx.c:4250,1
    - Dst: fp12_add
      Src: /src/relic/test/test_fpx.c:4251,1
    - Dst: fp12_add
      Src: /src/relic/test/test_fpx.c:4252,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4253,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4253,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4256,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4257,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_fpx.c:4258,1
    - Dst: fp12_add
      Src: /src/relic/test/test_fpx.c:4259,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4260,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4260,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4263,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4264,1
    - Dst: fp12_neg
      Src: /src/relic/test/test_fpx.c:4265,1
    - Dst: fp12_add
      Src: /src/relic/test/test_fpx.c:4266,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4267,1
    - Dst: fp12_is_zero
      Src: /src/relic/test/test_fpx.c:4267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4269
      start: 4220
    functionDepth: 1
    functionLinenumber: 4220
    functionLinenumberEnd: 4269
    functionName: addition12
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp12_cmp
    - fp12_zero
    - fp12_is_zero
    - fp12_add
    - TEST_CASE
    - fp12_neg
    - fp12_null
    - TEST_ASSERT
    - fp12_rand
    - fp12_new
    linkageType: ''
    returnType: int
    signature: int addition12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4288,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4289,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4290,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4291,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4294,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4295,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4296,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4297,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4299,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4300,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4301,1
    - Dst: fp12_sub
      Src: /src/relic/test/test_fpx.c:4302,1
    - Dst: fp12_sub
      Src: /src/relic/test/test_fpx.c:4303,1
    - Dst: fp12_neg
      Src: /src/relic/test/test_fpx.c:4304,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4305,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4305,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4309,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4310,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_fpx.c:4311,1
    - Dst: fp12_sub
      Src: /src/relic/test/test_fpx.c:4312,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4313,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4313,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4317,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4318,1
    - Dst: fp12_sub
      Src: /src/relic/test/test_fpx.c:4319,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4320,1
    - Dst: fp12_is_zero
      Src: /src/relic/test/test_fpx.c:4320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4323
      start: 4284
    functionDepth: 1
    functionLinenumber: 4284
    functionLinenumberEnd: 4323
    functionName: subtraction12
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp12_cmp
    - fp12_zero
    - fp12_is_zero
    - TEST_CASE
    - fp12_neg
    - fp12_null
    - TEST_ASSERT
    - fp12_rand
    - fp12_new
    - fp12_sub
    linkageType: ''
    returnType: int
    signature: int subtraction12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4341,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4342,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4343,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4344,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4345,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4346,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4349,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4350,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4351,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4352,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4353,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4354,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4356,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4357,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4358,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4359,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4360,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4361,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4361,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4364,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4365,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4366,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4367,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4368,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4369,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4370,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4371,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4372,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4372,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4375,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4376,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4377,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4378,1
    - Dst: fp12_add
      Src: /src/relic/test/test_fpx.c:4379,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4380,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4381,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4382,1
    - Dst: fp12_add
      Src: /src/relic/test/test_fpx.c:4383,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4384,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4384,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4387,1
    - Dst: fp12_set_dig
      Src: /src/relic/test/test_fpx.c:4388,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4389,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4390,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4390,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4393,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_fpx.c:4394,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4395,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4396,1
    - Dst: fp12_is_zero
      Src: /src/relic/test/test_fpx.c:4396,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4399,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4400,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_fpx.c:4401,1
    - Dst: fp6_set_dig
      Src: /src/relic/test/test_fpx.c:4402,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4403,1
    - Dst: fp12_mul_art
      Src: /src/relic/test/test_fpx.c:4404,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4405,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4405,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4409,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4410,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4411,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4412,1
    - Dst: fp12_mul_basic
      Src: /src/relic/test/test_fpx.c:4413,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4414,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4414,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4419,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4420,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4421,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4422,1
    - Dst: fp12_mul_lazyr
      Src: /src/relic/test/test_fpx.c:4423,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4424,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4424,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4428,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4429,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4430,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4432,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fpx.c:4433,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4434,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4435,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fpx.c:4436,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4437,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4438,1
    - Dst: fp12_mul_dxs
      Src: /src/relic/test/test_fpx.c:4439,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4440,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4440,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4444,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4445,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4446,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4447,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4448,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4449,1
    - Dst: fp12_mul_dxs
      Src: /src/relic/test/test_fpx.c:4450,1
    - Dst: fp12_mul_dxs_basic
      Src: /src/relic/test/test_fpx.c:4451,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4452,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4452,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4457,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4458,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4459,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4460,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4461,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4462,1
    - Dst: fp12_mul_dxs
      Src: /src/relic/test/test_fpx.c:4463,1
    - Dst: fp12_mul_dxs_lazyr
      Src: /src/relic/test/test_fpx.c:4464,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4465,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4468
      start: 4337
    functionDepth: 1
    functionLinenumber: 4337
    functionLinenumberEnd: 4468
    functionName: multiplication12
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp12_zero
    - fp12_is_zero
    - fp12_null
    - fp12_set_dig
    - fp12_cmp
    - fp12_mul_art
    - fp6_set_dig
    - fp12_mul_dxs_lazyr
    - fp12_new
    - fp12_mul_dxs
    - fp12_mul_lazyr
    - fp12_mul
    - TEST_CASE
    - fp12_mul_dxs_basic
    - fp_zero
    - fp12_add
    - TEST_ASSERT
    - fp2_zero
    - fp12_rand
    - fp12_mul_basic
    linkageType: ''
    returnType: int
    signature: int multiplication12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4487,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4488,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4489,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4492,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4493,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4494,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4496,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4497,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4498,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_fpx.c:4499,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4500,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4500,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4504,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4505,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_fpx.c:4506,1
    - Dst: fp12_sqr_basic
      Src: /src/relic/test/test_fpx.c:4507,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4508,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4508,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4513,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4514,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_fpx.c:4515,1
    - Dst: fp12_sqr_lazyr
      Src: /src/relic/test/test_fpx.c:4516,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4517,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4520
      start: 4483
    functionDepth: 1
    functionLinenumber: 4483
    functionLinenumberEnd: 4520
    functionName: squaring12
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp12_cmp
    - fp12_mul
    - TEST_CASE
    - fp12_null
    - TEST_ASSERT
    - fp12_rand
    - fp12_sqr_basic
    - fp12_new
    - fp12_sqr_lazyr
    - fp12_sqr
    linkageType: ''
    returnType: int
    signature: int squaring12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4538,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4539,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4540,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4541,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4542,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4543,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:4544,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4547,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4548,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4549,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4550,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4551,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4552,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4553,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:4554,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4556,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4557,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4558,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4559,1
    - Dst: fp12_test_cyc
      Src: /src/relic/test/test_fpx.c:4559,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4562,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4563,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4564,1
    - Dst: fp12_back_cyc
      Src: /src/relic/test/test_fpx.c:4565,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4566,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4566,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4569,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4570,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4571,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4572,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4573,1
    - Dst: fp12_back_cyc_sim
      Src: /src/relic/test/test_fpx.c:4574,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4575,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4575,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4576,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4579,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4580,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4581,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_fpx.c:4582,1
    - Dst: fp12_sqr_cyc
      Src: /src/relic/test/test_fpx.c:4583,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4584,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4584,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4588,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4589,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4590,1
    - Dst: fp12_sqr_cyc
      Src: /src/relic/test/test_fpx.c:4591,1
    - Dst: fp12_sqr_cyc_basic
      Src: /src/relic/test/test_fpx.c:4592,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4593,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4593,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4598,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4599,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4600,1
    - Dst: fp12_sqr_cyc
      Src: /src/relic/test/test_fpx.c:4601,1
    - Dst: fp12_sqr_cyc_lazyr
      Src: /src/relic/test/test_fpx.c:4602,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4603,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4603,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4607,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4608,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4609,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4610,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4611,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4612,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4613,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_fpx.c:4614,1
    - Dst: fp12_sqr_pck
      Src: /src/relic/test/test_fpx.c:4615,1
    - Dst: fp12_back_cyc
      Src: /src/relic/test/test_fpx.c:4616,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4617,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4617,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4621,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4622,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4623,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4624,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4625,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4626,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4627,1
    - Dst: fp12_sqr_pck
      Src: /src/relic/test/test_fpx.c:4628,1
    - Dst: fp12_sqr_pck_basic
      Src: /src/relic/test/test_fpx.c:4629,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4630,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4630,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4635,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4636,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4637,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4638,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4639,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4640,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:4641,1
    - Dst: fp12_sqr_pck
      Src: /src/relic/test/test_fpx.c:4642,1
    - Dst: fp12_sqr_pck_lazyr
      Src: /src/relic/test/test_fpx.c:4643,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4644,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4644,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4648,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4649,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4650,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:4651,1
    - Dst: fp12_exp_cyc
      Src: /src/relic/test/test_fpx.c:4652,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4653,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_fpx.c:4653,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:4654,1
    - Dst: fp12_exp_cyc
      Src: /src/relic/test/test_fpx.c:4655,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4656,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4656,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:4657,1
    - Dst: fp12_exp
      Src: /src/relic/test/test_fpx.c:4658,1
    - Dst: fp12_exp_cyc
      Src: /src/relic/test/test_fpx.c:4659,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4660,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4660,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:4661,1
    - Dst: fp12_exp_cyc
      Src: /src/relic/test/test_fpx.c:4662,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:4663,1
    - Dst: fp12_exp_cyc
      Src: /src/relic/test/test_fpx.c:4664,1
    - Dst: fp12_inv_cyc
      Src: /src/relic/test/test_fpx.c:4665,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4666,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4666,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_fpx.c:4668,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:4669,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:4670,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4671,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4672,1
    - Dst: fp12_exp_cyc
      Src: /src/relic/test/test_fpx.c:4673,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:4674,1
    - Dst: fp12_exp_cyc
      Src: /src/relic/test/test_fpx.c:4675,1
    - Dst: fp12_inv_cyc
      Src: /src/relic/test/test_fpx.c:4676,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4677,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4677,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4680,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:4683,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_fpx.c:4686,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:4687,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:4688,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4689,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4690,1
    - Dst: fp12_exp
      Src: /src/relic/test/test_fpx.c:4691,1
    - Dst: fp12_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:4692,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4693,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4693,1
    - Dst: fp12_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:4695,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4696,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_fpx.c:4696,1
    - Dst: fp12_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:4698,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4699,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4699,1
    - Dst: fp12_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:4701,1
    - Dst: fp12_inv
      Src: /src/relic/test/test_fpx.c:4702,1
    - Dst: fp12_sqr_cyc
      Src: /src/relic/test/test_fpx.c:4703,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4704,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4704,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 156
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4706
      start: 4533
    functionDepth: 1
    functionLinenumber: 4533
    functionLinenumberEnd: 4706
    functionName: cyclotomic12
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp12_sqr_cyc_lazyr
    - fp12_null
    - fp12_exp_cyc
    - fp12_exp_cyc_sps
    - bn_set_dig
    - fp12_back_cyc
    - fp12_sqr_pck_lazyr
    - fp12_cmp
    - fp12_sqr_pck_basic
    - fp12_cmp_dig
    - bn_null
    - fp12_inv
    - bn_set_2b
    - fp12_new
    - fp12_sqr
    - bn_rand
    - fp12_sqr_pck
    - bn_set_bit
    - fp12_sqr_cyc_basic
    - fp12_exp
    - TEST_CASE
    - fp12_test_cyc
    - fp12_back_cyc_sim
    - bn_neg
    - bn_new
    - fp12_conv_cyc
    - fp12_inv_cyc
    - bn_zero
    - TEST_ASSERT
    - fp2_zero
    - fp12_rand
    - fp12_sqr_cyc
    linkageType: ''
    returnType: int
    signature: int cyclotomic12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4728,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4729,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4730,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4733,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4734,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4735,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4737,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4739,1
    - Dst: fp12_is_zero
      Src: /src/relic/test/test_fpx.c:4740,1
    - Dst: fp12_inv
      Src: /src/relic/test/test_fpx.c:4741,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_fpx.c:4742,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4743,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_fpx.c:4743,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4746,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4748,1
    - Dst: fp12_is_zero
      Src: /src/relic/test/test_fpx.c:4749,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4750,1
    - Dst: fp12_inv
      Src: /src/relic/test/test_fpx.c:4751,1
    - Dst: fp12_inv_cyc
      Src: /src/relic/test/test_fpx.c:4752,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4753,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4755
      start: 4724
    functionDepth: 1
    functionLinenumber: 4724
    functionLinenumberEnd: 4755
    functionName: inversion12
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp12_cmp
    - fp12_is_zero
    - fp12_mul
    - fp12_cmp_dig
    - TEST_CASE
    - fp12_inv
    - fp12_null
    - TEST_ASSERT
    - fp12_rand
    - fp12_new
    - fp12_conv_cyc
    - fp12_inv_cyc
    linkageType: ''
    returnType: int
    signature: int inversion12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4773,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4774,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4775,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:4776,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4779,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4780,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4781,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:4782,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4784,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4785,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:4786,1
    - Dst: fp12_exp
      Src: /src/relic/test/test_fpx.c:4787,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4788,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_fpx.c:4788,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:4789,1
    - Dst: fp12_exp
      Src: /src/relic/test/test_fpx.c:4790,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4791,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4791,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:4792,1
    - Dst: fp12_exp
      Src: /src/relic/test/test_fpx.c:4793,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:4794,1
    - Dst: fp12_exp
      Src: /src/relic/test/test_fpx.c:4795,1
    - Dst: fp12_inv
      Src: /src/relic/test/test_fpx.c:4796,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4797,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4797,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:4798,1
    - Dst: fp12_exp_dig
      Src: /src/relic/test/test_fpx.c:4799,1
    - Dst: fp12_exp
      Src: /src/relic/test/test_fpx.c:4800,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4801,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4801,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4804,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4805,1
    - Dst: fp12_frb
      Src: /src/relic/test/test_fpx.c:4806,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4807,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4807,1
    - Dst: fp12_frb
      Src: /src/relic/test/test_fpx.c:4808,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fpx.c:4811,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fpx.c:4811,1
    - Dst: fp12_exp
      Src: /src/relic/test/test_fpx.c:4812,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4813,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4815
      start: 4768
    functionDepth: 1
    functionLinenumber: 4768
    functionLinenumberEnd: 4815
    functionName: exponentiation12
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp12_null
    - bn_set_dig
    - fp12_cmp
    - dv_copy
    - fp12_cmp_dig
    - bn_null
    - fp12_inv
    - fp12_frb
    - fp12_new
    - bn_rand
    - fp12_exp
    - TEST_CASE
    - bn_neg
    - bn_new
    - fp_prime_get
    - bn_zero
    - fp12_exp_dig
    - TEST_ASSERT
    - fp12_rand
    linkageType: ''
    returnType: int
    signature: int exponentiation12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4834,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4835,1
    - Dst: fp12_null
      Src: /src/relic/test/test_fpx.c:4836,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4839,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4840,1
    - Dst: fp12_new
      Src: /src/relic/test/test_fpx.c:4841,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4843,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4844,1
    - Dst: fp12_pck
      Src: /src/relic/test/test_fpx.c:4845,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4846,1
    - Dst: fp12_upk
      Src: /src/relic/test/test_fpx.c:4846,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4847,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4847,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4848,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4849,1
    - Dst: fp12_pck
      Src: /src/relic/test/test_fpx.c:4850,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4851,1
    - Dst: fp12_upk
      Src: /src/relic/test/test_fpx.c:4851,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4852,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4852,1
    - Dst: fp12_pck_max
      Src: /src/relic/test/test_fpx.c:4853,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4854,1
    - Dst: fp12_upk_max
      Src: /src/relic/test/test_fpx.c:4854,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4855,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4855,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4858,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4859,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4860,1
    - Dst: fp12_write_bin
      Src: /src/relic/test/test_fpx.c:4861,1
    - Dst: fp12_read_bin
      Src: /src/relic/test/test_fpx.c:4862,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4863,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_fpx.c:4863,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4867,1
    - Dst: fp12_rand
      Src: /src/relic/test/test_fpx.c:4868,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4869,1
    - Dst: fp12_size_bin
      Src: /src/relic/test/test_fpx.c:4869,1
    - Dst: fp12_conv_cyc
      Src: /src/relic/test/test_fpx.c:4870,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4871,1
    - Dst: fp12_size_bin
      Src: /src/relic/test/test_fpx.c:4871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4874
      start: 4829
    functionDepth: 1
    functionLinenumber: 4829
    functionLinenumberEnd: 4874
    functionName: compression12
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp12_cmp
    - fp12_write_bin
    - TEST_CASE
    - fp12_null
    - TEST_ASSERT
    - fp12_size_bin
    - fp12_rand
    - fp12_pck_max
    - fp12_read_bin
    - fp12_new
    - fp12_upk_max
    - fp12_upk
    - fp12_conv_cyc
    - fp12_pck
    linkageType: ''
    returnType: int
    signature: int compression12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:4892,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4895,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:4896,1
    - Dst: fp16_free
      Src: /src/relic/test/test_fpx.c:4897,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:4902,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fpx.c:4903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4911
      start: 4887
    functionDepth: 1
    functionLinenumber: 4887
    functionLinenumberEnd: 4911
    functionName: memory16
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp16_free
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - fp16_null
    - fp16_new
    linkageType: ''
    returnType: int
    signature: int memory16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:4919,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:4920,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:4921,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:4924,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:4925,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:4926,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4928,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:4929,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:4930,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4931,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4932,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4932,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4937,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:4938,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:4939,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:4940,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4941,1
    - Dst: fp16_copy
      Src: /src/relic/test/test_fpx.c:4942,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4943,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4943,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4945,1
    - Dst: fp16_copy
      Src: /src/relic/test/test_fpx.c:4946,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4947,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4947,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4952,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:4953,1
    - Dst: fp16_neg
      Src: /src/relic/test/test_fpx.c:4954,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4955,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4956,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4956,1
    - Dst: fp16_neg
      Src: /src/relic/test/test_fpx.c:4958,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4959,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4959,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4963,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:4965,1
    - Dst: fp16_is_zero
      Src: /src/relic/test/test_fpx.c:4966,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_fpx.c:4967,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4968,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4968,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4969,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4969,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4973,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:4975,1
    - Dst: fp16_is_zero
      Src: /src/relic/test/test_fpx.c:4976,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_fpx.c:4977,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4978,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4978,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4982,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_fpx.c:4983,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4984,1
    - Dst: fp16_is_zero
      Src: /src/relic/test/test_fpx.c:4984,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4988,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fpx.c:4989,1
    - Dst: fp16_set_dig
      Src: /src/relic/test/test_fpx.c:4990,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4991,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_fpx.c:4991,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:4995,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:4996,1
    - Dst: fp16_write_bin
      Src: /src/relic/test/test_fpx.c:4997,1
    - Dst: fp16_read_bin
      Src: /src/relic/test/test_fpx.c:4998,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:4999,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:4999,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5003,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5004,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5005,1
    - Dst: fp16_size_bin
      Src: /src/relic/test/test_fpx.c:5005,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5008
      start: 4913
    functionDepth: 1
    functionLinenumber: 4913
    functionLinenumberEnd: 5008
    functionName: util16
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp16_neg
    - fp16_cmp_dig
    - fp16_zero
    - TEST_CASE
    - fp16_copy
    - fp16_rand
    - fp16_cmp
    - fp16_write_bin
    - TEST_ASSERT
    - fp16_read_bin
    - fp16_size_bin
    - fp16_null
    - fp16_set_dig
    - fp16_new
    - rand_bytes
    - fp16_is_zero
    linkageType: ''
    returnType: int
    signature: int util16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5024,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5025,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5026,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5027,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5028,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5031,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5032,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5033,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5034,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5035,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5037,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5038,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5039,1
    - Dst: fp16_add
      Src: /src/relic/test/test_fpx.c:5040,1
    - Dst: fp16_add
      Src: /src/relic/test/test_fpx.c:5041,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5042,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5042,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5045,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5046,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5047,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5048,1
    - Dst: fp16_add
      Src: /src/relic/test/test_fpx.c:5049,1
    - Dst: fp16_add
      Src: /src/relic/test/test_fpx.c:5050,1
    - Dst: fp16_add
      Src: /src/relic/test/test_fpx.c:5051,1
    - Dst: fp16_add
      Src: /src/relic/test/test_fpx.c:5052,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5053,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5053,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5056,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5057,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_fpx.c:5058,1
    - Dst: fp16_add
      Src: /src/relic/test/test_fpx.c:5059,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5060,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5060,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5063,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5064,1
    - Dst: fp16_neg
      Src: /src/relic/test/test_fpx.c:5065,1
    - Dst: fp16_add
      Src: /src/relic/test/test_fpx.c:5066,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5067,1
    - Dst: fp16_is_zero
      Src: /src/relic/test/test_fpx.c:5067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5069
      start: 5020
    functionDepth: 1
    functionLinenumber: 5020
    functionLinenumberEnd: 5069
    functionName: additioAFG16
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp16_neg
    - fp16_zero
    - TEST_CASE
    - fp16_rand
    - fp16_cmp
    - TEST_ASSERT
    - fp16_null
    - fp16_new
    - fp16_is_zero
    - fp16_add
    linkageType: ''
    returnType: int
    signature: int additioAFG16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5088,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5089,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5090,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5091,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5094,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5095,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5096,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5097,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5099,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5100,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5101,1
    - Dst: fp16_sub
      Src: /src/relic/test/test_fpx.c:5102,1
    - Dst: fp16_sub
      Src: /src/relic/test/test_fpx.c:5103,1
    - Dst: fp16_neg
      Src: /src/relic/test/test_fpx.c:5104,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5105,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5105,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5109,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5110,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_fpx.c:5111,1
    - Dst: fp16_sub
      Src: /src/relic/test/test_fpx.c:5112,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5113,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5113,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5117,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5118,1
    - Dst: fp16_sub
      Src: /src/relic/test/test_fpx.c:5119,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5120,1
    - Dst: fp16_is_zero
      Src: /src/relic/test/test_fpx.c:5120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5123
      start: 5084
    functionDepth: 1
    functionLinenumber: 5084
    functionLinenumberEnd: 5123
    functionName: subtractioAFG16
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp16_neg
    - fp16_zero
    - fp16_sub
    - TEST_CASE
    - fp16_rand
    - fp16_cmp
    - TEST_ASSERT
    - fp16_null
    - fp16_new
    - fp16_is_zero
    linkageType: ''
    returnType: int
    signature: int subtractioAFG16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5141,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5142,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5143,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5146,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5147,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5148,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5150,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5151,1
    - Dst: fp16_dbl
      Src: /src/relic/test/test_fpx.c:5152,1
    - Dst: fp16_add
      Src: /src/relic/test/test_fpx.c:5153,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5154,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5156
      start: 5137
    functionDepth: 1
    functionLinenumber: 5137
    functionLinenumberEnd: 5156
    functionName: doubling16
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp16_rand
    - fp16_cmp
    - fp16_dbl
    - TEST_ASSERT
    - fp16_null
    - fp16_new
    - fp16_add
    linkageType: ''
    returnType: int
    signature: int doubling16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5173,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5174,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5175,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5176,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5177,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5178,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5181,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5182,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5183,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5184,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5185,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5186,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5188,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5189,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5190,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5191,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5192,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5193,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5193,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5196,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5197,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5198,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5199,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5200,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5201,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5202,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5203,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5204,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5204,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5207,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5208,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5209,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5210,1
    - Dst: fp16_add
      Src: /src/relic/test/test_fpx.c:5211,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5212,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5213,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5214,1
    - Dst: fp16_add
      Src: /src/relic/test/test_fpx.c:5215,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5216,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5216,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5219,1
    - Dst: fp16_set_dig
      Src: /src/relic/test/test_fpx.c:5220,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5221,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5222,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5222,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5225,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_fpx.c:5226,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5227,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5228,1
    - Dst: fp16_is_zero
      Src: /src/relic/test/test_fpx.c:5228,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5231,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5232,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_fpx.c:5233,1
    - Dst: fp8_set_dig
      Src: /src/relic/test/test_fpx.c:5234,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5235,1
    - Dst: fp16_mul_art
      Src: /src/relic/test/test_fpx.c:5236,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5237,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5237,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5241,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5242,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5243,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5244,1
    - Dst: fp16_mul_basic
      Src: /src/relic/test/test_fpx.c:5245,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5246,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5246,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5251,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5252,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5253,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5254,1
    - Dst: fp16_mul_lazyr
      Src: /src/relic/test/test_fpx.c:5255,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5256,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5259
      start: 5169
    functionDepth: 1
    functionLinenumber: 5169
    functionLinenumberEnd: 5259
    functionName: multiplicatioAFG16
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp16_zero
    - fp16_mul
    - TEST_CASE
    - fp16_rand
    - fp16_cmp
    - TEST_ASSERT
    - fp16_mul_basic
    - fp16_mul_lazyr
    - fp16_null
    - fp16_set_dig
    - fp16_new
    - fp16_mul_art
    - fp16_is_zero
    - fp8_set_dig
    - fp16_add
    linkageType: ''
    returnType: int
    signature: int multiplicatioAFG16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5279,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5280,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5281,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5284,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5285,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5286,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5288,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5289,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5290,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_fpx.c:5291,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5292,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5292,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5296,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5297,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_fpx.c:5298,1
    - Dst: fp16_sqr_basic
      Src: /src/relic/test/test_fpx.c:5299,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5300,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5300,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5305,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5306,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_fpx.c:5307,1
    - Dst: fp16_sqr_lazyr
      Src: /src/relic/test/test_fpx.c:5308,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5309,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5312
      start: 5275
    functionDepth: 1
    functionLinenumber: 5275
    functionLinenumberEnd: 5312
    functionName: squaring16
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp16_mul
    - TEST_CASE
    - fp16_rand
    - fp16_cmp
    - TEST_ASSERT
    - fp16_sqr_lazyr
    - fp16_sqr_basic
    - fp16_null
    - fp16_new
    - fp16_sqr
    linkageType: ''
    returnType: int
    signature: int squaring16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5330,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5331,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5332,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:5333,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5336,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5337,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5338,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:5339,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5341,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5342,1
    - Dst: fp16_conv_cyc
      Src: /src/relic/test/test_fpx.c:5343,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5344,1
    - Dst: fp16_test_cyc
      Src: /src/relic/test/test_fpx.c:5344,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5347,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5348,1
    - Dst: fp16_conv_cyc
      Src: /src/relic/test/test_fpx.c:5349,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_fpx.c:5350,1
    - Dst: fp16_sqr_cyc
      Src: /src/relic/test/test_fpx.c:5351,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5352,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5352,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5355,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5356,1
    - Dst: fp16_conv_cyc
      Src: /src/relic/test/test_fpx.c:5357,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:5358,1
    - Dst: fp16_exp_cyc
      Src: /src/relic/test/test_fpx.c:5359,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5360,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_fpx.c:5360,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:5361,1
    - Dst: fp16_exp_cyc
      Src: /src/relic/test/test_fpx.c:5362,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5363,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5363,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:5364,1
    - Dst: fp16_exp
      Src: /src/relic/test/test_fpx.c:5365,1
    - Dst: fp16_exp_cyc
      Src: /src/relic/test/test_fpx.c:5366,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5367,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5367,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:5368,1
    - Dst: fp16_exp_cyc
      Src: /src/relic/test/test_fpx.c:5369,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:5370,1
    - Dst: fp16_exp_cyc
      Src: /src/relic/test/test_fpx.c:5371,1
    - Dst: fp16_inv_cyc
      Src: /src/relic/test/test_fpx.c:5372,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5373,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5373,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_fpx.c:5375,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:5376,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:5377,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5378,1
    - Dst: fp16_conv_cyc
      Src: /src/relic/test/test_fpx.c:5379,1
    - Dst: fp16_exp_cyc
      Src: /src/relic/test/test_fpx.c:5380,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:5381,1
    - Dst: fp16_exp_cyc
      Src: /src/relic/test/test_fpx.c:5382,1
    - Dst: fp16_inv_cyc
      Src: /src/relic/test/test_fpx.c:5383,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5384,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5384,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/test/test_fpx.c:5387,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:5387,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5388,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5389,1
    - Dst: pp_exp_k16
      Src: /src/relic/test/test_fpx.c:5390,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:5391,1
    - Dst: fp16_exp_cyc
      Src: /src/relic/test/test_fpx.c:5392,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5393,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_fpx.c:5393,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:5394,1
    - Dst: fp16_exp_cyc
      Src: /src/relic/test/test_fpx.c:5395,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5396,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5396,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:5397,1
    - Dst: fp16_exp
      Src: /src/relic/test/test_fpx.c:5398,1
    - Dst: fp16_exp_cyc
      Src: /src/relic/test/test_fpx.c:5399,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5400,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5400,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:5401,1
    - Dst: fp16_exp_cyc
      Src: /src/relic/test/test_fpx.c:5402,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:5403,1
    - Dst: fp16_exp_cyc
      Src: /src/relic/test/test_fpx.c:5404,1
    - Dst: fp16_inv_cyc
      Src: /src/relic/test/test_fpx.c:5405,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5406,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5409
      start: 5325
    functionDepth: 1
    functionLinenumber: 5325
    functionLinenumberEnd: 5409
    functionName: cyclotomic16
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp16_exp
    - bn_set_dig
    - fp16_sqr
    - bn_null
    - fp16_test_cyc
    - fp16_cmp
    - bn_set_2b
    - fp16_null
    - fp16_conv_cyc
    - ep_curve_is_pairf
    - fp16_exp_cyc
    - bn_rand
    - fp16_inv_cyc
    - bn_set_bit
    - fp16_cmp_dig
    - TEST_CASE
    - ep_curve_embed
    - bn_neg
    - bn_new
    - fp16_new
    - pp_exp_k16
    - fp16_sqr_cyc
    - bn_zero
    - fp16_rand
    - TEST_ASSERT
    linkageType: ''
    returnType: int
    signature: int cyclotomic16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5427,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5428,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5429,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5430,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5431,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5434,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5435,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5436,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5437,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5438,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5440,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5442,1
    - Dst: fp16_is_zero
      Src: /src/relic/test/test_fpx.c:5443,1
    - Dst: fp16_inv
      Src: /src/relic/test/test_fpx.c:5444,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_fpx.c:5445,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5446,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_fpx.c:5446,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5449,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5451,1
    - Dst: fp16_is_zero
      Src: /src/relic/test/test_fpx.c:5452,1
    - Dst: fp16_conv_cyc
      Src: /src/relic/test/test_fpx.c:5453,1
    - Dst: fp16_inv
      Src: /src/relic/test/test_fpx.c:5454,1
    - Dst: fp16_inv_cyc
      Src: /src/relic/test/test_fpx.c:5455,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5456,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5456,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5459,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5461,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5462,1
    - Dst: fp16_is_zero
      Src: /src/relic/test/test_fpx.c:5463,1
    - Dst: fp16_is_zero
      Src: /src/relic/test/test_fpx.c:5463,1
    - Dst: fp16_copy
      Src: /src/relic/test/test_fpx.c:5464,1
    - Dst: fp16_copy
      Src: /src/relic/test/test_fpx.c:5465,1
    - Dst: fp16_inv
      Src: /src/relic/test/test_fpx.c:5466,1
    - Dst: fp16_inv
      Src: /src/relic/test/test_fpx.c:5467,1
    - Dst: fp16_inv_sim
      Src: /src/relic/test/test_fpx.c:5468,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5469,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5469,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5472
      start: 5423
    functionDepth: 1
    functionLinenumber: 5423
    functionLinenumberEnd: 5472
    functionName: inversioAFG16
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp16_cmp_dig
    - TEST_CASE
    - fp16_mul
    - fp16_rand
    - fp16_cmp
    - fp16_copy
    - TEST_ASSERT
    - fp16_inv_sim
    - fp16_null
    - fp16_conv_cyc
    - fp16_new
    - fp16_is_zero
    - fp16_inv
    - fp16_inv_cyc
    linkageType: ''
    returnType: int
    signature: int inversioAFG16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5492,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5493,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5494,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:5495,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5498,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5499,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5500,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:5501,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5503,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5504,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:5505,1
    - Dst: fp16_exp
      Src: /src/relic/test/test_fpx.c:5506,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5507,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_fpx.c:5507,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:5508,1
    - Dst: fp16_exp
      Src: /src/relic/test/test_fpx.c:5509,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5510,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5510,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:5511,1
    - Dst: fp16_exp
      Src: /src/relic/test/test_fpx.c:5512,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:5513,1
    - Dst: fp16_exp
      Src: /src/relic/test/test_fpx.c:5514,1
    - Dst: fp16_inv
      Src: /src/relic/test/test_fpx.c:5515,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5516,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5516,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5519,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5520,1
    - Dst: fp16_frb
      Src: /src/relic/test/test_fpx.c:5521,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5522,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5522,1
    - Dst: fp16_frb
      Src: /src/relic/test/test_fpx.c:5523,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fpx.c:5526,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fpx.c:5526,1
    - Dst: fp16_exp
      Src: /src/relic/test/test_fpx.c:5527,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5528,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5530
      start: 5487
    functionDepth: 1
    functionLinenumber: 5487
    functionLinenumberEnd: 5530
    functionName: exponentiatioAFG16
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - fp16_cmp_dig
    - bn_null
    - bn_zero
    - TEST_CASE
    - fp16_rand
    - fp16_exp
    - fp16_cmp
    - TEST_ASSERT
    - fp16_null
    - bn_neg
    - bn_new
    - fp16_frb
    - bn_set_dig
    - fp16_new
    - fp_prime_get
    - fp16_inv
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int exponentiatioAFG16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5549,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5550,1
    - Dst: fp16_null
      Src: /src/relic/test/test_fpx.c:5551,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5554,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5555,1
    - Dst: fp16_new
      Src: /src/relic/test/test_fpx.c:5556,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5558,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_fpx.c:5559,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5560,1
    - Dst: fp16_is_sqr
      Src: /src/relic/test/test_fpx.c:5560,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5561,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_fpx.c:5562,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5563,1
    - Dst: fp16_is_sqr
      Src: /src/relic/test/test_fpx.c:5563,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5565,1
    - Dst: fp16_srt
      Src: /src/relic/test/test_fpx.c:5566,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5567,1
    - Dst: fp16_is_sqr
      Src: /src/relic/test/test_fpx.c:5567,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5571,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_fpx.c:5572,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_fpx.c:5573,1
    - Dst: fp16_srt
      Src: /src/relic/test/test_fpx.c:5574,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5575,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5576,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5576,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5577,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:5578,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:5579,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_fpx.c:5580,1
    - Dst: fp16_srt
      Src: /src/relic/test/test_fpx.c:5581,1
    - Dst: fp16_neg
      Src: /src/relic/test/test_fpx.c:5582,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5583,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5584,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5584,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5585,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:5586,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_fpx.c:5587,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_fpx.c:5588,1
    - Dst: fp16_srt
      Src: /src/relic/test/test_fpx.c:5589,1
    - Dst: fp16_neg
      Src: /src/relic/test/test_fpx.c:5590,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5591,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5592,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5592,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5593,1
    - Dst: fp16_rand
      Src: /src/relic/test/test_fpx.c:5594,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_fpx.c:5595,1
    - Dst: fp16_srt
      Src: /src/relic/test/test_fpx.c:5596,1
    - Dst: fp16_neg
      Src: /src/relic/test/test_fpx.c:5597,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5598,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5599,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5599,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_fpx.c:5600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5602
      start: 5544
    functionDepth: 1
    functionLinenumber: 5544
    functionLinenumberEnd: 5602
    functionName: square_root16
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp16_neg
    - fp16_is_sqr
    - fp16_zero
    - TEST_CASE
    - fp16_rand
    - fp16_cmp
    - fp16_srt
    - TEST_ASSERT
    - fp8_zero
    - fp16_null
    - fp16_new
    - fp16_sqr
    - fp8_rand
    linkageType: ''
    returnType: int
    signature: int square_root16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:5620,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5623,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5624,1
    - Dst: fp18_free
      Src: /src/relic/test/test_fpx.c:5625,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:5630,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fpx.c:5631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5639
      start: 5615
    functionDepth: 1
    functionLinenumber: 5615
    functionLinenumberEnd: 5639
    functionName: memory18
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - util_print
    - TEST_CASE
    - fp18_new
    - RLC_ERROR
    - fp18_free
    - fp18_null
    linkageType: ''
    returnType: int
    signature: int memory18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:5647,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:5648,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:5649,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5652,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5653,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5654,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5656,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5657,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5658,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5659,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5660,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5660,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5665,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5666,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5667,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5668,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5669,1
    - Dst: fp18_copy
      Src: /src/relic/test/test_fpx.c:5670,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5671,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5671,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5673,1
    - Dst: fp18_copy
      Src: /src/relic/test/test_fpx.c:5674,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5675,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5675,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5680,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5681,1
    - Dst: fp18_neg
      Src: /src/relic/test/test_fpx.c:5682,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5683,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5684,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5684,1
    - Dst: fp18_neg
      Src: /src/relic/test/test_fpx.c:5686,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5687,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5687,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5691,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5693,1
    - Dst: fp18_is_zero
      Src: /src/relic/test/test_fpx.c:5694,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_fpx.c:5695,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5696,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5696,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5697,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5697,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5701,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5703,1
    - Dst: fp18_is_zero
      Src: /src/relic/test/test_fpx.c:5704,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_fpx.c:5705,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5706,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5706,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5707,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5707,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5712,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5714,1
    - Dst: fp18_is_zero
      Src: /src/relic/test/test_fpx.c:5715,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_fpx.c:5716,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5717,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5717,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5721,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_fpx.c:5722,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5723,1
    - Dst: fp18_is_zero
      Src: /src/relic/test/test_fpx.c:5723,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5727,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fpx.c:5728,1
    - Dst: fp18_set_dig
      Src: /src/relic/test/test_fpx.c:5729,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5730,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_fpx.c:5730,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5734,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5735,1
    - Dst: fp18_write_bin
      Src: /src/relic/test/test_fpx.c:5736,1
    - Dst: fp18_read_bin
      Src: /src/relic/test/test_fpx.c:5737,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5738,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5738,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5742,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5743,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5744,1
    - Dst: fp18_size_bin
      Src: /src/relic/test/test_fpx.c:5744,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5747
      start: 5641
    functionDepth: 1
    functionLinenumber: 5641
    functionLinenumberEnd: 5747
    functionName: util18
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp18_rand
    - fp18_cmp
    - fp18_copy
    - TEST_CASE
    - fp18_zero
    - fp18_new
    - fp18_is_zero
    - TEST_ASSERT
    - fp18_size_bin
    - fp18_cmp_dig
    - fp18_set_dig
    - fp18_read_bin
    - rand_bytes
    - fp18_neg
    - fp18_write_bin
    - fp18_null
    linkageType: ''
    returnType: int
    signature: int util18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:5763,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:5764,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:5765,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:5766,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:5767,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5770,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5771,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5772,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5773,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5774,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5776,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5777,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5778,1
    - Dst: fp18_add
      Src: /src/relic/test/test_fpx.c:5779,1
    - Dst: fp18_add
      Src: /src/relic/test/test_fpx.c:5780,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5781,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5781,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5784,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5785,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5786,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5787,1
    - Dst: fp18_add
      Src: /src/relic/test/test_fpx.c:5788,1
    - Dst: fp18_add
      Src: /src/relic/test/test_fpx.c:5789,1
    - Dst: fp18_add
      Src: /src/relic/test/test_fpx.c:5790,1
    - Dst: fp18_add
      Src: /src/relic/test/test_fpx.c:5791,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5792,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5792,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5795,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5796,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_fpx.c:5797,1
    - Dst: fp18_add
      Src: /src/relic/test/test_fpx.c:5798,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5799,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5799,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5802,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5803,1
    - Dst: fp18_neg
      Src: /src/relic/test/test_fpx.c:5804,1
    - Dst: fp18_add
      Src: /src/relic/test/test_fpx.c:5805,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5806,1
    - Dst: fp18_is_zero
      Src: /src/relic/test/test_fpx.c:5806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5808
      start: 5759
    functionDepth: 1
    functionLinenumber: 5759
    functionLinenumberEnd: 5808
    functionName: addition18
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp18_rand
    - fp18_cmp
    - fp18_add
    - TEST_CASE
    - fp18_zero
    - fp18_new
    - fp18_is_zero
    - TEST_ASSERT
    - fp18_neg
    - fp18_null
    linkageType: ''
    returnType: int
    signature: int addition18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5828,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5829,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5830,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5831,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5833,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5834,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5835,1
    - Dst: fp18_sub
      Src: /src/relic/test/test_fpx.c:5836,1
    - Dst: fp18_sub
      Src: /src/relic/test/test_fpx.c:5837,1
    - Dst: fp18_neg
      Src: /src/relic/test/test_fpx.c:5838,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5839,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5839,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5843,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5844,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_fpx.c:5845,1
    - Dst: fp18_sub
      Src: /src/relic/test/test_fpx.c:5846,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5847,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5847,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5851,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5852,1
    - Dst: fp18_sub
      Src: /src/relic/test/test_fpx.c:5853,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5854,1
    - Dst: fp18_is_zero
      Src: /src/relic/test/test_fpx.c:5854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5857
      start: 5823
    functionDepth: 1
    functionLinenumber: 5823
    functionLinenumberEnd: 5857
    functionName: subtraction18
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp18_rand
    - fp18_cmp
    - TEST_CASE
    - fp18_zero
    - fp18_new
    - fp18_sub
    - fp18_is_zero
    - TEST_ASSERT
    - fp18_neg
    linkageType: ''
    returnType: int
    signature: int subtraction18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5876,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5877,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5878,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5879,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5880,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5881,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5883,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5884,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5885,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5886,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5887,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5888,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5888,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5891,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5892,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5893,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5894,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5895,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5896,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5897,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5898,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5899,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5899,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5902,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5903,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5904,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5905,1
    - Dst: fp18_add
      Src: /src/relic/test/test_fpx.c:5906,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5907,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5908,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5909,1
    - Dst: fp18_add
      Src: /src/relic/test/test_fpx.c:5910,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5911,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5911,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5914,1
    - Dst: fp18_set_dig
      Src: /src/relic/test/test_fpx.c:5915,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5916,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5917,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5917,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5920,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_fpx.c:5921,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5922,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5923,1
    - Dst: fp18_is_zero
      Src: /src/relic/test/test_fpx.c:5923,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5927,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5928,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5929,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5930,1
    - Dst: fp18_mul_basic
      Src: /src/relic/test/test_fpx.c:5931,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5932,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5932,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5937,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5938,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5939,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5940,1
    - Dst: fp18_mul_lazyr
      Src: /src/relic/test/test_fpx.c:5941,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5942,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5945
      start: 5871
    functionDepth: 1
    functionLinenumber: 5871
    functionLinenumberEnd: 5945
    functionName: multiplication18
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp18_rand
    - fp18_cmp
    - fp18_add
    - TEST_CASE
    - fp18_zero
    - fp18_new
    - fp18_is_zero
    - TEST_ASSERT
    - fp18_set_dig
    - fp18_mul_basic
    - fp18_mul
    - fp18_mul_lazyr
    linkageType: ''
    returnType: int
    signature: int multiplication18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:5964,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:5965,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:5966,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5969,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5970,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:5971,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5973,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5974,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:5975,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_fpx.c:5976,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5977,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5977,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5981,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5982,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_fpx.c:5983,1
    - Dst: fp18_sqr_basic
      Src: /src/relic/test/test_fpx.c:5984,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5985,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5985,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:5990,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:5991,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_fpx.c:5992,1
    - Dst: fp18_sqr_lazyr
      Src: /src/relic/test/test_fpx.c:5993,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:5994,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:5994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5997
      start: 5960
    functionDepth: 1
    functionLinenumber: 5960
    functionLinenumberEnd: 5997
    functionName: squaring18
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp18_rand
    - fp18_cmp
    - fp18_sqr
    - TEST_CASE
    - fp18_new
    - TEST_ASSERT
    - fp18_null
    - fp18_sqr_basic
    - fp18_mul
    - fp18_sqr_lazyr
    linkageType: ''
    returnType: int
    signature: int squaring18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6015,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6016,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6017,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6018,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6019,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6020,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:6021,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6024,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6025,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6026,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6027,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6028,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6029,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6030,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:6031,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6033,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6034,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6035,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6036,1
    - Dst: fp18_test_cyc
      Src: /src/relic/test/test_fpx.c:6036,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6039,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6040,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6041,1
    - Dst: fp18_back_cyc
      Src: /src/relic/test/test_fpx.c:6042,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6043,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6043,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6046,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6047,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6048,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6049,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6050,1
    - Dst: fp18_back_cyc_sim
      Src: /src/relic/test/test_fpx.c:6051,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6052,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6052,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6053,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6056,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6057,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6058,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_fpx.c:6059,1
    - Dst: fp18_sqr_cyc
      Src: /src/relic/test/test_fpx.c:6060,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6061,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6061,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6065,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6066,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6067,1
    - Dst: fp18_sqr_cyc
      Src: /src/relic/test/test_fpx.c:6068,1
    - Dst: fp18_sqr_cyc_basic
      Src: /src/relic/test/test_fpx.c:6069,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6070,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6070,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6075,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6076,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6077,1
    - Dst: fp18_sqr_cyc
      Src: /src/relic/test/test_fpx.c:6078,1
    - Dst: fp18_sqr_cyc_lazyr
      Src: /src/relic/test/test_fpx.c:6079,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6080,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6080,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6084,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6085,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6086,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:6087,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:6088,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:6089,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:6090,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_fpx.c:6091,1
    - Dst: fp18_sqr_pck
      Src: /src/relic/test/test_fpx.c:6092,1
    - Dst: fp18_back_cyc
      Src: /src/relic/test/test_fpx.c:6093,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6094,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6094,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6098,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6099,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6100,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:6101,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:6102,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:6103,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:6104,1
    - Dst: fp18_sqr_pck
      Src: /src/relic/test/test_fpx.c:6105,1
    - Dst: fp18_sqr_pck_basic
      Src: /src/relic/test/test_fpx.c:6106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6107,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6107,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6112,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6113,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6114,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:6115,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:6116,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:6117,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_fpx.c:6118,1
    - Dst: fp18_sqr_pck
      Src: /src/relic/test/test_fpx.c:6119,1
    - Dst: fp18_sqr_pck_lazyr
      Src: /src/relic/test/test_fpx.c:6120,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6121,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6121,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6125,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6126,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6127,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:6128,1
    - Dst: fp18_exp_cyc
      Src: /src/relic/test/test_fpx.c:6129,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6130,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_fpx.c:6130,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:6131,1
    - Dst: fp18_exp_cyc
      Src: /src/relic/test/test_fpx.c:6132,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6133,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6133,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:6134,1
    - Dst: fp18_exp
      Src: /src/relic/test/test_fpx.c:6135,1
    - Dst: fp18_exp_cyc
      Src: /src/relic/test/test_fpx.c:6136,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6137,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6137,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:6138,1
    - Dst: fp18_exp_cyc
      Src: /src/relic/test/test_fpx.c:6139,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:6140,1
    - Dst: fp18_exp_cyc
      Src: /src/relic/test/test_fpx.c:6141,1
    - Dst: fp18_inv_cyc
      Src: /src/relic/test/test_fpx.c:6142,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6143,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6143,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_fpx.c:6145,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:6146,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:6147,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6148,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6149,1
    - Dst: fp18_exp_cyc
      Src: /src/relic/test/test_fpx.c:6150,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:6151,1
    - Dst: fp18_exp_cyc
      Src: /src/relic/test/test_fpx.c:6152,1
    - Dst: fp18_inv_cyc
      Src: /src/relic/test/test_fpx.c:6153,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6154,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6154,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6157,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:6160,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_fpx.c:6163,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:6164,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:6165,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6166,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6167,1
    - Dst: fp18_exp
      Src: /src/relic/test/test_fpx.c:6168,1
    - Dst: fp18_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:6169,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6170,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6170,1
    - Dst: fp18_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:6172,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6173,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_fpx.c:6173,1
    - Dst: fp18_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:6175,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6176,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6176,1
    - Dst: fp18_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:6178,1
    - Dst: fp18_inv
      Src: /src/relic/test/test_fpx.c:6179,1
    - Dst: fp18_sqr_cyc
      Src: /src/relic/test/test_fpx.c:6180,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6181,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 156
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6183
      start: 6010
    functionDepth: 1
    functionLinenumber: 6010
    functionLinenumberEnd: 6183
    functionName: cyclotomic18
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp18_exp
    - fp18_sqr_cyc
    - fp18_sqr_cyc_basic
    - fp18_exp_cyc
    - bn_set_dig
    - fp18_sqr_pck_basic
    - fp18_cmp_dig
    - fp18_rand
    - bn_null
    - fp18_cmp
    - fp18_sqr
    - fp18_new
    - fp18_sqr_pck
    - fp18_sqr_cyc_lazyr
    - bn_set_2b
    - fp18_inv_cyc
    - bn_rand
    - fp18_inv
    - bn_set_bit
    - TEST_CASE
    - fp18_exp_cyc_sps
    - bn_neg
    - bn_new
    - fp18_back_cyc
    - fp18_null
    - bn_zero
    - TEST_ASSERT
    - fp18_back_cyc_sim
    - fp18_test_cyc
    - fp18_conv_cyc
    - fp2_zero
    - fp18_sqr_pck_lazyr
    linkageType: ''
    returnType: int
    signature: int cyclotomic18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6205,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6206,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6207,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6210,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6211,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6212,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6214,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6216,1
    - Dst: fp18_is_zero
      Src: /src/relic/test/test_fpx.c:6217,1
    - Dst: fp18_inv
      Src: /src/relic/test/test_fpx.c:6218,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_fpx.c:6219,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6220,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_fpx.c:6220,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6223,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6225,1
    - Dst: fp18_is_zero
      Src: /src/relic/test/test_fpx.c:6226,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6227,1
    - Dst: fp18_inv
      Src: /src/relic/test/test_fpx.c:6228,1
    - Dst: fp18_inv_cyc
      Src: /src/relic/test/test_fpx.c:6229,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6230,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6232
      start: 6201
    functionDepth: 1
    functionLinenumber: 6201
    functionLinenumberEnd: 6232
    functionName: inversion18
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp18_rand
    - fp18_cmp
    - TEST_CASE
    - fp18_new
    - fp18_is_zero
    - fp18_mul
    - TEST_ASSERT
    - fp18_conv_cyc
    - fp18_inv_cyc
    - fp18_cmp_dig
    - fp18_null
    - fp18_inv
    linkageType: ''
    returnType: int
    signature: int inversion18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6250,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6251,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6252,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:6253,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6256,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6257,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6258,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:6259,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6261,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6262,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:6263,1
    - Dst: fp18_exp
      Src: /src/relic/test/test_fpx.c:6264,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6265,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_fpx.c:6265,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:6266,1
    - Dst: fp18_exp
      Src: /src/relic/test/test_fpx.c:6267,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6268,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6268,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:6269,1
    - Dst: fp18_exp
      Src: /src/relic/test/test_fpx.c:6270,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:6271,1
    - Dst: fp18_exp
      Src: /src/relic/test/test_fpx.c:6272,1
    - Dst: fp18_inv
      Src: /src/relic/test/test_fpx.c:6273,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6274,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6274,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6277,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6278,1
    - Dst: fp18_frb
      Src: /src/relic/test/test_fpx.c:6279,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6280,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6280,1
    - Dst: fp18_frb
      Src: /src/relic/test/test_fpx.c:6281,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fpx.c:6284,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fpx.c:6284,1
    - Dst: fp18_exp
      Src: /src/relic/test/test_fpx.c:6285,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6286,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6288
      start: 6245
    functionDepth: 1
    functionLinenumber: 6245
    functionLinenumberEnd: 6288
    functionName: exponentiation18
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - fp18_rand
    - fp18_exp
    - bn_null
    - bn_zero
    - TEST_CASE
    - fp18_cmp
    - fp18_new
    - TEST_ASSERT
    - fp_prime_get
    - bn_neg
    - bn_new
    - bn_set_dig
    - fp18_frb
    - fp18_cmp_dig
    - bn_rand
    - fp18_null
    - fp18_inv
    linkageType: ''
    returnType: int
    signature: int exponentiation18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6307,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6308,1
    - Dst: fp18_null
      Src: /src/relic/test/test_fpx.c:6309,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6312,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6313,1
    - Dst: fp18_new
      Src: /src/relic/test/test_fpx.c:6314,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6316,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6317,1
    - Dst: fp18_pck
      Src: /src/relic/test/test_fpx.c:6318,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6319,1
    - Dst: fp18_upk
      Src: /src/relic/test/test_fpx.c:6319,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6320,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6320,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6321,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6322,1
    - Dst: fp18_pck
      Src: /src/relic/test/test_fpx.c:6323,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6324,1
    - Dst: fp18_upk
      Src: /src/relic/test/test_fpx.c:6324,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6325,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6325,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6328,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6329,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6330,1
    - Dst: fp18_write_bin
      Src: /src/relic/test/test_fpx.c:6331,1
    - Dst: fp18_read_bin
      Src: /src/relic/test/test_fpx.c:6332,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6333,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:6333,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6337,1
    - Dst: fp18_rand
      Src: /src/relic/test/test_fpx.c:6338,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6339,1
    - Dst: fp18_size_bin
      Src: /src/relic/test/test_fpx.c:6339,1
    - Dst: fp18_conv_cyc
      Src: /src/relic/test/test_fpx.c:6340,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6341,1
    - Dst: fp18_size_bin
      Src: /src/relic/test/test_fpx.c:6341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6344
      start: 6302
    functionDepth: 1
    functionLinenumber: 6302
    functionLinenumberEnd: 6344
    functionName: compression18
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp18_rand
    - fp18_cmp
    - TEST_CASE
    - fp18_new
    - fp18_size_bin
    - fp18_pck
    - TEST_ASSERT
    - fp18_conv_cyc
    - fp18_upk
    - fp18_read_bin
    - fp18_write_bin
    - fp18_null
    linkageType: ''
    returnType: int
    signature: int compression18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6362,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6365,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6366,1
    - Dst: fp24_free
      Src: /src/relic/test/test_fpx.c:6367,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:6372,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fpx.c:6373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6381
      start: 6357
    functionDepth: 1
    functionLinenumber: 6357
    functionLinenumberEnd: 6381
    functionName: memory24
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp24_new
    - fp24_free
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - fp24_null
    linkageType: ''
    returnType: int
    signature: int memory24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6389,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6390,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6391,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6394,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6395,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6396,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6398,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6399,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6400,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6401,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6402,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6402,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6407,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6408,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6409,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6410,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6411,1
    - Dst: fp24_copy
      Src: /src/relic/test/test_fpx.c:6412,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6413,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6413,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6415,1
    - Dst: fp24_copy
      Src: /src/relic/test/test_fpx.c:6416,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6417,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6417,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6422,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6423,1
    - Dst: fp24_neg
      Src: /src/relic/test/test_fpx.c:6424,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6425,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6426,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6426,1
    - Dst: fp24_neg
      Src: /src/relic/test/test_fpx.c:6428,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6429,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6429,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6433,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6435,1
    - Dst: fp24_is_zero
      Src: /src/relic/test/test_fpx.c:6436,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_fpx.c:6437,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6438,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6438,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6439,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6439,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6443,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6445,1
    - Dst: fp24_is_zero
      Src: /src/relic/test/test_fpx.c:6446,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_fpx.c:6447,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6448,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6448,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6452,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_fpx.c:6453,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6454,1
    - Dst: fp24_is_zero
      Src: /src/relic/test/test_fpx.c:6454,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6458,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fpx.c:6459,1
    - Dst: fp24_set_dig
      Src: /src/relic/test/test_fpx.c:6460,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6461,1
    - Dst: fp24_cmp_dig
      Src: /src/relic/test/test_fpx.c:6461,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6465,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6466,1
    - Dst: fp24_write_bin
      Src: /src/relic/test/test_fpx.c:6467,1
    - Dst: fp24_read_bin
      Src: /src/relic/test/test_fpx.c:6468,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6469,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6469,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6473,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6474,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6475,1
    - Dst: fp24_size_bin
      Src: /src/relic/test/test_fpx.c:6475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6478
      start: 6383
    functionDepth: 1
    functionLinenumber: 6383
    functionLinenumberEnd: 6478
    functionName: util24
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp24_rand
    - fp24_new
    - fp24_cmp
    - fp24_is_zero
    - fp24_zero
    - fp24_set_dig
    - TEST_CASE
    - fp24_neg
    - fp24_read_bin
    - TEST_ASSERT
    - fp24_cmp_dig
    - rand_bytes
    - fp24_null
    - fp24_write_bin
    - fp24_copy
    - fp24_size_bin
    linkageType: ''
    returnType: int
    signature: int util24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6494,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6495,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6496,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6497,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6498,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6501,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6502,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6503,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6504,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6505,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6507,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6508,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6509,1
    - Dst: fp24_add
      Src: /src/relic/test/test_fpx.c:6510,1
    - Dst: fp24_add
      Src: /src/relic/test/test_fpx.c:6511,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6512,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6512,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6515,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6516,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6517,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6518,1
    - Dst: fp24_add
      Src: /src/relic/test/test_fpx.c:6519,1
    - Dst: fp24_add
      Src: /src/relic/test/test_fpx.c:6520,1
    - Dst: fp24_add
      Src: /src/relic/test/test_fpx.c:6521,1
    - Dst: fp24_add
      Src: /src/relic/test/test_fpx.c:6522,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6523,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6523,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6526,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6527,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_fpx.c:6528,1
    - Dst: fp24_add
      Src: /src/relic/test/test_fpx.c:6529,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6530,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6530,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6533,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6534,1
    - Dst: fp24_neg
      Src: /src/relic/test/test_fpx.c:6535,1
    - Dst: fp24_add
      Src: /src/relic/test/test_fpx.c:6536,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6537,1
    - Dst: fp24_is_zero
      Src: /src/relic/test/test_fpx.c:6537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6539
      start: 6490
    functionDepth: 1
    functionLinenumber: 6490
    functionLinenumberEnd: 6539
    functionName: addition24
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp24_rand
    - fp24_new
    - fp24_cmp
    - fp24_is_zero
    - fp24_zero
    - fp24_add
    - TEST_CASE
    - fp24_neg
    - TEST_ASSERT
    - fp24_null
    linkageType: ''
    returnType: int
    signature: int addition24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6558,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6559,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6560,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6561,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6564,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6565,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6566,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6567,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6569,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6570,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6571,1
    - Dst: fp24_sub
      Src: /src/relic/test/test_fpx.c:6572,1
    - Dst: fp24_sub
      Src: /src/relic/test/test_fpx.c:6573,1
    - Dst: fp24_neg
      Src: /src/relic/test/test_fpx.c:6574,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6575,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6575,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6579,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6580,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_fpx.c:6581,1
    - Dst: fp24_sub
      Src: /src/relic/test/test_fpx.c:6582,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6583,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6583,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6587,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6588,1
    - Dst: fp24_sub
      Src: /src/relic/test/test_fpx.c:6589,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6590,1
    - Dst: fp24_is_zero
      Src: /src/relic/test/test_fpx.c:6590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6593
      start: 6554
    functionDepth: 1
    functionLinenumber: 6554
    functionLinenumberEnd: 6593
    functionName: subtraction24
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp24_rand
    - fp24_new
    - fp24_cmp
    - fp24_is_zero
    - fp24_zero
    - TEST_CASE
    - fp24_neg
    - fp24_sub
    - TEST_ASSERT
    - fp24_null
    linkageType: ''
    returnType: int
    signature: int subtraction24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6611,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6612,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6613,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6614,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6615,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6616,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6619,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6620,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6621,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6622,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6623,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6624,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6626,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6627,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6628,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6629,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6630,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6631,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6631,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6634,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6635,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6636,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6637,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6638,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6639,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6640,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6641,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6642,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6642,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6645,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6646,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6647,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6648,1
    - Dst: fp24_add
      Src: /src/relic/test/test_fpx.c:6649,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6650,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6651,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6652,1
    - Dst: fp24_add
      Src: /src/relic/test/test_fpx.c:6653,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6654,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6654,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6657,1
    - Dst: fp24_set_dig
      Src: /src/relic/test/test_fpx.c:6658,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6659,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6660,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6660,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6663,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_fpx.c:6664,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6665,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6666,1
    - Dst: fp24_is_zero
      Src: /src/relic/test/test_fpx.c:6666,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6669,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6670,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_fpx.c:6671,1
    - Dst: fp8_set_dig
      Src: /src/relic/test/test_fpx.c:6672,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6673,1
    - Dst: fp24_mul_art
      Src: /src/relic/test/test_fpx.c:6674,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6675,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6675,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6679,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6680,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6681,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6682,1
    - Dst: fp24_mul_basic
      Src: /src/relic/test/test_fpx.c:6683,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6684,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6684,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6689,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6690,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6691,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6692,1
    - Dst: fp24_mul_lazyr
      Src: /src/relic/test/test_fpx.c:6693,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6694,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6697
      start: 6607
    functionDepth: 1
    functionLinenumber: 6607
    functionLinenumberEnd: 6697
    functionName: multiplication24
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp24_rand
    - fp24_new
    - fp24_cmp
    - fp24_set_dig
    - fp24_zero
    - fp24_is_zero
    - TEST_CASE
    - fp24_add
    - fp24_mul_art
    - TEST_ASSERT
    - fp8_set_dig
    - fp24_mul_basic
    - fp24_mul_lazyr
    - fp24_null
    - fp24_mul
    linkageType: ''
    returnType: int
    signature: int multiplication24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6716,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6717,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6718,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6721,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6722,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6723,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6725,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6726,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6727,1
    - Dst: fp24_sqr
      Src: /src/relic/test/test_fpx.c:6728,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6729,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6729,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6733,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6734,1
    - Dst: fp24_sqr
      Src: /src/relic/test/test_fpx.c:6735,1
    - Dst: fp24_sqr_basic
      Src: /src/relic/test/test_fpx.c:6736,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6737,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6737,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6742,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6743,1
    - Dst: fp24_sqr
      Src: /src/relic/test/test_fpx.c:6744,1
    - Dst: fp24_sqr_lazyr
      Src: /src/relic/test/test_fpx.c:6745,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6746,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6749
      start: 6712
    functionDepth: 1
    functionLinenumber: 6712
    functionLinenumberEnd: 6749
    functionName: squaring24
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp24_rand
    - fp24_new
    - fp24_cmp
    - TEST_CASE
    - fp24_sqr
    - TEST_ASSERT
    - fp24_sqr_lazyr
    - fp24_sqr_basic
    - fp24_null
    - fp24_mul
    linkageType: ''
    returnType: int
    signature: int squaring24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6767,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6768,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6769,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6770,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6771,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6772,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6773,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:6774,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6777,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6778,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6779,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6780,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6781,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6782,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6783,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:6784,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6786,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6787,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6788,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6789,1
    - Dst: fp24_test_cyc
      Src: /src/relic/test/test_fpx.c:6789,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6792,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6793,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6794,1
    - Dst: fp24_back_cyc
      Src: /src/relic/test/test_fpx.c:6795,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6796,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6796,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6799,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6800,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6801,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6802,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6803,1
    - Dst: fp24_back_cyc_sim
      Src: /src/relic/test/test_fpx.c:6804,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6805,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6805,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6806,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6809,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6810,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6811,1
    - Dst: fp24_sqr
      Src: /src/relic/test/test_fpx.c:6812,1
    - Dst: fp24_sqr_cyc
      Src: /src/relic/test/test_fpx.c:6813,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6814,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6814,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6818,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6819,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6820,1
    - Dst: fp24_sqr_cyc
      Src: /src/relic/test/test_fpx.c:6821,1
    - Dst: fp24_sqr_cyc_basic
      Src: /src/relic/test/test_fpx.c:6822,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6823,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6823,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6828,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6829,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6830,1
    - Dst: fp24_sqr_cyc
      Src: /src/relic/test/test_fpx.c:6831,1
    - Dst: fp24_sqr_cyc_lazyr
      Src: /src/relic/test/test_fpx.c:6832,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6833,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6833,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6837,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6838,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6839,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:6840,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:6841,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:6842,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:6843,1
    - Dst: fp24_sqr
      Src: /src/relic/test/test_fpx.c:6844,1
    - Dst: fp24_sqr_pck
      Src: /src/relic/test/test_fpx.c:6845,1
    - Dst: fp24_back_cyc
      Src: /src/relic/test/test_fpx.c:6846,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6847,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6847,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6851,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6852,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6853,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:6854,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:6855,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:6856,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:6857,1
    - Dst: fp24_sqr_pck
      Src: /src/relic/test/test_fpx.c:6858,1
    - Dst: fp24_sqr_pck_basic
      Src: /src/relic/test/test_fpx.c:6859,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6860,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6860,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6865,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6866,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6867,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:6868,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:6869,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:6870,1
    - Dst: fp4_zero
      Src: /src/relic/test/test_fpx.c:6871,1
    - Dst: fp24_sqr_pck
      Src: /src/relic/test/test_fpx.c:6872,1
    - Dst: fp24_sqr_pck_lazyr
      Src: /src/relic/test/test_fpx.c:6873,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6874,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6874,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6878,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6879,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6880,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:6881,1
    - Dst: fp24_exp_cyc
      Src: /src/relic/test/test_fpx.c:6882,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6883,1
    - Dst: fp24_cmp_dig
      Src: /src/relic/test/test_fpx.c:6883,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:6884,1
    - Dst: fp24_exp_cyc
      Src: /src/relic/test/test_fpx.c:6885,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6886,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6886,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:6887,1
    - Dst: fp24_exp
      Src: /src/relic/test/test_fpx.c:6888,1
    - Dst: fp24_exp_cyc
      Src: /src/relic/test/test_fpx.c:6889,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6890,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6890,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:6891,1
    - Dst: fp24_exp_cyc
      Src: /src/relic/test/test_fpx.c:6892,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:6893,1
    - Dst: fp24_exp_cyc
      Src: /src/relic/test/test_fpx.c:6894,1
    - Dst: fp24_inv_cyc
      Src: /src/relic/test/test_fpx.c:6895,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6896,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6896,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_fpx.c:6898,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:6899,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:6900,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6901,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6902,1
    - Dst: fp24_exp_cyc
      Src: /src/relic/test/test_fpx.c:6903,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:6904,1
    - Dst: fp24_exp_cyc
      Src: /src/relic/test/test_fpx.c:6905,1
    - Dst: fp24_inv_cyc
      Src: /src/relic/test/test_fpx.c:6906,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6907,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6907,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6910,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:6913,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_fpx.c:6916,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:6917,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:6918,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6919,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:6920,1
    - Dst: fp24_exp
      Src: /src/relic/test/test_fpx.c:6921,1
    - Dst: fp24_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:6922,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6923,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6923,1
    - Dst: fp24_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:6925,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6926,1
    - Dst: fp24_cmp_dig
      Src: /src/relic/test/test_fpx.c:6926,1
    - Dst: fp24_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:6928,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6929,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6929,1
    - Dst: fp24_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:6931,1
    - Dst: fp24_inv
      Src: /src/relic/test/test_fpx.c:6932,1
    - Dst: fp24_sqr_cyc
      Src: /src/relic/test/test_fpx.c:6933,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6934,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:6934,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6936
      start: 6762
    functionDepth: 1
    functionLinenumber: 6762
    functionLinenumberEnd: 6936
    functionName: cyclotomic24
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp24_new
    - fp24_conv_cyc
    - fp24_exp
    - fp24_sqr_cyc
    - fp24_exp_cyc
    - fp24_inv_cyc
    - bn_set_dig
    - fp24_cmp_dig
    - fp24_rand
    - fp24_cmp
    - fp24_sqr_pck_lazyr
    - bn_null
    - fp24_inv
    - fp24_sqr
    - bn_set_2b
    - fp24_exp_cyc_sps
    - fp24_sqr_cyc_lazyr
    - fp24_back_cyc
    - bn_rand
    - fp24_sqr_cyc_basic
    - bn_set_bit
    - TEST_CASE
    - fp24_sqr_pck
    - bn_neg
    - bn_new
    - fp24_sqr_pck_basic
    - fp24_null
    - bn_zero
    - fp24_test_cyc
    - fp24_back_cyc_sim
    - TEST_ASSERT
    - fp4_zero
    linkageType: ''
    returnType: int
    signature: int cyclotomic24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6958,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6959,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6960,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6963,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6964,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6965,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:6967,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:6969,1
    - Dst: fp24_is_zero
      Src: /src/relic/test/test_fpx.c:6970,1
    - Dst: fp24_inv
      Src: /src/relic/test/test_fpx.c:6971,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_fpx.c:6972,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:6973,1
    - Dst: fp24_cmp_dig
      Src: /src/relic/test/test_fpx.c:6973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6975
      start: 6954
    functionDepth: 1
    functionLinenumber: 6954
    functionLinenumberEnd: 6975
    functionName: inversion24
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp24_rand
    - fp24_new
    - fp24_is_zero
    - TEST_CASE
    - fp24_inv
    - TEST_ASSERT
    - fp24_cmp_dig
    - fp24_null
    - fp24_mul
    linkageType: ''
    returnType: int
    signature: int inversion24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6993,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6994,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:6995,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:6996,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:6999,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:7000,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:7001,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:7002,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7004,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:7005,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:7006,1
    - Dst: fp24_exp
      Src: /src/relic/test/test_fpx.c:7007,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7008,1
    - Dst: fp24_cmp_dig
      Src: /src/relic/test/test_fpx.c:7008,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:7009,1
    - Dst: fp24_exp
      Src: /src/relic/test/test_fpx.c:7010,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7011,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:7011,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:7012,1
    - Dst: fp24_exp
      Src: /src/relic/test/test_fpx.c:7013,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:7014,1
    - Dst: fp24_exp
      Src: /src/relic/test/test_fpx.c:7015,1
    - Dst: fp24_inv
      Src: /src/relic/test/test_fpx.c:7016,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7017,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:7017,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:7018,1
    - Dst: fp24_exp_dig
      Src: /src/relic/test/test_fpx.c:7019,1
    - Dst: fp24_exp
      Src: /src/relic/test/test_fpx.c:7020,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7021,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:7021,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7024,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:7025,1
    - Dst: fp24_frb
      Src: /src/relic/test/test_fpx.c:7026,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7027,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:7027,1
    - Dst: fp24_frb
      Src: /src/relic/test/test_fpx.c:7028,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fpx.c:7031,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fpx.c:7031,1
    - Dst: fp24_exp
      Src: /src/relic/test/test_fpx.c:7032,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7033,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:7033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7035
      start: 6988
    functionDepth: 1
    functionLinenumber: 6988
    functionLinenumberEnd: 7035
    functionName: exponentiation24
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp24_new
    - fp24_exp
    - bn_set_dig
    - fp24_cmp_dig
    - fp24_rand
    - dv_copy
    - fp24_cmp
    - bn_null
    - fp24_inv
    - bn_rand
    - TEST_CASE
    - bn_neg
    - bn_new
    - fp_prime_get
    - fp24_null
    - fp24_frb
    - fp24_exp_dig
    - bn_zero
    - TEST_ASSERT
    linkageType: ''
    returnType: int
    signature: int exponentiation24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:7054,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:7055,1
    - Dst: fp24_null
      Src: /src/relic/test/test_fpx.c:7056,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:7059,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:7060,1
    - Dst: fp24_new
      Src: /src/relic/test/test_fpx.c:7061,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7063,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:7064,1
    - Dst: fp24_pck
      Src: /src/relic/test/test_fpx.c:7065,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7066,1
    - Dst: fp24_upk
      Src: /src/relic/test/test_fpx.c:7066,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7067,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:7067,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:7068,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:7069,1
    - Dst: fp24_pck
      Src: /src/relic/test/test_fpx.c:7070,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7071,1
    - Dst: fp24_upk
      Src: /src/relic/test/test_fpx.c:7071,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7072,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:7072,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7075,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:7076,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:7077,1
    - Dst: fp24_write_bin
      Src: /src/relic/test/test_fpx.c:7078,1
    - Dst: fp24_read_bin
      Src: /src/relic/test/test_fpx.c:7079,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7080,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_fpx.c:7080,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7084,1
    - Dst: fp24_rand
      Src: /src/relic/test/test_fpx.c:7085,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7086,1
    - Dst: fp24_size_bin
      Src: /src/relic/test/test_fpx.c:7086,1
    - Dst: fp24_conv_cyc
      Src: /src/relic/test/test_fpx.c:7087,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7088,1
    - Dst: fp24_size_bin
      Src: /src/relic/test/test_fpx.c:7088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7091
      start: 7049
    functionDepth: 1
    functionLinenumber: 7049
    functionLinenumberEnd: 7091
    functionName: compression24
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp24_rand
    - fp24_new
    - fp24_cmp
    - fp24_conv_cyc
    - TEST_CASE
    - fp24_read_bin
    - TEST_ASSERT
    - fp24_upk
    - fp24_pck
    - fp24_write_bin
    - fp24_null
    - fp24_size_bin
    linkageType: ''
    returnType: int
    signature: int compression24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7109,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7112,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7113,1
    - Dst: fp48_free
      Src: /src/relic/test/test_fpx.c:7114,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:7119,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fpx.c:7120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7128
      start: 7104
    functionDepth: 1
    functionLinenumber: 7104
    functionLinenumberEnd: 7128
    functionName: memory48
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp48_free
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - fp48_null
    - fp48_new
    linkageType: ''
    returnType: int
    signature: int memory48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7136,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7137,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7138,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7141,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7142,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7143,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7145,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7146,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7147,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7148,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7149,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7149,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7154,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7155,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7156,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7157,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7158,1
    - Dst: fp48_copy
      Src: /src/relic/test/test_fpx.c:7159,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7160,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7160,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7162,1
    - Dst: fp48_copy
      Src: /src/relic/test/test_fpx.c:7163,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7164,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7164,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7169,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7170,1
    - Dst: fp48_neg
      Src: /src/relic/test/test_fpx.c:7171,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7172,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7173,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7173,1
    - Dst: fp48_neg
      Src: /src/relic/test/test_fpx.c:7175,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7176,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7176,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7180,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7182,1
    - Dst: fp48_is_zero
      Src: /src/relic/test/test_fpx.c:7183,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_fpx.c:7184,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7185,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7185,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7186,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7186,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7190,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7192,1
    - Dst: fp48_is_zero
      Src: /src/relic/test/test_fpx.c:7193,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_fpx.c:7194,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7195,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7195,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7199,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_fpx.c:7200,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7201,1
    - Dst: fp48_is_zero
      Src: /src/relic/test/test_fpx.c:7201,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7205,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fpx.c:7206,1
    - Dst: fp48_set_dig
      Src: /src/relic/test/test_fpx.c:7207,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7208,1
    - Dst: fp48_cmp_dig
      Src: /src/relic/test/test_fpx.c:7208,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7212,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7213,1
    - Dst: fp48_write_bin
      Src: /src/relic/test/test_fpx.c:7214,1
    - Dst: fp48_read_bin
      Src: /src/relic/test/test_fpx.c:7215,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7216,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7216,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7219,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7220,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7221,1
    - Dst: fp48_size_bin
      Src: /src/relic/test/test_fpx.c:7221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7224
      start: 7130
    functionDepth: 1
    functionLinenumber: 7130
    functionLinenumberEnd: 7224
    functionName: util48
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp48_size_bin
    - rand_bytes
    - fp48_set_dig
    - TEST_CASE
    - fp48_neg
    - fp48_zero
    - fp48_null
    - TEST_ASSERT
    - fp48_is_zero
    - fp48_write_bin
    - fp48_read_bin
    - fp48_cmp
    - fp48_copy
    - fp48_new
    - fp48_rand
    - fp48_cmp_dig
    linkageType: ''
    returnType: int
    signature: int util48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7240,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7241,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7242,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7243,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7244,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7247,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7248,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7249,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7250,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7251,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7253,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7254,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7255,1
    - Dst: fp48_add
      Src: /src/relic/test/test_fpx.c:7256,1
    - Dst: fp48_add
      Src: /src/relic/test/test_fpx.c:7257,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7258,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7258,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7261,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7262,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7263,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7264,1
    - Dst: fp48_add
      Src: /src/relic/test/test_fpx.c:7265,1
    - Dst: fp48_add
      Src: /src/relic/test/test_fpx.c:7266,1
    - Dst: fp48_add
      Src: /src/relic/test/test_fpx.c:7267,1
    - Dst: fp48_add
      Src: /src/relic/test/test_fpx.c:7268,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7269,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7269,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7272,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7273,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_fpx.c:7274,1
    - Dst: fp48_add
      Src: /src/relic/test/test_fpx.c:7275,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7276,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7276,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7279,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7280,1
    - Dst: fp48_neg
      Src: /src/relic/test/test_fpx.c:7281,1
    - Dst: fp48_add
      Src: /src/relic/test/test_fpx.c:7282,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7283,1
    - Dst: fp48_is_zero
      Src: /src/relic/test/test_fpx.c:7283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7285
      start: 7236
    functionDepth: 1
    functionLinenumber: 7236
    functionLinenumberEnd: 7285
    functionName: addition48
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp48_neg
    - fp48_zero
    - fp48_null
    - TEST_ASSERT
    - fp48_is_zero
    - fp48_cmp
    - fp48_new
    - fp48_rand
    - fp48_add
    linkageType: ''
    returnType: int
    signature: int addition48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7304,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7305,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7306,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7307,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7310,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7311,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7312,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7313,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7315,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7316,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7317,1
    - Dst: fp48_sub
      Src: /src/relic/test/test_fpx.c:7318,1
    - Dst: fp48_sub
      Src: /src/relic/test/test_fpx.c:7319,1
    - Dst: fp48_neg
      Src: /src/relic/test/test_fpx.c:7320,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7321,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7321,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7325,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7326,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_fpx.c:7327,1
    - Dst: fp48_sub
      Src: /src/relic/test/test_fpx.c:7328,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7329,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7329,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7333,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7334,1
    - Dst: fp48_sub
      Src: /src/relic/test/test_fpx.c:7335,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7336,1
    - Dst: fp48_is_zero
      Src: /src/relic/test/test_fpx.c:7336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7339
      start: 7300
    functionDepth: 1
    functionLinenumber: 7300
    functionLinenumberEnd: 7339
    functionName: subtraction48
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - fp48_neg
    - fp48_sub
    - fp48_zero
    - fp48_null
    - TEST_ASSERT
    - fp48_is_zero
    - fp48_cmp
    - fp48_new
    - fp48_rand
    linkageType: ''
    returnType: int
    signature: int subtraction48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7357,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7358,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7359,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7360,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7361,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7362,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7365,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7366,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7367,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7368,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7369,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7370,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7372,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7373,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7374,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7375,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7376,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7377,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7377,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7380,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7381,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7382,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7383,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7384,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7385,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7386,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7387,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7388,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7388,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7391,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7392,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7393,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7394,1
    - Dst: fp48_add
      Src: /src/relic/test/test_fpx.c:7395,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7396,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7397,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7398,1
    - Dst: fp48_add
      Src: /src/relic/test/test_fpx.c:7399,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7400,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7400,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7403,1
    - Dst: fp48_set_dig
      Src: /src/relic/test/test_fpx.c:7404,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7405,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7406,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7406,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7409,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_fpx.c:7410,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7411,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7412,1
    - Dst: fp48_is_zero
      Src: /src/relic/test/test_fpx.c:7412,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7416,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7417,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7418,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7419,1
    - Dst: fp48_mul_basic
      Src: /src/relic/test/test_fpx.c:7420,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7421,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7421,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7426,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7427,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7428,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7429,1
    - Dst: fp48_mul_lazyr
      Src: /src/relic/test/test_fpx.c:7430,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7431,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7434
      start: 7353
    functionDepth: 1
    functionLinenumber: 7353
    functionLinenumberEnd: 7434
    functionName: multiplication48
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp48_set_dig
    - TEST_CASE
    - fp48_mul_lazyr
    - fp48_zero
    - fp48_null
    - TEST_ASSERT
    - fp48_is_zero
    - fp48_mul
    - fp48_cmp
    - fp48_mul_basic
    - fp48_new
    - fp48_rand
    - fp48_add
    linkageType: ''
    returnType: int
    signature: int multiplication48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7453,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7454,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7455,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7458,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7459,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7460,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7462,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7463,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7464,1
    - Dst: fp48_sqr
      Src: /src/relic/test/test_fpx.c:7465,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7466,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7466,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7470,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7471,1
    - Dst: fp48_sqr
      Src: /src/relic/test/test_fpx.c:7472,1
    - Dst: fp48_sqr_basic
      Src: /src/relic/test/test_fpx.c:7473,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7474,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7474,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7479,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7480,1
    - Dst: fp48_sqr
      Src: /src/relic/test/test_fpx.c:7481,1
    - Dst: fp48_sqr_lazyr
      Src: /src/relic/test/test_fpx.c:7482,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7483,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7486
      start: 7449
    functionDepth: 1
    functionLinenumber: 7449
    functionLinenumberEnd: 7486
    functionName: squaring48
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp48_sqr_lazyr
    - TEST_CASE
    - fp48_null
    - TEST_ASSERT
    - fp48_sqr_basic
    - fp48_mul
    - fp48_cmp
    - fp48_sqr
    - fp48_new
    - fp48_rand
    linkageType: ''
    returnType: int
    signature: int squaring48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7504,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7505,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7506,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7509,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7510,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7511,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7513,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7514,1
    - Dst: fp48_pck
      Src: /src/relic/test/test_fpx.c:7515,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7516,1
    - Dst: fp48_upk
      Src: /src/relic/test/test_fpx.c:7516,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7517,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7517,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7518,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7519,1
    - Dst: fp48_pck
      Src: /src/relic/test/test_fpx.c:7520,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7521,1
    - Dst: fp48_upk
      Src: /src/relic/test/test_fpx.c:7521,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7522,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7522,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7525,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7526,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7527,1
    - Dst: fp48_write_bin
      Src: /src/relic/test/test_fpx.c:7528,1
    - Dst: fp48_read_bin
      Src: /src/relic/test/test_fpx.c:7529,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7530,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7530,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7534,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7535,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7536,1
    - Dst: fp48_size_bin
      Src: /src/relic/test/test_fpx.c:7536,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7537,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7538,1
    - Dst: fp48_size_bin
      Src: /src/relic/test/test_fpx.c:7538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7541
      start: 7499
    functionDepth: 1
    functionLinenumber: 7499
    functionLinenumberEnd: 7541
    functionName: compression48
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp48_upk
    - fp48_size_bin
    - fp48_conv_cyc
    - TEST_CASE
    - fp48_pck
    - fp48_null
    - TEST_ASSERT
    - fp48_write_bin
    - fp48_read_bin
    - fp48_cmp
    - fp48_new
    - fp48_rand
    linkageType: ''
    returnType: int
    signature: int compression48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7559,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7560,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7561,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7562,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7563,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7564,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7565,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:7566,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7569,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7570,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7571,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7572,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7573,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7574,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7575,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:7576,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7578,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7579,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7580,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7581,1
    - Dst: fp48_test_cyc
      Src: /src/relic/test/test_fpx.c:7581,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7584,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7585,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7586,1
    - Dst: fp48_back_cyc
      Src: /src/relic/test/test_fpx.c:7587,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7588,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7588,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7591,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7592,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7593,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7594,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7595,1
    - Dst: fp48_back_cyc_sim
      Src: /src/relic/test/test_fpx.c:7596,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7597,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7597,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7598,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7601,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7602,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7603,1
    - Dst: fp48_sqr
      Src: /src/relic/test/test_fpx.c:7604,1
    - Dst: fp48_sqr_cyc
      Src: /src/relic/test/test_fpx.c:7605,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7606,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7606,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7610,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7611,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7612,1
    - Dst: fp48_sqr_cyc
      Src: /src/relic/test/test_fpx.c:7613,1
    - Dst: fp48_sqr_cyc_basic
      Src: /src/relic/test/test_fpx.c:7614,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7615,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7615,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7620,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7621,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7622,1
    - Dst: fp48_sqr_cyc
      Src: /src/relic/test/test_fpx.c:7623,1
    - Dst: fp48_sqr_cyc_lazyr
      Src: /src/relic/test/test_fpx.c:7624,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7625,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7625,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7629,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7630,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7631,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:7632,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:7633,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:7634,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:7635,1
    - Dst: fp48_sqr
      Src: /src/relic/test/test_fpx.c:7636,1
    - Dst: fp48_sqr_pck
      Src: /src/relic/test/test_fpx.c:7637,1
    - Dst: fp48_back_cyc
      Src: /src/relic/test/test_fpx.c:7638,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7639,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7639,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7643,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7644,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7645,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:7646,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:7647,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:7648,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:7649,1
    - Dst: fp48_sqr_pck
      Src: /src/relic/test/test_fpx.c:7650,1
    - Dst: fp48_sqr_pck_basic
      Src: /src/relic/test/test_fpx.c:7651,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7652,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7652,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7657,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7658,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7659,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:7660,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:7661,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:7662,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_fpx.c:7663,1
    - Dst: fp48_sqr_pck
      Src: /src/relic/test/test_fpx.c:7664,1
    - Dst: fp48_sqr_pck_lazyr
      Src: /src/relic/test/test_fpx.c:7665,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7666,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7666,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7670,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7671,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7672,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:7673,1
    - Dst: fp48_exp_cyc
      Src: /src/relic/test/test_fpx.c:7674,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7675,1
    - Dst: fp48_cmp_dig
      Src: /src/relic/test/test_fpx.c:7675,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:7676,1
    - Dst: fp48_exp_cyc
      Src: /src/relic/test/test_fpx.c:7677,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7678,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7678,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:7679,1
    - Dst: fp48_exp
      Src: /src/relic/test/test_fpx.c:7680,1
    - Dst: fp48_exp_cyc
      Src: /src/relic/test/test_fpx.c:7681,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7682,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7682,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:7683,1
    - Dst: fp48_exp_cyc
      Src: /src/relic/test/test_fpx.c:7684,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:7685,1
    - Dst: fp48_exp_cyc
      Src: /src/relic/test/test_fpx.c:7686,1
    - Dst: fp48_inv_cyc
      Src: /src/relic/test/test_fpx.c:7687,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7688,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7688,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_fpx.c:7690,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:7691,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:7692,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7693,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7694,1
    - Dst: fp48_exp_cyc
      Src: /src/relic/test/test_fpx.c:7695,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:7696,1
    - Dst: fp48_exp_cyc
      Src: /src/relic/test/test_fpx.c:7697,1
    - Dst: fp48_inv_cyc
      Src: /src/relic/test/test_fpx.c:7698,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7699,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7699,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7702,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:7705,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_fpx.c:7708,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:7709,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:7710,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7711,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7712,1
    - Dst: fp48_exp
      Src: /src/relic/test/test_fpx.c:7713,1
    - Dst: fp48_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:7714,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7715,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7715,1
    - Dst: fp48_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:7717,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7718,1
    - Dst: fp48_cmp_dig
      Src: /src/relic/test/test_fpx.c:7718,1
    - Dst: fp48_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:7720,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7721,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7721,1
    - Dst: fp48_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:7723,1
    - Dst: fp48_inv
      Src: /src/relic/test/test_fpx.c:7724,1
    - Dst: fp48_sqr_cyc
      Src: /src/relic/test/test_fpx.c:7725,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7726,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7728
      start: 7554
    functionDepth: 1
    functionLinenumber: 7554
    functionLinenumberEnd: 7728
    functionName: cyclotomic48
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp48_back_cyc
    - fp48_exp_cyc
    - fp48_cmp
    - bn_set_dig
    - fp48_sqr_cyc_lazyr
    - fp48_exp
    - fp48_conv_cyc
    - fp48_sqr_cyc_basic
    - bn_null
    - fp8_zero
    - fp48_exp_cyc_sps
    - fp48_inv_cyc
    - bn_set_2b
    - fp48_cmp_dig
    - fp48_sqr_pck
    - fp48_rand
    - bn_rand
    - bn_set_bit
    - fp48_inv
    - TEST_CASE
    - fp48_back_cyc_sim
    - fp48_null
    - fp48_test_cyc
    - bn_neg
    - bn_new
    - fp48_sqr
    - fp48_sqr_pck_basic
    - bn_zero
    - fp48_sqr_cyc
    - TEST_ASSERT
    - fp48_sqr_pck_lazyr
    - fp48_new
    linkageType: ''
    returnType: int
    signature: int cyclotomic48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7750,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7751,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7752,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7755,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7756,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7757,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7759,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7761,1
    - Dst: fp48_is_zero
      Src: /src/relic/test/test_fpx.c:7762,1
    - Dst: fp48_inv
      Src: /src/relic/test/test_fpx.c:7763,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_fpx.c:7764,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7765,1
    - Dst: fp48_cmp_dig
      Src: /src/relic/test/test_fpx.c:7765,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7768,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7770,1
    - Dst: fp48_is_zero
      Src: /src/relic/test/test_fpx.c:7771,1
    - Dst: fp48_conv_cyc
      Src: /src/relic/test/test_fpx.c:7772,1
    - Dst: fp48_inv
      Src: /src/relic/test/test_fpx.c:7773,1
    - Dst: fp48_inv_cyc
      Src: /src/relic/test/test_fpx.c:7774,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7775,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7777
      start: 7746
    functionDepth: 1
    functionLinenumber: 7746
    functionLinenumberEnd: 7777
    functionName: inversion48
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp48_inv
    - fp48_conv_cyc
    - TEST_CASE
    - fp48_is_zero
    - fp48_null
    - TEST_ASSERT
    - fp48_inv_cyc
    - fp48_mul
    - fp48_cmp
    - fp48_new
    - fp48_rand
    - fp48_cmp_dig
    linkageType: ''
    returnType: int
    signature: int inversion48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7795,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7796,1
    - Dst: fp48_null
      Src: /src/relic/test/test_fpx.c:7797,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:7798,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7801,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7802,1
    - Dst: fp48_new
      Src: /src/relic/test/test_fpx.c:7803,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:7804,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7806,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7807,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:7808,1
    - Dst: fp48_exp
      Src: /src/relic/test/test_fpx.c:7809,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7810,1
    - Dst: fp48_cmp_dig
      Src: /src/relic/test/test_fpx.c:7810,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:7811,1
    - Dst: fp48_exp
      Src: /src/relic/test/test_fpx.c:7812,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7813,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7813,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:7814,1
    - Dst: fp48_exp
      Src: /src/relic/test/test_fpx.c:7815,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:7816,1
    - Dst: fp48_exp
      Src: /src/relic/test/test_fpx.c:7817,1
    - Dst: fp48_inv
      Src: /src/relic/test/test_fpx.c:7818,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7819,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7819,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:7820,1
    - Dst: fp48_exp_dig
      Src: /src/relic/test/test_fpx.c:7821,1
    - Dst: fp48_exp
      Src: /src/relic/test/test_fpx.c:7822,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7823,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7823,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7826,1
    - Dst: fp48_rand
      Src: /src/relic/test/test_fpx.c:7827,1
    - Dst: fp48_frb
      Src: /src/relic/test/test_fpx.c:7828,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7829,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7829,1
    - Dst: fp48_frb
      Src: /src/relic/test/test_fpx.c:7830,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fpx.c:7833,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fpx.c:7833,1
    - Dst: fp48_exp
      Src: /src/relic/test/test_fpx.c:7834,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7835,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_fpx.c:7835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7837
      start: 7790
    functionDepth: 1
    functionLinenumber: 7790
    functionLinenumberEnd: 7837
    functionName: exponentiation48
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp48_frb
    - fp48_cmp
    - bn_set_dig
    - fp48_exp
    - dv_copy
    - bn_null
    - fp48_cmp_dig
    - bn_rand
    - fp48_rand
    - fp48_inv
    - TEST_CASE
    - fp48_null
    - bn_neg
    - bn_new
    - fp_prime_get
    - bn_zero
    - fp48_exp_dig
    - TEST_ASSERT
    - fp48_new
    linkageType: ''
    returnType: int
    signature: int exponentiation48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:7856,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7859,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:7860,1
    - Dst: fp54_free
      Src: /src/relic/test/test_fpx.c:7861,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:7866,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fpx.c:7867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7875
      start: 7851
    functionDepth: 1
    functionLinenumber: 7851
    functionLinenumberEnd: 7875
    functionName: memory54
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp54_free
    - util_print
    - fp54_null
    - TEST_CASE
    - RLC_ERROR
    - fp54_new
    linkageType: ''
    returnType: int
    signature: int memory54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:7883,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:7884,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:7885,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:7888,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:7889,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:7890,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7892,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:7893,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:7894,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7895,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7896,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7896,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7901,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:7902,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:7903,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:7904,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7905,1
    - Dst: fp54_copy
      Src: /src/relic/test/test_fpx.c:7906,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7907,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7907,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7909,1
    - Dst: fp54_copy
      Src: /src/relic/test/test_fpx.c:7910,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7911,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7911,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7916,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:7917,1
    - Dst: fp54_neg
      Src: /src/relic/test/test_fpx.c:7918,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7919,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7920,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7920,1
    - Dst: fp54_neg
      Src: /src/relic/test/test_fpx.c:7922,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7923,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7923,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7927,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:7929,1
    - Dst: fp54_is_zero
      Src: /src/relic/test/test_fpx.c:7930,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_fpx.c:7931,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7932,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7932,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7933,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7933,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7937,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:7939,1
    - Dst: fp54_is_zero
      Src: /src/relic/test/test_fpx.c:7940,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_fpx.c:7941,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7942,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7942,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7946,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_fpx.c:7947,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7948,1
    - Dst: fp54_is_zero
      Src: /src/relic/test/test_fpx.c:7948,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7952,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fpx.c:7953,1
    - Dst: fp54_set_dig
      Src: /src/relic/test/test_fpx.c:7954,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7955,1
    - Dst: fp54_cmp_dig
      Src: /src/relic/test/test_fpx.c:7955,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7959,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:7960,1
    - Dst: fp54_write_bin
      Src: /src/relic/test/test_fpx.c:7961,1
    - Dst: fp54_read_bin
      Src: /src/relic/test/test_fpx.c:7962,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7963,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:7963,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:7966,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:7967,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:7968,1
    - Dst: fp54_size_bin
      Src: /src/relic/test/test_fpx.c:7968,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7971
      start: 7877
    functionDepth: 1
    functionLinenumber: 7877
    functionLinenumberEnd: 7971
    functionName: util54
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp54_cmp
    - fp54_write_bin
    - fp54_copy
    - TEST_CASE
    - fp54_null
    - fp54_read_bin
    - fp54_rand
    - TEST_ASSERT
    - fp54_cmp_dig
    - fp54_zero
    - rand_bytes
    - fp54_size_bin
    - fp54_new
    - fp54_is_zero
    - fp54_neg
    - fp54_set_dig
    linkageType: ''
    returnType: int
    signature: int util54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:7987,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:7988,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:7989,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:7990,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:7991,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:7994,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:7995,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:7996,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:7997,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:7998,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8000,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8001,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8002,1
    - Dst: fp54_add
      Src: /src/relic/test/test_fpx.c:8003,1
    - Dst: fp54_add
      Src: /src/relic/test/test_fpx.c:8004,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8005,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8005,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8008,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8009,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8010,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8011,1
    - Dst: fp54_add
      Src: /src/relic/test/test_fpx.c:8012,1
    - Dst: fp54_add
      Src: /src/relic/test/test_fpx.c:8013,1
    - Dst: fp54_add
      Src: /src/relic/test/test_fpx.c:8014,1
    - Dst: fp54_add
      Src: /src/relic/test/test_fpx.c:8015,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8016,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8016,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8019,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8020,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_fpx.c:8021,1
    - Dst: fp54_add
      Src: /src/relic/test/test_fpx.c:8022,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8023,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8023,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8026,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8027,1
    - Dst: fp54_neg
      Src: /src/relic/test/test_fpx.c:8028,1
    - Dst: fp54_add
      Src: /src/relic/test/test_fpx.c:8029,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8030,1
    - Dst: fp54_is_zero
      Src: /src/relic/test/test_fpx.c:8030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8032
      start: 7983
    functionDepth: 1
    functionLinenumber: 7983
    functionLinenumberEnd: 8032
    functionName: addition54
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp54_cmp
    - fp54_is_zero
    - TEST_CASE
    - fp54_null
    - fp54_neg
    - fp54_rand
    - TEST_ASSERT
    - fp54_new
    - fp54_zero
    - fp54_add
    linkageType: ''
    returnType: int
    signature: int addition54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8051,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8052,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8053,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8054,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8057,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8058,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8059,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8060,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8062,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8063,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8064,1
    - Dst: fp54_sub
      Src: /src/relic/test/test_fpx.c:8065,1
    - Dst: fp54_sub
      Src: /src/relic/test/test_fpx.c:8066,1
    - Dst: fp54_neg
      Src: /src/relic/test/test_fpx.c:8067,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8068,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8068,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8072,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8073,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_fpx.c:8074,1
    - Dst: fp54_sub
      Src: /src/relic/test/test_fpx.c:8075,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8076,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8076,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8080,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8081,1
    - Dst: fp54_sub
      Src: /src/relic/test/test_fpx.c:8082,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8083,1
    - Dst: fp54_is_zero
      Src: /src/relic/test/test_fpx.c:8083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8086
      start: 8047
    functionDepth: 1
    functionLinenumber: 8047
    functionLinenumberEnd: 8086
    functionName: subtraction54
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp54_cmp
    - fp54_is_zero
    - TEST_CASE
    - fp54_null
    - fp54_rand
    - TEST_ASSERT
    - fp54_sub
    - fp54_new
    - fp54_zero
    - fp54_neg
    linkageType: ''
    returnType: int
    signature: int subtraction54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8104,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8105,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8106,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8107,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8108,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8109,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8112,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8113,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8114,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8115,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8116,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8117,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8119,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8120,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8121,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8122,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8123,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8124,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8124,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8127,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8128,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8129,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8130,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8131,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8132,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8133,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8134,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8135,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8135,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8138,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8139,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8140,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8141,1
    - Dst: fp54_add
      Src: /src/relic/test/test_fpx.c:8142,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8143,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8144,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8145,1
    - Dst: fp54_add
      Src: /src/relic/test/test_fpx.c:8146,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8147,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8147,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8150,1
    - Dst: fp54_set_dig
      Src: /src/relic/test/test_fpx.c:8151,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8152,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8153,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8153,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8156,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_fpx.c:8157,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8158,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8159,1
    - Dst: fp54_is_zero
      Src: /src/relic/test/test_fpx.c:8159,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8163,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8164,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8165,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8166,1
    - Dst: fp54_mul_basic
      Src: /src/relic/test/test_fpx.c:8167,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8168,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8168,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8173,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8174,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8175,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8176,1
    - Dst: fp54_mul_lazyr
      Src: /src/relic/test/test_fpx.c:8177,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8178,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8181
      start: 8100
    functionDepth: 1
    functionLinenumber: 8100
    functionLinenumberEnd: 8181
    functionName: multiplication54
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp54_cmp
    - fp54_is_zero
    - fp54_mul
    - fp54_null
    - TEST_CASE
    - fp54_rand
    - TEST_ASSERT
    - fp54_mul_lazyr
    - fp54_mul_basic
    - fp54_new
    - fp54_zero
    - fp54_add
    - fp54_set_dig
    linkageType: ''
    returnType: int
    signature: int multiplication54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8200,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8201,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8202,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8205,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8206,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8207,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8209,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8210,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8211,1
    - Dst: fp54_sqr
      Src: /src/relic/test/test_fpx.c:8212,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8213,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8213,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8217,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8218,1
    - Dst: fp54_sqr
      Src: /src/relic/test/test_fpx.c:8219,1
    - Dst: fp54_sqr_basic
      Src: /src/relic/test/test_fpx.c:8220,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8221,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8221,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8226,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8227,1
    - Dst: fp54_sqr
      Src: /src/relic/test/test_fpx.c:8228,1
    - Dst: fp54_sqr_lazyr
      Src: /src/relic/test/test_fpx.c:8229,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8230,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8233
      start: 8196
    functionDepth: 1
    functionLinenumber: 8196
    functionLinenumberEnd: 8233
    functionName: squaring54
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp54_cmp
    - fp54_sqr_basic
    - fp54_mul
    - fp54_null
    - TEST_CASE
    - fp54_rand
    - TEST_ASSERT
    - fp54_sqr
    - fp54_sqr_lazyr
    - fp54_new
    linkageType: ''
    returnType: int
    signature: int squaring54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8251,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8252,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8253,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8256,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8257,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8258,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8260,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8261,1
    - Dst: fp54_pck
      Src: /src/relic/test/test_fpx.c:8262,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8263,1
    - Dst: fp54_upk
      Src: /src/relic/test/test_fpx.c:8263,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8264,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8264,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8265,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8266,1
    - Dst: fp54_pck
      Src: /src/relic/test/test_fpx.c:8267,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8268,1
    - Dst: fp54_upk
      Src: /src/relic/test/test_fpx.c:8268,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8269,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8269,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8272,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8273,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8274,1
    - Dst: fp54_write_bin
      Src: /src/relic/test/test_fpx.c:8275,1
    - Dst: fp54_read_bin
      Src: /src/relic/test/test_fpx.c:8276,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8277,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8277,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8281,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8282,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8283,1
    - Dst: fp54_size_bin
      Src: /src/relic/test/test_fpx.c:8283,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8284,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8285,1
    - Dst: fp54_size_bin
      Src: /src/relic/test/test_fpx.c:8285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8288
      start: 8246
    functionDepth: 1
    functionLinenumber: 8246
    functionLinenumberEnd: 8288
    functionName: compression54
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp54_cmp
    - fp54_write_bin
    - TEST_CASE
    - fp54_null
    - fp54_read_bin
    - fp54_rand
    - fp54_upk
    - TEST_ASSERT
    - fp54_pck
    - fp54_size_bin
    - fp54_new
    - fp54_conv_cyc
    linkageType: ''
    returnType: int
    signature: int compression54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8306,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8307,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8308,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8309,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8310,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8311,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8312,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:8313,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8316,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8317,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8318,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8319,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8320,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8321,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8322,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:8323,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8325,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8326,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8327,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8328,1
    - Dst: fp54_test_cyc
      Src: /src/relic/test/test_fpx.c:8328,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8331,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8332,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8333,1
    - Dst: fp54_back_cyc
      Src: /src/relic/test/test_fpx.c:8334,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8335,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8335,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8338,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8339,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8340,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8341,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8342,1
    - Dst: fp54_back_cyc_sim
      Src: /src/relic/test/test_fpx.c:8343,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8344,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8344,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8345,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8348,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8349,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8350,1
    - Dst: fp54_sqr
      Src: /src/relic/test/test_fpx.c:8351,1
    - Dst: fp54_sqr_cyc
      Src: /src/relic/test/test_fpx.c:8352,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8353,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8353,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8357,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8358,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8359,1
    - Dst: fp54_sqr_cyc
      Src: /src/relic/test/test_fpx.c:8360,1
    - Dst: fp54_sqr_cyc_basic
      Src: /src/relic/test/test_fpx.c:8361,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8362,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8362,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8367,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8368,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8369,1
    - Dst: fp54_sqr_cyc
      Src: /src/relic/test/test_fpx.c:8370,1
    - Dst: fp54_sqr_cyc_lazyr
      Src: /src/relic/test/test_fpx.c:8371,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8372,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8372,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8376,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8377,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8378,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:8379,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:8380,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:8381,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:8382,1
    - Dst: fp54_sqr
      Src: /src/relic/test/test_fpx.c:8383,1
    - Dst: fp54_sqr_pck
      Src: /src/relic/test/test_fpx.c:8384,1
    - Dst: fp54_back_cyc
      Src: /src/relic/test/test_fpx.c:8385,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8386,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8386,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8390,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8391,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8392,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:8393,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:8394,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:8395,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:8396,1
    - Dst: fp54_sqr_pck
      Src: /src/relic/test/test_fpx.c:8397,1
    - Dst: fp54_sqr_pck_basic
      Src: /src/relic/test/test_fpx.c:8398,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8399,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8399,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8404,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8405,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8406,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:8407,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:8408,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:8409,1
    - Dst: fp9_zero
      Src: /src/relic/test/test_fpx.c:8410,1
    - Dst: fp54_sqr_pck
      Src: /src/relic/test/test_fpx.c:8411,1
    - Dst: fp54_sqr_pck_lazyr
      Src: /src/relic/test/test_fpx.c:8412,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8413,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8413,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8417,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8418,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8419,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:8420,1
    - Dst: fp54_exp_cyc
      Src: /src/relic/test/test_fpx.c:8421,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8422,1
    - Dst: fp54_cmp_dig
      Src: /src/relic/test/test_fpx.c:8422,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:8423,1
    - Dst: fp54_exp_cyc
      Src: /src/relic/test/test_fpx.c:8424,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8425,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8425,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:8426,1
    - Dst: fp54_exp
      Src: /src/relic/test/test_fpx.c:8427,1
    - Dst: fp54_exp_cyc
      Src: /src/relic/test/test_fpx.c:8428,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8429,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8429,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:8430,1
    - Dst: fp54_exp_cyc
      Src: /src/relic/test/test_fpx.c:8431,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:8432,1
    - Dst: fp54_exp_cyc
      Src: /src/relic/test/test_fpx.c:8433,1
    - Dst: fp54_inv_cyc
      Src: /src/relic/test/test_fpx.c:8434,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8435,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8435,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_fpx.c:8437,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:8438,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:8439,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8440,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8441,1
    - Dst: fp54_exp_cyc
      Src: /src/relic/test/test_fpx.c:8442,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:8443,1
    - Dst: fp54_exp_cyc
      Src: /src/relic/test/test_fpx.c:8444,1
    - Dst: fp54_inv_cyc
      Src: /src/relic/test/test_fpx.c:8445,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8446,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8446,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8449,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:8452,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_fpx.c:8455,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:8456,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_fpx.c:8457,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8458,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8459,1
    - Dst: fp54_exp
      Src: /src/relic/test/test_fpx.c:8460,1
    - Dst: fp54_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:8461,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8462,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8462,1
    - Dst: fp54_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:8464,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8465,1
    - Dst: fp54_cmp_dig
      Src: /src/relic/test/test_fpx.c:8465,1
    - Dst: fp54_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:8467,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8468,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8468,1
    - Dst: fp54_exp_cyc_sps
      Src: /src/relic/test/test_fpx.c:8470,1
    - Dst: fp54_inv
      Src: /src/relic/test/test_fpx.c:8471,1
    - Dst: fp54_sqr_cyc
      Src: /src/relic/test/test_fpx.c:8472,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8473,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8473,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8475
      start: 8301
    functionDepth: 1
    functionLinenumber: 8301
    functionLinenumberEnd: 8475
    functionName: cyclotomic54
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp54_sqr_cyc_basic
    - fp54_null
    - fp54_back_cyc
    - fp54_sqr_pck
    - bn_set_dig
    - fp54_back_cyc_sim
    - fp54_new
    - fp54_cmp_dig
    - fp54_cmp
    - bn_null
    - fp54_sqr_pck_lazyr
    - bn_set_2b
    - fp54_sqr
    - fp54_test_cyc
    - fp54_exp_cyc_sps
    - bn_rand
    - bn_set_bit
    - TEST_CASE
    - fp54_rand
    - fp54_inv_cyc
    - fp54_exp_cyc
    - fp9_zero
    - bn_new
    - bn_neg
    - fp54_exp
    - fp54_sqr_cyc
    - fp54_sqr_pck_basic
    - bn_zero
    - TEST_ASSERT
    - fp54_inv
    - fp54_sqr_cyc_lazyr
    - fp54_conv_cyc
    linkageType: ''
    returnType: int
    signature: int cyclotomic54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8497,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8498,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8499,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8502,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8503,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8504,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8506,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8508,1
    - Dst: fp54_is_zero
      Src: /src/relic/test/test_fpx.c:8509,1
    - Dst: fp54_inv
      Src: /src/relic/test/test_fpx.c:8510,1
    - Dst: fp54_mul
      Src: /src/relic/test/test_fpx.c:8511,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8512,1
    - Dst: fp54_cmp_dig
      Src: /src/relic/test/test_fpx.c:8512,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8515,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8517,1
    - Dst: fp54_is_zero
      Src: /src/relic/test/test_fpx.c:8518,1
    - Dst: fp54_conv_cyc
      Src: /src/relic/test/test_fpx.c:8519,1
    - Dst: fp54_inv
      Src: /src/relic/test/test_fpx.c:8520,1
    - Dst: fp54_inv_cyc
      Src: /src/relic/test/test_fpx.c:8521,1
    - Dst: fp18_print
      Src: /src/relic/test/test_fpx.c:8522,1
    - Dst: fp18_print
      Src: /src/relic/test/test_fpx.c:8523,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8524,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_fpx.c:8524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8526
      start: 8493
    functionDepth: 1
    functionLinenumber: 8493
    functionLinenumberEnd: 8526
    functionName: inversion54
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp18_cmp
    - TEST_CASE
    - fp54_null
    - fp54_mul
    - fp54_rand
    - fp54_inv
    - TEST_ASSERT
    - fp54_inv_cyc
    - fp54_cmp_dig
    - fp18_print
    - fp54_new
    - fp54_is_zero
    - fp54_conv_cyc
    linkageType: ''
    returnType: int
    signature: int inversion54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8544,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8545,1
    - Dst: fp54_null
      Src: /src/relic/test/test_fpx.c:8546,1
    - Dst: bn_null
      Src: /src/relic/test/test_fpx.c:8547,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8550,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8551,1
    - Dst: fp54_new
      Src: /src/relic/test/test_fpx.c:8552,1
    - Dst: bn_new
      Src: /src/relic/test/test_fpx.c:8553,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8555,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8556,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fpx.c:8557,1
    - Dst: fp54_exp
      Src: /src/relic/test/test_fpx.c:8558,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8559,1
    - Dst: fp54_cmp_dig
      Src: /src/relic/test/test_fpx.c:8559,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fpx.c:8560,1
    - Dst: fp54_exp
      Src: /src/relic/test/test_fpx.c:8561,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8562,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8562,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:8563,1
    - Dst: fp54_exp
      Src: /src/relic/test/test_fpx.c:8564,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fpx.c:8565,1
    - Dst: fp54_exp
      Src: /src/relic/test/test_fpx.c:8566,1
    - Dst: fp54_inv
      Src: /src/relic/test/test_fpx.c:8567,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8568,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8568,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fpx.c:8569,1
    - Dst: fp54_exp_dig
      Src: /src/relic/test/test_fpx.c:8570,1
    - Dst: fp54_exp
      Src: /src/relic/test/test_fpx.c:8571,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8572,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8572,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fpx.c:8575,1
    - Dst: fp54_rand
      Src: /src/relic/test/test_fpx.c:8576,1
    - Dst: fp54_frb
      Src: /src/relic/test/test_fpx.c:8577,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8578,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8578,1
    - Dst: fp54_frb
      Src: /src/relic/test/test_fpx.c:8579,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fpx.c:8582,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fpx.c:8582,1
    - Dst: fp54_exp
      Src: /src/relic/test/test_fpx.c:8583,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fpx.c:8584,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_fpx.c:8584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8586
      start: 8539
    functionDepth: 1
    functionLinenumber: 8539
    functionLinenumberEnd: 8586
    functionName: exponentiation54
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 0
    functionsReached:
    - fp54_null
    - bn_set_dig
    - fp54_cmp_dig
    - fp54_new
    - fp54_cmp
    - dv_copy
    - bn_null
    - fp54_exp_dig
    - bn_rand
    - TEST_CASE
    - fp54_rand
    - bn_neg
    - bn_new
    - fp54_exp
    - fp_prime_get
    - bn_zero
    - TEST_ASSERT
    - fp54_inv
    - fp54_frb
    linkageType: ''
    returnType: int
    signature: int exponentiation54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_fpx.c:8601,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8602,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8606,1
    - Dst: pc_param_set_any
      Src: /src/relic/test/test_fpx.c:8609,1
    - Dst: fp_param_set_any_tower
      Src: /src/relic/test/test_fpx.c:8611,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_fpx.c:8612,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8613,1
    - Dst: fp_param_print
      Src: /src/relic/test/test_fpx.c:8618,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/test/test_fpx.c:8621,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:8622,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/test/test_fpx.c:8622,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8623,1
    - Dst: memory2
      Src: /src/relic/test/test_fpx.c:8625,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8626,1
    - Dst: util2
      Src: /src/relic/test/test_fpx.c:8630,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8631,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8635,1
    - Dst: addition2
      Src: /src/relic/test/test_fpx.c:8637,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8638,1
    - Dst: subtraction2
      Src: /src/relic/test/test_fpx.c:8642,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8643,1
    - Dst: doubling2
      Src: /src/relic/test/test_fpx.c:8647,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8648,1
    - Dst: multiplication2
      Src: /src/relic/test/test_fpx.c:8652,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8653,1
    - Dst: squaring2
      Src: /src/relic/test/test_fpx.c:8657,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8658,1
    - Dst: inversion2
      Src: /src/relic/test/test_fpx.c:8662,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8663,1
    - Dst: exponentiation2
      Src: /src/relic/test/test_fpx.c:8667,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8668,1
    - Dst: compression2
      Src: /src/relic/test/test_fpx.c:8674,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8675,1
    - Dst: square_root2
      Src: /src/relic/test/test_fpx.c:8680,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8681,1
    - Dst: digit2
      Src: /src/relic/test/test_fpx.c:8685,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8686,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/test/test_fpx.c:8692,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:8692,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:8693,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/test/test_fpx.c:8693,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8694,1
    - Dst: memory3
      Src: /src/relic/test/test_fpx.c:8696,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8697,1
    - Dst: util3
      Src: /src/relic/test/test_fpx.c:8701,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8702,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8706,1
    - Dst: addition3
      Src: /src/relic/test/test_fpx.c:8708,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8709,1
    - Dst: subtraction3
      Src: /src/relic/test/test_fpx.c:8713,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8714,1
    - Dst: doubling3
      Src: /src/relic/test/test_fpx.c:8718,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8719,1
    - Dst: multiplication3
      Src: /src/relic/test/test_fpx.c:8723,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8724,1
    - Dst: squaring3
      Src: /src/relic/test/test_fpx.c:8728,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8729,1
    - Dst: inversion3
      Src: /src/relic/test/test_fpx.c:8733,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8734,1
    - Dst: exponentiation3
      Src: /src/relic/test/test_fpx.c:8738,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8739,1
    - Dst: square_root3
      Src: /src/relic/test/test_fpx.c:8743,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8744,1
    - Dst: digit3
      Src: /src/relic/test/test_fpx.c:8748,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8749,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/test/test_fpx.c:8755,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:8755,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:8756,1
    - Dst: fp2_field_get_qnr
      Src: /src/relic/test/test_fpx.c:8757,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8758,1
    - Dst: memory4
      Src: /src/relic/test/test_fpx.c:8760,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8761,1
    - Dst: util4
      Src: /src/relic/test/test_fpx.c:8765,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8766,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8770,1
    - Dst: addition4
      Src: /src/relic/test/test_fpx.c:8772,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8773,1
    - Dst: subtraction4
      Src: /src/relic/test/test_fpx.c:8777,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8778,1
    - Dst: doubling4
      Src: /src/relic/test/test_fpx.c:8782,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8783,1
    - Dst: multiplication4
      Src: /src/relic/test/test_fpx.c:8787,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8788,1
    - Dst: squaring4
      Src: /src/relic/test/test_fpx.c:8792,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8793,1
    - Dst: inversion4
      Src: /src/relic/test/test_fpx.c:8797,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8798,1
    - Dst: exponentiation4
      Src: /src/relic/test/test_fpx.c:8802,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8803,1
    - Dst: square_root4
      Src: /src/relic/test/test_fpx.c:8807,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8808,1
    - Dst: digit4
      Src: /src/relic/test/test_fpx.c:8812,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8813,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/test/test_fpx.c:8819,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/test/test_fpx.c:8819,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:8819,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:8820,1
    - Dst: fp2_field_get_qnr
      Src: /src/relic/test/test_fpx.c:8821,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8822,1
    - Dst: memory6
      Src: /src/relic/test/test_fpx.c:8824,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8825,1
    - Dst: util6
      Src: /src/relic/test/test_fpx.c:8829,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8830,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8834,1
    - Dst: addition6
      Src: /src/relic/test/test_fpx.c:8836,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8837,1
    - Dst: subtraction6
      Src: /src/relic/test/test_fpx.c:8841,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8842,1
    - Dst: doubling6
      Src: /src/relic/test/test_fpx.c:8846,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8847,1
    - Dst: multiplication6
      Src: /src/relic/test/test_fpx.c:8851,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8852,1
    - Dst: squaring6
      Src: /src/relic/test/test_fpx.c:8856,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8857,1
    - Dst: inversion6
      Src: /src/relic/test/test_fpx.c:8861,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8862,1
    - Dst: exponentiation6
      Src: /src/relic/test/test_fpx.c:8866,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8867,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/test/test_fpx.c:8872,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:8872,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8873,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8874,1
    - Dst: memory8
      Src: /src/relic/test/test_fpx.c:8876,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8877,1
    - Dst: util8
      Src: /src/relic/test/test_fpx.c:8881,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8882,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8886,1
    - Dst: addition8
      Src: /src/relic/test/test_fpx.c:8888,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8889,1
    - Dst: subtraction8
      Src: /src/relic/test/test_fpx.c:8893,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8894,1
    - Dst: doubling8
      Src: /src/relic/test/test_fpx.c:8898,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8899,1
    - Dst: multiplication8
      Src: /src/relic/test/test_fpx.c:8903,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8904,1
    - Dst: squaring8
      Src: /src/relic/test/test_fpx.c:8908,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8909,1
    - Dst: cyclotomic8
      Src: /src/relic/test/test_fpx.c:8913,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8914,1
    - Dst: inversion8
      Src: /src/relic/test/test_fpx.c:8918,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8919,1
    - Dst: exponentiation8
      Src: /src/relic/test/test_fpx.c:8923,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8924,1
    - Dst: square_root8
      Src: /src/relic/test/test_fpx.c:8928,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8929,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/test/test_fpx.c:8935,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:8935,1
    - Dst: util_print
      Src: /src/relic/test/test_fpx.c:8936,1
    - Dst: fp3_field_get_cnr
      Src: /src/relic/test/test_fpx.c:8937,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8938,1
    - Dst: memory9
      Src: /src/relic/test/test_fpx.c:8940,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8941,1
    - Dst: util9
      Src: /src/relic/test/test_fpx.c:8945,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8946,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8950,1
    - Dst: addition9
      Src: /src/relic/test/test_fpx.c:8952,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8953,1
    - Dst: subtraction9
      Src: /src/relic/test/test_fpx.c:8957,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8958,1
    - Dst: doubling9
      Src: /src/relic/test/test_fpx.c:8962,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8963,1
    - Dst: multiplication9
      Src: /src/relic/test/test_fpx.c:8967,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8968,1
    - Dst: squaring9
      Src: /src/relic/test/test_fpx.c:8972,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8973,1
    - Dst: inversion9
      Src: /src/relic/test/test_fpx.c:8977,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8978,1
    - Dst: exponentiation9
      Src: /src/relic/test/test_fpx.c:8982,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8983,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/test/test_fpx.c:8988,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/test/test_fpx.c:8988,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:8989,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:8989,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8990,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:8991,1
    - Dst: memory12
      Src: /src/relic/test/test_fpx.c:8993,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8994,1
    - Dst: util12
      Src: /src/relic/test/test_fpx.c:8998,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:8999,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9003,1
    - Dst: addition12
      Src: /src/relic/test/test_fpx.c:9005,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9006,1
    - Dst: subtraction12
      Src: /src/relic/test/test_fpx.c:9010,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9011,1
    - Dst: multiplication12
      Src: /src/relic/test/test_fpx.c:9015,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9016,1
    - Dst: squaring12
      Src: /src/relic/test/test_fpx.c:9020,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9021,1
    - Dst: inversion12
      Src: /src/relic/test/test_fpx.c:9025,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9026,1
    - Dst: exponentiation12
      Src: /src/relic/test/test_fpx.c:9030,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9031,1
    - Dst: cyclotomic12
      Src: /src/relic/test/test_fpx.c:9035,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9036,1
    - Dst: compression12
      Src: /src/relic/test/test_fpx.c:9040,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9041,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/test/test_fpx.c:9046,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:9046,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9047,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9048,1
    - Dst: memory16
      Src: /src/relic/test/test_fpx.c:9050,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9051,1
    - Dst: util16
      Src: /src/relic/test/test_fpx.c:9055,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9056,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9060,1
    - Dst: additioAFG16
      Src: /src/relic/test/test_fpx.c:9062,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9063,1
    - Dst: subtractioAFG16
      Src: /src/relic/test/test_fpx.c:9067,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9068,1
    - Dst: doubling16
      Src: /src/relic/test/test_fpx.c:9072,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9073,1
    - Dst: multiplicatioAFG16
      Src: /src/relic/test/test_fpx.c:9077,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9078,1
    - Dst: squaring16
      Src: /src/relic/test/test_fpx.c:9082,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9083,1
    - Dst: cyclotomic16
      Src: /src/relic/test/test_fpx.c:9087,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9088,1
    - Dst: inversioAFG16
      Src: /src/relic/test/test_fpx.c:9092,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9093,1
    - Dst: exponentiatioAFG16
      Src: /src/relic/test/test_fpx.c:9097,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9098,1
    - Dst: square_root16
      Src: /src/relic/test/test_fpx.c:9102,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9103,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/test/test_fpx.c:9108,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:9108,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9109,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9110,1
    - Dst: memory18
      Src: /src/relic/test/test_fpx.c:9112,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9113,1
    - Dst: util18
      Src: /src/relic/test/test_fpx.c:9117,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9118,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9122,1
    - Dst: addition18
      Src: /src/relic/test/test_fpx.c:9124,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9125,1
    - Dst: subtraction18
      Src: /src/relic/test/test_fpx.c:9129,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9130,1
    - Dst: multiplication18
      Src: /src/relic/test/test_fpx.c:9134,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9135,1
    - Dst: squaring18
      Src: /src/relic/test/test_fpx.c:9139,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9140,1
    - Dst: inversion18
      Src: /src/relic/test/test_fpx.c:9144,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9145,1
    - Dst: exponentiation18
      Src: /src/relic/test/test_fpx.c:9149,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9150,1
    - Dst: cyclotomic18
      Src: /src/relic/test/test_fpx.c:9154,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9155,1
    - Dst: compression18
      Src: /src/relic/test/test_fpx.c:9159,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9160,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/test/test_fpx.c:9165,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:9165,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9166,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9167,1
    - Dst: memory24
      Src: /src/relic/test/test_fpx.c:9169,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9170,1
    - Dst: util24
      Src: /src/relic/test/test_fpx.c:9174,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9175,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9179,1
    - Dst: addition24
      Src: /src/relic/test/test_fpx.c:9181,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9182,1
    - Dst: subtraction24
      Src: /src/relic/test/test_fpx.c:9186,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9187,1
    - Dst: multiplication24
      Src: /src/relic/test/test_fpx.c:9191,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9192,1
    - Dst: squaring24
      Src: /src/relic/test/test_fpx.c:9196,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9197,1
    - Dst: inversion24
      Src: /src/relic/test/test_fpx.c:9201,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9202,1
    - Dst: exponentiation24
      Src: /src/relic/test/test_fpx.c:9206,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9207,1
    - Dst: cyclotomic24
      Src: /src/relic/test/test_fpx.c:9211,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9212,1
    - Dst: compression24
      Src: /src/relic/test/test_fpx.c:9216,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9217,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/test/test_fpx.c:9222,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:9222,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9223,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9224,1
    - Dst: memory48
      Src: /src/relic/test/test_fpx.c:9226,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9227,1
    - Dst: util48
      Src: /src/relic/test/test_fpx.c:9231,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9232,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9236,1
    - Dst: addition48
      Src: /src/relic/test/test_fpx.c:9238,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9239,1
    - Dst: subtraction48
      Src: /src/relic/test/test_fpx.c:9243,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9244,1
    - Dst: multiplication48
      Src: /src/relic/test/test_fpx.c:9248,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9249,1
    - Dst: squaring48
      Src: /src/relic/test/test_fpx.c:9253,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9254,1
    - Dst: inversion48
      Src: /src/relic/test/test_fpx.c:9258,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9259,1
    - Dst: exponentiation48
      Src: /src/relic/test/test_fpx.c:9263,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9264,1
    - Dst: cyclotomic48
      Src: /src/relic/test/test_fpx.c:9268,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9269,1
    - Dst: compression48
      Src: /src/relic/test/test_fpx.c:9273,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9274,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/test/test_fpx.c:9279,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_fpx.c:9279,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9280,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9281,1
    - Dst: memory54
      Src: /src/relic/test/test_fpx.c:9283,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9284,1
    - Dst: util54
      Src: /src/relic/test/test_fpx.c:9288,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9289,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9293,1
    - Dst: addition54
      Src: /src/relic/test/test_fpx.c:9295,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9296,1
    - Dst: subtraction54
      Src: /src/relic/test/test_fpx.c:9300,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9301,1
    - Dst: multiplication54
      Src: /src/relic/test/test_fpx.c:9305,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9306,1
    - Dst: squaring54
      Src: /src/relic/test/test_fpx.c:9310,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9311,1
    - Dst: inversion54
      Src: /src/relic/test/test_fpx.c:9315,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9316,1
    - Dst: exponentiation54
      Src: /src/relic/test/test_fpx.c:9320,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9321,1
    - Dst: cyclotomic54
      Src: /src/relic/test/test_fpx.c:9325,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9326,1
    - Dst: compression54
      Src: /src/relic/test/test_fpx.c:9330,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9331,1
    - Dst: util_banner
      Src: /src/relic/test/test_fpx.c:9336,1
    - Dst: core_clean
      Src: /src/relic/test/test_fpx.c:9338,1
    CyclomaticComplexity: 153
    EdgeCount: 153
    ICount: 573
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9340
      start: 8600
    functionDepth: 2
    functionLinenumber: 8600
    functionLinenumberEnd: 9340
    functionName: main
    functionSourceFile: /src/relic/test/test_fpx.c
    functionUses: 97
    functionsReached:
    - memory2
    - util3
    - digit3
    - exponentiation6
    - util54
    - additioAFG16
    - util16
    - cyclotomic18
    - subtraction8
    - memory48
    - squaring54
    - multiplication48
    - memory18
    - exponentiation18
    - util9
    - squaring16
    - inversion24
    - subtraction6
    - multiplication8
    - squaring8
    - squaring6
    - addition9
    - subtraction12
    - ep_curve_embed
    - digit4
    - inversion3
    - compression2
    - memory6
    - squaring18
    - memory12
    - util4
    - square_root8
    - doubling3
    - doubling2
    - doubling16
    - exponentiation24
    - subtraction4
    - subtraction3
    - util_banner
    - util18
    - compression24
    - cyclotomic54
    - squaring48
    - subtraction2
    - addition48
    - exponentiation9
    - memory24
    - RLC_THROW
    - multiplication2
    - inversioAFG16
    - inversion2
    - util8
    - exponentiation3
    - cyclotomic8
    - memory8
    - addition2
    - core_clean
    - cyclotomic48
    - inversion8
    - multiplication3
    - inversion12
    - fp_param_set_any_tower
    - exponentiation2
    - addition8
    - memory54
    - squaring2
    - multiplication18
    - util48
    - addition54
    - addition4
    - multiplication6
    - subtraction9
    - inversion6
    - util2
    - addition12
    - multiplication4
    - util_print
    - compression12
    - cyclotomic16
    - memory16
    - fp2_field_get_qnr
    - exponentiation4
    - subtraction54
    - subtractioAFG16
    - addition3
    - fp_prime_get_qnr
    - subtraction24
    - squaring4
    - compression48
    - fp_prime_get_cnr
    - memory3
    - exponentiatioAFG16
    - subtraction18
    - memory9
    - fp3_field_get_cnr
    - doubling6
    - exponentiation8
    - compression18
    - square_root2
    - multiplicatioAFG16
    - squaring9
    - cyclotomic24
    - exponentiation12
    - squaring12
    - inversion48
    - doubling9
    - multiplication24
    - square_root4
    - multiplication9
    - square_root16
    - exponentiation48
    - util24
    - multiplication12
    - multiplication54
    - cyclotomic12
    - digit2
    - square_root3
    - squaring24
    - util12
    - pc_param_set_any
    - exponentiation54
    - addition24
    - inversion4
    - squaring3
    - addition18
    - addition6
    - doubling4
    - inversion54
    - core_init
    - fp_param_print
    - subtraction48
    - memory4
    - doubling8
    - inversion18
    - util6
    - inversion9
    - compression54
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:43,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:46,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:47,1
    - Dst: fb_free
      Src: /src/relic/test/test_fb.c:48,1
    - Dst: util_print
      Src: /src/relic/test/test_fb.c:53,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fb.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: memory
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 35
    functionsReached:
    - fb_new
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - fb_free
    - fb_null
    linkageType: ''
    returnType: int
    signature: int memory(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:72,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:73,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:76,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:77,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:79,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:80,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:81,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:82,1
    - Dst: fb_copy
      Src: /src/relic/test/test_fb.c:83,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:84,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:84,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:89,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:91,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:92,1
    - Dst: fb_zero
      Src: /src/relic/test/test_fb.c:93,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:94,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:94,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:95,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:95,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:96,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:96,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fb.c:97,1
    - Dst: fb_set_dig
      Src: /src/relic/test/test_fb.c:98,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:99,1
    - Dst: fb_cmp_dig
      Src: /src/relic/test/test_fb.c:99,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:104,1
    - Dst: fb_zero
      Src: /src/relic/test/test_fb.c:105,1
    - Dst: fb_set_bit
      Src: /src/relic/test/test_fb.c:106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:107,1
    - Dst: fb_get_bit
      Src: /src/relic/test/test_fb.c:107,1
    - Dst: fb_set_bit
      Src: /src/relic/test/test_fb.c:108,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:109,1
    - Dst: fb_get_bit
      Src: /src/relic/test/test_fb.c:109,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:115,1
    - Dst: fb_zero
      Src: /src/relic/test/test_fb.c:116,1
    - Dst: fb_set_bit
      Src: /src/relic/test/test_fb.c:117,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:118,1
    - Dst: fb_bits
      Src: /src/relic/test/test_fb.c:118,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:123,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:124,1
    - Dst: fb_size_str
      Src: /src/relic/test/test_fb.c:126,1
    - Dst: fb_write_str
      Src: /src/relic/test/test_fb.c:127,1
    - Dst: fb_read_str
      Src: /src/relic/test/test_fb.c:128,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:129,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:129,1
    - Dst: fb_write_bin
      Src: /src/relic/test/test_fb.c:131,1
    - Dst: fb_read_bin
      Src: /src/relic/test/test_fb.c:132,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:133,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:133,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:137,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:138,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:139,1
    - Dst: fb_size_str
      Src: /src/relic/test/test_fb.c:139,1
    - Dst: fb_bits
      Src: /src/relic/test/test_fb.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 142
    functionName: util
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 2
    functionsReached:
    - fb_is_zero
    - fb_rand
    - fb_set_dig
    - fb_size_str
    - fb_cmp_dig
    - fb_null
    - fb_zero
    - fb_copy
    - fb_write_bin
    - fb_get_bit
    - TEST_CASE
    - fb_set_bit
    - fb_write_str
    - fb_new
    - fb_read_bin
    - TEST_ASSERT
    - fb_bits
    - rand_bytes
    - fb_cmp
    - fb_read_str
    linkageType: ''
    returnType: int
    signature: int util(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:157,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:158,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:159,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:160,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:161,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:164,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:165,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:166,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:167,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:168,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:170,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:171,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:172,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:173,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:174,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:175,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:175,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:178,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:179,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:180,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:181,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:182,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:183,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:184,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:185,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:186,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:186,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:189,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:190,1
    - Dst: fb_zero
      Src: /src/relic/test/test_fb.c:191,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:192,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:193,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:193,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:196,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:197,1
    - Dst: fb_copy
      Src: /src/relic/test/test_fb.c:198,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:199,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:200,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:200,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:203,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:204,1
    - Dst: fb_poly_add
      Src: /src/relic/test/test_fb.c:205,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:206,1
    - Dst: fb_poly_get
      Src: /src/relic/test/test_fb.c:206,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:207,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 209
    functionName: addition
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 2
    functionsReached:
    - fb_is_zero
    - fb_poly_get
    - fb_new
    - TEST_CASE
    - fb_add
    - fb_rand
    - TEST_ASSERT
    - fb_null
    - fb_zero
    - fb_cmp
    - fb_copy
    - fb_poly_add
    linkageType: ''
    returnType: int
    signature: int addition(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:227,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:228,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:229,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:230,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:233,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:234,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:235,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:236,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:238,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:239,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:240,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:241,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:242,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:243,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:243,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:246,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:247,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:248,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:249,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:250,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:251,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:252,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:253,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:254,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:254,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:257,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:258,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:259,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:260,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:261,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:262,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:263,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:264,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:265,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:266,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:266,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:269,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:270,1
    - Dst: fb_zero
      Src: /src/relic/test/test_fb.c:271,1
    - Dst: fb_set_bit
      Src: /src/relic/test/test_fb.c:272,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:273,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:274,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:274,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:277,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:278,1
    - Dst: fb_zero
      Src: /src/relic/test/test_fb.c:279,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:280,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:281,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:281,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:285,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:286,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:287,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:288,1
    - Dst: fb_mul_basic
      Src: /src/relic/test/test_fb.c:289,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:290,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:290,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:296,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:297,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:298,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:299,1
    - Dst: fb_mul_lodah
      Src: /src/relic/test/test_fb.c:300,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:301,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:301,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:307,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:308,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:309,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:310,1
    - Dst: fb_mul_integ
      Src: /src/relic/test/test_fb.c:311,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:312,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:312,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:318,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:319,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:320,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:321,1
    - Dst: fb_mul_karat
      Src: /src/relic/test/test_fb.c:322,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:323,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 327
    functionName: multiplication
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 2
    functionsReached:
    - fb_is_zero
    - fb_mul
    - fb_new
    - TEST_CASE
    - fb_rand
    - fb_add
    - TEST_ASSERT
    - fb_null
    - fb_mul_integ
    - fb_set_bit
    - fb_mul_karat
    - fb_mul_lodah
    - fb_zero
    - fb_cmp
    - fb_mul_basic
    linkageType: ''
    returnType: int
    signature: int multiplication(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:344,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:345,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:346,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:349,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:350,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:351,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:353,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:354,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:355,1
    - Dst: fb_sqr
      Src: /src/relic/test/test_fb.c:356,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:357,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:357,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:361,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:362,1
    - Dst: fb_sqr
      Src: /src/relic/test/test_fb.c:363,1
    - Dst: fb_sqr_basic
      Src: /src/relic/test/test_fb.c:364,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:365,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:365,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:370,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:371,1
    - Dst: fb_sqr
      Src: /src/relic/test/test_fb.c:372,1
    - Dst: fb_sqr_quick
      Src: /src/relic/test/test_fb.c:373,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:374,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:374,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:379,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:380,1
    - Dst: fb_sqr
      Src: /src/relic/test/test_fb.c:381,1
    - Dst: fb_sqr_integ
      Src: /src/relic/test/test_fb.c:382,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:383,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 387
    functionName: squaring
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 0
    functionsReached:
    - fb_mul
    - fb_sqr_basic
    - fb_new
    - TEST_CASE
    - fb_sqr_integ
    - fb_rand
    - fb_sqr
    - TEST_ASSERT
    - fb_null
    - fb_sqr_quick
    - fb_cmp
    linkageType: ''
    returnType: int
    signature: int squaring(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:403,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:404,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:405,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:408,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:409,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:410,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:412,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:413,1
    - Dst: fb_sqr
      Src: /src/relic/test/test_fb.c:414,1
    - Dst: fb_srt
      Src: /src/relic/test/test_fb.c:415,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:416,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:416,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:420,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:421,1
    - Dst: fb_srt
      Src: /src/relic/test/test_fb.c:422,1
    - Dst: fb_srt_basic
      Src: /src/relic/test/test_fb.c:423,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:424,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:424,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:429,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:430,1
    - Dst: fb_srt
      Src: /src/relic/test/test_fb.c:431,1
    - Dst: fb_srt_quick
      Src: /src/relic/test/test_fb.c:432,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:433,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 437
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 437
    functionName: square_root
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 0
    functionsReached:
    - fb_new
    - TEST_CASE
    - fb_rand
    - fb_sqr
    - TEST_ASSERT
    - fb_null
    - fb_srt_basic
    - fb_srt_quick
    - fb_cmp
    - fb_srt
    linkageType: ''
    returnType: int
    signature: int square_root(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:453,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:454,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:455,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:458,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:459,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:460,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:462,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:463,1
    - Dst: fb_lsh
      Src: /src/relic/test/test_fb.c:465,1
    - Dst: fb_rsh
      Src: /src/relic/test/test_fb.c:466,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:467,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:467,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:470,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:471,1
    - Dst: fb_lsh
      Src: /src/relic/test/test_fb.c:473,1
    - Dst: fb_rsh
      Src: /src/relic/test/test_fb.c:474,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:475,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:475,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:478,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:479,1
    - Dst: fb_lsh
      Src: /src/relic/test/test_fb.c:481,1
    - Dst: fb_rsh
      Src: /src/relic/test/test_fb.c:482,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:483,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:483,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:486,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:487,1
    - Dst: fb_lsh
      Src: /src/relic/test/test_fb.c:489,1
    - Dst: fb_rsh
      Src: /src/relic/test/test_fb.c:490,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:491,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:491,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:495,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:496,1
    - Dst: fb_lsh
      Src: /src/relic/test/test_fb.c:499,1
    - Dst: fb_rsh
      Src: /src/relic/test/test_fb.c:500,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:501,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:501,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:504,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:505,1
    - Dst: fb_lsh
      Src: /src/relic/test/test_fb.c:508,1
    - Dst: fb_rsh
      Src: /src/relic/test/test_fb.c:509,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:510,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 513
    functionName: shifting
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 0
    functionsReached:
    - fb_rsh
    - fb_new
    - TEST_CASE
    - fb_rand
    - TEST_ASSERT
    - fb_null
    - fb_lsh
    - fb_cmp
    linkageType: ''
    returnType: int
    signature: int shifting(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:531,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:532,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:533,1
    - Dst: dv_null
      Src: /src/relic/test/test_fb.c:534,1
    - Dst: dv_null
      Src: /src/relic/test/test_fb.c:535,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:538,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:539,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:540,1
    - Dst: dv_new
      Src: /src/relic/test/test_fb.c:541,1
    - Dst: dv_new
      Src: /src/relic/test/test_fb.c:542,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:544,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:547,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:548,1
    - Dst: fb_poly_get
      Src: /src/relic/test/test_fb.c:548,1
    - Dst: fb_copy
      Src: /src/relic/test/test_fb.c:549,1
    - Dst: fb_copy
      Src: /src/relic/test/test_fb.c:550,1
    - Dst: fb_rdc
      Src: /src/relic/test/test_fb.c:551,1
    - Dst: dv_zero
      Src: /src/relic/test/test_fb.c:554,1
    - Dst: fb_lshb_low
      Src: /src/relic/test/test_fb.c:555,1
    - Dst: fb_poly_get
      Src: /src/relic/test/test_fb.c:555,1
    - Dst: fb_rdc
      Src: /src/relic/test/test_fb.c:558,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:560,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:560,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:565,1
    - Dst: dv_zero
      Src: /src/relic/test/test_fb.c:566,1
    - Dst: dv_zero
      Src: /src/relic/test/test_fb.c:567,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:568,1
    - Dst: fb_copy
      Src: /src/relic/test/test_fb.c:569,1
    - Dst: fb_copy
      Src: /src/relic/test/test_fb.c:570,1
    - Dst: fb_rdc
      Src: /src/relic/test/test_fb.c:571,1
    - Dst: fb_rdc_basic
      Src: /src/relic/test/test_fb.c:572,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:573,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:573,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:579,1
    - Dst: dv_zero
      Src: /src/relic/test/test_fb.c:580,1
    - Dst: dv_zero
      Src: /src/relic/test/test_fb.c:581,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:582,1
    - Dst: fb_copy
      Src: /src/relic/test/test_fb.c:583,1
    - Dst: fb_copy
      Src: /src/relic/test/test_fb.c:584,1
    - Dst: fb_rdc
      Src: /src/relic/test/test_fb.c:585,1
    - Dst: fb_rdc_quick
      Src: /src/relic/test/test_fb.c:586,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:587,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 591
    functionName: reduction
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 0
    functionsReached:
    - fb_is_zero
    - fb_poly_get
    - fb_mul
    - dv_zero
    - fb_new
    - TEST_CASE
    - fb_rdc
    - fb_lshb_low
    - fb_rand
    - fb_rdc_quick
    - TEST_ASSERT
    - fb_null
    - fb_rdc_basic
    - dv_new
    - dv_null
    - fb_cmp
    - fb_copy
    linkageType: ''
    returnType: int
    signature: int reduction(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:609,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:610,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:611,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:614,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:615,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:616,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:618,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:619,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:620,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:621,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:622,1
    - Dst: fb_trc
      Src: /src/relic/test/test_fb.c:622,1
    - Dst: fb_trc
      Src: /src/relic/test/test_fb.c:622,1
    - Dst: fb_trc
      Src: /src/relic/test/test_fb.c:622,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:626,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:627,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:628,1
    - Dst: fb_trc
      Src: /src/relic/test/test_fb.c:628,1
    - Dst: fb_trc_basic
      Src: /src/relic/test/test_fb.c:628,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:633,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:634,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:635,1
    - Dst: fb_trc
      Src: /src/relic/test/test_fb.c:635,1
    - Dst: fb_trc_quick
      Src: /src/relic/test/test_fb.c:635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 638
    functionName: trace
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 0
    functionsReached:
    - fb_trc
    - fb_new
    - TEST_CASE
    - fb_add
    - fb_rand
    - TEST_ASSERT
    - fb_null
    - fb_trc_basic
    - fb_trc_quick
    linkageType: ''
    returnType: int
    signature: int trace(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:654,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:655,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:656,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:659,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:660,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:661,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:663,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:664,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:665,1
    - Dst: fb_add_dig
      Src: /src/relic/test/test_fb.c:667,1
    - Dst: fb_trc
      Src: /src/relic/test/test_fb.c:667,1
    - Dst: fb_slv
      Src: /src/relic/test/test_fb.c:668,1
    - Dst: fb_sqr
      Src: /src/relic/test/test_fb.c:670,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:671,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:672,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:672,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:676,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:677,1
    - Dst: fb_add_dig
      Src: /src/relic/test/test_fb.c:679,1
    - Dst: fb_trc
      Src: /src/relic/test/test_fb.c:679,1
    - Dst: fb_slv
      Src: /src/relic/test/test_fb.c:680,1
    - Dst: fb_slv_basic
      Src: /src/relic/test/test_fb.c:681,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:682,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:682,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:687,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:688,1
    - Dst: fb_add_dig
      Src: /src/relic/test/test_fb.c:690,1
    - Dst: fb_trc
      Src: /src/relic/test/test_fb.c:690,1
    - Dst: fb_slv
      Src: /src/relic/test/test_fb.c:691,1
    - Dst: fb_slv_quick
      Src: /src/relic/test/test_fb.c:692,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:693,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 696
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 696
    functionName: solve
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 7
    functionsReached:
    - fb_trc
    - fb_slv_quick
    - fb_new
    - TEST_CASE
    - fb_rand
    - fb_sqr
    - fb_add
    - fb_null
    - TEST_ASSERT
    - fb_slv
    - fb_add_dig
    - fb_slv_basic
    - fb_cmp
    linkageType: ''
    returnType: int
    signature: int solve(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:712,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:713,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:714,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:715,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:716,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:719,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:720,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:721,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:722,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:723,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:725,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:727,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:728,1
    - Dst: fb_inv
      Src: /src/relic/test/test_fb.c:729,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:730,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:731,1
    - Dst: fb_cmp_dig
      Src: /src/relic/test/test_fb.c:731,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:735,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:737,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:738,1
    - Dst: fb_inv
      Src: /src/relic/test/test_fb.c:739,1
    - Dst: fb_inv_basic
      Src: /src/relic/test/test_fb.c:740,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:741,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:741,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:746,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:748,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:749,1
    - Dst: fb_inv
      Src: /src/relic/test/test_fb.c:750,1
    - Dst: fb_inv_binar
      Src: /src/relic/test/test_fb.c:751,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:752,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:752,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:757,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:759,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:760,1
    - Dst: fb_inv
      Src: /src/relic/test/test_fb.c:761,1
    - Dst: fb_inv_almos
      Src: /src/relic/test/test_fb.c:762,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:763,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:763,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:768,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:770,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:771,1
    - Dst: fb_inv
      Src: /src/relic/test/test_fb.c:772,1
    - Dst: fb_inv_exgcd
      Src: /src/relic/test/test_fb.c:773,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:774,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:774,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:779,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:781,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:782,1
    - Dst: fb_inv
      Src: /src/relic/test/test_fb.c:783,1
    - Dst: fb_inv_bruch
      Src: /src/relic/test/test_fb.c:784,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:785,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:785,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:790,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:792,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:793,1
    - Dst: fb_inv
      Src: /src/relic/test/test_fb.c:794,1
    - Dst: fb_inv_itoht
      Src: /src/relic/test/test_fb.c:795,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:796,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:796,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:801,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:803,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:804,1
    - Dst: fb_inv
      Src: /src/relic/test/test_fb.c:805,1
    - Dst: fb_inv_ctaia
      Src: /src/relic/test/test_fb.c:806,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:807,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:807,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:812,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:814,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:815,1
    - Dst: fb_inv
      Src: /src/relic/test/test_fb.c:816,1
    - Dst: fb_inv_lower
      Src: /src/relic/test/test_fb.c:817,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:818,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:818,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:822,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:824,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:825,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:826,1
    - Dst: fb_is_zero
      Src: /src/relic/test/test_fb.c:826,1
    - Dst: fb_copy
      Src: /src/relic/test/test_fb.c:827,1
    - Dst: fb_copy
      Src: /src/relic/test/test_fb.c:828,1
    - Dst: fb_inv
      Src: /src/relic/test/test_fb.c:829,1
    - Dst: fb_inv
      Src: /src/relic/test/test_fb.c:830,1
    - Dst: fb_inv_sim
      Src: /src/relic/test/test_fb.c:831,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:832,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:832,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:833,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 835
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 835
    functionName: inversion
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 0
    functionsReached:
    - fb_is_zero
    - fb_rand
    - fb_inv_binar
    - fb_inv_bruch
    - fb_inv
    - fb_cmp_dig
    - fb_null
    - fb_copy
    - fb_inv_ctaia
    - fb_inv_sim
    - fb_inv_itoht
    - TEST_CASE
    - fb_inv_basic
    - fb_inv_lower
    - fb_inv_almos
    - fb_inv_exgcd
    - fb_mul
    - fb_new
    - TEST_ASSERT
    - fb_cmp
    linkageType: ''
    returnType: int
    signature: int inversion(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:855,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:856,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:857,1
    - Dst: bn_null
      Src: /src/relic/test/test_fb.c:858,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:861,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:862,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:863,1
    - Dst: bn_new
      Src: /src/relic/test/test_fb.c:864,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:866,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:867,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fb.c:868,1
    - Dst: fb_exp
      Src: /src/relic/test/test_fb.c:869,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:870,1
    - Dst: fb_cmp_dig
      Src: /src/relic/test/test_fb.c:870,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fb.c:871,1
    - Dst: fb_exp
      Src: /src/relic/test/test_fb.c:872,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:873,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:873,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fb.c:874,1
    - Dst: fb_exp
      Src: /src/relic/test/test_fb.c:875,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fb.c:876,1
    - Dst: fb_exp
      Src: /src/relic/test/test_fb.c:877,1
    - Dst: fb_inv
      Src: /src/relic/test/test_fb.c:878,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:879,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:879,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_fb.c:880,1
    - Dst: fb_exp
      Src: /src/relic/test/test_fb.c:881,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:882,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:882,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:886,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:887,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fb.c:888,1
    - Dst: fb_exp
      Src: /src/relic/test/test_fb.c:889,1
    - Dst: fb_exp_basic
      Src: /src/relic/test/test_fb.c:890,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:891,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:891,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:896,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:897,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fb.c:898,1
    - Dst: fb_exp
      Src: /src/relic/test/test_fb.c:899,1
    - Dst: fb_exp_slide
      Src: /src/relic/test/test_fb.c:900,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:901,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:901,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:906,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:907,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fb.c:908,1
    - Dst: fb_exp
      Src: /src/relic/test/test_fb.c:909,1
    - Dst: fb_exp_monty
      Src: /src/relic/test/test_fb.c:910,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:911,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:911,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:915,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:916,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fb.c:917,1
    - Dst: fb_itr_pre
      Src: /src/relic/test/test_fb.c:918,1
    - Dst: fb_itr
      Src: /src/relic/test/test_fb.c:919,1
    - Dst: fb_sqr
      Src: /src/relic/test/test_fb.c:921,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:923,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:923,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:926,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:927,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fb.c:928,1
    - Dst: fb_itr_pre
      Src: /src/relic/test/test_fb.c:929,1
    - Dst: fb_itr
      Src: /src/relic/test/test_fb.c:930,1
    - Dst: fb_srt
      Src: /src/relic/test/test_fb.c:932,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:934,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:934,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:938,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:939,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fb.c:940,1
    - Dst: fb_itr_basic
      Src: /src/relic/test/test_fb.c:941,1
    - Dst: fb_sqr
      Src: /src/relic/test/test_fb.c:943,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:945,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:945,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:948,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:949,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fb.c:950,1
    - Dst: fb_itr_basic
      Src: /src/relic/test/test_fb.c:951,1
    - Dst: fb_srt
      Src: /src/relic/test/test_fb.c:953,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:955,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:955,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:960,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:961,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fb.c:962,1
    - Dst: fb_itr_pre_quick
      Src: /src/relic/test/test_fb.c:963,1
    - Dst: fb_itr_quick
      Src: /src/relic/test/test_fb.c:964,1
    - Dst: fb_sqr
      Src: /src/relic/test/test_fb.c:966,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:968,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:968,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:971,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:972,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fb.c:973,1
    - Dst: fb_itr_pre_quick
      Src: /src/relic/test/test_fb.c:974,1
    - Dst: fb_itr_quick
      Src: /src/relic/test/test_fb.c:975,1
    - Dst: fb_srt
      Src: /src/relic/test/test_fb.c:977,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:979,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:979,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 116
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 982
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 982
    functionName: exponentiation
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 3
    functionsReached:
    - fb_rand
    - fb_sqr
    - fb_itr_pre_quick
    - fb_itr_basic
    - fb_inv
    - bn_set_dig
    - fb_exp_basic
    - bn_null
    - fb_exp_slide
    - fb_cmp_dig
    - fb_null
    - bn_set_2b
    - fb_itr
    - bn_rand
    - TEST_CASE
    - fb_itr_pre
    - bn_neg
    - bn_new
    - fb_exp
    - fb_itr_quick
    - fb_new
    - bn_zero
    - TEST_ASSERT
    - fb_cmp
    - fb_exp_monty
    - fb_srt
    linkageType: ''
    returnType: int
    signature: int exponentiation(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:1000,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:1001,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:1002,1
    - Dst: fb_null
      Src: /src/relic/test/test_fb.c:1003,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:1006,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:1007,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:1008,1
    - Dst: fb_new
      Src: /src/relic/test/test_fb.c:1009,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:1011,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:1012,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:1013,1
    - Dst: fb_add
      Src: /src/relic/test/test_fb.c:1017,1
    - Dst: fb_add_dig
      Src: /src/relic/test/test_fb.c:1018,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:1019,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:1019,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fb.c:1022,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:1023,1
    - Dst: fb_rand
      Src: /src/relic/test/test_fb.c:1024,1
    - Dst: fb_mul
      Src: /src/relic/test/test_fb.c:1029,1
    - Dst: fb_mul_dig
      Src: /src/relic/test/test_fb.c:1030,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fb.c:1031,1
    - Dst: fb_cmp
      Src: /src/relic/test/test_fb.c:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1033
    functionName: digit
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 2
    functionsReached:
    - fb_mul
    - fb_new
    - TEST_CASE
    - fb_add
    - fb_rand
    - TEST_ASSERT
    - fb_null
    - fb_mul_dig
    - fb_add_dig
    - fb_cmp
    linkageType: ''
    returnType: int
    signature: int digit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_fb.c:1047,1
    - Dst: core_clean
      Src: /src/relic/test/test_fb.c:1048,1
    - Dst: util_banner
      Src: /src/relic/test/test_fb.c:1052,1
    - Dst: fb_param_set_any
      Src: /src/relic/test/test_fb.c:1055,1
    - Dst: fb_param_print
      Src: /src/relic/test/test_fb.c:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1057
    functionName: main
    functionSourceFile: /src/relic/test/test_fb.c
    functionUses: 97
    functionsReached:
    - util_banner
    - core_clean
    - core_init
    - fb_param_print
    - fb_param_set_any
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:42,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:45,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:46,1
    - Dst: ep2_free
      Src: /src/relic/test/test_epx.c:47,1
    - Dst: util_print
      Src: /src/relic/test/test_epx.c:52,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_epx.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: memory2
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep2_free
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - ep2_null
    - ep2_new
    linkageType: ''
    returnType: int
    signature: int memory2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:68,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:69,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:70,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:73,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:74,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:75,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:77,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:78,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:79,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:80,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:82,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_epx.c:83,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:84,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:84,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:86,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_epx.c:87,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:88,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:88,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_epx.c:91,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:92,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_epx.c:93,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:94,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:94,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:95,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:95,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_epx.c:97,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_epx.c:98,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:99,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:99,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:100,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:100,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:104,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:105,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:107,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:107,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:108,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:109,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:109,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:110,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:111,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_epx.c:112,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:113,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:113,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:117,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:118,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_epx.c:119,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:120,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:120,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:121,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:121,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:125,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_epx.c:126,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:127,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:127,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:131,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_epx.c:132,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:133,1
    - Dst: ep2_on_curve
      Src: /src/relic/test/test_epx.c:133,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:134,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:135,1
    - Dst: ep2_on_curve
      Src: /src/relic/test/test_epx.c:135,1
    - Dst: fp2_rand
      Src: /src/relic/test/test_epx.c:136,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:137,1
    - Dst: ep2_on_curve
      Src: /src/relic/test/test_epx.c:137,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:141,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:142,1
    - Dst: ep2_blind
      Src: /src/relic/test/test_epx.c:143,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:144,1
    - Dst: ep2_on_curve
      Src: /src/relic/test/test_epx.c:144,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:147,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_epx.c:149,1
    - Dst: ep2_size_bin
      Src: /src/relic/test/test_epx.c:150,1
    - Dst: ep2_write_bin
      Src: /src/relic/test/test_epx.c:151,1
    - Dst: ep2_read_bin
      Src: /src/relic/test/test_epx.c:152,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:153,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:153,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:154,1
    - Dst: ep2_size_bin
      Src: /src/relic/test/test_epx.c:155,1
    - Dst: ep2_write_bin
      Src: /src/relic/test/test_epx.c:156,1
    - Dst: ep2_read_bin
      Src: /src/relic/test/test_epx.c:157,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:158,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:158,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:159,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_epx.c:160,1
    - Dst: ep2_size_bin
      Src: /src/relic/test/test_epx.c:161,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:162,1
    - Dst: ep2_write_bin
      Src: /src/relic/test/test_epx.c:163,1
    - Dst: ep2_read_bin
      Src: /src/relic/test/test_epx.c:164,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:165,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 169
    functionName: util2
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep2_blind
    - ep2_read_bin
    - ep2_set_infty
    - ep2_null
    - ep2_cmp
    - ep2_rand
    - ep2_neg
    - ep2_on_curve
    - ep2_new
    - TEST_CASE
    - ep2_copy
    - ep2_size_bin
    - fp2_rand
    - ep2_add
    - ep2_norm
    - ep2_is_infty
    - TEST_ASSERT
    - ep2_dbl
    - ep2_write_bin
    linkageType: ''
    returnType: int
    signature: int util2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:186,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:187,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:188,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:189,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:190,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:193,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:194,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:195,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:196,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:197,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:199,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:200,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:201,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:202,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:203,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:204,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:204,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:207,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:208,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:209,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:210,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:211,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:212,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:213,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:214,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:215,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:215,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:218,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:219,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_epx.c:220,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:221,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:222,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:222,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:223,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:224,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:224,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:227,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:228,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:229,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:230,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:231,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:231,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:235,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:236,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:237,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:238,1
    - Dst: ep2_add_basic
      Src: /src/relic/test/test_epx.c:239,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:240,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:240,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:246,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:247,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:248,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:249,1
    - Dst: ep2_add_projc
      Src: /src/relic/test/test_epx.c:250,1
    - Dst: ep2_add_projc
      Src: /src/relic/test/test_epx.c:251,1
    - Dst: ep2_add_projc
      Src: /src/relic/test/test_epx.c:253,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:255,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:256,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:257,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:258,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:258,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:262,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:263,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:264,1
    - Dst: ep2_add_projc
      Src: /src/relic/test/test_epx.c:266,1
    - Dst: ep2_add_projc
      Src: /src/relic/test/test_epx.c:267,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:269,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:270,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:271,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:271,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:274,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:275,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:276,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:278,1
    - Dst: ep2_add_projc
      Src: /src/relic/test/test_epx.c:279,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:280,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:280,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:286,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:287,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:288,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:289,1
    - Dst: ep2_add_jacob
      Src: /src/relic/test/test_epx.c:290,1
    - Dst: ep2_add_jacob
      Src: /src/relic/test/test_epx.c:291,1
    - Dst: ep2_add_jacob
      Src: /src/relic/test/test_epx.c:293,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:294,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:295,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:296,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:297,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:297,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:301,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:302,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:303,1
    - Dst: ep2_add_jacob
      Src: /src/relic/test/test_epx.c:305,1
    - Dst: ep2_add_jacob
      Src: /src/relic/test/test_epx.c:306,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:308,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:309,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:310,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:310,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:313,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:314,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:315,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:316,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:317,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:319,1
    - Dst: ep2_add_jacob
      Src: /src/relic/test/test_epx.c:320,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:321,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 118
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 324
    functionName: addition2
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep2_add
    - TEST_CASE
    - ep2_norm
    - ep2_is_infty
    - TEST_ASSERT
    - ep2_add_jacob
    - ep2_neg
    - ep2_set_infty
    - ep2_null
    - ep2_cmp
    - ep2_add_projc
    - ep2_rand
    - ep2_add_basic
    - ep2_new
    linkageType: ''
    returnType: int
    signature: int addition2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:342,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:343,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:344,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:345,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:348,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:349,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:350,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:351,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:353,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:354,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:355,1
    - Dst: ep2_sub
      Src: /src/relic/test/test_epx.c:356,1
    - Dst: ep2_sub
      Src: /src/relic/test/test_epx.c:357,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:358,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:359,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:359,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:363,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:364,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_epx.c:365,1
    - Dst: ep2_sub
      Src: /src/relic/test/test_epx.c:366,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:367,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:367,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:371,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:372,1
    - Dst: ep2_sub
      Src: /src/relic/test/test_epx.c:373,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:374,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 377
    functionName: subtraction2
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - TEST_CASE
    - ep2_is_infty
    - TEST_ASSERT
    - ep2_neg
    - ep2_rand
    - ep2_set_infty
    - ep2_null
    - ep2_cmp
    - ep2_sub
    - ep2_new
    linkageType: ''
    returnType: int
    signature: int subtraction2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:394,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:395,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:396,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:399,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:400,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:401,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:403,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:404,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:405,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_epx.c:406,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:407,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:407,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:411,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:412,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_epx.c:413,1
    - Dst: ep2_dbl_basic
      Src: /src/relic/test/test_epx.c:414,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:415,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:415,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:420,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:421,1
    - Dst: ep2_dbl_projc
      Src: /src/relic/test/test_epx.c:423,1
    - Dst: ep2_dbl_projc
      Src: /src/relic/test/test_epx.c:424,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:425,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_epx.c:426,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:427,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:427,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:430,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:431,1
    - Dst: ep2_dbl_projc
      Src: /src/relic/test/test_epx.c:432,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:433,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_epx.c:434,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:435,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:435,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:440,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:441,1
    - Dst: ep2_dbl_jacob
      Src: /src/relic/test/test_epx.c:443,1
    - Dst: ep2_dbl_jacob
      Src: /src/relic/test/test_epx.c:444,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:445,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_epx.c:446,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:447,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:447,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:450,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:451,1
    - Dst: ep2_dbl_jacob
      Src: /src/relic/test/test_epx.c:452,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_epx.c:453,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_epx.c:454,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:455,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 458
    functionName: doubling2
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep2_add
    - TEST_CASE
    - ep2_dbl_basic
    - ep2_dbl_projc
    - ep2_norm
    - TEST_ASSERT
    - ep2_dbl_jacob
    - ep2_dbl
    - ep2_null
    - ep2_cmp
    - ep2_rand
    - ep2_new
    linkageType: ''
    returnType: int
    signature: int doubling2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:475,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:476,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:477,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:478,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:479,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:482,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:483,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:484,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:485,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:486,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_epx.c:488,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/test/test_epx.c:489,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_epx.c:491,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:492,1
    - Dst: ep2_on_curve
      Src: /src/relic/test/test_epx.c:492,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:493,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:494,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:494,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:497,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:498,1
    - Dst: ep2_mul_gen
      Src: /src/relic/test/test_epx.c:499,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:500,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:500,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:501,1
    - Dst: ep2_mul_gen
      Src: /src/relic/test/test_epx.c:502,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:503,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:503,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:504,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:505,1
    - Dst: ep2_mul_gen
      Src: /src/relic/test/test_epx.c:506,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:507,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:507,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:508,1
    - Dst: ep2_mul_gen
      Src: /src/relic/test/test_epx.c:509,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:510,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:511,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:511,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:512,1
    - Dst: ep2_mul_gen
      Src: /src/relic/test/test_epx.c:513,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:514,1
    - Dst: ep2_mul_gen
      Src: /src/relic/test/test_epx.c:515,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:516,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:516,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:520,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:521,1
    - Dst: ep2_mul_basic
      Src: /src/relic/test/test_epx.c:522,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:523,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:523,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:524,1
    - Dst: ep2_mul_basic
      Src: /src/relic/test/test_epx.c:525,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:526,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:526,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:527,1
    - Dst: ep2_mul_basic
      Src: /src/relic/test/test_epx.c:528,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:529,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:529,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:530,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:531,1
    - Dst: ep2_mul_basic
      Src: /src/relic/test/test_epx.c:532,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:533,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:533,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:534,1
    - Dst: ep2_mul_basic
      Src: /src/relic/test/test_epx.c:535,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:536,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:537,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:537,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:538,1
    - Dst: ep2_mul_basic
      Src: /src/relic/test/test_epx.c:539,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:540,1
    - Dst: ep2_mul_basic
      Src: /src/relic/test/test_epx.c:541,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:542,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:542,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:547,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:548,1
    - Dst: ep2_mul_slide
      Src: /src/relic/test/test_epx.c:549,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:550,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:550,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:551,1
    - Dst: ep2_mul_slide
      Src: /src/relic/test/test_epx.c:552,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:553,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:553,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:554,1
    - Dst: ep2_mul_slide
      Src: /src/relic/test/test_epx.c:555,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:556,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:556,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:557,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:558,1
    - Dst: ep2_mul_slide
      Src: /src/relic/test/test_epx.c:559,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:560,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:560,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:561,1
    - Dst: ep2_mul_slide
      Src: /src/relic/test/test_epx.c:562,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:563,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:564,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:564,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:565,1
    - Dst: ep2_mul_slide
      Src: /src/relic/test/test_epx.c:566,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:567,1
    - Dst: ep2_mul_slide
      Src: /src/relic/test/test_epx.c:568,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:569,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:569,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:575,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:576,1
    - Dst: ep2_mul_monty
      Src: /src/relic/test/test_epx.c:577,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:578,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:578,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:579,1
    - Dst: ep2_mul_monty
      Src: /src/relic/test/test_epx.c:580,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:581,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:581,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:582,1
    - Dst: ep2_mul_monty
      Src: /src/relic/test/test_epx.c:583,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:584,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:584,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:585,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:586,1
    - Dst: ep2_mul_monty
      Src: /src/relic/test/test_epx.c:587,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:588,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:588,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:589,1
    - Dst: ep2_mul_monty
      Src: /src/relic/test/test_epx.c:590,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:591,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:592,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:592,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:593,1
    - Dst: ep2_mul_monty
      Src: /src/relic/test/test_epx.c:594,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:595,1
    - Dst: ep2_mul_monty
      Src: /src/relic/test/test_epx.c:596,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:597,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:597,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:603,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:604,1
    - Dst: ep2_mul_lwnaf
      Src: /src/relic/test/test_epx.c:605,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:606,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:606,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:607,1
    - Dst: ep2_mul_lwnaf
      Src: /src/relic/test/test_epx.c:608,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:609,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:609,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:610,1
    - Dst: ep2_mul_lwnaf
      Src: /src/relic/test/test_epx.c:611,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:612,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:612,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:613,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:614,1
    - Dst: ep2_mul_lwnaf
      Src: /src/relic/test/test_epx.c:615,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:616,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:616,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:617,1
    - Dst: ep2_mul_lwnaf
      Src: /src/relic/test/test_epx.c:618,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:619,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:620,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:620,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:621,1
    - Dst: ep2_mul_lwnaf
      Src: /src/relic/test/test_epx.c:622,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:623,1
    - Dst: ep2_mul_lwnaf
      Src: /src/relic/test/test_epx.c:624,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:625,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:625,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:631,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:632,1
    - Dst: ep2_mul_lwreg
      Src: /src/relic/test/test_epx.c:633,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:634,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:634,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:635,1
    - Dst: ep2_mul_lwreg
      Src: /src/relic/test/test_epx.c:636,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:637,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:637,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:638,1
    - Dst: ep2_mul_lwreg
      Src: /src/relic/test/test_epx.c:639,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:640,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:640,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:641,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:642,1
    - Dst: ep2_mul_lwreg
      Src: /src/relic/test/test_epx.c:643,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:644,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:644,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:645,1
    - Dst: ep2_mul_lwreg
      Src: /src/relic/test/test_epx.c:646,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:647,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:648,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:648,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:649,1
    - Dst: ep2_mul_lwreg
      Src: /src/relic/test/test_epx.c:650,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:651,1
    - Dst: ep2_mul_lwreg
      Src: /src/relic/test/test_epx.c:652,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:653,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:653,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:658,1
    - Dst: ep2_mul_dig
      Src: /src/relic/test/test_epx.c:659,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:660,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:660,1
    - Dst: ep2_mul_dig
      Src: /src/relic/test/test_epx.c:661,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:662,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:662,1
    - Dst: bn_rand
      Src: /src/relic/test/test_epx.c:663,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:664,1
    - Dst: ep2_mul_dig
      Src: /src/relic/test/test_epx.c:665,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:666,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 177
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 669
    functionName: multiplication2
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep2_mul_lwreg
    - ep2_mul
    - bn_set_dig
    - ep2_null
    - ep2_cmp
    - ep2_rand
    - ep2_mul_gen
    - TEST_ONCE
    - bn_null
    - ep2_mul_dig
    - ep2_neg
    - ep2_on_curve
    - ep2_new
    - bn_rand
    - ep2_curve_get_ord
    - TEST_CASE
    - ep2_curve_get_gen
    - bn_rand_mod
    - ep2_mul_lwnaf
    - bn_neg
    - bn_new
    - bn_add
    - bn_zero
    - ep2_mul_monty
    - ep2_is_infty
    - TEST_ASSERT
    - ep2_mul_basic
    - ep2_mul_slide
    linkageType: ''
    returnType: int
    signature: int multiplication2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:689,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:690,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:691,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:692,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:693,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:696,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:700,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:701,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:702,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:703,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:704,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_epx.c:706,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/test/test_epx.c:707,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:710,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:712,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:713,1
    - Dst: ep2_mul_pre
      Src: /src/relic/test/test_epx.c:714,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:715,1
    - Dst: ep2_mul_fix
      Src: /src/relic/test/test_epx.c:716,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:717,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:717,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:718,1
    - Dst: ep2_mul_fix
      Src: /src/relic/test/test_epx.c:719,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:720,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:720,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:721,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:722,1
    - Dst: ep2_mul_fix
      Src: /src/relic/test/test_epx.c:723,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:724,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:725,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:725,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:726,1
    - Dst: ep2_mul_fix
      Src: /src/relic/test/test_epx.c:727,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:728,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:729,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:729,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:730,1
    - Dst: ep2_mul_fix
      Src: /src/relic/test/test_epx.c:731,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:732,1
    - Dst: ep2_mul_fix
      Src: /src/relic/test/test_epx.c:733,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:734,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:734,1
    - Dst: ep2_free
      Src: /src/relic/test/test_epx.c:737,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:742,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:744,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:745,1
    - Dst: ep2_mul_pre_basic
      Src: /src/relic/test/test_epx.c:746,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:747,1
    - Dst: ep2_mul_fix_basic
      Src: /src/relic/test/test_epx.c:748,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:749,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:749,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:750,1
    - Dst: ep2_mul_fix_basic
      Src: /src/relic/test/test_epx.c:751,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:752,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:752,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:753,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:754,1
    - Dst: ep2_mul_fix_basic
      Src: /src/relic/test/test_epx.c:755,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:756,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:756,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:757,1
    - Dst: ep2_mul_fix_basic
      Src: /src/relic/test/test_epx.c:758,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:759,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:760,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:760,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:761,1
    - Dst: ep2_mul_fix_basic
      Src: /src/relic/test/test_epx.c:762,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:763,1
    - Dst: ep2_mul_fix_basic
      Src: /src/relic/test/test_epx.c:764,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:765,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:765,1
    - Dst: ep2_free
      Src: /src/relic/test/test_epx.c:768,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:774,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:776,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:777,1
    - Dst: ep2_mul_pre_combs
      Src: /src/relic/test/test_epx.c:778,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:779,1
    - Dst: ep2_mul_fix_combs
      Src: /src/relic/test/test_epx.c:780,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:781,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:781,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:782,1
    - Dst: ep2_mul_fix_combs
      Src: /src/relic/test/test_epx.c:783,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:784,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:784,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:785,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:786,1
    - Dst: ep2_mul_fix_combs
      Src: /src/relic/test/test_epx.c:787,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:788,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:788,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:789,1
    - Dst: ep2_mul_fix_combs
      Src: /src/relic/test/test_epx.c:790,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:791,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:792,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:792,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:793,1
    - Dst: ep2_mul_fix_combs
      Src: /src/relic/test/test_epx.c:794,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:795,1
    - Dst: ep2_mul_fix_combs
      Src: /src/relic/test/test_epx.c:796,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:797,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:797,1
    - Dst: ep2_free
      Src: /src/relic/test/test_epx.c:800,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:806,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:808,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:809,1
    - Dst: ep2_mul_pre_combd
      Src: /src/relic/test/test_epx.c:810,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:811,1
    - Dst: ep2_mul_fix_combd
      Src: /src/relic/test/test_epx.c:812,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:813,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:813,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:814,1
    - Dst: ep2_mul_fix_combd
      Src: /src/relic/test/test_epx.c:815,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:816,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:816,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:817,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:818,1
    - Dst: ep2_mul_fix_combd
      Src: /src/relic/test/test_epx.c:819,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:820,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:820,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:821,1
    - Dst: ep2_mul_fix_combd
      Src: /src/relic/test/test_epx.c:822,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:823,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:824,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:824,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:825,1
    - Dst: ep2_mul_fix_combd
      Src: /src/relic/test/test_epx.c:826,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:827,1
    - Dst: ep2_mul_fix_combd
      Src: /src/relic/test/test_epx.c:828,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:829,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:829,1
    - Dst: ep2_free
      Src: /src/relic/test/test_epx.c:832,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:838,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:840,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:841,1
    - Dst: ep2_mul_pre_lwnaf
      Src: /src/relic/test/test_epx.c:842,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:843,1
    - Dst: ep2_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:844,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:845,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:845,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:846,1
    - Dst: ep2_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:847,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:848,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:848,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:849,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:850,1
    - Dst: ep2_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:851,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:852,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:852,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:853,1
    - Dst: ep2_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:854,1
    - Dst: ep2_neg
      Src: /src/relic/test/test_epx.c:855,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:856,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:856,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:857,1
    - Dst: ep2_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:858,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:859,1
    - Dst: ep2_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:860,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:861,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:861,1
    - Dst: ep2_free
      Src: /src/relic/test/test_epx.c:864,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 167
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 867
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 867
    functionName: fixed2
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep2_free
    - ep2_mul_fix_combd
    - bn_set_dig
    - ep2_mul
    - ep2_null
    - ep2_cmp
    - ep2_rand
    - bn_null
    - ep2_mul_pre_combs
    - ep2_neg
    - ep2_new
    - ep2_curve_get_ord
    - TEST_CASE
    - ep2_curve_get_gen
    - ep2_mul_fix_combs
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ep2_mul_pre_basic
    - ep2_mul_pre
    - bn_add
    - bn_zero
    - ep2_mul_fix
    - ep2_is_infty
    - TEST_ASSERT
    - ep2_mul_pre_combd
    - ep2_mul_pre_lwnaf
    - ep2_mul_fix_lwnaf
    - ep2_mul_fix_basic
    linkageType: ''
    returnType: int
    signature: int fixed2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:887,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:888,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:890,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:891,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:893,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:894,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:895,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:896,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_epx.c:899,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/test/test_epx.c:900,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:902,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:903,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:904,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:905,1
    - Dst: ep2_mul_sim
      Src: /src/relic/test/test_epx.c:906,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:907,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:907,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:908,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:909,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:910,1
    - Dst: ep2_mul_sim
      Src: /src/relic/test/test_epx.c:911,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:912,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:912,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:913,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:914,1
    - Dst: ep2_mul_sim
      Src: /src/relic/test/test_epx.c:915,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:916,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:917,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:918,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:919,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:919,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:920,1
    - Dst: ep2_mul_sim
      Src: /src/relic/test/test_epx.c:921,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:922,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:923,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:924,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:925,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:925,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:926,1
    - Dst: ep2_mul_sim
      Src: /src/relic/test/test_epx.c:927,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:928,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:929,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:930,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:931,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:931,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:932,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:933,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:934,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:935,1
    - Dst: ep2_mul_sim
      Src: /src/relic/test/test_epx.c:936,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:937,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:938,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:939,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:940,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:940,1
    - Dst: ep2_mul_sim
      Src: /src/relic/test/test_epx.c:941,1
    - Dst: ep2_mul_sim_lot
      Src: /src/relic/test/test_epx.c:942,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:943,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:943,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:947,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:948,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:949,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:950,1
    - Dst: ep2_mul_sim_basic
      Src: /src/relic/test/test_epx.c:951,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:952,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:952,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:953,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:954,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:955,1
    - Dst: ep2_mul_sim_basic
      Src: /src/relic/test/test_epx.c:956,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:957,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:957,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:958,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:959,1
    - Dst: ep2_mul_sim_basic
      Src: /src/relic/test/test_epx.c:960,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:961,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:962,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:963,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:964,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:964,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:965,1
    - Dst: ep2_mul_sim_basic
      Src: /src/relic/test/test_epx.c:966,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:967,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:968,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:969,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:970,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:970,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:971,1
    - Dst: ep2_mul_sim_basic
      Src: /src/relic/test/test_epx.c:972,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:973,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:974,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:975,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:976,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:976,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:981,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:982,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:983,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:984,1
    - Dst: ep2_mul_sim_trick
      Src: /src/relic/test/test_epx.c:985,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:986,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:986,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:987,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:988,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:989,1
    - Dst: ep2_mul_sim_trick
      Src: /src/relic/test/test_epx.c:990,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:991,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:991,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:992,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:993,1
    - Dst: ep2_mul_sim_trick
      Src: /src/relic/test/test_epx.c:994,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:995,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:996,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:997,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:998,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:998,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:999,1
    - Dst: ep2_mul_sim_trick
      Src: /src/relic/test/test_epx.c:1000,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1001,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1002,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:1003,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1004,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1004,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1005,1
    - Dst: ep2_mul_sim_trick
      Src: /src/relic/test/test_epx.c:1006,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1007,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1008,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:1009,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1010,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1010,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1015,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1016,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1017,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1018,1
    - Dst: ep2_mul_sim_inter
      Src: /src/relic/test/test_epx.c:1019,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1020,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1020,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1021,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1022,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1023,1
    - Dst: ep2_mul_sim_inter
      Src: /src/relic/test/test_epx.c:1024,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1025,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1025,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1026,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1027,1
    - Dst: ep2_mul_sim_inter
      Src: /src/relic/test/test_epx.c:1028,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1029,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1030,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:1031,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1032,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1032,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1033,1
    - Dst: ep2_mul_sim_inter
      Src: /src/relic/test/test_epx.c:1034,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1035,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1036,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:1037,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1038,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1038,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1039,1
    - Dst: ep2_mul_sim_inter
      Src: /src/relic/test/test_epx.c:1040,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1041,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1042,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:1043,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1044,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1044,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1049,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1050,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1051,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1052,1
    - Dst: ep2_mul_sim_joint
      Src: /src/relic/test/test_epx.c:1053,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1054,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1054,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1055,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1056,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1057,1
    - Dst: ep2_mul_sim_joint
      Src: /src/relic/test/test_epx.c:1058,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1059,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1059,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1060,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1061,1
    - Dst: ep2_mul_sim_joint
      Src: /src/relic/test/test_epx.c:1062,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1063,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1064,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:1065,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1066,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1066,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1067,1
    - Dst: ep2_mul_sim_joint
      Src: /src/relic/test/test_epx.c:1068,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1069,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1070,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:1071,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1072,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1072,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1073,1
    - Dst: ep2_mul_sim_joint
      Src: /src/relic/test/test_epx.c:1074,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1075,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1076,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:1077,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1078,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1078,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1082,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1083,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1084,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1085,1
    - Dst: ep2_mul_sim_gen
      Src: /src/relic/test/test_epx.c:1086,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1087,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1087,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1088,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1089,1
    - Dst: ep2_mul_gen
      Src: /src/relic/test/test_epx.c:1090,1
    - Dst: ep2_mul_sim_gen
      Src: /src/relic/test/test_epx.c:1091,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1092,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1092,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1093,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1094,1
    - Dst: ep2_mul_sim_gen
      Src: /src/relic/test/test_epx.c:1095,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_epx.c:1096,1
    - Dst: ep2_mul_sim
      Src: /src/relic/test/test_epx.c:1097,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1098,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1098,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1099,1
    - Dst: ep2_mul_sim_gen
      Src: /src/relic/test/test_epx.c:1100,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_epx.c:1101,1
    - Dst: ep2_mul_sim
      Src: /src/relic/test/test_epx.c:1102,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1103,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1103,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1104,1
    - Dst: ep2_mul_sim_gen
      Src: /src/relic/test/test_epx.c:1105,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_epx.c:1106,1
    - Dst: ep2_mul_sim
      Src: /src/relic/test/test_epx.c:1107,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1108,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1108,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1111,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_epx.c:1112,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1114,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:1115,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1116,1
    - Dst: ep2_add
      Src: /src/relic/test/test_epx.c:1117,1
    - Dst: ep2_mul_sim_lot
      Src: /src/relic/test/test_epx.c:1118,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1119,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1119,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1121,1
    - Dst: ep2_sub
      Src: /src/relic/test/test_epx.c:1122,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1123,1
    - Dst: ep2_mul_sim_lot
      Src: /src/relic/test/test_epx.c:1124,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1125,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1125,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1126,1
    - Dst: ep2_sub
      Src: /src/relic/test/test_epx.c:1127,1
    - Dst: ep2_sub
      Src: /src/relic/test/test_epx.c:1128,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1129,1
    - Dst: ep2_mul_sim_lot
      Src: /src/relic/test/test_epx.c:1130,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1131,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1131,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:1132,1
    - Dst: ep2_mul_sim_lot
      Src: /src/relic/test/test_epx.c:1133,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1134,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 240
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 1136
    functionName: simultaneous2
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep2_mul
    - ep2_mul_sim_lot
    - ep2_null
    - ep2_cmp
    - ep2_set_infty
    - ep2_mul_sim_gen
    - ep2_rand
    - ep2_mul_gen
    - bn_null
    - ep2_mul_sim_trick
    - ep2_mul_sim
    - ep2_mul_sim_inter
    - ep2_mul_sim_joint
    - ep2_new
    - ep2_curve_get_ord
    - TEST_CASE
    - ep2_curve_get_gen
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ep2_sub
    - ep2_mul_sim_basic
    - bn_add
    - ep2_add
    - bn_zero
    - TEST_ASSERT
    linkageType: ''
    returnType: int
    signature: int simultaneous2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:1156,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:1157,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:1158,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:1161,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:1162,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:1163,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1165,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:1166,1
    - Dst: ep2_pck
      Src: /src/relic/test/test_epx.c:1167,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1168,1
    - Dst: ep2_upk
      Src: /src/relic/test/test_epx.c:1168,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1169,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1172
    functionName: compression2
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep2_upk
    - TEST_CASE
    - ep2_pck
    - TEST_ASSERT
    - ep2_null
    - ep2_cmp
    - ep2_rand
    - ep2_new
    linkageType: ''
    returnType: int
    signature: int compression2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:1190,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:1191,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:1194,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:1195,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/test/test_epx.c:1197,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1199,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_epx.c:1200,1
    - Dst: ep2_map
      Src: /src/relic/test/test_epx.c:1201,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1202,1
    - Dst: ep2_on_curve
      Src: /src/relic/test/test_epx.c:1202,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1203,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1204,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:1204,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1209,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_epx.c:1210,1
    - Dst: ep2_map_basic
      Src: /src/relic/test/test_epx.c:1211,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1212,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:1212,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1213,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1214,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:1214,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1220,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_epx.c:1221,1
    - Dst: ep2_map_sswum
      Src: /src/relic/test/test_epx.c:1222,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1223,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:1223,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1224,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1225,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:1225,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/test/test_epx.c:1230,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1232,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_epx.c:1233,1
    - Dst: ep2_map_swift
      Src: /src/relic/test/test_epx.c:1234,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1235,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:1235,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_epx.c:1236,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1237,1
    - Dst: ep2_is_infty
      Src: /src/relic/test/test_epx.c:1237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1242
    functionName: hashing2
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep2_curve_get_ord
    - ep2_map_sswum
    - bn_null
    - TEST_CASE
    - ep2_is_infty
    - TEST_ASSERT
    - ep2_map_swift
    - ep2_on_curve
    - bn_new
    - ep2_map_basic
    - ep2_mul
    - ep2_map
    - rand_bytes
    - ep2_null
    - ep_curve_is_pairf
    - ep2_new
    linkageType: ''
    returnType: int
    signature: int hashing2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:1259,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:1260,1
    - Dst: ep2_null
      Src: /src/relic/test/test_epx.c:1261,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:1262,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:1263,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:1266,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:1267,1
    - Dst: ep2_new
      Src: /src/relic/test/test_epx.c:1268,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:1269,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:1270,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/test/test_epx.c:1272,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1274,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_epx.c:1275,1
    - Dst: ep2_frb
      Src: /src/relic/test/test_epx.c:1276,1
    - Dst: dv_copy
      Src: /src/relic/test/test_epx.c:1278,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_epx.c:1278,1
    - Dst: bn_mod
      Src: /src/relic/test/test_epx.c:1279,1
    - Dst: ep2_mul_basic
      Src: /src/relic/test/test_epx.c:1280,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1281,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_epx.c:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1283
    functionName: frobenius2
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep2_curve_get_ord
    - dv_copy
    - bn_null
    - TEST_CASE
    - ep2_frb
    - bn_mod
    - TEST_ASSERT
    - bn_new
    - ep2_mul_basic
    - fp_prime_get
    - ep2_null
    - ep2_cmp
    - ep2_rand
    - ep2_new
    linkageType: ''
    returnType: int
    signature: int frobenius2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1303,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1306,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1307,1
    - Dst: ep3_free
      Src: /src/relic/test/test_epx.c:1308,1
    - Dst: util_print
      Src: /src/relic/test/test_epx.c:1313,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_epx.c:1314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1322
    functionName: memory3
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep3_null
    - util_print
    - ep3_new
    - TEST_CASE
    - RLC_ERROR
    - ep3_free
    linkageType: ''
    returnType: int
    signature: int memory3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1329,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1330,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1331,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1334,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1335,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1336,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1338,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1339,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1340,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1341,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1343,1
    - Dst: ep3_copy
      Src: /src/relic/test/test_epx.c:1344,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1345,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1345,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1347,1
    - Dst: ep3_copy
      Src: /src/relic/test/test_epx.c:1348,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1349,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1349,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_epx.c:1352,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1353,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_epx.c:1354,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1355,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1355,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1356,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1356,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_epx.c:1358,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_epx.c:1359,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1360,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1360,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1361,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1361,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1365,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1366,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1367,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1368,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1368,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1369,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1370,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1370,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1371,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1372,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_epx.c:1373,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1374,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1374,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1378,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1379,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_epx.c:1380,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1381,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1381,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1382,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1382,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1386,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_epx.c:1387,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1388,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1388,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1392,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_epx.c:1393,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1394,1
    - Dst: ep3_on_curve
      Src: /src/relic/test/test_epx.c:1394,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1395,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1396,1
    - Dst: ep3_on_curve
      Src: /src/relic/test/test_epx.c:1396,1
    - Dst: fp3_rand
      Src: /src/relic/test/test_epx.c:1397,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1398,1
    - Dst: ep3_on_curve
      Src: /src/relic/test/test_epx.c:1398,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1402,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1403,1
    - Dst: ep3_blind
      Src: /src/relic/test/test_epx.c:1404,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1405,1
    - Dst: ep3_on_curve
      Src: /src/relic/test/test_epx.c:1405,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1408,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_epx.c:1409,1
    - Dst: ep3_size_bin
      Src: /src/relic/test/test_epx.c:1410,1
    - Dst: ep3_write_bin
      Src: /src/relic/test/test_epx.c:1411,1
    - Dst: ep3_read_bin
      Src: /src/relic/test/test_epx.c:1412,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1413,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1413,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1414,1
    - Dst: ep3_size_bin
      Src: /src/relic/test/test_epx.c:1415,1
    - Dst: ep3_write_bin
      Src: /src/relic/test/test_epx.c:1416,1
    - Dst: ep3_read_bin
      Src: /src/relic/test/test_epx.c:1417,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1418,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1418,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1419,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_epx.c:1420,1
    - Dst: ep3_size_bin
      Src: /src/relic/test/test_epx.c:1421,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1422,1
    - Dst: ep3_write_bin
      Src: /src/relic/test/test_epx.c:1423,1
    - Dst: ep3_read_bin
      Src: /src/relic/test/test_epx.c:1424,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1425,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1428
    functionName: util3
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep3_null
    - ep3_dbl
    - ep3_on_curve
    - ep3_neg
    - ep3_set_infty
    - ep3_new
    - ep3_read_bin
    - ep3_size_bin
    - ep3_copy
    - ep3_is_infty
    - TEST_CASE
    - ep3_add
    - ep3_cmp
    - ep3_norm
    - ep3_write_bin
    - TEST_ASSERT
    - ep3_blind
    - fp3_rand
    - ep3_rand
    linkageType: ''
    returnType: int
    signature: int util3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1445,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1446,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1447,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1448,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1449,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1452,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1453,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1454,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1455,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1456,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1458,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1459,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1460,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1461,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1462,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1463,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1463,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1466,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1467,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1468,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1469,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1470,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1471,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1472,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1473,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1474,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1474,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1477,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1478,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_epx.c:1479,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1480,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1481,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1481,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1482,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1483,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1483,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1486,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1487,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1488,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1489,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1490,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1490,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1494,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1495,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1496,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1497,1
    - Dst: ep3_add_basic
      Src: /src/relic/test/test_epx.c:1498,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1499,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1499,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1505,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1506,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1507,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1508,1
    - Dst: ep3_add_projc
      Src: /src/relic/test/test_epx.c:1509,1
    - Dst: ep3_add_projc
      Src: /src/relic/test/test_epx.c:1510,1
    - Dst: ep3_add_projc
      Src: /src/relic/test/test_epx.c:1512,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1514,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1515,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1516,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1517,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1517,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1521,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1522,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1523,1
    - Dst: ep3_add_projc
      Src: /src/relic/test/test_epx.c:1525,1
    - Dst: ep3_add_projc
      Src: /src/relic/test/test_epx.c:1526,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1528,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1529,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1530,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1530,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1533,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1534,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1535,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1537,1
    - Dst: ep3_add_projc
      Src: /src/relic/test/test_epx.c:1538,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1539,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1539,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1545,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1546,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1547,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1548,1
    - Dst: ep3_add_jacob
      Src: /src/relic/test/test_epx.c:1549,1
    - Dst: ep3_add_jacob
      Src: /src/relic/test/test_epx.c:1550,1
    - Dst: ep3_add_jacob
      Src: /src/relic/test/test_epx.c:1552,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1553,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1554,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1555,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1556,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1556,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1560,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1561,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1562,1
    - Dst: ep3_add_jacob
      Src: /src/relic/test/test_epx.c:1564,1
    - Dst: ep3_add_jacob
      Src: /src/relic/test/test_epx.c:1565,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1567,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1568,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1569,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1569,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1572,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1573,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1574,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1575,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1576,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1578,1
    - Dst: ep3_add_jacob
      Src: /src/relic/test/test_epx.c:1579,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1580,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 118
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1583
    functionName: addition3
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep3_null
    - ep3_set_infty
    - ep3_is_infty
    - ep3_add_basic
    - TEST_CASE
    - ep3_new
    - ep3_add_projc
    - TEST_ASSERT
    - ep3_add
    - ep3_cmp
    - ep3_norm
    - ep3_neg
    - ep3_rand
    - ep3_add_jacob
    linkageType: ''
    returnType: int
    signature: int addition3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1601,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1602,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1603,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1604,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1607,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1608,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1609,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1610,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1612,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1613,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1614,1
    - Dst: ep3_sub
      Src: /src/relic/test/test_epx.c:1615,1
    - Dst: ep3_sub
      Src: /src/relic/test/test_epx.c:1616,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1617,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1618,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1618,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1622,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1623,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_epx.c:1624,1
    - Dst: ep3_sub
      Src: /src/relic/test/test_epx.c:1625,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1626,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1626,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1630,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1631,1
    - Dst: ep3_sub
      Src: /src/relic/test/test_epx.c:1632,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1633,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1597
    functionDepth: 1
    functionLinenumber: 1597
    functionLinenumberEnd: 1636
    functionName: subtraction3
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep3_null
    - ep3_set_infty
    - ep3_is_infty
    - TEST_CASE
    - ep3_new
    - ep3_sub
    - TEST_ASSERT
    - ep3_cmp
    - ep3_neg
    - ep3_rand
    linkageType: ''
    returnType: int
    signature: int subtraction3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1653,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1654,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1655,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1658,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1659,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1660,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1662,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1663,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:1664,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_epx.c:1665,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1666,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1666,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1670,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1671,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_epx.c:1672,1
    - Dst: ep3_dbl_basic
      Src: /src/relic/test/test_epx.c:1673,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1674,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1674,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1679,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1680,1
    - Dst: ep3_dbl_projc
      Src: /src/relic/test/test_epx.c:1682,1
    - Dst: ep3_dbl_projc
      Src: /src/relic/test/test_epx.c:1683,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1684,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_epx.c:1685,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1686,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1686,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1689,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1690,1
    - Dst: ep3_dbl_projc
      Src: /src/relic/test/test_epx.c:1691,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1692,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_epx.c:1693,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1694,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1694,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1699,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1700,1
    - Dst: ep3_dbl_jacob
      Src: /src/relic/test/test_epx.c:1702,1
    - Dst: ep3_dbl_jacob
      Src: /src/relic/test/test_epx.c:1703,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1704,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_epx.c:1705,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1706,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1706,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1709,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1710,1
    - Dst: ep3_dbl_jacob
      Src: /src/relic/test/test_epx.c:1711,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_epx.c:1712,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_epx.c:1713,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1714,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1717
    functionName: doubling3
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep3_null
    - ep3_dbl_basic
    - ep3_dbl
    - ep3_dbl_jacob
    - TEST_CASE
    - ep3_new
    - TEST_ASSERT
    - ep3_add
    - ep3_cmp
    - ep3_dbl_projc
    - ep3_norm
    - ep3_rand
    linkageType: ''
    returnType: int
    signature: int doubling3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:1734,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:1735,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1736,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1737,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1738,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:1741,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:1742,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1743,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1744,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1745,1
    - Dst: ep3_curve_get_gen
      Src: /src/relic/test/test_epx.c:1747,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/test/test_epx.c:1748,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_epx.c:1750,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1751,1
    - Dst: ep3_on_curve
      Src: /src/relic/test/test_epx.c:1751,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1752,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1753,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1753,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1756,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1757,1
    - Dst: ep3_mul_gen
      Src: /src/relic/test/test_epx.c:1758,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1759,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1759,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:1760,1
    - Dst: ep3_mul_gen
      Src: /src/relic/test/test_epx.c:1761,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1762,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1762,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1763,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1764,1
    - Dst: ep3_mul_gen
      Src: /src/relic/test/test_epx.c:1765,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1766,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1766,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1767,1
    - Dst: ep3_mul_gen
      Src: /src/relic/test/test_epx.c:1768,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1769,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1770,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1770,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1771,1
    - Dst: ep3_mul_gen
      Src: /src/relic/test/test_epx.c:1772,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:1773,1
    - Dst: ep3_mul_gen
      Src: /src/relic/test/test_epx.c:1774,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1775,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1775,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1779,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1780,1
    - Dst: ep3_mul_basic
      Src: /src/relic/test/test_epx.c:1781,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1782,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1782,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:1783,1
    - Dst: ep3_mul_basic
      Src: /src/relic/test/test_epx.c:1784,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1785,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1785,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1786,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1787,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1788,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1788,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1789,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1790,1
    - Dst: ep3_mul_basic
      Src: /src/relic/test/test_epx.c:1791,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1792,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1792,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1793,1
    - Dst: ep3_mul_basic
      Src: /src/relic/test/test_epx.c:1794,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1795,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1796,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1796,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1801,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1802,1
    - Dst: ep3_mul_slide
      Src: /src/relic/test/test_epx.c:1803,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1804,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1804,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:1805,1
    - Dst: ep3_mul_slide
      Src: /src/relic/test/test_epx.c:1806,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1807,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1807,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1808,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1809,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1810,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1810,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1811,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1812,1
    - Dst: ep3_mul_slide
      Src: /src/relic/test/test_epx.c:1813,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1814,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1814,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1815,1
    - Dst: ep3_mul_slide
      Src: /src/relic/test/test_epx.c:1816,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1817,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1818,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1818,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1824,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1825,1
    - Dst: ep3_mul_monty
      Src: /src/relic/test/test_epx.c:1826,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1827,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1827,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:1828,1
    - Dst: ep3_mul_monty
      Src: /src/relic/test/test_epx.c:1829,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1830,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1830,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1831,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1832,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1833,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1833,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1834,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1835,1
    - Dst: ep3_mul_monty
      Src: /src/relic/test/test_epx.c:1836,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1837,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1837,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1838,1
    - Dst: ep3_mul_monty
      Src: /src/relic/test/test_epx.c:1839,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1840,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1841,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1841,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1847,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1848,1
    - Dst: ep3_mul_lwnaf
      Src: /src/relic/test/test_epx.c:1849,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1850,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1850,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:1851,1
    - Dst: ep3_mul_lwnaf
      Src: /src/relic/test/test_epx.c:1852,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1853,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1853,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1854,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1855,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1856,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1856,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1857,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1858,1
    - Dst: ep3_mul_lwnaf
      Src: /src/relic/test/test_epx.c:1859,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1860,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1860,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1861,1
    - Dst: ep3_mul_lwnaf
      Src: /src/relic/test/test_epx.c:1862,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1863,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1864,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1864,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1870,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1871,1
    - Dst: ep3_mul_lwreg
      Src: /src/relic/test/test_epx.c:1872,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1873,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1873,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:1874,1
    - Dst: ep3_mul_lwreg
      Src: /src/relic/test/test_epx.c:1875,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1876,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1876,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1877,1
    - Dst: ep3_mul_lwreg
      Src: /src/relic/test/test_epx.c:1878,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1879,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1879,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1880,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1881,1
    - Dst: ep3_mul_lwreg
      Src: /src/relic/test/test_epx.c:1882,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1883,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1883,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1884,1
    - Dst: ep3_mul_lwreg
      Src: /src/relic/test/test_epx.c:1885,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1886,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1887,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1887,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1888,1
    - Dst: ep3_mul_lwreg
      Src: /src/relic/test/test_epx.c:1889,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:1890,1
    - Dst: ep3_mul_lwreg
      Src: /src/relic/test/test_epx.c:1891,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1892,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1892,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1897,1
    - Dst: ep3_mul_dig
      Src: /src/relic/test/test_epx.c:1898,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1899,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1899,1
    - Dst: ep3_mul_dig
      Src: /src/relic/test/test_epx.c:1900,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1901,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1901,1
    - Dst: bn_rand
      Src: /src/relic/test/test_epx.c:1902,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1903,1
    - Dst: ep3_mul_dig
      Src: /src/relic/test/test_epx.c:1904,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1905,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1729
    functionDepth: 1
    functionLinenumber: 1729
    functionLinenumberEnd: 1908
    functionName: multiplication3
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep3_null
    - ep3_mul_monty
    - ep3_on_curve
    - bn_set_dig
    - ep3_neg
    - TEST_ONCE
    - ep3_mul_gen
    - bn_null
    - ep3_new
    - bn_rand
    - ep3_is_infty
    - TEST_CASE
    - ep3_curve_get_ord
    - ep3_mul_basic
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ep3_cmp
    - bn_add
    - ep3_mul_lwreg
    - ep3_curve_get_gen
    - bn_zero
    - ep3_mul_slide
    - ep3_mul_dig
    - TEST_ASSERT
    - ep3_mul_lwnaf
    - ep3_mul
    - ep3_rand
    linkageType: ''
    returnType: int
    signature: int multiplication3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:1928,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:1929,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1930,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1931,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1932,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:1935,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:1939,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:1940,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1941,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1942,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1943,1
    - Dst: ep3_curve_get_gen
      Src: /src/relic/test/test_epx.c:1945,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/test/test_epx.c:1946,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1949,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1951,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1952,1
    - Dst: ep3_mul_pre
      Src: /src/relic/test/test_epx.c:1953,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1954,1
    - Dst: ep3_mul_fix
      Src: /src/relic/test/test_epx.c:1955,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1956,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1956,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:1957,1
    - Dst: ep3_mul_fix
      Src: /src/relic/test/test_epx.c:1958,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1959,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1959,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1960,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1961,1
    - Dst: ep3_mul_fix
      Src: /src/relic/test/test_epx.c:1962,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1963,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1964,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1964,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1965,1
    - Dst: ep3_mul_fix
      Src: /src/relic/test/test_epx.c:1966,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1967,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1968,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1968,1
    - Dst: ep3_free
      Src: /src/relic/test/test_epx.c:1971,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:1976,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:1978,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:1979,1
    - Dst: ep3_mul_pre_basic
      Src: /src/relic/test/test_epx.c:1980,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:1981,1
    - Dst: ep3_mul_fix_basic
      Src: /src/relic/test/test_epx.c:1982,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1983,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:1983,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:1984,1
    - Dst: ep3_mul_fix_basic
      Src: /src/relic/test/test_epx.c:1985,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1986,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1986,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:1987,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:1988,1
    - Dst: ep3_mul_fix_basic
      Src: /src/relic/test/test_epx.c:1989,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1990,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1990,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:1991,1
    - Dst: ep3_mul_fix_basic
      Src: /src/relic/test/test_epx.c:1992,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:1993,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:1994,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:1994,1
    - Dst: ep3_free
      Src: /src/relic/test/test_epx.c:1997,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:2003,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2005,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:2006,1
    - Dst: ep3_mul_pre_combs
      Src: /src/relic/test/test_epx.c:2007,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2008,1
    - Dst: ep3_mul_fix_combs
      Src: /src/relic/test/test_epx.c:2009,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2010,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:2010,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:2011,1
    - Dst: ep3_mul_fix_combs
      Src: /src/relic/test/test_epx.c:2012,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2013,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2013,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2014,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2015,1
    - Dst: ep3_mul_fix_combs
      Src: /src/relic/test/test_epx.c:2016,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2017,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2017,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2018,1
    - Dst: ep3_mul_fix_combs
      Src: /src/relic/test/test_epx.c:2019,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:2020,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2021,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2021,1
    - Dst: ep3_free
      Src: /src/relic/test/test_epx.c:2024,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:2030,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2032,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:2033,1
    - Dst: ep3_mul_pre_combd
      Src: /src/relic/test/test_epx.c:2034,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2035,1
    - Dst: ep3_mul_fix_combd
      Src: /src/relic/test/test_epx.c:2036,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2037,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:2037,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:2038,1
    - Dst: ep3_mul_fix_combd
      Src: /src/relic/test/test_epx.c:2039,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2040,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2040,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2041,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2042,1
    - Dst: ep3_mul_fix_combd
      Src: /src/relic/test/test_epx.c:2043,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2044,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2044,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2045,1
    - Dst: ep3_mul_fix_combd
      Src: /src/relic/test/test_epx.c:2046,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:2047,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2048,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2048,1
    - Dst: ep3_free
      Src: /src/relic/test/test_epx.c:2051,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:2057,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2059,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:2060,1
    - Dst: ep3_mul_pre_lwnaf
      Src: /src/relic/test/test_epx.c:2061,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2062,1
    - Dst: ep3_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:2063,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2064,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:2064,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:2065,1
    - Dst: ep3_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:2066,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2067,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2067,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2068,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2069,1
    - Dst: ep3_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:2070,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2071,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2071,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2072,1
    - Dst: ep3_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:2073,1
    - Dst: ep3_neg
      Src: /src/relic/test/test_epx.c:2074,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2075,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2075,1
    - Dst: ep3_free
      Src: /src/relic/test/test_epx.c:2078,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 142
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 1923
    functionDepth: 1
    functionLinenumber: 1923
    functionLinenumberEnd: 2081
    functionName: fixed3
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - bn_set_dig
    - ep3_free
    - ep3_neg
    - ep3_mul_pre
    - ep3_mul_fix_combd
    - bn_null
    - ep3_new
    - ep3_mul_fix_basic
    - ep3_mul_pre_basic
    - ep3_mul_pre_combd
    - ep3_mul_pre_combs
    - ep3_is_infty
    - TEST_CASE
    - ep3_curve_get_ord
    - ep3_mul_pre_lwnaf
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ep3_cmp
    - ep3_mul_fix_lwnaf
    - ep3_curve_get_gen
    - bn_zero
    - ep3_mul_fix
    - ep3_mul_fix_combs
    - TEST_ASSERT
    - ep3_mul
    - ep3_rand
    linkageType: ''
    returnType: int
    signature: int fixed3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:2101,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:2102,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:2103,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:2104,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:2105,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:2106,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:2109,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:2110,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:2111,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:2112,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:2113,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:2114,1
    - Dst: ep3_curve_get_gen
      Src: /src/relic/test/test_epx.c:2116,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/test/test_epx.c:2117,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2119,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2120,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2121,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2122,1
    - Dst: ep3_mul_sim
      Src: /src/relic/test/test_epx.c:2123,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2124,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2124,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2125,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2126,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2127,1
    - Dst: ep3_mul_sim
      Src: /src/relic/test/test_epx.c:2128,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2129,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2129,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2130,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2131,1
    - Dst: ep3_mul_sim
      Src: /src/relic/test/test_epx.c:2132,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2133,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2134,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2135,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2136,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2136,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2137,1
    - Dst: ep3_mul_sim
      Src: /src/relic/test/test_epx.c:2138,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2139,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2140,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2141,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2142,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2142,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2143,1
    - Dst: ep3_mul_sim
      Src: /src/relic/test/test_epx.c:2144,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2145,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2146,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2147,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2148,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2148,1
    - Dst: ep3_mul_sim
      Src: /src/relic/test/test_epx.c:2149,1
    - Dst: ep3_mul_sim_lot
      Src: /src/relic/test/test_epx.c:2150,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2151,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2151,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2155,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2156,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2157,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2158,1
    - Dst: ep3_mul_sim_basic
      Src: /src/relic/test/test_epx.c:2159,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2160,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2160,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2161,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2162,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2163,1
    - Dst: ep3_mul_sim_basic
      Src: /src/relic/test/test_epx.c:2164,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2165,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2165,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2166,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2167,1
    - Dst: ep3_mul_sim_basic
      Src: /src/relic/test/test_epx.c:2168,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2169,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2170,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2171,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2172,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2172,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2173,1
    - Dst: ep3_mul_sim_basic
      Src: /src/relic/test/test_epx.c:2174,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2175,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2176,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2177,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2178,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2178,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2179,1
    - Dst: ep3_mul_sim_basic
      Src: /src/relic/test/test_epx.c:2180,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2181,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2182,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2183,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2184,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2184,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2189,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2190,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2191,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2192,1
    - Dst: ep3_mul_sim_trick
      Src: /src/relic/test/test_epx.c:2193,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2194,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2194,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2195,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2196,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2197,1
    - Dst: ep3_mul_sim_trick
      Src: /src/relic/test/test_epx.c:2198,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2199,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2199,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2200,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2201,1
    - Dst: ep3_mul_sim_trick
      Src: /src/relic/test/test_epx.c:2202,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2203,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2204,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2205,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2206,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2206,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2207,1
    - Dst: ep3_mul_sim_trick
      Src: /src/relic/test/test_epx.c:2208,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2209,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2210,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2211,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2212,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2212,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2213,1
    - Dst: ep3_mul_sim_trick
      Src: /src/relic/test/test_epx.c:2214,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2215,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2216,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2217,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2218,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2218,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2223,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2224,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2225,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2226,1
    - Dst: ep3_mul_sim_inter
      Src: /src/relic/test/test_epx.c:2227,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2228,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2228,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2229,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2230,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2231,1
    - Dst: ep3_mul_sim_inter
      Src: /src/relic/test/test_epx.c:2232,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2233,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2233,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2234,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2235,1
    - Dst: ep3_mul_sim_inter
      Src: /src/relic/test/test_epx.c:2236,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2237,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2238,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2239,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2240,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2240,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2241,1
    - Dst: ep3_mul_sim_inter
      Src: /src/relic/test/test_epx.c:2242,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2243,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2244,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2245,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2246,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2246,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2247,1
    - Dst: ep3_mul_sim_inter
      Src: /src/relic/test/test_epx.c:2248,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2249,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2250,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2251,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2252,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2252,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2257,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2258,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2259,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2260,1
    - Dst: ep3_mul_sim_joint
      Src: /src/relic/test/test_epx.c:2261,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2262,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2262,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2263,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2264,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2265,1
    - Dst: ep3_mul_sim_joint
      Src: /src/relic/test/test_epx.c:2266,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2267,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2267,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2268,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2269,1
    - Dst: ep3_mul_sim_joint
      Src: /src/relic/test/test_epx.c:2270,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2271,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2272,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2273,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2274,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2274,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2275,1
    - Dst: ep3_mul_sim_joint
      Src: /src/relic/test/test_epx.c:2276,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2277,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2278,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2279,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2280,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2280,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2281,1
    - Dst: ep3_mul_sim_joint
      Src: /src/relic/test/test_epx.c:2282,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2283,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2284,1
    - Dst: ep3_add
      Src: /src/relic/test/test_epx.c:2285,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2286,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2286,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2290,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2291,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2292,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2293,1
    - Dst: ep3_mul_sim_gen
      Src: /src/relic/test/test_epx.c:2294,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2295,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2295,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2296,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2297,1
    - Dst: ep3_mul_gen
      Src: /src/relic/test/test_epx.c:2298,1
    - Dst: ep3_mul_sim_gen
      Src: /src/relic/test/test_epx.c:2299,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2300,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2300,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2301,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2302,1
    - Dst: ep3_mul_sim_gen
      Src: /src/relic/test/test_epx.c:2303,1
    - Dst: ep3_curve_get_gen
      Src: /src/relic/test/test_epx.c:2304,1
    - Dst: ep3_mul_sim
      Src: /src/relic/test/test_epx.c:2305,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2306,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2306,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2307,1
    - Dst: ep3_mul_sim_gen
      Src: /src/relic/test/test_epx.c:2308,1
    - Dst: ep3_curve_get_gen
      Src: /src/relic/test/test_epx.c:2309,1
    - Dst: ep3_mul_sim
      Src: /src/relic/test/test_epx.c:2310,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2311,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2311,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2312,1
    - Dst: ep3_mul_sim_gen
      Src: /src/relic/test/test_epx.c:2313,1
    - Dst: ep3_curve_get_gen
      Src: /src/relic/test/test_epx.c:2314,1
    - Dst: ep3_mul_sim
      Src: /src/relic/test/test_epx.c:2315,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2316,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 207
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2096
    functionDepth: 1
    functionLinenumber: 2096
    functionLinenumberEnd: 2318
    functionName: simultaneous3
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - ep3_mul_sim_gen
    - ep3_mul_gen
    - bn_null
    - ep3_new
    - ep3_mul_sim_trick
    - ep3_mul_sim_lot
    - ep3_mul_sim
    - ep3_mul_sim_joint
    - TEST_CASE
    - ep3_curve_get_ord
    - bn_rand_mod
    - ep3_add
    - bn_neg
    - bn_new
    - ep3_cmp
    - ep3_mul_sim_inter
    - ep3_curve_get_gen
    - bn_zero
    - TEST_ASSERT
    - ep3_mul_sim_basic
    - ep3_mul
    linkageType: ''
    returnType: int
    signature: int simultaneous3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:2340,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:2341,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:2344,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:2345,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/test/test_epx.c:2347,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2349,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_epx.c:2350,1
    - Dst: ep3_map
      Src: /src/relic/test/test_epx.c:2351,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2352,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:2352,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_epx.c:2353,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2354,1
    - Dst: ep3_is_infty
      Src: /src/relic/test/test_epx.c:2354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2334
    functionDepth: 1
    functionLinenumber: 2334
    functionLinenumberEnd: 2357
    functionName: hashing3
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - bn_null
    - ep3_is_infty
    - ep3_new
    - TEST_CASE
    - ep3_curve_get_ord
    - TEST_ASSERT
    - ep3_map
    - bn_new
    - rand_bytes
    - ep3_mul
    linkageType: ''
    returnType: int
    signature: int hashing3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:2374,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:2375,1
    - Dst: ep3_null
      Src: /src/relic/test/test_epx.c:2376,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:2377,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:2378,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:2381,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:2382,1
    - Dst: ep3_new
      Src: /src/relic/test/test_epx.c:2383,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:2384,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:2385,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/test/test_epx.c:2387,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2389,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_epx.c:2390,1
    - Dst: ep3_frb
      Src: /src/relic/test/test_epx.c:2391,1
    - Dst: dv_copy
      Src: /src/relic/test/test_epx.c:2393,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_epx.c:2393,1
    - Dst: bn_mod
      Src: /src/relic/test/test_epx.c:2394,1
    - Dst: ep3_mul_basic
      Src: /src/relic/test/test_epx.c:2395,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2396,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_epx.c:2396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2369
    functionDepth: 1
    functionLinenumber: 2369
    functionLinenumberEnd: 2398
    functionName: frobenius3
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - dv_copy
    - bn_null
    - ep3_new
    - TEST_CASE
    - bn_mod
    - ep3_curve_get_ord
    - ep3_mul_basic
    - TEST_ASSERT
    - bn_new
    - ep3_cmp
    - ep3_frb
    - fp_prime_get
    - ep3_rand
    linkageType: ''
    returnType: int
    signature: int frobenius3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2418,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2421,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2422,1
    - Dst: ep4_free
      Src: /src/relic/test/test_epx.c:2423,1
    - Dst: util_print
      Src: /src/relic/test/test_epx.c:2428,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_epx.c:2429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2413
    functionDepth: 1
    functionLinenumber: 2413
    functionLinenumberEnd: 2437
    functionName: memory4
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep4_new
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - ep4_free
    - ep4_null
    linkageType: ''
    returnType: int
    signature: int memory4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2444,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2445,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2446,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2449,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2450,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2451,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2453,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2454,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2455,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2456,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2458,1
    - Dst: ep4_copy
      Src: /src/relic/test/test_epx.c:2459,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2460,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2460,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2462,1
    - Dst: ep4_copy
      Src: /src/relic/test/test_epx.c:2463,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2464,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2464,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_epx.c:2467,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2468,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_epx.c:2469,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2470,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2470,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2471,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2471,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_epx.c:2473,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_epx.c:2474,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2475,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2475,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2476,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2476,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2480,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2481,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:2482,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2483,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2483,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:2484,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2485,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2485,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:2486,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2487,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_epx.c:2488,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2489,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2489,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2493,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2494,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_epx.c:2495,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2496,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2496,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2497,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2497,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2501,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_epx.c:2502,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2503,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2503,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2507,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_epx.c:2508,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2509,1
    - Dst: ep4_on_curve
      Src: /src/relic/test/test_epx.c:2509,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2510,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2511,1
    - Dst: ep4_on_curve
      Src: /src/relic/test/test_epx.c:2511,1
    - Dst: fp4_rand
      Src: /src/relic/test/test_epx.c:2512,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2513,1
    - Dst: ep4_on_curve
      Src: /src/relic/test/test_epx.c:2513,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2517,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2518,1
    - Dst: ep4_blind
      Src: /src/relic/test/test_epx.c:2519,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2520,1
    - Dst: ep4_on_curve
      Src: /src/relic/test/test_epx.c:2520,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2523,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_epx.c:2525,1
    - Dst: ep4_size_bin
      Src: /src/relic/test/test_epx.c:2526,1
    - Dst: ep4_write_bin
      Src: /src/relic/test/test_epx.c:2527,1
    - Dst: ep4_read_bin
      Src: /src/relic/test/test_epx.c:2528,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2529,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2529,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2530,1
    - Dst: ep4_size_bin
      Src: /src/relic/test/test_epx.c:2531,1
    - Dst: ep4_write_bin
      Src: /src/relic/test/test_epx.c:2532,1
    - Dst: ep4_read_bin
      Src: /src/relic/test/test_epx.c:2533,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2534,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2534,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2535,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_epx.c:2536,1
    - Dst: ep4_size_bin
      Src: /src/relic/test/test_epx.c:2537,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2538,1
    - Dst: ep4_write_bin
      Src: /src/relic/test/test_epx.c:2539,1
    - Dst: ep4_read_bin
      Src: /src/relic/test/test_epx.c:2540,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2541,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2439
    functionDepth: 1
    functionLinenumber: 2439
    functionLinenumberEnd: 2545
    functionName: util4
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep4_dbl
    - ep4_on_curve
    - ep4_write_bin
    - ep4_copy
    - ep4_set_infty
    - ep4_norm
    - ep4_new
    - ep4_size_bin
    - ep4_read_bin
    - ep4_rand
    - TEST_CASE
    - ep4_cmp
    - ep4_add
    - ep4_is_infty
    - fp4_rand
    - ep4_neg
    - TEST_ASSERT
    - ep4_null
    - ep4_blind
    linkageType: ''
    returnType: int
    signature: int util4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2562,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2563,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2564,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2565,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2566,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2569,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2570,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2571,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2572,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2573,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2575,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2576,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2577,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2578,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2579,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2580,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2580,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2583,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2584,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2585,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2586,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2587,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2588,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2589,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2590,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2591,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2591,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2594,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2595,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_epx.c:2596,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2597,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2598,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2598,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2599,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2600,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2600,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2603,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2604,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:2605,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2606,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2607,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2607,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2611,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2612,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2613,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2614,1
    - Dst: ep4_add_basic
      Src: /src/relic/test/test_epx.c:2615,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2616,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2616,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2622,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2623,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2624,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2625,1
    - Dst: ep4_add_projc
      Src: /src/relic/test/test_epx.c:2626,1
    - Dst: ep4_add_projc
      Src: /src/relic/test/test_epx.c:2627,1
    - Dst: ep4_add_projc
      Src: /src/relic/test/test_epx.c:2629,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2631,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2632,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2633,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2634,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2634,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2638,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2639,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2640,1
    - Dst: ep4_add_projc
      Src: /src/relic/test/test_epx.c:2642,1
    - Dst: ep4_add_projc
      Src: /src/relic/test/test_epx.c:2643,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2645,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2646,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2647,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2647,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2650,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2651,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2652,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2654,1
    - Dst: ep4_add_projc
      Src: /src/relic/test/test_epx.c:2655,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2656,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2656,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2662,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2663,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2664,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2665,1
    - Dst: ep4_add_jacob
      Src: /src/relic/test/test_epx.c:2666,1
    - Dst: ep4_add_jacob
      Src: /src/relic/test/test_epx.c:2667,1
    - Dst: ep4_add_jacob
      Src: /src/relic/test/test_epx.c:2669,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2670,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2671,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2672,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2673,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2673,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2677,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2678,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2679,1
    - Dst: ep4_add_jacob
      Src: /src/relic/test/test_epx.c:2681,1
    - Dst: ep4_add_jacob
      Src: /src/relic/test/test_epx.c:2682,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2684,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2685,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2686,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2686,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2689,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2690,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2691,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2692,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2693,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2695,1
    - Dst: ep4_add_jacob
      Src: /src/relic/test/test_epx.c:2696,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2697,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2697,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 118
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2558
    functionDepth: 1
    functionLinenumber: 2558
    functionLinenumberEnd: 2700
    functionName: addition4
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep4_new
    - TEST_CASE
    - ep4_cmp
    - ep4_add
    - ep4_set_infty
    - TEST_ASSERT
    - ep4_neg
    - ep4_add_projc
    - ep4_add_basic
    - ep4_add_jacob
    - ep4_norm
    - ep4_null
    - ep4_is_infty
    - ep4_rand
    linkageType: ''
    returnType: int
    signature: int addition4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2718,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2719,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2720,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2721,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2724,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2725,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2726,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2727,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2729,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2730,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2731,1
    - Dst: ep4_sub
      Src: /src/relic/test/test_epx.c:2732,1
    - Dst: ep4_sub
      Src: /src/relic/test/test_epx.c:2733,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:2734,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2735,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2735,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2739,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2740,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_epx.c:2741,1
    - Dst: ep4_sub
      Src: /src/relic/test/test_epx.c:2742,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2743,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2743,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2747,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2748,1
    - Dst: ep4_sub
      Src: /src/relic/test/test_epx.c:2749,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2750,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2714
    functionDepth: 1
    functionLinenumber: 2714
    functionLinenumberEnd: 2753
    functionName: subtraction4
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep4_new
    - TEST_CASE
    - ep4_cmp
    - ep4_neg
    - TEST_ASSERT
    - ep4_set_infty
    - ep4_sub
    - ep4_null
    - ep4_is_infty
    - ep4_rand
    linkageType: ''
    returnType: int
    signature: int subtraction4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2770,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2771,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2772,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2775,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2776,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2777,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2779,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2780,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:2781,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_epx.c:2782,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2783,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2783,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2787,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2788,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_epx.c:2789,1
    - Dst: ep4_dbl_basic
      Src: /src/relic/test/test_epx.c:2790,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2791,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2791,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2796,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2797,1
    - Dst: ep4_dbl_projc
      Src: /src/relic/test/test_epx.c:2799,1
    - Dst: ep4_dbl_projc
      Src: /src/relic/test/test_epx.c:2800,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2801,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_epx.c:2802,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2803,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2803,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2806,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2807,1
    - Dst: ep4_dbl_projc
      Src: /src/relic/test/test_epx.c:2808,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2809,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_epx.c:2810,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2811,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2811,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2816,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2817,1
    - Dst: ep4_dbl_jacob
      Src: /src/relic/test/test_epx.c:2819,1
    - Dst: ep4_dbl_jacob
      Src: /src/relic/test/test_epx.c:2820,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2821,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_epx.c:2822,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2823,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2823,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2826,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2827,1
    - Dst: ep4_dbl_jacob
      Src: /src/relic/test/test_epx.c:2828,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_epx.c:2829,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_epx.c:2830,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2831,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2766
    functionDepth: 1
    functionLinenumber: 2766
    functionLinenumberEnd: 2834
    functionName: doubling4
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep4_new
    - ep4_dbl
    - TEST_CASE
    - ep4_cmp
    - ep4_add
    - ep4_dbl_jacob
    - TEST_ASSERT
    - ep4_dbl_basic
    - ep4_norm
    - ep4_null
    - ep4_dbl_projc
    - ep4_rand
    linkageType: ''
    returnType: int
    signature: int doubling4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:2851,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:2852,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2853,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2854,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:2855,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:2858,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:2859,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2860,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2861,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:2862,1
    - Dst: ep4_curve_get_gen
      Src: /src/relic/test/test_epx.c:2864,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/test/test_epx.c:2865,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_epx.c:2867,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2868,1
    - Dst: ep4_on_curve
      Src: /src/relic/test/test_epx.c:2868,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:2869,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2870,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2870,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2873,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2874,1
    - Dst: ep4_mul_gen
      Src: /src/relic/test/test_epx.c:2875,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2876,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2876,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:2877,1
    - Dst: ep4_mul_gen
      Src: /src/relic/test/test_epx.c:2878,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2879,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2879,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2880,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:2881,1
    - Dst: ep4_mul_gen
      Src: /src/relic/test/test_epx.c:2882,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2883,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2883,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2884,1
    - Dst: ep4_mul_gen
      Src: /src/relic/test/test_epx.c:2885,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:2886,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2887,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2887,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2888,1
    - Dst: ep4_mul_gen
      Src: /src/relic/test/test_epx.c:2889,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:2890,1
    - Dst: ep4_mul_gen
      Src: /src/relic/test/test_epx.c:2891,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2892,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2892,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2896,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2897,1
    - Dst: ep4_mul_basic
      Src: /src/relic/test/test_epx.c:2898,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2899,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2899,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:2900,1
    - Dst: ep4_mul_basic
      Src: /src/relic/test/test_epx.c:2901,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2902,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2902,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2903,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:2904,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2905,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2905,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2906,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:2907,1
    - Dst: ep4_mul_basic
      Src: /src/relic/test/test_epx.c:2908,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2909,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2909,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2910,1
    - Dst: ep4_mul_basic
      Src: /src/relic/test/test_epx.c:2911,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:2912,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2913,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2913,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2918,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2919,1
    - Dst: ep4_mul_slide
      Src: /src/relic/test/test_epx.c:2920,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2921,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2921,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:2922,1
    - Dst: ep4_mul_slide
      Src: /src/relic/test/test_epx.c:2923,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2924,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2924,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2925,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:2926,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2927,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2927,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2928,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:2929,1
    - Dst: ep4_mul_slide
      Src: /src/relic/test/test_epx.c:2930,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2931,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2931,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2932,1
    - Dst: ep4_mul_slide
      Src: /src/relic/test/test_epx.c:2933,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:2934,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2935,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2935,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2941,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2942,1
    - Dst: ep4_mul_monty
      Src: /src/relic/test/test_epx.c:2943,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2944,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2944,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:2945,1
    - Dst: ep4_mul_monty
      Src: /src/relic/test/test_epx.c:2946,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2947,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2947,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2948,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:2949,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2950,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2950,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2951,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:2952,1
    - Dst: ep4_mul_monty
      Src: /src/relic/test/test_epx.c:2953,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2954,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2954,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2955,1
    - Dst: ep4_mul_monty
      Src: /src/relic/test/test_epx.c:2956,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:2957,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2958,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2958,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2964,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2965,1
    - Dst: ep4_mul_lwnaf
      Src: /src/relic/test/test_epx.c:2966,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2967,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2967,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:2968,1
    - Dst: ep4_mul_lwnaf
      Src: /src/relic/test/test_epx.c:2969,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2970,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2970,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2971,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:2972,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2973,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2973,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2974,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:2975,1
    - Dst: ep4_mul_lwnaf
      Src: /src/relic/test/test_epx.c:2976,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2977,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2977,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:2978,1
    - Dst: ep4_mul_lwnaf
      Src: /src/relic/test/test_epx.c:2979,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:2980,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2981,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2981,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:2987,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:2988,1
    - Dst: ep4_mul_lwreg
      Src: /src/relic/test/test_epx.c:2989,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2990,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2990,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:2991,1
    - Dst: ep4_mul_lwreg
      Src: /src/relic/test/test_epx.c:2992,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2993,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:2993,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:2994,1
    - Dst: ep4_mul_lwreg
      Src: /src/relic/test/test_epx.c:2995,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:2996,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:2996,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:2997,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:2998,1
    - Dst: ep4_mul_lwreg
      Src: /src/relic/test/test_epx.c:2999,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3000,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3000,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3001,1
    - Dst: ep4_mul_lwreg
      Src: /src/relic/test/test_epx.c:3002,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:3003,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3004,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3004,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3005,1
    - Dst: ep4_mul_lwreg
      Src: /src/relic/test/test_epx.c:3006,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:3007,1
    - Dst: ep4_mul_lwreg
      Src: /src/relic/test/test_epx.c:3008,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3009,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3009,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3014,1
    - Dst: ep4_mul_dig
      Src: /src/relic/test/test_epx.c:3015,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3016,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:3016,1
    - Dst: ep4_mul_dig
      Src: /src/relic/test/test_epx.c:3017,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3018,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3018,1
    - Dst: bn_rand
      Src: /src/relic/test/test_epx.c:3019,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3020,1
    - Dst: ep4_mul_dig
      Src: /src/relic/test/test_epx.c:3021,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3022,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3022,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 2846
    functionDepth: 1
    functionLinenumber: 2846
    functionLinenumberEnd: 3025
    functionName: multiplication4
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep4_on_curve
    - ep4_mul_gen
    - ep4_curve_get_ord
    - ep4_mul_basic
    - bn_set_dig
    - ep4_mul_slide
    - ep4_curve_get_gen
    - ep4_new
    - TEST_ONCE
    - bn_null
    - ep4_mul_lwnaf
    - ep4_mul_monty
    - ep4_rand
    - bn_rand
    - TEST_CASE
    - ep4_cmp
    - ep4_mul
    - bn_rand_mod
    - ep4_mul_lwreg
    - bn_neg
    - bn_new
    - ep4_is_infty
    - ep4_mul_dig
    - bn_add
    - bn_zero
    - ep4_neg
    - TEST_ASSERT
    - ep4_null
    linkageType: ''
    returnType: int
    signature: int multiplication4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:3045,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:3046,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:3047,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:3048,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:3049,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:3052,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:3056,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:3057,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3058,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3059,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3060,1
    - Dst: ep4_curve_get_gen
      Src: /src/relic/test/test_epx.c:3062,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/test/test_epx.c:3063,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3066,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3068,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:3069,1
    - Dst: ep4_mul_pre
      Src: /src/relic/test/test_epx.c:3070,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3071,1
    - Dst: ep4_mul_fix
      Src: /src/relic/test/test_epx.c:3072,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3073,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:3073,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:3074,1
    - Dst: ep4_mul_fix
      Src: /src/relic/test/test_epx.c:3075,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3076,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3076,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3077,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3078,1
    - Dst: ep4_mul_fix
      Src: /src/relic/test/test_epx.c:3079,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3080,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3081,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3081,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3082,1
    - Dst: ep4_mul_fix
      Src: /src/relic/test/test_epx.c:3083,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:3084,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3085,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3085,1
    - Dst: ep4_free
      Src: /src/relic/test/test_epx.c:3088,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3093,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3095,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:3096,1
    - Dst: ep4_mul_pre_basic
      Src: /src/relic/test/test_epx.c:3097,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3098,1
    - Dst: ep4_mul_fix_basic
      Src: /src/relic/test/test_epx.c:3099,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3100,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:3100,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:3101,1
    - Dst: ep4_mul_fix_basic
      Src: /src/relic/test/test_epx.c:3102,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3103,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3103,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3104,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3105,1
    - Dst: ep4_mul_fix_basic
      Src: /src/relic/test/test_epx.c:3106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3107,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3107,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3108,1
    - Dst: ep4_mul_fix_basic
      Src: /src/relic/test/test_epx.c:3109,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:3110,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3111,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3111,1
    - Dst: ep4_free
      Src: /src/relic/test/test_epx.c:3114,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3120,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3122,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:3123,1
    - Dst: ep4_mul_pre_combs
      Src: /src/relic/test/test_epx.c:3124,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3125,1
    - Dst: ep4_mul_fix_combs
      Src: /src/relic/test/test_epx.c:3126,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3127,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:3127,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:3128,1
    - Dst: ep4_mul_fix_combs
      Src: /src/relic/test/test_epx.c:3129,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3130,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3130,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3131,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3132,1
    - Dst: ep4_mul_fix_combs
      Src: /src/relic/test/test_epx.c:3133,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3134,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3134,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3135,1
    - Dst: ep4_mul_fix_combs
      Src: /src/relic/test/test_epx.c:3136,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:3137,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3138,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3138,1
    - Dst: ep4_free
      Src: /src/relic/test/test_epx.c:3141,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3147,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3149,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:3150,1
    - Dst: ep4_mul_pre_combd
      Src: /src/relic/test/test_epx.c:3151,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3152,1
    - Dst: ep4_mul_fix_combd
      Src: /src/relic/test/test_epx.c:3153,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3154,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:3154,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:3155,1
    - Dst: ep4_mul_fix_combd
      Src: /src/relic/test/test_epx.c:3156,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3157,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3157,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3158,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3159,1
    - Dst: ep4_mul_fix_combd
      Src: /src/relic/test/test_epx.c:3160,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3161,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3161,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3162,1
    - Dst: ep4_mul_fix_combd
      Src: /src/relic/test/test_epx.c:3163,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:3164,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3165,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3165,1
    - Dst: ep4_free
      Src: /src/relic/test/test_epx.c:3168,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3174,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3176,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:3177,1
    - Dst: ep4_mul_pre_lwnaf
      Src: /src/relic/test/test_epx.c:3178,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3179,1
    - Dst: ep4_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:3180,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3181,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:3181,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:3182,1
    - Dst: ep4_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:3183,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3184,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3184,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3185,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3186,1
    - Dst: ep4_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:3187,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3188,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3188,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3189,1
    - Dst: ep4_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:3190,1
    - Dst: ep4_neg
      Src: /src/relic/test/test_epx.c:3191,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3192,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3192,1
    - Dst: ep4_free
      Src: /src/relic/test/test_epx.c:3195,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 142
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3198
      start: 3040
    functionDepth: 1
    functionLinenumber: 3040
    functionLinenumberEnd: 3198
    functionName: fixed4
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep4_mul_fix_combs
    - ep4_mul_pre
    - ep4_mul_fix_basic
    - ep4_curve_get_ord
    - bn_set_dig
    - ep4_curve_get_gen
    - ep4_new
    - ep4_mul_pre_lwnaf
    - bn_null
    - ep4_mul_fix_lwnaf
    - ep4_mul_pre_combd
    - ep4_rand
    - TEST_CASE
    - ep4_cmp
    - ep4_mul_fix
    - ep4_mul
    - ep4_mul_pre_basic
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ep4_free
    - ep4_is_infty
    - bn_zero
    - ep4_mul_pre_combs
    - ep4_mul_fix_combd
    - ep4_neg
    - TEST_ASSERT
    - ep4_null
    linkageType: ''
    returnType: int
    signature: int fixed4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:3218,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:3219,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:3220,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:3221,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:3222,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:3223,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:3226,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:3227,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:3228,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3229,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3230,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3231,1
    - Dst: ep4_curve_get_gen
      Src: /src/relic/test/test_epx.c:3233,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/test/test_epx.c:3234,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3236,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3237,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3238,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3239,1
    - Dst: ep4_mul_sim
      Src: /src/relic/test/test_epx.c:3240,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3241,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3241,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3242,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3243,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3244,1
    - Dst: ep4_mul_sim
      Src: /src/relic/test/test_epx.c:3245,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3246,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3246,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3247,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3248,1
    - Dst: ep4_mul_sim
      Src: /src/relic/test/test_epx.c:3249,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3250,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3251,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3252,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3253,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3253,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3254,1
    - Dst: ep4_mul_sim
      Src: /src/relic/test/test_epx.c:3255,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3256,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3257,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3258,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3259,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3259,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3260,1
    - Dst: ep4_mul_sim
      Src: /src/relic/test/test_epx.c:3261,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3262,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3263,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3264,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3265,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3265,1
    - Dst: ep4_mul_sim
      Src: /src/relic/test/test_epx.c:3266,1
    - Dst: ep4_mul_sim_lot
      Src: /src/relic/test/test_epx.c:3267,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3268,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3268,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3272,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3273,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3274,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3275,1
    - Dst: ep4_mul_sim_basic
      Src: /src/relic/test/test_epx.c:3276,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3277,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3277,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3278,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3279,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3280,1
    - Dst: ep4_mul_sim_basic
      Src: /src/relic/test/test_epx.c:3281,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3282,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3282,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3283,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3284,1
    - Dst: ep4_mul_sim_basic
      Src: /src/relic/test/test_epx.c:3285,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3286,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3287,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3288,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3289,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3289,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3290,1
    - Dst: ep4_mul_sim_basic
      Src: /src/relic/test/test_epx.c:3291,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3292,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3293,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3294,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3295,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3295,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3296,1
    - Dst: ep4_mul_sim_basic
      Src: /src/relic/test/test_epx.c:3297,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3298,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3299,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3300,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3301,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3301,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3306,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3307,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3308,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3309,1
    - Dst: ep4_mul_sim_trick
      Src: /src/relic/test/test_epx.c:3310,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3311,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3311,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3312,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3313,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3314,1
    - Dst: ep4_mul_sim_trick
      Src: /src/relic/test/test_epx.c:3315,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3316,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3316,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3317,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3318,1
    - Dst: ep4_mul_sim_trick
      Src: /src/relic/test/test_epx.c:3319,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3320,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3321,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3322,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3323,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3323,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3324,1
    - Dst: ep4_mul_sim_trick
      Src: /src/relic/test/test_epx.c:3325,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3326,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3327,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3328,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3329,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3329,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3330,1
    - Dst: ep4_mul_sim_trick
      Src: /src/relic/test/test_epx.c:3331,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3332,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3333,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3334,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3335,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3335,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3340,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3341,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3342,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3343,1
    - Dst: ep4_mul_sim_inter
      Src: /src/relic/test/test_epx.c:3344,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3345,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3345,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3346,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3347,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3348,1
    - Dst: ep4_mul_sim_inter
      Src: /src/relic/test/test_epx.c:3349,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3350,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3350,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3351,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3352,1
    - Dst: ep4_mul_sim_inter
      Src: /src/relic/test/test_epx.c:3353,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3354,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3355,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3356,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3357,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3357,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3358,1
    - Dst: ep4_mul_sim_inter
      Src: /src/relic/test/test_epx.c:3359,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3360,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3361,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3362,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3363,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3363,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3364,1
    - Dst: ep4_mul_sim_inter
      Src: /src/relic/test/test_epx.c:3365,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3366,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3367,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3368,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3369,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3369,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3374,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3375,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3376,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3377,1
    - Dst: ep4_mul_sim_joint
      Src: /src/relic/test/test_epx.c:3378,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3379,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3379,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3380,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3381,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3382,1
    - Dst: ep4_mul_sim_joint
      Src: /src/relic/test/test_epx.c:3383,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3384,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3384,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3385,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3386,1
    - Dst: ep4_mul_sim_joint
      Src: /src/relic/test/test_epx.c:3387,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3388,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3389,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3390,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3391,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3391,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3392,1
    - Dst: ep4_mul_sim_joint
      Src: /src/relic/test/test_epx.c:3393,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3394,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3395,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3396,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3397,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3397,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3398,1
    - Dst: ep4_mul_sim_joint
      Src: /src/relic/test/test_epx.c:3399,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3400,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3401,1
    - Dst: ep4_add
      Src: /src/relic/test/test_epx.c:3402,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3403,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3403,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3407,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3408,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3409,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3410,1
    - Dst: ep4_mul_sim_gen
      Src: /src/relic/test/test_epx.c:3411,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3412,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3412,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3413,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3414,1
    - Dst: ep4_mul_gen
      Src: /src/relic/test/test_epx.c:3415,1
    - Dst: ep4_mul_sim_gen
      Src: /src/relic/test/test_epx.c:3416,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3417,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3417,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3418,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3419,1
    - Dst: ep4_mul_sim_gen
      Src: /src/relic/test/test_epx.c:3420,1
    - Dst: ep4_curve_get_gen
      Src: /src/relic/test/test_epx.c:3421,1
    - Dst: ep4_mul_sim
      Src: /src/relic/test/test_epx.c:3422,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3423,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3423,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3424,1
    - Dst: ep4_mul_sim_gen
      Src: /src/relic/test/test_epx.c:3425,1
    - Dst: ep4_curve_get_gen
      Src: /src/relic/test/test_epx.c:3426,1
    - Dst: ep4_mul_sim
      Src: /src/relic/test/test_epx.c:3427,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3428,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3428,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:3429,1
    - Dst: ep4_mul_sim_gen
      Src: /src/relic/test/test_epx.c:3430,1
    - Dst: ep4_curve_get_gen
      Src: /src/relic/test/test_epx.c:3431,1
    - Dst: ep4_mul_sim
      Src: /src/relic/test/test_epx.c:3432,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3433,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 207
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3213
    functionDepth: 1
    functionLinenumber: 3213
    functionLinenumberEnd: 3435
    functionName: simultaneous4
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep4_mul_gen
    - ep4_curve_get_ord
    - ep4_curve_get_gen
    - ep4_mul_sim_inter
    - ep4_new
    - bn_null
    - ep4_mul_sim_lot
    - ep4_mul_sim_basic
    - TEST_CASE
    - ep4_cmp
    - ep4_add
    - ep4_mul
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ep4_mul_sim
    - bn_zero
    - TEST_ASSERT
    - ep4_mul_sim_gen
    - ep4_null
    - ep4_mul_sim_trick
    - ep4_mul_sim_joint
    linkageType: ''
    returnType: int
    signature: int simultaneous4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:3457,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:3458,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:3461,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3462,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/test/test_epx.c:3464,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3466,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_epx.c:3467,1
    - Dst: ep4_map
      Src: /src/relic/test/test_epx.c:3468,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3469,1
    - Dst: ep4_on_curve
      Src: /src/relic/test/test_epx.c:3469,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_epx.c:3470,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3471,1
    - Dst: ep4_is_infty
      Src: /src/relic/test/test_epx.c:3471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3474
      start: 3451
    functionDepth: 1
    functionLinenumber: 3451
    functionLinenumberEnd: 3474
    functionName: hashing4
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep4_new
    - bn_null
    - ep4_on_curve
    - TEST_CASE
    - ep4_mul
    - TEST_ASSERT
    - ep4_is_infty
    - ep4_curve_get_ord
    - bn_new
    - rand_bytes
    - ep4_null
    - ep4_map
    linkageType: ''
    returnType: int
    signature: int hashing4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:3491,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:3492,1
    - Dst: ep4_null
      Src: /src/relic/test/test_epx.c:3493,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:3494,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:3495,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3498,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3499,1
    - Dst: ep4_new
      Src: /src/relic/test/test_epx.c:3500,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:3501,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:3502,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/test/test_epx.c:3504,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3506,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_epx.c:3507,1
    - Dst: ep4_frb
      Src: /src/relic/test/test_epx.c:3508,1
    - Dst: dv_copy
      Src: /src/relic/test/test_epx.c:3510,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_epx.c:3510,1
    - Dst: bn_mod
      Src: /src/relic/test/test_epx.c:3511,1
    - Dst: ep4_mul_basic
      Src: /src/relic/test/test_epx.c:3512,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3513,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_epx.c:3513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3515
      start: 3486
    functionDepth: 1
    functionLinenumber: 3486
    functionLinenumberEnd: 3515
    functionName: frobenius4
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep4_frb
    - dv_copy
    - ep4_new
    - bn_null
    - TEST_CASE
    - ep4_cmp
    - bn_mod
    - TEST_ASSERT
    - ep4_curve_get_ord
    - bn_new
    - ep4_mul_basic
    - fp_prime_get
    - ep4_null
    - ep4_rand
    linkageType: ''
    returnType: int
    signature: int frobenius4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3535,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3538,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3539,1
    - Dst: ep8_free
      Src: /src/relic/test/test_epx.c:3540,1
    - Dst: util_print
      Src: /src/relic/test/test_epx.c:3545,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_epx.c:3546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3554
      start: 3530
    functionDepth: 1
    functionLinenumber: 3530
    functionLinenumberEnd: 3554
    functionName: memory8
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep8_new
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - ep8_free
    - ep8_null
    linkageType: ''
    returnType: int
    signature: int memory8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3561,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3562,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3563,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3566,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3567,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3568,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3570,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3571,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3572,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3573,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3575,1
    - Dst: ep8_copy
      Src: /src/relic/test/test_epx.c:3576,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3577,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3577,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3579,1
    - Dst: ep8_copy
      Src: /src/relic/test/test_epx.c:3580,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3581,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3581,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_epx.c:3584,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3585,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_epx.c:3586,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3587,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3587,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3588,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3588,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_epx.c:3590,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_epx.c:3591,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3592,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3592,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3593,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3593,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3597,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3598,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:3599,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3600,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3600,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:3601,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3602,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3602,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:3603,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3604,1
    - Dst: ep8_set_infty
      Src: /src/relic/test/test_epx.c:3605,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3606,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3606,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3610,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3611,1
    - Dst: ep8_set_infty
      Src: /src/relic/test/test_epx.c:3612,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3613,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3613,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3614,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3614,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3618,1
    - Dst: ep8_set_infty
      Src: /src/relic/test/test_epx.c:3619,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3620,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:3620,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3624,1
    - Dst: ep8_set_infty
      Src: /src/relic/test/test_epx.c:3625,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3626,1
    - Dst: ep8_on_curve
      Src: /src/relic/test/test_epx.c:3626,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3627,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3628,1
    - Dst: ep8_on_curve
      Src: /src/relic/test/test_epx.c:3628,1
    - Dst: fp8_rand
      Src: /src/relic/test/test_epx.c:3629,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3630,1
    - Dst: ep8_on_curve
      Src: /src/relic/test/test_epx.c:3630,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3634,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3635,1
    - Dst: ep8_blind
      Src: /src/relic/test/test_epx.c:3636,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3637,1
    - Dst: ep8_on_curve
      Src: /src/relic/test/test_epx.c:3637,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3640,1
    - Dst: ep8_set_infty
      Src: /src/relic/test/test_epx.c:3642,1
    - Dst: ep8_size_bin
      Src: /src/relic/test/test_epx.c:3643,1
    - Dst: ep8_write_bin
      Src: /src/relic/test/test_epx.c:3644,1
    - Dst: ep8_read_bin
      Src: /src/relic/test/test_epx.c:3645,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3646,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3646,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3647,1
    - Dst: ep8_size_bin
      Src: /src/relic/test/test_epx.c:3648,1
    - Dst: ep8_write_bin
      Src: /src/relic/test/test_epx.c:3649,1
    - Dst: ep8_read_bin
      Src: /src/relic/test/test_epx.c:3650,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3651,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3651,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3652,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_epx.c:3653,1
    - Dst: ep8_size_bin
      Src: /src/relic/test/test_epx.c:3654,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3655,1
    - Dst: ep8_write_bin
      Src: /src/relic/test/test_epx.c:3656,1
    - Dst: ep8_read_bin
      Src: /src/relic/test/test_epx.c:3657,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3658,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3662
      start: 3556
    functionDepth: 1
    functionLinenumber: 3556
    functionLinenumberEnd: 3662
    functionName: util8
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep8_size_bin
    - ep8_null
    - ep8_is_infty
    - ep8_norm
    - ep8_add
    - fp8_rand
    - ep8_dbl
    - ep8_rand
    - ep8_new
    - TEST_CASE
    - ep8_read_bin
    - ep8_neg
    - ep8_write_bin
    - ep8_on_curve
    - ep8_blind
    - ep8_cmp
    - TEST_ASSERT
    - ep8_set_infty
    - ep8_copy
    linkageType: ''
    returnType: int
    signature: int util8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3679,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3680,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3681,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3682,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3683,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3686,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3687,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3688,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3689,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3690,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3692,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3693,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3694,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3695,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3696,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3697,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3697,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3700,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3701,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3702,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3703,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3704,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3705,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3706,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3707,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3708,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3708,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3711,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3712,1
    - Dst: ep8_set_infty
      Src: /src/relic/test/test_epx.c:3713,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3714,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3715,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3715,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3716,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3717,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3717,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3720,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3721,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:3722,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3723,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3724,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:3724,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3728,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3729,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3730,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3731,1
    - Dst: ep8_add_basic
      Src: /src/relic/test/test_epx.c:3732,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3733,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3733,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3739,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3740,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3741,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3742,1
    - Dst: ep8_add_projc
      Src: /src/relic/test/test_epx.c:3743,1
    - Dst: ep8_add_projc
      Src: /src/relic/test/test_epx.c:3744,1
    - Dst: ep8_add_projc
      Src: /src/relic/test/test_epx.c:3746,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3748,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3749,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3750,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3751,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3751,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3755,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3756,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3757,1
    - Dst: ep8_add_projc
      Src: /src/relic/test/test_epx.c:3759,1
    - Dst: ep8_add_projc
      Src: /src/relic/test/test_epx.c:3760,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3762,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3763,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3764,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3764,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3767,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3768,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3769,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3771,1
    - Dst: ep8_add_projc
      Src: /src/relic/test/test_epx.c:3772,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3773,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3773,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3779,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3780,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3781,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3782,1
    - Dst: ep8_add_jacob
      Src: /src/relic/test/test_epx.c:3783,1
    - Dst: ep8_add_jacob
      Src: /src/relic/test/test_epx.c:3784,1
    - Dst: ep8_add_jacob
      Src: /src/relic/test/test_epx.c:3786,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3787,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3788,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3789,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3790,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3790,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3794,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3795,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3796,1
    - Dst: ep8_add_jacob
      Src: /src/relic/test/test_epx.c:3798,1
    - Dst: ep8_add_jacob
      Src: /src/relic/test/test_epx.c:3799,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3801,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3802,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3803,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3803,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3806,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3807,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3808,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3809,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3810,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3812,1
    - Dst: ep8_add_jacob
      Src: /src/relic/test/test_epx.c:3813,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3814,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3814,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 118
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3817
      start: 3675
    functionDepth: 1
    functionLinenumber: 3675
    functionLinenumberEnd: 3817
    functionName: addition8
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep8_rand
    - ep8_new
    - ep8_cmp
    - TEST_CASE
    - ep8_add_jacob
    - ep8_neg
    - ep8_add_basic
    - TEST_ASSERT
    - ep8_add_projc
    - ep8_is_infty
    - ep8_norm
    - ep8_add
    - ep8_set_infty
    - ep8_null
    linkageType: ''
    returnType: int
    signature: int addition8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3835,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3836,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3837,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3838,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3841,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3842,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3843,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3844,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3846,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3847,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3848,1
    - Dst: ep8_sub
      Src: /src/relic/test/test_epx.c:3849,1
    - Dst: ep8_sub
      Src: /src/relic/test/test_epx.c:3850,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:3851,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3852,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3852,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3856,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3857,1
    - Dst: ep8_set_infty
      Src: /src/relic/test/test_epx.c:3858,1
    - Dst: ep8_sub
      Src: /src/relic/test/test_epx.c:3859,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3860,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3860,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3864,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3865,1
    - Dst: ep8_sub
      Src: /src/relic/test/test_epx.c:3866,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3867,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:3867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3870
      start: 3831
    functionDepth: 1
    functionLinenumber: 3831
    functionLinenumberEnd: 3870
    functionName: subtraction8
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep8_rand
    - ep8_new
    - ep8_cmp
    - TEST_CASE
    - ep8_neg
    - TEST_ASSERT
    - ep8_sub
    - ep8_is_infty
    - ep8_set_infty
    - ep8_null
    linkageType: ''
    returnType: int
    signature: int subtraction8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3887,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3888,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3889,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3892,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3893,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3894,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3896,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3897,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:3898,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_epx.c:3899,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3900,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3900,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3904,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3905,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_epx.c:3906,1
    - Dst: ep8_dbl_basic
      Src: /src/relic/test/test_epx.c:3907,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3908,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3908,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3913,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3914,1
    - Dst: ep8_dbl_projc
      Src: /src/relic/test/test_epx.c:3916,1
    - Dst: ep8_dbl_projc
      Src: /src/relic/test/test_epx.c:3917,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3918,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_epx.c:3919,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3920,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3920,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3923,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3924,1
    - Dst: ep8_dbl_projc
      Src: /src/relic/test/test_epx.c:3925,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3926,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_epx.c:3927,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3928,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3928,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3933,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3934,1
    - Dst: ep8_dbl_jacob
      Src: /src/relic/test/test_epx.c:3936,1
    - Dst: ep8_dbl_jacob
      Src: /src/relic/test/test_epx.c:3937,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3938,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_epx.c:3939,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3940,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3940,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3943,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:3944,1
    - Dst: ep8_dbl_jacob
      Src: /src/relic/test/test_epx.c:3945,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_epx.c:3946,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_epx.c:3947,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3948,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3951
      start: 3883
    functionDepth: 1
    functionLinenumber: 3883
    functionLinenumberEnd: 3951
    functionName: doubling8
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep8_rand
    - ep8_new
    - ep8_cmp
    - TEST_CASE
    - ep8_dbl
    - ep8_dbl_jacob
    - TEST_ASSERT
    - ep8_dbl_projc
    - ep8_norm
    - ep8_add
    - ep8_dbl_basic
    - ep8_null
    linkageType: ''
    returnType: int
    signature: int doubling8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:3968,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:3969,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3970,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3971,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:3972,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:3975,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:3976,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3977,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3978,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:3979,1
    - Dst: ep8_curve_get_gen
      Src: /src/relic/test/test_epx.c:3981,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/test/test_epx.c:3982,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_epx.c:3984,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3985,1
    - Dst: ep8_on_curve
      Src: /src/relic/test/test_epx.c:3985,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:3986,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3987,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:3987,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:3990,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:3991,1
    - Dst: ep8_mul_gen
      Src: /src/relic/test/test_epx.c:3992,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3993,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:3993,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:3994,1
    - Dst: ep8_mul_gen
      Src: /src/relic/test/test_epx.c:3995,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:3996,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:3996,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:3997,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:3998,1
    - Dst: ep8_mul_gen
      Src: /src/relic/test/test_epx.c:3999,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4000,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4000,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4001,1
    - Dst: ep8_mul_gen
      Src: /src/relic/test/test_epx.c:4002,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:4003,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4004,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4004,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4005,1
    - Dst: ep8_mul_gen
      Src: /src/relic/test/test_epx.c:4006,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:4007,1
    - Dst: ep8_mul_gen
      Src: /src/relic/test/test_epx.c:4008,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4009,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4009,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4013,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4014,1
    - Dst: ep8_mul_basic
      Src: /src/relic/test/test_epx.c:4015,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4016,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4016,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:4017,1
    - Dst: ep8_mul_basic
      Src: /src/relic/test/test_epx.c:4018,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4019,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4019,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:4020,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4021,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4022,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4022,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4023,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4024,1
    - Dst: ep8_mul_basic
      Src: /src/relic/test/test_epx.c:4025,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4026,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4026,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4027,1
    - Dst: ep8_mul_basic
      Src: /src/relic/test/test_epx.c:4028,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:4029,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4030,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4030,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4035,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4036,1
    - Dst: ep8_mul_slide
      Src: /src/relic/test/test_epx.c:4037,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4038,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4038,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:4039,1
    - Dst: ep8_mul_slide
      Src: /src/relic/test/test_epx.c:4040,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4041,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4041,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:4042,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4043,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4044,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4044,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4045,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4046,1
    - Dst: ep8_mul_slide
      Src: /src/relic/test/test_epx.c:4047,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4048,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4048,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4049,1
    - Dst: ep8_mul_slide
      Src: /src/relic/test/test_epx.c:4050,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:4051,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4052,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4052,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4058,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4059,1
    - Dst: ep8_mul_monty
      Src: /src/relic/test/test_epx.c:4060,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4061,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4061,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:4062,1
    - Dst: ep8_mul_monty
      Src: /src/relic/test/test_epx.c:4063,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4064,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4064,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:4065,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4066,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4067,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4067,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4068,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4069,1
    - Dst: ep8_mul_monty
      Src: /src/relic/test/test_epx.c:4070,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4071,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4071,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4072,1
    - Dst: ep8_mul_monty
      Src: /src/relic/test/test_epx.c:4073,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:4074,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4075,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4075,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4081,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4082,1
    - Dst: ep8_mul_lwnaf
      Src: /src/relic/test/test_epx.c:4083,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4084,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4084,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:4085,1
    - Dst: ep8_mul_lwnaf
      Src: /src/relic/test/test_epx.c:4086,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4087,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4087,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:4088,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4089,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4090,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4090,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4091,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4092,1
    - Dst: ep8_mul_lwnaf
      Src: /src/relic/test/test_epx.c:4093,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4094,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4094,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4095,1
    - Dst: ep8_mul_lwnaf
      Src: /src/relic/test/test_epx.c:4096,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:4097,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4098,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4098,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4104,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4105,1
    - Dst: ep8_mul_lwreg
      Src: /src/relic/test/test_epx.c:4106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4107,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4107,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:4108,1
    - Dst: ep8_mul_lwreg
      Src: /src/relic/test/test_epx.c:4109,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4110,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4110,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:4111,1
    - Dst: ep8_mul_lwreg
      Src: /src/relic/test/test_epx.c:4112,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4113,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4113,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4114,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4115,1
    - Dst: ep8_mul_lwreg
      Src: /src/relic/test/test_epx.c:4116,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4117,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4117,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4118,1
    - Dst: ep8_mul_lwreg
      Src: /src/relic/test/test_epx.c:4119,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:4120,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4121,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4121,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4122,1
    - Dst: ep8_mul_lwreg
      Src: /src/relic/test/test_epx.c:4123,1
    - Dst: bn_add
      Src: /src/relic/test/test_epx.c:4124,1
    - Dst: ep8_mul_lwreg
      Src: /src/relic/test/test_epx.c:4125,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4126,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4126,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4131,1
    - Dst: ep8_mul_dig
      Src: /src/relic/test/test_epx.c:4132,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4133,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4133,1
    - Dst: ep8_mul_dig
      Src: /src/relic/test/test_epx.c:4134,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4135,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4135,1
    - Dst: bn_rand
      Src: /src/relic/test/test_epx.c:4136,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4137,1
    - Dst: ep8_mul_dig
      Src: /src/relic/test/test_epx.c:4138,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4139,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4142
      start: 3963
    functionDepth: 1
    functionLinenumber: 3963
    functionLinenumberEnd: 4142
    functionName: multiplication8
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 1
    functionsReached:
    - ep8_mul_slide
    - ep8_mul_basic
    - bn_set_dig
    - ep8_curve_get_gen
    - ep8_null
    - TEST_ONCE
    - bn_null
    - ep8_is_infty
    - bn_rand
    - ep8_rand
    - ep8_new
    - ep8_mul_lwreg
    - TEST_CASE
    - ep8_neg
    - bn_rand_mod
    - ep8_mul_lwnaf
    - bn_neg
    - bn_new
    - ep8_on_curve
    - ep8_mul_dig
    - ep8_curve_get_ord
    - bn_add
    - ep8_mul
    - bn_zero
    - ep8_cmp
    - TEST_ASSERT
    - ep8_mul_monty
    - ep8_mul_gen
    linkageType: ''
    returnType: int
    signature: int multiplication8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:4162,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:4163,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:4164,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:4165,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:4166,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:4169,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:4173,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:4174,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4175,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4176,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4177,1
    - Dst: ep8_curve_get_gen
      Src: /src/relic/test/test_epx.c:4179,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/test/test_epx.c:4180,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4183,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4185,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:4186,1
    - Dst: ep8_mul_pre
      Src: /src/relic/test/test_epx.c:4187,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4188,1
    - Dst: ep8_mul_fix
      Src: /src/relic/test/test_epx.c:4189,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4190,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4190,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:4191,1
    - Dst: ep8_mul_fix
      Src: /src/relic/test/test_epx.c:4192,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4193,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4193,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4194,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4195,1
    - Dst: ep8_mul_fix
      Src: /src/relic/test/test_epx.c:4196,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4197,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4198,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4198,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4199,1
    - Dst: ep8_mul_fix
      Src: /src/relic/test/test_epx.c:4200,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:4201,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4202,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4202,1
    - Dst: ep8_free
      Src: /src/relic/test/test_epx.c:4205,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4210,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4212,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:4213,1
    - Dst: ep8_mul_pre_basic
      Src: /src/relic/test/test_epx.c:4214,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4215,1
    - Dst: ep8_mul_fix_basic
      Src: /src/relic/test/test_epx.c:4216,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4217,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4217,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:4218,1
    - Dst: ep8_mul_fix_basic
      Src: /src/relic/test/test_epx.c:4219,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4220,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4220,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4221,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4222,1
    - Dst: ep8_mul_fix_basic
      Src: /src/relic/test/test_epx.c:4223,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4224,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4224,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4225,1
    - Dst: ep8_mul_fix_basic
      Src: /src/relic/test/test_epx.c:4226,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:4227,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4228,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4228,1
    - Dst: ep8_free
      Src: /src/relic/test/test_epx.c:4231,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4237,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4239,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:4240,1
    - Dst: ep8_mul_pre_combs
      Src: /src/relic/test/test_epx.c:4241,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4242,1
    - Dst: ep8_mul_fix_combs
      Src: /src/relic/test/test_epx.c:4243,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4244,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4244,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:4245,1
    - Dst: ep8_mul_fix_combs
      Src: /src/relic/test/test_epx.c:4246,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4247,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4247,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4248,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4249,1
    - Dst: ep8_mul_fix_combs
      Src: /src/relic/test/test_epx.c:4250,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4251,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4251,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4252,1
    - Dst: ep8_mul_fix_combs
      Src: /src/relic/test/test_epx.c:4253,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:4254,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4255,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4255,1
    - Dst: ep8_free
      Src: /src/relic/test/test_epx.c:4258,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4264,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4266,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:4267,1
    - Dst: ep8_mul_pre_combd
      Src: /src/relic/test/test_epx.c:4268,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4269,1
    - Dst: ep8_mul_fix_combd
      Src: /src/relic/test/test_epx.c:4270,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4271,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4271,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:4272,1
    - Dst: ep8_mul_fix_combd
      Src: /src/relic/test/test_epx.c:4273,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4274,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4274,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4275,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4276,1
    - Dst: ep8_mul_fix_combd
      Src: /src/relic/test/test_epx.c:4277,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4278,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4278,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4279,1
    - Dst: ep8_mul_fix_combd
      Src: /src/relic/test/test_epx.c:4280,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:4281,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4282,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4282,1
    - Dst: ep8_free
      Src: /src/relic/test/test_epx.c:4285,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4291,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4293,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:4294,1
    - Dst: ep8_mul_pre_lwnaf
      Src: /src/relic/test/test_epx.c:4295,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4296,1
    - Dst: ep8_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:4297,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4298,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4298,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_epx.c:4299,1
    - Dst: ep8_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:4300,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4301,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4301,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4302,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4303,1
    - Dst: ep8_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:4304,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4305,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4305,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4306,1
    - Dst: ep8_mul_fix_lwnaf
      Src: /src/relic/test/test_epx.c:4307,1
    - Dst: ep8_neg
      Src: /src/relic/test/test_epx.c:4308,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4309,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4309,1
    - Dst: ep8_free
      Src: /src/relic/test/test_epx.c:4312,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 142
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4315
      start: 4157
    functionDepth: 1
    functionLinenumber: 4157
    functionLinenumberEnd: 4315
    functionName: fixed8
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - bn_set_dig
    - ep8_curve_get_gen
    - ep8_null
    - ep8_mul_pre_lwnaf
    - bn_null
    - ep8_mul_pre
    - ep8_mul_pre_combd
    - ep8_mul_fix_lwnaf
    - ep8_is_infty
    - ep8_free
    - ep8_mul_fix_basic
    - ep8_rand
    - ep8_new
    - TEST_CASE
    - ep8_neg
    - bn_rand_mod
    - ep8_mul_pre_combs
    - ep8_mul_fix_combd
    - bn_neg
    - bn_new
    - ep8_mul_fix_combs
    - ep8_curve_get_ord
    - ep8_mul
    - bn_zero
    - ep8_cmp
    - ep8_mul_pre_basic
    - TEST_ASSERT
    - ep8_mul_fix
    linkageType: ''
    returnType: int
    signature: int fixed8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:4335,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:4336,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:4337,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:4338,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:4339,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:4340,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:4343,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:4344,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:4345,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4346,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4347,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4348,1
    - Dst: ep8_curve_get_gen
      Src: /src/relic/test/test_epx.c:4350,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/test/test_epx.c:4351,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4353,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4354,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4355,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4356,1
    - Dst: ep8_mul_sim
      Src: /src/relic/test/test_epx.c:4357,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4358,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4358,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4359,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4360,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4361,1
    - Dst: ep8_mul_sim
      Src: /src/relic/test/test_epx.c:4362,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4363,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4363,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4364,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4365,1
    - Dst: ep8_mul_sim
      Src: /src/relic/test/test_epx.c:4366,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4367,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4368,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4369,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4370,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4370,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4371,1
    - Dst: ep8_mul_sim
      Src: /src/relic/test/test_epx.c:4372,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4373,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4374,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4375,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4376,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4376,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4377,1
    - Dst: ep8_mul_sim
      Src: /src/relic/test/test_epx.c:4378,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4379,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4380,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4381,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4382,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4382,1
    - Dst: ep8_mul_sim
      Src: /src/relic/test/test_epx.c:4383,1
    - Dst: ep8_mul_sim_lot
      Src: /src/relic/test/test_epx.c:4384,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4385,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4385,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4389,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4390,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4391,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4392,1
    - Dst: ep8_mul_sim_basic
      Src: /src/relic/test/test_epx.c:4393,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4394,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4394,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4395,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4396,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4397,1
    - Dst: ep8_mul_sim_basic
      Src: /src/relic/test/test_epx.c:4398,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4399,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4399,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4400,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4401,1
    - Dst: ep8_mul_sim_basic
      Src: /src/relic/test/test_epx.c:4402,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4403,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4404,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4405,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4406,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4406,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4407,1
    - Dst: ep8_mul_sim_basic
      Src: /src/relic/test/test_epx.c:4408,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4409,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4410,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4411,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4412,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4412,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4413,1
    - Dst: ep8_mul_sim_basic
      Src: /src/relic/test/test_epx.c:4414,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4415,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4416,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4417,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4418,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4418,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4423,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4424,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4425,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4426,1
    - Dst: ep8_mul_sim_trick
      Src: /src/relic/test/test_epx.c:4427,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4428,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4428,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4429,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4430,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4431,1
    - Dst: ep8_mul_sim_trick
      Src: /src/relic/test/test_epx.c:4432,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4433,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4433,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4434,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4435,1
    - Dst: ep8_mul_sim_trick
      Src: /src/relic/test/test_epx.c:4436,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4437,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4438,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4439,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4440,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4440,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4441,1
    - Dst: ep8_mul_sim_trick
      Src: /src/relic/test/test_epx.c:4442,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4443,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4444,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4445,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4446,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4446,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4447,1
    - Dst: ep8_mul_sim_trick
      Src: /src/relic/test/test_epx.c:4448,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4449,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4450,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4451,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4452,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4452,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4457,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4458,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4459,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4460,1
    - Dst: ep8_mul_sim_inter
      Src: /src/relic/test/test_epx.c:4461,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4462,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4462,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4463,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4464,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4465,1
    - Dst: ep8_mul_sim_inter
      Src: /src/relic/test/test_epx.c:4466,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4467,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4467,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4468,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4469,1
    - Dst: ep8_mul_sim_inter
      Src: /src/relic/test/test_epx.c:4470,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4471,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4472,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4473,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4474,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4474,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4475,1
    - Dst: ep8_mul_sim_inter
      Src: /src/relic/test/test_epx.c:4476,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4477,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4478,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4479,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4480,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4480,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4481,1
    - Dst: ep8_mul_sim_inter
      Src: /src/relic/test/test_epx.c:4482,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4483,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4484,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4485,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4486,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4486,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4491,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4492,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4493,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4494,1
    - Dst: ep8_mul_sim_joint
      Src: /src/relic/test/test_epx.c:4495,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4496,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4496,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4497,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4498,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4499,1
    - Dst: ep8_mul_sim_joint
      Src: /src/relic/test/test_epx.c:4500,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4501,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4501,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4502,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4503,1
    - Dst: ep8_mul_sim_joint
      Src: /src/relic/test/test_epx.c:4504,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4505,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4506,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4507,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4508,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4508,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4509,1
    - Dst: ep8_mul_sim_joint
      Src: /src/relic/test/test_epx.c:4510,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4511,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4512,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4513,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4514,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4514,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4515,1
    - Dst: ep8_mul_sim_joint
      Src: /src/relic/test/test_epx.c:4516,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4517,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4518,1
    - Dst: ep8_add
      Src: /src/relic/test/test_epx.c:4519,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4520,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4520,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4524,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4525,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4526,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4527,1
    - Dst: ep8_mul_sim_gen
      Src: /src/relic/test/test_epx.c:4528,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4529,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4529,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4530,1
    - Dst: bn_zero
      Src: /src/relic/test/test_epx.c:4531,1
    - Dst: ep8_mul_gen
      Src: /src/relic/test/test_epx.c:4532,1
    - Dst: ep8_mul_sim_gen
      Src: /src/relic/test/test_epx.c:4533,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4534,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4534,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4535,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_epx.c:4536,1
    - Dst: ep8_mul_sim_gen
      Src: /src/relic/test/test_epx.c:4537,1
    - Dst: ep8_curve_get_gen
      Src: /src/relic/test/test_epx.c:4538,1
    - Dst: ep8_mul_sim
      Src: /src/relic/test/test_epx.c:4539,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4540,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4540,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4541,1
    - Dst: ep8_mul_sim_gen
      Src: /src/relic/test/test_epx.c:4542,1
    - Dst: ep8_curve_get_gen
      Src: /src/relic/test/test_epx.c:4543,1
    - Dst: ep8_mul_sim
      Src: /src/relic/test/test_epx.c:4544,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4545,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4545,1
    - Dst: bn_neg
      Src: /src/relic/test/test_epx.c:4546,1
    - Dst: ep8_mul_sim_gen
      Src: /src/relic/test/test_epx.c:4547,1
    - Dst: ep8_curve_get_gen
      Src: /src/relic/test/test_epx.c:4548,1
    - Dst: ep8_mul_sim
      Src: /src/relic/test/test_epx.c:4549,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4550,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 207
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4552
      start: 4330
    functionDepth: 1
    functionLinenumber: 4330
    functionLinenumberEnd: 4552
    functionName: simultaneous8
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep8_mul_sim_gen
    - ep8_mul_sim_trick
    - ep8_curve_get_gen
    - ep8_mul_sim_lot
    - ep8_null
    - bn_null
    - ep8_add
    - ep8_mul_sim_joint
    - ep8_new
    - TEST_CASE
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ep8_mul_sim_basic
    - ep8_mul_sim_inter
    - ep8_curve_get_ord
    - ep8_mul_sim
    - ep8_mul
    - bn_zero
    - ep8_cmp
    - TEST_ASSERT
    - ep8_mul_gen
    linkageType: ''
    returnType: int
    signature: int simultaneous8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:4574,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:4575,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:4578,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4579,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/test/test_epx.c:4581,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4583,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_epx.c:4584,1
    - Dst: ep8_map
      Src: /src/relic/test/test_epx.c:4585,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4586,1
    - Dst: ep8_on_curve
      Src: /src/relic/test/test_epx.c:4586,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_epx.c:4587,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4588,1
    - Dst: ep8_is_infty
      Src: /src/relic/test/test_epx.c:4588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4591
      start: 4568
    functionDepth: 1
    functionLinenumber: 4568
    functionLinenumberEnd: 4591
    functionName: hashing8
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep8_mul
    - ep8_new
    - bn_null
    - TEST_CASE
    - ep8_map
    - TEST_ASSERT
    - bn_new
    - ep8_is_infty
    - ep8_on_curve
    - rand_bytes
    - ep8_curve_get_ord
    - ep8_null
    linkageType: ''
    returnType: int
    signature: int hashing8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:4608,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:4609,1
    - Dst: ep8_null
      Src: /src/relic/test/test_epx.c:4610,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:4611,1
    - Dst: bn_null
      Src: /src/relic/test/test_epx.c:4612,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4615,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4616,1
    - Dst: ep8_new
      Src: /src/relic/test/test_epx.c:4617,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:4618,1
    - Dst: bn_new
      Src: /src/relic/test/test_epx.c:4619,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/test/test_epx.c:4621,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_epx.c:4623,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_epx.c:4624,1
    - Dst: ep8_frb
      Src: /src/relic/test/test_epx.c:4625,1
    - Dst: dv_copy
      Src: /src/relic/test/test_epx.c:4627,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_epx.c:4627,1
    - Dst: bn_mod
      Src: /src/relic/test/test_epx.c:4628,1
    - Dst: ep8_mul_basic
      Src: /src/relic/test/test_epx.c:4629,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_epx.c:4630,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_epx.c:4630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4632
      start: 4603
    functionDepth: 1
    functionLinenumber: 4603
    functionLinenumberEnd: 4632
    functionName: frobenius8
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 0
    functionsReached:
    - ep8_rand
    - ep8_new
    - dv_copy
    - bn_null
    - ep8_cmp
    - TEST_CASE
    - ep8_mul_basic
    - bn_mod
    - TEST_ASSERT
    - bn_new
    - ep8_frb
    - fp_prime_get
    - ep8_curve_get_ord
    - ep8_null
    linkageType: ''
    returnType: int
    signature: int frobenius8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_epx.c:4650,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4651,1
    - Dst: util_banner
      Src: /src/relic/test/test_epx.c:4655,1
    - Dst: ep_param_set_any_pairf
      Src: /src/relic/test/test_epx.c:4657,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_epx.c:4658,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4659,1
    - Dst: ep2_curve_is_twist
      Src: /src/relic/test/test_epx.c:4663,1
    - Dst: ep_param_print
      Src: /src/relic/test/test_epx.c:4664,1
    - Dst: util_banner
      Src: /src/relic/test/test_epx.c:4666,1
    - Dst: memory2
      Src: /src/relic/test/test_epx.c:4668,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4669,1
    - Dst: util2
      Src: /src/relic/test/test_epx.c:4673,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4674,1
    - Dst: util_banner
      Src: /src/relic/test/test_epx.c:4678,1
    - Dst: addition2
      Src: /src/relic/test/test_epx.c:4680,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4681,1
    - Dst: subtraction2
      Src: /src/relic/test/test_epx.c:4685,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4686,1
    - Dst: doubling2
      Src: /src/relic/test/test_epx.c:4690,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4691,1
    - Dst: frobenius2
      Src: /src/relic/test/test_epx.c:4695,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4696,1
    - Dst: multiplication2
      Src: /src/relic/test/test_epx.c:4700,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4701,1
    - Dst: fixed2
      Src: /src/relic/test/test_epx.c:4705,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4706,1
    - Dst: simultaneous2
      Src: /src/relic/test/test_epx.c:4710,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4711,1
    - Dst: compression2
      Src: /src/relic/test/test_epx.c:4715,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4716,1
    - Dst: hashing2
      Src: /src/relic/test/test_epx.c:4720,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4721,1
    - Dst: ep3_curve_is_twist
      Src: /src/relic/test/test_epx.c:4726,1
    - Dst: ep_param_print
      Src: /src/relic/test/test_epx.c:4727,1
    - Dst: util_banner
      Src: /src/relic/test/test_epx.c:4729,1
    - Dst: memory3
      Src: /src/relic/test/test_epx.c:4731,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4732,1
    - Dst: util3
      Src: /src/relic/test/test_epx.c:4736,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4737,1
    - Dst: util_banner
      Src: /src/relic/test/test_epx.c:4741,1
    - Dst: addition3
      Src: /src/relic/test/test_epx.c:4743,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4744,1
    - Dst: subtraction3
      Src: /src/relic/test/test_epx.c:4748,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4749,1
    - Dst: doubling3
      Src: /src/relic/test/test_epx.c:4753,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4754,1
    - Dst: frobenius3
      Src: /src/relic/test/test_epx.c:4758,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4759,1
    - Dst: multiplication3
      Src: /src/relic/test/test_epx.c:4763,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4764,1
    - Dst: fixed3
      Src: /src/relic/test/test_epx.c:4768,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4769,1
    - Dst: simultaneous3
      Src: /src/relic/test/test_epx.c:4773,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4774,1
    - Dst: hashing3
      Src: /src/relic/test/test_epx.c:4778,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4779,1
    - Dst: ep4_curve_is_twist
      Src: /src/relic/test/test_epx.c:4784,1
    - Dst: ep_param_print
      Src: /src/relic/test/test_epx.c:4785,1
    - Dst: util_banner
      Src: /src/relic/test/test_epx.c:4787,1
    - Dst: memory4
      Src: /src/relic/test/test_epx.c:4789,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4790,1
    - Dst: util4
      Src: /src/relic/test/test_epx.c:4794,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4795,1
    - Dst: util_banner
      Src: /src/relic/test/test_epx.c:4799,1
    - Dst: addition4
      Src: /src/relic/test/test_epx.c:4801,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4802,1
    - Dst: subtraction4
      Src: /src/relic/test/test_epx.c:4806,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4807,1
    - Dst: doubling4
      Src: /src/relic/test/test_epx.c:4811,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4812,1
    - Dst: frobenius4
      Src: /src/relic/test/test_epx.c:4816,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4817,1
    - Dst: multiplication4
      Src: /src/relic/test/test_epx.c:4821,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4822,1
    - Dst: fixed4
      Src: /src/relic/test/test_epx.c:4826,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4827,1
    - Dst: simultaneous4
      Src: /src/relic/test/test_epx.c:4831,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4832,1
    - Dst: hashing4
      Src: /src/relic/test/test_epx.c:4836,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4837,1
    - Dst: ep8_curve_is_twist
      Src: /src/relic/test/test_epx.c:4842,1
    - Dst: ep_param_print
      Src: /src/relic/test/test_epx.c:4843,1
    - Dst: util_banner
      Src: /src/relic/test/test_epx.c:4845,1
    - Dst: memory8
      Src: /src/relic/test/test_epx.c:4847,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4848,1
    - Dst: util8
      Src: /src/relic/test/test_epx.c:4852,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4853,1
    - Dst: util_banner
      Src: /src/relic/test/test_epx.c:4857,1
    - Dst: addition8
      Src: /src/relic/test/test_epx.c:4859,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4860,1
    - Dst: subtraction8
      Src: /src/relic/test/test_epx.c:4864,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4865,1
    - Dst: doubling8
      Src: /src/relic/test/test_epx.c:4869,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4870,1
    - Dst: frobenius8
      Src: /src/relic/test/test_epx.c:4874,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4875,1
    - Dst: multiplication8
      Src: /src/relic/test/test_epx.c:4879,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4880,1
    - Dst: fixed8
      Src: /src/relic/test/test_epx.c:4884,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4885,1
    - Dst: simultaneous8
      Src: /src/relic/test/test_epx.c:4889,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4890,1
    - Dst: hashing8
      Src: /src/relic/test/test_epx.c:4894,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4895,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_epx.c:4901,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4902,1
    - Dst: util_banner
      Src: /src/relic/test/test_epx.c:4906,1
    - Dst: core_clean
      Src: /src/relic/test/test_epx.c:4908,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 203
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4910
      start: 4647
    functionDepth: 2
    functionLinenumber: 4647
    functionLinenumberEnd: 4910
    functionName: main
    functionSourceFile: /src/relic/test/test_epx.c
    functionUses: 97
    functionsReached:
    - multiplication4
    - util_banner
    - memory2
    - fixed2
    - util3
    - frobenius3
    - subtraction2
    - subtraction8
    - ep3_curve_is_twist
    - frobenius4
    - ep4_curve_is_twist
    - simultaneous8
    - RLC_THROW
    - multiplication2
    - simultaneous3
    - addition3
    - simultaneous2
    - util8
    - frobenius8
    - memory3
    - ep8_curve_is_twist
    - fixed4
    - addition2
    - memory8
    - multiplication8
    - hashing8
    - core_clean
    - simultaneous4
    - multiplication3
    - ep_param_set_any_pairf
    - doubling4
    - core_init
    - hashing2
    - fixed3
    - hashing4
    - addition8
    - compression2
    - fixed8
    - hashing3
    - ep2_curve_is_twist
    - addition4
    - memory4
    - util4
    - doubling3
    - doubling2
    - frobenius2
    - ep_param_print
    - doubling8
    - subtraction4
    - util2
    - subtraction3
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:42,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:45,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:46,1
    - Dst: ec_free
      Src: /src/relic/test/test_ec.c:47,1
    - Dst: util_print
      Src: /src/relic/test/test_ec.c:52,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_ec.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: memory
    functionSourceFile: /src/relic/test/test_ec.c
    functionUses: 35
    functionsReached:
    - util_print
    - ec_free
    - TEST_CASE
    - RLC_ERROR
    - ec_null
    - ec_new
    linkageType: ''
    returnType: int
    signature: int memory(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:68,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:69,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:70,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:73,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:74,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:75,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:77,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:78,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:79,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:80,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:80,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:84,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:85,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:86,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:87,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:89,1
    - Dst: ec_copy
      Src: /src/relic/test/test_ec.c:90,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:91,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:91,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:93,1
    - Dst: ec_copy
      Src: /src/relic/test/test_ec.c:94,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:95,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:95,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_ec.c:98,1
    - Dst: ec_norm
      Src: /src/relic/test/test_ec.c:99,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_ec.c:100,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:101,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:101,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:102,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:102,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_ec.c:104,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_ec.c:105,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:106,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:107,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:107,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:111,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:112,1
    - Dst: ec_neg
      Src: /src/relic/test/test_ec.c:113,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:114,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:114,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:118,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:121,1
    - Dst: ec_set_infty
      Src: /src/relic/test/test_ec.c:122,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:123,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:123,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:124,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:124,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:128,1
    - Dst: ec_set_infty
      Src: /src/relic/test/test_ec.c:129,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:130,1
    - Dst: ec_is_infty
      Src: /src/relic/test/test_ec.c:130,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:134,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:135,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:136,1
    - Dst: ec_on_curve
      Src: /src/relic/test/test_ec.c:136,1
    - Dst: dv_zero
      Src: /src/relic/test/test_ec.c:137,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:138,1
    - Dst: ec_on_curve
      Src: /src/relic/test/test_ec.c:138,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:142,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:143,1
    - Dst: ec_blind
      Src: /src/relic/test/test_ec.c:144,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:145,1
    - Dst: ec_on_curve
      Src: /src/relic/test/test_ec.c:145,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:148,1
    - Dst: ec_set_infty
      Src: /src/relic/test/test_ec.c:150,1
    - Dst: ec_size_bin
      Src: /src/relic/test/test_ec.c:151,1
    - Dst: ec_write_bin
      Src: /src/relic/test/test_ec.c:152,1
    - Dst: ec_read_bin
      Src: /src/relic/test/test_ec.c:153,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:154,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:154,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:155,1
    - Dst: ec_size_bin
      Src: /src/relic/test/test_ec.c:156,1
    - Dst: ec_write_bin
      Src: /src/relic/test/test_ec.c:157,1
    - Dst: ec_read_bin
      Src: /src/relic/test/test_ec.c:158,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:159,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:159,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:160,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_ec.c:161,1
    - Dst: ec_size_bin
      Src: /src/relic/test/test_ec.c:162,1
    - Dst: ec_norm
      Src: /src/relic/test/test_ec.c:163,1
    - Dst: ec_write_bin
      Src: /src/relic/test/test_ec.c:164,1
    - Dst: ec_read_bin
      Src: /src/relic/test/test_ec.c:165,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:166,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 170
    functionName: util
    functionSourceFile: /src/relic/test/test_ec.c
    functionUses: 2
    functionsReached:
    - ec_rand
    - ec_dbl
    - dv_zero
    - TEST_CASE
    - ec_set_infty
    - ec_on_curve
    - TEST_ASSERT
    - ec_blind
    - ec_copy
    - ec_null
    - ec_neg
    - ec_size_bin
    - ec_read_bin
    - ec_new
    - ec_write_bin
    - ec_cmp
    - ec_is_infty
    - ec_norm
    linkageType: ''
    returnType: int
    signature: int util(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:188,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:189,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:190,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:191,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:192,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:195,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:196,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:197,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:198,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:199,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:201,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:202,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:203,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:204,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:205,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:206,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:206,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:209,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:210,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:211,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:212,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:213,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:214,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:215,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:216,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:217,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:217,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:220,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:221,1
    - Dst: ec_set_infty
      Src: /src/relic/test/test_ec.c:222,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:223,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:224,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:224,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:225,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:226,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:226,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:229,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:230,1
    - Dst: ec_neg
      Src: /src/relic/test/test_ec.c:231,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:232,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:233,1
    - Dst: ec_is_infty
      Src: /src/relic/test/test_ec.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 235
    functionName: addition
    functionSourceFile: /src/relic/test/test_ec.c
    functionUses: 2
    functionsReached:
    - ec_rand
    - TEST_CASE
    - ec_set_infty
    - ec_add
    - TEST_ASSERT
    - ec_null
    - ec_neg
    - ec_new
    - ec_cmp
    - ec_is_infty
    linkageType: ''
    returnType: int
    signature: int addition(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:253,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:254,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:255,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:256,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:259,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:260,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:261,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:262,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:264,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:265,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:266,1
    - Dst: ec_sub
      Src: /src/relic/test/test_ec.c:267,1
    - Dst: ec_sub
      Src: /src/relic/test/test_ec.c:268,1
    - Dst: ec_neg
      Src: /src/relic/test/test_ec.c:269,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:270,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:270,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:274,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:275,1
    - Dst: ec_set_infty
      Src: /src/relic/test/test_ec.c:276,1
    - Dst: ec_sub
      Src: /src/relic/test/test_ec.c:277,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:278,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:278,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:282,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:283,1
    - Dst: ec_sub
      Src: /src/relic/test/test_ec.c:284,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:285,1
    - Dst: ec_is_infty
      Src: /src/relic/test/test_ec.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 288
    functionName: subtraction
    functionSourceFile: /src/relic/test/test_ec.c
    functionUses: 2
    functionsReached:
    - ec_rand
    - ec_sub
    - TEST_CASE
    - ec_set_infty
    - TEST_ASSERT
    - ec_null
    - ec_neg
    - ec_new
    - ec_cmp
    - ec_is_infty
    linkageType: ''
    returnType: int
    signature: int subtraction(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:305,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:306,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:307,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:310,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:311,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:312,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:314,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:315,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:316,1
    - Dst: ec_dbl
      Src: /src/relic/test/test_ec.c:317,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:318,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 320
    functionName: doubling
    functionSourceFile: /src/relic/test/test_ec.c
    functionUses: 2
    functionsReached:
    - ec_rand
    - ec_dbl
    - TEST_CASE
    - ec_add
    - TEST_ASSERT
    - ec_null
    - ec_new
    - ec_cmp
    linkageType: ''
    returnType: int
    signature: int doubling(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_ec.c:337,1
    - Dst: bn_null
      Src: /src/relic/test/test_ec.c:338,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:339,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:340,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:341,1
    - Dst: bn_new
      Src: /src/relic/test/test_ec.c:344,1
    - Dst: bn_new
      Src: /src/relic/test/test_ec.c:345,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:346,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:347,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:348,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/test/test_ec.c:350,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/test/test_ec.c:351,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_ec.c:353,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:354,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:355,1
    - Dst: ec_is_infty
      Src: /src/relic/test/test_ec.c:355,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:358,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ec.c:359,1
    - Dst: ec_mul_gen
      Src: /src/relic/test/test_ec.c:360,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:361,1
    - Dst: ec_is_infty
      Src: /src/relic/test/test_ec.c:361,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ec.c:362,1
    - Dst: ec_mul_gen
      Src: /src/relic/test/test_ec.c:363,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:364,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:364,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ec.c:365,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:366,1
    - Dst: ec_mul_gen
      Src: /src/relic/test/test_ec.c:367,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:368,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:368,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ec.c:369,1
    - Dst: ec_mul_gen
      Src: /src/relic/test/test_ec.c:370,1
    - Dst: ec_neg
      Src: /src/relic/test/test_ec.c:371,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:372,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:372,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:375,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ec.c:376,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:377,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:378,1
    - Dst: ec_is_infty
      Src: /src/relic/test/test_ec.c:378,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ec.c:379,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:380,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:381,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:381,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:382,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:383,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:384,1
    - Dst: ec_is_infty
      Src: /src/relic/test/test_ec.c:384,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ec.c:385,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:386,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ec.c:387,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:388,1
    - Dst: ec_neg
      Src: /src/relic/test/test_ec.c:389,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:390,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:390,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:393,1
    - Dst: ec_mul_dig
      Src: /src/relic/test/test_ec.c:394,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:395,1
    - Dst: ec_is_infty
      Src: /src/relic/test/test_ec.c:395,1
    - Dst: ec_mul_dig
      Src: /src/relic/test/test_ec.c:396,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:397,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:397,1
    - Dst: bn_rand
      Src: /src/relic/test/test_ec.c:398,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:399,1
    - Dst: ec_mul_dig
      Src: /src/relic/test/test_ec.c:400,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:401,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 404
    functionName: multiplication
    functionSourceFile: /src/relic/test/test_ec.c
    functionUses: 2
    functionsReached:
    - ec_neg
    - bn_set_dig
    - TEST_ONCE
    - bn_null
    - ec_cmp
    - bn_rand
    - ec_mul
    - TEST_CASE
    - ec_curve_get_ord
    - bn_rand_mod
    - ec_mul_dig
    - bn_neg
    - bn_new
    - ec_is_infty
    - ec_mul_gen
    - ec_rand
    - bn_zero
    - TEST_ASSERT
    - ec_null
    - ec_curve_get_gen
    - ec_new
    linkageType: ''
    returnType: int
    signature: int multiplication(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_ec.c:424,1
    - Dst: bn_null
      Src: /src/relic/test/test_ec.c:425,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:426,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:427,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:428,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:431,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:435,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:436,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:437,1
    - Dst: bn_new
      Src: /src/relic/test/test_ec.c:438,1
    - Dst: bn_new
      Src: /src/relic/test/test_ec.c:439,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/test/test_ec.c:441,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/test/test_ec.c:442,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:445,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:447,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:448,1
    - Dst: ec_mul_pre
      Src: /src/relic/test/test_ec.c:449,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ec.c:450,1
    - Dst: ec_mul_fix
      Src: /src/relic/test/test_ec.c:451,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:452,1
    - Dst: ec_is_infty
      Src: /src/relic/test/test_ec.c:452,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_ec.c:453,1
    - Dst: ec_mul_fix
      Src: /src/relic/test/test_ec.c:454,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:455,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:455,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ec.c:456,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:457,1
    - Dst: ec_mul_fix
      Src: /src/relic/test/test_ec.c:458,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:459,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:460,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:460,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ec.c:461,1
    - Dst: ec_mul_fix
      Src: /src/relic/test/test_ec.c:462,1
    - Dst: ec_neg
      Src: /src/relic/test/test_ec.c:463,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:464,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:464,1
    - Dst: ec_free
      Src: /src/relic/test/test_ec.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 469
    functionName: fixed
    functionSourceFile: /src/relic/test/test_ec.c
    functionUses: 14
    functionsReached:
    - ec_neg
    - bn_set_dig
    - bn_null
    - ec_cmp
    - ec_mul
    - TEST_CASE
    - ec_free
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ec_mul_pre
    - ec_is_infty
    - ec_mul_fix
    - ec_rand
    - bn_zero
    - TEST_ASSERT
    - ec_null
    - ec_curve_get_gen
    - ec_new
    linkageType: ''
    returnType: int
    signature: int fixed(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_ec.c:489,1
    - Dst: bn_null
      Src: /src/relic/test/test_ec.c:490,1
    - Dst: bn_null
      Src: /src/relic/test/test_ec.c:491,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:492,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:493,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:494,1
    - Dst: bn_new
      Src: /src/relic/test/test_ec.c:497,1
    - Dst: bn_new
      Src: /src/relic/test/test_ec.c:498,1
    - Dst: bn_new
      Src: /src/relic/test/test_ec.c:499,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:500,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:501,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:502,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/test/test_ec.c:504,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/test/test_ec.c:505,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/test/test_ec.c:506,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:508,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ec.c:509,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ec.c:510,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:511,1
    - Dst: ec_mul_sim
      Src: /src/relic/test/test_ec.c:512,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:513,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:513,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ec.c:514,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ec.c:515,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:516,1
    - Dst: ec_mul_sim
      Src: /src/relic/test/test_ec.c:517,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:518,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:518,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ec.c:519,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ec.c:520,1
    - Dst: ec_mul_sim
      Src: /src/relic/test/test_ec.c:521,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:522,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:523,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:524,1
    - Dst: ec_norm
      Src: /src/relic/test/test_ec.c:525,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:526,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:526,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ec.c:527,1
    - Dst: ec_mul_sim
      Src: /src/relic/test/test_ec.c:528,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:529,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:530,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:531,1
    - Dst: ec_norm
      Src: /src/relic/test/test_ec.c:532,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:533,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:533,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ec.c:534,1
    - Dst: ec_mul_sim
      Src: /src/relic/test/test_ec.c:535,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:536,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:537,1
    - Dst: ec_add
      Src: /src/relic/test/test_ec.c:538,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:539,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:539,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:542,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ec.c:543,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ec.c:544,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:545,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/test/test_ec.c:546,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:547,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:547,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ec.c:548,1
    - Dst: bn_zero
      Src: /src/relic/test/test_ec.c:549,1
    - Dst: ec_mul_gen
      Src: /src/relic/test/test_ec.c:550,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/test/test_ec.c:551,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:552,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:552,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ec.c:553,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_ec.c:554,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/test/test_ec.c:555,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/test/test_ec.c:556,1
    - Dst: ec_mul_sim
      Src: /src/relic/test/test_ec.c:557,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:558,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:558,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ec.c:559,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/test/test_ec.c:560,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/test/test_ec.c:561,1
    - Dst: ec_mul_sim
      Src: /src/relic/test/test_ec.c:562,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:563,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:563,1
    - Dst: bn_neg
      Src: /src/relic/test/test_ec.c:564,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/test/test_ec.c:565,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/test/test_ec.c:566,1
    - Dst: ec_mul_sim
      Src: /src/relic/test/test_ec.c:567,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:568,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 570
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 570
    functionName: simultaneous
    functionSourceFile: /src/relic/test/test_ec.c
    functionUses: 2
    functionsReached:
    - ec_mul_gen
    - bn_null
    - bn_zero
    - TEST_CASE
    - ec_add
    - TEST_ASSERT
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_neg
    - bn_new
    - ec_null
    - ec_mul_sim_gen
    - ec_curve_get_gen
    - ec_new
    - ec_mul_sim
    - ec_cmp
    - ec_norm
    - ec_mul
    linkageType: ''
    returnType: int
    signature: int simultaneous(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:590,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:591,1
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:592,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:595,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:596,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:597,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:599,1
    - Dst: ec_rand
      Src: /src/relic/test/test_ec.c:600,1
    - Dst: ec_pck
      Src: /src/relic/test/test_ec.c:601,1
    - Dst: ec_upk
      Src: /src/relic/test/test_ec.c:602,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:603,1
    - Dst: ec_cmp
      Src: /src/relic/test/test_ec.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 607
    functionName: compression
    functionSourceFile: /src/relic/test/test_ec.c
    functionUses: 7
    functionsReached:
    - ec_rand
    - TEST_CASE
    - ec_pck
    - TEST_ASSERT
    - ec_null
    - ec_new
    - ec_upk
    - ec_cmp
    linkageType: ''
    returnType: int
    signature: int compression(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/test/test_ec.c:625,1
    - Dst: bn_null
      Src: /src/relic/test/test_ec.c:626,1
    - Dst: ec_new
      Src: /src/relic/test/test_ec.c:629,1
    - Dst: bn_new
      Src: /src/relic/test/test_ec.c:630,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/test/test_ec.c:632,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_ec.c:634,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_ec.c:635,1
    - Dst: ec_map
      Src: /src/relic/test/test_ec.c:636,1
    - Dst: ec_mul
      Src: /src/relic/test/test_ec.c:637,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_ec.c:638,1
    - Dst: ec_is_infty
      Src: /src/relic/test/test_ec.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 642
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 642
    functionName: hashing
    functionSourceFile: /src/relic/test/test_ec.c
    functionUses: 2
    functionsReached:
    - rand_bytes
    - bn_null
    - TEST_CASE
    - TEST_ASSERT
    - ec_curve_get_ord
    - bn_new
    - ec_null
    - ec_new
    - ec_map
    - ec_is_infty
    - ec_mul
    linkageType: ''
    returnType: int
    signature: int hashing(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_param_print
      Src: /src/relic/test/test_ec.c:654,1
    - Dst: util_banner
      Src: /src/relic/test/test_ec.c:656,1
    - Dst: memory
      Src: /src/relic/test/test_ec.c:658,1
    - Dst: core_clean
      Src: /src/relic/test/test_ec.c:659,1
    - Dst: util
      Src: /src/relic/test/test_ec.c:663,1
    - Dst: util_banner
      Src: /src/relic/test/test_ec.c:667,1
    - Dst: addition
      Src: /src/relic/test/test_ec.c:669,1
    - Dst: subtraction
      Src: /src/relic/test/test_ec.c:673,1
    - Dst: doubling
      Src: /src/relic/test/test_ec.c:677,1
    - Dst: multiplication
      Src: /src/relic/test/test_ec.c:681,1
    - Dst: fixed
      Src: /src/relic/test/test_ec.c:685,1
    - Dst: simultaneous
      Src: /src/relic/test/test_ec.c:689,1
    - Dst: compression
      Src: /src/relic/test/test_ec.c:693,1
    - Dst: hashing
      Src: /src/relic/test/test_ec.c:697,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 702
    functionName: test
    functionSourceFile: /src/relic/test/test_ec.c
    functionUses: 28
    functionsReached:
    - multiplication
    - util_banner
    - simultaneous
    - compression
    - memory
    - core_clean
    - hashing
    - subtraction
    - ec_param_print
    - addition
    - fixed
    - doubling
    - util
    linkageType: ''
    returnType: int
    signature: int test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_ec.c:705,1
    - Dst: core_clean
      Src: /src/relic/test/test_ec.c:706,1
    - Dst: util_banner
      Src: /src/relic/test/test_ec.c:710,1
    - Dst: ec_param_set_any
      Src: /src/relic/test/test_ec.c:712,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_ec.c:713,1
    - Dst: core_clean
      Src: /src/relic/test/test_ec.c:714,1
    - Dst: test
      Src: /src/relic/test/test_ec.c:718,1
    - Dst: core_clean
      Src: /src/relic/test/test_ec.c:719,1
    - Dst: util_banner
      Src: /src/relic/test/test_ec.c:723,1
    - Dst: core_clean
      Src: /src/relic/test/test_ec.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 727
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 727
    functionName: main
    functionSourceFile: /src/relic/test/test_ec.c
    functionUses: 97
    functionsReached:
    - util_banner
    - ec_param_set_any
    - core_clean
    - RLC_THROW
    - core_init
    - test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:43,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:46,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:47,1
    - Dst: fp_free
      Src: /src/relic/test/test_fp.c:48,1
    - Dst: util_print
      Src: /src/relic/test/test_fp.c:53,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_fp.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: memory
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 36
    functionsReached:
    - fp_null
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - fp_free
    - fp_new
    linkageType: ''
    returnType: int
    signature: int memory(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:74,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:75,1
    - Dst: bn_null
      Src: /src/relic/test/test_fp.c:76,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:79,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:80,1
    - Dst: bn_new
      Src: /src/relic/test/test_fp.c:81,1
    - Dst: bn_new
      Src: /src/relic/test/test_fp.c:82,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:84,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:85,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:86,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:87,1
    - Dst: fp_copy
      Src: /src/relic/test/test_fp.c:88,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:89,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:89,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:91,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:92,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:93,1
    - Dst: fp_copy_sec
      Src: /src/relic/test/test_fp.c:94,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:95,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:95,1
    - Dst: fp_copy_sec
      Src: /src/relic/test/test_fp.c:96,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:97,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:97,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:102,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fp.c:103,1
    - Dst: fp_neg
      Src: /src/relic/test/test_fp.c:104,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:105,1
    - Dst: dv_cmp
      Src: /src/relic/test/test_fp.c:105,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:106,1
    - Dst: fp_neg
      Src: /src/relic/test/test_fp.c:107,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:108,1
    - Dst: dv_cmp
      Src: /src/relic/test/test_fp.c:109,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:110,1
    - Dst: dv_cmp
      Src: /src/relic/test/test_fp.c:110,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:112,1
    - Dst: dv_cmp
      Src: /src/relic/test/test_fp.c:112,1
    - Dst: fp_neg
      Src: /src/relic/test/test_fp.c:115,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:116,1
    - Dst: dv_cmp
      Src: /src/relic/test/test_fp.c:116,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:120,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:122,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:123,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fp.c:124,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:125,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:125,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:126,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:126,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:127,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:127,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_fp.c:128,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_fp.c:129,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:130,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_fp.c:130,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:135,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fp.c:136,1
    - Dst: fp_set_bit
      Src: /src/relic/test/test_fp.c:137,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:138,1
    - Dst: fp_get_bit
      Src: /src/relic/test/test_fp.c:138,1
    - Dst: fp_set_bit
      Src: /src/relic/test/test_fp.c:139,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:140,1
    - Dst: fp_get_bit
      Src: /src/relic/test/test_fp.c:140,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:146,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fp.c:147,1
    - Dst: fp_set_bit
      Src: /src/relic/test/test_fp.c:148,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:149,1
    - Dst: fp_bits
      Src: /src/relic/test/test_fp.c:149,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:154,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:156,1
    - Dst: fp_size_str
      Src: /src/relic/test/test_fp.c:157,1
    - Dst: fp_write_str
      Src: /src/relic/test/test_fp.c:158,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_fp.c:159,1
    - Dst: strlen
      Src: /src/relic/test/test_fp.c:159,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:160,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:160,1
    - Dst: memmove
      Src: /src/relic/test/test_fp.c:162,1
    - Dst: strlen
      Src: /src/relic/test/test_fp.c:162,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_fp.c:164,1
    - Dst: strlen
      Src: /src/relic/test/test_fp.c:164,1
    - Dst: fp_neg
      Src: /src/relic/test/test_fp.c:165,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:166,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:166,1
    - Dst: fp_write_bin
      Src: /src/relic/test/test_fp.c:168,1
    - Dst: fp_read_bin
      Src: /src/relic/test/test_fp.c:169,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:170,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:170,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:174,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:175,1
    - Dst: fp_prime_back
      Src: /src/relic/test/test_fp.c:176,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:177,1
    - Dst: fp_size_str
      Src: /src/relic/test/test_fp.c:177,1
    - Dst: bn_bits
      Src: /src/relic/test/test_fp.c:177,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:181,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fp.c:182,1
    - Dst: bn_mod
      Src: /src/relic/test/test_fp.c:183,1
    - Dst: core_get
      Src: /src/relic/test/test_fp.c:183,1
    - Dst: fp_prime_conv
      Src: /src/relic/test/test_fp.c:184,1
    - Dst: fp_prime_back
      Src: /src/relic/test/test_fp.c:185,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:186,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_fp.c:186,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fp.c:187,1
    - Dst: bn_mod
      Src: /src/relic/test/test_fp.c:188,1
    - Dst: core_get
      Src: /src/relic/test/test_fp.c:188,1
    - Dst: fp_prime_conv
      Src: /src/relic/test/test_fp.c:189,1
    - Dst: fp_prime_back
      Src: /src/relic/test/test_fp.c:190,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:191,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_fp.c:191,1
    - Dst: fp_prime_conv_dig
      Src: /src/relic/test/test_fp.c:192,1
    - Dst: fp_prime_back
      Src: /src/relic/test/test_fp.c:193,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:194,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_fp.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 197
    functionName: util
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 3
    functionsReached:
    - fp_null
    - fp_cmp_dig
    - memmove
    - fp_copy_sec
    - fp_size_str
    - bn_cmp
    - fp_prime_back
    - bn_null
    - fp_cmp
    - bn_mod
    - fp_read_str
    - fp_write_bin
    - bn_cmp_dig
    - fp_copy
    - bn_rand
    - strlen
    - TEST_CASE
    - dv_cmp
    - fp_read_bin
    - fp_new
    - fp_rand
    - fp_prime_conv_dig
    - fp_bits
    - bn_new
    - fp_zero
    - fp_get_bit
    - fp_write_str
    - core_get
    - fp_neg
    - fp_set_bit
    - fp_set_dig
    - fp_prime_conv
    - TEST_ASSERT
    - fp_is_zero
    - bn_bits
    - rand_bytes
    linkageType: ''
    returnType: int
    signature: int util(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:214,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:215,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:216,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:217,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:218,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:221,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:222,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:223,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:224,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:225,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:227,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:228,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:229,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:230,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:231,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:232,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:232,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:235,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:236,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:237,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:238,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:239,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:240,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:241,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:242,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:243,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:243,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:246,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:247,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fp.c:248,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:249,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:250,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:250,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:253,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:254,1
    - Dst: fp_neg
      Src: /src/relic/test/test_fp.c:255,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:256,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:257,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:257,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:261,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:262,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:263,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:264,1
    - Dst: fp_add_basic
      Src: /src/relic/test/test_fp.c:265,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:266,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:266,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:271,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:272,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:273,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:274,1
    - Dst: fp_add_integ
      Src: /src/relic/test/test_fp.c:275,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:276,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 279
    functionName: addition
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 3
    functionsReached:
    - fp_null
    - fp_neg
    - fp_cmp
    - TEST_CASE
    - fp_add_integ
    - fp_rand
    - fp_new
    - TEST_ASSERT
    - fp_is_zero
    - fp_add
    - fp_zero
    - fp_add_basic
    linkageType: ''
    returnType: int
    signature: int addition(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:297,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:298,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:299,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:300,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:303,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:304,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:305,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:306,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:308,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:309,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:310,1
    - Dst: fp_sub
      Src: /src/relic/test/test_fp.c:311,1
    - Dst: fp_sub
      Src: /src/relic/test/test_fp.c:312,1
    - Dst: fp_neg
      Src: /src/relic/test/test_fp.c:313,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:314,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:314,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:318,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:319,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fp.c:320,1
    - Dst: fp_sub
      Src: /src/relic/test/test_fp.c:321,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:322,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:322,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:326,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:327,1
    - Dst: fp_sub
      Src: /src/relic/test/test_fp.c:328,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:329,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:329,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:334,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:335,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:336,1
    - Dst: fp_sub
      Src: /src/relic/test/test_fp.c:337,1
    - Dst: fp_sub_basic
      Src: /src/relic/test/test_fp.c:338,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:339,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:339,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:344,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:345,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:346,1
    - Dst: fp_sub
      Src: /src/relic/test/test_fp.c:347,1
    - Dst: fp_sub_integ
      Src: /src/relic/test/test_fp.c:348,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:349,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:349,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:354,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:355,1
    - Dst: fp_neg
      Src: /src/relic/test/test_fp.c:356,1
    - Dst: fp_neg_basic
      Src: /src/relic/test/test_fp.c:357,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:358,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:358,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:363,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:364,1
    - Dst: fp_neg
      Src: /src/relic/test/test_fp.c:365,1
    - Dst: fp_neg_integ
      Src: /src/relic/test/test_fp.c:366,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:367,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 370
    functionName: subtraction
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 3
    functionsReached:
    - fp_null
    - fp_sub
    - fp_neg
    - fp_cmp
    - TEST_CASE
    - fp_rand
    - fp_new
    - TEST_ASSERT
    - fp_is_zero
    - fp_sub_integ
    - fp_neg_integ
    - fp_zero
    - fp_neg_basic
    - fp_sub_basic
    linkageType: ''
    returnType: int
    signature: int subtraction(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:387,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:388,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:389,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:390,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:391,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:392,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:395,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:396,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:397,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:398,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:399,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:400,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:402,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:403,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:404,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:405,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:406,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:407,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:407,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:410,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:411,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:412,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:413,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:414,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:415,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:416,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:417,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:418,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:418,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:421,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:422,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:423,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:424,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:425,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:426,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:427,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:428,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:429,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:430,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:430,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:433,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:434,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_fp.c:435,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:436,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:437,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:437,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:440,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:441,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fp.c:442,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:443,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:444,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:444,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:448,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:449,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:450,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:451,1
    - Dst: fp_mul_basic
      Src: /src/relic/test/test_fp.c:452,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:453,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:453,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:459,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:460,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:461,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:462,1
    - Dst: fp_mul_integ
      Src: /src/relic/test/test_fp.c:463,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:464,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:464,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:470,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:471,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:472,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:473,1
    - Dst: fp_mul_comba
      Src: /src/relic/test/test_fp.c:474,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:475,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:475,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:481,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:482,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:483,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:484,1
    - Dst: fp_mul_karat
      Src: /src/relic/test/test_fp.c:485,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:486,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 490
    functionName: multiplication
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 3
    functionsReached:
    - fp_null
    - fp_cmp
    - TEST_CASE
    - fp_set_dig
    - fp_mul
    - fp_rand
    - fp_new
    - TEST_ASSERT
    - fp_is_zero
    - fp_mul_integ
    - fp_add
    - fp_zero
    - fp_mul_basic
    - fp_mul_comba
    - fp_mul_karat
    linkageType: ''
    returnType: int
    signature: int multiplication(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:509,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:510,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:511,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:514,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:515,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:516,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:518,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:519,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:520,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:521,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:522,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:522,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:526,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:527,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:528,1
    - Dst: fp_sqr_basic
      Src: /src/relic/test/test_fp.c:529,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:530,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:530,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:535,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:536,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:537,1
    - Dst: fp_sqr_integ
      Src: /src/relic/test/test_fp.c:538,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:539,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:539,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:544,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:545,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:546,1
    - Dst: fp_sqr_comba
      Src: /src/relic/test/test_fp.c:547,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:548,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:548,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:553,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:554,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:555,1
    - Dst: fp_sqr_karat
      Src: /src/relic/test/test_fp.c:556,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:557,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 560
    functionName: squaring
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 0
    functionsReached:
    - fp_null
    - fp_sqr_karat
    - fp_sqr_basic
    - fp_cmp
    - TEST_CASE
    - fp_sqr
    - fp_mul
    - fp_rand
    - fp_new
    - TEST_ASSERT
    - fp_sqr_comba
    - fp_sqr_integ
    linkageType: ''
    returnType: int
    signature: int squaring(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:576,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:577,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:578,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:581,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:582,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:583,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:585,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:586,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:587,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_fp.c:588,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:589,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:589,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:593,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:594,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_fp.c:595,1
    - Dst: fp_dbl_basic
      Src: /src/relic/test/test_fp.c:596,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:597,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:597,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:602,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:603,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_fp.c:604,1
    - Dst: fp_dbl_integ
      Src: /src/relic/test/test_fp.c:605,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:606,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:606,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:610,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:611,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_fp.c:612,1
    - Dst: fp_hlv
      Src: /src/relic/test/test_fp.c:613,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:614,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:614,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:619,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:620,1
    - Dst: fp_hlv
      Src: /src/relic/test/test_fp.c:621,1
    - Dst: fp_hlv_basic
      Src: /src/relic/test/test_fp.c:622,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:623,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:623,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:628,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:629,1
    - Dst: fp_hlv
      Src: /src/relic/test/test_fp.c:630,1
    - Dst: fp_hlv_integ
      Src: /src/relic/test/test_fp.c:631,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:632,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:632,1
    - Dst: fp_prime_get_mod18
      Src: /src/relic/test/test_fp.c:636,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:637,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:638,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_fp.c:639,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:640,1
    - Dst: fp_trs
      Src: /src/relic/test/test_fp.c:641,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:642,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 645
    functionName: doubling_halving_trisecting
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 0
    functionsReached:
    - fp_null
    - fp_dbl_integ
    - fp_cmp
    - TEST_CASE
    - fp_dbl_basic
    - fp_hlv
    - fp_prime_get_mod18
    - fp_trs
    - fp_rand
    - fp_new
    - TEST_ASSERT
    - fp_dbl
    - fp_add
    - fp_hlv_integ
    - fp_hlv_basic
    linkageType: ''
    returnType: int
    signature: int doubling_halving_trisecting(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:662,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:663,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:664,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:667,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:668,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:669,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:671,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:672,1
    - Dst: fp_lsh
      Src: /src/relic/test/test_fp.c:674,1
    - Dst: fp_rsh
      Src: /src/relic/test/test_fp.c:675,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:676,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:676,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:679,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:680,1
    - Dst: fp_lsh
      Src: /src/relic/test/test_fp.c:682,1
    - Dst: fp_rsh
      Src: /src/relic/test/test_fp.c:683,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:684,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:684,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:687,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:688,1
    - Dst: fp_lsh
      Src: /src/relic/test/test_fp.c:690,1
    - Dst: fp_rsh
      Src: /src/relic/test/test_fp.c:691,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:692,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:692,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:695,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:696,1
    - Dst: fp_lsh
      Src: /src/relic/test/test_fp.c:698,1
    - Dst: fp_rsh
      Src: /src/relic/test/test_fp.c:699,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:700,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:700,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:703,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:704,1
    - Dst: fp_lsh
      Src: /src/relic/test/test_fp.c:707,1
    - Dst: fp_rsh
      Src: /src/relic/test/test_fp.c:708,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:709,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:709,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:712,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:713,1
    - Dst: fp_lsh
      Src: /src/relic/test/test_fp.c:716,1
    - Dst: fp_rsh
      Src: /src/relic/test/test_fp.c:717,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:718,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 720
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 720
    functionName: shifting
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 0
    functionsReached:
    - fp_null
    - fp_rsh
    - fp_cmp
    - fp_lsh
    - TEST_CASE
    - fp_rand
    - fp_new
    - TEST_ASSERT
    linkageType: ''
    returnType: int
    signature: int shifting(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:737,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:738,1
    - Dst: dv_null
      Src: /src/relic/test/test_fp.c:739,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:742,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:743,1
    - Dst: dv_new
      Src: /src/relic/test/test_fp.c:744,1
    - Dst: dv_zero
      Src: /src/relic/test/test_fp.c:745,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:747,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:748,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fp.c:749,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fp.c:749,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:751,1
    - Dst: fp_sub
      Src: /src/relic/test/test_fp.c:752,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:753,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:753,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:753,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:757,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:758,1
    - Dst: fp_muln_low
      Src: /src/relic/test/test_fp.c:759,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fp.c:759,1
    - Dst: fp_rdc_basic
      Src: /src/relic/test/test_fp.c:760,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:761,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:761,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:766,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:767,1
    - Dst: fp_muln_low
      Src: /src/relic/test/test_fp.c:768,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fp.c:768,1
    - Dst: fp_rdc_monty
      Src: /src/relic/test/test_fp.c:769,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:770,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:770,1
    - Dst: fp_prime_get_sps
      Src: /src/relic/test/test_fp.c:775,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:776,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:777,1
    - Dst: fp_muln_low
      Src: /src/relic/test/test_fp.c:778,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fp.c:778,1
    - Dst: fp_rdc_quick
      Src: /src/relic/test/test_fp.c:779,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:780,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:780,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 785
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 785
    functionName: reduction
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 0
    functionsReached:
    - fp_null
    - dv_copy
    - fp_sub
    - fp_rdc_basic
    - dv_zero
    - fp_prime_get_sps
    - TEST_CASE
    - fp_mul
    - fp_new
    - fp_rand
    - TEST_ASSERT
    - fp_is_zero
    - dv_new
    - fp_rdc_monty
    - fp_rdc_quick
    - dv_null
    - fp_prime_get
    - fp_muln_low
    linkageType: ''
    returnType: int
    signature: int reduction(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:801,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:802,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:803,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:804,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:805,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:808,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:809,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:810,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:811,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:812,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:814,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:816,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:817,1
    - Dst: fp_inv
      Src: /src/relic/test/test_fp.c:818,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:819,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:820,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_fp.c:820,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_fp.c:821,1
    - Dst: fp_inv
      Src: /src/relic/test/test_fp.c:822,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:823,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_fp.c:823,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:827,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:829,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:830,1
    - Dst: fp_inv
      Src: /src/relic/test/test_fp.c:831,1
    - Dst: fp_inv_basic
      Src: /src/relic/test/test_fp.c:832,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:833,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:833,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:838,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:840,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:841,1
    - Dst: fp_inv
      Src: /src/relic/test/test_fp.c:842,1
    - Dst: fp_inv_binar
      Src: /src/relic/test/test_fp.c:843,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:844,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:844,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:849,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:851,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:852,1
    - Dst: fp_inv
      Src: /src/relic/test/test_fp.c:853,1
    - Dst: fp_inv_monty
      Src: /src/relic/test/test_fp.c:854,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:855,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:855,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:860,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:862,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:863,1
    - Dst: fp_inv
      Src: /src/relic/test/test_fp.c:864,1
    - Dst: fp_inv_exgcd
      Src: /src/relic/test/test_fp.c:865,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:866,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:866,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:871,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:873,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:874,1
    - Dst: fp_inv
      Src: /src/relic/test/test_fp.c:875,1
    - Dst: fp_inv_divst
      Src: /src/relic/test/test_fp.c:876,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:877,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:877,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:882,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:884,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:885,1
    - Dst: fp_inv
      Src: /src/relic/test/test_fp.c:886,1
    - Dst: fp_inv_jmpds
      Src: /src/relic/test/test_fp.c:887,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:888,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:888,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:893,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:895,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:896,1
    - Dst: fp_inv
      Src: /src/relic/test/test_fp.c:897,1
    - Dst: fp_inv_lower
      Src: /src/relic/test/test_fp.c:898,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:899,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:899,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:903,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:905,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:906,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:907,1
    - Dst: fp_is_zero
      Src: /src/relic/test/test_fp.c:907,1
    - Dst: fp_copy
      Src: /src/relic/test/test_fp.c:908,1
    - Dst: fp_copy
      Src: /src/relic/test/test_fp.c:909,1
    - Dst: fp_inv
      Src: /src/relic/test/test_fp.c:910,1
    - Dst: fp_inv
      Src: /src/relic/test/test_fp.c:911,1
    - Dst: fp_inv_sim
      Src: /src/relic/test/test_fp.c:912,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:913,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:913,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:914,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 916
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 916
    functionName: inversion
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 0
    functionsReached:
    - fp_null
    - fp_cmp_dig
    - fp_inv_monty
    - fp_mul
    - fp_inv_binar
    - fp_cmp
    - fp_inv_jmpds
    - fp_inv_lower
    - fp_inv_divst
    - fp_copy
    - TEST_CASE
    - fp_inv_basic
    - fp_rand
    - fp_new
    - fp_set_dig
    - fp_inv
    - TEST_ASSERT
    - fp_is_zero
    - fp_inv_sim
    - fp_inv_exgcd
    linkageType: ''
    returnType: int
    signature: int inversion(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:934,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:935,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:938,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:939,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:941,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fp.c:942,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:943,1
    - Dst: fp_smb
      Src: /src/relic/test/test_fp.c:943,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:944,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:945,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:946,1
    - Dst: fp_smb
      Src: /src/relic/test/test_fp.c:946,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:948,1
    - Dst: fp_srt
      Src: /src/relic/test/test_fp.c:949,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:950,1
    - Dst: fp_smb
      Src: /src/relic/test/test_fp.c:950,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:955,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:956,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:957,1
    - Dst: fp_smb
      Src: /src/relic/test/test_fp.c:957,1
    - Dst: fp_smb_basic
      Src: /src/relic/test/test_fp.c:957,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:962,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:963,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:964,1
    - Dst: fp_smb
      Src: /src/relic/test/test_fp.c:964,1
    - Dst: fp_smb_binar
      Src: /src/relic/test/test_fp.c:964,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:969,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:970,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:971,1
    - Dst: fp_smb
      Src: /src/relic/test/test_fp.c:971,1
    - Dst: fp_smb_divst
      Src: /src/relic/test/test_fp.c:971,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:975,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:976,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:977,1
    - Dst: fp_smb
      Src: /src/relic/test/test_fp.c:977,1
    - Dst: fp_smb_jmpds
      Src: /src/relic/test/test_fp.c:977,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:981,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:982,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:983,1
    - Dst: fp_smb
      Src: /src/relic/test/test_fp.c:983,1
    - Dst: fp_smb_lower
      Src: /src/relic/test/test_fp.c:983,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 986
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 986
    functionName: symbol
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 1
    functionsReached:
    - fp_null
    - TEST_CASE
    - fp_smb_basic
    - fp_sqr
    - TEST_ASSERT
    - fp_new
    - fp_rand
    - fp_srt
    - fp_smb_binar
    - fp_smb_jmpds
    - fp_smb
    - fp_zero
    - fp_smb_lower
    - fp_smb_divst
    linkageType: ''
    returnType: int
    signature: int symbol(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1002,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1003,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1004,1
    - Dst: bn_null
      Src: /src/relic/test/test_fp.c:1005,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1008,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1009,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1010,1
    - Dst: bn_new
      Src: /src/relic/test/test_fp.c:1011,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:1013,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1014,1
    - Dst: bn_zero
      Src: /src/relic/test/test_fp.c:1015,1
    - Dst: fp_exp
      Src: /src/relic/test/test_fp.c:1016,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1017,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_fp.c:1017,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_fp.c:1018,1
    - Dst: fp_exp
      Src: /src/relic/test/test_fp.c:1019,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1020,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1020,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fp.c:1021,1
    - Dst: fp_exp
      Src: /src/relic/test/test_fp.c:1022,1
    - Dst: bn_neg
      Src: /src/relic/test/test_fp.c:1023,1
    - Dst: fp_exp
      Src: /src/relic/test/test_fp.c:1024,1
    - Dst: fp_inv
      Src: /src/relic/test/test_fp.c:1025,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1026,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1026,1
    - Dst: dv_copy
      Src: /src/relic/test/test_fp.c:1029,1
    - Dst: fp_prime_get
      Src: /src/relic/test/test_fp.c:1029,1
    - Dst: fp_exp
      Src: /src/relic/test/test_fp.c:1030,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1031,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1031,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:1036,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1037,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fp.c:1038,1
    - Dst: fp_exp
      Src: /src/relic/test/test_fp.c:1039,1
    - Dst: fp_exp_basic
      Src: /src/relic/test/test_fp.c:1040,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1041,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1041,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:1047,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1048,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fp.c:1049,1
    - Dst: fp_exp
      Src: /src/relic/test/test_fp.c:1050,1
    - Dst: fp_exp_slide
      Src: /src/relic/test/test_fp.c:1051,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1052,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1052,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:1058,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1059,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fp.c:1060,1
    - Dst: fp_exp
      Src: /src/relic/test/test_fp.c:1061,1
    - Dst: fp_exp_monty
      Src: /src/relic/test/test_fp.c:1062,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1063,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1067
    functionName: exponentiation
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 3
    functionsReached:
    - fp_null
    - fp_cmp_dig
    - fp_exp_monty
    - bn_set_dig
    - dv_copy
    - bn_null
    - fp_cmp
    - bn_rand
    - fp_exp
    - TEST_CASE
    - fp_new
    - fp_rand
    - bn_neg
    - bn_new
    - fp_prime_get
    - bn_zero
    - fp_exp_slide
    - TEST_ASSERT
    - fp_inv
    - fp_exp_basic
    linkageType: ''
    returnType: int
    signature: int exponentiation(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1084,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1085,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1086,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1089,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1090,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1091,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:1093,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fp.c:1094,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1095,1
    - Dst: fp_is_sqr
      Src: /src/relic/test/test_fp.c:1095,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1096,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:1097,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1098,1
    - Dst: fp_is_sqr
      Src: /src/relic/test/test_fp.c:1098,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1100,1
    - Dst: fp_srt
      Src: /src/relic/test/test_fp.c:1101,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1102,1
    - Dst: fp_is_sqr
      Src: /src/relic/test/test_fp.c:1102,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:1106,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1107,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:1108,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1109,1
    - Dst: fp_srt
      Src: /src/relic/test/test_fp.c:1109,1
    - Dst: fp_neg
      Src: /src/relic/test/test_fp.c:1110,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1111,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1111,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1111,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1112,1
    - Dst: fp_srt
      Src: /src/relic/test/test_fp.c:1113,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:1114,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1115,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1115,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1118,1
    - Dst: fp_is_sqr
      Src: /src/relic/test/test_fp.c:1119,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1120,1
    - Dst: fp_srt
      Src: /src/relic/test/test_fp.c:1120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1123
    functionName: square_root
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 0
    functionsReached:
    - fp_null
    - fp_neg
    - fp_cmp
    - TEST_CASE
    - fp_sqr
    - fp_is_sqr
    - TEST_ASSERT
    - fp_new
    - fp_rand
    - fp_srt
    - fp_zero
    linkageType: ''
    returnType: int
    signature: int square_root(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1139,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1140,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1141,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1142,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1145,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1146,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1147,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1148,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:1150,1
    - Dst: fp_zero
      Src: /src/relic/test/test_fp.c:1151,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1152,1
    - Dst: fp_is_cub
      Src: /src/relic/test/test_fp.c:1152,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1153,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:1154,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:1155,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1156,1
    - Dst: fp_is_cub
      Src: /src/relic/test/test_fp.c:1156,1
    - Dst: fp_prime_get_mod18
      Src: /src/relic/test/test_fp.c:1158,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1160,1
    - Dst: fp_crt
      Src: /src/relic/test/test_fp.c:1161,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1162,1
    - Dst: fp_is_cub
      Src: /src/relic/test/test_fp.c:1162,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:1167,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1169,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:1170,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:1171,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1172,1
    - Dst: fp_crt
      Src: /src/relic/test/test_fp.c:1172,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/test/test_fp.c:1173,1
    - Dst: fp_copy
      Src: /src/relic/test/test_fp.c:1174,1
    - Dst: fp_prime_get_crt
      Src: /src/relic/test/test_fp.c:1174,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_fp.c:1175,1
    - Dst: fp_copy
      Src: /src/relic/test/test_fp.c:1176,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:1177,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:1178,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1180,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:1181,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1182,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:1183,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1184,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1189,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1191,1
    - Dst: fp_crt
      Src: /src/relic/test/test_fp.c:1192,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_fp.c:1193,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:1194,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1195,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1199
    functionName: cube_root
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 0
    functionsReached:
    - fp_null
    - fp_crt
    - fp_cmp_dig
    - fp_cmp
    - TEST_CASE
    - fp_prime_get_mod18
    - fp_sqr
    - fp_mul
    - TEST_ASSERT
    - fp_new
    - fp_is_cub
    - fp_rand
    - fp_prime_get_cnr
    - fp_zero
    - fp_prime_get_crt
    - fp_copy
    linkageType: ''
    returnType: int
    signature: int cube_root(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1218,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1219,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1220,1
    - Dst: fp_null
      Src: /src/relic/test/test_fp.c:1221,1
    - Dst: bn_null
      Src: /src/relic/test/test_fp.c:1222,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1225,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1226,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1227,1
    - Dst: fp_new
      Src: /src/relic/test/test_fp.c:1228,1
    - Dst: bn_new
      Src: /src/relic/test/test_fp.c:1229,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:1231,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1232,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1233,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_fp.c:1235,1
    - Dst: fp_add
      Src: /src/relic/test/test_fp.c:1236,1
    - Dst: fp_add_dig
      Src: /src/relic/test/test_fp.c:1237,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1238,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1238,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:1241,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1242,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1243,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_fp.c:1245,1
    - Dst: fp_sub
      Src: /src/relic/test/test_fp.c:1246,1
    - Dst: fp_sub_dig
      Src: /src/relic/test/test_fp.c:1247,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1248,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1248,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:1251,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1252,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1253,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_fp.c:1255,1
    - Dst: fp_mul
      Src: /src/relic/test/test_fp.c:1256,1
    - Dst: fp_mul_dig
      Src: /src/relic/test/test_fp.c:1257,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1258,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1258,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_fp.c:1261,1
    - Dst: fp_rand
      Src: /src/relic/test/test_fp.c:1262,1
    - Dst: bn_rand
      Src: /src/relic/test/test_fp.c:1263,1
    - Dst: fp_exp_dig
      Src: /src/relic/test/test_fp.c:1264,1
    - Dst: fp_exp
      Src: /src/relic/test/test_fp.c:1265,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_fp.c:1266,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_fp.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1269
    functionName: digit
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 2
    functionsReached:
    - fp_null
    - fp_sub
    - bn_null
    - fp_cmp
    - TEST_CASE
    - fp_exp
    - fp_set_dig
    - fp_sub_dig
    - fp_new
    - fp_rand
    - TEST_ASSERT
    - fp_mul
    - fp_mul_dig
    - bn_new
    - fp_add
    - fp_add_dig
    - fp_exp_dig
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int digit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_fp.c:1284,1
    - Dst: core_clean
      Src: /src/relic/test/test_fp.c:1285,1
    - Dst: util_banner
      Src: /src/relic/test/test_fp.c:1289,1
    - Dst: fp_param_set_any
      Src: /src/relic/test/test_fp.c:1292,1
    - Dst: fp_param_print
      Src: /src/relic/test/test_fp.c:1293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1294
    functionName: main
    functionSourceFile: /src/relic/test/test_fp.c
    functionUses: 97
    functionsReached:
    - util_banner
    - fp_param_set_any
    - core_clean
    - core_init
    - fp_param_print
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv_null
      Src: /src/relic/test/test_dv.c:42,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_dv.c:45,1
    - Dst: dv_new
      Src: /src/relic/test/test_dv.c:46,1
    - Dst: dv_free
      Src: /src/relic/test/test_dv.c:47,1
    - Dst: util_print
      Src: /src/relic/test/test_dv.c:52,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_dv.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 60
    functionName: memory
    functionSourceFile: /src/relic/test/test_dv.c
    functionUses: 36
    functionsReached:
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - dv_new
    - dv_null
    - dv_free
    linkageType: ''
    returnType: int
    signature: int memory(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv_null
      Src: /src/relic/test/test_dv.c:66,1
    - Dst: dv_null
      Src: /src/relic/test/test_dv.c:67,1
    - Dst: dv_new
      Src: /src/relic/test/test_dv.c:70,1
    - Dst: dv_new
      Src: /src/relic/test/test_dv.c:71,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_dv.c:73,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_dv.c:74,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_dv.c:75,1
    - Dst: dv_cmp
      Src: /src/relic/test/test_dv.c:76,1
    - Dst: dv_cmp
      Src: /src/relic/test/test_dv.c:77,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:78,1
    - Dst: dv_cmp
      Src: /src/relic/test/test_dv.c:78,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:80,1
    - Dst: dv_cmp
      Src: /src/relic/test/test_dv.c:80,1
    - Dst: dv_copy
      Src: /src/relic/test/test_dv.c:83,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:84,1
    - Dst: dv_cmp_sec
      Src: /src/relic/test/test_dv.c:84,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_dv.c:88,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_dv.c:89,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_dv.c:90,1
    - Dst: dv_copy_sec
      Src: /src/relic/test/test_dv.c:91,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:92,1
    - Dst: dv_cmp_sec
      Src: /src/relic/test/test_dv.c:92,1
    - Dst: dv_copy_sec
      Src: /src/relic/test/test_dv.c:93,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:94,1
    - Dst: dv_cmp_sec
      Src: /src/relic/test/test_dv.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 97
    functionName: copy
    functionSourceFile: /src/relic/test/test_dv.c
    functionUses: 212
    functionsReached:
    - dv_copy
    - TEST_CASE
    - dv_cmp
    - dv_cmp_sec
    - TEST_ASSERT
    - dv_new
    - dv_null
    - dv_copy_sec
    - rand_bytes
    linkageType: ''
    returnType: int
    signature: int copy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv_null
      Src: /src/relic/test/test_dv.c:111,1
    - Dst: dv_null
      Src: /src/relic/test/test_dv.c:112,1
    - Dst: dv_null
      Src: /src/relic/test/test_dv.c:113,1
    - Dst: dv_null
      Src: /src/relic/test/test_dv.c:114,1
    - Dst: dv_new
      Src: /src/relic/test/test_dv.c:117,1
    - Dst: dv_new
      Src: /src/relic/test/test_dv.c:118,1
    - Dst: dv_new
      Src: /src/relic/test/test_dv.c:119,1
    - Dst: dv_new
      Src: /src/relic/test/test_dv.c:120,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_dv.c:122,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_dv.c:123,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_dv.c:124,1
    - Dst: dv_copy
      Src: /src/relic/test/test_dv.c:125,1
    - Dst: dv_swap_sec
      Src: /src/relic/test/test_dv.c:126,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:127,1
    - Dst: dv_cmp_sec
      Src: /src/relic/test/test_dv.c:127,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_dv.c:131,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_dv.c:132,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_dv.c:133,1
    - Dst: dv_copy
      Src: /src/relic/test/test_dv.c:134,1
    - Dst: dv_copy
      Src: /src/relic/test/test_dv.c:135,1
    - Dst: dv_swap_sec
      Src: /src/relic/test/test_dv.c:136,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:137,1
    - Dst: dv_cmp_sec
      Src: /src/relic/test/test_dv.c:137,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:138,1
    - Dst: dv_cmp_sec
      Src: /src/relic/test/test_dv.c:138,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:139,1
    - Dst: dv_cmp_sec
      Src: /src/relic/test/test_dv.c:139,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:140,1
    - Dst: dv_cmp_sec
      Src: /src/relic/test/test_dv.c:140,1
    - Dst: dv_swap_sec
      Src: /src/relic/test/test_dv.c:141,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:142,1
    - Dst: dv_cmp_sec
      Src: /src/relic/test/test_dv.c:142,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:143,1
    - Dst: dv_cmp_sec
      Src: /src/relic/test/test_dv.c:143,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:144,1
    - Dst: dv_cmp_sec
      Src: /src/relic/test/test_dv.c:144,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:145,1
    - Dst: dv_cmp_sec
      Src: /src/relic/test/test_dv.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 148
    functionName: swap
    functionSourceFile: /src/relic/test/test_dv.c
    functionUses: 95
    functionsReached:
    - dv_copy
    - dv_swap_sec
    - TEST_CASE
    - dv_cmp_sec
    - TEST_ASSERT
    - dv_new
    - dv_null
    - rand_bytes
    linkageType: ''
    returnType: int
    signature: int swap(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv_null
      Src: /src/relic/test/test_dv.c:164,1
    - Dst: dv_null
      Src: /src/relic/test/test_dv.c:165,1
    - Dst: dv_null
      Src: /src/relic/test/test_dv.c:166,1
    - Dst: dv_new
      Src: /src/relic/test/test_dv.c:169,1
    - Dst: dv_new
      Src: /src/relic/test/test_dv.c:170,1
    - Dst: dv_new
      Src: /src/relic/test/test_dv.c:171,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_dv.c:173,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_dv.c:174,1
    - Dst: dv_lshd
      Src: /src/relic/test/test_dv.c:176,1
    - Dst: dv_rshd
      Src: /src/relic/test/test_dv.c:177,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:178,1
    - Dst: dv_cmp
      Src: /src/relic/test/test_dv.c:178,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_dv.c:182,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_dv.c:183,1
    - Dst: dv_lshd
      Src: /src/relic/test/test_dv.c:186,1
    - Dst: dv_rshd
      Src: /src/relic/test/test_dv.c:187,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_dv.c:188,1
    - Dst: dv_cmp
      Src: /src/relic/test/test_dv.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 191
    functionName: shifting
    functionSourceFile: /src/relic/test/test_dv.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - dv_rshd
    - dv_cmp
    - TEST_ASSERT
    - dv_new
    - dv_null
    - rand_bytes
    - dv_lshd
    linkageType: ''
    returnType: int
    signature: int shifting(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_dv.c:204,1
    - Dst: core_clean
      Src: /src/relic/test/test_dv.c:205,1
    - Dst: util_banner
      Src: /src/relic/test/test_dv.c:209,1
    - Dst: memory
      Src: /src/relic/test/test_dv.c:211,1
    - Dst: core_clean
      Src: /src/relic/test/test_dv.c:212,1
    - Dst: copy
      Src: /src/relic/test/test_dv.c:216,1
    - Dst: core_clean
      Src: /src/relic/test/test_dv.c:217,1
    - Dst: swap
      Src: /src/relic/test/test_dv.c:221,1
    - Dst: core_clean
      Src: /src/relic/test/test_dv.c:222,1
    - Dst: shifting
      Src: /src/relic/test/test_dv.c:226,1
    - Dst: core_clean
      Src: /src/relic/test/test_dv.c:227,1
    - Dst: util_banner
      Src: /src/relic/test/test_dv.c:231,1
    - Dst: core_clean
      Src: /src/relic/test/test_dv.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 235
    functionName: main
    functionSourceFile: /src/relic/test/test_dv.c
    functionUses: 97
    functionsReached:
    - util_banner
    - memory
    - core_clean
    - swap
    - copy
    - shifting
    - core_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:44,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:45,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:46,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:47,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:48,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:49,1
    - Dst: fp_null
      Src: /src/relic/test/test_pp.c:50,1
    - Dst: fp_null
      Src: /src/relic/test/test_pp.c:51,1
    - Dst: fp_null
      Src: /src/relic/test/test_pp.c:52,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:55,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:56,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:57,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:58,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:59,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:60,1
    - Dst: fp_new
      Src: /src/relic/test/test_pp.c:61,1
    - Dst: fp_new
      Src: /src/relic/test/test_pp.c:62,1
    - Dst: fp_new
      Src: /src/relic/test/test_pp.c:63,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:65,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:67,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:68,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:69,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:70,1
    - Dst: ep_copy
      Src: /src/relic/test/test_pp.c:71,1
    - Dst: pp_add_k1
      Src: /src/relic/test/test_pp.c:72,1
    - Dst: pp_norm_k1
      Src: /src/relic/test/test_pp.c:73,1
    - Dst: ep_add
      Src: /src/relic/test/test_pp.c:74,1
    - Dst: ep_norm
      Src: /src/relic/test/test_pp.c:75,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:76,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_pp.c:76,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:80,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:81,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:82,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:83,1
    - Dst: ep_copy
      Src: /src/relic/test/test_pp.c:84,1
    - Dst: fp_zero
      Src: /src/relic/test/test_pp.c:85,1
    - Dst: fp_zero
      Src: /src/relic/test/test_pp.c:86,1
    - Dst: pp_add_k1
      Src: /src/relic/test/test_pp.c:87,1
    - Dst: fp_inv
      Src: /src/relic/test/test_pp.c:88,1
    - Dst: fp_mul
      Src: /src/relic/test/test_pp.c:89,1
    - Dst: pp_add_k1_basic
      Src: /src/relic/test/test_pp.c:90,1
    - Dst: fp_inv
      Src: /src/relic/test/test_pp.c:91,1
    - Dst: fp_mul
      Src: /src/relic/test/test_pp.c:92,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:93,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:93,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:98,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:99,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:100,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:101,1
    - Dst: ep_copy
      Src: /src/relic/test/test_pp.c:102,1
    - Dst: fp_zero
      Src: /src/relic/test/test_pp.c:103,1
    - Dst: fp_zero
      Src: /src/relic/test/test_pp.c:104,1
    - Dst: pp_add_k1
      Src: /src/relic/test/test_pp.c:105,1
    - Dst: fp_inv
      Src: /src/relic/test/test_pp.c:106,1
    - Dst: fp_mul
      Src: /src/relic/test/test_pp.c:107,1
    - Dst: pp_exp_k1
      Src: /src/relic/test/test_pp.c:108,1
    - Dst: pp_add_k1_projc
      Src: /src/relic/test/test_pp.c:109,1
    - Dst: fp_inv
      Src: /src/relic/test/test_pp.c:110,1
    - Dst: fp_mul
      Src: /src/relic/test/test_pp.c:111,1
    - Dst: pp_exp_k1
      Src: /src/relic/test/test_pp.c:112,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:113,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 116
    functionName: addition1
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - fp_null
    - fp_mul
    - ep_curve_get_ord
    - ep_add
    - ep_null
    - bn_null
    - fp_cmp
    - pp_add_k1
    - ep_norm
    - pp_norm_k1
    - pp_add_k1_basic
    - TEST_CASE
    - ep_cmp
    - ep_new
    - fp_new
    - pp_add_k1_projc
    - bn_new
    - fp_zero
    - ep_copy
    - TEST_ASSERT
    - fp_inv
    - pp_exp_k1
    - ep_rand
    linkageType: ''
    returnType: int
    signature: int addition1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:141,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:142,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:143,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:144,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:145,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:146,1
    - Dst: fp_null
      Src: /src/relic/test/test_pp.c:147,1
    - Dst: fp_null
      Src: /src/relic/test/test_pp.c:148,1
    - Dst: fp_null
      Src: /src/relic/test/test_pp.c:149,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:152,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:153,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:154,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:155,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:156,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:157,1
    - Dst: fp_new
      Src: /src/relic/test/test_pp.c:158,1
    - Dst: fp_new
      Src: /src/relic/test/test_pp.c:159,1
    - Dst: fp_new
      Src: /src/relic/test/test_pp.c:160,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:162,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:164,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:165,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:166,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:167,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_pp.c:168,1
    - Dst: pp_dbl_k1
      Src: /src/relic/test/test_pp.c:169,1
    - Dst: pp_norm_k1
      Src: /src/relic/test/test_pp.c:170,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:171,1
    - Dst: ep_norm
      Src: /src/relic/test/test_pp.c:172,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:173,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_pp.c:173,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:177,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:178,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:179,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:180,1
    - Dst: fp_zero
      Src: /src/relic/test/test_pp.c:181,1
    - Dst: fp_zero
      Src: /src/relic/test/test_pp.c:182,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_pp.c:183,1
    - Dst: pp_dbl_k1
      Src: /src/relic/test/test_pp.c:184,1
    - Dst: fp_inv
      Src: /src/relic/test/test_pp.c:185,1
    - Dst: fp_mul
      Src: /src/relic/test/test_pp.c:186,1
    - Dst: pp_exp_k1
      Src: /src/relic/test/test_pp.c:187,1
    - Dst: pp_dbl_k1_basic
      Src: /src/relic/test/test_pp.c:188,1
    - Dst: fp_inv
      Src: /src/relic/test/test_pp.c:189,1
    - Dst: fp_mul
      Src: /src/relic/test/test_pp.c:190,1
    - Dst: pp_exp_k1
      Src: /src/relic/test/test_pp.c:191,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:192,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:192,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:197,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:198,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:199,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:200,1
    - Dst: fp_zero
      Src: /src/relic/test/test_pp.c:201,1
    - Dst: fp_zero
      Src: /src/relic/test/test_pp.c:202,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_pp.c:203,1
    - Dst: pp_dbl_k1
      Src: /src/relic/test/test_pp.c:204,1
    - Dst: fp_inv
      Src: /src/relic/test/test_pp.c:205,1
    - Dst: fp_mul
      Src: /src/relic/test/test_pp.c:206,1
    - Dst: pp_exp_k1
      Src: /src/relic/test/test_pp.c:207,1
    - Dst: fp_set_dig
      Src: /src/relic/test/test_pp.c:208,1
    - Dst: pp_dbl_k1_projc
      Src: /src/relic/test/test_pp.c:209,1
    - Dst: fp_inv
      Src: /src/relic/test/test_pp.c:210,1
    - Dst: fp_mul
      Src: /src/relic/test/test_pp.c:211,1
    - Dst: pp_exp_k1
      Src: /src/relic/test/test_pp.c:212,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:213,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 216
    functionName: doubling1
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - fp_null
    - fp_mul
    - ep_curve_get_ord
    - pp_dbl_k1_projc
    - ep_null
    - pp_dbl_k1_basic
    - bn_null
    - fp_cmp
    - pp_dbl_k1
    - ep_norm
    - pp_norm_k1
    - TEST_CASE
    - ep_cmp
    - ep_new
    - fp_sqr
    - fp_new
    - bn_new
    - fp_zero
    - ep_dbl
    - fp_set_dig
    - TEST_ASSERT
    - fp_inv
    - pp_exp_k1
    - ep_rand
    linkageType: ''
    returnType: int
    signature: int doubling1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:241,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:242,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:243,1
    - Dst: fp_null
      Src: /src/relic/test/test_pp.c:244,1
    - Dst: fp_null
      Src: /src/relic/test/test_pp.c:245,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:248,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:249,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:250,1
    - Dst: fp_new
      Src: /src/relic/test/test_pp.c:251,1
    - Dst: fp_new
      Src: /src/relic/test/test_pp.c:252,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:255,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:256,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:257,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:258,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:261,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:262,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:263,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:264,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:265,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:265,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:266,1
    - Dst: pp_map_k1
      Src: /src/relic/test/test_pp.c:267,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:268,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:268,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:269,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:270,1
    - Dst: pp_map_k1
      Src: /src/relic/test/test_pp.c:271,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:272,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:272,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:273,1
    - Dst: pp_map_k1
      Src: /src/relic/test/test_pp.c:274,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:275,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:275,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:276,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:277,1
    - Dst: ep_norm
      Src: /src/relic/test/test_pp.c:278,1
    - Dst: pp_map_k1
      Src: /src/relic/test/test_pp.c:279,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:280,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:280,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:283,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:284,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:285,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:286,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:287,1
    - Dst: pp_map_k1
      Src: /src/relic/test/test_pp.c:288,1
    - Dst: pp_map_k1
      Src: /src/relic/test/test_pp.c:289,1
    - Dst: fp_exp
      Src: /src/relic/test/test_pp.c:290,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:291,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:291,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:292,1
    - Dst: pp_map_k1
      Src: /src/relic/test/test_pp.c:293,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:294,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:294,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:295,1
    - Dst: pp_map_k1
      Src: /src/relic/test/test_pp.c:296,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_pp.c:297,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:298,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:298,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:299,1
    - Dst: pp_map_k1
      Src: /src/relic/test/test_pp.c:300,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_pp.c:301,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:302,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:302,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:305,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:306,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:307,1
    - Dst: pp_map_k1
      Src: /src/relic/test/test_pp.c:308,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:309,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:310,1
    - Dst: pp_map_sim_k1
      Src: /src/relic/test/test_pp.c:311,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:312,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:312,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:313,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:314,1
    - Dst: pp_map_sim_k1
      Src: /src/relic/test/test_pp.c:315,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:316,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:316,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:317,1
    - Dst: pp_map_sim_k1
      Src: /src/relic/test/test_pp.c:318,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:319,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:319,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:320,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:321,1
    - Dst: pp_map_k1
      Src: /src/relic/test/test_pp.c:322,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:323,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:324,1
    - Dst: pp_map_k1
      Src: /src/relic/test/test_pp.c:325,1
    - Dst: fp_mul
      Src: /src/relic/test/test_pp.c:326,1
    - Dst: pp_map_sim_k1
      Src: /src/relic/test/test_pp.c:327,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:328,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:328,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:332,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:333,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:334,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:335,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:335,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:336,1
    - Dst: pp_map_tatep_k1
      Src: /src/relic/test/test_pp.c:337,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:338,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:338,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:339,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:340,1
    - Dst: pp_map_tatep_k1
      Src: /src/relic/test/test_pp.c:341,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:342,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:342,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:343,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:344,1
    - Dst: ep_norm
      Src: /src/relic/test/test_pp.c:345,1
    - Dst: pp_map_tatep_k1
      Src: /src/relic/test/test_pp.c:346,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:347,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:347,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:350,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:351,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:352,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:353,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:354,1
    - Dst: pp_map_tatep_k1
      Src: /src/relic/test/test_pp.c:355,1
    - Dst: pp_map_tatep_k1
      Src: /src/relic/test/test_pp.c:356,1
    - Dst: fp_exp
      Src: /src/relic/test/test_pp.c:357,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:358,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:358,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:359,1
    - Dst: pp_map_tatep_k1
      Src: /src/relic/test/test_pp.c:360,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:361,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:361,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:362,1
    - Dst: pp_map_tatep_k1
      Src: /src/relic/test/test_pp.c:363,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_pp.c:364,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:365,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:365,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:366,1
    - Dst: pp_map_tatep_k1
      Src: /src/relic/test/test_pp.c:367,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_pp.c:368,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:369,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:369,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:372,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:373,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:374,1
    - Dst: pp_map_tatep_k1
      Src: /src/relic/test/test_pp.c:375,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:376,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:377,1
    - Dst: pp_map_sim_tatep_k1
      Src: /src/relic/test/test_pp.c:378,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:379,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:379,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:380,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:381,1
    - Dst: pp_map_sim_tatep_k1
      Src: /src/relic/test/test_pp.c:382,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:383,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:383,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:384,1
    - Dst: pp_map_sim_tatep_k1
      Src: /src/relic/test/test_pp.c:385,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:386,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:386,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:387,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:388,1
    - Dst: pp_map_tatep_k1
      Src: /src/relic/test/test_pp.c:389,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:390,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:391,1
    - Dst: pp_map_tatep_k1
      Src: /src/relic/test/test_pp.c:392,1
    - Dst: fp_mul
      Src: /src/relic/test/test_pp.c:393,1
    - Dst: pp_map_sim_tatep_k1
      Src: /src/relic/test/test_pp.c:394,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:395,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:395,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:400,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:401,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:402,1
    - Dst: pp_map_weilp_k1
      Src: /src/relic/test/test_pp.c:403,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:404,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:404,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:405,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:406,1
    - Dst: pp_map_weilp_k1
      Src: /src/relic/test/test_pp.c:407,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:408,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:408,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:409,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:410,1
    - Dst: pp_map_weilp_k1
      Src: /src/relic/test/test_pp.c:411,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:412,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:412,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:415,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:416,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:417,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:418,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:419,1
    - Dst: pp_map_weilp_k1
      Src: /src/relic/test/test_pp.c:420,1
    - Dst: pp_map_weilp_k1
      Src: /src/relic/test/test_pp.c:421,1
    - Dst: fp_exp
      Src: /src/relic/test/test_pp.c:422,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:423,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:423,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:424,1
    - Dst: pp_map_weilp_k1
      Src: /src/relic/test/test_pp.c:425,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:426,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:426,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:427,1
    - Dst: pp_map_weilp_k1
      Src: /src/relic/test/test_pp.c:428,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_pp.c:429,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:430,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:430,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:431,1
    - Dst: pp_map_weilp_k1
      Src: /src/relic/test/test_pp.c:432,1
    - Dst: fp_sqr
      Src: /src/relic/test/test_pp.c:433,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:434,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:434,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:437,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:438,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:439,1
    - Dst: pp_map_weilp_k1
      Src: /src/relic/test/test_pp.c:440,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:441,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:442,1
    - Dst: pp_map_sim_weilp_k1
      Src: /src/relic/test/test_pp.c:443,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:444,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:444,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:445,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:446,1
    - Dst: pp_map_sim_weilp_k1
      Src: /src/relic/test/test_pp.c:447,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:448,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:448,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:449,1
    - Dst: pp_map_sim_weilp_k1
      Src: /src/relic/test/test_pp.c:450,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:451,1
    - Dst: fp_cmp_dig
      Src: /src/relic/test/test_pp.c:451,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:452,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:453,1
    - Dst: pp_map_weilp_k1
      Src: /src/relic/test/test_pp.c:454,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:455,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:456,1
    - Dst: pp_map_weilp_k1
      Src: /src/relic/test/test_pp.c:457,1
    - Dst: fp_mul
      Src: /src/relic/test/test_pp.c:458,1
    - Dst: pp_map_sim_weilp_k1
      Src: /src/relic/test/test_pp.c:459,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:460,1
    - Dst: fp_cmp
      Src: /src/relic/test/test_pp.c:460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 216
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 463
    functionName: pairing1
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - fp_null
    - fp_cmp_dig
    - fp_mul
    - pp_map_sim_tatep_k1
    - ep_curve_get_ord
    - ep_null
    - pp_map_tatep_k1
    - bn_null
    - fp_cmp
    - ep_mul
    - ep_norm
    - pp_map_sim_k1
    - fp_exp
    - TEST_CASE
    - ep_new
    - ep_set_infty
    - fp_sqr
    - fp_new
    - bn_rand_mod
    - bn_new
    - pp_map_k1
    - ep_dbl
    - TEST_ASSERT
    - pp_map_sim_weilp_k1
    - ep_rand
    - pp_map_weilp_k1
    linkageType: ''
    returnType: int
    signature: int pairing1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:490,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:491,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:492,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:493,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:494,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:495,1
    - Dst: fp2_null
      Src: /src/relic/test/test_pp.c:496,1
    - Dst: fp2_null
      Src: /src/relic/test/test_pp.c:497,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:500,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:501,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:502,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:503,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:504,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:505,1
    - Dst: fp2_new
      Src: /src/relic/test/test_pp.c:506,1
    - Dst: fp2_new
      Src: /src/relic/test/test_pp.c:507,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:509,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:511,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:512,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:513,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:514,1
    - Dst: ep_copy
      Src: /src/relic/test/test_pp.c:515,1
    - Dst: pp_add_k2
      Src: /src/relic/test/test_pp.c:516,1
    - Dst: pp_norm_k2
      Src: /src/relic/test/test_pp.c:517,1
    - Dst: ep_add
      Src: /src/relic/test/test_pp.c:518,1
    - Dst: ep_norm
      Src: /src/relic/test/test_pp.c:519,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:520,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_pp.c:520,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:524,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:525,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:526,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:527,1
    - Dst: ep_copy
      Src: /src/relic/test/test_pp.c:528,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:529,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:530,1
    - Dst: pp_add_k2
      Src: /src/relic/test/test_pp.c:531,1
    - Dst: pp_exp_k2
      Src: /src/relic/test/test_pp.c:532,1
    - Dst: pp_add_k2_basic
      Src: /src/relic/test/test_pp.c:533,1
    - Dst: pp_exp_k2
      Src: /src/relic/test/test_pp.c:534,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:535,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:535,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:540,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:541,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:542,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:543,1
    - Dst: ep_copy
      Src: /src/relic/test/test_pp.c:544,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:545,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:546,1
    - Dst: pp_add_k2
      Src: /src/relic/test/test_pp.c:547,1
    - Dst: pp_exp_k2
      Src: /src/relic/test/test_pp.c:548,1
    - Dst: pp_add_k2_projc
      Src: /src/relic/test/test_pp.c:549,1
    - Dst: pp_exp_k2
      Src: /src/relic/test/test_pp.c:550,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:551,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:551,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:555,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:556,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:557,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:558,1
    - Dst: ep_copy
      Src: /src/relic/test/test_pp.c:559,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:560,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:561,1
    - Dst: pp_add_k2_projc
      Src: /src/relic/test/test_pp.c:562,1
    - Dst: pp_add_k2_projc_basic
      Src: /src/relic/test/test_pp.c:563,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:564,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:564,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:569,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:570,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:571,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:572,1
    - Dst: ep_copy
      Src: /src/relic/test/test_pp.c:573,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:574,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:575,1
    - Dst: pp_add_k2_projc
      Src: /src/relic/test/test_pp.c:576,1
    - Dst: pp_add_k2_projc_lazyr
      Src: /src/relic/test/test_pp.c:577,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:578,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 582
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 582
    functionName: addition2
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 2
    functionsReached:
    - pp_add_k2_projc
    - pp_exp_k2
    - ep_curve_get_ord
    - fp2_null
    - ep_add
    - ep_null
    - bn_null
    - pp_add_k2
    - fp2_cmp
    - ep_norm
    - pp_norm_k2
    - pp_add_k2_basic
    - TEST_CASE
    - ep_cmp
    - ep_new
    - bn_new
    - ep_copy
    - pp_add_k2_projc_basic
    - TEST_ASSERT
    - fp2_zero
    - ep_rand
    - pp_add_k2_projc_lazyr
    - fp2_new
    linkageType: ''
    returnType: int
    signature: int addition2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:606,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:607,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:608,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:609,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:610,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:611,1
    - Dst: fp2_null
      Src: /src/relic/test/test_pp.c:612,1
    - Dst: fp2_null
      Src: /src/relic/test/test_pp.c:613,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:616,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:617,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:618,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:619,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:620,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:621,1
    - Dst: fp2_new
      Src: /src/relic/test/test_pp.c:622,1
    - Dst: fp2_new
      Src: /src/relic/test/test_pp.c:623,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:625,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:627,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:628,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:629,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:630,1
    - Dst: pp_dbl_k2
      Src: /src/relic/test/test_pp.c:631,1
    - Dst: pp_norm_k2
      Src: /src/relic/test/test_pp.c:632,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:633,1
    - Dst: ep_norm
      Src: /src/relic/test/test_pp.c:634,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:635,1
    - Dst: ep_cmp
      Src: /src/relic/test/test_pp.c:635,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:639,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:640,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:641,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:642,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:643,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:644,1
    - Dst: pp_dbl_k2
      Src: /src/relic/test/test_pp.c:645,1
    - Dst: pp_exp_k2
      Src: /src/relic/test/test_pp.c:646,1
    - Dst: pp_dbl_k2_basic
      Src: /src/relic/test/test_pp.c:647,1
    - Dst: pp_exp_k2
      Src: /src/relic/test/test_pp.c:648,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:649,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:649,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:654,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:655,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:656,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:657,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:658,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:659,1
    - Dst: pp_dbl_k2
      Src: /src/relic/test/test_pp.c:660,1
    - Dst: pp_exp_k2
      Src: /src/relic/test/test_pp.c:661,1
    - Dst: pp_dbl_k2_projc
      Src: /src/relic/test/test_pp.c:662,1
    - Dst: pp_exp_k2
      Src: /src/relic/test/test_pp.c:663,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:664,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:664,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:668,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:669,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:670,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:671,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:672,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:673,1
    - Dst: pp_dbl_k2_projc
      Src: /src/relic/test/test_pp.c:674,1
    - Dst: pp_dbl_k2_projc_basic
      Src: /src/relic/test/test_pp.c:675,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:676,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:676,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:681,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:682,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:683,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:684,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:685,1
    - Dst: fp2_zero
      Src: /src/relic/test/test_pp.c:686,1
    - Dst: pp_dbl_k2_projc
      Src: /src/relic/test/test_pp.c:687,1
    - Dst: pp_dbl_k2_projc_lazyr
      Src: /src/relic/test/test_pp.c:688,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:689,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:689,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 693
    functionName: doubling2
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 2
    functionsReached:
    - pp_exp_k2
    - ep_curve_get_ord
    - fp2_null
    - ep_null
    - bn_null
    - fp2_cmp
    - ep_norm
    - pp_norm_k2
    - TEST_CASE
    - ep_cmp
    - ep_new
    - pp_dbl_k2_projc
    - pp_dbl_k2
    - bn_new
    - pp_dbl_k2_basic
    - pp_dbl_k2_projc_lazyr
    - ep_dbl
    - TEST_ASSERT
    - fp2_zero
    - ep_rand
    - pp_dbl_k2_projc_basic
    - fp2_new
    linkageType: ''
    returnType: int
    signature: int doubling2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:717,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:718,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:719,1
    - Dst: fp2_null
      Src: /src/relic/test/test_pp.c:720,1
    - Dst: fp2_null
      Src: /src/relic/test/test_pp.c:721,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:724,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:725,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:726,1
    - Dst: fp2_new
      Src: /src/relic/test/test_pp.c:727,1
    - Dst: fp2_new
      Src: /src/relic/test/test_pp.c:728,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:731,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:732,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:733,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:734,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:737,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:739,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:740,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:741,1
    - Dst: pp_map_k2
      Src: /src/relic/test/test_pp.c:742,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:743,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_pp.c:743,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:744,1
    - Dst: pp_map_k2
      Src: /src/relic/test/test_pp.c:745,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:746,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_pp.c:746,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:747,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:748,1
    - Dst: pp_map_k2
      Src: /src/relic/test/test_pp.c:749,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:750,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_pp.c:750,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:753,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:754,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:755,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:756,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:757,1
    - Dst: pp_map_k2
      Src: /src/relic/test/test_pp.c:758,1
    - Dst: pp_map_k2
      Src: /src/relic/test/test_pp.c:759,1
    - Dst: fp2_exp
      Src: /src/relic/test/test_pp.c:760,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:761,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:761,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:762,1
    - Dst: pp_map_k2
      Src: /src/relic/test/test_pp.c:763,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:764,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:764,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:765,1
    - Dst: pp_map_k2
      Src: /src/relic/test/test_pp.c:766,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_pp.c:767,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:768,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:768,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:769,1
    - Dst: pp_map_k2
      Src: /src/relic/test/test_pp.c:770,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_pp.c:771,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:772,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:772,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:775,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:776,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:777,1
    - Dst: pp_map_k2
      Src: /src/relic/test/test_pp.c:778,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:779,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:780,1
    - Dst: pp_map_sim_k2
      Src: /src/relic/test/test_pp.c:781,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:782,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:782,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:783,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:784,1
    - Dst: pp_map_sim_k2
      Src: /src/relic/test/test_pp.c:785,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:786,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:786,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:787,1
    - Dst: pp_map_sim_k2
      Src: /src/relic/test/test_pp.c:788,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:789,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_pp.c:789,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:790,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:791,1
    - Dst: pp_map_k2
      Src: /src/relic/test/test_pp.c:792,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:793,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:794,1
    - Dst: pp_map_k2
      Src: /src/relic/test/test_pp.c:795,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_pp.c:796,1
    - Dst: pp_map_sim_k2
      Src: /src/relic/test/test_pp.c:797,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:798,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:798,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:802,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:803,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:804,1
    - Dst: pp_map_tatep_k2
      Src: /src/relic/test/test_pp.c:805,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:806,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_pp.c:806,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:807,1
    - Dst: pp_map_tatep_k2
      Src: /src/relic/test/test_pp.c:808,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:809,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_pp.c:809,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:810,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:811,1
    - Dst: pp_map_tatep_k2
      Src: /src/relic/test/test_pp.c:812,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:813,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_pp.c:813,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:816,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:817,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:818,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:819,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:820,1
    - Dst: pp_map_tatep_k2
      Src: /src/relic/test/test_pp.c:821,1
    - Dst: pp_map_tatep_k2
      Src: /src/relic/test/test_pp.c:822,1
    - Dst: fp2_exp
      Src: /src/relic/test/test_pp.c:823,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:824,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:824,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:825,1
    - Dst: pp_map_tatep_k2
      Src: /src/relic/test/test_pp.c:826,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:827,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:827,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:828,1
    - Dst: pp_map_tatep_k2
      Src: /src/relic/test/test_pp.c:829,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_pp.c:830,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:831,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:831,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:832,1
    - Dst: pp_map_tatep_k2
      Src: /src/relic/test/test_pp.c:833,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_pp.c:834,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:835,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:835,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:838,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:839,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:840,1
    - Dst: pp_map_tatep_k2
      Src: /src/relic/test/test_pp.c:841,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:842,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:843,1
    - Dst: pp_map_sim_tatep_k2
      Src: /src/relic/test/test_pp.c:844,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:845,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:845,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:846,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:847,1
    - Dst: pp_map_sim_tatep_k2
      Src: /src/relic/test/test_pp.c:848,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:849,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:849,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:850,1
    - Dst: pp_map_sim_tatep_k2
      Src: /src/relic/test/test_pp.c:851,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:852,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_pp.c:852,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:853,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:854,1
    - Dst: pp_map_tatep_k2
      Src: /src/relic/test/test_pp.c:855,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:856,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:857,1
    - Dst: pp_map_tatep_k2
      Src: /src/relic/test/test_pp.c:858,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_pp.c:859,1
    - Dst: pp_map_sim_tatep_k2
      Src: /src/relic/test/test_pp.c:860,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:861,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:861,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:866,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:867,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:868,1
    - Dst: pp_map_weilp_k2
      Src: /src/relic/test/test_pp.c:869,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:870,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_pp.c:870,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:871,1
    - Dst: pp_map_weilp_k2
      Src: /src/relic/test/test_pp.c:872,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:873,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_pp.c:873,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:874,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:875,1
    - Dst: pp_map_weilp_k2
      Src: /src/relic/test/test_pp.c:876,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:877,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_pp.c:877,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:880,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:881,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:882,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:883,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:884,1
    - Dst: pp_map_weilp_k2
      Src: /src/relic/test/test_pp.c:885,1
    - Dst: pp_map_weilp_k2
      Src: /src/relic/test/test_pp.c:886,1
    - Dst: fp2_exp
      Src: /src/relic/test/test_pp.c:887,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:888,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:888,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:889,1
    - Dst: pp_map_weilp_k2
      Src: /src/relic/test/test_pp.c:890,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:891,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:891,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:892,1
    - Dst: pp_map_weilp_k2
      Src: /src/relic/test/test_pp.c:893,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_pp.c:894,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:895,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:895,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:896,1
    - Dst: pp_map_weilp_k2
      Src: /src/relic/test/test_pp.c:897,1
    - Dst: fp2_sqr
      Src: /src/relic/test/test_pp.c:898,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:899,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:899,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:902,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:903,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:904,1
    - Dst: pp_map_weilp_k2
      Src: /src/relic/test/test_pp.c:905,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:906,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:907,1
    - Dst: pp_map_sim_weilp_k2
      Src: /src/relic/test/test_pp.c:908,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:909,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:909,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:910,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:911,1
    - Dst: pp_map_sim_weilp_k2
      Src: /src/relic/test/test_pp.c:912,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:913,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:913,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:914,1
    - Dst: pp_map_sim_weilp_k2
      Src: /src/relic/test/test_pp.c:915,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:916,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/test/test_pp.c:916,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:917,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:918,1
    - Dst: pp_map_weilp_k2
      Src: /src/relic/test/test_pp.c:919,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:920,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:921,1
    - Dst: pp_map_weilp_k2
      Src: /src/relic/test/test_pp.c:922,1
    - Dst: fp2_mul
      Src: /src/relic/test/test_pp.c:923,1
    - Dst: pp_map_sim_weilp_k2
      Src: /src/relic/test/test_pp.c:924,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:925,1
    - Dst: fp2_cmp
      Src: /src/relic/test/test_pp.c:925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 204
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 928
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 928
    functionName: pairing2
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - ep_curve_get_ord
    - fp2_null
    - ep_null
    - bn_null
    - fp2_cmp
    - ep_mul
    - fp2_exp
    - fp2_sqr
    - TEST_CASE
    - pp_map_tatep_k2
    - ep_new
    - ep_set_infty
    - bn_rand_mod
    - bn_new
    - pp_map_sim_tatep_k2
    - pp_map_sim_k2
    - pp_map_weilp_k2
    - ep_dbl
    - TEST_ASSERT
    - fp2_cmp_dig
    - pp_map_k2
    - fp2_mul
    - ep_rand
    - pp_map_sim_weilp_k2
    - fp2_new
    linkageType: ''
    returnType: int
    signature: int pairing2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:956,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:957,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:958,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:959,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:960,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:961,1
    - Dst: fp8_null
      Src: /src/relic/test/test_pp.c:962,1
    - Dst: fp8_null
      Src: /src/relic/test/test_pp.c:963,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:966,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:967,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:968,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:969,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:970,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:971,1
    - Dst: fp8_new
      Src: /src/relic/test/test_pp.c:972,1
    - Dst: fp8_new
      Src: /src/relic/test/test_pp.c:973,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:975,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:977,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:978,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_pp.c:979,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:980,1
    - Dst: pp_dbl_k8
      Src: /src/relic/test/test_pp.c:981,1
    - Dst: pp_norm_k8
      Src: /src/relic/test/test_pp.c:982,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_pp.c:983,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_pp.c:984,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:985,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_pp.c:985,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:989,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:990,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_pp.c:991,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:992,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_pp.c:993,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_pp.c:994,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:995,1
    - Dst: pp_dbl_k8_basic
      Src: /src/relic/test/test_pp.c:996,1
    - Dst: pp_exp_k8
      Src: /src/relic/test/test_pp.c:997,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1000,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1001,1
    - Dst: pp_dbl_k8
      Src: /src/relic/test/test_pp.c:1003,1
    - Dst: pp_exp_k8
      Src: /src/relic/test/test_pp.c:1004,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1005,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_pp.c:1005,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1010,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1011,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_pp.c:1012,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1013,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_pp.c:1014,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_pp.c:1015,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1017,1
    - Dst: pp_dbl_k8_projc
      Src: /src/relic/test/test_pp.c:1018,1
    - Dst: pp_exp_k8
      Src: /src/relic/test/test_pp.c:1019,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1022,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1023,1
    - Dst: pp_dbl_k8
      Src: /src/relic/test/test_pp.c:1025,1
    - Dst: pp_exp_k8
      Src: /src/relic/test/test_pp.c:1026,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1027,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_pp.c:1027,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1031,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1032,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1033,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1034,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_pp.c:1035,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_pp.c:1036,1
    - Dst: pp_dbl_k8_projc
      Src: /src/relic/test/test_pp.c:1037,1
    - Dst: pp_dbl_k8_projc_basic
      Src: /src/relic/test/test_pp.c:1038,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1039,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_pp.c:1039,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1044,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1045,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1046,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1047,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_pp.c:1048,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_pp.c:1049,1
    - Dst: pp_dbl_k8_projc
      Src: /src/relic/test/test_pp.c:1050,1
    - Dst: pp_dbl_k8_projc_lazyr
      Src: /src/relic/test/test_pp.c:1051,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1052,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_pp.c:1052,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 1056
    functionName: doubling8
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 2
    functionsReached:
    - pp_dbl_k8_basic
    - pp_exp_k8
    - ep_curve_get_ord
    - ep_null
    - fp8_null
    - ep2_null
    - ep2_cmp
    - ep2_rand
    - fp8_cmp
    - pp_dbl_k8_projc_lazyr
    - bn_null
    - fp8_zero
    - ep2_new
    - pp_norm_k8
    - TEST_CASE
    - ep2_curve_get_gen
    - ep_new
    - pp_dbl_k8_projc
    - bn_new
    - fp_neg
    - pp_dbl_k8_projc_basic
    - ep2_norm
    - TEST_ASSERT
    - pp_dbl_k8
    - ep_rand
    - fp8_new
    - ep2_dbl
    linkageType: ''
    returnType: int
    signature: int doubling8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1081,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1082,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:1083,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1084,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1085,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1086,1
    - Dst: fp8_null
      Src: /src/relic/test/test_pp.c:1087,1
    - Dst: fp8_null
      Src: /src/relic/test/test_pp.c:1088,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1091,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1092,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:1093,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1094,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1095,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1096,1
    - Dst: fp8_new
      Src: /src/relic/test/test_pp.c:1097,1
    - Dst: fp8_new
      Src: /src/relic/test/test_pp.c:1098,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:1100,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1102,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1103,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_pp.c:1104,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_pp.c:1105,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_pp.c:1106,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_pp.c:1107,1
    - Dst: pp_add_k8
      Src: /src/relic/test/test_pp.c:1108,1
    - Dst: pp_norm_k8
      Src: /src/relic/test/test_pp.c:1109,1
    - Dst: ep2_add
      Src: /src/relic/test/test_pp.c:1110,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_pp.c:1111,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1112,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_pp.c:1112,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1116,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1117,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_pp.c:1118,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_pp.c:1119,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_pp.c:1120,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_pp.c:1121,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_pp.c:1122,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_pp.c:1123,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1126,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1128,1
    - Dst: pp_add_k8
      Src: /src/relic/test/test_pp.c:1130,1
    - Dst: pp_exp_k8
      Src: /src/relic/test/test_pp.c:1131,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1134,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1135,1
    - Dst: pp_add_k8_basic
      Src: /src/relic/test/test_pp.c:1137,1
    - Dst: pp_exp_k8
      Src: /src/relic/test/test_pp.c:1138,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1139,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_pp.c:1139,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1144,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1145,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_pp.c:1146,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_pp.c:1147,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_pp.c:1148,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_pp.c:1149,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_pp.c:1150,1
    - Dst: fp8_zero
      Src: /src/relic/test/test_pp.c:1151,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1154,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1156,1
    - Dst: pp_add_k8
      Src: /src/relic/test/test_pp.c:1158,1
    - Dst: pp_exp_k8
      Src: /src/relic/test/test_pp.c:1159,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1161,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1162,1
    - Dst: pp_add_k8_projc
      Src: /src/relic/test/test_pp.c:1164,1
    - Dst: pp_exp_k8
      Src: /src/relic/test/test_pp.c:1165,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1166,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_pp.c:1166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1169
    functionName: addition8
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 2
    functionsReached:
    - pp_exp_k8
    - pp_add_k8
    - ep_curve_get_ord
    - ep_null
    - fp8_null
    - ep2_null
    - ep2_cmp
    - fp8_cmp
    - bn_null
    - fp8_zero
    - ep2_new
    - pp_add_k8_basic
    - pp_norm_k8
    - TEST_CASE
    - ep2_curve_get_gen
    - ep_new
    - ep2_copy
    - bn_new
    - pp_add_k8_projc
    - fp_neg
    - ep2_add
    - ep2_norm
    - TEST_ASSERT
    - ep_rand
    - fp8_new
    - ep2_dbl
    linkageType: ''
    returnType: int
    signature: int addition8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1194,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1195,1
    - Dst: fp8_null
      Src: /src/relic/test/test_pp.c:1196,1
    - Dst: fp8_null
      Src: /src/relic/test/test_pp.c:1197,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1198,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1201,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1202,1
    - Dst: fp8_new
      Src: /src/relic/test/test_pp.c:1203,1
    - Dst: fp8_new
      Src: /src/relic/test/test_pp.c:1204,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1205,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:1208,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1209,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:1210,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1211,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:1214,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1216,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1217,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_pp.c:1218,1
    - Dst: pp_map_oatep_k8
      Src: /src/relic/test/test_pp.c:1219,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1220,1
    - Dst: fp8_cmp_dig
      Src: /src/relic/test/test_pp.c:1220,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:1221,1
    - Dst: pp_map_oatep_k8
      Src: /src/relic/test/test_pp.c:1222,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1223,1
    - Dst: fp8_cmp_dig
      Src: /src/relic/test/test_pp.c:1223,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1224,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1225,1
    - Dst: pp_map_oatep_k8
      Src: /src/relic/test/test_pp.c:1226,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1227,1
    - Dst: fp8_cmp_dig
      Src: /src/relic/test/test_pp.c:1227,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1230,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1231,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/test/test_pp.c:1232,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:1233,1
    - Dst: ep2_mul_basic
      Src: /src/relic/test/test_pp.c:1234,1
    - Dst: pp_map_oatep_k8
      Src: /src/relic/test/test_pp.c:1235,1
    - Dst: pp_map_oatep_k8
      Src: /src/relic/test/test_pp.c:1236,1
    - Dst: fp8_exp
      Src: /src/relic/test/test_pp.c:1237,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1238,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_pp.c:1238,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:1239,1
    - Dst: pp_map_oatep_k8
      Src: /src/relic/test/test_pp.c:1240,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1241,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_pp.c:1241,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:1242,1
    - Dst: pp_map_oatep_k8
      Src: /src/relic/test/test_pp.c:1243,1
    - Dst: fp8_sqr
      Src: /src/relic/test/test_pp.c:1244,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1245,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_pp.c:1245,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_pp.c:1246,1
    - Dst: pp_map_oatep_k8
      Src: /src/relic/test/test_pp.c:1247,1
    - Dst: fp8_sqr
      Src: /src/relic/test/test_pp.c:1248,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1249,1
    - Dst: fp8_cmp
      Src: /src/relic/test/test_pp.c:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1251
    functionName: pairing8
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - fp8_exp
    - ep_curve_get_ord
    - ep_null
    - ep2_set_infty
    - ep2_null
    - fp8_null
    - fp8_cmp
    - bn_null
    - pp_map_oatep_k8
    - ep_mul
    - ep2_new
    - fp8_cmp_dig
    - fp8_sqr
    - TEST_CASE
    - ep2_curve_get_gen
    - ep_new
    - ep_set_infty
    - bn_rand_mod
    - bn_new
    - ep_dbl
    - TEST_ASSERT
    - ep_rand
    - fp8_new
    - ep2_mul_basic
    - ep2_dbl
    linkageType: ''
    returnType: int
    signature: int pairing8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1278,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1279,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:1280,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1281,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1282,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1283,1
    - Dst: fp12_null
      Src: /src/relic/test/test_pp.c:1284,1
    - Dst: fp12_null
      Src: /src/relic/test/test_pp.c:1285,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1288,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1289,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:1290,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1291,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1292,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1293,1
    - Dst: fp12_new
      Src: /src/relic/test/test_pp.c:1294,1
    - Dst: fp12_new
      Src: /src/relic/test/test_pp.c:1295,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:1297,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1299,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1300,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1301,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1302,1
    - Dst: pp_dbl_k12
      Src: /src/relic/test/test_pp.c:1303,1
    - Dst: pp_norm_k12
      Src: /src/relic/test/test_pp.c:1304,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_pp.c:1305,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_pp.c:1306,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1307,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_pp.c:1307,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1311,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1312,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1313,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1314,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1315,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1316,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1317,1
    - Dst: pp_dbl_k12_basic
      Src: /src/relic/test/test_pp.c:1318,1
    - Dst: pp_exp_k12
      Src: /src/relic/test/test_pp.c:1319,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_pp.c:1322,1
    - Dst: fp_add
      Src: /src/relic/test/test_pp.c:1323,1
    - Dst: pp_dbl_k12
      Src: /src/relic/test/test_pp.c:1325,1
    - Dst: pp_exp_k12
      Src: /src/relic/test/test_pp.c:1326,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1327,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1327,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1332,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1333,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1334,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1335,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1336,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1337,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1339,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_pp.c:1340,1
    - Dst: fp_add
      Src: /src/relic/test/test_pp.c:1341,1
    - Dst: pp_dbl_k12_projc
      Src: /src/relic/test/test_pp.c:1342,1
    - Dst: pp_exp_k12
      Src: /src/relic/test/test_pp.c:1343,1
    - Dst: fp_hlv
      Src: /src/relic/test/test_pp.c:1346,1
    - Dst: pp_dbl_k12
      Src: /src/relic/test/test_pp.c:1348,1
    - Dst: pp_exp_k12
      Src: /src/relic/test/test_pp.c:1349,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1350,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1350,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1354,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1355,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1356,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1357,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1358,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1359,1
    - Dst: pp_dbl_k12_projc
      Src: /src/relic/test/test_pp.c:1360,1
    - Dst: pp_dbl_k12_projc_basic
      Src: /src/relic/test/test_pp.c:1361,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1362,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1362,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1367,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1368,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1369,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1370,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1371,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1372,1
    - Dst: pp_dbl_k12_projc
      Src: /src/relic/test/test_pp.c:1373,1
    - Dst: pp_dbl_k12_projc_lazyr
      Src: /src/relic/test/test_pp.c:1374,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1375,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1379
    functionName: doubling12
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - fp12_zero
    - fp12_null
    - ep_curve_get_ord
    - ep_null
    - pp_dbl_k12_projc
    - ep2_null
    - ep2_cmp
    - ep2_rand
    - fp12_cmp
    - bn_null
    - pp_norm_k12
    - pp_dbl_k12_projc_lazyr
    - pp_dbl_k12
    - pp_dbl_k12_projc_basic
    - fp_add
    - fp12_new
    - pp_exp_k12
    - ep2_new
    - TEST_CASE
    - ep_new
    - fp_hlv
    - bn_new
    - fp_neg
    - ep2_norm
    - TEST_ASSERT
    - pp_dbl_k12_basic
    - fp_dbl
    - ep_rand
    - ep2_dbl
    linkageType: ''
    returnType: int
    signature: int doubling12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1404,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1405,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:1406,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1407,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1408,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1409,1
    - Dst: fp12_null
      Src: /src/relic/test/test_pp.c:1410,1
    - Dst: fp12_null
      Src: /src/relic/test/test_pp.c:1411,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1414,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1415,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:1416,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1417,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1418,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1419,1
    - Dst: fp12_new
      Src: /src/relic/test/test_pp.c:1420,1
    - Dst: fp12_new
      Src: /src/relic/test/test_pp.c:1421,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:1423,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1425,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1426,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1427,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1428,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_pp.c:1429,1
    - Dst: pp_add_k12
      Src: /src/relic/test/test_pp.c:1430,1
    - Dst: pp_norm_k12
      Src: /src/relic/test/test_pp.c:1431,1
    - Dst: ep2_add
      Src: /src/relic/test/test_pp.c:1432,1
    - Dst: ep2_norm
      Src: /src/relic/test/test_pp.c:1433,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1434,1
    - Dst: ep2_cmp
      Src: /src/relic/test/test_pp.c:1434,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1438,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1439,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1440,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1441,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_pp.c:1442,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1443,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1444,1
    - Dst: pp_add_k12
      Src: /src/relic/test/test_pp.c:1445,1
    - Dst: pp_exp_k12
      Src: /src/relic/test/test_pp.c:1446,1
    - Dst: pp_add_k12_basic
      Src: /src/relic/test/test_pp.c:1447,1
    - Dst: pp_exp_k12
      Src: /src/relic/test/test_pp.c:1448,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1449,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1449,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1454,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1455,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1456,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1457,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_pp.c:1458,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1459,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1460,1
    - Dst: pp_add_k12
      Src: /src/relic/test/test_pp.c:1461,1
    - Dst: pp_exp_k12
      Src: /src/relic/test/test_pp.c:1462,1
    - Dst: pp_add_k12_projc
      Src: /src/relic/test/test_pp.c:1463,1
    - Dst: pp_exp_k12
      Src: /src/relic/test/test_pp.c:1464,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1465,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1465,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1469,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1470,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1471,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1472,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_pp.c:1473,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1474,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1475,1
    - Dst: pp_add_k12_projc
      Src: /src/relic/test/test_pp.c:1476,1
    - Dst: pp_add_k12_projc_basic
      Src: /src/relic/test/test_pp.c:1477,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1478,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1478,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1483,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1484,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1485,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1486,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_pp.c:1487,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1488,1
    - Dst: fp12_zero
      Src: /src/relic/test/test_pp.c:1489,1
    - Dst: pp_add_k12_projc
      Src: /src/relic/test/test_pp.c:1490,1
    - Dst: pp_add_k12_projc_lazyr
      Src: /src/relic/test/test_pp.c:1491,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1492,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1496
    functionName: addition12
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 1
    functionsReached:
    - fp12_zero
    - pp_add_k12_projc
    - fp12_null
    - ep_curve_get_ord
    - ep_null
    - ep2_null
    - ep2_cmp
    - ep2_rand
    - pp_add_k12_basic
    - pp_add_k12_projc_basic
    - fp12_cmp
    - bn_null
    - pp_norm_k12
    - fp12_new
    - pp_exp_k12
    - pp_add_k12_projc_lazyr
    - ep2_new
    - TEST_CASE
    - ep_new
    - ep2_copy
    - bn_new
    - ep2_add
    - ep2_norm
    - TEST_ASSERT
    - pp_add_k12
    - ep_rand
    linkageType: ''
    returnType: int
    signature: int addition12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1521,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1522,1
    - Dst: fp12_null
      Src: /src/relic/test/test_pp.c:1523,1
    - Dst: fp12_null
      Src: /src/relic/test/test_pp.c:1524,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1525,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1528,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1529,1
    - Dst: fp12_new
      Src: /src/relic/test/test_pp.c:1530,1
    - Dst: fp12_new
      Src: /src/relic/test/test_pp.c:1531,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1532,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:1535,1
    - Dst: ep2_null
      Src: /src/relic/test/test_pp.c:1536,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:1537,1
    - Dst: ep2_new
      Src: /src/relic/test/test_pp.c:1538,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:1541,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1543,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1544,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1545,1
    - Dst: pp_map_k12
      Src: /src/relic/test/test_pp.c:1546,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1547,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1547,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:1548,1
    - Dst: pp_map_k12
      Src: /src/relic/test/test_pp.c:1549,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1550,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1550,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1551,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1552,1
    - Dst: pp_map_k12
      Src: /src/relic/test/test_pp.c:1553,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1554,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1554,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1557,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1558,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1559,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:1560,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_pp.c:1561,1
    - Dst: pp_map_k12
      Src: /src/relic/test/test_pp.c:1562,1
    - Dst: pp_map_k12
      Src: /src/relic/test/test_pp.c:1563,1
    - Dst: fp12_exp
      Src: /src/relic/test/test_pp.c:1564,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1565,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1565,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:1566,1
    - Dst: pp_map_k12
      Src: /src/relic/test/test_pp.c:1567,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1568,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1568,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:1569,1
    - Dst: pp_map_k12
      Src: /src/relic/test/test_pp.c:1570,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_pp.c:1571,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1572,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1572,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_pp.c:1573,1
    - Dst: pp_map_k12
      Src: /src/relic/test/test_pp.c:1574,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_pp.c:1575,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1576,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1576,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1579,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1580,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1581,1
    - Dst: pp_map_k12
      Src: /src/relic/test/test_pp.c:1582,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1583,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1584,1
    - Dst: pp_map_sim_k12
      Src: /src/relic/test/test_pp.c:1585,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1586,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1586,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:1587,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1588,1
    - Dst: pp_map_sim_k12
      Src: /src/relic/test/test_pp.c:1589,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1590,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1590,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1591,1
    - Dst: pp_map_sim_k12
      Src: /src/relic/test/test_pp.c:1592,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1593,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1593,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1594,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1595,1
    - Dst: pp_map_k12
      Src: /src/relic/test/test_pp.c:1596,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1597,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1598,1
    - Dst: pp_map_k12
      Src: /src/relic/test/test_pp.c:1599,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_pp.c:1600,1
    - Dst: pp_map_sim_k12
      Src: /src/relic/test/test_pp.c:1601,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1602,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1602,1
    - Dst: ep_neg
      Src: /src/relic/test/test_pp.c:1603,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_pp.c:1604,1
    - Dst: pp_map_sim_k12
      Src: /src/relic/test/test_pp.c:1605,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1606,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1606,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1610,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1611,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1612,1
    - Dst: pp_map_tatep_k12
      Src: /src/relic/test/test_pp.c:1613,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1614,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1614,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:1615,1
    - Dst: pp_map_tatep_k12
      Src: /src/relic/test/test_pp.c:1616,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1617,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1617,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1618,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1619,1
    - Dst: pp_map_tatep_k12
      Src: /src/relic/test/test_pp.c:1620,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1621,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1621,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1624,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1625,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1626,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:1627,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_pp.c:1628,1
    - Dst: pp_map_tatep_k12
      Src: /src/relic/test/test_pp.c:1629,1
    - Dst: pp_map_tatep_k12
      Src: /src/relic/test/test_pp.c:1630,1
    - Dst: fp12_exp
      Src: /src/relic/test/test_pp.c:1631,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1632,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1632,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:1633,1
    - Dst: pp_map_tatep_k12
      Src: /src/relic/test/test_pp.c:1634,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1635,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1635,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:1636,1
    - Dst: pp_map_tatep_k12
      Src: /src/relic/test/test_pp.c:1637,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_pp.c:1638,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1639,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1639,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_pp.c:1640,1
    - Dst: pp_map_tatep_k12
      Src: /src/relic/test/test_pp.c:1641,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_pp.c:1642,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1643,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1643,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1646,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1647,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1648,1
    - Dst: pp_map_tatep_k12
      Src: /src/relic/test/test_pp.c:1649,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1650,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1651,1
    - Dst: pp_map_sim_tatep_k12
      Src: /src/relic/test/test_pp.c:1652,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1653,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1653,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:1654,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1655,1
    - Dst: pp_map_sim_tatep_k12
      Src: /src/relic/test/test_pp.c:1656,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1657,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1657,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1658,1
    - Dst: pp_map_sim_tatep_k12
      Src: /src/relic/test/test_pp.c:1659,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1660,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1660,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1661,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1662,1
    - Dst: pp_map_tatep_k12
      Src: /src/relic/test/test_pp.c:1663,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1664,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1665,1
    - Dst: pp_map_tatep_k12
      Src: /src/relic/test/test_pp.c:1666,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_pp.c:1667,1
    - Dst: pp_map_sim_tatep_k12
      Src: /src/relic/test/test_pp.c:1668,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1669,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1669,1
    - Dst: ep_neg
      Src: /src/relic/test/test_pp.c:1670,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_pp.c:1671,1
    - Dst: pp_map_sim_tatep_k12
      Src: /src/relic/test/test_pp.c:1672,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1673,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1673,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1678,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1679,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1680,1
    - Dst: pp_map_weilp_k12
      Src: /src/relic/test/test_pp.c:1681,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1682,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1682,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:1683,1
    - Dst: pp_map_weilp_k12
      Src: /src/relic/test/test_pp.c:1684,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1685,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1685,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1686,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1687,1
    - Dst: pp_map_weilp_k12
      Src: /src/relic/test/test_pp.c:1688,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1689,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1689,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1692,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1693,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1694,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:1695,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_pp.c:1696,1
    - Dst: pp_map_weilp_k12
      Src: /src/relic/test/test_pp.c:1697,1
    - Dst: pp_map_weilp_k12
      Src: /src/relic/test/test_pp.c:1698,1
    - Dst: fp12_exp
      Src: /src/relic/test/test_pp.c:1699,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1700,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1700,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:1701,1
    - Dst: pp_map_weilp_k12
      Src: /src/relic/test/test_pp.c:1702,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1703,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1703,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:1704,1
    - Dst: pp_map_weilp_k12
      Src: /src/relic/test/test_pp.c:1705,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_pp.c:1706,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1707,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1707,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_pp.c:1708,1
    - Dst: pp_map_weilp_k12
      Src: /src/relic/test/test_pp.c:1709,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_pp.c:1710,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1711,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1711,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1714,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1715,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1716,1
    - Dst: pp_map_weilp_k12
      Src: /src/relic/test/test_pp.c:1717,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1718,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1719,1
    - Dst: pp_map_sim_weilp_k12
      Src: /src/relic/test/test_pp.c:1720,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1721,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1721,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:1722,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1723,1
    - Dst: pp_map_sim_weilp_k12
      Src: /src/relic/test/test_pp.c:1724,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1725,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1725,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1726,1
    - Dst: pp_map_sim_weilp_k12
      Src: /src/relic/test/test_pp.c:1727,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1728,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1728,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1729,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1730,1
    - Dst: pp_map_weilp_k12
      Src: /src/relic/test/test_pp.c:1731,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1732,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1733,1
    - Dst: pp_map_weilp_k12
      Src: /src/relic/test/test_pp.c:1734,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_pp.c:1735,1
    - Dst: pp_map_sim_weilp_k12
      Src: /src/relic/test/test_pp.c:1736,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1737,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1737,1
    - Dst: ep_neg
      Src: /src/relic/test/test_pp.c:1738,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_pp.c:1739,1
    - Dst: pp_map_sim_weilp_k12
      Src: /src/relic/test/test_pp.c:1740,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1741,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1741,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1746,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1747,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1748,1
    - Dst: pp_map_oatep_k12
      Src: /src/relic/test/test_pp.c:1749,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1750,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1750,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:1751,1
    - Dst: pp_map_oatep_k12
      Src: /src/relic/test/test_pp.c:1752,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1753,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1753,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1754,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1755,1
    - Dst: pp_map_oatep_k12
      Src: /src/relic/test/test_pp.c:1756,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1757,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1757,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1760,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1761,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1762,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:1763,1
    - Dst: ep2_mul
      Src: /src/relic/test/test_pp.c:1764,1
    - Dst: pp_map_oatep_k12
      Src: /src/relic/test/test_pp.c:1765,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:1766,1
    - Dst: pp_map_oatep_k12
      Src: /src/relic/test/test_pp.c:1767,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1768,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1768,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:1769,1
    - Dst: pp_map_oatep_k12
      Src: /src/relic/test/test_pp.c:1770,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_pp.c:1771,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1772,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1772,1
    - Dst: ep2_dbl
      Src: /src/relic/test/test_pp.c:1773,1
    - Dst: pp_map_oatep_k12
      Src: /src/relic/test/test_pp.c:1774,1
    - Dst: fp12_sqr
      Src: /src/relic/test/test_pp.c:1775,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1776,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1776,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1779,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1780,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1781,1
    - Dst: pp_map_oatep_k12
      Src: /src/relic/test/test_pp.c:1782,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1783,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1784,1
    - Dst: pp_map_sim_oatep_k12
      Src: /src/relic/test/test_pp.c:1785,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1786,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1786,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:1787,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1788,1
    - Dst: pp_map_sim_oatep_k12
      Src: /src/relic/test/test_pp.c:1789,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1790,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1790,1
    - Dst: ep2_set_infty
      Src: /src/relic/test/test_pp.c:1791,1
    - Dst: pp_map_sim_oatep_k12
      Src: /src/relic/test/test_pp.c:1792,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1793,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1793,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1794,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1795,1
    - Dst: pp_map_oatep_k12
      Src: /src/relic/test/test_pp.c:1796,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1797,1
    - Dst: ep2_rand
      Src: /src/relic/test/test_pp.c:1798,1
    - Dst: pp_map_oatep_k12
      Src: /src/relic/test/test_pp.c:1799,1
    - Dst: fp12_mul
      Src: /src/relic/test/test_pp.c:1800,1
    - Dst: pp_map_sim_oatep_k12
      Src: /src/relic/test/test_pp.c:1801,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1802,1
    - Dst: fp12_cmp
      Src: /src/relic/test/test_pp.c:1802,1
    - Dst: ep_neg
      Src: /src/relic/test/test_pp.c:1803,1
    - Dst: ep2_copy
      Src: /src/relic/test/test_pp.c:1804,1
    - Dst: pp_map_sim_oatep_k12
      Src: /src/relic/test/test_pp.c:1805,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1806,1
    - Dst: fp12_cmp_dig
      Src: /src/relic/test/test_pp.c:1806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 279
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1809
    functionName: pairing12
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - pp_map_tatep_k12
    - fp12_null
    - ep_curve_get_ord
    - ep_null
    - ep2_mul
    - ep2_set_infty
    - ep2_null
    - ep2_rand
    - pp_map_oatep_k12
    - fp12_cmp
    - fp12_cmp_dig
    - bn_null
    - pp_map_k12
    - ep_mul
    - fp12_new
    - fp12_sqr
    - ep2_new
    - pp_map_sim_k12
    - ep_neg
    - fp12_mul
    - fp12_exp
    - TEST_CASE
    - ep_new
    - ep_set_infty
    - bn_rand_mod
    - ep2_copy
    - bn_new
    - pp_map_sim_oatep_k12
    - pp_map_sim_tatep_k12
    - pp_map_sim_weilp_k12
    - ep_dbl
    - TEST_ASSERT
    - pp_map_weilp_k12
    - ep_rand
    - ep2_dbl
    linkageType: ''
    returnType: int
    signature: int pairing12(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1836,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1837,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:1838,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:1839,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:1840,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:1841,1
    - Dst: fp16_null
      Src: /src/relic/test/test_pp.c:1842,1
    - Dst: fp16_null
      Src: /src/relic/test/test_pp.c:1843,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1846,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1847,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:1848,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:1849,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:1850,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:1851,1
    - Dst: fp16_new
      Src: /src/relic/test/test_pp.c:1852,1
    - Dst: fp16_new
      Src: /src/relic/test/test_pp.c:1853,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:1855,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1857,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1858,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:1859,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:1860,1
    - Dst: pp_dbl_k16
      Src: /src/relic/test/test_pp.c:1861,1
    - Dst: pp_norm_k16
      Src: /src/relic/test/test_pp.c:1862,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_pp.c:1863,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_pp.c:1864,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1865,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_pp.c:1865,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1869,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1870,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:1871,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:1872,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_pp.c:1873,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_pp.c:1874,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1875,1
    - Dst: pp_dbl_k16_basic
      Src: /src/relic/test/test_pp.c:1876,1
    - Dst: pp_exp_k16
      Src: /src/relic/test/test_pp.c:1877,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1880,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1881,1
    - Dst: pp_dbl_k16
      Src: /src/relic/test/test_pp.c:1883,1
    - Dst: pp_exp_k16
      Src: /src/relic/test/test_pp.c:1884,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1885,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:1885,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1890,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1891,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:1892,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:1893,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_pp.c:1894,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_pp.c:1895,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1897,1
    - Dst: pp_dbl_k16_projc
      Src: /src/relic/test/test_pp.c:1898,1
    - Dst: pp_exp_k16
      Src: /src/relic/test/test_pp.c:1899,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1902,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:1903,1
    - Dst: pp_dbl_k16
      Src: /src/relic/test/test_pp.c:1905,1
    - Dst: pp_exp_k16
      Src: /src/relic/test/test_pp.c:1906,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1907,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:1907,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1911,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1912,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:1913,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:1914,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_pp.c:1915,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_pp.c:1916,1
    - Dst: pp_dbl_k16_projc
      Src: /src/relic/test/test_pp.c:1917,1
    - Dst: pp_dbl_k16_projc_basic
      Src: /src/relic/test/test_pp.c:1918,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1919,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:1919,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1924,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1925,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:1926,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:1927,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_pp.c:1928,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_pp.c:1929,1
    - Dst: pp_dbl_k16_projc
      Src: /src/relic/test/test_pp.c:1930,1
    - Dst: pp_dbl_k16_projc_lazyr
      Src: /src/relic/test/test_pp.c:1931,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1932,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:1932,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1829
    functionDepth: 1
    functionLinenumber: 1829
    functionLinenumberEnd: 1936
    functionName: doubling16
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 1
    functionsReached:
    - ep4_dbl
    - ep_curve_get_ord
    - ep4_norm
    - ep_null
    - pp_norm_k16
    - ep4_new
    - bn_null
    - fp16_cmp
    - fp16_null
    - ep4_rand
    - pp_dbl_k16_projc_basic
    - TEST_CASE
    - ep4_cmp
    - ep_new
    - pp_dbl_k16
    - bn_new
    - fp16_new
    - pp_dbl_k16_projc_lazyr
    - pp_exp_k16
    - fp_neg
    - pp_dbl_k16_projc
    - fp16_zero
    - TEST_ASSERT
    - ep_rand
    - ep4_null
    - pp_dbl_k16_basic
    linkageType: ''
    returnType: int
    signature: int doubling16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1961,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:1962,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:1963,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:1964,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:1965,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:1966,1
    - Dst: fp16_null
      Src: /src/relic/test/test_pp.c:1967,1
    - Dst: fp16_null
      Src: /src/relic/test/test_pp.c:1968,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1971,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:1972,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:1973,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:1974,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:1975,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:1976,1
    - Dst: fp16_new
      Src: /src/relic/test/test_pp.c:1977,1
    - Dst: fp16_new
      Src: /src/relic/test/test_pp.c:1978,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:1980,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1982,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1983,1
    - Dst: ep4_curve_get_gen
      Src: /src/relic/test/test_pp.c:1984,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_pp.c:1985,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_pp.c:1986,1
    - Dst: ep4_copy
      Src: /src/relic/test/test_pp.c:1987,1
    - Dst: pp_add_k16
      Src: /src/relic/test/test_pp.c:1988,1
    - Dst: pp_norm_k16
      Src: /src/relic/test/test_pp.c:1989,1
    - Dst: ep4_add
      Src: /src/relic/test/test_pp.c:1990,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_pp.c:1991,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:1992,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_pp.c:1992,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:1996,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:1997,1
    - Dst: ep4_curve_get_gen
      Src: /src/relic/test/test_pp.c:1998,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_pp.c:1999,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_pp.c:2000,1
    - Dst: ep4_copy
      Src: /src/relic/test/test_pp.c:2001,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_pp.c:2002,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_pp.c:2003,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:2006,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:2008,1
    - Dst: pp_add_k16
      Src: /src/relic/test/test_pp.c:2010,1
    - Dst: pp_exp_k16
      Src: /src/relic/test/test_pp.c:2011,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:2014,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:2015,1
    - Dst: pp_add_k16_basic
      Src: /src/relic/test/test_pp.c:2017,1
    - Dst: pp_exp_k16
      Src: /src/relic/test/test_pp.c:2018,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2019,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2019,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2024,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2025,1
    - Dst: ep4_curve_get_gen
      Src: /src/relic/test/test_pp.c:2026,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_pp.c:2027,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_pp.c:2028,1
    - Dst: ep4_copy
      Src: /src/relic/test/test_pp.c:2029,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_pp.c:2030,1
    - Dst: fp16_zero
      Src: /src/relic/test/test_pp.c:2031,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:2033,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:2035,1
    - Dst: pp_add_k16
      Src: /src/relic/test/test_pp.c:2037,1
    - Dst: pp_exp_k16
      Src: /src/relic/test/test_pp.c:2038,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:2040,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:2041,1
    - Dst: pp_add_k16_projc
      Src: /src/relic/test/test_pp.c:2043,1
    - Dst: pp_exp_k16
      Src: /src/relic/test/test_pp.c:2044,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2045,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 2048
    functionName: addition16
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - ep4_dbl
    - ep4_copy
    - ep_curve_get_ord
    - ep4_norm
    - ep_null
    - pp_norm_k16
    - ep4_curve_get_gen
    - ep4_new
    - bn_null
    - fp16_cmp
    - fp16_null
    - TEST_CASE
    - ep4_cmp
    - ep_new
    - pp_add_k16
    - ep4_add
    - bn_new
    - fp16_new
    - pp_add_k16_projc
    - pp_add_k16_basic
    - pp_exp_k16
    - fp_neg
    - fp16_zero
    - TEST_ASSERT
    - ep_rand
    - ep4_null
    linkageType: ''
    returnType: int
    signature: int addition16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:2073,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:2074,1
    - Dst: fp16_null
      Src: /src/relic/test/test_pp.c:2075,1
    - Dst: fp16_null
      Src: /src/relic/test/test_pp.c:2076,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:2077,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:2080,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:2081,1
    - Dst: fp16_new
      Src: /src/relic/test/test_pp.c:2082,1
    - Dst: fp16_new
      Src: /src/relic/test/test_pp.c:2083,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:2084,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:2087,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:2088,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:2089,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:2090,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:2093,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2095,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2096,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2097,1
    - Dst: pp_map_k16
      Src: /src/relic/test/test_pp.c:2098,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2099,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2099,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2100,1
    - Dst: pp_map_k16
      Src: /src/relic/test/test_pp.c:2101,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2102,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2102,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2103,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:2104,1
    - Dst: pp_map_k16
      Src: /src/relic/test/test_pp.c:2105,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2106,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2106,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2109,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2110,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2111,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:2112,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_pp.c:2113,1
    - Dst: pp_map_k16
      Src: /src/relic/test/test_pp.c:2114,1
    - Dst: pp_map_k16
      Src: /src/relic/test/test_pp.c:2115,1
    - Dst: fp16_exp
      Src: /src/relic/test/test_pp.c:2116,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2117,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2117,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:2118,1
    - Dst: pp_map_k16
      Src: /src/relic/test/test_pp.c:2119,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2120,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2120,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:2121,1
    - Dst: pp_map_k16
      Src: /src/relic/test/test_pp.c:2122,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_pp.c:2123,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2124,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2124,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_pp.c:2125,1
    - Dst: pp_map_k16
      Src: /src/relic/test/test_pp.c:2126,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_pp.c:2127,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2128,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2128,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2131,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2132,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2133,1
    - Dst: pp_map_k16
      Src: /src/relic/test/test_pp.c:2134,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2135,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:2136,1
    - Dst: pp_map_sim_k16
      Src: /src/relic/test/test_pp.c:2137,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2138,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2138,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2139,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2140,1
    - Dst: pp_map_sim_k16
      Src: /src/relic/test/test_pp.c:2141,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2142,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2142,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:2143,1
    - Dst: pp_map_sim_k16
      Src: /src/relic/test/test_pp.c:2144,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2145,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2145,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2146,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2147,1
    - Dst: pp_map_k16
      Src: /src/relic/test/test_pp.c:2148,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2149,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2150,1
    - Dst: pp_map_k16
      Src: /src/relic/test/test_pp.c:2151,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_pp.c:2152,1
    - Dst: pp_map_sim_k16
      Src: /src/relic/test/test_pp.c:2153,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2154,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2154,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2158,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2159,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2160,1
    - Dst: pp_map_tatep_k16
      Src: /src/relic/test/test_pp.c:2161,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2162,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2162,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2163,1
    - Dst: pp_map_tatep_k16
      Src: /src/relic/test/test_pp.c:2164,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2165,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2165,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2166,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:2167,1
    - Dst: pp_map_tatep_k16
      Src: /src/relic/test/test_pp.c:2168,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2169,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2169,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2172,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2173,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2174,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:2175,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_pp.c:2176,1
    - Dst: pp_map_tatep_k16
      Src: /src/relic/test/test_pp.c:2177,1
    - Dst: pp_map_tatep_k16
      Src: /src/relic/test/test_pp.c:2178,1
    - Dst: fp16_exp
      Src: /src/relic/test/test_pp.c:2179,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2180,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2180,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:2181,1
    - Dst: pp_map_tatep_k16
      Src: /src/relic/test/test_pp.c:2182,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2183,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2183,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:2184,1
    - Dst: pp_map_tatep_k16
      Src: /src/relic/test/test_pp.c:2185,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_pp.c:2186,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2187,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2187,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_pp.c:2188,1
    - Dst: pp_map_tatep_k16
      Src: /src/relic/test/test_pp.c:2189,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_pp.c:2190,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2191,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2191,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2194,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2195,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2196,1
    - Dst: pp_map_tatep_k16
      Src: /src/relic/test/test_pp.c:2197,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2198,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:2199,1
    - Dst: pp_map_sim_tatep_k16
      Src: /src/relic/test/test_pp.c:2200,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2201,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2201,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2202,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2203,1
    - Dst: pp_map_sim_tatep_k16
      Src: /src/relic/test/test_pp.c:2204,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2205,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2205,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:2206,1
    - Dst: pp_map_sim_tatep_k16
      Src: /src/relic/test/test_pp.c:2207,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2208,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2208,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2209,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2210,1
    - Dst: pp_map_tatep_k16
      Src: /src/relic/test/test_pp.c:2211,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2212,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2213,1
    - Dst: pp_map_tatep_k16
      Src: /src/relic/test/test_pp.c:2214,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_pp.c:2215,1
    - Dst: pp_map_sim_tatep_k16
      Src: /src/relic/test/test_pp.c:2216,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2217,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2217,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2222,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2223,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2224,1
    - Dst: pp_map_weilp_k16
      Src: /src/relic/test/test_pp.c:2225,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2226,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2226,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2227,1
    - Dst: pp_map_weilp_k16
      Src: /src/relic/test/test_pp.c:2228,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2229,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2229,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2230,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:2231,1
    - Dst: pp_map_weilp_k16
      Src: /src/relic/test/test_pp.c:2232,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2233,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2233,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2236,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2237,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2238,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:2239,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_pp.c:2240,1
    - Dst: pp_map_weilp_k16
      Src: /src/relic/test/test_pp.c:2241,1
    - Dst: pp_map_weilp_k16
      Src: /src/relic/test/test_pp.c:2242,1
    - Dst: fp16_exp
      Src: /src/relic/test/test_pp.c:2243,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2244,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2244,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:2245,1
    - Dst: pp_map_weilp_k16
      Src: /src/relic/test/test_pp.c:2246,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2247,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2247,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:2248,1
    - Dst: pp_map_weilp_k16
      Src: /src/relic/test/test_pp.c:2249,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_pp.c:2250,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2251,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2251,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_pp.c:2252,1
    - Dst: pp_map_weilp_k16
      Src: /src/relic/test/test_pp.c:2253,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_pp.c:2254,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2255,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2255,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2258,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2259,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2260,1
    - Dst: pp_map_weilp_k16
      Src: /src/relic/test/test_pp.c:2261,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2262,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:2263,1
    - Dst: pp_map_sim_weilp_k16
      Src: /src/relic/test/test_pp.c:2264,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2265,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2265,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2266,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2267,1
    - Dst: pp_map_sim_weilp_k16
      Src: /src/relic/test/test_pp.c:2268,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2269,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2269,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:2270,1
    - Dst: pp_map_sim_weilp_k16
      Src: /src/relic/test/test_pp.c:2271,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2272,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2272,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2273,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2274,1
    - Dst: pp_map_weilp_k16
      Src: /src/relic/test/test_pp.c:2275,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2276,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2277,1
    - Dst: pp_map_weilp_k16
      Src: /src/relic/test/test_pp.c:2278,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_pp.c:2279,1
    - Dst: pp_map_sim_weilp_k16
      Src: /src/relic/test/test_pp.c:2280,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2281,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2281,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2286,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2287,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2288,1
    - Dst: pp_map_oatep_k16
      Src: /src/relic/test/test_pp.c:2289,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2290,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2290,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2291,1
    - Dst: pp_map_oatep_k16
      Src: /src/relic/test/test_pp.c:2292,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2293,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2293,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2294,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:2295,1
    - Dst: pp_map_oatep_k16
      Src: /src/relic/test/test_pp.c:2296,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2297,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2297,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2300,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2301,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2302,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:2303,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_pp.c:2304,1
    - Dst: pp_map_oatep_k16
      Src: /src/relic/test/test_pp.c:2305,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:2306,1
    - Dst: pp_map_oatep_k16
      Src: /src/relic/test/test_pp.c:2307,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2308,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2308,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:2309,1
    - Dst: pp_map_oatep_k16
      Src: /src/relic/test/test_pp.c:2310,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_pp.c:2311,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2312,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2312,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_pp.c:2313,1
    - Dst: pp_map_oatep_k16
      Src: /src/relic/test/test_pp.c:2314,1
    - Dst: fp16_sqr
      Src: /src/relic/test/test_pp.c:2315,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2316,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2316,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2319,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2320,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2321,1
    - Dst: pp_map_oatep_k16
      Src: /src/relic/test/test_pp.c:2322,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2323,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:2324,1
    - Dst: pp_map_sim_oatep_k16
      Src: /src/relic/test/test_pp.c:2325,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2326,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2326,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2327,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2328,1
    - Dst: pp_map_sim_oatep_k16
      Src: /src/relic/test/test_pp.c:2329,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2330,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2330,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:2331,1
    - Dst: pp_map_sim_oatep_k16
      Src: /src/relic/test/test_pp.c:2332,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2333,1
    - Dst: fp16_cmp_dig
      Src: /src/relic/test/test_pp.c:2333,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2334,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2335,1
    - Dst: pp_map_oatep_k16
      Src: /src/relic/test/test_pp.c:2336,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2337,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2338,1
    - Dst: pp_map_oatep_k16
      Src: /src/relic/test/test_pp.c:2339,1
    - Dst: fp16_mul
      Src: /src/relic/test/test_pp.c:2340,1
    - Dst: pp_map_sim_oatep_k16
      Src: /src/relic/test/test_pp.c:2341,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2342,1
    - Dst: fp16_cmp
      Src: /src/relic/test/test_pp.c:2342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 263
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2066
    functionDepth: 1
    functionLinenumber: 2066
    functionLinenumberEnd: 2345
    functionName: pairing16
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - pp_map_oatep_k16
    - ep4_dbl
    - fp16_mul
    - fp16_exp
    - ep4_set_infty
    - ep_curve_get_ord
    - pp_map_sim_oatep_k16
    - ep_null
    - fp16_sqr
    - ep4_new
    - bn_null
    - fp16_cmp
    - fp16_null
    - ep_mul
    - ep4_rand
    - fp16_cmp_dig
    - TEST_CASE
    - ep_new
    - ep_set_infty
    - ep4_mul
    - pp_map_sim_tatep_k16
    - bn_rand_mod
    - pp_map_weilp_k16
    - bn_new
    - fp16_new
    - pp_map_sim_k16
    - pp_map_sim_weilp_k16
    - pp_map_k16
    - ep_dbl
    - TEST_ASSERT
    - ep_rand
    - ep4_null
    - pp_map_tatep_k16
    linkageType: ''
    returnType: int
    signature: int pairing16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:2372,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:2373,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:2374,1
    - Dst: ep3_null
      Src: /src/relic/test/test_pp.c:2375,1
    - Dst: ep3_null
      Src: /src/relic/test/test_pp.c:2376,1
    - Dst: ep3_null
      Src: /src/relic/test/test_pp.c:2377,1
    - Dst: fp18_null
      Src: /src/relic/test/test_pp.c:2378,1
    - Dst: fp18_null
      Src: /src/relic/test/test_pp.c:2379,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:2382,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:2383,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:2384,1
    - Dst: ep3_new
      Src: /src/relic/test/test_pp.c:2385,1
    - Dst: ep3_new
      Src: /src/relic/test/test_pp.c:2386,1
    - Dst: ep3_new
      Src: /src/relic/test/test_pp.c:2387,1
    - Dst: fp18_new
      Src: /src/relic/test/test_pp.c:2388,1
    - Dst: fp18_new
      Src: /src/relic/test/test_pp.c:2389,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:2391,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2393,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2394,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2395,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2396,1
    - Dst: pp_dbl_k18
      Src: /src/relic/test/test_pp.c:2397,1
    - Dst: pp_norm_k18
      Src: /src/relic/test/test_pp.c:2398,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_pp.c:2399,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_pp.c:2400,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2401,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_pp.c:2401,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2405,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2406,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2407,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2408,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2409,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2410,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:2411,1
    - Dst: pp_dbl_k18_basic
      Src: /src/relic/test/test_pp.c:2412,1
    - Dst: pp_exp_k18
      Src: /src/relic/test/test_pp.c:2413,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_pp.c:2416,1
    - Dst: fp_add
      Src: /src/relic/test/test_pp.c:2417,1
    - Dst: pp_dbl_k18
      Src: /src/relic/test/test_pp.c:2419,1
    - Dst: pp_exp_k18
      Src: /src/relic/test/test_pp.c:2420,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2421,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2421,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2426,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2427,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2428,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2429,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2430,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2431,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:2433,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_pp.c:2434,1
    - Dst: fp_add
      Src: /src/relic/test/test_pp.c:2435,1
    - Dst: pp_dbl_k18_projc
      Src: /src/relic/test/test_pp.c:2436,1
    - Dst: pp_exp_k18
      Src: /src/relic/test/test_pp.c:2437,1
    - Dst: fp_hlv
      Src: /src/relic/test/test_pp.c:2440,1
    - Dst: pp_dbl_k18
      Src: /src/relic/test/test_pp.c:2442,1
    - Dst: pp_exp_k18
      Src: /src/relic/test/test_pp.c:2443,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2444,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2444,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2448,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2449,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2450,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2451,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2452,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2453,1
    - Dst: pp_dbl_k18_projc
      Src: /src/relic/test/test_pp.c:2454,1
    - Dst: pp_dbl_k18_projc_basic
      Src: /src/relic/test/test_pp.c:2455,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2456,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2456,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2461,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2462,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2463,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2464,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2465,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2466,1
    - Dst: pp_dbl_k18_projc
      Src: /src/relic/test/test_pp.c:2467,1
    - Dst: pp_dbl_k18_projc_lazyr
      Src: /src/relic/test/test_pp.c:2468,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2469,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2469,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2365
    functionDepth: 1
    functionLinenumber: 2365
    functionLinenumberEnd: 2473
    functionName: doubling18
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - ep3_dbl
    - pp_norm_k18
    - pp_dbl_k18_basic
    - pp_exp_k18
    - pp_dbl_k18_projc_basic
    - ep_curve_get_ord
    - ep_null
    - bn_null
    - fp18_cmp
    - ep3_new
    - fp18_new
    - pp_dbl_k18
    - fp_add
    - pp_dbl_k18_projc
    - TEST_CASE
    - ep_new
    - fp_hlv
    - pp_dbl_k18_projc_lazyr
    - bn_new
    - ep3_cmp
    - ep3_norm
    - fp18_null
    - fp_neg
    - fp18_zero
    - TEST_ASSERT
    - fp_dbl
    - ep_rand
    - ep3_rand
    linkageType: ''
    returnType: int
    signature: int doubling18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:2498,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:2499,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:2500,1
    - Dst: ep3_null
      Src: /src/relic/test/test_pp.c:2501,1
    - Dst: ep3_null
      Src: /src/relic/test/test_pp.c:2502,1
    - Dst: ep3_null
      Src: /src/relic/test/test_pp.c:2503,1
    - Dst: fp18_null
      Src: /src/relic/test/test_pp.c:2504,1
    - Dst: fp18_null
      Src: /src/relic/test/test_pp.c:2505,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:2508,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:2509,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:2510,1
    - Dst: ep3_new
      Src: /src/relic/test/test_pp.c:2511,1
    - Dst: ep3_new
      Src: /src/relic/test/test_pp.c:2512,1
    - Dst: ep3_new
      Src: /src/relic/test/test_pp.c:2513,1
    - Dst: fp18_new
      Src: /src/relic/test/test_pp.c:2514,1
    - Dst: fp18_new
      Src: /src/relic/test/test_pp.c:2515,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:2517,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2519,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2520,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2521,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2522,1
    - Dst: ep3_copy
      Src: /src/relic/test/test_pp.c:2523,1
    - Dst: pp_add_k18
      Src: /src/relic/test/test_pp.c:2524,1
    - Dst: pp_norm_k18
      Src: /src/relic/test/test_pp.c:2525,1
    - Dst: ep3_add
      Src: /src/relic/test/test_pp.c:2526,1
    - Dst: ep3_norm
      Src: /src/relic/test/test_pp.c:2527,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2528,1
    - Dst: ep3_cmp
      Src: /src/relic/test/test_pp.c:2528,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2532,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2533,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2534,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2535,1
    - Dst: ep3_copy
      Src: /src/relic/test/test_pp.c:2536,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2537,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2538,1
    - Dst: pp_add_k18
      Src: /src/relic/test/test_pp.c:2539,1
    - Dst: pp_exp_k18
      Src: /src/relic/test/test_pp.c:2540,1
    - Dst: pp_add_k18_basic
      Src: /src/relic/test/test_pp.c:2541,1
    - Dst: pp_exp_k18
      Src: /src/relic/test/test_pp.c:2542,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2543,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2543,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2548,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2549,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2550,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2551,1
    - Dst: ep3_copy
      Src: /src/relic/test/test_pp.c:2552,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2553,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2554,1
    - Dst: pp_add_k18
      Src: /src/relic/test/test_pp.c:2555,1
    - Dst: pp_exp_k18
      Src: /src/relic/test/test_pp.c:2556,1
    - Dst: pp_add_k18_projc
      Src: /src/relic/test/test_pp.c:2557,1
    - Dst: pp_exp_k18
      Src: /src/relic/test/test_pp.c:2558,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2559,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2559,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2563,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2564,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2565,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2566,1
    - Dst: ep3_copy
      Src: /src/relic/test/test_pp.c:2567,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2568,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2569,1
    - Dst: pp_add_k18_projc
      Src: /src/relic/test/test_pp.c:2570,1
    - Dst: pp_add_k18_projc_basic
      Src: /src/relic/test/test_pp.c:2571,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2572,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2572,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2577,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2578,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2579,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2580,1
    - Dst: ep3_copy
      Src: /src/relic/test/test_pp.c:2581,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2582,1
    - Dst: fp18_zero
      Src: /src/relic/test/test_pp.c:2583,1
    - Dst: pp_add_k18_projc
      Src: /src/relic/test/test_pp.c:2584,1
    - Dst: pp_add_k18_projc_lazyr
      Src: /src/relic/test/test_pp.c:2585,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2586,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2491
    functionDepth: 1
    functionLinenumber: 2491
    functionLinenumberEnd: 2590
    functionName: addition18
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 1
    functionsReached:
    - ep3_null
    - pp_norm_k18
    - pp_exp_k18
    - ep_curve_get_ord
    - pp_add_k18
    - ep_null
    - pp_add_k18_projc_basic
    - bn_null
    - fp18_cmp
    - ep3_new
    - fp18_new
    - ep3_copy
    - TEST_CASE
    - ep_new
    - ep3_add
    - bn_new
    - ep3_cmp
    - pp_add_k18_basic
    - ep3_norm
    - pp_add_k18_projc
    - fp18_null
    - fp18_zero
    - TEST_ASSERT
    - pp_add_k18_projc_lazyr
    - ep_rand
    - ep3_rand
    linkageType: ''
    returnType: int
    signature: int addition18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:2615,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:2616,1
    - Dst: fp18_null
      Src: /src/relic/test/test_pp.c:2617,1
    - Dst: fp18_null
      Src: /src/relic/test/test_pp.c:2618,1
    - Dst: ep3_null
      Src: /src/relic/test/test_pp.c:2619,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:2622,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:2623,1
    - Dst: fp18_new
      Src: /src/relic/test/test_pp.c:2624,1
    - Dst: fp18_new
      Src: /src/relic/test/test_pp.c:2625,1
    - Dst: ep3_new
      Src: /src/relic/test/test_pp.c:2626,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:2629,1
    - Dst: ep3_null
      Src: /src/relic/test/test_pp.c:2630,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:2631,1
    - Dst: ep3_new
      Src: /src/relic/test/test_pp.c:2632,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:2635,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2637,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2638,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2639,1
    - Dst: pp_map_k18
      Src: /src/relic/test/test_pp.c:2640,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2641,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2641,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2642,1
    - Dst: pp_map_k18
      Src: /src/relic/test/test_pp.c:2643,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2644,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2644,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2645,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_pp.c:2646,1
    - Dst: pp_map_k18
      Src: /src/relic/test/test_pp.c:2647,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2648,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2648,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2651,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2652,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2653,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:2654,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_pp.c:2655,1
    - Dst: pp_map_k18
      Src: /src/relic/test/test_pp.c:2656,1
    - Dst: pp_map_k18
      Src: /src/relic/test/test_pp.c:2657,1
    - Dst: fp18_exp
      Src: /src/relic/test/test_pp.c:2658,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2659,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2659,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:2660,1
    - Dst: pp_map_k18
      Src: /src/relic/test/test_pp.c:2661,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2662,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2662,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:2663,1
    - Dst: pp_map_k18
      Src: /src/relic/test/test_pp.c:2664,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_pp.c:2665,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2666,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2666,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_pp.c:2667,1
    - Dst: pp_map_k18
      Src: /src/relic/test/test_pp.c:2668,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_pp.c:2669,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2670,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2670,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2673,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2674,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2675,1
    - Dst: pp_map_k18
      Src: /src/relic/test/test_pp.c:2676,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2677,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_pp.c:2678,1
    - Dst: pp_map_sim_k18
      Src: /src/relic/test/test_pp.c:2679,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2680,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2680,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2681,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2682,1
    - Dst: pp_map_sim_k18
      Src: /src/relic/test/test_pp.c:2683,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2684,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2684,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_pp.c:2685,1
    - Dst: pp_map_sim_k18
      Src: /src/relic/test/test_pp.c:2686,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2687,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2687,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2688,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2689,1
    - Dst: pp_map_k18
      Src: /src/relic/test/test_pp.c:2690,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2691,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2692,1
    - Dst: pp_map_k18
      Src: /src/relic/test/test_pp.c:2693,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_pp.c:2694,1
    - Dst: pp_map_sim_k18
      Src: /src/relic/test/test_pp.c:2695,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2696,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2696,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2700,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2701,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2702,1
    - Dst: pp_map_tatep_k18
      Src: /src/relic/test/test_pp.c:2703,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2704,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2704,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2705,1
    - Dst: pp_map_tatep_k18
      Src: /src/relic/test/test_pp.c:2706,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2707,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2707,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2708,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_pp.c:2709,1
    - Dst: pp_map_tatep_k18
      Src: /src/relic/test/test_pp.c:2710,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2711,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2711,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2714,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2715,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2716,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:2717,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_pp.c:2718,1
    - Dst: pp_map_tatep_k18
      Src: /src/relic/test/test_pp.c:2719,1
    - Dst: pp_map_tatep_k18
      Src: /src/relic/test/test_pp.c:2720,1
    - Dst: fp18_exp
      Src: /src/relic/test/test_pp.c:2721,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2722,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2722,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:2723,1
    - Dst: pp_map_tatep_k18
      Src: /src/relic/test/test_pp.c:2724,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2725,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2725,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:2726,1
    - Dst: pp_map_tatep_k18
      Src: /src/relic/test/test_pp.c:2727,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_pp.c:2728,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2729,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2729,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_pp.c:2730,1
    - Dst: pp_map_tatep_k18
      Src: /src/relic/test/test_pp.c:2731,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_pp.c:2732,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2733,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2733,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2736,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2737,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2738,1
    - Dst: pp_map_tatep_k18
      Src: /src/relic/test/test_pp.c:2739,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2740,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_pp.c:2741,1
    - Dst: pp_map_sim_tatep_k18
      Src: /src/relic/test/test_pp.c:2742,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2743,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2743,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2744,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2745,1
    - Dst: pp_map_sim_tatep_k18
      Src: /src/relic/test/test_pp.c:2746,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2747,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2747,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_pp.c:2748,1
    - Dst: pp_map_sim_tatep_k18
      Src: /src/relic/test/test_pp.c:2749,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2750,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2750,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2751,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2752,1
    - Dst: pp_map_tatep_k18
      Src: /src/relic/test/test_pp.c:2753,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2754,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2755,1
    - Dst: pp_map_tatep_k18
      Src: /src/relic/test/test_pp.c:2756,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_pp.c:2757,1
    - Dst: pp_map_sim_tatep_k18
      Src: /src/relic/test/test_pp.c:2758,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2759,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2759,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2764,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2765,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2766,1
    - Dst: pp_map_weilp_k18
      Src: /src/relic/test/test_pp.c:2767,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2768,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2768,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2769,1
    - Dst: pp_map_weilp_k18
      Src: /src/relic/test/test_pp.c:2770,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2771,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2771,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2772,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_pp.c:2773,1
    - Dst: pp_map_weilp_k18
      Src: /src/relic/test/test_pp.c:2774,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2775,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2775,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2778,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2779,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2780,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:2781,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_pp.c:2782,1
    - Dst: pp_map_weilp_k18
      Src: /src/relic/test/test_pp.c:2783,1
    - Dst: pp_map_weilp_k18
      Src: /src/relic/test/test_pp.c:2784,1
    - Dst: fp18_exp
      Src: /src/relic/test/test_pp.c:2785,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2786,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2786,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:2787,1
    - Dst: pp_map_weilp_k18
      Src: /src/relic/test/test_pp.c:2788,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2789,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2789,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:2790,1
    - Dst: pp_map_weilp_k18
      Src: /src/relic/test/test_pp.c:2791,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_pp.c:2792,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2793,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2793,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_pp.c:2794,1
    - Dst: pp_map_weilp_k18
      Src: /src/relic/test/test_pp.c:2795,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_pp.c:2796,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2797,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2797,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2800,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2801,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2802,1
    - Dst: pp_map_weilp_k18
      Src: /src/relic/test/test_pp.c:2803,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2804,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_pp.c:2805,1
    - Dst: pp_map_sim_weilp_k18
      Src: /src/relic/test/test_pp.c:2806,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2807,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2807,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2808,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2809,1
    - Dst: pp_map_sim_weilp_k18
      Src: /src/relic/test/test_pp.c:2810,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2811,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2811,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_pp.c:2812,1
    - Dst: pp_map_sim_weilp_k18
      Src: /src/relic/test/test_pp.c:2813,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2814,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2814,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2815,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2816,1
    - Dst: pp_map_weilp_k18
      Src: /src/relic/test/test_pp.c:2817,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2818,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2819,1
    - Dst: pp_map_weilp_k18
      Src: /src/relic/test/test_pp.c:2820,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_pp.c:2821,1
    - Dst: pp_map_sim_weilp_k18
      Src: /src/relic/test/test_pp.c:2822,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2823,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2823,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2828,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2829,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2830,1
    - Dst: pp_map_oatep_k18
      Src: /src/relic/test/test_pp.c:2831,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2832,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2832,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2833,1
    - Dst: pp_map_oatep_k18
      Src: /src/relic/test/test_pp.c:2834,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2835,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2835,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2836,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_pp.c:2837,1
    - Dst: pp_map_oatep_k18
      Src: /src/relic/test/test_pp.c:2838,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2839,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2839,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2842,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2843,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2844,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:2845,1
    - Dst: ep3_mul
      Src: /src/relic/test/test_pp.c:2846,1
    - Dst: pp_map_oatep_k18
      Src: /src/relic/test/test_pp.c:2847,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:2848,1
    - Dst: pp_map_oatep_k18
      Src: /src/relic/test/test_pp.c:2849,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2850,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2850,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:2851,1
    - Dst: pp_map_oatep_k18
      Src: /src/relic/test/test_pp.c:2852,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_pp.c:2853,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2854,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2854,1
    - Dst: ep3_dbl
      Src: /src/relic/test/test_pp.c:2855,1
    - Dst: pp_map_oatep_k18
      Src: /src/relic/test/test_pp.c:2856,1
    - Dst: fp18_sqr
      Src: /src/relic/test/test_pp.c:2857,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2858,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2858,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2861,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2862,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2863,1
    - Dst: pp_map_oatep_k18
      Src: /src/relic/test/test_pp.c:2864,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2865,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_pp.c:2866,1
    - Dst: pp_map_sim_oatep_k18
      Src: /src/relic/test/test_pp.c:2867,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2868,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2868,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:2869,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2870,1
    - Dst: pp_map_sim_oatep_k18
      Src: /src/relic/test/test_pp.c:2871,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2872,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2872,1
    - Dst: ep3_set_infty
      Src: /src/relic/test/test_pp.c:2873,1
    - Dst: pp_map_sim_oatep_k18
      Src: /src/relic/test/test_pp.c:2874,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2875,1
    - Dst: fp18_cmp_dig
      Src: /src/relic/test/test_pp.c:2875,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2876,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2877,1
    - Dst: pp_map_oatep_k18
      Src: /src/relic/test/test_pp.c:2878,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2879,1
    - Dst: ep3_rand
      Src: /src/relic/test/test_pp.c:2880,1
    - Dst: pp_map_oatep_k18
      Src: /src/relic/test/test_pp.c:2881,1
    - Dst: fp18_mul
      Src: /src/relic/test/test_pp.c:2882,1
    - Dst: pp_map_sim_oatep_k18
      Src: /src/relic/test/test_pp.c:2883,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2884,1
    - Dst: fp18_cmp
      Src: /src/relic/test/test_pp.c:2884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 263
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2887
      start: 2608
    functionDepth: 1
    functionLinenumber: 2608
    functionLinenumberEnd: 2887
    functionName: pairing18
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - pp_map_k18
    - fp18_exp
    - pp_map_tatep_k18
    - ep3_dbl
    - ep_curve_get_ord
    - ep_null
    - fp18_cmp_dig
    - pp_map_oatep_k18
    - ep3_set_infty
    - bn_null
    - fp18_cmp
    - ep3_new
    - fp18_sqr
    - fp18_new
    - pp_map_sim_tatep_k18
    - ep_mul
    - pp_map_sim_oatep_k18
    - TEST_CASE
    - ep_new
    - ep_set_infty
    - bn_rand_mod
    - bn_new
    - fp18_null
    - fp18_mul
    - pp_map_sim_weilp_k18
    - ep_dbl
    - TEST_ASSERT
    - ep_rand
    - ep3_mul
    - ep3_rand
    - pp_map_weilp_k18
    - pp_map_sim_k18
    linkageType: ''
    returnType: int
    signature: int pairing18(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:2914,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:2915,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:2916,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:2917,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:2918,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:2919,1
    - Dst: fp24_null
      Src: /src/relic/test/test_pp.c:2920,1
    - Dst: fp24_null
      Src: /src/relic/test/test_pp.c:2921,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:2924,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:2925,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:2926,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:2927,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:2928,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:2929,1
    - Dst: fp24_new
      Src: /src/relic/test/test_pp.c:2930,1
    - Dst: fp24_new
      Src: /src/relic/test/test_pp.c:2931,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:2933,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2935,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2936,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2937,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2938,1
    - Dst: pp_dbl_k24
      Src: /src/relic/test/test_pp.c:2939,1
    - Dst: pp_norm_k24
      Src: /src/relic/test/test_pp.c:2940,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_pp.c:2941,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_pp.c:2942,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2943,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_pp.c:2943,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2947,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2948,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2949,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_pp.c:2950,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_pp.c:2951,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:2952,1
    - Dst: pp_dbl_k24_basic
      Src: /src/relic/test/test_pp.c:2953,1
    - Dst: pp_exp_k24
      Src: /src/relic/test/test_pp.c:2954,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_pp.c:2957,1
    - Dst: fp_add
      Src: /src/relic/test/test_pp.c:2958,1
    - Dst: pp_dbl_k24
      Src: /src/relic/test/test_pp.c:2960,1
    - Dst: pp_exp_k24
      Src: /src/relic/test/test_pp.c:2961,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2962,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_pp.c:2962,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:2967,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:2968,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:2969,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_pp.c:2970,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_pp.c:2971,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:2973,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_pp.c:2974,1
    - Dst: fp_add
      Src: /src/relic/test/test_pp.c:2975,1
    - Dst: pp_dbl_k24_projc
      Src: /src/relic/test/test_pp.c:2976,1
    - Dst: pp_exp_k24
      Src: /src/relic/test/test_pp.c:2977,1
    - Dst: fp_hlv
      Src: /src/relic/test/test_pp.c:2980,1
    - Dst: pp_dbl_k24
      Src: /src/relic/test/test_pp.c:2982,1
    - Dst: pp_exp_k24
      Src: /src/relic/test/test_pp.c:2983,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:2984,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_pp.c:2984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2907
    functionDepth: 1
    functionLinenumber: 2907
    functionLinenumberEnd: 2987
    functionName: doubling24
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - fp24_new
    - ep4_dbl
    - fp24_zero
    - pp_exp_k24
    - ep_curve_get_ord
    - ep4_norm
    - ep_null
    - pp_dbl_k24_basic
    - ep4_new
    - fp24_cmp
    - bn_null
    - fp_add
    - ep4_rand
    - pp_dbl_k24
    - pp_norm_k24
    - TEST_CASE
    - ep4_cmp
    - ep_new
    - fp_hlv
    - pp_dbl_k24_projc
    - bn_new
    - fp24_null
    - fp_neg
    - TEST_ASSERT
    - fp_dbl
    - ep_rand
    - ep4_null
    linkageType: ''
    returnType: int
    signature: int doubling24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3012,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3013,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:3014,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:3015,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:3016,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:3017,1
    - Dst: fp24_null
      Src: /src/relic/test/test_pp.c:3018,1
    - Dst: fp24_null
      Src: /src/relic/test/test_pp.c:3019,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3022,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3023,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:3024,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:3025,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:3026,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:3027,1
    - Dst: fp24_new
      Src: /src/relic/test/test_pp.c:3028,1
    - Dst: fp24_new
      Src: /src/relic/test/test_pp.c:3029,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:3031,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3033,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3034,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:3035,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:3036,1
    - Dst: ep4_copy
      Src: /src/relic/test/test_pp.c:3037,1
    - Dst: pp_add_k24
      Src: /src/relic/test/test_pp.c:3038,1
    - Dst: pp_norm_k24
      Src: /src/relic/test/test_pp.c:3039,1
    - Dst: ep4_add
      Src: /src/relic/test/test_pp.c:3040,1
    - Dst: ep4_norm
      Src: /src/relic/test/test_pp.c:3041,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3042,1
    - Dst: ep4_cmp
      Src: /src/relic/test/test_pp.c:3042,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3046,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3047,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:3048,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:3049,1
    - Dst: ep4_copy
      Src: /src/relic/test/test_pp.c:3050,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_pp.c:3051,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_pp.c:3052,1
    - Dst: pp_add_k24
      Src: /src/relic/test/test_pp.c:3053,1
    - Dst: pp_exp_k24
      Src: /src/relic/test/test_pp.c:3054,1
    - Dst: pp_add_k24_basic
      Src: /src/relic/test/test_pp.c:3055,1
    - Dst: pp_exp_k24
      Src: /src/relic/test/test_pp.c:3056,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3057,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_pp.c:3057,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3062,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3063,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:3064,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:3065,1
    - Dst: ep4_copy
      Src: /src/relic/test/test_pp.c:3066,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_pp.c:3067,1
    - Dst: fp24_zero
      Src: /src/relic/test/test_pp.c:3068,1
    - Dst: pp_add_k24
      Src: /src/relic/test/test_pp.c:3069,1
    - Dst: pp_exp_k24
      Src: /src/relic/test/test_pp.c:3070,1
    - Dst: pp_add_k24_projc
      Src: /src/relic/test/test_pp.c:3071,1
    - Dst: pp_exp_k24
      Src: /src/relic/test/test_pp.c:3072,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3073,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_pp.c:3073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 3005
    functionDepth: 1
    functionLinenumber: 3005
    functionLinenumberEnd: 3076
    functionName: addition24
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 1
    functionsReached:
    - pp_add_k24_projc
    - fp24_new
    - fp24_zero
    - ep4_copy
    - pp_exp_k24
    - ep_curve_get_ord
    - ep4_norm
    - ep_null
    - pp_add_k24_basic
    - ep4_new
    - fp24_cmp
    - bn_null
    - ep4_rand
    - pp_add_k24
    - pp_norm_k24
    - TEST_CASE
    - ep4_cmp
    - ep_new
    - ep4_add
    - bn_new
    - fp24_null
    - TEST_ASSERT
    - ep_rand
    - ep4_null
    linkageType: ''
    returnType: int
    signature: int addition24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3101,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3102,1
    - Dst: fp24_null
      Src: /src/relic/test/test_pp.c:3103,1
    - Dst: fp24_null
      Src: /src/relic/test/test_pp.c:3104,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:3105,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3108,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3109,1
    - Dst: fp24_new
      Src: /src/relic/test/test_pp.c:3110,1
    - Dst: fp24_new
      Src: /src/relic/test/test_pp.c:3111,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:3112,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:3115,1
    - Dst: ep4_null
      Src: /src/relic/test/test_pp.c:3116,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:3117,1
    - Dst: ep4_new
      Src: /src/relic/test/test_pp.c:3118,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:3121,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3123,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3124,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:3125,1
    - Dst: pp_map_k24
      Src: /src/relic/test/test_pp.c:3126,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3127,1
    - Dst: fp24_cmp_dig
      Src: /src/relic/test/test_pp.c:3127,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:3128,1
    - Dst: pp_map_k24
      Src: /src/relic/test/test_pp.c:3129,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3130,1
    - Dst: fp24_cmp_dig
      Src: /src/relic/test/test_pp.c:3130,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3131,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:3132,1
    - Dst: pp_map_k24
      Src: /src/relic/test/test_pp.c:3133,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3134,1
    - Dst: fp24_cmp_dig
      Src: /src/relic/test/test_pp.c:3134,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3137,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3138,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:3139,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:3140,1
    - Dst: ep4_mul
      Src: /src/relic/test/test_pp.c:3141,1
    - Dst: pp_map_k24
      Src: /src/relic/test/test_pp.c:3142,1
    - Dst: pp_map_k24
      Src: /src/relic/test/test_pp.c:3143,1
    - Dst: fp24_exp
      Src: /src/relic/test/test_pp.c:3144,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3145,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_pp.c:3145,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:3146,1
    - Dst: pp_map_k24
      Src: /src/relic/test/test_pp.c:3147,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3148,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_pp.c:3148,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:3149,1
    - Dst: pp_map_k24
      Src: /src/relic/test/test_pp.c:3150,1
    - Dst: fp24_sqr
      Src: /src/relic/test/test_pp.c:3151,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3152,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_pp.c:3152,1
    - Dst: ep4_dbl
      Src: /src/relic/test/test_pp.c:3153,1
    - Dst: pp_map_k24
      Src: /src/relic/test/test_pp.c:3154,1
    - Dst: fp24_sqr
      Src: /src/relic/test/test_pp.c:3155,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3156,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_pp.c:3156,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3159,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3160,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:3161,1
    - Dst: pp_map_k24
      Src: /src/relic/test/test_pp.c:3162,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3163,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:3164,1
    - Dst: pp_map_sim_k24
      Src: /src/relic/test/test_pp.c:3165,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3166,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_pp.c:3166,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:3167,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:3168,1
    - Dst: pp_map_sim_k24
      Src: /src/relic/test/test_pp.c:3169,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3170,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_pp.c:3170,1
    - Dst: ep4_set_infty
      Src: /src/relic/test/test_pp.c:3171,1
    - Dst: pp_map_sim_k24
      Src: /src/relic/test/test_pp.c:3172,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3173,1
    - Dst: fp24_cmp_dig
      Src: /src/relic/test/test_pp.c:3173,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3174,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:3175,1
    - Dst: pp_map_k24
      Src: /src/relic/test/test_pp.c:3176,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3177,1
    - Dst: ep4_rand
      Src: /src/relic/test/test_pp.c:3178,1
    - Dst: pp_map_k24
      Src: /src/relic/test/test_pp.c:3179,1
    - Dst: fp24_mul
      Src: /src/relic/test/test_pp.c:3180,1
    - Dst: pp_map_sim_k24
      Src: /src/relic/test/test_pp.c:3181,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3182,1
    - Dst: fp24_cmp
      Src: /src/relic/test/test_pp.c:3182,1
    - Dst: ep_neg
      Src: /src/relic/test/test_pp.c:3183,1
    - Dst: ep4_copy
      Src: /src/relic/test/test_pp.c:3184,1
    - Dst: pp_map_sim_k24
      Src: /src/relic/test/test_pp.c:3185,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3186,1
    - Dst: fp24_cmp_dig
      Src: /src/relic/test/test_pp.c:3186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3094
    functionDepth: 1
    functionLinenumber: 3094
    functionLinenumberEnd: 3188
    functionName: pairing24
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - fp24_new
    - pp_map_sim_k24
    - fp24_exp
    - ep4_dbl
    - ep4_copy
    - ep4_set_infty
    - pp_map_k24
    - ep_curve_get_ord
    - ep_null
    - fp24_cmp_dig
    - ep4_new
    - fp24_cmp
    - bn_null
    - fp24_sqr
    - ep_mul
    - ep4_rand
    - ep_neg
    - TEST_CASE
    - ep_new
    - ep_set_infty
    - ep4_mul
    - bn_rand_mod
    - bn_new
    - fp24_null
    - fp24_mul
    - ep_dbl
    - TEST_ASSERT
    - ep_rand
    - ep4_null
    linkageType: ''
    returnType: int
    signature: int pairing24(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3215,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3216,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:3217,1
    - Dst: ep8_null
      Src: /src/relic/test/test_pp.c:3218,1
    - Dst: ep8_null
      Src: /src/relic/test/test_pp.c:3219,1
    - Dst: ep8_null
      Src: /src/relic/test/test_pp.c:3220,1
    - Dst: fp48_null
      Src: /src/relic/test/test_pp.c:3221,1
    - Dst: fp48_null
      Src: /src/relic/test/test_pp.c:3222,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3225,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3226,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:3227,1
    - Dst: ep8_new
      Src: /src/relic/test/test_pp.c:3228,1
    - Dst: ep8_new
      Src: /src/relic/test/test_pp.c:3229,1
    - Dst: ep8_new
      Src: /src/relic/test/test_pp.c:3230,1
    - Dst: fp48_new
      Src: /src/relic/test/test_pp.c:3231,1
    - Dst: fp48_new
      Src: /src/relic/test/test_pp.c:3232,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:3234,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3236,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3237,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3238,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3239,1
    - Dst: pp_dbl_k48
      Src: /src/relic/test/test_pp.c:3240,1
    - Dst: pp_norm_k48
      Src: /src/relic/test/test_pp.c:3241,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_pp.c:3242,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_pp.c:3243,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3244,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_pp.c:3244,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3248,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3249,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3250,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_pp.c:3251,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_pp.c:3252,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:3253,1
    - Dst: pp_dbl_k48_basic
      Src: /src/relic/test/test_pp.c:3254,1
    - Dst: pp_exp_k48
      Src: /src/relic/test/test_pp.c:3255,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_pp.c:3258,1
    - Dst: fp_add
      Src: /src/relic/test/test_pp.c:3259,1
    - Dst: pp_dbl_k48
      Src: /src/relic/test/test_pp.c:3261,1
    - Dst: pp_exp_k48
      Src: /src/relic/test/test_pp.c:3262,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3263,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_pp.c:3263,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3268,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3269,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3270,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_pp.c:3271,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_pp.c:3272,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:3274,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_pp.c:3275,1
    - Dst: fp_add
      Src: /src/relic/test/test_pp.c:3276,1
    - Dst: pp_dbl_k48_projc
      Src: /src/relic/test/test_pp.c:3277,1
    - Dst: pp_exp_k48
      Src: /src/relic/test/test_pp.c:3278,1
    - Dst: fp_hlv
      Src: /src/relic/test/test_pp.c:3281,1
    - Dst: pp_dbl_k48
      Src: /src/relic/test/test_pp.c:3283,1
    - Dst: pp_exp_k48
      Src: /src/relic/test/test_pp.c:3284,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3285,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_pp.c:3285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3208
    functionDepth: 1
    functionLinenumber: 3208
    functionLinenumberEnd: 3288
    functionName: doubling48
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - pp_exp_k48
    - ep_curve_get_ord
    - fp48_cmp
    - ep_null
    - ep8_null
    - bn_null
    - pp_norm_k48
    - fp48_zero
    - fp_add
    - ep8_norm
    - ep8_dbl
    - ep8_rand
    - ep8_new
    - pp_dbl_k48_basic
    - pp_dbl_k48_projc
    - TEST_CASE
    - pp_dbl_k48
    - ep_new
    - fp_hlv
    - fp48_null
    - bn_new
    - fp_neg
    - ep8_cmp
    - TEST_ASSERT
    - fp_dbl
    - ep_rand
    - fp48_new
    linkageType: ''
    returnType: int
    signature: int doubling48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3313,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3314,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:3315,1
    - Dst: ep8_null
      Src: /src/relic/test/test_pp.c:3316,1
    - Dst: ep8_null
      Src: /src/relic/test/test_pp.c:3317,1
    - Dst: ep8_null
      Src: /src/relic/test/test_pp.c:3318,1
    - Dst: fp48_null
      Src: /src/relic/test/test_pp.c:3319,1
    - Dst: fp48_null
      Src: /src/relic/test/test_pp.c:3320,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3323,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3324,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:3325,1
    - Dst: ep8_new
      Src: /src/relic/test/test_pp.c:3326,1
    - Dst: ep8_new
      Src: /src/relic/test/test_pp.c:3327,1
    - Dst: ep8_new
      Src: /src/relic/test/test_pp.c:3328,1
    - Dst: fp48_new
      Src: /src/relic/test/test_pp.c:3329,1
    - Dst: fp48_new
      Src: /src/relic/test/test_pp.c:3330,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:3332,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3334,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3335,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3336,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3337,1
    - Dst: ep8_copy
      Src: /src/relic/test/test_pp.c:3338,1
    - Dst: pp_add_k48
      Src: /src/relic/test/test_pp.c:3339,1
    - Dst: pp_norm_k48
      Src: /src/relic/test/test_pp.c:3340,1
    - Dst: ep8_add
      Src: /src/relic/test/test_pp.c:3341,1
    - Dst: ep8_norm
      Src: /src/relic/test/test_pp.c:3342,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3343,1
    - Dst: ep8_cmp
      Src: /src/relic/test/test_pp.c:3343,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3347,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3348,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3349,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3350,1
    - Dst: ep8_copy
      Src: /src/relic/test/test_pp.c:3351,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_pp.c:3352,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_pp.c:3353,1
    - Dst: pp_add_k48
      Src: /src/relic/test/test_pp.c:3354,1
    - Dst: pp_exp_k48
      Src: /src/relic/test/test_pp.c:3355,1
    - Dst: pp_add_k48_basic
      Src: /src/relic/test/test_pp.c:3356,1
    - Dst: pp_exp_k48
      Src: /src/relic/test/test_pp.c:3357,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3358,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_pp.c:3358,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3363,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3364,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3365,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3366,1
    - Dst: ep8_copy
      Src: /src/relic/test/test_pp.c:3367,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_pp.c:3368,1
    - Dst: fp48_zero
      Src: /src/relic/test/test_pp.c:3369,1
    - Dst: pp_add_k48
      Src: /src/relic/test/test_pp.c:3370,1
    - Dst: pp_exp_k48
      Src: /src/relic/test/test_pp.c:3371,1
    - Dst: pp_add_k48_projc
      Src: /src/relic/test/test_pp.c:3372,1
    - Dst: pp_exp_k48
      Src: /src/relic/test/test_pp.c:3373,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3374,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_pp.c:3374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3377
      start: 3306
    functionDepth: 1
    functionLinenumber: 3306
    functionLinenumberEnd: 3377
    functionName: addition48
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 1
    functionsReached:
    - pp_exp_k48
    - ep_curve_get_ord
    - fp48_cmp
    - ep_null
    - pp_add_k48_basic
    - ep8_null
    - bn_null
    - pp_norm_k48
    - fp48_zero
    - ep8_norm
    - ep8_add
    - ep8_rand
    - ep8_new
    - TEST_CASE
    - ep_new
    - fp48_null
    - bn_new
    - pp_add_k48_projc
    - ep8_cmp
    - TEST_ASSERT
    - pp_add_k48
    - ep_rand
    - fp48_new
    - ep8_copy
    linkageType: ''
    returnType: int
    signature: int addition48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3402,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3403,1
    - Dst: fp48_null
      Src: /src/relic/test/test_pp.c:3404,1
    - Dst: fp48_null
      Src: /src/relic/test/test_pp.c:3405,1
    - Dst: ep8_null
      Src: /src/relic/test/test_pp.c:3406,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3409,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3410,1
    - Dst: fp48_new
      Src: /src/relic/test/test_pp.c:3411,1
    - Dst: fp48_new
      Src: /src/relic/test/test_pp.c:3412,1
    - Dst: ep8_new
      Src: /src/relic/test/test_pp.c:3413,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:3416,1
    - Dst: ep8_null
      Src: /src/relic/test/test_pp.c:3417,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:3418,1
    - Dst: ep8_new
      Src: /src/relic/test/test_pp.c:3419,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:3422,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3424,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3425,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3426,1
    - Dst: pp_map_k48
      Src: /src/relic/test/test_pp.c:3427,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3428,1
    - Dst: fp48_cmp_dig
      Src: /src/relic/test/test_pp.c:3428,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:3429,1
    - Dst: pp_map_k48
      Src: /src/relic/test/test_pp.c:3430,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3431,1
    - Dst: fp48_cmp_dig
      Src: /src/relic/test/test_pp.c:3431,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3432,1
    - Dst: ep8_set_infty
      Src: /src/relic/test/test_pp.c:3433,1
    - Dst: pp_map_k48
      Src: /src/relic/test/test_pp.c:3434,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3435,1
    - Dst: fp48_cmp_dig
      Src: /src/relic/test/test_pp.c:3435,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3438,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3439,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3440,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:3441,1
    - Dst: ep8_mul
      Src: /src/relic/test/test_pp.c:3442,1
    - Dst: pp_map_k48
      Src: /src/relic/test/test_pp.c:3443,1
    - Dst: pp_map_k48
      Src: /src/relic/test/test_pp.c:3444,1
    - Dst: fp48_exp
      Src: /src/relic/test/test_pp.c:3445,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3446,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_pp.c:3446,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:3447,1
    - Dst: pp_map_k48
      Src: /src/relic/test/test_pp.c:3448,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3449,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_pp.c:3449,1
    - Dst: ep_dbl
      Src: /src/relic/test/test_pp.c:3450,1
    - Dst: pp_map_k48
      Src: /src/relic/test/test_pp.c:3451,1
    - Dst: fp48_sqr
      Src: /src/relic/test/test_pp.c:3452,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3453,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_pp.c:3453,1
    - Dst: ep8_dbl
      Src: /src/relic/test/test_pp.c:3454,1
    - Dst: pp_map_k48
      Src: /src/relic/test/test_pp.c:3455,1
    - Dst: fp48_sqr
      Src: /src/relic/test/test_pp.c:3456,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3457,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_pp.c:3457,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3460,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3461,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3462,1
    - Dst: pp_map_k48
      Src: /src/relic/test/test_pp.c:3463,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3464,1
    - Dst: ep8_set_infty
      Src: /src/relic/test/test_pp.c:3465,1
    - Dst: pp_map_sim_k48
      Src: /src/relic/test/test_pp.c:3466,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3467,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_pp.c:3467,1
    - Dst: ep_set_infty
      Src: /src/relic/test/test_pp.c:3468,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3469,1
    - Dst: pp_map_sim_k48
      Src: /src/relic/test/test_pp.c:3470,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3471,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_pp.c:3471,1
    - Dst: ep8_set_infty
      Src: /src/relic/test/test_pp.c:3472,1
    - Dst: pp_map_sim_k48
      Src: /src/relic/test/test_pp.c:3473,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3474,1
    - Dst: fp48_cmp_dig
      Src: /src/relic/test/test_pp.c:3474,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3475,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3476,1
    - Dst: pp_map_k48
      Src: /src/relic/test/test_pp.c:3477,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3478,1
    - Dst: ep8_rand
      Src: /src/relic/test/test_pp.c:3479,1
    - Dst: pp_map_k48
      Src: /src/relic/test/test_pp.c:3480,1
    - Dst: fp48_mul
      Src: /src/relic/test/test_pp.c:3481,1
    - Dst: pp_map_sim_k48
      Src: /src/relic/test/test_pp.c:3482,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3483,1
    - Dst: fp48_cmp
      Src: /src/relic/test/test_pp.c:3483,1
    - Dst: ep_neg
      Src: /src/relic/test/test_pp.c:3484,1
    - Dst: ep8_copy
      Src: /src/relic/test/test_pp.c:3485,1
    - Dst: pp_map_sim_k48
      Src: /src/relic/test/test_pp.c:3486,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3487,1
    - Dst: fp48_cmp_dig
      Src: /src/relic/test/test_pp.c:3487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3489
      start: 3395
    functionDepth: 1
    functionLinenumber: 3395
    functionLinenumberEnd: 3489
    functionName: pairing48
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - ep_curve_get_ord
    - fp48_cmp
    - ep_null
    - pp_map_sim_k48
    - pp_map_k48
    - fp48_exp
    - ep8_null
    - bn_null
    - ep_mul
    - fp48_cmp_dig
    - ep_neg
    - ep8_dbl
    - ep8_rand
    - ep8_new
    - TEST_CASE
    - ep_new
    - ep_set_infty
    - fp48_null
    - bn_rand_mod
    - bn_new
    - fp48_mul
    - fp48_sqr
    - ep8_mul
    - ep_dbl
    - TEST_ASSERT
    - ep_rand
    - fp48_new
    - ep8_set_infty
    - ep8_copy
    linkageType: ''
    returnType: int
    signature: int pairing48(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3537,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3538,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:3539,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3540,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3541,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3542,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3543,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3544,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3545,1
    - Dst: fp54_null
      Src: /src/relic/test/test_pp.c:3546,1
    - Dst: fp54_null
      Src: /src/relic/test/test_pp.c:3547,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3550,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3551,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:3552,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3553,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3554,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3555,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3556,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3557,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3558,1
    - Dst: fp54_new
      Src: /src/relic/test/test_pp.c:3559,1
    - Dst: fp54_new
      Src: /src/relic/test/test_pp.c:3560,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3562,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3562,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3563,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3563,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3564,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3564,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3565,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3565,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3566,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3566,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3567,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3567,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3568,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3568,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3569,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3569,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3570,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3570,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3572,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3572,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3573,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3573,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3574,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3574,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3575,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3575,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3576,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3576,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3577,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3577,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3578,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3578,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3579,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3579,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3580,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3580,1
    - Dst: fp9_set_dig
      Src: /src/relic/test/test_pp.c:3582,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:3584,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3587,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3588,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3589,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3590,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3591,1
    - Dst: pp_dbl_k54_projc
      Src: /src/relic/test/test_pp.c:3592,1
    - Dst: fp9_inv
      Src: /src/relic/test/test_pp.c:3593,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_pp.c:3594,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_pp.c:3595,1
    - Dst: pp_dbl_k54_basic
      Src: /src/relic/test/test_pp.c:3596,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3597,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_pp.c:3597,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_pp.c:3597,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3600,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3601,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3602,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3603,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3604,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_pp.c:3605,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_pp.c:3606,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:3607,1
    - Dst: pp_dbl_k54_basic
      Src: /src/relic/test/test_pp.c:3608,1
    - Dst: pp_exp_k54
      Src: /src/relic/test/test_pp.c:3609,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_pp.c:3612,1
    - Dst: fp_add
      Src: /src/relic/test/test_pp.c:3613,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3615,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3616,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3617,1
    - Dst: pp_dbl_k54
      Src: /src/relic/test/test_pp.c:3618,1
    - Dst: pp_exp_k54
      Src: /src/relic/test/test_pp.c:3619,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3620,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_pp.c:3620,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3625,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3626,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3627,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3628,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3629,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_pp.c:3630,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_pp.c:3631,1
    - Dst: fp_neg
      Src: /src/relic/test/test_pp.c:3633,1
    - Dst: fp_dbl
      Src: /src/relic/test/test_pp.c:3634,1
    - Dst: fp_add
      Src: /src/relic/test/test_pp.c:3635,1
    - Dst: pp_dbl_k54_projc
      Src: /src/relic/test/test_pp.c:3636,1
    - Dst: pp_exp_k54
      Src: /src/relic/test/test_pp.c:3637,1
    - Dst: fp_hlv
      Src: /src/relic/test/test_pp.c:3640,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3642,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3643,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3644,1
    - Dst: pp_dbl_k54
      Src: /src/relic/test/test_pp.c:3645,1
    - Dst: pp_exp_k54
      Src: /src/relic/test/test_pp.c:3646,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3647,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_pp.c:3647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3530
    functionDepth: 1
    functionLinenumber: 3530
    functionLinenumberEnd: 3650
    functionName: doubling54
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - pp_dbl_k54_basic
    - fp54_null
    - pp_dbl_k54_projc
    - ep_curve_get_ord
    - fp9_inv
    - fp9_null
    - ep_null
    - fp54_new
    - fp54_cmp
    - fp9_set_dig
    - pp_dbl_k54
    - bn_null
    - fp9_new
    - fp_read_str
    - pp_exp_k54
    - fp_add
    - strlen
    - TEST_CASE
    - ep_new
    - fp_hlv
    - bn_new
    - fp9_copy
    - fp9_cmp
    - fp54_zero
    - fp_neg
    - TEST_ASSERT
    - fp_dbl
    - ep_rand
    - fp9_mul
    linkageType: ''
    returnType: int
    signature: int doubling54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3678,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3679,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:3680,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3681,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3682,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3683,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3684,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3685,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3686,1
    - Dst: fp54_null
      Src: /src/relic/test/test_pp.c:3687,1
    - Dst: fp54_null
      Src: /src/relic/test/test_pp.c:3688,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3691,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3692,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:3693,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3694,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3695,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3696,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3697,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3698,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3699,1
    - Dst: fp54_new
      Src: /src/relic/test/test_pp.c:3700,1
    - Dst: fp54_new
      Src: /src/relic/test/test_pp.c:3701,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3703,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3703,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3704,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3704,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3705,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3705,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3706,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3706,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3707,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3707,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3708,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3708,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3709,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3709,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3710,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3710,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3711,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3711,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3713,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3713,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3714,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3714,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3715,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3715,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3716,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3716,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3717,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3717,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3718,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3718,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3719,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3719,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3720,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3720,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3721,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3721,1
    - Dst: fp9_set_dig
      Src: /src/relic/test/test_pp.c:3723,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:3725,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3728,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3729,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3730,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3731,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3732,1
    - Dst: pp_dbl_k54
      Src: /src/relic/test/test_pp.c:3733,1
    - Dst: pp_add_k54_projc
      Src: /src/relic/test/test_pp.c:3734,1
    - Dst: fp9_inv
      Src: /src/relic/test/test_pp.c:3735,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_pp.c:3736,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_pp.c:3737,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3738,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3739,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3740,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3741,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3742,1
    - Dst: pp_dbl_k54
      Src: /src/relic/test/test_pp.c:3743,1
    - Dst: fp9_inv
      Src: /src/relic/test/test_pp.c:3745,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_pp.c:3746,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_pp.c:3747,1
    - Dst: pp_add_k54_basic
      Src: /src/relic/test/test_pp.c:3749,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3750,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_pp.c:3750,1
    - Dst: fp9_cmp
      Src: /src/relic/test/test_pp.c:3750,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3753,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3754,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3755,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3756,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3757,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_pp.c:3758,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_pp.c:3759,1
    - Dst: pp_dbl_k54
      Src: /src/relic/test/test_pp.c:3760,1
    - Dst: pp_add_k54
      Src: /src/relic/test/test_pp.c:3761,1
    - Dst: pp_exp_k54
      Src: /src/relic/test/test_pp.c:3762,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3763,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3764,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3765,1
    - Dst: pp_dbl_k54
      Src: /src/relic/test/test_pp.c:3766,1
    - Dst: fp9_inv
      Src: /src/relic/test/test_pp.c:3768,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_pp.c:3769,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_pp.c:3770,1
    - Dst: pp_add_k54_basic
      Src: /src/relic/test/test_pp.c:3772,1
    - Dst: pp_exp_k54
      Src: /src/relic/test/test_pp.c:3773,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3774,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_pp.c:3774,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3779,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3780,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3781,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3782,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3783,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_pp.c:3784,1
    - Dst: fp54_zero
      Src: /src/relic/test/test_pp.c:3785,1
    - Dst: pp_dbl_k54
      Src: /src/relic/test/test_pp.c:3786,1
    - Dst: pp_add_k54
      Src: /src/relic/test/test_pp.c:3787,1
    - Dst: pp_exp_k54
      Src: /src/relic/test/test_pp.c:3788,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3789,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3790,1
    - Dst: fp9_copy
      Src: /src/relic/test/test_pp.c:3791,1
    - Dst: pp_dbl_k54
      Src: /src/relic/test/test_pp.c:3792,1
    - Dst: pp_add_k54_projc
      Src: /src/relic/test/test_pp.c:3793,1
    - Dst: pp_exp_k54
      Src: /src/relic/test/test_pp.c:3794,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3795,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_pp.c:3795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3798
      start: 3671
    functionDepth: 1
    functionLinenumber: 3671
    functionLinenumberEnd: 3798
    functionName: addition54
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 1
    functionsReached:
    - fp54_null
    - pp_add_k54_projc
    - ep_curve_get_ord
    - fp9_inv
    - fp9_null
    - ep_null
    - fp54_new
    - fp54_cmp
    - fp9_set_dig
    - pp_dbl_k54
    - bn_null
    - fp9_new
    - fp_read_str
    - pp_add_k54
    - pp_exp_k54
    - pp_add_k54_basic
    - strlen
    - TEST_CASE
    - ep_new
    - bn_new
    - fp9_copy
    - fp9_cmp
    - fp54_zero
    - TEST_ASSERT
    - ep_rand
    - fp9_mul
    linkageType: ''
    returnType: int
    signature: int addition54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3826,1
    - Dst: bn_null
      Src: /src/relic/test/test_pp.c:3827,1
    - Dst: ep_null
      Src: /src/relic/test/test_pp.c:3828,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3829,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3830,1
    - Dst: fp9_null
      Src: /src/relic/test/test_pp.c:3831,1
    - Dst: fp54_null
      Src: /src/relic/test/test_pp.c:3832,1
    - Dst: fp54_null
      Src: /src/relic/test/test_pp.c:3833,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3836,1
    - Dst: bn_new
      Src: /src/relic/test/test_pp.c:3837,1
    - Dst: ep_new
      Src: /src/relic/test/test_pp.c:3838,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3839,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3840,1
    - Dst: fp9_new
      Src: /src/relic/test/test_pp.c:3841,1
    - Dst: fp54_new
      Src: /src/relic/test/test_pp.c:3842,1
    - Dst: fp54_new
      Src: /src/relic/test/test_pp.c:3843,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_pp.c:3845,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3847,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3847,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3848,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3848,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3849,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3849,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3850,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3850,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3851,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3851,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3852,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3852,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3853,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3853,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3854,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3854,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3855,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3855,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3857,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3857,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3858,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3858,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3859,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3859,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3860,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3860,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3861,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3861,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3862,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3862,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3863,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3863,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3864,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3864,1
    - Dst: fp_read_str
      Src: /src/relic/test/test_pp.c:3865,1
    - Dst: strlen
      Src: /src/relic/test/test_pp.c:3865,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3867,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3868,1
    - Dst: pp_map_k54
      Src: /src/relic/test/test_pp.c:3869,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3870,1
    - Dst: fp54_cmp_dig
      Src: /src/relic/test/test_pp.c:3870,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pp.c:3873,1
    - Dst: ep_rand
      Src: /src/relic/test/test_pp.c:3874,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pp.c:3875,1
    - Dst: pp_map_k54
      Src: /src/relic/test/test_pp.c:3876,1
    - Dst: ep_mul
      Src: /src/relic/test/test_pp.c:3877,1
    - Dst: pp_map_k54
      Src: /src/relic/test/test_pp.c:3878,1
    - Dst: fp54_exp
      Src: /src/relic/test/test_pp.c:3879,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3880,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_pp.c:3880,1
    - Dst: fp9_set_dig
      Src: /src/relic/test/test_pp.c:3881,1
    - Dst: pp_dbl_k54
      Src: /src/relic/test/test_pp.c:3882,1
    - Dst: fp9_inv
      Src: /src/relic/test/test_pp.c:3883,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_pp.c:3884,1
    - Dst: fp9_mul
      Src: /src/relic/test/test_pp.c:3885,1
    - Dst: fp9_set_dig
      Src: /src/relic/test/test_pp.c:3886,1
    - Dst: pp_map_k54
      Src: /src/relic/test/test_pp.c:3887,1
    - Dst: fp54_sqr
      Src: /src/relic/test/test_pp.c:3888,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pp.c:3889,1
    - Dst: fp54_cmp
      Src: /src/relic/test/test_pp.c:3889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3819
    functionDepth: 1
    functionLinenumber: 3819
    functionLinenumberEnd: 3891
    functionName: pairing54
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 0
    functionsReached:
    - fp54_null
    - ep_curve_get_ord
    - fp9_inv
    - fp9_null
    - ep_null
    - fp54_cmp_dig
    - fp54_new
    - fp54_cmp
    - fp9_set_dig
    - pp_dbl_k54
    - bn_null
    - fp9_new
    - fp_read_str
    - fp54_sqr
    - ep_mul
    - strlen
    - TEST_CASE
    - ep_new
    - bn_rand_mod
    - bn_new
    - fp54_exp
    - pp_map_k54
    - TEST_ASSERT
    - ep_rand
    - fp9_mul
    linkageType: ''
    returnType: int
    signature: int pairing54(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_pp.c:3910,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3911,1
    - Dst: util_banner
      Src: /src/relic/test/test_pp.c:3915,1
    - Dst: ep_param_set_any_pairf
      Src: /src/relic/test/test_pp.c:3917,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_pp.c:3918,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3919,1
    - Dst: ep_param_print
      Src: /src/relic/test/test_pp.c:3923,1
    - Dst: util_banner
      Src: /src/relic/test/test_pp.c:3925,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_pp.c:3927,1
    - Dst: doubling1
      Src: /src/relic/test/test_pp.c:3928,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3929,1
    - Dst: addition1
      Src: /src/relic/test/test_pp.c:3933,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3934,1
    - Dst: pairing1
      Src: /src/relic/test/test_pp.c:3938,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3939,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_pp.c:3944,1
    - Dst: doubling2
      Src: /src/relic/test/test_pp.c:3945,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3946,1
    - Dst: addition2
      Src: /src/relic/test/test_pp.c:3950,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3951,1
    - Dst: pairing2
      Src: /src/relic/test/test_pp.c:3955,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3956,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_pp.c:3961,1
    - Dst: doubling8
      Src: /src/relic/test/test_pp.c:3962,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3963,1
    - Dst: addition8
      Src: /src/relic/test/test_pp.c:3967,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3968,1
    - Dst: pairing8
      Src: /src/relic/test/test_pp.c:3972,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3973,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_pp.c:3978,1
    - Dst: doubling12
      Src: /src/relic/test/test_pp.c:3979,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3980,1
    - Dst: addition12
      Src: /src/relic/test/test_pp.c:3984,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3985,1
    - Dst: pairing12
      Src: /src/relic/test/test_pp.c:3989,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3990,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_pp.c:3995,1
    - Dst: doubling16
      Src: /src/relic/test/test_pp.c:3996,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:3997,1
    - Dst: addition16
      Src: /src/relic/test/test_pp.c:4001,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4002,1
    - Dst: pairing16
      Src: /src/relic/test/test_pp.c:4006,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4007,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_pp.c:4012,1
    - Dst: doubling18
      Src: /src/relic/test/test_pp.c:4013,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4014,1
    - Dst: addition18
      Src: /src/relic/test/test_pp.c:4018,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4019,1
    - Dst: pairing18
      Src: /src/relic/test/test_pp.c:4023,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4024,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_pp.c:4029,1
    - Dst: doubling24
      Src: /src/relic/test/test_pp.c:4030,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4031,1
    - Dst: addition24
      Src: /src/relic/test/test_pp.c:4035,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4036,1
    - Dst: pairing24
      Src: /src/relic/test/test_pp.c:4040,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4041,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_pp.c:4046,1
    - Dst: doubling48
      Src: /src/relic/test/test_pp.c:4047,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4048,1
    - Dst: addition48
      Src: /src/relic/test/test_pp.c:4052,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4053,1
    - Dst: pairing48
      Src: /src/relic/test/test_pp.c:4057,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4058,1
    - Dst: ep_curve_embed
      Src: /src/relic/test/test_pp.c:4063,1
    - Dst: doubling54
      Src: /src/relic/test/test_pp.c:4064,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4065,1
    - Dst: addition54
      Src: /src/relic/test/test_pp.c:4069,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4070,1
    - Dst: pairing54
      Src: /src/relic/test/test_pp.c:4074,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4075,1
    - Dst: util_banner
      Src: /src/relic/test/test_pp.c:4080,1
    - Dst: core_clean
      Src: /src/relic/test/test_pp.c:4082,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 142
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4084
      start: 3909
    functionDepth: 2
    functionLinenumber: 3909
    functionLinenumberEnd: 4084
    functionName: main
    functionSourceFile: /src/relic/test/test_pp.c
    functionUses: 97
    functionsReached:
    - util_banner
    - pairing18
    - pairing24
    - doubling1
    - addition48
    - pairing12
    - pairing1
    - addition1
    - RLC_THROW
    - pairing8
    - addition2
    - addition24
    - doubling54
    - doubling18
    - core_clean
    - pairing2
    - ep_curve_embed
    - addition18
    - pairing54
    - ep_param_set_any_pairf
    - core_init
    - doubling48
    - addition8
    - pairing48
    - doubling24
    - addition54
    - addition16
    - doubling16
    - doubling2
    - ep_param_print
    - doubling8
    - addition12
    - doubling12
    - pairing16
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:42,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:45,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:46,1
    - Dst: eb_free
      Src: /src/relic/test/test_eb.c:47,1
    - Dst: util_print
      Src: /src/relic/test/test_eb.c:52,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_eb.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: memory
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 37
    functionsReached:
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - eb_free
    - eb_new
    - eb_null
    linkageType: ''
    returnType: int
    signature: int memory(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:68,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:69,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:70,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:73,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:74,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:75,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:77,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:78,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:79,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:80,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:82,1
    - Dst: eb_copy
      Src: /src/relic/test/test_eb.c:83,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:84,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:84,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:86,1
    - Dst: eb_copy
      Src: /src/relic/test/test_eb.c:87,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:88,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:88,1
    - Dst: eb_dbl
      Src: /src/relic/test/test_eb.c:91,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:92,1
    - Dst: eb_dbl
      Src: /src/relic/test/test_eb.c:93,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:94,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:94,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:95,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:95,1
    - Dst: eb_dbl
      Src: /src/relic/test/test_eb.c:97,1
    - Dst: eb_dbl
      Src: /src/relic/test/test_eb.c:98,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:99,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:99,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:100,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:100,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:104,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:105,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:107,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:107,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:108,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:109,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:109,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:110,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:111,1
    - Dst: eb_set_infty
      Src: /src/relic/test/test_eb.c:112,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:113,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:113,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:117,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:118,1
    - Dst: eb_set_infty
      Src: /src/relic/test/test_eb.c:119,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:120,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:120,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:121,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:121,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:125,1
    - Dst: eb_set_infty
      Src: /src/relic/test/test_eb.c:126,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:127,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:127,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:131,1
    - Dst: eb_set_infty
      Src: /src/relic/test/test_eb.c:132,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:133,1
    - Dst: eb_on_curve
      Src: /src/relic/test/test_eb.c:133,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:134,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:135,1
    - Dst: eb_on_curve
      Src: /src/relic/test/test_eb.c:135,1
    - Dst: fb_rand
      Src: /src/relic/test/test_eb.c:136,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:137,1
    - Dst: eb_on_curve
      Src: /src/relic/test/test_eb.c:137,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:141,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:142,1
    - Dst: eb_blind
      Src: /src/relic/test/test_eb.c:143,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:144,1
    - Dst: eb_on_curve
      Src: /src/relic/test/test_eb.c:144,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:147,1
    - Dst: eb_set_infty
      Src: /src/relic/test/test_eb.c:149,1
    - Dst: eb_size_bin
      Src: /src/relic/test/test_eb.c:150,1
    - Dst: eb_write_bin
      Src: /src/relic/test/test_eb.c:151,1
    - Dst: eb_read_bin
      Src: /src/relic/test/test_eb.c:152,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:153,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:153,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:154,1
    - Dst: eb_size_bin
      Src: /src/relic/test/test_eb.c:155,1
    - Dst: eb_write_bin
      Src: /src/relic/test/test_eb.c:156,1
    - Dst: eb_read_bin
      Src: /src/relic/test/test_eb.c:157,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:158,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:158,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:159,1
    - Dst: eb_dbl
      Src: /src/relic/test/test_eb.c:160,1
    - Dst: eb_size_bin
      Src: /src/relic/test/test_eb.c:161,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:162,1
    - Dst: eb_write_bin
      Src: /src/relic/test/test_eb.c:163,1
    - Dst: eb_read_bin
      Src: /src/relic/test/test_eb.c:164,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:165,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 169
    functionName: util
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 3
    functionsReached:
    - eb_size_bin
    - fb_rand
    - eb_is_infty
    - eb_write_bin
    - eb_rand
    - eb_neg
    - eb_dbl
    - eb_blind
    - eb_copy
    - eb_set_infty
    - eb_read_bin
    - TEST_CASE
    - eb_cmp
    - eb_on_curve
    - eb_add
    - eb_norm
    - TEST_ASSERT
    - eb_new
    - eb_null
    linkageType: ''
    returnType: int
    signature: int util(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:186,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:187,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:188,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:189,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:190,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:193,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:194,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:195,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:196,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:197,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:199,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:200,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:201,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:202,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:203,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:204,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:204,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:207,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:208,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:209,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:210,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:211,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:212,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:213,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:214,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:215,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:215,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:218,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:219,1
    - Dst: eb_set_infty
      Src: /src/relic/test/test_eb.c:220,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:221,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:222,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:222,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:223,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:224,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:224,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:227,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:228,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:229,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:230,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:231,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:231,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:235,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:236,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:237,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:238,1
    - Dst: eb_add_basic
      Src: /src/relic/test/test_eb.c:239,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:240,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:240,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:246,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:247,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:248,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:249,1
    - Dst: eb_add_projc
      Src: /src/relic/test/test_eb.c:250,1
    - Dst: eb_add_projc
      Src: /src/relic/test/test_eb.c:251,1
    - Dst: eb_add_projc
      Src: /src/relic/test/test_eb.c:253,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:255,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:256,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:257,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:258,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:258,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:262,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:263,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:264,1
    - Dst: eb_add_projc
      Src: /src/relic/test/test_eb.c:266,1
    - Dst: eb_add_projc
      Src: /src/relic/test/test_eb.c:267,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:269,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:270,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:271,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:271,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:274,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:275,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:276,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:278,1
    - Dst: eb_add_projc
      Src: /src/relic/test/test_eb.c:279,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:280,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 283
    functionName: addition
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 3
    functionsReached:
    - eb_norm
    - TEST_CASE
    - eb_set_infty
    - eb_is_infty
    - TEST_ASSERT
    - eb_rand
    - eb_neg
    - eb_add_basic
    - eb_cmp
    - eb_add_projc
    - eb_new
    - eb_add
    - eb_null
    linkageType: ''
    returnType: int
    signature: int addition(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:301,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:302,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:303,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:304,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:307,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:308,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:309,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:310,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:312,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:313,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:314,1
    - Dst: eb_sub
      Src: /src/relic/test/test_eb.c:315,1
    - Dst: eb_sub
      Src: /src/relic/test/test_eb.c:316,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:317,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:318,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:318,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:322,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:323,1
    - Dst: eb_set_infty
      Src: /src/relic/test/test_eb.c:324,1
    - Dst: eb_sub
      Src: /src/relic/test/test_eb.c:325,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:326,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:326,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:330,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:331,1
    - Dst: eb_sub
      Src: /src/relic/test/test_eb.c:332,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:333,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:333,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:338,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:339,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:340,1
    - Dst: eb_sub
      Src: /src/relic/test/test_eb.c:341,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:342,1
    - Dst: eb_sub_basic
      Src: /src/relic/test/test_eb.c:343,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:344,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:344,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:350,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:351,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:352,1
    - Dst: eb_add_projc
      Src: /src/relic/test/test_eb.c:353,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:354,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:355,1
    - Dst: eb_add_projc
      Src: /src/relic/test/test_eb.c:356,1
    - Dst: eb_sub_projc
      Src: /src/relic/test/test_eb.c:358,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:359,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:360,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:361,1
    - Dst: eb_sub
      Src: /src/relic/test/test_eb.c:362,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:363,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:364,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:364,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:368,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:369,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:370,1
    - Dst: eb_add_projc
      Src: /src/relic/test/test_eb.c:371,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:372,1
    - Dst: eb_sub_projc
      Src: /src/relic/test/test_eb.c:374,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:375,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:377,1
    - Dst: eb_sub
      Src: /src/relic/test/test_eb.c:378,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:379,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:380,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:380,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:383,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:386,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:387,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:388,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:389,1
    - Dst: eb_sub
      Src: /src/relic/test/test_eb.c:391,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:392,1
    - Dst: eb_sub_projc
      Src: /src/relic/test/test_eb.c:393,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:394,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:395,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 398
    functionName: subtraction
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 3
    functionsReached:
    - TEST_CASE
    - eb_sub_basic
    - eb_sub
    - eb_set_infty
    - eb_is_infty
    - TEST_ASSERT
    - eb_rand
    - eb_neg
    - eb_sub_projc
    - eb_cmp
    - eb_add_projc
    - eb_new
    - eb_norm
    - eb_null
    linkageType: ''
    returnType: int
    signature: int subtraction(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:415,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:416,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:417,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:420,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:421,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:422,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:424,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:425,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:426,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:427,1
    - Dst: eb_dbl
      Src: /src/relic/test/test_eb.c:428,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:429,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:429,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:433,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:434,1
    - Dst: eb_dbl
      Src: /src/relic/test/test_eb.c:435,1
    - Dst: eb_dbl_basic
      Src: /src/relic/test/test_eb.c:436,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:437,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:437,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:442,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:443,1
    - Dst: eb_dbl_projc
      Src: /src/relic/test/test_eb.c:445,1
    - Dst: eb_dbl_projc
      Src: /src/relic/test/test_eb.c:446,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:447,1
    - Dst: eb_dbl
      Src: /src/relic/test/test_eb.c:448,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:449,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:449,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:452,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:453,1
    - Dst: eb_dbl_projc
      Src: /src/relic/test/test_eb.c:454,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:455,1
    - Dst: eb_dbl
      Src: /src/relic/test/test_eb.c:456,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:457,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 460
    functionName: doubling
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 3
    functionsReached:
    - eb_norm
    - TEST_CASE
    - eb_dbl_projc
    - TEST_ASSERT
    - eb_rand
    - eb_dbl_basic
    - eb_cmp
    - eb_dbl
    - eb_new
    - eb_add
    - eb_null
    linkageType: ''
    returnType: int
    signature: int doubling(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:476,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:477,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:478,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:481,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:482,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:483,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:485,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:486,1
    - Dst: eb_hlv
      Src: /src/relic/test/test_eb.c:487,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:488,1
    - Dst: eb_dbl
      Src: /src/relic/test/test_eb.c:489,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:490,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 493
    functionName: halving
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - TEST_ASSERT
    - eb_rand
    - eb_cmp
    - eb_dbl
    - eb_new
    - eb_hlv
    - eb_norm
    - eb_null
    linkageType: ''
    returnType: int
    signature: int halving(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:509,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:510,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:511,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:514,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:515,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:516,1
    - Dst: eb_curve_is_kbltz
      Src: /src/relic/test/test_eb.c:519,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:520,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:522,1
    - Dst: eb_frb
      Src: /src/relic/test/test_eb.c:523,1
    - Dst: eb_frb
      Src: /src/relic/test/test_eb.c:524,1
    - Dst: eb_dbl
      Src: /src/relic/test/test_eb.c:525,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:526,1
    - Dst: eb_frb
      Src: /src/relic/test/test_eb.c:527,1
    - Dst: eb_curve_opt_a
      Src: /src/relic/test/test_eb.c:528,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:529,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:531,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:531,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:536,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:538,1
    - Dst: eb_frb
      Src: /src/relic/test/test_eb.c:539,1
    - Dst: eb_frb
      Src: /src/relic/test/test_eb.c:540,1
    - Dst: eb_dbl
      Src: /src/relic/test/test_eb.c:541,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:542,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:544,1
    - Dst: eb_frb
      Src: /src/relic/test/test_eb.c:545,1
    - Dst: eb_curve_opt_a
      Src: /src/relic/test/test_eb.c:546,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:547,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:549,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:549,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:555,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:556,1
    - Dst: eb_dbl_projc
      Src: /src/relic/test/test_eb.c:557,1
    - Dst: eb_frb
      Src: /src/relic/test/test_eb.c:559,1
    - Dst: eb_norm
      Src: /src/relic/test/test_eb.c:560,1
    - Dst: eb_frb
      Src: /src/relic/test/test_eb.c:561,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:562,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 571
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 571
    functionName: frobenius
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 0
    functionsReached:
    - eb_norm
    - eb_frb
    - TEST_CASE
    - eb_curve_opt_a
    - eb_dbl_projc
    - TEST_ASSERT
    - eb_rand
    - eb_neg
    - eb_cmp
    - eb_dbl
    - eb_new
    - eb_add
    - eb_null
    - eb_curve_is_kbltz
    linkageType: ''
    returnType: int
    signature: int frobenius(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_eb.c:588,1
    - Dst: bn_null
      Src: /src/relic/test/test_eb.c:589,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:590,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:591,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:592,1
    - Dst: bn_new
      Src: /src/relic/test/test_eb.c:595,1
    - Dst: bn_new
      Src: /src/relic/test/test_eb.c:596,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:597,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:598,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:599,1
    - Dst: eb_curve_get_gen
      Src: /src/relic/test/test_eb.c:601,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/test/test_eb.c:602,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_eb.c:604,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:605,1
    - Dst: eb_on_curve
      Src: /src/relic/test/test_eb.c:605,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:606,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:607,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:607,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:610,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:611,1
    - Dst: eb_mul_gen
      Src: /src/relic/test/test_eb.c:612,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:613,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:613,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_eb.c:614,1
    - Dst: eb_mul_gen
      Src: /src/relic/test/test_eb.c:615,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:616,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:616,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:617,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:618,1
    - Dst: eb_mul_gen
      Src: /src/relic/test/test_eb.c:619,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:620,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:620,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:621,1
    - Dst: eb_mul_gen
      Src: /src/relic/test/test_eb.c:622,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:623,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:624,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:624,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:628,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:629,1
    - Dst: eb_mul_basic
      Src: /src/relic/test/test_eb.c:630,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:631,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:631,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_eb.c:632,1
    - Dst: eb_mul_basic
      Src: /src/relic/test/test_eb.c:633,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:634,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:634,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:635,1
    - Dst: eb_mul_basic
      Src: /src/relic/test/test_eb.c:636,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:637,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:637,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:638,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:639,1
    - Dst: eb_mul_basic
      Src: /src/relic/test/test_eb.c:640,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:641,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:641,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:642,1
    - Dst: eb_mul_basic
      Src: /src/relic/test/test_eb.c:643,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:644,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:645,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:645,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:650,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:651,1
    - Dst: eb_mul_lodah
      Src: /src/relic/test/test_eb.c:652,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:653,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:653,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_eb.c:654,1
    - Dst: eb_mul_lodah
      Src: /src/relic/test/test_eb.c:655,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:656,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:656,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:657,1
    - Dst: eb_mul_lodah
      Src: /src/relic/test/test_eb.c:658,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:659,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:659,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:660,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:661,1
    - Dst: eb_mul_lodah
      Src: /src/relic/test/test_eb.c:662,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:663,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:663,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:664,1
    - Dst: eb_mul_lodah
      Src: /src/relic/test/test_eb.c:665,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:666,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:667,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:667,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:673,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:674,1
    - Dst: eb_mul_lwnaf
      Src: /src/relic/test/test_eb.c:675,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:676,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:676,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_eb.c:677,1
    - Dst: eb_mul_lwnaf
      Src: /src/relic/test/test_eb.c:678,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:679,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:679,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:680,1
    - Dst: eb_mul_lwnaf
      Src: /src/relic/test/test_eb.c:681,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:682,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:682,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:683,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:684,1
    - Dst: eb_mul_lwnaf
      Src: /src/relic/test/test_eb.c:685,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:686,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:686,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:687,1
    - Dst: eb_mul_lwnaf
      Src: /src/relic/test/test_eb.c:688,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:689,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:690,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:690,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:696,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:697,1
    - Dst: eb_mul_rwnaf
      Src: /src/relic/test/test_eb.c:698,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:699,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:699,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_eb.c:700,1
    - Dst: eb_mul_rwnaf
      Src: /src/relic/test/test_eb.c:701,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:702,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:702,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:703,1
    - Dst: eb_mul_rwnaf
      Src: /src/relic/test/test_eb.c:704,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:705,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:705,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:706,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:707,1
    - Dst: eb_mul_rwnaf
      Src: /src/relic/test/test_eb.c:708,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:709,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:709,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:710,1
    - Dst: eb_mul_rwnaf
      Src: /src/relic/test/test_eb.c:711,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:712,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:713,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:713,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:719,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:720,1
    - Dst: eb_mul_halve
      Src: /src/relic/test/test_eb.c:721,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:722,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:722,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_eb.c:723,1
    - Dst: eb_mul_halve
      Src: /src/relic/test/test_eb.c:724,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:725,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:725,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:726,1
    - Dst: eb_mul_halve
      Src: /src/relic/test/test_eb.c:727,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:728,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:728,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:729,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:730,1
    - Dst: eb_mul_halve
      Src: /src/relic/test/test_eb.c:731,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:732,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:732,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:733,1
    - Dst: eb_mul_halve
      Src: /src/relic/test/test_eb.c:734,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:735,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:736,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:736,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:741,1
    - Dst: eb_mul_dig
      Src: /src/relic/test/test_eb.c:742,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:743,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:743,1
    - Dst: eb_mul_dig
      Src: /src/relic/test/test_eb.c:744,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:745,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:745,1
    - Dst: bn_rand
      Src: /src/relic/test/test_eb.c:746,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:747,1
    - Dst: eb_mul_dig
      Src: /src/relic/test/test_eb.c:748,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:749,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 147
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 753
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 753
    functionName: multiplication
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 3
    functionsReached:
    - eb_mul_halve
    - eb_mul_lodah
    - eb_is_infty
    - eb_rand
    - eb_neg
    - bn_set_dig
    - eb_curve_get_ord
    - TEST_ONCE
    - bn_null
    - eb_mul_gen
    - eb_mul
    - eb_mul_rwnaf
    - eb_mul_basic
    - bn_rand
    - TEST_CASE
    - bn_rand_mod
    - bn_neg
    - bn_new
    - eb_mul_lwnaf
    - eb_mul_dig
    - eb_cmp
    - eb_on_curve
    - eb_curve_get_gen
    - bn_zero
    - TEST_ASSERT
    - eb_new
    - eb_null
    linkageType: ''
    returnType: int
    signature: int multiplication(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_eb.c:773,1
    - Dst: bn_null
      Src: /src/relic/test/test_eb.c:774,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:775,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:776,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:777,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:780,1
    - Dst: bn_new
      Src: /src/relic/test/test_eb.c:784,1
    - Dst: bn_new
      Src: /src/relic/test/test_eb.c:785,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:786,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:787,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:788,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/test/test_eb.c:790,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:793,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:795,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:796,1
    - Dst: eb_mul_pre
      Src: /src/relic/test/test_eb.c:797,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:798,1
    - Dst: eb_mul_fix
      Src: /src/relic/test/test_eb.c:799,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:800,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:800,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_eb.c:801,1
    - Dst: eb_mul_fix
      Src: /src/relic/test/test_eb.c:802,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:803,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:803,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:804,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:805,1
    - Dst: eb_mul_fix
      Src: /src/relic/test/test_eb.c:806,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:807,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:808,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:808,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:809,1
    - Dst: eb_mul_fix
      Src: /src/relic/test/test_eb.c:810,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:811,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:812,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:812,1
    - Dst: eb_free
      Src: /src/relic/test/test_eb.c:815,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:820,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:822,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:823,1
    - Dst: eb_mul_pre_basic
      Src: /src/relic/test/test_eb.c:824,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:825,1
    - Dst: eb_mul_fix_basic
      Src: /src/relic/test/test_eb.c:826,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:827,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:827,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_eb.c:828,1
    - Dst: eb_mul_fix_basic
      Src: /src/relic/test/test_eb.c:829,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:830,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:830,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:831,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:832,1
    - Dst: eb_mul_fix_basic
      Src: /src/relic/test/test_eb.c:833,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:834,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:834,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:835,1
    - Dst: eb_mul_fix_basic
      Src: /src/relic/test/test_eb.c:836,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:837,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:838,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:838,1
    - Dst: eb_free
      Src: /src/relic/test/test_eb.c:841,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:847,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:849,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:850,1
    - Dst: eb_mul_pre_combs
      Src: /src/relic/test/test_eb.c:851,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:852,1
    - Dst: eb_mul_fix_combs
      Src: /src/relic/test/test_eb.c:853,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:854,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:854,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_eb.c:855,1
    - Dst: eb_mul_fix_combs
      Src: /src/relic/test/test_eb.c:856,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:857,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:857,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:858,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:859,1
    - Dst: eb_mul_fix_combs
      Src: /src/relic/test/test_eb.c:860,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:861,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:861,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:862,1
    - Dst: eb_mul_fix_combs
      Src: /src/relic/test/test_eb.c:863,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:864,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:865,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:865,1
    - Dst: eb_free
      Src: /src/relic/test/test_eb.c:868,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:874,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:876,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:877,1
    - Dst: eb_mul_pre_combd
      Src: /src/relic/test/test_eb.c:878,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:879,1
    - Dst: eb_mul_fix_combd
      Src: /src/relic/test/test_eb.c:880,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:881,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:881,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_eb.c:882,1
    - Dst: eb_mul_fix_combd
      Src: /src/relic/test/test_eb.c:883,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:884,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:884,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:885,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:886,1
    - Dst: eb_mul_fix_combd
      Src: /src/relic/test/test_eb.c:887,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:888,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:888,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:889,1
    - Dst: eb_mul_fix_combd
      Src: /src/relic/test/test_eb.c:890,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:891,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:892,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:892,1
    - Dst: eb_free
      Src: /src/relic/test/test_eb.c:895,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:901,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:903,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:904,1
    - Dst: eb_mul_pre_lwnaf
      Src: /src/relic/test/test_eb.c:905,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:906,1
    - Dst: eb_mul_fix_lwnaf
      Src: /src/relic/test/test_eb.c:907,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:908,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:908,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_eb.c:909,1
    - Dst: eb_mul_fix_lwnaf
      Src: /src/relic/test/test_eb.c:910,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:911,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:911,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:912,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:913,1
    - Dst: eb_mul_fix_lwnaf
      Src: /src/relic/test/test_eb.c:914,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:915,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:915,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:916,1
    - Dst: eb_mul_fix_lwnaf
      Src: /src/relic/test/test_eb.c:917,1
    - Dst: eb_neg
      Src: /src/relic/test/test_eb.c:918,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:919,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:919,1
    - Dst: eb_free
      Src: /src/relic/test/test_eb.c:922,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 141
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 925
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 925
    functionName: fixed
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 15
    functionsReached:
    - eb_is_infty
    - eb_rand
    - eb_neg
    - bn_set_dig
    - eb_mul_pre_basic
    - eb_curve_get_ord
    - eb_mul_pre
    - bn_null
    - eb_mul
    - eb_mul_pre_lwnaf
    - eb_mul_fix_combd
    - eb_mul_fix_lwnaf
    - eb_mul_fix_combs
    - TEST_CASE
    - eb_mul_pre_combd
    - eb_mul_fix
    - bn_rand_mod
    - bn_neg
    - bn_new
    - eb_free
    - eb_cmp
    - eb_mul_pre_combs
    - bn_zero
    - TEST_ASSERT
    - eb_mul_fix_basic
    - eb_new
    - eb_null
    linkageType: ''
    returnType: int
    signature: int fixed(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_eb.c:945,1
    - Dst: bn_null
      Src: /src/relic/test/test_eb.c:946,1
    - Dst: bn_null
      Src: /src/relic/test/test_eb.c:947,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:948,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:949,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:950,1
    - Dst: bn_new
      Src: /src/relic/test/test_eb.c:953,1
    - Dst: bn_new
      Src: /src/relic/test/test_eb.c:954,1
    - Dst: bn_new
      Src: /src/relic/test/test_eb.c:955,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:956,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:957,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:958,1
    - Dst: eb_curve_get_gen
      Src: /src/relic/test/test_eb.c:960,1
    - Dst: eb_curve_get_gen
      Src: /src/relic/test/test_eb.c:961,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/test/test_eb.c:962,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:964,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:965,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:966,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:967,1
    - Dst: eb_mul_sim
      Src: /src/relic/test/test_eb.c:968,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:969,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:969,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:970,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:971,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:972,1
    - Dst: eb_mul_sim
      Src: /src/relic/test/test_eb.c:973,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:974,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:974,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:975,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:976,1
    - Dst: eb_mul_sim
      Src: /src/relic/test/test_eb.c:977,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:978,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:979,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:980,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:981,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:981,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:982,1
    - Dst: eb_mul_sim
      Src: /src/relic/test/test_eb.c:983,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:984,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:985,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:986,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:987,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:987,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:988,1
    - Dst: eb_mul_sim
      Src: /src/relic/test/test_eb.c:989,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:990,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:991,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:992,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:993,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:993,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:997,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:998,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:999,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1000,1
    - Dst: eb_mul_sim_basic
      Src: /src/relic/test/test_eb.c:1001,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1002,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1002,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1003,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:1004,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1005,1
    - Dst: eb_mul_sim_basic
      Src: /src/relic/test/test_eb.c:1006,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1007,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1007,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1008,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1009,1
    - Dst: eb_mul_sim_basic
      Src: /src/relic/test/test_eb.c:1010,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1011,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1012,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:1013,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1014,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1014,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:1015,1
    - Dst: eb_mul_sim_basic
      Src: /src/relic/test/test_eb.c:1016,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1017,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1018,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:1019,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1020,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1020,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:1021,1
    - Dst: eb_mul_sim_basic
      Src: /src/relic/test/test_eb.c:1022,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1023,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1024,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:1025,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1026,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1026,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:1031,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:1032,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1033,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1034,1
    - Dst: eb_mul_sim_trick
      Src: /src/relic/test/test_eb.c:1035,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1036,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1036,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1037,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:1038,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1039,1
    - Dst: eb_mul_sim_trick
      Src: /src/relic/test/test_eb.c:1040,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1041,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1041,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1042,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1043,1
    - Dst: eb_mul_sim_trick
      Src: /src/relic/test/test_eb.c:1044,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1045,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1046,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:1047,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1048,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1048,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:1049,1
    - Dst: eb_mul_sim_trick
      Src: /src/relic/test/test_eb.c:1050,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1051,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1052,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:1053,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1054,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1054,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:1055,1
    - Dst: eb_mul_sim_trick
      Src: /src/relic/test/test_eb.c:1056,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1057,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1058,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:1059,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1060,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1060,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:1065,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:1066,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1067,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1068,1
    - Dst: eb_mul_sim_inter
      Src: /src/relic/test/test_eb.c:1069,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1070,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1070,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1071,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:1072,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1073,1
    - Dst: eb_mul_sim_inter
      Src: /src/relic/test/test_eb.c:1074,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1075,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1075,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1076,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1077,1
    - Dst: eb_mul_sim_inter
      Src: /src/relic/test/test_eb.c:1078,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1079,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1080,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:1081,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1082,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1082,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:1083,1
    - Dst: eb_mul_sim_inter
      Src: /src/relic/test/test_eb.c:1084,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1085,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1086,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:1087,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1088,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1088,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:1089,1
    - Dst: eb_mul_sim_inter
      Src: /src/relic/test/test_eb.c:1090,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1091,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1092,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:1093,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1094,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1094,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:1099,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:1100,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1101,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1102,1
    - Dst: eb_mul_sim_joint
      Src: /src/relic/test/test_eb.c:1103,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1104,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1104,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1105,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:1106,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1107,1
    - Dst: eb_mul_sim_joint
      Src: /src/relic/test/test_eb.c:1108,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1109,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1109,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1110,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1111,1
    - Dst: eb_mul_sim_joint
      Src: /src/relic/test/test_eb.c:1112,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1113,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1114,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:1115,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1116,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1116,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:1117,1
    - Dst: eb_mul_sim_joint
      Src: /src/relic/test/test_eb.c:1118,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1119,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1120,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:1121,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1122,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1122,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:1123,1
    - Dst: eb_mul_sim_joint
      Src: /src/relic/test/test_eb.c:1124,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1125,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1126,1
    - Dst: eb_add
      Src: /src/relic/test/test_eb.c:1127,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1128,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1128,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:1132,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:1133,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1134,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1135,1
    - Dst: eb_mul_sim_gen
      Src: /src/relic/test/test_eb.c:1136,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1137,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1137,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1138,1
    - Dst: bn_zero
      Src: /src/relic/test/test_eb.c:1139,1
    - Dst: eb_mul_gen
      Src: /src/relic/test/test_eb.c:1140,1
    - Dst: eb_mul_sim_gen
      Src: /src/relic/test/test_eb.c:1141,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1142,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1142,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1143,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_eb.c:1144,1
    - Dst: eb_mul_sim_gen
      Src: /src/relic/test/test_eb.c:1145,1
    - Dst: eb_curve_get_gen
      Src: /src/relic/test/test_eb.c:1146,1
    - Dst: eb_mul_sim
      Src: /src/relic/test/test_eb.c:1147,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1148,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1148,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:1149,1
    - Dst: eb_mul_sim_gen
      Src: /src/relic/test/test_eb.c:1150,1
    - Dst: eb_curve_get_gen
      Src: /src/relic/test/test_eb.c:1151,1
    - Dst: eb_mul_sim
      Src: /src/relic/test/test_eb.c:1152,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1153,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1153,1
    - Dst: bn_neg
      Src: /src/relic/test/test_eb.c:1154,1
    - Dst: eb_mul_sim_gen
      Src: /src/relic/test/test_eb.c:1155,1
    - Dst: eb_curve_get_gen
      Src: /src/relic/test/test_eb.c:1156,1
    - Dst: eb_mul_sim
      Src: /src/relic/test/test_eb.c:1157,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1158,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 205
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 1160
    functionName: simultaneous
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 3
    functionsReached:
    - eb_mul_sim_inter
    - eb_mul_sim_trick
    - eb_mul_sim_gen
    - eb_curve_get_ord
    - bn_null
    - eb_mul_gen
    - eb_mul_sim_basic
    - eb_mul_sim
    - eb_mul
    - TEST_CASE
    - bn_rand_mod
    - eb_mul_sim_joint
    - bn_neg
    - bn_new
    - eb_cmp
    - eb_add
    - eb_curve_get_gen
    - bn_zero
    - TEST_ASSERT
    - eb_new
    - eb_null
    linkageType: ''
    returnType: int
    signature: int simultaneous(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:1180,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:1181,1
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:1182,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:1185,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:1186,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:1187,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:1189,1
    - Dst: eb_rand
      Src: /src/relic/test/test_eb.c:1190,1
    - Dst: eb_pck
      Src: /src/relic/test/test_eb.c:1191,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1192,1
    - Dst: eb_upk
      Src: /src/relic/test/test_eb.c:1192,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1193,1
    - Dst: eb_cmp
      Src: /src/relic/test/test_eb.c:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1197
    functionName: compression
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 8
    functionsReached:
    - eb_upk
    - TEST_CASE
    - TEST_ASSERT
    - eb_rand
    - eb_pck
    - eb_cmp
    - eb_new
    - eb_null
    linkageType: ''
    returnType: int
    signature: int compression(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/test/test_eb.c:1215,1
    - Dst: bn_null
      Src: /src/relic/test/test_eb.c:1216,1
    - Dst: eb_new
      Src: /src/relic/test/test_eb.c:1219,1
    - Dst: bn_new
      Src: /src/relic/test/test_eb.c:1220,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/test/test_eb.c:1222,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_eb.c:1224,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_eb.c:1225,1
    - Dst: eb_map
      Src: /src/relic/test/test_eb.c:1226,1
    - Dst: eb_mul
      Src: /src/relic/test/test_eb.c:1227,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_eb.c:1228,1
    - Dst: eb_is_infty
      Src: /src/relic/test/test_eb.c:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1232
    functionName: hashing
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 3
    functionsReached:
    - bn_null
    - TEST_CASE
    - eb_is_infty
    - TEST_ASSERT
    - eb_mul
    - bn_new
    - rand_bytes
    - eb_map
    - eb_new
    - eb_curve_get_ord
    - eb_null
    linkageType: ''
    returnType: int
    signature: int hashing(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_param_print
      Src: /src/relic/test/test_eb.c:1244,1
    - Dst: util_banner
      Src: /src/relic/test/test_eb.c:1246,1
    - Dst: memory
      Src: /src/relic/test/test_eb.c:1248,1
    - Dst: core_clean
      Src: /src/relic/test/test_eb.c:1249,1
    - Dst: util
      Src: /src/relic/test/test_eb.c:1253,1
    - Dst: util_banner
      Src: /src/relic/test/test_eb.c:1257,1
    - Dst: addition
      Src: /src/relic/test/test_eb.c:1259,1
    - Dst: subtraction
      Src: /src/relic/test/test_eb.c:1263,1
    - Dst: doubling
      Src: /src/relic/test/test_eb.c:1267,1
    - Dst: halving
      Src: /src/relic/test/test_eb.c:1271,1
    - Dst: frobenius
      Src: /src/relic/test/test_eb.c:1275,1
    - Dst: multiplication
      Src: /src/relic/test/test_eb.c:1279,1
    - Dst: fixed
      Src: /src/relic/test/test_eb.c:1283,1
    - Dst: simultaneous
      Src: /src/relic/test/test_eb.c:1287,1
    - Dst: compression
      Src: /src/relic/test/test_eb.c:1291,1
    - Dst: hashing
      Src: /src/relic/test/test_eb.c:1295,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1300
    functionName: test
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 29
    functionsReached:
    - multiplication
    - util_banner
    - simultaneous
    - compression
    - memory
    - core_clean
    - hashing
    - subtraction
    - frobenius
    - eb_param_print
    - halving
    - addition
    - fixed
    - doubling
    - util
    linkageType: ''
    returnType: int
    signature: int test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_eb.c:1305,1
    - Dst: core_clean
      Src: /src/relic/test/test_eb.c:1306,1
    - Dst: util_banner
      Src: /src/relic/test/test_eb.c:1310,1
    - Dst: eb_param_set_any_plain
      Src: /src/relic/test/test_eb.c:1312,1
    - Dst: test
      Src: /src/relic/test/test_eb.c:1314,1
    - Dst: core_clean
      Src: /src/relic/test/test_eb.c:1315,1
    - Dst: eb_param_set_any_kbltz
      Src: /src/relic/test/test_eb.c:1321,1
    - Dst: test
      Src: /src/relic/test/test_eb.c:1323,1
    - Dst: core_clean
      Src: /src/relic/test/test_eb.c:1324,1
    - Dst: eb_param_set_any
      Src: /src/relic/test/test_eb.c:1331,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_eb.c:1332,1
    - Dst: core_clean
      Src: /src/relic/test/test_eb.c:1333,1
    - Dst: test
      Src: /src/relic/test/test_eb.c:1336,1
    - Dst: core_clean
      Src: /src/relic/test/test_eb.c:1337,1
    - Dst: util_banner
      Src: /src/relic/test/test_eb.c:1343,1
    - Dst: core_clean
      Src: /src/relic/test/test_eb.c:1345,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1347
    functionName: main
    functionSourceFile: /src/relic/test/test_eb.c
    functionUses: 97
    functionsReached:
    - eb_param_set_any_plain
    - util_banner
    - eb_param_set_any_kbltz
    - core_clean
    - RLC_THROW
    - core_init
    - test
    - eb_param_set_any
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:43,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:46,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:47,1
    - Dst: bn_free
      Src: /src/relic/test/test_bn.c:48,1
    - Dst: util_print
      Src: /src/relic/test/test_bn.c:55,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_bn.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: memory
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 38
    functionsReached:
    - bn_free
    - bn_null
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - bn_new
    linkageType: ''
    returnType: int
    signature: int memory(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:73,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:74,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:75,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:78,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:79,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:80,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:82,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:83,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:84,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:85,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:86,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:87,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:87,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:89,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:89,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:95,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:96,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:97,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:98,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:99,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:100,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:101,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:101,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:103,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:104,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:105,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:105,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:109,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:110,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:111,1
    - Dst: bn_abs
      Src: /src/relic/test/test_bn.c:112,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:113,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:113,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:114,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:114,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:115,1
    - Dst: bn_cmp_abs
      Src: /src/relic/test/test_bn.c:115,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:116,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:116,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:117,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:117,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:120,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:121,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:122,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:123,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:123,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:124,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:124,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:127,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:128,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:129,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:130,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:131,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:131,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:132,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:132,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:133,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:133,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:134,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:134,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:135,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:135,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:136,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:136,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:137,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:137,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:140,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:141,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:142,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:142,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:143,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:143,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:146,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:147,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:148,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:149,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:149,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:150,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:150,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:154,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_bn.c:155,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:156,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:156,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:161,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:162,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_bn.c:163,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:164,1
    - Dst: bn_get_bit
      Src: /src/relic/test/test_bn.c:164,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_bn.c:165,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:166,1
    - Dst: bn_get_bit
      Src: /src/relic/test/test_bn.c:166,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:172,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:173,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_bn.c:175,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:177,1
    - Dst: bn_ham
      Src: /src/relic/test/test_bn.c:177,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:182,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:184,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:185,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_bn.c:186,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:187,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:187,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:187,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:188,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:188,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:189,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:189,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:191,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:192,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_bn.c:193,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:194,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:194,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:194,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:195,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:195,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:196,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:196,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:200,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:201,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:202,1
    - Dst: bn_get_dig
      Src: /src/relic/test/test_bn.c:203,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:204,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:205,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:205,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:208,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:209,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:210,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:211,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:211,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:212,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:212,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:213,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:213,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:214,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:214,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:217,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:218,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:219,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:220,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:221,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:221,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:222,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:222,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:223,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:223,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:224,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:224,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:228,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:229,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_bn.c:230,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:233,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:233,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:236,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:238,1
    - Dst: bn_size_str
      Src: /src/relic/test/test_bn.c:240,1
    - Dst: bn_write_str
      Src: /src/relic/test/test_bn.c:241,1
    - Dst: bn_read_str
      Src: /src/relic/test/test_bn.c:242,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:243,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:243,1
    - Dst: bn_write_bin
      Src: /src/relic/test/test_bn.c:245,1
    - Dst: bn_read_bin
      Src: /src/relic/test/test_bn.c:246,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:247,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:247,1
    - Dst: bn_write_raw
      Src: /src/relic/test/test_bn.c:249,1
    - Dst: bn_read_raw
      Src: /src/relic/test/test_bn.c:250,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:251,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:251,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:254,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:255,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:256,1
    - Dst: bn_size_str
      Src: /src/relic/test/test_bn.c:256,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:256,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:257,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:257,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:257,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:258,1
    - Dst: bn_size_bin
      Src: /src/relic/test/test_bn.c:258,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:259,1
    - Dst: bn_size_raw
      Src: /src/relic/test/test_bn.c:259,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:262,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:264,1
    - Dst: bn_size_str
      Src: /src/relic/test/test_bn.c:266,1
    - Dst: bn_write_str
      Src: /src/relic/test/test_bn.c:267,1
    - Dst: bn_read_str
      Src: /src/relic/test/test_bn.c:268,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:269,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:269,1
    - Dst: bn_write_bin
      Src: /src/relic/test/test_bn.c:271,1
    - Dst: bn_read_bin
      Src: /src/relic/test/test_bn.c:272,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:273,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:274,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:274,1
    - Dst: bn_write_raw
      Src: /src/relic/test/test_bn.c:276,1
    - Dst: bn_read_raw
      Src: /src/relic/test/test_bn.c:277,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:278,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:279,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:279,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:282,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:283,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:284,1
    - Dst: bn_size_str
      Src: /src/relic/test/test_bn.c:284,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:284,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:285,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:285,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:285,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:286,1
    - Dst: bn_size_bin
      Src: /src/relic/test/test_bn.c:286,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:287,1
    - Dst: bn_size_raw
      Src: /src/relic/test/test_bn.c:287,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 209
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 289
    functionName: util
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 4
    functionsReached:
    - bn_read_bin
    - bn_read_raw
    - bn_cmp
    - bn_write_str
    - bn_write_bin
    - bn_set_dig
    - bn_abs
    - bn_ham
    - bn_null
    - bn_read_str
    - bn_cmp_dig
    - bn_set_2b
    - bn_size_bin
    - bn_rand
    - bn_is_even
    - bn_set_bit
    - bn_write_raw
    - TEST_CASE
    - bn_rand_mod
    - bn_size_str
    - bn_sign
    - bn_size_raw
    - bn_neg
    - bn_new
    - bn_is_zero
    - bn_get_dig
    - bn_get_bit
    - bn_zero
    - TEST_ASSERT
    - bn_bits
    - bn_cmp_abs
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int util(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:305,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:306,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:307,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:308,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:309,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:312,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:313,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:314,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:315,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:316,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:318,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:319,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:320,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:321,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:322,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:323,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:323,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:326,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:327,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:328,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:329,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:330,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:331,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:332,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:333,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:334,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:334,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:337,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:338,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:339,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:340,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:341,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:341,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:342,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:343,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:343,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:346,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:347,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:348,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:349,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:350,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 352
    functionName: addition
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 4
    functionsReached:
    - bn_null
    - bn_zero
    - TEST_CASE
    - TEST_ASSERT
    - bn_cmp
    - bn_neg
    - bn_new
    - bn_is_zero
    - bn_add
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int addition(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:371,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:372,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:373,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:374,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:377,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:378,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:379,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:380,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:382,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:383,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:384,1
    - Dst: bn_sub
      Src: /src/relic/test/test_bn.c:385,1
    - Dst: bn_sub
      Src: /src/relic/test/test_bn.c:386,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:387,1
    - Dst: bn_cmp_abs
      Src: /src/relic/test/test_bn.c:387,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:388,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:389,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:390,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:390,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:395,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:396,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:397,1
    - Dst: bn_sub
      Src: /src/relic/test/test_bn.c:398,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:399,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:399,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:403,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:404,1
    - Dst: bn_sub
      Src: /src/relic/test/test_bn.c:405,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:406,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 409
    functionName: subtraction
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 4
    functionsReached:
    - bn_null
    - bn_sub
    - TEST_CASE
    - bn_zero
    - TEST_ASSERT
    - bn_cmp
    - bn_sign
    - bn_new
    - bn_is_zero
    - bn_cmp_abs
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int subtraction(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:426,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:427,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:428,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:429,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:430,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:431,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:434,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:435,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:436,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:437,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:438,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:439,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:441,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:442,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:443,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:444,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:445,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:446,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:446,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:449,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:450,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:451,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:452,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:453,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:454,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:455,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:456,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:457,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:457,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:460,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:461,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:462,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:463,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:464,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:465,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:466,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:467,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:468,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:469,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:469,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:472,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:473,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:474,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:475,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:476,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:476,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:479,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:480,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:481,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:482,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:483,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:483,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:486,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:487,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:488,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:489,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:490,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:491,1
    - Dst: bn_cmp_abs
      Src: /src/relic/test/test_bn.c:491,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:492,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:492,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:495,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:496,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:497,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:498,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:500,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:501,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:502,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:502,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:505,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:506,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:507,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:508,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:510,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:511,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:512,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:514,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:514,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:520,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:521,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:522,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:523,1
    - Dst: bn_mul_basic
      Src: /src/relic/test/test_bn.c:524,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:525,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:525,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:531,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:532,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:533,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:534,1
    - Dst: bn_mul_comba
      Src: /src/relic/test/test_bn.c:535,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:536,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:536,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:542,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:543,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:544,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:545,1
    - Dst: bn_mul_karat
      Src: /src/relic/test/test_bn.c:546,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:547,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 112
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 552
    functionName: multiplication
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 4
    functionsReached:
    - bn_mul
    - bn_null
    - bn_zero
    - TEST_CASE
    - TEST_ASSERT
    - bn_cmp
    - bn_cmp_abs
    - bn_sign
    - bn_mul_basic
    - bn_neg
    - bn_new
    - bn_mul_karat
    - bn_set_dig
    - bn_mul_comba
    - bn_is_zero
    - bn_add
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int multiplication(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:571,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:572,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:573,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:576,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:577,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:578,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:580,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:581,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:582,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_bn.c:583,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:584,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:584,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:588,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:589,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_bn.c:590,1
    - Dst: bn_sqr_basic
      Src: /src/relic/test/test_bn.c:591,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:592,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:592,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:597,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:598,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_bn.c:599,1
    - Dst: bn_sqr_comba
      Src: /src/relic/test/test_bn.c:600,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:601,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:601,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:606,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:607,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_bn.c:608,1
    - Dst: bn_sqr_karat
      Src: /src/relic/test/test_bn.c:609,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:610,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 614
    functionName: squaring
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 0
    functionsReached:
    - bn_sqr_karat
    - bn_mul
    - bn_null
    - TEST_CASE
    - bn_sqr
    - TEST_ASSERT
    - bn_cmp
    - bn_sqr_comba
    - bn_new
    - bn_sqr_basic
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int squaring(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:630,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:631,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:632,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:635,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:636,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:637,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:639,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:640,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:641,1
    - Dst: bn_dbl
      Src: /src/relic/test/test_bn.c:642,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:643,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:643,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:646,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:647,1
    - Dst: bn_dbl
      Src: /src/relic/test/test_bn.c:648,1
    - Dst: bn_hlv
      Src: /src/relic/test/test_bn.c:649,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:650,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 652
    functionName: doubling_halving
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 0
    functionsReached:
    - bn_null
    - TEST_CASE
    - TEST_ASSERT
    - bn_cmp
    - bn_hlv
    - bn_new
    - bn_dbl
    - bn_add
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int doubling_halving(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:668,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:669,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:670,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:673,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:674,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:675,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:677,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:678,1
    - Dst: bn_lsh
      Src: /src/relic/test/test_bn.c:679,1
    - Dst: bn_dbl
      Src: /src/relic/test/test_bn.c:680,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:681,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:681,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:682,1
    - Dst: bn_hlv
      Src: /src/relic/test/test_bn.c:683,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:684,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:684,1
    - Dst: bn_lsh
      Src: /src/relic/test/test_bn.c:685,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:686,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:687,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:687,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:690,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:691,1
    - Dst: bn_lsh
      Src: /src/relic/test/test_bn.c:692,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:693,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:694,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:694,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:697,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:698,1
    - Dst: bn_lsh
      Src: /src/relic/test/test_bn.c:699,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:700,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:701,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:701,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:704,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:705,1
    - Dst: bn_lsh
      Src: /src/relic/test/test_bn.c:706,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:707,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:708,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:708,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:711,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:712,1
    - Dst: bn_lsh
      Src: /src/relic/test/test_bn.c:713,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:714,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:715,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:715,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:719,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:720,1
    - Dst: bn_lsh
      Src: /src/relic/test/test_bn.c:721,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:722,1
    - Dst: bn_dbl
      Src: /src/relic/test/test_bn.c:724,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:725,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:725,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:726,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:727,1
    - Dst: bn_hlv
      Src: /src/relic/test/test_bn.c:729,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:730,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 732
    functionName: shifting
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 1
    functionsReached:
    - bn_null
    - TEST_CASE
    - TEST_ASSERT
    - bn_lsh
    - bn_cmp
    - bn_hlv
    - bn_new
    - bn_dbl
    - bn_rand
    - bn_rsh
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int shifting(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:748,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:749,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:750,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:751,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:752,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:755,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:756,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:757,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:758,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:759,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:761,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:762,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:763,1
    - Dst: bn_div
      Src: /src/relic/test/test_bn.c:764,1
    - Dst: bn_div_rem
      Src: /src/relic/test/test_bn.c:765,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:766,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:766,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:767,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:768,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:769,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:769,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:770,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:770,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:770,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:771,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:771,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:774,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:775,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:776,1
    - Dst: bn_div
      Src: /src/relic/test/test_bn.c:777,1
    - Dst: bn_div_rem
      Src: /src/relic/test/test_bn.c:778,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:779,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:779,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:780,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:781,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:782,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:782,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:783,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:783,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:783,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:784,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:784,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:784,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:787,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:788,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:789,1
    - Dst: bn_div
      Src: /src/relic/test/test_bn.c:790,1
    - Dst: bn_div_rem
      Src: /src/relic/test/test_bn.c:791,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:792,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:792,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:793,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:794,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:795,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:795,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:796,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:796,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:796,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:797,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:797,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:797,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:800,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:801,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:802,1
    - Dst: bn_div
      Src: /src/relic/test/test_bn.c:803,1
    - Dst: bn_div_rem
      Src: /src/relic/test/test_bn.c:804,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:805,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:805,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:806,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:807,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:808,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:808,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:809,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:809,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:809,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:810,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:810,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:810,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:813,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:814,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:815,1
    - Dst: bn_div
      Src: /src/relic/test/test_bn.c:816,1
    - Dst: bn_div_rem
      Src: /src/relic/test/test_bn.c:817,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:818,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:818,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:819,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:820,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:821,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:821,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:822,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:822,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:822,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:823,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:823,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:823,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:826,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:827,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:828,1
    - Dst: bn_div
      Src: /src/relic/test/test_bn.c:829,1
    - Dst: bn_div_rem
      Src: /src/relic/test/test_bn.c:830,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:831,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:831,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:832,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:833,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:834,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:834,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:835,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:835,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:835,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:836,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:836,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:839,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:840,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:841,1
    - Dst: bn_div
      Src: /src/relic/test/test_bn.c:842,1
    - Dst: bn_div_rem
      Src: /src/relic/test/test_bn.c:843,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:844,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:844,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:845,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:846,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:847,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:847,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:848,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:848,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:848,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:849,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:849,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:849,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:852,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:853,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:854,1
    - Dst: bn_div
      Src: /src/relic/test/test_bn.c:855,1
    - Dst: bn_div_rem
      Src: /src/relic/test/test_bn.c:856,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:857,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:857,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:858,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:859,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:860,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:860,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:861,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:861,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:861,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:862,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:862,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 864
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 864
    functionName: division
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 1
    functionsReached:
    - bn_div
    - bn_mul
    - bn_null
    - TEST_CASE
    - TEST_ASSERT
    - bn_cmp
    - bn_sign
    - bn_new
    - bn_add
    - bn_rand
    - bn_div_rem
    linkageType: ''
    returnType: int
    signature: int division(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:882,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:883,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:884,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:885,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:886,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:889,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:890,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:891,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:892,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:893,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:896,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:897,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:898,1
    - Dst: bn_div_rem
      Src: /src/relic/test/test_bn.c:899,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_bn.c:900,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:901,1
    - Dst: bn_mod_basic
      Src: /src/relic/test/test_bn.c:902,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:903,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:903,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:904,1
    - Dst: bn_mod_basic
      Src: /src/relic/test/test_bn.c:905,1
    - Dst: bn_sub
      Src: /src/relic/test/test_bn.c:906,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:907,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:907,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:914,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:915,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:916,1
    - Dst: bn_div_rem
      Src: /src/relic/test/test_bn.c:917,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_bn.c:918,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:919,1
    - Dst: bn_mod_pre_barrt
      Src: /src/relic/test/test_bn.c:920,1
    - Dst: bn_mod_barrt
      Src: /src/relic/test/test_bn.c:921,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:922,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:922,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:923,1
    - Dst: bn_mod_barrt
      Src: /src/relic/test/test_bn.c:924,1
    - Dst: bn_sub
      Src: /src/relic/test/test_bn.c:925,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:926,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:926,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:933,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:934,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:935,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:936,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:937,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:939,1
    - Dst: bn_mod_monty_conv
      Src: /src/relic/test/test_bn.c:940,1
    - Dst: bn_mod_pre_monty
      Src: /src/relic/test/test_bn.c:941,1
    - Dst: bn_mod_monty_basic
      Src: /src/relic/test/test_bn.c:942,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:943,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:943,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:944,1
    - Dst: bn_mod_monty_conv
      Src: /src/relic/test/test_bn.c:945,1
    - Dst: bn_mod_monty_basic
      Src: /src/relic/test/test_bn.c:946,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:947,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:948,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:948,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:954,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:955,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:956,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:957,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:958,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:960,1
    - Dst: bn_mod_monty_conv
      Src: /src/relic/test/test_bn.c:961,1
    - Dst: bn_mod_pre_monty
      Src: /src/relic/test/test_bn.c:962,1
    - Dst: bn_mod_monty_comba
      Src: /src/relic/test/test_bn.c:963,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:964,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:964,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:965,1
    - Dst: bn_mod_monty_conv
      Src: /src/relic/test/test_bn.c:966,1
    - Dst: bn_mod_monty_comba
      Src: /src/relic/test/test_bn.c:967,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:968,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:969,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:969,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:975,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:976,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:977,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:978,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:979,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:980,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_bn.c:982,1
    - Dst: bn_sub
      Src: /src/relic/test/test_bn.c:983,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:984,1
    - Dst: bn_mod_pre_pmers
      Src: /src/relic/test/test_bn.c:985,1
    - Dst: bn_mod_pmers
      Src: /src/relic/test/test_bn.c:986,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:987,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:987,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:988,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:989,1
    - Dst: bn_mod_pmers
      Src: /src/relic/test/test_bn.c:990,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:991,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:991,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 996
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 996
    functionName: reduction
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 0
    functionsReached:
    - bn_sub
    - bn_sqr
    - bn_cmp
    - bn_mod_monty_comba
    - bn_set_dig
    - bn_null
    - bn_mod
    - bn_set_2b
    - bn_mod_monty_basic
    - bn_rand
    - bn_div_rem
    - bn_is_even
    - bn_add_dig
    - TEST_CASE
    - bn_neg
    - bn_new
    - bn_mod_pre_monty
    - bn_mod_basic
    - bn_is_zero
    - bn_add
    - bn_mod_pre_barrt
    - bn_mod_pmers
    - bn_mod_monty_conv
    - TEST_ASSERT
    - bn_mod_barrt
    - bn_mod_pre_pmers
    linkageType: ''
    returnType: int
    signature: int reduction(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1016,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1017,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1018,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1019,1
    - Dst: crt_null
      Src: /src/relic/test/test_bn.c:1020,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1023,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1024,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1028,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1029,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1030,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1031,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1033,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1034,1
    - Dst: crt_new
      Src: /src/relic/test/test_bn.c:1036,1
    - Dst: bn_gen_prime
      Src: /src/relic/test/test_bn.c:1039,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:1042,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_bn.c:1043,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1044,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1047,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1048,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1049,1
    - Dst: bn_mxp
      Src: /src/relic/test/test_bn.c:1050,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1051,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1051,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1055,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1056,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:1057,1
    - Dst: bn_mxp
      Src: /src/relic/test/test_bn.c:1058,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1059,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:1059,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1063,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1064,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1065,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1066,1
    - Dst: bn_mxp
      Src: /src/relic/test/test_bn.c:1068,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1070,1
    - Dst: bn_mxp
      Src: /src/relic/test/test_bn.c:1071,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1073,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1074,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1075,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:1075,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1080,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1081,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1082,1
    - Dst: bn_mxp_basic
      Src: /src/relic/test/test_bn.c:1083,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1084,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1084,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1090,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1091,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1092,1
    - Dst: bn_mxp_slide
      Src: /src/relic/test/test_bn.c:1093,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1094,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1094,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1100,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1101,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1102,1
    - Dst: bn_mxp_monty
      Src: /src/relic/test/test_bn.c:1103,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1104,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1104,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_bn.c:1110,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_bn.c:1111,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1114,1
    - Dst: bn_mxp_sim
      Src: /src/relic/test/test_bn.c:1115,1
    - Dst: bn_mxp
      Src: /src/relic/test/test_bn.c:1116,1
    - Dst: bn_mxp
      Src: /src/relic/test/test_bn.c:1117,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1118,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1119,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1120,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1120,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1123,1
    - Dst: bn_mxp_sim_few
      Src: /src/relic/test/test_bn.c:1124,1
    - Dst: bn_mxp
      Src: /src/relic/test/test_bn.c:1125,1
    - Dst: bn_mxp
      Src: /src/relic/test/test_bn.c:1127,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1128,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1129,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1131,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1131,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1135,1
    - Dst: bn_mxp_sim_lot
      Src: /src/relic/test/test_bn.c:1136,1
    - Dst: bn_mxp
      Src: /src/relic/test/test_bn.c:1137,1
    - Dst: bn_mxp
      Src: /src/relic/test/test_bn.c:1139,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1140,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1141,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1143,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1143,1
    - Dst: bn_gen_prime
      Src: /src/relic/test/test_bn.c:1148,1
    - Dst: bn_gen_prime
      Src: /src/relic/test/test_bn.c:1149,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1150,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1150,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1153,1
    - Dst: bn_mod_inv
      Src: /src/relic/test/test_bn.c:1155,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1156,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1157,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1159,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1160,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1161,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1162,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1163,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1164,1
    - Dst: bn_mxp
      Src: /src/relic/test/test_bn.c:1165,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1166,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1167,1
    - Dst: bn_mxp_crt
      Src: /src/relic/test/test_bn.c:1168,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1169,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1169,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1171
    functionName: exponentiation
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 3
    functionsReached:
    - bn_mxp_slide
    - bn_cmp
    - bn_mxp_sim
    - bn_sub_dig
    - bn_mul
    - bn_null
    - bn_mod
    - bn_cmp_dig
    - bn_mxp_sim_few
    - crt_new
    - bn_mxp
    - bn_rand
    - bn_mod_inv
    - bn_set_bit
    - bn_mxp_monty
    - bn_is_even
    - TEST_CASE
    - bn_rand_mod
    - bn_neg
    - bn_new
    - bn_gen_prime
    - bn_zero
    - bn_mxp_crt
    - TEST_ASSERT
    - crt_null
    - bn_mxp_basic
    - bn_mxp_sim_lot
    linkageType: ''
    returnType: int
    signature: int exponentiation(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1194,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1195,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1196,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1199,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1200,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1201,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1203,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1205,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_bn.c:1206,1
    - Dst: bn_srt
      Src: /src/relic/test/test_bn.c:1207,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1208,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1208,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1211,1
    - Dst: bn_srt
      Src: /src/relic/test/test_bn.c:1212,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_bn.c:1213,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1214,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1214,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1219,1
    - Dst: bn_set_2b
      Src: /src/relic/test/test_bn.c:1221,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_bn.c:1222,1
    - Dst: bn_srt
      Src: /src/relic/test/test_bn.c:1223,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1224,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1228
    functionName: square_root
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 0
    functionsReached:
    - TEST_ONCE
    - bn_null
    - bn_sqr
    - TEST_ASSERT
    - bn_cmp
    - bn_set_2b
    - bn_new
    - bn_srt
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int square_root(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1244,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1245,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1246,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1247,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1248,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1249,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1250,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1251,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1254,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1255,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1256,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1257,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1258,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1259,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1260,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1261,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1263,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1264,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1265,1
    - Dst: bn_gcd
      Src: /src/relic/test/test_bn.c:1266,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1267,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1268,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1269,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:1269,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:1269,1
    - Dst: bn_div
      Src: /src/relic/test/test_bn.c:1270,1
    - Dst: bn_div
      Src: /src/relic/test/test_bn.c:1271,1
    - Dst: bn_gcd
      Src: /src/relic/test/test_bn.c:1272,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1273,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:1273,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1274,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:1275,1
    - Dst: bn_gcd
      Src: /src/relic/test/test_bn.c:1276,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1277,1
    - Dst: bn_cmp_abs
      Src: /src/relic/test/test_bn.c:1277,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1278,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:1279,1
    - Dst: bn_gcd
      Src: /src/relic/test/test_bn.c:1280,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1281,1
    - Dst: bn_cmp_abs
      Src: /src/relic/test/test_bn.c:1281,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1284,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1285,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1286,1
    - Dst: bn_gcd_ext
      Src: /src/relic/test/test_bn.c:1287,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1288,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1289,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:1290,1
    - Dst: bn_gcd
      Src: /src/relic/test/test_bn.c:1291,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1292,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1292,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1292,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1296,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1297,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1298,1
    - Dst: bn_gcd
      Src: /src/relic/test/test_bn.c:1299,1
    - Dst: bn_gcd_basic
      Src: /src/relic/test/test_bn.c:1300,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1301,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1301,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1304,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1305,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1306,1
    - Dst: bn_gcd_basic
      Src: /src/relic/test/test_bn.c:1307,1
    - Dst: bn_gcd_ext_basic
      Src: /src/relic/test/test_bn.c:1308,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1309,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1310,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:1311,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1312,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1312,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1312,1
    - Dst: bn_gcd_ext
      Src: /src/relic/test/test_bn.c:1313,1
    - Dst: bn_gcd_ext_basic
      Src: /src/relic/test/test_bn.c:1314,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1315,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1315,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1315,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1316,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1321,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1322,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1323,1
    - Dst: bn_gcd
      Src: /src/relic/test/test_bn.c:1324,1
    - Dst: bn_gcd_binar
      Src: /src/relic/test/test_bn.c:1325,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1326,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1326,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1329,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1330,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1331,1
    - Dst: bn_gcd_binar
      Src: /src/relic/test/test_bn.c:1332,1
    - Dst: bn_gcd_ext_binar
      Src: /src/relic/test/test_bn.c:1333,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1334,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1335,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:1336,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1337,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1337,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1337,1
    - Dst: bn_gcd_ext
      Src: /src/relic/test/test_bn.c:1338,1
    - Dst: bn_gcd_ext_binar
      Src: /src/relic/test/test_bn.c:1339,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1340,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1340,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1340,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1341,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1346,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1347,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1348,1
    - Dst: bn_gcd
      Src: /src/relic/test/test_bn.c:1349,1
    - Dst: bn_gcd_lehme
      Src: /src/relic/test/test_bn.c:1350,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1351,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1351,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1354,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1355,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1356,1
    - Dst: bn_gcd_lehme
      Src: /src/relic/test/test_bn.c:1357,1
    - Dst: bn_gcd_ext_lehme
      Src: /src/relic/test/test_bn.c:1358,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1359,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1360,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:1361,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1362,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1362,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1362,1
    - Dst: bn_gcd_ext
      Src: /src/relic/test/test_bn.c:1363,1
    - Dst: bn_gcd_ext_lehme
      Src: /src/relic/test/test_bn.c:1364,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1365,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1365,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1365,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1366,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1370,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1371,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1372,1
    - Dst: bn_gcd_ext_mid
      Src: /src/relic/test/test_bn.c:1373,1
    - Dst: bn_abs
      Src: /src/relic/test/test_bn.c:1374,1
    - Dst: bn_abs
      Src: /src/relic/test/test_bn.c:1375,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1376,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1377,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:1378,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1379,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1379,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1379,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1381
    functionName: gcd
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 33
    functionsReached:
    - bn_div
    - bn_cmp
    - bn_gcd_basic
    - bn_gcd_ext_lehme
    - bn_abs
    - bn_mul
    - bn_null
    - bn_mod
    - bn_cmp_dig
    - bn_rand
    - bn_gcd_binar
    - bn_gcd_ext
    - TEST_CASE
    - bn_gcd
    - bn_new
    - bn_is_zero
    - bn_add
    - bn_zero
    - bn_gcd_ext_mid
    - TEST_ASSERT
    - bn_gcd_lehme
    - bn_gcd_ext_basic
    - bn_cmp_abs
    - bn_gcd_ext_binar
    linkageType: ''
    returnType: int
    signature: int gcd(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1402,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1403,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1404,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1407,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1408,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1409,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1411,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1412,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1413,1
    - Dst: bn_lcm
      Src: /src/relic/test/test_bn.c:1414,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1415,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1416,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1417,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:1417,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:1417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1419
    functionName: lcm
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 11
    functionsReached:
    - bn_null
    - TEST_CASE
    - bn_mod
    - TEST_ASSERT
    - bn_lcm
    - bn_new
    - bn_is_zero
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int lcm(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1435,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1436,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1437,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1438,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1439,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1442,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1443,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1444,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1445,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1446,1
    - Dst: bn_gen_prime
      Src: /src/relic/test/test_bn.c:1449,1
    - Dst: bn_gen_prime
      Src: /src/relic/test/test_bn.c:1450,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1451,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1451,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1453,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1454,1
    - Dst: bn_smb_leg
      Src: /src/relic/test/test_bn.c:1454,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1455,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_bn.c:1456,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1457,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1458,1
    - Dst: bn_smb_leg
      Src: /src/relic/test/test_bn.c:1458,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1459,1
    - Dst: bn_smb_leg
      Src: /src/relic/test/test_bn.c:1460,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1461,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1464,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1465,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1466,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1467,1
    - Dst: bn_smb_leg
      Src: /src/relic/test/test_bn.c:1468,1
    - Dst: bn_smb_leg
      Src: /src/relic/test/test_bn.c:1468,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1469,1
    - Dst: bn_smb_leg
      Src: /src/relic/test/test_bn.c:1469,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1472,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1474,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1475,1
    - Dst: bn_smb_leg
      Src: /src/relic/test/test_bn.c:1476,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1477,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1479,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1481,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:1482,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1483,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1484,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1486,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1486,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1488,1
    - Dst: bn_smb_leg
      Src: /src/relic/test/test_bn.c:1489,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1490,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1492,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_bn.c:1494,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1495,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:1496,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1497,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1498,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1499,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1501,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1501,1
    - Dst: bn_smb_leg
      Src: /src/relic/test/test_bn.c:1503,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1504,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1506,1
    - Dst: bn_smb_leg
      Src: /src/relic/test/test_bn.c:1508,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1509,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1511,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1513,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:1514,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1515,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1516,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:1517,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1518,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1519,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1522,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1522,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1525,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1526,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1527,1
    - Dst: bn_smb_leg
      Src: /src/relic/test/test_bn.c:1527,1
    - Dst: bn_smb_jac
      Src: /src/relic/test/test_bn.c:1527,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1530,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1531,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1532,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1533,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1534,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:1535,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1537,1
    - Dst: bn_smb_jac
      Src: /src/relic/test/test_bn.c:1538,1
    - Dst: bn_smb_jac
      Src: /src/relic/test/test_bn.c:1538,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1539,1
    - Dst: bn_smb_jac
      Src: /src/relic/test/test_bn.c:1539,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1542,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1543,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1544,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1545,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:1546,1
    - Dst: bn_smb_jac
      Src: /src/relic/test/test_bn.c:1548,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1549,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1551,1
    - Dst: bn_gcd
      Src: /src/relic/test/test_bn.c:1553,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:1554,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1555,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1557,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1561,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1562,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1563,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:1564,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1566,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1567,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:1568,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1571,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1572,1
    - Dst: bn_smb_jac
      Src: /src/relic/test/test_bn.c:1573,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1574,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1576,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1578,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:1579,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1580,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1581,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1583,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1583,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1585,1
    - Dst: bn_smb_jac
      Src: /src/relic/test/test_bn.c:1586,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1587,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1589,1
    - Dst: bn_sqr
      Src: /src/relic/test/test_bn.c:1591,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1592,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:1593,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1594,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1595,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1596,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1598,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1598,1
    - Dst: bn_smb_jac
      Src: /src/relic/test/test_bn.c:1600,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1601,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1603,1
    - Dst: bn_smb_jac
      Src: /src/relic/test/test_bn.c:1605,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1606,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1608,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1610,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:1611,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1612,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1613,1
    - Dst: bn_rsh
      Src: /src/relic/test/test_bn.c:1614,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:1615,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:1616,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1619,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1619,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 178
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1621
    functionName: symbol
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 1
    functionsReached:
    - bn_smb_jac
    - bn_sqr
    - bn_cmp
    - bn_sub_dig
    - bn_set_dig
    - bn_smb_leg
    - bn_mul
    - TEST_ONCE
    - bn_null
    - bn_mod
    - bn_cmp_dig
    - bn_rand
    - bn_is_even
    - bn_add_dig
    - TEST_CASE
    - bn_gcd
    - bn_neg
    - bn_new
    - bn_gen_prime
    - bn_rsh
    - TEST_ASSERT
    linkageType: ''
    returnType: int
    signature: int symbol(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1640,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1641,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1642,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1643,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1644,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1645,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1648,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1649,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1650,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1651,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1652,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1653,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1655,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1656,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1657,1
    - Dst: bn_get_dig
      Src: /src/relic/test/test_bn.c:1658,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:1659,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:1660,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1661,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1661,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1664,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1665,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1666,1
    - Dst: bn_get_dig
      Src: /src/relic/test/test_bn.c:1667,1
    - Dst: bn_sub
      Src: /src/relic/test/test_bn.c:1668,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1669,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1670,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1670,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1673,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1674,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1675,1
    - Dst: bn_get_dig
      Src: /src/relic/test/test_bn.c:1676,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1677,1
    - Dst: bn_mul_dig
      Src: /src/relic/test/test_bn.c:1678,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1679,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1679,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1682,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1683,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1684,1
    - Dst: bn_is_zero
      Src: /src/relic/test/test_bn.c:1685,1
    - Dst: bn_div
      Src: /src/relic/test/test_bn.c:1688,1
    - Dst: bn_div_dig
      Src: /src/relic/test/test_bn.c:1689,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1690,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1690,1
    - Dst: bn_div_rem
      Src: /src/relic/test/test_bn.c:1691,1
    - Dst: bn_div_rem_dig
      Src: /src/relic/test/test_bn.c:1692,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1693,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1693,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1694,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:1694,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1698,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1699,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1700,1
    - Dst: bn_div_rem
      Src: /src/relic/test/test_bn.c:1703,1
    - Dst: bn_mod_dig
      Src: /src/relic/test/test_bn.c:1704,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1705,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:1705,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1709,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1710,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1711,1
    - Dst: bn_get_dig
      Src: /src/relic/test/test_bn.c:1712,1
    - Dst: bn_gcd
      Src: /src/relic/test/test_bn.c:1713,1
    - Dst: bn_gcd_dig
      Src: /src/relic/test/test_bn.c:1714,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1715,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1715,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1719,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1722,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1723,1
    - Dst: bn_get_dig
      Src: /src/relic/test/test_bn.c:1724,1
    - Dst: bn_gcd_ext_dig
      Src: /src/relic/test/test_bn.c:1725,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1726,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1727,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:1728,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1729,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1729,1
    - Dst: bn_gen_prime
      Src: /src/relic/test/test_bn.c:1734,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:1737,1
    - Dst: bn_set_bit
      Src: /src/relic/test/test_bn.c:1738,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1739,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1742,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1743,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1744,1
    - Dst: bn_get_dig
      Src: /src/relic/test/test_bn.c:1745,1
    - Dst: bn_mxp
      Src: /src/relic/test/test_bn.c:1746,1
    - Dst: bn_mxp_dig
      Src: /src/relic/test/test_bn.c:1747,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1748,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:1748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1751
    functionName: digit
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 2
    functionsReached:
    - bn_div
    - bn_sub
    - bn_cmp
    - bn_sub_dig
    - bn_div_rem_dig
    - bn_div_dig
    - bn_mul
    - bn_null
    - bn_cmp_dig
    - bn_gcd_dig
    - bn_mod_dig
    - bn_rand
    - bn_mxp
    - bn_div_rem
    - bn_set_bit
    - bn_add_dig
    - TEST_CASE
    - bn_gcd
    - bn_mul_dig
    - bn_new
    - bn_is_zero
    - bn_get_dig
    - bn_add
    - bn_gcd_ext_dig
    - bn_gen_prime
    - bn_zero
    - TEST_ASSERT
    - bn_mxp_dig
    linkageType: ''
    returnType: int
    signature: int digit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1770,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1771,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1774,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1775,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1777,1
    - Dst: bn_gen_prime
      Src: /src/relic/test/test_bn.c:1778,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1779,1
    - Dst: bn_is_prime
      Src: /src/relic/test/test_bn.c:1779,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1783,1
    - Dst: bn_gen_prime_basic
      Src: /src/relic/test/test_bn.c:1784,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1785,1
    - Dst: bn_is_prime
      Src: /src/relic/test/test_bn.c:1785,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1790,1
    - Dst: bn_gen_prime_safep
      Src: /src/relic/test/test_bn.c:1791,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1792,1
    - Dst: bn_is_prime
      Src: /src/relic/test/test_bn.c:1792,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1793,1
    - Dst: bn_hlv
      Src: /src/relic/test/test_bn.c:1794,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1795,1
    - Dst: bn_is_prime
      Src: /src/relic/test/test_bn.c:1795,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1800,1
    - Dst: bn_gen_prime_stron
      Src: /src/relic/test/test_bn.c:1801,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1802,1
    - Dst: bn_is_prime
      Src: /src/relic/test/test_bn.c:1802,1
    - Dst: bn_gen_prime
      Src: /src/relic/test/test_bn.c:1805,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1807,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1808,1
    - Dst: bn_is_prime_basic
      Src: /src/relic/test/test_bn.c:1808,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1811,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1812,1
    - Dst: bn_is_prime_rabin
      Src: /src/relic/test/test_bn.c:1812,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1815,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1816,1
    - Dst: bn_is_prime_solov
      Src: /src/relic/test/test_bn.c:1816,1
    - Dst: bn_gen_prime_factor
      Src: /src/relic/test/test_bn.c:1819,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1820,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1821,1
    - Dst: bn_is_prime
      Src: /src/relic/test/test_bn.c:1821,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1822,1
    - Dst: bn_is_prime
      Src: /src/relic/test/test_bn.c:1822,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:1823,1
    - Dst: bn_div
      Src: /src/relic/test/test_bn.c:1824,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1825,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:1826,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1827,1
    - Dst: bn_is_prime
      Src: /src/relic/test/test_bn.c:1827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1829
    functionName: prime
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 55
    functionsReached:
    - bn_div
    - TEST_ONCE
    - bn_gen_prime_factor
    - bn_null
    - bn_mul
    - bn_add_dig
    - TEST_ASSERT
    - bn_is_prime_solov
    - bn_hlv
    - bn_sub_dig
    - bn_is_prime
    - bn_gen_prime_safep
    - bn_new
    - bn_gen_prime_basic
    - bn_gen_prime_stron
    - bn_is_prime_rabin
    - bn_gen_prime
    - bn_is_prime_basic
    linkageType: ''
    returnType: int
    signature: int prime(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1858,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1861,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1863,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1865,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1866,1
    - Dst: bn_is_prime
      Src: /src/relic/test/test_bn.c:1866,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1870,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1872,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1873,1
    - Dst: bn_is_prime_rabin
      Src: /src/relic/test/test_bn.c:1873,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1877,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1879,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1880,1
    - Dst: bn_is_prime
      Src: /src/relic/test/test_bn.c:1880,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1884,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_bn.c:1886,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1887,1
    - Dst: bn_is_prime_rabin
      Src: /src/relic/test/test_bn.c:1887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1840
    functionDepth: 1
    functionLinenumber: 1840
    functionLinenumberEnd: 1890
    functionName: small_primes
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 0
    functionsReached:
    - TEST_ONCE
    - bn_null
    - TEST_ASSERT
    - bn_is_prime
    - bn_new
    - bn_set_dig
    - bn_is_prime_rabin
    linkageType: ''
    returnType: int
    signature: int small_primes(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1904,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1905,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1906,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1907,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1908,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1911,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1912,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1913,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1914,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1915,1
    - Dst: bn_gen_prime
      Src: /src/relic/test/test_bn.c:1917,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:1919,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_bn.c:1920,1
    - Dst: bn_mod_inv
      Src: /src/relic/test/test_bn.c:1921,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1922,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:1922,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1923,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1924,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1925,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:1925,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_bn.c:1926,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_bn.c:1927,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:1928,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:1929,1
    - Dst: bn_mod_inv_sim
      Src: /src/relic/test/test_bn.c:1930,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1931,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1932,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1933,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:1934,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1935,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:1935,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1936,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:1936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1900
    functionDepth: 1
    functionLinenumber: 1900
    functionLinenumberEnd: 1938
    functionName: inversion
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 0
    functionsReached:
    - bn_mul
    - bn_null
    - TEST_CASE
    - bn_mod
    - bn_cmp_dig
    - TEST_ASSERT
    - bn_rand_mod
    - bn_copy
    - bn_mod_inv_sim
    - bn_new
    - bn_gen_prime
    - bn_mod_inv
    linkageType: ''
    returnType: int
    signature: int inversion(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1956,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1957,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1958,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1961,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1962,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:1963,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_bn.c:1965,1
    - Dst: bn_gen_prime
      Src: /src/relic/test/test_bn.c:1966,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:1967,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:1968,1
    - Dst: bn_factor
      Src: /src/relic/test/test_bn.c:1969,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1970,1
    - Dst: bn_is_factor
      Src: /src/relic/test/test_bn.c:1970,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:1972,1
    - Dst: bn_is_factor
      Src: /src/relic/test/test_bn.c:1972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1952
    functionDepth: 1
    functionLinenumber: 1952
    functionLinenumberEnd: 1975
    functionName: factor
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 31
    functionsReached:
    - bn_factor
    - TEST_ONCE
    - bn_mul
    - bn_null
    - TEST_ASSERT
    - bn_is_factor
    - bn_new
    - bn_gen_prime
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int factor(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1995,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1996,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1997,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:1999,1
    - Dst: bn_null
      Src: /src/relic/test/test_bn.c:2000,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:2004,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:2005,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:2006,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:2008,1
    - Dst: bn_new
      Src: /src/relic/test/test_bn.c:2009,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:2012,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:2014,1
    - Dst: bn_rec_win
      Src: /src/relic/test/test_bn.c:2016,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:2017,1
    - Dst: bn_lsh
      Src: /src/relic/test/test_bn.c:2019,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2020,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2022,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:2022,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:2026,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:2028,1
    - Dst: bn_rec_slw
      Src: /src/relic/test/test_bn.c:2030,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:2031,1
    - Dst: bn_dbl
      Src: /src/relic/test/test_bn.c:2034,1
    - Dst: bn_lsh
      Src: /src/relic/test/test_bn.c:2036,1
    - Dst: util_bits_dig
      Src: /src/relic/test/test_bn.c:2036,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2037,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2040,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:2040,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:2044,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:2046,1
    - Dst: bn_rec_naf
      Src: /src/relic/test/test_bn.c:2048,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:2049,1
    - Dst: bn_dbl
      Src: /src/relic/test/test_bn.c:2051,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2053,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2055,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2058,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:2058,1
    - Dst: eb_param_set_any_kbltz
      Src: /src/relic/test/test_bn.c:2063,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/test/test_bn.c:2064,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:2065,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_bn.c:2071,1
    - Dst: bn_rec_tnaf_mod
      Src: /src/relic/test/test_bn.c:2073,1
    - Dst: bn_rec_tnaf_get
      Src: /src/relic/test/test_bn.c:2074,1
    - Dst: bn_rec_tnaf
      Src: /src/relic/test/test_bn.c:2075,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:2076,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:2077,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:2079,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:2081,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:2083,1
    - Dst: bn_dbl
      Src: /src/relic/test/test_bn.c:2084,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:2085,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:2086,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2089,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2091,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2096,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2098,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2101,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2103,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2108,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2110,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2113,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2115,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2120,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:2120,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2121,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:2121,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:2126,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_bn.c:2133,1
    - Dst: bn_rec_tnaf_mod
      Src: /src/relic/test/test_bn.c:2135,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:2136,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:2136,1
    - Dst: bn_rec_tnaf_get
      Src: /src/relic/test/test_bn.c:2137,1
    - Dst: bn_rec_rtnaf
      Src: /src/relic/test/test_bn.c:2138,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:2139,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:2140,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:2143,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:2145,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:2147,1
    - Dst: bn_dbl
      Src: /src/relic/test/test_bn.c:2148,1
    - Dst: bn_neg
      Src: /src/relic/test/test_bn.c:2149,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:2150,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2154,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2156,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2161,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2163,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2166,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2168,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2173,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2175,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2178,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2180,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2185,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:2185,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2186,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:2186,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:2192,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:2194,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:2195,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2196,1
    - Dst: bn_rec_reg
      Src: /src/relic/test/test_bn.c:2200,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:2201,1
    - Dst: bn_lsh
      Src: /src/relic/test/test_bn.c:2203,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2205,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2207,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2210,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:2210,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:2214,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:2215,1
    - Dst: bn_rand
      Src: /src/relic/test/test_bn.c:2216,1
    - Dst: bn_rec_jsf
      Src: /src/relic/test/test_bn.c:2218,1
    - Dst: RLC_MAX
      Src: /src/relic/test/test_bn.c:2219,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:2219,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:2219,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:2220,1
    - Dst: bn_zero
      Src: /src/relic/test/test_bn.c:2221,1
    - Dst: bn_dbl
      Src: /src/relic/test/test_bn.c:2223,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2225,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2227,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2230,1
    - Dst: bn_sub_dig
      Src: /src/relic/test/test_bn.c:2232,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2235,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:2235,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:2239,1
    - Dst: ep_param_set_any_endom
      Src: /src/relic/test/test_bn.c:2240,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:2242,1
    - Dst: core_get
      Src: /src/relic/test/test_bn.c:2242,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:2243,1
    - Dst: core_get
      Src: /src/relic/test/test_bn.c:2243,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_bn.c:2245,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_bn.c:2246,1
    - Dst: bn_rec_glv
      Src: /src/relic/test/test_bn.c:2247,1
    - Dst: ep_curve_get_v1
      Src: /src/relic/test/test_bn.c:2247,1
    - Dst: ep_curve_get_v2
      Src: /src/relic/test/test_bn.c:2247,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_bn.c:2248,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2250,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:2250,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:2250,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2251,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:2251,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:2251,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:2253,1
    - Dst: bn_gcd_ext
      Src: /src/relic/test/test_bn.c:2254,1
    - Dst: bn_gcd_ext
      Src: /src/relic/test/test_bn.c:2256,1
    - Dst: bn_sign
      Src: /src/relic/test/test_bn.c:2258,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:2260,1
    - Dst: bn_cmp_dig
      Src: /src/relic/test/test_bn.c:2262,1
    - Dst: bn_sub
      Src: /src/relic/test/test_bn.c:2263,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:2265,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:2267,1
    - Dst: bn_sub
      Src: /src/relic/test/test_bn.c:2268,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:2270,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:2271,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:2272,1
    - Dst: bn_mul
      Src: /src/relic/test/test_bn.c:2274,1
    - Dst: bn_add
      Src: /src/relic/test/test_bn.c:2275,1
    - Dst: bn_mod
      Src: /src/relic/test/test_bn.c:2276,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2277,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:2277,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_bn.c:2278,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_bn.c:2282,1
    - Dst: ep_param_set_any_endom
      Src: /src/relic/test/test_bn.c:2285,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_bn.c:2286,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_bn.c:2287,1
    - Dst: bn_rec_glv
      Src: /src/relic/test/test_bn.c:2288,1
    - Dst: ep_curve_get_v1
      Src: /src/relic/test/test_bn.c:2288,1
    - Dst: ep_curve_get_v2
      Src: /src/relic/test/test_bn.c:2288,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/test/test_bn.c:2289,1
    - Dst: fp_prime_get_par
      Src: /src/relic/test/test_bn.c:2290,1
    - Dst: bn_rec_sac
      Src: /src/relic/test/test_bn.c:2291,1
    - Dst: bn_bits
      Src: /src/relic/test/test_bn.c:2291,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/test/test_bn.c:2292,1
    - Dst: bn_is_even
      Src: /src/relic/test/test_bn.c:2293,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_bn.c:2294,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:2296,1
    - Dst: bn_copy
      Src: /src/relic/test/test_bn.c:2297,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2299,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_bn.c:2300,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 286
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 1987
    functionDepth: 1
    functionLinenumber: 1987
    functionLinenumberEnd: 2305
    functionName: recoding
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 0
    functionsReached:
    - eb_param_set_any_kbltz
    - bn_sub
    - bn_cmp
    - bn_rec_win
    - bn_sub_dig
    - ep_curve_get_ord
    - bn_rec_tnaf
    - fp_prime_get_par
    - eb_curve_get_ord
    - bn_rec_reg
    - bn_mul
    - bn_null
    - ep_param_set_any_endom
    - bn_mod
    - bn_cmp_dig
    - bn_rec_tnaf_get
    - bn_rec_glv
    - ep_curve_is_pairf
    - bn_rec_rtnaf
    - bn_dbl
    - bn_rand
    - ep_curve_get_v2
    - bn_gcd_ext
    - bn_rec_slw
    - bn_is_even
    - bn_add_dig
    - TEST_CASE
    - bn_lsh
    - bn_rand_mod
    - bn_sign
    - bn_neg
    - bn_new
    - util_bits_dig
    - bn_add
    - core_get
    - bn_rec_sac
    - bn_zero
    - TEST_ASSERT
    - bn_rec_tnaf_mod
    - bn_rec_naf
    - ep_curve_get_v1
    - RLC_MAX
    - bn_bits
    - bn_rec_jsf
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int recoding(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_bn.c:2322,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2323,1
    - Dst: util_banner
      Src: /src/relic/test/test_bn.c:2327,1
    - Dst: util_banner
      Src: /src/relic/test/test_bn.c:2328,1
    - Dst: memory
      Src: /src/relic/test/test_bn.c:2330,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2331,1
    - Dst: util
      Src: /src/relic/test/test_bn.c:2335,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2336,1
    - Dst: util_banner
      Src: /src/relic/test/test_bn.c:2340,1
    - Dst: addition
      Src: /src/relic/test/test_bn.c:2342,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2343,1
    - Dst: subtraction
      Src: /src/relic/test/test_bn.c:2347,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2348,1
    - Dst: multiplication
      Src: /src/relic/test/test_bn.c:2352,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2353,1
    - Dst: squaring
      Src: /src/relic/test/test_bn.c:2357,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2358,1
    - Dst: doubling_halving
      Src: /src/relic/test/test_bn.c:2362,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2363,1
    - Dst: shifting
      Src: /src/relic/test/test_bn.c:2367,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2368,1
    - Dst: division
      Src: /src/relic/test/test_bn.c:2372,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2373,1
    - Dst: reduction
      Src: /src/relic/test/test_bn.c:2377,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2378,1
    - Dst: square_root
      Src: /src/relic/test/test_bn.c:2382,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2383,1
    - Dst: gcd
      Src: /src/relic/test/test_bn.c:2387,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2388,1
    - Dst: lcm
      Src: /src/relic/test/test_bn.c:2392,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2393,1
    - Dst: symbol
      Src: /src/relic/test/test_bn.c:2397,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2398,1
    - Dst: digit
      Src: /src/relic/test/test_bn.c:2402,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2403,1
    - Dst: recoding
      Src: /src/relic/test/test_bn.c:2407,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2408,1
    - Dst: exponentiation
      Src: /src/relic/test/test_bn.c:2412,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2413,1
    - Dst: prime
      Src: /src/relic/test/test_bn.c:2417,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2418,1
    - Dst: small_primes
      Src: /src/relic/test/test_bn.c:2422,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2423,1
    - Dst: inversion
      Src: /src/relic/test/test_bn.c:2427,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2428,1
    - Dst: factor
      Src: /src/relic/test/test_bn.c:2432,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2433,1
    - Dst: util_banner
      Src: /src/relic/test/test_bn.c:2436,1
    - Dst: core_clean
      Src: /src/relic/test/test_bn.c:2438,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2321
    functionDepth: 2
    functionLinenumber: 2321
    functionLinenumberEnd: 2440
    functionName: main
    functionSourceFile: /src/relic/test/test_bn.c
    functionUses: 97
    functionsReached:
    - util_banner
    - lcm
    - reduction
    - multiplication
    - memory
    - exponentiation
    - factor
    - digit
    - util
    - core_clean
    - squaring
    - gcd
    - core_init
    - division
    - addition
    - prime
    - square_root
    - subtraction
    - doubling_halving
    - symbol
    - shifting
    - small_primes
    - recoding
    - inversion
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:42,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:45,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:46,1
    - Dst: g1_free
      Src: /src/relic/test/test_pc.c:47,1
    - Dst: util_print
      Src: /src/relic/test/test_pc.c:52,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_pc.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: memory1
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 0
    functionsReached:
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - g1_new
    - g1_null
    - g1_free
    linkageType: ''
    returnType: int
    signature: int memory1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:68,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:69,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:70,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:73,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:74,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:75,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:77,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:78,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:79,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:80,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:80,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:84,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:85,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:86,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:87,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:89,1
    - Dst: g1_copy
      Src: /src/relic/test/test_pc.c:90,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:91,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:91,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:93,1
    - Dst: g1_copy
      Src: /src/relic/test/test_pc.c:94,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:95,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:95,1
    - Dst: g1_dbl
      Src: /src/relic/test/test_pc.c:98,1
    - Dst: g1_norm
      Src: /src/relic/test/test_pc.c:99,1
    - Dst: g1_dbl
      Src: /src/relic/test/test_pc.c:100,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:101,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:101,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:102,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:102,1
    - Dst: g1_dbl
      Src: /src/relic/test/test_pc.c:104,1
    - Dst: g1_dbl
      Src: /src/relic/test/test_pc.c:105,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:106,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:107,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:107,1
    - Dst: g1_neg
      Src: /src/relic/test/test_pc.c:108,1
    - Dst: g1_norm
      Src: /src/relic/test/test_pc.c:109,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:110,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_pc.c:111,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:112,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:112,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:116,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:117,1
    - Dst: g1_neg
      Src: /src/relic/test/test_pc.c:118,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:119,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:119,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:123,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:126,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_pc.c:127,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:128,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:128,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:129,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:129,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:133,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_pc.c:134,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:135,1
    - Dst: g1_is_infty
      Src: /src/relic/test/test_pc.c:135,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:139,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_pc.c:141,1
    - Dst: g1_size_bin
      Src: /src/relic/test/test_pc.c:142,1
    - Dst: g1_write_bin
      Src: /src/relic/test/test_pc.c:143,1
    - Dst: g1_read_bin
      Src: /src/relic/test/test_pc.c:144,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:145,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:145,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:146,1
    - Dst: g1_size_bin
      Src: /src/relic/test/test_pc.c:147,1
    - Dst: g1_write_bin
      Src: /src/relic/test/test_pc.c:148,1
    - Dst: g1_read_bin
      Src: /src/relic/test/test_pc.c:149,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:150,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:150,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:151,1
    - Dst: g1_dbl
      Src: /src/relic/test/test_pc.c:152,1
    - Dst: g1_size_bin
      Src: /src/relic/test/test_pc.c:153,1
    - Dst: g1_norm
      Src: /src/relic/test/test_pc.c:154,1
    - Dst: g1_write_bin
      Src: /src/relic/test/test_pc.c:155,1
    - Dst: g1_read_bin
      Src: /src/relic/test/test_pc.c:156,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:157,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 161
    functionName: util1
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 0
    functionsReached:
    - g1_size_bin
    - g1_cmp
    - TEST_CASE
    - g1_is_infty
    - g1_set_infty
    - g1_read_bin
    - TEST_ASSERT
    - g1_neg
    - g1_new
    - g1_null
    - g1_copy
    - g1_norm
    - g1_write_bin
    - g1_dbl
    - g1_add
    - g1_rand
    linkageType: ''
    returnType: int
    signature: int util1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:179,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:180,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:181,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:182,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:183,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:186,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:187,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:188,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:189,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:190,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:192,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:193,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:194,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:195,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:196,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:197,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:197,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:200,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:201,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:202,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:203,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:204,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:205,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:206,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:207,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:208,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:208,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:211,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:212,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_pc.c:213,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:214,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:215,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:215,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:216,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:217,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:217,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:220,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:221,1
    - Dst: g1_neg
      Src: /src/relic/test/test_pc.c:222,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:223,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:224,1
    - Dst: g1_is_infty
      Src: /src/relic/test/test_pc.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 226
    functionName: addition1
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 1
    functionsReached:
    - g1_cmp
    - TEST_CASE
    - g1_is_infty
    - g1_set_infty
    - TEST_ASSERT
    - g1_neg
    - g1_new
    - g1_null
    - g1_add
    - g1_rand
    linkageType: ''
    returnType: int
    signature: int addition1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:244,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:245,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:246,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:247,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:250,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:251,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:252,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:253,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:255,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:256,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:257,1
    - Dst: g1_sub
      Src: /src/relic/test/test_pc.c:258,1
    - Dst: g1_sub
      Src: /src/relic/test/test_pc.c:259,1
    - Dst: g1_neg
      Src: /src/relic/test/test_pc.c:260,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:261,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:261,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:265,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:266,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_pc.c:267,1
    - Dst: g1_sub
      Src: /src/relic/test/test_pc.c:268,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:269,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:269,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:273,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:274,1
    - Dst: g1_sub
      Src: /src/relic/test/test_pc.c:275,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:276,1
    - Dst: g1_is_infty
      Src: /src/relic/test/test_pc.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 279
    functionName: subtraction1
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 0
    functionsReached:
    - g1_cmp
    - TEST_CASE
    - g1_is_infty
    - g1_set_infty
    - g1_neg
    - TEST_ASSERT
    - g1_new
    - g1_null
    - g1_sub
    - g1_rand
    linkageType: ''
    returnType: int
    signature: int subtraction1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:296,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:297,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:298,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:301,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:302,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:303,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:305,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:306,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:307,1
    - Dst: g1_dbl
      Src: /src/relic/test/test_pc.c:308,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:309,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: doubling1
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 1
    functionsReached:
    - g1_cmp
    - TEST_CASE
    - TEST_ASSERT
    - g1_new
    - g1_null
    - g1_dbl
    - g1_add
    - g1_rand
    linkageType: ''
    returnType: int
    signature: int doubling1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:328,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:329,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:330,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:331,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:332,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:335,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:336,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:337,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:338,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:339,1
    - Dst: g1_get_gen
      Src: /src/relic/test/test_pc.c:341,1
    - Dst: pc_get_ord
      Src: /src/relic/test/test_pc.c:342,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:344,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:345,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:346,1
    - Dst: g1_is_infty
      Src: /src/relic/test/test_pc.c:346,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:349,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:350,1
    - Dst: g1_mul_gen
      Src: /src/relic/test/test_pc.c:351,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:352,1
    - Dst: g1_is_infty
      Src: /src/relic/test/test_pc.c:352,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_pc.c:353,1
    - Dst: g1_mul_gen
      Src: /src/relic/test/test_pc.c:354,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:355,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:355,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:356,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:357,1
    - Dst: g1_mul_gen
      Src: /src/relic/test/test_pc.c:358,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:359,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:359,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:360,1
    - Dst: g1_mul_gen
      Src: /src/relic/test/test_pc.c:361,1
    - Dst: g1_neg
      Src: /src/relic/test/test_pc.c:362,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:363,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:363,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:366,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:367,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:368,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:369,1
    - Dst: g1_is_infty
      Src: /src/relic/test/test_pc.c:369,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:372,1
    - Dst: g1_mul_dig
      Src: /src/relic/test/test_pc.c:373,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:374,1
    - Dst: g1_is_infty
      Src: /src/relic/test/test_pc.c:374,1
    - Dst: g1_mul_dig
      Src: /src/relic/test/test_pc.c:375,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:376,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:376,1
    - Dst: bn_rand
      Src: /src/relic/test/test_pc.c:377,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:378,1
    - Dst: g1_mul_dig
      Src: /src/relic/test/test_pc.c:379,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:380,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 383
    functionName: multiplication1
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 0
    functionsReached:
    - g1_mul
    - g1_neg
    - g1_mul_dig
    - bn_set_dig
    - pc_get_ord
    - bn_null
    - g1_get_gen
    - bn_rand
    - g1_cmp
    - TEST_CASE
    - bn_rand_mod
    - bn_neg
    - bn_new
    - g1_rand
    - g1_mul_gen
    - bn_zero
    - g1_is_infty
    - TEST_ASSERT
    - g1_new
    - g1_null
    linkageType: ''
    returnType: int
    signature: int multiplication1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:404,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:405,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:406,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:407,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:408,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:411,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:415,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:416,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:417,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:418,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:419,1
    - Dst: g1_get_gen
      Src: /src/relic/test/test_pc.c:421,1
    - Dst: pc_get_ord
      Src: /src/relic/test/test_pc.c:422,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:425,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:427,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:428,1
    - Dst: g1_mul_pre
      Src: /src/relic/test/test_pc.c:429,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:430,1
    - Dst: g1_mul_fix
      Src: /src/relic/test/test_pc.c:431,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:432,1
    - Dst: g1_is_infty
      Src: /src/relic/test/test_pc.c:432,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_pc.c:433,1
    - Dst: g1_mul_fix
      Src: /src/relic/test/test_pc.c:434,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:435,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:435,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:436,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:437,1
    - Dst: g1_mul_fix
      Src: /src/relic/test/test_pc.c:438,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:439,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:440,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:440,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:441,1
    - Dst: g1_mul_fix
      Src: /src/relic/test/test_pc.c:442,1
    - Dst: g1_neg
      Src: /src/relic/test/test_pc.c:443,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:444,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:444,1
    - Dst: g1_free
      Src: /src/relic/test/test_pc.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 449
    functionName: fixed1
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 0
    functionsReached:
    - g1_mul
    - g1_neg
    - bn_set_dig
    - pc_get_ord
    - bn_null
    - g1_get_gen
    - g1_mul_pre
    - g1_cmp
    - g1_mul_fix
    - TEST_CASE
    - bn_rand_mod
    - bn_neg
    - bn_new
    - g1_free
    - g1_rand
    - bn_zero
    - g1_is_infty
    - TEST_ASSERT
    - g1_new
    - g1_null
    linkageType: ''
    returnType: int
    signature: int fixed1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:469,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:470,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:471,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:472,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:473,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:474,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:477,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:478,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:479,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:480,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:481,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:482,1
    - Dst: g1_get_gen
      Src: /src/relic/test/test_pc.c:484,1
    - Dst: pc_get_ord
      Src: /src/relic/test/test_pc.c:485,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:487,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:488,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:489,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:490,1
    - Dst: g1_mul_sim
      Src: /src/relic/test/test_pc.c:491,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:492,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:492,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:493,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:494,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:495,1
    - Dst: g1_mul_sim
      Src: /src/relic/test/test_pc.c:496,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:497,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:497,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:498,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:499,1
    - Dst: g1_mul_sim
      Src: /src/relic/test/test_pc.c:500,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:501,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:502,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:503,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:504,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:504,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:505,1
    - Dst: g1_mul_sim
      Src: /src/relic/test/test_pc.c:506,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:507,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:508,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:509,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:510,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:510,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:511,1
    - Dst: g1_mul_sim
      Src: /src/relic/test/test_pc.c:512,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:513,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:514,1
    - Dst: g1_add
      Src: /src/relic/test/test_pc.c:515,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:516,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:516,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:519,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:520,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:521,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:522,1
    - Dst: g1_mul_sim_gen
      Src: /src/relic/test/test_pc.c:523,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:524,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:524,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:525,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:526,1
    - Dst: g1_mul_gen
      Src: /src/relic/test/test_pc.c:527,1
    - Dst: g1_mul_sim_gen
      Src: /src/relic/test/test_pc.c:528,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:529,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:529,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:530,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:531,1
    - Dst: g1_mul_sim_gen
      Src: /src/relic/test/test_pc.c:532,1
    - Dst: g1_get_gen
      Src: /src/relic/test/test_pc.c:533,1
    - Dst: g1_mul_sim
      Src: /src/relic/test/test_pc.c:534,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:535,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:535,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:536,1
    - Dst: g1_mul_sim_gen
      Src: /src/relic/test/test_pc.c:537,1
    - Dst: g1_get_gen
      Src: /src/relic/test/test_pc.c:538,1
    - Dst: g1_mul_sim
      Src: /src/relic/test/test_pc.c:539,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:540,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:540,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:541,1
    - Dst: g1_mul_sim_gen
      Src: /src/relic/test/test_pc.c:542,1
    - Dst: g1_get_gen
      Src: /src/relic/test/test_pc.c:543,1
    - Dst: g1_mul_sim
      Src: /src/relic/test/test_pc.c:544,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:545,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_pc.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 547
    functionName: simultaneous1
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 0
    functionsReached:
    - g1_add
    - g1_cmp
    - bn_null
    - bn_zero
    - TEST_CASE
    - g1_mul_sim_gen
    - g1_mul
    - g1_mul_sim
    - g1_mul_gen
    - TEST_ASSERT
    - g1_get_gen
    - bn_rand_mod
    - g1_new
    - g1_null
    - bn_neg
    - bn_new
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int simultaneous1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:567,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:570,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:572,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_pc.c:573,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:574,1
    - Dst: g1_is_valid
      Src: /src/relic/test/test_pc.c:574,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:575,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:576,1
    - Dst: g1_is_valid
      Src: /src/relic/test/test_pc.c:576,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:580,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:581,1
    - Dst: g1_blind
      Src: /src/relic/test/test_pc.c:582,1
    - Dst: g1_norm
      Src: /src/relic/test/test_pc.c:583,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:584,1
    - Dst: g1_is_valid
      Src: /src/relic/test/test_pc.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 586
    functionName: validity1
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 0
    functionsReached:
    - g1_blind
    - TEST_CASE
    - g1_set_infty
    - TEST_ASSERT
    - g1_new
    - g1_null
    - g1_norm
    - g1_is_valid
    - g1_rand
    linkageType: ''
    returnType: int
    signature: int validity1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:602,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:603,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:606,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:607,1
    - Dst: pc_get_ord
      Src: /src/relic/test/test_pc.c:609,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:611,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_pc.c:612,1
    - Dst: g1_map
      Src: /src/relic/test/test_pc.c:613,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:614,1
    - Dst: g1_is_valid
      Src: /src/relic/test/test_pc.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 618
    functionName: hashing1
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 0
    functionsReached:
    - g1_map
    - bn_null
    - TEST_CASE
    - TEST_ASSERT
    - g1_is_valid
    - g1_new
    - g1_null
    - bn_new
    - rand_bytes
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int hashing1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:634,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:637,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:638,1
    - Dst: g2_free
      Src: /src/relic/test/test_pc.c:639,1
    - Dst: util_print
      Src: /src/relic/test/test_pc.c:644,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_pc.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 653
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 653
    functionName: memory2
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 2
    functionsReached:
    - g2_null
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - g2_new
    - g2_free
    linkageType: ''
    returnType: int
    signature: int memory2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:660,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:661,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:662,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:665,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:666,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:667,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:669,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:670,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:671,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:672,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:672,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:676,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:677,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:678,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:679,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:681,1
    - Dst: g2_copy
      Src: /src/relic/test/test_pc.c:682,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:683,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:683,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:685,1
    - Dst: g2_copy
      Src: /src/relic/test/test_pc.c:686,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:687,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:687,1
    - Dst: g2_dbl
      Src: /src/relic/test/test_pc.c:690,1
    - Dst: g2_norm
      Src: /src/relic/test/test_pc.c:691,1
    - Dst: g2_dbl
      Src: /src/relic/test/test_pc.c:692,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:693,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:693,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:694,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:694,1
    - Dst: g2_dbl
      Src: /src/relic/test/test_pc.c:696,1
    - Dst: g2_dbl
      Src: /src/relic/test/test_pc.c:697,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:698,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:698,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:699,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:699,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:703,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:704,1
    - Dst: g2_neg
      Src: /src/relic/test/test_pc.c:705,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:706,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:706,1
    - Dst: g2_neg
      Src: /src/relic/test/test_pc.c:707,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:708,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_pc.c:709,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:710,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:710,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:714,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:717,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_pc.c:718,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:719,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:719,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:720,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:720,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:724,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_pc.c:725,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:726,1
    - Dst: g2_is_infty
      Src: /src/relic/test/test_pc.c:726,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:730,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_pc.c:732,1
    - Dst: g2_size_bin
      Src: /src/relic/test/test_pc.c:733,1
    - Dst: g2_write_bin
      Src: /src/relic/test/test_pc.c:734,1
    - Dst: g2_read_bin
      Src: /src/relic/test/test_pc.c:735,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:736,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:736,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:737,1
    - Dst: g2_size_bin
      Src: /src/relic/test/test_pc.c:738,1
    - Dst: g2_write_bin
      Src: /src/relic/test/test_pc.c:739,1
    - Dst: g2_read_bin
      Src: /src/relic/test/test_pc.c:740,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:741,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:741,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:742,1
    - Dst: g2_dbl
      Src: /src/relic/test/test_pc.c:743,1
    - Dst: g2_size_bin
      Src: /src/relic/test/test_pc.c:744,1
    - Dst: g2_norm
      Src: /src/relic/test/test_pc.c:745,1
    - Dst: g2_write_bin
      Src: /src/relic/test/test_pc.c:746,1
    - Dst: g2_read_bin
      Src: /src/relic/test/test_pc.c:747,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:748,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 752
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 752
    functionName: util2
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 2
    functionsReached:
    - g2_cmp
    - g2_null
    - g2_set_infty
    - g2_read_bin
    - g2_neg
    - g2_write_bin
    - TEST_CASE
    - g2_size_bin
    - g2_add
    - TEST_ASSERT
    - g2_norm
    - g2_rand
    - g2_copy
    - g2_dbl
    - g2_new
    - g2_is_infty
    linkageType: ''
    returnType: int
    signature: int util2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:770,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:771,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:772,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:773,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:774,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:777,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:778,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:779,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:780,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:781,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:783,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:784,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:785,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:786,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:787,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:788,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:788,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:791,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:792,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:793,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:794,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:795,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:796,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:797,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:798,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:799,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:799,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:802,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:803,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_pc.c:804,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:805,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:806,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:806,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:807,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:808,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:808,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:811,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:812,1
    - Dst: g2_neg
      Src: /src/relic/test/test_pc.c:813,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:814,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:815,1
    - Dst: g2_is_infty
      Src: /src/relic/test/test_pc.c:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 817
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 817
    functionName: addition2
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 3
    functionsReached:
    - g2_cmp
    - g2_null
    - g2_set_infty
    - g2_neg
    - TEST_CASE
    - g2_add
    - TEST_ASSERT
    - g2_rand
    - g2_new
    - g2_is_infty
    linkageType: ''
    returnType: int
    signature: int addition2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:835,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:836,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:837,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:838,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:841,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:842,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:843,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:844,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:846,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:847,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:848,1
    - Dst: g2_sub
      Src: /src/relic/test/test_pc.c:849,1
    - Dst: g2_sub
      Src: /src/relic/test/test_pc.c:850,1
    - Dst: g2_neg
      Src: /src/relic/test/test_pc.c:851,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:852,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:852,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:856,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:857,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_pc.c:858,1
    - Dst: g2_sub
      Src: /src/relic/test/test_pc.c:859,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:860,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:860,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:864,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:865,1
    - Dst: g2_sub
      Src: /src/relic/test/test_pc.c:866,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:867,1
    - Dst: g2_is_infty
      Src: /src/relic/test/test_pc.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 870
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 870
    functionName: subtraction2
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 2
    functionsReached:
    - g2_cmp
    - g2_null
    - g2_set_infty
    - g2_neg
    - TEST_CASE
    - TEST_ASSERT
    - g2_rand
    - g2_new
    - g2_is_infty
    - g2_sub
    linkageType: ''
    returnType: int
    signature: int subtraction2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:887,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:888,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:889,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:892,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:893,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:894,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:896,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:897,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:898,1
    - Dst: g2_dbl
      Src: /src/relic/test/test_pc.c:899,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:900,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 902
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 902
    functionName: doubling2
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 3
    functionsReached:
    - g2_cmp
    - g2_null
    - TEST_CASE
    - g2_add
    - TEST_ASSERT
    - g2_rand
    - g2_dbl
    - g2_new
    linkageType: ''
    returnType: int
    signature: int doubling2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:919,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:920,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:921,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:922,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:923,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:926,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:927,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:928,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:929,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:930,1
    - Dst: g2_get_gen
      Src: /src/relic/test/test_pc.c:932,1
    - Dst: pc_get_ord
      Src: /src/relic/test/test_pc.c:933,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:935,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:936,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:937,1
    - Dst: g2_is_infty
      Src: /src/relic/test/test_pc.c:937,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:940,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:941,1
    - Dst: g2_mul_gen
      Src: /src/relic/test/test_pc.c:942,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:943,1
    - Dst: g2_is_infty
      Src: /src/relic/test/test_pc.c:943,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_pc.c:944,1
    - Dst: g2_mul_gen
      Src: /src/relic/test/test_pc.c:945,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:946,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:946,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:947,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:948,1
    - Dst: g2_mul_gen
      Src: /src/relic/test/test_pc.c:949,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:950,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:950,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:951,1
    - Dst: g2_mul_gen
      Src: /src/relic/test/test_pc.c:952,1
    - Dst: g2_neg
      Src: /src/relic/test/test_pc.c:953,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:954,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:954,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:957,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:958,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:959,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:960,1
    - Dst: g2_is_infty
      Src: /src/relic/test/test_pc.c:960,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:963,1
    - Dst: g2_mul_dig
      Src: /src/relic/test/test_pc.c:964,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:965,1
    - Dst: g2_is_infty
      Src: /src/relic/test/test_pc.c:965,1
    - Dst: g2_mul_dig
      Src: /src/relic/test/test_pc.c:966,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:967,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:967,1
    - Dst: bn_rand
      Src: /src/relic/test/test_pc.c:968,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:969,1
    - Dst: g2_mul_dig
      Src: /src/relic/test/test_pc.c:970,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:971,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 974
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 974
    functionName: multiplication2
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 2
    functionsReached:
    - g2_mul_dig
    - bn_set_dig
    - g2_mul_gen
    - pc_get_ord
    - g2_null
    - bn_null
    - g2_mul
    - g2_neg
    - g2_is_infty
    - bn_rand
    - TEST_CASE
    - bn_rand_mod
    - bn_neg
    - bn_new
    - g2_rand
    - g2_get_gen
    - g2_cmp
    - bn_zero
    - TEST_ASSERT
    - g2_new
    linkageType: ''
    returnType: int
    signature: int multiplication2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:995,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:996,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:997,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:998,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:999,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:1002,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:1006,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:1007,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:1008,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:1009,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:1010,1
    - Dst: g2_get_gen
      Src: /src/relic/test/test_pc.c:1012,1
    - Dst: pc_get_ord
      Src: /src/relic/test/test_pc.c:1013,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:1016,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1018,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:1019,1
    - Dst: g2_mul_pre
      Src: /src/relic/test/test_pc.c:1020,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:1021,1
    - Dst: g2_mul_fix
      Src: /src/relic/test/test_pc.c:1022,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1023,1
    - Dst: g2_is_infty
      Src: /src/relic/test/test_pc.c:1023,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_pc.c:1024,1
    - Dst: g2_mul_fix
      Src: /src/relic/test/test_pc.c:1025,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1026,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1026,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1027,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:1028,1
    - Dst: g2_mul_fix
      Src: /src/relic/test/test_pc.c:1029,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:1030,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1031,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1031,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:1032,1
    - Dst: g2_mul_fix
      Src: /src/relic/test/test_pc.c:1033,1
    - Dst: g2_neg
      Src: /src/relic/test/test_pc.c:1034,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1035,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1035,1
    - Dst: g2_free
      Src: /src/relic/test/test_pc.c:1038,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1040
    functionName: fixed2
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 1
    functionsReached:
    - bn_set_dig
    - pc_get_ord
    - g2_free
    - g2_null
    - bn_null
    - g2_mul_fix
    - g2_mul
    - g2_neg
    - g2_is_infty
    - TEST_CASE
    - bn_rand_mod
    - g2_rand
    - bn_new
    - bn_neg
    - g2_mul_pre
    - g2_get_gen
    - g2_cmp
    - bn_zero
    - TEST_ASSERT
    - g2_new
    linkageType: ''
    returnType: int
    signature: int fixed2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:1060,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:1061,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:1062,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:1063,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:1064,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:1065,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:1068,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:1069,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:1070,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:1071,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:1072,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:1073,1
    - Dst: g2_get_gen
      Src: /src/relic/test/test_pc.c:1075,1
    - Dst: pc_get_ord
      Src: /src/relic/test/test_pc.c:1076,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1078,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:1079,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1080,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:1081,1
    - Dst: g2_mul_sim
      Src: /src/relic/test/test_pc.c:1082,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1083,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1083,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1084,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:1085,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:1086,1
    - Dst: g2_mul_sim
      Src: /src/relic/test/test_pc.c:1087,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1088,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1088,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1089,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1090,1
    - Dst: g2_mul_sim
      Src: /src/relic/test/test_pc.c:1091,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:1092,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:1093,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:1094,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1095,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1095,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:1096,1
    - Dst: g2_mul_sim
      Src: /src/relic/test/test_pc.c:1097,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:1098,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:1099,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:1100,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1101,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1101,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:1102,1
    - Dst: g2_mul_sim
      Src: /src/relic/test/test_pc.c:1103,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:1104,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:1105,1
    - Dst: g2_add
      Src: /src/relic/test/test_pc.c:1106,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1107,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1107,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1110,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:1111,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1112,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:1113,1
    - Dst: g2_mul_sim_gen
      Src: /src/relic/test/test_pc.c:1114,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1115,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1115,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1116,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:1117,1
    - Dst: g2_mul_gen
      Src: /src/relic/test/test_pc.c:1118,1
    - Dst: g2_mul_sim_gen
      Src: /src/relic/test/test_pc.c:1119,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1120,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1120,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1121,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1122,1
    - Dst: g2_mul_sim_gen
      Src: /src/relic/test/test_pc.c:1123,1
    - Dst: g2_get_gen
      Src: /src/relic/test/test_pc.c:1124,1
    - Dst: g2_mul_sim
      Src: /src/relic/test/test_pc.c:1125,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1126,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1126,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:1127,1
    - Dst: g2_mul_sim_gen
      Src: /src/relic/test/test_pc.c:1128,1
    - Dst: g2_get_gen
      Src: /src/relic/test/test_pc.c:1129,1
    - Dst: g2_mul_sim
      Src: /src/relic/test/test_pc.c:1130,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1131,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1131,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:1132,1
    - Dst: g2_mul_sim_gen
      Src: /src/relic/test/test_pc.c:1133,1
    - Dst: g2_get_gen
      Src: /src/relic/test/test_pc.c:1134,1
    - Dst: g2_mul_sim
      Src: /src/relic/test/test_pc.c:1135,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1136,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_pc.c:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1138
    functionName: simultaneous2
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 1
    functionsReached:
    - g2_cmp
    - g2_null
    - bn_null
    - bn_zero
    - TEST_CASE
    - g2_mul
    - g2_add
    - TEST_ASSERT
    - bn_rand_mod
    - g2_mul_sim
    - bn_neg
    - bn_new
    - g2_mul_gen
    - g2_new
    - pc_get_ord
    - g2_mul_sim_gen
    - g2_get_gen
    linkageType: ''
    returnType: int
    signature: int simultaneous2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:1158,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:1161,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1163,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_pc.c:1164,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1165,1
    - Dst: g2_is_valid
      Src: /src/relic/test/test_pc.c:1165,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:1166,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1167,1
    - Dst: g2_is_valid
      Src: /src/relic/test/test_pc.c:1167,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1171,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:1172,1
    - Dst: g2_blind
      Src: /src/relic/test/test_pc.c:1173,1
    - Dst: g2_norm
      Src: /src/relic/test/test_pc.c:1174,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1175,1
    - Dst: g2_is_valid
      Src: /src/relic/test/test_pc.c:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: validity2
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 0
    functionsReached:
    - g2_null
    - g2_set_infty
    - TEST_CASE
    - TEST_ASSERT
    - g2_norm
    - g2_rand
    - g2_blind
    - g2_new
    - g2_is_valid
    linkageType: ''
    returnType: int
    signature: int validity2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:1193,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:1194,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:1197,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:1198,1
    - Dst: pc_get_ord
      Src: /src/relic/test/test_pc.c:1200,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1202,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_pc.c:1203,1
    - Dst: g2_map
      Src: /src/relic/test/test_pc.c:1204,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1205,1
    - Dst: g2_is_valid
      Src: /src/relic/test/test_pc.c:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1209
    functionName: hashing2
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 1
    functionsReached:
    - g2_null
    - bn_null
    - TEST_CASE
    - g2_map
    - TEST_ASSERT
    - bn_new
    - rand_bytes
    - g2_new
    - pc_get_ord
    - g2_is_valid
    linkageType: ''
    returnType: int
    signature: int hashing2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1225,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1228,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1229,1
    - Dst: gt_free
      Src: /src/relic/test/test_pc.c:1230,1
    - Dst: util_print
      Src: /src/relic/test/test_pc.c:1235,1
    - Dst: RLC_ERROR
      Src: /src/relic/test/test_pc.c:1236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1220
    functionDepth: 1
    functionLinenumber: 1220
    functionLinenumberEnd: 1244
    functionName: memory
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 39
    functionsReached:
    - util_print
    - TEST_CASE
    - RLC_ERROR
    - gt_free
    - gt_new
    - gt_null
    linkageType: ''
    returnType: int
    signature: int memory(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1250,1
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1251,1
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1252,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1255,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1256,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1257,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1259,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1260,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1261,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1262,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1262,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1266,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1267,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1268,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1269,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1270,1
    - Dst: gt_copy
      Src: /src/relic/test/test_pc.c:1271,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1272,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1272,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1274,1
    - Dst: gt_copy
      Src: /src/relic/test/test_pc.c:1275,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1276,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1276,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1281,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1282,1
    - Dst: gt_inv
      Src: /src/relic/test/test_pc.c:1283,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1284,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1284,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1288,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1291,1
    - Dst: gt_set_unity
      Src: /src/relic/test/test_pc.c:1292,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1293,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1293,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1294,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1294,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1298,1
    - Dst: gt_set_unity
      Src: /src/relic/test/test_pc.c:1299,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1300,1
    - Dst: gt_is_unity
      Src: /src/relic/test/test_pc.c:1300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1303
    functionName: util
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 5
    functionsReached:
    - gt_copy
    - TEST_CASE
    - TEST_ASSERT
    - gt_set_unity
    - gt_new
    - gt_cmp
    - gt_is_unity
    - gt_rand
    - gt_null
    - gt_inv
    linkageType: ''
    returnType: int
    signature: int util(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1321,1
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1322,1
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1323,1
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1324,1
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1325,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1328,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1329,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1330,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1331,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1332,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1334,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1335,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1336,1
    - Dst: gt_mul
      Src: /src/relic/test/test_pc.c:1337,1
    - Dst: gt_mul
      Src: /src/relic/test/test_pc.c:1338,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1339,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1339,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1342,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1343,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1344,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1345,1
    - Dst: gt_mul
      Src: /src/relic/test/test_pc.c:1346,1
    - Dst: gt_mul
      Src: /src/relic/test/test_pc.c:1347,1
    - Dst: gt_mul
      Src: /src/relic/test/test_pc.c:1348,1
    - Dst: gt_mul
      Src: /src/relic/test/test_pc.c:1349,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1350,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1350,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1353,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1354,1
    - Dst: gt_set_unity
      Src: /src/relic/test/test_pc.c:1355,1
    - Dst: gt_mul
      Src: /src/relic/test/test_pc.c:1356,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1357,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1357,1
    - Dst: gt_mul
      Src: /src/relic/test/test_pc.c:1358,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1359,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1361
    functionName: multiplication
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 5
    functionsReached:
    - gt_mul
    - TEST_CASE
    - TEST_ASSERT
    - gt_set_unity
    - gt_new
    - gt_cmp
    - gt_rand
    - gt_null
    linkageType: ''
    returnType: int
    signature: int multiplication(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1379,1
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1380,1
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1381,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1384,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1385,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1386,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1388,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1389,1
    - Dst: gt_mul
      Src: /src/relic/test/test_pc.c:1390,1
    - Dst: gt_sqr
      Src: /src/relic/test/test_pc.c:1391,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1392,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1375
    functionDepth: 1
    functionLinenumber: 1375
    functionLinenumberEnd: 1394
    functionName: squaring
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 1
    functionsReached:
    - gt_mul
    - TEST_CASE
    - TEST_ASSERT
    - gt_new
    - gt_cmp
    - gt_sqr
    - gt_rand
    - gt_null
    linkageType: ''
    returnType: int
    signature: int squaring(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1411,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1412,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1413,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1415,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1416,1
    - Dst: gt_inv
      Src: /src/relic/test/test_pc.c:1417,1
    - Dst: gt_mul
      Src: /src/relic/test/test_pc.c:1418,1
    - Dst: gt_set_unity
      Src: /src/relic/test/test_pc.c:1419,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1420,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1422
    functionName: inversion
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 1
    functionsReached:
    - gt_mul
    - TEST_CASE
    - TEST_ASSERT
    - gt_set_unity
    - gt_new
    - gt_cmp
    - gt_rand
    - gt_inv
    linkageType: ''
    returnType: int
    signature: int inversion(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1440,1
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1441,1
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1442,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:1443,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:1444,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:1445,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1448,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1449,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1450,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:1451,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:1452,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:1453,1
    - Dst: gt_get_gen
      Src: /src/relic/test/test_pc.c:1455,1
    - Dst: pc_get_ord
      Src: /src/relic/test/test_pc.c:1456,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1458,1
    - Dst: gt_exp
      Src: /src/relic/test/test_pc.c:1459,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1460,1
    - Dst: gt_is_unity
      Src: /src/relic/test/test_pc.c:1460,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1463,1
    - Dst: bn_zero
      Src: /src/relic/test/test_pc.c:1464,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_pc.c:1465,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1466,1
    - Dst: gt_is_unity
      Src: /src/relic/test/test_pc.c:1466,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_pc.c:1467,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_pc.c:1468,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1469,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1469,1
    - Dst: bn_add_dig
      Src: /src/relic/test/test_pc.c:1470,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_pc.c:1471,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1472,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1472,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_pc.c:1473,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1474,1
    - Dst: gt_is_unity
      Src: /src/relic/test/test_pc.c:1474,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1475,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_pc.c:1476,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:1477,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_pc.c:1478,1
    - Dst: gt_inv
      Src: /src/relic/test/test_pc.c:1479,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1480,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1480,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1483,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1484,1
    - Dst: gt_exp
      Src: /src/relic/test/test_pc.c:1485,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1486,1
    - Dst: gt_is_unity
      Src: /src/relic/test/test_pc.c:1486,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1489,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1490,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_pc.c:1491,1
    - Dst: gt_exp
      Src: /src/relic/test/test_pc.c:1492,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1493,1
    - Dst: gt_is_unity
      Src: /src/relic/test/test_pc.c:1493,1
    - Dst: bn_set_dig
      Src: /src/relic/test/test_pc.c:1494,1
    - Dst: gt_exp
      Src: /src/relic/test/test_pc.c:1495,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1496,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1496,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1497,1
    - Dst: RLC_CAT
      Src: /src/relic/test/test_pc.c:1498,1
    - Dst: gt_exp
      Src: /src/relic/test/test_pc.c:1499,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1500,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1500,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1501,1
    - Dst: gt_exp
      Src: /src/relic/test/test_pc.c:1502,1
    - Dst: gt_exp_sec
      Src: /src/relic/test/test_pc.c:1503,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1504,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1504,1
    - Dst: bn_neg
      Src: /src/relic/test/test_pc.c:1505,1
    - Dst: gt_exp
      Src: /src/relic/test/test_pc.c:1506,1
    - Dst: gt_exp_sec
      Src: /src/relic/test/test_pc.c:1507,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1508,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1508,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1509,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1510,1
    - Dst: gt_exp_sim
      Src: /src/relic/test/test_pc.c:1511,1
    - Dst: gt_exp
      Src: /src/relic/test/test_pc.c:1512,1
    - Dst: gt_exp
      Src: /src/relic/test/test_pc.c:1513,1
    - Dst: gt_mul
      Src: /src/relic/test/test_pc.c:1514,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1515,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1515,1
    - Dst: bn_rand
      Src: /src/relic/test/test_pc.c:1516,1
    - Dst: gt_exp
      Src: /src/relic/test/test_pc.c:1517,1
    - Dst: gt_exp_dig
      Src: /src/relic/test/test_pc.c:1518,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1519,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1521
    functionName: exponentiation
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 4
    functionsReached:
    - gt_exp
    - bn_set_dig
    - pc_get_ord
    - gt_new
    - RLC_CAT
    - bn_null
    - gt_mul
    - gt_get_gen
    - gt_exp_dig
    - gt_rand
    - gt_null
    - bn_rand
    - bn_add_dig
    - TEST_CASE
    - bn_rand_mod
    - gt_cmp
    - bn_neg
    - bn_new
    - gt_exp_gen
    - gt_inv
    - bn_zero
    - TEST_ASSERT
    - gt_exp_sec
    - gt_is_unity
    - gt_exp_sim
    linkageType: ''
    returnType: int
    signature: int exponentiation(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1541,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1544,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1546,1
    - Dst: gt_set_unity
      Src: /src/relic/test/test_pc.c:1547,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1548,1
    - Dst: gt_is_valid
      Src: /src/relic/test/test_pc.c:1548,1
    - Dst: gt_rand
      Src: /src/relic/test/test_pc.c:1549,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1550,1
    - Dst: gt_is_valid
      Src: /src/relic/test/test_pc.c:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1537
    functionDepth: 1
    functionLinenumber: 1537
    functionLinenumberEnd: 1553
    functionName: validity
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 0
    functionsReached:
    - TEST_CASE
    - TEST_ASSERT
    - gt_set_unity
    - gt_rand
    - gt_new
    - gt_null
    - gt_is_valid
    linkageType: ''
    returnType: int
    signature: int validity(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1570,1
    - Dst: gt_null
      Src: /src/relic/test/test_pc.c:1571,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:1572,1
    - Dst: bn_null
      Src: /src/relic/test/test_pc.c:1573,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1576,1
    - Dst: gt_new
      Src: /src/relic/test/test_pc.c:1577,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:1578,1
    - Dst: bn_new
      Src: /src/relic/test/test_pc.c:1579,1
    - Dst: g1_null
      Src: /src/relic/test/test_pc.c:1582,1
    - Dst: g2_null
      Src: /src/relic/test/test_pc.c:1583,1
    - Dst: g1_new
      Src: /src/relic/test/test_pc.c:1584,1
    - Dst: g2_new
      Src: /src/relic/test/test_pc.c:1585,1
    - Dst: pc_get_ord
      Src: /src/relic/test/test_pc.c:1588,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1590,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:1591,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:1592,1
    - Dst: pc_map
      Src: /src/relic/test/test_pc.c:1593,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1594,1
    - Dst: gt_cmp_dig
      Src: /src/relic/test/test_pc.c:1594,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_pc.c:1595,1
    - Dst: pc_map
      Src: /src/relic/test/test_pc.c:1596,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1597,1
    - Dst: gt_cmp_dig
      Src: /src/relic/test/test_pc.c:1597,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:1598,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_pc.c:1599,1
    - Dst: pc_map
      Src: /src/relic/test/test_pc.c:1600,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1601,1
    - Dst: gt_cmp_dig
      Src: /src/relic/test/test_pc.c:1601,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1604,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:1605,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:1606,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_pc.c:1607,1
    - Dst: g2_mul
      Src: /src/relic/test/test_pc.c:1608,1
    - Dst: pc_map
      Src: /src/relic/test/test_pc.c:1609,1
    - Dst: pc_map
      Src: /src/relic/test/test_pc.c:1610,1
    - Dst: gt_exp
      Src: /src/relic/test/test_pc.c:1611,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1612,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1612,1
    - Dst: g1_mul
      Src: /src/relic/test/test_pc.c:1613,1
    - Dst: pc_map
      Src: /src/relic/test/test_pc.c:1614,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1615,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1615,1
    - Dst: g1_dbl
      Src: /src/relic/test/test_pc.c:1616,1
    - Dst: pc_map
      Src: /src/relic/test/test_pc.c:1617,1
    - Dst: gt_sqr
      Src: /src/relic/test/test_pc.c:1618,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1619,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1619,1
    - Dst: g2_dbl
      Src: /src/relic/test/test_pc.c:1620,1
    - Dst: pc_map
      Src: /src/relic/test/test_pc.c:1621,1
    - Dst: gt_sqr
      Src: /src/relic/test/test_pc.c:1622,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1623,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1623,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_pc.c:1626,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:1627,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:1628,1
    - Dst: pc_map
      Src: /src/relic/test/test_pc.c:1629,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:1630,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_pc.c:1631,1
    - Dst: pc_map_sim
      Src: /src/relic/test/test_pc.c:1632,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1633,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1633,1
    - Dst: g1_set_infty
      Src: /src/relic/test/test_pc.c:1634,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:1635,1
    - Dst: pc_map_sim
      Src: /src/relic/test/test_pc.c:1636,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1637,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1637,1
    - Dst: g2_set_infty
      Src: /src/relic/test/test_pc.c:1638,1
    - Dst: pc_map_sim
      Src: /src/relic/test/test_pc.c:1639,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1640,1
    - Dst: gt_cmp_dig
      Src: /src/relic/test/test_pc.c:1640,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:1641,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:1642,1
    - Dst: pc_map
      Src: /src/relic/test/test_pc.c:1643,1
    - Dst: g1_rand
      Src: /src/relic/test/test_pc.c:1644,1
    - Dst: g2_rand
      Src: /src/relic/test/test_pc.c:1645,1
    - Dst: pc_map
      Src: /src/relic/test/test_pc.c:1646,1
    - Dst: gt_mul
      Src: /src/relic/test/test_pc.c:1647,1
    - Dst: pc_map_sim
      Src: /src/relic/test/test_pc.c:1648,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1649,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_pc.c:1649,1
    - Dst: g1_neg
      Src: /src/relic/test/test_pc.c:1650,1
    - Dst: g2_copy
      Src: /src/relic/test/test_pc.c:1651,1
    - Dst: pc_map_sim
      Src: /src/relic/test/test_pc.c:1652,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_pc.c:1653,1
    - Dst: gt_cmp_dig
      Src: /src/relic/test/test_pc.c:1653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1655
    functionName: pairing
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 3
    functionsReached:
    - g1_mul
    - g1_neg
    - gt_exp
    - g1_dbl
    - pc_get_ord
    - gt_sqr
    - gt_new
    - g2_null
    - bn_null
    - g2_mul
    - gt_cmp_dig
    - pc_map_sim
    - gt_mul
    - g2_dbl
    - gt_null
    - TEST_CASE
    - bn_rand_mod
    - pc_map
    - g2_rand
    - bn_new
    - gt_cmp
    - g2_copy
    - g1_rand
    - g2_set_infty
    - g1_set_infty
    - TEST_ASSERT
    - g1_new
    - g1_null
    - g2_new
    linkageType: ''
    returnType: int
    signature: int pairing(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util_banner
      Src: /src/relic/test/test_pc.c:1674,1
    - Dst: memory1
      Src: /src/relic/test/test_pc.c:1676,1
    - Dst: core_clean
      Src: /src/relic/test/test_pc.c:1677,1
    - Dst: util1
      Src: /src/relic/test/test_pc.c:1681,1
    - Dst: util_banner
      Src: /src/relic/test/test_pc.c:1685,1
    - Dst: addition1
      Src: /src/relic/test/test_pc.c:1687,1
    - Dst: subtraction1
      Src: /src/relic/test/test_pc.c:1691,1
    - Dst: doubling1
      Src: /src/relic/test/test_pc.c:1695,1
    - Dst: multiplication1
      Src: /src/relic/test/test_pc.c:1699,1
    - Dst: fixed1
      Src: /src/relic/test/test_pc.c:1703,1
    - Dst: simultaneous1
      Src: /src/relic/test/test_pc.c:1707,1
    - Dst: validity1
      Src: /src/relic/test/test_pc.c:1711,1
    - Dst: hashing1
      Src: /src/relic/test/test_pc.c:1715,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1673
    functionDepth: 2
    functionLinenumber: 1673
    functionLinenumberEnd: 1720
    functionName: test1
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 0
    functionsReached:
    - validity1
    - util_banner
    - fixed1
    - memory1
    - core_clean
    - addition1
    - simultaneous1
    - hashing1
    - doubling1
    - util1
    - subtraction1
    - multiplication1
    linkageType: ''
    returnType: int
    signature: int test1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util_banner
      Src: /src/relic/test/test_pc.c:1723,1
    - Dst: memory2
      Src: /src/relic/test/test_pc.c:1725,1
    - Dst: core_clean
      Src: /src/relic/test/test_pc.c:1726,1
    - Dst: util2
      Src: /src/relic/test/test_pc.c:1730,1
    - Dst: util_banner
      Src: /src/relic/test/test_pc.c:1734,1
    - Dst: addition2
      Src: /src/relic/test/test_pc.c:1736,1
    - Dst: subtraction2
      Src: /src/relic/test/test_pc.c:1740,1
    - Dst: doubling2
      Src: /src/relic/test/test_pc.c:1744,1
    - Dst: multiplication2
      Src: /src/relic/test/test_pc.c:1748,1
    - Dst: fixed2
      Src: /src/relic/test/test_pc.c:1752,1
    - Dst: simultaneous2
      Src: /src/relic/test/test_pc.c:1756,1
    - Dst: validity2
      Src: /src/relic/test/test_pc.c:1760,1
    - Dst: hashing2
      Src: /src/relic/test/test_pc.c:1764,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1722
    functionDepth: 2
    functionLinenumber: 1722
    functionLinenumberEnd: 1769
    functionName: test2
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 0
    functionsReached:
    - util_banner
    - memory2
    - fixed2
    - core_clean
    - multiplication2
    - validity2
    - doubling2
    - simultaneous2
    - subtraction2
    - hashing2
    - util2
    - addition2
    linkageType: ''
    returnType: int
    signature: int test2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util_banner
      Src: /src/relic/test/test_pc.c:1772,1
    - Dst: memory
      Src: /src/relic/test/test_pc.c:1774,1
    - Dst: core_clean
      Src: /src/relic/test/test_pc.c:1775,1
    - Dst: util
      Src: /src/relic/test/test_pc.c:1779,1
    - Dst: util_banner
      Src: /src/relic/test/test_pc.c:1783,1
    - Dst: multiplication
      Src: /src/relic/test/test_pc.c:1785,1
    - Dst: squaring
      Src: /src/relic/test/test_pc.c:1789,1
    - Dst: inversion
      Src: /src/relic/test/test_pc.c:1793,1
    - Dst: exponentiation
      Src: /src/relic/test/test_pc.c:1797,1
    - Dst: validity
      Src: /src/relic/test/test_pc.c:1801,1
    - Dst: pairing
      Src: /src/relic/test/test_pc.c:1805,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1771
    functionDepth: 2
    functionLinenumber: 1771
    functionLinenumberEnd: 1810
    functionName: test
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 30
    functionsReached:
    - multiplication
    - util_banner
    - validity
    - pairing
    - memory
    - core_clean
    - squaring
    - exponentiation
    - inversion
    - util
    linkageType: ''
    returnType: int
    signature: int test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_pc.c:1813,1
    - Dst: core_clean
      Src: /src/relic/test/test_pc.c:1814,1
    - Dst: util_banner
      Src: /src/relic/test/test_pc.c:1818,1
    - Dst: pc_param_set_any
      Src: /src/relic/test/test_pc.c:1820,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_pc.c:1821,1
    - Dst: core_clean
      Src: /src/relic/test/test_pc.c:1822,1
    - Dst: pc_param_print
      Src: /src/relic/test/test_pc.c:1826,1
    - Dst: util_banner
      Src: /src/relic/test/test_pc.c:1828,1
    - Dst: test1
      Src: /src/relic/test/test_pc.c:1829,1
    - Dst: core_clean
      Src: /src/relic/test/test_pc.c:1830,1
    - Dst: util_banner
      Src: /src/relic/test/test_pc.c:1834,1
    - Dst: test2
      Src: /src/relic/test/test_pc.c:1835,1
    - Dst: core_clean
      Src: /src/relic/test/test_pc.c:1836,1
    - Dst: util_banner
      Src: /src/relic/test/test_pc.c:1840,1
    - Dst: test
      Src: /src/relic/test/test_pc.c:1841,1
    - Dst: core_clean
      Src: /src/relic/test/test_pc.c:1842,1
    - Dst: util_banner
      Src: /src/relic/test/test_pc.c:1846,1
    - Dst: core_clean
      Src: /src/relic/test/test_pc.c:1848,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1812
    functionDepth: 3
    functionLinenumber: 1812
    functionLinenumberEnd: 1850
    functionName: main
    functionSourceFile: /src/relic/test/test_pc.c
    functionUses: 97
    functionsReached:
    - util_banner
    - pc_param_print
    - core_clean
    - test2
    - RLC_THROW
    - test1
    - core_init
    - pc_param_set_any
    - test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_rand.c:315,1
    - Dst: rand_clean
      Src: /src/relic/test/test_rand.c:316,1
    - Dst: rand_seed
      Src: /src/relic/test/test_rand.c:317,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_rand.c:318,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_rand.c:319,1
    - Dst: memcmp
      Src: /src/relic/test/test_rand.c:319,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_rand.c:320,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_rand.c:321,1
    - Dst: memcmp
      Src: /src/relic/test/test_rand.c:321,1
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_rand.c:325,1
    - Dst: rand_clean
      Src: /src/relic/test/test_rand.c:326,1
    - Dst: rand_seed
      Src: /src/relic/test/test_rand.c:327,1
    - Dst: rand_seed
      Src: /src/relic/test/test_rand.c:328,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_rand.c:329,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_rand.c:330,1
    - Dst: memcmp
      Src: /src/relic/test/test_rand.c:330,1
    - Dst: rand_seed
      Src: /src/relic/test/test_rand.c:331,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_rand.c:332,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_rand.c:333,1
    - Dst: memcmp
      Src: /src/relic/test/test_rand.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 341
    functionName: test
    functionSourceFile: /src/relic/test/test_rand.c
    functionUses: 31
    functionsReached:
    - TEST_ONCE
    - rand_clean
    - TEST_ASSERT
    - rand_bytes
    - memcmp
    - rand_seed
    linkageType: ''
    returnType: int
    signature: int test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_rand.c:348,1
    - Dst: memset
      Src: /src/relic/test/test_rand.c:350,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_rand.c:351,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_rand.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 360
    functionName: test
    functionSourceFile: /src/relic/test/test_rand.c
    functionUses: 31
    functionsReached:
    - memset
    - TEST_ONCE
    - TEST_ASSERT
    - rand_bytes
    linkageType: ''
    returnType: int
    signature: int test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_rand.c:368,1
    - Dst: memset
      Src: /src/relic/test/test_rand.c:369,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_rand.c:370,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_rand.c:372,1
    - Dst: memcmp
      Src: /src/relic/test/test_rand.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 380
    functionName: test
    functionSourceFile: /src/relic/test/test_rand.c
    functionUses: 31
    functionsReached:
    - TEST_ONCE
    - memset
    - TEST_ASSERT
    - rand_bytes
    - memcmp
    linkageType: ''
    returnType: int
    signature: int test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_THROW
      Src: /src/relic/test/test_rand.c:392,1
    - Dst: read
      Src: /src/relic/test/test_rand.c:397,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_rand.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - size
    - args
    argTypes:
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 403
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 403
    functionName: test_bytes
    functionSourceFile: /src/relic/test/test_rand.c
    functionUses: 0
    functionsReached:
    - RLC_THROW
    - read
    linkageType: ''
    returnType: void
    signature: void test_bytes(uint8_t *buf, size_t size, void *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ONCE
      Src: /src/relic/test/test_rand.c:409,1
    - Dst: memset
      Src: /src/relic/test/test_rand.c:411,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_rand.c:412,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_rand.c:416,1
    - Dst: rand_seed
      Src: /src/relic/test/test_rand.c:417,1
    - Dst: rand_bytes
      Src: /src/relic/test/test_rand.c:418,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_rand.c:422,1
    - Dst: close
      Src: /src/relic/test/test_rand.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 428
    functionName: test
    functionSourceFile: /src/relic/test/test_rand.c
    functionUses: 31
    functionsReached:
    - TEST_ONCE
    - close
    - memset
    - TEST_ASSERT
    - rand_bytes
    - rand_seed
    linkageType: ''
    returnType: int
    signature: int test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_rand.c:433,1
    - Dst: core_clean
      Src: /src/relic/test/test_rand.c:434,1
    - Dst: util_banner
      Src: /src/relic/test/test_rand.c:438,1
    - Dst: test
      Src: /src/relic/test/test_rand.c:440,1
    - Dst: core_clean
      Src: /src/relic/test/test_rand.c:441,1
    - Dst: util_banner
      Src: /src/relic/test/test_rand.c:445,1
    - Dst: core_clean
      Src: /src/relic/test/test_rand.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 449
    functionName: main
    functionSourceFile: /src/relic/test/test_rand.c
    functionUses: 97
    functionsReached:
    - core_init
    - util_banner
    - test
    - core_clean
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:44,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:45,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:46,1
    - Dst: mt_null
      Src: /src/relic/test/test_mpc.c:47,1
    - Dst: mt_null
      Src: /src/relic/test/test_mpc.c:48,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:51,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:52,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:53,1
    - Dst: mt_new
      Src: /src/relic/test/test_mpc.c:54,1
    - Dst: mt_new
      Src: /src/relic/test/test_mpc.c:55,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:58,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:59,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:60,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:61,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:62,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:63,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:64,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:65,1
    - Dst: bn_gen_prime
      Src: /src/relic/test/test_mpc.c:68,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_mpc.c:70,1
    - Dst: mpc_mt_gen
      Src: /src/relic/test/test_mpc.c:71,1
    - Dst: bn_add
      Src: /src/relic/test/test_mpc.c:72,1
    - Dst: bn_mod
      Src: /src/relic/test/test_mpc.c:73,1
    - Dst: bn_add
      Src: /src/relic/test/test_mpc.c:74,1
    - Dst: bn_mod
      Src: /src/relic/test/test_mpc.c:75,1
    - Dst: bn_mul
      Src: /src/relic/test/test_mpc.c:76,1
    - Dst: bn_mod
      Src: /src/relic/test/test_mpc.c:77,1
    - Dst: bn_add
      Src: /src/relic/test/test_mpc.c:78,1
    - Dst: bn_mod
      Src: /src/relic/test/test_mpc.c:79,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:80,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_mpc.c:80,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_mpc.c:83,1
    - Dst: mpc_mt_gen
      Src: /src/relic/test/test_mpc.c:84,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_mpc.c:86,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_mpc.c:87,1
    - Dst: bn_mul
      Src: /src/relic/test/test_mpc.c:88,1
    - Dst: bn_mod
      Src: /src/relic/test/test_mpc.c:89,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_mpc.c:91,1
    - Dst: bn_sub
      Src: /src/relic/test/test_mpc.c:92,1
    - Dst: bn_sign
      Src: /src/relic/test/test_mpc.c:93,1
    - Dst: bn_add
      Src: /src/relic/test/test_mpc.c:94,1
    - Dst: bn_mod
      Src: /src/relic/test/test_mpc.c:96,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_mpc.c:97,1
    - Dst: bn_sub
      Src: /src/relic/test/test_mpc.c:98,1
    - Dst: bn_sign
      Src: /src/relic/test/test_mpc.c:99,1
    - Dst: bn_add
      Src: /src/relic/test/test_mpc.c:100,1
    - Dst: bn_mod
      Src: /src/relic/test/test_mpc.c:102,1
    - Dst: mpc_mt_lcl
      Src: /src/relic/test/test_mpc.c:105,1
    - Dst: mpc_mt_lcl
      Src: /src/relic/test/test_mpc.c:106,1
    - Dst: mpc_mt_bct
      Src: /src/relic/test/test_mpc.c:108,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:109,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_mpc.c:109,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:110,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_mpc.c:110,1
    - Dst: mpc_mt_mul
      Src: /src/relic/test/test_mpc.c:111,1
    - Dst: mpc_mt_mul
      Src: /src/relic/test/test_mpc.c:112,1
    - Dst: bn_add
      Src: /src/relic/test/test_mpc.c:113,1
    - Dst: bn_mod
      Src: /src/relic/test/test_mpc.c:114,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:115,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_mpc.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 117
    functionName: triple
    functionSourceFile: /src/relic/test/test_mpc.c
    functionUses: 0
    functionsReached:
    - mpc_mt_mul
    - bn_mul
    - bn_null
    - bn_sub
    - TEST_CASE
    - mpc_mt_gen
    - bn_mod
    - TEST_ASSERT
    - bn_cmp
    - bn_rand_mod
    - mt_new
    - bn_sign
    - mpc_mt_bct
    - bn_new
    - mpc_mt_lcl
    - mt_null
    - bn_gen_prime
    - bn_add
    linkageType: ''
    returnType: int
    signature: int triple(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:142,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:143,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:144,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:147,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:148,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:149,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:151,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:152,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:153,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:154,1
    - Dst: bn_gen_prime
      Src: /src/relic/test/test_mpc.c:157,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_mpc.c:159,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_mpc.c:162,1
    - Dst: bn_zero
      Src: /src/relic/test/test_mpc.c:163,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:164,1
    - Dst: mpc_sss_gen
      Src: /src/relic/test/test_mpc.c:164,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:166,1
    - Dst: mpc_sss_key
      Src: /src/relic/test/test_mpc.c:166,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:167,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_mpc.c:167,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:169,1
    - Dst: mpc_sss_key
      Src: /src/relic/test/test_mpc.c:169,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:171,1
    - Dst: mpc_sss_key
      Src: /src/relic/test/test_mpc.c:171,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:172,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_mpc.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: shamir
    functionSourceFile: /src/relic/test/test_mpc.c
    functionUses: 0
    functionsReached:
    - bn_null
    - bn_zero
    - TEST_CASE
    - mpc_sss_gen
    - TEST_ASSERT
    - bn_rand_mod
    - bn_cmp
    - bn_new
    - bn_gen_prime
    - mpc_sss_key
    linkageType: ''
    returnType: int
    signature: int shamir(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/test/test_mpc.c:202,1
    - Dst: g2_null
      Src: /src/relic/test/test_mpc.c:203,1
    - Dst: gt_null
      Src: /src/relic/test/test_mpc.c:204,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:205,1
    - Dst: g1_new
      Src: /src/relic/test/test_mpc.c:208,1
    - Dst: g2_new
      Src: /src/relic/test/test_mpc.c:209,1
    - Dst: gt_new
      Src: /src/relic/test/test_mpc.c:210,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:211,1
    - Dst: g1_null
      Src: /src/relic/test/test_mpc.c:214,1
    - Dst: g2_null
      Src: /src/relic/test/test_mpc.c:215,1
    - Dst: gt_null
      Src: /src/relic/test/test_mpc.c:216,1
    - Dst: g1_null
      Src: /src/relic/test/test_mpc.c:217,1
    - Dst: g2_null
      Src: /src/relic/test/test_mpc.c:218,1
    - Dst: gt_null
      Src: /src/relic/test/test_mpc.c:219,1
    - Dst: g1_null
      Src: /src/relic/test/test_mpc.c:220,1
    - Dst: g2_null
      Src: /src/relic/test/test_mpc.c:221,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:222,1
    - Dst: bn_null
      Src: /src/relic/test/test_mpc.c:223,1
    - Dst: g1_null
      Src: /src/relic/test/test_mpc.c:224,1
    - Dst: g2_null
      Src: /src/relic/test/test_mpc.c:225,1
    - Dst: gt_null
      Src: /src/relic/test/test_mpc.c:226,1
    - Dst: gt_null
      Src: /src/relic/test/test_mpc.c:227,1
    - Dst: mt_null
      Src: /src/relic/test/test_mpc.c:228,1
    - Dst: pt_null
      Src: /src/relic/test/test_mpc.c:229,1
    - Dst: g1_new
      Src: /src/relic/test/test_mpc.c:230,1
    - Dst: g2_new
      Src: /src/relic/test/test_mpc.c:231,1
    - Dst: gt_new
      Src: /src/relic/test/test_mpc.c:232,1
    - Dst: g1_new
      Src: /src/relic/test/test_mpc.c:233,1
    - Dst: g2_new
      Src: /src/relic/test/test_mpc.c:234,1
    - Dst: gt_new
      Src: /src/relic/test/test_mpc.c:235,1
    - Dst: g1_new
      Src: /src/relic/test/test_mpc.c:236,1
    - Dst: g2_new
      Src: /src/relic/test/test_mpc.c:237,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:238,1
    - Dst: bn_new
      Src: /src/relic/test/test_mpc.c:239,1
    - Dst: g1_new
      Src: /src/relic/test/test_mpc.c:240,1
    - Dst: g2_new
      Src: /src/relic/test/test_mpc.c:241,1
    - Dst: gt_new
      Src: /src/relic/test/test_mpc.c:242,1
    - Dst: gt_new
      Src: /src/relic/test/test_mpc.c:243,1
    - Dst: mt_new
      Src: /src/relic/test/test_mpc.c:244,1
    - Dst: pt_new
      Src: /src/relic/test/test_mpc.c:245,1
    - Dst: g1_get_ord
      Src: /src/relic/test/test_mpc.c:248,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_mpc.c:250,1
    - Dst: mpc_mt_gen
      Src: /src/relic/test/test_mpc.c:251,1
    - Dst: g1_rand
      Src: /src/relic/test/test_mpc.c:253,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_mpc.c:254,1
    - Dst: g1_mul
      Src: /src/relic/test/test_mpc.c:255,1
    - Dst: g1_rand
      Src: /src/relic/test/test_mpc.c:257,1
    - Dst: g1_sub
      Src: /src/relic/test/test_mpc.c:258,1
    - Dst: g1_norm
      Src: /src/relic/test/test_mpc.c:259,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_mpc.c:260,1
    - Dst: bn_sub
      Src: /src/relic/test/test_mpc.c:261,1
    - Dst: bn_sign
      Src: /src/relic/test/test_mpc.c:262,1
    - Dst: bn_add
      Src: /src/relic/test/test_mpc.c:263,1
    - Dst: bn_mod
      Src: /src/relic/test/test_mpc.c:265,1
    - Dst: g1_mul_gen
      Src: /src/relic/test/test_mpc.c:267,1
    - Dst: g1_mul_gen
      Src: /src/relic/test/test_mpc.c:268,1
    - Dst: g1_mul_gen
      Src: /src/relic/test/test_mpc.c:269,1
    - Dst: g1_mul_gen
      Src: /src/relic/test/test_mpc.c:270,1
    - Dst: g1_mul_lcl
      Src: /src/relic/test/test_mpc.c:277,1
    - Dst: g1_mul_lcl
      Src: /src/relic/test/test_mpc.c:278,1
    - Dst: g1_mul_bct
      Src: /src/relic/test/test_mpc.c:280,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:281,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_mpc.c:281,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:282,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_mpc.c:282,1
    - Dst: g1_mul_mpc
      Src: /src/relic/test/test_mpc.c:283,1
    - Dst: g1_mul_mpc
      Src: /src/relic/test/test_mpc.c:284,1
    - Dst: g1_add
      Src: /src/relic/test/test_mpc.c:285,1
    - Dst: g1_norm
      Src: /src/relic/test/test_mpc.c:286,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:287,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_mpc.c:287,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_mpc.c:290,1
    - Dst: g2_rand
      Src: /src/relic/test/test_mpc.c:292,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_mpc.c:293,1
    - Dst: g2_mul
      Src: /src/relic/test/test_mpc.c:294,1
    - Dst: g2_rand
      Src: /src/relic/test/test_mpc.c:296,1
    - Dst: g2_sub
      Src: /src/relic/test/test_mpc.c:297,1
    - Dst: g2_norm
      Src: /src/relic/test/test_mpc.c:298,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_mpc.c:299,1
    - Dst: bn_sub
      Src: /src/relic/test/test_mpc.c:300,1
    - Dst: bn_sign
      Src: /src/relic/test/test_mpc.c:301,1
    - Dst: bn_add
      Src: /src/relic/test/test_mpc.c:302,1
    - Dst: bn_mod
      Src: /src/relic/test/test_mpc.c:304,1
    - Dst: g2_mul_gen
      Src: /src/relic/test/test_mpc.c:306,1
    - Dst: g2_mul_gen
      Src: /src/relic/test/test_mpc.c:307,1
    - Dst: g2_mul_gen
      Src: /src/relic/test/test_mpc.c:308,1
    - Dst: g2_mul_gen
      Src: /src/relic/test/test_mpc.c:309,1
    - Dst: g2_mul_lcl
      Src: /src/relic/test/test_mpc.c:316,1
    - Dst: g2_mul_lcl
      Src: /src/relic/test/test_mpc.c:317,1
    - Dst: g2_mul_bct
      Src: /src/relic/test/test_mpc.c:319,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:320,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_mpc.c:320,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:321,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_mpc.c:321,1
    - Dst: g2_mul_gen
      Src: /src/relic/test/test_mpc.c:322,1
    - Dst: g2_mul_gen
      Src: /src/relic/test/test_mpc.c:323,1
    - Dst: g2_mul_mpc
      Src: /src/relic/test/test_mpc.c:324,1
    - Dst: g2_mul_mpc
      Src: /src/relic/test/test_mpc.c:325,1
    - Dst: g2_add
      Src: /src/relic/test/test_mpc.c:326,1
    - Dst: g2_norm
      Src: /src/relic/test/test_mpc.c:327,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:328,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_mpc.c:328,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_mpc.c:331,1
    - Dst: gt_rand
      Src: /src/relic/test/test_mpc.c:333,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_mpc.c:334,1
    - Dst: gt_exp
      Src: /src/relic/test/test_mpc.c:335,1
    - Dst: gt_rand
      Src: /src/relic/test/test_mpc.c:337,1
    - Dst: gt_mul
      Src: /src/relic/test/test_mpc.c:338,1
    - Dst: gt_inv
      Src: /src/relic/test/test_mpc.c:339,1
    - Dst: bn_rand_mod
      Src: /src/relic/test/test_mpc.c:340,1
    - Dst: bn_sub
      Src: /src/relic/test/test_mpc.c:341,1
    - Dst: bn_sign
      Src: /src/relic/test/test_mpc.c:342,1
    - Dst: bn_add
      Src: /src/relic/test/test_mpc.c:343,1
    - Dst: bn_mod
      Src: /src/relic/test/test_mpc.c:345,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_mpc.c:347,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_mpc.c:348,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_mpc.c:349,1
    - Dst: gt_exp_gen
      Src: /src/relic/test/test_mpc.c:350,1
    - Dst: gt_exp_lcl
      Src: /src/relic/test/test_mpc.c:357,1
    - Dst: gt_exp_lcl
      Src: /src/relic/test/test_mpc.c:358,1
    - Dst: gt_exp_bct
      Src: /src/relic/test/test_mpc.c:360,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:361,1
    - Dst: bn_cmp
      Src: /src/relic/test/test_mpc.c:361,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:362,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_mpc.c:362,1
    - Dst: gt_exp_mpc
      Src: /src/relic/test/test_mpc.c:363,1
    - Dst: gt_exp_mpc
      Src: /src/relic/test/test_mpc.c:364,1
    - Dst: gt_mul
      Src: /src/relic/test/test_mpc.c:365,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:366,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_mpc.c:366,1
    - Dst: TEST_CASE
      Src: /src/relic/test/test_mpc.c:369,1
    - Dst: pc_map_tri
      Src: /src/relic/test/test_mpc.c:370,1
    - Dst: g1_add
      Src: /src/relic/test/test_mpc.c:371,1
    - Dst: g1_norm
      Src: /src/relic/test/test_mpc.c:372,1
    - Dst: g2_add
      Src: /src/relic/test/test_mpc.c:373,1
    - Dst: g2_norm
      Src: /src/relic/test/test_mpc.c:374,1
    - Dst: gt_mul
      Src: /src/relic/test/test_mpc.c:375,1
    - Dst: pc_map
      Src: /src/relic/test/test_mpc.c:376,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:377,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_mpc.c:377,1
    - Dst: pc_map_tri
      Src: /src/relic/test/test_mpc.c:379,1
    - Dst: g1_rand
      Src: /src/relic/test/test_mpc.c:381,1
    - Dst: g2_rand
      Src: /src/relic/test/test_mpc.c:382,1
    - Dst: pc_map
      Src: /src/relic/test/test_mpc.c:383,1
    - Dst: g1_rand
      Src: /src/relic/test/test_mpc.c:385,1
    - Dst: g1_sub
      Src: /src/relic/test/test_mpc.c:386,1
    - Dst: g1_norm
      Src: /src/relic/test/test_mpc.c:387,1
    - Dst: g2_rand
      Src: /src/relic/test/test_mpc.c:388,1
    - Dst: g2_sub
      Src: /src/relic/test/test_mpc.c:389,1
    - Dst: g2_norm
      Src: /src/relic/test/test_mpc.c:390,1
    - Dst: pc_map_lcl
      Src: /src/relic/test/test_mpc.c:392,1
    - Dst: pc_map_lcl
      Src: /src/relic/test/test_mpc.c:393,1
    - Dst: pc_map_bct
      Src: /src/relic/test/test_mpc.c:395,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:396,1
    - Dst: g1_cmp
      Src: /src/relic/test/test_mpc.c:396,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:397,1
    - Dst: g2_cmp
      Src: /src/relic/test/test_mpc.c:397,1
    - Dst: pc_map_mpc
      Src: /src/relic/test/test_mpc.c:398,1
    - Dst: pc_map_mpc
      Src: /src/relic/test/test_mpc.c:399,1
    - Dst: gt_mul
      Src: /src/relic/test/test_mpc.c:400,1
    - Dst: TEST_ASSERT
      Src: /src/relic/test/test_mpc.c:401,1
    - Dst: gt_cmp
      Src: /src/relic/test/test_mpc.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 175
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 403
    functionName: pairing
    functionSourceFile: /src/relic/test/test_mpc.c
    functionUses: 4
    functionsReached:
    - g2_mul_lcl
    - gt_exp_mpc
    - bn_sub
    - g1_mul_bct
    - g1_mul
    - gt_exp_lcl
    - bn_cmp
    - gt_exp
    - mt_new
    - pc_map_bct
    - g1_mul_lcl
    - g2_mul_gen
    - g1_add
    - g2_sub
    - g1_get_ord
    - gt_new
    - pc_map_tri
    - g2_null
    - bn_null
    - g2_mul
    - gt_mul
    - bn_mod
    - g2_mul_mpc
    - g1_norm
    - g1_mul_mpc
    - pt_null
    - mt_null
    - gt_rand
    - gt_null
    - g1_cmp
    - TEST_CASE
    - mpc_mt_gen
    - g2_mul_bct
    - bn_rand_mod
    - g2_norm
    - bn_sign
    - gt_cmp
    - g2_rand
    - bn_new
    - pc_map
    - gt_exp_gen
    - bn_add
    - g1_rand
    - gt_inv
    - gt_exp_bct
    - g2_cmp
    - g1_mul_gen
    - pt_new
    - g2_add
    - TEST_ASSERT
    - g1_new
    - g1_null
    - pc_map_lcl
    - g1_sub
    - g2_new
    - pc_map_mpc
    linkageType: ''
    returnType: int
    signature: int pairing(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/test/test_mpc.c:437,1
    - Dst: core_clean
      Src: /src/relic/test/test_mpc.c:438,1
    - Dst: util_banner
      Src: /src/relic/test/test_mpc.c:442,1
    - Dst: util_banner
      Src: /src/relic/test/test_mpc.c:443,1
    - Dst: triple
      Src: /src/relic/test/test_mpc.c:446,1
    - Dst: core_clean
      Src: /src/relic/test/test_mpc.c:447,1
    - Dst: shamir
      Src: /src/relic/test/test_mpc.c:451,1
    - Dst: core_clean
      Src: /src/relic/test/test_mpc.c:452,1
    - Dst: pc_param_set_any
      Src: /src/relic/test/test_mpc.c:458,1
    - Dst: RLC_THROW
      Src: /src/relic/test/test_mpc.c:459,1
    - Dst: core_clean
      Src: /src/relic/test/test_mpc.c:460,1
    - Dst: pc_param_print
      Src: /src/relic/test/test_mpc.c:464,1
    - Dst: util_banner
      Src: /src/relic/test/test_mpc.c:466,1
    - Dst: pairing
      Src: /src/relic/test/test_mpc.c:468,1
    - Dst: core_clean
      Src: /src/relic/test/test_mpc.c:469,1
    - Dst: util_banner
      Src: /src/relic/test/test_mpc.c:474,1
    - Dst: core_clean
      Src: /src/relic/test/test_mpc.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 478
    functionName: main
    functionSourceFile: /src/relic/test/test_mpc.c
    functionUses: 97
    functionsReached:
    - triple
    - util_banner
    - pairing
    - pc_param_print
    - core_clean
    - RLC_THROW
    - shamir
    - core_init
    - pc_param_set_any
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: function1
      Src: /src/relic/demo/link-test/test.c:2,1
    - Dst: function2
      Src: /src/relic/demo/link-test/test.c:3,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4
      start: 1
    functionDepth: 1
    functionLinenumber: 1
    functionLinenumberEnd: 4
    functionName: main
    functionSourceFile: /src/relic/demo/link-test/test.c
    functionUses: 97
    functionsReached:
    - function1
    - function2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/demo/link-test/test1.c:8,1
    - Dst: g2_null
      Src: /src/relic/demo/link-test/test1.c:9,1
    - Dst: gt_null
      Src: /src/relic/demo/link-test/test1.c:10,1
    - Dst: core_init
      Src: /src/relic/demo/link-test/test1.c:12,1
    - Dst: core_init
      Src: /src/relic/demo/link-test/test1.c:15,1
    - Dst: pc_param_set_any
      Src: /src/relic/demo/link-test/test1.c:16,1
    - Dst: pc_param_print
      Src: /src/relic/demo/link-test/test1.c:17,1
    - Dst: g1_new
      Src: /src/relic/demo/link-test/test1.c:19,1
    - Dst: g2_new
      Src: /src/relic/demo/link-test/test1.c:20,1
    - Dst: gt_new
      Src: /src/relic/demo/link-test/test1.c:21,1
    - Dst: g1_rand
      Src: /src/relic/demo/link-test/test1.c:23,1
    - Dst: g2_rand
      Src: /src/relic/demo/link-test/test1.c:24,1
    - Dst: pc_map
      Src: /src/relic/demo/link-test/test1.c:25,1
    - Dst: gt_print
      Src: /src/relic/demo/link-test/test1.c:27,1
    - Dst: printf
      Src: /src/relic/demo/link-test/test1.c:28,1
    - Dst: pc_map_is_type1
      Src: /src/relic/demo/link-test/test1.c:28,1
    - Dst: printf
      Src: /src/relic/demo/link-test/test1.c:29,1
    - Dst: pc_map_is_type3
      Src: /src/relic/demo/link-test/test1.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 30
    functionName: function1
    functionSourceFile: /src/relic/demo/link-test/test1.c
    functionUses: 1
    functionsReached:
    - gt_print
    - g2_null
    - pc_param_print
    - g1_rand
    - g1_new
    - g1_null
    - core_init
    - pc_param_set_any
    - g2_rand
    - pc_map
    - printf
    - pc_map_is_type1
    - g2_new
    - pc_map_is_type3
    - gt_new
    - gt_null
    linkageType: ''
    returnType: void
    signature: void function1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/demo/link-test/test2.c:8,1
    - Dst: g2_null
      Src: /src/relic/demo/link-test/test2.c:9,1
    - Dst: gt_null
      Src: /src/relic/demo/link-test/test2.c:10,1
    - Dst: core_init
      Src: /src/relic/demo/link-test/test2.c:12,1
    - Dst: core_init
      Src: /src/relic/demo/link-test/test2.c:15,1
    - Dst: pc_param_set_any
      Src: /src/relic/demo/link-test/test2.c:16,1
    - Dst: pc_param_print
      Src: /src/relic/demo/link-test/test2.c:17,1
    - Dst: g1_new
      Src: /src/relic/demo/link-test/test2.c:19,1
    - Dst: g2_new
      Src: /src/relic/demo/link-test/test2.c:20,1
    - Dst: gt_new
      Src: /src/relic/demo/link-test/test2.c:21,1
    - Dst: g1_rand
      Src: /src/relic/demo/link-test/test2.c:23,1
    - Dst: g2_rand
      Src: /src/relic/demo/link-test/test2.c:24,1
    - Dst: pc_map
      Src: /src/relic/demo/link-test/test2.c:25,1
    - Dst: gt_print
      Src: /src/relic/demo/link-test/test2.c:27,1
    - Dst: printf
      Src: /src/relic/demo/link-test/test2.c:28,1
    - Dst: pc_map_is_type1
      Src: /src/relic/demo/link-test/test2.c:28,1
    - Dst: printf
      Src: /src/relic/demo/link-test/test2.c:29,1
    - Dst: pc_map_is_type3
      Src: /src/relic/demo/link-test/test2.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 30
    functionName: function2
    functionSourceFile: /src/relic/demo/link-test/test2.c
    functionUses: 1
    functionsReached:
    - gt_print
    - g2_null
    - pc_param_print
    - g1_rand
    - g1_new
    - g1_null
    - core_init
    - pc_param_set_any
    - g2_rand
    - pc_map
    - printf
    - pc_map_is_type1
    - g2_new
    - pc_map_is_type3
    - gt_new
    - gt_null
    linkageType: ''
    returnType: void
    signature: void function2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:49,1
    - Dst: ec_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:50,1
    - Dst: bn_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:52,1
    - Dst: ec_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:53,1
    - Dst: bn_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:55,1
    - Dst: bn_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:56,1
    - Dst: ec_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:57,1
    - Dst: ec_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:58,1
    - Dst: ers_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:59,1
    - Dst: ers_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:60,1
    - Dst: cp_ers_gen_key
      Src: /src/relic/demo/ers-etrs/test-bench.c:61,1
    - Dst: cp_ers_gen
      Src: /src/relic/demo/ers-etrs/test-bench.c:64,1
    - Dst: util_banner
      Src: /src/relic/demo/ers-etrs/test-bench.c:66,1
    - Dst: bench_reset
      Src: /src/relic/demo/ers-etrs/test-bench.c:67,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/ers-etrs/test-bench.c:69,1
    - Dst: cp_ers_sig
      Src: /src/relic/demo/ers-etrs/test-bench.c:69,1
    - Dst: bench_compute
      Src: /src/relic/demo/ers-etrs/test-bench.c:71,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:72,1
    - Dst: bench_total
      Src: /src/relic/demo/ers-etrs/test-bench.c:72,1
    - Dst: bench_before
      Src: /src/relic/demo/ers-etrs/test-bench.c:76,1
    - Dst: cp_ers_ext
      Src: /src/relic/demo/ers-etrs/test-bench.c:78,1
    - Dst: bench_after
      Src: /src/relic/demo/ers-etrs/test-bench.c:80,1
    - Dst: bench_compute
      Src: /src/relic/demo/ers-etrs/test-bench.c:81,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:82,1
    - Dst: bench_total
      Src: /src/relic/demo/ers-etrs/test-bench.c:82,1
    - Dst: assert
      Src: /src/relic/demo/ers-etrs/test-bench.c:83,1
    - Dst: cp_ers_ver
      Src: /src/relic/demo/ers-etrs/test-bench.c:83,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:85,1
    - Dst: util_banner
      Src: /src/relic/demo/ers-etrs/test-bench.c:87,1
    - Dst: cp_ers_sig
      Src: /src/relic/demo/ers-etrs/test-bench.c:89,1
    - Dst: bench_reset
      Src: /src/relic/demo/ers-etrs/test-bench.c:90,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/ers-etrs/test-bench.c:92,1
    - Dst: assert
      Src: /src/relic/demo/ers-etrs/test-bench.c:92,1
    - Dst: cp_ers_ver
      Src: /src/relic/demo/ers-etrs/test-bench.c:92,1
    - Dst: bench_compute
      Src: /src/relic/demo/ers-etrs/test-bench.c:94,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:95,1
    - Dst: bench_total
      Src: /src/relic/demo/ers-etrs/test-bench.c:95,1
    - Dst: assert
      Src: /src/relic/demo/ers-etrs/test-bench.c:101,1
    - Dst: cp_ers_ext
      Src: /src/relic/demo/ers-etrs/test-bench.c:101,1
    - Dst: assert
      Src: /src/relic/demo/ers-etrs/test-bench.c:103,1
    - Dst: cp_ers_ver
      Src: /src/relic/demo/ers-etrs/test-bench.c:103,1
    - Dst: bench_reset
      Src: /src/relic/demo/ers-etrs/test-bench.c:104,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/ers-etrs/test-bench.c:106,1
    - Dst: cp_ers_ver
      Src: /src/relic/demo/ers-etrs/test-bench.c:106,1
    - Dst: bench_compute
      Src: /src/relic/demo/ers-etrs/test-bench.c:108,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:110,1
    - Dst: bench_total
      Src: /src/relic/demo/ers-etrs/test-bench.c:110,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:112,1
    - Dst: bn_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:114,1
    - Dst: ec_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:115,1
    - Dst: bn_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:117,1
    - Dst: ec_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:118,1
    - Dst: ers_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 121
    functionName: ers
    functionSourceFile: /src/relic/demo/ers-etrs/test-bench.c
    functionUses: 159
    functionsReached:
    - util_banner
    - cp_ers_sig
    - util_print
    - ers_free
    - bench_before
    - bn_null
    - ers_null
    - assert
    - bench_after
    - cp_ers_ext
    - cp_ers_ver
    - bn_free
    - ers_new
    - ec_free
    - bench_reset
    - cp_ers_gen_key
    - bn_new
    - bench_total
    - ec_null
    - bench_compute
    - ec_new
    - cp_ers_gen
    - BENCH_ADD
    linkageType: ''
    returnType: void
    signature: void ers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:130,1
    - Dst: ec_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:131,1
    - Dst: bn_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:133,1
    - Dst: bn_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:134,1
    - Dst: bn_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:135,1
    - Dst: bn_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:136,1
    - Dst: bn_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:137,1
    - Dst: bn_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:138,1
    - Dst: ec_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:139,1
    - Dst: ec_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:140,1
    - Dst: smlers_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:141,1
    - Dst: smlers_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:142,1
    - Dst: cp_ers_gen_key
      Src: /src/relic/demo/ers-etrs/test-bench.c:143,1
    - Dst: cp_ers_gen
      Src: /src/relic/demo/ers-etrs/test-bench.c:146,1
    - Dst: util_banner
      Src: /src/relic/demo/ers-etrs/test-bench.c:148,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:150,1
    - Dst: bench_reset
      Src: /src/relic/demo/ers-etrs/test-bench.c:152,1
    - Dst: bench_before
      Src: /src/relic/demo/ers-etrs/test-bench.c:153,1
    - Dst: cp_smlers_sig
      Src: /src/relic/demo/ers-etrs/test-bench.c:156,1
    - Dst: cp_smlers_ext
      Src: /src/relic/demo/ers-etrs/test-bench.c:159,1
    - Dst: bench_after
      Src: /src/relic/demo/ers-etrs/test-bench.c:161,1
    - Dst: bench_compute
      Src: /src/relic/demo/ers-etrs/test-bench.c:162,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:163,1
    - Dst: bench_total
      Src: /src/relic/demo/ers-etrs/test-bench.c:163,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:165,1
    - Dst: assert
      Src: /src/relic/demo/ers-etrs/test-bench.c:168,1
    - Dst: cp_smlers_ver
      Src: /src/relic/demo/ers-etrs/test-bench.c:168,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:171,1
    - Dst: util_banner
      Src: /src/relic/demo/ers-etrs/test-bench.c:174,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:176,1
    - Dst: cp_smlers_sig
      Src: /src/relic/demo/ers-etrs/test-bench.c:180,1
    - Dst: cp_smlers_ext
      Src: /src/relic/demo/ers-etrs/test-bench.c:183,1
    - Dst: bench_reset
      Src: /src/relic/demo/ers-etrs/test-bench.c:185,1
    - Dst: bench_before
      Src: /src/relic/demo/ers-etrs/test-bench.c:186,1
    - Dst: cp_smlers_ver
      Src: /src/relic/demo/ers-etrs/test-bench.c:189,1
    - Dst: bench_after
      Src: /src/relic/demo/ers-etrs/test-bench.c:192,1
    - Dst: bench_compute
      Src: /src/relic/demo/ers-etrs/test-bench.c:193,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:194,1
    - Dst: bench_total
      Src: /src/relic/demo/ers-etrs/test-bench.c:194,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:196,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:199,1
    - Dst: ec_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:202,1
    - Dst: bn_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:204,1
    - Dst: bn_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:205,1
    - Dst: bn_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:206,1
    - Dst: ec_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:207,1
    - Dst: smlers_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:208,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 210
    functionName: smlers
    functionSourceFile: /src/relic/demo/ers-etrs/test-bench.c
    functionUses: 1
    functionsReached:
    - util_banner
    - util_print
    - bench_before
    - smlers_new
    - bn_null
    - assert
    - bench_after
    - cp_smlers_ext
    - bn_free
    - ec_free
    - bench_reset
    - cp_smlers_ver
    - cp_ers_gen_key
    - bn_new
    - smlers_null
    - cp_smlers_sig
    - bench_total
    - ec_null
    - bench_compute
    - smlers_free
    - ec_new
    - cp_ers_gen
    linkageType: ''
    returnType: void
    signature: void smlers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:223,1
    - Dst: ec_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:224,1
    - Dst: bn_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:226,1
    - Dst: bn_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:227,1
    - Dst: bn_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:228,1
    - Dst: bn_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:229,1
    - Dst: bn_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:230,1
    - Dst: bn_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:231,1
    - Dst: ec_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:232,1
    - Dst: ec_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:233,1
    - Dst: ers_null
      Src: /src/relic/demo/ers-etrs/test-bench.c:234,1
    - Dst: ers_new
      Src: /src/relic/demo/ers-etrs/test-bench.c:235,1
    - Dst: cp_ers_gen_key
      Src: /src/relic/demo/ers-etrs/test-bench.c:236,1
    - Dst: cp_ers_gen
      Src: /src/relic/demo/ers-etrs/test-bench.c:239,1
    - Dst: util_banner
      Src: /src/relic/demo/ers-etrs/test-bench.c:241,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:243,1
    - Dst: bench_reset
      Src: /src/relic/demo/ers-etrs/test-bench.c:244,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/ers-etrs/test-bench.c:246,1
    - Dst: cp_etrs_sig
      Src: /src/relic/demo/ers-etrs/test-bench.c:246,1
    - Dst: bench_compute
      Src: /src/relic/demo/ers-etrs/test-bench.c:248,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:249,1
    - Dst: bench_total
      Src: /src/relic/demo/ers-etrs/test-bench.c:249,1
    - Dst: assert
      Src: /src/relic/demo/ers-etrs/test-bench.c:250,1
    - Dst: cp_etrs_ver
      Src: /src/relic/demo/ers-etrs/test-bench.c:250,1
    - Dst: bench_reset
      Src: /src/relic/demo/ers-etrs/test-bench.c:253,1
    - Dst: bench_before
      Src: /src/relic/demo/ers-etrs/test-bench.c:254,1
    - Dst: cp_etrs_sig
      Src: /src/relic/demo/ers-etrs/test-bench.c:256,1
    - Dst: bench_after
      Src: /src/relic/demo/ers-etrs/test-bench.c:258,1
    - Dst: bench_compute
      Src: /src/relic/demo/ers-etrs/test-bench.c:259,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:260,1
    - Dst: bench_total
      Src: /src/relic/demo/ers-etrs/test-bench.c:260,1
    - Dst: assert
      Src: /src/relic/demo/ers-etrs/test-bench.c:261,1
    - Dst: cp_etrs_ver
      Src: /src/relic/demo/ers-etrs/test-bench.c:261,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:263,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:266,1
    - Dst: bench_reset
      Src: /src/relic/demo/ers-etrs/test-bench.c:268,1
    - Dst: bench_before
      Src: /src/relic/demo/ers-etrs/test-bench.c:269,1
    - Dst: cp_etrs_sig
      Src: /src/relic/demo/ers-etrs/test-bench.c:271,1
    - Dst: cp_etrs_uni
      Src: /src/relic/demo/ers-etrs/test-bench.c:273,1
    - Dst: cp_etrs_ext
      Src: /src/relic/demo/ers-etrs/test-bench.c:276,1
    - Dst: bench_after
      Src: /src/relic/demo/ers-etrs/test-bench.c:278,1
    - Dst: bench_compute
      Src: /src/relic/demo/ers-etrs/test-bench.c:279,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:280,1
    - Dst: bench_total
      Src: /src/relic/demo/ers-etrs/test-bench.c:280,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:282,1
    - Dst: assert
      Src: /src/relic/demo/ers-etrs/test-bench.c:284,1
    - Dst: cp_etrs_ver
      Src: /src/relic/demo/ers-etrs/test-bench.c:284,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:286,1
    - Dst: util_banner
      Src: /src/relic/demo/ers-etrs/test-bench.c:289,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:291,1
    - Dst: cp_etrs_sig
      Src: /src/relic/demo/ers-etrs/test-bench.c:294,1
    - Dst: cp_etrs_uni
      Src: /src/relic/demo/ers-etrs/test-bench.c:296,1
    - Dst: cp_etrs_ext
      Src: /src/relic/demo/ers-etrs/test-bench.c:299,1
    - Dst: bench_reset
      Src: /src/relic/demo/ers-etrs/test-bench.c:301,1
    - Dst: bench_before
      Src: /src/relic/demo/ers-etrs/test-bench.c:302,1
    - Dst: cp_etrs_ver
      Src: /src/relic/demo/ers-etrs/test-bench.c:304,1
    - Dst: bench_after
      Src: /src/relic/demo/ers-etrs/test-bench.c:306,1
    - Dst: bench_compute
      Src: /src/relic/demo/ers-etrs/test-bench.c:307,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:308,1
    - Dst: bench_total
      Src: /src/relic/demo/ers-etrs/test-bench.c:308,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:310,1
    - Dst: util_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:313,1
    - Dst: ec_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:316,1
    - Dst: bn_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:318,1
    - Dst: bn_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:319,1
    - Dst: bn_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:320,1
    - Dst: ec_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:321,1
    - Dst: etrs_free
      Src: /src/relic/demo/ers-etrs/test-bench.c:322,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 324
    functionName: etrs
    functionSourceFile: /src/relic/demo/ers-etrs/test-bench.c
    functionUses: 1
    functionsReached:
    - util_banner
    - util_print
    - bench_before
    - bn_null
    - ers_null
    - assert
    - bench_after
    - cp_etrs_ext
    - bn_free
    - ers_new
    - ec_free
    - bench_reset
    - cp_ers_gen_key
    - bn_new
    - cp_etrs_uni
    - bench_total
    - etrs_free
    - ec_null
    - bench_compute
    - cp_etrs_ver
    - ec_new
    - cp_etrs_sig
    - cp_ers_gen
    - BENCH_ADD
    linkageType: ''
    returnType: void
    signature: void etrs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/demo/ers-etrs/test-bench.c:327,1
    - Dst: core_clean
      Src: /src/relic/demo/ers-etrs/test-bench.c:328,1
    - Dst: conf_print
      Src: /src/relic/demo/ers-etrs/test-bench.c:332,1
    - Dst: ec_param_set_any
      Src: /src/relic/demo/ers-etrs/test-bench.c:334,1
    - Dst: util_banner
      Src: /src/relic/demo/ers-etrs/test-bench.c:335,1
    - Dst: ers
      Src: /src/relic/demo/ers-etrs/test-bench.c:336,1
    - Dst: util_banner
      Src: /src/relic/demo/ers-etrs/test-bench.c:337,1
    - Dst: smlers
      Src: /src/relic/demo/ers-etrs/test-bench.c:338,1
    - Dst: util_banner
      Src: /src/relic/demo/ers-etrs/test-bench.c:339,1
    - Dst: etrs
      Src: /src/relic/demo/ers-etrs/test-bench.c:340,1
    - Dst: RLC_THROW
      Src: /src/relic/demo/ers-etrs/test-bench.c:342,1
    - Dst: core_clean
      Src: /src/relic/demo/ers-etrs/test-bench.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 347
    functionName: main
    functionSourceFile: /src/relic/demo/ers-etrs/test-bench.c
    functionUses: 97
    functionsReached:
    - util_banner
    - ec_param_set_any
    - smlers
    - ers
    - core_clean
    - RLC_THROW
    - core_init
    - etrs
    - conf_print
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_new
      Src: /src/relic/demo/tweedledum/main.c:43,1
    - Dst: ec_new
      Src: /src/relic/demo/tweedledum/main.c:44,1
    - Dst: ec_new
      Src: /src/relic/demo/tweedledum/main.c:45,1
    - Dst: bn_new
      Src: /src/relic/demo/tweedledum/main.c:46,1
    - Dst: bn_new
      Src: /src/relic/demo/tweedledum/main.c:47,1
    - Dst: core_init
      Src: /src/relic/demo/tweedledum/main.c:49,1
    - Dst: core_clean
      Src: /src/relic/demo/tweedledum/main.c:50,1
    - Dst: util_banner
      Src: /src/relic/demo/tweedledum/main.c:54,1
    - Dst: ec_param_set_any
      Src: /src/relic/demo/tweedledum/main.c:57,1
    - Dst: RLC_THROW
      Src: /src/relic/demo/tweedledum/main.c:58,1
    - Dst: core_clean
      Src: /src/relic/demo/tweedledum/main.c:59,1
    - Dst: ec_param_print
      Src: /src/relic/demo/tweedledum/main.c:64,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/demo/tweedledum/main.c:67,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/demo/tweedledum/main.c:68,1
    - Dst: ec_mul
      Src: /src/relic/demo/tweedledum/main.c:69,1
    - Dst: assert
      Src: /src/relic/demo/tweedledum/main.c:70,1
    - Dst: ec_is_infty
      Src: /src/relic/demo/tweedledum/main.c:70,1
    - Dst: ec_rand
      Src: /src/relic/demo/tweedledum/main.c:73,1
    - Dst: ec_rand
      Src: /src/relic/demo/tweedledum/main.c:74,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/tweedledum/main.c:75,1
    - Dst: ec_mul
      Src: /src/relic/demo/tweedledum/main.c:76,1
    - Dst: ec_print
      Src: /src/relic/demo/tweedledum/main.c:77,1
    - Dst: util_banner
      Src: /src/relic/demo/tweedledum/main.c:79,1
    - Dst: ec_free
      Src: /src/relic/demo/tweedledum/main.c:81,1
    - Dst: ec_free
      Src: /src/relic/demo/tweedledum/main.c:82,1
    - Dst: ec_free
      Src: /src/relic/demo/tweedledum/main.c:83,1
    - Dst: bn_free
      Src: /src/relic/demo/tweedledum/main.c:84,1
    - Dst: bn_free
      Src: /src/relic/demo/tweedledum/main.c:85,1
    - Dst: core_clean
      Src: /src/relic/demo/tweedledum/main.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/relic/demo/tweedledum/main.c
    functionUses: 97
    functionsReached:
    - util_banner
    - ec_param_set_any
    - ec_rand
    - bn_free
    - core_clean
    - RLC_THROW
    - ec_print
    - ec_free
    - assert
    - ec_curve_get_ord
    - bn_rand_mod
    - core_init
    - bn_new
    - ec_param_print
    - ec_curve_get_gen
    - ec_new
    - ec_is_infty
    - ec_mul
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:48,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:49,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:50,1
    - Dst: g1_null
      Src: /src/relic/demo/cert-input/test-bench.c:51,1
    - Dst: g1_null
      Src: /src/relic/demo/cert-input/test-bench.c:52,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:53,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:54,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:55,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:58,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:59,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:60,1
    - Dst: g1_new
      Src: /src/relic/demo/cert-input/test-bench.c:61,1
    - Dst: g1_new
      Src: /src/relic/demo/cert-input/test-bench.c:62,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:63,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:64,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:65,1
    - Dst: g1_get_ord
      Src: /src/relic/demo/cert-input/test-bench.c:67,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:70,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:71,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:72,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:73,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/cert-input/test-bench.c:74,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:75,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:76,1
    - Dst: TEST_CASE
      Src: /src/relic/demo/cert-input/test-bench.c:79,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:80,1
    - Dst: cp_pss_gen
      Src: /src/relic/demo/cert-input/test-bench.c:80,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:81,1
    - Dst: cp_pss_sig
      Src: /src/relic/demo/cert-input/test-bench.c:81,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:82,1
    - Dst: cp_pss_ver
      Src: /src/relic/demo/cert-input/test-bench.c:82,1
    - Dst: g1_set_infty
      Src: /src/relic/demo/cert-input/test-bench.c:84,1
    - Dst: g1_set_infty
      Src: /src/relic/demo/cert-input/test-bench.c:85,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:86,1
    - Dst: cp_pss_ver
      Src: /src/relic/demo/cert-input/test-bench.c:86,1
    - Dst: TEST_CASE
      Src: /src/relic/demo/cert-input/test-bench.c:90,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:91,1
    - Dst: cp_psb_gen
      Src: /src/relic/demo/cert-input/test-bench.c:91,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:92,1
    - Dst: cp_psb_sig
      Src: /src/relic/demo/cert-input/test-bench.c:92,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:93,1
    - Dst: cp_psb_ver
      Src: /src/relic/demo/cert-input/test-bench.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 96
    functionName: test_pss
    functionSourceFile: /src/relic/demo/cert-input/test-bench.c
    functionUses: 0
    functionsReached:
    - g2_null
    - cp_pss_gen
    - bn_null
    - cp_pss_sig
    - TEST_CASE
    - g1_set_infty
    - cp_psb_gen
    - TEST_ASSERT
    - bn_rand_mod
    - g1_new
    - g1_null
    - cp_pss_ver
    - bn_new
    - cp_psb_ver
    - cp_psb_sig
    - g2_new
    - g1_get_ord
    linkageType: ''
    returnType: int
    signature: int test_pss(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:128,1
    - Dst: g1_null
      Src: /src/relic/demo/cert-input/test-bench.c:129,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:130,1
    - Dst: gt_null
      Src: /src/relic/demo/cert-input/test-bench.c:131,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:134,1
    - Dst: g1_new
      Src: /src/relic/demo/cert-input/test-bench.c:135,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:136,1
    - Dst: gt_new
      Src: /src/relic/demo/cert-input/test-bench.c:137,1
    - Dst: g1_get_ord
      Src: /src/relic/demo/cert-input/test-bench.c:138,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:140,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:141,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:142,1
    - Dst: g1_null
      Src: /src/relic/demo/cert-input/test-bench.c:143,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:144,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:145,1
    - Dst: mt_null
      Src: /src/relic/demo/cert-input/test-bench.c:146,1
    - Dst: mt_null
      Src: /src/relic/demo/cert-input/test-bench.c:147,1
    - Dst: mt_null
      Src: /src/relic/demo/cert-input/test-bench.c:148,1
    - Dst: pt_null
      Src: /src/relic/demo/cert-input/test-bench.c:149,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:150,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/cert-input/test-bench.c:151,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:152,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:153,1
    - Dst: g1_new
      Src: /src/relic/demo/cert-input/test-bench.c:154,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:155,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:156,1
    - Dst: mt_new
      Src: /src/relic/demo/cert-input/test-bench.c:157,1
    - Dst: mt_new
      Src: /src/relic/demo/cert-input/test-bench.c:158,1
    - Dst: mt_new
      Src: /src/relic/demo/cert-input/test-bench.c:159,1
    - Dst: pt_new
      Src: /src/relic/demo/cert-input/test-bench.c:160,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:162,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:163,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:164,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:165,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/cert-input/test-bench.c:166,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:167,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:168,1
    - Dst: TEST_CASE
      Src: /src/relic/demo/cert-input/test-bench.c:172,1
    - Dst: pc_map_tri
      Src: /src/relic/demo/cert-input/test-bench.c:173,1
    - Dst: mpc_mt_gen
      Src: /src/relic/demo/cert-input/test-bench.c:174,1
    - Dst: mpc_mt_gen
      Src: /src/relic/demo/cert-input/test-bench.c:175,1
    - Dst: mpc_mt_gen
      Src: /src/relic/demo/cert-input/test-bench.c:176,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:177,1
    - Dst: cp_mpss_gen
      Src: /src/relic/demo/cert-input/test-bench.c:177,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:178,1
    - Dst: cp_mpss_bct
      Src: /src/relic/demo/cert-input/test-bench.c:178,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:180,1
    - Dst: cp_mpss_sig
      Src: /src/relic/demo/cert-input/test-bench.c:180,1
    - Dst: cp_mpss_ver
      Src: /src/relic/demo/cert-input/test-bench.c:182,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:183,1
    - Dst: gt_is_unity
      Src: /src/relic/demo/cert-input/test-bench.c:183,1
    - Dst: bn_add
      Src: /src/relic/demo/cert-input/test-bench.c:185,1
    - Dst: bn_mod
      Src: /src/relic/demo/cert-input/test-bench.c:186,1
    - Dst: g1_add
      Src: /src/relic/demo/cert-input/test-bench.c:187,1
    - Dst: g1_norm
      Src: /src/relic/demo/cert-input/test-bench.c:188,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:189,1
    - Dst: cp_pss_ver
      Src: /src/relic/demo/cert-input/test-bench.c:189,1
    - Dst: TEST_CASE
      Src: /src/relic/demo/cert-input/test-bench.c:193,1
    - Dst: g1_get_ord
      Src: /src/relic/demo/cert-input/test-bench.c:194,1
    - Dst: pc_map_tri
      Src: /src/relic/demo/cert-input/test-bench.c:195,1
    - Dst: mpc_mt_gen
      Src: /src/relic/demo/cert-input/test-bench.c:196,1
    - Dst: mpc_mt_gen
      Src: /src/relic/demo/cert-input/test-bench.c:197,1
    - Dst: mpc_mt_gen
      Src: /src/relic/demo/cert-input/test-bench.c:198,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:199,1
    - Dst: cp_mpsb_gen
      Src: /src/relic/demo/cert-input/test-bench.c:199,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:200,1
    - Dst: cp_mpsb_bct
      Src: /src/relic/demo/cert-input/test-bench.c:200,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:202,1
    - Dst: cp_mpsb_sig
      Src: /src/relic/demo/cert-input/test-bench.c:202,1
    - Dst: cp_mpsb_ver
      Src: /src/relic/demo/cert-input/test-bench.c:204,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:205,1
    - Dst: gt_is_unity
      Src: /src/relic/demo/cert-input/test-bench.c:205,1
    - Dst: cp_mpsb_ver
      Src: /src/relic/demo/cert-input/test-bench.c:206,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:207,1
    - Dst: gt_is_unity
      Src: /src/relic/demo/cert-input/test-bench.c:207,1
    - Dst: bn_sub_dig
      Src: /src/relic/demo/cert-input/test-bench.c:208,1
    - Dst: cp_mpsb_ver
      Src: /src/relic/demo/cert-input/test-bench.c:209,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/cert-input/test-bench.c:210,1
    - Dst: gt_is_unity
      Src: /src/relic/demo/cert-input/test-bench.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 213
    functionName: test_mpss
    functionSourceFile: /src/relic/demo/cert-input/test-bench.c
    functionUses: 0
    functionsReached:
    - cp_mpss_bct
    - cp_mpsb_sig
    - mt_new
    - bn_sub_dig
    - cp_mpss_ver
    - g1_add
    - pc_map_tri
    - g1_get_ord
    - gt_new
    - g2_null
    - bn_null
    - cp_mpss_gen
    - bn_mod
    - cp_mpss_sig
    - cp_pss_ver
    - g1_norm
    - cp_mpsb_ver
    - pt_null
    - mt_null
    - gt_null
    - TEST_CASE
    - mpc_mt_gen
    - bn_rand_mod
    - bn_new
    - bn_add
    - cp_mpsb_bct
    - pt_new
    - TEST_ASSERT
    - cp_mpsb_gen
    - g1_new
    - g1_null
    - gt_is_unity
    - g2_new
    linkageType: ''
    returnType: int
    signature: int test_mpss(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:249,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:250,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:251,1
    - Dst: g1_null
      Src: /src/relic/demo/cert-input/test-bench.c:252,1
    - Dst: g1_null
      Src: /src/relic/demo/cert-input/test-bench.c:253,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:254,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:255,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:256,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:257,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:258,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:259,1
    - Dst: g1_new
      Src: /src/relic/demo/cert-input/test-bench.c:260,1
    - Dst: g1_new
      Src: /src/relic/demo/cert-input/test-bench.c:261,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:262,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:263,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:264,1
    - Dst: g1_get_ord
      Src: /src/relic/demo/cert-input/test-bench.c:266,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:268,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:269,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:270,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:271,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/cert-input/test-bench.c:272,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:273,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:274,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:277,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:278,1
    - Dst: cp_pss_gen
      Src: /src/relic/demo/cert-input/test-bench.c:278,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:281,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:282,1
    - Dst: cp_pss_sig
      Src: /src/relic/demo/cert-input/test-bench.c:282,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:285,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:286,1
    - Dst: cp_pss_ver
      Src: /src/relic/demo/cert-input/test-bench.c:286,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:289,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:290,1
    - Dst: cp_psb_gen
      Src: /src/relic/demo/cert-input/test-bench.c:290,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:293,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:294,1
    - Dst: cp_psb_sig
      Src: /src/relic/demo/cert-input/test-bench.c:294,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:297,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:298,1
    - Dst: cp_psb_ver
      Src: /src/relic/demo/cert-input/test-bench.c:298,1
    - Dst: bn_free
      Src: /src/relic/demo/cert-input/test-bench.c:301,1
    - Dst: bn_free
      Src: /src/relic/demo/cert-input/test-bench.c:302,1
    - Dst: g1_free
      Src: /src/relic/demo/cert-input/test-bench.c:303,1
    - Dst: g1_free
      Src: /src/relic/demo/cert-input/test-bench.c:304,1
    - Dst: g2_free
      Src: /src/relic/demo/cert-input/test-bench.c:305,1
    - Dst: g2_free
      Src: /src/relic/demo/cert-input/test-bench.c:306,1
    - Dst: g2_free
      Src: /src/relic/demo/cert-input/test-bench.c:307,1
    - Dst: bn_free
      Src: /src/relic/demo/cert-input/test-bench.c:309,1
    - Dst: bn_free
      Src: /src/relic/demo/cert-input/test-bench.c:310,1
    - Dst: g1_free
      Src: /src/relic/demo/cert-input/test-bench.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 313
    functionName: bench_pss
    functionSourceFile: /src/relic/demo/cert-input/test-bench.c
    functionUses: 0
    functionsReached:
    - cp_pss_gen
    - g2_free
    - g1_get_ord
    - BENCH_RUN
    - g2_null
    - bn_null
    - cp_pss_sig
    - cp_psb_ver
    - cp_pss_ver
    - bn_free
    - cp_psb_gen
    - bn_rand_mod
    - bn_new
    - g1_free
    - cp_psb_sig
    - g1_new
    - g1_null
    - g2_new
    - BENCH_ADD
    linkageType: ''
    returnType: void
    signature: void bench_pss(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:323,1
    - Dst: g1_null
      Src: /src/relic/demo/cert-input/test-bench.c:324,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:325,1
    - Dst: gt_null
      Src: /src/relic/demo/cert-input/test-bench.c:326,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:328,1
    - Dst: g1_new
      Src: /src/relic/demo/cert-input/test-bench.c:329,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:330,1
    - Dst: gt_new
      Src: /src/relic/demo/cert-input/test-bench.c:331,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:333,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:334,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:335,1
    - Dst: g1_null
      Src: /src/relic/demo/cert-input/test-bench.c:336,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:337,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:338,1
    - Dst: mt_null
      Src: /src/relic/demo/cert-input/test-bench.c:339,1
    - Dst: mt_null
      Src: /src/relic/demo/cert-input/test-bench.c:340,1
    - Dst: mt_null
      Src: /src/relic/demo/cert-input/test-bench.c:341,1
    - Dst: pt_null
      Src: /src/relic/demo/cert-input/test-bench.c:342,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:343,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:344,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:345,1
    - Dst: g1_new
      Src: /src/relic/demo/cert-input/test-bench.c:346,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:347,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:348,1
    - Dst: mt_new
      Src: /src/relic/demo/cert-input/test-bench.c:349,1
    - Dst: mt_new
      Src: /src/relic/demo/cert-input/test-bench.c:350,1
    - Dst: mt_new
      Src: /src/relic/demo/cert-input/test-bench.c:351,1
    - Dst: pt_new
      Src: /src/relic/demo/cert-input/test-bench.c:352,1
    - Dst: g1_get_ord
      Src: /src/relic/demo/cert-input/test-bench.c:354,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:356,1
    - Dst: bn_null
      Src: /src/relic/demo/cert-input/test-bench.c:357,1
    - Dst: g2_null
      Src: /src/relic/demo/cert-input/test-bench.c:358,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:359,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/cert-input/test-bench.c:360,1
    - Dst: bn_new
      Src: /src/relic/demo/cert-input/test-bench.c:361,1
    - Dst: g2_new
      Src: /src/relic/demo/cert-input/test-bench.c:362,1
    - Dst: pc_map_tri
      Src: /src/relic/demo/cert-input/test-bench.c:366,1
    - Dst: mpc_mt_gen
      Src: /src/relic/demo/cert-input/test-bench.c:367,1
    - Dst: mpc_mt_gen
      Src: /src/relic/demo/cert-input/test-bench.c:368,1
    - Dst: mpc_mt_gen
      Src: /src/relic/demo/cert-input/test-bench.c:369,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/cert-input/test-bench.c:371,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/cert-input/test-bench.c:372,1
    - Dst: bn_sub
      Src: /src/relic/demo/cert-input/test-bench.c:373,1
    - Dst: bn_sign
      Src: /src/relic/demo/cert-input/test-bench.c:374,1
    - Dst: bn_add
      Src: /src/relic/demo/cert-input/test-bench.c:375,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:378,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:379,1
    - Dst: cp_mpss_gen
      Src: /src/relic/demo/cert-input/test-bench.c:379,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:382,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:383,1
    - Dst: cp_mpss_bct
      Src: /src/relic/demo/cert-input/test-bench.c:383,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:386,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:387,1
    - Dst: cp_mpss_sig
      Src: /src/relic/demo/cert-input/test-bench.c:387,1
    - Dst: BENCH_DIV
      Src: /src/relic/demo/cert-input/test-bench.c:388,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:390,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:391,1
    - Dst: cp_mpss_ver
      Src: /src/relic/demo/cert-input/test-bench.c:391,1
    - Dst: BENCH_DIV
      Src: /src/relic/demo/cert-input/test-bench.c:392,1
    - Dst: g1_get_ord
      Src: /src/relic/demo/cert-input/test-bench.c:394,1
    - Dst: pc_map_tri
      Src: /src/relic/demo/cert-input/test-bench.c:395,1
    - Dst: mpc_mt_gen
      Src: /src/relic/demo/cert-input/test-bench.c:396,1
    - Dst: mpc_mt_gen
      Src: /src/relic/demo/cert-input/test-bench.c:397,1
    - Dst: mpc_mt_gen
      Src: /src/relic/demo/cert-input/test-bench.c:398,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:400,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:401,1
    - Dst: cp_mpsb_gen
      Src: /src/relic/demo/cert-input/test-bench.c:401,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:404,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:405,1
    - Dst: cp_mpsb_bct
      Src: /src/relic/demo/cert-input/test-bench.c:405,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:408,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:409,1
    - Dst: cp_mpsb_sig
      Src: /src/relic/demo/cert-input/test-bench.c:409,1
    - Dst: BENCH_DIV
      Src: /src/relic/demo/cert-input/test-bench.c:410,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:412,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:413,1
    - Dst: cp_mpsb_ver
      Src: /src/relic/demo/cert-input/test-bench.c:413,1
    - Dst: BENCH_DIV
      Src: /src/relic/demo/cert-input/test-bench.c:414,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/cert-input/test-bench.c:416,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/cert-input/test-bench.c:417,1
    - Dst: cp_mpsb_ver
      Src: /src/relic/demo/cert-input/test-bench.c:417,1
    - Dst: BENCH_DIV
      Src: /src/relic/demo/cert-input/test-bench.c:418,1
    - Dst: bn_free
      Src: /src/relic/demo/cert-input/test-bench.c:420,1
    - Dst: g1_free
      Src: /src/relic/demo/cert-input/test-bench.c:421,1
    - Dst: g2_free
      Src: /src/relic/demo/cert-input/test-bench.c:422,1
    - Dst: gt_free
      Src: /src/relic/demo/cert-input/test-bench.c:423,1
    - Dst: bn_free
      Src: /src/relic/demo/cert-input/test-bench.c:425,1
    - Dst: bn_free
      Src: /src/relic/demo/cert-input/test-bench.c:426,1
    - Dst: bn_free
      Src: /src/relic/demo/cert-input/test-bench.c:427,1
    - Dst: g1_free
      Src: /src/relic/demo/cert-input/test-bench.c:428,1
    - Dst: g2_free
      Src: /src/relic/demo/cert-input/test-bench.c:429,1
    - Dst: g2_free
      Src: /src/relic/demo/cert-input/test-bench.c:430,1
    - Dst: mt_free
      Src: /src/relic/demo/cert-input/test-bench.c:431,1
    - Dst: mt_free
      Src: /src/relic/demo/cert-input/test-bench.c:432,1
    - Dst: mt_free
      Src: /src/relic/demo/cert-input/test-bench.c:433,1
    - Dst: pt_free
      Src: /src/relic/demo/cert-input/test-bench.c:434,1
    - Dst: bn_free
      Src: /src/relic/demo/cert-input/test-bench.c:436,1
    - Dst: bn_free
      Src: /src/relic/demo/cert-input/test-bench.c:437,1
    - Dst: g2_free
      Src: /src/relic/demo/cert-input/test-bench.c:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 441
    functionName: bench_mpss
    functionSourceFile: /src/relic/demo/cert-input/test-bench.c
    functionUses: 0
    functionsReached:
    - bn_sub
    - cp_mpss_bct
    - gt_free
    - cp_mpsb_sig
    - mt_new
    - cp_mpss_ver
    - pc_map_tri
    - g1_get_ord
    - gt_new
    - BENCH_RUN
    - g2_free
    - g2_null
    - pt_free
    - bn_null
    - cp_mpss_gen
    - cp_mpss_sig
    - cp_mpsb_ver
    - pt_null
    - mt_null
    - gt_null
    - bn_free
    - mpc_mt_gen
    - mt_free
    - bn_rand_mod
    - bn_sign
    - bn_new
    - g1_free
    - bn_add
    - cp_mpsb_bct
    - pt_new
    - BENCH_DIV
    - cp_mpsb_gen
    - g1_new
    - g1_null
    - g2_new
    - BENCH_ADD
    linkageType: ''
    returnType: void
    signature: void bench_mpss(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/demo/cert-input/test-bench.c:445,1
    - Dst: core_clean
      Src: /src/relic/demo/cert-input/test-bench.c:446,1
    - Dst: conf_print
      Src: /src/relic/demo/cert-input/test-bench.c:450,1
    - Dst: util_banner
      Src: /src/relic/demo/cert-input/test-bench.c:452,1
    - Dst: pc_param_set_any
      Src: /src/relic/demo/cert-input/test-bench.c:455,1
    - Dst: util_banner
      Src: /src/relic/demo/cert-input/test-bench.c:457,1
    - Dst: test_pss
      Src: /src/relic/demo/cert-input/test-bench.c:458,1
    - Dst: test_mpss
      Src: /src/relic/demo/cert-input/test-bench.c:459,1
    - Dst: util_banner
      Src: /src/relic/demo/cert-input/test-bench.c:460,1
    - Dst: bench_pss
      Src: /src/relic/demo/cert-input/test-bench.c:461,1
    - Dst: bench_mpss
      Src: /src/relic/demo/cert-input/test-bench.c:462,1
    - Dst: RLC_THROW
      Src: /src/relic/demo/cert-input/test-bench.c:465,1
    - Dst: core_clean
      Src: /src/relic/demo/cert-input/test-bench.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 471
    functionName: main
    functionSourceFile: /src/relic/demo/cert-input/test-bench.c
    functionUses: 97
    functionsReached:
    - util_banner
    - core_clean
    - test_pss
    - bench_pss
    - bench_mpss
    - RLC_THROW
    - core_init
    - pc_param_set_any
    - conf_print
    - test_mpss
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/relic/demo/public-stats/csv.c:18,1
    - Dst: free
      Src: /src/relic/demo/public-stats/csv.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parsed
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: free_csv_line
    functionSourceFile: /src/relic/demo/public-stats/csv.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_csv_line( char **parsed )
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 57
    functionName: count_fields
    functionSourceFile: /src/relic/demo/public-stats/csv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count_fields( const char *line )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: count_fields
      Src: /src/relic/demo/public-stats/csv.c:69,1
    - Dst: malloc
      Src: /src/relic/demo/public-stats/csv.c:75,1
    - Dst: malloc
      Src: /src/relic/demo/public-stats/csv.c:81,1
    - Dst: strlen
      Src: /src/relic/demo/public-stats/csv.c:81,1
    - Dst: free
      Src: /src/relic/demo/public-stats/csv.c:84,1
    - Dst: strdup
      Src: /src/relic/demo/public-stats/csv.c:119,1
    - Dst: free
      Src: /src/relic/demo/public-stats/csv.c:123,1
    - Dst: free
      Src: /src/relic/demo/public-stats/csv.c:125,1
    - Dst: free
      Src: /src/relic/demo/public-stats/csv.c:126,1
    - Dst: free
      Src: /src/relic/demo/public-stats/csv.c:151,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 153
    functionName: parse_csv
    functionSourceFile: /src/relic/demo/public-stats/csv.c
    functionUses: 0
    functionsReached:
    - strlen
    - strdup
    - free
    - malloc
    - count_fields
    linkageType: ''
    returnType: char
    signature: char **parse_csv( const char *line )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/relic/demo/public-stats/main.c:108,1
    - Dst: sprintf
      Src: /src/relic/demo/public-stats/main.c:116,1
    - Dst: fgets
      Src: /src/relic/demo/public-stats/main.c:117,1
    - Dst: strstr
      Src: /src/relic/demo/public-stats/main.c:118,1
    - Dst: strstr
      Src: /src/relic/demo/public-stats/main.c:121,1
    - Dst: strcmp
      Src: /src/relic/demo/public-stats/main.c:127,1
    - Dst: strcmp
      Src: /src/relic/demo/public-stats/main.c:127,1
    - Dst: strcmp
      Src: /src/relic/demo/public-stats/main.c:128,1
    - Dst: strcmp
      Src: /src/relic/demo/public-stats/main.c:128,1
    - Dst: round
      Src: /src/relic/demo/public-stats/main.c:129,1
    - Dst: atof
      Src: /src/relic/demo/public-stats/main.c:129,1
    - Dst: strcmp
      Src: /src/relic/demo/public-stats/main.c:130,1
    - Dst: strcmp
      Src: /src/relic/demo/public-stats/main.c:134,1
    - Dst: strcmp
      Src: /src/relic/demo/public-stats/main.c:138,1
    - Dst: bn_set_dig
      Src: /src/relic/demo/public-stats/main.c:143,1
    - Dst: strdup
      Src: /src/relic/demo/public-stats/main.c:144,1
    - Dst: cp_mklhs_sig
      Src: /src/relic/demo/public-stats/main.c:145,1
    - Dst: free_csv_line
      Src: /src/relic/demo/public-stats/main.c:150,1
    - Dst: fclose
      Src: /src/relic/demo/public-stats/main.c:152,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 10
    argNames:
    - s
    - l
    - m
    - counter
    - metric
    - file
    - region
    - start
    - end
    - sk
    argTypes:
    - g1_t[]
    - char*[]
    - bn_t[]
    - int*
    - uint64_t[]
    - char*
    - int
    - char*
    - char*
    - bn_t
    constantsTouched: []
    func_position:
      end: 153
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 153
    functionName: read_region
    functionSourceFile: /src/relic/demo/public-stats/main.c
    functionUses: 0
    functionsReached:
    - strstr
    - round
    - atof
    - strdup
    - sprintf
    - fclose
    - strcmp
    - cp_mklhs_sig
    - fgets
    - bn_set_dig
    - fopen
    - free_csv_line
    linkageType: ''
    returnType: void
    signature: "void read_region(g1_t s[], char *l[], bn_t m[], int *counter,\n\t\tuint64_t
      metric[3], const char *file, int region, char *start,\n\t\tchar *end, bn_t sk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/demo/public-stats/main.c:172,1
    - Dst: core_clean
      Src: /src/relic/demo/public-stats/main.c:173,1
    - Dst: pc_param_set_any
      Src: /src/relic/demo/public-stats/main.c:177,1
    - Dst: bn_null
      Src: /src/relic/demo/public-stats/main.c:184,1
    - Dst: bn_new
      Src: /src/relic/demo/public-stats/main.c:185,1
    - Dst: g1_null
      Src: /src/relic/demo/public-stats/main.c:186,1
    - Dst: g1_new
      Src: /src/relic/demo/public-stats/main.c:187,1
    - Dst: g1_null
      Src: /src/relic/demo/public-stats/main.c:188,1
    - Dst: g1_new
      Src: /src/relic/demo/public-stats/main.c:189,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/demo/public-stats/main.c:191,1
    - Dst: bn_null
      Src: /src/relic/demo/public-stats/main.c:192,1
    - Dst: bn_new
      Src: /src/relic/demo/public-stats/main.c:193,1
    - Dst: bn_null
      Src: /src/relic/demo/public-stats/main.c:194,1
    - Dst: bn_new
      Src: /src/relic/demo/public-stats/main.c:195,1
    - Dst: g1_null
      Src: /src/relic/demo/public-stats/main.c:196,1
    - Dst: g1_new
      Src: /src/relic/demo/public-stats/main.c:197,1
    - Dst: g2_null
      Src: /src/relic/demo/public-stats/main.c:198,1
    - Dst: g2_new
      Src: /src/relic/demo/public-stats/main.c:199,1
    - Dst: cp_mklhs_gen
      Src: /src/relic/demo/public-stats/main.c:200,1
    - Dst: bn_null
      Src: /src/relic/demo/public-stats/main.c:203,1
    - Dst: bn_new
      Src: /src/relic/demo/public-stats/main.c:204,1
    - Dst: g1_null
      Src: /src/relic/demo/public-stats/main.c:205,1
    - Dst: g1_new
      Src: /src/relic/demo/public-stats/main.c:206,1
    - Dst: read_region
      Src: /src/relic/demo/public-stats/main.c:222,1
    - Dst: read_region
      Src: /src/relic/demo/public-stats/main.c:224,1
    - Dst: read_region
      Src: /src/relic/demo/public-stats/main.c:226,1
    - Dst: printf
      Src: /src/relic/demo/public-stats/main.c:236,1
    - Dst: printf
      Src: /src/relic/demo/public-stats/main.c:243,1
    - Dst: printf
      Src: /src/relic/demo/public-stats/main.c:245,1
    - Dst: printf
      Src: /src/relic/demo/public-stats/main.c:248,1
    - Dst: printf
      Src: /src/relic/demo/public-stats/main.c:250,1
    - Dst: util_banner
      Src: /src/relic/demo/public-stats/main.c:257,1
    - Dst: printf
      Src: /src/relic/demo/public-stats/main.c:259,1
    - Dst: printf
      Src: /src/relic/demo/public-stats/main.c:261,1
    - Dst: printf
      Src: /src/relic/demo/public-stats/main.c:263,1
    - Dst: printf
      Src: /src/relic/demo/public-stats/main.c:265,1
    - Dst: printf
      Src: /src/relic/demo/public-stats/main.c:266,1
    - Dst: util_banner
      Src: /src/relic/demo/public-stats/main.c:268,1
    - Dst: bn_zero
      Src: /src/relic/demo/public-stats/main.c:270,1
    - Dst: g1_set_infty
      Src: /src/relic/demo/public-stats/main.c:271,1
    - Dst: g1_set_infty
      Src: /src/relic/demo/public-stats/main.c:272,1
    - Dst: cp_mklhs_fun
      Src: /src/relic/demo/public-stats/main.c:285,1
    - Dst: cp_mklhs_evl
      Src: /src/relic/demo/public-stats/main.c:286,1
    - Dst: bn_add
      Src: /src/relic/demo/public-stats/main.c:287,1
    - Dst: g1_add
      Src: /src/relic/demo/public-stats/main.c:288,1
    - Dst: g1_norm
      Src: /src/relic/demo/public-stats/main.c:290,1
    - Dst: assert
      Src: /src/relic/demo/public-stats/main.c:291,1
    - Dst: cp_mklhs_ver
      Src: /src/relic/demo/public-stats/main.c:291,1
    - Dst: printf
      Src: /src/relic/demo/public-stats/main.c:294,1
    - Dst: bn_zero
      Src: /src/relic/demo/public-stats/main.c:296,1
    - Dst: g1_set_infty
      Src: /src/relic/demo/public-stats/main.c:297,1
    - Dst: g1_set_infty
      Src: /src/relic/demo/public-stats/main.c:298,1
    - Dst: cp_mklhs_fun
      Src: /src/relic/demo/public-stats/main.c:306,1
    - Dst: cp_mklhs_evl
      Src: /src/relic/demo/public-stats/main.c:307,1
    - Dst: bn_add
      Src: /src/relic/demo/public-stats/main.c:308,1
    - Dst: g1_add
      Src: /src/relic/demo/public-stats/main.c:309,1
    - Dst: g1_norm
      Src: /src/relic/demo/public-stats/main.c:311,1
    - Dst: printf
      Src: /src/relic/demo/public-stats/main.c:313,1
    - Dst: assert
      Src: /src/relic/demo/public-stats/main.c:315,1
    - Dst: cp_mklhs_ver
      Src: /src/relic/demo/public-stats/main.c:315,1
    - Dst: BENCH_ONE
      Src: /src/relic/demo/public-stats/main.c:318,1
    - Dst: cp_mklhs_ver
      Src: /src/relic/demo/public-stats/main.c:318,1
    - Dst: cp_mklhs_off
      Src: /src/relic/demo/public-stats/main.c:322,1
    - Dst: assert
      Src: /src/relic/demo/public-stats/main.c:324,1
    - Dst: cp_mklhs_onv
      Src: /src/relic/demo/public-stats/main.c:324,1
    - Dst: BENCH_ONE
      Src: /src/relic/demo/public-stats/main.c:325,1
    - Dst: cp_mklhs_onv
      Src: /src/relic/demo/public-stats/main.c:325,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 115
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 328
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 328
    functionName: main
    functionSourceFile: /src/relic/demo/public-stats/main.c
    functionUses: 97
    functionsReached:
    - util_banner
    - RLC_ALLOCA
    - g1_add
    - BENCH_ONE
    - cp_mklhs_off
    - g2_null
    - bn_null
    - assert
    - cp_mklhs_onv
    - pc_param_set_any
    - g1_norm
    - cp_mklhs_ver
    - core_clean
    - cp_mklhs_evl
    - core_init
    - bn_new
    - read_region
    - bn_add
    - cp_mklhs_gen
    - bn_zero
    - g1_set_infty
    - g1_new
    - g1_null
    - cp_mklhs_fun
    - g2_new
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/relic/demo/psi-client-server/sender.c:17,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/demo/psi-client-server/sender.c:24,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/demo/psi-client-server/sender.c:25,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/demo/psi-client-server/sender.c:26,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/demo/psi-client-server/sender.c:27,1
    - Dst: socket
      Src: /src/relic/demo/psi-client-server/sender.c:30,1
    - Dst: htons
      Src: /src/relic/demo/psi-client-server/sender.c:37,1
    - Dst: inet_addr
      Src: /src/relic/demo/psi-client-server/sender.c:40,1
    - Dst: memset
      Src: /src/relic/demo/psi-client-server/sender.c:41,1
    - Dst: core_init
      Src: /src/relic/demo/psi-client-server/sender.c:43,1
    - Dst: pc_param_set_any
      Src: /src/relic/demo/psi-client-server/sender.c:47,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/sender.c:51,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/sender.c:52,1
    - Dst: g1_null
      Src: /src/relic/demo/psi-client-server/sender.c:53,1
    - Dst: g1_new
      Src: /src/relic/demo/psi-client-server/sender.c:54,1
    - Dst: g2_null
      Src: /src/relic/demo/psi-client-server/sender.c:55,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/sender.c:56,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/sender.c:58,1
    - Dst: g1_null
      Src: /src/relic/demo/psi-client-server/sender.c:59,1
    - Dst: gt_null
      Src: /src/relic/demo/psi-client-server/sender.c:60,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/sender.c:61,1
    - Dst: g1_new
      Src: /src/relic/demo/psi-client-server/sender.c:62,1
    - Dst: gt_new
      Src: /src/relic/demo/psi-client-server/sender.c:63,1
    - Dst: g2_null
      Src: /src/relic/demo/psi-client-server/sender.c:66,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/sender.c:67,1
    - Dst: bn_read_str
      Src: /src/relic/demo/psi-client-server/sender.c:71,1
    - Dst: strlen
      Src: /src/relic/demo/psi-client-server/sender.c:71,1
    - Dst: g1_mul_gen
      Src: /src/relic/demo/psi-client-server/sender.c:72,1
    - Dst: g2_get_gen
      Src: /src/relic/demo/psi-client-server/sender.c:73,1
    - Dst: g2_mul
      Src: /src/relic/demo/psi-client-server/sender.c:75,1
    - Dst: pc_get_ord
      Src: /src/relic/demo/psi-client-server/sender.c:78,1
    - Dst: bn_set_dig
      Src: /src/relic/demo/psi-client-server/sender.c:79,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/psi-client-server/sender.c:81,1
    - Dst: connect
      Src: /src/relic/demo/psi-client-server/sender.c:86,1
    - Dst: recv
      Src: /src/relic/demo/psi-client-server/sender.c:89,1
    - Dst: strlen
      Src: /src/relic/demo/psi-client-server/sender.c:89,1
    - Dst: printf
      Src: /src/relic/demo/psi-client-server/sender.c:90,1
    - Dst: bench_reset
      Src: /src/relic/demo/psi-client-server/sender.c:93,1
    - Dst: bench_before
      Src: /src/relic/demo/psi-client-server/sender.c:94,1
    - Dst: recv
      Src: /src/relic/demo/psi-client-server/sender.c:97,1
    - Dst: printf
      Src: /src/relic/demo/psi-client-server/sender.c:98,1
    - Dst: g2_read_bin
      Src: /src/relic/demo/psi-client-server/sender.c:100,1
    - Dst: cp_pbpsi_ans
      Src: /src/relic/demo/psi-client-server/sender.c:102,1
    - Dst: gt_write_bin
      Src: /src/relic/demo/psi-client-server/sender.c:105,1
    - Dst: md_map
      Src: /src/relic/demo/psi-client-server/sender.c:106,1
    - Dst: g1_write_bin
      Src: /src/relic/demo/psi-client-server/sender.c:107,1
    - Dst: send
      Src: /src/relic/demo/psi-client-server/sender.c:108,1
    - Dst: printf
      Src: /src/relic/demo/psi-client-server/sender.c:109,1
    - Dst: bench_after
      Src: /src/relic/demo/psi-client-server/sender.c:113,1
    - Dst: bench_compute
      Src: /src/relic/demo/psi-client-server/sender.c:114,1
    - Dst: printf
      Src: /src/relic/demo/psi-client-server/sender.c:115,1
    - Dst: bench_print
      Src: /src/relic/demo/psi-client-server/sender.c:116,1
    - Dst: close
      Src: /src/relic/demo/psi-client-server/sender.c:119,1
    - Dst: bn_free
      Src: /src/relic/demo/psi-client-server/sender.c:121,1
    - Dst: g1_free
      Src: /src/relic/demo/psi-client-server/sender.c:122,1
    - Dst: bn_free
      Src: /src/relic/demo/psi-client-server/sender.c:124,1
    - Dst: g1_free
      Src: /src/relic/demo/psi-client-server/sender.c:125,1
    - Dst: gt_free
      Src: /src/relic/demo/psi-client-server/sender.c:126,1
    - Dst: g2_free
      Src: /src/relic/demo/psi-client-server/sender.c:129,1
    - Dst: core_clean
      Src: /src/relic/demo/psi-client-server/sender.c:131,1
    - Dst: RLC_FREE
      Src: /src/relic/demo/psi-client-server/sender.c:132,1
    - Dst: RLC_FREE
      Src: /src/relic/demo/psi-client-server/sender.c:133,1
    - Dst: RLC_FREE
      Src: /src/relic/demo/psi-client-server/sender.c:134,1
    - Dst: RLC_FREE
      Src: /src/relic/demo/psi-client-server/sender.c:135,1
    - Dst: pthread_exit
      Src: /src/relic/demo/psi-client-server/sender.c:137,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 87
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 138
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 138
    functionName: clientThread
    functionSourceFile: /src/relic/demo/psi-client-server/sender.c
    functionUses: 0
    functionsReached:
    - pthread_exit
    - cp_pbpsi_ans
    - memset
    - gt_free
    - gt_write_bin
    - bench_before
    - bn_set_dig
    - RLC_ALLOCA
    - connect
    - send
    - pc_get_ord
    - gt_new
    - g2_free
    - g2_null
    - bn_null
    - bn_read_str
    - g2_mul
    - bench_print
    - bench_after
    - pc_param_set_any
    - g1_write_bin
    - recv
    - gt_null
    - g2_read_bin
    - RLC_FREE
    - bn_free
    - strlen
    - core_clean
    - bench_reset
    - bn_rand_mod
    - core_init
    - bn_new
    - htons
    - g1_free
    - g2_get_gen
    - md_map
    - g1_mul_gen
    - close
    - socket
    - g1_new
    - g1_null
    - bench_compute
    - g2_new
    - printf
    - inet_addr
    linkageType: ''
    returnType: void
    signature: void *clientThread(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/relic/demo/psi-client-server/sender.c:144,1
    - Dst: printf
      Src: /src/relic/demo/psi-client-server/sender.c:145,1
    - Dst: pthread_join
      Src: /src/relic/demo/psi-client-server/sender.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: main
    functionSourceFile: /src/relic/demo/psi-client-server/sender.c
    functionUses: 97
    functionsReached:
    - pthread_create
    - printf
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/demo/psi-client-server/receiver.c:22,1
    - Dst: gt_new
      Src: /src/relic/demo/psi-client-server/receiver.c:25,1
    - Dst: pc_map
      Src: /src/relic/demo/psi-client-server/receiver.c:31,1
    - Dst: gt_write_bin
      Src: /src/relic/demo/psi-client-server/receiver.c:32,1
    - Dst: md_map
      Src: /src/relic/demo/psi-client-server/receiver.c:33,1
    - Dst: memcmp
      Src: /src/relic/demo/psi-client-server/receiver.c:34,1
    - Dst: gt_is_unity
      Src: /src/relic/demo/psi-client-server/receiver.c:35,1
    - Dst: bn_copy
      Src: /src/relic/demo/psi-client-server/receiver.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 8
    argNames:
    - z
    - len
    - d
    - x
    - m
    - t
    - u
    - n
    argTypes:
    - bn_t[]
    - int*
    - g2_t[]
    - bn_t[]
    - int
    - uint8_t*
    - g1_t[]
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 42
    functionName: cp_pbpsi_inth
    functionSourceFile: /src/relic/demo/psi-client-server/receiver.c
    functionUses: 0
    functionsReached:
    - gt_write_bin
    - pc_map
    - gt_is_unity
    - memcmp
    - md_map
    - gt_new
    - gt_null
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int cp_pbpsi_inth(bn_t z[], int *len, g2_t d[], bn_t x[], int m,\n\t\tuint8_t
      *t, g1_t u[], int n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/demo/psi-client-server/receiver.c:59,1
    - Dst: pc_param_set_any
      Src: /src/relic/demo/psi-client-server/receiver.c:63,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/demo/psi-client-server/receiver.c:67,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/demo/psi-client-server/receiver.c:68,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/demo/psi-client-server/receiver.c:69,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/receiver.c:73,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/receiver.c:74,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/receiver.c:76,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/receiver.c:77,1
    - Dst: g1_null
      Src: /src/relic/demo/psi-client-server/receiver.c:79,1
    - Dst: g1_new
      Src: /src/relic/demo/psi-client-server/receiver.c:80,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/receiver.c:83,1
    - Dst: g2_null
      Src: /src/relic/demo/psi-client-server/receiver.c:84,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/receiver.c:85,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/receiver.c:86,1
    - Dst: g2_null
      Src: /src/relic/demo/psi-client-server/receiver.c:88,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/receiver.c:89,1
    - Dst: pc_get_ord
      Src: /src/relic/demo/psi-client-server/receiver.c:93,1
    - Dst: bn_set_dig
      Src: /src/relic/demo/psi-client-server/receiver.c:94,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/psi-client-server/receiver.c:96,1
    - Dst: cp_pbpsi_ask
      Src: /src/relic/demo/psi-client-server/receiver.c:99,1
    - Dst: bench_reset
      Src: /src/relic/demo/psi-client-server/receiver.c:101,1
    - Dst: bench_before
      Src: /src/relic/demo/psi-client-server/receiver.c:102,1
    - Dst: send
      Src: /src/relic/demo/psi-client-server/receiver.c:104,1
    - Dst: strlen
      Src: /src/relic/demo/psi-client-server/receiver.c:104,1
    - Dst: g2_write_bin
      Src: /src/relic/demo/psi-client-server/receiver.c:107,1
    - Dst: send
      Src: /src/relic/demo/psi-client-server/receiver.c:108,1
    - Dst: recv
      Src: /src/relic/demo/psi-client-server/receiver.c:111,1
    - Dst: memcpy
      Src: /src/relic/demo/psi-client-server/receiver.c:112,1
    - Dst: g1_read_bin
      Src: /src/relic/demo/psi-client-server/receiver.c:113,1
    - Dst: cp_pbpsi_inth
      Src: /src/relic/demo/psi-client-server/receiver.c:116,1
    - Dst: printf
      Src: /src/relic/demo/psi-client-server/receiver.c:117,1
    - Dst: bench_after
      Src: /src/relic/demo/psi-client-server/receiver.c:119,1
    - Dst: bench_compute
      Src: /src/relic/demo/psi-client-server/receiver.c:120,1
    - Dst: printf
      Src: /src/relic/demo/psi-client-server/receiver.c:121,1
    - Dst: bench_print
      Src: /src/relic/demo/psi-client-server/receiver.c:122,1
    - Dst: close
      Src: /src/relic/demo/psi-client-server/receiver.c:125,1
    - Dst: bn_free
      Src: /src/relic/demo/psi-client-server/receiver.c:127,1
    - Dst: bn_free
      Src: /src/relic/demo/psi-client-server/receiver.c:128,1
    - Dst: g2_free
      Src: /src/relic/demo/psi-client-server/receiver.c:130,1
    - Dst: RLC_FREE
      Src: /src/relic/demo/psi-client-server/receiver.c:132,1
    - Dst: RLC_FREE
      Src: /src/relic/demo/psi-client-server/receiver.c:133,1
    - Dst: RLC_FREE
      Src: /src/relic/demo/psi-client-server/receiver.c:134,1
    - Dst: RLC_FREE
      Src: /src/relic/demo/psi-client-server/receiver.c:135,1
    - Dst: core_clean
      Src: /src/relic/demo/psi-client-server/receiver.c:136,1
    - Dst: pthread_exit
      Src: /src/relic/demo/psi-client-server/receiver.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 61
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 139
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 139
    functionName: socketThread
    functionSourceFile: /src/relic/demo/psi-client-server/receiver.c
    functionUses: 0
    functionsReached:
    - pthread_exit
    - g1_read_bin
    - bench_before
    - bn_set_dig
    - RLC_ALLOCA
    - send
    - pc_get_ord
    - g2_free
    - g2_null
    - bn_null
    - bench_print
    - bench_after
    - pc_param_set_any
    - recv
    - RLC_FREE
    - bn_free
    - strlen
    - g2_write_bin
    - core_clean
    - bench_reset
    - memcpy
    - bn_rand_mod
    - core_init
    - bn_new
    - cp_pbpsi_ask
    - close
    - g1_new
    - g1_null
    - cp_pbpsi_inth
    - bench_compute
    - g2_new
    - printf
    linkageType: ''
    returnType: void
    signature: void *socketThread(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/demo/psi-client-server/receiver.c:147,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/receiver.c:149,1
    - Dst: g1_new
      Src: /src/relic/demo/psi-client-server/receiver.c:150,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/demo/psi-client-server/receiver.c:151,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/receiver.c:153,1
    - Dst: pc_param_set_any
      Src: /src/relic/demo/psi-client-server/receiver.c:156,1
    - Dst: bn_read_str
      Src: /src/relic/demo/psi-client-server/receiver.c:158,1
    - Dst: strlen
      Src: /src/relic/demo/psi-client-server/receiver.c:158,1
    - Dst: g1_mul_gen
      Src: /src/relic/demo/psi-client-server/receiver.c:159,1
    - Dst: g2_get_gen
      Src: /src/relic/demo/psi-client-server/receiver.c:160,1
    - Dst: g2_mul
      Src: /src/relic/demo/psi-client-server/receiver.c:162,1
    - Dst: socket
      Src: /src/relic/demo/psi-client-server/receiver.c:166,1
    - Dst: htons
      Src: /src/relic/demo/psi-client-server/receiver.c:173,1
    - Dst: inet_addr
      Src: /src/relic/demo/psi-client-server/receiver.c:176,1
    - Dst: memset
      Src: /src/relic/demo/psi-client-server/receiver.c:179,1
    - Dst: bind
      Src: /src/relic/demo/psi-client-server/receiver.c:182,1
    - Dst: listen
      Src: /src/relic/demo/psi-client-server/receiver.c:185,1
    - Dst: printf
      Src: /src/relic/demo/psi-client-server/receiver.c:186,1
    - Dst: printf
      Src: /src/relic/demo/psi-client-server/receiver.c:188,1
    - Dst: accept
      Src: /src/relic/demo/psi-client-server/receiver.c:197,1
    - Dst: pthread_create
      Src: /src/relic/demo/psi-client-server/receiver.c:202,1
    - Dst: printf
      Src: /src/relic/demo/psi-client-server/receiver.c:203,1
    - Dst: pthread_join
      Src: /src/relic/demo/psi-client-server/receiver.c:209,1
    - Dst: bn_free
      Src: /src/relic/demo/psi-client-server/receiver.c:215,1
    - Dst: g1_free
      Src: /src/relic/demo/psi-client-server/receiver.c:216,1
    - Dst: g2_free
      Src: /src/relic/demo/psi-client-server/receiver.c:218,1
    - Dst: RLC_FREE
      Src: /src/relic/demo/psi-client-server/receiver.c:220,1
    - Dst: core_clean
      Src: /src/relic/demo/psi-client-server/receiver.c:221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 223
    functionName: main
    functionSourceFile: /src/relic/demo/psi-client-server/receiver.c
    functionUses: 97
    functionsReached:
    - memset
    - RLC_ALLOCA
    - g2_free
    - g2_mul
    - bn_read_str
    - accept
    - pc_param_set_any
    - bind
    - pthread_create
    - RLC_FREE
    - bn_free
    - strlen
    - core_clean
    - core_init
    - bn_new
    - htons
    - g1_free
    - g2_get_gen
    - g1_mul_gen
    - socket
    - pthread_join
    - g1_new
    - g2_new
    - listen
    - printf
    - inet_addr
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:19,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:20,1
    - Dst: g1_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:21,1
    - Dst: crt_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:22,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:25,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:26,1
    - Dst: g1_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:27,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:29,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:30,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:31,1
    - Dst: g2_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:32,1
    - Dst: g2_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:33,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:34,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:35,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:36,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:37,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:38,1
    - Dst: g2_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:40,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:41,1
    - Dst: g2_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:42,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:43,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:45,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:46,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:47,1
    - Dst: g1_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:48,1
    - Dst: gt_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:49,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:50,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:51,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:52,1
    - Dst: g1_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:53,1
    - Dst: gt_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:54,1
    - Dst: TEST_CASE
      Src: /src/relic/demo/psi-client-server/test-bench.c:57,1
    - Dst: pc_get_ord
      Src: /src/relic/demo/psi-client-server/test-bench.c:58,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/psi-client-server/test-bench.c:60,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/psi-client-server/test-bench.c:63,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/psi-client-server/test-bench.c:65,1
    - Dst: cp_pbpsi_gen
      Src: /src/relic/demo/psi-client-server/test-bench.c:65,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/psi-client-server/test-bench.c:66,1
    - Dst: cp_pbpsi_ask
      Src: /src/relic/demo/psi-client-server/test-bench.c:66,1
    - Dst: bn_copy
      Src: /src/relic/demo/psi-client-server/test-bench.c:69,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/psi-client-server/test-bench.c:71,1
    - Dst: cp_pbpsi_ans
      Src: /src/relic/demo/psi-client-server/test-bench.c:71,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/psi-client-server/test-bench.c:72,1
    - Dst: cp_pbpsi_int
      Src: /src/relic/demo/psi-client-server/test-bench.c:72,1
    - Dst: TEST_ASSERT
      Src: /src/relic/demo/psi-client-server/test-bench.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 76
    functionName: test
    functionSourceFile: /src/relic/demo/psi-client-server/test-bench.c
    functionUses: 32
    functionsReached:
    - cp_pbpsi_ask
    - g2_null
    - cp_pbpsi_gen
    - bn_null
    - TEST_CASE
    - cp_pbpsi_ans
    - cp_pbpsi_int
    - TEST_ASSERT
    - crt_null
    - bn_rand_mod
    - g1_new
    - g1_null
    - bn_new
    - g2_new
    - pc_get_ord
    - gt_new
    - gt_null
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:117,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:118,1
    - Dst: g1_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:119,1
    - Dst: crt_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:120,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:122,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:123,1
    - Dst: g1_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:124,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:126,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:127,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:128,1
    - Dst: g2_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:129,1
    - Dst: g2_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:130,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:131,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:132,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:133,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:134,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:135,1
    - Dst: g2_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:137,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:138,1
    - Dst: g2_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:139,1
    - Dst: g2_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:140,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:142,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:143,1
    - Dst: bn_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:144,1
    - Dst: g1_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:145,1
    - Dst: gt_null
      Src: /src/relic/demo/psi-client-server/test-bench.c:146,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:147,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:148,1
    - Dst: bn_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:149,1
    - Dst: g1_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:150,1
    - Dst: gt_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:151,1
    - Dst: crt_new
      Src: /src/relic/demo/psi-client-server/test-bench.c:153,1
    - Dst: pc_get_ord
      Src: /src/relic/demo/psi-client-server/test-bench.c:155,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/psi-client-server/test-bench.c:157,1
    - Dst: bn_rand_mod
      Src: /src/relic/demo/psi-client-server/test-bench.c:160,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/psi-client-server/test-bench.c:163,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/psi-client-server/test-bench.c:164,1
    - Dst: cp_pbpsi_gen
      Src: /src/relic/demo/psi-client-server/test-bench.c:164,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/psi-client-server/test-bench.c:167,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/psi-client-server/test-bench.c:168,1
    - Dst: cp_pbpsi_ask
      Src: /src/relic/demo/psi-client-server/test-bench.c:168,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/psi-client-server/test-bench.c:171,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/psi-client-server/test-bench.c:172,1
    - Dst: cp_pbpsi_ans
      Src: /src/relic/demo/psi-client-server/test-bench.c:172,1
    - Dst: BENCH_RUN
      Src: /src/relic/demo/psi-client-server/test-bench.c:175,1
    - Dst: BENCH_ADD
      Src: /src/relic/demo/psi-client-server/test-bench.c:176,1
    - Dst: cp_pbpsi_int
      Src: /src/relic/demo/psi-client-server/test-bench.c:176,1
    - Dst: bn_free
      Src: /src/relic/demo/psi-client-server/test-bench.c:179,1
    - Dst: bn_free
      Src: /src/relic/demo/psi-client-server/test-bench.c:180,1
    - Dst: g1_free
      Src: /src/relic/demo/psi-client-server/test-bench.c:181,1
    - Dst: bn_free
      Src: /src/relic/demo/psi-client-server/test-bench.c:183,1
    - Dst: bn_free
      Src: /src/relic/demo/psi-client-server/test-bench.c:184,1
    - Dst: g2_free
      Src: /src/relic/demo/psi-client-server/test-bench.c:185,1
    - Dst: g2_free
      Src: /src/relic/demo/psi-client-server/test-bench.c:186,1
    - Dst: g2_free
      Src: /src/relic/demo/psi-client-server/test-bench.c:188,1
    - Dst: g2_free
      Src: /src/relic/demo/psi-client-server/test-bench.c:189,1
    - Dst: bn_free
      Src: /src/relic/demo/psi-client-server/test-bench.c:191,1
    - Dst: g1_free
      Src: /src/relic/demo/psi-client-server/test-bench.c:192,1
    - Dst: gt_free
      Src: /src/relic/demo/psi-client-server/test-bench.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 195
    functionName: bench
    functionSourceFile: /src/relic/demo/psi-client-server/test-bench.c
    functionUses: 0
    functionsReached:
    - cp_pbpsi_ans
    - cp_pbpsi_int
    - gt_free
    - pc_get_ord
    - gt_new
    - g2_free
    - BENCH_RUN
    - g2_null
    - bn_null
    - crt_new
    - gt_null
    - bn_free
    - bn_rand_mod
    - bn_new
    - g1_free
    - cp_pbpsi_ask
    - cp_pbpsi_gen
    - crt_null
    - g1_new
    - g1_null
    - g2_new
    - BENCH_ADD
    linkageType: ''
    returnType: void
    signature: void bench(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/demo/psi-client-server/test-bench.c:199,1
    - Dst: pc_param_set_any
      Src: /src/relic/demo/psi-client-server/test-bench.c:200,1
    - Dst: test
      Src: /src/relic/demo/psi-client-server/test-bench.c:201,1
    - Dst: core_clean
      Src: /src/relic/demo/psi-client-server/test-bench.c:202,1
    - Dst: bench
      Src: /src/relic/demo/psi-client-server/test-bench.c:206,1
    - Dst: core_clean
      Src: /src/relic/demo/psi-client-server/test-bench.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: main
    functionSourceFile: /src/relic/demo/psi-client-server/test-bench.c
    functionUses: 97
    functionsReached:
    - core_clean
    - core_init
    - pc_param_set_any
    - test
    - bench
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/demo/general-paillier/test.c:12,1
    - Dst: bn_null
      Src: /src/relic/demo/general-paillier/test.c:13,1
    - Dst: bn_null
      Src: /src/relic/demo/general-paillier/test.c:14,1
    - Dst: bn_null
      Src: /src/relic/demo/general-paillier/test.c:15,1
    - Dst: bn_null
      Src: /src/relic/demo/general-paillier/test.c:17,1
    - Dst: bn_null
      Src: /src/relic/demo/general-paillier/test.c:18,1
    - Dst: bn_new
      Src: /src/relic/demo/general-paillier/test.c:21,1
    - Dst: bn_new
      Src: /src/relic/demo/general-paillier/test.c:22,1
    - Dst: bn_new
      Src: /src/relic/demo/general-paillier/test.c:23,1
    - Dst: bn_new
      Src: /src/relic/demo/general-paillier/test.c:24,1
    - Dst: bn_new
      Src: /src/relic/demo/general-paillier/test.c:26,1
    - Dst: bn_new
      Src: /src/relic/demo/general-paillier/test.c:27,1
    - Dst: cp_ghpe_gen
      Src: /src/relic/demo/general-paillier/test.c:30,1
    - Dst: assert
      Src: /src/relic/demo/general-paillier/test.c:31,1
    - Dst: printf
      Src: /src/relic/demo/general-paillier/test.c:33,1
    - Dst: bn_print
      Src: /src/relic/demo/general-paillier/test.c:34,1
    - Dst: printf
      Src: /src/relic/demo/general-paillier/test.c:35,1
    - Dst: bn_print
      Src: /src/relic/demo/general-paillier/test.c:36,1
    - Dst: util_print
      Src: /src/relic/demo/general-paillier/test.c:39,1
    - Dst: bn_rand
      Src: /src/relic/demo/general-paillier/test.c:41,1
    - Dst: bn_bits
      Src: /src/relic/demo/general-paillier/test.c:41,1
    - Dst: assert
      Src: /src/relic/demo/general-paillier/test.c:43,1
    - Dst: cp_ghpe_enc
      Src: /src/relic/demo/general-paillier/test.c:43,1
    - Dst: assert
      Src: /src/relic/demo/general-paillier/test.c:44,1
    - Dst: cp_ghpe_dec
      Src: /src/relic/demo/general-paillier/test.c:44,1
    - Dst: assert
      Src: /src/relic/demo/general-paillier/test.c:45,1
    - Dst: bn_cmp
      Src: /src/relic/demo/general-paillier/test.c:45,1
    - Dst: bn_rand
      Src: /src/relic/demo/general-paillier/test.c:48,1
    - Dst: bn_bits
      Src: /src/relic/demo/general-paillier/test.c:48,1
    - Dst: bn_rand
      Src: /src/relic/demo/general-paillier/test.c:49,1
    - Dst: bn_bits
      Src: /src/relic/demo/general-paillier/test.c:49,1
    - Dst: assert
      Src: /src/relic/demo/general-paillier/test.c:51,1
    - Dst: cp_ghpe_enc
      Src: /src/relic/demo/general-paillier/test.c:51,1
    - Dst: assert
      Src: /src/relic/demo/general-paillier/test.c:52,1
    - Dst: cp_ghpe_enc
      Src: /src/relic/demo/general-paillier/test.c:52,1
    - Dst: bn_mul
      Src: /src/relic/demo/general-paillier/test.c:55,1
    - Dst: bn_sqr
      Src: /src/relic/demo/general-paillier/test.c:56,1
    - Dst: bn_mul
      Src: /src/relic/demo/general-paillier/test.c:58,1
    - Dst: bn_mod
      Src: /src/relic/demo/general-paillier/test.c:60,1
    - Dst: assert
      Src: /src/relic/demo/general-paillier/test.c:62,1
    - Dst: cp_ghpe_dec
      Src: /src/relic/demo/general-paillier/test.c:62,1
    - Dst: bn_add
      Src: /src/relic/demo/general-paillier/test.c:63,1
    - Dst: bn_copy
      Src: /src/relic/demo/general-paillier/test.c:64,1
    - Dst: bn_mul
      Src: /src/relic/demo/general-paillier/test.c:66,1
    - Dst: bn_mod
      Src: /src/relic/demo/general-paillier/test.c:68,1
    - Dst: assert
      Src: /src/relic/demo/general-paillier/test.c:69,1
    - Dst: bn_cmp
      Src: /src/relic/demo/general-paillier/test.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 71
    functionName: paillier
    functionSourceFile: /src/relic/demo/general-paillier/test.c
    functionUses: 1
    functionsReached:
    - bn_print
    - cp_ghpe_enc
    - bn_mul
    - bn_null
    - util_print
    - cp_ghpe_dec
    - bn_sqr
    - bn_mod
    - assert
    - bn_cmp
    - cp_ghpe_gen
    - bn_new
    - bn_bits
    - bn_rand
    - bn_add
    - printf
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int paillier(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_init
      Src: /src/relic/demo/general-paillier/test.c:89,1
    - Dst: paillier
      Src: /src/relic/demo/general-paillier/test.c:90,1
    - Dst: core_clean
      Src: /src/relic/demo/general-paillier/test.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/relic/demo/general-paillier/test.c
    functionUses: 97
    functionsReached:
    - core_init
    - core_clean
    - paillier
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arch_init
      Src: /src/relic/src/relic_core.c:124,1
    - Dst: rand_init
      Src: /src/relic/src/relic_core.c:125,1
    - Dst: bench_init
      Src: /src/relic/src/relic_core.c:128,1
    - Dst: fp_prime_init
      Src: /src/relic/src/relic_core.c:132,1
    - Dst: fb_poly_init
      Src: /src/relic/src/relic_core.c:135,1
    - Dst: ep_curve_init
      Src: /src/relic/src/relic_core.c:138,1
    - Dst: eb_curve_init
      Src: /src/relic/src/relic_core.c:141,1
    - Dst: ed_curve_init
      Src: /src/relic/src/relic_core.c:144,1
    - Dst: pp_map_init
      Src: /src/relic/src/relic_core.c:147,1
    - Dst: pc_core_init
      Src: /src/relic/src/relic_core.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 152
    functionName: core_init
    functionSourceFile: /src/relic/src/relic_core.c
    functionUses: 34
    functionsReached:
    - ed_curve_init
    - arch_init
    - fp_prime_init
    - fb_poly_init
    - pp_map_init
    - bench_init
    - ep_curve_init
    - eb_curve_init
    - pc_core_init
    - rand_init
    linkageType: ''
    returnType: int
    signature: int core_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_prime_clean
      Src: /src/relic/src/relic_core.c:161,1
    - Dst: fb_poly_clean
      Src: /src/relic/src/relic_core.c:164,1
    - Dst: ep_curve_clean
      Src: /src/relic/src/relic_core.c:167,1
    - Dst: eb_curve_clean
      Src: /src/relic/src/relic_core.c:170,1
    - Dst: ed_curve_clean
      Src: /src/relic/src/relic_core.c:173,1
    - Dst: pp_map_clean
      Src: /src/relic/src/relic_core.c:176,1
    - Dst: pc_core_clean
      Src: /src/relic/src/relic_core.c:179,1
    - Dst: bench_clean
      Src: /src/relic/src/relic_core.c:183,1
    - Dst: arch_clean
      Src: /src/relic/src/relic_core.c:186,1
    - Dst: rand_clean
      Src: /src/relic/src/relic_core.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 195
    functionName: core_clean
    functionSourceFile: /src/relic/src/relic_core.c
    functionUses: 38
    functionsReached:
    - pc_core_clean
    - eb_curve_clean
    - rand_clean
    - fb_poly_clean
    - fp_prime_clean
    - pp_map_clean
    - bench_clean
    - ed_curve_clean
    - arch_clean
    - ep_curve_clean
    linkageType: ''
    returnType: int
    signature: int core_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_thread_initializer
      Src: /src/relic/src/relic_core.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: core_get
    functionSourceFile: /src/relic/src/relic_core.c
    functionUses: 6
    functionsReached:
    - core_thread_initializer
    linkageType: ''
    returnType: ctx_t
    signature: ctx_t *core_get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ctx_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: core_set
    functionSourceFile: /src/relic/src/relic_core.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void core_set(ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - init_ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: core_set_thread_initializer
    functionSourceFile: /src/relic/src/relic_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void core_set_thread_initializer(void(*init)(void *init_ptr), void*
      init_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:64,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:66,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:68,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:72,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:74,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:76,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:78,1
    - Dst: QUOTE
      Src: /src/relic/src/relic_conf.c:78,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:82,1
    - Dst: QUOTE
      Src: /src/relic/src/relic_conf.c:82,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:86,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:87,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:89,1
    - Dst: bench_overhead
      Src: /src/relic/src/relic_conf.c:90,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:92,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:96,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:97,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:98,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:102,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:103,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:104,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:108,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:109,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:113,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:114,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:118,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:119,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:123,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:124,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:125,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:129,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:130,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:134,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:135,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:139,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:140,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:144,1
    - Dst: util_print
      Src: /src/relic/src/relic_conf.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 149
    functionName: conf_print
    functionSourceFile: /src/relic/src/relic_conf.c
    functionUses: 2
    functionsReached:
    - QUOTE
    - bench_overhead
    - util_print
    linkageType: ''
    returnType: void
    signature: void conf_print(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/relic/src/relic_test.c:88,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/relic/src/relic_test.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: cache_default_color
    functionSourceFile: /src/relic/src/relic_test.c
    functionUses: 0
    functionsReached:
    - GetStdHandle
    - GetConsoleScreenBufferInfo
    linkageType: ''
    returnType: void
    signature: void cache_default_color(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cache_default_color
      Src: /src/relic/src/relic_test.c:98,1
    - Dst: GetStdHandle
      Src: /src/relic/src/relic_test.c:101,1
    - Dst: SetConsoleTextAttribute
      Src: /src/relic/src/relic_test.c:102,1
    - Dst: util_print
      Src: /src/relic/src/relic_test.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: fail_font
    functionSourceFile: /src/relic/src/relic_test.c
    functionUses: 0
    functionsReached:
    - GetStdHandle
    - cache_default_color
    - SetConsoleTextAttribute
    - util_print
    linkageType: ''
    returnType: void
    signature: void fail_font(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cache_default_color
      Src: /src/relic/src/relic_test.c:113,1
    - Dst: GetStdHandle
      Src: /src/relic/src/relic_test.c:116,1
    - Dst: SetConsoleTextAttribute
      Src: /src/relic/src/relic_test.c:117,1
    - Dst: util_print
      Src: /src/relic/src/relic_test.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: pass_font
    functionSourceFile: /src/relic/src/relic_test.c
    functionUses: 0
    functionsReached:
    - GetStdHandle
    - cache_default_color
    - SetConsoleTextAttribute
    - util_print
    linkageType: ''
    returnType: void
    signature: void pass_font(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/relic/src/relic_test.c:130,1
    - Dst: SetConsoleTextAttribute
      Src: /src/relic/src/relic_test.c:131,1
    - Dst: util_print
      Src: /src/relic/src/relic_test.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: reset_font
    functionSourceFile: /src/relic/src/relic_test.c
    functionUses: 0
    functionsReached:
    - GetStdHandle
    - SetConsoleTextAttribute
    - util_print
    linkageType: ''
    returnType: void
    signature: void reset_font(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail_font
      Src: /src/relic/src/relic_test.c:143,1
    - Dst: util_print
      Src: /src/relic/src/relic_test.c:144,1
    - Dst: reset_font
      Src: /src/relic/src/relic_test.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: test_fail
    functionSourceFile: /src/relic/src/relic_test.c
    functionUses: 0
    functionsReached:
    - fail_font
    - reset_font
    - util_print
    linkageType: ''
    returnType: void
    signature: void test_fail(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pass_font
      Src: /src/relic/src/relic_test.c:149,1
    - Dst: util_print
      Src: /src/relic/src/relic_test.c:150,1
    - Dst: reset_font
      Src: /src/relic/src/relic_test.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: test_pass
    functionSourceFile: /src/relic/src/relic_test.c
    functionUses: 0
    functionsReached:
    - pass_font
    - reset_font
    - util_print
    linkageType: ''
    returnType: void
    signature: void test_pass(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: empty
    functionSourceFile: /src/relic/src/relic_bench.c
    functionUses: 771
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void empty(int *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:84,1
    - Dst: bench_reset
      Src: /src/relic/src/relic_bench.c:91,1
    - Dst: bench_before
      Src: /src/relic/src/relic_bench.c:93,1
    - Dst: empty
      Src: /src/relic/src/relic_bench.c:97,1
    - Dst: bench_after
      Src: /src/relic/src/relic_bench.c:100,1
    - Dst: bench_reset
      Src: /src/relic/src/relic_bench.c:105,1
    - Dst: bench_before
      Src: /src/relic/src/relic_bench.c:107,1
    - Dst: empty
      Src: /src/relic/src/relic_bench.c:112,1
    - Dst: bench_after
      Src: /src/relic/src/relic_bench.c:116,1
    - Dst: bench_print
      Src: /src/relic/src/relic_bench.c:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 127
    functionName: bench_overhead
    functionSourceFile: /src/relic/src/relic_bench.c
    functionUses: 1
    functionsReached:
    - bench_reset
    - empty
    - bench_print
    - bench_after
    - bench_before
    - core_get
    linkageType: ''
    returnType: void
    signature: void bench_overhead(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:132,1
    - Dst: syscall
      Src: /src/relic/src/relic_bench.c:144,1
    - Dst: mmap
      Src: /src/relic/src/relic_bench.c:146,1
    - Dst: sysconf
      Src: /src/relic/src/relic_bench.c:146,1
    - Dst: RLC_THROW
      Src: /src/relic/src/relic_bench.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 153
    functionName: bench_init
    functionSourceFile: /src/relic/src/relic_bench.c
    functionUses: 1
    functionsReached:
    - RLC_THROW
    - mmap
    - sysconf
    - syscall
    - core_get
    linkageType: ''
    returnType: void
    signature: void bench_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: bench_reset
    functionSourceFile: /src/relic/src/relic_bench.c
    functionUses: 6
    functionsReached:
    - core_get
    linkageType: ''
    returnType: void
    signature: void bench_reset(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:163,1
    - Dst: micros
      Src: /src/relic/src/relic_bench.c:163,1
    - Dst: clock_gettime
      Src: /src/relic/src/relic_bench.c:165,1
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:165,1
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:167,1
    - Dst: clock
      Src: /src/relic/src/relic_bench.c:167,1
    - Dst: gettimeofday
      Src: /src/relic/src/relic_bench.c:169,1
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:169,1
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:171,1
    - Dst: arch_cycles
      Src: /src/relic/src/relic_bench.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: bench_before
    functionSourceFile: /src/relic/src/relic_bench.c
    functionUses: 6
    functionsReached:
    - clock
    - gettimeofday
    - micros
    - arch_cycles
    - clock_gettime
    - core_get
    linkageType: ''
    returnType: void
    signature: void bench_before(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:176,1
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:180,1
    - Dst: micros
      Src: /src/relic/src/relic_bench.c:180,1
    - Dst: clock_gettime
      Src: /src/relic/src/relic_bench.c:183,1
    - Dst: clock
      Src: /src/relic/src/relic_bench.c:187,1
    - Dst: gettimeofday
      Src: /src/relic/src/relic_bench.c:190,1
    - Dst: arch_cycles
      Src: /src/relic/src/relic_bench.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 204
    functionName: bench_after
    functionSourceFile: /src/relic/src/relic_bench.c
    functionUses: 6
    functionsReached:
    - clock
    - gettimeofday
    - micros
    - arch_cycles
    - clock_gettime
    - core_get
    linkageType: ''
    returnType: void
    signature: void bench_after(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - benches
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: bench_compute
    functionSourceFile: /src/relic/src/relic_bench.c
    functionUses: 5
    functionsReached:
    - core_get
    linkageType: ''
    returnType: void
    signature: void bench_compute(int benches)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:220,1
    - Dst: util_print
      Src: /src/relic/src/relic_bench.c:223,1
    - Dst: util_print
      Src: /src/relic/src/relic_bench.c:225,1
    - Dst: util_print
      Src: /src/relic/src/relic_bench.c:227,1
    - Dst: util_print
      Src: /src/relic/src/relic_bench.c:230,1
    - Dst: util_print
      Src: /src/relic/src/relic_bench.c:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: bench_print
    functionSourceFile: /src/relic/src/relic_bench.c
    functionUses: 3
    functionsReached:
    - core_get
    - util_print
    linkageType: ''
    returnType: void
    signature: void bench_print(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: bench_total
    functionSourceFile: /src/relic/src/relic_bench.c
    functionUses: 3
    functionsReached:
    - core_get
    linkageType: ''
    returnType: ull_t
    signature: ull_t bench_total(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/relic_bench.c:242,1
    - Dst: close
      Src: /src/relic/src/relic_bench.c:244,1
    - Dst: munmap
      Src: /src/relic/src/relic_bench.c:245,1
    - Dst: sysconf
      Src: /src/relic/src/relic_bench.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: bench_clean
    functionSourceFile: /src/relic/src/relic_bench.c
    functionUses: 1
    functionsReached:
    - munmap
    - close
    - core_get
    - sysconf
    linkageType: ''
    returnType: void
    signature: void bench_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/relic/src/relic_err.c:53,1
    - Dst: core_get
      Src: /src/relic/src/relic_err.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: err_simple_msg
    functionSourceFile: /src/relic/src/relic_err.c
    functionUses: 0
    functionsReached:
    - fprintf
    - core_get
    linkageType: ''
    returnType: void
    signature: void err_simple_msg(int error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/relic_err.c:61,1
    - Dst: fprintf
      Src: /src/relic/src/relic_err.c:64,1
    - Dst: fprintf
      Src: /src/relic/src/relic_err.c:66,1
    - Dst: fprintf
      Src: /src/relic/src/relic_err.c:75,1
    - Dst: backtrace
      Src: /src/relic/src/relic_err.c:76,1
    - Dst: backtrace_symbols
      Src: /src/relic/src/relic_err.c:77,1
    - Dst: fprintf
      Src: /src/relic/src/relic_err.c:83,1
    - Dst: free
      Src: /src/relic/src/relic_err.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - function
    - file
    - line
    - error
    argTypes:
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 88
    functionName: err_full_msg
    functionSourceFile: /src/relic/src/relic_err.c
    functionUses: 0
    functionsReached:
    - backtrace
    - free
    - backtrace_symbols
    - fprintf
    - core_get
    linkageType: ''
    returnType: void
    signature: "void err_full_msg(const char *function, const char *file, int line,\n\t\tint
      error)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/relic_err.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - e
    - msg
    argTypes:
    - err_t*
    - char**
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: err_get_msg
    functionSourceFile: /src/relic/src/relic_err.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: void
    signature: void err_get_msg(err_t *e, char **msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/relic_err.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: err_get_code
    functionSourceFile: /src/relic/src/relic_err.c
    functionUses: 4
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int err_get_code(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uart_putchar
      Src: /src/relic/src/relic_util.c:65,1
    - Dst: loop_until_bit_is_set
      Src: /src/relic/src/relic_util.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - stream
    argTypes:
    - char
    - FILE*
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: uart_putchar
    functionSourceFile: /src/relic/src/relic_util.c
    functionUses: 1
    functionsReached:
    - uart_putchar
    - loop_until_bit_is_set
    linkageType: ''
    returnType: void
    signature: void uart_putchar(char c, FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: util_conv_endian
    functionSourceFile: /src/relic/src/relic_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t util_conv_endian(uint32_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util_conv_endian
      Src: /src/relic/src/relic_util.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: util_conv_big
    functionSourceFile: /src/relic/src/relic_util.c
    functionUses: 0
    functionsReached:
    - util_conv_endian
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t util_conv_big(uint32_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util_conv_endian
      Src: /src/relic/src/relic_util.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: util_conv_little
    functionSourceFile: /src/relic/src/relic_util.c
    functionUses: 0
    functionsReached:
    - util_conv_endian
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t util_conv_little(uint32_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - i
    argTypes:
    - dig_t
    constantsTouched: []
    func_position:
      end: 135
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 135
    functionName: util_conv_char
    functionSourceFile: /src/relic/src/relic_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char util_conv_char(dig_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arch_lzcnt
      Src: /src/relic/src/relic_util.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - dig_t
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: util_bits_dig
    functionSourceFile: /src/relic/src/relic_util.c
    functionUses: 1
    functionsReached:
    - arch_lzcnt
    linkageType: ''
    returnType: size_t
    signature: size_t util_bits_dig(dig_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: util_cmp_sec
    functionSourceFile: /src/relic/src/relic_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int util_cmp_sec(const void *a, const void *b, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand_bytes
      Src: /src/relic/src/relic_util.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uint_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: util_perm
    functionSourceFile: /src/relic/src/relic_util.c
    functionUses: 0
    functionsReached:
    - rand_bytes
    linkageType: ''
    returnType: void
    signature: void util_perm(uint_t p[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/relic/src/relic_util.c:170,1
    - Dst: vsnprintf_P
      Src: /src/relic/src/relic_util.c:171,1
    - Dst: va_end
      Src: /src/relic/src/relic_util.c:172,1
    - Dst: va_start
      Src: /src/relic/src/relic_util.c:177,1
    - Dst: vsnprintf_P
      Src: /src/relic/src/relic_util.c:178,1
    - Dst: printf
      Src: /src/relic/src/relic_util.c:179,1
    - Dst: va_end
      Src: /src/relic/src/relic_util.c:180,1
    - Dst: va_start
      Src: /src/relic/src/relic_util.c:183,1
    - Dst: vprintf
      Src: /src/relic/src/relic_util.c:184,1
    - Dst: va_end
      Src: /src/relic/src/relic_util.c:185,1
    - Dst: va_start
      Src: /src/relic/src/relic_util.c:188,1
    - Dst: __android_log_vprint
      Src: /src/relic/src/relic_util.c:189,1
    - Dst: va_end
      Src: /src/relic/src/relic_util.c:190,1
    - Dst: va_start
      Src: /src/relic/src/relic_util.c:193,1
    - Dst: vprintf
      Src: /src/relic/src/relic_util.c:194,1
    - Dst: fflush
      Src: /src/relic/src/relic_util.c:195,1
    - Dst: va_end
      Src: /src/relic/src/relic_util.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 198
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 198
    functionName: util_print
    functionSourceFile: /src/relic/src/relic_util.c
    functionUses: 42
    functionsReached:
    - fflush
    - __android_log_vprint
    - va_end
    - vsnprintf_P
    - vprintf
    - printf
    - va_start
    linkageType: ''
    returnType: void
    signature: void util_print(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util_print
      Src: /src/relic/src/relic_util.c:204,1
    - Dst: util_print
      Src: /src/relic/src/relic_util.c:206,1
    - Dst: util_print
      Src: /src/relic/src/relic_util.c:210,1
    - Dst: util_print
      Src: /src/relic/src/relic_util.c:212,1
    - Dst: util_print
      Src: /src/relic/src/relic_util.c:216,1
    - Dst: util_print
      Src: /src/relic/src/relic_util.c:218,1
    - Dst: util_print
      Src: /src/relic/src/relic_util.c:222,1
    - Dst: util_print
      Src: /src/relic/src/relic_util.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - a
    - pad
    argTypes:
    - dig_t
    - int
    constantsTouched: []
    func_position:
      end: 227
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 227
    functionName: util_print_dig
    functionSourceFile: /src/relic/src/relic_util.c
    functionUses: 0
    functionsReached:
    - util_print
    linkageType: ''
    returnType: void
    signature: void util_print_dig(dig_t a, int pad)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: arch_init
    functionSourceFile: /src/relic/src/arch/relic_arch_arm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arch_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: arch_clean
    functionSourceFile: /src/relic/src/arch/relic_arch_arm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arch_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: arch_cycles
    functionSourceFile: /src/relic/src/arch/relic_arch_arm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ull_t
    signature: ull_t arch_cycles(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lzcnt32_gcc_arm
      Src: /src/relic/src/arch/relic_arch_arm.c:110,1
    - Dst: lzcnt64_gcc_arm
      Src: /src/relic/src/arch/relic_arch_arm.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint_t
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: arch_lzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_arm.c
    functionUses: 1
    functionsReached:
    - lzcnt64_gcc_arm
    - lzcnt32_gcc_arm
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_lzcnt(uint_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tzcnt32_gcc_arm
      Src: /src/relic/src/arch/relic_arch_arm.c:118,1
    - Dst: tzcnt64_gcc_arm
      Src: /src/relic/src/arch/relic_arch_arm.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint_t
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: arch_tzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_arm.c
    functionUses: 0
    functionsReached:
    - tzcnt32_gcc_arm
    - tzcnt64_gcc_arm
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_tzcnt(uint_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:51,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:53,1
    - Dst: has_lzcnt_hard
      Src: /src/relic/src/arch/relic_arch_x64.c:54,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:55,1
    - Dst: has_tzcnt_hard
      Src: /src/relic/src/arch/relic_arch_x64.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: arch_init
    functionSourceFile: /src/relic/src/arch/relic_arch_x64.c
    functionUses: 1
    functionsReached:
    - has_tzcnt_hard
    - core_get
    - has_lzcnt_hard
    linkageType: ''
    returnType: void
    signature: void arch_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:61,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:63,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: arch_clean
    functionSourceFile: /src/relic/src/arch/relic_arch_x64.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: void
    signature: void arch_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: arch_cycles
    functionSourceFile: /src/relic/src/arch/relic_arch_x64.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ull_t
    signature: ull_t arch_cycles(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:87,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:89,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:91,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:92,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:98,1
    - Dst: RLC_MASK
      Src: /src/relic/src/arch/relic_arch_x64.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: arch_cycles
    functionSourceFile: /src/relic/src/arch/relic_arch_x64.c
    functionUses: 2
    functionsReached:
    - RLC_MASK
    - core_get
    linkageType: ''
    returnType: ull_t
    signature: ull_t arch_cycles(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - dig_t
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: arch_lzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_x64.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_lzcnt(dig_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x64.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - dig_t
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: arch_tzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_x64.c
    functionUses: 0
    functionsReached:
    - core_get
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_tzcnt(dig_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: arch_init
    functionSourceFile: /src/relic/src/arch/relic_arch_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arch_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: arch_clean
    functionSourceFile: /src/relic/src/arch/relic_arch_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arch_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: arch_cycles
    functionSourceFile: /src/relic/src/arch/relic_arch_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ull_t
    signature: ull_t arch_cycles(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __lzcnt
      Src: /src/relic/src/arch/relic_arch_none.c:78,1
    - Dst: __builtin_clz
      Src: /src/relic/src/arch/relic_arch_none.c:80,1
    - Dst: __lzcnt64
      Src: /src/relic/src/arch/relic_arch_none.c:84,1
    - Dst: __builtin_clzl
      Src: /src/relic/src/arch/relic_arch_none.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - a
    argTypes:
    - dig_t
    constantsTouched: []
    func_position:
      end: 89
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 89
    functionName: arch_lzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_none.c
    functionUses: 1
    functionsReached:
    - __lzcnt
    - __builtin_clz
    - __lzcnt64
    - __builtin_clzl
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_lzcnt(dig_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __tzcnt
      Src: /src/relic/src/arch/relic_arch_none.c:121,1
    - Dst: __builtin_ctz
      Src: /src/relic/src/arch/relic_arch_none.c:123,1
    - Dst: __tzcnt64
      Src: /src/relic/src/arch/relic_arch_none.c:127,1
    - Dst: __builtin_ctzl
      Src: /src/relic/src/arch/relic_arch_none.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - a
    argTypes:
    - dig_t
    constantsTouched: []
    func_position:
      end: 132
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 132
    functionName: arch_tzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_none.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzl
    - __tzcnt
    - __tzcnt64
    - __builtin_ctz
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_tzcnt(dig_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: arch_init
    functionSourceFile: /src/relic/src/arch/relic_arch_msp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arch_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: arch_clean
    functionSourceFile: /src/relic/src/arch/relic_arch_msp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arch_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: putchar
    functionSourceFile: /src/relic/src/arch/relic_arch_msp.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int putchar(int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: arch_cycles
    functionSourceFile: /src/relic/src/arch/relic_arch_msp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long arch_cycles(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: arch_cycles
    functionSourceFile: /src/relic/src/arch/relic_arch_msp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ull_t
    signature: ull_t arch_cycles(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 121
    functionName: arch_lzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_msp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_lzcnt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 150
    functionName: arch_tzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_msp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_tzcnt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kpc_force_all_ctrs_set
      Src: /src/relic/src/arch/relic_arch_a64.c:112,1
    - Dst: printf
      Src: /src/relic/src/arch/relic_arch_a64.c:113,1
    - Dst: kpc_set_config
      Src: /src/relic/src/arch/relic_arch_a64.c:117,1
    - Dst: printf
      Src: /src/relic/src/arch/relic_arch_a64.c:118,1
    - Dst: kpc_set_counting
      Src: /src/relic/src/arch/relic_arch_a64.c:122,1
    - Dst: printf
      Src: /src/relic/src/arch/relic_arch_a64.c:123,1
    - Dst: kpc_set_thread_counting
      Src: /src/relic/src/arch/relic_arch_a64.c:127,1
    - Dst: printf
      Src: /src/relic/src/arch/relic_arch_a64.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: configure_rdtsc
    functionSourceFile: /src/relic/src/arch/relic_arch_a64.c
    functionUses: 0
    functionsReached:
    - kpc_set_thread_counting
    - kpc_force_all_ctrs_set
    - kpc_set_counting
    - kpc_set_config
    - printf
    linkageType: ''
    returnType: void
    signature: void configure_rdtsc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/relic/src/arch/relic_arch_a64.c:138,1
    - Dst: kpc_get_counter_count
      Src: /src/relic/src/arch/relic_arch_a64.c:152,1
    - Dst: printf
      Src: /src/relic/src/arch/relic_arch_a64.c:153,1
    - Dst: kpc_get_config_count
      Src: /src/relic/src/arch/relic_arch_a64.c:157,1
    - Dst: printf
      Src: /src/relic/src/arch/relic_arch_a64.c:158,1
    - Dst: configure_rdtsc
      Src: /src/relic/src/arch/relic_arch_a64.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 167
    functionName: init_rdtsc
    functionSourceFile: /src/relic/src/arch/relic_arch_a64.c
    functionUses: 0
    functionsReached:
    - kpc_get_counter_count
    - kpc_get_config_count
    - printf
    - configure_rdtsc
    linkageType: ''
    returnType: void
    signature: void init_rdtsc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_a64.c:177,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_a64.c:179,1
    - Dst: has_lzcnt_hard
      Src: /src/relic/src/arch/relic_arch_a64.c:180,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_a64.c:181,1
    - Dst: has_lzcnt_hard
      Src: /src/relic/src/arch/relic_arch_a64.c:182,1
    - Dst: pthread_set_qos_class_self_np
      Src: /src/relic/src/arch/relic_arch_a64.c:190,1
    - Dst: pthread_set_qos_class_self_np
      Src: /src/relic/src/arch/relic_arch_a64.c:192,1
    - Dst: init_rdtsc
      Src: /src/relic/src/arch/relic_arch_a64.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 198
    functionName: arch_init
    functionSourceFile: /src/relic/src/arch/relic_arch_a64.c
    functionUses: 1
    functionsReached:
    - init_rdtsc
    - pthread_set_qos_class_self_np
    - core_get
    - has_lzcnt_hard
    linkageType: ''
    returnType: void
    signature: void arch_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_a64.c:201,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_a64.c:203,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_a64.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: arch_clean
    functionSourceFile: /src/relic/src/arch/relic_arch_a64.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: void
    signature: void arch_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kpc_get_thread_counters
      Src: /src/relic/src/arch/relic_arch_a64.c:216,1
    - Dst: printf
      Src: /src/relic/src/arch/relic_arch_a64.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 235
    functionName: arch_cycles
    functionSourceFile: /src/relic/src/arch/relic_arch_a64.c
    functionUses: 2
    functionsReached:
    - kpc_get_thread_counters
    - printf
    linkageType: ''
    returnType: ull_t
    signature: ull_t arch_cycles(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_a64.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - dig_t
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: arch_lzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_a64.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_lzcnt(dig_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_a64.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - dig_t
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: arch_tzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_a64.c
    functionUses: 0
    functionsReached:
    - core_get
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_tzcnt(dig_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x86.c:46,1
    - Dst: has_lzcnt_hard
      Src: /src/relic/src/arch/relic_arch_x86.c:46,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x86.c:47,1
    - Dst: has_tzcnt_hard
      Src: /src/relic/src/arch/relic_arch_x86.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: arch_init
    functionSourceFile: /src/relic/src/arch/relic_arch_x86.c
    functionUses: 1
    functionsReached:
    - has_tzcnt_hard
    - core_get
    - has_lzcnt_hard
    linkageType: ''
    returnType: void
    signature: void arch_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x86.c:51,1
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x86.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: arch_clean
    functionSourceFile: /src/relic/src/arch/relic_arch_x86.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: void
    signature: void arch_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: arch_cycles
    functionSourceFile: /src/relic/src/arch/relic_arch_x86.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ull_t
    signature: ull_t arch_cycles(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x86.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - dig_t
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: arch_lzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_x86.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_lzcnt(dig_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/arch/relic_arch_x86.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - dig_t
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: arch_tzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_x86.c
    functionUses: 0
    functionsReached:
    - core_get
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_tzcnt(dig_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: arch_init
    functionSourceFile: /src/relic/src/arch/relic_arch_avr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arch_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: arch_clean
    functionSourceFile: /src/relic/src/arch/relic_arch_avr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arch_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pgm_read_byte
      Src: /src/relic/src/arch/relic_arch_avr.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - src
    - len
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: arch_copy_rom
    functionSourceFile: /src/relic/src/arch/relic_arch_avr.c
    functionUses: 0
    functionsReached:
    - pgm_read_byte
    linkageType: ''
    returnType: void
    signature: void arch_copy_rom(char *dest, const char *src, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: arch_lzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_avr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_lzcnt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: arch_tzcnt
    functionSourceFile: /src/relic/src/arch/relic_arch_avr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint_t
    signature: uint_t arch_tzcnt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_norm.c:53,1
    - Dst: fb_inv
      Src: /src/relic/src/eb/relic_eb_norm.c:55,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_norm.c:57,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_norm.c:58,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_norm.c:59,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_norm.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - r
    - p
    - inv
    argTypes:
    - eb_t
    - eb_t
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: eb_norm_imp
    functionSourceFile: /src/relic/src/eb/relic_eb_norm.c
    functionUses: 0
    functionsReached:
    - fb_mul
    - fb_sqr
    - fb_set_dig
    - fb_inv
    - fb_copy
    linkageType: ''
    returnType: void
    signature: void eb_norm_imp(eb_t r, const eb_t p, int inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_norm.c:75,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_norm.c:76,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_norm.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: eb_norm_hlv
    functionSourceFile: /src/relic/src/eb/relic_eb_norm.c
    functionUses: 0
    functionsReached:
    - fb_add
    - fb_mul
    - fb_copy
    linkageType: ''
    returnType: void
    signature: void eb_norm_hlv(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_norm.c:86,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_norm.c:87,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_norm.c:93,1
    - Dst: eb_norm_hlv
      Src: /src/relic/src/eb/relic_eb_norm.c:98,1
    - Dst: eb_norm_imp
      Src: /src/relic/src/eb/relic_eb_norm.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 105
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 105
    functionName: eb_norm
    functionSourceFile: /src/relic/src/eb/relic_eb_norm.c
    functionUses: 6
    functionsReached:
    - eb_copy
    - eb_set_infty
    - eb_is_infty
    - eb_norm_hlv
    - eb_norm_imp
    linkageType: ''
    returnType: void
    signature: void eb_norm(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_neg.c:44,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_neg.c:45,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_neg.c:50,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_neg.c:51,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_neg.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: eb_neg_basic
    functionSourceFile: /src/relic/src/eb/relic_eb_neg.c
    functionUses: 0
    functionsReached:
    - eb_set_infty
    - fb_add
    - eb_is_infty
    - fb_copy
    linkageType: ''
    returnType: void
    signature: void eb_neg_basic(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_neg.c:66,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_neg.c:68,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_neg.c:69,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_neg.c:75,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_neg.c:76,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_neg.c:79,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_neg.c:85,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_neg.c:87,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_neg.c:88,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_neg.c:90,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_neg.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 95
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 95
    functionName: eb_neg_projc
    functionSourceFile: /src/relic/src/eb/relic_eb_neg.c
    functionUses: 0
    functionsReached:
    - fb_mul
    - fb_new
    - eb_set_infty
    - fb_add
    - eb_is_infty
    - fb_null
    - fb_copy
    linkageType: ''
    returnType: void
    signature: void eb_neg_projc(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_param.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: eb_param_get
    functionSourceFile: /src/relic/src/eb/relic_eb_param.c
    functionUses: 0
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int eb_param_get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_param.c:260,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_param.c:261,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_param.c:262,1
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_param.c:263,1
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_param.c:264,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_param.c:267,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_param.c:268,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_param.c:269,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_param.c:270,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_param.c:271,1
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_param.c:273,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:278,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:283,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:288,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:293,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:298,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:303,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:308,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:313,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:318,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:323,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:328,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:333,1
    - Dst: ASSIGN
      Src: /src/relic/src/eb/relic_eb_param.c:338,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_param.c:343,1
    - Dst: fb_zero
      Src: /src/relic/src/eb/relic_eb_param.c:346,1
    - Dst: fb_set_bit
      Src: /src/relic/src/eb/relic_eb_param.c:347,1
    - Dst: eb_curve_set
      Src: /src/relic/src/eb/relic_eb_param.c:350,1
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_param.c:351,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 62
    argCount: 1
    argNames:
    - param
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 352
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 352
    functionName: eb_param_set
    functionSourceFile: /src/relic/src/eb/relic_eb_param.c
    functionUses: 0
    functionsReached:
    - bn_null
    - fb_new
    - eb_curve_set
    - RLC_THROW
    - fb_null
    - bn_new
    - ASSIGN
    - fb_set_bit
    - fb_zero
    - eb_new
    - core_get
    - eb_null
    linkageType: ''
    returnType: void
    signature: void eb_param_set(int param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_param_set_any_kbltz
      Src: /src/relic/src/eb/relic_eb_param.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: eb_param_set_any
    functionSourceFile: /src/relic/src/eb/relic_eb_param.c
    functionUses: 1
    functionsReached:
    - eb_param_set_any_kbltz
    linkageType: ''
    returnType: int
    signature: int eb_param_set_any(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:380,1
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:382,1
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:384,1
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:386,1
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:388,1
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:390,1
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 400
    functionName: eb_param_set_any_plain
    functionSourceFile: /src/relic/src/eb/relic_eb_param.c
    functionUses: 1
    functionsReached:
    - eb_param_set
    linkageType: ''
    returnType: int
    signature: int eb_param_set_any_plain(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:406,1
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:408,1
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:410,1
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:412,1
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:414,1
    - Dst: eb_param_set
      Src: /src/relic/src/eb/relic_eb_param.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 424
    functionName: eb_param_set_any_kbltz
    functionSourceFile: /src/relic/src/eb/relic_eb_param.c
    functionUses: 3
    functionsReached:
    - eb_param_set
    linkageType: ''
    returnType: int
    signature: int eb_param_set_any_kbltz(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_param.c:427,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:429,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:432,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:435,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:438,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:441,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:444,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:447,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:450,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:453,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:456,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:459,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:462,1
    - Dst: util_banner
      Src: /src/relic/src/eb/relic_eb_param.c:465,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 468
    functionName: eb_param_print
    functionSourceFile: /src/relic/src/eb/relic_eb_param.c
    functionUses: 1
    functionsReached:
    - util_banner
    - core_get
    linkageType: ''
    returnType: void
    signature: void eb_param_print(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_param.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 492
    functionName: eb_param_level
    functionSourceFile: /src/relic/src/eb/relic_eb_param.c
    functionUses: 0
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int eb_param_level(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_hlv.c:44,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_hlv.c:45,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_hlv.c:48,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_hlv.c:49,1
    - Dst: eb_curve_opt_a
      Src: /src/relic/src/eb/relic_eb_hlv.c:52,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_hlv.c:54,1
    - Dst: fb_add_dig
      Src: /src/relic/src/eb/relic_eb_hlv.c:57,1
    - Dst: fb_add_dig
      Src: /src/relic/src/eb/relic_eb_hlv.c:60,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_hlv.c:60,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_hlv.c:63,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_hlv.c:63,1
    - Dst: fb_slv
      Src: /src/relic/src/eb/relic_eb_hlv.c:67,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_hlv.c:71,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_hlv.c:72,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_hlv.c:75,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_hlv.c:76,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_hlv.c:77,1
    - Dst: fb_trc
      Src: /src/relic/src/eb/relic_eb_hlv.c:81,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_hlv.c:82,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_hlv.c:83,1
    - Dst: fb_srt
      Src: /src/relic/src/eb/relic_eb_hlv.c:84,1
    - Dst: fb_add_dig
      Src: /src/relic/src/eb/relic_eb_hlv.c:87,1
    - Dst: fb_srt
      Src: /src/relic/src/eb/relic_eb_hlv.c:88,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_hlv.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 92
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 92
    functionName: eb_hlv
    functionSourceFile: /src/relic/src/eb/relic_eb_hlv.c
    functionUses: 1
    functionsReached:
    - fb_trc
    - fb_mul
    - eb_curve_opt_a
    - fb_new
    - fb_add
    - fb_set_dig
    - fb_null
    - fb_slv
    - eb_curve_get_a
    - fb_srt
    - fb_add_dig
    - fb_copy
    linkageType: ''
    returnType: void
    signature: void eb_hlv(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_is_zero
      Src: /src/relic/src/eb/relic_eb_util.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - eb_t
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: eb_is_infty
    functionSourceFile: /src/relic/src/eb/relic_eb_util.c
    functionUses: 9
    functionsReached:
    - fb_is_zero
    linkageType: ''
    returnType: int
    signature: int eb_is_infty(const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_zero
      Src: /src/relic/src/eb/relic_eb_util.c:45,1
    - Dst: fb_zero
      Src: /src/relic/src/eb/relic_eb_util.c:46,1
    - Dst: fb_zero
      Src: /src/relic/src/eb/relic_eb_util.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - eb_t
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: eb_set_infty
    functionSourceFile: /src/relic/src/eb/relic_eb_util.c
    functionUses: 6
    functionsReached:
    - fb_zero
    linkageType: ''
    returnType: void
    signature: void eb_set_infty(eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_util.c:52,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_util.c:53,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_util.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: eb_copy
    functionSourceFile: /src/relic/src/eb/relic_eb_util.c
    functionUses: 2
    functionsReached:
    - fb_copy
    linkageType: ''
    returnType: void
    signature: void eb_copy(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_util.c:61,1
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_util.c:62,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_util.c:65,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_util.c:66,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/src/eb/relic_eb_util.c:68,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/eb/relic_eb_util.c:70,1
    - Dst: eb_mul_gen
      Src: /src/relic/src/eb/relic_eb_util.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - eb_t
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: eb_rand
    functionSourceFile: /src/relic/src/eb/relic_eb_util.c
    functionUses: 9
    functionsReached:
    - bn_null
    - eb_mul_gen
    - bn_rand_mod
    - bn_new
    - eb_curve_get_ord
    linkageType: ''
    returnType: void
    signature: void eb_rand(eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_util.c:84,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_util.c:85,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_util.c:88,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_util.c:89,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_util.c:92,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_util.c:94,1
    - Dst: eb_curve_opt_a
      Src: /src/relic/src/eb/relic_eb_util.c:97,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_util.c:101,1
    - Dst: fb_mul_dig
      Src: /src/relic/src/eb/relic_eb_util.c:104,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_util.c:104,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_util.c:105,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_util.c:108,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_util.c:108,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_util.c:109,1
    - Dst: eb_curve_opt_b
      Src: /src/relic/src/eb/relic_eb_util.c:113,1
    - Dst: fb_add_dig
      Src: /src/relic/src/eb/relic_eb_util.c:117,1
    - Dst: fb_add_dig
      Src: /src/relic/src/eb/relic_eb_util.c:120,1
    - Dst: eb_curve_get_b
      Src: /src/relic/src/eb/relic_eb_util.c:120,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_util.c:123,1
    - Dst: eb_curve_get_b
      Src: /src/relic/src/eb/relic_eb_util.c:123,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_util.c:127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - rhs
    - x
    argTypes:
    - fb_t
    - fb_t
    constantsTouched: []
    func_position:
      end: 128
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 128
    functionName: eb_rhs
    functionSourceFile: /src/relic/src/eb/relic_eb_util.c
    functionUses: 0
    functionsReached:
    - fb_mul
    - eb_curve_opt_a
    - fb_new
    - fb_add
    - fb_sqr
    - fb_mul_dig
    - fb_null
    - eb_curve_get_b
    - eb_curve_get_a
    - eb_curve_opt_b
    - fb_add_dig
    - fb_copy
    linkageType: ''
    returnType: void
    signature: void eb_rhs(fb_t rhs, const fb_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_util.c:141,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_util.c:144,1
    - Dst: fb_rand
      Src: /src/relic/src/eb/relic_eb_util.c:146,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_util.c:147,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_util.c:148,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_util.c:149,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_util.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: eb_blind
    functionSourceFile: /src/relic/src/eb/relic_eb_util.c
    functionUses: 1
    functionsReached:
    - fb_mul
    - fb_new
    - fb_rand
    - fb_sqr
    - fb_null
    linkageType: ''
    returnType: void
    signature: void eb_blind(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_util.c:164,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_util.c:165,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_util.c:168,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_util.c:169,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_util.c:171,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_util.c:173,1
    - Dst: eb_rhs
      Src: /src/relic/src/eb/relic_eb_util.c:174,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_util.c:175,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_util.c:176,1
    - Dst: fb_cmp
      Src: /src/relic/src/eb/relic_eb_util.c:177,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_util.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - eb_t
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: eb_on_curve
    functionSourceFile: /src/relic/src/eb/relic_eb_util.c
    functionUses: 2
    functionsReached:
    - fb_mul
    - fb_new
    - fb_add
    - fb_sqr
    - eb_is_infty
    - fb_null
    - eb_rhs
    - fb_cmp
    - eb_new
    - eb_norm
    - eb_null
    linkageType: ''
    returnType: int
    signature: int eb_on_curve(const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_curve_is_kbltz
      Src: /src/relic/src/eb/relic_eb_util.c:193,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_util.c:195,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_util.c:197,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:199,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:201,1
    - Dst: eb_norm_sim
      Src: /src/relic/src/eb/relic_eb_util.c:204,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_util.c:208,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_util.c:210,1
    - Dst: eb_curve_is_kbltz
      Src: /src/relic/src/eb/relic_eb_util.c:216,1
    - Dst: eb_curve_opt_a
      Src: /src/relic/src/eb/relic_eb_util.c:217,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_util.c:221,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_util.c:222,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_util.c:230,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:232,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:234,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_util.c:235,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_util.c:240,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_util.c:241,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:243,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:245,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:246,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:247,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_util.c:248,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_util.c:253,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_util.c:254,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:256,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:258,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:259,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:260,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:261,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:262,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:263,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:264,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:265,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_util.c:266,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_util.c:271,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_util.c:272,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:273,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:275,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:277,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:278,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:279,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:280,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:281,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:282,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:283,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:284,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:285,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:286,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:287,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:288,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:289,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:290,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:291,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:292,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:293,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:294,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:295,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:296,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:297,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:298,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:299,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:300,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_util.c:301,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_util.c:306,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_util.c:307,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:309,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:311,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:312,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:313,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:314,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:315,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:316,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:317,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:318,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:319,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:320,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:321,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:322,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:323,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:324,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:325,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:326,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:328,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:329,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:330,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:331,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:332,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:333,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:334,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:335,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:336,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:337,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:338,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:339,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:340,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:341,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:342,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:343,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:344,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:345,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:346,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:347,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:348,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:349,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:350,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:351,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:352,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:353,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:354,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:355,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:356,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:357,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_util.c:358,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_util.c:363,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_util.c:364,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:365,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:367,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:369,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:370,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:371,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:372,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:373,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:374,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:375,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:376,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:378,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:379,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:380,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:381,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:382,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:383,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:384,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:385,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:386,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:387,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:388,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:389,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:390,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:391,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:392,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:393,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:394,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:395,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:396,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:397,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:398,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:399,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:400,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:401,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:402,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:403,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:404,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:405,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:406,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:407,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:408,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:409,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:410,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:411,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:412,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:413,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:414,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:415,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:416,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:417,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:418,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:419,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:420,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:421,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:422,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:423,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:424,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:425,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:426,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:427,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:428,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:429,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:430,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:431,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:432,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:433,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:434,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:435,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:436,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:437,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:438,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:439,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:440,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:441,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:442,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:443,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:444,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:445,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:446,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:447,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:448,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:449,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:450,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:451,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:452,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:453,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:454,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:455,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:456,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:457,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:458,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:459,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:460,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:461,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:462,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:463,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:464,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:465,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:466,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:467,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:468,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:469,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_util.c:470,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_util.c:471,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_util.c:472,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_util.c:473,1
    - Dst: eb_norm_sim
      Src: /src/relic/src/eb/relic_eb_util.c:479,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 261
    argCount: 3
    argNames:
    - t
    - p
    - w
    argTypes:
    - eb_t*
    - eb_t
    - int
    constantsTouched: []
    func_position:
      end: 484
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 484
    functionName: eb_tab
    functionSourceFile: /src/relic/src/eb/relic_eb_util.c
    functionUses: 0
    functionsReached:
    - eb_norm
    - eb_copy
    - eb_norm_sim
    - eb_curve_opt_a
    - eb_set_infty
    - eb_frb
    - eb_sub
    - fb_set_dig
    - eb_neg
    - eb_dbl
    - eb_add
    - eb_curve_is_kbltz
    linkageType: ''
    returnType: void
    signature: void eb_tab(eb_t *t, const eb_t p, int w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_print
      Src: /src/relic/src/eb/relic_eb_util.c:487,1
    - Dst: fb_print
      Src: /src/relic/src/eb/relic_eb_util.c:488,1
    - Dst: fb_print
      Src: /src/relic/src/eb/relic_eb_util.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - eb_t
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: eb_print
    functionSourceFile: /src/relic/src/eb/relic_eb_util.c
    functionUses: 0
    functionsReached:
    - fb_print
    linkageType: ''
    returnType: void
    signature: void eb_print(const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_util.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - a
    - pack
    argTypes:
    - eb_t
    - int
    constantsTouched: []
    func_position:
      end: 505
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 505
    functionName: eb_size_bin
    functionSourceFile: /src/relic/src/eb/relic_eb_util.c
    functionUses: 1
    functionsReached:
    - eb_is_infty
    linkageType: ''
    returnType: size_t
    signature: size_t eb_size_bin(const eb_t a, int pack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_util.c:510,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_util.c:513,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_util.c:519,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_util.c:524,1
    - Dst: fb_read_bin
      Src: /src/relic/src/eb/relic_eb_util.c:525,1
    - Dst: fb_zero
      Src: /src/relic/src/eb/relic_eb_util.c:529,1
    - Dst: fb_zero
      Src: /src/relic/src/eb/relic_eb_util.c:532,1
    - Dst: fb_set_bit
      Src: /src/relic/src/eb/relic_eb_util.c:533,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_util.c:536,1
    - Dst: eb_upk
      Src: /src/relic/src/eb/relic_eb_util.c:539,1
    - Dst: fb_read_bin
      Src: /src/relic/src/eb/relic_eb_util.c:544,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_util.c:546,1
    - Dst: eb_on_curve
      Src: /src/relic/src/eb/relic_eb_util.c:551,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_util.c:552,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - a
    - bin
    - len
    argTypes:
    - eb_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 555
      start: 507
    functionDepth: 4
    functionLinenumber: 507
    functionLinenumberEnd: 555
    functionName: eb_read_bin
    functionSourceFile: /src/relic/src/eb/relic_eb_util.c
    functionUses: 1
    functionsReached:
    - eb_upk
    - fb_read_bin
    - RLC_THROW
    - eb_set_infty
    - fb_set_dig
    - fb_set_bit
    - fb_zero
    - eb_on_curve
    linkageType: ''
    returnType: void
    signature: void eb_read_bin(eb_t a, const uint8_t *bin, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_util.c:560,1
    - Dst: memset
      Src: /src/relic/src/eb/relic_eb_util.c:562,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_util.c:564,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_util.c:566,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_util.c:574,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_util.c:576,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_util.c:580,1
    - Dst: eb_pck
      Src: /src/relic/src/eb/relic_eb_util.c:582,1
    - Dst: fb_get_bit
      Src: /src/relic/src/eb/relic_eb_util.c:583,1
    - Dst: fb_write_bin
      Src: /src/relic/src/eb/relic_eb_util.c:584,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_util.c:588,1
    - Dst: fb_write_bin
      Src: /src/relic/src/eb/relic_eb_util.c:591,1
    - Dst: fb_write_bin
      Src: /src/relic/src/eb/relic_eb_util.c:592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - bin
    - len
    - a
    - pack
    argTypes:
    - uint8_t*
    - size_t
    - eb_t
    - int
    constantsTouched: []
    func_position:
      end: 595
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 595
    functionName: eb_write_bin
    functionSourceFile: /src/relic/src/eb/relic_eb_util.c
    functionUses: 1
    functionsReached:
    - fb_write_bin
    - fb_get_bit
    - RLC_THROW
    - memset
    - eb_is_infty
    - eb_pck
    - eb_new
    - eb_norm
    - eb_null
    linkageType: ''
    returnType: void
    signature: void eb_write_bin(uint8_t *bin, size_t len, const eb_t a, int pack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_inv
      Src: /src/relic/src/eb/relic_eb_pck.c:43,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_pck.c:44,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_pck.c:46,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_pck.c:48,1
    - Dst: fb_get_bit
      Src: /src/relic/src/eb/relic_eb_pck.c:48,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_pck.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: eb_pck
    functionSourceFile: /src/relic/src/eb/relic_eb_pck.c
    functionUses: 2
    functionsReached:
    - fb_mul
    - fb_get_bit
    - fb_set_dig
    - fb_inv
    - fb_copy
    linkageType: ''
    returnType: void
    signature: void eb_pck(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_pck.c:59,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_pck.c:60,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_pck.c:63,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_pck.c:64,1
    - Dst: eb_rhs
      Src: /src/relic/src/eb/relic_eb_pck.c:66,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_pck.c:68,1
    - Dst: fb_inv
      Src: /src/relic/src/eb/relic_eb_pck.c:70,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_pck.c:72,1
    - Dst: fb_trc
      Src: /src/relic/src/eb/relic_eb_pck.c:73,1
    - Dst: fb_slv
      Src: /src/relic/src/eb/relic_eb_pck.c:76,1
    - Dst: fb_get_bit
      Src: /src/relic/src/eb/relic_eb_pck.c:78,1
    - Dst: fb_get_bit
      Src: /src/relic/src/eb/relic_eb_pck.c:78,1
    - Dst: fb_add_dig
      Src: /src/relic/src/eb/relic_eb_pck.c:79,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_pck.c:82,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_pck.c:84,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_pck.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 88
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 88
    functionName: eb_upk
    functionSourceFile: /src/relic/src/eb/relic_eb_pck.c
    functionUses: 2
    functionsReached:
    - fb_trc
    - fb_mul
    - fb_get_bit
    - fb_new
    - fb_sqr
    - fb_set_dig
    - fb_null
    - fb_slv
    - fb_inv
    - fb_add_dig
    - eb_rhs
    - fb_copy
    linkageType: ''
    returnType: int
    signature: int eb_upk(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_frb.c:42,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_frb.c:43,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_frb.c:47,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_frb.c:48,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_frb.c:50,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_frb.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: eb_frb
    functionSourceFile: /src/relic/src/eb/relic_eb_frb.c
    functionUses: 2
    functionsReached:
    - eb_set_infty
    - fb_set_dig
    - eb_is_infty
    - fb_sqr
    linkageType: ''
    returnType: void
    signature: void eb_frb(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_cmp.c:44,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_cmp.c:44,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_cmp.c:48,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_cmp.c:49,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_cmp.c:52,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_cmp.c:53,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_cmp.c:58,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_cmp.c:59,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_cmp.c:60,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_cmp.c:61,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_cmp.c:62,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_cmp.c:63,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_cmp.c:66,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_cmp.c:68,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_cmp.c:72,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_cmp.c:74,1
    - Dst: fb_cmp
      Src: /src/relic/src/eb/relic_eb_cmp.c:78,1
    - Dst: fb_cmp
      Src: /src/relic/src/eb/relic_eb_cmp.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 81
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 81
    functionName: eb_cmp
    functionSourceFile: /src/relic/src/eb/relic_eb_cmp.c
    functionUses: 10
    functionsReached:
    - fb_mul
    - eb_copy
    - eb_is_infty
    - fb_sqr
    - fb_cmp
    - eb_new
    - eb_norm
    - eb_null
    linkageType: ''
    returnType: int
    signature: int eb_cmp(const eb_t p, const eb_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:64,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:65,1
    - Dst: if
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:70,1
    - Dst: eb_curve_opt_a
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:70,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:79,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:80,1
    - Dst: fb_set_bit
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:81,1
    - Dst: eb_tab
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:84,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:90,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:91,1
    - Dst: fb_set_bit
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:92,1
    - Dst: eb_tab
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:96,1
    - Dst: bn_rec_tnaf
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:106,1
    - Dst: bn_rec_tnaf
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:107,1
    - Dst: RLC_MAX
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:109,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:113,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:118,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:126,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:128,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:133,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:136,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:139,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:142,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:146,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 6
    argNames:
    - r
    - p
    - k
    - q
    - m
    - t
    argTypes:
    - eb_t
    - eb_t
    - bn_t
    - eb_t
    - bn_t
    - eb_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 147
    functionName: eb_mul_sim_kbltz
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_sim.c
    functionUses: 0
    functionsReached:
    - eb_norm
    - eb_tab
    - eb_curve_opt_a
    - eb_frb
    - eb_set_infty
    - eb_sub
    - if
    - bn_sign
    - RLC_MAX
    - fb_set_bit
    - bn_rec_tnaf
    - eb_new
    - eb_add
    - eb_null
    linkageType: ''
    returnType: void
    signature: "void eb_mul_sim_kbltz(eb_t r, const eb_t p, const bn_t k, const eb_t
      q,\n\t\tconst bn_t m, const eb_t *t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:285,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:288,1
    - Dst: eb_mul
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:289,1
    - Dst: eb_mul
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:290,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:291,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - eb_t
    - eb_t
    - bn_t
    - eb_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: eb_mul_sim_basic
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_sim.c
    functionUses: 1
    functionsReached:
    - eb_norm
    - eb_mul
    - eb_new
    - eb_add
    - eb_null
    linkageType: ''
    returnType: void
    signature: "void eb_mul_sim_basic(eb_t r, const eb_t p, const bn_t k, const eb_t
      q,\n\t\tconst bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:312,1
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:314,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:314,1
    - Dst: eb_mul
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:315,1
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:318,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:318,1
    - Dst: eb_mul
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:319,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:324,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:326,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:329,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:330,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:331,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:332,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:335,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:336,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:339,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:340,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:341,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:342,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:345,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:348,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:349,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:350,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:351,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:354,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:359,1
    - Dst: eb_norm_sim
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:364,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:367,1
    - Dst: bn_rec_win
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:368,1
    - Dst: bn_rec_win
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:369,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:371,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:374,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:376,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:378,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - eb_t
    - eb_t
    - bn_t
    - eb_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 379
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 379
    functionName: eb_mul_sim_trick
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_sim.c
    functionUses: 1
    functionsReached:
    - eb_norm
    - bn_null
    - eb_copy
    - eb_norm_sim
    - eb_set_infty
    - eb_is_infty
    - eb_mul
    - RLC_CEIL
    - bn_sign
    - bn_rec_win
    - eb_neg
    - bn_new
    - eb_dbl
    - bn_is_zero
    - eb_new
    - eb_curve_get_ord
    - eb_add
    - eb_null
    linkageType: ''
    returnType: void
    signature: "void eb_mul_sim_trick(eb_t r, const eb_t p, const bn_t k, const eb_t
      q,\n\t\tconst bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:400,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:400,1
    - Dst: eb_mul
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:401,1
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:404,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:404,1
    - Dst: eb_mul
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:405,1
    - Dst: eb_curve_is_kbltz
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:410,1
    - Dst: eb_mul_sim_kbltz
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:411,1
    - Dst: eb_mul_sim_plain
      Src: /src/relic/src/eb/relic_eb_mul_sim.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - eb_t
    - eb_t
    - bn_t
    - eb_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 5
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: eb_mul_sim_inter
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_sim.c
    functionUses: 1
    functionsReached:
    - eb_is_infty
    - eb_mul
    - eb_mul_sim_plain
    - eb_mul_sim_kbltz
    - bn_is_zero
    - eb_curve_is_kbltz
    linkageType: ''
    returnType: void
    signature: "void eb_mul_sim_inter(eb_t r, const eb_t p, const bn_t k, const eb_t
      q,\n\t\tconst bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_map.c:45,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_map.c:46,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_map.c:47,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_map.c:50,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_map.c:51,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_map.c:52,1
    - Dst: md_map
      Src: /src/relic/src/eb/relic_eb_map.c:54,1
    - Dst: bn_read_bin
      Src: /src/relic/src/eb/relic_eb_map.c:55,1
    - Dst: RLC_MIN
      Src: /src/relic/src/eb/relic_eb_map.c:55,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_map.c:56,1
    - Dst: dv_copy
      Src: /src/relic/src/eb/relic_eb_map.c:59,1
    - Dst: eb_rhs
      Src: /src/relic/src/eb/relic_eb_map.c:61,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_map.c:64,1
    - Dst: fb_inv
      Src: /src/relic/src/eb/relic_eb_map.c:65,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_map.c:67,1
    - Dst: fb_trc
      Src: /src/relic/src/eb/relic_eb_map.c:69,1
    - Dst: bn_add_dig
      Src: /src/relic/src/eb/relic_eb_map.c:70,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/eb/relic_eb_map.c:71,1
    - Dst: fb_slv
      Src: /src/relic/src/eb/relic_eb_map.c:73,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_map.c:75,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_map.c:76,1
    - Dst: eb_curve_get_cof
      Src: /src/relic/src/eb/relic_eb_map.c:83,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_map.c:84,1
    - Dst: eb_mul_dig
      Src: /src/relic/src/eb/relic_eb_map.c:85,1
    - Dst: eb_mul
      Src: /src/relic/src/eb/relic_eb_map.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - p
    - msg
    - len
    argTypes:
    - eb_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 89
    functionName: eb_map
    functionSourceFile: /src/relic/src/eb/relic_eb_map.c
    functionUses: 1
    functionsReached:
    - bn_read_bin
    - fb_set_dig
    - fb_sqr
    - eb_curve_get_cof
    - fb_inv
    - eb_rhs
    - dv_copy
    - bn_null
    - fb_null
    - eb_mul
    - RLC_MIN
    - bn_add_dig
    - fb_slv
    - bn_new
    - eb_mul_dig
    - md_map
    - fb_trc
    - fb_mul
    - fb_new
    - bn_bits
    - bn_mod_2b
    linkageType: ''
    returnType: void
    signature: void eb_map(eb_t p, const uint8_t *msg, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_is_zero
      Src: /src/relic/src/eb/relic_eb_curve.c:47,1
    - Dst: fb_cmp_dig
      Src: /src/relic/src/eb/relic_eb_curve.c:50,1
    - Dst: fb_bits
      Src: /src/relic/src/eb/relic_eb_curve.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - opt
    - a
    argTypes:
    - int*
    - fb_t
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: detect_opt
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 0
    functionsReached:
    - fb_is_zero
    - fb_bits
    - fb_cmp_dig
    linkageType: ''
    returnType: void
    signature: void detect_opt(int *opt, fb_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:67,1
    - Dst: fb_zero
      Src: /src/relic/src/eb/relic_eb_curve.c:73,1
    - Dst: fb_zero
      Src: /src/relic/src/eb/relic_eb_curve.c:74,1
    - Dst: fb_zero
      Src: /src/relic/src/eb/relic_eb_curve.c:75,1
    - Dst: bn_make
      Src: /src/relic/src/eb/relic_eb_curve.c:76,1
    - Dst: bn_make
      Src: /src/relic/src/eb/relic_eb_curve.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: eb_curve_init
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 1
    functionsReached:
    - bn_make
    - core_get
    - fb_zero
    linkageType: ''
    returnType: void
    signature: void eb_curve_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:81,1
    - Dst: bn_clean
      Src: /src/relic/src/eb/relic_eb_curve.c:83,1
    - Dst: bn_clean
      Src: /src/relic/src/eb/relic_eb_curve.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: eb_curve_clean
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 1
    functionsReached:
    - bn_clean
    - core_get
    linkageType: ''
    returnType: void
    signature: void eb_curve_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: eb_curve_get_a
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 2
    functionsReached:
    - core_get
    linkageType: ''
    returnType: dig_t
    signature: dig_t *eb_curve_get_a(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: eb_curve_opt_a
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 5
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int eb_curve_opt_a(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: eb_curve_get_b
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: dig_t
    signature: dig_t *eb_curve_get_b(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: eb_curve_opt_b
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int eb_curve_opt_b(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: eb_curve_is_kbltz
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 3
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int eb_curve_is_kbltz(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_curve.c:109,1
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - eb_t
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: eb_curve_get_gen
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 2
    functionsReached:
    - core_get
    - eb_copy
    linkageType: ''
    returnType: void
    signature: void eb_curve_get_gen(eb_t g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_copy
      Src: /src/relic/src/eb/relic_eb_curve.c:113,1
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - bn_t
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: eb_curve_get_ord
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 7
    functionsReached:
    - core_get
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void eb_curve_get_ord(bn_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_copy
      Src: /src/relic/src/eb/relic_eb_curve.c:117,1
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - bn_t
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: eb_curve_get_cof
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void eb_curve_get_cof(bn_t h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:125,1
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: eb_curve_get_tab
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 0
    functionsReached:
    - core_get
    linkageType: ''
    returnType: eb_t
    signature: eb_t *eb_curve_get_tab(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/eb/relic_eb_curve.c:138,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_curve.c:139,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_curve.c:140,1
    - Dst: detect_opt
      Src: /src/relic/src/eb/relic_eb_curve.c:142,1
    - Dst: detect_opt
      Src: /src/relic/src/eb/relic_eb_curve.c:143,1
    - Dst: fb_cmp_dig
      Src: /src/relic/src/eb/relic_eb_curve.c:145,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_curve.c:151,1
    - Dst: bn_copy
      Src: /src/relic/src/eb/relic_eb_curve.c:152,1
    - Dst: bn_copy
      Src: /src/relic/src/eb/relic_eb_curve.c:153,1
    - Dst: eb_mul_pre
      Src: /src/relic/src/eb/relic_eb_curve.c:156,1
    - Dst: eb_curve_get_tab
      Src: /src/relic/src/eb/relic_eb_curve.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - a
    - b
    - g
    - r
    - h
    argTypes:
    - fb_t
    - fb_t
    - eb_t
    - bn_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: eb_curve_set
    functionSourceFile: /src/relic/src/eb/relic_eb_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    - fb_cmp_dig
    - fb_copy
    - eb_curve_get_tab
    - detect_opt
    - eb_norm
    - eb_mul_pre
    - bn_copy
    linkageType: ''
    returnType: void
    signature: "void eb_curve_set(const fb_t a, const fb_t b, const eb_t g, const
      bn_t r,\n\t\tconst bn_t h)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_dbl.c:53,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_dbl.c:54,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_dbl.c:55,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_dbl.c:58,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_dbl.c:59,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_dbl.c:60,1
    - Dst: fb_inv
      Src: /src/relic/src/eb/relic_eb_dbl.c:63,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_dbl.c:65,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:67,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_dbl.c:69,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:71,1
    - Dst: eb_curve_opt_a
      Src: /src/relic/src/eb/relic_eb_dbl.c:74,1
    - Dst: fb_add_dig
      Src: /src/relic/src/eb/relic_eb_dbl.c:78,1
    - Dst: fb_add_dig
      Src: /src/relic/src/eb/relic_eb_dbl.c:81,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_dbl.c:81,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:84,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_dbl.c:84,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:89,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_dbl.c:92,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_dbl.c:94,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:96,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:97,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_dbl.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 102
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 102
    functionName: eb_dbl_basic_imp
    functionSourceFile: /src/relic/src/eb/relic_eb_dbl.c
    functionUses: 0
    functionsReached:
    - fb_mul
    - fb_new
    - eb_curve_opt_a
    - fb_add
    - fb_sqr
    - fb_null
    - eb_curve_get_a
    - fb_inv
    - fb_add_dig
    - fb_copy
    linkageType: ''
    returnType: void
    signature: void eb_dbl_basic_imp(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_dbl.c:127,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_dbl.c:128,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_dbl.c:131,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_dbl.c:132,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_dbl.c:135,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:137,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_dbl.c:141,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_dbl.c:143,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_dbl.c:146,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_dbl.c:148,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_dbl.c:152,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_dbl.c:155,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:156,1
    - Dst: eb_curve_opt_a
      Src: /src/relic/src/eb/relic_eb_dbl.c:159,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:163,1
    - Dst: fb_mul_dig
      Src: /src/relic/src/eb/relic_eb_dbl.c:166,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_dbl.c:166,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:167,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_dbl.c:170,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_dbl.c:170,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:171,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:176,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_dbl.c:178,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_dbl.c:180,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_dbl.c:182,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_dbl.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 186
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 186
    functionName: eb_dbl_projc_imp
    functionSourceFile: /src/relic/src/eb/relic_eb_dbl.c
    functionUses: 0
    functionsReached:
    - fb_mul
    - fb_new
    - eb_curve_opt_a
    - fb_add
    - fb_sqr
    - fb_mul_dig
    - fb_null
    - eb_curve_get_a
    - fb_copy
    linkageType: ''
    returnType: void
    signature: void eb_dbl_projc_imp(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_dbl.c:205,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_dbl.c:206,1
    - Dst: eb_dbl_basic_imp
      Src: /src/relic/src/eb/relic_eb_dbl.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: eb_dbl_basic
    functionSourceFile: /src/relic/src/eb/relic_eb_dbl.c
    functionUses: 1
    functionsReached:
    - eb_set_infty
    - eb_is_infty
    - eb_dbl_basic_imp
    linkageType: ''
    returnType: void
    signature: void eb_dbl_basic(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_dbl.c:219,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_dbl.c:220,1
    - Dst: eb_dbl_projc_imp
      Src: /src/relic/src/eb/relic_eb_dbl.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: eb_dbl_projc
    functionSourceFile: /src/relic/src/eb/relic_eb_dbl.c
    functionUses: 2
    functionsReached:
    - eb_set_infty
    - eb_dbl_projc_imp
    - eb_is_infty
    linkageType: ''
    returnType: void
    signature: void eb_dbl_projc(eb_t r, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:54,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:55,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:56,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:59,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:60,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:61,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:64,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:66,1
    - Dst: fb_is_zero
      Src: /src/relic/src/eb/relic_eb_add.c:68,1
    - Dst: fb_is_zero
      Src: /src/relic/src/eb/relic_eb_add.c:69,1
    - Dst: eb_dbl_basic
      Src: /src/relic/src/eb/relic_eb_add.c:71,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_add.c:74,1
    - Dst: fb_inv
      Src: /src/relic/src/eb/relic_eb_add.c:78,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:80,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_add.c:82,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:85,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:86,1
    - Dst: eb_curve_opt_a
      Src: /src/relic/src/eb/relic_eb_add.c:88,1
    - Dst: fb_add_dig
      Src: /src/relic/src/eb/relic_eb_add.c:92,1
    - Dst: fb_add_dig
      Src: /src/relic/src/eb/relic_eb_add.c:95,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_add.c:95,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:98,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_add.c:98,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:103,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:104,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:105,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:106,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_add.c:109,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_add.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - eb_t
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 114
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 114
    functionName: eb_add_basic_imp
    functionSourceFile: /src/relic/src/eb/relic_eb_add.c
    functionUses: 0
    functionsReached:
    - fb_is_zero
    - fb_mul
    - fb_new
    - eb_curve_opt_a
    - eb_set_infty
    - fb_add
    - fb_sqr
    - fb_null
    - eb_dbl_basic
    - eb_curve_get_a
    - fb_inv
    - fb_add_dig
    - fb_copy
    linkageType: ''
    returnType: void
    signature: void eb_add_basic_imp(eb_t r, const eb_t p, const eb_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:142,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:143,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:144,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:145,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:146,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:147,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:150,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:151,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:152,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:153,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:154,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:155,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_add.c:162,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:163,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:164,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:166,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:167,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:170,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:172,1
    - Dst: fb_is_zero
      Src: /src/relic/src/eb/relic_eb_add.c:175,1
    - Dst: fb_is_zero
      Src: /src/relic/src/eb/relic_eb_add.c:176,1
    - Dst: eb_dbl_projc
      Src: /src/relic/src/eb/relic_eb_add.c:178,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_add.c:181,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:186,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_add.c:188,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_add.c:190,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:192,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_add.c:195,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_add.c:197,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:199,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:203,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:206,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_add.c:209,1
    - Dst: eb_curve_opt_a
      Src: /src/relic/src/eb/relic_eb_add.c:212,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:216,1
    - Dst: fb_mul_dig
      Src: /src/relic/src/eb/relic_eb_add.c:220,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_add.c:220,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:221,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:225,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_add.c:225,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:226,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:231,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:233,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:236,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:238,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:240,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:241,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_add.c:243,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:245,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:247,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 69
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - eb_t
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 251
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 251
    functionName: eb_add_projc_mix
    functionSourceFile: /src/relic/src/eb/relic_eb_add.c
    functionUses: 0
    functionsReached:
    - fb_is_zero
    - fb_mul
    - fb_new
    - eb_curve_opt_a
    - eb_dbl_projc
    - fb_add
    - fb_sqr
    - eb_set_infty
    - fb_null
    - fb_mul_dig
    - eb_curve_get_a
    - fb_copy
    linkageType: ''
    returnType: void
    signature: void eb_add_projc_mix(eb_t r, const eb_t p, const eb_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_add_projc_mix
      Src: /src/relic/src/eb/relic_eb_add.c:278,1
    - Dst: eb_add_projc_mix
      Src: /src/relic/src/eb/relic_eb_add.c:284,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:290,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:291,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:292,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:293,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:294,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:295,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:296,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_add.c:297,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:300,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:301,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:302,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:303,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:304,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:305,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:306,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_add.c:307,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:310,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:313,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:316,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_add.c:319,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_add.c:321,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:323,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_add.c:326,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:327,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_add.c:330,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:331,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:334,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:336,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:338,1
    - Dst: fb_is_zero
      Src: /src/relic/src/eb/relic_eb_add.c:341,1
    - Dst: fb_is_zero
      Src: /src/relic/src/eb/relic_eb_add.c:342,1
    - Dst: eb_dbl_projc
      Src: /src/relic/src/eb/relic_eb_add.c:344,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_add.c:347,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:351,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:354,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:355,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:358,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:360,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:362,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:363,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:366,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:368,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:369,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:371,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_add.c:372,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_add.c:373,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_add.c:379,1
    - Dst: fb_free
      Src: /src/relic/src/eb/relic_eb_add.c:382,1
    - Dst: fb_free
      Src: /src/relic/src/eb/relic_eb_add.c:383,1
    - Dst: fb_free
      Src: /src/relic/src/eb/relic_eb_add.c:384,1
    - Dst: fb_free
      Src: /src/relic/src/eb/relic_eb_add.c:385,1
    - Dst: fb_free
      Src: /src/relic/src/eb/relic_eb_add.c:386,1
    - Dst: fb_free
      Src: /src/relic/src/eb/relic_eb_add.c:387,1
    - Dst: fb_free
      Src: /src/relic/src/eb/relic_eb_add.c:388,1
    - Dst: fb_free
      Src: /src/relic/src/eb/relic_eb_add.c:389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - eb_t
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 392
      start: 275
    functionDepth: 5
    functionLinenumber: 275
    functionLinenumberEnd: 392
    functionName: eb_add_projc_imp
    functionSourceFile: /src/relic/src/eb/relic_eb_add.c
    functionUses: 0
    functionsReached:
    - fb_is_zero
    - fb_mul
    - fb_new
    - RLC_THROW
    - eb_dbl_projc
    - eb_add_projc_mix
    - fb_add
    - fb_sqr
    - fb_null
    - eb_set_infty
    - fb_free
    linkageType: ''
    returnType: void
    signature: void eb_add_projc_imp(eb_t r, const eb_t p, const eb_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_add.c:403,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_add.c:404,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_add.c:408,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_add.c:409,1
    - Dst: eb_add_basic_imp
      Src: /src/relic/src/eb/relic_eb_add.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - eb_t
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 414
      start: 402
    functionDepth: 5
    functionLinenumber: 402
    functionLinenumberEnd: 414
    functionName: eb_add_basic
    functionSourceFile: /src/relic/src/eb/relic_eb_add.c
    functionUses: 1
    functionsReached:
    - eb_is_infty
    - eb_add_basic_imp
    - eb_copy
    linkageType: ''
    returnType: void
    signature: void eb_add_basic(eb_t r, const eb_t p, const eb_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_add.c:419,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_add.c:422,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_add.c:427,1
    - Dst: eb_neg_basic
      Src: /src/relic/src/eb/relic_eb_add.c:429,1
    - Dst: eb_add_basic
      Src: /src/relic/src/eb/relic_eb_add.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - eb_t
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 433
      start: 416
    functionDepth: 6
    functionLinenumber: 416
    functionLinenumberEnd: 433
    functionName: eb_sub_basic
    functionSourceFile: /src/relic/src/eb/relic_eb_add.c
    functionUses: 1
    functionsReached:
    - eb_set_infty
    - eb_null
    - eb_neg_basic
    - eb_new
    - eb_add_basic
    linkageType: ''
    returnType: void
    signature: void eb_sub_basic(eb_t r, const eb_t p, const eb_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_add.c:447,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_add.c:448,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_add.c:452,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_add.c:453,1
    - Dst: eb_add_projc_imp
      Src: /src/relic/src/eb/relic_eb_add.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - eb_t
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 458
      start: 446
    functionDepth: 6
    functionLinenumber: 446
    functionLinenumberEnd: 458
    functionName: eb_add_projc
    functionSourceFile: /src/relic/src/eb/relic_eb_add.c
    functionUses: 2
    functionsReached:
    - eb_is_infty
    - eb_copy
    - eb_add_projc_imp
    linkageType: ''
    returnType: void
    signature: void eb_add_projc(eb_t r, const eb_t p, const eb_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_add.c:463,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_add.c:466,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_add.c:471,1
    - Dst: eb_neg_projc
      Src: /src/relic/src/eb/relic_eb_add.c:473,1
    - Dst: eb_add_projc
      Src: /src/relic/src/eb/relic_eb_add.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - eb_t
    - eb_t
    - eb_t
    constantsTouched: []
    func_position:
      end: 475
      start: 460
    functionDepth: 7
    functionLinenumber: 460
    functionLinenumberEnd: 475
    functionName: eb_sub_projc
    functionSourceFile: /src/relic/src/eb/relic_eb_add.c
    functionUses: 1
    functionsReached:
    - eb_neg_projc
    - eb_set_infty
    - eb_add_projc
    - eb_new
    - eb_null
    linkageType: ''
    returnType: void
    signature: void eb_sub_projc(eb_t r, const eb_t p, const eb_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:56,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:57,1
    - Dst: eb_curve_opt_a
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:62,1
    - Dst: bn_rec_tnaf
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:70,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:74,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:76,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:80,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:84,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:87,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:91,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:92,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - eb_t
    - eb_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 95
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 95
    functionName: eb_mul_fix_kbltz
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_fix.c
    functionUses: 0
    functionsReached:
    - eb_norm
    - eb_copy
    - eb_curve_opt_a
    - eb_frb
    - eb_set_infty
    - eb_sub
    - bn_sign
    - eb_neg
    - bn_rec_tnaf
    - bn_is_zero
    - eb_add
    linkageType: ''
    returnType: void
    signature: void eb_mul_fix_kbltz(eb_t r, const eb_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:114,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:115,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:121,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:125,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:129,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:133,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:136,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:140,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:141,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - eb_t
    - eb_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 144
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 144
    functionName: eb_mul_fix_plain
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_fix.c
    functionUses: 0
    functionsReached:
    - eb_norm
    - eb_copy
    - eb_set_infty
    - eb_sub
    - bn_rec_naf
    - bn_sign
    - eb_neg
    - eb_dbl
    - bn_is_zero
    - eb_add
    linkageType: ''
    returnType: void
    signature: void eb_mul_fix_plain(eb_t r, const eb_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:159,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:162,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:164,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:166,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:167,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:168,1
    - Dst: eb_norm_sim
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:171,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - eb_t*
    - eb_t
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: eb_mul_pre_basic
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_null
    - eb_copy
    - eb_norm_sim
    - bn_new
    - bn_bits
    - eb_dbl
    - eb_curve_get_ord
    linkageType: ''
    returnType: void
    signature: void eb_mul_pre_basic(eb_t *t, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:182,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:183,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:187,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:188,1
    - Dst: bn_get_bit
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:189,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:190,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:193,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:194,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - eb_t
    - eb_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: eb_mul_fix_basic
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_fix.c
    functionUses: 1
    functionsReached:
    - eb_norm
    - bn_get_bit
    - eb_set_infty
    - bn_sign
    - eb_neg
    - bn_bits
    - bn_is_zero
    - eb_add
    linkageType: ''
    returnType: void
    signature: void eb_mul_fix_basic(eb_t r, const eb_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:207,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:210,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:212,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:213,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:213,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:215,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:217,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:219,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:221,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:224,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:227,1
    - Dst: eb_norm_sim
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - eb_t*
    - eb_t
    constantsTouched: []
    func_position:
      end: 232
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 232
    functionName: eb_mul_pre_combs
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_null
    - eb_copy
    - eb_norm_sim
    - eb_set_infty
    - RLC_CEIL
    - bn_new
    - bn_bits
    - eb_dbl
    - eb_add
    - eb_curve_get_ord
    - eb_norm
    linkageType: ''
    returnType: void
    signature: void eb_mul_pre_combs(eb_t *t, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:245,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:246,1
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:250,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:253,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:255,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:256,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:256,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:258,1
    - Dst: bn_get_bit
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:265,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:269,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:272,1
    - Dst: bn_get_bit
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:278,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:283,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:286,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:287,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:288,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - eb_t
    - eb_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 290
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 290
    functionName: eb_mul_fix_combs
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_fix.c
    functionUses: 1
    functionsReached:
    - eb_norm
    - bn_get_bit
    - bn_null
    - eb_copy
    - eb_set_infty
    - RLC_CEIL
    - bn_sign
    - eb_neg
    - bn_new
    - bn_bits
    - eb_dbl
    - bn_is_zero
    - eb_curve_get_ord
    - eb_add
    linkageType: ''
    returnType: void
    signature: void eb_mul_fix_combs(eb_t r, const eb_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:307,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:310,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:312,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:313,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:313,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:316,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:317,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:319,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:321,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:324,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:327,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:329,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:331,1
    - Dst: eb_norm_sim
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:335,1
    - Dst: eb_norm_sim
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - eb_t*
    - eb_t
    constantsTouched: []
    func_position:
      end: 338
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 338
    functionName: eb_mul_pre_combd
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_null
    - eb_copy
    - eb_norm_sim
    - eb_set_infty
    - RLC_CEIL
    - bn_new
    - bn_bits
    - eb_dbl
    - eb_curve_get_ord
    - eb_add
    linkageType: ''
    returnType: void
    signature: void eb_mul_pre_combd(eb_t *t, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:351,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:352,1
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:356,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:359,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:361,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:363,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:363,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:366,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:367,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:371,1
    - Dst: bn_get_bit
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:377,1
    - Dst: bn_get_bit
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:386,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:391,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:392,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:394,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:395,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:396,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - eb_t
    - eb_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 398
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 398
    functionName: eb_mul_fix_combd
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_fix.c
    functionUses: 1
    functionsReached:
    - eb_norm
    - bn_get_bit
    - bn_null
    - eb_set_infty
    - RLC_CEIL
    - bn_sign
    - eb_neg
    - bn_new
    - bn_bits
    - eb_dbl
    - bn_is_zero
    - eb_curve_get_ord
    - eb_add
    linkageType: ''
    returnType: void
    signature: void eb_mul_fix_combd(eb_t r, const eb_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_tab
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - eb_t*
    - eb_t
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 4
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: eb_mul_pre_lwnaf
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_fix.c
    functionUses: 1
    functionsReached:
    - eb_tab
    linkageType: ''
    returnType: void
    signature: void eb_mul_pre_lwnaf(eb_t *t, const eb_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_curve_is_kbltz
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:417,1
    - Dst: eb_mul_fix_kbltz
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:418,1
    - Dst: eb_mul_fix_plain
      Src: /src/relic/src/eb/relic_eb_mul_fix.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - eb_t
    - eb_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 426
      start: 415
    functionDepth: 4
    functionLinenumber: 415
    functionLinenumberEnd: 426
    functionName: eb_mul_fix_lwnaf
    functionSourceFile: /src/relic/src/eb/relic_eb_mul_fix.c
    functionUses: 1
    functionsReached:
    - eb_mul_fix_kbltz
    - eb_mul_fix_plain
    - eb_curve_is_kbltz
    linkageType: ''
    returnType: void
    signature: void eb_mul_fix_lwnaf(eb_t r, const eb_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_curve_opt_a
      Src: /src/relic/src/eb/relic_eb_mul.c:57,1
    - Dst: for
      Src: /src/relic/src/eb/relic_eb_mul.c:65,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul.c:66,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul.c:67,1
    - Dst: eb_tab
      Src: /src/relic/src/eb/relic_eb_mul.c:70,1
    - Dst: bn_rec_tnaf
      Src: /src/relic/src/eb/relic_eb_mul.c:74,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:78,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:80,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:84,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:88,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:91,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul.c:95,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul.c:96,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:97,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_mul.c:101,1
    - Dst: eb_free
      Src: /src/relic/src/eb/relic_eb_mul.c:106,1
    - Dst: for
      Src: /src/relic/src/eb/relic_eb_mul.c:131,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul.c:132,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul.c:133,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:134,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_mul.c:135,1
    - Dst: eb_tab
      Src: /src/relic/src/eb/relic_eb_mul.c:140,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/eb/relic_eb_mul.c:144,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:148,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:152,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:156,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:159,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul.c:163,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul.c:164,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:165,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_mul.c:169,1
    - Dst: eb_free
      Src: /src/relic/src/eb/relic_eb_mul.c:174,1
    - Dst: defined
      Src: /src/relic/src/eb/relic_eb_mul.c:182,1
    - Dst: eb_curve_opt_a
      Src: /src/relic/src/eb/relic_eb_mul.c:200,1
    - Dst: for
      Src: /src/relic/src/eb/relic_eb_mul.c:208,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul.c:209,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul.c:210,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:211,1
    - Dst: bn_rec_tnaf
      Src: /src/relic/src/eb/relic_eb_mul.c:216,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:218,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:222,1
    - Dst: if
      Src: /src/relic/src/eb/relic_eb_mul.c:224,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:225,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_mul.c:229,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_mul.c:230,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:233,1
    - Dst: defined
      Src: /src/relic/src/eb/relic_eb_mul.c:235,1
    - Dst: eb_norm_sim
      Src: /src/relic/src/eb/relic_eb_mul.c:236,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:240,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:249,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:251,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:254,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:258,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:259,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:260,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:262,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:263,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:264,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:268,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:269,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:270,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:272,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:276,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:277,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:278,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:280,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:281,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:282,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:284,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:285,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:286,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:287,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:288,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:289,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:291,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:295,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:296,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:297,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:298,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:299,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:300,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:301,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:303,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:304,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:305,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:306,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:307,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:308,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:309,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:311,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:312,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:313,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:314,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:315,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:319,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:320,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:321,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:323,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:326,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:327,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:328,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:330,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:331,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:332,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:334,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:337,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:338,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:339,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:341,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:342,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:343,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:344,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:345,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:346,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:347,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:349,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:353,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:354,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:355,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:356,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:357,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:358,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:359,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:361,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:365,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:366,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:367,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:368,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:369,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:370,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:371,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:373,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:374,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:375,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:376,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:377,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:378,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:379,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:381,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:382,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:383,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:384,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:385,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:387,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:388,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:389,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:390,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:391,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:393,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:394,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:395,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:397,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:400,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:401,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:402,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:403,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:404,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:405,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:406,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:408,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:409,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:410,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:411,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:412,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:413,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:414,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:416,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:417,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:418,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:420,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:424,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:425,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:426,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:428,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:432,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:433,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:434,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:435,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:437,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:438,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:439,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:440,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:442,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:443,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:444,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:445,1
    - Dst: eb_frb
      Src: /src/relic/src/eb/relic_eb_mul.c:446,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:448,1
    - Dst: defined
      Src: /src/relic/src/eb/relic_eb_mul.c:453,1
    - Dst: eb_norm_sim
      Src: /src/relic/src/eb/relic_eb_mul.c:454,1
    - Dst: if
      Src: /src/relic/src/eb/relic_eb_mul.c:459,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:460,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:462,1
    - Dst: r
      Src: /src/relic/src/eb/relic_eb_mul.c:466,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul.c:467,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:468,1
    - Dst: eb_free
      Src: /src/relic/src/eb/relic_eb_mul.c:477,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - eb_t
    - eb_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 479
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 479
    functionName: eb_mul_ltnaf_imp
    functionSourceFile: /src/relic/src/eb/relic_eb_mul.c
    functionUses: 0
    functionsReached:
    - eb_frb
    - eb_norm_sim
    - if
    - fb_set_dig
    - fb_sqr
    - for
    - eb_neg
    - bn_rec_tnaf
    - eb_dbl
    - eb_tab
    - eb_copy
    - RLC_THROW
    - eb_sub
    - eb_set_infty
    - defined
    - eb_curve_opt_a
    - bn_sign
    - eb_free
    - eb_norm
    - eb_add
    - r
    - bn_rec_naf
    - eb_new
    - eb_null
    linkageType: ''
    returnType: void
    signature: void eb_mul_ltnaf_imp(eb_t r, const eb_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for
      Src: /src/relic/src/eb/relic_eb_mul.c:502,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul.c:503,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul.c:504,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:505,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/eb/relic_eb_mul.c:510,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:512,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:516,1
    - Dst: if
      Src: /src/relic/src/eb/relic_eb_mul.c:518,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:519,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:522,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:525,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:529,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:530,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:534,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:535,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:536,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:539,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:540,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:541,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:542,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:546,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:547,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:548,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:549,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:552,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:553,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:554,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:555,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:556,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:559,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:560,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:561,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:562,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:563,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:566,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:567,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:568,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:569,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:570,1
    - Dst: for
      Src: /src/relic/src/eb/relic_eb_mul.c:573,1
    - Dst: eb_mul_dig
      Src: /src/relic/src/eb/relic_eb_mul.c:574,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:576,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:577,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:578,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:579,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:580,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:581,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:587,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:589,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul.c:593,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul.c:594,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:595,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_mul.c:599,1
    - Dst: eb_free
      Src: /src/relic/src/eb/relic_eb_mul.c:604,1
    - Dst: defined
      Src: /src/relic/src/eb/relic_eb_mul.c:616,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul.c:620,1
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul.c:625,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:625,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:626,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul.c:631,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_mul.c:633,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul.c:636,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/eb/relic_eb_mul.c:637,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:638,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:640,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:644,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:646,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul.c:650,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul.c:651,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:652,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - eb_t
    - eb_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 654
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 654
    functionName: eb_mul_rnaf_imp
    functionSourceFile: /src/relic/src/eb/relic_eb_mul.c
    functionUses: 0
    functionsReached:
    - if
    - eb_is_infty
    - for
    - eb_neg
    - eb_dbl
    - eb_copy
    - RLC_THROW
    - eb_set_infty
    - eb_sub
    - defined
    - bn_sign
    - eb_mul_dig
    - eb_free
    - bn_is_zero
    - eb_norm
    - eb_add
    - bn_rec_naf
    - bn_bits
    - eb_new
    - eb_null
    linkageType: ''
    returnType: void
    signature: void eb_mul_rnaf_imp(eb_t r, const eb_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul.c:674,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:675,1
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_mul.c:679,1
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_mul.c:680,1
    - Dst: dv_null
      Src: /src/relic/src/eb/relic_eb_mul.c:681,1
    - Dst: dv_null
      Src: /src/relic/src/eb/relic_eb_mul.c:682,1
    - Dst: dv_null
      Src: /src/relic/src/eb/relic_eb_mul.c:683,1
    - Dst: dv_null
      Src: /src/relic/src/eb/relic_eb_mul.c:684,1
    - Dst: dv_null
      Src: /src/relic/src/eb/relic_eb_mul.c:685,1
    - Dst: dv_null
      Src: /src/relic/src/eb/relic_eb_mul.c:686,1
    - Dst: dv_null
      Src: /src/relic/src/eb/relic_eb_mul.c:687,1
    - Dst: dv_null
      Src: /src/relic/src/eb/relic_eb_mul.c:688,1
    - Dst: dv_null
      Src: /src/relic/src/eb/relic_eb_mul.c:689,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_mul.c:692,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_mul.c:693,1
    - Dst: dv_new
      Src: /src/relic/src/eb/relic_eb_mul.c:694,1
    - Dst: dv_new
      Src: /src/relic/src/eb/relic_eb_mul.c:695,1
    - Dst: dv_new
      Src: /src/relic/src/eb/relic_eb_mul.c:696,1
    - Dst: dv_new
      Src: /src/relic/src/eb/relic_eb_mul.c:697,1
    - Dst: dv_new
      Src: /src/relic/src/eb/relic_eb_mul.c:698,1
    - Dst: dv_new
      Src: /src/relic/src/eb/relic_eb_mul.c:699,1
    - Dst: dv_new
      Src: /src/relic/src/eb/relic_eb_mul.c:700,1
    - Dst: dv_new
      Src: /src/relic/src/eb/relic_eb_mul.c:701,1
    - Dst: dv_new
      Src: /src/relic/src/eb/relic_eb_mul.c:702,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_mul.c:704,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_mul.c:705,1
    - Dst: dv_zero
      Src: /src/relic/src/eb/relic_eb_mul.c:706,1
    - Dst: eb_curve_get_b
      Src: /src/relic/src/eb/relic_eb_mul.c:708,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/src/eb/relic_eb_mul.c:709,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul.c:710,1
    - Dst: bn_abs
      Src: /src/relic/src/eb/relic_eb_mul.c:712,1
    - Dst: bn_add
      Src: /src/relic/src/eb/relic_eb_mul.c:713,1
    - Dst: bn_add
      Src: /src/relic/src/eb/relic_eb_mul.c:714,1
    - Dst: dv_swap_sec
      Src: /src/relic/src/eb/relic_eb_mul.c:715,1
    - Dst: RLC_MAX
      Src: /src/relic/src/eb/relic_eb_mul.c:715,1
    - Dst: bn_get_bit
      Src: /src/relic/src/eb/relic_eb_mul.c:716,1
    - Dst: RLC_SEL
      Src: /src/relic/src/eb/relic_eb_mul.c:717,1
    - Dst: bn_get_bit
      Src: /src/relic/src/eb/relic_eb_mul.c:717,1
    - Dst: eb_curve_opt_b
      Src: /src/relic/src/eb/relic_eb_mul.c:719,1
    - Dst: fb_add_dig
      Src: /src/relic/src/eb/relic_eb_mul.c:723,1
    - Dst: fb_add_dig
      Src: /src/relic/src/eb/relic_eb_mul.c:726,1
    - Dst: fb_addn_low
      Src: /src/relic/src/eb/relic_eb_mul.c:729,1
    - Dst: fb_rand
      Src: /src/relic/src/eb/relic_eb_mul.c:734,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:735,1
    - Dst: fb_rand
      Src: /src/relic/src/eb/relic_eb_mul.c:736,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:737,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:738,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:742,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:743,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:744,1
    - Dst: fb_muln_low
      Src: /src/relic/src/eb/relic_eb_mul.c:745,1
    - Dst: dv_swap_sec
      Src: /src/relic/src/eb/relic_eb_mul.c:746,1
    - Dst: dv_swap_sec
      Src: /src/relic/src/eb/relic_eb_mul.c:747,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_mul.c:748,1
    - Dst: fb_muln_low
      Src: /src/relic/src/eb/relic_eb_mul.c:749,1
    - Dst: fb_addd_low
      Src: /src/relic/src/eb/relic_eb_mul.c:750,1
    - Dst: fb_rdcn_low
      Src: /src/relic/src/eb/relic_eb_mul.c:751,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_mul.c:752,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_mul.c:753,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:754,1
    - Dst: eb_curve_opt_b
      Src: /src/relic/src/eb/relic_eb_mul.c:755,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_mul.c:757,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:760,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_mul.c:761,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_mul.c:764,1
    - Dst: fb_sqrl_low
      Src: /src/relic/src/eb/relic_eb_mul.c:765,1
    - Dst: fb_mul1_low
      Src: /src/relic/src/eb/relic_eb_mul.c:766,1
    - Dst: fb_addd_low
      Src: /src/relic/src/eb/relic_eb_mul.c:767,1
    - Dst: fb_rdcn_low
      Src: /src/relic/src/eb/relic_eb_mul.c:768,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_mul.c:771,1
    - Dst: fb_sqrl_low
      Src: /src/relic/src/eb/relic_eb_mul.c:772,1
    - Dst: fb_muln_low
      Src: /src/relic/src/eb/relic_eb_mul.c:773,1
    - Dst: fb_addd_low
      Src: /src/relic/src/eb/relic_eb_mul.c:774,1
    - Dst: fb_rdcn_low
      Src: /src/relic/src/eb/relic_eb_mul.c:775,1
    - Dst: dv_swap_sec
      Src: /src/relic/src/eb/relic_eb_mul.c:778,1
    - Dst: dv_swap_sec
      Src: /src/relic/src/eb/relic_eb_mul.c:779,1
    - Dst: fb_is_zero
      Src: /src/relic/src/eb/relic_eb_mul.c:782,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:784,1
    - Dst: fb_is_zero
      Src: /src/relic/src/eb/relic_eb_mul.c:786,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:787,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:788,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_mul.c:789,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:792,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:794,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:795,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:797,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:799,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:801,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:802,1
    - Dst: fb_sqr
      Src: /src/relic/src/eb/relic_eb_mul.c:805,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:806,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:807,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:808,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:811,1
    - Dst: fb_inv
      Src: /src/relic/src/eb/relic_eb_mul.c:812,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:814,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:816,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:818,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:821,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:822,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:824,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:825,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_mul.c:826,1
    - Dst: bn_sign
      Src: /src/relic/src/eb/relic_eb_mul.c:831,1
    - Dst: eb_neg
      Src: /src/relic/src/eb/relic_eb_mul.c:832,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 131
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - eb_t
    - eb_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 834
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 834
    functionName: eb_mul_lodah
    functionSourceFile: /src/relic/src/eb/relic_eb_mul.c
    functionUses: 1
    functionsReached:
    - fb_is_zero
    - fb_muln_low
    - fb_rand
    - fb_sqr
    - fb_add
    - fb_set_dig
    - eb_neg
    - eb_curve_opt_b
    - fb_inv
    - eb_curve_get_ord
    - fb_sqrl_low
    - bn_abs
    - dv_zero
    - bn_null
    - dv_swap_sec
    - fb_rdcn_low
    - eb_set_infty
    - eb_curve_get_b
    - RLC_SEL
    - dv_null
    - fb_copy
    - fb_mul1_low
    - bn_sign
    - dv_new
    - bn_new
    - fb_add_dig
    - bn_is_zero
    - fb_addn_low
    - bn_add
    - fb_addd_low
    - bn_get_bit
    - fb_mul
    - RLC_MAX
    - bn_bits
    linkageType: ''
    returnType: void
    signature: void eb_mul_lodah(eb_t r, const eb_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul.c:858,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:858,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:859,1
    - Dst: eb_curve_is_kbltz
      Src: /src/relic/src/eb/relic_eb_mul.c:864,1
    - Dst: eb_mul_ltnaf_imp
      Src: /src/relic/src/eb/relic_eb_mul.c:865,1
    - Dst: eb_mul_lnaf_imp
      Src: /src/relic/src/eb/relic_eb_mul.c:871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - eb_t
    - eb_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 873
      start: 857
    functionDepth: 5
    functionLinenumber: 857
    functionLinenumberEnd: 873
    functionName: eb_mul_lwnaf
    functionSourceFile: /src/relic/src/eb/relic_eb_mul.c
    functionUses: 1
    functionsReached:
    - eb_set_infty
    - eb_is_infty
    - eb_mul_ltnaf_imp
    - eb_mul_lnaf_imp
    - bn_is_zero
    - eb_curve_is_kbltz
    linkageType: ''
    returnType: void
    signature: void eb_mul_lwnaf(eb_t r, const eb_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul.c:880,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:880,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:881,1
    - Dst: eb_curve_is_kbltz
      Src: /src/relic/src/eb/relic_eb_mul.c:886,1
    - Dst: eb_mul_rtnaf_imp
      Src: /src/relic/src/eb/relic_eb_mul.c:887,1
    - Dst: RLC_THROW
      Src: /src/relic/src/eb/relic_eb_mul.c:896,1
    - Dst: eb_mul_rnaf_imp
      Src: /src/relic/src/eb/relic_eb_mul.c:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - eb_t
    - eb_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 901
      start: 879
    functionDepth: 4
    functionLinenumber: 879
    functionLinenumberEnd: 901
    functionName: eb_mul_rwnaf
    functionSourceFile: /src/relic/src/eb/relic_eb_mul.c
    functionUses: 1
    functionsReached:
    - eb_mul_rtnaf_imp
    - RLC_THROW
    - eb_set_infty
    - eb_is_infty
    - eb_mul_rnaf_imp
    - bn_is_zero
    - eb_curve_is_kbltz
    linkageType: ''
    returnType: void
    signature: void eb_mul_rwnaf(eb_t r, const eb_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/eb/relic_eb_mul.c:915,1
    - Dst: eb_is_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:915,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:916,1
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_mul.c:920,1
    - Dst: bn_null
      Src: /src/relic/src/eb/relic_eb_mul.c:921,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul.c:922,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul.c:923,1
    - Dst: eb_null
      Src: /src/relic/src/eb/relic_eb_mul.c:925,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_mul.c:927,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_mul.c:928,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_mul.c:929,1
    - Dst: fb_null
      Src: /src/relic/src/eb/relic_eb_mul.c:930,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_mul.c:933,1
    - Dst: bn_new
      Src: /src/relic/src/eb/relic_eb_mul.c:934,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul.c:935,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul.c:936,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_mul.c:937,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_mul.c:938,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_mul.c:939,1
    - Dst: fb_new
      Src: /src/relic/src/eb/relic_eb_mul.c:940,1
    - Dst: eb_new
      Src: /src/relic/src/eb/relic_eb_mul.c:944,1
    - Dst: eb_set_infty
      Src: /src/relic/src/eb/relic_eb_mul.c:945,1
    - Dst: eb_curve_get_ord
      Src: /src/relic/src/eb/relic_eb_mul.c:949,1
    - Dst: bn_lsh
      Src: /src/relic/src/eb/relic_eb_mul.c:950,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul.c:950,1
    - Dst: bn_mod
      Src: /src/relic/src/eb/relic_eb_mul.c:951,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/eb/relic_eb_mul.c:955,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul.c:957,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:958,1
    - Dst: bn_bits
      Src: /src/relic/src/eb/relic_eb_mul.c:960,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:963,1
    - Dst: eb_curve_get_cof
      Src: /src/relic/src/eb/relic_eb_mul.c:964,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/eb/relic_eb_mul.c:967,1
    - Dst: fb_trc
      Src: /src/relic/src/eb/relic_eb_mul.c:973,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_mul.c:973,1
    - Dst: fb_srt
      Src: /src/relic/src/eb/relic_eb_mul.c:977,1
    - Dst: eb_curve_get_a
      Src: /src/relic/src/eb/relic_eb_mul.c:977,1
    - Dst: fb_slv
      Src: /src/relic/src/eb/relic_eb_mul.c:978,1
    - Dst: bn_rand
      Src: /src/relic/src/eb/relic_eb_mul.c:980,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul.c:985,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:986,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul.c:989,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:990,1
    - Dst: eb_hlv
      Src: /src/relic/src/eb/relic_eb_mul.c:994,1
    - Dst: fb_trc
      Src: /src/relic/src/eb/relic_eb_mul.c:997,1
    - Dst: fb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:999,1
    - Dst: fb_srt
      Src: /src/relic/src/eb/relic_eb_mul.c:1000,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1001,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1002,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1004,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1005,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1006,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1008,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1009,1
    - Dst: fb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1010,1
    - Dst: fb_mul
      Src: /src/relic/src/eb/relic_eb_mul.c:1012,1
    - Dst: fb_srt
      Src: /src/relic/src/eb/relic_eb_mul.c:1013,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_mul.c:1014,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:1017,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul.c:1023,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1024,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul.c:1027,1
    - Dst: eb_sub
      Src: /src/relic/src/eb/relic_eb_mul.c:1028,1
    - Dst: eb_hlv
      Src: /src/relic/src/eb/relic_eb_mul.c:1030,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul.c:1035,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1039,1
    - Dst: eb_copy
      Src: /src/relic/src/eb/relic_eb_mul.c:1042,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1044,1
    - Dst: eb_dbl
      Src: /src/relic/src/eb/relic_eb_mul.c:1046,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1047,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul.c:1048,1
    - Dst: eb_hlv
      Src: /src/relic/src/eb/relic_eb_mul.c:1054,1
    - Dst: fb_trc
      Src: /src/relic/src/eb/relic_eb_mul.c:1055,1
    - Dst: fb_zero
      Src: /src/relic/src/eb/relic_eb_mul.c:1056,1
    - Dst: fb_srt
      Src: /src/relic/src/eb/relic_eb_mul.c:1057,1
    - Dst: eb_curve_get_b
      Src: /src/relic/src/eb/relic_eb_mul.c:1057,1
    - Dst: fb_set_dig
      Src: /src/relic/src/eb/relic_eb_mul.c:1058,1
    - Dst: eb_add
      Src: /src/relic/src/eb/relic_eb_mul.c:1059,1
    - Dst: eb_norm
      Src: /src/relic/src/eb/relic_eb_mul.c:1060,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 114
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - eb_t
    - eb_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 1063
      start: 907
    functionDepth: 3
    functionLinenumber: 907
    functionLinenumberEnd: 1063
    functionName: eb_mul_halve
    functionSourceFile: /src/relic/src/eb/relic_eb_mul.c
    functionUses: 1
    functionsReached:
    - fb_add
    - eb_is_infty
    - fb_set_dig
    - eb_curve_get_cof
    - eb_dbl
    - eb_curve_get_ord
    - bn_null
    - eb_copy
    - eb_set_infty
    - bn_mod
    - bn_cmp_dig
    - eb_sub
    - fb_null
    - eb_curve_get_b
    - eb_curve_get_a
    - fb_zero
    - fb_copy
    - bn_rand
    - bn_lsh
    - fb_slv
    - bn_new
    - bn_is_zero
    - eb_hlv
    - eb_norm
    - eb_add
    - fb_trc
    - fb_mul
    - fb_new
    - bn_rec_naf
    - bn_bits
    - eb_new
    - fb_srt
    - eb_null
    linkageType: ''
    returnType: void
    signature: void eb_mul_halve(eb_t r, const eb_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_rand_imp
      Src: /src/relic/src/pc/relic_pc_util.c:51,1
    - Dst: pp_exp_k48
      Src: /src/relic/src/pc/relic_pc_util.c:54,1
    - Dst: pp_exp_k24
      Src: /src/relic/src/pc/relic_pc_util.c:56,1
    - Dst: pp_exp_k16
      Src: /src/relic/src/pc/relic_pc_util.c:58,1
    - Dst: pp_exp_k18
      Src: /src/relic/src/pc/relic_pc_util.c:60,1
    - Dst: pp_exp_k8
      Src: /src/relic/src/pc/relic_pc_util.c:62,1
    - Dst: pp_exp_k12
      Src: /src/relic/src/pc/relic_pc_util.c:64,1
    - Dst: pp_exp_k2
      Src: /src/relic/src/pc/relic_pc_util.c:68,1
    - Dst: pp_exp_k1
      Src: /src/relic/src/pc/relic_pc_util.c:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - gt_t
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: gt_rand
    functionSourceFile: /src/relic/src/pc/relic_pc_util.c
    functionUses: 7
    functionsReached:
    - pp_exp_k16
    - pp_exp_k48
    - pp_exp_k8
    - pp_exp_k2
    - pp_exp_k24
    - pp_exp_k18
    - pp_exp_k1
    - gt_rand_imp
    - pp_exp_k12
    linkageType: ''
    returnType: void
    signature: void gt_rand(gt_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_util.c:76,1
    - Dst: core_get
      Src: /src/relic/src/pc/relic_pc_util.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - gt_t
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: gt_get_gen
    functionSourceFile: /src/relic/src/pc/relic_pc_util.c
    functionUses: 1
    functionsReached:
    - gt_copy
    - core_get
    linkageType: ''
    returnType: void
    signature: void gt_get_gen(gt_t g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_is_infty
      Src: /src/relic/src/pc/relic_pc_util.c:85,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_util.c:89,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_util.c:90,1
    - Dst: g1_null
      Src: /src/relic/src/pc/relic_pc_util.c:91,1
    - Dst: g1_null
      Src: /src/relic/src/pc/relic_pc_util.c:92,1
    - Dst: g1_null
      Src: /src/relic/src/pc/relic_pc_util.c:93,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_util.c:96,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_util.c:97,1
    - Dst: g1_new
      Src: /src/relic/src/pc/relic_pc_util.c:98,1
    - Dst: g1_new
      Src: /src/relic/src/pc/relic_pc_util.c:99,1
    - Dst: g1_new
      Src: /src/relic/src/pc/relic_pc_util.c:100,1
    - Dst: ep_curve_get_cof
      Src: /src/relic/src/pc/relic_pc_util.c:102,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/pc/relic_pc_util.c:103,1
    - Dst: g1_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:105,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/pc/relic_pc_util.c:107,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_util.c:108,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:117,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:118,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_util.c:119,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:121,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:122,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_util.c:124,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:126,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:127,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:128,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:129,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:130,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:131,1
    - Dst: g1_neg
      Src: /src/relic/src/pc/relic_pc_util.c:133,1
    - Dst: ep_psi
      Src: /src/relic/src/pc/relic_pc_util.c:134,1
    - Dst: ep_psi
      Src: /src/relic/src/pc/relic_pc_util.c:135,1
    - Dst: g1_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:136,1
    - Dst: g1_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:136,1
    - Dst: bn_sqr
      Src: /src/relic/src/pc/relic_pc_util.c:141,1
    - Dst: bn_sqr
      Src: /src/relic/src/pc/relic_pc_util.c:142,1
    - Dst: ep_psi
      Src: /src/relic/src/pc/relic_pc_util.c:143,1
    - Dst: bn_is_even
      Src: /src/relic/src/pc/relic_pc_util.c:144,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/pc/relic_pc_util.c:145,1
    - Dst: bn_hlv
      Src: /src/relic/src/pc/relic_pc_util.c:146,1
    - Dst: g1_sub
      Src: /src/relic/src/pc/relic_pc_util.c:147,1
    - Dst: g1_norm
      Src: /src/relic/src/pc/relic_pc_util.c:148,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:150,1
    - Dst: g1_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:151,1
    - Dst: g1_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:151,1
    - Dst: bn_div_dig
      Src: /src/relic/src/pc/relic_pc_util.c:159,1
    - Dst: bn_sqr
      Src: /src/relic/src/pc/relic_pc_util.c:160,1
    - Dst: bn_sqr
      Src: /src/relic/src/pc/relic_pc_util.c:161,1
    - Dst: bn_add_dig
      Src: /src/relic/src/pc/relic_pc_util.c:162,1
    - Dst: bn_div_dig
      Src: /src/relic/src/pc/relic_pc_util.c:163,1
    - Dst: bn_mul_dig
      Src: /src/relic/src/pc/relic_pc_util.c:164,1
    - Dst: bn_neg
      Src: /src/relic/src/pc/relic_pc_util.c:165,1
    - Dst: bn_add_dig
      Src: /src/relic/src/pc/relic_pc_util.c:166,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:168,1
    - Dst: g1_dbl
      Src: /src/relic/src/pc/relic_pc_util.c:170,1
    - Dst: g1_dbl
      Src: /src/relic/src/pc/relic_pc_util.c:171,1
    - Dst: g1_dbl
      Src: /src/relic/src/pc/relic_pc_util.c:172,1
    - Dst: g1_dbl
      Src: /src/relic/src/pc/relic_pc_util.c:173,1
    - Dst: g1_add
      Src: /src/relic/src/pc/relic_pc_util.c:174,1
    - Dst: g1_dbl
      Src: /src/relic/src/pc/relic_pc_util.c:175,1
    - Dst: g1_sub
      Src: /src/relic/src/pc/relic_pc_util.c:176,1
    - Dst: ep_psi
      Src: /src/relic/src/pc/relic_pc_util.c:177,1
    - Dst: g1_add
      Src: /src/relic/src/pc/relic_pc_util.c:178,1
    - Dst: g1_neg
      Src: /src/relic/src/pc/relic_pc_util.c:179,1
    - Dst: g1_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:180,1
    - Dst: g1_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:180,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:184,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:185,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:186,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:187,1
    - Dst: ep_psi
      Src: /src/relic/src/pc/relic_pc_util.c:188,1
    - Dst: g1_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:189,1
    - Dst: g1_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:189,1
    - Dst: bn_div_dig
      Src: /src/relic/src/pc/relic_pc_util.c:194,1
    - Dst: bn_sqr
      Src: /src/relic/src/pc/relic_pc_util.c:195,1
    - Dst: bn_mul
      Src: /src/relic/src/pc/relic_pc_util.c:196,1
    - Dst: bn_mul_dig
      Src: /src/relic/src/pc/relic_pc_util.c:197,1
    - Dst: bn_add_dig
      Src: /src/relic/src/pc/relic_pc_util.c:198,1
    - Dst: ep_psi
      Src: /src/relic/src/pc/relic_pc_util.c:199,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/pc/relic_pc_util.c:202,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/pc/relic_pc_util.c:203,1
    - Dst: ep_copy
      Src: /src/relic/src/pc/relic_pc_util.c:205,1
    - Dst: g1_dbl
      Src: /src/relic/src/pc/relic_pc_util.c:207,1
    - Dst: g1_add
      Src: /src/relic/src/pc/relic_pc_util.c:209,1
    - Dst: g1_sub
      Src: /src/relic/src/pc/relic_pc_util.c:212,1
    - Dst: g1_add
      Src: /src/relic/src/pc/relic_pc_util.c:215,1
    - Dst: g1_sub
      Src: /src/relic/src/pc/relic_pc_util.c:218,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_util.c:221,1
    - Dst: g1_neg
      Src: /src/relic/src/pc/relic_pc_util.c:222,1
    - Dst: g1_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:224,1
    - Dst: g1_is_infty
      Src: /src/relic/src/pc/relic_pc_util.c:224,1
    - Dst: ep_psi
      Src: /src/relic/src/pc/relic_pc_util.c:228,1
    - Dst: bn_sqr
      Src: /src/relic/src/pc/relic_pc_util.c:229,1
    - Dst: bn_mul
      Src: /src/relic/src/pc/relic_pc_util.c:230,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/pc/relic_pc_util.c:231,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:232,1
    - Dst: g1_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:233,1
    - Dst: g1_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:233,1
    - Dst: ep_psi
      Src: /src/relic/src/pc/relic_pc_util.c:238,1
    - Dst: ep_psi
      Src: /src/relic/src/pc/relic_pc_util.c:239,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:240,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:241,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:242,1
    - Dst: g1_mul_dig
      Src: /src/relic/src/pc/relic_pc_util.c:243,1
    - Dst: g1_dbl
      Src: /src/relic/src/pc/relic_pc_util.c:244,1
    - Dst: g1_add
      Src: /src/relic/src/pc/relic_pc_util.c:245,1
    - Dst: g1_norm
      Src: /src/relic/src/pc/relic_pc_util.c:246,1
    - Dst: g1_neg
      Src: /src/relic/src/pc/relic_pc_util.c:247,1
    - Dst: g1_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:248,1
    - Dst: g1_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:248,1
    - Dst: pc_get_ord
      Src: /src/relic/src/pc/relic_pc_util.c:252,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/pc/relic_pc_util.c:253,1
    - Dst: g1_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:255,1
    - Dst: g1_neg
      Src: /src/relic/src/pc/relic_pc_util.c:256,1
    - Dst: g1_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:257,1
    - Dst: g1_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:257,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 146
    argCount: 1
    argNames:
    - a
    argTypes:
    - g1_t
    constantsTouched: []
    func_position:
      end: 261
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 261
    functionName: g1_is_valid
    functionSourceFile: /src/relic/src/pc/relic_pc_util.c
    functionUses: 2
    functionsReached:
    - bn_sqr
    - g1_neg
    - bn_sub_dig
    - g1_mul_dig
    - fp_prime_get_par
    - g1_dbl
    - bn_div_dig
    - g1_add
    - pc_get_ord
    - bn_mul
    - bn_null
    - bn_cmp_dig
    - g1_on_curve
    - ep_curve_get_cof
    - g1_norm
    - ep_curve_is_pairf
    - bn_is_even
    - g1_cmp
    - bn_add_dig
    - bn_hlv
    - bn_mul_dig
    - bn_sign
    - bn_neg
    - bn_new
    - ep_copy
    - g1_mul_any
    - g1_is_infty
    - ep_psi
    - g1_new
    - g1_null
    - bn_rec_naf
    - g1_sub
    linkageType: ''
    returnType: int
    signature: int g1_is_valid(const g1_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_is_valid
      Src: /src/relic/src/pc/relic_pc_util.c:276,1
    - Dst: g2_is_infty
      Src: /src/relic/src/pc/relic_pc_util.c:283,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_util.c:287,1
    - Dst: g2_null
      Src: /src/relic/src/pc/relic_pc_util.c:288,1
    - Dst: g2_null
      Src: /src/relic/src/pc/relic_pc_util.c:289,1
    - Dst: g2_null
      Src: /src/relic/src/pc/relic_pc_util.c:290,1
    - Dst: g2_null
      Src: /src/relic/src/pc/relic_pc_util.c:291,1
    - Dst: g2_null
      Src: /src/relic/src/pc/relic_pc_util.c:292,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_util.c:295,1
    - Dst: g2_new
      Src: /src/relic/src/pc/relic_pc_util.c:296,1
    - Dst: g2_new
      Src: /src/relic/src/pc/relic_pc_util.c:297,1
    - Dst: g2_new
      Src: /src/relic/src/pc/relic_pc_util.c:298,1
    - Dst: g2_new
      Src: /src/relic/src/pc/relic_pc_util.c:299,1
    - Dst: g2_new
      Src: /src/relic/src/pc/relic_pc_util.c:300,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/pc/relic_pc_util.c:302,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_util.c:303,1
    - Dst: core_get
      Src: /src/relic/src/pc/relic_pc_util.c:311,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:314,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:315,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:316,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/pc/relic_pc_util.c:319,1
    - Dst: g2_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:320,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:321,1
    - Dst: g2_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:323,1
    - Dst: g2_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:323,1
    - Dst: g2_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:330,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:331,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:332,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:333,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:334,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:335,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:336,1
    - Dst: g2_dbl
      Src: /src/relic/src/pc/relic_pc_util.c:337,1
    - Dst: g2_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:338,1
    - Dst: g2_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:338,1
    - Dst: g2_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:343,1
    - Dst: bn_is_even
      Src: /src/relic/src/pc/relic_pc_util.c:344,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:345,1
    - Dst: g2_copy
      Src: /src/relic/src/pc/relic_pc_util.c:346,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:348,1
    - Dst: g2_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:350,1
    - Dst: g2_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:350,1
    - Dst: bn_mod_dig
      Src: /src/relic/src/pc/relic_pc_util.c:357,1
    - Dst: bn_neg
      Src: /src/relic/src/pc/relic_pc_util.c:359,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/pc/relic_pc_util.c:362,1
    - Dst: bn_div_dig
      Src: /src/relic/src/pc/relic_pc_util.c:363,1
    - Dst: g2_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:366,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:367,1
    - Dst: g2_dbl
      Src: /src/relic/src/pc/relic_pc_util.c:368,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:369,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:370,1
    - Dst: g2_copy
      Src: /src/relic/src/pc/relic_pc_util.c:371,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:372,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:373,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:374,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:376,1
    - Dst: g2_sub
      Src: /src/relic/src/pc/relic_pc_util.c:378,1
    - Dst: g2_dbl
      Src: /src/relic/src/pc/relic_pc_util.c:380,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:381,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:382,1
    - Dst: g2_neg
      Src: /src/relic/src/pc/relic_pc_util.c:384,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:386,1
    - Dst: g2_sub
      Src: /src/relic/src/pc/relic_pc_util.c:387,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:388,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:390,1
    - Dst: g2_sub
      Src: /src/relic/src/pc/relic_pc_util.c:392,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:394,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:395,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:396,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:398,1
    - Dst: g2_sub
      Src: /src/relic/src/pc/relic_pc_util.c:400,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:402,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:403,1
    - Dst: g2_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:404,1
    - Dst: g2_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:404,1
    - Dst: g2_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:408,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:409,1
    - Dst: g2_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:410,1
    - Dst: g2_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:410,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:414,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:415,1
    - Dst: g2_dbl
      Src: /src/relic/src/pc/relic_pc_util.c:416,1
    - Dst: g2_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:417,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:418,1
    - Dst: g2_neg
      Src: /src/relic/src/pc/relic_pc_util.c:419,1
    - Dst: g2_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:420,1
    - Dst: g2_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:420,1
    - Dst: bn_neg
      Src: /src/relic/src/pc/relic_pc_util.c:424,1
    - Dst: g2_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:425,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:426,1
    - Dst: g2_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:427,1
    - Dst: g2_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:427,1
    - Dst: bn_mul_dig
      Src: /src/relic/src/pc/relic_pc_util.c:431,1
    - Dst: g2_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:432,1
    - Dst: g2_is_infty
      Src: /src/relic/src/pc/relic_pc_util.c:433,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:434,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:435,1
    - Dst: g2_add
      Src: /src/relic/src/pc/relic_pc_util.c:436,1
    - Dst: g2_frb
      Src: /src/relic/src/pc/relic_pc_util.c:437,1
    - Dst: g2_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:438,1
    - Dst: g2_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:438,1
    - Dst: pc_get_ord
      Src: /src/relic/src/pc/relic_pc_util.c:442,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/pc/relic_pc_util.c:443,1
    - Dst: g2_mul_any
      Src: /src/relic/src/pc/relic_pc_util.c:445,1
    - Dst: g2_neg
      Src: /src/relic/src/pc/relic_pc_util.c:446,1
    - Dst: g2_on_curve
      Src: /src/relic/src/pc/relic_pc_util.c:447,1
    - Dst: g2_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:447,1
    - Dst: RLC_THROW
      Src: /src/relic/src/pc/relic_pc_util.c:451,1
    - Dst: bn_free
      Src: /src/relic/src/pc/relic_pc_util.c:453,1
    - Dst: g2_free
      Src: /src/relic/src/pc/relic_pc_util.c:454,1
    - Dst: g2_free
      Src: /src/relic/src/pc/relic_pc_util.c:455,1
    - Dst: g2_free
      Src: /src/relic/src/pc/relic_pc_util.c:456,1
    - Dst: g2_free
      Src: /src/relic/src/pc/relic_pc_util.c:457,1
    - Dst: g2_free
      Src: /src/relic/src/pc/relic_pc_util.c:458,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 147
    argCount: 1
    argNames:
    - a
    argTypes:
    - g2_t
    constantsTouched: []
    func_position:
      end: 463
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 463
    functionName: g2_is_valid
    functionSourceFile: /src/relic/src/pc/relic_pc_util.c
    functionUses: 2
    functionsReached:
    - bn_sub_dig
    - fp_prime_get_par
    - bn_div_dig
    - pc_get_ord
    - g2_sub
    - g2_free
    - g2_null
    - bn_null
    - g2_neg
    - RLC_THROW
    - bn_mod_dig
    - g2_dbl
    - ep_curve_is_pairf
    - g2_is_infty
    - bn_is_even
    - bn_free
    - bn_mul_dig
    - bn_neg
    - bn_new
    - g2_copy
    - g1_is_valid
    - g2_mul_any
    - core_get
    - g2_cmp
    - g2_add
    - g2_frb
    - g2_on_curve
    - g2_new
    linkageType: ''
    returnType: int
    signature: int g2_is_valid(const g2_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_is_unity
      Src: /src/relic/src/pc/relic_pc_util.c:472,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_util.c:476,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_util.c:477,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_util.c:478,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_util.c:479,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_util.c:480,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_util.c:481,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_util.c:484,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_util.c:485,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_util.c:486,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_util.c:487,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_util.c:488,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_util.c:489,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/pc/relic_pc_util.c:491,1
    - Dst: fp_prime_get_par_sps
      Src: /src/relic/src/pc/relic_pc_util.c:492,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_util.c:493,1
    - Dst: core_get
      Src: /src/relic/src/pc/relic_pc_util.c:498,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:503,1
    - Dst: fp12_exp_cyc_sps
      Src: /src/relic/src/pc/relic_pc_util.c:504,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_util.c:504,1
    - Dst: gt_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:505,1
    - Dst: fp12_test_cyc
      Src: /src/relic/src/pc/relic_pc_util.c:507,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:511,1
    - Dst: fp24_exp_cyc_sps
      Src: /src/relic/src/pc/relic_pc_util.c:512,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_util.c:512,1
    - Dst: gt_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:513,1
    - Dst: fp24_test_cyc
      Src: /src/relic/src/pc/relic_pc_util.c:514,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:518,1
    - Dst: fp48_exp_cyc_sps
      Src: /src/relic/src/pc/relic_pc_util.c:519,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_util.c:519,1
    - Dst: gt_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:520,1
    - Dst: fp48_test_cyc
      Src: /src/relic/src/pc/relic_pc_util.c:521,1
    - Dst: fp12_exp_cyc_sps
      Src: /src/relic/src/pc/relic_pc_util.c:528,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_util.c:528,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:529,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:530,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:531,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:532,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:533,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:534,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_util.c:535,1
    - Dst: gt_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:536,1
    - Dst: fp12_test_cyc
      Src: /src/relic/src/pc/relic_pc_util.c:537,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/pc/relic_pc_util.c:542,1
    - Dst: gt_exp
      Src: /src/relic/src/pc/relic_pc_util.c:543,1
    - Dst: bn_is_even
      Src: /src/relic/src/pc/relic_pc_util.c:544,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:545,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_util.c:546,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:548,1
    - Dst: gt_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:550,1
    - Dst: fp16_test_cyc
      Src: /src/relic/src/pc/relic_pc_util.c:551,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/pc/relic_pc_util.c:554,1
    - Dst: bn_mod_dig
      Src: /src/relic/src/pc/relic_pc_util.c:555,1
    - Dst: bn_neg
      Src: /src/relic/src/pc/relic_pc_util.c:557,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/pc/relic_pc_util.c:560,1
    - Dst: bn_div_dig
      Src: /src/relic/src/pc/relic_pc_util.c:561,1
    - Dst: gt_exp
      Src: /src/relic/src/pc/relic_pc_util.c:565,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:566,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_util.c:567,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:568,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:569,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_util.c:570,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:571,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:572,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:573,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_util.c:575,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:577,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_util.c:578,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:579,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:580,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_util.c:582,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:584,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_util.c:585,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:586,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:587,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_util.c:589,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:591,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:592,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:593,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:594,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_util.c:596,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:598,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:599,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:600,1
    - Dst: gt_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:601,1
    - Dst: fp16_test_cyc
      Src: /src/relic/src/pc/relic_pc_util.c:602,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/pc/relic_pc_util.c:606,1
    - Dst: gt_exp
      Src: /src/relic/src/pc/relic_pc_util.c:607,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:608,1
    - Dst: gt_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:609,1
    - Dst: fp16_test_cyc
      Src: /src/relic/src/pc/relic_pc_util.c:610,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:614,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:615,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_util.c:616,1
    - Dst: fp18_exp_cyc_sps
      Src: /src/relic/src/pc/relic_pc_util.c:617,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_util.c:617,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:618,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_util.c:619,1
    - Dst: gt_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:620,1
    - Dst: fp18_test_cyc
      Src: /src/relic/src/pc/relic_pc_util.c:621,1
    - Dst: bn_neg
      Src: /src/relic/src/pc/relic_pc_util.c:625,1
    - Dst: gt_exp
      Src: /src/relic/src/pc/relic_pc_util.c:626,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:627,1
    - Dst: gt_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:628,1
    - Dst: fp18_test_cyc
      Src: /src/relic/src/pc/relic_pc_util.c:629,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/pc/relic_pc_util.c:633,1
    - Dst: bn_mul_dig
      Src: /src/relic/src/pc/relic_pc_util.c:634,1
    - Dst: gt_exp
      Src: /src/relic/src/pc/relic_pc_util.c:635,1
    - Dst: gt_is_unity
      Src: /src/relic/src/pc/relic_pc_util.c:636,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:637,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:638,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_util.c:639,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_util.c:640,1
    - Dst: fp18_test_cyc
      Src: /src/relic/src/pc/relic_pc_util.c:641,1
    - Dst: pc_get_ord
      Src: /src/relic/src/pc/relic_pc_util.c:644,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/pc/relic_pc_util.c:645,1
    - Dst: gt_exp
      Src: /src/relic/src/pc/relic_pc_util.c:646,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_util.c:647,1
    - Dst: gt_cmp
      Src: /src/relic/src/pc/relic_pc_util.c:648,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 154
    argCount: 1
    argNames:
    - a
    argTypes:
    - gt_t
    constantsTouched: []
    func_position:
      end: 651
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 651
    functionName: gt_is_valid
    functionSourceFile: /src/relic/src/pc/relic_pc_util.c
    functionUses: 1
    functionsReached:
    - gt_exp
    - fp12_exp_cyc_sps
    - bn_sub_dig
    - fp_prime_get_par
    - bn_div_dig
    - gt_sqr
    - pc_get_ord
    - gt_new
    - bn_null
    - gt_mul
    - fp16_test_cyc
    - fp48_exp_cyc_sps
    - bn_mod_dig
    - fp24_exp_cyc_sps
    - ep_curve_is_pairf
    - gt_null
    - bn_is_even
    - fp12_test_cyc
    - fp_prime_get_par_sps
    - fp48_test_cyc
    - bn_sign
    - gt_cmp
    - bn_neg
    - bn_new
    - fp18_exp_cyc_sps
    - bn_mul_dig
    - core_get
    - gt_inv
    - gt_copy
    - gt_frb
    - fp24_test_cyc
    - fp18_test_cyc
    - gt_is_unity
    linkageType: ''
    returnType: int
    signature: int gt_is_valid(const gt_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_core.c:41,1
    - Dst: core_get
      Src: /src/relic/src/pc/relic_pc_core.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: pc_core_init
    functionSourceFile: /src/relic/src/pc/relic_pc_core.c
    functionUses: 1
    functionsReached:
    - core_get
    - gt_new
    linkageType: ''
    returnType: void
    signature: void pc_core_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/pc/relic_pc_core.c:49,1
    - Dst: g2_null
      Src: /src/relic/src/pc/relic_pc_core.c:50,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_core.c:51,1
    - Dst: g1_new
      Src: /src/relic/src/pc/relic_pc_core.c:54,1
    - Dst: g2_new
      Src: /src/relic/src/pc/relic_pc_core.c:55,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_core.c:56,1
    - Dst: g1_get_gen
      Src: /src/relic/src/pc/relic_pc_core.c:58,1
    - Dst: g2_get_gen
      Src: /src/relic/src/pc/relic_pc_core.c:59,1
    - Dst: pc_map
      Src: /src/relic/src/pc/relic_pc_core.c:61,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_core.c:62,1
    - Dst: core_get
      Src: /src/relic/src/pc/relic_pc_core.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: pc_core_calc
    functionSourceFile: /src/relic/src/pc/relic_pc_core.c
    functionUses: 0
    functionsReached:
    - core_get
    - gt_copy
    - g2_null
    - g1_get_gen
    - g1_new
    - g1_null
    - pc_map
    - g2_new
    - g2_get_gen
    - gt_new
    - gt_null
    linkageType: ''
    returnType: void
    signature: void pc_core_calc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/pc/relic_pc_core.c:73,1
    - Dst: gt_free
      Src: /src/relic/src/pc/relic_pc_core.c:75,1
    - Dst: core_get
      Src: /src/relic/src/pc/relic_pc_core.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: pc_core_clean
    functionSourceFile: /src/relic/src/pc/relic_pc_core.c
    functionUses: 1
    functionsReached:
    - gt_free
    - core_get
    linkageType: ''
    returnType: void
    signature: void pc_core_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:47,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:50,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:52,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:55,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:56,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_exp.c:57,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:58,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:59,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:63,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:64,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:68,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:69,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:70,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_exp.c:71,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:72,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_exp.c:76,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:77,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:78,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:79,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:80,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:81,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:85,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:86,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:87,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:88,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:89,1
    - Dst: gt_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - gt_t
    - gt_t
    constantsTouched: []
    func_position:
      end: 95
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 95
    functionName: gt_psi
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 0
    functionsReached:
    - gt_frb
    - gt_mul
    - ep_curve_is_pairf
    - gt_sqr
    - gt_new
    - gt_null
    - gt_inv
    linkageType: ''
    returnType: void
    signature: void gt_psi(gt_t c, const gt_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/pc/relic_pc_exp.c:120,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/pc/relic_pc_exp.c:121,1
    - Dst: RLC_THROW
      Src: /src/relic/src/pc/relic_pc_exp.c:125,1
    - Dst: bn_is_zero
      Src: /src/relic/src/pc/relic_pc_exp.c:129,1
    - Dst: RLC_FREE
      Src: /src/relic/src/pc/relic_pc_exp.c:130,1
    - Dst: RLC_FREE
      Src: /src/relic/src/pc/relic_pc_exp.c:131,1
    - Dst: RLC_FREE
      Src: /src/relic/src/pc/relic_pc_exp.c:132,1
    - Dst: RLC_FREE
      Src: /src/relic/src/pc/relic_pc_exp.c:133,1
    - Dst: RLC_FREE
      Src: /src/relic/src/pc/relic_pc_exp.c:134,1
    - Dst: gt_set_unity
      Src: /src/relic/src/pc/relic_pc_exp.c:135,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:138,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:139,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:140,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:143,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:144,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:145,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:147,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:148,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:150,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:151,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/pc/relic_pc_exp.c:155,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:156,1
    - Dst: bn_dbl
      Src: /src/relic/src/pc/relic_pc_exp.c:158,1
    - Dst: bn_add
      Src: /src/relic/src/pc/relic_pc_exp.c:159,1
    - Dst: bn_neg
      Src: /src/relic/src/pc/relic_pc_exp.c:160,1
    - Dst: gt_get_ord
      Src: /src/relic/src/pc/relic_pc_exp.c:162,1
    - Dst: bn_abs
      Src: /src/relic/src/pc/relic_pc_exp.c:163,1
    - Dst: bn_mod
      Src: /src/relic/src/pc/relic_pc_exp.c:164,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_exp.c:165,1
    - Dst: bn_neg
      Src: /src/relic/src/pc/relic_pc_exp.c:166,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:168,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:168,1
    - Dst: RLC_MAX
      Src: /src/relic/src/pc/relic_pc_exp.c:172,1
    - Dst: bn_bits
      Src: /src/relic/src/pc/relic_pc_exp.c:172,1
    - Dst: bn_bits
      Src: /src/relic/src/pc/relic_pc_exp.c:174,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_exp.c:180,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/pc/relic_pc_exp.c:182,1
    - Dst: RLC_MAX
      Src: /src/relic/src/pc/relic_pc_exp.c:183,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:186,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:186,1
    - Dst: ep_curve_embed
      Src: /src/relic/src/pc/relic_pc_exp.c:187,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:188,1
    - Dst: gt_psi
      Src: /src/relic/src/pc/relic_pc_exp.c:190,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:193,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:195,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_exp.c:198,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:199,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:201,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:205,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:208,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_exp.c:209,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:210,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_exp.c:213,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:214,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:216,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:219,1
    - Dst: gt_psi
      Src: /src/relic/src/pc/relic_pc_exp.c:222,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:224,1
    - Dst: gt_set_unity
      Src: /src/relic/src/pc/relic_pc_exp.c:230,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_exp.c:232,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:237,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:240,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:241,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 109
    argCount: 4
    argNames:
    - c
    - a
    - b
    - f
    argTypes:
    - gt_t
    - gt_t
    - bn_t
    - size_t
    constantsTouched: []
    func_position:
      end: 245
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 245
    functionName: gt_exp_gls_naf
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 0
    functionsReached:
    - bn_rec_frb
    - gt_psi
    - RLC_ALLOCA
    - fp_prime_get_par
    - gt_sqr
    - gt_new
    - bn_abs
    - bn_null
    - gt_mul
    - RLC_THROW
    - bn_mod
    - ep_curve_is_pairf
    - bn_dbl
    - gt_null
    - RLC_FREE
    - ep_curve_embed
    - gt_set_unity
    - bn_sign
    - bn_neg
    - bn_new
    - gt_get_ord
    - bn_is_zero
    - bn_add
    - gt_inv
    - gt_copy
    - bn_rec_naf
    - RLC_MAX
    - bn_bits
    linkageType: ''
    returnType: void
    signature: void gt_exp_gls_naf(gt_t c, const gt_t a, const bn_t b, size_t f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/pc/relic_pc_exp.c:278,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/pc/relic_pc_exp.c:281,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/pc/relic_pc_exp.c:281,1
    - Dst: RLC_THROW
      Src: /src/relic/src/pc/relic_pc_exp.c:284,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:288,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:289,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:292,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:293,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:295,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:296,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:297,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:298,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:302,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:303,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/pc/relic_pc_exp.c:307,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:308,1
    - Dst: bn_dbl
      Src: /src/relic/src/pc/relic_pc_exp.c:310,1
    - Dst: bn_add
      Src: /src/relic/src/pc/relic_pc_exp.c:311,1
    - Dst: bn_neg
      Src: /src/relic/src/pc/relic_pc_exp.c:312,1
    - Dst: gt_get_ord
      Src: /src/relic/src/pc/relic_pc_exp.c:314,1
    - Dst: bn_mod
      Src: /src/relic/src/pc/relic_pc_exp.c:315,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:316,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:316,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:318,1
    - Dst: gt_psi
      Src: /src/relic/src/pc/relic_pc_exp.c:320,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:323,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_exp.c:324,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:325,1
    - Dst: bn_abs
      Src: /src/relic/src/pc/relic_pc_exp.c:327,1
    - Dst: bn_is_even
      Src: /src/relic/src/pc/relic_pc_exp.c:330,1
    - Dst: bn_add_dig
      Src: /src/relic/src/pc/relic_pc_exp.c:331,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:335,1
    - Dst: util_bits_dig
      Src: /src/relic/src/pc/relic_pc_exp.c:337,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:338,1
    - Dst: bn_rec_sac
      Src: /src/relic/src/pc/relic_pc_exp.c:342,1
    - Dst: bn_bits
      Src: /src/relic/src/pc/relic_pc_exp.c:343,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:343,1
    - Dst: gt_set_unity
      Src: /src/relic/src/pc/relic_pc_exp.c:346,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_exp.c:348,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:357,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:358,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:360,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:367,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:368,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 5
    argNames:
    - c
    - a
    - b
    - d
    - f
    argTypes:
    - gt_t
    - gt_t
    - bn_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 371
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 371
    functionName: gt_exp_gls_sac
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 0
    functionsReached:
    - bn_rec_frb
    - gt_psi
    - RLC_ALLOCA
    - fp_prime_get_par
    - gt_sqr
    - gt_new
    - bn_abs
    - bn_null
    - gt_mul
    - RLC_THROW
    - bn_mod
    - ep_curve_is_pairf
    - bn_dbl
    - gt_null
    - bn_is_even
    - bn_add_dig
    - gt_set_unity
    - bn_sign
    - bn_neg
    - bn_new
    - util_bits_dig
    - gt_get_ord
    - bn_add
    - bn_rec_sac
    - gt_inv
    - gt_copy
    - bn_bits
    linkageType: ''
    returnType: void
    signature: "void gt_exp_gls_sac(gt_t c, const gt_t a, const bn_t b, size_t d,\n\t\tsize_t
      f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/pc/relic_pc_exp.c:406,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/pc/relic_pc_exp.c:409,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/pc/relic_pc_exp.c:409,1
    - Dst: RLC_THROW
      Src: /src/relic/src/pc/relic_pc_exp.c:412,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:416,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:417,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:420,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:421,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:423,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:424,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:425,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:426,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:430,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:431,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/pc/relic_pc_exp.c:435,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:436,1
    - Dst: bn_dbl
      Src: /src/relic/src/pc/relic_pc_exp.c:438,1
    - Dst: bn_add
      Src: /src/relic/src/pc/relic_pc_exp.c:439,1
    - Dst: bn_neg
      Src: /src/relic/src/pc/relic_pc_exp.c:440,1
    - Dst: gt_get_ord
      Src: /src/relic/src/pc/relic_pc_exp.c:442,1
    - Dst: bn_mod
      Src: /src/relic/src/pc/relic_pc_exp.c:443,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:444,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:444,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:446,1
    - Dst: gt_psi
      Src: /src/relic/src/pc/relic_pc_exp.c:448,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:451,1
    - Dst: gt_copy_sec
      Src: /src/relic/src/pc/relic_pc_exp.c:452,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_exp.c:452,1
    - Dst: bn_abs
      Src: /src/relic/src/pc/relic_pc_exp.c:453,1
    - Dst: bn_is_even
      Src: /src/relic/src/pc/relic_pc_exp.c:456,1
    - Dst: bn_add_dig
      Src: /src/relic/src/pc/relic_pc_exp.c:457,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:461,1
    - Dst: util_bits_dig
      Src: /src/relic/src/pc/relic_pc_exp.c:463,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:464,1
    - Dst: bn_rec_sac
      Src: /src/relic/src/pc/relic_pc_exp.c:468,1
    - Dst: bn_bits
      Src: /src/relic/src/pc/relic_pc_exp.c:469,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:469,1
    - Dst: gt_set_unity
      Src: /src/relic/src/pc/relic_pc_exp.c:472,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_exp.c:474,1
    - Dst: gt_copy_sec
      Src: /src/relic/src/pc/relic_pc_exp.c:483,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:485,1
    - Dst: gt_copy_sec
      Src: /src/relic/src/pc/relic_pc_exp.c:486,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:487,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:492,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:493,1
    - Dst: gt_copy_sec
      Src: /src/relic/src/pc/relic_pc_exp.c:494,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 5
    argNames:
    - c
    - a
    - b
    - d
    - f
    argTypes:
    - gt_t
    - gt_t
    - bn_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 496
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 496
    functionName: gt_exp_reg_sac
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 0
    functionsReached:
    - bn_rec_frb
    - gt_copy_sec
    - gt_psi
    - RLC_ALLOCA
    - fp_prime_get_par
    - gt_sqr
    - gt_new
    - bn_abs
    - bn_null
    - gt_mul
    - RLC_THROW
    - bn_mod
    - ep_curve_is_pairf
    - bn_dbl
    - gt_null
    - bn_is_even
    - bn_add_dig
    - gt_set_unity
    - bn_sign
    - bn_neg
    - bn_new
    - util_bits_dig
    - gt_get_ord
    - bn_add
    - bn_rec_sac
    - gt_inv
    - gt_copy
    - bn_bits
    linkageType: ''
    returnType: void
    signature: "void gt_exp_reg_sac(gt_t c, const gt_t a, const bn_t b, size_t d,\n\t\tsize_t
      f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/pc/relic_pc_exp.c:531,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/pc/relic_pc_exp.c:532,1
    - Dst: RLC_THROW
      Src: /src/relic/src/pc/relic_pc_exp.c:536,1
    - Dst: bn_is_zero
      Src: /src/relic/src/pc/relic_pc_exp.c:540,1
    - Dst: RLC_FREE
      Src: /src/relic/src/pc/relic_pc_exp.c:541,1
    - Dst: RLC_FREE
      Src: /src/relic/src/pc/relic_pc_exp.c:542,1
    - Dst: RLC_FREE
      Src: /src/relic/src/pc/relic_pc_exp.c:543,1
    - Dst: RLC_FREE
      Src: /src/relic/src/pc/relic_pc_exp.c:544,1
    - Dst: RLC_FREE
      Src: /src/relic/src/pc/relic_pc_exp.c:545,1
    - Dst: RLC_FREE
      Src: /src/relic/src/pc/relic_pc_exp.c:546,1
    - Dst: gt_set_unity
      Src: /src/relic/src/pc/relic_pc_exp.c:547,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:550,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:551,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:552,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:553,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:556,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:557,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:558,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:559,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:561,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:562,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:564,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:565,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/pc/relic_pc_exp.c:569,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:570,1
    - Dst: bn_dbl
      Src: /src/relic/src/pc/relic_pc_exp.c:572,1
    - Dst: bn_add
      Src: /src/relic/src/pc/relic_pc_exp.c:573,1
    - Dst: bn_neg
      Src: /src/relic/src/pc/relic_pc_exp.c:574,1
    - Dst: gt_get_ord
      Src: /src/relic/src/pc/relic_pc_exp.c:576,1
    - Dst: bn_abs
      Src: /src/relic/src/pc/relic_pc_exp.c:577,1
    - Dst: bn_mod
      Src: /src/relic/src/pc/relic_pc_exp.c:578,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_exp.c:579,1
    - Dst: bn_neg
      Src: /src/relic/src/pc/relic_pc_exp.c:580,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/pc/relic_pc_exp.c:582,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:582,1
    - Dst: bn_bits
      Src: /src/relic/src/pc/relic_pc_exp.c:585,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/pc/relic_pc_exp.c:585,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:586,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_exp.c:588,1
    - Dst: bn_abs
      Src: /src/relic/src/pc/relic_pc_exp.c:589,1
    - Dst: bn_is_even
      Src: /src/relic/src/pc/relic_pc_exp.c:590,1
    - Dst: bn_rec_reg
      Src: /src/relic/src/pc/relic_pc_exp.c:594,1
    - Dst: RLC_MAX
      Src: /src/relic/src/pc/relic_pc_exp.c:595,1
    - Dst: gt_psi
      Src: /src/relic/src/pc/relic_pc_exp.c:598,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:603,1
    - Dst: gt_copy_sec
      Src: /src/relic/src/pc/relic_pc_exp.c:604,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_exp.c:606,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:607,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:609,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:613,1
    - Dst: gt_set_unity
      Src: /src/relic/src/pc/relic_pc_exp.c:616,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_exp.c:619,1
    - Dst: gt_copy_sec
      Src: /src/relic/src/pc/relic_pc_exp.c:628,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:631,1
    - Dst: gt_copy_sec
      Src: /src/relic/src/pc/relic_pc_exp.c:632,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:633,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:640,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:641,1
    - Dst: gt_copy_sec
      Src: /src/relic/src/pc/relic_pc_exp.c:642,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 92
    argCount: 4
    argNames:
    - c
    - a
    - b
    - f
    argTypes:
    - gt_t
    - gt_t
    - bn_t
    - size_t
    constantsTouched: []
    func_position:
      end: 644
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 644
    functionName: gt_exp_reg_gls
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 0
    functionsReached:
    - bn_rec_frb
    - gt_copy_sec
    - gt_psi
    - RLC_ALLOCA
    - fp_prime_get_par
    - gt_sqr
    - gt_new
    - bn_abs
    - bn_rec_reg
    - bn_null
    - gt_mul
    - RLC_THROW
    - bn_mod
    - ep_curve_is_pairf
    - bn_dbl
    - gt_null
    - bn_is_even
    - RLC_FREE
    - gt_set_unity
    - bn_sign
    - bn_neg
    - bn_new
    - gt_get_ord
    - bn_is_zero
    - bn_add
    - gt_inv
    - gt_copy
    - RLC_MAX
    - bn_bits
    linkageType: ''
    returnType: void
    signature: void gt_exp_reg_gls(gt_t c, const gt_t a, const bn_t b, size_t f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:675,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:676,1
    - Dst: bn_bits
      Src: /src/relic/src/pc/relic_pc_exp.c:678,1
    - Dst: g1_mul_dig
      Src: /src/relic/src/pc/relic_pc_exp.c:679,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_exp.c:680,1
    - Dst: g1_neg
      Src: /src/relic/src/pc/relic_pc_exp.c:681,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:687,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:688,1
    - Dst: pc_get_ord
      Src: /src/relic/src/pc/relic_pc_exp.c:690,1
    - Dst: bn_mod
      Src: /src/relic/src/pc/relic_pc_exp.c:691,1
    - Dst: RLC_CAT
      Src: /src/relic/src/pc/relic_pc_exp.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - g1_t
    - g1_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 694
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 694
    functionName: g1_mul
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 9
    functionsReached:
    - RLC_CAT
    - bn_null
    - bn_mod
    - g1_neg
    - bn_sign
    - bn_new
    - g1_mul_dig
    - bn_bits
    - pc_get_ord
    linkageType: ''
    returnType: void
    signature: void g1_mul(g1_t c, const g1_t a, const bn_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:705,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:706,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:709,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:710,1
    - Dst: pc_get_ord
      Src: /src/relic/src/pc/relic_pc_exp.c:712,1
    - Dst: bn_mod
      Src: /src/relic/src/pc/relic_pc_exp.c:713,1
    - Dst: RLC_CAT
      Src: /src/relic/src/pc/relic_pc_exp.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - c
    - b
    argTypes:
    - g1_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 716
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 716
    functionName: g1_mul_gen
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 5
    functionsReached:
    - RLC_CAT
    - bn_null
    - bn_mod
    - bn_new
    - pc_get_ord
    linkageType: ''
    returnType: void
    signature: void g1_mul_gen(g1_t c, const bn_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:727,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:728,1
    - Dst: bn_bits
      Src: /src/relic/src/pc/relic_pc_exp.c:730,1
    - Dst: g2_mul_dig
      Src: /src/relic/src/pc/relic_pc_exp.c:731,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_exp.c:732,1
    - Dst: g2_neg
      Src: /src/relic/src/pc/relic_pc_exp.c:733,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:739,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:740,1
    - Dst: pc_get_ord
      Src: /src/relic/src/pc/relic_pc_exp.c:742,1
    - Dst: bn_mod
      Src: /src/relic/src/pc/relic_pc_exp.c:743,1
    - Dst: RLC_CAT
      Src: /src/relic/src/pc/relic_pc_exp.c:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - g2_t
    - g2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 746
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 746
    functionName: g2_mul
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 9
    functionsReached:
    - RLC_CAT
    - g2_neg
    - bn_null
    - bn_mod
    - g2_mul_dig
    - bn_sign
    - bn_new
    - bn_bits
    - pc_get_ord
    linkageType: ''
    returnType: void
    signature: void g2_mul(g2_t c, const g2_t a, const bn_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:757,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:758,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:761,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:762,1
    - Dst: pc_get_ord
      Src: /src/relic/src/pc/relic_pc_exp.c:764,1
    - Dst: bn_mod
      Src: /src/relic/src/pc/relic_pc_exp.c:765,1
    - Dst: RLC_CAT
      Src: /src/relic/src/pc/relic_pc_exp.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - c
    - b
    argTypes:
    - g2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 768
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 768
    functionName: g2_mul_gen
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 3
    functionsReached:
    - RLC_CAT
    - bn_null
    - bn_mod
    - bn_new
    - pc_get_ord
    linkageType: ''
    returnType: void
    signature: void g2_mul_gen(g2_t c, const bn_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_bits
      Src: /src/relic/src/pc/relic_pc_exp.c:777,1
    - Dst: gt_exp_dig
      Src: /src/relic/src/pc/relic_pc_exp.c:778,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_exp.c:779,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:780,1
    - Dst: RLC_CAT
      Src: /src/relic/src/pc/relic_pc_exp.c:786,1
    - Dst: ep_curve_embed
      Src: /src/relic/src/pc/relic_pc_exp.c:788,1
    - Dst: gt_exp_gls_sac
      Src: /src/relic/src/pc/relic_pc_exp.c:790,1
    - Dst: ep_curve_frdim
      Src: /src/relic/src/pc/relic_pc_exp.c:790,1
    - Dst: gt_exp_gls_naf
      Src: /src/relic/src/pc/relic_pc_exp.c:792,1
    - Dst: ep_curve_frdim
      Src: /src/relic/src/pc/relic_pc_exp.c:792,1
    - Dst: RLC_CAT
      Src: /src/relic/src/pc/relic_pc_exp.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - gt_t
    - gt_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 797
      start: 776
    functionDepth: 3
    functionLinenumber: 776
    functionLinenumberEnd: 797
    functionName: gt_exp
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 4
    functionsReached:
    - RLC_CAT
    - gt_exp_gls_naf
    - ep_curve_embed
    - bn_sign
    - ep_curve_frdim
    - bn_bits
    - gt_exp_dig
    - gt_exp_gls_sac
    - gt_inv
    linkageType: ''
    returnType: void
    signature: void gt_exp(gt_t c, const gt_t a, const bn_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_bits
      Src: /src/relic/src/pc/relic_pc_exp.c:800,1
    - Dst: gt_exp_dig
      Src: /src/relic/src/pc/relic_pc_exp.c:801,1
    - Dst: bn_sign
      Src: /src/relic/src/pc/relic_pc_exp.c:802,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:803,1
    - Dst: gt_exp_reg_sac
      Src: /src/relic/src/pc/relic_pc_exp.c:811,1
    - Dst: ep_curve_frdim
      Src: /src/relic/src/pc/relic_pc_exp.c:811,1
    - Dst: gt_exp_reg_gls
      Src: /src/relic/src/pc/relic_pc_exp.c:813,1
    - Dst: RLC_CAT
      Src: /src/relic/src/pc/relic_pc_exp.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - gt_t
    - gt_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 817
      start: 799
    functionDepth: 3
    functionLinenumber: 799
    functionLinenumberEnd: 817
    functionName: gt_exp_sec
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 1
    functionsReached:
    - RLC_CAT
    - gt_exp_reg_sac
    - bn_sign
    - ep_curve_frdim
    - gt_exp_reg_gls
    - bn_bits
    - gt_exp_dig
    - gt_inv
    linkageType: ''
    returnType: void
    signature: void gt_exp_sec(gt_t c, const gt_t a, const bn_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_set_unity
      Src: /src/relic/src/pc/relic_pc_exp.c:826,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:830,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:831,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:832,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:835,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:836,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:837,1
    - Dst: bn_set_dig
      Src: /src/relic/src/pc/relic_pc_exp.c:839,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/pc/relic_pc_exp.c:842,1
    - Dst: gt_inv
      Src: /src/relic/src/pc/relic_pc_exp.c:844,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:845,1
    - Dst: gt_sqr
      Src: /src/relic/src/pc/relic_pc_exp.c:847,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:850,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:852,1
    - Dst: gt_copy
      Src: /src/relic/src/pc/relic_pc_exp.c:856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - gt_t
    - gt_t
    - dig_t
    constantsTouched: []
    func_position:
      end: 857
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 857
    functionName: gt_exp_dig
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 3
    functionsReached:
    - gt_copy
    - bn_null
    - gt_mul
    - gt_set_unity
    - bn_rec_naf
    - bn_new
    - bn_set_dig
    - gt_sqr
    - gt_new
    - gt_null
    - gt_inv
    linkageType: ''
    returnType: void
    signature: void gt_exp_dig(gt_t c, const gt_t a, dig_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:872,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:873,1
    - Dst: bn_null
      Src: /src/relic/src/pc/relic_pc_exp.c:874,1
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:875,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:878,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:879,1
    - Dst: bn_new
      Src: /src/relic/src/pc/relic_pc_exp.c:880,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:881,1
    - Dst: gt_get_ord
      Src: /src/relic/src/pc/relic_pc_exp.c:883,1
    - Dst: bn_mod
      Src: /src/relic/src/pc/relic_pc_exp.c:884,1
    - Dst: bn_mod
      Src: /src/relic/src/pc/relic_pc_exp.c:885,1
    - Dst: RLC_CAT
      Src: /src/relic/src/pc/relic_pc_exp.c:888,1
    - Dst: gt_exp
      Src: /src/relic/src/pc/relic_pc_exp.c:891,1
    - Dst: gt_exp
      Src: /src/relic/src/pc/relic_pc_exp.c:892,1
    - Dst: gt_mul
      Src: /src/relic/src/pc/relic_pc_exp.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 5
    argNames:
    - e
    - a
    - b
    - c
    - d
    argTypes:
    - gt_t
    - gt_t
    - bn_t
    - gt_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 895
      start: 868
    functionDepth: 4
    functionLinenumber: 868
    functionLinenumberEnd: 895
    functionName: gt_exp_sim
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 1
    functionsReached:
    - RLC_CAT
    - bn_null
    - gt_mul
    - bn_mod
    - gt_exp
    - bn_new
    - gt_get_ord
    - gt_new
    - gt_null
    linkageType: ''
    returnType: void
    signature: void gt_exp_sim(gt_t e, const gt_t a, const bn_t b, const gt_t c, const
      bn_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/src/pc/relic_pc_exp.c:908,1
    - Dst: gt_new
      Src: /src/relic/src/pc/relic_pc_exp.c:911,1
    - Dst: gt_get_gen
      Src: /src/relic/src/pc/relic_pc_exp.c:913,1
    - Dst: gt_exp
      Src: /src/relic/src/pc/relic_pc_exp.c:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - c
    - b
    argTypes:
    - gt_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 915
      start: 905
    functionDepth: 4
    functionLinenumber: 905
    functionLinenumberEnd: 915
    functionName: gt_exp_gen
    functionSourceFile: /src/relic/src/pc/relic_pc_exp.c
    functionUses: 3
    functionsReached:
    - gt_exp
    - gt_get_gen
    - gt_new
    - gt_null
    linkageType: ''
    returnType: void
    signature: void gt_exp_gen(gt_t c, const bn_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_rand_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:43,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:44,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_mt.c:46,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:47,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_mt.c:48,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:49,1
    - Dst: bn_mul
      Src: /src/relic/src/mpc/relic_mpc_mt.c:51,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:52,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:54,1
    - Dst: bn_sub
      Src: /src/relic/src/mpc/relic_mpc_mt.c:55,1
    - Dst: bn_sign
      Src: /src/relic/src/mpc/relic_mpc_mt.c:56,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_mt.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - tri
    - order
    argTypes:
    - mt_t[]
    - bn_t
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: mpc_mt_gen
    functionSourceFile: /src/relic/src/mpc/relic_mpc_mt.c
    functionUses: 5
    functionsReached:
    - bn_mul
    - bn_sub
    - bn_mod
    - bn_rand_mod
    - bn_sign
    - bn_add
    linkageType: ''
    returnType: void
    signature: void mpc_mt_gen(mt_t tri[2], const bn_t order)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_mt.c:65,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_mt.c:68,1
    - Dst: bn_sub
      Src: /src/relic/src/mpc/relic_mpc_mt.c:73,1
    - Dst: bn_sign
      Src: /src/relic/src/mpc/relic_mpc_mt.c:74,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_mt.c:75,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:77,1
    - Dst: bn_sub
      Src: /src/relic/src/mpc/relic_mpc_mt.c:80,1
    - Dst: bn_sign
      Src: /src/relic/src/mpc/relic_mpc_mt.c:81,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_mt.c:82,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - d
    - e
    - x
    - y
    - n
    - tri
    argTypes:
    - bn_t
    - bn_t
    - bn_t
    - bn_t
    - bn_t
    - mt_t
    constantsTouched: []
    func_position:
      end: 85
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 85
    functionName: mpc_mt_lcl
    functionSourceFile: /src/relic/src/mpc/relic_mpc_mt.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_sub
    - bn_mod
    - bn_sign
    - bn_new
    - bn_add
    linkageType: ''
    returnType: void
    signature: "void mpc_mt_lcl(bn_t d, bn_t e, const bn_t x, const bn_t y, const
      bn_t n,\n\t\tconst mt_t tri)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_mt.c:94,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:95,1
    - Dst: bn_copy
      Src: /src/relic/src/mpc/relic_mpc_mt.c:96,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_mt.c:97,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:98,1
    - Dst: bn_copy
      Src: /src/relic/src/mpc/relic_mpc_mt.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - d
    - e
    - n
    argTypes:
    - bn_t[]
    - bn_t[]
    - bn_t
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: mpc_mt_bct
    functionSourceFile: /src/relic/src/mpc/relic_mpc_mt.c
    functionUses: 1
    functionsReached:
    - bn_mod
    - bn_add
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void mpc_mt_bct(bn_t d[2], bn_t e[2], bn_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_mt.c:106,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_mt.c:109,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_mt.c:113,1
    - Dst: bn_sign
      Src: /src/relic/src/mpc/relic_mpc_mt.c:114,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_mt.c:115,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:117,1
    - Dst: bn_copy
      Src: /src/relic/src/mpc/relic_mpc_mt.c:119,1
    - Dst: bn_mul
      Src: /src/relic/src/mpc/relic_mpc_mt.c:121,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:122,1
    - Dst: bn_mul
      Src: /src/relic/src/mpc/relic_mpc_mt.c:124,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:125,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_mt.c:126,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_mt.c:128,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_mt.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 6
    argNames:
    - r
    - d
    - e
    - n
    - tri
    - party
    argTypes:
    - bn_t
    - bn_t
    - bn_t
    - bn_t
    - mt_t
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 130
    functionName: mpc_mt_mul
    functionSourceFile: /src/relic/src/mpc/relic_mpc_mt.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_null
    - bn_mod
    - bn_sign
    - bn_new
    - bn_add
    - bn_copy
    linkageType: ''
    returnType: void
    signature: "void mpc_mt_mul(bn_t r, const bn_t d, const bn_t e, const bn_t n,\n\t\tconst
      mt_t tri, int party)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:43,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:46,1
    - Dst: g1_get_ord
      Src: /src/relic/src/mpc/relic_mpc_pc.c:51,1
    - Dst: bn_sub
      Src: /src/relic/src/mpc/relic_mpc_pc.c:52,1
    - Dst: bn_sign
      Src: /src/relic/src/mpc/relic_mpc_pc.c:53,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:54,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_pc.c:56,1
    - Dst: g1_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:60,1
    - Dst: g1_sub
      Src: /src/relic/src/mpc/relic_mpc_pc.c:61,1
    - Dst: g1_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - d
    - q
    - x
    - p
    - tri
    argTypes:
    - bn_t
    - g1_t
    - bn_t
    - g1_t
    - mt_t
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: g1_mul_lcl
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_sub
    - bn_mod
    - bn_sign
    - bn_new
    - g1_copy
    - g1_norm
    - g1_sub
    - bn_add
    - g1_get_ord
    linkageType: ''
    returnType: void
    signature: void g1_mul_lcl(bn_t d, g1_t q, const bn_t x, const g1_t p, const mt_t
      tri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:73,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:76,1
    - Dst: g1_get_ord
      Src: /src/relic/src/mpc/relic_mpc_pc.c:78,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:79,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_pc.c:80,1
    - Dst: bn_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:81,1
    - Dst: g1_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:82,1
    - Dst: g1_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:83,1
    - Dst: g1_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - d
    - q
    argTypes:
    - bn_t[]
    - g1_t[]
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: g1_mul_bct
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_mod
    - bn_new
    - g1_copy
    - g1_norm
    - g1_add
    - bn_add
    - g1_get_ord
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void g1_mul_bct(bn_t d[2], g1_t q[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:95,1
    - Dst: g1_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:98,1
    - Dst: g1_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:102,1
    - Dst: g1_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:103,1
    - Dst: g1_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:105,1
    - Dst: g1_mul_sim
      Src: /src/relic/src/mpc/relic_mpc_pc.c:108,1
    - Dst: g1_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:110,1
    - Dst: g1_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - r
    - d
    - q
    - tri
    - party
    argTypes:
    - g1_t
    - bn_t
    - g1_t
    - mt_t
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: g1_mul_mpc
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 1
    functionsReached:
    - g1_mul_sim
    - g1_new
    - g1_null
    - g1_copy
    - g1_norm
    - g1_add
    linkageType: ''
    returnType: void
    signature: void g1_mul_mpc(g1_t r, const bn_t d, const g1_t q, const mt_t tri,
      int party)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:122,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:125,1
    - Dst: g2_get_ord
      Src: /src/relic/src/mpc/relic_mpc_pc.c:130,1
    - Dst: bn_sub
      Src: /src/relic/src/mpc/relic_mpc_pc.c:131,1
    - Dst: bn_sign
      Src: /src/relic/src/mpc/relic_mpc_pc.c:132,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:133,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_pc.c:135,1
    - Dst: g2_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:139,1
    - Dst: g2_sub
      Src: /src/relic/src/mpc/relic_mpc_pc.c:140,1
    - Dst: g2_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - d
    - q
    - x
    - p
    - tri
    argTypes:
    - bn_t
    - g2_t
    - bn_t
    - g2_t
    - mt_t
    constantsTouched: []
    func_position:
      end: 142
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 142
    functionName: g2_mul_lcl
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_sub
    - bn_mod
    - g2_norm
    - bn_sign
    - bn_new
    - g2_copy
    - g2_get_ord
    - g2_sub
    - bn_add
    linkageType: ''
    returnType: void
    signature: void g2_mul_lcl(bn_t d, g2_t q, const bn_t x, const g2_t p, const mt_t
      tri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:152,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:155,1
    - Dst: g2_get_ord
      Src: /src/relic/src/mpc/relic_mpc_pc.c:157,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:158,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_pc.c:159,1
    - Dst: bn_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:160,1
    - Dst: g2_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:161,1
    - Dst: g2_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:162,1
    - Dst: g2_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - d
    - q
    argTypes:
    - bn_t[]
    - g2_t[]
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: g2_mul_bct
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_mod
    - g2_add
    - g2_norm
    - bn_new
    - g2_copy
    - g2_get_ord
    - bn_add
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void g2_mul_bct(bn_t d[2], g2_t q[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:174,1
    - Dst: g2_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:177,1
    - Dst: g2_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:181,1
    - Dst: g2_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:182,1
    - Dst: g2_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:184,1
    - Dst: g2_mul_sim
      Src: /src/relic/src/mpc/relic_mpc_pc.c:187,1
    - Dst: g2_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:189,1
    - Dst: g2_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - r
    - d
    - q
    - tri
    - party
    argTypes:
    - g2_t
    - bn_t
    - g2_t
    - mt_t
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 191
    functionName: g2_mul_mpc
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 1
    functionsReached:
    - g2_null
    - g2_add
    - g2_norm
    - g2_mul_sim
    - g2_copy
    - g2_new
    linkageType: ''
    returnType: void
    signature: void g2_mul_mpc(g2_t r, const bn_t d, const g2_t q, const mt_t tri,
      int party)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:201,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:204,1
    - Dst: gt_get_ord
      Src: /src/relic/src/mpc/relic_mpc_pc.c:209,1
    - Dst: bn_sub
      Src: /src/relic/src/mpc/relic_mpc_pc.c:210,1
    - Dst: bn_sign
      Src: /src/relic/src/mpc/relic_mpc_pc.c:211,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:212,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_pc.c:214,1
    - Dst: gt_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:218,1
    - Dst: gt_inv
      Src: /src/relic/src/mpc/relic_mpc_pc.c:219,1
    - Dst: gt_mul
      Src: /src/relic/src/mpc/relic_mpc_pc.c:220,1
    - Dst: gt_inv
      Src: /src/relic/src/mpc/relic_mpc_pc.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - d
    - q
    - x
    - p
    - tri
    argTypes:
    - bn_t
    - gt_t
    - bn_t
    - gt_t
    - mt_t
    constantsTouched: []
    func_position:
      end: 222
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 222
    functionName: gt_exp_lcl
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 1
    functionsReached:
    - gt_copy
    - bn_null
    - bn_sub
    - gt_mul
    - bn_mod
    - bn_sign
    - bn_new
    - gt_get_ord
    - bn_add
    - gt_inv
    linkageType: ''
    returnType: void
    signature: void gt_exp_lcl(bn_t d, gt_t q, const bn_t x, const gt_t p, const mt_t
      tri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:232,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:235,1
    - Dst: gt_get_ord
      Src: /src/relic/src/mpc/relic_mpc_pc.c:237,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:238,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_pc.c:239,1
    - Dst: bn_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:240,1
    - Dst: gt_mul
      Src: /src/relic/src/mpc/relic_mpc_pc.c:241,1
    - Dst: gt_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - d
    - q
    argTypes:
    - bn_t[]
    - gt_t[]
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: gt_exp_bct
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 1
    functionsReached:
    - gt_copy
    - bn_null
    - gt_mul
    - bn_mod
    - bn_new
    - gt_get_ord
    - bn_add
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void gt_exp_bct(bn_t d[2], gt_t q[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:253,1
    - Dst: gt_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:256,1
    - Dst: gt_mul
      Src: /src/relic/src/mpc/relic_mpc_pc.c:260,1
    - Dst: gt_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:262,1
    - Dst: gt_exp_sim
      Src: /src/relic/src/mpc/relic_mpc_pc.c:265,1
    - Dst: gt_mul
      Src: /src/relic/src/mpc/relic_mpc_pc.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - r
    - d
    - q
    - tri
    - party
    argTypes:
    - gt_t
    - bn_t
    - gt_t
    - mt_t
    - int
    constantsTouched: []
    func_position:
      end: 268
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 268
    functionName: gt_exp_mpc
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 1
    functionsReached:
    - gt_copy
    - gt_mul
    - gt_exp_sim
    - gt_new
    - gt_null
    linkageType: ''
    returnType: void
    signature: void gt_exp_mpc(gt_t r, const bn_t d, const gt_t q, const mt_t tri,
      int party)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:279,1
    - Dst: mt_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:280,1
    - Dst: mt_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:281,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:284,1
    - Dst: mt_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:285,1
    - Dst: mt_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:286,1
    - Dst: g1_get_ord
      Src: /src/relic/src/mpc/relic_mpc_pc.c:288,1
    - Dst: mpc_mt_gen
      Src: /src/relic/src/mpc/relic_mpc_pc.c:289,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/mpc/relic_mpc_pc.c:292,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/mpc/relic_mpc_pc.c:293,1
    - Dst: gt_exp_gen
      Src: /src/relic/src/mpc/relic_mpc_pc.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - t
    argTypes:
    - pt_t[]
    constantsTouched: []
    func_position:
      end: 296
      start: 275
    functionDepth: 5
    functionLinenumber: 275
    functionLinenumberEnd: 296
    functionName: pc_map_tri
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 4
    functionsReached:
    - g1_mul_gen
    - bn_null
    - mpc_mt_gen
    - mt_new
    - bn_new
    - gt_exp_gen
    - g2_mul_gen
    - mt_null
    - g1_get_ord
    linkageType: ''
    returnType: void
    signature: void pc_map_tri(pt_t t[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_sub
      Src: /src/relic/src/mpc/relic_mpc_pc.c:307,1
    - Dst: g1_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:308,1
    - Dst: g2_sub
      Src: /src/relic/src/mpc/relic_mpc_pc.c:309,1
    - Dst: g2_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - d
    - e
    - p
    - q
    - t
    argTypes:
    - g1_t
    - g2_t
    - g1_t
    - g2_t
    - pt_t
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: pc_map_lcl
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 1
    functionsReached:
    - g2_sub
    - g1_norm
    - g2_norm
    - g1_sub
    linkageType: ''
    returnType: void
    signature: void pc_map_lcl(g1_t d, g2_t e, const g1_t p, const g2_t q, const pt_t
      t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:315,1
    - Dst: g1_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:316,1
    - Dst: g1_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:317,1
    - Dst: g2_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:318,1
    - Dst: g2_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:319,1
    - Dst: g2_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - d
    - e
    argTypes:
    - g1_t[]
    - g2_t[]
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: pc_map_bct
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 1
    functionsReached:
    - g2_add
    - g2_norm
    - g1_copy
    - g1_norm
    - g2_copy
    - g1_add
    linkageType: ''
    returnType: void
    signature: void pc_map_bct(g1_t d[2], g2_t e[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:329,1
    - Dst: gt_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:332,1
    - Dst: g1_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:334,1
    - Dst: g2_null
      Src: /src/relic/src/mpc/relic_mpc_pc.c:335,1
    - Dst: g1_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:336,1
    - Dst: g2_new
      Src: /src/relic/src/mpc/relic_mpc_pc.c:337,1
    - Dst: g1_add
      Src: /src/relic/src/mpc/relic_mpc_pc.c:342,1
    - Dst: g1_norm
      Src: /src/relic/src/mpc/relic_mpc_pc.c:343,1
    - Dst: g2_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:344,1
    - Dst: g1_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:346,1
    - Dst: g2_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:347,1
    - Dst: g1_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:349,1
    - Dst: g2_copy
      Src: /src/relic/src/mpc/relic_mpc_pc.c:350,1
    - Dst: pc_map_sim
      Src: /src/relic/src/mpc/relic_mpc_pc.c:351,1
    - Dst: gt_mul
      Src: /src/relic/src/mpc/relic_mpc_pc.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 5
    argNames:
    - r
    - d1
    - d2
    - triple
    - party
    argTypes:
    - gt_t
    - g1_t
    - g2_t
    - pt_t
    - int
    constantsTouched: []
    func_position:
      end: 353
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 353
    functionName: pc_map_mpc
    functionSourceFile: /src/relic/src/mpc/relic_mpc_pc.c
    functionUses: 1
    functionsReached:
    - g2_null
    - pc_map_sim
    - gt_mul
    - g1_new
    - g1_null
    - g1_copy
    - g1_norm
    - g2_copy
    - g2_new
    - g1_add
    - gt_new
    - gt_null
    linkageType: ''
    returnType: void
    signature: "void pc_map_mpc(gt_t r, const g1_t d1, const g2_t d2, const pt_t triple,\n\t\tint
      party)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/mpc/relic_mpc_sss.c:42,1
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_sss.c:48,1
    - Dst: if
      Src: /src/relic/src/mpc/relic_mpc_sss.c:51,1
    - Dst: RLC_THROW
      Src: /src/relic/src/mpc/relic_mpc_sss.c:52,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_sss.c:55,1
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_sss.c:56,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_sss.c:57,1
    - Dst: bn_copy
      Src: /src/relic/src/mpc/relic_mpc_sss.c:58,1
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_sss.c:60,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_sss.c:61,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/mpc/relic_mpc_sss.c:62,1
    - Dst: bn_set_dig
      Src: /src/relic/src/mpc/relic_mpc_sss.c:65,1
    - Dst: bn_evl
      Src: /src/relic/src/mpc/relic_mpc_sss.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - x
    - y
    - secret
    - order
    - k
    - n
    argTypes:
    - bn_t*
    - bn_t*
    - bn_t
    - bn_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 68
    functionName: mpc_sss_gen
    functionSourceFile: /src/relic/src/mpc/relic_mpc_sss.c
    functionUses: 1
    functionsReached:
    - bn_null
    - RLC_THROW
    - if
    - bn_rand_mod
    - bn_new
    - bn_set_dig
    - RLC_ALLOCA
    - bn_evl
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int mpc_sss_gen(bn_t *x, bn_t *y, const bn_t secret, const bn_t order,\n
      \       size_t k, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/mpc/relic_mpc_sss.c:84,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/mpc/relic_mpc_sss.c:85,1
    - Dst: RLC_FREE
      Src: /src/relic/src/mpc/relic_mpc_sss.c:88,1
    - Dst: RLC_FREE
      Src: /src/relic/src/mpc/relic_mpc_sss.c:89,1
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_sss.c:93,1
    - Dst: if
      Src: /src/relic/src/mpc/relic_mpc_sss.c:96,1
    - Dst: RLC_THROW
      Src: /src/relic/src/mpc/relic_mpc_sss.c:97,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_sss.c:100,1
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_sss.c:102,1
    - Dst: bn_null
      Src: /src/relic/src/mpc/relic_mpc_sss.c:103,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_sss.c:104,1
    - Dst: bn_new
      Src: /src/relic/src/mpc/relic_mpc_sss.c:105,1
    - Dst: bn_set_dig
      Src: /src/relic/src/mpc/relic_mpc_sss.c:109,1
    - Dst: bn_set_dig
      Src: /src/relic/src/mpc/relic_mpc_sss.c:110,1
    - Dst: bn_sub
      Src: /src/relic/src/mpc/relic_mpc_sss.c:113,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_sss.c:114,1
    - Dst: bn_mul
      Src: /src/relic/src/mpc/relic_mpc_sss.c:115,1
    - Dst: bn_mul
      Src: /src/relic/src/mpc/relic_mpc_sss.c:116,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_sss.c:117,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_sss.c:118,1
    - Dst: bn_mod_inv_sim
      Src: /src/relic/src/mpc/relic_mpc_sss.c:122,1
    - Dst: bn_mul
      Src: /src/relic/src/mpc/relic_mpc_sss.c:123,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_sss.c:124,1
    - Dst: bn_mul
      Src: /src/relic/src/mpc/relic_mpc_sss.c:125,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_sss.c:126,1
    - Dst: bn_mul
      Src: /src/relic/src/mpc/relic_mpc_sss.c:128,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_sss.c:129,1
    - Dst: bn_mul
      Src: /src/relic/src/mpc/relic_mpc_sss.c:130,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_sss.c:131,1
    - Dst: bn_add
      Src: /src/relic/src/mpc/relic_mpc_sss.c:132,1
    - Dst: bn_mod
      Src: /src/relic/src/mpc/relic_mpc_sss.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 5
    argNames:
    - key
    - x
    - y
    - order
    - k
    argTypes:
    - bn_t
    - bn_t*
    - bn_t*
    - bn_t
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 135
    functionName: mpc_sss_key
    functionSourceFile: /src/relic/src/mpc/relic_mpc_sss.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - RLC_FREE
    - bn_null
    - bn_sub
    - RLC_THROW
    - bn_mod
    - if
    - bn_mod_inv_sim
    - bn_new
    - bn_set_dig
    - RLC_ALLOCA
    - bn_add
    linkageType: ''
    returnType: int
    signature: "int mpc_sss_key(bn_t key, const bn_t *x, const bn_t *y, const bn_t
      order,\n        size_t k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:68,1
    - Dst: rijndaelKeySetupEnc
      Src: /src/relic/src/bc/rijndael-api-fst.c:99,1
    - Dst: rijndaelKeySetupDec
      Src: /src/relic/src/bc/rijndael-api-fst.c:101,1
    - Dst: rijndaelKeySetupEnc
      Src: /src/relic/src/bc/rijndael-api-fst.c:103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 4
    argNames:
    - key
    - direction
    - keyLen
    - keyMaterial
    argTypes:
    - keyInstance*
    - BYTE
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 105
    functionName: makeKey
    functionSourceFile: /src/relic/src/bc/rijndael-api-fst.c
    functionUses: 0
    functionsReached:
    - rijndaelKeySetupEnc
    - strncpy
    - rijndaelKeySetupDec
    linkageType: ''
    returnType: int
    signature: int makeKey(keyInstance * key, BYTE direction, int keyLen, char *keyMaterial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:130,1
    - Dst: rijndaelKeySetupEnc
      Src: /src/relic/src/bc/rijndael-api-fst.c:140,1
    - Dst: rijndaelKeySetupDec
      Src: /src/relic/src/bc/rijndael-api-fst.c:142,1
    - Dst: rijndaelKeySetupEnc
      Src: /src/relic/src/bc/rijndael-api-fst.c:144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - key
    - direction
    - keyLen
    - keyMaterial
    argTypes:
    - keyInstance*
    - BYTE
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 146
    functionName: makeKey2
    functionSourceFile: /src/relic/src/bc/rijndael-api-fst.c
    functionUses: 0
    functionsReached:
    - rijndaelKeySetupEnc
    - memcpy
    - rijndaelKeySetupDec
    linkageType: ''
    returnType: int
    signature: int makeKey2(keyInstance * key, BYTE direction, int keyLen, char *keyMaterial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/relic/src/bc/rijndael-api-fst.c:182,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 3
    argNames:
    - cipher
    - mode
    - IV
    argTypes:
    - cipherInstance*
    - BYTE
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 185
    functionName: cipherInit
    functionSourceFile: /src/relic/src/bc/rijndael-api-fst.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int cipherInit(cipherInstance * cipher, BYTE mode, char *IV)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelEncrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:204,1
    - Dst: rijndaelEncrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:229,1
    - Dst: memcpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:239,1
    - Dst: rijndaelEncrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:241,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 5
    argNames:
    - cipher
    - key
    - input
    - inputLen
    - outBuffer
    argTypes:
    - cipherInstance*
    - keyInstance*
    - BYTE*
    - int
    - BYTE*
    constantsTouched: []
    func_position:
      end: 259
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 259
    functionName: blockEncrypt
    functionSourceFile: /src/relic/src/bc/rijndael-api-fst.c
    functionUses: 0
    functionsReached:
    - rijndaelEncrypt
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int blockEncrypt(cipherInstance * cipher, keyInstance * key,\n\t\tBYTE
      * input, int inputLen, BYTE * outBuffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelEncrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:287,1
    - Dst: memcpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:293,1
    - Dst: memset
      Src: /src/relic/src/bc/rijndael-api-fst.c:294,1
    - Dst: rijndaelEncrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:295,1
    - Dst: rijndaelEncrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:317,1
    - Dst: rijndaelEncrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:330,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 5
    argNames:
    - cipher
    - key
    - input
    - inputOctets
    - outBuffer
    argTypes:
    - cipherInstance*
    - keyInstance*
    - BYTE*
    - int
    - BYTE*
    constantsTouched: []
    func_position:
      end: 338
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 338
    functionName: padEncrypt
    functionSourceFile: /src/relic/src/bc/rijndael-api-fst.c
    functionUses: 0
    functionsReached:
    - memset
    - rijndaelEncrypt
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int padEncrypt(cipherInstance * cipher, keyInstance * key,\n\t\tBYTE
      * input, int inputOctets, BYTE * outBuffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelDecrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:358,1
    - Dst: rijndaelDecrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:367,1
    - Dst: memcpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:384,1
    - Dst: memcpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:385,1
    - Dst: memcpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:394,1
    - Dst: rijndaelEncrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 5
    argNames:
    - cipher
    - key
    - input
    - inputLen
    - outBuffer
    argTypes:
    - cipherInstance*
    - keyInstance*
    - BYTE*
    - int
    - BYTE*
    constantsTouched: []
    func_position:
      end: 414
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 414
    functionName: blockDecrypt
    functionSourceFile: /src/relic/src/bc/rijndael-api-fst.c
    functionUses: 0
    functionsReached:
    - rijndaelEncrypt
    - rijndaelDecrypt
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int blockDecrypt(cipherInstance * cipher, keyInstance * key,\n\t\tBYTE
      * input, int inputLen, BYTE * outBuffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelDecrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:437,1
    - Dst: rijndaelDecrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:442,1
    - Dst: memcpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:452,1
    - Dst: rijndaelDecrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:458,1
    - Dst: memcpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:475,1
    - Dst: memcpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:476,1
    - Dst: rijndaelDecrypt
      Src: /src/relic/src/bc/rijndael-api-fst.c:481,1
    - Dst: memcpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:507,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 86
    argCount: 5
    argNames:
    - cipher
    - key
    - input
    - inputOctets
    - outBuffer
    argTypes:
    - cipherInstance*
    - keyInstance*
    - BYTE*
    - int
    - BYTE*
    constantsTouched: []
    func_position:
      end: 515
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 515
    functionName: padDecrypt
    functionSourceFile: /src/relic/src/bc/rijndael-api-fst.c
    functionUses: 0
    functionsReached:
    - rijndaelDecrypt
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int padDecrypt(cipherInstance * cipher, keyInstance * key,\n\t\tBYTE
      * input, int inputOctets, BYTE * outBuffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:536,1
    - Dst: rijndaelEncryptRound
      Src: /src/relic/src/bc/rijndael-api-fst.c:540,1
    - Dst: rijndaelDecryptRound
      Src: /src/relic/src/bc/rijndael-api-fst.c:544,1
    - Dst: memcpy
      Src: /src/relic/src/bc/rijndael-api-fst.c:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - cipher
    - key
    - input
    - inputLen
    - outBuffer
    - rounds
    argTypes:
    - cipherInstance*
    - keyInstance*
    - BYTE*
    - int
    - BYTE*
    - int
    constantsTouched: []
    func_position:
      end: 554
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 554
    functionName: cipherUpdateRounds
    functionSourceFile: /src/relic/src/bc/rijndael-api-fst.c
    functionUses: 0
    functionsReached:
    - rijndaelEncryptRound
    - memcpy
    - rijndaelDecryptRound
    linkageType: ''
    returnType: int
    signature: "int cipherUpdateRounds(cipherInstance * cipher, keyInstance * key,\n\t\tBYTE
      * input, int inputLen, BYTE * outBuffer, int rounds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: makeKey2
      Src: /src/relic/src/bc/relic_bc_aes.c:52,1
    - Dst: cipherInit
      Src: /src/relic/src/bc/relic_bc_aes.c:55,1
    - Dst: memcpy
      Src: /src/relic/src/bc/relic_bc_aes.c:58,1
    - Dst: padEncrypt
      Src: /src/relic/src/bc/relic_bc_aes.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 7
    argNames:
    - out
    - out_len
    - in
    - in_len
    - key
    - key_len
    - iv
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: bc_aes_cbc_enc
    functionSourceFile: /src/relic/src/bc/relic_bc_aes.c
    functionUses: 1
    functionsReached:
    - makeKey2
    - memcpy
    - padEncrypt
    - cipherInit
    linkageType: ''
    returnType: int
    signature: "int bc_aes_cbc_enc(uint8_t *out, size_t *out_len, const uint8_t *in,\n\t\tsize_t
      in_len, const uint8_t *key, size_t key_len, const uint8_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: makeKey2
      Src: /src/relic/src/bc/relic_bc_aes.c:81,1
    - Dst: cipherInit
      Src: /src/relic/src/bc/relic_bc_aes.c:84,1
    - Dst: memcpy
      Src: /src/relic/src/bc/relic_bc_aes.c:87,1
    - Dst: padDecrypt
      Src: /src/relic/src/bc/relic_bc_aes.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 7
    argNames:
    - out
    - out_len
    - in
    - in_len
    - key
    - key_len
    - iv
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 98
    functionName: bc_aes_cbc_dec
    functionSourceFile: /src/relic/src/bc/relic_bc_aes.c
    functionUses: 1
    functionsReached:
    - makeKey2
    - padDecrypt
    - memcpy
    - cipherInit
    linkageType: ''
    returnType: int
    signature: "int bc_aes_cbc_dec(uint8_t *out, size_t *out_len, const uint8_t *in,\n\t\tsize_t
      in_len, const uint8_t *key, size_t key_len, const uint8_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:733,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:734,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:735,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:736,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:755,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:756,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:777,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:778,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 3
    argNames:
    - rk
    - cipherKey
    - keyBits
    argTypes:
    - u32[]
    - u8[]
    - int
    constantsTouched: []
    func_position:
      end: 808
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 808
    functionName: rijndaelKeySetupEnc
    functionSourceFile: /src/relic/src/bc/rijndael-alg-fst.c
    functionUses: 2
    functionsReached:
    - GETU32
    linkageType: ''
    returnType: int
    signature: int rijndaelKeySetupEnc(u32 rk[/*4*(Nr + 1)*/], const u8 cipherKey[],
      int keyBits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelKeySetupEnc
      Src: /src/relic/src/bc/rijndael-alg-fst.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - rk
    - cipherKey
    - keyBits
    argTypes:
    - u32[]
    - u8[]
    - int
    constantsTouched: []
    func_position:
      end: 853
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 853
    functionName: rijndaelKeySetupDec
    functionSourceFile: /src/relic/src/bc/rijndael-alg-fst.c
    functionUses: 2
    functionsReached:
    - rijndaelKeySetupEnc
    linkageType: ''
    returnType: int
    signature: int rijndaelKeySetupDec(u32 rk[/*4*(Nr + 1)*/], const u8 cipherKey[],
      int keyBits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:865,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:866,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:867,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:868,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1012,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1019,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1026,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 85
    argCount: 4
    argNames:
    - rk
    - Nr
    - pt
    - ct
    argTypes:
    - u32[]
    - int
    - u8[]
    - u8[]
    constantsTouched: []
    func_position:
      end: 1034
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 1034
    functionName: rijndaelEncrypt
    functionSourceFile: /src/relic/src/bc/rijndael-alg-fst.c
    functionUses: 3
    functionsReached:
    - GETU32
    - PUTU32
    linkageType: ''
    returnType: void
    signature: void rijndaelEncrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr, const u8
      pt[16], u8 ct[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1046,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1047,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1048,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1049,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1193,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1200,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1207,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 85
    argCount: 4
    argNames:
    - rk
    - Nr
    - ct
    - pt
    argTypes:
    - u32[]
    - int
    - u8[]
    - u8[]
    constantsTouched: []
    func_position:
      end: 1215
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1215
    functionName: rijndaelDecrypt
    functionSourceFile: /src/relic/src/bc/rijndael-alg-fst.c
    functionUses: 2
    functionsReached:
    - GETU32
    - PUTU32
    linkageType: ''
    returnType: void
    signature: void rijndaelDecrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr, const u8
      ct[16], u8 pt[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1227,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1228,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1229,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1230,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1306,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1307,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1308,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 4
    argNames:
    - rk
    - Nr
    - block
    - rounds
    argTypes:
    - u32[]
    - int
    - u8[]
    - int
    constantsTouched: []
    func_position:
      end: 1310
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1310
    functionName: rijndaelEncryptRound
    functionSourceFile: /src/relic/src/bc/rijndael-alg-fst.c
    functionUses: 1
    functionsReached:
    - GETU32
    - PUTU32
    linkageType: ''
    returnType: void
    signature: void rijndaelEncryptRound(const u32 rk[/*4*(Nr + 1)*/], int Nr, u8
      block[16], int rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1320,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1321,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1322,1
    - Dst: GETU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1323,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1395,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1396,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1397,1
    - Dst: PUTU32
      Src: /src/relic/src/bc/rijndael-alg-fst.c:1398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 4
    argNames:
    - rk
    - Nr
    - block
    - rounds
    argTypes:
    - u32[]
    - int
    - u8[]
    - int
    constantsTouched: []
    func_position:
      end: 1399
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1399
    functionName: rijndaelDecryptRound
    functionSourceFile: /src/relic/src/bc/rijndael-alg-fst.c
    functionUses: 1
    functionsReached:
    - GETU32
    - PUTU32
    linkageType: ''
    returnType: void
    signature: void rijndaelDecryptRound(const u32 rk[/*4*(Nr + 1)*/], int Nr, u8
      block[16], int rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sok.c:51,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sok.c:52,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_sok.c:53,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sok.c:56,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sok.c:57,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_sok.c:58,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_sok.c:60,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_sok.c:64,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/src/cp/relic_cp_sok.c:65,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_sok.c:66,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:68,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:69,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:71,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:72,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_sok.c:75,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_sok.c:76,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:77,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:78,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_sok.c:81,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:82,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_sok.c:83,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_sok.c:85,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_sok.c:86,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_sok.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 6
    argNames:
    - c
    - s
    - msg
    - len
    - y
    - x
    argTypes:
    - bn_t
    - bn_t
    - uint8_t*
    - size_t
    - ec_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 88
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 88
    functionName: cp_sokdl_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_sok.c
    functionUses: 1
    functionsReached:
    - ec_mul_gen
    - bn_mul
    - bn_null
    - bn_sub
    - RLC_THROW
    - bn_mod
    - bn_read_bin
    - memcpy
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_null
    - ec_size_bin
    - ec_curve_get_gen
    - ec_new
    - ec_write_bin
    - md_map
    linkageType: ''
    returnType: int
    signature: "int cp_sokdl_sig(bn_t c, bn_t s, const uint8_t *msg, size_t len, const
      ec_t y,\n\t\tconst bn_t x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sok.c:109,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sok.c:110,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_sok.c:111,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sok.c:114,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sok.c:115,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_sok.c:116,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_sok.c:118,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_sok.c:122,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/src/cp/relic_cp_sok.c:123,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_sok.c:124,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:126,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:127,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:129,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:130,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/src/cp/relic_cp_sok.c:134,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:135,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:136,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_sok.c:138,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:139,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_sok.c:140,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_sok.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 5
    argNames:
    - c
    - s
    - msg
    - len
    - y
    argTypes:
    - bn_t
    - bn_t
    - uint8_t*
    - size_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 145
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 145
    functionName: cp_sokdl_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_sok.c
    functionUses: 1
    functionsReached:
    - bn_null
    - RLC_THROW
    - bn_mod
    - bn_read_bin
    - memcpy
    - ec_curve_get_ord
    - bn_cmp
    - bn_new
    - ec_null
    - ec_size_bin
    - ec_mul_sim_gen
    - ec_curve_get_gen
    - ec_new
    - ec_write_bin
    - md_map
    linkageType: ''
    returnType: int
    signature: "int cp_sokdl_ver(const bn_t c, const bn_t s, const uint8_t *msg, size_t
      len,\n\t\tconst ec_t y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sok.c:168,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sok.c:169,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sok.c:170,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sok.c:171,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_sok.c:172,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_sok.c:173,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_sok.c:174,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sok.c:177,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sok.c:178,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sok.c:179,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sok.c:180,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_sok.c:181,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_sok.c:182,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_sok.c:183,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_sok.c:185,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_sok.c:189,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_sok.c:190,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_sok.c:191,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_sok.c:194,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_sok.c:195,1
    - Dst: ec_mul
      Src: /src/relic/src/cp/relic_cp_sok.c:198,1
    - Dst: ec_mul_sim
      Src: /src/relic/src/cp/relic_cp_sok.c:199,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_sok.c:201,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/src/cp/relic_cp_sok.c:202,1
    - Dst: ec_mul_sim
      Src: /src/relic/src/cp/relic_cp_sok.c:207,1
    - Dst: ec_mul
      Src: /src/relic/src/cp/relic_cp_sok.c:209,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/src/cp/relic_cp_sok.c:212,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_sok.c:214,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/src/cp/relic_cp_sok.c:218,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_sok.c:221,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:223,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:224,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:226,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:227,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:229,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:230,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_sok.c:233,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:234,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_sok.c:235,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_sok.c:237,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_sok.c:238,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_sok.c:240,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_sok.c:241,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_sok.c:242,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_sok.c:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 8
    argNames:
    - c
    - s
    - msg
    - len
    - y
    - g
    - x
    - first
    argTypes:
    - bn_t[]
    - bn_t[]
    - uint8_t*
    - size_t
    - ec_t[]
    - ec_t[]
    - bn_t
    - int
    constantsTouched: []
    func_position:
      end: 244
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 244
    functionName: cp_sokor_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_sok.c
    functionUses: 1
    functionsReached:
    - bn_sub
    - bn_read_bin
    - bn_mul
    - bn_null
    - RLC_THROW
    - bn_mod
    - ec_write_bin
    - ec_mul
    - memcpy
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_copy
    - ec_size_bin
    - md_map
    - ec_mul_gen
    - ec_null
    - ec_mul_sim
    - ec_new
    - ec_mul_sim_gen
    - ec_curve_get_gen
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int cp_sokor_sig(bn_t c[2], bn_t s[2], const uint8_t *msg, size_t
      len,\n\t\tconst ec_t y[2], const ec_t g[2], const bn_t x, int first)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sok.c:269,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sok.c:270,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sok.c:271,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sok.c:272,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_sok.c:273,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sok.c:276,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sok.c:277,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sok.c:278,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sok.c:279,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_sok.c:280,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_sok.c:282,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_sok.c:286,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_sok.c:287,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_sok.c:292,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/src/cp/relic_cp_sok.c:294,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:296,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:297,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:299,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:300,1
    - Dst: ec_mul_sim
      Src: /src/relic/src/cp/relic_cp_sok.c:303,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/src/cp/relic_cp_sok.c:305,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:307,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:308,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_sok.c:311,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_sok.c:312,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_sok.c:313,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_sok.c:315,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_sok.c:316,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_sok.c:317,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_sok.c:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 6
    argNames:
    - c
    - s
    - msg
    - len
    - y
    - g
    argTypes:
    - bn_t[]
    - bn_t[]
    - uint8_t*
    - size_t
    - ec_t[]
    - ec_t[]
    constantsTouched: []
    func_position:
      end: 322
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 322
    functionName: cp_sokor_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_sok.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_sub
    - RLC_THROW
    - bn_mod
    - bn_read_bin
    - memcpy
    - ec_curve_get_ord
    - bn_new
    - ec_null
    - ec_copy
    - ec_size_bin
    - ec_curve_get_gen
    - ec_new
    - ec_write_bin
    - ec_mul_sim
    - ec_mul_sim_gen
    - md_map
    - bn_is_zero
    linkageType: ''
    returnType: int
    signature: "int cp_sokor_ver(const bn_t c[2], const bn_t s[2], const uint8_t *msg,\n\t\tsize_t
      len, const ec_t y[2], const ec_t g[2])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ped.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ped.c:45,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ped.c:46,1
    - Dst: ec_is_infty
      Src: /src/relic/src/cp/relic_cp_ped.c:48,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_ped.c:48,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_ped.c:48,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/src/cp/relic_cp_ped.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - c
    - h
    - r
    - x
    argTypes:
    - ec_t
    - ec_t
    - bn_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: cp_ped_com
    functionSourceFile: /src/relic/src/cp/relic_cp_ped.c
    functionUses: 1
    functionsReached:
    - bn_null
    - ec_curve_get_ord
    - bn_cmp
    - bn_new
    - ec_mul_sim_gen
    - bn_is_zero
    - ec_is_infty
    linkageType: ''
    returnType: int
    signature: int cp_ped_com(ec_t c, ec_t h, bn_t r, bn_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_rand
      Src: /src/relic/src/cp/relic_cp_pdbat.c:53,1
    - Dst: g2_rand
      Src: /src/relic/src/cp/relic_cp_pdbat.c:54,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_pdbat.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - u
    - v
    - e
    argTypes:
    - g1_t
    - g2_t
    - gt_t
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: cp_pdbat_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_pdbat.c
    functionUses: 1
    functionsReached:
    - pc_map
    - g2_rand
    - g1_rand
    linkageType: ''
    returnType: int
    signature: int cp_pdbat_gen(g1_t u, g2_t v, gt_t e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pdbat.c:64,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pdbat.c:67,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_pdbat.c:69,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pdbat.c:71,1
    - Dst: bn_rand
      Src: /src/relic/src/cp/relic_cp_pdbat.c:72,1
    - Dst: g1_mul_sim
      Src: /src/relic/src/cp/relic_cp_pdbat.c:73,1
    - Dst: g2_mul_sim_lot
      Src: /src/relic/src/cp/relic_cp_pdbat.c:75,1
    - Dst: g2_sub
      Src: /src/relic/src/cp/relic_cp_pdbat.c:76,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_pdbat.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 9
    argNames:
    - l
    - b
    - z
    - c
    - u
    - v
    - p
    - q
    - m
    argTypes:
    - bn_t*
    - bn_t*
    - g1_t*
    - g2_t
    - g1_t
    - g2_t
    - g1_t*
    - g2_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: cp_pdbat_ask
    functionSourceFile: /src/relic/src/cp/relic_cp_pdbat.c
    functionUses: 1
    functionsReached:
    - bn_null
    - g1_mul_sim
    - bn_rand_mod
    - g2_mul_sim_lot
    - g2_norm
    - bn_new
    - pc_get_ord
    - g2_sub
    - bn_rand
    linkageType: ''
    returnType: int
    signature: "int cp_pdbat_ask(bn_t *l, bn_t *b, g1_t *z, g2_t c, const g1_t u,
      const g2_t v,\n\t\tconst g1_t *p, const g2_t *q, size_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecdh.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecdh.c:45,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ecdh.c:47,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ecdh.c:48,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_ecdh.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - d
    - q
    argTypes:
    - bn_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: cp_ecdh_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_ecdh.c
    functionUses: 1
    functionsReached:
    - ec_mul_gen
    - bn_null
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    linkageType: ''
    returnType: int
    signature: int cp_ecdh_gen(bn_t d, ec_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ecdh.c:67,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecdh.c:68,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecdh.c:69,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ecdh.c:72,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecdh.c:73,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecdh.c:74,1
    - Dst: ec_curve_get_cof
      Src: /src/relic/src/cp/relic_cp_ecdh.c:76,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecdh.c:77,1
    - Dst: ec_mul_dig
      Src: /src/relic/src/cp/relic_cp_ecdh.c:78,1
    - Dst: ec_mul
      Src: /src/relic/src/cp/relic_cp_ecdh.c:80,1
    - Dst: ec_mul
      Src: /src/relic/src/cp/relic_cp_ecdh.c:82,1
    - Dst: ec_is_infty
      Src: /src/relic/src/cp/relic_cp_ecdh.c:83,1
    - Dst: ec_get_x
      Src: /src/relic/src/cp/relic_cp_ecdh.c:86,1
    - Dst: bn_size_bin
      Src: /src/relic/src/cp/relic_cp_ecdh.c:87,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_ecdh.c:88,1
    - Dst: md_kdf
      Src: /src/relic/src/cp/relic_cp_ecdh.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - key
    - key_len
    - d
    - q
    argTypes:
    - uint8_t*
    - size_t
    - bn_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 90
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 90
    functionName: cp_ecdh_key
    functionSourceFile: /src/relic/src/cp/relic_cp_ecdh.c
    functionUses: 1
    functionsReached:
    - bn_null
    - ec_curve_get_cof
    - ec_mul_dig
    - bn_new
    - ec_null
    - bn_size_bin
    - bn_write_bin
    - bn_bits
    - ec_new
    - ec_get_x
    - md_kdf
    - ec_is_infty
    - ec_mul
    linkageType: ''
    returnType: int
    signature: int cp_ecdh_key(uint8_t *key, size_t key_len, const bn_t d, const ec_t
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - g
    - h
    - u
    - a
    - b
    - c
    - n
    argTypes:
    - ec_t*
    - ec_t*
    - ec_t
    - bn_t*
    - bn_t*
    - bn_t
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: cp_ipa_prv
    functionSourceFile: /src/relic/src/cp/relic_cp_ipa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cp_ipa_prv(ec_t *g, ec_t *h, ec_t u, bn_t *a, bn_t *b, bn_t c,
      size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pss.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pss.c:45,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_pss.c:47,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pss.c:48,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pss.c:49,1
    - Dst: g2_rand
      Src: /src/relic/src/cp/relic_cp_pss.c:50,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_pss.c:51,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_pss.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - r
    - s
    - g
    - x
    - y
    argTypes:
    - bn_t
    - bn_t
    - g2_t
    - g2_t
    - g2_t
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: cp_pss_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_pss.c
    functionUses: 3
    functionsReached:
    - bn_null
    - g2_mul
    - bn_rand_mod
    - g2_rand
    - bn_new
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_pss_gen(bn_t r, bn_t s, g2_t g, g2_t x, g2_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pss.c:67,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pss.c:68,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pss.c:71,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pss.c:72,1
    - Dst: g1_get_ord
      Src: /src/relic/src/cp/relic_cp_pss.c:74,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_pss.c:75,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pss.c:76,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_pss.c:77,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pss.c:78,1
    - Dst: g1_rand
      Src: /src/relic/src/cp/relic_cp_pss.c:79,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_pss.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - a
    - b
    - m
    - r
    - s
    argTypes:
    - g1_t
    - g1_t
    - bn_t
    - bn_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: cp_pss_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_pss.c
    functionUses: 3
    functionsReached:
    - bn_mul
    - bn_null
    - bn_mod
    - g1_mul
    - bn_new
    - bn_add
    - g1_get_ord
    - g1_rand
    linkageType: ''
    returnType: int
    signature: int cp_pss_sig(g1_t a, g1_t b, const bn_t m, const bn_t r, const bn_t
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_pss.c:98,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_pss.c:99,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_pss.c:100,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_pss.c:101,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_pss.c:102,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_pss.c:105,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_pss.c:106,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_pss.c:107,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_pss.c:108,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_pss.c:109,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_pss.c:111,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_pss.c:112,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_pss.c:113,1
    - Dst: g2_neg
      Src: /src/relic/src/cp/relic_cp_pss.c:114,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_pss.c:116,1
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_pss.c:117,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_pss.c:118,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_pss.c:120,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_pss.c:121,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_pss.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 6
    argNames:
    - a
    - b
    - m
    - g
    - x
    - y
    argTypes:
    - g1_t
    - g1_t
    - bn_t
    - g2_t
    - g2_t
    - g2_t
    constantsTouched: []
    func_position:
      end: 124
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 124
    functionName: cp_pss_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_pss.c
    functionUses: 5
    functionsReached:
    - g2_null
    - g2_neg
    - g2_mul
    - pc_map_sim
    - g1_is_infty
    - g2_add
    - g2_norm
    - g1_new
    - g1_null
    - g1_copy
    - gt_is_unity
    - g2_copy
    - g2_new
    - gt_new
    - gt_null
    linkageType: ''
    returnType: int
    signature: "int cp_pss_ver(const g1_t a, const g1_t b, const bn_t m, const g2_t
      g,\n\t\tconst g2_t x, const g2_t y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pss.c:142,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pss.c:145,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_pss.c:147,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pss.c:148,1
    - Dst: g2_rand
      Src: /src/relic/src/cp/relic_cp_pss.c:149,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_pss.c:150,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pss.c:152,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_pss.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - r
    - s
    - g
    - x
    - y
    - l
    argTypes:
    - bn_t
    - bn_t[]
    - g2_t
    - g2_t
    - g2_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: cp_psb_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_pss.c
    functionUses: 3
    functionsReached:
    - bn_null
    - g2_mul
    - bn_rand_mod
    - g2_rand
    - bn_new
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_psb_gen(bn_t r, bn_t s[], g2_t g, g2_t x, g2_t y[], size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pss.c:170,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pss.c:171,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pss.c:172,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pss.c:175,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pss.c:176,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pss.c:177,1
    - Dst: g1_rand
      Src: /src/relic/src/cp/relic_cp_pss.c:180,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_pss.c:182,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_pss.c:184,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pss.c:186,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_pss.c:187,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pss.c:188,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_pss.c:189,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pss.c:190,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_pss.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 6
    argNames:
    - a
    - b
    - ms
    - r
    - s
    - l
    argTypes:
    - g1_t
    - g1_t
    - bn_t[]
    - bn_t
    - bn_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 193
    functionName: cp_psb_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_pss.c
    functionUses: 3
    functionsReached:
    - bn_mul
    - bn_null
    - bn_mod
    - g1_mul
    - bn_new
    - pc_get_ord
    - bn_add
    - g1_rand
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int cp_psb_sig(g1_t a, g1_t b, const bn_t ms[], const bn_t r, const
      bn_t s[],\n\t\tsize_t l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_pss.c:213,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_pss.c:214,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_pss.c:215,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_pss.c:216,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_pss.c:217,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pss.c:218,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pss.c:219,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_pss.c:222,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_pss.c:223,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_pss.c:224,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_pss.c:225,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_pss.c:226,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pss.c:227,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pss.c:228,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_pss.c:231,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_pss.c:232,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_pss.c:234,1
    - Dst: g2_mul_sim_lot
      Src: /src/relic/src/cp/relic_cp_pss.c:235,1
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_pss.c:236,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_pss.c:237,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_pss.c:238,1
    - Dst: g2_neg
      Src: /src/relic/src/cp/relic_cp_pss.c:239,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_pss.c:240,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_pss.c:241,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_pss.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 7
    argNames:
    - a
    - b
    - ms
    - g
    - x
    - y
    - l
    argTypes:
    - g1_t
    - g1_t
    - bn_t[]
    - g2_t
    - g2_t
    - g2_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 244
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 244
    functionName: cp_psb_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_pss.c
    functionUses: 3
    functionsReached:
    - g2_null
    - bn_null
    - g2_neg
    - pc_map_sim
    - g1_is_infty
    - g2_add
    - g2_norm
    - g2_mul_sim_lot
    - g1_new
    - g1_null
    - bn_new
    - g1_copy
    - gt_is_unity
    - g2_copy
    - g2_new
    - pc_get_ord
    - gt_new
    - gt_null
    linkageType: ''
    returnType: int
    signature: "int cp_psb_ver(const g1_t a, const g1_t b, const bn_t ms[], const
      g2_t g,\n\t\tconst g2_t x, const g2_t y[], size_t l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_vbnn.c:48,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_vbnn.c:52,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_vbnn.c:55,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_vbnn.c:58,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_vbnn.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msk
    - mpk
    argTypes:
    - bn_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: cp_vbnn_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_vbnn.c
    functionUses: 1
    functionsReached:
    - ec_mul_gen
    - bn_null
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    linkageType: ''
    returnType: int
    signature: int cp_vbnn_gen(bn_t msk, ec_t mpk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_vbnn.c:82,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_vbnn.c:83,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_vbnn.c:87,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_vbnn.c:88,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_vbnn.c:91,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_vbnn.c:94,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_vbnn.c:97,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:100,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_vbnn.c:101,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_vbnn.c:103,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_vbnn.c:105,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:106,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:106,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_vbnn.c:108,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:109,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_vbnn.c:110,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_vbnn.c:111,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_vbnn.c:112,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_vbnn.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 5
    argNames:
    - sk
    - pk
    - msk
    - id
    - id_len
    argTypes:
    - bn_t
    - ec_t
    - bn_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 114
    functionName: cp_vbnn_gen_prv
    functionSourceFile: /src/relic/src/cp/relic_cp_vbnn.c
    functionUses: 1
    functionsReached:
    - ec_mul_gen
    - bn_mul
    - bn_null
    - bn_add
    - RLC_THROW
    - bn_mod
    - bn_read_bin
    - memcpy
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - RLC_ALLOCA
    - ec_size_bin
    - ec_write_bin
    - md_map
    linkageType: ''
    returnType: int
    signature: "int cp_vbnn_gen_prv(bn_t sk, ec_t pk, const bn_t msk, const uint8_t
      *id,\n\t\tsize_t id_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_vbnn.c:136,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_vbnn.c:137,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_vbnn.c:138,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_vbnn.c:141,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_vbnn.c:142,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_vbnn.c:143,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_vbnn.c:146,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_vbnn.c:148,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_vbnn.c:149,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:152,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:152,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_vbnn.c:153,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_vbnn.c:155,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_vbnn.c:159,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_vbnn.c:161,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:163,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:163,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:164,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:165,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:165,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_vbnn.c:167,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:168,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_vbnn.c:169,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_vbnn.c:172,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_vbnn.c:173,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_vbnn.c:174,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_vbnn.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 9
    argNames:
    - r
    - z
    - h
    - id
    - id_len
    - msg
    - msg_len
    - sk
    - pk
    argTypes:
    - ec_t
    - bn_t
    - bn_t
    - uint8_t*
    - size_t
    - uint8_t*
    - int
    - bn_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 178
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 178
    functionName: cp_vbnn_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_vbnn.c
    functionUses: 1
    functionsReached:
    - ec_mul_gen
    - bn_mul
    - bn_null
    - bn_add
    - RLC_THROW
    - bn_mod
    - bn_read_bin
    - memcpy
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_null
    - ec_size_bin
    - ec_copy
    - RLC_ALLOCA
    - ec_new
    - ec_write_bin
    - md_map
    linkageType: ''
    returnType: int
    signature: "int cp_vbnn_sig(ec_t r, bn_t z, bn_t h, const uint8_t *id, size_t
      id_len,\n\t\tconst uint8_t *msg, int msg_len, const bn_t sk, const ec_t pk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_vbnn.c:201,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_vbnn.c:202,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_vbnn.c:203,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_vbnn.c:204,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_vbnn.c:205,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_vbnn.c:208,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_vbnn.c:209,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_vbnn.c:210,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_vbnn.c:211,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_vbnn.c:212,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:215,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_vbnn.c:216,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_vbnn.c:218,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_vbnn.c:222,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_vbnn.c:225,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:227,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:227,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:229,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_vbnn.c:230,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:231,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_vbnn.c:232,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_vbnn.c:235,1
    - Dst: ec_mul
      Src: /src/relic/src/cp/relic_cp_vbnn.c:236,1
    - Dst: ec_add
      Src: /src/relic/src/cp/relic_cp_vbnn.c:237,1
    - Dst: ec_norm
      Src: /src/relic/src/cp/relic_cp_vbnn.c:238,1
    - Dst: ec_mul
      Src: /src/relic/src/cp/relic_cp_vbnn.c:239,1
    - Dst: ec_sub
      Src: /src/relic/src/cp/relic_cp_vbnn.c:240,1
    - Dst: ec_norm
      Src: /src/relic/src/cp/relic_cp_vbnn.c:241,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_vbnn.c:245,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_vbnn.c:247,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:249,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:249,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:250,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:251,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:251,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:253,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:253,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_vbnn.c:254,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_vbnn.c:255,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_vbnn.c:256,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_vbnn.c:257,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_vbnn.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 8
    argNames:
    - r
    - z
    - h
    - id
    - id_len
    - msg
    - msg_len
    - mpk
    argTypes:
    - ec_t
    - bn_t
    - bn_t
    - uint8_t*
    - size_t
    - uint8_t*
    - int
    - ec_t
    constantsTouched: []
    func_position:
      end: 264
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 264
    functionName: cp_vbnn_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_vbnn.c
    functionUses: 1
    functionsReached:
    - bn_read_bin
    - ec_add
    - bn_cmp
    - RLC_ALLOCA
    - bn_null
    - RLC_THROW
    - bn_mod
    - ec_mul
    - RLC_FREE
    - memcpy
    - ec_curve_get_ord
    - bn_new
    - ec_size_bin
    - md_map
    - ec_mul_gen
    - ec_sub
    - ec_null
    - ec_new
    - ec_write_bin
    - ec_norm
    linkageType: ''
    returnType: int
    signature: "int cp_vbnn_ver(const ec_t r, const bn_t z, const bn_t h, const uint8_t
      *id,\n\t\tsize_t id_len, const uint8_t *msg, int msg_len, const ec_t mpk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ibe.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ibe.c:45,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_ibe.c:47,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ibe.c:48,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_ibe.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - master
    - pub
    argTypes:
    - bn_t
    - g1_t
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: cp_ibe_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_ibe.c
    functionUses: 1
    functionsReached:
    - g1_mul_gen
    - bn_null
    - bn_rand_mod
    - bn_new
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_ibe_gen(bn_t master, g1_t pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_map
      Src: /src/relic/src/cp/relic_cp_ibe.c:63,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_ibe.c:63,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_ibe.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - prv
    - id
    - master
    argTypes:
    - g2_t
    - char*
    - bn_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: cp_ibe_gen_prv
    functionSourceFile: /src/relic/src/cp/relic_cp_ibe.c
    functionUses: 1
    functionsReached:
    - g2_map
    - g2_mul
    - strlen
    linkageType: ''
    returnType: int
    signature: int cp_ibe_gen_prv(g2_t prv, const char *id, const bn_t master)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ibe.c:78,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ibe.c:79,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_ibe.c:80,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_ibe.c:81,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_ibe.c:82,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ibe.c:94,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ibe.c:95,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_ibe.c:96,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_ibe.c:97,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_ibe.c:98,1
    - Dst: gt_size_bin
      Src: /src/relic/src/cp/relic_cp_ibe.c:101,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_ibe.c:102,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_ibe.c:104,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_ibe.c:107,1
    - Dst: g2_map
      Src: /src/relic/src/cp/relic_cp_ibe.c:110,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_ibe.c:110,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_ibe.c:113,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ibe.c:116,1
    - Dst: gt_exp
      Src: /src/relic/src/cp/relic_cp_ibe.c:117,1
    - Dst: gt_write_bin
      Src: /src/relic/src/cp/relic_cp_ibe.c:118,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_ibe.c:119,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_ibe.c:122,1
    - Dst: g1_write_bin
      Src: /src/relic/src/cp/relic_cp_ibe.c:123,1
    - Dst: RLC_MIN
      Src: /src/relic/src/cp/relic_cp_ibe.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 6
    argNames:
    - out
    - out_len
    - in
    - in_len
    - id
    - pub
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - char*
    - g1_t
    constantsTouched: []
    func_position:
      end: 130
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 130
    functionName: cp_ibe_enc
    functionSourceFile: /src/relic/src/cp/relic_cp_ibe.c
    functionUses: 1
    functionsReached:
    - gt_size_bin
    - gt_exp
    - gt_write_bin
    - RLC_ALLOCA
    - pc_get_ord
    - gt_new
    - g2_null
    - bn_null
    - RLC_THROW
    - g2_map
    - g1_write_bin
    - RLC_MIN
    - gt_null
    - strlen
    - bn_rand_mod
    - pc_map
    - bn_new
    - md_map
    - g1_mul_gen
    - g1_new
    - g1_null
    - g2_new
    linkageType: ''
    returnType: int
    signature: "int cp_ibe_enc(uint8_t *out, size_t *out_len, const uint8_t *in, size_t
      in_len,\n\t\tconst char *id, const g1_t pub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_ibe.c:152,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_ibe.c:153,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_ibe.c:165,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_ibe.c:166,1
    - Dst: g1_read_bin
      Src: /src/relic/src/cp/relic_cp_ibe.c:168,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_ibe.c:170,1
    - Dst: gt_size_bin
      Src: /src/relic/src/cp/relic_cp_ibe.c:173,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_ibe.c:174,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_ibe.c:176,1
    - Dst: gt_write_bin
      Src: /src/relic/src/cp/relic_cp_ibe.c:178,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_ibe.c:179,1
    - Dst: RLC_MIN
      Src: /src/relic/src/cp/relic_cp_ibe.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - out
    - out_len
    - in
    - in_len
    - prv
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - g2_t
    constantsTouched: []
    func_position:
      end: 187
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 187
    functionName: cp_ibe_dec
    functionSourceFile: /src/relic/src/cp/relic_cp_ibe.c
    functionUses: 1
    functionsReached:
    - gt_size_bin
    - RLC_THROW
    - g1_read_bin
    - g1_new
    - g1_null
    - pc_map
    - gt_write_bin
    - RLC_ALLOCA
    - RLC_MIN
    - md_map
    - gt_new
    - gt_null
    linkageType: ''
    returnType: int
    signature: "int cp_ibe_dec(uint8_t *out, size_t *out_len, const uint8_t *in, size_t
      in_len,\n\t\tconst g2_t prv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_sokaka.c:43,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_sokaka.c:46,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_sokaka.c:48,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_sokaka.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - master
    argTypes:
    - bn_t
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: cp_sokaka_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_sokaka.c
    functionUses: 1
    functionsReached:
    - bn_new
    - pc_get_ord
    - bn_rand_mod
    - bn_null
    linkageType: ''
    returnType: int
    signature: int cp_sokaka_gen(bn_t master)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pc_map_is_type1
      Src: /src/relic/src/cp/relic_cp_sokaka.c:61,1
    - Dst: g1_map
      Src: /src/relic/src/cp/relic_cp_sokaka.c:62,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_sokaka.c:62,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_sokaka.c:63,1
    - Dst: g1_map
      Src: /src/relic/src/cp/relic_cp_sokaka.c:65,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_sokaka.c:65,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_sokaka.c:66,1
    - Dst: g2_map
      Src: /src/relic/src/cp/relic_cp_sokaka.c:67,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_sokaka.c:67,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_sokaka.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - k
    - id
    - master
    argTypes:
    - sokaka_t
    - char*
    - bn_t
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: cp_sokaka_gen_prv
    functionSourceFile: /src/relic/src/cp/relic_cp_sokaka.c
    functionUses: 1
    functionsReached:
    - g1_map
    - g2_mul
    - strlen
    - g1_mul
    - g2_map
    - pc_map_is_type1
    linkageType: ''
    returnType: int
    signature: int cp_sokaka_gen_prv(sokaka_t k, const char *id, bn_t master)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_sokaka.c:82,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_sokaka.c:83,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_sokaka.c:84,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_sokaka.c:87,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_sokaka.c:88,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_sokaka.c:89,1
    - Dst: gt_size_bin
      Src: /src/relic/src/cp/relic_cp_sokaka.c:90,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_sokaka.c:91,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_sokaka.c:93,1
    - Dst: strncmp
      Src: /src/relic/src/cp/relic_cp_sokaka.c:97,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_sokaka.c:98,1
    - Dst: strncmp
      Src: /src/relic/src/cp/relic_cp_sokaka.c:100,1
    - Dst: strncmp
      Src: /src/relic/src/cp/relic_cp_sokaka.c:103,1
    - Dst: strncmp
      Src: /src/relic/src/cp/relic_cp_sokaka.c:106,1
    - Dst: strncmp
      Src: /src/relic/src/cp/relic_cp_sokaka.c:109,1
    - Dst: strncmp
      Src: /src/relic/src/cp/relic_cp_sokaka.c:112,1
    - Dst: pc_map_is_type1
      Src: /src/relic/src/cp/relic_cp_sokaka.c:117,1
    - Dst: g2_map
      Src: /src/relic/src/cp/relic_cp_sokaka.c:118,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_sokaka.c:119,1
    - Dst: g2_map
      Src: /src/relic/src/cp/relic_cp_sokaka.c:122,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_sokaka.c:123,1
    - Dst: g1_map
      Src: /src/relic/src/cp/relic_cp_sokaka.c:125,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_sokaka.c:126,1
    - Dst: gt_write_bin
      Src: /src/relic/src/cp/relic_cp_sokaka.c:131,1
    - Dst: md_kdf
      Src: /src/relic/src/cp/relic_cp_sokaka.c:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 5
    argNames:
    - key
    - key_len
    - id1
    - k
    - id2
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - sokaka_t
    - char*
    constantsTouched: []
    func_position:
      end: 133
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 133
    functionName: cp_sokaka_key
    functionSourceFile: /src/relic/src/cp/relic_cp_sokaka.c
    functionUses: 1
    functionsReached:
    - g2_null
    - g1_map
    - gt_size_bin
    - RLC_THROW
    - g2_map
    - g1_new
    - g1_null
    - pc_map
    - gt_write_bin
    - md_kdf
    - pc_map_is_type1
    - RLC_ALLOCA
    - strncmp
    - g2_new
    - gt_new
    - gt_null
    linkageType: ''
    returnType: int
    signature: "int cp_sokaka_key(uint8_t *key, size_t key_len, const char *id1,\n\t\tconst
      sokaka_t k, const char *id2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:43,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:44,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:45,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:46,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:49,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:50,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:51,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:52,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/src/cp/relic_cp_smlers.c:54,1
    - Dst: ec_map
      Src: /src/relic/src/cp/relic_cp_smlers.c:55,1
    - Dst: ec_mul
      Src: /src/relic/src/cp/relic_cp_smlers.c:56,1
    - Dst: cp_ers_sig
      Src: /src/relic/src/cp/relic_cp_smlers.c:58,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_smlers.c:60,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_smlers.c:61,1
    - Dst: cp_sokor_sig
      Src: /src/relic/src/cp/relic_cp_smlers.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 7
    argNames:
    - td
    - p
    - msg
    - len
    - sk
    - pk
    - pp
    argTypes:
    - bn_t
    - smlers_t
    - uint8_t*
    - size_t
    - bn_t
    - ec_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: cp_smlers_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_smlers.c
    functionUses: 2
    functionsReached:
    - cp_ers_sig
    - ec_copy
    - ec_null
    - cp_sokor_sig
    - ec_curve_get_gen
    - ec_new
    - ec_map
    - ec_mul
    linkageType: ''
    returnType: int
    signature: "int cp_smlers_sig(bn_t td, smlers_t p, const uint8_t *msg, size_t
      len,\n\t\tconst bn_t sk, const ec_t pk, const ec_t pp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:82,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:83,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:84,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:85,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:86,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:87,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:90,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:91,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:92,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:93,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:94,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:95,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_smlers.c:97,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_smlers.c:98,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/src/cp/relic_cp_smlers.c:99,1
    - Dst: ec_map
      Src: /src/relic/src/cp/relic_cp_smlers.c:100,1
    - Dst: ec_add
      Src: /src/relic/src/cp/relic_cp_smlers.c:103,1
    - Dst: ec_cmp
      Src: /src/relic/src/cp/relic_cp_smlers.c:105,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_smlers.c:108,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_smlers.c:109,1
    - Dst: cp_sokor_ver
      Src: /src/relic/src/cp/relic_cp_smlers.c:110,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_smlers.c:112,1
    - Dst: cp_sokor_ver
      Src: /src/relic/src/cp/relic_cp_smlers.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 6
    argNames:
    - td
    - s
    - size
    - msg
    - len
    - pp
    argTypes:
    - bn_t
    - smlers_t*
    - size_t
    - uint8_t*
    - size_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 117
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 117
    functionName: cp_smlers_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_smlers.c
    functionUses: 2
    functionsReached:
    - ec_mul_gen
    - bn_null
    - ec_add
    - ec_curve_get_ord
    - bn_new
    - ec_null
    - ec_copy
    - ec_curve_get_gen
    - ec_new
    - ec_map
    - ec_cmp
    - cp_sokor_ver
    linkageType: ''
    returnType: int
    signature: "int cp_smlers_ver(bn_t td, smlers_t *s, size_t size, const uint8_t
      *msg,\n\t\tsize_t len, const ec_t pp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:138,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:139,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:140,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:141,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:142,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_smlers.c:143,1
    - Dst: ec_cmp
      Src: /src/relic/src/cp/relic_cp_smlers.c:146,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:152,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:153,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:154,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:155,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:156,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_smlers.c:157,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_smlers.c:159,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_smlers.c:160,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_smlers.c:161,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_smlers.c:162,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_smlers.c:163,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/src/cp/relic_cp_smlers.c:164,1
    - Dst: ec_map
      Src: /src/relic/src/cp/relic_cp_smlers.c:165,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_smlers.c:167,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_smlers.c:168,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_smlers.c:169,1
    - Dst: cp_sokor_sig
      Src: /src/relic/src/cp/relic_cp_smlers.c:170,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_smlers.c:172,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_smlers.c:173,1
    - Dst: cp_sokor_sig
      Src: /src/relic/src/cp/relic_cp_smlers.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 7
    argNames:
    - td
    - p
    - size
    - msg
    - len
    - pk
    - pp
    argTypes:
    - bn_t
    - smlers_t*
    - size_t*
    - uint8_t*
    - size_t
    - ec_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 177
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 177
    functionName: cp_smlers_ext
    functionSourceFile: /src/relic/src/cp/relic_cp_smlers.c
    functionUses: 2
    functionsReached:
    - ec_mul_gen
    - bn_null
    - bn_sub
    - bn_mod
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_null
    - ec_copy
    - cp_sokor_sig
    - ec_curve_get_gen
    - ec_new
    - ec_map
    - ec_cmp
    linkageType: ''
    returnType: int
    signature: "int cp_smlers_ext(bn_t td, smlers_t *p, size_t *size, const uint8_t
      *msg,\n\t\tsize_t len, const ec_t pk, const ec_t pp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:45,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_mklhs.c:47,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mklhs.c:48,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sk
    - pk
    argTypes:
    - bn_t
    - g2_t
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: cp_mklhs_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_mklhs.c
    functionUses: 2
    functionsReached:
    - bn_null
    - bn_rand_mod
    - bn_new
    - g2_mul_gen
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_mklhs_gen(bn_t sk, g2_t pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:68,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:69,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:72,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:73,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_mklhs.c:75,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_mklhs.c:78,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:79,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_mklhs.c:81,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:81,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_mklhs.c:82,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:82,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:82,1
    - Dst: g1_map
      Src: /src/relic/src/cp/relic_cp_mklhs.c:83,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:83,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:83,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_mklhs.c:84,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_mklhs.c:86,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:86,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_mklhs.c:87,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:87,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:87,1
    - Dst: g1_map
      Src: /src/relic/src/cp/relic_cp_mklhs.c:88,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:88,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:88,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_mklhs.c:89,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_mklhs.c:90,1
    - Dst: g1_mul_sec
      Src: /src/relic/src/cp/relic_cp_mklhs.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 6
    argNames:
    - s
    - m
    - data
    - id
    - tag
    - sk
    argTypes:
    - g1_t
    - bn_t
    - char*
    - char*
    - char*
    - bn_t
    constantsTouched: []
    func_position:
      end: 92
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 92
    functionName: cp_mklhs_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_mklhs.c
    functionUses: 2
    functionsReached:
    - g1_map
    - g1_mul_gen
    - bn_null
    - strlen
    - g1_add
    - RLC_THROW
    - memcpy
    - g1_new
    - g1_null
    - bn_new
    - g1_norm
    - g1_mul_sec
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: "int cp_mklhs_sig(g1_t s, const bn_t m, const char *data, const char
      *id,\n\t\tconst char *tag, const bn_t sk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:108,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:109,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:112,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:113,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_mklhs.c:115,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_mklhs.c:116,1
    - Dst: bn_mul_dig
      Src: /src/relic/src/cp/relic_cp_mklhs.c:118,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mklhs.c:119,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_mklhs.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - mu
    - m
    - f
    - len
    argTypes:
    - bn_t
    - bn_t[]
    - dig_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: cp_mklhs_fun
    functionSourceFile: /src/relic/src/cp/relic_cp_mklhs.c
    functionUses: 2
    functionsReached:
    - bn_null
    - bn_zero
    - bn_mod
    - bn_mul_dig
    - bn_new
    - pc_get_ord
    - bn_add
    linkageType: ''
    returnType: int
    signature: int cp_mklhs_fun(bn_t mu, const bn_t m[], const dig_t f[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_mul_sim_dig
      Src: /src/relic/src/cp/relic_cp_mklhs.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sig
    - s
    - f
    - len
    argTypes:
    - g1_t
    - g1_t[]
    - dig_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: cp_mklhs_evl
    functionSourceFile: /src/relic/src/cp/relic_cp_mklhs.c
    functionUses: 2
    functionsReached:
    - g1_mul_sim_dig
    linkageType: ''
    returnType: int
    signature: int cp_mklhs_evl(g1_t sig, const g1_t s[], const dig_t f[], size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_mklhs.c:145,1
    - Dst: RLC_MAX
      Src: /src/relic/src/cp/relic_cp_mklhs.c:150,1
    - Dst: RLC_MAX
      Src: /src/relic/src/cp/relic_cp_mklhs.c:151,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:151,1
    - Dst: RLC_MAX
      Src: /src/relic/src/cp/relic_cp_mklhs.c:153,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:153,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_mklhs.c:156,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:159,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:160,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:161,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:162,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:163,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:164,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:167,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:168,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:169,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:170,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:171,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:172,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_mklhs.c:174,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_mklhs.c:175,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_mklhs.c:176,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_mklhs.c:179,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_mklhs.c:180,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:182,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:183,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mklhs.c:184,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_mklhs.c:185,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:188,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:189,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_mklhs.c:192,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_mklhs.c:197,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:197,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_mklhs.c:198,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:198,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:198,1
    - Dst: g1_map
      Src: /src/relic/src/cp/relic_cp_mklhs.c:199,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:199,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:199,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_mklhs.c:200,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:200,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_mklhs.c:202,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:202,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:202,1
    - Dst: g1_map
      Src: /src/relic/src/cp/relic_cp_mklhs.c:203,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:203,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:203,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_mklhs.c:204,1
    - Dst: g1_norm_sim
      Src: /src/relic/src/cp/relic_cp_mklhs.c:206,1
    - Dst: g1_mul_sim_dig
      Src: /src/relic/src/cp/relic_cp_mklhs.c:207,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:208,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_mklhs.c:209,1
    - Dst: g1_norm_sim
      Src: /src/relic/src/cp/relic_cp_mklhs.c:211,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:213,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_mklhs.c:214,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_mklhs.c:215,1
    - Dst: gt_cmp
      Src: /src/relic/src/cp/relic_cp_mklhs.c:216,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 62
    argCount: 10
    argNames:
    - sig
    - m
    - mu
    - data
    - id
    - tag
    - f
    - flen
    - pk
    - slen
    argTypes:
    - g1_t
    - bn_t
    - bn_t[]
    - char*
    - char*[]
    - char*[]
    - dig_t*[]
    - size_t[]
    - g2_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 219
    functionName: cp_mklhs_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_mklhs.c
    functionUses: 2
    functionsReached:
    - bn_cmp
    - RLC_ALLOCA
    - pc_get_ord
    - g1_add
    - gt_new
    - g2_null
    - g1_map
    - bn_null
    - pc_map_sim
    - RLC_THROW
    - bn_mod
    - gt_null
    - RLC_FREE
    - strlen
    - memcpy
    - pc_map
    - g1_norm_sim
    - bn_new
    - gt_cmp
    - bn_add
    - g2_get_gen
    - g1_mul_gen
    - bn_zero
    - g1_mul_sim_dig
    - g1_new
    - g1_null
    - RLC_MAX
    - g2_new
    linkageType: ''
    returnType: int
    signature: "int cp_mklhs_ver(const g1_t sig, const bn_t m, const bn_t mu[],\n\t\tconst
      char *data, const char *id[], const char *tag[], const dig_t *f[],\n\t\tconst
      size_t flen[], const g2_t pk[], size_t slen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_MAX
      Src: /src/relic/src/cp/relic_cp_mklhs.c:247,1
    - Dst: RLC_MAX
      Src: /src/relic/src/cp/relic_cp_mklhs.c:248,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:248,1
    - Dst: RLC_MAX
      Src: /src/relic/src/cp/relic_cp_mklhs.c:250,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:250,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_mklhs.c:253,1
    - Dst: if
      Src: /src/relic/src/cp/relic_cp_mklhs.c:257,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_mklhs.c:258,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_mklhs.c:259,1
    - Dst: for
      Src: /src/relic/src/cp/relic_cp_mklhs.c:262,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:263,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:264,1
    - Dst: for
      Src: /src/relic/src/cp/relic_cp_mklhs.c:267,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_mklhs.c:269,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:269,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_mklhs.c:271,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:271,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:271,1
    - Dst: g1_map
      Src: /src/relic/src/cp/relic_cp_mklhs.c:272,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:272,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:272,1
    - Dst: g1_mul_sim_dig
      Src: /src/relic/src/cp/relic_cp_mklhs.c:275,1
    - Dst: g1_free
      Src: /src/relic/src/cp/relic_cp_mklhs.c:283,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_mklhs.c:285,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_mklhs.c:286,1
    - Dst: cp_mklhs_onv
      Src: /src/relic/src/cp/relic_cp_mklhs.c:291,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_mklhs.c:295,1
    - Dst: RLC_MAX
      Src: /src/relic/src/cp/relic_cp_mklhs.c:300,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:300,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:304,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:305,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:306,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:307,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:308,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:309,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:310,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:313,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:314,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:315,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:316,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:317,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:318,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:319,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_mklhs.c:321,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_mklhs.c:322,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_mklhs.c:325,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_mklhs.c:326,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_mklhs.c:328,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_mklhs.c:329,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mklhs.c:330,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_mklhs.c:331,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_mklhs.c:334,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_mklhs.c:339,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:339,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_mklhs.c:340,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:340,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:340,1
    - Dst: g1_map
      Src: /src/relic/src/cp/relic_cp_mklhs.c:341,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:341,1
    - Dst: strlen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:341,1
    - Dst: g1_mul_dig
      Src: /src/relic/src/cp/relic_cp_mklhs.c:342,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_mklhs.c:343,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:344,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_mklhs.c:345,1
    - Dst: g1_norm_sim
      Src: /src/relic/src/cp/relic_cp_mklhs.c:347,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_mklhs.c:349,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_mklhs.c:350,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_mklhs.c:351,1
    - Dst: gt_cmp
      Src: /src/relic/src/cp/relic_cp_mklhs.c:352,1
    - Dst: bn_free
      Src: /src/relic/src/cp/relic_cp_mklhs.c:361,1
    - Dst: g1_free
      Src: /src/relic/src/cp/relic_cp_mklhs.c:362,1
    - Dst: g1_free
      Src: /src/relic/src/cp/relic_cp_mklhs.c:363,1
    - Dst: g2_free
      Src: /src/relic/src/cp/relic_cp_mklhs.c:364,1
    - Dst: gt_free
      Src: /src/relic/src/cp/relic_cp_mklhs.c:365,1
    - Dst: gt_free
      Src: /src/relic/src/cp/relic_cp_mklhs.c:366,1
    - Dst: g1_free
      Src: /src/relic/src/cp/relic_cp_mklhs.c:368,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_mklhs.c:370,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_mklhs.c:371,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 75
    argCount: 7
    argNames:
    - h
    - ft
    - id
    - tag
    - f
    - flen
    - slen
    argTypes:
    - g1_t[]
    - dig_t[]
    - char*[]
    - char*[]
    - dig_t*[]
    - size_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 372
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 372
    functionName: cp_mklhs_off
    functionSourceFile: /src/relic/src/cp/relic_cp_mklhs.c
    functionUses: 2
    functionsReached:
    - if
    - gt_free
    - bn_cmp
    - for
    - g1_mul_dig
    - RLC_ALLOCA
    - pc_get_ord
    - g1_add
    - gt_new
    - g2_free
    - g2_null
    - g1_map
    - bn_null
    - pc_map_sim
    - RLC_THROW
    - bn_mod
    - cp_mklhs_onv
    - gt_null
    - RLC_FREE
    - bn_free
    - strlen
    - memcpy
    - pc_map
    - g1_norm_sim
    - bn_new
    - gt_cmp
    - g1_free
    - bn_add
    - g2_get_gen
    - g1_mul_gen
    - bn_zero
    - g1_mul_sim_dig
    - g1_new
    - g1_null
    - RLC_MAX
    - g2_new
    linkageType: ''
    returnType: int
    signature: "int cp_mklhs_off(g1_t h[], dig_t ft[], const char *id[], const char
      *tag[],\n\t\tconst dig_t *f[], const size_t flen[], size_t slen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_rand
      Src: /src/relic/src/cp/relic_cp_ers.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pp
    argTypes:
    - ec_t
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: cp_ers_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_ers.c
    functionUses: 6
    functionsReached:
    - ec_rand
    linkageType: ''
    returnType: int
    signature: int cp_ers_gen(ec_t pp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ers.c:47,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ers.c:50,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ers.c:52,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ers.c:53,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_ers.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sk
    - pk
    argTypes:
    - bn_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: cp_ers_gen_key
    functionSourceFile: /src/relic/src/cp/relic_cp_ers.c
    functionUses: 6
    functionsReached:
    - ec_mul_gen
    - bn_null
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    linkageType: ''
    returnType: int
    signature: int cp_ers_gen_key(bn_t sk, ec_t pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ers.c:71,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ers.c:72,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ers.c:73,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ers.c:74,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ers.c:77,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ers.c:78,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ers.c:79,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ers.c:80,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ers.c:82,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ers.c:83,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_ers.c:84,1
    - Dst: ec_sub
      Src: /src/relic/src/cp/relic_cp_ers.c:85,1
    - Dst: ec_norm
      Src: /src/relic/src/cp/relic_cp_ers.c:86,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_ers.c:88,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_ers.c:89,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_ers.c:90,1
    - Dst: cp_sokor_sig
      Src: /src/relic/src/cp/relic_cp_ers.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 7
    argNames:
    - td
    - p
    - msg
    - len
    - sk
    - pk
    - pp
    argTypes:
    - bn_t
    - ers_t
    - uint8_t*
    - size_t
    - bn_t
    - ec_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 92
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 92
    functionName: cp_ers_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_ers.c
    functionUses: 3
    functionsReached:
    - ec_mul_gen
    - bn_null
    - ec_sub
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_null
    - ec_copy
    - cp_sokor_sig
    - ec_new
    - ec_norm
    linkageType: ''
    returnType: int
    signature: "int cp_ers_sig(bn_t td, ers_t p, const uint8_t *msg, size_t len, const
      bn_t sk,\n\t\tconst ec_t pk, const ec_t pp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ers.c:111,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ers.c:112,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ers.c:113,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ers.c:114,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ers.c:117,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ers.c:118,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ers.c:119,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ers.c:120,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ers.c:122,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_ers.c:123,1
    - Dst: ec_add
      Src: /src/relic/src/cp/relic_cp_ers.c:126,1
    - Dst: ec_cmp
      Src: /src/relic/src/cp/relic_cp_ers.c:128,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_ers.c:131,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_ers.c:132,1
    - Dst: cp_sokor_ver
      Src: /src/relic/src/cp/relic_cp_ers.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 6
    argNames:
    - td
    - s
    - size
    - msg
    - len
    - pp
    argTypes:
    - bn_t
    - ers_t*
    - size_t
    - uint8_t*
    - size_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 137
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 137
    functionName: cp_ers_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_ers.c
    functionUses: 2
    functionsReached:
    - ec_mul_gen
    - bn_null
    - ec_add
    - ec_curve_get_ord
    - bn_new
    - ec_null
    - ec_copy
    - ec_new
    - ec_cmp
    - cp_sokor_ver
    linkageType: ''
    returnType: int
    signature: "int cp_ers_ver(const bn_t td, const ers_t *s, size_t size, const uint8_t
      *msg,\n\t\tsize_t len, const ec_t pp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ers.c:156,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ers.c:157,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ers.c:158,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ers.c:159,1
    - Dst: ec_cmp
      Src: /src/relic/src/cp/relic_cp_ers.c:162,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ers.c:168,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ers.c:169,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ers.c:170,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ers.c:171,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ers.c:173,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ers.c:174,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_ers.c:175,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ers.c:176,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_ers.c:177,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_ers.c:179,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_ers.c:180,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_ers.c:181,1
    - Dst: cp_sokor_sig
      Src: /src/relic/src/cp/relic_cp_ers.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 7
    argNames:
    - td
    - p
    - size
    - msg
    - len
    - pk
    - pp
    argTypes:
    - bn_t
    - ers_t*
    - size_t*
    - uint8_t*
    - size_t
    - ec_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 185
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 185
    functionName: cp_ers_ext
    functionSourceFile: /src/relic/src/cp/relic_cp_ers.c
    functionUses: 2
    functionsReached:
    - ec_mul_gen
    - bn_null
    - bn_sub
    - bn_mod
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_null
    - ec_copy
    - cp_sokor_sig
    - ec_new
    - ec_cmp
    linkageType: ''
    returnType: int
    signature: "int cp_ers_ext(bn_t td, ers_t *p, size_t *size, const uint8_t *msg,
      size_t len,\n\t\tconst ec_t pk, const ec_t pp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecies.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecies.c:45,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ecies.c:47,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ecies.c:48,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_ecies.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - d
    - q
    argTypes:
    - bn_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: cp_ecies_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_ecies.c
    functionUses: 1
    functionsReached:
    - ec_mul_gen
    - bn_null
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    linkageType: ''
    returnType: int
    signature: int cp_ecies_gen(bn_t d, ec_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecies.c:69,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecies.c:70,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecies.c:71,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ecies.c:72,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecies.c:75,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecies.c:76,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecies.c:77,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ecies.c:78,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ecies.c:80,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ecies.c:81,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_ecies.c:83,1
    - Dst: ec_mul
      Src: /src/relic/src/cp/relic_cp_ecies.c:84,1
    - Dst: ec_get_x
      Src: /src/relic/src/cp/relic_cp_ecies.c:85,1
    - Dst: bn_size_bin
      Src: /src/relic/src/cp/relic_cp_ecies.c:86,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecies.c:87,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_ecies.c:91,1
    - Dst: md_kdf
      Src: /src/relic/src/cp/relic_cp_ecies.c:92,1
    - Dst: bc_aes_cbc_enc
      Src: /src/relic/src/cp/relic_cp_ecies.c:94,1
    - Dst: md_hmac
      Src: /src/relic/src/cp/relic_cp_ecies.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 6
    argNames:
    - r
    - out
    - out_len
    - in
    - in_len
    - q
    argTypes:
    - ec_t
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 101
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 101
    functionName: cp_ecies_enc
    functionSourceFile: /src/relic/src/cp/relic_cp_ecies.c
    functionUses: 1
    functionsReached:
    - ec_mul_gen
    - bc_aes_cbc_enc
    - bn_null
    - md_hmac
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_null
    - bn_size_bin
    - bn_write_bin
    - ec_get_x
    - ec_new
    - bn_bits
    - md_kdf
    - ec_mul
    linkageType: ''
    returnType: int
    signature: "int cp_ecies_enc(ec_t r, uint8_t *out, size_t *out_len, const uint8_t
      *in,\n\t\tsize_t in_len, const ec_t q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecies.c:124,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ecies.c:125,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecies.c:128,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ecies.c:129,1
    - Dst: ec_mul
      Src: /src/relic/src/cp/relic_cp_ecies.c:131,1
    - Dst: ec_get_x
      Src: /src/relic/src/cp/relic_cp_ecies.c:132,1
    - Dst: bn_size_bin
      Src: /src/relic/src/cp/relic_cp_ecies.c:133,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecies.c:134,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_ecies.c:138,1
    - Dst: md_kdf
      Src: /src/relic/src/cp/relic_cp_ecies.c:139,1
    - Dst: md_hmac
      Src: /src/relic/src/cp/relic_cp_ecies.c:140,1
    - Dst: util_cmp_sec
      Src: /src/relic/src/cp/relic_cp_ecies.c:141,1
    - Dst: bc_aes_cbc_dec
      Src: /src/relic/src/cp/relic_cp_ecies.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 6
    argNames:
    - out
    - out_len
    - r
    - in
    - in_len
    - d
    argTypes:
    - uint8_t*
    - size_t*
    - ec_t
    - uint8_t*
    - size_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 149
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 149
    functionName: cp_ecies_dec
    functionSourceFile: /src/relic/src/cp/relic_cp_ecies.c
    functionUses: 1
    functionsReached:
    - bn_null
    - md_hmac
    - bn_new
    - ec_null
    - bn_size_bin
    - bn_write_bin
    - ec_get_x
    - ec_new
    - bn_bits
    - md_kdf
    - util_cmp_sec
    - bc_aes_cbc_dec
    - ec_mul
    linkageType: ''
    returnType: int
    signature: "int cp_ecies_dec(uint8_t *out, size_t *out_len, const ec_t r, const
      uint8_t *in,\n\t\tsize_t in_len, const bn_t d)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_shipsi.c:50,1
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_shipsi.c:51,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_shipsi.c:52,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_shipsi.c:55,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_shipsi.c:56,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_shipsi.c:57,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_shipsi.c:58,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shipsi.c:62,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_shipsi.c:65,1
    - Dst: bn_gcd
      Src: /src/relic/src/cp/relic_cp_shipsi.c:66,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_shipsi.c:67,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_shipsi.c:70,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_shipsi.c:71,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_shipsi.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - g
    - crt
    - bits
    argTypes:
    - bn_t
    - crt_t
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 75
    functionName: cp_shipsi_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_shipsi.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_gcd
    - bn_cmp_dig
    - bn_rand_mod
    - bn_cmp
    - bn_sub_dig
    - bn_mod_inv
    - bn_gen_prime
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int cp_shipsi_gen(bn_t g, crt_t crt, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_shipsi.c:83,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_shipsi.c:84,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_shipsi.c:88,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_shipsi.c:89,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_shipsi.c:90,1
    - Dst: bn_is_even
      Src: /src/relic/src/cp/relic_cp_shipsi.c:91,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_shipsi.c:92,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_shipsi.c:95,1
    - Dst: bn_is_prime
      Src: /src/relic/src/cp/relic_cp_shipsi.c:96,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_shipsi.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - d
    - r
    - p
    - g
    - n
    - x
    - m
    argTypes:
    - bn_t
    - bn_t
    - bn_t[]
    - bn_t
    - bn_t
    - bn_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: cp_shipsi_ask
    functionSourceFile: /src/relic/src/cp/relic_cp_shipsi.c
    functionUses: 1
    functionsReached:
    - bn_is_even
    - bn_add_dig
    - bn_read_bin
    - bn_rand_mod
    - bn_is_prime
    - bn_write_bin
    - md_map
    - bn_mxp
    linkageType: ''
    returnType: int
    signature: "int cp_shipsi_ask(bn_t d, bn_t r, bn_t p[], const bn_t g, const bn_t
      n,\n\t\tconst bn_t x[], size_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_shipsi.c:107,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_shipsi.c:110,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_shipsi.c:111,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_shipsi.c:114,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_shipsi.c:115,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_shipsi.c:117,1
    - Dst: util_perm
      Src: /src/relic/src/cp/relic_cp_shipsi.c:120,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_shipsi.c:122,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_shipsi.c:124,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_shipsi.c:125,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_shipsi.c:126,1
    - Dst: bn_is_even
      Src: /src/relic/src/cp/relic_cp_shipsi.c:127,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_shipsi.c:128,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_shipsi.c:131,1
    - Dst: bn_is_prime
      Src: /src/relic/src/cp/relic_cp_shipsi.c:132,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shipsi.c:135,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_shipsi.c:136,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shipsi.c:137,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shipsi.c:138,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_shipsi.c:139,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_shipsi.c:141,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shipsi.c:142,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shipsi.c:143,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_shipsi.c:145,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shipsi.c:146,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shipsi.c:147,1
    - Dst: bn_mxp_crt
      Src: /src/relic/src/cp/relic_cp_shipsi.c:149,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_shipsi.c:154,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shipsi.c:156,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shipsi.c:157,1
    - Dst: bn_mxp_crt
      Src: /src/relic/src/cp/relic_cp_shipsi.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 7
    argNames:
    - t
    - u
    - d
    - g
    - crt
    - y
    - n
    argTypes:
    - bn_t[]
    - bn_t
    - bn_t
    - bn_t
    - crt_t
    - bn_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 161
    functionName: cp_shipsi_ans
    functionSourceFile: /src/relic/src/cp/relic_cp_shipsi.c
    functionUses: 1
    functionsReached:
    - bn_is_even
    - bn_mul
    - bn_null
    - bn_add_dig
    - bn_mxp_crt
    - RLC_THROW
    - bn_mod
    - bn_read_bin
    - bn_rand_mod
    - bn_is_prime
    - bn_new
    - bn_write_bin
    - RLC_ALLOCA
    - util_perm
    - md_map
    - bn_mxp
    - bn_mod_inv
    linkageType: ''
    returnType: int
    signature: "int cp_shipsi_ans(bn_t t[], bn_t u, bn_t d, const bn_t g, const crt_t
      crt,\n\t\tconst bn_t y[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_shipsi.c:179,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_shipsi.c:180,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_shipsi.c:183,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_shipsi.c:184,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_shipsi.c:188,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_shipsi.c:190,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_shipsi.c:193,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_shipsi.c:197,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_shipsi.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 10
    argNames:
    - z
    - len
    - r
    - p
    - n
    - x
    - m
    - t
    - u
    - l
    argTypes:
    - bn_t[]
    - size_t*
    - bn_t
    - bn_t[]
    - bn_t
    - bn_t[]
    - size_t
    - bn_t[]
    - bn_t
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 204
    functionName: cp_shipsi_int
    functionSourceFile: /src/relic/src/cp/relic_cp_shipsi.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_cmp
    - bn_new
    - bn_mxp
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int cp_shipsi_int(bn_t z[], size_t *len, const bn_t r, const bn_t
      p[],\n\t\tconst bn_t n, const bn_t x[], size_t m, const bn_t t[], const bn_t
      u,\n\t\tsize_t l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_phpe.c:43,1
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_phpe.c:44,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_phpe.c:45,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_phpe.c:48,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_phpe.c:56,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_phpe.c:57,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_phpe.c:58,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_phpe.c:59,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_phpe.c:64,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_phpe.c:65,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_phpe.c:66,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_phpe.c:67,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_phpe.c:70,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_phpe.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - pub
    - prv
    - bits
    argTypes:
    - bn_t
    - phpe_t
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 75
    functionName: cp_phpe_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_phpe.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_mod
    - bn_cmp
    - bn_sub_dig
    - bn_copy
    - bn_gen_prime
    - bn_mod_inv
    linkageType: ''
    returnType: int
    signature: int cp_phpe_gen(bn_t pub, phpe_t prv, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_phpe.c:81,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_phpe.c:84,1
    - Dst: bn_sqr
      Src: /src/relic/src/cp/relic_cp_phpe.c:86,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_phpe.c:87,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_phpe.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - r
    - c
    - d
    - pub
    argTypes:
    - bn_t
    - bn_t
    - bn_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: cp_phpe_add
    functionSourceFile: /src/relic/src/cp/relic_cp_phpe.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_null
    - bn_sqr
    - bn_mod
    - bn_new
    linkageType: ''
    returnType: int
    signature: int cp_phpe_add(bn_t r, const bn_t c, const bn_t d, const bn_t pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_phpe.c:104,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_phpe.c:105,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_phpe.c:106,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_phpe.c:108,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_phpe.c:108,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_phpe.c:113,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_phpe.c:114,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_phpe.c:115,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_phpe.c:118,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_phpe.c:122,1
    - Dst: bn_sqr
      Src: /src/relic/src/cp/relic_cp_phpe.c:123,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_phpe.c:124,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_phpe.c:125,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_phpe.c:126,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_phpe.c:127,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_phpe.c:128,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_phpe.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - c
    - m
    - pub
    argTypes:
    - bn_t
    - bn_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: cp_phpe_enc
    functionSourceFile: /src/relic/src/cp/relic_cp_phpe.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_add_dig
    - bn_null
    - bn_sqr
    - bn_mod
    - bn_rand_mod
    - bn_new
    - bn_bits
    - bn_mxp
    linkageType: ''
    returnType: int
    signature: int cp_phpe_enc(bn_t c, const bn_t m, const bn_t pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_phpe.c:147,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_phpe.c:147,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_phpe.c:151,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_phpe.c:152,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_phpe.c:155,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_phpe.c:156,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_phpe.c:158,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_phpe.c:159,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_phpe.c:162,1
    - Dst: bn_sqr
      Src: /src/relic/src/cp/relic_cp_phpe.c:164,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_phpe.c:165,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_phpe.c:167,1
    - Dst: bn_div
      Src: /src/relic/src/cp/relic_cp_phpe.c:168,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_phpe.c:169,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_phpe.c:170,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_phpe.c:171,1
    - Dst: bn_mxp_crt
      Src: /src/relic/src/cp/relic_cp_phpe.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - m
    - c
    - prv
    argTypes:
    - bn_t
    - bn_t
    - phpe_t
    constantsTouched: []
    func_position:
      end: 175
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 175
    functionName: cp_phpe_dec
    functionSourceFile: /src/relic/src/cp/relic_cp_phpe.c
    functionUses: 1
    functionsReached:
    - bn_div
    - bn_mul
    - bn_null
    - bn_sqr
    - bn_mxp_crt
    - bn_mod
    - bn_sub_dig
    - bn_new
    - bn_bits
    - bn_mxp
    - bn_mod_inv
    linkageType: ''
    returnType: int
    signature: int cp_phpe_dec(bn_t m, const bn_t c, const phpe_t prv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:43,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:44,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:45,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:48,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:49,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:50,1
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_ghpe.c:54,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_ghpe.c:55,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_ghpe.c:56,1
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_ghpe.c:59,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_ghpe.c:60,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_ghpe.c:61,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_ghpe.c:61,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_ghpe.c:64,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_ghpe.c:65,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ghpe.c:66,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_ghpe.c:67,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_ghpe.c:68,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ghpe.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pub
    - prv
    - bits
    argTypes:
    - bn_t
    - bn_t
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 70
    functionName: cp_ghpe_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_ghpe.c
    functionUses: 2
    functionsReached:
    - bn_mul
    - bn_null
    - bn_add_dig
    - bn_cmp_dig
    - bn_cmp
    - bn_sub_dig
    - bn_new
    - bn_gen_prime
    - bn_mod_2b
    linkageType: ''
    returnType: int
    signature: int cp_ghpe_gen(bn_t pub, bn_t prv, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:85,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:86,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:87,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ghpe.c:89,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ghpe.c:89,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:94,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:95,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:96,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ghpe.c:99,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_ghpe.c:101,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_ghpe.c:104,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ghpe.c:106,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_ghpe.c:109,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_ghpe.c:111,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ghpe.c:114,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ghpe.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - c
    - m
    - pub
    - s
    argTypes:
    - bn_t
    - bn_t
    - bn_t
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 116
    functionName: cp_ghpe_enc
    functionSourceFile: /src/relic/src/cp/relic_cp_ghpe.c
    functionUses: 2
    functionsReached:
    - bn_mul
    - bn_add_dig
    - bn_null
    - bn_mod
    - bn_rand_mod
    - bn_new
    - bn_bits
    - bn_mxp
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int cp_ghpe_enc(bn_t c, const bn_t m, const bn_t pub, size_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ghpe.c:135,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ghpe.c:135,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:139,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:140,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:141,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:142,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:143,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:144,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ghpe.c:145,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:148,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:149,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:150,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:151,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:152,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:153,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ghpe.c:154,1
    - Dst: bn_sqr
      Src: /src/relic/src/cp/relic_cp_ghpe.c:157,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ghpe.c:159,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_ghpe.c:163,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_ghpe.c:165,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_ghpe.c:166,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ghpe.c:169,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ghpe.c:170,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_ghpe.c:171,1
    - Dst: bn_div
      Src: /src/relic/src/cp/relic_cp_ghpe.c:172,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_ghpe.c:174,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_ghpe.c:175,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_ghpe.c:178,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ghpe.c:182,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ghpe.c:183,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ghpe.c:185,1
    - Dst: bn_div_dig
      Src: /src/relic/src/cp/relic_cp_ghpe.c:186,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ghpe.c:187,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_ghpe.c:188,1
    - Dst: bn_sign
      Src: /src/relic/src/cp/relic_cp_ghpe.c:189,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_ghpe.c:190,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ghpe.c:192,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ghpe.c:193,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_ghpe.c:196,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_ghpe.c:197,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_ghpe.c:200,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ghpe.c:201,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ghpe.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    argCount: 5
    argNames:
    - m
    - c
    - pub
    - prv
    - s
    argTypes:
    - bn_t
    - bn_t
    - bn_t
    - bn_t
    - size_t
    constantsTouched: []
    func_position:
      end: 203
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 203
    functionName: cp_ghpe_dec
    functionSourceFile: /src/relic/src/cp/relic_cp_ghpe.c
    functionUses: 2
    functionsReached:
    - bn_div
    - bn_mul
    - bn_null
    - bn_zero
    - bn_sqr
    - bn_sub
    - bn_mod
    - bn_mod_inv
    - bn_sub_dig
    - bn_sign
    - bn_new
    - bn_bits
    - bn_div_dig
    - bn_add
    - bn_mxp
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int cp_ghpe_dec(bn_t m, const bn_t c, const bn_t pub, const bn_t prv,\n\t\tsize_t
      s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bdpe.c:42,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bdpe.c:43,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bdpe.c:46,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bdpe.c:47,1
    - Dst: bn_set_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:52,1
    - Dst: bn_is_prime_basic
      Src: /src/relic/src/cp/relic_cp_bdpe.c:53,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_bdpe.c:54,1
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_bdpe.c:59,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:60,1
    - Dst: bn_gcd_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:61,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:62,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:63,1
    - Dst: bn_rand
      Src: /src/relic/src/cp/relic_cp_bdpe.c:68,1
    - Dst: util_bits_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:68,1
    - Dst: bn_mul_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:69,1
    - Dst: bn_rand
      Src: /src/relic/src/cp/relic_cp_bdpe.c:70,1
    - Dst: util_bits_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:70,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:71,1
    - Dst: bn_gcd_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:74,1
    - Dst: bn_mul_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:75,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:76,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:77,1
    - Dst: bn_is_prime
      Src: /src/relic/src/cp/relic_cp_bdpe.c:77,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:80,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:81,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_bdpe.c:82,1
    - Dst: bn_div_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:83,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:86,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:87,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_bdpe.c:88,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_bdpe.c:89,1
    - Dst: bn_rand
      Src: /src/relic/src/cp/relic_cp_bdpe.c:93,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_bdpe.c:94,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:95,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_bdpe.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 4
    argNames:
    - pub
    - prv
    - block
    - bits
    argTypes:
    - bdpe_t
    - bdpe_t
    - dig_t
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 98
    functionName: cp_bdpe_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_bdpe.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_null
    - bn_add_dig
    - RLC_THROW
    - bn_cmp_dig
    - bn_mxp
    - bn_sub_dig
    - bn_gcd_dig
    - bn_mul_dig
    - bn_new
    - util_bits_dig
    - bn_is_prime
    - bn_set_dig
    - bn_rand
    - bn_div_dig
    - bn_gen_prime
    - bn_is_prime_basic
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int cp_bdpe_gen(bdpe_t pub, bdpe_t prv, dig_t block, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bdpe.c:115,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bdpe.c:116,1
    - Dst: bn_size_bin
      Src: /src/relic/src/cp/relic_cp_bdpe.c:118,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bdpe.c:125,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bdpe.c:126,1
    - Dst: bn_set_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:128,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_bdpe.c:130,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_bdpe.c:131,1
    - Dst: bn_mxp_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:132,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_bdpe.c:133,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_bdpe.c:134,1
    - Dst: memset
      Src: /src/relic/src/cp/relic_cp_bdpe.c:138,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_bdpe.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 4
    argNames:
    - out
    - out_len
    - in
    - pub
    argTypes:
    - uint8_t*
    - size_t*
    - dig_t
    - bdpe_t
    constantsTouched: []
    func_position:
      end: 143
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 143
    functionName: cp_bdpe_enc
    functionSourceFile: /src/relic/src/cp/relic_cp_bdpe.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_null
    - bn_mod
    - memset
    - bn_rand_mod
    - bn_new
    - bn_size_bin
    - bn_write_bin
    - bn_set_dig
    - bn_mxp_dig
    - bn_mxp
    linkageType: ''
    returnType: int
    signature: int cp_bdpe_enc(uint8_t *out, size_t *out_len, dig_t in, const bdpe_t
      pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_size_bin
      Src: /src/relic/src/cp/relic_cp_bdpe.c:162,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bdpe.c:168,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bdpe.c:169,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bdpe.c:170,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bdpe.c:173,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bdpe.c:174,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bdpe.c:175,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_bdpe.c:178,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_bdpe.c:179,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_bdpe.c:180,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:181,1
    - Dst: bn_div_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:182,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_bdpe.c:183,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_bdpe.c:184,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_bdpe.c:185,1
    - Dst: bn_mxp_dig
      Src: /src/relic/src/cp/relic_cp_bdpe.c:188,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_bdpe.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - prv
    argTypes:
    - dig_t*
    - uint8_t*
    - size_t
    - bdpe_t
    constantsTouched: []
    func_position:
      end: 198
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 198
    functionName: cp_bdpe_dec
    functionSourceFile: /src/relic/src/cp/relic_cp_bdpe.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_null
    - bn_sub
    - bn_add_dig
    - bn_read_bin
    - bn_cmp
    - bn_new
    - bn_size_bin
    - bn_div_dig
    - bn_mxp_dig
    - bn_mxp
    linkageType: ''
    returnType: int
    signature: "int cp_bdpe_dec(dig_t *out, const uint8_t *in, size_t in_len,\n\t\tconst
      bdpe_t prv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_etrs.c:42,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_etrs.c:43,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:46,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:47,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:48,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:49,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:50,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:51,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:54,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:55,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:56,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:57,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:58,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:59,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_etrs.c:61,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_etrs.c:63,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:66,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:67,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:68,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:69,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:70,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:71,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:73,1
    - Dst: bn_set_dig
      Src: /src/relic/src/cp/relic_cp_etrs.c:75,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:77,1
    - Dst: bn_mod_inv_sim
      Src: /src/relic/src/cp/relic_cp_etrs.c:79,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_etrs.c:81,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_etrs.c:82,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:83,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_etrs.c:84,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:85,1
    - Dst: ec_mul
      Src: /src/relic/src/cp/relic_cp_etrs.c:87,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_etrs.c:89,1
    - Dst: bn_mod_inv_sim
      Src: /src/relic/src/cp/relic_cp_etrs.c:90,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_etrs.c:92,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:93,1
    - Dst: bn_set_dig
      Src: /src/relic/src/cp/relic_cp_etrs.c:95,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_etrs.c:97,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:98,1
    - Dst: bn_mod_inv_sim
      Src: /src/relic/src/cp/relic_cp_etrs.c:101,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_etrs.c:104,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_etrs.c:105,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:106,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_etrs.c:107,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:108,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_etrs.c:111,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:112,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_etrs.c:113,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:114,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/src/cp/relic_cp_etrs.c:116,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:118,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:119,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:120,1
    - Dst: cp_sokor_sig
      Src: /src/relic/src/cp/relic_cp_etrs.c:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 71
    argCount: 9
    argNames:
    - td
    - y
    - max
    - p
    - msg
    - len
    - sk
    - pk
    - pp
    argTypes:
    - bn_t*
    - bn_t*
    - size_t
    - etrs_t
    - uint8_t*
    - size_t
    - bn_t
    - ec_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 122
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 122
    functionName: cp_etrs_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_etrs.c
    functionUses: 2
    functionsReached:
    - bn_sub
    - bn_set_dig
    - RLC_ALLOCA
    - bn_mul
    - bn_null
    - RLC_THROW
    - bn_mod
    - bn_mod_inv_sim
    - ec_mul
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_copy
    - bn_add
    - bn_zero
    - ec_null
    - cp_sokor_sig
    - ec_new
    - ec_mul_sim_gen
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int cp_etrs_sig(bn_t *td, bn_t *y, size_t max, etrs_t p, const uint8_t
      *msg,\n\t\tsize_t len, const bn_t sk, const ec_t pk, const ec_t pp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_etrs.c:151,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_etrs.c:152,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_etrs.c:153,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_etrs.c:154,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:156,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:157,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:158,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:159,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:160,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:163,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:164,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:165,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:166,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:167,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_etrs.c:169,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:172,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:173,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:174,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:175,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:176,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:177,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:181,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_etrs.c:182,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:185,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:186,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_etrs.c:189,1
    - Dst: ec_set_infty
      Src: /src/relic/src/cp/relic_cp_etrs.c:192,1
    - Dst: bn_set_dig
      Src: /src/relic/src/cp/relic_cp_etrs.c:195,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_etrs.c:197,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:198,1
    - Dst: bn_mod_inv_sim
      Src: /src/relic/src/cp/relic_cp_etrs.c:201,1
    - Dst: bn_set_dig
      Src: /src/relic/src/cp/relic_cp_etrs.c:202,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_etrs.c:205,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:206,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_etrs.c:207,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:208,1
    - Dst: ec_mul_sim_lot
      Src: /src/relic/src/cp/relic_cp_etrs.c:212,1
    - Dst: ec_cmp
      Src: /src/relic/src/cp/relic_cp_etrs.c:213,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:216,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:217,1
    - Dst: cp_sokor_ver
      Src: /src/relic/src/cp/relic_cp_etrs.c:218,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 9
    argNames:
    - thres
    - td
    - y
    - max
    - s
    - size
    - msg
    - len
    - pp
    argTypes:
    - size_t
    - bn_t*
    - bn_t*
    - size_t
    - etrs_t*
    - size_t
    - uint8_t*
    - size_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 221
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 221
    functionName: cp_etrs_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_etrs.c
    functionUses: 2
    functionsReached:
    - ec_mul_sim_lot
    - bn_sub
    - bn_set_dig
    - RLC_ALLOCA
    - bn_mul
    - bn_null
    - RLC_THROW
    - ec_set_infty
    - bn_mod
    - bn_mod_inv_sim
    - ec_cmp
    - ec_curve_get_ord
    - bn_new
    - ec_copy
    - ec_mul_gen
    - ec_null
    - ec_new
    - cp_sokor_ver
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int cp_etrs_ver(size_t thres, const bn_t *td, const bn_t *y, size_t
      max,\n\t\tconst etrs_t *s, size_t size, const uint8_t *msg, size_t len,\n\t\tconst
      ec_t pp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:251,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:252,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:253,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:254,1
    - Dst: ec_cmp
      Src: /src/relic/src/cp/relic_cp_etrs.c:257,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:263,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:264,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:265,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:266,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_etrs.c:269,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:273,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_etrs.c:275,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_etrs.c:276,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:277,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_etrs.c:279,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_etrs.c:280,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:282,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:283,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:284,1
    - Dst: cp_sokor_sig
      Src: /src/relic/src/cp/relic_cp_etrs.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 9
    argNames:
    - td
    - y
    - max
    - p
    - size
    - msg
    - len
    - pk
    - pp
    argTypes:
    - bn_t*
    - bn_t*
    - size_t
    - etrs_t*
    - size_t*
    - uint8_t*
    - size_t
    - ec_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 288
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 288
    functionName: cp_etrs_ext
    functionSourceFile: /src/relic/src/cp/relic_cp_etrs.c
    functionUses: 2
    functionsReached:
    - ec_mul_gen
    - bn_null
    - bn_zero
    - ec_curve_get_ord
    - bn_new
    - ec_null
    - ec_copy
    - cp_sokor_sig
    - ec_new
    - bn_is_zero
    - ec_cmp
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int cp_etrs_ext(bn_t *td, bn_t *y, size_t max, etrs_t *p, size_t *size,\n\t\tconst
      uint8_t *msg, size_t len, const ec_t pk, const ec_t pp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_etrs.c:309,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_etrs.c:310,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_etrs.c:311,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:313,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:314,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:315,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:316,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:317,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:318,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_etrs.c:319,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:322,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:323,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:324,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:325,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:326,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:327,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:328,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_etrs.c:330,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:333,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:334,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_etrs.c:335,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:339,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_etrs.c:340,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:343,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:344,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_etrs.c:347,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:348,1
    - Dst: ec_set_infty
      Src: /src/relic/src/cp/relic_cp_etrs.c:350,1
    - Dst: bn_set_dig
      Src: /src/relic/src/cp/relic_cp_etrs.c:353,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_etrs.c:355,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:356,1
    - Dst: bn_mod_inv_sim
      Src: /src/relic/src/cp/relic_cp_etrs.c:359,1
    - Dst: bn_set_dig
      Src: /src/relic/src/cp/relic_cp_etrs.c:360,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_etrs.c:363,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_etrs.c:364,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:365,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_etrs.c:366,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_etrs.c:367,1
    - Dst: ec_mul
      Src: /src/relic/src/cp/relic_cp_etrs.c:370,1
    - Dst: ec_add
      Src: /src/relic/src/cp/relic_cp_etrs.c:371,1
    - Dst: ec_norm
      Src: /src/relic/src/cp/relic_cp_etrs.c:373,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:375,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:376,1
    - Dst: ec_copy
      Src: /src/relic/src/cp/relic_cp_etrs.c:377,1
    - Dst: cp_sokor_sig
      Src: /src/relic/src/cp/relic_cp_etrs.c:378,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 11
    argNames:
    - thres
    - td
    - y
    - max
    - p
    - size
    - msg
    - len
    - sk
    - pk
    - pp
    argTypes:
    - int
    - bn_t*
    - bn_t*
    - int
    - etrs_t*
    - size_t*
    - uint8_t*
    - size_t
    - bn_t
    - ec_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 381
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 381
    functionName: cp_etrs_uni
    functionSourceFile: /src/relic/src/cp/relic_cp_etrs.c
    functionUses: 2
    functionsReached:
    - bn_sub
    - ec_add
    - bn_set_dig
    - RLC_ALLOCA
    - bn_mul
    - bn_null
    - RLC_THROW
    - ec_set_infty
    - bn_mod
    - bn_mod_inv_sim
    - ec_mul
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_copy
    - ec_mul_gen
    - ec_null
    - cp_sokor_sig
    - ec_new
    - ec_norm
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int cp_etrs_uni(int thres, bn_t *td, bn_t *y, int max, etrs_t *p,
      size_t *size,\n\t\tconst uint8_t *msg, size_t len, const bn_t sk, const ec_t
      pk,\n\t\tconst ec_t pp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_rand
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - g1_t
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: cp_cmlhs_init
    functionSourceFile: /src/relic/src/cp/relic_cp_cmlhs.c
    functionUses: 1
    functionsReached:
    - g1_rand
    linkageType: ''
    returnType: int
    signature: int cp_cmlhs_init(g1_t h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:51,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:52,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:53,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:54,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:57,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:58,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:59,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:60,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:62,1
    - Dst: g1_get_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:63,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:64,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:65,1
    - Dst: rand_bytes
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:67,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:69,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:70,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:74,1
    - Dst: gt_exp
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:75,1
    - Dst: cp_bls_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:79,1
    - Dst: cp_ecdsa_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:81,1
    - Dst: g2_set_g1
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 10
    argNames:
    - x
    - hs
    - len
    - prf
    - plen
    - sk
    - pk
    - d
    - y
    - bls
    argTypes:
    - bn_t[]
    - gt_t[]
    - size_t
    - uint8_t[]
    - size_t
    - bn_t
    - g2_t
    - bn_t
    - g2_t
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 87
    functionName: cp_cmlhs_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_cmlhs.c
    functionUses: 1
    functionsReached:
    - cp_ecdsa_gen
    - gt_exp
    - g2_mul_gen
    - pc_get_ord
    - gt_new
    - g2_null
    - bn_null
    - cp_bls_gen
    - g1_get_gen
    - g2_set_g1
    - gt_null
    - bn_rand_mod
    - pc_map
    - bn_new
    - g2_get_gen
    - g1_new
    - g1_null
    - rand_bytes
    - g2_new
    linkageType: ''
    returnType: int
    signature: "int cp_cmlhs_gen(bn_t x[], gt_t hs[], size_t len, uint8_t prf[], size_t
      plen,\n\t\tbn_t sk, g2_t pk, bn_t d, g2_t y, int bls)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:111,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:112,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:113,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:114,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:117,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:118,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:119,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:120,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:122,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:125,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:127,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:128,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:131,1
    - Dst: g2_neg
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:132,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:133,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:135,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:136,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:137,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:138,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:139,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:142,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:143,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:144,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:145,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:146,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:147,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:148,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:149,1
    - Dst: md_hmac
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:151,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:152,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:153,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:154,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:155,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:156,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:159,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:160,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:161,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:162,1
    - Dst: g2_size_bin
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:164,1
    - Dst: g2_write_bin
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:165,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:166,1
    - Dst: cp_bls_sig
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:168,1
    - Dst: cp_ecdsa_sig
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:170,1
    - Dst: fp_prime_conv
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:171,1
    - Dst: fp_prime_conv
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:172,1
    - Dst: fp_set_dig
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 16
    argNames:
    - sig
    - z
    - a
    - c
    - r
    - s
    - msg
    - data
    - label
    - x
    - h
    - prf
    - plen
    - d
    - sk
    - bls
    argTypes:
    - g1_t
    - g2_t
    - g1_t
    - g1_t
    - g1_t
    - g2_t
    - bn_t
    - char*
    - int
    - bn_t
    - g1_t
    - uint8_t[]
    - size_t
    - bn_t
    - bn_t
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 175
    functionName: cp_cmlhs_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_cmlhs.c
    functionUses: 1
    functionsReached:
    - bn_sub
    - g1_mul
    - bn_read_bin
    - cp_ecdsa_sig
    - cp_bls_sig
    - g2_mul_gen
    - g1_add
    - pc_get_ord
    - bn_mul
    - bn_null
    - g2_neg
    - md_hmac
    - RLC_THROW
    - bn_mod
    - g2_size_bin
    - g1_norm
    - bn_mod_inv
    - g2_write_bin
    - memcpy
    - bn_rand_mod
    - bn_new
    - bn_add
    - g1_mul_gen
    - fp_set_dig
    - fp_prime_conv
    - g1_new
    - g1_null
    linkageType: ''
    returnType: int
    signature: "int cp_cmlhs_sig(g1_t sig, g2_t z, g1_t a, g1_t c, g1_t r, g2_t s,\n\t\tconst
      bn_t msg, const char *data, int label, const bn_t x, const g1_t h,\n\t\tconst
      uint8_t prf[], size_t plen, const bn_t d, const bn_t sk,\n\t\tint bls)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_mul_sim_dig
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:193,1
    - Dst: g1_mul_sim_dig
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - a
    - c
    - as
    - cs
    - f
    - len
    argTypes:
    - g1_t
    - g1_t
    - g1_t[]
    - g1_t[]
    - dig_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: cp_cmlhs_fun
    functionSourceFile: /src/relic/src/cp/relic_cp_cmlhs.c
    functionUses: 1
    functionsReached:
    - g1_mul_sim_dig
    linkageType: ''
    returnType: int
    signature: "int cp_cmlhs_fun(g1_t a, g1_t c, const g1_t as[], const g1_t cs[],\n\t\tconst
      dig_t f[], size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_mul_sim_dig
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:203,1
    - Dst: g2_mul_sim_dig
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - r
    - s
    - rs
    - ss
    - f
    - len
    argTypes:
    - g1_t
    - g2_t
    - g1_t[]
    - g2_t[]
    - dig_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: cp_cmlhs_evl
    functionSourceFile: /src/relic/src/cp/relic_cp_cmlhs.c
    functionUses: 1
    functionsReached:
    - g2_mul_sim_dig
    - g1_mul_sim_dig
    linkageType: ''
    returnType: int
    signature: "int cp_cmlhs_evl(g1_t r, g2_t s, const g1_t rs[], const g2_t ss[],\n\t\tconst
      dig_t f[], size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:222,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:223,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:224,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:225,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:226,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:227,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:228,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:231,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:232,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:233,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:234,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:235,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:236,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:237,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:239,1
    - Dst: g2_size_bin
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:243,1
    - Dst: g2_write_bin
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:244,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:245,1
    - Dst: cp_bls_ver
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:247,1
    - Dst: fp_prime_back
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:249,1
    - Dst: fp_prime_back
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:250,1
    - Dst: g1_set_g2
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:251,1
    - Dst: fp_set_dig
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:252,1
    - Dst: cp_ecdsa_ver
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:253,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:257,1
    - Dst: g1_get_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:258,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:259,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:261,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:262,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:263,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:264,1
    - Dst: gt_exp_dig
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:268,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:269,1
    - Dst: gt_cmp
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:272,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:276,1
    - Dst: g1_set_infty
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:277,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:279,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:281,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:282,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:283,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:285,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:286,1
    - Dst: gt_cmp
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:287,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 61
    argCount: 17
    argNames:
    - r
    - s
    - sig
    - z
    - a
    - c
    - m
    - data
    - h
    - label
    - hs
    - f
    - flen
    - y
    - pk
    - slen
    - bls
    argTypes:
    - g1_t
    - g2_t
    - g1_t*
    - g2_t*
    - g1_t*
    - g1_t*
    - bn_t
    - char*
    - g1_t
    - int*
    - gt_t*[]
    - dig_t*[]
    - size_t*
    - g2_t*
    - g2_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 290
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 290
    functionName: cp_cmlhs_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_cmlhs.c
    functionUses: 1
    functionsReached:
    - g1_mul
    - pc_get_ord
    - g1_add
    - gt_new
    - g1_set_g2
    - g2_null
    - fp_prime_back
    - bn_null
    - pc_map_sim
    - gt_mul
    - RLC_THROW
    - g2_size_bin
    - cp_ecdsa_ver
    - g1_get_gen
    - g1_norm
    - gt_exp_dig
    - gt_null
    - g2_write_bin
    - memcpy
    - pc_map
    - cp_bls_ver
    - bn_new
    - gt_cmp
    - g2_get_gen
    - fp_set_dig
    - g1_set_infty
    - g1_new
    - g1_null
    - g2_new
    linkageType: ''
    returnType: int
    signature: "int cp_cmlhs_ver(const g1_t r, const g2_t s, const g1_t *sig, const
      g2_t *z,\n\t\tconst g1_t *a, const g1_t *c, const bn_t m, const char *data,\n\t\tconst
      g1_t h, const int *label, const gt_t *hs[], const dig_t *f[],\n\t\tconst size_t
      *flen, const g2_t *y, const g2_t *pk, size_t slen,\n\t\tint bls)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:311,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:314,1
    - Dst: gt_set_unity
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:316,1
    - Dst: gt_exp_dig
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:319,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - vk
    - h
    - label
    - hs
    - f
    - flen
    - slen
    argTypes:
    - gt_t
    - g1_t
    - int[]
    - gt_t*[]
    - dig_t*[]
    - size_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 323
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 323
    functionName: cp_cmlhs_off
    functionSourceFile: /src/relic/src/cp/relic_cp_cmlhs.c
    functionUses: 1
    functionsReached:
    - gt_mul
    - gt_set_unity
    - gt_exp_dig
    - gt_new
    - gt_null
    linkageType: ''
    returnType: void
    signature: "void cp_cmlhs_off(gt_t vk, const g1_t h, const int label[], const
      gt_t *hs[],\n\t\tconst dig_t *f[], const size_t flen[], size_t slen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:342,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:343,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:344,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:345,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:346,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:347,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:348,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:351,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:352,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:353,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:354,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:355,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:356,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:357,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:359,1
    - Dst: g2_size_bin
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:363,1
    - Dst: g2_write_bin
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:364,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:365,1
    - Dst: cp_bls_ver
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:367,1
    - Dst: fp_prime_back
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:369,1
    - Dst: fp_prime_back
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:370,1
    - Dst: g1_set_g2
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:371,1
    - Dst: cp_ecdsa_ver
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:372,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:376,1
    - Dst: g1_get_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:377,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:378,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:380,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:381,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:382,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:383,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:384,1
    - Dst: gt_cmp
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:386,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:390,1
    - Dst: g1_set_infty
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:391,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:393,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:395,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:396,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:397,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:399,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:400,1
    - Dst: gt_cmp
      Src: /src/relic/src/cp/relic_cp_cmlhs.c:401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 14
    argNames:
    - r
    - s
    - sig
    - z
    - a
    - c
    - msg
    - data
    - h
    - vk
    - y
    - pk
    - slen
    - bls
    argTypes:
    - g1_t
    - g2_t
    - g1_t[]
    - g2_t[]
    - g1_t[]
    - g1_t[]
    - bn_t
    - char*
    - g1_t
    - gt_t
    - g2_t[]
    - g2_t[]
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 404
    functionName: cp_cmlhs_onv
    functionSourceFile: /src/relic/src/cp/relic_cp_cmlhs.c
    functionUses: 1
    functionsReached:
    - g1_mul
    - pc_get_ord
    - g1_add
    - gt_new
    - g1_set_g2
    - g2_null
    - fp_prime_back
    - bn_null
    - pc_map_sim
    - gt_mul
    - RLC_THROW
    - g2_size_bin
    - cp_ecdsa_ver
    - g1_get_gen
    - g1_norm
    - gt_null
    - g2_write_bin
    - memcpy
    - pc_map
    - cp_bls_ver
    - bn_new
    - gt_cmp
    - g2_get_gen
    - g1_set_infty
    - g1_new
    - g1_null
    - g2_new
    linkageType: ''
    returnType: int
    signature: "int cp_cmlhs_onv(const g1_t r, const g2_t s, const g1_t sig[], const
      g2_t z[],\n\t\tconst g1_t a[], const g1_t c[], const bn_t msg, const char *data,\n\t\tconst
      g1_t h, const gt_t vk, const g2_t y[], const g2_t pk[],\n\t\tsize_t slen, int
      bls)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:50,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:51,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:54,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:55,1
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:59,1
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:60,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:61,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:64,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:67,1
    - Dst: bn_gcd
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:68,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - g
    - n
    - bits
    argTypes:
    - bn_t
    - bn_t
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: cp_rsapsi_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_rsapsi.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_null
    - bn_gcd
    - bn_cmp_dig
    - bn_cmp
    - bn_rand_mod
    - bn_new
    - bn_gen_prime
    linkageType: ''
    returnType: int
    signature: int cp_rsapsi_gen(bn_t g, bn_t n, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:86,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:87,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:91,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:92,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:93,1
    - Dst: bn_is_even
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:94,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:95,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:98,1
    - Dst: bn_is_prime
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:99,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - d
    - r
    - p
    - g
    - n
    - x
    - m
    argTypes:
    - bn_t
    - bn_t
    - bn_t*
    - bn_t
    - bn_t
    - bn_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 104
    functionName: cp_rsapsi_ask
    functionSourceFile: /src/relic/src/cp/relic_cp_rsapsi.c
    functionUses: 1
    functionsReached:
    - bn_is_even
    - bn_add_dig
    - bn_read_bin
    - bn_rand_mod
    - bn_is_prime
    - bn_write_bin
    - md_map
    - bn_mxp
    linkageType: ''
    returnType: int
    signature: "int cp_rsapsi_ask(bn_t d, bn_t r, bn_t *p, const bn_t g, const bn_t
      n,\n\t\tconst bn_t *x, size_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:110,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:113,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:116,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:118,1
    - Dst: util_perm
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:121,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:124,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:125,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:126,1
    - Dst: bn_is_even
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:127,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:128,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:131,1
    - Dst: bn_is_prime
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:132,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:133,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:134,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:135,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 7
    argNames:
    - t
    - u
    - d
    - g
    - n
    - y
    - l
    argTypes:
    - bn_t*
    - bn_t*
    - bn_t
    - bn_t
    - bn_t
    - bn_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 138
    functionName: cp_rsapsi_ans
    functionSourceFile: /src/relic/src/cp/relic_cp_rsapsi.c
    functionUses: 1
    functionsReached:
    - bn_is_even
    - bn_null
    - bn_add_dig
    - RLC_THROW
    - bn_read_bin
    - bn_rand_mod
    - bn_is_prime
    - bn_new
    - bn_write_bin
    - RLC_ALLOCA
    - util_perm
    - md_map
    - bn_mxp
    linkageType: ''
    returnType: int
    signature: "int cp_rsapsi_ans(bn_t *t, bn_t *u, const bn_t d, const bn_t g, const
      bn_t n,\n\t\tconst bn_t y[], size_t l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:155,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:156,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:159,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:160,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:165,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:167,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:170,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:173,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_rsapsi.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 10
    argNames:
    - z
    - len
    - r
    - p
    - n
    - x
    - m
    - t
    - u
    - l
    argTypes:
    - bn_t*
    - size_t*
    - bn_t
    - bn_t*
    - bn_t
    - bn_t*
    - size_t
    - bn_t*
    - bn_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 180
    functionName: cp_rsapsi_int
    functionSourceFile: /src/relic/src/cp/relic_cp_rsapsi.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_cmp
    - bn_new
    - bn_mxp
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int cp_rsapsi_int(bn_t *z, size_t *len, const bn_t r, const bn_t *p,\n\t\tconst
      bn_t n, const bn_t *x, size_t m, const bn_t *t, const bn_t *u,\n\t\tsize_t l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rsa.c:127,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rsa.c:128,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:135,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:136,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:137,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:139,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:147,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:148,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:153,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rsa.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - m
    - p_len
    - m_len
    - k_len
    - op
    argTypes:
    - bn_t
    - size_t*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 163
    functionName: pad_basic
    functionSourceFile: /src/relic/src/cp/relic_cp_rsa.c
    functionUses: 0
    functionsReached:
    - bn_add_dig
    - bn_null
    - bn_zero
    - bn_lsh
    - bn_new
    - bn_mod_2b
    - bn_is_zero
    - bn_rsh
    linkageType: ''
    returnType: int
    signature: int pad_basic(bn_t m, size_t *p_len, size_t m_len, size_t k_len, int
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_rsa.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - md
    - len
    argTypes:
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 235
    functionName: hash_id
    functionSourceFile: /src/relic/src/cp/relic_cp_rsa.c
    functionUses: 6
    functionsReached:
    - RLC_THROW
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *hash_id(int md, size_t *len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rsa.c:254,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rsa.c:257,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:262,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:263,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:264,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:268,1
    - Dst: rand_bytes
      Src: /src/relic/src/cp/relic_cp_rsa.c:270,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:272,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:275,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:280,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:281,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:284,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:289,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rsa.c:294,1
    - Dst: hash_id
      Src: /src/relic/src/cp/relic_cp_rsa.c:301,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:302,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:303,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:304,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:308,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:309,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:312,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:313,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_rsa.c:314,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:316,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:321,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:322,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:323,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:327,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:328,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:331,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:336,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:337,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:339,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:346,1
    - Dst: hash_id
      Src: /src/relic/src/cp/relic_cp_rsa.c:350,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:351,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rsa.c:352,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:353,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:355,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:360,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rsa.c:363,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:373,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:374,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:376,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:383,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:388,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rsa.c:389,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:390,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rsa.c:391,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 128
    argCount: 5
    argNames:
    - m
    - p_len
    - m_len
    - k_len
    - operation
    argTypes:
    - bn_t
    - size_t*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 400
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 400
    functionName: pad_pkcs1
    functionSourceFile: /src/relic/src/cp/relic_cp_rsa.c
    functionUses: 0
    functionsReached:
    - bn_add_dig
    - bn_null
    - bn_zero
    - hash_id
    - bn_read_bin
    - bn_lsh
    - bn_new
    - bn_mod_2b
    - rand_bytes
    - bn_is_zero
    - bn_add
    - bn_rsh
    linkageType: ''
    returnType: int
    signature: "int pad_pkcs1(bn_t m, size_t *p_len, size_t m_len, size_t k_len,\n\t\tint
      operation)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rsa.c:431,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rsa.c:434,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_rsa.c:439,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:440,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:442,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:443,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:444,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:446,1
    - Dst: rand_bytes
      Src: /src/relic/src/cp/relic_cp_rsa.c:451,1
    - Dst: md_mgf
      Src: /src/relic/src/cp/relic_cp_rsa.c:452,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:453,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:457,1
    - Dst: md_mgf
      Src: /src/relic/src/cp/relic_cp_rsa.c:458,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:462,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:463,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_rsa.c:464,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_rsa.c:465,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:470,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:471,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:473,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:474,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rsa.c:475,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:476,1
    - Dst: md_mgf
      Src: /src/relic/src/cp/relic_cp_rsa.c:477,1
    - Dst: md_mgf
      Src: /src/relic/src/cp/relic_cp_rsa.c:481,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:482,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:487,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:488,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_rsa.c:489,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rsa.c:494,1
    - Dst: bn_size_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:495,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:497,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:498,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rsa.c:501,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:508,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:509,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:511,1
    - Dst: memset
      Src: /src/relic/src/cp/relic_cp_rsa.c:515,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:516,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_rsa.c:517,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:518,1
    - Dst: md_mgf
      Src: /src/relic/src/cp/relic_cp_rsa.c:519,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:520,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:523,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_rsa.c:524,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:525,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:526,1
    - Dst: bn_set_bit
      Src: /src/relic/src/cp/relic_cp_rsa.c:528,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rsa.c:534,1
    - Dst: bn_get_bit
      Src: /src/relic/src/cp/relic_cp_rsa.c:539,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:543,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rsa.c:544,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:545,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rsa.c:546,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:547,1
    - Dst: md_mgf
      Src: /src/relic/src/cp/relic_cp_rsa.c:548,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:549,1
    - Dst: bn_set_bit
      Src: /src/relic/src/cp/relic_cp_rsa.c:555,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_rsa.c:557,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:560,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 125
    argCount: 5
    argNames:
    - m
    - p_len
    - m_len
    - k_len
    - operation
    argTypes:
    - bn_t
    - size_t*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 565
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 565
    functionName: pad_pkcs2
    functionSourceFile: /src/relic/src/cp/relic_cp_rsa.c
    functionUses: 0
    functionsReached:
    - memset
    - bn_read_bin
    - bn_write_bin
    - bn_null
    - md_mgf
    - bn_cmp_dig
    - bn_size_bin
    - bn_set_bit
    - bn_add_dig
    - bn_lsh
    - bn_new
    - bn_is_zero
    - bn_add
    - md_map
    - bn_rsh
    - bn_get_bit
    - bn_zero
    - rand_bytes
    - bn_mod_2b
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int pad_pkcs2(bn_t m, size_t *p_len, size_t m_len, size_t k_len,\n\t\tint
      operation)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rsa.c:592,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rsa.c:593,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rsa.c:596,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rsa.c:597,1
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_rsa.c:601,1
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_rsa.c:602,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_rsa.c:603,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_rsa.c:606,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_rsa.c:607,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_rsa.c:608,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_rsa.c:609,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_rsa.c:613,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_rsa.c:614,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:615,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:616,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_rsa.c:619,1
    - Dst: bn_set_2b
      Src: /src/relic/src/cp/relic_cp_rsa.c:621,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:622,1
    - Dst: bn_gcd_ext
      Src: /src/relic/src/cp/relic_cp_rsa.c:626,1
    - Dst: bn_sign
      Src: /src/relic/src/cp/relic_cp_rsa.c:627,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_rsa.c:628,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:630,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:632,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:633,1
    - Dst: bn_gcd_ext
      Src: /src/relic/src/cp/relic_cp_rsa.c:638,1
    - Dst: bn_sign
      Src: /src/relic/src/cp/relic_cp_rsa.c:639,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_rsa.c:640,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:643,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_rsa.c:645,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_rsa.c:647,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:649,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rsa.c:650,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_rsa.c:652,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - pub
    - prv
    - bits
    argTypes:
    - rsa_t
    - rsa_t
    - size_t
    constantsTouched: []
    func_position:
      end: 657
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 657
    functionName: cp_rsa_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_rsa.c
    functionUses: 1
    functionsReached:
    - bn_gcd_ext
    - bn_mul
    - bn_null
    - bn_add_dig
    - bn_mod
    - bn_cmp_dig
    - bn_set_2b
    - bn_cmp
    - bn_mod_inv
    - bn_sub_dig
    - bn_sign
    - bn_new
    - bn_gen_prime
    - bn_add
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int cp_rsa_gen(rsa_t pub, rsa_t prv, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_rsa.c:887,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_rsa.c:888,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_rsa.c:899,1
    - Dst: bn_size_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:903,1
    - Dst: bn_size_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:909,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rsa.c:915,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rsa.c:916,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rsa.c:919,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rsa.c:920,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:922,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_rsa.c:924,1
    - Dst: pad_basic
      Src: /src/relic/src/cp/relic_cp_rsa.c:929,1
    - Dst: pad_pkcs1
      Src: /src/relic/src/cp/relic_cp_rsa.c:931,1
    - Dst: pad_pkcs2
      Src: /src/relic/src/cp/relic_cp_rsa.c:933,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_rsa.c:933,1
    - Dst: memset
      Src: /src/relic/src/cp/relic_cp_rsa.c:938,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_rsa.c:941,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_rsa.c:942,1
    - Dst: memset
      Src: /src/relic/src/cp/relic_cp_rsa.c:944,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:945,1
    - Dst: util_cmp_sec
      Src: /src/relic/src/cp/relic_cp_rsa.c:947,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_rsa.c:949,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_rsa.c:950,1
    - Dst: memset
      Src: /src/relic/src/cp/relic_cp_rsa.c:952,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:953,1
    - Dst: util_cmp_sec
      Src: /src/relic/src/cp/relic_cp_rsa.c:956,1
    - Dst: memset
      Src: /src/relic/src/cp/relic_cp_rsa.c:959,1
    - Dst: RLC_MAX
      Src: /src/relic/src/cp/relic_cp_rsa.c:959,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rsa.c:960,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_rsa.c:963,1
    - Dst: util_cmp_sec
      Src: /src/relic/src/cp/relic_cp_rsa.c:965,1
    - Dst: util_cmp_sec
      Src: /src/relic/src/cp/relic_cp_rsa.c:968,1
    - Dst: bn_free
      Src: /src/relic/src/cp/relic_cp_rsa.c:980,1
    - Dst: bn_free
      Src: /src/relic/src/cp/relic_cp_rsa.c:981,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_rsa.c:982,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_rsa.c:983,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 67
    argCount: 6
    argNames:
    - sig
    - sig_len
    - msg
    - msg_len
    - hash
    - pub
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - int
    - rsa_t
    constantsTouched: []
    func_position:
      end: 987
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 987
    functionName: cp_rsa_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_rsa.c
    functionUses: 1
    functionsReached:
    - RLC_FREE
    - bn_null
    - bn_free
    - memset
    - bn_read_bin
    - pad_pkcs1
    - memcpy
    - pad_basic
    - bn_new
    - bn_size_bin
    - bn_write_bin
    - pad_pkcs2
    - bn_bits
    - util_cmp_sec
    - RLC_MAX
    - md_map
    - bn_mxp
    linkageType: ''
    returnType: int
    signature: "int cp_rsa_ver(uint8_t *sig, size_t sig_len, const uint8_t *msg, size_t
      msg_len,\n\t\tint hash, const rsa_t pub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bbs.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bbs.c:45,1
    - Dst: gt_get_gen
      Src: /src/relic/src/cp/relic_cp_bbs.c:48,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_bbs.c:50,1
    - Dst: bn_rand
      Src: /src/relic/src/cp/relic_cp_bbs.c:54,1
    - Dst: pc_param_level
      Src: /src/relic/src/cp/relic_cp_bbs.c:54,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_bbs.c:55,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_bbs.c:56,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_bbs.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - d
    - q
    - z
    argTypes:
    - bn_t
    - g2_t
    - gt_t
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: cp_bbs_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_bbs.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_mod
    - gt_get_gen
    - bn_is_zero
    - pc_param_level
    - bn_new
    - g2_mul_gen
    - pc_get_ord
    - bn_rand
    linkageType: ''
    returnType: int
    signature: int cp_bbs_gen(bn_t d, g2_t q, gt_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bbs.c:75,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bbs.c:76,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bbs.c:77,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bbs.c:80,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bbs.c:81,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bbs.c:82,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_bbs.c:84,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_bbs.c:88,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_bbs.c:90,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_bbs.c:91,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_bbs.c:93,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_bbs.c:96,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_bbs.c:97,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_bbs.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 5
    argNames:
    - s
    - msg
    - len
    - hash
    - d
    argTypes:
    - g1_t
    - uint8_t*
    - size_t
    - int
    - bn_t
    constantsTouched: []
    func_position:
      end: 100
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 100
    functionName: cp_bbs_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_bbs.c
    functionUses: 1
    functionsReached:
    - g1_mul_gen
    - bn_null
    - bn_add
    - bn_mod
    - bn_read_bin
    - bn_new
    - pc_get_ord
    - md_map
    - bn_mod_inv
    linkageType: ''
    returnType: int
    signature: int cp_bbs_sig(g1_t s, const uint8_t *msg, size_t len, int hash, const
      bn_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bbs.c:120,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bbs.c:121,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_bbs.c:122,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_bbs.c:123,1
    - Dst: g1_is_valid
      Src: /src/relic/src/cp/relic_cp_bbs.c:125,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bbs.c:130,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bbs.c:131,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_bbs.c:132,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_bbs.c:133,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_bbs.c:135,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_bbs.c:139,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_bbs.c:141,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_bbs.c:142,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_bbs.c:144,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_bbs.c:146,1
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_bbs.c:147,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_bbs.c:148,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_bbs.c:150,1
    - Dst: gt_cmp
      Src: /src/relic/src/cp/relic_cp_bbs.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 6
    argNames:
    - s
    - msg
    - len
    - hash
    - q
    - z
    argTypes:
    - g1_t
    - uint8_t*
    - size_t
    - int
    - g2_t
    - gt_t
    constantsTouched: []
    func_position:
      end: 155
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 155
    functionName: cp_bbs_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_bbs.c
    functionUses: 1
    functionsReached:
    - g2_null
    - bn_null
    - bn_mod
    - g2_add
    - bn_read_bin
    - g2_norm
    - pc_map
    - gt_cmp
    - bn_new
    - g2_mul_gen
    - g2_new
    - g1_is_valid
    - pc_get_ord
    - md_map
    - gt_new
    - gt_null
    linkageType: ''
    returnType: int
    signature: "int cp_bbs_ver(g1_t s, const uint8_t *msg, size_t len, int hash, const
      g2_t q,\n\t\tconst gt_t z)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:45,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cls.c:47,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:48,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:49,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_cls.c:50,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_cls.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - r
    - s
    - x
    - y
    argTypes:
    - bn_t
    - bn_t
    - g2_t
    - g2_t
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: cp_cls_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_cls.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_rand_mod
    - bn_new
    - g2_mul_gen
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_cls_gen(bn_t r, bn_t s, g2_t x, g2_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:67,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:68,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:71,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:72,1
    - Dst: g1_rand
      Src: /src/relic/src/cp/relic_cp_cls.c:74,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cls.c:75,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:76,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:77,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:78,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_cls.c:79,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:80,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:81,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:82,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:83,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:84,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_cls.c:85,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:86,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 7
    argNames:
    - a
    - b
    - c
    - msg
    - len
    - r
    - s
    argTypes:
    - g1_t
    - g1_t
    - g1_t
    - uint8_t*
    - size_t
    - bn_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 88
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 88
    functionName: cp_cls_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_cls.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_null
    - bn_mod
    - g1_mul
    - bn_read_bin
    - bn_new
    - pc_get_ord
    - bn_add
    - g1_rand
    linkageType: ''
    returnType: int
    signature: "int cp_cls_sig(g1_t a, g1_t b, g1_t c, const uint8_t *msg, size_t
      len,\n\t\tconst bn_t r, const bn_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_cls.c:107,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_cls.c:108,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_cls.c:109,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_cls.c:110,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_cls.c:111,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:112,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:113,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_cls.c:116,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_cls.c:117,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_cls.c:118,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_cls.c:119,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_cls.c:120,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:121,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:122,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:124,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:124,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:124,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:128,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:129,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:130,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_cls.c:131,1
    - Dst: g2_neg
      Src: /src/relic/src/cp/relic_cp_cls.c:132,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cls.c:134,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_cls.c:135,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cls.c:139,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_cls.c:140,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:141,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:142,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_cls.c:143,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_cls.c:144,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:145,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:146,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cls.c:148,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_cls.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 7
    argNames:
    - a
    - b
    - c
    - msg
    - len
    - x
    - y
    argTypes:
    - g1_t
    - g1_t
    - g1_t
    - uint8_t*
    - size_t
    - g2_t
    - g2_t
    constantsTouched: []
    func_position:
      end: 152
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 152
    functionName: cp_cls_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_cls.c
    functionUses: 1
    functionsReached:
    - g1_mul
    - bn_read_bin
    - pc_get_ord
    - g1_add
    - gt_new
    - g2_null
    - bn_null
    - g2_neg
    - pc_map_sim
    - bn_mod
    - g1_norm
    - gt_null
    - bn_new
    - g1_copy
    - g2_copy
    - g2_get_gen
    - g1_is_infty
    - g1_new
    - g1_null
    - gt_is_unity
    - g2_new
    linkageType: ''
    returnType: int
    signature: "int cp_cls_ver(const g1_t a, const g1_t b, const g1_t c, const uint8_t
      *msg,\n\t\tsize_t len, const g2_t x, const g2_t y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:172,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:175,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cls.c:177,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:178,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:179,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:180,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_cls.c:181,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_cls.c:182,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_cls.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - t
    - u
    - v
    - x
    - y
    - z
    argTypes:
    - bn_t
    - bn_t
    - bn_t
    - g2_t
    - g2_t
    - g2_t
    constantsTouched: []
    func_position:
      end: 184
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 184
    functionName: cp_cli_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_cls.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_rand_mod
    - bn_new
    - g2_mul_gen
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_cli_gen(bn_t t, bn_t u, bn_t v, g2_t x, g2_t y, g2_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:199,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:200,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:203,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:204,1
    - Dst: g1_rand
      Src: /src/relic/src/cp/relic_cp_cls.c:207,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:209,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:210,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:211,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cls.c:213,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:214,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:215,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:216,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_cls.c:218,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:219,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:220,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:221,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:222,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:223,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_cls.c:224,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:225,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:226,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_cls.c:227,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_cls.c:228,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 11
    argNames:
    - a
    - A
    - b
    - B
    - c
    - msg
    - len
    - r
    - t
    - u
    - v
    argTypes:
    - g1_t
    - g1_t
    - g1_t
    - g1_t
    - g1_t
    - uint8_t*
    - size_t
    - bn_t
    - bn_t
    - bn_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 231
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 231
    functionName: cp_cli_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_cls.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - g1_add
    - bn_null
    - g1_mul
    - bn_mod
    - bn_read_bin
    - bn_new
    - g1_norm
    - pc_get_ord
    - bn_add
    - g1_rand
    linkageType: ''
    returnType: int
    signature: "int cp_cli_sig(g1_t a, g1_t A, g1_t b, g1_t B, g1_t c, const uint8_t
      *msg,\n\t\tsize_t len, const bn_t r, const bn_t t, const bn_t u, const bn_t
      v)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_cls.c:250,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_cls.c:251,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_cls.c:252,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_cls.c:253,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_cls.c:254,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:255,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:256,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_cls.c:259,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_cls.c:260,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_cls.c:261,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_cls.c:262,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_cls.c:263,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:264,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:265,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:267,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:267,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:270,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:270,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:270,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:275,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:276,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:277,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_cls.c:278,1
    - Dst: g2_neg
      Src: /src/relic/src/cp/relic_cp_cls.c:279,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cls.c:280,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_cls.c:281,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:286,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:287,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cls.c:288,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_cls.c:289,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:292,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:293,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cls.c:294,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_cls.c:295,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cls.c:300,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_cls.c:301,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:302,1
    - Dst: g1_mul_sim
      Src: /src/relic/src/cp/relic_cp_cls.c:303,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_cls.c:304,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_cls.c:305,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:306,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:307,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cls.c:308,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_cls.c:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 11
    argNames:
    - a
    - A
    - b
    - B
    - c
    - msg
    - len
    - r
    - x
    - y
    - z
    argTypes:
    - g1_t
    - g1_t
    - g1_t
    - g1_t
    - g1_t
    - uint8_t*
    - size_t
    - bn_t
    - g2_t
    - g2_t
    - g2_t
    constantsTouched: []
    func_position:
      end: 312
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 312
    functionName: cp_cli_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_cls.c
    functionUses: 1
    functionsReached:
    - bn_read_bin
    - pc_get_ord
    - g1_add
    - gt_new
    - g2_null
    - bn_null
    - g2_neg
    - pc_map_sim
    - bn_mod
    - g1_mul_sim
    - g1_norm
    - gt_null
    - bn_new
    - g1_copy
    - g2_copy
    - g2_get_gen
    - g1_is_infty
    - g1_new
    - g1_null
    - gt_is_unity
    - g2_new
    linkageType: ''
    returnType: int
    signature: "int cp_cli_ver(g1_t a, g1_t A, g1_t b, g1_t B, g1_t c, const uint8_t
      *msg,\n\t\tsize_t len, const bn_t r, const g2_t x, const g2_t y, const g2_t
      z)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:332,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:335,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cls.c:337,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:338,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:339,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_cls.c:340,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_cls.c:341,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:343,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_cls.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - t
    - u
    - v
    - x
    - y
    - z
    - l
    argTypes:
    - bn_t
    - bn_t
    - bn_t[]
    - g2_t
    - g2_t
    - g2_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 346
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 346
    functionName: cp_clb_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_cls.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_rand_mod
    - bn_new
    - g2_mul_gen
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_clb_gen(bn_t t, bn_t u, bn_t v[], g2_t x, g2_t y, g2_t z[],
      size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:362,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:363,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:366,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:367,1
    - Dst: g1_rand
      Src: /src/relic/src/cp/relic_cp_cls.c:370,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:373,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:374,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cls.c:377,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_cls.c:378,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:379,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:380,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:381,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:382,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_cls.c:383,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:384,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:385,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_cls.c:388,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:389,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:390,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:391,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:392,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_cls.c:393,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_cls.c:395,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 11
    argNames:
    - a
    - A
    - b
    - B
    - c
    - ms
    - ls
    - t
    - u
    - v
    - l
    argTypes:
    - g1_t
    - g1_t[]
    - g1_t
    - g1_t[]
    - g1_t
    - uint8_t*[]
    - size_t[]
    - bn_t
    - bn_t
    - bn_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 398
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 398
    functionName: cp_clb_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_cls.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - g1_add
    - bn_null
    - g1_mul
    - bn_mod
    - bn_read_bin
    - bn_new
    - g1_norm
    - pc_get_ord
    - bn_add
    - g1_rand
    linkageType: ''
    returnType: int
    signature: "int cp_clb_sig(g1_t a, g1_t A[], g1_t b, g1_t B[], g1_t c, const uint8_t
      *ms[],\n\t\tconst size_t ls[], const bn_t t, const bn_t u, const bn_t v[],\n\t\tsize_t
      l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_cls.c:418,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_cls.c:419,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_cls.c:420,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_cls.c:421,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_cls.c:422,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:423,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_cls.c:424,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_cls.c:427,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_cls.c:428,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_cls.c:429,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_cls.c:430,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_cls.c:431,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:432,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_cls.c:433,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:435,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:435,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:435,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:439,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_cls.c:439,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:445,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_cls.c:446,1
    - Dst: g2_neg
      Src: /src/relic/src/cp/relic_cp_cls.c:447,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:449,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:450,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cls.c:451,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_cls.c:452,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:458,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:459,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cls.c:460,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_cls.c:461,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:465,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:466,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cls.c:467,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_cls.c:468,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_cls.c:474,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_cls.c:475,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:476,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:477,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_cls.c:478,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_cls.c:480,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_cls.c:481,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_cls.c:482,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_cls.c:483,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_cls.c:485,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:486,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_cls.c:487,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_cls.c:488,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_cls.c:489,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 11
    argNames:
    - a
    - A
    - b
    - B
    - c
    - ms
    - ls
    - x
    - y
    - z
    - l
    argTypes:
    - g1_t
    - g1_t[]
    - g1_t
    - g1_t[]
    - g1_t
    - uint8_t*[]
    - size_t[]
    - g2_t
    - g2_t
    - g2_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 492
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 492
    functionName: cp_clb_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_cls.c
    functionUses: 1
    functionsReached:
    - g1_mul
    - bn_read_bin
    - pc_get_ord
    - g1_add
    - gt_new
    - g2_null
    - bn_null
    - g2_neg
    - pc_map_sim
    - bn_mod
    - g1_norm
    - gt_null
    - bn_new
    - g1_copy
    - g2_copy
    - g2_get_gen
    - g1_is_infty
    - g1_new
    - g1_null
    - gt_is_unity
    - g2_new
    linkageType: ''
    returnType: int
    signature: "int cp_clb_ver(const g1_t a, const g1_t A[], const g1_t b, const g1_t
      B[],\n\t\tconst g1_t c, const uint8_t *ms[], const size_t ls[], const g2_t x,\n\t\tconst
      g2_t y, const g2_t z[], size_t l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bls.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bls.c:45,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_bls.c:47,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_bls.c:48,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_bls.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - d
    - q
    argTypes:
    - bn_t
    - g2_t
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: cp_bls_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_bls.c
    functionUses: 2
    functionsReached:
    - bn_null
    - bn_rand_mod
    - bn_new
    - g2_mul_gen
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_bls_gen(bn_t d, g2_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_bls.c:64,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_bls.c:67,1
    - Dst: g1_map
      Src: /src/relic/src/cp/relic_cp_bls.c:68,1
    - Dst: g1_mul_sec
      Src: /src/relic/src/cp/relic_cp_bls.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - s
    - msg
    - len
    - d
    argTypes:
    - g1_t
    - uint8_t*
    - size_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: cp_bls_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_bls.c
    functionUses: 2
    functionsReached:
    - g1_null
    - g1_map
    - g1_mul_sec
    - g1_new
    linkageType: ''
    returnType: int
    signature: int cp_bls_sig(g1_t s, const uint8_t *msg, size_t len, const bn_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_bls.c:86,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_bls.c:87,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_bls.c:88,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_bls.c:89,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_bls.c:90,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_bls.c:93,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_bls.c:94,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_bls.c:95,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_bls.c:96,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_bls.c:97,1
    - Dst: g1_map
      Src: /src/relic/src/cp/relic_cp_bls.c:99,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_bls.c:100,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_bls.c:101,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_bls.c:102,1
    - Dst: g2_neg
      Src: /src/relic/src/cp/relic_cp_bls.c:103,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_bls.c:105,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_bls.c:106,1
    - Dst: g2_is_valid
      Src: /src/relic/src/cp/relic_cp_bls.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - s
    - msg
    - len
    - q
    argTypes:
    - g1_t
    - uint8_t*
    - size_t
    - g2_t
    constantsTouched: []
    func_position:
      end: 109
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 109
    functionName: cp_bls_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_bls.c
    functionUses: 3
    functionsReached:
    - g2_null
    - g1_map
    - g2_neg
    - pc_map_sim
    - g1_new
    - g1_null
    - g1_copy
    - gt_is_unity
    - g2_copy
    - g2_new
    - g2_is_valid
    - g2_get_gen
    - gt_new
    - gt_null
    linkageType: ''
    returnType: int
    signature: int cp_bls_ver(const g1_t s, const uint8_t *msg, size_t len, const
      g2_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bls.c:130,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_bls.c:131,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_bls.c:132,1
    - Dst: if
      Src: /src/relic/src/cp/relic_cp_bls.c:135,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_bls.c:136,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bls.c:138,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_bls.c:139,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_bls.c:140,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_bls.c:142,1
    - Dst: g2_size_bin
      Src: /src/relic/src/cp/relic_cp_bls.c:142,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_bls.c:143,1
    - Dst: RLC_MIN
      Src: /src/relic/src/cp/relic_cp_bls.c:143,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/cp/relic_cp_bls.c:143,1
    - Dst: pc_param_level
      Src: /src/relic/src/cp/relic_cp_bls.c:143,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_bls.c:145,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_bls.c:146,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_bls.c:148,1
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_bls.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - sig
    - a
    - s
    - q
    argTypes:
    - g1_t
    - g2_t
    - g1_t
    - g2_t
    constantsTouched: []
    func_position:
      end: 150
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 150
    functionName: cp_bls_agg_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_bls.c
    functionUses: 1
    functionsReached:
    - g2_null
    - g1_add
    - bn_null
    - g2_mul
    - RLC_THROW
    - g2_size_bin
    - g1_mul
    - if
    - bn_read_bin
    - RLC_CEIL
    - g2_add
    - g1_new
    - g1_null
    - pc_param_level
    - bn_new
    - g2_new
    - RLC_MIN
    - md_map
    linkageType: ''
    returnType: int
    signature: int cp_bls_agg_sig(g1_t sig, g2_t a, const g1_t s, const g2_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_bls.c:165,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_bls.c:166,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_bls.c:170,1
    - Dst: if
      Src: /src/relic/src/cp/relic_cp_bls.c:173,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_bls.c:174,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_bls.c:175,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_bls.c:176,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_bls.c:178,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_bls.c:179,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_bls.c:180,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_bls.c:181,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_bls.c:183,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_bls.c:184,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_bls.c:185,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_bls.c:186,1
    - Dst: g1_map
      Src: /src/relic/src/cp/relic_cp_bls.c:187,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_bls.c:188,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_bls.c:190,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_bls.c:192,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_bls.c:193,1
    - Dst: g2_neg
      Src: /src/relic/src/cp/relic_cp_bls.c:194,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_bls.c:196,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_bls.c:197,1
    - Dst: g2_is_valid
      Src: /src/relic/src/cp/relic_cp_bls.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - s
    - m
    - l
    - size
    - q
    argTypes:
    - g1_t
    - uint8_t**
    - size_t*
    - size_t
    - g2_t[]
    constantsTouched: []
    func_position:
      end: 203
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 203
    functionName: cp_bls_agg_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_bls.c
    functionUses: 1
    functionsReached:
    - g2_null
    - g1_map
    - RLC_FREE
    - g2_neg
    - pc_map_sim
    - RLC_THROW
    - if
    - g1_new
    - g1_null
    - g1_copy
    - gt_is_unity
    - g2_copy
    - RLC_ALLOCA
    - g2_new
    - g2_is_valid
    - g2_get_gen
    - gt_new
    - gt_null
    linkageType: ''
    returnType: int
    signature: "int cp_bls_agg_ver(const g1_t s, const uint8_t **m, const size_t *l,\n\t\tsize_t
      size, const g2_t q[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:45,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:47,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:48,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - d
    - q
    argTypes:
    - bn_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: cp_ecmqv_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_ecmqv.c
    functionUses: 1
    functionsReached:
    - ec_mul_gen
    - bn_null
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    linkageType: ''
    returnType: int
    signature: int cp_ecmqv_gen(bn_t d, ec_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:68,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:69,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:70,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:71,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:74,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:75,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:76,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:77,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:79,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:80,1
    - Dst: ec_get_x
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:83,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:84,1
    - Dst: bn_set_bit
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:86,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:88,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:89,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:90,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:91,1
    - Dst: ec_get_x
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:93,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:94,1
    - Dst: bn_set_bit
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:96,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:98,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:99,1
    - Dst: ec_mul_sim
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:101,1
    - Dst: ec_get_x
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:103,1
    - Dst: bn_size_bin
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:104,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:105,1
    - Dst: md_kdf
      Src: /src/relic/src/cp/relic_cp_ecmqv.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 7
    argNames:
    - key
    - key_len
    - d1
    - d2
    - q2u
    - q1v
    - q2v
    argTypes:
    - uint8_t*
    - size_t
    - bn_t
    - bn_t
    - ec_t
    - ec_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 107
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 107
    functionName: cp_ecmqv_key
    functionSourceFile: /src/relic/src/cp/relic_cp_ecmqv.c
    functionUses: 1
    functionsReached:
    - bn_set_bit
    - bn_mul
    - bn_null
    - bn_mod
    - ec_curve_get_ord
    - bn_new
    - ec_null
    - bn_size_bin
    - bn_write_bin
    - bn_bits
    - ec_new
    - ec_get_x
    - ec_mul_sim
    - md_kdf
    - bn_add
    - bn_mod_2b
    linkageType: ''
    returnType: int
    signature: "int cp_ecmqv_key(uint8_t *key, size_t key_len, const bn_t d1, const
      bn_t d2,\n\t\tconst ec_t q2u, const ec_t q1v, const ec_t q2v)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pok.c:49,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pok.c:50,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_pok.c:51,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pok.c:54,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pok.c:55,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_pok.c:56,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_pok.c:59,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/src/cp/relic_cp_pok.c:60,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:61,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:62,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:64,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:65,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pok.c:68,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_pok.c:69,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:70,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:71,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_pok.c:72,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:73,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pok.c:74,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_pok.c:75,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_pok.c:76,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pok.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 4
    argNames:
    - c
    - r
    - y
    - x
    argTypes:
    - bn_t
    - bn_t
    - ec_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 78
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 78
    functionName: cp_pokdl_prv
    functionSourceFile: /src/relic/src/cp/relic_cp_pok.c
    functionUses: 1
    functionsReached:
    - ec_mul_gen
    - bn_mul
    - bn_null
    - bn_sub
    - bn_mod
    - bn_read_bin
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_null
    - ec_size_bin
    - ec_curve_get_gen
    - ec_new
    - ec_write_bin
    - md_map
    linkageType: ''
    returnType: int
    signature: int cp_pokdl_prv(bn_t c, bn_t r, const ec_t y, const bn_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pok.c:96,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pok.c:97,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_pok.c:98,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pok.c:101,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pok.c:102,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_pok.c:103,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_pok.c:106,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/src/cp/relic_cp_pok.c:107,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:108,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:109,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:111,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:112,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/src/cp/relic_cp_pok.c:116,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:117,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:118,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_pok.c:119,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:120,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pok.c:121,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_pok.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - c
    - r
    - y
    argTypes:
    - bn_t
    - bn_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 125
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 125
    functionName: cp_pokdl_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_pok.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_mod
    - bn_read_bin
    - ec_curve_get_ord
    - bn_cmp
    - bn_new
    - ec_null
    - ec_size_bin
    - ec_mul_sim_gen
    - ec_curve_get_gen
    - ec_new
    - ec_write_bin
    - md_map
    linkageType: ''
    returnType: int
    signature: int cp_pokdl_ver(const bn_t c, const bn_t r, const ec_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pok.c:143,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pok.c:144,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pok.c:145,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pok.c:146,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_pok.c:147,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pok.c:150,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pok.c:151,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pok.c:152,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pok.c:153,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_pok.c:154,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_pok.c:157,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pok.c:158,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pok.c:161,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/src/cp/relic_cp_pok.c:162,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:163,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:164,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:166,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:167,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/src/cp/relic_cp_pok.c:172,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_pok.c:175,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:177,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:178,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_pok.c:181,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:182,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pok.c:183,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_pok.c:185,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pok.c:186,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_pok.c:188,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_pok.c:189,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_pok.c:190,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pok.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 4
    argNames:
    - c
    - r
    - y
    - x
    argTypes:
    - bn_t[]
    - bn_t[]
    - ec_t[]
    - bn_t
    constantsTouched: []
    func_position:
      end: 192
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 192
    functionName: cp_pokor_prv
    functionSourceFile: /src/relic/src/cp/relic_cp_pok.c
    functionUses: 1
    functionsReached:
    - ec_mul_gen
    - bn_mul
    - bn_null
    - bn_sub
    - bn_mod
    - bn_read_bin
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - ec_null
    - ec_size_bin
    - ec_mul_sim_gen
    - ec_curve_get_gen
    - ec_new
    - ec_write_bin
    - md_map
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int cp_pokor_prv(bn_t c[2], bn_t r[2], const ec_t y[2], const bn_t
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pok.c:212,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pok.c:213,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pok.c:214,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pok.c:215,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_pok.c:216,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pok.c:219,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pok.c:220,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pok.c:221,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pok.c:222,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_pok.c:223,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_pok.c:226,1
    - Dst: ec_curve_get_gen
      Src: /src/relic/src/cp/relic_cp_pok.c:229,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:230,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:231,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:233,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:234,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/src/cp/relic_cp_pok.c:237,1
    - Dst: ec_size_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:238,1
    - Dst: ec_write_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:239,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_pok.c:242,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_pok.c:243,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pok.c:244,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_pok.c:246,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_pok.c:247,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pok.c:248,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_pok.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 3
    argNames:
    - c
    - r
    - y
    argTypes:
    - bn_t[]
    - bn_t[]
    - ec_t[]
    constantsTouched: []
    func_position:
      end: 253
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 253
    functionName: cp_pokor_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_pok.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_sub
    - bn_mod
    - bn_read_bin
    - ec_curve_get_ord
    - bn_new
    - ec_null
    - ec_size_bin
    - ec_mul_sim_gen
    - ec_curve_get_gen
    - ec_new
    - ec_write_bin
    - bn_is_zero
    - md_map
    linkageType: ''
    returnType: int
    signature: int cp_pokor_ver(const bn_t c[2], const bn_t r[2], const ec_t y[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:45,1
    - Dst: g2_rand
      Src: /src/relic/src/cp/relic_cp_mpss.c:48,1
    - Dst: g2_get_ord
      Src: /src/relic/src/cp/relic_cp_mpss.c:49,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:51,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:52,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:53,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:54,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:56,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:57,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:58,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - r
    - s
    - h
    - x
    - y
    argTypes:
    - bn_t[]
    - bn_t[]
    - g2_t
    - g2_t[]
    - g2_t[]
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: cp_mpss_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_mpss.c
    functionUses: 3
    functionsReached:
    - bn_null
    - g2_mul
    - bn_rand_mod
    - g2_rand
    - bn_new
    - g2_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_mpss_gen(bn_t r[2], bn_t s[2], g2_t h, g2_t x[2], g2_t y[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:70,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_mpss.c:71,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:72,1
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:73,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_mpss.c:74,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - g2_t[]
    - g2_t[]
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: cp_mpss_bct
    functionSourceFile: /src/relic/src/cp/relic_cp_mpss.c
    functionUses: 3
    functionsReached:
    - g2_copy
    - g2_add
    - g2_norm
    linkageType: ''
    returnType: int
    signature: int cp_mpss_bct(g2_t x[2], g2_t y[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:84,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:87,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:89,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:90,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:91,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:92,1
    - Dst: g1_get_ord
      Src: /src/relic/src/cp/relic_cp_mpss.c:95,1
    - Dst: mpc_mt_lcl
      Src: /src/relic/src/cp/relic_cp_mpss.c:96,1
    - Dst: mpc_mt_lcl
      Src: /src/relic/src/cp/relic_cp_mpss.c:97,1
    - Dst: mpc_mt_bct
      Src: /src/relic/src/cp/relic_cp_mpss.c:98,1
    - Dst: mpc_mt_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:99,1
    - Dst: mpc_mt_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:100,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:101,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:102,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:103,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:104,1
    - Dst: g1_rand
      Src: /src/relic/src/cp/relic_cp_mpss.c:106,1
    - Dst: g1_rand
      Src: /src/relic/src/cp/relic_cp_mpss.c:107,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:108,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_mpss.c:109,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:110,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 7
    argNames:
    - a
    - b
    - m
    - r
    - s
    - mul_tri
    - sm_tri
    argTypes:
    - g1_t
    - g1_t[]
    - bn_t[]
    - bn_t[]
    - bn_t[]
    - mt_t[]
    - mt_t[]
    constantsTouched: []
    func_position:
      end: 112
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 112
    functionName: cp_mpss_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_mpss.c
    functionUses: 3
    functionsReached:
    - mpc_mt_mul
    - bn_null
    - bn_mod
    - g1_mul
    - mpc_mt_bct
    - bn_new
    - g1_norm
    - mpc_mt_lcl
    - g1_add
    - bn_add
    - g1_get_ord
    - g1_rand
    linkageType: ''
    returnType: int
    signature: "int cp_mpss_sig(g1_t a, g1_t b[2], const bn_t m[2], const bn_t r[2],\n\t\tconst
      bn_t s[2], const mt_t mul_tri[2], const mt_t sm_tri[2])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:133,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:136,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:138,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:139,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:140,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:141,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:142,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:143,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:144,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:145,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:146,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:147,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:148,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:149,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:150,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:151,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:152,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:153,1
    - Dst: g1_get_ord
      Src: /src/relic/src/cp/relic_cp_mpss.c:155,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:157,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:158,1
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:159,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_mpss.c:160,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:164,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:165,1
    - Dst: g1_neg
      Src: /src/relic/src/cp/relic_cp_mpss.c:167,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:168,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:169,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:170,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_mpss.c:171,1
    - Dst: g1_neg
      Src: /src/relic/src/cp/relic_cp_mpss.c:173,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:174,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:175,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:176,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_mpss.c:177,1
    - Dst: gt_exp_lcl
      Src: /src/relic/src/cp/relic_cp_mpss.c:180,1
    - Dst: gt_exp_lcl
      Src: /src/relic/src/cp/relic_cp_mpss.c:181,1
    - Dst: gt_exp_bct
      Src: /src/relic/src/cp/relic_cp_mpss.c:183,1
    - Dst: gt_exp_mpc
      Src: /src/relic/src/cp/relic_cp_mpss.c:184,1
    - Dst: gt_exp_mpc
      Src: /src/relic/src/cp/relic_cp_mpss.c:185,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_mpss.c:187,1
    - Dst: gt_rand
      Src: /src/relic/src/cp/relic_cp_mpss.c:188,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 48
    argCount: 9
    argNames:
    - e
    - a
    - b
    - m
    - h
    - x
    - y
    - sm_tri
    - pc_tri
    argTypes:
    - gt_t
    - g1_t
    - g1_t[]
    - bn_t[]
    - g2_t
    - g2_t
    - g2_t
    - mt_t[]
    - pt_t[]
    constantsTouched: []
    func_position:
      end: 193
      start: 124
    functionDepth: 6
    functionLinenumber: 124
    functionLinenumberEnd: 193
    functionName: cp_mpss_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_mpss.c
    functionUses: 3
    functionsReached:
    - gt_exp_mpc
    - gt_exp_lcl
    - g1_neg
    - g1_get_ord
    - gt_new
    - g2_null
    - bn_null
    - g2_mul
    - pc_map_sim
    - gt_mul
    - gt_rand
    - gt_null
    - g2_norm
    - bn_rand_mod
    - bn_new
    - g1_copy
    - g2_copy
    - gt_exp_bct
    - g1_is_infty
    - g2_add
    - g1_new
    - g1_null
    - g2_new
    linkageType: ''
    returnType: int
    signature: "int cp_mpss_ver(gt_t e, const g1_t a, const g1_t b[2], const bn_t
      m[2],\n\t\tconst g2_t h, const g2_t x, const g2_t y, const mt_t sm_tri[2],\n\t\tconst
      pt_t pc_tri[2])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:218,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:221,1
    - Dst: g2_rand
      Src: /src/relic/src/cp/relic_cp_mpss.c:224,1
    - Dst: g2_get_ord
      Src: /src/relic/src/cp/relic_cp_mpss.c:225,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:227,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:228,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:229,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:230,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:233,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:234,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:235,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 6
    argNames:
    - r
    - s
    - h
    - x
    - y
    - l
    argTypes:
    - bn_t[]
    - bn_t[][]
    - g2_t
    - g2_t[]
    - g2_t[][]
    - size_t
    constantsTouched: []
    func_position:
      end: 238
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 238
    functionName: cp_mpsb_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_mpss.c
    functionUses: 3
    functionsReached:
    - bn_null
    - g2_mul
    - bn_rand_mod
    - g2_rand
    - bn_new
    - g2_get_ord
    linkageType: ''
    returnType: int
    signature: "int cp_mpsb_gen(bn_t r[2], bn_t s[][2], g2_t h, g2_t x[2], g2_t y[][2],\n\t\tsize_t
      l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:248,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_mpss.c:249,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:250,1
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:252,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_mpss.c:253,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - x
    - y
    - l
    argTypes:
    - g2_t[]
    - g2_t[][]
    - size_t
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: cp_mpsb_bct
    functionSourceFile: /src/relic/src/cp/relic_cp_mpss.c
    functionUses: 3
    functionsReached:
    - g2_copy
    - g2_add
    - g2_norm
    linkageType: ''
    returnType: int
    signature: int cp_mpsb_bct(g2_t x[2], g2_t y[][2], size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:265,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:268,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:270,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:271,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:272,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:273,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:274,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:275,1
    - Dst: g1_get_ord
      Src: /src/relic/src/cp/relic_cp_mpss.c:278,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_mpss.c:279,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:281,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:282,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:283,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:284,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:285,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:286,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:288,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_mpss.c:289,1
    - Dst: bn_sign
      Src: /src/relic/src/cp/relic_cp_mpss.c:290,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:291,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:293,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:294,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:295,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:296,1
    - Dst: g1_rand
      Src: /src/relic/src/cp/relic_cp_mpss.c:298,1
    - Dst: g1_rand
      Src: /src/relic/src/cp/relic_cp_mpss.c:299,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:300,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_mpss.c:301,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:302,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 8
    argNames:
    - a
    - b
    - m
    - r
    - s
    - mul_tri
    - sm_tri
    - l
    argTypes:
    - g1_t
    - g1_t[]
    - bn_t[][]
    - bn_t[]
    - bn_t[][]
    - mt_t[]
    - mt_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 304
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 304
    functionName: cp_mpsb_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_mpss.c
    functionUses: 3
    functionsReached:
    - bn_mul
    - bn_null
    - bn_zero
    - bn_sub
    - bn_mod
    - g1_mul
    - bn_rand_mod
    - bn_sign
    - bn_new
    - g1_norm
    - g1_add
    - bn_add
    - g1_get_ord
    - g1_rand
    linkageType: ''
    returnType: int
    signature: "int cp_mpsb_sig(g1_t a, g1_t b[2], const bn_t m[][2], const bn_t r[2],\n\t\tconst
      bn_t s[][2], const mt_t mul_tri[2], const mt_t sm_tri[2],\n\t\tsize_t l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_mpss.c:323,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_mpss.c:325,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:328,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:329,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:332,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:333,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_mpss.c:335,1
    - Dst: RLC_FREE
      Src: /src/relic/src/cp/relic_cp_mpss.c:336,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_mpss.c:337,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:340,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:341,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:342,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:343,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:344,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:345,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:346,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:347,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:348,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:349,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:350,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:351,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:352,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:353,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:354,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:355,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:356,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:358,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:359,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_mpss.c:360,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_mpss.c:361,1
    - Dst: g1_get_ord
      Src: /src/relic/src/cp/relic_cp_mpss.c:364,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:368,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:369,1
    - Dst: g2_mul_sim_lot
      Src: /src/relic/src/cp/relic_cp_mpss.c:374,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_mpss.c:378,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:380,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:381,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:382,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:383,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:384,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:385,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:387,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_mpss.c:388,1
    - Dst: bn_sign
      Src: /src/relic/src/cp/relic_cp_mpss.c:389,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:390,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:392,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:393,1
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_mpss.c:395,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_mpss.c:396,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:399,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_mpss.c:400,1
    - Dst: g1_neg
      Src: /src/relic/src/cp/relic_cp_mpss.c:402,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:403,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:404,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:405,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_mpss.c:406,1
    - Dst: g1_neg
      Src: /src/relic/src/cp/relic_cp_mpss.c:408,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:409,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:410,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_mpss.c:411,1
    - Dst: pc_map_sim
      Src: /src/relic/src/cp/relic_cp_mpss.c:412,1
    - Dst: gt_exp_lcl
      Src: /src/relic/src/cp/relic_cp_mpss.c:415,1
    - Dst: gt_exp_lcl
      Src: /src/relic/src/cp/relic_cp_mpss.c:416,1
    - Dst: gt_exp_bct
      Src: /src/relic/src/cp/relic_cp_mpss.c:418,1
    - Dst: gt_exp_mpc
      Src: /src/relic/src/cp/relic_cp_mpss.c:419,1
    - Dst: gt_exp_mpc
      Src: /src/relic/src/cp/relic_cp_mpss.c:420,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_mpss.c:422,1
    - Dst: gt_rand
      Src: /src/relic/src/cp/relic_cp_mpss.c:423,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_mpss.c:426,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 88
    argCount: 11
    argNames:
    - e
    - a
    - b
    - m
    - h
    - x
    - y
    - v
    - sm_tri
    - pc_tri
    - l
    argTypes:
    - gt_t
    - g1_t
    - g1_t[]
    - bn_t[][]
    - g2_t
    - g2_t
    - g2_t[][]
    - bn_t[][]
    - mt_t[]
    - pt_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 428
      start: 319
    functionDepth: 6
    functionLinenumber: 319
    functionLinenumberEnd: 428
    functionName: cp_mpsb_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_mpss.c
    functionUses: 3
    functionsReached:
    - gt_exp_mpc
    - bn_sub
    - gt_exp_lcl
    - g1_neg
    - g2_mul_sim_lot
    - RLC_ALLOCA
    - g1_get_ord
    - gt_new
    - g2_null
    - bn_mul
    - bn_null
    - g2_mul
    - pc_map_sim
    - RLC_THROW
    - bn_mod
    - gt_mul
    - gt_rand
    - gt_null
    - RLC_FREE
    - bn_rand_mod
    - g2_norm
    - bn_sign
    - bn_new
    - g1_copy
    - g2_copy
    - bn_add
    - gt_exp_bct
    - bn_zero
    - g1_is_infty
    - g2_add
    - g1_new
    - g1_null
    - g2_new
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int cp_mpsb_ver(gt_t e, const g1_t a, const g1_t b[2], const bn_t
      m[][2],\n\t\tconst g2_t h, const g2_t x, const g2_t y[][2], const bn_t v[][2],\n\t\tconst
      mt_t sm_tri[2], const pt_t pc_tri[2], size_t l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rabin.c:56,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rabin.c:59,1
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_rabin.c:63,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rabin.c:64,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_rabin.c:65,1
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_rabin.c:68,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rabin.c:69,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_rabin.c:70,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_rabin.c:71,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_rabin.c:74,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_rabin.c:75,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_rabin.c:76,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_rabin.c:77,1
    - Dst: bn_gcd_ext
      Src: /src/relic/src/cp/relic_cp_rabin.c:80,1
    - Dst: bn_cmp_dig
      Src: /src/relic/src/cp/relic_cp_rabin.c:81,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_rabin.c:85,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_rabin.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pub
    - prv
    - bits
    argTypes:
    - rabin_t
    - rabin_t
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 87
    functionName: cp_rabin_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_rabin.c
    functionUses: 1
    functionsReached:
    - bn_gcd_ext
    - bn_mul
    - bn_null
    - bn_cmp_dig
    - bn_cmp
    - bn_new
    - bn_gen_prime
    - bn_mod_2b
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int cp_rabin_gen(rabin_t pub, rabin_t prv, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rabin.c:104,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rabin.c:105,1
    - Dst: bn_size_bin
      Src: /src/relic/src/cp/relic_cp_rabin.c:107,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rabin.c:114,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rabin.c:115,1
    - Dst: bn_zero
      Src: /src/relic/src/cp/relic_cp_rabin.c:116,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:119,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rabin.c:120,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:121,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rabin.c:122,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_rabin.c:123,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rabin.c:124,1
    - Dst: bn_lsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:125,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_rabin.c:126,1
    - Dst: bn_sqr
      Src: /src/relic/src/cp/relic_cp_rabin.c:128,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_rabin.c:129,1
    - Dst: memset
      Src: /src/relic/src/cp/relic_cp_rabin.c:133,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rabin.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 5
    argNames:
    - out
    - out_len
    - in
    - in_len
    - pub
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - rabin_t
    constantsTouched: []
    func_position:
      end: 138
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 138
    functionName: cp_rabin_enc
    functionSourceFile: /src/relic/src/cp/relic_cp_rabin.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_zero
    - bn_add_dig
    - bn_sqr
    - bn_mod
    - memset
    - bn_read_bin
    - bn_lsh
    - bn_new
    - bn_size_bin
    - bn_write_bin
    - bn_add
    - bn_mod_2b
    linkageType: ''
    returnType: int
    signature: "int cp_rabin_enc(uint8_t *out, size_t *out_len, const uint8_t *in,\n\t\tsize_t
      in_len, const rabin_t pub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rabin.c:161,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rabin.c:162,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rabin.c:163,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rabin.c:164,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_rabin.c:165,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rabin.c:168,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rabin.c:169,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rabin.c:170,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rabin.c:171,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_rabin.c:172,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_rabin.c:174,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rabin.c:176,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:177,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_rabin.c:178,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_rabin.c:180,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:181,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_rabin.c:182,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_rabin.c:184,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_rabin.c:185,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_rabin.c:186,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_rabin.c:187,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_rabin.c:188,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_rabin.c:189,1
    - Dst: bn_sign
      Src: /src/relic/src/cp/relic_cp_rabin.c:190,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_rabin.c:191,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_rabin.c:193,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_rabin.c:194,1
    - Dst: bn_sign
      Src: /src/relic/src/cp/relic_cp_rabin.c:195,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_rabin.c:196,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rabin.c:199,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:200,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rabin.c:201,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_rabin.c:202,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:203,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_rabin.c:205,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rabin.c:206,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:207,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rabin.c:208,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_rabin.c:209,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:210,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rabin.c:212,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:213,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rabin.c:214,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_rabin.c:215,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:216,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_rabin.c:218,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rabin.c:219,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:220,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rabin.c:221,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_rabin.c:222,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:223,1
    - Dst: bn_size_bin
      Src: /src/relic/src/cp/relic_cp_rabin.c:232,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:234,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_rabin.c:236,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_rabin.c:241,1
    - Dst: bn_mod_2b
      Src: /src/relic/src/cp/relic_cp_rabin.c:248,1
    - Dst: memset
      Src: /src/relic/src/cp/relic_cp_rabin.c:254,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_rabin.c:255,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 92
    argCount: 5
    argNames:
    - out
    - out_len
    - in
    - in_len
    - prv
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - rabin_t
    constantsTouched: []
    func_position:
      end: 260
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 260
    functionName: cp_rabin_dec
    functionSourceFile: /src/relic/src/cp/relic_cp_rabin.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_add_dig
    - bn_null
    - bn_sub
    - bn_mod
    - memset
    - bn_read_bin
    - bn_cmp
    - bn_sign
    - bn_new
    - bn_mod_2b
    - bn_size_bin
    - bn_write_bin
    - bn_is_zero
    - bn_add
    - bn_mxp
    - bn_rsh
    linkageType: ''
    returnType: int
    signature: "int cp_rabin_dec(uint8_t *out, size_t *out_len, const uint8_t *in,\n\t\tsize_t
      in_len, const rabin_t prv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pcdel.c:54,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pcdel.c:55,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pcdel.c:56,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_pcdel.c:57,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_pcdel.c:58,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pcdel.c:61,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pcdel.c:62,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pcdel.c:63,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_pcdel.c:64,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_pcdel.c:65,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_pcdel.c:67,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pcdel.c:68,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pcdel.c:69,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_pcdel.c:70,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_pcdel.c:71,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_pcdel.c:73,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_pcdel.c:74,1
    - Dst: gt_exp_gen
      Src: /src/relic/src/cp/relic_cp_pcdel.c:75,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_pcdel.c:76,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_pcdel.c:78,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_pcdel.c:79,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_pcdel.c:80,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_pcdel.c:81,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_pcdel.c:82,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_pcdel.c:83,1
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_pcdel.c:84,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_pcdel.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 6
    argNames:
    - t
    - t1
    - t2
    - e
    - p
    - q
    argTypes:
    - bn_t
    - g1_t
    - g2_t
    - gt_t
    - g1_t
    - g2_t
    constantsTouched: []
    func_position:
      end: 86
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 86
    functionName: cp_cades_ask
    functionSourceFile: /src/relic/src/cp/relic_cp_pcdel.c
    functionUses: 1
    functionsReached:
    - g1_mul
    - g2_mul_gen
    - g1_add
    - pc_get_ord
    - g2_null
    - bn_mul
    - bn_null
    - g2_mul
    - bn_mod
    - g1_norm
    - bn_mod_inv
    - bn_rand_mod
    - g2_norm
    - bn_new
    - gt_exp_gen
    - g1_mul_gen
    - g2_add
    - g1_new
    - g1_null
    - g2_new
    linkageType: ''
    returnType: int
    signature: "int cp_cades_ask(bn_t t, g1_t t1, g2_t t2, gt_t e, const g1_t p,\n\t\tconst
      g2_t q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:46,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:49,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_bgn.c:51,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_bgn.c:53,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_bgn.c:54,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_bgn.c:55,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_bgn.c:57,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_bgn.c:58,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_bgn.c:59,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_bgn.c:61,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_bgn.c:62,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_bgn.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pub
    - prv
    argTypes:
    - bgn_t
    - bgn_t
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: cp_bgn_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_bgn.c
    functionUses: 1
    functionsReached:
    - g1_mul_gen
    - bn_null
    - bn_rand_mod
    - bn_new
    - g2_mul_gen
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_bgn_gen(bgn_t pub, bgn_t prv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:80,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:81,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:82,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:85,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:86,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:87,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_bgn.c:89,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_bgn.c:90,1
    - Dst: g1_mul_dig
      Src: /src/relic/src/cp/relic_cp_bgn.c:93,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_bgn.c:95,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_bgn.c:96,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_bgn.c:97,1
    - Dst: g1_mul_dig
      Src: /src/relic/src/cp/relic_cp_bgn.c:100,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:101,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_bgn.c:102,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_bgn.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - pub
    argTypes:
    - g1_t[]
    - dig_t
    - bgn_t
    constantsTouched: []
    func_position:
      end: 104
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 104
    functionName: cp_bgn_enc1
    functionSourceFile: /src/relic/src/cp/relic_cp_bgn.c
    functionUses: 1
    functionsReached:
    - g1_add
    - g1_mul_gen
    - bn_null
    - g1_mul
    - bn_rand_mod
    - g1_new
    - g1_null
    - bn_new
    - g1_mul_dig
    - g1_norm
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_bgn_enc1(g1_t out[2], const dig_t in, const bgn_t pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:122,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:123,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:124,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:125,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:126,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:129,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:130,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:131,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:132,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:133,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_bgn.c:135,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:137,1
    - Dst: g1_sub
      Src: /src/relic/src/cp/relic_cp_bgn.c:138,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_bgn.c:139,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:141,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_bgn.c:142,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_bgn.c:143,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_bgn.c:144,1
    - Dst: g1_copy
      Src: /src/relic/src/cp/relic_cp_bgn.c:145,1
    - Dst: g1_is_infty
      Src: /src/relic/src/cp/relic_cp_bgn.c:147,1
    - Dst: g1_cmp
      Src: /src/relic/src/cp/relic_cp_bgn.c:152,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_bgn.c:157,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_bgn.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - out
    - in
    - prv
    argTypes:
    - dig_t*
    - g1_t[]
    - bgn_t
    constantsTouched: []
    func_position:
      end: 161
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 161
    functionName: cp_bgn_dec1
    functionSourceFile: /src/relic/src/cp/relic_cp_bgn.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - g1_mul_gen
    - bn_null
    - bn_sub
    - g1_cmp
    - g1_add
    - g1_mul
    - bn_mod
    - g1_is_infty
    - g1_new
    - g1_null
    - bn_new
    - g1_copy
    - g1_norm
    - g1_sub
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_bgn_dec1(dig_t *out, const g1_t in[2], const bgn_t prv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:180,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:181,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:182,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:185,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:186,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:187,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_bgn.c:189,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_bgn.c:190,1
    - Dst: g2_mul_dig
      Src: /src/relic/src/cp/relic_cp_bgn.c:193,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_bgn.c:194,1
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_bgn.c:195,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_bgn.c:196,1
    - Dst: g2_mul_dig
      Src: /src/relic/src/cp/relic_cp_bgn.c:199,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:200,1
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_bgn.c:201,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_bgn.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - pub
    argTypes:
    - g2_t[]
    - dig_t
    - bgn_t
    constantsTouched: []
    func_position:
      end: 203
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 203
    functionName: cp_bgn_enc2
    functionSourceFile: /src/relic/src/cp/relic_cp_bgn.c
    functionUses: 1
    functionsReached:
    - g2_null
    - bn_null
    - g2_mul
    - g2_mul_dig
    - g2_add
    - bn_rand_mod
    - g2_norm
    - bn_new
    - g2_mul_gen
    - g2_new
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_bgn_enc2(g2_t out[2], const dig_t in, const bgn_t pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:221,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:222,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:223,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:224,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:225,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:228,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:229,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:230,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:231,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:232,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_bgn.c:234,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:236,1
    - Dst: g2_sub
      Src: /src/relic/src/cp/relic_cp_bgn.c:237,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_bgn.c:238,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:240,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_bgn.c:241,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_bgn.c:242,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_bgn.c:243,1
    - Dst: g2_copy
      Src: /src/relic/src/cp/relic_cp_bgn.c:244,1
    - Dst: g2_is_infty
      Src: /src/relic/src/cp/relic_cp_bgn.c:246,1
    - Dst: g2_cmp
      Src: /src/relic/src/cp/relic_cp_bgn.c:251,1
    - Dst: g2_add
      Src: /src/relic/src/cp/relic_cp_bgn.c:256,1
    - Dst: g2_norm
      Src: /src/relic/src/cp/relic_cp_bgn.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - out
    - in
    - prv
    argTypes:
    - dig_t*
    - g2_t[]
    - bgn_t
    constantsTouched: []
    func_position:
      end: 260
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 260
    functionName: cp_bgn_dec2
    functionSourceFile: /src/relic/src/cp/relic_cp_bgn.c
    functionUses: 1
    functionsReached:
    - g2_is_infty
    - g2_cmp
    - g2_null
    - bn_mul
    - bn_null
    - g2_mul
    - bn_sub
    - bn_mod
    - g2_add
    - g2_norm
    - bn_new
    - g2_copy
    - g2_mul_gen
    - g2_new
    - pc_get_ord
    - g2_sub
    linkageType: ''
    returnType: int
    signature: int cp_bgn_dec2(dig_t *out, const g2_t in[2], const bgn_t prv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - e
    - c
    - d
    argTypes:
    - gt_t[]
    - gt_t[]
    - gt_t[]
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: cp_bgn_add
    functionSourceFile: /src/relic/src/cp/relic_cp_bgn.c
    functionUses: 1
    functionsReached:
    - gt_mul
    linkageType: ''
    returnType: int
    signature: int cp_bgn_add(gt_t e[4], const gt_t c[4], const gt_t d[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_bgn.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - e
    - c
    - d
    argTypes:
    - gt_t[]
    - g1_t[]
    - g2_t[]
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: cp_bgn_mul
    functionSourceFile: /src/relic/src/cp/relic_cp_bgn.c
    functionUses: 1
    functionsReached:
    - pc_map
    linkageType: ''
    returnType: int
    signature: int cp_bgn_mul(gt_t e[4], const g1_t c[2], const g2_t d[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:297,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:298,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:299,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:300,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:301,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:304,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:305,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:306,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:307,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:308,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_bgn.c:310,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_bgn.c:311,1
    - Dst: gt_exp
      Src: /src/relic/src/cp/relic_cp_bgn.c:314,1
    - Dst: gt_exp
      Src: /src/relic/src/cp/relic_cp_bgn.c:315,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:317,1
    - Dst: gt_exp
      Src: /src/relic/src/cp/relic_cp_bgn.c:318,1
    - Dst: gt_inv
      Src: /src/relic/src/cp/relic_cp_bgn.c:319,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:321,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:322,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_bgn.c:324,1
    - Dst: g1_get_gen
      Src: /src/relic/src/cp/relic_cp_bgn.c:325,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_bgn.c:326,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:328,1
    - Dst: bn_sqr
      Src: /src/relic/src/cp/relic_cp_bgn.c:329,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:331,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:332,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_bgn.c:333,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_bgn.c:334,1
    - Dst: bn_sqr
      Src: /src/relic/src/cp/relic_cp_bgn.c:336,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_bgn.c:337,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_bgn.c:338,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_bgn.c:339,1
    - Dst: gt_exp
      Src: /src/relic/src/cp/relic_cp_bgn.c:340,1
    - Dst: gt_copy
      Src: /src/relic/src/cp/relic_cp_bgn.c:342,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_bgn.c:344,1
    - Dst: gt_cmp
      Src: /src/relic/src/cp/relic_cp_bgn.c:349,1
    - Dst: gt_mul
      Src: /src/relic/src/cp/relic_cp_bgn.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 3
    argNames:
    - out
    - in
    - prv
    argTypes:
    - dig_t*
    - gt_t[]
    - bgn_t
    constantsTouched: []
    func_position:
      end: 357
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 357
    functionName: cp_bgn_dec
    functionSourceFile: /src/relic/src/cp/relic_cp_bgn.c
    functionUses: 1
    functionsReached:
    - bn_sub
    - bn_sqr
    - gt_exp
    - pc_get_ord
    - gt_new
    - g2_null
    - bn_mul
    - bn_null
    - gt_mul
    - bn_mod
    - g1_get_gen
    - gt_null
    - pc_map
    - gt_cmp
    - bn_new
    - bn_add
    - g2_get_gen
    - gt_inv
    - gt_copy
    - g1_new
    - g1_null
    - gt_is_unity
    - g2_new
    linkageType: ''
    returnType: int
    signature: int cp_bgn_dec(dig_t *out, const gt_t in[4], const bgn_t prv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_gen_prime_factor
      Src: /src/relic/src/cp/relic_cp_shpe.c:50,1
    - Dst: bn_gen_prime
      Src: /src/relic/src/cp/relic_cp_shpe.c:51,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_shpe.c:52,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shpe.c:55,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_shpe.c:58,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_shpe.c:59,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shpe.c:60,1
    - Dst: bn_div
      Src: /src/relic/src/cp/relic_cp_shpe.c:61,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_shpe.c:64,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_shpe.c:65,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shpe.c:71,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shpe.c:72,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shpe.c:73,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shpe.c:76,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shpe.c:77,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shpe.c:78,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_shpe.c:81,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_shpe.c:82,1
    - Dst: bn_sqr
      Src: /src/relic/src/cp/relic_cp_shpe.c:85,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_shpe.c:86,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_shpe.c:87,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_shpe.c:88,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_shpe.c:91,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_shpe.c:94,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_shpe.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 4
    argNames:
    - pub
    - prv
    - sbits
    - nbits
    argTypes:
    - shpe_t
    - shpe_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 98
    functionName: cp_shpe_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_shpe.c
    functionUses: 1
    functionsReached:
    - bn_div
    - bn_mul
    - bn_add_dig
    - bn_sqr
    - bn_mod
    - bn_cmp
    - bn_sub_dig
    - bn_copy
    - bn_gen_prime_factor
    - bn_gen_prime
    - bn_mxp
    - bn_mod_inv
    linkageType: ''
    returnType: int
    signature: int cp_shpe_gen(shpe_t pub, shpe_t prv, size_t sbits, size_t nbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_shpe.c:105,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_shpe.c:106,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_shpe.c:113,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_shpe.c:113,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_shpe.c:119,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_shpe.c:120,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_shpe.c:123,1
    - Dst: bn_sqr
      Src: /src/relic/src/cp/relic_cp_shpe.c:127,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_shpe.c:128,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shpe.c:129,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shpe.c:130,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shpe.c:131,1
    - Dst: bn_add_dig
      Src: /src/relic/src/cp/relic_cp_shpe.c:132,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shpe.c:133,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shpe.c:134,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shpe.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - c
    - m
    - prv
    argTypes:
    - bn_t
    - bn_t
    - shpe_t
    constantsTouched: []
    func_position:
      end: 137
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 137
    functionName: cp_shpe_enc_prv
    functionSourceFile: /src/relic/src/cp/relic_cp_shpe.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_null
    - bn_add_dig
    - bn_sqr
    - bn_mod
    - bn_rand_mod
    - bn_new
    - bn_bits
    - bn_mxp
    linkageType: ''
    returnType: int
    signature: int cp_shpe_enc_prv(bn_t c, const bn_t m, const shpe_t prv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_shpe.c:153,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_shpe.c:154,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_shpe.c:161,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_shpe.c:161,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_shpe.c:167,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_shpe.c:168,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_shpe.c:171,1
    - Dst: bn_sqr
      Src: /src/relic/src/cp/relic_cp_shpe.c:174,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shpe.c:175,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_shpe.c:176,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_shpe.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - c
    - m
    - pub
    argTypes:
    - bn_t
    - bn_t
    - shpe_t
    constantsTouched: []
    func_position:
      end: 179
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 179
    functionName: cp_shpe_enc
    functionSourceFile: /src/relic/src/cp/relic_cp_shpe.c
    functionUses: 1
    functionsReached:
    - bn_mul
    - bn_null
    - bn_sqr
    - bn_rand_mod
    - bn_new
    - bn_bits
    - bn_add
    - bn_mxp
    linkageType: ''
    returnType: int
    signature: int cp_shpe_enc(bn_t c, const bn_t m, const shpe_t pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_shpe.c:195,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_shpe.c:195,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_shpe.c:199,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_shpe.c:200,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_shpe.c:203,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_shpe.c:204,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_shpe.c:207,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_shpe.c:208,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shpe.c:209,1
    - Dst: bn_sqr
      Src: /src/relic/src/cp/relic_cp_shpe.c:212,1
    - Dst: bn_mxp
      Src: /src/relic/src/cp/relic_cp_shpe.c:213,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/cp/relic_cp_shpe.c:215,1
    - Dst: bn_div
      Src: /src/relic/src/cp/relic_cp_shpe.c:216,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_shpe.c:217,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_shpe.c:218,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_shpe.c:219,1
    - Dst: bn_mxp_crt
      Src: /src/relic/src/cp/relic_cp_shpe.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - m
    - c
    - prv
    argTypes:
    - bn_t
    - bn_t
    - shpe_t
    constantsTouched: []
    func_position:
      end: 223
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 223
    functionName: cp_shpe_dec
    functionSourceFile: /src/relic/src/cp/relic_cp_shpe.c
    functionUses: 1
    functionsReached:
    - bn_div
    - bn_mul
    - bn_null
    - bn_sqr
    - bn_mxp_crt
    - bn_mod
    - bn_sub_dig
    - bn_new
    - bn_bits
    - bn_mxp
    - bn_mod_inv
    linkageType: ''
    returnType: int
    signature: int cp_shpe_dec(bn_t m, const bn_t c, const shpe_t prv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecss.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecss.c:45,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ecss.c:47,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ecss.c:48,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_ecss.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - d
    - q
    argTypes:
    - bn_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: cp_ecss_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_ecss.c
    functionUses: 1
    functionsReached:
    - ec_mul_gen
    - bn_null
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    linkageType: ''
    returnType: int
    signature: int cp_ecss_gen(bn_t d, ec_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecss.c:67,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecss.c:68,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecss.c:69,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecss.c:70,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ecss.c:71,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecss.c:74,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecss.c:75,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecss.c:76,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecss.c:77,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ecss.c:78,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_ecss.c:80,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ecss.c:83,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ecss.c:85,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_ecss.c:86,1
    - Dst: ec_get_x
      Src: /src/relic/src/cp/relic_cp_ecss.c:87,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecss.c:88,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_ecss.c:89,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_ecss.c:91,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_ecss.c:92,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_ecss.c:93,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecss.c:95,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/cp/relic_cp_ecss.c:96,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecss.c:96,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_ecss.c:97,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_ecss.c:98,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecss.c:98,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_ecss.c:100,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecss.c:103,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ecss.c:105,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecss.c:106,1
    - Dst: bn_sub
      Src: /src/relic/src/cp/relic_cp_ecss.c:107,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_ecss.c:108,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecss.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 5
    argNames:
    - e
    - s
    - msg
    - len
    - d
    argTypes:
    - bn_t
    - bn_t
    - uint8_t*
    - size_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 110
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 110
    functionName: cp_ecss_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_ecss.c
    functionUses: 1
    functionsReached:
    - bn_sub
    - bn_read_bin
    - bn_write_bin
    - bn_mul
    - bn_null
    - RLC_THROW
    - bn_mod
    - ec_get_x
    - memcpy
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    - bn_is_zero
    - md_map
    - bn_add
    - bn_rsh
    - ec_mul_gen
    - RLC_CEIL
    - ec_null
    - bn_bits
    - ec_new
    linkageType: ''
    returnType: int
    signature: int cp_ecss_sig(bn_t e, bn_t s, const uint8_t *msg, size_t len, const
      bn_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecss.c:132,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecss.c:133,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecss.c:134,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ecss.c:135,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecss.c:138,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecss.c:139,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecss.c:140,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ecss.c:141,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_ecss.c:143,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ecss.c:146,1
    - Dst: bn_sign
      Src: /src/relic/src/cp/relic_cp_ecss.c:148,1
    - Dst: bn_sign
      Src: /src/relic/src/cp/relic_cp_ecss.c:148,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_ecss.c:148,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_ecss.c:149,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_ecss.c:149,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/src/cp/relic_cp_ecss.c:150,1
    - Dst: ec_get_x
      Src: /src/relic/src/cp/relic_cp_ecss.c:151,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecss.c:153,1
    - Dst: memcpy
      Src: /src/relic/src/cp/relic_cp_ecss.c:155,1
    - Dst: bn_write_bin
      Src: /src/relic/src/cp/relic_cp_ecss.c:156,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_ecss.c:157,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecss.c:159,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/cp/relic_cp_ecss.c:160,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecss.c:160,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_ecss.c:161,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_ecss.c:162,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecss.c:162,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_ecss.c:164,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecss.c:167,1
    - Dst: dv_cmp_sec
      Src: /src/relic/src/cp/relic_cp_ecss.c:169,1
    - Dst: RLC_MIN
      Src: /src/relic/src/cp/relic_cp_ecss.c:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - e
    - s
    - msg
    - len
    - q
    argTypes:
    - bn_t
    - bn_t
    - uint8_t*
    - size_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 178
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 178
    functionName: cp_ecss_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_ecss.c
    functionUses: 1
    functionsReached:
    - dv_cmp_sec
    - bn_read_bin
    - bn_cmp
    - bn_write_bin
    - bn_null
    - RLC_THROW
    - bn_mod
    - ec_get_x
    - RLC_MIN
    - memcpy
    - ec_curve_get_ord
    - bn_sign
    - bn_new
    - bn_is_zero
    - md_map
    - bn_rsh
    - RLC_CEIL
    - ec_null
    - bn_bits
    - ec_new
    - ec_mul_sim_gen
    linkageType: ''
    returnType: int
    signature: int cp_ecss_ver(bn_t e, bn_t s, const uint8_t *msg, size_t len, const
      ec_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_zss.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_zss.c:45,1
    - Dst: gt_get_gen
      Src: /src/relic/src/cp/relic_cp_zss.c:48,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_zss.c:50,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_zss.c:52,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_zss.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - d
    - q
    - z
    argTypes:
    - bn_t
    - g1_t
    - gt_t
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: cp_zss_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_zss.c
    functionUses: 1
    functionsReached:
    - g1_mul_gen
    - bn_null
    - gt_get_gen
    - bn_rand_mod
    - bn_new
    - pc_get_ord
    linkageType: ''
    returnType: int
    signature: int cp_zss_gen(bn_t d, g1_t q, gt_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_zss.c:69,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_zss.c:70,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_zss.c:71,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_zss.c:72,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_zss.c:75,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_zss.c:76,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_zss.c:77,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_zss.c:78,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_zss.c:80,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_zss.c:84,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_zss.c:86,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_zss.c:87,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_zss.c:89,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_zss.c:92,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_zss.c:93,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_zss.c:94,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_zss.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 5
    argNames:
    - s
    - msg
    - len
    - hash
    - d
    argTypes:
    - g2_t
    - uint8_t*
    - size_t
    - int
    - bn_t
    constantsTouched: []
    func_position:
      end: 98
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 98
    functionName: cp_zss_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_zss.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_add
    - bn_mod
    - bn_read_bin
    - bn_new
    - g2_mul_gen
    - pc_get_ord
    - md_map
    - bn_mod_inv
    linkageType: ''
    returnType: int
    signature: int cp_zss_sig(g2_t s, const uint8_t *msg, size_t len, int hash, const
      bn_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_zss.c:119,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_zss.c:120,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_zss.c:121,1
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_zss.c:122,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_zss.c:125,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_zss.c:126,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_zss.c:127,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_zss.c:128,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_zss.c:130,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_zss.c:134,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_zss.c:136,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_zss.c:137,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_zss.c:139,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_zss.c:141,1
    - Dst: g1_add
      Src: /src/relic/src/cp/relic_cp_zss.c:142,1
    - Dst: g1_norm
      Src: /src/relic/src/cp/relic_cp_zss.c:143,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_zss.c:145,1
    - Dst: gt_cmp
      Src: /src/relic/src/cp/relic_cp_zss.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 6
    argNames:
    - s
    - msg
    - len
    - hash
    - q
    - z
    argTypes:
    - g2_t
    - uint8_t*
    - size_t
    - int
    - g1_t
    - gt_t
    constantsTouched: []
    func_position:
      end: 150
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 150
    functionName: cp_zss_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_zss.c
    functionUses: 1
    functionsReached:
    - g1_add
    - g1_mul_gen
    - bn_null
    - bn_mod
    - bn_read_bin
    - g1_new
    - g1_null
    - pc_map
    - bn_new
    - gt_cmp
    - g1_norm
    - pc_get_ord
    - md_map
    - gt_new
    - gt_null
    linkageType: ''
    returnType: int
    signature: "int cp_zss_ver(const g2_t s, const uint8_t *msg, size_t len, int hash,\n\t\tconst
      g1_t q, const gt_t z)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:45,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:47,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:48,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:49,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:51,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - sk
    - ss
    - s
    - m
    argTypes:
    - bn_t
    - g1_t
    - g2_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: cp_pbpsi_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_pbpsi.c
    functionUses: 3
    functionsReached:
    - g1_mul_gen
    - bn_null
    - g2_mul
    - bn_rand_mod
    - bn_new
    - pc_get_ord
    - g2_get_gen
    linkageType: ''
    returnType: int
    signature: int cp_pbpsi_gen(bn_t sk, g1_t ss, g2_t *s, size_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:67,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:67,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:69,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:70,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:73,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:74,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:76,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:79,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:80,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:81,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:82,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:85,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:86,1
    - Dst: g2_mul_gen
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:88,1
    - Dst: bn_lag
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:90,1
    - Dst: g2_mul_sim_lot
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:91,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:92,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:94,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:97,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:98,1
    - Dst: bn_lag
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:99,1
    - Dst: g2_mul_sim_lot
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:100,1
    - Dst: g2_mul
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:101,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 5
    argNames:
    - d
    - r
    - x
    - s
    - m
    argTypes:
    - g2_t*
    - bn_t
    - bn_t*
    - g2_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 105
    functionName: cp_pbpsi_ask
    functionSourceFile: /src/relic/src/cp/relic_cp_pbpsi.c
    functionUses: 4
    functionsReached:
    - bn_null
    - g2_mul
    - RLC_THROW
    - bn_rand_mod
    - bn_lag
    - g2_mul_sim_lot
    - bn_new
    - RLC_ALLOCA
    - g2_mul_gen
    - pc_get_ord
    - bn_copy
    linkageType: ''
    returnType: int
    signature: int cp_pbpsi_ask(g2_t *d, bn_t r, const bn_t *x, const g2_t *s, size_t
      m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:128,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:130,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:131,1
    - Dst: g1_null
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:132,1
    - Dst: g2_null
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:133,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:136,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:137,1
    - Dst: g1_new
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:138,1
    - Dst: g2_new
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:139,1
    - Dst: RLC_THROW
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:141,1
    - Dst: util_perm
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:144,1
    - Dst: pc_get_ord
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:146,1
    - Dst: g2_get_gen
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:147,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:149,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:150,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:151,1
    - Dst: g1_mul_gen
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:152,1
    - Dst: g1_sub
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:153,1
    - Dst: g1_mul
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 6
    argNames:
    - t
    - u
    - ss
    - d
    - y
    - n
    argTypes:
    - gt_t*
    - g1_t*
    - g1_t
    - g2_t
    - bn_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 156
    functionName: cp_pbpsi_ans
    functionSourceFile: /src/relic/src/cp/relic_cp_pbpsi.c
    functionUses: 4
    functionsReached:
    - g2_null
    - util_perm
    - bn_null
    - g1_mul_gen
    - RLC_THROW
    - g1_mul
    - bn_rand_mod
    - g1_new
    - g1_null
    - pc_map
    - bn_new
    - RLC_ALLOCA
    - g1_sub
    - g2_new
    - pc_get_ord
    - g2_get_gen
    linkageType: ''
    returnType: int
    signature: "int cp_pbpsi_ans(gt_t *t, g1_t *u, const g1_t ss, const g2_t d,\n\t\tconst
      bn_t *y, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gt_null
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:175,1
    - Dst: gt_new
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:178,1
    - Dst: pc_map
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:184,1
    - Dst: gt_cmp
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:185,1
    - Dst: gt_is_unity
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:185,1
    - Dst: bn_copy
      Src: /src/relic/src/cp/relic_cp_pbpsi.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 8
    argNames:
    - z
    - len
    - d
    - x
    - m
    - t
    - u
    - n
    argTypes:
    - bn_t*
    - size_t*
    - g2_t*
    - bn_t*
    - size_t
    - gt_t*
    - g1_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 192
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 192
    functionName: cp_pbpsi_int
    functionSourceFile: /src/relic/src/cp/relic_cp_pbpsi.c
    functionUses: 3
    functionsReached:
    - pc_map
    - gt_cmp
    - gt_is_unity
    - gt_new
    - gt_null
    - bn_copy
    linkageType: ''
    returnType: int
    signature: "int cp_pbpsi_int(bn_t *z, size_t *len, const g2_t *d, const bn_t *x,\n\t\tsize_t
      m, const gt_t *t, const g1_t *u, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:42,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:45,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:47,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:48,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - d
    - q
    argTypes:
    - bn_t
    - ec_t
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: cp_ecdsa_gen
    functionSourceFile: /src/relic/src/cp/relic_cp_ecdsa.c
    functionUses: 2
    functionsReached:
    - ec_mul_gen
    - bn_null
    - ec_curve_get_ord
    - bn_rand_mod
    - bn_new
    linkageType: ''
    returnType: int
    signature: int cp_ecdsa_gen(bn_t d, ec_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:68,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:69,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:70,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:71,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:72,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:75,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:76,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:77,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:78,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:79,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:81,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:84,1
    - Dst: ec_mul_gen
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:85,1
    - Dst: ec_get_x
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:86,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:87,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:88,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:91,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:95,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:96,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:96,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:97,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:98,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:98,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:100,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:103,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:104,1
    - Dst: bn_add
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:105,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:106,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:107,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:108,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:109,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 6
    argNames:
    - r
    - s
    - msg
    - len
    - hash
    - d
    argTypes:
    - bn_t
    - bn_t
    - uint8_t*
    - size_t
    - int
    - bn_t
    constantsTouched: []
    func_position:
      end: 111
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 111
    functionName: cp_ecdsa_sig
    functionSourceFile: /src/relic/src/cp/relic_cp_ecdsa.c
    functionUses: 3
    functionsReached:
    - ec_mul_gen
    - bn_mul
    - bn_null
    - bn_add
    - bn_mod
    - bn_read_bin
    - ec_curve_get_ord
    - bn_rand_mod
    - RLC_CEIL
    - bn_new
    - ec_null
    - ec_get_x
    - ec_new
    - bn_bits
    - bn_is_zero
    - md_map
    - bn_rsh
    - bn_mod_inv
    linkageType: ''
    returnType: int
    signature: "int cp_ecdsa_sig(bn_t r, bn_t s, const uint8_t *msg, size_t len, int
      hash,\n\t\tconst bn_t d)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:132,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:133,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:134,1
    - Dst: bn_null
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:135,1
    - Dst: ec_null
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:136,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:139,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:140,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:141,1
    - Dst: bn_new
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:142,1
    - Dst: ec_new
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:143,1
    - Dst: ec_curve_get_ord
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:145,1
    - Dst: bn_sign
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:147,1
    - Dst: bn_sign
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:147,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:148,1
    - Dst: bn_is_zero
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:148,1
    - Dst: ec_on_curve
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:148,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:149,1
    - Dst: bn_cmp
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:149,1
    - Dst: bn_mod_inv
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:150,1
    - Dst: md_map
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:153,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:158,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:159,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:159,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:160,1
    - Dst: bn_rsh
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:161,1
    - Dst: bn_bits
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:161,1
    - Dst: bn_read_bin
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:163,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:166,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:167,1
    - Dst: bn_mul
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:168,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:169,1
    - Dst: ec_mul_sim_gen
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:171,1
    - Dst: ec_get_x
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:172,1
    - Dst: bn_mod
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:174,1
    - Dst: dv_cmp_sec
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:176,1
    - Dst: RLC_MIN
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:176,1
    - Dst: ec_is_infty
      Src: /src/relic/src/cp/relic_cp_ecdsa.c:183,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 6
    argNames:
    - r
    - s
    - msg
    - len
    - hash
    - q
    argTypes:
    - bn_t
    - bn_t
    - uint8_t*
    - size_t
    - int
    - ec_t
    constantsTouched: []
    func_position:
      end: 188
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 188
    functionName: cp_ecdsa_ver
    functionSourceFile: /src/relic/src/cp/relic_cp_ecdsa.c
    functionUses: 4
    functionsReached:
    - dv_cmp_sec
    - bn_read_bin
    - bn_cmp
    - bn_mul
    - bn_null
    - bn_mod
    - ec_get_x
    - RLC_MIN
    - bn_mod_inv
    - ec_curve_get_ord
    - bn_sign
    - bn_new
    - bn_is_zero
    - md_map
    - ec_is_infty
    - bn_rsh
    - ec_on_curve
    - RLC_CEIL
    - ec_null
    - bn_bits
    - ec_new
    - ec_mul_sim_gen
    linkageType: ''
    returnType: int
    signature: "int cp_ecdsa_ver(const bn_t r, const bn_t s, const uint8_t *msg, size_t
      len,\n\t\tint hash, const ec_t q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep2_map.c:72,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep2_map.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - t
    - k
    argTypes:
    - fp2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: fp2_sgn0
    functionSourceFile: /src/relic/src/epx/relic_ep2_map.c
    functionUses: 0
    functionsReached:
    - fp_prime_back
    linkageType: ''
    returnType: int
    signature: int fp2_sgn0(const fp2_t t, bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_map.c:100,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:101,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:102,1
    - Dst: if
      Src: /src/relic/src/epx/relic_ep2_map.c:105,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_map.c:106,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_map.c:109,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:110,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:111,1
    - Dst: fp2_sgn0
      Src: /src/relic/src/epx/relic_ep2_map.c:130,1
    - Dst: map_fn
      Src: /src/relic/src/epx/relic_ep2_map.c:132,1
    - Dst: fp2_sgn0
      Src: /src/relic/src/epx/relic_ep2_map.c:134,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_map.c:135,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_map.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p
    - r
    - len
    argTypes:
    - ep2_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 137
    functionName: ep2_map_from_field
    functionSourceFile: /src/relic/src/epx/relic_ep2_map.c
    functionUses: 1
    functionsReached:
    - fp2_sgn0
    - map_fn
    - bn_null
    - fp2_copy_sec
    - RLC_THROW
    - if
    - fp2_neg
    - fp2_null
    - bn_new
    - ep2_new
    - ep2_null
    - fp2_new
    linkageType: ''
    returnType: void
    signature: void ep2_map_from_field(ep2_t p, const uint8_t *r, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_map.c:181,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:182,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_map.c:185,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:186,1
    - Dst: md_map
      Src: /src/relic/src/epx/relic_ep2_map.c:188,1
    - Dst: bn_read_bin
      Src: /src/relic/src/epx/relic_ep2_map.c:189,1
    - Dst: RLC_MIN
      Src: /src/relic/src/epx/relic_ep2_map.c:189,1
    - Dst: fp2_zero
      Src: /src/relic/src/epx/relic_ep2_map.c:191,1
    - Dst: fp_prime_conv
      Src: /src/relic/src/epx/relic_ep2_map.c:192,1
    - Dst: fp2_set_dig
      Src: /src/relic/src/epx/relic_ep2_map.c:193,1
    - Dst: ep2_rhs
      Src: /src/relic/src/epx/relic_ep2_map.c:196,1
    - Dst: fp2_is_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:198,1
    - Dst: fp2_srt
      Src: /src/relic/src/epx/relic_ep2_map.c:199,1
    - Dst: fp2_add_dig
      Src: /src/relic/src/epx/relic_ep2_map.c:204,1
    - Dst: ep2_mul_cof
      Src: /src/relic/src/epx/relic_ep2_map.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - p
    - msg
    - len
    argTypes:
    - ep2_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 208
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 208
    functionName: ep2_map_basic
    functionSourceFile: /src/relic/src/epx/relic_ep2_map.c
    functionUses: 1
    functionsReached:
    - fp2_add_dig
    - ep2_mul_cof
    - ep2_rhs
    - bn_null
    - fp2_set_dig
    - fp2_srt
    - bn_read_bin
    - fp_prime_conv
    - fp2_null
    - fp2_is_sqr
    - bn_new
    - fp2_zero
    - RLC_MIN
    - md_map
    - fp2_new
    linkageType: ''
    returnType: void
    signature: void ep2_map_basic(ep2_t p, const uint8_t *msg, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/relic/src/epx/relic_ep2_map.c:228,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_map.c:229,1
    - Dst: md_xmd
      Src: /src/relic/src/epx/relic_ep2_map.c:233,1
    - Dst: ep2_map_from_field
      Src: /src/relic/src/epx/relic_ep2_map.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - msg
    - len
    argTypes:
    - ep2_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: ep2_map_sswum
    functionSourceFile: /src/relic/src/epx/relic_ep2_map.c
    functionUses: 1
    functionsReached:
    - RLC_THROW
    - ep2_map_from_field
    - if
    - md_xmd
    linkageType: ''
    returnType: void
    signature: void ep2_map_sswum(ep2_t p, const uint8_t *msg, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_map.c:253,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_map.c:257,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:258,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:259,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:260,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:261,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:262,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:263,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:264,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:265,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:266,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:267,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:268,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:269,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:270,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_map.c:271,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_map.c:274,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:275,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:276,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:277,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:278,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:279,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:280,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:281,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:282,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:283,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:284,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:285,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:286,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:287,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_map.c:288,1
    - Dst: md_xmd
      Src: /src/relic/src/epx/relic_ep2_map.c:290,1
    - Dst: bn_read_bin
      Src: /src/relic/src/epx/relic_ep2_map.c:293,1
    - Dst: fp_prime_conv
      Src: /src/relic/src/epx/relic_ep2_map.c:294,1
    - Dst: bn_read_bin
      Src: /src/relic/src/epx/relic_ep2_map.c:296,1
    - Dst: fp_prime_conv
      Src: /src/relic/src/epx/relic_ep2_map.c:297,1
    - Dst: ep2_curve_opt_b
      Src: /src/relic/src/epx/relic_ep2_map.c:303,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:304,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:305,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:306,1
    - Dst: ep2_curve_opt_a
      Src: /src/relic/src/epx/relic_ep2_map.c:307,1
    - Dst: fp2_add_dig
      Src: /src/relic/src/epx/relic_ep2_map.c:308,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:310,1
    - Dst: ep2_curve_get_a
      Src: /src/relic/src/epx/relic_ep2_map.c:310,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:311,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:312,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:313,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:314,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:316,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:318,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:319,1
    - Dst: fp2_mul_dig
      Src: /src/relic/src/epx/relic_ep2_map.c:320,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:321,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:322,1
    - Dst: fp_sub_dig
      Src: /src/relic/src/epx/relic_ep2_map.c:324,1
    - Dst: fp_hlv
      Src: /src/relic/src/epx/relic_ep2_map.c:325,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:327,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:328,1
    - Dst: ep2_curve_opt_a
      Src: /src/relic/src/epx/relic_ep2_map.c:329,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:330,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:331,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:333,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:335,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:336,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:337,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:339,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:340,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:341,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:342,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:343,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:344,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:345,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_map.c:346,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:347,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:348,1
    - Dst: ep_curve_opt_a
      Src: /src/relic/src/epx/relic_ep2_map.c:349,1
    - Dst: fp2_sub_dig
      Src: /src/relic/src/epx/relic_ep2_map.c:350,1
    - Dst: fp2_sub
      Src: /src/relic/src/epx/relic_ep2_map.c:352,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:354,1
    - Dst: fp2_mul_dig
      Src: /src/relic/src/epx/relic_ep2_map.c:355,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:356,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_map.c:357,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:358,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:359,1
    - Dst: fp2_is_zero
      Src: /src/relic/src/epx/relic_ep2_map.c:361,1
    - Dst: fp2_is_zero
      Src: /src/relic/src/epx/relic_ep2_map.c:361,1
    - Dst: fp2_is_zero
      Src: /src/relic/src/epx/relic_ep2_map.c:361,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_map.c:362,1
    - Dst: fp2_inv_sim
      Src: /src/relic/src/epx/relic_ep2_map.c:364,1
    - Dst: ep2_curve_opt_a
      Src: /src/relic/src/epx/relic_ep2_map.c:365,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:366,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:367,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:368,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:369,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:370,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:371,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:372,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:374,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:375,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:376,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:378,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:379,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:380,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:381,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:382,1
    - Dst: ep2_curve_opt_a
      Src: /src/relic/src/epx/relic_ep2_map.c:384,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:385,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:386,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:387,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:389,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:390,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:391,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:393,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:394,1
    - Dst: fp2_sub
      Src: /src/relic/src/epx/relic_ep2_map.c:395,1
    - Dst: fp2_sub
      Src: /src/relic/src/epx/relic_ep2_map.c:396,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:397,1
    - Dst: ep2_curve_opt_a
      Src: /src/relic/src/epx/relic_ep2_map.c:398,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:399,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:400,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:401,1
    - Dst: fp2_set_dig
      Src: /src/relic/src/epx/relic_ep2_map.c:402,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:403,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:405,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:406,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:408,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:409,1
    - Dst: fp2_sub
      Src: /src/relic/src/epx/relic_ep2_map.c:410,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:411,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:413,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:414,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:415,1
    - Dst: ep2_rhs
      Src: /src/relic/src/epx/relic_ep2_map.c:417,1
    - Dst: ep2_rhs
      Src: /src/relic/src/epx/relic_ep2_map.c:418,1
    - Dst: ep2_rhs
      Src: /src/relic/src/epx/relic_ep2_map.c:419,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_map.c:424,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_map.c:425,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_map.c:426,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_map.c:427,1
    - Dst: fp2_srt
      Src: /src/relic/src/epx/relic_ep2_map.c:429,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_map.c:430,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_map.c:432,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_map.c:433,1
    - Dst: fp_is_even
      Src: /src/relic/src/epx/relic_ep2_map.c:433,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_map.c:435,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_map.c:436,1
    - Dst: fp2_set_dig
      Src: /src/relic/src/epx/relic_ep2_map.c:437,1
    - Dst: ep2_curve_opt_a
      Src: /src/relic/src/epx/relic_ep2_map.c:441,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_map.c:442,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:445,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:446,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:447,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:448,1
    - Dst: fp2_sub
      Src: /src/relic/src/epx/relic_ep2_map.c:449,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:450,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:451,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_map.c:452,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:453,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:454,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:455,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:456,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:457,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:459,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:460,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:461,1
    - Dst: fp2_sub
      Src: /src/relic/src/epx/relic_ep2_map.c:462,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:463,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:464,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_map.c:465,1
    - Dst: fp2_is_zero
      Src: /src/relic/src/epx/relic_ep2_map.c:467,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_map.c:468,1
    - Dst: fp2_inv
      Src: /src/relic/src/epx/relic_ep2_map.c:470,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:471,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:472,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_map.c:473,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_map.c:474,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:475,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_map.c:476,1
    - Dst: ep2_rhs
      Src: /src/relic/src/epx/relic_ep2_map.c:478,1
    - Dst: ep2_rhs
      Src: /src/relic/src/epx/relic_ep2_map.c:479,1
    - Dst: ep2_rhs
      Src: /src/relic/src/epx/relic_ep2_map.c:480,1
    - Dst: fp2_is_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:482,1
    - Dst: fp2_is_sqr
      Src: /src/relic/src/epx/relic_ep2_map.c:483,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_map.c:485,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_map.c:486,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_map.c:487,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_map.c:488,1
    - Dst: fp2_srt
      Src: /src/relic/src/epx/relic_ep2_map.c:490,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_map.c:491,1
    - Dst: fp_is_zero
      Src: /src/relic/src/epx/relic_ep2_map.c:494,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep2_map.c:495,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep2_map.c:496,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep2_map.c:497,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep2_map.c:498,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_map.c:502,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_map.c:503,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_map.c:505,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_map.c:506,1
    - Dst: fp2_set_dig
      Src: /src/relic/src/epx/relic_ep2_map.c:507,1
    - Dst: ep2_mul_cof
      Src: /src/relic/src/epx/relic_ep2_map.c:512,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 227
    argCount: 3
    argNames:
    - p
    - msg
    - len
    argTypes:
    - ep2_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 513
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 513
    functionName: ep2_map_swift
    functionSourceFile: /src/relic/src/epx/relic_ep2_map.c
    functionUses: 1
    functionsReached:
    - fp2_add
    - bn_read_bin
    - fp_mul
    - fp2_null
    - fp2_dbl
    - ep2_set_infty
    - fp2_sub_dig
    - md_xmd
    - fp2_inv
    - fp_prime_back
    - ep2_rhs
    - bn_null
    - RLC_THROW
    - fp2_is_sqr
    - ep_curve_opt_a
    - ep2_mul_cof
    - fp2_sqr
    - fp2_copy_sec
    - fp2_mul_dig
    - ep2_curve_get_a
    - fp_sub_dig
    - fp_hlv
    - fp2_set_dig
    - bn_new
    - fp2_sub
    - fp_is_even
    - core_get
    - fp2_is_zero
    - fp2_add_dig
    - bn_get_bit
    - fp2_srt
    - fp_prime_conv
    - fp2_neg
    - fp2_inv_sim
    - fp_is_zero
    - fp2_mul
    - ep2_curve_opt_a
    - fp2_copy
    - ep2_curve_opt_b
    - fp2_new
    linkageType: ''
    returnType: void
    signature: void ep2_map_swift(ep2_t p, const uint8_t *msg, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_frb.c:40,1
    - Dst: fp4_frb
      Src: /src/relic/src/epx/relic_ep4_frb.c:42,1
    - Dst: fp4_frb
      Src: /src/relic/src/epx/relic_ep4_frb.c:43,1
    - Dst: fp4_frb
      Src: /src/relic/src/epx/relic_ep4_frb.c:44,1
    - Dst: fp4_mul_frb
      Src: /src/relic/src/epx/relic_ep4_frb.c:45,1
    - Dst: fp4_mul_frb
      Src: /src/relic/src/epx/relic_ep4_frb.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - r
    - p
    - i
    argTypes:
    - ep4_t
    - ep4_t
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: ep4_frb
    functionSourceFile: /src/relic/src/epx/relic_ep4_frb.c
    functionUses: 1
    functionsReached:
    - ep4_copy
    - fp4_mul_frb
    - fp4_frb
    linkageType: ''
    returnType: void
    signature: void ep4_frb(ep4_t r, const ep4_t p, int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_frb.c:40,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_frb.c:42,1
    - Dst: fp3_frb
      Src: /src/relic/src/epx/relic_ep3_frb.c:44,1
    - Dst: fp3_frb
      Src: /src/relic/src/epx/relic_ep3_frb.c:45,1
    - Dst: fp3_frb
      Src: /src/relic/src/epx/relic_ep3_frb.c:46,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_frb.c:47,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_frb.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - r
    - p
    - i
    argTypes:
    - ep3_t
    - ep3_t
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: ep3_frb
    functionSourceFile: /src/relic/src/epx/relic_ep3_frb.c
    functionUses: 1
    functionsReached:
    - fp3_frb
    - core_get
    - fp3_mul
    - ep3_copy
    linkageType: ''
    returnType: void
    signature: void ep3_frb(ep3_t r, const ep3_t p, int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_pck.c:42,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_pck.c:43,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_pck.c:46,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_pck.c:47,1
    - Dst: dv_copy
      Src: /src/relic/src/epx/relic_ep2_pck.c:50,1
    - Dst: fp_prime_get
      Src: /src/relic/src/epx/relic_ep2_pck.c:50,1
    - Dst: bn_hlv
      Src: /src/relic/src/epx/relic_ep2_pck.c:51,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep2_pck.c:53,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_pck.c:57,1
    - Dst: fp2_zero
      Src: /src/relic/src/epx/relic_ep2_pck.c:58,1
    - Dst: fp_set_bit
      Src: /src/relic/src/epx/relic_ep2_pck.c:59,1
    - Dst: fp_zero
      Src: /src/relic/src/epx/relic_ep2_pck.c:60,1
    - Dst: fp_set_dig
      Src: /src/relic/src/epx/relic_ep2_pck.c:61,1
    - Dst: fp_zero
      Src: /src/relic/src/epx/relic_ep2_pck.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 64
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 64
    functionName: ep2_pck
    functionSourceFile: /src/relic/src/epx/relic_ep2_pck.c
    functionUses: 1
    functionsReached:
    - dv_copy
    - fp_prime_back
    - fp_set_bit
    - bn_null
    - fp_set_dig
    - bn_hlv
    - fp2_copy
    - bn_new
    - fp2_zero
    - fp_zero
    - fp_prime_get
    linkageType: ''
    returnType: void
    signature: void ep2_pck(ep2_t r, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_pck.c:79,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_pck.c:80,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_pck.c:81,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_pck.c:84,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_pck.c:85,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_pck.c:86,1
    - Dst: ep2_rhs
      Src: /src/relic/src/epx/relic_ep2_pck.c:88,1
    - Dst: fp2_srt
      Src: /src/relic/src/epx/relic_ep2_pck.c:91,1
    - Dst: dv_copy
      Src: /src/relic/src/epx/relic_ep2_pck.c:102,1
    - Dst: fp_prime_get
      Src: /src/relic/src/epx/relic_ep2_pck.c:102,1
    - Dst: bn_hlv
      Src: /src/relic/src/epx/relic_ep2_pck.c:103,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep2_pck.c:105,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_pck.c:107,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep2_pck.c:108,1
    - Dst: fp_get_bit
      Src: /src/relic/src/epx/relic_ep2_pck.c:113,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_pck.c:114,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_pck.c:116,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_pck.c:117,1
    - Dst: fp_set_dig
      Src: /src/relic/src/epx/relic_ep2_pck.c:118,1
    - Dst: fp_zero
      Src: /src/relic/src/epx/relic_ep2_pck.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 122
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 122
    functionName: ep2_upk
    functionSourceFile: /src/relic/src/epx/relic_ep2_pck.c
    functionUses: 1
    functionsReached:
    - dv_copy
    - fp_prime_back
    - ep2_rhs
    - bn_null
    - fp2_srt
    - fp_set_dig
    - fp2_neg
    - bn_hlv
    - fp2_null
    - fp2_copy
    - bn_new
    - fp_zero
    - fp_prime_get
    - fp_get_bit
    - bn_is_zero
    - fp2_new
    linkageType: ''
    returnType: int
    signature: int ep2_upk(ep2_t r, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:49,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:50,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:51,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:54,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:55,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:56,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:58,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:59,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:61,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:62,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul.c:66,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep2_mul.c:67,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul.c:68,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/epx/relic_ep2_mul.c:69,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep2_mul.c:69,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep2_mul.c:73,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul.c:73,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul.c:75,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep2_mul.c:82,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep2_mul.c:83,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul.c:85,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul.c:86,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul.c:87,1
    - Dst: ep2_tab
      Src: /src/relic/src/epx/relic_ep2_mul.c:89,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul.c:92,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul.c:93,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul.c:93,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul.c:94,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:100,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul.c:102,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul.c:106,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul.c:109,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul.c:115,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 116
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 116
    functionName: ep2_mul_gls_imp
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul.c
    functionUses: 0
    functionsReached:
    - ep2_tab
    - bn_rec_frb
    - fp_prime_get_par
    - ep2_set_infty
    - ep2_null
    - bn_null
    - ep2_frb
    - bn_mod
    - ep2_neg
    - ep_curve_is_pairf
    - ep2_new
    - ep2_curve_get_ord
    - bn_sign
    - bn_new
    - ep2_sub
    - ep2_add
    - ep2_norm
    - bn_rec_naf
    - RLC_MAX
    - bn_bits
    - ep2_dbl
    linkageType: ''
    returnType: void
    signature: void ep2_mul_gls_imp(ep2_t r, const ep2_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:141,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:142,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:145,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:146,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:148,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:149,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:150,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:151,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:154,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:155,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul.c:158,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep2_mul.c:159,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul.c:160,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/epx/relic_ep2_mul.c:161,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul.c:162,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul.c:163,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul.c:164,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul.c:165,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul.c:167,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:168,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul.c:168,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep2_mul.c:171,1
    - Dst: bn_add_dig
      Src: /src/relic/src/epx/relic_ep2_mul.c:172,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_mul.c:174,1
    - Dst: util_bits_dig
      Src: /src/relic/src/epx/relic_ep2_mul.c:176,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul.c:177,1
    - Dst: bn_rec_sac
      Src: /src/relic/src/epx/relic_ep2_mul.c:181,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul.c:181,1
    - Dst: ep2_norm_sim
      Src: /src/relic/src/epx/relic_ep2_mul.c:184,1
    - Dst: fp2_set_dig
      Src: /src/relic/src/epx/relic_ep2_mul.c:185,1
    - Dst: fp2_set_dig
      Src: /src/relic/src/epx/relic_ep2_mul.c:186,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:198,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:199,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:201,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul.c:205,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:206,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul.c:208,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:217,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:218,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:220,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul.c:223,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:224,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul.c:225,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul.c:228,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:229,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:230,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:231,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul.c:234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 75
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 235
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 235
    functionName: ep2_mul_reg_gls
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul.c
    functionUses: 0
    functionsReached:
    - ep2_norm_sim
    - bn_rec_frb
    - fp_prime_get_par
    - ep2_null
    - bn_null
    - ep2_frb
    - bn_mod
    - ep2_neg
    - ep2_new
    - ep2_curve_get_ord
    - bn_is_even
    - bn_add_dig
    - fp2_copy_sec
    - fp2_set_dig
    - ep2_copy
    - bn_sign
    - bn_new
    - util_bits_dig
    - ep2_sub
    - bn_rec_sac
    - ep2_add
    - ep2_norm
    - bn_bits
    - ep2_dbl
    linkageType: ''
    returnType: void
    signature: void ep2_mul_reg_gls(ep2_t r, const ep2_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for
      Src: /src/relic/src/epx/relic_ep2_mul.c:265,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:266,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:267,1
    - Dst: ep2_tab
      Src: /src/relic/src/epx/relic_ep2_mul.c:270,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep2_mul.c:274,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:276,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul.c:278,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul.c:282,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul.c:285,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul.c:289,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul.c:290,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul.c:291,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_mul.c:295,1
    - Dst: ep2_free
      Src: /src/relic/src/epx/relic_ep2_mul.c:300,1
    - Dst: defined
      Src: /src/relic/src/epx/relic_ep2_mul.c:307,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/epx/relic_ep2_mul.c:311,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:315,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:318,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:319,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:320,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:323,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:324,1
    - Dst: ep2_tab
      Src: /src/relic/src/epx/relic_ep2_mul.c:327,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul.c:329,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul.c:330,1
    - Dst: bn_abs
      Src: /src/relic/src/epx/relic_ep2_mul.c:333,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/epx/relic_ep2_mul.c:337,1
    - Dst: bn_rec_reg
      Src: /src/relic/src/epx/relic_ep2_mul.c:338,1
    - Dst: fp2_set_dig
      Src: /src/relic/src/epx/relic_ep2_mul.c:341,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:346,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul.c:349,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:357,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:358,1
    - Dst: fp_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:360,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul.c:363,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:364,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul.c:365,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul.c:368,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:369,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep2_mul.c:369,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:370,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep2_mul.c:370,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:371,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep2_mul.c:371,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul.c:373,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul.c:374,1
    - Dst: fp2_copy_sec
      Src: /src/relic/src/epx/relic_ep2_mul.c:375,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul.c:375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 376
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 376
    functionName: ep2_mul_naf_imp
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul.c
    functionUses: 0
    functionsReached:
    - ep2_free
    - ep2_tab
    - fp_copy_sec
    - for
    - ep2_set_infty
    - ep2_null
    - bn_abs
    - bn_rec_reg
    - bn_null
    - RLC_THROW
    - ep2_neg
    - defined
    - ep2_new
    - ep2_curve_get_ord
    - bn_is_even
    - fp2_copy_sec
    - fp2_set_dig
    - bn_sign
    - bn_new
    - ep2_sub
    - ep2_add
    - ep2_norm
    - RLC_CEIL
    - bn_rec_naf
    - ep2_dbl
    - bn_bits
    linkageType: ''
    returnType: void
    signature: void ep2_mul_naf_imp(ep2_t r, const ep2_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:403,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul.c:405,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:405,1
    - Dst: RLC_FREE
      Src: /src/relic/src/epx/relic_ep2_mul.c:406,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:407,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul.c:411,1
    - Dst: ep2_mul_dig
      Src: /src/relic/src/epx/relic_ep2_mul.c:412,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul.c:413,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul.c:414,1
    - Dst: RLC_FREE
      Src: /src/relic/src/epx/relic_ep2_mul.c:416,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:421,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_mul.c:423,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul.c:426,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep2_mul.c:427,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:428,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul.c:430,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul.c:434,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul.c:436,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul.c:440,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul.c:441,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul.c:442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 444
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 444
    functionName: ep2_mul_basic
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul.c
    functionUses: 3
    functionsReached:
    - RLC_FREE
    - ep2_add
    - ep2_norm
    - RLC_THROW
    - ep2_is_infty
    - ep2_mul_dig
    - ep2_neg
    - bn_sign
    - bn_rec_naf
    - bn_bits
    - ep2_set_infty
    - ep2_null
    - ep2_dbl
    - bn_is_zero
    - ep2_sub
    - ep2_new
    linkageType: ''
    returnType: void
    signature: void ep2_mul_basic(ep2_t r, const ep2_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:461,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul.c:463,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:463,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:464,1
    - Dst: for
      Src: /src/relic/src/epx/relic_ep2_mul.c:469,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:470,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:471,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:474,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_mul.c:476,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul.c:477,1
    - Dst: q
      Src: /src/relic/src/epx/relic_ep2_mul.c:480,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul.c:485,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:492,1
    - Dst: bn_rec_slw
      Src: /src/relic/src/epx/relic_ep2_mul.c:494,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul.c:497,1
    - Dst: util_bits_dig
      Src: /src/relic/src/epx/relic_ep2_mul.c:499,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul.c:500,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul.c:502,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul.c:506,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul.c:507,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul.c:508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 510
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 510
    functionName: ep2_mul_slide
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul.c
    functionUses: 1
    functionsReached:
    - bn_rec_slw
    - ep2_add
    - ep2_norm
    - ep2_is_infty
    - q
    - ep2_copy
    - for
    - bn_sign
    - ep2_neg
    - util_bits_dig
    - ep2_dbl
    - ep2_set_infty
    - ep2_null
    - bn_is_zero
    - ep2_new
    linkageType: ''
    returnType: void
    signature: void ep2_mul_slide(ep2_t r, const ep2_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul.c:603,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:603,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:604,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep2_mul.c:609,1
    - Dst: ep2_mul_gls_imp
      Src: /src/relic/src/epx/relic_ep2_mul.c:610,1
    - Dst: ep2_mul_naf_imp
      Src: /src/relic/src/epx/relic_ep2_mul.c:616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 618
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 618
    functionName: ep2_mul_lwnaf
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul.c
    functionUses: 1
    functionsReached:
    - ep2_mul_gls_imp
    - ep2_is_infty
    - ep2_mul_naf_imp
    - ep_curve_is_endom
    - ep2_set_infty
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep2_mul_lwnaf(ep2_t r, const ep2_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul.c:623,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:623,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:624,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep2_mul.c:629,1
    - Dst: ep2_mul_reg_gls
      Src: /src/relic/src/epx/relic_ep2_mul.c:630,1
    - Dst: ep2_mul_reg_imp
      Src: /src/relic/src/epx/relic_ep2_mul.c:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 638
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 638
    functionName: ep2_mul_lwreg
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul.c
    functionUses: 1
    functionsReached:
    - ep2_is_infty
    - ep_curve_is_endom
    - ep2_mul_reg_imp
    - ep2_set_infty
    - ep2_mul_reg_gls
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep2_mul_lwreg(ep2_t r, const ep2_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul.c:641,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:642,1
    - Dst: ep2_mul_fix
      Src: /src/relic/src/epx/relic_ep2_mul.c:647,1
    - Dst: ep2_curve_get_tab
      Src: /src/relic/src/epx/relic_ep2_mul.c:647,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:651,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:654,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/src/epx/relic_ep2_mul.c:655,1
    - Dst: ep2_mul
      Src: /src/relic/src/epx/relic_ep2_mul.c:656,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_mul.c:659,1
    - Dst: ep2_free
      Src: /src/relic/src/epx/relic_ep2_mul.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - r
    - k
    argTypes:
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 665
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 665
    functionName: ep2_mul_gen
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul.c
    functionUses: 2
    functionsReached:
    - ep2_free
    - ep2_mul_fix
    - ep2_curve_get_tab
    - ep2_curve_get_gen
    - RLC_THROW
    - ep2_mul
    - ep2_set_infty
    - ep2_null
    - bn_is_zero
    - ep2_new
    linkageType: ''
    returnType: void
    signature: void ep2_mul_gen(ep2_t r, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:673,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul.c:674,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:676,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul.c:677,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:682,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul.c:683,1
    - Dst: bn_set_dig
      Src: /src/relic/src/epx/relic_ep2_mul.c:685,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep2_mul.c:688,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_mul.c:690,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul.c:692,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul.c:696,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul.c:698,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul.c:702,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep2_t
    - ep2_t
    - dig_t
    constantsTouched: []
    func_position:
      end: 703
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 703
    functionName: ep2_mul_dig
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul.c
    functionUses: 2
    functionsReached:
    - ep2_add
    - bn_null
    - ep2_norm
    - ep2_is_infty
    - ep2_copy
    - bn_rec_naf
    - bn_new
    - bn_set_dig
    - ep2_dbl
    - ep2_set_infty
    - ep2_null
    - ep2_sub
    - ep2_new
    linkageType: ''
    returnType: void
    signature: void ep2_mul_dig(ep2_t r, const ep2_t p, const dig_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_curve.c:178,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:181,1
    - Dst: fp3_set_dig
      Src: /src/relic/src/epx/relic_ep3_curve.c:182,1
    - Dst: fp3_neg
      Src: /src/relic/src/epx/relic_ep3_curve.c:183,1
    - Dst: fp3_cmp
      Src: /src/relic/src/epx/relic_ep3_curve.c:185,1
    - Dst: fp3_is_zero
      Src: /src/relic/src/epx/relic_ep3_curve.c:187,1
    - Dst: fp3_cmp_dig
      Src: /src/relic/src/epx/relic_ep3_curve.c:189,1
    - Dst: fp3_cmp_dig
      Src: /src/relic/src/epx/relic_ep3_curve.c:191,1
    - Dst: fp_bits
      Src: /src/relic/src/epx/relic_ep3_curve.c:193,1
    - Dst: fp_is_zero
      Src: /src/relic/src/epx/relic_ep3_curve.c:193,1
    - Dst: fp_is_zero
      Src: /src/relic/src/epx/relic_ep3_curve.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - opt
    - a
    argTypes:
    - int*
    - fp3_t
    constantsTouched: []
    func_position:
      end: 199
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 199
    functionName: detect_opt
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 1
    functionsReached:
    - fp3_null
    - fp3_is_zero
    - fp3_cmp_dig
    - fp3_neg
    - fp_is_zero
    - fp_bits
    - fp3_set_dig
    - fp3_new
    - fp3_cmp
    linkageType: ''
    returnType: void
    signature: void detect_opt(int *opt, fp3_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:213,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:222,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:223,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:224,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:225,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:226,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:227,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:233,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:234,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:235,1
    - Dst: bn_make
      Src: /src/relic/src/epx/relic_ep3_curve.c:239,1
    - Dst: bn_make
      Src: /src/relic/src/epx/relic_ep3_curve.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 241
    functionName: ep3_curve_init
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 0
    functionsReached:
    - bn_make
    - fp3_new
    - core_get
    - ep3_new
    linkageType: ''
    returnType: void
    signature: void ep3_curve_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:244,1
    - Dst: fp3_free
      Src: /src/relic/src/epx/relic_ep3_curve.c:248,1
    - Dst: fp3_free
      Src: /src/relic/src/epx/relic_ep3_curve.c:249,1
    - Dst: fp3_free
      Src: /src/relic/src/epx/relic_ep3_curve.c:250,1
    - Dst: bn_clean
      Src: /src/relic/src/epx/relic_ep3_curve.c:253,1
    - Dst: bn_clean
      Src: /src/relic/src/epx/relic_ep3_curve.c:254,1
    - Dst: ep3_free
      Src: /src/relic/src/epx/relic_ep3_curve.c:255,1
    - Dst: fp3_free
      Src: /src/relic/src/epx/relic_ep3_curve.c:256,1
    - Dst: fp3_free
      Src: /src/relic/src/epx/relic_ep3_curve.c:257,1
    - Dst: fp3_free
      Src: /src/relic/src/epx/relic_ep3_curve.c:258,1
    - Dst: fp3_free
      Src: /src/relic/src/epx/relic_ep3_curve.c:259,1
    - Dst: fp3_free
      Src: /src/relic/src/epx/relic_ep3_curve.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 262
    functionName: ep3_curve_clean
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 0
    functionsReached:
    - bn_clean
    - ep3_free
    - core_get
    - fp3_free
    linkageType: ''
    returnType: void
    signature: void ep3_curve_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: ep3_curve_opt_a
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 0
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep3_curve_opt_a(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: ep3_curve_opt_b
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 0
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep3_curve_opt_b(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:273,1
    - Dst: fp3_zero
      Src: /src/relic/src/epx/relic_ep3_curve.c:276,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:279,1
    - Dst: fp3_dbl
      Src: /src/relic/src/epx/relic_ep3_curve.c:282,1
    - Dst: fp3_mul_dig
      Src: /src/relic/src/epx/relic_ep3_curve.c:286,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_curve.c:290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 293
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 293
    functionName: ep3_curve_mul_a
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 0
    functionsReached:
    - fp3_copy
    - fp3_dbl
    - fp3_mul
    - fp3_zero
    - fp3_mul_dig
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep3_curve_mul_a(fp3_t c, const fp3_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:296,1
    - Dst: fp3_zero
      Src: /src/relic/src/epx/relic_ep3_curve.c:299,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:302,1
    - Dst: fp3_mul_dig
      Src: /src/relic/src/epx/relic_ep3_curve.c:306,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_curve.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 313
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 313
    functionName: ep3_curve_mul_b
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 0
    functionsReached:
    - fp3_copy
    - fp3_mul
    - fp3_zero
    - fp3_mul_dig
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep3_curve_mul_b(fp3_t c, const fp3_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: ep3_curve_is_twist
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep3_curve_is_twist(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:320,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - ep3_t
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: ep3_curve_get_gen
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 3
    functionsReached:
    - core_get
    - ep3_copy
    linkageType: ''
    returnType: void
    signature: void ep3_curve_get_gen(ep3_t g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: ep3_curve_get_a
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 0
    functionsReached:
    - core_get
    linkageType: ''
    returnType: fp_t
    signature: fp_t *ep3_curve_get_a(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: ep3_curve_get_b
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 0
    functionsReached:
    - core_get
    linkageType: ''
    returnType: fp_t
    signature: fp_t *ep3_curve_get_b(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:332,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_curve.c:334,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - bn_t
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: ep3_curve_get_ord
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 5
    functionsReached:
    - bn_copy
    - core_get
    - ep_curve_get_ord
    linkageType: ''
    returnType: void
    signature: void ep3_curve_get_ord(bn_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:341,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - bn_t
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: ep3_curve_get_cof
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 0
    functionsReached:
    - core_get
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void ep3_curve_get_cof(bn_t h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:348,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: ep3_curve_get_tab
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 0
    functionsReached:
    - core_get
    linkageType: ''
    returnType: ep3_t
    signature: ep3_t *ep3_curve_get_tab(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:358,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_curve.c:364,1
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_curve.c:365,1
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_curve.c:366,1
    - Dst: fp18_null
      Src: /src/relic/src/epx/relic_ep3_curve.c:367,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_curve.c:368,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_curve.c:369,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:379,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:380,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:381,1
    - Dst: fp18_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:382,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:383,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_curve.c:384,1
    - Dst: ep_param_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:386,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep3_curve.c:389,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep3_curve.c:393,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep3_curve.c:397,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep3_curve.c:400,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep3_curve.c:404,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep3_curve.c:409,1
    - Dst: fp3_zero
      Src: /src/relic/src/epx/relic_ep3_curve.c:413,1
    - Dst: fp3_set_dig
      Src: /src/relic/src/epx/relic_ep3_curve.c:414,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:417,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:418,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:419,1
    - Dst: detect_opt
      Src: /src/relic/src/epx/relic_ep3_curve.c:421,1
    - Dst: detect_opt
      Src: /src/relic/src/epx/relic_ep3_curve.c:422,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:424,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:425,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:427,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:428,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:429,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:430,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:431,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:432,1
    - Dst: fp3_inv
      Src: /src/relic/src/epx/relic_ep3_curve.c:434,1
    - Dst: fp3_inv
      Src: /src/relic/src/epx/relic_ep3_curve.c:435,1
    - Dst: fp3_mul_art
      Src: /src/relic/src/epx/relic_ep3_curve.c:437,1
    - Dst: fp18_zero
      Src: /src/relic/src/epx/relic_ep3_curve.c:440,1
    - Dst: fp9_set_dig
      Src: /src/relic/src/epx/relic_ep3_curve.c:441,1
    - Dst: fp18_inv
      Src: /src/relic/src/epx/relic_ep3_curve.c:442,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:443,1
    - Dst: pc_core_calc
      Src: /src/relic/src/epx/relic_ep3_curve.c:447,1
    - Dst: ep3_mul_pre
      Src: /src/relic/src/epx/relic_ep3_curve.c:451,1
    - Dst: ep3_curve_get_tab
      Src: /src/relic/src/epx/relic_ep3_curve.c:451,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 68
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 453
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 453
    functionName: ep3_curve_set_twist
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - ep3_curve_get_tab
    - ep3_mul_pre
    - fp9_set_dig
    - fp3_null
    - bn_null
    - ep3_new
    - RLC_THROW
    - fp18_new
    - fp3_mul_art
    - ASSIGN
    - fp3_set_dig
    - ep3_copy
    - fp_copy
    - fp18_inv
    - fp3_copy
    - pc_core_calc
    - bn_new
    - fp3_new
    - core_get
    - fp18_null
    - fp18_zero
    - ep_param_get
    - fp3_inv
    - fp3_zero
    - detect_opt
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void ep3_curve_set_twist(int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_curve.c:468,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:471,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:472,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_curve.c:474,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:475,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep3_curve.c:476,1
    - Dst: ep3_mul_pre
      Src: /src/relic/src/epx/relic_ep3_curve.c:479,1
    - Dst: ep3_curve_get_tab
      Src: /src/relic/src/epx/relic_ep3_curve.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - a
    - b
    - g
    - r
    - h
    argTypes:
    - fp3_t
    - fp3_t
    - ep3_t
    - bn_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 481
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 481
    functionName: ep3_curve_set
    functionSourceFile: /src/relic/src/epx/relic_ep3_curve.c
    functionUses: 0
    functionsReached:
    - fp3_copy
    - ep3_curve_get_tab
    - ep3_norm
    - ep3_mul_pre
    - core_get
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void ep3_curve_set(const fp3_t a, const fp3_t b, const ep3_t g, const
      bn_t r, const bn_t h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:49,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:50,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:51,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:54,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:55,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:56,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:58,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:59,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:61,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:62,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/src/epx/relic_ep8_mul.c:66,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep8_mul.c:67,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep8_mul.c:68,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/epx/relic_ep8_mul.c:69,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep8_mul.c:69,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep8_mul.c:73,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul.c:73,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul.c:75,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep8_mul.c:82,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep8_mul.c:83,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul.c:85,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul.c:86,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul.c:87,1
    - Dst: ep8_tab
      Src: /src/relic/src/epx/relic_ep8_mul.c:89,1
    - Dst: ep8_frb
      Src: /src/relic/src/epx/relic_ep8_mul.c:92,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul.c:93,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul.c:93,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul.c:94,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:100,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul.c:102,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul.c:106,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul.c:109,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul.c:115,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep8_t
    - ep8_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 116
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 116
    functionName: ep8_mul_gls_imp
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul.c
    functionUses: 0
    functionsReached:
    - bn_rec_frb
    - fp_prime_get_par
    - ep8_null
    - bn_null
    - bn_mod
    - ep8_tab
    - ep8_norm
    - ep_curve_is_pairf
    - ep8_add
    - ep8_dbl
    - ep8_new
    - ep8_neg
    - bn_sign
    - bn_new
    - ep8_curve_get_ord
    - bn_rec_naf
    - ep8_sub
    - RLC_MAX
    - ep8_frb
    - bn_bits
    - ep8_set_infty
    linkageType: ''
    returnType: void
    signature: void ep8_mul_gls_imp(ep8_t r, const ep8_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:143,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:144,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:147,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:148,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:150,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:151,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:152,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:153,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:157,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:158,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/src/epx/relic_ep8_mul.c:162,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep8_mul.c:163,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep8_mul.c:164,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/epx/relic_ep8_mul.c:165,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep8_mul.c:165,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul.c:167,1
    - Dst: ep8_frb
      Src: /src/relic/src/epx/relic_ep8_mul.c:169,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul.c:172,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:173,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul.c:173,1
    - Dst: bn_abs
      Src: /src/relic/src/epx/relic_ep8_mul.c:174,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep8_mul.c:177,1
    - Dst: bn_add_dig
      Src: /src/relic/src/epx/relic_ep8_mul.c:178,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_mul.c:182,1
    - Dst: util_bits_dig
      Src: /src/relic/src/epx/relic_ep8_mul.c:184,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul.c:185,1
    - Dst: bn_rec_sac
      Src: /src/relic/src/epx/relic_ep8_mul.c:188,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul.c:188,1
    - Dst: ep8_norm_sim
      Src: /src/relic/src/epx/relic_ep8_mul.c:193,1
    - Dst: fp8_set_dig
      Src: /src/relic/src/epx/relic_ep8_mul.c:195,1
    - Dst: fp8_set_dig
      Src: /src/relic/src/epx/relic_ep8_mul.c:196,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:202,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:210,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:211,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:213,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul.c:216,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:217,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul.c:218,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul.c:222,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:232,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:233,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:235,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul.c:238,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:239,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul.c:240,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul.c:245,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:246,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:247,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:248,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul.c:252,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 91
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep8_t
    - ep8_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 253
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 253
    functionName: ep8_mul_reg_gls
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul.c
    functionUses: 0
    functionsReached:
    - bn_rec_frb
    - fp_prime_get_par
    - ep8_null
    - bn_abs
    - bn_null
    - bn_mod
    - ep8_norm_sim
    - ep8_norm
    - ep_curve_is_pairf
    - ep8_add
    - ep8_dbl
    - ep8_new
    - bn_is_even
    - bn_add_dig
    - fp8_copy_sec
    - ep8_neg
    - bn_sign
    - bn_new
    - util_bits_dig
    - ep8_curve_get_ord
    - bn_rec_sac
    - ep8_sub
    - ep8_frb
    - bn_bits
    - ep8_set_infty
    - ep8_copy
    - fp8_set_dig
    linkageType: ''
    returnType: void
    signature: void ep8_mul_reg_gls(ep8_t r, const ep8_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for
      Src: /src/relic/src/epx/relic_ep8_mul.c:287,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:288,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:289,1
    - Dst: ep8_tab
      Src: /src/relic/src/epx/relic_ep8_mul.c:292,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep8_mul.c:296,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:298,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul.c:300,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul.c:304,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul.c:307,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul.c:311,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul.c:312,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul.c:313,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep8_mul.c:317,1
    - Dst: ep8_free
      Src: /src/relic/src/epx/relic_ep8_mul.c:322,1
    - Dst: defined
      Src: /src/relic/src/epx/relic_ep8_mul.c:329,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/epx/relic_ep8_mul.c:333,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:337,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:340,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:341,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:342,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:345,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:346,1
    - Dst: ep8_tab
      Src: /src/relic/src/epx/relic_ep8_mul.c:349,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/src/epx/relic_ep8_mul.c:351,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul.c:352,1
    - Dst: bn_abs
      Src: /src/relic/src/epx/relic_ep8_mul.c:355,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/epx/relic_ep8_mul.c:359,1
    - Dst: bn_rec_reg
      Src: /src/relic/src/epx/relic_ep8_mul.c:360,1
    - Dst: fp8_set_dig
      Src: /src/relic/src/epx/relic_ep8_mul.c:363,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:368,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul.c:371,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:379,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:380,1
    - Dst: fp_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:382,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul.c:385,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:386,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul.c:387,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul.c:390,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:391,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep8_mul.c:391,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:392,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep8_mul.c:392,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:393,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep8_mul.c:393,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul.c:395,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul.c:396,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_mul.c:397,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul.c:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep8_t
    - ep8_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 398
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 398
    functionName: ep8_mul_naf_imp
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul.c
    functionUses: 0
    functionsReached:
    - fp_copy_sec
    - for
    - ep8_null
    - bn_abs
    - bn_rec_reg
    - bn_null
    - RLC_THROW
    - ep8_tab
    - defined
    - ep8_norm
    - ep8_add
    - ep8_free
    - ep8_dbl
    - ep8_new
    - bn_is_even
    - fp8_copy_sec
    - ep8_neg
    - bn_sign
    - bn_new
    - ep8_curve_get_ord
    - RLC_CEIL
    - bn_rec_naf
    - ep8_sub
    - bn_bits
    - ep8_set_infty
    - fp8_set_dig
    linkageType: ''
    returnType: void
    signature: void ep8_mul_naf_imp(ep8_t r, const ep8_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:425,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul.c:427,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:427,1
    - Dst: RLC_FREE
      Src: /src/relic/src/epx/relic_ep8_mul.c:428,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:429,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul.c:433,1
    - Dst: ep8_mul_dig
      Src: /src/relic/src/epx/relic_ep8_mul.c:434,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul.c:435,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul.c:436,1
    - Dst: RLC_FREE
      Src: /src/relic/src/epx/relic_ep8_mul.c:438,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:443,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep8_mul.c:445,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul.c:448,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep8_mul.c:449,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:450,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul.c:452,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul.c:456,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul.c:458,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul.c:462,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul.c:463,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul.c:464,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep8_t
    - ep8_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 466
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 466
    functionName: ep8_mul_basic
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul.c
    functionUses: 2
    functionsReached:
    - ep8_new
    - RLC_FREE
    - RLC_THROW
    - ep8_dbl
    - ep8_neg
    - bn_sign
    - bn_rec_naf
    - ep8_sub
    - ep8_is_infty
    - ep8_norm
    - bn_bits
    - ep8_add
    - ep8_mul_dig
    - bn_is_zero
    - ep8_set_infty
    - ep8_null
    linkageType: ''
    returnType: void
    signature: void ep8_mul_basic(ep8_t r, const ep8_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:483,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul.c:485,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:485,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:486,1
    - Dst: for
      Src: /src/relic/src/epx/relic_ep8_mul.c:491,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:492,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:493,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:496,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_mul.c:498,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul.c:499,1
    - Dst: q
      Src: /src/relic/src/epx/relic_ep8_mul.c:502,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul.c:507,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:514,1
    - Dst: bn_rec_slw
      Src: /src/relic/src/epx/relic_ep8_mul.c:516,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul.c:519,1
    - Dst: util_bits_dig
      Src: /src/relic/src/epx/relic_ep8_mul.c:521,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul.c:522,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul.c:524,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul.c:528,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul.c:529,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul.c:530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep8_t
    - ep8_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 532
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 532
    functionName: ep8_mul_slide
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul.c
    functionUses: 1
    functionsReached:
    - ep8_new
    - bn_rec_slw
    - ep8_dbl
    - ep8_neg
    - q
    - for
    - bn_sign
    - util_bits_dig
    - ep8_is_infty
    - ep8_norm
    - ep8_add
    - bn_is_zero
    - ep8_set_infty
    - ep8_copy
    - ep8_null
    linkageType: ''
    returnType: void
    signature: void ep8_mul_slide(ep8_t r, const ep8_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul.c:631,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:631,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:632,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep8_mul.c:637,1
    - Dst: ep8_mul_gls_imp
      Src: /src/relic/src/epx/relic_ep8_mul.c:638,1
    - Dst: ep8_mul_naf_imp
      Src: /src/relic/src/epx/relic_ep8_mul.c:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep8_t
    - ep8_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 646
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 646
    functionName: ep8_mul_lwnaf
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul.c
    functionUses: 1
    functionsReached:
    - ep8_is_infty
    - ep_curve_is_endom
    - ep8_mul_naf_imp
    - bn_is_zero
    - ep8_set_infty
    - ep8_mul_gls_imp
    linkageType: ''
    returnType: void
    signature: void ep8_mul_lwnaf(ep8_t r, const ep8_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul.c:653,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:653,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:654,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep8_mul.c:659,1
    - Dst: ep8_mul_reg_gls
      Src: /src/relic/src/epx/relic_ep8_mul.c:660,1
    - Dst: ep8_mul_reg_imp
      Src: /src/relic/src/epx/relic_ep8_mul.c:666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep8_t
    - ep8_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 668
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 668
    functionName: ep8_mul_lwreg
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul.c
    functionUses: 1
    functionsReached:
    - ep8_mul_reg_gls
    - ep8_is_infty
    - ep8_mul_reg_imp
    - ep_curve_is_endom
    - bn_is_zero
    - ep8_set_infty
    linkageType: ''
    returnType: void
    signature: void ep8_mul_lwreg(ep8_t r, const ep8_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul.c:673,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:674,1
    - Dst: ep8_mul_fix
      Src: /src/relic/src/epx/relic_ep8_mul.c:679,1
    - Dst: ep8_curve_get_tab
      Src: /src/relic/src/epx/relic_ep8_mul.c:679,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:683,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:686,1
    - Dst: ep8_curve_get_gen
      Src: /src/relic/src/epx/relic_ep8_mul.c:687,1
    - Dst: ep8_mul
      Src: /src/relic/src/epx/relic_ep8_mul.c:688,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep8_mul.c:691,1
    - Dst: ep8_free
      Src: /src/relic/src/epx/relic_ep8_mul.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - r
    - k
    argTypes:
    - ep8_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 697
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 697
    functionName: ep8_mul_gen
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul.c
    functionUses: 2
    functionsReached:
    - ep8_mul
    - ep8_new
    - ep8_curve_get_tab
    - RLC_THROW
    - ep8_curve_get_gen
    - ep8_mul_fix
    - bn_is_zero
    - ep8_set_infty
    - ep8_free
    - ep8_null
    linkageType: ''
    returnType: void
    signature: void ep8_mul_gen(ep8_t r, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:705,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul.c:706,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:708,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul.c:709,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:714,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul.c:715,1
    - Dst: bn_set_dig
      Src: /src/relic/src/epx/relic_ep8_mul.c:717,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep8_mul.c:720,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_mul.c:722,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul.c:724,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul.c:728,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul.c:730,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul.c:734,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep8_t
    - ep8_t
    - dig_t
    constantsTouched: []
    func_position:
      end: 735
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 735
    functionName: ep8_mul_dig
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul.c
    functionUses: 2
    functionsReached:
    - ep8_new
    - bn_null
    - ep8_dbl
    - bn_rec_naf
    - ep8_sub
    - bn_new
    - ep8_is_infty
    - ep8_norm
    - bn_set_dig
    - ep8_add
    - ep8_set_infty
    - ep8_copy
    - ep8_null
    linkageType: ''
    returnType: void
    signature: void ep8_mul_dig(ep8_t r, const ep8_t p, const dig_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_neg.c:40,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_neg.c:41,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_neg.c:46,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_neg.c:47,1
    - Dst: fp8_neg
      Src: /src/relic/src/epx/relic_ep8_neg.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: ep8_neg
    functionSourceFile: /src/relic/src/epx/relic_ep8_neg.c
    functionUses: 10
    functionsReached:
    - fp8_copy
    - fp8_neg
    - ep8_is_infty
    - ep8_set_infty
    linkageType: ''
    returnType: void
    signature: void ep8_neg(ep8_t r, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_map.c:45,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_map.c:48,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:49,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:50,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:51,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:52,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:53,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:54,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:55,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:56,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:57,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:58,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:59,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:60,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:61,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:62,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_map.c:63,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_map.c:66,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:67,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:68,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:69,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:70,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:71,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:72,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:73,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:74,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:75,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:76,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:77,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:78,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:79,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:80,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_map.c:81,1
    - Dst: md_xmd
      Src: /src/relic/src/epx/relic_ep4_map.c:83,1
    - Dst: bn_read_bin
      Src: /src/relic/src/epx/relic_ep4_map.c:86,1
    - Dst: fp_prime_conv
      Src: /src/relic/src/epx/relic_ep4_map.c:87,1
    - Dst: bn_read_bin
      Src: /src/relic/src/epx/relic_ep4_map.c:89,1
    - Dst: fp_prime_conv
      Src: /src/relic/src/epx/relic_ep4_map.c:90,1
    - Dst: ep_curve_opt_b
      Src: /src/relic/src/epx/relic_ep4_map.c:97,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:98,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:99,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:100,1
    - Dst: fp4_dbl
      Src: /src/relic/src/epx/relic_ep4_map.c:101,1
    - Dst: ep4_curve_get_a
      Src: /src/relic/src/epx/relic_ep4_map.c:101,1
    - Dst: fp4_dbl
      Src: /src/relic/src/epx/relic_ep4_map.c:102,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:103,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:104,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:105,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:106,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:108,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:109,1
    - Dst: fp4_mul_dig
      Src: /src/relic/src/epx/relic_ep4_map.c:110,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:111,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_map.c:111,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:112,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_map.c:112,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:113,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_map.c:113,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:114,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_map.c:114,1
    - Dst: fp4_zero
      Src: /src/relic/src/epx/relic_ep4_map.c:116,1
    - Dst: fp_sub_dig
      Src: /src/relic/src/epx/relic_ep4_map.c:117,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_map.c:117,1
    - Dst: fp_hlv
      Src: /src/relic/src/epx/relic_ep4_map.c:118,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:120,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:121,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:122,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:123,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:124,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:125,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:126,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:127,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:129,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:130,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:131,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_map.c:131,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:132,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_map.c:132,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:133,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_map.c:133,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:134,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_map.c:134,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:135,1
    - Dst: fp4_dbl
      Src: /src/relic/src/epx/relic_ep4_map.c:136,1
    - Dst: fp4_neg
      Src: /src/relic/src/epx/relic_ep4_map.c:137,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:138,1
    - Dst: fp4_sub
      Src: /src/relic/src/epx/relic_ep4_map.c:139,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:140,1
    - Dst: fp4_mul_dig
      Src: /src/relic/src/epx/relic_ep4_map.c:141,1
    - Dst: fp4_dbl
      Src: /src/relic/src/epx/relic_ep4_map.c:142,1
    - Dst: fp4_neg
      Src: /src/relic/src/epx/relic_ep4_map.c:143,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:144,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:145,1
    - Dst: fp4_is_zero
      Src: /src/relic/src/epx/relic_ep4_map.c:147,1
    - Dst: fp4_is_zero
      Src: /src/relic/src/epx/relic_ep4_map.c:147,1
    - Dst: fp4_is_zero
      Src: /src/relic/src/epx/relic_ep4_map.c:147,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_map.c:148,1
    - Dst: fp4_inv_sim
      Src: /src/relic/src/epx/relic_ep4_map.c:150,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:151,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:152,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:153,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:154,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:155,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:156,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:157,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:158,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:159,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:160,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:161,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:162,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:163,1
    - Dst: fp4_dbl
      Src: /src/relic/src/epx/relic_ep4_map.c:164,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:165,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:166,1
    - Dst: fp4_sub
      Src: /src/relic/src/epx/relic_ep4_map.c:167,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:168,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:169,1
    - Dst: fp4_sub
      Src: /src/relic/src/epx/relic_ep4_map.c:170,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:171,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:172,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:173,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:174,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:176,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:177,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:178,1
    - Dst: ep4_rhs
      Src: /src/relic/src/epx/relic_ep4_map.c:180,1
    - Dst: ep4_rhs
      Src: /src/relic/src/epx/relic_ep4_map.c:181,1
    - Dst: ep4_rhs
      Src: /src/relic/src/epx/relic_ep4_map.c:182,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_map.c:187,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_map.c:188,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_map.c:189,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_map.c:190,1
    - Dst: fp4_srt
      Src: /src/relic/src/epx/relic_ep4_map.c:192,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_map.c:193,1
    - Dst: fp4_neg
      Src: /src/relic/src/epx/relic_ep4_map.c:195,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_map.c:196,1
    - Dst: fp_is_even
      Src: /src/relic/src/epx/relic_ep4_map.c:196,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_map.c:198,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_map.c:199,1
    - Dst: fp4_set_dig
      Src: /src/relic/src/epx/relic_ep4_map.c:200,1
    - Dst: ep_curve_opt_a
      Src: /src/relic/src/epx/relic_ep4_map.c:204,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:205,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:206,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:207,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:208,1
    - Dst: fp4_sub
      Src: /src/relic/src/epx/relic_ep4_map.c:209,1
    - Dst: fp4_dbl
      Src: /src/relic/src/epx/relic_ep4_map.c:210,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:211,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_map.c:212,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:213,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:214,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:215,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:216,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:217,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:218,1
    - Dst: fp4_dbl
      Src: /src/relic/src/epx/relic_ep4_map.c:219,1
    - Dst: fp4_dbl
      Src: /src/relic/src/epx/relic_ep4_map.c:221,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:222,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:223,1
    - Dst: fp4_sub
      Src: /src/relic/src/epx/relic_ep4_map.c:224,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:225,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:226,1
    - Dst: fp4_dbl
      Src: /src/relic/src/epx/relic_ep4_map.c:227,1
    - Dst: fp4_is_zero
      Src: /src/relic/src/epx/relic_ep4_map.c:229,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_map.c:230,1
    - Dst: fp4_inv
      Src: /src/relic/src/epx/relic_ep4_map.c:232,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:233,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:234,1
    - Dst: fp4_neg
      Src: /src/relic/src/epx/relic_ep4_map.c:235,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_map.c:236,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:237,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_map.c:238,1
    - Dst: ep4_rhs
      Src: /src/relic/src/epx/relic_ep4_map.c:240,1
    - Dst: ep4_rhs
      Src: /src/relic/src/epx/relic_ep4_map.c:241,1
    - Dst: ep4_rhs
      Src: /src/relic/src/epx/relic_ep4_map.c:242,1
    - Dst: fp4_is_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:244,1
    - Dst: fp4_is_sqr
      Src: /src/relic/src/epx/relic_ep4_map.c:245,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_map.c:247,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_map.c:248,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_map.c:249,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_map.c:250,1
    - Dst: fp4_srt
      Src: /src/relic/src/epx/relic_ep4_map.c:252,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_map.c:253,1
    - Dst: fp_is_zero
      Src: /src/relic/src/epx/relic_ep4_map.c:257,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep4_map.c:258,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep4_map.c:259,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep4_map.c:260,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep4_map.c:261,1
    - Dst: fp2_is_zero
      Src: /src/relic/src/epx/relic_ep4_map.c:266,1
    - Dst: fp4_neg
      Src: /src/relic/src/epx/relic_ep4_map.c:269,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_map.c:270,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_map.c:272,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_map.c:273,1
    - Dst: fp4_set_dig
      Src: /src/relic/src/epx/relic_ep4_map.c:274,1
    - Dst: ep4_mul_cof
      Src: /src/relic/src/epx/relic_ep4_map.c:280,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 203
    argCount: 3
    argNames:
    - p
    - msg
    - len
    argTypes:
    - ep4_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 281
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 281
    functionName: ep4_map
    functionSourceFile: /src/relic/src/epx/relic_ep4_map.c
    functionUses: 1
    functionsReached:
    - bn_read_bin
    - fp_mul
    - ep4_set_infty
    - fp4_add
    - fp4_inv
    - fp4_new
    - md_xmd
    - fp4_sub
    - fp_prime_back
    - bn_null
    - RLC_THROW
    - ep_curve_opt_b
    - fp4_is_sqr
    - ep_curve_opt_a
    - fp4_sqr
    - fp4_set_dig
    - fp4_neg
    - ep4_curve_get_a
    - fp_hlv
    - fp_sub_dig
    - fp4_dbl
    - ep4_rhs
    - fp4_inv_sim
    - bn_new
    - fp4_is_zero
    - fp_is_even
    - core_get
    - fp2_is_zero
    - bn_get_bit
    - fp4_mul
    - fp_prime_conv
    - ep4_mul_cof
    - fp_is_zero
    - fp4_zero
    - fp4_copy_sec
    - fp4_srt
    - fp4_copy
    - fp4_null
    - fp4_mul_dig
    linkageType: ''
    returnType: void
    signature: void ep4_map(ep4_t p, const uint8_t *msg, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_neg.c:40,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_neg.c:41,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_neg.c:46,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_neg.c:47,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_neg.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: ep2_neg
    functionSourceFile: /src/relic/src/epx/relic_ep2_neg.c
    functionUses: 10
    functionsReached:
    - fp2_copy
    - ep2_is_infty
    - fp2_neg
    - ep2_set_infty
    linkageType: ''
    returnType: void
    signature: void ep2_neg(ep2_t r, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_norm.c:52,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_norm.c:55,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_norm.c:58,1
    - Dst: fp4_inv
      Src: /src/relic/src/epx/relic_ep4_norm.c:60,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_norm.c:65,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_norm.c:66,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_norm.c:69,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_norm.c:70,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_norm.c:71,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_norm.c:72,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_norm.c:75,1
    - Dst: fp4_set_dig
      Src: /src/relic/src/epx/relic_ep4_norm.c:78,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_norm.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - r
    - p
    - inv
    argTypes:
    - ep4_t
    - ep4_t
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 82
    functionName: ep4_norm_imp
    functionSourceFile: /src/relic/src/epx/relic_ep4_norm.c
    functionUses: 0
    functionsReached:
    - fp4_mul
    - RLC_THROW
    - ep4_copy
    - fp4_set_dig
    - fp4_copy
    - fp4_null
    - fp4_sqr
    - fp4_inv
    - fp4_new
    linkageType: ''
    returnType: void
    signature: void ep4_norm_imp(ep4_t r, const ep4_t p, int inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_norm.c:98,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_norm.c:99,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_norm.c:105,1
    - Dst: ep4_norm_imp
      Src: /src/relic/src/epx/relic_ep4_norm.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: ep4_norm
    functionSourceFile: /src/relic/src/epx/relic_ep4_norm.c
    functionUses: 7
    functionsReached:
    - ep4_is_infty
    - ep4_copy
    - ep4_set_infty
    - ep4_norm_imp
    linkageType: ''
    returnType: void
    signature: void ep4_norm(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_neg.c:40,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_neg.c:41,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_neg.c:46,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_neg.c:47,1
    - Dst: fp3_neg
      Src: /src/relic/src/epx/relic_ep3_neg.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: ep3_neg
    functionSourceFile: /src/relic/src/epx/relic_ep3_neg.c
    functionUses: 5
    functionsReached:
    - ep3_set_infty
    - fp3_copy
    - fp3_neg
    - ep3_is_infty
    linkageType: ''
    returnType: void
    signature: void ep3_neg(ep3_t r, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_norm.c:52,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_norm.c:55,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_norm.c:58,1
    - Dst: fp2_inv
      Src: /src/relic/src/epx/relic_ep2_norm.c:60,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_norm.c:65,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_norm.c:66,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_norm.c:69,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_norm.c:70,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_norm.c:71,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_norm.c:72,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_norm.c:75,1
    - Dst: fp2_set_dig
      Src: /src/relic/src/epx/relic_ep2_norm.c:78,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_norm.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - r
    - p
    - inv
    argTypes:
    - ep2_t
    - ep2_t
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 82
    functionName: ep2_norm_imp
    functionSourceFile: /src/relic/src/epx/relic_ep2_norm.c
    functionUses: 0
    functionsReached:
    - fp2_inv
    - fp2_sqr
    - RLC_THROW
    - fp2_set_dig
    - ep2_copy
    - fp2_null
    - fp2_copy
    - fp2_mul
    - fp2_new
    linkageType: ''
    returnType: void
    signature: void ep2_norm_imp(ep2_t r, const ep2_t p, int inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_norm.c:98,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_norm.c:99,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_norm.c:105,1
    - Dst: ep2_norm_imp
      Src: /src/relic/src/epx/relic_ep2_norm.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: ep2_norm
    functionSourceFile: /src/relic/src/epx/relic_ep2_norm.c
    functionUses: 13
    functionsReached:
    - ep2_is_infty
    - ep2_norm_imp
    - ep2_copy
    - ep2_set_infty
    linkageType: ''
    returnType: void
    signature: void ep2_norm(ep2_t r, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:48,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:50,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:54,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:56,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:61,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep8_t*
    - ep8_t
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: ep8_mul_pre_ordin
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_fix.c
    functionUses: 0
    functionsReached:
    - ep8_copy
    - ep8_norm
    - ep8_add
    - ep8_dbl
    linkageType: ''
    returnType: void
    signature: void ep8_mul_pre_ordin(ep8_t *t, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:82,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:83,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:89,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:92,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:94,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:98,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:101,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:105,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:106,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - r
    - table
    - k
    argTypes:
    - ep8_t
    - ep8_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 109
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 109
    functionName: ep8_mul_fix_ordin
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_fix.c
    functionUses: 0
    functionsReached:
    - ep8_neg
    - bn_rec_naf
    - ep8_sub
    - bn_sign
    - ep8_norm
    - ep8_add
    - bn_is_zero
    - ep8_set_infty
    - ep8_dbl
    linkageType: ''
    returnType: void
    signature: void ep8_mul_fix_ordin(ep8_t r, const ep8_t *table, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:122,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:125,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:127,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:129,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:130,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep8_t*
    - ep8_t
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: ep8_mul_pre_basic
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_null
    - bn_new
    - bn_bits
    - ep8_curve_get_ord
    - ep8_copy
    - ep8_dbl
    linkageType: ''
    returnType: void
    signature: void ep8_mul_pre_basic(ep8_t *t, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:145,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:146,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:150,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:151,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:154,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:155,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:157,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:158,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:160,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:161,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:162,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:163,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep8_t
    - ep8_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 167
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 167
    functionName: ep8_mul_fix_basic
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_get_bit
    - bn_null
    - ep8_set_infty
    - bn_mod
    - bn_new
    - ep8_norm
    - bn_bits
    - ep8_add
    - bn_is_zero
    - ep8_curve_get_ord
    linkageType: ''
    returnType: void
    signature: void ep8_mul_fix_basic(ep8_t r, const ep8_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:183,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:186,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:188,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:189,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:192,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:194,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:196,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:198,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:201,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:204,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep8_t*
    - ep8_t
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: ep8_mul_pre_combs
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_null
    - ep8_set_infty
    - bn_new
    - ep8_norm
    - bn_bits
    - ep8_add
    - ep8_curve_get_ord
    - ep8_copy
    - ep8_dbl
    linkageType: ''
    returnType: void
    signature: void ep8_mul_pre_combs(ep8_t *t, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:225,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:226,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:230,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:231,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:234,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:235,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:237,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:238,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:241,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:242,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:250,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:254,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:257,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:263,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:268,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:271,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep8_t
    - ep8_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 272
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 272
    functionName: ep8_mul_fix_combs
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_get_bit
    - bn_null
    - ep8_set_infty
    - bn_mod
    - bn_new
    - ep8_norm
    - bn_bits
    - ep8_add
    - bn_is_zero
    - ep8_curve_get_ord
    - ep8_copy
    - ep8_dbl
    linkageType: ''
    returnType: void
    signature: void ep8_mul_fix_combs(ep8_t r, const ep8_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:290,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:293,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:295,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:296,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:300,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:301,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:303,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:305,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:308,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:311,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:314,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:316,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:318,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep8_t*
    - ep8_t
    constantsTouched: []
    func_position:
      end: 326
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 326
    functionName: ep8_mul_pre_combd
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_null
    - ep8_set_infty
    - bn_new
    - ep8_norm
    - bn_bits
    - ep8_add
    - ep8_curve_get_ord
    - ep8_copy
    - ep8_dbl
    linkageType: ''
    returnType: void
    signature: void ep8_mul_pre_combd(ep8_t *t, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:339,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:340,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:344,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:347,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:349,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:350,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:354,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:355,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:359,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:365,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:374,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:379,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:380,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:382,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:383,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:384,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep8_t
    - ep8_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 386
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 386
    functionName: ep8_mul_fix_combd
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_get_bit
    - bn_null
    - ep8_set_infty
    - ep8_neg
    - bn_sign
    - bn_new
    - ep8_norm
    - bn_bits
    - ep8_add
    - bn_is_zero
    - ep8_curve_get_ord
    - ep8_dbl
    linkageType: ''
    returnType: void
    signature: void ep8_mul_fix_combd(ep8_t r, const ep8_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_mul_pre_ordin
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep8_t*
    - ep8_t
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: ep8_mul_pre_lwnaf
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep8_mul_pre_ordin
    linkageType: ''
    returnType: void
    signature: void ep8_mul_pre_lwnaf(ep8_t *t, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_mul_fix_ordin
      Src: /src/relic/src/epx/relic_ep8_mul_fix.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep8_t
    - ep8_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: ep8_mul_fix_lwnaf
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep8_mul_fix_ordin
    linkageType: ''
    returnType: void
    signature: void ep8_mul_fix_lwnaf(ep8_t r, const ep8_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_map.c:45,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_map.c:49,1
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_map.c:50,1
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_map.c:51,1
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_map.c:52,1
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_map.c:53,1
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_map.c:54,1
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_map.c:55,1
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_map.c:56,1
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_map.c:57,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_map.c:60,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_map.c:61,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_map.c:62,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_map.c:63,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_map.c:64,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_map.c:65,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_map.c:66,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_map.c:67,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_map.c:68,1
    - Dst: md_xmd
      Src: /src/relic/src/epx/relic_ep8_map.c:70,1
    - Dst: bn_read_bin
      Src: /src/relic/src/epx/relic_ep8_map.c:75,1
    - Dst: fp_prime_conv
      Src: /src/relic/src/epx/relic_ep8_map.c:76,1
    - Dst: bn_read_bin
      Src: /src/relic/src/epx/relic_ep8_map.c:78,1
    - Dst: fp_prime_conv
      Src: /src/relic/src/epx/relic_ep8_map.c:79,1
    - Dst: fp8_sqr
      Src: /src/relic/src/epx/relic_ep8_map.c:88,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_map.c:89,1
    - Dst: fp8_sqr
      Src: /src/relic/src/epx/relic_ep8_map.c:90,1
    - Dst: fp8_add
      Src: /src/relic/src/epx/relic_ep8_map.c:91,1
    - Dst: fp8_sub
      Src: /src/relic/src/epx/relic_ep8_map.c:92,1
    - Dst: fp8_dbl
      Src: /src/relic/src/epx/relic_ep8_map.c:93,1
    - Dst: fp8_add
      Src: /src/relic/src/epx/relic_ep8_map.c:94,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_map.c:95,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep8_map.c:99,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_map.c:104,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_map.c:105,1
    - Dst: fp8_dbl
      Src: /src/relic/src/epx/relic_ep8_map.c:106,1
    - Dst: fp8_dbl
      Src: /src/relic/src/epx/relic_ep8_map.c:108,1
    - Dst: fp8_sqr
      Src: /src/relic/src/epx/relic_ep8_map.c:109,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_map.c:110,1
    - Dst: fp8_sub
      Src: /src/relic/src/epx/relic_ep8_map.c:111,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_map.c:112,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_map.c:113,1
    - Dst: fp8_dbl
      Src: /src/relic/src/epx/relic_ep8_map.c:114,1
    - Dst: fp8_is_zero
      Src: /src/relic/src/epx/relic_ep8_map.c:116,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_map.c:117,1
    - Dst: fp8_inv
      Src: /src/relic/src/epx/relic_ep8_map.c:119,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_map.c:120,1
    - Dst: fp8_add
      Src: /src/relic/src/epx/relic_ep8_map.c:121,1
    - Dst: fp8_neg
      Src: /src/relic/src/epx/relic_ep8_map.c:122,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_map.c:123,1
    - Dst: fp8_sqr
      Src: /src/relic/src/epx/relic_ep8_map.c:124,1
    - Dst: fp8_add
      Src: /src/relic/src/epx/relic_ep8_map.c:125,1
    - Dst: ep8_rhs
      Src: /src/relic/src/epx/relic_ep8_map.c:127,1
    - Dst: ep8_rhs
      Src: /src/relic/src/epx/relic_ep8_map.c:128,1
    - Dst: ep8_rhs
      Src: /src/relic/src/epx/relic_ep8_map.c:129,1
    - Dst: fp8_is_sqr
      Src: /src/relic/src/epx/relic_ep8_map.c:131,1
    - Dst: fp8_is_sqr
      Src: /src/relic/src/epx/relic_ep8_map.c:132,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_map.c:134,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_map.c:135,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_map.c:136,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_map.c:137,1
    - Dst: fp8_srt
      Src: /src/relic/src/epx/relic_ep8_map.c:139,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep8_map.c:140,1
    - Dst: fp_is_zero
      Src: /src/relic/src/epx/relic_ep8_map.c:145,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep8_map.c:146,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep8_map.c:147,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep8_map.c:148,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep8_map.c:149,1
    - Dst: fp4_is_zero
      Src: /src/relic/src/epx/relic_ep8_map.c:154,1
    - Dst: fp8_neg
      Src: /src/relic/src/epx/relic_ep8_map.c:158,1
    - Dst: fp8_copy_sec
      Src: /src/relic/src/epx/relic_ep8_map.c:159,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_map.c:161,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_map.c:162,1
    - Dst: fp8_set_dig
      Src: /src/relic/src/epx/relic_ep8_map.c:163,1
    - Dst: ep8_mul_cof
      Src: /src/relic/src/epx/relic_ep8_map.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 101
    argCount: 3
    argNames:
    - p
    - msg
    - len
    argTypes:
    - ep8_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 168
    functionName: ep8_map
    functionSourceFile: /src/relic/src/epx/relic_ep8_map.c
    functionUses: 1
    functionsReached:
    - bn_read_bin
    - fp_mul
    - fp8_dbl
    - fp8_null
    - md_xmd
    - fp_prime_back
    - bn_null
    - ep8_mul_cof
    - RLC_THROW
    - fp8_add
    - fp8_neg
    - fp8_sqr
    - fp8_copy_sec
    - ep8_rhs
    - fp8_sub
    - bn_new
    - fp4_is_zero
    - fp8_srt
    - core_get
    - bn_get_bit
    - fp8_is_sqr
    - fp_prime_conv
    - fp_is_zero
    - fp8_is_zero
    - fp8_inv
    - fp8_new
    - fp8_mul
    - fp8_copy
    - ep8_set_infty
    - fp8_set_dig
    linkageType: ''
    returnType: void
    signature: void ep8_map(ep8_t p, const uint8_t *msg, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_add.c:110,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_add.c:111,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_add.c:115,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_add.c:116,1
    - Dst: ep4_add_basic_imp
      Src: /src/relic/src/epx/relic_ep4_add.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep4_t
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: ep4_add_basic
    functionSourceFile: /src/relic/src/epx/relic_ep4_add.c
    functionUses: 1
    functionsReached:
    - ep4_is_infty
    - ep4_copy
    - ep4_add_basic_imp
    linkageType: ''
    returnType: void
    signature: void ep4_add_basic(ep4_t r, const ep4_t p, const ep4_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_add.c:124,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_add.c:125,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_add.c:129,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_add.c:130,1
    - Dst: ep4_add_basic_imp
      Src: /src/relic/src/epx/relic_ep4_add.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - r
    - s
    - p
    - q
    argTypes:
    - ep4_t
    - fp4_t
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: ep4_add_slp_basic
    functionSourceFile: /src/relic/src/epx/relic_ep4_add.c
    functionUses: 0
    functionsReached:
    - ep4_is_infty
    - ep4_copy
    - ep4_add_basic_imp
    linkageType: ''
    returnType: void
    signature: void ep4_add_slp_basic(ep4_t r, fp4_t s, const ep4_t p, const ep4_t
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_add.c:142,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_add.c:143,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_add.c:147,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_add.c:148,1
    - Dst: ep4_add_projc_imp
      Src: /src/relic/src/epx/relic_ep4_add.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep4_t
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: ep4_add_projc
    functionSourceFile: /src/relic/src/epx/relic_ep4_add.c
    functionUses: 1
    functionsReached:
    - ep4_is_infty
    - ep4_copy
    - ep4_add_projc_imp
    linkageType: ''
    returnType: void
    signature: void ep4_add_projc(ep4_t r, const ep4_t p, const ep4_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_add.c:160,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_add.c:161,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_add.c:165,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_add.c:166,1
    - Dst: ep4_add_jacob_imp
      Src: /src/relic/src/epx/relic_ep4_add.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep4_t
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: ep4_add_jacob
    functionSourceFile: /src/relic/src/epx/relic_ep4_add.c
    functionUses: 1
    functionsReached:
    - ep4_is_infty
    - ep4_copy
    - ep4_add_jacob_imp
    linkageType: ''
    returnType: void
    signature: void ep4_add_jacob(ep4_t r, const ep4_t p, const ep4_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_add.c:178,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_add.c:181,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_add.c:186,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_add.c:187,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_add.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep4_t
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: ep4_sub
    functionSourceFile: /src/relic/src/epx/relic_ep4_add.c
    functionUses: 1
    functionsReached:
    - ep4_new
    - ep4_add
    - ep4_neg
    - ep4_set_infty
    - ep4_null
    linkageType: ''
    returnType: void
    signature: void ep4_sub(ep4_t r, const ep4_t p, const ep4_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:44,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:45,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:46,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:47,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:48,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:49,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:50,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:51,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:52,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:55,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:56,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:57,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:58,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:59,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:61,1
    - Dst: ep8_mul_basic
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:63,1
    - Dst: ep8_mul_basic
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:64,1
    - Dst: ep8_mul_basic
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:65,1
    - Dst: ep8_mul_basic
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:66,1
    - Dst: ep8_mul_basic
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:67,1
    - Dst: ep8_mul_basic
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:68,1
    - Dst: ep8_mul_basic
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:69,1
    - Dst: ep8_mul_basic
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:70,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:72,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:73,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:75,1
    - Dst: ep8_frb
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:76,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:78,1
    - Dst: ep8_frb
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:79,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:81,1
    - Dst: ep8_frb
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:82,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:84,1
    - Dst: ep8_frb
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:85,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:87,1
    - Dst: ep8_frb
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:88,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:90,1
    - Dst: ep8_frb
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:91,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:93,1
    - Dst: ep8_frb
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:94,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:96,1
    - Dst: ep8_frb
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:97,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:98,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:99,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:100,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:101,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:102,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:103,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:104,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:105,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_cof.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 108
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 108
    functionName: ep8_mul_cof
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_cof.c
    functionUses: 1
    functionsReached:
    - ep8_new
    - bn_null
    - ep8_mul_basic
    - ep8_dbl
    - ep8_sub
    - bn_new
    - ep8_norm
    - ep8_frb
    - fp_prime_get_par
    - ep8_add
    - ep8_null
    linkageType: ''
    returnType: void
    signature: void ep8_mul_cof(ep8_t r, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:50,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:51,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:52,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:53,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:54,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:55,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:56,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:59,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:60,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:61,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:62,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:63,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:64,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:65,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:82,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:85,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:86,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:89,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:91,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:92,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:94,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:95,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:96,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:98,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:99,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:100,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:103,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:104,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:105,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:106,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:109,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:110,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:111,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:112,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:113,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:114,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:115,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:116,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:117,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:118,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:121,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:122,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:123,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:125,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:127,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:129,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:131,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:133,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:135,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 137
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 137
    functionName: ep3_mul_cof_k18
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_cof.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - bn_null
    - ep3_dbl
    - ep3_new
    - ep3_mul_basic
    - ep3_sub
    - ep3_add
    - bn_new
    - fp_prime_get_par
    - ep3_frb
    - ep3_norm
    - ep3_neg
    linkageType: ''
    returnType: void
    signature: void ep3_mul_cof_k18(ep3_t r, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:160,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:161,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:162,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:163,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:164,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:165,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:168,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:169,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:170,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:171,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:172,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:173,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:177,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:180,1
    - Dst: bn_mul_dig
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:181,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:182,1
    - Dst: bn_div_dig
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:183,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:184,1
    - Dst: bn_mul_dig
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:185,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:186,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:187,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:188,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:190,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:191,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:192,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:194,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:195,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:196,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:197,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:198,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:199,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:200,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:202,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:203,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:204,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 206
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 206
    functionName: ep3_mul_cof_sg18
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_cof.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - bn_null
    - ep3_dbl
    - ep3_new
    - ep3_mul_basic
    - ep3_sub
    - ep3_add
    - bn_mul_dig
    - bn_new
    - fp_prime_get_par
    - ep3_frb
    - ep3_norm
    - bn_div_dig
    linkageType: ''
    returnType: void
    signature: void ep3_mul_cof_sg18(ep3_t r, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:228,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:229,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:230,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:231,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:232,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:233,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:236,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:237,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:238,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:239,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:240,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:241,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:245,1
    - Dst: bn_add_dig
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:248,1
    - Dst: bn_div_dig
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:249,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:250,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:251,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:252,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:253,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:254,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:257,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:258,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:259,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:260,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:261,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:262,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:263,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:264,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:265,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:267,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:268,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:269,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:270,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:271,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:272,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:273,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:274,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:275,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:276,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:277,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:278,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:279,1
    - Dst: ep3_mul_basic
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:280,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:281,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:282,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:283,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 285
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 285
    functionName: ep3_mul_cof_fm18
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_cof.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - bn_null
    - bn_add_dig
    - ep3_new
    - ep3_dbl
    - ep3_mul_basic
    - ep3_sub
    - ep3_add
    - bn_new
    - fp_prime_get_par
    - ep3_frb
    - ep3_norm
    - bn_div_dig
    linkageType: ''
    returnType: void
    signature: void ep3_mul_cof_fm18(ep3_t r, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:304,1
    - Dst: switch
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:307,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:307,1
    - Dst: ep3_mul_cof_k18
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:309,1
    - Dst: ep3_mul_cof_sg18
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:312,1
    - Dst: ep3_mul_cof_fm18
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:315,1
    - Dst: ep3_curve_get_cof
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:319,1
    - Dst: ep3_mul_big
      Src: /src/relic/src/epx/relic_ep3_mul_cof.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 322
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 322
    functionName: ep3_mul_cof
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_cof.c
    functionUses: 0
    functionsReached:
    - bn_null
    - switch
    - ep3_mul_cof_k18
    - ep3_mul_cof_sg18
    - ep3_mul_cof_fm18
    - ep3_curve_get_cof
    - ep_curve_is_pairf
    - ep3_mul_big
    linkageType: ''
    returnType: void
    signature: void ep3_mul_cof(ep3_t r, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_cmp.c:43,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_cmp.c:43,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_cmp.c:47,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_cmp.c:48,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_cmp.c:51,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_cmp.c:52,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_cmp.c:58,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_cmp.c:59,1
    - Dst: fp8_sqr
      Src: /src/relic/src/epx/relic_ep8_cmp.c:64,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_cmp.c:65,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_cmp.c:66,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_cmp.c:67,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_cmp.c:70,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_cmp.c:77,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_cmp.c:78,1
    - Dst: fp8_sqr
      Src: /src/relic/src/epx/relic_ep8_cmp.c:81,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_cmp.c:82,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_cmp.c:83,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_cmp.c:84,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_cmp.c:87,1
    - Dst: fp8_cmp
      Src: /src/relic/src/epx/relic_ep8_cmp.c:91,1
    - Dst: fp8_cmp
      Src: /src/relic/src/epx/relic_ep8_cmp.c:91,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 94
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 94
    functionName: ep8_cmp
    functionSourceFile: /src/relic/src/epx/relic_ep8_cmp.c
    functionUses: 10
    functionsReached:
    - ep8_new
    - fp8_cmp
    - ep8_is_infty
    - fp8_mul
    - ep8_copy
    - fp8_sqr
    - ep8_null
    linkageType: ''
    returnType: int
    signature: int ep8_cmp(const ep8_t p, const ep8_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_is_zero
      Src: /src/relic/src/epx/relic_ep2_util.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep2_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: ep2_is_infty
    functionSourceFile: /src/relic/src/epx/relic_ep2_util.c
    functionUses: 13
    functionsReached:
    - fp2_is_zero
    linkageType: ''
    returnType: int
    signature: int ep2_is_infty(const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_zero
      Src: /src/relic/src/epx/relic_ep2_util.c:44,1
    - Dst: fp2_zero
      Src: /src/relic/src/epx/relic_ep2_util.c:45,1
    - Dst: fp2_zero
      Src: /src/relic/src/epx/relic_ep2_util.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep2_t
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ep2_set_infty
    functionSourceFile: /src/relic/src/epx/relic_ep2_util.c
    functionUses: 17
    functionsReached:
    - fp2_zero
    linkageType: ''
    returnType: void
    signature: void ep2_set_infty(ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_util.c:51,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_util.c:52,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_util.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: ep2_copy
    functionSourceFile: /src/relic/src/epx/relic_ep2_util.c
    functionUses: 9
    functionsReached:
    - fp2_copy
    linkageType: ''
    returnType: void
    signature: void ep2_copy(ep2_t r, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_util.c:60,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_util.c:61,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_util.c:64,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_util.c:65,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_util.c:67,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/epx/relic_ep2_util.c:68,1
    - Dst: ep2_mul_gen
      Src: /src/relic/src/epx/relic_ep2_util.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep2_t
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: ep2_rand
    functionSourceFile: /src/relic/src/epx/relic_ep2_util.c
    functionUses: 13
    functionsReached:
    - ep2_curve_get_ord
    - bn_null
    - bn_rand_mod
    - bn_new
    - ep2_mul_gen
    linkageType: ''
    returnType: void
    signature: void ep2_rand(ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_util.c:84,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_util.c:87,1
    - Dst: fp2_rand
      Src: /src/relic/src/epx/relic_ep2_util.c:88,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_util.c:91,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_util.c:93,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_util.c:94,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_util.c:95,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_util.c:98,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_util.c:99,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_util.c:100,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_util.c:101,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_util.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 105
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 105
    functionName: ep2_blind
    functionSourceFile: /src/relic/src/epx/relic_ep2_util.c
    functionUses: 1
    functionsReached:
    - fp2_sqr
    - ep2_copy
    - fp2_null
    - fp2_mul
    - fp2_new
    - fp2_rand
    linkageType: ''
    returnType: void
    signature: void ep2_blind(ep2_t r, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_util.c:115,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_util.c:118,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_util.c:120,1
    - Dst: ep2_curve_opt_a
      Src: /src/relic/src/epx/relic_ep2_util.c:122,1
    - Dst: fp2_sub_dig
      Src: /src/relic/src/epx/relic_ep2_util.c:127,1
    - Dst: fp2_add_dig
      Src: /src/relic/src/epx/relic_ep2_util.c:130,1
    - Dst: fp2_add_dig
      Src: /src/relic/src/epx/relic_ep2_util.c:133,1
    - Dst: fp2_mul_dig
      Src: /src/relic/src/epx/relic_ep2_util.c:136,1
    - Dst: ep2_curve_get_a
      Src: /src/relic/src/epx/relic_ep2_util.c:136,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_util.c:140,1
    - Dst: ep2_curve_get_a
      Src: /src/relic/src/epx/relic_ep2_util.c:140,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_util.c:144,1
    - Dst: ep2_curve_opt_b
      Src: /src/relic/src/epx/relic_ep2_util.c:146,1
    - Dst: fp2_sub_dig
      Src: /src/relic/src/epx/relic_ep2_util.c:151,1
    - Dst: fp2_add_dig
      Src: /src/relic/src/epx/relic_ep2_util.c:154,1
    - Dst: fp2_add_dig
      Src: /src/relic/src/epx/relic_ep2_util.c:157,1
    - Dst: fp2_mul_dig
      Src: /src/relic/src/epx/relic_ep2_util.c:160,1
    - Dst: ep2_curve_get_b
      Src: /src/relic/src/epx/relic_ep2_util.c:160,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_util.c:164,1
    - Dst: ep2_curve_get_b
      Src: /src/relic/src/epx/relic_ep2_util.c:164,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_util.c:168,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - rhs
    - x
    argTypes:
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 169
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 169
    functionName: ep2_rhs
    functionSourceFile: /src/relic/src/epx/relic_ep2_util.c
    functionUses: 3
    functionsReached:
    - fp2_add_dig
    - fp2_sqr
    - fp2_mul_dig
    - ep2_curve_get_a
    - fp2_add
    - fp2_null
    - ep2_curve_opt_a
    - fp2_mul
    - fp2_copy
    - ep2_curve_get_b
    - fp2_sub_dig
    - ep2_curve_opt_b
    - fp2_new
    linkageType: ''
    returnType: void
    signature: void ep2_rhs(fp2_t rhs, const fp2_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_util.c:181,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_util.c:184,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_util.c:186,1
    - Dst: ep2_rhs
      Src: /src/relic/src/epx/relic_ep2_util.c:188,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_util.c:189,1
    - Dst: fp2_cmp
      Src: /src/relic/src/epx/relic_ep2_util.c:191,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_util.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep2_t
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: ep2_on_curve
    functionSourceFile: /src/relic/src/epx/relic_ep2_util.c
    functionUses: 3
    functionsReached:
    - ep2_rhs
    - fp2_sqr
    - ep2_norm
    - ep2_is_infty
    - fp2_cmp
    - ep2_null
    - ep2_new
    linkageType: ''
    returnType: int
    signature: int ep2_on_curve(const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_util.c:202,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_util.c:204,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_util.c:206,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_util.c:208,1
    - Dst: ep2_norm_sim
      Src: /src/relic/src/epx/relic_ep2_util.c:211,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_util.c:215,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_util.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - t
    - p
    - w
    argTypes:
    - ep2_t*
    - ep2_t
    - int
    constantsTouched: []
    func_position:
      end: 219
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 219
    functionName: ep2_tab
    functionSourceFile: /src/relic/src/epx/relic_ep2_util.c
    functionUses: 2
    functionsReached:
    - ep2_add
    - ep2_norm
    - ep2_norm_sim
    - ep2_copy
    - ep2_dbl
    linkageType: ''
    returnType: void
    signature: void ep2_tab(ep2_t *t, const ep2_t p, int w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_print
      Src: /src/relic/src/epx/relic_ep2_util.c:222,1
    - Dst: fp2_print
      Src: /src/relic/src/epx/relic_ep2_util.c:223,1
    - Dst: fp2_print
      Src: /src/relic/src/epx/relic_ep2_util.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep2_t
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: ep2_print
    functionSourceFile: /src/relic/src/epx/relic_ep2_util.c
    functionUses: 0
    functionsReached:
    - fp2_print
    linkageType: ''
    returnType: void
    signature: void ep2_print(const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_util.c:231,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_util.c:233,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_util.c:238,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_util.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - pack
    argTypes:
    - ep2_t
    - int
    constantsTouched: []
    func_position:
      end: 246
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 246
    functionName: ep2_size_bin
    functionSourceFile: /src/relic/src/epx/relic_ep2_util.c
    functionUses: 1
    functionsReached:
    - ep2_null
    - ep2_is_infty
    - ep2_new
    - ep2_norm
    linkageType: ''
    returnType: size_t
    signature: size_t ep2_size_bin(const ep2_t a, int pack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_util.c:258,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_util.c:261,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_util.c:267,1
    - Dst: fp2_set_dig
      Src: /src/relic/src/epx/relic_ep2_util.c:272,1
    - Dst: fp2_read_bin
      Src: /src/relic/src/epx/relic_ep2_util.c:273,1
    - Dst: fp2_zero
      Src: /src/relic/src/epx/relic_ep2_util.c:277,1
    - Dst: fp2_zero
      Src: /src/relic/src/epx/relic_ep2_util.c:280,1
    - Dst: fp_set_bit
      Src: /src/relic/src/epx/relic_ep2_util.c:281,1
    - Dst: fp_zero
      Src: /src/relic/src/epx/relic_ep2_util.c:282,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_util.c:285,1
    - Dst: ep2_upk
      Src: /src/relic/src/epx/relic_ep2_util.c:288,1
    - Dst: fp2_read_bin
      Src: /src/relic/src/epx/relic_ep2_util.c:293,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_util.c:295,1
    - Dst: ep2_on_curve
      Src: /src/relic/src/epx/relic_ep2_util.c:300,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_util.c:301,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - a
    - bin
    - len
    argTypes:
    - ep2_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 303
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 303
    functionName: ep2_read_bin
    functionSourceFile: /src/relic/src/epx/relic_ep2_util.c
    functionUses: 1
    functionsReached:
    - fp_set_bit
    - ep2_upk
    - RLC_THROW
    - fp2_set_dig
    - ep2_on_curve
    - fp2_read_bin
    - fp2_zero
    - fp_zero
    - ep2_set_infty
    linkageType: ''
    returnType: void
    signature: void ep2_read_bin(ep2_t a, const uint8_t *bin, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_util.c:308,1
    - Dst: memset
      Src: /src/relic/src/epx/relic_ep2_util.c:310,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_util.c:312,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_util.c:314,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_util.c:322,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_util.c:324,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_util.c:328,1
    - Dst: ep2_pck
      Src: /src/relic/src/epx/relic_ep2_util.c:330,1
    - Dst: fp_get_bit
      Src: /src/relic/src/epx/relic_ep2_util.c:331,1
    - Dst: fp2_write_bin
      Src: /src/relic/src/epx/relic_ep2_util.c:332,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_util.c:336,1
    - Dst: fp2_write_bin
      Src: /src/relic/src/epx/relic_ep2_util.c:339,1
    - Dst: fp2_write_bin
      Src: /src/relic/src/epx/relic_ep2_util.c:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - bin
    - len
    - a
    - pack
    argTypes:
    - uint8_t*
    - size_t
    - ep2_t
    - int
    constantsTouched: []
    func_position:
      end: 343
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 343
    functionName: ep2_write_bin
    functionSourceFile: /src/relic/src/epx/relic_ep2_util.c
    functionUses: 1
    functionsReached:
    - ep2_norm
    - RLC_THROW
    - memset
    - ep2_is_infty
    - ep2_pck
    - fp2_write_bin
    - ep2_null
    - fp_get_bit
    - ep2_new
    linkageType: ''
    returnType: void
    signature: void ep2_write_bin(uint8_t *bin, size_t len, const ep2_t a, int pack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_cmp.c:43,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_cmp.c:43,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_cmp.c:47,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_cmp.c:48,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_cmp.c:51,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_cmp.c:52,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_cmp.c:58,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_cmp.c:59,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_cmp.c:64,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_cmp.c:65,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_cmp.c:66,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_cmp.c:67,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_cmp.c:70,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_cmp.c:77,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_cmp.c:78,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_cmp.c:81,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_cmp.c:82,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_cmp.c:83,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_cmp.c:84,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_cmp.c:87,1
    - Dst: fp2_cmp
      Src: /src/relic/src/epx/relic_ep2_cmp.c:91,1
    - Dst: fp2_cmp
      Src: /src/relic/src/epx/relic_ep2_cmp.c:92,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 95
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 95
    functionName: ep2_cmp
    functionSourceFile: /src/relic/src/epx/relic_ep2_cmp.c
    functionUses: 13
    functionsReached:
    - fp2_sqr
    - ep2_is_infty
    - ep2_copy
    - fp2_cmp
    - fp2_mul
    - ep2_null
    - ep2_new
    linkageType: ''
    returnType: int
    signature: int ep2_cmp(const ep2_t p, const ep2_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:44,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:46,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:47,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:52,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep3_mul.c:54,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul.c:57,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul.c:58,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:59,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul.c:60,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:64,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:65,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul.c:66,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul.c:67,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul.c:68,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul.c:72,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul.c:73,1
    - Dst: ep3_frb
      Src: /src/relic/src/epx/relic_ep3_mul.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 77
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 77
    functionName: ep3_psi
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - ep3_set_infty
    - ep3_is_infty
    - ep3_dbl
    - ep3_new
    - ep3_sub
    - ep3_add
    - ep3_frb
    - ep_curve_is_pairf
    linkageType: ''
    returnType: void
    signature: void ep3_psi(ep3_t r, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:94,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:95,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:98,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:99,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:101,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:102,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:103,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:104,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:107,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:108,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep3_mul.c:111,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep3_mul.c:112,1
    - Dst: bn_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:114,1
    - Dst: bn_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:115,1
    - Dst: bn_neg
      Src: /src/relic/src/epx/relic_ep3_mul.c:116,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_mul.c:118,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep3_mul.c:119,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/epx/relic_ep3_mul.c:120,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep3_mul.c:120,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep3_mul.c:121,1
    - Dst: bn_add_dig
      Src: /src/relic/src/epx/relic_ep3_mul.c:122,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul.c:123,1
    - Dst: ep3_psi
      Src: /src/relic/src/epx/relic_ep3_mul.c:125,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep3_mul.c:128,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul.c:129,1
    - Dst: bn_abs
      Src: /src/relic/src/epx/relic_ep3_mul.c:131,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_mul.c:134,1
    - Dst: util_bits_dig
      Src: /src/relic/src/epx/relic_ep3_mul.c:136,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:137,1
    - Dst: bn_rec_sac
      Src: /src/relic/src/epx/relic_ep3_mul.c:141,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul.c:141,1
    - Dst: ep3_norm_sim
      Src: /src/relic/src/epx/relic_ep3_mul.c:144,1
    - Dst: fp3_set_dig
      Src: /src/relic/src/epx/relic_ep3_mul.c:145,1
    - Dst: fp3_set_dig
      Src: /src/relic/src/epx/relic_ep3_mul.c:146,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:152,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:154,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul.c:163,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:165,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul.c:170,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul.c:174,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep3_t
    - ep3_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 175
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 175
    functionName: ep3_mul_gls_imp
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - ep3_dbl
    - bn_rec_frb
    - fp_prime_get_par
    - ep3_neg
    - bn_abs
    - ep3_set_infty
    - bn_null
    - ep3_new
    - bn_mod
    - ep3_sub
    - fp3_set_dig
    - ep_curve_is_pairf
    - ep3_copy
    - bn_dbl
    - bn_is_even
    - bn_add_dig
    - ep3_curve_get_ord
    - ep3_add
    - bn_sign
    - ep3_psi
    - bn_neg
    - bn_new
    - util_bits_dig
    - ep3_norm
    - bn_add
    - bn_rec_sac
    - ep3_norm_sim
    - bn_bits
    linkageType: ''
    returnType: void
    signature: void ep3_mul_gls_imp(ep3_t r, const ep3_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:202,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:203,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:206,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:207,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:209,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:210,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:211,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:212,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:215,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:216,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep3_mul.c:219,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep3_mul.c:220,1
    - Dst: bn_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:222,1
    - Dst: bn_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:223,1
    - Dst: bn_neg
      Src: /src/relic/src/epx/relic_ep3_mul.c:224,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_mul.c:226,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep3_mul.c:227,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/epx/relic_ep3_mul.c:228,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep3_mul.c:228,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep3_mul.c:229,1
    - Dst: bn_add_dig
      Src: /src/relic/src/epx/relic_ep3_mul.c:230,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul.c:231,1
    - Dst: ep3_psi
      Src: /src/relic/src/epx/relic_ep3_mul.c:233,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul.c:236,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:237,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep3_mul.c:237,1
    - Dst: bn_abs
      Src: /src/relic/src/epx/relic_ep3_mul.c:238,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_mul.c:241,1
    - Dst: util_bits_dig
      Src: /src/relic/src/epx/relic_ep3_mul.c:243,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:244,1
    - Dst: bn_rec_sac
      Src: /src/relic/src/epx/relic_ep3_mul.c:248,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul.c:248,1
    - Dst: ep3_norm_sim
      Src: /src/relic/src/epx/relic_ep3_mul.c:251,1
    - Dst: fp3_set_dig
      Src: /src/relic/src/epx/relic_ep3_mul.c:252,1
    - Dst: fp3_set_dig
      Src: /src/relic/src/epx/relic_ep3_mul.c:253,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:265,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:266,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:268,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul.c:272,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:273,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:275,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:284,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:285,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:287,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul.c:290,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:291,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:292,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul.c:295,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:296,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:297,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:298,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul.c:301,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 80
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep3_t
    - ep3_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 302
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 302
    functionName: ep3_mul_reg_gls
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - ep3_dbl
    - bn_rec_frb
    - fp_prime_get_par
    - ep3_neg
    - bn_abs
    - bn_null
    - ep3_new
    - bn_mod
    - ep3_sub
    - fp3_set_dig
    - ep_curve_is_pairf
    - ep3_copy
    - bn_dbl
    - bn_is_even
    - bn_add_dig
    - ep3_curve_get_ord
    - ep3_add
    - bn_sign
    - ep3_psi
    - bn_neg
    - bn_new
    - util_bits_dig
    - ep3_norm
    - bn_add
    - bn_rec_sac
    - ep3_norm_sim
    - fp3_copy_sec
    - bn_bits
    linkageType: ''
    returnType: void
    signature: void ep3_mul_reg_gls(ep3_t r, const ep3_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for
      Src: /src/relic/src/epx/relic_ep3_mul.c:334,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:335,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:336,1
    - Dst: ep3_tab
      Src: /src/relic/src/epx/relic_ep3_mul.c:339,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep3_mul.c:343,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:345,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:347,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:351,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul.c:354,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul.c:358,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep3_mul.c:359,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul.c:360,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep3_mul.c:364,1
    - Dst: ep3_free
      Src: /src/relic/src/epx/relic_ep3_mul.c:369,1
    - Dst: defined
      Src: /src/relic/src/epx/relic_ep3_mul.c:376,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/epx/relic_ep3_mul.c:380,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:384,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:387,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:388,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:389,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:392,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:393,1
    - Dst: ep3_tab
      Src: /src/relic/src/epx/relic_ep3_mul.c:396,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_mul.c:398,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul.c:399,1
    - Dst: bn_abs
      Src: /src/relic/src/epx/relic_ep3_mul.c:402,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/epx/relic_ep3_mul.c:406,1
    - Dst: bn_rec_reg
      Src: /src/relic/src/epx/relic_ep3_mul.c:407,1
    - Dst: fp3_set_dig
      Src: /src/relic/src/epx/relic_ep3_mul.c:410,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:415,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:418,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:426,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:427,1
    - Dst: fp_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:429,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul.c:432,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:433,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:434,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul.c:437,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:438,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep3_mul.c:438,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:439,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep3_mul.c:439,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:440,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep3_mul.c:440,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul.c:442,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul.c:443,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_mul.c:444,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep3_mul.c:444,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep3_t
    - ep3_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 445
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 445
    functionName: ep3_mul_naf_imp
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - ep3_dbl
    - fp_copy_sec
    - for
    - ep3_tab
    - ep3_free
    - ep3_neg
    - ep3_set_infty
    - bn_abs
    - bn_rec_reg
    - bn_null
    - ep3_new
    - RLC_THROW
    - ep3_sub
    - defined
    - fp3_set_dig
    - bn_is_even
    - ep3_curve_get_ord
    - ep3_add
    - bn_sign
    - bn_new
    - ep3_norm
    - fp3_copy_sec
    - RLC_CEIL
    - bn_rec_naf
    - bn_bits
    linkageType: ''
    returnType: void
    signature: void ep3_mul_naf_imp(ep3_t r, const ep3_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:472,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul.c:474,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:474,1
    - Dst: RLC_FREE
      Src: /src/relic/src/epx/relic_ep3_mul.c:475,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:476,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul.c:480,1
    - Dst: ep3_mul_dig
      Src: /src/relic/src/epx/relic_ep3_mul.c:481,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep3_mul.c:482,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul.c:483,1
    - Dst: RLC_FREE
      Src: /src/relic/src/epx/relic_ep3_mul.c:485,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:490,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep3_mul.c:492,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul.c:495,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep3_mul.c:496,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:497,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:499,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:503,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul.c:505,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul.c:509,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep3_mul.c:510,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul.c:511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep3_t
    - ep3_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 513
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 513
    functionName: ep3_mul_basic
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul.c
    functionUses: 5
    functionsReached:
    - ep3_null
    - ep3_set_infty
    - RLC_FREE
    - ep3_is_infty
    - ep3_dbl
    - ep3_new
    - RLC_THROW
    - ep3_mul_dig
    - ep3_sub
    - ep3_add
    - bn_sign
    - bn_rec_naf
    - bn_bits
    - ep3_norm
    - bn_is_zero
    - ep3_neg
    linkageType: ''
    returnType: void
    signature: void ep3_mul_basic(ep3_t r, const ep3_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:531,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul.c:533,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:533,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:534,1
    - Dst: for
      Src: /src/relic/src/epx/relic_ep3_mul.c:539,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:540,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:541,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:544,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_mul.c:546,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:547,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:555,1
    - Dst: ep3_norm_sim
      Src: /src/relic/src/epx/relic_ep3_mul.c:559,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:562,1
    - Dst: bn_rec_slw
      Src: /src/relic/src/epx/relic_ep3_mul.c:564,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:567,1
    - Dst: util_bits_dig
      Src: /src/relic/src/epx/relic_ep3_mul.c:569,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:570,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:572,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul.c:576,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep3_mul.c:577,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep3_t
    - ep3_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 580
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 580
    functionName: ep3_mul_slide
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul.c
    functionUses: 1
    functionsReached:
    - ep3_null
    - ep3_set_infty
    - bn_rec_slw
    - ep3_is_infty
    - ep3_dbl
    - ep3_new
    - ep3_add
    - for
    - bn_sign
    - util_bits_dig
    - ep3_norm
    - ep3_copy
    - bn_is_zero
    - ep3_neg
    - ep3_norm_sim
    linkageType: ''
    returnType: void
    signature: void ep3_mul_slide(ep3_t r, const ep3_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul.c:679,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:679,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:680,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep3_mul.c:685,1
    - Dst: ep3_mul_gls_imp
      Src: /src/relic/src/epx/relic_ep3_mul.c:686,1
    - Dst: ep3_mul_naf_imp
      Src: /src/relic/src/epx/relic_ep3_mul.c:692,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep3_t
    - ep3_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 694
      start: 678
    functionDepth: 4
    functionLinenumber: 678
    functionLinenumberEnd: 694
    functionName: ep3_mul_lwnaf
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul.c
    functionUses: 1
    functionsReached:
    - ep3_set_infty
    - ep3_is_infty
    - ep3_mul_gls_imp
    - ep_curve_is_endom
    - ep3_mul_naf_imp
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep3_mul_lwnaf(ep3_t r, const ep3_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul.c:701,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:701,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:702,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep3_mul.c:707,1
    - Dst: ep3_mul_reg_gls
      Src: /src/relic/src/epx/relic_ep3_mul.c:708,1
    - Dst: ep3_mul_reg_imp
      Src: /src/relic/src/epx/relic_ep3_mul.c:714,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep3_t
    - ep3_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 716
      start: 700
    functionDepth: 4
    functionLinenumber: 700
    functionLinenumberEnd: 716
    functionName: ep3_mul_lwreg
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul.c
    functionUses: 1
    functionsReached:
    - ep3_set_infty
    - ep3_mul_reg_gls
    - ep3_is_infty
    - ep3_mul_reg_imp
    - ep_curve_is_endom
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep3_mul_lwreg(ep3_t r, const ep3_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul.c:721,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:722,1
    - Dst: ep3_mul_fix
      Src: /src/relic/src/epx/relic_ep3_mul.c:727,1
    - Dst: ep3_curve_get_tab
      Src: /src/relic/src/epx/relic_ep3_mul.c:727,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:731,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:734,1
    - Dst: ep3_curve_get_gen
      Src: /src/relic/src/epx/relic_ep3_mul.c:735,1
    - Dst: ep3_mul
      Src: /src/relic/src/epx/relic_ep3_mul.c:736,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep3_mul.c:739,1
    - Dst: ep3_free
      Src: /src/relic/src/epx/relic_ep3_mul.c:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - r
    - k
    argTypes:
    - ep3_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 745
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 745
    functionName: ep3_mul_gen
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul.c
    functionUses: 2
    functionsReached:
    - ep3_set_infty
    - ep3_null
    - ep3_curve_get_gen
    - ep3_new
    - ep3_mul_fix
    - RLC_THROW
    - ep3_mul
    - ep3_curve_get_tab
    - ep3_free
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep3_mul_gen(ep3_t r, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:753,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul.c:754,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:756,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul.c:757,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:762,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul.c:763,1
    - Dst: bn_set_dig
      Src: /src/relic/src/epx/relic_ep3_mul.c:765,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep3_mul.c:768,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_mul.c:770,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul.c:772,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul.c:776,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul.c:778,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul.c:782,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep3_t
    - ep3_t
    - dig_t
    constantsTouched: []
    func_position:
      end: 783
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 783
    functionName: ep3_mul_dig
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul.c
    functionUses: 2
    functionsReached:
    - ep3_null
    - ep3_set_infty
    - ep3_is_infty
    - bn_null
    - ep3_new
    - ep3_dbl
    - ep3_sub
    - ep3_add
    - bn_rec_naf
    - bn_new
    - bn_set_dig
    - ep3_norm
    - ep3_copy
    linkageType: ''
    returnType: void
    signature: void ep3_mul_dig(ep3_t r, const ep3_t p, const dig_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:62,1
    - Dst: for
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:63,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:64,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:65,1
    - Dst: ep3_tab
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:67,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:73,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:74,1
    - Dst: ep3_tab
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:77,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:86,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:87,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:89,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:92,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:97,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:103,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:105,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:110,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:113,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:116,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 6
    argNames:
    - r
    - p
    - k
    - q
    - m
    - t
    argTypes:
    - ep3_t
    - ep3_t
    - bn_t
    - ep3_t
    - bn_t
    - ep3_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 134
    functionName: ep3_mul_sim_plain
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_sim.c
    functionUses: 0
    functionsReached:
    - ep3_null
    - ep3_set_infty
    - ep3_dbl
    - ep3_new
    - if
    - ep3_sub
    - ep3_add
    - for
    - bn_rec_naf
    - bn_sign
    - RLC_MAX
    - ep3_tab
    linkageType: ''
    returnType: void
    signature: "void ep3_mul_sim_plain(ep3_t r, const ep3_t p, const bn_t k,\n\t\tconst
      ep3_t q, const bn_t m, ep3_t *t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:153,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:156,1
    - Dst: ep3_mul
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:157,1
    - Dst: ep3_mul
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:158,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:159,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - l
    argTypes:
    - ep3_t
    - ep3_t
    - bn_t
    - ep3_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: ep3_mul_sim_basic
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep3_null
    - ep3_new
    - ep3_add
    - ep3_norm
    - ep3_mul
    linkageType: ''
    returnType: void
    signature: "void ep3_mul_sim_basic(ep3_t r, const ep3_t p, const bn_t k, const
      ep3_t q,\n\t\tconst bn_t l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:182,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:184,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:184,1
    - Dst: ep3_mul
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:185,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:188,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:188,1
    - Dst: ep3_mul
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:189,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:194,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:196,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:199,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:200,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:201,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:202,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:205,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:206,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:209,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:210,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:211,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:212,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:215,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:218,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:219,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:220,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:221,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:224,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:229,1
    - Dst: ep3_norm_sim
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:234,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:237,1
    - Dst: bn_rec_win
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:238,1
    - Dst: bn_rec_win
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:239,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:241,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:244,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:246,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:248,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - ep3_t
    - ep3_t
    - bn_t
    - ep3_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 249
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 249
    functionName: ep3_mul_sim_trick
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep3_null
    - ep3_set_infty
    - ep3_is_infty
    - bn_null
    - ep3_new
    - ep3_dbl
    - ep3_mul
    - ep3_curve_get_ord
    - ep3_add
    - RLC_CEIL
    - bn_sign
    - bn_rec_win
    - bn_new
    - ep3_norm
    - ep3_copy
    - bn_is_zero
    - ep3_neg
    - ep3_norm_sim
    linkageType: ''
    returnType: void
    signature: "void ep3_mul_sim_trick(ep3_t r, const ep3_t p, const bn_t k, const
      ep3_t q,\n\t\tconst bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:269,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:269,1
    - Dst: ep3_mul
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:270,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:273,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:273,1
    - Dst: ep3_mul
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:274,1
    - Dst: ep3_mul_sim_plain
      Src: /src/relic/src/epx/relic_ep3_mul_sim.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - ep3_t
    - ep3_t
    - bn_t
    - ep3_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 279
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 279
    functionName: ep3_mul_sim_inter
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_sim.c
    functionUses: 1
    functionsReached:
    - bn_is_zero
    - ep3_mul_sim_plain
    - ep3_is_infty
    - ep3_mul
    linkageType: ''
    returnType: void
    signature: "void ep3_mul_sim_inter(ep3_t r, const ep3_t p, const bn_t k, const
      ep3_t q,\n\t\tconst bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:48,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:50,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:54,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:56,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:61,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep4_t*
    - ep4_t
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: ep4_mul_pre_ordin
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_fix.c
    functionUses: 0
    functionsReached:
    - ep4_copy
    - ep4_add
    - ep4_norm
    - ep4_dbl
    linkageType: ''
    returnType: void
    signature: void ep4_mul_pre_ordin(ep4_t *t, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:82,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:83,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:89,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:92,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:94,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:98,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:101,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:105,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:106,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - r
    - table
    - k
    argTypes:
    - ep4_t
    - ep4_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 109
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 109
    functionName: ep4_mul_fix_ordin
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_fix.c
    functionUses: 0
    functionsReached:
    - ep4_dbl
    - ep4_add
    - ep4_set_infty
    - ep4_neg
    - bn_rec_naf
    - bn_sign
    - ep4_sub
    - ep4_norm
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep4_mul_fix_ordin(ep4_t r, const ep4_t *table, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:122,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:125,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:127,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:129,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:130,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep4_t*
    - ep4_t
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: ep4_mul_pre_basic
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_null
    - ep4_dbl
    - ep4_copy
    - ep4_curve_get_ord
    - bn_new
    - bn_bits
    linkageType: ''
    returnType: void
    signature: void ep4_mul_pre_basic(ep4_t *t, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:145,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:146,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:150,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:151,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:154,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:155,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:157,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:158,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:160,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:161,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:162,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:163,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep4_t
    - ep4_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 167
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 167
    functionName: ep4_mul_fix_basic
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_get_bit
    - bn_null
    - bn_mod
    - ep4_add
    - ep4_set_infty
    - ep4_curve_get_ord
    - bn_new
    - ep4_norm
    - bn_bits
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep4_mul_fix_basic(ep4_t r, const ep4_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:183,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:186,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:188,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:189,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:192,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:194,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:196,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:198,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:201,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:204,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep4_t*
    - ep4_t
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: ep4_mul_pre_combs
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_null
    - ep4_dbl
    - ep4_copy
    - ep4_add
    - ep4_set_infty
    - ep4_curve_get_ord
    - bn_new
    - ep4_norm
    - bn_bits
    linkageType: ''
    returnType: void
    signature: void ep4_mul_pre_combs(ep4_t *t, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:225,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:226,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:230,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:231,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:234,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:235,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:237,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:238,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:241,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:242,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:250,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:254,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:257,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:263,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:268,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:271,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep4_t
    - ep4_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 272
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 272
    functionName: ep4_mul_fix_combs
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_get_bit
    - bn_null
    - ep4_dbl
    - bn_mod
    - ep4_copy
    - ep4_set_infty
    - ep4_add
    - ep4_curve_get_ord
    - bn_new
    - ep4_norm
    - bn_bits
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep4_mul_fix_combs(ep4_t r, const ep4_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:290,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:293,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:295,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:296,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:300,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:301,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:303,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:305,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:308,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:311,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:314,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:316,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:318,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep4_t*
    - ep4_t
    constantsTouched: []
    func_position:
      end: 326
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 326
    functionName: ep4_mul_pre_combd
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_null
    - ep4_dbl
    - ep4_copy
    - ep4_add
    - ep4_set_infty
    - ep4_curve_get_ord
    - bn_new
    - ep4_norm
    - bn_bits
    linkageType: ''
    returnType: void
    signature: void ep4_mul_pre_combd(ep4_t *t, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:339,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:340,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:344,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:347,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:349,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:350,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:354,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:355,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:359,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:365,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:374,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:379,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:380,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:382,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:383,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:384,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep4_t
    - ep4_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 386
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 386
    functionName: ep4_mul_fix_combd
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_get_bit
    - bn_null
    - ep4_dbl
    - ep4_add
    - ep4_set_infty
    - ep4_neg
    - bn_sign
    - ep4_curve_get_ord
    - bn_new
    - ep4_norm
    - bn_bits
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep4_mul_fix_combd(ep4_t r, const ep4_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_mul_pre_ordin
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep4_t*
    - ep4_t
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: ep4_mul_pre_lwnaf
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep4_mul_pre_ordin
    linkageType: ''
    returnType: void
    signature: void ep4_mul_pre_lwnaf(ep4_t *t, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_mul_fix_ordin
      Src: /src/relic/src/epx/relic_ep4_mul_fix.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep4_t
    - ep4_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 4
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: ep4_mul_fix_lwnaf
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep4_mul_fix_ordin
    linkageType: ''
    returnType: void
    signature: void ep4_mul_fix_lwnaf(ep4_t r, const ep4_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_curve_opt_a
      Src: /src/relic/src/epx/relic_ep2_frb.c:40,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_frb.c:41,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_frb.c:43,1
    - Dst: fp2_frb
      Src: /src/relic/src/epx/relic_ep2_frb.c:45,1
    - Dst: fp2_frb
      Src: /src/relic/src/epx/relic_ep2_frb.c:46,1
    - Dst: fp2_frb
      Src: /src/relic/src/epx/relic_ep2_frb.c:47,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_frb.c:48,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_frb.c:49,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_frb.c:54,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_frb.c:57,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep2_frb.c:60,1
    - Dst: ep2_mul_basic
      Src: /src/relic/src/epx/relic_ep2_frb.c:62,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_frb.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - r
    - p
    - i
    argTypes:
    - ep2_t
    - ep2_t
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 66
    functionName: ep2_frb
    functionSourceFile: /src/relic/src/epx/relic_ep2_frb.c
    functionUses: 3
    functionsReached:
    - fp2_frb
    - bn_null
    - RLC_THROW
    - ep2_copy
    - fp2_mul
    - ep2_curve_opt_a
    - bn_new
    - fp_prime_get_par
    - ep2_mul_basic
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep2_frb(ep2_t r, const ep2_t p, int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_is_zero
      Src: /src/relic/src/epx/relic_ep4_util.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep4_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: ep4_is_infty
    functionSourceFile: /src/relic/src/epx/relic_ep4_util.c
    functionUses: 11
    functionsReached:
    - fp4_is_zero
    linkageType: ''
    returnType: int
    signature: int ep4_is_infty(const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_zero
      Src: /src/relic/src/epx/relic_ep4_util.c:44,1
    - Dst: fp4_zero
      Src: /src/relic/src/epx/relic_ep4_util.c:45,1
    - Dst: fp4_zero
      Src: /src/relic/src/epx/relic_ep4_util.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep4_t
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ep4_set_infty
    functionSourceFile: /src/relic/src/epx/relic_ep4_util.c
    functionUses: 14
    functionsReached:
    - fp4_zero
    linkageType: ''
    returnType: void
    signature: void ep4_set_infty(ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_util.c:51,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_util.c:52,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_util.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: ep4_copy
    functionSourceFile: /src/relic/src/epx/relic_ep4_util.c
    functionUses: 16
    functionsReached:
    - fp4_copy
    linkageType: ''
    returnType: void
    signature: void ep4_copy(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_util.c:60,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_util.c:61,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_util.c:64,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_util.c:65,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/src/epx/relic_ep4_util.c:67,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/epx/relic_ep4_util.c:68,1
    - Dst: ep4_mul_gen
      Src: /src/relic/src/epx/relic_ep4_util.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep4_t
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: ep4_rand
    functionSourceFile: /src/relic/src/epx/relic_ep4_util.c
    functionUses: 12
    functionsReached:
    - bn_null
    - bn_rand_mod
    - ep4_mul_gen
    - ep4_curve_get_ord
    - bn_new
    linkageType: ''
    returnType: void
    signature: void ep4_rand(ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_util.c:84,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_util.c:87,1
    - Dst: fp4_rand
      Src: /src/relic/src/epx/relic_ep4_util.c:88,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_util.c:91,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_util.c:93,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_util.c:94,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_util.c:95,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_util.c:98,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_util.c:99,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_util.c:100,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_util.c:101,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_util.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 105
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 105
    functionName: ep4_blind
    functionSourceFile: /src/relic/src/epx/relic_ep4_util.c
    functionUses: 1
    functionsReached:
    - fp4_mul
    - fp4_rand
    - ep4_copy
    - fp4_null
    - fp4_sqr
    - fp4_new
    linkageType: ''
    returnType: void
    signature: void ep4_blind(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_util.c:115,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_util.c:118,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_util.c:120,1
    - Dst: ep4_curve_opt_a
      Src: /src/relic/src/epx/relic_ep4_util.c:122,1
    - Dst: fp_sub_dig
      Src: /src/relic/src/epx/relic_ep4_util.c:127,1
    - Dst: fp_add_dig
      Src: /src/relic/src/epx/relic_ep4_util.c:130,1
    - Dst: fp_add_dig
      Src: /src/relic/src/epx/relic_ep4_util.c:133,1
    - Dst: fp4_mul_dig
      Src: /src/relic/src/epx/relic_ep4_util.c:136,1
    - Dst: ep4_curve_get_a
      Src: /src/relic/src/epx/relic_ep4_util.c:136,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_util.c:140,1
    - Dst: ep4_curve_get_a
      Src: /src/relic/src/epx/relic_ep4_util.c:140,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_util.c:144,1
    - Dst: ep4_curve_opt_b
      Src: /src/relic/src/epx/relic_ep4_util.c:146,1
    - Dst: fp_sub_dig
      Src: /src/relic/src/epx/relic_ep4_util.c:151,1
    - Dst: fp_add_dig
      Src: /src/relic/src/epx/relic_ep4_util.c:154,1
    - Dst: fp_add_dig
      Src: /src/relic/src/epx/relic_ep4_util.c:157,1
    - Dst: fp4_mul_dig
      Src: /src/relic/src/epx/relic_ep4_util.c:160,1
    - Dst: ep4_curve_get_b
      Src: /src/relic/src/epx/relic_ep4_util.c:160,1
    - Dst: fp4_add
      Src: /src/relic/src/epx/relic_ep4_util.c:164,1
    - Dst: ep4_curve_get_b
      Src: /src/relic/src/epx/relic_ep4_util.c:164,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_util.c:168,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - rhs
    - x
    argTypes:
    - fp4_t
    - fp4_t
    constantsTouched: []
    func_position:
      end: 169
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 169
    functionName: ep4_rhs
    functionSourceFile: /src/relic/src/epx/relic_ep4_util.c
    functionUses: 1
    functionsReached:
    - fp4_mul
    - ep4_curve_get_a
    - fp_sub_dig
    - ep4_curve_opt_a
    - fp4_mul_dig
    - fp4_add
    - fp_add_dig
    - fp4_copy
    - fp4_null
    - fp4_sqr
    - ep4_curve_opt_b
    - fp4_new
    - ep4_curve_get_b
    linkageType: ''
    returnType: void
    signature: void ep4_rhs(fp4_t rhs, const fp4_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_util.c:180,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_util.c:183,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_util.c:185,1
    - Dst: ep4_rhs
      Src: /src/relic/src/epx/relic_ep4_util.c:187,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_util.c:188,1
    - Dst: fp4_cmp
      Src: /src/relic/src/epx/relic_ep4_util.c:190,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_util.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep4_t
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: ep4_on_curve
    functionSourceFile: /src/relic/src/epx/relic_ep4_util.c
    functionUses: 3
    functionsReached:
    - ep4_new
    - ep4_rhs
    - ep4_norm
    - fp4_cmp
    - fp4_sqr
    - ep4_null
    - ep4_is_infty
    linkageType: ''
    returnType: int
    signature: int ep4_on_curve(const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_util.c:201,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_util.c:203,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_util.c:205,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_util.c:207,1
    - Dst: ep4_norm_sim
      Src: /src/relic/src/epx/relic_ep4_util.c:210,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_util.c:214,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_util.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - t
    - p
    - w
    argTypes:
    - ep4_t*
    - ep4_t
    - int
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: ep4_tab
    functionSourceFile: /src/relic/src/epx/relic_ep4_util.c
    functionUses: 0
    functionsReached:
    - ep4_dbl
    - ep4_copy
    - ep4_add
    - ep4_norm
    - ep4_norm_sim
    linkageType: ''
    returnType: void
    signature: void ep4_tab(ep4_t *t, const ep4_t p, int w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_print
      Src: /src/relic/src/epx/relic_ep4_util.c:221,1
    - Dst: fp4_print
      Src: /src/relic/src/epx/relic_ep4_util.c:222,1
    - Dst: fp4_print
      Src: /src/relic/src/epx/relic_ep4_util.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep4_t
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: ep4_print
    functionSourceFile: /src/relic/src/epx/relic_ep4_util.c
    functionUses: 0
    functionsReached:
    - fp4_print
    linkageType: ''
    returnType: void
    signature: void ep4_print(const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_util.c:230,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_util.c:232,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_util.c:237,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_util.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - pack
    argTypes:
    - ep4_t
    - int
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: ep4_size_bin
    functionSourceFile: /src/relic/src/epx/relic_ep4_util.c
    functionUses: 1
    functionsReached:
    - ep4_null
    - ep4_is_infty
    - ep4_norm
    - ep4_new
    linkageType: ''
    returnType: size_t
    signature: size_t ep4_size_bin(const ep4_t a, int pack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_util.c:255,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_util.c:258,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_util.c:264,1
    - Dst: fp4_set_dig
      Src: /src/relic/src/epx/relic_ep4_util.c:269,1
    - Dst: fp4_read_bin
      Src: /src/relic/src/epx/relic_ep4_util.c:270,1
    - Dst: fp4_read_bin
      Src: /src/relic/src/epx/relic_ep4_util.c:274,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_util.c:276,1
    - Dst: ep4_on_curve
      Src: /src/relic/src/epx/relic_ep4_util.c:281,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_util.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - a
    - bin
    - len
    argTypes:
    - ep4_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 284
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 284
    functionName: ep4_read_bin
    functionSourceFile: /src/relic/src/epx/relic_ep4_util.c
    functionUses: 1
    functionsReached:
    - fp4_read_bin
    - ep4_on_curve
    - RLC_THROW
    - ep4_set_infty
    - fp4_set_dig
    linkageType: ''
    returnType: void
    signature: void ep4_read_bin(ep4_t a, const uint8_t *bin, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_util.c:289,1
    - Dst: memset
      Src: /src/relic/src/epx/relic_ep4_util.c:291,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_util.c:293,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_util.c:295,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_util.c:303,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_util.c:305,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_util.c:308,1
    - Dst: fp4_write_bin
      Src: /src/relic/src/epx/relic_ep4_util.c:311,1
    - Dst: fp4_write_bin
      Src: /src/relic/src/epx/relic_ep4_util.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - bin
    - len
    - a
    - pack
    argTypes:
    - uint8_t*
    - size_t
    - ep4_t
    - int
    constantsTouched: []
    func_position:
      end: 314
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 314
    functionName: ep4_write_bin
    functionSourceFile: /src/relic/src/epx/relic_ep4_util.c
    functionUses: 1
    functionsReached:
    - ep4_new
    - RLC_THROW
    - memset
    - ep4_norm
    - fp4_write_bin
    - ep4_null
    - ep4_is_infty
    linkageType: ''
    returnType: void
    signature: void ep4_write_bin(uint8_t *bin, size_t len, const ep4_t a, int pack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_cmp.c:43,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_cmp.c:43,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_cmp.c:47,1
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_cmp.c:48,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_cmp.c:51,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_cmp.c:52,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_cmp.c:58,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_cmp.c:59,1
    - Dst: fp3_sqr
      Src: /src/relic/src/epx/relic_ep3_cmp.c:64,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_cmp.c:65,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_cmp.c:66,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_cmp.c:67,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_cmp.c:70,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_cmp.c:77,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_cmp.c:78,1
    - Dst: fp3_sqr
      Src: /src/relic/src/epx/relic_ep3_cmp.c:81,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_cmp.c:82,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_cmp.c:83,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_cmp.c:84,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_cmp.c:87,1
    - Dst: fp3_cmp
      Src: /src/relic/src/epx/relic_ep3_cmp.c:91,1
    - Dst: fp3_cmp
      Src: /src/relic/src/epx/relic_ep3_cmp.c:91,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 94
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 94
    functionName: ep3_cmp
    functionSourceFile: /src/relic/src/epx/relic_ep3_cmp.c
    functionUses: 10
    functionsReached:
    - ep3_null
    - ep3_is_infty
    - ep3_new
    - fp3_sqr
    - fp3_mul
    - ep3_copy
    - fp3_cmp
    linkageType: ''
    returnType: int
    signature: int ep3_cmp(const ep3_t p, const ep3_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:54,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:55,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:61,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:64,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:66,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:70,1
    - Dst: ep3_sub
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:73,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:77,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:78,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - r
    - table
    - k
    argTypes:
    - ep3_t
    - ep3_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 81
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 81
    functionName: ep3_mul_fix_plain
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_fix.c
    functionUses: 0
    functionsReached:
    - ep3_set_infty
    - ep3_dbl
    - ep3_sub
    - ep3_add
    - bn_rec_naf
    - bn_sign
    - ep3_norm
    - bn_is_zero
    - ep3_neg
    linkageType: ''
    returnType: void
    signature: void ep3_mul_fix_plain(ep3_t r, const ep3_t *table, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:94,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:97,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:99,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:101,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:102,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep3_t*
    - ep3_t
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: ep3_mul_pre_basic
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_fix.c
    functionUses: 1
    functionsReached:
    - bn_null
    - ep3_dbl
    - ep3_curve_get_ord
    - bn_new
    - bn_bits
    - ep3_copy
    linkageType: ''
    returnType: void
    signature: void ep3_mul_pre_basic(ep3_t *t, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:117,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:118,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:122,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:123,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:126,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:127,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:129,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:130,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:132,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:133,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:134,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:135,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep3_t
    - ep3_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 139
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 139
    functionName: ep3_mul_fix_basic
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep3_set_infty
    - bn_get_bit
    - bn_null
    - bn_mod
    - ep3_curve_get_ord
    - ep3_add
    - bn_new
    - bn_bits
    - ep3_norm
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep3_mul_fix_basic(ep3_t r, const ep3_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:155,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:158,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:160,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:161,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:164,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:166,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:168,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:170,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:173,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:176,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep3_t*
    - ep3_t
    constantsTouched: []
    func_position:
      end: 184
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 184
    functionName: ep3_mul_pre_combs
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep3_set_infty
    - bn_null
    - ep3_dbl
    - ep3_curve_get_ord
    - ep3_add
    - bn_new
    - bn_bits
    - ep3_copy
    - ep3_norm
    linkageType: ''
    returnType: void
    signature: void ep3_mul_pre_combs(ep3_t *t, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:197,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:198,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:202,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:203,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:206,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:207,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:209,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:210,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:213,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:214,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:222,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:226,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:229,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:235,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:240,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:243,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep3_t
    - ep3_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 244
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 244
    functionName: ep3_mul_fix_combs
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep3_set_infty
    - bn_get_bit
    - bn_null
    - ep3_dbl
    - bn_mod
    - ep3_curve_get_ord
    - ep3_add
    - bn_new
    - bn_bits
    - ep3_copy
    - ep3_norm
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep3_mul_fix_combs(ep3_t r, const ep3_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:262,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:265,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:267,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:268,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:272,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:273,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:275,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:277,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:280,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:283,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:286,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:288,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:290,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep3_t*
    - ep3_t
    constantsTouched: []
    func_position:
      end: 298
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 298
    functionName: ep3_mul_pre_combd
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep3_set_infty
    - bn_null
    - ep3_dbl
    - ep3_curve_get_ord
    - ep3_add
    - bn_new
    - bn_bits
    - ep3_copy
    - ep3_norm
    linkageType: ''
    returnType: void
    signature: void ep3_mul_pre_combd(ep3_t *t, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:311,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:312,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:316,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:317,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:320,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:321,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:323,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:324,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:328,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:329,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:330,1
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:334,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:340,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:349,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:354,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:355,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:357,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep3_t
    - ep3_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 358
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 358
    functionName: ep3_mul_fix_combd
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep3_set_infty
    - bn_get_bit
    - bn_null
    - ep3_dbl
    - bn_mod
    - ep3_curve_get_ord
    - ep3_add
    - bn_new
    - bn_bits
    - ep3_norm
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep3_mul_fix_combd(ep3_t r, const ep3_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_tab
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep3_t*
    - ep3_t
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: ep3_mul_pre_lwnaf
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep3_tab
    linkageType: ''
    returnType: void
    signature: void ep3_mul_pre_lwnaf(ep3_t *t, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:379,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:380,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:384,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:385,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:388,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:389,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:391,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:392,1
    - Dst: ep3_mul_fix_plain
      Src: /src/relic/src/epx/relic_ep3_mul_fix.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep3_t
    - ep3_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: ep3_mul_fix_lwnaf
    functionSourceFile: /src/relic/src/epx/relic_ep3_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep3_set_infty
    - bn_null
    - bn_mod
    - ep3_curve_get_ord
    - bn_new
    - ep3_mul_fix_plain
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep3_mul_fix_lwnaf(ep3_t r, const ep3_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_dbl.c:87,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_dbl.c:88,1
    - Dst: ep3_dbl_basic_imp
      Src: /src/relic/src/epx/relic_ep3_dbl.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: ep3_dbl_basic
    functionSourceFile: /src/relic/src/epx/relic_ep3_dbl.c
    functionUses: 1
    functionsReached:
    - ep3_set_infty
    - ep3_dbl_basic_imp
    - ep3_is_infty
    linkageType: ''
    returnType: void
    signature: void ep3_dbl_basic(ep3_t r, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_dbl.c:95,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_dbl.c:96,1
    - Dst: ep3_dbl_basic_imp
      Src: /src/relic/src/epx/relic_ep3_dbl.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - r
    - s
    - p
    argTypes:
    - ep3_t
    - fp3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: ep3_dbl_slp_basic
    functionSourceFile: /src/relic/src/epx/relic_ep3_dbl.c
    functionUses: 0
    functionsReached:
    - ep3_set_infty
    - ep3_dbl_basic_imp
    - ep3_is_infty
    linkageType: ''
    returnType: void
    signature: void ep3_dbl_slp_basic(ep3_t r, fp3_t s, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_dbl.c:108,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_dbl.c:109,1
    - Dst: ep3_dbl_projc_imp
      Src: /src/relic/src/epx/relic_ep3_dbl.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: ep3_dbl_projc
    functionSourceFile: /src/relic/src/epx/relic_ep3_dbl.c
    functionUses: 1
    functionsReached:
    - ep3_set_infty
    - ep3_dbl_projc_imp
    - ep3_is_infty
    linkageType: ''
    returnType: void
    signature: void ep3_dbl_projc(ep3_t r, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_dbl.c:121,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_dbl.c:122,1
    - Dst: ep3_dbl_jacob_imp
      Src: /src/relic/src/epx/relic_ep3_dbl.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: ep3_dbl_jacob
    functionSourceFile: /src/relic/src/epx/relic_ep3_dbl.c
    functionUses: 1
    functionsReached:
    - ep3_set_infty
    - ep3_is_infty
    - ep3_dbl_jacob_imp
    linkageType: ''
    returnType: void
    signature: void ep3_dbl_jacob(ep3_t r, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_dbl.c:87,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_dbl.c:88,1
    - Dst: ep4_dbl_basic_imp
      Src: /src/relic/src/epx/relic_ep4_dbl.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: ep4_dbl_basic
    functionSourceFile: /src/relic/src/epx/relic_ep4_dbl.c
    functionUses: 1
    functionsReached:
    - ep4_is_infty
    - ep4_set_infty
    - ep4_dbl_basic_imp
    linkageType: ''
    returnType: void
    signature: void ep4_dbl_basic(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_dbl.c:95,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_dbl.c:96,1
    - Dst: ep4_dbl_basic_imp
      Src: /src/relic/src/epx/relic_ep4_dbl.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - r
    - s
    - p
    argTypes:
    - ep4_t
    - fp4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: ep4_dbl_slp_basic
    functionSourceFile: /src/relic/src/epx/relic_ep4_dbl.c
    functionUses: 0
    functionsReached:
    - ep4_is_infty
    - ep4_set_infty
    - ep4_dbl_basic_imp
    linkageType: ''
    returnType: void
    signature: void ep4_dbl_slp_basic(ep4_t r, fp4_t s, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_dbl.c:108,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_dbl.c:109,1
    - Dst: ep4_dbl_projc_imp
      Src: /src/relic/src/epx/relic_ep4_dbl.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: ep4_dbl_projc
    functionSourceFile: /src/relic/src/epx/relic_ep4_dbl.c
    functionUses: 1
    functionsReached:
    - ep4_is_infty
    - ep4_set_infty
    - ep4_dbl_projc_imp
    linkageType: ''
    returnType: void
    signature: void ep4_dbl_projc(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_dbl.c:121,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_dbl.c:122,1
    - Dst: ep4_dbl_jacob_imp
      Src: /src/relic/src/epx/relic_ep4_dbl.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: ep4_dbl_jacob
    functionSourceFile: /src/relic/src/epx/relic_ep4_dbl.c
    functionUses: 1
    functionsReached:
    - ep4_is_infty
    - ep4_set_infty
    - ep4_dbl_jacob_imp
    linkageType: ''
    returnType: void
    signature: void ep4_dbl_jacob(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_curve.c:273,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_curve.c:276,1
    - Dst: fp4_set_dig
      Src: /src/relic/src/epx/relic_ep4_curve.c:277,1
    - Dst: fp4_neg
      Src: /src/relic/src/epx/relic_ep4_curve.c:278,1
    - Dst: fp4_cmp
      Src: /src/relic/src/epx/relic_ep4_curve.c:280,1
    - Dst: fp4_is_zero
      Src: /src/relic/src/epx/relic_ep4_curve.c:282,1
    - Dst: fp4_cmp_dig
      Src: /src/relic/src/epx/relic_ep4_curve.c:284,1
    - Dst: fp4_cmp_dig
      Src: /src/relic/src/epx/relic_ep4_curve.c:286,1
    - Dst: fp_bits
      Src: /src/relic/src/epx/relic_ep4_curve.c:288,1
    - Dst: fp_is_zero
      Src: /src/relic/src/epx/relic_ep4_curve.c:288,1
    - Dst: fp2_is_zero
      Src: /src/relic/src/epx/relic_ep4_curve.c:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - opt
    - a
    argTypes:
    - int*
    - fp4_t
    constantsTouched: []
    func_position:
      end: 294
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 294
    functionName: detect_opt
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 2
    functionsReached:
    - fp_is_zero
    - fp4_cmp_dig
    - fp_bits
    - fp4_cmp
    - fp4_is_zero
    - fp4_null
    - fp4_set_dig
    - fp4_new
    - fp4_neg
    - fp2_is_zero
    linkageType: ''
    returnType: void
    signature: void detect_opt(int *opt, fp4_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:308,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_curve.c:317,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_curve.c:318,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_curve.c:319,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_curve.c:325,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_curve.c:326,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_curve.c:327,1
    - Dst: bn_make
      Src: /src/relic/src/epx/relic_ep4_curve.c:331,1
    - Dst: bn_make
      Src: /src/relic/src/epx/relic_ep4_curve.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 333
    functionName: ep4_curve_init
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 0
    functionsReached:
    - bn_make
    - ep4_new
    - fp4_new
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep4_curve_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:336,1
    - Dst: fp4_free
      Src: /src/relic/src/epx/relic_ep4_curve.c:340,1
    - Dst: fp4_free
      Src: /src/relic/src/epx/relic_ep4_curve.c:341,1
    - Dst: fp4_free
      Src: /src/relic/src/epx/relic_ep4_curve.c:342,1
    - Dst: bn_clean
      Src: /src/relic/src/epx/relic_ep4_curve.c:345,1
    - Dst: bn_clean
      Src: /src/relic/src/epx/relic_ep4_curve.c:346,1
    - Dst: ep4_free
      Src: /src/relic/src/epx/relic_ep4_curve.c:347,1
    - Dst: fp4_free
      Src: /src/relic/src/epx/relic_ep4_curve.c:348,1
    - Dst: fp4_free
      Src: /src/relic/src/epx/relic_ep4_curve.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 351
    functionName: ep4_curve_clean
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 0
    functionsReached:
    - bn_clean
    - fp4_free
    - ep4_free
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep4_curve_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: ep4_curve_opt_a
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep4_curve_opt_a(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: ep4_curve_opt_b
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep4_curve_opt_b(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:362,1
    - Dst: ep4_curve_is_twist
      Src: /src/relic/src/epx/relic_ep4_curve.c:363,1
    - Dst: fp4_zero
      Src: /src/relic/src/epx/relic_ep4_curve.c:366,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:369,1
    - Dst: fp4_dbl
      Src: /src/relic/src/epx/relic_ep4_curve.c:372,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_curve.c:375,1
    - Dst: fp4_mul_art
      Src: /src/relic/src/epx/relic_ep4_curve.c:378,1
    - Dst: fp4_zero
      Src: /src/relic/src/epx/relic_ep4_curve.c:382,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:385,1
    - Dst: fp4_dbl
      Src: /src/relic/src/epx/relic_ep4_curve.c:388,1
    - Dst: fp4_mul_dig
      Src: /src/relic/src/epx/relic_ep4_curve.c:392,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_curve.c:396,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp4_t
    - fp4_t
    constantsTouched: []
    func_position:
      end: 400
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 400
    functionName: ep4_curve_mul_a
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 0
    functionsReached:
    - ep4_curve_is_twist
    - fp4_mul
    - fp4_dbl
    - fp4_zero
    - fp4_copy
    - fp4_mul_dig
    - core_get
    - fp4_mul_art
    linkageType: ''
    returnType: void
    signature: void ep4_curve_mul_a(fp4_t c, const fp4_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:403,1
    - Dst: fp4_zero
      Src: /src/relic/src/epx/relic_ep4_curve.c:406,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:409,1
    - Dst: fp4_mul_dig
      Src: /src/relic/src/epx/relic_ep4_curve.c:413,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_curve.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp4_t
    - fp4_t
    constantsTouched: []
    func_position:
      end: 420
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 420
    functionName: ep4_curve_mul_b
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 0
    functionsReached:
    - fp4_mul
    - fp4_zero
    - fp4_copy
    - fp4_mul_dig
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep4_curve_mul_b(fp4_t c, const fp4_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: ep4_curve_is_twist
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 2
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep4_curve_is_twist(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:427,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - ep4_t
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: ep4_curve_get_gen
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 4
    functionsReached:
    - ep4_copy
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep4_curve_get_gen(ep4_t g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: ep4_curve_get_a
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 2
    functionsReached:
    - core_get
    linkageType: ''
    returnType: fp2_t
    signature: fp2_t *ep4_curve_get_a(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: ep4_curve_get_b
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: fp2_t
    signature: fp2_t *ep4_curve_get_b(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:439,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/src/epx/relic_ep4_curve.c:441,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - bn_t
    constantsTouched: []
    func_position:
      end: 445
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 445
    functionName: ep4_curve_get_ord
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 12
    functionsReached:
    - bn_copy
    - core_get
    - ep_curve_get_ord
    linkageType: ''
    returnType: void
    signature: void ep4_curve_get_ord(bn_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:448,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - bn_t
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: ep4_curve_get_cof
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 0
    functionsReached:
    - core_get
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void ep4_curve_get_cof(bn_t h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:455,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: ep4_curve_get_tab
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 0
    functionsReached:
    - core_get
    linkageType: ''
    returnType: ep4_t
    signature: ep4_t *ep4_curve_get_tab(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:465,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_curve.c:470,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_curve.c:471,1
    - Dst: fp4_null
      Src: /src/relic/src/epx/relic_ep4_curve.c:472,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_curve.c:473,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_curve.c:474,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_curve.c:484,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_curve.c:485,1
    - Dst: fp4_new
      Src: /src/relic/src/epx/relic_ep4_curve.c:486,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_curve.c:487,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_curve.c:488,1
    - Dst: ep_param_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:490,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep4_curve.c:493,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep4_curve.c:497,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep4_curve.c:501,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep4_curve.c:505,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep4_curve.c:509,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep4_curve.c:513,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep4_curve.c:517,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep4_curve.c:520,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_curve.c:525,1
    - Dst: fp4_zero
      Src: /src/relic/src/epx/relic_ep4_curve.c:529,1
    - Dst: fp4_set_dig
      Src: /src/relic/src/epx/relic_ep4_curve.c:530,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:533,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:534,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:535,1
    - Dst: detect_opt
      Src: /src/relic/src/epx/relic_ep4_curve.c:537,1
    - Dst: detect_opt
      Src: /src/relic/src/epx/relic_ep4_curve.c:538,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:540,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:541,1
    - Dst: ep4_curve_opt_b
      Src: /src/relic/src/epx/relic_ep4_curve.c:543,1
    - Dst: fp2_zero
      Src: /src/relic/src/epx/relic_ep4_curve.c:545,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:546,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:547,1
    - Dst: fp4_inv
      Src: /src/relic/src/epx/relic_ep4_curve.c:548,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:549,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:550,1
    - Dst: fp2_is_zero
      Src: /src/relic/src/epx/relic_ep4_curve.c:551,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:557,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:558,1
    - Dst: fp2_zero
      Src: /src/relic/src/epx/relic_ep4_curve.c:562,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:563,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:564,1
    - Dst: fp4_inv
      Src: /src/relic/src/epx/relic_ep4_curve.c:565,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:566,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:567,1
    - Dst: pc_core_calc
      Src: /src/relic/src/epx/relic_ep4_curve.c:573,1
    - Dst: ep4_mul_pre
      Src: /src/relic/src/epx/relic_ep4_curve.c:577,1
    - Dst: ep4_curve_get_tab
      Src: /src/relic/src/epx/relic_ep4_curve.c:577,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 86
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 579
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 579
    functionName: ep4_curve_set_twist
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 0
    functionsReached:
    - ep4_mul_pre
    - ep4_copy
    - fp4_inv
    - fp4_new
    - ep4_new
    - bn_null
    - RLC_THROW
    - ASSIGN
    - fp_copy
    - fp4_set_dig
    - ep4_curve_get_tab
    - pc_core_calc
    - bn_new
    - ep4_null
    - core_get
    - fp2_is_zero
    - ep_param_get
    - fp4_zero
    - fp2_zero
    - fp4_copy
    - fp4_null
    - ep4_curve_opt_b
    - detect_opt
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void ep4_curve_set_twist(int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep4_curve.c:593,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:596,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:597,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_curve.c:599,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:600,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep4_curve.c:601,1
    - Dst: ep4_mul_pre
      Src: /src/relic/src/epx/relic_ep4_curve.c:604,1
    - Dst: ep4_curve_get_tab
      Src: /src/relic/src/epx/relic_ep4_curve.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - a
    - b
    - g
    - r
    - h
    argTypes:
    - fp4_t
    - fp4_t
    - ep4_t
    - bn_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 606
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 606
    functionName: ep4_curve_set
    functionSourceFile: /src/relic/src/epx/relic_ep4_curve.c
    functionUses: 0
    functionsReached:
    - ep4_curve_get_tab
    - ep4_mul_pre
    - ep4_norm
    - fp4_copy
    - core_get
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void ep4_curve_set(const fp4_t a, const fp4_t b, const ep4_t g, const
      bn_t r, const bn_t h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:50,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:51,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:52,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:53,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:54,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:55,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:56,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:59,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:60,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:61,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:62,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:63,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:64,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:65,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:67,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:70,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:71,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:72,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:74,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:75,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:76,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:78,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:79,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:80,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:81,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:82,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:84,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:85,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:86,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:87,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:89,1
    - Dst: ep4_mul_dig
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:90,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:91,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:92,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:93,1
    - Dst: ep4_mul_dig
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:95,1
    - Dst: ep4_mul_dig
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:96,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:97,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:98,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:99,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:100,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:101,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:102,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:104,1
    - Dst: ep4_mul_dig
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:105,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:106,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:107,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:108,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:110,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:111,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:112,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:113,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 116
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 116
    functionName: ep4_mul_cof_k16
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_cof.c
    functionUses: 0
    functionsReached:
    - ep4_frb
    - ep4_new
    - bn_null
    - ep4_dbl
    - ep4_add
    - ep4_sub
    - bn_new
    - ep4_mul_basic
    - ep4_norm
    - fp_prime_get_par
    - ep4_null
    - ep4_mul_dig
    linkageType: ''
    returnType: void
    signature: void ep4_mul_cof_k16(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:139,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:140,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:141,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:142,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:143,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:144,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:145,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:148,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:149,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:150,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:151,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:152,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:153,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:154,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:156,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:159,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:160,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:161,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:163,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:164,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:165,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:166,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:167,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:168,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:169,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:170,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:172,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:173,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:174,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:176,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:177,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:178,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:180,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:181,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:182,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:184,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:185,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:186,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 189
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 189
    functionName: ep4_mul_cof_afg16
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_cof.c
    functionUses: 0
    functionsReached:
    - ep4_frb
    - ep4_new
    - bn_null
    - ep4_dbl
    - ep4_add
    - ep4_sub
    - bn_new
    - ep4_mul_basic
    - ep4_norm
    - fp_prime_get_par
    - ep4_null
    linkageType: ''
    returnType: void
    signature: void ep4_mul_cof_afg16(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:212,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:213,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:214,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:215,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:216,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:219,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:220,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:221,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:222,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:223,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:225,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:226,1
    - Dst: bn_hlv
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:227,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:229,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:235,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:236,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:237,1
    - Dst: bn_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:238,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:240,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:241,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:242,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:243,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:244,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:246,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:247,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:248,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:249,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:250,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:252,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:253,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:254,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:255,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:256,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:258,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:259,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:261,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:262,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:263,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:265,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:266,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:267,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:269,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:270,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:271,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 274
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 274
    functionName: ep4_mul_cof_fm16
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_cof.c
    functionUses: 0
    functionsReached:
    - bn_is_even
    - ep4_frb
    - ep4_new
    - bn_null
    - ep4_dbl
    - RLC_THROW
    - ep4_add
    - bn_hlv
    - ep4_sub
    - bn_new
    - ep4_mul_basic
    - ep4_norm
    - fp_prime_get_par
    - ep4_null
    - bn_dbl
    linkageType: ''
    returnType: void
    signature: void ep4_mul_cof_fm16(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:295,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:296,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:297,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:298,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:299,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:302,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:303,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:304,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:305,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:306,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:308,1
    - Dst: bn_sub_dig
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:310,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:311,1
    - Dst: bn_add_dig
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:312,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:313,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:314,1
    - Dst: ep4_mul_basic
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:315,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:318,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:320,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:322,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:324,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:326,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:327,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:328,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:329,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:330,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:331,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 334
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 334
    functionName: ep4_mul_cof_b24
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_cof.c
    functionUses: 0
    functionsReached:
    - ep4_frb
    - ep4_new
    - bn_null
    - bn_add_dig
    - ep4_dbl
    - ep4_add
    - bn_sub_dig
    - ep4_sub
    - bn_new
    - ep4_mul_basic
    - ep4_norm
    - fp_prime_get_par
    - ep4_null
    linkageType: ''
    returnType: void
    signature: void ep4_mul_cof_b24(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:353,1
    - Dst: switch
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:356,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:356,1
    - Dst: ep4_mul_cof_k16
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:358,1
    - Dst: ep4_mul_cof_afg16
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:361,1
    - Dst: ep4_mul_cof_fm16
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:364,1
    - Dst: ep4_mul_cof_b24
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:367,1
    - Dst: ep4_curve_get_cof
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:371,1
    - Dst: ep4_mul_big
      Src: /src/relic/src/epx/relic_ep4_mul_cof.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 374
      start: 350
    functionDepth: 4
    functionLinenumber: 350
    functionLinenumberEnd: 374
    functionName: ep4_mul_cof
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_cof.c
    functionUses: 1
    functionsReached:
    - ep4_mul_cof_b24
    - bn_null
    - switch
    - ep4_curve_get_cof
    - ep4_mul_big
    - ep4_mul_cof_k16
    - ep4_mul_cof_afg16
    - ep_curve_is_pairf
    - ep4_mul_cof_fm16
    linkageType: ''
    returnType: void
    signature: void ep4_mul_cof(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:62,1
    - Dst: for
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:63,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:64,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:65,1
    - Dst: ep8_tab
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:67,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:73,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:74,1
    - Dst: ep8_tab
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:77,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:86,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:87,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:89,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:92,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:97,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:103,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:105,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:110,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:113,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:116,1
    - Dst: ep8_sub
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 6
    argNames:
    - r
    - p
    - k
    - q
    - m
    - t
    argTypes:
    - ep8_t
    - ep8_t
    - bn_t
    - ep8_t
    - bn_t
    - ep8_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 134
    functionName: ep8_mul_sim_plain
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_sim.c
    functionUses: 0
    functionsReached:
    - ep8_new
    - ep8_dbl
    - if
    - for
    - ep8_tab
    - bn_rec_naf
    - RLC_MAX
    - bn_sign
    - ep8_sub
    - ep8_add
    - ep8_set_infty
    - ep8_null
    linkageType: ''
    returnType: void
    signature: "void ep8_mul_sim_plain(ep8_t r, const ep8_t p, const bn_t k,\n\t\tconst
      ep8_t q, const bn_t m, ep8_t *t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:153,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:156,1
    - Dst: ep8_mul
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:157,1
    - Dst: ep8_mul
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:158,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:159,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - l
    argTypes:
    - ep8_t
    - ep8_t
    - bn_t
    - ep8_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: ep8_mul_sim_basic
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep8_mul
    - ep8_new
    - ep8_norm
    - ep8_add
    - ep8_null
    linkageType: ''
    returnType: void
    signature: "void ep8_mul_sim_basic(ep8_t r, const ep8_t p, const bn_t k, const
      ep8_t q,\n\t\tconst bn_t l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:183,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:185,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:185,1
    - Dst: ep8_mul
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:186,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:189,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:189,1
    - Dst: ep8_mul
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:190,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:195,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:197,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:200,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:201,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:202,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:203,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:206,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:207,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:210,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:211,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:212,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:213,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:216,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:219,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:220,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:221,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:222,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:225,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:230,1
    - Dst: ep8_norm_sim
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:235,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:238,1
    - Dst: bn_rec_win
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:239,1
    - Dst: bn_rec_win
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:240,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:242,1
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:245,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:247,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:249,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - ep8_t
    - ep8_t
    - bn_t
    - ep8_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 250
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 250
    functionName: ep8_mul_sim_trick
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep8_mul
    - ep8_new
    - bn_null
    - ep8_set_infty
    - ep8_dbl
    - ep8_neg
    - RLC_CEIL
    - ep8_norm_sim
    - bn_sign
    - bn_rec_win
    - bn_new
    - ep8_is_infty
    - ep8_norm
    - ep8_add
    - bn_is_zero
    - ep8_curve_get_ord
    - ep8_copy
    - ep8_null
    linkageType: ''
    returnType: void
    signature: "void ep8_mul_sim_trick(ep8_t r, const ep8_t p, const bn_t k, const
      ep8_t q,\n\t\tconst bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:270,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:270,1
    - Dst: ep8_mul
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:271,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:274,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:274,1
    - Dst: ep8_mul
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:275,1
    - Dst: ep8_mul_sim_plain
      Src: /src/relic/src/epx/relic_ep8_mul_sim.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - ep8_t
    - ep8_t
    - bn_t
    - ep8_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: ep8_mul_sim_inter
    functionSourceFile: /src/relic/src/epx/relic_ep8_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep8_mul
    - bn_is_zero
    - ep8_is_infty
    - ep8_mul_sim_plain
    linkageType: ''
    returnType: void
    signature: "void ep8_mul_sim_inter(ep8_t r, const ep8_t p, const bn_t k, const
      ep8_t q,\n\t\tconst bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_frb.c:40,1
    - Dst: fp8_frb
      Src: /src/relic/src/epx/relic_ep8_frb.c:42,1
    - Dst: fp8_frb
      Src: /src/relic/src/epx/relic_ep8_frb.c:43,1
    - Dst: fp8_frb
      Src: /src/relic/src/epx/relic_ep8_frb.c:44,1
    - Dst: fp8_mul_frb
      Src: /src/relic/src/epx/relic_ep8_frb.c:45,1
    - Dst: fp8_mul_frb
      Src: /src/relic/src/epx/relic_ep8_frb.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - r
    - p
    - i
    argTypes:
    - ep8_t
    - ep8_t
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: ep8_frb
    functionSourceFile: /src/relic/src/epx/relic_ep8_frb.c
    functionUses: 4
    functionsReached:
    - fp8_mul_frb
    - ep8_copy
    - fp8_frb
    linkageType: ''
    returnType: void
    signature: void ep8_frb(ep8_t r, const ep8_t p, int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_add.c:110,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_add.c:111,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_add.c:115,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_add.c:116,1
    - Dst: ep8_add_basic_imp
      Src: /src/relic/src/epx/relic_ep8_add.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep8_t
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: ep8_add_basic
    functionSourceFile: /src/relic/src/epx/relic_ep8_add.c
    functionUses: 1
    functionsReached:
    - ep8_is_infty
    - ep8_copy
    - ep8_add_basic_imp
    linkageType: ''
    returnType: void
    signature: void ep8_add_basic(ep8_t r, const ep8_t p, const ep8_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_add.c:124,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_add.c:125,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_add.c:129,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_add.c:130,1
    - Dst: ep8_add_basic_imp
      Src: /src/relic/src/epx/relic_ep8_add.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - r
    - s
    - p
    - q
    argTypes:
    - ep8_t
    - fp8_t
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: ep8_add_slp_basic
    functionSourceFile: /src/relic/src/epx/relic_ep8_add.c
    functionUses: 0
    functionsReached:
    - ep8_is_infty
    - ep8_copy
    - ep8_add_basic_imp
    linkageType: ''
    returnType: void
    signature: void ep8_add_slp_basic(ep8_t r, fp8_t s, const ep8_t p, const ep8_t
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_add.c:142,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_add.c:143,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_add.c:147,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_add.c:148,1
    - Dst: ep8_add_projc_imp
      Src: /src/relic/src/epx/relic_ep8_add.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep8_t
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: ep8_add_projc
    functionSourceFile: /src/relic/src/epx/relic_ep8_add.c
    functionUses: 1
    functionsReached:
    - ep8_add_projc_imp
    - ep8_is_infty
    - ep8_copy
    linkageType: ''
    returnType: void
    signature: void ep8_add_projc(ep8_t r, const ep8_t p, const ep8_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_add.c:160,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_add.c:161,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_add.c:165,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_add.c:166,1
    - Dst: ep8_add_jacob_imp
      Src: /src/relic/src/epx/relic_ep8_add.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep8_t
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: ep8_add_jacob
    functionSourceFile: /src/relic/src/epx/relic_ep8_add.c
    functionUses: 1
    functionsReached:
    - ep8_is_infty
    - ep8_copy
    - ep8_add_jacob_imp
    linkageType: ''
    returnType: void
    signature: void ep8_add_jacob(ep8_t r, const ep8_t p, const ep8_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_add.c:178,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_add.c:181,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_add.c:186,1
    - Dst: ep8_neg
      Src: /src/relic/src/epx/relic_ep8_add.c:187,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_add.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep8_t
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: ep8_sub
    functionSourceFile: /src/relic/src/epx/relic_ep8_add.c
    functionUses: 9
    functionsReached:
    - ep8_new
    - ep8_neg
    - ep8_add
    - ep8_set_infty
    - ep8_null
    linkageType: ''
    returnType: void
    signature: void ep8_sub(ep8_t r, const ep8_t p, const ep8_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_neg.c:40,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_neg.c:41,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_neg.c:46,1
    - Dst: fp4_copy
      Src: /src/relic/src/epx/relic_ep4_neg.c:47,1
    - Dst: fp4_neg
      Src: /src/relic/src/epx/relic_ep4_neg.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: ep4_neg
    functionSourceFile: /src/relic/src/epx/relic_ep4_neg.c
    functionUses: 8
    functionsReached:
    - ep4_is_infty
    - ep4_set_infty
    - fp4_copy
    - fp4_neg
    linkageType: ''
    returnType: void
    signature: void ep4_neg(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_curve.c:370,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_curve.c:378,1
    - Dst: fp_read_str
      Src: /src/relic/src/epx/relic_ep2_curve.c:381,1
    - Dst: strchr
      Src: /src/relic/src/epx/relic_ep2_curve.c:385,1
    - Dst: fp_read_str
      Src: /src/relic/src/epx/relic_ep2_curve.c:388,1
    - Dst: strlen
      Src: /src/relic/src/epx/relic_ep2_curve.c:388,1
    - Dst: fp_read_str
      Src: /src/relic/src/epx/relic_ep2_curve.c:392,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_curve.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - coeffs
    - str
    argTypes:
    - fp2_t*
    - char*
    constantsTouched: []
    func_position:
      end: 400
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 400
    functionName: ep2_curve_get_coeffs
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 0
    functionsReached:
    - RLC_THROW
    - fp_read_str
    - strlen
    - strchr
    linkageType: ''
    returnType: int
    signature: int ep2_curve_get_coeffs(fp2_t *coeffs, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_curve_get_iso
      Src: /src/relic/src/epx/relic_ep2_curve.c:419,1
    - Dst: fp_read_str
      Src: /src/relic/src/epx/relic_ep2_curve.c:422,1
    - Dst: strlen
      Src: /src/relic/src/epx/relic_ep2_curve.c:422,1
    - Dst: fp_read_str
      Src: /src/relic/src/epx/relic_ep2_curve.c:423,1
    - Dst: strlen
      Src: /src/relic/src/epx/relic_ep2_curve.c:423,1
    - Dst: fp_read_str
      Src: /src/relic/src/epx/relic_ep2_curve.c:424,1
    - Dst: strlen
      Src: /src/relic/src/epx/relic_ep2_curve.c:424,1
    - Dst: fp_read_str
      Src: /src/relic/src/epx/relic_ep2_curve.c:425,1
    - Dst: strlen
      Src: /src/relic/src/epx/relic_ep2_curve.c:425,1
    - Dst: ep2_curve_get_coeffs
      Src: /src/relic/src/epx/relic_ep2_curve.c:428,1
    - Dst: ep2_curve_get_coeffs
      Src: /src/relic/src/epx/relic_ep2_curve.c:429,1
    - Dst: ep2_curve_get_coeffs
      Src: /src/relic/src/epx/relic_ep2_curve.c:430,1
    - Dst: ep2_curve_get_coeffs
      Src: /src/relic/src/epx/relic_ep2_curve.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - a0_str
    - a1_str
    - b0_str
    - b1_str
    - xn_str
    - xd_str
    - yn_str
    - yd_str
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 432
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 432
    functionName: ep2_curve_set_ctmap
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 0
    functionsReached:
    - strlen
    - fp_read_str
    - ep2_curve_get_coeffs
    - ep2_curve_get_iso
    linkageType: ''
    returnType: void
    signature: "void ep2_curve_set_ctmap(const char *a0_str, const char *a1_str,\n\t\t\t\t\t\t\t\t\t
      \  const char *b0_str, const char *b1_str,\n\t\t\t\t\t\t\t\t\t   const char
      *xn_str, const char *xd_str,\n\t\t\t\t\t\t\t\t\t   const char *yn_str, const
      char *yd_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_curve.c:440,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:444,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:451,1
    - Dst: ep2_curve_is_ctmap
      Src: /src/relic/src/epx/relic_ep2_curve.c:453,1
    - Dst: ep2_curve_is_ctmap
      Src: /src/relic/src/epx/relic_ep2_curve.c:457,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:458,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:459,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:462,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:463,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_curve.c:468,1
    - Dst: fp2_inv
      Src: /src/relic/src/epx/relic_ep2_curve.c:469,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_curve.c:470,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_curve.c:476,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_curve.c:477,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_curve.c:478,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_curve.c:479,1
    - Dst: fp2_set_dig
      Src: /src/relic/src/epx/relic_ep2_curve.c:482,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_curve.c:483,1
    - Dst: fp2_inv
      Src: /src/relic/src/epx/relic_ep2_curve.c:484,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_curve.c:485,1
    - Dst: fp2_sqr
      Src: /src/relic/src/epx/relic_ep2_curve.c:488,1
    - Dst: fp2_mul_dig
      Src: /src/relic/src/epx/relic_ep2_curve.c:489,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_curve.c:490,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_curve.c:491,1
    - Dst: fp2_add
      Src: /src/relic/src/epx/relic_ep2_curve.c:492,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_curve.c:493,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_curve.c:494,1
    - Dst: fp2_srt
      Src: /src/relic/src/epx/relic_ep2_curve.c:495,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_curve.c:496,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep2_curve.c:500,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep2_curve.c:502,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_curve.c:506,1
    - Dst: fp2_inv
      Src: /src/relic/src/epx/relic_ep2_curve.c:510,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_curve.c:511,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_curve.c:512,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_curve.c:513,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 515
    functionName: ep2_curve_set_map
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 0
    functionsReached:
    - fp2_inv
    - fp_prime_back
    - fp2_sqr
    - bn_null
    - RLC_THROW
    - fp2_add
    - fp2_set_dig
    - fp2_neg
    - fp2_mul_dig
    - fp2_srt
    - fp2_mul
    - fp2_copy
    - bn_new
    - fp2_dbl
    - ep2_curve_is_ctmap
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep2_curve_set_map(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_curve.c:529,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:532,1
    - Dst: fp2_set_dig
      Src: /src/relic/src/epx/relic_ep2_curve.c:533,1
    - Dst: fp2_neg
      Src: /src/relic/src/epx/relic_ep2_curve.c:534,1
    - Dst: fp2_cmp
      Src: /src/relic/src/epx/relic_ep2_curve.c:536,1
    - Dst: fp2_is_zero
      Src: /src/relic/src/epx/relic_ep2_curve.c:538,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/src/epx/relic_ep2_curve.c:540,1
    - Dst: fp2_cmp_dig
      Src: /src/relic/src/epx/relic_ep2_curve.c:542,1
    - Dst: fp_bits
      Src: /src/relic/src/epx/relic_ep2_curve.c:544,1
    - Dst: fp_is_zero
      Src: /src/relic/src/epx/relic_ep2_curve.c:544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - opt
    - a
    argTypes:
    - int*
    - fp2_t
    constantsTouched: []
    func_position:
      end: 549
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 549
    functionName: detect_opt
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 3
    functionsReached:
    - fp2_set_dig
    - fp2_neg
    - fp2_cmp_dig
    - fp2_cmp
    - fp_is_zero
    - fp2_null
    - fp_bits
    - fp2_new
    - fp2_is_zero
    linkageType: ''
    returnType: void
    signature: void detect_opt(int *opt, fp2_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:563,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:572,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:573,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:574,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:575,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:577,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:579,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:580,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:586,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:587,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:588,1
    - Dst: bn_make
      Src: /src/relic/src/epx/relic_ep2_curve.c:592,1
    - Dst: bn_make
      Src: /src/relic/src/epx/relic_ep2_curve.c:593,1
    - Dst: ep2_curve_get_iso
      Src: /src/relic/src/epx/relic_ep2_curve.c:596,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:598,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:599,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:603,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:604,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:605,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 613
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 613
    functionName: ep2_curve_init
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 0
    functionsReached:
    - core_get
    - bn_make
    - ep2_curve_get_iso
    - ep2_new
    - fp2_new
    linkageType: ''
    returnType: void
    signature: void ep2_curve_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:616,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:620,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:621,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:622,1
    - Dst: bn_clean
      Src: /src/relic/src/epx/relic_ep2_curve.c:625,1
    - Dst: bn_clean
      Src: /src/relic/src/epx/relic_ep2_curve.c:626,1
    - Dst: ep2_curve_get_iso
      Src: /src/relic/src/epx/relic_ep2_curve.c:629,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:631,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:632,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:634,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:635,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:636,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:637,1
    - Dst: ep2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:640,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:641,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:642,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:643,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:645,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:647,1
    - Dst: fp2_free
      Src: /src/relic/src/epx/relic_ep2_curve.c:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 650
    functionName: ep2_curve_clean
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 0
    functionsReached:
    - ep2_free
    - bn_clean
    - ep2_curve_get_iso
    - fp2_free
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep2_curve_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 654
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 654
    functionName: ep2_curve_opt_a
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 3
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep2_curve_opt_a(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 658
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 658
    functionName: ep2_curve_opt_b
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 2
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep2_curve_opt_b(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:661,1
    - Dst: fp2_zero
      Src: /src/relic/src/epx/relic_ep2_curve.c:665,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:668,1
    - Dst: fp2_dbl
      Src: /src/relic/src/epx/relic_ep2_curve.c:671,1
    - Dst: fp2_mul_dig
      Src: /src/relic/src/epx/relic_ep2_curve.c:675,1
    - Dst: ep2_curve_is_twist
      Src: /src/relic/src/epx/relic_ep2_curve.c:679,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_curve.c:680,1
    - Dst: ep_curve_get_a
      Src: /src/relic/src/epx/relic_ep2_curve.c:680,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_curve.c:681,1
    - Dst: ep_curve_get_a
      Src: /src/relic/src/epx/relic_ep2_curve.c:681,1
    - Dst: fp2_mul_art
      Src: /src/relic/src/epx/relic_ep2_curve.c:682,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_curve.c:684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 688
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 688
    functionName: ep2_curve_mul_a
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 0
    functionsReached:
    - ep_curve_get_a
    - ep2_curve_is_twist
    - fp2_mul_dig
    - fp_mul
    - fp2_mul
    - fp2_copy
    - fp2_zero
    - fp2_dbl
    - fp2_mul_art
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep2_curve_mul_a(fp2_t c, const fp2_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:691,1
    - Dst: fp2_zero
      Src: /src/relic/src/epx/relic_ep2_curve.c:695,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:698,1
    - Dst: fp2_mul_dig
      Src: /src/relic/src/epx/relic_ep2_curve.c:702,1
    - Dst: ep2_curve_is_twist
      Src: /src/relic/src/epx/relic_ep2_curve.c:706,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_curve.c:707,1
    - Dst: ep_curve_get_b
      Src: /src/relic/src/epx/relic_ep2_curve.c:707,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep2_curve.c:708,1
    - Dst: ep_curve_get_b
      Src: /src/relic/src/epx/relic_ep2_curve.c:708,1
    - Dst: fp2_mul_nor
      Src: /src/relic/src/epx/relic_ep2_curve.c:709,1
    - Dst: fp2_mul
      Src: /src/relic/src/epx/relic_ep2_curve.c:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 715
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 715
    functionName: ep2_curve_mul_b
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 0
    functionsReached:
    - ep2_curve_is_twist
    - fp2_mul_dig
    - fp_mul
    - fp2_mul
    - fp2_copy
    - fp2_zero
    - fp2_mul_nor
    - core_get
    - ep_curve_get_b
    linkageType: ''
    returnType: void
    signature: void ep2_curve_mul_b(fp2_t c, const fp2_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 719
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 719
    functionName: ep2_curve_is_twist
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 3
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep2_curve_is_twist(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 723
    functionName: ep2_curve_is_ctmap
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep2_curve_is_ctmap(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:726,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - ep2_t
    constantsTouched: []
    func_position:
      end: 727
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 727
    functionName: ep2_curve_get_gen
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 7
    functionsReached:
    - core_get
    - ep2_copy
    linkageType: ''
    returnType: void
    signature: void ep2_curve_get_gen(ep2_t g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 731
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 731
    functionName: ep2_curve_get_a
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 2
    functionsReached:
    - core_get
    linkageType: ''
    returnType: fp_t
    signature: fp_t *ep2_curve_get_a(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: ep2_curve_get_b
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: fp_t
    signature: fp_t *ep2_curve_get_b(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:738,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_curve.c:740,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - bn_t
    constantsTouched: []
    func_position:
      end: 744
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 744
    functionName: ep2_curve_get_ord
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 9
    functionsReached:
    - bn_copy
    - core_get
    - ep_curve_get_ord
    linkageType: ''
    returnType: void
    signature: void ep2_curve_get_ord(bn_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:747,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - bn_t
    constantsTouched: []
    func_position:
      end: 748
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 748
    functionName: ep2_curve_get_cof
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 0
    functionsReached:
    - core_get
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void ep2_curve_get_cof(bn_t h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: ep2_curve_get_iso
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 3
    functionsReached:
    - core_get
    linkageType: ''
    returnType: iso2_t
    signature: iso2_t ep2_curve_get_iso()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:762,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 766
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 766
    functionName: ep2_curve_get_tab
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: ep2_t
    signature: ep2_t *ep2_curve_get_tab(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:773,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_curve.c:778,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_curve.c:779,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_curve.c:780,1
    - Dst: fp2_null
      Src: /src/relic/src/epx/relic_ep2_curve.c:781,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_curve.c:782,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_curve.c:783,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:793,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:794,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:795,1
    - Dst: fp2_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:796,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:797,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_curve.c:798,1
    - Dst: ep_param_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:800,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:804,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:808,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:812,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:815,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:819,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:823,1
    - Dst: ASSIGNM
      Src: /src/relic/src/epx/relic_ep2_curve.c:826,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:831,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:835,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:839,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:842,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:846,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:850,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:854,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:857,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep2_curve.c:861,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_curve.c:867,1
    - Dst: fp2_zero
      Src: /src/relic/src/epx/relic_ep2_curve.c:871,1
    - Dst: fp2_set_dig
      Src: /src/relic/src/epx/relic_ep2_curve.c:872,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:875,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:876,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:877,1
    - Dst: detect_opt
      Src: /src/relic/src/epx/relic_ep2_curve.c:879,1
    - Dst: detect_opt
      Src: /src/relic/src/epx/relic_ep2_curve.c:880,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:882,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:883,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:884,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:887,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:888,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:889,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:890,1
    - Dst: fp2_inv
      Src: /src/relic/src/epx/relic_ep2_curve.c:892,1
    - Dst: fp2_inv
      Src: /src/relic/src/epx/relic_ep2_curve.c:893,1
    - Dst: ep2_curve_set_map
      Src: /src/relic/src/epx/relic_ep2_curve.c:897,1
    - Dst: pc_core_calc
      Src: /src/relic/src/epx/relic_ep2_curve.c:901,1
    - Dst: ep2_mul_pre
      Src: /src/relic/src/epx/relic_ep2_curve.c:905,1
    - Dst: ep2_curve_get_tab
      Src: /src/relic/src/epx/relic_ep2_curve.c:905,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 95
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 907
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 907
    functionName: ep2_curve_set_twist
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 0
    functionsReached:
    - ep2_curve_set_map
    - fp2_null
    - ep2_null
    - fp2_inv
    - bn_null
    - RLC_THROW
    - ASSIGN
    - fp_copy
    - ep2_new
    - fp2_set_dig
    - pc_core_calc
    - ep2_copy
    - bn_new
    - ASSIGNM
    - ep2_mul_pre
    - core_get
    - ep2_curve_get_tab
    - ep_param_get
    - fp2_copy
    - fp2_zero
    - detect_opt
    - fp2_new
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void ep2_curve_set_twist(int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep2_curve.c:922,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:925,1
    - Dst: fp2_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:926,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_curve.c:928,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:929,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep2_curve.c:930,1
    - Dst: ep2_mul_pre
      Src: /src/relic/src/epx/relic_ep2_curve.c:933,1
    - Dst: ep2_curve_get_tab
      Src: /src/relic/src/epx/relic_ep2_curve.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - a
    - b
    - g
    - r
    - h
    argTypes:
    - fp2_t
    - fp2_t
    - ep2_t
    - bn_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 935
      start: 921
    functionDepth: 3
    functionLinenumber: 921
    functionLinenumberEnd: 935
    functionName: ep2_curve_set
    functionSourceFile: /src/relic/src/epx/relic_ep2_curve.c
    functionUses: 0
    functionsReached:
    - ep2_norm
    - ep2_curve_get_tab
    - fp2_copy
    - ep2_mul_pre
    - core_get
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void ep2_curve_set(const fp2_t a, const fp2_t b, const ep2_t g, const
      bn_t r, const bn_t h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_norm.c:52,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_norm.c:55,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_norm.c:58,1
    - Dst: fp3_inv
      Src: /src/relic/src/epx/relic_ep3_norm.c:60,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_norm.c:65,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_norm.c:66,1
    - Dst: fp3_sqr
      Src: /src/relic/src/epx/relic_ep3_norm.c:69,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_norm.c:70,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_norm.c:71,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_norm.c:72,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_norm.c:75,1
    - Dst: fp3_set_dig
      Src: /src/relic/src/epx/relic_ep3_norm.c:78,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep3_norm.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - r
    - p
    - inv
    argTypes:
    - ep3_t
    - ep3_t
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 82
    functionName: ep3_norm_imp
    functionSourceFile: /src/relic/src/epx/relic_ep3_norm.c
    functionUses: 0
    functionsReached:
    - fp3_copy
    - fp3_null
    - fp3_mul
    - fp3_sqr
    - RLC_THROW
    - fp3_set_dig
    - fp3_inv
    - fp3_new
    - ep3_copy
    linkageType: ''
    returnType: void
    signature: void ep3_norm_imp(ep3_t r, const ep3_t p, int inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_norm.c:98,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_norm.c:99,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_norm.c:105,1
    - Dst: ep3_norm_imp
      Src: /src/relic/src/epx/relic_ep3_norm.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: ep3_norm
    functionSourceFile: /src/relic/src/epx/relic_ep3_norm.c
    functionUses: 23
    functionsReached:
    - ep3_set_infty
    - ep3_norm_imp
    - ep3_is_infty
    - ep3_copy
    linkageType: ''
    returnType: void
    signature: void ep3_norm(ep3_t r, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:50,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:51,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:52,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:53,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:56,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:57,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:58,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:59,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:61,1
    - Dst: ep2_mul_basic
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:64,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:67,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:68,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:69,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:70,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:73,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:74,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:75,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:76,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:77,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:78,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 81
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 81
    functionName: ep2_mul_cof_bn
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_cof.c
    functionUses: 0
    functionsReached:
    - ep2_add
    - bn_null
    - ep2_norm
    - ep2_frb
    - bn_new
    - fp_prime_get_par
    - ep2_mul_basic
    - ep2_null
    - ep2_dbl
    - ep2_new
    linkageType: ''
    returnType: void
    signature: void ep2_mul_cof_bn(ep2_t r, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:103,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:104,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:105,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:106,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:107,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:110,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:111,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:112,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:113,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:114,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:116,1
    - Dst: ep2_mul_basic
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:119,1
    - Dst: ep2_mul_basic
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:121,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:124,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:125,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:127,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:128,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:129,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:131,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:132,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:133,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: ep2_mul_cof_b12
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_cof.c
    functionUses: 0
    functionsReached:
    - ep2_add
    - bn_null
    - ep2_frb
    - ep2_norm
    - bn_new
    - fp_prime_get_par
    - ep2_mul_basic
    - ep2_null
    - ep2_dbl
    - ep2_sub
    - ep2_new
    linkageType: ''
    returnType: void
    signature: void ep2_mul_cof_b12(ep2_t r, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:155,1
    - Dst: switch
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:158,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:158,1
    - Dst: ep2_mul_cof_bn
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:160,1
    - Dst: ep2_mul_cof_b12
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:163,1
    - Dst: ep2_curve_get_cof
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:167,1
    - Dst: ep2_mul_big
      Src: /src/relic/src/epx/relic_ep2_mul_cof.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: ep2_mul_cof
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_cof.c
    functionUses: 2
    functionsReached:
    - ep2_mul_big
    - ep2_mul_cof_bn
    - bn_null
    - switch
    - ep2_mul_cof_b12
    - ep2_curve_get_cof
    - ep_curve_is_pairf
    linkageType: ''
    returnType: void
    signature: void ep2_mul_cof(ep2_t r, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_is_zero
      Src: /src/relic/src/epx/relic_ep8_util.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep8_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: ep8_is_infty
    functionSourceFile: /src/relic/src/epx/relic_ep8_util.c
    functionUses: 19
    functionsReached:
    - fp8_is_zero
    linkageType: ''
    returnType: int
    signature: int ep8_is_infty(const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_zero
      Src: /src/relic/src/epx/relic_ep8_util.c:44,1
    - Dst: fp8_zero
      Src: /src/relic/src/epx/relic_ep8_util.c:45,1
    - Dst: fp8_zero
      Src: /src/relic/src/epx/relic_ep8_util.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep8_t
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ep8_set_infty
    functionSourceFile: /src/relic/src/epx/relic_ep8_util.c
    functionUses: 24
    functionsReached:
    - fp8_zero
    linkageType: ''
    returnType: void
    signature: void ep8_set_infty(ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_util.c:51,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_util.c:52,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_util.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: ep8_copy
    functionSourceFile: /src/relic/src/epx/relic_ep8_util.c
    functionUses: 18
    functionsReached:
    - fp8_copy
    linkageType: ''
    returnType: void
    signature: void ep8_copy(ep8_t r, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_util.c:60,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_util.c:61,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_util.c:64,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_util.c:65,1
    - Dst: ep8_curve_get_ord
      Src: /src/relic/src/epx/relic_ep8_util.c:67,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/epx/relic_ep8_util.c:68,1
    - Dst: ep8_mul_gen
      Src: /src/relic/src/epx/relic_ep8_util.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep8_t
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: ep8_rand
    functionSourceFile: /src/relic/src/epx/relic_ep8_util.c
    functionUses: 10
    functionsReached:
    - bn_null
    - bn_rand_mod
    - bn_new
    - ep8_mul_gen
    - ep8_curve_get_ord
    linkageType: ''
    returnType: void
    signature: void ep8_rand(ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_util.c:84,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_util.c:87,1
    - Dst: fp8_rand
      Src: /src/relic/src/epx/relic_ep8_util.c:88,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_util.c:91,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_util.c:93,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_util.c:94,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_util.c:95,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_util.c:98,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_util.c:99,1
    - Dst: fp8_sqr
      Src: /src/relic/src/epx/relic_ep8_util.c:100,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_util.c:101,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_util.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 105
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 105
    functionName: ep8_blind
    functionSourceFile: /src/relic/src/epx/relic_ep8_util.c
    functionUses: 1
    functionsReached:
    - fp8_sqr
    - fp8_new
    - fp8_mul
    - fp8_null
    - ep8_copy
    - fp8_rand
    linkageType: ''
    returnType: void
    signature: void ep8_blind(ep8_t r, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_util.c:115,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_util.c:118,1
    - Dst: fp8_sqr
      Src: /src/relic/src/epx/relic_ep8_util.c:120,1
    - Dst: ep8_curve_opt_a
      Src: /src/relic/src/epx/relic_ep8_util.c:122,1
    - Dst: fp_sub_dig
      Src: /src/relic/src/epx/relic_ep8_util.c:127,1
    - Dst: fp_add_dig
      Src: /src/relic/src/epx/relic_ep8_util.c:130,1
    - Dst: fp_add_dig
      Src: /src/relic/src/epx/relic_ep8_util.c:133,1
    - Dst: fp_add_dig
      Src: /src/relic/src/epx/relic_ep8_util.c:136,1
    - Dst: ep8_curve_get_a
      Src: /src/relic/src/epx/relic_ep8_util.c:137,1
    - Dst: fp8_add
      Src: /src/relic/src/epx/relic_ep8_util.c:141,1
    - Dst: ep8_curve_get_a
      Src: /src/relic/src/epx/relic_ep8_util.c:141,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_util.c:145,1
    - Dst: ep8_curve_opt_b
      Src: /src/relic/src/epx/relic_ep8_util.c:147,1
    - Dst: fp_sub_dig
      Src: /src/relic/src/epx/relic_ep8_util.c:152,1
    - Dst: fp_add_dig
      Src: /src/relic/src/epx/relic_ep8_util.c:155,1
    - Dst: fp_add_dig
      Src: /src/relic/src/epx/relic_ep8_util.c:158,1
    - Dst: fp_add_dig
      Src: /src/relic/src/epx/relic_ep8_util.c:161,1
    - Dst: ep8_curve_get_b
      Src: /src/relic/src/epx/relic_ep8_util.c:162,1
    - Dst: fp8_add
      Src: /src/relic/src/epx/relic_ep8_util.c:166,1
    - Dst: ep8_curve_get_b
      Src: /src/relic/src/epx/relic_ep8_util.c:166,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_util.c:170,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - rhs
    - x
    argTypes:
    - fp8_t
    - fp8_t
    constantsTouched: []
    func_position:
      end: 171
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 171
    functionName: ep8_rhs
    functionSourceFile: /src/relic/src/epx/relic_ep8_util.c
    functionUses: 1
    functionsReached:
    - ep8_curve_opt_a
    - fp_sub_dig
    - fp8_add
    - ep8_curve_get_a
    - fp_add_dig
    - fp8_new
    - fp8_mul
    - fp8_null
    - fp8_copy
    - ep8_curve_get_b
    - ep8_curve_opt_b
    - fp8_sqr
    linkageType: ''
    returnType: void
    signature: void ep8_rhs(fp8_t rhs, const fp8_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_util.c:182,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_util.c:185,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_util.c:187,1
    - Dst: ep8_rhs
      Src: /src/relic/src/epx/relic_ep8_util.c:189,1
    - Dst: fp8_sqr
      Src: /src/relic/src/epx/relic_ep8_util.c:190,1
    - Dst: fp8_cmp
      Src: /src/relic/src/epx/relic_ep8_util.c:192,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_util.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep8_t
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: ep8_on_curve
    functionSourceFile: /src/relic/src/epx/relic_ep8_util.c
    functionUses: 3
    functionsReached:
    - ep8_new
    - fp8_cmp
    - ep8_is_infty
    - ep8_norm
    - ep8_rhs
    - fp8_sqr
    - ep8_null
    linkageType: ''
    returnType: int
    signature: int ep8_on_curve(const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_dbl
      Src: /src/relic/src/epx/relic_ep8_util.c:203,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_util.c:205,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_util.c:207,1
    - Dst: ep8_add
      Src: /src/relic/src/epx/relic_ep8_util.c:209,1
    - Dst: ep8_norm_sim
      Src: /src/relic/src/epx/relic_ep8_util.c:212,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_util.c:216,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_util.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - t
    - p
    - w
    argTypes:
    - ep8_t*
    - ep8_t
    - int
    constantsTouched: []
    func_position:
      end: 220
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 220
    functionName: ep8_tab
    functionSourceFile: /src/relic/src/epx/relic_ep8_util.c
    functionUses: 3
    functionsReached:
    - ep8_norm_sim
    - ep8_norm
    - ep8_add
    - ep8_copy
    - ep8_dbl
    linkageType: ''
    returnType: void
    signature: void ep8_tab(ep8_t *t, const ep8_t p, int w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_print
      Src: /src/relic/src/epx/relic_ep8_util.c:223,1
    - Dst: fp8_print
      Src: /src/relic/src/epx/relic_ep8_util.c:224,1
    - Dst: fp8_print
      Src: /src/relic/src/epx/relic_ep8_util.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep8_t
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: ep8_print
    functionSourceFile: /src/relic/src/epx/relic_ep8_util.c
    functionUses: 0
    functionsReached:
    - fp8_print
    linkageType: ''
    returnType: void
    signature: void ep8_print(const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_util.c:232,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_util.c:234,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_util.c:239,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_util.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - pack
    argTypes:
    - ep8_t
    - int
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: ep8_size_bin
    functionSourceFile: /src/relic/src/epx/relic_ep8_util.c
    functionUses: 1
    functionsReached:
    - ep8_new
    - ep8_is_infty
    - ep8_norm
    - ep8_null
    linkageType: ''
    returnType: size_t
    signature: size_t ep8_size_bin(const ep8_t a, int pack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_util.c:257,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep8_util.c:260,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep8_util.c:266,1
    - Dst: fp8_set_dig
      Src: /src/relic/src/epx/relic_ep8_util.c:271,1
    - Dst: fp8_read_bin
      Src: /src/relic/src/epx/relic_ep8_util.c:272,1
    - Dst: fp8_read_bin
      Src: /src/relic/src/epx/relic_ep8_util.c:276,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep8_util.c:278,1
    - Dst: ep8_on_curve
      Src: /src/relic/src/epx/relic_ep8_util.c:283,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep8_util.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - a
    - bin
    - len
    argTypes:
    - ep8_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 286
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 286
    functionName: ep8_read_bin
    functionSourceFile: /src/relic/src/epx/relic_ep8_util.c
    functionUses: 1
    functionsReached:
    - RLC_THROW
    - fp8_read_bin
    - ep8_on_curve
    - ep8_set_infty
    - fp8_set_dig
    linkageType: ''
    returnType: void
    signature: void ep8_read_bin(ep8_t a, const uint8_t *bin, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_util.c:291,1
    - Dst: memset
      Src: /src/relic/src/epx/relic_ep8_util.c:293,1
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_util.c:295,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep8_util.c:297,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_util.c:305,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_util.c:307,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep8_util.c:310,1
    - Dst: fp8_write_bin
      Src: /src/relic/src/epx/relic_ep8_util.c:313,1
    - Dst: fp8_write_bin
      Src: /src/relic/src/epx/relic_ep8_util.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - bin
    - len
    - a
    - pack
    argTypes:
    - uint8_t*
    - size_t
    - ep8_t
    - int
    constantsTouched: []
    func_position:
      end: 316
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 316
    functionName: ep8_write_bin
    functionSourceFile: /src/relic/src/epx/relic_ep8_util.c
    functionUses: 1
    functionsReached:
    - ep8_new
    - RLC_THROW
    - fp8_write_bin
    - memset
    - ep8_is_infty
    - ep8_norm
    - ep8_null
    linkageType: ''
    returnType: void
    signature: void ep8_write_bin(uint8_t *bin, size_t len, const ep8_t a, int pack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_add.c:110,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_add.c:111,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_add.c:115,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_add.c:116,1
    - Dst: ep3_add_basic_imp
      Src: /src/relic/src/epx/relic_ep3_add.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep3_t
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: ep3_add_basic
    functionSourceFile: /src/relic/src/epx/relic_ep3_add.c
    functionUses: 1
    functionsReached:
    - ep3_add_basic_imp
    - ep3_is_infty
    - ep3_copy
    linkageType: ''
    returnType: void
    signature: void ep3_add_basic(ep3_t r, const ep3_t p, const ep3_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_add.c:124,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_add.c:125,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_add.c:129,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_add.c:130,1
    - Dst: ep3_add_basic_imp
      Src: /src/relic/src/epx/relic_ep3_add.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - r
    - s
    - p
    - q
    argTypes:
    - ep3_t
    - fp3_t
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: ep3_add_slp_basic
    functionSourceFile: /src/relic/src/epx/relic_ep3_add.c
    functionUses: 0
    functionsReached:
    - ep3_add_basic_imp
    - ep3_is_infty
    - ep3_copy
    linkageType: ''
    returnType: void
    signature: void ep3_add_slp_basic(ep3_t r, fp3_t s, const ep3_t p, const ep3_t
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_add.c:142,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_add.c:143,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_add.c:147,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_add.c:148,1
    - Dst: ep3_add_projc_imp
      Src: /src/relic/src/epx/relic_ep3_add.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep3_t
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: ep3_add_projc
    functionSourceFile: /src/relic/src/epx/relic_ep3_add.c
    functionUses: 1
    functionsReached:
    - ep3_add_projc_imp
    - ep3_is_infty
    - ep3_copy
    linkageType: ''
    returnType: void
    signature: void ep3_add_projc(ep3_t r, const ep3_t p, const ep3_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_add.c:160,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_add.c:161,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_add.c:165,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_add.c:166,1
    - Dst: ep3_add_jacob_imp
      Src: /src/relic/src/epx/relic_ep3_add.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep3_t
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: ep3_add_jacob
    functionSourceFile: /src/relic/src/epx/relic_ep3_add.c
    functionUses: 1
    functionsReached:
    - ep3_is_infty
    - ep3_add_jacob_imp
    - ep3_copy
    linkageType: ''
    returnType: void
    signature: void ep3_add_jacob(ep3_t r, const ep3_t p, const ep3_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_add.c:178,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_add.c:181,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_add.c:186,1
    - Dst: ep3_neg
      Src: /src/relic/src/epx/relic_ep3_add.c:187,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_add.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep3_t
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: ep3_sub
    functionSourceFile: /src/relic/src/epx/relic_ep3_add.c
    functionUses: 12
    functionsReached:
    - ep3_null
    - ep3_set_infty
    - ep3_new
    - ep3_add
    - ep3_neg
    linkageType: ''
    returnType: void
    signature: void ep3_sub(ep3_t r, const ep3_t p, const ep3_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:62,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:63,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:66,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:67,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:69,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:70,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:71,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:72,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:73,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:74,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:75,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:76,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:79,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:80,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:81,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:82,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:83,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:84,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:85,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:86,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:88,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:89,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:90,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:91,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:91,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:92,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:93,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:93,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:98,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:99,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:100,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:102,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:104,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:105,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:106,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:108,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:111,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:113,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:116,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:119,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:122,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:125,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 132
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 132
    functionName: ep2_mul_sim_endom
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_sim.c
    functionUses: 0
    functionsReached:
    - bn_rec_frb
    - fp_prime_get_par
    - ep2_set_infty
    - ep2_null
    - bn_null
    - ep2_frb
    - bn_mod
    - ep2_neg
    - ep_curve_is_pairf
    - ep2_new
    - ep2_curve_get_ord
    - bn_sign
    - bn_new
    - ep2_sub
    - ep2_add
    - ep2_norm
    - bn_rec_naf
    - RLC_MAX
    - ep2_dbl
    linkageType: ''
    returnType: void
    signature: "void ep2_mul_sim_endom(ep2_t r, const ep2_t p, const bn_t k,\n\t\tconst
      ep2_t q, const bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:170,1
    - Dst: for
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:171,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:172,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:173,1
    - Dst: ep2_tab
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:175,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:181,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:182,1
    - Dst: ep2_tab
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:185,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:194,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:195,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:197,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:198,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:203,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:209,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:211,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:216,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:219,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:222,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 6
    argNames:
    - r
    - p
    - k
    - q
    - m
    - t
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    - ep2_t
    - bn_t
    - ep2_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 240
    functionName: ep2_mul_sim_plain
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_sim.c
    functionUses: 0
    functionsReached:
    - ep2_add
    - ep2_tab
    - if
    - for
    - bn_rec_naf
    - bn_sign
    - RLC_MAX
    - ep2_dbl
    - ep2_set_infty
    - ep2_null
    - ep2_sub
    - ep2_new
    linkageType: ''
    returnType: void
    signature: "void ep2_mul_sim_plain(ep2_t r, const ep2_t p, const bn_t k,\n\t\tconst
      ep2_t q, const bn_t m, const ep2_t *t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:260,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:263,1
    - Dst: ep2_mul
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:264,1
    - Dst: ep2_mul
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:265,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:266,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - l
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 269
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 269
    functionName: ep2_mul_sim_basic
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep2_add
    - ep2_norm
    - ep2_mul
    - ep2_null
    - ep2_new
    linkageType: ''
    returnType: void
    signature: "void ep2_mul_sim_basic(ep2_t r, const ep2_t p, const bn_t k, const
      ep2_t q,\n\t\tconst bn_t l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:288,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:289,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:290,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:292,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:292,1
    - Dst: ep2_mul
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:293,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:296,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:296,1
    - Dst: ep2_mul
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:297,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:302,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:303,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:304,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:307,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:308,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:309,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:310,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:313,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:314,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:317,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:318,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:319,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:321,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:322,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:324,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:327,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:328,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:330,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:335,1
    - Dst: ep2_norm_sim
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:340,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:343,1
    - Dst: bn_rec_win
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:344,1
    - Dst: bn_rec_win
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:345,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:347,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:350,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:352,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:354,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 355
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 355
    functionName: ep2_mul_sim_trick
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep2_curve_get_ord
    - ep2_add
    - bn_null
    - ep2_norm
    - bn_mod
    - ep2_is_infty
    - RLC_CEIL
    - ep2_copy
    - ep2_norm_sim
    - bn_rec_win
    - bn_new
    - ep2_mul
    - ep2_dbl
    - ep2_set_infty
    - ep2_null
    - bn_is_zero
    - ep2_new
    linkageType: ''
    returnType: void
    signature: "void ep2_mul_sim_trick(ep2_t r, const ep2_t p, const bn_t k, const
      ep2_t q,\n\t\tconst bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:377,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:377,1
    - Dst: ep2_mul
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:378,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:381,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:381,1
    - Dst: ep2_mul
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:382,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:387,1
    - Dst: ep2_mul_sim_endom
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:388,1
    - Dst: ep2_mul_sim_plain
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 396
      start: 375
    functionDepth: 5
    functionLinenumber: 375
    functionLinenumberEnd: 396
    functionName: ep2_mul_sim_inter
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep2_mul_sim_endom
    - ep2_mul_sim_plain
    - ep2_is_infty
    - ep2_mul
    - ep_curve_is_endom
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: "void ep2_mul_sim_inter(ep2_t r, const ep2_t p, const bn_t k, const
      ep2_t q,\n\t\tconst bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:410,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:410,1
    - Dst: ep2_mul
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:411,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:414,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:414,1
    - Dst: ep2_mul
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:415,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:419,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:420,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:421,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:424,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:425,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:426,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:428,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:429,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:432,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:433,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:434,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:436,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:437,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:438,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:439,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:441,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:442,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:443,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:445,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:446,1
    - Dst: ep2_norm_sim
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:448,1
    - Dst: bn_rec_jsf
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:452,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:454,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:456,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:456,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:456,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:458,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:462,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:464,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:469,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:471,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:475,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - ep2_t
    - ep2_t
    - bn_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 476
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 476
    functionName: ep2_mul_sim_joint
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep2_norm_sim
    - ep2_mul
    - ep2_set_infty
    - ep2_null
    - bn_null
    - bn_mod
    - ep2_neg
    - ep2_new
    - ep2_curve_get_ord
    - ep2_copy
    - bn_sign
    - bn_new
    - bn_is_zero
    - ep2_sub
    - ep2_add
    - ep2_norm
    - ep2_is_infty
    - RLC_MAX
    - bn_bits
    - ep2_dbl
    - bn_rec_jsf
    linkageType: ''
    returnType: void
    signature: "void ep2_mul_sim_joint(ep2_t r, const ep2_t p, const bn_t k, const
      ep2_t q,\n\t\tconst bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:496,1
    - Dst: ep2_mul
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:497,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:500,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:500,1
    - Dst: ep2_mul_gen
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:501,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:505,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:506,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:507,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:508,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:511,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:512,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:513,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:514,1
    - Dst: ep2_curve_get_gen
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:516,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:517,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:519,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:520,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:524,1
    - Dst: ep2_mul_sim_endom
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:525,1
    - Dst: ep2_curve_get_tab
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:525,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:528,1
    - Dst: ep2_mul_sim
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:529,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:536,1
    - Dst: ep2_mul_sim_plain
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:537,1
    - Dst: ep2_curve_get_tab
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:537,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:540,1
    - Dst: ep2_mul_sim
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:541,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - r
    - k
    - q
    - m
    argTypes:
    - ep2_t
    - bn_t
    - ep2_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 545
      start: 492
    functionDepth: 5
    functionLinenumber: 492
    functionLinenumberEnd: 545
    functionName: ep2_mul_sim_gen
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep2_curve_get_ord
    - bn_null
    - ep2_mul_sim_endom
    - ep2_mul_sim_plain
    - ep2_curve_get_gen
    - bn_mod
    - ep2_curve_get_tab
    - ep2_is_infty
    - ep2_mul_sim
    - bn_new
    - ep2_mul
    - ep_curve_is_endom
    - ep2_new
    - ep2_null
    - bn_is_zero
    - ep2_mul_gen
    linkageType: ''
    returnType: void
    signature: void ep2_mul_sim_gen(ep2_t r, const bn_t k, const ep2_t q, const bn_t
      m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:561,1
    - Dst: util_bits_dig
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:563,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:565,1
    - Dst: util_bits_dig
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:565,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:569,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:571,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:573,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:576,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - r
    - p
    - k
    - len
    argTypes:
    - ep2_t
    - ep2_t[]
    - dig_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: ep2_mul_sim_dig
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_sim.c
    functionUses: 0
    functionsReached:
    - ep2_add
    - ep2_norm
    - util_bits_dig
    - RLC_MAX
    - ep2_dbl
    - ep2_set_infty
    - ep2_null
    - ep2_new
    linkageType: ''
    returnType: void
    signature: void ep2_mul_sim_dig(ep2_t r, const ep2_t p[], const dig_t k[], size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:599,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:603,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:604,1
    - Dst: RLC_ALLOCA
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:607,1
    - Dst: if
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:610,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:611,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:613,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:614,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:616,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:617,1
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:619,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:620,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:625,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:626,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:628,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:629,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:630,1
    - Dst: ep2_frb
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:631,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:633,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:634,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:634,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:637,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:638,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:639,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:641,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:645,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:647,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:651,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:654,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:661,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep2_mul_sim.c:663,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - r
    - p
    - k
    - n
    argTypes:
    - ep2_t
    - ep2_t[]
    - bn_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 664
      start: 591
    functionDepth: 3
    functionLinenumber: 591
    functionLinenumberEnd: 664
    functionName: ep2_mul_sim_lot
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_sim.c
    functionUses: 1
    functionsReached:
    - if
    - bn_rec_frb
    - RLC_ALLOCA
    - ep2_set_infty
    - ep2_null
    - fp_prime_get_par
    - bn_null
    - ep2_frb
    - RLC_THROW
    - bn_mod
    - ep2_neg
    - ep_curve_is_pairf
    - ep2_new
    - ep2_curve_get_ord
    - bn_sign
    - bn_new
    - ep2_sub
    - ep2_add
    - ep2_norm
    - bn_rec_naf
    - RLC_MAX
    - ep2_dbl
    linkageType: ''
    returnType: void
    signature: void ep2_mul_sim_lot(ep2_t r, const ep2_t p[], const bn_t k[], size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_add.c:110,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_add.c:111,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_add.c:115,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_add.c:116,1
    - Dst: ep2_add_basic_imp
      Src: /src/relic/src/epx/relic_ep2_add.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep2_t
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: ep2_add_basic
    functionSourceFile: /src/relic/src/epx/relic_ep2_add.c
    functionUses: 1
    functionsReached:
    - ep2_is_infty
    - ep2_copy
    - ep2_add_basic_imp
    linkageType: ''
    returnType: void
    signature: void ep2_add_basic(ep2_t r, const ep2_t p, const ep2_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_add.c:124,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_add.c:125,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_add.c:129,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_add.c:130,1
    - Dst: ep2_add_basic_imp
      Src: /src/relic/src/epx/relic_ep2_add.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - r
    - s
    - p
    - q
    argTypes:
    - ep2_t
    - fp2_t
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: ep2_add_slp_basic
    functionSourceFile: /src/relic/src/epx/relic_ep2_add.c
    functionUses: 0
    functionsReached:
    - ep2_is_infty
    - ep2_copy
    - ep2_add_basic_imp
    linkageType: ''
    returnType: void
    signature: void ep2_add_slp_basic(ep2_t r, fp2_t s, const ep2_t p, const ep2_t
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_add.c:142,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_add.c:143,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_add.c:147,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_add.c:148,1
    - Dst: ep2_add_projc_imp
      Src: /src/relic/src/epx/relic_ep2_add.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep2_t
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: ep2_add_projc
    functionSourceFile: /src/relic/src/epx/relic_ep2_add.c
    functionUses: 1
    functionsReached:
    - ep2_is_infty
    - ep2_copy
    - ep2_add_projc_imp
    linkageType: ''
    returnType: void
    signature: void ep2_add_projc(ep2_t r, const ep2_t p, const ep2_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_add.c:160,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_add.c:161,1
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_add.c:165,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_add.c:166,1
    - Dst: ep2_add_jacob_imp
      Src: /src/relic/src/epx/relic_ep2_add.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep2_t
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: ep2_add_jacob
    functionSourceFile: /src/relic/src/epx/relic_ep2_add.c
    functionUses: 1
    functionsReached:
    - ep2_add_jacob_imp
    - ep2_is_infty
    - ep2_copy
    linkageType: ''
    returnType: void
    signature: void ep2_add_jacob(ep2_t r, const ep2_t p, const ep2_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_null
      Src: /src/relic/src/epx/relic_ep2_add.c:178,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_add.c:181,1
    - Dst: ep2_new
      Src: /src/relic/src/epx/relic_ep2_add.c:186,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_add.c:187,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_add.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ep2_t
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: ep2_sub
    functionSourceFile: /src/relic/src/epx/relic_ep2_add.c
    functionUses: 12
    functionsReached:
    - ep2_add
    - ep2_neg
    - ep2_set_infty
    - ep2_null
    - ep2_new
    linkageType: ''
    returnType: void
    signature: void ep2_sub(ep2_t r, const ep2_t p, const ep2_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:54,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:55,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:61,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:64,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:66,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:70,1
    - Dst: ep2_sub
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:73,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:77,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:78,1
    - Dst: ep2_neg
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - r
    - table
    - k
    argTypes:
    - ep2_t
    - ep2_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 81
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 81
    functionName: ep2_mul_fix_plain
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_fix.c
    functionUses: 0
    functionsReached:
    - ep2_add
    - ep2_norm
    - ep2_neg
    - bn_rec_naf
    - bn_sign
    - ep2_dbl
    - ep2_set_infty
    - bn_is_zero
    - ep2_sub
    linkageType: ''
    returnType: void
    signature: void ep2_mul_fix_plain(ep2_t r, const ep2_t *table, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:94,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:97,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:99,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:101,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:102,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep2_t*
    - ep2_t
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: ep2_mul_pre_basic
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep2_curve_get_ord
    - bn_null
    - ep2_copy
    - bn_new
    - bn_bits
    - ep2_dbl
    linkageType: ''
    returnType: void
    signature: void ep2_mul_pre_basic(ep2_t *t, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:117,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:118,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:122,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:123,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:126,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:127,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:129,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:130,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:132,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:133,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:134,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:135,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep2_t
    - ep2_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 139
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 139
    functionName: ep2_mul_fix_basic
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep2_curve_get_ord
    - bn_get_bit
    - bn_null
    - ep2_add
    - ep2_norm
    - bn_mod
    - bn_new
    - bn_bits
    - ep2_set_infty
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep2_mul_fix_basic(ep2_t r, const ep2_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:155,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:158,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:160,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:161,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:164,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:166,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:168,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:170,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:173,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:176,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep2_t*
    - ep2_t
    constantsTouched: []
    func_position:
      end: 184
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 184
    functionName: ep2_mul_pre_combs
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep2_curve_get_ord
    - ep2_add
    - bn_null
    - ep2_norm
    - ep2_copy
    - bn_new
    - bn_bits
    - ep2_set_infty
    - ep2_dbl
    linkageType: ''
    returnType: void
    signature: void ep2_mul_pre_combs(ep2_t *t, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:197,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:198,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:202,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:203,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:206,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:207,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:209,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:210,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:213,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:214,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:222,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:226,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:229,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:235,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:240,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:243,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep2_t
    - ep2_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 244
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 244
    functionName: ep2_mul_fix_combs
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep2_curve_get_ord
    - bn_get_bit
    - bn_null
    - ep2_add
    - ep2_norm
    - bn_mod
    - ep2_copy
    - bn_new
    - bn_bits
    - ep2_set_infty
    - ep2_dbl
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep2_mul_fix_combs(ep2_t r, const ep2_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:262,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:265,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:267,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:268,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:272,1
    - Dst: ep2_copy
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:273,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:275,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:277,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:280,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:283,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:286,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:288,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:290,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep2_t*
    - ep2_t
    constantsTouched: []
    func_position:
      end: 298
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 298
    functionName: ep2_mul_pre_combd
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep2_curve_get_ord
    - ep2_add
    - bn_null
    - ep2_norm
    - ep2_copy
    - bn_new
    - bn_bits
    - ep2_set_infty
    - ep2_dbl
    linkageType: ''
    returnType: void
    signature: void ep2_mul_pre_combd(ep2_t *t, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:311,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:312,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:316,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:317,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:320,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:321,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:323,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:324,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:328,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:329,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:330,1
    - Dst: ep2_dbl
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:334,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:340,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:349,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:354,1
    - Dst: ep2_add
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:355,1
    - Dst: ep2_norm
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:357,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep2_t
    - ep2_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 358
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 358
    functionName: ep2_mul_fix_combd
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep2_curve_get_ord
    - bn_get_bit
    - bn_null
    - ep2_add
    - ep2_norm
    - bn_mod
    - bn_new
    - bn_bits
    - ep2_set_infty
    - ep2_dbl
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep2_mul_fix_combd(ep2_t r, const ep2_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_tab
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - ep2_t*
    - ep2_t
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 4
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: ep2_mul_pre_lwnaf
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep2_tab
    linkageType: ''
    returnType: void
    signature: void ep2_mul_pre_lwnaf(ep2_t *t, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:379,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:380,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:384,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:385,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:388,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:389,1
    - Dst: ep2_curve_get_ord
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:391,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:392,1
    - Dst: ep2_mul_fix_plain
      Src: /src/relic/src/epx/relic_ep2_mul_fix.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - r
    - t
    - k
    argTypes:
    - ep2_t
    - ep2_t*
    - bn_t
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 4
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: ep2_mul_fix_lwnaf
    functionSourceFile: /src/relic/src/epx/relic_ep2_mul_fix.c
    functionUses: 1
    functionsReached:
    - ep2_curve_get_ord
    - bn_null
    - bn_mod
    - ep2_mul_fix_plain
    - bn_new
    - ep2_set_infty
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep2_mul_fix_lwnaf(ep2_t r, const ep2_t *t, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:43,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:45,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:46,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:51,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_mul.c:53,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep4_mul.c:55,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul.c:58,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul.c:59,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul.c:60,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul.c:61,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul.c:65,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:66,1
    - Dst: ep4_frb
      Src: /src/relic/src/epx/relic_ep4_mul.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 74
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 74
    functionName: ep4_psi
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul.c
    functionUses: 0
    functionsReached:
    - ep4_frb
    - ep4_new
    - ep4_dbl
    - ep4_copy
    - ep4_set_infty
    - ep4_neg
    - ep4_sub
    - ep_curve_is_pairf
    - ep4_null
    - ep4_is_infty
    linkageType: ''
    returnType: void
    signature: void ep4_psi(ep4_t r, const ep4_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:91,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:92,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:93,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:96,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:97,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:98,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:100,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:101,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:103,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:104,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/src/epx/relic_ep4_mul.c:108,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep4_mul.c:109,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep4_mul.c:110,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/epx/relic_ep4_mul.c:111,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep4_mul.c:111,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep4_mul.c:115,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul.c:115,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul.c:117,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep4_mul.c:124,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep4_mul.c:125,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul.c:127,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul.c:128,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:129,1
    - Dst: ep4_tab
      Src: /src/relic/src/epx/relic_ep4_mul.c:131,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep4_mul.c:133,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep4_mul.c:133,1
    - Dst: ep4_psi
      Src: /src/relic/src/epx/relic_ep4_mul.c:136,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul.c:137,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:138,1
    - Dst: ep4_tab
      Src: /src/relic/src/epx/relic_ep4_mul.c:140,1
    - Dst: ep4_psi
      Src: /src/relic/src/epx/relic_ep4_mul.c:145,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul.c:146,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul.c:146,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:147,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:153,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul.c:155,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul.c:159,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul.c:162,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul.c:168,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep4_t
    - ep4_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 169
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 169
    functionName: ep4_mul_gls_imp
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul.c
    functionUses: 0
    functionsReached:
    - ep4_tab
    - ep4_dbl
    - ep4_set_infty
    - bn_rec_frb
    - ep4_curve_get_ord
    - ep4_norm
    - fp_prime_get_par
    - ep4_new
    - bn_null
    - bn_mod
    - ep4_sub
    - ep_curve_is_pairf
    - ep4_psi
    - ep4_add
    - bn_sign
    - bn_new
    - ep4_neg
    - bn_rec_naf
    - RLC_MAX
    - bn_bits
    - ep4_null
    linkageType: ''
    returnType: void
    signature: void ep4_mul_gls_imp(ep4_t r, const ep4_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:196,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:197,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:200,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:201,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:203,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:204,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:205,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:206,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:210,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:211,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/src/epx/relic_ep4_mul.c:215,1
    - Dst: fp_prime_get_par
      Src: /src/relic/src/epx/relic_ep4_mul.c:216,1
    - Dst: bn_mod
      Src: /src/relic/src/epx/relic_ep4_mul.c:217,1
    - Dst: bn_rec_frb
      Src: /src/relic/src/epx/relic_ep4_mul.c:218,1
    - Dst: ep_curve_is_pairf
      Src: /src/relic/src/epx/relic_ep4_mul.c:218,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul.c:220,1
    - Dst: ep4_psi
      Src: /src/relic/src/epx/relic_ep4_mul.c:222,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:225,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:226,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul.c:226,1
    - Dst: bn_abs
      Src: /src/relic/src/epx/relic_ep4_mul.c:227,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep4_mul.c:230,1
    - Dst: bn_add_dig
      Src: /src/relic/src/epx/relic_ep4_mul.c:231,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_mul.c:235,1
    - Dst: util_bits_dig
      Src: /src/relic/src/epx/relic_ep4_mul.c:237,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul.c:238,1
    - Dst: bn_rec_sac
      Src: /src/relic/src/epx/relic_ep4_mul.c:241,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul.c:241,1
    - Dst: ep4_norm_sim
      Src: /src/relic/src/epx/relic_ep4_mul.c:246,1
    - Dst: fp4_set_dig
      Src: /src/relic/src/epx/relic_ep4_mul.c:248,1
    - Dst: fp4_set_dig
      Src: /src/relic/src/epx/relic_ep4_mul.c:249,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:255,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:263,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:264,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:266,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:269,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:270,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul.c:271,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul.c:275,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:285,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:286,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:288,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:291,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:292,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul.c:293,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul.c:298,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:299,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:300,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:301,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 90
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep4_t
    - ep4_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 306
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 306
    functionName: ep4_mul_reg_gls
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul.c
    functionUses: 0
    functionsReached:
    - ep4_dbl
    - ep4_copy
    - ep4_set_infty
    - bn_rec_frb
    - ep4_curve_get_ord
    - ep4_norm
    - fp_prime_get_par
    - bn_abs
    - ep4_new
    - bn_null
    - bn_mod
    - ep4_sub
    - ep_curve_is_pairf
    - fp4_set_dig
    - ep4_norm_sim
    - ep4_psi
    - bn_is_even
    - bn_add_dig
    - ep4_add
    - bn_sign
    - bn_new
    - util_bits_dig
    - bn_rec_sac
    - ep4_neg
    - fp4_copy_sec
    - bn_bits
    - ep4_null
    linkageType: ''
    returnType: void
    signature: void ep4_mul_reg_gls(ep4_t r, const ep4_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for
      Src: /src/relic/src/epx/relic_ep4_mul.c:340,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:341,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:342,1
    - Dst: ep4_tab
      Src: /src/relic/src/epx/relic_ep4_mul.c:345,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep4_mul.c:349,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:351,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul.c:353,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul.c:357,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul.c:360,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul.c:364,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul.c:365,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:366,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_mul.c:370,1
    - Dst: ep4_free
      Src: /src/relic/src/epx/relic_ep4_mul.c:375,1
    - Dst: defined
      Src: /src/relic/src/epx/relic_ep4_mul.c:382,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/epx/relic_ep4_mul.c:386,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:390,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:393,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:394,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:395,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:398,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:399,1
    - Dst: ep4_tab
      Src: /src/relic/src/epx/relic_ep4_mul.c:402,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/src/epx/relic_ep4_mul.c:404,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul.c:405,1
    - Dst: bn_abs
      Src: /src/relic/src/epx/relic_ep4_mul.c:408,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/epx/relic_ep4_mul.c:412,1
    - Dst: bn_rec_reg
      Src: /src/relic/src/epx/relic_ep4_mul.c:413,1
    - Dst: fp4_set_dig
      Src: /src/relic/src/epx/relic_ep4_mul.c:416,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:421,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul.c:424,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:432,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:433,1
    - Dst: fp_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:435,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:438,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:439,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul.c:440,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul.c:443,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:444,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep4_mul.c:444,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:445,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep4_mul.c:445,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:446,1
    - Dst: bn_is_even
      Src: /src/relic/src/epx/relic_ep4_mul.c:446,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul.c:448,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:449,1
    - Dst: fp4_copy_sec
      Src: /src/relic/src/epx/relic_ep4_mul.c:450,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul.c:450,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep4_t
    - ep4_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 451
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 451
    functionName: ep4_mul_naf_imp
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul.c
    functionUses: 0
    functionsReached:
    - ep4_tab
    - ep4_dbl
    - fp_copy_sec
    - ep4_set_infty
    - for
    - ep4_curve_get_ord
    - ep4_norm
    - bn_abs
    - bn_rec_reg
    - ep4_new
    - bn_null
    - RLC_THROW
    - ep4_sub
    - defined
    - fp4_set_dig
    - bn_is_even
    - ep4_add
    - bn_sign
    - bn_new
    - ep4_free
    - ep4_neg
    - RLC_CEIL
    - bn_rec_naf
    - fp4_copy_sec
    - bn_bits
    - ep4_null
    linkageType: ''
    returnType: void
    signature: void ep4_mul_naf_imp(ep4_t r, const ep4_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:478,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul.c:480,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:480,1
    - Dst: RLC_FREE
      Src: /src/relic/src/epx/relic_ep4_mul.c:481,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:482,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul.c:486,1
    - Dst: ep4_mul_dig
      Src: /src/relic/src/epx/relic_ep4_mul.c:487,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul.c:488,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:489,1
    - Dst: RLC_FREE
      Src: /src/relic/src/epx/relic_ep4_mul.c:491,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:496,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_mul.c:498,1
    - Dst: bn_bits
      Src: /src/relic/src/epx/relic_ep4_mul.c:501,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep4_mul.c:502,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:503,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul.c:505,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul.c:509,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul.c:511,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul.c:515,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul.c:516,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:517,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep4_t
    - ep4_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 519
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 519
    functionName: ep4_mul_basic
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul.c
    functionUses: 6
    functionsReached:
    - ep4_mul_dig
    - ep4_new
    - RLC_FREE
    - ep4_dbl
    - RLC_THROW
    - ep4_add
    - ep4_set_infty
    - ep4_neg
    - bn_sign
    - bn_rec_naf
    - ep4_sub
    - ep4_norm
    - bn_bits
    - ep4_null
    - ep4_is_infty
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep4_mul_basic(ep4_t r, const ep4_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:536,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul.c:538,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:538,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:539,1
    - Dst: for
      Src: /src/relic/src/epx/relic_ep4_mul.c:544,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:545,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:546,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:549,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_mul.c:551,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul.c:552,1
    - Dst: q
      Src: /src/relic/src/epx/relic_ep4_mul.c:555,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul.c:560,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:567,1
    - Dst: bn_rec_slw
      Src: /src/relic/src/epx/relic_ep4_mul.c:569,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul.c:572,1
    - Dst: util_bits_dig
      Src: /src/relic/src/epx/relic_ep4_mul.c:574,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul.c:575,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul.c:577,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul.c:581,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul.c:582,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul.c:583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep4_t
    - ep4_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 585
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 585
    functionName: ep4_mul_slide
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul.c
    functionUses: 1
    functionsReached:
    - bn_rec_slw
    - ep4_new
    - ep4_dbl
    - ep4_copy
    - ep4_add
    - ep4_set_infty
    - q
    - ep4_neg
    - for
    - bn_sign
    - util_bits_dig
    - ep4_norm
    - ep4_null
    - ep4_is_infty
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep4_mul_slide(ep4_t r, const ep4_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul.c:690,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:690,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:691,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep4_mul.c:696,1
    - Dst: ep4_mul_gls_imp
      Src: /src/relic/src/epx/relic_ep4_mul.c:697,1
    - Dst: ep4_mul_naf_imp
      Src: /src/relic/src/epx/relic_ep4_mul.c:703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep4_t
    - ep4_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 705
      start: 689
    functionDepth: 5
    functionLinenumber: 689
    functionLinenumberEnd: 705
    functionName: ep4_mul_lwnaf
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul.c
    functionUses: 1
    functionsReached:
    - ep4_mul_gls_imp
    - ep4_set_infty
    - ep4_mul_naf_imp
    - ep_curve_is_endom
    - ep4_is_infty
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep4_mul_lwnaf(ep4_t r, const ep4_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul.c:712,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:712,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:713,1
    - Dst: ep_curve_is_endom
      Src: /src/relic/src/epx/relic_ep4_mul.c:718,1
    - Dst: ep4_mul_reg_gls
      Src: /src/relic/src/epx/relic_ep4_mul.c:719,1
    - Dst: ep4_mul_reg_imp
      Src: /src/relic/src/epx/relic_ep4_mul.c:725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep4_t
    - ep4_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 727
      start: 711
    functionDepth: 5
    functionLinenumber: 711
    functionLinenumberEnd: 727
    functionName: ep4_mul_lwreg
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul.c
    functionUses: 1
    functionsReached:
    - ep4_set_infty
    - ep4_mul_reg_imp
    - ep_curve_is_endom
    - ep4_is_infty
    - bn_is_zero
    - ep4_mul_reg_gls
    linkageType: ''
    returnType: void
    signature: void ep4_mul_lwreg(ep4_t r, const ep4_t p, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul.c:732,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:733,1
    - Dst: ep4_mul_fix
      Src: /src/relic/src/epx/relic_ep4_mul.c:738,1
    - Dst: ep4_curve_get_tab
      Src: /src/relic/src/epx/relic_ep4_mul.c:738,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:742,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:745,1
    - Dst: ep4_curve_get_gen
      Src: /src/relic/src/epx/relic_ep4_mul.c:746,1
    - Dst: ep4_mul
      Src: /src/relic/src/epx/relic_ep4_mul.c:747,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep4_mul.c:750,1
    - Dst: ep4_free
      Src: /src/relic/src/epx/relic_ep4_mul.c:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - r
    - k
    argTypes:
    - ep4_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 756
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 756
    functionName: ep4_mul_gen
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul.c
    functionUses: 3
    functionsReached:
    - ep4_curve_get_tab
    - ep4_new
    - RLC_THROW
    - ep4_mul_fix
    - ep4_mul
    - ep4_set_infty
    - ep4_free
    - ep4_null
    - ep4_curve_get_gen
    - bn_is_zero
    linkageType: ''
    returnType: void
    signature: void ep4_mul_gen(ep4_t r, const bn_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:764,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul.c:765,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:767,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul.c:768,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:773,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul.c:774,1
    - Dst: bn_set_dig
      Src: /src/relic/src/epx/relic_ep4_mul.c:776,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep4_mul.c:779,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_mul.c:781,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul.c:783,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul.c:787,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul.c:789,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul.c:793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - r
    - p
    - k
    argTypes:
    - ep4_t
    - ep4_t
    - dig_t
    constantsTouched: []
    func_position:
      end: 794
      start: 758
    functionDepth: 3
    functionLinenumber: 758
    functionLinenumberEnd: 794
    functionName: ep4_mul_dig
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul.c
    functionUses: 3
    functionsReached:
    - ep4_new
    - bn_null
    - ep4_dbl
    - ep4_copy
    - ep4_add
    - ep4_set_infty
    - bn_rec_naf
    - ep4_sub
    - bn_new
    - ep4_norm
    - bn_set_dig
    - ep4_null
    - ep4_is_infty
    linkageType: ''
    returnType: void
    signature: void ep4_mul_dig(ep4_t r, const ep4_t p, const dig_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_norm.c:52,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_norm.c:55,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_norm.c:58,1
    - Dst: fp8_inv
      Src: /src/relic/src/epx/relic_ep8_norm.c:60,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_norm.c:65,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_norm.c:66,1
    - Dst: fp8_sqr
      Src: /src/relic/src/epx/relic_ep8_norm.c:69,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_norm.c:70,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_norm.c:71,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_norm.c:72,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_norm.c:75,1
    - Dst: fp8_set_dig
      Src: /src/relic/src/epx/relic_ep8_norm.c:78,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep8_norm.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - r
    - p
    - inv
    argTypes:
    - ep8_t
    - ep8_t
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 82
    functionName: ep8_norm_imp
    functionSourceFile: /src/relic/src/epx/relic_ep8_norm.c
    functionUses: 0
    functionsReached:
    - RLC_THROW
    - fp8_inv
    - fp8_new
    - fp8_mul
    - fp8_null
    - fp8_copy
    - ep8_copy
    - fp8_set_dig
    - fp8_sqr
    linkageType: ''
    returnType: void
    signature: void ep8_norm_imp(ep8_t r, const ep8_t p, int inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_norm.c:98,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_norm.c:99,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_norm.c:105,1
    - Dst: ep8_norm_imp
      Src: /src/relic/src/epx/relic_ep8_norm.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: ep8_norm
    functionSourceFile: /src/relic/src/epx/relic_ep8_norm.c
    functionUses: 25
    functionsReached:
    - ep8_norm_imp
    - ep8_is_infty
    - ep8_copy
    - ep8_set_infty
    linkageType: ''
    returnType: void
    signature: void ep8_norm(ep8_t r, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_cmp.c:43,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_cmp.c:43,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_cmp.c:47,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_cmp.c:48,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_cmp.c:51,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_cmp.c:52,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_cmp.c:58,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_cmp.c:59,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_cmp.c:64,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_cmp.c:65,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_cmp.c:66,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_cmp.c:67,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_cmp.c:70,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_cmp.c:77,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_cmp.c:78,1
    - Dst: fp4_sqr
      Src: /src/relic/src/epx/relic_ep4_cmp.c:81,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_cmp.c:82,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_cmp.c:83,1
    - Dst: fp4_mul
      Src: /src/relic/src/epx/relic_ep4_cmp.c:84,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_cmp.c:87,1
    - Dst: fp4_cmp
      Src: /src/relic/src/epx/relic_ep4_cmp.c:91,1
    - Dst: fp4_cmp
      Src: /src/relic/src/epx/relic_ep4_cmp.c:91,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - ep4_t
    - ep4_t
    constantsTouched: []
    func_position:
      end: 94
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 94
    functionName: ep4_cmp
    functionSourceFile: /src/relic/src/epx/relic_ep4_cmp.c
    functionUses: 12
    functionsReached:
    - ep4_new
    - fp4_mul
    - ep4_copy
    - fp4_cmp
    - fp4_sqr
    - ep4_null
    - ep4_is_infty
    linkageType: ''
    returnType: int
    signature: int ep4_cmp(const ep4_t p, const ep4_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_dbl.c:87,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_dbl.c:88,1
    - Dst: ep2_dbl_basic_imp
      Src: /src/relic/src/epx/relic_ep2_dbl.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: ep2_dbl_basic
    functionSourceFile: /src/relic/src/epx/relic_ep2_dbl.c
    functionUses: 1
    functionsReached:
    - ep2_dbl_basic_imp
    - ep2_is_infty
    - ep2_set_infty
    linkageType: ''
    returnType: void
    signature: void ep2_dbl_basic(ep2_t r, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_dbl.c:95,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_dbl.c:96,1
    - Dst: ep2_dbl_basic_imp
      Src: /src/relic/src/epx/relic_ep2_dbl.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - r
    - s
    - p
    argTypes:
    - ep2_t
    - fp2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: ep2_dbl_slp_basic
    functionSourceFile: /src/relic/src/epx/relic_ep2_dbl.c
    functionUses: 0
    functionsReached:
    - ep2_dbl_basic_imp
    - ep2_is_infty
    - ep2_set_infty
    linkageType: ''
    returnType: void
    signature: void ep2_dbl_slp_basic(ep2_t r, fp2_t s, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_dbl.c:108,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_dbl.c:109,1
    - Dst: ep2_dbl_projc_imp
      Src: /src/relic/src/epx/relic_ep2_dbl.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: ep2_dbl_projc
    functionSourceFile: /src/relic/src/epx/relic_ep2_dbl.c
    functionUses: 1
    functionsReached:
    - ep2_is_infty
    - ep2_dbl_projc_imp
    - ep2_set_infty
    linkageType: ''
    returnType: void
    signature: void ep2_dbl_projc(ep2_t r, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep2_is_infty
      Src: /src/relic/src/epx/relic_ep2_dbl.c:121,1
    - Dst: ep2_set_infty
      Src: /src/relic/src/epx/relic_ep2_dbl.c:122,1
    - Dst: ep2_dbl_jacob_imp
      Src: /src/relic/src/epx/relic_ep2_dbl.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep2_t
    - ep2_t
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: ep2_dbl_jacob
    functionSourceFile: /src/relic/src/epx/relic_ep2_dbl.c
    functionUses: 1
    functionsReached:
    - ep2_is_infty
    - ep2_dbl_jacob_imp
    - ep2_set_infty
    linkageType: ''
    returnType: void
    signature: void ep2_dbl_jacob(ep2_t r, const ep2_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_dbl.c:87,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_dbl.c:88,1
    - Dst: ep8_dbl_basic_imp
      Src: /src/relic/src/epx/relic_ep8_dbl.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: ep8_dbl_basic
    functionSourceFile: /src/relic/src/epx/relic_ep8_dbl.c
    functionUses: 1
    functionsReached:
    - ep8_is_infty
    - ep8_dbl_basic_imp
    - ep8_set_infty
    linkageType: ''
    returnType: void
    signature: void ep8_dbl_basic(ep8_t r, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_dbl.c:95,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_dbl.c:96,1
    - Dst: ep8_dbl_basic_imp
      Src: /src/relic/src/epx/relic_ep8_dbl.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - r
    - s
    - p
    argTypes:
    - ep8_t
    - fp8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: ep8_dbl_slp_basic
    functionSourceFile: /src/relic/src/epx/relic_ep8_dbl.c
    functionUses: 0
    functionsReached:
    - ep8_is_infty
    - ep8_dbl_basic_imp
    - ep8_set_infty
    linkageType: ''
    returnType: void
    signature: void ep8_dbl_slp_basic(ep8_t r, fp8_t s, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_dbl.c:108,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_dbl.c:109,1
    - Dst: ep8_dbl_projc_imp
      Src: /src/relic/src/epx/relic_ep8_dbl.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: ep8_dbl_projc
    functionSourceFile: /src/relic/src/epx/relic_ep8_dbl.c
    functionUses: 1
    functionsReached:
    - ep8_dbl_projc_imp
    - ep8_is_infty
    - ep8_set_infty
    linkageType: ''
    returnType: void
    signature: void ep8_dbl_projc(ep8_t r, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_is_infty
      Src: /src/relic/src/epx/relic_ep8_dbl.c:121,1
    - Dst: ep8_set_infty
      Src: /src/relic/src/epx/relic_ep8_dbl.c:122,1
    - Dst: ep8_dbl_jacob_imp
      Src: /src/relic/src/epx/relic_ep8_dbl.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep8_t
    - ep8_t
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: ep8_dbl_jacob
    functionSourceFile: /src/relic/src/epx/relic_ep8_dbl.c
    functionUses: 1
    functionsReached:
    - ep8_is_infty
    - ep8_dbl_jacob_imp
    - ep8_set_infty
    linkageType: ''
    returnType: void
    signature: void ep8_dbl_jacob(ep8_t r, const ep8_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:65,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:66,1
    - Dst: ep4_tab
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:68,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:74,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:75,1
    - Dst: ep4_tab
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:78,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:87,1
    - Dst: bn_rec_naf
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:88,1
    - Dst: RLC_MAX
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:90,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:93,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:98,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:104,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:106,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:111,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:114,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:117,1
    - Dst: ep4_sub
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:120,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:124,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 6
    argNames:
    - r
    - p
    - k
    - q
    - m
    - t
    argTypes:
    - ep4_t
    - ep4_t
    - bn_t
    - ep4_t
    - bn_t
    - ep4_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 125
    functionName: ep4_mul_sim_plain
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_sim.c
    functionUses: 0
    functionsReached:
    - ep4_new
    - ep4_tab
    - ep4_dbl
    - ep4_add
    - ep4_set_infty
    - bn_rec_naf
    - bn_sign
    - ep4_sub
    - RLC_MAX
    - ep4_norm
    - ep4_null
    linkageType: ''
    returnType: void
    signature: "void ep4_mul_sim_plain(ep4_t r, const ep4_t p, const bn_t k,\n\t\tconst
      ep4_t q, const bn_t m, ep4_t *t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:154,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:157,1
    - Dst: ep4_mul
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:158,1
    - Dst: ep4_mul
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:159,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:160,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - l
    argTypes:
    - ep4_t
    - ep4_t
    - bn_t
    - ep4_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: ep4_mul_sim_basic
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep4_new
    - ep4_add
    - ep4_mul
    - ep4_norm
    - ep4_null
    linkageType: ''
    returnType: void
    signature: "void ep4_mul_sim_basic(ep4_t r, const ep4_t p, const bn_t k, const
      ep4_t q,\n\t\tconst bn_t l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:184,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:186,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:186,1
    - Dst: ep4_mul
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:187,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:190,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:190,1
    - Dst: ep4_mul
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:191,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:196,1
    - Dst: ep4_curve_get_ord
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:198,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:201,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:202,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:203,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:204,1
    - Dst: ep4_null
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:207,1
    - Dst: ep4_new
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:208,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:211,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:212,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:213,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:214,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:217,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:220,1
    - Dst: ep4_copy
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:221,1
    - Dst: bn_sign
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:222,1
    - Dst: ep4_neg
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:223,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:226,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:231,1
    - Dst: ep4_norm_sim
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:236,1
    - Dst: RLC_CEIL
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:239,1
    - Dst: bn_rec_win
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:240,1
    - Dst: bn_rec_win
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:241,1
    - Dst: ep4_set_infty
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:243,1
    - Dst: ep4_dbl
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:246,1
    - Dst: ep4_add
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:248,1
    - Dst: ep4_norm
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:250,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - ep4_t
    - ep4_t
    - bn_t
    - ep4_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 251
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 251
    functionName: ep4_mul_sim_trick
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep4_new
    - bn_null
    - ep4_dbl
    - ep4_copy
    - ep4_mul
    - ep4_set_infty
    - ep4_neg
    - ep4_add
    - RLC_CEIL
    - bn_sign
    - bn_rec_win
    - ep4_curve_get_ord
    - bn_new
    - ep4_norm
    - ep4_null
    - ep4_is_infty
    - bn_is_zero
    - ep4_norm_sim
    linkageType: ''
    returnType: void
    signature: "void ep4_mul_sim_trick(ep4_t r, const ep4_t p, const bn_t k, const
      ep4_t q,\n\t\tconst bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:271,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:271,1
    - Dst: ep4_mul
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:272,1
    - Dst: bn_is_zero
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:275,1
    - Dst: ep4_is_infty
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:275,1
    - Dst: ep4_mul
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:276,1
    - Dst: ep4_mul_sim_plain
      Src: /src/relic/src/epx/relic_ep4_mul_sim.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - r
    - p
    - k
    - q
    - m
    argTypes:
    - ep4_t
    - ep4_t
    - bn_t
    - ep4_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: ep4_mul_sim_inter
    functionSourceFile: /src/relic/src/epx/relic_ep4_mul_sim.c
    functionUses: 1
    functionsReached:
    - ep4_mul_sim_plain
    - ep4_is_infty
    - bn_is_zero
    - ep4_mul
    linkageType: ''
    returnType: void
    signature: "void ep4_mul_sim_inter(ep4_t r, const ep4_t p, const bn_t k, const
      ep4_t q,\n\t\tconst bn_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep3_map.c:45,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_map.c:49,1
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_map.c:50,1
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_map.c:51,1
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_map.c:52,1
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_map.c:53,1
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_map.c:54,1
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_map.c:55,1
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_map.c:56,1
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_map.c:57,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_map.c:60,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_map.c:61,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_map.c:62,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_map.c:63,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_map.c:64,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_map.c:65,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_map.c:66,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_map.c:67,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_map.c:68,1
    - Dst: md_xmd
      Src: /src/relic/src/epx/relic_ep3_map.c:70,1
    - Dst: bn_read_bin
      Src: /src/relic/src/epx/relic_ep3_map.c:73,1
    - Dst: fp_prime_conv
      Src: /src/relic/src/epx/relic_ep3_map.c:74,1
    - Dst: bn_read_bin
      Src: /src/relic/src/epx/relic_ep3_map.c:76,1
    - Dst: fp_prime_conv
      Src: /src/relic/src/epx/relic_ep3_map.c:77,1
    - Dst: fp3_sqr
      Src: /src/relic/src/epx/relic_ep3_map.c:84,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_map.c:85,1
    - Dst: fp3_sqr
      Src: /src/relic/src/epx/relic_ep3_map.c:86,1
    - Dst: fp3_add
      Src: /src/relic/src/epx/relic_ep3_map.c:87,1
    - Dst: fp3_sub
      Src: /src/relic/src/epx/relic_ep3_map.c:88,1
    - Dst: fp3_dbl
      Src: /src/relic/src/epx/relic_ep3_map.c:89,1
    - Dst: fp3_add
      Src: /src/relic/src/epx/relic_ep3_map.c:90,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_map.c:91,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep3_map.c:92,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep3_map.c:93,1
    - Dst: fp_mul
      Src: /src/relic/src/epx/relic_ep3_map.c:94,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_map.c:95,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_map.c:96,1
    - Dst: fp3_dbl
      Src: /src/relic/src/epx/relic_ep3_map.c:97,1
    - Dst: fp3_dbl
      Src: /src/relic/src/epx/relic_ep3_map.c:99,1
    - Dst: fp3_sqr
      Src: /src/relic/src/epx/relic_ep3_map.c:100,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_map.c:101,1
    - Dst: fp3_sub
      Src: /src/relic/src/epx/relic_ep3_map.c:102,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_map.c:103,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_map.c:104,1
    - Dst: fp3_dbl
      Src: /src/relic/src/epx/relic_ep3_map.c:105,1
    - Dst: fp3_is_zero
      Src: /src/relic/src/epx/relic_ep3_map.c:107,1
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_map.c:108,1
    - Dst: fp3_inv
      Src: /src/relic/src/epx/relic_ep3_map.c:110,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_map.c:111,1
    - Dst: fp3_add
      Src: /src/relic/src/epx/relic_ep3_map.c:112,1
    - Dst: fp3_neg
      Src: /src/relic/src/epx/relic_ep3_map.c:113,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_map.c:114,1
    - Dst: fp3_sqr
      Src: /src/relic/src/epx/relic_ep3_map.c:115,1
    - Dst: fp3_add
      Src: /src/relic/src/epx/relic_ep3_map.c:116,1
    - Dst: ep3_rhs
      Src: /src/relic/src/epx/relic_ep3_map.c:118,1
    - Dst: ep3_rhs
      Src: /src/relic/src/epx/relic_ep3_map.c:119,1
    - Dst: ep3_rhs
      Src: /src/relic/src/epx/relic_ep3_map.c:120,1
    - Dst: fp3_is_sqr
      Src: /src/relic/src/epx/relic_ep3_map.c:122,1
    - Dst: fp3_is_sqr
      Src: /src/relic/src/epx/relic_ep3_map.c:123,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_map.c:125,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_map.c:126,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_map.c:127,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_map.c:128,1
    - Dst: fp3_srt
      Src: /src/relic/src/epx/relic_ep3_map.c:130,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep3_map.c:131,1
    - Dst: fp_is_zero
      Src: /src/relic/src/epx/relic_ep3_map.c:134,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep3_map.c:135,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep3_map.c:136,1
    - Dst: fp_is_zero
      Src: /src/relic/src/epx/relic_ep3_map.c:137,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep3_map.c:138,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep3_map.c:139,1
    - Dst: fp_prime_back
      Src: /src/relic/src/epx/relic_ep3_map.c:140,1
    - Dst: bn_get_bit
      Src: /src/relic/src/epx/relic_ep3_map.c:141,1
    - Dst: fp3_neg
      Src: /src/relic/src/epx/relic_ep3_map.c:146,1
    - Dst: fp3_copy_sec
      Src: /src/relic/src/epx/relic_ep3_map.c:147,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_map.c:149,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_map.c:150,1
    - Dst: fp3_set_dig
      Src: /src/relic/src/epx/relic_ep3_map.c:151,1
    - Dst: ep3_mul_cof
      Src: /src/relic/src/epx/relic_ep3_map.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 90
    argCount: 3
    argNames:
    - p
    - msg
    - len
    argTypes:
    - ep3_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 156
    functionName: ep3_map
    functionSourceFile: /src/relic/src/epx/relic_ep3_map.c
    functionUses: 1
    functionsReached:
    - bn_read_bin
    - fp_mul
    - md_xmd
    - ep3_set_infty
    - fp3_null
    - fp_prime_back
    - bn_null
    - fp3_mul
    - RLC_THROW
    - fp3_set_dig
    - fp3_copy
    - fp3_sub
    - fp3_is_zero
    - fp3_neg
    - fp3_srt
    - fp3_add
    - bn_new
    - fp3_new
    - core_get
    - fp3_dbl
    - bn_get_bit
    - fp3_sqr
    - fp3_copy_sec
    - fp_prime_conv
    - fp_is_zero
    - fp3_inv
    - ep3_mul_cof
    - fp3_is_sqr
    - ep3_rhs
    linkageType: ''
    returnType: void
    signature: void ep3_map(ep3_t p, const uint8_t *msg, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_is_zero
      Src: /src/relic/src/epx/relic_ep3_util.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep3_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: ep3_is_infty
    functionSourceFile: /src/relic/src/epx/relic_ep3_util.c
    functionUses: 25
    functionsReached:
    - fp3_is_zero
    linkageType: ''
    returnType: int
    signature: int ep3_is_infty(const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_zero
      Src: /src/relic/src/epx/relic_ep3_util.c:44,1
    - Dst: fp3_zero
      Src: /src/relic/src/epx/relic_ep3_util.c:45,1
    - Dst: fp3_zero
      Src: /src/relic/src/epx/relic_ep3_util.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep3_t
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ep3_set_infty
    functionSourceFile: /src/relic/src/epx/relic_ep3_util.c
    functionUses: 30
    functionsReached:
    - fp3_zero
    linkageType: ''
    returnType: void
    signature: void ep3_set_infty(ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_util.c:51,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_util.c:52,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_util.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: ep3_copy
    functionSourceFile: /src/relic/src/epx/relic_ep3_util.c
    functionUses: 21
    functionsReached:
    - fp3_copy
    linkageType: ''
    returnType: void
    signature: void ep3_copy(ep3_t r, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_util.c:60,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep3_util.c:61,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_util.c:64,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep3_util.c:65,1
    - Dst: ep3_curve_get_ord
      Src: /src/relic/src/epx/relic_ep3_util.c:67,1
    - Dst: bn_rand_mod
      Src: /src/relic/src/epx/relic_ep3_util.c:68,1
    - Dst: ep3_mul_gen
      Src: /src/relic/src/epx/relic_ep3_util.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep3_t
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: ep3_rand
    functionSourceFile: /src/relic/src/epx/relic_ep3_util.c
    functionUses: 10
    functionsReached:
    - ep3_mul_gen
    - bn_null
    - ep3_curve_get_ord
    - bn_rand_mod
    - bn_new
    linkageType: ''
    returnType: void
    signature: void ep3_rand(ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_util.c:84,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_util.c:87,1
    - Dst: fp3_rand
      Src: /src/relic/src/epx/relic_ep3_util.c:88,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_util.c:91,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_util.c:93,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_util.c:94,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_util.c:95,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_util.c:98,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_util.c:99,1
    - Dst: fp3_sqr
      Src: /src/relic/src/epx/relic_ep3_util.c:100,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_util.c:101,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_util.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ep3_t
    - ep3_t
    constantsTouched: []
    func_position:
      end: 105
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 105
    functionName: ep3_blind
    functionSourceFile: /src/relic/src/epx/relic_ep3_util.c
    functionUses: 1
    functionsReached:
    - fp3_null
    - fp3_mul
    - fp3_sqr
    - fp3_new
    - ep3_copy
    - fp3_rand
    linkageType: ''
    returnType: void
    signature: void ep3_blind(ep3_t r, const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_null
      Src: /src/relic/src/epx/relic_ep3_util.c:115,1
    - Dst: fp3_new
      Src: /src/relic/src/epx/relic_ep3_util.c:118,1
    - Dst: fp3_sqr
      Src: /src/relic/src/epx/relic_ep3_util.c:120,1
    - Dst: ep3_curve_opt_a
      Src: /src/relic/src/epx/relic_ep3_util.c:122,1
    - Dst: fp_sub_dig
      Src: /src/relic/src/epx/relic_ep3_util.c:127,1
    - Dst: fp_add_dig
      Src: /src/relic/src/epx/relic_ep3_util.c:130,1
    - Dst: fp_add_dig
      Src: /src/relic/src/epx/relic_ep3_util.c:133,1
    - Dst: fp3_mul_dig
      Src: /src/relic/src/epx/relic_ep3_util.c:136,1
    - Dst: ep3_curve_get_a
      Src: /src/relic/src/epx/relic_ep3_util.c:136,1
    - Dst: fp3_add
      Src: /src/relic/src/epx/relic_ep3_util.c:140,1
    - Dst: ep3_curve_get_a
      Src: /src/relic/src/epx/relic_ep3_util.c:140,1
    - Dst: fp3_mul
      Src: /src/relic/src/epx/relic_ep3_util.c:144,1
    - Dst: ep3_curve_opt_b
      Src: /src/relic/src/epx/relic_ep3_util.c:146,1
    - Dst: fp3_sub_dig
      Src: /src/relic/src/epx/relic_ep3_util.c:151,1
    - Dst: fp3_add_dig
      Src: /src/relic/src/epx/relic_ep3_util.c:154,1
    - Dst: fp3_add_dig
      Src: /src/relic/src/epx/relic_ep3_util.c:157,1
    - Dst: fp3_mul_dig
      Src: /src/relic/src/epx/relic_ep3_util.c:160,1
    - Dst: ep3_curve_get_b
      Src: /src/relic/src/epx/relic_ep3_util.c:160,1
    - Dst: fp3_add
      Src: /src/relic/src/epx/relic_ep3_util.c:164,1
    - Dst: ep3_curve_get_b
      Src: /src/relic/src/epx/relic_ep3_util.c:164,1
    - Dst: fp3_copy
      Src: /src/relic/src/epx/relic_ep3_util.c:168,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - rhs
    - x
    argTypes:
    - fp3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 169
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 169
    functionName: ep3_rhs
    functionSourceFile: /src/relic/src/epx/relic_ep3_util.c
    functionUses: 1
    functionsReached:
    - fp3_copy
    - fp3_null
    - ep3_curve_opt_a
    - fp3_add_dig
    - ep3_curve_get_b
    - fp3_sqr
    - fp3_mul
    - fp_sub_dig
    - ep3_curve_get_a
    - ep3_curve_opt_b
    - fp3_sub_dig
    - fp3_add
    - fp_add_dig
    - fp3_new
    - fp3_mul_dig
    linkageType: ''
    returnType: void
    signature: void ep3_rhs(fp3_t rhs, const fp3_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_util.c:180,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_util.c:183,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_util.c:185,1
    - Dst: ep3_rhs
      Src: /src/relic/src/epx/relic_ep3_util.c:187,1
    - Dst: fp3_sqr
      Src: /src/relic/src/epx/relic_ep3_util.c:188,1
    - Dst: fp3_cmp
      Src: /src/relic/src/epx/relic_ep3_util.c:190,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_util.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep3_t
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: ep3_on_curve
    functionSourceFile: /src/relic/src/epx/relic_ep3_util.c
    functionUses: 2
    functionsReached:
    - ep3_null
    - ep3_is_infty
    - ep3_new
    - fp3_sqr
    - ep3_norm
    - fp3_cmp
    - ep3_rhs
    linkageType: ''
    returnType: int
    signature: int ep3_on_curve(const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_dbl
      Src: /src/relic/src/epx/relic_ep3_util.c:201,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_util.c:203,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_util.c:205,1
    - Dst: ep3_add
      Src: /src/relic/src/epx/relic_ep3_util.c:207,1
    - Dst: ep3_norm_sim
      Src: /src/relic/src/epx/relic_ep3_util.c:210,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_util.c:214,1
    - Dst: ep3_copy
      Src: /src/relic/src/epx/relic_ep3_util.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - t
    - p
    - w
    argTypes:
    - ep3_t*
    - ep3_t
    - int
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: ep3_tab
    functionSourceFile: /src/relic/src/epx/relic_ep3_util.c
    functionUses: 3
    functionsReached:
    - ep3_dbl
    - ep3_add
    - ep3_norm
    - ep3_copy
    - ep3_norm_sim
    linkageType: ''
    returnType: void
    signature: void ep3_tab(ep3_t *t, const ep3_t p, int w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp3_print
      Src: /src/relic/src/epx/relic_ep3_util.c:221,1
    - Dst: fp3_print
      Src: /src/relic/src/epx/relic_ep3_util.c:222,1
    - Dst: fp3_print
      Src: /src/relic/src/epx/relic_ep3_util.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - ep3_t
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: ep3_print
    functionSourceFile: /src/relic/src/epx/relic_ep3_util.c
    functionUses: 0
    functionsReached:
    - fp3_print
    linkageType: ''
    returnType: void
    signature: void ep3_print(const ep3_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_util.c:230,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_util.c:232,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_util.c:237,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_util.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - pack
    argTypes:
    - ep3_t
    - int
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: ep3_size_bin
    functionSourceFile: /src/relic/src/epx/relic_ep3_util.c
    functionUses: 1
    functionsReached:
    - ep3_null
    - ep3_is_infty
    - ep3_norm
    - ep3_new
    linkageType: ''
    returnType: size_t
    signature: size_t ep3_size_bin(const ep3_t a, int pack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_set_infty
      Src: /src/relic/src/epx/relic_ep3_util.c:255,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep3_util.c:258,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep3_util.c:264,1
    - Dst: fp3_set_dig
      Src: /src/relic/src/epx/relic_ep3_util.c:269,1
    - Dst: fp3_read_bin
      Src: /src/relic/src/epx/relic_ep3_util.c:270,1
    - Dst: fp3_read_bin
      Src: /src/relic/src/epx/relic_ep3_util.c:274,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep3_util.c:276,1
    - Dst: ep3_on_curve
      Src: /src/relic/src/epx/relic_ep3_util.c:281,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep3_util.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - a
    - bin
    - len
    argTypes:
    - ep3_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 284
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 284
    functionName: ep3_read_bin
    functionSourceFile: /src/relic/src/epx/relic_ep3_util.c
    functionUses: 1
    functionsReached:
    - ep3_set_infty
    - RLC_THROW
    - fp3_read_bin
    - fp3_set_dig
    - ep3_on_curve
    linkageType: ''
    returnType: void
    signature: void ep3_read_bin(ep3_t a, const uint8_t *bin, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep3_null
      Src: /src/relic/src/epx/relic_ep3_util.c:289,1
    - Dst: memset
      Src: /src/relic/src/epx/relic_ep3_util.c:291,1
    - Dst: ep3_is_infty
      Src: /src/relic/src/epx/relic_ep3_util.c:293,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep3_util.c:295,1
    - Dst: ep3_new
      Src: /src/relic/src/epx/relic_ep3_util.c:303,1
    - Dst: ep3_norm
      Src: /src/relic/src/epx/relic_ep3_util.c:305,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep3_util.c:308,1
    - Dst: fp3_write_bin
      Src: /src/relic/src/epx/relic_ep3_util.c:311,1
    - Dst: fp3_write_bin
      Src: /src/relic/src/epx/relic_ep3_util.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - bin
    - len
    - a
    - pack
    argTypes:
    - uint8_t*
    - size_t
    - ep3_t
    - int
    constantsTouched: []
    func_position:
      end: 314
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 314
    functionName: ep3_write_bin
    functionSourceFile: /src/relic/src/epx/relic_ep3_util.c
    functionUses: 1
    functionsReached:
    - ep3_null
    - ep3_is_infty
    - ep3_new
    - RLC_THROW
    - memset
    - fp3_write_bin
    - ep3_norm
    linkageType: ''
    returnType: void
    signature: void ep3_write_bin(uint8_t *bin, size_t len, const ep3_t a, int pack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_curve.c:136,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_curve.c:139,1
    - Dst: fp8_set_dig
      Src: /src/relic/src/epx/relic_ep8_curve.c:140,1
    - Dst: fp8_neg
      Src: /src/relic/src/epx/relic_ep8_curve.c:141,1
    - Dst: fp8_cmp
      Src: /src/relic/src/epx/relic_ep8_curve.c:143,1
    - Dst: fp8_is_zero
      Src: /src/relic/src/epx/relic_ep8_curve.c:145,1
    - Dst: fp8_cmp_dig
      Src: /src/relic/src/epx/relic_ep8_curve.c:147,1
    - Dst: fp8_cmp_dig
      Src: /src/relic/src/epx/relic_ep8_curve.c:149,1
    - Dst: fp_bits
      Src: /src/relic/src/epx/relic_ep8_curve.c:151,1
    - Dst: fp_is_zero
      Src: /src/relic/src/epx/relic_ep8_curve.c:151,1
    - Dst: fp2_is_zero
      Src: /src/relic/src/epx/relic_ep8_curve.c:152,1
    - Dst: fp4_is_zero
      Src: /src/relic/src/epx/relic_ep8_curve.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - opt
    - a
    argTypes:
    - int*
    - fp8_t
    constantsTouched: []
    func_position:
      end: 157
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 157
    functionName: detect_opt
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 4
    functionsReached:
    - fp8_cmp_dig
    - fp8_neg
    - fp_is_zero
    - fp8_is_zero
    - fp_bits
    - fp4_is_zero
    - fp8_new
    - fp8_null
    - fp8_set_dig
    - fp8_cmp
    - fp2_is_zero
    linkageType: ''
    returnType: void
    signature: void detect_opt(int *opt, fp8_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:171,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_curve.c:180,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_curve.c:181,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_curve.c:182,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_curve.c:188,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_curve.c:189,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_curve.c:190,1
    - Dst: bn_make
      Src: /src/relic/src/epx/relic_ep8_curve.c:194,1
    - Dst: bn_make
      Src: /src/relic/src/epx/relic_ep8_curve.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 196
    functionName: ep8_curve_init
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 0
    functionsReached:
    - ep8_new
    - bn_make
    - core_get
    - fp8_new
    linkageType: ''
    returnType: void
    signature: void ep8_curve_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:199,1
    - Dst: fp8_free
      Src: /src/relic/src/epx/relic_ep8_curve.c:203,1
    - Dst: fp8_free
      Src: /src/relic/src/epx/relic_ep8_curve.c:204,1
    - Dst: fp8_free
      Src: /src/relic/src/epx/relic_ep8_curve.c:205,1
    - Dst: bn_clean
      Src: /src/relic/src/epx/relic_ep8_curve.c:208,1
    - Dst: bn_clean
      Src: /src/relic/src/epx/relic_ep8_curve.c:209,1
    - Dst: ep8_free
      Src: /src/relic/src/epx/relic_ep8_curve.c:210,1
    - Dst: fp8_free
      Src: /src/relic/src/epx/relic_ep8_curve.c:211,1
    - Dst: fp8_free
      Src: /src/relic/src/epx/relic_ep8_curve.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 214
    functionName: ep8_curve_clean
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 0
    functionsReached:
    - bn_clean
    - ep8_free
    - core_get
    - fp8_free
    linkageType: ''
    returnType: void
    signature: void ep8_curve_clean(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: ep8_curve_opt_a
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep8_curve_opt_a(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: ep8_curve_opt_b
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep8_curve_opt_b(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:225,1
    - Dst: fp8_zero
      Src: /src/relic/src/epx/relic_ep8_curve.c:228,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:231,1
    - Dst: fp8_dbl
      Src: /src/relic/src/epx/relic_ep8_curve.c:234,1
    - Dst: fp8_mul_dig
      Src: /src/relic/src/epx/relic_ep8_curve.c:238,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_curve.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp8_t
    - fp8_t
    constantsTouched: []
    func_position:
      end: 245
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 245
    functionName: ep8_curve_mul_a
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 0
    functionsReached:
    - fp8_zero
    - fp8_dbl
    - fp8_mul
    - fp8_copy
    - fp8_mul_dig
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep8_curve_mul_a(fp8_t c, const fp8_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:248,1
    - Dst: fp8_zero
      Src: /src/relic/src/epx/relic_ep8_curve.c:251,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:254,1
    - Dst: fp8_mul_dig
      Src: /src/relic/src/epx/relic_ep8_curve.c:258,1
    - Dst: fp8_mul
      Src: /src/relic/src/epx/relic_ep8_curve.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp8_t
    - fp8_t
    constantsTouched: []
    func_position:
      end: 265
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 265
    functionName: ep8_curve_mul_b
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 0
    functionsReached:
    - fp8_zero
    - fp8_mul
    - fp8_copy
    - fp8_mul_dig
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep8_curve_mul_b(fp8_t c, const fp8_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: ep8_curve_is_twist
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: int
    signature: int ep8_curve_is_twist(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:272,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - ep8_t
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: ep8_curve_get_gen
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 4
    functionsReached:
    - ep8_copy
    - core_get
    linkageType: ''
    returnType: void
    signature: void ep8_curve_get_gen(ep8_t g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: ep8_curve_get_a
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: fp4_t
    signature: fp4_t *ep8_curve_get_a(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: ep8_curve_get_b
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: fp4_t
    signature: fp4_t *ep8_curve_get_b(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:284,1
    - Dst: ep_curve_get_ord
      Src: /src/relic/src/epx/relic_ep8_curve.c:286,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - bn_t
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: ep8_curve_get_ord
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 16
    functionsReached:
    - bn_copy
    - core_get
    - ep_curve_get_ord
    linkageType: ''
    returnType: void
    signature: void ep8_curve_get_ord(bn_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:293,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - bn_t
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: ep8_curve_get_cof
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 0
    functionsReached:
    - core_get
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void ep8_curve_get_cof(bn_t h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:300,1
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: ep8_curve_get_tab
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 1
    functionsReached:
    - core_get
    linkageType: ''
    returnType: ep8_t
    signature: ep8_t *ep8_curve_get_tab(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:310,1
    - Dst: ep8_null
      Src: /src/relic/src/epx/relic_ep8_curve.c:315,1
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_curve.c:316,1
    - Dst: fp8_null
      Src: /src/relic/src/epx/relic_ep8_curve.c:317,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_curve.c:318,1
    - Dst: bn_null
      Src: /src/relic/src/epx/relic_ep8_curve.c:319,1
    - Dst: ep8_new
      Src: /src/relic/src/epx/relic_ep8_curve.c:329,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_curve.c:330,1
    - Dst: fp8_new
      Src: /src/relic/src/epx/relic_ep8_curve.c:331,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_curve.c:332,1
    - Dst: bn_new
      Src: /src/relic/src/epx/relic_ep8_curve.c:333,1
    - Dst: ep_param_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:335,1
    - Dst: fp8_zero
      Src: /src/relic/src/epx/relic_ep8_curve.c:338,1
    - Dst: ASSIGN
      Src: /src/relic/src/epx/relic_ep8_curve.c:339,1
    - Dst: RLC_THROW
      Src: /src/relic/src/epx/relic_ep8_curve.c:344,1
    - Dst: fp8_zero
      Src: /src/relic/src/epx/relic_ep8_curve.c:348,1
    - Dst: fp8_set_dig
      Src: /src/relic/src/epx/relic_ep8_curve.c:349,1
    - Dst: ep8_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:352,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:353,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:354,1
    - Dst: detect_opt
      Src: /src/relic/src/epx/relic_ep8_curve.c:356,1
    - Dst: detect_opt
      Src: /src/relic/src/epx/relic_ep8_curve.c:357,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:359,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:360,1
    - Dst: fp8_zero
      Src: /src/relic/src/epx/relic_ep8_curve.c:363,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:364,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:365,1
    - Dst: fp8_inv
      Src: /src/relic/src/epx/relic_ep8_curve.c:366,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:367,1
    - Dst: fp_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:368,1
    - Dst: pc_core_calc
      Src: /src/relic/src/epx/relic_ep8_curve.c:373,1
    - Dst: ep8_mul_pre
      Src: /src/relic/src/epx/relic_ep8_curve.c:377,1
    - Dst: ep8_curve_get_tab
      Src: /src/relic/src/epx/relic_ep8_curve.c:377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 379
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 379
    functionName: ep8_curve_set_twist
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 0
    functionsReached:
    - ep8_curve_get_tab
    - fp8_null
    - ep8_null
    - bn_null
    - ep8_mul_pre
    - RLC_THROW
    - fp8_zero
    - ASSIGN
    - fp_copy
    - ep8_new
    - pc_core_calc
    - bn_new
    - core_get
    - ep8_copy
    - ep_param_get
    - fp8_inv
    - fp8_new
    - fp8_copy
    - detect_opt
    - fp8_set_dig
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void ep8_curve_set_twist(int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core_get
      Src: /src/relic/src/epx/relic_ep8_curve.c:393,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:396,1
    - Dst: fp8_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:397,1
    - Dst: ep8_norm
      Src: /src/relic/src/epx/relic_ep8_curve.c:399,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:400,1
    - Dst: bn_copy
      Src: /src/relic/src/epx/relic_ep8_curve.c:401,1
    - Dst: ep8_mul_pre
      Src: /src/relic/src/epx/relic_ep8_curve.c:404,1
    - Dst: ep8_curve_get_tab
      Src: /src/relic/src/epx/relic_ep8_curve.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - a
    - b
    - g
    - r
    - h
    argTypes:
    - fp8_t
    - fp8_t
    - ep8_t
    - bn_t
    - bn_t
    constantsTouched: []
    func_position:
      end: 406
      start: 392
    functionDepth: 4
    functionLinenumber: 392
    functionLinenumberEnd: 406
    functionName: ep8_curve_set
    functionSourceFile: /src/relic/src/epx/relic_ep8_curve.c
    functionUses: 0
    functionsReached:
    - ep8_mul_pre
    - ep8_curve_get_tab
    - ep8_norm
    - fp8_copy
    - core_get
    - bn_copy
    linkageType: ''
    returnType: void
    signature: void ep8_curve_set(const fp8_t a, const fp8_t b, const ep8_t g, const
      bn_t r, const bn_t h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_lshift
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_shift_low.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - bits
    argTypes:
    - dig_t*
    - dig_t*
    - uint_t
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: fp_lshb_low
    functionSourceFile: /src/relic/src/low/x64-asm-8l/relic_fp_shift_low.c
    functionUses: 0
    functionsReached:
    - mpn_lshift
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_lshb_low(dig_t *c, const dig_t *a, uint_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_rshift
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_shift_low.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - bits
    argTypes:
    - dig_t*
    - dig_t*
    - uint_t
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: fp_rshb_low
    functionSourceFile: /src/relic/src/low/x64-asm-8l/relic_fp_shift_low.c
    functionUses: 0
    functionsReached:
    - mpn_rshift
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_rshb_low(dig_t *c, const dig_t *a, uint_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_addmul_1
      Src: /src/relic/src/low/x64-asm-8l/relic_bn_mul_low.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - a
    - digit
    - size
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: bn_mula_low
    functionSourceFile: /src/relic/src/low/x64-asm-8l/relic_bn_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_addmul_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t bn_mula_low(dig_t *c, const dig_t *a, dig_t digit, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul_1
      Src: /src/relic/src/low/x64-asm-8l/relic_bn_mul_low.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - a
    - digit
    - size
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: bn_mul1_low
    functionSourceFile: /src/relic/src/low/x64-asm-8l/relic_bn_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_mul_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t bn_mul1_low(dig_t *c, const dig_t *a, dig_t digit, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul_n
      Src: /src/relic/src/low/x64-asm-8l/relic_bn_mul_low.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - a
    - b
    - size
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: bn_muln_low
    functionSourceFile: /src/relic/src/low/x64-asm-8l/relic_bn_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_mul_n
    linkageType: ''
    returnType: void
    signature: void bn_muln_low(dig_t *c, const dig_t *a, const dig_t *b, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul
      Src: /src/relic/src/low/x64-asm-8l/relic_bn_mul_low.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - c
    - a
    - sa
    - b
    - sb
    - low
    - high
    argTypes:
    - dig_t*
    - dig_t*
    - size_t
    - dig_t*
    - size_t
    - uint_t
    - uint_t
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: bn_muld_low
    functionSourceFile: /src/relic/src/low/x64-asm-8l/relic_bn_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_mul
    linkageType: ''
    returnType: void
    signature: "void bn_muld_low(dig_t *c, const dig_t *a, size_t sa, const dig_t
      *b, size_t sb,\n\t\tuint_t low, uint_t high)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:48,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:49,1
    - Dst: fp_rdcn_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:50,1
    - Dst: fp_copy
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:52,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:55,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:55,1
    - Dst: mpn_gcdext
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:57,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:59,1
    - Dst: mpn_sub_n
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:60,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:60,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:62,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:66,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:67,1
    - Dst: mpn_tdiv_qr
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:68,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 70
    functionName: fp_invm_low
    functionSourceFile: /src/relic/src/low/x64-asm-8l/relic_fp_inv_low.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - dv_zero
    - mpn_gcdext
    - mpn_sub_n
    - fp_rdcn_low
    - fp_prime_get
    - fp_copy
    - mpn_tdiv_qr
    linkageType: ''
    returnType: void
    signature: void fp_invm_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_prime_get_sps
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:50,1
    - Dst: RLC_RIP
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:52,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:56,1
    - Dst: dv_rshd
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:57,1
    - Dst: bn_rshb_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:59,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:63,1
    - Dst: RLC_MASK
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:65,1
    - Dst: fp_is_zero
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:69,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:70,1
    - Dst: RLC_RIP
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:73,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:74,1
    - Dst: dv_lshd
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:75,1
    - Dst: bn_lshb_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:77,1
    - Dst: bn_subn_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:80,1
    - Dst: bn_addn_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:82,1
    - Dst: bn_subn_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:86,1
    - Dst: bn_addn_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:88,1
    - Dst: dv_rshd
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:90,1
    - Dst: bn_rshb_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:92,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:95,1
    - Dst: RLC_MASK
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:97,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:99,1
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:101,1
    - Dst: dv_cmp
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:104,1
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:105,1
    - Dst: fp_copy
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c:107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 3
    argNames:
    - c
    - a
    - m
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 108
    functionName: fp_rdcs_low
    functionSourceFile: /src/relic/src/low/x64-asm-8l/relic_fp_rdc_low.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - fp_prime_get_sps
    - RLC_MASK
    - dv_zero
    - fp_copy
    - bn_rshb_low
    - RLC_RIP
    - dv_rshd
    - dv_cmp
    - fp_is_zero
    - bn_lshb_low
    - fp_addn_low
    - bn_subn_low
    - fp_subn_low
    - bn_addn_low
    - dv_lshd
    linkageType: ''
    returnType: void
    signature: void fp_rdcs_low(dig_t *c, const dig_t *a, const dig_t *m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_sqr_low.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: fp_sqrn_low
    functionSourceFile: /src/relic/src/low/x64-asm-8l/relic_fp_sqr_low.c
    functionUses: 0
    functionsReached:
    - fp_muln_low
    linkageType: ''
    returnType: void
    signature: void fp_sqrn_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_mulm_low
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_sqr_low.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: fp_sqrm_low
    functionSourceFile: /src/relic/src/low/x64-asm-8l/relic_fp_sqr_low.c
    functionUses: 0
    functionsReached:
    - fp_mulm_low
    linkageType: ''
    returnType: void
    signature: void fp_sqrm_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_addmul_1
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_mul_low.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - digit
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: fp_mula_low
    functionSourceFile: /src/relic/src/low/x64-asm-8l/relic_fp_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_addmul_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_mula_low(dig_t *c, const dig_t *a, dig_t digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul_1
      Src: /src/relic/src/low/x64-asm-8l/relic_fp_mul_low.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - digit
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: fp_mul1_low
    functionSourceFile: /src/relic/src/low/x64-asm-8l/relic_fp_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_mul_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_mul1_low(dig_t *c, const dig_t *a, dig_t digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv_new
      Src: /src/relic/src/low/avr-asm-163/relic_fb_sqr_low.c:45,1
    - Dst: fb_sqri_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_sqr_low.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: fb_sqrm_low
    functionSourceFile: /src/relic/src/low/avr-asm-163/relic_fb_sqr_low.c
    functionUses: 0
    functionsReached:
    - dv_new
    - fb_sqri_low
    linkageType: ''
    returnType: void
    signature: void fb_sqrm_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_lsh1_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c:67,1
    - Dst: RLC_MASK
      Src: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - c
    - a
    - bits
    argTypes:
    - dig_t*
    - dig_t*
    - uint_t
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: fb_lshb_low
    functionSourceFile: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c
    functionUses: 1
    functionsReached:
    - RLC_MASK
    - fb_lsh1_low
    linkageType: ''
    returnType: dig_t
    signature: dig_t fb_lshb_low(dig_t *c, const dig_t *a, uint_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_rsh1_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - c
    - a
    - bits
    argTypes:
    - dig_t*
    - dig_t*
    - uint_t
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: fb_rshb_low
    functionSourceFile: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c
    functionUses: 0
    functionsReached:
    - fb_rsh1_low
    linkageType: ''
    returnType: dig_t
    signature: dig_t fb_rshb_low(dig_t *c, const dig_t *a, uint_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_lsha1_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c:111,1
    - Dst: fb_lsha2_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c:113,1
    - Dst: fb_lsha3_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c:115,1
    - Dst: fb_lsha4_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c:117,1
    - Dst: fb_lsha5_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c:119,1
    - Dst: fb_lsha6_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c:121,1
    - Dst: fb_lsha7_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - c
    - a
    - bits
    - size
    argTypes:
    - dig_t*
    - dig_t*
    - uint_t
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 128
    functionName: fb_lsha_low
    functionSourceFile: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c
    functionUses: 0
    functionsReached:
    - fb_lsha1_low
    - fb_lsha3_low
    - fb_lsha4_low
    - fb_lsha6_low
    - fb_lsha5_low
    - fb_lsha7_low
    - fb_lsha2_low
    linkageType: ''
    returnType: dig_t
    signature: dig_t fb_lsha_low(dig_t *c, const dig_t *a, uint_t bits, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - c
    - a
    - bits
    - size
    argTypes:
    - dig_t*
    - dig_t*
    - uint_t
    - size_t
    constantsTouched: []
    func_position:
      end: 153
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 153
    functionName: fb_lsha_low
    functionSourceFile: /src/relic/src/low/avr-asm-163/relic_fb_shift_low.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dig_t
    signature: dig_t fb_lsha_low(dig_t *c, const dig_t *a, uint_t bits, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fb_zero
      Src: /src/relic/src/low/avr-asm-163/relic_fb_mul_low.c:40,1
    - Dst: fb_zero
      Src: /src/relic/src/low/avr-asm-163/relic_fb_mul_low.c:41,1
    - Dst: fb_addn_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_mul_low.c:44,1
    - Dst: fb_lsh1_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_mul_low.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - c
    - a
    - digit
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: fb_mul1_low
    functionSourceFile: /src/relic/src/low/avr-asm-163/relic_fb_mul_low.c
    functionUses: 1
    functionsReached:
    - fb_addn_low
    - fb_lsh1_low
    - fb_zero
    linkageType: ''
    returnType: void
    signature: void fb_mul1_low(dig_t *c, const dig_t *a, dig_t digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv_new
      Src: /src/relic/src/low/avr-asm-163/relic_fb_mul_low.c:58,1
    - Dst: fb_muli_low
      Src: /src/relic/src/low/avr-asm-163/relic_fb_mul_low.c:59,1
    - Dst: dv_free
      Src: /src/relic/src/low/avr-asm-163/relic_fb_mul_low.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: fb_mulm_low
    functionSourceFile: /src/relic/src/low/avr-asm-163/relic_fb_mul_low.c
    functionUses: 0
    functionsReached:
    - dv_new
    - fb_muli_low
    - dv_free
    linkageType: ''
    returnType: void
    signature: void fb_mulm_low(dig_t *c, const dig_t *a, const dig_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_MASK
      Src: /src/relic/src/low/avr-asm-163/relic_bn_shift_low.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - c
    - a
    - size
    - bits
    argTypes:
    - dig_t*
    - dig_t*
    - size_t
    - uint_t
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: bn_lshb_low
    functionSourceFile: /src/relic/src/low/avr-asm-163/relic_bn_shift_low.c
    functionUses: 1
    functionsReached:
    - RLC_MASK
    linkageType: ''
    returnType: dig_t
    signature: dig_t bn_lshb_low(dig_t *c, const dig_t *a, size_t size, uint_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RLC_MASK
      Src: /src/relic/src/low/avr-asm-163/relic_bn_shift_low.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - c
    - a
    - size
    - bits
    argTypes:
    - dig_t*
    - dig_t*
    - size_t
    - uint_t
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: bn_rshb_low
    functionSourceFile: /src/relic/src/low/avr-asm-163/relic_bn_shift_low.c
    functionUses: 1
    functionsReached:
    - RLC_MASK
    linkageType: ''
    returnType: dig_t
    signature: dig_t bn_rshb_low(dig_t *c, const dig_t *a, size_t size, uint_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c:48,1
    - Dst: mpz_init
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c:49,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c:52,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c:53,1
    - Dst: fp_rdcn_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c:54,1
    - Dst: fp_copy
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c:56,1
    - Dst: mpz_import
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c:59,1
    - Dst: mpz_import
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c:60,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c:60,1
    - Dst: mpz_jacobi
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c:62,1
    - Dst: mpz_clear
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c:64,1
    - Dst: mpz_clear
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - dig_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: fp_smbm_low
    functionSourceFile: /src/relic/src/low/x64-asm-5l/relic_fp_smb_low.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - mpz_jacobi
    - dv_zero
    - mpz_import
    - mpz_init
    - mpz_clear
    - fp_rdcn_low
    - fp_prime_get
    - fp_copy
    linkageType: ''
    returnType: int
    signature: int fp_smbm_low(const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_lshift
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_shift_low.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - bits
    argTypes:
    - dig_t*
    - dig_t*
    - uint_t
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: fp_lshb_low
    functionSourceFile: /src/relic/src/low/x64-asm-5l/relic_fp_shift_low.c
    functionUses: 0
    functionsReached:
    - mpn_lshift
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_lshb_low(dig_t *c, const dig_t *a, uint_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_rshift
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_shift_low.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - bits
    argTypes:
    - dig_t*
    - dig_t*
    - uint_t
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: fp_rshb_low
    functionSourceFile: /src/relic/src/low/x64-asm-5l/relic_fp_shift_low.c
    functionUses: 0
    functionsReached:
    - mpn_rshift
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_rshb_low(dig_t *c, const dig_t *a, uint_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:48,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:49,1
    - Dst: fp_rdcn_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:50,1
    - Dst: fp_copy
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:52,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:55,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:55,1
    - Dst: mpn_gcdext
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:57,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:59,1
    - Dst: mpn_sub_n
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:60,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:60,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:62,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:66,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:67,1
    - Dst: mpn_tdiv_qr
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:68,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 70
    functionName: fp_invm_low
    functionSourceFile: /src/relic/src/low/x64-asm-5l/relic_fp_inv_low.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - dv_zero
    - mpn_gcdext
    - mpn_sub_n
    - fp_rdcn_low
    - fp_prime_get
    - fp_copy
    - mpn_tdiv_qr
    linkageType: ''
    returnType: void
    signature: void fp_invm_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_prime_get_sps
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:50,1
    - Dst: RLC_RIP
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:52,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:56,1
    - Dst: dv_rshd
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:57,1
    - Dst: bn_rshb_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:59,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:63,1
    - Dst: RLC_MASK
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:65,1
    - Dst: fp_is_zero
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:69,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:70,1
    - Dst: RLC_RIP
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:73,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:74,1
    - Dst: dv_lshd
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:75,1
    - Dst: bn_lshb_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:77,1
    - Dst: bn_subn_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:80,1
    - Dst: bn_addn_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:82,1
    - Dst: bn_subn_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:86,1
    - Dst: bn_addn_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:88,1
    - Dst: dv_rshd
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:90,1
    - Dst: bn_rshb_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:92,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:95,1
    - Dst: RLC_MASK
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:97,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:99,1
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:101,1
    - Dst: dv_cmp
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:104,1
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:105,1
    - Dst: fp_copy
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c:107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 3
    argNames:
    - c
    - a
    - m
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 108
    functionName: fp_rdcs_low
    functionSourceFile: /src/relic/src/low/x64-asm-5l/relic_fp_rdc_low.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - fp_prime_get_sps
    - RLC_MASK
    - dv_zero
    - fp_copy
    - bn_rshb_low
    - RLC_RIP
    - dv_rshd
    - dv_cmp
    - fp_is_zero
    - bn_lshb_low
    - fp_addn_low
    - bn_subn_low
    - fp_subn_low
    - bn_addn_low
    - dv_lshd
    linkageType: ''
    returnType: void
    signature: void fp_rdcs_low(dig_t *c, const dig_t *a, const dig_t *m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_sqr_low.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: fp_sqrn_low
    functionSourceFile: /src/relic/src/low/x64-asm-5l/relic_fp_sqr_low.c
    functionUses: 0
    functionsReached:
    - fp_muln_low
    linkageType: ''
    returnType: void
    signature: void fp_sqrn_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_mulm_low
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_sqr_low.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: fp_sqrm_low
    functionSourceFile: /src/relic/src/low/x64-asm-5l/relic_fp_sqr_low.c
    functionUses: 0
    functionsReached:
    - fp_mulm_low
    linkageType: ''
    returnType: void
    signature: void fp_sqrm_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_addmul_1
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_mul_low.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - digit
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: fp_mula_low
    functionSourceFile: /src/relic/src/low/x64-asm-5l/relic_fp_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_addmul_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_mula_low(dig_t *c, const dig_t *a, dig_t digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul_1
      Src: /src/relic/src/low/x64-asm-5l/relic_fp_mul_low.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - digit
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: fp_mul1_low
    functionSourceFile: /src/relic/src/low/x64-asm-5l/relic_fp_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_mul_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_mul1_low(dig_t *c, const dig_t *a, dig_t digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_prime_get_sps
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:46,1
    - Dst: RLC_RIP
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:48,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:52,1
    - Dst: dv_rshd
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:53,1
    - Dst: bn_rshb_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:55,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:59,1
    - Dst: RLC_MASK
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:61,1
    - Dst: fp_is_zero
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:65,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:66,1
    - Dst: RLC_RIP
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:69,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:70,1
    - Dst: dv_lshd
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:71,1
    - Dst: bn_lshb_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:73,1
    - Dst: bn_addn_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:77,1
    - Dst: bn_subn_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:79,1
    - Dst: bn_addn_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:84,1
    - Dst: bn_subn_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:86,1
    - Dst: dv_rshd
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:88,1
    - Dst: bn_rshb_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:90,1
    - Dst: RLC_MASK
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:93,1
    - Dst: fp_add
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:96,1
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:99,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:100,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:103,1
    - Dst: dv_cmp
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:107,1
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:108,1
    - Dst: fp_copy
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c:110,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 3
    argNames:
    - c
    - a
    - m
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 111
    functionName: fp_rdcs_low
    functionSourceFile: /src/relic/src/low/x64-asm-10l/relic_fp_rdc_low.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - fp_prime_get_sps
    - RLC_MASK
    - dv_zero
    - fp_copy
    - bn_rshb_low
    - RLC_RIP
    - dv_rshd
    - dv_cmp
    - fp_is_zero
    - bn_lshb_low
    - fp_addn_low
    - bn_subn_low
    - fp_add
    - fp_subn_low
    - bn_addn_low
    - dv_lshd
    linkageType: ''
    returnType: void
    signature: void fp_rdcs_low(dig_t *c, const dig_t *a, const dig_t *m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_sqr_low.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: fp_sqrn_low
    functionSourceFile: /src/relic/src/low/x64-asm-10l/relic_fp_sqr_low.c
    functionUses: 0
    functionsReached:
    - fp_muln_low
    linkageType: ''
    returnType: void
    signature: void fp_sqrn_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_mulm_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_sqr_low.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: fp_sqrm_low
    functionSourceFile: /src/relic/src/low/x64-asm-10l/relic_fp_sqr_low.c
    functionUses: 0
    functionsReached:
    - fp_mulm_low
    linkageType: ''
    returnType: void
    signature: void fp_sqrm_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_addmul_1
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_mul_low.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - digit
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: fp_mula_low
    functionSourceFile: /src/relic/src/low/x64-asm-10l/relic_fp_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_addmul_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_mula_low(dig_t *c, const dig_t *a, dig_t digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul_1
      Src: /src/relic/src/low/x64-asm-10l/relic_fp_mul_low.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - digit
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: fp_mul1_low
    functionSourceFile: /src/relic/src/low/x64-asm-10l/relic_fp_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_mul_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_mul1_low(dig_t *c, const dig_t *a, dig_t digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_rdcn_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fpx_rdc_low.c:42,1
    - Dst: fp_rdcn_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fpx_rdc_low.c:43,1
    - Dst: fp_rdcn_low
      Src: /src/relic/src/low/x64-asm-10l/relic_fpx_rdc_low.c:44,1
    - Dst: fp_rdc
      Src: /src/relic/src/low/x64-asm-10l/relic_fpx_rdc_low.c:46,1
    - Dst: fp_rdc
      Src: /src/relic/src/low/x64-asm-10l/relic_fpx_rdc_low.c:47,1
    - Dst: fp_rdc
      Src: /src/relic/src/low/x64-asm-10l/relic_fpx_rdc_low.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp3_t
    - dv3_t
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: fp3_rdcn_low
    functionSourceFile: /src/relic/src/low/x64-asm-10l/relic_fpx_rdc_low.c
    functionUses: 0
    functionsReached:
    - fp_rdc
    - fp_rdcn_low
    linkageType: ''
    returnType: void
    signature: void fp3_rdcn_low(fp3_t c, dv3_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_lshift
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_shift_low.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - bits
    argTypes:
    - dig_t*
    - dig_t*
    - uint_t
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: fp_lshb_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fp_shift_low.c
    functionUses: 0
    functionsReached:
    - mpn_lshift
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_lshb_low(dig_t *c, const dig_t *a, uint_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_rshift
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_shift_low.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - bits
    argTypes:
    - dig_t*
    - dig_t*
    - uint_t
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: fp_rshb_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fp_shift_low.c
    functionUses: 0
    functionsReached:
    - mpn_rshift
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_rshb_low(dig_t *c, const dig_t *a, uint_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_addmul_1
      Src: /src/relic/src/low/x64-asm-6l/relic_bn_mul_low.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - a
    - digit
    - size
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: bn_mula_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_bn_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_addmul_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t bn_mula_low(dig_t *c, const dig_t *a, dig_t digit, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul_1
      Src: /src/relic/src/low/x64-asm-6l/relic_bn_mul_low.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - a
    - digit
    - size
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: bn_mul1_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_bn_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_mul_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t bn_mul1_low(dig_t *c, const dig_t *a, dig_t digit, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul_n
      Src: /src/relic/src/low/x64-asm-6l/relic_bn_mul_low.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - a
    - b
    - size
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: bn_muln_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_bn_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_mul_n
    linkageType: ''
    returnType: void
    signature: void bn_muln_low(dig_t *c, const dig_t *a, const dig_t *b, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul
      Src: /src/relic/src/low/x64-asm-6l/relic_bn_mul_low.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - c
    - a
    - sa
    - b
    - sb
    - low
    - high
    argTypes:
    - dig_t*
    - dig_t*
    - size_t
    - dig_t*
    - size_t
    - uint_t
    - uint_t
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: bn_muld_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_bn_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_mul
    linkageType: ''
    returnType: void
    signature: "void bn_muld_low(dig_t *c, const dig_t *a, size_t sa, const dig_t
      *b, size_t sb,\n\t\tuint_t low, uint_t high)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_muln_c0
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:49,1
    - Dst: fp2_muln_c1
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:50,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:51,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dv2_t
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: fp2_muln_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c
    functionUses: 0
    functionsReached:
    - fp2_muln_c1
    - dv_copy
    - fp2_muln_c0
    linkageType: ''
    returnType: void
    signature: void fp2_muln_low(dv2_t c, const fp2_t a, const fp2_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_mulm_c0
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:61,1
    - Dst: fp2_mulm_c1
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:62,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - fp2_t
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: fp2_mulm_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - fp2_mulm_c1
    - fp2_mulm_c0
    linkageType: ''
    returnType: void
    signature: void fp2_mulm_low(fp2_t c, const fp2_t a, const fp2_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:75,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:76,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:78,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:79,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:82,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:83,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:85,1
    - Dst: fp_addd_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:89,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:91,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:95,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:99,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:100,1
    - Dst: fp_subd_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:106,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dv2_t
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 110
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 110
    functionName: fp2_muln_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c
    functionUses: 0
    functionsReached:
    - fp_addc_low
    - fp_subd_low
    - fp_addd_low
    - fp_prime_get_qnr
    - fp_addn_low
    - fp_subc_low
    - fp_addm_low
    - fp_muln_low
    linkageType: ''
    returnType: void
    signature: void fp2_muln_low(dv2_t c, const fp2_t a, const fp2_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv2_null
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:115,1
    - Dst: dv2_new
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:118,1
    - Dst: fp2_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:119,1
    - Dst: fp2_rdcn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - fp2_t
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: fp2_mulm_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c
    functionUses: 0
    functionsReached:
    - fp2_muln_low
    - fp2_rdcn_low
    - dv2_null
    - dv2_new
    linkageType: ''
    returnType: void
    signature: void fp2_mulm_low(fp2_t c, const fp2_t a, const fp2_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:137,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:138,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:139,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:143,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:144,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:146,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:147,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:149,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:151,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:153,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:155,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:156,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:157,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:158,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:160,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:161,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:165,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:166,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:168,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:169,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:171,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:173,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:175,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:177,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:178,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:179,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:180,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:182,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:183,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:187,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:188,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:190,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:191,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:193,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:195,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:197,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:199,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dv3_t
    - fp3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 201
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 201
    functionName: fp3_muln_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c
    functionUses: 0
    functionsReached:
    - fp_addc_low
    - fp_addn_low
    - fp_prime_get_cnr
    - fp_subc_low
    - fp_addm_low
    - fp_muln_low
    linkageType: ''
    returnType: void
    signature: void fp3_muln_low(dv3_t c, const fp3_t a, const fp3_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv3_null
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:206,1
    - Dst: dv3_new
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:209,1
    - Dst: fp3_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:210,1
    - Dst: fp3_rdcn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - fp3_t
    - fp3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: fp3_mulm_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fpx_mul_low.c
    functionUses: 0
    functionsReached:
    - dv3_new
    - fp3_muln_low
    - fp3_rdcn_low
    - dv3_null
    linkageType: ''
    returnType: void
    signature: void fp3_mulm_low(fp3_t c, const fp3_t a, const fp3_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:48,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:49,1
    - Dst: fp_rdcn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:50,1
    - Dst: fp_copy
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:52,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:55,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:55,1
    - Dst: mpn_gcdext
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:57,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:59,1
    - Dst: mpn_sub_n
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:60,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:60,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:62,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:66,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:67,1
    - Dst: mpn_tdiv_qr
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:68,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 70
    functionName: fp_invm_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fp_inv_low.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - dv_zero
    - mpn_gcdext
    - mpn_sub_n
    - fp_rdcn_low
    - fp_prime_get
    - fp_copy
    - mpn_tdiv_qr
    linkageType: ''
    returnType: void
    signature: void fp_invm_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_prime_get_sps
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:50,1
    - Dst: RLC_RIP
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:52,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:56,1
    - Dst: dv_rshd
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:57,1
    - Dst: bn_rshb_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:59,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:63,1
    - Dst: RLC_MASK
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:65,1
    - Dst: fp_is_zero
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:69,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:70,1
    - Dst: RLC_RIP
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:73,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:74,1
    - Dst: dv_lshd
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:75,1
    - Dst: bn_lshb_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:77,1
    - Dst: bn_subn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:80,1
    - Dst: bn_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:82,1
    - Dst: bn_subn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:86,1
    - Dst: bn_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:88,1
    - Dst: dv_rshd
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:90,1
    - Dst: bn_rshb_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:92,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:95,1
    - Dst: RLC_MASK
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:97,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:99,1
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:101,1
    - Dst: dv_cmp
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:104,1
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:105,1
    - Dst: fp_copy
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c:107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 3
    argNames:
    - c
    - a
    - m
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 108
    functionName: fp_rdcs_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fp_rdc_low.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - fp_prime_get_sps
    - RLC_MASK
    - dv_zero
    - fp_copy
    - bn_rshb_low
    - RLC_RIP
    - dv_rshd
    - dv_cmp
    - fp_is_zero
    - bn_lshb_low
    - fp_addn_low
    - bn_subn_low
    - fp_subn_low
    - bn_addn_low
    - dv_lshd
    linkageType: ''
    returnType: void
    signature: void fp_rdcs_low(dig_t *c, const dig_t *a, const dig_t *m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_sqrn_c0
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:48,1
    - Dst: fp2_sqrn_c1
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dv2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: fp2_sqrn_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c
    functionUses: 0
    functionsReached:
    - fp2_sqrn_c1
    - fp2_sqrn_c0
    linkageType: ''
    returnType: void
    signature: void fp2_sqrn_low(dv2_t c, const fp2_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_sqrm_c0
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:55,1
    - Dst: fp2_sqrm_c1
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:56,1
    - Dst: fp_copy
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: fp2_sqrm_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c
    functionUses: 0
    functionsReached:
    - fp2_sqrm_c1
    - fp2_sqrm_c0
    - fp_copy
    linkageType: ''
    returnType: void
    signature: void fp2_sqrm_low(fp2_t c, const fp2_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:68,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:70,1
    - Dst: fp_subm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:73,1
    - Dst: fp_dbln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:78,1
    - Dst: fp_dblm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:80,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:83,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:85,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:90,1
    - Dst: fp_subm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:91,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:93,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:94,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:97,1
    - Dst: fp_dbl
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:99,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:101,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:103,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:106,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:108,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:110,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:111,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:113,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:114,1
    - Dst: fp_addd_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:118,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dv2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 126
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 126
    functionName: fp2_sqrn_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c
    functionUses: 0
    functionsReached:
    - fp_addc_low
    - fp_subc_low
    - fp_dbln_low
    - fp_prime_get_qnr
    - fp_addd_low
    - fp_addn_low
    - fp_subm_low
    - fp_dbl
    - fp_dblm_low
    - fp_addm_low
    - fp_muln_low
    linkageType: ''
    returnType: void
    signature: void fp2_sqrn_low(dv2_t c, const fp2_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv2_null
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:131,1
    - Dst: dv2_new
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:134,1
    - Dst: fp2_sqrn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:135,1
    - Dst: fp2_rdcn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: fp2_sqrm_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c
    functionUses: 0
    functionsReached:
    - fp2_rdcn_low
    - dv2_null
    - fp2_sqrn_low
    - dv2_new
    linkageType: ''
    returnType: void
    signature: void fp2_sqrm_low(fp2_t c, const fp2_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_sqrn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:151,1
    - Dst: fp_dbln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:155,1
    - Dst: fp_dblm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:157,1
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:160,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:164,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:165,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:167,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:168,1
    - Dst: fp_subm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:170,1
    - Dst: fp_sqrn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:171,1
    - Dst: fp_sqrn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:172,1
    - Dst: fp_sqrn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:175,1
    - Dst: fp_addd_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:179,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:181,1
    - Dst: fp_hlvd_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:183,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:186,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:187,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:190,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:191,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:194,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:195,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:196,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:198,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:199,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:203,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:204,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:205,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:207,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dv3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 210
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 210
    functionName: fp3_sqrn_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c
    functionUses: 0
    functionsReached:
    - fp_addc_low
    - fp_hlvd_low
    - fp_subc_low
    - fp_dbln_low
    - fp_addd_low
    - fp_addn_low
    - fp_subm_low
    - fp_sqrn_low
    - fp_prime_get_cnr
    - fp_dblm_low
    - fp_addm_low
    - fp_muln_low
    linkageType: ''
    returnType: void
    signature: void fp3_sqrn_low(dv3_t c, const fp3_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv3_null
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:215,1
    - Dst: dv3_new
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:218,1
    - Dst: fp3_sqrn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:219,1
    - Dst: fp3_rdcn_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: fp3_sqrm_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fpx_sqr_low.c
    functionUses: 0
    functionsReached:
    - dv3_new
    - fp3_rdcn_low
    - fp3_sqrn_low
    - dv3_null
    linkageType: ''
    returnType: void
    signature: void fp3_sqrm_low(fp3_t c, const fp3_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_muln_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_sqr_low.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: fp_sqrn_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fp_sqr_low.c
    functionUses: 1
    functionsReached:
    - fp_muln_low
    linkageType: ''
    returnType: void
    signature: void fp_sqrn_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_mulm_low
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_sqr_low.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: fp_sqrm_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fp_sqr_low.c
    functionUses: 0
    functionsReached:
    - fp_mulm_low
    linkageType: ''
    returnType: void
    signature: void fp_sqrm_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_addmul_1
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_mul_low.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - digit
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: fp_mula_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fp_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_addmul_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_mula_low(dig_t *c, const dig_t *a, dig_t digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul_1
      Src: /src/relic/src/low/x64-asm-6l/relic_fp_mul_low.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - digit
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: fp_mul1_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_fp_mul_low.c
    functionUses: 0
    functionsReached:
    - mpn_mul_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_mul1_low(dig_t *c, const dig_t *a, dig_t digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_lshift
      Src: /src/relic/src/low/x64-asm-6l/relic_bn_shift_low.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - size
    argTypes:
    - dig_t*
    - dig_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: bn_lsh1_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_bn_shift_low.c
    functionUses: 0
    functionsReached:
    - mpn_lshift
    linkageType: ''
    returnType: dig_t
    signature: dig_t bn_lsh1_low(dig_t *c, const dig_t *a, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_lshift
      Src: /src/relic/src/low/x64-asm-6l/relic_bn_shift_low.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - a
    - size
    - bits
    argTypes:
    - dig_t*
    - dig_t*
    - size_t
    - uint_t
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: bn_lshb_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_bn_shift_low.c
    functionUses: 4
    functionsReached:
    - mpn_lshift
    linkageType: ''
    returnType: dig_t
    signature: dig_t bn_lshb_low(dig_t *c, const dig_t *a, size_t size, uint_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_rshift
      Src: /src/relic/src/low/x64-asm-6l/relic_bn_shift_low.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - size
    argTypes:
    - dig_t*
    - dig_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: bn_rsh1_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_bn_shift_low.c
    functionUses: 0
    functionsReached:
    - mpn_rshift
    linkageType: ''
    returnType: dig_t
    signature: dig_t bn_rsh1_low(dig_t *c, const dig_t *a, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_rshift
      Src: /src/relic/src/low/x64-asm-6l/relic_bn_shift_low.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - a
    - size
    - bits
    argTypes:
    - dig_t*
    - dig_t*
    - size_t
    - uint_t
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: bn_rshb_low
    functionSourceFile: /src/relic/src/low/x64-asm-6l/relic_bn_shift_low.c
    functionUses: 4
    functionsReached:
    - mpn_rshift
    linkageType: ''
    returnType: dig_t
    signature: dig_t bn_rshb_low(dig_t *c, const dig_t *a, size_t size, uint_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_1
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - digit
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: fp_add1_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 0
    functionsReached:
    - mpn_add_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_add1_low(dig_t *c, const dig_t *a, const dig_t digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_n
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: fp_addn_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 8
    functionsReached:
    - mpn_add_n
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_addn_low(dig_t *c, const dig_t *a, const dig_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_q_add
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: fp_addm_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 4
    functionsReached:
    - fiat_bls12_381_q_add
    linkageType: ''
    returnType: void
    signature: void fp_addm_low(dig_t *c, const dig_t *a, const dig_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_n
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: fp_addd_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 3
    functionsReached:
    - mpn_add_n
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_addd_low(dig_t *c, const dig_t *a, const dig_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_n
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:64,1
    - Dst: dv_cmp
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:66,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:66,1
    - Dst: mpn_sub_n
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:67,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: fp_addc_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 4
    functionsReached:
    - dv_cmp
    - mpn_sub_n
    - mpn_add_n
    - fp_prime_get
    linkageType: ''
    returnType: void
    signature: void fp_addc_low(dig_t *c, const dig_t *a, const dig_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sub_1
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - digit
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: fp_sub1_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 0
    functionsReached:
    - mpn_sub_1
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_sub1_low(dig_t *c, const dig_t *a, const dig_t digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sub_n
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: fp_subn_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 4
    functionsReached:
    - mpn_sub_n
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_subn_low(dig_t *c, const dig_t *a, const dig_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_q_sub
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: fp_subm_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 2
    functionsReached:
    - fiat_bls12_381_q_sub
    linkageType: ''
    returnType: void
    signature: void fp_subm_low(dig_t *c, const dig_t *a, const dig_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sub_n
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: fp_subd_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 1
    functionsReached:
    - mpn_sub_n
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_subd_low(dig_t *c, const dig_t *a, const dig_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sub_n
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:88,1
    - Dst: mpn_add_n
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:89,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dig_t*
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: fp_subc_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 4
    functionsReached:
    - mpn_sub_n
    - mpn_add_n
    - fp_prime_get
    linkageType: ''
    returnType: void
    signature: void fp_subc_low(dig_t *c, const dig_t *a, const dig_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_q_opp
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: fp_negm_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_q_opp
    linkageType: ''
    returnType: void
    signature: void fp_negm_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_n
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: fp_dbln_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 2
    functionsReached:
    - mpn_add_n
    linkageType: ''
    returnType: dig_t
    signature: dig_t fp_dbln_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_n
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:102,1
    - Dst: dv_cmp
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:103,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:103,1
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:104,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: fp_dblm_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 2
    functionsReached:
    - dv_cmp
    - fp_subn_low
    - mpn_add_n
    - fp_prime_get
    linkageType: ''
    returnType: void
    signature: void fp_dblm_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_n
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:112,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:112,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:114,1
    - Dst: mpn_rshift
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: fp_hlvm_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 0
    functionsReached:
    - dv_copy
    - mpn_add_n
    - mpn_rshift
    - fp_prime_get
    linkageType: ''
    returnType: void
    signature: void fp_hlvm_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_n
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:126,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:126,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:128,1
    - Dst: mpn_add_1
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:131,1
    - Dst: mpn_rshift
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:133,1
    - Dst: mpn_rshift
      Src: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dig_t*
    - dig_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: fp_hlvd_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fp_add_low.c
    functionUses: 1
    functionsReached:
    - dv_copy
    - mpn_add_n
    - mpn_add_1
    - mpn_rshift
    - fp_prime_get
    linkageType: ''
    returnType: void
    signature: void fp_hlvd_low(dig_t *c, const dig_t *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:44,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - fp2_t
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: fp2_addn_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_addn_low
    linkageType: ''
    returnType: void
    signature: void fp2_addn_low(fp2_t c, fp2_t a, fp2_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp2_add
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - fp2_t
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: fp2_addm_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - Fp2_add
    linkageType: ''
    returnType: void
    signature: void fp2_addm_low(fp2_t c, fp2_t a, fp2_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_addd_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:54,1
    - Dst: fp_addd_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dv2_t
    - dv2_t
    - dv2_t
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: fp2_addd_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_addd_low
    linkageType: ''
    returnType: void
    signature: void fp2_addd_low(dv2_t c, dv2_t a, dv2_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:59,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dv2_t
    - dv2_t
    - dv2_t
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: fp2_addc_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_addc_low
    linkageType: ''
    returnType: void
    signature: void fp2_addc_low(dv2_t c, dv2_t a, dv2_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:64,1
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - fp2_t
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: fp2_subn_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_subn_low
    linkageType: ''
    returnType: void
    signature: void fp2_subn_low(fp2_t c, fp2_t a, fp2_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_q2_subFp2
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - fp2_t
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: fp2_subm_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_q2_subFp2
    linkageType: ''
    returnType: void
    signature: void fp2_subm_low(fp2_t c, fp2_t a, fp2_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_subd_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:74,1
    - Dst: fp_subd_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dv2_t
    - dv2_t
    - dv2_t
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: fp2_subd_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_subd_low
    linkageType: ''
    returnType: void
    signature: void fp2_subd_low(dv2_t c, dv2_t a, dv2_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:79,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dv2_t
    - dv2_t
    - dv2_t
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: fp2_subc_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_subc_low
    linkageType: ''
    returnType: void
    signature: void fp2_subc_low(dv2_t c, dv2_t a, dv2_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_dbln_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:85,1
    - Dst: fp_dbln_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: fp2_dbln_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_dbln_low
    linkageType: ''
    returnType: void
    signature: void fp2_dbln_low(fp2_t c, fp2_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_dblm_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:90,1
    - Dst: fp_dblm_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: fp2_dblm_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_dblm_low
    linkageType: ''
    returnType: void
    signature: void fp2_dblm_low(fp2_t c, fp2_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_null
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:97,1
    - Dst: fp2_new
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:100,1
    - Dst: fp_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:104,1
    - Dst: fp_add
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:105,1
    - Dst: fp_sub
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:106,1
    - Dst: fp_prime_get_mod8
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:109,1
    - Dst: fp_neg
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:112,1
    - Dst: fp_add
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:113,1
    - Dst: fp_add
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:114,1
    - Dst: fp2_mul_art
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:119,1
    - Dst: fp2_mul_art
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:123,1
    - Dst: fp2_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:124,1
    - Dst: fp2_dbl
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:126,1
    - Dst: fp2_add
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp2_t
    - fp2_t
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: fp2_norm_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_sub
    - fp_neg
    - fp2_add
    - fp_prime_get_mod8
    - fp2_null
    - fp2_copy
    - fp_add
    - fp2_dbl
    - fp2_mul_art
    - fp_copy
    - fp2_new
    linkageType: ''
    returnType: void
    signature: void fp2_norm_low(fp2_t c, fp2_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv2_null
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:145,1
    - Dst: dv2_new
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:148,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:153,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:154,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:155,1
    - Dst: fp_prime_get_mod8
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:158,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:162,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:163,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:164,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:169,1
    - Dst: dv_zero
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:170,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:171,1
    - Dst: fp_prime_get
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:171,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:172,1
    - Dst: fp_prime_get_qnr
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:173,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:174,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:176,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:180,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:181,1
    - Dst: fp2_addc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:183,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:186,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dv2_t
    - dv2_t
    constantsTouched: []
    func_position:
      end: 191
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 191
    functionName: fp2_nord_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_addc_low
    - dv_copy
    - dv_zero
    - dv2_null
    - fp_prime_get_qnr
    - dv2_new
    - fp_prime_get_mod8
    - fp2_addc_low
    - fp_prime_get
    - fp_subc_low
    linkageType: ''
    returnType: void
    signature: void fp2_nord_low(dv2_t c, dv2_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:201,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:202,1
    - Dst: fp_addn_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - fp3_t
    - fp3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: fp3_addn_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_addn_low
    linkageType: ''
    returnType: void
    signature: void fp3_addn_low(fp3_t c, fp3_t a, fp3_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:207,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:208,1
    - Dst: fp_addm_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - fp3_t
    - fp3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: fp3_addm_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_addm_low
    linkageType: ''
    returnType: void
    signature: void fp3_addm_low(fp3_t c, fp3_t a, fp3_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_addd_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:213,1
    - Dst: fp_addd_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:214,1
    - Dst: fp_addd_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dv3_t
    - dv3_t
    - dv3_t
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: fp3_addd_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_addd_low
    linkageType: ''
    returnType: void
    signature: void fp3_addd_low(dv3_t c, dv3_t a, dv3_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:219,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:220,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dv3_t
    - dv3_t
    - dv3_t
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: fp3_addc_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_addc_low
    linkageType: ''
    returnType: void
    signature: void fp3_addc_low(dv3_t c, dv3_t a, dv3_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:225,1
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:226,1
    - Dst: fp_subn_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - fp3_t
    - fp3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: fp3_subn_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_subn_low
    linkageType: ''
    returnType: void
    signature: void fp3_subn_low(fp3_t c, fp3_t a, fp3_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_subm_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:231,1
    - Dst: fp_subm_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:232,1
    - Dst: fp_subm_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - fp3_t
    - fp3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: fp3_subm_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_subm_low
    linkageType: ''
    returnType: void
    signature: void fp3_subm_low(fp3_t c, fp3_t a, fp3_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_subd_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:237,1
    - Dst: fp_subd_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:238,1
    - Dst: fp_subd_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dv3_t
    - dv3_t
    - dv3_t
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: fp3_subd_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_subd_low
    linkageType: ''
    returnType: void
    signature: void fp3_subd_low(dv3_t c, dv3_t a, dv3_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:243,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:244,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - dv3_t
    - dv3_t
    - dv3_t
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: fp3_subc_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_subc_low
    linkageType: ''
    returnType: void
    signature: void fp3_subc_low(dv3_t c, dv3_t a, dv3_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_dbln_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:249,1
    - Dst: fp_dbln_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:250,1
    - Dst: fp_dbln_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: fp3_dbln_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_dbln_low
    linkageType: ''
    returnType: void
    signature: void fp3_dbln_low(fp3_t c, fp3_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_dblm_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:255,1
    - Dst: fp_dblm_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:256,1
    - Dst: fp_dblm_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - fp3_t
    - fp3_t
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: fp3_dblm_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_dblm_low
    linkageType: ''
    returnType: void
    signature: void fp3_dblm_low(fp3_t c, fp3_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dv_null
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:263,1
    - Dst: dv_new
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:266,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:267,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:268,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:269,1
    - Dst: fp_addc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:270,1
    - Dst: fp_prime_get_cnr
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:272,1
    - Dst: fp_subc_low
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:273,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:275,1
    - Dst: dv_copy
      Src: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - c
    - a
    argTypes:
    - dv3_t
    - dv3_t
    constantsTouched: []
    func_position:
      end: 277
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 277
    functionName: fp3_nord_low
    functionSourceFile: /src/relic/src/low/x64-fiat-381/relic_fpx_add_low.c
    functionUses: 0
    functionsReached:
    - fp_addc_low
    - dv_copy
    - dv_new
    - dv_null
    - fp_prime_get_cnr
    - fp_subc_low
    linkageType: ''
    returnType: void
    signature: void fp3_nord_low(dv3_t c, dv3_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - out1
    - out2
    - arg1
    - arg2
    - arg3
    argTypes:
    - uint64_t*
    - fiat_bls12_381_q2_uint1*
    - fiat_bls12_381_q2_uint1
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: fiat_bls12_381_q2_addcarryx_u64
    functionSourceFile: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_q2_addcarryx_u64(uint64_t* out1, fiat_bls12_381_q2_uint1*
      out2, fiat_bls12_381_q2_uint1 arg1, uint64_t arg2, uint64_t arg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - out1
    - out2
    - arg1
    - arg2
    - arg3
    argTypes:
    - uint64_t*
    - fiat_bls12_381_q2_uint1*
    - fiat_bls12_381_q2_uint1
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: fiat_bls12_381_q2_subborrowx_u64
    functionSourceFile: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_q2_subborrowx_u64(uint64_t* out1, fiat_bls12_381_q2_uint1*
      out2, fiat_bls12_381_q2_uint1 arg1, uint64_t arg2, uint64_t arg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - out1
    - out2
    - arg1
    - arg2
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: fiat_bls12_381_q2_mulx_u64
    functionSourceFile: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_q2_mulx_u64(uint64_t* out1, uint64_t* out2, uint64_t
      arg1, uint64_t arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out1
    - arg1
    - arg2
    - arg3
    argTypes:
    - uint64_t*
    - fiat_bls12_381_q2_uint1
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: fiat_bls12_381_q2_cmovznz_u64
    functionSourceFile: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_q2_cmovznz_u64(uint64_t* out1, fiat_bls12_381_q2_uint1
      arg1, uint64_t arg2, uint64_t arg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:621,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:622,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:623,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:624,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:625,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:626,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:627,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:628,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:629,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:630,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:631,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:633,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:633,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:634,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:634,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:635,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:635,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:636,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:636,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:637,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:637,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:638,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:638,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:639,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:639,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:640,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:641,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:642,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:643,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:644,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:646,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:647,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:648,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:649,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:650,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:651,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:652,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:653,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:654,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:655,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:656,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:657,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:658,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:659,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:660,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:661,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:662,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:663,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:665,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:666,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:667,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:668,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:669,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:670,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:671,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:672,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:672,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:673,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:673,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:674,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:674,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:675,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:675,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:676,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:676,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:677,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:677,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:678,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:678,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:679,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:680,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:681,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:682,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:683,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:685,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:686,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:687,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:688,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:689,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:690,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:691,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:693,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:694,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:695,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:696,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:697,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:698,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:699,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:700,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:701,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:702,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:703,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:705,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:706,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:707,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:708,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:709,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:710,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:711,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:712,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:712,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:713,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:713,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:714,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:714,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:715,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:715,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:716,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:716,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:717,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:717,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:718,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:718,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:719,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:720,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:721,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:722,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:723,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:725,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:726,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:727,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:728,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:729,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:730,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:731,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:733,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:734,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:735,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:736,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:737,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:738,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:739,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:740,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:741,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:742,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:743,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:745,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:746,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:747,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:748,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:749,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:750,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:751,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:752,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:752,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:753,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:753,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:754,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:754,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:755,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:755,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:756,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:756,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:757,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:757,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:758,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:758,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:759,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:760,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:761,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:762,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:763,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:765,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:766,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:767,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:768,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:769,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:770,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:771,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:773,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:774,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:775,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:776,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:777,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:778,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:779,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:780,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:781,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:782,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:783,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:785,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:786,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:787,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:788,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:789,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:790,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:791,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:792,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:792,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:793,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:793,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:794,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:794,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:795,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:795,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:796,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:796,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:797,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:797,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:798,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:798,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:799,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:800,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:801,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:802,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:803,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:805,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:806,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:807,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:808,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:809,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:810,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:811,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:813,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:814,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:815,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:816,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:817,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:818,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:819,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:820,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:821,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:822,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:823,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:825,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:826,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:827,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:828,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:829,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:830,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:831,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:832,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:832,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:833,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:833,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:834,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:834,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:835,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:835,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:836,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:836,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:837,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:837,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:838,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:838,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:839,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:840,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:841,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:842,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:843,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:845,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:846,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:847,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:848,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:849,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:850,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:851,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:853,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:853,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:854,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:854,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:855,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:855,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:856,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:856,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:857,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:857,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:858,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:858,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:859,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:860,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:861,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:862,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:863,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:864,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 258
    argCount: 3
    argNames:
    - out1
    - arg1
    - arg2
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 872
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 872
    functionName: fiat_bls12_381_q2_mul
    functionSourceFile: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_q2_addcarryx_u64
    - fiat_bls12_381_q2_mulx_u64
    - UINT64_C
    - fiat_bls12_381_q2_cmovznz_u64
    - fiat_bls12_381_q2_subborrowx_u64
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_q2_mul(uint64_t out1[6], const uint64_t arg1[6],
      const uint64_t arg2[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2844,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2845,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2846,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2847,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2848,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2849,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2850,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2851,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2852,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2853,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2854,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2856,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2856,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2857,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2857,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2858,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2858,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2859,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2859,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2860,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2860,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2861,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2861,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2862,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2862,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2863,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2864,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2865,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2866,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2867,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2869,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2870,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2871,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2872,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2873,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2874,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2875,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2876,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2877,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2878,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2879,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2880,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2881,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2882,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2883,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2884,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2885,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2886,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2888,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2889,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2890,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2891,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2892,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2893,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2894,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2895,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2895,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2896,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2896,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2897,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2897,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2898,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2898,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2899,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2899,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2900,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2900,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2901,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2901,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2902,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2903,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2904,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2905,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2906,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2908,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2909,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2910,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2911,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2912,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2913,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2914,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2916,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2917,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2918,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2919,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2920,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2921,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2922,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2923,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2924,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2925,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2926,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2928,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2929,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2930,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2931,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2932,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2933,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2934,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2935,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2935,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2936,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2936,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2937,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2937,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2938,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2938,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2939,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2939,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2940,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2940,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2941,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2941,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2942,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2943,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2944,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2945,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2946,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2948,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2949,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2950,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2951,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2952,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2953,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2954,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2956,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2957,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2958,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2959,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2960,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2961,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2962,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2963,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2964,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2965,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2966,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2968,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2969,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2970,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2971,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2972,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2973,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2974,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2975,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2975,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2976,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2976,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2977,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2977,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2978,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2978,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2979,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2979,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2980,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2980,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2981,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2981,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2982,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2983,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2984,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2985,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2986,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2988,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2989,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2990,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2991,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2992,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2993,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2994,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2996,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2997,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2998,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:2999,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3000,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3001,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3002,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3003,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3004,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3005,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3006,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3008,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3009,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3010,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3011,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3012,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3013,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3014,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3015,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3015,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3016,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3016,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3017,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3017,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3018,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3018,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3019,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3019,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3020,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3020,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3021,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3021,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3022,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3023,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3024,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3025,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3026,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3028,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3029,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3030,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3031,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3032,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3033,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3034,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3036,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3037,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3038,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3039,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3040,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3041,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3042,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3043,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3044,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3045,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3046,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3048,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3049,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3050,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3051,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3052,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3053,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3054,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3055,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3055,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3056,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3056,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3057,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3057,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3058,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3058,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3059,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3059,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3060,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3060,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3061,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3061,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3062,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3063,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3064,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3065,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3066,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3068,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3069,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3070,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3071,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3072,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3073,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3074,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3076,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3076,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3077,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3077,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3078,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3078,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3079,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3079,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3080,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3080,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3081,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3081,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3082,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3083,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3084,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3085,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3086,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3087,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3088,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3095,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3096,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3097,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3098,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3099,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3100,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3101,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3102,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3103,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3104,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3105,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3107,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3107,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3108,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3108,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3109,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3109,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3110,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3110,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3111,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3111,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3112,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3112,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3113,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3113,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3114,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3115,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3116,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3117,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3118,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3120,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3121,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3122,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3123,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3124,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3125,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3126,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3127,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3128,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3129,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3130,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3131,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3132,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3133,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3134,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3135,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3136,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3137,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3139,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3140,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3141,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3142,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3143,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3144,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3145,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3146,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3146,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3147,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3147,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3148,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3148,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3149,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3149,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3150,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3150,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3151,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3151,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3152,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3152,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3153,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3154,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3155,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3156,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3157,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3159,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3160,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3161,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3162,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3163,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3164,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3165,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3167,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3168,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3169,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3170,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3171,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3172,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3173,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3174,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3175,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3176,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3177,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3179,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3180,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3181,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3182,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3183,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3184,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3185,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3186,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3186,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3187,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3187,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3188,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3188,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3189,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3189,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3190,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3190,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3191,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3191,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3192,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3192,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3193,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3194,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3195,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3196,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3197,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3199,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3200,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3201,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3202,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3203,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3204,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3205,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3207,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3208,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3209,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3210,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3211,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3212,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3213,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3214,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3215,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3216,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3217,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3219,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3220,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3221,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3222,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3223,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3224,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3225,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3226,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3226,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3227,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3227,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3228,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3228,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3229,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3229,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3230,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3230,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3231,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3231,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3232,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3232,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3233,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3234,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3235,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3236,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3237,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3239,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3240,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3241,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3242,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3243,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3244,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3245,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3247,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3248,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3249,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3250,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3251,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3252,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3253,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3254,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3255,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3256,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3257,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3259,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3260,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3261,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3262,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3263,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3264,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3265,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3266,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3266,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3267,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3267,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3268,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3268,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3269,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3269,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3270,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3270,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3271,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3271,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3272,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3272,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3273,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3274,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3275,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3276,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3277,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3279,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3280,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3281,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3282,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3283,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3284,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3285,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3287,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3288,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3289,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3290,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3291,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3292,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3293,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3294,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3295,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3296,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3297,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3299,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3300,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3301,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3302,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3303,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3304,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3305,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3306,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3306,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3307,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3307,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3308,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3308,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3309,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3309,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3310,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3310,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3311,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3311,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3312,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3312,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3313,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3314,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3315,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3316,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3317,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3319,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3320,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3321,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3322,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3323,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3324,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3325,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3327,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3327,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3328,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3328,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3329,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3329,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3330,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3330,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3331,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3331,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3332,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3332,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3333,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3334,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3335,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3336,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3337,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3338,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3339,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3346,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3347,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3348,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3349,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3350,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3351,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3352,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3353,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3354,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3355,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3356,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3358,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3358,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3359,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3359,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3360,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3360,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3361,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3361,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3362,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3362,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3363,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3363,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3364,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3364,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3365,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3366,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3367,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3368,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3369,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3371,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3372,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3373,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3374,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3375,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3376,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3377,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3378,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3379,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3380,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3381,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3382,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3383,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3384,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3385,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3386,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3387,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3388,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3390,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3391,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3392,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3393,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3394,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3395,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3396,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3397,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3397,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3398,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3398,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3399,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3399,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3400,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3400,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3401,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3401,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3402,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3402,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3403,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3403,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3404,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3405,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3406,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3407,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3408,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3410,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3411,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3412,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3413,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3414,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3415,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3416,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3418,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3419,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3420,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3421,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3422,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3423,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3424,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3425,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3426,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3427,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3428,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3430,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3431,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3432,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3433,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3434,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3435,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3436,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3437,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3437,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3438,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3438,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3439,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3439,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3440,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3440,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3441,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3441,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3442,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3442,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3443,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3443,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3444,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3445,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3446,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3447,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3448,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3450,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3451,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3452,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3453,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3454,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3455,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3456,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3458,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3459,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3460,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3461,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3462,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3463,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3464,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3465,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3466,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3467,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3468,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3470,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3471,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3472,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3473,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3474,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3475,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3476,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3477,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3477,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3478,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3478,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3479,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3479,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3480,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3480,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3481,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3481,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3482,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3482,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3483,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3483,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3484,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3485,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3486,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3487,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3488,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3490,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3491,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3492,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3493,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3494,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3495,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3496,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3498,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3499,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3500,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3501,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3502,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3503,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3504,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3505,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3506,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3507,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3508,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3510,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3511,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3512,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3513,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3514,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3515,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3516,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3517,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3517,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3518,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3518,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3519,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3519,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3520,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3520,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3521,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3521,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3522,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3522,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3523,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3523,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3524,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3525,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3526,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3527,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3528,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3530,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3531,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3532,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3533,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3534,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3535,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3536,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3538,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3539,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3540,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3541,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3542,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3543,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3544,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3545,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3546,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3547,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3548,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3550,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3551,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3552,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3553,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3554,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3555,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3556,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3557,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3557,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3558,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3558,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3559,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3559,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3560,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3560,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3561,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3561,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3562,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3562,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3563,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3563,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3564,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3565,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3566,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3567,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3568,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3570,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3571,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3572,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3573,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3574,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3575,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3576,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3578,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3578,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3579,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3579,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3580,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3580,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3581,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3581,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3582,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3582,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3583,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3583,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3584,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3585,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3586,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3587,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3588,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3589,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3590,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3597,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3598,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3599,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3600,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3601,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3602,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3603,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3604,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3605,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3606,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3607,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3609,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3609,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3610,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3610,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3611,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3611,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3612,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3612,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3613,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3613,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3614,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3614,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3615,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3615,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3616,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3617,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3618,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3619,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3620,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3622,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3623,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3624,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3625,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3626,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3627,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3628,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3629,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3630,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3631,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3632,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3633,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3634,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3635,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3636,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3637,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3638,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3639,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3641,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3642,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3643,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3644,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3645,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3646,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3647,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3648,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3648,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3649,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3649,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3650,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3650,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3651,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3651,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3652,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3652,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3653,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3653,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3654,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3654,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3655,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3656,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3657,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3658,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3659,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3661,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3662,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3663,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3664,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3665,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3666,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3667,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3669,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3670,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3671,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3672,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3673,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3674,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3675,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3676,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3677,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3678,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3679,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3681,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3682,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3683,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3684,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3685,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3686,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3687,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3688,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3688,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3689,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3689,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3690,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3690,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3691,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3691,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3692,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3692,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3693,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3693,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3694,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3694,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3695,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3696,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3697,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3698,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3699,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3701,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3702,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3703,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3704,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3705,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3706,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3707,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3709,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3710,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3711,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3712,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3713,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3714,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3715,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3716,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3717,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3718,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3719,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3721,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3722,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3723,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3724,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3725,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3726,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3727,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3728,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3728,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3729,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3729,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3730,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3730,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3731,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3731,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3732,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3732,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3733,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3733,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3734,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3734,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3735,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3736,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3737,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3738,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3739,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3741,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3742,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3743,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3744,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3745,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3746,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3747,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3749,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3750,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3751,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3752,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3753,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3754,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3755,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3756,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3757,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3758,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3759,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3761,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3762,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3763,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3764,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3765,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3766,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3767,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3768,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3768,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3769,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3769,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3770,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3770,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3771,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3771,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3772,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3772,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3773,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3773,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3774,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3774,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3775,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3776,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3777,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3778,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3779,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3781,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3782,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3783,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3784,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3785,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3786,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3787,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3789,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3790,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3791,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3792,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3793,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3794,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3795,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3796,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3797,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3798,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3799,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3801,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3802,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3803,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3804,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3805,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3806,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3807,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3808,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3808,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3809,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3809,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3810,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3810,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3811,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3811,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3812,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3812,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3813,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3813,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3814,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3814,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3815,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3816,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3817,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3818,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3819,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3821,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3822,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3823,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3824,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3825,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3826,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3827,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3829,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3829,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3830,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3830,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3831,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3831,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3832,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3832,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3833,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3833,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3834,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3834,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3835,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3836,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3837,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3838,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3839,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3840,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3841,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3842,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3843,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3844,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3845,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3846,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3847,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3848,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3848,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3849,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3849,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3850,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3850,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3851,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3851,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3852,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3852,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3853,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3853,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3854,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3855,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3856,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3857,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3858,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3859,1
    - Dst: fiat_bls12_381_q2_subborrowx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3860,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3861,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3861,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3862,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3862,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3863,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3863,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3864,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3864,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3865,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3865,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3866,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3866,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3867,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3867,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3868,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3869,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3870,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3871,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3872,1
    - Dst: fiat_bls12_381_q2_cmovznz_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:3873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1049
    argCount: 6
    argNames:
    - out1
    - out2
    - arg1
    - arg2
    - arg3
    - arg4
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 3886
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 3886
    functionName: fiat_bls12_381_q2_mulFp2SB
    functionSourceFile: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_q2_addcarryx_u64
    - fiat_bls12_381_q2_mulx_u64
    - UINT64_C
    - fiat_bls12_381_q2_cmovznz_u64
    - fiat_bls12_381_q2_subborrowx_u64
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_q2_mulFp2SB(uint64_t out1[6], uint64_t out2[6],
      const uint64_t arg1[6], const uint64_t arg2[6], const uint64_t arg3[6], const
      uint64_t arg4[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5461,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5462,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5463,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5464,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5465,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5466,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5467,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5468,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5469,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5470,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5471,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5473,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5473,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5474,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5474,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5475,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5475,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5476,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5476,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5477,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5477,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5478,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5478,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5479,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5479,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5480,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5481,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5482,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5483,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5484,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5486,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5487,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5488,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5489,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5490,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5491,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5492,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5493,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5494,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5495,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5496,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5497,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5498,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5499,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5500,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5501,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5502,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5503,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5505,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5506,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5507,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5508,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5509,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5510,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5511,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5512,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5512,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5513,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5513,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5514,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5514,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5515,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5515,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5516,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5516,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5517,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5517,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5518,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5518,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5519,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5520,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5521,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5522,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5523,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5525,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5526,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5527,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5528,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5529,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5530,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5531,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5533,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5534,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5535,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5536,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5537,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5538,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5539,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5540,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5541,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5542,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5543,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5545,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5546,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5547,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5548,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5549,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5550,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5551,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5552,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5552,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5553,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5553,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5554,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5554,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5555,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5555,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5556,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5556,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5557,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5557,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5558,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5558,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5559,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5560,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5561,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5562,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5563,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5565,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5566,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5567,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5568,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5569,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5570,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5571,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5573,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5574,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5575,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5576,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5577,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5578,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5579,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5580,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5581,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5582,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5583,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5585,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5586,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5587,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5588,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5589,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5590,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5591,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5592,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5592,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5593,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5593,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5594,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5594,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5595,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5595,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5596,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5596,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5597,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5597,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5598,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5598,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5599,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5600,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5601,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5602,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5603,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5605,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5606,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5607,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5608,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5609,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5610,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5611,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5613,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5614,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5615,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5616,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5617,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5618,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5619,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5620,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5621,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5622,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5623,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5625,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5626,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5627,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5628,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5629,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5630,1
    - Dst: fiat_bls12_381_q2_addcarryx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5631,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5632,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5632,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5633,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5633,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5634,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5634,1
    - Dst: fiat_bls12_381_q2_mulx_u64
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5635,1
    - Dst: UINT64_C
      Src: /src/relic/src/low/x64-fiat-381/bls12_381_q2_64.c:5635,1
    - D